PT09IHJlbGVhc2UgMS43LjkxID09PQoKMjAxNi0wMy0xNSAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY29heGlvbi5uZXQ+CgoJKiBjb25maWd1cmUuYWM6CgkgIHJlbGVhc2luZyAxLjcuOTEKCjIwMTYtMDMtMTUgMTE6NDE6MjIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBwby9odS5wbzoKCSogcG8vc3IucG86CgkgIHBvOiBVcGRhdGUgdHJhbnNsYXRpb25zCgoyMDE2LTAzLTE1IDAzOjI2OjE0ICswNTMwICBOaXJiaGVlayBDaGF1aGFuIDxuaXJiaGVla0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmM6CgkgIHJ0cG1hbmFnZXI6IFNvbWUgY29tbWVudCBhbmQgZG9jdW1lbnRhdGlvbiBjbGFyaWZpY2F0aW9ucy9maXhlcwoKMjAxNi0wMy0xMyAxMDozMzoxMyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZmxhY3BhcnNlLmM6CgkgIFJldmVydCAiZmxhY3BhcnNlOiBwdXNoIHRhZ3MgaW4gcHJlX3B1c2hfZnJhbWUiCgkgIFRoaXMgcmV2ZXJ0cyBjb21taXQgNDA2NWZjYjgwYTQ5OTI0YjcwZjBjOGZjMTU5ZGVjMGZmNDc5NDNhMS4KCSAgZmxhY3BhcnNlIHNob3VsZCBub3QgcHVzaCB0YWdzIGJ5IGl0c2VsZiwgdGhlIGJhc2UgY2xhc3MgaXMgZ29pbmcgdG8gZG8gdGhhdAoJICB3aGlsZSBwcm9wZXJseSBtZXJnaW5nIGluIHVwc3RyZWFtIHRhZ3MuIEl0IGp1c3QgZGlkbid0IGJlY2F1c2Ugb2YgYSBidWcgaW4KCSAgdGhlIGJhc2UgY2xhc3MsIHdoaWNoIHdhcyBoaWRkZW4gYnkgdGhpcyBjb21taXQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjM1NTMKCjIwMTYtMDItMjUgMDU6MTc6NTEgKzA1MzAgIE5pcmJoZWVrIENoYXVoYW4gPG5pcmJoZWVrQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHAvZGJvb2xodWZmLmM6CgkqIGdzdC9ydHAvZGJvb2xodWZmLmg6CgkqIGdzdC9ydHAvZ3N0cnRwc2JjcGF5LmM6CgkgIHdpbjMyOiBEb24ndCB1c2UgX19hdHRyaWJ1dGVfXyBvbiBNU1ZDCgkgIFVzZSBNU1ZDLWVxdWl2YWxlbnRzIGZvciBhbGlnbm1lbnQgYW5kIHBhY2tpbmcgY29tcGlsZXIgZGlyZWN0aXZlcyB3aGVuIGJ1aWxkaW5nCgkgIG9uIE1TVkMKCjIwMTYtMDItMjUgMDU6MTY6NDIgKzA1MzAgIE5pcmJoZWVrIENoYXVoYW4gPG5pcmJoZWVrQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9tYXRyb3NrYS9lYm1sLXJlYWQuYzoKCSAgd2luMzI6IERvbid0IHRyeSB0byBpbmNsdWRlIHhtYXRoLmggb24gbmV3ZXIgVmlzdWFsIFN0dWRpbwoKMjAxNi0wMi0yNSAwNToxNjowOSArMDUzMCAgTmlyYmhlZWsgQ2hhdWhhbiA8bmlyYmhlZWtAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2ZseC9nc3RmbHhkZWMuYzoKCSogZ3N0L2dvb20vZ3N0Z29vbS5jOgoJKiBnc3QvZ29vbTJrMS9nc3Rnb29tLmM6CgkqIGdzdC9tb25vc2NvcGUvZ3N0bW9ub3Njb3BlLmM6CgkgIGdzdCBGYWN0b3Igb3V0IGVuZGlhbi1vcmRlciBSR0IgZm9ybWF0cwoJICBNU1ZDIHNlZW1zIHRvIGlnbm9yZSBwcmVwcm9jZXNzb3IgY29uZGl0aW9uYWxzIGluc2lkZSBzdGF0aWMgcGFkCgkgIHRlbXBsYXRlIG1hY3Jvcy4KCjIwMTYtMDMtMDggMTc6Mzc6MTcgKzAxMDAgIFRob21hcyBSb29zIDx0aG9tYXMucm9vc0BpbmR1c3Ryb25pYy5kZT4KCgkqIHN5cy9kaXJlY3Rzb3VuZC9nc3RkaXJlY3Rzb3VuZHNpbmsuYzoKCSAgZGlyY3Rzb3VuZHNpbms6IFNldHRpbmcgdm9sdW1lIHNob3VsZCBub3QgdW5tdXRlCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTUxMDYKCjIwMTYtMDMtMDggMTM6NTc6MjQgKzAxMDAgIFRob21hcyBSb29zIDx0aG9tYXMucm9vc0BpbmR1c3Ryb25pYy5kZT4KCgkqIHN5cy9kaXJlY3Rzb3VuZC9nc3RkaXJlY3Rzb3VuZHNpbmsuYzoKCSAgZGlyY3Rzb3VuZHNpbms6IEZpeCB2b2x1bWUgcmVzZXQgb24gdW5tdXRlCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTUxMDYKCjIwMTYtMDMtMDggMTM6MDM6NTUgKzAxMDAgIEFsYmFuIEJlZGVsIDxhbGJhbi5iZWRlbEBhdmlvbmljLWRlc2lnbi5kZT4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgdjRsMm9iamVjdDogZml4IGNhcHR1cmUgd2l0aCBiYXllciBmb3JtYXRzIG90aGVyIHRoYW4gYmdncgoJICBnc3RfdjRsMl9vYmplY3RfZ2V0X2NhcHNfaW5mbygpIGFsd2F5cyByZXR1cm4gVjRMMl9QSVhfRk1UX1NCR0dSOAoJICBmb3IgYWxsIGJheWVyIGZvcm1hdHMuIFRoaXMgaXMgb2J2aW91c2x5IGJyb2tlbiBpZiB0aGUgZGV2aWNlIHVzZQoJICBhbm90aGVyIG9yZGVyaW5nLiBGaXggdGhpcyBieSBwcm9wZXJseSByZWFkaW5nIHRoZSBmb3JtYXQgcGFyYW1ldGVyLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzYzMzE4CgoyMDE2LTAzLTA3IDEwOjI4OjA2IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogcmVzZXQgcGVuZGluZyBzZWdtZW50IGlmIHdlIGFyZSBhbHJlYWR5IHB1c2hpbmcgb25lCgkgIFdoZW4gdXBzdHJlYW0gaXMgcnVubmluZyBpbiBieXRlcyBpbiBwdXNoLW1vZGUsIHF0ZGVtdXggd2lsbAoJICBjb252ZXJ0IHNlZWtzIGZyb20gdGltZSB0byBieXRlcyBhbmQgc2VuZCBpdCB1cHN0cmVhbS4gVXBzdHJlYW0KCSAgZWxlbWVudCB3aWxsIHBlcmZvcm0gYSBieXRlIHNlZWsgYW5kIHNlbmQgYSBieXRlIHNlZ21lbnQgdG8gcXRkZW11eAoJICB0aGF0IHdpbGwgY29udmVydCBpdCB0byB0aW1lIGFuZCBwdXNoIGl0IGRvd25zdHJlYW0uCgkgIFRoZXJlIGlzLCBob3dldmVyLCB0aGUgcGVuZGluZ19zZWdtZW50IHZhcmlhYmxlIHRoYXQgc3RvcmVzIGEgbmV3CgkgIHNlZ21lbnQgZXZlbnQgdG8gYmUgcHVzaGVkIGJlZm9yZSB0aGUgbmV4dCBkYXRhLiBXaGVuIGhhbmRsaW5nIHNlZWtzCgkgIGFzIG1lbnRpb25lZCBhYm92ZSB0aGlzIHZhcmlhYmxlIHdhcyBiZWluZyBpZ25vcmVkIGFuZCwgaWYgaXQgY29udGFpbmVkCgkgIHNvbWUgc2VnbWVudCBldmVudCwgaXQgd291bGQgb3ZlcnJpZGUgdGhlIG9uZSByZXN1bHRpbmcgZnJvbSB0aGUgc2Vlay4KCSAgVGhpcyB3b3VsZCByZXN0b3JlIGEgcHJldmlvdXMgc2VnbWVudCBhbmQgd291bGQgY2F1c2UgdGhlIHNlZWsgc2VnbWVudAoJICB0byBiZSBkaXNjYXJkZWQgZG93bnN0cmVhbS4KCSAgVGhpcyBwYXRjaCBmaXhlcyB0aGlzIGlzc3VlIGJ5IHVucmVmaW5nIGFueSBwZW5kaW5nIHNlZ21lbnQgYXMgdGhlCgkgIHNlZWsgZnJvbSB1cHN0cmVhbSBzaG91bGQgY29udGFpbiB0aGUgbGF0ZXN0IG9uZSB0aGF0IHNob3VsZCBiZQoJICB1c2VkLCBhcyByZXF1ZXN0ZWQgYnkgdGhlIGFwcGxpY2F0aW9uLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzYzMTY1CgoyMDE2LTAzLTA3IDEwOjI3OjQxIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogcnVuIGdzdC1pbmRlbnQKCSAgT3RoZXJ3aXNlIGNvbW1pdHMgd2lsbCBmYWlsIHdpdGggb3VyIGluZGVudCBjaGVjayBob29rCgoyMDE2LTAzLTA0IDE1OjA5OjQ1ICswMTAwICBKb3NlcCBUb3JyYSA8bjc3MGdhbGF4eUBnbWFpbC5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIHY0bDI6IGZpeCBjb2xvcmltZXRyeSBmb3IgTlYxMgoJICBSZXBsaWNhdGUgVjRMMl9NQVBfUVVBTlRJWkFUSU9OX0RFRkFVTFQgbWFjcm8gYmVoYXZpb3IuCgkgIEF0ICN2NGwgaXQgd2FzIGRlc2NyaWJlZCB0aGF0IGRvY3VtZW50YXRpb24gbWlnaHQgYmUgd3JvbmcgYW5kIHRoYXQKCSAgd2Ugc2hvdWxkIHRydXN0IHRoaXMgbWFjcm8gaW5zdGVhZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2MjUyOQoKMjAxNi0wMy0wNCAxNDowNzoxOSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC91ZHAvZ3N0dWRwc3JjLmM6CgkgIHVkcHNyYzogRml4IG11bHRpY2FzdCBncm91cCBqb2luaW5nIHdpdGggcHJvdmlkZWQgc29ja2V0cyBvbiBXaW5kb3dzCgkgIE9uIFdpbmRvd3MgdGhlIHNvY2tldCB3aWxsIGJlIGJvdW5kIHRvIEFOWSBpbnN0ZWFkIG9mIHRoZSBtdWx0aWNhc3QgZ3JvdXAsCgkgIGFzIGJpbmRpbmcgdG8gYSBtdWx0aWNhc3QgZ3JvdXAgZG9lcyBub3Qgd29yay4gV2hpY2ggd291bGQgbWVhbiB0aGF0IHdlCgkgIG92ZXJyaWRlIHNyYy0+YWRkciB0byBiZWNvbWUgQU5ZIGFuZCB3b24ndCBhdXRvbWF0aWNhbGx5IGpvaW4gYSBtdWx0aWNhc3QKCSAgZ3JvdXAgYW55bW9yZSBvbiBXaW5kb3dzLgoJICBPbiBMaW51eCB3ZSB3b3VsZCBhdXRvbWF0aWNhbGx5IGpvaW4gYSBtdWx0aWNhc3QgZ3JvdXAsIGtlZXAgaXQgY29uc2lzdGVudC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2MzA5MwoKMjAxNi0wMy0wMiAxMzoxMzoyNCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBSZXZlcnQgInJ0cGppdHRlcmJ1ZmZlcjogZG9uJ3QgZm9yZ2V0IHRvIHVubG9jayBtdXRleCBpbiBlcnJvciBjb2RlIHBhdGggaW4gdHdvIGNhc2VzIgoJICBUaGlzIHJldmVydHMgY29tbWl0IGE3ZmI3YjUzNTkyZDg3Zjc5ODM1NDRkZWJiNzRkMzY0ZmMzMjU3YWQuCgkgIFRoZSBtdXRleCBpcyB0YWtlbiBieSB0aGUgY2FsbGVyLCB3ZSBzaG91bGQga2VlcCBpdCBsb2NrZWQgd2hlbiByZXR1cm5pbmcgc28KCSAgdGhlIGNhbGxlciBjYW4gdW5sb2NrIGl0IGFnYWluLgoKMjAxNi0wMy0wMSAxNTowMToyMiArMDAwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpc2JnQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZmxhY3BhcnNlLmM6CgkgIGZsYWNwYXJzZTogcHVzaCB0YWdzIGluIHByZV9wdXNoX2ZyYW1lCgkgIFB1c2ggYSB0YWcgZXZlbnQgYmVmb3JlIHByZS1yb2xsIGlmIHdlIGhhdmUgdGFncy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2MjY2MAoKPT09IHJlbGVhc2UgMS43LjkwID09PQoKMjAxNi0wMy0wMSAxODoxNTo0MyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIENoYW5nZUxvZzoKCSogTkVXUzoKCSogUkVMRUFTRToKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tMTM5NC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYWNvbG9yLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFwZXRhZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb2Z4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvcGFyc2Vycy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9kZXRlY3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXZpLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhY2FzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhaXJvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWN1dHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWludGVybGFjZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdG1mLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZmVjdHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXF1YWxpemVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZseGRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZGtwaXhidWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tMmsxLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWljeWRlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlkM2RlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWltYWdlZnJlZXplLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVybGVhdmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taXNvbXA0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWphY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanBlZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sZXZlbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tYXRyb3NrYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aWZpbGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlwYXJ0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5hdmlnYXRpb250ZXN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zczQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5nLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXB1bHNlYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVwbGF5Z2Fpbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwbWFuYWdlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHNwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNoYXBld2lwZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaG91dDJzZW5kLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNtcHRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlY3RydW0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdGFnbGliLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXVkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlbzRsaW51eDIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9ib3gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9jcm9wLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvZmlsdGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvbWl4ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdnB4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXhpbWFnZXNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi15NG1lbmMueG1sOgoJKiBnc3QtcGx1Z2lucy1nb29kLmRvYXA6CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgUmVsZWFzZSAxLjcuOTAKCjIwMTYtMDMtMDEgMTc6MDM6NTkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBwby9hZi5wbzoKCSogcG8vYXoucG86CgkqIHBvL2NhLnBvOgoJKiBwby9kYS5wbzoKCSogcG8vZWwucG86CgkqIHBvL2VuX0dCLnBvOgoJKiBwby9lby5wbzoKCSogcG8vZXMucG86CgkqIHBvL2V1LnBvOgoJKiBwby9maS5wbzoKCSogcG8vZ2wucG86CgkqIHBvL2hyLnBvOgoJKiBwby9odS5wbzoKCSogcG8vaWQucG86CgkqIHBvL2l0LnBvOgoJKiBwby9qYS5wbzoKCSogcG8vbHQucG86CgkqIHBvL2x2LnBvOgoJKiBwby9tdC5wbzoKCSogcG8vbmIucG86CgkqIHBvL29yLnBvOgoJKiBwby9wdF9CUi5wbzoKCSogcG8vcm8ucG86CgkqIHBvL3NrLnBvOgoJKiBwby9zbC5wbzoKCSogcG8vc3EucG86CgkqIHBvL3NyLnBvOgoJKiBwby90ci5wbzoKCSogcG8vemhfSEsucG86CgkqIHBvL3poX1RXLnBvOgoJICBVcGRhdGUgLnBvIGZpbGVzCgoyMDE2LTAzLTAxIDE2OjUzOjI3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogcG8vYmcucG86CgkqIHBvL2NzLnBvOgoJKiBwby9kZS5wbzoKCSogcG8vZnIucG86CgkqIHBvL25sLnBvOgoJKiBwby9wbC5wbzoKCSogcG8vcnUucG86CgkqIHBvL3N2LnBvOgoJKiBwby91ay5wbzoKCSogcG8vdmkucG86CgkqIHBvL3poX0NOLnBvOgoJICBwbzogVXBkYXRlIHRyYW5zbGF0aW9ucwoKMjAxNi0wMy0wMSAxNDoxNDowMiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBydHBqaXR0ZXJidWZmZXI6IGRvbid0IGZvcmdldCB0byB1bmxvY2sgbXV0ZXggaW4gZXJyb3IgY29kZSBwYXRoIGluIHR3byBjYXNlcwoKMjAxNi0wMi0yOSAxMDoxMDoyNCArMDAwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpc2JnQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYS1kZW11eDogcmVtb3ZlIGltcG9zc2libGUgY29uZGl0aW9uCgkgIEl0IGlzIGltcG9zc2libGUgZm9yIGEgZ3VpbnQgdG8gaGF2ZSBhIG5lZ2F0aXZlIHZhbHVlLCBubyBuZWVkIHRvIGNoZWNrIGZvcgoJICB0aGlzLiBJbnRyb2R1Y2VkIGluIGNvbW1pdCA2ODYxZDExYzQ5ZWEwZjMwZDI0MzJjZjRlYmY2MTA4YmM4OTg5N2YxCgkgIENJRCAxMzU0NTA5CgoyMDE2LTAyLTI4IDEwOjEyOjM2ICswMTAwICBQZXRyIFZpa3RvcmluIDxlbmN1a291QGdtYWlsLmNvbT4KCgkqIGdzdC9hbHBoYS9nc3RhbHBoYS5jOgoJICBhbHBoYTogRml4IHNhbXBsZSBwaXBlbGluZQoJICBVc2UgdGhlIHpvcmRlciBwYWQgcHJvcGVydHkgdG8gbWFrZSBzdXJlIHRoZSBzZW1pdHJhbnNwYXJlbnQKCSAgdmlkZW8gaXMgb24gdG9wIG9mIHRoZSBiYWNrZ3JvdW5kLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzYyODA5CgoyMDE2LTAyLTI4IDEzOjQyOjI4ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3JlcGxheWdhaW4vZ3N0cmd2b2x1bWUuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcmd2b2x1bWUuYzoKCSAgcmd2b2x1bWU6IG1ha2UgdGFnIGxpc3Qgd3JpdGFibGUgYmVmb3JlIG1vZGlmeWluZyBpdAoJICBNYWtpbmcgdGhlIGV2ZW50IGl0c2VsZiB3cml0YWJsZSBpcyBub3QgZW5vdWdoLCBpdCB3b24ndCBtYWtlCgkgIHRoZSBhY3R1YWwgdGFnbGlzdCBpbiB0aGUgZXZlbnQgd3JpdGFibGUgYXMgd2VsbC4gSW5zdGVhZCwganVzdAoJICBtYWtlIGEgY29weSBvZiB0aGUgdGFnbGlzdCBhbmQgdGhlbiBjcmVhdGUgYSBuZXcgdGFnIGV2ZW50IGZyb20KCSAgdGhhdCBpZiByZXF1aXJlZCwgcmVwbGFjaW5nIHRoZSBvbGQgb25lLiBCZWZvcmUgd2Ugd291bGQKCSAgaW5hZHZlcnRlbnRseSBtb2RpZnkgdGFnbGlzdHMgdXBzdHJlYW0gZWxlbWVudHMgbWlnaHQgc3RpbGwKCSAgYmUgaG9sZGluZyBvbiB0by4gQWRkIHVuaXQgdGVzdCBmb3IgdGhpcyBhcyB3ZWxsLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzYyNzkzCgoyMDE2LTAyLTI4IDEzOjAxOjM0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBQcm9wZXJseSBlcnJvciBvdXQgaWYgYmluZGluZyB0aGUgVURQIHNvY2tldHMgZmFpbHMKCSAgdWRwc3JjIGlzIG5vdCByZXR1cm5pbmcgdXMgYSBzb2NrZXQgaW4gdGhhdCBjYXNlLgoKMjAxNi0wMi0yNyAyMDozMzozMiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9nb29tL2dzdGdvb20uYzoKCSAgZ29vbTogVXNlIGdvb21fc2V0X3Jlc29sdXRpb24oKSBpbnN0ZWFkIG9mIHJlY3JlYXRpbmcgdGhlIGdvb20gaW5zdGFuY2Ugd2hlbiB0aGUgcmVzb2x1dGlvbiBjaGFuZ2VzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjI3NjUKCjIwMTYtMDItMjcgMjA6MzI6NDUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvZ29vbS9nc3Rnb29tLmM6CgkgIFJldmVydCAiZ29vbTogSW5pdGlhbGl6ZSB0aGUgZ29vbSBzdHJ1Y3Qgb25seSBvbmNlIHdlIGtub3cgd2lkdGgvaGVpZ2h0IGFuZCByZWNyZWF0ZSBpdCBpZiB0aG9zZSBjaGFuZ2UiCgkgIFRoaXMgcmV2ZXJ0cyBjb21taXQgY2M2ZTEwMjY0M2MxYmFlOTI4MzE2ZGNhOWYzNGRiMDI4ZmI5YTY3ZS4KCjIwMTYtMDItMjcgMjA6MzE6MTUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvZ29vbS9nc3Rnb29tLmM6CgkgIGdvb206IEluaXRpYWxpemUgdGhlIGdvb20gc3RydWN0IG9ubHkgb25jZSB3ZSBrbm93IHdpZHRoL2hlaWdodCBhbmQgcmVjcmVhdGUgaXQgaWYgdGhvc2UgY2hhbmdlCgkgIEZpeGVzIGNyYXNoIHdoZW4gdGhlIHdpZHRoIGFuZC9vciBoZWlnaHQgaXMgY2hhbmdpbmcuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjI3NjUKCjIwMTYtMDItMjYgMTI6NDE6MDcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIGI2NGYwM2YgdG8gNmYyZDIwOQoKMjAxNi0wMi0yNSAyMjo1NDoxOCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHAueG1sOgoJICBkb2NzOiBhZGQgcnRwb3B1c2RlcGF5IGFuZCBydHBvcHVzcGF5IHRvIGRvY3VtZW50YXRpb24KCjIwMTYtMDItMTcgMTU6MTU6MTEgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwL01ha2VmaWxlLmFtOgoJKiBnc3QvcnRwL2dzdHJ0cC5jOgoJKiBnc3QvcnRwL2dzdHJ0cG9wdXNkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG9wdXNkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cG9wdXNwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBvcHVzcGF5Lmg6CgkgIHJ0cDogb3B1czogbW92ZSBPcHVzIFJUUCBwYXlsb2FkZXIvZGVwYXlsb2FkZXIgZnJvbSAtYmFkIHRvIC1nb29kCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTYyODIKCjIwMTYtMDItMTcgMTU6MTA6MDAgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJICBNZXJnZSBicmFuY2ggJ3BsdWdpbi1tb3ZlLXJ0cC1vcHVzJwoJICBNb3ZlIE9wdXMgUlRQIGRlcGF5bG9hZGVyL3BheWxvYWRlciBmcm9tIC1iYWQgdG8gLWdvb2QuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTYyODIKCjIwMTYtMDItMjUgMTE6MzM6MTMgKzAxMDAgIFBoaWxpcHBlIE5vcm1hbmQgPHBoaWxuQGlnYWxpYS5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogY2VuYyBhdXggaW5mbyBwYXJzaW5nIGZyb20gbWRhdCBzdXBwb3J0IGluIFBVTEwgbW9kZQoJICBUaGlzIGlzIGFscmVhZHkgc3VwcG9ydGVkIGZvciBQVVNIIG1vZGUgYnV0IHdhcyBmYWlsaW5nIGluIFBVTEwgbW9kZS4KCSAgVGhlIGF1eCBpbmZvIGlzIHNvbWV0aW1lcyBzdG9yZWQgaW4gdGhlIG1kYXQgYmVmb3JlIHRoZSBmaXJzdCBzYW1wbGUsCgkgIHNvIHRoZSBsb29wIHRhc2sgbmVlZHMgdG8gcHVsbCBkYXRhIHN0b3JlZCBhdCB0aGF0IGxvY2F0aW9uIGFuZAoJICBwZXJmb3JtIHRoZSBhdXggaW5mbyBjZW5jIHBhcnNpbmcuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjE3MDAKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2MjUxNgoKMjAxNi0wMi0yNCAxMToyODowOSArMDEwMCAgUGhpbGlwcGUgTm9ybWFuZCA8cGhpbG5AaWdhbGlhLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBwcmV2ZW50IGJ1ZmZlciBmbG93IGlmIGFueSBzdHJlYW0gZmFpbGVkIHRvIGJlIGV4cG9zZWQKCSAgSW4gc29tZSBjYXNlcyB0aGUgc3RyZWFtIGNvbmZpZ3VyYXRpb24gY2FuIGZhaWwsIGZvciBpbnN0YW5jZSBpZiB0aGUKCSAgc3RyZWFtIGlzIHByb3RlY3RlZCBhbmQgbm8gZGVjcnlwdG9yIHdhcyBmb3VuZC4gRm9yIHRob3NlIHNpdHVhdGlvbnMKCSAgdGhlIGRlbXV4ZXIgc2hvdWxkbid0IGVtaXQgYW55IGRhdGEgb24gdGhlIGNvcnJlc3BvbmRpbmcgc291cmNlIHBhZCBvZgoJICB0aGUgc3RyZWFtIGFuZCBiYWlsIG91dC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2MjUxNgoKMjAxNi0wMi0yNCAwOToxMjowMyArMDEwMCAgUGhpbGlwcGUgTm9ybWFuZCA8cGhpbG5AaWdhbGlhLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBkb24ndCBwdXNoIGVuY3J5cHRlZCBidWZmZXIgd2l0aG91dCBjZW5jIG1ldGFkYXRhCgkgIFdoZW4gdGhlIGNlbmMgbWV0YWRhdGEgaXMgc3RvcmVkIG91dHNpZGUgb2YgdGhlIG1vb2YgYm94IGFuZCB0aGUKCSAgc3RyZWFtIGlzIGV4cG9zZWQgaXQgaXMgcG9zc2libGUgdGhhdCB0aGUgY2VuYyBtZXRhZGF0YSBoYXNuJ3QgYmVlbgoJICBwcm9jZXNzZWQgeWV0IHdoaWxlIHRoZSBmaXJzdCBidWZmZXIgaXMgYmVpbmcgcHVzaGVkLiBXaGVuIHRoaXMKCSAgaGFwcGVucyB0aGUgYnVmZmVyIGNhbid0IHBvc3NpYmx5IGJlIGRlY3J5cHRlZCBkb3duc3RyZWFtIHNvIGRvbid0CgkgIHB1c2ggaXQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjI1MTYKCjIwMTUtMTAtMjEgMTY6MjE6NDUgKzAyMDAgIFBoaWxpcHBlIE5vcm1hbmQgPHBoaWxuQGlnYWxpYS5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogcmVhZCBzYWlvIGF1eF9pbmZvX3R5cGUgYXMgYSBGT1VSQ0MKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1Njg5NwoKMjAxNi0wMi0yMyAxODoyNzo0NyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9kdi9nc3RkdmRlYy5jOgoJKiBleHQvZ2RrX3BpeGJ1Zi9nc3RnZGtwaXhidWZkZWMuYzoKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmM6CgkqIGdzdC9zbXB0ZS9nc3RzbXB0ZS5jOgoJICBnc3Q6IEhhbmRsZSBnc3RfcGFkX2dldF9jdXJyZW50X2NhcHMoKSByZXR1cm5pbmcgTlVMTCBncmFjZWZ1bGx5CgoyMDE2LTAyLTIzIDE4OjEyOjU0ICswMjAwICBEYXZlIENyYWlnIDxkY3JhaWdAYnJpZ2h0c2lnbi5iaXo+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjVkZXBheS5jOgoJICBydHBoMjY1ZGVwYXk6IERvbid0IGFzc3VtZSB0aGF0IGdldF9jdXJyZW50X2NhcHMoKSByZXR1cm5zIG5vbi1OVUxMIGNhcHMgYWZ0ZXIgaGFzX2N1cnJlbnRfY2FwcygpCgkgIFJlbW92ZSBjYWxscyB0byBnc3RfcGFkX2hhc19jdXJyZW50X2NhcHMoKSB3aGljaCB0aGVuIGdvIG9uIHRvIGNhbGwKCSAgZ3N0X3BhZF9nZXRfY3VycmVudF9jYXBzKCkgYXMgdGhlIGNhcHMgY2FuIGdvIHRvIE5VTEwgaW4gYmV0d2Vlbi4gSW5zdGVhZCBqdXN0CgkgIHVzZSBnc3RfcGFkX2dldF9jdXJyZW50X2NhcHMoKSBhbmQgY2hlY2sgZm9yIE5VTEwuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTk1MzkKCjIwMTUtMTItMTYgMTI6NDA6MzkgKzAwMDAgIERhdmUgQ3JhaWcgPGRjcmFpZ0BicmlnaHRzaWduLmJpej4KCgkqIGV4dC9mbGFjL2dzdGZsYWNlbmMuYzoKCSogZ3N0L2Zsdi9nc3RmbHZtdXguYzoKCSogZ3N0L2ltYWdlZnJlZXplL2dzdGltYWdlZnJlZXplLmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2NGRlcGF5LmM6CgkqIGdzdC9zaGFwZXdpcGUvZ3N0c2hhcGV3aXBlLmM6CgkqIGdzdC92aWRlb2Nyb3AvZ3N0YXNwZWN0cmF0aW9jcm9wLmM6CgkgIGdzdDogRG9uJ3QgYXNzdW1lIHRoYXQgZ2V0X2N1cnJlbnRfY2FwcygpIHJldHVybnMgbm9uLU5VTEwgY2FwcyBhZnRlciBoYXNfY3VycmVudF9jYXBzKCkKCSAgUmVtb3ZlIGNhbGxzIHRvIGdzdF9wYWRfaGFzX2N1cnJlbnRfY2FwcygpIHdoaWNoIHRoZW4gZ28gb24gdG8gY2FsbAoJICBnc3RfcGFkX2dldF9jdXJyZW50X2NhcHMoKSBhcyB0aGUgY2FwcyBjYW4gZ28gdG8gTlVMTCBpbiBiZXR3ZWVuLiBJbnN0ZWFkIGp1c3QKCSAgdXNlIGdzdF9wYWRfZ2V0X2N1cnJlbnRfY2FwcygpIGFuZCBjaGVjayBmb3IgTlVMTC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1OTUzOQoKMjAxNS0xMi0xNiAxMDo1NDoxNyArMDAwMCAgRGF2ZSBDcmFpZyA8ZGNyYWlnQGJyaWdodHNpZ24uYml6PgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYWNwYXJzZS5jOgoJICBhYWNwYXJzZTogSGFuZGxlIGdzdF9wYWRfZ2V0X2N1cnJlbnRfY2FwcygpIHJldHVybmluZyBOVUxMIGdyYWNlZnVsbHkKCSAgVGhpcyBjYW4gaGFwcGVuIHdoZW4gdGhlIHBpcGVsaW5lIGlzIGN1cnJlbnRseSBzaHV0dGluZyBkb3duLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU5NTM5CgoyMDE2LTAyLTIzIDE1OjU3OjE4ICswMTAwICBMaW51cyBTdmVuc3NvbiA8bGludXNzbkBheGlzLmNvbT4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYS1kZW11eDogRG9uJ3QgaGFuZGxlIHNlZWsgdW50aWwgcmVhZHkKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2MjU0MgoKMjAxNi0wMi0yMyAxNTo1NToxMyArMDEwMCAgTGludXMgU3ZlbnNzb24gPGxpbnVzc25AYXhpcy5jb20+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2EtZGVtdXg6IFVucmVmIHNlZWsgZXZlbnQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2MjU0MgoKMjAxNi0wMi0yMiAxMTowMTo0MCArMDEwMCAgQXVyw6lsaWVuIFphbmVsbGkgPGF1cmVsaWVuLnphbmVsbGlAcGFycm90LmNvbT4KCgkqIGdzdC9tdWx0aWZpbGUvZ3N0bXVsdGlmaWxlc2luay5jOgoJICBtdWx0aWZpbGVzaW5rOiBjbG9zZSBmaWxlIG9uIHdyaXRlIGVycm9yIHdpdGggbmV4dC1maWxlIG1vZGUgaXMgc2V0IHRvIGJ1ZmZlcgoJICBJZiB3ZSBoYXZlIGFuIGVycm9yIGR1cmluZyBmd3JpdGUgY2FsbCwgZmlsZSBzdGF5cyBvcGVuIGFuZCB0aHVzIG5leHQKCSAgaW5jb21pbmcgYnVmZmVyIHdpbGwgdHJpZ2dlciBhbiBhc3NlcnQgd2hlbiB0cnlpbmcgdG8gb3BlbmluZyBhIG5ldwoJICBmaWxlLgoJICBUaGlzIGhhcHBlbnMgaWYgd2UgZG8gbm90IHJlc3RhcnQgZWxlbWVudCwgZmlsZSBpcyBjbG9zZWQgYXQgc3RvcCwgYW5kCgkgIGlmIGFwcGxpY2F0aW9uIGhhbmRsZXMgdGhlIHJldHVybmVkIEdTVF9GTE9XX0VSUk9SIHRvIGtlZXAgYmluIGFsaXZlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzYyNDM0CgoyMDE2LTAyLTE5IDIzOjQ0OjQyICswMTAwICBNYXRlaiBLbm9wcCA8bWF0ZWoua25vcHBAZ21haWwuY29tPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJICBtYXRyb3NrYW11eDogZG9uJ3Qgb3V0cHV0IGVtcHR5IHRhZ3MvdGFnIGVsZW1lbnRzCgkgIFN1Y2ggZmlsZXMgd2lsbCBub3QgcGxheSBvbiBBbmRyb2lkLCBiZWNhdXNlIG9mIGJ1ZyBpbiBsaWJ3ZWJtIG1hdHJvc2thIHBhcnNpbmcsIHdoaWNoIGlzIHN0aWxsIHByZXNlbnQgaW4gNi4wLjEKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2MjM0OQoKMjAxNi0wMi0wNCAxNTo1OTowNCArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2EtZGVtdXg6IG1ha2UgdXAgYW4gT3B1c0hlYWQgYmxvY2sgaWYgcG9zc2libGUgd2hlbiBtaXNzaW5nCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjE0ODkKCjIwMTYtMDItMDQgMTA6NDM6MTUgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJICBtYXRyb3NrYS1tdXg6IG1ha2UgdXAgYW4gT3B1c0hlYWQgYmxvY2sgaWYgcG9zc2libGUgd2hlbiBtaXNzaW5nCgkgIFRoaXMgYmxvY2sgaXMgbmVlZGVkIGluIHRoZSBNYXRyb3NrYSBmaWxlLCBidXQgZGF0YSBjb21pbmcgZnJvbQoJICBSVFAgbWF5IG5vdCBoYXZlIG9uZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2MTQ4OQoKMjAxNi0wMi0yMiAxMzo1MzoyMSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bW5hdXdAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thZGVtdXg6IG1ha2Ugc3RyZWFtLWlkIG1vcmUgcmVhZGFibGUgYW5kIG9yZGVyLWZyaWVuZGx5CgkgIC4uLiBhcyBzdHJlYW1zIGFyZSBzbyBvcmRlcmVkIGJ5IGlkIGJ5IGUuZy4gZGVjb2RlYmluCgkgIChhbmQgYXMgdHlwaWNhbGx5IGFscmVhZHkgaG9ub3VyZWQgYnkgb3RoZXIgZGVtdXhlcnMpLgoKMjAxNi0wMi0yMiAxMzoyNTo1MSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bW5hdXdAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWlkcy5oOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkgIG1hdHJvc2thOiByZW1vdmUgY29uZnVzaW5nIGR1cGxpY2F0ZSB0cmFjayB1aWQgZmllbGQKCjIwMTYtMDItMjIgMTQ6MDM6MDIgKzAwMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXNiZ0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cHZwOXBheS5jOgoJICBydHB2cDlwYXk6IGFkZCBtaXNzaW5nIGJyZWFrCgkgIFZQOV9QQVlfUElDVFVSRV9JRF83QklUUyBhbmQgVlA5X1BBWV9QSUNUVVJFX0lEXzE1QklUUyBhcmUgbXV0dWFsbHkKCSAgZXhjbHVzaXZlIG9wdGlvbnMgb2YgdGhlIHBpY3R1cmUtaWQtbW9kZS4gV2UgY2FuIGJyZWFrIGFmdGVyIHRoZQoJICBmaXJzdCBjYXNlLgoJICAxIG9yIDIgYnl0ZXMgbmVlZCB0byBiZSBhZGRlZCB0byB0aGUgaGVhZGVyIGxlbmd0aCBkZXBlbmRpbmcgb24gdGhlCgkgIFBpY3R1cmVJRCBzaXplLgoJICBodHRwczovL3Rvb2xzLmlldGYub3JnL2h0bWwvZHJhZnQtdWJlcnRpLXBheWxvYWQtdnA5LTAwI3NlY3Rpb24tNC4yCgkgIENJRCAxMzUzNDc5CgoyMDE2LTAyLTIyIDA5OjA5OjAxICswOTAwICBWaW5lZXRoIFRNIDx2aW5lZXRoLnRtQHNhbXN1bmcuY29tPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICBhdmlkZW11eDogRml4IGJ1ZmZlciBtZW1vcnkgbGVhawoJICBidWZmZXIgYmVpbmcgbWFwcGVkIGlzIG5vdCBiZWluZyB1bm1hcHBlZCBpbiBzb21lIGNhc2VzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjI0MjAKCjIwMTUtMTEtMDQgMTA6MTk6MDMgKzAxMDAgIFN0aWFuIFNlbG5lcyA8c3RpYW5AcGV4aXAuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIHJ0cG1hbmFnZXI6IERvbid0IHdhcm4gZm9yIGR1cGxpY2F0ZS9yZW9yZGVyZWQgcGFja2V0cwoJICBUaGlzIGlzIGEgbm9ybWFsIHNjZW5hcmlvIGFuZCBzaG91bGQgbm90IGJlIGEgd2FybmluZy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2MjIwOAoKMjAxNi0wMi0yMSAwOTo0Nzo0MyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9hbHBoYS9hbHBoYS52Y3Byb2o6CgkqIGdzdC9hdXBhcnNlL2F1cGFyc2UudmNwcm9qOgoJKiBnc3QvYXZpL2F2aS52Y3Byb2o6CgkqIGdzdC9jdXR0ZXIvY3V0dGVyLnZjcHJvajoKCSogZ3N0L2RlYnVndXRpbHMvZGVidWcudmNwcm9qOgoJKiBnc3QvZGVidWd1dGlscy9uYXZpZ2F0aW9udGVzdC52Y3Byb2o6CgkqIGdzdC9lZmZlY3R2L2VmZmVjdHYudmNwcm9qOgoJKiBnc3QvZmx4L2ZseGRlYy52Y3Byb2o6CgkqIGdzdC9nb29tL2dvb20udmNwcm9qOgoJKiBnc3QvZ29vbTJrMS9nb29tLnZjcHJvajoKCSogZ3N0L2ludGVybGVhdmUvaW50ZXJsZWF2ZS52Y3Byb2o6CgkqIGdzdC9pc29tcDQvcXRkZW11eC52Y3Byb2o6CgkqIGdzdC9sYXcvYWxhdy52Y3Byb2o6CgkqIGdzdC9sYXcvbXVsYXcudmNwcm9qOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EudmNwcm9qOgoJKiBnc3QvbXVsdGlwYXJ0L211bHRpcGFydC52Y3Byb2o6CgkqIGdzdC9ydHAvcnRwLnZjcHJvajoKCSogZ3N0L3NtcHRlL3NtcHRlLnZjcHJvajoKCSogZ3N0L3NwZWN0cnVtL3NwZWN0cnVtLnZjcHJvajoKCSogZ3N0L3VkcC91ZHAudmNwcm9qOgoJKiBnc3QvdmlkZW9ib3gvdmlkZW9ib3gudmNwcm9qOgoJKiBnc3QvdmlkZW9jcm9wL3ZpZGVvY3JvcC52Y3Byb2o6CgkqIGdzdC92aWRlb2ZpbHRlci9nYW1tYS52Y3Byb2o6CgkqIGdzdC92aWRlb2ZpbHRlci92aWRlb2JhbGFuY2UudmNwcm9qOgoJKiBnc3QvdmlkZW9maWx0ZXIvdmlkZW9maWx0ZXIudmNwcm9qOgoJKiBnc3QvdmlkZW9maWx0ZXIvdmlkZW9mbGlwLnZjcHJvajoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlci52Y3Byb2o6CgkqIGdzdC93YXZlbmMvd2F2ZW5jLnZjcHJvajoKCSogZ3N0L3dhdnBhcnNlL3dhdnBhcnNlLnZjcHJvajoKCSogZ3N0L3k0bS95NG1lbmMudmNwcm9qOgoJKiB3aW4zMi9NQU5JRkVTVDoKCSogd2luMzIvdnM2L2F1dG9nZW4uZHNwOgoJKiB3aW4zMi92czYvZ3N0X3BsdWdpbnNfZ29vZC5kc3c6CgkqIHdpbjMyL3ZzNi9saWJnc3RhbGF3LmRzcDoKCSogd2luMzIvdnM2L2xpYmdzdGFscGhhLmRzcDoKCSogd2luMzIvdnM2L2xpYmdzdGFscGhhY29sb3IuZHNwOgoJKiB3aW4zMi92czYvbGliZ3N0YXBldGFnLmRzcDoKCSogd2luMzIvdnM2L2xpYmdzdGF1ZGlvZnguZHNwOgoJKiB3aW4zMi92czYvbGliZ3N0YXVwYXJzZS5kc3A6CgkqIHdpbjMyL3ZzNi9saWJnc3RhdXRvZGV0ZWN0LmRzcDoKCSogd2luMzIvdnM2L2xpYmdzdGF2aS5kc3A6CgkqIHdpbjMyL3ZzNi9saWJnc3RjdXR0ZXIuZHNwOgoJKiB3aW4zMi92czYvbGliZ3N0ZGlyZWN0c291bmQuZHNwOgoJKiB3aW4zMi92czYvbGliZ3N0ZWZmZWN0di5kc3A6CgkqIHdpbjMyL3ZzNi9saWJnc3RmbHguZHNwOgoJKiB3aW4zMi92czYvbGliZ3N0Z29vbS5kc3A6CgkqIHdpbjMyL3ZzNi9saWJnc3RpY3lkZW11eC5kc3A6CgkqIHdpbjMyL3ZzNi9saWJnc3RpZDNkZW11eC5kc3A6CgkqIHdpbjMyL3ZzNi9saWJnc3RpbnRlcmxlYXZlLmRzcDoKCSogd2luMzIvdnM2L2xpYmdzdGpwZWcuZHNwOgoJKiB3aW4zMi92czYvbGliZ3N0bGV2ZWwuZHNwOgoJKiB3aW4zMi92czYvbGliZ3N0bWF0cm9za2EuZHNwOgoJKiB3aW4zMi92czYvbGliZ3N0bWVkaWFuLmRzcDoKCSogd2luMzIvdnM2L2xpYmdzdG1vbm9zY29wZS5kc3A6CgkqIHdpbjMyL3ZzNi9saWJnc3RtdWxhdy5kc3A6CgkqIHdpbjMyL3ZzNi9saWJnc3RtdWx0aXBhcnQuZHNwOgoJKiB3aW4zMi92czYvbGliZ3N0cG5nLmRzcDoKCSogd2luMzIvdnM2L2xpYmdzdHF0ZGVtdXguZHNwOgoJKiB3aW4zMi92czYvbGliZ3N0cnRwLmRzcDoKCSogd2luMzIvdnM2L2xpYmdzdHJ0c3AuZHNwOgoJKiB3aW4zMi92czYvbGliZ3N0c21wdGUuZHNwOgoJKiB3aW4zMi92czYvbGliZ3N0c3BlZXguZHNwOgoJKiB3aW4zMi92czYvbGliZ3N0dWRwLmRzcDoKCSogd2luMzIvdnM2L2xpYmdzdHZpZGVvYmFsYW5jZS5kc3A6CgkqIHdpbjMyL3ZzNi9saWJnc3R2aWRlb2JveC5kc3A6CgkqIHdpbjMyL3ZzNi9saWJnc3R2aWRlb2Nyb3AuZHNwOgoJKiB3aW4zMi92czYvbGliZ3N0dmlkZW9mbGlwLmRzcDoKCSogd2luMzIvdnM2L2xpYmdzdHZpZGVvbWl4ZXIuZHNwOgoJKiB3aW4zMi92czYvbGliZ3N0d2F2ZWZvcm0uZHNwOgoJKiB3aW4zMi92czYvbGliZ3N0d2F2ZW5jLmRzcDoKCSogd2luMzIvdnM2L2xpYmdzdHdhdnBhcnNlLmRzcDoKCSogd2luMzIvdnM3L2xpYmdzdGRpcmVjdHNvdW5kLnZjcHJvajoKCSogd2luMzIvdnM4L2dzdC1wbHVnaW5zLWdvb2Quc2xuOgoJKiB3aW4zMi92czgvbGliZ3N0MTM5NC52Y3Byb2o6CgkqIHdpbjMyL3ZzOC9saWJnc3RhYXNpbmsudmNwcm9qOgoJKiB3aW4zMi92czgvbGliZ3N0YWxhdy52Y3Byb2o6CgkqIHdpbjMyL3ZzOC9saWJnc3RhbHBoYS52Y3Byb2o6CgkqIHdpbjMyL3ZzOC9saWJnc3RhbHBoYWNvbG9yLnZjcHJvajoKCSogd2luMzIvdnM4L2xpYmdzdGFubm9kZXgudmNwcm9qOgoJKiB3aW4zMi92czgvbGliZ3N0YXBldGFnLnZjcHJvajoKCSogd2luMzIvdnM4L2xpYmdzdGF1ZGlvZngudmNwcm9qOgoJKiB3aW4zMi92czgvbGliZ3N0YXVwYXJzZS52Y3Byb2o6CgkqIHdpbjMyL3ZzOC9saWJnc3RhdXRvZGV0ZWN0LnZjcHJvajoKCSogd2luMzIvdnM4L2xpYmdzdGF2aS52Y3Byb2o6CgkqIHdpbjMyL3ZzOC9saWJnc3RjYWNhc2luay52Y3Byb2o6CgkqIHdpbjMyL3ZzOC9saWJnc3RjZGlvLnZjcHJvajoKCSogd2luMzIvdnM4L2xpYmdzdGN1dHRlci52Y3Byb2o6CgkqIHdpbjMyL3ZzOC9saWJnc3RkaXJlY3Rzb3VuZC52Y3Byb2o6CgkqIHdpbjMyL3ZzOC9saWJnc3Rkdi52Y3Byb2o6CgkqIHdpbjMyL3ZzOC9saWJnc3RlZmZlY3R2LnZjcHJvajoKCSogd2luMzIvdnM4L2xpYmdzdGZsYWMudmNwcm9qOgoJKiB3aW4zMi92czgvbGliZ3N0Zmx4ZGVjLnZjcHJvajoKCSogd2luMzIvdnM4L2xpYmdzdGdvb20udmNwcm9qOgoJKiB3aW4zMi92czgvbGliZ3N0aWN5ZGVtdXgudmNwcm9qOgoJKiB3aW4zMi92czgvbGliZ3N0aWQzZGVtdXgudmNwcm9qOgoJKiB3aW4zMi92czgvbGliZ3N0anBlZy52Y3Byb2o6CgkqIHdpbjMyL3ZzOC9saWJnc3RsYWRzcGEudmNwcm9qOgoJKiB3aW4zMi92czgvbGliZ3N0bGV2ZWwudmNwcm9qOgoJKiB3aW4zMi92czgvbGliZ3N0bWF0cm9za2EudmNwcm9qOgoJKiB3aW4zMi92czgvbGliZ3N0bW5nLnZjcHJvajoKCSogd2luMzIvdnM4L2xpYmdzdG1vbm9zY29wZS52Y3Byb2o6CgkqIHdpbjMyL3ZzOC9saWJnc3RtdWxhdy52Y3Byb2o6CgkqIHdpbjMyL3ZzOC9saWJnc3RtdWx0aXBhcnQudmNwcm9qOgoJKiB3aW4zMi92czgvbGliZ3N0cG5nLnZjcHJvajoKCSogd2luMzIvdnM4L2xpYmdzdHJ0cC52Y3Byb2o6CgkqIHdpbjMyL3ZzOC9saWJnc3RydHNwLnZjcHJvajoKCSogd2luMzIvdnM4L2xpYmdzdHNob3V0Mi52Y3Byb2o6CgkqIHdpbjMyL3ZzOC9saWJnc3RzbXB0ZS52Y3Byb2o6CgkqIHdpbjMyL3ZzOC9saWJnc3RzcGVleC52Y3Byb2o6CgkqIHdpbjMyL3ZzOC9saWJnc3R0YWdsaWIudmNwcm9qOgoJKiB3aW4zMi92czgvbGliZ3N0dWRwLnZjcHJvajoKCSogd2luMzIvdnM4L2xpYmdzdHZpZGVvYmFsYW5jZS52Y3Byb2o6CgkqIHdpbjMyL3ZzOC9saWJnc3R2aWRlb2JveC52Y3Byb2o6CgkqIHdpbjMyL3ZzOC9saWJnc3R2aWRlb2ZsaXAudmNwcm9qOgoJKiB3aW4zMi92czgvbGliZ3N0dmlkZW9taXhlci52Y3Byb2o6CgkqIHdpbjMyL3ZzOC9saWJnc3R3YXZlbmMudmNwcm9qOgoJKiB3aW4zMi92czgvbGliZ3N0d2F2cGFyc2UudmNwcm9qOgoJICB3aW4zMjogcmVtb3ZlIG91dGRhdGVkIGJ1aWxkIGNydWZ0CgkgIFRoaXMgaGFzbid0IGJlZW4gdG91Y2hlZCBmb3IgZ2VuZXJhdGlvbnMsIGRvZXNuJ3Qgd29yaywKCSAgYW5kIGlzIGp1c3QgY2F1c2luZyBjb25mdXNpb24uIFdlIGFsc28gZG9uJ3Qgd2FudCB0bwoJICBtYWludGFpbiB0aGVzZSBmaWxlcyBtYW51YWxseS4KCjIwMTYtMDItMjAgMTE6NTE6NTYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJICB2NGwyOiBkb24ndCB1c2UgdW5kZWNsYXJlZCBjb3JlIGRlYnVnIGNhdGVnb3J5IHN5bWJvbHMKCjIwMTYtMDItMDYgMTQ6Mzk6MDUgKzAxMDAgIE1hdGVqIEtub3BwIDxtYXRlai5rbm9wcEBnbWFpbC5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogd29ya2Fyb3VuZCBmb3IgZmlsZXMgd2l0aCB3cm9uZyBjb2xvcl90YWJsZV9pZCB2YWx1ZQoJICBJbnN0ZWFkIG9mIGVycm9yaW5nIG91dCwganVzdCB1c2UgdGhlIGRlZmF1bHQgY29sb3IgdGFibGUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjE2MzcKCjIwMTYtMDItMTkgMTU6MDI6MDQgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvZmx2L2dzdGZsdm11eC5jOgoJKiBnc3QvcnRwL2dzdHJ0cHZwOWRlcGF5LmM6CgkgIGZsdm11eCwgcnRwdnA5ZGVwYXk6IGZpeCBpbmRlbnRhdGlvbgoKMjAxNi0wMi0xOSAxNTowMzowNCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnZpZGVvZGVjLmM6CgkgIHY0bDJzcmM6IGZpeCBpbmRlbnRhdGlvbgoKMjAxNS0xMi0wNCAwMDo0NjozNCArMTEwMCAgSGF2YXJkIEdyYWZmIDxoYXZhcmQuZ3JhZmZAZ21haWwuY29tPgoKCSogZ3N0L2Zsdi9nc3RmbHZtdXguYzoKCSAgZmx2bXV4OiBwbHVnIGxlYWsocykgaW4gZXJyb3Itc2NlbmFyaW8KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2MjIxMAoKMjAxNS0xMi0wNCAwMDo0NjoxMiArMTEwMCAgSGF2YXJkIEdyYWZmIDxoYXZhcmQuZ3JhZmZAZ21haWwuY29tPgoKCSogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOgoJICBmbHZkZW11eDogZml4IGVvcyBldmVudCBsZWFrCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjIyMDkKCjIwMTYtMDItMTkgMTQ6NDE6MDcgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9mbHZkZW11eC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9mbHZtdXguYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwaDI2My5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHBqaXR0ZXJidWZmZXIuYzoKCSAgdGVzdHM6IGZpeCBpbmRlbnRhdGlvbgoKMjAxNi0wMi0xOCAxNjowOToyOSArMDEwMCAgSGF2YXJkIEdyYWZmIDxoYXZhcmQuZ3JhZmZAZ21haWwuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwaml0dGVyYnVmZmVyLmM6CgkgIHRlc3RzOiBydHBqaXR0ZXJidWZmZXI6IHBvcnQgdGVzdGhhcm5lc3MgdG8gR3N0SGFybmVzcyBhbmQgY2xlYW51cC9pbXByb3ZlCgkgIFByb2JhYmx5IGZvdW5kIGEgYnVnIGFzIHdlbGwsIGluIHRoYXQgdGhlcmUgYXJlIHNvbWUgdGltZXN0YW1wcyBpbgoJICB0aGVyZSB0aGF0IGFyZSBsb29raW5nIHZlcnkgd3JvbmcuIChtYXJrZWQgd2l0aCBGSVhNRSkKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2MjI2NwoKMjAxNi0wMi0xOCAxMDoyNzoxOSArMDEwMCAgSGF2YXJkIEdyYWZmIDxoYXZhcmQuZ3JhZmZAZ21haWwuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwaml0dGVyYnVmZmVyLmM6CgkgIHRlc3RzOiBydHBqaXR0ZXJidWZmZXI6IHRlc3QgY2xlYW51cHMvaW1wcm92ZW1lbnRzCgkgIFVzZSBmYWlsX3VubGVzcyBhbmQgZnJpZW5kcyBpbnN0ZWFkIG9mIGdfYXNzZXJ0CgkgIEZhY3RvciBzZXEtbnVtIGNoZWNraW5nIG91dCB0byBzZXBhcmF0ZSBmdW5jdGlvbgoJICBDaGVjayBtb3JlIHJldHVybi12YWx1ZXMgZnJvbSBwdXNoIGFuZCBjcmFuayBhbmQgb3RoZXJzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjIyNTQKCjIwMTUtMTItMDMgMTE6MDc6MDUgKzAxMDAgIFN0aWFuIFNlbG5lcyA8c3RpYW5AcGV4aXAuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwaml0dGVyYnVmZmVyLmM6CgkgIHRlc3RzOiBydHBqaXR0ZXJidWZmZXI6IGZpeCBsZWFrcyBpbiB1bml0IHRlc3QKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2MjIxNAoKMjAxNi0wMi0xOSAxMjozODoyOCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgQmFjayB0byBkZXZlbG9wbWVudAoKPT09IHJlbGVhc2UgMS43LjIgPT09CgoyMDE2LTAyLTE5IDExOjQ5OjU1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogQ2hhbmdlTG9nOgoJKiBORVdTOgoJKiBSRUxFQVNFOgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaW50ZXJmYWNlczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5wcmVyZXF1aXNpdGVzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLnNpZ25hbHM6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi0xMzk0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhY29sb3IueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXBldGFnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvZngueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9wYXJzZXJzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2RldGVjdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdmkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FjYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2Fpcm8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY3V0dGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlaW50ZXJsYWNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0bWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZmZWN0di54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lcXVhbGl6ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmxhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx4ZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdka3BpeGJ1Zi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20yazEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWN5ZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW1hZ2VmcmVlemUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXJsZWF2ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pc29tcDQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tamFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxldmVsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1hdHJvc2thLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpZmlsZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aXBhcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmF2aWdhdGlvbnRlc3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzNC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3NhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbmcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcHVsc2VhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXBsYXlnYWluLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHBtYW5hZ2VyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0c3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hhcGV3aXBlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNob3V0MnNlbmQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc21wdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVjdHJ1bS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10YWdsaWIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdWRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvNGxpbnV4Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2JveC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2Nyb3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9maWx0ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9taXhlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12cHgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2ZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teGltYWdlc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXk0bWVuYy54bWw6CgkqIGdzdC1wbHVnaW5zLWdvb2QuZG9hcDoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICBSZWxlYXNlIDEuNy4yCgoyMDE2LTAyLTE5IDEwOjMxOjQ4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogcG8vYWYucG86CgkqIHBvL2F6LnBvOgoJKiBwby9iZy5wbzoKCSogcG8vY2EucG86CgkqIHBvL2NzLnBvOgoJKiBwby9kYS5wbzoKCSogcG8vZGUucG86CgkqIHBvL2VsLnBvOgoJKiBwby9lbl9HQi5wbzoKCSogcG8vZW8ucG86CgkqIHBvL2VzLnBvOgoJKiBwby9ldS5wbzoKCSogcG8vZmkucG86CgkqIHBvL2ZyLnBvOgoJKiBwby9nbC5wbzoKCSogcG8vaHIucG86CgkqIHBvL2h1LnBvOgoJKiBwby9pZC5wbzoKCSogcG8vaXQucG86CgkqIHBvL2phLnBvOgoJKiBwby9sdC5wbzoKCSogcG8vbHYucG86CgkqIHBvL210LnBvOgoJKiBwby9uYi5wbzoKCSogcG8vbmwucG86CgkqIHBvL29yLnBvOgoJKiBwby9wbC5wbzoKCSogcG8vcHRfQlIucG86CgkqIHBvL3JvLnBvOgoJKiBwby9ydS5wbzoKCSogcG8vc2sucG86CgkqIHBvL3NsLnBvOgoJKiBwby9zcS5wbzoKCSogcG8vc3IucG86CgkqIHBvL3N2LnBvOgoJKiBwby90ci5wbzoKCSogcG8vdWsucG86CgkqIHBvL3ZpLnBvOgoJKiBwby96aF9DTi5wbzoKCSogcG8vemhfSEsucG86CgkqIHBvL3poX1RXLnBvOgoJICBwbzogVXBkYXRlIHRyYW5zbGF0aW9ucwoKMjAxNi0wMi0xOCAxODozMzoxMyArMDEwMCAgUGhpbGlwcGUgTm9ybWFuZCA8cGhpbG5AaWdhbGlhLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBwbHVnIGxlYWtzIGluIGNlbmMgYXV4IGluZm8gcGFyc2luZwoKMjAxNi0wMi0xOCAxMzo0MzowNyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICB0ZXN0czogZml4IHNwdXJpb3VzIHNvdXBodHRwc3JjIHRlc3QgdGltb3V0cwoJICBTZXQgR1NFVFRJTkdTX0JBQ0tFTkQ9bWVtb3J5LCBhcHBhcmVudGx5IHRoZXJlJ3Mgc29tZXRoaW5nCgkgIGFib3V0IGZvcmsoKSBhbmQgdGhlIGRjb25mIGJhY2tlbmQgKG9yIHdoYXRldmVyIGVsc2UgdGhhdAoJICBkcmFncyBpbiBvciBhY3RpdmF0ZXMpIHRoYXQgbWVzc2VzIHVwIGxvY2tpbmcgYW5kIGNhdXNlcwoJICB0aW1lb3V0cyBkdWUgdG8gZGVhZGxvY2tzIGluIGdfbXV0ZXhfbG9jaygpLCBzaW5jZQoJICBldmVyeXRoaW5nIHdvcmtzIGZpbmUgd2l0aCBDS19GT1JLPW5vIGFzIHdlbGwuCgoyMDE2LTAyLTE4IDExOjEwOjE0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thZGVtdXg6IFVubWFwIHdhdnBhY2sgaGVhZGVyIGJ1ZmZlciBhZnRlciBjcmVhdGluZyBpdAoJICBPdGhlcndpc2UgaXQgd2lsbCBiZSBtYXBwZWQgd3JpdGFibGUgYWxsIHRoZSB0aW1lIGFuZCB3ZSBjYW4ndCByZWFkIGZyb20gaXQKCSAgYW55d2hlcmUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjIyMzkKCjIwMTUtMTItMDggMTg6NDk6NDAgKzAxMDAgIFN0aWFuIFNlbG5lcyA8c3RpYW5AcGV4aXAuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwaml0dGVyYnVmZmVyLmM6CgkgIHJ0cGppdHRlcmJ1ZmZlcjogQWRkIHRlc3QgZm9yIGJpZyBzZXFudW0gZ2FwIGhhbmRsaW5nCgkgIE1ha2Ugc3VyZSB0aGF0IHRoZSBwYWNrZXRzIHF1ZXVlZCB3aGVuIGRldGVjdGluZyBhIGJpZyBnYXAgYXJlIHB1c2hlZAoJICBhZnRlciByZXNldCAoNSBjb25zZWN0aXZlIHNlcW51bXMpIGFuZCBub3QgZHJvcHBlZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2MjIxMQoKMjAxNi0wMi0xNyAxNTowMzoxMyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwdXRpbHMuaDoKCSAgcnRwOiBzcHJpbmtsZSBzb21lIEdfR05VQ19JTlRFUk5BTCBmb3IgaW50ZXJuYWwgdXRpbHMgZnVuY3Rpb25zCgoyMDE2LTAyLTA5IDEzOjE3OjAwICswMDAwICBBbGV4IEFzaGxleSA8YnVnemlsbGFAYXNobGV5LWZhbWlseS5uZXQ+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogb25seSB0cmFuc2Zvcm0gcHJvdGVjdGVkIGNhcHMgb25jZQoJICBDb21taXQgNzg3M2JlZGUzMTM0YjE1ZTUwNjZlOGQxNGU1NGQxZjUwNTRkMjA2MwoJICAoaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2MDc3NCkgY2hhbmdlZCB0aGUKCSAgYmVoYXZpb3VyIG9mIHF0ZGVtdXggdG8gY2FsbCBnc3RfcXRkZW11eF9jb25maWd1cmVfc3RyZWFtKCkgZm9yCgkgIGV2ZXJ5IG5ldyBtb29mLgoJICBXaGVuIHBsYXlpbmcgYSBwcm90ZWN0ZWQgc3RyZWFtLCBnc3RfcXRkZW11eF9jb25maWd1cmVfc3RyZWFtKCkKCSAgY2FsbHMgZ3N0X3F0ZGVtdXhfY29uZmlndXJlX3Byb3RlY3RlZF9jYXBzKCkuIFRoZQoJICBnc3RfcXRkZW11eF9jb25maWd1cmVfcHJvdGVjdGVkX2NhcHMoKSBmdW5jdGlvbiB0YWtlcyB0aGUgb3JpZ2luYWwKCSAgbWVkaWEgZm9ybWF0LCBwdXRzIHRoaXMgaW4gYSBmaWVsZCBjYWxsZWQgIm9yaWdpbmFsLW1lZGlhLXR5cGUiCgkgIGFuZCB0aGVuIGNoYW5nZXMgdGhlIGNhcHMgdG8gImFwcGxpY2F0aW9uL3gtY2VuYyIuCgkgIFRoZSBnc3RfcXRkZW11eF9jb25maWd1cmVfcHJvdGVjdGVkX2NhcHMoKSBkaWQgbm90IGhhbmRsZSB0aGUgY2FzZQoJICBvZiBiZWluZyBjYWxsZWQgbXVsdGlwbGUgdGltZXMsIGNhdXNpbmcgaXQgdG8gaW5jb3JyZWN0bHkgc2V0IHRoZQoJICBjYXBzLiBUaGUgc2Vjb25kIGNhbGwgd2FzIGNhdXNpbmcgdGhlIGNhcHMgdG8gYmUgc2V0IHRvOgoJICBhcHBsaWNhdGlvbi94LWNlbmMsIG9yaWdpbmFsLW1lZGlhLXR5cGUiYXBwbGljYXRpb24veC1jZW5jIgoJICBUaGlzIGNvbW1pdCBtYWtlcyBnc3RfcXRkZW11eF9jb25maWd1cmVfcHJvdGVjdGVkX2NhcHMoKSBjaGVjayB0aGF0CgkgIHRoZSBjYXBzIGhhdmUgYWxyZWFkeSBiZWVuIHRyYW5zZm9ybWVkLCBzbyB0aGF0IGl0IG9ubHkgZ2V0cwoJICBjaGFuZ2VkIG9uY2UuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjE3NjkKCjIwMTUtMTEtMDMgMTQ6NTA6NTMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cG9wdXNkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG9wdXNwYXkuYzoKCSAgb3B1czogQWRkIHByb3BlciBzdXBwb3J0IGZvciBtdWx0aWNoYW5uZWwgYXVkaW8KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NzE1MgoKMjAxNS0wNi0zMCAxMzo1MTozMyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwb3B1c2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwb3B1c3BheS5jOgoJICBvcHVzOiBDb3B5IG1ldGFkYXRhIGluIHRoZSAoZGUpcGF5bG9hZGVyLCBidXQgb25seSB0aGUgcmVsZXZhbnQgb25lcwoJICBUaGUgcGF5bG9hZGVyIGRpZG4ndCBjb3B5IGFueXRoaW5nIHNvIGZhciwgdGhlIGRlcGF5bG9hZGVyIGNvcGllZCBldmVyeQoJICBwb3NzaWJsZSBtZXRhLiBMZXQncyBtYWtlIGl0IGNvbnNpc3RlbnQgYW5kIGp1c3QgY29weSBhbGwgbWV0YXMgd2l0aG91dCB0YWdzIG9yCgkgIHdpdGggb25seSB0aGUgYXVkaW8gdGFnLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUxNzc0CgoyMDE1LTA1LTA0IDExOjIzOjE2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBvcHVzZGVwYXkuYzoKCSAgb3B1c2RlcGF5OiBTZXQgbXVsdGlzdHJlYW09RkFMU0Ugb24gdGhlIE9wdXMgY2FwcwoJICBUaGUgUlRQIE9wdXMgbWFwcGluZyBvbmx5IGFsbG93cyBtb25vL3N0ZXJlbywgYW5kIG5vdCBtdWx0aXN0cmVhbSBPcHVzCgkgIHN0cmVhbXMuCgoyMDE1LTAzLTI0IDEzOjU3OjU0IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBvcHVzcGF5LmM6CgkgIHJ0cG9wdXNwYXk6IEZvcndhcmQgc3RlcmVvIHByZWZlcmVuY2VzIGZyb20gY2FwcyB1cHN0cmVhbQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ2NjE3CgoyMDE1LTAzLTI0IDEzOjU2OjIxIC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBvcHVzcGF5LmM6CgkgIHJ0cG9wdXNwYXk6IFNldCB0aGUgbnVtYmVyIG9mIGNoYW5uZWxzIHRvIDIgYXMgcGVyIFJGQyBkcmFmdAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ2NjE3CgoyMDE1LTAzLTIzIDEyOjI0OjU1ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBvcHVzZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBvcHVzcGF5LmM6CgkgIG9wdXM6IEhhbmRsZSBzcHJvcC1zdGVyZW8gYW5kIHNwcm9wLW1heGNhcHR1cmVyYXRlIFJUUCBjYXBzIGZpZWxkcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ2NjE3CgoyMDE1LTAyLTE5IDE0OjMwOjEwICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwb3B1c3BheS5jOgoJICBydHBvcHVzcGF5OiBkZWZhdWx0IGVuY29kaW5nIG5hbWUgdG8gT1BVUwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM3ODEwCgoyMDE1LTAyLTE5IDE0OjA1OjA2ICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwb3B1c3BheS5jOgoJICBydHBvcHVzcGF5OiBtYWtlIGNhcHMgd3JpdGFibGUgYmVmb3JlIHRydW5jYXRpbmcgdGhlbQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM3ODEwCgoyMDE1LTAyLTA1IDEwOjI3OjUxICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwb3B1c3BheS5jOgoJICBydHBvcHVzcGF5OiBuZWdvdGlhdGUgdGhlIGVuY29kaW5nIG5hbWUKCSAgQ2hyb21lIHVzZXMgYSBkaWZmZXJlbnQgZW5jb2RpbmcgbmFtZSB0aGF0IGdzdHJlYW1lci4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNzgxMAoKMjAxNC0xMS0wMSAxMDoxMDoyNyAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cG9wdXNkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG9wdXNwYXkuYzoKCSAgcnRwb3B1czogVXNlIE9QVVMgZW5jb2RpbmcgbmFtZQoJICBCb3RoIEZpcmVmb3ggYW5kIENocm9tZSB1c2VzIE9QVVMgYXMgdGhlIGVuY29kaW5nIGluIHRoZWlyIFNEUC4KCSAgQWRkaW5nIHRoaXMgbm93IGRlZmFjdG8gc3RhbmRhcmQgbmFtZSByZW1vdmUgdGhlIG5lZWQgZm9yIHNwZWNpYWwKCSAgY2FzZSBpbiBTRFAgcGFyc2luZyBjb2RlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM3ODEwCgoyMDEzLTAxLTMxIDEyOjMwOjQ5ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBvcHVzcGF5LmM6CgkgIG9wdXNwYXk6IGZpeCB0aW1lc3RhbXBzCgkgIENvcHkgdGltZXN0YW1wcyB0byBwYXlsb2FkZWQgYnVmZmVyLgoJICBBdm9pZCBpbnB1dCBidWZmZXIgbWVtb3J5IGxlYWsuCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTI5MjkKCjIwMTItMTEtMDMgMjA6Mzg6MDAgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBnc3QvcnRwL2dzdHJ0cG9wdXNkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG9wdXNkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cG9wdXNwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBvcHVzcGF5Lmg6CgkgIEZpeCBGU0YgYWRkcmVzcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njg3NTIwCgoyMDEyLTEwLTIyIDEyOjA4OjQxICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBvcHVzcGF5LmM6CgkgIG9wdXNwYXk6IHJlbW92ZSBwb2ludGxlc3MgY2FwcyBzZXJpYWxpemF0aW9uCgkgIFJlbW92ZSB0aGUgY2FwcyBzZXJpYWxpemF0aW9uIGluIHRoZSBydHAgY2Fwcy4gdGhlIHNwZWMgbm9yIHRoZSByZWNlaXZlcgoJICBkb2VzIGFueXRoaW5nIHdpdGggaXQuCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODY1NDcKCjIwMTItMTAtMTcgMTc6MzQ6MjYgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBvcHVzZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBvcHVzcGF5LmM6CgkgIFVzZSBnc3RfZWxlbWVudF9jbGFzc19zZXRfc3RhdGljX21ldGFkYXRhKCkKCSAgd2hlcmUgcG9zc2libGUuIEF2b2lkcyBzb21lIHN0cmluZyBjb3BpZXMuIEFsc28gcmUtaW5kZW50CgkgIHNvbWUgc3R1ZmYuIEFsc28gc29tZSBpbmRlbnQgZml4ZXMgaGVyZSBhbmQgdGhlcmUuCgoyMDEyLTA5LTIwIDE4OjQxOjI0IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBvcHVzcGF5LmM6CgkgIHJ0cG9wdXNwYXk6IEFsbG9jYXRlIHRoZSBydHAgYnVmZmVyIGNvcnJlY3RseQoJICBVc2UgdGhlIHJpZ2h0IGZ1bmN0aW9ucyB0byBhbGxvY2F0ZSB0aGUgcnRwIGJ1ZmZlcgoKMjAxMi0wOS0xNCAxNzowODo0OSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cG9wdXNkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG9wdXNwYXkuYzoKCSAgcmVwbGFjZSBnc3RfZWxlbWVudF9jbGFzc19zZXRfZGV0YWlsc19zaW1wbGUgd2l0aCBnc3RfZWxlbWVudF9jbGFzc19zZXRfbWV0YWRhdGEKCjIwMTItMDMtMDcgMTc6MTQ6MjkgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBvcHVzcGF5LmM6CgkgIG9wdXM6IHBvcnQgdG8gdXBkYXRlZCAwLjExCgoyMDExLTEyLTMwIDExOjQxOjE3ICswMTAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwb3B1c2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwb3B1c2RlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwb3B1c3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG9wdXNwYXkuaDoKCSAgTWVyZ2UgcmVtb3RlLXRyYWNraW5nIGJyYW5jaCAnb3JpZ2luL21hc3RlcicgaW50byAwLjExLXByZW1lcmdlCgkgIENvbmZsaWN0czoKCSAgZG9jcy9saWJzL01ha2VmaWxlLmFtCgkgIGV4dC9rYXRlL2dzdGthdGV0aWdlci5jCgkgIGV4dC9vcHVzL2dzdG9wdXNkZWMuYwoJICBleHQveHZpZC9nc3R4dmlkZW5jLmMKCSAgZ3N0LWxpYnMvZ3N0L2Jhc2VjYW1lcmFiaW5zcmMvTWFrZWZpbGUuYW0KCSAgZ3N0LWxpYnMvZ3N0L2Jhc2VjYW1lcmFiaW5zcmMvZ3N0YmFzZWNhbWVyYXNyYy5jCgkgIGdzdC1saWJzL2dzdC9iYXNlY2FtZXJhYmluc3JjL2dzdGJhc2VjYW1lcmFzcmMuaAoJICBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvY29kZWMuYwoJICBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvY29kZWMuaAoJICBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZGVjb2Rlci5jCgkgIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9lbmNvZGVyLmMKCSAgZ3N0L2FzZm11eC9nc3Rhc2ZtdXguYwoJICBnc3QvYXVkaW92aXN1YWxpemVycy9nc3R3YXZlc2NvcGUuYwoJICBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmMKCSAgZ3N0L2RlYnVndXRpbHMvZ3N0Y29tcGFyZS5jCgkgIGdzdC9mcmVpMHIvZ3N0ZnJlaTBybWl4ZXIuYwoJICBnc3QvbXBlZ3BzbXV4L21wZWdwc211eC5jCgkgIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4LmMKCSAgZ3N0L214Zi9teGZtdXguYwoJICBnc3QvdmlkZW9tZWFzdXJlL2dzdHZpZGVvbWVhc3VyZV9zc2ltLmMKCSAgZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYwoJICBnc3QvdmlkZW9wYXJzZXJzL2dzdG1wZWc0dmlkZW9wYXJzZS5jCgoyMDExLTEyLTA5IDE3OjI1OjQxICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwb3B1c3BheS5jOgoJICBvcHVzZW5jOiBhZGQgdXBzdHJlYW0gbmVnb3RpYXRpb24gZm9yIG11bHRpc3RyZWFtIGFiaWxpdHkKCSAgVGhpcyB3aWxsIGhlbHAgZWxlbWVudHMgdGhhdCBjYW5ub3QgZGVhbCB3aXRoIG11bHRpc3RyZWFtLAoJICBzdWNoIGFzIHRoZSBSVFAgcGF5bG9hZGVyLgoJICBUaGUgY2FwcyBub3cgZG8gbm90IGluY2x1ZGUgYSAic3RyZWFtcyIgZmllbGQgYW55bW9yZSwgYnV0CgkgIGEgIm11bHRpc3RyZWFtIiBib29sZWFuLCBzaW5jZSB3ZSBoYXZlIG5vIHJlYWwgdXNlIGZvciBrbm93aW5nCgkgIHRoZSBleGFjdCBhbW91bnQgb2Ygc3RyZWFtcy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY2NTA3OAoKMjAxMS0xMi0wNyAxNToxMzoxMSAtMDIwMCAgRGFuaWxvIENlc2FyIExlbWVzIGRlIFBhdWxhIDxkYW5pbG8uY2VzYXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBvcHVzZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBvcHVzZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBvcHVzcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwb3B1c3BheS5oOgoJICBBZGRpbmcgb3B1cyBSVFAgcGF5bG9hZGVyL2RlcGF5bG9hZGVyIGVsZW1lbnQKCSAgQWRkaW5nIE9QVVMgUlRQIG1vZHVsZSBiYXNlZCBvbiB0aGUgY3VycmVudCBkcmFmdDoKCSAgaHR0cDovL3Rvb2xzLmlldGYub3JnL2lkL2RyYWZ0LXNwaXR0a2EtcGF5bG9hZC1ydHAtb3B1cy0wMC50eHQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY2NDgxNwoKMjAxNi0wMi0xNyAxMzoyNjowMiArMDAwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpc2JnQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2NGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2NWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwdXRpbHMuYzoKCSogZ3N0L3J0cC9nc3RydHB1dGlscy5oOgoJICBydHA6IGgyNjQvaDI2NTogYXZvaWQgZHVwbGljYXRpb24gb2YgcmVhZF9nb2xvbWIoKQoJICBUaGVyZSBpcyBubyBuZWVkIHRvIGhhdmUgdHdvIGlkZW50aWNhbCBpbXBsZW1lbnRhdGlvbnMgb2YgdGhlIHJlYWRfZ29sb21iCgkgIGZ1bmN0aW9uLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzYxNjA2CgoyMDE2LTAyLTE3IDE0OjM3OjQ0ICswMTAwICBPZ255YW4gVG9uY2hldiA8b2dueWFuQGF4aXMuY29tPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thZGVtdXg6IFNpbXBsZSBpbXBsZW1lbnRhdGlvbiBvZiBUUklDS01PREVfS0VZX1VOSVRTCgkgIFdoZW4gdGhlIHRyaWNrbW9kZSBrZXktdW5pdHMgZmxhZyBpcyBzZXQgb24gdGhlIHNlZ21lbnQsIHNpbXBseSBza2lwCgkgIGFueSBzYW1wbGUgb24gYSB2aWRlbyBzdHJlYW0gdGhhdCBpc24ndCBhIGtleWZyYW1lCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjIxODUKCjIwMTUtMDgtMjEgMTQ6MTU6MTggKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2EtZGVtdXg6IHNlbmQgR0FQIGV2ZW50cyBmb3IgbGFnZ2luZyBhdWRpbyBhbmQgdmlkZW8gc3RyZWFtcyB0b28KCSAgU2VuZCBHQVAgZXZlbnRzIGZvciBub24tc3VidGl0bGUgc3RyZWFtcyB0b28gaWYgdGhleSBsYWcgdG9vIG11Y2gKCSAgYmVoaW5kLCBidXQgdXNlIGEgaGlnaGVyIHRocmVzaG9sZCB0aGFuIGZvciBzdWJ0aXRsZXMuCgkgIFRoaXMgaGVscHMgd2l0aCBmaXhpbmcgcHJlcm9sbGluZyB3aXRoIGEgZmlsZSB3aGVyZSBvbmUgb2YgdGhlCgkgIGF1ZGlvIHN0cmVhbXMgb25seSBoYXMgZGF0YSBzdGFydGluZyBmcm9tIDE5cyBvbndhcmRzLiBJdCdzIG5vdAoJICBhIGNvbXBsZXRlIGZpeCB5ZXQsIGl0IGFsc28gcmVxdWlyZXMgY2hhbmdlcyBlbHNld2hlcmUsIHN1Y2ggYXMKCSAgaW4gYmFzZXBhcnNlLCB0byBtYWtlIHN1cmUgY2FwcyBhcmUgcHJvcGFnYXRlZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYxNDQ2MAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUzODk5CgoyMDE1LTEyLTIzIDE5OjU0OjEzICswMTAwICBTdGlhbiBTZWxuZXMgPHN0aWFuQHBleGlwLmNvbT4KCgkqIGdzdC9ydHAvTWFrZWZpbGUuYW06CgkqIGdzdC9ydHAvZ3N0cnRwLmM6CgkqIGdzdC9ydHAvZ3N0cnRwdnA5ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHB2cDlkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cHZwOXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHZwOXBheS5oOgoJICBydHB2cDlwYXk6IHJ0cHZwOWRlcGF5OiBJbml0aWFsIGltcGxlbWVudGF0aW9uIG9mIGRyYWZ0IDAxCgkgIFF1aWNrIGFuZCBkaXJ0eSBpbXBsZW1lbnRhdGlvbiBvZiBhbiBSVFAgcGF5bG9hZGVyIGFuZCBkZXBheWxvYWRlcgoJICBmb3IgVlA5LiBJbiBwYXJ0aWNhbHVyIGl0IGFzc3VtZXMgbm8gc3BhdGlhbCBvciB0ZW1wb3JhbCBsYXllcmluZywKCSAgbm9uLWZsZXhpYmxlIG1vZGUsIGFuZCBzb21lIG90aGVyIGJpdHMgYW5kIHBpZWNlcy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NDc3MwoKMjAxNi0wMi0xNiAwOTowMjozMCArMDkwMCAgVmluZWV0aCBUTSA8dmluZWV0aC50bUBzYW1zdW5nLmNvbT4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgYXZpZGVtdXg6IEZpeCBzdHJpbmcgbWVtb3J5IGxlYWsKCSAgY29kZWNfbmFtZSBpcyBub3QgYmVpbmcgZnJlZWQgaW4gYWxsIGNvbmRpdGlvbnMgbGVhZGluZyB0byBtZW1vcnkgbGVhawoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzYyMTE3CgoyMDE1LTEyLTEwIDEyOjE1OjUyICswMTAwICBNaWd1ZWwgUGFyw61zIETDrWF6IDxtcGFyaXNkaWF6QGdtYWlsLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uaDoKCSAgcnRwYmluOiBhZGQgImdldC1zZXNzaW9uIiBzaWduYWwKCSAgVGhpcyBnZXRzIHRoZSBHc3RSVFBTZXNzaW9uIGVsZW1lbnQsIGFzIGNvbXBhcmVkIHRvIHRoZSBSVFBTZXNzaW9uIG9iamVjdAoJICB0aGF0IGlzIHJldHVybmVkIGJ5IGdldC1pbnRlcm5hbC1zZXNzaW9uLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU5MjkzCgoyMDE2LTAyLTE2IDAwOjE5OjAwICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0cC9NYWtlZmlsZS5hbToKCSogZ3N0L3J0cC9nc3RydHAuYzoKCSAgcnRwOiBoMjY1OiBob29rIHVwIG1vdmUgUlRQIEguMjY1IHBheWxvYWRlci9kZXBheWxvYWRlciB0byBidWlsZAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzYxNjA2CgoyMDE2LTAyLTE2IDAwOjE0OjI3ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBoMjY1ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjY1ZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBoMjY1cGF5LmM6CgkgIHJ0cDogaDI2NTogdXNlIGNvbW1vbiBtZXRhIHV0aWxpdHkgZnVuY3Rpb25zCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjE2MDYKCjIwMTYtMDItMDUgMTg6MTg6MzEgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjVkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBoMjY1dHlwZXMuaDoKCSAgcnRwOiBoMjY1OiByZW1vdmUgY29kZWNwYXJzZXIgZGVwZW5kZW5jeSBmcm9tIGgyNjUgcGF5bG9hZGVyL2RlcGF5bG9hZGVyCgkgIExvb2tzIGxpa2UgaXQganVzdCB1c2VzIHRoZSBOQUwgZW51bXMgYW5kIG5vdGhpbmcgZWxzZSBmcm9tCgkgIHRoZSBjb2RlY3BhcnNlcnMsIGFuZCB0aGF0J3MgdGhlIG9ubHkgcmVhc29uIGl0IGhhZCB0byBiZQoJICBtb3ZlZCBmcm9tIC1nb29kIHRvIC1iYWQgd2hlbiBpdCB3YXMgb3JpZ2luYWxseSBhZGRlZC4gV2UKCSAgY2FuIHByb2JhYmx5IGtlZXAgdGhvc2UgTkFMIGVudW1zIHVwIHRvIGRhdGUgZW5vdWdoLCBzbyBsZXQncwoJICByZW1vdmUgdGhlIGNvZGVjcGFyc2VyIGRlcGVuZGVuY3kgc28gaXQgY2FuIGJlIG1vdmVkIGJhY2sgaW50bwoJICAtZ29vZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2MTYwNgoKMjAxNi0wMi0xNiAwMDoyNDo1OCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkgIE1lcmdlIGJyYW5jaCAncGx1Z2luLW1vdmUtcnRwLWgyNjUnCgkgIE1vdmUgUlRQIEguMjY1IHBheWxvYWRlci9kZXBheWxvYWRlciBmcm9tIC1iYWQgdG8gLWdvb2QuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjE2MDYKCjIwMTYtMDItMDUgMTU6MzQ6NTEgKzAwMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXNiZ0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjVkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjVkZXBheS5oOgoJICBnc3RydHBoMjY1ZGVwYXk6IGtlZXAgY29uc2lzdGVuY3kgd2l0aCBydHBoMjY0ZGVwYXkKCSAgVXNlIGdzdF9ydHBfZHJvcF9tZXRhKCkgYW5kIHRoZSBzYW1lIGZ1bmN0aW9uIHByb3RvdHlwZSBmb3IKCSAgZ3N0X3J0cF9jb3B5X21ldGEoKSB0byBrZWVwIGNvbnNpc3RlbmN5IHdpdGggdGhlIFJUUCBlbGVtZW50cyBpbgoJICBnc3QtcGx1Z2lucy1nb29kCgoyMDE2LTAyLTA1IDEzOjU2OjM0ICswMDAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzYmdAb3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBoMjY1ZGVwYXkuYzoKCSAgcnRwaDI2NWRlcGF5OiBmaXggdGVybWluYXRpb24gb2YgYWNjZXNzIHVuaXQKCSAgT25seSBjb25zaWRlciB0aGUgYWNjZXNzIHVuaXQgY29tcGxldGUgd2hlbiB0aGUgbmV4dC1vY2N1cnJpbmcgVkNMIE5BTCB1bml0CgkgIGhhcyB0aGUgZmlyc3QgYml0IGFmdGVyIGl0cyBOQUwgdW5pdCBoZWFkZXIgZXF1YWwgdG8gMS4KCjIwMTYtMDEtMTUgMTY6MTA6MDIgKzAwMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXNiZ0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjVkZXBheS5jOgoJICBydHBoMjY1ZGVwYXk6IGZpeCB1bm5lZWRlZCBzdWItYnVmZmVyIGNyZWF0aW9uCgkgIFdlIGNyZWF0ZSBhIHN1Yi1idWZmZXIganVzdCB0byBjb3B5IG92ZXIgaXRzIG1ldGFzIGFuZCB0aGVuIHRocm93IGl0CgkgIGF3YXkgaW1tZWRpYXRlbHksIGp1c3QgdXNlIHRoZSBvcmlnaW5hbCBpbnB1dCBidWZmZXIgZGlyZWN0bHkuCgoyMDE2LTAxLTE1IDE1OjU2OjU5ICswMDAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzYmdAb3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBoMjY1cGF5LmM6CgkgIHJ0cGgyNjVwYXk6IGFkZCAic2VuZCBWUFMvU1BTL1BQUyB3aXRoIGV2ZXJ5IGtleSBmcmFtZSIgbW9kZQoJICBJdCdzIG5vdCBlbm91Z2ggdG8gaGF2ZSB0aW1lb3V0IG9yIGV2ZW50IGJhc2VkIFZQUy9TUFMvUFBTIGluZm9ybWF0aW9uCgkgIHNlbnQgaW4gUlRQIHBhY2tldHMuIFRoZXJlIGFyZSBzb21lIHNjZW5hcmlvcyB3aGVuIGtleSBmcmFtZXMgbWF5IGFwcGVhcgoJICBtb3JlIGZyZXF1ZW50bHkgdGhhbiBvbmNlIGEgc2Vjb25kLCBpbiB3aGljaCBjYXNlIHRoZSBtaW5pbXVtIHRpbWVvdXQKCSAgZm9yICJjb25maWctaW50ZXJ2YWwiIG9mIDEgc2Vjb25kIGZvciBzZW5kaW5nIFZQUy9TUFMvUFBTIGlzbid0IGVub3VnaC4KCSAgSXQgbWlnaHQgYWxzbyBiZSBkZXNpcmFibGUgaW4gZ2VuZXJhbCB0byBtYWtlIHN1cmUgdGhlIFZQUy9TUFMvUFBTIGlzCgkgIGF2YWlsYWJsZSB3aXRoIGV2ZXJ5IGtleWZyYW1lIChwYWNrZXQgbG9zcyBhc2lkZSksIHNvIHJlY2VpdmVycyBjYW4KCSAgYWN0dWFsbHkgcGljayB1cCBkZWNvZGluZyBpbW1lZGlhdGVseSBmcm9tIHRoZSBmaXJzdCBrZXlmcmFtZSBpZgoJICBWUFMvU1BTL1BQUyBpcyBub3Qgc2lnbmFsZWQgb3V0IG9mIGJhbmQuCgkgIFRoaXMgY29tbWl0IGFkZHMgdGhlIHBvc3NpYmlsaXR5IHRvIHNlbmQgVlBTL1NQUy9QUFMgd2l0aCBldmVyeSBrZXkgZnJhbWUuCgkgIFRoaXMgbW9kZSBjYW4gYmUgZW5hYmxlZCBieSBzZXR0aW5nICJjb25maWctaW50ZXJ2YWwiIHByb3BlcnR5IHRvIC0xLiBJbgoJICB0aGlzIGNhc2UgdGhlIHBheWxvYWRlciB3aWxsIGFkZCBWUFMsIFNQUyBhbmQgUFBTIGJlZm9yZSBldmVyeSBrZXkgKElEUikKCSAgZnJhbWUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTc4OTIKCjIwMTYtMDEtMTUgMTU6MTk6NDEgKzAwMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXNiZ0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjY1cGF5Lmg6CgkgIHJ0cGgyNjVwYXk6IGNoYW5nZSBjb25maWctaW50ZXJ2YWwgcHJvcGVydHkgdHlwZSBmcm9tIHVpbnQgdG8gaW50CgkgIFRoaXMgd2F5IHdlIGNhbiB1c2UgLTEgYXMgc3BlY2lhbCB2YWx1ZSwgd2hpY2ggaXMgbmljZXIgdGhhbiBNQVhVSU5ULgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU3ODkyCgoyMDE1LTA4LTE1IDE2OjIyOjIwICswMTAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzQGRlYmV0aGVuY291cnQuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBoMjY1ZGVwYXkuYzoKCSAgcnRwaDI2NWRlcGF5OiBtYWtlIHN1cmUgd2UgY2FsbCBoYW5kbGVfbmFsIGZvciBlYWNoIE5BTAoJICBDYWxsIGhhbmRsZV9uYWwgZm9yIGVhY2ggTkFMIGluIHRoZSBTVEFQLUEgUlRQIHBhY2tldC4gVGhpcyBtYWtlcyBzdXJlCgkgIHdlIGNvcnJlY3RseSBleHRyYWN0IHRoZSBTUFMgYW5kIFBQUy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMDk5OQoKMjAxNS0wOC0xNSAxNDo0NTozNCArMDEwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpc0BkZWJldGhlbmNvdXJ0LmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2NXBheS5jOgoJICBydHBoMjY1cGF5OiBDb3B5IG1ldGFkYXRhIGluIHRoZSBwYXlsb2FkZXIsIGJ1dCBvbmx5IHRoZSByZWxldmFudCBvbmVzCgkgIFRoZSBwYXlsb2FkZXIgZGlkbid0IGNvcHkgYW55dGhpbmcgc28gZmFyLCB0aGUgZGVwYXlsb2FkZXIgY29waWVkIGV2ZXJ5CgkgIHBvc3NpYmxlIG1ldGEuIExldCdzIG1ha2UgaXQgY29uc2lzdGVudCBhbmQganVzdCBjb3B5IGFsbCBtZXRhcyB3aXRob3V0CgkgIHRhZ3Mgb3Igd2l0aCBvbmx5IHRoZSB2aWRlbyB0YWcuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTE3NzQKCjIwMTUtMDgtMTUgMTE6NDE6NDAgKzAxMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXNAZGViZXRoZW5jb3VydC5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjVwYXkuYzoKCSAgcnRwaDI2NXBheTogVXNlIEdTVF9XQVJOSU5HX09CSkVDVCgpIGluc3RlYWQgb2YgR1NUX1dBUk5JTkcoKQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUzMjI4CgoyMDE1LTA4LTE1IDExOjMwOjM2ICswMTAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzQGRlYmV0aGVuY291cnQuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBoMjY1cGF5LmM6CgkgIHJ0cGgyNjVwYXk6IGZpeCBwb3RlbnRpYWwgY3Jhc2ggd2hlbiBzaHV0dGluZyBkb3duCgkgIEEgcmFjZSBjb25kaXRpb24gaW4gdGhlIHN0YXRlIGNoYW5nZSBmdW5jdGlvbiBtYXkgY2F1c2UgYnVmZmVycyB0byBiZQoJICB1bnJlZmZlZCB3aGlsZSB0aGV5IGFyZSBzdGlsbCB1c2VkIGJ5IHRoZSBzdHJlYW1pbmcgdGhyZWFkIGluCgkgIGdzdF9ydHBfaDI2NV9wYXlfc2VuZF92cHNfc3BzX3BwcygpIHJlc3VsdGluZyBpbiBhIGNyYXNoLiBDaGFpbiB1cCB0byB0aGUKCSAgcGFyZW50IGNsYXNzIGZpcnN0IGluIHRoZSBzdGF0ZSBjaGFuZ2UgZnVuY3Rpb24gdG8gbWFrZSBzdXJlIHN0cmVhbWluZwoJICBoYXMgc3RvcHBlZCBhbmQgb25seSB0aGVuIGZyZWUgdGhvc2UgYnVmZmVycy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0MTM4MQoKMjAxNS0wOC0xNCAxNTowODowOCArMDEwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpc0BkZWJldGhlbmNvdXJ0LmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2NXBheS5jOgoJICBydHBoMjY1cGF5OiBmaXggYnVmZmVyIGxlYWsgd2hlbiB1c2luZyBTUFMvUFBTCgkgIEZpeGVzIGEgYnVmZmVyIGxlYWsgdGhhdCB3b3VsZCBvY2N1ciBpZiB0aGUgcGlwZWxpbmUgd2FzIHNodXRkb3duIHdoaWxlIGEKCSAgU1BTL1BQUyBoZWFkZXIgd2FzIGJlaW5nIGNyZWF0ZWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDEyNzEKCjIwMTUtMDgtMTQgMTE6NDk6NTEgKzAxMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXNAZGViZXRoZW5jb3VydC5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjVkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjVkZXBheS5oOgoJICBydHBoMjY1ZGVwYXk6IGNvcHkgbWV0YWRhdGEgaW4gdGhlIGRlcGF5bG9hZGVyLCBidXQgb25seSB0aGUgcmVsZXZhbnQgb25lcwoJICBUaGUgcGF5bG9hZGVyIGRpZG4ndCBjb3B5IGFueXRoaW5nIHNvIGZhciwgdGhlIGRlcGF5bG9hZGVyIGNvcGllZCBldmVyeQoJICBwb3NzaWJsZSBtZXRhLiBMZXQncyBtYWtlIGl0IGNvbnNpc3RlbnQgYW5kIGp1c3QgY29weSBhbGwgbWV0YXMgd2l0aG91dAoJICB0YWdzIG9yIHdpdGggb25seSB0aGUgdmlkZW8gdGFnLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUxNzc0CgoyMDE1LTA4LTEyIDE3OjU0OjUyICswMTAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzQGRlYmV0aGVuY291cnQuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBoMjY1ZGVwYXkuYzoKCSAgcnRwaDI2NWRlcGF5OiBjaGVja2luZyBpZiBkZXBheSBoYXMgc3BzL3BwcyBuYWxzIGJlZm9yZSBpbnNlcnRpb24KCSAgUmVsYXRlZCB0bzogaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MzQzMAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUzMjI4CgoyMDE1LTA4LTEyIDE3OjIyOjQyICswMTAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzQGRlYmV0aGVuY291cnQuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBoMjY1ZGVwYXkuYzoKCSAgcnRwaDI2NWRlcGF5OiBvbmx5IHVwZGF0ZSB0aGUgc3JjcGFkIGNhcHMgaWYgc29tZXRoaW5nIGVsc2UgdGhhbiB0aGUgY29kZWNfZGF0YSBjaGFuZ2VkCgkgIGgyNjRwYXJzZSBhbmQgZ3N0cnRwaDI2NGRlcGF5IGRvIHRoZSBzYW1lLCBsZXQncyBrZWVwIHRoZSBiZWhhdmlvdXIKCSAgY29uc2lzdGVudC4gQXMgd2Ugbm93IGluY2x1ZGUgdGhlIGNvZGVjX2RhdGEgaW5zaWRlIHRoZSBzdHJlYW0sIHRoaXMgY2F1c2VzCgkgIGxlc3MgY2FwcyByZW5lZ290aWF0aW9uLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUzMjI4CgoyMDE1LTA4LTEyIDE2OjQzOjQ4ICswMTAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzQGRlYmV0aGVuY291cnQuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBoMjY1ZGVwYXkuYzoKCSAgcnRwaDI2NWRlcGF5OiBQUFMgcmVwbGFjZXMgb2xkIFBQUyBpZiBpdCBoYXMgdGhlIHNhbWUgaWQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MzIyOAoKMjAxNS0wOC0xMiAxNjoxMTowMCArMDEwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpc0BkZWJldGhlbmNvdXJ0LmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2NWRlcGF5LmM6CgkgIHJ0cGgyNjVkZXBheTogSW5zZXJ0IFNQUy9QUFMgTkFMcyBpbnRvIHRoZSBzdHJlYW0KCSAgcnRwaDI2NGRlcGF5IGRvZXMgdGhlIHNhbWUgYW5kIHRoaXMgZml4ZXMgZGVjb2Rpbmcgb2Ygc29tZSBzdHJlYW1zIHdpdGggMzIKCSAgU1BTIChvciAyNTYgUFBTKS4gSXQgaXMgYWxsb3dlZCB0byBoYXZlIFNQUyBJRCAwIHRvIDMxIChvciBQUFMgSUQgMCB0byAyNTUpLAoJICBidXQgdGhlIGZpZWxkIGluIHRoZSBjb2RlY19kYXRhIGZvciB0aGUgbnVtYmVyIG9mIFNQUyBvciBQUFMgaXMgb25seSA1CgkgIChvciA4KSBiaXQuIEFzIHN1Y2gsIDMyIFNQUyAob3IgMjU2IFBQUykgYXJlIGludGVycHJldGVkIGFzIDAgZXZlcnl3aGVyZS4KCSAgVGhpcyBsb29rcyBsaWtlIGEgbWlzdGFrZSBpbiB0aGUgcGFydCBvZiB0aGUgc3BlY3QgYWJvdXQgdGhlIGNvZGVjX2RhdGEuCgoyMDE1LTA4LTEyIDE1OjQ5OjUwICswMTAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzQGRlYmV0aGVuY291cnQuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBoMjY1ZGVwYXkuYzoKCSAgcnRwaDI2NWRlcGF5OiBpbXBsZW1lbnQgcHJvY2Vzc19ydHBfcGFja2V0KCkgdmZ1bmMKCSAgRm9yIG1vcmUgb3B0aW1pc2VkIFJUUCBwYWNrZXQgaGFuZGxpbmc6IG1lYW5zIHdlIGRvbid0IG5lZWQgdG8gbWFwIHRoZQoJICBpbnB1dCBidWZmZXIgYWdhaW4gYnV0IGNhbiBqdXN0IHJlLXVzZSB0aGUgbWFwcGluZyB0aGUgYmFzZSBjbGFzcyBoYXMKCSAgYWxyZWFkeSBkb25lLgoJICBCYXNlZCBvbjogaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MDIzNQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUzMjI4CgoyMDE1LTA4LTEyIDE1OjE0OjUwICswMTAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzQGRlYmV0aGVuY291cnQuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBoMjY1ZGVwYXkuYzoKCSAgcnRwaDI2NWRlcGF5OiBVc2UgR1NUX0JVRkZFUl9QVFMoKSBpbnN0ZWFkIG9mIEdTVF9CVUZGRVJfVElNRVNUQU1QKCkKCSAgU3dpdGNoaW5nIHRvIEdTVF9CVUZGRVJfVElNRVNUQU1QKCkgdG8gYmUgY29uc2lzdGVudCB3aXRoIG90aGVyIHJ0cCBjb2RlLgoKMjAxNS0wOC0xMiAxNDo1OTo1MyArMDEwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpc0BkZWJldGhlbmNvdXJ0LmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2NWRlcGF5LmM6CgkgIHJ0cGgyNjVkZXBheTogcHJldmVudCB0cnlpbmcgdG8gZ2V0IDAgYnl0ZXMgZnJvbSBhZGFwdGVyCgkgIFRoaXMgY2F1c2VzIGFuIGFzc2VydGlvbiBhbmQgd291bGQgbGVhZCB0byBnZXR0aW5nIGEgTlVMTCBpbnN0ZWFkCgkgIG9mIGEgYnVmZmVyLiBXaXRob3V0IHByb3BlciBjaGVja2luZyB0aGlzIHdvdWxkIGVhc2lseSBsZWFkIHRvIGEKCSAgc2VnZmF1bHQuCgkgIFJlbGF0ZWQgdG8gcnB0aDI2NGRlcGF5OiBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM3MTk5CgoyMDE1LTA3LTI5IDE3OjI5OjI4ICswMTAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzQGRlYmV0aGVuY291cnQuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBoMjY1cGF5LmM6CgkgIHJ0cDogcmVtb3ZlIGRlYWQgYXNzaWdubWVudAoJICBWYWx1ZSBzZXQgdG8gcmV0IHdpbGwgYmUgb3ZlcndyaXR0ZW4gYXQgbGVhc3Qgb25jZSBhdCB0aGUgZW5kIG9mIHRoZSB3aGlsZQoJICBsb29wLCByZW1vdmluZyBhc3NpZ25tZW50LgoKMjAxNS0wNC0yNCAxNjo0ODoyMyArMDEwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpcy5iZ0BzYW1zdW5nLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2NXBheS5jOgoJICByZW1vdmUgdW51c2VkIGVudW0gaXRlbXMgUFJPUF9MQVNUCgkgIFRoaXMgd2VyZSBwcm9iYWJseSBhZGRlZCB0byB0aGUgZW51bXMgZHVlIHRvIGNhcmdvIGN1bHQgcHJvZ3JhbW1pbmcgYW5kIGFyZQoJICB1bnVzZWQuCgoyMDE1LTAzLTA2IDE0OjU0OjQxICswMDAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzLmJnQHNhbXN1bmcuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBoMjY1ZGVwYXkuYzoKCSAgcnRwOiBkb25sX3ByZXNlbnQgdmFyaWFibGUgdW51c2VkCgkgIGRvbmxfcHJlc2VudCBpcyBub3QgaW1wbGVtZW50ZWQsIHlldCB0aGUgdmFsdWUgaXMgc2V0IGFuZCBjaGVja2VkIGEgZmV3IHRpbWVzLgoJICBDbGVhbmluZyB0aGlzLgoJICBDSUQgIzEyNDk2ODcKCjIwMTUtMDEtMDggMTU6MzY6MDQgKzAwMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXMuYmdAc2Ftc3VuZy5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjVwYXkuYzoKCSAgcnRwOiB2YWx1ZSB0cnVuY2F0ZWQgdG9vIHNob3J0IGNyZWF0ZXMgZGVhZCBjb2RlCgkgIHR5cGUgaXMgdHJ1bmNhdGVkIHRvIDAtMzEgd2l0aCAiJiAweDFmIiwgYnV0IHJpZ2h0IGFmdGVyIHRoYXQgaXQgaXMgY2hlY2tzIGlmCgkgIHRoZSB2YWx1ZSBpcyBlcXVpdmFsZW50IHRvIEdTVF9IMjY1X05BTF9WUFMsIEdTVF9IMjY1X05BTF9TUFMsIGFuZAoJICBHU1RfSDI2NV9OQUxfUFBTICh3aGljaCBhcmUgMzIsIDMzLCBhbmQgMzQgcmVzcGVjdGl2ZWx5KS4gT2J2aW91c2x5LCB0aGlzIHdpbGwKCSAgbmV2ZXIgYmUgVHJ1ZSBpZiB0aGUgdmFsdWUgaXMgbWF4aW11bSAzMSBhZnRlciB0aGUgdHJ1bmNhdGlvbi4KCSAgVGhlIGludGVudGlvbiBvZiB0aGUgY29kZSB3YXMgdG8gdHJ1bmNhdGUgdG8gMC02My4KCjIwMTUtMDEtMDggMTU6Mjc6NDQgKzAwMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXMuYmdAc2Ftc3VuZy5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjVkZXBheS5jOgoJICBydHA6IGZpeCBuYWwgdW5pdCB0eXBlIGNoZWNrCgkgIEFmdGVyIGZ1cnRoZXIgaW52ZXN0aWdhdGlvbiB0aGUgcHJldmlvdXMgY29tbWl0IGlzIHdyb25nLiBUaGUgY29kZSBpbnRlbmRlZCB0bwoJICBjaGVjayBpZiB0aGUgdHlwZSBpcyAzOSBvciB0aGUgcmFuZ2VzIDQxLTQ0IGFuZCA0OC01NS4gSnVzdCBsaWtlIGdzdGgyNjVwYXJzZS5jCgkgIGRvZXMuIFR5cGUgNDAgd291bGQgbm90IGJlIGNvbXBsZXRlLgoKMjAxNS0wMS0wOCAxMzo0NzowOSArMDAwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpcy5iZ0BzYW1zdW5nLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2NWRlcGF5LmM6CgkgIHJ0cDogZml4IGRlYWQgY29kZSBhbmQgY2hlY2sgZm9yIGltcG9zc2libGUgdmFsdWVzCgkgIG5hbF90eXBlIGlzIHRoZSBpbmRleCBmb3IgYSBHc3RIMjY1TmFsVW5pdFR5cGUgZW51bS4gVGhlcmUgYXJlIHR3byB0eXBlcyBvZiBkZWFkCgkgIGNvZGUgaGVyZToKCSAgRmlyc3QsIGFmdGVyIGNoZWNraW5nIGlmIG5hbF90eXBlIGlzID49IDM5IHRoZXJlIGFyZSB0d28gT1IgY29uZGl0aW9uYWxzIHRoYXQKCSAgY2hlY2sgaWYgdGhlIHZhbHVlIGlzIGluIHJhbmdlcyBoaWdoZXIgdGhhbiB0aGF0IG51bWJlciwgc28gaWYgbmFsX3R5cGUgPj0gMzkKCSAgZmFsbHMgaW4gdGhlIFRydWUgYnJhbmNoIHRob3NlIG90aGVyIGNvbmRpdGlvbnMgYXJlbid0IGNoZWNrZWQgYW5kIGlmIGl0IGZhbGxzCgkgIGluIHRoZSBGYWxzZSBicmFuY2ggYW5kIHRoZXkgYXJlIGNoZWNrZWQsIHRoZXkgd2lsbCBhbHdheXMgYWxzbyBiZSBGYWxzZS4gVGhleQoJICBhcmUgcmVkdW5kYW50LgoJICBTZWNvbmQsIHRoZSBlbnVtIGhhcyBhIHJhbmdlIG9mIDAgdG8gNDAuIFNvIHRoZSBjaGVja3MgZm9yIHJhbmdlcyBoaWdoZXIgdGhhbiA0MQoJICBzaG91bGQgbmV2ZXIgYmUgVHJ1ZS4KCSAgUmVtb3ZpbmcgdGhpcyByZWR1bmRhbnQgY2hlY2tzLgoJICBDSUQgMTI0OTY4NAoKMjAxNC0xMC0xNiAxMDozNDowMSArMDIwMCAgVGhpanMgVmVybWVpciA8dGhpanN2ZXJtZWlyQGdtYWlsLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2NWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2NWRlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2NXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjVwYXkuaDoKCSAgcnRwOiBhZGQgaDI2NSBSVFAgcGF5bG9hZGVyICsgZGVwYXlsb2FkZXIKCjIwMTYtMDItMTUgMTE6NTE6NDYgKzA5MDAgIFZpbmVldGggVE0gPHZpbmVldGgudG1Ac2Ftc3VuZy5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHBtdXguYzoKCSAgdGVzdHM6IHJ0cG11eDogRml4IGVsZW1lbnQgbWVtb3J5IGxlYWsKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2MjA1NwoKMjAxNi0wMi0xMiAyMDo1NzoyOSArMDEwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9tb25vc2NvcGUvbW9ub3Njb3BlLmM6CgkgIG1vbm9zY29wZTogcmV3b3JrIHRoZSBzY2FsaW5nIGNvZGUKCSAgVGhlIHJ1bm5pbmcgYXZlcmFnZSB3YXMgd3JvbmcgYW5kIHRoZSByZXN1bHRpbmcgc2NhbGluZyBmYWN0b3Igd2FzIG9ubHkgaGVsZCBpbgoJICBwbGFjZSB1c2luZyB0aGUgQ0xBTVAuIEluIGFkZHRpb24gd2UgYXJlIG5vdyBjb252ZXJpbmcgcXVpY2tseSB0byB2b2x1bWUKCSAgY2hhbmdlcy4KCSAgRkluYWxseSBub3cgd2l0aCB0aGlzIGNoYW5nZSwgd2UgY2FuIGNoYW5nZSB0aGUgcmVzb2x1dGlvbiBkZWZpbmVzIGFuZAoJICBldmVyeXRoaWduIGFkanVzdHMuCgoyMDE2LTAxLTI4IDE3OjAwOjU1ICswMTAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L21vbm9zY29wZS9jb252b2x2ZS5jOgoJKiBnc3QvbW9ub3Njb3BlL21vbm9zY29wZS5jOgoJKiBnc3QvbW9ub3Njb3BlL21vbm9zY29wZS5oOgoJICBtb25vc2NvcGU6IHVzZSBjb25zdGFudHMgaW4gdGhlIGRyYXdpbmcgY29kZQoJICBNYWtlIGFsbCB0aGUgZHJhd2luZyBvcHMgYmUgYmFzZWQgb24gdGhlIGNvbnN0YW50cy4gVGhpcyB3YXkgd2UgY2FuIGNoYW5nZQoJICB0aGUgZml4ZWQgc2l6ZSBhdCBsZWFzdCBhdCBjb21waWxlIHRpbWUuCgoyMDE2LTAxLTI4IDA5OjUxOjE3ICswMTAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L21vbm9zY29wZS9nc3Rtb25vc2NvcGUuYzoKCSAgbW9ub3Njb3BlOiByZXBsYWNlIGhhcmRjb2RlZCB2YWx1ZXMgYnkgY29uc3RhbnRzCgkgIFRoaXMgYXQgbGVhc3QgZXN0YWJsaXNoZXMgdGhlIHJlbGF0aW9uc2hpcC4KCjIwMTYtMDEtMjggMDk6NDM6MTIgKzAxMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvbW9ub3Njb3BlL2NvbnZvbHZlLmM6CgkqIGdzdC9tb25vc2NvcGUvY29udm9sdmUuaDoKCSogZ3N0L21vbm9zY29wZS9tb25vc2NvcGUuYzoKCSogZ3N0L21vbm9zY29wZS9tb25vc2NvcGUuaDoKCSAgbW9ub3NjcGU6IG1ha2UgdGhlIGNvbnZvbHZlciB1c2UgZHluYW1pYyBtZW1vcnkKCSAgUmVwbGFjZSBhbGwgI2RlZmluZXMgd2l0aCBtZW1iZXJzIGFuZCBpbml0aWFsaXplIHRoZSBjb252b2x2ZXIgd2l0aCBhIHBhcmFtZXRlci4KCjIwMTYtMDEtMjggMDg6NTY6NDQgKzAxMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvbW9ub3Njb3BlL1JFQURNRToKCSAgbW9ub3Njb3BlOiB1cGRhdGUgUkVBRE1FCgkgIFdlIGNhbiBhbHJlYWR5IGNyZWF0ZSBtdWx0aXBsZSBpbnN0YW5jZXMuCgoyMDE2LTAxLTI4IDA4OjUzOjM1ICswMTAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L21vbm9zY29wZS9jb252b2x2ZS5jOgoJKiBnc3QvbW9ub3Njb3BlL21vbm9zY29wZS5jOgoJICBtb25vc2NvcGU6IGNvZGUgY2xlYW51cAoJICBVc2UgY29uc3RhbnRzIG1vcmUgb2Z0ZW4uIENsZWFudXAgY29tbWVudHMgYW5kIGFkZCBtb3JlIHRvIGV4cGxhaW4gaG93IHRoaW5ncwoJICB3b3JrLgoKMjAxNi0wMi0wOCAyMzo0MTozMiArMDAwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpc2JnQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5jOgoJICBkZWludGVybGFjZTogcmVtb3ZlIGNoZWNrIGZvciBpbXBvc3NpYmxlIGNvbmRpdGlvbgoJICBDb21taXQgYmQyN2ExZjMwYjQ0NThmMmVkZWU1M2M3NmRkMDdmYjM1OTA0YjYxZCBhZGRlZCBhIGZldyBlcnJvciBoYW5kbGluZwoJICBtZW1vcnkgbWFuYWdlbWVudCBjaGVja3MuIFRoZXNlIGNoZWNrIHNyY2NhcHMgdG8gc2VlIGlmIGl0IG5lZWRzIHRvIGJlCgkgIHVucmVmZXJlbmNlZCBiZWZvcmUgcmV0dXJuaW5nLCBpbiB0aGUgY2FzZSBvZiBpbnZhbGlkX2NhcHMgdGhpcyBnb3RvIGp1bXAKCSAgYWx3YXlzIGhhcHBlbnMgYmVmb3JlIHNyY2NhcHMgaXMgc2V0LCBzbyBpdCB3aWxsIGFsd2F5cyBiZSBOVUxMIGluIHRoaXMKCSAgZXJyb3IgbGFiZWwuCgkgIENJRCAjMTM1MjAzNQoKMjAxNi0wMi0wOCAxMjo0ODo0NiArMDEwMCAgUGlvdHIgRHLEhWcgPHBpb3RyZHJhZ0BnbWFpbC5jb20+CgoJKiBwby9QT1RGSUxFUy5pbjoKCSAgcG86IHVwZGF0ZSBQT1RGSUxFUwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzYxNzA1CgoyMDE2LTAyLTA4IDE1OjMxOjU1ICswMDAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzYmdAb3NnLnNhbXN1bmcuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmFsbG9jYXRvci5jOgoJICB2NGwyYWxsb2NhdG9yOiBGaXggc3BlbGxpbmcgb2YgcmVlbnF1ZXVlaW5nCgkgIFRvIG1hdGNoIGNvbW1pdCA3ZDcwNzRjZWYwMjcyY2Q1MTU1MDk4YmZjMmJkYTY4NDlkZDg5MjY3LiBJIGxvdmUgdGhlIGlkZWEKCSAgb2YgYWltaW5nIGZvciB0aGUgbWF4aW11bSBudW1iZXIgb2YgY29uc2VjdXRpdmUgdm93ZWxzLgoKMjAxNi0wMi0wOCAxMDoxNzo0OSAtMDUwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmFsbG9jYXRvci5jOgoJICB2NGwyYWxsb2NhdG9yOiBGaXggc3BlbGxpbmcgb2YgcXVldWVpbmcKCSAgRGlkbid0IGtub3cgd2hpY2ggb25lIHRvIGNob29zZSBiZXR3ZWVuIHF1ZXVpbmcgYW5kIHF1ZXVlaW5nLCBzbyBJIHBpY2tlZAoJICB0aGUgb25lIHdpdGggdGhlIGJpZ2dlc3QgYW1vdW50IG9mIHZvd2VscyBpbiBhIHJvdyA7LVAgKGJvdGggYXJlCgkgIGFjY2VwdGFibGUgYXBwYXJlbnRseSkKCjIwMTYtMDItMDcgMTU6MDI6MzUgLTA1MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9qcGVnL2dzdGpwZWdkZWMuYzoKCSAganBlZ2RlYzogRG9uJ3QgcGFzcyB0aGUgc2FtZSBkYXRhIG92ZXIgYW5kIG92ZXIKCSAgV2UgYWxyZWFkeSBwYXNzIHRoZSBlbnRpcmUgZnJhbWUgdG8gdGhlIGRlY29kZXIuIElmIHRoZSBkZWNvZGVyIGFzayBmb3IKCSAgbW9yZSBkYXRhLCBkb24ndCBwYXNzIHRoZSBzYW1lIGRhdGEgYWdhaW4gYXMgdGhpcyBsZWFkcyB0byBpbmZpbml0IGxvb3AuCgkgIEluc3RlYWQsIHNpbXBseSBmYWlsIHRoZSBmaWxsIGZ1bmN0aW9uIHRvIHNpZ25hbCB0aGUgcHJvYmxlbSB3aXRoIHRoYXQKCSAgZnJhbWUuIEl0IHdpbGwgdGhlbiBiZSBza2lwcGVkIHByb3Blcmx5LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzYxNjcwCgoyMDE2LTAyLTA4IDAwOjEwOjMzICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L21hdHJvc2thL2x6by5jOgoJICBtYXRyb3NrYTogZ2V0IHJpZCBvZiBfc3RkaW50LmggaW5jbHVkZQoKMjAxNi0wMi0wNSAyMDowMDo1NyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgIHRlc3RzOiBleHRlbmQgdGhlIEFNX1RFU1RTX0VOVklST05NRU5UIGZyb20gY2hlY2subWFrCgkgIFRvIGdldCB0aGUgQ0tfREVGQVVMVF9USU1FT1VUIGRlZmluZWQgZm9yIGFsbCB0ZXN0cwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzYxNDcyCgoyMDE2LTAyLTA1IDE4OjA0OjMxIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBhdXRvZ2VuLnNoOgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIDg2ZTQ2NjMgdG8gYjY0ZjAzZgoKMjAxNi0wMS0zMCAxODo0MzozMCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwanBlZ3BheS5jOgoJICBydHBqcGVncGF5OiBTa2lwIEFQUCBhbmQgSlBHIG1hcmtlcnMgYW5kIHByaW50IHdhcm5pbmdzIGZvciB1bmtub3duIG1hcmtlcnMKCSAgRm9yIEFQUC9KUEcgbWFya2VycyB0aGUgc2l6ZSBpcyBmb2xsb3dpbmcgYW5kIHdlIGhhdmUgdG8gc2tpcCB0aGF0LiBUaGlzIGlzCgkgIG5vdCByZWFsbHkgYSBwcm9ibGVtIHVubGVzcyB0aGUgbWFya2VyIGNvbnRhaW5zIGUuZy4gYSBwcmV2aWV3IEpQRUcgb3IKCSAgc29tZXRoaW5nIGVsc2UgdGhhdCB3ZSBtaWdodCBpbnRlcnByZXRlIGFzIGFub3RoZXIgbWFya2VyLgoKMjAxNi0wMS0yNiAyMjozNzozMCArMDkwMCAgU2V1bmdoYSBZYW5nIDxzaC55YW5nQGxnZS5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogZml4IGZyYW1lcmF0ZSBjYWxjdWxhdGlvbiBmb3IgZnJhZ21lbnRlZCBmb3JtYXQKCSAgcXRkZW11eCBjYWxjdWxhdGVzIGZyYW1lcmF0ZSB1c2luZyBkdXJhdGlvbiBhbmQgdGhlIG51bWJlciBvZiBzYW1wbGUuCgkgIEluIGNhc2Ugb2YgZnJhZ21lbnRlZCBtcDQgZm9ybWF0LCBob3dldmVyLCB0aGUgbnVtYmVyIG9mIHNhbXBsZSBjYW4KCSAgYmUgZmlndXJlIG91dCBhZnRlciBwYXJzaW5nIGV2ZXJ5IG1vb2YgYm94LiBCZWNhdXNlIHF0ZGVtdXggZG9lcyBub3QKCSAgcGFyc2UgZXZlcnkgbW9vZiBpbiBRVERFTVVYX1NUQVRFX0hFQURFUiBzdGF0ZSwgaXQgd2lsbCBjYXVzZSBpbmNvcnJlY3QKCSAgZnJhbWVyYXRlIGNhbGN1bGF0aW9uLgoJICBUaGlzIHBhdGNoIHdpbGwgdHJpZ2VyIGdzdF9xdGRlbXV4X2NvbmZpZ3VyZV9zdHJlYW0oKSBmb3IgZXZlcnkgbmV3IG1vb2YuCgkgIFRoZW4sIGZyYW1lcmF0ZSB3aWxsIGJlIGNhbGN1bGF0ZWQgYnkgdXNpbmcgZHVyYXRpb24gYW5kIG5fc2FtcGxlcyBvZiB0aGUgbW9vZi4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2MDc3NAoKMjAxNi0wMS0yOCAyMjozNjoyMyArMDkwMCAgU2V1bmdoYSBZYW5nIDxzaC55YW5nQGxnZS5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogaGFuZGxpbmcgemVybyBzZWdtZW50LWR1cmF0aW9uIGVkaXQgbGlzdAoJICBCYXNlZCBvbiBkb2N1bWVudCBJU09fSUVDXzE0NDk2LTEyLCBlZGl0IGxpc3QgYm94IGNhbiBoYXZlCgkgIHNlZ21lbnQgZHVyYXRpb24gYXMgemVyby4gSXQgZG9lcyBub3QgaW1wbHkgdGhhdCBtZWRpYV9zdGFydCBlcXVhbHMgdG8KCSAgbWVkaWFfc3RvcC4gQnV0LCBpdCBqdXN0IGluZGljYXRlcyBhIHNhbXBsZSB3aGljaCBzaG91bGQgYmUgcHJlc2VudGVkCgkgIGF0IHRoZSBmaXJzdC4gVGhpcyBwYXRjaCBkZXJpdmVzIHNlZ21lbnQgZHVyYXRpb24gdXNpbmcgbWVkaWFfdGltZQoJICBhbmQgZHVyYXRpb24gb2YgZmlsZS4gQW5kIHNldCBkZXJpdmVkIGR1cmF0aW9uIHRvIHNlZ21lbnQtZHVyYXRpb24uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjA3ODEKCjIwMTYtMDEtMjggMjE6MzY6NTQgKzA5MDAgIFNldW5naGEgWWFuZyA8c2gueWFuZ0BsZ2UuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkqIGdzdC9pc29tcDQvcXRkZW11eC5oOgoJICBxdGRlbXV4OiBleHBvc2Ugc3RyZWFtcyB3aXRoIGZpcnN0IG1vb2YgZm9yIGZyYWdtZW50ZWQgZm9ybWF0CgkgIEluIGNhc2Ugb2YgcHVzaCBtb2RlLCBxdGRlbXV4IGV4cG9zZSBzdHJlYW1zIGFmdGVyIGdvdCBtb292IGJveC4KCSAgV2UgY2FuIG5vdCBndWFyYW50ZWUgdGhhdCBhIG1vb3YgYm94IGhhcyBzYW1wbGUgZGF0YSBzdWNoIGFzIHNhbXBsZSBkdXJhdGlvbgoJICBhbmQgdGhlIG51bWJlciBvZiBzYW1wbGUgaW4gc3RibCBib3ggZm9yIGZyYWdtZW50ZWQgZm9ybWF0IGNhc2UuCgkgIFNvLCBpZiBhIG1vb3YgaGFzIG5vIHNhbXBsZSBkYXRhLCBzdHJlYW1zIHdpbGwgbm90IGJlIGV4cG9zZWQgdW50aWwgZ2V0IHRoZSBmaXJzdCBtb29mLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzYwNzc5CgoyMDE2LTAxLTI3IDE4OjQ4OjE3ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmM6CgkgIGRlaW50ZXJsYWNlOiBDaGVjayBmb3Igc3Vic2V0IGluc3RlYWQgb2Ygbm9uLWVtcHR5IGludGVyc2VjdGlvbiBmb3IgQUNDRVBUX0NBUFMKCjIwMTYtMDEtMjcgMTg6NDQ6MjMgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuYzoKCSAgZGVpbnRlcmxhY2U6IFVuc2V0IFJFQ09ORklHVVJFIGZsYWcgb24gc3JjcGFkIHdoZW5ldmVyIHdlIGNvbmZpZ3VyZSBuZXcgY2FwcwoJICBQcmV2ZW50cyBkb3VibGUtbmVnb3RpYXRpb24gZHVyaW5nIHN0YXJ0dXAgYW5kIGluIHNvbWUgb3RoZXIgY2FzZXMuCgoyMDE2LTAxLTI3IDE2OjQzOjIyICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZGVpbnRlcmxhY2UuYzoKCSAgZGVpbnRlcmxhY2U6IEFkZCBuZWdvdGlhdGlvbiB1bml0IHRlc3RzIGZvciBhbGwgNCBtb2RlcwoJICBUaGVzZSBub3cgY2hlY2sgdGhlIG91dHB1dCBjYXBzIGJhc2VkIG9uIHRoZSBpbnB1dCBjYXBzIGFuZCBhIGZvbGxvd2luZwoJICBjYXBzZmlsdGVyIGFuZCBtYWtlIHN1cmUgdGhlIGNhcHMgYXJlIGV4YWN0bHkgYXMgZXhwZWN0ZWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjA5OTUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyMDM4OAoKMjAxNi0wMS0yNiAxNzozOToyMCArMDEwMCAgVml2aWEgTmlrb2xhaWRvdSA8dml2aWFAdG9vbHNvbmFpci5jb20+CgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuYzoKCSAgZGVpbnRlcmxhY2U6IERvIHBhc3N0aHJvdWdoIGluIGF1dG8gbW9kZSBpZiBkb3duc3RyZWFtIG9ubHkgc3VwcG9ydHMgaW50ZXJsYWNlZAoJICBJZiB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDoKCSAgMSkgdXBzdHJlYW0gYW5kIGRvd25zdHJlYW0gY2FwcyBhcmUgY29tcGF0aWJsZQoJICAyKSB1cHN0cmVhbSBpcyBpbnRlcmxhY2VkCgkgIDMpIGRvd25zdHJlYW0gZG9lc24ndCBzdXBwb3J0IHByb2dyZXNzaXZlIG1vZGUKCSAgdGhlbiBkZWludGVybGFjZSB3aWxsIGp1c3QgZG8gcGFzc3Rocm91Z2ggaW5zdGVhZCBvZiBmYWlsaW5nIHRvIGxpbmsuCgkgIFRoaXMgaXMgZG9uZSB3aXRoIHRoZSBmb2xsb3dpbmcgc2NlbmFyaW8gaW4gbWluZDoKCSAgdmlkZW90ZXN0c3JjICEgInZpZGVvL3gtcmF3LGludGVybGFjZS1tb2RlPWludGVybGVhdmVkIiAhIGRlaW50ZXJsYWNlCgkgIG5hbWU9ZGVpbl9zcmMgISB0ZWUgbmFtZT10ICEgcXVldWUgISBkZWludGVybGFjZSBuYW1lPWRlaW5fZmlsZSAhIGZpbGVzaW5rIHQuICEKCSAgcXVldWUgISBkZWludGVybGFjZSBuYW1lPWRlaW5fZGVza3RvcCAhIGF1dG92aWRlb3NpbmsKCSAgSW4gdGhpcyBjYXNlLCBkZWluX3NyYyB3aWxsIGRvIHRoZSBkZWludGVybGFjaW5nLiBIb3dldmVyLAoJICB2aWRlb3Rlc3RzcmMgISAidmlkZW8veC1yYXcsaW50ZXJsYWNlLW1vZGU9aW50ZXJsZWF2ZWQiICEgZGVpbnRlcmxhY2UKCSAgbmFtZT1kZWluX3NyYyAhIHRlZSBuYW1lPXQgISBxdWV1ZSAhIGRlaW50ZXJsYWNlIG5hbWU9ZGVpbl9maWxlICEgZmlsZXNpbmsgdC4gIQoJICBxdWV1ZSAhIGRlaW50ZXJsYWNlIG5hbWU9ZGVpbl9kZXNrdG9wICEgYXV0b3ZpZGVvc2luayB0LiAhIHF1ZXVlICEKCSAgInZpZGVvL3gtcmF3LGludGVybGFjZS1tb2RlPWludGVybGVhdmVkIiAhIGZha2VzaW5rCgkgIEluIHRoaXMgY2FzZSwgY2FwcyBhdXRvLW5lZ290aWF0aW9uIHdpbGwgbWFrZSBkZWluX2ZpbGUgYW5kIGRlaW5fZGVza3RvcCBkbwoJICB0aGUgZGVpbnRlcmxhY2luZywgd2hpbGUgZGVpbl9zcmMgd2lsbCBiZSBwYXNzdGhyb3VnaC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2MDk5NQoKMjAxNi0wMS0yNiAxODowNTo1MSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuaDoKCSAgZGVpbnRlcmxhY2U6IEFkZCBtb2RlPWF1dG8tc3RyaWN0CgkgIEluIHRoaXMgbW9kZSB3ZSB3aWxsIHBhc3N0aHJvdWdoIGFsbCBwcm9ncmVzc2l2ZSBjYXBzIGJ1dCBpbnRlcmxhY2VkIGNhcHMgbXVzdCBiZQoJICBjYXBzIHdoZXJlIHdlIGFjdHVhbGx5IHN1cHBvcnQgZGVpbnRlcmxhY2luZy4KCSAgVGhpcyBpcyB0aGUgb25seSBkaWZmZXJlbmNlIGJldHdlZW4gYXV0byBhbmQgYXV0by1zdHJpY3QsIGF1dG8gd291bGQKCSAgcGFzc3Rocm91Z2ggYWxsIHVuc3VwcG9ydGVkIGludGVybGFjZWQgY2Fwcy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyMDM4OAoKMjAxNi0wMS0yNiAxNzo1MDozMCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5jOgoJICBkZWludGVybGFjZTogSW1wbGVtZW50IHJlY29uZmlndXJhdGlvbiBhIGJpdCBiZXR0ZXIKCSAgQW5kIGUuZy4gY29uc2lkZXIgcmVjb25maWd1cmF0aW9uIGNhdXNlZCBieSBSRUNPTkZJR1VSRSBldmVudHMgdG9vLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzIwMzg4CgoyMDE2LTAxLTI2IDExOjU3OjA5ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmM6CgkgIGRlaW50ZXJsYWNlOiBSZXdyaXRlIGNhcHMgbmVnb3RpYXRpb24KCSAgUHJldmlvdXNseSB0aGUgcmVzdWx0IG9mIHRoZSBDQVBTIHF1ZXJ5IGFuZCBBQ0NFUFRfQ0FQUyBkZXBlbmRlZCBvbiB3aGF0IGtpbmQKCSAgb2YgY2FwcyB3ZXJlIGxhc3Qgc2V0LCBhbmQgZS5nLiBpZiB3ZSBsYXN0IGhhZCBpbnRlcmxhY2VkIGNhcHMgb3Igbm90LiBUaGF0J3MKCSAganVzdCBicm9rZW4uCgkgIEFsc28gcHJldmlvdXNseSB0aGUgaGFuZGxpbmcgb2Ygbm9uLXN5c21lbSBjYXBzIGZlYXR1cmVzIHdhcyByYXRoZXIgcmFuZG9tIGFuZAoJICB1bnVzdWFibGUuCgkgIE5vdyB0aGUgYmVoYXZpb3VyIGlzIHRoZSBmb2xsb3dpbmcsIGRlcGVuZGluZyBvbiB0aGUgbW9kZSBwcm9wZXJ0eToKCSAgMSkgbW9kZT1kaXNhYmxlZAoJICBDb21wbGV0ZWx5IGRvIHBhc3N0aHJvdWdoIG9mIGV2ZXJ5dGhpbmcKCSAgMikgbW9kZT1pbnRlcmxhY2VkCgkgIE9ubHkgYWNjZXB0IGZvcm1hdHMgd2UgY2FuIGFjdHVhbGx5IGRlaW50ZXJsYWNlLCBhbmQgYWNjZXB0IGludGVybGFjZWQKCSAgYW5kIHByb2dyZXNzaXZlIGNvbnRlbnQgYW5kIGFsd2F5cyBydW4gdGhlIGRlaW50ZXJsYWNlciBhbmQgb3V0cHV0CgkgIHByb2dyZXNzaXZlIGNvbnRlbnQKCSAgMykgbW9kZT1hdXRvIChpLmUuIHBsYXliaW4pCgkgIEFjY2VwdCBhbGwgcHJvZ3Jlc3NpdmUgZm9ybWF0cyBhcyBwYXNzdGhyb3VnaCwgYWNjZXB0IGFsbCBmb3JtYXRzIHRoYXQgd2UKCSAgY2FuIGRlaW50ZXJsYWNlIG91cnNlbHZlcyAod2hpY2ggd2UgZG8gdGhlbiksIGJ1dCBhbHNvIGFjY2VwdCBldmVyeXRoaW5nCgkgIGVsc2UgZm9yIHdoaWNoIHdlIHRoZW4ganVzdCBwYXNzdGhyb3VnaC4gSW4gYXV0byBtb2RlLCBkZWludGVybGFjaW5nIGlzIGJlc3QKCSAgZWZmb3J0OiBJZiB3ZSBjYW4sIHdlIGRlaW50ZXJsYWNlLCBpZiB3ZSBjYW4ndCB3ZSBqdXN0IG91dHB1dCBpbnRlcmxhY2VkCgkgIGNvbnRlbnQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjAzODgKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2MDU1MwoKMjAxNi0wMS0yNiAxMTozNDo0MCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5jOgoJICBkZWludGVybGFjZTogUmVtb3ZlIHVudXNlZCwgb2Jzb2xldGUgYnVmZmVyYWxsb2MgY29kZQoKMjAxNi0wMS0yNiAxODo1MDozOCArMDEwMCAgTWF0ZWogS25vcHAgPG1hdGVqLmtub3BwQGdtYWlsLmNvbT4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSAgbWF0cm9za2FtdXg6IHVzZSBBX0FBQyBpbnN0ZWFkIG9mIEFfQUFDL01QRUd4L3kKCSAgU29tZSBHb29nbGVDYXN0IGNvbXBhdGlibGUgZGV2aWNlcyBpZ25vcmUgQV9BQUMvTVBFR3gveSB0cmFja3M7IEFsc28gYWNjb3JkaW5nIHRvIGh0dHA6Ly93aWtpLm11bHRpbWVkaWEuY3gvaW5kZXgucGhwP3RpdGxlPU1hdHJvc2thIEFfQUFDL01QRUd4L3kgaXMgb2Jzb2xldGUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2MTE0NAoKMjAxNi0wMS0yNSAxNzoyMToyNCArMDEwMCAgVsOtY3RvciBNYW51ZWwgSsOhcXVleiBMZWFsIDx2amFxdWV6QGlnYWxpYS5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSogZ3N0L3J0cC9nc3RydHBoMjYxcGF5LmM6CgkgIGdzdDogRml4IHVuaW50aWFsaXplZCB2YXJpYWJsZSB3YXJuaW5ncwoJICBXaGlsZSBjcm9zcy1jb21waWxpbmcgd2l0aCBMaW5hcm8gR0NDIDUuMS0yMDE1LjA4LCBpdCBjb21wbGFpbmVkCgkgIGFib3V0IGEgY291cGxlIHVuaXRpYWxpemVkIHZhcmlhYmxlcy4KCSAgVGhpcyBwYXRjaCBpbml0aWFsaXplcyB0aGVtIHRvIHplcm8uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjEwOTQKCjIwMTYtMDEtMjUgMTU6MDM6MjMgKzAxMDAgIEdlb3JnZSBLaWFnaWFkYWtpcyA8Z2VvcmdlLmtpYWdpYWRha2lzQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvbXVsdGlmaWxlL2dzdHNwbGl0bXV4cGFydHJlYWRlci5jOgoJICBzcGxpdG11eHNyYzogcHJpbnQgcG90ZW50aWFsbHkgbmVnYXRpdmUgb2Zmc2V0IHdpdGggYSBzaWduCgoyMDE2LTAxLTIxIDE3OjQxOjU1IC0wNTAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIHY0bDI6IFJlLWFkZCBjb2xvcmltZXRyeSBmaWVsZCBmb3IgUkdCIGZvcm1hdHMKCSAgVGhpcyB0aW1lLCBjaGVjayBpZiBpdCdzIGFuIFJHQiBmb3JtYXQgYW5kIHNldHMgdGhlIHRyYW5zZm9ybWF0aW9uCgkgIG1hdHJpeCB0byBpZGVudGl0eS4gVGhlIHJlc3Qgb2YgdGhlIGNvbG9yaW1ldHJ5IGluZm9ybWF0aW9uIGlzCgkgIG1lYW5pbmdmdWxsIGFuZCBzaGFsbCBiZSBrZXB0LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU5NjI0CgoyMDE2LTAxLTIyIDEwOjAzOjUwICswMTAwICBXaW0gVGF5bWFucyA8d3RheW1hbnNAcmVkaGF0LmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgdjRsMjogZml4IHNSR0IgY29sb3JzcGFjZSBkZWZpbml0aW9uCgkgIFY0bDIgY2FuIGFsc28gdXNlIHRoZSBzUkdCIGNvbG9yc3BhY2UgZm9yIFlVViBmb3JtYXRzIGFuZCB0aHVzIG5lZWRzIGEKCSAgZGVmYXVsdCBtYXRyaXguCgoyMDE2LTAxLTIxIDE1OjI5OjQ2ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0dGFnaW5qZWN0LmM6CgkgIHRhZ2luamVjdDogZml4IHNhbXBsZSBwaXBlbGluZSBpbiBkb2NzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02Nzk1NzEKCjIwMTYtMDEtMjEgMTA6NDk6NDQgKzAxMDAgIFdpbSBUYXltYW5zIDx3dGF5bWFuc0ByZWRoYXQuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICB2NGwyOiBBZGQgYWRvYmUgY29sb3JzcGFjZSBzdXBwb3J0CgkgIFVzZSB0aGUgbmV3IHByaW1hcmllcyBhbmQgdHJhbnNmZXIgZnVuY3Rpb24gZm9yIEFkb2JlIFJHQi4KCSAgRXhwbGljaXRseSBsaXN0IHRoZSBjb2xvcmltZXRyeSBpbnN0ZWFkIG9mIHVzaW5nIHRoZSBkZWZhdWx0IEdTdHJlYW1lcgoJICBvbmVzLiBUaGUgZGVmYXVsdHMgZm9yIEJUMjAyMCwgZm9yIGV4YW1wbGUsIGRvIG5vdCBtYXRjaC4KCSAgRXhwbGljaXRseSBzZXQgdGhlIG1hdHJpeCBvZiBTUkdCIHRvIFJHQi4KCjIwMTYtMDEtMjAgMTM6NDE6MzMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvdnB4L2dzdHZwOGVuYy5jOgoJICB2cDhlbmM6IEVuc3VyZSB0aGF0IHdlIGFsd2F5cyBoYXZlIHZhbGlkIGZyYW1lIHVzZXIgZGF0YSBiZWZvcmUgdXNpbmcgaXQKCSAgT3RoZXJ3aXNlIHdlJ3JlIGdvaW5nIHRvIGRlcmVmZXJlbmNlIE5VTEwgcG9pbnRlcnMuCgoyMDE2LTAxLTIwIDEwOjAyOjQ4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3ZweC9nc3R2cHhkZWMuYzoKCSAgdnB4ZGVjOiBVbnJlZiBmcmFtZSBpbiBhbGwgY29kZSBwYXRocyBvZiBoYW5kbGVfZnJhbWUoKQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzYwNjY2CgoyMDE2LTAxLTE5IDIyOjQ5OjIwICswMTAwICBUaGliYXVsdCBTYXVuaWVyIDx0c2F1bmllckBnbm9tZS5vcmc+CgoJKiBleHQvdnB4L2dzdHZweGVuYy5jOgoJICB2cHhlbmM6IFVucmVmIGZyYW1lIG9uIEVSUk9SCgkgIEFsbCBjb2RlIHBhdGhzIGZvciBoYW5kbGVfZnJhbWUoKSBtdXN0IHNvbWVob3cgdGFrZSBvd25lcnNoaXAgb2YgdGhlIGZyYW1lLCBiZQoJICBpdCBieSBhY3R1YWxseSB1bnJlZmZpbmcsIGZvcndhcmRpbmcgdGhlIGZyYW1lIGVsc2V3aGVyZSBvciBzdG9yaW5nIGl0IGZvcgoJICBsYXRlci4KCSAgaHR0cDovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzYwNjY2CgoyMDE2LTAxLTIwIDE4OjIwOjQzICsxMTAwICBKYW4gU2NobWlkdCA8amFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJkZXZpY2Vwcm92aWRlci5jOgoJICB2NGwyOiBEb24ndCBmcmVlIHByb3BzIHN0cnVjdHVyZSB0d2ljZS4KCSAgZ3N0X3Y0bDJfZGV2aWNlX3Byb3ZpZGVyX3Byb2JlX2RldmljZSgpIGZyZWVzIHRoZSBwYXNzZWQgcHJvcHMKCSAgc3RydWN0dXJlLCBkb24ndCBmcmVlIGl0IGFnYWluIGluIHRoZSBjYWxsZXIuCgoyMDE2LTAxLTE5IDE1OjE1OjM1IC0wNTAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIHY0bDJvYmplY3Q6IENsZWFudXAgdW5lZWRlZCByZXR1cm4gc3RhdGVtZW50CgoyMDE2LTAxLTE5IDE1OjE0OjU5IC0wNTAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIHY0bDJvYmplY3Q6IERvbid0IHNldCBjb2xvcmltZXRyeSBmb3Igbm9uIFlVViBmb3JtYXRzCgkgIFNldHRpbmcgY29sb3JtZXRyeSBpbiBjYXBzIGZvciBSR0IgaGF2ZSBubyBtZWFuaW5nLCBidXQgd29yc3QgaXQKCSAgY29uZnVzZXMgdGhlIGNvbnZlcnRlcnMgZG93bnN0cmVhbS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1OTYyNAoKMjAxNi0wMS0xOSAxMzowMToxNyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwY2hhbm5lbHMuYzoKCSogZ3N0L3J0cC9nc3RydHBjaGFubmVscy5oOgoJICBydHA6IGZpeCBjb21waWxlciB3YXJuaW5ncyB3aXRoIGdjYy02CgkgIEluIGZpbGUgaW5jbHVkZWQgZnJvbSBnc3RydHBMMTZkZXBheS5oOjI3OjAsCgkgIGZyb20gZ3N0cnRwLmM6NzM6CgkgIGdzdHJ0cGNoYW5uZWxzLmg6MTU0OjMzOiBlcnJvcjogJ2NoYW5uZWxfb3JkZXJzJyBkZWZpbmVkIGJ1dCBub3QgdXNlZCBbLVdlcnJvcj11bnVzZWQtY29uc3QtdmFyaWFibGVdCgkgIHN0YXRpYyBjb25zdCBHc3RSVFBDaGFubmVsT3JkZXIgY2hhbm5lbF9vcmRlcnNbXSA9CgoyMDE2LTAxLTE5IDE0OjU3OjAzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6CgkgIHdhdnBhcnNlOiBEb24ndCBwbGF5IGFueXRoaW5nIGFmdGVyIHRoZSBlbmQgb2YgdGhlIGRhdGEgY2h1bmsgZXZlbiB3aGVuIHNlZWtpbmcKCSAgRXNwZWNpYWxseSBpbiBwdXNoIG1vZGUgd2Ugd291bGQgY29tcGxldGVseSBpZ25vcmUgdGhlIHNpemUgb2YgdGhlIGRhdGEgY2h1bmsKCSAgd2hlbiBub3Qgc3RvcCBwb3NpdGlvbiBpcyBnaXZlbiBmb3IgdGhlIHNlZWsuIEluc3RlYWQgbWFrZSBzdXJlIHRoYXQgdGhlIGVuZAoJICBvZmZzZXQgaXMgYXQgbW9zdCB0aGUgZW5kIG9mIHRoZSBkYXRhIGNodW5rIGlmIGtub3duLgoJICBXaXRob3V0IHRoaXMgd2Ugd291bGQgb3V0cHV0IGFueXRoaW5nIGFmdGVyIHRoZSBkYXRhIGNodW5rLCBwb3NzaWJseSBjYXVzaW5nCgkgIGxvdWQgbm9pc2VzIGlmIHRoZSBtZWRpYSBmaWxlIGlzIGZvbGxvd2VkIGJ5IGFuIElORk8gY2h1bmsgb3IgYW4gSUQzIHRhZy4KCjIwMTYtMDEtMTkgMTQ6NTU6NTcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzoKCSAgd2F2cGFyc2U6IERvbid0IGRvIGNhbGN1bGF0aW9ucyB3aXRoIC0xIG9mZnNldHMgd2hlbiBoYW5kbGluZyBTRUdNRU5UIGV2ZW50cwoJICBXZSB1c2UgdGhhdCB0byBzaWduYWwgImluZmluaXR5IiwgdGFraW5nIHRoZSBkaWZmZXJlbmNlIGJldHdlZW4gdGhhdCBhbmQgc29tZQoJICBvdGhlciB2YWx1ZSBpcyBub3QgZ29pbmcgdG8gZ2l2ZSB1cyBhbnkgdXNlZnVsIHJlc3VsdCBmb3IgdGhlIGVuZCBvZmZzZXRzIG9mCgkgIHNlZ21lbnRzLgoKMjAxNi0wMS0xOCAxMTozMDo0NSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBqaXR0ZXJidWZmZXIuYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwaml0dGVyYnVmZmVyLmg6CgkgIFJldmVydCAiV0lQOiBydHBqaXR0ZXJidWZmZXI6IEFkZCBSRkM3MjczIG1lZGlhIGNsb2NrIGhhbmRsaW5nIgoJICBUaGlzIHJldmVydHMgY29tbWl0IDI3MTUwMWY2NTc2ZGU0ZDE0MWU3YzJmNjE4ZTI4YjllM2IxZTViMzguCgkgIEl0IHdhc24ndCBtZWFudCB0byBiZSBwdXNoZWQgeWV0IGFzIHRoZSBjb21taXQgbWVzc2FnZSBpbmRpY2F0ZXMuCgoyMDE2LTAxLTEyIDE0OjAxOjIxIC0wODAwICBBbGVpeCBDb25jaGlsbG8gRmxhcXXDqSA8YWNvbmNoaWxsb0BnbWFpbC5jb20+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IGhhbmRsZSBydGNwL3NydGNwIGNhcHMgcHJvcGVybHkgd2hlbiB1c2luZyBpbnRlcmxlYXZlZCBkYXRhCgkgIFdlIGNoZWNrIHRoZSBzdHJlYW0gcHJvZmlsZSBhbmQgdXNlIHRoZSBwcm9wZXIgUlRDUCBjYXBzOgoJICBhcHBsaWNhdGlvbi94LXNydGNwIGlmIHdlIGFyZSB1c2luZyBhIHNlY3VyZSBwcm9maWxlIGFuZAoJICBhcHBsaWNhdGlvbi94LXJ0Y3Agb3RoZXJ3aXNlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzYwNTU2CgoyMDE2LTAxLTA1IDE2OjE1OjE2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cGppdHRlcmJ1ZmZlci5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBqaXR0ZXJidWZmZXIuaDoKCSAgV0lQOiBydHBqaXR0ZXJidWZmZXI6IEFkZCBSRkM3MjczIG1lZGlhIGNsb2NrIGhhbmRsaW5nCgoyMDE2LTAxLTE1IDExOjM2OjM1ICswMDAwICBUaGliYXVsdCBTYXVuaWVyIDx0c2F1bmllckBnbm9tZS5vcmc+CgoJKiBleHQvdnB4L2dzdHZweGVuYy5jOgoJICB2cDhlbmM6IFJldHVybiBGTE9XX0VSUk9SIHdoZW4gYW4gZXJyb3IgYWNjdXJlcwoJICBGQUxTRSB3b3VsZCBtZWFuIEZMT1dfT0sKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2MDY2NgoKMjAxNi0wMS0xNSAwMzo1Nzo0NSArMDUzMCAgTmlyYmhlZWsgQ2hhdWhhbiA8bmlyYmhlZWtAY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGNvcmVhdWRpb2hhbC5jOgoJICBvc3hhdWRpbzogYnJlYWsgYXMgc29vbiBhcyB0aGUgZGV2aWNlIGlzIGZvdW5kCgkgIE5vIG5lZWQgdG8gbG9vcCBmdXJ0aGVyIGlmIHRoZXJlJ3Mgbm8gc2lkZS1lZmZlY3RzIGZvciBpdAoKMjAxNi0wMS0xNSAwMzo1Njo0OSArMDUzMCAgTmlyYmhlZWsgQ2hhdWhhbiA8bmlyYmhlZWtAY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGF1ZGlvcmluZ2J1ZmZlci5jOgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4Y29yZWF1ZGlvaGFsLmM6CgkgIG9zeGF1ZGlvOiBGaXggZXJyb3IgaGFuZGxpbmcgd2hlbiBzZWxlY3Rpbmcvb3BlbmluZyBkZXZpY2VzCgkgIFBvc3QgYW4gZWxlbWVudCBlcnJvciB3aGVuIHRoZSBDb3JlQXVkaW8gZGV2aWNlIGNhbm5vdCBiZSBzZWxlY3RlZCBvciBvcGVuZWQuCgkgIEFsc28gZW5zdXJlIHRoYXQgd2UgcG9zdCBhIEdTVF9FUlJPUiB3aXRoIG1vcmUgZGV0YWlsLgoKMjAxNi0wMS0xMyAyMzo0MDoyMCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOgoJICB3YXZwYXJzZTogV2hlbiBmbHVzaGluZyBvbiBFT1MsIGRvbid0IHByb2Nlc3MgbW9yZSBkYXRhIHRoYW4gdGhlICJkYXRhIiBzaXplCgkgIEV2ZW4gaWYgd2UgaGF2ZSBtb3JlIGRhdGEgcXVldWVkIHVwIHdoZW4gZmx1c2hpbmcgdGhhbiB0aGUgc2l6ZSBvZiB0aGUgZGF0YQoJICBjaHVuaywgZG9uJ3QgcHJvY2VzcyBhbmQgb3V0cHV0IGl0LiBJZiB0aGUgZGF0YSBzaXplIGlzIGtub3duLCB0aGlzIGxpa2VseQoJICBjb250YWlucyBhbm90aGVyIGNodW5rIChlLmcuIGFuIElORk8gY2h1bmspIG9yIHRoaW5ncyBsaWtlIElEMyB0YWdzLiBKdXN0CgkgIG91dHB1dHRpbmcgdGhlbSBhcyBpZiB0aGV5IHdlcmUgZGF0YSBpcyBnb2luZyB0byBjYXVzZSB1bmV4cGVjdGVkIGJlaGF2aW91cgoJICBhbmQgdW5wbGVhc2FudCBhdWRpbyBub2lzZXMuCgoyMDE0LTA4LTI5IDE1OjQwOjIzICswMjAwICBBbnRvbmlvIE9zcGl0ZSA8YW8yQGFvMi5pdD4KCgkqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy93YXZlbmMuYzoKCSAgdGVzdHM6IGZpeCBhIHRoaW5rbyBpbiB0aGUgd2F2ZW5jIGV4YW1wbGUKCSAgVGhlIGNvZGUgaXMgc3VwcG9zZWQgdG8gZm9sbG93IHNvbWVob3cgd2hhdCB0aGUgY29tbWVudCBhYm92ZSBzYXlzLCB0aGF0CgkgIGlzIHRvIGhhdmUgb25lIGNoYW5uZWwgd2l0aCBhIHdhdmUgb2YgZnJlcSA0NDAgYW5kIHRoZSBvdGhlciBjaGFubmVsCgkgIHdpdGggYSB3YXZlIG9mIGZyZXEgODgwLCBidXQgYW4gb2ZmIGJ5IG9uZSBlcnJvciByZXN1bHRzIGluIGZyZXF1ZW5jaWVzCgkgIG9mIDAgYW5kIDQ0MC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNTY3MwoKMjAxNC0wOC0yOSAxNTowNzo1OCArMDIwMCAgQW50b25pbyBPc3BpdGUgPGFvMkBhbzIuaXQ+CgoJKiBnc3QvaW50ZXJsZWF2ZS9pbnRlcmxlYXZlLmM6CgkgIGludGVybGVhdmU6IEZpeCB0aGUgZXhhbXBsZSBieSBzZXR0aW5nIGNoYW5uZWwtbWFza3MgaW4gdGhlIHNpbmsgcGFkcwoJICBUaGUgY3VycmVudCBleGFtcGxlIGRvZXMgbm90IHdvcmssIGl0IGZhaWxzIHdpdGg6CgkgIEVSUk9SOiBmcm9tIGVsZW1lbnQgL0dzdFBpcGVsaW5lOnBpcGVsaW5lMC9Hc3REZWNvZGVCaW46ZGVjb2RlYmluMC9Hc3RXYXZQYXJzZTp3YXZwYXJzZTA6IEludGVybmFsIGRhdGEgZmxvdyBlcnJvci4KCSAgZ3N0d2F2cGFyc2UuYygyMTc4KTogZ3N0X3dhdnBhcnNlX2xvb3AgKCk6IC9Hc3RQaXBlbGluZTpwaXBlbGluZTAvR3N0RGVjb2RlQmluOmRlY29kZWJpbjAvR3N0V2F2UGFyc2U6d2F2cGFyc2UwOgoJICBzdHJlYW1pbmcgdGFzayBwYXVzZWQsIHJlYXNvbiBub3QtbmVnb3RpYXRlZCAoLTQpCgkgIFRoaXMgaXMgYmVjYXVzZSBuZWdvdGlhdGlvbiB3aXRoIHdhdmVuYyBnZXRzIG1lc3NlZCB1cCBieSB0aGUgbWlzc2luZwoJICBjaGFubmVsIHBvc2l0aW9ucyBjb25maWd1cmF0aW9uLgoJICBUaGUgcHJvcGVyIHdheSB0byBkZWZpbmUgdGhlIGNoYW5uZWwgbGF5b3V0IHdoZW4gdXNpbmcgdGhlIGludGVybGVhdmUKCSAgZWxlbWVudCBpbiBjb2RlIHdvdWxkIGJlIHRvIHNldCB0aGUgY2hhbm5lbC1wb3NpdGlvbnMgcHJvcGVydHksIGJ1dAoJICBnc3QtbGF1bmNoLTEuMCBkb2VzIG5vdCBrbm93IGhvdyB0byBkZWFsIHdpdGggYXJyYXlzOyBzbyB0aGUgZXhhbXBsZQoJICBwaXBlbGluZSB3b3JrcyBhcm91bmQgdGhlIGlzc3VlIGJ5IHNldHRpbmcgdGhlIGNoYW5uZWwtbWFza3MgaW4gdGhlIHNpbmsKCSAgcGFkcy4KCSAgQWxzbyBmaXggYSByZXBldGl0aW9uIGluIHRoZSBkZWludGVybGVhdmUgZXhhbXBsZSBkZXNjcmlwdGlvbgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM1NjczCgoyMDE2LTAxLTExIDE2OjI5OjU1ICswMDAwICBUaW0gU2hlcmlkYW4gPHRpbS5zaGVyaWRhbkBpbWd0ZWMuY29tPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RzYmNwYXJzZS5jOgoJICBzYmNwYXJzZTogRml4IGZyYW1lIGxlbmd0aCBjYWxjdWxhdGlvbgoJICBTQkMgZnJhbWUgbGVuZ3RoIGNhbGN1bGF0aW9uIHdhc24ndCBiZWluZyByb3VuZGVkIHVwIHRvIHRoZSBuZWFyZXN0IGJ5dGUKCSAgKGFzIHNwZWNpZmllZCBpbiB0aGUgQTJEUCAxLjAgc3BlY2lmaWNhdGlvbiwgc2VjdGlvbiAxMi45KS4gVGhpcyBjb3VsZAoJICBjYXVzZSAnc3RlcmVvJyBhbmQgJ2pvaW50IHN0ZXJlbycgbW9kZSBTQkMgc3RyZWFtcyB0byBoYXZlIGluY29ycmVjdGx5CgkgIGNhbGN1bGF0ZWQgZnJhbWUgbGVuZ3Rocy4KCSAgSW5jb3JyZWN0IGZyYW1lIGxlbmd0aCBjYWxjdWxhdGlvbiBjYXVzZXMgZnJhbWUgY29hbGVzY2luZyB0byBmYWlsLCBhcwoJICBzdWJzZXF1ZW50IGZyYW1lcyBpbiB0aGUgc3RyZWFtIGFyZW4ndCBmb3VuZCBpbiB0aGUgZXhwZWN0ZWQgbG9jYXRpb25zLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQyNDQ2CgoyMDE2LTAxLTEwIDIyOjU0OjEyIC0wODAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5jOgoJICBmbGFjcGFyc2U6IGRlbW90ZSB3YXJuaW5nIG9uIHdyb25nIHJlc2VydmVkIHZhbHVlIHRvIGZpeG1lCgkgIFdlIGFyZSBsaWtlbHkganVzdCBwYXJzaW5nIGEgYmFja3dhcmQtY29tcGF0aWJsZSBzdHJlYW0gd2UKCSAgZG9uJ3QgZnVsbHkgc3VwcG9ydC4KCjIwMTYtMDEtMDggMTY6Mjc6MDUgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC9pbWFnZWZyZWV6ZS9nc3RpbWFnZWZyZWV6ZS5jOgoJICBpbWFnZWZyZWV6ZTogc2ltcGxpZnkgY2FwcyBzZWxlY3Rpb24KCSAgVGhlIGRvd25zdHJlYW0gY2FwcyBxdWVyeSB3aXRoIGEgZmlsdGVyIGFscmFlZHkgZ2l2ZXMgdXMgdGhlIHBvc3NpYmxlCgkgIGludGVyc2VjdGlvbiBzbyB0aGVyZSBpcyBubyBuZWVkIHRvIGNoZWNrIGl0IGFnYWluIHdpdGggZG93bnN0cmVhbQoJICBpZiBpdCBpcyBzdXBwb3J0ZWQuIEp1c3QgdHJ5IHRvIHNldCBpdCBkaXJlY3RseS4KCjIwMTYtMDEtMDcgMjA6NDI6NDEgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRkZXBheS5jOgoJICBydHBoMjY0ZGVwYXk6IGZpeCB1bm5lY2Vzc2FyeSBzdWItYnVmZmVyIGNyZWF0aW9uCgkgIFdlIGNyZWF0ZSBhIHN1Yi1idWZmZXIganVzdCB0byBjb3B5IG92ZXIgaXRzIG1ldGFzIGFuZCB0aGVuCgkgIHRocm93IGl0IGF3YXkgaW1tZWRpYXRlbHksIGp1c3QgdXNlIHRoZSBvcmlnaW5hbCBpbnB1dCBidWZmZXIKCSAgZGlyZWN0bHkuCgoyMDE2LTAxLTA3IDIwOjM4OjI3ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBkdmRlcGF5LmM6CgkgIHJ0cGR2ZGVwYXk6IGZpeCB1bm5lY2Vzc2FyeSBzdWItYnVmZmVyIGNyZWF0aW9uCgkgIFdlIGNyZWF0ZSBhIHN1Yi1idWZmZXIganVzdCB0byBjb3B5IG92ZXIgaXRzIG1ldGFzIGFuZCB0aGVuCgkgIHRocm93IGl0IGF3YXkgaW1tZWRpYXRlbHksIGp1c3QgdXNlIHRoZSBvcmlnaW5hbCBpbnB1dCBidWZmZXIKCSAgZGlyZWN0bHkuCgoyMDE2LTAxLTA3IDIwOjM0OjA1ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBhbXJkZXBheS5jOgoJICBydHBhbXJkZXBheTogZml4IHVubmVjZXNzYXJ5IHN1Yi1idWZmZXIgY3JlYXRpb24KCSAgV2UgY3JlYXRlIGEgc3ViLWJ1ZmZlciBqdXN0IHRvIGNvcHkgb3ZlciBpdHMgbWV0YXMgYW5kIHRoZW4KCSAgdGhyb3cgaXQgYXdheSBpbW1lZGlhdGVseSwganVzdCB1c2UgdGhlIG9yaWdpbmFsIGlucHV0IGJ1ZmZlcgoJICBkaXJlY3RseS4KCjIwMTYtMDEtMDcgMjA6Mjc6MjkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cHZyYXdkZXBheS5jOgoJICBydHB2cmF3ZGVwYXk6IGZpeCBtYWpvciBtZW1vcnkgbGVhayBhbmQgcGVyZm9ybWFuY2UgaXNzdWUKCSAgV2UgY2FsbCBnc3RfcnRwX2J1ZmZlcl9nZXRfcGF5bG9hZCgpIHdoaWNoIGNyZWF0ZXMgYSBzdWItYnVmZmVyCgkgIG9mIGVhY2ggaW5wdXQgYnVmZmVyLCBqdXN0IHRvIGNvcHkgb3ZlciBtZXRhcywgYW5kIHRoZW4gbGVhayBpdC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2MDI4OQoKMjAxNi0wMS0wOCAxNTozMjo0NyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3JnYW5hbHlzaXMuYzoKCSAgcmdhbmFseXNpczogRml4IGNvbXBpbGVyIHdhcm5pbmdzIGluIHRoZSB1bml0IHRlc3QKCSAgZWxlbWVudHMvcmdhbmFseXNpcy5jOjkxOTo2NjogZXJyb3I6IHNoaWZ0aW5nIGEgbmVnYXRpdmUgc2lnbmVkIHZhbHVlIGlzIHVuZGVmaW5lZAoJICBbLVdlcnJvciwtV3NoaWZ0LW5lZ2F0aXZlLXZhbHVlXQoJICBwdXNoX2J1ZmZlciAodGVzdF9idWZmZXJfY29uc3RfaW50MTZfc3RlcmVvICg4MDAwLCAxNiwgNTEyLCAtMSA8PCAxNCwgMCkpOwoJICB+fiBeCgkgIGVsZW1lbnRzL3JnYW5hbHlzaXMuYzo5Mjk6Njk6IGVycm9yOiBzaGlmdGluZyBhIG5lZ2F0aXZlIHNpZ25lZCB2YWx1ZSBpcyB1bmRlZmluZWQKCSAgWy1XZXJyb3IsLVdzaGlmdC1uZWdhdGl2ZS12YWx1ZV0KCSAgcHVzaF9idWZmZXIgKHRlc3RfYnVmZmVyX2NvbnN0X2ludDE2X3N0ZXJlbyAoODAwMCwgMTYsIDUxMiwgMCwgLTEgPDwgMTQpKTsKCSAgfn4gXgoJICBlbGVtZW50cy9yZ2FuYWx5c2lzLmM6OTM5OjY0OiBlcnJvcjogc2hpZnRpbmcgYSBuZWdhdGl2ZSBzaWduZWQgdmFsdWUgaXMgdW5kZWZpbmVkCgkgIFstV2Vycm9yLC1Xc2hpZnQtbmVnYXRpdmUtdmFsdWVdCgkgIHB1c2hfYnVmZmVyICh0ZXN0X2J1ZmZlcl9jb25zdF9pbnQxNl9tb25vICg4MDAwLCAxNiwgNTEyLCAtMSA8PCAxNCkpOwoJICB+fiBeCgoyMDE2LTAxLTA1IDE4OjEzOjA2ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RmbGFjcGFyc2UuYzoKCSAgZmxhY3BhcnNlOiBkb24ndCBtYXAgYnVmZmVyIG11bHRpcGxlIHRpbWVzIHdoZW4gcGFyc2luZwoKMjAxNi0wMS0wNyAxODoyMDozMCArMDIwMCAgU3RldmVuIEhvdmluZyA8c2hAYmlnYnJvdGhlci5ubD4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1yZWFkLWNvbW1vbi5jOgoJICBtYXRyb3NrYTogU3RvcmUgc3VidGl0bGUgc3RyZWFtIGNvdW50IGluIHRoZSBjb3JyZWN0IHZhcmlhYmxlCgkgIEFuZCBkb24ndCBvdmVycmlkZSB0aGUgdmlkZW8gc3RyZWFtIGNvdW50IGluc3RlYWQuCgoyMDE2LTAxLTA1IDE4OjU5OjA2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXJuYmFuZHMuYzoKCSAgZXF1YWxpemVyOiBUaGUgY2hpbGQtcHJveHkgQVBJIGlzIEdPYmplY3QgYmFzZWQgaW4gMS54CgkgIE5vdCBHc3RPYmplY3QgYW55bW9yZS4KCjIwMTUtMDUtMjEgMTc6NDE6MTIgKzAyMDAgIFBhYmxvIEFudG9uIDxwYWJsby5hbnRvbkB2b2RhbHlzLWxhYnMuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMnRyYW5zZm9ybS5jOgoJICB2NGwyLSo6IENvbmZpZ3VyaW5nIG91dHB1dCBwb29sIGNvcnJlY3RseSBmb3IgdXNpbmcgZHJpdmVycyBtaW5fYnVmZmVyIGlmIHByZXNlbnQuCgkgIFNpZ25lZC1vZmYtYnk6IFBhYmxvIEFudG9uIDxwYWJsby5hbnRvbkB2b2RhbHlzLWxhYnMuY29tPgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU1NzM2CgoyMDE1LTEyLTMxIDE1OjQ2OjMxIC0wODAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5jOgoJICBmbGFjcGFyc2U6IGFkZCBkZWJ1ZyBtc2cgb24gQ1JDIG1pc21hdGNoIHdoaWxlIHZhbGlkYXRpbmcgZnJhbWUgaGVhZGVyCgoyMDE1LTEyLTMxIDE2OjAwOjQ5IC0wODAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5jOgoJICBmbGFjcGFyc2U6IGRyb3AgdW5uZWVkZWQgYnJhY2VzIGF0IF9wYXJzZV9mcmFtZSgpIGV4aXQKCSAgQWRkaXRpb25hbGx5LCBkcm9wIHJlZHVuZGFudCBjb21tZW50ICYgbGluZSBicmVhawoKMjAxNS0xMi0zMSAxNTo1NToxOCAtMDgwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9Ab3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RmbGFjcGFyc2UuYzoKCSAgZmxhY3BhcnNlOiBtaW5vciBncmFtbWFyIGNvcnJlY3Rpb24KCjIwMTUtMTItMzEgMTU6MzQ6NTcgLTA4MDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZmxhY3BhcnNlLmM6CgkgIGZsYWNwYXJzZTogdXBkYXRlIFVSTHMgb24gcG9pbnRlcnMgdG8gb25saW5lIHNwZWMKCjIwMTUtMTItMzEgMTQ6NDA6MTUgLTA4MDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZmxhY3BhcnNlLmM6CgkgIGZsYWNwYXJzZTogbWFrZSBidWZmZXIgRFRTIHNldHRpbmcgZXhwbGljaXRseSB1bmNvbmRpdGlvbmFsCgkgIFdlIGFyZSBzZXR0aW5nIGl0IHRvIFBUUyByZWdhcmRsZXNzIG9mIGJsb2NrX3N0cmF0ZWd5CgoyMDE1LTEyLTMxIDE0OjIxOjQwIC0wODAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5jOgoJICBmbGFjcGFyc2U6IGFkZCBhY3R1YWwgaW52YWxpZCBibG9jayB0eXBlIHRvIHdhcm5pbmcKCSAgRm9yIHNvbWVvbmUgdGhhdCByZWFkIHRoZSBzcGVjIGlzIGNsZWFyIHRoZSBvbmx5ICppbnZhbGlkKgoJICBkYXRhIGJsb2NrIHR5cGUgaXMgMTI3LiBGb3IgdGhlIHJlc3QsIGl0cyB1c2VmdWwgaW5mb3JtYXRpb24uCgkgIEFkZGl0aW9uYWxseS4gdmFsdWVzIDctMTI2IGFyZSBjdXJyZW50bHkgcmVzZXJ2ZWQgYnkgdGhlCgkgIHNwZWMgc28gdGhlIHNpdHVhdGlvbiBtaWdodCBjaGFuZ2UgaW4gdGhlIGZ1dHVyZS4KCjIwMTUtMTItMzEgMTQ6MTI6MzYgLTA4MDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZmxhY3BhcnNlLmM6CgkgIGZsYWNwYXJzZTogdXNlIHNoaWZ0IGluc3RlYWQgb2YgbWFzayAmIGNvbXAKCSAgV2UgYXJlIG9ubHkgaW50ZXJlc3RlZCBvbiB0aGUgZmlyc3QgYml0IG9mIHRoZSBmaXJzdAoJICBieXRlIG9mIHRoZSBtZXRhZGF0YSBibG9jayBoZWFkZXIgdG8gZmlndXJlIG91dCB3aGV0aGVyCgkgIGlzIG1hcmtlZCBhcyB0aGUgbGFzdCBvbmUuIFRoZSBzaGlmdCBtYWtlcyBpdCBxdWl0ZQoJICBjbGVhcmVyLgoKMjAxNS0xMi0zMSAxMjo1MjoxMyAtMDgwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9Ab3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RmbGFjcGFyc2UuYzoKCSAgZmxhY3BhcnNlOiB3YXJuIG9uIHdpc2hmdWwgcGFyc2luZyBvZiB3ZWlyZCBoZWFkZXJzCgkgIElmIHdlIGdldCBhbnl0aGluZyBmcm9tIDcgdG8gMTI2IGFzIHR5cGUgd2hlbiBwYXJzaW5nCgkgIGEgbWV0YWRhdGEgYmxvY2sgaGVhZGVyLCB3ZSBhcmUgbGlrZWx5IGRlYWxpbmcgd2l0aCBhCgkgIEZMQUMgc3RyZWFtIHZlcnNpb24gd2UgZG9uJ3QgZnVsbHkgdW5kZXJzdGFuZC4gSXNzdWUKCSAgYSB3YXJuaW5nIGlmIHNvLgoJICBEb2N1bWVudCBmdW5jdGlvbiBhc3N1bXB0aW9ucyByZWdhcmRpbmcgdGhlIHBhc3NlZC1vbgoJICB0eXBlIHdoaWxlIGF0IHRoaXMuCgoyMDE1LTEyLTMxIDExOjMzOjQ1IC0wODAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5jOgoJICBmbGFjcGFyc2U6IHNob3cgbWVhbmluZ2Z1bCBpbmZvIG9uIGZyYW1lIENSQyBjaGVjawoJICBBcyBDUkNzIGFyZSBjYWxjdWxhdGVkIGZvciB0aGUgY29tcGFyaXRpb24gYWxyZWFkeSwgd2UKCSAgbWlnaHQgYXMgd2VsbCAoY2hlYXBseSkgaW5mb3JtIHRoZSB1c2VyIGhvdyB0aGUgbnVtYmVycwoJICBkaWZmZXIgaWYgYSBtaXNzbWF0Y2hlZCBwYWlyIGlzIGZvdW5kLgoJICBXaGlsZSBhdCBpdDoKCSAgUmVwaHJhc2UgY2FuZGlkYXRlLWZyYW1lIG1lc3NhZ2UgdG8gbWFrZSBtb3JlIHNlbnNlCgoyMDE1LTEyLTMxIDAyOjQwOjQzIC0wODAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5jOgoJICBmbGFjcGFyc2U6IGRyb3AgcmVtYWluaW5nIHRyYWlsaW5nIHdoaXRlc3BhY2UKCjIwMTUtMTItMzEgMDI6MTU6MDYgLTA4MDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZmxhY3BhcnNlLmM6CgkgIGZsYWNwYXJzZTogZHJvcCBzdXBlcmZsb3VzIGVsc2UgY2xhdXNlcwoKMjAxNS0xMi0zMSAwMTowOTo1MSAtMDgwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9Ab3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RmbGFjcGFyc2UuYzoKCSAgZmxhY3BhcnNlOiBmYWN0b3Igb3V0IGJ1ZmZlciB0aW1lIGFuZCBvZmZzZXQgcmVzZXR0aW5nCgkgIEF2b2lkcyBtdWx0aXBsZSBvY2N1cnJlbmNlcyBvZiB0aGUgc2FtZSByZXNldHRpbmcgcGF0dGVybgoKMjAxNS0xMi0zMSAwMDo1NDo0OCAtMDgwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9Ab3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RmbGFjcGFyc2UuYzoKCSAgZmxhY3BhcnNlOiBtb3ZlIGJsb2NrIGhhbmRsaW5nIGJ5IHR5cGUgb3V0IG9mIF9wYXJzZV9mcmFtZSgpCgoyMDE1LTEwLTA3IDE4OjUxOjI1ICswOTAwICBIeXVuanVuIEtvIDx6em9vbi5rb0BzYW1zdW5nLmNvbT4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogcmVwbGFjZSBkdXBsaWNhdGVkIGNvZGVzIHRvIGNhbGwgbmV3IGJhc2Ugc2RwIGFwaXMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NTg4MAoKMjAxNS0xMi0zMCAxMjoxNjo1NiAtMDgwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9Ab3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RmbGFjcGFyc2UuYzoKCSAgZmxhY3BhcnNlOiBkcm9wIHJlZHVuZGFudCByZXR1cm4gc3RhdGVtZW50IG9uIF9oZWFkZXJfaXNfdmFsaWQoKQoJICBGaXggdGhlIHJhdGhlciB2YWd1ZSBlcnJvciBtZXNzYWdlIHdoaWxlIGF0IGl0LgoKMjAxNS0xMi0zMCAwMTo1NjoyNiAtMDgwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9Ab3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RmbGFjcGFyc2UuYzoKCSAgZmxhY3BhcnNlOiByZXdvcmsgZ3N0X2ZsYWNfcGFyc2VfZnJhbWVfaXNfdmFsaWQoKQoJICBkcm9wIHVubmVjZXNzYXJ5IG5lc3RpbmcgbG9va2luZyBmb3IgZW5kIG9mIGZyYW1lCgoyMDE1LTEyLTMwIDAwOjM3OjA0IC0wODAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5jOgoJICBmbGFjcGFyc2U6IGZhY3RvciBvdXQgY29udGV4dCBjbGVhcmluZyByb3V0aW5lCgoyMDE1LTEyLTI5IDE4OjA1OjU2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thZGVtdXg6IEd1YXJkIGFnYWluc3Qgbm8gY29kZWMgZGF0YSBpbiBwcm9yZXMgY2FwcyBjcmVhdGlvbgoJICBDSUQgMTM0NjUzMgoKMjAxNS0xMi0yOSAxNzo1ODozOCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC92cHgvZ3N0dnB4ZGVjLmM6CgkgIHZweGRlYzogSW5pdGlhbGl6ZSBidWZmZXIgdmFyaWFibGUgdG8gTlVMTAoJICBGYWxzZSBwb3NpdGl2ZSBidXQgdHJpdmlhbCB0byBmaXggYW5kIHBvc3NpYmx5IGNhdXNpbmcgY29tcGlsZXIgd2FybmluZ3MgYXQKCSAgc29tZSBwb2ludCBpbiB0aGUgZnV0dXJlIHRvby4KCSAgQ0lEIDEzNDY1MzUKCjIwMTUtMDctMjcgMTU6NTM6MjYgKzAyMDAgIFdpbSBUYXltYW5zIDx3dGF5bWFuc0ByZWRoYXQuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmRldmljZXByb3ZpZGVyLmM6CgkgIHY0bDJkZXZpY2Vwcm92aWRlcjogYWRkIHByb3BlcnRpZXMgdG8gdGhlIGRldmljZQoJICBBZGQgcHJvcGVydGllcyB0byB0aGUgZGV2aWNlIHdpdGggZXhhY3RseSB0aGUgc2FtZSBrZXlzIGFuZCBzZW1hdGljcwoJICBhcyB3aGF0IHB1bHNlYXVkaW8gdXNlcyBhcyBwcm9wZXJ0eSBrZXlzLgoJICBBbHNvIGhhbmRsZSB0aGUgY2FzZSB3aGVuIGEgZGV2aWNlIGlzIHByb2JlZCBtYW51YWxseSBhbmQgbm90IHRocm91Z2ggZ3VkZXYuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnLy9zaG93X2J1Zy5jZ2k/aWQ9NzU5NzgwCgoyMDE1LTEyLTI1IDExOjQxOjE5ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2F1ZGlvZngvZ3N0c2NhbGV0ZW1wby5jOgoJICBzY2FsZXRlbXBvOiBGcmVlIHRoZSB2YXJpb3VzIGJ1ZmZlcnMgaW4gR3N0QmFzZVRyYW5zZm9ybTo6c3RvcCgpCgkgIFByZXZpb3VzbHkgd2UgbGVha2VkIHRoZW0gY29tcGxldGVseSwgYnV0IGFzIHRoZXkncmUgc3BlY2lmaWMgdG8gdGhlIGNhcHMKCSAgZnJlZWluZyB0aGVtIGluIHN0b3AoKSBpbnN0ZWFkIG9mIGZpbmFsaXplKCkgbWFrZXMgbW9zdCBzZW5zZS4KCjIwMTUtMTItMjQgMTU6Mjg6MDYgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkgIEJhY2sgdG8gZGV2ZWxvcG1lbnQKCj09PSByZWxlYXNlIDEuNy4xID09PQoKMjAxNS0xMi0yNCAxNDoxNjoyMSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIENoYW5nZUxvZzoKCSogTkVXUzoKCSogUkVMRUFTRToKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi0xMzk0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhY29sb3IueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXBldGFnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvZngueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9wYXJzZXJzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2RldGVjdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdmkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FjYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2Fpcm8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY3V0dGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlaW50ZXJsYWNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0bWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZmZWN0di54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lcXVhbGl6ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmxhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx4ZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdka3BpeGJ1Zi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20yazEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWN5ZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW1hZ2VmcmVlemUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXJsZWF2ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pc29tcDQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tamFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxldmVsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1hdHJvc2thLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpZmlsZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aXBhcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmF2aWdhdGlvbnRlc3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzNC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3NhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbmcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcHVsc2VhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXBsYXlnYWluLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHBtYW5hZ2VyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0c3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hhcGV3aXBlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNob3V0MnNlbmQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc21wdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVjdHJ1bS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10YWdsaWIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdWRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvNGxpbnV4Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2JveC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2Nyb3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9maWx0ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9taXhlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12cHgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2ZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teGltYWdlc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXk0bWVuYy54bWw6CgkqIGdzdC1wbHVnaW5zLWdvb2QuZG9hcDoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICBSZWxlYXNlIDEuNy4xCgoyMDE1LTEyLTI0IDEzOjE5OjI0ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogcG8vYWYucG86CgkqIHBvL2F6LnBvOgoJKiBwby9iZy5wbzoKCSogcG8vY2EucG86CgkqIHBvL2NzLnBvOgoJKiBwby9kYS5wbzoKCSogcG8vZGUucG86CgkqIHBvL2VsLnBvOgoJKiBwby9lbl9HQi5wbzoKCSogcG8vZW8ucG86CgkqIHBvL2VzLnBvOgoJKiBwby9ldS5wbzoKCSogcG8vZmkucG86CgkqIHBvL2ZyLnBvOgoJKiBwby9nbC5wbzoKCSogcG8vaHIucG86CgkqIHBvL2h1LnBvOgoJKiBwby9pZC5wbzoKCSogcG8vaXQucG86CgkqIHBvL2phLnBvOgoJKiBwby9sdC5wbzoKCSogcG8vbHYucG86CgkqIHBvL210LnBvOgoJKiBwby9uYi5wbzoKCSogcG8vbmwucG86CgkqIHBvL29yLnBvOgoJKiBwby9wbC5wbzoKCSogcG8vcHRfQlIucG86CgkqIHBvL3JvLnBvOgoJKiBwby9ydS5wbzoKCSogcG8vc2sucG86CgkqIHBvL3NsLnBvOgoJKiBwby9zcS5wbzoKCSogcG8vc3IucG86CgkqIHBvL3N2LnBvOgoJKiBwby90ci5wbzoKCSogcG8vdWsucG86CgkqIHBvL3ZpLnBvOgoJKiBwby96aF9DTi5wbzoKCSogcG8vemhfSEsucG86CgkqIHBvL3poX1RXLnBvOgoJICBVcGRhdGUgLnBvIGZpbGVzCgoyMDE1LTEyLTI0IDEyOjIyOjMyICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogcG8vY3MucG86CgkqIHBvL2RlLnBvOgoJKiBwby9lbC5wbzoKCSogcG8vaHUucG86CgkqIHBvL25iLnBvOgoJKiBwby9ubC5wbzoKCSogcG8vcGwucG86CgkqIHBvL3J1LnBvOgoJKiBwby9zci5wbzoKCSogcG8vc3YucG86CgkqIHBvL3VrLnBvOgoJKiBwby92aS5wbzoKCSogcG8vemhfQ04ucG86CgkgIHBvOiBVcGRhdGUgdHJhbnNsYXRpb25zCgoyMDE1LTEyLTIxIDA5OjU3OjMzIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSogZ3N0L2lzb21wNC9xdGRlbXV4Lmg6CgkgIHF0ZGVtdXg6IGRyb3AgZmx1c2hlcyBmcm9tIG91ciBvd24gb2Zmc2V0IHNlZWsKCSAgUHJldmVudHMgZG93bnN0cmVhbSBmcm9tIHJlY2VpdmluZyBmbHVzaGVzIGZvciBhIHNlZWsgb25seSBpbgoJICB1cHN0cmVhbS4gVGhvc2Ugc2Vla3MgYXJlIG9ubHkgdG8gc3RhcnQgcmVhZGluZyBmcm9tIHRoZSByaWdodAoJICBvZmZzZXQgd2hlbiBza2lwcGluZyBvciByZXR1cm5pbmcgdG8gcXQgYXRvbXMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTg5MjgKCjIwMTUtMTEtMTEgMTY6NTM6MTkgKzAxMDAgIFRoaWJhdWx0IFNhdW5pZXIgPHRzYXVuaWVyQGdub21lLm9yZz4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYWRlbXV4OiBBbHdheXMgc2V0IHRoZSBjaGFubmVsIG1hc2sgZm9yIFBDTSBzdHJlYW1zCgkgIEp1c3QgdXNlIHRoZSBnc3RfYXVkaW9fY2hhbm5lbF9nZXRfZmFsbGJhY2tfbWFzayBmdW5jdGlvbiBmb3Igbm93IGFzCgkgIHRoZSBzcGVjaWZpY2F0aW9uIGlzIHRvbyBjb21wbGljYXRlZCBhbmQgbm9ib2R5IGltcGxlbWVudHMgaXQuCgoyMDE1LTEyLTIxIDExOjM3OjI2ICswMTAwICBUaG9tYXMgUm9vcyA8dGhvbWFzLnJvb3NAaW5kdXN0cm9uaWMuZGU+CgoJKiBzeXMvZGlyZWN0c291bmQvZ3N0ZGlyZWN0c291bmRzaW5rLmM6CgkgIGRpcmVjdHNvdW5kc2luazogRml4IHNsZWVwIGZvciBidWZmZXItdGltZSBsb3dlciB0aGFuIDIwMDAwMAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ4NjgwCgoyMDE1LTEyLTIxIDEyOjMxOjE5ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IFVzZSAtQnN5bWJvbGljLWZ1bmN0aW9ucyBpZiBhdmFpbGFibGUKCSAgV2hpbGUgdGhpcyBpcyBtb3JlIHVzZWZ1bCBmb3IgbGlicmFyaWVzLCBzb21lIG9mIG91ciBwbHVnaW5zIHdpdGggbXVsdGlwbGUKCSAgZmlsZXMgYW5kIHNvbWUgaW50ZXJuYWwgQVBJIGNhbiBhbHNvIGJlbmVmaXQgZnJvbSB0aGlzLgoKMjAxNS0xMi0xOCAxNTozNDo1MiArMDAwMCAgV2lsbGlhbSBNYW5sZXkgPHdpbGxAd2lsbGlhbW1hbmxleS5uZXQ+CgoJKiBnc3QvZGVidWd1dGlscy9wcm9ncmVzc3JlcG9ydC5jOgoJKiBnc3QvZGVidWd1dGlscy9wcm9ncmVzc3JlcG9ydC5oOgoJICBwcm9ncmVzc3JlcG9ydDogYWRkIHN1cHBvcnQgZm9yIHVzaW5nIGZvcm1hdD1idWZmZXJzIHdpdGggZG8tcXVlcnk9ZmFsc2UKCSAgVGhpcyBpcyB1c2VmdWwgZm9yIGludmVzdGlnYXRpbmcgYW5kIGRlYnVnZ2luZyBwaXBlbGluZXMgd2hpY2ggYXJlCgkgIHByb2R1Y2luZyBidWZmZXJzIGF0IGEgc2xvd2VyL2Zhc3RlciByYXRlIHRoYW4geW91IHdvdWxkIGV4cGVjdC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1OTYzNQoKMjAxNS0xMi0xOCAxNTo0OTo0MyAtMDUwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICB2NGwyb2JqZWN0OiBVcGRhdGUgZm9ybWF0cyB0YWJsZQoJICBUaGlzIGNoYW5nZSBhZGQgYWxsIHRoZSBuZXcgUkdCIGJhc2VkIGZvcm1hdC4gVGhvc2UgZm9ybWF0IHJlbW92ZXMgdGhlCgkgIGFtYmlndWl0eSB3aXRoIHRoZSBBTFBIQSBjaGFubmVsLiBTb21lIG90aGVyIG1pc3NpbmcgbXVsdGlwbGFuYXIgZm9ybWF0CgkgIGhhcyBiZWVuIGFkZGVkIHdpdGggc29tZSBhZGRpdGlvbmFsIGNsZWFudXAuCgoyMDE1LTEyLTE4IDA1OjE3OjE1ICsxMTAwICBKYW4gU2NobWlkdCA8amFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9pc29tcDQvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IERvbid0IHdyaXRlIGludmFsaWQgZWRpdCBsaXN0IHN0YXJ0IHRpbWUuCgkgIEF2b2lkIHdyaXRpbmcgYSBuZWdhdGl2ZSBudW1iZXIgYXMgYSBsYXJnZSBwb3NpdGl2ZQoJICBpbnRlZ2VyIGluIGFuIGVkaXQgbGlzdCB3aGVuIHRoZSBmaXJzdF90cyBpcyBzbWFsbGVyCgkgIHRoYW4gdGhlIGZpcnN0X2R0cyAtIHdoaWNoIGNhbiBoYXBwZW4gd2hlbiB0aGUgZmlyc3QKCSAgcGFja2V0IHJlY2VpdmVkIGhhcyBhIFBUUyBidXQgbm8gRFRTLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU5NjE1CgoyMDE1LTEyLTA0IDIzOjE2OjQ1ICsxMTAwICBKYW4gU2NobWlkdCA8amFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9tdWx0aWZpbGUvZ3N0c3BsaXRtdXhzaW5rLmM6CgkgIHNwbGl0bXV4c2luazogT25seSB1cGRhdGUgcnVubmluZyB0aW1lIHdoZW4gaXQgaW5jcmVhc2VzLgoJICBEb24ndCBpbmNyZW1lbnQgcnVubmluZyB0aW1lIGZyb20gZXZlcnkgYnVmZmVyLiBUaGUgY29ycmVjdAoJICBsb2dpYyB0byBvbmx5IGluY3JlbWVudCB3aGVuIHJ1bm5pbmcgdGltZSBhZHZhbmNlcyBpcyBhCgkgIGxpdHRsZSBmdXJ0aGVyIGRvd24sIHNvIGRlbGV0ZSB0aGlzIGxlZnQtb3ZlciBsaW5lLgoKMjAxNS0xMS0xOCAxMTowMToyMCArMDEwMCAgVGhpYmF1bHQgU2F1bmllciA8dHNhdW5pZXJAZ25vbWUub3JnPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJICBtYXRyb3NrYS1tdXg6IEltcGxlbWVudCBwcm9yZXMgc3VwcG9ydAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU4MjU4CgoyMDE1LTExLTE4IDE2OjIwOjM4ICsxMTAwICBKYW4gU2NobWlkdCA8amFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtaWRzLmg6CgkgIG1hdHJvc2thLWRlbXV4OiBQbGF5IFByb1JlcyB2aWRlbyBzdHJlYW1zCgkgIEdlbmVyYXRlIHZpZGVvL3gtcHJvcmVzIGNhcHMgZm9yIFByb1JlcyB2aWRlbyBzdHJlYW1zLgoJICBFdmVyeSBmcmFtZSBuZWVkcyBhbiA4IGJ5dGUgaGVhZGVyIHByZXBlbmRlZCwgYXMgZGVzY3JpYmVkIGluCgkgIGh0dHA6Ly93aWtpLm11bHRpbWVkaWEuY3gvaW5kZXgucGhwP3RpdGxlPUFwcGxlX1Byb1JlcyNGcmFtZV9sYXlvdXQKCSAgc28gZG8gdGhhdCBpbiBhIHBvc3QtcHJvY2Vzc2luZyBjYWxsYmFjay4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1ODI1OAoKMjAxNS0xMi0xOCAxMDoxODowOSArMDUzMCAgUmF2aSBLaXJhbiBLIE4gPHJhdmkua2lyYW5Ac2Ftc3VuZy5jb20+CgoJKiBleHQvZHYvZ3N0ZHZkZWMuaDoKCSAgZHZkZWM6IFJlbW92ZSB1bnVzZWQgZmllbGRzCgkgIFJlbW92ZSB1bnVzZWQgZmllbGRzIGZyYW1lX2xlbiBhbmQgc3BhY2UKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1OTYxNAoKMjAxNS0xMi0xNyAxNjowMzowNCArMDEwMCAgVmluY2VudCBEZWhvcnMgPHZpbmNlbnQuZGVob3JzQG9wZW53aWRlLmZyPgoKCSogZ3N0L3J0cC9nc3RydHBqMmtkZXBheS5jOgoJICBydHBqMmtkZXBheTogUHVzaCBvbmUgSlBFRzIwMDAgZnJhbWUgcGVyIGJ1ZmZlciwgbm90IGEgYnVmZmVyIGxpc3Qgd2l0aCBtdWx0aXBsZSBidWZmZXJzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTg5NDMKCjIwMTUtMTItMTYgMTE6NDM6NTggKzAwMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXNiZ0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBleHQvcmF3MTM5NC9nc3RkdjEzOTRzcmMuYzoKCSogZXh0L3JhdzEzOTQvZ3N0aGR2MTM5NHNyYy5jOgoJICBkdjEzOTQ6IGxvZyBlcnJvciBpZiBmYWlsZWQgdG8gc2V0IHNvY2tldCBzdGF0dXMgZmxhZwoJICBMb2cgYW4gZXJyb3IgbWVzc2FnZSBpZiBmYWlsZWQgdG8gc2V0IHdyaXRlIG9yIHJlYWQgc29ja2V0IGFzCgkgIG5vbi1ibG9ja2luZy4KCSAgQ0lEIDExMzk2MDgKCSAgQ0lEIDExMzk2MDkKCjIwMTUtMTItMTUgMTc6MTA6MDAgKzAwMDAgIERhdmUgQ3JhaWcgPGRhdmVjcmFpZ0B1bmJhbGFuY2VkYXVkaW8uY29tPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYWNwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFjM3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YW1ycGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RkY2FwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdG1wZWdhdWRpb3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0c2JjcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3R3YXZwYWNrcGFyc2UuYzoKCSAgYXVkaW9wYXJzZXJzOiBDaGVjayBmb3IgTlVMTCByZXR1cm4gdmFsdWUgb2YgZ3N0X3BhZF9nZXRfY3VycmVudF9jYXBzKCkKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1OTUwMwoKMjAxNS0xMi0xNiAwOTozNTo1MyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaW50ZXJmYWNlczoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLTEzOTQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWFzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGFjb2xvci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hcGV0YWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9meC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb3BhcnNlcnMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvZGV0ZWN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF2aS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWNhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWlyby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jdXR0ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVpbnRlcmxhY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRtZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmZlY3R2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVxdWFsaXplci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbGFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHhkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2RrcGl4YnVmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbTJrMS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pY3lkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pZDNkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbWFnZWZyZWV6ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlcmxlYXZlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlzb21wNC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwZWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGV2ZWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWF0cm9za2EueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlmaWxlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpcGFydC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uYXZpZ2F0aW9udGVzdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3M0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zc2F1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBuZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wdWxzZWF1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlcGxheWdhaW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cG1hbmFnZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRzcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaGFwZXdpcGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hvdXQyc2VuZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbXB0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWN0cnVtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXRhZ2xpYi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi11ZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW80bGludXgyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvYm94LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvY3JvcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2ZpbHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb21peGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZweC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14aW1hZ2VzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teTRtZW5jLnhtbDoKCSAgZG9jczogdXBkYXRlIHRvIGdpdAoKMjAxNS0xMi0xNSAxNDoyNzoyMiAtMDUwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogZXh0L3ZweC9NYWtlZmlsZS5hbToKCSAgdnB4OiBBZGQgbWlzc2luZyBoZWFkZXJzIGluIE1ha2VmaWxlLmFtCgkgIFRoaXMgZml4ZXMgZGlzdGNoZWNrLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU1NTEwCgoyMDE1LTA5LTI0IDEyOjU3OjAwICswNTMwICBQcmFzaGFudCBHb3Rhcm5lIDxwcy5nb3Rhcm5lQHNhbXN1bmcuY29tPgoKCSogZXh0L3ZweC9NYWtlZmlsZS5hbToKCSogZXh0L3ZweC9nc3R2cDhlbmMuYzoKCSogZXh0L3ZweC9nc3R2cDhlbmMuaDoKCSogZXh0L3ZweC9nc3R2cDllbmMuYzoKCSogZXh0L3ZweC9nc3R2cDllbmMuaDoKCSogZXh0L3ZweC9nc3R2cHhlbmMuYzoKCSogZXh0L3ZweC9nc3R2cHhlbmMuaDoKCSAgdnB4OiBjcmVhdGVkIGNvbW1vbiBiYXNlY2xhc3MgR3N0VlBYRW5jCgkgIEdzdFZQOEVuYyBhbmQgR3N0VlA5RW5jIGhhcyBhbG1vc3QgODAlIGNvZGUgaW4gY29tbW9uLgoJICBjcmVhdGVkIGNvbW1vbiBiYXNlY2xhc3MgR3N0VlBYRW5jIGZvciBHc3RWUDhFbmMgYW5kIEdzdFZQOUVuYwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU1NTEwCgoyMDE1LTEyLTE1IDEyOjU3OjUzIC0wNTAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvdnB4L2dzdHZwOWRlYy5jOgoJKiBleHQvdnB4L2dzdHZweGRlYy5jOgoJKiBleHQvdnB4L2dzdHZweGRlYy5oOgoJICB2cHhkZWM6IFJlbW92ZSB1bm5lZWRlZCBhZGQgdmlkZW9fbWV0YQoJICBUaGlzIGFsc28gcmVtb3ZlIGNvcGllcyBmb3IgVlA4LCB3aGljaCB3YXMgbm90IGNvcnJlY3RseSBpbiBwbGFjZQoJICBpbiBwcmV2aW91cyByZWxhdGVkIHBhdGNoLgoKMjAxNS0xMi0xNSAwOTo0OToyNCArMDUzMCAgUHJhc2hhbnQgR290YXJuZSA8cHMuZ290YXJuZUBzYW1zdW5nLmNvbT4KCgkqIGV4dC92cHgvTWFrZWZpbGUuYW06CgkqIGV4dC92cHgvZ3N0dnA4ZGVjLmM6CgkqIGV4dC92cHgvZ3N0dnA4ZGVjLmg6CgkqIGV4dC92cHgvZ3N0dnA5ZGVjLmM6CgkqIGV4dC92cHgvZ3N0dnA5ZGVjLmg6CgkqIGV4dC92cHgvZ3N0dnB4ZGVjLmM6CgkqIGV4dC92cHgvZ3N0dnB4ZGVjLmg6CgkgIHZweDogY3JlYXRlZCBjb21tb24gYmFzZSBjbGFzcyBHc3RWUFhkZWMgZm9yIHZweCBkZWNvZGVycwoJICBCYXNlIGNsYXNzIGZvciB0aGUgdnA4ZGVjIGFuZCB2cDlkZWMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTU1MTAKCjIwMTUtMDYtMTAgMDk6MTc6MDggLTA0MDAgIFhhdmllciBDbGFlc3NlbnMgPHhhdmllci5jbGFlc3NlbnNAY29sbGFib3JhLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuaDoKCSAgc291cGh0dHBzcmM6IEFkZCBHVGxzSW50ZXJhY3Rpb24gcHJvcGVydHkKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MDcwOQoKMjAxNS0xMi0xNCAwOTowNTowNiAtMDUwMCAgRXZhbiBDYWxsYXdheSA8ZXZhbi5jYWxsYXdheUBpcGNvbmZpZ3VyZS5jb20+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IFJldHJ5IGNvbm5lY3Rpb24gaWYgdHVubmVsaW5nIG5lZWRzIGF1dGhlbnRpY2F0aW9uCgkgIExldmVyYWdlIHJlc3BvbnNlIGZyb20gZ3N0X3J0c3BfY29ubmVjdGlvbl9jb25uZWN0X3dpdGhfcmVzcG9uc2UgdG8KCSAgZGV0ZXJtaW5lIGlmIHRoZSBjb25uZWN0aW9uIHNob3VsZCBiZSByZXRyaWVkIHVzaW5nIGF1dGhlbnRpY2F0aW9uLiAgSWYKCSAgc28sIGFkZCB0aGUgYXBwcm9wcmlhdGUgYXV0aGVudGljYXRpb24gaGVhZGVycyBiYXNlZCB1cG9uIHRoZSByZXNwb25zZQoJICBhbmQgcmV0cnkgdGhlIGNvbm5lY3Rpb24uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDk1OTYKCjIwMTUtMTItMTQgMTQ6MTk6MDUgKzAwMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXNiZ0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IGNoZWNrIHBvcnQtcmFuZ2UgZm9ybWF0CgkgIFRoZSBzdHJpbmcgY291bGQgZXhpc3QgYnV0IHdpdGggYSB3cm9uZyBmb3JtYXQsIGluIHRoYXQgY2FzZSB3ZSBzdGlsbCB3YW50CgkgIHRvIHJlc2V0IHRoZSB2YWx1ZXMgb2YgY2xpZW50X3BvcnRfcmFuZ2UubWluIGFuZCBtYXggbGlrZSB3ZSBkbyBpZiB0aGVyZSBpcwoJICBubyBzdHJpbmcuCgkgIENJRCAxMTM5NTkzCgoyMDE1LTEyLTE0IDE0OjU1OjEyICswMTAwICBUaG9tYXMgUm9vcyA8dGhvbWFzLnJvb3NAaW5kdXN0cm9uaWMuZGU+CgoJKiBzeXMvZGlyZWN0c291bmQvZ3N0ZGlyZWN0c291bmRzaW5rLmM6CgkgIGRpcmVjdHNvdW5kc2luazogQ2hlY2sgZGV2aWNlIHByb3BlcnR5IGFuZCBmYWlsIGlmIGRldmljZSBjYW4ndCBiZSBmb3VuZAoJICBEb24ndCB1c2UgZGVmYXVsdCBpZiBhIHNwZWNpZmljIGRldmljZSBpcyBzZXQgYnV0IGl0IGNhbid0IGJlIGZvdW5kLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU5NDUyCgoyMDE1LTEyLTE0IDE0OjE1OjAwICswMTAwICBUaG9tYXMgUm9vcyA8dGhvbWFzLnJvb3NAaW5kdXN0cm9uaWMuZGU+CgoJKiBzeXMvZGlyZWN0c291bmQvZ3N0ZGlyZWN0c291bmRzaW5rLmM6CgkgIGRpcmVjdHNvdW5kc2luazogRml4IGhhbmRsaW5nIG9mIHRoZSBtdXRlIHByb3BlcnR5CgkgIC0gc2V0IG11dGUgdmFsdWUgYXQgc3RhcnR1cAoJICAtIGNvcnJlY3Qgc2V0IGFuZCBnZXQgbXV0ZSBmdW5jdGlvbnMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NTEwNgoKMjAxNS0xMi0xMSAxMToyMzoxMyArMDEwMCAgVGhvbWFzIFJvb3MgPHRob21hcy5yb29zQGluZHVzdHJvbmljLmRlPgoKCSogc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdHNvdW5kc2luay5jOgoJICBkaXJlY3Rzb3VuZHNpbms6IENoZWNrIHRoZSByZXR1cm4gdmFsdWUgb2YgR2V0U3RhdHVzKCkgdG9vIHRvIGRlY2lkZSBpZiB0aGVyZSB3YXMgYW4gZXJyb3IKCSAgSWYgR2V0U3RhdHVzKCkgZmFpbHMsIHRoZSBzdGF0dXMgaXRzZWxmIHdvbid0IGJlIHZlcnkgbWVhbmluZ2Z1bCBidXQgd2UgYWxzbwoJICBoYXZlIHRvIGxvb2sgYXQgaXRzIHJldHVybiB2YWx1ZS4gVGhpcyBmaXhlcyBibG9ja2luZyBwaXBlbGluZXMgd2hlbiByZW1vdmluZwoJICBzb3VuZCBkZXZpY2VzIG9yIGR1cmluZyBvdGhlciBlcnJvcnMsIHdoZXJlIHdlIHdvdWxkbid0IG5vdGljZSB0aGUgZXJyb3IgYW5kCgkgIHRoZW4gd2FpdCBmb3JldmVyLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM0MDk4CgoyMDE1LTEyLTEwIDE3OjQxOjQ2ICswMDAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzYmdAb3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0L2lzb21wNC9hdG9tcy5jOgoJKiBnc3QvaXNvbXA0L2F0b21zLmg6CgkqIGdzdC9pc29tcDQvZ3N0cXRtdXguYzoKCSAgaXNvbXA0OiByZW1vdmUgdW51c2VkIHBhcmFtZXRlcnMgaW4gYnVpbGRfKl9leHRlbnNpb24KCSAgQXRvbVRSQUsgcGFyYW1ldGVyIGlzIG5vdCB1c2VkIGJ5IGJ1aWxkX21vdl9hbGFjX2V4dGVuc2lvbigpLAoJICBidWlsZF9qcDJoX2V4dGVuc2lvbigpLCBvciBidWlsZF9tb3ZfYWxhY19leHRlbnNpb24oKSAgYW5kIGNhbiBiZQoJICByZW1vdmVkLgoKMjAxNS0xMi0xMCAxNToxMTowNyArMDAwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpc2JnQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC9pc29tcDQvZ3N0cXRtdXguYzoKCSAgaXNvbXA0OiByZXBsYWNlIHZhcmlhYmxlIG9ubHkgdXNlZCBvbmNlCgkgIFJlcGxhY2UgaGFzX3NoaWZ0IHZhcmlhYmxlIHdpdGggdmFsdWUgc2luY2UgaXQgaXMgb25seSB1c2Ugb25jZS4KCjIwMTUtMTItMDkgMTI6MjQ6MDkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgcnRwaml0dGVyYnVmZmVyOiBGaXggcGFja2V0IGRyb3BwaW5nIGFmdGVyIGEgYmlnIGRpc2NvbnQKCSAgV2Ugd291bGQgcXVldWUgNSBjb25zZWN0aXZlIHBhY2tldHMgYmVmb3JlIGNvbnNpZGVyaW5nIGEgcmVzZXQgYW5kIGEgcHJvcGVyCgkgIGRpc2NvbnQgaGVyZS4gSW5zdGVhZCBvZiBleHBlY3RpbmcgdGhlIG5leHQgb3V0cHV0IHBhY2tldCB0byBoYXZlIHRoZSBjdXJyZW50CgkgIHNlcW51bSAoaS5lLiB0aGUgZmlmdGgpLCBleHBlY3QgaXQgdG8gaGF2ZSB0aGUgZmlyc3Qgc2VxbnVtLiBPdGhlcndpc2Ugd2UncmUKCSAgZ29pbmcgdG8gZHJvcCBhbGwgcXVldWVkIHVwIHBhY2tldHMuCgoyMDE1LTEyLTA5IDExOjQ5OjAyICswNTMwICBSYXZpIEtpcmFuIEsgTiA8cmF2aS5raXJhbkBzYW1zdW5nLmNvbT4KCgkqIGdzdC9pbnRlcmxlYXZlL2ludGVybGVhdmUuaDoKCSAgaW50ZXJsZWF2ZTogUmVtb3ZlIHVuc2VkIGZpZWxkCgkgIFJlbW92ZSB1bnVzZWQgZmllbGQgY29sbGVjdF9ldmVudCBpbiBpbnRlcmxlYXZlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU5MjI2CgoyMDE1LTEyLTA3IDE2OjMzOjE0ICswMTAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IFN0b3AgcHVzaGluZyBkYXRhIGFzIHNvb24gYXMgcG9zc2libGUgaW4gcHVzaC1tb2RlCgkgIFdoZW4gd29ya2luZyBpbiBwdXNoLW1vZGUsIHdlIGF0dGVtcHQgdG8gcHVzaCBvdXQgZXZlcnl0aGluZyBjdXJyZW50bHkKCSAgYnVmZmVyZWQgaW4gdGhlIGFkYXB0ZXIuCgkgIFRoaXMgaGFzIHR3byBwaXRmYWxsczoKCSAgKiBXZSBjb3VsZCBzdG9wIGVhcmxpZXIgKHRoZSBtb21lbnQgd2UgZ2V0IGEgbm9uLW9rIG9yIG5vbi1ub3QtbGlua2VkKQoJICAqIFdlIHJldHVybiB0aGUgbGFzdCBjb21iaW5lZCBmbG93IHJldHVybiwgd2hpY2ggbWlnaHQgYmUgY29tcGxldGVseQoJICBkaWZmZXJlbnQgZnJvbSB0aGUgcHJldmlvdXMgY29tYmluZWQgZmxvdyByZXR1cm4KCjIwMTUtMTItMDcgMDk6MDg6MDkgLTA1MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvLnVrPgoKCSogYXV0b2dlbi5zaDoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSBiMzE5OTA5IHRvIDg2ZTQ2NjMKCjIwMTUtMTItMDcgMTQ6NDE6NTEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkgIHJ0cHNlc3Npb246IEFkZCBhIHdhcm5pbmcgaWYgYW4gZW1wdHkgUlRDUCBwYWNrZXQgaXMgdHJpZWQgdG8gYmUgc2VudAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU5MTE5CgoyMDE1LTExLTMwIDE5OjIwOjEzIC0wNTAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC92cHgvZ3N0dnA4ZGVjLmM6CgkqIGV4dC92cHgvZ3N0dnA4ZGVjLmg6CgkqIGV4dC92cHgvZ3N0dnA5ZGVjLmM6CgkqIGV4dC92cHgvZ3N0dnA5ZGVjLmg6CgkgIHZweGRlYzogVXNlIEdzdE1lbW9yeSB0byBhdm9pZCBjb3BpZXMKCSAgV2l0aCB0aGUgVlBYIGRlY29kZXJzIGl0J3Mgbm90IHNpbXBsZSB0byB1c2UgZG93bnN0cmVhbSBidWZmZXIgcG9vbCwKCSAgYmVjYXVzZSB3ZSBkb24ndCBrbm93IHRoZSBpbWFnZSBzaXplIGFuZCBhbGlnbm1lbnQgd2hlbiBidWZmZXJzIGdldAoJICBhbGxvY2F0ZWQuIFdlIGNhbiB0aG91Z2ggdXNlIEdzdEFsbG9jYXRvciAoZm9yIGRvd25zdHJlYW0sIG9yIHRoZSBzeXN0ZW0KCSAgYWxsb2NhdG9yKSB0byBhdm9pZCBhIGNvcHkgYmVmb3JlIHB1c2hpbmcgaWYgZG93bnN0cmVhbSBzdXBwb3J0cwoJICBHc3RWaWRlb01ldGEuIFRoaXMgd291bGQgc3RpbGwgY2F1c2UgYSBjb3B5IGZvciBzaW5rIHRoYXQgcmVxdWlyZXMKCSAgc3BlY2lhbGl6ZWQgbWVtb3J5IGFuZCBkb2VzIG5vdCBoYXZlIGEgR3N0QWxsb2NhdG9yIGZvciB0aGF0LCB0aG91Z2gKCSAgaXQgd2lsbCBncmVhdGx5IGltcHJvdmUgcGVyZm9ybWFuY2UgZm9yIHNpbmsgbGlrZSBnbGltYWdlc2luayBhbmQKCSAgY2x1dHRlcnNpbmsuIFRvIGF2b2lkIGFsbG9jYXRpbmcgZm9yIGV2ZXJ5IGJ1ZmZlciwgd2UgYWxzbyB1c2UgYQoJICBpbnRlcm5hbCBidWZmZXIgcG9vbC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NTM3MgoKMjAxNS0xMS0zMCAwODo0MjozNSArMDEwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWFjcGFyc2UuYzoKCSAgYWFjcGFyc2U6IEF2b2lkIG92ZXItc2tpcHBpbmcgd2hlbiBjaGVja2luZyBMT0FTIGNvbmZpZwoJICBUaGVyZSBtaWdodCBiZSBtdWx0aXBsZSBMT0FTIGNvbmZpZyBpbiBhIHJvdyBpbiBhIGZ1bGwgZnJhbWUuIFRoZSBmaXJzdAoJICBvbmUgbWlnaHQgYmUgYSBtdWx0aS1sYXllciBjb25maWcgKHdoaWNoIHdlIGNhbid0IHByb3Blcmx5IHBhcnNlIHlldCkuLi4KCSAgYnV0IHRoZW4gZm9sbG93ZWQgYnkgYSB2YWxpZCAoc2luZ2xlLWxheWVyKSBvbmUuCgkgIFRoZSBjb2RlIHdhcyBwcmV2aW91c2x5IHNraXBwaW5nIHdob2xlIGZyYW1lcyAoaW5zdGVhZCBvZiBqdXN0IHRoZSBMT0FTCgkgIGNvbmZpZyB3ZSBmYWlsZWQgdG8gcmVhZCkgcmVzdWx0aW5nIGluIG11bHRpcGxlIGZyYW1lcyAoc2VlbiB1cCB0byA2cyBpbgoJICBzb21lIHNpdHVhdGlvbikgYmVpbmcgZHJvcHBlZCBiZWZvcmUgZmluYWxseSBnZXR0aW5nIHRoZSBjb25maWd1cmF0aW9uLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU4ODI2CgoyMDE1LTExLTI1IDE3OjA4OjU2ICswMTAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICBhdmlkZW11eDogUHJvcGVybHkgc2V0IFNQQVJTRSBzdHJlYW0gZmxhZ3MgZm9yIHN1YnBpY3R1cmUvc3VidGl0bGUKCSAgQW5kIHdoaWxlIHdlJ3JlIGF0IGl0LCBhbHNvIGRldGVjdCAnRFhTQScgYXMgYmVpbmcgYSB2YXJpYW50IGZvdXJjYwoJICBvZiAnRFhTQicgZm9yIFhTVUIKCjIwMTUtMTEtMzAgMjE6MjM6NTIgLTA4MDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQG9zZy5zYW1zdW5nLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3NvdXBodHRwc3JjLmM6CgkgIHRlc3RzOiBzb3VwaHR0cHNyYzogZ3JhbW1hciBmaXgKCjIwMTUtMTEtMzAgMjE6MDE6MTcgLTA4MDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQG9zZy5zYW1zdW5nLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3NvdXBodHRwc3JjLmM6CgkgIHRlc3RzOiBzb3VwaHR0cHNyYzogc3dpdGNoIHNob3V0Y2FzdCBzdHJlYW0gcHJvdmlkZXIKCSAgRml4ZXMgZmFpbGluZyBJQ1kgdGVzdC4gUHJldmlvdXMgcHJvdmlkZXIgaGFzCgkgIHN0cmVhbWluZyBkaXNhYmxlZCBvdXRzaWRlIFVLLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU4MTE0CgoyMDE1LTExLTE4IDE2OjEwOjExICswMTAwICBNaWNoYWVsIE9sYnJpY2ggPG0ub2xicmljaEBwZW5ndXRyb25peC5kZT4KCgkqIGdzdC9hdmkvZ3N0YXZpbXV4LmM6CgkgIGF2aW11eDogZG9uJ3QgY3Jhc2ggaWYgd2UgbmV2ZXIgZ290IGF1ZGlvIGNhcHMgYmVmb3JlIHN0b3BwaW5nCgkgIGF1ZHMuYmxvY2thbGlnbiBpcyBzZXQgb25jZSB0aGUgZmlyc3QgY2FwcyBhcnJpdmUuIElmCgkgIGdzdF9hdmlfbXV4X3N0b3BfZmlsZSgpIGlzIGNhbGxlZCBiZWZvcmUgdGhpcyBoYXBwZW5zIHRoZW4gYXVkcy5ibG9ja2FsaWduCgkgIGlzIHplcm8gYW5kIGdzdF9hdmlfbXV4X2F1ZHNpbmtfc2V0X2ZpZWxkcygpIGNhdXNlIGEgY3Jhc2g6CgkgIFsuLi5dCgkgIGF2aXBhZC0+cGFyZW50Lmhkci5yYXRlID0gYXZpcGFkLT5hdWRzLmF2X2JwcyAvIGF2aXBhZC0+YXVkcy5ibG9ja2FsaWduOwoJICBbLi4uXQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU4OTEyCgoyMDE1LTEyLTAxIDE4OjIwOjIzICswMTAwICBXaW0gVGF5bWFucyA8d3RheW1hbnNAcmVkaGF0LmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkgIHY0bDJidWZmZXJwb29sOiBkb24ndCBibG9jayB3aGVuIHJlc3VyZWN0aW5nIGEgYnVmZmVyCgkgIFdoZW4gd2UgYXJlIHJlc3VyZWN0aW5nIGEgYnVmZmVyLCBkb24ndCBibG9jay4gaW5zdGVhZCBsZXQgdXMgY29weSBhCgkgIGJ1ZmZlci4KCjIwMTUtMTItMDEgMDA6MzA6MDggLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOgoJICB3YXZwYXJzZTogcmVtb3ZlIGV4dHJhIHZhcmlhYmxlIHRvIGltcHJvdmUgcmVhZGFiaWxpdHkKCSAgTWFrZXMgaXQgZWFzaWVyIHRvIHNlZSB0aGF0IHRoZSBldmVudCBpcyBiZWluZyByZXBsYWNlZC91bnJlZmVkCgoyMDE1LTEyLTAxIDAwOjIyOjM2IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzoKCSAgd2F2cGFyc2U6IHJlc3BlY3Qgc2VxbnVtIGluIHNlZWsgZXZlbnRzCgkgIFByb3BhZ2F0ZSB0aGUgb3JpZ2luYWwgc2VlayBzZXFudW0gdG8gZXZlbnRzIG9yaWdpbmF0ZWQgZnJvbQoJICBzZWVraW5nIHRvIG1ha2Ugc3VyZSB0aGV5IGhhdmUgdGhlIHNhbWUgdmFsdWUKCjIwMTUtMTItMDEgMDA6MDM6MjEgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOgoJICB3YXZwYXJzZTogZmx1c2ggdXBzdHJlYW0gd2hlbiBzZWVraW5nIGluIHB1bGwgbW9kZQoJICBNYWtlcyBzdXJlIHVwc3RyZWFtIHdpbGwgdW5ibG9jayBhbmQgcmV0dXJuIHRoZSB0aHJlYWQgc28gdGhhdAoJICBzZWVraW5nIGNhbiBjb250aW51ZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU4ODYxCgoyMDE1LTExLTI3IDA5OjI3OjI5ICswMTAwICBBbnRvbiBCb25kYXJlbmtvIDxhbnRvbmJvQGF4aXMuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBoMjY0cGF5LmM6CgkgIHJ0cGgyNjRwYXk6IGFkZCAic2VuZCBTUFMvUFBTIHdpdGggZXZlcnkga2V5IGZyYW1lIiBtb2RlCgkgIEl0J3Mgbm90IGVub3VnaCB0byBoYXZlIHRpbWVvdXQgb3IgZXZlbnQgYmFzZWQgU1BTL1BQUyBpbmZvcm1hdGlvbiBzZW50CgkgIGluIFJUUCBwYWNrZXRzLiBUaGVyZSBhcmUgc29tZSBzY2VuYXJpb3Mgd2hlbiBrZXkgZnJhbWVzIG1heSBhcHBlYXIKCSAgbW9yZSBmcmVxdWVudGx5IHRoYW4gb25jZSBhIHNlY29uZCwgaW4gd2hpY2ggY2FzZSB0aGUgbWluaW11bSB0aW1lb3V0CgkgIGZvciAiY29uZmlnLWludGVydmFsIiBvZiAxIHNlY29uZCBmb3Igc2VuZGluZyBTUFMvUFBTIGlzIG5vdCBzdWZmaWNpZW50LgoJICBJdCBtaWdodCBhbHNvIGJlIGRlc2lyYWJsZSBpbiBnZW5lcmFsIHRvIG1ha2Ugc3VyZSB0aGUgU1BTL1BQUyBpcwoJICBhdmFpbGFibGUgd2l0aCBldmVyeSBrZXlmcmFtZSAocGFja2V0IGxvc3MgYXNpZGUpLCBzbyByZWNlaXZlcnMgY2FuCgkgIGFjdHVhbGx5IHBpY2sgdXAgZGVjb2RpbmcgaW1tZWRpYXRlbHkgZnJvbSB0aGUgZmlyc3Qga2V5ZnJhbWUgaWYKCSAgU1BTL1BQUyBpcyBub3Qgc2lnbmFsZWQgb3V0IG9mIGJhbmQuCgkgIFRoaXMgcGF0Y2ggYWRkcyB0aGUgcG9zc2liaWxpdHkgdG8gc2VuZCBTUFMvUFBTIHdpdGggZXZlcnkga2V5IGZyYW1lLiBUaGlzCgkgIG1vZGUgY2FuIGJlIGVuYWJsZWQgYnkgc2V0dGluZyAiY29uZmlnLWludGVydmFsIiBwcm9wZXJ0eSB0byAtMS4gSW4gdGhpcwoJICBjYXNlIHRoZSBwYXlsb2FkZXIgd2lsbCBhZGQgU1BTIGFuZCBQUFMgYmVmb3JlIGV2ZXJ5IGtleSAoSURSKSBmcmFtZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1Nzg5MgoKMjAxNS0xMS0yNyAwOTowMzo1MSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2NHBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRwYXkuaDoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwLXBheWxvYWRpbmcuYzoKCSAgcnRwaDI2NHBheTogY2hhbmdlIGNvbmZpZy1pbnRlcnZhbCBwcm9wZXJ0eSB0eXBlIGZyb20gdWludCB0byBpbnQKCSAgVGhpcyB3YXkgd2UgY2FuIHVzZSAtMSBhcyBzcGVjaWFsIHZhbHVlLCB3aGljaCBpcyBuaWNlciB0aGFuIE1BWFVJTlQuCgkgIFRoaXMgaXMgYmFja3dhcmRzIGNvbXBhdGlibGUgZXZlbiB3aXRoIHRoZSBHVmFsdWUgQVBJLCBhcyBzaG93biBieQoJICBhIHVuaXQgdGVzdC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1Nzg5MgoKMjAxNS0xMS0yNiAyMTo0NjoxMSArMDAwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpc2JnQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBhZGQgc3VwcG9ydCBmb3IgT3B1cwoJICBBZGQgc3VwcG9ydCBmb3IgZGVtdXhpbmcgT3B1cyBlbmNhcHN1bGF0ZWQgaW4gTVA0IGZpbGVzLCBiYXNlZCBvbiB0aGUKCSAgZm9sbG93aW5nIHNwZWM6IGh0dHBzOi8vd3d3Lm9wdXMtY29kZWMub3JnL2RvY3Mvb3B1c19pbl9pc29ibWZmLmh0bWwKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0MjY0MwoKMjAxNS0xMS0yNSAyMjo0ODozMiArMDAwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpc2JnQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiB1c2UgbWFjcm8gZm9yIGNvZGVjX25hbWUKCSAgVXNlIF9jb2RlYygpIG1hY3JvIGluc3RlYWQgb2YgZHVwbGljYXRpbmcgY29kZS4KCjIwMTUtMDMtMjUgMTY6MzI6NTUgKzAxMDAgIFBoaWxpcHAgWmFiZWwgPHAuemFiZWxAcGVuZ3V0cm9uaXguZGU+CgoJKiBzeXMvdjRsMi9nc3R2NGwydmlkZW9kZWMuYzoKCSAgdjRsMjogdmlkZW9kZWM6IGNob29zZSBmb3JtYXQgZnJvbSBjYXBzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzM4MjcKCjIwMTUtMDMtMjcgMTU6MDI6MzMgKzAxMDAgIFBoaWxpcHAgWmFiZWwgPHAuemFiZWxAcGVuZ3V0cm9uaXguZGU+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuaDoKCSAgdjRsMjogYWRkIGdzdF92NGwyX29iamVjdF9wcm9iZV9jYXBzCgkgIEFkZCBhIHZhcmlhbnQgb2YgZ3N0X3Y0bDJfb2JqZWN0X2dldF9jYXBzIHRoYXQgYnlwYXNzZXMgdGhlIHByb2JlZF9jYXBzIGNhY2hlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMzODI3CgoyMDE1LTExLTE5IDE3OjIwOjU1IC0wNTAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyLmM6CgkgIHY0bDItcHJvYmU6IFNraXAgZGV2aWNlcyB3aXRob3V0IHN1cHBvcnRlZCBmb3JtYXRzCgoyMDE1LTExLTEzIDEyOjM1OjU5IC0wNTAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIHN5cy92NGwyL2dzdHY0bDIuYzoKCSAgdjRsMjogVHJhY2sgL2Rldi92aWRlbyogdG8gdHJpZ2dlcmVkIHJlcXVpcmVkIHByb2JlCgkgIElmIHNvbWV0aGluZyBpbiAvZGV2L3ZpZGVvKiBnZXQgYWRkZWQsIHJlbW92ZWQgb3IgcmVwbGFjZWQsIHdlIG5lZWQgdG8KCSAgcHJvYmUgdGhlIGRldmljZXMgYWdhaW4gaW4gb3JkZXIgdG8gZW5zdXJlIHRoZSBkeW5hbWljIGRldmljZXMgYXJlIHVwIHRvCgkgIGRhdGUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTgwODUKCjIwMTUtMTEtMjUgMTQ6NTE6NDAgKzExMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJICBydHBtYW5hZ2VyOiBydHBzZXNzaW9uOiBkb24ndCBzZW5kIGVtcHR5IFJUQ1AgcGFja2V0cwoJICBnZW5lcmF0ZV9ydGNwIGNhbiBwcm9kdWNlIGVtcHR5IHBhY2tldHMgd2hlbiByZWR1Y2VkIHNpemUgUlRDUCBpcyB0dXJuZWQgb24uCgkgIFNraXAgdGhlbSBzaW5jZSBpdCBkb2Vzbid0IG1ha2Ugc2Vuc2UgdG8gcHVzaCB0aGVtIGFuZCB0aGV5IGNhdXNlIGVycm9ycyB3aXRoCgkgIGVsZW1lbnRzIHRoYXQgZXhwZWN0IFJUQ1AgcGFja2V0cyB0byBjb250YWluIGRhdGEgKGxpa2Ugc3J0cGVuYykuCgoyMDE1LTExLTI0IDEwOjU3OjI4IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogcmVzdG9yZSB0aGUgc2VnbWVudCBvbiBjYXNlIG9mIHNvZnQgcmVzZXQKCSAgV2hlbiBzZWVraW5nIGJhY2sgdG8gcmVzdG9yZSB0aGUgbWRhdCBwb3NpdGlvbiBhIGZsdXNoIGlzIHB1c2hlZAoJICB0aHJvdWdoIGFuZCBpdCByZXNldHMgZG93bnN0cmVhbSBzZWdtZW50IGluZm9ybWF0aW9uLiBNYWtlIHN1cmUKCSAgdGhhdCBhZnRlciB0aGUgZmx1c2ggKHRoYXQgZG9lcyBhIHNvZnQgcmVzZXQpIGEgc2VnbWVudCB3aWxsCgkgIGJlIHB1c2hlZCBhZ2FpbgoJICBGaXhlcyByZWdyZXNzaW9ucyBzcG90dGVkIGF0CgkgIGh0dHBzOi8vY2kuZ3N0cmVhbWVyLm5ldC9qb2IvR1N0cmVhbWVyLW1hc3Rlci12YWxpZGF0ZS8yMTAwLwoKMjAxNS0xMS0yMCAxMjo0NDoyMiArMDAwMCAgR3JhaGFtIExlZ2dldHQgPG1pbmZyaW5Ac2hhcnAuZm0+CgoJKiBnc3QvbXVsdGlmaWxlL2dzdG11bHRpZmlsZXNpbmsuYzoKCSAgbXVsdGlmaWxlc2luazogZml4IHNwZWxsaW5nIG9mIHZhcmlhYmxlCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTgzOTAKCjIwMTUtMTEtMjAgMTE6MDU6NTEgKzAwMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXNiZ0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QvaXNvbXA0L2ZvdXJjYy5oOgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogdW5pdGUgZHVwbGljYXRlIEZvdXJDQwoJICBVbml0ZSBpbiBmb3VyY2MuaCB0aGUgRm91ckNDcyB0aGF0IGFyZSB1c2VkIHR3aWNlIG9yIG1vcmUgaW4gcXRkZW11eAoKMjAxNS0xMS0xOSAxNTozMzo0NSAtMDUwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMnRyYW5zZm9ybS5jOgoJKiBzeXMvdjRsMi9nc3R2NGwydmlkZW9kZWMuYzoKCSAgdjRsMjogRml4IGNhcHR1cmUvb3V0cHV0LWlvLW1vZGUgcHJvcGVydGllcwoJICBUaGVyZSB3YXMgc29tZSBtaXNzLW1hdGNoIGluIHRoZSBpbXBsZW1lbnRhdGlvbi4gVGhpcyBtYWtlcyBpdAoJICBjb25jaXN0ZW50LCB0aG91Z2ggZnVuY3Rpb25hbGx5IGl0IHdvcmtlZCwgZXhjZXB0IHRoZSB2aWRlbyBkZWNvZGVyCgkgIG91dHB1dC1pby1tb2RlIGdldHRlci4KCjIwMTUtMTEtMTkgMTk6NDg6MDYgKzAwMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXNiZ0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QvaXNvbXA0L2F0b21zLmM6CgkgIGF0b21zOiByZW1vdmUgdW51c2VkIGFyZ3VtZW50IG9mIGJ1aWxkX21vdl93YXZlX2V4dGVuc2lvbigpCgkgIEF0b21UcmFrICogdHJhayBhcmd1bWVudCBvZiBidWlsZF9tb3ZlX3dhdmVfZXh0ZW5zaW9uKCkgaXNuJ3QgdXNlZC4KCSAgUmVtb3ZpbmcgaXQuCgoyMDE1LTExLTE5IDE5OjI4OjIwICswMDAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzYmdAb3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0L2lzb21wNC9mb3VyY2MuaDoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IHJlbW92ZSBkdXBsaWNhdGUgRm91ckNDCgkgIFVzZSB0aGUgYXZhaWxhYmxlIEZvdXJDQ3MgaW4gZm91cmNjLmggaW5zdGVhZCBvZiBkdXBsaWNhdGluZyB0aGVtLgoKMjAxNS0xMS0xOSAxODozNjozOSArMDAwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpc2JnQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC9pc29tcDQvYXRvbXMuYzoKCSogZ3N0L2lzb21wNC9mb3VyY2MuaDoKCSogZ3N0L2lzb21wNC9nc3RxdG11eC5jOgoJICBpc29tcDQ6IGNlbnRyYWxpemUgYWxsIEZvdXJDQwoJICAxMCBGb3VyQ0NzIGdlbmVyYXRlZCB3aXRoIEdTVF9NQUtFX0ZPVVJDQygpIGluIGdzdHF0bXV4LmMgYW5kIGF0b21zLmMKCSAgYWxyZWFkeSBleGlzdCBpbiBmb3VyY2MuaC4gRG9uJ3QgZHVwbGljYXRlIHRoZXNlIGFuZCB1c2UgdGhlbSBkaXJlY3RseS4KCSAgUGx1cyBtb3ZpbmcgNiB0byBmb3VyY2MuaCwgdG8gY2VudHJhbGl6ZSB0aGVtIGFsbC4KCjIwMTUtMTEtMTkgMTc6MzI6MTIgKzAwMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXNiZ0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QvbWF0cm9za2Evd2VibS1tdXguYzoKCSAgbWF0cm9za2Evd2VibW11eDogZml4IG91dGRhdGVkIGV4YW1wbGUgbGF1bmNoIGxpbmVzCgkgIFVwZGF0ZSBnc3QtbGF1bmNoLTAuMTAgbGluZXMgdG8gZ3N0LWxhdW5jaC0xLjAKCjIwMTUtMTEtMTYgMTM6MjY6NTAgKzAwMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXNiZ0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QvaXNvbXA0L2F0b21zLmM6CgkqIGdzdC9pc29tcDQvYXRvbXMuaDoKCSogZ3N0L2lzb21wNC9mb3VyY2MuaDoKCSogZ3N0L2lzb21wNC9nc3RxdG11eC5jOgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4bWFwLmM6CgkgIGlzb21wNDogYWRkIHN1cHBvcnQgZm9yIE9wdXMgaW4gbXA0bXB1eAoJICBBZGQgc3VwcG9ydCBmb3IgbXV4aW5nIE1QNCBmaWxlcyBjb250YWluaW5nIE9wdXMuIEJhc2VkIG9uIHRoZSBzcGVjCgkgIGRldGFpbGVkIGhlcmU6CgkgIGh0dHBzOi8vd3d3Lm9wdXMtY29kZWMub3JnL2RvY3Mvb3B1c19pbl9pc29ibWZmLmh0bWwKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0MjY0MwoKMjAxNS0xMS0xOCAxOToxMDo1NiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBSZXBsYWNlIHRhYnMgd2l0aCBzcGFjZXMKCjIwMTUtMTEtMTggMTk6MDc6NTMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogQ2FzdCB0byBzaWduZWQgaW50ZWdlcnMgdG8gcHJldmVudCB1bnNpZ25lZCBjb21wYXJlIGJldHdlZW4gbmVnYXRpdmUgYW5kIHBvc2l0aXZlIG51bWJlcnMKCSAgVGhpcyBmaXhlcyBzZWVraW5nIGlmIHRoZSBmaXJzdCBlbnRyaWVzIGluIHRoZSBzYW1wbGVzIHRhYmxlIGFyZSBuZWdhdGl2ZS4gVGhlCgkgIGJpbmFyeSBzZWFyY2ggd291bGQgYWx3YXlzIGZhaWwgb24gdGhpcyBhcyB0aGUgYXJyYXkgd291bGQgbm90IGJlIHNvcnRlZCBpZgoJICBpbnRlcnByZXRpbmcgdGhlIG5lZ2F0aXZlIG51bWJlcnMgYXMgaHVnZSBwb3NpdGl2ZSBudW1iZXJzLiBUaGlzIGNhdXNlZCB1cyB0bwoJICBhbHdheXMgb3V0cHV0IGJ1ZmZlcnMgZnJvbSB0aGUgYmVnaW5uaW5nIGFmdGVyIGEgc2VlayBpbnN0ZWFkIG9mIGNsb3NlIHRvIHRoZQoJICBzZWVrIHBvc2l0aW9uLgoJICBBbHNvIGFkZCBhIGNhc2UgdG8gdGhlIGNvbXBhcmlzb24gZnVuY3Rpb24gZm9yIGVxdWFsaXR5LgoKMjAxNS0xMS0xOCAxNjowMTo0OCArMDAwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpc2JnQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSAgbWF0cm9za2FtdXg6IHJlbW92ZSBkdXBsaWNhdGUgY2hlY2sKCSAgV2Ugd2FudCAxIG9yIDIgc3RyZWFtaGVhZGVycywgdGhlIGNoZWNrICBpZiAoYnVmYXJyLT5sZW4gIT0gMSAmJgoJICBidWZhcnItPmxlbiAhPSAyKSBpcyBlbm91Z2guIE5vdCBuZWVkIHRvIGNoZWNrIGlmIGJ1ZmFyci0+bGVuIGlzIDw9IDAgb3IKCSAgPiAyNTUuCgoyMDE1LTExLTE4IDE0OjQ4OjM2ICswOTAwICBWaW5lZXRoIFRNIDx2aW5lZXRoLnRtQHNhbXN1bmcuY29tPgoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBjbGllbnRzaW5rLmM6CgkgIHNvdXBodHRwY2xpZW50c2luazogRml4IGVycm9yIGxlYWsgYW5kIGhhbmRsZSBlcnJvcgoJICBnX3RocmVhZF90cnlfbmV3IGFsbG93cyBmb3IgcG9zc2libGl0eSBvZiBmYWlsdXJlcy4gSW4gY2FzZSBpdCBmYWlscywKCSAgZXJyb3IgaXMgbm90IGhhbmRsZWQgYW5kIGxlYWtlZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1ODI2MAoKMjAxNS0xMS0xNSAxNzoxNjoyOSAtMDgwMCAgSm9zZXAgVG9ycmEgPG43NzBnYWxheHlAZ21haWwuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBnc3RkZXBheS5jOgoJICBydHBnc3RkZXBheTogUHJvcGVybHkgaGFuZGxlIGJhY2t3YXJkIGNvbXBhdCBmb3IgZXZlbnQgZGVzZXJpYWxpemF0aW9uCgkgIEFjdHVhbCBjb2RlIGlzIGNoZWNraW5nIGZvciBhIE5VTEwgdGVybWluYXRvciBhbmQgYSAnOycgdGVybWluYXRvciwKCSAgZm9yIGJhY2t3YXJkIGNvbXBhdCwgaW4gYSBjaGFpbmVkIHdheSB0aGF0IGNhdXNlIGFsbCBldmVudHMgYmVpbmcgcmVqZWN0ZWQuCgkgIFRoZSBwcm9wZXIgY29uZGl0aW9uIGlzIHRvIHJlamVjdCB0aGUgZXZlbnRzIHdoZW4gdGVybWluYXRvciBpc24ndAoJICBpbiBbJ1wwJywgJzsnXSBzZXQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTgxNTEKCjIwMTUtMTEtMTUgMTc6MTE6MDIgLTA4MDAgIEpvc2VwIFRvcnJhIDxuNzcwZ2FsYXh5QGdtYWlsLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cC1wYXlsb2FkaW5nLmM6CgkgIHRlc3RzOiBydHAtcGF5bG9hZGluZzogVGVzdCBmb3IgaGFuZGxpbmcgb2YgY3VzdG9tIGV2ZW50cyBpbiBydHBnc3QKCSAgQWRkIGEgc2ltcGxlIHRlc3QgdGhhdCBjaGVja3MgcHJvcGVyIHNlcmlhbGl6YXRpb24vZGVzZXJpYWxpemF0aW9uCgkgIG9mIGN1c3RvbSBldmVudHMgd2l0aCBydHBnc3RwYXkgYW5kIHJ0cGdzdGRlcGF5LgoKMjAxNS0xMS0xNiAxNjoyMzo0MyAtMDUwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogZXh0L3ZweC9nc3R2cDhkZWMuYzoKCSogZXh0L3ZweC9nc3R2cDlkZWMuYzoKCSAgdnB4ZGVjOiBVc2UgdGhyZWFkcyBvbiBtdWx0aS1jb3JlIHN5c3RlbXMKCSAgVGhpcyBhZGRzIGFuIGF1dG9tYXRpYyBtb2RlIHRvIHRoZSB0aHJlYWRzIHByb3BlcnR5IG9mIHZweGRlYyBpbiBvcmRlciB0bwoJICB1c2UgYXMgbWFueSB0aHJlYWRzIGFzIHRoZXJlIGlzIENQVSBvbiB0aGUgcGxhdGZvcm0uIFRoaXMgYnJpbmdzIGJhY2sKCSAgR1N0cmVhbWVyIFZQWCBkZWNvZGluZyBwZXJmb3JtYW5jZSBjbG9zZXIgdG8gd2hhdCBpcyBhY2hpZXZlZCBieSBvdGhlcgoJICBwbGF5ZXJzLCBpbmNsdWRpbmcgQ2hyb21pdW0uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTgxOTUKCjIwMTUtMTEtMTYgMTA6NTg6MzIgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBvbmx5IHNlbmQgaW5pdGlhbCBnYXBzIGZvciBub24tZnJhZ21lbnRlZCBzdHJlYW1zCgkgIEl0IHdvdWxkIGJlIHVudXN1YWwgdG8gaGF2ZSB0aGUgaGVhZGVyIHNlZ21lbnQgd2l0aCBhbiAnZWR0cycgYXRvbQoJICBpbmRpY2F0aW5nIGdhcHMgYXQgdGhlIGJlZ2lubmluZyB3aGVuIGhhbmRsaW5nIGZyYWdtZW50ZWQgc3RyZWFtcy4KCSAgVGhlIGhlYWRlciB1c3VhbGx5IGRvZXNuJ3QgY29udGFpbiBhbnkgdGltZXN0YW1waW5nIGluZm9ybWF0aW9uLCB0aGlzCgkgIHNob3VsZCBjb21lIGZyb20gdGhlIHBsYXlsaXN0L21hbmlmZXN0IGFuZCB0aGUgc2VnbWVudHMgd2l0aCBtZWRpYQoJICBpbiB0aG9zZSBzY2VuYXJpb3MuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTgxNzEKCjIwMTUtMTEtMTcgMDk6NDE6MzQgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBSZXZlcnQgIlJldmVydCAicXRkZW11eDogcmVzcGVjdCBxdCBzZWdtZW50cyBpbiBwdXNoLW1vZGUgZm9yIGVtcHR5IHN0YXJ0cyIiCgkgIFRoaXMgcmV2ZXJ0cyBjb21taXQgZDg0MmZmMjg4YTlkMDEyMTRhMDQ2YmVjYmZkOWNiZmYzYTRhY2VhMC4KCSAgVGhpcyB3YXMgcmV2ZXJ0ZWQgYnkgYWNjaWRlbnQKCjIwMTUtMTEtMTcgMTI6Mzk6MDUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvdWRwL2dzdHVkcHNyYy5jOgoJKiBnc3QvdWRwL2dzdHVkcHNyYy5oOgoJICB1ZHBzcmM6IEFkZCAibG9vcCIgcHJvcGVydHkgZm9yIGVuYWJsaW5nL2Rpc2FibGluZyBtdWx0aWNhc3QgbG9vcGJhY2sKCSAgT24gUE9TSVgsIElQX01VTFRJQ0FTVF9MT09QIGlzIGEgc2V0dGluZyBmb3IgdGhlIHNlbmRlciBzb2NrZXQuIE9uIFdpbmRvd3MgaXQKCSAgaXMgYSBzZXR0aW5nIGZvciB0aGUgcmVjZWl2ZXIgc29ja2V0LiBBcyBzdWNoIHdlIHdpbGwgbmVlZCBpdCBvbiB1ZHBzcmMgdG9vIHRvCgkgIGFsbG93IGZpbHRlcmluZyBvdXQgb3VyIG93biBtdWx0aWNhc3QgcGFja2V0cy4KCjIwMTUtMTEtMTYgMTM6NTI6MDUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgUmV2ZXJ0ICJxdGRlbXV4OiByZXNwZWN0IHF0IHNlZ21lbnRzIGluIHB1c2gtbW9kZSBmb3IgZW1wdHkgc3RhcnRzIgoJICBUaGlzIHJldmVydHMgY29tbWl0IDE0MmQ4ZTJkMjNlNTYwMmU3MzgyOTc3YWYxMDQzZDYyMTYyNWY4YzguCgoyMDE1LTExLTE2IDE2OjU2OjA0ICswOTAwICBWaW5lZXRoIFRNIDx2aW5lZXRoLnRtQHNhbXN1bmcuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IEZpeCBzdHJpbmcgbWVtb3J5IGxlYWsKCSAgVGhlIHN0cmluZyBnb3QgdXNpbmcgZ19zdHJkdXBfcHJpbnRmIHdpbGwgYmUgYWxsb2NhdGVkIG1lbW9yeQoJICBhbmQgc2hvdWxkIGJlIGZyZWVkIGFmdGVyIHVzZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1ODE2MQoKMjAxNS0xMS0xNCAyMTo1MToxMSAtMDgwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9Ab3NnLnNhbXN1bmcuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICB2NGwyL29iamVjdDogcmVtb3ZlIHVubmVjZXNzYXJ5IE5VTEwgY2hlY2sgYmVmb3JlIGdfZnJlZSgpCgoyMDE1LTExLTE0IDIxOjQ1OjI5IC0wODAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBzeXMvb3NzL2dzdG9zc3NyYy5jOgoJICBvc3NzcmM6IHJlbW92ZSB1bm5lY2Vzc2FyeSBOVUxMIGNoZWNrIGJlZm9yZSBnX2ZyZWUoKQoKMjAxNS0xMS0xNCAyMTo0MzoyNCAtMDgwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9Ab3NnLnNhbXN1bmcuY29tPgoKCSogc3lzL3N1bmF1ZGlvL2dzdHN1bmF1ZGlvc3JjLmM6CgkgIHN1bmF1ZGlvc3JjOiByZW1vdmUgdW5uZWNlc3NhcnkgTlVMTCBjaGVja3MgYmVmb3JlIGdfZnJlZSgpCgoyMDE1LTExLTE0IDIxOjM2OjMwIC0wODAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzoKCSAgd2F2cGFyc2U6IHJlbW92ZSB1bm5lY2Vzc2FyeSBOVUxMIGNoZWNrcyBiZWZvcmUgZ19mcmVlKCkKCjIwMTUtMTEtMTQgMjE6MzE6MDggLTA4MDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSAgbWF0cm9za2FtdXg6IHJlbW92ZSB1bm5lY2Vzc2FyeSBOVUxMIGNoZWNrcyBiZWZvcmUgZ19mcmVlKCkKCjIwMTUtMTEtMTQgMjE6MjY6MjEgLTA4MDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1yZWFkLWNvbW1vbi5jOgoJICBtYXRyb3NrYS9yZWFkLWNvbW1vbjogcmVtb3ZlIHVubmVjZXNzYXJ5IE5VTEwgY2hlY2tzIGJlZm9yZSBnX2ZyZWUoKQoKMjAxNS0xMS0xNCAyMDo0MzoxMCAtMDgwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9Ab3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0L2lzb21wNC9hdG9tcy5jOgoJICBpc29tcDQvYXRvbXM6IHJlbW92ZSB1bm5lY2Vzc2FyeSBOVUxMIGNoZWNrcyBiZWZvcmUgZ19mcmVlKCkKCjIwMTUtMTEtMTQgMjA6MzU6NTQgLTA4MDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwdGhlb3JhcGF5LmM6CgkgIHJ0cC90aGVvcmFwYXk6IHJlbW92ZSB1bm5lY2Vzc2FyeSBOVUxMIGNoZWNrcyBiZWZvcmUgZ19mcmVlKCkKCjIwMTUtMTEtMTQgMjA6MzM6NTQgLTA4MDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwdm9yYmlzcGF5LmM6CgkgIHJ0cC92b3JiaXNwYXk6IHJlbW92ZSB1bm5lY2Vzc2FyeSBOVUxMIGNoZWNrcyBiZWZvcmUgZ19mcmVlKCkKCjIwMTUtMTEtMTQgMjA6MzE6MzQgLTA4MDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwanBlZ3BheS5jOgoJICBydHAvanBlZ3BheTogcmVtb3ZlIHVubmVjZXNzYXJ5IE5VTEwgY2hlY2tzIGJlZm9yZSBnX2ZyZWUoKQoKMjAxNS0xMS0xNCAyMDoyNzowNCAtMDgwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9Ab3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBnc3RwYXkuYzoKCSAgcnRwZ3N0cGF5OiByZW1vdmUgdW5uZWNlc3NhcnkgTlVMTCBjaGVja3MgYmVmb3JlIGdfZnJlZSgpCgoyMDE1LTExLTE0IDIwOjIyOjA5IC0wODAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IHJlbW92ZSB1bm5lY2Vzc2FyeSBOVUxMIGNoZWNrcyBiZWZvcmUgZ19mcmVlKCkKCjIwMTUtMTEtMTQgMjA6MTQ6MjUgLTA4MDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC9mbHgvZ3N0Zmx4ZGVjLmM6CgkgIGZseGRlYzogcmVtb3ZlIHVubmVjZXNzYXJ5IE5VTEwgY2hlY2sgYmVmb3JlIGdfZnJlZSgpCgoyMDE1LTExLTE0IDIwOjA5OjU0IC0wODAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QvZWZmZWN0di9nc3RvcC5jOgoJICBlZmZlY3R2L29wdHY6IHJlbW92ZSB1bm5lY2Vzc2FyeSBOVUxMIGNoZWNrcyBiZWZvcmUgZ19mcmVlKCkKCjIwMTUtMTEtMTQgMjA6MDU6MDMgLTA4MDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC9lZmZlY3R2L2dzdHNoYWdhZGVsaWMuYzoKCSAgZWZmZWN0di9zaGFnYWRlbGljdHY6IHJlbW92ZSB1bm5lY2Vzc2FyeSBOVUxMIGNoZWNrcyBiZWZvcmUgZ19mcmVlKCkKCjIwMTUtMTEtMTQgMjA6MDE6NDMgLTA4MDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC9lZmZlY3R2L2dzdHJpcHBsZS5jOgoJICBlZmZlY3R2L3JpcHBsZTogcmVtb3ZlIHVubmVjZXNzYXJ5IE5VTEwgY2hlY2tzIGJlZm9yZSBnX2ZyZWUoKQoKMjAxNS0xMS0xNCAxOTo1Njo1NyAtMDgwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9Ab3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0L2VmZmVjdHYvZ3N0cmFkaW9hYy5jOgoJICBlZmZlY3R2L3JhZGlvYWM6IHJlbW92ZSB1bm5lY2Vzc2FyeSBOVUxMIGNoZWNrcyBiZWZvcmUgZ19mcmVlKCkKCjIwMTUtMTEtMTQgMTk6NTI6MTIgLTA4MDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC9lZmZlY3R2L2dzdHN0cmVhay5jOgoJICBlZmZlY3R2L3N0cmVhazogcmVtb3ZlIHVubmVjZXNzYXJ5IE5VTEwgY2hlY2sgYmVmb3JlIGdfZnJlZSgpCgoyMDE1LTExLTE0IDE3OjA0OjU1IC0wODAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBleHQvc2hvdXQyL2dzdHNob3V0Mi5jOgoJICBzaG91dDI6IHJlbW92ZSB1bm5lY2Vzc2FyeSBOVUxMIGNoZWNrcyBiZWZvcmUgZ19mcmVlKCkKCjIwMTUtMTEtMTQgMTY6NTc6MTMgLTA4MDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGV4dC92cHgvZ3N0dnA5ZW5jLmM6CgkgIHZwOWVuYzogcmVtb3ZlIHVubmVjZXNzYXJ5IE5VTEwgY2hlY2sgYmVmb3JlIGdfZnJlZSgpCgoyMDE1LTExLTE0IDE2OjU0OjQyIC0wODAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBleHQvdnB4L2dzdHZwOGVuYy5jOgoJICB2cDhlbmM6IHJlbW92ZSB1bm5lY2Vzc2FyeSBOVUxMIGNoZWNrIGJlZm9yZSBnX2ZyZWUoKQoKMjAxNS0xMS0xNCAxNjoyMDozMyAtMDgwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9Ab3NnLnNhbXN1bmcuY29tPgoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzoKCSAgc291cGh0dHBzcmM6IHJlbW92ZSB1bm5lY2Vzc2FyeSBOVUxMIGNoZWNrcyBiZWZvcmUgZ19mcmVlKCkKCjIwMTUtMTEtMTMgMTM6MzQ6MDIgKzAxMDAgIEF1csOpbGllbiBaYW5lbGxpIDxhdXJlbGllbi56YW5lbGxpQHBhcnJvdC5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIHY0bDJvYmplY3Q6IGFkZCBzdXBwb3J0IG9mIE5WMTYsIE5WNjEgYW5kIE5WMjQgZm9ybWF0cwoJICBNYXBwZWQgcmVzcGVjdGl2ZWx5IHRvIFY0TDJfUElYX0ZNVF9OVjE2L1Y0TDJfUElYX0ZNVF9OVjE2TSwKCSAgVjRMMl9QSVhfRk1UX05WNjEsVjRMMl9QSVhfRk1UX05WNjFNIGFuZCBWNEwyX1BJWF9GTVRfTlYyNCB2NGwyIGZvcm1hdHMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTgwNTgKCjIwMTUtMTEtMTEgMTQ6MTA6NTMgKzA5MDAgIFZpbmVldGggVE0gPHZpbmVldGgudG1Ac2Ftc3VuZy5jb20+CgoJKiBnc3QvbXVsdGlmaWxlL2dzdHNwbGl0bXV4cGFydHJlYWRlci5jOgoJICBzcGxpdG11eHBhcnRyZWFkZXI6IEZpeCBHQ29uZCBsZWFrCgkgIGluYWN0aXZlX2NvbmQgaXMgbm90IGJlaW5nIGNsZWFyZWQgcmVzdWx0aW5nIGluIG1lbW9yeSBsZWFrLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU3OTI0CgoyMDE1LTA4LTA2IDEyOjQ0OjIwICswOTAwICBWaW5lZXRoIFRNIDx2aW5lZXRoLnRtQHNhbXN1bmcuY29tPgoKCSogZXh0L2pwZWcvZ3N0anBlZ2RlYy5jOgoJICBqcGVnZGVjOiBmaXggb3V0cHV0IHN0YXRlIG1lbW9yeSBsZWFrCgkgIFdoZW4ganBlZ19maW5pc2hfZGVjb21wcmVzcyBpcyBjYWxsZWQsIG91dHB1dCBzdGF0ZSByZWZlcmVuY2UgaXMgYmVpbmcgY3JlYXRlZC4KCSAgQnV0IGlmIHRoZXJlIGlzIGFueSBmYWlsdXJlcyBpbiBmaW5pc2hpbmcgZGVjb21wcmVzcywgaXQganVtcHMgdG8gc2V0am1wLAoJICBhbmQgYXQgdGhhdCBwb2ludCBzdGF0ZSB3YXMgbm90IHJlZmVyZW5jZWQuIFJlc3VsdGluZyBpbiBsZWFrIG9mIG91dHB1dCBzdGF0ZS4KCSAgSGVuY2UgYWRkaW5nIGFub3RoZXIgc2V0am1wIGFmdGVyIG91dHB1dCBzdGF0ZSBpcyByZWZlcmVuY2VkLgoJICBTaW1pbGFybHkgYWRkaW5nIGFub3RoZXIgc2V0am1wIHRvIHVubWFwIHRoZSBmcmFtZSBpbiBjYXNlIGVycm9yIGhhcHBlbnMgYmVmb3JlCgkgIGZpbmlzaF9kZWNvbXByZXNzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTMwODcKCjIwMTUtMDgtMTAgMTE6MjM6NDUgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiByZXNwZWN0IHF0IHNlZ21lbnRzIGluIHB1c2gtbW9kZSBmb3IgZW1wdHkgc3RhcnRzCgkgIEluIHB1c2gtbW9kZSBpdCBpcyBoYXJkIHRvIHN1cHBvcnQgcXQgc2VnbWVudHMgb3ZlcmFsbCBidXQgaXQgaXMKCSAgcG9zc2libGUgdG8gc3VwcG9ydCB3aGVuIHRoZSBmaWxlIGlzbid0IGhlYXZpbHkgZWRpdGVkIGJ1dCBqdXN0IGNvbnRhaW4KCSAgYSBzZWdtZW50IHRvIGluZGljYXRlIGEgZ2FwIGF0IHRoZSBiZWdpbm5pbmcuIFRoaXMgYWxzbyBhbGxvd3MgcHJvcGVybHkKCSAgdGltZXN0YW1waW5nIGRhdGEgdGhhdCBoYXMgbmVnYXRpdmUgRFRTIGluIHB1c2gtbW9kZS4KCSAgSXQgaXMgcmVsZXZhbnQgdG8gc3VwcG9ydCB0aG9zZSBmb3IgMiBzY2VuYXJpb3M6CgkgIDEpIGZyYWdtZW50ZWQgc3RyZWFtaW5nCgkgIDIpIEhUVFAgcGxheWJhY2sgb2YgJ3JlZ3VsYXInIG1wNAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUzNDg0CgoyMDE1LTExLTA1IDE4OjM5OjMzICswNTMwICBOaXJiaGVlayBDaGF1aGFuIDxuaXJiaGVla0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvcHVsc2UvcHVsc2VkZXZpY2Vwcm92aWRlci5jOgoJICBwdWxzZTogRG9uJ3QgbGVhayBjYXBzIGFuZCBzdHJ1Y3R1cmVzIGluIHRoZSBkZXZpY2UgcHJvdmlkZXIKCjIwMTUtMTEtMDQgMTk6MDE6MjAgKzA1MzAgIEFydW4gUmFnaGF2YW4gPGFydW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJICBydHBtYW5hZ2VyOiBEb2N1bWVudCBwcm9wZXJ0aWVzIHRoYXQgYXJlIGV4cHJlc3NlZCBpbiBiaXRzIHBlciBzZWNvbmQKCSAgVGhpcyBjaGFuZ2VkIGluIDkyOGNkMTEwYmNlYTVkMTQzY2FiM2VhNzQ3OTkxODUxZDUyZWNiYWQgYW5kCgkgIDczYzBjMjkyMGY5YWNhOTY5ODJhNGRlMGMyMGIzNDE3YWExNDhiODEgYnV0IHdhcyBub3QgZG9jdW1lbnRlZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0Nzg2MwoKMjAxNS0xMS0wNCAxODo1MTozMiArMDUzMCAgQXJ1biBSYWdoYXZhbiA8YXJ1bkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSAgcnRwbWFuYWdlcjogVHJpdmlhbCBnc3QtaW5kZW50IGZpeGVzCgoyMDE1LTA4LTEyIDEzOjM1OjQwICswMjAwICBQaGlsaXBwZSBOb3JtYW5kIDxwaGlsbkBpZ2FsaWEuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkqIGdzdC9pc29tcDQvcXRkZW11eC5oOgoJICBxdGRlbXV4OiBzdXBwb3J0IGZvciBjZW5jIGF1eGlsaWFyeSBpbmZvIHBhcnNpbmcgb3V0c2lkZSBvZiBtb29mIGJveAoJICBXaGVuIHRoZSBjZW5jIGF1eCBpbmZvIGluZGV4IGlzIG91dCBvZiBtb29mIGJvdW5kYXJpZXMsIGtlZXAgdHJhY2sgb2YKCSAgaXQgYW5kIHBhcnNlIHRoZSBiZWdpbm5pbmcgb2YgdGhlIG1kYXQgYm94LCBiZWZvcmUgdGhlIGZpcnN0IHNhbXBsZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NTYxNAoKMjAxNS0xMS0wMyAyMDozMzoxMCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYWRlbXV4OiBVc2UgY29kZWN1dGlscyBoZWxwZXJzIGZvciBjcmVhdGluZyBPcHVzIGNhcHMKCSAgQWxzbyBmaXggdXAgY29kZWMgZGF0YSB3aXRoIHZhbHVlcyBmcm9tIHRoZSBjb250YWluZXIuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTcxNTIKCjIwMTUtMTEtMDMgMTQ6NTE6NDggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2FkZW11eDogVGhlcmUgaXMgbm8gbXVsdGlzdHJlYW0gZmllbGQgZm9yIE9wdXMgYW55bW9yZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU3MTUyCgoyMDE1LTExLTAzIDEyOjQyOjUyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJKiBnc3QvbWF0cm9za2Evd2VibS1tdXguYzoKCSAgbWF0cm9za2Evd2VibW11eDogU3VwcG9ydCBPcHVzIGluIHdlYm1tdXggYW5kIFZQOSBpbiBtYXRyb3NrYW11eAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI5OTUwCgoyMDE1LTExLTAzIDEyOjQwOjE1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thZGVtdXg6IFBhcnNlIGFuZCBoYW5kbGUgQ29kZWNEZWxheSwgU2Vla1ByZXJvbGwgYW5kIERpc2NhcmRQYWRkaW5nCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjczMDUKCjIwMTUtMTEtMDMgMTI6MTg6MTkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtaWRzLmg6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSAgbWF0cm9za2FtdXg6IFdyaXRlIENvZGVjRGVsYXksIERpc2NhcmRQYWRkaW5nIGFuZCBTZWVrUHJlcm9sbCBmb3IgT3B1cwoJICBBbmQgYWxzbyBhZGp1c3QgdGltZXN0YW1wcyBhbmQgZHVyYXRpb25zIGFjY29yZGluZyB0byB0aGUgY29kZWMgZGVsYXksIGJvdGgKCSAgc2hvdWxkIGluY2x1ZGUgaXQgZm9yIHdoYXRldmVyIHJlYXNvbi4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyNzMwNQoKMjAxNS0xMS0wMyAxMTo0OTo1NCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSAgbWF0cm9za2FtdXg6IE9wdXMgaGVhZGVycyBhcmUgbm90IGluLWJhbmQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyNzMwNQoKMjAxNS0xMS0wMyAyMjowMTowNyArMDUzMCAgQXJ1biBSYWdoYXZhbiA8Z2l0QGFydW5yYWdoYXZhbi5uZXQ+CgoJKiBzeXMvdjRsMi9nc3R2NGwyLmM6CgkgIHY0bDI6IFNldCBPX0NMT0VYRUMgb24gdGhlIGRldmljZSBmZAoJICBUaGlzIGlzIG5lZWRlZCB0byBtYWtlIHN1cmUgdGhhdCBjaGlsZCBwcm9jZXNzZXMgZG9uJ3QgaW5oZXJpdCB0aGUgdmlkZW8KCSAgZGV2aWNlIGZkIHdoaWNoIGNhbiBjYXVzZSBwcm9ibGVtcyB3aXRoIHNvbWUgZHJpdmVycy4KCjIwMTUtMTEtMDMgMTQ6NDY6MzAgKzAwMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXNiZ0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgcnRwbWFuYWdlcjogc3dpdGNoIEdfR0lOVDY0X0ZPUk1BVCBmb3IgR1NUX1NUSU1FX0FSR1MKCSAgTm8gbmVlZCB0byB1c2UgR19HSU5UNjRfRk9STUFUIGZvciBwb3RlbnRpYWxseSBuZWdhdGl2ZSB2YWx1ZXMgb2YKCSAgR3N0Q2xvY2tUaW1lRGlmZi4gU2luY2UgMS42IHRoZXNlIGNhbiBiZSBoYW5kbGVkIHdpdGggR1NUX1NUSU1FX0FSR1MuCgkgIFBsdXMgaXQgY3JlYXRlcyBtb3JlIHJlYWRhYmxlIHZhbHVlcyBpbiB0aGUgbG9ncy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NzQ4MAoKMjAxNS0xMS0wMyAxNDoyNjoyOSArMDAwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpc2JnQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5jOgoJICBydHBtYW5hZ2VyOiB1c2UgR1NUX1NUSU1FX0FSR1MgZm9yIEdzdENsb2NrVGltZURpZmYKCSAgTm8gbmVlZCB0byBtYW51YWxseSBoYW5kbGUgbmVnYXRpdmUgdmFsdWVzIG9mIGRpZmYsIEdTVF9TVElNRV9BUkdTIGRvZXMKCSAgZXhhY3RseSB0aGlzLgoKMjAxNS0xMS0wMiAxNjo1MzoxNSArMDAwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpc2JnQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIyLmM6CgkgIHZpZGVvbWl4ZXI6IHVzZSBHU1RfU1RJTUVfQVJHUyBmb3IgR3N0Q2xvY2tUaW1lRGlmZgoJICBObyBuZWVkIHRvIG1hbnVhbGx5IGhhbmRsZSBuZWdhdGl2ZSB2YWx1ZXMgb2YgZGlmZiwgR1NUX1NUSU1FX0FSR1MgZG9lcwoJICBleGFjdGx5IHRoaXMuCgoyMDE1LTExLTAyIDE2OjQzOjQ2ICswMDAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzYmdAb3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmM6CgkgIGRlaW50ZXJsYWNlOiB1c2UgR1NUX1NUSU1FX0FSR1MgZm9yIEdzdENsb2NrVGltZURpZmYKCSAgTm8gbmVlZCB0byBtYW51YWxseSBoYW5kbGUgbmVnYXRpdmUgdmFsdWVzIG9mIGRpZmYsIEdTVF9TVElNRV9BUkdTIGlzCgkgIGF2YWlsYWJsZSBmb3IgdGhpcy4KCjIwMTUtMTAtMzAgMTA6MDU6MzcgKzA1MzAgIFJhdmkgS2lyYW4gSyBOIDxyYXZpLmtpcmFuQHNhbXN1bmcuY29tPgoKCSogZ3N0L2F1ZGlvZngvYXVkaW9jaGViYmFuZC5jOgoJICBhdWRpb2NoZWJiYW5kOiBGaXggdHlwbyBpbiBleGFtcGxlIHBpcGVsaW5lCgkgIEZpeCB0eXBvIGluIGV4YW1wbGUgcGlwZWxpbmUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTczNDAKCjIwMTUtMTAtMjggMjM6NDc6MzAgKzA1MzAgIE5pcmJoZWVrIENoYXVoYW4gPG5pcmJoZWVrQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJkZXZpY2Vwcm92aWRlci5jOgoJICB2NGwyOiBmaXggZG91YmxlLXVucmVmIGluIHRoZSB2NGwyIGRldmljZSBwcm92aWRlcgoKMjAxNS0xMC0yNyAxMDo0ODowMCArMDEwMCAgTmljb2xhIE11cmlubyA8bmljb2xhLm11cmlub0BnbWFpbC5jb20+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtaWRzLmM6CgkgIG1hdHJvc2thbXV4OiBkb24ndCBkcm9wIEpQRUcgZnJhbWVzIHRoYXQgb25seSBoYXZlIFBUUyBidXQgbm8gRFRTIHNldAoJICBGb3IgdGhlIE1TL1ZmVyBjb2RlYyBpZHMsIHdlIHdhbnQgdG8gd3JpdGUgRFRTIHRpbWVzdGFtcHMgaW5zdGVhZAoJICBvZiBQVFMgYmVjYXVzZSB0aGF0J3Mgd2hhdCBldmVyeW9uZSBlbHNlIHNlZW1zIHRvIGRvIChhbmQgaXQncyBhbHNvCgkgIGhvdyBpdCBpcyBpbiBBVkkpLiBTbyBmb3IgdGhvc2UgaW5wdXQgZm9ybWF0cyB3ZSB1c2UgdGhlIGJ1ZmZlciBEVFMKCSAgaW5zdGVhZCBvZiB0aGUgUFRTLiBIb3dldmVyLCBpZiB0aGVyZSdzIG5vIERUUyBzZXQgYnV0IG9ubHkgdGhlIFBUUwoJICB0aGVuIGp1c3QgdGFrZSB0aGUgUFRTIGluc3RlYWQgb2YgZHJvcHBpbmcgdGhlIGlucHV0IGJ1ZmZlci4gVGhpcwoJICBpcyB1c2VmdWwgZXNwZWNpYWxseSBmb3IgSS1mcmFtZSBvbmx5IGNvZGVjcyBsaWtlIEpQRUcgYW5kIGh1ZmZ5dXYsCgkgIGJ1dCBzaG91bGQgYWxzbyBiZSBmaW5lIGFzIGZhbGxiYWNrIGluIGdlbmVyYWwuCgkgIEZpeGVzIHJlZ3Jlc3Npb24gd2l0aCBpbnB1dCBKUEVHIGZyYW1lcyB0aGF0IG9ubHkgaGF2ZSBQVFMgc2V0IG9uIHRoZW0uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTY5NjcKCjIwMTUtMTAtMjQgMjM6NTc6MzggKzAyMDAgIEdlb3JnZSBLaWFnaWFkYWtpcyA8Z2VvcmdlLmtpYWdpYWRha2lzQGNvbGxhYm9yYS5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9zcGxpdG11eC5jOgoJICB0ZXN0cy9jaGVjay9zcGxpdG11eDogdGVzdCB0aGF0IHRoZSByZWxlYXNlX3BhZCB2ZnVuYyBvZiBzcGxpdG11eHNpbmsgYWN0dWFsbHkgcmVsZWFzZXMgcGFkcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUzNjIyCgoyMDE1LTEwLTI0IDIzOjU3OjI5ICswMjAwICBHZW9yZ2UgS2lhZ2lhZGFraXMgPGdlb3JnZS5raWFnaWFkYWtpc0Bjb2xsYWJvcmEuY29tPgoKCSogZ3N0L211bHRpZmlsZS9nc3RzcGxpdG11eHNpbmsuYzoKCSAgc3BsaXRtdXhzaW5rOiBkbyBub3QgZGVzdHJveSB0aGUgbXVsdGlxdWV1ZSAmIG11eGVyIHdoZW4gZ29pbmcgdG8gTlVMTAoJICBJbnN0ZWFkLCBkZWxheSBpdCB1bnRpbCBhbGwgcmVxdWVzdCBwYWRzIGhhdmUgYmVlbiByZWxlYXNlZC4gVGhpcyBpcwoJICBiZWNhdXNlIHRoZSByZWxlYXNlX3BhZCgpIHZmdW5jIHJlcXVpcmVzIHRoZSBtdWx0aXF1ZXVlIGFuZCBtdXhlciB0bwoJICBiZSB0aGVyZSBpbiBvcmRlciB0byByZWxlYXNlIHRoZWlyIHJlcXVlc3QgcGFkcyBhcyB3ZWxsLiBJZiB0aG9zZQoJICBlbGVtZW50cyBhcmUgZGVzdHJveWVkIGVhcmxpZXIsIHJlbGVhc2VfcGFkKCkgZG9lcyBub3Qgd29yaywgbm8KCSAgcGFkcyBhcmUgcmVsZWFzZWQgYW5kIHNvbWUgcmVzb3VyY2VzIGFyZSBsZWFrZWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTM2MjIKCjIwMTUtMTAtMjAgMTU6Mjg6MTAgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2FkZW11eDogUmVhZCBidWZmZXIgdGltZXN0YW1wICphZnRlciogYWN0dWFsbHkgc2V0dGluZyBpdAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU2ODA5CgoyMDE1LTEwLTI0IDE3OjE0OjA3ICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2F1ZGlvZngvZ3N0c2NhbGV0ZW1wby5jOgoJKiBnc3QvYXVkaW9meC9nc3RzY2FsZXRlbXBvLmg6CgkgIHNjYWxldGVtcG86IEZpeCBoYW5kbGluZyBvZiByYXRlIDwgMAoJICBXZSBoYXZlIHRvIHJldmVyc2UgYWxsIHNhbXBsZXMgaW4gYSBidWZmZXIgYmVmb3JlIHByb2Nlc3NpbmcgdGhlbSB0byBwcm9wZXJseQoJICBoYXZlIGNvbnRpbnVvdXMgZGF0YSBmcm9tIG9uZSBidWZmZXIgdG8gYW5vdGhlci4gQXMgYSByZXN1bHQgd2Ugd2lsbCBoYXZlIGEKCSAgbmVnYXRpdmUgYXBwbGllZCByYXRlIGFuZCBhIHJhdGUgb2YgMS4wLgoJICBBbHNvIG1ha2Ugc3VyZSB0aGF0IGlucHV0IGJ1ZmZlcnMgYXJlIGNvcnJlY3RseSBjbGlwcGVkIHRvIHRoZSBzZWdtZW50LAoJICBvdGhlcndpc2Ugb3VyIGNhbGN1bGF0aW9ucyBhcmUgZ29pbmcgdG8gZ28gd3JvbmcuCgkgIEFsc28gY29weSBvdmVyIHRoZSBzZWdtZW50IGV2ZW50J3Mgc2VxdWVuY2UgbnVtYmVyIHRvIHRoZSBvdXRwdXQgc2VnbWVudCB3aGlsZQoJICB3ZSdyZSBhdCBpdC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NzAzMwoKMjAxNS0xMC0xOSAxODowNDo1NiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmM6CgkgIGRlaW50ZXJsYWNlOiBicmVhayBhcyBzb29uIGFzIG5vbi1pbnRlcmxhY2VkIGlmIGZvdW5kCgkgIEl0IGxvb2tzIGZvciBhIG5vbi1pbnRlcmxhY2VkIGVudHJ5IG9uIHRoZSBmaWx0ZXIgY2FwcywgYnJlYWsKCSAgYXMgc29vbiBhcyBvbmUgaXMgZm91bmQgdG8gYXZvaWQgd2FzdGluZyBjcHUKCjIwMTUtMTAtMTkgMTc6NTA6MjggLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5jOgoJICBkZWludGVybGFjZTogaW1wbGVtZW50IGFjY2VwdC1jYXBzCgkgIEltcGxlbWVudCBhY2NlcHQtY2FwcyBoYW5kbGVyIHRvIGF2b2lkIGRvaW5nIGEgZnVsbCBjYXBzIHF1ZXJ5CgkgIGRvd25zdHJlYW0gdG8gaGFuZGxlIGl0LgoJICBUaGlzIGNvbW1pdCBpbXBsZW1lbnRzIGFjY2VwdC1jYXBzIGFzIGEgc2ltcGxpZmljYXRpb24gb2YgdGhlIF9nZXRjYXBzCgkgIGZ1bmN0aW9uLCBzbyBpdCBleHBvc2VzIHRoZSBzYW1lIGxpbWl0YXRpb25zIHRoYXQgZ2V0Y2FwcyB3b3VsZC4KCSAgRm9yIGV4YW1wbGUsIG5vdCBhY2NlcHRpbmcgcmVuZWdvdGlhdGlvbiB0byBjYXBzIHdpdGggY2Fwc2ZlYXR1cmVzIHdoZW4KCSAgaXQgd2FzIGxhc3QgY29uZmlndXJlZCB0byBhIGNhcHMgdGhhdCBpdCBoYXMgdG8gZGVpbnRlcmxhY2UuCgoyMDE1LTEwLTE5IDE3OjA2OjI4IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9kZWludGVybGFjZS5jOgoJICB0ZXN0czogZGVpbnRlcmxhY2U6IGZpeCBzbWFsbCB0eXBvIGluIGNvbW1lbnQKCjIwMTUtMTAtMjYgMDA6NDE6MjggKzExMDAgIEphbiBTY2htaWR0IDxqYW5AY2VudHJpY3VsYXIuY29tPgoKCSogdGVzdHMvZmlsZXMvTWFrZWZpbGUuYW06CgkgIGNoZWNrOiBEaXN0IHNwbGl0dmlkZW8wWzAxMl0ub2dnIHRlc3QgZmlsZXMuCgoyMDE1LTEwLTIzIDIwOjE2OjE3ICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2F1ZGlvZngvZ3N0c2NhbGV0ZW1wby5jOgoJKiBnc3QvYXVkaW9meC9nc3RzY2FsZXRlbXBvLmg6CgkgIHNjYWxldGVtcG86IEFkZCBzdXBwb3J0IGZvciBGNjQKCjIwMTUtMTAtMjIgMTc6NDA6MzggLTA3MDAgIE1pc2NoYSBTcGllZ2VsbW9jayA8bXNwaWVnZWxtb2NrQGdtYWlsLmNvbT4KCgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHAueG1sOgoJKiBnc3QvbXVsdGlwYXJ0L211bHRpcGFydGRlbXV4LmM6CgkqIGdzdC9ydHAvUkVBRE1FOgoJKiBnc3QvcnRwL2dzdHJ0cHZwOHBheS5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBydHhyZWNlaXZlLmM6CgkqIGdzdC91ZHAvZ3N0dWRwc3JjLmM6CgkgIGRvY3M6IE1pbm9yIGZpeGVzIGluIHZhcmlvdXMgcGxhY2VzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTY5OTYKCjIwMTUtMTAtMjEgMTc6NDM6MzEgKzAxMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXNiZ0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QvZ29vbS9wbHVnaW5faW5mby5jOgoJICBnb29tOiByZW1vdmUgY29tcGlsZXIgdHJpY2sKCSAgQWZ0ZXIgY29tbWl0IDJjYjZjZmVkMjIxNjZiMjYyYWU1MGNiNThmM2ZmMTFkZDhiYTkxZjkgdGhlcmUgaXMgbm8gbmVlZCB0bwoJICB0cmljayB0aGUgY29tcGlsZXIgYW55bW9yZSBhYm91dCB0aGUgdXNhZ2Ugb2YgdmFyaWFibGUgY3B1Rmxhdm91ci4KCjIwMTUtMTAtMjEgMTQ6MzU6MDIgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIGI5OTgwMGEgdG8gYjMxOTkwOQoKMjAxNS0xMC0yMSAxNzo0MTozOCArMDUzMCAgUmF2aSBLaXJhbiBLIE4gPHJhdmkua2lyYW5Ac2Ftc3VuZy5jb20+CgoJKiBnc3QvYXVkaW9meC9hdWRpb2Z4YmFzZWlpcmZpbHRlci5oOgoJICBhdWRpb2Z4OiByZW1vdmUgdW51c2VkIHZhcmlhYmxlCgkgIFJlbW92ZSB1bnN1ZWQgdmFyaWFibGUgaGF2ZV9jb2VmZnMgaW4gYXVkaW9meGJhc2VpaXJmaWx0ZXIKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NjkwNQoKMjAxNS0xMC0yMCAxNzoyOTo0MiArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgVXNlIG5ldyBHU1RfRU5BQkxFX0VYVFJBX0NIRUNLUyAjZGVmaW5lCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTY4NzAKCjIwMTUtMTAtMjEgMTQ6MjU6NTUgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBSRUFETUU6CgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gOWFlZDFkNyB0byBiOTk4MDBhCgoyMDE1LTEwLTIxIDExOjUzOjA5ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOgoJICBmbHZkZW11eDogcmVsYXggY3JlYXRpb24gdGltZSBwYXJzaW5nCgkgIFBhcnNlIHdyb25nIHRpbWVzdGFtcHMgbGlrZSB3ZSB1c2VkIHRvIHdyaXRlIGFzIHdlbGwsCgkgIGUuZy4gMTA6OTo0MiwgYW5kIHRoZSBob3VyIG1pZ2h0IGJlIHdpdGhvdXQgYSBsZWFkaW5nCgkgIHplcm8gaW4gYW55IGNhc2UuCgoyMDE1LTEwLTIxIDExOjQ1OjM1ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOgoJICBmbHZkZW11eDogZml4IGluZGVudGF0aW9uCgoyMDE1LTEwLTIxIDExOjQ0OjUwICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOgoJICBmbHZkZW11eDogZXh0cmFjdCBib3RoIGNyZWF0aW9uIGRhdGUgYW5kIHRpbWUKCSAgQmVmb3JlIHdlIG9ubHkgZXh0cmFjdGVkIHRoZSBkYXRlIHBhcnQuCgoyMDE1LTEwLTIxIDExOjE2OjAxICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2Zsdi9nc3RmbHZtdXguYzoKCSAgZmx2bXV4OiBmaXggd3JpdGluZyBvZiBjcmVhdGlvbiB0aW1lCgkgIERvbid0IHdyaXRlIHRpbWUgYXMgZS5nLiAxMTo5OjQyCgoyMDE1LTEwLTEzIDEyOjQyOjU2IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGoya3BheS5jOgoJICBydHBqMmtwYXk6IHVwZGF0ZSBmcmFnbWVudCBvZmZzZXQKCSAgSXQgd2FzIGFsd2F5cyBiZWluZyBzZXQgdG8gMCwgbWFraW5nIHRoZSByZXN1bHRpbmcgc3RyZWFtIGJyb2tlbgoJICBmb3IgdGhlIHJlY2VpdmVyCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTY0MjIKCjIwMTUtMTAtMTkgMTU6MzY6MzcgKzAzMDAgIFJ5YW4gSGVuZHJpY2tzb24gPHJ5YW4uaGVuZHJpY2tzb25AYWx1bS5taXQuZWR1PgoKCSogZ3N0L2lzb21wNC9nc3RxdG11eC5jOgoJICBxdG11eDogRG9uJ3QgdW5jb25kaXRpb25hbGx5IHVzZSBzdHJubGVuKCkKCSAgSXQncyBub3QgYXZhaWxhYmxlIG9uIG9sZGVyIE9TWCBhbmQgd2UgY2FuIGFzIHdlbGwgdXNlIG1lbWNocigpIGhlcmUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTYxNTQKCjIwMTUtMTAtMTkgMTc6Mzg6MzIgKzA5MDAgIFZpbmVldGggVE0gPHZpbmVldGgudG1Ac2Ftc3VuZy5jb20+CgoJKiBnc3QvYXVwYXJzZS9nc3RhdXBhcnNlLmM6CgkgIGF1cGFyc2U6IEZpeCBldmVudCBtZW1vcnkgbGVhawoJICBGcmVlIHRoZSBldmVudCBhZnRlciBiZWluZyBoYW5kbGVkIHRvIHByZXZlbnQgbWVtb3J5IGxlYWsuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTY3OTkKCjIwMTUtMTAtMTkgMDk6MTQ6MTkgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4bWFwLmM6CgkgIHF0bXV4OiB1bmlmeSByYXcgYXVkaW8gY2FwcyBpbnRvIGEgc2luZ2xlIGNhcHMgc3RydWN0dXJlCgoyMDE1LTEwLTE0IDE1OjQyOjUwIC0wNzAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogYWRkIHN1cHBvcnQgZm9yIEZGVjEgY29kZWQgc3RyZWFtcyBpbiBtb3YKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MjQ5NQoKMjAxNS0xMC0xNCAxNTo1MzoyNiArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6CgkgIHNvdXBodHRwc3JjOiBFT1MgaW1tZWRpYXRlbHkgaWYgd2UgaGF2ZSBhbiBlbXB0eSBzZWVrIHNlZ21lbnQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0ODMxNgoKMjAxNS0xMC0xNCAxMDo0MzoxOSArMDMwMCAgU3RhdnJvcyBWYWdpb25pdGlzIDxzdGF2cm9zdkBkaWdpc29mdC50dj4KCgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6CgkgIHNvdXBodHRwc3JjOiBNYWtlIG5vbi1pbmNsdXNpdmUgc2VnbWVudCBib3VuZGFyaWVzIGluY2x1c2l2ZQoJICBUaGUgcHJvYmxlbSBpcyB0aGF0IHRoZSBmaWxlc3JjIGFuZCBzb3VwaHR0cHNyYyBhcmUgYmVoYXZpbmcKCSAgZGlmZmVyZW50bHkgcmVnYXJkaW5nIHRoZSBjYWxjdWxhdGlvbiBvZiB0aGUgc2VnbWVudCBib3VuZGFyaWVzLiBUaGUKCSAgZmlsZXNyYyBpcyB1c2luZyBhIG5vbi1pbmNsdXNpdmUgYm91bmRhcmllcywgd2hpbGUgdGhlIHNvdXBodHRwc3JjCgkgIHVzZXMgaW5jbHVzaXZlLiBDdXJyZW50bHkgdGhlIGhsc2RlbXV4IGNhbGN1bGF0ZXMgdGhlIGJvdW5kYXJpZXMgYXMKCSAgaW5jbHVzaXZlLCBzbyBmb3IgdGhpcyByZWFzb24gdGhlcmUgaXMgbm8gcHJvYmxlbSB3aXRoIHRoZSBzb3VwaHR0cHNyYywKCSAgYnV0IHRoZXJlIGlzIGFuIGlzc3VlIGluIHRoZSBmaWxlc3JjLgoJICBUaGUgR3N0U2VnbWVudCBpcyBub24taW5jbHVzaXZlLCBzbyB0aGUgcHJvcG9zZWQgc29sdXRpb24gaXMgdG8gdXNlCgkgIG5vbi1pbmNsdXNpdmUgYm91bmRhcmllcyBpbiB0aGUgaGxzZGVtdXggaW4gb3JkZXIgdG8gYmUgY29uc2lzdGVudC4KCSAgTWFrZSB0aGUgY2hhbmdlIGluIHRoZSBobHNkZW11eCwgd2lsbCBicmVhayB0aGUgc291cGh0dHBzcmMsIHdoaWNoCgkgIHdpbGwgZXhwZWN0IGluY2x1c2l2ZSBib3VuZGFyaWVzLCBidXQgdGhlIGhsc2RlbXV4IHdpbGwgb2ZmZXIKCSAgbm9uLWluY2x1c2l2ZS4gVGhpcyBjaGFuZ2UgbWFrZXMgc3VyZSB0aGF0IHRoZSBub24taW5jbHVzaXZlCgkgIGJvdW5kYXJpZXMgYXJlIGNvbnZlcnRlZCB0byBpbmNsdXNpdmUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDgzMTYKCjIwMTUtMTAtMTEgMjI6MDc6NTQgKzAwMDAgIEdyYWhhbSBMZWdnZXR0IDxtaW5mcmluQHNoYXJwLmZtPgoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBjbGllbnRzaW5rLmM6CgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwY2xpZW50c2luay5oOgoJICBzb3VwaHR0cGNsaWVudHNpbms6IEFkZCB0aGUgcmV0cnkgYW5kIHJldHJ5LWRlbGF5IHByb3BlcnRpZXMKCSAgVGhlc2UgYWxsb3cgYSBmYWlsZWQgcmVxdWVzdCB0byBiZSByZXRyaWVkIGFmdGVyIHRoZSBnaXZlbiBudW1iZXIgb2Ygc2Vjb25kcwoJICBpbnN0ZWFkIG9mIGZhaWxpbmcgdGhlIHBpcGVsaW5lLiBUYWtlIGFjY291bnQgb2YgdGhlIFJldHJ5LUFmdGVyIGhlYWRlciBpZgoJICBwcmVzZW50LiBBZGQgcmV0cmllcyBwYXJhbWV0ZXIgdGhhdCBjb250cm9scyB0aGUgbnVtYmVyIG9mIHRpbWVzIGFuIEhUVFAKCSAgcmVxdWVzdCB3aWxsIGJlIHJldHJpZWQgYmVmb3JlIGZhaWxpbmcuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTYzMTgKCjIwMTUtMTAtMTQgMTI6MDM6MTUgKzAyMDAgIEd1aWxsYXVtZSBEZXNtb3R0ZXMgPGd1aWxsYXVtZS5kZXNtb3R0ZXNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IGZpeCBjYXBzIGxlYWsKCSAgSWYgdGhlIFF0RGVtdXhTdHJlYW0gYXJlIHJlLXVzZWQgdGhleSBtYXkgYWxyZWFkeSBoYXZlIGNhcHMgd2hpY2ggdXNlZAoJICB0byBiZSBsZWFrZWQuCgkgIFJlcHJvZHVjZWQgdXNpbmcgdGhlCgkgIHZhbGlkYXRlLmRhc2gucGxheWJhY2suc2Vla19mb3J3YXJkLmRhc2hfZXhNUERfQklQX1RDMSB2YWxpZGF0ZQoJICBzY2VuYXJpby4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NjU2MQoKMjAxNS0xMC0xNCAwOToyOTo1MCArMDkwMCAgVmluZWV0aCBUTSA8dmluZWV0aC50bUBzYW1zdW5nLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBGaXggdGFnbGlzdCBtZW1vcnkgbGVhawoJICBGcmVlIHRoZSBzdHJlYW0gYW5kIGl0cyBzdWIgaXRlbXMgaW5zdGVhZCBvZiBqdXN0IHRoZSBzdHJlYW0KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NjU0NAoKMjAxNS0xMC0xMSAxMjowNjoyNiArMDEwMCAgVGhpYmF1bHQgU2F1bmllciA8dHNhdW5pZXJAZ25vbWUub3JnPgoKCSogZ3N0L2lzb21wNC9nc3RxdG11eC5jOgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4bWFwLmM6CgkgIHF0bXV4OiBBbGxvdyBuZWdvdGlhdGluZyB0byBTOCBhcyBhIHJhdyBmb3JtYXQgYnV0IHN0b3AgbWFraW5nIGl0IGJlc3QgY2hvaWNlCgkgIE5lZ290aWF0aW9uIHRvIGF1ZGlvL3gtcmF3LGZvcm1hdD1TOCB3YXMgbm90IHBvc3NpYmxlIGJlY2F1c2UgUzggZG9lcwoJICBub3QgaGF2ZSBhIGJpdCBvcmRlciBzbyB3ZSBlbmRlZCB1cCBkb2luZyBgaWYgKCFlbnRyeS5mb3VyY2MpIGdvdG8gcmVmdXNlX2NhcHM7YAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU2Mzg3CgoyMDE1LTEwLTExIDA5OjE4OjQwICswMTAwICBUaGliYXVsdCBTYXVuaWVyIDx0c2F1bmllckBnbm9tZS5vcmc+CgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4LmM6CgkqIGdzdC9pc29tcDQvZ3N0cXRtdXhtYXAuYzoKCSAgcXRtdXg6IEFkZCBwcm9yZXMgc3VwcG9ydAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU2Mzg4CgoyMDE1LTEwLTEyIDE4OjU2OjMyICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgIHRlc3RzOiBhZGQgR1NUX1BMVUdJTlNfQkFTRV9MSUJTIGZvciBmbHZkZW11eCBjaGVjawoJICBTbyBpdCBwdWxscyBpbiB0aGUgcmlnaHQgbGliZ3N0dGFnLTEuMC4KCjIwMTUtMTAtMTEgMjI6Mjc6NDcgKzAxMDAgIEp1bGllbiBJc29yY2UgPGouaXNvcmNlQHNhbXN1bmcuY29tPgoKCSogZ3N0L2dvb20vTWFrZWZpbGUuYW06CgkqIGdzdC9nb29tL2dzdGF1ZGlvdmlzdWFsaXplci5jOgoJKiBnc3QvZ29vbS9nc3RhdWRpb3Zpc3VhbGl6ZXIuaDoKCSogZ3N0L2dvb20vZ3N0Z29vbS5oOgoJKiBnc3QvZ29vbTJrMS9NYWtlZmlsZS5hbToKCSogZ3N0L2dvb20yazEvZ3N0YXVkaW92aXN1YWxpemVyLmM6CgkqIGdzdC9nb29tMmsxL2dzdGF1ZGlvdmlzdWFsaXplci5oOgoJKiBnc3QvZ29vbTJrMS9nc3Rnb29tLmg6CgkgIGdvb20vZ29vbTJrMTogcmVtb3ZlIG9ic29sZXRlIGxlZnQgb3ZlciBmaWxlcwoJICBUaGV5IG5vdyB1c2UgdGhlIG5ldyBHc3RBdWRpb1Zpc3VhbGl6ZXIgYmFzZSBjbGFzcwoJICBmcm9tIGdzdC1wbHVnaW5zLWJhc2UvZ3N0LWxpYnMvZ3N0L3BidXRpbHMKCSAgQWxzbyBmaXhlZCB1bmRlZmluZWQgcmVmZXJlbmNlIHRvIGdzdF9hdWRpb192aXN1YWxpemVyX2dldF90eXBlCgkgIEFkZGVkIEdTVF9QTFVHSU5TX0JBU0VfTElCUyB0byBNYWtlZmlsZS5hbSBhbmQgcmUtb3JkZXIgTElCQURELgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQyODc1CgoyMDE1LTEwLTEyIDEwOjQ4OjIzICswOTAwICBWaW5lZXRoIFRNIDx2aW5lZXRoLnRtQHNhbXN1bmcuY29tPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RtcGVnYXVkaW9wYXJzZS5jOgoJICBtcGVnYXVkaW9wYXJzZTogRml4IGJ1ZmZlciBtZW1vcnkgbGVhayBkdXJpbmcgZmFpbHVyZXMKCSAgbWFwcGVkIGJ1ZmZlciBpcyBub3QgYmVpbmcgdW5tYXBwZWQgZHVyaW5nIGZhaWx1cmVzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTYyMzEKCjIwMTUtMTAtMTIgMTE6MTg6NTEgKzA5MDAgIFZpbmVldGggVE0gPHZpbmVldGgudG1Ac2Ftc3VuZy5jb20+CgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cGNsaWVudHNpbmsuYzoKCSAgc291cGh0dHBjbGllbnRzaW5rOiBDaGVjayBpZiBzb3VwIG1lc3NhZ2UgaXMgY3JlYXRlZAoJICBJZiBzb3VwIG1lc3NhZ2UgaXMgbm90IGNyZWF0ZWQgdGhlbiB0aGUgc2FtZSBzaG91bGQgbm90IGJlIHBhc3NlZAoJICBvbiwgd2hpY2ggaXMgcmVzdWx0aW5nIGluIHNlZ2ZhdWx0LiBIZW5jZSB0aHJvd2luZyBhIHdhcm5pbmcgbWVzc2FnZQoJICBhbmQgcmV0dXJuaW5nCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTUzMjYKCjIwMTUtMTAtMTIgMTE6MTU6MTUgKzA5MDAgIFZpbmVldGggVE0gPHZpbmVldGgudG1Ac2Ftc3VuZy5jb20+CgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cGNsaWVudHNpbmsuYzoKCSAgc291cGh0dHBjbGllbnRzaW5rOiBDaGVjayBpZiBsb2NhdGlvbiBiZWluZyBzZXQgaXMgdmFsaWQKCSAgQWRkaW5nIGEgY2hlY2sgaW4gc2V0X3Byb3BlcnR5IHRvIGZpbmQgaWYgdGhlIGxvY2F0aW9uIHVyaSBpcyB2YWxpZAoJICBhbmQgcHJpbnRpbmcgd2FybmluZyBpZiBub3QgdmFsaWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTUzMjYKCjIwMTUtMTAtMTIgMTE6MDk6MzAgKzA5MDAgIFZpbmVldGggVE0gPHZpbmVldGgudG1Ac2Ftc3VuZy5jb20+CgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cGNsaWVudHNpbmsuYzoKCSAgc291cGh0dHBjbGllbnRzaW5rOiBGaXggbWVtb3J5IGxlYWtzIGR1cmluZyBmYWlsdXJlcwoJICBmcmVlaW5nIHN0cmVhbWhlYWRlcl9idWZmZXJzIGFuZCBzZW50X2J1ZmZlcnMgZHVyaW5nIGZhaWx1cmUgY2FzZXMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTUzMjYKCjIwMTUtMTAtMTIgMTE6MDM6MTcgKzA5MDAgIFZpbmVldGggVE0gPHZpbmVldGgudG1Ac2Ftc3VuZy5jb20+CgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cGNsaWVudHNpbmsuYzoKCSAgc291cGh0dHBjbGllbnRzaW5rOiBSZXBsYWNlIHJlZHVuZGFudCBmcmVlX2J1ZmZlcl9saXN0IGZ1bmN0aW9uCgkgIFJlbW92aW5nIGZyZWVfYnVmZmVyX2xpc3QgYW5kIHJlcGxhY2luZyBpdCB3aXRoIGFscmVhZHkgYXZhaWxhYmxlIGZ1bmN0aW9uCgkgIGdfbGlzdF9mcmVlX2Z1bGwKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NTMyNgoKMjAxNS0xMC0xMSAxNjo0MDowMSArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICBjaGVjazogRG9uJ3QgZm9yZ2V0IGJhc2UgQ0ZMQUdTIGZvciBmbHZkZW11eCBjaGVjawoJICBlbGVtZW50cy9mbHZkZW11eC5jOjI1OjI1OiBmYXRhbCBlcnJvcjogZ3N0L3RhZy90YWcuaDogTm8gc3VjaCBmaWxlIG9yIGRpcmVjdG9yeQoKMjAxNS0xMC0xMSAxMTozNzo1MSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9tYXRyb3NrYS9lYm1sLXdyaXRlLmM6CgkqIGdzdC9tYXRyb3NrYS9lYm1sLXdyaXRlLmg6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5oOgoJICBtYXRyb3NrYW11eDogQ3JlYXRlIGEgVElNRSBzZWdtZW50IHdoZW4gY3JlYXRpbmcgc3RyZWFtYWJsZSBvdXRwdXQKCSAgUmVsYXRlZCB0byBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU0NDM1IHdoaWNoCgkgIGRvZXMgdGhlIHNhbWUgZm9yIGZsdm11eC4KCjIwMTUtMDktMjMgMTM6NTA6NTIgKzAyMDAgIEhhdmFyZCBHcmFmZiA8aGF2YXJkLmdyYWZmQGdtYWlsLmNvbT4KCgkqIGdzdC9mbHYvTWFrZWZpbGUuYW06CgkqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2ZsdmRlbXV4LmM6CgkgIGZsdmRlbXV4OiBvdXRwdXQgc3BlZXggdm9yYmlzY29tbWVudCBhcyBhIEdzdFRhZ0xpc3QKCSAgVGhpcyBpcyB3aGF0IHNwZWV4ZGVjIGV4cGVjdHMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTU0NzgKCjIwMTUtMDktMjIgMjI6NTk6MTYgKzAyMDAgIEhhdmFyZCBHcmFmZiA8aGF2YXJkLmdyYWZmQGdtYWlsLmNvbT4KCgkqIGdzdC9mbHYvZ3N0Zmx2bXV4LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2Zsdm11eC5jOgoJICBmbHZtdXg6IEdTVF9CVUZGRVJfT0ZGU0VUcyBzaG91bGQgYmUgR1NUX0JVRkZFUl9PRkZTRVRfTk9ORQoJICBPciBlbHNlIGZsdmRlbXV4IGRvbid0IHVuZGVyc3RhbmQgaXQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NDQzNQoKMjAxNS0wOS0wMiAxMDo0NDo1OSArMDIwMCAgSGF2YXJkIEdyYWZmIDxoYXZhcmQuZ3JhZmZAZ21haWwuY29tPgoKCSogZ3N0L2Zsdi9nc3RmbHZtdXguYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZmx2bXV4LmM6CgkgIGZsdm11eDogdXNlIHRpbWUgc2VnbWVudCBhbmQgY29weSB0aW1lc3RhbXBzIHdoZW4gc3RyZWFtYWJsZQoJICBBZGQgYSBiYXNpYyB0ZXN0IHVzaW5nIHNwZWV4IGRhdGEgdG8gdmVyaWZ5IHRpbWVzdGFtcGluZy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NDQzNQoKMjAxNS0wOS0yMyAxMzoxNDowMyArMDIwMCAgSGF2YXJkIEdyYWZmIDxoYXZhcmQuZ3JhZmZAZ21haWwuY29tPgoKCSogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOgoJICBmbHZkZW11eDogc3BlZXggaXMgYWxzbyBhbHdheXMgMTZLSHoKCSAgVGhpcyBpcyBqdXN0IGEgY29zbWV0aWMgY2hhbmdlIGZvciB0aGUgbG9ncywgc2luY2UgdGhlIHJpZ2h0IGNhcHMKCSAgZm9yIFNwZWV4IGlzIGJlaW5nIHNldCBlbHNld2hlcmUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTU0NzkKCjIwMTUtMDctMTQgMTU6MTk6NDQgKzAyMDAgIFN0aWFuIFNlbG5lcyA8c3RpYW5AcGV4aXAuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkgIHJ0cG1hbmFnZXI6IEFkZCAnc291cmNlLXN0YXRzJyB0byBzdGF0cyBhbmQgbm90aWZ5CgkgIEFkZCBzdGF0aXRpY3MgZnJvbSBlYWNoIHJ0cCBzb3VyY2UgdG8gdGhlIHJ0cCBzZXNzaW9uIHByb3BlcnR5LgoJICAnc291cmNlLXN0YXRzJyBpcyBhIEdWYWx1ZUFycmF5IHdoZXJlIGVhY2ggZWxlbWVudCBpcyBhIEdzdFN0cnVjdHVyZSBvZgoJICBzdGF0cyBmb3Igb25lIHJ0cCBzb3VyY2UuCgkgIFRoZSBhdmFpbGFiaWxpdHkgb2YgbmV3IHN0YXRzIGlzIHNpZ25hbGVkIHZpYSBnX29iamVjdF9ub3RpZnkuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTI2NjkKCjIwMTUtMDYtMDUgMTc6MjA6MzMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uaDoKCSAgcnRwc2Vzc2lvbjogSW1wbGVtZW50IHNlbmRpbmcgb2YgcmVkdWNlZCBzaXplIFJUQ1AgcGFja2V0cwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUwNDU2CgoyMDE1LTEwLTA4IDE1OjAxOjEzICswNTMwICBSYXZpIEtpcmFuIEsgTiA8cmF2aS5raXJhbkBzYW1zdW5nLmNvbT4KCgkqIGdzdC9hdWRpb2Z4L2F1ZGlvZHluYW1pYy5oOgoJICBhdWRpb2Z4OiBSZW1vdmUgdW51c2VkIHZhcmlhYmxlCgkgIFJlbW92ZSB1bnVzZWQgdmFyaWFibGUgJ2RlZ3JlZScgaW4gYXVkaW9keW5hbWljCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTYyMzQKCjIwMTUtMTAtMDggMTQ6NDQ6MDcgKzA5MDAgIFZpbmVldGggVE0gPHZpbmVldGgudG1Ac2Ftc3VuZy5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogRml4IG1lbW9yeSBsZWFrIGZvciBjb3JydXB0ZWQgZmlsZQoJICBGcmVlIGJyYW5kcyBiZWZvcmUgb3ZlcnJpZGluZyB0aGVtLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU2MjI2CgoyMDE1LTEwLTA4IDExOjQ0OjA0ICswOTAwICBWaW5lZXRoIFRNIDx2aW5lZXRoLnRtQHNhbXN1bmcuY29tPgoKCSogZXh0L2dka19waXhidWYvZ3N0Z2RrcGl4YnVmZGVjLmM6CgkgIGdka3BpeGJ1ZmRlYzogRml4IHBpeGJ1Zl9sb2FkZXIgbGVhayBkdXJpbmcgZmFpbHVyZXMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NjIxOQoKMjAxNS0xMC0wNyAyMzoyMzo0NSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOgoJICBydHBiaW46IEFkZCBtaXNzaW5nIGJyZWFrCgoyMDE1LTEwLTA3IDEzOjAzOjAyICswMjAwICBNaWd1ZWwgUGFyw61zIETDrWF6IDxtcGFyaXNkaWF6QGdtYWlsLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmg6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHN0YXRzLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHN0YXRzLmg6CgkgIHJ0cG1hbmFnZXI6IFRha2UgaW50byBhY2NvdW50IHBhY2tldCByYXRlIGZvciBtYXgtZHJvcG91dCBhbmQgbWF4LW1pc29yZGVyIGNhbGN1bGF0aW9ucwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUxMzExCgoyMDE1LTEwLTA3IDEzOjAyOjEyICswMjAwICBNaWd1ZWwgUGFyw61zIETDrWF6IDxtcGFyaXNkaWF6QGdtYWlsLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uaDoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmg6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuaDoKCSAgcnRwbWFuYWdlcjogYWRkICJtYXgtZHJvcG91dC10aW1lIiBhbmQgIm1heC1taXNvcmRlci10aW1lIiBwcm9wcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUxMzExCgoyMDE1LTEwLTA3IDE3OjE0OjU3ICswOTAwICBWaW5lZXRoIFRNIDx2aW5lZXRoLnRtQHNhbXN1bmcuY29tPgoKCSogZ3N0L2lzb21wNC9nc3RxdG11eC5jOgoJICBxdG11eDogRml4IGRhdGUgbWVtb3J5IGxlYWsKCSAgV2hlbiBnZXR0aW5nIGRhdGUgZnJvbSB0YWdsaXN0LCB0aGUgbWVtb3J5IHNob3VsZCBiZSBmcmVlZCBhZnRlcgoJICB1c2luZyBpdC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NjE3MQoKMjAxNS0xMC0wNSAxMTowMzozOCArMDkwMCAgVmluZWV0aCBUTSA8dmluZWV0aC50bUBzYW1zdW5nLmNvbT4KCgkqIGdzdC9pc29tcDQvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IEZpeCBzYW1wbGUgbWVtb3J5IGxlYWsKCSAgV2hlbiBnZXR0aW5nIHNhbXBsZSBmcm9tIHRhZ2xpc3QsIHRoZSBtZW1vcnkgc2hvdWxkIGJlIGZyZWVkIGFmdGVyCgkgIHVzaW5nIGl0LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU2MDY4CgoyMDE1LTEwLTA1IDEzOjEwOjU2ICswOTAwICBWaW5lZXRoIFRNIDx2aW5lZXRoLnRtQHNhbXN1bmcuY29tPgoKCSogZ3N0L2N1dHRlci9nc3RjdXR0ZXIuYzoKCSAgY3V0dGVyOiBGaXggYnVmZmVyIGxlYWsKCSAgQnVmZmVyIGlzIGFkZGVkIHRvIHRoZSBpbnRlcm5hbCBjYWNoZSwgYW5kIHB1c2hlZCBvbmx5IHdoZW4gYWNjdW11bGF0ZWQKCSAgYnVmZmVyIGR1cmF0aW9uIGNyb3NzZXMgMjAwIG1zLiBTbyB3aGVuIHRoZSBjaGFpbiBlbmRzLCB0aGUgYnVmZmVyIGFjY3VtdWxhdGVkCgkgIGlzIG5vdCBmcmVlZC4gRnJlZWluZyB0aGUgY2FjaGUgd2hlbiB0aGUgc3RhdGUgY2hhbmdlcyBmcm9tIFBBVVNFRCB0byBSRUFEWS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NDIxMgoKMjAxNS0wOC0zMSAyMToxMDoxNiAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cG11eC5jOgoJICBydHBtdXg6IFVzZSBkZWZhdWx0IHVwc3RyZWFtIGV2ZW50IGhhbmRsaW5nCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTI2OTQKCjIwMTUtMDgtMzEgMjE6MDU6MDMgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBtdXguYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwbXV4Lmg6CgkgIHJ0cG11eDogQXMgMHhGRkZGRkZGRiBpcyBhIHZhbGlkIHNzcmMsIGNoZWNrIGlmIGl0IGhhcyBiZWVuIHNldAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUyNjk0CgoyMDE1LTA3LTIyIDA5OjQ3OjIyICswMjAwICBIYXZhcmQgR3JhZmYgPGhhdmFyZC5ncmFmZkBnbWFpbC5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBtdXguYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwbXV4Lmg6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cG11eC5jOgoJICBnc3RydHBtdXg6IGFsbG93IHRoZSBzc3JjLXByb3BlcnR5IHRvIGRlY2lkZSBzc3JjIG9uIG91dGdvaW5nIGJ1ZmZlcnMKCSAgQnkgbm90IGRvaW5nIHRoaXMsIHRoZSBtdXhlciBpcyBub3QgZWZmZWN0aXZlbHkgYSBydHBtdXhlciwgcmF0aGVyIGEKCSAgZnVubmVsLCBzaW5jZSBpdCBzaG91bGQgYmUgYSBzaW5nbGUgc3RyZWFtIHRoYXQgZXhpc3RzIHRoZSBtdXhlci4KCSAgSWYgbm90IHNwZWNpZmllZCwgdGFrZSB0aGUgZmlyc3Qgc3NyYyBzZWVuIG9uIGEgc2lua3BhZCwgYWxsb3dpbmcgdXBzdHJlYW0KCSAgdG8gZGVjaWRlIHNzcmMgaW4gInBhc3N0aHJvdWdoIiB3aXRoIG9ubHkgb25lIHNpbmtwYWQuCgkgIEFsc28sIGxldCBkb3duc3RyZWFtIHNzcmMgb3ZlcnJ1bGUgaW50ZXJuYWwgY29uZmlndXJlZCBvbmUKCSAgV2UgaGVuY2UgaGFzIHRoZSBmb2xsb3dpbmcgb3JkZXIgZm9yIGRldGVybWluaW5nIHRoZSBzc3JjIHVzZWQgYnkKCSAgcnRwbXV4OgoJICAwLiBTdWdnZXN0aW9uIGZyb20gR3N0UlRQQ29sbGlzaW9uIGV2ZW50CgkgIDEuIERvd25zdHJlYW0gY2FwcwoJICAyLiBzc3JjLVByb3BlcnR5CgkgIDMuIChGaXJzdCkgdXBzdHJlYW0gY2FwcyBjb250YWluaW5nIHNzcmMKCSAgNC4gUmFuZG9tbHkgZ2VuZXJhdGVkCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTI2OTQKCjIwMTUtMTAtMDIgMjI6NDI6MjAgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvdWRwL2dzdHVkcHNyYy5jOgoJICB1ZHBzcmM6IEZpeHVwIGxhc3QgY29tbWl0CgoyMDE1LTEwLTAyIDIyOjIxOjQ1ICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QvdWRwL2dzdHVkcHNyYy5jOgoJICBVcGRhdGUgR0xpYiBkZXBlbmRlbmN5IHRvIDIuNDAuMAoKMjAxNS0wNi0zMCAxNjo1NjoxOSArMDIwMCAgTWlndWVsIFBhcsOtcyBEw61heiA8bXBhcmlzZGlhekBnbWFpbC5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzdGF0cy5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzdGF0cy5oOgoJICBydHBzdGF0czogYWRkIHV0aWxpdHkgZm9yIGNhbGN1bGF0aW5nIFJUUCBwYWNrZXQgcmF0ZQoKMjAxNS0wOC0xMCAxODoxNDozOSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IGhhbmRsZSBlbXB0eSBzZWdtZW50cyBpbiBzZWVraW5nIGFkanVzdAoJICBJZiBzZWVraW5nIHRhcmdldHMgYW4gZW1wdHkgc2VnbWVudCBza2lwIGl0IGFzIHRoZXJlIGlzIG5vIG1lZGlhCgkgIG9mZnNldCB0byBnZXQgZnJvbSBpdC4gSW5zdGVhZCBsb29rIGZvciB0aGUgbmV4dCBvbmUuCgkgIFRoaXMgZG9lc24ndCBtYWtlIHNlZWtpbmcgaW4gcHVzaC1tb2RlIHdvcmsgaWYgeW91IHNlZWsgdG8gYW4KCSAgZW1wdHkgc2VnbWVudCBidXQgYXQgbGVhc3Qgd29uJ3QgZ2V0IHlvdSB0byB3cm9uZyBvZmZzZXRzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUzNDg0CgoyMDE1LTA0LTE3IDE0OjI1OjQzICswMjAwICBHZW9yZ2UgS2lhZ2lhZGFraXMgPGdlb3JnZS5raWFnaWFkYWtpc0Bjb2xsYWJvcmEuY29tPgoKCSogZ3N0L211bHRpZmlsZS9nc3RzcGxpdG11eHNpbmsuYzoKCSogZ3N0L211bHRpZmlsZS9nc3RzcGxpdG11eHNpbmsuaDoKCSAgc3BsaXRtdXhzaW5rOiBwb3N0IG1lc3NhZ2VzIHdoZW4gZnJhZ21lbnRzIGFyZSBiZWluZyBvcGVuZWQgYW5kIGNsb3NlZAoJICBUaGlzIGNhbiBiZSB1c2VmdWwgZm9yIGFwcGxpY2F0aW9ucyB0aGF0IG5lZWQgdG8gdHJhY2sgdGhlIGNyZWF0ZWQgZnJhZ21lbnRzCgkgICh0byBsb2cgdGhlbSBpbiBhIHJlY29yZGluZyBkYXRhYmFzZSwgZm9yIGV4YW1wbGUpCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTAxMDgKCjIwMTUtMDQtMjkgMTg6MjM6MjggKzAxMDAgIFJhbWlybyBQb2xsYSA8cmFtaXJvLnBvbGxhQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tdWx0aWZpbGUvZ3N0c3BsaXRtdXhzaW5rLmM6CgkqIGdzdC9tdWx0aWZpbGUvZ3N0c3BsaXRtdXhzaW5rLmg6CgkgIHNwbGl0bXV4c2luazogYWxsb3cgbm9uLXZpZGVvIHN0cmVhbXMgdG8gc2VydmUgYXMgcmVmZXJlbmNlCgkgIEluIHRoZSBhYnNlbmNlIG9mIGEgdmlkZW8gc3RyZWFtLCB0aGUgZmlyc3Qgc3RyZWFtIHdpbGwgYmUgdXNlZCBhcwoJICByZWZlcmVuY2UuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTM2MTcKCjIwMTUtMDctMjIgMTc6NDU6MTIgKzAyMDAgIEdlb3JnZSBLaWFnaWFkYWtpcyA8Z2VvcmdlLmtpYWdpYWRha2lzQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvbXVsdGlmaWxlL2dzdHNwbGl0bXV4c2luay5jOgoJICBzcGxpdG11eHNpbms6IGluaXRpYWxpemUgbXV4X3N0YXJ0X3RpbWUgcHJvcGVybHkKCSAgbXV4X3N0YXJ0X3RpbWUgcmVmZXJzIHRvIHRoZSBydW5uaW5nX3RpbWUgb2YgdGhlIGJ1ZmZlcgoJICB0aGF0IGdvZXMgZmlyc3QgaW4gdGhlIG91dHB1dCBmaWxlLiBOb3JtYWxseSB0aGlzIHRpbWUgaXMKCSAgMCwgc28gdGhpcyB2YXJpYWJsZSBpcyBpbml0aWFsaXplZCB0byAwIGR1cmluZyB0aGUgc3RhdGUKCSAgY2hhbmdlIHRvIFBBVVNFRC4KCSAgSG93ZXZlciwgd2hlbiBkZWFsaW5nIHdpdGggZHluYW1pYyBwaXBlbGluZXMgYW5kIHN0YXJ0aW5nCgkgIGEgcmVjb3JkaW5nIHdoaWxlIHRoZSBwaXBlbGluZSBoYXMgYWxyZWFkeSBydW4gZm9yIGEgd2hpbGUsCgkgIHRoZSBydW5uaW5nX3RpbWUgb2YgdGhlIGZpcnN0IGJ1ZmZlciBpcyA+IDAgYW5kIHRoaXMgY2F1c2VzCgkgIGEgcHJvYmxlbSB3aXRoIGRldGVjdGluZyB0aGUgZW5kIG9mIHRoZSBmaXJzdCBmaWxlKHMpIHdoZW4KCSAgc3BsaXR0aW5nIGJ5IGR1cmF0aW9uLCBiZWNhdXNlIHRoZSBjb2RlIHdpbGwgbGF0ZXIgY29tcGFyZQoJICB0aGUgdGhyZXNob2xkX3RpbWUgd2l0aCAobGFzdCBidWZmZXIgcnVubmluZ190aW1lIC0gbXV4X3N0YXJ0X3RpbWUpCgkgIGFuZCB3aWxsIGdldCBpdCB3cm9uZyB1bnRpbCBtdXhfc3RhcnRfdGltZSBhZHZhbmNlcyBlbm91Z2gKCSAgdG8gbWFrZSB0aGlzIGRpZmZlcmVuY2UgPCB0aHJlc2hvbGRfdGltZSwgY3JlYXRpbmcgZW1wdHkgZmlsZXMKCSAgaW4gdGhlIG1lYW50aW1lLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUzNjI0CgoyMDE1LTA5LTE2IDE2OjAzOjAyICswOTAwICBWaW5lZXRoIFQgTSA8dmluZWV0aC50bUBzYW1zdW5nLmNvbT4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgYXZpZGVtdXg6IFJldmVyc2UgcGxheWJhY2sgZG9lcyBub3QgY29uc2lkZXIgc2VnbWVudC5zdGFydAoJICBEdXJpbmcgcmV2ZXJzZSBwbGF5YmFjaywgdGhlIG1lZGlhIHNob3VsZCBzdG9wIHBsYXlpbmcgYXQgc2VnbWVudC5zdGFydAoJICBUaGlzIGRvZXMgbm90IGhhcHBlbiwgYW5kIGF2aWRlbXV4IGNvbnRpbnVlcyB0byBwcm9jZXNzIGRhdGEgZXZlbiB3aGVuCgkgIGN1cnJlbnQgdGltZXN0YW1wIGlzIGxlc3MgdGhhdCBzZWdtZW50LnN0YXJ0LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU1MDk0CgoyMDE1LTA5LTIzIDEyOjM5OjM1ICswOTAwICBNYW5hc2EgQXRocmV5YSA8bWFuYXNhLmF0aHJleWFAbGdlLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBDaGVjayBtdWx0aSB0cmV4IHRvIGZpbmQgdHJhY2sgaWQgaW4gbXA0IG1wZWctZGFzaCBzdHJlYW0KCSAgSWYgc3RyZWFtIGhhcyBtb3JlIHRoYW4gb25lIHRyZXggYm94IHdoaWNoIGlzIG5vdCBtYXRjaGVkIHRvIGFjdHVhbAoJICB0cmFjayBpZCwgaXQgbWFrZXMgcXRkZW11eCBjcmFzaGVkLgoJICBBdXRob3IgOiBNYW5hc2EgQXRocmV5YSAobWFuYXNhLmF0aHJleWFAbGdlLmNvbSkKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NDg2NAoKMjAxNS0wOS0wNCAxNDoyNDo0NSArMDUzMCAgUmF2aSBLaXJhbiBLIE4gPHJhdmkua2lyYW5Ac2Ftc3VuZy5jb20+CgoJKiBnc3Qvc21wdGUvZ3N0c21wdGUuYzoKCSAgc21wdGU6IGdldCBzaXplLCBzdHJpZGUgaW5mbyB1c2luZyBWaWRlb0luZm8KCSAgVXNlIFZpZGVvSW5mbyBkYXRhIHRvIGdldCBzaXplIHN0cmlkZSBhbmQKCSAgb2Zmc2V0LCBpbnN0ZWFkIG9mIGhhcmQgY29kZWQgbWFjcm9zLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU0NTU4CgoyMDE1LTA5LTA0IDE0OjE4OjUwICswNTMwICBSYXZpIEtpcmFuIEsgTiA8cmF2aS5raXJhbkBzYW1zdW5nLmNvbT4KCgkqIGdzdC9zbXB0ZS9nc3RzbXB0ZS5jOgoJICBzbXB0ZTogZnJlZSBtYXNrCgkgIEZyZWUgdGhlIG1lbW9yeSBhbGxvY2F0ZWQgdG8gJ21hc2snIHRvIGF2b2lkCgkgIG1lbW9yeSBsZWFrLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU0NTU1CgoyMDE1LTA4LTIwIDExOjAyOjU4ICswOTAwICBWaW5lZXRoIFRNIDx2aW5lZXRoLnRtQHNhbXN1bmcuY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvZXF1YWxpemVyL2RlbW8uYzoKCSogdGVzdHMvaWNsZXMvZXF1YWxpemVyLXRlc3QuYzoKCSogdGVzdHMvaWNsZXMvZ2RrcGl4YnVmb3ZlcmxheS10ZXN0LmM6CgkqIHRlc3RzL2ljbGVzL2dka3BpeGJ1ZnNpbmstdGVzdC5jOgoJKiB0ZXN0cy9pY2xlcy90ZXN0LW9zczQuYzoKCSogdGVzdHMvaWNsZXMvdmlkZW9jcm9wLXRlc3QuYzoKCSAgZ3N0cmVhbWVyOiBnb29kOiB0ZXN0czogRml4IG1lbW9yeSBsZWFrcyB3aGVuIGNvbnRleHQgcGFyc2UgZmFpbHMuCgkgIFdoZW4gZ19vcHRpb25fY29udGV4dF9wYXJzZSBmYWlscywgY29udGV4dCBhbmQgZXJyb3IgdmFyaWFibGVzIGFyZSBub3QgZ2V0dGluZyBmcmVlJ2QKCSAgd2hpY2ggcmVzdWx0cyBpbiBtZW1vcnkgbGVha3MuIEZyZWUnaW5nIHRoZSBzYW1lLgoJICBBbmQgcmVwbGFjaW5nIGdfZXJyb3JfZnJlZSB3aXRoIGdfY2xlYXJfZXJyb3IsIHdoaWNoIGNoZWNrcyBpZiB0aGUgZXJyb3IgYmVpbmcgcGFzc2VkCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTM4NTMKCjIwMTUtMTAtMDIgMTY6MTg6MTUgKzA5MDAgIEh5dW5qdW4gS28gPHp6b29uLmtvQHNhbXN1bmcuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmM6CgkgIHJ0cHNvdXJjZTogZG9lc24ndCBoYW5kbGUgcHJvYmF0aW9uIGFuZCBydHAgZ2FwIGluIGNhc2Ugb2Ygc2VuZGVyCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTQ1NDgKCjIwMTUtMTAtMDIgMTY6MTY6MzIgKzA5MDAgIEh5dW5qdW4gS28gPHp6b29uLmtvQHNhbXN1bmcuY29tPgoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5zaWduYWxzOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmg6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5oOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uaDoKCSAgcnRwbWFuYWdlcjogYWRkIG5ldyBvbi1uZXctc2VuZGVyLXNzcmMsIG9uLXNlbmRlci1zc3JjLWFjdGl2ZSBzaWduYWxzCgkgIEFsbG93cyBmb3IgYXBwbGljYXRpb25zIHRvIGdldCBpbnRlcm5hbCBzb3VyY2UncyBSVFAgc3RhdGlzdGljcy4KCSAgKGVnLiBzZW5kZXIgc291cmNlcyBmb3IgYSBzZXJ2ZXIvY2xpZW50KQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ2NzQ3CgoyMDE1LTEwLTAyIDE0OjE3OjQ4ICsxMDAwICBKYW4gU2NobWlkdCA8amFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy94aW1hZ2UvZ3N0eGltYWdlc3JjLmM6CgkgIHhpbWFnZXNyYzogR2F0aGVyIGFuZCBjb2FsZXNjZSBhbGwgZGFtYWdlZCBhcmVhcyBiZWZvcmUgcmV0cmlldmluZy4KCSAgVGhlc2UgZGF5cyB0aGUgeHNlcnZlciBzZWVtcyB0byBnaXZlIHVzIHRoZSBzYW1lIGRhbWFnZSByZWdpb25zCgkgIG92ZXIgYW5kIG92ZXIgZm9yIGVudGlyZSB3aW5kb3dzLCBhbmQgd2UgcmV0cmlldmUgdGhlbSBtdWx0aXBsZQoJICB0aW1lcywgd2hpY2ggZ2l2ZXMgdGltZSBmb3IgbW9yZSBkYW1hZ2UgdG8gYXBwZWFyLiBJbnN0ZWFkLCBqdXN0CgkgIHF1aWNrbHkgZ2F0aGVyIGFsbCBkYW1hZ2VkIGFyZWFzIGludG8gYSByZWdpb24gbGlzdCBhbmQgY29weQoJICBvdXQgb25jZS4KCjIwMTUtMTAtMDEgMTY6MjQ6MzIgKzAxMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXNiZ0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QvZ29vbTJrMS9NYWtlZmlsZS5hbToKCSogZ3N0L2dvb20yazEvZ3N0Z29vbS5oOgoJICBnb29tMmsxOiB1c2UgdGhlIG5ldyBhdWRpb3Zpc3VhbGl6ZXIgYmFzZSBjbGFzcwoJICBSZWJhc2UgdG8gaGF2ZSBnb29tIHVzaW5nIHRoZSBHc3RBdWRpb1Zpc3VhbGl6ZXIgYmFzZSBjbGFzcyBpbgoJICBnc3QtcGx1Z2lucy1iYXNlL2dzdC1saWJzL2dzdC9wYnV0aWxzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDI4NzUKCjIwMTUtMTAtMDEgMTY6MTY6MDggKzAxMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXNiZ0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QvZ29vbS9NYWtlZmlsZS5hbToKCSogZ3N0L2dvb20vZ3N0Z29vbS5oOgoJICBnb29tOiB1c2UgdGhlIG5ldyBhdWRpb3Zpc3VhbGl6ZXIgYmFzZSBjbGFzcwoJICBSZWJhc2UgdG8gaGF2ZSBnb29tIHVzaW5nIHRoZSBHc3RBdWRpb1Zpc3VhbGl6ZXIgYmFzZSBjbGFzcyBpbgoJICBnc3QtcGx1Z2lucy1iYXNlL2dzdC1saWJzL2dzdC9wYnV0aWxzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDI4NzUKCjIwMTUtMDktMzAgMTc6MzU6MzMgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC9pbnRlcmxlYXZlL2RlaW50ZXJsZWF2ZS5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9kZWludGVybGVhdmUuYzoKCSAgZGVpbnRlcmxlYXZlOiBpbXBsZW1lbnQgYWNjZXB0LWNhcHMKCSAgQXZvaWQgdXNpbmcgZGVmYXVsdCBhY2NlcHQtY2FwcyBoYW5kbGVyIHRoYXQgd2lsbCBxdWVyeSBkb3duc3RyZWFtCgkgIGFuZCBpcyBtb3JlIGV4cGVuc2l2ZS4gSnVzdCBjaGVjayBpZiB0aGUgY2FwcyBpcyBjb21wYXRpYmxlIHdpdGgKCSAgdGhlIHRlbXBsYXRlIGFuZCBjaGVjayBpZiB0aGUgY2hhbm5lbHMgYXJlIHRoZSBzYW1lLgoKMjAxNS0wOS0zMCAwOTozNTozOSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZGVpbnRlcmxlYXZlLmM6CgkgIHRlc3RzOiBkZWludGVybGVhdmU6IGFsc28gY2hlY2sgZm9yIGNhcHMgcXVlcnkgcmVzdWx0cwoKMjAxNS0wOS0zMCAxMjozMDo1OSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0L2ludGVybGVhdmUvZGVpbnRlcmxlYXZlLmM6CgkgIGRlaW50ZXJsZWF2ZTogdXNlIHRoZSBjYXBzIHF1ZXJ5IGZpbHRlcgoJICBJdCB3YXMgYmVpbmcgaWdub3JlZCBhbmQgd291bGQgbGVhZCB0byB3cm9uZyByZXN1bHRzIGlmIHRoZQoJICBlbGVtZW50IGRvaW5nIHRoZSBxdWVyeSB3b3VsZCByZWx5IG9uIHRoZSBpbnRlcnNlY3Rpb24gYmVpbmcgbWFkZS4KCjIwMTUtMDktMzAgMTA6MDA6MzEgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC9pbnRlcmxlYXZlL2RlaW50ZXJsZWF2ZS5jOgoJICBkZWludGVybGVhdmU6IGltcGxlbWVudCBhIGNhcHMgcXVlcnkgaGFuZGxlciBmb3IgdGhlIHNpbmtwYWQKCSAgSXQgd2FzIG1pc3NpbmcgYW5kIGFwcGFyZW50bHkgY29kZSByZWxpZWQgb24gaGF2aW5nIGl0IHRoZXJlCgkgIGZvciBub3QgYWxsb3dpbmcgYSBjaGFuZ2UgaW4gdGhlIG51bWJlciBvZiBjaGFubmVscwoKMjAxNS0wOS0zMCAwOTowNTowMyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0L2ludGVybGVhdmUvZGVpbnRlcmxlYXZlLmM6CgkgIGRlaW50ZXJsZWF2ZTogZml4IGNhcHMgbGVhawoJICBDYXBzIGZyb20gdGhlIHBhZCB0ZW1wbGF0ZSBhcmUgYmVpbmcgbGVha2VkLiBJbiBhbnkgY2FzZSBpdCBpcwoJICBmcm9tIGEgc3RhdGljIHBhZCB0ZW1wbGF0ZSBhbmQgd2lsbCAnbGVhaycgaW4gdGhlIGVuZCwganVzdCBkb2luZwoJICB0aGUgY2xlYW51cCBmb3IgdGhlIGdvb2QgcHJhY3RpY2UuCgoyMDE1LTA5LTI5IDExOjE1OjAxICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzLy5naXRpZ25vcmU6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2dka3BpeGJ1Zm92ZXJsYXkuYzoKCSAgdGVzdHM6IGdka3BpeGJ1Zm92ZXJsYXk6IGFkZCBtaW5pbWFsIHVuaXQgdGVzdAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU1NzczCgoyMDE1LTA5LTI5IDExOjEyOjQ4ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dka19waXhidWYvZ3N0Z2RrcGl4YnVmb3ZlcmxheS5jOgoJICBnZGtwaXhidWZzaW5rOiBkb24ndCBsZWFrIG9sZCBwaXhlbCBidWZmZXIgd2hlbiBzZXR0aW5nIGEgbmV3IG92ZXJsYXkKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NTc3MwoKMjAxNS0wOS0yOCAyMDoyNToyMiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9mbGFjL2dzdGZsYWNlbmMuYzoKCSAgZmxhY2VuYzogYXZvaWQgcG90ZW50aWFsIHN0cmluZyBvdmVyZmxvdwoJICBXZSBkb24ndCBuZWNlc3NhcmlseSBoYXZlIGZ1bGwgY29udHJvbCBvdmVyIHRoZSBpbnB1dCB0YWdzLCBzbwoJICBpdCdzIHBvc3NpYmxlIHRoYXQgdGhlIElTUkMgdGFnIGNvbnRhaW5zIGEgbG9uZ2VyIHN0cmluZyB0aGFuCgkgIGV4cGVjdGVkLCBpbiB3aGljaCBjYXNlIHdlJ2Qgd3JpdGUgb3ZlciB0aGUgZW5kIG9mIHRoZSBzdGF0aWMtc2l6ZQoJICAxMyBieXRlIGJ1ZmZlciB0aGF0IGlzIEZMQUNfX1N0cmVhbU1ldGFkYXRhX0N1ZVNoZWV0X1RyYWNrOjppc3JjLgoJICBNYWtlIHN1cmUgdG8gb25seSBjb3B5IHRoZSBJU1JDIGlmIGl0J3Mgbm90IHRvbyBsb25nLCBhbmQgbWFrZQoJICBzdXJlIHRoZSBidWZmZXIgd2Ugd3JpdGUgdG8gaXMgYWx3YXlzIE5VTC10ZXJtaW5hdGVkIGJ5IHVzaW5nCgkgIGdfc3RybGNweSgpLgoJICBDSUQgMTMyNDkzMS4KCjIwMTUtMDktMjggMTg6MDM6NTEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2FkZW11eDogUmVtb3ZlIGxlZnRvdmVyIGFzc2VydGlvbiBmcm9tIDAuMTAKCSAgV2Ugbm93IGFsbG9jYXRlIG1lbW9yeSB2aWEgR3N0QWxsb2NhdG9yIGFuZCBhcyBzdWNoIGNhbiBoYW5kbGUgYXJiaXRyYXJ5CgkgIGFsaWdubWVudHMsIG5vdCBvbmx5IDw9IEdfTUVNX0FMSUdOLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU1NzA4CgoyMDE1LTA5LTI1IDEwOjAxOjM3ICswMjAwICBHdWlsbGF1bWUgTWFycXVlYmllbGxlIDxndWlsbGF1bWUubWFycXVlYmllbGxlQHBhcnJvdC5jb20+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFhY3BhcnNlLmM6CgkgIGFhY3BhcnNlOiBmaXggdW5pbml0aWFsaXplZCB2YXJpYWJsZXMgaW4gTE9BUyBjb25maWcgcmVhZGluZwoJICBPbiByZWFkaW5nIExPQVMgY29uZmlnLCBmbGFnIHY9MSBhbmQgdkE9MSBjb21iaW5hdGlvbiBjYW4gb2NjdXIsIGxlYWRpbmcgdG8gd2FybmluZwoJICAiU3BlYyBzYXlzICJUQkQiLi4uIi4gUmV0dXJuaW5nIFRSVUUgb24gdGhpcyBjYXNlIHdoaWxlIHBhcmFtZXRlcnMgJ3NhbXBsZV9yYXRlJyBhbmQKCSAgJ2NoYW5uZWxzJyBhcmUgcG9pbnRpbmcgdG8gdW5pbml0aWFsaXplZCB2YWx1ZXMgY2FuIGVuZCBvbiBzZXR0aW5nIHJhbmRvbSB2YWx1ZXMgYXMKCSAgcmF0ZSBhbmQgY2hhbm5lbHMgb24gc3JjIGNhcHMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTU2MTEKCjIwMTUtMDktMTggMDA6NTg6MjMgKzEwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGV4dC9nZGtfcGl4YnVmL2dzdGdka3BpeGJ1ZnNpbmsuYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzoKCSAgRml4IHNvbWUgY29tcGlsZXIgd2FybmluZ3Mgd2hlbiBidWlsZGluZyB3aXRoIEdfRElTQUJMRV9BU1NFUlQKCSAgVG91Y2hlcyBydHBtYW5hZ2VyIGFuZCBnZGtwaXhidWZzaW5rCgoyMDE1LTA4LTE4IDE0OjMwOjU3ICswMTAwICBDaHJpcyBCYXNzIDxmbG9vYmxlZmxhbUBnbWFpbC5jb20+CgoJKiBnc3QvaXNvbXA0L2ZvdXJjYy5oOgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSogZ3N0L2lzb21wNC9xdGRlbXV4X3R5cGVzLmM6CgkgIHF0ZGVtdXg6IHN1cHBvcnQgdGltZWQtdGV4dCBzdWJ0aXRsZSB0cmFja3MuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTI4MTgKCjIwMTUtMDktMjYgMDA6MTI6NDYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXBhcnNlLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBnc3Q6IERvbid0IHVzZSBkZXByZWNhdGVkIGdzdF9zZWdtZW50X3RvX3Bvc2l0aW9uKCkKCjIwMTUtMDktMjEgMTM6NDc6MjEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmg6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuaDoKCSAgcnRwYmluL3J0cGppdHRlcmJ1ZmZlci9ydHNwc3JjOiBBZGQgcHJvcGVydHkgdG8gc2V0IG1heGltdW0gbXMgYmV0d2VlbiBSVENQIFNSIFJUUCB0aW1lIGFuZCBsYXN0IG9ic2VydmVkIFJUUCB0aW1lCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTUxMjUKCjIwMTUtMDktMTYgMTk6Mjg6MTEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmg6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzoKCSAgcnRwYmluL3Nlc3Npb246IEFsbG93IFJUQ1Agc3luYyB0byBoYXBwZW4gYmFzZWQgb24gY2FwdHVyZSB0aW1lIG9yIHNlbmQgdGltZQoJICBTZW5kIHRpbWUgaXMgdGhlIHByZXZpb3VzIGJlaGF2aW91ciBhbmQgdGhlIGRlZmF1bHQsIGJ1dCB0aGVyZSBhcmUgdXNlIGNhc2VzCgkgIHdoZXJlIHlvdSB3YW50IHRvIHN5bmNocm9uaXplIGJhc2VkIG9uIHRoZSBjYXB0dXJlIHRpbWUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTUxMjUKCjIwMTUtMDktMjUgMjM6NTE6MDkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkgIEJhY2sgdG8gZGV2ZWxvcG1lbnQKCj09PSByZWxlYXNlIDEuNi4wID09PQoKMjAxNS0wOS0yNSAyMzoxNTo1NSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIENoYW5nZUxvZzoKCSogTkVXUzoKCSogUkVMRUFTRToKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi0xMzk0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhY29sb3IueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXBldGFnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvZngueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9wYXJzZXJzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2RldGVjdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdmkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FjYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2Fpcm8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY3V0dGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlaW50ZXJsYWNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0bWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZmZWN0di54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lcXVhbGl6ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmxhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx4ZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdka3BpeGJ1Zi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20yazEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWN5ZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW1hZ2VmcmVlemUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXJsZWF2ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pc29tcDQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tamFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxldmVsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1hdHJvc2thLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpZmlsZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aXBhcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmF2aWdhdGlvbnRlc3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzNC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3NhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbmcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcHVsc2VhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXBsYXlnYWluLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHBtYW5hZ2VyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0c3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hhcGV3aXBlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNob3V0MnNlbmQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc21wdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVjdHJ1bS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10YWdsaWIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdWRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvNGxpbnV4Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2JveC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2Nyb3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9maWx0ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9taXhlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12cHgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2ZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teGltYWdlc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXk0bWVuYy54bWw6CgkqIGdzdC1wbHVnaW5zLWdvb2QuZG9hcDoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICBSZWxlYXNlIDEuNi4wCgoyMDE1LTA5LTI1IDIyOjU3OjM0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogcG8vYWYucG86CgkqIHBvL2F6LnBvOgoJKiBwby9iZy5wbzoKCSogcG8vY2EucG86CgkqIHBvL2NzLnBvOgoJKiBwby9kYS5wbzoKCSogcG8vZGUucG86CgkqIHBvL2VsLnBvOgoJKiBwby9lbl9HQi5wbzoKCSogcG8vZW8ucG86CgkqIHBvL2VzLnBvOgoJKiBwby9ldS5wbzoKCSogcG8vZmkucG86CgkqIHBvL2ZyLnBvOgoJKiBwby9nbC5wbzoKCSogcG8vaHIucG86CgkqIHBvL2h1LnBvOgoJKiBwby9pZC5wbzoKCSogcG8vaXQucG86CgkqIHBvL2phLnBvOgoJKiBwby9sdC5wbzoKCSogcG8vbHYucG86CgkqIHBvL210LnBvOgoJKiBwby9uYi5wbzoKCSogcG8vbmwucG86CgkqIHBvL29yLnBvOgoJKiBwby9wbC5wbzoKCSogcG8vcHRfQlIucG86CgkqIHBvL3JvLnBvOgoJKiBwby9ydS5wbzoKCSogcG8vc2sucG86CgkqIHBvL3NsLnBvOgoJKiBwby9zcS5wbzoKCSogcG8vc3IucG86CgkqIHBvL3N2LnBvOgoJKiBwby90ci5wbzoKCSogcG8vdWsucG86CgkqIHBvL3ZpLnBvOgoJKiBwby96aF9DTi5wbzoKCSogcG8vemhfSEsucG86CgkqIHBvL3poX1RXLnBvOgoJICBVcGRhdGUgLnBvIGZpbGVzCgoyMDE1LTA5LTI1IDE0OjA4OjA5ICswMjAwICBUaGliYXVsdCBTYXVuaWVyIDx0c2F1bmllckBnbm9tZS5vcmc+CgoJKiBnc3Qvc21wdGUvZ3N0c21wdGVhbHBoYS5jOgoJICBzbXB0ZWFscGhhOiBEbyBub3Qgc2V0IHdpZHRoL2hlaWdodCBiZWZvcmUgY29tcGFyaW5nIHdpdGggb2xkIHZhbHVlcwoJICBPdGhlcndpc2Ugd2UgZW5kIHVwIGNvbnNpZGVyaW5nIHRoZSB2YWx1ZXMgZGlkIG5vdCBjaGFuZ2UgYW5kIHdlIHdyb25nbHkKCSAgd29yayB3aXRoIHRoZSBvbGQgdmlkZW8gZm9ybWF0ICh3aGljaCB3aWxsIGxlYWQgdG8gd3JvbmcKCSAgYmVoYXZpb3VyL3NlZ2ZhdWx0cykuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTU2MjEKCjIwMTUtMDktMjMgMjA6NTk6MDAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogQWNjdW11bGF0ZSBzZWdtZW50cyBmb3IgZWRpdCBsaXN0cyBiZWZvcmUgYWN0aXZhdGluZyB0aGUgbmV4dCBzZWdtZW50CgkgIGVjZWIyY2NjNzM5MDkyZDk2NGQ3ODk0NWUxOWMyZWNlZGJkMjE0ZTIgYnJva2Ugc2VnbWVudCBzZWVrcyBieSBhbHdheXMKCSAgYWNjdW11bGF0aW5nIHNlZ21lbnRzIG1hbnVhbGx5IHdoZW4gYWN0aXZhdGluZyBhIHNlZ21lbnQuIFRoaXMgaXMgb25seQoJICBuZWVkZWQgd2hlbiBoYW5kbGluZyBlZGl0IGxpc3RzLCBub3Qgd2hlbiBhY3RpdmF0aW5nIGEgc2VnbWVudCBiZWNhdXNlIG9mIGEKCSAgc2Vlay4gRG8gdGhlIGFjY3VtdWxhdGlvbiB3aGVuIHN3aXRjaGluZyBlZGl0IGxpc3Qgc2VnbWVudHMgaW5zdGVhZC4KCSAgVGhpcyBmaXhlcyBzZWdtZW50IHNlZWtzIGFnYWluLCB3aGlsZSBrZWVwaW5nIGVkaXQgbGlzdHMgcGxheWJhY2sgd29ya2luZy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NTQ3MQoKMjAxNS0wOS0yMyAxNzo0Mzo1MSArMDUzMCAgVmlrcmFtIEZ1Z3JvIDx2aWtyYW0uZnVncm9AZ21haWwuY29tPgoKCSogZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmM6CgkgIHNwZWN0cnVtOiBzZW5kIHBoYXNlIHZhbHVlcyBpbiB0aGUgR3N0TWVzc2FnZSBmb3IgUGhhc2UgaW5mbwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU1NDYzCgoyMDE1LTA5LTIyIDAwOjQ2OjAxICsxMDAwICBKYW4gU2NobWlkdCA8amFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSAgbWF0cm9za2EtbXV4OiBEb24ndCBvdXRwdXQgYSB3YXJuaW5nIG9uIE1PTk8gbXVsdGl2aWV3IG1vZGUuCgoyMDE1LTA5LTE5IDE3OjAyOjE4ICswMjAwICBTZWJhc3RpYW4gUmFzbXVzc2VuIDxzZWJyYXNAaG90bWFpbC5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cHRoZW9yYWRlcGF5LmM6CgkgIHJ0cHRoZW9yYWRlcGF5OiBGaXggbWVtb3J5IGxlYWtzCgkgIFRoZSBzYW1lIG1lbW9yeSBsZWFrcyB3ZXJlIGZpeGVkIGluIGlkZW50aWNhbCBmYXNoaW9uIGZvcgoJICB2b3JiaXNkZXBheSBpbiAwNmVmZWZmNWQ5Nzk1NzZhMjUyZTVkYWU1N2Y0NmQ2NDQ1YjFkZjEyIGluIDIwMDkuCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTUyNzcKCjIwMTUtMDktMTkgMTc6MDQ6MDcgKzAyMDAgIFNlYmFzdGlhbiBSYXNtdXNzZW4gPHNlYnJhc0Bob3RtYWlsLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwdGhlb3JhcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwdm9yYmlzZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHB2b3JiaXNwYXkuYzoKCSAgcnRwe3ZvcmJpcyx0aGVvcmF9e3BheSxkZXBheX06IENvc21ldGljIGNsZWFudXAKCSAgKiB1c2UgZ19saXN0X2ZyZWVfZnVsbCgpLCBkb24ndCBpdGVyYXRlIGVsZW1lbnRzIG1hdWFsbHkgd2hlbiBmcmVlaW5nCgkgICogY2FsbCBnc3RfcnRwXypfcGF5X2NsZWFyX3BhY2tldCgpLCBkb24ndCBkdXBsaWNhdGUgaXRzIGNvZGUKCSAgKiB1c2UgZ3N0X2J1ZmZlcl91bnJlZigpIHRvIGNsYXJpZnkgdGhhdCBpdCBpcyBidWZmZXJzIGJlaW5nIHJlbGVhc2VkLAoJICBpbnN0ZWFkIG9mIHJlZmVyaW5nIGRpcmVjdGx5IHRvIGdzdF9taW5pX29iamVjdF91bnJlZigpCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTUyNzcKCjIwMTUtMDktMTkgMTg6NDQ6MjIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cHRoZW9yYXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHZvcmJpc3BheS5jOgoJICBydHB7dm9yYmlzLHRoZW9yYX1wYXk6IFN0b3JlIGhlYWRlcnMgaW4gdGhlIHBhY2tldCBidWZmZXJzIGxpc3RzLCBub3QgYSBOVUxMIGJ1ZmZlcgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU1MjY1Cgo9PT0gcmVsZWFzZSAxLjUuOTEgPT09CgoyMDE1LTA5LTE4IDE5OjMzOjEzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogQ2hhbmdlTG9nOgoJKiBORVdTOgoJKiBSRUxFQVNFOgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5zaWduYWxzOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tMTM5NC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYWNvbG9yLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFwZXRhZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb2Z4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvcGFyc2Vycy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9kZXRlY3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXZpLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhY2FzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhaXJvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWN1dHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWludGVybGFjZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdG1mLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZmVjdHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXF1YWxpemVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZseGRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZGtwaXhidWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tMmsxLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWljeWRlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlkM2RlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWltYWdlZnJlZXplLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVybGVhdmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taXNvbXA0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWphY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanBlZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sZXZlbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tYXRyb3NrYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aWZpbGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlwYXJ0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5hdmlnYXRpb250ZXN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zczQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5nLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXB1bHNlYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVwbGF5Z2Fpbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwbWFuYWdlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHNwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNoYXBld2lwZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaG91dDJzZW5kLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNtcHRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlY3RydW0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdGFnbGliLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXVkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlbzRsaW51eDIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9ib3gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9jcm9wLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvZmlsdGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvbWl4ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdnB4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXhpbWFnZXNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi15NG1lbmMueG1sOgoJKiBnc3QtcGx1Z2lucy1nb29kLmRvYXA6CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgUmVsZWFzZSAxLjUuOTEKCjIwMTUtMDktMTggMTk6MjM6NTcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBwby9hZi5wbzoKCSogcG8vYXoucG86CgkqIHBvL2JnLnBvOgoJKiBwby9jYS5wbzoKCSogcG8vY3MucG86CgkqIHBvL2RhLnBvOgoJKiBwby9kZS5wbzoKCSogcG8vZWwucG86CgkqIHBvL2VuX0dCLnBvOgoJKiBwby9lby5wbzoKCSogcG8vZXMucG86CgkqIHBvL2V1LnBvOgoJKiBwby9maS5wbzoKCSogcG8vZnIucG86CgkqIHBvL2dsLnBvOgoJKiBwby9oci5wbzoKCSogcG8vaHUucG86CgkqIHBvL2lkLnBvOgoJKiBwby9pdC5wbzoKCSogcG8vamEucG86CgkqIHBvL2x0LnBvOgoJKiBwby9sdi5wbzoKCSogcG8vbXQucG86CgkqIHBvL25iLnBvOgoJKiBwby9ubC5wbzoKCSogcG8vb3IucG86CgkqIHBvL3BsLnBvOgoJKiBwby9wdF9CUi5wbzoKCSogcG8vcm8ucG86CgkqIHBvL3J1LnBvOgoJKiBwby9zay5wbzoKCSogcG8vc2wucG86CgkqIHBvL3NxLnBvOgoJKiBwby9zci5wbzoKCSogcG8vc3YucG86CgkqIHBvL3RyLnBvOgoJKiBwby91ay5wbzoKCSogcG8vdmkucG86CgkqIHBvL3poX0NOLnBvOgoJKiBwby96aF9ISy5wbzoKCSogcG8vemhfVFcucG86CgkgIFVwZGF0ZSAucG8gZmlsZXMKCjIwMTUtMDktMTggMTE6NTA6MzEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBwby96aF9DTi5wbzoKCSAgcG86IFVwZGF0ZSB0cmFuc2xhdGlvbnMKCjIwMTUtMDktMTcgMTA6NTA6MDEgKzA5MDAgIEV1bmhhZSBDaG9pIDxldW5oYWUxLmNob2lAc2Ftc3VuZy5jb20+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIGF2aWRlbXV4OiBGaXggdGFnbGlzdCBsZWFrCgkgIGdzdF90YWdfbGlzdF9pbnNlcnQoKSBkb2VzIG5vdCB0YWtlIG93bmVyc2hpcCBvZiB0aGUgaW5zZXJ0ZWQgdGFnbGlzdC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NTEzOAoKMjAxNS0wOS0xNiAwNzowNTozNiArMTAwMCAgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFhY3BhcnNlLmM6CgkgIGFhY3BhcnNlOiBTa2lwIExPQVMgQUFDIHVudGlsIGEgdmFsaWQgY29uZmlnIGlzIHNlZW4uCgkgIEl0J3Mgbm9ybWFsIHdoZW4gZHJvcHBpbmcgaW50byB0aGUgbWlkZGxlIG9mIGEgc3RyZWFtIHRvCgkgIG5vdCBhbHdheXMgaGF2ZSB0aGUgY29uZmlnIGF2YWlsYWJsZSBpbW1lZGlhdGVseSwgc28gc2tpcCBMT0FTCgkgIHVudGlsIGEgdmFsaWQgY29uZmlnIGlzIHNlZW4gd2l0aG91dCBlaXRoZXIgc2V0dGluZyBpbnZhbGlkCgkgIGNhcHMgb3IgZXJyb3Jpbmcgb3V0LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUxMzg2CgoyMDE1LTA5LTEzIDE1OjQxOjM4ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtbmF1d0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgcnRwaml0dGVyYnVmZmVyOiByZXNldCBqdXN0IGEgYml0IG1vcmUgdXBvbiBmbHVzaF9zdG9wCgoyMDE1LTA5LTEzIDE1OjQwOjA5ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtbmF1d0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgcnRwaml0dGVyYnVmZmVyOiByZW1vdmUgZGVhZCBzdHJ1Y3QgbWVtYmVyCgoyMDE1LTA5LTExIDE3OjA5OjI4ICswOTAwICBWaW5lZXRoIFRNIDx2aW5lZXRoLnRtQHNhbXN1bmcuY29tPgoKCSogZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuYzoKCSAgbXVsdGl1ZHBzaW5rOiBmaXggR0Vycm9yIG1lbW9yeSBsZWFrIHdoZW4gaG9zdG5hbWUgcmVzb2x1dGlvbiBmYWlscwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU0ODY5CgoyMDE1LTA5LTEwIDE1OjI2OjU0IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QvbWF0cm9za2EvZWJtbC13cml0ZS5jOgoJICBtYXRyb3NrYW11eDogZHJvcCBIRUFERVIgZmxhZyBmcm9tIG91dHB1dCBidWZmZXJzCgkgIERyb3AgSEVBREVSIGZsYWcgZnJvbSBvdXRwdXQgYnVmZmVycyBpZiB0aGV5IGFyZSBub3QgaW5kZWVkCgkgIGhlYWRlcnMuCgkgIEZpeGVzIHJlc2VuZGluZyBvZiBoZWFkZXJzIGluIHRjcCBjb25uZWN0aW9uIGhhbmRsaW5nCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTQ3NjgKCjIwMTUtMDktMTAgMTY6MDA6NTAgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbWF0cm9za2EvZWJtbC13cml0ZS5jOgoJICBtYXRyb3NrYW11eDogZml4IG1hdHJvc2thbXV4ICEgbWF0cm9za2FkZW11eAoJICBEb24ndCBjYXJyeSBvdmVyIERJU0NPTlQgZmxhZ3MgZnJvbSB0aGUgaW5wdXQgYnVmZmVycyB0byB0aGUKCSAgb3V0cHV0IGJ1ZmZlciwgb3IgdGhlIGRlbXV4ZXIgbWlnaHQgcmVzZXQgaXRzIHN0YXRlIHdoZW4gaXQKCSAgcmVjZWl2ZXMgdGhlIGZpcnN0IGRhdGEgYnVmZmVyIGp1c3QgYWZ0ZXIgcGFyc2luZyB0aGUgc2ltcGxlCgkgIGJsb2NrIGhlYWRlciwgYW5kIHRoZW4gZXhwZWN0IHNhbmUgZGF0YSB0byBmb2xsb3cuCgkgIEZpeGVzIG1hdHJvc2thbXV4ICEgZGVtdXggZXJyb3Jpbmcgb3V0LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU0NzY4CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NTc4MDUKCjIwMTUtMDktMDkgMTI6NTE6NDAgLTA3MDAgIE1hcnRpbiBLZWxseSA8bWFydGluQHN1cnJvdW5kLmlvPgoKCSogZ3N0L3J0c3AvUkVBRE1FOgoJICBydHNwOiBmaXggc21hbGwgUkVBRE1FIHR5cG8KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NDgwNwoKMjAxNS0wOS0wNCAxOTo0NTozNyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0d2F2cGFja3BhcnNlLmM6CgkgIHdhdnBhY2twYXJzZTogc2V0IGJvdGggcHRzIGFuZCBkdHMgc28gYmFzZXBhcnNlIGRvZXNuJ3QgbWFrZSB1cCB3cm9uZyBkdHMgYWZ0ZXIgc2Vla3MKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MjEwNgoKMjAxNS0wOS0wNCAxOTozNDo0MSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZmxhY3BhcnNlLmM6CgkgIGZsYWNwYXJzZTogc2V0IGJvdGggcHRzIGFuZCBkdHMgc28gYmFzZXBhcnNlIGRvZXNuJ3QgbWFrZSB1cCB3cm9uZyBkdHMgYWZ0ZXIgYSBzZWVrCgkgIGZsYWMgY29udGFpbnMgdGhlIHNhbXBsZSBvZmZzZXQgaW4gdGhlIGZyYW1lIGhlYWRlciwgc28gYWZ0ZXIgYSBzZWVrCgkgIHdpdGhvdXQgaW5kZXggZmxhY3BhcnNlIHdpbGwga25vdyB0aGUgZXhhY3QgcG9zaXRpb24gd2UgbGFuZGVkIG9uIGFuZAoJICB0aW1lc3RhbXAgYnVmZmVycyBhY2NvcmRpbmdseS4gSXQgb25seSBzZXQgdGhlIHB0cyB0aG91Z2gsIHdoaWNoIG1lYW5zCgkgIHRoZSBiYXNlcGFyc2Utc2V0IGR0cyB3aGljaCB3YXMgc2V0IHRvIHRoZSBzZWVrIHBvc2l0aW9uIHByZXZhaWxzLCBhbmQKCSAgc2luY2UgdGhlIHNlZWsgd2FzIGJhc2VkIG9uIGFuIGVzdGltYXRlLCB0aGVyZSdzIGxpa2VseSBhIGRpc2NyZXBhbmN5CgkgIGJldHdlZW4gd2hlcmUgd2Ugd2FudGVkIHRvIGxhbmQgYW5kIHdoZXJlIHdlIGRpZCBsYW5kLCBzbyBmcm9tIGhlcmUgb24KCSAgdGhhdCBkdHMvcHRzIGRpZmZlcmVuY2Ugd2lsbCBiZSBtYWludGFpbmVkLCB3aXRoIGR0cyBwb3NzaWJseSBtdWx0aXBsZQoJICBzZWNvbmRzIGFoZWFkIG9mIHB0cywgd2hpY2ggaXMganVzdCB3cm9uZy4gVGhlIGVhc2llc3Qgd2F5IHRvIGZpeCB0aGlzCgkgIGlzIHRvIGp1c3Qgc2V0IGJvdGggcHRzIGFuZCBkdHMgYmFzZWQgb24gdGhlIHNhbXBsZSBvZmZzZXQsIGJ1dCBwZXJoYXBzCgkgIHBhcnNlZCBhdWRpbyBzaG91bGQganVzdCBub3QgaGF2ZSBkdHMgc2V0IGF0IGFsbC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MjEwNgoKMjAxNS0wOS0wNiAxNjozMzowMiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5zaWduYWxzOgoJICBkb2NzOiByZW1vdmUgcHJvcGVydGllcyBhbmQgc2lnbmFscyB0aGF0IG5vIGxvbmdlciBleGlzdAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI2NDQzCgoyMDEzLTEwLTExIDE1OjEzOjAwICswMDAwICBHZW9yZ2UgQ2hyaXNzIDxnc2Nocmlzc0BnbWFpbC5jb20+CgoJKiBnc3QvZmx2L2dzdGZsdm11eC5jOgoJICBmbHZtdXg6IE1ha2UgdGhlIGVsZW1lbnQgY291bnQgaW4gYXJyYXlzIG5vdCBpbmNsdWRlIGVuZAoJICBPbmUtbGluZSByZW1vdmFsIG9mIHRhZ3Nfd3JpdHRlbisrCgkgIFRoaXMgc2hvdWxkIGZpeCBydG1wIG91dHB1dCB0byBjcnRtcHNlcnZlciwgYW5kIGhvcGVmdWxseQoJICBub29uZSBpcyBleHBlY3RpbmcgdGhhdCB0aGUgZWxlbWVudCBjb3VudCBpbmNsdWRlcyB0aGUgZW5kCgkgIGVsZW1lbnQsIGFzIGRpZmZlcmVudCBiaXRzIG9mIGRvY3VtZW50YXRpb24gc2F5IGRpZmZlcmVudAoJICB0aGluZ3MgYWJvdXQgd2hldGhlciBpdCBzaG91bGQgb3Igbm90LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjYxNjI0CgoyMDE1LTA3LTMwIDAwOjU5OjE1ICsxMDAwICBKYW4gU2NobWlkdCA8amFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9mbHYvZ3N0Zmx2bXV4LmM6CgkqIGdzdC9mbHYvZ3N0Zmx2bXV4Lmg6CgkgIGZsdm11eDogU3RvcmUgaW5jb21pbmcgYml0cmF0ZSB0YWdzIGFuZCBzZW5kIGluIHRoZSBtZXRhZGF0YQoJICBBcHBhcmVudGx5IHRoZSBNaWNyb3NvZnQgQXp1cmUgUlRNUCBzZXJ2ZXIgcmVxdWlyZXMgdGhhdCB0aGUKCSAgdmlkZW9kYXRhcmF0ZSBhbmQgYXVkaW9kYXRhcmF0ZSBtZXRhZGF0YSBiZSBwcm92aWRlZCwgc28KCSAgc2V0IHRob3NlLCBldmVuIGlmIGl0J3MgdG8gMC4gVXNlIHRoZSBhY3R1YWwgaW5wdXQgYml0cmF0ZQoJICB0YWdzIGlmIGF2YWlsYWJsZS4KCjIwMTUtMDktMDQgMDA6MDY6MjkgKzEwMDAgIEphbiBTY2htaWR0IDxqYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBEb24ndCBwYXJzZSBrZXkgZGF0YSBtb3JlIHRoYW4gbmVlZGVkLgoJICBXaGVuIGFuIGF1eGlsbGlhcnkgc3RyZWFtcyBhcmUgcHJlc2VudCBpbiB0aGUgU0RQIG1lZGlhLAoJICB0aGVyZSdzIG5vIG5lZWQgdG8gcmUtcGFyc2UgdGhlIFNEUCBhdHRyaWJ1dGVzIG11bHRpcGxlCgkgIHRpbWVzLgoKMjAxNS0wOS0wMyAyMDo1Njo1NSArMTAwMCAgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IEZpeCBTUlRQICsgUlRYLCBhdXRoIGFjY2VzcywgYSBsZWFrLCBhbmQgYW4gaW52YWxpZCBtZW1vcnkgYWNjZXNzLgoJICBJbiBwYXJzZV9rZXltZ210KCksIGRvbid0IG11dGF0ZSB0aGUgaW5wdXQgc3RyaW5nIHRoYXQncyBiZWVuIHBhc3NlZAoJICBhcyBjb25zdCwgZXNwZWNpYWxseSBzaW5jZSB3ZSBtaWdodCBuZWVkIHRoZSBvcmlnaW5hbCB2YWx1ZSBhZ2FpbiBpZgoJICB0aGUgc2FtZSBrZXkgaW5mbyBhcHBsaWVzIHRvIG11bHRpcGxlIHN0cmVhbXMgKFJUWCwgZm9yIGV4YW1wbGUpLgoJICBXaGVuIGEgcmVzb3VyY2UgaXMgNDA0LCBhbmQgd2UgaGF2ZSBhdXRoIGluZm8gLSByZXRyeSB3aXRoIHRoZSBhdXRoCgkgIGluZm8gdGhlIHNhbWUgYXMgaWYgd2UgaGFkIHJlY2VpdmUgdW5hdXRob3Jpc2VkLCBpbiBjYXNlIHRoZSByZXNvdXJjZQoJICBpc24ndCBldmVuIHZpc2libGUgdW50aWwgY3JlZGVudGlhbHMgYXJlIHN1cHBsaWVkLgoJICBGaXggYSBtZW1vcnkgbGVhayBoYW5kbGluZyBNaWtleSBkYXRhLgoJICBXaGVuIGdlbmVyYXRpbmcgYSByYW5kb20ga2V5c3RyaW5nLCBkb24ndCBvdmVycnVuIHRoZSAzMCBieXRlCgkgIGJ1ZmZlciBieSBnZW5lcmF0aW5nIDMyIGJ5dGVzIGludG8gaXQuCgoyMDE1LTA5LTA0IDE1OjE4OjA1ICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3VkcC9nc3R1ZHBzcmMuYzoKCSAgdWRwc3JjOiBGaXggYnVpbGQgd2l0aCBHTGliIDwgMi40NAoJICBHX0lPX0VSUk9SX0NPTk5FQ1RJT05fQ0xPU0VEIHdhcyBhZGRlZCBpbiAyLjQ0LgoKMjAxNS0wOS0wNCAxMjowMTo1MiArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC91ZHAvZ3N0dWRwc3JjLmM6CgkgIHVkcHNyYzogSWdub3JlIEdfSU9fRVJST1JfQ09OTkVDVElPTl9DTE9TRUQgd2hlbiByZWNlaXZpbmcgZGF0YQoJICBUaGlzIGhhcHBlbnMgb24gV2luZG93cyBpZiB3ZSB1c2UgdGhlIHNhbWUgc29ja2V0IGZvciBzZW5kaW5nIHBhY2tldHMsCgkgIGFuZCB0aGUgcmVtb3RlIHNlbmRzIElDTVAgcG9ydC9ob3N0IHVucmVhY2hhYmxlIG1lc3NhZ2VzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU0NTM0CgoyMDE1LTA5LTAyIDIxOjEyOjQxICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0cC9nc3RydHB0aGVvcmFkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHZvcmJpc2RlcGF5LmM6CgkgIHJ0cHZvcmJpcy90aGVvcmFkZXBheTogRml4IGhhbmRsaW5nIG9mIGZyYWdtZW50ZWQgcGFja2V0cwoJICBUaGlzIHdhcyBicm9rZW4gaW4gYjEwODlmYjUyMCBieSBub3QgY29uc2lkZXJpbmcgdGhlIGZ1bGwgcGFja2V0IGxlbmd0aCBvZiBhCgkgIGZyYWdtZW50ZWQgcGFja2V0IGJ1dCBvbmx5IHRoZSBsZW5ndGggb2YgdGhlIGZpcnN0IG9uZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NDQxNwoKMjAxNS0wOS0wMSAxNTozOToyMiAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9kdG1mL2dzdGR0bWZzcmMuYzoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZnNyYy5jOgoJICBkdG1mc3JjOiBSZXBseSB0byBsYXRlbmN5IHF1ZXJ5CgoyMDE1LTA4LTMxIDE2OjQyOjMwIC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwc2Vzc2lvbi5jOgoJICB0ZXN0czogRml4IHJ0cHNlc3Npb24gdGVzdCBmYWlsdXJlCgkgIFRoZSB0aW1lIG9mIHRoZSBmaXJzdCBSVENQIHBhY2tldCBpcyBzZW1pLXJhbmRvbSwgc28KCSAgc29tZXRpbWVzIGl0IHdhcyBwcm9kdWNlZCBiZWZvcmUgZW5vdWdoIHBhY2tldHMgZnJvbQoJICB0aGUgc2Vjb25kIFNTUkMgd2VyZSByZWNlaXZlZC4gRmlyc3QgZHJvcCBxdWV1ZWQgUlRDUAoJICBwYWNrZXRzLCB0aGVuIGFkdmFuY2UgdGhlIGNsb2NrIGVub3VnaCB0byBlbnN1cmUKCSAgdGhhdCBhdCBsZWFzdCBvbmUgbmV3IFJUQ1AgcGFja2V0IGlzIHByb2R1Y2VkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUwNzMxCgoyMDE1LTA4LTMxIDEzOjU2OjA0ICswMjAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvbGV2ZWwuYzoKCSAgbGV2ZWw6IGltcHJvdmUgdGhlIHRlc3QgZm9yIG11bHRpLWNoYW5uZWwgbW9kZQoJICBDaGFuZ2UgdGhlIHRlc3QgdG8gdmVyaWZ5IHRoZSByZWFkLWluZGV4IGZvciBtdWx0aXBsZSBtZXNzYWdlcyBwZXIgYnVmZmVyLgoJICBTZWUgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NDE0NAoKMjAxNS0wOC0zMSAxMjo0Njo1MiArMDIwMCAgSmFuIEFsZXhhbmRlciBTdGVmZmVucyAoaGVmdGlnKSA8amFuLnN0ZWZmZW5zQGdtYWlsLmNvbT4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYWRlbXV4OiBBbGlnbiByYXcgdmlkZW8gZnJhbWVzIHRvIDMyIGJ5dGVzCgkgIE91dHB1dHRpbmcgdW5hbGlnbmVkIHZpZGVvIGZyYW1lcyBjYXVzZXMgdmlkZW9zY2FsZSBldCBhbCB0bwoJICBjcmFzaCB3aGVuIGF0dGVtcHRpbmcgU0lNRC1hY2NlbGVyYXRlZCBjb252ZXJzaW9uLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM2OTY1CgoyMDE1LTA4LTI2IDIzOjE2OjQ2ICswMjAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2xldmVsL2dzdGxldmVsLmM6CgkgIGxldmVsOiBmaXggbGV2ZWwgY2FsY3VsYXRpb25zIGZvciBtdXRsaXBsZSBjaGFubmVscwoJICBUaGlzIHdhcyBicm9rZW4gd2l0aCA3YjkwYmYzMjE1MDg5N2ExNDFhMjlhMTJlY2FiNTU1ZDhjNWI3ZmFiLgoKMjAxNS0wOC0yNyAxMDoyODo1NSArMDUzMCAgUmF2aSBLaXJhbiBLIE4gPHJhdmkua2lyYW5Ac2Ftc3VuZy5jb20+CgoJKiBnc3Qvc21wdGUvZ3N0c21wdGUuYzoKCSAgc21wdGU6IEZpeCBtZW1vcnkgbGVhawoJICBJbiBnc3Rfc21wdGVfY29sbGVjdGVkKCksIGNoZWNrIHVwZnJvbnQgaWYgaW5wdXQgZm9ybWF0cyBhcmUgc2FtZQoJICBvciBub3QuIFRoaXMgYXZvaWRzIGFsbG9jYXRpb24gb2YgaW4xIGFuZCBpbjIgYnVmZmVycyBhbmQKCSAgc3Vic2VxdWVudCBtZW1vcnkgbGVhayB3aGVuIGlucHV0IGZvcm1hdHMgZG8gbm90IG1hdGNoLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU0MTUzCgoyMDE1LTA4LTIxIDExOjUyOjE5ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvc291cGh0dHBzcmMuYzoKCSAgdGVzdHM6IHNvdXBodHRwc3JjOiBkb24ndCB0cnkgdG8gY29ubmVjdCB0byBkZWFkIHJhZGlvIHNlcnZlcgoKMjAxNS0wOC0yMSAxNjoyOToxNiArMDkwMCAgVmluZWV0aCBUTSA8dmluZWV0aC50bUBzYW1zdW5nLmNvbT4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogVHJpdmlhbCBmaXggdG8gY2hlY2sgY29ycmVjdCBjb25kaXRpb24KCSAgV2hlbiBjaGVja2luZyBmb3IgZGVzY3JpYmUgbWV0aG9kLCBiZWNhdXNlIG9mIG1pc3NpbmcgcGFyZW50aGVzZXMsIHdyb25nCgkgIGNvbmRpdGlvbiBpcyBiZWluZyBjaGVja2VkLCB3aGljaCB3aWxsIHJlc3VsdCBpbiB3cm9uZyBiZWhhdmlvci4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MzkxMgoKMjAxNS0wOC0yMSAxMzoxOTowMiArMDkwMCAgVmluZWV0aCBUTSA8dmluZWV0aC50bUBzYW1zdW5nLmNvbT4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1yZWFkLWNvbW1vbi5jOgoJICBtYXRyb3NrYTogcmVhZDogZml4IHRhZyBsaXN0IG1lbW9yeSBsZWFrCgkgIGdzdF90b2NfZW50cnlfbWVyZ2VfdGFncyBtYWtlcyBhIG5ldyByZWYgb2YgdGhlIHRhZ2xpc3QsIHNvIGl0IHNob3VsZAoJICBiZSB1bnJlZidlZCBhcyBzb29uIGFzIHRoZSB0YWdzIGFyZSBtZXJnZWQgdG8gdGhlIHRvY2VudHJ5CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTM5MDQKCjIwMTUtMDgtMjEgMTI6MjA6NTkgKzA5MDAgIFZpbmVldGggVE0gPHZpbmVldGgudG1Ac2Ftc3VuZy5jb20+CgoJKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZGVjLmM6CgkgIHdhdnBhY2tkZWM6IGZpeCB0YWdsaXN0IG1lbW9yeSBsZWFrCgkgIFdoZW4gcGFzc2luZyB0aGUgdGFnbGlzdCB0byBnc3RfYXVkaW9fZGVjb2Rlcl9tZXJnZV90YWdzLCB0aGUgcmVmZXJlbmNlIGlzIGluY3JlYXNlZAoJICBieSBhdWRpb2RlY29kZXIgYW5kIHRoZSBjYWxsZXIgc2hvdWxkIGZyZWUgdGhlIHRhZ2xpc3QgYmVpbmcgcGFzc2VkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUzOTAzCgoyMDE1LTA4LTIwIDE0OjQ1OjMzICswMjAwICBKZWFuLU1pY2hlbCBIYXV0Ym9pcyA8amVhbi1taWNoZWwuaGF1dGJvaXNAdmVvLWxhYnMuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMnRyYW5zZm9ybS5jOgoJICB2NGwydHJhbnNmb3JtOiBmaXggcGFkIGNsb3NpbmcKCSAgU2lnbmVkLW9mZi1ieTogSmVhbi1NaWNoZWwgSGF1dGJvaXMgPGplYW4tbWljaGVsLmhhdXRib2lzQHZlby1sYWJzLmNvbT4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1Mzg3NQoKPT09IHJlbGVhc2UgMS41LjkwID09PQoKMjAxNS0wOC0xOSAxMzoyOTo1MyArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIENoYW5nZUxvZzoKCSogTkVXUzoKCSogUkVMRUFTRToKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmludGVyZmFjZXM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuc2lnbmFsczoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLTEzOTQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWFzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGFjb2xvci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hcGV0YWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9meC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb3BhcnNlcnMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvZGV0ZWN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF2aS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWNhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWlyby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jdXR0ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVpbnRlcmxhY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRtZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmZlY3R2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVxdWFsaXplci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbGFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHhkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2RrcGl4YnVmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbTJrMS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pY3lkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pZDNkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbWFnZWZyZWV6ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlcmxlYXZlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlzb21wNC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwZWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGV2ZWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWF0cm9za2EueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlmaWxlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpcGFydC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uYXZpZ2F0aW9udGVzdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3M0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zc2F1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBuZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wdWxzZWF1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlcGxheWdhaW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cG1hbmFnZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRzcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaGFwZXdpcGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hvdXQyc2VuZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbXB0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWN0cnVtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXRhZ2xpYi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi11ZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW80bGludXgyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvYm94LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvY3JvcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2ZpbHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb21peGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZweC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14aW1hZ2VzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teTRtZW5jLnhtbDoKCSogZ3N0LXBsdWdpbnMtZ29vZC5kb2FwOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIFJlbGVhc2UgMS41LjkwCgoyMDE1LTA4LTE5IDEyOjQ3OjQyICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogcG8vYWYucG86CgkqIHBvL2F6LnBvOgoJKiBwby9iZy5wbzoKCSogcG8vY2EucG86CgkqIHBvL2NzLnBvOgoJKiBwby9kYS5wbzoKCSogcG8vZGUucG86CgkqIHBvL2VsLnBvOgoJKiBwby9lbl9HQi5wbzoKCSogcG8vZW8ucG86CgkqIHBvL2VzLnBvOgoJKiBwby9ldS5wbzoKCSogcG8vZmkucG86CgkqIHBvL2ZyLnBvOgoJKiBwby9nbC5wbzoKCSogcG8vaHIucG86CgkqIHBvL2h1LnBvOgoJKiBwby9pZC5wbzoKCSogcG8vaXQucG86CgkqIHBvL2phLnBvOgoJKiBwby9sdC5wbzoKCSogcG8vbHYucG86CgkqIHBvL210LnBvOgoJKiBwby9uYi5wbzoKCSogcG8vbmwucG86CgkqIHBvL29yLnBvOgoJKiBwby9wbC5wbzoKCSogcG8vcHRfQlIucG86CgkqIHBvL3JvLnBvOgoJKiBwby9ydS5wbzoKCSogcG8vc2sucG86CgkqIHBvL3NsLnBvOgoJKiBwby9zcS5wbzoKCSogcG8vc3IucG86CgkqIHBvL3N2LnBvOgoJKiBwby90ci5wbzoKCSogcG8vdWsucG86CgkqIHBvL3ZpLnBvOgoJKiBwby96aF9DTi5wbzoKCSogcG8vemhfSEsucG86CgkqIHBvL3poX1RXLnBvOgoJICBVcGRhdGUgLnBvIGZpbGVzCgoyMDE1LTA4LTE5IDExOjI5OjU1ICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogcG8vZWwucG86CgkqIHBvL3poX0NOLnBvOgoJICBwbzogVXBkYXRlIHRyYW5zbGF0aW9ucwoKMjAxNS0wOC0xMyAxNzoyOTo1OCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9tdWx0aWZpbGUvZ3N0bXVsdGlmaWxlc3JjLmM6CgkgIG11bHRpZmlsZXNyYzogZml4IHJlZ3Jlc3Npb24gd2l0aCBzdGFydGluZyBmcm9tIGluZGV4IHNldCB2aWEgaW5kZXggcHJvcGVydHkKCSAgV2hlbiB3ZSBoYXZlbid0IHN0YXJ0ZWQgeWV0LCBzZXQgdGhlIHN0YXJ0X2luZGV4IHdoZW4gd2Ugc2V0IHRoZSBpbmRleCBwcm9wZXJ0eSwKCSAgc28gdGhhdCB3ZSBzdGFydCBhdCB0aGUgcmlnaHQgaW5kZXggcG9zaXRpb24gYWZ0ZXIgdGhlIGluaXRpYWwgc2Vlay4gVGhlIGluZGV4CgkgIHByb3BlcnR5IHdhcyBuZXZlciByZWFsbHkgbWVhbnQgdG8gYmUgZm9yIHdyaXRpbmcsIGJ1dCBpdCB1c2VkIHRvIHdvcmssIHNvIGxldCdzCgkgIHN1cHBvcnQgaXQgZm9yIGJhY2t3YXJkcyBjb21wYXRpYmlsaXR5LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM5NDcyCgoyMDE1LTA4LTE4IDEwOjUyOjExICswMTAwICBBbGV4IEFzaGxleSA8YnVnemlsbGFAYXNobGV5LWZhbWlseS5uZXQ+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogZml4IG9mZnNldCBjYWxjdWxhdGlvbiB3aGVuIHBhcnNpbmcgQ0VOQyBhdXggaW5mbwoJICBDb21taXQgN2Q3ZTU0Y2U2ODYzZmY1M2UxODhkMDI3NmQyNjUxYjY1MDgyZmZkYiBhZGRlZCBzdXBwb3J0IGZvcgoJICBEQVNIIGNvbW1vbiBlbmNyeXB0aW9uLCBob3dldmVyIGNvbW1pdAoJICBiYjMzNjg0MGMwYjBiMDJmYTE4ZGM0NDM3Y2UwZGVkM2Q5MTQyODAxIHRoYXQgd2VudCBvbnRvIG1hc3RlcgoJICBzaG9ydGx5IGJlZm9yZSB0aGUgQ0VOQyBjb21taXQgY2F1c2VkIHRoZSBjYWxjdWxhdGlvbiBvZiB0aGUgQ0VOQwoJICBhdXggaW5mbyBvZmZzZXQgdG8gYmUgaW5jb3JyZWN0LgoJICBUaGUgYmFzZV9vZmZzZXQgd2FzIGJlaW5nIGFkZGVkIGlmIHByZXNlbnQsIGJ1dCBpZiB0aGUgYmFzZV9vZmZzZXQKCSAgaXMgcmVsYXRpdmUgdG8gdGhlIHN0YXJ0IG9mIHRoZSBtb29mLCB0aGUgb2Zmc2V0IHdhcyBiZWluZyBhZGRlZCB0d2ljZS4KCSAgVGhlIGNvcnJlY3QgYXBwcm9hY2ggaXMgdG8gY2FsY3VsYXRlIHRoZSBvZmZzZXQgZnJvbSB0aGUgc3RhcnQgb2YgdGhlCgkgIG1vb2YgYW5kIHVzZSB0aGF0IG9mZnNldCB3aGVuIHBhcnNpbmcgdGhlIENFTkMgYXV4IGluZm8uCgoyMDE1LTA4LTE3IDE0OjI4OjI0IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBleHQvZmxhYy9nc3RmbGFjZW5jLmM6CgkgIGZsYWNlbmM6IGFjdHVhbGx5IHJldHVybiB0cnVlIGZvciBhY2NlcHQtY2FwcyBxdWVyeSBoYW5kbGluZwoKMjAxNS0wOC0xNyAxNDowNzoxMCArMDkwMCAgSHl1bmp1biBLbyA8enpvb24ua29Ac2Ftc3VuZy5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjNwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnc21wYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBrbHZwYXkuYzoKCSAgcnRwOiBjb3B5IG1ldGFkYXRhIGluIHRoZSAoZGUpcGF5bG9hZGVycyB3aGljaCBpcyBtaXNzZWQgYmVmb3JlCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTM3MDYKCjIwMTUtMDgtMTYgMTU6MjE6NTEgLTA0MDAgIER1c3RpbiBTcGljdXp6YSA8ZHVzdGluQHZpcnR1YWxyb2Fkc2lkZS5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIHN5cy9kaXJlY3Rzb3VuZC9nc3RkaXJlY3Rzb3VuZHNpbmsuYzoKCSogc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdHNvdW5kc2luay5oOgoJICBkaXJlY3Rzb3VuZHNpbms6IGFsbG93IHNwZWNpZnlpbmcgYXVkaW8gcGxheWJhY2sgZGV2aWNlCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTM2NzAKCjIwMTUtMDgtMTYgMTM6NTE6NDcgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGV4dC9mbGFjL2dzdGZsYWNlbmMuYzoKCSAgZmxhY2VuYzogcmVtb3ZlIHNpbmdsZSBlbnRyeSBpZiBmcm9tIGxvb3AKCSAgSXRlcmF0ZSBmcm9tIHRoZSAybmQgY2hhbm5lbCBvbiBhbmQgY3JlYXRlIHRoZSAxIGNoYW5uZWwgc3RydWN0CgkgIG91dHNpZGUgdG8gbWFrZSBsb29wIHN0cnVjdHVyZSBzaW1wbGVyIGFuZCBvbmx5IHNsaWdodGx5IGZhc3Rlci4KCjIwMTUtMDgtMTYgMTM6MjE6NDEgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGV4dC9mbGFjL2dzdGZsYWNlbmMuYzoKCSAgZmxhY2VuYzogaW1wbGVtZW50IHByb3BlciBhY2NlcHQtY2FwcwoJICBTaG91bGQganVzdCBjb21wYXJlIHdpdGggd2hhdCBjYW4gYmUgaW1tZWRpYXRlbGx5IGFjY2VwdGVkIGJ5CgkgIHRoZSBlbGVtZW50LiBmbGFjZW5jIGNhbid0IHJlbmVnb3RpYXRlIHNvIGlmIGl0IGhhcyBhIGNhcHMgYWxyZWFkeQoJICBpdCBzaG91bGQgb25seSBhY2NlcHQgaWYgaXQgaXMgdGhhdCBjYXBzIG90aGVyd2lzZSBqdXN0IHVzZSB0aGUKCSAgdGVtcGxhdGUgY2FwcwoKMjAxNS0wOC0xNiAxMzowMzozNiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2VuYy5jOgoJICBmbGFjZW5jOiBpbXByb3ZlIHNpbmsgcGFkIHRlbXBsYXRlIGNhcHMKCSAgUmVtb3ZlcyB0aGUgbmVlZCBmb3IgY3VzdG9tIGNhcHMgcXVlcnkgaGFuZGxpbmcgYW5kIG1ha2VzIGl0IG1vcmUKCSAgY29ycmVjdCBmcm9tIHRoZSBiZWdpbm5pbmcgb24gdGhlIHRlbXBsYXRlLiBJdCBpcyBhIGJpdCB1Z2xpZXIKCSAgdG8gcmVhZCBiZWNhdXNlIHRoZXJlIGlzIDEgZW50cnkgcGVyIGNoYW5uZWwgYnV0IG1ha2VzIGNvZGUgZWFzaWVyCgkgIHRvIG1haW50YWluLgoKMjAxNS0wOC0xNiAxMjo0MTo1NiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0L3k0bS9nc3R5NG1lbmNvZGUuYzoKCSAgeTRtZW5jb2RlOiBmaXggZ3N0LWxhdW5jaCB2ZXJzaW9uIGluIGRvY3VtZW50YXRpb24KCjIwMTUtMDgtMTUgMjI6MzI6MjEgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGV4dC9zcGVleC9nc3RzcGVleGVuYy5jOgoJKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZW5jLmM6CgkqIGdzdC9sYXcvYWxhdy1lbmNvZGUuYzoKCSogZ3N0L2xhdy9tdWxhdy1lbmNvZGUuYzoKCSAgYXVkaW9lbmNvZGVyczogdXNlIHRlbXBsYXRlIHN1YnNldCBjaGVjayBmb3IgYWNjZXB0LWNhcHMKCSAgSXQgaXMgZmFzdGVyIHRoYW4gZG9pbmcgYSBxdWVyeSB0aGF0IHByb3BhZ2F0ZXMgZG93bnN0cmVhbSBhbmQKCSAgc2hvdWxkIGJlIGVub3VnaAoJICBFbGVtZW50czogc3BlZXhlbmMsIHdhdnBhY2tlbmMsIG11bGF3ZW5jLCBhbGF3ZW5jCgoyMDE1LTA4LTE1IDIyOjI5OjQxIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBleHQvanBlZy9nc3RqcGVnZW5jLmM6CgkqIGV4dC9saWJwbmcvZ3N0cG5nZW5jLmM6CgkqIGV4dC92cHgvZ3N0dnA4ZW5jLmM6CgkqIGV4dC92cHgvZ3N0dnA5ZW5jLmM6CgkqIGdzdC95NG0vZ3N0eTRtZW5jb2RlLmM6CgkgIHZpZGVvZW5jb2RlcnM6IHVzZSB0ZW1wbGF0ZSBzdWJzZXQgY2hlY2sgZm9yIGFjY2VwdC1jYXBzCgkgIEl0IGlzIGZhc3RlciB0aGFuIGRvaW5nIGEgcXVlcnkgdGhhdCBwcm9wYWdhdGVzIGRvd25zdHJlYW0gYW5kCgkgIHNob3VsZCBiZSBlbm91Z2gKCSAgRWxlbWVudHM6IGpwZWdlbmMsIHBuZ2VuYywgdnA4ZW5jLCB2cDllbmMsIHk0bWVuYwoKMjAxNS0wOC0xNiAxNzoyMToyNCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0bXBlZ2F1ZGlvcGFyc2UuYzoKCSAgbXBlZ2F1ZGlvcGFyc2U6IHVzZSBuZXcgYmFzZXBhcnNlIEFQSSB0byBmaXggdGFnIGhhbmRsaW5nCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02Nzk3NjgKCjIwMTUtMDMtMTcgMTc6NTA6MzcgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFhY3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWMzcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhbXJwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGRjYXBhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0c2JjcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3R3YXZwYWNrcGFyc2UuYzoKCSAgYXVkaW9wYXJzZXJzOiB1c2UgbmV3IGJhc2UgcGFyc2UgQVBJIHRvIGZpeCB0YWcgaGFuZGxpbmcKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY3OTc2OAoKMjAxNS0wOC0xNiAxNDozNzo1MyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZmxhY3BhcnNlLmM6CgkgIGZsYWNwYXJzZTogdXNlIG5ldyBiYXNlcGFyc2UgQVBJIGFuZCBmaXggdGFnIGhhbmRsaW5nCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02Nzk3NjgKCjIwMTUtMDgtMTYgMTM6MDQ6MDIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogVXNlIHNpZ25lZCBpbnRlZ2VyIHR5cGUgdG8gYmUgYWJsZSB0byBjaGVjayBmb3IgbmVnYXRpdmUgc3VidHJhY3Rpb24gcmVzdWx0cwoJICBDSUQgMTMxNTgyOQoKMjAxNS0wOC0xNiAxMTo1MDozNCArMDEwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpc0BkZWJldGhlbmNvdXJ0LmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwdm9yYmlzZGVwYXkuYzoKCSAgcnRwdm9yYmlzZGVwYXk6IHJlbW92ZSBkZWFkIGNvZGUKCSAgcGF5bG9hZF9idWZmZXIgbXVzdCBiZSBOVUxMIGluIGlnbm9yZV9yZXNlcnZlZC4gQ2hlY2sgd2lsbCBhbHdheXMgYmUgZmFsc2UuCgkgIEludHJvZHVjZWQgYnkgYjEwODlmYjUyMDc2OTdiYTI2ZWRiNGZmNjZlZDBmNDY1YzZkZjNjZgoJICBDSUQgIzEzMTY0NzYKCjIwMTUtMDgtMTUgMjI6NDU6NTMgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC9sYXcvYWxhdy1lbmNvZGUuYzoKCSogZ3N0L2xhdy9hbGF3LWVuY29kZS5oOgoJICBhbGF3ZW5jOiBwb3J0IHRvIEF1ZGlvRW5jb2RlciBiYXNlIGNsYXNzCgoyMDE1LTA4LTE1IDA5OjE2OjIzIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBleHQvZmxhYy9nc3RmbGFjZGVjLmM6CgkqIGV4dC9zcGVleC9nc3RzcGVleGRlYy5jOgoJKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZGVjLmM6CgkqIGdzdC9sYXcvYWxhdy1kZWNvZGUuYzoKCSogZ3N0L2xhdy9tdWxhdy1kZWNvZGUuYzoKCSAgYXVkaW9kZWNvZGVyczogdXNlIGRlZmF1bHQgcGFkIGFjY2VwdC1jYXBzIGhhbmRsaW5nCgkgIEF2b2lkcyB1c2VsZXNzIGNoZWNrIG9mIGRvd25zdHJlYW0gY2FwcyB3aGVuIGhhbmRsaW5nIGFuCgkgIGFjY2VwdC1jYXBzIHF1ZXJ5CgkgIEVsZW1lbnRzOiBmbGFjZGVjLCBzcGVleGRlYywgd2F2cGFja2RlYywgbXVsYXdkZWMsIGFsYXdkZWMKCjIwMTUtMDgtMTUgMDg6NDk6NTcgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGV4dC9qcGVnL2dzdGpwZWdkZWMuYzoKCSogZXh0L2xpYnBuZy9nc3RwbmdkZWMuYzoKCSogZXh0L3ZweC9nc3R2cDhkZWMuYzoKCSogZXh0L3ZweC9nc3R2cDlkZWMuYzoKCSAgdmlkZW9kZWNvZGVyczogdXNlIGRlZmF1bHQgcGFkIGFjY2VwdC1jYXBzIGhhbmRsaW5nCgkgIEF2b2lkcyB1c2VsZXNzIGNoZWNrIG9mIGRvd25zdHJlYW0gY2FwcyB3aGVuIGhhbmRsaW5nIGFuCgkgIGFjY2VwdC1jYXBzIHF1ZXJ5CgkgIEVsZW1lbnRzOiBqcGVnZGVjLCBwbmdkZWMsIHZwOGRlYywgdnA5ZGVjCgoyMDE1LTA4LTE1IDExOjMxOjA0IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QvbGF3L2FsYXctZGVjb2RlLmM6CgkgIGFsYXdkZWM6IG1ha2UgZXJyb3IgaGFuZGxpbmcgYSBiaXQgbmljZXIKCSAgUHJpbnQgdGhlIGVsZW1lbnQgYWxvbmcgd2l0aCB0aGUgZGVidWcgdG8gbWFrZSBpdCBlYXNpZXIgdG8gdHJhY2UKCSAgdGhlIGZhaWx1cmVzCgoyMDE1LTA4LTE1IDExOjA0OjE2IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QvbGF3L2FsYXctZGVjb2RlLmM6CgkqIGdzdC9sYXcvYWxhdy1kZWNvZGUuaDoKCSAgYWxhd2RlYzogcG9ydCB0byBhdWRpb2RlY29kZXIgYmFzZSBjbGFzcwoJICBtdWxhd2RlYyB3YXMgYWxyZWFkeSBwb3J0ZWQsIGFsYXdkZWMgd2FzIGxlZnQgYmVoaW5kLgoKMjAxNS0wOC0xNSAxMDozNDoxNCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IG9ubHkgbG9vayBmb3IgbW9yZSBzYW1wbGVzIGluIG1vb2ZzIGluIHB1bGwtbW9kZQoJICBGb3IgcGxheWJhY2sgb2Ygc29tZSBmcmFnbWVudGVkIGZvcm1hdHMgd2l0aCBxdGRlbXV4IGl0IHdpbGwKCSAgdHJ5IHRvIGxvb2sgZm9yIHRoZSBuZXh0IG1vb2YgYWZ0ZXIgZmluaXNoaW5nIG9uZSBidXQgaXQgaXMgb25seQoJICBwb3NzaWJsZSBmb3IgcHVsbC1tb2RlLiBGb3IgcGxheWJhY2sgb2Ygc3RyZWFtaW5nIGZyYWdtZW50ZWQgZm9ybWF0cwoJICBzdWNoIGFzIERBU0ggaXQgc2hvdWxkIGp1c3Qgbm90IHRyeSB0byBsb29rIGZvciBhbm90aGVyIG1vb2YgYnV0CgkgIGluc3RlYWQgd2FpdCBmb3IgbW9yZSBkYXRhLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUyNjAyCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTI2MDMKCjIwMTUtMDgtMTUgMTI6NTg6NTAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGRjYXBhcnNlLmM6CgkgIGRjYXBhcnNlOiBEb24ndCBsb29rIGZvciBhIHNlY29uZCBzeW5jd29yZAoJICBUaGVyZSBhcmUgc3RyZWFtcyBvdXQgdGhlcmUgdGhhdCBjb25zaXN0ZW50bHkgY29udGFpbiBnYXJiYWdlIGJldHdlZW4KCSAgZXZlcnkgZnJhbWUgc28gd2UgbmV2ZXIgZXZlciBmaW5kIGEgc2Vjb25kIGNvbnNlY3V0aXZlIHN5bmN3b3JkLgoJICBTZWUgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczODIzNwoKMjAxNS0wOC0xNSAxMToxMjowNSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC92cHgvZ3N0dnA4ZW5jLmM6CgkqIGV4dC92cHgvZ3N0dnA5ZW5jLmM6CgkgIHZwOGVuYywgdnA5ZW5jOiByZXNldCBtdWx0aXBhc3MgZmlsZSBpbmRleCB3aGVuIHN0b3BwaW5nIGVuY29kZXIKCSAgRml4ZXMgbXVsdGlwYXNzIGVuY29kaW5nIHdoZW4gcmUtdXNpbmcgdGhlIHNhbWUgZWxlbWVudC9waXBlbGluZQoJICBmb3Igc3Vic2VxdWVudCBlbmNvZGluZyBydW5zLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ3NzI4CgoyMDE1LTA4LTE1IDExOjA5OjQyICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3ZweC9nc3R2cDllbmMuYzoKCSogZXh0L3ZweC9nc3R2cDllbmMuaDoKCSAgdnA5ZW5jOiBwcm92aWRlIHN1cHBvcnQgZm9yIG11bHRpcGxlIHBhc3MgY2FjaGUgZmlsZXMKCSAgU29tZSBmaWxlcyBtYXkgcHJvdmlkZSBkaWZmZXJlbnQgY2FwcyBpbnNpZ2h0IG9mIG9uZSBzdHJlYW0uIFNpbmNlCgkgIHZwOWVuYyBzdXBwb3J0IGNhcHMgcmVpbml0LCB3ZSBzaG91bGQgc3VwcG9ydCBjYWNoZSByZWluaXQgdG9vLgoJICBJZiBtb3JlIHRoZW4gZmlsZSBjYWNoZSBmaWxlIHdpbGwgYmUgY3JlYXRlZCwgdGhlIG5hbWluZyB3aWxsIGJlOgoJICBjYWNoZSBjYWNoZS4xIGNhY2hlLjIgLi4uCgkgIEJhc2VkIG9uIHBhdGNoIGJ5OiBPbGVrc2lqIFJlbXBlbCA8bGludXhAcmVtcGVsLXByaXZhdC5kZT4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NzcyOAoKMjAxNS0wOC0xNCAxMTo0MTo0MiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYWFjcGFyc2UuYzoKCSAgdGVzdHM6IGFhY3BhcnNlOiB1c2UgY2FwcyBxdWVyeSBpbnN0ZWFkIG9mIGFjY2VwdC1jYXBzCgkgIFRoZSBhY2NlcHQtY2FwcyBxdWVyeSBqdXN0IGRvZXMgYSBzaGFsbG93IGNoZWNrIGF0IHRoZSBjdXJyZW50CgkgIGVsZW1lbnQgd2hpbGUgYXQgdGhpcyB0ZXN0IHdlIHdhbnQgaXQgdG8gYWxzbyBsb29rIGF0IGRvd25zdHJlYW0uCgkgIFNvIHVzZSBjYXBzIHF1ZXJ5IHRoZXJlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUzNjIzCgoyMDE1LTA4LTE0IDExOjQwOjIyIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFhY3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWMzcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhbXJwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGRjYXBhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZmxhY3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0bXBlZ2F1ZGlvcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RzYmNwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdHdhdnBhY2twYXJzZS5jOgoJICBhdWRpb3BhcnNlcnM6IGVuYWJsZSBhY2NlcHQtdGVtcGxhdGUgZmxhZwoJICBEbyBhIHF1aWNrIGNoZWNrIHdpdGggdGhlIHBhZCB0ZW1wbGF0ZSBjYXBzIGFzIGl0IGlzIGVub3VnaC4gVXNlcnMKCSAgc2hvdWxkIGhhdmUgZmlndXJlZCB0aGUgYXBwcm9wcmlhdGUgZnVsbCBjYXBzIG9uIGEgcHJldmlvdXMgY2FwcyBxdWVyeQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUzNjIzCgoyMDE1LTA4LTE0IDE1OjQ2OjUzICswMjAwICBHZW9yZ2UgS2lhZ2lhZGFraXMgPGdlb3JnZS5raWFnaWFkYWtpc0Bjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmg6CgkgIHJ0c3BzcmM6IHNlbmQgdGhlIFVzZXItQWdlbnQgaGVhZGVyCgkgIFNvbWV0aW1lcyBpdCBpcyB1c2VmdWwgdG8ga25vdyB0aGlzIGluZm9ybWF0aW9uIG9uIHRoZQoJICBzZXJ2ZXIgc2lkZS4gT3RoZXIgcG9wdWxhciBpbXBsZW1lbnRhdGlvbnMgKHZsYywgZmZtcGVnLCAuLi4pCgkgIGFsc28gc2VuZCB0aGlzIGhlYWRlciBvbiBldmVyeSBtZXNzYWdlLgoJICBUaGlzIGluY2x1ZGVzIGEgbmV3ICJ1c2VyLWFnZW50IiBwcm9wZXJ0eSB0aGF0IHRoZSB1c2VyCgkgIGNhbiBzZXQgdG8gdXNlIGEgY3VzdG9tIFVzZXItQWdlbnQgc3RyaW5nLiBUaGUgZGVmYXVsdAoJICBpcyAiR1N0cmVhbWVyLzx2ZXJzaW9uPiIKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MDEwMQoKMjAxNS0wOC0xNCAxNTo0Mjo0MiArMDIwMCAgR2VvcmdlIEtpYWdpYWRha2lzIDxnZW9yZ2Uua2lhZ2lhZGFraXNAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogd3JhcCBnc3RfcnRzcF9tZXNzYWdlX2luaXRfcmVxdWVzdCBpbiBhIGxvY2FsIGZ1bmN0aW9uCgkgIFRoaXMgd2lsbCBhbGxvdyBhZGRpbmcgY29tbW9uIHJlcXVlc3QgaW5pdGlhbGl6YXRpb24sIGxpa2UgdGhlCgkgIHVzZXIgYWdlbnQgc3RyaW5nLCBpbiBqdXN0IG9uZSBwbGFjZS4KCjIwMTUtMDgtMTQgMDk6MzY6MDkgKzA1MzAgIFByYXNoYW50IEdvdGFybmUgPHBzLmdvdGFybmVAc2Ftc3VuZy5jb20+CgoJKiBnc3QvYXVkaW9meC9hdWRpb2VjaG8uYzoKCSAgYXVkaW9lY2hvOiBtYWtlIHN1cmUgYnVmZmVyIGdldHMgcmVhbGxvY2F0ZWQgaWYgbWF4X2RlbGF5IGNoYW5nZXMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MzQ5MAoKMjAxNS0wNy0wOSAwOTo1MToyNiArMDIwMCAgT2xla3NpaiBSZW1wZWwgPGxpbnV4QHJlbXBlbC1wcml2YXQuZGU+CgoJKiBleHQvdnB4L2dzdHZwOGVuYy5jOgoJKiBleHQvdnB4L2dzdHZwOGVuYy5oOgoJICB2cDhlbmM6IHByb3ZpZGUgc3VwcG9ydCBmb3IgbXVsdGlwbGUgcGFzcyBjYWNoZSBmaWxlcwoJICBTb21lIGZpbGVzIG1heSBwcm92aWRlIGRpZmZlcmVudCBjYXBzIGluc2lnaHQgb2Ygb25lIHN0cmVhbS4gU2luY2UgdnA4ZW5jCgkgIHN1cHBvcnQgY2FwcyByZWluaXQsIHdlIHNob3VsZCBzdXBwb3J0IGNhY2hlIHJlaW5pdCB0b28uCgkgIElmIG1vcmUgdGhlbiBmaWxlIGNhY2hlIGZpbGUgd2lsbCBiZSBjcmVhdGVkLCB0aGUgbmFtaW5nIHdpbGwgYmU6CgkgIGNhY2hlCgkgIGNhY2hlLjEKCSAgY2FjaGUuMgoJICAuLi4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NzcyOAoKMjAxNS0wNC0xNSAyMjo1MTo1MSArMDIwMCAgUmFtaXJvIFBvbGxhIDxyYW1pcm8ucG9sbGFAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBtcDRnZGVwYXkuYzoKCSAgcnRwbXA0Z2RlcGF5OiBmaXggdGltZXN0YW1wcyBmb3IgUlRQIHBhY2tldHMgd2l0aCBtdWx0aXBsZSBBVXMKCSAgVXNlIGNvbnN0YW50RHVyYXRpb24gdG8gY2FsY3VsYXRlIHRoZSB0aW1lc3RhbXAgb2Ygbm9uLWZpcnN0IEFVIGluIHRoZQoJICBSVFAgcGFja2V0LgoJICBJZiBjb25zdGFudER1cmF0aW9uIGlzIG5vdCBwcmVzZW50IGluIHRoZSBNSU1FIHBhcmFtZXRlcnMsIGl0cyB2YWx1ZQoJICBtdXN0IGJlIGNhbGN1bGF0ZWQgYmFzZWQgb24gdGhlIHRpbWluZyBpbmZvcm1hdGlvbiBmcm9tIHR3byBjb25zZWN1dGl2ZQoJICBSVFAgcGFja2V0cyB3aXRoIEFVLUluZGV4IGVxdWFsIHRvIDAuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDc4ODEKCjIwMTUtMDgtMTQgMDY6NDM6MTMgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6CgkgIHNvdXBodHRwc3JjOiByZW1vdmUgdW5uZWNlc3NhcnkgaWYsIGdfZnJlZSBpcyBudWxsIHNhZmUKCjIwMTUtMDgtMTQgMDg6MzM6NTYgKzAxMDAgIEFsZXggQXNobGV5IDxidWd6aWxsYUBhc2hsZXktZmFtaWx5Lm5ldD4KCgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6CgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmg6CgkgIHNvdXBodHRwc3JjOiBhZGQgcHJvcGVydHkgdG8gc2V0IEhUVFAgbWV0aG9kCgkgIFRvIGFsbG93IHNvdXBodHRwc3JjIHRvIGJlIHVzZSBIVFRQIG1ldGhvZHMgb3RoZXIgdGhhbiBHRVQKCSAgKGUuZy4gSEVBRCksIGFkZCBhICJtZXRob2QiIHByb3BlcnR5IHRoYXQgaXMgYSBzdHJpbmcuIElmIHRoaXMKCSAgcHJvcGVydHkgaXMgbm90IHNldCwgR0VUIGlzIHVzZWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTI0MTMKCjIwMTUtMDgtMTQgMTE6MTM6MDEgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiB0ZXN0cy9jaGVjay9nZW5lcmljL3N0YXRlcy5jOgoJICBjaGVjazogUmVuYW1lIHN0YXRlcyB1bml0IHRlc3QKCSAgTWFrZXMgaXQgZWFzaWVyIHRvIGRpZmZlcmVudGlhdGUgZnJvbSBvdGhlciBtb2R1bGVzIHN0YXRlcyB1bml0IHRlc3QKCjIwMTUtMDgtMTQgMDk6MjE6MjUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvZ29vbS9nc3RhdWRpb3Zpc3VhbGl6ZXIuYzoKCSogZ3N0L2dvb20vZ3N0YXVkaW92aXN1YWxpemVyLmg6CgkqIGdzdC9nb29tMmsxL2dzdGF1ZGlvdmlzdWFsaXplci5jOgoJKiBnc3QvZ29vbTJrMS9nc3RhdWRpb3Zpc3VhbGl6ZXIuaDoKCSAgZ29vbTogUmVuYW1lIGdldF90eXBlKCkgZnVuY3Rpb24gb2YgYmFzZSBjbGFzcyB0byBwcmV2ZW50IHN5bWJvbCBjb25mbGljdHMKCSAgVGhpcyBpcyBhIHByb2JsZW0gd2hlbiBzdGF0aWNhbGx5IGxpbmtpbmcuCgoyMDE1LTA4LTEzIDE2OjMyOjU1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIHJ0cGppdHRlcmJ1ZmZlcjogS2VlcCB0aGUgRFRTIGVzdGltYXRlIGlmIHdlIGdvdCBubyBEVFMgYWZ0ZXIgYSBqaXR0ZXJidWZmZXIgcmVzZXQKCSAgT3RoZXJ3aXNlIHdlIHdpbGwganVzdCBvdXRwdXQgYnVmZmVycyB3aXRob3V0IHRpbWVzdGFtcHMgYWZ0ZXIgYSByZXNldCBpZiBubwoJICB0aW1lc3RhbXBzIGFyZSBwcm92aWRlZCBieSB1cHN0cmVhbSwgZS5nLiB3aGVuIHVzaW5nIFJUU1Agb3ZlciBUQ1AuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDk1MzYKCjIwMTUtMDgtMTIgMTc6MTY6MDEgKzA1MzAgIFJhdmkgS2lyYW4gSyBOIDxyYXZpLmtpcmFuQHNhbXN1bmcuY29tPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4Lmg6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1wYXJzZS5oOgoJICBtYXRyb3NrYTogUmVtb3ZlIHVudXNlZCB2YXJpYWJsZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUzNTU2CgoyMDE1LTA4LTA0IDIwOjU5OjE3ICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0cC9NYWtlZmlsZS5hbToKCSogZ3N0L3J0cC9nc3RydHBMMTZkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cEwyNGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwYWMzZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBhYzNwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBhbXJkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGFtcnBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGJ2ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBjZWx0ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBjZWx0cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZHZkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGR2cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZzcyMmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZzcyM3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjZkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjlkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjlwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnc21kZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGdzbXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGdzdGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZ3N0cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2MWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2MXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjYzcGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2M3BwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjY0ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjY0cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaWxiY2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwajJrZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBqMmtwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBqcGVnZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBqcGVncGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXAxc2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXAydGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXAydHBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wNGFkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wNGFwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDRnZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDRncGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXA0dmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXA0dnBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wYWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXBhcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXB2ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcHZwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBwY21hZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBwY211ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBxY2VscGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwcWRtZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBzYmNkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHNiY3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHNpcmVuZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBzcGVleGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwc3BlZXhwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBzdjN2ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHB0aGVvcmFkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHRoZW9yYXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHRoZW9yYXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cHV0aWxzLmM6CgkqIGdzdC9ydHAvZ3N0cnRwdXRpbHMuaDoKCSogZ3N0L3J0cC9nc3RydHB2b3JiaXNkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHZvcmJpc3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHZvcmJpc3BheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cHZwOGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwdnA4cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwdnJhd2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwdnJhd3BheS5jOgoJICBydHA6IENvcHkgbWV0YWRhdGEgaW4gdGhlIChkZSlwYXlsb2FkZXIsIGJ1dCBvbmx5IHRoZSByZWxldmFudCBvbmVzCgkgIFRoZSBwYXlsb2FkZXIgZGlkbid0IGNvcHkgYW55dGhpbmcgc28gZmFyLCB0aGUgZGVwYXlsb2FkZXIgY29waWVkIGV2ZXJ5CgkgIHBvc3NpYmxlIG1ldGEuIExldCdzIG1ha2UgaXQgY29uc2lzdGVudCBhbmQganVzdCBjb3B5IGFsbCBtZXRhcyB3aXRob3V0CgkgIHRhZ3Mgb3Igd2l0aCBvbmx5IHRoZSB2aWRlbyB0YWcuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTE3NzQKCjIwMTUtMDgtMTAgMTg6MjA6MTUgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBmaXggc21hbGwgdHlwbyBpbiBjb21tZW50CgoyMDE1LTA4LTEwIDE2OjE5OjE4IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvZ29vbTJrMS9nc3Rnb29tLmM6CgkgIGdvb20yazEvZG9jOiBGaXh1cCBwcmV2aW91cyBjb21taXQKCjIwMTUtMDgtMTAgMTU6NTU6MTkgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJKiBnc3QvZ29vbTJrMS9nc3Rnb29tLmM6CgkqIGdzdC9nb29tMmsxL2dzdGdvb20uaDoKCSAgZ29vbTJrMS9kb2M6IFVzZSBHc3RHb29tMmsxIG5hbWVzcGFjZQoJICBUaGUgZG9jIGdlbmVyYXRvciBpc24ndCBoYXBweSB3aGVuIHdlIGhhdmUgY2xhc3MgbmFtZSBjbGFzaC4gU2ltcGx5CgkgIHVzZSBpdCdzIG93biBuYW1lc3BhY2UuCgoyMDE1LTA4LTEwIDE3OjEwOjQyICswNTMwICBQcmFzaGFudCBHb3Rhcm5lIDxwcy5nb3Rhcm5lQHNhbXN1bmcuY29tPgoKCSogZ3N0L2F1ZGlvZngvYXVkaW9lY2hvLmM6CgkgIGF1ZGlvZWNobzogcmVtb3ZlZCB1bnVzZWQgdmFyaWFibGUgaW4gc2V0X3Byb3BlcnR5CgkgIHVudXNlZCBsb2NhbCB2YXJpYWJsZSAnZGVsYXknIGlzIHJlbW92ZWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTM0NTAKCjIwMTUtMDgtMTAgMTI6NDU6MjcgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogZml4IHN1Ym9wdGltYWwgcXVldWUgaXRlcmF0aW9uIGNvZGUKCjIwMTUtMDgtMDkgMTc6MjU6NDUgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogZG9uJ3QgdXNlIGdsaWIgMi40NC1vbmx5IEFQSQoKMjAxNS0wNy0yOSAxNDoxNDo1MCArMDEwMCAgQWxleCBBc2hsZXkgPGJ1Z3ppbGxhQGFzaGxleS1mYW1pbHkubmV0PgoKCSogZ3N0L2lzb21wNC9mb3VyY2MuaDoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkqIGdzdC9pc29tcDQvcXRkZW11eC5oOgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXhfdHlwZXMuYzoKCSAgcXRkZW11eDogYWRkIHN1cHBvcnQgZm9yIElTT0JNRkYgQ29tbW9uIEVuY3J5cHRpb24KCSAgVGhpcyBjb21taXQgYWRkcyBzdXBwb3J0IGZvciBJU09CTUZGIENvbW1vbiBFbmNyeXB0aW9uIChjZW5jKSwgYXMKCSAgZGVmaW5lZCBpbiBJU08vSUVDIDIzMDAxLTcuIEl0IHVzZXMgYSBHc3RQcm90ZWN0aW9uIGV2ZW50IHRvCgkgIHBhc3MgdGhlIGNvbnRlbnRzIG9mIFBTU0ggYm94ZXMgdG8gZG93bnN0cmVhbSBkZWNyeXB0b3IgZWxlbWVudHMKCSAgYW5kIGF0dGFjaGVkIEdzdFByb3RlY3Rpb25NZXRhIHRvIGVhY2ggc2FtcGxlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA1OTkxCgoyMDE1LTA4LTEwIDE0OjEzOjUwICswOTAwICBIeXVuanVuIEtvIDx6em9vbi5rb0BzYW1zdW5nLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2NGRlcGF5LmM6CgkgIHJ0cGgyNjRkZXBheTogY2hlY2tpbmcgaWYgZGVwYXkgaGFzIHNwcy9wcHMgbmFscyBiZWZvcmUgaW5zZXJ0aW9uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTM0MzAKCjIwMTUtMDgtMDggMTY6NDQ6NDkgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkgIG1hdHJvc2thbXV4OiBmaXggb3V0ZGF0ZWQgY29tbWVudAoJICBUaGUgZGVmYXVsdCBiZWhhdmlvdXIgd2FzIGNoYW5nZWQgaW4gdGhlIDAuMTAgLT4gMS54CgkgIHRyYW5zaXRpb24sIGJ1dCB0aGUgY29tbWVudCB3YXMgbm90IHVwZGF0ZWQuCgoyMDE1LTA4LTA4IDE3OjQyOjIyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0cC9nc3RydHB0aGVvcmFwYXkuYzoKCSAgcnRwdGhlb3JhcGF5OiBJZiBmbHVzaGluZyBhIHBhY2tldCBmYWlsZWQsIGdvIG91dCBvZiB0aGUgbG9vcCBpbW1lZGlhdGVseQoKMjAxNS0wOC0wOCAxNzo0MTowMiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwdm9yYmlzcGF5LmM6CgkgIHJ0cHZvcmJpc3BheTogSWYgZmx1c2hpbmcgYSBwYWNrZXQgZmFpbGVkLCBnbyBvdXQgb2YgdGhlIGxvb3AgaW1tZWRpYXRlbHkKCjIwMTUtMDgtMDggMTc6MzQ6NTAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cHRoZW9yYXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHRoZW9yYXBheS5oOgoJICBydHB0aGVvcmFwYXk6IEV4dHJhY3QgcGl4ZWwgZm9ybWF0IGZyb20gdGhlIGlkZW50IGhlYWRlciB0byBwdXQgaXQgaW50byB0aGUgc2FtcGxpbmcgZmllbGQgb2YgdGhlIGNhcHMKCSAgV2UgYWx3YXlzIHB1dCA0OjI6MCBpbnRvIHRoZSBjYXBzIGJlZm9yZSwgd2hpY2ggb2J2aW91c2x5IGlzIHdyb25nIGZvciA0OjI6MgoJICBhbmQgNDo0OjQgZm9ybWF0cy4KCjIwMTUtMDgtMDYgMTc6NDY6MTMgKzAyMDAgIEdlb3JnZSBLaWFnaWFkYWtpcyA8Z2VvcmdlLmtpYWdpYWRha2lzQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGtsdmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwa2x2cGF5LmM6CgkgIHJ0cGtsdihkZSlwYXk6IGFkZCAiUlRQIiBpbiB0aGUga2xhc3Mgc3RyaW5nCgkgIEdzdFJUU1BNZWRpYSB1c2VzIHRoaXMgY2xhc3NpZmljYXRpb24gdG8gZGV0ZWN0IHRoZSByZWFsIHBheWxvYWRlcgoJICBpbnNpZGUgYSBkeW5wYXkgYmluIGFuZCBhc3NlcnRzIGlmIGl0IGRvZXNuJ3QgZmluZCBpdCwgdGhlcmVmb3JlCgkgIGl0IGlzIHJlcXVpcmVkCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTMzMjUKCjIwMTUtMDgtMDUgMTE6MTM6MDkgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cGF1eC5jOgoJICB0ZXN0czogcnRwYXV4OiB1c2UgYSBkeW5hbWljIHB0IGluIHRoZSB0ZXN0CgkgIDEpIFRlc3RzIHRoYXQgdXNpbmcgZHluYW1pYyBQVCBpbnN0ZWFkIG9mIHRoZSBkZWZhdWx0IG9uZXMgd29yawoJICAyKSBJZiB3ZSBldmVyIGRlY2lkZSB0byBjaGFuZ2UgdGhlIGNvZGVjIGhlcmUgd2UgZG9uJ3QgbmVlZCB0bwoJICB3b3JyeSBhYm91dCBjaGFuZ2UgdGhlIFBUIGZvciB0aGUgZGVmYXVsdCBvbmUgb2YgdGhlIG5ldyBjb2RlYwoJICBpbiB0aGUgdGVzdAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ2NDQ1CgoyMDE1LTA4LTA1IDEwOjUzOjE1ICswOTAwICBIeXVuanVuIEtvIDx6em9vbi5rb0BzYW1zdW5nLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHJ0eHNlbmQuYzoKCSAgcnRwcnR4c2VuZDogcHJpbnQgdmFsaWQgdHlwZSB3aGVyZSBndWludDMyIGlzIGV4cGVjdGVkCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDY0NDUKCjIwMTUtMDgtMDYgMTE6MzM6MzcgKzA5MDAgIEh5dW5qdW4gS28gPHp6b29uLmtvQHNhbXN1bmcuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBMMTZwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnNzIycGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZzcyM3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjlwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnc21wYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjYxcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2M3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGpwZWdwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDJ0cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXBhcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXB2cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwcGNtYXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHBjbXVwYXkuYzoKCSAgcnRwcGF5bG9hZDogc2V0IHN0YW5kYXJkIHBheWxvYWQgdHlwZSBhcyBkZWZhdWx0CgkgIEluaXRpYWxpemUgdGhlIFBUIHRvIHRoZSBkZWZhdWx0IHZhbHVlIG9mIHRoZSBjb2RlYyBhbmQgY2hlY2sgaWYKCSAgaXQgaXMgc3RpbGwgdGhlIGRlZmF1bHQgYmVmb3JlIGRlY2xhcmluZyB0aGUgcHQgdG8gYmUgZHluYW1pYyBvcgoJICBub3Qgd2hlbiBzZXR0aW5nIHRoZSBjYXBzLgoJICBBbHNvIHVzZSB0aGUgUFQgY29uc3RhbnRzIGZyb20gdGhlIHJ0cCBsaWIgd2hlbiBwb3NzaWJsZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ3OTY1CgoyMDE1LTA3LTI2IDEyOjA3OjU2IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogc3RvcmUgdGhlIG1vb2Ytb2Zmc2V0IGFsc28gZm9yIHB1c2ggbW9kZQoJICBJdCB3aWxsIGJlIHVzZWQgaW4gc29tZSBjYXNlcyBmb3IgZ2V0dGluZyB0aGUgY29ycmVjdCBvZmZzZXRzCgkgIGZyb20gdHJ1biBhdG9tcy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MjYwMwoKMjAxNS0wNy0yNiAwMjowOToyNCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0L2lzb21wNC9hdG9tcy5oOgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSogZ3N0L2lzb21wNC9xdGRlbXV4X3R5cGVzLmg6CgkgIHF0ZGVtdXg6IGhhbmRsZSBkZWZhdWx0LWJhc2UtaXMtbW9vZiBmbGFnCgkgIEhhbmRsZSB0aGUgZmxhZyBmcm9tIHRoZSB0ZmhkIHRoYXQgc2lnbmFscyB0aGUgYmFzZSBvZmZzZXQgdG8KCSAgc3RhcnQgZnJvbSB0aGUgbW9vZiBhdG9tCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTI2MDMKCjIwMTUtMDctMjkgMTg6NTQ6MzUgLTA2MDAgIEdsZW4gRGllbmVyIDxncmRAbG9nYW5taWxsLm5ldD4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcmVhZC1jb21tb24uYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXJlYWQtY29tbW9uLmg6CgkgIG1hdHJvc2thZGVtdXg6IFByZXNlcnZlIGZvcndhcmQgcmVmZXJlbmNlZCB0cmFjayB0YWdzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTI4NTAKCjIwMTUtMDgtMDQgMTg6MDc6MzUgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cGF1eC5jOgoJICB0ZXN0czogcnRwYXV4OiBmaXggdGVzdCBmYWlsdXJlCgkgIFRoZSBSVFAgUFQgZm9yIGFsYXcgaXMgOC4KCSAgTGVzcyB0aGFuIDUwIHBhY2tldHMgYXJlIHJlY2VpdmVkIGluIHRoZSBsZW5ndGggb2YgdGhpcyB0ZXN0IHNvIGl0CgkgIHdvdWxkIG5ldmVyIGRyb3AgYSBidWZmZXIgb3Igd291bGQgZHJvcCBvbmx5IHRoZSBsYXN0IGJ1ZmZlciBhbmQKCSAgaXQgd291bGQgZmFpbCBzb21ldGltZXMgd2hlbiB0aGUgcmVjZWl2ZWQgd291bGRuJ3QgcmVjZWl2ZSB0aGUKCSAgcmV0cmFuc21pc3Npb24gcGFja2V0IGluIHRpbWUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDY0NDUKCjIwMTUtMDgtMDQgMjA6NTk6MTcgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cHN0cmVhbWRlcGF5LmM6CgkgIHJ0cHN0cmVhbWRlcGF5OiBPbmx5IGFsbG93IGFjdGl2YXRpb24gaW4gcHVzaCBtb2RlCgkgIFdlIG5lZWQgYSBwcm9wZXIgY2FwcyBldmVudCBmcm9tIHVwc3RyZWFtIHdpdGggdGhlIGZ1bGwgUlRQIGNhcHMgYXMgd2UgY2FuJ3QKCSAgY3JlYXRlIGNhcHMgb3Vyc2VsdmVzIGZyb20gdGhpbiBhaXIuIEZpeGVzIHVzYWdlIG9mIHJ0cHN0cmVhbWRlcGF5IGFmdGVyIGUuZy4KCSAgYSBmaWxlc3JjIG9yIGFueSBvdGhlciBlbGVtZW50IHRoYXQgc3VwcG9ydHMgcHVsbCBtb2RlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUzMDY2CgoyMDE1LTA4LTA0IDE2OjI4OjE3ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzoKCSAgc291cDogZml4IHR5cG8gaW4gdHJhbnNsYXRlZCBzdHJpbmcKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MzI0MAoKMjAxNS0wOC0wNCAxMjoyNTo0NiArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2NGRlcGF5LmM6CgkgIHJ0cGgyNjRkZXBheTogUHV0IHRoZSBwcm9maWxlIGFuZCBsZXZlbCBpbnRvIHRoZSBjYXBzCgoyMDE1LTA4LTA0IDEyOjA5OjEyICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBoMjY0ZGVwYXkuYzoKCSAgcnRwaDI2NGRlcGF5OiBPbmx5IHVwZGF0ZSB0aGUgc3JjcGFkIGNhcHMgaWYgc29tZXRoaW5nIGVsc2UgdGhhbiB0aGUgY29kZWNfZGF0YSBjaGFuZ2VkCgkgIGgyNjRwYXJzZSBkb2VzIHRoZSBzYW1lLCBsZXQncyBrZWVwIHRoZSBiZWhhdmlvdXIgY29uc2lzdGVudC4gQXMgd2Ugbm93CgkgIGluY2x1ZGUgdGhlIGNvZGVjX2RhdGEgaW5zaWRlIHRoZSBzdHJlYW0gdG9vIGhlcmUsIHRoaXMgY2F1c2VzIGxlc3MgY2FwcwoJICByZW5lZ290aWF0aW9uLgoKMjAxNS0wOC0wNCAxMTo0ODoyNyArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2NGRlcGF5LmM6CgkgIHJ0cGgyNjRkZXBheTogUFBTIHJlcGxhY2VzIGFuZCBvbGQgUFBTIGlmIGl0IGhhcyB0aGUgc2FtZSBpZCwgaW5kZXBlbmRlbnQgb2YgU1BTIGlkCgkgIFRoZSBzcGVjIHNheXM6CgkgIFdoZW4gYSBwaWN0dXJlIHBhcmFtZXRlciBzZXQgTkFMIHVuaXQgd2l0aCBhIHBhcnRpY3VsYXIgdmFsdWUgb2YKCSAgcGljX3BhcmFtZXRlcl9zZXRfaWQgaXMgcmVjZWl2ZWQsIGl0cyBjb250ZW50IHJlcGxhY2VzIHRoZSBjb250ZW50IG9mIHRoZQoJICBwcmV2aW91cyBwaWN0dXJlIHBhcmFtZXRlciBzZXQgTkFMIHVuaXQsIGluIGRlY29kaW5nIG9yZGVyLCB3aXRoIHRoZSBzYW1lCgkgIHZhbHVlIG9mIHBpY19wYXJhbWV0ZXJfc2V0X2lkICh3aGVuIGEgcHJldmlvdXMgcGljdHVyZSBwYXJhbWV0ZXIgc2V0IE5BTCB1bml0CgkgIHdpdGggdGhlIHNhbWUgdmFsdWUgb2YgcGljX3BhcmFtZXRlcl9zZXRfaWQgd2FzIHByZXNlbnQgaW4gdGhlIGJpdHN0cmVhbSkuCgoyMDE1LTA4LTAzIDEzOjQ1OjU5IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QvbXVsdGlmaWxlL2dzdHNwbGl0bXV4c2luay5jOgoJICBzcGxpdG11eHNpbms6IHJlbW92ZSBleHRyYSBcbiBhdCBkZWJ1ZyBtZXNzYWdlCgoyMDE1LTA4LTAzIDEzOjQyOjIwIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QvbXVsdGlmaWxlL2dzdHNwbGl0bXV4c2luay5jOgoJICBzcGxpdG11eHNpbms6IHByZXZlbnQgZGVhZGxvY2sgd2hlbiBzdGF0ZXMgY2hhbmdlIHRvbyBmYXN0CgkgIElmIHRoZSBHT1AgaXMgY29tcGxldGVkLCBwYWRzIGhhdmUgdG8gc3RhcnQgZ2F0aGVyaW5nIGZvciB0aGUKCSAgbmV4dCBvbmUgYnV0IGl0IGlzIHBvc3NpYmxlIHRoYXQgdGhlIHRoZSBzdGF0ZSBtaWdodCBnbyB0bwoJICBDT0xMRUNUSU5HX0dPUF9TVEFSVCBhbmQgYmFjayB0byBXQUlUSU5HX0dPUF9DT01QTEVURSBiZWZvcmUgdGhlCgkgIHRocmVhZCBoYXMgYSBjaGFuY2UgdG8gd2FrZSB1cCBhbmQgcHJvY2VlZCwgbGVhdmluZyBpdCB0cmFwcGVkIGluCgkgIHRoZSBjaGVja19jb21wbGV0ZWRfZ29wIGxvb3AgYW5kIGRlYWRsb2NraW5nIHRoZSBvdGhlciB0aHJlYWRzCgkgIHdhaXRpbmcgZm9yIGl0IHRvIGFkdmFuY2UuCgkgIFRvIHNvbHZlIGl0LCB0aGlzIHBhdGNoIGFsc28gY2hlY2tzIHRoYXQgdGhhIGlucHV0IHJ1bm5pbmcgdGltZQoJICBoYXNuJ3QgY2hhbmdlZCB0byBwcmV2ZW50IHRoaXMgc2NlbmFyaW8uCgoyMDE1LTA4LTAzIDE3OjU1OjAxICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBoMjY0ZGVwYXkuYzoKCSAgcnRwaDI2NGRlcGF5OiBJbnNlcnQgU1BTL1BQUyBOQUxzIGludG8gdGhlIHN0cmVhbQoJICBoMjY0cGFyc2UgZG9lcyB0aGUgc2FtZSBhbmQgdGhpcyBmaXhlcyBkZWNvZGluZyBvZiBzb21lIHN0cmVhbXMgd2l0aCAzMiBTUFMKCSAgKG9yIDI1NiBQUFMpLiBJdCBpcyBhbGxvd2VkIHRvIGhhdmUgU1BTIElEIDAgdG8gMzEgKG9yIFBQUyBJRCAwIHRvIDI1NSksIGJ1dAoJICB0aGUgZmllbGQgaW4gdGhlIGNvZGVjX2RhdGEgZm9yIHRoZSBudW1iZXIgb2YgU1BTIG9yIFBQUyBpcyBvbmx5IDUgKG9yIDgpIGJpdC4KCSAgQXMgc3VjaCwgMzIgU1BTIChvciAyNTYgUFBTKSBhcmUgaW50ZXJwcmV0ZWQgYXMgMCBldmVyeXdoZXJlLgoJICBUaGlzIGxvb2tzIGxpa2UgYSBtaXN0YWtlIGluIHRoZSBwYXJ0IG9mIHRoZSBzcGVjIGFib3V0IHRoZSBjb2RlY19kYXRhLgoKMjAxNS0wNy0zMCAxMToyOToyNyArMDkwMCAgRXVuaGFlIENob2kgPGV1bmhhZTEuY2hvaUBzYW1zdW5nLmNvbT4KCgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6CgkgIHNvdXBodHRwc3JjOiBoYW5kbGUgZW1wdHkgaHR0cCBwcm94eSBzdHJpbmcKCSAgMSkgSWYgdGhlIHN5c3RlbSBodHRwX3Byb3h5IGVudmlyb25tZW50IHZhcmlhYmxlIGlzIG5vdCBzZXQKCSAgb3Igc2V0IHRvIGFuIGVtcHR5IHN0cmluZywgd2UgbXVzdCBub3Qgc2V0IHByb3h5IHRvIGF2b2lkCgkgIGh0dHAgY29ubmVjdGlvbiBlcnJvci4KCSAgMikgSW4gY2FzZSBvZiBwcm94eSBwcm9wZXJ0eSBzZXR0aW5nLCBpZiB1c2VyIHdhbnQgdG8gY2xlYXIKCSAgdGhlIHByb3h5IHNldHRpbmcsIHRoZXkgc2hvdWxkIGJlIGFibGUgdG8gc2V0IGl0IHRvIE5VTEwgb3IKCSAgYW4gZW1wdHkgc3RyaW5nIGFnYWluLCBzbyB0aGlzIGlzIGZpeGVkIHRvby4KCSAgMykgQ2hlY2sgaWYgdGhlIHByb3h5IHN0cmluZyB3YXMgcGFyc2VkIGNvcnJlY3RseS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1Mjg2NgoKMjAxNS0wNy0yOSAxNTo0NjoyMCArMDUzMCAgUmF2aSBLaXJhbiBLIE4gPHJhdmkua2lyYW5Ac2Ftc3VuZy5jb20+CgoJKiBleHQvZHYvZ3N0ZHZkZW11eC5jOgoJKiBleHQvZHYvZ3N0ZHZkZW11eC5oOgoJICBkdmRlbXV4OiByZW1vdmUgdW51c2VkIHZhcmlhYmxlCgkgIFJlbW92ZSB1bnVzZWQgdmFyaWFibGUgJ2ZyYW1lY291bnQnIGZyb20gZHZkZW11eAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUzMDA4CgoyMDE1LTA3LTMwIDE1OjMyOjA5ICswOTAwICBWaW5lZXRoIFRNIDx2aW5lZXRoLnRtQHNhbXN1bmcuY29tPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBhc3NlcnRpb24gZXJyb3IgZHVlIHRvIHdyb25nIGNvbmRpdGlvbiBjaGVjawoJICBJbiBtZWRpYSB0byBjYXBzIGZ1bmN0aW9uLCByZXNlcnZlZF9rZXlzIGFycmF5IGlzIGJlaW5nIHVzZWQgZm9yIHZhcmlhYmxlIGksCgkgIGxlYWRpbmcgdG8gR0xpYi1DUklUSUNBTCAqKjogZ19hc2NpaV9zdHJjYXNlY21wOiBhc3NlcnRpb24gJ3MxICE9IE5VTEwnIGZhaWxlZAoJICBjaGFuZ2VkIGl0IHRvIHZhcmlhYmxlIGoKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MzAwOQoKMjAxNS0wNy0zMCAxNToyMToyMCArMDkwMCAgVmluZWV0aCBUTSA8dmluZWV0aC50bUBzYW1zdW5nLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwbXA0dmRlcGF5LmM6CgkgIHJ0cG1wNHZkZXBheTogcnRwYnVmZmVyIGlzIGJlaW5nIHVucmVmJ2VkIHR3aWNlCgkgIHByb2Nlc3NfcnRwX3BhY2tldCBkb2Vzbid0IHRyYW5zZmVyIHRoZSBydHAgYnVmZmVyIHRvIG1wNHZfcHJvY2Vzc19kZXBheQoJICB0aGUgcmVmZXJuY2Ugc2hvdWxkIG5vdCBiZSByZW1vdmVkIGhlcmUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MzA0MgoKMjAxNS0wNy0yOSAxMToyNjo0NiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogU3RyaXAga2V5cyBmcm9tIHRoZSBmbXRwIHRoYXQgd2UgdXNlIGludGVybmFsbHkgaW4gb3VyIGNhcHMKCSAgU2tpcCBrZXlzIGZyb20gdGhlIGZtdHAsIHdoaWNoIHdlIGFscmVhZHkgdXNlIG91cnNlbHZlcyBmb3IgdGhlCgkgIGNhcHMuIFNvbWUgc29mdHdhcmUgaXMgYWRkaW5nIHJhbmRvbSB0aGluZ3MgbGlrZSBjbG9jay1yYXRlIGludG8KCSAgdGhlIGZtdHAsIGFuZCB3ZSB3b3VsZCBvdGhlcndpc2UgaGVyZSBzZXQgYSBzdHJpbmctdHlwZWQgY2xvY2stcmF0ZQoJICBpbiB0aGUgY2Fwcy4uLiBhbmQgdGh1cyBmYWlsIHRvIGNyZWF0ZSB2YWxpZCBSVFAgY2FwcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUzMDA5CgoyMDE1LTA3LTI5IDE5OjI4OjMzICsxMDAwICBKYW4gU2NobWlkdCA8amFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9tdWx0aWZpbGUvZ3N0c3BsaXRtdXhzaW5rLmM6CgkgIHNwbGl0bXV4c2luazogU3VwcG9ydCBtcGVndHNtdXggYXMgYSBtdXhlci4KCSAgQXMgYSBmYWxsYmFjaywgbG9vayBmb3IgYSBwYWQgdGVtcGxhdGUgc2lua18lZCBvbgoJICB0aGUgbXV4ZXIgd2hlbiByZXF1ZXN0aW5nIHBhZHMsIHRvIHN1cHBvcnQgbXBlZ3RzbXV4CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTI5OTkKCjIwMTUtMDYtMjUgMDE6MzU6MjcgKzEwMDAgIEphbiBTY2htaWR0IDxqYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L211bHRpZmlsZS9nc3RzcGxpdG11eHBhcnRyZWFkZXIuYzoKCSogZ3N0L211bHRpZmlsZS9nc3RzcGxpdG11eHBhcnRyZWFkZXIuaDoKCSAgc3BsaXRtdXhzcmM6IFVzZSBhIHNlcGFyYXRlIGxvY2sgdG8gZGVsYXkgdHlwZWZpbmQuCgkgIERvbid0IGhvbGQgdGhlIG1haW4gc3BsaXRtdXggcGFydCBsb2NrIG92ZXIKCSAgdGhlIHBhcmVudCBzdGF0ZSBjaGFuZ2UgZnVuY3Rpb24sIGFzIGl0IHByZXZlbnRzCgkgIHBvc3RpbmcgZXJyb3IgbWVzc2FnZXMgdGhhdCBoYXBwZW4uIFNpbmNlIHRoZSBwdXJwb3NlCgkgIGlzIHRvIHByZXZlbnQgdHlwZWZpbmRpbmcgZnJvbSBwcm9jZWVkaW5nLCB1c2UgYQoJICBzZXBhcmF0ZSBtdXRleCBqdXN0IGZvciB0aGF0LgoKMjAxNS0wNy0yOSAxMzo0Mzo1MCArMDkwMCAgVmluZWV0aCBUTSA8dmluZWV0aC50bUBzYW1zdW5nLmNvbT4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1yZWFkLWNvbW1vbi5jOgoJICBtYXRyb3NrYTogZml4IG1lbW9yeSBsZWFrCgkgIEFmdGVyIGFkZGluZyB0byB0YWcgbGlzdCwga2V5X3ZhbCBpcyBub3QgYmVpbmcgZnJlZSdkCgkgIHJlc3VsdGluZyBpbiBtZW1vcnkgbGVhawoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUyOTkyCgoyMDE1LTA3LTI3IDEzOjM0OjE0ICswOTAwICBNYW5hc2EgQXRocmV5YSA8bWFuYXNhLmF0aHJleWFAbGdlLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBmaXggMTYtYml0IFBDTSBhdWRpbyBhZHZlcnRpc2VkIHdpdGggJ3JhdyAnIGZvdXJjYwoJICAnTk9ORScgYW5kICdyYXcgJyBmb3VyY2MgZG9uJ3QgYWx3YXlzIGNvbnRhaW4gVTggYXVkaW8sIGl0IGNhbgoJICBiZSBtb3JlIGJpdHMgYXMgd2VsbCwgaW4gd2hpY2ggY2FzZSBpdCdzIGp1c3QgbGlrZSAndHdvcycuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTI2MTMKCjIwMTUtMDctMjQgMTU6MTA6MDUgKzAyMDAgIERpbWl0cmlvcyBLYXRzYXJvcyA8cGF0Y2hlcndvcmtAZ21haWwuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkgIHY0bDI6IEFsbG93IGZyYW1lcmF0ZSB0byBiZSBsYXJnZSB0aGVuIDEwMHBmcwoJICBUaGlzIGxpbWl0IHdhcyBhcmJpdHJhcnkuIFdlIHN0aWxsIGZpeGF0ZSBuZWFyIDEwMHBmcyBmb3IgY29tcGF0aWJpbGl0eS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MjgyNQoKMjAxNS0wNy0yNSAwMzoyNToyOCAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAb2NyZXRlLmNhPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICBhdmlkZW11eDogU3RvcCB3aXRob3V0IHBvc3RpbmcgZXJyb3Igb24gZmx1c2hpbmcKCSAgVGhpcyBjb3VsZCBqdXN0IGJlIGEgbm9ybWFsIHBpcGVsaW5lIHNodXRkb3duLgoKMjAxNS0wNy0yMyAxNTowMDowOCArMDkwMCAgSHl1bmp1biBLbyA8enpvb24ua29Ac2Ftc3VuZy5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJICB2NGwyYnVmZmVycG9vbDogc2V0IEdTVF9CVUZGRVJfQ09QWV9GTEFHUyB0byBjb3B5IGZsYWdzIGFsc28KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MjYxOAoKMjAxNS0wNy0xNiAxODowOTozMCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy8uZ2l0aWdub3JlOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9tYXRyb3NrYWRlbXV4LmM6CgkgIHRlc3RzOiBhZGQgbWlubWFsIG1hdHJvc2thZGVtdXggdGVzdCBmb3Igc3VidGl0bGUgb3V0cHV0CgkgIFNvbWUgb2YgdGhlIHN1YnRpdGxlIGNodW5rcyB3aWxsIGhhdmUgZW1iZWRkZWQKCSAgTlVMLXRlcm1pbmF0b3JzIChsYXN0IHRocmVlKSwgc29tZSBkb24ndCAoZmlyc3QgdGhyZWUpLAoJICBzb21lIHdpbGwgaGF2ZSBtYXJrdXAsIHNvbWUgd29uJ3QsIHNvbWUgd2lsbCBiZSB2YWxpZAoJICBVVEYtOCAoYWxsIGJ1dCBsYXN0KSwgc29tZSB3b24ndCAobGFzdCBzdGFuemEpLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUyNDIxCgoyMDE1LTA3LTE2IDE4OjQ5OjI2ICswMzAwICBEaW1pdHJpb3MgQ2hyaXN0aWRpcyA8ZGNocmlzdGlkaXNAbXlrb2xhYi5jb20+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2FkZW11eDogZml4IGZvciBzdWJ0aXRsZSBidWZmZXJzIHdpdGggTlVMIHRlcm1pbmF0b3JzCgkgIENvbW1pdCA0NTg5MmVjOCBjcmVhdGVkIGEgcmVncmVzc2lvbiB3aGVyZSBnX3V0ZjhfdmFsaWRhdGUoKSB3b3VsZCBmYWlsCgkgIGlmIHRoZSBzdWJ0aXRsZSBidWZmZXIgaGFkIGEgTlVMIHRlcm1pbmF0b3IgYXMgcGFydCBvZiB0aGUgZGF0YS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MjQyMQoKMjAxNS0wNy0yMSAxMzozMTowNSArMDIwMCAgU3RpYW4gU2VsbmVzIDxzdGlhbkBwZXhpcC5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cHZwOGRlcGF5LmM6CgkgIHJ0cHZwOGRlcGF5OiBDaGVjayBhdmFpbGFibGUgYnl0ZXMgYmVmb3JlIGNvcHkKCSAgTmVlZCB0byBjaGVjayB0aGF0IHRoZSBudW1iZXIgb2YgYnl0ZXMgd2Ugd2FudCB0byBjb3B5IGZyb20gdGhlIGFkYXB0ZXIKCSAgYWN0dWFsbHkgaXMgYXZhaWxhYmxlIGFuZCBoYW5kbGUgdGhlIGVycm9yIGNhc2UgZ3JhY2VmdWxseS4gVGhpcyBlcnJvcgoJICBtYXkgaGFwcGVuIGlmIG1hbGZvcm1lZCBwYWNrZXRzIGFyZSByZWNlaXZlZCBhbmQgd2UgZG9uJ3QgaGF2ZSBhCgkgIGNvbXBsZXRlIGZyYW1lLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUyNjYzCgoyMDE1LTA3LTE2IDA5OjMyOjM2ICswOTAwICBQYXVsIEh5dW5pbCA8cGF1bC5oeXVuaWxAbGdlLmNvbT4KCgkqIGdzdC9pc29tcDQvZm91cmNjLmg6CgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBTdXBwb3J0IHN1YnRpdGxlIHdoZW4gdHJhY2sgc3VidHlwZSBpcyBmb3VyY2Nfc3VidAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUyNjU1CgoyMDE1LTA3LTIwIDE2OjU5OjQwICswODAwICBTb25nIEJpbmcgPGIwNjQ5OEBmcmVlc2NhbGUuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSAgdjRsMmJ1ZmZlcnBvb2w6IFNldCB0aW1lc3RhbXAgd2hlbiBxdWV1ZSBidWZmZXIuCgkgIFNob3VsZCBzZXQgdGltZXN0YW1wIHdoZW4gcXVldWUgYnVmZmVyLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUyNjE4CgoyMDE1LTA3LTE2IDE1OjEyOjE3ICswMjAwICBIYXZhcmQgR3JhZmYgPGhhdmFyZC5ncmFmZkBnbWFpbC5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBtdXguYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwbXV4LmM6CgkgIHJ0cG11eDogaGFuZGxlIGRpZmZlcmVudCBzc3JjJ3Mgb24gc2lua3BhZHMKCSAgRG8gdGhpcyBieSBub3QgcHV0dGluZyB0aGUgc3NyYyBmcm9tIHRoZSBzcmMgcGFkcyBpbiB0aGUgY2FwcyB1c2VkIHRvCgkgIHByb2JlIG90aGVyIHNpbmtwYWRzLCBhbmQgdGhlbiAgaW50ZXJzZWN0aW5nIHdpdGggaXQgbGF0ZXIuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTI0OTEKCjIwMTUtMDctMTYgMTc6MTk6MDMgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvYXZpL2dzdGF2aW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcGFyc2UuYzoKCSogZ3N0L21hdHJvc2thL3dlYm0tbXV4LmM6CgkgIFVwZGF0ZSBtYWlsaW5nIGxpc3QgYWRkcmVzcyBmcm9tIHNvdXJjZWZvcmdlIHRvIGZyZWVkZXNrdG9wCgoyMDE1LTA3LTE1IDEzOjQ0OjUyICswMzAwICBEaW1pdHJpb3MgQ2hyaXN0aWRpcyA8ZGNocmlzdGlkaXNAbXlrb2xhYi5jb20+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2FkZW11eDogZml4IHRyYWlsaW5nICcqJyBkaXNwbGF5ZWQgd2l0aCBzb21lIHRleHQgc3VidGl0bGVzCgkgIFRoZSBzdWJ0aXRsZSBidWZmZXIgd2UgcHVzaCBvdXQgc2hvdWxkIG5vdCBpbmNsdWRlIGEgTlVMIHRlcm1pbmF0b3IKCSAgYXMgcGFydCBvZiB0aGUgZGF0YSwgd2UganVzdCBhZGQgc3VjaCBhIHRlcm1pbmF0b3IgZm9yIHNhZmV0eSwgYnV0CgkgIGl0IHNob3VsZCBub3QgYmUgaW5jbHVkZWQgaW4gdGhlIGJ1ZmZlciBzaXplLgoJICBBIE5VTCB0ZXJtaW5hdG9yIGlzIG5vdCB2YWxpZCBVVEYtOCwgc28gY2hlY2tzIHdpbGwgZmFpbCBpZiBpdCdzCgkgIGluY2x1ZGVkIGluIHRoZSBzaXplLCBhbmQgdGhlIE5VTCB3aWxsIGJlIHJlcGxhY2VkIGJ5IHRoZSBmYWxsYmFjawoJICBjaGFyYWN0ZXIgc3BlY2lmaWVkIHdoZW4gY29udmVydGluZywgaS5lLiAnKicuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTI0MjEKCjIwMTUtMDctMTUgMTg6MjM6MDUgKzAyMDAgIFdpbSBUYXltYW5zIDx3dGF5bWFuc0ByZWRoYXQuY29tPgoKCSogZXh0L3B1bHNlL3B1bHNlZGV2aWNlcHJvdmlkZXIuYzoKCSogZXh0L3B1bHNlL3B1bHNldXRpbC5jOgoJKiBleHQvcHVsc2UvcHVsc2V1dGlsLmg6CgkgIHB1bHNlOiBhZGQgcHJvcGVydGllcyB0byBHc3REZXZpY2UKCSAgQWRkIHRoZSBleHRyYSBwcm9wZXJ0aWVzIHdlIGdldCBmcm9tIHB1bHNlIHRvIHRoZSBHc3REZXZpY2Ugd2UgZXhwb3NlCgkgIHdpdGggdGhlIGRldmljZSBtb25pdG9yCgoyMDE1LTA3LTE1IDE3OjIwOjIwICswNTMwICBSYXZpIEtpcmFuIEsgTiA8cmF2aS5raXJhbkBzYW1zdW5nLmNvbT4KCgkqIGdzdC9hdWRpb2Z4L2F1ZGlvaW52ZXJ0LmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvd3NpbmNiYW5kLmM6CgkgIGF1ZGlvZng6IEZpeCB0eXBvIGluIGV4YW1wbGUgcGlwZWxpbmVzCgkgIEZpeCB0eXBvIGluIGV4YW1wbGUgcGlwZWxpbmVzIG9mIGF1ZGlvd3NpbmNiYW5kIGFuZCBhdWRpb2ludmVydC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MjQxNgoKMjAxNS0wNC0xNSAxODoyNzowNCArMDIwMCAgR2VvcmdlIEtpYWdpYWRha2lzIDxnZW9yZ2Uua2lhZ2lhZGFraXNAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9tdWx0aWZpbGUvZ3N0c3BsaXRtdXhzaW5rLmM6CgkgIHNwbGl0bXV4c2luazogYWRkIGEgImZvcm1hdC1sb2NhdGlvbiIgc2lnbmFsIHRoYXQgYWxsb3dzIGJldHRlciBjb250cm9sIG92ZXIgZmlsZW5hbWVzCgkgIEluIGNlcnRhaW4gYXBwbGljYXRpb25zLCBzcGxpdHRpbmcgaW50byBmaWxlcyBuYW1lZCBhZnRlciBhIGJhc2UKCSAgbG9jYXRpb24gdGVtcGxhdGUgYW5kIGFuIGluY3JlbWVudGFsIHNlcXVlbmNlIG51bWJlciBpcyBub3QgZW5vdWdoLgoJICBUaGlzIHNpZ25hbCBnaXZlcyBtb3JlIGZpbmUtZ3JhaW5lZCBjb250cm9sIHRvIHRoZSBhcHBsaWNhdGlvbiB0bwoJICBkZWNpZGUgaG93IHRvIG5hbWUgdGhlIGZpbGVzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUwMTA2CgoyMDE1LTA0LTE1IDIwOjEzOjI3ICswMzAwICBJbHlhIEtvbnN0YW50aW5vdiA8aWx5YS5rb25zdGFudGlub3ZAZ21haWwuY29tPgoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGNvcmVhdWRpby5jOgoJICBvc3hhdWRpb3NyYzogbm8gcmVzYW1wbGluZyBvbiBPUyBYCgkgIFVubGlrZSBSZW1vdGUgSU8sIEFVSEFMIGRvZXNuJ3QgaGF2ZSBidWlsdC1pbiByZXNhbXBsaW5nCgkgIGZvciBzb3VyY2VzIC0tIGNvbmZpcm1lZCBieSBDb3JlIEF1ZGlvIGVuZ2luZWVyIERvdWcgV3lhdHQ6CgkgIGh0dHA6Ly9saXN0cy5hcHBsZS5jb20vYXJjaGl2ZXMvY29yZWF1ZGlvLWFwaS8yMDA2L1NlcC9tc2cwMDA4OC5odG1sCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDM3NTgKCjIwMTUtMDQtMTUgMTg6Mjk6MTQgKzAzMDAgIElseWEgS29uc3RhbnRpbm92IDxpbHlhLmtvbnN0YW50aW5vdkBnbWFpbC5jb20+CgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4Y29yZWF1ZGlvLmM6CgkgIG9zeGF1ZGlvc3JjOiBhdm9pZCBnZXRfY2hhbm5lbF9sYXlvdXQKCSAgVGhpcyBvbmx5IHByb2R1Y2VzIGEgd2FybmluZyBhbmQgc2VydmVzIG5vIHB1cnBvc2UuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDM3NTgKCjIwMTUtMDQtMDcgMTU6NDA6MTQgKzA1MzAgIEFydW4gUmFnaGF2YW4gPGFydW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGNvcmVhdWRpby5jOgoJICBvc3hhdWRpbzogQXZvaWQgbWFraW5nIGEgZHVwbGljYXRlIHN0cnVjdHVyZSBpbiBjYXBzIGZvciBtb25vL3N0ZXJlbyBjYXNlCgkgIEZvciAxY2ggb3IgMmNoIGRldmljZXMsIHdlIGp1c3QgbmVlZCB0byBzZXQgdGhlIGNhcHMgdG8gYWxsb3cgYm90aAoJICBvcHRpb25zIHNpbmNlIENvcmVBdWRpbyB3aWxsIHVwL2Rvd25taXggYXBwcm9wcmlhdGVseS4KCSAgQWxzbyBmaXhlcyB0aGUgY29uZGl0aW9uIGZvciB0aGUgMmNoIGNhc2UgdG8gYmUgZXhhY3QsIHJhdGhlciB0aGFuIGF0CgkgIGxlYXN0IDIgY2hhbm5lbHMgc2luY2UgdGhlIGRvd25taXggd2lsbCBub3QgdGFrZSBwbGFjZSBpbiB0aGUgPnN0ZXJlbwoJICBjYXNlLgoKMjAxNS0wNC0wNiAxNjoyMjozNCArMDUzMCAgQXJ1biBSYWdoYXZhbiA8YXJ1bkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4Y29yZWF1ZGlvLmM6CgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hjb3JlYXVkaW9jb21tb24uYzoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGNvcmVhdWRpb2hhbC5jOgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4Y29yZWF1ZGlvcmVtb3RlaW8uYzoKCSAgb3N4YXVkaW86IERvbid0IHNldCB0aGUgZm9ybWF0IG9uIGFuIGluaXRpYWxpemVkIEF1ZGlvVW5pdAoJICBXZSBuZWVkIHRvIGluaXRpYWxpemUgdGhlIEF1ZGlvVW5pdCBlYXJseSB0byBiZSBhYmxlIHRvIHByb2JlIHRoZQoJICB1bmRlcmx5aW5nIGRldmljZSwgYnV0IGFjY29yZGluZyB0byB0aGUgQXVkaW9Vbml0SW5pdGlhbGl6ZSgpIGFuZAoJICBBdWRpb1VuaXRVbmluaXRpYWxpemUoKSBkb2N1bWVudGF0aW9uLCBmb3JtYXQgY2hhbmdlcyBzaG91bGQgYmUgZG9uZQoJICB3aGlsZSB0aGUgQXVkaW9Vbml0IGlzIHVuaW5pdGlhbGl6ZWQuIFNvIHdlIGV4cGxpY2l0bHkgdW5pbml0aWFsaXplIHRoZQoJICBBdWRpb1VuaXQgZHVyaW5nIGEgZm9ybWF0IGNoYW5nZSBhbmQgcmVpbml0aWFsaXplIGl0IHdoZW4gd2UncmUgZG9uZS4KCjIwMTUtMDQtMDYgMTU6NTU6NTkgKzA1MzAgIEFydW4gUmFnaGF2YW4gPGFydW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGF1ZGlvcmluZ2J1ZmZlci5jOgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4Y29yZWF1ZGlvLmM6CgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hjb3JlYXVkaW8uaDoKCSAgb3N4YXVkaW86IE1pbm9yIHNwZWxsaW5nIGZpeCAodW5pdGlhbGl6ZSAtPiB1bmluaXRpYWxpemUpCgoyMDE1LTAzLTIxIDIwOjM0OjI1ICswMjAwICBJbHlhIEtvbnN0YW50aW5vdiA8aWx5YS5rb25zdGFudGlub3ZAZ21haWwuY29tPgoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGF1ZGlvc2luay5jOgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4YXVkaW9zcmMuYzoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGNvcmVhdWRpby5jOgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4Y29yZWF1ZGlvLmg6CgkgIG9zeGF1ZGlvOiBGaXggbG9ja3VwIGluIF9hdWRpb191bml0X3Byb3BlcnR5X2xpc3RlbmVyCgkgIF9hdWRpb191bml0X3Byb3BlcnR5X2xpc3RlbmVyIGlzIGNhbGxlZCBlaXRoZXIgZnJvbSBhIENvcmUgQXVkaW8gdGhyZWFkCgkgIG9yIGFzIGEgcmVzdWx0IG9mIGEgQ29yZSBBdWRpbyBBUEkgKGUuZy4gQXVkaW9Vbml0SW5pdGlhbGl6ZSkKCSAgZnJvbSBvdXIgb3duIHRocmVhZC4gSW4gdGhlIGxhdHRlciBjYXNlLCBvc3hidWYgY2FuIGJlIGFscmVhZHkgbG9ja2VkCgkgIChHU3RyZWFtZXIncyBtdXRleCBpcyBub3QgcmVjdXJzaXZlKS4KCSAgV2UgaW50cm9kdWNlIHRoZSBmbGFnIGNhY2hlZF9jYXBzX3ZhbGlkIGFuZCB1c2UgaXQgaW5zdGVhZCBvZiBudWxsaWZ5aW5nCgkgIGNhY2hlZF9jYXBzIHdoZW4gd2UgY2Fubm90IGxvY2sgb24gb3N4YnVmLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQzNzU4CgoyMDE1LTAzLTEyIDEyOjE1OjEyICswMjAwICBJbHlhIEtvbnN0YW50aW5vdiA8aWx5YS5rb25zdGFudGlub3ZAZ21haWwuY29tPgoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGNvcmVhdWRpby5jOgoJICBvc3hhdWRpbzogSW52YWxpZGF0ZSBjYWNoZWQgY2FwcyBvbiBmb3JtYXQgY2hhbmdlCgkgIExpc3RlbiBmb3IgY2hhbmdlcyBpbiBoYXJkd2FyZSBzdHJlYW0gZm9ybWF0IGFuZCBjaGFubmVsIGxheW91dCwgYW5kCgkgIGludmFsaWRhdGUgY2FjaGVkIGNhcHMgKHNpbmNlIHRoZXkgY29udGFpbiB0aGUgcHJlZmVycmVkIGNhcHMpLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQzNzU4CgoyMDE1LTAzLTA5IDIzOjM0OjA2ICswMjAwICBJbHlhIEtvbnN0YW50aW5vdiA8aWx5YS5rb25zdGFudGlub3ZAZ21haWwuY29tPgoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGF1ZGlvcmluZ2J1ZmZlci5jOgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4YXVkaW9zaW5rLmM6CgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hhdWRpb3NpbmsuaDoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGF1ZGlvc3JjLmM6CgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hhdWRpb3NyYy5oOgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4Y29yZWF1ZGlvLmM6CgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hjb3JlYXVkaW8uaDoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGNvcmVhdWRpb2NvbW1vbi5jOgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4Y29yZWF1ZGlvY29tbW9uLmg6CgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hjb3JlYXVkaW9oYWwuYzoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGNvcmVhdWRpb3JlbW90ZWlvLmM6CgkgIG9zeGF1ZGlvOiBPdmVyaGF1bCBvZiBwcm9iaW5nIGNhcHMKCSAgLSBQcm9iaW5nIGNhcHMgaXMgdW5pZmllZCBiZXR3ZWVuIHNvdXJjZSBhbmQgc2luawoJICAtIEhhcmR3YXJlIHN0cmVhbSBmb3JtYXQgaXMgbm93IHJlcG9ydGVkIGFzIHByZWZlcnJlZCBjYXBhYmlsaXRpZXMKCSAgKGR5bmFtaWNhbGx5IHVwZGF0ZWQgd2hlbiBoYXJkd2FyZSBjb25maWd1cmF0aW9uIGNoYW5nZXMpCgkgIC0gR2V0IGhhcmR3YXJlIGNoYW5uZWwgbGF5b3V0IGZyb20gUmVtb3RlIElPIGp1c3QgbGlrZSBmcm9tIEhBTAoJICAtIE1vcmUgY29tcHJlaGVuc2l2ZSBtYXBwaW5nIGJldHdlZW4gQXVkaW9DaGFubmVsTGFiZWwgYW5kCgkgIEdzdEF1ZGlvQ2hhbm5lbFBvc2l0aW9uCgkgIC0gU3VwcG9ydCBmb3IgdW5wb3NpdGlvbmVkIGNoYW5uZWwgbGF5b3V0cwoJICAtIEFubm91bmNlIHN0ZXJlby1tb25vIHVwbWl4aW5nL2Rvd25taXhpbmcgaW4gY2FwcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQzNzU4CgoyMDE1LTAzLTA5IDIzOjE1OjU2ICswMjAwICBJbHlhIEtvbnN0YW50aW5vdiA8aWx5YS5rb25zdGFudGlub3ZAZ21haWwuY29tPgoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGNvcmVhdWRpby5jOgoJICBvc3hhdWRpbzogQXVkaW9Vbml0SW5pdGlhbGl6ZSBvbiBvcGVuCgkgIENhbGwgQXVkaW9Vbml0SW5pdGlhbGl6ZSB1cG9uIG9wZW4uIE90aGVyd2lzZSwgd2UgY2Fubm90IGdldAoJICAoaGFyZHdhcmUpIHN0cmVhbSBmb3JtYXQgbm9yIGNoYW5uZWwgbGF5b3V0IGZyb20gdGhlIG91dGVyIHNjb3BlLgoKMjAxNS0wNy0xMiAxNDoyNzoxNSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwTDE2ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBMMjRkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGFjM2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwYW1yZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBidmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwY2VsdGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZHZkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjJkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjNkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjZkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjlkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGdzbWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZ3N0ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjYxZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjYzZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjYzcGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2NGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaWxiY2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwajJrZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBqcGVnZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBrbHZkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wMXNkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wMnRkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wNGFkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wNGdkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wNHZkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wYWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXBhcm9idXN0ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcHZkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHBjbWFkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHBjbXVkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHFjZWxwZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBxZG1kZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHNiY2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwc2lyZW5kZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHNwZWV4ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBzdjN2ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHB0aGVvcmFkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHZvcmJpc2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwdnA4ZGVwYXkuYzoKCSAgcnRwOiBkZXBheWxvYWRlcnM6IGltcGxlbWVudCBwcm9jZXNzX3J0cF9wYWNrZXQoKSB2ZnVuYwoJICBGb3IgbW9yZSBvcHRpbWlzZWQgUlRQIHBhY2tldCBoYW5kbGluZzogbWVhbnMgd2UgZG9uJ3QKCSAgbmVlZCB0byBtYXAgdGhlIGlucHV0IGJ1ZmZlciBhZ2FpbiBidXQgY2FuIGp1c3QgcmUtdXNlCgkgIHRoZSBtYXBwaW5nIHRoZSBiYXNlIGNsYXNzIGhhcyBhbHJlYWR5IGRvbmUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTAyMzUKCjIwMTUtMDUtMjcgMTk6MTk6MjcgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cHZyYXdkZXBheS5jOgoJICBydHB2cmF3ZGVwYXk6IGltcGxlbWVudCBwcm9jZXNzX3J0cF9wYWNrZXQoKSB2ZnVuYwoJICBGb3IgbW9yZSBvcHRpbWlzZWQgUlRQIHBhY2tldCBoYW5kbGluZzogbWVhbnMgd2UgZG9uJ3QKCSAgbmVlZCB0byBtYXAgdGhlIGlucHV0IGJ1ZmZlciBhZ2FpbiBidXQgY2FuIGp1c3QgcmUtdXNlCgkgIHRoZSBtYXAgdGhlIGJhc2UgY2xhc3MgaGFzIGFscmVhZHkgZG9uZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MDIzNQoKMjAxNS0wNy0xMCAwMDoxMzozMiArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBydHBqaXR0ZXJidWZmZXI6IEZpeCBpbmRlbnRpb24KCjIwMTUtMDctMDkgMjM6NTk6MTAgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgcnRwaml0dGVyYnVmZmVyOiBBbHdheXMgZXN0aW1hdGUgRFRTIGZyb20gdGhlIGN1cnJlbnQgY2xvY2sgdGltZQoJICBFc3RpbWF0aW5nIGl0IGZyb20gdGhlIFJUUCB0aW1lIHdpbGwgZ2l2ZSB1cyB0aGUgUFRTLCBzbyBpbiBjYXNlcyBvZiBQVFMhPURUUwoJICB3ZSB3b3VsZCBwcm9kdWNlIHdyb25nIERUUy4gQXMgbm93IHRoZSBlc3RpbWF0ZWQgRFRTIGlzIGJhc2VkIG9uIHRoZSBjbG9jaywKCSAgZG9uJ3Qgc3RvcmUgaXQgaW4gdGhlIGppdHRlcmJ1ZmZlciBpdGVtcyBhcyBpdCB3b3VsZCBvdGhlcndpc2UgYmUgdXNlZCBpbiB0aGUKCSAgc2tldyBjYWxjdWxhdGlvbnMgYW5kIHdvdWxkIGluZmx1ZW5jZSB0aGUgcmVzdWx0cy4gV2Ugb25seSByZWFsbHkgbmVlZCB0aGUgRFRTCgkgIGZvciB0aW1lciBjYWxjdWxhdGlvbnMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDk1MzYKCjIwMTUtMDctMDkgMDk6MjY6MDkgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzLy5naXRpZ25vcmU6CgkgIGdpdGlnbm9yZTogaWdub3JlIHJ0cGgyNjMgdGVzdAoKMjAxNS0wNy0wOCAyMzo0Nzo0NCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwaml0dGVyYnVmZmVyLmM6CgkgIHJ0cGppdHRlcmJ1ZmZlcjogZml4IGJ1aWxkIGVycm9yIHdpdGggZ2NjIChEZWJpYW4gNC45LjItMjEpIDQuOS4yCgkgIFJlcGxhY2Ugc3RhdGljIGNvbnN0YW50cyB3aXRoIG1hY3JvcyB0byBtYWtlIGdjYyBoYXBweQoJICBDQyAgICAgICBlbGVtZW50cy9lbGVtZW50c19ydHBqaXR0ZXJidWZmZXItcnRwaml0dGVyYnVmZmVyLm8KCSAgZWxlbWVudHMvcnRwaml0dGVyYnVmZmVyLmM6Mzg3OjE6IGVycm9yOiBpbml0aWFsaXplciBlbGVtZW50IGlzIG5vdCBjb25zdGFudAoJICBzdGF0aWMgY29uc3QgR3N0Q2xvY2tUaW1lIFBDTVVfQlVGX0RVUkFUSU9OID0gUENNVV9CVUZfTVMgKiBHU1RfTVNFQ09ORDsKCSAgXgoJICBlbGVtZW50cy9ydHBqaXR0ZXJidWZmZXIuYzozODg6MTogZXJyb3I6IGluaXRpYWxpemVyIGVsZW1lbnQgaXMgbm90IGNvbnN0YW50CgkgIHN0YXRpYyBjb25zdCBndWludCBQQ01VX0JVRl9TSVpFID0gNjQwMDAgKiBQQ01VX0JVRl9NUyAvIDEwMDA7CgkgIF4KCSAgZWxlbWVudHMvcnRwaml0dGVyYnVmZmVyLmM6MzkwOjU6IGVycm9yOiBpbml0aWFsaXplciBlbGVtZW50IGlzIG5vdCBjb25zdGFudAoJICBQQ01VX0JVRl9DTE9DS19SQVRFICogUENNVV9CVUZfTVMgLyAxMDAwOwoKMjAxNS0wNy0wOCAyMzo0MDo0NSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwaml0dGVyYnVmZmVyLmM6CgkgIHJ0cGppdHRlcmJ1ZmZlcjogcnVuIGluZGVudCBhbmQgZml4IHNvbWUgY29tbWVudHMKCSAgRml4IGluZGVudCBvbiB0aGlzIGZpbGUgYW5kIGJyZWFrIHNvbWUgY29tbWVudCBsaW5lcyBpbnRvIHR3byB0byBtYWtlCgkgIGl0IGZpdCA4MCBjaGFycyBwZXIgbGluZQoKMjAxNS0wNy0wOCAxNTowMjoyNCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IHJld29yayBzZWdtZW50IGV2ZW50IGhhbmRsaW5nIGZvciBhZGFwdGl2ZSBzdHJlYW1pbmcKCSAgV2hlbiBhIG5ldyB0aW1lIHNlZ21lbnQgaXMgcmVjZWl2ZWQgdXBzdHJlYW0gaXMgZ29pbmcgdG8gcmVzdGFydAoJICB3aXRoIGEgbmV3IGF0b20uIE1ha2UgdGhlIG5lZWRlZGJ5dGVzIGFuZCB0b2Ryb3AgdmFyaWFibGVzCgkgIHJlZmxlY3QgdGhhdCB0byBhdm9pZCB3YWl0aW5nIHRvbyBtdWNoIG9yIGRyb3BwaW5nIHRoZQoJICBpbml0aWFsIGJ5dGVzIHRoYXQgY29udGFpbiB0aGUgaGVhZGVyLgoKMjAxNS0wNy0wOCAxMjozNTo1NSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IHB1c2ggZGF0YSBmcm9tIGFkYXB0ZXIgYmVmb3JlIHN0YXJ0aW5nIG5ldyBzZWdtZW50CgkgIFRoZSBhZGFwdGVyIG1pZ2h0IGhhdmUgZGF0YSByZW1haW5pbmcgZnJvbSB0aGUgcHJldmlvdXMgc2VnbWVudCwKCSAgcHVzaCBpdCBhbGwgYmVmb3JlIGNsZWFyaW5nIHRoZSBhZGFwdGVyIGFuZCBzdGFydGluZyBhIG5ldyBzZWdtZW50LgoJICBJdCBjYW4gYWNjdW11bGF0ZSBkYXRhIGlmIGl0IGhhZCBwdXNoZWQgYW5kIGdvdCBub3QtbGlua2VkLCByZXR1cm5pbmcKCSAgaW1tZWRpYXRlbHkgd2l0aG91dCBwcm9jZXNzaW5nIGFsbCB0aGUgZGF0YS4gQmVmb3JlIHN0YXJ0aW5nIGEgbmV3CgkgIHNlZ21lbnQgdGhpcyBkYXRhIHNob3VsZCBiZSBoYW5kbGVkLgoKMjAxNS0wNy0wOCAxOTo1OToxMyArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBydHBqaXR0ZXJidWZmZXI6IENhbGN1bGF0ZSBEVFMgZnJvbSB0aGUgY2xvY2sgaWYgd2UgaGFkIG5vbmUgZm9yIHRoZSBmaXJzdCBwYWNrZXQgYWZ0ZXIgYSByZXNldAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ5NTM2CgoyMDE1LTA3LTA4IDIxOjA4OjM2ICswMjAwICBIYXZhcmQgR3JhZmYgPGhhdmFyZC5ncmFmZkBnbWFpbC5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwaml0dGVyYnVmZmVyLmM6CgkgIHJ0cGppdHRlcmJ1ZmZlcjogZml4IGdhcC10aW1lIGNhbGN1bGF0aW9uIGFuZCByZW1vdmUgImxhdGUiCgkgIFRoZSBhbW91bnQgb2YgdGltZSB0aGF0IGlzIGNvbXBsZXRlbHkgZXhwaXJlZCBhbmQgbm90IHdvcnRoIHdhaXRpbmcgZm9yLAoJICBpcyB0aGUgZHVyYXRpb24gb2YgdGhlIHBhY2tldHMgaW4gdGhlIGdhcCAoZ2FwICogZHVyYXRpb24pIC0gdGhlCgkgIGxhdGVuY3kgKHNpemUpIG9mIHRoZSBqaXR0ZXJidWZmZXIgKHByaXYtPmxhdGVuY3lfbnMpLiBUaGlzIGlzIHRoZSBkdXJhdGlvbgoJICB0aGF0IHdlIG1ha2UgYSAibXVsdGktbG9zdCIgcGFja2V0IGZvci4KCSAgVGhlICJsYXRlIiBjb25jZXB0IG1hZGUgc29tZSBzZW5zZSBpbiAwLjEwIGFzIGl0IHJlZmxlY3RlZCB0aGF0IGEgYnVmZmVyCgkgIGNvbWluZyBpbiBoYWQgbm90IGJlZW4gd2FpdGVkIGZvciBhdCBhbGwsIGJ1dCBoYWQgYSB0aW1lc3RhbXAgdGhhdCB3YXMKCSAgb3V0c2lkZSB0aGUgaml0dGVyYnVmZmVyIHRvIHdhaXQgZm9yLiBXaXRoIHRoZSByZXdyaXRlIG9mIHRoZSB3YWl0aW5nCgkgICh0aW1lb3V0KSBtZWNoYW5pc20gaW4gMS4wLCB0aGlzIG5vIGxvbmdlciBtYWtlcyBhbnkgc2Vuc2UsIGFuZCB0aGUKCSAgdmFyaWFibGUgbm8gbG9uZ2VyIHJlZmxlY3RzIGFueXRoaW5nIG1lYW5pbmdmdWwgKG51bSA+IDAgaXMgdXNlbGVzcywKCSAgdGhlIGR1cmF0aW9uIGlzIHdoYXQgbWF0dGVycykKCSAgRml4ZWQgdXAgdGhlIHRlc3RzIHRoYXQgaGFkIGJlZW4gc2xpZ2h0bHkgbW9kaWZpZWQgaW4gMS4wIHRvIGFsbG93IGZhdWx0eQoJICBiZWhhdmlvciB0byBzbmVhayBpbiwgYW5kIHBvcnQgc29tZSBvZiB0aGVtIHRvIHVzZSBHc3RIYXJuZXNzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM4MzYzCgoyMDE1LTA2LTMwIDExOjIxOjMxICswMjAwICBTdGlhbiBTZWxuZXMgPHN0aWFuQHBleGlwLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBSZXZlcnQgInJ0cGppdHRlcmJ1ZmZlcjogRml4IGV4cGVjdGVkX2R0cyBjYWxjIGluIGNhbGN1bGF0ZV9leHBlY3RlZCIKCSAgVGhpcyByZXZlcnRzIGNvbW1pdCAwNWJkNzA4ZmM1ZTg4MTM5MGZlODM5ODAzYjUzMTQ0MzkzZDk1YWIwLgoJICBUaGUgcmV2ZXJ0ZWQgcGF0Y2ggaXMgd3JvbmcgYW5kIGludHJvZHVjZXMgYSByZWdyZXNzaW9uIGJlY2F1c2UgdGhlcmUKCSAgbWF5IHN0aWxsIGJlIHRpbWUgdG8gcmVjZWl2ZSBzb21lIG9mIHRoZSBwYWNrZXRzIGluY2x1ZGVkIGluIHRoZSBnYXAKCSAgaWYgdGhleSBhcmUgcmVvcmRlcmVkLgoKMjAxNS0wNy0wNyAyMzo1MzowMiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IGZsdXNoIHNhbXBsZXMgYmVmb3JlIGFkZGluZyBtb3JlIGZyb20gbW9vZgoJICBBdm9pZHMgYWNjdW11bGF0aW5nIGFsbCBzYW1wbGVzIGZyb20gYSBmcmFnbWVudGVkIHN0cmVhbSB0aGF0IGNvdWxkCgkgIGxlYWQgdG8gYSAnaW5kZXgtdG9vLWJpZycgZXJyb3Igb25jZSBpdCBnb2VzIG92ZXIgNTBNQiBvZiBkYXRhLiBJdAoJICBjb3VsZCByZWFjaCB0aGF0IGJlZm9yZSAyaCBvZiBwbGF5YmFjayBzbyBpdCBkb2Vzbid0IHRha2UgdGhhdCBsb25nLgoJICBBcyB1cHN0cmVhbSBlbGVtZW50cyBhcmUgcHJvdmlkaW5nIGRhdGEgaW4gdGltZSBmb3JtYXQgdGhleSBzaG91bGQKCSAgYmUgdGhlIG9uZXMgdGhhdCBoYXZlIG1vcmUgaW5mb3JtYXRpb24gYWJvdXQgdGhlIGZ1bGwgbWVkaWEgaW5kZXgKCSAgYW5kIHNob3VsZCBiZSBhYmxlIHRvIHNlZWsgaWYgcG9zc2libGUuCgoyMDE1LTA3LTA3IDIzOjU2OjEyIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSogZ3N0L2lzb21wNC9xdGRlbXV4Lmg6CgkgIHF0ZGVtdXg6IHJlbmFtZSB1cHN0cmVhbV9uZXdzZWdtZW50IHRvIHVwc3RyZWFtX2Zvcm1hdF9pc190aW1lCgkgIHVwc3RyZWFtX25ld3NlZ21lbnQgaXNuJ3QgcmVhbGx5IGNsZWFyIG9uIHdoYXQgaXQgbWVhbnMsIGl0IGlzIHNldAoJICB0byBUUlVFIHdoZW4gdGhlIHVwc3RyZWFtIGVsZW1lbnQgc2VuZHMgYSBzZWdtZW50IGluIFRJTUUgZm9ybWF0LCBzbwoJICByZW5hbWUgaXQgdG8gYmUgbW9yZSBjbGVhciBhYm91dCBpdC4KCSAgSXQgaXMgaW1wb3J0YW50IHRvIGtub3cgdGhpcyBiZWNhdXNlIGl0IG1lYW5zIHRoYXQgdXBzdHJlYW0gaGFzCgkgIGEgbm90aW9uIG9mIHRpbWUgYW5kIHF0ZGVtdXggaXMgbGlrZWx5IGJlaW5nIGRyaXZlbiBieSBhbiB1cHN0cmVhbQoJICBlbGVtZW50IHRoYXQgaXMgcmVhZGluZyBmcm9tIGEgaGlnaGVyIGxldmVsIGFic3RyYWN0aW9uIHRoYW4gYSBmaWxlLAoJICBzdWNoIGFzIGEgREFTSCwgTVNTIG9yIERMTkEgZWxlbWVudC4KCjIwMTUtMDctMDcgMjE6MzE6MDggLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBmaXggbGVhayBieSBmbHVzaGluZyBwcmV2aW91cyBzYW1wbGUgaW5mbyBmcm9tIHRyYWsKCSAgSW4gZnJhZ21lbnRlZCBzdHJlYW1pbmcsIG11bHRpcGxlIG1vb3YvbW9vZiB3aWxsIGJlIHBhcnNlZCBhbmQgdGhlaXIKCSAgcHJldmlvdXNseSBzdG9yZWQgc2FtcGxlcyBhcnJheSBtaWdodCBsZWFrIHdoZW4gbmV3IHZhbHVlcyBhcmUgcGFyc2VkLgoJICBUaGUgcGFyc2VfdHJhayBhbmQgY2FsbGVlcyB3b24ndCBmcmVlIHRoZSBwcmV2aW91c2x5IHN0b3JlZCB2YWx1ZXMKCSAgYmVmb3JlIHBhcnNpbmcgdGhlIG5ldyBvbmVzLgoJICBJbiBzdGVwLWJ5LXN0ZXAsIHRoaXMgaXMgd2hhdCBoYXBwZW5zOgoJICAxKSBpbml0aWFsIG1vb3YgaXMgcGFyc2VkLCB0cmFrcyBhcyB3ZWxsLCBzdHJlYW1zIGFyZSBjcmVhdGVkLiBUaGUKCSAgdHJhayBkb2Vzbid0IGNvbnRhaW4gc2FtcGxlcyBiZWNhdXNlIHRoZXkgYXJlIGluIHRoZSBtb29mJ3MgdHJ1bgoJICBib3hlcy4gbl9zYW1wbGVzIGlzIHNldCB0byAwIHdoaWxlIHBhcnNpbmcgdGhlIHRyYWsgYW5kIHRoZSBzYW1wbGVzCgkgIGFycmF5IGlzIHN0aWxsIE5VTEwuCgkgIDIpIG1vb2ZzIGFyZSBwYXJzZWQsIGFuZCB0aGVpciB0cnVuIGJveGVzIHdpbGwgaW5jcmVhc2Ugbl9zYW1wbGVzIGFuZAoJICBjcmVhdGUvZXh0ZW5kIHRoZSBzYW1wbGVzIGFycmF5CgkgIDMpIEF0IHNvbWUgcG9pbnQgYSBuZXcgbW9vdiBtaWdodCBiZSBzZW50IChiaXRyYXRlIHN3aXRjaGluZywgZm9yIGV4YW1wbGUpCgkgIGFuZCBwYXJzaW5nIHRoZSB0cmFrIHdpbGwgb3ZlcndyaXRlIG5fc2FtcGxlcyB3aXRoIHRoZSB2YWx1ZXMgZnJvbQoJICB0aGlzIHRyYWsuIElmIHRoZSBuX3NhbXBsZXMgaXMgc2V0IHRvIDAgcXRkZW11eCB3aWxsIGFzc3VtZSB0aGF0CgkgIHRoZSBzYW1wbGVzIGFycmF5IGlzIE5VTEwgYW5kIHdpbGwgbGVhayBpdCB3aGVuIGEgbmV3IG9uZSBpcwoJICBjcmVhdGVkIGZvciB0aGUgc3Vic2VxdWVudCBtb29mcy4KCSAgVGhpcyBwYXRjaCBtYWtlcyBxdGRlbXV4IHByb3Blcmx5IGZyZWUgcHJldmlvdXMgc2FtcGxlIGRhdGEgYmVmb3JlCgkgIGNyZWF0aW5nIG5ldyBvbmVzIGFuZCBhZGRzIGFuIGFzc2VydCB0byBjYXRjaCBmdXR1cmUgb2NjdXJyZW5jZXMgb2YKCSAgdGhpcyBpc3N1ZSB3aGVuIHRoZSBjb2RlIGNoYW5nZXMuCgoyMDE1LTA3LTA3IDE2OjQ2OjMzIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogZml4IGluZGV4IHNpemUgY2hlY2sgYW5kIGRlYnVnIG1lc3NhZ2UKCSAgSXQgaXMgYWxsb2NhdGluZyBzYW1wbGVzX2NvdW50ICsgbl9zYW1wbGVzLCBub3Qgb25seSBuX3NhbXBsZXMKCjIwMTUtMDctMDggMTc6MDI6MDUgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgcnRwaml0dGVyYnVmZmVyOiBDYWxjdWxhdGUgcmVjZWl2ZSB0aW1lIGlmIHdlIGRvbid0IGhhdmUgYW55CgkgIFRoaXMgaXMgcmVxdWlyZWQgdG8gcHJvcGVybHkgc2NoZWR1bGUgcGFja2V0IGxvc3MgdGltZXJzIGFuZCBtYWtlCgkgIHN1cmUgYWxsIG91ciBjYWxjdWxhdGlvbnMgd29yayBwcm9wZXJseS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0OTUzNgoKMjAxNS0wNy0wOCAxNToxMzoxNyArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBydHBqaXR0ZXJidWZmZXI6IEhhbmRsZSBzZXFudW0gZ2FwcyBpbiBUQ1Agc3RyZWFtcyB3aXRob3V0IGVycm9yaW5nIG91dCBvciBvdmVyZmxvd2luZyBjYWxjdWxhdGlvbnMKCSAgVGhhdCBpcywgaGFuZGxlIERUUz09R1NUX0NMT0NLX1RJTUVfTk9ORSBjb3JyZWN0bHkuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDk1MzYKCjIwMTUtMDctMDggMjA6MzE6NDIgKzA5MDAgIFZpbmVldGggVCBNIDx2aW5lZXRoLnRtQHNhbXN1bmcuY29tPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICBhdmlkZW11eDogZml4IGV2ZW50IGxlYWsKCSAgd2hlbiBzZWVrIGZhaWxzIGluIGF2aWRlbXV4LCBldmVudCBpcyBub3QgYmVpbmcgZnJlZWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTIxMTcKCjIwMTUtMDctMDggMTI6MDI6MjIgKzAyMDAgIFN0aWFuIFNlbG5lcyA8c3RpYW5AcGV4aXAuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBoMjYzZGVwYXkuYzoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cGgyNjMuYzoKCSAgcnRwaDI2M2RlcGF5OiBNYWtlIHN1cmUgcGF5bG9hZCBpcyBsYXJnZSBlbm91Z2gKCSAgUGx1cyBuZXcgdW5pdCB0ZXN0LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUyMTEyCgoyMDE1LTA3LTA4IDA4OjU5OjQ5ICswOTAwICBWaW5lZXRoIFRNIDx2aW5lZXRoLnRtQHNhbXN1bmcuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBrbHZkZXBheS5jOgoJICBydHBrbHZkZXBheTogZml4IHByaW50ZiBmb3JtYXQgY29tcGlsZXIgd2FybmluZwoJICB2X2xlbiBpcyBvZiB0eXBlIGd1aW50NjQsIGJ1dCB3aGlsZSBwcmludCB0aGUgdmFsdWUoMTYgKyBsZW5fc2l6ZSArIHZfbGVuKQoJICBHX0dTSVpFX0ZPUk1BVCBpcyBiZWluZyB1c2VkIGluc3RlYWQgb2YgR19HVUlOVDY0X0ZPUk1BVAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUyMTAwCgoyMDE1LTA3LTA3IDIwOjI1OjQ3ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1kb2NzLnNnbWw6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwLnhtbDoKCSAgZG9jczogYWRkIG5ldyBSVFAgZWxlbWVudHMgdG8gZG9jcwoKMjAxNS0wNy0wNyAyMDowNzozMSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cC1wYXlsb2FkaW5nLmM6CgkgIHRlc3RzOiBydHAtcGF5bG9hZGluZzogYWRkIGJhc2ljIHVuaXQgdGVzdCBmb3IgS0xWIHBheWxvYWRpbmcKCSAgQWxzbyBtYWtlIGl0IHNvIHRoYXQgdGhlIG10dSBpcyBhbHdheXMgc2V0IGlmIHNwZWNpZmllZCwgbm90CgkgIG9ubHkgaW4gY2FzZSBvZiB0aGUgcmF0aGVyIHdlaXJkIGJ1ZmZlcmxpc3QgdGVzdCBjb2RlIHBhdGguCgkgIFRoaXMgYWxsb3dzIHVzIHRvIGVhc2lseSBtYWtlIHRoZSBwYXlsb2FkZXIgZnJhZ21lbnQgYSBwYXlsb2FkCgkgIGFjcm9zcyBtdWx0aXBsZSBvdXRwdXQgcGFja2V0cyBieSBzZXR0aW5nIGEgc21hbGwgTVRVIG9uIGl0LgoKMjAxNS0wNy0wNyAxOTo1ODo0MiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwa2x2ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBrbHZkZXBheS5oOgoJICBydHBrbHZkZXBheTogaW1wcm92ZSBzdGFydCBkZXRlY3Rpb24gYW5kIGhhbmRsZSBmcmFnbWVudGVkIEtMViB1bml0cwoKMjAxNS0wNy0wNSAyMDoyNToxMCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHAvTWFrZWZpbGUuYW06CgkqIGdzdC9ydHAvZ3N0cnRwLmM6CgkqIGdzdC9ydHAvZ3N0cnRwa2x2ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBrbHZkZXBheS5oOgoJICBydHA6IGFkZCBTTVBURSAzMzZNIEtMViBtZXRhZGF0YSBkZXBheWxvYWRlcgoJICBodHRwOi8vdG9vbHMuaWV0Zi5vcmcvaHRtbC9yZmM2NTk3CgoyMDE0LTA4LTA5IDEwOjA4OjQyICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0cC9NYWtlZmlsZS5hbToKCSogZ3N0L3J0cC9nc3RydHAuYzoKCSogZ3N0L3J0cC9nc3RydHBrbHZwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBrbHZwYXkuaDoKCSAgcnRwOiBhZGQgU01QVEUgMzM2TSBLTFYgbWV0YWRhdGEgcGF5bG9hZGVyCgkgIGh0dHA6Ly90b29scy5pZXRmLm9yZy9odG1sL3JmYzY1OTcKCjIwMTUtMDctMDcgMTY6NTk6MjAgKzAyMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvaXNvbXA0L2F0b21zLmM6CgkqIGdzdC9pc29tcDQvYXRvbXMuaDoKCSogZ3N0L2lzb21wNC9hdG9tc3JlY292ZXJ5LmM6CgkqIGdzdC9pc29tcDQvcHJvcGVydGllcy5oOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5jOgoJICBkb2NzOiBmaXggIlN5bWJvbCBuYW1lIG5vdCBmb3VuZCBhdCB0aGUgc3RhcnQgb2YgdGhlIGNvbW1lbnQgYmxvY2siCgkgIEFkZCBzeW1ib2xzIG9yIGNoYW5nZSBjb21tZW50IGludG8gYSByZWd1bGFyIGNvbW1lbnQuCgoyMDE1LTA3LTA3IDE2OjU4OjUzICswMjAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhbXJwYXJzZS5oOgoJICBkb2NzOiByZW1vdmUgb3V0ZGF0ZWQgZG9jIHN0cmluZ3MKCjIwMTUtMDctMDMgMjM6MTA6NDAgKzAyMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSAgZG9jczogYWRkIG1pc3NpbmcgcGx1Z2lucyBhbmQgZW5zdXJlIG1hc3RlciBkb2MgaXMgc29ydGVkCgoyMDE1LTA3LTA3IDE1OjU0OjQxICswMTAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzQGRlYmV0aGVuY291cnQuY29tPgoKCSogZ3N0L2ltYWdlZnJlZXplL2dzdGltYWdlZnJlZXplLmM6CgkgIFJldmVydCAiaW1hZ2VmcmVlemU6IFJlbW92ZSBpbXBvc3NpYmxlIGVycm9yIGNvbmRpdGlvbiIKCSAgVGhpcyByZXZlcnRzIGNvbW1pdCBkNDY2MzFjNWM3MzEyYWQ2MTMzOTdmODIzOGM3YTk3MTRhZTNhZTk0LgoJICBwYWQgb25seSBoYW5kbGUgRU9TIGV2ZW50cyBidXQgbm90IEVPUyBmbG93LCBhbmQgd2lsbCBwdXNoIHRoZSBidWZmZXIgYWdhaW4KCSAgcmVzdWx0aW5nIGluIGFuIGFzc2VydGlvbiBlcnJvci4gU28gd2Ugc2hvdWxkIG5vdCBoYW5kbGUgdGhlIGJ1ZmZlcgoJICBhbmQgcmV0dXJuIEVPUyBmbG93LgoKMjAxNS0wNy0wNyAxNTo1MDo1MCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwZzcyOWRlcGF5LmM6CgkgIHJ0cGc3MjlkZXBheTogdW5tYXAgcnRwIGJ1ZmZlciBpbiBlcnJvciBwYXRoCgoyMDE1LTA3LTA3IDE1OjQ4OjQwICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBnNzI5cGF5LmM6CgkgIHJ0cGc3MjlwYXk6IGZpeCBidWZmZXIgbGVhawoJICBUaGUgaGFuZGxlX2J1ZmZlciB2ZnVuYyB0YWtlcyBvd25lcnNoaXAgb2YgdGhlIGlucHV0IGJ1ZmZlci4KCSAgRml4ZXMgZWxlbWVudHMvcnRwLXBheWxvYWRpbmcgdW5kZXIgdmFsZ3JpbmQuCgoyMDE1LTA3LTAyIDA4OjUyOjQzICswMjAwICBUb2JpYXMgTXVlbGxlciA8bXVlbGxpQGNyeXB0b2JpdGNoLmRlPgoKCSogZ3N0L2dvb20vZ29vbV9jb3JlLmM6CgkgIGdvb206IEluaXRpYWxpc2VkIHZhcmlhYmxlcyB0byByZW1vdmUgY29tcGlsZXIgd2FybmluZ3MKCSAgZ29vbV9jb3JlLmM6IEluIGZ1bmN0aW9uICdnb29tX3VwZGF0ZSc6CgkgIGdvb21fY29yZS5jOjY4NTo1OiBlcnJvcjogJ3BhcmFtMicgbWF5IGJlIHVzZWQgdW5pbml0aWFsaXplZCBpbiB0aGlzIGZ1bmN0aW9uIFstV2Vycm9yPW1heWJlLXVuaW5pdGlhbGl6ZWRdCgkgIGdvb21fbGluZXNfc3dpdGNoX3RvIChnb29tSW5mby0+Z21saW5lMiwgbW9kZSwgcGFyYW0yLCBhbXBsaXR1ZGUsIGNvdWxldXIpOwoJICBeCgkgIGdvb21fY29yZS5jOjY4NDo1OiBlcnJvcjogJ3BhcmFtMScgbWF5IGJlIHVzZWQgdW5pbml0aWFsaXplZCBpbiB0aGlzIGZ1bmN0aW9uIFstV2Vycm9yPW1heWJlLXVuaW5pdGlhbGl6ZWRdCgkgIGdvb21fbGluZXNfc3dpdGNoX3RvIChnb29tSW5mby0+Z21saW5lMSwgbW9kZSwgcGFyYW0xLCBhbXBsaXR1ZGUsIGNvdWxldXIpOwoJICBeCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTIwNTMKCjIwMTUtMDctMDcgMDk6MTg6MzkgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjFwYXkuYzoKCSAgcnRwaDI2MXBheTogZml4IGluZGVudGF0aW9uCgoyMDE1LTA3LTA2IDE5OjExOjAwICswOTAwICBKaW1teSBPaG4gPHlvbmdqaW4ub2huQGxnZS5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjFwYXkuYzoKCSAgcnRwaDI2MXBheTogRml4IHVuaW5pdGlhbGl6ZWQgdmFyaWFibGUgY29tcGlsZXIgZXJyb3IKCSAgZW5kcG9zIHZhcmlhYmxlIGRvZXMgbm90IGNvcnJlY3RseSB1bmRlcnN0YW5kIGluIHRoZQoJICA0LjYuMyBHQ0MgdmVyc2lvbi4gU28gY29tcGlsZSBlcnJvciBhcHBlYXJzIHdoZW4gd2UgZG8KCSAgY29tcGlsZSBydHBoMjYxcGF5IHVzaW5nIGpoYnVpbGQuCgkgIFRoaXMgcGF0Y2ggaXMgZml4ZWQgdGhlIGNvbXBpbGUgZXJyb3IgaW4gNC42LjMgR0NDIHZlcnNpb24uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTE5ODUKCjIwMTQtMTEtMTIgMTI6MDg6NTggKzAxMDAgIEphbiBBbGV4YW5kZXIgU3RlZmZlbnMgKGhlZnRpZykgPGpzdGVmZmVuc0BtYWtlLnR2PgoKCSogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOgoJICBmbHZkZW11eDogSGFuZGxlIHNlZWsgZmxhZ3MgcHJvcGVybHkKCSAgQWxsb3dzIGZvciBub24ta2V5ZnJhbWUgc2Vla3MuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mzg1NzAKCjIwMTUtMDItMjQgMTA6NTA6NTIgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBhdm9pZCBsb29waW5nIHJlYWRpbmcgdGhlICdtb29mJyBhdG9tIGZvcmV2ZXIKCSAgSXQgZ2V0cyBzdHVjayBpZiBpdCBvbmx5IGZpbmRzIGEgbW9vZiBhbmQgbm8gbWZyYS9tZnJvIG9yIG1vb3YKCSAgYXRvbXMuIFNraXAgdGhlIG1vb2YgdG8gY29udGludWUgdGhlIHBhcnNpbmcgdG8gaGF2ZSBpdCBlaXRoZXIKCSAgcGxheSBvciBlcnJvciBvdXQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDUwODkKCjIwMTUtMDYtMjYgMTM6MjQ6MTcgKzA5MDAgIFZpbmVldGggVE0gPHZpbmVldGgudG1Ac2Ftc3VuZy5jb20+CgoJKiBleHQvZmxhYy9nc3RmbGFjZGVjLmM6CgkgIGZsYWNkZWM6IGltcHJvdmUgZXJyb3IgaGFuZGxpbmcKCSAgZm9yIGZpbGVzIHdoaWNoIGhhdmUgY29ycnVwdGVkIGhlYWRlciwgbGliZmxhYyBpcyBub3QgYWJsZSB0bwoJICBwcm9jZXNzIHRoZSBtZXRhZGF0YSBwcm9wZXJseS4gV2UganVzdCB0cnkgdG8gaWdub3JlIHRoZSBlcnJvcgoJICBhbmQgY29udGludWUgd2l0aCB0aGUgcHJvY2Vzc2luZywgc2luY2UgbWV0YWRhdGEgcGFyc2luZyBpcyBub3QKCSAgbWFraW5nIG11Y2ggb2YgYSBkaWZmZXJlbmNlIHRvIGxpYmZsYWMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MTMzNAoKMjAxNS0wNy0wNiAyMDoxNjozOCArMDkwMCAgSHl1bmp1biBLbyA8enpvb24ua29Ac2Ftc3VuZy5jb20+CgoJKiBzeXMveGltYWdlL3hpbWFnZXV0aWwuYzoKCSAgeGltYWdlc3JjOiBhZGQgbWV0YSB0cmFuc2Zvcm0gZnVuY3Rpb24KCSAgeGltYWdlIG1ldGFkYXRhIGNhbid0IGJlIHRyYW5zZm9ybWVkIG9yIGNvcGllZCwgYnV0IHByb3ZpZGUgYW4gZW1wdHkKCSAgdHJhbnNmb3JtYXRpb24gZnVuY3Rpb24gaW5zdGVhZCBvZiBOVUxMIHRvIGFsbG93IHVuY29uZGl0aW9uYWwgY2FsbGluZwoJICBvZiBtZXRhcycgdHJhbnNmb3JtIGZ1bmN0aW9ucy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MTc3OAoKMjAxNC0wNi0xNiAxNjoxNDoyOCArMDIwMCAgU3RpYW4gU2VsbmVzIDxzdGlhbi5zZWxuZXNAZ21haWwuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBoMjYzcGRlcGF5LmM6CgkgIHJ0cGgyNjNwZGVwYXk6IGluaXQgZGVidWcgY2F0ZWdvcnkKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MjAxMgoKMjAxNC0wNi0yMCAxMDo1OToxNCArMDIwMCAgU3RpYW4gU2VsbmVzIDxzdGlhbkBwZXhpcC5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cHZwOGRlcGF5LmM6CgkgIHJ0cHY4ZGVwYXk6IGlnbm9yZSByZXNlcnZlZCBiaXQgaW4gcGF5bG9hZCBkZXNjcmlwdG9yCgkgIERyYWZ0IDE2IG9mICJSVFAgUGF5bG9hZCBGb3JtYXQgZm9yIFZQOCIgc3RhdGVzIGluIHNlY3Rpb24gNC4yIHRoYXQ6CgkgIFI6IEJpdCByZXNlcnZlZCBmb3IgZnV0dXJlIHVzZS4gIE1VU1QgYmUgc2V0IHRvIHplcm8gYW5kIE1VU1QgYmUKCSAgaWdub3JlZCBieSB0aGUgcmVjZWl2ZXIuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTE5MjkKCjIwMTUtMDctMDQgMjA6NTY6NDIgKzAyMDAgIFN0aWFuIFNlbG5lcyA8c3RpYW5AcGV4aXAuY29tPgoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1kb2NzLnNnbWw6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjFkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjFwYXkuYzoKCSAgcnRwaDI2MXBheTogcnRwaDI2MWRlcGF5OiBBZGQgZG9jdW1lbnRhdGlvbgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUxOTgyCgoyMDE1LTA3LTAzIDIxOjU4OjE0ICswMjAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSBmNzRiMmRmIHRvIDlhZWQxZDcKCjIwMTUtMDctMDMgMTQ6Mjk6MTYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjFwYXkuYzoKCSAgcnRwaDI2MXBheTogRml4IGNvbXBpbGVyIHdhcm5pbmcKCSAgZ3N0cnRwaDI2MXBheS5jOiBJbiBmdW5jdGlvbiAnZ3N0X3J0cF9oMjYxX3BheV9jbGFzc19pbml0JzoKCSAgZ3N0cnRwaDI2MXBheS5jOjEwMDM6MTc6IGVycm9yOiB2YXJpYWJsZSAnZ29iamVjdF9jbGFzcycgc2V0IGJ1dCBub3QgdXNlZCBbLVdlcnJvcj11bnVzZWQtYnV0LXNldC12YXJpYWJsZV0KCSAgR09iamVjdENsYXNzICpnb2JqZWN0X2NsYXNzOwoKMjAxNS0wNy0wMyAxNDowMzowNSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2MWRlcGF5LmM6CgkgIHJ0cGgyNjFkZXBheTogTGV0IHRoZSBiYXNlIGNsYXNzIHB1c2ggdGhlIGJ1ZmZlciBzbyBpdCBjYW4gZGVhbCB3aXRoIHRoZSBmbG93IHJldHVybgoKMjAxNS0wNy0wMyAxNDoxMTozNSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2MXBheS5jOgoJICBydHBoMjYxcGF5OiBSZW1vdmUgdW51c2VkIGFkYXB0ZXIKCjIwMTUtMDctMDMgMTM6MTc6MjQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cHNwZWV4cGF5LmM6CgkgIHNwZWV4cGF5OiBEaXJlY3RseSBhdHRhY2ggcGF5bG9hZCB0byB0aGUgb3V0cHV0IGJ1ZmZlciBpbnN0ZWFkIG9mIGNvcHlpbmcgaXQKCjIwMTUtMDctMDMgMTM6MDc6MjAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cHNiY3BheS5jOgoJICBzYmNwYXk6IEF0dGFjaCBwYXlsb2FkIGRpcmVjdGx5IHRvIHRoZSBvdXRwdXQgaW5zdGVhZCBvZiBjb3B5aW5nCgoyMDE0LTEyLTAxIDE0OjE4OjQwICswMTAwICBTdGlhbiBTZWxuZXMgPHN0aWFuQHBleGlwLmNvbT4KCgkqIGdzdC9ydHAvTWFrZWZpbGUuYW06CgkqIGdzdC9ydHAvZ3N0cnRwLmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2MWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2MWRlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2MXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjFwYXkuaDoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwLXBheWxvYWRpbmcuYzoKCSAgcnRwOiBhZGQgSC4yNjEgUlRQIHBheWxvYWRlciBhbmQgZGVwYXlsb2FkZXIKCSAgSW1wbGVtZW50YXRpb24gYWNjb3JkaW5nIHRvIFJGQyA0NTg3LgoJICBQYXlsb2FkZXIgY3JlYXRlIGZyYWdtZW50cyBvbiBNQiBib3VuZGFyaWVzIGluIG9yZGVyIHRvIG1hdGNoIE1UVSBzaXplCgkgIHRoZSBiZXN0IGl0IGNhbi4gU29tZSBkZWNvZGVycy9kZXBheWxvYWRlcnMgaW4gdGhlIHdpbGQgYXJlIHZlcnkgc3RyaWN0CgkgIGFib3V0IHJlY2VpdmluZyBhIGNvbnRpbnVvdXMgYml0LXN0cmVhbSAoZS5nLiBubyBuby1vcCBiaXRzIGJldHdlZW4KCSAgZnJhbWVzKSwgc28gdGhlIHBheWxvYWRlciB3aWxsIHNoaWZ0IHRoZSBjb21wcmVzc2VkIGJpdC1zdHJlYW0gb2YgYQoJICBmcmFtZSB0byBhbGlnbiB3aXRoIHRoZSBsYXN0IHNpZ25pZmljYW50IGJpdCBvZiB0aGUgcHJldmlvdXMgZnJhbWUuCgkgIERlcGF5bG9hZGVyIGRvZXMgbm90IHRyeSB0byBiZSBmYW5jeSBpbiBjYXNlIG9mIHBhY2tldCBsb3NzLiBJdCBzaW1wbHkKCSAgZHJvcHMgYWxsIHBhY2tldHMgZm9yIGEgZnJhbWUgaWYgdGhlcmUgaXMgYSBsb3NzLCBrZWVwaW5nIGl0IHNpbXBsZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MTg4NgoKMjAxNS0wNy0wMyAxMjoxODo1MiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwbXB2ZGVwYXkuYzoKCSAgcnRwbXB2ZGVwYXk6IERvbid0IGZvcmdldCB0byB1bm1hcCB0aGUgaW5wdXQgYnVmZmVyCgoyMDE1LTA3LTAzIDEyOjE0OjQ3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBtcHZwYXkuYzoKCSAgcnRwbXB2cGF5OiBDcmVhdGUgYnVmZmVyIGxpc3RzIGluc3RlYWQgb2YgcHVzaGluZyBlYWNoIGJ1ZmZlciBpbmRpdmlkdWFsbHkKCjIwMTUtMDctMDMgMTI6MDM6NTkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cG1wYXBheS5jOgoJICBydHBtcGFwYXk6IFVzZSBidWZmZXIgbGlzdHMgaW5zdGVhZCBvZiBwdXNoaW5nIGVhY2ggZnJhZ21lbnQgaW5kaXZpZHVhbGx5CgoyMDE1LTA3LTAzIDEwOjUxOjU3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBtcDRhcGF5LmM6CgkgIHJ0cG1wNGFwYXk6IENyZWF0ZSBidWZmZXIgbGlzdHMgYW5kIGRvbid0IGNvcHkgcGF5bG9hZCBtZW1vcnkKCjIwMTUtMDYtMjkgMTY6MTQ6MTggKzAyMDAgIE1pZ3VlbCBQYXLDrXMgRMOtYXogPG1wYXJpc2RpYXpAZ21haWwuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIHJ0cGppdHRlcmJ1ZmZlcjogQ29uc2lkZXIgdGltZXJzIGxlbiB0byBjb21wYXJlIHdpdGggUlRQX01BWF9EUk9QT1VUCgkgIFdoZW4gdGhlcmUgYXJlIGEgbG90IG9mIHNtYWxsIGdhcHMsIHdlIGNhbiBjb25zaWRlciB0aGF0IHRoZXJlIGlzCgkgIGEgYmlnIGdhcCAodG9vIGxvc3NlcykgdG8gcmVzZXQgdGhlIGJ1ZmZlci4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MTYzNgoKMjAxNS0wNi0yOSAxNTo1Mzo1MiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHBqaXR0ZXJidWZmZXIuYzoKCSAgcnRwaml0dGVyYnVmZmVyOiBJZiBwb3NzaWJsZSwgYWx3YXlzIHVwZGF0ZSB0aGUgY3VycmVudCB0aW1lIGJlZm9yZSBsb29waW5nIG92ZXIgYWxsIHRpbWVycwoJICBJZiB3ZSBoYXZlIGEgY2xvY2ssIHVwZGF0ZSAibm93IiBub3cgd2l0aCB0aGUgdmVyeSBsYXRlc3QgcnVubmluZyB0aW1lIHdlIGhhdmUuCgkgIElmIHRpbWVycyBhcmUgdW5zY2hlZHVsZWQgYmVsb3cgd2Ugb3RoZXJ3aXNlIHdvdWxkbid0IHVwZGF0ZSBub3cgKGl0J3Mgb25seSB1cGRhdGVkCgkgIHdoZW4gdGltZXJzIGV4cGlyZSksIGFuZCBhbHNvIGZvciB0aGUgdmVyeSBmaXJzdCBsb29wIGl0ZXJhdGlvbiBub3cgd291bGQgb3RoZXJ3aXNlCgkgIGFsd2F5cyBiZSAwLgoJICBBbHNvIHRoZSB0aW1lIGlzIHVzZWQgZm9yIHRoZSB0aW1lb3V0IGZ1bmN0aW9ucywgZS5nLiB0byBjYWxjdWxhdGUgYW55IHRpbWVzCgkgIGZvciB0aGUgbmV4dCB0aW1lb3V0cyBhbmQgd2Ugd291bGQgb3RoZXJ3aXNlIHBhc3MgdG9vIG9sZCB0aW1lcyB0aGVyZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MTYzNgoKMjAxNS0wNy0wMiAxNDozNDo1NyArMDEwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpcy5iZ0BzYW1zdW5nLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJ0cmFuc2Zvcm0uYzoKCSAgdjRsMnRyYW5zZm9ybTogZml4IG1lbW9yeSBsZWFrCgkgIHRtcCBuZWVkcyB0byBiZSBmcmVlZCBiZWZvcmUgZ29pbmcgb3V0IG9mIHNjb3BlIGluICdkb25lJy4KCSAgQ0lEICMxMzA4OTU0CgoyMDE1LTA3LTAyIDEyOjIzOjQ1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBoMjYzcHBheS5jOgoJICBydHBoMjYzcHBheTogR2VuZXJhdGUgYnVmZmVyIGxpc3RzIGFuZCBhdHRhY2ggdGhlIHBheWxvYWQgZGlyZWN0bHkgaW5zdGVhZCBvZiBjb3B5aW5nIGl0CgoyMDE1LTA3LTAyIDA5OjQ4OjAyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBoMjYzcGRlcGF5LmM6CgkgIHJ0cGgyNjNwZGVwYXk6IFNpbXBsaWZ5IGNvZGUgYSBiaXQgYW5kIGRvIGxlc3MgZGlyZWN0IG1lbWNweSBhbmQgbGV0IEdzdEJ1ZmZlciBkbyB0aGF0IGZvciB1cwoKMjAxNS0wNy0wMiAwOToxNzo1OSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2M3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNwYXkuaDoKCSAgcnRwaDI2M3BheTogU3RvcCB1c2luZyBhbiBhZGFwdGVyIGFuZCBkaXJlY3RseSB1c2UgdGhlIGJ1ZmZlcgoJICBXZSBhbHdheXMgcHVzaGVkIG9uZSBidWZmZXIgaW50byB0aGUgYWRhcHRlciwgdGhlbiBoYW5kbGVkIGV4YWN0bHkgdGhhdCBvbmUKCSAgYnVmZmVyIGFuZCBmbHVzaGVkIGl0IGZyb20gdGhlIGFkYXB0ZXIuIE5vdyBhbHNvIGRvbid0IG1lbWNweSgpIHRoZSBhY3R1YWwKCSAgcGF5bG9hZCBidXQganVzdCBhdHRhY2ggdGhlIGlucHV0IGJ1ZmZlcidzIGRhdGEgdG8gdGhlIG91dHB1dCBidWZmZXIuCgkgIFRoaXMgY29kZSBzdGlsbCBuZWVkcyBzb21lIHNlcmlvdXMgcmVmYWN0b3JpbmcvcmV3cml0aW5nLgoKMjAxNS0wNy0wMSAyMTo1NzoyOCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwZ3NtcGF5LmM6CgkgIHJ0cGdzbXBheTogUmVtb3ZlIG5vbi1leGlzdGluZyBpbmNsdWRlcyBmb3Igbm93CgkgIGdpdCBhZGQgLXAgbWlzdGFrZS4KCjIwMTUtMDctMDEgMTk6Mjk6MDcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGdzdHBheS5jOgoJICBydHBnc3RwYXk6IFVzZSB0aGUgcmV0dXJuIHZhbHVlIG9mIGdzdF9idWZmZXJfYXBwZW5kKCkKCjIwMTUtMDctMDEgMTk6MTk6MTMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGdzbXBheS5jOgoJICBydHBnc21wYXk6IEF0dGFjaCBwYXlsb2FkIHRvIHRoZSBvdXRwdXQgYnVmZmVyIGluc3RlYWQgb2YgY29weWluZyBpdAoKMjAxNS0wNy0wMSAxNzo1ODo1NiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwZzcyOXBheS5jOgoJICBydHBnNzI5cGF5OiBBdHRhY2ggcGF5bG9hZCBkaXJlY3RseSB0byBvdXRwdXQgYnVmZmVycyBpbnN0ZWFkIG9mIGNvcHlpbmcKCjIwMTUtMDctMDEgMTc6NDM6NTEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjNwYXkuYzoKCSAgcnRwZzcyM3BheTogQXR0YWNoIHBheWxvYWQgYnVmZmVyIHRvIHRoZSBvdXRwdXQgaW5zdGVhZCBvZiBjb3B5aW5nCgoyMDE1LTA3LTAxIDE3OjMwOjM5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBkdmRlcGF5LmM6CgkgIHJ0cGR2ZGVwYXk6IE1hcCB0aGUgb3V0cHV0IGJ1ZmZlciBvbmNlIGluc3RlYWQgb2Ygb25jZSBldmVyeSA4MCBieXRlcwoKMjAxNS0wNy0wMSAyMTo0Njo0NiArMDkwMCAgSmltbXkgT2huIDx5b25namluLm9obkBsZ2UuY29tPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICBhdmlkZW11eDogZml4IHJldHVybiB0eXBlIG9mIGluZGV4X2VudHJ5X29mZnNldF9zZWFyY2goKQoJICBJdCdzIGEgY29tcGFyZSBmdW5jdGlvbiBhbmQgbWF5IHJldHVybiBhIG5lZ2F0aXZlIHZhbHVlLAoJICBzbyBzaG91bGQgZm9yIGNvcnJlY3RuZXNzIGFuZCBjb25zaXN0ZW5jeSByZXR1cm4gYSBzaWduZWQKCSAgaW50ZWdlci4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MTc4MAoKMjAxNS0wNy0wMSAxNDoxMjo1NyArMDIwMCAgTWlndWVsIFBhcsOtcyBEw61heiA8bXBhcmlzZGlhekBnbWFpbC5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgcnRwaml0dGVyYnVmZmVyOiByZWZhY3RvciBoYW5kbGVfbmV4dF9idWZmZXIKCSAgVGhlIGdvYWwgb2YgdGhpcyBwYXRjaCBpcyBtYWtpbmcgaGFuZGxlX25leHRfYnVmZmVyIGZ1bmN0aW9uCgkgIG1vcmUgcmVhZGFibGUgYXZvaWRpbmcgdW5uZWNlc2FyeSBnb3RvcyBhbmQgYWRkaW5nIG90aGVyCgkgIGNvc21ldGljIGNoYW5nZXMuCgoyMDE1LTA3LTAxIDE1OjQwOjI1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBhYzNwYXkuYzoKCSAgcnRwYWMzcGF5OiBBdHRhY2ggdGhlIHBheWxvYWQgdG8gdGhlIG91dHB1dCBidWZmZXIgaW5zdGVhZCBvZiBjb3B5aW5nIGl0CgkgIE1pZ2h0IGFsc28gd2FudCB0byBwcm9kdWNlIGJ1ZmZlciBsaXN0cyBoZXJlIGlmIG5lZWRlZC4KCjIwMTUtMDctMDEgMTU6Mzg6NDcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGlsYmNkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHNpcmVuZGVwYXkuYzoKCSAgcnRwOiBGaXggaW5kZW50aW9uCgoyMDE1LTA3LTAxIDEyOjM3OjExICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvcnRwL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9leGFtcGxlcy9ydHAvY2xpZW50LVZQOC1PUFVTLnNoOgoJKiB0ZXN0cy9leGFtcGxlcy9ydHAvc2VydmVyLVZUUy1WUDgtQVRTLU9QVVMuc2g6CgkgIHJ0cDogQWRkIGV4YW1wbGVzIHdpdGggVlRTL0FUUyBmb3IgVlA4L09QVVMKCSAgTGV0J3MgaGF2ZSBhbiBleGFtcGxlIHdpdGggbW9kZXJuIGNvZGVjcy4KCjIwMTUtMDYtMzAgMTg6MTE6MzMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRwYXkuYzoKCSAgcnRwaDI2NHBheTogVXNlIEdTVF9XQVJOSU5HX09CSkVDVCgpIGluc3RlYWQgb2YgR1NUX1dBUk5JTkcoKQoKMjAxNS0wNi0zMCAxNDowNjoyMCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwdnA4ZGVwYXkuYzoKCSAgdnA4ZGVwYXk6IERvbid0IGxvY2svbWFwIGV2ZXJ5IG5vbi1rZXlmcmFtZSBidWZmZXIgdHdpY2UKCSAgSnVzdCBjb3B5IHRoZSBjb21wbGV0ZSBoZWFkZXIgaW5zdGVhZCBvZiBmaXJzdCBsb29raW5nIGF0IHRoZSBmaXJzdCBieXRlCgkgIGFuZCB0aGVuIGF0IHRoZSByZW1haW5pbmcgMTAgYnl0ZXMuCgoyMDE1LTA2LTI5IDE2OjA1OjQ0ICswMTAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzQGRlYmV0aGVuY291cnQuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICB2NGwyOiBkb2N1bWVudCBmYWxsdGhyb3VnaCBjYXNlcwoJICBQYWNpZnkgY292ZXJpdHkgYW5kIGRvY3VtZW50IGZhbGx0aHJvdWdoIGNhc2VzIGluIHN3aXRjaCBzdGF0ZW1lbnRzLgoJICBDSUQgIzEzMDg5NDgsICMxMzA4OTQ3LCAjMTMwODk0NgoKMjAxNS0wNi0yOSAxMDozNjo1OCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBSZXZlcnQgInJ0cGppdHRlcmJ1ZmZlcjogSWYgd2UgaGF2ZSBhbiBpbW1lZGlhdGUgdGltZW91dCwgZG9uJ3QgdHJ5IHRvIGZpbmQgYW4gZWFybGllciB0aW1lb3V0IgoJICBUaGlzIHJldmVydHMgY29tbWl0IDBjMjFjZDcxNzdlYTg4M2M3MTA5OTkxNDdkZGNlZGIxOTAwNGQxODIuCgkgIElmIHdlIGhhdmUgbXVsdGlwbGUgaW1tZWRpYXRlIHRpbWVycywgd2Ugd2FudCB0byBmaXJzdCBoYW5kbGUgdGhlIG9uZSB3aXRoIHRoZQoJICBsb3dlc3Qgc2VxdWVuY2UgbnVtYmVyLi4uIHdoaWNoIHdvdWxkIGJlIGJyb2tlbiBub3cuCgkgIEluc3RlYWQgb2YgdGhpcyB3ZSBzaG91bGQganVzdCB1c2UgYSBHU2VxdWVuY2UgZm9yIHRoZSB0aW1lcnMsIGFuZCBoYXZlIHRoZW0KCSAgc29ydGVkIGZpcnN0IGJ5IHRpbWVzdGFtcCwgYW5kIGZvciBlcXVhbCB0aW1lc3RhbXBzIGJ5IHNlcXVlbmNlIG51bWJlci4gVGhlbgoJICB3ZSB3b3VsZCBhbHdheXMgb25seSBoYXZlIHRvIHRha2UgdGhlIHZlcnkgZmlyc3QgdGltZXIgZnJvbSB0aGUgbGlzdCBhbmQgbmV2ZXIKCSAgaGF2ZSB0byBsb29rIGF0IGFueSBvdGhlcnMuCgoyMDE1LTA2LTI5IDEwOjE0OjA1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIHJ0cGppdHRlcmJ1ZmZlcjogSWYgd2UgaGF2ZSBhbiBpbW1lZGlhdGUgdGltZW91dCwgZG9uJ3QgdHJ5IHRvIGZpbmQgYW4gZWFybGllciB0aW1lb3V0CgkgIElmIHdlIGhhdmUgbG90cyBvZiBzdWNoIGltbWVkaWF0ZSB0aW1lb3V0cywgd2Ugd291bGQgb3RoZXJ3aXNlIGhhdmUgcXVhZHJhdGljCgkgIHJ1bnRpbWUgaW4gdGhlIG51bWJlciBvZiB0aW1lb3V0cy4KCjIwMTUtMDYtMTkgMTg6MDE6MDMgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC9tdWx0aWZpbGUvZ3N0c3BsaXRtdXhzcmMuYzoKCSAgc3BsaXRtdXhzcmM6IHN0aWNreSBldmVudHMgYXJlIHNlbnQgYXV0b21hdGljYWxseSBmcm9tIHRoZSBwYWQKCSAgTm8gbmVlZCB0byBzZW5kIHRoZW0gZXhwbGljaXRseSBmcm9tIHRoZSBlbGVtZW50CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTEyNDAKCjIwMTUtMDYtMTkgMTg6MDA6NDAgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC9tdWx0aWZpbGUvZ3N0c3BsaXRtdXhzcmMuYzoKCSAgc3BsaXRtdXhzcmM6IG1ha2Ugc3VyZSB0byBwdXNoIHN0aWNreSBldmVudHMgYmVmb3JlIGFkZGluZyBwYWQKCSAgSXQgYWxsb3dzIHRoZSBjYXBzIHRvIGJlIHNldCBvbiB0aGUgcGFkIGJlZm9yZSBiZWluZyBhZGRlZCBmb3IKCSAgZHluYW1pYyBhdXRvcGx1Z2dpbmcgdG8gd29yay4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MTI0MAoKMjAxNS0wNi0yNiAwMDowNToyOSArMDkwMCAgSHl1bmp1biBLbyA8enpvb24ua29Ac2Ftc3VuZy5jb20+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuaDoKCSAgcnRzcHNyYzogQWRkIG5ldyBudHAtdGltZS1zb3VyY2UgcHJvcGVydHkgYW5kIGRlcHJlY2F0ZSB1c2UtcGlwZWxpbmUtY2xvY2sgcHJvcGVydHkKCSAgRW5hYmxlIHRvIHVzZSBuZXcgbnRwLXRpbWUtc291cmNlIHByb3BlcnR5IG9mIHJ0cGJpbgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUxNDk2CgoyMDE1LTA2LTI1IDIzOjE5OjU4ICswOTAwICBIeXVuanVuIEtvIDx6em9vbi5rb0BzYW1zdW5nLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6CgkgIHJ0cGJpbi9zZXNzaW9uOiBmaXggZGVzY3JpcHRpb24KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MTQ5NgoKMjAxNS0wNi0yNSAxMDo1NzoyNSArMDEwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpc2JnQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC9pbWFnZWZyZWV6ZS9nc3RpbWFnZWZyZWV6ZS5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSogdGVzdHMvZXhhbXBsZXMvc2hhcGV3aXBlL3NoYXBld2lwZS1leGFtcGxlLmM6CgkgIGRvY3M6IGRlY29kZWJpbjIgLT4gZGVjb2RlYmluCgoyMDE1LTA2LTI1IDEwOjQ3OjA2ICswMTAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzYmdAb3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmM6CgkgIGRlaW50ZXJsYWNlOiB1cGRhdGUgZXhhbXBsZSBwaXBlbGluZQoJICBVcGRhdGUgcmVmZXJlbmNlIHRvIGRlY29kZWJpbjIgdG8gZGVjb2RlYmluCgoyMDE1LTA2LTI1IDEwOjQ1OjM1ICswMTAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzYmdAb3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmM6CgkgIGRlaW50ZXJsYWNlOiByZW1vdmUgZGVhZCBhc3NpZ25tZW50cwoJICBWYWx1ZXMgaW4gZmllbGRzX3JlcXVpcmVkIGFuZCBzYW1lX2J1ZmZlciBhcmUgb3ZlcndyaXR0ZW4gYmVmb3JlIHVzZWQuIFJlbW92aW5nCgkgIGFzc2lnbm1lbnQKCjIwMTUtMDYtMjUgMTA6MDY6MDcgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBleHQvTWFrZWZpbGUuYW06CgkqIGV4dC9taWttb2QvTWFrZWZpbGUuYW06CgkqIGV4dC9taWttb2QvUkVBRE1FOgoJKiBleHQvbWlrbW9kL2Rydl9nc3QuYzoKCSogZXh0L21pa21vZC9nc3RtaWttb2QuYzoKCSogZXh0L21pa21vZC9nc3RtaWttb2QuaDoKCSogZXh0L21pa21vZC9taWttb2RfcmVhZGVyLmM6CgkqIGV4dC9taWttb2QvbWlrbW9kX3R5cGVzLmM6CgkqIGV4dC9taWttb2QvbWlrbW9kX3R5cGVzLmg6CgkqIG00L01ha2VmaWxlLmFtOgoJKiBtNC9saWJtaWttb2QubTQ6CgkqIHdpbjMyL01BTklGRVNUOgoJKiB3aW4zMi92czgvbGliZ3N0bWlrbW9kLnZjcHJvajoKCSAgbWlrbW9kOiByZW1vdmUgYW5jaWVudCB1bnBvcnRlZCBwbHVnaW4KCSAgVGhpcyBoYXNuJ3QgYmVlbiB0b3VjaGVkIGluIDExIHllYXJzLCBhbmQKCSAgY2xlYXJseSBubyBvbmUncyBiZWVuIG1pc3NpbmcgaXQuCgoyMDE1LTA2LTIzIDIwOjE1OjEzICswOTAwICBHaWxib2sgTGVlIDxnaWxib2subGVlQHNhbXN1bmcuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IGRvZXMgbm90IGRldGVjdCBvcmllbnRhdGlvbgoJICBNb3N0IGZpbGVzIGRvbid0IGNvbnRhaW4gdGhlIHZhbHVlcyBmb3IgdHJhbnNwb3NpbmcgdGhlIGNvb3JkaW5hdGVzCgkgIGJhY2sgdG8gdGhlIHBvc2l0aXZlIHF1YWRyYW50IHNvIHF0ZGVtdXggd2FzIGlnbm9yaW5nIHRoZSByb3RhdGlvbgoJICB0YWcuIFRvIGJlIGFibGUgdG8gcHJvcGVybHkgaGFuZGxlIHRob3NlIGZpbGVzIHF0ZGVtdXggd2lsbCBhbHNvIGlnbm9yZQoJICB0aGUgdHJhbnNwb3NpbmcgdmFsdWVzIHRvIG9ubHkgZGV0ZWN0IHRoZSByb3RhdGlvbiB1c2luZyB0aGUgdmFsdWVzCgkgIGFiZGUgZnJvbSB0aGUgdHJhbnNmb3JtYXRpb24gbWF0cml4OgoJICBbYSBiIGNdCgkgIFtkIGUgZl0KCSAgW2cgaCBpXQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM4NjgxCgoyMDE1LTA2LTI1IDAwOjA0OjE2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogY29uZmlndXJlLmFjOgoJICBCYWNrIHRvIGRldmVsb3BtZW50Cgo9PT0gcmVsZWFzZSAxLjUuMiA9PT0KCjIwMTUtMDYtMjQgMjM6MzA6NDEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBDaGFuZ2VMb2c6CgkqIE5FV1M6CgkqIFJFTEVBU0U6CgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLTEzOTQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWFzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGFjb2xvci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hcGV0YWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9meC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb3BhcnNlcnMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvZGV0ZWN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF2aS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWNhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWlyby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jdXR0ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVpbnRlcmxhY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRtZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmZlY3R2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVxdWFsaXplci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbGFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHhkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2RrcGl4YnVmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbTJrMS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pY3lkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pZDNkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbWFnZWZyZWV6ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlcmxlYXZlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlzb21wNC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwZWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGV2ZWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWF0cm9za2EueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlmaWxlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpcGFydC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uYXZpZ2F0aW9udGVzdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3M0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zc2F1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBuZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wdWxzZWF1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlcGxheWdhaW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cG1hbmFnZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRzcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaGFwZXdpcGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hvdXQyc2VuZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbXB0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWN0cnVtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXRhZ2xpYi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi11ZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW80bGludXgyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvYm94LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvY3JvcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2ZpbHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb21peGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZweC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14aW1hZ2VzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teTRtZW5jLnhtbDoKCSogZ3N0LXBsdWdpbnMtZ29vZC5kb2FwOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIFJlbGVhc2UgMS41LjIKCjIwMTUtMDYtMjQgMjI6NTY6MTIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBwby9hZi5wbzoKCSogcG8vYXoucG86CgkqIHBvL2JnLnBvOgoJKiBwby9jYS5wbzoKCSogcG8vY3MucG86CgkqIHBvL2RhLnBvOgoJKiBwby9kZS5wbzoKCSogcG8vZWwucG86CgkqIHBvL2VuX0dCLnBvOgoJKiBwby9lby5wbzoKCSogcG8vZXMucG86CgkqIHBvL2V1LnBvOgoJKiBwby9maS5wbzoKCSogcG8vZnIucG86CgkqIHBvL2dsLnBvOgoJKiBwby9oci5wbzoKCSogcG8vaHUucG86CgkqIHBvL2lkLnBvOgoJKiBwby9pdC5wbzoKCSogcG8vamEucG86CgkqIHBvL2x0LnBvOgoJKiBwby9sdi5wbzoKCSogcG8vbXQucG86CgkqIHBvL25iLnBvOgoJKiBwby9ubC5wbzoKCSogcG8vb3IucG86CgkqIHBvL3BsLnBvOgoJKiBwby9wdF9CUi5wbzoKCSogcG8vcm8ucG86CgkqIHBvL3J1LnBvOgoJKiBwby9zay5wbzoKCSogcG8vc2wucG86CgkqIHBvL3NxLnBvOgoJKiBwby9zci5wbzoKCSogcG8vc3YucG86CgkqIHBvL3RyLnBvOgoJKiBwby91ay5wbzoKCSogcG8vdmkucG86CgkqIHBvL3poX0NOLnBvOgoJKiBwby96aF9ISy5wbzoKCSogcG8vemhfVFcucG86CgkgIFVwZGF0ZSAucG8gZmlsZXMKCjIwMTUtMDYtMjQgMTE6MTU6MDAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBwby9ubC5wbzoKCSAgcG86IFVwZGF0ZSB0cmFuc2xhdGlvbnMKCjIwMTUtMDYtMjMgMTg6NDI6NTkgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3F0bXV4LmM6CgkgIHF0bXV4OiBDb3JyZWN0bHkgdGVzdCBlYWNoIHNlZ21lbnRzCgkgIEluIHByZXNlbmNlIG9mIGdhcHMsIHF0ZGVtdXggd2lsbCBlbWl0IG11bHRpcGxlIHNlZ21lbnRzLiBUaGUKCSAgc2Vjb25kIHNlZ21lbnQgc3RhcnQgc2hvdWxkIG1hdGNoIHRoZSBDVFRTLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUxMzYxCgoyMDE1LTA2LTIzIDE3OjU0OjMxIC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4LmM6CgkqIGdzdC9pc29tcDQvZ3N0cXRtdXguaDoKCSAgcXRtdXg6IENvcnJlY3RseSBjYWxjdWxhdGUgdGhlIGVsc3QgbWVkaWEgc3RhcnQKCSAgVGhlIG1lZGlhIHN0YXJ0IGhhcyBub3RoaW5nIHRvIGRvIHdpdGggdGhlIHNoaWZ0IHdlIGhhdmUgYXBwbGllZAoJICBidXQgd2l0aCB0aGUgdmFsdWUgb2YgdGhlIGZpcnN0IFBUUy4gVGhpcyBpcyBkZWZpbmVkIGFzOgoJICBEdCgwKSA9IDAKCSAgQ3QoMCkgPSBEdCgwKSArIENUVFMoMCkKCSAgU28gdGhlIG1lZGlhIHN0YXJ0IGlzIGFsd2F5cyB0aGUgZmlyc3QgQ1RUUy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MTM2MQoKMjAxNS0wNi0yMyAxMTo0OTozMiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IGFjY3VtdWxhdGUgcHJldmlvdXMgZWR0cyBlbnRyaWVzIGludG8gc2VnbWVudC5iYXNlCgkgIEFsbG93cyBwbGF5aW5nIGVkdHMgZWRpdHRlZCBmaWxlcyB3aXRoIHByb3BlciBzeW5jaHJvbml6YXRpb24gb2YKCSAgc3RyZWFtcy4gVGhpcyBwYXRjaCBmaXhlcyB0aGUgcmVncmVzc2lvbiBpbnRyb2R1Y2VkIGJ5CgkgIGJmOTVmOTNjMDE4OWFhMDRmMThlMjY0Yjg2YjY1MjdlNDMxYzVkNTMgdGhhdCB3YXMgYWRkZWQgdG8gZml4CgkgIHNlZ21lbnQgc2Vla3MgaGFuZGxpbmcuCgkgIEhhdmluZyB0aGUgYWNjdW11bGF0ZWRfYmFzZSBzZXBhcmF0ZWQgZnJvbSB0aGUgbWFpbiBzZWdtZW50LmJhc2UKCSAgYWxsb3dzIGhhbmRsaW5nIGJvdGggc2VnbWVudCBzZWVrcyBhbmQgZWR0cyBlZGl0dGVkIGZpbGVzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUxMzYxCgoyMDE1LTA2LTIzIDAwOjU2OjE2IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogaW1wcm92ZSBzb21lIGRlYnVnIG1lc3NhZ2VzCgkgIFRob3NlIG1lc3NhZ2VzIGFyZSBhYm91dCB0aGUgc3RyZWFtLCB1c2UgdGhlIHBhZCBhcyB0aGUKCSAgZGVidWcgb2JqZWN0IHRvIG1ha2UgaXQgY2xlYXIgZnJvbSB0aGUgbG9ncwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUxMzYxCgoyMDE1LTA2LTIyIDIyOjIyOjA5IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBzdG9yZSBsYXN0X2R0cyBvZiB0aGUgZmlyc3QgYnVmZmVyCgkgIEJ1ZmZlcnMgbmVlZCBub3QgdG8gc3RhcnQgYXQgcnVubmluZy10aW1lIDAgc28gdGhlIGxhc3RfZHRzIG5lZWRzCgkgIHRvIGJlIHRoZSB2YWx1ZSBvZiB0aGUgZmlyc3QgYnVmZmVyJ3MgZHRzIGFzIGl0IGlzIHVzZWQgdG8gY29tcHV0ZQoJICB0aGUgZHVyYXRpb24gb2YgdGhlIGJ1ZmZlcnMuIElmIGl0IHdhcyBsZWZ0IGF0IDAgdGhlIGZpcnN0IGJ1ZmZlcgoJICB3b3VsZCBoYXZlIGEgbGFyZ2VyIGR1cmF0aW9uIHdoZW4gaXQgc2hvdWxkbid0CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTEzNjEKCjIwMTUtMDYtMjMgMTc6MTE6NTcgKzA5MDAgIFZpbmVldGggVE0gPHZpbmVldGgudG1Ac2Ftc3VuZy5jb20+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5jOgoJICBmbGFjcGFyc2U6IGZpeCBwb3NzaWJsZSBtZW1vcnkgbGVhawoJICB3aGVuIGJ1ZmZlciBpcyBzdG9yZWQgdG8gc2Vla3RhYmxlLCBhbmQgc3RvcCBnZXRzIGNhbGxlZCBkdWUgdG8KCSAgY29ycnVwdCBmbGFjIGZpbGUsIHRoZW4gdGhlIHNlZWt0YWJsZSBpcyBub3QgYmVpbmcgcmVsZWFzZWQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MTM2NAoKMjAxNS0wNi0yMyAxNjoyODo0MCArMTAwMCAgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbXVsdGlmaWxlL2dzdHNwbGl0bXV4c2luay5jOgoJKiBnc3QvbXVsdGlmaWxlL2dzdHNwbGl0bXV4c2luay5oOgoJICBSZXZlcnQgInNwbGl0bXV4c2luazogTWFzayBhc3luYy1zdGFydC9kb25lIHdoaWxlIHN3aXRjaGluZyBmaWxlcy4iCgkgIFRoaXMgcmV2ZXJ0cyBjb21taXQgZDYxZTUzOTNmMTEwZWQ0ODI4MTVkNzc4MDcyNDVkNzhiNTJlZmY0Ni4KCSAgQ2F1c2VzIGZhaWx1cmVzIG11eGluZyBsYXJnZXIgR09QIHNpemVzIGZvciBzb21lIHJlYXNvbi4gUmV2ZXJ0aW5nCgkgIHdoaWxlIEkgZmlndXJlIGl0IG91dAoKMjAxNS0wNi0xOCAyMzoyMjowNiArMTAwMCAgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbXVsdGlmaWxlL2dzdHNwbGl0bXV4cGFydHJlYWRlci5jOgoJKiBnc3QvbXVsdGlmaWxlL2dzdHNwbGl0bXV4c3JjLmM6CgkgIHNwbGl0bXV4c3JjOiBGaXggc3RhcnR1cCBhbmQgc2h1dGRvd24gcmFjZXMuCgkgIEZpeCAyIHN0YXJ0dXAgcmFjZXMgd2hlbiB0aGluZ3MgaGFwcGVuIHRvbyBxdWlja2x5LCBhbmQgMQoJICBhdCBzaHV0ZG93biBieSBob2xkaW5nIGEgcmVmIHRvIHRoZSBwYWRzIGluIHVzZSB1bnRpbCB0aGUKCSAgbG9vcCBmdW5jdGlvbnMgZXhpdC4KCSAgSGFuZGxlIGVycm9ycyBhY3RpdmF0aW5nIGZpbGUgcGFydHMgYW5kIHB1Ymxpc2ggdGhlbSBvbgoJICB0aGUgYnVzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUwNzQ3CgoyMDE1LTA2LTE4IDA5OjI2OjEzICsxMDAwICBKYW4gU2NobWlkdCA8amFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9tdWx0aWZpbGUvZ3N0c3BsaXRtdXhzaW5rLmM6CgkqIGdzdC9tdWx0aWZpbGUvZ3N0c3BsaXRtdXhzaW5rLmg6CgkgIHNwbGl0bXV4c2luazogTWFzayBhc3luYy1zdGFydC9kb25lIHdoaWxlIHN3aXRjaGluZyBmaWxlcy4KCSAgU29tZXRpbWVzLCBleHRyYSBhc3luYy1zdGFydC9kb25lIGZyb20gdGhlIGludGVybmFsIHNpbmsKCSAgd2hpbGUgdGhlIGVsZW1lbnQgaXMgc3RpbGwgc3RhcnRpbmcgdXAgY2FuIGNhdXNlIHNwbGl0bXV4c2luawoJICB0byBzdGFsbCBpbiBQQVVTRUQgc3RhdGUgd2hlbiBpdCBoYXMgYmVlbiBzZXQgdG8gUExBWUlORwoJICBieSB0aGUgYXBwLiBEcm9wIHRoZSBjaGlsZCdzIGFzeW5jLXN0YXJ0L2RvbmUgbWVzc2FnZXMgd2hpbGUKCSAgc3dpdGNoaW5nLCBzbyB0aGV5IGRvbid0IGNhdXNlIHN0YXRlIGNoYW5nZXMgYXQgdGhlCgkgIHNwbGl0bXV4c2luayBsZXZlbC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MDc0NwoKMjAxNS0wNi0xNSAxNjoxMjoxMCArMTAwMCAgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2EtZGVtdXg6IFVzZSBnc3RfdmlkZW9fbXVsdGl2aWV3X2d1ZXNzX2hhbGZfYXNwZWN0KCkKCSAgVXNlIHRoZSBnc3RfdmlkZW9fbXVsdGl2aWV3X2d1ZXNzX2hhbGZfYXNwZWN0KCkgdXRpbGl0eSBmdW5jdGlvbgoJICB0byBzZXQgdGhlIGhhbGYtYXNwZWN0IGZsYWcgKG9yIG5vdCkgb24gc3RlcmVvc2NvcGljIGZyYW1lLXBhY2tlZAoJICB2aWRlb3MuCgoyMDE1LTA2LTE1IDE2OjEwOjM3ICsxMDAwICBKYW4gU2NobWlkdCA8amFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBNb3ZlIG11bHRpdmlldyBjYXBzIGNhbGN1bGF0aW9ucywgYWRkIGhhbGYtYXNwZWN0IGhldXJpc3RpY3MKCSAgTW92ZSB0aGUgbXVsdGl2aWV3IGNhcHMgY2FsY3VsYXRpb25zIHRvIHRoZSBjb25maWd1cmVfc3RyZWFtKCkKCSAgZnVuY3Rpb24sIHNvIHRoZSByZXN0IG9mIHRoZSB2aWRlbyBpbmZvIGlzIGF2YWlsYWJsZSwgYW5kCgkgIHVzZSB0aGUgZ3N0X3ZpZGVvX211bHRpdmlld19ndWVzc19oYWxmX2FzcGVjdCgpIGZ1bmN0aW9uIHRvCgkgIGRldGVybWluZSBpZiB0aGUgaGFsZi1hc3BlY3QgZmxhZyBzaG91bGQgYmUgc2V0IG9uIGZyYW1lLXBhY2tlZAoJICB2aWRlby4KCjIwMTUtMDYtMTggMTY6MDY6MDIgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBBZGQgY3NsZyBzdXBwb3J0CgkgIFRoZSBjc2xnIGF0b20gcHJvdmlkZSBpbmZvcm1hdGlvbiBhYm91dCB0aGUgRFRTIHNoaWZ0LiBUaGlzIGlzCgkgIG5lZWRlZCBpbiByZWNlbnQgdmVyc2lvbiBvZiBjdHRzIGF0b20gd2hlcmUgdGhlIG9mZnNldCBjYW4gYmUKCSAgbmVnYXRpdmUuIFdoZW4gY3NsZyBpcyBtaXNzaW5nLCB3ZSBwYXJzZSB0aGUgQ1RUUyB0YWJsZSBhcyBwcm9wb3NlZAoJICBpbiB0aGUgc3BlYyB0byBjYWxjdWxhdGUgdGhlc2UgdmFsdWVzLgoJICBJbiB0aGlzIGltcGxlbWVudGF0aW9uLCB3ZSBvbmx5IG5lZWQgdG8ga25vdyB0aGUgc2hpZnQuIEFzIEdTdHJlYW1lcgoJICBjYW5ub3QgdHJhbnNwb3J0IG5lZ2F0aXZlIHRpbWVzdGFtcHMsIHdlIHNoaWZ0IHRoZSB0aW1lc3RhbXBzIGZvcndhcmQKCSAgdXNpbmcgdGhhdCB2YWx1ZSBhbmQgYWRhcHQgdGhlIHNlZ21lbnQgdG8gY29tcGVuc2F0ZS4gVGhpcyBwYXRjaCBhbHNvCgkgIHJlbW92ZXMgYm9ndXMgb2Zmc2V0IG9mIGN0dHNfc29mZnNldCwgdGhpcyBvZmZzZXQgc2hhbGwgYmUgaW5jbHVkZWQKCSAgaW4gdGhlIGVkaXQgbGlzdC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MTEwMwoKMjAxNS0wNi0xOSAxODozNzo1OSAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcXRtdXguYzoKCSAgcXRtdXg6IFRlc3QgZ2FwcyBhdCBzdGFydCBvZiBzdHJlYW0KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MTI0MgoKMjAxNS0wNi0xOSAxODo0MDo0MyAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2lzb21wNC9nc3RxdG11eC5jOgoJICBxdG11eDogVXNlIFBUUyB0byBmaWd1cmUtb3V0IHByZXNlbmNlIG9mIGdhcHMKCSAgV2UgbmVlZCB0byBsb29rIGF0IHRoZSBwcmVzZW50YXRpb24gdGltZXN0YW1wIGluIG9yZGVyIHRvIGNvbmNsdWRlIGlmCgkgIHRoZXJlIGlzIGEgZ2FwIGF0IHRoZSBzdGFydCBvZiBhIHN0cmVhbS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MTI0MgoKMjAxNS0wNi0xOSAxNjo0NTowMiAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2lzb21wNC9nc3RxdG11eC5jOgoJICBxdG11eDogU2V0IGVkaXQgbGlzdCB0byBjb21wZW5zYXRlIERUUyBzaGlmdAoJICBXZSBzaGlmdCBEVFMgZm9yd2FyZCB0byBhdm9pZCBuZWdhdGl2ZSB0aW1lc3RhbXBzIHdoaWNoIGNhbm5vdCBiZQoJICByZXByZXNlbnRlZCB3aXRoIHZlcnNpb24gMCBvZiB0aGUgQ1RUUyB0YWJsZS4gVG8gc3RpY2sgd2l0aCB0aGF0CgkgIHZlcnNpb24gKGJhY2t3YXJkIGNvbXBhdGliaWxpdHkpLCB0aGUgc3BlYyByZWNvbW1lbmQgdXNpbmcgYW4KCSAgZWRpdCBsaXN0IGVudHJ5IHRvIG1vdmUgYmFjayB0aGUgcHJlc2VudGF0aW9uIHRpbWUgdG8gd2hlcmUgaXQKCSAgc2hvdWxkIGJlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUxMjQyCgoyMDE1LTA2LTIyIDE0OjM1OjUyIC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9mbHYvZ3N0Zmx2bXV4LmM6CgkgIGZsdm11eDogSW5zZXJ0IEFWQyBlbmQgb2Ygc2VxdWVuY2UKCSAgVGhpcyBGTFYgc3BlY2lmaWMgbWFyayBpcyBuZWVkZWQgdG8gcHJldmVudCBGbG93IFBsYXllciAobW9zdCBsaWtlbHkKCSAgYWxsIEZsYXNoIGJhc2UgcGxheWVyKSBmcm9tIGdvaW5nIGludG8gYnVmZmVyaW5nIHN0YXRlIHdoZW4gbmVhciBFT1MuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTEzMjAKCjIwMTUtMDYtMjIgMTM6MDU6MjkgKzA5MDAgIFZpbmVldGggVE0gPHZpbmVldGgudG1Ac2Ftc3VuZy5jb20+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXBhcnNlLmM6CgkgIG1hdHJvc2thOiByZW1vdmUgdXNlbGVzcyBjaGVjawoJICBObyBuZWVkIHRvIGNoZWNrIGZvciBjb250ZXh0IGF2YWlsYWJpbGl0eSB3aGlsZSBmcmVlaW5nLiBXZSBhcmUgaW5zaWRlCgkgIGluc2lkZSBhIGNvZGUgYmxvY2sgd2l0aCBhIGNvbmRpdGlvbiB0aGF0IGRlcmVmZXJlbmNlcyBjb250ZXh0LgoJICBpZiAoY29udGV4dC0+dHlwZSA9PSAwIC4uLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUxMzA2CgoyMDE1LTA2LTIyIDE5OjM1OjU3ICswOTAwICBWaW5lZXRoIFQgTSA8dmluZWV0aC50bUBzYW1zdW5nLmNvbT4KCgkqIGdzdC9tYXRyb3NrYS9sem8uYzoKCSAgbHpvOiBmaXggbWVtb3J5IGxlYWsKCSAgdGhlIG9wZW5lZCBmaWxlIGlzIG5vdCBiZWluZyBjbG9zZWQgZHVyaW5nIHRlc3QsIHdoaWNoIHdpbGwgcmVzdWx0CgkgIGluIG1lbW9yeSBsZWFrLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUxMzA2CgoyMDE1LTA2LTIyIDE5OjMwOjU4ICswOTAwICBWaW5lZXRoIFQgTSA8dmluZWV0aC50bUBzYW1zdW5nLmNvbT4KCgkqIGV4dC9taWttb2QvbWlrbW9kX3JlYWRlci5jOgoJICBtaWttb2RfcmVhZGVyOiBQb3NzaWJsZSBudWxsIHBvaW50ZXIgZGVyZWZlcmVuY2U6CgkgIGdzdF9yZWFkZXIgdmFyaWFibGUgaXMgYmVpbmcgdXNlZCBiZWZvcmUgYWN0dWFsbHkgY2hlY2tpbmcgaWYgaXQKCSAgYWxsb2NhdGVkIHByb3Blcmx5CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTEzMDYKCjIwMTUtMDYtMjIgMTk6NDU6MTQgKzA5MDAgIFNhbmdreXUgUGFyayA8c2sxMTIyLnBhcmtAc2Ftc3VuZy5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwaml0dGVyYnVmZmVyLmM6CgkgIHJ0cGppdHRlcmJ1ZmZlcjogTWlub3IgY2xlYW4tdXAKCSAgMS4gRml4IHRoZSBjb2RlIHdoaWNoIGlzIHdyb25nIGNvZGluZyBzdHlsZS4KCSAgMi4gRml4IGEgdHlwaW5nIGVycm9yIG9mIGNvbW1lbnQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTEzMTYKCjIwMTUtMDYtMjIgMTE6Mjg6MTMgKzAyMDAgIEpvc2UgQW50b25pbyBTYW50b3MgQ2FkZW5hcyA8c2FudG9zY2FkZW5hc0BnbWFpbC5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuYzoKCSAgcnRwc291cmNlOiBEbyBub3QgdHJ5IHRvIHB1c2ggTlVMTCBidWZmZXJzCgkgIElmIHVwZGF0ZV9yZWNlaXZlcl9zdGF0cygpIGZhaWxzLCB3ZSBjYW4ndCByZWFsbHkgZG8gYW55dGhpbmcgd2l0aCB0aGlzIGJ1ZmZlcgoJICBhbnltb3JlIGFuZCBoYXZlIHRvIGRyb3AgaXQuIFRoaXMgaGFwcGVucyBpZiB0aGVyZSdzIGEgYmlnIHNlcW51bQoJICBkaXNjb250aW51aXR5IGZvciBleGFtcGxlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUxMzExCgoyMDE1LTA2LTIyIDEzOjEwOjAyICswOTAwICBWaW5lZXRoIFRNIDx2aW5lZXRoLnRtQHNhbXN1bmcuY29tPgoKCSogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOgoJICBmbHZkZW11eDogdHJpdmlhbCBjbGVhbnVwCgkgIHRyaXZpYWwgcGF0Y2ggdG8gYWRkIHByb3BlciAoIHdoaWxlIGNoZWNraW5nIGZvciBpZihHX1VOTElLRUxZKCkpCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTEzMDYKCjIwMTUtMDYtMjIgMTM6MTY6MDggKzA5MDAgIFZpbmVldGggVE0gPHZpbmVldGgudG1Ac2Ftc3VuZy5jb20+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGRjYXBhcnNlLmM6CgkgIGRjYXBhcnNlOiBpbml0aWFsaXplIHNpemUgdmFyaWFibGUKCSAgc2l6ZSBjYW4gYmUgdXNlZCBpbiBjbGVhbnVwIHdpdGhvdXQgYmVpbmcgaW5pdGlhbGl6ZWQuIEhlbmNlCgkgIHNldHRpbmcgaXQgdG8gMCB3aGVuIGRlY2xhcmluZwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUxMzA2CgoyMDE1LTA2LTIyIDEzOjEzOjI5ICswOTAwICBWaW5lZXRoIFRNIDx2aW5lZXRoLnRtQHNhbXN1bmcuY29tPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RtcGVnYXVkaW9wYXJzZS5jOgoJICBtcGVnYXVkaW9wYXJzZTogaW5pdGlhbHplIGJwZiB2YXJpYWJsZQoJICBicGYgdmFyaWFibGUgbWlnaHQgYmUgdXNlZCBpbiBjbGVhbnVwIHdpdGhvdXQgYmVpbmcgaW50aWFsaXplZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MTMwNgoKMjAxNS0wNi0xOSAxNDo1MDo1OSArMDIwMCAgTWlndWVsIFBhcsOtcyBEw61heiA8bXBhcmlzZGlhekBnbWFpbC5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBydHhxdWV1ZS5jOgoJICBydHBydHhxdWV1ZTogcmV2ZXJzZSBwZW5kaW5nIGxpc3QgYmVmb3JlIHB1c2hpbmcgYnVmZmVycwoJICBXaXRoIHRoaXMgd2Ugc2VuZCB0aGUgUlRYIGJ1ZmZlcnMgaW4gdGhlIHNhbWUgb3JkZXIKCSAgdGhhdCB0aGV5IHdlcmUgcmVxdWVzdGVkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUxMjk3CgoyMDE1LTA2LTIxIDE5OjIyOjEwIC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9mbHYvZ3N0Zmx2bXV4LmM6CgkgIGZsdm11eDogRml4IERUUyB2YWxpZGl0eSBjaGVjawoJICBUaGlzIGNoZWNrIHdhcyB1cC1zaWRlLWRvd24sIGNhdXNpbmcgYSBiYWQgdGltZXN0YW1wIGF0IHN0YXJ0CgkgIGFuZCB0aGVuIGFsbCB0aW1lc3RhbXAgYmVpbmcgZGVsYXllZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MTI5OAoKMjAxNS0wNi0xNyAxNToxOTo0NyAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2lzb21wNC9mb3VyY2MuaDoKCSogZ3N0L2lzb21wNC9xdGRlbXV4X2R1bXAuYzoKCSogZ3N0L2lzb21wNC9xdGRlbXV4X2R1bXAuaDoKCSogZ3N0L2lzb21wNC9xdGRlbXV4X3R5cGVzLmM6CgkgIGNzbGc6IEFkZCBDb21wb3NpdGlvbiBTaGlmdCBMZWFzdCBHcmVhdGVzdCBBdG9tCgkgIFRoaXMgc2ltcGx5IGFkZCBmb3VyY2MgYW5kIGR1bXAgZnVuY3Rpb24gZm9yIHRoZSBjc2xnIEF0b20uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTExMDMKCjIwMTUtMDYtMTcgMTU6MTg6MzggLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eF9kdW1wLmM6CgkgIGN0dHNfZHVtcDogRml4IHNpZ25lc3MgaXNzdWVzCgkgIEl0IGRpZG4ndCBidWcsIGJ1dCB1c2UgY29ycmVjdCBzaWduZXNzIGluIHRyYWNlcy4gVGhlIG51bWJlciBvZgoJICBlbnRyaWVzIGlzIHVuc2lnbmVkIHdoaWxlIHRoZSBvZmZzZXQgY2FuIGJlIHNpZ25lZCBhY2NvcmRpbmcgdG8KCSAgcmVjZW50IHNwZWMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTExMDMKCjIwMTUtMDYtMTYgMTc6NDg6MDggLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvLnVrPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSA2MDE1ZDI2IHRvIGY3NGIyZGYKCjIwMTUtMDYtMTYgMTE6NDM6MzkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgcnRwaml0dGVyYnVmZmVyOiBnc3RfcnRwX2J1ZmZlcl9leHRfdGltZXN0YW1wKCkgbW9kaWZpZXMgaXRzIGZpcnN0IGFyZ3VtZW50LCBrZWVwIGEgY29weSBhcm91bmQKCjIwMTUtMDYtMTYgMTA6MzA6MzQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgcnRwaml0dGVyYnVmZmVyOiBDb21wYXJlIGV4dCBSVFAgdGltZXMsIG5vdCBwbGFpbiBSVFAgdGltZSBhbmQgZXh0IFJUUCB0aW1lIHdoZW4gY2FsY3VsYXRpbmcgZWxhcHNlZCB0aW1lCgkgIE90aGVyd2lzZSBhbGwgUlRQIHRpbWVzIGFmdGVyIGEgd3JhcGFyb3VuZCB3b3VsZCBiZSBjb25zaWRlcmVkIGFzIGdvaW5nCgkgIGJhY2t3YXJkcywgdGhleSB3aWxsIGFsd2F5cyBiZSBzbWFsbGVyIHRoYW4gdGhlIGV4dCBSVFAgdGltZS4KCjIwMTUtMDYtMTUgMTk6MjU6MTIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzoKCSAgcnRwYmluOiBUaGUgZGVmYXVsdCBydHAtcHJvZmlsZSBzaG91bGQgYmUgQVZQLCBub3QgQVZQRgoKMjAxNS0wNi0xNSAxNDozMjoyMSArMDkwMCAgU2FuZ2t5dSBQYXJrIDxzazExMjIucGFya0BzYW1zdW5nLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBqaXR0ZXJidWZmZXIuYzoKCSAgcnRwaml0dGVyYnVmZmVyOiBNaW5vciBjbGVhbnVwCgkgIDEuIEFkZCBOdWxsIGNoZWNrIGluICdmcmVlX2l0ZW0nIGZ1bmN0aW9uLgoJICAyLiBGaXggYSB0eXBpbmcgZXJyb3Igb2YgY29tbWVudC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MDk2NQoKMjAxNS0wNi0xMiAxNzo0NDo1MSAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2Zsdi9nc3RmbHZtdXguYzoKCSAgZmxtdXg6IE1ha2Ugc3VyZSBiZXN0X3RpbWUgaXMgaW5pdGlhbGl6ZWQKCjIwMTUtMDYtMTIgMjM6Mjk6MTkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmg6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5oOgoJICBydHBiaW4vc2Vzc2lvbjogQWRkIG5ldyBudHAtdGltZS1zb3VyY2UgcHJvcGVydHkgYW5kIGRlcHJlY2F0ZSB1c2UtcGlwZWxpbmUtY2xvY2sgcHJvcGVydHkKCSAgVGhlIG5ldyBwcm9wZXJ0eSBhbGxvd3MgdG8gc2VsZWN0IHRoZSB0aW1lIHNvdXJjZSB0aGF0IHNob3VsZCBiZSB1c2VkIGZvciB0aGUKCSAgTlRQIHRpbWUgaW4gUlRDUCBwYWNrZXRzLiBCeSBkZWZhdWx0IGl0IHdpbGwgY29udGludWUgdG8gY2FsY3VsYXRlIHRoZSBOVFAKCSAgdGltZXN0YW1wICgxOTAwIGVwb2NoKSBiYXNlZCBvbiB0aGUgcmVhbHRpbWUgY2xvY2suIEFsdGVybmF0aXZlbHkgaXQgY2FuIHVzZQoJICB0aGUgVU5JWCB0aW1lc3RhbXAgKDE5NzAgZXBvY2gpLCB0aGUgcGlwZWxpbmUncyBydW5uaW5nIHRpbWUgb3IgdGhlIHBpcGVsaW5lJ3MKCSAgY2xvY2sgdGltZS4gVGhlIGxhdHRlciBpcyBlc3BlY2lhbGx5IHVzZWZ1bCBmb3Igc3luY2hyb25pemluZyBtdWx0aXBsZQoJICByZWNlaXZlcnMgaWYgYWxsIG9mIHRoZW0gc2hhcmUgdGhlIHNhbWUgY2xvY2suCgkgIElmIHVzZS1waXBlbGluZS1jbG9jayBpcyBzZXQgdG8gVFJVRSwgaXQgd2lsbCBvdmVycmlkZSB0aGUgbnRwLXRpbWUtc291cmNlCgkgIHNldHRpbmcgYW5kIGNvbnRpbnVlIHRvIHVzZSB0aGUgcnVubmluZyB0aW1lIHBsdXMgNzAgeWVhcnMuIFRoaXMgaXMgb25seSBrZXB0CgkgIGZvciBiYWNrd2FyZHMgY29tcGF0aWJpbGl0eS4KCjIwMTUtMDQtMDcgMTY6MDM6NDIgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3F0bXV4LmM6CgkgIHRlc3RzOiBxdG11eDogdGVzdCBmb3IgbXV4aW5nIHdpdGggRFRTIG91dHNpZGUgdGhlIHNlZ21lbnQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0MDU3NQoKMjAxNS0wNi0xMSAxNzoyNjo0OSAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IEFkanVzdCBzZWdtZW50IGFjY29yZGluZyB0byBjdHRzIG9mZnNldAoJICBJbiBwcmVzZW5jZSBvZiBhIENUVFMsIHRoZSBzZWdtZW50IHN0YXJ0L3N0b3AgbXVzdCBiZSBvZmZzZXQgc28KCSAgdGhlIHNlZ21lbnQgc3RhcnQvc3RvcCBpbmNsdWRlIHRoZSBQVFMuIFRoaXMgaXMgbmVlZGVkIHNpbmNlIHRoZQoJICBQVFMgY2Fubm90IGJlIG5lZ2F0aXZlIGluIHRoaXMgZm9ybWF0LiBUaGlzIGZpeGVzIGlzc3VlcyB3aGVyZSB0aGUKCSAgcnVubmluZyB0aW1lIG9mIHRoZSBmaXJzdCBidWZmZXIgaXNuJ3QgYXQgdGhlIHN0YXJ0LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQwNTc1CgoyMDE1LTA0LTAzIDIwOjM0OjQyIC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4LmM6CgkqIGdzdC9pc29tcDQvZ3N0cXRtdXguaDoKCSAgcXRtdXg6IEhhbmRsZSBEVFMgd2l0aCBuZWdhdGl2ZSBydW5uaW5nIHRpbWUKCSAgQXMgUVQgd29ya3Mgd2l0aCBkdXJhdGlvbiwgc2ltcGx5IGJyaW5nIGJhY2sgZmlyc3QgRFRTIHRvIDAgYW5kIHNoaWZ0CgkgIGZvcndhcmQgdGhlIFBUUyBvZiB0aGUgc2FtZSBhbW91bnQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDA1NzUKCjIwMTUtMDYtMTAgMTg6MTU6NTIgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9mbHYvZ3N0Zmx2bXV4LmM6CgkqIGdzdC9mbHYvZ3N0Zmx2bXV4Lmg6CgkgIGZsdm11eDogQWRkIG5lZ2F0aXZlIHJ1bnRpbWUgRFRTIHN1cHBvcnQKCSAgVGhpcyBpcyBkb25lIGJ5IHVzaW5nIG5ldyBmZWF0dXJlIG9mIHRoZSBDb2xsZWN0UGFkIGNsaXAgZnVuY3Rpb24KCSAgd2hpY2ggc2V0cyB0aGUgRFRTIGFzIGEgZ2ludDY0IGluIHRoZSBjb2xsZWN0ZWQgZGF0YS4gSXQgYWxzbyBzaW1wbGlmeQoJICB0aGUgY29kZSBhIGJpdC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0MDU3NQoKMjAxNS0wNi0xMiAyMzowNjoyNCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOgoJICBydHBiaW46IFJlbmFtZSBzb21lIHZhcmlhYmxlcyBhbmQgZGVidWcgb3V0cHV0IHRvIG1ha2UgbW9yZSBzZW5zZQoJICBMb2NhbCBhbmQgcmVtb3RlIHdlcmUgbWl4ZWQgdXAgaW4gYSBmZXcgcGxhY2VzLCBhbmQgdGhlIHRpbWUgd2Ugc3RvcmUgaGVyZSBpcwoJICBub3QgVU5JWCB0aW1lICgxOTcwIGVwb2NoKSwgYnV0IE5UUCB0aW1lICgxOTAwIGVwb2NoKSBpbiBuYW5vc2Vjb25kcy4KCjIwMTUtMDYtMTIgMTk6MjE6MTAgKzAzMDAgIElseWEgS29uc3RhbnRpbm92IDxpbHlhLmtvbnN0YW50aW5vdkBnbWFpbC5jb20+CgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4Y29yZWF1ZGlvcmVtb3RlaW8uYzoKCSAgb3N4YXVkaW86IGZpeCBsYXRlbmN5IHByb3BlcnR5IHF1ZXJ5IG9uIFJlbW90ZUlPCgkgIEF1ZGlvVW5pdEdldFByb3BlcnR5IHdvdWxkIGZhaWwgd2l0aCBrUGFyYW1FcnIgKC01MCkgZXZlcnkgdGltZSwKCSAgc2ltcGx5IGJlY2F1c2Ugc2l6ZSB3YXNuJ3QgaW5pdGlhbGl6ZWQuCgkgIE5vdyBpdCByZXR1cm5zIHplcm8gbGF0ZW5jeSwgYnV0IGF0IGxlYXN0IGl0IGRvZXNuJ3QgZmFpbC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MDg2OAoKMjAxNS0wNC0wNyAxNDowNjoxNiArMDUzMCAgQXJ1biBSYWdoYXZhbiA8Z2l0QGFydW5yYWdoYXZhbi5uZXQ+CgoJKiBleHQvcHVsc2UvcHVsc2VzcmMuYzoKCSAgcHVsc2VzcmM6IEZpeCBtYXBwaW5nIG9mIGxhdGVuY3kgcGFyYW1ldGVycyB0byBidWZmZXIgYXR0cmlidXRlcwoKMjAxNS0wNi0xMiAwMTo1NjozNyArMTAwMCAgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2EtZGVtdXg6IEFjdHVhbGx5IHNldCBkZXRlY3RlZCAzRCBpbmZvIGludG8gb3V0cHV0IGNhcHMuCgkgIFVzZSB0aGUgaW5mb3JtYXRpb24gcmVhZCBmcm9tIHRoZSBTdGVyZW9Nb2RlIGluZm8KCSAgdG8gY29uZmlndXJlIG11bHRpdmlldy1tb2RlIGFuZCBtdWx0aXZpZXctZmxhZ3MgaW4gdGhlCgkgIHZpZGVvIGNhcHMuCgoyMDE1LTA2LTExIDEzOjM2OjU0ICsxMDAwICBKYW4gU2NobWlkdCA8amFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9tdWx0aWZpbGUvZ3N0c3BsaXRtdXhwYXJ0cmVhZGVyLmM6CgkqIGdzdC9tdWx0aWZpbGUvZ3N0c3BsaXRtdXhzaW5rLmM6CgkqIGdzdC9tdWx0aWZpbGUvZ3N0c3BsaXRtdXhzaW5rLmg6CgkgIHNwbGl0bXV4c2luazogVGFrZSByZWxlYXNlZC1idXQtbm90LXlldC1vdXRwdXQgYnl0ZXMgaW50byBhY2NvdW50CgkgIFdoZW4gZGVjaWRpbmcgd2hldGhlciBpdCdzIHRpbWUgdG8gc3dpdGNoIHRvIGEgbmV3IGZpbGUsIHRha2UgaW50bwoJICBhY2NvdW50IGRhdGEgdGhhdCdzIGJlZW4gcmVsZWFzZWQgZm9yIHB1c2hpbmcsIGJ1dCBoYXNuJ3QgeWV0CgkgIGJlZW4gcHVzaGVkIC0gYmVjYXVzZSBkb3duc3RyZWFtIGlzIHNsb3cgb3IgdGhlIHRocmVhZHMgaGF2ZW4ndCBiZWVuCgkgIHNjaGVkdWxlZC4KCSAgRml4ZXMgYSByYWNlIGluIHRoZSB1bml0IHRlc3QgYW5kIHByb2JhYmx5IGluIHByYWN0aWNlIC0gc29tZXRpbWVzCgkgIGZhaWxpbmcgdG8gc3dpdGNoIHdoZW4gaXQgc2hvdWxkIGZvciBhbiBleHRyYSBHT1Agb3IgdHdvLgoJICBBbHNvIGZpeCBhIHByb2JsZW0gaW4gc3BsaXRtdXhzcmMgd2hlcmUgcGxheWJhY2sgc29tZXRpbWVzCgkgIHN0YWxscyBhdCBzdGFydHVwIGlmIHR5cGVzIGFyZSBmb3VuZCB0b28gcXVpY2tseS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MDc0NwoKMjAxNS0wNi0xMSAwMTowNDo1MSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0L2lzb21wNC9hdG9tcy5jOgoJICBhdG9tczogcmVtb3ZlIGN1c3RvbSBnc3RfYnVmZmVyX25ldyBmdW5jdGlvbiBpbiBmYXZvciBvZiBjb3JlIHZlcnNpb24KCSAgUmVtb3ZlIGEgY3VzdG9tIHNwZWNpYWxpemVkIHZlcnNpb24gb2YgZ3N0X2J1ZmZlcl9uZXdfd3JhcHBlZCBieQoJICB1c2luZyBnc3RfYnVmZmVyX25ld193cmFwcGVkX2Z1bGwgaW5zaWRlIGEgbWFjcm8gdG8gc2ltcGxpZnkKCSAgcGFyYW1ldGVycyBhbmQgZ2l2ZSBpdCBhIG1vcmUgbWVhbmluZ2Z1bCBuYW1lLgoJICBJdCBpcyBvbmx5IHVzZWQgdG8gY3JlYXRlIHRlbXBvcmFyeSBidWZmZXJzIHRvIGhhdmUgaXRzIGRhdGEgY29waWVkLgoKMjAxNS0wNi0xMSAwMDoxNDo0MSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0L2lzb21wNC9hdG9tcy5jOgoJICBhdG9tczogc2ltcGxpZnkgZnJlZSBmb3JtIGRhdGEgYXRvbXMgY3JlYXRpb24KCSAgQXZvaWQgY3JlYXRpbmcgYW4gaW50ZXJtZWRpYXJ5IGJ1ZmZlciBvciBtZW1vcnkgYXJlYSBqdXN0CgkgIHRvIGNvcHkgaW50byBhbiBhdG9tJ3MgZGF0YSBhcmVhLgoKMjAxNS0wNi0xMCAyMjoyNzoyNyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0L2lzb21wNC9hdG9tcy5jOgoJKiBnc3QvaXNvbXA0L2F0b21zLmg6CgkqIGdzdC9pc29tcDQvZm91cmNjLmg6CgkqIGdzdC9pc29tcDQvZ3N0cXRtdXguYzoKCSogZ3N0L2lzb21wNC9nc3RxdG11eC5oOgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4bWFwLmM6CgkgIHF0bXV4OiBhZGQgQUMtMyBtdXhpbmcgc3VwcG9ydAoJICBBZGRzIEFDLTMgbXV4aW5nIHN1cHBvcnQuIEl0IGlzIGRlZmluZWQgZm9yIG1wNCBhbmQgM2dwIGZvcm1hdHMuCgkgIE9uZSBleHRyYSBmZWF0dXJlIHRoYXQgd2FzIGFkZGVkIHdhcyB0aGUgYWJpbGl0eSB0byBhZGQgZXh0ZW5zaW9uCgkgIGF0b21zIGFmdGVyIHNldF9jYXBzIGFzIHRoZSBBQy0zIGV4dGVuc2lvbiBhdG9tIG5lZWRzIHNvbWUgZGF0YQoJICB0aGF0IGhhcyB0byBiZSBleHRyYWN0ZWQgZnJvbSB0aGUgc3RyZWFtIGl0c2VsZiBhbmQgaXMgbm90CgkgIHByZXNlbnQgb24gY2Fwcy4KCjIwMTUtMDYtMTAgMjI6MzY6NTkgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC9pc29tcDQvYXRvbXMuYzoKCSogZ3N0L2lzb21wNC9hdG9tcy5oOgoJICBxdG11eDogcmVtb3ZlIHVudXNlZCB0eXBlIE1QNFMKCjIwMTUtMDYtMTAgMjI6Mjk6MDEgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC9pc29tcDQvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IHJlbW92ZSBkdXBsaWNhdGUgYXR0cmlidXRlIHZhbHVlIHNldAoJICBJdCBpcyBhbHNvIHNldCBhIGZldyBsaW5lcyBiZWxvdwoKMjAxNS0wNi0xMSAwMDoyMjo1NCArMTAwMCAgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWlkcy5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtaWRzLmg6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSAgbWF0cm9za2E6IEltcGxlbWVudCBiYXNpYyBzdGVyZW9zY29waWMgdmlkZW8gc3VwcG9ydAoJICBJbXBsZW1lbnQgc3VwcG9ydCBmb3IgdGhlIHBhY2tlZCB2aWRlbyBmb3JtYXRzIFdlYk0KCSAgdXNlcywgbm90IGFsbCB0aGUgdmFsdWVzIHRoYXQgTWF0cm9za2EgbWlnaHQgdXNlLgoJICBJbiBwcmFjdGljZSwgaXQncyByZWFsbHkgaGFyZCB0byBmaW5kIGFueSBzYW1wbGVzIGluIHRoZQoJICB3aWxkIG9mIGFueS4KCSAgU3VwcG9ydGVkIGluIGJvdGggdGhlIG11eGVyIGFuZCBkZW11eGVyLgoKMjAxNS0wNi0xMCAwMToyNjoxNSArMTAwMCAgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvaXNvbXA0L2ZvdXJjYy5oOgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSogZ3N0L2lzb21wNC9xdGRlbXV4X2R1bXAuYzoKCSogZ3N0L2lzb21wNC9xdGRlbXV4X2R1bXAuaDoKCSogZ3N0L2lzb21wNC9xdGRlbXV4X3R5cGVzLmM6CgkgIHF0ZGVtdXg6IEFkZCBiYXNpYyBzdXBwb3J0IGZvciBNUEVHLUEgc3RlcmVvc2NvcGljIHZpZGVvCgkgIFRoZSBNUEVHLUEgZm9ybWF0IHByb3ZpZGVzIGFuIGV4dGVuc2lvbiB0byB0aGUgSVNPIGJhc2UgbWVkaWEKCSAgZmlsZSBmb3JtYXQgdG8gc3RvcmUgc3RlcmVvc2NvcGljIGNvbnRlbnQgZW5jb2RlZCB3aXRoIGRpZmZlcmVudAoJICBjb2RlY3MgbGlrZSBILjI2NCBhbmQgTVBFRy00OjIuIFRoZSBzdGVyZW8gdmlkZW8gbWVkaWEgaW5mb3JtYXRpb24oc3ZtaSkKCSAgYXRvbSBkZWNsYXJlcyB0aGUgcHJlc2VuY2UgYW5kIHN0b3JhZ2UgbWV0aG9kIGZvciB0aGUgdmlkZW8uCgkgIFN0ZXJlbyB2aWRlbyBpbmZvcm1hdGlvbiBmb3IgTVBFRy1BIGNhbiBhbHNvIGJlIHN1cHBsaWVkIHRocm91Z2gKCSAgdGhlICdzdHZpJyBhdG9tIChyZWY6IElTTy9JRUNfMTQ0OTYtMTIsIElTTy9JRUNfMjMwMDAtMTEpLCB3aGljaAoJICBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBwYXRjaC4KCSAgQWxzbyBtaXNzaW5nIGlzIHN1cHBvcnQgZm9yIHN0ZXJlbyB2aWRlbyBlbmNvZGVkIGFzIHNlcGFyYXRlIHZpZGVvIHRyYWNrcwoJICBmb3Igbm93LgoJICBCYXNlZCBvbiBhIHBhdGNoIGJ5IFNyZWVyZW5qIEJhbGFjaGFuZHJhbiA8c3JlZXJlbmouYmFsYWNoYW5kcmFuQGludGVsLmNvbT4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYxMTE1NwoKMjAxNS0wNi0wMiAxNjoxNTozNSAtMDQwMCAgWGF2aWVyIENsYWVzc2VucyA8eGF2aWVyLmNsYWVzc2Vuc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuaDoKCSAgc291cGh0dHBzcmM6IEFkZCB0bHMtZGF0YWJhc2UgcHJvcGVydHkKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MDI5OAoKMjAxNS0wNi0xMCAxNDozMzo1MCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHAvZ3N0YXN0ZXJpc2toMjYzLmM6CgkqIGdzdC9ydHAvZ3N0cnRwYWMzcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwYW1ycGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwY2VsdGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwY2VsdHBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGR2cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZzcyM3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjlwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnc21wYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnc3RwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjYzcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2M3BwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjY0ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBqMmtwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBqcGVncGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXAydHBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wNGFkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wNGFwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDRnZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDRncGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXA0dnBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wYXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wYXJvYnVzdGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXB2cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwcWNlbHBkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHFkbWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwc2JjcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwc3BlZXhwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBzdjN2ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHB0aGVvcmFwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHB2b3JiaXNwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHB2cmF3ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHB2cmF3cGF5LmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cG11eC5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmM6CgkgIHJ0cDogVXNlIEdTVF9CVUZGRVJfUFRTKCkgaW5zdGVhZCBvZiBHU1RfQlVGRkVSX1RJTUVTVEFNUCgpCgkgIFRoZSBtaXggYmV0d2VlbiBhbGwgdGhlc2UgaW4gdGhlIFJUUCBjb2RlIGlzIGNvbmZ1c2luZywgbGV0J3MgdHJ5IHRvIGJlCgkgIGNvbnNpc3RlbnQuCgoyMDE1LTA2LTEwIDE0OjQ5OjUwICswMzAwICBJbHlhIEtvbnN0YW50aW5vdiA8aWx5YS5rb25zdGFudGlub3ZAZ21haWwuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmM6CgkgIHJ0cG1hbmFnZXI6IGNsYXJpZnkgbmVnYXRpdmUgbG9zdCBwYWNrZXRzIGluIHN0YXRzCgkgIEFsc286CgkgIC0gTW92ZSBub3RlcyBvbiB1bml0cyBiZWZvcmUgZmllbGQgZG9jdW1lbnRhdGlvbi4KCSAgLSBVbmlmeSBkb2N1bWVudGF0aW9uIHN0eWxlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUwNjUzCgoyMDE1LTA2LTEwIDA2OjM4OjM5IC0wNDAwICBYYXZpZXIgQ2xhZXNzZW5zIDx4YXZpZXIuY2xhZXNzZW5zQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOgoJICBzb3VwaHR0cHNyYzogZml4IGdldHRlciBvZiAic3NsLXVzZS1zeXN0ZW0tY2EtZmlsZSIKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MDI5OAoKMjAxNS0wNi0xMCAwOTo0OTo0NyArMDkwMCAgVmluZWV0aCBUTSA8dmluZWV0aC50bUBzYW1zdW5nLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBmaXggcmV2ZXJzZSBwbGF5YmFjawoJICBXaGVuIHBlcmZvcm1pbmcgc2Vlaywgc2VnbWVudC0+c3RhcnQgaXMgYmVpbmcgdXBkYXRlZCB3aXRoIGRlc2lyZWRfb2Zmc2V0LAoJICBidXQgaW4gY2FzZSBvZiByZXZlcnNlIHBsYXliYWNrIHNlZ21lbnQtPnN0YXJ0IHNob3VsZCBiZSAwIGFuZAoJICBzZWdtZW50LT5zdG9wIHNob3VsZCBiZSB1cGRhdGVkIHdpdGggZGVzaXJlZCBvZmZzZXQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTA2NzUKCjIwMTUtMDEtMjEgMTg6MDk6MDMgKzAxMDAgIFBoaWxpcHAgWmFiZWwgPHAuemFiZWxAcGVuZ3V0cm9uaXguZGU+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYWxsb2NhdG9yLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJhbGxvY2F0b3IuaDoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSAgZ3N0djRsMmJ1ZmZlcnBvb2w6IGhhbmRsZSAtRVBJUEUgZnJvbSBEUUJVRiB0byBzaWduYWwgRU9TCgkgIFRoZSBWNEwyIGRlY29kZXIgc2lnbmFscyBFT1MgYnkgcmV0dXJuaW5nIC1FUElQRSBmcm9tIERRQlVGIGFmdGVyIHRoZQoJICBsYXN0IGJ1ZmZlci4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0MzMzOAoKMjAxNS0wNi0wNiAyMTowOToxOSAtMDQwMCAgWGF2aWVyIENsYWVzc2VucyA8eGF2aWVyLmNsYWVzc2Vuc0Bjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmg6CgkgIHJ0c3BzcmM6IEFkZCBhIEdUbHNJbnRlcmFjdGlvbiBwcm9wZXJ0eQoJICBJdCBjYW4gYmUgdXNlZCBmb3IgVExTIGNsaWVudCBhdXRoZW50aWNhdGlvbi4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MDQ3MQoKMjAxNS0wMS0wOSAxMTozNjoxMSArMDEwMCAgRW5yaWNvIEpvcm5zIDxlam9AcGVuZ3V0cm9uaXguZGU+CgoJKiBzeXMvdjRsMi9nc3R2NGwydHJhbnNmb3JtLmM6CgkgIHY0bDI6IEFsbG93IHNjYWxpbmcgaW4gdGhlIHY0bDIqY29udmVydCBlbGVtZW50CgkgIFRoaXMgaXMgaW5zcGlyZWQgb2YgdmlkZW9zY2FsZSBhbmQgdmlkZW9jb252ZXJ0IGVsZW1lbnRzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQyOTE3CgoyMDE1LTA2LTA5IDE5OjAyOjU1ICswMzAwICBJbHlhIEtvbnN0YW50aW5vdiA8aWx5YS5rb25zdGFudGlub3ZAZ21haWwuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHN0YXRzLmg6CgkgIHJ0cG1hbmFnZXI6IGRvY3VtZW50IHVuaXRzIG9mIHN0YXRzIGFuZCBhcmd1bWVudHMKCSAgQWxzbywgbWlub3Igc3BlbGxpbmcgYW5kIHN0eWxlIGNvcnJlY3Rpb25zLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUwNjUzCgoyMDE1LTA2LTA5IDE0OjQyOjI3ICswMjAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogTWFrZWZpbGUuYW06CgkgIGNydWZ0OiBhZGQgdGhlIG9ic29sZXRlIHRtcGwgZGlyIHRvIGNydWZ0LWRpcnMKCjIwMTUtMDYtMDkgMTE6MzA6MjIgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIGQ5YTMzNTMgdG8gNjAxNWQyNgoKMjAxNS0wNi0wOSAwNzowNDowNyArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGNvbW1vbjoKCSAgRml4IGNvbW1vbiB2ZXJzaW9uCgkgIFdhcyBhY2NpZGVudGx5IGRvd25ncmFkZWQgYnkgODdhNDg4NGFjZDg2NTVhNjU5MWQ3MzVhMWQ5NDRlY2I1ZWEzZGUxNgoKMjAxNS0wNi0wOCAxOToxMTo0MSAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICB2NGwyOiBBbHNvIHNldCBjb2xvcmltZXRyeSBvbiBvdXRwdXQgZGV2aWNlcwoJICBUaGlzIGNvbXBsZXRlcyB0aGUgY29kZSB0aGF0IHNldCB0aGUgY29sb3JpbWV0cnkgb24gb3V0cHV0CgkgIGRldmljZS4KCjIwMTUtMDYtMDggMTk6MTA6MzQgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIGNvbW1vbjoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICB2NGwyOiBBZGQgbWlzc2luZyBTTVRQMjQwTSBtYXRyaXgKCSAgVGhpcyBpcyBtaXNzaW5nIGluIHRoZSBkb2MsIGJ1dCB3YXMgaW4gdGhlIGhlYWRlci4KCjIwMTUtMDYtMDggMjM6MDA6MTYgKzAxMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXMuYmdAc2Ftc3VuZy5jb20+CgoJKiBnc3QvZ29vbS9nb29tX2NvcmUuYzoKCSAgZ29vbTogcG9zc2libGUgdW5pbml0aWFsaXplZCB2YXJpYWJsZXMgd2FybmluZwoJICBCdWlsZCBmYWlscyB3aXRoIHRoZSBsYXRlc3Qgc25hcHNob3Qgb2YgZ2NjLTQuOSBiZWNhdXNlIHBhcmFtMSBhbmQgcGFyYW0yIG1pZ2h0CgkgIHBvc3NpYmx5IGJlIHVzZWQgdW5pbml0aWFsaXplZC4gVGhleSBhcmUgc2V0IGRlcGVuZGluZyBvbiB0aGUgY2FzZXMgb2YgYSBzd2l0Y2gKCSAgc3RhdGVtZW50IGFuZCB0aGUgY29tcGlsZXIgc2VlcyB0aGlzIGFzIG5vdCBhIGNvbXBsZXRlIGd1YXJhbnRlZS4KCSAgU2V0IHRoZW0gdG8gMCBpZiB0aGUgc3dpdGNoIHN0YXRlbWVudCBmYWxscyBkb3duIHRvIHRoZSBkZWZhdWx0IGNhc2UuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTA1NjYjYzYKCjIwMTUtMDYtMDggMTc6MjQ6MzggLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgdjRsMm9iamVjdDogRnVsbHkgaW1wbGVtZW50IGNvbG9yaW1ldHJ5IHN1cHBvcnQKCSAgVGhpcyBmaXhlcyB3cm9uZyBtYXBwaW5nIGZvciBzUkdCIGFzIGluIEdTdHJlYW1lciBzUkdCIGNvcnJlY3RseQoJICBhcHBseSB0byBSR0IgZm9ybWF0cywgd2hpbGUgaW4gVjRMMiBpdCdzIGFuIGFsaWFzIGZvciBzWUNDLiBBbHNvCgkgIGFkZCBzdXBwb3J0IGZvciB0aGUgbmV3IHF1YW50aXphdGlvbiAocmFuZ2UpLCB5Y2Jjcl9lbmNvZGluZyAobWF0cml4KQoJICBhbmQgeGZlcl9mdW5jICh0cmFuc2ZlcikgZW51bWVyYXRpb24uCgoyMDE1LTA2LTA4IDE3OjAxOjE1IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9leHQvdHlwZXMtY29tcGF0Lmg6CgkqIHN5cy92NGwyL2V4dC92NGwyLWNvbW1vbi5oOgoJKiBzeXMvdjRsMi9leHQvdjRsMi1jb250cm9scy5oOgoJKiBzeXMvdjRsMi9leHQvdmlkZW9kZXYyLmg6CgkgIHY0bDI6IFVwZGF0ZSBrZXJuZWwgaGVhZGVycyB0byBsYXRlc3QgZnJvbSBtZWRpYSB0cmVlCgkgIFRoaXMgaXMgdGhlIGxhdGVzdCBmcm9tIG1lZGlhIHRyZWUuIFRoaXMgc2hvdWxkIGVuYWJsZSBtb3JlIGRldmVsb3BtZW50CgkgIG9mIHRoZSB2NGwyIGVsZW1lbnRzLiBUaGlzIGluY2x1ZGVzIG5ldyBmbGFncyByZXF1aXJlcyB0byBmaXggZHJhaW5pbmcKCSAgcGF0aCBpbiBkZWNvZGVyLCBjb2xvcmltZXRyeSBhbmQgbXVjaCBtb3JlLgoKMjAxNS0wNi0wOCAyMzowNzo1NSArMDIwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gZDM3YWYzMiB0byBkOWEzMzUzCgoyMDE1LTA2LTA4IDE5OjQyOjMwICswMTAwICBDaHJpcyBDbGF5dG9uIDxjaHJpczI1NTNAZ29vZ2xlbWFpbC5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cHZwOHBheS5jOgoJICBydHB2cDhkZXBheTogcG90ZW50aWFsIGFjY2VzcyBiZXlvbmQgZW5kIG9mIGFycmF5CgkgIENvbXBpbGluZyAod2l0aCBnY2MtNC45LTIwMTUwNjAzKSBwcm9kdWNlcyBhbiBlcnJvciBiZWNhdXNlIG9mIGFuIGFjY2VzcyBiZXlvbmQKCSAgdGhlIGVuZCBvZiBhbiBhcnJheS4gVGhpcyBwYXRjaCBmaXhlcyB0aGUgZXJyb3IgYnkgaW5pdGlhbGl6aW5nIHRoZSBsb29wCgkgIGNvbnRyb2wvYXJyYXkgaW5kZXggdmFyaWFibGUgKGkpIHRvIDEgYW5kIHJldHVybmluZyBpIC0gMSB3aGVuIGEgbWF0Y2ggaXMgZm91bmQuCgkgIEFsc28sIGJlY2F1c2UgdGhlIHZhbHVlcyBzdG9yZWQgaW4gdGhlIGFycmF5IGluY3JlYXNlIGluIHZhbHVlIGFzIHRoZSBpbmRleAoJICBpbmNyZWFzZXMsIHRoZSA+PSB0ZXN0IHVubmVjZXNzYXJ5LCBzbyBpdCBpcyByZW1vdmVkLgoKMjAxNS0wNC0zMCAwMjo1Mjo1OCArMTAwMCAgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbXVsdGlmaWxlL2dzdHNwbGl0bXV4c2luay5jOgoJICBzcGxpdG11eHNpbms6IERvbid0IGFjY3VtdWxhdGUgbW9yZSB0aGFuIDIgR09QcwoJICBEb24ndCBhbGxvdyBsYXJnZSBhbW91bnRzIG9mIGRhdGEgdG8gcXVldWUgdXAgLSB3ZSBvbmx5IG5lZWQKCSAgdGhlIEdPUCB3ZSdyZSB3cml0aW5nLCBhbmQgdGhlIEdPUCB3ZSdyZSBhY2N1bXVsYXRpbmcuCgoyMDE1LTA0LTE2IDEwOjQ0OjQ5ICsxMDAwICBKYW4gU2NobWlkdCA8amFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9pc29tcDQvZ3N0cXRtdXguYzoKCSAgaXNvbXA0OiBmc3luYyBhZnRlciBzZW5kaW5nIHVwZGF0ZXMgaW4gcm9idXN0IG1vZGUKCSAgVXNlIHRoZSBuZXcgR3N0QnVmZmVyIFNZTkNfQUZURVIgZmxhZyB0byB0cmlnZ2VyIGFuIGZzeW5jCgkgIGFmdGVyIHVwZGF0aW5nIHRoZSBtb292IG9yIG1kYXQgYXRvbSwgYW5kIGFmdGVyIHVwZGF0aW5nIHRoZSBmcmVlCgkgIGF0b20gdG8gbWFrZSBpdCB2aXNpYmxlLgoKMjAxNS0wNC0wMyAwMDo1NzoyMCArMTEwMCAgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4LmM6CgkgIGlzb21wNDogT25seSBzZXQgbW9vdiBoZWFkZXIgaW50byBzdHJlYW1oZWFkZXIgYXQgRU9TCgkgIE9ubHkgdXBkYXRlIHRoZSBtb292IGhlYWRlciBpbnRvIHRoZSBjYXBzIGlmIGl0J3MgdGhlIGZpbmFsaXNlZAoJICBtb292IGF0IEVPUyB0aW1lLiBBdm9pZHMgcG9zdGluZyBhIGJvZ3VzIG1vb3YgYXQgc3RhcnR1cCBhbmQKCSAgcmVwZWF0ZWQgdXBkYXRlcyBpbiByb2J1c3QtcmVjb3JkaW5nIG1vZGUKCjIwMTUtMDQtMDMgMDE6NDQ6MTUgKzExMDAgIEphbiBTY2htaWR0IDxqYW5AY2VudHJpY3VsYXIuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcXRtdXguYzoKCSAgdGVzdHM6IFVwZGF0ZSBtcDQgbXV4IHRlc3QgZm9yIG1kYXQgcGxhY2Vob2xkZXIgY2hhbmdlCgkgIFRoZSBtcDQgbXV4ZXIgbm93IHdyaXRlcyBhIHBsYWNlLWhvbGRlciBtZGF0IGFzIGEgZnJlZQoJICBhdG9tIGZvbGxvd2VkIGJ5IGEgMC1ieXRlIG1kYXQgdGhhdCBjb3ZlcnMgdGhlIHJlc3Qgb2YgdGhlCgkgIGZpbGUsIG1ha2luZyBpdCBwb3NzaWJsZSB0byByZXdyaXRlIGl0IGFzIDY0LWJpdCwgb3IgbGVhdmUKCSAgaXQgYXMtaXMgaWYgbm90aGluZyBlbHNlIGlzIHdyaXR0ZW4gYWZ0ZXJ3YXJkCgoyMDE1LTA0LTAxIDExOjE1OjM4ICsxMTAwICBKYW4gU2NobWlkdCA8amFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9pc29tcDQvYXRvbXMuYzoKCSogZ3N0L2lzb21wNC9hdG9tcy5oOgoJKiBnc3QvaXNvbXA0L2F0b21zcmVjb3ZlcnkuYzoKCSogZ3N0L2lzb21wNC9nc3RxdG11eC5jOgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4Lmg6CgkgIGlzb21wNDogSW1wbGVtZW50IHJvYnVzdCBtdXhpbmcgdXNpbmcgcGluZy1wb25nIHN0cmF0ZWd5CgkgIEltcGxlbWVudCBhIHJvYnVzdCByZWNvcmRpbmcgbW9kZSwgd2hlcmUgdGhlIG91dHB1dAoJICBmaWxlIGlzIGFsd2F5cyBpbiBhIHBsYXlhYmxlIHN0YXRlLCBzZWVraW5nIGFuZCByZXdyaXRpbmcKCSAgdGhlIG1vb3YgaGVhZGVyIGF0IGEgY29uZmlndXJhYmxlIGludGVydmFsLiBSZXdyaXRpbmcKCSAgbW9vdiBpcyBkb25lIHVzaW5nIHJlc2VydmVkIHNwYWNlIGF0IHRoZSBzdGFydCBvZgoJICB0aGUgZmlsZSwgYW5kIGEgcGluZy1wb25nIHN0cmF0ZWd5IHdoZXJlIHRoZSBtb292CgkgIGlzIHJlcGxhY2VkIGF0b21pY2FsbHkgc28gaXQncyBuZXZlciBpbnZhbGlkLgoJICBUcmFjayB3aGVuIHRhZ3MgaGF2ZSBhY3R1YWxseSBjaGFuZ2VkLCBhbmQgZG9uJ3Qgd3JpdGUgdGhlbSBpbnRvCgkgIHRoZSBtb292IHVubGVzcyB0aGV5J3ZlIGNoYW5nZWQuIENsZWFyIGFueSBleGlzdGluZyB0YWdzIHdoZW4KCSAgcmUtd3JpdGluZyB0aGVtLCBzbyB3ZSBjYW4gZG8gcHJvZ3Jlc3NpdmUgbW9vdiB1cGRhdGluZyBpbiByb2J1c3QKCSAgcmVjb3JkaW5nIG1vZGUuCgkgIFdyaXRlIHBsYWNlaG9sZGVyIG1kYXQgYXMgYSBmcmVlIGF0b20gcGx1cyBhIDMyLWJpdCBtZGF0CgkgIHdpdGggJzAnIHNpemUsIHdoaWNoIG1lYW5zICJyZXN0IG9mIHRoZSBmaWxlIiBpbiB0aGUgc3BlYy4KCSAgUmUtd3JpdGUgaXQgbGF0ZXIgdG8gYSBmdWxsIDY0LWJpdCBleHRlbmRlZCBzaXplIGF0b20gaWYgbmVlZGVkLgoKMjAxNS0wNC0wMSAwMDo1ODo1MiArMTEwMCAgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvaXNvbXA0L2F0b21zLmM6CgkqIGdzdC9pc29tcDQvYXRvbXMuaDoKCSogZ3N0L2lzb21wNC9nc3RxdG11eC5jOgoJICBpc29tcDQ6IFVwZGF0ZSBlZGl0IGxpc3Qgd2hlbiByZS13cml0aW5nIG1vb3YKCSAgQ29ycmVjdGx5IHVwZGF0ZSBhbnkgZWRpdCBsaXN0cyBlYWNoIHRpbWUgdGhlIG1vb3YgaXMgcmVjYWxjdWxhdGVkLAoJICB1cGRhdGluZyBleGlzdGluZyB0YWJsZSBlbnRyaWVzIGlmIHRoZXkgYWxyZWFkeSBleGlzdCBpbnN0ZWFkIG9mIGp1c3QKCSAgYWRkaW5nIG5ldyBvbmVzLgoKMjAxNS0wNC0wOCAwMTo0MToxOCArMTAwMCAgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4LmM6CgkgIGlzb21wNDogUmVtb3ZlIGFuIGV4dHJhIGJyYWNrZXQgaW4gYSBjb21tZW50LgoKMjAxNS0wMy0xOSAyMDoyOTo0NCArMTEwMCAgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbXVsdGlmaWxlL2dzdHNwbGl0bXV4c3JjLmM6CgkgIHNwbGl0bXV4c3JjOiBQcm90ZWN0IHRvdGFsX2R1cmF0aW9uIHN0YXRlIHZhcmlhYmxlIHdpdGggdGhlIG9iamVjdCBsb2NrLgoJICBQcmV2ZW50IGRlYWRsb2NrcyBmcm9tIGRvd25zdHJlYW0gcXVlcnlpbmcgZHVyYXRpb24gZnJvbSB0aGUgc3RyZWFtaW5nIHRocmVhZC4KCjIwMTUtMDYtMDcgMjM6MDY6MjAgKzAyMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIDIxYmEyZTUgdG8gZDM3YWYzMgoKMjAxNS0wNi0wNyAxOToyNDoyMCArMDEwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpcy5iZ0BzYW1zdW5nLmNvbT4KCgkqIGdzdC9nb29tL2dzdGF1ZGlvdmlzdWFsaXplci5jOgoJICBnb29tOiBjbGVhbiBkZXJlZmVyZW5jZXMgb2YgcHJpdmF0ZSBzdHJ1Y3R1cmUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0Mjg3NQoKMjAxNS0wNi0wNyAxOToyMDowNCArMDEwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpcy5iZ0BzYW1zdW5nLmNvbT4KCgkqIGdzdC9nb29tMmsxL2dzdGF1ZGlvdmlzdWFsaXplci5jOgoJICBnb29tMmsxOiBjbGVhbiBkZXJlZmVyZW5jZXMgb2YgcHJpdmF0ZSBzdHJ1Y3R1cmUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0Mjg3NQoKMjAxNS0wNi0wNyAxNzozMjowMSArMDIwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gYzQwODU4MyB0byAyMWJhMmU1CgoyMDE1LTA2LTA3IDE3OjAxOjM3ICswMjAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJICBkb2NzOiByZW1vdmUgdmFyaWFibGVzIHRoYXQgd2UgZGVmaW5lIGluIHRoZSBzbmlwcGV0IGZyb20gY29tbW9uCgkgIFRoaXMgaXMgc3luY2luZyBvdXIgTWFrZWZpbGUuYW0gd2l0aCB1cHN0cmVhbSBndGtkb2MuCgoyMDE1LTA2LTA3IDE3OjE2OjE5ICswMjAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogYXV0b2dlbi5zaDoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSBkNjc2OTkzIHRvIGM0MDg1ODMKCjIwMTUtMDYtMDcgMTY6NDQ6MzcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkgIEJhY2sgdG8gZGV2ZWxvcG1lbnQKCj09PSByZWxlYXNlIDEuNS4xID09PQoKMjAxNS0wNi0wNyAxMDo0NjozNCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIENoYW5nZUxvZzoKCSogTkVXUzoKCSogUkVMRUFTRToKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tMTM5NC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYWNvbG9yLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFwZXRhZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb2Z4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvcGFyc2Vycy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9kZXRlY3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXZpLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhY2FzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhaXJvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWN1dHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWludGVybGFjZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdG1mLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZmVjdHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXF1YWxpemVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZseGRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZGtwaXhidWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tMmsxLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWljeWRlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlkM2RlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWltYWdlZnJlZXplLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVybGVhdmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taXNvbXA0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWphY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanBlZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sZXZlbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tYXRyb3NrYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aWZpbGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlwYXJ0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5hdmlnYXRpb250ZXN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zczQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5nLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXB1bHNlYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVwbGF5Z2Fpbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwbWFuYWdlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHNwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNoYXBld2lwZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaG91dDJzZW5kLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNtcHRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlY3RydW0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdGFnbGliLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXVkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlbzRsaW51eDIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9ib3gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9jcm9wLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvZmlsdGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvbWl4ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdnB4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXhpbWFnZXNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi15NG1lbmMueG1sOgoJKiBnc3QtcGx1Z2lucy1nb29kLmRvYXA6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUtZGlzdC5jOgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyb3JjLWRpc3QuYzoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICBSZWxlYXNlIDEuNS4xCgoyMDE1LTA2LTA3IDEwOjM4OjI4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogcG8vYWYucG86CgkqIHBvL2F6LnBvOgoJKiBwby9iZy5wbzoKCSogcG8vY2EucG86CgkqIHBvL2NzLnBvOgoJKiBwby9kYS5wbzoKCSogcG8vZGUucG86CgkqIHBvL2VsLnBvOgoJKiBwby9lbl9HQi5wbzoKCSogcG8vZW8ucG86CgkqIHBvL2VzLnBvOgoJKiBwby9ldS5wbzoKCSogcG8vZmkucG86CgkqIHBvL2ZyLnBvOgoJKiBwby9nbC5wbzoKCSogcG8vaHIucG86CgkqIHBvL2h1LnBvOgoJKiBwby9pZC5wbzoKCSogcG8vaXQucG86CgkqIHBvL2phLnBvOgoJKiBwby9sdC5wbzoKCSogcG8vbHYucG86CgkqIHBvL210LnBvOgoJKiBwby9uYi5wbzoKCSogcG8vbmwucG86CgkqIHBvL29yLnBvOgoJKiBwby9wbC5wbzoKCSogcG8vcHRfQlIucG86CgkqIHBvL3JvLnBvOgoJKiBwby9ydS5wbzoKCSogcG8vc2sucG86CgkqIHBvL3NsLnBvOgoJKiBwby9zcS5wbzoKCSogcG8vc3IucG86CgkqIHBvL3N2LnBvOgoJKiBwby90ci5wbzoKCSogcG8vdWsucG86CgkqIHBvL3ZpLnBvOgoJKiBwby96aF9DTi5wbzoKCSogcG8vemhfSEsucG86CgkqIHBvL3poX1RXLnBvOgoJICBVcGRhdGUgLnBvIGZpbGVzCgoyMDE1LTA2LTA3IDEwOjMyOjM4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmg6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cHNlc3Npb24uYzoKCSAgcnRwc2Vzc2lvbjogT3ZlcnJpZGUgdGhlIFNTUkMgZnJvbSB0aGUgcGFja2V0cycgU1NSQyBpZiBub25lIHdhcyBnaXZlbiB2aWEgY2FwcyBvciBwcm9wZXJ0eQoKMjAxNS0wNi0wNyAwOTozNTozOCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHBvL2FmLnBvOgoJKiBwby9hei5wbzoKCSogcG8vYmcucG86CgkqIHBvL2NhLnBvOgoJKiBwby9jcy5wbzoKCSogcG8vZGEucG86CgkqIHBvL2RlLnBvOgoJKiBwby9lbC5wbzoKCSogcG8vZW5fR0IucG86CgkqIHBvL2VvLnBvOgoJKiBwby9lcy5wbzoKCSogcG8vZXUucG86CgkqIHBvL2ZpLnBvOgoJKiBwby9mci5wbzoKCSogcG8vZ2wucG86CgkqIHBvL2hyLnBvOgoJKiBwby9odS5wbzoKCSogcG8vaWQucG86CgkqIHBvL2l0LnBvOgoJKiBwby9qYS5wbzoKCSogcG8vbHQucG86CgkqIHBvL2x2LnBvOgoJKiBwby9tdC5wbzoKCSogcG8vbmIucG86CgkqIHBvL25sLnBvOgoJKiBwby9vci5wbzoKCSogcG8vcGwucG86CgkqIHBvL3B0X0JSLnBvOgoJKiBwby9yby5wbzoKCSogcG8vcnUucG86CgkqIHBvL3NrLnBvOgoJKiBwby9zbC5wbzoKCSogcG8vc3EucG86CgkqIHBvL3NyLnBvOgoJKiBwby9zdi5wbzoKCSogcG8vdHIucG86CgkqIHBvL3VrLnBvOgoJKiBwby92aS5wbzoKCSogcG8vemhfQ04ucG86CgkqIHBvL3poX0hLLnBvOgoJKiBwby96aF9UVy5wbzoKCSAgcG86IFVwZGF0ZSB0cmFuc2xhdGlvbnMKCjIwMTUtMDYtMDUgMTU6MzI6MTAgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICB2NGwyOiBEb24ndCB3YXJuIHdoZW4gb3B0aW9uYWwgQ0lEIGFyZSBub3QgaW1wbGVtZW50CgkgIGdzdF92NGwyX2dldF9hdHRyaWJ1dHJlKCkgc2hhbGwgb25seSBiZSB1c2VkIHdoZW4gdGhlIENJRCBpcyBleHBlY3RlZAoJICB0byBiZSBzdXBwb3J0ZWQuIE90aGVyd2lzZSwgd2UgZ2V0IHVud2FudGVkIHdhcm5pbmcgcG9zdGVkIHRvIHRoZSBidXMuCgoyMDE1LTA2LTA1IDE2OjQzOjA4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uaDoKCSAgcnRwc2Vzc2lvbjogT25seSBzdWdnZXN0IG91ciBpbnRlcm5hbCBzc3JjIGlmIGl0J3Mgbm90IGEgcmFuZG9tIG9uZSBhbmQgd2FzIHNlbGVjdGVkIGFzIGludGVybmFsIHNzcmMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0OTU4MQoKMjAxNS0wNi0wNCAxNDoxODowMSArMDkwMCAgVmluZWV0aCBUTSA8dmluZWV0aC50bUBzYW1zdW5nLmNvbT4KCgkqIGdzdC9pbnRlcmxlYXZlL2ludGVybGVhdmUuYzoKCSAgaW50ZXJsZWF2ZTogZXJyb3Igd2hlbiBjaGFubmVsLXBvc2l0aW9ucy1mcm9tLWlucHV0PUZhbHNlCgkgIHNlbGYtPmNoYW5uZWxzIGlzIGJlaW5nIGluY3JlbWVudGVkIG9ubHkgd2hlbgoJICBjaGFubmVsLXBvc2l0aW9ucy1mcm9tLWlucHV0IGlzIHNldCBhcyBUUlVFLiBTbyBpbiBjYXNlIG9mIEZBTFNFCgkgIHNlbGYtPmZ1bmMgaXMgbm90IHNldCBhbmQgaGVuY2UgY3JlYXRpbmcgYXNzZXJ0aW9uIGVycm9yLgoJICBIZW5jZSByZW1vdmluZyB0aGUgY29uZGl0aW9uIHRvIGluY3JlbWVudCBzZWxmLT5jaGFubmVscy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NDIxMQoKMjAxNS0wNi0wNSAxMDozMzoxMSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBydHBqaXR0ZXJidWZmZXI6IEFkZCBzdXBwb3J0IGZvciByZWNlaXZpbmcgcmVkdWNlZCBzaXplIFJUQ1AKCSAgSXQgd29ya2VkIGJlZm9yZSBidXQgZ2F2ZSB3YXJuaW5ncywgbm93IHdlIGp1c3QgaWdub3JlIFJUQ1AKCSAgcGFja2V0cyB0aGF0IGRvbid0IHN0YXJ0IHdpdGggYSBTUi4gQXMgYWxsIHdlJ3JlIGludGVyZXN0ZWQKCSAgaW4gaGVyZSBhcmUgU1JzLgoKMjAxNS0wNi0wMyAxMjoyMjo0MiArMDIwMCAgSm9zZSBBbnRvbmlvIFNhbnRvcyBDYWRlbmFzIDxzYW50b3NjYWRlbmFzQGdtYWlsLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNzcmNkZW11eC5jOgoJICBydHBzc3JjZGVtdXg6IEFkZCBzdXBwb3J0IGZvciByZWR1Y2Ugc2l6ZSBydGNwCgkgIEFjY29yZGluZyB0byBSRkMgNTUwNiwgcmVkdWNlIHNpemUgcGFja2FnZXMgY2FuIGJlIHNlbnQsIHRoaXMKCSAgcGFja2FnZXMgbWF5IG5vdCBiZSBjb21wb3VuZCwgc28gd2UgbmVlZCB0byBhZGQgc3VwcG9ydCBmb3IKCSAgZ2V0dGluZyBzc3JjIGZyb20gb3RoZXIgdHlwZXMgb2YgcGFja2FnZXMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTAzMjcKCjIwMTUtMDYtMDMgMTM6MTQ6NDQgKzAyMDAgIEpvc2UgQW50b25pbyBTYW50b3MgQ2FkZW5hcyA8c2FudG9zY2FkZW5hc0BnbWFpbC5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkgIHJ0cHNlc3Npb246IEFkZCBzdXBwb3J0IGZvciByZWNlaXZpbmcgcmVkdWNlZCBzaXplIHJ0Y3AKCSAgU2VlIFJGQyA1NTA2CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTAzMzIKCjIwMTUtMDYtMDQgMTY6MDk6NDEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFhY3BhcnNlLmM6CgkgIGFhY3BhcnNlOiBBZGQgc3VwcG9ydCBmb3IgY2hhbm5lbCBjb25maWd1cmF0aW9ucyAxMSwgMTIgYW5kIDE0IGFuZCA3IGFjdHVhbGx5IGhhcyA4IGNoYW5uZWxzCgkgIElTTy9JRUMgMTQ0OTYtMzoyMDA5L1BEQU0gNCBhZGRlZCAxMSwgMTIgYW5kIDE0LgoKMjAxNS0wNi0wMyAwODo1Nzo1NyAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdGFzdGVyaXNraDI2My5jOgoJICBhc3Rlcmlza2gyNjM6IFVuLXJhbmsgY2xhc2hpbmcgZGVwYXlsb2FkZXIKCSAgVGhpcyBkZXBheWxvYWRlciBjbGFzaCB3aXRoIHRoZSBzdGFuZGFyZCBvbmUgZm9yIEgyNjNwLiBJdCBwcm9kdWNlcyBhbgoJICBIMjYzcCBzdHJlYW0gd2l0aCBhIG1vZGlmaWVkIGhlYWRlci4gSXQgdXNlcyBlbmNvZGluZy1uYW1lIHRoYXQgaXMgdGhlCgkgIHNhbWUgYXMgSDI2M3AgKEgyNjMtMTk5OCkgdGhvdWdoIHRoZSByZXN1bHRpbmcgRVMgaXMgbm90IGRlY29kYWJsZSBvcgoJICBwYXJzYWJsZSBpbiBHU3RyZWFtZXIsIG1ha2luZyBpdCB1bnN1YWJsZSBpbiBkeW5hbWljIHBpcGVsaW5lLiBUaGlzCgkgIHBhdGNoIHVucmFuayB0aGlzIHNwZWNpYWxpemVkIGRlcGF5bG9hZGVyIHNpbmNlIGl0IGNhbiBvbmx5IGJlIHVzZWQgaW4KCSAgY3VzdG9tIHBpcGVsaW5lLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM5OTM1CgoyMDE1LTA2LTAyIDE4OjA5OjQ4ICswMTAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzLmJnQHNhbXN1bmcuY29tPgoKCSogZ3N0L2dvb20yazEvZ3N0Z29vbS5jOgoJKiBnc3QvZ29vbTJrMS9nc3Rnb29tLmg6CgkgIGdvb20yazE6IHJlbW92ZSB2YXJpYWJsZXMgbm90IG5lZWRlZCBhbnltb3JlCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDI4NzUKCjIwMTUtMDYtMDIgMTc6NTI6NDYgKzAxMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXMuYmdAc2Ftc3VuZy5jb20+CgoJKiBnc3QvZ29vbTJrMS9NYWtlZmlsZS5hbToKCSogZ3N0L2dvb20yazEvZ3N0YXVkaW92aXN1YWxpemVyLmM6CgkqIGdzdC9nb29tMmsxL2dzdGF1ZGlvdmlzdWFsaXplci5oOgoJKiBnc3QvZ29vbTJrMS9nc3Rnb29tLmM6CgkqIGdzdC9nb29tMmsxL2dzdGdvb20uaDoKCSAgZ29vbTJrMTogcmViYXNlIHRvIHVzZSB0aGUgYXVkaW92aXN1YWxpemVyIGNsYXNzCgkgIFJlYmFzZSB0byBoYXZlIGdvb20yazEgdXNpbmcgdGhlIGNvbW1vbiBHc3RBdWRpb1Zpc3VhbGl6ZXIgY2xhc3MKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0Mjg3NQoKMjAxNS0wNi0wMiAxNzoyOTozNiArMDEwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpcy5iZ0BzYW1zdW5nLmNvbT4KCgkqIGdzdC9nb29tL01ha2VmaWxlLmFtOgoJKiBnc3QvZ29vbS9nc3RhdWRpb3Zpc3VhbGl6ZXIuYzoKCSogZ3N0L2dvb20vZ3N0YXVkaW92aXN1YWxpemVyLmg6CgkqIGdzdC9nb29tL2dzdGdvb20uYzoKCSogZ3N0L2dvb20vZ3N0Z29vbS5oOgoJICBnb29tOiByZWJhc2UgdG8gdXNlIHRoZSBhdWRpb3Zpc3VhbGl6ZXIgY2xhc3MKCjIwMTUtMDYtMDIgMTY6Mjc6MjQgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjZW50cmljdWxhci5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hYWNwYXJzZS5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hYzNwYXJzZS5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hcGV2Mm11eC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hc3BlY3RyYXRpb2Nyb3AuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXVkaW9hbXBsaWZ5LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvY2hlYmJhbmQuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXVkaW9jaGVibGltaXQuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXVkaW9keW5hbWljLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvaW52ZXJ0LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvd3NpbmNiYW5kLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvd3NpbmNsaW1pdC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdmltdXguYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZXF1YWxpemVyLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2ZsYWNwYXJzZS5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9pZDN2Mm11eC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9qcGVnZGVjLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2pwZWdlbmMuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvbWF0cm9za2FtdXguYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvbXBlZ2F1ZGlvcGFyc2UuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcmdhbmFseXNpcy5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9yZ2xpbWl0ZXIuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcmd2b2x1bWUuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwYmluLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cHNlc3Npb24uYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvc3BlY3RydW0uYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvdmlkZW9ib3guYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvdmlkZW9jcm9wLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3ZpZGVvZmlsdGVyLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3dhdnBhY2tkZWMuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvd2F2cGFja2VuYy5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy93YXZwYWNrcGFyc2UuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMveTRtZW5jLmM6CgkqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy9zaW1wbGUtbGF1bmNoLWxpbmVzLmM6CgkqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy90YWdzY2hlY2tpbmcuYzoKCSogdGVzdHMvY2hlY2svcGlwZWxpbmVzL3dhdnBhY2suYzoKCSAgY2hlY2s6IFVzZSBHU1RfQ0hFQ0tfTUFJTiAoKSBtYWNybyBldmVyeXdoZXJlCgkgIE1ha2VzIHNvdXJjZSBjb2RlIHNtYWxsZXIsIGFuZCBlbnN1cmVzIHdlIGdvIHRocm91Z2ggY29tbW9uIGluaXRpYWxpemF0aW9uCgkgIHBhdGggKGxpa2UgdGhlIG9uZSB0aGF0IHNldHMgdXAgWE1MIHVuaXQgdGVzdCBvdXRwdXQgLi4uKQoKMjAxNS0wNS0yNiAxNDo0NzozMSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5oOgoJICBydHBzZXNzaW9uOiBPbmx5IHNjaGVkdWxlIGEgdGltZXIgd2hlbiB3ZSBhY3R1YWxseSBoYXZlIHRvIHNlbmQgUlRDUAoJICBPdGhlcndpc2Ugd2Ugd2lsbCBoYXZlIDEwcy0xMDBzIG9mIHRocmVhZCB3YWtldXBzIGluIGZlZWRiYWNrIHByb2ZpbGVzLCBjcmVhdGUKCSAgUlRDUCBwYWNrZXRzLCBldGMuIGp1c3QgdG8gc3VwcHJlc3MgdGhlbSBpbiA5OSUgb2YgdGhlIGNhc2VzIChpLmUuIGlmIG5vCgkgIGZlZWRiYWNrIGlzIGFjdHVhbGx5IHBlbmRpbmcgYW5kIG5vIHJlZ3VsYXIgUlRDUCBoYXMgdG8gYmUgc2VudCkuCgkgIFRoaXMgaW1wcm92ZXMgQ1BVIHVzYWdlIGFuZCBiYXR0ZXJ5IGxpZmUgcXVpdGUgYSBsb3QuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDY1NDMKCjIwMTUtMDUtMjIgMTM6NDQ6MDMgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkgIHJ0cHNlc3Npb246IFJlbW92ZSB1c2VsZXNzIGdvdG8KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NjU0MwoKMjAxNS0wNS0yMSAxMjo1NDo0NyArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHRlc3RzL2V4YW1wbGVzL3J0cC9NYWtlZmlsZS5hbToKCSogdGVzdHMvZXhhbXBsZXMvcnRwL2NsaWVudC1IMjY0LXJ0eC5zaDoKCSogdGVzdHMvZXhhbXBsZXMvcnRwL2NsaWVudC1ydHBhdXguYzoKCSogdGVzdHMvZXhhbXBsZXMvcnRwL3NlcnZlci1WVFMtSDI2NC1ydHguc2g6CgkqIHRlc3RzL2V4YW1wbGVzL3J0cC9zZXJ2ZXItcnRwYXV4LmM6CgkgIGV4YW1wbGVzOiBTZXQgUlRQIHByb2ZpbGUgdG8gQVZQRiBmb3IgcnRwYXV4IGV4YW1wbGVzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDY1NDMKCjIwMTUtMDUtMDQgMTY6NDE6NTAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IFNldCBSVFAgcHJvZmlsZSBvbiB0aGUgcnRwc2Vzc2lvbiBvYmplY3RzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDY1NDMKCjIwMTUtMDUtMjEgMTQ6MTM6NTYgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmg6CgkgIHJ0cGJpbjogQWRkIHJ0cC1wcm9maWxlIHByb3BlcnR5IGZvciBzZXR0aW5nIHRoZSBkZWZhdWx0IHByb2ZpbGUgb2YgbmV3bHkgY3JlYXRlZCBzZXNzaW9ucwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ2NTQzCgoyMDE1LTA1LTA0IDExOjUxOjQxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJICBydHBzZXNzaW9uOiBPbmx5IHB1dCBSUnMgYW5kIGZ1bGwgU0RFUyBpbnRvIHJlZ3VsYXIgUlRDUCBwYWNrZXRzCgkgIElmIHdlIG1heSBzdXBwcmVzcyB0aGUgcGFja2V0IGR1ZSB0byB0aGUgcnVsZXMgb2YgUkZDNDU4NSAoaS5lLiB3aGVuCgkgIGJlbG93IHRoZSB0LXJyLWludCksIHdlIGNhbiBzZW5kIGEgc21hbGxlciBSVENQIHBhY2tldCB3aXRob3V0IFJScwoJICBhbmQgZnVsbCBTREVTLiBJbiB0aGVvcnkgd2UgY291bGQgZXZlbiBzZW5kIGEgbWluaW1hbCBSVENQIHBhY2tldAoJICBhY2NvcmRpbmcgdG8gUkZDNTUwNiwgYnV0IHdlIGRvbid0IHN1cHBvcnQgdGhhdCB5ZXQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDY1NDMKCjIwMTUtMDUtMDQgMTM6NTE6NTAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uaDoKCSAgcnRwc2Vzc2lvbjogS2VlcCB0cmFjayBvZiB0cC90biBhbmQgdF9ycl9sYXN0IHNlcGFyYXRlbHkKCSAgT3RoZXJ3aXNlIHdlIGNhbid0IHByb3Blcmx5IHNjaGVkdWxlIFJUQ1AgaW4gZmVlZGJhY2sgcHJvZmlsZXMgYXMgd2UgbmVlZCB0bwoJICBkaXN0aW5ndWlzaCB0aGUgdGltZSB3aGVuIHdlIGxhc3QgY2hlY2tlZCBmb3Igc2VuZGluZyBSVENQICh0cCkgYnV0IG1pZ2h0IGhhdmUKCSAgc3VwcHJlc3NlZCBpdCwgYW5kIHRoZSB0aW1lIHdoZW4gd2UgbGFzdCBhY3R1YWxseSBzZW50IGEgbm9uLWVhcmx5IFJUQ1AKCSAgcGFja2V0LgoJICBUaGlzIHRvZ2V0aGVyIHdpdGggdGhlIG90aGVyIGNoYW5nZXMgc2hvdWxkIG5vdyBwcm9wZXJseSBpbXBsZW1lbnQgUlRDUAoJICBzY2hlZHVsaW5nIGFjY29yZGluZyB0byBSRkM0NTg1LCBhbmQgZXNwZWNpYWxseSBhbGxvdyB1cyB0byBzZW5kIGZlZWRiYWNrCgkgIHBhY2tldHMgYSBsb3QgaWYgbmVlZGVkIGJ1dCBvbmx5IHNlbmQgcmVndWxhciBSVENQIHBhY2tldHMgZXZlcnkgb25jZSBpbiBhCgkgIHdoaWxlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ2NTQzCgoyMDE1LTA1LTA0IDExOjQyOjA4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uaDoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmg6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHN0YXRzLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHN0YXRzLmg6CgkgIHJ0cHNlc3Npb246IEFkZCBwcm9wZXJ0eSBmb3Igc2VsZWN0aW5nIFJUUCBwcm9maWxlIChBVlAvQVZQRi9ldGMpCgkgIEFuZCBtb2RpZnkgb3VyIFJUQ1Agc2NoZWR1bGluZyBhbGdvcml0aG0gYWNjb3JkaW5nbHkuIFdlIG5vdyBjYW4gc2VuZCBtb3JlCgkgIFJUQ1AgcGFja2V0cyBpZiBuZWVkZWQgZm9yIGZlZWRiYWNrLCBidXQgd2lsbCB0aHJvdHRsZSBmdWxsIFJUQ1AgcGFja2V0cyBieQoJICBydGNwLW1pbi1pbnRlcnZhbCAodC1yci1pbnQgZnJvbSBSRkM0NTg1KS4KCSAgSW4gbm9uLWZlZWRiYWNrIG1vZGUsIHJ0Y3AtbWluLWludGVydmFsIGlzIFRtaW4gZnJvbSBSRkMzNTUwLCB3aGljaCBpcwoJICBzdGF0aWNhbGx5IHNldCB0byAxcyBvciAwcyBieSBSRkM0NTg1LiBUbWluIGRlZmluZXMgaG93IG9mdGVuIHdlIHNob3VsZAoJICBzZW5kIFJUQ1AgcGFja2V0cyBhdCBtb3N0LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ2NTQzCgoyMDE1LTA1LTMwIDE3OjQxOjA1IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2xhdy9tdWxhdy1kZWNvZGUuYzoKCSAgbXVsYXdkZWM6IExldCBiYXNlY2xhc3MgZXN0aW1hdGUgYml0cmF0ZQoJICBUaGlzIG1ha2VzIHBsYXliYWNrIGRpcmVjdGx5IGZyb20gYSBmaWxlIHdvcmsgd2l0aCB0aGUgcmlnaHQgY2Fwcy4KCjIwMTUtMDUtMjcgMTY6MzE6MjMgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvdWRwL2dzdGR5bnVkcHNpbmsuYzoKCSogZ3N0L3VkcC9nc3RkeW51ZHBzaW5rLmg6CgkgIGR5bnVkcHNpbms6IGtlZXAgR0NhbmNlbGxhYmxlIGZkIGFyb3VuZCBpbnN0ZWFkIG9mIHJlLWNyZWF0aW5nIGl0IGNvbnN0YW50bHkKCSAgQW5kIGNyZWF0ZSBpdCBvbmx5IHdoZW4gc3RhcnRpbmcgdGhlIGVsZW1lbnQuCgoyMDE1LTA1LTI3IDE1OjU1OjU2ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuYzoKCSogZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuaDoKCSAgdWRwc2luaywgbXVsdGl1ZHBzaW5rOiBrZWVwIEdDYW5jZWxsYWJsZSBmZCBhcm91bmQgaW5zdGVhZCBvZiByZS1jcmVhdGluZyBpdCBjb25zdGFudGx5CgkgIE90aGVyd2lzZSB3ZSBjb25zdGFudGx5IGNyZWF0ZS9jbG9zZSBldmVudCBmaWxlIGRlc2NyaXB0b3JzLAoJICBldmVyeSB0aW1lIHdlIGNhbGwgZ19zb2NrZXRfY29uZGl0aW9uX3RpbWVkX3dhaXQoKSBvcgoJICBnX3NvY2tldF9zZW5kX21lc3NhZ2UocykoKSwgaS5lLiBhIGxvdC4gV2hpY2ggaXMgbm90CgkgIHBhcnRpY3VsYXJseSBnb29kIGZvciBwZXJmb3JtYW5jZS4KCSAgQ2FuJ3QgY3JlYXRlIEdDYW5jZWxsYWJsZSBpbiA6OnN0YXJ0KCkgaGVyZSBiZWNhdXNlIGl0J3MgdXNlZAoJICBpbiBjbGllbnRfbmV3KCkgd2hpY2ggbWF5IGJlIGNhbGxlZCB2aWEgdGhlIGFkZC1jbGllbnQgYWN0aW9uCgkgIHNpZ25hbCB3aGljaCBtYXkgYmUgY2FsbGVkIGJlZm9yZSB0aGUgZWxlbWVudCBpcyB1cCBhbmQgcnVubmluZy4KCjIwMTUtMDUtMTkgMTg6MTM6MTYgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvdWRwL2dzdHVkcHNyYy5jOgoJKiBnc3QvdWRwL2dzdHVkcHNyYy5oOgoJICB1ZHBzcmM6IGtlZXAgR0NhbmNlbGxhYmxlIGZkIGFyb3VuZCBpbnN0ZWFkIG9mIHJlLWNyZWF0aW5nIGl0IGNvbnN0YW50bHkKCSAgT3RoZXJ3aXNlIHdlIGNvbnN0YW50bHkgY3JlYXRlL2Nsb3NlIGV2ZW50IGZpbGUgZGVzY3JpcHRvcnMsCgkgIGV2ZXJ5IHNpbmdsZSB0aW1lIHdlIGNhbGwgZ19zb2NrZXRfY29uZGl0aW9uX3RpbWVkX3dhaXQoKSBvcgoJICBnX3NvY2tldF9yZWNlaXZlX21lc3NhZ2UoKSwgaS5lLiB0d2ljZSBwZXIgcGFja2V0IHJlY2VpdmVkIQoJICBUaGlzIHdhcyBub3QgcGFydGljdWxhcmx5IGdvb2QgZm9yIHBlcmZvcm1hbmNlLgoJICBBbHNvIG9ubHkgY3JlYXRlIEdDYW5jZWxsYWJsZSBvbiBzdGFydC11cC4KCjIwMTUtMDUtMjYgMTU6MzM6MzcgKzAxMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXMuYmdAc2Ftc3VuZy5jb20+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcmVhZC1jb21tb24uYzoKCSAgbWF0cm9za2E6IG92ZXJ3cml0dGVuIHZhbHVlIGFzc2lnbm1lbnQKCSAgY3VycG9zIGlzIHNldCBhbmQgaW1tZWRpYXRlbHkgYWZ0ZXIsIHNldCBhZ2Fpbi4gUmVtb3ZlIHRoZSByZWR1bmRhbnQKCSAgYXNzaWdubWVudC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0OTkwOQoKMjAxNS0wNS0yMyAxMzo0NzoxNyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwdnJhd2RlcGF5LmM6CgkgIHJ0cHZyYXdkZXBheTogZG9uJ3Qgc2hhZG93IGV4aXN0aW5nIG91dGJ1ZiB2YXJpYWJsZQoJICBBbmQgZml4IHVucmVmIG9mIHRoZSB3cm9uZyBvbmUgd2hpY2ggd2lsbCBjb250YWluIE5VTEwKCSAgaW4gYW4gZXJyb3IgY29kZSBwYXRoLgoKMjAxNS0wNS0yMyAxMzoyMzoyMiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwdnJhd2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwdnJhd2RlcGF5Lmg6CgkgIHJ0cHZyYXdkZXBheTogbWFwL3VubWFwIG91dHB1dCBmcmFtZSBvbmx5IG9uY2UsIG5vdCBmb3IgZXZlcnkgaW5wdXQgcGFja2V0CgkgIE1hcCBvdXRwdXQgYnVmZmVyIGFmdGVyIGNyZWF0aW5nIGl0IGFuZCBrZWVwIGl0IG1hcHBlZAoJICB1bnRpbCB3ZSdyZSBkb25lIHdpdGggaXQgaW5zdGVhZCBvZiBtYXBwaW5nL3VubWFwcGluZwoJICBpdCBmb3IgZXZlcnkgc2luZ2xlIGlucHV0IGJ1ZmZlci4KCjIwMTUtMDUtMjUgMDg6NDc6NDcgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiByZW1vdmUgZml4bWUgZnJvbSAyMDA2CgkgIEl0IGhhcyBiZWVuIHZlcmlmaWVkIGJ5IHVzZSBvdmVyIHRpbWUuCgoyMDE1LTA1LTIzIDE0OjM2OjQxIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogZml4IHJldmVyc2UgcGxheWJhY2sgb2YgZnJhZ21lbnRlZCBtZWRpYQoJICBxdGRlbXV4IGNyZWF0ZXMgYSBzYW1wbGVzIGFycmF5IGFuZCBnZXRzIHRoZSB0aW1lc3RhbXBzIGZvciBidWZmZXJzIGJ5CgkgIGFjY3VtdWxhdGluZyB0aGVpciBkdXJhdGlvbnMuIFdoZW4gZG9pbmcgcmV2ZXJzZSBwbGF5YmFjayBvZiBmcmFnbWVudHMsCgkgIGFjY3VtdWxhdGluZyBzYW1wbGVzIHdpbGwgbGVhZCB0byB3cm9uZyB0aW1lc3RhbXBzIGFzIHRoZSB0aW1lc3RhbXBzCgkgIHNob3VsZCBnbyBkZWNyZWFzaW5nIGZyb20gZnJhZ21lbnQgdG8gZnJhZ21lbnQgYW5kIHRoZSBhY2N1bXVsYXRpb24KCSAgd2lsbCBwcm9kdWNlIHdyb25nIHJlc3VsdHMuCgkgIEluIHRoaXMgY2FzZSwgd2hlbiByZWNlaXZpbmcgYSBkaXNjb250IGZvciBmcmFnbWVudGVkIHJldmVyc2UgcGxheWJhY2ssCgkgIHRoZSBwcmV2aW91cyBzYW1wbGVzIGluZm9ybWF0aW9uIHNob3VsZCBiZSBmbHVzaGVkIGJlZm9yZSBuZXcgZGF0YQoJICBpcyBwcm9jZXNzZWQuCgoyMDE1LTA1LTIzIDAxOjAzOjE4ICswOTAwICBKaW1teSBPaG4gPHlvbmdqaW4ub2huQGxnZS5jb20+CgoJKiBnc3QvbXVsdGlmaWxlL2dzdHNwbGl0ZmlsZXNyYy5jOgoJICBzcGxpdGZpbGVzcmM6IEltcGxlbWVudCBiaW5hcnkgc2VhcmNoIGluIGZpbmRfcGFydF9mb3Jfb2Zmc2V0CgkgIEltcGxlbWVudCBiaW5hcnkgc2VhcmNoIHVzaW5nIGdzdF91dGlsX2FycmF5X2JpbmFyeV9zZWFyY2gKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0OTY5MAoKMjAxNS0wNS0yMSAxMzoyNjo1MyArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSAgcnRwc2Vzc2lvbjogRG9uJ3QgY3Jhc2ggaWYgd2UgcmVjZWl2ZSBGSVIvUExJIGZyb20gYSBzb3VyY2Ugd2UgZG9uJ3Qga25vdwoKMjAxNS0wNS0yMSAwOTozNTo1OCArMDIwMCAgU2FudGlhZ28gQ2Fyb3QtTmVtZXNpbyA8c2FuY2FuZUBnbWFpbC5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkgIHJ0cHNlc3Npb246IEZpeCBjb2xsZWN0aW9uIG9mIHN0YXRpc3RpY3MKCSAgU3RhdHMgc2hvdWxkIGJlIGNvbGxlY3RlZCBvbiB0aGUgbWVkaWEgcnRwIHNvdXJjZSBub3QgaW4gdGhlCgkgIHNlbmRlciBvbmUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDk2NjkKCjIwMTUtMDQtMjAgMTA6MDc6MzAgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbXVsdGlmaWxlL2dzdG11bHRpZmlsZXNpbmsuYzoKCSogZ3N0L211bHRpZmlsZS9nc3RtdWx0aWZpbGVzaW5rLmg6CgkgIG11bHRpZmlsZXNpbms6IEFkZCBhIG5ldyBtYXgtZHVyYXRpb24gZmlsZSBzd2l0Y2hpbmcgbW9kZQoJICBUaGlzIG5ldyBtb2RlIGVuc3VyZXMgdGhhdCBmaWxlcyB3aWxsIG5ldmVyIGV4Y2VlZCBhIGNlcnRhaW4gZHVyYXRpb24KCSAgYmFzZWQgb24gaW5jb21pbmcgYnVmZmVyIFBUUyAoYW5kIGR1cmF0aW9uIGlmIHByZXNlbnQpCgkgIE5vdGU6CgkgICogWW91IG5lZWQgdGltZXN0YW1wZWQgYnVmZmVycyAoZHVoKS4gSWYgc29tZSBvZiB0aGUgaW5jb21pbmcgYnVmZmVycyBkb24ndAoJICBoYXZlIFBUUywgdGhlbiBpdCB3aWxsIGp1c3QgYWNjZXB0IHRoZW0gaW4gdGhlIGN1cnJlbnQgZmlsZQoKMjAxNS0wNC0xNyAxNjoxODozMiArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9tdWx0aWZpbGUvZ3N0bXVsdGlmaWxlc2luay5jOgoJICBtdWx0aWZpbGVzaW5rOiBzdHJlYW1saW5lIHRoZSBmaWxlLXN3aXRjaCBjb2RlIGEgYml0CgkgIFVzZSB0aGUgc2FtZSBmdW5jdGlvbnMgcmVnYXJkbGVzcyBvZiB0aGUgbW9kZSB3ZSBhcmUgdXNpbmcKCjIwMTUtMDQtMDIgMTM6MzU6MTggKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbXVsdGlmaWxlL2dzdG11bHRpZmlsZXNpbmsuYzoKCSogZ3N0L211bHRpZmlsZS9nc3RtdWx0aWZpbGVzaW5rLmg6CgkgIG11bHRpZmlsZXNpbms6IGFkZCAiYWdncmVnYXRlLWdvcHMiIHByb3BlcnR5IHRvIHByb2Nlc3MgR09QcyBhcyBhIHdob2xlCgkgIFRoaXMgcHJvcGVydHkgY2FuIGJlIHVzZWQgaW4gY29tYmluYXRpb24gd2l0aCBuZXh0LWZpbGU9bWF4LXNpemUKCSAgKGFuZCBwZXJoYXBzIGEgZnV0dXJlIG5leHQtZmlsZT1tYXgtZHVyYXRpb24pIHRvIG1ha2Ugc3VyZSB0aGF0CgkgIGVhY2ggZmlsZSBwYXJ0IHN0YXJ0cyBjbGVhbmx5IHdpdGggYSBrZXkgZnJhbWUgYW5kIHRoZSBhcHByb3ByaWF0ZSBoZWFkZXJzLgoJICBJbiBvcmRlciBmb3IgdGhpcyBwcm9wZXJ0eSB0byB3b3JrIGNvcnJlY3RseSwgdXBzdHJlYW0gZWxlbWVudHMgc2hvdWxkIG1ha2UKCSAgc3VyZSB0aGFuIGFueSBoZWFkZXJzIHRoYXQgbmVlZCB0byBiZSB3cml0dGVuIGluIGEgc3RhbmRhbG9uZSBmaWxlIGFyZToKCSAgMSkgaW4gdGhlIHN0cmVhbWhlYWRlciBjYXBzIGZpZWxkCgkgIDIpIGFuZC9vciBpbiB0aGUgc3RyZWFtIGFzIG9uZSBvciBtb3JlIGJ1ZmZlcnMgbWFya2VkIHdpdGggR1NUX0JVRkZFUl9GTEFHX0hFQURFUgoJICB0aGF0IGFyZSBqdXN0IGJlZm9yZSB0aGUga2V5ZnJhbWUgYnVmZmVyCgkgIFRoaXMgaXMgdXNlZnVsIGZvciBNUEVHLVRTL01QRUctUFMgZmlsZSBzZWdtZW50aW5nIGluCgkgIGNvbWJpbmF0aW9uIHdpdGggbXBlZ3RzbXV4IG9yIG1wZWdwc211eC4KCSAgT3JpZ2luYWwgcGF0Y2ggYnk6IFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoyMDE1LTA1LTIwIDE2OjM3OjIyICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5oOgoJICBydHNwc3JjOiBVc2Ugc2luZ2xlLWluY2x1ZGUgaGVhZGVyIGZvciB0aGUgUlRTUCBsaWJyYXJ5CgoyMDE0LTEwLTI0IDIzOjQ3OjIxICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3VkcC9nc3RkeW51ZHBzaW5rLmM6CgkqIGdzdC91ZHAvZ3N0bXVsdGl1ZHBzaW5rLmM6CgkqIGdzdC91ZHAvZ3N0dWRwc3JjLmM6CgkgIHVkcDogZG9uJ3QgdXNlIHNvb24tdG8tYmUtZGVwcmVjYXRlZCBnX2NhbmNlbGxhYmxlX3Jlc2V0KCkKCSAgRnJvbSB0aGUgQVBJIGRvY3VtZW50YXRpb246ICJOb3RlIHRoYXQgaXQgaXMgZ2VuZXJhbGx5IG5vdAoJICBhIGdvb2QgaWRlYSB0byByZXVzZSBhbiBleGlzdGluZyBjYW5jZWxsYWJsZSBmb3IgbW9yZQoJICBvcGVyYXRpb25zIGFmdGVyIGl0IGhhcyBiZWVuIGNhbmNlbGxlZCBvbmNlLCBhcyB0aGlzCgkgIGZ1bmN0aW9uIG1pZ2h0IHRlbXB0IHlvdSB0byBkby4gVGhlIHJlY29tbWVuZGVkIHByYWN0aWNlCgkgIGlzIHRvIGRyb3AgdGhlIHJlZmVyZW5jZSB0byBhIGNhbmNlbGxhYmxlIGFmdGVyIGNhbmNlbGxpbmcKCSAgaXQsIGFuZCBsZXQgaXQgZGllIHdpdGggdGhlIG91dHN0YW5kaW5nIGFzeW5jIG9wZXJhdGlvbnMuCgkgIFlvdSBzaG91bGQgY3JlYXRlIGEgZnJlc2ggY2FuY2VsbGFibGUgZm9yIGZ1cnRoZXIgYXN5bmMKCSAgb3BlcmF0aW9ucy4iCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzkxMzIKCjIwMTUtMDUtMTggMjA6MTM6MDEgKzAyMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvYXVkaW9meC9hdWRpb2NoZWJiYW5kLmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvY2hlYmxpbWl0LmM6CgkqIGdzdC9jdXR0ZXIvZ3N0Y3V0dGVyLmM6CgkqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVybmJhbmRzLmM6CgkqIGdzdC9tdWx0aWZpbGUvZ3N0bXVsdGlmaWxlc2luay5jOgoJICBSZXZlcnQgImRvYzogV29ya2Fyb3VuZCBndGtkb2MgaXNzdWUiCgkgIFRoaXMgcmV2ZXJ0cyBjb21taXQgMTc5N2M4ZjhiMTJkN2Y0YzdhOTQ0NGM5NGYzNGY0ZDA4ZWM4NTk0NS4KCSAgVGhpcyBpcyBmaXhlZCBieSB0aGUgZ3RrLWRvYyAxLjIzIHJlbGVhc2UuCgkgIDxwYXJhPiBjYW5ub3QgY29udGFpbiA8cmVmc2VjdDI+OgoJICBodHRwOi8vd3d3LmRvY2Jvb2sub3JnL3RkZy9lbi9odG1sL3BhcmEuaHRtbAoJICBodHRwOi8vd3d3LmRvY2Jvb2sub3JnL3RkZy9lbi9odG1sL3JlZnNlY3QyLmh0bWwKCjIwMTUtMDUtMTggMTY6NDA6MjEgKzAyMDAgIE5pY29sYSBNdXJpbm8gPG5pY29sYS5tdXJpbm9AZ21haWwuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBnNzI2cGF5LmM6CgkgIHJ0cGc3MjZwYXk6IGZpeCBjYXBzIGxlYWsKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0OTU0NAoKMjAxNS0wNS0xOCAxNjozNDoxMyArMDIwMCAgTmljb2xhIE11cmlubyA8bmljb2xhLm11cmlub0BnbWFpbC5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjZkZXBheS5jOgoJICBydHBnNzI2ZGVwYXk6IGRvbid0IGxlYWsgaW5wdXQgYnVmZmVyCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDk1NDMKCjIwMTUtMDUtMTggMTc6Mzg6MzEgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuYzoKCSAgcnRwc291cmNlOiBRdWV1ZSBiYWQgcGFja2V0cyBpbnN0ZWFkIG9mIGRyb3BwaW5nIHRoZW0KCSAgU28gd2UgY2FuIHNlbmQgdGhlbSBvdXQgb25jZSB3ZSBmb3VuZCB0aGUgbmV4dCwgY29uc2VjdXRpdmUgc2VxdWVuY2UgbnVtYmVyIGluCgkgIGNhc2Ugb25lIGlzIGZvbGxvd2luZy4KCjIwMTUtMDUtMTggMTc6Mzg6MTQgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuYzoKCSAgcnRwc291cmNlOiBVc2UgZ19xdWV1ZV9mb3JlYWNoKCkgdG8gdW5yZWYgYWxsIGJ1ZmZlcnMgaW4gcXVldWVzCgoyMDE1LTA1LTE4IDE3OjE5OjMxICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmM6CgkgIHJ0cHNvdXJjZTogUmVmYWN0b3Igc2VxbnVtIGNvbXBhcmlzb24gY29kZSBhIGJpdAoKMjAxNS0wNS0xOCAxNzowODo1MyArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5jOgoJICBydHBzb3VyY2U6IEFsbG93IHNlcXVlbmNlIG51bWJlciB3cmFwYXJvdW5kIGR1cmluZyBwcm9iYXRpb24KCjIwMTUtMDUtMTggMTc6MDc6MjMgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuYzoKCSAgcnRwc291cmNlOiBNYWtlIHNlcXVlbmNlIG51bWJlciBjb21wYXJpc29uIGNvZGUgbW9yZSByZWFkYWJsZQoJICAuLi4gYnkgdXNpbmcgZ3N0X3J0cF9idWZmZXJfY29tcGFyZV9zZXFudW0oKSBhbmQgc2lnbmVkIGludGVnZXJzCgkgIGluc3RlYWQgb2YgaW1wbGljdGx5IHVzaW5nIGVmZmVjdHMgb2YgaW50ZWdlciBvdmVyL3VuZGVyZmxvd3MuCgoyMDE1LTA0LTIyIDE4OjU0OjA2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIHJ0cGppdHRlcmJ1ZmZlcjogV2hlbiBkZXRlY3RpbmcgYSBodWdlIHNlcW51bSBnYXAsIHdhaXQgZm9yIDUgY29uc2VjdXRpdmUgcGFja2V0cyBiZWZvcmUgcmVzZXR0aW5nIGV2ZXJ5dGhpbmcKCSAgSXQgbWlnaHQganVzdCBiZSBhIGxhdGUgcmV0cmFuc21pc3Npb24gb3Igc3B1cmlvdXMgcGFja2V0IGZyb20gZWxzZXdoZXJlLCBidXQKCSAgcmVzZXR0aW5nIGV2ZXJ5dGhpbmcgd291bGQgbWVhbiB0aGF0IHdlIHdpbGwgY2F1c2UgYSBub3RpY2VhYmxlIGhpY2t1cC4gTGV0J3MKCSAgZ2V0IHNvbWUgY29uZmlkZW5jZSBmaXJzdCB0aGF0IHRoZSBzZXF1ZW5jZSBudW1iZXJzIGNoYW5nZWQgZm9yIHdoYXRldmVyCgkgIHJlYXNvbi4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NzkyMgoKMjAxNS0wNS0xNiAyMzozNzowNiAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9meC9hdWRpb2NoZWJiYW5kLmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvY2hlYmxpbWl0LmM6CgkqIGdzdC9jdXR0ZXIvZ3N0Y3V0dGVyLmM6CgkqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVybmJhbmRzLmM6CgkqIGdzdC9tdWx0aWZpbGUvZ3N0bXVsdGlmaWxlc2luay5jOgoJICBkb2M6IFdvcmthcm91bmQgZ3RrZG9jIGlzc3VlCgkgIFdpdGggZ3RrZG9jIDEuMjIsIHRoZSBYTUwgZ2VuZXJhdG9yIGZhaWxzIHdoZW4gYSBpdGVtaXplZGxpc3QgaXMKCSAgZm9sbG93ZWQgYnkgYSByZWZzZWN0Mi4gV29ya2Fyb3VuZCB0aGUgaXNzdWUgYnkgd3JhcHBpbmcgdGhlCgkgIHJlZnNlY3QyIGludG8gcGFyYS4KCjIwMTUtMDEtMjMgMTM6NTc6NDAgKzAxMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXhfdHlwZXMuYzoKCSAgcXRkZW11eDogYXZvaWQgd3Jvbmcgd2FybmluZ3Mgb24gdW5rbm93biBub2RlIHR5cGVzCgkgIEFkZCAnbmFtZScgYW5kICdtZWFuJyBmb3VyY2NzLCBhcyB3ZSBoYW5kbGUgdGhlbS4gUmlnaHQgbm93IGVhY2ggdXNlIHdvdWxkCgkgIHRyaWdnZXIgYSB3YXJuaW5nLgoKMjAxNS0wNS0wOCAxOToxMzowMCArMDIwMCAgTmljb2xhIE11cmlubyA8bmljb2xhLm11cmlub0BnbWFpbC5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjZkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjZkZXBheS5oOgoJICBydHBnNzI2ZGVwYXk6IGFkZCBibG9ja19hbGlnbiB0byBvdXRwdXQgY2FwcwoJICBJdCBpcyBuZWVkZWQgdG8gY29ycmVjdGx5IG5lZ290aWF0ZSBjYXBzIHdpdGggbWF0cm9za2FtdXgKCSAgYW5kIG1vc3Qgb3RoZXIgbXV4ZXJzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ5MTI5CgoyMDE1LTA1LTEyIDEzOjQxOjU4ICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2F1ZGlvZngvYXVkaW9meGJhc2VmaXJmaWx0ZXIuYzoKCSAgYXVkaW9meGJhc2VmaXJmaWx0ZXI6IEZpeCB0aW1lLWRvbWFpbiBjb252b2x1dGlvbiB3aXRoID4xIGNoYW5uZWxzCgkgIGlucHV0X3NhbXBsZXMgaXMgdGhlIG51bWJlciBvZiBmcmFtZXMsIGJ1dCB3ZSB1c2VkIGl0IGFzIHRoZSBudW1iZXIgb2YKCSAgc2FtcGxlcy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NzIwNAoKMjAxNS0wNS0xMiAxMjoxMzoxNiArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC92cHgvZ3N0dnA4ZW5jLmM6CgkqIGV4dC92cHgvZ3N0dnA5ZW5jLmM6CgkgIHZwWzg5XWVuYzogUHJvcGVybHkgY29udmVydCBiZXR3ZWVuIEdTdHJlYW1lciBhbmQgZW5jb2RlciB0aW1lYmFzZQoJICAuLi4gYnkgc3dpdGNoaW5nIG51bWVyYXRvciBhbmQgZGVub21pbmF0b3Igd2hlbiBzY2FsaW5nLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ5MTIyCgoyMDE1LTA1LTExIDEzOjMzOjI2ICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3ZweC9nc3R2cDhlbmMuYzoKCSogZXh0L3ZweC9nc3R2cDllbmMuYzoKCSAgdnBbODldZW5jOiBEb24ndCBzZXQgdGltZWJhc2UgZnJvbSB0aGUgZnJhbWVyYXRlCgkgIFRoZSBmcmFtZXJhdGUgdmVyeSBvZnRlbiBpcyBqdXN0IGFuIGluZGljYXRpb24gb2YgdGhlIGlkZWFsIGZyYW1lcmF0ZSwgbm90IHRoZQoJICBhY3R1YWwgZnJhbWVyYXRlIG9mIHRoZSBzdHJlYW0uIEJ5IGp1c3QgdXNpbmcgdGhlIGZyYW1lcmF0ZSwgd2UgY29uZnVzZSB0aGUKCSAgcmF0ZSBjb250cm9sIGFsZ29yaXRobSBhbGdvcml0aG0gYXMgbXVsdGlwbGUgZnJhbWVzIHdpbGwgbWFwIHRvIHRoZSBzYW1lIFBUUwoJICBvciBoYXZlIGR1cmF0aW9ucyBvZiAwLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ5MTIyCgoyMDE1LTA1LTEwIDE0OjIxOjA0ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtbmF1d0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy93YXZwYWNrcGFyc2UuYzoKCSAgdGVzdHM6IHdhdnBhY2twYXJzZTogZml4IHVuaXQgdGVzdAoJICBTZWUgYWxzbyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM4MjM3CgoyMDE1LTA1LTEwIDExOjA1OjAwICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3Nob3V0Mi9nc3RzaG91dDIuYzoKCSogZXh0L3ZweC9nc3R2cDhkZWMuYzoKCSogZXh0L3ZweC9nc3R2cDhlbmMuYzoKCSogZXh0L3ZweC9nc3R2cDlkZWMuYzoKCSogZXh0L3ZweC9nc3R2cDllbmMuYzoKCSogZ3N0L3J0cC9nc3RydHBMMTZkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cEwxNnBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cEwyNGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwTDI0cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwYWMzcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwYW1ycGF5LmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cG11eC5jOgoJKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvd2F2ZW5jLmM6CgkqIHRlc3RzL2V4YW1wbGVzL3J0cC9jbGllbnQtUENNQS5jOgoJKiB0ZXN0cy9leGFtcGxlcy9ydHAvc2VydmVyLWFsc2FzcmMtUENNQS5jOgoJICBkb2NzOiB1cGRhdGUgZXhhbXBsZSBwaXBlbGluZXMgaW4gZWxlbWVudCBkb2NzCgkgIE1vc3RseSBnc3QtbGF1bmNoIC0+IGdzdC1sYXVuY2gtMS4wCgkgIFVzZSBhdXRvdmlkZW9zaW5rL2F1dG9hdWRpb3NpbmsgbW9yZSBvZnRlbi4KCSAgU3ByaW5rbGUgc29tZSBjb252ZXJ0ZXJzIGhlcmUgYW5kIHRoZXJlLgoKMjAxNS0wNS0wOSAxOTo0ODo1NSArMDIwMCAgUGlvdHIgRHLEhWcgPHBpb3RyZHJhZ0BnbWFpbC5jb20+CgoJKiBwby9QT1RGSUxFUy5pbjoKCSAgcG86IHVwZGF0ZSBQT1RGSUxFUy5pbgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ5MTYzCgoyMDE1LTA1LTEwIDEwOjUyOjE4ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L211bHRpZmlsZS9nc3RzcGxpdG11eHNyYy5jOgoJICBzcGxpdG11eHNyYzogbWlub3IgZXJyb3IgbWVzc2FnZSBjbGVhbi11cAoJICBEb24ndCBwdXQgZmlsZW5hbWUgaW4gZXJyb3IgbWVzc2FnZSBzaG93biB0byB1c2VyLgoKMjAxNS0wNS0wNyAxNjoyNTozNiArMDIwMCAgR3VpbGxhdW1lIERlc21vdHRlcyA8Z3VpbGxhdW1lLmRlc21vdHRlc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5jOgoJICBmbGFjcGFyc2U6IGZpeCBidWZmZXIgbGVhayB3aGVuIHN0b3JlZCB0byBzZWVrdGFibGUKCSAgRml4IGEgbGVhayB3aXRoIHRoZQoJICB2YWxpZGF0ZS5maWxlLnBsYXliYWNrLmNoYW5nZV9zdGF0ZV9pbnRlbnNpdmUuc2FtcGxlc19tdWx0aW1lZGlhX2N4X2ZsYWNfWWVzdGVyZGF5X2ZsYWMKCSAgc2NlbmFyaW8uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDkwNzIKCjIwMTUtMDUtMDcgMTc6MTA6MzcgKzA5MDAgIFBhdWwgSHl1bmlsIDxwYXVsLmh5dW5pbEBsZ2UuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IGZpeCBleGFtcGxlIHBpcGVsaW5lIGluIGRvY3MKCSAgVGhlIGdzdC1sYXVuY2ggc2NyaXB0IGZvciBleGFtcGxlIGxhdW5jaCBsaW5lIHRvIHRlc3QgcXRkZW11eCBpcwoJICBtaXNzaW5nIGEgcXVldWUgYmVmb3JlIHRoZSBkZWNvZGViaW5zLCBvdGhlcndpc2UgdGhlIGdzdC1sYXVuY2gtMS4wCgkgIGNvbW1hbmQgd29uJ3Qgd29yay4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0OTA1NAoKMjAxNS0wNS0wNyAxNDo1MTo0NSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSAgUmV2ZXJ0ICJydHBzZXNzaW9uOiBBbHNvIHJlcG9ydCBpbnRlcm5hbCBzb3VyY2VzIGluIG9uLW5ldy1zc3JjIGFuZCBvbi1zc3JjLWFjdGl2ZSIKCSAgVGhpcyByZXZlcnRzIGNvbW1pdCBkMjJlYzQ5NjMyOGU2YmE4ZWRiZjJkMDcxZDU2MDhiMmFmMjgzMWU4LgoJICBBcHBsaWNhdGlvbiBjb2RlIG1pZ2h0IGV4cGVjdCB0aGF0IGl0IG9ubHkgZ2V0cyBleHRlcm5hbCBzb3VyY2VzIG9uIHRob3NlCgkgIHNpZ25hbHMsIGFuZCBnZXQgY29uZnVzZWQgYnkgdGhpcy4gSWYgYW55dGhpbmcgd2Ugd291bGQgbmVlZCB0byBhZGQgbmV3CgkgIHNpZ25hbHMuCgoyMDE1LTAzLTI1IDE1OjI3OjM0ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJICBydHBzZXNzaW9uOiBBbHNvIHJlcG9ydCBpbnRlcm5hbCBzb3VyY2VzIGluIG9uLW5ldy1zc3JjIGFuZCBvbi1zc3JjLWFjdGl2ZQoJICBXaXRob3V0IHRoaXMgaXQgc2VlbXMgaW1wb3NzaWJsZSBmb3IgYW4gYXBwbGljYXRpb24gdG8gZWFzaWx5IGdldCBub3RpZmllZAoJICBhYm91dCB0aGUgaW50ZXJuYWwgc3NyY3MgdGhhdCBhcmUgY3JlYXRlZCwgZS5nLiBzZW5kZXIgc291cmNlcywgYW5kIGFsc28KCSAgdG8ga25vdyB3aGVuIHRoZXkgYXJlIGFjdGl2ZSBhbmQgcHJvZHVjZSBSVENQIHBhY2tldHMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDY3NDcKCjIwMTUtMDUtMDQgMTk6MjY6MTQgKzAyMDAgIEd1aWxsYXVtZSBEZXNtb3R0ZXMgPGd1aWxsYXVtZS5kZXNtb3R0ZXNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2pwZWcvZ3N0anBlZ2RlYy5jOgoJICBqcGVnZGVjOiBmaXggZnJhbWUgbGVha3MgaW4gaGFuZGxlX2ZyYW1lKCkgaW1wbGVtZW50YXRpb24KCSAgaGFuZGxlX2ZyYW1lKCkgaXMgc3VwcG9zZWQgdG8gY29uc3VtZSBAZnJhbWUsIHNvIGlmIHdlIGRvbid0IGNhbGwKCSAgZ3N0X3ZpZGVvX2RlY29kZXJfZHJvcF9mcmFtZSgpIG9yIGdzdF92aWRlb19kZWNvZGVyX2ZpbmlzaF9mcmFtZSgpIHdlIGhhdmUgdG8KCSAgcmVsZWFzZSBpdCBtYW51YWxseS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0ODkwOQoKMjAxNS0wNS0wNCAxNjo1MDozOCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogRml4IHVwIGxhc3QgY29tbWl0CgoyMDE1LTA1LTA0IDE2OjQ2OjAyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBPbmx5IGRvIFJUWCB3aGVuIHVzaW5nIGEgZmVlZGJhY2sgcHJvZmlsZQoKMjAxNS0wNS0wNCAxMzo1MDozMSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSAgcnRwc2Vzc2lvbjogVGhlIHN0YXRzIG1pbl9pbnRlcnZhbCBpcyBpbiBzZWNvbmRzLCBub3QgbmFub3NlY29uZHMKCSAgV2UgaGF2ZSB0byBzY2FsZSBpdCB0byBjb21wYXJlIGl0IGFnYWluc3Qgb3VyIGNsb2NrIHRpbWVzLgoKMjAxNS0wNS0wNCAxMTozODoyNyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSAgcnRwc2Vzc2lvbjogT25seSByZXR1cm4gVFJVRSBpZiBlYXJseSBmZWVkYmFjayB3YXMgcmVxdWVzdGVkIGFscmVhZHkgYW5kIGl0J3MgZWFybHkgZW5vdWdoCgoyMDE1LTA0LTMwIDE1OjQyOjM0ICswMTAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzLmJnQHNhbXN1bmcuY29tPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXBhcnNlLmM6CgkgIG1hdHJvc2thOiByZW1vdmUgdW51c2VkIHByb3BlcnR5IGVudW0gaXRlbXMKCjIwMTUtMDQtMzAgMTI6MTM6NTkgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogZml4IGJ1ZmZlciBsZWFrIG9uIGVvcyBpbiBwdXNoIG1vZGUKCSAgQmFzZWQgb24gcGF0Y2ggYnkgR3VpbGxhdW1lIERlc21vdHRlcy4KCSAgc2NlbmFyaW86IHZhbGlkYXRlLmh0dHAucGxheWJhY2suc2Vla193aXRoX3N0b3AucmF3X2gyNjRfMV9tcDQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0ODYxNwoKMjAxNS0wNC0yOSAxOTo0MToyOSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBDaGVjayBmb3Igc2l6ZXMgb2YgdGhlIHJkcmYgKHJlZGlyZWN0KSBhdG9tIGJlZm9yZSBhY2Nlc3NpbmcgdGhlIGRhdGEgYW5kIHVzZSBnX3N0cm5kdXAoKSBpbnN0ZWFkIG9mIGdfc3RyZHVwKCkKCSAgVGhhbmtzIHRvIFJhbHBoIEdpbGVzIGZvciByZXBvcnRpbmcgdGhpcy4KCjIwMTUtMDQtMjkgMTU6NTI6MjcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IE9ubHkgZW5hYmxlIHJldHJhbnNtaXNzaW9ucyBpZiB0aGVyZSBpcyByZXRyYW5zbWlzc2lvbiBpbmZvIGluIHRoZSBTRFAKCSAgT3RoZXJ3aXNlIHdlJ3JlIGdvaW5nIHRvIHNlbmQgZWFybHkgUlRDUCBhbmQgTkFDS3MgaW4gbm9uLWZlZWRiYWNrIHNlc3Npb25zCgkgIHRvbywgd2hpY2ggd2lsbCBjb25mdXNlIHNlcnZlcnMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDg2MjcKCjIwMTUtMDItMTEgMTg6MDk6MjQgKzA1MzAgIFJhdmkgS2lyYW4gSyBOIDxyYXZpLmtpcmFuQHNhbXN1bmcuY29tPgoKCSogZXh0L2R2L2dzdGR2ZGVtdXguYzoKCSAgZHZkZW11eDogZXh0cmFjdCByZWNvcmRpbmcgdGltZQoJICBFeHRyYWN0cyB0aGUgcmVjb3JkZWQgdGltZSBvZiB0aGUgZHYgZmlsZSBmcm9tCgkgIHRoZSBtZXRhZGF0YSBhbmQgcHV0cyBpdCBpbnRvIHRoZSBnbG9iYWwgdGFncy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0MzY1NwoKMjAxNS0wNC0yOCAxNTo1OToyNSArMDIwMCAgR3VpbGxhdW1lIERlc21vdHRlcyA8Z3VpbGxhdW1lLmRlc21vdHRlc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2FkZW11eDogZml4IHNlZWsgZXZlbnQgbGVhawoJICBnc3RfbWF0cm9za2FfZGVtdXhfaGFuZGxlX3NlZWtfZXZlbnQoKSBkb2Vzbid0IGNvbnN1bWUgdGhlCgkgIGV2ZW50IHNvIHdlIGhhdmUgdG8gdW5yZWYgaXQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDg1ODQKCjIwMTUtMDQtMjggMTU6NDI6NDkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2EtZGVtdXg6IFNlbmQgcGVuZGluZyB0YWdzIHdoZW4gYWRkaW5nIGEgbmV3IHBhZAoJICBXZSBtaWdodCd2ZSBwYXJzZWQgdGhvc2UgdGFncyBiZWZvcmUgYWxyZWFkeSBhbmQgdHJpZWQgdG8gcHVzaCB0aGVtIHRvCgkgIG5vbi1leGlzdGluZyBwYWRzIGJlZm9yZS4gTm93IGxldCdzIGRvIGl0IGZvciByZWFsLgoKMjAxNS0wNC0yMyAxODo1NzozNyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHN0YXRzLmM6CgkgIHJ0cHN0YXRzOiBBdmVyYWdlIFJUQ1AgcGFja2V0IHNpemUgaXMgaW4gYnl0ZXMsIGJhbmR3aWR0aHMgaW4gYml0cwoJICBXZSBuZWVkIHRvIGNvbnZlcnQgdGhlIHNpemUgdG8gYml0cyBmb3Igb3VyIGNhbGN1bGF0aW9ucy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0Nzg2MwoKMjAxNS0wNC0yMyAxODo1MzozOSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHN0YXRzLmM6CgkgIHJ0cHN0YXRzOiBVc2UgdGhlIHNhbWUgbG93ZXIgbGltaXQgZm9yIFJUQ1AgYmFuZHdpZHRoIHRvIHN0b3Agc2VuZGluZyBSVENQIGV2ZXJ5d2hlcmUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0Nzg2MwoKMjAxNS0wNC0xNCAxODo0MTowNyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJICBydHBzZXNzaW9uOiBVc2UgYmFuZHdpZHRoIGNhbGN1bGF0aW9uIGJ5IGRlZmF1bHQgaW5zdGVhZCBvZiBzb21lIGFyYml0cmFyeSBoYXJkY29kZWQgdmFsdWUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0Nzg2MwoKMjAxNS0wNC0yMyAxODo0OTozNyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSAgcnRwc2Vzc2lvbjogQmFuZHdpZHRoIGlzIHN1cHBvc2VkIHRvIGJlIGluIGJpdHMvcywgbm90IGJ5dGVzL3MKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0Nzg2MwoKMjAxNS0wNC0yNyAxNjozNjoyNyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cGppdHRlcmJ1ZmZlci5jOgoJICBydHBqaXR0ZXJidWZmZXI6IEZpeCBSVFggdW5pdCB0ZXN0CgkgIFRoZSBjYWxjdWxhdGlvbnMgd2VyZSBhIGJpdCBvZmYgZXZlcnl3aGVyZSwgZXZlbiBiZWZvcmUgdGhlIGNoYW5nZXMgZG9uZQoJICByZWNlbnRseSB0byB0aGUgZGVsYXkgZm9yIFJUWCBvZiBleHBlY3RlZCBmdXR1cmUgcGFja2V0cy4gSXQgb25seSB3b3JrZWQgYnkKCSAgYWNjaWRlbnQsIGJ1dCBub3cgdGhlIGNhbGN1bGF0aW9ucyBhcmUgYWxsIGNvcnJlY3QgYWdhaW4uIEhvcGVmdWxseS4KCjIwMTUtMDQtMjcgMTE6MjI6MTEgKzAxMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXMuYmdAc2Ftc3VuZy5jb20+CgoJKiBnc3QvYXZpL2dzdGF2aW11eC5jOgoJKiBnc3QvZGVidWd1dGlscy9icmVha215ZGF0YS5jOgoJKiBnc3QvZGVidWd1dGlscy9jcHVyZXBvcnQuYzoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0bmF2c2Vlay5jOgoJKiBnc3QvZGVidWd1dGlscy9wcm9ncmVzc3JlcG9ydC5jOgoJKiBnc3QvZGVidWd1dGlscy9ybmRidWZmZXJzaXplLmM6CgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZkZXBheS5jOgoJKiBnc3QvZmx2L2dzdGluZGV4LmM6CgkqIGdzdC9nb29tL2dzdGdvb20uYzoKCSogZ3N0L2dvb20yazEvZ3N0Z29vbS5jOgoJKiBnc3QvaWQzZGVtdXgvZ3N0aWQzZGVtdXguYzoKCSogZ3N0L2lzb21wNC9nc3RydHB4cXRkZXBheS5jOgoJKiBnc3QvbGF3L211bGF3LWRlY29kZS5jOgoJKiBnc3QvbGF3L211bGF3LWVuY29kZS5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcGFyc2UuYzoKCSogZ3N0L211bHRpZmlsZS9nc3RtdWx0aWZpbGVzcmMuYzoKCSogZ3N0L211bHRpcGFydC9tdWx0aXBhcnRtdXguYzoKCSogZ3N0L3J0cC9nc3RydHBhbXJkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGNlbHRkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGR2ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnNzIzZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnNzI5ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDR2cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwcGNtYWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwcGNtdWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwcWNlbHBkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHNwZWV4ZGVwYXkuYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwbXV4LmM6CgkqIGdzdC92aWRlb2Nyb3AvZ3N0YXNwZWN0cmF0aW9jcm9wLmM6CgkqIGdzdC92aWRlb2Nyb3AvZ3N0dmlkZW9jcm9wLmM6CgkqIGdzdC92aWRlb2ZpbHRlci9nc3R2aWRlb3RlbXBsYXRlLmM6CgkqIGdzdC95NG0vZ3N0eTRtZW5jb2RlLmM6CgkgIFJlbmFtZSBwcm9wZXJ0eSBlbnVtcyBmcm9tIEFSR18gdG8gUFJPUF8KCSAgUHJvcGVydHkgZW51bSBpdGVtcyBzaG91bGQgYmUgbmFtZWQgUFJPUF8gZm9yIGNvbnNpc3RlbmN5IGFuZCByZWFkYWJpbGl0eS4KCjIwMTUtMDQtMjUgMDI6NDk6NTggKzAzMDAgIElseWEgS29uc3RhbnRpbm92IDxpbHlhLmtvbnN0YW50aW5vdkBnbWFpbC5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgcnRwaml0dGVyYnVmZmVyOiBGaXggInN0YXRzIiBwcm9wZXJ0eSBkb2NzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDg0MzYKCjIwMTUtMDQtMjYgMTc6NTQ6NTIgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBBbmRyb2lkLm1rOgoJKiBnc3QvYWxwaGEvTWFrZWZpbGUuYW06CgkqIGdzdC9hcGV0YWcvTWFrZWZpbGUuYW06CgkqIGdzdC9hdWRpb2Z4L01ha2VmaWxlLmFtOgoJKiBnc3QvYXVwYXJzZS9NYWtlZmlsZS5hbToKCSogZ3N0L2F1dG9kZXRlY3QvTWFrZWZpbGUuYW06CgkqIGdzdC9hdmkvTWFrZWZpbGUuYW06CgkqIGdzdC9jdXR0ZXIvTWFrZWZpbGUuYW06CgkqIGdzdC9kZWJ1Z3V0aWxzL01ha2VmaWxlLmFtOgoJKiBnc3QvZGVpbnRlcmxhY2UvTWFrZWZpbGUuYW06CgkqIGdzdC9kdG1mL01ha2VmaWxlLmFtOgoJKiBnc3QvZWZmZWN0di9NYWtlZmlsZS5hbToKCSogZ3N0L2VxdWFsaXplci9NYWtlZmlsZS5hbToKCSogZ3N0L2Zsdi9NYWtlZmlsZS5hbToKCSogZ3N0L2ZseC9NYWtlZmlsZS5hbToKCSogZ3N0L2dvb20vTWFrZWZpbGUuYW06CgkqIGdzdC9nb29tMmsxL01ha2VmaWxlLmFtOgoJKiBnc3QvaWN5ZGVtdXgvTWFrZWZpbGUuYW06CgkqIGdzdC9pZDNkZW11eC9NYWtlZmlsZS5hbToKCSogZ3N0L2ltYWdlZnJlZXplL01ha2VmaWxlLmFtOgoJKiBnc3QvaW50ZXJsZWF2ZS9NYWtlZmlsZS5hbToKCSogZ3N0L2lzb21wNC9NYWtlZmlsZS5hbToKCSogZ3N0L2xhdy9NYWtlZmlsZS5hbToKCSogZ3N0L2xldmVsL01ha2VmaWxlLmFtOgoJKiBnc3QvbWF0cm9za2EvTWFrZWZpbGUuYW06CgkqIGdzdC9tb25vc2NvcGUvTWFrZWZpbGUuYW06CgkqIGdzdC9tdWx0aWZpbGUvTWFrZWZpbGUuYW06CgkqIGdzdC9tdWx0aXBhcnQvTWFrZWZpbGUuYW06CgkqIGdzdC9yZXBsYXlnYWluL01ha2VmaWxlLmFtOgoJKiBnc3QvcnRwL01ha2VmaWxlLmFtOgoJKiBnc3QvcnRwbWFuYWdlci9NYWtlZmlsZS5hbToKCSogZ3N0L3J0c3AvTWFrZWZpbGUuYW06CgkqIGdzdC9zaGFwZXdpcGUvTWFrZWZpbGUuYW06CgkqIGdzdC9zbXB0ZS9NYWtlZmlsZS5hbToKCSogZ3N0L3NwZWN0cnVtL01ha2VmaWxlLmFtOgoJKiBnc3QvdWRwL01ha2VmaWxlLmFtOgoJKiBnc3QvdmlkZW9ib3gvTWFrZWZpbGUuYW06CgkqIGdzdC92aWRlb2Nyb3AvTWFrZWZpbGUuYW06CgkqIGdzdC92aWRlb2ZpbHRlci9NYWtlZmlsZS5hbToKCSogZ3N0L3ZpZGVvbWl4ZXIvTWFrZWZpbGUuYW06CgkqIGdzdC93YXZlbmMvTWFrZWZpbGUuYW06CgkqIGdzdC93YXZwYXJzZS9NYWtlZmlsZS5hbToKCSogZ3N0L3k0bS9NYWtlZmlsZS5hbToKCSAgUmVtb3ZlIG9ic29sZXRlIEFuZHJvaWQgYnVpbGQgY3J1ZnQKCSAgVGhpcyBpcyBub3QgbmVlZGVkIGFueSBsb25nZXIuCgoyMDE1LTA0LTI0IDEzOjU1OjA4IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QvdmlkZW9jcm9wL2dzdHZpZGVvY3JvcC5jOgoJICB2aWRlb2Nyb3A6IHByaW50IHRoZSBwcm9wZXJ0eSB2YWx1ZXMgd2hlbiBzZXQKCSAgSW5zdGVhZCBvZiBwcmludGluZyB0aGUgY3VycmVudGx5IHVzZWQgdmFsdWVzLiBUaGUgbG9nIGlzIG1lYW50CgkgIHRvIHNob3cgd2hhdCB0aGUgcHJvcGVydGllcyBjaGFuZ2VkIHRvLCBub3Qgd2hhdCBpcyBiZWluZyBjdXJyZW50bHkKCSAgdXNlZC4KCjIwMTUtMDQtMjQgMTc6MDE6MTAgKzAxMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXMuYmdAc2Ftc3VuZy5jb20+CgoJKiBnc3QvYWxwaGEvZ3N0YWxwaGEuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9rYXJhb2tlLmM6CgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5jOgoJKiBnc3QvbXVsdGlmaWxlL2dzdG11bHRpZmlsZXNpbmsuYzoKCSogZ3N0L3J0cC9nc3RydHBnNzI2ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnNzI2cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZ3N0cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2NHBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGpwZWdwYXkuYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBydHhxdWV1ZS5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBydHhyZWNlaXZlLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHJ0eHNlbmQuYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5jOgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkqIGdzdC9zbXB0ZS9nc3RzbXB0ZS5jOgoJKiBnc3Qvc21wdGUvZ3N0c21wdGVhbHBoYS5jOgoJKiBnc3QvdWRwL2dzdG11bHRpdWRwc2luay5jOgoJKiBnc3QvdWRwL2dzdHVkcHNyYy5jOgoJICByZW1vdmUgdW51c2VkIGVudW0gaXRlbXMgUFJPUF9MQVNUCgkgIFRoaXMgd2VyZSBwcm9iYWJseSBhZGRlZCB0byB0aGUgZW51bXMgZHVlIHRvIGNhcmdvIGN1bHQgcHJvZ3JhbW1pbmcgYW5kIGFyZQoJICB1bnVzZWQuIFJlbW92aW5nIHRoZW0uCgoyMDE1LTA0LTI0IDAwOjMwOjM1ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2xldmVsL2dzdGxldmVsLmM6CgkgIGxldmVsOiBmaXggaW5maW5pdGUgbG9vcCBmb3IgdmVyeSBsb3cgaW50ZXJ2YWwgdmFsdWVzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDU1MTUKCjIwMTUtMDQtMjMgMTY6MDg6NTQgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgdGVzdHM6IGRlZmluZSBHU1RfQ0hFQ0tfVEVTVF9FTlZJUk9OTUVOVF9CRUFDT04KCSAgTWFrZSBzdXJlIHRoZSB0ZXN0IGVudmlyb25tZW50IGlzIHNldCB1cC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvL3Nob3dfYnVnLmNnaT9pZD03NDc2MjQKCjIwMTUtMDQtMjMgMTY6MDg6MzIgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogYnVtcCBhdXRvbWFrZSByZXF1aXJlbWVudCB0byAxLjE0IGFuZCBhdXRvY29uZiB0byAyLjY5CgkgIFRoaXMgaXMgb25seSByZXF1aXJlZCBmb3IgYnVpbGRzIGZyb20gZ2l0LCBwZW9wbGUgY2FuIHN0aWxsCgkgIGJ1aWxkIHRhcmJhbGxzIGlmIHRoZXkgb25seSBoYXZlIG9sZGVyIGF1dG90b29scy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvL3Nob3dfYnVnLmNnaT9pZD03NDc2MjQKCjIwMTUtMDQtMjMgMTY6MDY6NTcgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiAuZ2l0aWdub3JlOgoJICBVcGRhdGUgLmdpdGlnbm9yZQoKMjAxNS0wNC0yMyAwOTo1NTo1OSArMDIwMCAgSmVzcGVyIExhcnNlbiA8a25vcnIuamVzcGVyQGdtYWlsLmNvbT4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogRml4IFJUQ1AgY2FwcyBsZWFrCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnLy9zaG93X2J1Zy5jZ2k/aWQ9NzQ4MzUzCgoyMDE1LTA0LTIyIDIwOjI0OjIwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIHJ0cGppdHRlcmJ1ZmZlcjogV2hlbiByZXF1ZXN0IHJldHJhbnNtaXNzaW9ucyBmb3IgZnV0dXJlIHBhY2tldHMsIGNvbnNpZGVyIHRoZSBwYWNrZXQgc3BhY2luZyBpbiB0aGUgZXh0cmEgZGVsYXkKCSAgV2Ugbm93IHRha2UgdGhlIG1heGltdW0gb2YgMipqaXR0ZXIgYW5kIDAuNSpwYWNrZXRfc3BhY2luZyBmb3IgdGhlIGV4dHJhCgkgIGRlbGF5LiBJZiBqaXR0ZXIgaXMgdmVyeSBsb3csIHRoaXMgc2hvdWxkIHByZXZlbnQgdW5uZWNlc3NhcnkgcmV0cmFuc21pc3Npb24KCSAgcmVxdWVzdHMgdG8gc29tZSBkZWdyZWUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDgwNDEKCjIwMTUtMDQtMjIgMTk6NDE6MDcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgcnRwaml0dGVyYnVmZmVyOiBUYWtlIGEgcnVubmluZyBhdmVyYWdlIG9mIHRoZSBwYWNrZXQgc3BhY2luZ3MgaW5zdGVhZCBvZiBqdXN0IHRoZSBsYXRlc3QKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0ODA0MQoKMjAxNS0wNC0xMyAxMToyMDo0MCArMDIwMCAgTWlndWVsIFBhcsOtcyBEw61heiA8bXBhcmlzZGlhekBnbWFpbC5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgcnRwaml0dGVyYnVmZmVyOiBBZGQgInJ0eC1uZXh0LXNlcW51bSIgcHJvcGVydHkKCSAgSWYgdGhpcyBpcyBzZXQgdG8gRkFMU0UsIHJ0cGppdHRlcmJ1ZmZlciB3aWxsIG5vdCByZXF1ZXN0IHJldHJhbnNtaXNzaW9ucyBmb3IKCSAgZnV0dXJlIHBhY2tldHMgYmFzZWQgb24gd2hlbiB0aGV5IGFyZSBlc3RpbWF0ZWQgdG8gYXJyaXZlLgoJICBTZWUgYWxzbyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ4MDQxCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mzk4NjgKCjIwMTUtMDQtMjIgMTk6Mjk6MzQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBydHhyZWNlaXZlLmM6CgkgIHJ0eHJlY2VpdmU6IFB1dCBkZWJ1ZyBvdXRwdXQgZm9yIHJldHJhbnNtaXNzaW9uIHJlcXVlc3RzIGF0IHRoZSByaWdodCBwbGFjZQoJICBCZWZvcmUgaXQgd2FzIG9ubHkgZXZlciBwcmludGVkIG9uY2UgZm9yIGV2ZXJ5IHRpbWUgYSBzc3JjIHdhcyBhc3NvY2lhdGVkIHdpdGgKCSAgYSBzcGVjaWZpYyBzdHJlYW0uCgoyMDE1LTA0LTIyIDE4OjA1OjI0ICswMjAwICBXaW0gVGF5bWFucyA8d3RheW1hbnNAcmVkaGF0LmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgdjRsMjogZG9uJ3QgYWRkIHRoZSBzYW1lIGludGVybGFjZSBtb2RlIHR3aWNlCgkgIFNvbWUgZHJpdmVycyBtb2RpZnkgdGhlIGludGVybGFjZSBtb2RlIHRvIHByb2dyZXNzaXZlLCBubyBtYXR0ZXIgd2hhdAoJICBpbnB1dCB5b3UgZ2l2ZSB0aGVtLCBtYWtlIHN1cmUgdGhhdCB3ZSBkb24ndCBhZGQgdGhlIHNhbWUgaW50ZXJsYWNlIG1vZGUKCSAgdHdpY2UuCgoyMDE1LTA0LTIxIDE2OjM0OjIxICswMTAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzLmJnQHNhbXN1bmcuY29tPgoKCSogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIuYzoKCSAgZXF1YWxpemVyOiBmaXggZHluYW1pYyBjaGFuZ2VzIG9uIGJhbmRzCgkgIFdoZW4gd2UgYXJlIGluIHBhc3N0aHJvdWdoLCB0aGUgdHJhbnNmb3JtIGZ1bmN0aW9uIGRvZXNuJ3QgcnVuIGFuZCBpZiB0aGUKCSAgcGFzc3Rocm91Z2ggY2hlY2sgaXMgaW4gdGhpcyBmdW5jdGlvbiBpdCB3aWxsIG5ldmVyIGJlIGRlYWN0aXZhdGVkLiBGaXggdGhpcyBieQoJICBjaGVja2luZyBkaXJlY3RseSB3aGVuZXZlciBhIGdhaW4gaXMgY2hhbmdlZC4KCSAgQWxzbyBzZXQgdGhlIHBhc3N0aHJvdWdoIHRvIFRSVUUgYXQgaW5pdCBiZWNhdXNlIHRoZSBnYWlucyBkZWZhdWx0IHRvIDAsIHNvIHdlCgkgIGNhbiBwYXNzdGhyb3VnaCB1bnRpbCBhbnkgZ2FpbiBwcm9wZXJ0eSBpcyBjaGFuZ2VkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ4MDY4CgoyMDE1LTA0LTIyIDEwOjMwOjUyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogSU5TVEFMTDoKCSAgUmVtb3ZlIElOU1RBTEwgZmlsZQoJICBhdXRvdG9vbHMgYXV0b21hdGljYWxseSBnZW5lcmF0ZSB0aGlzLCBhbmQgd2hlbiB1c2luZyBkaWZmZXJlbnQgdmVyc2lvbnMKCSAgZm9yIGF1dG9nZW4uc2ggdGhlcmUgd2lsbCBhbHdheXMgYmUgY2hhbmdlcyB0byBhIGZpbGUgdHJhY2tlZCBieSBnaXQuCgoyMDE1LTA0LTIyIDEwOjMwOjE0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogTElDRU5TRV9yZWFkbWU6CgkgIFJlbW92ZSBMSUNFTlNFX3JlYWRtZQoJICBJdCdzIGNvbXBsZXRlbHkgb3V0ZGF0ZWQgYW5kIGp1c3QgY29uZnVzaW5nLCBiZXR0ZXIgaWYgcGVvcGxlIGFyZQoJICBmb3JjZWQgdG8gbG9vayBhdCB0aGUgYWN0dWFsIGNvZGUgaW4gcXVlc3Rpb24gdGhhbiB0cnVzdGluZyB0aGlzIGZpbGUuCgoyMDE1LTA0LTIxIDE1OjIxOjMzICswMTAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzLmJnQHNhbXN1bmcuY29tPgoKCSogc3lzL3Y0bDIvdjRsMl9jYWxscy5jOgoJICB2NGwyOiBjYXN0IHVudXNlZCByZXR1cm4gdG8gdm9pZAoJICBRdWVsbCB1bmNoZWNrZWQgcmV0dXJuIHZhbHVlIGRlZmVjdCBieSBjYXN0aW5nIHRoZSByZXR1cm4gdmFsdWUgdG8gdm9pZCBhbmQKCSAgbWFraW5nIGl0IGV4cGxpY2l0IGl0IGlzIGdvaW5nIHRvIGJlIGlnbm9yZWQuCgkgIENJRCAjMjA2MDMxCgoyMDE1LTA0LTE3IDEzOjA4OjAyIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBleHQvdnB4L2dzdHZwOGRlYy5jOgoJICB2cDhkZWM6IG9wdGltaXplIHZweCBpbWFnZSB0byBnc3RidWZmZXIgY29weSB3aGVuIHN0cmlkZXMgbWF0Y2gKCSAgU29sdmluZyB0aGlzIEZJWE1FLiBDb3B5IHRoZSBmdWxsIHBsYW5lIHdoZW4gc3RyaWRlcyBhcmUgdGhlIHNhbWUKCjIwMTUtMDQtMTYgMTU6MTE6MDUgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGV4dC92cHgvZ3N0dnA5ZGVjLmM6CgkgIHZwOWRlYzogb3B0aW1pemUgdnB4IGltYWdlIHRvIGdzdGJ1ZmZlciBjb3B5IHdoZW4gc3RyaWRlcyBtYXRjaAoJICBTb2x2aW5nIHRoaXMgRklYTUUuIENvcHkgdGhlIGZ1bGwgcGxhbmUgd2hlbiBzdHJpZGVzIGFyZSB0aGUgc2FtZQoKMjAxNS0wNC0xNyAxMzozMjo1NCArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFjM3BhcnNlLmM6CgkgIGFjM3BhcnNlOiBmaXggbWVtb3J5IGxlYWsKCjIwMTUtMDQtMTcgMDY6NTE6NDYgKzAwMDAgIEFsZXggTydLb25za2kgPGFsZXhhbmRlcm9rb25za2lAZ21haWwuY29tPgoKCSogZ3N0L2ljeWRlbXV4L2dzdGljeWRlbXV4LmM6CgkgIGljeWRlbXV4OiBGaXggc2VnZmF1bHQgaWYgbWV0YWRhdGEtaW50ZXJ2YWwgaXMgMAoJICBQcmV2ZW50cyBhbiBleHRyYSB1bnJlZiBvZiBHc3RCdWZmZXIgd2hlbiBwYXNzaW5nIGEgbm9uLWljeSBzdHJlYW0gdGhyb3VnaAoJICBpY3lkZW11eCB3aXRoIG1ldGFkYXRhLWludGVydmFsIHNldCB0byAwLgoJICBSZXByb2R1Y2libGUgd2l0aDoKCSAgZ3N0LWxhdW5jaC0xLjAgZmlsZXNyYyBsb2NhdGlvbj1+L3Rlc3Rzb25nLm1wMyAhIFwKCSAgJ2FwcGxpY2F0aW9uL3gtaWN5LG1ldGFkYXRhLWludGVydmFsPShpbnQpMCcgISBpY3lkZW11eCAhIGRlY29kZWJpbiAhIHdhdmVuYyAhIFwKCSAgZmlsZXNpbmsgbG9jYXRpb249fi90ZXN0c29uZy53YXYKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0ODAyNAoKMjAxNS0wNC0xNyAxMTo1NDoyMyArMDUzMCAgUmF2aSBLaXJhbiBLIE4gPHJhdmkua2lyYW5Ac2Ftc3VuZy5jb20+CgoJKiBnc3QvYXVkaW9meC9hdWRpb2FtcGxpZnkuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9keW5hbWljLmM6CgkgIGF1ZGlvZng6IGZpeCB0eXBvIGluIGV4YW1wbGUgcGlwZWxpbmVzCgkgIEZpeCB0eXBvIGluIGV4YW1wbGUgcGlwZWxpbmVzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDgwMjIKCjIwMTUtMDQtMTUgMTg6MjI6MzcgKzAzMDAgIElseWEgS29uc3RhbnRpbm92IDxpbHlhLmtvbnN0YW50aW5vdkBnbWFpbC5jb20+CgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4Y29yZWF1ZGlvaGFsLmM6CgkgIG9zeGF1ZGlvOiBmaXggc3BlbGxpbmcgaW4gZGVidWcgbWVzc2FnZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy8vc2hvd19idWcuY2dpP2lkPTc0NzkzNgoKMjAxNS0wNC0xNiAxNjozMzo0NCArMDEwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpcy5iZ0BzYW1zdW5nLmNvbT4KCgkqIHRlc3RzL2V4YW1wbGVzL2VxdWFsaXplci9kZW1vLmM6CgkgIHRlc3RzOiBzZWxlY3RhYmxlIGFtb3VudCBvZiBiYW5kcyBpbiBlcXVhbGl6ZXIgZGVtbwoJICBBZGRpbmcgYW4gb3B0aW9uIGluIHRoZSBlcXVhbGl6ZXIgZGVtbyB0byBtYWtlIHRoZSBudW1iZXIgb2YgYmFuZHMgc2VsZWN0YWJsZS4KCjIwMTUtMDQtMTYgMTU6MzE6MjUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBydHhzZW5kLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5jOgoJICBydHBzb3VyY2UvcnRwcnR4c2VuZDogQWxzbyBwYXNzIGNvcnJlY3Qgc2VxbnVtLW9mZnNldCBhbmQgcGF5bG9hZCB0byB0aGUgUlRYIHJ0cHNvdXJjZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ3Mzk0CgoyMDE1LTA0LTA2IDEyOjU2OjUwICswNTMwICBBcnVuIFJhZ2hhdmFuIDxhcnVuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHJ0eHNlbmQuYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJICBydHBzZXNzaW9uOiBUcmFjayBSVFggc3NyYyBjYXBzCgkgIFRoaXMgaXMgbmVlZGVkIHNvIHRoYXQgd2UgY2FuIGdlbmVyYXRlIFNSIGZvciBSVFggc3RyZWFtIGNvcnJlY3RseSAodGhlCgkgIGNsb2NrIHJhdGUgaXMgcmVxdWlyZWQpLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ3Mzk0CgoyMDE1LTA0LTE0IDEzOjU2OjM4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwcnR4c2VuZC5jOgoJICBydHBydHhzZW5kOiBDb3B5IG92ZXIgdGltZXN0YW1wcyBmcm9tIHRoZSBvcmlnbmFsIGJ1ZmZlcnMgdG8gdGhlIFJUWCBidWZmZXJzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDczOTQKCjIwMTUtMDQtMTYgMTY6MDE6NTAgKzAxMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXMuYmdAc2Ftc3VuZy5jb20+CgoJKiB0ZXN0cy9leGFtcGxlcy9lcXVhbGl6ZXIvZGVtby5jOgoJICB0ZXN0czogc3dpdGNoIGVxdWFsaXplciBkZW1vIHRvIHBsYXkgZnJvbSB1cmkKCSAgU3dpdGNoIHRoZSBlcXVhbGl6ZXItbmJhbmRzIGRlbW8gdG8gdXNlIHVyaWRlY29kZWJpbiwgc28gdXNlcnMgY2FuIGxpc3RlbiB0bwoJICBzb21ldGhpbmcgbW9yZSBwbGVhc2FudCB0aGFuIHdoaXRlIG5vaXNlLiBJZiBhbnlib2R5IG1pc3NlcyB0aGUgd2hpdGUgbm9pc2UKCSAgYSB1cmkgaGFuZGxlciB0byBhdWRpb3Rlc3RzcmMgY2FuIGJlIHVzZWQuCgoyMDE1LTA0LTE2IDExOjE3OjM4ICswMTAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzLmJnQHNhbXN1bmcuY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvZXF1YWxpemVyL2RlbW8uYzoKCSAgdGVzdHM6IGltcHJvdmUgcmVhZGFiaWxpdHkgb2YgZXF1YWxpemVyIGRlbW8KCSAgUmVuYW1lIHZhcmlhYmxlIG5hbWUgdG8gbWFrZSBpdCBtb3JlIHJlYWRhYmxlLCBhZGQgY29tbWVudHMgZm9yIHRoZSB0aHJlZQoJICBzY2FsZXMgY3JlYXRlZCBwZXIgYmxvY2ssIGFuZCBzZXQgdGhlIHdpbmRvdyB0aXRsZS4KCjIwMTUtMDQtMTUgMTc6MzI6MzcgKzAxMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXMuYmdAc2Ftc3VuZy5jb20+CgoJKiB0ZXN0cy9leGFtcGxlcy9lcXVhbGl6ZXIvZGVtby5jOgoJICB0ZXN0czogYWRkIG1pc3NpbmcgbGljZW5zZSBoZWFkZXIgZm9yIGVxdWFsaXplciBkZW1vCgoyMDE1LTA0LTE2IDEzOjA5OjE5ICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBmaXggdGFnIGxpc3QgbGVha3Mgb24gZXJyb3IgcGF0aHMKCjIwMTUtMDQtMTYgMTI6MjM6MzggKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IGZpeCB0YWcgbGlzdCBsZWFrIG9uIHVua25vd24gc3RyZWFtIHR5cGUKCjIwMTUtMDQtMDkgMTM6MTk6NDkgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZ3N0LXBsdWdpbnMtZ29vZC5zdXBwOgoJICBzdXBwcmVzc2lvbnM6IGlnbm9yZSBhbiBhcHBhcmVudCBidWcgaW4gc3RydG9kCgkgIEEgYnVmZmVyIG92ZXJyZWFkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ3NTU0CgoyMDE1LTA0LTE1IDExOjA3OjI3ICswMjAwICBHZW9yZ2UgS2lhZ2lhZGFraXMgPGdlb3JnZS5raWFnaWFkYWtpc0Bjb2xsYWJvcmEuY29tPgoKCSogZ3N0L211bHRpZmlsZS9nc3RzcGxpdG11eHNpbmsuYzoKCSAgc3BsaXRtdXhzaW5rOiBkbyBub3QgYWNjZXNzIHByb3BlcnR5IHZhcmlhYmxlIHdpdGhvdXQgdGhlIG9iamVjdCBsb2NrLCB1c2UgdGhlIGxvY2FsIHN0YWNrIGNvcHkgaW5zdGVhZAoKMjAxNS0wNC0xNCAxODo0NTo0NCArMDIwMCAgR2VvcmdlIEtpYWdpYWRha2lzIDxnZW9yZ2Uua2lhZ2lhZGFraXNAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9tdWx0aWZpbGUvZ3N0c3BsaXRtdXhzaW5rLmM6CgkgIHNwbGl0bXV4c2luazogYWRkIHByb2JlIG9uIHRoZSBtdWx0aXF1ZXVlJ3Mgc2luayBwYWQgaW5zdGVhZCBvZiB0aGUgZ2hvc3QgcGFkCgkgIGJlY2F1c2UgX3JlbGVhc2VfcGFkIHRyaWVzIHRvIHJlbGVhc2UgaXQgZnJvbSBjdHgtPnNpbmtwYWQsIHdoaWNoIGlzCgkgIG11bHRpcXVldWUncyBzaW5rIHBhZCwgYW5kIGN1cnJlbnRseSBmYWlscyBiZWNhdXNlIHRoZSBwcm9iZSBpcyBub3QKCSAgaW5zdGFsbGVkIHRoZXJlCgoyMDE1LTA0LTE0IDE5OjA4OjI0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwcnR4cmVjZWl2ZS5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBydHhzZW5kLmM6CgkgIHJ0cHJ0eCo6IEZpeCB0eXBvcwoKMjAxNS0wNC0xNCAxNzoyNDo0NiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSAgcnRwc2Vzc2lvbjogTm90IHNlbmRpbmcgZWFybHkgUlRDUCBub3cgYmVjYXVzZSBvZiBkaXRoZXJpbmcgbWVhbnMgd2Ugc2VuZCBpdCB3aXRoIHRoZSBuZXh0IGNvbXBvdW5kIHBhY2tldAoKMjAxNS0wNC0xNCAxNjoyNzoxOCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSAgcnRwc2Vzc2lvbjogSW1wcm92ZSBkZWJ1ZyBvdXRwdXQgYSBiaXQgaWYgd2UgY2FuJ3QgYWxsb3cgZWFybHkgZmVlZGJhY2sKCjIwMTUtMDQtMDcgMTg6MDA6NTMgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cHZwOGRlcGF5LmM6CgkgIHJ0cHZwOGRlcGF5OiBXaGVuIGRyb3BwaW5nIGludHJhIHBhY2tldCwgcmVxdWVzdCBrZXlmcmFtZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ3MjA4CgoyMDE1LTA0LTEzIDIwOjI1OjAwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwaml0dGVyYnVmZmVyLmM6CgkgIHJ0cGppdHRlcmJ1ZmZlcjogQ2hhbmdlIHJlc3luY2luZyBHU1RfV0FSTklORyB0byBHU1RfSU5GTwoJICBUaGlzIGFsc28gaGFwcGVucyBpbiB0aGUgdmVyeSBiZWdpbm5pbmcgd2hlbiB3ZSByZWNlaXZlIHRoZSBmaXJzdCBwYWNrZXQsIGEKCSAgd2FybmluZyB3b3VsZCBiZSB2ZXJ5IGNvbmZ1c2luZyBoZXJlLiBJbiBhbGwgcGxhY2VzIHdoZXJlIHdlIHNob3VsZCB3YXJuIGFib3V0CgkgIHRoaXMsIHdlIHdvdWxkJ3ZlIHByaW50ZWQgYSB3YXJuaW5nIGFscmVhZHkgYmVmb3JlLgoKMjAxNS0wNC0wMiAxMzoyNjo0MSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9tdWx0aWZpbGUvZ3N0bXVsdGlmaWxlc2luay5jOgoJICBtdWx0aWZpbGVzaW5rOiBtaW5vciBkb2NzIGltcHJvdmVtZW50CgoyMDE0LTExLTA2IDEyOjA4OjAzICswMTAwICBNaWd1ZWwgUGFyw61zIETDrWF6IDxtcGFyaXNkaWF6QGdtYWlsLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBydHBqaXR0ZXJidWZmZXI6IEFkZCAicnR4LW1heC1yZXRyaWVzIiBwcm9wZXJ0eQoJICBUaGlzIHByb3BlcnR5IGFsbG93cyB0byBsaW1pdCB0aGUgbWF4aW11bSBudW1iZXIgb2YgcmV0cmFuc21pc3Npb24KCSAgZm9yIGEgc3BlY2lmaWMgcGFja2V0LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM5ODY4CgoyMDE0LTExLTA0IDE1OjAwOjUyICswMTAwICBNaWd1ZWwgUGFyw61zIETDrWF6IDxtcGFyaXNkaWF6QGdtYWlsLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBydHBqaXR0ZXJidWZmZXI6IEZpeCBleHBlY3RlZF9kdHMgY2FsYyBpbiBjYWxjdWxhdGVfZXhwZWN0ZWQKCSAgUmlnaHQgYWJvdmUgd2UgY29uc2lkZXIgbG9zdF9wYWNrZXQgcGFja2V0cywgZWFjaCBvZiB0aGVtIGhhdmluZyBkdXJhdGlvbiwKCSAgYXMgbG9zdCBhbmQgdHJpZ2dlcmVkIHRoZWlyIHRpbWVycyBpbW1lZGlhdGVseS4gQmVsb3cgd2UgdXNlIGV4cGVjdGVkX2R0cwoJICB0byBzY2hlZHVsZSByZXRyYW5zbWlzc2lvbiBvciBzY2hlZHVsZSBsb3N0IHRpbWVycyBmb3IgdGhlIHBhY2tldHMgdGhhdAoJICBjb21lIGFmdGVyIGV4cGVjdGVkX2R0cy4KCSAgQXMgd2UganVzdCB0cmlnZ2VyZWQgbG9zdF9wYWNrZXRzIHBhY2tldHMgYXMgbG9zdCwgdGhlcmUncyBubyBwb2ludCBpbgoJICBzY2hlZHVsaW5nIG5ldyB0aW1lcnMgZm9yIHRoZW0gYW5kIHdlIGNhbiBqdXN0IHNraXAgb3ZlciBhbGwgbG9zdCBwYWNrZXRzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM5ODY4CgoyMDE1LTAzLTIwIDE4OjIxOjU3ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIHJ0cGppdHRlcmJ1ZmZlcjogTWFrZSB0aGUgbmV4dCBvdXRwdXQgYnVmZmVyIGRpc2NvbnQgYWZ0ZXIgcmVzZXR0aW5nIHRoZSBqaXR0ZXJidWZmZXIKCSAgUmVzZXR0aW5nIHRoZSBqaXR0ZXJidWZmZXIgZHJvcHMgYWxsIHBhY2tldHMgYW5kIG90aGVyIHRoaW5ncywgYW5kIHdpbGwgY2F1c2UKCSAgYSBkaXNjb250aW51aXR5IGluIHRoZSBwYWNrZXRzIHJlY2VpdmVkIGJ5IHRoZSBkZXBheWxvYWRlcnMuIFRoZXkgc2hvdWxkIG5vdwoJICBhbHNvIGZsdXNoIGFueXRoaW5nIHRoZXkgaGFkIHBlbmRpbmcgYXMgdGhlIG5ldyBkYXRhIHdpbGwgc3RhcnQgYXQgYSBkaWZmZXJlbnQKCSAgcG9zaXRpb24uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mzk4NjgKCjIwMTUtMDQtMTAgMDk6MTc6MjYgKzA5MDAgIEh5dW5qdW4gS28gPHp6b29uLmtvQHNhbXN1bmcuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IFVwZGF0ZSBzZWdtZW50LnN0YXJ0IGFmdGVyIGtleS11bml0IHNlZWsKCSAgV2hlbiBkb2luZyBrZXkgdWludCBzZWVrLCBxdGRlbXV4IGNhbGxzIGdzdF9xdGRlbXV4X2FkanVzdF9zZWVrCgkgIHRvIGdldCBwcm9wZXIgb2Zmc2V0LiBBbmQgdGhlbiB0aGlzIG9mZnNldCBpcyBzZXQgdG8KCSAgc2VnbWVudC5wb3NpdGlvbiBhbmQgc2VnbWVudC50aW1lIGluIGdzdF9xdGRlbXV4X3BlcmZvcm1fc2VlayBidXQKCSAgc2VnbWVudC5zdGFydCBpcyBub3QgdXBkYXRlZC4KCSAgQWZ0ZXIgdGhhdCwgYXBwbGljYXRpb24gc2VuZHMgc2VnbWVudCBxdWVyeSwKCSAgcXRkZW11eCBzZXRzIHN0YXJ0IGFuZCBzdG9wIHRvIHF1ZXJ5IHVzaW5nIGdzdF9zZWdtZW50X3RvX3N0cmVhbV90aW1lLiBEdWUKCSAgdG8gdGhlIHdyb25nIHZhbHVlIGluIHNlZ21lbnQuc3RhcnQsIHRoZSBzdG9wIHBvc2l0aW9uIGlzIHNtYWxsZXIgdGhhbgoJICBpdCBzaG91bGQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDY4MjIKCjIwMTUtMDQtMDcgMTY6MTI6NDAgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC9pc29tcDQvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IHJlbW92ZSB1c2VsZXNzIHZhcmlhYmxlIGRvX3B0cwoJICBXZSBhbHdheXMgd3JpdGUgdGhlIENUVFMgaW4gcXRtdXguIElkZWFsbHkgd2Ugb25seSB3YW50IHRvIGRvIHRoYXQKCSAgZm9yIHN0cmVhbXMgdGhhdCBuZWVkIERUUywgaXQgc2hvdWxkIGJlIHByZXNlbnQgb24gdGhlIHRyYWNrIGluZm9ybWF0aW9uCgkgIHJhdGhlciB0aGFuIGJlIGRlY2lkZWQgYmFzZWQgb24gZWFjaCBidWZmZXIKCjIwMTUtMDQtMDcgMDA6NTM6MzUgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC9pc29tcDQvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IHJlbW92ZSBzdWJ0cmFjdGlvbiB0aGF0IG1ha2VzIFBUUy9EVFMgc3RhcnQgZnJvbSAwCgkgIEFzIHF0IHVzZXMgZHVyYXRpb25zLCBpdCBkb2Vzbid0IG1hdHRlciwgb25seSB0aGUgZGlmZmVyZW5jZQoJICBiZXR3ZWVuIGNvbnNlY3V0aXZlIGJ1ZmZlcnMgaXMgaW1wb3J0YW50LiBBbHNvLCBjb2xsZWN0cGFkcwoJICBhbHJlYWR5IHJlcGxhY2VzIFBUUy9EVFMgd2l0aCB0aGUgcnVubmluZyB0aW1lcyBmb3IgdGhlbS4KCjIwMTUtMDQtMDYgMjI6MzY6NDMgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3F0bXV4LmM6CgkgIHRlc3RzOiBxdG11eDogYWRkIHRlc3RzIHRvIHZlcmlmeSBpdCBoYW5kbGVzIG5vbi0wIHNlZ21lbnRzCgkgIEJvdGggaW5wdXQgc3RyZWFtcyBpbiB0aGlzIHRlc3QgaGF2ZSBhIHNlZ21lbnQuc3RhcnQgPSAxMHMsIHNvCgkgIG91dHB1dCBzaG91bGQgc3RhcnQgZnJvbSAwIGFueXdheS4KCSAgQW5vdGhlciB0ZXN0IGhhcyBib3RoIHN0YXJ0aW5nIGF0IG5vbi0wIHNlZ21lbnRzLCBidXQgdGhlIHJ1bm5pbmcKCSAgdGltZSBvZiBib3RoIHN0cmVhbXMgc2hvdWxkIHN0aWxsIHN0YXJ0IGZyb20gMAoKMjAxNS0wNC0wNiAyMDowMzoxOSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcXRtdXguYzoKCSAgdGVzdHM6IHF0bXV4OiBzaW1wbGUgbXV4aW5nIHRlc3QKCSAgQWRkcyBhIG5ldyBzaW1wbGUgdGVzdCB0aGF0IHZlcmlmaWVzIHRoYXQgZGF0YSBpcyBwcm9wZXJseSBtdXhlZAoJICBhbmQgcHJlc2VydmVkLiAgUFRTLCBEVFMsIGR1cmF0aW9uIGFuZCBjYXBzIGFyZSB2ZXJpZmllZC4KCjIwMTUtMDQtMTAgMTA6NTk6MjYgKzA1MzAgIFJhdmkgS2lyYW4gSyBOIDxyYXZpLmtpcmFuQHNhbXN1bmcuY29tPgoKCSogZ3N0L3NtcHRlL2dzdHNtcHRlLmg6CgkgIHNtcHRlOiByZW1vdmUgdW51c2VkIGZpZWxkcwoJICBSZW1vdmUgdGhlIGZpZWxkcyAtIGZvcm1hdCBhbmQgZnBzIGZyb20gc21wdGUKCSAgYXMgdGhleSBhcmUgdW51c2VkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ3NTk3CgoyMDE1LTA0LTEwIDEwOjI5OjQ3ICswNTMwICBSYXZpIEtpcmFuIEsgTiA8cmF2aS5raXJhbkBzYW1zdW5nLmNvbT4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy8uZ2l0aWdub3JlOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hbHBoYS5jOgoJICB0ZXN0czogYWRkIHRlc3Qgc3VpdGUgZm9yIGFscGhhCgkgIEFkZGVkIHRlc3Qgc3VpdGUgZm9yIGFscGhhIGVsZW1lbnQgd2l0aCB0ZXN0IGNhc2VzCgkgIDEuIGFscGhhCgkgIDIuIGNocm9tYSBrZXlpbmcKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NzU5NQoKMjAxNS0wNC0wOSAxMjo1ODo0NiArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9nc3QtcGx1Z2lucy1nb29kLnN1cHA6CgkgIHN1cHByZXNzaW9uczogYWRkIGEgd2VsbCBrbm93biB6bGliIGluZmxhdGUgYnVnCgoyMDE1LTA0LTA5IDEyOjU4OjI2ICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tdWx0aWZpbGUvZ3N0c3BsaXRtdXhzaW5rLmM6CgkgIHNwbGl0bXV4c2luazogZml4IG11dGV4IGxlYWsKCjIwMTUtMDQtMDkgMTI6NTg6MDQgKzEwMDAgIEphbiBTY2htaWR0IDxqYW5AY2VudHJpY3VsYXIuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwcnR4LmM6CgkgIHRlc3RzOiBGaXggcnRwcnR4IHRlc3QgYnkgaGFuZGxpbmcgYnVmZmVyIGxpc3RzCgkgIENvbW1pdCAjMTAxOGFhIG1hZGUgcnRwcnR4c2VuZCBoYW5kbGUgYnVmZmVyIGxpc3RzLCBicmVha2luZwoJICB0aGUgdGVzdCB3aGljaCBwcm9iZXMgZm9yIGJ1ZmZlcnMsIGJ1dCBub3QgYnVmZmVyIGxpc3RzLgoJICBVc2UgYSB1dGlsaXR5IGZ1bmN0aW9uIHRvIHJ1biB0aGUgcHJvYmUgY2FsbGJhY2sgb24gZWFjaCBidWZmZXIKCSAgaW4gdGhlIGxpc3QgaW4gdHVybiBhbmQgcmVtb3ZlIGFueSBidWZmZXJzIHRoYXQgYXJlIGRyb3BwZWQuCgoyMDE1LTA0LTAxIDExOjE1OjM4ICsxMTAwICBKYW4gU2NobWlkdCA8amFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9pc29tcDQvZ3N0cXRtdXguYzoKCSogZ3N0L2lzb21wNC9nc3RxdG11eC5oOgoJICBpc29tcDQ6IFJlZmFjdG9yIHZhcmlvdXMgc3RhdGUgdmFyaWFibGVzIGludG8gYSBtdXhfbW9kZSB2YXIKCSAgSW5zdGVhZCBvZiBjaGVja2luZyB2YXJpb3VzIHN0YXRlIHZhcmlhYmxlcyBhcm91bmQgdGhlIG11eGVyLAoJICB0cmFjayB0aGUgY3VycmVudCBtdXhpbmcgbW9kZSBpbiBhIHNpbmdsZSAnbXV4X21vZGUnIGVudW0uCgkgIEFkZCBzb21lIGltcGxlbWVudGF0aW9uIG5vdGVzIGFib3V0IHRoZSBkaWZmZXJlbnQgbXV4IG1vZGVzCgoyMDE1LTA0LTA4IDE2OjQwOjAyICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY2VudHJpY3VsYXIuY29tPgoKCSogY29tbW9uOgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgdGVzdHM6IFVzZSBBTV9URVNUU19FTlZJUk9OTUVOVAoJICBOZWVkZWQgYnkgdGhlIG5ldyBhdXRvbWFrZSB0ZXN0IHJ1bm5lcgoKMjAxNS0wNC0wOCAxMToxNzozMSArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2M2RlcGF5LmM6CgkgIHJ0cGgyNjNkZXBheTogRml4IGZyYW1lc2l6ZSBwYXJzaW5nCgkgIFRoZSBzdHJpbmcgcGFzc2VkIHRvIHRoZSBwYXJzaW5nIGZ1bmN0aW9uIG9ubHkgY29udGFpbnMgYSBmcmFtZXNpemUsIGFuZAoJICBub3QgPHB0PiArIDxmcmFtZXNpemU+CgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjY0MTYKCjIwMTUtMDMtMjAgMTI6MTg6MzcgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6CgkgIHdhdnBhcnNlOiBjbGlwIGNodW5rIHNpemUgYWJvdmUgdGhlIHZhbGlkIG1heGltdW0gKDB4N2ZmZmZmZmYpCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjI1NjcKCjIwMTUtMDMtMjAgMDk6MDc6MzUgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6CgkgIHdhdnBhcnNlOiBjbGlwIGNodW5rIGxlbmd0aCB0byBhdmFpbGFibGUgZGF0YSAod2hlbiBrbm93bikKCSAgVGhpcyBwcmV2ZW50cyBzaWxseSBjaHVuayBsZW5ndGhzIGZyb20gcG9zc2libHkgb3ZlcmZsb3dpbmcKCSAgKGF0IGxlYXN0IHdoZW4gd2Uga25vdyB0aGUgYWN0dWFsIGRhdGEgbGVuZ3RoKS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyMjU2NwoKMjAxNS0wNC0wNiAyMDoxNzo1MiAtMDcwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBEb24ndCBhY2N1bXVsYXRlIHNlZ21lbnQgYmFzZXMgbWFudWFsbHkKCSAgZ3N0X3NlZ21lbnRfZG9fc2VlaygpIGRvZXMgdGhhdCBmb3IgdXMgYWxyZWFkeSwgYW5kIGRvaW5nIGl0IHR3aWNlCgkgIHdpbGwgYnJlYWsgbm9uLWZsdXNoaW5nIHNlZWtzIGluIGludGVyZXN0aW5nIHdheXMuIExlZnRvdmVyIGZyb20gMS4wCgkgIHBvcnRpbmcuCgkgIEFsc28gY29weSBvdmVyIHNlZ21lbnQgb2Zmc2V0IGFuZCBhcHBsaWVkX3JhdGUsIGp1c3QgaW4gY2FzZS4KCjIwMTUtMDQtMDYgMTk6MDg6MTAgLTA3MDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiB0ZXN0cy9pY2xlcy90ZXN0LXNlZ21lbnQtc2Vla3MuYzoKCSAgaWNsZXM6IEZpeCB3YWl0aW5nIGZvciBzZWdtZW50LWRvbmUgaWYgaXQgaGFwcGVucyB0b28gZmFzdAoJICBTb21ldGltZXMgd2UgY2FuIGdldCBzZWdtZW50LWRvbmUgYmVmb3JlIHdlIGdvdCBhc3luYy1kb25lLiBJZiB3ZSB3YWl0ZWQKCSAgZm9yIGFzeW5jLWRvbmUgb25seSwgdGhlIHNlZ21lbnQtZG9uZSB3b3VsZCBiZSBkcm9wcGVkIGFuZCB3ZSB3b3VsZCB3YWl0CgkgIGZvcmV2ZXIgZm9yIGl0IGEgZmV3IGxpbmVzIGJlbG93LgoKMjAxNS0wNC0wNiAxODo1NTowOCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IHN0YmxfaW5kZXggaXMgdmFsaWQgZnJvbSAwIG9ud2FyZHMKCSAgSXQgaW5kaWNhdGVzIHRoZSBsYXN0IHNhbXBsZSBwYXJzZWQsIG5vdCB0aGUgbmV4dCBvbmUgdG8gcGFyc2UuCgkgIEFzIGl0IHN0YXJ0cyBpbiAtMSwgYW55IHZhbHVlIGZyb20gMCBvbndhcmRzIG1lYW5zIHRoYXQgaXQgaGFzCgkgIHNvbWUgdmFsaWQgZGF0YS4KCjIwMTUtMDQtMDUgMjA6MDY6MDkgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5oOgoJICBkb2NzOiBtYWtlIEdzdFJUQ1BTeW5jIGVudW0gc2hvdyB1cCBpbiBydHBiaW4gZG9jcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ3MzU4CgoyMDE1LTA0LTA1IDExOjQ1OjQ1ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgIGRvY3M6IGFkZCBSVFBKaXR0ZXJCdWZmZXJNb2RlIGVudW0gdG8gcnRwYmluIGRvY3MKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NzM1OAoKMjAxNS0wNC0wNCAxMTo1NTowMCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0L211bHRpZmlsZS9nc3RtdWx0aWZpbGVzaW5rLmM6CgkgIG11bHRpZmlsZXNpbms6IGNsb3NlIGZpbGVzIGJlZm9yZSBwb3N0aW5nIG1lc3NhZ2UKCSAgTWFrZXMgc3VyZSB0aGUgZmlsZXMgd2VyZSBwcm9wZXJseSBmbHVzaGVkIGFuZCBjbG9zZWQgYmVmb3JlCgkgIHRoZSBtZXNzYWdlIHJlYWNoZXMgdGhlIGFwcGxpY2F0aW9uCgoyMDE1LTAzLTMwIDEzOjU0OjIzIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9tdWx0aWZpbGUuYzoKCSAgdGVzdHM6IG11bHRpZmlsZTogaW5jcmVtZW50IHRlc3RzIHRvIGNoZWNrIGZvciBtdWx0aWZpbGUgbWVzc2FnZXMKCSAgQWxzbyB2ZXJpZnkgdGhhdCB0aGUgbXVsdGlmaWxlc2luayBmaWxlIG1lc3NhZ2VzIGFyZSBiZWluZyBjb3JyZWN0bHkKCSAgcG9zdGVkIHRvIHRoZSBidXMKCjIwMTUtMDMtMzAgMTI6NTE6MzUgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL211bHRpZmlsZS5jOgoJICB0ZXN0czogbXVsdGlmaWxlOiBoYW5kbGUgRklYTUUgZm9yIHByb3BlciBjaGVja2luZyB3aGVuIHRlc3QgZmluaXNoZWQKCSAgVXNlIGEgR3N0QnVzIGFuZCB3YWl0IGZvciBFT1MgdG8gZmluaXNoIHRoZSB0ZXN0cyBpbnN0ZWFkIG9mCgkgIHJlbHlpbmcgb24gc2xlZXBpbmcKCjIwMTUtMDMtMzAgMTE6MTQ6MDkgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC9tdWx0aWZpbGUvZ3N0bXVsdGlmaWxlc2luay5jOgoJICBtdWx0aWZpbGVzaW5rOiBwb3N0IGZpbGUgbWVzc2FnZSBvbiBFT1MKCSAgV2hlbiBtdWx0aWZpbGVzaW5rIGlzIG9wZXJhdGluZyBpbiBhbnkgbW9kZSBvdGhlciB0aGFuIG9uZSBmaWxlCgkgIHBlciBidWZmZXIsIHRoZSBsYXN0IGZpbGUgY3JlYXRlZCB3b24ndCBoYXZlIGEgZmlsZSBtZXNzYWdlIHBvc3RlZAoJICBhcyBtdWx0aWZpbGVzaW5rIGRvZXNuJ3QgaGFuZGxlIHRoZSBFT1MgZXZlbnQuCgkgIFRoaXMgcGF0Y2ggZml4ZXMgaXQgYnkgdXNpbmcgdGhlIGxhc3QgcG9zaXRpb24gdG8gcG9zdCBhIGZpbGUKCSAgbWVzc2FnZSB3aGVuIEVPUyBpcyByZWNlaXZlZC4gVGhpcyBzaG91bGQgZW5zdXJlIGF0IGxlYXN0IHRoZQoJICB0aW1lIHJlbGF0ZWQgZGF0YSBhbmQgdGhlIGZpbGVuYW1lIGFyZSBwb3N0ZWQgdG8gdGhlIGFwcGxpY2F0aW9uCgkgIG9yIG90aGVyIGVsZW1lbnRzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDcwMDAKCjIwMTUtMDQtMDMgMTg6NTc6NTAgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBhdXRvZ2VuLnNoOgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIGJjNzZhOGIgdG8gYzhmYjM3MgoKMjAxNS0wNC0wMyAwMjowODo1MCArMTEwMCAgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogR3VhcmQgYWdhaW5zdCA2NC1iaXQgb3ZlcmZsb3cKCSAgRm9yIGxhcmdlLWZpbGUgYXRvbXMsIGd1YXJkIGFnYWluc3Qgb3ZlcmZsb3cgaW4gdGhlIHNpemUgZmllbGQsCgkgIHdoaWNoIGNvdWxkIG1ha2UgdXMganVtcCBiYWNrd2FyZCBpbiB0aGUgZmlsZSBhbmQgY2F1c2UKCSAgaW5maW5pdGUgbG9vcHMuCgoyMDE1LTA0LTAxIDIzOjQ2OjEzICsxMTAwICBKYW4gU2NobWlkdCA8amFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9pc29tcDQvZ3N0cXRtdXguYzoKCSogZ3N0L2lzb21wNC9nc3RxdG11eC5oOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9xdG11eC5jOgoJICBpc29tcDQ6IE1ha2Ugbm9uLXNlZWthYmxlIGRvd25zdHJlYW0gYW4gZXJyb3IgaW4gbm9ybWFsIG1vZGUKCSAgV2hlbiBub3QgaW4gZmFzdC1zdGFydCBvciBmcmFnbWVudGVkIG1vZGUsIHdlIG5lZWQgdG8gYmUgYWJsZQoJICB0byByZXdyaXRlIHRoZSBzaXplIG9mIHRoZSBtZGF0IGF0b20sIG9yIGVsc2UgdGhlIG91dHB1dCBqdXN0CgkgIHdvbid0IGJlIHBsYXlhYmxlIC0gdGhlIG1kYXQgcGxhY2Vob2xkZXIgd2l0aCBzaXplID09IDAgd2lsbAoJICBjb3ZlciB0aGUgcmVzdCBvZiB0aGUgZmlsZSwgaW5jbHVkaW5nIGFueSBtb292IGF0b20gd2Ugd3JpdGUgb3V0LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA4ODA4CgoyMDE0LTAzLTE1IDE1OjIzOjAxICswMTAwICBTZWJhc3RpYW4gUmFzbXVzc2VuIDxzZWJyYXNAaG90bWFpbC5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNwYXkuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwLXBheWxvYWRpbmcuYzoKCSAgcnRwaDI2M3BheS8tZGVwYXk6IGFkZCBmcmFtZXNpemUgU0RQIGF0dHJpYnV0ZQoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI2NDE2CgoyMDE0LTAzLTE1IDEzOjMzOjU2ICswMTAwICBTZWJhc3RpYW4gUmFzbXVzc2VuIDxzZWJyYXNAaG90bWFpbC5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGpwZWdkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGpwZWdwYXkuYzoKCSAgcnRwanBlZ3BheS8tZGVwYXk6IFJlbW92ZSBpbmNvcnJlY3RseSBpbnRyb2R1Y2VkIGZyYW1lc2l6ZSBTRFAgYXR0cmlidXRlCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjY0MTUKCjIwMTUtMDMtMjcgMjE6MDk6NDQgKzAxMDAgIFBldGVyIFNlaWRlcmVyIDxwcy5yZXBvcnRAZ214Lm5ldD4KCgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5oOgoJICB2NGwyc3JjOiBkZXZpY2Ugc2VxdWVuY2Uvb2Zmc2V0IGNvcnJlY3Rpb24gaW4gY2FzZSBvZiByZW5lZ290aWF0aW9uCgkgIFRoZSB2NGwyIGRldmljZSByZXN0YXJ0cyB0aGUgc2VxdWVuY2UgY291bnRlciBpbiBjYXNlIG9mIHN0cmVhbW9mZi9zdHJlYW1vbiwKCSAgdGhlIEdTVCBvZmZzZXQgdmFsdWVzIGFyZSBzdXBwb3NlZCB0byBpbmNyZW1lbnQgc3RyaWN0bHkgbW9ub3RvbmljLCBzbwoJICBhZGp1c3QgdGhlIHNlcXVlbmNlIGNvdW50ZXIvb2Zmc2V0IHZhbHVlcyBpbiBjYXNlIG9mIGNhcHMKCSAgcmVuZWdvdGlhdGlvbi4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NTQ0MQoKMjAxNC0xMS0xNCAxNDoxODo1MSArMDEwMCAgUGV0ZXIgU2VpZGVyZXIgPHBzLnJlcG9ydEBnbXgubmV0PgoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJICB2NGwyc3JjOiBhZGQgZnJhbWUgbG9zcyBkZXRlY3Rpb24KCSAgSW4gY2FzZSBvZiB2NGwyIGRyaXZlciBmaWxsZWQgb2Zmc2V0L3NlcXVlbmNlIHZhbHVlcyBhZGQgZnJhbWUKCSAgbG9zcyBkZXRlY3Rpb24gKGFuZCB3cml0ZSBhIHdhcm5pbmcgbWVzc2FnZSkuCgkgIE1vdmUgb2Zmc2V0IG1ldGEgZGF0YSBzZXR0aW5nIGFuZCBmcmFtZSBsb3NzIGNoZWNraW5nIGFmdGVyIHRoZQoJICB0aW1lc3RhbXAgYWRqdXN0bWVudCBjb2RlIHRvIGdldCBwcm9wZXIgdGltZXN0YW1wcyBmb3IgdGhlCgkgIHdhcm5pbmcgbWVzc2FnZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NTQ0MQoKMjAxNC0xMS0xNCAxMzo0ODo1MSArMDEwMCAgUGV0ZXIgU2VpZGVyZXIgPHBzLnJlcG9ydEBnbXgubmV0PgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJICB2NGwyOiB1c2UgdjRsMiBjYXB0dXJlIGRldmljZSBzZXF1ZW5jZSBjb3VudGVyCgkgIFVzZSB0aGUgdjRsMiBjYXB0dXJlIGRldmljZSBzZXF1ZW5jZSBjb3VudGVyIGZvcgoJICBzZXR0aW5nIHRoZSBHc3RCdWZmZXIgb2Zmc2V0L29mZnNldF9lbmQgdmFsdWVzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ1NDQxCgoyMDE1LTAzLTMwIDEzOjEyOjM1ICswMjAwICBUb2JpYXMgTW9kc2NoaWVkbGVyIDx0b2JpYXMubW9kc2NoaWVkbGVyQGNldGl0ZWMuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICB2NGwyOiBBc2sgdGhlIGRyaXZlciBhYm91dCBpdHMgcmVxdWlyZW1lbnRzIGZvciBtaW5fYnVmZmVycyBiZWZvcmUgaW5pdGlhdGluZyBidWZmZXIgcG9vbC4KCSAgSWYgcHJvcG9zZV9hbGxvY2F0aW9uKCkgaGFkIG5vdCBiZWVuIGNhbGxlZCB5ZXQsIGl0IHdhcyBwb3NzaWJsZSB0aGF0IHRoZSBkcml2ZXIgd2FzIG5vdCBhc2tlZCBhdCBhbGwuCgkgIEluIGJ1ZmZlciBwb29sOiBDb25zaWRlciBtaW5pbXVtIG51bWJlciBvZiBidWZmZXJzIHJlcXVlc3RlZCBieSBkcml2ZXIgd2hlbiBzZXR0aW5nIGNvbmZpZy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NjgzNAoKMjAxNS0wNC0wMSAxOTozMDoyNyAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwdnA4ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHB2cDhkZXBheS5oOgoJICBydHB2cDhkZXBheTogUGFyc2Ugd2lkdGgvaGVpZ2h0L3Byb2ZpbGUgZnJvbSBrZXlmcmFtZXMKCSAgVGhpcyBtYWtlcyBpdCBwb3NzaWJsZSB0byBtdXggdGhlIHJlc3VsdCBpbnRvIGEgY29udGFpbmVyCgkgIHN1Y2ggYXMgbWF0cm9za2EuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDcyMDgKCjIwMTUtMDQtMDEgMTk6MDE6NDkgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvdnB4L2dzdHZwOGVuYy5jOgoJICB2cDhlbmM6IEV4cG9zZSBWUDggd2lkdGgvaGVpZ2h0IGxpbWl0YXRpb25zIGluIHRoZSBjYXBzIHRlbXBsYXRlCgkgIFRoZSBWUDggZm9ybWF0IHNwZWNpZmljYXRpb24gKFJGQyA2Mzg2IHNlY3Rpb24gMTguMSkgc3BlY2lmaWVzCgkgIHRoYXQgdGhlIG1heGltdW0gc2l6ZSBpcyAxNjM4M3gxNjM4My4KCjIwMTUtMDMtMzEgMDA6MjA6MTMgKzExMDAgIEphbiBTY2htaWR0IDxqYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOgoJICBmbHY6IFdoZW4gcGFzc2luZyBzZWVrIGV2ZW50IHVwc3RyZWFtLCBob2xkIGEgcmVmLgoJICBJbiBjYXNlIHVwc3RyZWFtIGNhbid0IGhhbmRsZSB0aGUgc2VlaywgbWFrZSBzdXJlIHdlCgkgIGtlZXAgYSByZWYgb24gdGhlIGV2ZW50IHRvIGF0dGVtcHQgdG8gaGFuZGxlIGl0IG91cnNlbHZlcy4KCjIwMTUtMDMtMjYgMTM6MzQ6NTMgKzAxMDAgIEd1aWxsYXVtZSBEZXNtb3R0ZXMgPGd1aWxsYXVtZS5kZXNtb3R0ZXNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXJlYWQtY29tbW9uLmM6CgkgIG1hdHJvc2thOiBmaXggR1ZhbHVlIGxlYWtzIHdoZW4gcGFyc2luZyB0YWdzCgkgIGdzdF90YWdfbGlzdF9hZGRfdmFsdWUoKSBkb2Vzbid0IGNvbnN1bWUgdGhlIEdWYWx1ZSB3ZSBwYXNzIHRvIGl0IHNvIHRoZXJlIGlzCgkgIG5vIHBvaW50IGNvcHlpbmcgaXQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDY4MTAKCjIwMTUtMDMtMjMgMjA6NTg6MjUgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1uYXV3QHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiByZXN1cnJlY3Qgc29tZSBmbG93IHJldHVybiBoYW5kbGluZwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ0NTcyCgoyMDE1LTAzLTIzIDIwOjU3OjU2ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtbmF1d0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6CgkgIGZsdmRlbXV4OiByZXN1cnJlY3Qgc29tZSBmbG93IHJldHVybiBoYW5kbGluZwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ0NTcyCgoyMDE1LTAzLTIzIDIwOjU2OjQxICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtbmF1d0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2FkZW11eDogcmVzdXJyZWN0IHNvbWUgZmxvdyByZXR1cm4gaGFuZGxpbmcKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NDU3MgoKMjAxNS0wMy0yNyAxODo1ODozMSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1pZHMuYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWlkcy5oOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcmVhZC1jb21tb24uYzoKCSAgbWF0cm9za2E6IHN0b3JlIHN0cmVhbSB0YWdzIGFuZCBwdXNoIGFzIHVwZGF0ZWQKCSAgTmV3IHRhZ3MgY2FuIGJlIGZvdW5kIG9uIGRpZmZlcmVudCBwYXJ0cyBvZiB0aGUgZmlsZSwgc28gdGhpcyBwYXRjaAoJICBrZWVwcyB0aGUgc3RyZWFtIHRhZ2xpc3RzIGFyb3VuZCBmb3IgdGhlIGxpZmUgY3ljbGUgb2YgdGhlIHBhZAoJICBhbmQgYWRkcyB0aG9zZSBuZXcgdGFncyBhcyBmb3VuZC4gVGhlbiBhIG5ldyB0YWcgaXMgZm91bmQsIHRoZQoJICBwYWQncyBpcyBtYXJrZWQgd2l0aCBhIHRhZ3MgY2hhbmdlZCBmbGFnLCBtYWtpbmcgdGhlIGVsZW1lbnQgcHVzaAoJICBhIG5ldyB0YWcgZXZlbnQgb24gdGhlIG5leHQgY2hlY2suIEJlZm9yZSB0aGlzLCB3ZSB3ZXJlIHNlbmRpbmcKCSAgb25seSB0aGUgbmV3bHkgZm91bmQgdGFncywgYXMgdGhlIGVsZW1lbnQgd2FzIGxvc2luZyBpdHMgdGFnbGlzdAoJICB3aGVuIHB1c2hpbmcgdGhlIGV2ZW50LgoKMjAxNS0wMy0xNSAxNDo0MDozNiArMDEwMCAgUmFtaXJvIFBvbGxhIDxyYW1pcm8ucG9sbGFAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thZGVtdXg6IHNlbmQgZ2xvYmFsIHRhZ3MgaW5jcmVtZW50YWxseQoJICBJbnN0ZWFkIG9mIHNlbmRpbmcgb25seSBuZXcgdGFncyBvbmNlIHRoZXkgYXJlIGZvdW5kLCBtZXJnZSB0aGUgdGFnbGlzdAoJICBhbmQgc2VuZCB0aGVtIGluY3JlbWVudGFsbHkuCgoyMDE1LTAzLTE0IDE3OjA3OjA1ICswMTAwICBSYW1pcm8gUG9sbGEgPHJhbWlyby5wb2xsYUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcGFyc2UuYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXJlYWQtY29tbW9uLmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1yZWFkLWNvbW1vbi5oOgoJICBtYXRyb3NrYXBhcnNlOiBzZW5kIGdsb2JhbCB0YWdzCgkgIEdsb2JhbCB0YWdzIGFyZSBhbHJlYWR5IGJlaW5nIHJlYWQgaW4gbWF0cm9za2FwYXJzZSwgYnV0IHRoZXkgYXJlIG5vdAoJICBjdXJyZW50bHkgYmVpbmcgc2VudC4KCSAgVGhpcyBwYXRjaCBtYWtlcyBnbG9iYWwgdGFncyBnZXQgc2VudCBpbmNyZW1lbnRhbGx5IHdoZW5ldmVyIG5ldyBvbmVzCgkgIGFyZSBmb3VuZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NjI0MgoKMjAxNS0wMi0wMyAxMDoxODo1OCArMDUzMCAgVmluZWV0aCBUIE0gPHZpbmVldGgudG1Ac2Ftc3VuZy5jb20+CgoJKiBnc3QvZWZmZWN0di9nc3RxdWFyay5jOgoJICBxdWFya3R2OiBmaXggInBsYW5lcyIgcHJvcGVydHkgcmFuZ2UsIGEgdmFsdWUgb2YgMCBpcyBub3QgYWxsb3dlZAoJICBXaGVuIHBsYW5lcyBwcm9wZXJ0eSBpcyBzZXQgdG8gMCwgdGhlIHBpcGVsaW5lIGV4ZWN1dGVzIGluCgkgIGFuIGluZmluaXRlIGxvb3AgYW5kIG5ldmVyIGV4aXRzLiBTaW5jZSBwbGFuZXMgbXVzdCBuZXZlcgoJICBiZSAwLCBzZXQgdGhlIG1pbmltdW0gdmFsdWUgaW4gdGhlIHByb3BlcnR5IGRlc2NyaXB0aW9uCgkgIHRvIDEuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDM5MDYKCjIwMTUtMDMtMjYgMTM6NDI6MDIgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6CgkgIHdhdnBhcnNlOiBGaXggdXAgY29tbWVudHMgcmVnYXJkaW5nIERUUwoKMjAxNS0wMy0yNSAxNToxMTozNCAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmg6CgkgIHJ0c3BzcmM6IEZpeCBzZWdtZW50IGluIFRDUCBtb2RlCgkgIEl0IGlzIGV4cGVjdGVkIHRoYXQgYnVmZmVycyBhcmUgdGltZS1zdGFtcGVkIHdpdGggcnVubmluZyB0aW1lLiBTZXQKCSAgYSBzZWdtZW50IGFjY29yZGluZ2x5LiBJbiB0aGlzIGNhc2Ugd2UgcGljayAwLC0xIGFzIHRoaXMgaXMgd2hhdCB1ZHBzcmMKCSAgd291bGQgZG8uIERlcGF5bG9hZGVycyB3aWxsIHVwZGF0ZSB0aGUgc2VnbWVudCB0byByZWZsZWN0IHRoZSBwbGF5YmFjawoJICBwb3NpdGlvbi4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYzNTcwMQoKMjAxNS0wMy0yNiAxMjoyMToyNSAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzoKCSAgd2F2cGFyc2U6IGJlIG1vcmUgc3RyaWN0IGFib3V0IHR5cGVmaW5kaW5nIERUUwoJICBDb2RlIG5vdyBtYXRjaGVzIGNvbW1lbnRzLgoKMjAxNS0wMy0yNSAxNToxMDo1MyAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBSZW1vdmUgdXNlbGVzcyBmdW5jdGlvbgoJICBUaGlzIGZ1bmN0aW9uIGRpZG4ndCBkbyBhbnl0aGluZyBzcGVjaWFsLCBsZXQncyBub3QgdXNlIGEgZnVuY3Rpb24gZm9yCgkgIHRoYXQuCgoyMDE1LTAzLTIwIDEzOjAzOjA5IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgcnRwaml0dGVyOiBBY2NvdW50IGZvciBydHhfcmV0cnkgaW4gb3ZlcmZsb3cgY2hlY2sKCSAgQXMgcnR4X3JldHJ5IGlzIHBhcnQgb2YgdGhlIHN1YnN0cmFjdGlvbiwgd2UgbmVlZCB0byB0YWtlIGl0IGludG8KCSAgYWNjb3VudCwgb3RoZXJ3aXNlIHdlIG1heSBlbmR1cCB3aXRoIGEgYmlnIHZhbHVlLgoKMjAxNS0wMy0yNCAyMzoxNToxNSArMDAwMCAgSnVsaWVuIElzb3JjZSA8ai5pc29yY2VAc2Ftc3VuZy5jb20+CgoJKiBzeXMvb3N4dmlkZW8vY29jb2F3aW5kb3cubToKCSAgb3N4dmlkZW9zaW5rOiBjaGVjayBmb3IgZGVwcmVjYXRlZCBjb25zdGFudHMgcHJpb3IgdG8gT1NYIDEwLjEwCgkgIGNvY29hd2luZG93Lm06MzM5OjU6IGVycm9yOiAnTlNPcGVuR0xQRkFXaW5kb3cnCgkgIGlzIGRlcHJlY2F0ZWQ6IGZpcnN0IGRlcHJlY2F0ZWQgaW4gT1MgWCAxMC45CgkgIGNvY29hd2luZG93Lm06NTc2Ojc6IGVycm9yOiAnTlNPcGVuR0xQRkFGdWxsU2NyZWVuJwoJICBpcyBkZXByZWNhdGVkOiBmaXJzdCBkZXByZWNhdGVkIGluIE9TIFggMTAuNgoJICBjb2NvYXdpbmRvdy5tOjYwNToyNDogZXJyb3I6ICdzZXRGdWxsU2NyZWVuJwoJICBpcyBkZXByZWNhdGVkOiBmaXJzdCBkZXByZWNhdGVkIGluIE9TIFggMTAuNwoKMjAxNS0wMy0yNCAxNjo1MToxMiAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IEZpeCBzZWVraW5nIHF1ZXJ5CgkgIFRoZSBzZWdtZW50IHN0YXJ0L3N0b3AgaW4gdGhlIHF1ZXJ5IGlzIG1lYW50IHRvIHJlcHJlc2VudCB0aGUgc2Vla2FibGUKCSAgcG9ydGlvbiBvZiB0aGUgc3RyZWFtLiBJdCBkb2VzIG5vdCBtYXRjaCB0aGUgc2VnbWVudCBzdGFydC9zdG9wLiBJbnN0ZWFkCgkgIGV4cG9ydCAwIHRvIGR1cmF0aW9uLgoKMjAxNS0wMy0yNCAxNjoxODo1MyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzoKCSAgZmx2ZGVtdXg6IE9ubHkgc2V0IGNhcHMgb25jZSBpZiB0aGV5IGRvbid0IGNoYW5nZQoJICBQcmV2aW91c2x5IHdlIHdlcmUgc2V0dGluZyBuZXcgY2FwcyB3aXRoIHRoZSBzYW1lIGNvbnRlbnQgZm9yIGV2ZXJ5IEgyNjQgb3IKCSAgQUFDIGNvZGVjX2RhdGEgd2UgZm91bmQgaW4gdGhlIHN0cmVhbSwgc3BhbW1pbmcgZXZlcnl0aGluZyBhbmQgY2F1c2luZwoJICByZW5lZ290aWF0aW9ucy4KCjIwMTUtMDMtMjQgMTI6NDY6MTkgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6CgkgIGZsdmRlbXV4OiBEb24ndCBjcmVhdGUgQUFDL0gyNjQgY2FwcyB3aXRob3V0IGNvZGVjX2RhdGEKCSAgSW5zdGVhZCBkZWxheSBjcmVhdGluZyB0aGUgY2FwcyB1bnRpbCB3ZSByZWFkIHRoZSBjb2RlY19kYXRhIGZyb20gdGhlIHN0cmVhbSwKCSAgb3IgZmFpbCBpZiB3ZSBnZXQgbm9ybWFsIGRhdGEgYmVmb3JlIHRoZSBjb2RlY19kYXRhLgoJICBBQUMgcmF3IGNhcHMgYW5kIEgyNjQgYXZjIGNhcHMgYWx3YXlzIG5lZWQgY29kZWNfZGF0YSwgc2V0dGluZyBjYXBzIG9uIHRoZSBwYWQKCSAgd2l0aG91dCB0aGVtIGlzIGdvaW5nIHRvIG1ha2UgbmVnb3RpYXRpb24gZmFpbCBtb3N0IG9mIHRoZSB0aW1lLiBFdmVuIGlmIHdlCgkgIGxhdGVyIHNldCBuZXcgY2FwcyB3aXRoIHRoZSBjb2RlY19kYXRhLCB0aGF0J3MgdXN1YWxseSBnb2luZyB0byBiZSB0b28gbGF0ZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NjY4MgoKMjAxNS0wMy0yNCAxNTozOToyMiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzoKCSAgZmx2ZGVtdXg6IEZpeCBpbmRlbnRpb24KCjIwMTUtMDMtMjIgMTM6MjM6NDQgKzAyMDAgIElseWEgS29uc3RhbnRpbm92IDxpbHlhLmtvbnN0YW50aW5vdkBnbWFpbC5jb20+CgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4Y29yZWF1ZGlvLmg6CgkgIG9zeGF1ZGlvOiBGaXggc3RyaW5nIGZvcm1hdCB3YXJuaW5nIG9uIDMyLWJpdAoJICBVSW50MzIgKERhcndpbiwgbm90IEM5OSdzIHVpbnQzMl90KSBpcyAndW5zaWduZWQgbG9uZycgb24gMzItYml0CgkgIHBsYXRmb3Jtcy4KCjIwMTUtMDMtMjEgMTc6NTA6NDAgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6CgkgIHJ0cHNlc3Npb246IEZpeCBhbm90aGVyIGluc3RhbmNlIG9mIHN0aWNreSBldmVudCBtaXNvcmRlcmluZyB3YXJuaW5ncwoJICBNYWtlIHN1cmUgdGhhdCB0aGUgc3luY19zcmMgcGFkIGhhcyBjYXBzIGJlZm9yZSB0aGUgc2VnbWVudCBldmVudC4KCSAgT3RoZXJ3aXNlIHdlIG1pZ2h0IGdldCBhIHNlZ21lbnQgZXZlbnQgYmVmb3JlIGNhcHMgZnJvbSB0aGUgcmVjZWl2ZQoJICBSVENQIHBhZCwgYW5kIHRoZW4gbGF0ZXIgd2hlbiByZWNlaXZpbmcgUlRDUCBwYWNrZXRzIHdpbGwgc2V0IGNhcHMuCgkgIFRoaXMgd2lsbCByZXN1bHRzIGluIGEgc3RpY2t5IGV2ZW50IG1pc29yZGVyaW5nIHdhcm5pbmcKCSAgVGhpcyBmaXhlcyB3YXJuaW5ncyBpbiB0aGUgcnRwYXV4IHVuaXQgdGVzdCBidXQgYWxzbyBpbiB0aGUKCSAgcnRwYXV4IGFuZCBydHggZXhhbXBsZXMgaW4gdGVzdHMvZXhhbXBsZXMvcnRwCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDY0NDUKCjIwMTUtMDMtMjEgMTc6MTg6NDcgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6CgkgIHJ0cHNlc3Npb246IEFsc28gc3RhcnQgdGhlIFJUQ1Agc2VuZCB0aHJlYWQgd2hlbiByZWNlaXZpbmcgUlRQIG9yIFJUQ1AKCSAgQmVmb3JlIHdlIG9ubHkgc3RhcnRlZCBpdCB3aGVuIGVpdGhlcjoKCSAgLSB0aGVyZSBpcyBubyBzZW5kIFJUUCBzdHJlYW0KCSAgb3IKCSAgLSB3ZSByZWNlaXZlZCBhbiBSVFAgcGFja2V0IGZvciBzZW5kaW5nCgkgIFRoaXMgY291bGQgbWVhbiB0aGF0IGlmIHRoZSBzZW5kIFJUUCBwYWRzIGFyZSBjb25uZWN0ZWQgYnV0IG5ldmVyIHJlY2VpdmUgYW55CgkgIFJUUCBkYXRhLCBhbmQgdGhlIHNhbWUgc2Vzc2lvbiBpcyBhbHNvIHVzZWQgZm9yIHJlY2VpdmluZyBSVFAvUlRDUCwgd2Ugd291bGQKCSAgbmV2ZXIgc3RhcnQgdGhlIFJUQ1AgdGhyZWFkIGFuZCB3b3VsZCBuZXZlciBzZW5kIFJUQ1AgZm9yIHRoZSByZWNlaXZpbmcgcGFydAoJICBvZiB0aGUgc2Vzc2lvbi4KCSAgVGhpcyBjYW4gYmUgcmVwcm9kdWNlZCB3aXRoIGEgcGlwZWxpbmUgbGlrZToKCSAgZ3N0LWxhdW5jaC0xLjAgcnRwYmluIG5hbWU9cnRwYmluIFwKCSAgdWRwc3JjIHBvcnQ9NTAwMCAhICJhcHBsaWNhdGlvbi94LXJ0cCwgbWVkaWE9dmlkZW8sIGNsb2NrLXJhdGU9OTAwMDAsIGVuY29kaW5nLW5hbWU9SDI2NCIgISBydHBiaW4ucmVjdl9ydHBfc2lua18wIFwKCSAgdWRwc3JjIHBvcnQ9NTAwMSAhIHJ0cGJpbi5yZWN2X3J0Y3Bfc2lua18wIFwKCSAgcnRwYmluLnNlbmRfcnRjcF9zcmNfMCAhIGZha2VzaW5rIG5hbWU9cnRjcF9mYWtlc2luayBzaWxlbnQ9ZmFsc2UgYXN5bmM9ZmFsc2Ugc3luYz1mYWxzZSBcCgkgIHJ0cGJpbi5yZWN2X3J0cF9zcmNfMF8yNTUzMjI1NTMxXzk2ICEgZGVjb2RlYmluICEgeHZpbWFnZXNpbmsgXAoJICBmYWtlc3JjICEgdmFsdmUgZHJvcD10cnVlICEgcnRwYmluLnNlbmRfcnRwX3NpbmtfMCBcCgkgIHJ0cGJpbi5zZW5kX3J0cF9zcmNfMCAhIGZha2VzaW5rIG5hbWU9cnRwX2Zha2VzaW5rIHNpbGVudD1mYWxzZSBhc3luYz1mYWxzZSBzeW5jPWZhbHNlIC12CgkgIEJlZm9yZSB0aGlzIGNoYW5nZSB0aGUgcnRjcF9mYWtlc2luayB3b3VsZCBuZXZlciBzZW5kIFJUQ1AgZm9yIHRoZSByZWNlaXZpbmcKCSAgcGFydCBvZiB0aGUgc2Vzc2lvbiAoaS5lLiBubyByZWNlaXZlciByZXBvcnRzISksIGFmdGVyIHRoZSBjaGFuZ2UgaXQgZG9lcy4KCSAgQW5kIGJlZm9yZSBhbmQgYWZ0ZXIgdGhpcyBjaGFuZ2UgaXQgd291bGQgc2VuZCBSVENQIGZvciB0aGUgcmVjZWl2aW5nIHBhcnQgb2YKCSAgdGhlIHNlc3Npb24gaWYgdGhlIHNlbmRlciBwYXJ0IHdhcyBvbWl0dGVkICh0aGUgbGFzdCB0d28gbGluZXMpLgoKMjAxNS0wMy0xOSAxMTo1NDoxMiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHJ0eHNlbmQuYzoKCSAgcnRwcnR4c2VuZDogQWRkIHN1cHBvcnQgZm9yIGJ1ZmZlciBsaXN0cwoKMjAxNS0wMy0xOSAxMTozOTozOCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHJ0eHF1ZXVlLmM6CgkgIHJ0cHJ0eHF1ZXVlOiBJbXBsZW1lbnQgc3VwcG9ydCBmb3IgYnVmZmVyIGxpc3RzCgoyMDE1LTAzLTE4IDE3OjMyOjM2IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IEltcHJvdmUgdHJhY2UgcmVhZGFiaWxpdHkKCSAgQ2hhbmdlIHRoZSBjb21tYW5kIG51bWJlciBpbnRvIHN0cmluZ3MuCgoyMDE1LTAxLTIwIDEwOjE4OjU2ICswMTAwICBKYW4gQWxleGFuZGVyIFN0ZWZmZW5zIChoZWZ0aWcpIDxqc3RlZmZlbnNAbWFrZS50dj4KCgkqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzoKCSogZ3N0L2Zsdi9nc3RmbHZkZW11eC5oOgoJICBmbHZkZW11eDogRG9uJ3QgcmVwZWF0ZWRseSB3YXJuIGFmdGVyIG5vX21vcmVfcGFkcyAodjIpCgkgIFRoaXMgY2FuIGdldCByYXRoZXIgc3BhbW15IGZvciBzdWNoIGEgaGlnaCBsb2cgbGV2ZWwuCgkgIE9ubHkgd2FybiBvbmNlIHBlciBzdHJlYW0uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDYyNzQKCjIwMTUtMDMtMTYgMTE6MjM6NTIgKzAxMDAgIEphbiBBbGV4YW5kZXIgU3RlZmZlbnMgKGhlZnRpZykgPGpzdGVmZmVuc0BtYWtlLnR2PgoKCSogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOgoJICBmbHZkZW11eDogSW50cm9kdWNlIGNvbnN0YW50IGZvciBuby1tb3JlLXBhZHMgdGhyZXNob2xkCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDYyNzQKCjIwMTUtMDEtMjAgMTA6MTg6MjkgKzAxMDAgIEphbiBBbGV4YW5kZXIgU3RlZmZlbnMgKGhlZnRpZykgPGpzdGVmZmVuc0BtYWtlLnR2PgoKCSogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOgoJICBmbHZkZW11eDogRml4IHdhcm5pbmcgdG8gY29udGFpbiAndmlkZW8nCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDYyNzQKCjIwMTUtMDMtMTEgMjE6MjU6NDAgKzAxMDAgIE5pY29sYSBNdXJpbm8gPG5pY29sYS5tdXJpbm9AZ21haWwuY29tPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1pZHMuaDoKCSAgbWF0cm9za2FkZW11eDogZm9yIGR0cyBvbmx5IHN0cmVhbSBzZXQgcHRzPWR0cyBmb3IgaW50cmEgb25seSBmb3JtYXRzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDUxOTIKCjIwMTUtMDMtMTQgMTY6Mzk6MDkgKzAxMDAgIFJhbWlybyBQb2xsYSA8cmFtaXJvLnBvbGxhQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcmVhZC1jb21tb24uYzoKCSAgbWF0cm9za2FkZW11eDogZml4IHNlbmRpbmcgb2YgdGFncwoJICAqIEZpeCBjcml0aWNhbCB3aGVuIG5ldyB0YWdzIGFyZSBmb3VuZCBhZnRlciBzZWdtZW50IGV2ZW50IGhhcyBhbHJlYWR5CgkgIGJlZW4gc2VudC4KCSAgKiBTZW5kIGdsb2JhbCB0YWdzIGJlZm9yZSBzdHJlYW0gdGFncy4KCSAgKiBTcGxpdCBzZW5kaW5nIG9mIHRhZ3Mgb3V0IG9mIGdzdF9tYXRyb3NrYV9kZW11eF9zZW5kX2V2ZW50KCkgaW50byBpdHMKCSAgb3duIGZ1bmN0aW9uLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ1OTczCgoyMDE1LTAzLTEzIDE4OjI2OjA2ICswMDAwICBSYW1pcm8gUG9sbGEgPHJhbWlyby5wb2xsYUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IHByb3Blcmx5IGVzY2FwZSBwZXJjZW50IHNpZ24gaW4gZG9jdW1lbnRhdGlvbgoKMjAxNS0wMy0xMyAxODoyNjo0NCArMDAwMCAgUmFtaXJvIFBvbGxhIDxyYW1pcm8ucG9sbGFAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwZHRtZm11eC5jOgoJICBydHBkdG1mbXV4OiBwcm9wZXJseSBlc2NhcGUgcGVyY2VudCBzaWduIGluIGRvY3VtZW50YXRpb24KCjIwMTUtMDMtMTMgMTg6NDg6MDMgKzAwMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5oOgoJICB2NGwyc3JjOiBkZWxheSByZW5lZ290aWF0aW9uIHVudGlsIGl0IGlzIGxpa2VseSBidWZmZXJzIHdlcmUgcmVjbGFpbWVkCgkgIEFsbG93IHJlbmVnb3RpYXRpb24gdG8gaGFwcGVuIHdoZW4gYnVmZmVycyBoYXZlIHJldHVybmVkIGFmdGVyIGFuIGFsbG9jYXRpb24KCSAgcXVlcnkuIEFzIHRoZSBhbGxvY2F0aW9uIHF1ZXJ5IGlzIHNlcmlhbGl6ZWQsIGFsbCBidWZmZXJzIGZyb20gdGhlIHBvb2wKCSAgc2hvdWxkIGhhdmUgcmV0dXJuZWQgYW5kIHdlIGNhbiBzdG9wIGl0IHRvIGNyZWF0ZSBhIG5ldyBvbmUgZm9yIHRoZQoJICBuZXcgZm9ybWF0CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODI3NzAKCjIwMTUtMDMtMTMgMTg6NDc6NTUgKzAwMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5oOgoJICB2NGwyb2JqZWN0OiBhZGQgZ3N0X3Y0bDJfb2JqZWN0X3RyeV9mb3JtYXQKCSAgU2ltaWxhciB0byBzZXRfZm9ybWF0IGJ1dCBpdCB1c2VzIFRSWV9GTVQgaW5zdGVhZCBvZiBTX0ZNVAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjgyNzcwCgoyMDE1LTAzLTEzIDE4OjM4OjQyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuYzoKCSAgbXVsdGl1ZHBzaW5rOiBmaXggY3Jhc2ggd2l0aCBHU1RfREVCVUcgZW5hYmxlZAoJICBnX2luZXRfc29ja2V0X2FkZHJlc3NfZ2V0X2FkZHJlc3MoKSBkb2VzIG5vdCBnaXZlCgkgIHVzIGEgcmVmIHRvIHRoZSBhZGRyZXNzLCBzbyBkb24ndCB1bnJlZiBpdC4KCjIwMTUtMDMtMTIgMTM6NDk6NTYgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbGV2ZWwvZ3N0bGV2ZWwuYzoKCSAgbGV2ZWw6IERvbid0IHJlYWQgb3ZlciB0aGUgZW5kIG9mIHRoZSBpbnB1dCBtZW1vcnkKCSAgUHJldmlvdXNseSB3ZSBhZHZhbmNlZCB0aGUgaW5fZGF0YSBwb2ludGVyIGJ5IGJwcyBmb3IgZXZlcnkgY2hhbm5lbCwgYW5kIHRoZW4KCSAgbGF0ZXIgYWdhaW4gZm9yIGJsb2NrX3NpemUqYnBzLiBUaGlzIGNhdXNlZCB1cyB0byBiZSBvbmUgc2FtcGxlIGZ1cnRoZXIgdGhhbgoJICBleHBlY3RlZCBpZiBhbiBpbnB1dCBidWZmZXIgY292ZXJlZCB0d28gYW5hbHlzaXMgZnJhbWVzLiBBbmQgaW4gdGhlIGVuZCBsZWFkCgkgIHRvIGNvbXBsZXRlbHkgYm9ndXMgdmFsdWVzIHJlcG9ydGVkIGJ5IGxldmVsLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ2MDY1CgoyMDE1LTAzLTEyIDAxOjM3OjA4ICsxMTAwICBKYW4gU2NobWlkdCA8amFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9vc3MvZ3N0b3NzZG1hYnVmZmVyLmM6CgkgIFJlbW92ZSBhIGNvdXBsZSBvZiBzdXBlcmZsdW91cyB0cmFpbGluZyBzZW1pLWNvbG9ucwoKMjAxNS0wMy0xMCAwOTozMToyMCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9hbHBoYS9nc3RhbHBoYS5jOgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdHB1c2hmaWxlc3JjLmM6CgkqIGdzdC9pc29tcDQvZ3N0aXNvZmYuYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJKiBnc3QvdWRwL2dzdG11bHRpdWRwc2luay5jOgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4YXVkaW9yaW5nYnVmZmVyLmM6CgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hjb3JlYXVkaW9jb21tb24uYzoKCSAgRml4IGRvdWJsZSBzZW1pY29sb25zCgoyMDE1LTAzLTEwIDE1OjQ2OjQwICsxMTAwICBKYW4gU2NobWlkdCA8amFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9tdWx0aWZpbGUvZ3N0c3BsaXRtdXhzcmMuYzoKCSAgc3BsaXRtdXg6IFNodXQgZG93biBlbGVtZW50IGJlZm9yZSBkb3dud2FyZCBzdGF0ZSBjaGFuZ2UKCSAgTWFrZSBzdXJlIHRoZSBzdGF0ZSBjaGFuZ2Ugd29uJ3QgaGFuZyB0cnlpbmcgdG8gc2h1dCBkb3duIHBhZHMKCSAgYnkgbWFraW5nIHN1cmUgdGhlIHN0cmVhbWluZyBoYXMgc3RvcHBlZCBiZWZvcmUgY2hhaW5pbmcgdXAuCgoyMDE1LTAzLTA5IDIyOjU4OjA1ICswMjAwICBJbHlhIEtvbnN0YW50aW5vdiA8aWx5YS5rb25zdGFudGlub3ZAZ21haWwuY29tPgoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGNvcmVhdWRpby5oOgoJICBvc3hhdWRpbzogc3RyZWFtIGZvcm1hdCBpcyBhbiBTUERJRi1vbmx5IGZpZWxkCgoyMDE1LTAzLTA5IDIyOjUzOjQxICswMjAwICBJbHlhIEtvbnN0YW50aW5vdiA8aWx5YS5rb25zdGFudGlub3ZAZ21haWwuY29tPgoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGF1ZGlvc3JjLmg6CgkgIG9zeGF1ZGlvOiBmaXggc3BhY2VzCgoyMDE1LTAzLTA5IDIyOjUyOjQ2ICswMjAwICBJbHlhIEtvbnN0YW50aW5vdiA8aWx5YS5rb25zdGFudGlub3ZAZ21haWwuY29tPgoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGF1ZGlvc3JjLmg6CgkgIG9zeGF1ZGlvOiBhZGQgdHlwZSBjaGVjayBtYWNybwoKMjAxNS0wMy0wOSAyMjo1MTo1MSArMDIwMCAgSWx5YSBLb25zdGFudGlub3YgPGlseWEua29uc3RhbnRpbm92QGdtYWlsLmNvbT4KCgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hjb3JlYXVkaW9jb21tb24uYzoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGNvcmVhdWRpb2NvbW1vbi5oOgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4Y29yZWF1ZGlvaGFsLmM6CgkgIG9zeGF1ZGlvOiByZW5hbWUgZ3N0X2NvcmVfYXVkaW9fc2V0X2NoYW5uZWxzX2xheW91dCgpCgkgIHRvIGdzdF9jb3JlX2F1ZGlvX2dldF9jaGFubmVsX2xheW91dCgpLgoKMjAxNS0wMy0wOSAyMjozMDoyOCArMDIwMCAgSWx5YSBLb25zdGFudGlub3YgPGlseWEua29uc3RhbnRpbm92QGdtYWlsLmNvbT4KCgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hhdWRpb3JpbmdidWZmZXIuYzoKCSAgb3N4YXVkaW86IHJlbW92ZSB1bnVzZWQgZmluYWxpemUKCjIwMTUtMDMtMDkgMTY6MjU6NDMgKzAwMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXMuYmdAc2Ftc3VuZy5jb20+CgoJKiBleHQvdnB4L2dzdHZwOWVuYy5jOgoJICB2cDllbmM6IHJlbW92ZSBkdXBsaWNhdGUgZGVjbGFyYXRpb24gb2YgZnVuY3Rpb24KCjIwMTUtMDMtMDkgMTY6MjI6MjkgKzAwMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXMuYmdAc2Ftc3VuZy5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRkZXBheS5jOgoJICBydHBoMjY0ZGVwYXk6IHJlbW92ZSB1bnVzZWQgdmFsdWUKCSAgQ0lEICMxMjI2NDc0CgoyMDE1LTAzLTA5IDE2OjE0OjM0ICswMDAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzLmJnQHNhbXN1bmcuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBoMjYzcGF5LmM6CgkgIHJ0cGgyNjNwYXk6IGZpeCBsZWFrCgkgIENJRCAxMjEyMTU2CgoyMDE1LTAzLTA5IDE1OjU4OjMzICswMDAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzLmJnQHNhbXN1bmcuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBoMjYzcGF5LmM6CgkgIHJ0cGgyNjNwYXk6IHJlbW92ZSB1bmVlZGVkIHZhcmlhYmxlCgkgIFdlIGp1c3QgbmVlZCB0byBzYXZlIHRoZSBlYml0IGluZm9ybWF0aW9uIGluIGNhc2UgdGhlcmUgaXMgYW4gZXJyb3IgZGVjb2RpbmcuCgoyMDE1LTAzLTA5IDE2OjQ2OjAyICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3ZweC9nc3R2cDhlbmMuYzoKCSogZXh0L3ZweC9nc3R2cDllbmMuYzoKCSAgdnBbODldZW5jOiBSZXNldCB0aGUgZW5jb2RlciB3aGVuIGZsdXNoaW5nCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDU3MDQKCjIwMTUtMDMtMDkgMTI6NTE6MTcgKzAwMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXMuYmdAc2Ftc3VuZy5jb20+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcGFyc2UuYzoKCSAgbWF0cm9za2E6IGVycm9yIG1vZGUgaWYgY2FuJ3QgcHVzaCBidWZmZXIKCSAgSWYgZ3N0X3BhZF9wdXNoKCkgZmFpbHMsIGluZm9ybSBhbmQgcmV0dXJuIGZsb3cgZXJyb3IuCgoyMDE1LTAzLTA5IDEyOjEzOjM0ICswMDAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzLmJnQHNhbXN1bmcuY29tPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXBhcnNlLmM6CgkgIG1hdHJvc2thOiB1bnVzZWQgdmFsdWUKCSAgVmFsdWUgc2V0IGluIHJldCB3aWxsIGJlIG92ZXJ3cml0dGVuIGp1c3QgYmVmb3JlIGV4aXRpbmcgdGhlIGZ1bmN0aW9uLgoJICBDSUQgIzEyMjY0NjkKCjIwMTUtMDMtMDkgMTE6MTA6MzUgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgcnRwaml0dGVyYnVmZmVyOiBEcm9wIHBhY2tldHMgd2l0aCBzZXF1ZW5jZSBudW1iZXJzIGJlZm9yZSB0aGUgc2VxbnVtLWJhc2UKCSAgVGhlc2UgYXJlIG91dHNpZGUgdGhlIGV4cGVjdGVkIHJhbmdlIG9mIHNlcXVlbmNlIG51bWJlcnMgYW5kIHNob3VsZCBiZQoJICBjbGlwcGVkLCBlc3BlY2lhbGx5IGZvciBSVFNQIHRoZXkgbWlnaHQgYmVsb25nIHRvIHBhY2tldHMgZnJvbSBiZWZvcmUgYSBzZWVrCgkgIG9yIGEgcHJldmlvdXMgc3RyZWFtIGluIGdlbmVyYWwuCgoyMDE0LTAyLTI3IDEwOjUyOjE2ICswMTAwICBMaW51cyBTdmVuc3NvbiA8bGludXNzbkBheGlzLmNvbT4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogRG9uJ3QgaW5jbHVkZSBwYXlsb2FkIHR5cGUgaW4gdGhlIGNhcHMgZm9yIGZyYW1lc2l6ZQoJICBXaGVuIHRoZSBzZHAgbWVkaWEgYXR0cmlidXRlIGZyYW1lc2l6ZSBhcmUgY29udmVydGVkIHRvIGNhcHMKCSAgdGhlIDxwYXlsb2FkPiBzaG91bGQgbm90IGJlIGluY2x1ZGVkLgoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI1MzM1CgoyMDE1LTAzLTA5IDEwOjA1OjE0ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIHJ0cGppdHRlcmJ1ZmZlcjogRG9uJ3QgZm9yZ2V0IHRvIHVubG9jayB0aGUgbXV0ZXggd2hlbiByZWNlaXZpbmcgR0FQcyBpbiBUQ1Agc3RyZWFtcwoKMjAxNS0wMy0wOSAxMToyNDo1OCArMDUzMCAgQXJ1biBSYWdoYXZhbiA8YXJ1bkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkgIHB1bHNlc2luazogTWFrZSBzdXJlIHRvIGZpbHRlciBjYXBzIGluIGFsbCBjYXNlcyBkdXJpbmcgQ0FQUyBxdWVyeQoJICBXZSB3ZXJlIHNraXBwaW5nIHRoZSBmaWx0ZXIgc3RlcCB3aGlsZSByZXR1cm5pbmcgdGVtcGxhdGUgY2FwcywgZm9yCgkgIGV4YW1wbGUuCgoyMDE1LTAzLTA4IDIxOjE1OjUzICswMDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJICB2NGwyYnVmZmVycG9vbDogRG9uJ3QgdXBkYXRlIGJ1ZmZlciBmb3IgT1VUUFVUCgkgIEZvciBvdXRwdXQgZGV2aWNlLCB3ZSBzaG91bGQgbm90IHVwZGF0ZSB0aGUgYnVmZmVyIHdpdGggZmxhZ3MgYW5kCgkgIHRpbWVzdGFtcCB3aGVuIHdlIGRlcXVldWUuIFRoZSBpbmZvcm1hdGlvbiBpbiB0aGUgdjRsMl9idWZmZXIgaXMgbm90CgkgIG1lYW5pbmdmdWwgYW5kIGl0IGJyZWFrcyB0aGUgY2FzZSB3aGVyZSB0aGUgYnVmZmVyIGlzIHJlbmRlcmVkIGF0CgkgIG11bHRpcGxlIHBsYWNlcy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NTQzOAoKMjAxNS0wMy0wOCAxODowNDozNCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwY2xpZW50c2luay5jOgoJICBzb3VwaHR0cGNsaWVudHNpbms6IEltcGxlbWVudCBjb29raWVzIHByb3BlcnR5CgoyMDE1LTAzLTA4IDE4OjAyOjUxICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBjbGllbnRzaW5rLmM6CgkgIHNvdXBodHRwY2xpZW50c2luazogSW1wbGVtZW50IGF1dG9tYXRpYy1yZWRpcmVjdCBwcm9wZXJ0eQoKMjAxNS0wMy0wOCAxNzo1NDowNyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwY2xpZW50c2luay5jOgoJICBzb3VwaHR0cGNsaWVudHNpbms6IEltcGxlbWVudCBwcm94eSBzdXBwb3J0CgkgIFRoZSBwcm9wZXJ0aWVzIHdlcmUgdGhlcmUgYmVmb3JlLCBidXQgbm90IHVzZWQgYW55d2hlcmUuCgoyMDE1LTAyLTIxIDIwOjA1OjI0ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtbmF1d0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIGF2aWRlbXV4OiByZXN1cnJlY3Qgc29tZSBmbG93IHJldHVybiBoYW5kbGluZwoKMjAxNS0wMy0wNCAxMDoyNzoxNyArMDEwMCAgTmljb2xhcyBIdWV0IDxuaWNvbGFzLmh1ZXRAcGFycm90LmNvbT4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWFjcGFyc2UuYzoKCSAgYWFjcGFyc2U6IGZpeCBMT0FTIHBhcnNpbmcgaXNzdWUKCSAgRml4IG1pc3NpbmcgaW5kZXggaW4gc3luY3dvcmQgc2VhcmNoaW5nCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDU1ODUKCjIwMTUtMDMtMDUgMTc6NTQ6NDMgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIHN5cy9kaXJlY3Rzb3VuZC9nc3RkaXJlY3Rzb3VuZHNpbmsuYzoKCSAgZGlyZWN0c291bmRzaW5rOiBmaXggbW9kdWxvIG1hdGggd2l0aCByaW5nYnVmZmVyIHBhcmFtZXRlcnMKCSAgVG8gZ2V0IGEgbXVsdGlwbGUgb2YgYnBmIHVzZSBhIHN1YnRyYWN0aW9uIGFuZCBub3QgYW4gYWRkaXRpb24KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NTY4NAoKMjAxNS0wMy0wNyAwMDo1NTo0NyArMTEwMCAgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbXVsdGlmaWxlL2dzdHNwbGl0bXV4c2luay5jOgoJICBzcGxpdG11eHNpbms6IFByb3RlY3QgcHJvcGVydHkgdmFyaWFibGVzIHdpdGggdGhlIG9iamVjdCBsb2NrLgoJICBVc2UgdGhlIG9iamVjdCBsb2NrIGluc3RlYWQgb2YgdGhlIHNwbGl0bXV4IGxvY2sgdG8gcHJvdGVjdAoJICBpbnRlcm5hbCBwcm9wZXJ0eSB2YXJpYWJsZXMsIHNvIHRoZXkncmUgbm90IGxvY2tlZCB3aGVuCgkgIHN3aXRjaGluZyB0byBhIG5ldyBmaWxlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ0NDIwCgoyMDE1LTAzLTA2IDExOjM5OjM5ICswMTAwICBXaW0gVGF5bWFucyA8d3RheW1hbnNAcmVkaGF0LmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cGppdHRlcmJ1ZmZlci5jOgoJICBjaGVjazogYWRkIGppdHRlcmJ1ZmZlciB1bml0IHRlc3QKCSAgU2VlIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDU1MzkKCjIwMTUtMDMtMDUgMDk6MTg6NTIgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IEZpeCBoYW5kbGluZyBvZiBpbnRlcmxlYXZlZCAoVENQKSBzdHJlYW1zCgkgIFdlIG5lZWQgdG8gc2V0IHVwIHRoZSB0cmFuc3BvcnQgaW4gYW55IGNhc2UsIG5vdCBqdXN0IGlmIHdlIGhhdmUgYSBjb250YWluZXIKCSAgc3RyZWFtIG9yIGEgbm9uLWludGVybGVhdmVkIHN0cmVhbS4gT25seSBpZiB3ZSBoYXZlIGFuIGludGVybGVhdmVkIHN0cmVhbSBhbmQKCSAgYXJlIHJldHJ5aW5nLCB3ZSBzaG91bGQgbm90IHNldCB1cCB0aGUgc3RyZWFtIGFnYWluLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ1NTk5CgoyMDE1LTAzLTA1IDEwOjAwOjMzICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3ZweC9nc3R2cDhkZWMuYzoKCSogZXh0L3ZweC9nc3R2cDlkZWMuYzoKCSAgdnBbODldZGVjOiBEcm9wIGZyYW1lcyB0aGF0IGhhdmUgbm8gb3V0cHV0IGJ1ZmZlciBiZWNhdXNlIG9mIGVycm9ycwoJICBmaW5pc2hfZnJhbWUoKSBhc3N1bWVzIHRoYXQgdGhlcmUgaXMgYW4gb3V0cHV0IGJ1ZmZlci4KCjIwMTUtMDMtMDUgMDk6NTY6MjMgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IERvbid0IHVucmVmIGNhcHMgd2UgZG9uJ3Qgb3duCgoyMDE1LTAzLTA1IDA5OjQ2OjE3ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBQdXNoIFJUQ1AgY2FwcyBvbiB0aGUgUlRDUCBwYWRzCgkgIE90aGVyd2lzZSB3ZSB3aWxsIGdldCBub3QtbmVnb3RpYXRlZCBsYXRlciBmcm9tIHJ0cGJpbiwgYW5kIHdpbGwgbmV2ZXIgYmUgYWJsZQoJICB0byBzZW5kIFJUQ1AgcGFja2V0cyBiYWNrIHRvIHRoZSBzZXJ2ZXIuIE5vdGUgdGhhdCBlcnJvciBmbG93IHJldHVybnMgZnJvbSB0aGUKCSAgUlRDUCBwYWRzIGFyZSBpZ25vcmVkLCB0aGF0J3Mgd2h5IGl0IGRpZG4ndCBmYWlsIG1vcmUgdmlzaWJsZSBiZWZvcmUuCgoyMDE1LTAzLTA1IDA5OjM1OjMyICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBNYWtlIHN1cmUgdG8gc2VuZCBTRUdNRU5UIGV2ZW50cyBvbiBhbGwgcGFkcwoKMjAxNS0wMy0wMyAxNjoyMzoxNSArMDEwMCAgU2FudGlhZ28gQ2Fyb3QtTmVtZXNpbyA8c2FuY2FuZUBnbWFpbC5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzdGF0cy5oOgoJICBydHA6IEFkZCBGdWxsIEludHJhIFJlcXVlc3QgKEZJUikgcGFja2V0cyB0byBzdGF0aXN0aWNzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDU1ODcKCjIwMTUtMDMtMDMgMTY6MDE6NTMgKzAxMDAgIFNhbnRpYWdvIENhcm90LU5lbWVzaW8gPHNhbmNhbmVAZ21haWwuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc3RhdHMuaDoKCSAgcnRwOiBBZGQgUGFja2V0IExvc3MgSW5kaWNhdGlvbiAoUExJKSB0byBzdGF0aXN0aWNzCgkgIFRoaXMgaXMgaGVscGZ1bCB0byBwcm92aWRlIHN0YXRpc3RpY3MgaW4gdGhlIGZvcm1hdCBkZWZpbmVkIGluCgkgIGh0dHA6Ly93M2MuZ2l0aHViLmlvL3dlYnJ0Yy1zdGF0cy8jZGljdGlvbmFyeS1ydGNydHBzdHJlYW1zdGF0cy1tZW1iZXJzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ1NTg3CgoyMDE1LTAzLTAzIDE5OjE5OjUwICswMTAwICBOaWNvbGEgTXVyaW5vIDxuaWNvbGEubXVyaW5vQGdtYWlsLmNvbT4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5oOgoJICBtYXRyb3NrYW11eDogUmVtb3ZlIGR1cmF0aW9uIGFjY3VtdWxhdGlvbiBsb2dpYwoJICBEdXJhdGlvbiBhY2N1bXVsYXRpb24gY2FuIGNhdXNlIHJvdW5kaW5nIGVycm9ycyBhbmQgZ2VuZXJhdGUgd3JvbmcKCSAgZHVyYXRpb24gd2l0aCBkaWZmZXJlbnQgYnVmZmVycyB0aGF0IHNoYXJlIHRoZSBzYW1lIHRpbWVzdGFtcC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NTE5MgoKMjAxNS0wMy0wMyAxODo0MDoxNiArMDEwMCAgTmljb2xhIE11cmlubyA8bmljb2xhLm11cmlub0BnbWFpbC5jb20+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWlkcy5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtaWRzLmg6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSAgbWF0cm9za2E6IEFkZCBhbiBoZWxwZXIgbWV0aG9kIHRvIGdldCBidWZmZXIgdGltZXN0YW1wcwoJICAuLi4gYW5kIHJlcGxhY2UgR1NUX0JVRkZFUl9USU1FU1RBTVAgdGhhdCBhbHdheXMgcmV0dXJuIFBUUyB3aXRoIHRoaXMgbWV0aG9kCgkgIHRoYXQgcmV0dXJuIFBUUyBvciBEVFMgYmFzZWQgb24gc3RyZWFtIHR5cGUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDUxOTIKCjIwMTUtMDMtMDQgMTE6Mjg6MTIgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkgIHJ0cHNlc3Npb246IEFkZCBleHBsYW5hdGlvbiB3aHkgd2UgaGF2ZSBzcGFjZSBmb3IgMzIgaGFzaCB0YWJsZXMKCSAgQW5kIGFsc28gY3JlYXRlIG9ubHkgb25lLCB0aGVyZSdzIG5vIG5lZWQgeWV0IHRvIGNyZWF0ZSBhbGwgMzIgdW50aWwKCSAgd2UgaW1wbGVtZW50IFJGQzI3NjIuCgoyMDE1LTAzLTA0IDExOjI2OjU3ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmg6CgkgIFJldmVydCAicnRwc2Vzc2lvbjogRG8gbm90IHVzZSBhbiBhcnJheSBvZiBtYXBzIGlmIHRoZXkgYXJlIG5vdCBiZWluZyB1c2VkIgoJICBUaGlzIHJldmVydHMgY29tbWl0IDE1OTFhZGY0Y2Q4NDNkMTNkODYyMmEzMGM2MTk0MjU2OTFhODQxMjguCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDU1ODYjYzE6CgkgIEl0J3MgdGhlIGJlZ2lubmluZyBvZiBhbiBpbXBsZW1lbnRhdGlvbiBvZiBSRkMgMjc2Miwgd2hpY2ggaXMgbmVlZGVkIGZvcgoJICBsYXJnZSBtdWx0aWNhc3QgZ3JvdXBzLiBUaGUgaW1wbGVtZW50YXRpb24gaXMgbm90IHlldCBjb21wbGV0ZSBidXQgd2h5CgkgIG5vdCBsZWF2ZSB3aGF0IGlzIHRoZXJlIGFuZCBpbXBsZW1lbnQgUkZDIDI3NjIgaW5zdGVhZD8KCjIwMTUtMDMtMDQgMTA6MzU6MTIgKzAxMDAgIFNhbnRpYWdvIENhcm90LU5lbWVzaW8gPHNhbmNhbmVAZ21haWwuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmg6CgkgIHJ0cHNlc3Npb246IERvIG5vdCB1c2UgYW4gYXJyYXkgb2YgbWFwcyBpZiB0aGV5IGFyZSBub3QgYmVpbmcgdXNlZAoJICBydHBzZXNzaW9uIGRlY2xhcmVzIGFuIGFycmF5IG9mIG1hcHMgdG8gc3RvcmUgc3JyY3MgYnV0IG9ubHkgdGhlCgkgIHRoZSBrZXkgMCBpcyBiZWluZyB1c2VkLiBUaGlzIHBhdGNoIHJlcGxhY2VzIHRoZSBhcnJheSBvZiBtYXBzCgkgIGZvciBqdXN0IG9uZSBtYXAgYW5kIHJlbW92ZSB1c2VsZXNzIHBhcmFtZXRlcnMgaW4gcnRwc2Vzc2lvbgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ1NTg2CgoyMDE1LTAyLTI3IDE4OjEyOjA5ICswOTAwICBKaW1teSBPaG4gPHlvbmdqaW4ub2huQGxnZS5jb20+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIGF2aWRlbXV4OiByZW1vdmUgbm90IG5lZWRlZCBjb2RlCgkgIEluIGdzdF9hdmlfZGVtdXhfaGFuZGxlX3NyY19xdWVyeSwgdGhlcmUgaXMgbm90IG5lZWRlZCBjb2RlLgoJICBXZSBhbHJlYWR5IGNoZWNrIGFib3V0IHN0cmVhbSBpcyB2YnIgb3Igbm90IGF0IHRoZSB1cHBlciBsaW5lLgoJICBvLCB3ZSBkb24ndCBuZWVkIHRvIGNoZWNrIHRoaXMgY29uZGl0aW9uIGJlY2FzZSBzdHJlYW0gaXMgbm90CgkgIHZiciAxMDAlIGluIHRoaXMgY2FzZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NTI3NgoKMjAxNS0wMy0wMyAyMzoyNTozNSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHRlc3RzL2ljbGVzL2dka3BpeGJ1Zm92ZXJsYXktdGVzdC5jOgoJICB0ZXN0czogZ2RrcGl4YnVmb3ZlcmxheS10ZXN0OiByZXBsYWNlIGRlcHJlY2F0ZWQgZnVuY3Rpb24KCSAgSnVzdCBhdm9pZCB1c2luZyB0aGUgZGVwcmVjYXRlZCBmdW5jdGlvbiBlbnRpcmVseSwKCSAgaXQncyBlYXN5IGVub3VnaC4gRGVmaW5pbmcgdGhlIG1hY3JvIGlzIG5vdCBlbm91Z2guCgoyMDE1LTAzLTAzIDE5OjA0OjQ4ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogdGVzdHMvaWNsZXMvZ2RrcGl4YnVmb3ZlcmxheS10ZXN0LmM6CgkgIHRlc3RzOiBnZGtwaXhidWZvdmVybGF5LXRlc3Q6IGZpeCBjb21waWxhdGlvbiBhZ2FpbnN0IG5ld2VyIGdkay1waXhidWYKCSAgZ2RrX3BpeGJ1Zl9uZXdfZnJvbV9pbmxpbmUoKSBoYXMgYmVlbiBkZXByZWNhdGVkIGluIGZhdm91cgoJICBvZiBHUmVzb3VyY2UuCgoyMDE1LTAzLTAzIDE4OjM5OjE1ICswNTMwICBBcnVuIFJhZ2hhdmFuIDxhcnVuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hhdWRpb3NyYy5jOgoJICBvc3hhdWRpb3NyYzogQWxsb3cgY2FwcyByZW5lZ290aWF0aW9uCgkgIFRoZSByaW5nYnVmZmVyIGRvZXMgYWxsb3cgcmVuZWdvdGlhdGlvbiwgc28gd2UgZG8gbm90IGhhdmUgdG8gcmVwb3J0CgkgIGZpeGVkIGNhcHMgb25jZSBpdCBpcyBhY3F1aXJlZCAoYmFzZWQgb24gYSBzaW1pbGFyIHBhdGNoIGZvciB0aGUgc2luawoJICBzaWRlIGJ5IElseWEgS29uc3RhbnRpbm92IDxpbHlhLmtvbnN0YW50aW5vdkBnbWFpbC5jb20+KS4KCjIwMTUtMDItMjEgMTQ6NDE6MDggKzAyMDAgIElseWEgS29uc3RhbnRpbm92IDxpbHlhLmtvbnN0YW50aW5vdkBnbWFpbC5jb20+CgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4YXVkaW9zaW5rLmM6CgkgIG9zeGF1ZGlvc2luazogQWxsb3cgcmVuZWdvdGlhdGluZyBjYXBzCgkgIE9uY2Ugb3N4YXVkaW9zaW5rJ3MgZGV2aWNlIGlzIG9wZW4sIGl0IGZpeGF0ZXMgb24gdGhlIGluaXRpYWwgY2FwcyBhbmQKCSAgcmVmdXNlcyB0byBhY2NlcHQgbmV3IGNhcHMuIFRoaXMgaXMgZXJyb25lb3VzIHNpbmNlIHRoZSBBdWRpbyBVbml0IGlzCgkgIGNhbiBhY2NlcHQgYSBuZXcgQVNCRCwgYW5kIEdzdEF1ZGlvUmluZ0J1ZmZlciBzdXBwb3J0cyByZWNvbmZpZ3VyYXRpb24KCSAgYXMgd2VsbC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0MzkyNQoKMjAxNS0wMy0wMiAxMjowNDowMCArMDEwMCAgR3dlbm9sZSBCZWF1Y2hlc25lIDxnd2Vub2xlLmJlYXVjaGVzbmVAaW50ZWwuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSAgdjRsMmFsbG9jYXRvcjogZml4IGZkIGxlYWsgaW4gRE1BQlVGIGltcG9ydCBtb2RlLgoJICBFbnN1cmUgZ3N0X3Y0bDJfYnVmZmVyX3Bvb2xfcmVsZWFzZV9idWZmZXIoKSByZWxlYXNlcyB0aGUgYXNzb2NpYXRlZAoJICBHc3RWNGwyTWVtb3J5R3JvdXAuIEluIHBhcnRpY3VsYXIsIHRoaXMgYWxsb3dzIGZvciBjbG9zaW5nIHRoZSBETUFCVUYKCSAgaGFuZGxlcyBwcmlvciB0byBpbnN0YW50aWF0aW5nIG5ldyBvbmVzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ1NDQzCgoyMDE1LTAzLTAyIDE1OjA2OjA5ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3ZweC9nc3R2cDhlbmMuYzoKCSAgdnA4ZW5jOiBVc2UgMCBhcyBkdXJhdGlvbiBmb3IgdGhlIEVPUyAiZnJhbWUiCgoyMDE1LTAzLTAyIDE1OjAyOjIwICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3ZweC9nc3R2cDhlbmMuYzoKCSogZXh0L3ZweC9nc3R2cDhlbmMuaDoKCSogZXh0L3ZweC9nc3R2cDllbmMuYzoKCSogZXh0L3ZweC9nc3R2cDllbmMuaDoKCSAgdnB7OCw5fWVuYzogVGVsbCB0aGUgZW5jb2RlciBhYm91dCBhY3R1YWwgdGltZXN0YW1wcyBhbmQgZHVyYXRpb25zIG9mIGZyYW1lcwoJICAuLi4gaW5zdGVhZCBvZiBqdXN0IGNvdW50aW5nIGZyYW1lcy4gVGhlIHZhbHVlcyBhcmUgc3VwcG9zZWQgdG8gYmUgaW4gdGltZWJhc2UKCSAgdW5pdHMsIG5vdCBmcmFtZSB1bml0cy4gVGhpcyBmaXhlcyB2YXJpb3VzIHF1YWxpdHkgcHJvYmxlbXMgd2l0aCBWUDgvVlA5CgkgIGVuY29kaW5nIGFuZCBpbiBnZW5lcmFsIG1ha2VzIHRoZSBlbmNvZGVyIGJlaGF2ZSBiZXR0ZXIuCgkgIFRoYW5rcyB0byBOaXJiaGVlayBDaGF1aGFuIGZvciBub3RpY2luZyB0aGlzIGJ1Zy4KCjIwMTUtMDMtMDEgMTM6NTY6MTcgLTA1MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZweC9nc3R2cDhkZWMuYzoKCSogZXh0L3ZweC9nc3R2cDlkZWMuYzoKCSAgdnB4ZGVjOiBGaXggY2FsY3VsYXRpb24gb2Ygd2lkdGggaW4gYnl0ZXMKCSAgUmlnaHQgbm93IHdlIG9ubHkgc3VwcG9ydCBJNDIwLCBidXQgdnB4IHNlZW1zIHRvIHN1cHBvcnQgbW9yZSBmb3JtYXRzLgoJICBUaGlzIHdpbGwgcHJldmVudCBoYXJkIHRvIGZpbmQgYnVnIGluIHRoZSBmdXR1cmUuCgoyMDE1LTAzLTAxIDEzOjUyOjUwIC0wNTAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cHgvZ3N0dnA4ZGVjLmM6CgkqIGV4dC92cHgvZ3N0dnA5ZGVjLmM6CgkgIHZweGRlYzogRG9uJ3QgbWVtY3B5IGluIGZyYW1lIG1hcCBmYWlsZWQKCSAgVGhpcyBhdm9pZCBhIGNyYXNoIGlmIG1hcHBpbmcgdGhlIGZyYW1lIGZhaWxlZC4KCjIwMTUtMDMtMDEgMTM6NDg6NDUgLTA1MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSAgdjRsMmJ1ZmZlcnBvb2w6IEFkZCBtaXNzaW5nIGJyZWFrCgkgIFRoaXMgaXMgY29zbWV0aWMgY2hhbmdlLgoKMjAxNS0wMy0wMSAxMzo0NjoxOCAtMDUwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5oOgoJICB2NGwyOiBXb3JrYXJvdW5kIGRyaXZlciBub3Qgc2V0dGluZyBmaWVsZCBjb3JyZWN0bHkKCSAgQXMgaXQncyB2ZXJ5IGNvbW1vbiwgaGFuZGxlIGRyaXZlciBub3Qgc2V0dGluZyBmaWVsZCBpbiBidWZmZXJzCgkgIGJ5IHVzaW5nIHRoZSBmaWVsZCB2YWx1ZSBmcm9tIHRoZSBmb3JtYXQuIFRoaXMgd29ya2Fyb3VuZCBhIGxvbmcgdGltZQoJICBidWcgaW4gVVZDIGRyaXZlci4gRm9yIGV2ZW4gYnVnZ2llciBkcml2ZXIsIHdlIHNpbXBseSBhc3N1bWUKCSAgcHJvZ3Jlc3NpdmUgYXMgYmVmb3JlLiBXZSBhbHNvIG9ubHkgd2FybiBvbmNlLCB0byBhdm9pZCBzcGFtbWluZy4KCjIwMTUtMDItMjggMTg6MTA6MDYgKzAxMDAgIE1hdGVqIEtub3BwIDxtYXRlai5rbm9wcEBnbWFpbC5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogZml4IGtleSB1bml0IHNlZWsKCSAgVW5saWtlIG1hbnkgb3RoZXIgc2VlayBmbGFncywgdGhlIEtFWV9VTklUIHNlZWsKCSAgZmxhZyBpcyBub3QgY29waWVkIG92ZXIgaW50byB0aGUgR3N0U2VnbWVudCwKCSAgc2luY2UgaXQncyBvbmx5IHJlbGV2YW50IGZvciB0aGUgc2VlayBpdHNlbGYsCgkgIHNvIHdlIG5lZWQgdG8gcGFzcyBpdCBleHBsaWNpdGx5IHRvIHRoZSBzZWVrCgkgIGhhbmRsZXIgaGVyZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NTMzOQoKMjAxNS0wMi0yNyAwOTozODowMSArMDEwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaW50ZXJmYWNlczoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlzb21wNC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aWZpbGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cG1hbmFnZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hvdXQyc2VuZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlbzRsaW51eDIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9maWx0ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2ZW5jLnhtbDoKCSAgZG9jcy9wbHVnaW5zOiBVcGRhdGVzCgoyMDE1LTAyLTI2IDIzOjQxOjQ3ICswMTAwICBOaWNvbGEgTXVyaW5vIDxuaWNvbGEubXVyaW5vQGdtYWlsLmNvbT4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkgIG1hdHJvc2thbXV4L2RlbXV4OiBpbml0aWFsaXplIGR0c19vbmx5CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDUxOTIKCjIwMTUtMDItMjYgMjM6Mjg6MTEgKzAxMDAgIE5pY29sYSBNdXJpbm8gPG5pY29sYS5tdXJpbm9AZ21haWwuY29tPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJICBtYXRyb3NrYW11eDogc3RvcmUgRFRTIGZvciBWX01TL1ZGVy9GT1VSQ0Mgc3RyZWFtcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ1MTkyCgoyMDE1LTAyLTI2IDE5OjQ4OjMzICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L211bHRpZmlsZS9nc3RzcGxpdG11eHNpbmsuYzoKCSogZ3N0L211bHRpZmlsZS9nc3RzcGxpdG11eHNyYy5jOgoJICBtdWx0aWZpbGU6IGF0dGVtcHQgdG8gZml4IGRvY3MgYnVpbGQgaXNzdWUgb24gYnVpbGQgYm90CgoyMDE1LTAyLTI3IDAwOjQxOjQ2ICswNTMwICBBcnVuIFJhZ2hhdmFuIDxnaXRAYXJ1bnJhZ2hhdmFuLm5ldD4KCgkqIGdzdC9pbnRlcmxlYXZlL2ludGVybGVhdmUuYzoKCSAgaW50ZXJsZWF2ZTogRHJvcCBjdXN0b20gbGF0ZW5jeSBxdWVyeSBoYW5kbGluZwoJICBUaGlzIGlzIGltcGxlbWVudGVkIGJ5IHRoZSBkZWZhdWx0IHF1ZXJ5IGhhbmRsZXIgbm93LgoKMjAxNS0wMi0yNyAwMDo0MDowNSArMDUzMCAgQXJ1biBSYWdoYXZhbiA8Z2l0QGFydW5yYWdoYXZhbi5uZXQ+CgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyMi5jOgoJICB2aWRlb21peGVyOiBEcm9wIGN1c3RvbSBsYXRlbmN5IHF1ZXJ5aW5nIGxvZ2ljCgkgIFRoaXMgaXMgbm93IGltcGxlbWVudGVkIGluIHRoZSBkZWZhdWx0IGxhdGVuY3kgcXVlcnkgaGFuZGxlci4KCjIwMTUtMDItMjYgMTY6MTA6NDEgKzAxMDAgIFNlYmFzdGlhbiBSYXNtdXNzZW4gPHNlYnJuQGF4aXMuY29tPgoKCSogZ3N0L3J0cC9nc3RydHB2b3JiaXNwYXkuYzoKCSAgcnRwdm9yYmlzcGF5OiBmaXggcGF5bG9hZGVyIGRlc2NyaXB0aW9uIGFuZCBhdXRob3IgZS1tYWlsCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDUyMjYKCjIwMTQtMDktMDUgMTY6MzQ6MjYgKzAyMDAgIEF1csOpbGllbiBaYW5lbGxpIDxhdXJlbGllbi56YW5lbGxpQHBhcnJvdC5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkqIHN5cy92NGwyL2dzdHY0bDJzaW5rLmM6CgkgIHY0bDI6IHF1ZXJ5IGNyb3AgY29uZmlndXJhdGlvbiBhZnRlciBlYWNoIGNhbGwgb2YgU19DUk9QCgkgIFNfQ1JPUCBpb2N0bCBpcyB3cml0ZS1vbmx5IGFuZCB0aGUgZGV2aWNlIGNhbiBhZGp1c3QgY3JvcCByZWN0YW5nbGUgc28KCSAgd2UgcXVlcnkgYmFjayB0aGUgY3JvcCBjb25maWd1cmF0aW9uIGFmdGVyIGVhY2ggU19DUk9QIHRvIGtub3cgd2hhdCBoYXMKCSAgYmVlbiBkb25lLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM2MTMzCgoyMDE1LTAyLTI2IDAyOjEyOjE4ICswMTAwICBNYXRlaiBLbm9wcCA8bWF0ZWoua25vcHBAZ21haWwuY29tPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1pZHMuaDoKCSAgbWF0cm9za2FkZW11eDogVl9NUy9WRlcvRk9VUkNDIHN0cmVhbXMgaGF2ZSBEVFMgaW5zdGVhZCBvZiBQVFMKCSAgV2hlbiBzdWNoIHN0cmVhbSBpcyBwcmVzZW50IGRlbXV4ZXIgc2hvdWxkIHNldCBEVFMgb24gYnVmZmVycyBpbnN0ZWFkCgkgIG9mIFBUUy4gVGhpcyBpcyBjb25zaXN0ZW50IHdpdGggaG93IFZMQyBhbmQgbGliYXYvZmZtcGVnIGhhbmRsZSBWRlcKCSAgc3RyZWFtcy4KCSAgU2FtcGxlIGZpbGUKCSAgaHR0cHM6Ly9zMy5hbWF6b25hd3MuY29tL01hdGVqSy9TYW1wbGVzL01hdHJvc2thLVZGVy1EVFMtT25seS5ta3YKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NTE5MgoKMjAxNS0wMi0yNSAxNjo0NToxMSAtMDgwMCAgQWxlaXggQ29uY2hpbGxvIEZsYXF1w6kgPGFsZWl4QG9ibG9uZy5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJICB2NGwyYnVmZmVycG9vbDogQ2hlY2sgY29ycnVwdGlvbiBmbGFnIG9uIHRoZSByaWdodCBidWZmZXIKCSAgV2Ugd2hlcmUgY2hlY2tpbmcgdGhlIGJ1ZmZlciB3ZSBhcmUgY29weWluZyB0byBpbnN0ZWFkIG9mIHRoZSBidWZmZXIgd2UKCSAgYXJlIGNvcHlpbmcgZnJvbS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0MDA0MAoKMjAxNS0wMS0xOSAxNToyOToyNCArMDEwMCAgQXVyw6lsaWVuIFphbmVsbGkgPGF1cmVsaWVuLnphbmVsbGlAcGFycm90LmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgdjRsMm9iamVjdDogc2V0IGNvbG9yc3BhY2UgaW4gY2FwcyBmb3IgY2FwdHVyZSBkZXZpY2VzCgkgIFRoaXMgaW5mb3JtYXRpb24gaXMgc2V0IGJ5IHRoZSBkcml2ZXIgZm9yIGEgY2FwdHVyZSBkZXZpY2UsIGFuZCBzbyBjb3VsZAoJICBiZSBmb3J3YXJkZWQgdG8gcGlwZWxpbmUgYnkgc2V0dGluZyB0aGUgY29sb3JpbWV0cnkgaW4gY2Fwcy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0MzE4NgoKMjAxNC0xMC0wNiAxNzozMDowNiArMDIwMCAgQXVyw6lsaWVuIFphbmVsbGkgPGF1cmVsaWVuLnphbmVsbGlAcGFycm90LmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJhbGxvY2F0b3IuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0Lmg6CgkgIHY0bDJidWZmZXJwb29sOiBmaXggaW1wb3J0X3VzZXJwdHIoKSBpbiBzaW5nbGUtcGxhbmFyIEFQSSB3aGVuIG5fcGxhbmVzID4gMQoJICBJbiB0aGUgVjRMMiBzaW5nbGUtcGxhbmFyIEFQSSwgd2hlbiBmb3JtYXQgaXMgc2VtaS1wbGFuYXIvcGxhbmFyLAoJICBkcml2ZXJzIGV4cGVjdCB0aGUgcGxhbmVzIHRvIGJlIGNvbnRpZ3VvdXMgaW4gbWVtb3J5LgoJICBTbyB0aGlzIGNvbW1pdCBjaGFuZ2UgdGhlIHdheSB3ZSBoYW5kbGUgc2VtaS1wbGFuYXIvcGxhbmFyIGZvcm1hdAoJICAobl9wbGFuZXMgPiAxKSB3aGVuIHdlIHVzZSB0aGUgc2luZ2xlLXBsYW5hciBBUEkgKGdyb3VwLT5uX21lbSA9PSAxKS4KCSAgVG8gY2hlY2sgdGhhdCBwbGFuZXMgYXJlIGNvbnRpZ3VvdXMgYW5kIGhhdmUgZXhwZWN0ZWQgc2l6ZSwgaWU6IG5vCgkgIHBhZGRpbmcuIFdlIHRlc3QgdGhlIGZhY3QgdGhhdCBwbGFuZSAnaScgc3RhcnQgYWRkcmVzcyArIHBsYW5lICdpJwoJICBleHBlY3RlZCBzaXplIGVxdWFscyB0byBwbGFuZSAnaSArIDEnIHN0YXJ0IGFkZHJlc3MuIElmIG5vdCwgd2UgcmV0dXJuCgkgIGluIGVycm9yLgoJICBNYXRoIGFyZSBkb25lIGluIGJ1ZmZlcnBvb2wgcmF0aGVyIHRoYW4gaW4gYWxsb2NhdG9yIGJlY2F1c2UgdGhlCgkgIGZvcm1lciBpcyBhd2FyZSBvZiB2aWRlbyBpbmZvLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM4MDEzCgoyMDE1LTAxLTIzIDEwOjE1OjQ2ICswMTAwICBBdXLDqWxpZW4gWmFuZWxsaSA8YXVyZWxpZW4uemFuZWxsaUBwYXJyb3QuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmFsbG9jYXRvci5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyYWxsb2NhdG9yLmg6CgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkgIHY0bDJhbGxvY2F0b3I6IGxldCBidWZmZXJwb29sIGNhbGN1bGF0ZSBpbWFnZSBzaXplIHdoZW4gaW1wb3J0aW5nIHVzZXJwdHIKCSAgT2Zmc2V0IGFyZSByZWxhdGl2ZSB0byB0aGUgYnVmZmVyIGFuZCB0aGVyZSBpcyBubyBndWFyYW50ZWUgc3Vic3RyYWN0aW5nCgkgIHRoZW0gd2lsbCBnaXZlIHVzIHRoZSBwbGFuZSBzaXplLiBTbyB3ZSBsZXQgYnVmZmVycG9vbCBtYWtlIHRoZSBtYXRoIGFzCgkgIGl0IGlzIG1vcmUgYXdhcmUgb2YgdmlkZW8gaW5mbyB0aGFuIGFsbG9jYXRvciBhbmQgcGFzcyBhIHNpemUgYXJyYXkgdG8KCSAgYWxsb2NhdG9yIGltcG9ydCBmdW5jdGlvbi4KCSAgUG9pbnRlZCBvdXQgYnkgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM4MDEzCgoyMDE0LTEyLTExIDE2OjEzOjE1ICswMTAwICBQaGlsaXBwZSBEZSBNdXl0ZXIgPHBoZG1AbWFjcWVsLmJlPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICB2NGwyb2JqZWN0OiByZWNvZ25pemUgYW5kIGRpc3Rpbmd1aXNoIGFsbCBiYXllciBhcnJhbmdlbWVudHMKCSAgVXAgdG8gbm93LCB2NGwyc3JjIHJlY29nbml6ZWQgb25seSAiYmdnciIgYW1vbmdzdCB0aGUgYmF5ZXIgYXJyYW5nZW1lbnRzLgoJICBSZWNvZ25pemUgbm93IGFsc28gdGhlICJyZ2diIiwgImdicmciIGFuZCAiZ3JiZyIgYXJyYW5nZW1lbnRzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQyMzYzCgoyMDE1LTAxLTE1IDE2OjExOjUzICswMTAwICBBdXLDqWxpZW4gWmFuZWxsaSA8YXVyZWxpZW4uemFuZWxsaUBwYXJyb3QuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSAgdjRsMmJ1ZmZlcnBvb2w6IHNldCB2NGwyX2J1ZmZlci5maWVsZCB3aGVuIHF1ZXVpbmcgYnVmZmVyIGluIGFuIG91dHB1dCBkZXZpY2UKCSAgQWNjb3JkaW5nIHRvIHRoZSBjdXJyZW50IHNwZWNpZmljYXRpb24sIGFwcGxpY2F0aW9uIG11c3Qgc2V0IHRoaXMgZmllbGQKCSAgZm9yIGFuIG91dHB1dCBkZXZpY2UuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDMwMTMKCjIwMTUtMDItMjQgMDU6NTc6MjQgKzAyMDAgIElseWEgS29uc3RhbnRpbm92IDxpbHlhLmtvbnN0YW50aW5vdkBnbWFpbC5jb20+CgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4YXVkaW9zcmMuYzoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGNvcmVhdWRpby5jOgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4Y29yZWF1ZGlvLmg6CgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hjb3JlYXVkaW9jb21tb24uYzoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGNvcmVhdWRpb2NvbW1vbi5oOgoJICBvc3hhdWRpb3NyYzogaU9TIHJlc2FtcGxpbmcgY2F1c2VzIHN0dXR0ZXJpbmcKCSAgRml4ZXMgc3R1dHRlcmluZyBhdWRpbyB3aGVuIGlPUyBBVSBpcyByZXNhbXBsaW5nLiBUbyBtYWtlIEFVIHJlc2FtcGxlLAoJICBvbmUgaGFzIHRvIHJlcXVlc3QgYSByYXRlIHRoYXQgZGlmZmVycyBmcm9tIEFWQXVkaW9TZXNzaW9uJ3MKCSAgc2FtcGxlUmF0ZS4gVGhlIHJlc2FtcGxpbmcgaXRzZWxmIGlzIG5vdCB0aGUgY3VscHJpdCwgYnV0IHJhdGhlciBvdXIKCSAgQVBJIG1pc3VzZS4KCSAgQXVkaW9Vbml0UmVuZGVyIG1vZGlmaWVzIHRoZSBtRGF0YUJ5dGVTaXplIG1lbWJlcnMgd2l0aCB0aGUKCSAgYWN0dWFsIHJlYWQgYnl0ZXMgY291bnQuIFRoZXJlZm9yZSwgdGhleSBtdXN0IGJlIHJlaW5pdGlhbGl6ZWQKCSAgYmVmb3JlIGVhY2ggQXVkaW9Vbml0UmVuZGVyLiAoVGhlIGJ1ZmZlcnMgdGhlbXNlbHZlcyBjYW4gYmUKCSAgcHJlYWxsb2NhdGVkLikKCSAgVGhlICJzdHV0dGVyIiB3YXMgY2F1c2VkIGJ5IG9uZSBBdWRpb1VuaXRSZW5kZXIgbWFraW5nIHRoZSBidWZmZXIKCSAgdG9vIHNtYWxsIGZvciBvdGhlciBBdWRpb1VuaXRSZW5kZXIgaW52b2NhdGlvbnMsIG1ha2luZyB0aGVtIGZhaWwKCSAgd2l0aCAtNTAgKHBhcmFtRXJyKS4gQnkgd2F5IG9mIGx1Y2ssIHdoZW4gQVUgZGlkbid0IHJlc2FtcGxlLCBhbGwKCSAgQXVkaW9Vbml0UmVuZGVyIGludm9jYXRpb25zIHJlYWQgdGhlIHNhbWUgbnVtYmVyIG9mIGJ5dGVzLgoJICAoVGhpcyBwYXRjaCBhZGRyZXNzZXMgc29tZSBub24taW50ZXJsZWF2ZWQgYXVkaW8gY29uY2VybnMsIGJ1dAoJICBhdCB0aGlzIG1vbWVudCB0aGUgZWxlbWVudHMgZG8gbm90IHN1cHBvcnQgbm9uLWludGVybGVhdmVkIGF1ZGlvCgkgIGFuZCBub24taW50ZXJsZWF2ZWQgaXMgdW50ZXN0ZWQuKQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ0OTIyCgoyMDE1LTAyLTIyIDAxOjQ5OjUyICswMTAwICBLcnp5c3p0b2YgS290bGVuZ2EgPHBvY2VrQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogaW1wcm92ZSBlcnJvciBtZXNzYWdlIHdoZW4gdW5hdXRob3JpemVkCgkgIE1ha2UgdXNlIG9mIE5PVF9BVVRIT1JJWkVEIGVycm9yIGNvZGUgaW5zdGVhZCBvZiBmYWxsaW5nIGJhY2sgdG8gZ2VuZXJpYwoJICBSRUFEIGVycm9yLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjAxNzMzCgoyMDE1LTAyLTIzIDIwOjA2OjI1ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL3hpbWFnZS94aW1hZ2V1dGlsLmM6CgkgIHhpbWFnZXNyYzogcmVtb3ZlIHBvaW50bGVzcyBnX3JldHVybl92YWxfaWZfZmFpbCgpCgkgIHhpbWFnZSB3b24ndCBldmVyIGJlIE5VTEwgaGVyZSBiZWNhdXNlIHRoZSBkaXNwb3NlCgkgIGZ1bmN0aW9uIGlzIGNhbGxlZCB2aWEgeGltYWdlLT5kaXNwb3NlKCkuCgoyMDE1LTAyLTIzIDE5OjQwOjI1ICswMTAwICBUaGliYXVsdCBTYXVuaWVyIDx0c2F1bmllckBnbm9tZS5vcmc+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogQWxsIHNlZ21lbnQgcmVzdWx0aW5nIGZyb20gYSBzZWVrIHNob3VsZCBoYXZlIHRoZSBzYW1lIHNlcW51bQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ0OTgzCgoyMDE1LTAyLTE5IDIzOjEyOjMxIC0wNTAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmg6CgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgdjRsMjogRW5hYmxlIGNvcHkgd2hlbiBubyBrbm93biBhbGxvY2F0aW9uIHBhcmFtcwoJICBXaGVuIHRoZXJlIGlzIG5vIGFsbG9jYXRpb24gcGFyYW1ldGVycyBpbiB0aGUgcXVlcnksIGVuYWJsZSBjb3B5CgkgIHRocmVzaG9sZC4gV2hlbiB0aGlzIHRocmVzaG9sZCBpcyByZWFjaGVkLCB0aGUgYnVmZmVyIHBvb2wgd2lsbCBzdGFydAoJICBjb3B5aW5nIHdoZW4gdGhlIHBvb2wgcmVhY2hlcyBhIGNyaXRpY2FsIGxldmVsLiBJZiB0aGUgZHJpdmVyIHN1cHBvcnRzCgkgIENSRUFURV9CVUZTLCB0aGlzIHdpbGwgYmUgdXNlZCBpbnN0ZWFkLgoKMjAxNS0wMi0xOSAyMzowODozNCAtMDUwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJICB2NGwyYnVmZmVycG9vbDogVXBkYXRlIGFsbG9jYXRvciBmbGFncwoJICBXaGVuIHdlIGhpdCBlbXVsYXRlZCBmb3JtYXRzLCB3ZSBkaXNhYmxlIENSRUFURV9CVUZTIHNpbmNlIGxpYnY0bDIKCSAgY29wZSB2ZXJ5IGJhZGx5IHdpdGggaXQuIEFsc28gY2xlYXIgdGhlIGFsbG9jYXRvciBmbGFncyBzbyB3ZSB3aWxsCgkgIG5ldmVyIHRyeSB0byBhbGxvY2F0ZSBtb3JlIGJ1ZmZlcnMuIFRoaXMgZml4ZXMgZmFpbHVyZSB3aGVuIHRoZSBjb3B5CgkgIHRocmVzaG9sZCBpcyByZWFjaGVkIGFzIHdlIHdoZXJlIGNhbGxpbmcgQ1JFQVRFX0JVRlMsIHdoaWNoIGxlYWQgdG8KCSAgbGlidjRsMiBpbnN0YWJpbGl0eS4KCjIwMTUtMDItMTkgMjM6MDc6MjMgLTA1MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSAgdjRsMmJ1ZmZlcnBvb2w6IFVzZSBzcGVjaWZpYyBkZWJ1ZyBjYXRlZ29yeQoJICBUaGUgcG9vbCBoYXMgZ3Jvd24gZW5vdWdoIHRoYXQgaXQgaXMgbm93IGhhbmR5IHRvIHNlcGVyYXRlIHY0bDJvYmplY3QKCSAgdHJhY2UgZnJvbSB2NGwyYnVmZmVycG9vbCB0cmFjZS4KCjIwMTUtMDItMTkgMTQ6Mjk6MDIgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHB2cDhwYXkuYzoKCSAgcnRwdnA4cGF5OiBkZWZhdWx0IGVuY29kaW5nIG5hbWUgdG8gVlA4CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mzc4MTAKCjIwMTUtMDItMTkgMTQ6MDY6NTEgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHB2cDhwYXkuYzoKCSAgcnRwdnA4cGF5OiBtYWtlIGNhcHMgd3JpdGFibGUgYmVmb3JlIHRydW5jYXRpbmcgdGhlbQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM3ODEwCgoyMDE1LTAyLTA1IDEwOjI5OjI2ICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwdnA4cGF5LmM6CgkgIHJ0cHZwOHBheTogbmVnb3RpYXRlIGVuY29kaW5nIG5hbWUKCSAgQ2hyb21lIHVzZXMgYSBkaWZmZXJlbnQgb25lIHRoYW4gZ3N0cmVhbWVyLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM3ODEwCgoyMDE1LTAyLTE5IDEyOjM1OjA3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOgoJICBydHBzZXNzaW9uOiBTZW5kIGluaXRpYWwgZXZlbnRzIG9uIHN5bmNfcnRjcCBwYWQgd2hlbiB1c2luZyBSVFAvUlRDUCBtdXhpbmcKCSAgT3RoZXJ3aXNlIHdlIHdpbGwganVzdCBzZW5kIGJ1ZmZlcnMgb24gdGhlIHBhZCB3aXRob3V0IGFueSBldmVudHMgYmVmb3JlaGFuZAoJICBhbmQgd2lsbCBnZXQgZ193YXJuaW5ncygpIGFib3V0IHRoYXQuCgoyMDE1LTAyLTE5IDExOjIwOjUxICswMDAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzLmJnQHNhbXN1bmcuY29tPgoKCSogZXh0L2phY2svZ3N0amFja2F1ZGlvc3JjLmM6CgkgIGphY2s6IGNhc2UgbWlzc2luZyBicmVhayBzdGF0ZW1lbnQKCSAgY29tbWl0IGIxMDk4YzJlYTVlYWJlYTdhZjA4Y2U1MWQyMmI4NjdlYWVkMmJiZTIgYWRkZWQgYSBuZXcgY2FzZSBpbgoJICBnc3RfamFja19hdWRpb19zcmNfZ2V0X3Byb3BlcnR5KCkgYnV0IGZvcmdvdCB0byBhZGQgdGhlIGJyZWFrIHN0YXRlbWVudCB0byBpdC4KCjIwMTUtMDItMTggMTk6MTg6MDAgKzAwMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXMuYmdAc2Ftc3VuZy5jb20+CgoJKiBzeXMvdjRsMi92NGwyX2NhbGxzLmM6CgkgIFJldmVydCAidjRsMjogZnJhY3Rpb24gaXMgcmV2ZXJzZWQiCgkgIFRoaXMgcmV2ZXJ0cyBjb21taXQgYjkxZmUzNjY0NGIxNWFlMDcwZDcyYjllOGE5YzcwODdlODJhZWYxMi4KCjIwMTUtMDItMTggMTc6NDk6MjkgKzAwMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXMuYmdAc2Ftc3VuZy5jb20+CgoJKiBzeXMvdjRsMi92NGwyX2NhbGxzLmM6CgkgIHY0bDI6IGZyYWN0aW9uIGlzIHJldmVyc2VkCgkgIEluIHRoZSBmcmFjdGlvbiAxIC8gMi4gMSBpcyB0aGUgbnVtZXJhdG9yIGFuZCAyIGlzIHRoZSBkZW5vbWluYXRvci4KCSAgVGhlIGFyZ3VtZW50cyBvZiBmcmFjdGlvbiBnc3RfdmFsdWVfc2V0X2ZyYWN0aW9ucygpIGFyZSB2YWx1ZSwKCSAgbnVtZXJhdG9yIGFuZCBkZW5vbWluYXRvci4KCSAgQWxzbywgZ3N0X3ZhbHVlX3NldF9mcmFjdGlvbigpIGZhaWxzIGlmIGRlbm9taW5hdG9yIGlzIDAgZm9yIG9idmlvdXMKCSAgcmVhc29ucy4KCjIwMTUtMDItMTcgMjA6MjY6NTUgLTA1MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSAgdjRsMnBvb2w6IERlYWN0aXZhdGUgb3RoZXIgcG9vbAoJICBXaGVuIGltcG9ydGluZyBidWZmZXJzIGZyb20gYSBkb3duc3RyZWFtIHBvb2wsIHdlIG5lZWQgdG8gZGVhY3RpdmF0ZQoJICB0aGF0IHBvb2wgdG8gZW5zdXJlIGl0IHdpbGwgYmUgdXNhYmxlIGFnYWluIGxhdGVyLiBSZWx5aW5nIG9uIHRoZQoJICByZWZjb3VudCB0byByZWFjaCB6ZXJvIGRvZXMgbm90IHdvcmssIHNpbmNlIGVsZW1lbnRzIGxpa2UgeHZpbWFnZXNpbmsKCSAga2VlcHMgYSByZWZlcmVuY2Ugb24gdGhlaXIgcHJvcG9zZWQgcG9vbC4KCjIwMTUtMDItMTggMTA6MTA6NTMgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC9pc29tcDQvZ3N0cXRtdXguYzoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0bXV4OiByZW1vdmUgbm90IG5lZWRlZCBjb25kaXRpb24KCSAgZ3N0X2J1ZmZlcl9yZXBsYWNlIGNhbiBoYW5kbGUgTlVMTCBpbnB1dHMgYnkgaXRzZWxmCgoyMDE1LTAyLTE4IDA5OjQwOjE0IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogcHJlZmVyIHRoZSB0ZmR0IHRpbWVzdGFtcCBvdmVyIHRoZSBidWZmZXIncyB0aGF0IGlzIGxlc3MgYWNjdXJhdGUKCSAgVGhlIHRmZHQgc2hvdWxkIGJlIG1vcmUgYWNjdXJhdGUgYXMgdGhlIGJ1ZmZlciB0aW1lc3RhbXAgaXMgcHJvdmlkZWQKCSAgYnkgdGhlIGZyYWdtZW50ZWQgZm9ybWF0IG1hbmlmZXN0IGFuZCBpdCBtaWdodCBqdXN0IGJlIGFuIGFwcHJveGltYXRpb24uCgoyMDE1LTAyLTE3IDE2OjU3OjU1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIHJ0cGppdHRlcmJ1ZmZlcjogV2hlbiByZXNldHRpbmcgdGhlIGppdHRlcmJ1ZmZlciBiZWNhdXNlIG9mIHBhY2tldCBkaXNjb250LCBkb24ndCBmbHVzaCBzdGlja3kgZXZlbnRzCgkgIFdlIHdpbGwgb3RoZXJ3aXNlIGZsdXNoIGF3YXkgU1RSRUFNX1NUQVJULCBDQVBTIG9yIFNFR01FTlQgZXZlbnRzIGFuZCB3aWxsCgkgIGNvbmZ1c2UgZG93bnN0cmVhbSB3aXRoIGJ1ZmZlcnMgdGhhdCBjb21lIGJlZm9yZSBzdWNoIGV2ZW50cy4KCjIwMTUtMDItMTcgMTI6MjA6NTcgKzAxMDAgIGhhcmsgPGhhcmtAcHVzY2lpLm5sPgoKCSogZXh0L2phY2svZ3N0amFja2F1ZGlvc2luay5jOgoJKiBleHQvamFjay9nc3RqYWNrYXVkaW9zaW5rLmg6CgkqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NyYy5jOgoJKiBleHQvamFjay9nc3RqYWNrYXVkaW9zcmMuaDoKCSAgamFjazogQWRkIHByb3BlcnR5IHBvcnQtcGF0dGVybiB0byBzcGVjaWZ5IHdoaWNoIEpBQ0sgcG9ydHMgdG8gY29ubmVjdCB0bwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjkwNzE5CgoyMDE1LTAyLTE3IDEyOjMxOjA2ICswMTAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L2lzb21wNC9nc3Rpc29mZi5jOgoJKiBnc3QvaXNvbXA0L2dzdGlzb2ZmLmg6CgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBpc29tcDQ6IFJlZGVmaW5lIGdzdF9pc29mZl8gc3ltYm9scyB0byBnc3RfaXNvZmZfcXRfCgkgIFdlIG5lZWQgZGlmZmVyZW50IHN5bWJvbCBuYW1lcywgYmVjYXVzZSB0aGVzZSBzeW1ib2xzIGFyZSBhbHNvIHByZXNlbnQKCSAgaW4gdGhlIGZyYWdtZW50ZWQgcGx1Z2luIC4uLiB3aGljaCB3aWxsIGNhdXNlIGNvbmZsaWN0cyB3aGVuIGRvaW5nCgkgIHN0YXRpYyBsaW5raW5nCgoyMDE1LTAyLTE2IDE0OjMxOjA1ICswMDAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzLmJnQHNhbXN1bmcuY29tPgoKCSogZ3N0L2dvb20yazEvbGluZXMuYzoKCSAgZ29vbTJrMTogdXNlIGZyYWN0aW9uYWwgcGFydCBvZiBmbG9hdCBkaXZpc2lvbgoKMjAxNS0wMi0xNiAxMzo1OToxNCArMDAwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpcy5iZ0BzYW1zdW5nLmNvbT4KCgkqIGdzdC9tdWx0aWZpbGUvZ3N0c3BsaXRtdXhzaW5rLmM6CgkgIHNwbGl0bXV4c2luOiByZW1vdmUgZGVhZCBjb2RlCgkgIEV2ZXJ5IGluc3RhbmNlIG9mIGdvdG8gYmVhY2ggaGFzIGJ1Zl9pbmZvIGVxdWFsIE5VTEwuIERvbid0IGNoZWNrCgkgIGZvciBhIGNvbmRpdGlvbiB0aGF0IG5ldmVyIGhhcHBlbnMuCgkgIENJRCAjMTI2ODM5OQoKMjAxNS0wMi0xNSAyMTo0NToyNCAtMDUwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9zcGxpdG11eC5jOgoJICBzcGxpdG11eC10ZXN0OiBQYXJzZSBlcnJvciBtZXNzYWdlCgkgIFRoZSB0ZXN0IGhhZCBhIGZ1bmN0aW9uIHRvIHByaW50IHRoZSBlcnJvciwgYnV0IHdhcyBub3QgcGFyc2luZyBpdC4KCSAgVGhpcyB3YXMgY2F1c2luZyB3YXJuaW5nIGFib3V0IGRiZ19pbmZvIGJlaW5nIHVzZWQgdW5pbml0aWFsaXplZC4gSWYKCSAgdGhlIHRlc3Qgd2FzIHRlc3RpbmcgYW55IGVycm9ycywgdGhpcyB3b3VsZCBoYXZlIGNyYXNoZWQuCgoyMDE1LTAyLTE1IDIxOjM0OjI4IC0wNTAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5jOgoJICBzcGVjdHJ1bTogRml4IG1pbiBhbmQgbWF4IGZvciBiYW5kcyBwcm9wZXJ0eQoJICBUaGUgbnVtYmVyIG9mIEZGVHMgaXMgY2FsY3VsYXRlZCB3aXRoIHRoZSBmb2xsb3dpbmcgZm9ybXVsYToKCSAgZ3VpbnQgbmZmdCA9IDIgKiBiYW5kcyAtIDI7CgkgIG5mZnQgaXMgcGFzc2VkIHRvIGdzdF9mZnRfZjMyX25ldygpIGFzIHRoZSBsZW4gYXJndW1lbnQgYW5kIGlzIG9mIHR5cGUKCSAgdW5zaWduZWQgaW50ZWdlci4gVGhpcyBtZXRob2QgcmVxdWlyZWQgdGhhdCBsZW4gaXMgYXQgbGVhcyAxLCB0aGVuCgkgIG1heGltdW0gR19NQVhJTlQsIGFzIG90aGVyIHZhbHVlcyB3b3VsZCBiZSBuZWdhdGl2ZS4gSWYgd2UgZXh0cmFwb2xhdGUKCSAgZnJvbSB0aGUgZm9ybXVsYSBhYm92ZSBpdCBtZWFucyB3ZSBuZWVkICJiYW5kcyIgdG8gYmUgYmV0d2VlbiAyIGFuZAoJICAoKGd1aW50KUdfTUFYSU5UICsgMikgLyAyKS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NDIxMwoKMjAxNS0wMi0xNSAxNTo1MTo1NSAtMDUwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYWxsb2NhdG9yLmM6CgkgIHY0bDJhbGxvY2F0b3I6IEZpeCBmcmVlaW5nIG9mIHNoYXJlZCBtZW1vcnkKCSAgV2hlbiBtZW1vcnkgKHRoYXQgaGFzIGJlZW4gc2hhcmVkIHVzaW5nIGdzdF9tZW1vcnlfc2hhcmUoKSkgYXJlIGZyZWVkLAoJICB0aGUgbWVtb3J5IChvciB0aGUgRE1BQlVGIEZEKSBzaG91bGQgbm90IGJlZSBmcmVlZC4gVGhlc2UgbWVtb3JpZXMgaGF2ZQoJICBhIHBhcmVudC4gVGhpcyBhbHNvIHJlbW92ZXMgdGhlIGV4dHJhIF92NGwybWVtX2ZyZWUgZnVuY3Rpb24gYW5kIGF2b2lkCgkgIGNhbGxpbmcgY2xvc2UgdHdpY2Ugb24gdGhlIERNQUJVRiBGRC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NDU3MwoKMjAxNS0wMi0xNCAxMToxMTozMCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IGRvIG5vdCB1c2Ugc3BhcnNlIHN0cmVhbXMgaW4gcHVzaC1iYXNlZCBzZWVraW5nCgkgIFVzaW5nIHRoZSBzcGFyc2Ugc3RyZWFtcyBjYW4gbWFrZSB0aGUgcHVzaC1iYXNlZCBzZWVraW5nIHJldHVybgoJICB0b28gZmFyIGluIHRoZSBzdHJlYW0uIEl0IGFsc28gY2FuIGxlYWQgdG8gaXNzdWVzIGFzIHRoZQoJICBzcGFyc2Ugc3RyZWFtcyB3aWxsIGJlIGlnbm9yZWQgd2hlbiByZXN0YXJ0aW5nIHBsYXliYWNrIGFuZCwKCSAgaWYgdGhlIHNwYXJzZSBzdHJlYW0gaXMgdGhlIG9uZSB0aGF0IGhhcyB0aGUgZWFybGllc3Qgc2FtcGxlLAoJICBpdCB3aWxsIGNvbmZ1c2UgcXRkZW11eCdzIG9mZnNldHMgYXMgb25lIHN0cmVhbSB3aWxsIGhhdmUKCSAgYW4gZWFybGllciBvZmZzZXQgdGhhbiB0aGUgZGVtdXhlcidzIG9uZSB3aGljaCBtaWdodCBsZWFkIHRvCgkgIGVhcmx5IEVPUy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0MjY2MQoKMjAxNS0wMi0xMyAxOTo0MzoxNiArMDkwMCAgSmltbXkgT2huIDx5b25namluLm9obkBsZ2UuY29tPgoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJICBwdWxzZXNpbms6IEVuaGFuY2UgY29kZSByZWFkYWJpbGl0eSBpbiBwdWxzZXNpbmtfcXVlcnkKCSAgSW4gcHVsc2VzaW5rX3F1ZXJ5IGZ1bmN0aW9uLCB3ZSB1c2UgYSBzd2l0Y2ggZm9yIHRoZSBxdWVyeQoJICB0eXBlLiBJbiB0aGUgQ0FQUyBjYXNlLCB0aGVyZSBpcyBubyAnYnJlYWsnLCBpbnN0ZWFkIHdlCgkgIHJldHVybiByaWdodCBhd2F5LiBVc2UgYSBicmVhayBhbmQgcmV0dXJuIGF0IHRoZSBlbmQgb2YKCSAgdGhlIGZ1bmN0aW9uIGluc3RlYWQgZm9yIGJldHRlciBjb2RlIHJlYWRhYmlsaXR5LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ0NDYxCgoyMDE1LTAyLTEzIDIwOjQwOjQ4ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L211bHRpZmlsZS9nc3RzcGxpdG11eHNpbmsuYzoKCSAgc3BsaXRtdXhzaW5rOiBmbGFnIGFzIHNpbmsgZnJvbSB0aGUgc3RhcnQKCjIwMTUtMDItMTEgMTU6MzA6NDQgKzAxMDAgIFBoaWxpcHBlIE5vcm1hbmQgPHBoaWxuQGlnYWxpYS5jb20+CgoJKiBnc3QvaXNvbXA0L01ha2VmaWxlLmFtOgoJKiBnc3QvaXNvbXA0L2ZvdXJjYy5oOgoJKiBnc3QvaXNvbXA0L2dzdGlzb2ZmLmM6CgkqIGdzdC9pc29tcDQvZ3N0aXNvZmYuaDoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkqIGdzdC9pc29tcDQvcXRkZW11eC5oOgoJICBxdGRlbXV4OiBJbml0aWFsICdzaWR4JyBhdG9tIHBhcnNpbmcgc3VwcG9ydAoJICBQYXJzZSB0aGUgJ3NpZHgnIGF0b20gYW5kIHVwZGF0ZSB0aGUgdG90YWwgZHVyYXRpb24gYWNjb3JkaW5nIHRvIHRoZQoJICBwYXJzZXIgcmVzdWx0LiBUaGUgaXNvZmYgcGFyc2VyIGNvZGUgaXMgaW1wb3J0ZWQgZnJvbQoJICBnc3QtcGx1Z2lucy1iYWQncyBkYXNoZGVtdXggYW5kIGEgZ3N0X2lzb2ZmX3NpZHhfcGFyc2VyX2FkZF9kYXRhKCkKCSAgZnVuY3Rpb24gd2FzIGZhY3RvcmVkIG91dCBvZiB0aGUgZ3N0X2lzb2ZmX3NpZHhfcGFyc2VyX2FkZF9idWZmZXIoKQoJICBmdW5jdGlvbi4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0MzU3OAoKMjAxNS0wMi0xMSAwNTowNjo0NSArMTEwMCAgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvZmx2L01ha2VmaWxlLmFtOgoJKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6CgkgIGZsdmRlbXV4OiBVc2UgZ3N0X3ZpZGVvX2d1ZXNzX2ZyYW1lcmF0ZSgpCgkgIFVzZSBnc3RfdmlkZW9fZ3Vlc3NfZnJhbWVyYXRlKCkgZnJvbSBsaWJnc3R2aWRlbyB0byBndWVzcwoJICBzZW5zaWJsZSBjb21tb24gZnJhbWVyYXRlcyB3aGVyZSBwb3NzaWJsZSBmcm9tIHRoZQoJICBmbG9hdGluZyBwb2ludCBmcHMgaW4gdGhlIHN0cmVhbS4KCjIwMTUtMDItMTEgMTM6NTM6MDIgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvcmF3MTM5NC9nc3RkdjEzOTRzcmMuYzoKCSogZXh0L3ZweC9nc3R2cDhlbmMuYzoKCSogZXh0L3ZweC9nc3R2cDllbmMuYzoKCSogZ3N0L2ludGVybGVhdmUvaW50ZXJsZWF2ZS5jOgoJKiBnc3QvcnRzcC9nc3RydHBkZWMuYzoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlcjIuYzoKCSAgSW1wcm92ZSBhbmQgZml4IExBVEVOQ1kgcXVlcnkgaGFuZGxpbmcKCSAgVGhpcyBub3cgZm9sbG93cyB0aGUgZGVzaWduIGRvY3MgZXZlcnl3aGVyZSwgZXNwZWNpYWxseSB0aGUgbWF4aW11bSBsYXRlbmN5CgkgIGhhbmRsaW5nLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ0MTA2CgoyMDE1LTAyLTExIDEwOjI5OjU1ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJICBydHBzZXNzaW9uOiBIYW5kbGUgZmlyc3QgUlRDUCBwYWNrZXQgYW5kIGVhcmx5IGZlZWRiYWNrIGNvcnJlY3RseQoJICBBY2NvcmRpbmcgdG8gUkZDIDQ1ODUgc2VjdGlvbiAzLjUuMyBzdGVwIDEgd2UgYXJlIG5vdCBhbGxvd2VkIHRvIHNlbmQKCSAgYW4gZWFybHkgUlRDUCBwYWNrZXQgZm9yIHRoZSB2ZXJ5IGZpcnN0IG9uZS4gSXQgbXVzdCBiZSBhIHJlZ3VsYXIgb25lLgoJICBBbHNvIG1ha2Ugc3VyZSB0byBub3QgdXNlIGxhc3RfcnRjcF9zZW5kX3RpbWUgaW4gYW55IGNhbGN1bGF0aW9ucyB1bnRpbAoJICB3ZSBhY3R1YWxseSBzZW50IGFuIFJUQ1AgcGFja2V0IGFscmVhZHkuIEluIHNwZWNpZmljIHRoaXMgbWVhbnMgdGhhdCB3ZQoJICBtdXN0IG5vdCB1c2UgaXQgZm9yIGZvcndhcmQgcmVjb25zaWRlcmF0aW9uIG9mIHRoZSBjdXJyZW50IFJUQ1Agc2VuZCB0aW1lLgoJICBJbnN0ZWFkIHdlIGRvbid0IGRvIGFueSBmb3J3YXJkIHJlY29uc2lkZXJhdGlvbiBmb3IgdGhlIGZpcnN0IFJUQ1AgcGFja2V0LgoKMjAxNS0wMi0xMCAxODo1Mzo1MyArMDEwMCAgV2ltIFRheW1hbnMgPHd0YXltYW5zQHJlZGhhdC5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNkZXBheS5jOgoJICBydHBoMjYzZGVwYXk6IGZpeCBjb21waWxhdGlvbiB3aXRoIGdjYyA1LjAKCjIwMTUtMDItMTAgMTY6MDA6MDcgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbXVsdGlmaWxlL2dzdHNwbGl0bXV4c2luay5jOgoJICBzcGxpdG11eHNpbms6IGZpeCBleGFtcGxlIHBpcGVsaW5lIHByb3Blcmx5CgkgIHgyNjRlbmMgbWlnaHQgbm90IGhhdmUgYSBtYXgta2V5LWludCBwcm9wZXJ0eSwgYnV0IGl0CgkgIGhhcyBhIGtleS1pbnQtbWF4IHByb3BlcnR5Li4uCgoyMDE1LTAyLTEwIDE0OjU3OjU1ICswMDAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzLmJnQHNhbXN1bmcuY29tPgoKCSogZ3N0L211bHRpZmlsZS9nc3RzcGxpdG11eHNyYy5jOgoJICBzcGxpdG11eDogZml4IHR5cG8KCjIwMTUtMDItMTAgMTQ6NTY6MjMgKzAwMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXMuYmdAc2Ftc3VuZy5jb20+CgoJKiBnc3QvbXVsdGlmaWxlL2dzdHNwbGl0bXV4c2luay5jOgoJICBzcGxpdG11eDogdXBkYXRlIGV4YW1wbGUgcGlwZWxpbmUKCSAgRWxlbWVudCB4MjY0ZW5jIGRvZXNuJ3QgaGF2ZSBhIG1heC1rZXktaW50IHByb3BlcnR5CgoyMDE1LTAyLTEwIDEzOjI5OjMyICswMDAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzLmJnQHNhbXN1bmcuY29tPgoKCSogZ3N0L211bHRpZmlsZS9nc3RzcGxpdG11eHNpbmsuYzoKCSAgc3BsaXRtdXg6IGZpeCBtZW1vcnkgbGVhawoJICBJZiBleGVjdXRpb24gZ29lcyB0byB0aGUgYmVhY2ggaW4gbGluZSA5ODEsIGJ1Zl9pbmZvIGdvZXMgb3V0IG9mIHNjb3BlIHdpdGhvdXQKCSAgdGhlIG1lbW9yeSBiZWluZyBmcmVlJ2QuIEhhbmRsZSB0aGlzIGNhc2UuCgkgIENJRCAjMTI2ODQwMwoKMjAxNS0wMi0wOCAxMjowMzoxMCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogZml4IGF3a3dhcmQgaWYgY2xhdXNlCgoyMDE1LTAyLTA3IDAxOjQxOjQ5ICsxMTAwICBKYW4gU2NobWlkdCA8amFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9tdWx0aWZpbGUvZ3N0c3BsaXRtdXhwYXJ0cmVhZGVyLmM6CgkqIGdzdC9tdWx0aWZpbGUvZ3N0c3BsaXRtdXhzaW5rLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3NwbGl0bXV4LmM6CgkgIHNwbGl0bXV4OiBBZGQgdW5pdCB0ZXN0IGZvciBmaWxlIHNwbGl0dGluZwoJICBBZGQgYSB1bml0IHRlc3QgZm9yIGZpbGUgc3BsaXR0aW5nLCBhbmQgZml4IHRoZSBsZWFrcyBpbiB0aGUKCSAgc3BsaXRtdXhzaW5rIGl0IGZvdW5kCgoyMDE1LTAyLTA2IDE0OjQzOjIyICswMDAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzLmJnQHNhbXN1bmcuY29tPgoKCSogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6CgkgIHdhdnBhcnNlOiBmaXggd2hpY2ggc3RvcCB2YXJpYWJsZSBpcyB1c2VkIGluIGFzc2lnbm1lbnQKCSAgQXNzaWdubWVudCBpcyBkb25lIHRvIHZhcmlhYmxlIHNlZ21lbnQuc3RvcCB3aGVuIHRoZSBpbnRlbnRpb24gd2FzIHRvIGFzc2lnbiB0bwoJICBsb2NhbCB2YXJpYWJsZSBzdG9wLiBJbnN0ZWFkIG9mIG92ZXJ3cml0aW5nIGl0LCB0aGUgdmFsdWUgaXMgbm93IGNsYW1wZWQgYW5kCgkgIHNlZ21lbnQuc3RvcCBpcyBzZXQgdG8gaXQgc29vbiBhZnRlci4KCSAgQ0lEICMxMjY1NzczCgoyMDE1LTAyLTA3IDAwOjE5OjM2ICsxMTAwICBKYW4gU2NobWlkdCA8amFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9tdWx0aWZpbGUvZ3N0c3BsaXRtdXhwYXJ0cmVhZGVyLmM6CgkqIGdzdC9tdWx0aWZpbGUvZ3N0c3BsaXRtdXhzcmMuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvc3BsaXRtdXguYzoKCSAgc3BsaXRtdXg6IEZpeCBtZW1vcnkgbGVha3MgdW50aWwgdGhlIHRlc3QgdmFsZ3JpbmRzIGNsZWFuCgoyMDE1LTAyLTA2IDA2OjQyOjE3ICsxMTAwICBKYW4gU2NobWlkdCA8amFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9tdWx0aWZpbGUvZ3N0c3BsaXRtdXhwYXJ0cmVhZGVyLmM6CgkgIHNwbGl0bXV4OiBIYW5kbGUgZWFybHkgRU9TIGR1cmluZyBwYXJ0IHByZXBhcmF0aW9uCgkgIEhhbmRsZSB0aGUgY2FzZSB3aGVyZSBhIHNob3J0IGZpbGUgcmVhY2hlcyBFT1Mgd2hpbGUgd2UncmUgc3RpbGwKCSAgd2FpdGluZyBmb3Igbm8tbW9yZS1wYWRzLCBhbmQgbWFrZSBzdXJlIHdlIGNvbnRpbnVlIHRvIHRoZSBpbnRlcm5hbAoJICBSRUFEWSBzdGF0ZSBmb3IgcmVhbCBwbGF5YmFjayB0byB3b3JrIHByb3Blcmx5IGxhdGVyLgoKMjAxNS0wMi0wNiAwNTowMzoxOSArMTEwMCAgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgoJKiB0ZXN0cy9maWxlcy9zcGxpdHZpZGVvMDAub2dnOgoJKiB0ZXN0cy9maWxlcy9zcGxpdHZpZGVvMDEub2dnOgoJKiB0ZXN0cy9maWxlcy9zcGxpdHZpZGVvMDIub2dnOgoJICB0ZXN0czogQ2hhbmdlIHNwbGl0bXV4IHRlc3QgdmlkZW8gZmlsZXMKCSAgQXZvaWQgdGVzdCBmYWlsdXJlIGJ5IGNoYW5naW5nIHRoZSBzdG9yZWQgdmlkZW8gcmVzb2x1dGlvbgoJICBmcm9tIDgweDYwIHRvIDgweDY0LCB3aGljaCBuZWVkcyBidWcgNzQxMDMwIHRvIGJlIGZpeGVkLgoKMjAxNC0wOC0wMSAwMDowNzo1MyArMTAwMCAgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaW50ZXJmYWNlczoKCSogZ3N0L211bHRpZmlsZS9NYWtlZmlsZS5hbToKCSogZ3N0L211bHRpZmlsZS9nc3RtdWx0aWZpbGUuYzoKCSogZ3N0L211bHRpZmlsZS9nc3RzcGxpdGZpbGVzcmMuYzoKCSogZ3N0L211bHRpZmlsZS9nc3RzcGxpdG11eHBhcnRyZWFkZXIuYzoKCSogZ3N0L211bHRpZmlsZS9nc3RzcGxpdG11eHBhcnRyZWFkZXIuaDoKCSogZ3N0L211bHRpZmlsZS9nc3RzcGxpdG11eHNpbmsuYzoKCSogZ3N0L211bHRpZmlsZS9nc3RzcGxpdG11eHNpbmsuaDoKCSogZ3N0L211bHRpZmlsZS9nc3RzcGxpdG11eHNyYy5jOgoJKiBnc3QvbXVsdGlmaWxlL2dzdHNwbGl0bXV4c3JjLmg6CgkqIGdzdC9tdWx0aWZpbGUvZ3N0c3BsaXR1dGlscy5jOgoJKiBnc3QvbXVsdGlmaWxlL2dzdHNwbGl0dXRpbHMuaDoKCSogZ3N0L211bHRpZmlsZS90ZXN0LXNwbGl0bXV4cGFydHJlYWRlci5jOgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvLmdpdGlnbm9yZToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvc3BsaXRtdXguYzoKCSogdGVzdHMvZmlsZXMvc3BsaXR2aWRlbzAwLm9nZzoKCSogdGVzdHMvZmlsZXMvc3BsaXR2aWRlbzAxLm9nZzoKCSogdGVzdHMvZmlsZXMvc3BsaXR2aWRlbzAyLm9nZzoKCSAgc3BsaXRtdXg6IEltcGxlbWVudCBuZXcgZWxlbWVudHMgZm9yIHNwbGl0dGluZyBmaWxlcyBhdCBtdXggbGV2ZWwuCgkgIEltcGxlbWVudCAyIG5ldyBlbGVtZW50cyAtIHNwbGl0bXV4c2luayBhbmQgc3BsaXRtdXhzcmMuCgkgIHNwbGl0bXV4c2luayBpcyBhIGJpbiB3aGljaCB3cmFwcyBhIG11eGVyIGFuZCB0YWtlcyAxIHZpZGVvIHN0cmVhbSwKCSAgcGx1cyBhdWRpby9zdWJ0aXRsZSBzdHJlYW1zLCBhbmQgc3RhcnRzIGEgbmV3IGZpbGUKCSAgd2hlbmV2ZXIgbmVjZXNzYXJ5IHRvIGF2b2lkIG92ZXJydW5uaW5nIGEgdGhyZXNob2xkIG9mIGVpdGhlciBieXRlcwoJICBvciB0aW1lLiBOZXcgZmlsZXMgYXJlIHN0YXJ0ZWQgYXQgYSBrZXlmcmFtZSwgYW5kIGNvcnJlc3BvbmRpbmcgYXVkaW8KCSAgYW5kIHN1YnRpdGxlIHN0cmVhbXMgYXJlIHNwbGl0IGF0IHBhY2tldCBib3VuZGFyaWVzIHRvIG1hdGNoCgkgIHZpZGVvIEdPUCB0aW1lc3RhbXBzLgoJICBzcGxpdG11eHNyYyBpcyBhIGNvcnJlc3BvbmRpbmcgc291cmNlIGVsZW1lbnQgd2hpY2ggaGFuZGxlcwoJICB0aGUgc3BsaXRtdXg6Ly8gVVJMIGFuZCBwbGF5cyBiYWNrIGFsbCBjb21wb25lbnQgZmlsZXMsCgkgIHJlY29uc3RydWN0aW5nIHRoZSBvcmlnaW5hbCBlbGVtZW50YXJ5IHN0cmVhbXMgYXMgaXQgZ29lcy4KCjIwMTUtMDItMDQgMTY6MzI6MTQgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3NvdXBodHRwc3JjLmM6CgkqIHRlc3RzL2ZpbGVzL3Rlc3QtY2VydC5wZW06CgkqIHRlc3RzL2ZpbGVzL3Rlc3Qta2V5LnBlbToKCSAgdGVzdHM6IHNvdXBodHRwc3JjOiB1cGRhdGUgc3NsIGtleS9jZXJ0IHBhaXIKCSAgT3VyIG9uZXMgd2VyZSBleHBpcmVkLiBUaGUgbmV3IG9uZXMgd2VyZSBjb3BpZWQgZnJvbSBsaWJzb3VwJ3MKCSAgdGVzdHMgZmlsZXMuCgkgIEFsc28gc2V0cyB0aGUgcHJvcGVydHkgdG8gdXNlIG91ciBvd24gY2VydCB0byB2YWxpZGF0ZSB0aGUKCSAgc2VydmVyLCBvdGhlcndpc2UgdGhlIGRlZmF1bHQgc3lzdGVtIGNlcnRzIHdvdWxkIGJlIHVzZWQKCSAgYW5kIGl0IHdvdWxkIGZhaWwuCgoyMDE1LTAyLTA0IDAyOjI1OjQ0IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRkZXBheS5jOgoJICBydHBoMjY0ZGVwYXk6IHByZXZlbnQgdHJ5aW5nIHRvIGdldCAwIGJ5dGVzIGZyb20gYWRhcHRlcgoJICBUaGlzIGNhdXNlcyBhbiBhc3NlcnRpb24gYW5kIHdvdWxkIGxlYWQgdG8gZ2V0dGluZyBhIE5VTEwgaW5zdGVhZAoJICBvZiBhIGJ1ZmZlci4gV2l0aG91dCBwcm9wZXIgY2hlY2tpbmcgdGhpcyB3b3VsZCBlYXNpbHkgbGVhZCB0bwoJICBhIHNlZ2ZhdWx0CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzcxOTkKCjIwMTUtMDItMDQgMjE6NTA6NTEgKzExMDAgIEphbiBTY2htaWR0IDxqYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IFNpbXBsZSBpbXBsZW1lbnRhdGlvbiBvZiBHU1RfU0VHTUVOVF9GTEFHX1RSSUNLTU9ERV9LRVlfVU5JVFMKCSAgV2hlbiB0aGUgdHJpY2ttb2RlIGtleS11bml0cyBmbGFnIGlzIHNldCBvbiB0aGUgc2VnbWVudCwgc2ltcGx5IHNraXAKCSAgYW55IHNhbXBsZSBvbiBhIHZpZGVvIHN0cmVhbSB0aGF0IGlzbid0IGEga2V5ZnJhbWUKCjIwMTUtMDItMDMgMTc6MzU6NTIgKzAxMDAgIFdpbSBUYXltYW5zIDx3dGF5bWFuc0ByZWRoYXQuY29tPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBmaXggY29udGFpbmVyIGhhbmRsaW5nCgkgIFdlIGRldGVjdCBhIGNvbnRhaW5lciBjb3JyZWN0bHkgbm93IHNvIHdlIG5lZWQgdG8gcmV2ZXJ0IHRoZSB3ZWlyZAoJICBjaGVjayB0aGVyZSB3YXMgYmVmb3JlLgoJICBVc2UgZ3N0X3J0c3BzcmNfc3RyZWFtX3B1c2hfZXZlbnQoKSB0byBwdXNoIHRoZSBjYXBzIGV2ZW50IG9uIHRoZQoJICByaWdodCBwYWQuCgkgIFNlZSBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM5MzkxCgoyMDE1LTAyLTAyIDE5OjQ2OjI3IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtaWRzLmg6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5oOgoJICBtYXRyb3NrYW11eDogc3RvcmUgYW5kIHdyaXRlIHN0cmVhbSB0YWdzCgkgIFNlcGFyYXRlIGdsb2JhbCBmcm9tIHN0cmVhbSB0YWdzIHN0b3JhZ2UgYW5kIHdyaXRlIHRoZW0gdG8gdGhlCgkgIGFwcHJvcHJpYXRlIHRhZ3MgZW50cnkgaW4gdGhlIG91dHB1dAoKMjAxNS0wMi0wMiAxMzozNTo1OSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IHBhcnNlIHN0cmVhbSB0YWdzCgkgIEtlZXAgZ2xvYmFsIGFuZCBzdHJlYW0gdGFncyBzZXBhcmF0ZWx5IGFuZCBwYXJzZSB0aGUgdWR0YSBub2RlCgkgIHRoYXQgY2FuIGJlIGZvdW5kIHVuZGVyIHRoZSB0cmFrIGF0b20uIFRoZSB1ZHRhIHdpbGwgY29udGFpbgoJICBzdHJlYW0gc3BlY2lmaWMgdGFncyBhbmQgd2lsbCBiZSBwdXNoZWQgYXMgc3VjaAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjkyNDczCgoyMDE1LTAxLTMxIDE0OjMyOjM0IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4LmM6CgkqIGdzdC9pc29tcDQvZ3N0cXRtdXguaDoKCSAgcXRtdXg6IHN0b3JlIHN0cmVhbSBhbmQgY29udGFpbmVyIHRhZ3Mgc2VwYXJhdGVseQoJICBUYWdzIHJlY2VpdmVkIHZpYSBldmVudHMsIHdoZW4gbWFya2VkIGFzIHN0cmVhbSB0YWdzLCB3aWxsCgkgIGJlIHN0b3JlZCBvbiB0aGF0IHN0cmVhbSdzIHRyYWsgYXRvbSBpbnN0ZWFkIG9mIGJlaW5nIHN0b3JlZAoJICBpbiB0aGUgbWFpbiB0YWdzIGF0b20uIFRoaXMgYWxsb3dzIHRoZSByZXN1bHRpbmcgZmlsZSB0byBoYXZlCgkgIGdsb2JhbCBhbmQgc3RyZWFtIHRhZ3Mgc3RvcmVkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjkyNDczCgoyMDE1LTAxLTMxIDEzOjE0OjQ0IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QvaXNvbXA0L2F0b21zLmM6CgkqIGdzdC9pc29tcDQvYXRvbXMuaDoKCSogZ3N0L2lzb21wNC9nc3RxdG11eC5jOgoJICBxdG11eDogcmVmYWN0b3IgdGFncyBmdW5jdGlvbnMgdG8gYWNjb21vZGF0YSBVRFRBIGF0IHRyYWsgbGV2ZWwKCSAgUmVmYWN0b3IgdGhlIGZ1bmN0aW9ucyB0aGF0IHdlcmUgYm91bmQgdG8gdGhlICdtb292JyBhdG9tIHRvCgkgIGRpcmVjdGx5IHBhc3MgdGhlIGRlc2lyZWQgJ3VkdGEnIHRoYXQgc2hvdWxkIHJlY2VpdmUgdGhlIHRhZ3MuCgkgIFRoaXMgYWxsb3dzIHRoZSB0YWdzIHRvIGJlIHdyaXR0ZW4gdG8gJ3VkdGEnIGF0IHRoZSAnbW9vdicgb3IKCSAgdGhlICd0cmFrJyBsZXZlbCwgY3JlYXRpbmcgdGFncyB0aGF0IGFyZSBmb3IgdGhlIGNvbnRhaW5lciBvcgoJICBmb3IgYSBzdHJlYW0gb25seS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5MjQ3MwoKMjAxNS0wMS0zMSAxMDo0Nzo0MCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0L2lzb21wNC9nc3RxdG11eC5jOgoJICBxdG11eDogbWFwIGFwcGxpY2F0aW9uIG5hbWUgdG8gX3N3ciB0YWcKCSAgSXQgcmVmZXJzIHRvIHRoZSBhcHBsaWNhdGlvbiBuYW1lIGFuZCB2ZXJzaW9uIHVzZWQgdG8gY3JlYXRlIHRoZQoJICBmaWxlCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTI0NzMKCjIwMTUtMDEtMzEgMDI6MzA6NDAgKzExMDAgIEphbiBTY2htaWR0IDxqYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1wYXJzZS5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcmVhZC1jb21tb24uYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXJlYWQtY29tbW9uLmg6CgkgIG1hdHJvc2thOiBGaXggc2Vla2luZyBwYXN0IHRoZSBlbmQgb2YgdGhlIGZpbGUgaW4gcmV2ZXJzZSBtb2RlLgoJICBTbmFwIHRvIHRoZSBlbmQgb2YgdGhlIGZpbGUgd2hlbiBzZWVraW5nIHBhc3QgdGhlIGVuZCBpbiByZXZlcnNlIG1vZGUsCgkgIGFuZCBhbHNvIGZpeCBHU1RfU0VFS19UWVBFX0VORCBhbmQgR1NUX1NFRUtfVFlQRV9OT05FIGhhbmRsaW5nCgkgIGZvciB0aGUgc3RvcCBwb3NpdGlvbiBieSBhbHdheXMgc2Vla2luZyBvbiBhIHNlZ21lbnQgaW4gc3RyZWFtIHRpbWUKCjIwMTUtMDEtMzAgMTg6MjI6MzEgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkgIHJ0cHNlc3Npb246IEZpeCBzaWduYWwgbmFtZQoJICBUaGlzIHdhc24ndCBtZWFudCB0byBiZSBwdXNoZWQgYXQgYWxsIHlldCwgYnV0IG5vdyB0aGF0IGl0J3MgdGhlcmUKCSAgYWxyZWFkeSBpdCB3b24ndCBodXJ0IHRvIG1ha2UgaXQgY29ycmVjdCBhdCBsZWFzdC4KCjIwMTUtMDEtMzAgMTY6NTY6MzUgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzdGF0cy5oOgoJICBydHBzdGF0czogRml4IHR5cG8gaW4gZG9jdW1lbnRhdGlvbgoKMjAxNS0wMS0zMCAxNjo1MDozNiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5oOgoJICBydHBzZXNzaW9uOiBBZGQgbmV3IG9uLXJlY2VpdmluZy1ydGNwIHNpZ25hbAoJICBUaGlzIHdpbGwgYmUgZW1pdHRlZCB3aGVuZXZlciBhbiBSVENQIHBhY2tldCBpcyByZWNlaXZlZC4gRGlmZmVyZW50IHRvCgkgIG9uLWZlZWRiYWNrLXJ0Y3AsIHRoaXMgc2lnbmFsIGdldHMgZXZlcnkgY29tcGxldGUgUlRDUCBwYWNrZXQgYW5kIG5vdAoJICBqdXN0IHRoZSBpbmRpdmlkdWFsIGZlZWRiYWNrIHBhY2tldHMuCgoyMDE1LTAxLTI4IDE0OjAyOjE1IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSogZ3N0L2lzb21wNC9xdGRlbXV4Lmg6CgkgIHF0ZGVtdXg6IHNpbXBsaWZ5IHNlZ21lbnQuYmFzZSBtYXRoCgkgIFJlbW92ZSBhIGZpeCBmb3IgaGVhdmlseSBlZGl0ZWQgZmlsZXMgYWRkZWQgZm9yIGZpeGluZwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MzQ1ODMwIHRvIHdvcmsKCSAgd2l0aCBzZWVrcyBhbmQgcHJvcGVyIGdhcHMgcGxheWJhY2suIFRoZSBmaXggd2FzIHJlcGxhY2VkCgkgIGZvciBhIG1vcmUgZ2VuZXJhbCBzb2x1dGlvbiB0aGF0IGJhc2VzIG9uIHVzaW5nIHByZXZpb3VzCgkgIHNlZ21lbnQncyBkdXJhdGlvbiwganVzdCBsaWtlIGl0IHdvcmtzIGZvciBtZWRpYSBzZWdtZW50cwoJICBwbGF5YmFjay4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0MzUxOAoKMjAxNS0wMS0yNyAxNDowMDozNSArMDAwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpcy5iZ0BzYW1zdW5nLmNvbT4KCgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXJvcmMtZGlzdC5jOgoJICB2aWRlb21peGVyOiB1cGRhdGUgb3JjIGZpbGVzCgoyMDE1LTAxLTI2IDE3OjA4OjEyIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogRml4IGRhdGEgZHJvcHBpbmcgZm9yIGZyYWdtZW50ZWQgc3RyZWFtcwoJICBGb3IgZnJhZ21lbnRlZCBzdHJlYW1zIHdpdGggZXh0cmEgZGF0YSBhdCB0aGUgZW5kIG9mIHRoZSBtZGF0CgkgIHF0ZGVtdXggd2FzIG5vdCBkcm9wcGluZyB0aG9zZSBieXRlcyBhbmQgd291bGQgdHJ5IHRvIHVzZQoJICB0aGF0IGV4dHJhIGRhdGEgYXMgdGhlIGJlZ2lubmluZyBvZiBhIG5ldyBhdG9tLCBjYXVzaW5nIHRoZQoJICBzdHJlYW0gdG8gZmFpbC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0MzQwNwoKMjAxNS0wMS0yNSAxNzozMDozMyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSAgcnRwc2Vzc2lvbjogRGVwcmVjYXRlIHJ0Y3AtaW1tZWRpYXRlLWZlZWRiYWNrLXRocmVzaG9sZCBwcm9wZXJ0eQoJICBJdCBoYWQgbm8gZWZmZWN0IHNpbmNlIHF1aXRlIHNvbWUgdGltZSBhbmQgYWxzbyBpcyBub3QgbmVlZGVkIGluIGdlbmVyYWwsCgkgIGVzcGVjaWFsbHkgbm90IHRvIHN3aXRjaCBiZXR3ZWVuIGltbWVkaWF0ZSBmZWVkYmFjayBtb2RlIGFuZCBlYXJseSBmZWVkYmFjawoJICBtb2RlLiBUaGUgbGF0ZXN0IHVuZGVyc3RhbmRpbmcgb2YgdGhlIFJGQyBpcyB0aGF0IGZyb20gdGhlIGVuZHBvaW50IHBvaW50IG9mCgkgIHZpZXcsIGJvdGggbW9kZXMgYXJlIGV4YWN0bHkgdGhlIHNhbWUuIFJUQ1AgaXMgb25seSBhbGxvd2VkIHRvIHVzZSB0aGUKCSAgYmFuZHdpZHRoIGFzIGdpdmVuIGJ5IHRoZSBSRkMgY29uc3RyYWludHMsIGFzIHN1Y2ggaXQgaXMgb25seSBldmVyIHBvc3NpYmxlCgkgIHRvIHNjaGVkdWxlIGEgUlRDUCBwYWNrZXQgZWFybHkgYnV0IGl0J3MgYWdhaW5zdCB0aGUgUkZDIHRvIHNjaGVkdWxlIG1vcmUgUlRDUAoJICBwYWNrZXRzLgoJICBUaGUgZGlmZmVyZW5jZSBiZXR3ZWVuIGltbWVkaWF0ZSBmZWVkYmFjayBtb2RlIGFuZCBlYXJseSBmZWVkYmFjayBtb2RlIGlzIHRoYXQKCSAgdGhlIGZvcm1lciBndWFyYW50ZWVzIHRoYXQgYW4gUlRDUCBwYWNrZXQgY2FuIGJlIHNlbnQgZm9yIGV2ZXJ5IGV2ZW50CgkgICJpbW1lZGlhdGVseSIsIHdoaWNoIG1lYW5zIHRoYXQgdGhlIGJhbmR3aWR0aCBjYWxjdWxhdGlvbnMgZnJvbSB0aGUgUkZDIGhhdmUKCSAgcmVzdWx0ZWQgaW4gYW4gUlRDUCBzY2hlZHVsaW5nIGludGVydmFsIHRoYXQgaXMgc21hbGwgZW5vdWdoLiBFYXJseSBmZWVkYmFjawoJICBtb2RlIG9uIHRoZSBvdGhlciBoYW5kIG1lYW5zIHRoYXQgd2UgY2FuIHNjaGVkdWxlIHNvbWUgcGFja2V0cyBlYXJseSB0byBtYWtlCgkgIHRoYXQgaGFwcGVuLCBidXQgaXQncyBub3QgZ3VhcmFudGVlZCBhdCBhbGwgdGhhdCBpdCdzIHBvc3NpYmxlIHRvIHNjaGVkdWxlCgkgIGFuIFJUQ1AgcGFja2V0IHBlciBldmVudCAoaS5lLiB0aGV5IG5lZWQgdG8gYmUgYWNjdW11bGF0ZWQgb3IgZHJvcHBlZCkuCgoyMDE1LTAxLTIyIDEwOjI5OjM5ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJICBydHBzZXNzaW9uOiBEZWxheSB0aGUgbmV4dCByZWd1bGFyIFJUQ1AgcGFja2V0IGFmdGVyIGVhcmx5IFJUQ1AKCSAgVGhpcyBpcyByZXF1aXJlZCB0byBub3QgZXhjZWVkIHRoZSBzaG9ydCB0ZXJtIGF2ZXJhZ2UgUlRDUCBiaXRyYXRlIHdoZW4KCSAgdXNpbmcgZWFybHkgZmVlZGJhY2sgYXMgY29tcGFyZWQgdG8gd2l0aG91dCBlYXJseSBmZWVkYmFjay4KCjIwMTUtMDEtMjIgMTA6Mjg6NTIgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkgIHJ0cHNlc3Npb246IEFkZCBuZXcgc2VuZC1ydGNwLWZ1bGwgc2lnbmFsCgkgIFRoaXMgaW5kaWNhdGVzIHdpdGggYSBib29sZWFuIHJldHVybiB2YWx1ZSBpZiBzY2hlZHVsaW5nIGEgbmV3IFJUQ1AgcGFja2V0CgkgIHdpdGhpbiB0aGUgcmVxdWVzdGVkIGRlbGF5IHdhcyBwb3NzaWJsZS4gT3RoZXJ3aXNlIGl0IGJlaGF2ZXMgZXhhY3RseSBsaWtlCgkgIHNlbmQtcnRjcC4gVGhlIG9ubHkgcmVhc29uIGZvciBhZGRpbmcgYSBuZXcgc2lnbmFsIGlzIEFCSSBjb21wYXRpYmlsaXR5LgoKMjAxNS0wMS0yMCAwMDozMjowMCArMDAwMCAgSmltbXkgT2huIDx5b25namluLm9obkBsZ2UuY29tPgoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJICBwdWxzZXNpbms6IEZyZWUgZm9ybWF0X2luZm8gaW4gcXVlcnlfZ2V0Y2FwcwoJICBJZiB3ZSBjYW4gbm90IGNyZWF0ZSBwcm9iZSBzdHJlYW0gaW4gcXVlcnlfZ2V0Y2FwcyBmdW5jdGlvbiwgaXQgd2lsbCBhcHBlYXIKCSAgbWVtb3J5IGxlYWthZ2UgZnJvbSBmb3JtYXQgaW5mby4KCSAgVGhlIGZvbGxvd2luZyBwYXRjaCBwcmV2ZW50IG1lbW9yeSBsZWFrYWdlIGluIHB1bHNlc2luay4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0MzE3OAoKMjAxNS0wMS0yMyAxNzozNTo1MSArMDAwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpcy5iZ0BzYW1zdW5nLmNvbT4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1yZWFkLWNvbW1vbi5jOgoJICBtYXRyb3NrYWRlbXV4OiByZW1vdmUgdW5uZWNlc3NhcnkgY2hlY2sKCSAgTm8gbWF0dGVyIGlmIGdzdF9tYXRyb3NrYV9yZWFkX2NvbW1vbl9wYXJzZV9pbmRleF9jdWV0cmFjayAoKSByZXR1cm5zIHRoYXQgdGhlCgkgIGZsb3cgaXMgT0sgb3Igbm90LCB0aGUgY2hlY2sgdGhlcmUgd2lsbCBiZSBhIGJyZWFrIGZyb20gdGhlIHN3aXRjaC4gUmVtb3ZpbmcgdGhlCgkgIGNoZWNrIHNpbmNlIHRoZSBvdXRjb21lIGlzIHRoZSBzYW1lLgoJICBDSUQgIzEyNjU3NjIKCjIwMTUtMDEtMjMgMTU6MTY6MjUgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkgIG1hdHJvc2thbXV4OiBBdm9pZCB1c2luZyBmcmVlZCB2YXJpYWJsZQoJICB0aGUgbmFtZSB2YXJpYWJsZSBtaWdodCBoYXZlIGJlZW4gYXR0cmlidXRlZCB0byBwYWRfbmFtZSwgbWFrZSBzdXJlIHdlCgkgIGZyZWUgaXQgb25seSAqYWZ0ZXIqIHBhZF9uYW1lIGhhcyBiZWVuIHVzZWQuCgkgIENvdmVyaXR5IENJRCA6IDEyNjU3NzQKCjIwMTUtMDEtMjMgMTU6MTM6NTUgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvYXZpL2dzdGF2aW11eC5jOgoJICBhdmltdXg6IEF2b2lkIHVzaW5nIGZyZWVkIHZhcmlhYmxlCgkgIHRoZSBuYW1lIHZhcmlhYmxlIG1pZ2h0IGhhdmUgYmVlbiBhdHRyaWJ1dGVkIHRvIHBhZF9uYW1lLCBtYWtlIHN1cmUgd2UKCSAgZnJlZSBpdCBvbmx5ICphZnRlciogcGFkX25hbWUgaGFzIGJlZW4gdXNlZC4KCSAgQ292ZXJpdHkgQ0lEIDogMTI2NTc3NQoKMjAxNC0xMS0xNCAxMjo1OTozMSArMDEwMCAgUGV0ZXIgU2VpZGVyZXIgPHBzLnJlcG9ydEBnbXgubmV0PgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICB2NGwyb2JqZWN0OiByZXVzZSBjYXBzIGZyYW1lcmF0ZSBpZiBub3Qgb3ZlcndyaXR0ZW4gYnkgdjRsMiBkZXZpY2UKCSAgRW5hYmxlcyBkdXJhdGlvbiBzZXR0aW5nIGluIHY0bDJzcmMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDA0MDMKCjIwMTUtMDEtMjIgMTA6Mjk6MjQgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkgIHJ0cHNlc3Npb246IEZpeCBpbmRlbnRpb24KCjIwMTUtMDEtMjEgMTc6MzY6MjYgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXhfZHVtcC5jOgoJICBxdGRlbXV4X2R1bXA6IEJ5cGFzcyBldmVuIG1vcmUgY29kZSBpZiBkZWJ1Z2dpbmcgaXMgZGlzYWJsZWQKCSAgQW5kIGF2b2lkIHVzaW5nIHZhcmlhYmxlcyB0aGF0IHdvbid0IGV4aXN0IHdoZW4gZGVidWdnaW5nIGlzIGRpc2FibGVkCgoyMDE1LTAxLTIxIDE1OjMwOjMzICswMTAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4X2R1bXAuYzoKCSAgcXRkZW11eDogT25seSB0cmF2ZXJzZS9kdW1wIG5vZGVzIGlmIGd1YXJhbnRlZWQgdG8gYmUgdXNlZAoJICBfX2dzdF9kZWJ1Z19taW4gaXMgdGhlICJnbG9iYWwiIGxvd2VzdCBkZWJ1ZyBsZXZlbCBzZXQuIFRoZXJlJ3Mgbm8KCSAgZ3VhcmFudGVlIHRoZSBxdGRlbXV4IGRlYnVnIGNhdGVnb3J5IGlzIGFjdHVhbGx5IHNldCBhdCB0aGF0IGxldmVsLgoKMjAxNC0xMi0yMCAxNzowOToxNCArMDEwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9tYXRyb3NrYS9lYm1sLXJlYWQuYzoKCSAgbWF0cm9za2E6IEF2b2lkIGRlYnVnZ2luZyBiZWxvdyBjYXRlZ29yeSB0aHJlc2hvbGQKCSAgVGhpcyBwYXJ0IGFsb25lIHdhcyB3aGF0IG1hZGUgdGhlIG1hdHJvc2thIHRocmVhZCB0YWtlIGEgZnVsbCBjb3JlCgkgIG9uIGFuIGFuZHJvaWQgcGhvbmUgLi4uCgoyMDE1LTAxLTIxIDA5OjU1OjMwICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2R2L2dzdHNtcHRldGltZWNvZGUuYzoKCSogZXh0L21pa21vZC9taWttb2RfdHlwZXMuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9keW5hbWljLmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvcGFub3JhbWEuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0cmFkaW9hYy5jOgoJKiBnc3QvaXNvbXA0L2F0b21zLmM6CgkqIGdzdC9pc29tcDQvZ3N0cXRtdXhtYXAuYzoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSogZ3N0L3ZpZGVvZmlsdGVyL2dzdHZpZGVvdGVtcGxhdGUuYzoKCSogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6CgkgIENvbnN0aWZ5IHNvbWUgc3RhdGljIGFycmF5cyBldmVyeXdoZXJlCgoyMDE1LTAxLTE5IDE3OjQ5OjU0ICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBmaXggZGVhZGxvY2sgc2Vla2luZyBpbiBmaWxlcyB3aXRob3V0IHNlZWsgZW50cmllcwoJICBBIG11dGV4IHVubG9jayB3YXMgbWlzc2luZy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczOTk3NQoKMjAxNS0wMS0xOSAxMjozNDoyNSArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9taXhlci9ibGVuZC5jOgoJICB2aWRlb21peGVyOiBmaXggaWxsZWdhbCBtZW1vcnkgYWNjZXNzIGluIGJsZW5kIGZ1bmN0aW9uIHdpdGggbmVnYXRpdmUgeXBvcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQxMTE1CgoyMDE1LTAxLTEzIDE2OjQ5OjM0IC0wNTAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwydmlkZW9kZWMuYzoKCSAgdjRsMnZpZGVvZGVjOiBQcm94eSBnZXRjYXBzCgkgIFJlcGxhY2UgdGhlIHNpbmtfcXVlcnkgd2l0aCBuZXcgZ2V0Y2FwcygpIHZpcnR1YWwgYW5kIHVzZSB0aGUgcHJveHkKCSAgaGVscGVyIHdpdGggdGhlIHByb2JlZCBjYXBzLiBUaGlzIGFsbG93IHVwc3RyZWFtIGVsZW1lbnQgdGFraW5nIGRlY2lzaW9uCgkgIGJhc2Ugb24gd2hhdCBpcyBzdXBwb3J0ZWQgZG93bnN0cmVhbS4KCjIwMTUtMDEtMTMgMTk6MDU6MjAgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvaXNvbXA0L2ZvdXJjYy5oOgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4LmM6CgkqIGdzdC9pc29tcDQvZ3N0cXRtdXhtYXAuYzoKCSAgcXRtdXg6IEFkZCBzdXBwb3J0IGZvciB2MjEwCgoyMDE1LTAxLTEzIDE4OjU4OjAxICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IHYyMTAgaXMgdjIxMCwgbm90IFVZVlkgYW5kIHl1djIgaXMgWVVZMiwgbm90IEk0MjAKCSAgQWxzbyBhZGQgYSBmZXcgb3RoZXIgcmF3IHZpZGVvIGZvcm1hdHMgd2Ugc3VwcG9ydDogdjMwOCwgdjIxNgoJICBhbmQgYWRkIGNvbW1lbnRzIGZvciBhIGZldyBvdGhlcnMgd2UgZG9uJ3Qgc3VwcG9ydCB5ZXQuCgkgIGh0dHBzOi8vZGV2ZWxvcGVyLmFwcGxlLmNvbS9saWJyYXJ5L21hYy90ZWNobm90ZXMvdG4yMTYyLwoKMjAxNS0wMS0xMiAxNTo1NjoyOSArMDEwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gZjJjNmI5NSB0byBiYzc2YThiCgoyMDE1LTAxLTEwIDE1OjUxOjE2ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL29zeHZpZGVvL2NvY29hd2luZG93Lmg6CgkqIHN5cy9vc3h2aWRlby9jb2NvYXdpbmRvdy5tOgoJKiBzeXMvb3N4dmlkZW8vb3N4dmlkZW9zaW5rLmg6CgkqIHN5cy9vc3h2aWRlby9vc3h2aWRlb3NpbmsubToKCSAgb3N4dmlkZW9zaW5rOiBEaXNhYmxlIGhhY2sgZm9yIE5TQXBwIGl0ZXJhdGlvbiB3aXRoIGEgc3BlY2lhbCAjZGVmaW5lCgkgIFRoZSBoYWNrIGNhdXNlcyBkZWFkbG9ja3MgYW5kIG90aGVyIGludGVyZXN0aW5nIHByb2JsZW1zIGFuZCBpdCByZWFsbHkKCSAgY2FuIG9ubHkgYmUgZml4ZWQgcHJvcGVybHkgaW5zaWRlIEdMaWIuIFdlIHdpbGwgaW5jbHVkZSBhIHBhdGNoIGZvcgoJICBHTGliIGluIG91ciBidWlsZHMgZm9yIG5vdyB0aGF0IGhhbmRsZXMgdGhpcywgYW5kIGhvcGVmdWxseSBhdCBzb21lCgkgIHBvaW50IEdMaWIgd2lsbCBhbHNvIG1lcmdlIGEgcHJvcGVyIHNvbHV0aW9uLgoJICBBIHByb3BlciBzb2x1dGlvbiB3b3VsZCBmaXJzdCByZXF1aXJlIHRvIHJlZmFjdG9yIHRoZSBwb2xsaW5nIGluCgkgIEdNYWluQ29udGV4dCB0byBvbmx5IHByb3ZpZGUgYSBzaW5nbGUgZmQsIGUuZy4gdmlhIGVwb2xsL2txdWV1ZQoJICBvciBhIHRocmVhZCBsaWtlIHRoZSBvbmUgYWRkZWQgYnkgb3VyIHBhdGNoLiBUaGVuIHRoaXMgc2luZ2xlCgkgIGZkIGNvdWxkIGJlIHJldHJpZXZlZCBmcm9tIHRoZSBHTWFpbkNvbnRleHQgYW5kIGRpcmVjdGx5IGludGVncmF0ZWQKCSAgaW50byBhIE5TUnVuTG9vcC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0MTQ1MAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA0Mzc0CgoyMDE1LTAxLTA4IDIxOjA3OjA1ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtbmF1d0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkgIHB1bHNlc2luazogdW5jb3JrIGlmIG5lZWRlZCB1cG9uIGNvbW1pdAoJICAuLi4gdG8gcHJvdmlkZSBmb3IgYSBydW5uaW5nIGNsb2NrLgoKMjAxNS0wMS0wOSAxNjo1OTo1MyAtMDUwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMnZpZGVvZGVjLmM6CgkgIHY0bDJ2aWRlb2RlYzogUHJldmVudCByZW5lZ290aWF0aW9uCgkgIFJlbmVnb3RpYXRpb24gaXNuJ3Qgc3VwcG9ydGVkLCBzaW1wbHkgcHJldmVudCBpdCB0aGUgd2F5IHdlIGRvIGluCgkgIHY0bDJzcmMuCgoyMDE1LTAxLTA2IDEzOjU0OjI1IC0wNTAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwydmlkZW9kZWMuYzoKCSAgdjRsMnZpZGVvZGVjOiBEb24ndCB1bmxvY2sgdGhlIHN0cmVhbSBsb2NrIHR3aWNlCgoyMDE1LTAxLTA5IDExOjQwOjQwIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogZml4IHN0cmVhbSB0aW1lIGNvbnZlcnNpb24KCSAgVXNlIHRoZSByaWdodCBtYWNybyB0byBjb252ZXJ0IHRvIHRoZSBjb3JyZWN0IHNjYWxlIG9yIHRoZQoJICBzZWdtZW50IGluZm9ybWF0aW9uIHdpbGwgYmUgd3JvbmcKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0MjU3MgoKMjAxNS0wMS0wNyAxODo0ODo1OCAtMDUwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYWxsb2NhdG9yLmM6CgkgIHY0bDJhbGxvY2F0b3I6IEFkZCBwcm90ZWN0aW9uIGFnYWluc3QgZHJpdmVyIGJ1ZwoJICB2NGwybG9vcGJhY2sgZHJpdmVyIGhhcyBhIHRoaXMgbmFzdHkgYnVnIHRoYXQgaWYgdGhlIHF1ZXVlIGlzIGxhcmdlcgoJICB0aGVuIDIgYnVmZmVycywgaXQgcmV0dXJucyByYW5kb20gaW5kZXggb24gZHFidWYuIFNvIGZhciB3ZSBhc3N1bWVkCgkgIHRoYXQgdGhlIGluZGV4IHdhcyBhbHdheXMgcmlnaHQsIHdoaWNoIHdvdWxkIGxlYWQgdG8gbWVtb3J5IGJlaW5nCgkgIHVucmVmIHR3aWNlLCBhbmQgZXZlbnR1YWxseSBjcmFzaC4KCjIwMTUtMDEtMDcgMTc6NTg6MDUgLTA1MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmFsbG9jYXRvci5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyYWxsb2NhdG9yLmg6CgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkgIHY0bDI6IERvbid0IHVzZSBhbGxvY2F0b3Igc2l6ZSB0byBpdGVyYXRlCgkgIEFzIHRoZSBidWZmZXIgYXJyYXkgaXMgZml4ZWQgc2l6ZSBhbmQgc21hbGwsIGl0J3Mgc2FmZXIgdG8gc2ltcGx5CgkgIHVzZSB0aGlzIHN0YXRpYyBzaXplIHRvIGNsZWFudXAgdGhlIGJ1ZmZlcnMuIFRoaXMgaXMgYWxzbyBtb3JlCgkgIGNvbnNpc3RlbnQgd2l0aCB0aGUgcmVzdC4gVGhlIGFzc29jaWF0ZWQgbWV0aG9kIGlzIG5vIGxvbmdlcgoJICByZXF1aXJlZCBhbmQgY2FuIGJlIGRyb3BwZWQuCgoyMDE1LTAxLTA3IDE3OjU1OjE0IC0wNTAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkgIHY0bDJidWZmZXJwb29sOiBEb24ndCBjbGVhbiBidWZmZXIgYXJyYXkgaW4gZGlzcG9zZQoJICBUaGlzIHNob3VsZCBhbHJlYWR5IGhhdmUgYmVlbiBkb25lLCBwbHVzIHRoaXMgY29kZSBpcyBpbmNvcnJlY3QKCSAgYW5kIG1heSBsZWFkIHRvIGNyYXNoLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQyMDc0CgoyMDE1LTAxLTA3IDE3OjQ4OjMxIC0wNTAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkgIHY0bDJidWZmZXJwb29sOiBEb24ndCByZWYgcXVldWVkIG91dHB1dCBidWZmZXIKCSAgVGhpcyBwYXJ0bHkgcmV2ZXJ0IHRvIHRoZSBvbGQgMS4yIGJlaGF2aW9yLiBJbnN0ZWFkIG9mIGtlZXBpbmcgYQoJICByZWZlcmVuY2UgdG8gdGhlIG91dHB1dCBidWZmZXIgcXVldWVkLCB3ZSBzaW1wbHkgcmVsZWFzZSB0aGVtIGJ1dAoJICBkb24ndCBmb3J3YXJkIGl0IHRvIEdzdEJ1ZmZlclBvb2wuIFRoaXMgd2F5LCB0aGUgYnVmZmVyIHBvb2wgZG9uJ3QKCSAgbmVlZCB0byBiZSBmbHVzaGVkIHRvIGJlIHN0b3BwZWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDIwNzQKCjIwMTUtMDEtMDggMTE6Mzc6MjMgLTA1MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSAgdjRsMmJ1ZmZlcnBvb2w6IE5ldmVyIGZhaWwgb24gc3RyZWFtb2ZmCgkgIEZhaWxpbmcgc3RyZWFtb2ZmIHByZXZlbnRzIGFsbG9jYXRvciBmcm9tIGJlaW5nIGRpc3Bvc2VkIGhlbmNlCgkgIGxlYWQgdG8gZGV2aWNlIEZEIGxlYWsuIFRoZXJlIGlzIG5vIGtub3duIGNhc2VzIHdoZXJlIHN0cmVhbW9mZgoJICBtYXkgZmFpbHMgZm9yIHdoaWNoIHdlJ2Qgc3RpbGwgYmUgc3RyZWFtaW5nLiBzdHJlYW1vZmYgaXMga25vd24KCSAgdG8gZmFpbCB3aGVuIGEgZGV2aWNlIGlzIGJlaW5nIHVucGx1Z2dlZCAoaW4gd2hpY2ggY2FzZSBlcnJubwoJICAxOS9FTk9ERVYgaXMgc2V0KS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMjczNAoKMjAxNS0wMS0wNyAyMTo1MjoxNyAtMDUwMCAgQnJhZCBTbWl0aCA8YnJhZEBjb21zdHlsZS5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkgIHY0bDI6IEFkZCBzdXBwb3J0IGZvciBkZXRlY3RpbmcgdGhlIHByZXNlbmNlIG9mIFY0TDIgc3VwcG9ydCBvbiBPcGVuQlNECgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Jldmlldz9idWc9NzQyNTAzCgoyMDE1LTAxLTA0IDE1OjU3OjEwICswMTAwICBNYXRlaiBLbm9wcCA8bWF0ZWoua25vcHBAZ21haWwuY29tPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYzNwYXJzZS5jOgoJICBhYzNwYXJzZTogcmVxdWVzdCBhdCBsZWFzdCA4IGJ5dGVzIHRvIHByb3Blcmx5IHBhcnNlIGhlYWRlcgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQyMzI1CgoyMDE1LTAxLTA3IDE2OjIwOjAzIC0wODAwICBNaWNoYWVsIFNtaXRoIDxtaWNoYWVsLnNtaXRoQHJkaW8uY29tPgoKCSogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6CgkgIHdhdnBhcnNlOiBza2lwIGFuIGFkZGl0aW9uYWwgdW5pbnRlcmVzdGluZyBjaHVuayB0eXBlIGJlZm9yZSB0aGUgZm10IGNodW5rLgoKMjAxNS0wMS0wNyAxODoxNjoxMiArMDAwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpcy5iZ0BzYW1zdW5nLmNvbT4KCgkqIGdzdC9hdWRpb2Z4L2F1ZGlvZHluYW1pYy5jOgoJICBhdWRpb2R5bmFtaWM6IGFzc2VydCBmdW5jX2luZGV4IGlzIGluc2lkZSBib3VuZHMKCSAgQnJpbmdpbmcgYmFjayB0aGUgY2hlY2sgcmVtb3ZlZCBpbiB0aGUgcHJldmlvdXMgY29tbWl0IGJ1dCBoYXZlIHRoYXQgY2hlY2sgYmUgYQoJICBnX2Fzc2VydC4gQ2hhbmdpbmcgdGhlIGZ1bmN0aW9uIHRvIHN0YXRpYyB2b2lkIHNpbmNlIHJldHVybiBjYW4gbmV2ZXIgYmUgRmFsc2UsCgkgIGJlY2F1c2UgYXVkaW8gZm9ybWF0IHdpbGwgbmV2ZXIgYmUgdW5rb3duLgoKMjAxNS0wMS0wNyAxNzozMTozOSArMDAwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpcy5iZ0BzYW1zdW5nLmNvbT4KCgkqIGdzdC9hdWRpb2Z4L2F1ZGlvZHluYW1pYy5jOgoJICBhdWRpb2R5bmFtaWM6IHJlbW92ZSBhbHdheXMtdHJ1ZSBjb25kaXRpb25hbAoJICBmdW5jX2luZGV4IGlzIHNldCBieSB0aGUgc3VtIG9mIHRocmVlIHRlcm5hcnkgb3BlcmF0b3JzIHdoaWNoIGFkZCwgMDo0LCAwOjIsCgkgIGFuZCAxOjAuIE1pbmltdW0gdmFsdWUgd291bGQgYmUgMCswKzA9MCwgYW5kIG1heGltdW0gd291bGQgYmUgNCsyKzE9Ny4KCSAgVGhlIGNvbmRpdGlvbmFsIGNoZWNraW5nIGlmIGZ1bmNfaW5kZXggaXMgPj0gMCBhbmQgPCA4IHdpbGwgYWx3YXlzIGJlIHRydWUuCgkgIFJlbW92aW5nIGl0LgoJICBDSUQgMTIyNjQ0MgoKMjAxNS0wMS0wNyAxODowNToxOCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBydHBqaXR0ZXJidWZmZXI6IElmIHdlIGdldCBhIGdhcCB3aXRoIGEgYnVmZmVyIHdpdGhvdXQgRFRTLCBlcnJvciBvdXQKCSAgV2UgKGN1cnJlbnRseT8pIGNhbid0IHJlYWxseSBoYW5kbGUgZ2FwcyBiZXR3ZWVuIFJUUCBwYWNrZXRzIGlmIHRoZXkncmUgbm90CgkgIHByb3Blcmx5IHRpbWVzdGFtcGVkLiBUaGUgY3VycmVudCBjb2RlIHdvdWxkIGdvIGludG8gY2FsY3VsYXRpb25zIHdpdGgKCSAgR1NUX0NMT0NLX1RJTUVfTk9ORSBhbmQgdGhlbiBjYXVzZSBhc3NlcnRpb25zIGV2ZXJ5d2hlcmUuIEl0J3MgcHJvYmFibHkKCSAgYmV0dGVyIHRvIGVycm9yIG91dCBjbGVhbmx5IGluc3RlYWQuCgoyMDE0LTExLTIxIDExOjM5OjE5IC0wODAwICBBbGVpeCBDb25jaGlsbG8gRmxhcXXDqSA8YWxlaXhAb2Jsb25nLmNvbT4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogc2V0IFBMQVlJTkcgc3RhdGUgYWZ0ZXIgY29uZmlndXJpbmcgY2FwcwoJICBXZSBzZXQgdG8gUExBWUlORyBhZnRlciB3ZSBoYXZlIGNvbmZpZ3VyZWQgdGhlIGNhcHMsIG90aGVyd2lzZSB3ZQoJICBtaWdodCBlbmQgdXAgY2FsbGluZyByZXF1ZXN0X2tleSAod2l0aCBTUlRQKSB3aGlsZSBjYXBzIGFyZSBzdGlsbAoJICBiZWluZyBjb25maWd1cmVkLCBlbmRpbmcgaW4gYSBjcmFzaC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0MDUwNQoKMjAxNC0xMi0zMCAxODowMzoyMiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHRlc3RzL2ljbGVzL2dka3BpeGJ1Zm92ZXJsYXktdGVzdC5jOgoJICB0ZXN0czogZ2RrcGl4YnVmb3ZlcmxheS10ZXN0OiByZW1vdmUgb3V0ZGF0ZWQgRklYTUUKCjIwMTQtMTItMzAgMTc6MTk6NDIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHBjb2xsaXNpb24uYzoKCSAgdGVzdHM6IHJ0cGNvbGxpc2lvbjogdXNlIGFsYXdlbmMvZGVjIGluIHRoZXNlIHRlc3RzIGluc3RlYWQgb2YgU3BlZXgKCSAgVGhleSBzaG91bGQgYWx3YXlzIGJlIGJ1aWx0LCB3aGlsZSB0aGUgc3BlZXggZWxlbWVudHMgYXJlIG5vdC4KCSAgTmVlZCB0byBjaGVjayBmb3IgYSBzbWFsbGVyIG51bWJlciBvZiBidWZmZXJzIHRoZW4gKDctPjQpIGJlY2F1c2UKCSAgc3BlZXhlbmMgd2lsbCBhZGQgMyBoZWFkZXIgYnVmZmVycyB3aGlsZSBhbGF3ZW5jIHdpbGwganVzdCBvdXRwdXQKCSAgYXMgbWFueSBidWZmZXJzIGFzIGl0IHJlY2VpdmVzIGFzIGlucHV0LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQyMDk4CgoyMDE0LTEyLTMwIDE2OjM2OjAyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogdGVzdHMvY2hlY2svcGlwZWxpbmVzL3NpbXBsZS1sYXVuY2gtbGluZXMuYzoKCSAgdGVzdHM6IHNpbXBsZS1sYXVuY2gtbGluZXM6IG9ubHkgcnVuIGpwZWcvcG5nIHRlc3RzIGlmIGVsZW1lbnRzIGFyZSBhdmFpbGFibGUKCjIwMTQtMTItMzAgMTY6MjY6NTggKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOgoJICBzb3VwaHR0cHNyYzogRG9uJ3QgcmV0dXJuIGEgYnVmZmVyIHdoZW4gcmV0dXJuaW5nIG5vdCBHU1RfRkxPV19PSwoJICBiYXNlc3JjIGFzc3VtZXMgdGhhdCB3ZSBkb24ndCByZXR1cm4gYSBidWZmZXIgaWYKCSAgc29tZXRoaW5nIGVsc2UgdGhhbiBPSyBpcyByZXR1cm5lZC4gSXQgd2lsbCBqdXN0CgkgIGxlYWsgYW55IGJ1ZmZlciB3ZSBtaWdodCBhY2NpZGVudGlhbGx5IHByb3ZpZGUKCSAgaGVyZS4KCSAgVGhpcyBjYW4gcG90ZW50aWFsbHkgaGFwcGVuIGR1cmluZyBmbHVzaGluZy4KCSAgTWF5YmUgZml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0MTk5MwoKMjAxNC0xMi0zMCAxNDo1Mjo0MiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cGF1eC5jOgoJICB0ZXN0czogcnRwYXV4OiB1c2UgYWxhd2VuYy9kZWMgaW4gdGhlc2UgdGVzdHMgaW5zdGVhZCBvZiBTcGVleAoJICBUaGV5IHNob3VsZCBhbHdheXMgYmUgYnVpbHQsIHdoaWxlIHRoZSBzcGVleCBlbGVtZW50cyBhcmUgbm90LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQyMDk4CgoyMDE0LTEyLTI5IDE1OjM1OjE5ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thZGVtdXg6IEltcHJvdmUgZGV0ZWN0aW9uIG9mIGJlaW5nIHN0dWNrIGF0IHRoZSBzYW1lIG9mZnNldAoJICBPbmx5IGVycm9yIG91dCBpZiB3ZSByZWFkIGZyb20gdGhlIHNhbWUgcG9zaXRpb24gYWdhaW4gYW5kIGdvdCB0aGUKCSAgc2FtZSBsZW5ndGguIEp1c3QgdGhlIHNhbWUgcG9zaXRpb24gaXMgbm90IG5lY2Vzc2FyaWx5IGVub3VnaC4KCjIwMTQtMTItMjkgMTU6MDA6MDIgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2FkZW11eDogRG9uJ3QgZ2V0IHN0dWNrIGF0IHRoZSBzYW1lIG9mZnNldCB3aGVuIHNlYXJjaGluZyBmb3IgY2x1c3RlcnMKCSAgVGhpcyBjb3VsZCBoYXBwZW4gaWYgdGhlcmUgaXMgYW4gaW52YWxpZCBjbHVzdGVyIHdpdGggc2l6ZSAwLCBhbmQgaW4gdGhhdAoJICBjYXNlIGp1c3QgZXJyb3Igb3V0IGluc3RlYWQgb2YgbG9vcGluZyBmb3JldmVyLgoKMjAxNC0xMi0yNSAyMTozMjo0MCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9pc29tcDQvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IGZpeCBBTEFDIG11eGluZwoJICBBY3R1YWxseSBjb3B5IHRoZSBjb2RlYyBkYXRhIGluc3RlYWQgb2YgY29weWluZyBub3RoaW5nCgkgIGFuZCB0aGVuIGJvbWJpbmcgb3V0IGJlY2F1c2UgdGhlcmUncyBubyBkYXRhLgoJICBGaXhlczogZ3N0LWxhdW5jaC0xLjAgYXVkaW90ZXN0c3JjICEgYXZlbmNfYWxhYyAhIHF0bXV4ICEgZmFrZXNpbmsKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0MTc4MwoKMjAxNC0xMi0yNSAxNTo0ODowNCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHB0ZGVtdXguYzoKCSAgcnRwcHRkZW11eDoganVzdCBkcm9wIGludmFsaWQgcnRwIHBhY2tldHMgaW5zdGVhZCBvZiBlcnJvcmluZyBvdXQKCSAgQXBwYXJlbnRseSBsaW5waG9uZSBzZW5kcyBhbiBpbnZhbGlkIFJUUCBwYWNrZXQgYXMgdmVyeQoJICBmaXJzdCBwYWNrZXQuIFdlIHdhbnQgdG8gaWdub3JlIHRoYXQgaW5zdGVhZCBvZiBlcnJvcmluZwoJICBvdXQgKHNhbWUgZm9yIGFueSBvdGhlciBpbnZhbGlkIHBhY2tldHMgcmVhbGx5KS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0MTM5OAoKMjAxNC0xMi0yNSAxNTo0NDoxNSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHB0ZGVtdXguYzoKCSAgcnRwcHRkZW11eDogZml4IDAuMTAtaXNtIGluIGRvY3MKCjIwMTQtMTItMjUgMTQ6NTg6MTIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiB0ZXN0cy9pY2xlcy9nZGtwaXhidWZvdmVybGF5LXRlc3QuYzoKCSAgdGVzdHM6IGdka3BpeGJ1Zm92ZXJsYXktdGVzdDogdXNlIGFic29sdXRlIHBvc2l0aW9uaW5nIHRvIGZpeCBkZW1vCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mzk1NjYKCjIwMTQtMTItMjUgMTQ6NTM6MDkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2RrX3BpeGJ1Zi9nc3RnZGtwaXhidWZvdmVybGF5LmM6CgkqIGV4dC9nZGtfcGl4YnVmL2dzdGdka3BpeGJ1Zm92ZXJsYXkuaDoKCSAgZ2RrcGl4YnVmb3ZlcmxheTogYWRkICJwb3NpdGlvbmluZy1tb2RlIiBwcm9wZXJ0eSB0byBhbGxvdyBhYnNvbHV0ZSBwb3NpdGlvbnMKCSAgU2V0IHBvc2l0aW9uaW5nLW1vZGU9cGl4ZWxzLWFic29sdXRlIHRvIGFsbG93IHBvc2l0aW9uaW5nIHdpdGgKCSAgYWJzb2x1dGUgY29vcmRpbmF0ZXMsIG1lYW5pbmcgbmVnYXRpdmUgeC95IG9mZnNldHMgd2lsbCBiZQoJICBpbnRlcnByZXRlZCBhcyBiZWluZyB0byB0aGUgbGVmdC9hYm92ZSB0aGUgdmlkZW8gZnJhbWUgaW5zdGVhZAoJICBvZiBiZWluZyBpbnRlcnByZXRlZCBhcyByZWxhdGl2ZSB0byB0aGUgcmlnaHQvYm90dG9tIGVkZ2Ugb2YKCSAgdGhlIHZpZGVvIGZyYW1lICh3aGljaCBpcyBhIHNpbGx5IGRlZmF1bHQsIGJ1dCB0aGF0J3MgaG93IGl0IGlzKS4KCSAgVGhpcyBtZWFucyB3ZSBjYW4gbmljZWx5IHNsaWRlIGltYWdlcyBpbnRvIGFuZCBvdXQgb2YgdGhlIGZyYW1lLAoJICBzZWUgZ2RrcGl4YnVmb3ZlcmxheS10ZXN0LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM5NTY2CgoyMDE0LTEyLTIyIDE1OjMzOjUxICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGF1ZGlvc2luay5jOgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4YXVkaW9zcmMuYzoKCSAgb3N4YXVkaW86IERpcmVjdGx5IHJldHVybiB0aGUgcmluZ2J1ZmZlcidzIGNhcHMgaWYgaXQgaXMgYWNxdWlyZWQKCjIwMTQtMTItMjIgMTI6NTY6MTkgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4YXVkaW9zaW5rLmM6CgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hhdWRpb3NyYy5jOgoJICBvc3hhdWRpbzogUHV0IGFsbCBhdWRpbyBmb3JtYXRzIGludG8gdGhlIHRlbXBsYXRlIGNhcHMKCSAgV2UgcmVwb3J0IHRoZSBwcm9wZXIgY2FwcyBsYXRlciBmcm9tIHRoZSBnZXRfY2FwcygpIHZmdW5jIGltcGxlbWVudGF0aW9uIGFmdGVyCgkgIHByb2JpbmcgdGhlIHNlbGVjdGVkIGRldmljZS4KCjIwMTQtMTItMjIgMTI6NTY6MDUgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4YXVkaW9yaW5nYnVmZmVyLmM6CgkgIG9zeGF1ZGlvOiBBbHNvIHNldCB0aGUgYmlnIGVuZGlhbiBmbGFnIGZvciBmbG9hdGluZyBwb2ludCBzYW1wbGVzCgoyMDE0LTEyLTIyIDExOjQ1OjU5ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogTUFJTlRBSU5FUlM6CgkgIE1BSU5UQUlORVJTOiBVcGRhdGUgbXkgbWFpbCBhZGRyZXNzCgoyMDE0LTEyLTIyIDEwOjIzOjAxICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGF1ZGlvc2luay5jOgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4YXVkaW9zcmMuYzoKCSAgb3N4YXVkaW86IEZpeCBkZWFkbG9jayBhbmQgcHJvcGVydHkgY2hhbmdlIG5vdGlmaWNhdGlvbiBpbiBkZXZpY2Ugc2VsZWN0aW9uIGNvZGUKCSAgQWZ0ZXIgY3JlYXRpbmcgdGhlIHJpbmdidWZmZXIgd2UgaGF2ZSB0byBzZXQgdGhlIGRldmljZSBvbiB0aGUgcmluZ2J1ZmZlciBhcwoJICBpdCBkZWZhdWx0cyB0byBrQXVkaW9EZXZpY2VVbmtub3duLiBBdCB0aGlzIHBvaW50IGl0IGNhbid0IGhhdmUgY2hhbmdlZCB0bwoJICBhbnl0aGluZyBlbHNlIHlldCBhbmQgd2UgZG9uJ3QgaGF2ZSB0byBub3RpZnkgYWJvdXQgY2hhbmdlcyB0byB0aGUgc2luay9zcmMKCSAgImRldmljZSIgcHJvcGVydHkuIEl0J3MgYWxzbyBub3QgYSBnb29kIGlkZWEgYmVjYXVzZSBHc3RBdWRpb0Jhc2VTcmMgaGFzIHRoZQoJICBvYmplY3QgbG9jayB0YWtlbiB3aGlsZSB0aGUgcmluZ2J1ZmZlciBpcyBjcmVhdGVkLCB3aGljaCBtaWdodCBjYXVzZSBhCgkgIGRlYWRsb2NrIGlmIHNvbWV0aGluZyBjYWxscyBiYWNrIGludG8gdGhlIGVsZW1lbnQgZnJvbSAibm90aWZ5OjpkZXZpY2UiLgoJICBPbmNlIHRoZSBiYXNlIGNsYXNzIGlzIGRvbmUgd2l0aCB0aGUgTlVMTF9UT19SRUFEWSBzdGF0ZSBjaGFuZ2UsIGl0IGhhcyBvcGVuZWQKCSAgdGhlIGRldmljZSB2aWEgdGhlIHJpbmdidWZmZXIgYW5kIHRoaXMgbWlnaHQgaGF2ZSBjaG9zZW4gYSBkaWZmZXJlbnQgZGV2aWNlLgoJICBFc3BlY2lhbGx5IGlmIHdlIGluaXRpYWxseSB1c2VkIGtBdWRpb0RldmljZVVua25vd24uIEFsc28gbm90aWZ5IGFib3V0IHRoaXMKCSAgcHJvcGVydHkgY2hhbmdlIGFzIGluaXRpYWxseSBpbnRlbmRlZCBieSB0aGlzIGNvZGUuCgoyMDE0LTEyLTE5IDEyOjMwOjAzIC0wNTAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJICB2NGwycG9vbDogVXBkYXRlIGNvbmZpZ3VyYXRpb24gc2l6ZQoJICBXZSBhbHJlYWR5IHVwZGF0ZSBvdXIgY29weSBvZiBWaWRlb0luZm8uc2l6ZSB0byBwcm9wZXIgc2l6ZSwgbm93IGFsc28KCSAgdGhlIGNvbmZpZ3VyYXRpb24gc28gdGhlIHNpemUgbWF0Y2hlcyBvbiByZWxlYXNlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQxNDIwCgoyMDE0LTEyLTE5IDEwOjU3OjI5ICswMTAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5oOgoJICBtYXRyb3NrYS1kZW11eDogQ2FjaGUgdXBzdHJlYW0gbGVuZ3RoCgkgIEluc3RlYWQgb2YgY29uc3RhbnRseSBxdWVyeWluZyB1cHN0cmVhbSwganVzdCBjYWNoZSB0aGUgbGFzdCBkdXJhdGlvbiwKCSAgYW5kIGluIHRoZSB1bmxpa2VseW5lc3Mgd2UgbWlnaHQgaGF2ZSBnb25lIG92ZXIgcXVlcnkgYWdhaW4gYmVmb3JlCgkgIGRlY2lkaW5nIHdlIGFyZSBFT1MuCgkgIEN1dCAxNSUgY3B1IG9mZiBtYXRyb3NrYWRlbXV4IHN0cmVhbWluZyB0aHJlYWQgKHNyc2x5Li4uKQoKMjAxNC0xMi0xNyAxNzozNjoxOCArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWlkcy5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtaWRzLmg6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSAgbWF0cm9za2E6IG11eC9kZW11eCB0aGUgT3B1c0hlYWQgaGVhZGVyCgkgIFRoaXMgaXMgbWVhbnQgdG8gYmUgc28gKGh0dHBzOi8vd2lraS54aXBoLm9yZy9NYXRyb3NrYU9wdXMgLSB3aGlsZQoJICBpdCBpcyBtYXJrZWQgYXMgYSBkcmFmdCwgdGhpcyBwYXJ0IHdhcyBjb25maXJtZWQgdG8gYmUgY29ycmVjdCBvbgoJICBJUkMpLCBhbmQgYWxsb3dzIG9uZSB0byBkZXRlcm1pbmUgd2hldGhlciBhIGRlbXV4ZWQgc3RyZWFtIGlzCgkgIG11bHRpc3RyZWFtIG9yIG5vdCwgYW5kIHRodXMgc2V0IHRoZSBtdWx0aXN0cmVhbSBjYXBzIGZpZWxkCgkgIGFjY29yZGluZ2x5LiBJbiB0dXJuLCB0aGlzIG1lYW5zIGRvd25zdHJlYW0gZG9lcyBub3QgaGF2ZSB0byBndWVzcy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0MDc0NAoKMjAxNC0xMi0xOCAxMTo1MDozMyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogRG9uJ3QgZGVyZWZlcmVuY2UgTlVMTCBpZiBhIHN1aXRhYmxlIHN0cmVhbSBmb3IgdGhlIEFVWCBlbGVtZW50IGNhbid0IGJlIGZvdW5kCgkgIENJRCAxMjU4NzE3CgoyMDE0LTEyLTE4IDEwOjUzOjM5ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSBlZjFmZmRjIHRvIGYyYzZiOTUKCjIwMTQtMTItMTIgMjM6MDY6MDcgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvdWRwL2dzdG11bHRpdWRwc2luay5jOgoJKiBnc3QvdWRwL2dzdG11bHRpdWRwc2luay5oOgoJICB1ZHBzaW5rOiBhbGxvY2F0ZSBzY3JhdGNoIHNwYWNlIGZvciByZW5kZXIgZnVuY3Rpb25zIG9uIHRoZSBoZWFwCgkgIGFuZCBub3QgdGhlIHN0YWNrLiBPdXIgYWxsb2NhdGlvbnMgY291bGQgZ2V0IGEgYml0IHRvbyBsYXJnZQoJICB0byBiZSBzdXJlIGl0J3Mgbm90IGdvaW5nIHRvIGNhdXNlIHRyb3VibGUgdXNpbmcgdGhlIHN0YWNrLgoKMjAxNC0wNi0yNCAwMToxNjozNyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC91ZHAvZ3N0bXVsdGl1ZHBzaW5rLmM6CgkgIG11bHRpdWRwc2luazogcmUtdXNlIHNlbmRfYnVmZmVycygpIGNvZGUgcGF0aCBmb3IgcmVuZGVyKCkgZnVuY3Rpb24KCSAgSXQncyBsaWtlIHJlbmRlcmluZyBhIGJ1ZmZlciBsaXN0LCBqdXN0IHdpdGggb25lIGJ1ZmZlci4KCSAgSGFzIHRoZSBhZGRlZCBhZHZhbnRhZ2UgdGhhdCBpZiB0aGVyZSBhcmUgbXVsdGlwbGUgY2xpZW50cwoJICB3ZSBjYW4gc2VuZCB0aGUgYnVmZmVyIHRvIGFsbCB0aGUgY2xpZW50cyBpbiBvbmUgZ28uCgoyMDE0LTA2LTI0IDAxOjE1OjI1ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuYzoKCSogZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuaDoKCSAgbXVsdGl1ZHBzaW5rOiBrZWVwIGNsaWVudCBsaXN0IGNvbnNpc3RlbnQgZHVyaW5nIHJlbW92YWxzCgkgIFdlIHVubG9jayBhbmQgcmUtbG9jayB0aGUgY2xpZW50IGxvY2sgd2hpbGUgZW1pdHRpbmcgdGhlCgkgIHJlbW92ZWQgc2lnbmFsLCB3aGljaCBjYXVzZXMgaW5jb25zaXN0ZW5jaWVzIGluIHRoZSBjbGllbnQKCSAgbGlzdCB2cy4gdGhlIGNsaWVudCBjb3VudHMuIEluc3RlYWQsIHJlbW92ZSB0aGUgY2xpZW50IGZyb20KCSAgdGhlIGxpc3QgYWxyZWFkeSBiZWZvcmUgZW1pdHRpbmcgdGhlIHNpZ25hbCBhbmQgcHV0IGl0IGludG8KCSAgYSB0ZW1wb3JhcnkgbGlzdCBvZiBjbGllbnRzIHRvIGJlIHJlbW92ZWQuIFRoYXQgd2F5IHRoaW5ncwoJICBsb29rIGNvbnNpc3RlbnQgdG8gdGhlIHN0cmVhbWluZyB0aHJlYWQsIGJ1dCBzaWduYWwgY2FsbGJhY2tzCgkgIGNhbiBzdGlsbCBkbyB0aGluZ3MgbGlrZSBnZXQgc3RhdHMgZnJvbSByZW1vdmVkIGNsaWVudHMuCgoyMDE0LTA2LTI0IDAwOjU2OjI3ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuYzoKCSAgbXVsdGl1ZHBzaW5rOiBmaXggY2xpZW50IGNvdW50IGFmdGVyIHJlbW92YWwKCjIwMTQtMDYtMjMgMTg6NDM6MjEgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvdWRwL2dzdG11bHRpdWRwc2luay5jOgoJICBtdWx0aXVkcHNpbms6IGtlZXAgY2xpZW50IGxpc3Qgc29ydGVkIGJ5IHNvY2tldCBmYW1pbHkKCSAgV2UgbWFrZSB1c2Ugb2YgaW4gdGhlIHNlbmRfYnVmZmVycygpIGZ1bmN0aW9uIGlmIHdlCgkgIG5lZWQgdG8gdXNlIGRpZmZlcmVudCBzb2NrZXRzIHRvIHNlbmQgdG8gSVB2NCBhbmQKCSAgSVB2NiBkZXN0aW5hdGlvbnMuCgoyMDE0LTA2LTIwIDExOjM2OjE5ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuYzoKCSogZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuaDoKCSAgbXVsdGl1ZHBzaW5rOiBhZGQgc2VuZG1tc2ctcmVhZHkgcmVuZGVyX2xpc3QgZnVuY3Rpb24gcHJvdG90eXBlCgkgIEFkZCBwcm90b3R5cGUgZm9yIGEgcmVuZGVyX2xpc3QoKSBmdW5jdGlvbiB0aGF0IGNhbiB1c2UgYQoJICBzZW5kbW1zZy1zdHlsZSBnX3NvY2tldF9zZW5kX21lc3NhZ2VzKCkgZnVuY3Rpb24gb25jZSBpdCBsYW5kcwoJICBpbiBHTGliLiBXZSBjYW4gdXNlIHRoaXMgaW5mcmFzdHJ1Y3R1cmUgdG8gc2VuZCBtdWx0aXBsZSBidWZmZXJzCgkgIG1hZGUgdXAgYnkgbXVsdGlwbGUgbWVtb3JpZXMgdG8gbXVsdGlwbGUgY2xpZW50cyBpbiBvbmUgZ28sIHdoaWNoCgkgIGRyYXN0aWNhbGx5IHJlZHVjZXMgdGhlIG51bWJlciBvZiBzeXNjYWxscyBtYWRlIHdoZW4gc2VuZGluZwoJICBoaWdoLWJpdHJhdGUgdmlkZW8gc3RyZWFtcy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMjE1MgoKMjAxNC0wNi0xOSAxOToxNjowMSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC91ZHAvZ3N0bXVsdGl1ZHBzaW5rLmM6CgkqIGdzdC91ZHAvZ3N0bXVsdGl1ZHBzaW5rLmg6CgkgIG11bHRpdWRwc2luazogbWFrZSB1ZHAgY2xpZW50IHN0cnVjdHVyZSByZWZjb3VudGVkCgkgIFVzZSB0aGUgcmVmY291bnQgZm9yIG1lbW9yeSBtYW5hZ2VtZW50IGFuZCBrZWVwIHRyYWNrCgkgIG9mIHRoZSBudW1iZXIgb2YgZHVwbGljYXRlIGNsaWVudHMgaW4gYSBzZXBhcmF0ZQoJICB2YXJpYWJsZS4gVGhpcyB3aWxsIGJlIHVzZWZ1bCBsYXRlciwgYW5kIG1lYW5zIHdlCgkgIGRvbid0IGhhdmUgdG8gaG9sZCB0aGUgT0JKRUNUX0xPQ0sgYWxsIHRoZSB0aW1lLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMyODY2CgoyMDE0LTA2LTE5IDE4OjMxOjA1ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuYzoKCSogZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuaDoKCSAgbXVsdGl1ZHBzaW5rOiBrZWVwIGNvdW50IG9mIG51bWJlciBvZiB1bmlxdWUgYW5kIG5vbi11bmlxdWUgSVB2NCBhbmQgSVB2NiBjbGllbnRzCgkgIFRoaXMgd2lsbCBjb21lIGluIGhhbmR5IGxhdGVyLgoKMjAxNC0xMi0xNiAxNTowMDoyMiAtMDUwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSAgdjRsMmJ1ZmZlcnBvb2w6IERpc2FibGUgY3JlYXRlX2J1ZiB3aXRoIGxpYnY0bDIKCSAgTGlidjRsMiBkb2VzIG5vdCB3b3JrIHdpdGggQ1JFQVRFX0JVRlMuIEluc3RlYWQgb2YgZmFpbGluZyBvbiByYW5kb20KCSAgZXJyb3IgY2F1c2VkIGJ5IGxpYnY0bDIsIGRpc2FibGUgQ1JFQVRFX0JVRlMgd2hlbiBhbiBlbXVsYXRlZCBmb3JtYXQgaXMKCSAgZGV0ZWN0ZWQuCgoyMDE0LTEyLTA5IDE3OjM5OjEyIC0wNTAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYWxsb2NhdG9yLmM6CgkgIHY0bDJhbGxvY2F0b3I6IEFkZCBwcm90ZWN0aW9uIGFnYWluc3QgYnJva2VuIGxpYnY0bDIKCSAgSXQgbG9va3MgbGlrZSBsaWJ2NGwyIHN1cHBvcnQgZm9yIENSRUFURV9CVUYgaXMgaW5jb21wbGV0ZS4gVGhhdAoJICBjb21iaW5lIHdpdGggZXhpc3RpbmcgYnVncyBtYXkgbGVhZCB0byBjcmFzaCBpbiBHU3RyZWFtZXIuIFRoZXNlCgkgIGNoZWNrIHdpbGwgbWFrZSBpdCByb2J1c3QgYnk6CgkgIC0gQ2hlY2tpbmcgY3JlYXRlIGJ1ZiBpbmRleCBpc24ndCBhbiBhbHJlYWR5IGluIHVzZWQgaW5kZXgKCSAgLSBDaGVja2luZyB0aGF0IHRoZSBpbmRleCBvdXQgb2YgUVVFUllCVUYgbWF0Y2hlcyB0aGUgcmVxdWVzdGVkCgkgIGluZGV4CgoyMDE0LTEyLTE2IDE2OjM3OjI0ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBBZGQgc29tZXRoaW5nIHRvIHRoZSBkZWJ1ZyBsb2dzIGlmIGFuIFJUWCBBVVggZWxlbWVudCBjYW4ndCBiZSBhZGRlZAoJICAuLi4gYmVjYXVzZSB0aGUgYXBwbGljYXRpb24gYWxyZWFkeSBoYXMgYSBzaWduYWwgaGFuZGxlciBzZXQgdXAgaGVyZS4KCjIwMTQtMTEtMjEgMTQ6MTM6MzQgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5oOgoJICBydHNwc3JjOiBhZGQgcmV0cmFuc21pc3Npb24gc3VwcG9ydCBhY2NvcmRpbmcgdG8gUkZDNDU4OAoJICBCYXNlZCBvbiB0aGUgY2xpZW50LXJ0cGF1eCBleGFtcGxlCgoyMDE0LTEyLTE2IDEzOjI1OjAxICswMTAwICBXaW0gVGF5bWFucyA8d3RheW1hbnNAcmVkaGF0LmNvbT4KCgkqIHN5cy9vc3h2aWRlby9vc3h2aWRlb3NpbmsubToKCSAgb3N4dmlkZW9zaW5rOiBjbGVhciByZWN0YW5nbGUgc3RydWN0dXJlcyBiZWZvcmUgdXNlCgoyMDE0LTEyLTA5IDE1OjA5OjU2IC0wNTAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIHY0bDJvYmplY3Q6IEFsd2F5cyBzZXQgZm9ybWF0CgkgIFJpZ2h0IG5vdyB3ZSB0cnkgdG8gYmUgY2xldmVyIGJ5IGRldGVjdGluZyBpZiBkZXZpY2UgZm9ybWF0IGhhdmUKCSAgY2hhbmdlZCBvciBub3QsIGFuZCBza2lwIHNldHRpbmcgZm9ybWF0IGluIHRoaXMgY2FzZS4gVGhpcyBpcyB2YWxpZAoJICBiZWhhdmlvdXIgd2l0aCBWNEwyLCBidXQgaXQncyBhbHNvIHZlcnkgZXJyb3IgcHJvbmUuIFRoZSByYXRpb25hbAoJICBmb3Igbm90IHNldHRpbmcgdGhlc2UgYWxsIHRoZSB0aW1lIGlzIGZvciBzcGVlZCwgdGhvdWdoIEkgY2FuJ3QKCSAgbWVhc3VyZSBhbnkgbm90aWNlYWJsZSBnYWluIG9uIGFueSBIVyBJIG93bi4gQWxzbywgdW50aWwgcmVjZW50bHksCgkgIHdlIHdoZXJlIGRvaW5nIGdldC9zZXQgb24gdGhlIGZvcm1hdCBmb3IgZWFjaCBmb3JtYXQgd2Ugd2hlcmUKCSAgcHJvYmluZywgbWFraW5nIGl0IG5lYXIgdG8gaW1wb3NzaWJsZSB0aGF0IHRoZSBmb3JtYXQgd291bGQgbWF0Y2guCgkgIFRoaXMgYWxzbyBmaXhlcyBidWcgd2hlcmUgd2Ugd2hlcmUgc2tpcHBpbmcgZnJhbWUtcmF0ZSBzZXR0aW5nIGlmCgkgIGZvcm1hdCBkaWRuJ3QgY2hhbmdlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQwNjM2CgoyMDE0LTEyLTE1IDE4OjMwOjAxIC0wNTAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvdmlkZW9jcm9wL2dzdHZpZGVvY3JvcC5jOgoJICB2aWRlb2Nyb3A6IFJlbW92ZSB0b2RvIGFib3V0IGNhcHMgZmlsdGVyCgkgIFRoZSBmaWx0ZXIgaXMgYWxyZWFkeSBpbnRlcmVjdGVkLgoKMjAxNC0xMi0xNSAxODoxOTowNSAtMDUwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3ZpZGVvY3JvcC9nc3R2aWRlb2Nyb3AuYzoKCSogZ3N0L3ZpZGVvY3JvcC9nc3R2aWRlb2Nyb3AuaDoKCSAgdmlkZW9jcm9wOiBNYWtlIHN1cmUgbmV3IGNyb3AgaXMgYXBwbGllZAoJICBTaW5jZSAiYmFzZXRyYW5zZm9ybTogRml4IGNhcHMgZXF1YWxpdHkgY2hlY2siIGNvbW1pdCBhN2YzNTcsCgkgIHNldF9pbmZvKCkgd2lsbCBub3QgYmUgY2FsbGVkIGFueW1vcmUgaWYgY3JvcCBkaWRuJ3QgY2hhbmdlCgkgIHRoZSBjYXBzLiBUaGlzIGlzIGZpeGVkIGJ5IHNldHRpbmcgIm5lZWRfdXBkYXRlIiBib29sZWFuIHdoZW4KCSAgY3JvcHBpbmcgcHJvcGVydGllcyBoYXMgYmVlbiBjaGFuZ2VkLCBhbmQgdGhlbiBhcHBseWluZyB0aGVzZQoJICBpZiB0aGV5IHdoZXJlIG5vdCBhcHBsaWVkIGJlZm9yZSByZW5kZXJpbmcgdGhlIG5leHQgZnJhbWUuIFRoaXMKCSAgcGF0Y2ggYWxzbyBmaXhlZCB0aGUgbG9ja2luZywgZHJvcHBpbmcgdW4tbmVlZGVkIGN1c3RvbSBsb2NrLAoJICBhbmQgbm8gaG9sZGluZyBuZWVkbGVzcyBsb2NrIHdoaWxlIGRvaW5nIHRoZSBvcGVyYXRpb24gYXMgd2UKCSAgYWxyZWFkeSBob2xkIHRoZSBzdHJlYW1pbmcgbG9jay4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0MDc4NwoKMjAxNC0xMi0xMiAxODoxMDozNSArMDUzMCAgQXJ1biBSYWdoYXZhbiA8Z2l0QGFydW5yYWdoYXZhbi5uZXQ+CgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4YXVkaW9zaW5rLmM6CgkgIG9zeGF1ZGlvc2luazogUHJlZmVyIGZpbHRlciBjYXBzIG9yZGVyIHdoaWxlIGdldHRpbmcgY2FwcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQwOTg3CgoyMDE0LTEyLTA5IDEzOjM4OjI2ICswNTMwICBBcnVuIFJhZ2hhdmFuIDxnaXRAYXJ1bnJhZ2hhdmFuLm5ldD4KCgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hhdWRpb3NpbmsuYzoKCSAgb3N4YXVkaW9zaW5rOiBBZGQgc29tZSBlcnJvciBoYW5kbGluZyBhcm91bmQgY2hhbm5lbCBsYXlvdXQgcGFyc2luZwoJICBGb3Igbm93IHdlIGp1c3Qgc3BpdCBhIHdhcm5pbmcgYW5kIGlnbm9yZSB0aGUgY2hhbm5lbCBsYXlvdXQgaWYgd2UgY2FuJ3QKCSAgc3VwcG9ydCBpdC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0MDk4NwoKMjAxNC0xMi0wOCAyMjozODoyMiArMDUzMCAgQXJ1biBSYWdoYXZhbiA8Z2l0QGFydW5yYWdoYXZhbi5uZXQ+CgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4YXVkaW9zaW5rLmM6CgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hhdWRpb3NyYy5jOgoJICBvc3hhdWRpbzogVGFrZSBsb2NrIGFyb3VuZCBzaW5rL3NvdXJjZSBiZWZvcmUgYWNjZXNzaW5nIHRoZSByaW5nYnVmZmVyCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDA5ODcKCjIwMTQtMTItMDEgMjE6MDY6MjcgKzA1MzAgIEFydW4gUmFnaGF2YW4gPGdpdEBhcnVucmFnaGF2YW4ubmV0PgoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGF1ZGlvc2luay5jOgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4YXVkaW9zaW5rLmg6CgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hhdWRpb3NyYy5jOgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4Y29yZWF1ZGlvLmM6CgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hjb3JlYXVkaW8uaDoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGNvcmVhdWRpb3JlbW90ZWlvLmM6CgkgIG9zeGF1ZGlvc3JjOiBQcm9iZSBjaGFubmVsIGxheW91dCB0b28KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0MDk4NwoKMjAxNC0xMi0wMSAyMDozMjowNCArMDUzMCAgQXJ1biBSYWdoYXZhbiA8Z2l0QGFydW5yYWdoYXZhbi5uZXQ+CgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4YXVkaW9zaW5rLmM6CgkgIG9zeGF1ZGlvc2luazogT25seSBmaXggdXAgY2hhbm5lbHMvbGF5b3V0IGZvciBQQ00gY2FwcyB3aGlsZSBwcm9iaW5nCgkgIEl0J3MgdW5saWtlbHkgdGhhdCBzZXR0aW5nIGEgY2hhbm5lbCBsYXlvdXQgd2lsbCBkbyBtdWNoIGZvciBBQzMvRFRTCgkgIHN0cmVhbXMuIElmIHdlIGZpbmQgYXQgc29tZSBwb2ludCB0aGF0IGl0IGRvZXMgbWFrZSBzZW5zZSwgd2UgY2FuCgkgIHBlcmZvcm0gdGhlIHN0cnVjdHVyZSBjb3B5aW5nIHVuY29uZGl0aW9uYWxseSAoaS5lLiwgdGhlIGN1cnJlbnQgY29kZSBpcwoJICB3cm9uZywgc2luY2UgQUMzL0RUUyB3aWxsIGdldCB0d28gc3RydWN0dXJlcyBub3cgLSBvbmUgd2l0aCB0aGUgY2hhbm5lbAoJICBsYXlvdXQsIG9uZSB3aXRob3V0KS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0MDk4NwoKMjAxNC0xMi0wMSAxOTo0MTozNSArMDUzMCAgQXJ1biBSYWdoYXZhbiA8Z2l0QGFydW5yYWdoYXZhbi5uZXQ+CgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4YXVkaW9zcmMuYzoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGF1ZGlvc3JjLmg6CgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hjb3JlYXVkaW8uYzoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGNvcmVhdWRpby5oOgoJICBvc3hhdWRpb3NyYzogSW1wbGVtZW50IGNhcHMgcHJvYmluZwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQwOTg3CgoyMDE0LTEyLTAxIDE5OjI5OjU3ICswNTMwICBBcnVuIFJhZ2hhdmFuIDxnaXRAYXJ1bnJhZ2hhdmFuLm5ldD4KCgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hjb3JlYXVkaW9oYWwuYzoKCSAgb3N4YXVkaW86IEJpbmQgYXVkaW8gZGV2aWNlIHRvIGF1ZGlvIHVuaXQgZWFybHkKCSAgV2Ugd2FudCB0byBiaW5kIHRoZSBkZXZpY2UgZHVyaW5nIG9wZW4gc28gdGhhdCBzdWJzZXF1ZW50IGZvcm1hdCBxdWVyaWVzCgkgIG9uIHRoZSBhdWRpbyB1bml0IGFyZSBhcyBzcGVjaWZpYyBhcyBwb3NzaWJsZSBmcm9tIHRoYXQgcG9pbnQgb253YXJkcy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0MDk4NwoKMjAxNC0xMS0yOSAyMzoxNjozMCArMDUzMCAgQXJ1biBSYWdoYXZhbiA8Z2l0QGFydW5yYWdoYXZhbi5uZXQ+CgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4YXVkaW9zaW5rLmM6CgkgIG9zeGF1ZGlvc2luazogRml4IHVwIGNhcHMgcXVlcnlpbmcgYSBiaXQKCSAgVGhpcyBzaG91bGQgbWFrZSBjYXBzIHF1ZXJpZXMgY29ycmVjdCBpbiBQQVVTRUQgYW5kIGhpZ2hlciBhcyB3ZWxsLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQwOTg3CgoyMDE0LTExLTI4IDIyOjMyOjM2ICswNTMwICBBcnVuIFJhZ2hhdmFuIDxnaXRAYXJ1bnJhZ2hhdmFuLm5ldD4KCgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hhdWRpb3NyYy5jOgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4Y29yZWF1ZGlvLmM6CgkgIG9zeGF1ZGlvOiBNb3ZlIG9zeGF1ZGlvc3JjLXNwZWNpZmljIGNvZGUgb3V0IG9mIHRoZSBnZW5lcmljIHBhdGgKCSAgQXZvaWRzIG9uZSBsYXllcmluZyB2aW9sYXRpb24gKEdzdENvcmVBdWRpbyByZWZlcnJpbmcgdG8KCSAgR3N0T3N4QXVkaW9TcmMpLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQwOTg3CgoyMDE0LTExLTI4IDIyOjIzOjE3ICswNTMwICBBcnVuIFJhZ2hhdmFuIDxnaXRAYXJ1bnJhZ2hhdmFuLm5ldD4KCgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hhdWRpb3JpbmdidWZmZXIuYzoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGF1ZGlvcmluZ2J1ZmZlci5oOgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4YXVkaW9zaW5rLmM6CgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hhdWRpb3NyYy5jOgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4Y29yZWF1ZGlvLmM6CgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hjb3JlYXVkaW8uaDoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGNvcmVhdWRpb2hhbC5jOgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4Y29yZWF1ZGlvcmVtb3RlaW8uYzoKCSAgb3N4YXVkaW86IENsZWFuIHVwIGEgR3N0Q29yZUF1ZGlvIC0+IEdzdE9zeEF1ZGlvU3JjL1NpbmsgcmVmZXJlbmNlCgkgIE5vdyB0aGF0IGRldmljZSBzZWxlY3Rpb24gaGFzIG5vIHNpbmsvc291cmNlLXNwZWNpZmljIGJpdHMsIHdlIGNhbiBoYXZlCgkgIGdlbmVyaWMgZGV2aWNlIHNlbGVjdGlvbiBmb3IgdGhpcyBwYXRoLiBXZSBkbyBuZWVkIHRvIG5vdyB0cmFjayBzdGF0ZQoJICBjaGFuZ2VzIHNvIHdlIGNhbiBsb29rIHVwIHRoZSBmaW5hbCBkZXZpY2VfaWQgb25jZSB0aGUgZGV2aWNlIGlzIG9wZW4sCgkgIHRob3VnaC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0MDk4NwoKMjAxNC0xMS0yOCAxOTo0MDo1MiArMDUzMCAgQXJ1biBSYWdoYXZhbiA8Z2l0QGFydW5yYWdoYXZhbi5uZXQ+CgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4YXVkaW9zaW5rLmM6CgkgIG9zeGF1ZGlvc2luazogTW92ZSBkZXZpY2UgY2FwcyBwcm9iaW5nIHRvIGdldF9jYXBzKCkKCSAgVGhpcyBzaG91bGQgYmUgcHJlZmVycmVkIHRvIHJ1bm5pbmcgdGhlIHByb2JlIGF0IGRldmljZSBvcGVuIHRpbWUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDA5ODcKCjIwMTQtMTEtMjggMTg6Mzc6MDIgKzA1MzAgIEFydW4gUmFnaGF2YW4gPGdpdEBhcnVucmFnaGF2YW4ubmV0PgoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGNvcmVhdWRpb2hhbC5jOgoJICBvc3hhdWRpbzogTWFrZSBzb21lIGRlYnVnIGNvZGUgY29tcGlsZSBjb25kaXRpb25hbGx5CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDA5ODcKCjIwMTQtMTEtMjggMTU6MDY6MzUgKzA1MzAgIEFydW4gUmFnaGF2YW4gPGdpdEBhcnVucmFnaGF2YW4ubmV0PgoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGF1ZGlvcmluZ2J1ZmZlci5jOgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4YXVkaW9yaW5nYnVmZmVyLmg6CgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hhdWRpb3NpbmsuYzoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGF1ZGlvc3JjLmM6CgkgIG9zeGF1ZGlvOiBNb3ZlIGRldmljZSBzZWxlY3Rpb24gdG8gcmluZ2J1ZmZlci0+b3Blbl9kZXZpY2UoKQoJICBUaGlzIGlzIGNvbmNlcHR1YWxseSB0aGUgcmlnaHQgdGhpbmcgdG8gZG8sIGFuZCBhbGxvd3MgdXMgdG8gY29ycmVjdGx5CgkgIGNhdGNoIGVycm9ycyBpbiBkZXZpY2Ugc2VsZWN0aW9uIGFzIHdlbGwsIHdoaWNoIHdlIGNvdWxkIG5vdCBkbyB3aGlsZQoJICBjcmVhdGluZyB0aGUgcmluZ2J1ZmZlci4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0MDk4NwoKMjAxNC0xMS0yOCAxNDozNDozNCArMDUzMCAgQXJ1biBSYWdoYXZhbiA8Z2l0QGFydW5yYWdoYXZhbi5uZXQ+CgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4YXVkaW9zaW5rLmM6CgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hhdWRpb3NyYy5jOgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4Y29yZWF1ZGlvLmM6CgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hjb3JlYXVkaW8uaDoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGNvcmVhdWRpb2hhbC5jOgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4Y29yZWF1ZGlvcmVtb3RlaW8uYzoKCSAgb3N4YXVkaW86IENvbnNvbGlkYXRlIGlucHV0IGFuZCBvdXRwdXQgY29kZSBwYXRocyBhIGJpdAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQwOTg3CgoyMDE0LTExLTIxIDExOjU0OjE4ICswMTAwICBUaGliYXVsdCBTYXVuaWVyIDx0c2F1bmllckBnbm9tZS5vcmc+CgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuYzoKCSAgRGVpbnRlcmxhY2U6IGluIHF1ZXJ5X2NhcHMgcmV0dXJuIG9ubHkgc3VwcG9ydGVkIGZvcm1hdHMgaWYgZmlsdGVyIGlzIGludGVybGFjZWQKCSAgSW4gc29tZSBjYXNlcyB0aGUgY3VycmVudGx5IHNldCBHc3RWaWRlb0luZm8gaXMgbm90IGludGVybGFjZWQsIGJ1dAoJICB1cHN0cmVhbSBjYXBzIGFyZSBpbnRlcmxhY2VkIGFuZCB0aGUgaW5mbyBpcyBwYXNzZWQgaW4gdGhlIGZpbHRlciwKCSAgd2Ugc2hvdWxkIHRha2UgdGhhdCBpbmZvIGludG8gYWNjb3VudCBhbmQgbWFrZSBzdXJlIHRoYXQgd2UgZG8gbm90CgkgIGNvbnNpZGVyIHRoYXQgY2FzZSBhcyBhICJwYXNzIHRocm91Z2giIGNhc2UuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDE0MDcKCjIwMTQtMTItMTIgMTE6MDY6MTcgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogRml4IGRlYnVnIHN0YXRlbWVudAoJICBJdCB3YXMgdXNpbmcgdGhlIG5vbi1pbmNyZWFzaW5nIG9mZnNldCB2YXJpYWJsZSwgd2hpY2ggbWFkZSB0aGF0IHN0YXRlbWVudAoJICBub3Qgc28gdXNlZnVsIDopCgoyMDE0LTEyLTEyIDExOjAzOjE1ICswMTAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IEFkZCBtYWNyb3MgZm9yIHRoZSB2YXJpb3VzIHRpbWVzY2FsZSBjb252ZXJzaW9ucwoJICBUaGlzIGhlbHBzIG1ha2UgdGhlIGNvZGUgbW9yZSByZWFkYWJsZSBhbmQgYXZvaWQgZnV0dXJlIGJhZCB1c2FnZSBvZgoJICBzY2FsaW5nIGZ1bmN0aW9uIGFyZ3VtZW50IG9yZGVyLgoKMjAxNC0xMi0xMSAxMDoxNjowNiArMDEwMCAgUGF0cmljayBSYWRpemkgPHBhdHJpY2tyQGF4aXMuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBoMjY0cGF5LmM6CgkgIHJ0cGgyNjRwYXk6IGZpeCBwb3RlbnRpYWwgY3Jhc2ggd2hlbiBzaHV0dGluZyBkb3duCgkgIEEgcmFjZSBjb25kaXRpb24gaW4gdGhlIHN0YXRlIGNoYW5nZSBmdW5jdGlvbiBtYXkgY2F1c2UgYnVmZmVycwoJICB0byBiZSB1bnJlZmZlZCB3aGlsZSB0aGV5IGFyZSBzdGlsbCB1c2VkIGJ5IHRoZSBzdHJlYW1pbmcgdGhyZWFkCgkgIGluIGdzdF9ydHBfaDI2NF9wYXlfc2VuZF9zcHNfcHBzKCkgcmVzdWx0aW5nIGluIGEgY3Jhc2guIENoYWluCgkgIHVwIHRvIHRoZSBwYXJlbnQgY2xhc3MgZmlyc3QgaW4gdGhlIHN0YXRlIGNoYW5nZSBmdW5jdGlvbiB0bwoJICBtYWtlIHN1cmUgc3RyZWFtaW5nIGhhcyBzdG9wcGVkIGFuZCBvbmx5IHRoZW4gZnJlZSB0aG9zZSBidWZmZXJzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQxMzgxCgoyMDE0LTEyLTEyIDAwOjQyOjA2ICsxMTAwICBKYW4gU2NobWlkdCA8amFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBDb3B5IGZsYWdzIG9mIHRoZSBvdmVyYWxsIHNlZ21lbnQgdG8gb3V0cHV0IHNlZ21lbnRzCgkgIFByZXNlcnZlIHRoZSBzZWdtZW50IGZsYWdzIG9mIHRoZSBvdmVyYWxsIGRlbXV4IHNlZ21lbnQgb24gdGhlIG91dHB1dAoJICBzZWdtZW50cyBmb3IgZWFjaCBwYWQuCgoyMDE0LTEyLTA5IDAyOjQzOjAwICswMTAwICBNYXRlaiBLbm9wcCA8bWF0ZWoua25vcHBAZ21haWwuY29tPgoKCSogZ3N0L2lzb21wNC9nc3RxdG11eC5jOgoJICBxdG11eDogdXNlIDY0Yml0IGNodW5rX29mZnNldAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQxMjc5CgoyMDE0LTEyLTEwIDE3OjM5OjE3ICswMTAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IEZpeCByb3VuZGluZyBlcnJvcnMgaW4gZHVyYXRpb24gdXBkYXRlCgkgIE1ha2Ugc3VyZSB3ZSBzdG9yZSB1cGRhdGVkIHNlZ21lbnQgc3RvcC9kdXJhdGlvbiB3aXRoIHRoZSBzYW1lCgkgIGdyYW51bGFyaXR5IGFzIHRoZSBkdXJhdGlvbiB0aW1lc2NhbGUuCgkgIEFuZCBhZGQgbW9yZSBkZWJ1ZwoKMjAxNC0xMi0xMCAxNjo1NTo0NCArMDEwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBVcGRhdGUgZHVyYXRpb24gd2hlbiB3ZSBnZXQgbW9yZSBpbmZvcm1hdGlvbgoJICBXaGVuIGRlYWxpbmcgd2l0aCBmcmFnbWVudGVkIGZpbGVzLCB3ZSB3aWxsIGdldCBtb3JlIGFjY3VyYXRlIGR1cmF0aW9uCgkgIGluZm9ybWF0aW9uIHZpYSB0aGUgbWZyYSBhbmQgbW9vZiBhdG9tcy4KCSAgSW4gb3JkZXIgZm9yIHBsYXliYWNrIHRvIG5vdCBzdG9wIGF0IHRoZSBpbml0aWFsIGR1cmF0aW9uIChmcm9tIHRoZQoJICBtb292IGF0b20pLCB3ZSBuZWVkIHRvIGNoZWNrIGFuZCB1cGRhdGUgdGhlIHZhcmlvdXMgZHVyYXRpb24gdmFyaWFibGVzCgkgIHdoZW4gd2UgZmluZCBtb3JlIGluZm9ybWF0aW9uLgoJICBGaXhlcyBwbGF5YmFjayBvZiBmcmFnbWVudGVkIGZpbGVzIGluIHB1bGwgbW9kZQoKMjAxNC0xMi0xMCAxNTowODo0MCArMDEwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBSZW1vdmUgdmFyaWFibGUgYXNzaWdubWVudHMgbmV2ZXIgcmVhZAoJICBBcyBkZXRlY3RlZCBieSBjbGFuZy9zY2FuLWJ1aWxkCgoyMDE0LTEyLTEwIDE0OjU2OjA2ICswMTAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkqIGdzdC9pc29tcDQvcXRkZW11eC5oOgoJICBxdGRlbXV4OiBVc2UgR3N0Q2xvY2tUaW1lIGZvciBuYW5vc2Vjb25kLWJhc2VkIHRpbWUgdmFyaWFibGVzL2ZpZWxkcwoJICBBdm9pZHMgY29uZnVzaW9uIHdpdGggdGltZXNjYWxlZC1iYXNlZCB2YXJpYWJsZXMgYW5kIGJ5dGVzIChvZmZzZXQpCgkgIHZhcmlhYmxlcy4KCSAgQW5kIHVzZSBHU1RfQ0xPQ0tfVElNRV9OT05FIHdoZXJlIGFwcGxpY2FibGUKCjIwMTQtMTItMDMgMTQ6NDc6MDUgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvZGVidWd1dGlscy9nc3RwdXNoZmlsZXNyYy5jOgoJKiBnc3QvZGVidWd1dGlscy9nc3RwdXNoZmlsZXNyYy5oOgoJICBwdXNoZmlsZXNyYzogQWRkIFRJTUUgU0VHTUVOVCBjYXBhYmlsaXR5CgkgIEFkZHMgYSBuZXcgc2V0IG9mIHByb3BlcnRpZXMgdG8gbWFrZSBwdXNoZmlsZXNyYyBvdXRwdXQgYSBUSU1FIFNFR01FTlQKCSAgKGluc3RlYWQgb2YgdGhlIGZpbGVzcmMgQllURSBTRUdNRU5UKS4KCSAgV2hlbiB0aW1lLXNlZ21lbnQgaXMgc2V0IHRvIFRydWUgdGhlIGZvbGxvd2luZyB3aWxsIGhhcHBlbjoKCSAgKiBTZWVrcyBhcmUgcmVmdXNlZCAoZGF0YSBzdGFydHMgZnJvbSB0aGUgYmVnaW5uaW5nIG9mIHRoZSBmaWxlKQoJICAqIFRoZSBCWVRFIHNlZ21lbnQgd2lsbCBiZSByZXBsYWNlZCBieSBhIFRJTUUgc2VnbWVudCB3aXRoIHRoZSB2YWx1ZXMKCSAgc3BlY2lmaWVkIGluIHRoZSB2YXJpb3VzIHByb3BlcnRpZXMKCSAgKiBUaGUgZmlyc3Qgb3V0Z29pbmcgYnVmZmVyIHdpbGwgaGF2ZSBhIHRpbWVzdGFtcCBzZXQgb24gaXQgKGJ5IGRlZmF1bHQKCSAgaXQgaGFzIGEgdmFsdWUgb2YgR1NUX0NMT0NLX1RJTUVfTk9ORSkKCjIwMTQtMTItMTAgMTE6MzU6MjkgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFhY3BhcnNlLmM6CgkgIGFhY3BhcnNlOiBBbHNvIG9ubHkgdW5yZWYgY2FwcyBpZiB0aGV5J3JlIG5vdCBOVUxMCgoyMDE0LTEyLTEwIDExOjM0OjQyICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYWNwYXJzZS5jOgoJICBhYWNwYXJzZTogZ3N0X3BhZF9nZXRfYWxsb3dlZF9jYXBzKCkgd2lsbCByZXR1cm4gTlVMTCBpZiB0aGVyZSBpcyBubyBwZWVyCgoyMDE0LTEyLTA5IDE2OjM4OjM4ICswMTAwICBUaGliYXVsdCBTYXVuaWVyIDx0c2F1bmllckBnbm9tZS5vcmc+CgoJKiBleHQvdnB4L2dzdHZwOGVuYy5jOgoJKiBleHQvdnB4L2dzdHZwOWVuYy5jOgoJICB2cFhlbmM6IENMT0NLX1RJTUVfTk9ORSBpcyBub3QgYSB2YWxpZCBtaW5fbGF0ZW5jeSB2YWx1ZQoJICBXZSBzaG91bGQganVzdCB1c2UgMCBpZiB3ZSBkbyBub3QgaGF2ZSB0aGUgaW5mb3JtYXRpb24KCjIwMTQtMTItMDMgMTc6MjY6NTYgKzAxMDAgIFRoaWJhdWx0IFNhdW5pZXIgPHRzYXVuaWVyQGdub21lLm9yZz4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzoKCSAgcnRwc2Vzc2lvbjogVXNlIGFuIGVtcHR5IGl0ZXJhdG9yIGluIGl0ZXJhdGVfaW50ZXJuYWxfbGluayB3aGVuIG5vIGxpbmtzCgkgIEFuZCBub3QgYSBOVUxMIEl0ZXJhdG9yLCBzbyBpdCBpcyBjb25zaXN0ZW50IHdpdGggdGhlIHdheSBpdCB1c3VhbGx5CgkgIHdvcmtzIGFuZCBhdm9pZCB1c2VyIHRvIG5lZWQgYSBkaWZmZXJlbnQgY29kZSBwYXRocyB0byBoYW5kbGUgdGhhdC4KCjIwMTQtMTItMDkgMTQ6MDE6NTAgKzAxMDAgIEF1csOpbGllbiBaYW5lbGxpIDxhdXJlbGllbi56YW5lbGxpQHBhcnJvdC5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJICB2NGwyYnVmZmVycG9vbDogc2V0IGJ1ZmZlciBpbnRlcmxhY2UgZmxhZ3Mgd2hlbiBmaWVsZCBpcyBWNEwyX0ZJRUxEX0lOVEVSTEFDRUQKCSAgSWYgdjRsMl9idWZmZXIuZmllbGQgaXMgVjRMMl9GSUVMRF9JTlRFUkxBQ0VELCB3ZSBzZXQgY29ycmVzcG9uZGluZwoJICBHc3RWaWRlb0J1ZmZlciBmbGFncyBkZXBlbmRpbmcgb24gdGhlIHZpZGVvIHN0YW5kYXJkLgoJICBBY2NvcmRpbmcgdG8gVjRMMiBzcGVjaWZpY2F0aW9uLCBNL05UU0MgdHJhbnNtaXRzIHRoZSBib3R0b20gZmllbGQKCSAgZmlyc3QsIGFsbCBvdGhlciBzdGFuZGFyZHMgdGhlIHRvcCBmaWVsZCBmaXJzdC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNzYwMwoKMjAxNC0xMi0wOCAyMToyNjoxOCArMDEwMCAgUGF0cmljayBSYWRpemkgPHBhdHJpY2tyQGF4aXMuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBoMjY0cGF5LmM6CgkgIHJ0cGgyNjRwYXk6IEZpeGVzIGJ1ZmZlciBsZWFrIHdoZW4gdXNpbmcgU1BTL1BQUwoJICBGaXhlcyBhIGJ1ZmZlciBsZWFrIHRoYXQgd291bGQgb2NjdXJyIGlmIHRoZSBwaXBlbGluZSB3YXMgc2h1dGRvd24KCSAgd2hpbGUgYSBTUFMvUFBTIGhlYWRlciB3YXMgYmVpbmcgY3JlYXRlZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0MTI3MQoKMjAxNC0xMi0wOSAwNDo0MzoyOSArMDEwMCAgTWF0aGlldSBEdXBvbmNoZWxsZSA8bWF0aGlldS5kdXBvbmNoZWxsZUBvcGVuY3JlZWQuY29tPgoKCSogZ3N0L2VmZmVjdHYvZ3N0YWdpbmcuYzoKCSAgYWdpbmd0djogZml4IG1lbWNweSB3aGVuIG5vIGNvbG9yIGFnaW5nIHJlcXVlc3RlZC4KCSAgdmlkZW9fc2l6ZSBpcyB0aGUgc2l6ZSBpbiBwaXhlbHMsIGFjdHVhbCBzaXplIG9mIHRoZSBtZW1jcHkKCSAgaGFzIHRvIGJlIHN0cmlkZSAqIGhlaWdodC4KCjIwMTQtMTItMDcgMTc6MzM6NTEgLTA1MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSAgdjRsMjogV29ya2Fyb3VuZCBsaWJ2NGwyIFJXIGVtdWxhdGlvbiBidWcKCSAgV2hlbiBsaWJ2NGwyIGVtdWxhdGVzIFJXIG1vZGUgb24gdG9wIG9mIE1NQVAgZGV2aWNlcywgdGhlIHF1ZXVlcyBhcmUKCSAgb25seSBpbml0aWFsaXplZCBvbiBmaXJzdCByZWFkLiBUaGUgcHJvYmxlbSBpcyB0aGF0IHBvbGwoKSB3aWxsIGZhaWwKCSAgaWYgY2FsbGVkIGJlZm9yZSB0aGUgcXVldWVzIGFyZSBpbml0aWFsaXplZCBhbmQgc3RyZWFtaW5nLiBXb3JrYXJvdW5kCgkgIHRoaXMgYnkgZG9pbmcgYSB6ZXJvIHNpemUgcmVhZCB3aGVuIHBvb2wgaXMgc3RhcnRlZCBpbiB0aGF0IElPIG1vZGUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDA2MzMKCjIwMTQtMTItMDcgMTc6Mjc6MzcgLTA1MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSAgdjRsMjogRml4IFJXIGlvIG1vZGUKCSAgSW4gUlcsIGFsbG9jYXRvciBjYW4gYmUgbnVsbCwgbWF4X2J1ZmZlcnMgY2FuIGJlIHplcm8sIGFuZCB3ZSBuZWVkIG5vdAoJICB0byB3YWl0IHdoaWxlIHRoZSBxdWV1ZSBpcyBlbXB0eSBzaW5jZSB0aGVyZSBpcyBubyBxdWV1ZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0MDYzMwoKMjAxNC0xMi0wMyAxNjo0MDo0OSAtMDUwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSAgdjRsMmJ1ZmZlcnBvb2w6IENsZWFudXAgdW5lZWRlZCBjaGVjayBhbmQgY2FzZXMKCSAgVGhlcmUgaXMgbm90aGluZyBpbiBiZXR3ZWVuIHRoZSBicmVhayBhbmQgdGhlICJkb25lOiIgYW55bW9yZSwgcGx1cwoJICBVU0VSUFRSIGFuZCBETUFCVUZfSU1QT1JUIGNhc2UgaXMgZXhhY3RseSB0aGUgc2FtZS4KCjIwMTQtMTItMDMgMTc6MDc6NDkgLTA1MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkgIHY0bDJwb29sOiBGaXggQ1JFQVRFX0JVRlMgc3VwcG9ydCBmb3IgY2FwdHVyZQoJICBUaGlzIHBhdGNoIGZpeGVzIENSRUFURV9CVUZTIHN1cHBvcnQgZm9yIGNhcHR1cmUgZGV2aWNlcy4gSW5pdGlhbGx5IHdlCgkgIHdvdWxkIG9ubHkgdHJ5IGFuZCBhbGxvY2F0ZSBtb3JlIGJ1ZmZlcnMgd2hlbiB0aGUgY29weSB0aHJlc2hvbGQKCSAgaXMgcmVhY2hlZC4gV2hlbiB0aGUgdGhyZXNob2xkIHdhcyBub3Qgc2V0IChuZWVkZWQpIGl0IHdvdWxkIG5ldmVyCgkgIGhhcHBlbi4gQW5vdGhlciBwcm9ibGVtIGlzIHRoYXQgb24gY2FwdHVyZSBzaWRlLCBhY3F1aXJlIHJldHVybnMKCSAgZmlsbGVkIGJ1ZmZlciwgaGVuY2UgbmVlZCB0byBwb29sLiBXZSBuZWVkIHRvIHNldCBhIHNwZWNpYWwgZmxhZyB0bwoJICBmb3JjZSBhbGxvY2F0aW9uIHRvIGhhcHBlbi4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0MTEzNAoKMjAxNC0xMi0wMyAxNjoyNzo1OSAtMDUwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmFsbG9jYXRvci5jOgoJICB2NGwyYWxsb2NhdG9yOiBGaXggQ1JFQVRFX0JVRiBwcm9iaW5nCgkgIEN1cnJlbnQgZm9yIGV2ZXJ5IG1lbW9yeSB0eXBlIHdlIHdoZXJlIHByb2JpbmcgTU1BUCBDUkVBVEVfQlVGUyBpb2N0LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQxMTM0CgoyMDE0LTExLTE4IDE2OjUyOjQwICswMTAwICBOaWNvbGEgTXVyaW5vIDxuaWNvbGEubXVyaW5vQGdtYWlsLmNvbT4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYWRlbXV4OiBzZXQgZnJhbWVyYXRlIDAvMSB3aGVuIGR1cmF0aW9uIGlzIG5vdCBrbm93bgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQwMTMwCgoyMDE0LTEyLTA0IDE3OjI1OjU1ICsxMTAwICBKYW4gU2NobWlkdCA8amFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBNb3JlIGZpeGVzIGZvciByZXZlcnNlIHBsYXliYWNrCgkgIFdoZW4gc2Vla2luZyBvciBmaW5kaW5nIHRoZSBwcmV2aW91cyBrZXlmcmFtZSwgZG8KCSAgY29tcGFyaXNvbnMgYWdhaW5zdCB0YXJnZXRzIGFuZCBzZWdtZW50cyB1c2luZyBjb21wb3NpdGlvbiB0aW1lCgkgIHRvIGNvcnJlY3RseSBkZWNpZGUgd2hpY2ggc2FtcGxlIHRpbWVzIG1hdGNoLgoKMjAxNC0xMi0wMyAxMToxMjo1NSArMDEwMCAgVGhpYmF1bHQgU2F1bmllciA8dHNhdW5pZXJAZ25vbWUub3JnPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIHJ0cGppdHRlcmJ1ZmZlcjogVXNlIGFuIGVtcHR5IGl0ZXJhdG9yIGluIGl0ZXJhdGVfaW50ZXJuYWxfbGluayB3aGVuIG5vIGxpbmtzCgkgIFdlIHVzZWQgdG8gc2V0dXAgYW4gaXRlcmF0b3Igd2l0aCAxIEdWYWx1ZSBzZXQgd2l0aCBhIE5VTEwgb2JqZWN0CgkgIHBvaW50ZXIgd2hpY2ggaXMgbm90IHRoZSBub3JtYWwgd2F5IHRvIGRvIHRoYXQuIEluc3RlYWQgd2Ugc2hvdWxkIG1ha2UKCSAgc3VyZSB0aGF0IHRoZSBmaXJzdCBjYWxsIHRvIGdzdF9pdGVyYXRvcl9uZXh0IHJldHVybnMgR1NUX0lURVJBVE9SX0RPTkUuCgoyMDE0LTEyLTAzIDEzOjIwOjU3ICsxMTAwICBKYW4gU2NobWlkdCA8amFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBIYW5kbGUgc2Vla3MgcGFzdCBFT1MgYXMgYSBzZWVrIHRvIHRoZSBlbmQKCSAgRml4IHJldmVyc2UgcGxheWJhY2sgb2YgZXZlcnkgZnJhbWUgYnkgbWFraW5nIHNlZWtzIHBhc3QvdG8gRU9TCgkgIGZpbmQgdGhlIGxhc3Qgc2VnbWVudCBhbmQgc3RhcnQgdGhlcmUuCgoyMDE0LTEyLTAyIDE1OjMzOjI1IC0wNTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBtcGFkZXBheS5jOgoJICBydHBtcGFkZXBheTogUmVsYXggY2FwcyB0byBhbGxvdyBhbnkgY2xvY2stcmF0ZQoJICBTb21lIFdvd3phIHNldHVwcyBzZWVtIHRvIHNlbmQgYW4gaW52YWxpZCBub24tOTAwMDAgY2xvY2stcmF0ZS4KCjIwMTQtMTItMDEgMjE6MDQ6MDIgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBkb24ndCB1c2UgR1NUX0NMT0NLX1RJTUVfTk9ORSBpbiBub24gR3N0Q2xvY2tUaW1lIHZhcmlhYmxlcwoJICBVc2UgLTEgaW5zdGVhZCBhcyB0aG9zZSBhcmUgZ2ludDY0L2d1aW50NjQgdmFyaWFibGVzIGFuZCBub3QgR3N0Q2xvY2tUaW1lCgoyMDE0LTExLTA3IDE3OjA2OjQ5ICswMTAwICBBdXLDqWxpZW4gWmFuZWxsaSA8YXVyZWxpZW4uemFuZWxsaUBwYXJyb3QuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmFsbG9jYXRvci5oOgoJICB2NGwyYWxsb2NhdG9yOiBmaXggZ3N0X3Y0bDJfYWxsb2NhdG9yX3N0b3AgcHJvdG90eXBlCgkgIGdzdF92NGwyX2FsbG9jYXRvcl9zdG9wIHJldHVybnMgYSBHc3RWNGwyUmV0dXJuLCBub3QgYSBnYm9vbGVhbi4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczOTc5MgoKMjAxNC0xMS0wNyAxNjo0MTo1MiArMDEwMCAgQXVyw6lsaWVuIFphbmVsbGkgPGF1cmVsaWVuLnphbmVsbGlAcGFycm90LmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkgIHY0bDJidWZmZXJwb29sOiB1bnJlZiBwb29sIHdoZW4gdjRsMl9hbGxvY2F0b3JfbmV3KCkgZmFpbHMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczOTc5MQoKMjAxNC0xMS0zMCAxNzo1Mjo0NyAtMDUwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi92NGwyX2NhbGxzLmg6CgkgIHY0bDI6IFJlbW92ZSBsYXN0IGluY2x1ZGUgdG8gbGludXgvdmlkZW9kZXYyLmgKCSAgV2Ugbm93IHVzZSBhbmQgdXBkYXRlIG91ciBpbnRlcm5hbCBjb3B5IHNvIHdlIG5vIGxvbmdlciBoYXZlIHRvIGlmZGVmCgkgIHRoZSBlbnRpcmUgY29kZSBmb3IgZmVhdHVyZXMgYW5kIGRlZmluZXMgdGhhdCB3aGVyZSBhZGRlZCBvdmVyIHRoZQoJICB5ZWFycy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0MDkwNQoKMjAxNC0wOC0yNCAxMzozODowOCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguaDoKCSAgcXRkZW11eDogaW1wbGVtZW50IHNlZWtpbmcgaW4gZnJhZ21lbnRlZCBtcDQgZmlsZXMgaW4gcHVsbCBtb2RlIGJhc2VkIG9uIHRoZSBtZnJhIHRhYmxlCgoyMDE0LTExLTI5IDE1OjI1OjUxICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IHVzZSB0cmFjayBmcmFnbWVudCBkZWNvZGluZyB0aW1lICh0ZmR0KSBpbiBwYXJzZV90cnVuKCkgZm9yIGludGVycG9sYXRpb24KCSAgQXMgZmFsbGJhY2sgaWYgd2UgZG9uJ3QgaGF2ZSBhbnkgZXhpc3Rpbmcgc2FtcGxlcwoJICBhcyByZWZlcmVuY2UgcG9pbnQgeWV0LgoJICBCYXNlZCBvbiBwYXRjaCBieSBEYXZpZCBDb3J2b3lzaWVyIDxkYXZpZC5jb3J2b3lzaWVyQG9yYW5nZS5jb20+CgoyMDE0LTExLTI5IDE0OjM3OjI1ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkqIGdzdC9pc29tcDQvcXRkZW11eC5oOgoJICBxdGRlbXV4OiBwYXJzZSBtZnJhIHJhbmRvbSBhY2Nlc3MgYm94IGZvciBmcmFnbWVudGVkIG1wNCBmaWxlcwoJICBJZiBpdCdzIHByZXNlbnQsIGFuZCB3ZSBvcGVyYXRlIGluIHB1bGwgbW9kZS4KCjIwMTQtMDgtMTUgMTQ6NTg6MjYgKzAyMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogc3RvcCBwYXJzaW5nIGhlYWRlcnMgZm9yIGZyYWdtZW50ZWQgbXA0cyBhdCB0aGUgZmlyc3QgbW9vZgoJICBDdXJyZW50bHkgZHVyaW5nIGhlYWRlciBwYXJzaW5nLCB3ZSBzY2FuIHRocm91Z2ggdGhlIGVudGlyZSBmaWxlCgkgIGFuZCBza2lwIGV2ZXJ5IG1vb2YrbWRhdCBjaHVuayBmb3IgZnJhZ21lbnRlZCBtcDRzLCB3aGljaCBtYWtlcwoJICBzdGFydC11cCBpbmNyZWRpYmx5IHNsb3cuIEluc3RlYWQsIGp1c3Qgc3RvcCBhdCB0aGUgZmlyc3QgbW9vZgoJICBjaHVuayB3aGVuIGhhdmUgYSBtb292LCBhbmQgc3RhcnQgZXhwb3NpbmcgdGhlIHN0cmVhbXMsIHNvIHdlCgkgIGNhbiBnbyBhbmQgc3RhcnQgaGFuZGxpbmcgdGhlIG1vb2ZzIGZvciByZWFsLgoKMjAxNC0xMS0yOSAxMzo1OTozNSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHRlc3RzL2ljbGVzLy5naXRpZ25vcmU6CgkqIHRlc3RzL2ljbGVzL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9pY2xlcy9nZGtwaXhidWZvdmVybGF5LXRlc3QuYzoKCSAgdGVzdHM6IGFkZCBpbnRlcmFjdGl2ZSBnZGtwaXhidWZvdmVybGF5IHRlc3QKCSAgSnVzdCBuZWVkIHRvIGZpeCB0aGUgY29vcmRpbmF0ZSBzeXN0ZW0gbm93IHNvCgkgIHRoYXQgbmVnYXRpdmUgb2Zmc2V0cyBhcmUgYWN0dWFsbHkgbmVnYXRpdmUKCSAgYW5kIG5vdCBmbGlwcGVkIHRvIHBvc2l0aW9uIHRoaW5ncyBmcm9tIHRoZQoJICBvcHBvc2l0ZSBib3JkZXIuCgoyMDE0LTExLTI5IDEzOjUzOjAzICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dka19waXhidWYvZ3N0Z2RrcGl4YnVmb3ZlcmxheS5jOgoJKiBleHQvZ2RrX3BpeGJ1Zi9nc3RnZGtwaXhidWZvdmVybGF5Lmg6CgkgIGdka3BpeGJ1Zm92ZXJsYXk6IGFkZCAicGl4YnVmIiBwcm9wZXJ0eQoJICBTbyB3ZSBjYW4gc2V0IGEgR2RrUGl4YnVmIGRpcmVjdGx5IGluc3RlYWQgb2YKCSAgcmVhZGluZyBpdCBmcm9tIGFuIGltYWdlIGZpbGUgb24gdGhlIGZpbGUgc3lzdGVtLgoKMjAxNC0xMS0yOSAxMzoyMzo1MCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nZGtfcGl4YnVmL01ha2VmaWxlLmFtOgoJKiBleHQvZ2RrX3BpeGJ1Zi9waXhidWZzY2FsZS5jOgoJKiBleHQvZ2RrX3BpeGJ1Zi9waXhidWZzY2FsZS5oOgoJICBnZGtwaXhidWY6IHJlbW92ZSBwaXhidWZzY2FsZSBjb2RlIHRoYXQgd2FzIG5ldmVyIHBvcnRlZAoJICBEb24ndCB0aGluayB3ZSdsbCBuZWVkIHRoaXMgYWdhaW4uCgoyMDE0LTExLTI5IDE4OjM1OjQyIC0wNTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwcnR4cmVjZWl2ZS5jOgoJICBydHBydHhyZWNlaXZlOiBVc2Ugb2Zmc2V0IHdoZW4gY29weWluZyBoZWFkZXIKCSAgVGhlIGhlYWRlciBpcyBub3QgYWx3YXlzIGF0IHRoZSBzdGFydCBvZiB0aGUgcGFja2V0LCBzbyB3ZSBuZWVkIHRvIGNvbXB1dGUKCSAgdGhlIG9mZnNldCBmaXJzdC4KCjIwMTQtMTEtMjggMTM6MTI6NDYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBleHQvdGFnbGliL2dzdGFwZXYybXV4LmNjOgoJICBhcGV2Mm11eDogd3JpdGUgQVBFIHRhZ3MgYXQgZW5kIGZvciB3YXZwYWNrIGZpbGVzCgkgIGh0dHA6Ly93d3cud2F2cGFjay5jb20vZmlsZV9mb3JtYXQudHh0OgoJICAiQm90aCB0aGUgQVBFdjIgdGFncyBhbmQvb3IgSUQzdjEgdGFncyBtdXN0IGNvbWUgYXQgdGhlIGVuZCBvZiB0aGUKCSAgV2F2UGFjayBmaWxlLCB3aXRoIHRoZSBJRDN2MSBjb21pbmcgbGFzdCBpZiBib3RoIGFyZSBwcmVzZW50LiIKCSAgV2F2UGFjayBmaWxlcyB0aGF0IGNvbnRhaW4gQVBFdjIgdGFncyBhdCB0aGUgYmVnaW5uaW5nIG9mIHRoZSBmaWxlcwoJICBhcmUgdW5wbGF5YWJsZSBvbiBwbGF5ZXJzIHRoYXQgdXNlIEZGbXBlZyAobGlrZSBWTEMpIGFuZCBtb3N0IG90aGVyCgkgIHNvZnR3YXJlIChleGNlcHQgQmFuc2hlZSkuIFBsYXllcnMgdGhhdCB1c2UgbGlid2F2cGFjayBkaXJlY3RseSBjYW4KCSAgcGxheSB0aGUgZmlsZXMgYmVjYXVzZSBpdCBza2lwcyB0aGUgdGFncywgYnV0IGRvZXMgbm90IHJlY29nbml6ZSB0aGUKCSAgdGFnIGRhdGEgYXQgdGhhdCBsb2NhdGlvbi4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcxMTQzNwoKMjAxNC0xMS0yOCAxMDo0MTo1NSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHRlc3RzL2ljbGVzLy5naXRpZ25vcmU6CgkqIHRlc3RzL2ljbGVzL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9pY2xlcy90ZXN0LXNlZ21lbnQtc2Vla3MuYzoKCSAgdGVzdHM6IGFkZCBpbnRlcmFjdGl2ZSB0ZXN0IGZvciBnYXBsZXNzIHBsYXliYWNrIHVzaW5nIFNFR01FTlQgc2Vla3MKCSAgTm90IHdvcmtpbmcgdG9vIHdlbGwgeWV0LCB0aGVyZSBhcmUgZ2xpdGNoZXMgZXZlbiB3aXRoIFdBViBvciBGTEFDLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjkyMzY4CgoyMDE0LTExLTI2IDEwOjMzOjA5ICswMzAwICBBbmRyZWkgU2FyYWtlZXYgPHNhcmFrdXNoYUBnbWFpbC5jb20+CgoJKiBnc3QvdmlkZW9jcm9wL2dzdGFzcGVjdHJhdGlvY3JvcC5jOgoJKiBnc3QvdmlkZW9jcm9wL2dzdGFzcGVjdHJhdGlvY3JvcC5oOgoJICBhc3BlY3RyYXRpb2Nyb3A6IEhhbmRsZSByZXNvbHV0aW9uIGNoYW5nZXMgcHJvcGVybHkKCSAgV2hlbiBhbiBjYXBzLWV2ZW50IGlzIHJlY2VpdmVkLCB3ZSBtdXN0IGltbWVkaWF0ZWx5IGNoYW5nZSB0aGUgY3JvcAoJICB0byB2aWRlb2Nyb3AgY29ycmVjdGx5IGNoYW5nZWQgY2Fwcy1ldmVudCBkaW1lbnNpb24sIG90aGVyd2lzZSB0aGUKCSAgdmlkZW9jcm9wIHdpbGwgZmlyc3QgdXNlIHRoZSBwcmV2aW91cyB2YWx1ZSBvZiB0aGUgY3JvcCB0aGF0IHdoZW4KCSAgcmVzaXppbmcgdmlkZW8gdG8gYSBzbWFsbGVyIHJlc29sdXRpb24gbWF5IGNhdXNlIGFuIGVycm9yLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQwNjcxCgoyMDE0LTExLTI3IDE3OjEwOjUzICswMTAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSA3YmIyYmNlIHRvIGVmMWZmZGMKCjIwMTQtMTEtMjcgMTE6MjA6MzYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiB0ZXN0cy9pY2xlcy90ZXN0LWFjY3VyYXRlLXNlZWsuYzoKCSAgdGVzdDogdXNlIGdzdF91dGlsX3VpbnQ2NF9zY2FsZV9yb3VuZCgpIGZvciB0aW1lc3RhbXAgdG8gc2FtcGxlIGNhbGN1bGF0aW9uCgoyMDE0LTExLTI3IDExOjE2OjM1ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogdGVzdHMvaWNsZXMvLmdpdGlnbm9yZToKCSogdGVzdHMvaWNsZXMvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2ljbGVzL3Rlc3QtYWNjdXJhdGUtc2Vlay5jOgoJICB0ZXN0czogYWRkIGludGVyYWN0aXZlIHRlc3QgZm9yIGFjY3VyYXRlIHNlZWtpbmcKCSAgRm9yIHNvbWUgYXVkaW8gZm9ybWF0cy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1NTI3NgoKMjAxNC0xMS0yNiAxNjowNDoyNiArMDEwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBpc29tcDQ6IENoZWNrIHByZXNlbmNlIG9mIG1maGQgaW4gbW9vZgoJICBUaGUgJ21maGQnIGF0b20gaXMgbWFuZGF0b3J5IGluICdtb29mJy4gV2UgY2FuIGxhdGVyIG9uIGNoZWNrIHdoZXRoZXIKCSAgdGhlIGZyYWdtZW50IG51bWJlciBwcm9wZXJseSBpbmNyZWFzZXMKCjIwMTQtMTEtMjYgMTU6NTk6MzYgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXhfZHVtcC5jOgoJICBpc29tcDQ6IEZpeCBtZnJvIGFuZCB0ZnJhIGF0b20gZHVtcGluZwoJICBtZnJvIHdhcyBza2lwcGluZyB0aGUgdmVyc2lvbi9mbGFncwoJICB0ZnJhIGhhZCB3cm9uZyBieXRlX3JlYWRlciByZXR1cm4gdmFsdWUgY2hlY2tzCgoyMDE0LTExLTI2IDE1OjU4OjI2ICswMTAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4X2R1bXAuYzoKCSogZ3N0L2lzb21wNC9xdGRlbXV4X2R1bXAuaDoKCSogZ3N0L2lzb21wNC9xdGRlbXV4X3R5cGVzLmM6CgkgIGlzb21wNDogQWRkIG1maGQgYXRvbSBkdW1waW5nCgoyMDE0LTExLTI3IDAwOjE1OjAyICsxMTAwICBKYW4gU2NobWlkdCA8amFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBIYW5kbGUgZW1wdHkgc2VnbWVudHMgd2hlbiBzZWVraW5nIGluIHJldmVyc2UgcGxheS4KCSAgRW1wdHkgc2VnbWVudHMgaW4gYW4gZWRpdCBsaXN0IGhhdmUgYSBtZWRpYV9zdGFydCB0aW1lIG9mIC0xLAoJICBhcyB0aGV5IGRvbid0IGFjdHVhbGx5IHBsYXkgYW55IG1lZGlhLiBBbGxvdyBmb3IgdGhhdCB3aGVuCgkgIGFsaWduaW5nIHRvIHRoZSByZWZlcmVuY2Ugc3RyZWFtIGluIHJldmVyc2UgcGxheS4KCjIwMTQtMTEtMjQgMTA6MzY6NTQgLTA1MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmFsbG9jYXRvci5jOgoJICBSZXZlcnQgInY0bDJhbGxvY2F0b3I6IFJlbW92ZSB1bnVzZWQgdmFyaWFibGUiCgkgIFRoaXMgcmV2ZXJ0cyBjb21taXQgYWQ0NDgwZDUzNDA4YTRkOTdhYjUzMTE3NGVmMzdmMjU4ZjMyNTNjMC4KCjIwMTQtMTEtMjQgMTA6MzY6MzAgLTA1MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmFsbG9jYXRvci5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyYWxsb2NhdG9yLmg6CgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5oOgoJICBSZXZlcnQgInY0bDI6IG1vdmUgdmJfcXVldWUgcHJvYmluZyBmcm9tIGFsbG9jYXRvciB0byB2NGwyb2JqZWN0IgoJICBUaGlzIHJldmVydHMgY29tbWl0IGVjNmI4Yjg0YWY3MTlkODI4ZGRkOTFjNzI0ZTcxNWMwYjRhNTU2YmMuCgoyMDE0LTExLTI0IDEwOjMzOjI5IC0wNTAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgUmV2ZXJ0ICJ2NGwyb2JqZWN0OiBhbGxvdyB0byBhdXRvbWF0aWMgc2VsZWN0aW9uIG9mIGRtYWJ1ZiIKCSAgVGhpcyByZXZlcnRzIGNvbW1pdCBlNmMyYWQ1NTcxZTVkZWRiMjEyMjg3ZWZlMjM4ZWI0NTAwMzJjZDRmLgoKMjAxNC0xMS0yMyAxNjozNDoxNSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIFJFUVVJUkVNRU5UUzoKCSAgUkVRVUlSRU1FTlRTOiB1cGRhdGUgYSBsaXR0bGUKCSAgUGVvcGxlIGFjdHVhbGx5IGxvb2sgYXQgdGhhdCBpdCBzZWVtcy4KCjIwMTQtMTEtMjMgMTY6MjI6MTIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvaWN5ZGVtdXgvTWFrZWZpbGUuYW06CgkgIGljeWRlbXV4OiBkb2VzIG5vdCBuZWVkIHRvIGxpbmsgYWdhaW5zdCB6bGliCgoyMDE0LTExLTIyIDIxOjI4OjM1ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvc3BlZXgvZ3N0c3BlZXhkZWMuaDoKCSogZXh0L3NwZWV4L2dzdHNwZWV4ZW5jLmg6CgkgIHNwZWV4OiByZW1vdmUgc3VwcG9ydCBmb3IgYW5jaWVudCBzcGVleCB2ZXJzaW9ucwoKMjAxNC0xMS0yMSAxMToyMToxOCArMDEwMCAgQnJhbmlzbGF2IEthdHJlbmlhayA8YmthdHJlbmlha0BudXZvdGVjaG5vbG9naWVzLmNvbT4KCgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6CgkgIHNvdXBodHRwc3JjOiBsb2cgY29ubmVjdGlvbiBldmVudHMgYXQgaW5mbyBsZXZlbAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM5MzA1CgoyMDE0LTEwLTIwIDEzOjAwOjM3ICswMjAwICBNaWd1ZWwgUGFyw61zIETDrWF6IDxtcGFyaXNkaWF6QGdtYWlsLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBydHBqaXR0ZXJidWZmZXI6IGVuc3VyZSBydHhfcmV0cnlfcGVyaW9kID49IDAKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczOTM0NAoKMjAxNC0xMS0yMSAxMTo0NDoyNCAtMDUwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYWxsb2NhdG9yLmM6CgkgIHY0bDJhbGxvY2F0b3I6IFJlbW92ZSB1bnVzZWQgdmFyaWFibGUKCSAgdGhpcyB3YXMgaW50cm9kdWNlZCBieSBjb21taXQgZWM2YjhiCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTkzODIKCjIwMTQtMTEtMTYgMTI6MzQ6MTcgLTA1MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuaDoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJKiBzeXMvdjRsMi9nc3R2NGwydHJhbnNmb3JtLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJ2aWRlb2RlYy5jOgoJICB2NGwyOiBIYW5kbGUgY29ycnVwdGVkIGJ1ZmZlciB3aXRoIGVtcHR5IHBheWxvYWQKCSAgVGhpcyBhbGxvdyBza2lwcGluZyBidWZmZXIgZmxhZ2dlZCB3aXRoIEVSUk9SIHRoYXQgaGFzIG5vIHBheWxvYWQuCgkgIFRoaXMgaXMgdHlwaWNhbCBiZWhhdmlvdXIgd2hlbiBhIHJlY292ZXJlcmFibGUgZXJyb3Igb2NjdXJlZCBkdXJpbmcKCSAgY2FwdHVyZSBpbiB0aGUgZHJpdmVyLCBidXQgdGhhdCBubyB2YWxpZCBkYXRhIHdhcyBldmVyIHdyaXR0ZW4gaW50byB0aGF0CgkgIGJ1ZmZlci4gVGhpcyBwYXRjaCBhbHNvIHRyYW5zbGF0ZSBWNEwyX0JVRl9GTEFHX0VSUk9SIGludG8KCSAgR1NUX0JVRkZFUl9GTEFHX0NPUlJVUFRFRC4gSGVuY2UgZGVjb2RpbmcgZXJyb3IgcHJvZHVjZQoJICBieSBkZWNvZGVyIGR1ZSB0byBtaXNzaW5nIGZyYW1lcyB3aWxsIG5vdyBiZSBjb3JyZWN0bHkgbWFya2VkLiBGaW5hbGx5LAoJICB0aGlzIGZpeGVzIGEgYnVmZmVyIGxlYWsgd2hlbiBFT1MgaXMgcmVhY2hlZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0MDA0MAoKMjAxNC0xMS0yMSAxNjozNjoxNSArMDEwMCAgQmVuamFtaW4gR2FpZ25hcmQgPGJlbmphbWluLmdhaWduYXJkQGxpbmFyby5vcmc+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIHY0bDJvYmplY3Q6IGFsbG93IHRvIGF1dG9tYXRpYyBzZWxlY3Rpb24gb2YgZG1hYnVmCgkgIElmIHRoZSB2NGwyIHF1ZXVlIHN1cHBvcnQgZG1hYnVmIHNlbGVjdCB0aGlzIGJ1ZmZlciBwb29sIG1vZGUKCSAgYW5kIHVwZGF0ZSB0aGUgcXVlcnkgd2l0aCBhbGxvY2F0b3IuCgkgIFRoaXMgcGF0Y2ggb25seSBjb25jZXJuIGV4cG9ydGluZyBkbWFidWYgYW5kIG5vdCBpbXBvcnRpbmcgZG1hYnVmCgkgIGZkIGZyb20gZG93bnN0cmVhbSBlbGVtZW50LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njk5MzgyCgoyMDE0LTExLTIxIDE2OjEzOjA1ICswMTAwICBCZW5qYW1pbiBHYWlnbmFyZCA8YmVuamFtaW4uZ2FpZ25hcmRAbGluYXJvLm9yZz4KCgkqIHN5cy92NGwyL2dzdHY0bDJhbGxvY2F0b3IuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMmFsbG9jYXRvci5oOgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuaDoKCSAgdjRsMjogbW92ZSB2Yl9xdWV1ZSBwcm9iaW5nIGZyb20gYWxsb2NhdG9yIHRvIHY0bDJvYmplY3QKCSAgVGhlIGdvYWwgaXMgdG8gbWFrZSB0aG9zZSBpbmZvcm1hdGlvbiBhdmFpbGFibGUgaW4gdjRsMl9vYmplY3QKCSAgdG8gYmUgYWJsZSBsYXRlciB0byBzZWxlY3QgdGhlIGJlc3QgYWxsb2NhdGlvbiBtZXRob2QgZm9yIHRoZSBwb29sCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTkzODIKCjIwMTQtMTEtMjAgMjI6NDI6NTkgKzA1MzAgIEFydW4gUmFnaGF2YW4gPGdpdEBhcnVucmFnaGF2YW4ubmV0PgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmg6CgkgIHJ0cGJpbjogRml4IHVwIG5ld19qaXR0ZXJidWZmZXIgc2lnbmFsIHByb3RvdHlwZQoKMjAxNC0xMS0yMCAyMDoxOToyNSArMDUzMCAgQXJ1biBSYWdoYXZhbiA8Z2l0QGFydW5yYWdoYXZhbi5uZXQ+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzoKCSAgcnRwYmluOiBEb2N1bWVudCBob3cgdG8gY29udHJvbCBwZXItU1NSQyByZXRyYW5zbWlzc2lvbgoKMjAxNC0xMS0yMCAyMDoxODo0NSArMDUzMCAgQXJ1biBSYWdoYXZhbiA8Z2l0QGFydW5yYWdoYXZhbi5uZXQ+CgoJKiBkb2NzL2Rlc2lnbi9kZXNpZ24tcnRwcmV0cmFuc21pc3Npb24udHh0OgoJICBkb2M6IFRyaXZpYWwgc3BlbGxpbmcgYW5kIGNvbnNpc3RlbmN5IHVwZGF0ZQoKMjAxNC0xMS0yMCAxMzoxNDoxNCArMDEwMCAgV2ltIFRheW1hbnMgPHd0YXltYW5zQHJlZGhhdC5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGdzdGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZ3N0cGF5LmM6CgkgIHJ0cGdzdHBheTogcHV0IDAtYnl0ZSBhdCB0aGUgZW5kIG9mIGV2ZW50cwoJICBQdXQgYSAwLWJ5dGUgYXQgdGhlIGVuZCBvZiB0aGUgZXZlbnQgc3RyaW5nLiBEb2VzIG5vdCBicmVhayBBQkkgYmVjYXVzZQoJICBvbGQgZGVwYXlsb2FkZXJzIHdpbGwgc2tpcCB0aGUgMCBieXRlICh3aGljaCBpcyBpbmNsdWRlZCBpbiB0aGUgbGVuZ3RoKS4KCSAgRXhwZWN0IGEgMC1ieXRlIGF0IHRoZSBlbmQgb2YgdGhlIGV2ZW50IHN0cmluZyBvciBhIDsgZm9yIG9sZAoJICBwYXlsb2FkZXJzLgoJICBTZWUgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNzU5MQoKMjAxNC0xMS0yMCAxMjo0MDoyOCArMDEwMCAgV2ltIFRheW1hbnMgPHd0YXltYW5zQHJlZGhhdC5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGdzdGRlcGF5LmM6CgkgIHJ0cGdzdGRlcGF5OiBhdm9pZCBidWZmZXIgb3ZlcnJlYWQuCgkgIENoZWNrIHRoYXQgYSBjYXBzIGV2ZW50IHN0cmluZyBpcyAwIHRlcm1pbmF0ZWQgYW5kIHRoZSBldmVudCBzdHJpbmcgaXMKCSAgdGVybWluYXRlZCB3aXRoIGEgOyB0byBhdm9pZCBidWZmZXIgb3ZlcnJlYWRzLgoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM3NTkxCgoyMDE0LTExLTIwIDEwOjQ1OjA3ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2lzb21wNC9nc3RxdG11eG1hcC5jOgoJICBxdG11eDogZG9uJ3QgbGltaXQgbWF4IHZpZGVvIHJlc29sdXRpb24gdG8gNDA5Nng0MDk2CgkgIE1BWCBpc24ndCBlbnRpcmVseSBjb3JyZWN0IGFzIHVwcGVyIGxpbWl0IGVpdGhlciwKCSAgaXQgc2hvdWxkIHJlYWxseSBiZSBNQVhVSU5UMzIsIGJ1dCBpdCdzIHVubGlrZWx5CgkgIHRvIGJlIGEgcHJvYmxlbSBpbiB0aGUgbmVhciBmdXR1cmUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDA0MDcKCjIwMTQtMTEtMTkgMTU6MDY6MDAgLTA4MDAgIEFsZWl4IENvbmNoaWxsbyBGbGFxdcOpIDxhbGVpeEBvYmxvbmcuY29tPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBmaXggbGVhayBmb3IgbWlrZXkgYmFzZTY0IGRlY29kZWQga2V5LW1nbXQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0MDM5MgoKMjAxNC0xMS0yMCAwOTowMTozOCArMDEwMCAgV2ltIFRheW1hbnMgPHd0YXltYW5zQHJlZGhhdC5jb20+CgoJKiBnc3QvdmlkZW9maWx0ZXIvZ3N0dmlkZW9iYWxhbmNlLmM6CgkgIHZpZGVvYmFsYW5jZTogZml4IHVuaGFuZGxlZCBmb3JtYXQgaW4gcGFzc3Rocm91Z2gKCSAgSW4gcGFzc3Rocm91Z2ggd2UgY2FuIGhhbmRsZSBhbGwgZm9ybWF0cy4KCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0MDM4NwoKMjAxNC0xMS0xOSAxNjoxMjozOCArMDEwMCAgSmFuIEFsZXhhbmRlciBTdGVmZmVucyAoaGVmdGlnKSA8anN0ZWZmZW5zQG1ha2UudHY+CgoJKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6CgkgIGZsdmRlbXV4OiBSZXN0cmljdCByZXN5bmNpbmcgdG8gVFMgcmVncmVzc2lvbnMKCSAgVGhlIGJlaGF2aW9yIG9mIHJlc3luY2luZyB2aWRlbyBhbmQgYXVkaW8gaW5kZXBlbi0KCSAgZGVudGx5IGNhbiBjYXVzZSBBL1YgZGVzeW5jcy4gTGV0cyByZXN0cmljdCByZXN5bmNzCgkgIHRvIGp1bXBzIGJhY2t3YXJkIGZvciBub3cuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzYzOTcKCjIwMTQtMTEtMTcgMjM6MTY6MDMgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIyLmM6CgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIyLmg6CgkgIHZpZGVvbWl4ZXI6IGZpeCB1cCBRb1MgaGFuZGxpbmcgZm9yIGxpdmUgc291cmNlcwoJICBPbmx5IGF0dGVtcHQgYWRhcHRpdmUgZHJvcCB3aGVuIHdlIGFyZSBub3QgbGl2ZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM5OTk2CgoyMDE0LTExLTEwIDIyOjM0OjM5ICswMTAwICBIZW5uaW5nIEhlaW5vbGQgPGhlbm5pbmdAaXRjb25zdWx0aW5nLWhlaW5vbGQuZGU+CgoJKiB0ZXN0cy9leGFtcGxlcy9ydHAvY2xpZW50LVBDTUEucHk6CgkqIHRlc3RzL2V4YW1wbGVzL3J0cC9zZXJ2ZXItYWxzYXNyYy1QQ01BLnB5OgoJICBleGFtcGxlczogcG9ydCBweXRob24gcnRwIFBDTUEgY2xpZW50L3NlcnZlciB0ZXN0cyB0byAxLjAKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczOTkzMAoKMjAxNC0wNi0wNCAxMjoxMToxMCArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmxhYy9nc3RmbGFjZGVjLmM6CgkgIGZsYWNkZWM6IHNldCB0aGUgY2hhbm5lbCBwb3NpdGlvbnMgdXNpbmcgdGhlIGFwcHJvcHJpYXRlIEFQSQoJICBUaGlzIGF2b2lkcyBfc2V0X2Zvcm1hdCBzZXR0aW5nIHRoZSB1bnBvc2l0aW9uZWQgZmxhZyB3aGVuIHBhc3NlZAoJICBOVUxMIGFzIGNoYW5uZWwgcG9zaXRpb25zLCBhcyBpdCB3b3VsZCBub3QgYmUgY2xlYXJlZCB3aGVuIHNldHRpbmcKCSAgYWN0dWFsIGNoYW5uZWwgcG9zaXRpb25zIGxhdGVyLgoKMjAxNC0xMS0wMSAyMjozOTo0MSArMDEwMCAgQXVyw6lsaWVuIFphbmVsbGkgPGF1cmVsaWVuLnphbmVsbGlAZGFya29zcGhlcmUuZnI+CgoJKiBleHQvdnB4L2dzdHZwOGVuYy5jOgoJKiBleHQvdnB4L2dzdHZwOWVuYy5jOgoJICB2cHg6IG1hcmsgYXJuci10eXBlIHByb3BlcnRpZXMgYXMgZGVwcmVjYXRlZCBhbmQgc2V0IHRoZW0gdG8gbm8tb3AKCSAgQVJOUiB0eXBlIGNvbnRyb2wgaW4gbGlidnB4IGhhcyBiZWVuIGRlcHJlY2F0ZWQgc28gdGhpcyBjb21taXQgbWFyayB0aGUKCSAgdnA4ZW5jIGFuZCB2cDllbmMgYXNzb2NpYXRlZCBwcm9wZXJ0aWVzIGFzIGRlcHJlY2F0ZWQgYW5kIGNoYW5nZSB0aGVpcgoJICBiZWhhdmlvciB0byBqdXN0IGRpc3BsYXkgYSB3YXJuaW5nIG1lc3NhZ2UuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mzk0NzYKCjIwMTQtMTEtMTAgMTM6MTY6MDEgKzA1MzAgIEFydW4gUmFnaGF2YW4gPGdpdEBhcnVucmFnaGF2YW4ubmV0PgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6CgkgIHJ0cG1hbmFnZXI6IFRyaXZpYWwgdHlwbyBmaXgKCjIwMTQtMTEtMDkgMTE6MDQ6MzMgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkgIG1hdHJvc2thLW11eDogVXNlIEdfREVGSU5FX1RZUEUoKSB0byByZWdpc3RlciB0aGUgcGFkIGluc3RlYWQgb2YgbWFudWFsbHkgcmVnaXN0ZXJpbmcgaXQKCjIwMTQtMTEtMDYgMTU6Mzc6MjggKzAxMDAgIEfDtnJhbiBKw7Zuc3NvbiA8Z29yYW5qbkBheGlzLmNvbT4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSAgbWF0cm9za2FtdXg6IG1ha2UgR3N0TWF0cm9za2FtdXhQYWQgZ2V0X3R5cGUoKSBmdW5jdGlvbiB0aHJlYWQtc2FmZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM5NzIyCgoyMDE0LTExLTA3IDE2OjExOjI0ICswMTAwICBBdXLDqWxpZW4gWmFuZWxsaSA8YXVyZWxpZW4uemFuZWxsaUBwYXJyb3QuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmFsbG9jYXRvci5jOgoJICB2NGwyYWxsb2NhdG9yOiBmaXggZXJyb3IgbWVzc2FnZSBpZiBhbGxvY2F0b3IgaXMgYWxyZWFkeSBhY3RpdmUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczOTc4OQoKMjAxNC0xMS0wNiAyMToyMTo0MCAtMDUwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJICB2NGwyYnVmZmVycG9vbDogSW1wcm92ZSBidWZmZXIgdmFsaWRhdGlvbgoJICBJbXByb3ZlIGJ1ZmZlciB2YWxpZGF0aW9uIGJ5IG1ha2luZyBzdXJlIGVhY2ggbWVtb3J5IGFyZSB0aGUgcmlnaHQKCSAgb25lIGFuZCB0aGF0IGVhY2ggbWVtb3J5IGlzIHdyaXRhYmxlLiBUaGlzIGZpeGVzIHRlYXJpbmcgaXNzdWVzIGluCgkgIGNhc2UgZG93bnN0cmVhbSB1c2VzIGdzdF9idWZmZXJfbWFrZV93cml0YWJsZSgpIG9yIG90aGVyIHR5cGUKCSAgb2YgR3N0QnVmZmVyIGNvcHkgd2hlcmUgbWVtb3J5IGFyZSBvbmx5IHJlZmZlZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczOTc1NAoKMjAxNC0xMS0wNiAyMTozODo0MyArMDEwMCAgSm9zZXAgVG9ycmEgPG43NzBnYWxheHlAZ21haWwuY29tPgoKCSogZ3N0L3J0c3AvTWFrZWZpbGUuYW06CgkgIHJ0c3A6IGZpeCBidWlsZCBpbiBnc3QtdW5pbnN0YWxsZWQgc2V0dXAKCjIwMTQtMTAtMjkgMTg6NDQ6NDMgKzAxMDAgIFRoaWJhdWx0IFNhdW5pZXIgPHRzYXVuaWVyQGdub21lLm9yZz4KCgkqIGdzdC9pbWFnZWZyZWV6ZS9nc3RpbWFnZWZyZWV6ZS5jOgoJKiBnc3QvaW1hZ2VmcmVlemUvZ3N0aW1hZ2VmcmVlemUuaDoKCSAgaW1hZ2VmcmVlemU6IEhhbmRsZSBzZXFudW1zCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzkzNjYKCjIwMTQtMTEtMDQgMDg6MTg6NDEgKzA1MzAgIFZpbmVldGggVCBNIDx2aW5lZXRoLnRtQHNhbXN1bmcuY29tPgoKCSogZXh0L2xpYnBuZy9nc3RwbmdkZWMuYzoKCSogZXh0L2xpYnBuZy9nc3RwbmdkZWMuaDoKCSAgcG5nZGVjOiBjaGFuZ2UgcGFyc2UgbG9naWMKCSAgUmlnaHQgbm93IGluIHBhcnNlIGxvZ2ljIHRoZSBzaWduYXR1cmUgaXMgY2hlY2tlZCBldmVyeSB0aW1lIHRoZSBwYXJzZSBmdW5jdGlvbgoJICBpcyBjYWxsZWQsIGFuZCB0aGUgd2hvbGUgZGF0YSBpcyB0aGUgc2Nhbm5lZCBlYWNoIGFuZCBldmVyeSB0aW1lLCBldmVuIHRob3VnaCB0aGUKCSAgZGF0YSBpcyBzY2FubmVkIGluIHRoZSBwcmV2aW91cyBpbnN0YW5jZS4gQ2hhbmdpbmcgdGhlIGxvZ2ljIHN1Y2ggdGhhdCwgd2Ugc2tpcAoJICB0aGUgYnl0ZXMgd2hpY2ggYXJlIGFscmVhZHkgc2Nhbm5lZCBpbiB0aGUgcHJldmlvdXMgaW5zdGFuY2VzIG9mIHBhcnNlLiBUaGlzCgkgIGhlbHBzIGluIGF2b2lkaW5nIG11bHRpcGxlIHNjYW4gb2YgYWxyZWFkeSBzY2FubmVkIGRhdGEvc2lnbmF0dXJlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM3NzA4CgoyMDE0LTExLTAzIDE1OjI2OjA2ICswMTAwICBXaW0gVGF5bWFucyA8d3RheW1hbnNAcmVkaGF0LmNvbT4KCgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIyLmM6CgkgIHZpZGVvbWl4ZXIyOiByZXZlcnNlIG9yZGVyIG9mIHBhcmFtcyBmb3IgY29udmVydGVyCgoyMDE0LTExLTAzIDExOjQ0OjI4ICswMTAwICBBdXLDqWxpZW4gWmFuZWxsaSA8YXVyZWxpZW4uemFuZWxsaUBwYXJyb3QuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSAgdjRsMmJ1ZmZlcnBvb2w6IGZpeCB0eXBvIGluIGZsYWdzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mzk1NDkKCjIwMTQtMTEtMDIgMjM6MzM6MjMgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIHY0bDJzcmM6IGZpeCBhIGNvdXBsZSBvZiBtaW5vciBsZWFrcwoKMjAxNC0xMS0wMiAxOTo0MjowMyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9nb29tMmsxL2dzdGdvb20uYzoKCSogZ3N0L2dvb20yazEvZ3N0Z29vbS5oOgoJICBnb29tMmsxOiBwb3N0IFFvUyBtZXNzYWdlcyB3aGVuIGRyb3BwaW5nIGZyYW1lcyBkdWUgdG8gUW9TCgoyMDE0LTExLTAyIDE5OjI5OjUyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2dvb20vZ3N0Z29vbS5jOgoJKiBnc3QvZ29vbS9nc3Rnb29tLmg6CgkgIGdvb206IHBvc3QgUW9TIG1lc3NhZ2VzIHdoZW4gZHJvcHBpbmcgZnJhbWVzIGR1ZSB0byBRb1MKCjIwMTQtMTEtMDIgMTk6MDI6MzUgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkgIG1hdHJvc2thbXV4OiB0d2VhayB3cml0aW5nIGFwcCB0YWcgc3RyaW5nIGEgbGl0dGxlCgoyMDE0LTExLTAyIDE2OjUxOjIzICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2pwZWcvZ3N0anBlZ2RlYy5jOgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4LmM6CgkqIGdzdC9sZXZlbC9nc3RsZXZlbC5jOgoJKiBnc3QvdWRwL2dzdG11bHRpdWRwc2luay5jOgoJKiBnc3QvdWRwL2dzdHVkcHNyYy5jOgoJICBTcHJpbmtsZSBzb21lIEdfUEFSQU1fREVQUkVDQVRFRCBhbmQgI2lmbmRlZiBHU1RfUkVNT1ZFX0RFUFJFQ0FURUQKCjIwMTQtMTEtMDIgMTY6NTg6MDcgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9sZXZlbC5jOgoJICB0ZXN0czogZG9uJ3QgdXNlIGRlcHJlY2F0ZWQgcHJvcGVydHkgaW4gbGV2ZWwgdW5pdCB0ZXN0CgoyMDE0LTExLTAyIDEzOjA2OjMzICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIHJ0cGppdHRlcmJ1ZmZlcjogaW1wbGVtZW50IGdldC9zZXQgZm9yIG5ldyBydHgtbWluLXJldHJ5LXRpbWVvdXQgcHJvcGVydHkKCSAgUHJvcGVydGllcyBhcmUgc28gbXVjaCBtb3JlIHVzZWZ1bCBpZiB5b3UgY2FuIGFjdHVhbGx5IHNldAoJICBhbmQgZ2V0IHRoZWlyIHZhbHVlcy4KCjIwMTQtMTAtMzAgMTc6NDE6MTkgKzAwMDAgIFNpbW9uIEZhcm5zd29ydGggPHNpbW9uLmZhcm5zd29ydGhAb25lbGFuLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkgIHY0bDI6IENsZWFuIHVwIGludGVybGFjZSBzdXBwb3J0CgkgIFJhdGhlciB0aGFuIHRyeSBhbmQgZ3Vlc3MgaW50ZXJsYWNlIHN1cHBvcnQgYXMgcGFydCBvZiBjaGVja2luZyBzdXBwb3J0ZWQKCSAgc2l6ZXMsIGxvb2sgZm9yIGludGVybGFjZSBzdXBwb3J0IHNwZWNpZmljYWxseSBpbiBpdHMgb3duIGZ1bmN0aW9uLgoJICBBcyBhIGNsZWFudXAsIHVzZSBWNEwyX0ZJRUxEX0FOWSB3aGVuIHByb2Jpbmcgc2l6ZXMsIHdoaWNoIHNob3VsZCByZXN1bHQgaW4KCSAgdGhlIGRyaXZlciBkb2luZyB0aGUgcmlnaHQgdGhpbmcuCgkgIFdpdGggbXkgY2FwdHVyZSBzZXR1cCwgdGhpcyBnZXRzIG1lIHRoZSBmb2xsb3dpbmcgc2FtcGxlIGNhcHM6CgkgIEZvciAxMDgwaSByZXNvbHV0aW9uOgoJICB2aWRlby94LXJhdywgZm9ybWF0PShzdHJpbmcpWVVZMiwgd2lkdGg9KGludCkxOTIwLCBoZWlnaHQ9KGludCkxMDgwLCBwaXhlbC1hc3BlY3QtcmF0aW89KGZyYWN0aW9uKTEvMSwgaW50ZXJsYWNlLW1vZGU9KHN0cmluZylpbnRlcmxlYXZlZCwgZnJhbWVyYXRlPShmcmFjdGlvbil7IDI1LzEsIDMwLzEgfQoJICBGb3IgNzIwcCByZXNvbHV0aW9uOgoJICB2aWRlby94LXJhdywgZm9ybWF0PShzdHJpbmcpWVVZMiwgd2lkdGg9KGludCkxMjgwLCBoZWlnaHQ9KGludCk3MjAsIHBpeGVsLWFzcGVjdC1yYXRpbz0oZnJhY3Rpb24pMS8xLCBpbnRlcmxhY2UtbW9kZT0oc3RyaW5nKXByb2dyZXNzaXZlLCBmcmFtZXJhdGU9KGZyYWN0aW9uKXsgNTAvMSwgNjAvMSB9CgkgIEZvciA1NzZpL3AgcmVzb2x1dGlvbiAoYm90aCBwb3NzaWJsZSBhdCB0aGUgcG9pbnQgb2YgcXVlcnkpOgoJICB2aWRlby94LXJhdywgZm9ybWF0PShzdHJpbmcpWVVZMiwgd2lkdGg9KGludCk3MjAsIGhlaWdodD0oaW50KTU3NiwgcGl4ZWwtYXNwZWN0LXJhdGlvPShmcmFjdGlvbikxLzEsIGludGVybGFjZS1tb2RlPShzdHJpbmcpeyBwcm9ncmVzc2l2ZSwgaW50ZXJsZWF2ZWQgfSwgZnJhbWVyYXRlPShmcmFjdGlvbil7IDI1LzEsIDUwLzEgfQoJICBUaGlzLCBpbiB0dXJuLCBtYWtlcyA1NzZpIHdvcmsgY29ycmVjdGx5OyB3aXRoIHRoZSBvbGQgY29kZSwKCSAgdGhlIGNhcHMgd291bGQgYmUgaW50ZXJsYWNlLW1vZGU9cHJvZ3Jlc3NpdmUgZm9yIGludGVybGFjZWQgdmlkZW8uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjYxOTQKCjIwMTQtMTEtMDEgMTI6MTg6MDIgKzAxMDAgIEF1csOpbGllbiBaYW5lbGxpIDxhdXJlbGllbi56YW5lbGxpQGRhcmtvc3BoZXJlLmZyPgoKCSogZXh0L3ZweC9nc3R2cDh1dGlscy5oOgoJICB2cHg6IHJlbW92ZSBjb21wYXRpYmlsaXR5IGRlZmluZXMKCSAgV2UgYXJlIGd1YXJhbnRlZWQgdG8gaGF2ZSBWUFhfSU1HX0ZNVF9JNDIwLCBWUFhfUExBTkVfWSwKCSAgVlBYX1BMQU5FX1UgYW5kIFZQWF9QTEFORV9WIGFzIHdlIHJlcXVpcmUgbGlidnB4ID4gMS4xLjAuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mzk0NzYKCjIwMTQtMTEtMDEgMTU6MzM6MjMgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tjb21tb24uYzoKCSogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2RlYy5jOgoJKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZW5jLmM6CgkgIHdhdnBhY2s6IHJlbW92ZSBzdXBwb3J0IGZvciBhbmNpZW50IEFQSSB2ZXJzaW9uCgoyMDE0LTExLTAxIDEwOjE0OjMxIC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwdnA4ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHB2cDhwYXkuYzoKCSAgcnRwdnA4OiBVc2UgVlA4IGVuY29kaW5nIG5hbWUKCSAgQm90aCBGaXJlZm94IGFuZCBDaHJvbWUgdXNlcyBWUDggYXMgdGhlIGVuY29kaW5nIGluIHRoZWlyIFNEUC4KCSAgQWRkaW5nIHRoaXMgbm93IGRlZmFjdG8gc3RhbmRhcmQgbmFtZSByZW1vdmVzIHRoZSBuZWVkIGZvciBzcGVjaWFsCgkgIGNhc2UgaW4gU0RQIHBhcnNpbmcgY29kZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNzgxMAoKMjAxNC0xMS0wMSAxMTo1OToyNiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwbXAydHBheS5jOgoJICBydHBtcDJ0cGF5OiBmaXggdXAgdGVtcGxhdGUgY2FwcyBzbyB3ZSBjYW4gb3V0cHV0IHRoZSBkZWZhdWx0IHB0IDMzCgkgIEFkZCBmaXhlZCBwYXlsb2FkIHR5cGUgZm9yIG1wMnQgdG8gdGVtcGxhdGUgY2FwcyBhcyB3ZWxsLCBzbwoJICBvdXIgb3V0cHV0IGNhcHMgbWF0Y2ggdGhlIGFkdmVydGlzZWQgZGVmYXVsdCBwdC4gRml4ZXMgYQoJICByZWdyZXNzaW9uIGZyb20gMS4yLgoJICBUaGVyZSdzIHN0aWxsIHNvbWV0aGluZyB3cm9uZyB3aXRoIGNhcHMgbmVnb3RpYXRpb24gdGhvdWdoLAoJICBydHBtcDJ0cGF5IHBheWxvYWQ9OTYgISBmYWtlc2luayB3aWxsIG5vdCBvdXRwdXQgY2FwcyB3aXRoCgkgIHBheWxvYWQ9OTYuCgoyMDE0LTEwLTMwIDE1OjM3OjM2IC0wNzAwICBBbGVpeCBDb25jaGlsbG8gRmxhcXXDqSA8YWxlaXhAb2Jsb25nLmNvbT4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogbWlrZXkgcmVsYXRlZCBtZW1vcnkgbGVha3MKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczOTQzMAoKMjAxNC0wNi0xMCAxMDowNDowNyArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvc3BlZXgvZ3N0c3BlZXhlbmMuYzoKCSogZXh0L3NwZWV4L2dzdHNwZWV4ZW5jLmg6CgkgIHNwZWV4ZW5jOiB1cGRhdGUgb3V0cHV0IHNlZ21lbnQgc3RvcCB0aW1lIHRvIG1hdGNoIGNsaXBwZWQgc2FtcGxlcwoJICBUaGlzIHdpbGwgbGV0IG9nZ211eCBnZW5lcmF0ZSBhIGdyYW5wb3Mgb24gdGhlIGxhc3QgcGFnZSB0aGF0IHByb3Blcmx5CgkgIHJlcHJlc2VudHMgdGhlIGNsaXBwZWQgc2FtcGxlcyBhdCB0aGUgZW5kIG9mIHRoZSBzdHJlYW0uCgoyMDE0LTA2LTEwIDEwOjU5OjEzICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mbGFjL2dzdGZsYWNlbmMuYzoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2VuYy5oOgoJICBmbGFjZW5jOiB1cGRhdGUgb3V0cHV0IHNlZ21lbnQgc3RvcCB0aW1lIHRvIG1hdGNoIGNsaXBwZWQgc2FtcGxlcwoJICBUaGlzIHdpbGwgbGV0IG9nZ211eCBnZW5lcmF0ZSBhIGdyYW5wb3Mgb24gdGhlIGxhc3QgcGFnZSB0aGF0IHByb3Blcmx5CgkgIHJlcHJlc2VudHMgdGhlIGNsaXBwZWQgc2FtcGxlcyBhdCB0aGUgZW5kIG9mIHRoZSBzdHJlYW0uCgoyMDE0LTEwLTA3IDE1OjI5OjMzICswMjAwICBBdXLDqWxpZW4gWmFuZWxsaSA8YXVyZWxpZW4uemFuZWxsaUBwYXJyb3QuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSAgdjRsMmJ1ZmZlcnBvb2w6IGNsZWFubHkgaGFuZGxlIHN0cmVhbW9uIGZhaWx1cmUgZm9yIG91dHB1dCBkZXZpY2UKCSAgT24gc3RyZWFtb24gZmFpbHVyZSwgdGhlIHF1ZXVlZCBidWZmZXIgaXMgbm90IHJlbGVhc2VkIGZyb20gdGhlCgkgIGJ1ZmZlcnBvb2wgY2xhc3MgcG9pbnQgb2YgdmlldyBiZWNhdXNlIGl0IGlzIHF1ZXVlZCB0byB0aGUgZHJpdmVyIGFuZAoJICB0aGUgZmx1c2ggbG9naWMgaXMgbm90IHBlcmZvcm1lZCBzaW5jZSB3ZSBhcmUgbm90IGluIHN0cmVhbWluZyBzdGF0ZS4KCSAgSXQgY2F1c2VzIHRoZSB2NGwyIGJ1ZmZlcnBvb2wgdG8gYWx3YXlzIHJldHVybiB0aGF0IHN0b3AgbWV0aG9kIGZhaWxlZAoJICBhbmQgdG8gbGVhayB2NGwyIG9iamVjdHMgYW5kIGJ1ZmZlcnMuCgkgIFRoaXMgY29tbWl0IHNvbHZlIHRoaXMgYnkgcGVyZm9ybWluZyB0aGUgZmx1c2ggbG9naWMgaW4gZXJyb3IgY2FzZSwgaWUKCSAgZmx1c2hpbmcgdGhlIGFsbG9jYXRvciBhbmQgcmVzdG9yaW5nIHF1ZXVlZCBidWZmZXIgc3RhdGUgdG8gbm9uLXF1ZXVlZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczODEwMgoKMjAxNC0xMC0wOCAxMDozMToyMSArMDIwMCAgQXVyw6lsaWVuIFphbmVsbGkgPGF1cmVsaWVuLnphbmVsbGlAcGFycm90LmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkgIHY0bDJidWZmZXJwb29sOiBpbXBsZW1lbnQgZGlzcG9zZSBtZXRob2QKCSAgVW5yZWYgb2JqZWN0cyBpbiBkaXNwb3NlIG1ldGhvZCByYXRoZXIgdGhhbiBpbiBmaW5hbGl6ZSBpbiBvcmRlciB0bwoJICBwcmV2ZW50IGNpcmN1bGFyIHJlZmVyZW5jZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczODEwMgoKMjAxNC0xMC0wOCAxMDozNToxNCArMDIwMCAgQXVyw6lsaWVuIFphbmVsbGkgPGF1cmVsaWVuLnphbmVsbGlAcGFycm90LmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkgIHY0bDJidWZmZXJwb29sOiBjaGVjayB0aGF0IGFsbG9jYXRvciBpcyBub24gbnVsbCB3aGVuIHN0b3BwaW5nIHBvb2wKCSAgT3RoZXJ3aXNlLCB3ZSBjb3VsZCBkZXJlZmVyZW5jZSBOVUxMIGFsbG9jYXRvciB3aGVuIHRoZSBzdG9wIG1ldGhvZCBpcwoJICBjYWxsZWQgYnkgdGhlIEdzdEJ1ZmZlclBvb2wncyBmaW5hbGl6ZSBtZXRob2QuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzgxMDIKCjIwMTQtMTAtMDkgMTI6MTU6MDUgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJzaW5rLmM6CgkgIHY0bDJzaW5rOiBJbXBsZW1lbnQgdW5sb2NrL3VubG9ja19zdG9wCgkgIFRoaXMgd2lsbCBwcmV2ZW50IGRlYWRsb2NrcywgYnV0IHdpbGwgYWxzbyBwcm9wZXJseSBmbHVzaCB0aGUgcG9vbCBhbmQgYWxsb2NhdG9yCgkgIHdoZW4gZ29pbmcgdG8gUkVBRFkgc3RhdGUuIEl0IHNob3VsZCBhbHNvIGZpeCBpc3N1ZXMgcmVwb3J0ZWQgb24gbWFpbGluZyBsaXN0CgkgIHdoZW4gc2Vla2luZyBpcyBwZXJmb3JtZWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzgxNTIKCjIwMTQtMTAtMjggMjE6MzI6MDYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBleHQvcHVsc2UvcHVsc2VkZXZpY2Vwcm92aWRlci5oOgoJKiBzeXMvdjRsMi9nc3R2NGwyZGV2aWNlcHJvdmlkZXIuaDoKCSogc3lzL3Y0bDIvZ3N0djRsMnR1bmVyLmg6CgkgIHB1bHNlLCB2NGwyOiBhZGQgbWlzc2luZyBHX0VORF9ERUNMUyBpbiBzb21lIHBsYWNlcwoKMjAxNC0xMC0yNyAxNzo1NzoyMCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gODRkMDZjZCB0byA3YmIyYmNlCgoyMDE0LTEwLTI3IDExOjA4OjIwICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYWFjcGFyc2UuYzoKCSAgYWFjcGFyc2U6IEZpeCB1bml0IHRlc3Qgbm93IHRoYXQgd2UgYWx3YXlzIGhhdmUgcHJvZmlsZS9sZXZlbCBpbiB0aGUgY2FwcwoKMjAxNC0xMC0yNiAxNDo1NTo0OSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIE1ha2VmaWxlLmFtOgoJICBQYXJhbGxlbGlzZSAnbWFrZSBjaGVjay12YWxncmluZCcKCSAgU29tZSBvZiB0aGUgUlRQIHVuaXQgdGVzdHMgYXJlIHZlcnkgZmxha3kgYW5kIHdpbGwKCSAgZmFpbCBtb3JlIG9mdGVuIHdpdGggdGhlIENQVSBtYXhlZCBvdXQgZnVsbHkuIFRob3NlCgkgIHRlc3RzIG5lZWQgdG8gYmUgZml4ZWQgaW4gYW55IGNhc2UgdGhvdWdoLCB0aGV5IGFsc28KCSAgZmFpbCBvbiBzbG93ZXIgbWFjaGluZXMgYW5kIGFsc28gb2NjYXNpb25hbGx5IHdpdGgKCSAgbm9ybWFsICdtYWtlIGNoZWNrJy4KCjIwMTQtMTAtMjYgMTE6NDc6MjUgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFhY3BhcnNlLmM6CgkgIGFhY3BhcnNlOiBBbHdheXMgc2V0IHByb2ZpbGUvbGV2ZWwgb24gdGhlIGNhcHMKCSAgV2UgaGF2ZSB0aGUgaW5mb3JtYXRpb24gYWxyZWFkeSwgc28gd2h5IG5vdCB1c2UgaXQ/CgoyMDE0LTEwLTI1IDEyOjM2OjAyICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIHJ0cGppdHRlcmJ1ZmZlcjogZml4IGNyYXNoIG9uIHNvbWUgMzItYml0IHN5c3RlbXMKCSAgTWFrZSBzdXJlIHRvIHBhc3MgcmlnaHQgbnVtYmVyIG9mIGJpdHMgdG8gZ3N0X3N0cnVjdHVyZV9uZXcoKQoJICB3aGljaCBpcyBhIHZhcmFyZyBmdW5jdGlvbi4KCSAgRml4ZXMgZWxlbWVudHMvcnRwYXV4IHVuaXQgdGVzdCBvbiBwcGMzMi4KCjIwMTQtMTAtMjUgMDA6NTY6MDIgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9yZ3ZvbHVtZS5jOgoJICB0ZXN0czogZml4IHJndm9sdW1lIHRlc3Qgb24gYmlnLWVuZGlhbiBzeXN0ZW1zCgoyMDE0LTEwLTI1IDAwOjUzOjM5ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL211bGF3ZGVjLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL211bGF3ZW5jLmM6CgkgIHRlc3RzOiBmaXggbXVsYXdkZWMvbXVsYXdlbmMgdGVzdCBmb3IgYmlnIGVuZGlhbiBzeXN0ZW1zCgoyMDE0LTEwLTI0IDIzOjQ4OjMwICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2ludGVybGVhdmUvaW50ZXJsZWF2ZS5jOgoJICBpbnRlcmxlYXZlOiBpbnRlcnNlY3QgcmVzdWx0IHdpdGggZmlsdGVyIGNhcHMgaW4gY2FwcyBxdWVyeQoJICBGaXhlcyBjcmFzaCBpbiBhdWRpb3Rlc3RzcmMgYmVjYXVzZSBvZiBhbiB1bnN1cHBvcnRlZCBmb3JtYXQKCSAgZ2V0dGluZyBuZWdvdGlhdGVkIG9uIGJpZy1lbmRpYW4gc3lzdGVtcyB3aXRoCgkgIGF1ZGlvdGVzdHNyYyAhIGludGVybGVhdmUgISBhdWRpb2NvbnZlcnQgISB3YXZlbmMKCjIwMTQtMTAtMjMgMTU6NDY6MTMgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBleHQvcHVsc2UvcHVsc2VkZXZpY2Vwcm92aWRlci5jOgoJKiBleHQvcHVsc2UvcHVsc2VkZXZpY2Vwcm92aWRlci5oOgoJICBwdWxzZTogcmVtb3ZlIHNvbWUgdW51c2VkIHR5cGVkZWZzCgoyMDE0LTEwLTIyIDE1OjI4OjQ0ICswMjAwICBBbmFuZGEgPGFuYW5kYUBsYXRlbGllcjIzLmNvbT4KCgkqIGV4dC9zcGVleC9nc3RzcGVleGRlYy5jOgoJKiBleHQvc3BlZXgvZ3N0c3BlZXhlbmMuYzoKCSAgc3BlZXg6IEZpeCBzZWdmYXVsdCB3aGVuIHJlc2V0dGluZyB0aGUgY29kZWNzIG11bHRpcGxlIHRpbWVzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mzg3OTMKCjIwMTQtMTAtMjIgMjI6NTA6NTQgKzA1MzAgIEFydW4gUmFnaGF2YW4gPGFydW5AYWNjb3N0ZWQubmV0PgoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJICBwdWxzZXNpbms6IFRlbXBvcmFyaWx5IGRpc2FibGUgc3RyZWFtIHN0YXR1cyBwb3N0aW5nCgkgIFdlIG5lZWQgYSBtZWNoYW5pc20gaW4gUHVsc2VBdWRpbyB0byBhbGxvdyBydW5uaW5nIGNvZGUgb3V0c2lkZSB0aGUKCSAgbWFpbmxvb3AgbG9jay4gVGhlbiB3ZSdkIGJlIGFibGUgdG8gcG9zdCB0byB0aGUgYnVzICh0YWtpbmcgdGhlCgkgIEdTVF9PQkpFQ1RfTE9DSyksIHdpdGhvdXQgd29ycnlpbmcgYWJvdXQgbG9ja2luZyBvcmRlciB3aXRoIHRoZSBtYWlubG9vcAoJICBsb2NrLCB3aGljaCBpcyB0aGUgY3VycmVudCBjYXVzZSBvZiBkZWFkbG9ja3Mgd2hpbGUgdHJ5aW5nIHRvIHBvc3QgdGhlCgkgIHN0cmVhbSBzdGF0dXMgbWVzc2FnZXMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzYwNzEKCjIwMTQtMTAtMjIgMTU6MDQ6MjQgKzAyMDAgIFdpbSBUYXltYW5zIDx3dGF5bWFuc0ByZWRoYXQuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIHJ0cGppdHRlcmJ1ZmZlcjogbGltaXQgdGhlIHJldHJ5IGZyZXF1ZW5jeQoJICBXaGVuIHRoZSBSVFQgYW5kIGppdHRlciBhcmUgdmVyeSBsb3cgKHN1Y2ggYXMgb24gYSBsb2NhbCBuZXR3b3JrKSwgdGhlCgkgIGNhbGN1bGF0ZWQgcmV0cmFuc21pc3Npb24gdGltZW91dCBpcyB2ZXJ5IHNtYWxsLiBTZXQgc29tZSBzZW5zaWJsZSBsb3dlcgoJICBib3VuZGFyeSB0byB0aGUgdGltZW91dCBieSBhZGRpbmcgYSBuZXcgcHJvcGVydHkuIFdlIHVzZSB0aGUgcGFja2V0CgkgIHNwYWNpbmcgYXMgYSBsb3dlciBib3VuZGFyeSBieSBkZWZhdWx0LgoKMjAxNC0xMC0yMiAxMzo0MDo1OCArMDIwMCAgTWlndWVsIFBhcsOtcyBEw61heiA8bXBhcmlzZGlhekBnbWFpbC5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgZ3N0cnRwaml0dGVyYnVmZmVyOiBhZGQgInJ0eC1taW4tZGVsYXkiIHByb3BlcnR5CgkgIFRoaXMgcHJvcGVydHkgaXMgdXNlZnVsIHRvIHNldCBhIG1pbiB0aW1lIHRvIHdhaXQgYmVmb3JlIHNlbmRpbmcgYQoJICByZXRyYW5zbWlzc2lvbiBldmVudC4KCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNTM3OAoKMjAxNC0xMC0yMiAxMzoyOTo0OCArMDIwMCAgV2ltIFRheW1hbnMgPHd0YXltYW5zQHJlZGhhdC5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgaml0dGVyYnVmZmVyOiBSZWZhY3RvciBjb2RlCgkgIFJlZmFjdG9yIHNvbWUgY29kZSBkZWFsaW5nIHdpdGggY2FsY3VsYXRpbmcgdmFyaW91cyB0aW1lb3V0cy4KCSAgU2VlIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzUzNzgKCjIwMTQtMTAtMTAgMTk6NTA6MDYgKzAyMDAgIE1pZ3VlbCBQYXLDrXMgRMOtYXogPG1wYXJpc2RpYXpAZ21haWwuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmg6CgkgIHJ0cHNlc3Npb246IGZpeCBFYXJseSBGZWVkYmFjayBUcmFuc21pc3Npb24KCSAgSW4gZWFybHkgcmV0cmFuc21pc3Npb24gd2UgYXJlIGFsbG93ZWQgdG8gc2NoZWR1bGUgMSByZWd1bGFyIFJUQ1AgcGFja2V0CgkgIGF0IGFuIGVhcmxpZXIgdGltZS4gV2hlbiB3ZSBkbyB0aGF0LCB3ZSBuZWVkIHRvIHNldCBhbGxvd19lYXJseSB0byBGQUxTRQoJICBhbmQgaWdub3JlL2Ryb3AgKG9yIG1lcmdlKSBhbGwgZnV0dXJlIHJlcXVlc3RzIGZvciBlYXJseSB0cmFuc21pc3Npb24uCgkgIFdlIG5vdyBmaXJzdCBjaGVjayBpZiB3ZSBjYW4gc2NoZWR1bGUgYW4gZWFybHkgUlRDUCBhbmQgaWYgd2UgY2FuLAoJICBhY3R1YWxseSBwcmVwYXJlIHRoZSBkYXRhIGZvciB0aGUgbmV4dCBSVENQIGludGVydmFsLgoJICBBZnRlciB3ZSBzZW5kIHRoZSBuZXh0IHJlZ3VsYXIgUlRDUCBhZnRlciB0aGUgZWFybHkgUlRDUCwgd2Ugc2V0CgkgIGFsbG93X2Vhcmx5IHRvIFRSVUUgYWdhaW4gdG8gYWxsb3cgbW9yZSBlYXJseSByZXF1ZXN0cy4KCSAgUmVtb3ZlIHRoZSBjb25kaXRpb24gZm9yIHRoZSBpbW1lZGlhdGUgZmVlZGJhY2sgZm9yIG5vdy4KCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczODMxOQoKMjAxNC0xMC0yMSAxMzowMTozMiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gYThjODkzOSB0byA4NGQwNmNkCgoyMDE0LTEwLTIxIDEzOjEwOjI0ICswMjAwICBXaW0gVGF5bWFucyA8d3RheW1hbnNAcmVkaGF0LmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBydHBqaXR0ZXJidWZmZXI6IG1ha2UgZGVidWcgbGluZSBsZXNzIGNvbmZ1c2luZwoKMjAxNC0xMC0yMSAxMjo1ODoxMyArMDIwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIFJFQURNRToKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSAzNjM4OGExIHRvIGE4Yzg5MzkKCjIwMTQtMDctMDIgMTc6NTA6MzUgKzAyMDAgIFdpbSBUYXltYW5zIDx3dGF5bWFuc0ByZWRoYXQuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwaml0dGVyYnVmZmVyLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cGppdHRlcmJ1ZmZlci5oOgoJICBqaXR0ZXJidWZmZXI6IHJld29yayByZXN5bmMgaGFuZGxpbmcKCSAgQWRkIGEgbmVlZC1yZXN5bmMgc3RhdGUsIHRoaXMgaXMgd2hlbiB3ZSBuZWVkIHRvIHRyeSB0byBsb2NrIG9uIHRvIGEKCSAgdGltZS9SVFB0aW1lIHBhaXIuCgkgIEFsd2F5cyBjaGVjayB0aGUgUlRQIHRpbWVzdGFtcHMgYW5kIGlmIHRoZXkgZ28gYmFja3dhcmRzLCBtYXJrIG91cnNlbHZlcwoJICBhcyBuZWVkLXJlc3luYy4KCSAgT25seSByZXN5bmMgd2hlbiBuZWVkLXJlc3luYyBpcyBUUlVFIGFuZCB3ZSBoYXZlIGEgdmFsaWQgdGltZS4gT3RoZXJ3aXNlCgkgIHdlIGtlZXAgdGhlIG9sZCB2YWx1ZXMuIFRoaXMgYXZvaWRzIGxvY2tpbmcgb24gdG8gYW4gaW52YWxpZCB0aW1lIGFuZAoJICBjYXVzaW5nIHVzIHRvIHRpbWVzdGFtcCBldmVyeXRoaW5nIHdpdGggLTEuCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzA0MTcKCjIwMTQtMTAtMDMgMTc6Mjg6MDYgLTA3MDAgIEFsZWl4IENvbmNoaWxsbyBGbGFxdcOpIDxhbGVpeEBvYmxvbmcuY29tPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBzZXQgZnVsbCBzdHJlYW0gY2FwcyBvbiBpbnRlcm5hbCBzcmMgVENQIHBhZHMKCSAgU2V0IHRoZSBjb21wbGV0ZSBzdHJlYW0gY2FwcyBvbiB0aGUgVENQIGludGVybmFsIHNyYyBwYWRzLiBPdGhlcndpc2UsCgkgIHB0ZGVtdXggd2lsbCBub3QgcHJvcGVybHkgZGV0ZWN0IHRoZSBjYXBzIGNoYW5nZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNzg2OAoKMjAxNC0xMC0xNyAyMjoyMzoyNyArMDIwMCAgU2pvZXJkIFNpbW9ucyA8c2pvZXJkQGx1b24ubmV0PgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwbXV4LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cG11eC5jOgoJICBydHBtdXg6IERvbid0IHNldCBQUk9YWV9DQVBTIGZsYWcgb24gdGhlIHNyYyBwYWQKCSAgcnRwbXV4IGJlaGF2ZXMgbGlrZSBhIGZ1bm5lbCBpbiB0aGF0IGl0IGZvcndhcmRzIHdoYXRldmVyIHVwc3RyZWFtIGlzCgkgIHNlbmRpbmcgYnVmZmVycy4gU28gc2V0dGluZyBwcm94eSBjYXBzIGRvZXNuJ3QgbWFrZSBzZW5zZSBhcyB0aGUKCSAgdXBzdHJlYW0gZG9uJ3QgaGF2ZSB0byBoYXZlIGNvbXBhdGlibGUgY2FwcywgdGh1cyByZXN1bHRpbmcgaW4gYW4gZW1wdHkKCSAgY2FwcyBzZXQgYXMgYSByZXN1bHQgb2YgYSBjYXBzIHF1ZXJ5LiBJbnN0ZWFkIHNldCBmaXhlZCBjYXBzIGp1c3QKCSAgYXMgZnVubmVsIGRvZXMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mzg3MjIKCjIwMTQtMTAtMjAgMTE6NTc6MzggKzA1MzAgIFZpbmVldGggVCBNIDx2aW5lZXRoLnRtQHNhbXN1bmcuY29tPgoKCSogZ3N0L3ZpZGVvYm94L2dzdHZpZGVvYm94LmM6CgkgIHZpZGVvYm94OiBjcml0aWNhbCBlcnJvciB3aGVuIGVsZW1lbnQgcHJvcGVydGllcyBzZXQgYXMgbWF4L21pbgoJICBsZWZ0LCByaWdodCwgdG9wLCBib3R0b20gY2FuIGJlIHNldCBmcm9tIHJhbmdlIG9mIC0yMTQ3NDgzNjQ4IHRvIDIxNDc0ODM2NDcKCSAgd2hlbiBpIGxhdW5jaCB0aGUgdmlkZW9ib3ggZWxlbWVudCB3aXRoIHRoYXQgdmFsdWVzLCBpdCBnaXZlcyBhIGNyaXRpY2FsIGVycm9yCgkgIChnc3QtY2hlY2stMS4wOjI5ODY5KTogR1N0cmVhbWVyLUNSSVRJQ0FMICoqOiBnc3RfdmFsdWVfc2V0X2ludF9yYW5nZV9zdGVwOiBhc3NlcnRpb24gJ3N0YXJ0IDwgZW5kJyBmYWlsZWQKCSAgVGhpcyBoYXBwZW5zIGJlY2F1c2UgbWluIGNhbm5vdCBiZSBlcXVhbCB0byBtYXguCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mzg4MzgKCjIwMTQtMTAtMTUgMTc6NDU6MjQgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwL01ha2VmaWxlLmFtOgoJKiBnc3QvcnRwL2dzdHJ0cC5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjVkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjVkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjY1cGF5Lmg6CgkgIFJldmVydCAicnRwOiBhZGQgaDI2NSBSVFAgcGF5bG9hZGVyICsgZGVwYXlsb2FkZXIiCgkgIFRoaXMgcmV2ZXJ0cyBjb21taXQgZDA2YmE5MDUxZjkwNGE3ZWI0ODJjMDdhOTdhMTgyNzE2OTE1ODY2My4KCSAgVGhpcyBicmVha3MgdGhlIGJ1aWxkLCBhcyBpdCBkZXBlbmRzIG9uIHBhcnNlciBBUEkgaW4gLWJhZC4KCjIwMTQtMTAtMTUgMTc6MzQ6NTAgKzAyMDAgIEp1cmdlbiBTbG93YWNrIDxqdXJnZW4uc2xvd2Fja0BiYXJjby5jb20+CgoJKiBnc3QvcnRwL01ha2VmaWxlLmFtOgoJKiBnc3QvcnRwL2dzdHJ0cC5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjVkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjVkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjY1cGF5Lmg6CgkgIHJ0cDogYWRkIGgyNjUgUlRQIHBheWxvYWRlciArIGRlcGF5bG9hZGVyCgoyMDE0LTEwLTA1IDIxOjI0OjI3ICswMjAwICBQZXRlciBHLiBCYXVtIDxwZXRlckBkci1iYXVtLm5ldD4KCgkqIGdzdC93YXZlbmMvZ3N0d2F2ZW5jLmM6CgkqIGdzdC93YXZlbmMvZ3N0d2F2ZW5jLmg6CgkgIHdhdmVuYzogU3VwcG9ydCBSRjY0IGZvcm1hdAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI1MTQ1CgoyMDE0LTEwLTExIDExOjE4OjQyICsxMTAwICBEYXZpZCBTYW5zb21lIDxtZUBkYXZpZHNhbnNvbWUuY29tPgoKCSogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIuYzoKCSAgZXF1YWxpemVyOiBEb24ndCBjYWxsIGlpcmVxdWFsaXplcidzIHRyYW5zZm9ybV9pcCBpbiBwYXNzdGhyb3VnaCBtb2RlCgkgIEl0IHRyaWVzIHRvIG1hcCB0aGUgcmVhZC1vbmx5IGJ1ZmZlciB3aXRoIEdTVF9NQVBfUkVBRFdSSVRFIGFuZCBjcmFzaGVzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM3ODg2CgoyMDE0LTEwLTEwIDE4OjMwOjA3IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBvY3JldGUuY2E+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmg6CgkgIHJ0cHNvdXJjZTogUmVuYW1lIHNlcW51bS1iYXNlIHRvIHNlcW51bS1vZmZzZXQgaW4gY2FwcwoJICBUaGlzIHdhcyBtb2RpZmllZCBiYWNrIGluIDEuMCBpbiBHc3RSdHBCYXNlUGF5bG9hZAoKMjAxNC0xMC0xMCAxODoxMToxOSAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAb2NyZXRlLmNhPgoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZnNyYy5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9kdG1mLmM6CgkgIHJ0cGR0bWZzcmM6IGNsb2NrLWJhc2UgYW5kIHNlcW51bS1iYXNlIC0+IHRpbWVzdGFtcC1vZmZzZXQgYW5kIHNlcW51bS1vZmZzZXQKCSAgVGhlc2Ugd2VyZSByZW5hbWVkIGluIEdzdFJUUEJhc2VQYXlsb2FkIGluIDEuMAoKMjAxNC0xMC0xMCAxNzozMDoyNCAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAb2NyZXRlLmNhPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwbXV4LmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cG11eC5oOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHBtdXguYzoKCSAgcnRwbXV4OiBjbG9jay1iYXNlIGFuZCBzZXFudW0tYmFzZSAtPiB0aW1lc3RhbXAtb2Zmc2V0IGFuZCBzZXFudW0tb2Zmc2V0CgkgIFRoZXNlIHdlcmUgcmVuYW1lZCBpbiBHc3RSVFBCYXNlUGF5bG9hZCBpbiAxLjAKCjIwMTQtMTAtMDYgMTQ6MjM6MjIgKzAxMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXMuYmdAc2Ftc3VuZy5jb20+CgoJKiBnc3QvZ29vbTJrMS9maWx0ZXJzLmM6CgkgIGdvb20yazE6IHJlbW92aW5nIGJsb2NrIG9mIGNvZGUgdGhhdCBkb2VzIG5vdGhpbmcKCSAgVGhlIGxvb3AgaW4gem9vbUZpbHRlclNldFJlc29sdXRpb24gaXMgbWVhbnQgdG8gY2hhbmdlIHRoZSB2YWx1ZXMgaW4gdGhlCgkgIHpmLT5maXJlZGVjW10gYXJyYXkuIEVhY2ggaXRlcmF0aW9uIHdyaXRlcyB0aGUgdmFsdWUgb2YgZGVjYyBvbnRvIHRoZSBhcnJ5YSwKCSAgYnV0IG5vIGNvbmRpdGlvbnMgdGhhdCBjaGFuZ2UgdGhlIHZhbHVlIG9mIGRlY2MgYXJlIGV2ZXIgbWV0IGFuZCB0aGUgYXJyYXkgaXMKCSAgZmlsbGVkIHdpdGggemVybyBmb3IgZWFjaCBlbGVtZW50LiBXaGljaCBpcyB0aGUgaW5pdGlhbCBzdGF0ZSBvZiB0aGUKCSAgYXJyYXkgYmVmb3JlIHRoZSBsb29wIGJlZ2lucy4KCSAgVGhlIGxvb3AgZG9lcyBub3RoaW5nLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI4MzUzCgoyMDE0LTEwLTA0IDE3OjE3OjEzICswMjAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwaml0dGVyYnVmZmVyLmM6CgkgIHJ0cGppdHRlcmJ1ZmZlcjogZG9uJ3QgbG9nIGFsbCBjbG9ja19yYXRlIGNoYW5nZXMgYXMgd2FybmluZ3MuCgkgIFdlIG5ldmVyIGluaXRpYWxpemUgY2xvY2tfcmF0ZSBleHBsaWNpdGx5LCB0aGVyZWZvcmUgaXQgaXMgMCBieSBkZWZhdWx0LiBUaGUKCSAgcGFyYW1ldGVyIGlzIGEgdWludDMyIGFuZCB0aGUgb25seSBjYWxsZXIgZW5zdXJlIHRoYXQgaXQgaXMgPjAsIHRoZXJlZm9yZSBpdAoJICB3b24ndCBiZWNvbWUgLTEgZXZlci4KCjIwMTQtMTAtMDIgMTQ6MjY6MDggKzA1MzAgIE5pcmJoZWVrIENoYXVoYW4gPG5pcmJoZWVrQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwY2xpZW50c2luay5jOgoJICBzb3VwaHR0cGNsaWVudHNpbms6IEZpeCBsaWZldGltZSBvZiBzdHJlYW0gaGVhZGVycyBhbmQgcXVldWVkIGJ1ZmZlcnMKCSAgU3RyZWFtIGhlYWRlcnMgYXJlIHVwZGF0ZWQgd2hlbmV2ZXIgOjpzZXRfY2FwcyBpcyBjYWxsZWQsIHNvIHdlIGNhbid0IGFzc3VtZQoJICB0aGV5J2xsIGJlIHZhbGlkIGJlZm9yZSB0aGUgbWVzc2FnZSBib2R5IGlzIHdyaXR0ZW4gb3V0LiBXZSAqY2FuKiBhc3N1bWUgdGhhdAoJICBmb3IgcXVldWVkIGJ1ZmZlcnMsIGJ1dCBTT1VQX01FTU9SWV9TVEFUSUMgaXMgc3RpbGwgd3JvbmcgZm9yIHRob3NlLgoJICBBbHNvLCBhZGQgc29tZSBkZWJ1ZyBsb2dnaW5nIGZvciBzdHJlYW0gaGVhZGVyIGludGVyYWN0aW9ucy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNzc3MQoKMjAxNC0xMC0wMiAwMzoyNjoyMiArMDIwMCAgTWF0ZWogS25vcHAgPG1hdGVqLmtub3BwQGdtYWlsLmNvbT4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWFjcGFyc2UuYzoKCSAgYWFjcGFyc2U6IGZpeCBtZW1vcnkgbGVhayB3aGVuIHByZXBlbmRpbmcgQURUUyBoZWFkZXJzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mzc3NjEKCjIwMTQtMDktMjMgMTA6NDg6MDkgKzAyMDAgIEFudG9uaW8gT3NwaXRlIDxhbzJAYW8yLml0PgoKCSogZ3N0L2ludGVybGVhdmUvaW50ZXJsZWF2ZS5jOgoJKiBnc3QvaW50ZXJsZWF2ZS9pbnRlcmxlYXZlLmg6CgkgIGludGVybGVhdmU6IGludGVybGVhdmUgc2FtcGxlcyBmb2xsb3dpbmcgdGhlIERlZmF1bHQgQ2hhbm5lbCBPcmRlcmluZwoJICBJbiBvcmRlciB0byBoYXZlIGEgZnVsbCBtYXBwaW5nIGJldHdlZW4gY2hhbm5lbCBwb3NpdGlvbnMgaW4gdGhlIGF1ZGlvCgkgIHN0cmVhbSBhbmQgbG91ZHNwZWFrZXIgcG9zaXRpb25zLCB0aGUgY2hhbm5lbC1tYXNrIGFsb25lIGlzIG5vdCBlbm91Z2g6CgkgIHRoZSBjaGFubmVscyBtdXN0IGJlIGludGVybGVhdmVkIGZvbGxvd2luZyBzb21lIERlZmF1bHQgQ2hhbm5lbCBPcmRlcmluZwoJICBhcyBtZW50aW9uZWQgaW4gdGhlIFdBVkVGT1JNQVRFWFRFTlNJQkxFWzFdIHNwZWNpZmljYXRpb24uCgkgIEFzIGEgRGVmYXVsdCBDaGFubmVsIE9yZGVyaW5nIHVzZSB0aGUgb25lIGltcGxpZWQgYnkKCSAgR3N0QXVkaW9DaGFubmVsUG9zaXRpb24gd2hpY2ggZm9sbG93cyB0aGUgb3JkZXJpbmcgZGVmaW5lZCBpbiBTTVBURQoJICAyMDM2LTItMjAwOFsyXS4KCSAgTk9URSB0aGF0IHRoZSByZWxhdGl2ZSBvcmRlciBpbiB0aGUgVG9wIExheWVyIGlzIG5vdCBleGFjdGx5IHRoZSBzYW1lIGFzCgkgIHRoZSBvbmUgZnJvbSB0aGUgV0FWRUZPUk1BVEVYVEVOU0lCTEVbMV0gc3BlY2lmaWNhdGlvbjsgbGV0J3MgaG9wZSB1c2VycwoJICB1c2luZyBzbyBtYXkgY2hhbm5lbHMgYXJlIGFscmVhZHkgYXdhcmUgb2Ygc3VjaCBkaXNjcmVwYW5jaWVzLgoJICBbMV0gaHR0cDovL21zZG4ubWljcm9zb2Z0LmNvbS9lbi11cy9saWJyYXJ5L3dpbmRvd3MvaGFyZHdhcmUvZG42NTMzMDglMjh2PXZzLjg1JTI5LmFzcHgKCSAgWzJdIGh0dHA6Ly93d3cuaXR1LmludC9kbXNfcHViL2l0dS1yL29wYi9yZXAvUi1SRVAtQlMuMjE1OS0yLTIwMTEtUERGLUUucGRmCgkgIEZpeGVzOiBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM3MTI3CgoyMDE0LTEwLTAyIDEwOjEwOjExICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3dhdmVuYy9nc3R3YXZlbmMuYzoKCSAgd2F2ZW5jOiBTZW5kIENBUFMgZXZlbnQgYWZ0ZXIgdGhlIHBhZCB3YXMgYWN0aXZhdGVkCgkgIE90aGVyd2lzZSB0aGUgQ0FQUyBldmVudCB3aWxsIGJlIGRyb3BwZWQgYW5kIHdlIG5ldmVyIGNvbmZpZ3VyZSBhbnkgY2FwcyBhdAoJICBhbGwsIGxlYWRpbmcgdG8gd2VpcmQgYmVoYXZpb3VyIGluIG1hbnkgc2l0dWF0aW9ucy4gRXNwZWNpYWxseSBoZWFkZXIKCSAgcmV3cml0aW5nIGlzIG5vdCBnb2luZyB0byB3b3JrIGlmIGEgY2Fwc2ZpbHRlciBpcyBhZnRlciB3YXZlbmMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mzc3MzUKCjIwMTQtMTAtMDEgMjM6MTI6MzAgKzA1MzAgIE5pcmJoZWVrIENoYXVoYW4gPG5pcmJoZWVrQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwY2xpZW50c2luay5jOgoJICBzb3VwaHR0cGNsaWVudHNpbms6IEFkZCBzb21lIG1vcmUgdXNlZnVsIGRlYnVnIGxvZ2dpbmcKCjIwMTQtMTAtMDEgMjM6MDU6MDMgKzA1MzAgIE5pcmJoZWVrIENoYXVoYW4gPG5pcmJoZWVrQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwY2xpZW50c2luay5jOgoJICBzb3VwaHR0cGNsaWVudHNpbms6IEZyZWUgcXVldWVkIGJ1ZmZlcnMgaW4gOjpyZXNldAoJICA6OnJlbmRlciBzZXRzIGEgbmV3IGNhbGxiYWNrIGZvciB3cml0aW5nIG91dCBuZXcgYnVmZmVycyBvbmx5IGlmIHRoZXJlIGFyZW4ndAoJICBhbHJlYWR5IGJ1ZmZlcnMgcXVldWVkIGZvciB3cml0aW5nIHdpdGggYSBwcmV2aW91c2x5LXNjaGVkdWxlZCBjYWxsYmFjay4KCSAgSG93ZXZlciwgaWYgdGhlIHByZXZpb3VzbHktc2NoZWR1bGVkIGNhbGxiYWNrIGlzIGludGVycnVwdGVkIGJ5IGEgc3RhdGUgY2hhbmdlCgkgIChlaXRoZXIgbWFudWFsbHkgb3IgZHVlIHRvIGFuIGVycm9yKSBhbmQgdGhlcmUgYXJlIHN0aWxsIGJ1ZmZlcnMgaW4gdGhlIHF1ZXVlLAoJICByZXN0YXJ0aW5nIHRoZSBwaXBlbGluZSB3aWxsIHJlc3VsdCBpbiBidWZmZXJzIGJlaW5nIHF1ZXVlZCBmb3JldmVyLCBhbmQgbm8KCSAgY2FsbGJhY2tzIHdpbGwgZXZlciBiZSBzY2hlZHVsZWQsIGFuZCBubyBidWZmZXJzIHdpbGwgYmUgd3JpdHRlbiBvdXQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mzc3MzkKCjIwMTQtMTAtMDEgMTc6Mjk6MjkgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyMi5jOgoJICB2aWRlb21peGVyOiBBY3R1YWxseSB1c2UgdGhlIGNvcnJlY3QgR3N0VmlkZW9JbmZvIGZvciBjb252ZXJzaW9uCgoyMDE0LTEwLTAxIDE3OjI0OjU5ICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlcjIuYzoKCSAgdmlkZW9taXhlcjogUmV2ZXJ0IHRoZSBsYXN0IGNvbW1pdCBhbmQgaGFuZGxlIHJlc29sdXRpb25zIGRpZmZlcmVuY2VzIHByb3Blcmx5CgkgIFRoaXMgaXMgYWJvdXQgY29udmVydGluZyB0aGUgZm9ybWF0LCBub3QgYWJvdXQgY29udmVydGluZyBhbnkgd2lkdGhzIGFuZAoJICBoZWlnaHRzLiBTdWJjbGFzc2VzIGFyZSBleHBlY3RlZCB0byBoYW5kbGVyIGRpZmZlcmVudCByZXNvbHV0aW9ucyB0aGVtc2VsdmVzLAoJICBsaWtlIHRoZSB2aWRlb21peGVycyBhbHJlYWR5IGRvIHByb3Blcmx5LgoKMjAxNC0xMC0wMSAxNzoxMjo1OSArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIyLmM6CgkgIHZpZGVvbWl4ZXI6IEdzdFZpZGVvQ29udmVydGVyIGN1cnJlbnRseSBjYW4ndCByZXNjYWxlIGFuZCB3aWxsIGFzc2VydAoJICBMZWFkcyB0byB1Z2x5IGFzc2VydGlvbnMgaW5zdGVhZCBvZiBwcm9wZXJseSBlcnJvcmluZyBvdXQ6CgkgIENSSVRJQ0FMICoqOiBnc3RfdmlkZW9fY29udmVydGVyX25ldzogYXNzZXJ0aW9uICdpbl9pbmZvLT53aWR0aCA9PSBvdXRfaW5mby0+d2lkdGgnIGZhaWxlZAoKMjAxNC0wOS0zMCAxMTozNToxMiArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC92cHgvZ3N0dnA4ZW5jLmM6CgkqIGV4dC92cHgvZ3N0dnA5ZW5jLmM6CgkgIHZwOGVuYy92cDllbmM6IFByb3RlY3QgdGhlIGVuY29kZXIgd2l0aCBhIG11dGV4IGluIGFsbCBzaXR1YXRpb25zCgoyMDE0LTA5LTMwIDExOjMxOjQzICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3ZweC9nc3R2cDllbmMuYzoKCSAgdnA5ZW5jOiBBbGxvdyBjYXBzIHJlbmVnb3RpYXRpb24KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyNjMyOQoKMjAxNC0wOS0zMCAxMToyODozOSArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC92cHgvZ3N0dnA4ZW5jLmM6CgkgIHZwOGVuYzogZmluaXNoKCkgYW5kIGRyYWluKCkgc2hvdWxkIHJldHVybiBhIEdzdEZsb3dSZXR1cm4KCjIwMTQtMDMtMTQgMTI6NTk6MDIgKzAxMDAgIEpvc2UgQW50b25pbyBTYW50b3MgQ2FkZW5hcyA8c2FudG9zY2FkZW5hc0BnbWFpbC5jb20+CgoJKiBleHQvdnB4L2dzdHZwOGVuYy5jOgoJICB2cDhlbmM6IEFsbG93IGNhcHMgcmVuZWdvdGlhdGlvbgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI2MzI5CgoyMDE0LTA5LTI5IDExOjQ5OjQ1ICswMjAwICBBdXLDqWxpZW4gWmFuZWxsaSA8YXVyZWxpZW4uemFuZWxsaUBwYXJyb3QuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICB2NGwyb2JqZWN0OiBzZXQgY29sb3JzcGFjZSBmb3Igb3V0cHV0IGRldmljZXMKCSAgV2hlbiB0aGUgdjRsMiBkZXZpY2UgaXMgYW4gb3V0cHV0IGRldmljZSwgdGhlIGFwcGxpY2F0aW9uIHNoYWxsIHNldCB0aGUKCSAgY29sb3JzcGFjZS4gU28gbWFwIEdTdHJlYW1lciBjb2xvcmltZXRyeSBpbmZvIHRvIFY0TDIgY29sb3JzcGFjZSBhbmQgc2V0CgkgIG9uIHNldF9mb3JtYXQuIEluIGNhc2Ugd2UgaGF2ZSBubyBjb2xvcmltZXRyeSBpbmZvcm1hdGlvbiwgd2UgdHJ5IHRvCgkgIGd1ZXNzIGl0IGFjY29yZGluZyB0byBwaXhlbCBmb3JtYXQgYW5kIHZpZGVvIHNpemUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mzc1NzkKCjIwMTQtMDktMjkgMjI6NDg6MTYgKzA1MzAgIEFydW4gUmFnaGF2YW4gPGFydW5AYWNjb3N0ZWQubmV0PgoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJKiBleHQvcHVsc2UvcHVsc2VzcmMuYzoKCSAgcHVsc2U6IEFkZCBzb21lIGRvY3VtZW50YXRpb24gYWJvdXQgdGhyZWFkaW5nIGFuZCBzeW5jaHJvbmlzYXRpb24KCSAgVGhpcyBnaXZlcyBhIHF1aWNrIGludHJvZHVjdGlvbiB0byBob3cgdGhlIHB1bHNlc2luay9wdWxzZXNyYyBjb2RlCgkgIGludGVyYWN0cyB3aXRoIHRoZSBwYV90aHJlYWRlZF9tYWlubG9vcCB0aGF0IHdlIHN0YXJ0IHVwIHRvIGNvbW11bmljYXRlCgkgIHdpdGggdGhlIHNlcnZlci4KCjIwMTQtMDktMjkgMjA6MTg6MDggKzA1MzAgIEFydW4gUmFnaGF2YW4gPGFydW5AYWNjb3N0ZWQubmV0PgoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJICBwdWxzZXNpbms6IE1ha2UgZW1pdHRpbmcgc3RyZWFtIHN0YXR1cyBtZXNzYWdlcyBzeW5jaHJvbm91cwoJICBUaGUgc3RyZWFtIHN0YXR1cyBtZXNzYWdlcyBhcmUgZW1pdHRlZCBpbiB0aGUgUEEgbWFpbmxvb3AgdGhyZWFkLCB3aGljaAoJICBtZWFucyB0aGUgbWFpbmxvb3AgbG9jayBpcyB0YWtlbiwgZm9sbG93ZWQgYnkgdGhlIEdzdCBvYmplY3QgbG9jayAoYnkKCSAgZ3N0X2VsZW1lbnRfcG9zdF9tZXNzYWdlKCkpLiBJbiBhbGwgb3RoZXIgbG9jYXRpb25zLCB0aGUgb3JkZXIgb2YKCSAgbG9ja2luZyBpcyByZXZlcnNlZCAodGhpcyBpcyB1bmF2b2lkYWJsZSBpbiBhIGJ1bmNoIG9mIGNhc2VzIHdoZXJlIHRoZQoJICBvYmplY3QgbG9jayBpcyB0YWtlbiBieSBHc3RCYXNlU2luayBvciBHc3RBdWRpb0Jhc2VTaW5rLCBhbmQgdGhlbiB3ZSBnZXQKCSAgY29udHJvbCB0byB0YWtlIHRoZSBtYWlubG9vcCBsb2NrKS4KCSAgVGhlIG9ubHkgd2F5IHRvIGd1YXJhbnRlZSB0aGF0IHRoZSBkZWZlciBjYWxsYmFjayBmb3Igc3RyZWFtIHN0YXR1cwoJICBtZXNzYWdlcyBkb2Vzbid0IGRlYWRsb2NrIGlzIHRvIGVpdGhlciBzdG9wIHBvc3RpbmcgdGhvc2UgbWVzc2FnZXMsIG9yCgkgIG1ha2Ugc3VyZSB0aGF0IHRoZSBtZXNzYWdlIGVtaXNzaW9uIGlzIGNvbXBsZXRlZCBiZWZvcmUgd2UgcHJvY2VlZCB0bwoJICBhbnkgcG9pbnQgdGhhdCBtaWdodCB0YWtlIHRoZSBvYmplY3QgbG9jayBiZWZvcmUgdGhlIG1haW5sb29wIGxvY2sKCSAgKHdoaWNoIGlzIHdoYXQgd2UgZG8gYWZ0ZXIgdGhpcyBwYXRjaCkuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzYwNzEKCjIwMTQtMDktMTYgMTI6MTI6NDkgKzAyMDAgIEFudG9uaW8gT3NwaXRlIDxhbzJAYW8yLml0PgoKCSogZ3N0L3dhdmVuYy9nc3R3YXZlbmMuYzoKCSAgd2F2ZW5jOiBwcmludCBjaGFubmVsIG1hc2tzIGluIGhleGFkZWNpbWFsCgoyMDE0LTA5LTI3IDE2OjAxOjIxICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmRldmljZXByb3ZpZGVyLmg6CgkgIHY0bDI6IHJlbW92ZSByZWR1bmRhbnQgc3RydWN0IGRlY2xhcmF0aW9uCgoyMDE0LTA5LTI2IDEzOjQ2OjE2ICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBGaXggY29tcGlsZXIgd2FybmluZ3MKCSAgZ3N0cnRzcHNyYy5jOjc5Mzk6MTE6IGVycm9yOiBpbXBsaWNpdCBjb252ZXJzaW9uIGZyb20gZW51bWVyYXRpb24gdHlwZSAnR3N0U0RQUmVzdWx0JyB0byBkaWZmZXJlbnQgZW51bWVyYXRpb24gdHlwZQoJICAnR3N0UlRTUFJlc3VsdCcgWy1XZXJyb3IsLVdlbnVtLWNvbnZlcnNpb25dCgkgIHJlcyA9IGdzdF9zZHBfbWVzc2FnZV9uZXcgKCZzZHApOwoJICB+IF5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CgkgIGdzdHJ0c3BzcmMuYzo3OTQ0OjExOiBlcnJvcjogaW1wbGljaXQgY29udmVyc2lvbiBmcm9tIGVudW1lcmF0aW9uIHR5cGUgJ0dzdFNEUFJlc3VsdCcgdG8gZGlmZmVyZW50IGVudW1lcmF0aW9uIHR5cGUKCSAgJ0dzdFJUU1BSZXN1bHQnIFstV2Vycm9yLC1XZW51bS1jb252ZXJzaW9uXQoJICByZXMgPSBnc3Rfc2RwX21lc3NhZ2VfcGFyc2VfdXJpICh1cmksIHNkcCk7CgkgIH4gXn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CgoyMDE0LTA5LTI1IDE1OjAxOjE0ICswMjAwICBKb25hcyBIb2xtYmVyZyA8am9uYXNoZ0BheGlzLmNvbT4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYWRlbXV4OiBtYWtlIGRlbXV4ZXIgcmV1c2FibGUKCSAgUmVtb3ZlIHBhZHMgZnJvbSBmbG93IGNvbWJpbmVyIGFuZCByZXNldCBsYXN0CgkgIGZsb3cgcmV0dXJuIHRvIEZMT1dfT0sgYnkgcmVzZXR0aW5nIHRoZSBmbG93IGNvbWJpbmVyLgoJICBUaGlzIHByZXZlbnRzIEZMT1dfRkxVU0hJTkcgd2hlbiB0cnlpbmcgdG8gcmUtdXNlIHRoZQoJICBkZW11eGVyIGFmdGVyIHNldHRpbmcgaXQgYmFjayB0byBOVUxML1JFQURZIHN0YXRlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM3MzU5CgoyMDE0LTA5LTI0IDE2OjQ2OjM2ICswMjAwICBXaW0gVGF5bWFucyA8d3RheW1hbnNAcmVkaGF0LmNvbT4KCgkqIGdzdC92aWRlb21peGVyL01ha2VmaWxlLmFtOgoJKiBnc3QvdmlkZW9taXhlci9nc3RjbXMuYzoKCSogZ3N0L3ZpZGVvbWl4ZXIvZ3N0Y21zLmg6CgkqIGdzdC92aWRlb21peGVyL3ZpZGVvY29udmVydC5jOgoJKiBnc3QvdmlkZW9taXhlci92aWRlb2NvbnZlcnQuaDoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlcjIuYzoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlcjJwYWQuaDoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlcm9yYy1kaXN0LmM6CgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXJvcmMtZGlzdC5oOgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyb3JjLm9yYzoKCSAgdmlkZW9taXhlcjogdXNlIHZpZGVvIGxpYnJhcnkgY29kZSBpbnN0ZWFkIG9mIGNvcHkKCjIwMTQtMDktMTggMTY6Mzk6MTkgKzA1MzAgIFNhbmpheSBOTSA8c2FuamF5Lm5tQHNhbXN1bmcuY29tPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RtcGVnYXVkaW9wYXJzZS5jOgoJICBhdWRpb3BhcnNlcnM6IEFkZGVkIGluZGV4IGNoZWNrIGJlZm9yZSB1c2luZyB0aGUgaW5kZXgKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNjg3OAoKMjAxNC0wOS0yMyAyMzozMzozNyArMDIwMCAgTWF0ZWogS25vcHAgPG1hdGVqLmtub3BwQGdtYWlsLmNvbT4KCgkqIGdzdC9pc29tcDQvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IERvIG5vdCBpbmZlciBEVFMgb24gYnVmZmVycyBmcm9tIHNwYXJzZSBzdHJlYW1zLgoJICBEVFMgZGVsdGEgaXMgdXNlZCB0byBjYWxjdWxhdGUgc2FtcGxlIGR1cmF0aW9uLiBJZiBidWZmZXIgaGFzIG1pc3NpbmcgRFRTLCB3ZSB0YWtlIGVpdGhlciBzZWdtZW50IHN0YXJ0IG9yIHByZXZpb3VzIGJ1ZmZlciBlbmQgdGltZSwgd2hpY2hldmVyIGlzIGxhdGVyLgoJICBUaGlzIG11c3Qgb25seSBiZSBkb25lIGZvciBub24gc3BhcnNlIHN0cmVhbXMsIHNwYXJzZSBzdHJlYW1zIGNhbiBoYXZlIGdhcHMgYmV0d2VlbiBidWZmZXJzICh3aGljaCBpcyBoYW5kbGVkIGxhdGVyIGJ5IGFkZGluZyBleHRyYSBlbXB0eSBidWZmZXIgd2l0aCBkdXJhdGlvbiB0aGF0IGZpbGxzIHRoZSBnYXApCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzcwOTUKCjIwMTQtMDktMTggMTc6MDg6MzcgKzA1MzAgIFNhbmpheSBOTSA8c2FuamF5Lm5tQHNhbXN1bmcuY29tPgoKCSogZ3N0L2dvb20vaWZzLmM6CgkgIGdvb206IENsYXJpZmllZCBwcmVjZWRlbmNlIGJldHdlZW4gJSBhbmQgPwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM2ODg3CgoyMDE0LTA5LTE4IDE3OjU5OjMxICswNTMwICBTYW5qYXkgTk0gPHNhbmpheS5ubUBzYW1zdW5nLmNvbT4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcDogY2xhcmlmeSBleHByZXNzaW9uIHNvIG9wZXJhdG9yIHByZWNlZGVuY2UgaXMgY2xlYXIKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNjkwMwoKMjAxNC0wOS0xOCAxNjowNDowMyArMDUzMCAgU2FuamF5IE5NIDxzYW5qYXkubm1Ac2Ftc3VuZy5jb20+CgoJKiBleHQvbGlicG5nL2dzdHBuZ2RlYy5jOgoJKiBnc3QvYWxwaGEvZ3N0YWxwaGEuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9keW5hbWljLmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvZnhiYXNlZmlyZmlsdGVyLmM6CgkqIGdzdC9hdWRpb2Z4L2dzdHNjYWxldGVtcG8uYzoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJKiBnc3QvYXZpL2dzdGF2aW11eC5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuYzoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwbXV4LmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHJ0eHJlY2VpdmUuYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJICBNaXNjZWxsYW5lb3VzIG1pbm9yIGNsZWFudXBzCgkgIEZpeCByZWR1bmRhbnQgdmFyaWFibGVzIGFuZCBhc3NpZ25tZW50cywKCSAgYW5kIHVucmVhY2hhYmxlIGJyZWFrcy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNjg3NQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM2ODc2CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzY4NzkKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNjg4MAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM2ODgxCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzY4ODgKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNjg5MAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM2ODkyCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzY4OTMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNjg5NAoKMjAxNC0wOS0yNCAwMDoxMjoxNCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC92aWRlb2JveC9nc3R2aWRlb2JveC5jOgoJICB2aWRlb2JveDogcmVtb3ZlIGR1cGxpY2F0ZSBhc3NpZ25tZW50cwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM2ODk3CgoyMDE0LTA5LTIzIDIyOjU1OjQ4ICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RmbGFjcGFyc2UuYzoKCSAgZmxhY3BhcnNlOiBPbmx5IGNhbGN1bGF0ZSB3aXRoIGR1cmF0aW9ucyAhPSAtMQoKMjAxNC0wOS0yMyAxOTowODo0OCArMDIwMCAgTWF0ZWogS25vcHAgPG1hdGVqLmtub3BwQGdtYWlsLmNvbT4KCgkqIGdzdC9pc29tcDQvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IGNvbGxlY3QgcGFkIGZvciBzcGFyc2Ugc3RyZWFtIHNob3VsZCBiZSBjcmVhdGVkIHdpdGggbG9jayBzZXQgdG8gZmFsc2UKCSAgQXZvaWRzIHdhaXRpbmcgZm9yIGJ1ZmZlcnMgZnJvbSBzcGFyc2Ugc3RyZWFtcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM3MDk1CgoyMDE0LTA5LTIzIDE5OjA3OjI1ICswMjAwICBNYXRlaiBLbm9wcCA8bWF0ZWoua25vcHBAZ21haWwuY29tPgoKCSogZ3N0L2lzb21wNC9nc3RxdG11eC5jOgoJICBxdG11eDogZml4IHN1YnRpdGxlIGJ1ZmZlciBkdXJhdGlvbiBhbmQgc3RyaXAgbnVsbCB0ZXJtaW5hdGlvbgoJICBTdHJpcCB0aGUgXDAgb2ZmIHRoZSBzdWJ0aXRsZSBhcyB3ZSBhbHJlYWR5IGtub3cgdGhlIHNpemUgYW5kIGFsc28gcmVtZW1iZXIKCSAgdG8gc2V0IHRoZSBkdXJhdGlvbiBhcyBidWZmZXIgY29weWluZyBkb2Vzbid0IGRvIGl0LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM3MDk1CgoyMDE0LTA5LTIzIDE5OjA2OjE4ICswMjAwICBNYXRlaiBLbm9wcCA8bWF0ZWoua25vcHBAZ21haWwuY29tPgoKCSogZ3N0L2lzb21wNC9hdG9tcy5jOgoJICBxdG11eDogbW92ZSBzdWJ0aXRsZSBsYXllciBhYm92ZSB2aWRlbyBhbmQgc2V0IGFsdGVybmF0ZSBncm91cAoJICBsYXllciAtMSBpcyBhYm92ZSB2aWRlbywgdGhhdCBpcyAwCgkgIEFuZCBoYXZpbmcgYWxsIHN1YnRpdGxlcyBpbiBhbHRlcm5hdGUgZ3JvdXAgMiBtZWFucyB0aGF0IG9ubHkgb25lCgkgIHNob3VsZCBiZSBzZWxlY3RlZCBhdCBhIHRpbWUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzcwOTUKCjIwMTQtMDktMjMgMDk6NDc6MzEgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9zb3VwaHR0cHNyYy5jOgoJICBjaGVjay9zb3VwOiBUZW1wb3JhcmlseSBkaXNhYmxlIEdfRU5BQkxFX0RJQUdOT1NUSUMKCSAgVGhlIFNPVVBfU0VSVkVSX1BPUlQgcHJvcGVydHkgaGFzIGJlZW4gZGVwcmVjYXRlZCBpbiByZWNlbnQgbGlic291cAoJICB2ZXJzaW9ucy4KCjIwMTQtMDktMjMgMDk6NDM6MDUgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9zb3VwaHR0cHNyYy5jOgoJICBjaGVjay9zb3VwOiBEZWZpbmUgbWluaW11bSB2ZXJzaW9uIHJlcXVpcmVkCgkgIFRvIGF2b2lkIGRlcHJlY2F0aW9uIHdhcm5pbmdzCgoyMDE0LTA5LTE5IDE5OjE0OjI4ICswMjAwICBNYXRlaiBLbm9wcCA8bWF0ZWoua25vcHBAZ21haWwuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IEhhbmRsZSBtcDRhIHdpdGhvdXQgRVNEUyBhdG9tCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzY5ODYKCjIwMTQtMDktMjIgMTY6MTU6MjcgKzAyMDAgIExpbnVzIFN2ZW5zc29uIDxsaW51c3NuQGF4aXMuY29tPgoKCSogc3lzL3hpbWFnZS9nc3R4aW1hZ2VzcmMuYzoKCSAgeGltYWdlc3JjOiBGaXggYnVpbGQgcHJvYmxlbSB3aXRob3V0IFhGSVhFUwoKMjAxNC0wOS0xOSAxNDozNDoxMyArMDUzMCAgU2FuamF5IE5NIDxzYW5qYXkubm1Ac2Ftc3VuZy5jb20+CgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mZGVwYXkuYzoKCSAgZHRtZjogUmVtb3ZlZCB1bnVzZWQgc3RydWN0dXJlIG1lbWJlcnMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNjg4MwoKMjAxNC0wOS0xMSAxMzo0ODo0NCAtMDMwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9Ab3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0L2lzb21wNC9hdG9tcy5jOgoJICBpc29tcDQ6IGZpeCB3cm9uZyBEQVIgY2FsY3VsYXRpb24gZm9yIFBBUiA8PSAxCgkgIENJRCAjMTIyNjQ1MgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM2Mzk2CgoyMDE0LTA5LTE4IDE2OjU5OjUyICswNTMwICBTYW5qYXkgTk0gPHNhbmpheS5ubUBzYW1zdW5nLmNvbT4KCgkqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzoKCSAgZmx2OiBSZW1vdmVkIHVucmVhY2hhYmxlIGJyZWFrIHN0YXRlbWVudHMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNjg4NAoKMjAxNC0wOS0xNyAxNjozNzoxMSArMDIwMCAgT2dueWFuIFRvbmNoZXYgPG9nbnlhbkBheGlzLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOgoJICBydHBiaW46IGRvIG5vdCBsZWFrIGVuY3NpbmsgcGFkIGluIGVycm9yIGNhc2UKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNjgwNwoKMjAxNC0wOS0xNyAxNjoyMzoyMSArMDIwMCAgT2dueWFuIFRvbmNoZXYgPG9nbnlhbkBheGlzLmNvbT4KCgkqIGdzdC9tdWx0aXBhcnQvbXVsdGlwYXJ0ZGVtdXguYzoKCSAgbXVsdGlwYXJ0ZGVtdXg6IGRvIG5vdCBsZWFrIG5ldyBzdHJlYW0gZXZlbnQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNjgwNQoKMjAxNC0wOS0xNSAwOTowODoxOCArMDUzMCAgUmF2aSBLaXJhbiBLIE4gPHJhdmkua2lyYW5Ac2Ftc3VuZy5jb20+CgoJKiBnc3QveTRtL2dzdHk0bWVuY29kZS5jOgoJKiBnc3QveTRtL2dzdHk0bWVuY29kZS5oOgoJICB5NG1lbmM6IHBvcnQgeTRtZW5jIHRvIHVzZSBHc3RWaWRlb0VuY29kZXIgYmFzZSBjbGFzcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM1MDg1CgoyMDE0LTA5LTE3IDEzOjU1OjE4ICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGNvcmVhdWRpby5jOgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4Y29yZWF1ZGlvY29tbW9uLmM6CgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hjb3JlYXVkaW9oYWwuYzoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGNvcmVhdWRpb3JlbW90ZWlvLmM6CgkgIG9zeGF1ZGlvOiBPU1N0YXR1cyBpcyBub3QgYSBmb3VyY2MsIHNvIGRvbid0IHByaW50IGl0IGFzIG9uZS4uLgoKMjAxNC0wOS0xNiAxNDoyNjowOCArMDIwMCAgT2dueWFuIFRvbmNoZXYgPG9nbnlhbkBheGlzLmNvbT4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZmxhY3BhcnNlLmM6CgkgIGZsYWNwYXJzZTogZG8gbm90IGxlYWsgdWlkIGFmdGVyIHBhcnNpbmcgVE9DIGV2ZW50CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzY3MzkKCjIwMTQtMDktMTYgMjI6NDc6MTMgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cHZyYXdkZXBheS5jOgoJICBydHB2cmF3ZGVwYXk6IERlY2xhcmUgc29tZSBtb3JlIHJlcXVpcmVkIGNhcHMgZmllbGRzIGluIHRoZSBzaW5rIHRlbXBsYXRlIGNhcHMKCSAgTm93IG9ubHkgbWlzc2luZyBhcmUgd2lkdGggYW5kIGhlaWdodCwgd2hpY2ggYXJlIGV4cHJlc3NlZCBhcyBzdHJpbmdzCgkgIGZvciBSVFAuLi4gc28gd2UgY2FuJ3QgcHV0IHRoZW0gaW50byB0aGUgdGVtcGxhdGUgY2Fwcy4KCjIwMTQtMDktMTYgMTY6NDY6MDcgKzA1MzAgIFZpbmVldGggVCBNIDx2aW5lZXRoLnRtQHNhbXN1bmcuY29tPgoKCSogZXh0L2dka19waXhidWYvZ3N0Z2RrcGl4YnVmZGVjLmM6CgkqIGV4dC9nZGtfcGl4YnVmL2dzdGdka3BpeGJ1ZmRlYy5oOgoJICBnZGtwaXhidWZkZWM6IG1vZGlmeSB3cm9uZyBwYWNrZXRpemVkIG1vZGUgbG9naWMKCSAgcGFja2V0aXplZCBtb2RlIGlzIGJlaW5nIHNldCB3aGVuIGZyYW1lcmF0ZSBpcyBiZWluZyBzZXQKCSAgd2hpY2ggaXMgbm90IGNvcnJlY3QuIENoYW5naW5nIHRoZSBzYW1lIGJ5IGNoZWNraW5nIHRoZQoJICBpbnB1dCBzZWdlbWVudCBmb3JtYXQuIElmIGlucHV0IHNlZ21lbnQgaXMgaW4gVElNRSBpdCBpcwoJICBQYWNrZXRpemVkLCBhbmQgaWYgaXQgaXMgaW4gQllURVMgaXQgaXMgbm90LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM2MjUyCgoyMDE0LTA5LTE2IDExOjI2OjIyICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2pwZWcvZ3N0anBlZ2RlYy5jOgoJICBqcGVnZGVjOiBSZW1vdmUgdW51c2VkIHZhcmlhYmxlIGFuZCB1c2UgY29ycmVjdCBkZWNvZGVyIHZhcmlhYmxlIG5hbWUKCjIwMTQtMDktMTYgMTE6MjU6NDIgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvbGlicG5nL2dzdHBuZ2RlYy5jOgoJICBwbmdkZWM6IFJlbW92ZSB1bnVzZWQgdmFyaWFibGUKCjIwMTQtMDktMTYgMTM6MjQ6MTUgKzA1MzAgIFZpbmVldGggVCBNIDx2aW5lZXRoLnRtQHNhbXN1bmcuY29tPgoKCSogZXh0L2pwZWcvZ3N0anBlZ2RlYy5jOgoJICBqcGVnZ2RlYzogbW9kaWZ5IHdyb25nIHBhY2tldGl6ZWQgbW9kZSBsb2dpYwoJICBwYWNrZXRpemVkIG1vZGUgaXMgYmVpbmcgc2V0IHdoZW4gZnJhbWVyYXRlIGlzIGJlaW5nIHNldAoJICB3aGljaCBpcyBub3QgY29ycmVjdC4gQ2hhbmdpbmcgdGhlIHNhbWUgYnkgY2hlY2tpbmcgdGhlCgkgIGlucHV0IHNlZ2VtZW50IGZvcm1hdC4gSWYgaW5wdXQgc2VnbWVudCBpcyBpbiBUSU1FIGl0IGlzCgkgIFBhY2tldGl6ZWQsIGFuZCBpZiBpdCBpcyBpbiBCWVRFUyBpdCBpcyBub3QuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzYyNTIKCjIwMTQtMDktMTYgMTM6MjM6MTYgKzA1MzAgIFZpbmVldGggVCBNIDx2aW5lZXRoLnRtQHNhbXN1bmcuY29tPgoKCSogZXh0L2xpYnBuZy9nc3RwbmdkZWMuYzoKCSAgcG5nZGVjOiBtb2RpZnkgd3JvbmcgcGFja2V0aXplZCBtb2RlIGxvZ2ljCgkgIHBhY2tldGl6ZWQgbW9kZSBpcyBiZWluZyBzZXQgd2hlbiBmcmFtZXJhdGUgaXMgYmVpbmcgc2V0CgkgIHdoaWNoIGlzIG5vdCBjb3JyZWN0LiBDaGFuZ2luZyB0aGUgc2FtZSBieSBjaGVja2luZyB0aGUKCSAgaW5wdXQgc2VnZW1lbnQgZm9ybWF0LiBJZiBpbnB1dCBzZWdtZW50IGlzIGluIFRJTUUgaXQgaXMKCSAgUGFja2V0aXplZCwgYW5kIGlmIGl0IGlzIGluIEJZVEVTIGl0IGlzIG5vdC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNjI1MgoKMjAxNC0wOS0xNSAxNDozOTo0MSArMDIwMCAgQW50b25pbyBPc3BpdGUgPGFvMkBhbzIuaXQ+CgoJKiBzeXMveGltYWdlL2dzdHhpbWFnZXNyYy5jOgoJKiBzeXMveGltYWdlL2dzdHhpbWFnZXNyYy5oOgoJKiBzeXMveGltYWdlL3hpbWFnZXV0aWwuYzoKCSogc3lzL3hpbWFnZS94aW1hZ2V1dGlsLmg6CgkgIHhpbWFnZXNyYzogUmVtb3ZlIHVudXNlZCBzY3JlZW4tbnVtIHByb3BlcnR5CgkgIFRoZSBzY3JlZW4gbnVtYmVyIGNhbiBiZSBzdGlsbCBzcGVjaWZpZWQgYXMgcGFydCBvZiB0aGUgZGlzcGxheS1uYW1lCgkgIHByb3BlcnR5IChlLmcuIGZvciBzY3JlZW4gMSBvZiBkaXNwbGF5IDAgdXNlIGRpc3BsYXktbmFtZT0iOjAuMSIpLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM2MTIyCgoyMDE0LTA5LTA0IDE2OjEwOjUxICswMjAwICBBbnRvbmlvIE9zcGl0ZSA8YW8yQGFvMi5pdD4KCgkqIHN5cy94aW1hZ2UvZ3N0eGltYWdlc3JjLmM6CgkgIHhpbWFnZXNyYzogRHJhdyB0aGUgY3Vyc29yIG9ubHkgd2hlbiBpdCBpcyBhY3RpdmUgaW4gdGhlIGNhcHR1cmluZyByZWdpb24KCSAgVXNlIFhRdWVyeVBvaW50ZXIgdG8gY2hlY2sgdGhhdCB0aGUgcG9pbnRlciBpcyBhY3R1YWxseSBhY3RpdmUgaW5zaWRlCgkgIHRoZSBjYXB0dXJpbmcgcmVnaW9uLgoJICBUaGlzIHByZXZlbnRzIGRyYXdpbmcgdGhlIGN1cnNvciB3aGVuIHRoZSBwb2ludGVyIGlzIHBhcnRpYWxseSBvdXRzaWRlCgkgIG9mIHRoZSBjYXB0dXJlZCByZWdpb24gYnV0IG5vdCBhY3RpdmUgaW5zaWRlIHRoZSByZWdpb247IGluIHBhcnRpY3VsYXIKCSAgdGhpcyBhdm9pZHMgZHJhd2luZyB0aGUgIndpbmRvdyByZXNpemUiIGN1cnNvciBzaGFwZXMgdG8gdGhlIGNhcHR1cmVkCgkgIGltYWdlIHdoZW4gdGhlIG1vdXNlIHBvaW50ZXIgY3Jvc3NlcyBhIHdpbmRvdyBib3JkZXIuCgkgIE5PVEUgdGhhdCB0aGlzIGlzIG5vdCBvbmx5IGFuIG9wdGltaXphdGlvbiwgdGhpcyBhbHNvIGhhcHBlbiB0byBmaXgKCSAgYSBzZXJpb3VzIHByb2JsZW0gaW4gbXVsdGktc2NyZWVuIHNldHVwcy4KCSAgQmVjYXVzZSBYRml4ZXMgZ2l2ZXMgbm8gaW5mb3JtYXRpb24gb2Ygd2hhdCBzY3JlZW4gdGhlIHBvaW50ZXIgaXMgb24sCgkgIHhpbWFnZXNyYyB3YXMgYWx3YXlzIGRyYXdpbmcgdGhlIGN1cnNvciBvbiB0aGUgY2FwdHVyZWQgc2NyZWVuIGV2ZW4gaWYKCSAgdGhlIG1vdXNlIHBvaW50ZXIgd2FzIG9uIGFub3RoZXIgc2NyZWVuLgoJICBGb3IgZXhhbXBsZSwgd2hlbiBjYXB0dXJpbmcgZnJvbSBzY3JlZW4gMSAoaS5lLiBkaXNwbGF5LW5hbWU9IjowLjEiKSB0aGUKCSAgY3Vyc29yIHdhcyBkcmF3biBpbiB0aGUgY2FwdHVyZWQgaW1hZ2UgZXZlbiB3aGVuIHRoZSBtb3VzZSBwb2ludGVyIHdhcwoJICBhY3R1YWxseSBvbiBzY3JlZW4gMCwgd2hpY2ggaXMgd3JvbmcgYW5kIHZpc3VhbGx5IGNvbmZ1c2luZy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5MDY0NgoKMjAxNC0wOS0wNSAxMTozMzozMSArMDIwMCAgQW50b25pbyBPc3BpdGUgPGFvMkBhbzIuaXQ+CgoJKiBzeXMveGltYWdlL2dzdHhpbWFnZXNyYy5jOgoJICB4aW1hZ2VzcmM6IEZpeCBkcmF3aW5nIHRoZSBjdXJzb3Igd2hlbiBpdCBpcyBvdXRzaWRlIHRoZSBjYXB0dXJpbmcgcmVnaW9uCgkgIFdoZW4gdGhlIGN1cnNvciBpcyBwYXJ0aWFsbHkgb3IgdG90YWxseSBvdXQgb2YgdGhlIGNhcHR1cmluZyByZWdpb24gb24KCSAgdGhlIHRvcCBzaWRlIG9yIG9uIHRoZSBsZWZ0IHNpZGUsIGl0IGdldHMgZHJhd24gZnVsbHkgaW5zaWRlIG9mIHRoZQoJICByZWdpb24gd2l0aCBpdHMgY29vcmRpbmF0ZXMgcm91bmRlZCB1cCB0byB0aGUgbGVmdCBvciB0byB0aGUgdG9wIGJvcmRlci4KCSAgVGhpcyBpcyBpbW1lZGlhdGVseSBub3RpY2VhYmxlIHdoZW4gdXNpbmcgdGhlIHhpZCBwcm9wZXJ0eSB0byBjYXB0dXJlCgkgIGEgc3BlY2lmaWMgd2luZG93LgoJICBUbyBmaXggdGhlIGlzc3VlLCBhbGxvdyBuZWdhdGl2ZSBjeCBhbmQgY3ggY29vcmRpbmF0ZXMgd2hlbiBjaGVja2luZyB0aGUKCSAgYm91bmRhcmllcyBiZWZvcmUgZHJhd2luZyB0aGUgY3Vyc29yLgoJICBOT1RFIHRoYXQgdGhlIGJvdW5kYXJpZXMgY2hlY2tpbmcgY2FsY3VsYXRpb25zIHN0aWxsIGFsbG93cyB0aGUgY3Vyc29yCgkgIHRvIGJlIGRyYXduIHdoZW4gaXQgaXMgb25seSBwYXJ0aWFsbHkgb3V0c2lkZSBvZiB0aGUgY2FwdHVyaW5nIHJlZ2lvbiwKCSAgYnV0IHRoaXMgbWFrZXMgc2Vuc2UgYW5kIGdpdmVzIGEgbW9yZSBwbGVhc2luZyB2aXN1YWwgYmVoYXZpb3VyLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjkwNjQ2CgoyMDE0LTA5LTA1IDAwOjE1OjMwICswMjAwICBBbnRvbmlvIE9zcGl0ZSA8YW8yQGFvMi5pdD4KCgkqIHN5cy94aW1hZ2UvZ3N0eGltYWdlc3JjLmM6CgkqIHN5cy94aW1hZ2UvZ3N0eGltYWdlc3JjLmg6CgkgIHhpbWFnZXNyYzogRml4IHRoZSBkZXN0aW5hdGlvbiBjb29yZGluYXRlcyBvZiB0aGUgY3Vyc29yCgkgIFhGaXhlcyBwcm92aWRlcyB0aGUgY3Vyc29yIGNvb3JkaW5hdGVzIHJlbGF0aXZlIHRvIHRoZSByb290IHdpbmRvdywgdGhpcwoJICBpcyBub3QgdGFrZW4gaW50byBhY2NvdW50IHdoZW4gdXNpbmcgdGhlIHhpZCBwcm9wZXJ0eSB0byBjYXB0dXJlCgkgIGEgc3BlY2lmaWMgd2luZG93LCB0aGUgcmVzdWx0IGlzIHRoYXQgdGhlIGN1cnNvciBnZXRzIGRyYXduIGF0IHRoZSB3cm9uZwoJICBwb3NpdGlvbi4KCSAgSW4gb3JkZXIgdG8gZml4IHRoaXMgY29uc2lkZXIgdGhlIHdpbmRvdyBsb2NhdGlvbiB3aGVuIGNhbGN1bGF0aW5nIHRoZQoJICBjdXJzb3IgcG9zaXRpb24gaW4gdGhlIGRlc3RpbmF0aW9uIGltYWdlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjkwNjQ2CgoyMDE0LTA5LTE1IDE0OjUxOjI0ICswMjAwICBQZXRlciBLb3JzZ2FhcmQgPHBldGVyQGtvcnNnYWFyZC5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYWxsb2NhdG9yLmM6CgkgIHY0bDJhbGxvY2F0b3I6IE9fQ0xPRVhFQyBuZWVkcyBfR05VX1NPVVJDRQoJICBTaW1pbGFyIHRvIDk0ZjNkNmZjIC8gYnogNzA5NDIzCgkgIE9uIHNvbWUgc3lzdGVtcyAoRS5HLiB1Q2xpYmMgYW5kIG9sZGVyIEdsaWJjIHZlcnNpb25zKSwgT19DTE9FWEVDIGlzIG9ubHkKCSAgZGVmaW5lZCB3aGVuIF9HTlVfU09VUkNFIGlzIHNwZWNpZmllZCwgc28gZG8gc28uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzY2NzAKCjIwMTQtMDktMTUgMTg6MTE6MzcgKzAyMDAgIFdpbSBUYXltYW5zIDx3dGF5bWFuc0ByZWRoYXQuY29tPgoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0Y2Fwc3NldHRlci5jOgoJICBjYXBzc2V0dGVyOiB1cGRhdGUgdG8gMS4wIHRyYW5zZm9ybV9jYXBzIHNlbWF0aWNzCgkgIEluIDEuMCwgd2UgcGFzcyB0aGUgY29tcGxldGUgY2FwcyB0byB0cmFuc2Zvcm1fY2FwcyB0byBhbGxvdyBmb3IgYmV0dGVyCgkgIG9wdGltaXphdGlvbnMuIE1ha2UgdGhpcyBmdW5jdGlvbiBhY3R1YWxseSB3b3JrIG9uIG5vbi1zaW1wbGUgY2FwcwoJICBpbnN0ZWFkIG9mIGp1c3QgaWdub3JpbmcgdGhlIGNvbmZpZ3VyZWQgZmlsdGVyIGNhcHMuCgoyMDE0LTA5LTA4IDE0OjA2OjAwICswMjAwICBQZXRlciBHLiBCYXVtIDxwZXRlckBkci1iYXVtLm5ldD4KCgkqIGdzdC93YXZlbmMvZ3N0d2F2ZW5jLmM6CgkqIGdzdC93YXZlbmMvZ3N0d2F2ZW5jLmg6CgkgIHdhdmVuYzogdXNlIFdBVkVfRk9STUFUX0VYVEVOU0lCTEUgZm9yIG1vcmUgdGhhbiAyIGNoYW5uZWxzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzM0NDQKCjIwMTQtMDktMTIgMTU6MDY6NTAgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzoKCSAgd2F2cGFyc2U6IEZpeCBwYXJzaW5nIG9mIGFkdGwgY2h1bmtzCgkgIFdlIGhhdmUgdG8gc2tpcCAxMiBieXRlcyBvZiBkYXRhIGZvciB0aGUgY2h1bmssIGFuZCB0aGUgZGF0YSBzaXplCgkgIHBhc3NlZCB0byB0aGUgc3ViLWNodW5rIHBhcnNpbmcgZnVuY3Rpb25zIHNob3VsZCBoYXZlIDQgYnl0ZXMgbGVzcwoJICB0aGFuIHRoZSBkYXRhIHNpemUuCgkgIEFsc28gd2hlbiBwYXJzaW5nIHRoZSBzdWItY2h1bmtzLCBjaGVjayBpZiB3ZSBhY3R1YWxseSBoYXZlIGVub3VnaAoJICBkYXRhIHRvIHJlYWQgaW5zdGVhZCBvZiBqdXN0IGNyYXNoaW5nLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM2MjY2CgoyMDE0LTA5LTEyIDEwOjU1OjIzICswNTMwICBTYW5qYXkgTk0gPHNhbmpheS5ubUBzYW1zdW5nLmNvbT4KCgkqIGdzdC91ZHAvZ3N0dWRwc3JjLmM6CgkgIHVkcDogaW5jbHVkZSBzdHJpbmcuaCBmb3IgbWVtY21wIGFuZCBtZW1zZXQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvL3Nob3dfYnVnLmNnaT9pZD03MzY1MjgKCjIwMTQtMDktMTIgMTM6MzY6MTggKzA1MzAgIEFudWogSmFpc3dhbCA8YW51ai5qYWlzd2FsQHNhbXN1bmcuY29tPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJICBtYXRyb3NrYW11eDogZG9uJ3QgYml0d2lzZSBPUiB0aGUgc2FtZSBmbGFnIHR3aWNlCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnLy9zaG93X2J1Zy5jZ2k/aWQ9NzM2NTQzCgoyMDE0LTA5LTEyIDEwOjM1OjM2ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thZGVtdXg6IGhhbmRsZSByZWFsIGF1ZGlvIDI4XzgKCSAgRml4ZXMgZHVwbGljYXRlIGNoZWNrIGZvciAxNF80LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy8vc2hvd19idWcuY2dpP2lkPTczNjU0MwoKMjAxNC0wOS0xMSAxNDo0NjowOSArMDUzMCAgQW51aiBKYWlzd2FsIDxhbnVqLmphaXN3YWxAc2Ftc3VuZy5jb20+CgoJKiBnc3QvbXVsdGlmaWxlL2dzdG11bHRpZmlsZXNpbmsuYzoKCSAgbXVsdGlmaWxlc2luazogZG9uJ3QgT1IgdGhlIHNhbWUgZmxhZyB0d2ljZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM2NDYyCgoyMDE0LTA5LTExIDEyOjUyOjExICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzoKCSAgc291cGh0dHBzcmM6IElmIHRoZSBzZXJ2ZXIgcmVwb3J0cyAiQWNjZXB0LVJhbmdlczogbm9uZSIgZG9uJ3QgdHJ5IHJhbmdlIHJlcXVlc3RzCgoyMDE0LTA5LTEwIDA5OjUwOjQ1ICswMjAwICBPZ255YW4gVG9uY2hldiA8b2dueWFuQGF4aXMuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMnNpbmsuYzoKCSAgdjRsMnNpbms6IFVucmVmIHBvb2wgYWZ0ZXIgdXNhZ2UKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNjM4NAoKMjAxNC0wOS0wOSAxOTowMzo1MCAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwydHJhbnNmb3JtLmM6CgkgIHY0bDJ0cmFuc2Zvcm06IERvbid0IHJhbmsgaXQgZm9yIG5vdwoJICBUaGlzIHdpbGwgcHJldmVudCB0aGUgY29udmVydGVyIHRvIGJlIHBpY2tlZCBhdXRvbWF0aWNhbGx5IGluIGNhc2UKCSAgc29tZW9uZSBpbXBsZW1lbnQgZHluYW1pYyBjb252ZXJ0ZXIgc2VsZWN0aW9uIHN1cHBvcnQuIEknZCBsaWtlIHRoaXMKCSAgdG8gYmUgcmFua2VkIG9ubHkgZm9yIGtub3duIGRldmljZSwgYXMgaXQncyBoYXJkIHRvIGJlIHN1cmUgYSBkZXZpY2UgaXMKCSAgYSBjb252ZXJ0ZXIgc3VpdGVkIGZvciBnZW5lcmFsIHB1cnBvc2UuIFJlLW5lZ290aWF0aW9uIGlzIGFsc28gbmVlZGVkCgkgIGJlZm9yZSB3ZSBjYW4gcmFuayBpdC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMzYwNwoKMjAxNC0wOS0wNSAwODoyOToyMCAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuaDoKCSAgdjRsMjogRGV0ZWN0IGJhZCBkcml2ZXJzIHRpbWVzdGFtcHMKCSAgRXZlbiB0aG91Z2ggdGhlIFVWQyBkcml2ZXIgZG8gYSBncmVhdCBkZWFsIG9mIGVmZm9ydCB0byBwcmV2ZW50IGJhZAoJICB0aW1lc3RhbXAgdG8gYmUgc2VudCB0byB1c2Vyc3BhY2UsIHRoZXJlIHN0aWxsIGV4aXN0IFVWQyBoYXJkd2FyZSB0aGF0CgkgIGFyZSBzbyBidWdneSB0aGF0IHRoZSB0aW1lc3RhbXAgZW5kdXAgbmVhcmx5IHJhbmRvbS4gVGhpcyBjb2RlIGRldGVjdAoJICBhbmQgaWdub3JlIHRpbWVzdGFtcCBmcm9tIHRoZXNlIGRyaXZlcnMsIG1ha2luZyB0aGVzZSBjYW1lcmEgdXNhYmxlLgoJICBUaGlzIGhhcyBiZWVuIHRlc3RlZCBvbiBib3RoIGludmFsaWQgYW5kIHZhbGlkIGNhbWVyYXMsIG1ha2luZyBzdXJlIGl0CgkgIGRvZXMgbm90IHRyaWdnZXIgZm9yIHZhbGlkIGNhbWVyYXMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzI5MTAKCjIwMTQtMDgtMjkgMTc6MDk6MzAgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJhbGxvY2F0b3IuYzoKCSAgdjRsMmFsbG9jYXRvcjogV29ya2Fyb3VuZCBkcml2ZXIgdGhhdCBkb24ndCBzdXBwb3J0IFJFUUJVRlMoMCkKCSAgVGhlcmUgaXMgc3RpbGwgYXJvdW5kIDE4IGRyaXZlcnMgbm90IHlldCBwb3J0ZWQgdG8gdmlkZW9idWYyLiBUaGVzZSBkcml2ZXIKCSAgZG9uJ3Qgc3VwcG9ydCBmcmVlaW5nIGJ1ZmZldHJzIHRocm91Z2ggUkVRQlVGUygwKSBoZW5jZSBmb3IgdGhlc2UgdGhlCgkgIG1lbW9yeSB0eXBlIHByb2JpbmcgZmFpbHMuIEluIG9yZGVyIHRvIGdhaW4gYmFjayBvdXIgcHJldmlvdXMgYmVoYXZpb3VyIGluCgkgIHByZXNlbmNlIG9mIHRoZXNlLCB3ZSBpbXBsZW1lbnQgYSB3b3JrYXJvdW5kIHRoYXQgYXNzdW1pbmcgTU1BUCBpcwoJICBzdXBwb3J0ZWQuIE5vdGUgdGhhdCBhbiBhbGxvY2F0b3IgaXMgb25seSBjcmVhdGVkIGZvciBkZXZpY2Ugd2l0aAoJICBTVFJFQU1JTkcgc3VwcG9ydCBpbiB0aGUgZGV2aWNlIGNhcGFiaWxpdGllcy4gSW4gc3VjaCBjYXNlIG9uZSBvZiBNTUFQLAoJICBVU0VSUFRSIGFuZCBETUFCVUYgaXMgcmVxdWlyZWQuIFRob3VnaCBETUFCVUYgY2FtZSBhZnRlcndhcmQsIHNvIGlzCgkgIG5vdCBhbiBvcHRpb24gYW5kIGluIHByYWN0aWNlIG5vbmUgb2YgdGhlc2UgZHJpdmVycyB3aWxsIG9ubHkgZG8gVVNFUlBUUi4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNTY2MAoJICBBbHNvLWJ5OiBIYW5zIGRlIEdvZWRlIDxoZGVnb2VkZUByZWRoYXQuY29tPgoKMjAxNC0wOS0wNCAxNToxMTo0MCAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuaDoKCSogc3lzL3Y0bDIvZ3N0djRsMnZpZGVvZGVjLmM6CgkgIHY0bDI6IE1lcmdlIG1pbl9idWZmZXJzX2ZvciogdmFyaWFibGUgaW50byBvbmUKCSAgUmV1c2UgdGhlIHNhbWUgbWluX2J1ZmZlcnMgdmFyaWFibGUgZm9yIGJvdGggY2FwdHVyZSBhbmQgb3V0cHV0LCB0aGlzCgkgIHJlZHVjZSB0aGUgbGVuZ3RoIG9mIGxpbmVzIGFuZCBtYWtlIHRoZSBjb2RlIG1vcmUgcmVhZGFibGUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzYwNzIKCjIwMTQtMDktMDQgMTg6MzU6NDYgKzAyMDAgIEF1csOpbGllbiBaYW5lbGxpIDxhdXJlbGllbi56YW5lbGxpQHBhcnJvdC5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuaDoKCSAgdjRsMjogc2V0IG1pbl9sYXRlbmN5IGZvciBvdXRwdXQgZGV2aWNlIGFjY29yZGluZyB0byByZXF1aXJlZCBtaW5pbXVtIG51bWJlciBvZiBidWZmZXJzCgkgIFNpbmNlIHdlIGNhbiBnZXQgdGhlIG1pbmltdW0gbnVtYmVyIG9mIGJ1ZmZlcnMgbmVlZGVkIGJ5IGFuIG91dHB1dAoJICBkZXZpY2UgdG8gd29yaywgdXNlIGl0IHRvIHNldCBtaW5fbGF0ZW5jeSB3aGljaCB3aWxsIGRldGVybWluZSBob3cgbWFueQoJICBidWZmZXJzIGFyZSBxdWV1ZWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzYwNzIKCjIwMTQtMDktMDkgMTY6MTA6NTYgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy91ZHBzcmMuYzoKCSAgdGVzdHM6IHVkcHNyYzogYWRkIGNoZWNrIHRvIG1ha2Ugc3VyZSBtdWx0aXBsZSBtZW1vcnkgY2h1bmtzIGFyZSB1c2VkCgoyMDE0LTA5LTA5IDE1OjU1OjE4ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvdWRwc3JjLmM6CgkgIHRlc3RzOiB1ZHBzcmM6IHdhaXQgZm9yIGJ1ZmZlcnMgd2l0aCBHQ29uZCBpbnN0ZWFkIG9mIHNsZWVwaW5nCgkgIEF2b2lkcyBoYWxmLXNlY29uZCBzbGVlcCBmb3Igbm8gcmVhc29uLgoKMjAxNC0wOS0wOSAxNTozMTozMiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3VkcHNyYy5jOgoJICB0ZXN0czogdWRwc3JjOiBzcGxpdCBvdXQgc29ja2V0IHNldHVwCgoyMDE0LTA5LTA5IDEzOjQ2OjU2ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3VkcC9nc3R1ZHBzcmMuYzoKCSAgdWRwc3JjOiBtb3JlIGVmZmljaWVudCBtZW1vcnkgaGFuZGxpbmcKCSAgRHJvcCB1c2Ugb2YgZ19zb2NrZXRfZ2V0X2F2YWlsYWJsZV9ieXRlcygpIHdoaWNoIGlzCgkgIG5vdCB1c2VmdWwgb24gYWxsIHN5c3RlbXMgKHdoZXJlIGl0IHJldHVybnMgdGhlIHNpemUKCSAgb2YgdGhlIGVudGlyZSBidWZmZXIgbm90IHRoYXQgb2YgdGhlIG5leHQgcGVuZGluZwoJICBwYWNrZXQpLCBhbmQgaXMgeWV0IGFub3RoZXIgc3lzY2FsbCBhbmQgYXBwYXJlbnRseQoJICB2ZXJ5IGluZWZmaWNpZW50IG9uIFdpbmRvd3MgaW4gdGhlIFVEUCBjYXNlLgoJICBJbnN0ZWFkLCB3aGVuIHJlYWRpbmcgVURQIHBhY2tldHMsIHVzZSB0aGUgbW9yZSBmZWF0dXJlZnVsCgkgIGdfc29ja2V0X3JlY2VpdmVfbWVzc2FnZSgpIGNhbGwgdGhhdCBhbGxvd3MgdG8gcmVhZCBpbnRvCgkgIHNjYXR0ZXJlZCBtZW1vcnksIGFuZCBhbGxvY2F0ZSBvbmUgbWVtb3J5IGNodW5rIHdoaWNoIGlzCgkgIGxpa2VseSB0byBiZSBsYXJnZSBlbm91Z2ggZm9yIGEgcGFja2V0LCB3aGlsZSBhbHNvIHByb3ZpZGluZwoJICBhIGxhcmdlciBhbGxvY2F0ZWQgbWVtb3J5IGNodW5rIGp1c3QgaW4gY2FzZSB0aGUgcGFja2V0CgkgIGlzIGxhcmdlciB0aGFuIGV4cGVjdGVkLiBJZiB0aGUgcmVjZWl2ZWQgZGF0YSBmaXRzIGludG8gdGhlCgkgIGZpcnN0IGNodW5rLCB3ZSdsbCBqdXN0IGFkZCB0aGF0IHRvIHRoZSBidWZmZXIgd2UgcmV0dXJuCgkgIGFuZCByZS11c2UgdGhlIGZhbGxiYWNrIGJ1ZmZlciBmb3IgbmV4dCB0aW1lLCBvdGhlcndpc2Ugd2UKCSAgYWRkIGJvdGggY2h1bmtzIHRvIHRoZSBidWZmZXIuCgkgIFRoaXMgcmVkdWNlcyBtZW1vcnkgd2FzdGUgbW9yZSByZWxpYWJseSBvbiBzeXN0ZW1zIHdoZXJlCgkgIGdldF9hdmFpbGFibGVfYnl0ZXMoKSBkb2Vzbid0IHdvcmsgcHJvcGVybHkuCgkgIEluIGEgbXVsdGltZWRpYSBzdHJlYW1pbmcgc2NlbmFyaW8sIGluY29taW5nIFVEUCBwYWNrZXRzCgkgIGFyZSBhbG1vc3QgbmV2ZXIgZnJhZ21lbnRlZCBhbmQgdGh1cyBhbG1vc3QgYWx3YXlzIHNtYWxsZXIKCSAgdGhhbiB0aGUgTVRVIHNpemUsIHdoaWNoIGlzIGFsc28gd2h5IHdlIGRvbid0IHRyeSB0byBkbwoJICBzb21ldGhpbmcgc21hcnRlciB3aXRoIG1vcmUgZmFsbGJhY2sgbWVtb3J5IGNodW5rcyBvZgoJICBkaWZmZXJlbnQgc2l6ZXMuIFRoZSBmYWxsYmFjayBzY2VuYXJpbyBpcyBqdXN0IGZvciB3aGVuCgkgIHNvbWVvbmUgYnVpbHQgYSBicm9rZW4gc2VuZGVyIHBpcGVsaW5lIChub3QgdXNpbmcgYQoJICBwYXlsb2FkZXIgb3Igc29tZXN1Y2gpCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MTAzNjQKCjIwMTQtMDktMDkgMTI6MTU6NDMgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvdWRwL2dzdHVkcHNyYy5jOgoJKiBnc3QvdWRwL2dzdHVkcHNyYy5oOgoJICB1ZHBzcmM6IHJld29yayBtZW1vcnkgYWxsb2NhdGlvbiBiaXRzIGFuZCBlbnN1cmUgd2UgYWx3YXlzIGhhdmUgdHdvIGNodW5rcyBvZiBtZW1vcmllcyB0byByZWFkIGludG8KCSAgRmlyc3QgY2h1bmsgaXMgdGhlIGxpa2VseS9leHBlY3RlZCBidWZmZXIgc2l6ZSwgc2Vjb25kIGlzIGFzCgkgIGZhbGxiYWNrIGluIGNhc2UgdGhlIHBhY2tldCBpcyBsYXJnZXIgaW4gdGhlIGVuZC4KCSAgTmV4dCBzdGVwOiBhY3R1YWxseSB1c2UgdGhlc2UuCgoyMDE0LTA5LTA5IDA5OjQyOjE1ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3VkcC9nc3R1ZHBzcmMuYzoKCSogZ3N0L3VkcC9nc3R1ZHBzcmMuaDoKCSAgdWRwc3JjOiB0cmFjayBtYXggcGFja2V0IHNpemUgYW5kIHNhdmUgYWxsb2NhdG9yIG5lZ290aWF0ZWQgYnkgR3N0QmFzZVNyYwoKMjAxNC0wOS0wOCAxNjoxNTowNSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9hdWRpb2Z4L2F1ZGlvZWNoby5jOgoJICBhdWRpb2VjaG86IGZpeCBleGFtcGxlIGNvbW1hbmQgbGluZQoKMjAxNC0wOS0wNyAxMjo0NjowOCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgYXZpZGVtdXg6IGZpeCBjcmFzaCB3aXRoIGNlcnRhaW4gdmlkZW9zCgkgIFRoaXMgaXMgYSByZWdyZXNzaW9uIGZyb20gMS4yIGNhdXNlZCBieSB0aGUgcG9ydAoJICB0byB0aGUgcGFkIGZsb3cgY29tYmluZXIuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzYxOTIKCjIwMTQtMDktMDQgMTY6MjE6MjAgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXJlYWQtY29tbW9uLmg6CgkgIG1hdHJvc2thLWRlbXV4OiBEb24ndCBoYW5kbGUgcGFyc2UgZXJyb3JzIGF0IHRoZSBlbmQgb2YgZmlsZSBhcyBhbiBlcnJvcgoJICBCdXQgb25seSBpZiB0aGV5IGhhcHBlbiBhZnRlciB0aGUgTWF0cm9za2Egc2VnbWVudC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNTgzMwoKMjAxNC0wOS0wNCAxMjoxNDoxMSArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6CgkgIHNvdXBodHRwc3JjOiBJbmNsdWRlIHJlZGlyZWN0aW9uIHRhcmdldCBpbiBlcnJvciBtZXNzYWdlcwoJICBKdXN0IGdpdmluZyB0aGUgb3JpZ2luYWwgVVJJIGNhbiBnaXZlIHRoZSBmYWxzZSBpbXByZXNzaW9uIHRoYXQgZS5nLgoJICB0aGF0IG9uZSBmYWlsZWQgaG9zdCBuYW1lIHJlc29sdXRpb24sIHdoaWxlIGFjdHVhbGx5IHRoZSByZWRpcmVjdGlvbiB0YXJnZXQKCSAgZGlkLgoKMjAxNC0wOS0wMiAxMToxMzo0NCArMDQwMCAgQW5kcmVpIFNhcmFrZWV2IDxzYXJha3VzaGFAZ21haWwuY29tPgoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlcjIuYzoKCSAgdmlkZW9taXhlcjogRml4IHN5bmNocm9uaXphdGlvbiBpZiBkeW5hbWljYWxseSBjaGFuZ2luZyB0aGUgRlBTCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzU4NTkKCjIwMTQtMDktMDIgMTM6NTI6NDMgKzA1MzAgIFJhdmkgS2lyYW4gSyBOIDxyYXZpLmtpcmFuQHNhbXN1bmcuY29tPgoKCSogZ3N0L3NtcHRlL2dzdHNtcHRlLmM6CgkgIHNtcHRlOiBDaGVjayBpZiBpbnB1dCBjYXBzIGFyZSB0aGUgc2FtZSBhbmQgY3JlYXRlIG91dHB1dCBjYXBzIGZyb20gdmlkZW8gaW5mbwoJICBUaGlzIG1ha2VzIHN1cmUgdGhhdCBhbHNvIHByb3BlcnRpZXMgbGlrZSB0aGUgcGl4ZWwtYXNwZWN0LXJhdGlvIGFyZSB0aGUgc2FtZQoJICBiZXR3ZWVuIGJvdGggc3RyZWFtcyBhbmQgdGhhdCB0aGUgb3V0cHV0IGNhcHMgY29udGFpbiBhbGwgZmllbGRzIG5lY2Vzc2FyeSBmb3IKCSAgY29tcGxldGUgdmlkZW8gY2Fwcy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNTgwNAoKMjAxNC0wOS0wMiAxNzoyMjowNyArMDUzMCAgVmluZWV0aCBUIE0gPHZpbmVldGgudG1Ac2Ftc3VuZy5jb20+CgoJKiBnc3QvaW1hZ2VmcmVlemUvZ3N0aW1hZ2VmcmVlemUuYzoKCSAgaW1hZ2VmcmVlemU6IHJlcGxhY2Ugd2l0aCBnc3RfYnVmZmVyX2NvcHkKCSAgZ3N0X2J1ZmZlcl9yZWYgYW5kIGdzdF9idWZmZXJfd3JpdGFibGUgaXMgYmVpbmcgdXNlZCB0byBjcmVhdGUgYSB3cml0YWJsZSBjb3B5IG9mIHNvdXJjZSBidWZmZXIuCgkgIHJlcGxhY2luZyB0aGUgc2FtZSB3aXRoIGdzdF9idWZmZXJfY29weSBhcyB0aGUgZnVuY3Rpb25hbGl0eSBpcyBzYW1lLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM1ODgwCgoyMDE0LTA5LTAzIDIzOjA2OjUzICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IG1hcmsganBlZyBhbmQgcG5nIGFzIHBhcnNlZCBzbyBhdmRlY19tanBlZyBjYW4gYmUgdXNlZCB0b28KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNTk3MQoKMjAxNC0wOS0wMyAxMTo0NjoxMyArMDUzMCAgVmluZWV0aCBUIE0gPHZpbmVldGgudG1Ac2Ftc3VuZy5jb20+CgoJKiBleHQvZ2RrX3BpeGJ1Zi9nc3RnZGtwaXhidWZkZWMuYzoKCSAgZ2RrcGl4YnVmZGVjOiBmcmVlIHF1ZXJ5IGFmdGVyIHVzZQoJICBJbiBnc3RfZ2RrX3BpeGJ1Zl9kZWNfc2V0dXBfcG9vbCgpLCBxdWVyeSBpcyBiZWluZyBhbGxvY2F0ZWQgdXNpbmcKCSAgZ3N0X3F1ZXJ5X25ld19hbGxvY2F0aW9uKCksIGJ1dCB0aGUgc2FtZSBpcyBub3QgdW5yZWZlcmVuY2VkCgkgIGhlbmNlIGNhbGxpbmcgZ3N0X3F1ZXJ5X3VucmVmKCkgYWZ0ZXIgdXNhZ2Ugb2YgcXVlcnkuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzU5NTAKCjIwMTQtMDktMDMgMjM6NDY6MzQgKzEwMDAgIEphbiBTY2htaWR0IDxqYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkqIGdzdC9pc29tcDQvcXRkZW11eF90eXBlcy5jOgoJICBxdGRlbXV4OiBTaWxlbmNlIHNvbWUgd2FybmluZ3MgZm9yIG5vcm1hbCBmaWxlIGNvbnRlbnRzCgoyMDE0LTA5LTAxIDA5OjU2OjAyICswMjAwICBOaWNvbGFzIEh1ZXQgPG5pY29sYXMuaHVldEBwYXJyb3QuY29tPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYWNwYXJzZS5jOgoJICBhYWNwYXJzZTogRml4IHBhcnNpbmcgaXNzdWUgd2hlbiB0aGUgYnVmZmVyIGRvZXMgbm90IGhhdmUgYSBjb21wbGV0ZSBBRFRTL0xPQVMgZnJhbWUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNTUyMAoKMjAxNC0wOS0wMiAwOTowOTo0OSArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC92cHgvZ3N0dnA5ZGVjLmM6CgkgIHZwOWRlYzogR2V0IGlucHV0IHdpZHRoL2hlaWdodCBmcm9tIHRoZSBjb2RlYyBpbnN0ZWFkIG9mIHRoZSBpbnB1dCBjYXBzCgkgIFRoZXkgYXJlIHJlcG9ydGVkIHByb3Blcmx5IGJ5IGxpYnZweCBpZiB0aGUgY29ycmVjdCBzdHJ1Y3QgbWVtYmVycyBhcmUgdXNlZC4KCSAgVGhpcyBhbHNvIGZpeGVzIGhhbmRsaW5nIG9mIHJlc29sdXRpb24gY2hhbmdlcyB3aXRob3V0IGlucHV0IGNhcHMgY2hhbmdlcy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcxOTM1OQoKMjAxMy0xMC0yMiAxODo0OToyMiArMDEwMCAgVG9tIEdyZWVud29vZCA8dGNkZ3JlZW53b29kQGhvdG1haWwuY29tPgoKCSogZXh0L3ZweC9nc3R2cDhkZWMuYzoKCSAgdnA4ZGVjOiBGaXggZm9yIGhhbmRsaW5nIHJlc29sdXRpb24gY2hhbmdlcyB3aGVuIGRlY29kaW5nIFZQOAoJICBJZiB0aGUgcmVzb2x1dGlvbiBjaGFuZ2VzIGluIHRoZSBiaXRzdHJlYW0gd2l0aG91dCB0aGUgaW5wdXQgY2FwcyBjaGFuZ2luZyB3ZQoJICB3b3VsZCBwcmV2aW91c2x5IG91dHB1dCBjb3JydXB0ZWQgdmlkZW8gb3IgY3Jhc2guCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MTkzNTkKCjIwMTQtMDktMDIgMDA6NTU6MTcgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGV4dC92cHgvZ3N0dnA5ZGVjLmM6CgkgIHZwOWRlYzogRml4IHNlZ2ZhdWx0IHdoZW4gYSBuZXcgY2FwcyBpcyByZWNlaXZlZAoJICBSZW1lbWJlciB0byB1bnJlZiB0aGUgb3V0cHV0IGNhcHMgd2hlbiBhIG5ldyBjYXBzIGV2ZW50IGlzIHJlY2VpdmVkCgkgIGFzIGl0IHNob3VsZCBnZW5lcmF0ZSBhIG5ldyBvbmUgYmFzZWQgb24gdGhlIG5ldyBjYXBzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM0MjY2CgoyMDE0LTA5LTAyIDAwOjU0OjM1IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy92cDhkZWMuYzoKCSAgdGVzdHM6IHZwOGRlYzogYWRkIHRlc3QgZm9yIGNhcHMgcmVuZWdvdGlhdGlvbgoJICBDaGVjayB0aGF0IHZwOGRlYyBjYW4gcHJvcGVybHkgYWNjZXB0IGEgbmV3IGNhcHMgd2hlbiB1cHN0cmVhbQoJICBjaGFuZ2VzIGl0CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzQyNjYKCjIwMTQtMDgtMDUgMTA6MzQ6MzkgKzAyMDAgIEpvc2UgQW50b25pbyBTYW50b3MgQ2FkZW5hcyA8c2FudG9zY2FkZW5hc0BnbWFpbC5jb20+CgoJKiBleHQvdnB4L2dzdHZwOGRlYy5jOgoJICB2cDhkZWM6IFJlc2V0IG91dHB1dCBhbmQgaW5wdXQgc3RhdGVzIHdoZW4gY2hhbmdpbmcgZm9ybWF0CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzQyNjYKCjIwMTQtMDktMDEgMTY6Mzk6MjMgKzA1MzAgIFZpbmVldGggVCBNIDx2aW5lZXRoLnRtQHNhbXN1bmcuY29tPgoKCSogZ3N0L2ltYWdlZnJlZXplL2dzdGltYWdlZnJlZXplLmM6CgkgIGltYWdlZnJlZXplOiBEb24ndCBjYWxsIGdzdF9jYXBzX3VucmVmKCkgb24gdGVtcGxhdGUgY2FwcyB3aGVuIGFscmVhZHkgdW5yZWZlcmVuY2VkCgkgIEFkZGluZyBhbiBleHRyYSBjb25kaXRpb24gd2hpbGUgY2FsbGluZyBnc3RfY2Fwc191bnJlZiAodGVtcGwpCgkgIGFuZCByZXBsYWNpbmcgZ3N0X2NhcHNfbWFrZV93cml0YWJsZSAoZ3N0X2NhcHNfcmVmIChjYXBzKSkgd2l0aAoJICBnc3RfY2Fwc19jb3B5IChjYXBzKSBpbiBsaW5lIDE3Nywgc2luY2UgdGhlIGZ1bmN0aW9uYWxpdHkgaXMgc2FtZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNTc5NQoKMjAxNC0wOC0yOSAxMjowMToyNyArMDIwMCAgSGFucyBkZSBHb2VkZSA8aGRlZ29lZGVAcmVkaGF0LmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgdjRsMjogZ2V0X25lYXJlc3Rfc2l6ZTogRml4ICJVbnN1cHBvcnRlZCBmaWVsZCB0eXBlIiBlcnJvcnMKCSAgTW9zdCBWNEwyIGlvY3RscyBsaWtlIHRyeV9mbXQgd2lsbCBhZGp1c3QgaW5wdXQgZmllbGRzIHRvIG1hdGNoIHdoYXQgdGhlCgkgIGhhcmR3YXJlIGNhbiBkbyByYXRoZXIgdGhlbiByZXR1cm5pbmcgLUVJTlZBTC4gQXMgaXMgZG9jbWVudGVkIGhlcmU6CgkgIGh0dHA6Ly9saW51eHR2Lm9yZy9kb3dubG9hZHMvdjRsLWR2Yi1hcGlzL3ZpZGlvYy1nLWZtdC5odG1sCgkgIEVJTlZBTCBpcyBvbmx5IHJldHVybmVkIGlmIHRoZSBidWZmZXIgdHlwZSBmaWVsZCBpcyBpbnZhbGlkIG9yIG5vdCBzdXBwb3J0ZWQuCgkgIFNvIHVwb24gcmVxdWVzdGluZyBWNEwyX0ZJRUxEX05PTkUgZGV2aWNlcyB3aGljaCBjYW4gb25seSBkbyBpbnRlcmxhY2VkCgkgIG1vZGUgd2lsbCBjaGFuZ2UgdGhlIGZpZWxkIHZhbHVlIHRvIGUuZy4gVjRMMl9GSUVMRF9CT1RUT00gYXMgb25seSByZXR1cm5pbmcKCSAgaGFsZiB0aGUgbGluZXMgaXMgdGhlIGNsb3Nlc3QgdGhleSBjYW4gZG8gdG8gcHJvZ3Jlc3NpdmUgbW9kZXMuCgkgIEluIGVzc2VuY2UgdGhpcyBtZWFucyB0aGF0IHdlJ3ZlIGZhaWxlZCB0byBnZXQgYSAodXNhYmxlKSBwcm9nZXNzaXZlIG1vZGUKCSAgYW5kIHNob3VsZCBmYWxsIGJhY2sgdG8gaW50ZXJsYWNlZCBtb2RlLgoJICBUaGlzIGNvbW1pdCBhZGRzIGEgY2hlY2sgZm9yIGhhdmluZyBnb3R0ZW4gYSB1c2FibGUgZmllbGQgdmFsdWUgYWZ0ZXIgdGhlIGZpcnN0CgkgIHRyeV9mbXQsIHRvIGZvcmNlIGZhbGxiYWNrIHRvIGludGVybGFjZWQgbW9kZSBldmVuIGlmIHRoZSB0cnlfZm10IHN1Y2NlZWRlZCwKCSAgdGhlcmVieSBmaXhpbmcgZ2V0X25lYXJlc3Rfc2l6ZSBmYWlsaW5nIG9uIHRoZXNlIGRldmljZXMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzU2NjAKCjIwMTQtMDgtMjkgMTA6NTc6MjAgKzAyMDAgIEhhbnMgZGUgR29lZGUgPGhkZWdvZWRlQHJlZGhhdC5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIHY0bDI6IGdldF9uZWFyZXN0X3NpemU6IEFsd2F5cyByZWluaXQgYWxsIHN0cnVjdCBmaWVsZHMgb24gcmV0cnkKCSAgVGhleSBtYXkgaGF2ZSBiZWVuIG1vZGlmaWVkIGJ5IHRoZSBpb2N0bCBldmVuIGlmIGl0IGZhaWxlZC4gVGhpcyBhbHNvIG1ha2VzCgkgIHRoZSBTX0ZNVCBmYWxsYmFjayBwYXRoIHRyeSBwcm9ncmVzc2l2ZSBmaXJzdCwgbWFraW5nIGl0IGNvbnNpc3RlbnQgd2l0aCB0aGUKCSAgcHJlZmVycmVkIFRSWV9GTVQgcGF0aC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNTY2MAoKMjAxNC0wOC0yOSAxMTo1NToyNiArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOgoJICB3YXZwYXJzZTogU3RvcmUgc2l6ZSBvZiBkYXRhIHRhZyBpbiBhIDY0IGJpdCBpbnRlZ2VyIGxvY2FsbHkgdG9vCgkgIE90aGVyd2lzZSB3ZSB3aWxsIGNsaXAgdGhlIERTNjQgdmFsdWUgb2YgUkY2NCBmaWxlcyB0byAzMiBiaXRzIGFnYWluLgoKMjAxNC0wOC0yOSAxMTo1MzoyMyArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOgoJICB3YXZwYXJzZTogVXNlIDY0IGJpdCBzY2FsaW5nIGZ1bmN0aW9ucyBub3cgdGhhdCBmYWN0IGlzIGEgNjQgYml0IGludGVnZXIKCjIwMTQtMDgtMjcgMTg6NTU6MTggKzAyMDAgIFBldGVyIEcuIEJhdW0gPHBldGVyQGRyLWJhdW0ubmV0PgoKCSogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6CgkqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5oOgoJICB3YXZwYXJzZTogc3VwcG9ydCByZjY0IGZvcm1hdAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM1NjI3CgoyMDE0LTA4LTI4IDEzOjQ4OjUwIC0wNjAwICBKYXNvbiBMaXR6aW5nZXIgPGpsaXR6aW5nZXJAY29udHJvbDQuY29tPgoKCSogZ3N0L211bHRpcGFydC9tdWx0aXBhcnRkZW11eC5jOgoJICBtdWx0aXBhcnRkZW11eDogRW5zdXJlIGNhcHMgYmVmb3JlIHBhZCBhZGRlZC4KCSAgVGhpcyBzdG9yZXMgdGhlIHN0cmVhbS1zdGFydCwgc2V0cyBjYXBzLCBhbmQgdGhlbiBhZGRzIHRoZSBwYWQsCgkgIHdoaWNoIGVuc3VyZXMgdGhhdCB0aGUgY2FwcyBhcmUgc2V0IGZvciB0aGUgInBhZC1hZGRlZCIgY2FsbGJhY2suCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzU2MjYKCjIwMTQtMDgtMjggMTU6MDM6NTAgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2Zsdi9nc3RmbHZtdXguYzoKCSAgZmx2bXV4OiBGYWxsYmFjayB0byBQVFMgaWYgRFRTIGlzIG1pc3NpbmcKCSAgRml4aW5nIGEgcmVncmVzc2lvbiBpbnRyb2R1Y2Ugd2hlbiBmaXhpbmc6CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzEzNTIKCjIwMTQtMDgtMjggMTY6MTM6MjkgKzA1MzAgIFZpbmVldGggVCBNIDx2aW5lZXRoLnRtQHNhbXN1bmcuY29tPgoKCSogZ3N0L2ltYWdlZnJlZXplL2dzdGltYWdlZnJlZXplLmM6CgkgIGltYWdlZnJlZXplOiBSZW1vdmUgaW1wb3NzaWJsZSBlcnJvciBjb25kaXRpb24KCSAgV2UgcmV0dXJuIEVPUyBhZnRlciB0aGUgZmlyc3QgYnVmZmVyLCBhbmQgR3N0UGFkIHdpbGwgbWFrZSBzdXJlIG5vdyB0aGF0IHdlCgkgIHdvbid0IGdldCBhbnkgb3RoZXIgYnVmZmVyIGFmdGVyd2FyZHMgdW50aWwgYSBmbHVzaCBoYXBwZW5zLiBObyBuZWVkIHRvIGNoZWNrCgkgIGZvciBpdCBvdXJzZWx2ZXMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzU1ODEKCjIwMTQtMDgtMjggMTM6NTM6MjMgKzA1MzAgIFZpbmVldGggVCBNIDx2aW5lZXRoLnRtQHNhbXN1bmcuY29tPgoKCSogZXh0L2dka19waXhidWYvZ3N0Z2RrcGl4YnVmZGVjLmM6CgkgIGdka3BpeGJ1ZmRlYzogRU9TIGFuZCBOT1RfTElOS0VEIGFyZSBubyBlcnJvcnMgaW4gZ2VuZXJhbAoJICBEb24ndCBwb3N0IGFuIGVycm9yIG1lc3NhZ2UgZm9yIHRoZW0gYnV0IGxldCB1cHN0cmVhbSBoYW5kbGUKCSAgYW55dGhpbmcgYWNjb3JkaW5nbHkuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzU1NjQKCjIwMTQtMDgtMjcgMjE6MDc6MjYgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9mbHYvZ3N0Zmx2bXV4LmM6CgkqIGdzdC9mbHYvZ3N0Zmx2bXV4Lmg6CgkgIGZsdm11eDogQ29ycmVjdGx5IG9mZnNldCB0aW1lc3RhbXAKCSAgVGhlIHByZXZpb3VzIG1ldGhvZCB3b3VsZCBicmVhayBBViBzeW5jIGluIHRoZSBjYXNlIGF1ZGlvIG9yIHZpZGVvCgkgIGRpZG4ndCBzdGFydCBhdCB0aGUgc2FtZSBwb2ludCBpbiBydW5uaW5nIHRpbWUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzEzNTIKCjIwMTQtMDgtMjcgMjA6NTY6MTIgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9mbHYvZ3N0Zmx2bXV4LmM6CgkgIGZsdm11eDogU2F2ZSBkdHMgZnJvbSBidWZmZXIKCSAgV2Ugbm8gbG9uZ2VyIHNldCBkdHMgaW4gbXV4ZWQgYnVmZmVyLiBUaGlzIHdvdWxkIGxlYWQgdG8gZW5jb2RpbmcgdGFncwoJICB3aXRoIHRpbWVzdGFtcCAwIGluc3RlYWQgb2YgdGhlIHRpbWVzdGFtcCBvZiBwcmV2aW91cyBidWZmZXIuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzEzNTIKCjIwMTQtMDctMjggMjA6NTg6NTkgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2Zsdi9nc3RmbHZtdXguYzoKCSogZ3N0L2Zsdi9nc3RmbHZtdXguaDoKCSAgZmx2bXV4OiBFbnN1cmUgVGltZXN0YW1wIHN0YXJ0cyBhdCAwCgkgIEZMViBkb2N1bWVudGF0aW9uIHN0aXB1bGF0ZXMgdGhhdCB0aW1lc3RhbXAgbXVzdCBzdGFydCBhdCB6ZXJvLgoJICBJbiBvcmRlciB0byByZXNwZWN0IHRoaXMgcnVsZSwga2VlcCB0aGUgZmlyc3QgdGltZXN0YW1wIGFyb3VuZAoJICBhbmQgb2Zmc2V0IHRoZSB0aW1lc3RhbXAgZnJvbSB0aGlzIHZhbHVlLiBUaGlzIGFsbG93IGZvciBsb25nZXIKCSAgcmVjb3JkaW5nIHRpbWUgaW4gcHJlc2VuY2Ugb2YgdGltZXN0YW1wIHRoYXQgZG9lcyBub3Qgc3RhcnQKCSAgYXQgMCBhbHJlYWR5LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMxMzUyCgoyMDE0LTA2LTA2IDIzOjE3OjUyIC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzoKCSogZ3N0L2Zsdi9nc3RmbHZkZW11eC5oOgoJKiBnc3QvZmx2L2dzdGZsdm11eC5jOgoJICBmbHY6IFRhZyB0aW1lc3RhbXAgYXJlIERUUyBub3QgUFRTCgkgIFRoZSB0YWdzIGluIEZMViBhcmUgRFRTLiBJbiBhdWRpbyBjYXNlcywgYW5kIGZvciBtYW55IHZpZGVvIGZvcm1hdCB0aGlzIG1ha2VzCgkgIG5vIGRpZmZlcmVuY2UsIGJ1dCBmb3IgQVZDIHdpdGggQi1GcmFtZXMsIFBUUyBuZWVkIHRvIGJlIGNvbXB1dGVkIGZyb20KCSAgY29tcG9zaXRpb24gdGltZXN0YW1wIENUUywgd2l0aCBQVFMgPSBEVFMgKyBDVFMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzEzNTIKCjIwMTQtMDgtMDcgMjE6NTg6MTQgLTA0MDAgIFlvdW5lc3MgQWxhb3VpIDxrYWthcm90b0BrYWthcm90by5ob21lbGludXgubmV0PgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIGppdHRlcmJ1ZmZlcjogQWxsb3cgcnRwIGNhcHMgd2l0aG91dCBjbG9jay1yYXRlCgkgIFRoZSBqaXR0ZXJidWZmZXIgc2hvdWxkbid0IGZvcmNlIGNsb2NrLXJhdGUgb24gaXRzIHNpbmsgcGFkLCB0aGlzIHdpbGwgY2F1c2UgYSBuZWdvdGlhdGlvbiBpc3N1ZSBzaW5jZSBydHBzc3JjZGVtdXggZG9lc24ndCBoYXZlIHRoZSBjbG9jay1yYXRlIGFuZCBkb2Vzbid0IGFkZCBpdCB0byB0aGUgY2Fwcy4gVGhlIGRvY3VtZW50YXRpb24gc3RhdGVzIHRoYXQgdGhlIGNsb2NrLXJhdGUgY2FuIGVpdGhlciBiZSBzcGVjaWZpZWQgdGhyb3VnaCB0aGUgY2FwcyBvciB0aHJvdWdoIHRoZSByZXF1ZXN0LXB0LW1hcCBzaWduYWwsIHNvIHdlIG11c3QgcmVtb3ZlIGNsb2NrLXJhdGUgZnJvbSB0aGUgcGFkIHRlbXBsYXRlcyBhbmQgd2UgbXVzdCBhY2NlcHQgdGhlIEdTVF9FVkVOVF9DQVBTIGlmIHRoZSBjYXBzIGRvbid0IGhhdmUgdGhlIGNsb2NrLXJhdGUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzQzMjIKCjIwMTQtMDgtMTggMTQ6MDU6NTIgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBhdm9pZCBjcmFzaGluZyBvbiBkYXNoIHN0cmVhbXMKCSAgREFTSC9mcmFnbWVudGVkIG1vb3YgbWlnaHQgaGF2ZSBubyBzYW1wbGVzIGFzIHRob3NlIGFyZSBjYXJyaWVkCgkgIGluIG1vb2YgZnJhZ21lbnRzLiBBdm9pZCBjcmFzaGluZyBvciBmYWlsaW5nIHRoZSBzdHJlYW0gYmVjYXVzZQoJICBvZiB0aGF0LgoKMjAxNC0wOC0xOCAxMDozMzo0OCArMDUzMCAgUmF2aSBLaXJhbiBLIE4gPHJhdmkua2lyYW5Ac2Ftc3VuZy5jb20+CgoJKiB0ZXN0cy9leGFtcGxlcy9lcXVhbGl6ZXIvZGVtby5jOgoJKiB0ZXN0cy9leGFtcGxlcy9zcGVjdHJ1bS9kZW1vLWF1ZGlvdGVzdC5jOgoJKiB0ZXN0cy9leGFtcGxlcy9zcGVjdHJ1bS9kZW1vLW9zc3NyYy5jOgoJICBleGFtcGxlczogdXNlICdwb3N0LW1lc3NhZ2VzJyBwcm9wZXJ0eSBpbnN0ZWFkIG9mIGRlcHJlY2F0ZWQgJ21lc3NhZ2UnIHByb3BlcnR5CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzQ5NzkKCjIwMTQtMDgtMTggMTE6NDU6NTQgKzAyMDAgIFbDrWN0b3IgTWFudWVsIErDoXF1ZXogTGVhbCA8dmphcXVlekBpZ2FsaWEuY29tPgoKCSogZ3N0L3VkcC9nc3R1ZHBzcmMuYzoKCSAgdWRwOiBmaXggdWRwc3JjIGRvY3VtZW50YXRpb24KCSAgdWRwc3JjIGd0ay1kb2MgZG9jdW1lbnRhdGlvbiByZWZlcnMgdG8gc29ja2ZkIGFuZCBjbG9zZWZkIHByb3BlcnRpZXMgd2hpY2ggaGFzCgkgIGJlZW4gcmVtb3ZlZC4gVGhpcyBwYXRjaCByZXBsYWNlcyB0aG9zZSByZWZlcmVuY2VzIHRvIHNvY2tldCBhbmQgY2xvc2Utc29ja2V0CgkgIHJlc3BlY3RpdmVseS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNDk4NwoKMjAxNC0wOC0xNSAxMDowOTo1NiArMTAwMCAgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBNYWtlIHRoZSBkZWZhdWx0IHRpbWVzY2FsZSAxLzE4MDAgc2Vjb25kCgkgIFRoZSBvbGQgZGVmYXVsdCB0aW1lc2NhbGUgb2YgMSBtaWxsaXNlY29uZCBwcm9kdWNlcyBpcnJhdGlvbmFsCgkgIG51bWJlcnMgZm9yIGEgbG90IG9mIGZyYW1lcmF0ZS9hdWRpby1wYWNrZXQtZHVyYXRpb24gbXVsdGlwbGVzLgoJICAxLzE4MDAgaXMgYSBuaWNlciBudW1iZXIsIGFzIGl0IHRlbmRzIHRvIHByb2R1Y2UgYmV0dGVyIGZyYWN0aW9ucwoJICBhbmQgdGhlcmVmb3JlIHNsaWdodGx5IGhpZ2hlciBhY2N1cmFjeSBvdmVyYWxsCgoyMDE0LTA4LTE1IDAxOjE3OjI3ICsxMDAwICBKYW4gU2NobWlkdCA8amFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYTogVXNlIGdzdF92aWRlb19ndWVzc19mcmFtZXJhdGUoKSBmdW5jdGlvbgoJICBSZW1vdmUgbG9jYWwgZnJhbWVyYXRlIGd1ZXNzaW5nIGZ1bmN0aW9uIGluIGZhdm91ciBvZgoJICB0aGUgbmV3IGdzdF92aWRlb19ndWVzc19mcmFtZXJhdGUoKSBmdW5jdGlvbi4KCjIwMTQtMDgtMTUgMDE6MTI6MjAgKzEwMDAgIEphbiBTY2htaWR0IDxqYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2lzb21wNC9NYWtlZmlsZS5hbToKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IEltcHJvdmUgZnJhbWVyYXRlIGNhbGN1bGF0aW9uL2d1ZXNzaW5nCgkgIENoYW5nZSB0aGUgd2F5IHRoZSBvdXRwdXQgZnJhbWVyYXRlIGlzIGNhbGN1bGF0ZWQKCSAgdG8gaWdub3JlIHRoZSBmaXJzdCBzYW1wbGUgKHdoaWNoIGlzIHNvbWV0aW1lcyB0cnVuY2F0ZWQKCSAgaW4gbXkgdGVzdGluZykgYW5kIHVzZSB0aGUgbmV3IGdzdF92aWRlb19ndWVzc19mcmFtZXJhdGUoKQoJICBmdW5jdGlvbiB0byByZWNvZ25pc2UgY29tbW9uIHN0YW5kYXJkIGZyYW1lcmF0ZXMgYmV0dGVyLgoJICBSZW1vdmUgdGhlIGNvZGUgdGhhdCB3YXMgc29ydGluZyB0aGUgZmlyc3QgMjAgc2FtcGxlCgkgIGR1cmF0aW9ucyBhbmQgdGhlbiBpZ25vcmluZyB0aGUgcmVzdWx0LgoKMjAxNC0wOC0xNCAxNjozNjo0NCArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIyLmM6CgkgIHZpZGVvbWl4ZXI6IFVzZSB0aGUgYmVzdCB3aWR0aC9oZWlnaHQvZXRjIGlmIGRvd25zdHJlYW0gY2FuIGhhbmRsZSB0aGF0CgkgIEJlZm9yZSBpdCB3YXMgYWx3YXlzIHVzaW5nIHdoYXRldmVyIGRvd25zdHJlYW0gcHJlZmVycmVkLCB3aGlsZQoJICB0aGUgY29kZSBhbmQgZG9jdW1lbnRhdGlvbiBjbGFpbWVkIHNvbWV0aGluZyBkaWZmZXJlbnQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjcxODAKCjIwMTQtMDgtMTQgMTE6Mjk6MDAgKzA1MzAgIFJhdmkgS2lyYW4gSyBOIDxyYXZpLmtpcmFuQHNhbXN1bmcuY29tPgoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlcjIuYzoKCSAgdmlkZW9taXhlcjogQXZvaWQgZG91YmxlIGZyZWUgb2YgVmlkZW9Db252ZXJ0CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzQ3NjQKCjIwMTQtMDgtMTMgMTE6NTg6MzUgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6CgkgIGZsdmRlbXV4OiBmaXggaW5kZW50YXRpb24KCjIwMTQtMDgtMTMgMTE6NTQ6MjYgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6CgkgIGZsdmRlbXV4OiB1bi1icmVhayBkdXJhdGlvbiBxdWVyeWluZwoJICBDb21taXQgMmI5NDkzYjUgYnJva2UgdGhpcyBpbiB0d28gd2F5czogYSkgd2Ugc2hvdWxkIG9ubHkKCSAgcGFzcyBkdXJhdGlvbiBxdWVyaWVzIGluIFRJTUUgZm9ybWF0IHVwc3RyZWFtIChvciBhdCBsZWFzdAoJICBub3QgdGhvc2UgaW4gREVGQVVMVCBvciBCWVRFIGZvcm1hdCksIGFuZCBiKSB3ZSBtdXN0bid0CgkgIG92ZXJ3cml0ZSB0aGUgZGVmYXVsdCB2YWx1ZSBvZiAncmVzJyBmcm9tIFRSVUUgdG8gRkFMU0UKCSAgYW5kIG5vdCBzZXQgaXQgYWdhaW4gbGF0ZXIuIFRoaXMgbGVkIHRvIGJvZ3VzIGR1cmF0aW9ucwoJICBiZWluZyByZXBvcnRlZCBmb3IgRkxWIHBsYXliYWNrIGZyb20gZmlsZSwgYmVjYXVzZSBUSU1FCgkgIHF1ZXJpZXMgd291bGQgZmFpbCAoYXMgJ3JlcycgaGFkIGJlZW4gc2V0IHRvIEZBTFNFKSBhbmQKCSAgcGFyc2VycyB0aGVuIGRvIGEgQllURSBxdWVyeSBhcyBmYWxsYmFjayBhbmQgdHJ5IHRvCgkgIGd1ZXNzdGltYXRlIHNvbWV0aGluZyBpbiByZXR1cm4sIHdoaWNoIG9mIGNvdXJzZSBnb2VzCgkgIGhvcnJpYmx5IHdyb25nIHNpbmNlIHRoZSBCWVRFIHNpemUgcmV0dXJuZWQgaXMgZm9yIHRoZQoJICBtdXhlZCBmaWxlLgoKMjAxNC0wOC0xMyAxMzoyMzoxMCArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC92aWRlb2ZpbHRlci9nc3R2aWRlb2JhbGFuY2UuYzoKCSAgdmlkZW9iYWxhbmNlOiBBbGxvdyBhbnkgcmF3IGNhcHMgaW4gcGFzc3Rocm91Z2ggbW9kZSwgbm90IGp1c3QgdGhlIG9uZXMgd2UgaGFuZGxlCgoyMDE0LTA4LTEzIDEzOjA0OjIxICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3ZpZGVvZmlsdGVyL2dzdHZpZGVvYmFsYW5jZS5jOgoJICB2aWRlb2JhbGFuY2U6IEFsbG93IEFOWSBjYXBzZmVhdHVyZXMsIGJ1dCBvbmx5IGluIHBhc3N0aHJvdWdoIG1vZGUKCSAgV2hlbiBjaGFuZ2luZyB0aGUgcHJvcGVydGllcyB0byBub3QgYmUgaW4gcGFzc3Rocm91Z2ggbW9kZSBhbnltb3JlLAoJICB3ZSB3aWxsIG9ubHkgYWNjZXB0IGNhcHMgd2UgY2FuIHByb2Nlc3Mgb3Vyc2VsdmVzLCBwb3RlbnRpYWxseSBjYXVzaW5nCgkgIGEgbm90LW5lZ290aWF0ZWQgZXJyb3IuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjAzNDUKCjIwMTQtMDgtMTIgMTE6MzQ6MzAgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tMTM5NC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYWNvbG9yLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFwZXRhZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb2Z4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvcGFyc2Vycy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9kZXRlY3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXZpLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhY2FzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhaXJvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWN1dHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWludGVybGFjZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdG1mLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZmVjdHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXF1YWxpemVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZseGRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZGtwaXhidWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tMmsxLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWljeWRlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlkM2RlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWltYWdlZnJlZXplLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVybGVhdmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taXNvbXA0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWphY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanBlZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sZXZlbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tYXRyb3NrYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aWZpbGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlwYXJ0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5hdmlnYXRpb250ZXN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zczQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5nLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXB1bHNlYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVwbGF5Z2Fpbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwbWFuYWdlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHNwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNoYXBld2lwZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaG91dDJzZW5kLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNtcHRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlY3RydW0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdGFnbGliLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXVkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlbzRsaW51eDIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9ib3gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9jcm9wLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvZmlsdGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvbWl4ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdnB4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXhpbWFnZXNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi15NG1lbmMueG1sOgoJICBkb2NzOiB1cGRhdGUgZm9yIGdpdAoKMjAxNC0wOC0xMiAxMTozMzo1NiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiBidWlsZCB4aW1hZ2VzcmMgYWdhaW4gd2hlbiBjaGVja3Mgc3VjY2VlZAoJICBUaGlyZCB0aW1lIGx1Y2t5LCBob3BlZnVsbHkuCgoyMDE0LTA4LTExIDA5OjI2OjE3ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IGZpeCB4MTEgY2hlY2tzIHRvIGJlIG5vbi1mYXRhbCBhZ2FpbgoJICBNdXN0IHBhc3MgYW4gYWN0aW9uLWlmLW5vdC1mb3VuZCBhcmd1bWVudCB0bwoJICBQS0dfQ0hFQ0tfTU9EVUxFUyBvciBpdCB3aWxsIGVycm9yIG91dCB3aGVuCgkgIGl0IGNhbid0IGZpbmQgdGhlIG1vZHVsZSByZXF1ZXN0ZWQuIEFsc28gZml4CgkgIEFDX0NIRUNLX0xJQiB1c2FnZSwgZXh0cmEgbGlicyBhcmd1bWVudCB3YXMKCSAgaW4gdGhlIHdyb25nIHBsYWNlLgoKMjAxNC0wOC0wNyAxNzoxMjozOCArMDMwMCAgR2VvcmdlIEtpYWdpYWRha2lzIDxnZW9yZ2Uua2lhZ2lhZGFraXNAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBmb3J3YXJkIERJU0NPTlQgZnJvbSB1cHN0cmVhbSB0byB0aGUgb3V0cHV0IHN0cmVhbXMKCSAgVGhpcyBtYWtlcyBzZW5zZSBpbiBEQVNIIHJldmVyc2UgcGxheWJhY2ssIHdoZXJlIHRoZSB1cHN0cmVhbSBkYXNoZGVtdXgKCSAgd2lsbCBkb3dubG9hZCBEQVNIIHNlZ21lbnRzIGluIHJldmVyc2Ugb3JkZXIsIGJ1dCBwdXNoIHRoZWlyIGJ1ZmZlcnMKCSAgZm9yd2FyZCB0byBxdGRlbXV4IGFuZCBtYXJrIGVhY2ggc2VnbWVudCBzdGFydCBhcyBESVNDT05ULiBUaGlzIG5lZWRzCgkgIHRvIGJlIGZvcndhcmRlZCBkb3duc3RyZWFtIHRvIHRoZSBwYXJzZXIvZGVjb2Rlciwgb3RoZXJ3aXNlIGl0IHdvbid0IHdvcmsuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzQ0NDMKCjIwMTQtMDgtMTAgMTg6NTU6MDcgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogdXNlIHBrZy1jb25maWcgdG8gZGV0ZWN0IHgxMSBhbmQgc2ltcGxpZnkgY2hlY2tzCgkgIEFDX1BBVEhfWFRSQSBtYWNybyB1bm5lY2Vzc2FyaWx5IHB1bGxzIGluIGxpYlNNIGFuZCBsaWJJQ0UuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzEwNDcKCjIwMTQtMDgtMTAgMTI6MzA6MDcgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1uYXV3QHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cC1wYXlsb2FkaW5nLmM6CgkgIHRlc3RzOiBydHAtcGF5bG9hZGluZzogYWRqdXN0IHRlc3QgZGF0YSB0byBhdm9pZCBOQUwgY2hvcHBpbmcKCSAgLi4uIGFuZCBjb3JyZXNwb25kaW5nbHkgdW5leHBlY3RlZCBidWZmZXIgc2l6ZXMuCgoyMDE0LTA4LTA5IDE0OjIyOjQyICswMjAwICBTZWJhc3RpYW4gUmFzbXVzc2VuIDxzZWJyYXNAaG90bWFpbC5jb20+CgoJKiBleHQvc3BlZXgvZ3N0c3BlZXhlbmMuYzoKCSAgc3BlZXhlbmM6IEltcHJvdmUgYW5ub3RhdGlvbiBvZiBpbnRlcm5hbCBmdW5jdGlvbgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM0NTQyCgoyMDE0LTA4LTA4IDEyOjU0OjMwICswMjAwICBTZWJhc3RpYW4gUmFzbXVzc2VuIDxzZWJyYXNAaG90bWFpbC5jb20+CgoJKiBnc3Qvc2hhcGV3aXBlL2dzdHNoYXBld2lwZS5jOgoJKiB0ZXN0cy9leGFtcGxlcy9zaGFwZXdpcGUvc2hhcGV3aXBlLWV4YW1wbGUuYzoKCSAgc2hhcGV3aXBlOiBVbnJlZiBjYXBzIGFuZCBlbGVtZW50IGFmdGVyIHVzYWdlCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzQ0NzgKCjIwMTQtMDgtMDkgMjA6NDc6MzAgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogaW1wcm92ZSBkZWJ1ZyBsb2dnaW5nIG9mIGZvdXJjY3MKCSAgSWYgd2UgY2FuJ3Qgc2hvdyBBU0NJSSwgYXQgbGVhc3Qgc2hvdyB0aGVtCgkgIGluIGJpZyBlbmRpYW4gb3JkZXIuCgoyMDE0LTA4LTA5IDIwOjQ2OjA0ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IGFkZCBzdXBwb3J0IGZvciAnd21hICcgbWFwcGluZyBhcyBmb3VuZCBpbiBzb21lIGlzbXYgZmlsZXMKCSAgZS5nLiBUb19UaGVfTGltaXRfNzIwXzI5NjIuaXNtdgoKMjAxNC0wOC0wOSAxODozMToyMCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBhZGQgc3VwcG9ydCBmb3IgJ3ZjLTEnIG1hcHBpbmcgYXMgZm91bmQgaW4gc29tZSBpc212IGZpbGVzCgkgIGUuZy4gVG9fVGhlX0xpbWl0XzcyMF8yOTYyLmlzbXYKCjIwMTQtMDgtMDcgMTY6MzQ6MzYgKzAyMDAgIFNlYmFzdGlhbiBSYXNtdXNzZW4gPHNlYnJhc0Bob3RtYWlsLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2M3BwYXkuYzoKCSAgcnRwaDI2M3BwYXk6IFVucmVmIHBhZCB0ZW1wbGF0ZSBjYXBzIGFmdGVyIHVzZQoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM0NDM1CgoyMDE0LTA4LTA4IDEyOjM2OjAxICswMjAwICBTZWJhc3RpYW4gUmFzbXVzc2VuIDxzZWJyYXNAaG90bWFpbC5jb20+CgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyMi5jOgoJICB2aWRlb21peGVyOiBVbnJlZiBhbGxvd2VkIGNhcHMgYWZ0ZXIgdXNhZ2UKCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNDQ3NAoKMjAxNC0wOC0wOCAxMjo0MDo0OSArMDIwMCAgU2ViYXN0aWFuIFJhc211c3NlbiA8c2VicmFzQGhvdG1haWwuY29tPgoKCSogZ3N0L2ltYWdlZnJlZXplL2dzdGltYWdlZnJlZXplLmM6CgkgIGltYWdlZnJlZXplOiBVbnJlZiBwYWQgdGVtcGxhdGUgY2FwcyBhZnRlciB1c2FnZQoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM0NDc1CgoyMDE0LTA4LTA4IDEyOjQ0OjA5ICswMjAwICBTZWJhc3RpYW4gUmFzbXVzc2VuIDxzZWJyYXNAaG90bWFpbC5jb20+CgoJKiBnc3QvZGVidWd1dGlscy9nc3RuYXZzZWVrLmM6CgkgIG5hdnNlZWs6IFVucmVmIHBlZXIgcGFkIGFmdGVyIHVzYWdlCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzQ0NzYKCjIwMTQtMDgtMDggMTI6Mjk6NTIgKzAyMDAgIFNlYmFzdGlhbiBSYXNtdXNzZW4gPHNlYnJhc0Bob3RtYWlsLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cG11eC5jOgoJICBydHBtdXg6IFVucmVmIHBhZCB0ZW1wbGF0ZSBjYXBzIGFmdGVyIHVzYWdlCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzQ0NzMKCjIwMTQtMDgtMDUgMTE6NDc6MzkgKzAyMDAgIFNyaW1hbnRhIFBhbmRhIDxzcmltYW50YUBheGlzLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2NHBheS5jOgoJICBydHBoMjY0cGF5OiBhcHBlbmQgcGFja2V0aXphdGlvbiBtb2RlIHBhcmFtZXRlciB0byBTRFAKCSAgQXBwZW5kIHBhY2tldGl6YXRpb24tbW9kZSBwYXJhbWV0ZXIgdG8gU0RQIGRlc2NyaXB0aW9uLgoJICBQYWNrZXRpemF0aW9uIG1vZGUgc2lnbmFscyB0aGUgcHJvcGVydGllcyBvZiBhbiBSVFAgcGF5bG9hZCB0eXBlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMzNTU2CgoyMDE0LTA4LTA4IDAzOjU4OjE0ICsxMDAwICBKYW4gU2NobWlkdCA8amFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9pc29tcDQvZ3N0cXRtdXguYzoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIGlzb21wNC9xdG11eDogV3JpdGUgY29ycmVjdCBmaWxlIGR1cmF0aW9uIHdoZW4gZ2FwcyBleGlzdC4KCSAgV2hlbiB3cml0aW5nIG91dCBhIHRyYWsgd2l0aCBhbiBlZGl0IGxpc3QsIG1ha2Ugc3VyZSB0aGUKCSAgb3ZlcmFsbCBmaWxlIGR1cmF0aW9uIGlzIGFsc28gdXBkYXRlZCB0byByZWZsZWN0IHRoZQoJICBsZW5ndGhlbmluZyBvZiB0aGUgc3RyZWFtLgoJICBBZGQgc29tZSBtb3JlIGRlYnVnIHRvIHF0ZGVtdXggdG8gd2FybiBhYm91dCBzdHJlYW1zIHRoYXQKCSAgYXJlIGxvbmdlciB0aGFuIHRoZSBmaWxlIGFuZCBnZXQgdHJ1bmNhdGVkLgoKMjAxNC0wOC0wNCAxNTozOToxNyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogUHVzaCB0aGUgY29ycmVjdCBzZWdtZW50IGluIFRDUCBtb2RlIHdoZW4gc2Vla2luZwoKMjAxNC0wOC0wMyAxMjozMzozMiArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bW5hdXdAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSogZ3N0L3J0cC9nc3RydHBoMjY0cGF5LmM6CgkgIHJ0cGgyNjRwYXk6IHVuYnJlYWsgYXUgYWxpZ25lZCBieXRlLXN0cmVhbSBwYXlsb2FkaW5nCgoyMDE0LTA3LTIyIDEzOjI0OjA5ICswMjAwICBTcmltYW50YSBQYW5kYSA8c3JpbWFudGFAYXhpcy5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRwYXkuYzoKCSAgcnRwaDI2NHBheTogYXBwZW5kIHByb2ZpbGUtbGV2ZWwtaWQgdG8gU0RQCgkgIEFwcGVuZCBwcm9maWxlLWxldmVsLWlkIHRvIFNEUCBpZiBhdmFpbGFibGUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzM1MzkKCjIwMTQtMDctMzEgMTg6NDc6NDkgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogTWFrZWZpbGUuYW06CgkqIGNvbW1vbjoKCSAgTWFrZWZpbGU6IEFkZCB1c2FnZSBvZiBidWlsZC1jaGVja3Mgc3RlcAoJICBBbGxvd3MgYnVpbGRpbmcgY2hlY2tzIHdpdGhvdXQgcnVubmluZyB0aGVtCgoyMDE0LTA3LTMxIDA5OjUzOjUzIC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy94aW1hZ2UveGltYWdldXRpbC5jOgoJICB4aW1hZ2VzcmM6IEZpeCB3YXJuaW5nIGFib3V0IG1pc3NpbmcgcmV0dXJuIHZhbHVlCgoyMDE0LTA3LTI0IDE1OjI4OjA5IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMveGltYWdlL2dzdHhpbWFnZXNyYy5jOgoJKiBzeXMveGltYWdlL3hpbWFnZXV0aWwuYzoKCSogc3lzL3hpbWFnZS94aW1hZ2V1dGlsLmg6CgkgIHhpbWFnZXNyYzogQWRkIG1pc3NpbmcgcmV0dXJuIHZhbHVlIHRvIEJ1ZmZlciBkaXNwb3NlIGZ1bmN0aW9uCgkgIERlcGVuZGluZyBvbnQgaGUgYnVpbGQsIHRoZSBtZXRob2QgY291bGQgcmV0dXJuIEZBTFNFLCBoZW5jZSBuZXZlcgoJICBmcmVlIHRoZSBidWZmZXJzLCBvciBhbHJlYWR5IFRSVUUgYW5kIGxlYWQgdG8gYSBjcmFzaDoKCSAgRml4ZXM6IGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzM2OTUKCjIwMTQtMDctMjggMTY6NDk6MTYgKzAyMDAgIFBoaWxpcHBlIE5vcm1hbmQgPHBoaWxuQGlnYWxpYS5jb20+CgoJKiBnc3QvaW50ZXJsZWF2ZS9pbnRlcmxlYXZlLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2ludGVybGVhdmUuYzoKCSAgaW50ZXJsZWF2ZTogc2V0IG91dHB1dCBjYXBzIGxheW91dCB0byBpbnRlcmxlYXZlZAoJICBTZXQgb3V0cHV0IGNhcHMgbGF5b3V0IGluZGVwZW5kZW50bHkgZnJvbSBpbnB1dCBjYXBzIGxheW91dCB3aGljaCBjYW4KCSAgYmUgZWl0aGVyIG5vbi1pbnRlcmxlYXZlZCBvciBpbnRlcmxlYXZlZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMzg2NgoKMjAxNC0wNy0yNiAxMjowNjozOSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dHMuc2FudG9zQG9zZy5zaXNhLnNhbXN1bmcuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSAgdjRsMmJ1ZmZlcnBvb2w6IGNsZWFyIGdjb25kCgoyMDE0LTA3LTI1IDE0OjMwOjMzIC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkgIFJldmVydCAidjRsMmJ1ZmZlcnBvb2w6IFdvcmthcm91bmQgZWxlbWVudHMgbm90IHJlcXVlc3RpbmcgYW55IGJ1ZmZlcnMiCgkgIFRoaXMgd2FzIGEgdGVtcG9yeSB3b3JrYXJvdW5kLCB3ZSBzaG91bGQgZml4IHRoZSBlbmNvZGVycyB0aGF0IGRvIG5vdAoJICBuZWdvdGF0aWF0ZSB0aGUgYW1vdW50IG9mIGJ1ZmZlcnMgdGhleSBuZWVkLgoJICBUaGlzIHJldmVydHMgY29tbWl0IGQwM2JjYmEzZGIxNWQwNmRiZGVhNmI3NzZhNmYyOGVkMmYwMzI3MmEuCgoyMDE0LTA3LTA4IDE0OjMxOjU5IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIHY0bDJvYmplY3Q6IERvbid0IHNoYXJlIG93biBwb29sIGlmIG1pbiBleGNlZWQgVjRMMiBjYXBhY2l0eQoJICBJZiB0aGUgbWluaW11bSByZXF1aXJlZCBidWZmZXIgZXhjZWVkIFY0TDIgY2FwYWNpdHksIGRvbid0IHNoYXJlIGRvd24KCSAgcG9vbC4gVGhpcyBhbGxvdyBzdXBwb3J0IHZlcnkgaGlnaCBsYXRlbmN5LCBsaWtlIHdpdGggeDI2NGVuYyBkZWZhdWx0CgkgIGVuY29kaW5nIHNldHRpbmdzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMyMjg4CgoyMDE0LTA3LTI1IDE3OjQyOjIwICswMjAwICBBdXLDqWxpZW4gWmFuZWxsaSA8YXVyZWxpZW4uemFuZWxsaUBwYXJyb3QuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICB2NGwyb2JqZWN0OiBxdWVyeSBtaW5pbXVtIHJlcXVpcmVkIGJ1ZmZlcnMgZm9yIG91dHB1dAoJICBTb21lIHY0bDIgZGV2aWNlcyBjb3VsZCByZXF1aXJlIGEgbWluaW11bSBidWZmZXJzIGRpZmZlcmVudCBmcm9tIGRlZmF1bHQKCSAgdmFsdWVzLiBSYXRoZXIgdGhhbiBibGluZGx5IHByb3Bvc2UgYSBwb29sIHdpdGggbWluLWJ1ZmZlcnMgc2V0IHRvIHRoZQoJICBkZWZhdWx0IHZhbHVlLCBpdCBhc2sgdGhlIGRldmljZSB1c2luZyBjb250cm9sIGlvY3RsLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMzNzUwCgoyMDE0LTA3LTIzIDE4OjQwOjEwICswMjAwICBBdXLDqWxpZW4gWmFuZWxsaSA8YXVyZWxpZW4uemFuZWxsaUBwYXJyb3QuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMnNpbmsuYzoKCSAgdjRsMnNpbms6IHVzZSBkaXJlY3RseSAnb2JqJyBpbnN0ZWFkIG9mICd2NGwyc2luay0+djRsMm9iamVjdCcKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMzYxNgoKMjAxNC0wNy0yMyAxODozOTo1MCArMDIwMCAgQXVyw6lsaWVuIFphbmVsbGkgPGF1cmVsaWVuLnphbmVsbGlAcGFycm90LmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnNpbmsuYzoKCSAgdjRsMjogc2V0IGRlYnVnIG1lc3NhZ2VzIGFjY29yZGluZyB0byBkZXZpY2UgdHlwZSBhbmQgSU8gbW9kZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMzNjE2CgoyMDE0LTA1LTI0IDE5OjAyOjU5IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgdjRsMm9iamVjdDogUmVtb3ZlIGlzX2FjdGl2ZSBjaGVja3MKCSAgVGhlc2UgY2hlY2tzIGFyZSBubyBsb25nZXIgcmVxdWlyZWQgd2l0aCByZWNlbnQgY2hhbmdlIHRvIHRoZSBidWZmZXJwb29sLiBUaGlzCgkgIHNob3VsZCBhbGxvdyBjaGFuZ2luZyB0aGUgY29uZmlndWFydGlvbiwgaGVuY2UgdGhlIHdheSBmb3J3YXJkIHJlbmVnb3RpYXRpb24KCSAgc3VwcG9ydC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyODI2OAoKMjAxNC0wNy0yMSAxODoxMToxNiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXhfbGFuZy5jOgoJICBxdGRlbXV4OiBmaXggbGFuZ3VhZ2UgY29kZSBwYXJzaW5nIGZvciAzLWxldHRlciBjb2RlcyBzdGFydGluZyB3aXRoICdhJwoJICBBbmQgaGFuZGxlIHNwZWNpYWwgdmFsdWUgZm9yICd1bnNwZWNpZmllZCcgZXhwbGljaXRseS4KCSAgaHR0cHM6Ly9kZXZlbG9wZXIuYXBwbGUuY29tL2xpYnJhcnkvbWFjL2RvY3VtZW50YXRpb24vUXVpY2tUaW1lL1FURkYvUVRGRkNoYXA0L3F0ZmY0Lmh0bWwKCjIwMTQtMDctMDggMDI6MTg6MjcgKzAyMDAgIE5pY29sYSBNdXJpbm8gPG5pY29sYS5tdXJpbm9AZ21haWwuY29tPgoKCSogZXh0L2pwZWcvZ3N0anBlZ2VuYy5jOgoJICBqcGVnZW5jOiBBZGQgc3VwcG9ydCBmb3IgZW5jb2RpbmcgZnJvbSBOVjIxIGFuZCBOVjEyCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzI4NzAKCjIwMTQtMDctMTkgMTg6MDQ6MzggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkgIEJhY2sgdG8gZGV2ZWxvcG1lbnQKCj09PSByZWxlYXNlIDEuNC4wID09PQoKMjAxNC0wNy0xOSAxNzoyMDozNCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIENoYW5nZUxvZzoKCSogTkVXUzoKCSogUkVMRUFTRToKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tMTM5NC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYWNvbG9yLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFwZXRhZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb2Z4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvcGFyc2Vycy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9kZXRlY3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXZpLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhY2FzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhaXJvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWN1dHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWludGVybGFjZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdG1mLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZmVjdHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXF1YWxpemVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZseGRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZGtwaXhidWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tMmsxLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWljeWRlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlkM2RlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWltYWdlZnJlZXplLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVybGVhdmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taXNvbXA0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWphY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanBlZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sZXZlbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tYXRyb3NrYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aWZpbGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlwYXJ0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5hdmlnYXRpb250ZXN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zczQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5nLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXB1bHNlYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVwbGF5Z2Fpbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwbWFuYWdlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHNwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNoYXBld2lwZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaG91dDJzZW5kLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNtcHRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlY3RydW0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdGFnbGliLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXVkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlbzRsaW51eDIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9ib3gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9jcm9wLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvZmlsdGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvbWl4ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdnB4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXhpbWFnZXNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi15NG1lbmMueG1sOgoJKiBnc3QtcGx1Z2lucy1nb29kLmRvYXA6CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgUmVsZWFzZSAxLjQuMAoKMjAxNC0wNy0xOSAxNjozNTo0MSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHBvL2FmLnBvOgoJKiBwby9hei5wbzoKCSogcG8vYmcucG86CgkqIHBvL2NhLnBvOgoJKiBwby9jcy5wbzoKCSogcG8vZGEucG86CgkqIHBvL2RlLnBvOgoJKiBwby9lbC5wbzoKCSogcG8vZW5fR0IucG86CgkqIHBvL2VvLnBvOgoJKiBwby9lcy5wbzoKCSogcG8vZXUucG86CgkqIHBvL2ZpLnBvOgoJKiBwby9mci5wbzoKCSogcG8vZ2wucG86CgkqIHBvL2hyLnBvOgoJKiBwby9odS5wbzoKCSogcG8vaWQucG86CgkqIHBvL2l0LnBvOgoJKiBwby9qYS5wbzoKCSogcG8vbHQucG86CgkqIHBvL2x2LnBvOgoJKiBwby9tdC5wbzoKCSogcG8vbmIucG86CgkqIHBvL25sLnBvOgoJKiBwby9vci5wbzoKCSogcG8vcGwucG86CgkqIHBvL3B0X0JSLnBvOgoJKiBwby9yby5wbzoKCSogcG8vcnUucG86CgkqIHBvL3NrLnBvOgoJKiBwby9zbC5wbzoKCSogcG8vc3EucG86CgkqIHBvL3NyLnBvOgoJKiBwby9zdi5wbzoKCSogcG8vdHIucG86CgkqIHBvL3VrLnBvOgoJKiBwby92aS5wbzoKCSogcG8vemhfQ04ucG86CgkqIHBvL3poX0hLLnBvOgoJKiBwby96aF9UVy5wbzoKCSAgVXBkYXRlIC5wbyBmaWxlcwoKMjAxNC0wNy0xOSAxMjozMjoyMiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHBvL2FmLnBvOgoJKiBwby9hei5wbzoKCSogcG8vYmcucG86CgkqIHBvL2NhLnBvOgoJKiBwby9jcy5wbzoKCSogcG8vZGEucG86CgkqIHBvL2RlLnBvOgoJKiBwby9lbC5wbzoKCSogcG8vZW5fR0IucG86CgkqIHBvL2VvLnBvOgoJKiBwby9lcy5wbzoKCSogcG8vZXUucG86CgkqIHBvL2ZpLnBvOgoJKiBwby9mci5wbzoKCSogcG8vZ2wucG86CgkqIHBvL2hyLnBvOgoJKiBwby9odS5wbzoKCSogcG8vaWQucG86CgkqIHBvL2l0LnBvOgoJKiBwby9qYS5wbzoKCSogcG8vbHQucG86CgkqIHBvL2x2LnBvOgoJKiBwby9tdC5wbzoKCSogcG8vbmIucG86CgkqIHBvL25sLnBvOgoJKiBwby9vci5wbzoKCSogcG8vcGwucG86CgkqIHBvL3B0X0JSLnBvOgoJKiBwby9yby5wbzoKCSogcG8vcnUucG86CgkqIHBvL3NrLnBvOgoJKiBwby9zbC5wbzoKCSogcG8vc3EucG86CgkqIHBvL3NyLnBvOgoJKiBwby9zdi5wbzoKCSogcG8vdHIucG86CgkqIHBvL3VrLnBvOgoJKiBwby92aS5wbzoKCSogcG8vemhfQ04ucG86CgkqIHBvL3poX0hLLnBvOgoJKiBwby96aF9UVy5wbzoKCSAgcG86IFVwZGF0ZSB0cmFuc2xhdGlvbnMKCjIwMTQtMDctMTkgMTE6MzA6MzAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvdmlkZW9ib3gvZ3N0dmlkZW9ib3guYzoKCSAgdmlkZW9ib3g6IERvbid0IG92ZXJ3cml0ZSB0aGUgZmlyc3QgY29tcG9uZW50IHdpdGggdGhlIGFscGhhIHZhbHVlIGZvciBCR1J4CgkgIEluc3RlYWQgbGVhdmUgdGhlIHggY29tcG9uZW50IHVuc2V0IHdoZW4gZmlsbGluZyB0aGUgYm9yZGVycy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMzM4MAoKMjAxNC0wNy0xNiAxNzoxODo1OSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWFjcGFyc2UuYzoKCSAgYWFjcGFyc2U6IFByb3Blcmx5IHJlcG9ydCBpbiB0aGUgQ0FQUyBxdWVyeSB0aGF0IHdlIGNhbiBjb252ZXJ0IEFEVFM8LT5SQVcKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMzE5MAoKMjAxNC0wNy0xMyAxNjowNTo1NiArMDIwMCAgU2ViYXN0aWFuIFJhc211c3NlbiA8c2VicmFzQGhvdG1haWwuY29tPgoKCSogZ3N0L3JlcGxheWdhaW4vZ3N0cmd2b2x1bWUuYzoKCSAgcmd2b2x1bWU6IEF2b2lkIHRha2luZyB1bm5lY2Vzc2FyeSByZWZzCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzMxMjIKCjIwMTQtMDctMTMgMTY6MDQ6MjMgKzAyMDAgIFNlYmFzdGlhbiBSYXNtdXNzZW4gPHNlYnJhc0Bob3RtYWlsLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGR0bWZtdXguYzoKCSAgcnRwZHRtZm11eDogQXZvaWQgdGFraW5nIGFuIHVubmVjZXNzYXJ5IHJlZgoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMzMTIyCgoyMDE0LTA3LTE1IDE2OjU5OjA2ICswMjAwICBQaW90ciBEcsSFZyA8cGlvdHJkcmFnQGdtYWlsLmNvbT4KCgkqIHBvL1BPVEZJTEVTLmluOgoJICBwbzogdXBkYXRlIFBPVEZJTEVTCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzMyMDgKCjIwMTQtMDctMTEgMTM6MzU6MTAgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSAgdjRsMmJ1ZmZlcnBvb2w6IEZpeCBjb3B5IHRocmVzaG9sZCBpbXBsZW1lbnRhdGlvbgoJICBXZSBjYW5ub3QgYWxsb2NhdGUgbmV3IGJ1ZmZlciBpbiBhY3F1aXJlLCBvdGhlcndpc2UgdGhlIGJhc2UgY2xhc3MKCSAgaXMgbm90IGF3YXJlIGFuZCBnZXQgY29uZnVzZWQuIEluc3RlYWQsIGNvcHkgaW4gX3Byb2Nlc3MoKS4gVGhpcyBsZWFkcwoJICB0byBjcmFzaCBvbiBmaW5hbGl6ZS4KCSAgRml4ZXMgcmVncmVzc2lvbiwgc2VlIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzI5MTIKCj09PSByZWxlYXNlIDEuMy45MSA9PT0KCjIwMTQtMDctMTEgMTE6Mzg6NTcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBDaGFuZ2VMb2c6CgkqIE5FV1M6CgkqIFJFTEVBU0U6CgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLTEzOTQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWFzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGFjb2xvci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hcGV0YWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9meC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb3BhcnNlcnMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvZGV0ZWN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF2aS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWNhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWlyby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jdXR0ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVpbnRlcmxhY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRtZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmZlY3R2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVxdWFsaXplci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbGFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHhkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2RrcGl4YnVmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbTJrMS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pY3lkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pZDNkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbWFnZWZyZWV6ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlcmxlYXZlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlzb21wNC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwZWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGV2ZWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWF0cm9za2EueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlmaWxlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpcGFydC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uYXZpZ2F0aW9udGVzdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3M0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zc2F1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBuZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wdWxzZWF1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlcGxheWdhaW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cG1hbmFnZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRzcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaGFwZXdpcGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hvdXQyc2VuZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbXB0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWN0cnVtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXRhZ2xpYi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi11ZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW80bGludXgyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvYm94LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvY3JvcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2ZpbHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb21peGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZweC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14aW1hZ2VzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teTRtZW5jLnhtbDoKCSogZ3N0LXBsdWdpbnMtZ29vZC5kb2FwOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIFJlbGVhc2UgMS4zLjkxCgoyMDE0LTA3LTExIDEwOjU4OjA4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogcG8vYWYucG86CgkqIHBvL2F6LnBvOgoJKiBwby9iZy5wbzoKCSogcG8vY2EucG86CgkqIHBvL2NzLnBvOgoJKiBwby9kYS5wbzoKCSogcG8vZGUucG86CgkqIHBvL2VsLnBvOgoJKiBwby9lbl9HQi5wbzoKCSogcG8vZW8ucG86CgkqIHBvL2VzLnBvOgoJKiBwby9ldS5wbzoKCSogcG8vZmkucG86CgkqIHBvL2ZyLnBvOgoJKiBwby9nbC5wbzoKCSogcG8vaHIucG86CgkqIHBvL2h1LnBvOgoJKiBwby9pZC5wbzoKCSogcG8vaXQucG86CgkqIHBvL2phLnBvOgoJKiBwby9sdC5wbzoKCSogcG8vbHYucG86CgkqIHBvL210LnBvOgoJKiBwby9uYi5wbzoKCSogcG8vbmwucG86CgkqIHBvL29yLnBvOgoJKiBwby9wbC5wbzoKCSogcG8vcHRfQlIucG86CgkqIHBvL3JvLnBvOgoJKiBwby9ydS5wbzoKCSogcG8vc2sucG86CgkqIHBvL3NsLnBvOgoJKiBwby9zcS5wbzoKCSogcG8vc3IucG86CgkqIHBvL3N2LnBvOgoJKiBwby90ci5wbzoKCSogcG8vdWsucG86CgkqIHBvL3ZpLnBvOgoJKiBwby96aF9DTi5wbzoKCSogcG8vemhfSEsucG86CgkqIHBvL3poX1RXLnBvOgoJICBVcGRhdGUgLnBvIGZpbGVzCgoyMDE0LTA3LTEwIDE4OjExOjIwIC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYWxsb2NhdG9yLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJhbGxvY2F0b3IuaDoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSAgdjRsMmFsbG9jYXRvcjogVXNlIHFkYXRhIGluc3RlYWQgb2YgcGFyZW50aW5nIHRvIERtYWJ1Zk1lbW9yeQoJICBQYXJlbnRpbmcgVjRsMk1lbW9yeSB0byBEbWFidWZNZW1vcnkgd2FzIGluIGNvbmZsaWN0IHdpdGggcmVjZW50CgkgIG9wdGltaXphdGlvbiBpbiBEbWFidWZNZW1vcnkgdG8gYXZvaWQgZHVwKCksIGFuZCBkaWRuJ3Qgd29yayB3aXRoCgkgIG1lbW9yeSBzaGFyaW5nLiBJbnN0ZWFkLCB1c2UgYSBxZGF0YSBhbmQgaXQncyBkZXN0cm95IG5vdGlmeS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMDQ0MQoKMjAxNC0wNy0xMSAwODo1MjozOSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHBvL2RhLnBvOgoJKiBwby9kZS5wbzoKCSogcG8vaHUucG86CgkqIHBvL2lkLnBvOgoJKiBwby9wbC5wbzoKCSogcG8vcnUucG86CgkqIHBvL3VrLnBvOgoJKiBwby92aS5wbzoKCSAgcG86IFVwZGF0ZSB0cmFuc2xhdGlvbnMKCjIwMTQtMDctMDggMTc6NTA6NDcgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkgIHY0bDJidWZmZXJwb29sOiBXb3JrYXJvdW5kIGVsZW1lbnRzIG5vdCByZXF1ZXN0aW5nIGFueSBidWZmZXJzCgkgIFRoaXMgaXMgYSB3b3JrYXJvdW5kIGZvciBlbGVtZW50IHRoYXQgZG9uJ3QgcmVxdWVzdCBidWZmZXJzIHdoZW4KCSAgdGhleSBzaG91bGQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzIyODgKCjIwMTQtMDctMDYgMTE6Mjc6MzYgKzAyMDAgIFNlYmFzdGlhbiBSYXNtdXNzZW4gPHNlYnJhc0Bob3RtYWlsLmNvbT4KCgkqIHRlc3RzL2ljbGVzL3ZpZGVvY3JvcC10ZXN0LmM6CgkgIHRlc3RzOiBmaXggcGlwZWxpbmUgbGVhayBpbiB2aWRlb2Nyb3AgdGVzdAoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMyOTc2CgoyMDE0LTA3LTA2IDExOjI2OjQ2ICswMjAwICBTZWJhc3RpYW4gUmFzbXVzc2VuIDxzZWJyYXNAaG90bWFpbC5jb20+CgoJKiB0ZXN0cy9leGFtcGxlcy9ydHAvY2xpZW50LXJ0cGF1eC5jOgoJICBleGFtcGxlczogY2xpZW50LXJ0cGF1eDogUmVsZWFzZSByZWZlcmVuY2UgdG8gcGFyZW50IHdoZW4gZG9uZQoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMyOTc2CgoyMDE0LTA3LTEwIDE3OjE5OjQyICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBmaXggcXVlcnkgbGVhawoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMzMDAzCgoyMDE0LTA3LTEwIDEyOjEwOjQ1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3dhdmVuYy9nc3R3YXZlbmMuYzoKCSAgd2F2ZW5jOiBSZXR1cm4gbm90LW5lZ290aWF0ZWQgaWYgd2UgZ290IG5vIGNhcHMgb3IgY2FwcyBuZWdvdGlhdGlvbiBmYWlsZWQKCSAgQW5kIGRvIGl0IGFsd2F5cywgbm90IGluc2lkZSBhIGdfcmV0dXJuX3ZhbF9pZl9mYWlsKCkuCgkgIFNlZSBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMyOTM5CgoyMDE0LTA3LTA4IDEzOjM0OjI4IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkgIHY0bDJzcmM6IEVuc3VyZSBpbnRlcm5hbCBwb29sIGFjdGl2YXRpb24KCSAgQmVmb3JlIHdlIHdvdWxkIGhpdCBhbiBhc3NlcnRpb24gIidnc3RfYnVmZmVyX3Bvb2xfaXNfYWN0aXZlIChicG9vbCknIGZhaWxlZCIKCSAgaWYgdGhlIGludGVybmFsIHBvb2wgd2FzIG5vdCB1c2VkIHRvIHB1c2ggYnVmZmVyIGRvd25zdHJlYSwgaGVuY2Ugbm90CgkgIGdpdmVuIHRvIHRoZSBiYXNlY2xhc3MuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzI5MTIKCjIwMTQtMDctMDQgMjA6MjI6MTAgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyMi5jOgoJICB2aWRlb21peGVyOiBmaXggZG91YmxlIHVubG9jayBpbiBzZWdtZW50IHNlZWsgc2VnbWVudCBjb2RlIHBhdGgKCSAgV2Ugb25seSB3YW50IHRvIHVubG9jayBpZiB3ZSBwdXNoIGFuIGV2ZW50IGRvd25zdHJlYW0gYW5kCgkgIGp1bXAgdG8gZG9uZV91bmxvY2sgbGFiZWwgYWZ0ZXJ3YXJkcy4gV2Ugd291bGQgYWxzbyB1bmxvY2sKCSAgaW4gY2FzZSBvZiBhIHNlZ21lbnQgc2VlayBhbmQgdGhlbiB1bmxvY2sgYWdhaW4gbGF0ZXIsIGFuZAoJICBub3RoaW5nIGdvb2QgY2FuIGNvbWUgb2YgdGhhdC4KCSAgKFRoaXMgY29kZSBsb29rcyBhIGJpdCBkb2RneSBhbnl3YXkgdGhvdWdoLCBzaG91bGRuJ3QgaXQKCSAgYWxzbyBiYWlsIG91dCB3aXRoIEZMT1dfRU9TIGhlcmUgaW4gY2FzZSBvZiBhIHNlZ21lbnQgc2VlawoJICBzY2VuYXJpbywganVzdCB3aXRob3V0IHRoZSBldmVudD8pCgoyMDE0LTA3LTA0IDE5OjQ1OjU1ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcXRtdXguYzoKCSAgdGVzdHM6IHF0bXV4OiBzdXBwcmVzcyBnbGliIGNyaXRpY2FscyBjYXVzZWQgYnkgdGVzdGluZyBkZXByZWNhdGVkIGR0cyBtZXRob2RzCgoyMDE0LTA3LTA0IDAzOjIxOjMwICswMjAwICBTZWJhc3RpYW4gUmFzbXVzc2VuIDxzZWJyYXNAaG90bWFpbC5jb20+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOgoJICBhdmlkZW11eCwgd2F2cGFyc2U6IFByaW50IGludmFsaWQgZm91cmNjIGluIGhleAoJICBQcmV2aW91c2x5IHRoaXMgd2FzIHByaW50ZWQgYXMgY2hhcmFjdGVycyB3aGljaCBjYXVzZWQgbGF0ZXIgcHJvY2Vzc2luZwoJICBvZiB0aGUgZXJyb3IgbWVzc2FnZSB0byBzb21ldGltZXMgd2FybiBhYm91dCBub24tVVRGLTggY2hhcmFjdGVycy4KCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMjcxNAoKMjAxNC0wNy0wMyAxNToyMToxOCAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICB2NGwyb2JqZWN0OiBQb29sIG1pZ2h0IGJlIE5VTEwgaW4gZGVjaWRlIGFsbG9jYXRpb24KCSAgSWYgc3BlY2lhbCBzdHJpZGUgaXMgbmVlZGVkIGFuZCBkb3duc3RyZWFtIGRvbid0IHN1cHBvcnQgVmlkZW9NZXRhLAoJICBwb29sIG1pZ2h0IGJlIE5VTEwgaW4gb3JkZXIgdG8gbGV0IHRoZSBiYXNlY2xhc3MgY3JlYXRlIGEgZ2VuZXJpYwoJICBwb29swq0uIFRoaXMgd291bGQgbGVhZCB0byBhc3NlcnRpb24gd2l0aCBvbiBFeHlub3Mgd2l0aDoKCSAgZ3N0LWxhdW5jaC0xLjAgLXYgZmlsZXNyYyBsb2NhdGlvbj1tb3YgISBxdGRlbXV4ICEgaDI2NHBhcnNlICEgXAoJICB2NGwydmlkZW84ZGVjICEgZmFrZXNpbmsKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMjcwNwoKMjAxNC0wNy0wMyAxNToyOTo1NCAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuaDoKCSAgdjRsMmJ1ZmZlcnBvb2w6IEhhbmRsZSBGRCBlcnJvciBkdXJpbmcgcG9sbAoJICBUaGlzIHdpbGwgZW5zdXJlIHdlIGZhaWwgZWFybGllciBpZiBzb21ldGhpbmcgdW5yZWNvdmVyYWJsZQoJICBoYXBwZW5zLgoKMjAxNC0wNy0wMyAxNToyODo0NSAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuaDoKCSAgdjRsMmJ1ZmZlcnBvb2w6IFdhaXQgYmVmb3JlIHBvbGxpbmcgaWYgcXVldWUgaXMgZW1wdHkKCSAgSW4ga2VybmVsIGJlZm9yZSAzLjE3LCBwb2xsaW5nIGR1cmluZyBxdWV1ZSB1bmRlcnJ1biB3b3VsZCB1bmJsb2NrIHJpZ2h0CgkgIGF3YXkgYW5kIHRyaWdnZXIgUE9MTEVSUi4gQXMgd2UgYXJlIG5vdCBoYW5kbGluZyBQT0xMRVJSLCB3ZSB3b3VsZCBlbmR1cAoJICBibG9ja2luZyBpbiBEUUJVRiBjYWxsLCB3aGljaCB3b24ndCBiZSB1bmJsb2NrZWQgY29ycmVjdGx5IHdoZW4gZ29pbmcKCSAgdG8gTlVMTCBzdGF0ZS4gQSBkZWFkbG9jayBhdCBzdGFydCBjYXVzZWQgYnkgbG9ja2luZyBlcnJvciBpbiBsaWJ2NGwyIHdhcwoJICBhbHNvIHNlZW4gYmVmb3JlIHRoaXMgcGF0Y2guIEluc3RlYWQsIHdlIHdhaXQgdW50aWwgdGhlIHF1ZXVlIGlzIG5vIGxvbmdlcgoJICBlbXB0eSBiZWZvcmUgcG9sbGluZy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMTAxNQoKMjAxNC0wNy0wMiAxNjowMTo0NyArMDIwMCAgV2ltIFRheW1hbnMgPHd0YXltYW5zQHJlZGhhdC5jb20+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IGZpeCBmb3IgbWlrZXkgYXBpIGNoYW5nZQoKMjAxNC0wNi0zMCAxMDoyOTo1NCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgdjRsMjogZml4IHByb2JpbmcgYW5kIGVudW1lcmF0aW9uIG9mIHN0ZXB3aXNlIGZyYW1lIHNpemVzCgkgIFRoZSBjb2RlIGVudW1lcmF0aW5nIFNURVBXSVNFIGZyYW1lc2l6ZXMgd291bGQgc3RhcnQgZnJvbQoJICAobWluX3csIG1pbl9oKSBhbmQgdGhlbiBhZGQgKHN0ZXBfdywgc3RlcF9oKSB0byBnZXQgdGhlCgkgIG5leHQgZnJhbWVzaXplLiBIb3dldmVyLCBpdCBzaG91bGQgcmVhbGx5IGFsbG93IGFueSB3aWR0aAoJICBmcm9tIG1pbl93IHRvIG1heF93IHdpdGggc3RlcF93IGFuZCBzYW1lIGZvciBoZWlnaHRzLgoJICBTZWNvbmRseSwgd2Ugd291bGQgYWRkIGFuZCBwcm9iZSBlYWNoIGluZGl2aWR1YWwgc3RlcHBlZAoJICBmcmFtZSBzaXplIHRvIHRoZSBjYXBzIGFzIHNlcGFyYXRlIHN0cnVjdHVyZSwgd2hpY2ggd291bGQKCSAgbGVhZCB0byBodW5kcmVkcyBpZiBub3QgdGhvdXNhbmRzIG9mIHN0cnVjdHMgZW5kaW5nIHVwIGluCgkgIHRoZSBwcm9iZWQgY2Fwcy4gVXNlIGludGVnZXIgcmFuZ2VzIHdpdGggc3RlcHMgaW5zdGVhZC4KCSAgVGhpcyB3YXMgcGFydGljdWxhcmx5IG5vdGljYWJsZSB3aXRoIHRoZSBSYXNwYmVycnkgUGkgQ2FtLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI0NTIxCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzI0NTgKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyNjUyMQoKMjAxNC0wNi0yNyAxMTozMzowNiArMDEwMCAgRGFuaWVsIERyYWtlIDxkcmFrZUBlbmRsZXNzbS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIHY0bDJvYmplY3Q6IGRyb3Agd29ya2Fyb3VuZCBmb3IgbWlzYmVoYXZpbmcgVFJZX0ZNVAoJICBUaGlzIHdvcmthcm91bmQgZnJvbSAyMDExIHdhcyBjYXVzaW5nIDI1IFNfRk1UIGlvY3RscyB0byBiZSBzZW50CgkgIHRvIG15IFVWQyB3ZWJjYW0gZnJvbSB1bmRlciBnc3RfdjRsMl9vYmplY3RfZ2V0X2NhcHMgYXMgaXQgcHJvYmVzCgkgIGFsbCB0aGUgZm9ybWF0cy4gSW4gdG90YWwsIHRoaXMgYWRkcyB1cCB0byBhYm91dCA1IHNlY29uZHMgb2YKCSAgZXhlY3V0aW9uIHRpbWUsIG9yIGEgMTAgc2Vjb25kIGRlbGF5IHdoaWxlIHN0YXJ0aW5nIHVwIGNoZWVzZS4KCSAgVGhlc2UgaW9jdGxzIGNvbWUgZnJvbSBhIHdvcmthcm91bmQgZnJvbSAyMDExIHdoZXJlIFRSWV9GTVQgbWlnaHQKCSAgbWFrZSBjaGFuZ2VzIHRvIGhhcmR3YXJlIHNldHRpbmdzLCBzbyBTX0ZNVCB3YXMgdXNlZCB0byByZXN0b3JlCgkgIHRoZSBvcmlnaW5hbCBjb25maWc6CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NDkwNjcKCSAgVGhlIGRyaXZlciBidWcgaXMgbm93IGFzc3VtZWQgZml4ZWQuIFJlbW92ZSB0aGUgd29ya2Fyb3VuZCB0byBmaXggdGhlCgkgIGxvbmcgc3RhcnR1cCBkZWxheS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMjMyNgoKMjAxNC0wNy0wMSAxMjo1MDozMSArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyMi5jOgoJICB2aWRlb21peGVyOiByZXNldCBRb1Mgb24gc2VnbWVudCBldmVudAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMyNTQwCgoyMDE0LTA3LTAxIDE1OjE0OjM0ICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYWRlbXV4OiBzZW5kIGdhcCBldmVudHMgaW5zdGVhZCBvZiBzZWdtZW50IHRyaWNrcwoJICBUaGlzIGZpeGVzIG1pc3NpbmcgZnJhbWVzIGZyb20gYmVpbmcgdGltZSBza2lwcGVkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMyMzcyCgoyMDE0LTA2LTMwIDAwOjAwOjMyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwc2Vzc2lvbi5jOgoJICBydHBzZXNzaW9uOiBGaXggbWVtb3J5IGxlYWtzIGluIHVuaXQgdGVzdAoKMjAxNC0wNi0yOSAyMzo1NToxOSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOgoJICBydHBiaW46IERvbid0IGxlYWsgY2FwcwoKMjAxNC0wNi0yOSAyMDowMjoxNCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9wdWxzZS9wdWxzZXNyYy5jOgoJICBwdWxzZXNyYzogRml4IGNvbXBpbGVyIHdhcm5pbmcgd2hlbiBjb21waWxpbmcgd2l0aCBHX0RJU0FCTEVfQVNTRVJUCgoyMDE0LTA2LTI5IDE5OjU5OjUzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc3NyY2RlbXV4LmM6CgkgIHJ0cHNzcmNkZW11eDogRml4IGNvbXBpbGVyIHdhcm5pbmcgd2hlbiBjb21waWxpbmcgd2l0aCBHX0RJU0FCTEVfQVNTRVJUCgoyMDE0LTA2LTI5IDE5OjU3OjU3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJICBtYXRyb3NrYW11eDogRml4IGNvbXBpbGVyIHdhcm5pbmdzIHdoZW4gY29tcGlsaW5nIHdpdGggR19ESVNBQkxFX0FTU0VSVAoKMjAxNC0wNi0yOSAxOTo1NDo0NCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZW1ldGhvZC5jOgoJICBkZWludGVybGFjZTogRml4IGNvbXBpbGVyIHdhcm5pbmdzIHdoZW4gY29tcGlsaW5nIHdpdGggR19ESVNBQkxFX0FTU0VSVAoKMjAxNC0wNi0yOSAxNzowNToxMyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9wdWxzZS9wdWxzZWRldmljZXByb3ZpZGVyLmM6CgkgIHB1bHNlOiBmaXggY29tcGlsZXIgd2FybmluZ3Mgd2hlbiBjb21waWxpbmcgd2l0aCAtREdfRElTQUJMRV9BU1NFUlQKCSAgQ29tcGlsZXIgY29tcGxhaW5zIGFib3V0IHVuaW5pdGlhbGlzZWQgdmFyaWFibGVzIGluIHRoZSBpbXBvc3NpYmxlCgkgICdkZWZhdWx0JyBjb2RlIHBhdGggaW4gZGV2aWNlIHByb3ZpZGVyIHNvdXJjZS9zaW5rIHN3aXRjaC1jYXNlLgoKMjAxNC0wNi0yOSAxNzowMzoxNyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJkZXZpY2Vwcm92aWRlci5jOgoJICB2NGwyOiBmaXggY29tcGlsZXIgd2FybmluZ3Mgd2hlbiBjb21waWxpbmcgd2l0aCAtREdfRElTQUJMRV9BU1NFUlQKCSAgQ29tcGlsZXIgY29tcGxhaW5zIGFib3V0IHVuaW5pdGlhbGlzZWQgdmFyaWFibGVzIGluIHRoZSBpbXBvc3NpYmxlCgkgICdkZWZhdWx0JyBjb2RlIHBhdGggaW4gZGV2aWNlIHByb3ZpZGVyIHNvdXJjZS9zaW5rIHN3aXRjaC1jYXNlLgoKMjAxNC0wNi0yOCAxNzo0MDo0NSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL21hdHJvc2thcGFyc2UuYzoKCSAgdGVzdHM6IG1hdHJvc2thcGFyc2U6IGZhaWwgb24gZXJyb3JzIGFuZCBkaXNhYmxlIHB1bGwgbW9kZSB0ZXN0CgkgIEFjdHVhbGx5IGxvb2sgZm9yIGVycm9yIG1lc3NhZ2VzIG9uIHRoZSBidXMgYW5kIGZhaWwgaWYgdGhlcmUKCSAgaXMgb25lIGJlZm9yZSB0aGUgRU9TIG1lc3NhZ2UuIERpc2FibGUgcHVsbCBtb2RlIHRlc3Qgd2hpY2ggaXMKCSAgcG9pbnRsZXNzIGFzIGxvbmcgYXMgbWF0cm9za2FwYXJzZSBvbmx5IHN1cHBvcnRzIHB1c2ggbW9kZQoJICAocHVsbCBtb2RlIHN1cHBvcnQgaGFzIG5vdCBiZWVuIHBvcnRlZCBvdmVyIHRvIDEuMCkuCgoyMDE0LTA2LTI4IDE3OjM3OjIzICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXBhcnNlLmM6CgkgIG1hdHJvc2thcGFyc2U6IGRvbid0IGVycm9yIG91dCBpZiB0aGVyZSdzIG5vdCBlbm91Z2ggZGF0YSBpbiB0aGUgYWRhcHRlcgoJICBnc3RfbWF0cm9za2FfcGFyc2VfdGFrZSgpIHdvdWxkIHJldHVybiBGTE9XX0VSUk9SIGluc3RlYWQgb2YKCSAgRkxPV19FT1MgaW4gY2FzZSB0aGVyZSdzIGxlc3MgZGF0YSBpbiB0aGUgYWRhcHRlciB0aGFuIHJlcXVlc3RlZCwKCSAgYmVjYXVzZSBidWZmZXIgaXMgTlVMTCBpbiB0aGF0IGNhc2Ugd2hpY2ggdHJpZ2dlcnMgdGhlIGVycm9yCgkgIGNvZGUgcGF0aC4gVGhpcyBtYWRlIHRoZSB1bml0IHRlc3QgZmFpbCAob2NjYXNpb25hbGx5IGF0IGxlYXN0LAoJICBiZWNhdXNlIG9mIGEgYnVnIGluIHRoZSB1bml0IHRlc3QgdGhlcmUncyBhIHJhY2UgYW5kIGl0IHdvdWxkCgkgIGhhcHBlbiBvbmx5IHNwb3JhZGljYWxseSkuCgoyMDE0LTA2LTI4IDE2OjUzOjU4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlcm9yYy1kaXN0LmM6CgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXJvcmMtZGlzdC5oOgoJICB2aWRlb21peGVyOiBVcGRhdGUgZGlzdCBnZW5lcmF0ZWQgT1JDIGZpbGVzCgoyMDE0LTA2LTI4IDE2OjQ4OjEzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3ZpZGVvbWl4ZXIvZ3N0Y21zLmM6CgkqIGdzdC92aWRlb21peGVyL2dzdGNtcy5oOgoJKiBnc3QvdmlkZW9taXhlci92aWRlb2NvbnZlcnQuYzoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9jb252ZXJ0Lmg6CgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXJvcmMub3JjOgoJICB2aWRlb21peGVyOiBVcGRhdGUgdmlkZW9jb252ZXJ0IGNvZGUgZnJvbSAtYmFzZQoJICBBbmQgYWxzbyByZW5hbWUgdGhlIHJlbWFpbmluZyBzeW1ib2xzIHRvIHByZXZlbnQgY29uZmxpY3RzCgkgIGR1cmluZyBzdGF0aWMgbGlua2luZy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyODQ0MwoKMjAxNC0wNi0yOCAxMzowMTo0NiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG92aWRlb3NyYy5jOgoJICBhdXRvdmlkZW9zcmM6IHVzZSB2aWRlb3Rlc3RzcmMgYXMgZmFsbGJhY2sgZWxlbWVudCBpbnN0ZWFkIG9mIGZha2VzcmMKCSAgZmFrZXNyYyBkb2Vzbid0IGFubm91bmNlIHZpZGVvIGNhcHMsIHNvIG1vc3QgdmlkZW8gcGlwZWxpbmVzIHdpbGwKCSAganVzdCBlcnJvciBvdXQgd2l0aCBub3QtbmVnb3RpYXRlZCBpZiBhIGZhbGxiYWNrIGVsZW1lbnQgaXMgY3JlYXRlZC4KCjIwMTQtMDYtMjggMTI6NDQ6MzEgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvYXVkaW9zcmMuYzoKCSogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b2RldGVjdC5jOgoJKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvZGV0ZWN0Lmg6CgkgIGF1dG9hdWRpb3NyYzogdXNlIGF1ZGlvdGVzdHNyYyBhcyBmYWxsYmFjayBlbGVtZW50IGluc3RlYWQgb2YgZmFrZXNyYwoJICBmYWtlc3JjIGRvZXNuJ3QgYW5ub3VuY2UgYXVkaW8gY2Fwcywgc28gbW9zdCBhdWRpbyBwaXBlbGluZXMgd2lsbAoJICBqdXN0IGVycm9yIG91dCB3aXRoIG5vdC1uZWdvdGlhdGVkIGlmIGEgZmFsbGJhY2sgZWxlbWVudCBpcyBjcmVhdGVkLgoKPT09IHJlbGVhc2UgMS4zLjkwID09PQoKMjAxNC0wNi0yOCAxMToyMToxNSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIENoYW5nZUxvZzoKCSogTkVXUzoKCSogUkVMRUFTRToKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLTEzOTQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWFzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGFjb2xvci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hcGV0YWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9meC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb3BhcnNlcnMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvZGV0ZWN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF2aS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWNhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWlyby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jdXR0ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVpbnRlcmxhY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRtZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmZlY3R2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVxdWFsaXplci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbGFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHhkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2RrcGl4YnVmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbTJrMS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pY3lkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pZDNkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbWFnZWZyZWV6ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlcmxlYXZlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlzb21wNC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwZWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGV2ZWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWF0cm9za2EueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlmaWxlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpcGFydC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uYXZpZ2F0aW9udGVzdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3M0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zc2F1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBuZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wdWxzZWF1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlcGxheWdhaW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cG1hbmFnZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRzcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaGFwZXdpcGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hvdXQyc2VuZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbXB0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWN0cnVtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXRhZ2xpYi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi11ZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW80bGludXgyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvYm94LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvY3JvcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2ZpbHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb21peGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZweC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14aW1hZ2VzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teTRtZW5jLnhtbDoKCSogZ3N0LXBsdWdpbnMtZ29vZC5kb2FwOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIFJlbGVhc2UgMS4zLjkwCgoyMDE0LTA2LTI4IDExOjA4OjMzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogcG8vYWYucG86CgkqIHBvL2F6LnBvOgoJKiBwby9iZy5wbzoKCSogcG8vY2EucG86CgkqIHBvL2NzLnBvOgoJKiBwby9kYS5wbzoKCSogcG8vZGUucG86CgkqIHBvL2VsLnBvOgoJKiBwby9lbl9HQi5wbzoKCSogcG8vZW8ucG86CgkqIHBvL2VzLnBvOgoJKiBwby9ldS5wbzoKCSogcG8vZmkucG86CgkqIHBvL2ZyLnBvOgoJKiBwby9nbC5wbzoKCSogcG8vaHIucG86CgkqIHBvL2h1LnBvOgoJKiBwby9pZC5wbzoKCSogcG8vaXQucG86CgkqIHBvL2phLnBvOgoJKiBwby9sdC5wbzoKCSogcG8vbHYucG86CgkqIHBvL210LnBvOgoJKiBwby9uYi5wbzoKCSogcG8vbmwucG86CgkqIHBvL29yLnBvOgoJKiBwby9wbC5wbzoKCSogcG8vcHRfQlIucG86CgkqIHBvL3JvLnBvOgoJKiBwby9ydS5wbzoKCSogcG8vc2sucG86CgkqIHBvL3NsLnBvOgoJKiBwby9zcS5wbzoKCSogcG8vc3IucG86CgkqIHBvL3N2LnBvOgoJKiBwby90ci5wbzoKCSogcG8vdWsucG86CgkqIHBvL3ZpLnBvOgoJKiBwby96aF9DTi5wbzoKCSogcG8vemhfSEsucG86CgkqIHBvL3poX1RXLnBvOgoJICBVcGRhdGUgLnBvIGZpbGVzCgoyMDE0LTA2LTI2IDE0OjUyOjU3IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZXh0L3B1bHNlL01ha2VmaWxlLmFtOgoJKiBleHQvcHVsc2UvcGx1Z2luLmM6CgkqIGV4dC9wdWxzZS9wdWxzZWRldmljZW1vbml0b3IuYzoKCSogZXh0L3B1bHNlL3B1bHNlZGV2aWNlbW9uaXRvci5oOgoJKiBleHQvcHVsc2UvcHVsc2VkZXZpY2Vwcm92aWRlci5jOgoJKiBleHQvcHVsc2UvcHVsc2VkZXZpY2Vwcm92aWRlci5oOgoJKiBzeXMvdjRsMi9NYWtlZmlsZS5hbToKCSogc3lzL3Y0bDIvZ3N0djRsMi5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyZGV2aWNlbW9uaXRvci5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyZGV2aWNlbW9uaXRvci5oOgoJKiBzeXMvdjRsMi9nc3R2NGwyZGV2aWNlcHJvdmlkZXIuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMmRldmljZXByb3ZpZGVyLmg6CgkgIFJlbmFtZSBHc3REZXZpY2VNb25pdG9yIHRvIEdzdERldmljZVByb3ZpZGVyCgoyMDE0LTA2LTI0IDA5OjE0OjQwICswNTMwICBSYXZpIEtpcmFuIEsgTiA8cmF2aS5raXJhbkBzYW1zdW5nLmNvbT4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy8uZ2l0aWdub3JlOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy92aWRlb2JveC5jOgoJICB2aWRlb2JveDogQWRkIHVuaXQgdGVzdAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMyMTQ0CgoyMDE0LTA2LTE2IDExOjM1OjM5ICswMjAwICBUaGliYXVsdCBTYXVuaWVyIDx0c2F1bmllckBnbm9tZS5vcmc+CgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyMi5jOgoJICB2aWRlb21peGVyOiBEZWNsYXJlIGFzIENvbXBvc2l0b3IgaW4gJ2tsYXNzJwoKMjAxNC0wNi0yNiAxMzo1MDoxOSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzoKCSAgZmx2ZGVtdXg6IGZpeCBzcGVleCBjYXBzCgkgIERlY29kZXIgY29tcGxhaW5zIGFib3V0ICJub3RpZmljYXRpb246IEludmFsaWQgbW9kZSBlbmNvdW50ZXJlZC4KCSAgVGhlIHN0cmVhbSBpcyBjb3JydXB0ZWQiIHRob3VnaCwgZXZlbiBpZiBpdCB3b3Jrcywgc28gdGhlcmUncwoJICBwcm9iYWJseSBzb21ldGhpbmcgd3Jvbmcgd2l0aCB0aGUgZ2VuZXJhdGVkIGNvZGVjIGhlYWRlcnMuCgoyMDE0LTA2LTI2IDEzOjQzOjMzICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2Zsdi9nc3RmbHZtdXguYzoKCSAgZmx2bXV4OiBmaXggc3BlZXggaW4gRkxWCgkgIFNwZWV4IGluIEZMViBpcyBhbHdheXMgbW9ubyBAIDE2a0h6LCBzZWUKCSAgaHR0cDovL2Rvd25sb2FkLm1hY3JvbWVkaWEuY29tL2Y0di92aWRlb19maWxlX2Zvcm1hdF9zcGVjX3YxMF8xLnBkZgoJICBzZWN0aW9uIEUuNC4yLjE6ICJJZiB0aGUgU291bmRGb3JtYXQgaW5kaWNhdGVzIFNwZWV4LCB0aGUgYXVkaW8gaXMKCSAgY29tcHJlc3NlZCBtb25vIHNhbXBsZWQgYXQgMTYga0h6LCB0aGUgU291bmRSYXRlIHNoYWxsIGJlIDAsIHRoZQoJICBTb3VuZFNpemUgc2hhbGwgYmUgMSwgYW5kIHRoZSBTb3VuZFR5cGUgc2hhbGwgYmUgMCIKCSAgQWxzbyBzZWUgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4MzYyMgoKMjAxNC0wNi0yNiAwNToxOTo1NyArMTAwMCAgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgaXNvbXA0OiBBZGQgb2JqZWN0IHR5cGUgaWQgYW5kIGZvdXJjYyBmb3IgRFRTL0RUUy1IRAoJICBFbmFibGVzIHBsYXliYWNrIGZvciBmaWxlcyB3aXRoIERUUyBhdWRpbyB0cmFja3MuCgkgIEFsc28gYWRkIGFuIGV4dHJhIEFDLTMgdmFyaWFudCBmb3VyY2MgZnJvbSBOZXJvCgoyMDE0LTAzLTEzIDEwOjM1OjMwICswMTAwICBEYXZpZCBGZXJuYW5kZXogPGQuZmVybmFuZGV6bG9wQGdtYWlsLmNvbT4KCgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIyLmM6CgkgIHZpZGVvbWl4ZXIyOiBTb2x2ZSBzZWdtZW50YXRpb24gZmF1bHQgd2hlbiBzcmMgY2FwcyBhcmUgY29uZmlndXJlZAoJICBDaGFuZ2UgZnVuY3Rpb24gcG9pbnRlcnMgdG8gTlVMTCB3aGlsZSBob2xkaW5nIHRoZSBsb2NrIHRvIGF2b2lkCgkgIHJhY2UgY29uZGl0aW9ucwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzAxMTEwCgoyMDE0LTA2LTI1IDE0OjM0OjIxICswMjAwICBXaW0gVGF5bWFucyA8d3RheW1hbnNAcmVkaGF0LmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBqaXR0ZXJidWZmZXI6IGltcHJvdmUgU1IgcGFja2V0IGhhbmRsaW5nCgkgIEltcGxlbWVudCAzIGRpZmZlcmVudCBjYXNlcyBmb3IgaGFuZGxpbmcgdGhlIFNSOgoJICAxKSB3ZSBkb24ndCBoYXZlIGVub3VnaCB0aW1pbmcgaW5mb3JtYXRpb24gdG8gaGFuZGxlIHRoZSBTUiBwYWNrZXQgYW5kCgkgIHdlIG5lZWQgdG8gd2FpdCBhIGxpdHRsZSBmb3IgbW9yZSBSVFAgcGFja2V0cy4gSW4gdGhhdCBjYXNlIHdlIGtlZXAKCSAgdGhlIFNSIHBhY2tldCBhcm91bmQgYW5kIHJldHJ5IHdoZW4gd2UgZ2V0IGFuIFJUUCBwYWNrZXQgaW4gdGhlCgkgIGNoYWluIGZ1bmN0aW9uLgoJICAyKSB0aGUgU1IgcGFja2V0IGhhcyBhIHRvbyBvbGQgdGltZXN0YW1wIGFuZCBzaG91bGQgYmUgZGlzY2FyZGVkLiBJdCBpcwoJICBsYWJlbGVkIGludmFsaWQgYW5kIHRoZSBsYXN0X3NyIGlzIGNsZWFyZWQuCgkgIDMpIHRoZSBTUiBwYWNrZXQgaXMgb2sgYW5kIHRoZXJlIGlzIGVub3VnaCB0aW1pbmcgaW5mb3JtYXRpb24sIHByb2NlZWQKCSAgd2l0aCBwcm9jZXNzaW5nIHRoZSBTUiBwYWNrZXQuCgkgIEJlZm9yZSB0aGlzIHBhdGNoLCBjYXNlIDIpIGFuZCAxKSB3ZXJlIGhhbmRsZWQgaW4gdGhlIHNhbWUgd2F5LAoJICByZXN1bHRpbmcgdGhhdCBTUiBwYWNrZXRzIHdpdGggdG9vIG9sZCB0aW1lc3RhbXBzIHdlcmUgY2hlY2tlZCBvdmVyIGFuZAoJICBvdmVyIGFnYWluIGZvciBlYWNoIFJUUCBwYWNrZXQuCgoyMDE0LTA2LTI0IDEwOjQ3OjMzICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvdWRwc2luay5jOgoJICB0ZXN0czogYWRkIHVkcHNpbmsgdGVzdCB0byBjaGVjayBjbGllbnQgYWRkL3JlbW92ZQoKMjAxNC0wNi0yMyAxNjoxMzoyNyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3VkcHNpbmsuYzoKCSAgdGVzdHM6IHBvcnQgdWRwc2luayB0ZXN0cyB0byAxLjAKCSAgVGhleSBhbGwgc2VlbSBhIGJpdCBwb2ludGxlc3MgdGhvdWdoLgoKMjAxNC0wNi0yMyAxOTo1NToyOSAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9hdmkvZ3N0YXZpbXV4LmM6CgkgIGF2aW11eDogQWRkIFVZVlkgZm9ybWF0CgoyMDE0LTA2LTA2IDExOjIwOjIxICswMjAwICBNaWd1ZWwgUGFyw61zIETDrWF6IDxtcGFyaXNkaWF6QGdtYWlsLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNzcmNkZW11eC5jOgoJICBnc3RydHBzc3JjZGVtdXg6IG1hbmFnZSBzc3JjIG9mIFJUQ1AgUlIgcGFja2V0cwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMxMzI0CgoyMDE0LTA2LTIzIDIwOjUzOjUwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6CgkgIHdhdnBhcnNlOiBVcGRhdGUgb2Zmc2V0IGFmdGVyIHBhcnNpbmcgYWR0bCBjaHVuawoJICBPdGhlcndpc2Ugd2Ugd2lsbCBwYXJzZSBpdCBvdmVyIGFuZCBvdmVyIGFnYWluIHdpdGhvdXQgZXZlcgoJICBnZXR0aW5nIHBhc3QgaXQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzE1MzMKCjIwMTMtMDctMDcgMjA6MTg6MjcgKzAyMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8eWxhdHV5YUBnbWFpbC5jb20+CgoJKiBzeXMvb3N4dmlkZW8vb3N4dmlkZW9zaW5rLmg6CgkqIHN5cy9vc3h2aWRlby9vc3h2aWRlb3NpbmsubToKCSAgb3N4dmlkZW9zaW5rOiByZW1vdmUgbGVnYWN5IGNvZGUgZm9yIHBhc3NpbmcgYSB3aW5kb3cgaGFuZGxlCgkgICJoYXZlLW5zLXZpZXciIGFuZCB0aGUgImVtYmVkIiBwcm9wZXJ0eSB3YXMga2VwdCBpbiAwLjEwIGZvcgoJICBiYWNrd2FyZHMgY29tcGF0aWJpbGl0eSBidXQgaXQncyBubyBsb25nZXIgdXNlZCBpbiBmYXZvciBvZgoJICB0aGUgR3N0VmlkZW9PdmVybGF5IGludGVyZmFjZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzAzNzUzCgoyMDE0LTA2LTIyIDE5OjM2OjE0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogY29uZmlndXJlLmFjOgoJICBCYWNrIHRvIGRldmVsb3BtZW50CgoyMDE0LTA2LTIyIDE5OjI2OjAzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXJlYWQtY29tbW9uLmM6CgkgIG1hdHJvc2thZGVtdXg6IERvbid0IGNhbGwgR1NUX0RFQlVHX09CSkVDVCgpIGFuZCBvdGhlciBtYWNyb3Mgd2l0aCBub24tR09iamVjdCBvYmplY3RzCgkgIEl0IHdpbGwgY3Jhc2ggd2l0aCBsYXRlc3QgR0xpYiBHSVQgYW5kIHdhcyBuZXZlciBzdXBwb3NlZCB0byB3b3JrIGJlZm9yZQoJICBlaXRoZXIuCgo9PT0gcmVsZWFzZSAxLjMuMyA9PT0KCjIwMTQtMDYtMjIgMTg6MDg6MDMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBDaGFuZ2VMb2c6CgkqIE5FV1M6CgkqIFJFTEVBU0U6CgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLnNpZ25hbHM6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi0xMzk0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhY29sb3IueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXBldGFnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvZngueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9wYXJzZXJzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2RldGVjdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdmkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FjYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2Fpcm8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY3V0dGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlaW50ZXJsYWNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0bWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZmZWN0di54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lcXVhbGl6ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmxhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx4ZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdka3BpeGJ1Zi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20yazEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWN5ZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW1hZ2VmcmVlemUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXJsZWF2ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pc29tcDQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tamFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxldmVsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1hdHJvc2thLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpZmlsZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aXBhcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmF2aWdhdGlvbnRlc3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzNC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3NhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbmcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcHVsc2VhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXBsYXlnYWluLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHBtYW5hZ2VyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0c3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hhcGV3aXBlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNob3V0MnNlbmQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc21wdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVjdHJ1bS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10YWdsaWIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdWRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvNGxpbnV4Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2JveC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2Nyb3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9maWx0ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9taXhlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12cHgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2ZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teGltYWdlc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXk0bWVuYy54bWw6CgkqIGdzdC1wbHVnaW5zLWdvb2QuZG9hcDoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICBSZWxlYXNlIDEuMy4zCgoyMDE0LTA2LTIyIDE3OjM2OjI4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogcG8vYWYucG86CgkqIHBvL2F6LnBvOgoJKiBwby9iZy5wbzoKCSogcG8vY2EucG86CgkqIHBvL2NzLnBvOgoJKiBwby9kYS5wbzoKCSogcG8vZGUucG86CgkqIHBvL2VsLnBvOgoJKiBwby9lbl9HQi5wbzoKCSogcG8vZW8ucG86CgkqIHBvL2VzLnBvOgoJKiBwby9ldS5wbzoKCSogcG8vZmkucG86CgkqIHBvL2ZyLnBvOgoJKiBwby9nbC5wbzoKCSogcG8vaHIucG86CgkqIHBvL2h1LnBvOgoJKiBwby9pZC5wbzoKCSogcG8vaXQucG86CgkqIHBvL2phLnBvOgoJKiBwby9sdC5wbzoKCSogcG8vbHYucG86CgkqIHBvL210LnBvOgoJKiBwby9uYi5wbzoKCSogcG8vbmwucG86CgkqIHBvL29yLnBvOgoJKiBwby9wbC5wbzoKCSogcG8vcHRfQlIucG86CgkqIHBvL3JvLnBvOgoJKiBwby9ydS5wbzoKCSogcG8vc2sucG86CgkqIHBvL3NsLnBvOgoJKiBwby9zcS5wbzoKCSogcG8vc3IucG86CgkqIHBvL3N2LnBvOgoJKiBwby90ci5wbzoKCSogcG8vdWsucG86CgkqIHBvL3ZpLnBvOgoJKiBwby96aF9DTi5wbzoKCSogcG8vemhfSEsucG86CgkqIHBvL3poX1RXLnBvOgoJICBVcGRhdGUgLnBvIGZpbGVzCgoyMDE0LTA2LTIyIDE0OjI0OjI0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogcG8vYWYucG86CgkqIHBvL2F6LnBvOgoJKiBwby9iZy5wbzoKCSogcG8vY2EucG86CgkqIHBvL2NzLnBvOgoJKiBwby9kYS5wbzoKCSogcG8vZGUucG86CgkqIHBvL2VsLnBvOgoJKiBwby9lbl9HQi5wbzoKCSogcG8vZW8ucG86CgkqIHBvL2VzLnBvOgoJKiBwby9ldS5wbzoKCSogcG8vZmkucG86CgkqIHBvL2ZyLnBvOgoJKiBwby9nbC5wbzoKCSogcG8vaHIucG86CgkqIHBvL2h1LnBvOgoJKiBwby9pZC5wbzoKCSogcG8vaXQucG86CgkqIHBvL2phLnBvOgoJKiBwby9sdC5wbzoKCSogcG8vbHYucG86CgkqIHBvL210LnBvOgoJKiBwby9uYi5wbzoKCSogcG8vbmwucG86CgkqIHBvL29yLnBvOgoJKiBwby9wbC5wbzoKCSogcG8vcHRfQlIucG86CgkqIHBvL3JvLnBvOgoJKiBwby9ydS5wbzoKCSogcG8vc2sucG86CgkqIHBvL3NsLnBvOgoJKiBwby9zcS5wbzoKCSogcG8vc3IucG86CgkqIHBvL3N2LnBvOgoJKiBwby90ci5wbzoKCSogcG8vdWsucG86CgkqIHBvL3ZpLnBvOgoJKiBwby96aF9DTi5wbzoKCSogcG8vemhfSEsucG86CgkqIHBvL3poX1RXLnBvOgoJICBwbzogVXBkYXRlIHRyYW5zbGF0aW9ucwoKMjAxNC0wNi0yMSAwMTozMjowMyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9wdWxzZS9wdWxzZWRldmljZW1vbml0b3IuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMmRldmljZW1vbml0b3IuYzoKCSAgcHVsc2UsIHY0bDI6IHVwZGF0ZSBmb3IgZGV2aWNlICJrbGFzcyIgLT4gImRldmljZS1jbGFzcyIgcmVuYW1lCgoyMDE0LTA2LTIwIDEyOjIxOjA1ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuYzoKCSAgbXVsdGl1ZHBzaW5rOiBvcHRpbWlzYXRpb246IGF2b2lkIHVubmVjZXNzYXJ5IG1lbW9yeSByZWYvdW5yZWZzCgkgIFdlIGtub3cgdGhlIGJ1ZmZlciB3aWxsIHN0YXkgdmFsaWQgYW5kIHdlIHdpbGwgYWxzbyBub3QKCSAgbW9kaWZ5IHRoZSBidWZmZXIsIHdlIGp1c3Qgd2FudCB0byBzZW5kIG91dCB0aGUgZGF0YS4KCjIwMTQtMDYtMTkgMTQ6NTk6NDggKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvdWRwL2dzdG11bHRpdWRwc2luay5jOgoJKiBnc3QvdWRwL2dzdG11bHRpdWRwc2luay5oOgoJICBtdWx0aXVkcHNpbms6IGF2b2lkIHNvbWUgdW5uZWNlc3NhcnkgcnVuLXRpbWUgdHlwZSBjaGVja3MKCjIwMTQtMDYtMTkgMTY6MTc6MjMgKzAyMDAgIFdpbSBUYXltYW5zIDx3dGF5bWFuc0ByZWRoYXQuY29tPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBwYXNzIHRoZSBzdHJlYW0gaWQgd2hlbiBhc2tpbmcgZm9yIGNyeXB0byBwYXJhbXMKCSAgVGhpcyB3YXkgdGhlIGFwcCBjYW4gY2hvb3NlIGRpZmZlcmVudCBwYXJhbWV0ZXJzIGZvciBlYWNoIHN0cmVhbS4KCjIwMTQtMDUtMjAgMTQ6NTg6MDcgLTA3MDAgIEFsZWl4IENvbmNoaWxsbyBGbGFxdcOpIDxhbGVpeEBvYmxvbmcuY29tPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmg6CgkgIHJ0c3BzcmM6IGFkZCBzdXBwb3J0IGZvciBrZXkgbGVuZ3RoIHBhcmFtZXRlcnMKCSAgVGhpcyBwYXRjaCBhZGRzIHN1cHBvcnRzIGZvciB0aGUgaW5jb21pbmcga2V5IG1hbmFnZW1lbnQgcGFyYW1ldGVycyBmb3IKCSAgZW5jcnlwdGlvbiBhbmQgYXV0aGVudGljYXRpb24ga2V5IGxlbmd0aHMuCgkgIEl0IGFsc28gYWRkcyBhIG5ldyBzaWduYWwgcmVxdWVzdC1ydGNwLWtleSB0aGF0IGFsbG93cyB0aGUgdXNlciB0bwoJICBwcm92aWRlIHRoZSBjcnlwdG8gcGFyYW1ldGVycyBhbmQga2V5IGZvciB0aGUgUlRDUCBzdHJlYW0uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzA0NzMKCjIwMTQtMDYtMTkgMTU6MjU6MDEgKzAyMDAgIFdpbSBUYXltYW5zIDx3dGF5bWFuc0ByZWRoYXQuY29tPgoKCSogZ3N0L3J0cC9nc3RydHB2cDhkZXBheS5jOgoJICB2cDhkZXBheTogZml4IGhlYWRlciBzaXplIGNoZWNraW5nCgkgIFVzZSBhIGRpZmZlcmVudCB2YXJpYWJsZSBuYW1lIHRvIG1ha2UgaXQgY2xlYXIgdGhhdCB3ZSBhcmUgY2FsY3VsYXRpbmcKCSAgdGhlIGhlYWRlciBzaXplLgoJICBDb3JyZWN0bHkgY2hlY2sgdGhhdCB3ZSBoYXZlIGVub3VnaCBieXRlcyB0byByZWFkIHRoZSBoZWFkZXIgYml0cy4gV2UKCSAgd2VyZSBjaGVja2luZyBpZiB0aGVyZSB3ZXJlIDUgYnl0ZXMgYXZhaWxhYmxlIGluIHRoZSBoZWFkZXIgd2hpbGUgd2UKCSAgb25seSBuZWVkZWQgMywgY2F1c2luZyB0aGUgcGFja2V0IHRvIGJlIGRpc2NhcmRlZCBhcyB0b28gc21hbGwuCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjM1OTUKCjIwMTQtMDUtMjAgMTI6Mzk6MzEgKzAyMDAgIEd1aWxsYXVtZSBEZXNtb3R0ZXMgPGd1aWxsYXVtZS5kZXNtb3R0ZXNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBoMjY0cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2NHBheS5oOgoJICBydHBoMjY0cGF5OiBwcm9wYWdhdGUgdGhlIEdTVF9CVUZGRVJfRkxBR19ESVNDT05UIGZsYWcKCSAgU2ltaWxhcmx5IHRvIHdoYXQgd2UgZGlkIHdpdGggdGhlIERFTFRBX1VOSVQgZmxhZywgdGhpcyBwYXRjaAoJICBwcm9wYWdhdGVzIHRoZSBESVNDT05UIGZsYWcgdG8gdGhlIGZpcnN0IFJUUCBwYWNrZXQgYmVpbmcgdXNlZCB0byB0cmFuc2ZlciBhCgkgIERJU0NPTlQgYnVmZmVyLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMwNTYzCgoyMDE0LTA1LTA2IDE3OjQyOjE0ICswMjAwICBHdWlsbGF1bWUgRGVzbW90dGVzIDxndWlsbGF1bWUuZGVzbW90dGVzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2NHBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRwYXkuaDoKCSAgcnRwaDI2NHBheTogcHJvcGFnYXRlIHRoZSBHU1RfQlVGRkVSX0ZMQUdfREVMVEFfVU5JVCBmbGFnCgkgIERvd25zdHJlYW0gZWxlbWVudHMgbWF5IGJlIGludGVyZXN0ZWQga25vd2luZyBpZiBhIFJUUCBwYWNrZXQgaXMgdGhlIHN0YXJ0CgkgIG9mIGEga2V5IGZyYW1lICh0byBpbXBsZW1lbnQgYSBSVFAgZXh0ZW5zaW9uIGFzIGRlZmluZWQgaW4gdGhlCgkgIE9OVklGIFN0cmVhbWluZyBTcGVjIGZvciBleGFtcGxlKS4KCSAgV2UgZG8gdGhpcyBieSBjaGVja2luZyB0aGUgR1NUX0JVRkZFUl9GTEFHX0RFTFRBX1VOSVQgZmxhZyB3ZSByZWNlaXZlIGZyb20KCSAgdXBzdHJlYW0gYW5kIHByb3BhZ2F0ZSBpdCB0byB0aGUgKmZpcnN0KiBSVFAgcGFja2V0IG91dHB1dHRlZCB0byB0cmFuc2ZlciB0aGlzCgkgIGJ1ZmZlci4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMDU2MwoKMjAxNC0wNS0yMCAxMzo1ODoyMCArMDIwMCAgR3VpbGxhdW1lIERlc21vdHRlcyA8Z3VpbGxhdW1lLmRlc21vdHRlc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cG1wNGdwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDRncGF5Lmg6CgkgIGdzdHJ0cG1wNGdwYXk6IHByb3BhZ2F0ZSB0aGUgR1NUX0JVRkZFUl9GTEFHX0RJU0NPTlQgZmxhZwoJICBQcm9wYWdhdGUgdGhlIERJU0NPTlQgZmxhZyB0byB0aGUgZmlyc3QgUlRQIHBhY2tldCBiZWluZyB1c2VkIHRvIHRyYW5zZmVyCgkgIGEgRElTQ09OVCBidWZmZXIuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzA1NjMKCjIwMTQtMDUtMjAgMTM6NTg6MjAgKzAyMDAgIEd1aWxsYXVtZSBEZXNtb3R0ZXMgPGd1aWxsYXVtZS5kZXNtb3R0ZXNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBqcGVncGF5LmM6CgkgIHJ0cGpwZWdwYXk6IHByb3BhZ2F0ZSB0aGUgR1NUX0JVRkZFUl9GTEFHX0RJU0NPTlQgZmxhZwoJICBQcm9wYWdhdGUgdGhlIERJU0NPTlQgZmxhZyB0byB0aGUgZmlyc3QgUlRQIHBhY2tldCBiZWluZyB1c2VkIHRvIHRyYW5zZmVyCgkgIGEgRElTQ09OVCBidWZmZXIuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzA1NjMKCjIwMTQtMDYtMTggMTU6MDM6MjUgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIGF2aWRlbXV4OiBkb24ndCBsZWFrIGZsb3cgY29tYmluZXIKCjIwMTQtMDYtMTggMTQ6Mzg6NTUgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGoya3BheS5jOgoJICBydHBqcDJrcGF5OiBwcmUtYWxsb2NhdGUgYnVmZmVyLWxpc3Qgb2YgdGhlIHJpZ2h0IHNpemUKCjIwMTQtMDYtMTggMTQ6MzQ6MDkgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGpwZWdwYXkuYzoKCSAgcnRwanBlZ3BheTogcHJlLWFsbG9jYXRlIGJ1ZmZlciBsaXN0IG9mIHRoZSByaWdodCBzaXplCgoyMDE0LTA2LTE4IDE0OjE5OjI4ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBtcDR2cGF5LmM6CgkgIHJ0cG1wNHZwYXk6IHByZS1hbGxvY2F0ZSBidWZmZXIgbGlzdCBvZiB0aGUgcmlnaHQgc2l6ZQoKMjAxNC0wNi0xOCAxMzo0NDozMSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwdnA4cGF5LmM6CgkgIHJ0cHZwOHBheTogYWxsb2NhdGUgYml0cmVhZGVyIG9uIHRoZSBzdGFjawoKMjAxNC0wNi0xOCAxMzoyOTo0NyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwdnA4cGF5LmM6CgkgIHJ0cHZwOHBheTogcG9zdCBlcnJvciBtZXNzYWdlIG9uIGJ1cyBvbiBlcnJvciBhbmQgZG9uJ3QgdXNlIGdfbWVzc2FnZSgpCgoyMDE0LTA2LTE4IDEzOjIwOjQ0ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0cC9nc3RydHB2cDhwYXkuYzoKCSAgcnRwdnA4cGF5OiBjb3VwbGUgb2YgbWlub3Igb3B0aW1pc2F0aW9ucwoJICBQcmUtYWxsb2NhdGUgYnVmZmVyIGxpc3Qgb2YgdGhlIHJpZ2h0IHNpemUgdG8gYXZvaWQgcmUtYWxsb2NzLgoJICBBdm9pZCBwbGVudHkgb2YgZG91YmxlIHJ1bnRpbWUgY2FzdCBjaGVja3MgYW5kIHJlLWRvaW5nIHRoZQoJICBzYW1lIGNhbGN1bGF0aW9uIG92ZXIgYW5kIG92ZXIgYWdhaW4gaW4gcnRwX3ZwOF9jYWxjX3BheWxvYWRfbGVuKCkuCgkgIE9ubHkgY2FsbCBnc3RfYnVmZmVyX2dldF9zaXplKCkgb25jZS4KCjIwMTQtMDYtMTggMDg6MTA6MDMgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGdzdHBheS5jOgoJICBydHBnc3RwYXk6IHByZS1hbGxvY2F0ZSBidWZmZXIgbGlzdCBvZiB0aGUgcmlnaHQgc2l6ZQoJICBUbyBhdm9pZCByZS1hbGxvY3MuCgoyMDE0LTA2LTE4IDA3OjUyOjA1ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBoMjY0cGF5LmM6CgkgIHJ0cGgyNjRwYXk6IHByZS1hbGxvY2F0ZSBidWZmZXJsaXN0IG9mIHRoZSByaWdodCBzaXplCgkgIFRvIGF2b2lkIHVubmVjZXNzYXJ5IHJlLWFsbG9jcy4KCjIwMTQtMDYtMTYgMjA6MTU6NDMgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRwYXkuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwLXBheWxvYWRpbmcuYzoKCSAgcnRwaDI2NHBheTogcHVzaCBzaW5nbGUgYnVmZmVyIGRpcmVjdGx5LCBubyBuZWVkIHRvIHdyYXAgaXQgaW4gYSBidWZmZXJsaXN0CgkgIE5vIHBvaW50IGluIGEgYnVmZmVyIGxpc3QgaWYgd2UganVzdCBoYXZlIG9uZSBzaW5nbGUKCSAgYnVmZmVyIHRvIHB1c2guIEZpeCB1cCB1bml0IHRlc3QgdG8gaGFuZGxlIHRoYXQgY2FzZQoJICBhcyB3ZWxsLgoKMjAxNC0wNi0xNiAxNTozNToxMiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwdnJhd3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHZyYXdwYXkuaDoKCSAgcnRwdnJhd3BheTogbWFrZSBjaHVua3MgcGVyIGZyYW1lIGNvbmZpZ3VyYWJsZQoJICBCaXQgb2YgYSBtaXNub21lciBiZWNhdXNlIGl0J3MgcmVhbGx5IGNodW5rcyBwZXIgZmllbGQKCSAgYW5kIG5vdCBwZXIgZnJhbWUsIGJ1dCB3ZSdyZSBnb2luZyB0byBpZ25vcmUgdGhhdCBmb3IKCSAgdGhlIHRpbWUgYmVpbmcuCgoyMDE0LTA2LTE2IDE0OjUyOjE2ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0cC9nc3RydHB2cmF3cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwdnJhd3BheS5oOgoJICBydHB2cmF3cGF5OiByZW1vdmUgdW51c2VkIHZhcmlhYmxlcwoKMjAxNC0wNi0xNiAxNDo0NDoyNyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwdnJhd3BheS5jOgoJICBydHB2cmF3cGF5OiBwcmUtYWxsb2NhdGUgYnVmZmVyIGxpc3RzIG9mIHN1ZmZpY2llbnQgc2l6ZQoJICBBdm9pZHMgdW5uZWNlc3NhcnkgcmVhbGxvY3Mgd2hlbiBhcHBlbmRpbmcgYnVmZmVycwoJICB0byB0aGUgYnVmZmVybGlzdC4KCjIwMTQtMDYtMTYgMTM6NTE6MDMgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cHZyYXdwYXkuYzoKCSAgcnRwdnJhd3BheTogbWljcm8tb3B0aW1pc2UgdmFyaWFibGUgYWNjZXNzIGluIGlubmVyIGxvb3AKCSAgU3RvcmUgc29tZSB2YWx1ZXMgdGhhdCBkb24ndCBjaGFuZ2UgZHVyaW5nIHRoZSBleGVjdXRpb24KCSAgb2YgdGhlIGlubmVyIGxvb3BzIGxvY2FsbHksIHNvIHRoZSBjb21waWxlciBrbm93cyB0aGF0IHRvby4KCjIwMTQtMDYtMTYgMTM6Mzg6NDcgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cHZyYXdwYXkuYzoKCSAgcnRwdnJhd3BheTogdXNlIGJ1ZmZlciBsaXN0cwoJICBDb2xsZWN0IGJ1ZmZlcnMgdG8gc2VuZCBvdXQgaW4gYnVmZmVyIGxpc3RzIGluc3RlYWQgb2YKCSAgcHVzaGluZyBvdXQgc2luZ2xlIGJ1ZmZlcnMgb25lIGF0IGEgdGltZS4gRm9yIEhEIHZpZGVvCgkgIGVhY2ggZnJhbWUgbWlnaHQgZWFzaWx5IGFkZCB1cCB0byBhIGNvdXBsZSBvZiB0aG91c2FuZAoJICBwYWNrZXRzLCBtdWx0aXBseSB0aGF0IGJ5IHRoZSBmcmFtZSByYXRlIGFuZCB0aGF0J3MgYQoJICBsb3Qgb2YgcHVzaCgpIGFuZCBzZW5kbXNnKCkgY2FsbHMgcGVyIHNlY29uZC4KCSAgQSBnb29kIHJlYXNvbiB0byBwdXNoIG91dCBidWZmZXJzIGFzIGVhcmx5IGFzIHBvc3NpYmxlIGlzCgkgIGxhdGVuY3ksIHNvIHdlIGRvbid0IGFjY3VtdWxhdGUgdGhlIHdob2xlIGZyYW1lIGluIGEgc2luZ2xlCgkgIGJ1ZmZlciBsaXN0LCBidXQgaW5zdGVhZCBwdXNoIGl0IG91dCBpbiBhIGZldyBjaHVua3MsIHdoaWNoCgkgIGlzIGhvcGVmdWxseSBhIHJlYXNvbmFibGUgY29tcHJvbWlzZS4KCjIwMTQtMDYtMTYgMTY6NDA6MDcgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvdWRwL2dzdGR5bnVkcHNpbmsuYzoKCSogZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuYzoKCSAgdWRwOiBpbXByb3ZlIGVsZW1lbnQgZGVzY3JpcHRpb25zIGZvciBkeW51ZHBzaW5rIGFuZCBtdWx0aXVkcHNpbmsKCjIwMTQtMDYtMTYgMTY6MTc6MTYgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvdWRwL2dzdGR5bnVkcHNpbmsuYzoKCSogZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuYzoKCSAgdWRwOiByZW1vdmUgc3VwcHJlc3Npb24gb2YgY29tcGlsZXIgd2FybmluZ3MgZm9yIGRlcHJlY2F0ZWQgR0xpYiBBUEkKCSAgTm90IG5lZWRlZCBhbnkgbW9yZS4KCjIwMTQtMDYtMTcgMTM6MTY6MjcgKzA1MzAgIFJhdmkgS2lyYW4gSyBOIDxyYXZpLmtpcmFuQHNhbXN1bmcuY29tPgoKCSogZ3N0L3ZpZGVvYm94L2dzdHZpZGVvYm94LmM6CgkgIHZpZGVvYm94OiBGaXggY2FwcyBuZWdvdGlhdGlvbiBpc3N1ZQoJICBNYWtlIHN1cmUgdGhhdCBpZiBBWVVWIGlzIHJlY2VpdmVkIGl0IHdpbGwgZGV0ZWN0IHRoYXQgaXQgY2FuIHByb2R1Y2UKCSAgYm90aCBSR0IgYW5kIFlVViBmb3JtYXRzCgkgIFNpZ25lZC1vZmYtYnk6IFJhdmkgS2lyYW4gSyBOIDxyYXZpLmtpcmFuQHNhbXN1bmcuY29tPgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI1MjQ4CgoyMDE0LTA2LTE2IDEyOjAyOjQxICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0cC9nc3RydHB0aGVvcmFkZXBheS5jOgoJICBydHB0aGVvcmFkZXBheTogZml4IGRvdWJsZSBmcmVlcwoJICBGaXggZG91YmxlLWZyZWVzIGludHJvZHVjZWQgdG8gZml4IGFub3RoZXIgY292ZXJpdHkgcmVwb3J0LgoJICBDSUQgMTIyMzA1MwoKMjAxNC0wNi0xMyAxMDoxMjowNyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC91ZHAvZ3N0ZHludWRwc2luay5jOgoJICBkeW51ZHBzaW5rOiByZXR1cm4gRkxVU0hJTkcgd2hlbiBzZW5kdG8gZ290IGNhbmNlbGVkLCBub3QgYW4gZXJyb3IKCjIwMTQtMDYtMTMgMDk6NTI6MDMgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvb3NzL2dzdG9zc2hlbHBlci5jOgoJICBvc3M6IHNpbXBsaWZ5IHByb2JlZCBjYXBzIGJlZm9yZSByZXR1cm5pbmcgdGhlbQoJICBFeHBvc2VzIGFsbCBmb3JtYXRzIGluIHRoZSBmaXJzdCBzdHJ1Y3R1cmUgaWYgdGhlCgkgIHJlc3QgaXMgdGhlIHNhbWUgZm9yIGFsbCBvZiB0aGVtLgoKMjAxNC0wNi0xMyAwOTo0NToyOCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9vc3MvZ3N0b3NzaGVscGVyLmM6CgkgIG9zczogbWFrZSBzdXJlIDE2LWJpdCBmb3JtYXRzIGFyZSBiZWZvcmUgOC1iaXQgZm9ybWF0cyBpbiBwcm9iZWQgY2FwcwoJICBQcm9iZSBzdXBwb3J0ZWQgZm9ybWF0cyBpbiBvcmRlciBvZiBkZXNpcmFiaWxpdHkgcmF0aGVyIHRoYW4gaW4KCSAgd2hhdCBvcmRlciB0aGV5IG1heSBoYXBwZW4gdG8gYmUgaW4gdGhlIGZvcm1hdHMgYml0bWFzay4gRml4ZXMKCSAgYWNjaWRlbnRhbGx5IGV4cG9zdXJlIG9mIDgtYml0IGZvcm1hdHMgaW4gY2FwcyBiZWZvcmUgMTYtYml0IGZvcm1hdHMKCSAgKGluIGNhc2Ugd2hlcmUgVTE2IHdhcyBub3Qgc3VwcG9ydGVkIFM4IG1pZ2h0IGJlIGxpc3RlZCBiZWZvcmUgUzE2KS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwNjg4NAoKMjAxNC0wNi0xMiAxNjozNjoyNCAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSAgdjRsMmJ1ZmZlcnBvb2w6IENsZWFubHkgaGFuZGxlIHY0bDJfYWxsb2NhdG9yX25ldyBmYWlsdXJlCgoyMDE0LTA2LTEyIDExOjI0OjE1ICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwdGhlb3JhZGVwYXkuYzoKCSAgcnRwdGhlb3JkZXBheTogZml4IGxlYWtzCgkgIENvdmVyaXR5IDEyMTIxNjMKCjIwMTQtMDYtMTIgMTE6MTY6MDggKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBnNzI5cGF5LmM6CgkgIHJ0cGc3MjlwYXk6IGxlYWsgZml4ZXMKCSAgQ292ZXJpdHkgMTIxMjE1OQoKMjAxNC0wNi0xMiAxMToxMTozOCArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNwYXkuYzoKCSAgcnRwaDI2M3BheTogZml4IGxlYWsKCSAgQ292ZXJpdHkgMTIxMjE1NwoKMjAxNC0wNi0xMiAxMDo0Mzo1MyArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNwYXkuYzoKCSAgcnRwaDI2M3BheTogZml4IGxlYWtzCgkgIENvdmVyaXR5IDEyMTIxNDkKCjIwMTQtMDYtMTIgMTA6MzE6NDcgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBkdnBheS5jOgoJICBydHBkdnBheTogY2F0Y2ggZmFpbHVyZXMgdG8gbWFwIGJ1ZmZlcgoJICBDb3Zlcml0eSAxMTM5NzQxCgoyMDE0LTA2LTExIDE3OjQzOjQyICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tdWx0aXBhcnQvbXVsdGlwYXJ0ZGVtdXguYzoKCSAgbXVsdGlwYXJ0ZGVtdXg6IGd1YXJkIGFnYWluc3QgaGF2aW5nIG5vIE1JTUUgdHlwZQoJICBUaGUgY29kZSB3b3VsZCBwcmV2aW91c2x5IGNyYXNoIHRyeWluZyB0byBpbnNlcnQgYSBOVUxMIHN0cmluZwoJICBpbnRvIGEgaGFzaCB0YWJsZS4KCSAgSXQgZG9lcyBzZWVtIGEgbGl0dGxlIGJyb2tlbiB0aGF0IGluZGV4aW5nIGlzIGRvbmUgYnkgTUlNRSB0eXBlCgkgIGFuZCBub3QgYnkgaW5kZXggdGhvdWdoLCB1bmxlc3MgdGhlIHNwZWMgc2F5cyB0aGVyZSBjYW5ub3QgYmUKCSAgdHdvIHBhcnRzIHdpdGggdGhlIHNhbWUgTUlNRSB0eXBlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjU5NTczCgoyMDE0LTA2LTEwIDE1OjQyOjE0IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tdWx0aXBhcnQvbXVsdGlwYXJ0ZGVtdXguYzoKCSogZ3N0L211bHRpcGFydC9tdWx0aXBhcnRkZW11eC5oOgoJICBtdWx0aXBhcnRkZW11eDogU2VuZCBzdHJlYW0tc3RhcnQgZXZlbnQKCSAgVGhpcyBldmVudCB3YXMgbm90IHNlbnQuIFNlbmQgaXQgYmVmb3JlIGNhcHMsIHRoaXMgcmVxdWlyZXMgdGhlIHBhZCB0bwoJICBiZSBwYXJlbnRlZC4gVGhpcyByZW1vdmVzIHdhcm5pbmcgbGlrZTogIkdvdCBkYXRhIGZsb3cgYmVmb3JlCgkgIHN0cmVhbS1zdGFydCBldmVudCIuCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzE0NzUKCjIwMTQtMDYtMTAgMTU6MzM6MzMgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRzLnNhbnRvc0BzaXNhLnNhbXN1bmcuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IGF2b2lkIGxvb3BpbmcgaW5kZWZpbml0ZWx5IGluIGJyb2tlbiBzdnEzIGZpbGVzCgkgIEFib3J0IGlmIGFuIGF0b20gd2l0aCBzaXplIDAgaXMgcmVhZCBmcm9tIHdpdGhpbiB0aGUgc3ZxMyBzdHNkCgkgIGF0b21zCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjY1MTIKCjIwMTQtMDYtMTAgMTA6NTI6MjMgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5jOgoJICBmbGFjZGVjOiBhZGQgY29uc3Qgd2hlcmUgYXBwcm9wcmlhdGUKCjIwMTQtMDYtMDkgMTA6Mzk6MjAgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBleHQvc3BlZXgvZ3N0c3BlZXhlbmMuYzoKCSAgc3BlZXhlbmM6IGFkZCBtaXNzaW5nIHZhX2VuZCBpbiB2YXJpYWRpYyBmdW5jdGlvbgoJICBDb3Zlcml0eSAxMTM5OTQ0CgoyMDE0LTA2LTA5IDEwOjA0OjM4ICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOgoJICBmbHZkZW11eDogQXR0ZW1wdCB1cHN0cmVhbSBzZWVrIGZpcnN0CgkgIElmIHdlIGhhdmUgYW4gdXBzdHJlYW0gZWxlbWVudCB0aGF0IGNhbiBoYW5kbGUgdGhlIHNlZWsgKHN1Y2ggYXMKCSAgcnRtcHNyYyksIHRyeSB0byBkbyB0aGF0IGZpcnN0IGJlZm9yZSBhdHRlbXB0aW5nIGl0IG91cnNlbGYuCgoyMDE0LTA2LTA0IDExOjM0OjI3ICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOgoJICB3YXZwYXJzZTogZG8gbm90IGluY2x1ZGUgY29kZWNfZGF0YSBvbiByYXcgYXVkaW8gY2FwcwoJICBJZiB0aGUgd2F2IGhlYWRlciBjb250YWlucyBhbiBleHRlbmRlZCBjaHVuaywgd2Ugd2FudCB0byBrZWVwCgkgIHRoZSBjb2RlY19kYXRhIGZpZWxkLCBidXQgbm90IGZvciByYXcgYXVkaW8uCgkgIFRoaXMgZml4ZXMgc29tZSBlbGVtZW50cyAoc3VjaCBhcyBhZGRlcikgZnJvbSBmYWlsaW5nIHRvIGludGVyc2VjdAoJICByYXcgYXVkaW8gY2FwcyB3aGljaCB3b3VsZCBvdGhlcndpc2UgYmUgaW50ZXJzZWN0YWJsZS4KCjIwMTQtMDYtMDUgMDk6Mzg6MjkgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6CgkgIGZsdmRlbXV4OiBRdWVyeSBkdXJhdGlvbiB1cHN0cmVhbSBmaXJzdAoJICBVcHN0cmVhbSBlbGVtZW50cyAobGlrZSBydG1wc3JjKSBtaWdodCBiZSBhYmxlIHRvIHByb3ZpZGUgdGhlIGR1cmF0aW9uCgkgIG1vcmUgYWNjdXJhdGVseSB0aGFuIGZsdmRlbXV4LiBFc3BlY2lhbGx5IHdpdGggaW5kZXgtbGVzcyB2b2QgZmlsZXMKCjIwMTQtMDUtMzAgMTk6Mzc6NTcgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkgIHY0bDJidWZmZXJwb29sOiBDbGVhbnVwIHBvbGwgbWV0aG9kIGFuZCByZXRyeSBvbiBFSU5UUi9FQUdBSU4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMTAxNQoKMjAxNC0wMy0wNiAxNjozNzo1MSArMDEwMCAgSmFuIEFsZXhhbmRlciBTdGVmZmVucyAoaGVmdGlnKSA8amFuLnN0ZWZmZW5zQGdtYWlsLmNvbT4KCgkqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzoKCSAgZmx2ZGVtdXg6IHNldCBSRVNZTkMgYnVmZmVyIGZsYWcgd2hlbiBicmlkZ2luZyBsYXJnZSBQVFMgZ2FwcwoJICBTbyBkb3duc3RyZWFtIGdldHMgbm90aWZpZWQgd2hlbiB0aGlzIGhhcHBlbnMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjU5MDMKCjIwMTQtMDYtMDMgMTc6NTk6MzIgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHBydHguYzoKCSAgcnRwcnR4OiBSZXNldCBzdGF0ZSBvbiBlYWNoIGl0ZXJhdGlvbgoJICBPdGhlcndpc2UgaXQgZGlkbid0IHdhaXQgZm9yIHRoZSB0ZXN0IHRvIGZpbmlzaCBiZWZvcmUgY2hlY2tpbmcgdGhlIHJlc3VsdHMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mjg1MDEKCjIwMTQtMDUtMDkgMTQ6MjI6NDIgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcmVhZC1jb21tb24uYzoKCSAgbWF0cm9za2FkZW11eDogZG9uJ3QgbGVhayBkb2N0eXBlIHN0cmluZyBpbiBlcnJvciBjb2RlIHBhdGgKCSAgQ0lEIDEyMTIxNDUuCgoyMDE0LTA1LTIwIDA4OjIwOjQyICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIGV4dC92cHgvZ3N0dnA5ZW5jLmM6CgkgIHZwOWVuYzogRG9uJ3QgZGVyZWZlcmVuY2UgTlVMTCBjaGVja3MKCSAgQ0lEICMxMTk3NzAzCgoyMDE0LTA1LTIwIDA4OjIzOjA2ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIGV4dC92cHgvZ3N0dnA4ZW5jLmM6CgkgIHZwOGVuYzogRG9uJ3QgZGVyZWZlcmVuY2UgTlVMTCB2YXJpYWJsZQoJICBDSUQgIzExMzk4MzgKCjIwMTQtMDUtMzAgMTQ6MzI6NDIgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRzLnNhbnRvc0BzaXNhLnNhbXN1bmcuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IHVwc3RyZWFtIGhhbmRsZXMgc2VlayBpZiBmcmFnbWVudGVkIGFuZCBvbiB0aW1lIHNlZ21lbnQKCSAgT3RoZXJ3aXNlIHdlIGNhbiByZWplY3Qgc2Vla3Mgb24gbG9jYWwgZmlsZXMgdGhhdCBjb250YWluIGZyYWdtZW50ZWQtbGlrZQoJICBhdG9tcyBsaWtlICdtdmV4Jy4gQWxzbyBpbXByb3ZlIGEgbWVzc2FnZSBsb2cKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMDcyMgoKMjAxNC0wNS0zMCAxNjo0Mzo0NCArMDIwMCAgV2ltIFRheW1hbnMgPHd0YXltYW5zQHJlZGhhdC5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRkZXBheS5jOgoJICBoMjY0ZGVwYXk6IG1ha2Ugc3VyZSB3ZSBjYWxsIGhhbmRsZV9uYWwgZm9yIGVhY2ggTkFMCgkgIENhbGwgaGFuZGxlX25hbCBmb3IgZWFjaCBOQUwgaW4gdGhlIFNUQVAtQSBSVFAgcGFja2V0LiBUaGlzIG1ha2VzCgkgIHN1cmUgd2UgY29ycmVjdGx5IGV4dHJhY3QgdGhlIFNQUyBhbmQgUFBTLgoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMwOTk5CgoyMDE0LTA1LTA3IDE0OjA5OjA2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuaDoKCSAgc291cGh0dHBzcmM6IEFkZCBjdXN0b20gc3RpY2t5IGV2ZW50IHRvIGNvbnRhaW4gdGhlIEhUVFAgcmVxdWVzdCBhbmQgcmVzcG9uc2UgaGVhZGVycwoJICBUaGlzIGNhbiBiZSB1c2VmdWwgdG8gZS5nLiBnZXQgY29va2llIGluZm9ybWF0aW9uIGRvd25zdHJlYW0uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mjk3MDcKCjIwMTQtMDUtMjYgMTk6NDc6MzkgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRzLnNhbnRvc0BzaXNhLnNhbXN1bmcuY29tPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4Lmg6CgkgIGF2aWRlbXV4OiByZW1vdmUgc3RyZWFtIGxhc3QgZmxvdyByZXR1cm4KCSAgR3N0UGFkIGFscmVhZHkgc3RvcmVzIHRoYXQgaW5mb3JtYXRpb24KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwOTIyNAoKMjAxNC0wNS0yNiAxOTozNzo0NiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dHMuc2FudG9zQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogcmVtb3ZlIGxhc3QgZmxvdyByZXR1cm4gZnJvbSBzdHJlYW0gc3RydWN0CgkgIEl0IGlzIGFscmVhZHkgc3RvcmVkIG9uIEdzdFBhZCBvbiBjb3JlCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDkyMjQKCjIwMTQtMDUtMjYgMTk6MTk6NDUgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRzLnNhbnRvc0BzaXNhLnNhbXN1bmcuY29tPgoKCSogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOgoJKiBnc3QvZmx2L2dzdGZsdmRlbXV4Lmg6CgkgIGZsdmRlbXV4OiBVc2UgR3N0Rmxvd0NvbWJpbmVyCgkgIFVzZSB0aGUgZmxvdyBjb21iaW5lciB0byBoYXZlIHRoZSBzdGFuZGFyZCBjb21iaW5hdGlvbiByZXN1bHRzIGFuZCBhdm9pZAoJICByZXBlYXRpbmcgdGhlIHNhbWUgY29kZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA5MjI0CgoyMDE0LTA1LTI2IDEzOjIxOjI1IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0cy5zYW50b3NAc2lzYS5zYW1zdW5nLmNvbT4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguaDoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWlkcy5oOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcGFyc2UuYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXJlYWQtY29tbW9uLmM6CgkgIG1hdHJvc2thZGVtdXg6IHVzZSBHc3RGbG93Q29tYmluZXIKCSAgVXNlIHRoZSBmbG93IGNvbWJpbmVyIHRvIGhhdmUgdGhlIHN0YW5kYXJkIGNvbWJpbmF0aW9uIHJlc3VsdHMgYW5kIGF2b2lkCgkgIHJlcGVhdGluZyB0aGUgc2FtZSBjb2RlCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDkyMjQKCjIwMTQtMDUtMjYgMTM6MDQ6MTAgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRzLnNhbnRvc0BzaXNhLnNhbXN1bmcuY29tPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4Lmg6CgkgIGF2aWRlbXV4OiB1c2UgR3N0Rmxvd0NvbWJpbmVyCgkgIFJlbW92ZXMgZmxvdyByZXR1cm4gY29tYmluYXRpb24gY29kZSB0byB1c2UgdGhlIG5ld2x5IGFkZGVkIEdzdEZsb3dDb21iaW5lcgoKMjAxNC0wNS0yMyAxNzo1MzowMCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dHMuc2FudG9zQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSogZ3N0L2lzb21wNC9xdGRlbXV4Lmg6CgkgIHF0ZGVtdXg6IHVzZSBHc3RGbG93Q29tYmluZXIKCSAgUmVtb3ZlcyB0aGUgY29tbW9uIGNvZGUgdG8gY29tYmluaW5nIGZsb3cgcmV0dXJucyB0byBsZXQgaXQgYmUKCSAgaGFuZGxlZCBieSBjb3JlIGdzdHV0aWxzJyBHc3RGbG93Q29tYmluZXIKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwOTIyNAoKMjAxNC0wNS0yNiAxMDo1OTo1NSAtMDQwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyc2luay5jOgoJICB2NGwyc2luazogaW1wbGVtZW50IGdzdHZpZGVvc2luay5zaG93X2ZyYW1lIGluc3RlYWQgb2YgZ3N0YmFzZXNpbmsucmVuZGVyCgkgIEl0IGFsbG93cyB0byBzaG93IHByZXJvbGwgZnJhbWUuIEVzcGVjaWFsbHkgaXQgYWxsb3dzIHRvIHVwZGF0ZSB0aGUKCSAgZnJhbWUgd2hlbiBzZWVraW5nIGluIFBBVVNFRCBzdGF0ZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyMjMwMwoKMjAxNC0wNS0yNiAxMDo1OTowNiAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMnNpbmsuYzoKCSAgdjRsMnNpbms6IENsZWFudXAgb2xkIHBhZCBhbGxvYyBkZWNsYXJhdGlvbgoKMjAxNC0wNS0yNiAxMjozNDo0MiAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnNpbmsuYzoKCSAgdjRsMmJ1ZmZlcnBvb2w6IENvcHkgYWxyZWFkeSBxdWV1ZWQgYnVmZmVyCgkgIFRoaXMgaXMgcmVxdWlyZWQgYXMgZHVyaW5nIHByZXJvbGwgd2UgcGFzcyB0aGUgZmlyc3QgYnVmZmVyIHR3aWNlLCBoZW5jZSBhbHJlYWR5CgkgIHF1ZXVlZC4gSXQgaXMgYWxzbyB1c2VmdWwsIHRvIGFsbG93IGZpbHRlcnMgcmVwbGF5aW5nIGEgcHJldmlvdXMgcmVuZGVyZWQgYnVmZmVycy4KCSAgVGhpcyB3aWxsIHJlcXVpcmUgMSBtb3JlIGJ1ZmZlciBpbiBzaW5rIGlmIGxhc3Qtc2FtcGxlIGlzIGVuYWJsZWQsIHNpbmNlIHRoZSBsYXN0CgkgIHNhbXBsZSB3aWxsIG5vdCBiZSB0aGUgc2FtZSBhcyB0aGUgY3VycmVudGx5IHF1ZXVlZCBidWZmZXIuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjIzMDMKCjIwMTQtMDUtMjQgMjA6MjA6MDcgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmFsbG9jYXRvci5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5oOgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuaDoKCSogc3lzL3Y0bDIvZ3N0djRsMnRyYW5zZm9ybS5jOgoJKiBzeXMvdjRsMi9nc3R2NGwydmlkZW9kZWMuYzoKCSogc3lzL3Y0bDIvdjRsMl9jYWxscy5jOgoJICB2NGwyYnVmZmVycG9vbDogUG9ydCB0byBidWZmZXJwb29sIGZsdXNoX3N0YXJ0L3N0b3AgbWV0aG9kCgkgIFBvcnQgdGhlIGJ1ZmZlciBwb29sIHRvIHVzZSB0aGUgbmV3IGZsdXNoX3N0YXJ0L2ZsdXNoX3N0b3AgdmlydHVhbAoJICBtZXRob2RzIGFkZGVkIHRvIEdzdEJ1ZmZlclBvb2wuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mjc2MTEKCjIwMTQtMDUtMjUgMTc6NDA6NTggKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBwby9hZi5wbzoKCSogcG8vYXoucG86CgkqIHBvL2JnLnBvOgoJKiBwby9jYS5wbzoKCSogcG8vY3MucG86CgkqIHBvL2RhLnBvOgoJKiBwby9kZS5wbzoKCSogcG8vZWwucG86CgkqIHBvL2VuX0dCLnBvOgoJKiBwby9lby5wbzoKCSogcG8vZXMucG86CgkqIHBvL2V1LnBvOgoJKiBwby9maS5wbzoKCSogcG8vZnIucG86CgkqIHBvL2dsLnBvOgoJKiBwby9oci5wbzoKCSogcG8vaHUucG86CgkqIHBvL2lkLnBvOgoJKiBwby9pdC5wbzoKCSogcG8vamEucG86CgkqIHBvL2x0LnBvOgoJKiBwby9sdi5wbzoKCSogcG8vbXQucG86CgkqIHBvL25iLnBvOgoJKiBwby9ubC5wbzoKCSogcG8vb3IucG86CgkqIHBvL3BsLnBvOgoJKiBwby9wdF9CUi5wbzoKCSogcG8vcm8ucG86CgkqIHBvL3J1LnBvOgoJKiBwby9zay5wbzoKCSogcG8vc2wucG86CgkqIHBvL3NxLnBvOgoJKiBwby9zci5wbzoKCSogcG8vc3YucG86CgkqIHBvL3RyLnBvOgoJKiBwby91ay5wbzoKCSogcG8vdmkucG86CgkqIHBvL3poX0NOLnBvOgoJKiBwby96aF9ISy5wbzoKCSogcG8vemhfVFcucG86CgkgIHBvOiB1cGRhdGUKCjIwMTQtMDUtMjUgMTY6NTQ6MTggKzAyMDAgIFBpb3RyIERyxIVnIDxwaW90cmRyYWdAZ21haWwuY29tPgoKCSogcG8vUE9URklMRVMuaW46CgkgIHBvOiB1cGRhdGUgUE9URklMRVMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyNjU1NgoKMjAxNC0wNS0yNCAyMzo1MTo1OCAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJICB2NGwyYnVmZmVycG9vbDogRG9uJ3QgcXVldWUgYWxsIHRoZSBidWZmZXJzIGJlZm9yZSBkZXF1ZXVlaW5nIGZpcnN0CgkgIEZvciBvdXRwdXQgZGV2aWNlLCB3ZSB3aGVyZSBxdWV1aW5nIGFsbCB0aGUgYnVmZmVycywgYW5kIHRoZW4gd2Ugd291bGQKCSAgZGVxdWV1ZSBvbmUuIFRoaXMgbWVhbnMgd2Ugb25seSBoYXZlIDEgYnVmZmVyIGZvciB0aGUgcGlwZWxpbmUsIG5vIG1hdHRlcgoJICB0aGUgc2l6ZSBvZiB0aGUgcXVldWUuIEluc3RlYWQsIHN0YXJ0IGRlcXVldWVkIHdoZW4gbWluX2xhdGVuY3kgaXMgcmVhY2hlZC4KCSAgRXZlbnR1YWxseSwgdGhpcyB0aGUgbWluX2xhdGVuY3kgc2hvdWxkIGFsc28gYmUgYWZmZWN0ZWQgYnkgY29udHJvbAoJICBNSU5fQlVGRkVSU19GT1JfT1VUUFVUICh1c2UgYnkgZW5jb2RlcnMpLgoKMjAxNC0wNS0yNCAyMzo0OToxOSAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIHY0bDJvYmplY3Q6IFNpbXBseSByZWFkIGJhY2sgdGhlIGNvbmZpZyB0byB1cGRhdGUgdGhlIHF1ZXJ5CgkgIEl0J3MgZWFzeSB0byBnZXQgdGhlIG1pbi9tYXggb3V0ZGF0ZSB3aGVuIGhhY2tpbmcgZGVjaWRlIGFsbG9jYXRpb24uIEluCgkgIG9yZGVyIHRvIGF2b2lkIHRoaXMsIHNpbXBseSByZWFkIGJhY2sgdGhlIGNob29zZW4gdmFsdWUgZnJvbSB0aGUgY29uZmlnLgoKMjAxNC0wNS0yNCAyMzozMToyNCAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5oOgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkgIHY0bDI6IENsZWFudXAgYW5kIGZpeCBjYWxjdWxhdGlvbiBvZiBsYXRlbmN5CgkgIENhbGN1bGF0aW9uIG9mIG51bV9idWZmZXJzICh0aGUgbWF4IGxhdGVuY3kgaW4gYnVmZmVycykgd2FzCgkgIHVwLXNpZGUtZG93bi4gIElmIHdlIGNhbiBhbGxjb2F0ZSwgdGhlbiBvdXIgbWF4aW11bSBsYXRlbmN5IG1hdGNoCgkgIHBvb2wgbWF4aW11bSBudW1iZXIgb2YgYnVmZmVycy4gQWxzbyByZW5hbWVkIGl0IHRvIG1heCBsYXRlbmN5LiBGaW5hbGx5CgkgIGludHJvZHVjZWQgYSBtaW5fbGF0ZW5jeSBmb3IgY2xhcml0eS4KCjIwMTQtMDUtMjQgMjA6MDA6MTQgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmFsbG9jYXRvci5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5oOgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuaDoKCSogc3lzL3Y0bDIvZ3N0djRsMnRyYW5zZm9ybS5jOgoJKiBzeXMvdjRsMi9nc3R2NGwydmlkZW9kZWMuYzoKCSogc3lzL3Y0bDIvdjRsMl9jYWxscy5jOgoJICBSZXZlcnQgInY0bDJidWZmZXJwb29sOiBQb3J0IHRvIGJ1ZmZlcnBvb2wgZmx1c2hfc3RhcnQvc3RvcCBtZXRob2QiCgkgIFRoaXMgcmV2ZXJ0cyBjb21taXQgMmUwZmI0MmU4NjhmYzlmNmQ5OGIwMjhkZWY4MGEzZTk1MzUyNzMwNy4KCSAgQ29uZmxpY3RzOgoJICBzeXMvdjRsMi9nc3R2NGwyYWxsb2NhdG9yLmMKCSAgc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYwoJICBzeXMvdjRsMi9nc3R2NGwydmlkZW9kZWMuYwoKMjAxNC0wNS0yNCAxODo1NjozMiAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIHY0bDJvYmplY3Q6IEZpeCBjb25maWd1cmF0aW9uIG9mIG90aGVyX3Bvb2wgYW5kIGltcG9ydGF0aW9uIGNhc2UKCSAgRml4IHRoZSBjaG9pY2Ugb2YgbWluL21heCwgZG9uJ3Qgb3ZlcnJpZGUgdGhlIG1pbi9tYXggd2l0aCBvd24gcG9vbCBzZWxlY3RlZAoJICBzaXplLCBjb3JyZWN0IG90aGVyX3Bvb2wgaXNfYWN0aXZlIGNoZWNrLCBzdGFydCBmcm9tIG90aGVyX3Bvb2wgY29uZmlnIHdoZW4KCSAgY29uZmlndXJpbmcgdGhlIG90aGVyIHBvb2wgYW5kIGZpbmFsbHkgdmFsaWRhdGUgdGhlIGNvbmZpZ3VyYXRpb24uCgoyMDE0LTA1LTI0IDE4OjQ1OjMwIC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgdjRsMm9iamVjdDogVXNlIHByb3Bvc2VkIGFsbG9jYXRvciBhcyBkZWZhdWx0CgoyMDE0LTA1LTI0IDE4OjQzOjI4IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkgIHY0bDJidWZmZXJwb29sOiBGaXggVVNFUlBUUiBtYXAgZmxhZ3MKCSAgV2UgbmVlZCB0byBtYXAgUkVBRCBvbmx5IGZvciBvdXRwdXQgYW5kIHdyaXRlIG9ubHkgZm9yIGNhcHR1cmUsIHdlIHdoZXJlCgkgIGRvaW5nIHRoZSBvcHBvc2l0ZS4gVGhpcyBmaXhpbmcgVVNFUlBUUiB3aXRoIGdsaW1hZ2VzaW5rCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzA2OTgKCjIwMTQtMDUtMjQgMTE6MTY6MzUgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRzLnNhbnRvc0BzaXNhLnNhbXN1bmcuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IHBhcnNlIHRraGQgdHJhbnNmb3JtYXRpb24gbWF0cml4IGFuZCBhZGQgdGFncyBpZiBhcHByb3ByaWF0ZQoJICBIYW5kbGUgdGhlIHRyYW5zZm9ybWF0aW9uIG1hdHJpeCBjYXNlcyB3aGVyZSB0aGVyZSBhcmUgb25seSBzaW1wbGUgcm90YXRpb25zCgkgICg5MCwgMTgwIG9yIDI3MCBkZWdyZWVzKSBhbmQgdXNlIGEgdGFnIGZvciB0aG9zZSBjYXNlcy4gVGhpcyBpcyBhIGNvbW1vbiBzY2VuYXJpbwoJICB3aGVuIHJlY29yZGluZyB3aXRoIG1vYmlsZSBkZXZpY2VzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02Nzk1MjIKCjIwMTQtMDUtMjMgMTk6MTA6MjEgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkgIHY0bDJidWZmZXJwb29sOiBQcmV2ZW50IG51bV9xdWV1ZWQgZnJvbSBnb2luZyBuZWdhdGl2ZQoKMjAxNC0wNS0yMyAxODoyNTo0OSAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMnZpZGVvZGVjLmM6CgkgIHY0bDJ2aWRlb2RlYzogZG9uJ3Qgc3RvcCBpZiBsb29wIHJldHVybmVkIEZMVVNISU5HCgkgIFRoZSBkZWNvZGVpbmcgdGhyZWFkIHJldHVybmluZyBmbHVzaGluZyBpc24ndCBhbiBlcnJvciwgd2Ugc2hvdWxkIHNpbXBseQoJICB0cnkgc3RhcnRpbmcgdGhlIHRhc2sgYWdhaW4uIElmIGl0J3MgYWN0dWFsbHkgZmx1c2hpbmcsIGl0IHdpbGwgc3RvcCBhZ2FpbiBieSBpdHNlbGYuCgoyMDE0LTA1LTIzIDE3OjU0OjIwIC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwydmlkZW9kZWMuYzoKCSAgdjRsMnZpZGVvZGVjOiBIYW5kbGUgZWFybHkgdGFzayBzdG9wCgoyMDE0LTA1LTIzIDE3OjI4OjEzIC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwydmlkZW9kZWMuYzoKCSAgdjRsMnZpZGVvZGVjOiBIYW5kbGUgZ3N0X3BhZF9zdGFydF90YXNrKCkgZmFpbHVyZQoKMjAxNC0wNS0yMyAxNzoxOTowNyAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMnZpZGVvZGVjLmM6CgkgIHY0bDJ2aWRlb2RlYzogQWRkIHRyYWNlIGZvciBGTFVTSF9TVEFSVC9TVE9QIGhhbmRsaW5nCgoyMDE0LTA1LTIzIDE3OjE4OjE2IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwydmlkZW9kZWMuYzoKCSAgdjRsMnZpZGVvZGVjOiBGaXggdXNlIG9mIGF0b21pYyB2YWx1ZQoKMjAxNC0wNS0yMyAxNzowMTo1MyAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSAgdjRsMmJ1ZmZlcnBvb2w6IEltcHJvdmUgZGVidWdnaW5nCgkgIE5vIG5lZWQgdG8gdXNlIG9iai0+ZWxlbWVudCwgdGhlIHBvb2wgbm93IGhhdmUgYSBzaWduaWZpY2FudCBuYW1lLiBBbHNvIGRvbid0CgkgIHdhcm4gaWYgZmx1c2hpbmcuCgoyMDE0LTA1LTIzIDE3OjAxOjAyIC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwydmlkZW9kZWMuYzoKCSAgdjRsMnZpZGVvZGVjOiBGaXggaGFuZGxlX2ZyYW1lIGVycm9yIGhhbmRsaW5nCgoyMDE0LTA1LTIzIDE1OjU2OjI0IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJICB2NGwyYnVmZmVycG9vbDogQWRkIGEgdHJhY2Ugd2hlbiBfc3RhcnQoKSBpcyBjYWxsZWQKCjIwMTQtMDUtMjMgMTU6NTY6MDIgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJhbGxvY2F0b3IuYzoKCSAgdjRsMmFsbG9jYXRvcjogQWRkIGRlYnVnIGFzc2VydCB0byBkZXRlY3QgY2FsbHMgaW4gdGhlIHdyb25nIHN0YXRlCgoyMDE0LTA1LTIzIDE1OjU1OjI2IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYWxsb2NhdG9yLmM6CgkgIHY0bDJhbGxvY2F0b3I6IFJlc2V0IGNvdW50IHdoZW4gc3RvcHBlZAoKMjAxNC0wNS0yMyAxNTo1NTowOCAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSAgdjRsMmFsbG9jYXRvcjogUmV0dXJuIGEgR3N0Rmxvd1JldHVybiBpbnN0ZWFkIG9mIGJvb2xlYW4gaW4gYWxsb2MKCjIwMTQtMDUtMjMgMTU6MTc6MjcgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgdjRsMm9iamVjdDogRG9uJ3QgbGVhayBjb25maWcgc3RydWN0dXJlCgoyMDE0LTA1LTIzIDE0OjEyOjEwIC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYWxsb2NhdG9yLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmg6CgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5oOgoJKiBzeXMvdjRsMi9nc3R2NGwydHJhbnNmb3JtLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJ2aWRlb2RlYy5jOgoJKiBzeXMvdjRsMi92NGwyX2NhbGxzLmM6CgkgIHY0bDJidWZmZXJwb29sOiBQb3J0IHRvIGJ1ZmZlcnBvb2wgZmx1c2hfc3RhcnQvc3RvcCBtZXRob2QKCjIwMTQtMDUtMjMgMDM6MDA6NTAgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRzLnNhbnRvc0BzaXNhLnNhbXN1bmcuY29tPgoKCSogZ3N0L2lzb21wNC9mb3VyY2MuaDoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IGFkZCB0YWcgbWFwcGluZ3MgZm9yIF9zd3IsIF9tYWsgYW5kIF9tb2QgdGFncwoJICBzd3IgLT4gQXBwbGljYXRpb24gbmFtZQoJICBtYWsgLT4gZGV2aWNlIG1hbnVmYWN0dXJlcgoJICBtb2QgLT4gZGV2aWNlIG1vZGVsCgoyMDE0LTA1LTIwIDE3OjM3OjQ5IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMveGltYWdlL2dzdHhpbWFnZXNyYy5jOgoJICB4aW1hZ2VzcmM6IEZpeCB4aW1hZ2UgbGVha3Mgd2hlbiBidWZmZXIgaGFzIG1vcmUgdGhlbiBvbmUgeGltYWdlCgkgIEZyb20gdGltZSB0byB0aW1lLCB3aGVuIHRoZSBpbWFnZV9wb29sIGxpc3QgaGFzIG1vcmUgdGhlbiAxIGVsZW1lbnQKCSAgYW5kIEkgc3VwcG9zZSBhdCBzdGFydCwgYWxsIGJ1dCAxIHBvb2xlZCB4aW1hZ2UgYXJlIGxlYWtlZC4gVGhpcyBpcwoJICBkdWUgdG8gYnJva2VuIGFsZ29yaXRobSBpbiBnc3RfeGltYWdlc2lua19zcmNfeGltYWdlX2dldCgpLiBUaGVyZSB3YXMKCSAgYWxzbyBhIHJpc2sgb2YgdXNlIGFmdGVyIGZyZWUgZm9yIHRoZSBjYXNlIHdoZXJlIHRoZSB4aW1hZ2Ugc2l6ZSBoYXMKCSAgY2hhbmdlZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyODUwMgoKMjAxNC0wNS0yMSAxMzoyMzoyNyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgQmFjayB0byBkZXZlbG9wbWVudAoKPT09IHJlbGVhc2UgMS4zLjIgPT09CgoyMDE0LTA1LTIxIDEzOjA2OjM1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogQ2hhbmdlTG9nOgoJKiBORVdTOgoJKiBSRUxFQVNFOgoJKiBjb21tb246CgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0LWJ1aWxkLnN0YW1wOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC5zdGFtcDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLTEzOTQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWFzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGFjb2xvci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hcGV0YWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9meC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb3BhcnNlcnMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvZGV0ZWN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF2aS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWNhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWlyby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jdXR0ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVpbnRlcmxhY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRtZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmZlY3R2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVxdWFsaXplci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbGFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHhkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2RrcGl4YnVmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbTJrMS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pY3lkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pZDNkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbWFnZWZyZWV6ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlcmxlYXZlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlzb21wNC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwZWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGV2ZWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWF0cm9za2EueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlmaWxlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpcGFydC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uYXZpZ2F0aW9udGVzdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3M0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zc2F1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBuZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wdWxzZWF1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlcGxheWdhaW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cG1hbmFnZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRzcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaGFwZXdpcGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hvdXQyc2VuZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbXB0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWN0cnVtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXRhZ2xpYi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi11ZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW80bGludXgyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvYm94LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvY3JvcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2ZpbHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb21peGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZweC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14aW1hZ2VzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teTRtZW5jLnhtbDoKCSogZ3N0LXBsdWdpbnMtZ29vZC5kb2FwOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIFJlbGVhc2UgMS4zLjIKCjIwMTQtMDUtMjEgMTI6MTk6MzkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBwby9hZi5wbzoKCSogcG8vYXoucG86CgkqIHBvL2JnLnBvOgoJKiBwby9jYS5wbzoKCSogcG8vY3MucG86CgkqIHBvL2RhLnBvOgoJKiBwby9kZS5wbzoKCSogcG8vZWwucG86CgkqIHBvL2VuX0dCLnBvOgoJKiBwby9lby5wbzoKCSogcG8vZXMucG86CgkqIHBvL2V1LnBvOgoJKiBwby9maS5wbzoKCSogcG8vZnIucG86CgkqIHBvL2dsLnBvOgoJKiBwby9oci5wbzoKCSogcG8vaHUucG86CgkqIHBvL2lkLnBvOgoJKiBwby9pdC5wbzoKCSogcG8vamEucG86CgkqIHBvL2x0LnBvOgoJKiBwby9sdi5wbzoKCSogcG8vbXQucG86CgkqIHBvL25iLnBvOgoJKiBwby9ubC5wbzoKCSogcG8vb3IucG86CgkqIHBvL3BsLnBvOgoJKiBwby9wdF9CUi5wbzoKCSogcG8vcm8ucG86CgkqIHBvL3J1LnBvOgoJKiBwby9zay5wbzoKCSogcG8vc2wucG86CgkqIHBvL3NxLnBvOgoJKiBwby9zci5wbzoKCSogcG8vc3YucG86CgkqIHBvL3RyLnBvOgoJKiBwby91ay5wbzoKCSogcG8vdmkucG86CgkqIHBvL3poX0NOLnBvOgoJKiBwby96aF9ISy5wbzoKCSogcG8vemhfVFcucG86CgkgIFVwZGF0ZSAucG8gZmlsZXMKCjIwMTQtMDUtMjEgMTA6NTE6MTAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIDIxMWZhNWYgdG8gMWY1ZDNjMwoKMjAxNC0wNS0yMCAwODoyMzowNiArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvdnB4L2dzdHZwOGVuYy5jOgoJICB2cDhlbmM6IERvbid0IGRlcmVmZXJlbmNlIE5VTEwgdmFyaWFibGUKCSAgQ0lEICMxMTM5ODM4CgoyMDE0LTA1LTIwIDA4OjIwOjQyICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIGV4dC92cHgvZ3N0dnA5ZW5jLmM6CgkgIHZwOWVuYzogRG9uJ3QgZGVyZWZlcmVuY2UgTlVMTCBjaGVja3MKCSAgQ0lEICMxMTk3NzAzCgoyMDE0LTA1LTE5IDExOjI2OjQ2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSAgdjRsMmJ1ZmZlcnBvb2w6IEV4cGxpY2l0bHkgY2FzdCBlbnVtICJzdWJ0eXBlIiB0byBpdHMgInN1cGVydHlwZSIKCSAgZ3N0djRsMmJ1ZmZlcnBvb2wuYzo2MDg6MTg6IGVycm9yOiBpbXBsaWNpdCBjb252ZXJzaW9uIGZyb20gZW51bWVyYXRpb24gdHlwZQoJICAnZW51bSBfR3N0VjRsMkJ1ZmZlclBvb2xBY3F1aXJlRmxhZ3MnIHRvIGRpZmZlcmVudCBlbnVtZXJhdGlvbiB0eXBlCgkgICdHc3RCdWZmZXJQb29sQWNxdWlyZUZsYWdzJyBbLVdlcnJvciwtV2VudW0tY29udmVyc2lvbl0KCSAgcGFyYW1zLmZsYWdzID0gR1NUX1Y0TDJfUE9PTF9BQ1FVSVJFX0ZMQUdfUkVTVVJFQ1Q7CgkgIH4gXn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KCjIwMTQtMDUtMTkgMTE6MjQ6MDYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvZ29vbS90ZW50YWNsZTNkLmM6CgkgIGdvb206IFVzZSBmYWJzKCkgaW5zdGVhZCBvZiBhYnMoKSB0byBjYWxjdWxhdGUgdGhlIGZsb2F0aW5nIHBvaW50IGFic29sdXRlIHZhbHVlCgkgIHRlbnRhY2xlM2QuYzoyNjg6NzogZXJyb3I6IHVzaW5nIGludGVnZXIgYWJzb2x1dGUgdmFsdWUgZnVuY3Rpb24gJ2Ficycgd2hlbgoJICBhcmd1bWVudCBpcyBvZiBmbG9hdGluZyBwb2ludCB0eXBlIFstV2Vycm9yLC1XYWJzb2x1dGUtdmFsdWVdCgkgIGlmIChhYnMgKHRtcCAtIGZ4X2RhdGEtPnJvdCkgPiBhYnMgKHRtcCAtIChmeF9kYXRhLT5yb3QgKyAyLjAgKiBHX1BJKSkpIHsKCSAgXgoKMjAxNC0wNS0xOSAxMToyMTozNiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9kZWJ1Z3V0aWxzL3Rlc3RzLmM6CgkgIGRlYnVndXRpbHM6IFByb3Blcmx5IGNhbGN1bGF0ZSB0aGUgZGlmZmVyZW5jZSB3aXRoIHVuc2lnbmVkIHR5cGVzCgkgIHRlc3RzLmM6MTYxOjE2OiBlcnJvcjogdGFraW5nIHRoZSBhYnNvbHV0ZSB2YWx1ZSBvZiB1bnNpZ25lZCB0eXBlCgkgICd1bnNpZ25lZCBsb25nJyBoYXMgbm8gZWZmZWN0IFstV2Vycm9yLC1XYWJzb2x1dGUtdmFsdWVdCgkgIHQtPmRpZmYgKz0gbGFicyAoR1NUX0JVRkZFUl9USU1FU1RBTVAgKGJ1ZmZlcikgLSB0LT5leHBlY3RlZCk7CgoyMDE0LTA1LTE2IDE3OjQ2OjMwIC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwydmlkZW9kZWMuYzoKCSAgdjRsMnZpZGVvZGVjOiBIYW5kbGUgZmx1c2ggd2hpbGUgaW4gc3RhcnRfc3RyZWFtaW5nCgkgIFdlIG5lZWQgdG8gaGFuZGxlIHRoZSBjYXNlIHdoZXJlIGEgZmx1c2ggb2NjdXJlIHdoaWxlIHRoZSBzdHJlYW1pbmcKCSAgdGhyZWFkIGlzIGJlaW5nIGJyb3VnaHQgdXAuIEluIHRoaXMgY2FzZSwgdGhlIGZsdXNoaW5nIHN0YXRlIG9mIHRoZSBwb2xsCgkgIG9iamVjdCBpcyBjbGVhcmVkLiBUbyBzb2x2ZSB0aGlzLCB3ZSBzaW1wbHkgc2V0IHRoZSBjYXB0dXJlIHBvbGwgdG8gZmx1c2hpbmcKCSAgYWdhaW4sIHRoaXMgd2F5IHdlIGtub3cgdGhlIHRocmVhZCB3aWxsIGV4aXQuIFRoZSBkZWNvZGVyIHN0cmVhbWxvY2sKCSAgaXMgdXNlZCB0byBzeW5jaHJvbml6ZSB3aXRoIGhhbmRsZSBmcmFtZS4KCjIwMTQtMDUtMTYgMTY6NDQ6MzcgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJhbGxvY2F0b3IuYzoKCSAgdjRsMmFsbG9jYXRvcjogRG9uJ3QgdHJhY2UgdHdpY2UgdGhlIHNhbWUgbWVzc2FnZQoKMjAxNC0wNS0xNSAxMToyNTo1MCAtMDcwMCAgQWxlaXggQ29uY2hpbGxvIEZsYXF1w6kgPGFsZWl4QG9ibG9uZy5jb20+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IGFsd2F5cyB1c2UgYSByYW5kb20gc3NyYyBmb3IgdGhlIGludGVybmFsIHNlc3Npb24KCSAgVXNlIGEgcmFuZG9tIFNTUkMgZGlmZmVyZW50IHRoYW4gMCBmb3IgdGhlIGludGVybmFsIHNlc3Npb24gU1NSQy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMDIxMgoKMjAxNC0wNS0xNiAxNjo1MjoyNSArMDIwMCAgV2ltIFRheW1hbnMgPHd0YXltYW5zQHJlZGhhdC5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkgIHJ0cHNlc3Npb246IHVwZGF0ZSBsYXN0X2FjdGl2aXR5IHdoZW4gc2VuZGluZyBSVFAKCSAgQWxzbyB1cGRhdGUgbGFzdF9hY3Rpdml0eSB3aGVuIGRvaW5nIHNvbWV0aGluZyB3aXRoIHRoZSBpbnRlcm5hbAoJICBzb3VyY2UgdG8gbWFrZSBzdXJlIGRvbid0IHRpbWVvdXQgZWFybHkuCgkgIFNlZSBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMwMjE3CgoyMDE0LTA1LTE1IDE4OjA4OjUzIC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuaDoKCSogc3lzL3Y0bDIvZ3N0djRsMnRyYW5zZm9ybS5jOgoJKiBzeXMvdjRsMi9nc3R2NGwydmlkZW9kZWMuYzoKCSAgdjRsMjogQ2xlYW51cCBNMk0gcHJvcGVydGllcwoJICBNMk0gZGV2aWNlcyB3ZXJlIHNoYXJpbmcgdGhlIHNhbWUgcHJvcGVydGllcyBhcyBzcmMgYW5kIHNpbmsuIE1vc3Qgb2YKCSAgdGhlc2UgbWFkZSBubyBzZW5zZS4gVGhpcyBwYXRjaCByZWR1Y2VzIHRoZSBudW1iZXIgb2YgcHJvcGV0aWVzIGFuZAoJICBtYWtlcyBpby1tb2RlIGNsZWFyZXIgYnkgaGF2aW5nIGNhcHR1cmUtaW8tbW9kZSBhbmQgb3V0cHV0LWlvLW1vZGUuIFRoaXMKCSAgYWxzbyBhY2NpZGVudGx5IGZpeGVkIGEgYnVnIGluIGdzdHY0bDJ0cmFuc2Zvcm0gaW8tbW9kZSBjb2RlLCB3aGVyZSB0aGUKCSAgY2FwdHVyZSBpby1tb2RlIGNvdWxkIG5vdCBiZSBzZXQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mjk1OTEKCjIwMTQtMDUtMTUgMTc6Mzk6MzkgKzAyMDAgIEJlbmphbWluIEdhaWduYXJkIDxiZW5qYW1pbi5nYWlnbmFyZEBsaW5hcm8ub3JnPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSAgdjRsMmJ1ZmZlcnBvb2w6IFVwZGF0ZSBwb29sIGxpbWl0IHdpdGggaGFyZHdhcmUgcmVxdWlyZW1lbnN0CgkgIElmIHRoZSBkcml2ZXIgbmVlZCBtb3JlIGJ1ZmZlcnMgdGhhbiByZXF1ZXN0ZWQgYnkgdGhlIGNvbmZpZywKCSAgdXBkYXRlIHRoZSBwb29sIG1pbi9tYXggdmFsdWVzLiBUaGUgbWluaW11bSB2YWx1ZSBmb3IgdGhlIHBvb2wKCSAgY291bGQgYmUgcHJvdmlkZWQgZWl0aGVyIGJ5IHRoZSBkcml2ZXIgb3IgYnkgdGhlIHBvb2wuIFRoaXMgaXMKCSAgYmVzdCBlZmZvcnQgZm9yIGRyaXZlcnMgdGhhdCBkb24ndCBzdXBwb3J0CgkgIENJRCBWNEwyX0NJRF9NSU5fQlVGRkVSU19GT1JfQ0FQVFVSRS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMDIwMAoKMjAxNC0wNS0xNSAxMDo0NDoyOSAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMnZpZGVvZGVjLmM6CgkgIHY0bDJ2aWRlb2RlYzogSGFuZGxlIHN0YXJ0X3N0cmVhbWluZyBlcnJvcgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMwMjA3CgoyMDE0LTA1LTE1IDEwOjM5OjQwIC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwydmlkZW9kZWMuYzoKCSAgdjRsMnZpZGVvZGVjOiBQcmludCB0aGUgZmxvdyByZXR1cm4gY2F1c2luZyB0aGUgbG9vcCB0byBsZWF2ZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMwMjA3CgoyMDE0LTA1LTE1IDEwOjMxOjQwIC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwydmlkZW9kZWMuYzoKCSAgdjRsMnZpZGVvZGVjOiBEb24ndCBsb2NrIHRoZSBkZWNvZGVyIHdoZW4gc3RvcHBpbmcgdGFzawoJICBUaGF0IHNyYyBwYWQgdGFzayBtYXkgbmVlZCB0byB0YWtlIHRoZSBsb2NrIHdoZW4gYmVpbmcgcHVsbGVkCgkgIGRvd24uIHRha2VpbmcgdGhhdCBsb2NrIGNhbiBsZWFkIHRvIGEgZGVhZGxvY2suCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzAyMDcKCjIwMTQtMDUtMTQgMTc6MTg6NTIgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJ0cmFuc2Zvcm0uYzoKCSAgdjRsMnRyYW5zZm9ybTogRG9uJ3QgbGVhayBwb29sIGlmIGFjdGl2YXRpb24gZmFpbGVkCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzAyMDcKCjIwMTQtMDUtMTQgMTc6MTg6MzUgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmg6CgkqIHN5cy92NGwyL2dzdHY0bDJ0cmFuc2Zvcm0uYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnZpZGVvZGVjLmM6CgkgIHY0bDI6IFNwbGl0IGZsdXNoIGluIHN0YXJ0L3N0b3Bfc3RyZWFtaW5nCgkgIFRoaXMgYWxsb3cgY2FsbGluZyBzdGFydCBzdHJlYW1pbmcgbGF0ZXIgZm9yIGNhcHR1cmUgZGV2aWNlLiBDdXJyZW50bHkgaXQgYnJlYWtzCgkgIGluIGRtYWJ1Zi1pbXBvcnQgYmVjYXVzZSBkb3duc3RyZWFtIGlzIGhvbGRpbmcgYSBidWZmZXIgdGhhdCB3aWxsIG9ubHkgYmUKCSAgcmVsZWFzZWQgYWZ0ZXIgc3RyZWFtLXN0YXJ0LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMwMjA3CgoyMDE0LTA1LTE0IDE1OjEyOjI2IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwydHJhbnNmb3JtLmM6CgkgIHY0bDJ0cmFuc2Zvcm06IEZsdXNoIGJ1ZmZlciBwb29scyBvbiBmbHVzaCBzdG9wCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzAyMDcKCjIwMTQtMDUtMTQgMTM6Mjg6MzEgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJhbGxvY2F0b3IuYzoKCSAgdjRsMmFsbG9jYXRvcjogRml4IHVzZSBvZiBhdG9taWMgYWN0aXZlIG1hcmtlcgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMwMjA3CgoyMDE0LTA1LTE0IDEzOjA1OjQyIC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJICB2NGwyYnVmZmVycG9vbDogRG9uJ3QgZGVhY3RpdmF0ZSBvdGhlcnBvb2wKCSAgV2Ugc2hvdWxkIG5vdCBzdG9wIHRoZSBvdGhlcnBvb2wgdW5sZXNzIHdlIGFsc28gc3RvcCBvdXIgb3duCgkgIHBvb2wsIG90aGVyd2lzZSBpdCB3aWxsIG5ldmVyIGdldCByZXN0YXJ0ZWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzAyMDcKCjIwMTQtMDUtMTQgMTI6MzM6NTggLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkgIHY0bDJidWZmZXJwb29sOiBBbHNvIHVwZGF0ZSBudW1fYnVmZmVycyBmb3IgaW1wb3J0IGNhc2VzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzAyMDcKCjIwMTQtMDUtMTQgMTM6NDI6MjUgLTA3MDAgIEFsZWl4IENvbmNoaWxsbyBGbGFxdcOpIDxhbGVpeEBvYmxvbmcuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6CgkgIHJ0cGJpbjogdXBkYXRlIHJ0cCBlbmNvZGVyL2RlY29kZXIgZG9jcwoJICBVc2UgJXUgaW4gUlRQIGVuY29kZXIvZGVjb2RlciBwYWRzIHRvIG1hdGNoIG90aGVyIHJ0cGJpbiBwYWRzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMwMTQ2CgoyMDEzLTEyLTI3IDExOjU1OjE4ICswMjAwICBHZW9yZ2UgS2lhZ2lhZGFraXMgPGdlb3JnZS5raWFnaWFkYWtpc0Bjb2xsYWJvcmEuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwc2Vzc2lvbi5jOgoJICB0ZXN0cy9jaGVjazogcnRwc2Vzc2lvbjogdGVzdCBpbnRlcm5hbCBzb3VyY2VzIHRpbWluZyBvdXQKCjIwMTMtMTItMjYgMTc6MzA6NDIgKzAyMDAgIEdlb3JnZSBLaWFnaWFkYWtpcyA8Z2VvcmdlLmtpYWdpYWRha2lzQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkgIHJ0cHNlc3Npb246IHJlbW92ZSB1bnVzZWQgaWYgYnJhbmNoCgkgIDEpIHNvdXJjZXMgdGhhdCBoYXZlIHNlbnQgQllFIGluIHRoZSBwYXN0IGNhbm5vdCBiZSBzZW5kZXJzLCBzaW5jZQoJICB0aGV5IHdvdWxkIGhhdmUgdGltZWQgb3V0IHRvIGJlaW5nIHJlY2VpdmVycyBpbiB0aGUgbWVhbnRpbWUuLi4KCSAgMikgc291cmNlcyB0aGF0IGhhdmUgc2VudCBCWUUgYXJlIG5vdyBiZWluZyByZW1vdmVkIGVhcmxpZXIgaW5zaWRlCgkgIHRoaXMgZnVuY3Rpb24KCjIwMTMtMTItMjYgMTc6Mjk6NDIgKzAyMDAgIEdlb3JnZSBLaWFnaWFkYWtpcyA8Z2VvcmdlLmtpYWdpYWRha2lzQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkgIHJ0cHNlc3Npb246IGNsZWFudXAgc291cmNlcyB0aGF0IGhhdmUgc2VudCBCWUUKCjIwMTMtMTItMjYgMTc6MjQ6NTEgKzAyMDAgIEdlb3JnZSBLaWFnaWFkYWtpcyA8Z2VvcmdlLmtpYWdpYWRha2lzQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkgIHJ0cHNlc3Npb246IHVuaWZ5IG5lc3RlZCBpZiBjbGF1c2VzCgoyMDEzLTEyLTI2IDE3OjIxOjQ0ICswMjAwICBHZW9yZ2UgS2lhZ2lhZGFraXMgPGdlb3JnZS5raWFnaWFkYWtpc0Bjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJICBydHBzZXNzaW9uOiB0aW1lb3V0IGludGVybmFsIHNvdXJjZXMgdGhhdCBhcmUgaW5hY3RpdmUgZm9yIGEgbG9uZyB0aW1lIGFuZCBzZW5kIEJZRQoKMjAxNC0wNS0xMyAxMjoyNTowNCAtMDcwMCAgQWxlaXggQ29uY2hpbGxvIEZsYXF1w6kgPGFsZWl4QG9ibG9uZy5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBqaXR0ZXJidWZmZXIuYzoKCSAgcnRwaml0dGVyYnVmZmVyOiBkb24ndCBzdG9wIGxvb3BpbmcgaWYgZXZlbnQgZm91bmQgaW4gdGhlIHF1ZXVlCgkgIElmIHdlIGFyZSBpbnNlcnRpbmcgYSBwYWNrZXQgaW50byB0aGUgaml0dGVyIHF1ZXVlIHdlIG5lZWQgdG8ga2VlcAoJICBsb29waW5nIHRocm91Z2ggdGhlIGl0ZW1zIHVudGlsIHRoZSByaWdodCBwb3NpdGlvbiBpcyBmb3VuZC4gQ3VycmVudGx5LAoJICB0aGUgY29kZSBzdG9wcyBhcyBzb29uIGFzIGFuIGV2ZW50IGlzIGZvdW5kIGluIHRoZSBxdWV1ZS4KCSAgUmVnYXJkaW5nIGV2ZW50cywgd2Ugc2hvdWxkIG9ubHkgbW92ZSBwYWNrZXRzIGJlZm9yZSBhbiBldmVudCBpZiB0aGVyZQoJICBpcyBhbm90aGVyIHBhY2tldCBiZWZvcmUgdGhlIGV2ZW50IHRoYXQgaGFzIGEgbGFyZ2VyIHNlcW51bS4KCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMDA3OAoKMjAxNC0wNC0xNyAxMzowNDowMCArMDAwMCAgQWRyaWVuIFNDSCA8YWRyaWVuLnNjaHdhcnR6ZW50cnViZXJAZ21haWwuY29tPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJICBtYXRyb3NrYW11eDogZml4IHRoZSBtZW1vcnkgbGVhayBvZiBsYW5ndWFnZSBhdHRyaWJ1dGUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyODQxOAoKMjAxNC0wNS0xMyAxMzo0NDoyMCAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICB2NGwyb2JqZWN0OiBGaXggcmVncmVzc2lvbiBpbiBvZmZzZXQgZXh0cmFwb2xhdGlvbgoJICBXaGVuIGV4dHJhcG9sYXRpbmcgdGhlIG9mZnNldCwgd2UgbmVlZCB0byB1c2UgdGhlIGV4dHJhcG9sYXRlCgkgIHN0cmlkZSByYXRoZXIgdGhlbiB0aGUgYmFzZSBzdHJpZGUuIFRoaXMgc2hvdWxkIGZpeCBzdXBwb3J0IGZvciBmb3JtYXQKCSAgd2l0aCBtb3JlIHRoZW4gdHdvIHBsYW5lcyAoSTQyMCwgWTQyQiwgZXRjKS4KCjIwMTQtMDUtMTIgMTg6MDM6MTggLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmg6CgkgIHY0bDJidWZmZXJwb29sOiBVc2UgZGVmYXVsdCBWaWRlb0luZm8gZm9yIGZyYW1lIG9wZXJhdGlvbgoJICBXaGVuIGRvaW5nIGZyYW1lIG9wZXJhdGlvbiwgd2UgbmVlZCB0byB1c2UgdGhlIGRlZmF1bHQgVmlkZW9JbmZvCgkgIGFuZCBsZXQgdGhlIGZyYW1lIEFQSSByZWFkIHRoZSB2aWRlbyBtZXRhIGluIG9yZGVyIHRvIGdldCB0aGUgc3RyaWRlCgkgIGFuZCBvZmZzZXQgcmlnaHQuIEN1cnJlbnRseSB3ZSB3aGVyZSB1c2luZyB0aGUgc3BlY2lhbGl6ZWQgVmlkZW9JbmZvCgkgIHdoaWNoIHJlZmxlY3RzIHdoYXQgdGhlIEhXIGlzIHNldHVwIHRvLgoKMjAxNC0wNS0xMiAxNzoyMzoxOSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgdjRsMnNyYzogbWlub3IgR1ZhbHVlIGhhbmRsaW5nIG9wdGltaXNhdGlvbiBpbiBwcm9iaW5nIGNvZGUKCjIwMTQtMDUtMTIgMTc6MjA6MTQgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIHY0bDJzcmM6IGF2b2lkIGxpc3RzIHdpdGggb25lIHNpbmdsZSBmcmFtZXJhdGUgaW4gcHJvYmVkIGNhcHMKCSAgU2ltcGxpZnkgZnJhbWVyYXRlIGZpZWxkIGlmIHBvc3NpYmxlLCBzbyB3ZSBkb24ndCBlbmQgdXAgd2l0aAoJICBlLmcuIGZyYW1lcmF0ZSA9IChmcmFjdGlvbikgeyAzMC8xIH0uIE1heWJlIHRoZSBoZWxwZXIgZnVuY3Rpb24KCSAgc2hvdWxkIGJlIG1vdmVkIHRvIGNvcmUsIGJ1dCB3ZSBjYW4gZG8gdGhpcyBsYXRlci4KCjIwMTQtMDUtMTIgMTY6NTY6MzUgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogRml4IGxlYWsgb2YgcGFsZXR0ZV9kYXRhIGluIGVycm9yIGNhc2VzCgkgIENJRCAjMTIxMjE1MQoKMjAxNC0wNS0xMiAxNjo1MzozMiArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9pc29tcDQvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IEZyZWUgbm9kZV9oZWFkZXIgaW4gZXJyb3IgY2FzZXMKCSAgQ0lEICMxMjEyMTM0CgoyMDE0LTA1LTEyIDEzOjQ2OjAxICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzoKCSAgZmx2ZGVtdXg6IERvbid0IHVzZSBXQVJOSU5HIGZvciBub3QtbGlua2VkIGZsb3cgcmV0dXJuCgkgIFBvbGx1dGVzIGRlYnVnIGxvZ3MgZm9yIG5vIHJlYXNvbi4gSXQncyBvbmx5IGFuIGVycm9yIGlmIGFsbCBwYWRzCgkgIHJldHVybiBub3QtbGlua2VkCgoyMDE0LTA1LTEyIDEzOjQ1OjA2ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzoKCSogZ3N0L2Zsdi9nc3RmbHZkZW11eC5oOgoJICBmbHZkZW11eDogU2tpcCB1bmtub3duIHRhZ3MgaW4gcHVzaC1tb2RlCgkgIFdlIGFkZCBhIG5ldyBtb2RlIChTS0lQKSBpbiBwdXNoLW1vZGUgdG8gc2tpcCB0YWdzIHRoYXQgd2UgZG9uJ3Qga25vd24gYWJvdXQKCSAgUGFydGlhbGx5IGZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NzA3MTIKCjIwMTQtMDUtMTAgMDk6MTQ6MzMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvZmxhYy9nc3RmbGFjZGVjLmM6CgkgIGZsYWNkZWM6IEFkZCBzdXBwb3J0IGZvciB2YXJpYWJsZSBibG9jayBzaXplIGZpbGVzIGFuZCByZW1vdmUgZGVhZCBjb2RlCgkgIFRoaXMgZGVhZCBjb2RlIHdhc24ndCB1c2VkIHNpbmNlIHRoZSAxLjAgcG9ydCBhbmQgd291bGQgbmVlZCB0bwoJICBiZSBtb2RpZmllZCBoZWF2aWx5IGZvciB2YXJpYWJsZSBibG9jayBzaXplIHN1cHBvcnQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mjk4OTQKCjIwMTQtMDUtMDkgMTI6MTQ6MjMgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMnRyYW5zZm9ybS5jOgoJICB2NGwydHJhbnNmb3JtOiBGaXggTlVMTCBjaGVjayBjb3B5IHBhc3RlIGVycm9yCgkgIENJRCAxMjEyMTI5CgoyMDE0LTA1LTA5IDEyOjExOjU0IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJ0cmFuc2Zvcm0uYzoKCSAgdjRsMnRyYW5zZm9ybTogRml4IHBvdGVudGlhbCBkZWFkbG9jayBkdWUgdG8gbWlzc2luZyBicmVhawoJICBDSUQgMTIxMjEzMQoKMjAxNC0wNS0wOSAxODowMToyOCArMDIwMCAgV2ltIFRheW1hbnMgPHd0YXltYW5zQHJlZGhhdC5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwaml0dGVyYnVmZmVyLmM6CgkgIHJ0cGppdHRlcmJ1ZmZlcjogaW5jcmVtZW50IGFjY2VwdGVkIHBhY2tldHMgYWZ0ZXIgbG9zcwoJICBXaGVuIHdlIGRldGVjdCBhIGxvc3QgcGFja2V0LCBleHBlY3QgcGFja2V0cyB3aXRoIGhpZ2hlcgoJICBzZXFudW0gb24gdGhlIGlucHV0LgoJICBBbHNvIHVwZGF0ZSB0aGUgdW5pdCB0ZXN0LgoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI5NTI0CgoyMDE0LTA1LTA0IDExOjEyOjU0IC0wNjAwICBKYXNvbiBMaXR6aW5nZXIgPGpsaXR6aW5nZXJkZXZAZ21haWwuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cGppdHRlcmJ1ZmZlci5jOgoJICBBZGQgbmV3IHRlc3QgY2FzZS4KCjIwMTQtMDUtMDkgMTY6MTQ6MjEgKzAyMDAgIFdpbSBUYXltYW5zIDx3dGF5bWFuc0ByZWRoYXQuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvc2hhcGV3aXBlLmM6CgkgIHNoYXBld2lwZTogbm8gbmVlZCB0byBhY3RpdmF0ZSBwYWRzCgkgIEFjdGl2YXRpb24gd2lsbCBoYXBwZW4gaW4gdGhlIHN0YXRlIGNoYW5nZQoKMjAxNC0wNS0wOSAxMjoxMDowNCAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIHY0bDJvYmplY3Q6IERvbid0IGxlYWsgY29uZmlnIHN0cnVjdHVyZQoJICB0aGlzIGZpeGVzIGEgbGVhayBvZiB0aGUgY29uZmlnIHN0cnVjdHVyZSBhbmQgdGFrZSBjYXJlIG9mIG1ha2luZyBzdXJlCgkgIGNhcHMgY2FuJ3QgcmVhY2ggcmVmIDAgYmVmb3JlIHdlIGFyZSBkb25lIGRvaW5nIG91ciBjaGVjay4KCSAgQ0lEIDEyMTIxNDQKCjIwMTQtMDUtMDkgMTI6MDg6MTEgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICB2NGwyb2JqZWN0OiBSZW1vdmUgdW5lZWRlZCBjYXN0IGZvciBjb2RlIGNsYXJpdHkKCjIwMTQtMDUtMDkgMTE6NTY6NTIgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSAgdjRsMnBvb2w6IEZpeCBsZWFrIG9mIGNvbmZpZyBzdHJ1Y3R1cmUgaW4gZXJyb3IgY2FzZQoJICBDSURzIDEyMTIxNjcgYW5kICAxMjEyMTY3CgoyMDE0LTA1LTA5IDExOjUxOjI2IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgdjRsMm9iamVjdDogRml4IHVzZSBvZiB1bml0aWxpemVkIHBvb2wgcG9pbnRlcgoJICBDSUQgIzEyMTIxNzMKCjIwMTQtMDUtMDkgMTY6NDg6NTggKzAyMDAgIEVyaWMgVHJvdXNzZXQgPGV0cm91c3NldEBhd294LmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBkb24ndCByZXNwb25kIHRvIGEgcG9zaXRpb24gcXVlcnkgaW4gQllURSBmb3JtYXQgd2l0aCBhIFRJTUUgcG9zaXRpb24KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyOTU1MwoKMjAxNC0wNS0wOSAxNDoyMjo0MiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1yZWFkLWNvbW1vbi5jOgoJICBtYXRyb3NrYWRlbXV4OiBkb24ndCBsZWFrIGRvY3R5cGUgc3RyaW5nIGluIGVycm9yIGNvZGUgcGF0aAoJICBDSUQgMTIxMjE0NS4KCjIwMTQtMDUtMDYgMTM6Mzc6NDcgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICB2NGwyb2JqZWN0OiBSZWFkYmFjayBwb29sIGNvbmZpZyBpZiB1c2VkIHdpdGhpbiB0aGUgYmFzZWNsYXNzCgoyMDE0LTA1LTA2IDEyOjU4OjU5IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmg6CgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5oOgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJ0cmFuc2Zvcm0uYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnZpZGVvZGVjLmM6CgkgIHY0bDI6IFJlcGxhY2UgbWlzcy11c2Ugb2YgY3JvcCBtZXRhIGluIGZhdm91ciBvZiBwcm9wZXIgb2Zmc2V0CgkgIFRoaXMgbW92ZXMgYXdheSBmcm9tIGNvcHlpbmcgaW5mb3JtYXRpb24gYW5kIHN0b3JlIGV2ZXJ5dGhpbmcgaW5zaWRlCgkgIHRoZSBHc3RWaWRlb0luZm8gc3RydWN0dXJlLiBUaGUgYWxpZ25lbWVudCBleHBvc2VkIGJ5IHY0bDIgYXBpCgkgIGlzIG5vdyBoYW5kbGVkIHVzaW5nIHByb3BlciBvZmZzZXQuCgoyMDE0LTA1LTA2IDEyOjU1OjMwIC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuaDoKCSAgdjRsMm9iamVjdDogU3R5bGUgZml4CgoyMDE0LTA1LTA1IDEyOjM4OjMzIC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJhbGxvY2F0b3IuYzoKCSAgdjRsMmFsbG9jYXRvcjogUmVzZXQgaW1wb3J0ZWQgYnVmZmVyIHNpemUgd2l0aCBleHBlY3RlZCBzaXplCgkgIFRoaXMgZW5zdXJlIHRoYXQgdGhlIGJ1ZmZlciBwb29sIHdvbid0IGFsd2F5cyBkaXNjYXJkIGJ1ZmZlciB3aXRoIHRoZXNlCgkgIG1lbW9yeSB3aGVuIHRoZXkgYXJlIHJlbGVhc2VkLgoKMjAxNC0wNS0wNSAxMjozNzo0MyAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYWxsb2NhdG9yLmM6CgkgIHY0bDJhbGxvY2F0b3I6IFJlc2V0IGZsdXNoZWQgZ3JvdXAKCSAgVGhpcyBlbnN1cmUgdGhhdCBhIGZsdXNoZWQgZ3JvdXAgbWVtb3J5IGFyZSB0aGUgc2FtZSBzaXplIGFzIHdoZW4gdGhleQoJICB3aGVyZSBvcmlnaW5hbGx5IGFsbG9jYXRlZCAvIGltcG9ydGVkLgoKMjAxNC0wNS0wNSAxMjowNzozMSAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5oOgoJICB2NGwyYnVmZmVycG9vbDogR2V0IG51bWJlciBvZiBhbGxvY2F0ZWQgYnVmZmVycyBmcm9tIGFsbG9jYXRvcgoJICBUaGUgdmFsdWUgb2YgbnVtX2FsbG9jYXRlZCBidWZmZXIgd291bGQgZ2V0IGNvbmZ1c2VkIHdoZW4KCSAgYnVmZmVyIGFyZSBiZWluZyBkaXNjYXJkZWQuCgoyMDE0LTA1LTA1IDEyOjA2OjQ0IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJhbGxvY2F0b3IuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMmFsbG9jYXRvci5oOgoJICB2NGwyYWxsb2NhdG9yOiBBZGQgYSBtZXRob2QgdG8gcmVhZCBudW1iZXIgb2YgYWxsb2NhdGVkIGdyb3VwCgoyMDE0LTA1LTA0IDIwOjIzOjQyIC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkgIHY0bDJidWZmZXJwb29sOiBJbXByb3ZlIGRlYnVnZ2luZwoKMjAxNC0wNS0wNCAxOTo1MTo0OCAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5oOgoJICB2NGwyYnVmZmVycG9vbDogRW5zdXJlIHdlIGRvbid0IHJlLWVucXVldWUgYnVmZmVyIGR1cmluZyBmbHVzaAoKMjAxNC0wNS0wNCAxOToxMzozNyAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwydHJhbnNmb3JtLmM6CgkgIHY0bDJ0cmFuc2Zvcm06IEluaXRpbGlhbGl6ZSBkZWJ1ZyBjYXRlZ29yeQoKMjAxNC0wNS0wNCAxNjoxMTowOSAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYWxsb2NhdG9yLmM6CgkgIHY0bDJhbGxvY2F0b3I6IEZpeCBsaWJ2NGwyIHN1cHBvcnQKCSAgTmVlZCB0byBpbmNsdWRlIGNvbmZpZy5oLCBvdGhlcndpc2Ugd2UgZW5kdXAgZGlyZWN0bHkgdXNpbmcgdGhlCgkgIGlvY3QvbW1hcC9tdW5tYXAgY2FsbHMgYW5kIG5lZWQgdG8gdmFsbCB2NGwyX211bm1hcC4KCjIwMTQtMDUtMDEgMTM6MDQ6MDggLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJhbGxvY2F0b3IuYzoKCSAgdjRsMmFsbG9jYXRvcjogU2V0IHRoZSBmbGFncyBvbiB0aGUgb2JqZWN0CgkgIFdlIHdoZXJlIG5vdCBzZXR0aW5nIHRoZSBwcm9iZWQgZmxhZ3Mgb24gdGhlIGFsbG9jYXRvciwgd2hpY2ggbWVhbiBldmVuIGlmCgkgIENSRUFURV9CVUZTIHdhcyBzdXBwb3J0ZWQgb24gc29tZSBkcml2ZXIsIGl0IHdvdWxkIGVuZHVwIGJlaW5nIGlnbm9yZWQuCgoyMDE0LTA0LTI5IDE2OjQ5OjUyIC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJICB2NGwyYnVmZmVycG9vbDogUmUtZW5xdWV1ZSBidWZmZXIgYXQgc3RyZWFtIHN0YXJ0CgoyMDE0LTA0LTI5IDE2OjA2OjAwIC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYWxsb2NhdG9yLmM6CgkgIHY0bDJhbGxvY2F0b3I6IFRoZXJlIGlzIG5vdCBncm91cCBvbiBlcnJvcgoKMjAxNC0wNC0yOSAxNDo1NjozMSAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMnRyYW5zZm9ybS5jOgoJICB2NGwydHJhbnNmb3JtOiBIYW5kbGUgRkxVU0hfU1RPUCBldmVudAoKMjAxNC0wNC0yOSAxMzowNTo0MSAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuaDoKCSogc3lzL3Y0bDIvZ3N0djRsMnNpbmsuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJKiBzeXMvdjRsMi9nc3R2NGwydmlkZW9kZWMuYzoKCSAgdjRsMmJ1ZmZlcnBvb2w6IEFjcXVpcmUgY2Fubm90IHJldHVybiBhIGJ1ZmZlciBmcm9tIGFub3RoZXIgcG9vbAoJICBSZXR1cm4gYSBidWZmZXIgZnJvbSBhbiBvdGhlcnBvb2wgaGFzIHVud2FudGVkIHNpZGUgZWZmZWN0cyB0aGF0IGxlYWQgdG8gbGVha3MgYW5kCgkgIHByZXZlbnRzIGRlYWN0aXZhdGluZyB0aGUgcG9vbC4gSW5zdGVhZCwgd2UgY2hhbmdlIHRoZSBfcHJvY2VzcygpIEFQSSBzbyBpdCBjYW4KCSAgcmVwbGFjZSB0aGUgaW50ZXJuYWwgYnVmZmVyIHdpdGggdGhlIGJ1ZmZlciBmcm9tIHRoZSBkb3duc3RyZWFtIHBvb2wuIFRoaXMgaW1wbGllZAoJICBtb3ZpbmcgZnJvbSBfZmlsbCgpIHRvIF9jcmVhdGUoKSBtZXRob2QgaW4gdGhlIHNyYy4KCjIwMTQtMDQtMjkgMTM6MDA6MzIgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkgIHY0bDJidWZmZXJwb29sOiBSZW1vdmUgdW5yZWFjaGVkIGFjcXVpcmUgY29kZQoJICBUaGUgYWNxdWlyZSBpcyBkb25lIGluIF9wcmVwYXJlIG5vdy4KCjIwMTQtMDQtMjkgMTI6NTc6MDggLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkgIHY0bDJidWZmZXJwb29sOiBTYW5ldGl6ZSBidWZmZXIgcmVmb3VudCBoYW5kbGluZwoJICBCdWZmZXIgcmVmY291bnRpbmcgaXMgYSBiaXQgaGFyZCwgYmVjYXVzZSBvZiB0aGUgZHVhbGl0eSBiZXR3ZWVuIENBUFRVUkUgYW5kCgkgIE9VVFBVVCBtb2RlLiBJbiB0aGUgbG9uZyB0ZXJtLCB3ZSBzaG91bGQgY29uc2lkZXIgaGF2aW5nIHR3byBzZXBlcmF0ZSBwb29sCgkgIGluc3RlYWQgb2YgdGhpcyBtZXNzLiBBdCBsZWFzdCBzdGF0ZSBzaG91bGQgYmUgYmV0dGVyIGtlcHQgdGhpcyB3YXkuCgoyMDE0LTA0LTI5IDEyOjQ4OjA0IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwydHJhbnNmb3JtLmM6CgkgIHY0bDJ0cmFuc2Zvcm06IEFkZCBtb3JlIHRyYWNlcwoKMjAxNC0wNC0yOCAwODo0ODoyNiAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmFsbG9jYXRvci5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyYWxsb2NhdG9yLmg6CgkgIHY0bDItYWxsb2NhdG9yOiBBZGQgUyB0byBSRVFCVUZTL0NSRUFURV9CVUZTIGVudW0KCSAgQWxsIGVudW0gdGhhdCBoYXMgUkVRQlVGUyBhbmQgQ1JFQVRFX0JVRlMgd2hlcmUgbWlzc2luZyBTLCB3aGljaCB3YXMKCSAgY29uZnVzaW5nIHNpbmNlIHRoZXkgYXJlIHN1cHBvc2VkIHRvIG1hdGNoIHdpdGggYXNzb2NpY2F0ZWQgaW9jdGwgbmFtZS4gVGhpcwoJICBhbHNvIGZpeGVzIHRoZSB5ZXQgdW51c2VkIENBTl9SRVFVRVNUIGZsYWcgY2hlY2suCgoyMDE0LTA0LTE4IDE3OjUxOjA3IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwydHJhbnNmb3JtLmM6CgkgIHY0bDJ0cmFuc2Zvcm06IEVuYWJsZWQgUW9TCgoyMDE0LTA0LTE4IDE3OjAyOjUwIC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYWxsb2NhdG9yLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJhbGxvY2F0b3IuaDoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSAgdjRsMjogRml4dXAgVVNFUlBUUi9ETUFCVUYgY2FwdHVyZSBzdXBwb3J0CgoyMDE0LTA0LTE4IDE0OjQ1OjAwIC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIHY0bDJvYmplY3Q6IEltcHJvdmUgc2VsZWN0b24gb2YgbWluL21heCBpbiBkZWNpZGUgYWxsb2NhdGlvbgoKMjAxNC0wNC0xOCAxMzowOTowMCAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSAgdjRsMmJ1ZmZlcnBvb2w6IFVwZGF0ZSBjb25maWcgaWYgbWV0YSBpcyBtaXNzaW5nCgkgIFJhdGhlciB0aGVuIGhhcmQgZmFpbHVyZSwgd2Ugc2hvdWxkIHVwZGF0ZSB0aGUgY29uZmlnIHdpdGggdGhlIG1ldGEgb3B0aW9uIHdlCgkgIG5lZWQgYW5kIHJldHVybiBmYWxzZS4KCjIwMTQtMDQtMTEgMTc6MTA6MTEgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJhbGxvY2F0b3IuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMmFsbG9jYXRvci5oOgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5oOgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuaDoKCSAgdjRsMjogQWRkIERNQUJVRiBhbmQgVVNFUlBUUiBpbXBvcnRhdGlvbgoKMjAxNC0wNC0xNyAyMTo0NTo1OCAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmFsbG9jYXRvci5jOgoJICB2NGwyYWxsb2NhdG9yOiBWYWxpZCBGRCBhcmUgYmlnZ2VyIG9yIGVxdWFsIHRvIHplcm8KCjIwMTQtMDQtMTYgMTc6MDQ6NDIgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgdjRsMm9iamVjdDogRG9uJ3QgbGVhayBkb3duc3RyZWFtIHBvb2wgaW4gcHJvcG9zZV9hbGxvY2F0aW9uCgkgIHBhcnNlX250aF9hbGxvY2F0aW9uX3Bvb2woKSBnaXZlIGEgcmVmIG9uIHRoZSBwb29sLCB3ZSBuZWVkIHRvIHVucmVmIGl0CgkgIHdoZW4gZG9uZS4KCjIwMTQtMDQtMTQgMTI6MTk6MzkgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5oOgoJICB2NGwyOiBJbnRyb2R1Y2UgRE1BQlVGX0lNUE9SVCBJTyBtb2RlCgoyMDE0LTA0LTEwIDE2OjI2OjM0IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYWxsb2NhdG9yLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJhbGxvY2F0b3IuaDoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSAgdjRsMjogQWRkIGRtYWJ1ZiBleHBvcnQgc3VwcG9ydAoJICBUaGlzIGNhbiBiZSBlbmFibGVkIHNpbmcgaW8tbW9kZT1kbWFidWYuIFRoaXMgd2lsbCBlbmFibGVkIG1tYXAgYmFzZQoJICBkcml2ZXJzIHRvIGV4cG9ydCB0aGUgYnVmZmVycyBhcyBkbWFidWYuCgoyMDE0LTA0LTE2IDE1OjUxOjAzIC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYWxsb2NhdG9yLmM6CgkgIHY0bDJhbGxvY2F0b3I6IEd1YXJhbnR5IHF1ZXVlZCBzdGF0ZSBpbnRlZ3JldHkKCSAgQmVjYXVzZSBvZiB0aGUgYnVmIGluIHZpZGVvYnVmMiwgZHFidWYgbWF5IGxlYXZlIHRoZSBET05FIGZsYWcgYmVpbmcsCgkgIHdoaWNoIHdvdWxkIGltcGxpZWQgdGhhdCB0aGUgYnVmZmVyIGlzIHF1ZXVlZC4gQXMgdGhpcyBoYXMgYmVlbiBicm9rZW4KCSAgZm9yIDQgeWVhcnMsIHNpbXBseSBndWFyYW50eSB0aGUgc3RhdGUgZmxhZ3MgaW50ZWdyaXR5IHdoZW4gZG9pbmcKCSAgcWJ1Zi9kcWJ1Zi4KCSAgU2VlIGh0dHBzOi8vcGF0Y2h3b3JrLmxpbnV4dHYub3JnL3BhdGNoLzIzNjQxLwoKMjAxNC0wNC0xNSAxNzozMTo0MiAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMnRyYW5zZm9ybS5jOgoJICB2NGwydHJhbnNmb3JtOiBJbXBsZW1lbnQgb3Blbi9jbG9zZQoKMjAxNC0wNC0xNSAxNjo0Mzo0MSAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMnRyYW5zZm9ybS5jOgoJICB2NGwydHJhbnNmb3JtOiBFbnN1cmUgb3V0cHV0IHBvb2wgaXMgY29uZmlndXJlZAoKMjAxNC0wNC0xNSAxNjo0MzoxNSAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMnRyYW5zZm9ybS5jOgoJKiBzeXMvdjRsMi9nc3R2NGwydHJhbnNmb3JtLmg6CgkgIHY0bDJ0cmFuc2Zvcm06IENoZWNrIGlmIGNhcHMgaGF2ZSBjaGFuZ2VzIGJlZm9yZSBhc3NlcnRpbmcKCSAgSW4gc2V0X2NhcHMsIG5vdyBjaGVja3MgaWYgY2FwcyBhY3R1YWxseSBjaGFuZ2VkIGFuZCBzdWNjZWVkIGlmIHRoZXkgZGlkbid0CgkgIGNoYW5nZS4KCjIwMTQtMDQtMTUgMTY6NDE6NDYgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJ2aWRlb2RlYy5jOgoJICB2NGwydmlkZW9kZWM6IEVuc3VyZSBwb29sIGlzIGNvbmZpZ3VyZWQKCjIwMTQtMDQtMDggMTg6NTQ6MDkgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgdjRsMm9iamVjdDogQWx3YXlzIHNldCBhIHNpemUgd2hlbiBkZWNpZGluZyBhbGxvY2F0aW9uCgoyMDE0LTA0LTA4IDE4OjIwOjI1IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIHY0bDJvYmplY3Q6IEltcHJvdmVkIGRlY2lkZSBhbGxvY2F0aW9uCgkgIEltcHJvdmUgZGVjaWRlIGFsbG9jYXRpb24gc28gaXQgcHJvcGVybHkgY29uZmlndXJlIGJvdGggbG9jYWwgYW5kIGRvd25zdHJlYW0KCSAgYnVmZmVyIHBvb2xzLiBBbHNvIHJlYWQgYmFjayB0aGUgcG9vbCBjb25maWcgaWYgaXQgd2FzIGNoYW5nZWQgdG8gdG8gZHJpdmVyCgkgIGxpbWl0YXRpb25zLgoKMjAxNC0wNC0xNSAxMzozMDowMiAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSAgdjRsMmJ1ZmZlcnBvb2w6IERvIG5vdCBwcmUtY29uZmlndXJlIHRoZSBwb29sCgkgIFByZS1jb25maWd1cmluZyB0aGUgcG9vbCBpcyBlcnJvciBwcm9uZSwgc2luY2UgaXQgbWF5IGhpZGUgYSBjb25maWd1cmF0aW9uIGZhaWx1cmUgYW5kCgkgIGVuZHVwIHdpdGggYSBwb29sIHRoYXQgaXMgbm90IGNvbmZpZ3VyZWQgdGhlIHdheSBpdCBzaG91bGQgKGUuZy4gbm8gdmlkZW8gbWV0YSwgd3JvbmcKCSAgcXVldWUgc2l6ZSwgZXRjLikKCjIwMTQtMDQtMTUgMTM6MjM6MzMgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkgIHY0bDJidWZmZXJwb29sOiBQcmVzZXJ2ZSBkb3duc3RyZWFtIG1pbmltdW0gZXZlbiBpbiBSVwoKMjAxNC0wNC0xNSAxMzoyMDoxMiAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuaDoKCSAgdjRsMmJ1ZmZlcnBvb2w6IFR1cm4gY3JvcG1ldGEgaW50byBhIGN1c3RvbSBvcHRpb24KCSAgVHVybiBjcm9wIG1ldGEgaW50byBhIGN1c3RvbSBvcHRpb24gYW5kIG1ha2Ugc3VyZSBpdCdzIHRoZXJlIGlzIG5lZWRlZC4KCjIwMTQtMDQtMDkgMTI6NTM6MTkgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgdjRsMmJ1ZmZlcnBvb2w6IEVhcmx5IGNhdGNoIHNob3J0IGFsbG9jYXRpb24KCSAgQ2F0Y2ggc2hvcnQgYWxsb2NhdGlvbiBhZnRlciBzYXZpbmcgdGhlIGZvcm1hdC4gVGhpcyBpcyBub3QgYSBjYXRjaCBhbGwsIGJ1dCBzaG91bGQgY2F0Y2gKCSAgbW9zdCBvZiB0aGUgbWlzcy1iZWhhdmluZyBkcml2ZXJzIHdoZW4gZG9pbmcgU19GTVQvR19GTVQgYW5kIGF2b2lkIHBvdGVudGlhbCBjcmFzaC4KCjIwMTQtMDQtMDQgMjI6NDY6NDAgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmg6CgkgIHY0bDJidWZmZXJwb29sOiBQb3J0IHRvIHVzZSBHc3RWNGwyQWxsb2NhdG9yCgoyMDE0LTA0LTA0IDIyOjM1OjQ4IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9NYWtlZmlsZS5hbToKCSogc3lzL3Y0bDIvZ3N0djRsMmFsbG9jYXRvci5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyYWxsb2NhdG9yLmg6CgkqIHN5cy92NGwyL3Y0bDJfY2FsbHMuaDoKCSAgSW1wbGVtZW50IFY0bDIgQWxsb2NhdG9yCgkgIFRoaXMgZ29hbCBvZiB0aGlzIGFsbG9jYXRvciBpcyBtYWlubHkgdG8gYWxsb3cgdHJhY2tpbmcgdGhlIG1lbW9yeS4KCSAgQ3VycmVudGx5LCB3aGVuIGEgYnVmZmVyIG1lbW9yeSBoYXMgYmVlbiBtb2RpZmllZCwgdGhlIGJ1ZmZlciBhbmQgaXQncwoJICBtZW1vcnkgaXMgZGlzcG9zZWQgYW5kIGxvc3QgdW50aWwgdGhlIHN0cmVhbSBpcyByZXN0YXJ0ZWQuCgoyMDE0LTA0LTE2IDE2OjM1OjQ5IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIHY0bDJvYmplY3Q6IERvbid0IGFkdmVydGlzZSBjcm9wIG1ldGEKCSAgQ3VycmVudGx5IHdlIGFkdmVydGlzZSBjcm9wIG1ldGEsIGJ1dCBub3QgZWxlbWVudCBoYW5kbGUgc3VwcG9ydCB0aGlzIG1ldGEuCgoyMDE0LTA0LTA4IDE4OjE4OjU3IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIHY0bDJvYmplY3Q6IFNldHVwIHBvb2wgYWxyZWFkeSBzZW5kIGVsZW1lbnQgZXJyb3IKCjIwMTQtMDQtMDggMTg6MTc6MzEgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgdjRsMm9iamVjdDogV29ya2Fyb3VuZCBkZWNvZGVyIHRoYXQgc2V0IG51bV9wbGFuZXMgdG8gMCBpbiB0aGUgZm9ybWF0CgkgIFNvbWUgd2VsbCBrbm93biBkZWNvZGVyIHdyb25nbHkgc2V0IG51bV9wbGFuZXMgdG8gMCBpbiB0aGVpciBmb3JtYXQgaW5zdGVhZCBvZgoJICBvbmUuIEluIHRoaXMgY2FzZSB3ZSB3b3VsZCBlbmR1cCB3aXRoIG5vIHNpemUgd2hlbiBkZWNpZGluZyBidWZmZXIgYWxsb2NhdGlvbi4KCjIwMTQtMDQtMDggMTc6MzQ6MTkgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgdjRsMm9iamVjdDogRW5zdXJlIHNpemUgYmVmb3JlIGNvbmZpZ3VyaW5nIHRoZSBwb29sCgoyMDE0LTA0LTA0IDIyOjM4OjA1IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0Lmg6CgkgIHY0bDJvYmplY3Q6IFNldCBtaW5pbXVtIGJ1ZmZlcnMgdG8gMgoJICBBbGwgdGhlIGVsZW1lbnQgcmVxdWlyZXMgYXQgbGVhc3QgdHdvIGJ1ZmZlcnMuIFRoaXMgaXMgbm90IHVzZWQgZm9yIFJXIG1vZGUuCgoyMDE0LTA0LTA0IDIyOjM3OjE0IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0Lmg6CgkgIHY0bDJvYmplY3Q6IFJlbW92ZSB1bnVzZWQgTUFYX0JVRkZFUlMgZGVmaW5lCgoyMDE0LTA0LTA0IDIyOjM2OjM3IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIHY0bDJvYmplY3Q6IERvbid0IGhhcmRjb2RlIG1pbi9tYXggdXNlIGRlZmF1bHQgaW5zdGVhZAoKMjAxNC0wNC0xMCAxNzo0OTo0MSAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMnRyYW5zZm9ybS5jOgoJICB2NGwydHJhbnNmb3JtOiBJbnN0YWxsIFBST1BfQ0FQVFVSRV9JT19NT0RFIHdpdGggcmlnaHQgSUQKCjIwMTQtMDQtMDggMTg6NTQ6NTAgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJ0cmFuc2Zvcm0uYzoKCSAgdjRsMnRyYW5zZm9ybTogZGVjaWRlX2FsbG9jYXRpb24gcmV0dXJucyBhIGJvb2xlYW4KCjIwMTQtMDQtMTAgMTc6NDk6MjkgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJ2aWRlb2RlYy5jOgoJICB2NGwydmlkZW9kZWM6IEluc3RhbGwgUFJPUF9DQVBUVVJFX0lPX01PREUgd2l0aCByaWdodCBJRAoKMjAxNC0wMy0yNyAxMzoyMToyNSAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMnRyYW5zZm9ybS5jOgoJICB2NGwydHJhbnNmb3JtOiBBZGQgcHJvcG9zZV9hbGxvY2F0aW9uCgkgIFRoaXMgc2hvdWxkIHJlbW92ZSAxIGNvcHkgYmV0d2VlbiB0aGUgZGVjb2RlciBhbmQgdGhlIHRyYW5zZm9ybS4KCjIwMTQtMDMtMjcgMTM6MjA6NTMgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5oOgoJKiBzeXMvdjRsMi9nc3R2NGwyc2luay5jOgoJICB2NGwyOiBNb3ZlIHByb3Bvc2UgYWxsb2NhdGlvbiB0byB2NGwyb2JqZWN0CgoyMDE0LTAzLTIwIDE3OjI2OjA1IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwydHJhbnNmb3JtLmM6CgkgIHY0bDJ0cmFuc2Zvcm06IEZpeHVwIGNhcHMgcXVlcnkKCjIwMTQtMDMtMjAgMTU6MzE6MjIgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5oOgoJKiBzeXMvdjRsMi9nc3R2NGwydHJhbnNmb3JtLmM6CgkgIHY0bDJ0cmFuc2Zvcm06IFNldHVwIGNyb3BwaW5nIGlmIG5lZWRlZAoKMjAxNC0wMy0xOSAxNzoyNToxNiAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMi5jOgoJICB2NGwydHJhbnNmb3JtOiBFeHBvc2UgQkdSQSBhbmQgQVJHQiBmb3JtYXRzCgoyMDE0LTAzLTE4IDE3OjMzOjM4IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwydHJhbnNmb3JtLmM6CgkgIHY0bDJ0cmFuc2Zvcm06IEVuc3VyZSBvdXRwdXQgcG9vbCBpcyBhY3RpdmF0ZWQKCSAgVGhhdCBwb29sIG1heSBiZSBkaWZmZXJlbnQgdGhlbiB0aGUgaW50ZXJuYWwgcG9vbC4KCjIwMTQtMDMtMTYgMTk6MTE6MTYgKzAxMDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJ0cmFuc2Zvcm0uYzoKCSAgdjRsMnRyYW5zZm9ybTogRW5zdXJlIGludGVybmFsIGJ1ZmZlciBwb29scyBhY3RpY2F0aW9uCgoyMDE0LTAzLTE2IDExOjM2OjE5ICswMTAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwydHJhbnNmb3JtLmM6CgkgIHY0bDJ0cmFuc2Zvcm06IE1vdmUgc3ViaW5zdGFuY2Ugc3ViY2xhc3MgaW5pdCBuZWFyIG90aGVyIGluaXQKCjIwMTQtMDMtMTUgMTg6NTY6NTEgKzAxMDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJ0cmFuc2Zvcm0uYzoKCSAgdjRsMnRyYW5zZm9ybTogU3RvcCBzdHJlYW0gYmVmb3JlIGNsb3NpbmcgdGhlIGRldmljZXMuCgoyMDE0LTAzLTE1IDE2OjUzOjU0ICswMDAwICBWw61jdG9yIE1hbnVlbCBKw6FxdWV6IExlYWwgPHZqYXF1ZXpAaWdhbGlhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJ0cmFuc2Zvcm0uYzoKCSAgdjRsMnRyYW5zZm9ybTogY29weSBtZXRkYXRhCgoyMDE0LTAzLTA0IDE4OjMxOjI3IC0wNTAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9NYWtlZmlsZS5hbToKCSogc3lzL3Y0bDIvZ3N0djRsMi5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkqIHN5cy92NGwyL2dzdHY0bDJ0cmFuc2Zvcm0uYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnRyYW5zZm9ybS5oOgoJICBJbXBsZW1lbnQgR3N0VjRsMlRyYW5zZm9ybQoJICBJbXBsZW1lbnQgYSB2NGwyIGVsZW1lbnQgdGhhdCB3cmFwcyBIVyB2aWRlbyBjb252ZXJ0ZXJzLgoKMjAxNC0wMy0yNyAxODo0MTowNyAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0Lmg6CgkgIHY0bDI6IFByb2JlIGZvciBDUkVBVEVfQlVGUyBpbiBvcmRlciB0byBjb3JyZWN0bHkgc2V0IHBvb2wgbWluL21heAoJICBJbiBvcmRlciB0byBjb3JyZWN0bHkgc2V0IHRoZSBwb29sIG1pbi9tYXgsIHdlIG5lZWQgdG8gcHJvYmUgZm9yIENSRUFURV9CVUZTCgkgIGlvY3RsLiBUaGlzIGNhbiBiZSBkb25lIGFzIHNvb24gYXMgdGhlIGZvcm1hdCBoYXMgYmVlbiBuZWdvdGlhdGVkIHVzaW5nIGEKCSAgY291bnQgb2YgMC4KCjIwMTQtMDMtMjUgMTU6MjE6MDMgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJ2aWRlb2RlYy5jOgoJICB2NGwyOiBNb3ZlIGNhcHR1cmUgZW9zIGhhbmRsaW5nIGluIF9wcm9jZXNzKCkKCSAgTm93IHRoYXQgd2UgbWlnaHQgYmUgY29weWluZyBvdXQgYnVmZmVyIChlLmcuIGRvd25zdHJlYW0gZG9uJ3Qgc3VwcG9ydCB2aWRlbwoJICBtZXRhIGJ1ZyB3ZSBuZWVkIGl0KSB3ZSBuZWVkIHRvIG1vdmUgdGhlIEVPUyBoYW5kbGluZyBpbnNpZGUgdGhlIHByb2Nlc3MKCSAgbWV0aG9kLgoKMjAxNC0wMy0yNSAxMDo0OTozOSAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICB2NGwyb2JqZWN0OiBGaXggc3VwcG9ydCBmb3IgcGxhbmFyIGZvcm1hdCBpbiAxIHY0bDIgbXBsYW5lCgkgIFNvIGZhciB3ZSB3aGVyZSBvbmx5IHNldHRpbmcgc2F2aW5nIHRoZSBmaXJzdCBwbGFuZSBzdHJpZGUgaW4gdGhlIG1ldGEuIFRoaXMgd2FzCgkgIGxlYWRpbmcgdG8gd3JvbmcgdmFsdWVzIGluIEdzdFZpZGVvTWV0YS4KCjIwMTQtMDMtMTkgMTc6NTI6MDggLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJ2aWRlb2RlYy5jOgoJICB2NGwydmlkZW9kZWM6IENsZWFubHkgZmFpbCBpZiBzZXRfZm9ybWF0IGlzIG5ldmVyIGNhbGxlZAoKMjAxNC0wMy0xOSAxNzowMDo1NiAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0Lmg6CgkqIHN5cy92NGwyL3Y0bDJfY2FsbHMuYzoKCSAgdjRsMjogRXhwb3NlIFJHQjMyIGZvcm1hdHMgd2l0aCBhbmQgd2l0aG91dCBhbHBoYQoJICBBcyBzb29uIGEgdGhlIGFscGhhIGNvbXBvbmVudCBjYW4gYmUgc2V0LCB3ZSBjYW4gZXhwb3NlIHRoZSBSR0IzMiBhbmQgQkdSMzIKCSAgZm9ybWF0IGFzIEFSR0IgYW5kIEJHUkEgYXMgbG9uZyB3ZSBjYW4gZGV0ZXJtaW5pc3RpY2FsbHkgc2V0IHRoZSBhbHBoYSBwYWRkaW5nCgkgIHZhbHVlLgoKMjAxNC0wMy0xOCAxNTo0OTo0OSAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICB2NGwyOiBDb3JyZWN0bHkgY2hlY2sgaWYgdmlkZW8gbWV0YSBpcyBuZWVkZWQKCSAgQ29ycmVjdGx5IGNoZWNrIGlmIHZpZGVvIG1ldGEgaXMgbmVlZGVkLiBJbiBidWZmZXIgcG9vbCwgdHJ1c3QgbmVlZF92aWRlb19tZXRhCgkgIGZsYWcgaW4gb3JkZXIgdG8gZGVjaWRlIGlmIGNvbmZpZ3VyYXRpb24gc2hvdWxkIHN1Y2NlZWQuCgoyMDE0LTAzLTE4IDE1OjQ1OjE4IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIHY0bDJvYmplY3Q6IEZpeCB0aWxlZCBzdHJpZGUgcmVxdWVzdAoJICBGaXggc3RyaWRlIHJlcXVlc3QgZm9yIHRpbGVkIGZvcm1hdCBhbmQgaW1wcm92ZSBsb2dnaW5nLgoKMjAxNC0wMy0xOCAxMTo1Mzo1NyAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICB2NGwyb2JqZWN0OiBFbnN1cmUgdmlkZW8gYW5kIGNyb3AgbWV0YSBhcmUgZW5hYmxlZCBpZiBuZWVkZWQKCSAgSW4gY2VydGFpbiBjYXNlcyB3ZSBjYW5ub3QgbGl2ZSB3aXRob3V0IHZpZGVvIG1ldGEgYW5kL29yIGNyb3AgbWV0YQoJICBiZWluZyBlbmFibGVkIGluIG91ciBpbnRlcm5hbCBidWZmZXIgcG9vbC4gRW5zdXJlIHRoaXMgaXMgYWx3YXlzIHRoZSBjYXNlLAoJICByZWdhcmRsZXNzIG9mIGhhdmluZyBzdXBwb3J0IGZvciBhbGxvY2F0aW9uIHF1ZXJ5LgoKMjAxNC0wMy0xNiAxODozOTozMiArMDEwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMnZpZGVvZGVjLmM6CgkgIHY0bDJ2aWRlb2RlYzogRW5zdXJlIGludGVybmFsIHBvb2wgYXJlIGFjdGl2YXRlZAoKMjAxNC0wMy0xNiAxNzowMToxMCArMDEwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMnZpZGVvZGVjLmM6CgkgIHY0bDJ2aWRlb2RlYzogQ2hlY2sgdGhhdCBwb29sIHdoZXJlIGFsbG9jYXRlZCBiZWZvcmUgZmx1c2hpbmcgdGhlbQoJICBVcG9uIGVycm9yLCB0aGUgcG9vbHMgbWlnaHQgbm90IGhhdmUgYmVlbiBhbGxvY2F0ZWQgeWV0LCBoZW5jZSB3ZSBzaG91bGQgbm90CgkgIHRyeSBhbmQgZmx1c2ggdGhlbSAoZXZlbiB0aG91Z2ggd2Ugc3RpbGwgd2FudCB0byBtYWtlIHN1cmUgdGhlIHByb2Nlc3NpbmcgdGhyZWFkCgkgIGlzIGZ1bGx5IHN0b3BwZWQpLgoKMjAxNC0wMy0xNiAxNjo1NTo0MyArMDEwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnNpbmsuYzoKCSAgdjRsMmJ1ZmZlcnBvb2w6IEVuZm9yY2UgYWN0aXZhdGlvbiBvdXRzaWRlIG9mIHByb2Nlc3MKCSAgRW5mb3JjZSBwb29sIGJlaW5nIGFjdGl2YXRlIGZyb20gYmVmb3JlIGNhbGxpbmcgcG9vbCBwcm9jZXNzLiBUaGlzIHNob3VsZAoJICBoZWxwIGNhdGNoaW5nIGJhc2ljIGVycm9ycyBpbiB0aGUgdXNhZ2Ugb2YgYnVmZmVyIHBvb2wuCgoyMDE0LTAzLTE2IDEyOjQ0OjE0ICswMTAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIHY0bDJvYmplY3Q6IGRvbid0IHVzZSBvd24gcG9vbCBpZiBkb3duc3RyZWFtIGRvbid0IHN1cHBvcnQgdmlkZW8gbWV0YQoKMjAxNC0wMy0xNCAwMDozMTozMiArMDEwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSAgdjRsMmJ1ZmZlcnBvb2w6IFVzZSBvYmotPm5fdjRsMl9wbGFuZXMgZm9yIGNvcnJlY3QgbnVtYmVyIG9mIHBsYW5lcwoJICBCdWZmZXIgcG9vbCB3YXMgZ3Vlc3Npbmcgd3JvbmdseSB0aGUgbnVtYmVyIG9mIHBsYW5lcyByYXRoZXIKCSAgdGhlbiByZWFkaW5nIHRoZSB2YWx1ZSBmcm9tIG9iai0+bl92NGwyX3BsYW5lcy4gVGhpcyB3YXMgY2F1c2luZwoJICBmb3JtYXQgWVUxMiAoSTQyMCkgdG8gZmFpbCB1cG9uIGNoZWNrLgoKMjAxNC0wMy0wNyAxNjozOToyOSAtMDUwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICB2NGwyb2JqZWN0OiBGaXggaGFuZGxpbmcgb2YgY29udGl1b3VzIHZzIG5vbi1jb250aWd1b3VzIHN1cHBvcnQKCSAgVGhlIGNvbXBsZXggbWVjaGFuaWMgdG8gdHJ5IGFuZCBjaG9vc2UgdGhlIHJpZ2h0IHRoaW5nIGRpZCBub3Qgd29yay4gSW5zdGVhZCwKCSAgc2ltcGx5IHByb2JlIHRoZSBub24tY29udGlndW91cyBmb3JtYXQgZmlyc3QgYW5kIHRoZW4gdGhlIGNvbnRpZ3VvdXMgb25lLgoJICBUaGlzIGlzIGluIGZhY3QgdmVyeSBsb3cgb3ZlcmhlYWQsIGFzIHRoZXJlIGlzIGEgcmVsYXRpdmVseSBzbWFsbCBudW1iZXIgb2YKCSAgcGl4ZWwgZm9ybWF0IHN1cHBvcnRlZCBieSBlYWNoIGRldmljZXMuCgoyMDE0LTA0LTE1IDE1OjA3OjIzIC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5oOgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuaDoKCSogc3lzL3Y0bDIvZ3N0djRsMnZpZGVvZGVjLmg6CgkgIHY0bDI6IEFkZCBpbml0aWFsIHN1cHBvcnQgZm9yIGFsaWdubWVudCBhbmQgY3JvcHBpbmcKCjIwMTQtMDMtMTMgMTk6MjQ6NTEgKzAxMDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5oOgoJKiBzeXMvdjRsMi9nc3R2NGwydmlkZW9kZWMuYzoKCSAgdjRsMm9iamVjdDogUmVuYW1lIHNldHVwX2Zvcm1hdCgpIG1ldGhvZCBpbnRvIGFjcXVpcmVfZm9ybWF0KCkKCSAgVGhlIHNldHVwX2Zvcm1hdCgpIHdhcyBjb25mdXNpbmcgc2luY2UgaXQgZG9lcyBub3Qgc2V0IGFueXRoaW5nLCBpbiBmYWN0CgkgIGl0IHJlYWRzIHRoZSBzZXR1cCBmcm9tIHRoZSBkcml2ZXIgYW5kIHNhdmUgaXQuCgoyMDE0LTAzLTEzIDE4OjIxOjQxICswMTAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIHY0bDJvYmplY3Q6IE1vdmUgdHlwZSBkZWNsYXJhdGlvbiB0byB0aGUgdG9wCgoyMDE0LTAzLTEyIDE4OjA3OjM4ICswMTAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwydmlkZW9kZWMuYzoKCSAgdjRsMnZpZGVvZGVjOiBQcm90ZWN0IE5VTEwgcG9vbCB3aGlsZSBnb2luZyB0byBSRUFEWQoJICBXaGVuIHRoZSBwaXBlbGluZSBmYWlscyBlYXJseSwgdGhlIHBvb2wgbWlnaHQgYmUgdW5zZXQgYmVmb3JlIHRoZSBwcm9jZXNzaW5nCgkgIHRocmVhZCBoYXMgcnVuIG9uY2UuIEFkZCBwcm90ZWN0aW9uIGFnYWluc3QgdGhhdC4KCjIwMTQtMDMtMTIgMTg6MDE6MDkgKzAxMDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgdjRsMm9iamVjdDogRmFpbCBjbGVhbmx5IGlmIHBpeGVsIGZvcm1hdCBpcyB1bmtvd24gb3Igbm90IHJhdyB2aWRlbwoJICBDZXJ0YWluIGRlY29kZXIgaGFzIGJlZW4gZm91bmQgdG8gbm90IGNob29zZSBhIGZvcm1hdCBhdXRvbWF0aWNhbGx5LiBSdW5uaW5nCgkgIHY0bDJ2aWRlb2RlYyBvbiB0aGVzZSB3b3VsZCBhc3NlcnQuIFRoaXMgcGF0Y2ggd2lsbCBtYWtlIGl0IGZhaWwgY2xlYW5seQoJICBpbnN0ZWFkLgoKMjAxNC0wMy0xMiAxNzo1NjoxOCArMDEwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMnZpZGVvZGVjLmM6CgkgIHY0bDJ2aWRlb2RlYzogQ2xlYXIgdGhlIGlucHV0IHN0YXRlIHBvaW50ZXIgYWZ0ZXIgdW5yZWYKCSAgSWYgY2FwcyBhcmUgc2V0IGFnYWluLCB3ZSBoYXZlIGEgcmlzayBvZCByZXR1cm5pbmcgZnJvbSBzZXRfZm9ybWF0IHdpdGggYQoJICBpbnB1dF9zdGF0ZSBwb2ludGluZyB0byBkZWFkIG1lbW9yeS4gQ2xlYXJpbmcgdGhlIHBvaW50ZXIgYWZ0ZXIgdW5yZWYgZml4CgkgIHRoaXMgaXNzdWUuCgoyMDE0LTAzLTEyIDE3OjExOjE2ICswMTAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwydmlkZW9kZWMuYzoKCSAgdjRsMnZpZGVvZGVjOiBoYW5kbGUgc3RvcCBiZWluZyBjYWxsZWQgd2l0aG91dCBmbHVzaAoJICBVcHBvbiBjZXJ0YWluIGRvd25zdHJlYW0gZXJyb3IsIHN0b3AoKSBpcyBjYWxsZWQgd2l0aG91dCBhIGZsdXNoKCkuIFRoaXMgbWVhbiB0aGF0CgkgIHRoZSBzdHJlYW1pbmcgdGhyZWFkIG1heSBzdGlsbCBiZSBydW5uaW5nIGV2ZW4gdGhvdWdoIHVubG9jayBoYXMgYmVlbiBjYWxsZWQuCgkgIE5vdyBjYWxsaW5nIGZsdXNoIHRvIHJlc2V0IHRoZSBkZWNvZGVyIHN0YXRlIGlmIHdlIGFyZSBwcm9jZXNzaW5nLgoKMjAxNC0wMy0wNiAxODoxMzoxNCAtMDUwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMnZpZGVvZGVjLmM6CgkgIHY0bDJ2aWRlb2RlYzogRGVmYXVsdCB0byB0ZW1wbGF0ZSBpbiBjYXBzIHF1ZXJ5CgoyMDE0LTAzLTExIDE0OjIzOjMyIC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwydmlkZW9kZWMuYzoKCSAgdjRsMnZpZGVvZGVjOiBFbnN1cmUgcHJvY2Vzc2luZyB0aHJlYWQgaGFzIHN0b3BwZWQgd2hlbiBkcmFpbmluZwoKMjAxNC0wMy0xMSAxNDowMToyNyAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMnZpZGVvZGVjLmM6CgkgIHY0bDJ2aWRlb2RlYzogRG9uJ3QgZHJhaW4gaWYgcHJvY2Vzc2luZyB0aHJlYWQgaXMgaW5hY3RpdmUKCjIwMTQtMDUtMDggMDk6NDk6MjQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOgoJICBzb3VwaHR0cHNyYzogQ2xlYW4gdXAgYWxsIHBlbmRpbmcgb3BlcmF0aW9ucyBmcm9tIGxpYnNvdXAgYmVmb3JlIHVucmVmZmluZyBvdXIgY29udGV4dAoJICBXaGVuIHdlIGNhbmNlbCBjb25uZWN0aW9uIGF0dGVtcHRzIGFuZCBzaW1pbGFyIHRoaW5ncywgdGhlcmUgYXJlIHN0aWxsCgkgIHNvbWUgb3BlcmF0aW9ucyBwZW5kaW5nIG9uIG91ciBtYWluIGNvbnRleHQgZnJvbSB0aGUgR0NhbmNlbGxhYmxlcy4gV2UKCSAgc2hvdWxkIGxldCB0aGVtIGFsbCBydW4gYmVmb3JlIHVucmVmZmluZyBvdXIgY29udGV4dCwgb3RoZXJ3aXNlIHdlIGxlYWsKCSAgZmlsZSBkZXNjcmlwdG9ycy4KCSAgVW5mb3J0dW5hdGVseSB0aGlzIHJlcXVpcmVzIGxpYnNvdXAgMi40Ny4wIG9yIG5ld2VyIGFzIGVhcmxpZXIgdmVyc2lvbnMKCSAgc3RlYWwgb3VyIG1haW4gY29udGV4dCBmcm9tIHVzIGFuZCB3ZSBjYW4ndCB1c2UgaXQgZm9yIGNsZWFudXAgbGF0ZXIKCSAgd2l0aG91dCBhc3NlcnRpb25zIGFuZCBmdW5ueSBjcmFzaGVzLgoJICBCYXNlZCBvbiBhIHBhdGNoIGJ5IERtaXRyeSBTaGF0cm92IDxzaGF0cm92QGdtYWlsLmNvbT4uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NjM5NDQKCjIwMTQtMDUtMDcgMTU6NDk6MzkgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9zb3VwaHR0cHNyYy5jOgoJICB0ZXN0czogZml4IGNvbXBpbGF0aW9uIG9mIHNvdXBodHRwc3JjIHRlc3QgZm9yIGxpYnNvdXAgMi40MCBmb3IgcmVhbAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI3MzI5CgoyMDE0LTA1LTA3IDEzOjIzOjUwICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvc291cGh0dHBzcmMuYzoKCSAgdGVzdHM6IGZpeCBjb21waWxhdGlvbiBvZiBzb3VwaHR0cHNyYyB0ZXN0IGZvciBsaWJzb3VwIDIuNDAKCSAgU09VUF9DSEVDS19WRVJTSU9OIHdhcyBvbmx5IGFkZGVkIGluIDIuNDEsIGJ1dCB3ZSBvbmx5CgkgIGRlcGVuZCBvbiAyLjQwLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI3MzI5CgoyMDE0LTA1LTA3IDAwOjU4OjE1ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RmbGFjcGFyc2UuYzoKCSAgZmxhY3BhcnNlOiBza2lwIFBJQ1RVUkUgaGVhZGVycyB3aXRob3V0IGFueSBpbWFnZSBkYXRhCgkgIEZpeGVzIHdhcm5pbmcgaWYgdGhlIGltYWdlIGxlbmd0aCBpcyAwLgoKMjAxNC0wNS0wNiAwOToyMjoxOCArMDAwMCAg0KDRg9GB0LvQsNC9INCY0LbQsdGD0LvQsNGC0L7QsiA8bHJuMTk4NkBnbWFpbC5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogdXNlIFgxMSBkZXRlY3Rpb24gbWFjcm8gZnJvbSBjb21tb24KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyOTYyMQoKMjAxNC0wNC0zMCAxMToxMzoxMiArMDIwMCAgR3VpbGxhdW1lIERlc21vdHRlcyA8Z3VpbGxhdW1lLmRlc21vdHRlc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL1JFQURNRToKCSAgcnRwL1JFQURNRTogdXBkYXRlIHBpcGVsaW5lcyB0byB3b3JrIHdpdGggMS4wCgkgIC0gVXNlIGdzdC1saWJhdiBlbmNvZGVycy9kZWNvZGVycyBpbnN0ZWFkIG9mIGdzdC1mZm1wZWcKCSAgLSBnc3RydHBqaXR0ZXJidWZmZXIgLT4gcnRwaml0dGVyYnVmZmVyCgkgIC0gZ3N0LWxhdW5jaC0wLjEwIC0+IGdzdC1sYXVuY2gtMS4wCgkgIC0gQWRkICd2aWRlb2NvbnZlcnQnIGVsZW1lbnQKCSAgLSB4dmltYWdlc2luayAtPiBhdXRvdmlkZW9zaW5rCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjkyNDcKCjIwMTQtMDUtMDUgMTQ6NDE6MDUgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL2VibWwtd3JpdGUuYzoKCSAgbWF0cm9za2E6IHJlamlnIHRlc3QgdG8gYXZvaWQgdW5kZWZpbmVkIHNoaWZ0IGJlaGF2aW9yCgkgIENvdmVyaXR5IDExOTUxMjEsIDExOTUxMjAKCjIwMTQtMDUtMDUgMTQ6MzM6MzggKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZweC9nc3R2cDllbmMuYzoKCSAgdnA5ZW5jOiBkbyBub3QgZGVyZWZlcmVuY2UgTlVMTCBwb2ludGVyCgkgIENvdmVyaXR5IDExOTc3MDMKCjIwMTQtMDUtMDUgMTQ6MzI6MDYgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJICBtYXRyb3NrYW11eDogZW5zdXJlIHdlIGRvbid0IGRlcmVmZXJlbmNlIGEgTlVMTCBwb2ludGVyCgkgIHdoaWxlIHdvcmtpbmcgb3V0IHRoZSBjb2RlYyBJRC4KCSAgQ292ZXJpdHkgMTE5NTE0OAoKMjAxNC0wNS0wNSAxMjowNzoyNSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDIuYzoKCSAgdjRsMjogbWlub3IgZml4IGZvciBjbG9zaW5nIHRoZSBmZAoJICBUaGUgZmQgcmV0dXJuZWQgYnkgb3BlbigpIGNvdWxkIHRoZW9yZXRpY2FsbHkgYmUgMCBhcyB3ZWxsLgoJICBDb3Zlcml0eSBDSUQgMTIxMTgyMy4KCjIwMTQtMDUtMDQgMjA6MjM6MjkgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQG9jcmV0ZS5jYT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cGF1eC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHBydHguYzoKCSAgcnRwYXV4L3J0cHJ0eDogTWFrZSB0ZXN0cyBub24tcmFjeQoJICBGaXggdGhlIHJhY2luZXNzIGJ5IGl0ZXJhdGluZyBvbiBhIGNvbmRpdGlvbiBpbnN0ZWFkIG9mIHVzaW5nIHRoZSBnbWFpbmxvb3AuCgkgIERvbid0IHVzZSB0aGUgRU9TIGFzIHRoZSB0YXJnZXQsIG90aGVyd2lzZSB0aGUgcmV0cmFuc21pc3Npb24gb2YgdGhlIGxhc3QKCSAgcGFja2V0cyBhcmUgbG9zdC4gQWxzbyBjb3VudCB0aGUgcmV0cmFubWlzc2lvbnMgcmVxdWVzdHMgdGhhdCBhcmUgZHJvcHBlZC4KCSAgQ2hlY2sgdGhlIGNvbmRpdGlvbiBiZWZvcmUgYmxvY2tpbmcgb24gdGhlIEdDb25kCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mjg1MDEKCjIwMTQtMDUtMDQgMjI6MzI6NTQgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQG9jcmV0ZS5jYT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHJ0eHJlY2VpdmUuYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwcnR4cmVjZWl2ZS5oOgoJICBydHBydHhyZWNlaXZlOiBXYWl0IHVudGlsIHRpbWVvdXQgdG8gY2xlYXIgYXNzb2NpYXRpb24gcmVxdWVzdHMKCSAgSWYgdHdvIHN0cmVhbXMgcmVxdWVzdCBhIHJldHJhbm1pc3Npb24gZm9yIHRoZSBzYW1lIFNTUkMsIGlnbm9yZSB0aGUgc2Vjb25kCgkgIG9uZSBpZiB0aGUgZmlyc3Qgb2VuIGlzIGxlc3MgdGhhbiBvbmUgc2Vjb25kIG9sZCwgb3RoZXJ3aXNlIHRpbWUgb3V0IHRoZSBmaXJzdAoJICBvbmUgYW5kIGlnbm9yZSB0aGUgc2Vjb25kLgoKMjAxNC0wNS0wNCAxODo1OTozMyAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAb2NyZXRlLmNhPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwbXV4LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cG11eC5jOgoJICBydHBtdXg6IEFsd2F5cyBsZXQgdXBzdHJlYW0gY2hvc2UgdGhlIHNzcmMgaWYgaXQgd2lzaGVzCgoyMDE0LTA1LTA0IDEzOjM3OjQ2ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtbmF1d0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgcnRwaml0dGVyYnVmZmVyOiBhdm9pZCBzdGFsbCBieSBjb3JydXB0ZWQgc2VxbnVtIGFjY291bnRpbmcKCjIwMTQtMDUtMDQgMDE6MTQ6MzMgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQG9jcmV0ZS5jYT4KCgkqIGV4dC9wdWxzZS9wdWxzZWRldmljZW1vbml0b3IuYzoKCSogZXh0L3B1bHNlL3B1bHNlZGV2aWNlbW9uaXRvci5oOgoJICBwdWxzZWRldmljZW1vbml0b3I6IEluZGV4IGFyZSBwZXIgZmFjaWxpdHksIG5vdCBnbG9iYWwKCSAgU28gbmVlZCB0byBrZWVwIHRoZSB0eXBlIG9mIGRldmljZSBpbiB0aGUgZGV2aWNlIG9iamVjdAoKMjAxNC0wNS0wNCAwMToxMzoyNCAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAb2NyZXRlLmNhPgoKCSogZXh0L3B1bHNlL3B1bHNlZGV2aWNlbW9uaXRvci5jOgoJICBwdWxzZWRldmljZW1vbml0b3I6IHBhX3N1YnNjcmlwdGlvbl9ldmVudF90IGFyZSBlbnVtcywgbm90IGZsYWdzCgkgIENvdmVyaXR5IDExOTUxMzIKCjIwMTQtMDUtMDIgMjI6NDI6NTQgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmRldmljZW1vbml0b3IuYzoKCSAgdjRsMmRldmljZW1vbml0b3I6IFBvcnQgdG8gdXNlIEdzdFY0bDJJdGVyYXRvcgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI3OTI1CgoyMDE0LTA1LTAyIDIxOjM4OjMwIC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDIuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwydmlkZW9kZWMuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnZpZGVvZGVjLmg6CgkgIHY0bDI6IFVzZSBzaW5nbGUgcGFzcyBpdGVyYXRvciBmb3IgTTJNIHByb2JlCgkgIEluc3RlYWQgb2YgaGF2aW5nIGVhY2ggTTJNIGNsYXNzIGRvIHRoZWlyIG93biBwcm9iaW5nLCB1c2UgdGhlCgkgIEdzdFY0bDJJdGVyYXRvciBhbmQgcHJvYmUgYWxsIGRldmljZXMgaW4gYSBzaW5nbGUgcGFzcy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyNzkyNQoKMjAxNC0wNS0wMiAxNjo1NTowNSAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvTWFrZWZpbGUuYW06CgkqIHN5cy92NGwyL3Y0bDItdXRpbHMuYzoKCSogc3lzL3Y0bDIvdjRsMi11dGlscy5oOgoJICB2NGwyOiBBZGQgYSBjb21tb24gZGV2aWNlIGVudW1lcmF0b3IKCSAgVGhpcyB3aWxsIGFsbG93IHJlbW92aW5nIGNvZGUgZHVwbGljYXRpb24gKGhlbmNlIGJ1Z3MgZHVwbGljYXRpb24pLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI3OTI1CgoyMDE0LTAzLTE2IDExOjM4OjA3ICswMTAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwydmlkZW9kZWMuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnZpZGVvZGVjLmg6CgkgIHY0bDJ2aWRlb2RlYzogU2ltcGxpZnkgc3ViLWluc3RhbmNpYXRpb24gbWVjaGFuaXNtCgkgIFNpbXBsaWZ5IHN1Yi1pbnN0YW5jaWF0aW9uIGJ5IGRlZmluaW5nIGFuIGFic3JhY3QgdHlwZSBhbmQgdXNpbmcgc3VidHlwZQoJICBjbGFzcyBhbmQgaW5zdGFuY2UgaW5pdCBjYWxsYmFjay4gVGhpcyBhbHNvIGZpeGVzIGEgYnVnIHdoZXJlIHRoZSB0ZW1wbGF0ZQoJICBwYWRzIGdldCBpbml0aWFsaXplZCB0b28gbGF0ZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyNzkyNQoKMjAxNC0wNS0wMiAxODoxODoyNiAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyLmM6CgkgIHY0bDI6IENsZWFudXAgcGx1Z2luIHJlZ2lzdHJhdGlvbgoJICBUaGVyZSBpcyBubyBwbGFuIHRvIGludHJvZHVjZSBzcGVjaWFsIHNvdXJjZXMgZm9yIGpwZWcsIHRlIHY0bDJzcmMgd29ya3MgZmluZQoJICBmb3IgdGhpcy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyNzkyNQoKMjAxNC0wNS0wMyAxODozMDoyMCAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAb2NyZXRlLmNhPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmg6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuaDoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwY29sbGlzaW9uLmM6CgkgIHJ0cHNlc3Npb246IEtlZXAgbG9jYWwgY29uZmxpY3RpbmcgYWRkcmVzc2VzIGluIHRoZSBzZXNzaW9uCgkgIEFzIHdlIG5vdyByZXBsYWNlIHRoZSBsb2NhbCBSVFBTb3VyY2Ugb24gYSBjb25mbGljdCwgaXQncyBubyBsb25nZXIgcG9zc2libGUKCSAgdG8ga2VlcCBsb2NhbCBjb25mbGljdHMgaW4gdGhlIFJUUFNvdXJjZSwgc28gdGhleSBpbnN0ZWFkIG5lZWQgdG8gYmUga2VwdAoJICBpbiB0aGUgUlRQU2Vzc2lvbi4KCSAgQWxzbyBmaXggdGhlIHJ0cGNvbGxpc2lvbiB0ZXN0IHRvIGdlbmVyYXRlIG11bHRpcGxlIGNvbGxpc2lvbnMgaW5zdGVhZCBvZgoJICBvbmUgYnkgY2hhbmdlIHRoZSBhZGRyZXNzLCBhcyBvdGhlcndpc2Ugd2UgZGV0ZWN0ZWQgdGhhdCBpdCB3YXMgYSBzaW5nbGUgb25lLgoKMjAxNC0wNS0wMyAyMDo0ODozMCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgQmFjayB0byBkZXZlbG9wbWVudAoKPT09IHJlbGVhc2UgMS4zLjEgPT09CgoyMDE0LTA1LTAzIDE4OjAyOjIzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogQ2hhbmdlTG9nOgoJKiBORVdTOgoJKiBSRUxFQVNFOgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaW50ZXJmYWNlczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5wcmVyZXF1aXNpdGVzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLnNpZ25hbHM6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi0xMzk0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhY29sb3IueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXBldGFnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvZngueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9wYXJzZXJzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2RldGVjdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdmkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FjYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2Fpcm8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY3V0dGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlaW50ZXJsYWNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0bWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZmZWN0di54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lcXVhbGl6ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmxhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx4ZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdka3BpeGJ1Zi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20yazEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWN5ZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW1hZ2VmcmVlemUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXJsZWF2ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pc29tcDQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tamFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxldmVsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1hdHJvc2thLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpZmlsZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aXBhcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmF2aWdhdGlvbnRlc3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzNC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3NhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbmcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcHVsc2VhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXBsYXlnYWluLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHBtYW5hZ2VyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0c3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hhcGV3aXBlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNob3V0MnNlbmQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc21wdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVjdHJ1bS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10YWdsaWIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdWRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvNGxpbnV4Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2JveC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2Nyb3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9maWx0ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9taXhlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12cHgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2ZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teGltYWdlc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXk0bWVuYy54bWw6CgkqIGdzdC1wbHVnaW5zLWdvb2QuZG9hcDoKCSogZ3N0L2F1ZGlvZngvYXVkaW9wYW5vcmFtYW9yYy1kaXN0LmM6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUtZGlzdC5jOgoJKiBnc3QvdmlkZW9ib3gvZ3N0dmlkZW9ib3hvcmMtZGlzdC5jOgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyb3JjLWRpc3QuYzoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICBSZWxlYXNlIDEuMy4xCgoyMDE0LTA1LTAzIDE4OjAyOjAxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogcG8vYWYucG86CgkqIHBvL2F6LnBvOgoJKiBwby9iZy5wbzoKCSogcG8vY2EucG86CgkqIHBvL2NzLnBvOgoJKiBwby9kYS5wbzoKCSogcG8vZGUucG86CgkqIHBvL2VsLnBvOgoJKiBwby9lbl9HQi5wbzoKCSogcG8vZW8ucG86CgkqIHBvL2VzLnBvOgoJKiBwby9ldS5wbzoKCSogcG8vZmkucG86CgkqIHBvL2ZyLnBvOgoJKiBwby9nbC5wbzoKCSogcG8vaHIucG86CgkqIHBvL2h1LnBvOgoJKiBwby9pZC5wbzoKCSogcG8vaXQucG86CgkqIHBvL2phLnBvOgoJKiBwby9sdC5wbzoKCSogcG8vbHYucG86CgkqIHBvL210LnBvOgoJKiBwby9uYi5wbzoKCSogcG8vbmwucG86CgkqIHBvL29yLnBvOgoJKiBwby9wbC5wbzoKCSogcG8vcHRfQlIucG86CgkqIHBvL3JvLnBvOgoJKiBwby9ydS5wbzoKCSogcG8vc2sucG86CgkqIHBvL3NsLnBvOgoJKiBwby9zcS5wbzoKCSogcG8vc3IucG86CgkqIHBvL3N2LnBvOgoJKiBwby90ci5wbzoKCSogcG8vdWsucG86CgkqIHBvL3ZpLnBvOgoJKiBwby96aF9DTi5wbzoKCSogcG8vemhfSEsucG86CgkqIHBvL3poX1RXLnBvOgoJICBVcGRhdGUgLnBvIGZpbGVzCgoyMDE0LTA1LTAzIDE3OjIyOjQ1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogcG8vZGEucG86CgkqIHBvL2RlLnBvOgoJKiBwby9lbC5wbzoKCSogcG8vaHUucG86CgkqIHBvL2lkLnBvOgoJKiBwby9sdi5wbzoKCSogcG8vbmIucG86CgkqIHBvL3B0X0JSLnBvOgoJKiBwby9ydS5wbzoKCSogcG8vc2sucG86CgkqIHBvL3NsLnBvOgoJKiBwby9zci5wbzoKCSogcG8vemhfQ04ucG86CgkgIHBvOiBVcGRhdGUgdHJhbnNsYXRpb25zCgoyMDE0LTA1LTAzIDExOjQzOjIxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvc2hhcGV3aXBlLmM6CgkgIHNoYXBld2lwZTogU2VuZCBpbml0aWFsIGV2ZW50cyBhZnRlciBzZXR0aW5nIHRoZSBlbGVtZW50cyB0byBQTEFZSU5HCgkgIE90aGVyd2lzZSB3ZSBzZW5kIHRoZW0gdG9vIGVhcmx5LCBhbmQgc2V0dGluZyB0aGUgZWxlbWVudHMgdG8gUExBWUlORwoJICBhZnRlcndhcmRzIHdpbGwgZHJvcCBhbGwgdGhlIGV2ZW50cyBhZ2Fpbi4KCjIwMTQtMDUtMDMgMTA6MTU6MDMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIGJjYjE1MTggdG8gMjExZmE1ZgoKMjAxNC0wNS0wMiAxNzoxMjoyOSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9pbWFnZWZyZWV6ZS9nc3RpbWFnZWZyZWV6ZS5jOgoJICBpbWFnZWZyZWV6ZTogU2V0IHNlZ21lbnQgcG9zaXRpb24gdG8gdGhlIHN0b3AgcG9zaXRpb24gb2YgdGhlIGJ1ZmZlcgoKMjAxNC0wNS0wMiAxNzoxMDoxOCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9pbWFnZWZyZWV6ZS9nc3RpbWFnZWZyZWV6ZS5jOgoJICBpbWFnZWZyZWV6ZTogUHJvcGVybHkgcmVwb3J0IGVycm9ycyBiZWZvcmUgc3RvcHBpbmcgdGhlIHNyY3BhZCB0YXNrCgoyMDE0LTA1LTAyIDE3OjAyOjAyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2ltYWdlZnJlZXplL2dzdGltYWdlZnJlZXplLmM6CgkgIGltYWdlZnJlZXplOiBFcnJvciBvdXQgaWYgd2UgaGF2ZSBubyBjYXBzIHlldAoKMjAxNC0wNS0wMiAxNDo0OToyNyArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzoKCSAgd2F2cGFyc2U6IGF2b2lkIGRpdmlkaW5nIGJ5IGEgMCBibG9ja2FsaWduCgkgIFRoaXMgY2FuIGJlIDAuIEluIHRoYXQgY2FzZSwgZG8gbm90IHRyeSB0byBjdXQgb2ZmIHRoZSBsYXN0IGZldwoJICBieXRlcyBmcm9tIHRoZSBsYXN0IGJ1ZmZlci4KCSAgQ292ZXJpdHkgMTE0Njk3MQoKMjAxNC0wNS0wMiAxNDoyNTowMSArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkgIG1hdHJvc2thbXV4OiBkbyBub3QgdXNlIHVpbml0aWFsaXplZCBjbHV0IG9uIGVycm9yCgkgIElmIHdlJ3JlIG1pc3NpbmcgcGFydCBvZiB0aGUgY2x1dCwgZG8gbm90IHRyeSB0byB1c2UgaXQuIEl0IHNlZW1zCgkgIHZlcnkgbGlrZWx5IHRoZSBicmVhayB3YXMgbWVhbnQgdG8gYnJlYWsgb3V0IG9mIHRoZSBzd2l0Y2ggcmF0aGVyCgkgIHRoYW4gZnJvbSB0aGUgbG9vcC4KCSAgQ292ZXJpdHkgMTEzOTg3OAoKMjAxNC0wNS0wMiAxNDoxODowOCArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZmx4L2dzdGZseGRlYy5jOgoJICBmbHhkZWM6IGZpeCBpbnRlZ2VyIG92ZXJmbG93CgkgIENvdmVyaXR5IDExMzk4NTkKCjIwMTQtMDUtMDIgMTQ6MDk6MDIgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBxZG1kZXBheS5jOgoJICBydHBxZG1kZXBheTogcmVtb3ZlIHBvaW50bGVzcyBjaGVjawoJICBCZXNpZGVzLCB0aGUgcG9pbnRlciB3YXMgZGVyZWZlcmVuY2VkIGVhcmxpZXIgYW55d2F5LgoJICBDb3Zlcml0eSAxMTM5ODUzCgoyMDE0LTA1LTAyIDE0OjA2OjI1ICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogcmVtb3ZlIGR1cGxpY2F0ZSB0ZXN0CgkgIGl0ZW0gd2FzIGRlcmVmZXJlbmNlIHByZXZpb3VzbHkuCgkgIFdoaWxlIHRoZXJlLCByZW9yZGVyIHNvbWUgdGVzdCBmb3IgZmFzdGVyIGVhcmx5IG91dC4KCSAgQ292ZXJpdHkgMTEzOTg0NAoKMjAxNC0wNS0wMiAxNDowMjo1MiArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnB4L2dzdHZwOGVuYy5jOgoJICB2cDhlbmM6IGd1YXJkIGFnYWluc3QgTlVMTCBwb2ludGVyIGRlcmVmZXJlbmNlCgkgIENvdmVyaXR5IDExMzk4MzgKCjIwMTQtMDUtMDIgMTM6NTk6MDcgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5jOgoJICBmbGFjZGVjOiBmaXggdGhlb3JldGljYWwgaW50ZWdlciBvdmVyZmxvdwoJICBUaGlzIGNvZGUgaXNuJ3QgYWN0dWFsbHkgdXNlZCBhdCB0aGUgbW9tZW50LCB1bnN1cmUgaWYgSSBzaG91bGQKCSAganVzdCByZW1vdmUgaXQgb3Igbm90Li4uCgkgIENvdmVyaXR5IDExMzk4MTEKCjIwMTQtMDUtMDIgMTM6MzM6MDIgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL2VibWwtd3JpdGUuYzoKCSAgbWF0cm9za2E6IGJsaW5kbHkgZml4IHdyaXRpbmcgdmFyaWFibGUgbGVuZ3RoIG5lZ2F0aXZlIHZhbHVlcwoJICBTcG90dGVkIHdoaWxlIGZpeGluZyBzb21ldGhpbmcgZWxzZSBpbiB0aGUgYXJlYS4KCSAgTm90aGluZyBjYWxscyB0aGlzIHdpdGggYSBuZWdhdGl2ZSB2YWx1ZS4KCjIwMTQtMDUtMDIgMTM6Mjk6MzMgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL2VibWwtd3JpdGUuYzoKCSAgbWF0cm9za2E6IGRvIG5vdCBsb3NlIHRoZSB0b3AgYml0cyB3aGVuIHdyaXRpbmcgYSA+IDMyIGJpdCB2YWx1ZQoJICBDb3Zlcml0eSAxMTM5ODA2CgoyMDE0LTA1LTAyIDEyOjEwOjI2ICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb2ZpbHRlci9nc3R2aWRlb2ZsaXAuYzoKCSAgdmlkZW9mbGlwOiBhZGQgbWlzc2luZyBicmVhayBpbiBzd2l0Y2gKCSAgQ292ZXJpdHkgMTEzOTc1NQoKMjAxNC0wNS0wMiAxMTozOTozOSArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcGFyc2UuYzoKCSAgbWF0cm9za2E6IGRvIG5vdCB0cnkgdG8gY2FsbCBnc3RfcGFkX3F1ZXJ5X2RlZmF1bHQgb24gYSBOVUxMIHBhZAoJICBnc3RfbWF0cm9za2FfcGFyc2VfcXVlcnkgY2FuIGJlIGNhbGxlZCBleHBsaWNpdGVseSB3aXRoIGEgTlVMTCBwYWQuCgkgIElmIHdlIHJlYWNoIHRoaXMgcG9pbnQgd2l0aCBhIE5VTEwgcGFkLCBmYWlsIHRoZSBxdWVyeS4KCSAgQ292ZXJpdHkgMTEzOTcxNQoKMjAxNC0wNS0wMiAxMToyODowMSArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcGFyc2UuYzoKCSAgbWF0cm9za2E6IGRvIG5vdCByZXR1cm4gR1NUX0ZMT1dfT0sgaWYgd2UgZGlkIG5vdCBnZXQgYSBidWZmZXIKCSAgQ292ZXJpdHkgMTEzOTcxNCAod2hpY2ggd2lsbCBsaWtlbHkgY29tZSBiYWNrIGluIGFub3RoZXIgZ3Vpc2UsCgkgIGFzIHRoZSBfcmVhZF9pbml0IGNhbGwgY2FuIGhhdmUgYSBmYWlsaW5nIF9tYXApCgoyMDE0LTA1LTAyIDExOjIwOjMzICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9lYm1sLXdyaXRlLmM6CgkgIG1hdHJvc2thOiBjYXRjaCBmYWlsdXJlIHRvIG1hcCBidWZmZXIKCSAgQXZvaWRzIGRlcmVmZXJlbmNpbmcgTlVMTC4KCSAgQ292ZXJpdHkgMTEzOTcxMgoKMjAxNC0wNS0wMiAxMDo1Mjo0NCArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXZpL2dzdGF2aW11eC5jOgoJICBhdmltdXg6IHJlZnVzZSBjYXBzIHdpdGggaW52YWxpZCBmcmFtZXJhdGUKCSAgQ292ZXJpdHkgMTEzOTcwMQoKMjAxNC0wNS0wMiAxMDoyMTowOSArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBoYW5kbGUgMCBzaXplIHBhY2tldHMgd2l0aG91dCBkaXZpZGluZyBieSAwCgkgIENvdmVyaXR5IDExMzk2OTEKCjIwMTQtMDUtMDIgMDk6NDk6MzIgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IGd1YXJkIGFnYWluc3QgaW52YWxpZCBmcmFtZSBzaXplIHRvIGF2b2lkIGRpdmlzaW9uIGJ5IDAKCSAgQ292ZXJpdHkgMTEzOTY5MAoKMjAxNC0wNS0wMiAwOTo0OToxNyArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogdHJpdmlhbCB0eXBvIGZpeAoKMjAxNC0wNS0wMiAwOTo0Mzo1NCArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvc3BlZXgvZ3N0c3BlZXhkZWMuYzoKCSAgc3BlZXhkZWM6IHJlbW92ZSBkZWFkIGNvZGUKCSAgZnBwIGNhbiBuZXZlciBlcXVhbCAwIGhlcmUsIG9yIHRoZSBsb29wIHdvdWxkIG5vdCBleGVjdXRlIGF0IGFsbC4KCSAgWmVybyBmcHAgd2FzIHBvc3NpYmxlIGJlZm9yZSBhcyB0aGUgbG9vcCBjb25kaXRpb24gd2FzIGFsbG93aW5nCgkgIGl0IHNwZWNpZmljYWxseSwgYnV0IG5vIG1vcmUuCgkgIENvdmVyaXR5IDExMzk2ODEKCjIwMTQtMDUtMDIgMDk6NDE6MTkgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL29zczQvb3NzNC1wcm9wZXJ0eS1wcm9iZS5jOgoJICBvc3M0OiByZW1vdmUgZGVhZCBtaXhlciBjb2RlCgkgIFRoaXMgd2FzIHBhcnRseSByZW1vdmVkIGluIHRoZSBwb3J0IHRvIDAuMTEuIElmIHN0aWxsIG5lZWRlZCwKCSAgaXQncyBzdGlsbCB0aGVyZSBpbiB0aGUgaGlzdG9yeS4KCSAgQ292ZXJpdHkgMTEzOTY4NwoKMjAxNC0wNS0wMiAwOTozMzo1MSArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvb3NzNC9vc3M0LXByb3BlcnR5LXByb2JlLmM6CgkgIG9zczQ6IGZpeCBhIG1pc3NpbmcgdW5sb2NrIGFuZCBhIHJldHVybi1vbmx5LXdoZW4tYXNzZXJ0aW9ucy1lbmFibGVkCgkgIFNwb3R0ZWQgb24gdGhlIHNpZGUgd2hpbGUgbG9va2luZyBhdCBhbm90aGVyIGlzc3VlLgoKMjAxNC0wMy0wNyAxNzozMToyOSAtMDUwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICB2NGwyOiBDb3JyZWN0bHkgbWFwIFJHQjMyIGZvcm1hdAoJICBJbiB2NGwyIHNwZWNpZmljYXRpb24sIFJHQjMyIGhhcyB0aGUgYWxwaGEsIG9yIHBhZGluZywgZmlyc3QsIG5vdCBsYXN0LgoJICBTZWUgaHR0cDovL2xpbnV4dHYub3JnL2Rvd25sb2Fkcy92NGwtZHZiLWFwaXMvcGFja2VkLXJnYi5odG1sIC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTU0MDk0MQoKMjAxNC0wNC0zMCAxODowNjo0MCArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmxhYy9nc3RmbGFjZGVjLmM6CgkgIGZsYWNkZWM6IHJlbW92ZSBkZWFkIGNvZGUKCSAgRm9yIDggYml0IHdpZHRoLCB3ZSBhbHdheXMgaGF2ZSBkZXB0aD09Z2RlcHRoPT13aWR0aD09OC4KCSAgQ292ZXJpdHkgMTEzOTY3OAoKMjAxNC0wNC0zMCAxNzo0ODo1MyArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdG1wZWdhdWRpb3BhcnNlLmM6CgkgIG1wZWdhdWRpb3BhcnNlOiByZW1vdmUgZGVhZCBjb2RlCgkgIEEgc3RyaWNlciBjaGVjayBpcyBhbHJlYWR5IGRvbmUgZWFybGllciwgYW5kIGludGVnZXIgb3ZlcmZsb3dzCgkgIGRvIG5vdCBzZWVtIHBvc3NpYmxlIGhlcmUuCgkgIENvdmVyaXR5IDExMzk2NzUKCjIwMTQtMDQtMzAgMTQ6NTA6NDQgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHB2cmF3cGF5LmM6CgkgIHJ0cHZyYXdwYXk6IGd1YXJkIGFnYWluc3QgcGF0aG9sb2dpY2FsICJubyBzcGFjZSIgY29uZGl0aW9uCgkgIEV2ZW4gaWYgb25lIHdvdWwgaG9wZSBvbmUgcGl4ZWwgY2FuIGZpdCBpbiBhIE1UVSwgZW5zdXJlIHdlIGRvIG5vdAoJICBvdmVyd3JpdGUgYSBidWZmZXIgaWYgdGhpcyBpcyBub3QgdGhlIGNhc2UuCgkgIFNwb3R0ZWQgd2hpbGUgbG9va2luZyBhdCBDb3Zlcml0eSAxMjA4Nzg2CgoyMDE0LTA0LTMwIDExOjUyOjEwICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwanBlZ2RlcGF5LmM6CgkgIHJ0cGpwZWdkZXBheTogc2FuaXR5IGNoZWNrIGZvciBOVUxMIHF0YWJsZQoJICBDYW4gaGFwcGVuIChhdCBsZWFzdCBpbiBjcmFmdGVkIHN0cmVhbSkKCSAgQ292ZXJpdHkgMTIwODc3OAoKMjAxNC0wNC0zMCAwMTowODo0MSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOgoJICB3YXZwYXJzZTogcGFzcyBvbiB0YWdzIGZyb20gdXBzdHJlYW0gaWYgdGhlcmUgYXJlIGFueQoJICBEb24ndCBqdXN0IGlnbm9yZSB1cHN0cmVhbSB0YWdzIGZyb20gZS5nLiBhbiBJRDMgdGFnIGJlZm9yZQoJICB0aGUgLndhdiBkYXRhLCBwYXNzIHRoZW0gb24gZG93bnN0cmVhbS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyOTIyMwoKMjAxNC0wNC0yOSAxNjoyNjo1MyArMDIwMCAgV2ltIFRheW1hbnMgPHd0YXltYW5zQHJlZGhhdC5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgcnRwaml0dGVyYnVmZmVyOiBvcHRpbWl6ZSB0aW1lciB1cGRhdGUKCSAgV2hlbiB3ZSBhcmUgbm90IGRvaW5nIHJldHJhbnNtaXNzaW9uLCB3ZSBqdXN0IG5lZWQgdG8gZmluZCB0aGUgY3VycmVudAoJICBzZXFudW0gc28gd2UgY2FuIHN0b3Agd2hlbiB3ZSBmb3VuZCBpdC4KCjIwMTQtMDQtMjkgMTY6MjE6NDQgKzAyMDAgIFdpbSBUYXltYW5zIDx3dGF5bWFuc0ByZWRoYXQuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5oOgoJICBydHBqaXR0ZXJidWZmZXI6IHNtYWxsIG9wdGltaXphdGlvbnMKCSAgU21hbGwgb3B0aW1pemF0aW9ucyB3aGVyZSB3ZSBjYW4uCgkgIEFkZCBzb21lIG1vcmUgZGVidWcuCgoyMDE0LTA0LTI5IDE2OjE2OjE3ICswMjAwICBXaW0gVGF5bWFucyA8d3RheW1hbnNAcmVkaGF0LmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBydHBqaXR0ZXJidWZmZXI6IHNpZ25hbCB3aGVuIG5leHRfc2VxbnVtIGNoYW5nZWQKCSAgU2lnbmFsIHRoZSBwdXNoaW5nIHRocmVhZCB3aGVuIHRoZSBuZXh0X3NlcW51bSBjaGFuZ2VkIGFuZCB3ZSBtaWdodCBiZQoJICBhYmxlIHRvIHB1c2ggYSBidWZmZXIgbm93LgoKMjAxNC0wNC0yOSAxNjoxMjoyOSArMDIwMCAgV2ltIFRheW1hbnMgPHd0YXltYW5zQHJlZGhhdC5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgcnRwaml0dGVyYnVmZmVyOiBvbmx5IHNpZ25hbCBldmVudCB3aGVuIGhlYWQgY2hhbmdlZAoJICBBZnRlciBhZGRpbmcgYSBidWZmZXIsIG9ubHkgc2lnbmFsIHRoZSBwdXNoaW5nIHRocmVhZCB3aGVuIHRoZSBoZWFkCgkgIGJ1ZmZlciBjaGFuZ2VkIG9yIGVsc2Ugd2UgY2F1c2UgYSB1c2VsZXNzIHdha2V1cC4KCjIwMTQtMDQtMjkgMTU6Mjk6MzEgKzAyMDAgIFdpbSBUYXltYW5zIDx3dGF5bWFuc0ByZWRoYXQuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwaml0dGVyYnVmZmVyLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cGppdHRlcmJ1ZmZlci5oOgoJICBydHBqaXR0ZXJidWZmZXI6IHJld29yayBwYWNrZXQgaW5zZXJ0CgkgIFJld29yayB0aGUgcGFja2V0IHF1ZXVlIHNvIHRoYXQgdGhlIG1vc3QgY29tbW9uIGFjdGlvbiAoaW5zZXJ0IGEgcGFja2V0CgkgIGF0IHRoZSB0YWlsIG9mIHRoZSBxdWV1ZSkgZ29lcyB2ZXJ5IGZhc3QuCgkgIFJlcG9ydCBpZiBhIHBhY2tldCB3YXMgaW5zZXJ0ZWQgYXQgdGhlIGhlYWQgaW5zdGVhZCBvZiB0aGUgdGFpbCBzbyB0aGF0CgkgIHdlIGNhbiBrbm93IHdoZW4gdG8gcmV0cnkgX3BvcCBvciBfcGVlay4KCjIwMTQtMDQtMjggMTQ6NDE6MTAgKzAyMDAgIFdpbSBUYXltYW5zIDx3dGF5bWFuc0ByZWRoYXQuY29tPgoKCSogZ3N0L3J0cC9nc3RydHB2cmF3ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHB2cmF3cGF5LmM6CgkgIHJ0cHZyYXc6IHVzZSBwbGFuZSBwb2ludGVycyB3aGVuIG5lZWRlZAoJICBQYWNrL3VucGFjayBwbGFuYXIgZm9ybWF0cyB0by9mcm9tIHRoZSBmaXJzdCBwbGFuZS4KCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyOTA1OAoKMjAxNC0wNC0yOCAwOTo0NzoxMCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6CgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmg6CgkgIHNvdXBodHRwc3JjOiBSZW1lbWJlciBpZiBhIHJlZGlyZWN0IGlzIHBlcm1hbmVudCBvciBub3QgYW5kIHN0b3JlIGl0IGluIHRoZSBxdWVyeQoKMjAxNC0wNC0yNyAyMTo1NzozMSAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZ29vbS9jb25maWdfcGFyYW0uYzoKCSAgZ29vbTogUmVtb3ZlIGZyZW5jaCBjb21tZW50IHNheWluZyB0byBwcmVmaXggZnVuY3Rpb25zCgkgIEFsbCBub24tc3RhdGljIGZ1bmN0aW9uIGluIHRoaXMgZmlsZSBhcmUgYWxyZWFkeSBwcmVmaXhlZCB3aXRoIGdvb21fLgoKMjAxNC0wNC0yOCAwMDoyMDo0NyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9nb29tL2ZpbHRlcnMuYzoKCSAgZ29vbTogZml4IGNvbXBpbGF0aW9uIG9uIGlvcy1hcm03LTEwLjkgYW5kIG9zeC14ODZfNjQKCSAgdWludCBpcyBub3QgYSBzdGFuZGFyZCB0eXBlLCBhbmQgdGhlIHJlc3Qgb2YgdGhlIGNvZGUgdXNlcwoJICBVaW50IHdoaWNoIGlzIGxvY2FsbHkgdHlwZWRlZmVkIHRvIHVuc2lnbmVkIGludC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyOTA2NwoKMjAxNC0wNC0yNyAxODoyOToxMSAtMDQwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpc0BkZWJldGhlbmNvdXJ0LmNvbT4KCgkqIGdzdC9nb29tL2ZpbHRlcnMuYzoKCSAgZ29vbTogZml4IHVuZGVmaW5lZCBiZWhhdmlvdXIgb2YgbGVmdC1zaGlmdAoJICBEb24ndCBsZWZ0LXNoaWZ0IGludG8gdGhlIHNpZ24gYml0LCB0aGUgcmVzdWx0IGlzIHVuZGVmaW5lZCBhbmQgcG90ZW50aWFsbHkKCSAgYW4gb3ZlcmZsb3cgY291bGQgZmxpcCB0aGUgc2lnbi4KCjIwMTQtMDQtMjYgMjA6NTE6MzYgLTA0MDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXNAZGViZXRoZW5jb3VydC5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogY2hlY2sgcmV0dXJuIGZyb20gcXRfZGVtdXhfdmlkZW9fY2FwcwoJICBOb3cgcXRkZW11eF92aWRlb19jYXBzKCkgY2FuIHJldHVybiBOVUxMLiBXZSBuZWVkIHRvIGNoZWNrIHRoaXMgcmV0dXJuIGJlZm9yZQoJICB1c2luZyBpdCdzIHZhbHVlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI4OTg3CgoyMDE0LTA0LTI2IDIzOjM1OjE3ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2R2L2dzdGR2ZGVjLmM6CgkqIGV4dC9kdi9nc3RkdmRlbXV4LmM6CgkqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NpbmsuYzoKCSogZXh0L2phY2svZ3N0amFja2F1ZGlvc3JjLmM6CgkqIGV4dC9zcGVleC9nc3RzcGVleGRlYy5jOgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkqIGdzdC9hdmkvZ3N0YXZpc3VidGl0bGUuYzoKCSogZ3N0L2lzb21wNC9nc3RxdG1vb3ZyZWNvdmVyLmM6CgkqIGdzdC9pc29tcDQvZ3N0cXRtdXgtZG9jLmM6CgkqIGdzdC9pc29tcDQvZ3N0cXRtdXguYzoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkqIGdzdC9tdWx0aWZpbGUvZ3N0bXVsdGlmaWxlc2luay5jOgoJKiBnc3QvcnRwL2dzdHJ0cEwxNmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwTDE2cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwYWMzZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBhYzNwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBhbXJkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGFtcnBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGJ2ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBidnBheS5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cG11eC5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBwdGRlbXV4LmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHJ0eHJlY2VpdmUuYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzc3JjZGVtdXguYzoKCSogZ3N0L3J0c3AvZ3N0cnRwZGVjLmM6CgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSogZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmM6CgkqIGdzdC91ZHAvZ3N0dWRwc3JjLmM6CgkqIGdzdC92aWRlb2ZpbHRlci9nc3RnYW1tYS5jOgoJKiBnc3QvdmlkZW9maWx0ZXIvZ3N0dmlkZW9iYWxhbmNlLmM6CgkqIGdzdC92aWRlb2ZpbHRlci9nc3R2aWRlb2ZsaXAuYzoKCSogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6CgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hhdWRpb3NpbmsuYzoKCSAgZG9jczogcmVtb3ZlIG91dGRhdGVkIGFuZCBwb2ludGxlc3MgJ0xhc3QgcmV2aWV3ZWQnIGxpbmVzIGZyb20gZG9jcwoJICBUaGV5IGFyZSB2ZXJ5IGNvbmZ1c2luZyBmb3IgcGVvcGxlLCBhbmQgbW9yZSBvZnRlbiB0aGFuIG5vdAoJICBhbHNvIGp1c3Qgbm90IHZlcnkgYWNjdXJhdGUuIFNlZWluZyAnbGFzdCByZXZpZXdlZDogMjAwNScgaW4KCSAgeW91ciBkb2NzIGlzIG5vdCB2ZXJ5IGNvbmZpZGVuY2UtaW5zcGlyaW5nLiBMZXQncyBqdXN0IHJlbW92ZQoJICB0aG9zZSBjb21tZW50cy4KCjIwMTQtMDQtMjUgMTc6NTg6NDIgLTA0MDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXNAZGViZXRoZW5jb3VydC5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogaW5pdGlhbGl6ZSBjYXBzIHBvaW50ZXIgdG8gbnVsbAoJICBNYWtlIHN1cmUgdGhlIGNhcHMgcG9pbnRlciByZXR1cm5zIGluaXRpYWxpemVkIHdoZW4gdXNpbmcgaXQgaW4KCSAgcXRkZW11eF9wYXJzZV90cmVlICgpLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI4OTg3CgoyMDE0LTA0LTIyIDE3OjA3OjM4ICsxMDAwICBKYW4gU2NobWlkdCA8amFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBydHBqaXR0ZXJidWZmZXI6IENsZWFyIGxhc3RfcHQgb24gZmx1c2gtc3RvcC4KCSAgT3RoZXJ3aXNlLCB3ZSBkb24ndCByZWNoZWNrIHRoZSBidWZmZXIgY2FwcyBmb3IgY2xvY2stcmF0ZQoJICBwcm9wZXJseSBvbiB0aGUgbmV4dCBjaGFpbi4KCjIwMTQtMDQtMjIgMTc6Mjk6MDIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuYzoKCSAgZGVpbnRlcmxhY2U6IEZpeCBjb21waWxlciB3YXJuaW5nCgkgIGdzdGRlaW50ZXJsYWNlLmM6IEluIGZ1bmN0aW9uICdnc3RfZGVpbnRlcmxhY2Vfb3V0cHV0X2ZyYW1lJzoKCSAgZ3N0ZGVpbnRlcmxhY2UuYzoxNTM3OjU3OiBlcnJvcjogJ3BhdHRlcm4ubGVuZ3RoJyBtYXkgYmUgdXNlZCB1bmluaXRpYWxpemVkIGluIHRoaXMgZnVuY3Rpb24gWy1XZXJyb3I9bWF5YmUtdW5pbml0aWFsaXplZF0KCSAgVGhpcyBhY3R1YWxseSBpcyBhbHdheXMgaW5pdGlhbGl6ZWQgYmVmb3JlIGl0IGlzIHVzZWQgdGhlcmUsIGJ1dAoJICBsZXQncyBqdXN0IHNpbGVuY2UgZ2NjIGhlcmUuCgoyMDE0LTA0LTIxIDE1OjU4OjQ1ICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cG11eC5jOgoJICBydHBtdXg6IGZpeCBidWZmZXIgbGlzdCBkcm9wIGNoZWNrCgkgIFdoaWxlIHBvcnRpbmcgdG8gMC4xMSwgdGhlIGNoZWNrIHdhcyBtaXN0YWtlbmx5IG1hZGUgY29uc3RhbnQsCgkgIGluc3RlYWQgb2YgdGVzdGluZyBmb3IgdGhlIHJldHVybiB2YWx1ZSBvZiBwcm9jZXNzX2J1ZmZlcl9sb2NrZWQuCgkgIENvdmVyaXR5IDExMzk2NjMKCjIwMTQtMDQtMjEgMTM6NDQ6MTUgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXJlYWQtY29tbW9uLmM6CgkgIG1hdHJvc2thOiBmaXggY29udGVudCBlbmNvZGluZyBzY29wZSB2YWxpZGl0eSBjaGVjawoJICBJdCdzIDMgYml0cywgYW5kIGh0dHA6Ly9tYXRyb3NrYS5vcmcvdGVjaG5pY2FsL3NwZWNzL2luZGV4Lmh0bWwKCSAgc2F5cyBpdCBjYW4ndCBiZSAwLgoJICBDb3Zlcml0eSAxMTM5NjYwCgoyMDE0LTA0LTIxIDEzOjM0OjM3ICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSAgbWF0cm9za2FtdXg6IGZpeCBQQVIgZnJhY3Rpb24gc2FuaXR5IGNoZWNrCgkgIEl0IHdhcyBjaGVja2luZyBwYXJfbnVtIHR3aWNlLCBhbmQgbmV2ZXIgcGFyX2RlbnVtLgoJICBDb3Zlcml0eSAxMTM5NjM0CgoyMDE0LTA0LTIxIDEzOjMyOjQwICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC91ZHAvZ3N0bXVsdGl1ZHBzaW5rLmM6CgkgIG11bHRpaWRwc2luazogd2FybiB3aGVuIHNldHNvY2tvcHQgZmFpbHMKCSAgVGhpcyBkb2Vzbid0IHNlZW0gdG8gYmUgZmF0YWwsIGJ1dCBpdCdzIGdvb2QgdG8gbGV0IHRoZSB1c2VyIGtub3cKCSAgaW4gdGhlIGxvZ3MuCgkgIENvdmVyaXR5IDExMzk2MzAKCjIwMTQtMDQtMjEgMTM6Mjc6MjQgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2ludGVybGVhdmUvZGVpbnRlcmxlYXZlLmM6CgkgIGludGVybGFjZTogY2F0Y2ggZmFpbHVyZSB0byBjcmVhdGUgYXVkaW8gaW5mbyBmcm9tIGNhcHMKCSAgQ292ZXJpdHkgMTEzOTYyNywgMTEzOTYyOAoKMjAxNC0wMy0xMyAwOTozNzo0OCArMDEwMCAgR8O2cmFuIErDtm5zc29uIDxnb3JhbmpuQGF4aXMuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBoMjY0cGF5LmM6CgkgIGdzdHJ0cGgyNjRwYXk6IFJlc2V0IHNwcyBwcHMgdmFyaWFibGUgd2hlbiBzdGF0ZSBjaGFuZ2UuCgkgIFJlc2V0IGxhc3Rfc3BzcHBzIGFuZCBzcHMvcHBzIGFycmF5cyAgd2hlbiBzdGF0ZSB0cmFuc2l0aW9uCgkgIEdTVF9TVEFURV9DSEFOR0VfUEFVU0VEX1RPX1JFQURZLgoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI2MDE1CgoyMDE0LTA0LTE4IDExOjExOjE0ICswMjAwICBXaW0gVGF5bWFucyA8d3RheW1hbnNAcmVkaGF0LmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBqaXR0ZXJidWZmZXIuYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwaml0dGVyYnVmZmVyLmg6CgkgIGppdHRlcmJ1ZmZlcjogaW1wcm92ZSBFT1MgaGFuZGxpbmcKCSAgTWFrZSBhIG5ldyBtZXRob2QgdG8gZGlzYWJsZSB0aGUgaml0dGVyYnVmZmVyIGJ1ZmZlcmluZy4KCSAgUmV3b3JrIHRoZSB1cGRhdGVfZXN0aW1hdGVkX2VvcygpIG1ldGhvZC4gQ2FsY3VsYXRlIGhvdyBtdWNoIHRpbWUKCSAgdGhlcmUgaXMgbGVmdCB0byBwbGF5LiBJZiB3ZSBoYXZlIGxlc3MgdGhhbiB0aGUgZGVsYXkgb2YgdGhlCgkgIGppdHRlcmJ1ZmZlciwgd2UgZGlzYWJsZWQgYnVmZmVyaW5nIGJlY2F1c2Ugd2UgbWlnaHQgbmV2ZXIgYmUgYWJsZSB0bwoJICBmaWxsIHRoZSBjb21wbGV0ZSBqaXR0ZXJidWZmZXIgYWdhaW4uCgkgIElmIHdlIHJlY2VpdmUgYW4gRU9TIGV2ZW50LCBkaXNhYmxlIGJ1ZmZlcmluZy4gV2Ugd2lsbCBkcmFpbiB0aGUKCSAgYnVmZmVyIGFuZCBldmVudHVhbGx5IHB1c2ggdGhlIEVPUyBldmVudCBvdXQuCgkgIFdoZW4gd2UgcmVhY2ggdGhlIGVzdGltYXRlZCBOUFQgdGltZW91dCBhbmQgd2UgZGlkbid0IHJlY2VpdmUgYW4gRU9TCgkgIGV2ZW50LCBtYWtlIG9uZSBhbmQgcXVldWUgaXQgc28gdGhhdCBpdCBjYW4gYmUgcHVzaGVkLgoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI4MDE3CgoyMDE0LTA0LTE4IDEwOjIxOjI3ICswMjAwICBXaW0gVGF5bWFucyA8d3RheW1hbnNAcmVkaGF0LmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmg6CgkgIHJ0cHNlc3Npb246IHNlbmQgcmVjb25maWd1cmUgd2hlbiBpbnRlcm5hbC1zc3JjIGNoYW5nZXMKCSAgV2hlbiB0aGUgaW50ZXJuYWwtc3NyYyBwcm9wZXJ0eSBjaGFuZ2VzLCB3ZSB3YW50IHRvIHNlbmQgYSByZWNvbmZpZ3VyZQoJICB1cHN0cmVhbSB0byBtYWtlIHBheWxvYWRlcnMgdXNlIHRoZSBuZXcgc3VnZ2VzdGVkIHNzcmMuCgkgIFVzaW5nIHRoZSBpbnRlcm5hbC1zc3JjIHByb3BlcnR5IHRvIGNoYW5nZSB0aGUgU1NSQyBvZiBhIHN0cmVhbSBpcyBub3QgYQoJICBnb29kIGlkZWEgYW5kIGRvZXNuJ3Qgd29yayB3aGVuIHRoZXJlIGFyZSBtdWx0aXBsZSBzZW5kZXJzLCB3ZSB3YW50IHRvCgkgIHNldCB0aGUgU1NSQyBkaXJlY3RseSBvbiB0aGUgcGF5bG9hZGVycy4gVGhlcmVmb3JlLCBkZXByZWNhdGUgdGhpcwoJICBwcm9wZXJ0eS4KCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyNTM2MQoKMjAxNC0wNC0xOCAwNDoyMzoyNiArMDIwMCAgV2ltIFRheW1hbnMgPHd0YXltYW5zQHJlZGhhdC5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgaml0dGVyYnVmZmVyOiBhc3N1bWUgYSBmdWxsIGJ1ZmZlciB3aGVuIGVvcwoJICBSZXdvcmsgdGhlIGxvZ2ljIHRvIG1ha2UgYnVmZmVyaW5nIG1lc3NhZ2VzIGEgbGl0dGxlLCBtYWtlIHN1cmUgd2UKCSAgZG9uJ3QgbWFrZSB0aGUgc2FtZSBtZXNzYWdlIG11bHRpcGxlIHRpbWVzLgoJICBDb25zaWRlciB0aGUgYnVmZmVyIGZ1bGwgd2hlbiBFT1Mgd2FzIHJlY2VpdmVkLgoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI4MDE3CgoyMDE0LTA0LTE3IDE4OjA3OjA5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwcnR4LmM6CgkgIHJ0cHJ0eDogRG9uJ3QgZm9yZ2V0IHRvIHVubWFwIHJ0cCBidWZmZXIgaW4gdGhlIHRlc3QKCjIwMTQtMDQtMTcgMTc6NTg6NTggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBydHhzZW5kLmM6CgkgIHJ0cHJ0eHNlbmQ6IFJlcXVpcmUgY2xvY2stcmF0ZSBpbiB0aGUgY2FwcyBhbmQgaGFuZGxlIG5vIHNzcmMgaW4gdGhlIGNhcHMgcHJvcGVybHkKCjIwMTQtMDQtMTcgMTc6NDM6MTIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHBydHguYzoKCSAgcnRwcnR4OiBQcm92aWRlIGFuIHNzcmMgaW4gdGhlIHRlc3QKCSAgQW5kIGluY3JlYXNlIHRpbWVvdXQgdG8gYWxsb3cgYWxsIHRlc3RzIHRvIHJ1biBpbiB2YWxncmluZC4KCjIwMTQtMDQtMTcgMTc6MzM6NDYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHBzZXNzaW9uLmM6CgkgIHJ0cHNlc3Npb246IEZpeCBtZW1vcnkgbGVha3MgaW4gdGVzdAoKMjAxNC0wNC0xNyAxNzoyNjozNiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cGppdHRlcmJ1ZmZlci5jOgoJICBydHBqaXR0ZXJidWZmZXI6IEZpeCBodW5kcmVkcyBvZiBtZW1vcnkgbGVha3MgaW4gdGhlIHRlc3QKCjIwMTQtMDQtMTcgMTc6MDA6MzcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgcnRwaml0dGVyYnVmZmVyOiBVbnJlZiBjbG9jayBpZCB3aGVuIHdhaXRpbmcgZm9yIHRoZSBjbG9jayBpcyBpbnRlcnJ1cHRlZAoKMjAxNC0wNC0xNyAxNjozOTo1OSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cGNvbGxpc2lvbi5jOgoJICBydHBjb2xsaXNpb246IEZpeCBtZW1vcnkgbGVha3MgaW4gdW5pdCB0ZXN0CgoyMDE0LTA0LTE2IDIxOjQwOjQ1ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlcjIuYzoKCSAgdmlkZW9taXhlcjogbmFtZSBjb2xsZWN0cGFkcyBvYmplY3QgYmFzZWQgb24gdmlkZW9taXhlciBuYW1lCgkgIE1ha2VzIGl0IGVhc2llciB0byB0cmFjayB0aGluZ3MgaW4gZGVidWcgbG9ncyB3aGVuIHRoZXJlCgkgIGFyZSBtdWx0aXBsZSBtaXhlcnMgYW5kIG11eGVycy4KCjIwMTQtMDQtMTYgMjE6Mzc6MTIgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyMi5jOgoJICB2aWRlb21peGVyOiBiZXR0ZXIgbG9nZ2luZyBvZiBpbmNvbWluZyBldmVudHMKCSAgVGhlIHBhZCBhbmQgcGFyZW50IG5hbWVzIGFyZSBhbHJlYWR5IGxvZ2dlZCBhcyBwYXJ0IG9mIGxvZ2dpbmcKCSAgdGhlIG9iamVjdC4gSW5zdGVhZCBsb2cgdGhlIGZ1bGwgZXZlbnQgZGV0YWlscy4KCjIwMTQtMDQtMTYgMTk6MDM6NDcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy92aWRlb21peGVyLmM6CgkgIHZpZGVvbWl4ZXI6IEZpeCBtZW1vcnkgbGVhayBpbiB1bml0IHRlc3QKCjIwMTQtMDQtMTYgMTg6NDk6NDMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbGV2ZWwvZ3N0bGV2ZWwuYzoKCSAgbGV2ZWw6IFVzZSB0aGUgY29ycmVjdCBudW1iZXIgb2Ygc2FtcGxlcyB0byBpdGVyYXRlIG92ZXIgdGhlIGlucHV0IGFycmF5CgkgIEZpeGVzIGludmFsaWQgbWVtb3J5IGFjY2Vzc2VzIGFuZCBhY2Nlc3NlcyB0byB1bmluaXRpYWxpc2VkIGRhdGEuCgoyMDE0LTA0LTE2IDE4OjAwOjQ5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2ljeWRlbXV4L2dzdGljeWRlbXV4LmM6CgkgIGljeWRlbXV4OiBVbnJlZiBkcm9wcGVkIGV2ZW50cwoKMjAxNC0wNC0xNiAxNzoyOTozMCArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvZWJtbC1yZWFkLmM6CgkgIG1hdHJvc2thOiBmaXggY2hlY2sgZm9yIGFtb3VudCBvZiBkYXRhIHRvIHJlYWQKCSAgSGlzdG9yeSBzaG93cyBsZW5ndGg9PTAgc2hvdWxkIHNldCBkYXRhIHRvIE5VTEwgYW5kIHJldHVybiwKCSAgc28gd2UgZG8gdGhhdCB0b28gaW5zdGVhZCBvZiB0cnlpbmcgdG8gcmVhZCBub3RoaW5nLgoJICBDb3Zlcml0eSAyMDYyMDUKCjIwMTQtMDQtMTYgMTc6MjU6NDQgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmM6CgkgIGRlaW50ZXJsYWNlOiBmaXggc2lnbiBjb21wYXJpc29uCgkgIGhpc3RvcnlfY291bnQgaXMgdW5zaWduZWQsIHNvIHRoZSB3aG9sZSBjb21wYXJpc29uIHdpbGwgYmUgbWFkZQoJICBhcyB1bnNpZ25lZCwgYW5kIGZhaWwgdG8gcmVqZWN0IHdoYXQgaXQgd2FzIG1lYW50IHRvLgoJICBDb3Zlcml0eSAyMDYyMDQKCjIwMTQtMDQtMTYgMTc6MDQ6NTAgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICBhdmlkZW11eDogcmVtb3ZlIGRlYWQgY29kZQoJICBzdWIgbWF5IG5vdCBiZSBOVUxMIGluIHRoaXMgc3dpdGNoLCB0aGVyZSBpcyBhIGJhaWwgb3V0IGp1c3QKCSAgYmVmb3JlIGl0IGlmIHNvLgoJICBDb3Zlcml0eSAyMDYwOTgKCjIwMTQtMDQtMTYgMTY6NTk6NDMgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RmbGFjcGFyc2UuYzoKCSAgZmxhY3BhcnNlOiByZW1vdmUgZGVhZCBjb2RlCgkgIFRoZSBibG9ja19zaXplID09IDAgd2FzIHNob3J0Y3V0IGVhcmxpZXIsIGFuZCB0aGUgdmFyaWFibGUgaXMgbm90CgkgIG1vZGlmaWVkIGluIHRoZSBtZWFudGltZS4KCSAgQ292ZXJpdHkgMjA2MDk3CgoyMDE0LTA0LTE2IDE2OjU2OjU0ICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb21peGVyL3ZpZGVvY29udmVydC5jOgoJICB2aWRlb21peGVyOiByZW1vdmUgZGVhZCBjb2RlCgkgIFdoaWxlIGl0IHNlZW1zIHRvIGtlZXAgYSBjb21waWxlIHRpbWUgc2VsZWN0aW9uLCBJIHRyYWNlZCBpdAoJICB0byBzb21lIGNvZGUgY29waWVkIGZyb20gdmlkZW9jb252ZXJ0LCB3aGVyZSBpdCB3YXMgcmVtb3ZlZCwKCSAgd2l0aCB0aGUgZm9sbG93aW5nIGNvbW1lbnQ6CgkgIEFsc28gcmVtb3ZlIHRoZSBoaWdoLXF1YWxpdHkgSTQyMCB0byBCR1JBIGZhc3QtcGF0aCBhcyBpdCBuZWVkcwoJICB0aGUgc2FtZSBmaXgsIHdoaWNoIGNhdXNlcyBhbiBhZGRpdGlvbmFsIGluc3RydWN0aW9uLCB3aGljaCBjYXVzZXMKCSAgb3JjIHRvIGVtaXQgbW9yZSB0aGFuIDk2IHZhcmlhYmxlcywgd2hpY2ggdGhlbiBqdXN0IGNyYXNoZXMuCgkgIFRoaXMgY2FuIG9ubHkgYmUgZml4ZWQgaW4gb3JjIGJ5IGJyZWFraW5nIEFCSSBhbmQgYWxsb3dpbmcgbW9yZQoJICB2YXJpYWJsZXMuCgkgIFRodXMsIEkgcmVtb3ZlIGl0IGhlcmUgYXMgd2VsbC4KCSAgQ292ZXJpdHkgMjA2MDY0CgoyMDE0LTA0LTE2IDE2OjUwOjMwICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBpc29tcDQ6IGZpeCBpbmNvcnJlY3QgbWFza2luZyBmb3IgbXVsdGlwbGUgdGFncwoJICBDb3Zlcml0eSAyMDYwNTgKCjIwMTQtMDQtMTYgMTY6NDU6MDggKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2lzb21wNC9hdG9tcy5jOgoJICBpc29tcDQ6IGZpeCB3cm9uZyBhdG9tIGZsYWdzIHNldCB3aGVuIGFkZGluZyBzYW1wbGVzCgkgIENvdmVyaXR5IDIwNjA1NwoKMjAxNC0wNC0xNiAxNjo0MDowMiArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9meC9hdWRpb2Z4YmFzZWZpcmZpbHRlci5jOgoJICBhdWRpb2Z4OiBmaXggY29tcGFyaXNvbiBvZiBkZWx0YSB0aW1lIHRvIGEgdGhyZXNob2xkCgkgIENvdmVyaXR5IDIwNjA1NQoKMjAxNC0wNC0xNiAxNjozMjoyNiArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzoKCSAgd2F2cGFyc2U6IGRvIG5vdCByZWx5IG9uIGNhbGwgZmFpbHVyZSBrZWVwaW5nIHJldHVybiBkYXRhIHVubW9kaWZpZWQKCSAgVGhpcyBpcyBjbGVhcmVyIHRoaXMgd2F5IHRvby4KCSAgQ292ZXJpdHkgMjA2MDI5CgoyMDE0LTA0LTE2IDE2OjI4OjQ5ICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pc29tcDQvYXRvbXNyZWNvdmVyeS5jOgoJICBpc29tcDQ6IGNhdGNoIGZzZWVrIGVycm9yCgkgIENvdmVyaXR5IDIwNjAyOAoKMjAxNC0wNC0xNiAxNjoyNTo0NCArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaXNvbXA0L2F0b21zLmM6CgkgIGlzb21wNDogcmVwb3J0IGZhaWx1cmVzIHRvIGNhbGxlcgoJICBDb3Zlcml0eSAyMDYwMjcKCjIwMTQtMDQtMTYgMTg6MDU6NDYgKzAyMDAgIFdpbSBUYXltYW5zIDx3dGF5bWFuc0ByZWRoYXQuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIHJ0cGppdHRlcmJ1ZmZlcjogcmVmdXNlIHNlcmlhbGllZCBxdWVyeSB3aGVuIGJ1ZmZlcmluZwoJICBXaGVuIHdlIGFyZSBidWZmZXJpbmcsIHdlIGNhbid0IGJsb2NrIGFuZCB3YWl0IGZvciB0aGUgc2VyaWFsaXplZCBxdWVyeQoJICB0byBjb21wbGV0ZSBiZWNhdXNlIHRoZSBqaXR0ZXJidWZmZXIgd2lsbCBub3QgdHJ5IHRvIGZvcndhcmQgdGhlIHF1ZXJ5CgkgIHdoaWxlIGJ1ZmZlcmluZy4gSW5zdGVhZCwganVzdCByZWZ1c2UgdGhlIHF1ZXJ5LgoKMjAxNC0wNC0xNiAxNjo1MToxNSArMDIwMCAgV2ltIFRheW1hbnMgPHd0YXltYW5zQHJlZGhhdC5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgcnRwaml0dGVyYnVmZmVyOiBkb24ndCBmcmVlIHRoZSBzZXJpYWxpemVkIHF1ZXJ5CgkgIFdlIHNob3VsZCBuZXZlciBmcmVlIGEgc2VyaWFsaXplZCBxdWVyeSBpbiB0aGUgcXVldWUsIGl0IGlzIHRoZSB1cHN0cmVhbQoJICBjYWxsZXIgdGhhdCB3aWxsIGZyZWUgaXQuCgoyMDE0LTA0LTE2IDE3OjM1OjQyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYWFjcGFyc2UuYzoKCSAgYWFjcGFyc2U6IEZpeCBtZW1vcnkgbGVhayBpbiB0aGUgdGVzdAoKMjAxNC0wNC0xNiAxNzozMzo0NiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIyLmM6CgkgIHZpZGVvbWl4ZXI6IENyZWF0ZSBoYXNodGFibGUgb25seSB3aGVuIHdlIGFjdHVhbGx5IHVzZSBpdAoJICBJbiBlcnJvciBjYXNlcyB3ZSBwcmV2aW91c2x5IHJldHVybmVkIHdpdGhvdXQgZnJlZWluZyBpdC4KCjIwMTQtMDQtMTYgMTc6MzA6NTkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyMi5jOgoJICB2aWRlb21peGVyOiBDaGFpbiB1cCB0byB0aGUgcGFyZW50IGNsYXNzJyBkaXNwb3NlIGZ1bmN0aW9uCgoyMDE0LTA0LTE2IDE3OjIzOjI3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMnZpZGVvZGVjLmM6CgkgIHY0bDJ2aWRlb2RlYzogSW5pdGlhbGlzZSBpb2N0bCBzdHJ1Y3Qgd2l0aCB6ZXJvZXMgYmVmb3JlIHBhc3NpbmcgaXQgdG8gaW9jdGwoKQoKMjAxNC0wNC0xNiAxMzo0Nzo0MyArMDIwMCAgTWFyYyBMZWVtYW4gPG1hcmMubGVlbWFuQGdtYWlsLmNvbT4KCgkqIGdzdC91ZHAvZ3N0dWRwc3JjLmM6CgkgIHVkcHNyYzogY29ycmVjdCBMT0cgbXNnIGZvciAtMQoJICBTaWduZWQtb2ZmLWJ5OiBNYXJjIExlZW1hbiA8bWFyYy5sZWVtYW5AZ21haWwuY29tPgoKMjAxNC0wNC0xNSAyMTozNjozMCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9pbnRlcmxlYXZlL2ludGVybGVhdmUuYzoKCSAgaW50ZXJsZWF2ZTogRml4IG5lZ290aWF0aW9uIHRvIHdvcmsgYXQgYWxsIGFnYWluCgkgIFRoZSBjYXBzIHF1ZXJ5IGhhbmRsaW5nIGZ1bmN0aW9uIGZvciB0aGUgc2lua3BhZHMgd2FzIGNhbGxlZCBmb3IKCSAgdGhlIHNyY3BhZCwgYW5kIHRoZSBzaW5rcGFkcyBoYWQgbm9uZS4gVGhpcyBjb21taXQgbW92ZXMgaXQgdG8gdGhlCgkgIHJpZ2h0IHBhZCwgYnV0IG5vbmV0aGVsZXNzIHRoZSBuZWdvdGlhdGlvbiBzdGlsbCBsb29rcyB3cm9uZy4KCSAgVGhpcyBtYWtlcyB0aGUgdGVzdCBwYXNzIGFnYWluIGFmdGVyIHRoZSByZWNlbnQgY292ZXJpdHkgZml4CgkgIGFuZCBhbHNvIGFsbG93cyBpbnRlcmxlYXZlIHRvIHdvcmsgYWdhaW4sIGJ1dCBzb21lb25lIHNob3VsZAoJICByZWFsbHkgcmV2aWV3IHRoZSBuZWdvdGlhdGlvbiBjb2RlIGFuZCBmaXggaXQuCgoyMDE0LTA0LTEzIDA5OjAzOjQxICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIHN5cy9vc3M0L29zczQtYXVkaW8uYzoKCSAgb3NzNDogTWF4aW11bSBudW1iZXIgb2YgY2hhbm5lbHMgc3VwcG9ydCBpcyA4CgkgIEF2b2lkcyBkb2luZyBwb3RlbnRpYWwgb3ZlcndyaXRlcyBpbiBjaF9sYXlvdXQgKHdoaWNoIG9ubHkgaGFzIDgKCSAgZmllbGRzKS4KCSAgQ0lEICMxMTM5ODI2CgoyMDE0LTA0LTEyIDIyOjE2OjM3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL29zeHZpZGVvL29zeHZpZGVvc2luay5tOgoJICBvc3h2aWRlb3Npbms6IFNldCByYW5rIHRvIE1BUkdJTkFMCgkgIElmIGF2YWlsYWJsZSB3ZSBwcmVmZXIgdXNpbmcgZ2xpbWFnZXNpbmsgb3ZlciBvc3h2aWRlb3NpbmsuIEl0IHN1cHBvcnRzCgkgIG1vcmUgZm9ybWF0cyBhbmQgaW4gZ2VuZXJhbCBoYXMgbW9yZSBmZWF0dXJlcyB0aGFuIG9zeHZpZGVvc2luay4KCjIwMTQtMDQtMTEgMTg6MTk6NDkgKzAyMDAgIEpvc2VwIFRvcnJhIDxuNzcwZ2FsYXh5QGdtYWlsLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2NGRlcGF5LmM6CgkgIHJ0cGgyNjRkZXBheTogb25seSBndWVzcyBBVSBib3VuZGFyaWVzIHdoZW4gYXJlbid0IGluZGljYXRlZCBieSBtYXJrZXIKCSAgVGhlIG1hcmtlciBiaXQgaXNuJ3QgbWFuZGF0b3J5IGFuZCB3ZSBoYWQgaW4gcGxhY2UgY29kZSB0byBndWVzcyBBVQoJICBib3VuZGFyaWVzIGJ5IGRldGVjdGluZyBhIG5ldyBwaWN0dXJlIHN0YXJ0LiBUaGlzIGd1ZXNzaW5nIGNvZGUKCSAgZGlkbid0IHdvcmsgd2l0aCBpbnRlcmxhY2VkIGNvbnRlbnQgdGhhdCBoYXMgcHJvcGVyIG1hcmtlciBiaXRzCgkgIHRvIGluZGljYXRlIHRoZSBBVSBib3VuZGFyaWVzLiBJdCB3YXMgbGVha2luZyB0aGUgZmlyc3QgZmllbGQgYnVmZmVyCgkgIGFuZCBwcm9kdWNpbmcgYSBjb3JydXB0ZWQgb3V0cHV0LgoJICBmaXhlczogaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyODA0MQoKMjAxNC0wNC0xMCAxMDozODoxOSAtMDMwMCAgUmFmYcWCIE11xbx5xYJvIDxnYWx0Z2VuZG9AbzIucGw+CgoJKiBleHQvbGlicG5nL2dzdHBuZ2RlYy5jOgoJICBwbmdkZWM6IGVuYWJsZSBsaWJwbmcgaW50ZXJsYWNlZCBwaWN0dXJlIGhhbmRsaW5nCgkgIE1ha2VzIGxpYnBuZyBkZWludGVybGFjZSBBZGFtNyBpbnRlcmxhY2VkIHBpY3R1cmVzCgkgIGJ5IGRlZmF1bHQuIEl0IGlzIHRoZSBvbmx5IGludGVybGFjZWQgZm9ybWF0IGF2YWlsYWJsZQoJICBhbmQgaWYgdGhlIHBpY3R1cmUgaXNuJ3QgaW50ZXJsYWNlZCB0aGUgY29kZSBzaG91bGQgYmVoYXZlCgkgIGFzIGJlZm9yZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyNjE2MQoKMjAxNC0wNC0xMSAxMzoyNzo0MiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6CgkgIHNvdXBodHRwc3JjOiBPbmx5IGtlZXAtYWxpdmUgdGhlIGNvbm5lY3Rpb24gaW4gc3RvcCgpIGlmIHdlIGhhdmUgZmluaXNoZWQgYWxsIHByZXZpb3VzIG1lc3NhZ2VzCgkgIEFmdGVyIGNhbmNlbGxpbmcgYSByZXF1ZXN0IHdlIG5lZWQgdG8gY3JlYXRlIGEgbmV3IGNvbm5lY3Rpb24uCgoyMDE0LTA0LTExIDExOjU0OjEyICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZXh0L2R2L2dzdGR2ZGVjLmM6CgkgIGR2ZGVjOiBEb24ndCBzZXQgYm9ndXMgdGltZXN0YW1wL2R1cmF0aW9uCgkgIFRoaXMgd2lsbCBoYXBwZW4gaWYgd2UgaGF2ZSBhbiBpbmNvbWluZyBzdHJlYW0gd2l0aCBhIG5vbi1USU1FIHNlZ21lbnQKCSAgQ291bGQgYmUgaW1wcm92ZWQgbGF0ZXIgdG8gZmlndXJlIG91dCBwcm9wZXIgcHRzL2R1cmF0aW9uLgoJICBDSUQgIzExOTk3MDIKCSAgQ0lEICMxMTk5NzAzCgoyMDE0LTA0LTExIDExOjUzOjQyICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZXh0L2R2L2dzdGR2ZGVjLmM6CgkgIGR2ZGVjOiBQcm9wZXJseSByZWZ1c2UgaW5jb21pbmcgc3RyZWFtIHdpdGhvdXQgZnJhbWVyYXRlCgkgIFRoZSByZXR1cm4gdmFsdWUgd2Fzbid0IHByb3Blcmx5IHByb3BhZ2F0ZWQgYmFjayBpZiB0aGUgY2FwcwoJICBkaWRuJ3QgY29udGFpbiBhIGZyYW1lcmF0ZQoKMjAxNC0wNC0xMCAxNjozNToyOCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6CgkgIHNvdXBodHRwc3JjOiBBbHNvIHJldHJ5IG9uIHVuZXhwZWN0ZWQgbmV0d29yayBmYWlsdXJlcwoKMjAxNC0wNC0xMCAxNTo0NTo0MSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6CgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmg6CgkgIHNvdXBodHRwc3JjOiBOZXcgcHJvcGVydHkgdG8gc3BlY2lmeSB0aGUgbWF4aW11bSBudW1iZXIgb2YgcmV0cmllcyBiZWZvcmUgd2UgZ2l2ZSB1cAoKMjAxNC0wMy0xMyAxMDo1NjoxMSArMDEwMCAgQWxleGFuZGVyIFphbGxlc292IDx6YWxsZXNvdkBnbWFpbC5jb20+CgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOgoJICBzb3VwaHR0cHNyYzogQ2hhbmdlIGRlZmF1bHQgdGltZW91dCB0byAxNSBzZWNvbmRzCgkgIElmIG5vdGhpbmcgaGFwcGVucyBhZnRlciAxNSBzZWNvbmRzLCBjaGFuY2VzIGFyZSBnb29kIHRoYXQKCSAgb3VyIGNvbm5lY3Rpb24gd2lsbCBuZXZlciB3aWxsIHdvcmsuIFN0b3AgYWZ0ZXIgMTUgc2Vjb25kcwoJICBpbnN0ZWFkIG9mIHdhaXRpbmcgdW50aWwgdGhlIHN5c3RlbSdzIGRlZmF1bHQgdGltZW91dCwgd2hpY2gKCSAgY2FuIGJlID4gMSBtaW51dGUuCgoyMDE0LTA0LTA5IDE3OjMwOjU0ICswOTAwICBKaW1teSBPaG4gPHlvbmdqaW4ub2huQGxnZS5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogcmVwbGFjZSBkdXBsaWNhdGVkIHZhcmlhYmxlIHdoZW4gcGFyc2luZyB0cmV4IGF0b20KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyNzg3OAoKMjAxNC0wNC0wOSAxMDo1NjoyOSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6CgkgIHNvdXBodHRwc3JjOiBVc2UgR1NUX0ZMT1dfRkxVU0hJTkcgd2hlbiBmbHVzaGluZywgbm90IEdTVF9GTE9XX0VPUwoJICAuLi4gYW5kIHJlc2V0IGl0IHByb3Blcmx5IGFmdGVyIGZsdXNoaW5nIGlzIGRvbmUuIEZpeGVzIHBsYXliYWNrCgkgIGluIG1hbnkgY2FzZXMgd2hlbiBidWZmZXJpbmcgaXMgdXNlZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyNzgyMQoKMjAxNC0wNC0wOSAwODo1ODowNCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBQcm9wZXJseSByZXR1cm4gc3RyZWFtIGZsYWdzIHdoZW4gcGFyc2luZyB0cmV4IGF0b20KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyNzg2NwoKMjAxNC0wMy0xOSAxOToxODoxMSArMDAwMCAgTWF0dGhpZXUgQm91cm9uIDxtYXR0aGlldS5ib3Vyb25AY29sbGFib3JhLmNvbT4KCgkqIHN5cy9vc3h2aWRlby9vc3h2aWRlb3NpbmsuaDoKCSogc3lzL29zeHZpZGVvL29zeHZpZGVvc2luay5tOgoJICBvc3h2aWRlb3Npbms6IHVzZSB0aGUgdmlkZW8gZnJhbWUgQVBJIGluc3RlYWQgb2YgdGhlIHZpZGVvIG1ldGEgQVBJCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjY3MzgKCjIwMTQtMDMtMTkgMTg6NDc6MzkgKzAwMDAgIE1hdHRoaWV1IEJvdXJvbiA8bWF0dGhpZXUuYm91cm9uQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvb3N4dmlkZW8vb3N4dmlkZW9zaW5rLm06CgkgIG9zeHZpZGVvc2luazogYWR2ZXJ0aXplIHZpZGVvIG1ldGEgQVBJIHN1cHBvcnQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyNjczNwoKMjAxNC0wNC0wOCAxMTozMTowNiArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvaW50ZXJsZWF2ZS9pbnRlcmxlYXZlLmM6CgkgIGludGVybGVhdmU6IEFkZCBtaXNzaW5nIGJyZWFrIGluIHN3aXRjaCBzdGF0ZW1lbnQKCSAgVGhlIGNhcHMgcXVlcnkgaXMgaGFuZGxlZCBlbnRpcmVseSBhbHJlYWR5IGJlZm9yZS4KCSAgQ0lEICMxMTM5NzU3CgoyMDE0LTA0LTA2IDE4OjAzOjExIC0wMzAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyLnZlcmRlam9Ac2lzYS5zYW1zdW5nLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3NvdXBodHRwc3JjLmM6CgkgIHRlc3RzOiBzb3VwaHR0cHNyYzogdXNlIFNvdXBLbm93blN0YXR1c0NvZGUgaWYgbmVlZGVkCgkgIEZyb20gbGlic291cCBkb2NzOgoJICBQcmlvciB0byAyLjQ0IFNvdXBTdGF0dXMgd2FzIGNhbGxlZCBTb3VwS25vd25TdGF0dXNDb2RlLAoJICBidXQgdGhlIGluZGl2aWR1YWwgdmFsdWVzIGhhdmUgYWx3YXlzIGhhZCB0aGUgbmFtZXMgdGhleQoJICBoYXZlIG5vdy4KCSAgRml4ZXM6CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjczMjkKCjIwMTQtMDQtMDcgMTI6NTg6MjMgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICBhdmlkZW11eDogdXNlIGZyYW1lcywgbm90IGJ5dGVzLCBmb3IgcG9zaXRpb24gcXVlcnkgaW4gVkJSIHN0cmVhbXMKCSAgQ292ZXJpdHkgMTEzOTY0OAoKMjAxNC0wNC0wNyAxMjo0MjoxNCArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc21wdGUvZ3N0c21wdGUuYzoKCSAgc21wdGU6IGZpeCBjb3B5L3Bhc3RlIGVycm9yIGNhdXNpbmcgdW5tYXAgb24gd3JvbmcgYnVmZmVyCgkgIENvdmVyaXR5IDExMzk2NDcKCjIwMTQtMDQtMDcgMTI6MTY6MTcgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmM6CgkgIGRlaW50ZXJsYWNlOiBndWFyZCBhZ2FpbnN0IGZpbmRpbmcgbm8gc3VpdGFibGUgcGF0dGVybgoJICBUaGUgY29kZSBoYW5kbGVzIGEgLTEgcGF0dGVybiBpbmRleCwgYW5kIGl0IHNlZW1zIHBsYXVzaWJsZQoJICB0aGF0IGEgcGF0dGVybiBtaWdodCBiZSBmb3VuZCBsYXRlciwgc28gaXQgc2VlbXMgYmVzdCB0byBub3QKCSAgc2VuZCBhbiBlbGVtZW50IGVycm9yIGhlcmUuCgkgIENvdmVyaXR5IDExMzk3NjYKCjIwMTQtMDQtMDQgMTc6Mzg6MTQgKzAyMDAgIFdpbSBUYXltYW5zIDx3dGF5bWFuc0ByZWRoYXQuY29tPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiB1cGRhdGUgZm9yIG5ldyBNSUtFWSBBUEkKCjIwMTQtMDQtMDMgMTc6NDA6MDEgKzAyMDAgIFdpbSBUYXltYW5zIDx3dGF5bWFuc0ByZWRoYXQuY29tPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmg6CgkgIHJ0c3BzcmM6IHNlbmQgc2VuZGVyIFNTUkMgaW4gdGhlIE1JS0VZIG1lc3NhZ2UKCSAgQWxsb2NhdGUgYSBuZXcgU1NSQyBmb3Igb3VyIFJUQ1AgbWVzc2FnZXMgYmFjayB0byB0aGUgc2VydmVyIGFuZCBzZXQKCSAgdGhpcyBpbiB0aGUgTUlLRVkgbWVzc2FnZS4KCjIwMTQtMDQtMDMgMTc6Mzk6MzAgKzAyMDAgIFdpbSBUYXltYW5zIDx3dGF5bWFuc0ByZWRoYXQuY29tPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBtYWtlIHJhbmRvbSBudW1iZXIgZm9yIHRoZSBDU0IKCSAgQXMgcmVjb21tZW5kZWQgaW4gdGhlIFJGQwoKMjAxNC0wMy0yNiAxMjoxMDo0NCArMDEwMCAgV2ltIFRheW1hbnMgPHd0YXltYW5zQHJlZGhhdC5jb20+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IGRvbid0IHB1dCBzcGFjZXMgaW4ga2V5bWdtdCBoZWFkZXIKCjIwMTQtMDMtMjUgMTc6NDc6NDkgKzAxMDAgIFdpbSBUYXltYW5zIDx3dGF5bWFuc0ByZWRoYXQuY29tPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmg6CgkgIHJ0c3BzcmM6IGNyZWF0ZSBhbmQgc2VuZCB0aGUgUlRDUCBlbmNyeXB0aW9uIGtleQoJICBDcmVhdGUgYW5kIG1ha2UgYSBrZXkgZm9yIGVuY3J5cHRpbmcgdGhlIFJUQ1AgcGFja2V0cyBiYWNrIHRvIHRoZSBzZXJ2ZXIKCSAgYW5kIHdyYXAgdGhpcyBpbiBhIE1JS0VZIG1lc3NhZ2UgdGhhdCB3ZSBzZW5kIGFzIGEgaGVhZGVyIGluIHRoZSBTRVRVUAoJICByZXF1ZXN0LgoKMjAxNC0wNC0wMyAxMjoxODozOSArMDIwMCAgV2ltIFRheW1hbnMgPHd0YXltYW5zQHJlZGhhdC5jb20+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IGZyZWUgdGhlIHNydHBkZWMgZWxlbWVudAoKMjAxNC0wNC0wMyAxMjoxNjoyNSArMDIwMCAgV2ltIFRheW1hbnMgPHd0YXltYW5zQHJlZGhhdC5jb20+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IGNsZWFudXAgc3RyZWFtX2ZyZWUgZnVuY3Rpb24KCSAgVGhlcmUgaXMgbm8gcmVhc29uIHRvIE5VTEwgYWxsIGZpZWxkcywgd2Ugd2lsbCBmcmVlIHRoZSBzdHJlYW0gYW55d2F5LgoKMjAxNC0wNC0wMyAxMjowNzozMSArMDIwMCAgV2ltIFRheW1hbnMgPHd0YXltYW5zQHJlZGhhdC5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgaml0dGVyYnVmZmVyOiBkZW1vdGUgd2FybmluZyB0byBkZWJ1ZwoJICBGb3IgVENQLCBpdCBpcyBub3JtYWwgdGhhdCB3ZSBkb24ndCBoYXZlIHRpbWVzdGFtcHMgc28gZG9uJ3QgV0FSTiBvbgoJICBpdC4KCjIwMTQtMDMtMjkgMTk6MTM6MDYgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJICB2NGwyOiBGaXggc3VwcG9ydCBmb3IgY2FwcyB3aXRob3V0IHdpZHRoLCBoZWlnaHQsIGZyYW1lcmF0ZSBvciBmb3JtYXQKCSAgRm9yIGZvcm1hdCBsaWtlIG1wZWd0cywgd2lkdGggYW5kIGhlaWdodCBpcyByYXJlbHkgaW4gdGhlIG5lZ290aWF0ZWQgY2Fwcy4gVGhpcwoJICBwYXRjaCBmaXhlcyBmYWlsdXJlIHdoZW4gc2V0dGluZyBmb3JtYXQsIGFuZCBwcmV2ZW50IGludHJvZHVjaW5nIHdpZHRoLCBoZWlnaHQsCgkgIGZyYW1lcmF0ZSBhbmQgZm9ybWF0IHRvIHRoZSBjYXBzIHdoZW4gZml4YXRpbmcuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjU4NjAKCjIwMTQtMDMtMzEgMTg6MzQ6MTMgKzAyMDAgIFRoaWJhdWx0IFNhdW5pZXIgPHRzYXVuaWVyQGdub21lLm9yZz4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5oOgoJICBhdmlkZW11eDogQWx3YXlzIHNldCBQVFM9RFRTIG9uIHJhdyB2aWRlbyBzdHJlYW1zCgoyMDE0LTAzLTMxIDE4OjMxOjIyICswMjAwICBUaGliYXVsdCBTYXVuaWVyIDx0c2F1bmllckBnbm9tZS5vcmc+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIGF2aWRlbXV4OiBBbHdheXMgc2V0IHBpeGVsLWFzcGVjdC1yYXRpbyBvbiByYXcgdmlkZW8gc3RyZWFtcwoJICBUaGF0IGZpZWxkIGlzIG1hbmRhdG9yeSBpbiBjYXBzIGFuZCBpZiBpdCBpcyBub3QgcHJlc2VudCBpbiB0aGUKCSAgQVZJIGNvbnRhaW5lciwgaXQgbWVhbnMgc3F1YXJlIHBpeGVscyB0aHVzIDEvMS4KCjIwMTQtMDMtMzAgMDA6MzU6MDcgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkgIG1hdHJvc2thLW11eDogYWRkIG1hcHBpbmcgZm9yIE9wdXMgYXVkaW8KCSAgTWlnaHQgd2FudCB0byBjb25zaWRlciBhZGRpbmcgY2hhbm5lbHMvcmF0ZQoJICByZXF1aXJlbWVudCB0byB0ZW1wbGF0ZSBjYXBzLCBidXQgcmVxdWlyZXMKCSAgZml4aW5nIHVwIG9mIGVuY29kZXIgYW5kIHBhcnNlciBmaXJzdC4KCjIwMTQtMDMtMzAgMDA6MzE6MTEgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWlkcy5oOgoJICBtYXRyb3NrYS1kZW11eDogYWRkIG1hcHBpbmcgZm9yIE9wdXMgYXVkaW8gY29kZWMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyNzMwNQoKMjAxNC0wMy0yOSAxNzoyMToxNyAtMDQwMCAgV2lsbGlhbSBNYW5sZXkgPHdpbGxAd2lsbGlhbW1hbmxleS5uZXQ+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIHY0bDJzcmM6IEZpeCBzdXBwb3J0IGZvciBtcGVndHMgc3RyZWFtcwoJICBJdCBzZWVtcyB0aGF0IEdTdHJlYW1lcidzIG1wZWd0cyBlbGVtZW50cyAodHNkZW11eCwgdHNwYXJzZSkgcmVxdWlyZSBjYXBzCgkgIGB2aWRlby9tcGVndHMsc3lzdGVtc3RyZWFtPXRydWVgLiAgQXMgZmFyIGFzIEkgY2FuIHNlZSB0aGUgc2lnbmlmaWNhbmNlCgkgIG9mIHN5c3RlbXN0cmVhbSBpcyB0byBpbmRpY2F0ZSB0aGF0IHRoaXMgaXMgYSBjb250YWluZXIgZm9ybWF0IHJhdGhlciB0aGFuCgkgIGFuIGVsZW1lbnRhcnkgc3RyZWFtLiAgQXMgdGhpcyBpcyB0aGUgY2FzZSAoYW5kIEkgY2FuJ3QgdW5kZXJzdGFuZCBob3cgaXQKCSAgY291bGQgbm90IGJlIHRoZSBjYXNlIHdpdGggbXBlZ3RzKSBJIGFkZCBzeXN0ZW1zdHJlYW09dHJ1ZSB0byB2NGwyc3JjJ3MKCSAgY2Fwcy4KCSAgVGhpcyBhbGxvd3MgdjRsMnNyYyB0byBiZSBsaW5rZWQgd2l0aCB0c2RlbXV4IGZvciBwbGF5YmFjayBmcm9tIG15CgkgIEhhdXBwYXVnZSBIRC1QVlIgd2l0aCB0aGUgcGlwZWxpbmU6CgkgIHY0bDJzcmMgISBxdWV1ZSAhIHRzZGVtdXggISB2aWRlby94LWgyNjQgISBkZWNvZGViaW4gISB4dmltYWdlc2luawoJICBJbiBjb21iaW5hdGlvbiB3aXRoIHRoZSBuZXh0IGNvbW1pdCB0aGlzIGZpeGVzIHVzaW5nIEhhdXBwYXVnZSBIRC1QVlIgd2l0aAoJICBHU3RyZWFtZXIgMS4wKy4KCjIwMTQtMDEtMTQgMTQ6NDg6NDIgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvdjRsMl9jYWxscy5jOgoJICB2NGwyOiBhdHRlbXB0IHRvIGZpeCBpbmZpbml0ZSAoZm9yIHNtYWxsIHZlcnNpb24gb2YgaW5maW5pdGUpIGxvb3AKCjIwMTQtMDMtMjkgMTM6MjA6MzAgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzoKCSAgcnRwbWFuYWdlcjogY29weSBzdGlja3kgZXZlbnRzIHdoZW4gZXhwb3NpbmcgcGFkcyBpbiBtb3JlIHBsYWNlcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI0NzEyCgoyMDE0LTAzLTI4IDIwOjExOjM2ICswMTAwICBSaWNvIFR6c2NoaWNoaG9seiA8cmljb3R6QHVidW50dS5jb20+CgoJKiBzeXMvdjRsMi9NYWtlZmlsZS5hbToKCSAgdjRsMjogZml4IGRpc3RjaGVjawoJICBNYWtlIHN1cmUgZXh0LyouaCBhcmUgZGlzdCdlZAoKMjAxNC0wMy0yNyAxOTo1MTo1MCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy94aW1hZ2UvZ3N0eGltYWdlc3JjLmM6CgkgIHhpbWFnZXNyYzogb25seSBleHRyYXBvbGF0ZSBhbHBoYSBtYXNrIGZvciAzMi1iaXQgZGVwdGgKCSAgSW5zdGVhZCBvZiBwYXNzaW5nIGJvZ3VzIGFscGhhIG1hc2sgdmFsdWVzIHdoZW4gdGhlcmUncyBubyBhbHBoYS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyNjgzMwoKMjAxNC0wMy0yMSAxMzowMzoxNyAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3hpbWFnZS9nc3R4aW1hZ2VzcmMuYzoKCSAgeGltYWdlc3JjOiBBZGQgQVJHQi9CR1JBIHN1cHBvcnQKCjIwMTQtMDMtMjAgMTU6Mjg6MjYgKzAxMDAgIE9nbnlhbiBUb25jaGV2IDxvZ255YW5AYXhpcy5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGpwZWdwYXkuYzoKCSAganBlZ3BheTogY29uc2lkZXIgaGVhZGVyIGxlbiB3aGVuIGNhbGN1bGF0aW5nIHBheWxvYWQgbGVuCgkgIEZpeGVkIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjY3NzcKCjIwMTQtMDMtMjYgMDg6MDM6MjIgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvanBlZy9nc3RqcGVnZGVjLmM6CgkgIGpwZWdkZWM6IEFsbCBmcmFtZXMgYXJlIHN5bmMgcG9pbnRzCgoyMDE0LTAzLTI2IDA4OjAyOjQzICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2xpYnBuZy9nc3RwbmdkZWMuYzoKCSAgcG5nZGVjOiBBbGwgZnJhbWVzIGFyZSBzeW5jIHBvaW50cwoKMjAxNC0wMy0yMiAxNzowNzo0NiArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bW5hdXdAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thZGVtdXg6IHNlZ21lbnQgY2xvc2luZyBub3QgbmVlZGVkIGluIDEueAoJICAuLi4gYXMgc2VuZGVyIHNob3VsZCBrZWVwIHRyYWNrIG9mIHNlZ21lbnQgYmFzZSBhY2N1bXVsYXRpb24uCgkgIFJhdGhlciwgaXQgbWF5IGhhdmUgc29tZSBhZHZlcnNlIGVmZmVjdHMgYXMgYSBzcHVyaW91cyBzZWdtZW50IGV2ZW50LAoJICBlLmcuIGluIGNvbGxlY3RwYWRzLgoKMjAxNC0wMy0yMiAxNzowNToxNyArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bW5hdXdAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thZGVtdXg6IGVhcmx5IHNlbmRpbmcgcGVuZGluZyBjb2RlYy1kYXRhIGZvciBhbGwgc3RyZWFtcwoJICAuLi4gYXQgbGVhc3QgYmVmb3JlIHN5bmNpbmcgYWNyb3NzIGFsbCBzdHJlYW1zIG1pZ2h0IGNhdXNlIHNvbWUgZ2FwCgkgIGFjdGl2aXR5IG9uIGFueSBvZiB0aG9zZSBzdHJlYW1zLCBub3RhYmx5IHNwYXJzZSBzdHJlYW1zLgoJICBTZWUgYWxzbyAjNzEyMTM0CgoyMDE0LTAzLTIyIDE3OjAxOjI3ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtbmF1d0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkgIG1hdHJvc2thbXV4OiBoYW5kbGUgYm90aCBzdGlja3kgYW5kIG5vbi1zdGlja3kgY3VzdG9tIGV2ZW50CgoyMDE0LTAzLTI1IDExOjQ0OjI3ICswMTAwICBXaW0gVGF5bWFucyA8d3RheW1hbnNAcmVkaGF0LmNvbT4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogb25seSBleHBvc2Ugc3RyZWFtcyBvbiBkYXRhZmxvdwoJICBPbmx5IHByb2JlIG9uIGJ1ZmZlcnMsIHdlIGRvbid0IHdhbnQgdG8gZXhwb3NlIHRoZSBzdHJlYW1zIG9uIGV2ZW50cy4KCjIwMTQtMDMtMjUgMTE6MzY6NDAgKzAxMDAgIFdpbSBUYXltYW5zIDx3dGF5bWFuc0ByZWRoYXQuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6CgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogY29weSBzdGlja3kgZXZlbnRzIHRvIGdob3N0cGFkCgkgIFdoZW4gd2UgZXhwb3NlIGludGVybmFsIHBhZHMgYXMgZ2hvc3RwYWRzLCBmaXJzdCBjb3B5IHRoZSBzdGlja3kgZXZlbnRzCgkgIHNvIHRoYXQgd2UgaGF2ZSB0aGUgY2FwcyBhbmQgc2VnbWVudCBldGMuCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjQ3MTIKCjIwMTQtMDMtMjQgMTQ6MjU6NDMgKzAxMDAgIFdpbSBUYXltYW5zIDx3dGF5bWFuc0ByZWRoYXQuY29tPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmg6CgkgIHJ0c3BzcmM6IHNydHAgaGFuZGxpbmcKCjIwMTQtMDMtMjUgMTA6MjM6MDAgKzAxMDAgIFdpbSBUYXltYW5zIDx3dGF5bWFuc0ByZWRoYXQuY29tPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBzZXQgU1NSQyBvbiBjYXBzIGlmIGtub3duCgoyMDE0LTAzLTI0IDE2OjU4OjI1ICswMTAwICBXaW0gVGF5bWFucyA8d3RheW1hbnNAcmVkaGF0LmNvbT4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogcHV0IGNhcHMgb24gdWRwc3JjIGluc3RlYWQgb2YgdXNpbmcgdGhlIHNpZ25hbHMKCSAgVHJ5IHRvIGF2b2lkIHVzaW5nIHRoZSByZXF1ZXN0LXB0LW1hcCB0byBnZXQgY2FwcyBidXQgc2V0IHRoZW0gZGlyZWN0bHkKCSAgb24gdGhlIHVkcHNyYyBlbGVtZW50LiBUaGF0IHdheSwgdGhlIGNhcHMgZ2V0IG5pY2VseSB0cmFuc2Zvcm1lZCBhcyB0aGV5CgkgIHBhc3MgdGhyb3VnaCB0aGUgZGlmZmVyZW50IGVsZW1lbnRzIGluIHRoZSBydHBiaW4sIGluY2x1ZGluZyB0aGUgQVVYIGFuZAoJICBkZWNvZGVyL2VuY29kZXIgZWxlbWVudHMuCgoyMDE0LTAzLTI0IDE1OjM1OjA5ICswMTAwICBXaW0gVGF5bWFucyA8d3RheW1hbnNAcmVkaGF0LmNvbT4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogdXNlIHByb2ZpbGUgdG8gc2V0IHJ0Y3AgY2FwcwoJICBVc2UgdGhlIG5lZ290aWF0ZWQgcHJvZmlsZSB0byBzZXQgeC1ydGNwIG9yIHgtc3J0Y3AgY2FwcwoKMjAxNC0wMy0yNCAxNTozNDoyNiArMDEwMCAgV2ltIFRheW1hbnMgPHd0YXltYW5zQHJlZGhhdC5jb20+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IHNldCB1ZHBzcmMgdG8gUkVBRFkKCSAgUkVBRFkgaXMgZW5vdWdoIHRvIGFsbG9jYXRlIHBvcnRzIG5vdwoKMjAxNC0wMy0yNCAxNDoyNToyOCArMDEwMCAgV2ltIFRheW1hbnMgPHd0YXltYW5zQHJlZGhhdC5jb20+CgoJKiBnc3QvdWRwL2dzdHVkcHNyYy5jOgoJICB1ZHBzcmM6IGltcHJvdmUgY2FwcyBoYW5kbGluZwoJICBQcm90ZWN0IGNhcHMgd2l0aCB0aGUgbG9jay4KCSAgRG9uJ3QgcHVzaCB0aGUgY2FwcyBldmVudCBmcm9tIHRoZSBzZXRfcHJvcGVydHkgZnVuY3Rpb24gYnV0IG1hcmsgdGhlCgkgIHBhZCBmb3IgcmVjb25maWd1cmF0aW9uIHNvIHRoYXQgaXQgd2lsbCByZW5lZ290aWF0ZSBhbmQgcHVzaCB0aGUgbmV3CgkgIGNhcHMgZXZlbnQgaW4gdGhlIHN0cmVhbWluZyB0aHJlYWQuCgoyMDE0LTAzLTI0IDE1OjE1OjM0ICswMTAwICBXaW0gVGF5bWFucyA8d3RheW1hbnNAcmVkaGF0LmNvbT4KCgkqIGdzdC91ZHAvZ3N0dWRwc3JjLmM6CgkgIHVkcHNyYzogb3Blbi9jbG9zZSBzb2NrZXQgaW4gTlVMTDwtPlJFQURZIHN0YXRlCgkgIFdlIHNob3VsZCBvcGVuIHRoZSBzb2NrZXQgd2hlbiBnb2luZyB0byBOVUxMPC0+UkVBRFkgYW5kIG5vdCBpbiB0aGUKCSAgc3RhcnQvc3RvcCB2ZW10aG9kLCB3aGljaCBpcyBjYWxsZWQgaW4gUkVBRFk8LT5QQVVTRUQuIFRoaXMgbWFrZXMgaXQKCSAgcG9zc2libGUgdG8gYWxsb2NhdGUgYSBzb2NrZXQgd2l0aG91dCBnb2luZyB0byBQQVVTRUQgKGFuZCBzdGFydGluZyB0aGUKCSAgbmVnb3RpYXRpb24pLgoKMjAxNC0wMy0yNCAxNDozNTowMSArMDEwMCAgV2ltIFRheW1hbnMgPHd0YXltYW5zQHJlZGhhdC5jb20+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IGZyZWUgY2FwcyBpbiBwdG1hcCBhcnJheQoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI2Njk2CgoyMDE0LTAzLTIwIDExOjEyOjUxICswMTAwICBXaW0gVGF5bWFucyA8d3RheW1hbnNAcmVkaGF0LmNvbT4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogaGFuZGxlIE5VTEwgcnRwbWFwIGFuZCBwYXJzZSBlcnJvciBiZXR0ZXIKCjIwMTQtMDMtMTYgMjM6NDY6MjIgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDx0ZXN0ZXJAdGVzdGVyLmNhPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IERvbid0IGNoZWNrIGZvciBndWRldiBpZiB2aWRlbzRsaW51eDIgaXMgbm90IHByZXNlbnQKCjIwMTQtMDMtMTYgMjM6MTk6NTUgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDx0ZXN0ZXJAdGVzdGVyLmNhPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IERvbid0IGZhaWwgaWYgZ3VkZXYgaXMgbm90IHByZXNlbnQKCSAgUEtHX0NIRUNLX01PRFVMRVMgaGFzIHRoZSBiYWQgaGFiaXQgb2YgZmFpbGluZyB0aGUgYnVpbGQgaWYgaXQgZG9lc24ndAoJICBnZXQgd2hhdCBpdCB3YW50cywgcHJldmVudCB0aGF0LgoKMjAxMi0xMS0wMiAxMzozMzoxMyArMDEwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogc3lzL3Y0bDIvTWFrZWZpbGUuYW06CgkqIHN5cy92NGwyL2dzdHY0bDIuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMmRldmljZW1vbml0b3IuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMmRldmljZW1vbml0b3IuaDoKCSAgdjRsMjogSW1wbGVtZW50IEdzdERldmljZU1vbml0b3Igc3ViY2xhc3MKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY3ODQwMgoKMjAxMy0wOC0xMiAxMTo0OToyMSAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9wdWxzZS9NYWtlZmlsZS5hbToKCSogZXh0L3B1bHNlL3BsdWdpbi5jOgoJKiBleHQvcHVsc2UvcHVsc2VkZXZpY2Vtb25pdG9yLmM6CgkqIGV4dC9wdWxzZS9wdWxzZWRldmljZW1vbml0b3IuaDoKCSAgcHVsc2U6IEFkZCBkZXZpY2UgbW9uaXRvcnMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY3ODQwMgoKMjAxNC0wMy0xNiAxOToyNDoyNiAtMDQwMCAgT2xpdmllciBDcsOqdGUgPHRlc3RlckB0ZXN0ZXIuY2E+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIHY0bDI6IFJlbW92ZSBHc3RQcm9wZXJ0eVByb2JlIGxlZnRvdmVycwoKMjAxNC0wMi0xOSAwMzowNDowMyArMDEwMCAgTWF0aGlldSBEdXBvbmNoZWxsZSA8bWR1cG9uY2hlbGxlMUBnbWFpbC5jb20+CgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyMi5jOgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyMi5oOgoJICB2aWRlb21peGVyOiBQb3J0IHRvIG5ldyBjb2xsZWN0cGFkcyBBUEkKCSAgU2VlOiBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI0NzA1CgoyMDE0LTAzLTE2IDE1OjI2OjA0ICswMTAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9leHQvdHlwZXMtY29tcGF0Lmg6CgkqIHN5cy92NGwyL2V4dC92aWRlb2RldjIuaDoKCSAgdjRsMjogQWRkIHR5cGVzIGNvbXBhdGlibGl0eSBmb3Igb3RoZXIgT1MKCSAgQWRkcyB0eXBlIGNvbXBhdGlibGl0eSB3aXRoIG90aGVyIE9TIGxpa2UgQlNELiBUaGlzIHVzZXMgdHlwZXMgbWFwcGluZyBtYWNybyB0bwoJICBhdm9pZCBjb25mbGljdCB3aXRoIGV4aXN0aW5nIGRlZmluZWQgdHlwZXMuIFdlIHJlc3VzZSBnbGliIHR5cGVzIGFzIHRoZXNlIGFyZQoJICBhbHJlYWR5IGF2YWlsYWJsZSBvbiBzdXBwb3J0ZWQgcGxhdGZvcm1zLiBUaGlzIGlzIEdDQyBvbmx5IGJlY2F1c2Ugb2YgdGhlCgkgIGxlMzIgdHlwZSB0aGF0IHVzZXMgYml0d2lzZSBhdHRyaWJ1dGUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjY0NTMKCjIwMTQtMDMtMTYgMTU6NTU6MDAgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBleHQvcHVsc2UvcHVsc2V1dGlsLmM6CgkgIHB1bHNlOiBmaXggZm9ybWF0IGluZm8gdG8gY2FwcyBjb252ZXJzaW9uIGZvciBtdWxhdwoKMjAxMy0wOC0xMyAxMjoxMDo0MiAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSogZXh0L3B1bHNlL3B1bHNldXRpbC5jOgoJKiBleHQvcHVsc2UvcHVsc2V1dGlsLmg6CgkgIHB1bHNlOiBNYWtlIGdzdF9wdWxzZV9mb3JtYXRfaW5mb190b19jYXBzKCkgc2hhcmVkCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02Nzg0MDIKCjIwMTQtMDMtMTUgMTg6NDE6MTYgKzAxMDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy9NYWtlZmlsZS5hbToKCSAgdjRsMjogRml4IHR5cG8gVjRMX0RJUiBpbnRlYWQgb2YgVjRMMl9ESVIKCjIwMTQtMDMtMTUgMTg6MDU6MzIgKzAxMDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgdjRsMi1idWlsZDogU2V0IEhBVkVfR1NUX1Y0TDIgaWYgaGVhZGVycyBhcmUgcHJlc2VudAoJICBUaGUgbmFtZSBvZiBIQVZFXyBuZWVkIHRvIG1hdGNoIHRoZSBVU0VfLiBOb3cgc2V0IEhBVkVfR1NUX1Y0TDIgaWYKCSAgdmlkZW9kZXYyLmggaXMgZm91bmQuCgoyMDE0LTAzLTE1IDE2OjQ3OjUxICswMTAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIHN5cy9NYWtlZmlsZS5hbToKCSAgdjRsMjogQWN0dWFsbHkgYnVpbGQgdGhlIHBsdWdpbgoJICBUaGUgY2hlY2tzIHdlcmUgcmVtb3ZlZCBpbmFkdmVydGVkbHkgaW4gcHJldmlvdXMgcGF0Y2ggYW5kIG5vdCByZXBsYWNlZC4KCSAgUmUtaW50cm9kdWNlIHRoZSBjb25maWd1cmUgY2hlY2tzIGFuZCBzb21lIG9mIHRoZSBjaGVja3MgaW4gb3JkZXIgdG8gZW5hYmxlCgkgIHRoaXMgcGx1Z2luIGFnYWluLiBXZSBvbmx5IGNoZWNrIGlmIHZpZGVvZGV2Mi5oIGV4aXN0IG9uIHRoZSBwbGF0Zm9ybSB0bwoJICBhdm9pZCBidWlsZGluZyBvbiBXaW5kb3dzIG9yIE9TWCwgdGhvdWdoIHdlIGJ1aWxkIGFnYWluc3Qgb3VyIG93biBjb3B5LiBUaGlzCgkgIHdhcyBicmVha2luZyB0aGUgYnVpbGQgb24gYnVpbHQtYm90LgoKMjAxNC0wMy0xNSAxMzo0Nzo0MiArMDEwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogcG8vYWYucG86CgkqIHBvL2F6LnBvOgoJKiBwby9iZy5wbzoKCSogcG8vY2EucG86CgkqIHBvL2NzLnBvOgoJKiBwby9kYS5wbzoKCSogcG8vZGUucG86CgkqIHBvL2VsLnBvOgoJKiBwby9lbl9HQi5wbzoKCSogcG8vZW8ucG86CgkqIHBvL2VzLnBvOgoJKiBwby9ldS5wbzoKCSogcG8vZmkucG86CgkqIHBvL2ZyLnBvOgoJKiBwby9nbC5wbzoKCSogcG8vaHIucG86CgkqIHBvL2h1LnBvOgoJKiBwby9pZC5wbzoKCSogcG8vaXQucG86CgkqIHBvL2phLnBvOgoJKiBwby9sdC5wbzoKCSogcG8vbHYucG86CgkqIHBvL210LnBvOgoJKiBwby9uYi5wbzoKCSogcG8vbmwucG86CgkqIHBvL29yLnBvOgoJKiBwby9wbC5wbzoKCSogcG8vcHRfQlIucG86CgkqIHBvL3JvLnBvOgoJKiBwby9ydS5wbzoKCSogcG8vc2sucG86CgkqIHBvL3NsLnBvOgoJKiBwby9zcS5wbzoKCSogcG8vc3IucG86CgkqIHBvL3N2LnBvOgoJKiBwby90ci5wbzoKCSogcG8vdWsucG86CgkqIHBvL3ZpLnBvOgoJKiBwby96aF9DTi5wbzoKCSogcG8vemhfSEsucG86CgkqIHBvL3poX1RXLnBvOgoJICB0cmFuc2xhdGlvbjogUE8gZmlsZSBjaGFuZ2VzIGNhdXNlZCBieSBQT1RGSUxFLmluIHVwZGF0ZQoKMjAxNC0wMy0xNSAxMzoxNzoyMSArMDEwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBwby9QT1RGSUxFUy5pbjoKCSogcG8vUE9URklMRVMuc2tpcDoKCSogc3lzL3Y0bDIvTWFrZWZpbGUuYW06CgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnNpbmsuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJKiBzeXMvdjRsMi9nc3R2NGwydmlkZW9vdmVybGF5LmM6CgkqIHN5cy92NGwyL2dzdHY0bDJ2aWRlb292ZXJsYXkuaDoKCSAgdjRsMjogUmVtb3ZlIFhWIHN1cHBvcnQKCSAgWFYgc3VwcG9ydCBmb3IgdjRsMiBuZXZlciBiZWNhbWUgdXBzdHJlYW0gYW5kIGVuZGVkIHVwIGJlaW5nCgkgIGNvbW1lbnRlZCBvdXQgd2l0aCBhbiB1bmRlZiBmb3IgYSBsb25nIHRpbWUgbm93LgoKMjAxNC0wMy0xNSAxMToxMzowNSArMDEwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QtcGx1Z2lucy1nb29kLnNwZWMuaW46CgkqIHN5cy9NYWtlZmlsZS5hbToKCSogc3lzL3Y0bDIvZXh0L3Y0bDItY29tbW9uLmg6CgkqIHN5cy92NGwyL2V4dC92NGwyLWNvbnRyb2xzLmg6CgkqIHN5cy92NGwyL2V4dC92aWRlb2RldjIuaDoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0Lmg6CgkqIHN5cy92NGwyL2dzdHY0bDJ2aWRvcmllbnQuYzoKCSogc3lzL3Y0bDIvdjRsMl9jYWxscy5jOgoJKiB0ZXN0cy9pY2xlcy9NYWtlZmlsZS5hbToKCSAgdjRsMjogVXNlIGEgY29weSBvZiB2aWRlb2RldjIuaCBoZWFkZXIKCSAgV2l0aCB5ZWFycyB0aGUgYW1vdW50IG9mIGlmZGVmIGhhdmUgZ3Jvd24gdXAgYW5kIHdlIGFyZSBub3QgZXZlbiBzdXJlIGlmIHRoZQoJICBvbGQgY29kZSBwYXRoIGNvbXBpbGVzLiBFYWNoIHRpbWUgd2UgbmVlZCB0byB1cGRhdGUgdGhlIHY0bDIgZnJhbWV3b3JrIHRvIGFkZAoJICB0aGUgbmV3IGZlYXR1cmUsIHdlIGJyZWFrIGNvbXBpbGF0aW9uIG9uIG9sZGVyIGtlcm5lbC4gV2l0aCBleGNlcHRpb24gb2YgdHdvCgkgIGNvbnRyb2xzIGluIHRoZSB2aWRlbyBvcmllbnRhdGlvbiBjb250cm9sLCB0aGlzIHBhdGNoIGdldCByaWQgb2YgYWxsIGlmZGVmIGJ5CgkgIGluY2x1ZGluZyB0aGUgbGF0ZXN0IHZlcnNpb24gb2YgdmlkZW9kZXYyLmggaW5zaWRlIEdTdHJlYW1lci4KCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyMzQ0NgoKMjAxNC0wMy0xMiAxNTozMjo1NSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6CgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmg6CgkgIHNvdXBodHRwc3JjOiBBZGQgcHJvcGVydGllcyBmb3Igc2VsZWN0aW5nIFNTTC9UTFMgY2VydGlmaWNhdGUgY2hlY2tpbmcKCSAgQW5kIGJ5IGRlZmF1bHQgcHJvcGVybHkgY2hlY2sgY2VydGlmaWNhdGVzIGFnYWluc3QgdGhlIHN5c3RlbSdzIENBCgkgIGNlcnRpZmljYXRlcy4gRXZlcnl0aGluZyBlbHNlIGlzIG5vdCBhIGdvb2QgZGVmYXVsdCBhdCBhbGwuCgoyMDE0LTAzLTExIDE0OjU2OjMwICswMTAwICBQZXIgeCBKb2hhbnNzb24gPHBlcnhqb2hAYXhpcy5jb20+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2FkZW11eDogZml4IGFzc2VydCBvbiBmcHMgbG93ZXIgdGhhbiAxCgkgIEZpeGVzIGFzc2VydCBjYXVzZWQgYnkgZ3N0X2R1cmF0aW9uX3RvX2ZyYWN0aW9uIGNhbGxpbmcKCSAgZ3N0X3V0aWxfdWludDY0X3NjYWxlX2ludCB3aXRoIGEgZGVub21pbmF0b3Igb2YgMCB3aGVuIGZwcyBpcyBsZXNzCgkgIHRoYW4gMS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyNjEwNgoKMjAxNC0wMy0xMSAwMDo0NjowNiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dHMuc2FudG9zQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyMi5jOgoJICB2aWRlb21peGVyMjogc3RvcmUgdmlkZW8gaW5mbyB3aXRoIGJ1ZmZlcnMgdG8ga2VlcCBpdCBpbiBzeW5jCgkgIEluc3RlYWQgdGhlIHF1ZXVlZCBidWZmZXIgbWlnaHQgaGF2ZSBhbiBvbGQgY2FwcyB3aGlsZSB0aGUgcGFkCgkgIGlzIGFscmVhZHkgc3RvcmluZyB0aGUgaW5mb3JtYXRpb24gZm9yIGEgbmV3IGNhcHMuIE1peGluZyB0aG9zZQoJICB3aGlsZSBoYW5kbGluZyBidWZmZXJzIHdpbGwgb2Z0ZW4gbGVhZCB0byBpc3N1ZXMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyNTk0OAoKMjAxNC0wMy0wOCAxOToyOTo1OCAtMDUwMCAgV2lsbGlhbSBNYW5sZXkgPHdpbGxAd2lsbGlhbW1hbmxleS5uZXQ+CgoJKiBzeXMvdjRsMi92NGwyX2NhbGxzLmM6CgkgIHY0bDI6IEZpeCB0eXBvIGNvbnRvbCAtPiBjb250cm9sCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjU2MzIKCjIwMTQtMDMtMDQgMDE6MTU6NDkgKzAwMDAgIFdpbGxpYW0gTWFubGV5IDx3aWxsQHdpbGxpYW1tYW5sZXkubmV0PgoKCSogc3lzL3Y0bDIvdjRsMl9jYWxscy5jOgoJICB2NGwyOiBOb3JtYWxpc2UgY29udHJvbCBuYW1lcyBpbiB0aGUgc2FtZSB3YXkgYXMgdjRsMi1jdGwKCSAgVjRMMiBrZXJuZWwgZHJpdmVycyBhbGxvdyBjb25maWd1cmF0aW9uIG9mIHRoZSBoYXJkd2FyZSBzZXR0aW5ncyB2aWEgYQoJICBtZWNoYW5pc20gY2FsbGVkIGNvbnRyb2xzLiAgVGhlc2UgY2FuIGJlIHJlZmVycmVkIHRvIGJ5IG5hbWUgc3VjaCBhcwoJICAiQnJpZ2h0bmVzcyIgYW5kICJXaGl0ZSBCYWxhbmNlIFRlbXBlcmF0dXJlIi4gIFRoZSB1c2VyLXNwYWNlIGNvbW1hbmQgbGluZQoJICBjbGllbnQgZm9yIHNldHRpbmcgdGhlc2UgY29udHJvbHMgKHY0bDItY3RsKSBub3JtYWxpc2VzIHRoZXNlIG5hbWVzIHN1Y2gKCSAgdGhhdCB0aGV5IG9ubHkgY29udGFpbiBsb3dlciBjYXNlIGFscGhhbnVtZXJpYyBjaGFyYWN0ZXJzIGFuZCB0aGUKCSAgdW5kZXJzY29yZSAnXycuICBlLmc6CgkgIEtlcm5lbCAgICAgICAgICAgICAgICAgICAgIHY0bDItY3RsCgkgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCSAgQnJpZ2h0bmVzcyAgICAgICAgICAgICAgICAgYnJpZ2h0bmVzcwoJICBXaGl0ZSBCYWxhbmNlIFRlbXBlcmF0dXJlICB3aGl0ZV9iYWxhbmNlX3RlbXBlcmF0dXJlCgkgIEZvY3VzIChhYnNvbHV0ZSkgICAgICAgICAgIGZvY3VzX2Fic29sdXRlCgkgIEdTdHJlYW1lciBzZWVtcyB0byB3YW50IHRvIGZvbGxvdyB0aGlzIHBhdHRlcm4gYnV0IGZhaWxlZCBmb3IgY29udHJvbHMgd2l0aAoJICBtb3JlIHRoYW4gb25lIGNvbnNlY3V0aXZlIG5vbi1hbHBoYW51bSBjaGFyYWN0ZXIuICBlLmcuIEdTdHJlYW1lciB3b3VsZAoJICBwcm9kdWNlICJmb2N1c19fYWJzb2x1dGVfIiByYXRoZXIgdGhhbiAiZm9jdXNfYWJzb2x1dGUiLgoJICBUaGlzIGNvbW1pdCBmaXhlcyB0aGF0IGlzc3VlLiAgQmFja3dhcmRzIGNvbXBhdGliaWxpdHkgaXMgcHJlc2VydmVkIGJ5CgkgIG5vcm1hbGlzaW5nIGFsbCBjb250cm9sIG5hbWVzIGJlZm9yZSBjb21wYXJpc29uLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI1NjMyCgoyMDE0LTAzLTA3IDE2OjE3OjI5ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzoKCSAgc291cGh0dHBzcmM6IE1ha2Ugc3VyZSB0byBub3QgcmV0dXJuIEVPUyBpbW1lZGlhdGVseSBpZiB3ZSBmaW5pc2hlZCBhIHJhbmdlIHJlcXVlc3QKCSAgT25seSByZXR1cm4gRU9TIHRoZSBuZXh0IHRpbWUgY3JlYXRlKCkgaXMgY2FsbGVkLCBpZiBhdCBhbGwuIGJhc2VzcmMKCSAgc2hvdWxkIGFscmVhZHkgdGFrZSBjYXJlIG9mIG5vdCBjYWxsaW5nIGl0IGFnYWluLgoJICBBbHNvIGFsd2F5cyByZXR1cm4gaW1tZWRpYXRlbHkgaWYgdGhlIHByZXZpb3VzIGZsb3cgcmV0dXJuIHdhcwoJICBub3QgT0suIFRoaXMgaW5kaWNhdGVzIGFuIGVycm9yIHNvbWV3aGVyZS4KCjIwMTQtMDMtMDYgMTI6MDY6NDMgLTA1MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGFtcmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaWxiY2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwc2lyZW5kZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHNwZWV4ZGVwYXkuYzoKCSAgcnRwOiBSZW1vdmUgY2FwcyByZXN0cmljdGlvbnMgZnJvbSBSVFAgZGVwYXlsb2FkZXIgc2luayBjYXBzCgkgIFJlbW92ZSBjYXBzIHJlc3RyaWN0aW9ucyB0aGF0IGNvcnJlc3BvbmQgdG8gdGhlIGRlZmF1bHQgYW5kIGFyZSBub3QKCSAgcmVxdWlyZWQgaW4gU0RQLiBXaXRoIHRoZSBuZXcgdXNhZ2Ugb2YgaGF2aW5nIHBhZHMgcmVxdWlyZSBhIHN1YnNldAoJICBvZiB0aGUgY2FwcywgdGhleSB3aWxsIG1ha2UgdGhlIG5lZ290aWF0aW9uIGZhaWwuCgoyMDE0LTAzLTA2IDExOjAyOjA5IC0wNTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBzcGVleGRlcGF5LmM6CgkgIHJ0cHNwZWV4ZGVwYXk6IFJlbW92ZSBjYXBzIHJlc3RyaWN0aW9ucyBmb3IgZGVwYXlsb2FkZXIKCSAgVGhlICJlbmNvZGluZy1wYXJhbXMiIGlzIG9wdGlvbmFsIGluIHRoZSBTRFAsIGJlY2F1c2Ugd2Ugbm93IHJlcXVpcmUKCSAgYSBzdWJzZXQgb2YgdGhlIGNhcHMsIGl0IHdvdWxkIGZhaWwgY2FwcyBuZWdvdGlhdGlvaW4gaWYgaXQgd2Fzbid0IHByZXNlbnQuCgkgIFNvIHJlbW92ZWQgaXQgZnJvbSB0aGUgdGVtcGxhdGUgY2Fwcy4KCjIwMTQtMDMtMDYgMTM6Mzg6MDkgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOgoJICBzb3VwaHR0cHNyYzogRG9uJ3QgZm9yZ2V0IHRvIHF1aXQgbWFpbmxvb3AgYWZ0ZXIgd2UgY2FuY2VsbGVkIHdoZW4gd2UgZ290IGRhdGEgYWZ0ZXIgdGhlIHN0b3AgcG9zaXRpb24KCjIwMTQtMDMtMDYgMTM6MzU6NDcgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOgoJICBzb3VwaHR0cHNyYzogSWYgd2UgaGFkIGEgc3RvcCBwb3NpdGlvbiwgYWxsb3cgZm9yIHRoZSBzZXJ2ZXIgdG8gZmluaXNoIG91ciBjb25uZWN0aW9uIGluc3RlYWQgb2YganVzdCBjYW5jZWxsaW5nCgkgIE90aGVyd2lzZSBrZWVwLWFsaXZlIGRvZXMgbm90IG1ha2UgbXVjaCBzZW5zZSBhbmQgYWxzbyB0aGUgc2VydmVyIHdpbGwgaGF2ZQoJICBjb25mdXNpbmcgdGhpbmdzIGluIHRoZSBsb2dzLgoKMjAxNC0wMy0wNiAxMjoyNDowMSArMDEwMCAgV2ltIFRheW1hbnMgPHd0YXltYW5zQHJlZGhhdC5jb20+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuaDoKCSAgcnRzcHNyYzogc2tpcCBzdHJlYW1zIHdpdGggc2FtZSBjb250cm9sIHVybAoJICBLZWVwIHRyYWNrIG9mIHdoYXQgc3RyZWFtcyB3ZSBkaWQgdGhlIFNFVFVQIGZvci4gV2Ugb25seSBuZWVkIHRvCgkgIGNvbmZpZ3VyZSBjYXBzLCB3YWl0IGZvciBwYWRzIGFuZCBwdXNoIGV2ZW50cyBvbiBzZXR1cCBzdHJlYW1zLiBXZSBjYW4KCSAgcmVtb3ZlIHRoZSBkaXNhYmxlZCBzdGF0ZSBvZiB0aGUgc3RyZWFtIGFuZCBzaW1wbGlmeSBzb21lIGNoZWNrcy4KCSAgQWZ0ZXIgd2Ugc2V0dXAgYSBzdHJlYW0sIHNraXAgdGhlIG90aGVyIHN0cmVhbXMgdGhhdCBoYXZlIHRoZSBzYW1lCgkgIGNvbnRyb2wgdXJsLiBVc2UgYSBza2lwcGVkIGZsYWcgdG8gbWFyayBzdHJlYW1zIHRoYXQgc2hvdWxkIGJlIHNraXBwZWQuCgoyMDE0LTAzLTA2IDEyOjIyOjQ3ICswMTAwICBXaW0gVGF5bWFucyA8d3RheW1hbnNAcmVkaGF0LmNvbT4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogcmVtb3ZlIG9ic29sZXRlIGNvZGUKCjIwMTQtMDMtMDUgMTY6MTk6MTkgKzAxMDAgIFdpbSBUYXltYW5zIDx3dGF5bWFuc0ByZWRoYXQuY29tPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmg6CgkgIHJ0c3BzcmM6IGp1c3QgdXNlIHRoZSBTRFAgaW5kZXggYXMgdGhlIHN0cmVhbSBpZAoJICBVc2UgdGhlIGluZGV4IG9mIHRoZSBtZWRpYSBzdHJlYW0gaW4gdGhlIFNEUCBhcyB0aGUgc3RyZWFtIGlkIGluc3RlYWQgb2YKCSAga2VlcGluZyBhIHNlcGFyYXRlIGNvdW50ZXIuCgoyMDE0LTAzLTA1IDEzOjM1OjE5ICswMTAwICBUaGlqcyBWZXJtZWlyIDx0aGlqc3Zlcm1laXJAZ21haWwuY29tPgoKCSogc3lzL29zeHZpZGVvL2NvY29hd2luZG93Lm06CgkqIHN5cy9vc3h2aWRlby9vc3h2aWRlb3NpbmsubToKCSAgb3N4dmlkZW86IGZpeCBidWlsZCBvbiBNYWMgT1NYIE1hdmVyaWNrcyBhbmQgcHV0IG5ldyB3aW5kb3cgaW4gZnJvbnQKCSAgR2V0Q3VycmVudFByb2Nlc3MvU2V0RnJvbnRQcm9jZXNzL1RyYW5zZm9ybVByb2Nlc3NUeXBlIHdhcyBkZXByZWNhdGVkCgkgIGFuZCBub3cgcmVtb3ZlZCBpbiBNYWMgT1NYIDEwLjkuIG9yZGVyRnJvbnRSZWdhcmRsZXNzIGlzIHVzZWQgdG8gbWFrZQoJICB0aGUgdmlkZW8gd2luZG93IHRoZSBtb3N0IGZyb250IHdpbmRvdy4KCjIwMTQtMDMtMDUgMTc6MzM6NTYgKzAxMDAgIENocmlzdGlhbiBGcmVkcmlrIEthbGFnZXIgU2NoYWxsZXIgPHVyYWV1c0BsaW51eHJpc2luZy5vcmc+CgoJKiBnc3QtcGx1Z2lucy1nb29kLnNwZWMuaW46CgkgIEFkZCBkb2NzIGRpcmVjdG9yeSB0byBzcGVjIGZpbGUKCjIwMTQtMDMtMDUgMTU6NDQ6MjUgKzAxMDAgIFdpbSBUYXltYW5zIDx3dGF5bWFuc0ByZWRoYXQuY29tPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBoYW5kbGUgTlVMTCBjb250cm9sIHVybHMgYmV0dGVyCgoyMDE0LTAzLTA1IDE0OjI4OjI2ICswMTAwICBXaW0gVGF5bWFucyA8d3RheW1hbnNAcmVkaGF0LmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSAgc2Vzc2lvbjogc21hbGwgY2xlYW51cHMKCSAgSXQncyBuaWNlciB0byBleHBsaWNpdGx5IGNoZWNrIGZvciBOVUxMIG9uIHBvaW50ZXIgdHlwZXMgdG8gbWFrZSBpdAoJICBjbGVhciB0aGF0IGl0J3MgYSBwb2ludGVyIGFuZCBub3QgYSBib29sZWFuLgoKMjAxNC0wMy0wNSAxNDoyNjowMiArMDEwMCAgV2ltIFRheW1hbnMgPHd0YXltYW5zQHJlZGhhdC5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkgIHNlc3Npb246IGhhbmRsZSB1bmtub3duIFNTUkMgaW4gRklSCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjU3MTIKCjIwMTQtMDMtMDUgMTE6Mzk6MDkgKzAxMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBmaXggc2Vla2luZwoJICBDYWxsIGdzdF9ydHNwc3JjX2Nvbm5lY3Rpb25fZmx1c2ggKHNyYywgRkFMU0UpIHRvIHJlc2V0IGNvbm5lY3Rpb25zIGFzCgkgIG5vbi1mbHVzaGluZyBiZWZvcmUgc2VuZGluZyBQQVVTRSBhbmQgUExBWSB3aXRoIHRoZSBuZXcgbnB0IHJhbmdlLiBXaXRob3V0IHRoaXMKCSAgcGF0Y2gsIHRob3NlIGNvbW1hbmRzIHdvdWxkIGZhaWwgd2l0aCBFSU5UUiBhcyB0aGUgY29ubmVjdGlvbnMgd2VyZSBzdGlsbAoJICBmbHVzaGluZy4KCjIwMTQtMDMtMDMgMTY6Mzk6MjYgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRzLnNhbnRvc0BzaXNhLnNhbXN1bmcuY29tPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4Lmg6CgkgIGF2aWRlbXV4OiBleHBvc2UgeHN1YiBhcyBhIHN1YnRpdGxlIGluc3RlYWQgb2YgYXMgYSB2aWRlbwoJICBJdCBpcyBwbGFjZWQgaW5zaWRlIGEgJ3ZpZHMnIHN0cnVjdCwgc28gaXQgd2FzIGJlaW5nIGV4cG9zZWQgb24KCSAgYSBwYWQgbmFtZWQgdmlkZW9fJWQuIFhTVUIgYXJlIHN1YnRpdGxlcyBhbmQgdGhpcyBwYXRjaCBhZGRzCgkgIGFuIHNwZWNpYWwgY2FzZSBmb3IgaXQgdG8gYmUgZXhwb3NlZCBpbiBhIHN1YnBpY3R1cmVfJWQgcGFkCgoyMDE0LTAzLTAzIDE2OjM4OjQ1IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0cy5zYW50b3NAc2lzYS5zYW1zdW5nLmNvbT4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgYXZpZGVtdXg6IGRvIG5vdCB0cnkgdG8gYWRkIGEgdGFnIHdpdGggdGFnX25hbWUgc2V0IHRvIE5VTEwKCSAgVGhpcyBjYW4gaGFwcGVuIGlmIHRoZXJlIGFyZSBzdWJ0aXRsZXMgaW4gdGhlIHN0cmVhbSwgbGVhZGluZyB0bwoJICBhbiBhc3NlcnRpb24KCjIwMTQtMDMtMDQgMTY6NDA6MzQgKzAxMDAgIFdpbSBUYXltYW5zIDx3dGF5bWFuc0ByZWRoYXQuY29tPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmg6CgkgIHJ0c3BzcmM6IEFkZCBzdXBwb3J0IGZvciBtdWx0aXBsZSBwYXlsb2FkIHR5cGVzCgkgIEEgbWVkaWEgc3RyZWFtIGNhbiBoYXZlIG11bHRpcGxlIHBheWxvYWQgdHlwZXMuIFBhcnNlIGFsbCB0aGUgcGF5bG9hZAoJICB0eXBlcyBhbmQgY29sbGVjdCB0aGUgY2FwcyBpbmZvcm1hdGlvbi4gV2UgdGhlbiBoYXZlIHRvIHN0b3JlIHRoZQoJICBwdDwtPmNhcHMgbWFwcGluZyBpbnN0ZWFkIG9mIDEgcHQgYW5kIDEgY2Fwcy4KCSAgUGFyc2UgdGhlIHByb2ZpbGUgZnJvbSB0aGUgU0RQIGFuZCB1c2UgdGhhdCB0byBuZWdvdGlhdGUgdGhlIHRyYW5zcG9ydAoJICBpbnN0ZWFkIG9mIGFsd2F5cyB1c2luZyBBVlAuCgkgIFJld29yayBob3cgd2UgZG8gc29tZSB0d2Vha3MgZm9yIEFTRiBhbmQgUmVhbG1lZGlhLgoKMjAxNC0wMy0wNCAxMTozNDozOSArMDEwMCAgV2ltIFRheW1hbnMgPHd0YXltYW5zQHJlZGhhdC5jb20+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IHJlZmFjdG9yIHBheWxvYWQgaGFuZGxpbmcKCjIwMTQtMDMtMDMgMTE6MzQ6MDAgKzAxMDAgIFdpbSBUYXltYW5zIDx3dGF5bWFuc0ByZWRoYXQuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwaml0dGVyYnVmZmVyLmM6CgkgIGppdHRlcmJ1ZmZlcjogZml4IGJ1ZmZlciBsZXZlbCB3aXRoIGludmFsaWQgRFRTCgkgIEl0IGlzIHBvc3NpYmxlIHRoYXQgdGhlIERUUyBpcyBpbnZhbGlkICh3aGVuIHdlIHJlY2VpdmUgUlRQIHBhY2tldHMgZnJvbQoJICBUQ1AsIGZvciBleGFtcGxlKS4gQXMgYSBmYWxsYmFjaywgdXNlIHRoZSByZWNvbnN0cnVjdGVkIFBUUyB2YWx1ZSB0bwoJICBjYWxjdWxhdGUgdGhlIGJ1ZmZlciBsZXZlbC4KCjIwMTQtMDMtMDIgMDU6MTA6MTMgKzAxMDAgIFNlYmFzdGlhbiBSYXNtdXNzZW4gPHNlYnJhc0Bob3RtYWlsLmNvbT4KCgkqIC5naXRpZ25vcmU6CgkgIC5naXRpZ25vcmU6IElnbm9yZSBnY292IGludGVybWVkaWF0ZSBmaWxlcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI1NDgwCgoyMDE0LTAyLTI4IDA5OjM0OjQ2ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSBmZTE2NzJlIHRvIGJjYjE1MTgKCjIwMTQtMDItMjcgMjM6MTU6MDQgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRzLnNhbnRvc0BzaXNhLnNhbXN1bmcuY29tPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYWNwYXJzZS5jOgoJICBSZXZlcnQgImFhY3BhcnNlOiBwdXQgY29kZWMgZGF0YSBvbiBjYXBzIGZvciBsb2FzIGZvcm1hdCIKCSAgVGhpcyByZXZlcnRzIGNvbW1pdCBlNDU5Y2YzZTAxYTA4ZjFhM2VmMWZiOTU0YTQxY2ZhMzZiM2U1MTBjLgoJICBUaGlzIHdhcyBwdXNoZWQgYnkgYWNjaWRlbnQsIHRoZSBidWcgc2hvdWxkIGxpa2VseSBiZSBmaXhlZCBpbgoJICBsaWJhdiBodHRwczovL2J1Z3ppbGxhLmxpYmF2Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjQ0CgoyMDE0LTAyLTI3IDE4OjU1OjA0IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0cy5zYW50b3NAc2lzYS5zYW1zdW5nLmNvbT4KCgkqIGV4dC9qcGVnL2dzdGpwZWdkZWMuYzoKCSAganBlZ2RlYzogbWFyayBhbGwgcGFyc2VkIGZyYW1lcyBhcyBzeW5jIHBvaW50cwoJICBhbGwganBlZyBmcmFtZXMgYXJlIHN5bmMgcG9pbnRzLCBzbyBtYXJrIHRoZW0gYXMgc3VjaCBzbwoJICByZXZlcnNlIHBsYXliYWNrIGNhbiBwcm9wZXJseSB3b3JrIHdpdGggdGhlIHZpZGVvIGRlY29kZXIKCSAgYmFzZSBjbGFzcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI1MTA0CgoyMDE0LTAyLTI1IDAxOjEyOjA1IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0cy5zYW50b3NAc2lzYS5zYW1zdW5nLmNvbT4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWFjcGFyc2UuYzoKCSAgYWFjcGFyc2U6IHB1dCBjb2RlYyBkYXRhIG9uIGNhcHMgZm9yIGxvYXMgZm9ybWF0CgkgIGdzdC1saWJhdiBhdWRpbyBkZWNvZGVyIGFsc28gbmVlZHMgY29kZWMgZGF0YSBmb3IgTE9BUyBmb3JtYXQsIG90aGVyd2lzZQoJICBpdCB3aWxsIGNvbXBsYWluIGFib3V0IG5vdCBoYXZpbmcgYSBkZWNvZGVyIGNvbmZpZyBhbmQgc2tpcCBhbGwgcGFja2V0cwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTk2NzcyCgoyMDE0LTAyLTI3IDAwOjQzOjQ4ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thZGVtdXg6IGFsaWduIHJhdyBhdWRpbyBtZW1vcnkgdG8gcG93ZXJzIG9mIHR3bwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI1MDA4CgoyMDE0LTAyLTI3IDAwOjM3OjIwICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thZGVtdXg6IGNhbGN1bGF0ZSBhbGlnbm1lbnQgcHJvcGVybHkgZm9yIGF1ZGlvIGRlcHRocyBub3QgYSBtdWx0aXBsZSBvZiA4CgoyMDE0LTAyLTIzIDE5OjA5OjI0ICswMTAwICBNYXRlaiBLbm9wcCA8bWF0ZWoua25vcHBAZ21haWwuY29tPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thZGVtdXg6IGZpeCBjcmFzaCB3aXRoIDI0LWJpdCByYXcgYXVkaW8KCSAgRG8gbm90IHRyeSB0byBhbGlnbiBhdWRpbyBidWZmZXJzIHRvIG9kZCBudW1iZXJzLAoJICB3aGljaCB3aWxsIGdldCB1cyBhIE5VTEwgYnVmZmVyIHdoaWNoIHdlIHRoZW4KCSAgY3Jhc2ggb24uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjUwMDgKCjIwMTQtMDItMjcgMDA6MTE6NDIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9NYWtlZmlsZS5hbToKCSAgcnRwbWFuYWdlcjogcmUtZW5hYmxlIC1XZXJyb3IKCjIwMTQtMDItMjcgMDA6MTE6MTEgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgcnRwaml0dGVyYnVmZmVyOiBmaXggY29tcGlsZXIgd2FybmluZwoJICBnc3RydHBqaXR0ZXJidWZmZXIuYzogSW4gZnVuY3Rpb24gJ2dzdF9ydHBfaml0dGVyX2J1ZmZlcl9sb29wJzoKCSAgZ3N0cnRwaml0dGVyYnVmZmVyLmM6Mjk3ODozOiBlcnJvcjogJ3Jlc3VsdCcgbWF5IGJlIHVzZWQgdW5pbml0aWFsaXplZCBpbiB0aGlzIGZ1bmN0aW9uCgkgIHdoaWxlIChyZXN1bHQgPT0gR1NUX0ZMT1dfT0spOwoJICBeCgoyMDE0LTAyLTI2IDIyOjExOjQxICswMTAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSAxYTA3ZGE5IHRvIGZlMTY3MmUKCjIwMTQtMDItMjYgMjE6MTE6MjMgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgcnRwaml0dGVyYnVmZmVyOiBGaXggdW5pbml0aWFsaXplZCB2YXJpYWJsZSBjb21waWxlciB3YXJuaW5nCgoyMDE0LTAyLTI2IDA3OjMyOjMyIC0wNTAwICBKYWtlIEZveXRpayA8amFrZS5mb3l0aWtAaXBjb25maWd1cmUuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIHJ0cGppdHRlcmJ1ZmZlcjogUmVtb3ZlIHJhdyBjb21wYXJpc29ucyBvZiBSVFAgc2VxdWVuY2UgbnVtYmVycwoJICBTZXZlcmFsIGNvbmRpdGlvbmFsIHN0YXRlbWVudHMgcGVyZm9ybSBjb21wYXJpc29uIG9uIFJUUCBzZXF1ZW5jZQoJICBudW1iZXJzIHdpdGhvdXQgdGFraW5nIHRoZSBzZXF1ZW5jZSBudW1iZXIgcm9sbG92ZXIgaW50byBhY2NvdW50LgoJICBJbnN0ZWFkLCB1c2UgdGhlIGdzdF9ydHBfYnVmZmVyX2NvbXBhcmVfc2VxbnVtIGZ1bmN0aW9uIHRvIHBlcmZvcm0gdGhlCgkgIGNvbXBhcmlzb24uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjUxNTkKCjIwMTQtMDItMDMgMDE6NDQ6MjEgKzAxMDAgIFNlYmFzdGlhbiBSYXNtdXNzZW4gPHNlYnJhc0Bob3RtYWlsLmNvbT4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICB0ZXN0czogRG9uJ3QgYnVpbGQgZGlzYWJsZWQgcGx1Z2lucycgY2hlY2sgdGVzdHMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyMzUwMgoKMjAxNC0wMi0yNiAxMToyOTo0NSArMDEwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGRvY3MvTWFrZWZpbGUuYW06CgkgIGRvY3M6IGluc3RhbGwgcHJlYnVpbHQgcGx1Z2luIGRvY3MgaWYgZ3RrLWRvYyBpcyBkaXNhYmxlZAoJICBTeW5jIHRvIHRoZSBNYWtlZmlsZS5hbSBmcm9tIGdzdC1wbHVnaW4tYmFzZSB3aGVyZSBpdCBpcyBkb25lIHJpZ2h0LgoJICBGaXhlcyAjNzI1MDM0CgoyMDE0LTAyLTI1IDE2OjEwOjU0IC0wNTAwICBIdWd1ZXMgRnJ1Y2hldCA8aHVndWVzLmZydWNoZXRAc3QuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICB2NGwyb2JqZWN0OiBkbyBub3QgZW1pdCAicGFyc2VkIiBjYXBzIGZvciB2cDgKCSAgVlA4IGRvZXNuJ3QgcmVxdWlyZSBwYXJzaW5nICh2cDhwYXJzZSBkb2Vzbid0IGV4aXN0LCBzbyBuZWdvdGlhdGlvbiB3aXRoIGRlbXV4IGZhaWxzCgkgIGlmICJwYXJzZWQiIGlzIHNldCBpbiBjYXBzKS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyNDYzNgoKMjAxNC0wMi0xMSAxNjoyNzowOCAtMDUwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICB2NGwyOiBEb24ndCByZXF1aXJlIHBhcnNlciBmb3IgVlA4CgkgIFVudGlsIEdTdHJlYW1lciBoYXMgb25lIChzZWUgYnVnNzIyNzYwKSwgd2Ugc2hvdWxkIG5vdCByZXF1aXJlIGEgcGFyc2VyIGZvciBWUDguCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjIxMjgKCjIwMTQtMDItMTAgMTc6MDg6MjUgLTA1MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL3Y0bDJfY2FsbHMuYzoKCSAgdjRsMjogQ0FQVFVSRV9NUExBTkUgaXMgd2VsbCB0ZXN0ZWQgbm93CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjIxMjgKCjIwMTMtMTItMTggMDk6NTY6MzUgKzAxMDAgIEJlbmphbWluIEdhaWduYXJkIDxiZW5qYW1pbi5nYWlnbmFyZEBsaW5hcm8ub3JnPgoKCSogc3lzL3Y0bDIvZ3N0djRsMi5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuaDoKCSogc3lzL3Y0bDIvZ3N0djRsMnZpZGVvZGVjLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJ2aWRlb2RlYy5oOgoJICB2NGwydmlkZW9kZWM6IENyZWF0ZSBvbmUgZWxlbWVudCBwZXIgZGV2aWNlCgkgIEZvciBlYWNoIHZpZGVvQ2RldmljZSBwcm9iZSBpdCBpbnB1dC9vdXRwdXQgY2FwYWJpbGl0aWVzCgkgIGlmIGl0IG1hdGNoIHdpdGggdmlkZW8gZGVjb2RlciByZXF1aXJlbWVudCByZWdpc3RlciBhIG5ldyBlbGVtZW50LgoJICBTaWduZWQtb2ZmLWJ5OiBCZW5qYW1pbiBHYWlnbmFyZCA8YmVuamFtaW4uZ2FpZ25hcmRAbGluYXJvLm9yZz4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyMjEyOAoKMjAxMy0xMi0xOSAxNToyNjo1MiAtMDUwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0Lmg6CgkqIHN5cy92NGwyL2dzdHY0bDJ2aWRlb2RlYy5jOgoJICB2NGwydmlkZW9kZWM6IENhbGN1bGF0ZSBsYXRlbmN5IGZyb20gZGV2aWNlIGluZm9ybWF0aW9uCgkgIERlY29kZXJzIG9yIG90aGVyIGRldmljZXMgdGhhdCBleHBvc2UgYSBtaW5pbXVtIGJ1ZmZlcnMgcmVxdWlyZWQgcHJvZHVjZQoJICBhbiBmaXJzdCBvdXRwdXQuIFdlIHVzZSB0aGlzIGluZm9ybWF0aW9uIHRvIGNhbGN1bGF0ZSBsYXRlbmN5LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzIyMTI4CgoyMDEzLTExLTI4IDE3OjE0OjE4IC0wNTAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9NYWtlZmlsZS5hbToKCSogc3lzL3Y0bDIvZ3N0djRsMi5jOgoJKiBzeXMvdjRsMi9nc3R2NGwydmlkZW9kZWMuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnZpZGVvZGVjLmg6CgkqIHN5cy92NGwyL3Y0bDJfY2FsbHMuYzoKCSAgdjRsMnZpZGVvZGVjOiBJbXBsZW1lbnQgdjRsMnZpZGVvZGVjCgkgIEltcGxlbWVudCBhbiBlbGVtZW50IHRoYXQgY2FuIGRyaXZlciBWNEwyIE0yTSBkZWNvZGVyIGRldmljZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyMjEyOAoKMjAxNC0wMi0xMSAxMjo0MToyOSArMDEwMCAgR8O2cmFuIErDtm5zc29uIDxnb3JhbmpuQGF4aXMuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBoMjY0cGF5LmM6CgkgIHJ0cGgyNjRwYXk6IG9ubHkgdXBkYXRlIGxhc3Rfc3BzcHBzIHRpbWUgaWYgYWxsIHNwcy9wcHMgZ290IHNlbnQgc3VjY2Vzc2Z1bGx5CgkgIFRoaXMgZml4ZXMgYW4gaXNzdWUgd2l0aCBnc3QtcnRzcC1zZXJ2ZXIgd2hlcmUgbm8gc3BzIGFuZCBwcHMgYXJlCgkgIHNlbnQgZm9yIHRoZSBmaXJzdCBpbnRyYSBmcmFtZSwgYmVjYXVzZSB0aGUgcGF5bG9hZGVyIHN0YXJ0cyB3b3JraW5nCgkgIGFscmVhZHkgd2hlbiByZWNlaXZpbmcgREVTQ1JJQkUgYnV0IHRoZXJlIGlzIG5vIHRyYW5zcG9ydHMgc28gaXQgdHJpZXMKCSAgdG8gc2VuZCBzcHMgYW5kIHBwcywgYnV0IHRoYXQgZmFpbHMgd2l0aCBhIEZMVVNISU5HIGZsb3cuIEJ1dCB0aGUgdGltZQoJICBmb3IgbGFzdCBzZW50IHNwcyBhbmQgcHBzIHdvdWxkIHN0aWxsIGJlIHNldCwgc28gd2hlbiBQTEFZIGFycml2ZXMgYW5kCgkgIHRoZSBmaXJzdCBpbnRyYSBmcmFtZSBpcyB0byBiZSBzZW50IHRoZXJlIGlzIG5vIHNwcyBhbmQgcHBzIHNlbnQgZHVlIHRvCgkgIHRoYXQgdGltZSBzaW5jZSBsYXN0IHNwcyBwcHMgaXMgbGVzcyB0aGFuIHNwc3Bwc19pbnRlcnZhbC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyNDIxMwoKMjAxNC0wMi0yNSAwOTowMDo0NSArMDEwMCAgU2FudGlhZ28gQ2Fyb3QtTmVtZXNpbyA8c2FuY2FuZUBnbWFpbC5jb20+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IEZpeCBkZWFkbG9jayB3aGVuIHRhc2sgY3JlYXRpb24gaXMgbm8gc3VjY2Vzc2Z1bAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI1MTI0CgoyMDE0LTAyLTIyIDIwOjE5OjQ5ICswMTAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b2RldGVjdC5jOgoJICBhdXRvZGV0ZWN0OiBkZW1vdGUgY2FuZGlkYXRlIGVycm9yIHRvIHdhcm5pbmcgYW5kIHBsdWcgZmFrZXtzaW5rLHNyY30KCSAgSW4gdGhlIGNhc2Ugd2hlcmUgd2UgaGF2ZSBubyBzdWl0YWJsZSBjYW5kaWRhdGUgd2UgcG9zdCBhIHdhcm5pbmcgYW5kIHBsdWcgYQoJICBmYWtlLWVsZW1lbnQuIERvIHRoZSBzYW1lIHdoZW4gbm9uIG9mIHRoZSBjYW5kaWRhdGUgd29yay4KCSAgVGhpcyBpcyBtb3JlIGNvbnNpc3RlbnQgYW5kIHBsdWdpbiB0aGUgZmFrZXNpbmsgYXMgYSBmYWxsYmFjayBpcyBwcm9iYWJseQoJICBoZWxwZnVsIGZvciBydW5uaW5nIHVuaXQgdGVzdHMgd2l0aG91dCByZXF1aXJpbmcgaGFyZHdhcmUgc3JjL3NpbmsgZWxlbWVudHMuCgkgIEZpeGVzICM3MjI5ODEKCjIwMTQtMDItMjMgMTI6MzQ6NDggKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvdjRsMl9jYWxscy5jOgoJICB2NGwyOiBtYWtlIHNvbWUgbW9yZSBjb250cm9scyBjb25maWd1cmFibGUKCSAgLi4uIGF0IGxlYXN0IGlmIG9uZSB0cmllcyBoYXJkIGVub3VnaCB1c2luZyBleHRyYS1jb250cm9scyBwcm9wZXJ0eS4KCjIwMTQtMDItMjMgMTA6Mzk6MjAgKzAxMDAgIERhbiBLZWdlbCA8ZGFua0BrZWdlbC5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkgIHY0bDI6IFJlcXVpcmUgbXBsYW5hciBzdXBwb3J0IGZvciBub3cgaW4gY29uZmlndXJlCgkgIFRoZSBjb2RlIGZhaWxzIHRvIGNvbXBpbGUgd2l0aG91dCBjdXJyZW50bHksIHNlZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzIzNDQ2CgkgIEl0J3MgYmV0dGVyIHRvIGRpc2FibGUgaXQgaW5zdGVhZCBvZiBmYWlsaW5nIGNvbXBpbGF0aW9uCgkgIHVudGlsIHRoaXMgaXMgZml4ZWQgcHJvcGVybHkuCgoyMDE0LTAyLTIzIDAwOjE0OjA0ICswMTAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L2phY2svZ3N0amFja2F1ZGlvY2xpZW50LmM6CgkgIGphY2s6IGFkZCBzb21lIHNpbXBsZSBsb2cgaGFuZGxlcnMgZm9yIGphY2sKCSAgQWRkIGxvZyBoYW5kbGVycyBmb3IgamFjayB0aGF0IHdyaXRlIHRvIHRoZSBnc3QgZGVidWcgbG9nLiBUaGlzIGF2b2lkcyBzcGFtbWluZwoJICB0aGUgY29uc29sZSB3aGVuIGUuZy4gdXNpbmcgYXV0b2F1ZGlvc2luaywgaGF2aW5nIHRoZSBqYWNrIGVsZW1lbnRzIGluc3RhbGxlZCwKCSAgYnV0IG5vdCBydW5uaW5nIGphY2suCgoyMDE0LTAyLTIyIDIxOjMxOjIxICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtbmF1d0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJKiBzeXMvdjRsMi92NGwyX2NhbGxzLmM6CgkgIHY0bDJzcmM6IGhhbmRsZSBvbGQgYW5kIG9kZCBkcml2ZXIgYmVoYXZpb3VyIHdoZW4gbGlzdGluZyBjb250cm9scwoKMjAxMy0xMS0yOCAxNjo1NDo1OCAtMDgwMCAgRGFycnlsIEdhbXJvdGggPGRnYW1yb3RoQHV2aWMuY2E+CgoJKiBnc3QvYXVkaW9meC9hdWRpb2Z4YmFzZWlpcmZpbHRlci5jOgoJICBhdWRpb2Z4YmFzZWlpcmZpbHRlcjogY2hlY2sgaWYgY29lZmZpY2llbnRzIGFyZSBwcm92aWRlZCBpbnNpZGUgZmlsdGVyIGxvY2sKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcxOTUyNAoKMjAxNC0wMi0yMSAxOTo0Njo0NCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkgIHY0bDJzcmM6IGFsc28gdW5zZXQgSU5URVJMQUNFRCBmbGFnIG9uIGJ1ZmZlcnMgaWYgZnJhbWUgaXMgbm90IGludGVybGFjZWQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyNDg5OQoKMjAxNC0wMi0yMSAxNDozMTo1OSArMDAwMCAgU2ltb24gRmFybnN3b3J0aCA8c2ltb24uZmFybnN3b3J0aEBvbmVsYW4uY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJICB2NGwyc3JjOiBGbGFnIGludGVybGFjZWQgYnVmZmVycyBhcyBpbnRlcmxhY2VkLgoJICBXZSBjb3JyZWN0bHkgaW5kaWNhdGUgdGhlIGZpZWxkIG9yZGVyaW5nIG9uIGludGVybGFjZWQgYnVmZmVycywgYnV0IGZhaWwgdG8KCSAgZmxhZyB0aGVtIGFzIGNvbnRhaW5pbmcgaW50ZXJsYWNlZCB2aWRlbywgd2hpY2ggd2UgbmVlZCB0byBkbyBoZXJlIGJlY2F1c2UKCSAgd2Ugc2lnbmFsIGludGVybGFjZS1tb2RlPW1peGVkIGluIG91ciBjYXBzLiBUaGlzIG1lYW5zIHRoYXQgZG93bnN0cmVhbQoJICBlbGVtZW50cyAobGlrZSB2YWFwaXBvc3Rwcm9jIGZyb20gZ3N0cmVhbWVyLXZhYXBpKSBkb24ndCByZWNvZ25pc2UgdGhlc2UKCSAgYnVmZmVycyBhcyBpbiBuZWVkIG9mIGRlaW50ZXJsYWNpbmcuCgkgIEZpeCB0aGlzIGJ5IHNldHRpbmcgdGhlIGludGVybGFjZWQgZmxhZyBvbiBhbGwgaW50ZXJsYWNlZCBidWZmZXJzLgoJICBTaWduZWQtb2ZmLWJ5OiBTaW1vbiBGYXJuc3dvcnRoIDxzaW1vbi5mYXJuc3dvcnRoQG9uZWxhbi5jby51az4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyNDg5OQoKMjAxNC0wMi0xOSAxMzo1NjozNyAtMDMwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8ci52ZXJkZWpvQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFhY3BhcnNlLmM6CgkgIGFhY3BhcnNlOiBiZSBtb3JlIHN0cmljdCBhdCBBRFRTIGhlYWRlciBwYXJzaW5nCgkgIEFkZHMgdHdvIGV4dHJhIGNoZWNrczoKCSAgLSBTYW1wbGluZyBmcmVxdWVuY3kgb24gaGVhZGVyIGNhbid0IGJlIDE1LgoJICAtIEZyYW1lIHNpemUgc2hvdWxkIGJlIGF0IGxlYXN0IDkgb3IgNywgZGVwZW5kaW5nCgkgIG9uIHdoZXRoZXIgQ1JDIHByb3RlY3Rpb24gaXMgcHJlc2VudC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyNDYzOAoKMjAxNC0wMi0xOSAxMzozNTo1OSAtMDMwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8ci52ZXJkZWpvQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFhY3BhcnNlLmM6CgkgIGFhY3BhcnNlOiBtYWtlIHN1cmUgd2UgaGF2ZSBlbm91Z2ggQURUUyBkYXRhCgkgIFdlIG5lZWQgYXQgbGVhc3QgNiBieXRlcyB0byBwYXNzIG92ZXIgdG8gX2dldF9mcmFtZV9sZW4oKQoJICBidXQgd2Ugd2VyZSBqdXN0IGNoZWNraW5nIGZvciBhIG1pbmltdW0gb2YgMiBieXRlcyBmb3IgdGhlCgkgIHN5bmN3b3JkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI0NjM4CgoyMDE0LTAyLTIwIDIyOjUyOjU3ICswMTAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b2RldGVjdC5jOgoJKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvZGV0ZWN0Lmg6CgkgIGF1dG9kZXRlY3Q6IGNoZWNrIGlmIHRoZSBraWQgaGFzIGEgc3luYyBwcm9wZXJ0eQoJICBwcmV2aW91c2x5IGF1dG92aWRlb3NyYyBkaWQgbm90IGhhdmUgYSBzeW5jIHByb3BlcnR5IGFuZCB2NGwyc3JjIGhhcyBub25lIGVpdGhlci4KCjIwMTQtMDItMTkgMjE6NTU6NTIgKzAxMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvYXVkaW9zaW5rLmM6CgkqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG9hdWRpb3NpbmsuaDoKCSogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b2F1ZGlvc3JjLmM6CgkqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG9hdWRpb3NyYy5oOgoJKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvZGV0ZWN0LmM6CgkqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG9kZXRlY3QuaDoKCSogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b3ZpZGVvc2luay5jOgoJKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvdmlkZW9zaW5rLmg6CgkqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG92aWRlb3NyYy5jOgoJKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvdmlkZW9zcmMuaDoKCSAgYXV0b2RldGVjdDogdXNlIGEgY29tbW9uIGJhc2VjbGFzcwoJICBUaGlzIG1ha2VzIHRoZSBhY3R1YWwgZWxlbWVudHMgc3VwZXIgc2ltcGxlLiBXZSdyZSB1c2luZyB0aGUgRUxFTUVOVF9GTEFHIHRvCgkgIGNvbmZpZ3VyZSBzb3VyY2Uvc2luayBhbmQgYSBzdHJpbmcgZm9yIHRoZSBBdWRpby9WaWRlbyB0eXBlLgoKMjAxNC0wMi0xNCAxNzoxNDo0MiAtMDgwMCAgQWxlaXggQ29uY2hpbGxvIEZsYXF1w6kgPGFsZWl4QG9ibG9uZy5jb20+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuaDoKCSAgcnRzcHNyYzogYWRkIHRscy1kYXRhYmFzZSBwcm9wZXJ0eQoJICBBZGQgc3VwcG9ydCBmb3IgYSBuZXcgcHJvcGVydHk6IHRscy1kYXRhYmFzZS4gSWYgdGhlIHByb3BlcnR5IGlzIHNldCwKCSAgdGhlIGNlcnRpZmljYXRlIGRhdGFiYXNlIHdpbGwgYmUgZ2l2ZW4gdG8gdGhlIHJ0c3AgY29ubmVjdGlvbiBpZiBUTFMKCSAgcHJvdG9jb2wgaXMgYmVpbmcgdXNlZC4gSWYgdGhlIHNlcnZlciBjZXJ0aWZpY2F0ZSBjYW4ndCBiZSB2ZXJpZmllZCB3aXRoCgkgIHRoZSBkZWZhdWx0IGRhdGFiYXNlLCB0aGlzIGFkZGl0aW9uYWwgZGF0YWJhc2Ugd2lsbCBiZSB1c2VkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI0Mzk2CgoyMDE0LTAyLTE5IDIyOjIxOjU0ICswMTAwICBUaGlqcyBWZXJtZWlyIDx0aGlqc3Zlcm1laXJAZ21haWwuY29tPgoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGF1ZGlvcmluZ2J1ZmZlci5jOgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4YXVkaW9zaW5rLmM6CgkgIG9zeGF1ZGlvOiByZW1vdmUgdW51c2VkIHZhcmlhYmxlcwoKMjAxNC0wMi0xOSAyMToyNjowMyArMDEwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG9hdWRpb3NpbmsuYzoKCSogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b2F1ZGlvc3JjLmM6CgkqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG9kZXRlY3QuYzoKCSogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b2RldGVjdC5oOgoJKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvdmlkZW9zaW5rLmM6CgkqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG92aWRlb3NyYy5jOgoJICBhdXRvZGV0ZWN0OiBleHRyYWN0IGNvbW1vbiBoZWxwZXIgY29kZQoJICBUaGUgZnVuY3Rpb24gdG8gZ2VuZXJhdGUgdGhlIHByZXR0eSBuYW1lcyBpcyBiYXNpY2FsbHkgdGhlIHNhbWUuIFVzZSBvbmUgYW5kIGFkZAoJICBhIHBhcmFtZXRlci4KCjIwMTQtMDItMTkgMjE6MDE6MzkgKzAxMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXV0b2RldGVjdC5jOgoJICBhdXRvZGV0ZWN0OiBpbXByb3ZlIHRoZSB0ZXN0cwoJICBBZGQgZmFrZSBhdWRpby92aWRlbyBzaW5rcy4gUHJldmlvdXNseSBydW5uaW5nIHRoZSB0ZXN0IG1pZ2h0IGJlIGZsYWt5IGR1ZSB0bwoJICB0aGUgdXNlIG9mIHJlYWwgZWxlbWVudHMgKGhhcmR3YXJlIGluIHVzZSksIHdoaWNoIHdlIGRvbid0IHdhbnQgdG8gdGVzdCBoZXJlLgoJICBBZGQgdHdvIG1vcmUgdGVzdHMgdGhhdCBjaGVjayB0aGF0IHRoZSBmYWtlcyBhcmUgY2hvc2VuLgoKMjAxNC0wMi0xOSAxNToxOTozMCArMDEwMCAgQnJhbmlzbGF2IEthdHJlbmlhayA8YmthdHJlbmlha0BudXZvdGVjaG5vbG9naWVzLmNvbT4KCgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6CgkgIHNvdXBodHRwc3JjOiBkbyBub3QgZW1pdCBlcnJvciB3aGVuIGNvbm5lY3Rpb24gd2l0aCB1bmtub3duIHNpemUgZW5kcwoJICBDb21taXQgNDZmZDEyYWU1ZWM1MzIwMGIxNmRmZDdmMTcwNDhkNmJjNjBmYmZiYyBpbnRyb2R1Y2VkIGNvbm5lY3Rpb24KCSAgcmVjb3ZlcnkuIEJ1dCB3aGVuIHNlcnZlciBkb2VzIG5vdCBzcGVjaWZ5IGNvbnRlbnQtc2l6ZSwKCSAgc291cGh0dHBzcmMgdHJpZXMgdG8gcmVjb25uZWN0IGV2ZW4gYWZ0ZXIgcmVndWxhciBlbmQgb2Ygc3RyZWFtLgoJICBIdHRwIHNlcnZlciByZXBsaWVzICB3aXRoIFNPVVBfU1RBVFVTX1JFUVVFU1RFRF9SQU5HRV9OT1RfU0FUSVNGSUFCTEUKCSAgYnV0IHNvdXBodHRwc3JjIHN0aWxsIGVtaXRzIGVycm9yIGluc3RlYWQgb2YgRU9TLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI0NzE3CgkgIFNpZ25lZC1vZmYtYnk6IEJyYW5pc2xhdiBLYXRyZW5pYWsgPGJrYXRyZW5pYWtAbnV2b3RlY2hub2xvZ2llcy5jb20+CgoyMDE0LTAyLTE5IDExOjI2OjIyICswMTAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXV0b2RldGVjdC5jOgoJICBhdXRvZGV0ZWN0OiBmaXggdGhlIGRpc2FibGVkIHRlc3QKCSAgVXNlIGEgc2hhcmVkIGhlbHBlciBmb3IgYm90aCB0ZXN0cy4gSXQgdHVybnMgb3V0IHRoYXQgdGhlIHZhbGdyaW5kIHZhcmlhbnQgaXMKCSAgZmluZSAobWF5YmUgZHVlIHRvIHBpY2tpbmcgdXAgcHVsc2VzaW5rIHRob3VnaCkuCgoyMDE0LTAyLTE5IDExOjA1OjM1ICswMTAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXV0b2RldGVjdC5jOgoJICBhdXRvZGV0ZWN0OiByZW1vdmUgY3J1ZnQgZnJvbSB0aGUgdGVzdAoJICBSZW1vdmUgdGhlIG9ic29sZXRlIHZlcnNpb24gY2hlY2sgYW5kIHVzZSB0aGUgaWdub3JlIG1hY3JvIGZvciB0aGUgZGlzYWJsZWQgdGVzdC4KCjIwMTQtMDItMTggMjI6NTQ6NDUgKzAxMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvYXVkaW9meC9hdWRpb2ZpcmZpbHRlci5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb2lpcmZpbHRlci5jOgoJKiBnc3QvbGV2ZWwvZ3N0bGV2ZWwuYzoKCSogZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmM6CgkgIGRvY3M6IHVzZSBkb2Nib29rIG1hcmt1cCBmb3IgeGk6aW5jbHVkZQoJICBJdCB0dXJucyBvdXQgdGhhdCB0aGUgY2hhbmdlIGluIGd0ay1kb2MtMS4yMCB3aGljaCB3cmFwcyB0aGUgfFtdfCBjb250ZW50IGluCgkgIENEQVRBIGJyZWFrIHhpOmlubGN1ZGUgZXhhbXBsZXMuIEFzIGluIGEgd2hvbGUgamhidWlsZCBjaGVja291dCB0aGVzZSB3aGVyZQoJICB0aGUgb25seSA0LCB3ZSdyZSBmaXhpbmcgdGhlbSBpbnN0ZWFkLgoKMjAxNC0wMi0xOCAyMjozNTo0NSArMDEwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9pc29tcDQvZ3N0cXRtdXgtZG9jLmg6CgkgIGlzb21wNG11eDogZml4IGNvcHkgYW5kIHBhc3RlCgkgIFRoaXMgZml4ZXMgZG9jIHdhcm5pbmdzLgoKMjAxNC0wMi0xOCAyMTo0NDoyNCArMDEwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdGNhcHNzZXR0ZXIuYzoKCSogZ3N0L2lzb21wNC9nc3RxdG11eC1kb2MuYzoKCSogZ3N0L2lzb21wNC9nc3RxdG11eC5jOgoJKiBnc3QvbGV2ZWwvZ3N0bGV2ZWwuYzoKCSogZ3N0L3JlcGxheWdhaW4vZ3N0cmdhbmFseXNpcy5jOgoJKiBnc3QvcmVwbGF5Z2Fpbi9nc3RyZ3ZvbHVtZS5jOgoJICBkb2NzOiB1c2UgdGhlIGd0ay1kb2Mgc3ludGF4IHRvIGxpbmsgdG8gcHJvcGVydGllcwoJICBEb24ndCB1c2UgZG9jYm9vayB1bmxlc3MgbmVlZGVkLiBBbHNvIHN0aXAgb3RoZXIgZG9jYm9vayB0YWdzIGluIHRoZSB0aGUgZmlsZXMgd2UgZml4LgoKMjAxNC0wMi0xOCAxMToyODoxOCArMDEwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSAgcHVsc2VzaW5rOiBmaXggY3Jhc2ggd2hlbiBnZXR0aW5nIHRoZSBjdXJyZW50LWRldmljZSBpbiBOVUxMLT5SRUFEWQoJICBUaGUgImdvdG8gdW5sb2NrIiBpcyB3cm9uZyBhcyBpbiB0aGlzIGNvZGUgcGF0aCB3ZSBoYXZlbid0IHRha2UgdGhlIGxvY2sgeWV0LgoJICBGaXhlcyAjNzI0NjE5CgoyMDE0LTAyLTE0IDIyOjUwOjQ5ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogY29uZmlndXJlLmFjOgoJICBzb3VwOiBXZSBuZWVkIGxpYnNvdXAgPj0gMi40MCBmb3IgcHJvcGVyIHVzYWdlIG9mIHRoZSBjb250ZW50IGRlY29kZXIKCSAgUHJldmlvdXMgdmVyc2lvbnMgZGlkIG5vdCBjb25zaWRlciBvdXIgY2h1bmsgYWxsb2NhdG9yIGFuZCBhbGxvY2F0ZWQKCSAgbWVtb3J5IGJ5IHRoZW1zZWx2ZXMsIHdoaWNoIGNhdXNlZCBjcmFzaGVzIGFuZCBicm9rZW4gYmVoYXZpb3VyLgoKMjAxNC0wMi0xNCAxNToyNzoyMCAtMDUwMCAgV2lsbGlhbSBKb24gTWNDYW5uIDx3aWxsaWFtLmpvbi5tY2Nhbm5AZ21haWwuY29tPgoKCSogZ3N0L2F1ZGlvZngvYXVkaW9jaGVibGltaXQuYzoKCSogZ3N0L3VkcC9nc3R1ZHBzcmMuYzoKCSAgZG9jczogZml4IG1pc21hdGNoZWQgcGFyYSB0YWdzCgkgIG5ld2VyIGd0a2RvYyBpcyBtb3JlIHNlbnNpdGl2ZSB0byBtaXNtYXRjaGVkIGRvY2Jvb2sgdGFncy4KCSAgVGhpcyBmaXhlcyB0aGUgYnVpbGQgaW4gbWFzdGVyLgoKMjAxNC0wMi0xNCAxNTo1OTo0NiArMDEwMCAgV2ltIFRheW1hbnMgPHd0YXltYW5zQHJlZGhhdC5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgcnRwaml0dGVyYnVmZmVyOiBhZGQgc3VwcG9ydCBmb3Igc2VyaWFsaXplZCBxdWVyaWVzCgkgIFNlZSBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzIzODUwCgoyMDE0LTAyLTE0IDE1OjUzOjU1ICswMTAwICBXaW0gVGF5bWFucyA8d3RheW1hbnNAcmVkaGF0LmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3NvdXBodHRwc3JjLmM6CgkgIHRlc3RzOiBmaXggdHlwZWNhc3QgdG8gZml4IGNvbXBpbGF0aW9uCgoyMDE0LTAyLTE0IDEyOjAxOjAwICswMTAwICBXaW0gVGF5bWFucyA8d3RheW1hbnNAcmVkaGF0LmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzoKCSAgcnRwc2Vzc2lvbjogcHJveHkgY2FwcyBhbmQgYWxsb2NhdGlvbiBvbiBSVFAgcGFkcwoJICByZWN2X3J0cF9zaW5rOiBhbGxvdyBwcm94eWluZyBvZiB0aGUgYWxsb2NhdGlvbiBxdWVyeS4KCSAgc2VuZF9ydHBfc2luazogYWxsb3cgcHJveHlpbmcgb2YgY2FwcyBhbmQgYWxsb2NhdGlvbi4gVGhpcyBhbGxvd3MgdXMgdG8KCSAgcXVlcnkgY2FwcyBkb3duc3RyZWFtIGFzIHdlbGwgYXMgZ2V0IGFuIGFsbG9jYXRvciBmcm9tIGRvd25zdHJlYW0uCgkgIHNlbmRfcnRwX3NyYzogYWxsb3cgcHJveHkgb2YgY2FwcywgdGhpcyBtYWtlcyB0aGUgY2FwcyBxdWVyeSBkbwoJICB1cHN0cmVhbS4KCSAgU2VlIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjM4NTAKCjIwMTQtMDItMTMgMTI6Mjk6MTMgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRzLnNhbnRvc0BzaXNhLnNhbXN1bmcuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IGhhbmRsZSB0YWdzIGluIG1hYyBlbmNvZGluZwoJICBDaGVjayB0aGUgY2hhcnNldCBmcm9tIChDKSoqKiB0YWdzIGFuZCBzZXQgdGhlIGNoYXJzZXQKCSAgdG8gY29udmVydCBmcm9tIE1BQyBlbmNvZGluZyBpZiBzdWl0YWJsZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyMzE2NgoKMjAxNC0wMi0xMyAxMjowOToxMyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6CgkgIHNvdXBodHRwc3JjOiBVc2UgbmV3IGF1dG9tYXRpY19lb3MgQVBJIGZyb20gYmFzZXNyYwoJICBXZSB3YW50IHRvIG5vdGljZSBvdXJzZWx2ZXMgdGhhdCB3ZSdyZSBFT1MuIE90aGVyd2lzZSB3ZSB3aWxsCgkgIGFsd2F5cyBjYW5jZWwgcmVxdWVzdHMgaW4gdGhlIHZlcnkgZW5kIGFuZCBjb25mdXNlIHRoZSBzZXJ2ZXIuLi4KCSAgYW5kIGFsc28gbWFrZSBpdCBpbXBvc3NpYmxlIHRvIHVzZSBwZXJzaXN0ZW50IGNvbm5lY3Rpb25zLgoKMjAxNC0wMi0xMyAxMToxMToxMyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6CgkgIHNvdXBodHRwc3JjOiBDb25zaXN0ZW50bHkgdXNlIGhhdmVfc2l6ZSBpbnN0ZWFkIG9mIGNvbnRlbnRfc2l6ZSE9MAoKMjAxNC0wMi0xMyAxMDozMDowOSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6CgkgIHNvdXBodHRwc3JjOiBGcmVlIGV4dHJhIGhlYWRlcnMgd2hlbiBmaW5hbGl6aW5nIHRoZSBlbGVtZW50CgkgIEl0J3Mgc2V0IGFzIHByb3BlcnR5IGJ5IHRoZSBhcHBsaWNhdGlvbiwgd2Ugc2hvdWxkIG5vdCBqdXN0IHJlc2V0CgkgIHByb3BlcnRpZXMgd2hlbiBnb2luZyBiYWNrIHRvIFJFQURZLgoKMjAxNC0wMi0xMyAxMDoyODoxMyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6CgkgIHNvdXBodHRwc3JjOiBQcm9wZXJseSBjbG9zZSB0aGUgc2Vzc2lvbiB3aGVuIGdvaW5nIGJhY2sgdG8gTlVMTAoJICBEb24ndCB3YWl0IGZvciB0aGF0IHVudGlsIHRoZSBlbGVtZW50IGlzIGRpc3Bvc2VkLgoKMjAxMy0wMi0yOCAxMjoyMDo1MiArMDEwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDx5bGF0dXlhQGdtYWlsLmNvbT4KCgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6CgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmg6CgkgIHNvdXBodHRwc3JjOiBhZGQgc3VwcG9ydCBmb3Iga2VlcC1hbGl2ZSBzZXNzaW9ucwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njk5OTI2CgoyMDE0LTAyLTEyIDEzOjAwOjEzICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuaDoKCSAgc291cGh0dHBzcmM6IEFkZCAiY29tcHJlc3MiIHByb3BlcnR5IHRvIGVuYWJsZS9kaXNhYmxlIGF1dG9tYXRpYyBnemlwL2RlZmxhdGUgY29udGVudCBlbmNvZGluZyBoYW5kbGluZwoKMjAxNC0wMi0xMiAxMjozOToxMCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6CgkgIHNvdXBodHRwc3JjOiBSZXRyeSBjb25uZWN0aW9uIGlmIHdlJ3JlIGZpbmlzaGVkIGJlZm9yZSB0aGUgY29udGVudCBzaXplIG9ubHkgaWYgd2UgYWN0dWFsbHkgaGF2ZSBhIGNvbnRlbnQgc2l6ZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzIyMTg1CgoyMDE0LTAyLTEyIDEwOjA4OjUwICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3NvdXAvZ3N0c291cHV0aWxzLmM6CgkgIHNvdXB1dGlsczogRml4IGNvbXBpbGVyIHdhcm5pbmcKCSAgZ3N0c291cHV0aWxzLmM6MzU6MjU6IGVycm9yOiBjb21wYXJpc29uIG9mIGNvbnN0YW50IDkgd2l0aCBleHByZXNzaW9uIG9mIHR5cGUKCSAgJ1NvdXBMb2dnZXJMb2dMZXZlbCcgaXMgYWx3YXlzIGZhbHNlCgkgIFstV2Vycm9yLC1XdGF1dG9sb2dpY2FsLWNvbnN0YW50LW91dC1vZi1yYW5nZS1jb21wYXJlXQoKMjAxNC0wMS0wNyAyMzowMDo1NiAtMDMwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8ci52ZXJkZWpvQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiBleHQvc291cC9NYWtlZmlsZS5hbToKCSogZXh0L3NvdXAvZ3N0c291cC5jOgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cGNsaWVudHNpbmsuYzoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBjbGllbnRzaW5rLmg6CgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6CgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmg6CgkqIGV4dC9zb3VwL2dzdHNvdXB1dGlscy5jOgoJKiBleHQvc291cC9nc3Rzb3VwdXRpbHMuaDoKCSAgc291cGh0dHAqOiBhZGQgYWJpbGl0eSB0byBkbyBIVFRQIHNlc3Npb24gbG9nZ2luZwoJICBUaGlzIGNoYW5nZXNldCBhZGRzIHRoZSBsb2dnaW4gaW5mcmFzdHJ1Y3R1cmUgYW5kCgkgIG1vZHMgYm90aCBzb3VwaHR0cHNyYyBhbmQgc291cGh0dGNsaWVudHNpbmsgdG8gdXNlIGl0LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzIxNzY0CgoyMDE0LTAyLTA3IDE0OjAwOjE1ICswMTAwICBkaXZoYWVyZSA8ZGlyay52YW5oYWVyZW5ib3JnaEB1Z2VudC5iZT4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkgIG1hdHJvc2thOiBhZGQgc3VwcG9ydCBmb3IgR1JBWTgsIEJHUiBhbmQgUkdCIHZpZGVvIGNvbG91cnNwYWNlcyBpbiBWX1VOQ09NUFJFU1NFRCBjb2RlYwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzIzODQ5CgoyMDE0LTAyLTExIDEzOjI1OjQ2ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzoKCSAgc291cGh0dHBzcmM6IEFkZCBtYXBwaW5nIGZvciBOT1RfRk9VTkQgYW5kIE5PVF9BVVRIT1JJWkVEIGVycm9ycwoKMjAxNC0wMi0xMSAxMzoyNToyMiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6CgkgIHNvdXBodHRwc3JjOiBEb24ndCBkdXBsaWNhdGUgc3RhdHVzX2NvZGUgdG8gR1N0cmVhbWVyIGVycm9yIG1hcHBpbmcKCjIwMTQtMDItMDkgMjM6Mzg6NDQgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvZ29vbS9maWx0ZXJzLmM6CgkqIGdzdC9nb29tMmsxL2ZpbHRlcnMuYzoKCSAgZ29vbTogUmVtb3ZlIHVudXNlZCBmdW5jdGlvbnMKCjIwMTQtMDItMDkgMjM6MjE6MjAgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcGFyc2UuYzoKCSAgbWF0cm9za2FwYXJzZTogQ29tbWVudCBvdXQgc29tZSB1bnVzZWQgZnVuY3Rpb25zIHVzZWQgb25seSBmcm9tIHRoZSBjb21tZW50ZWQgb3V0IHB1bGwtbW9kZSBjb2RlCgoyMDE0LTAyLTA4IDIxOjAxOjMyICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3RhZ2xpYi9nc3RpZDN2Mm11eC5jYzoKCSAgaWQzdjJtdXg6IEZpeCBhbm90aGVyIGNvbXBpbGVyIHdhcm5pbmcKCjIwMTQtMDItMDggMTc6NDM6MzIgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9zb3VwaHR0cHNyYy5jOgoJICBzb3VwaHR0cHNyYzogRml4IGltcGxpY2l0IGVudW0gY29udmVyc2lvbiBjb21waWxlciB3YXJuaW5nCgkgIGVycm9yOiBpbXBsaWNpdCBjb252ZXJzaW9uIGZyb20gZW51bWVyYXRpb24gdHlwZQoJICAnU291cFN0YXR1cycgdG8gZGlmZmVyZW50IGVudW1lcmF0aW9uIHR5cGUgJ1NvdXBLbm93blN0YXR1c0NvZGUnCgoyMDE0LTAyLTA4IDE3OjQxOjIxICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvaW50ZXJsZWF2ZS5jOgoJICBpbnRlcmxlYXZlOiBGaXggdW5pdGlhbGl6ZWQgdmFyaWFibGUgY29tcGlsZXIgd2FybmluZyBpbiB0ZXN0CgkgIGVycm9yOiB2YXJpYWJsZSAnbWFzaycgaXMgdXNlZCB1bmluaXRpYWxpemVkCgkgIHdoZW5ldmVyICdpZicgY29uZGl0aW9uIGlzIGZhbHNlIFstV2Vycm9yLC1Xc29tZXRpbWVzLXVuaW5pdGlhbGl6ZWRdCgoyMDE0LTAyLTA4IDE3OjI3OjUxICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3RhZ2xpYi9nc3RpZDN2Mm11eC5jYzoKCSAgaWQzdjJtdXg6IEZpeCB1bml0aWFsaXplZCB2YXJpYWJsZSBjb21waWxlciB3YXJuaW5nCgkgIGVycm9yOiB2YXJpYWJsZSAnaW1hZ2VfdHlwZScgaXMgdXNlZCB1bmluaXRpYWxpemVkCgkgIHdoZW5ldmVyICdpZicgY29uZGl0aW9uIGlzIGZhbHNlIFstV2Vycm9yLC1Xc29tZXRpbWVzLXVuaW5pdGlhbGl6ZWRdCgoyMDE0LTAyLTA4IDE3OjI1OjI3ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL29zczQvb3NzNC1hdWRpby5oOgoJICBvc3M0OiBGaXggdHlwbyBpbiBoZWFkZXIgaW5jbHVkZSBndWFyZAoJICBlcnJvcjogJ0dTVF9PU1M0X0FVRElPX0gnIGlzIHVzZWQgYXMgYSBoZWFkZXIgZ3VhcmQgaGVyZSwKCSAgZm9sbG93ZWQgYnkgI2RlZmluZSBvZiBhIGRpZmZlcmVudCBtYWNybyBbLVdlcnJvciwtV2hlYWRlci1ndWFyZF0KCjIwMTQtMDItMDggMTc6MjQ6MDYgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBydHhzZW5kLmM6CgkgIHJ0cHJ0eHNlbmQ6IEZpeCB1bml0aWFsaXplZCB2YXJpYWJsZSBjb21waWxlciB3YXJuaW5nCgkgIHZhcmlhYmxlICdydHhfc3NyYycgaXMgdXNlZCB1bmluaXRpYWxpemVkIHdoZW5ldmVyCgkgICdpZicgY29uZGl0aW9uIGlzIGZhbHNlIFstV2Vycm9yLC1Xc29tZXRpbWVzLXVuaW5pdGlhbGl6ZWRdCgoyMDE0LTAyLTA4IDE3OjIxOjE5ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBhYzNkZXBheS5jOgoJICBydHBhYzNkZXBheTogUmVtb3ZlIHVudXNlZCB2YXJpYWJsZQoKMjAxNC0wMi0wOCAxNzoxOToxOSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9mbHgvZmx4X2ZtdC5oOgoJICBmbHg6IEZpeCB0eXBvIGluIGhlYWRlciBpbmNsdWRlIGd1YXJkCgkgIGVycm9yOiAnX19HU1RfRkxYX0ZNVF9fSF9fJyBpcyB1c2VkIGFzIGEgaGVhZGVyIGd1YXJkIGhlcmUsCgkgIGZvbGxvd2VkIGJ5ICNkZWZpbmUgb2YgYSBkaWZmZXJlbnQgbWFjcm8gWy1XZXJyb3IsLVdoZWFkZXItZ3VhcmRdCgoyMDE0LTAyLTA3IDEwOjA3OjQxIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0cy5zYW50b3NAc2lzYS5zYW1zdW5nLmNvbT4KCgkqIGdzdC9pc29tcDQvZ3N0cXRtdXguYzoKCSogZ3N0L2lzb21wNC9nc3RxdG11eC5oOgoJICBxdG11eDogcmVtb3ZlIGhhdmVfZHRzIGZsYWcgZnJvbSBwYWRzCgkgIEl0IHdhcyB1c2VkIGluIHRoZSBwYXN0IGluIDAuMTAgd2hlbiB0aGVyZSB3YXMgbm8gZXhwbGljaXQgRFRTCgkgIGZpZWxkIGluIGJ1ZmZlcnMsIG5vdyB3ZSBoYXZlIGl0IGluIDEueCBzZXJpZXMgYW5kIHdlIGNhbgoJICBjaGVjayBpdCBkaXJlY3RseSB3aXRoIEdTVF9CVUZGRVJfRFRTX0lTX1ZBTElECgoyMDE0LTAyLTA3IDAxOjQ5OjI2IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0cy5zYW50b3NAc2lzYS5zYW1zdW5nLmNvbT4KCgkqIGdzdC9pc29tcDQvZ3N0cXRtdXguYzoKCSogZ3N0L2lzb21wNC9nc3RxdG11eC5oOgoJICBxdG11eDogaW1wcm92ZSBzdXBwb3J0IGZvciBzcGFyc2Ugc3RyZWFtcwoJICBEbyBub3QgdHJ5IHRvIHVzZSBzdWJzZXF1ZW50IGJ1ZmZlciB0aW1lc3RhbXBzIHRvIGNhbGN1bGF0ZQoJICBzcGFyc2Ugc3RyZWFtcyBkdXJhdGlvbnMgYmVjYXVzZSB0aGUgc3RyZWFtIGlzIHNwYXJzZSBhbmQKCSAgdGhlIGJ1ZmZlcnMgbWlnaHQgbm90IGJlICd0aW1lIGFkamFjZW50Jy4gU28gcmVseSBvbiB0aGUKCSAgZHVyYXRpb24gYW5kIGdpdmUgdGhlIG9wdGlvbiB0byB0aGUgcGFkIHRvIHByb3ZpZGUKCSAgY3VzdG9tICdlbXB0eScgYnVmZmVycyB0byByZXByZXNlbnQgdGhlIGdhcHMgaW4gdGhlCgkgIHN0cmVhbSwgdGhpcyBjYW4gdmFyeSBvbiBob3cgdGhlIGRhdGEgaXMgcmVwcmVzZW50ZWQuCgkgIFJpZ2h0IG5vdywgdGhlIG9ubHkgc3BhcnNlIHN0cmVhbSBzdXBwb3J0ZWQgaXMgdHgzZyBzdWJ0aXRsZXMuCgoyMDE0LTAyLTA2IDEyOjE1OjIyIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0cy5zYW50b3NAc2lzYS5zYW1zdW5nLmNvbT4KCgkqIGdzdC9pc29tcDQvZ3N0cXRtdXguYzoKCSogZ3N0L2lzb21wNC9nc3RxdG11eG1hcC5jOgoJICBxdG11eDogYWRkIHN1cHBvcnQgZm9yIHRleHQveC1yYXcgc3VidGl0bGVzCgkgIEFkZHMgaXQgdG8gbXA0bXV4LCBxdG11eCBhbmQgZ3BwbXV4LgoJICBCdWZmZXJzIG5lZWQgdG8gYmUgcHJlZml4ZWQgd2l0aCAyIGJ5dGVzIGZvciB0aGUgdGV4dCBsZW5ndGggYmVmb3JlCgkgIGJlaW5nIG11eGVkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTgxMjk1CgoyMDE0LTAyLTA2IDEyOjA5OjAxIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0cy5zYW50b3NAc2lzYS5zYW1zdW5nLmNvbT4KCgkqIGdzdC9pc29tcDQvYXRvbXMuYzoKCSogZ3N0L2lzb21wNC9hdG9tcy5oOgoJKiBnc3QvaXNvbXA0L2ZvdXJjYy5oOgoJICBxdG11eDogYWRkIHN1cHBvcnQgZm9yIHRoZSBUWDNHIGF0b21zCgkgIEFkZHMgZnVuY3Rpb25zIGZvciBjcmVhdGluZyBhbmQgc2V0dGluZyB2YWx1ZXMgcmVsYXRlZCB0byB0aGUKCSAgdHgzZyBhdG9tIGZvciByYXcgdGV4dCBzdWJ0aXRsZSBzdXBwb3J0LgoJICBRVEZGIHNwZWMgaGFzIGluZm9ybWF0aW9uIG9uIHRob3NlIGF0b21zCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD01ODEyOTUKCjIwMTQtMDItMDUgMTA6Mjc6NTQgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRzLnNhbnRvc0BzaXNhLnNhbXN1bmcuY29tPgoKCSogZ3N0L2lzb21wNC9nc3RxdG11eC5jOgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4Lmg6CgkqIGdzdC9pc29tcDQvZ3N0cXRtdXhtYXAuYzoKCSogZ3N0L2lzb21wNC9nc3RxdG11eG1hcC5oOgoJICBxdG11eDogYWRkIHN1YnRpdGxlIHN1cHBvcnQgdG8gcXRtdXhtYXAgc3RydWN0dXJlcwoJICBhZGRzIGJhc2ljIHN0dWJzIGZvciBzdWJ0aXRsZSBzdXBwb3J0IGFyb3VuZCB0aGUgcXRtdXggYW5kCgkgIHF0bXV4bWFwIHN0cnVjdHVyZXMuIFN0aWxsIG5vIHJlYWwgc3VidGl0bGUgaW1wbGVtZW50ZWQsIGJ1dAoJICBiYXNpYyBmdW5jdGlvbnMgaW4gcGxhY2UKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTU4MTI5NQoKMjAxNC0wMS0yMCAxNzozMToxNCAtMDMwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8ci52ZXJkZWpvQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWlkcy5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtaWRzLmg6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1wYXJzZS5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcmVhZC1jb21tb24uYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXJlYWQtY29tbW9uLmg6CgkgIG1hdHJvc2thOiBmYWN0b3Igb3V0IHJlYWQgY29udGV4dCBpbml0L3Jlc2V0CgkgIFdoaWxlIGF0IHRoaXMsIG1vdmUgX3RyYWNrX3Jlc2V0KCkgdG8gdHJhY2staWRzCgkgIHNvIGl0IGNhbiBiZSBjYWxsZWQgZnJvbSB0aGUgY29tbW9uIHJlYWQgY29udGV4dAoJICByZXNldCByb3V0aW5lLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzIyNzA1CgoyMDE0LTAyLTA2IDEyOjIxOjA3ICswMTAwICBXaW0gVGF5bWFucyA8d3RheW1hbnNAcmVkaGF0LmNvbT4KCgkqIGdzdC9lZmZlY3R2L2dzdHJldi5jOgoJICBlZmZlY3R2OiBmaXggZG9jIHNlY3Rpb24gb2YgcmV2dHYgZWxlbWVudAoKMjAxNC0wMi0wNSAxMjo0Njo1NCArMDEwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIHN5cy9vc3h2aWRlby9NYWtlZmlsZS5hbToKCSAgb3N4dmlkZW86IEZpeCBsaWJ0b29sIHVzYWdlCgkgIC0tdGFnPUNDIGlzIG5lZWRlZCBmb3Igc3RhdGljIGJ1aWxkCgoyMDE0LTAxLTE2IDExOjI2OjQxICswMDAwICBNYXR0aGlldSBCb3Vyb24gPG1hdHRoaWV1LmJvdXJvbkBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmM6CgkgIGRlaW50ZXJsYWNlOiBkbyBub3QgdHJ5IHNldCBkZWludGVybGFjZSBtZXRob2QgaWYgcGFzc3Rocm91Z2ggaXMgZW5hYmxlZAoJICBGaXhlcyBhbiBpc3N1ZSB3aXRoIHByb2dyZXNzaXZlIGNvbnRlbnQgYW5kIHVuc3VwcG9ydGVkIHZpZGVvIGZvcm1hdHMKCSAgZm9yIHRoZSBkZWludGVybGFjZSBtZXRob2QuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MTk2MzYKCjIwMTQtMDItMDQgMjE6MjY6NTYgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBleHQvZmxhYy9nc3RmbGFjZW5jLmM6CgkgIGZsYWNlbmM6IG9yZGVyIGZvcm1hdCBpbiB0ZW1wbGF0ZSBjYXBzIGJ5IHByZWZlcmVuY2UKCSAgVG8gbWluaW1pc2UgcmlzayBvZiBiYWQgZml4YXRpb24sIHRob3VnaCBhdWRpb2NvbnZlcnQKCSAgYXQgbGVhc3Qgc2hvdWxkIGJlIHNtYXJ0IGVub3VnaCB0byBhdm9pZCBpdC4KCjIwMTQtMDItMDIgMDk6NTc6MDMgLTA4MDAgIERhbiBLZWdlbCA8ZGFua0BrZWdlbC5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkgIHY0bDI6IFJlbW92ZSBvYnNvbGV0ZSBkZWZpbml0aW9uIEdTVF9WNEwyX01JU1NJTkdfQlVGREVDTAoJICBUaGUgb25seSB1c2Ugd2FzIHJlbW92ZWQgYnkgOWVkYzBjMDM2NWY3OWFiMDdmZjJlNjU0NjFjNjY5NmUzOTMxYTNmMAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzIzNDQ2CgoyMDE0LTAyLTA0IDEzOjQzOjU2ICswMTAwICBSYWZhxYIgTXXFvHnFgm8gPGdhbHRnZW5kb0BvMi5wbD4KCgkqIGV4dC9mbGFjL2dzdGZsYWNkZWMuYzoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2VuYy5jOgoJKiBnc3QvY3V0dGVyL2dzdGN1dHRlci5jOgoJICBnc3Q6IERvbid0IHVzZSBlbmRpYW5uZXNzLXNwZWNpZmljIFM4IGF1ZGlvIGZvcm1hdAoJICBJdCBkb2VzIG5vdCBleGlzdC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyMzMzMQoKMjAxNC0wMS0zMSAxNDoxNzo1NCArMDAwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvY2Fpcm8vZ3N0Y2Fpcm9vdmVybGF5LmM6CgkgIGNhaXJvb3ZlcmxheTogYWRkIHN1cHBvcnQgZm9yIFJHQjE2CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjMyODkKCjIwMTQtMDEtMzAgMDk6NDM6NTAgKzAxMDAgIFBlciB4IEpvaGFuc3NvbiA8cGVyeGpvaEBheGlzLmNvbT4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5oOgoJICBtYXRyb3NrYW11eDogRml4IGNvbnN0YW50bHkgZ3Jvd2luZyB1c2VkIHVpZCBsaXN0CgkgIE1vdmVzIHRoZSB1c2VkIHVpZCBsaXN0IHRvIHRoZSBjbGFzcyB0byBhdm9pZCBoYXZpbmcgaXQgZ3JvdyBmb3JldmVyLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzIzMjY5CgoyMDE0LTAxLTMwIDEwOjQ0OjA1ICswMTAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSBkNDhiZWQzIHRvIDFhMDdkYTkKCjIwMTQtMDEtMjQgMDE6NTI6MDggKzAwMDAgIE1pa2UgU2hlbGRvbiA8ZWxsZW9AZ251Lm9yZz4KCgkqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOgoJICB3YXZwYXJzZTogSWdub3JlIEJyb2FkY2FzdCBXYXZlIEZvcm1hdCAoQldGKSB0YWdzIHdoZW4gc2VhcmNoaW5nIGZvciAnZm10JyBjaHVuawoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzIzMTI1CgoyMDE0LTAxLTI5IDEwOjM3OjUzICswMTAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwYXV4LmM6CgkgIGNoZWNrOiBVc2UgZmFrZXNpbmsgc3luYz1UcnVlIGluc3RlYWQgb2YgYW4gYXVkaW8gc2luawoJICBFbnN1cmVzIHRoZSB0ZXN0IGNhbiBydW4gb24gc3lzdGVtcyB3aXRob3V0IGFsc2EgKG9yIGFueSBhdWRpbyBvdXRwdXQgZm9yCgkgIHRoYXQgbWF0dGVyKSwgYW5kIHdpbGwgYXZvaWQgcGVvcGxlIHJ1bm5pbmcgYnVpbGQgc2xhdmVzIHdvbmRlcmluZyB3aGF0CgkgIHRoZSBoZWxsIHdhcyBiZWVwaW5nIGR1cmluZyB0aGUgbmlnaHQgOikKCjIwMTQtMDEtMjcgMjA6MDU6NDIgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1uYXV3QHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWMzcGFyc2UuYzoKCSAgYWMzcGFyc2U6IGN1c3RvbSBnZXRfc2lua19jYXBzIGhhbmRsaW5nIGZvciBwcml2YXRlIHN0cmVhbSBjYXBzCgkgIC4uLiBub3cgdGhhdCB0aG9zZSBhcmUgdHJhbnNmb3JtZWQgcmF0aGVyIHRoYW4gcGFyc2VkLCBzb21lIHRyYW5zZm9ybWluZwoJICBvZiBjYXBzIGlzIHJlcXVpcmVkIGFzIHdlbGwgdG8gbWFrZSBhdXRvLXBsdWdnaW5nIHN1Y2NlZWQuCgoyMDE0LTAxLTI1IDAyOjA2OjAwIC0wNTAwICBSeWFuIExvcnRpZSA8ZGVzcnRAZGVzcnQuY2E+CgoJKiBzeXMvdjRsMi92NGwyX2NhbGxzLmM6CgkgIHY0bDI6IGd1YXJkIHVzZSBvZiBFTk9EQVRBIHdpdGggI2lmZGVmCgkgIE5vdCBhbGwgc3lzdGVtcyB3aXRoIHY0bCBoYXZlIEVOT0RBVEEgZGVmaW5lZCwgc28gY2hlY2sgdGhhdCB3ZSBoYXZlIGl0CgkgIGJlZm9yZSBhdHRlbXB0aW5nIHRvIHVzZSBpdC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyMjk1MwoKMjAxNC0wMS0yNCAxMjozNzozOSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5oOgoJICBSZXZlcnQgInJ0c3BzcmM6IFByb3h5IHJ0cGppdHRlcmJ1ZmZlciBkby1yZXRyYW5zbWlzc2lvbiBwcm9wZXJ0eSIKCSAgVGhpcyByZXZlcnRzIGNvbW1pdCA5ZjdiMTEyOGIxZjAwYTJiODdhMjMyZmY4OTA4Njc1NDlhYjk1YmE1LgoJICBUaGlzIHNob3VsZCBiZSBoYW5kbGVkIGF1dG9tYXRpY2FsbHkgYmUgcnRzcHNyYyBpZiB0aGUgQVZQRiBwcm9maWxlCgkgIGlzIHVzZWQsIGFuZCBtYW51YWwgZW5hYmxpbmcgb2YgaXQgY2FuIGJlIGRvbmUgd2l0aCB0aGUgbmV3LW1hbmFnZXIKCSAgc2lnbmFsLgoKMjAxNC0wMS0yNCAxMDoyMToxMSArMDEwMCAgV2ltIFRheW1hbnMgPHd0YXltYW5zQHJlZGhhdC5jb20+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IGFkZCBzaWduYWwgdG8gbm90aWZ5IG9mIG5ldyBtYW5hZ2VyCgkgIFNvIHRoYXQgeW91IGNhbiBjb25maWd1cmUgYW5kIGNvbm5lY3QgdG8gc2lnbmFscyBvbiB0aGUgcnRwYmluLgoJICBTZWUgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyMjg2NgoKMjAxNC0wMS0yMyAxNToxNzo1OCAtMDgwMCAgQWxlaXggQ29uY2hpbGxvIEZsYXF1w6kgPGFsZWl4QG9ibG9uZy5jb20+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuaDoKCSAgcnRzcHNyYzogUHJveHkgcnRwaml0dGVyYnVmZmVyIGRvLXJldHJhbnNtaXNzaW9uIHByb3BlcnR5CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjI4NjYKCjIwMTQtMDEtMjEgMTc6NTI6NDQgKzAxMDAgIFdpbSBUYXltYW5zIDx3dGF5bWFuc0ByZWRoYXQuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIHJ0cGppdHRlcmJ1ZmZlcjogaGFuZGxlIGV4cGVjdGVkIHBhY2tldCBiZWluZyBhbiBSVFggcGFja2V0CgkgIElmIHRoZSBleHBlY3RlZCBwYWNrZXQgKGRvX25leHRfc2VxbnVtIGlzIFRSVUUpIGlzIHRoZSBvbmUgd2UgcmVxdWVzdGVkCgkgIGZvciByZXRyYW5taXNzaW9uIGVhcmxpZXIsIGRvIHRoZSBsb2dpYyB0byB1cGRhdGUgdGhlIHJldHJhbnNtaXNzaW9uCgkgIHN0YXRpc3RpY3MgYXMgd2VsbCBiZWZvcmUgc2V0dGluZyB1cCB0aGUgdGltZXJzIGZvciB0aGUgbmV4dCBleHBlY3RlZAoJICBwYWNrZXQuCgkgIEFsc28gcmVzZXQgdGhlIHJldHJhbnNtaXNzaW9uIGNvdW50ZXIgaWYgdGhlIHRpbWVyIGlzIHJldXNlZCBmb3IgYW5vdGhlcgoJICBzZXFudW0uCgoyMDE0LTAxLTIxIDE1OjQ4OjIwICswMTAwICBXaW0gVGF5bWFucyA8d3RheW1hbnNAcmVkaGF0LmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOgoJICBydHBiaW46IGFkZCBhIGNhcHMgYWNjdW11bGF0b3IgZm9yIHRoZSByZXF1ZXN0LXB0LW1hcCBzaWduYWwKCSAgQWRkIGFuIGFjY3VtdWxhdG9yIHRoYXQgc3RvcHMgdGhlIHNpZ25hbCBlbWlzc2lvbiBhcyBzb29uIGFzIGEgY2FwcyBoYXMKCSAgYmVlbiByZXRyaWV2ZWQuIE90aGVyd2lzZSB0aGUgZGVmYXVsdCBoYW5kbGVyIHdvdWxkIGNvbnRpbnVlIGVtaXR0aW5nCgkgIHRoZSBzaWduYWwgYW5kIHBvc3NpYmx5IG92ZXJ3cml0ZSB0aGUgcmVzdWx0IHdpdGggTlVMTCBhZ2Fpbi4KCjIwMTQtMDEtMjEgMTU6MjU6NTQgKzAxMDAgIFdpbSBUYXltYW5zIDx3dGF5bWFuc0ByZWRoYXQuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwcnR4cmVjZWl2ZS5jOgoJICBydHhyZWNlaXZlOiBjb3B5IGZsYWdzIGFuZCB0aW1lc3RhbXBzIGZyb20gb3JpZ2luYWwgYnVmZmVyCgoyMDE0LTAxLTIxIDE1OjI0OjUyICswMTAwICBXaW0gVGF5bWFucyA8d3RheW1hbnNAcmVkaGF0LmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBydHBqaXR0ZXJidWZmZXI6IGlnbm9yZSBpbnZhbGlkIHRpbWVzdGFtcHMgaW4gcnR0IGNhbGN1bGF0aW9uCgkgIFdoZW4gdGhlIGlucHV0IGJ1ZmZlciBkb2VzIG5vdCBoYXZlIGEgdmFsaWQgdGltZXN0YW1wLCBkb24ndCB0cnkgdG8KCSAgY2FsY3VsYXRlIHRoZSByb3VuZC10cmlwLXRpbWUuCgoyMDE0LTAxLTE2IDE0OjIzOjEzIC0wMzAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyLnZlcmRlam9Ac2lzYS5zYW1zdW5nLmNvbT4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcGFyc2UuYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXJlYWQtY29tbW9uLmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1yZWFkLWNvbW1vbi5oOgoJICBtYXRyb3NrYXBhcnNlOiBiZXR0ZXIgZGVmYXVsdCBjYXBzIHdoZW4gbm9uZSBzZXQKCSAgVXNlcyBpbmZvcm1hdGlvbiBnYXRoZXJlZCBkdXJpbmcgRUJNTCBwYXJzaW5nIHRvCgkgIGZvcmdlIGEgbW9yZSBzdWl0YWJsZSBzZXQgb2YgY2FwcyBpbnN0ZWFkIG9mIGJsaW5kbHkKCSAgYXNzdW1pbmcgZXZlcnl0aGluZyBpcyB2aWRlby94LW1hdHJvc2thLgoJICBGb3IgY29uc2lzdGVuY3ksIHN0cmVhbSB0eXBlIHJlc2V0IHdhcyBhZGRlZCB0bwoJICBtYXRyb3NrYS1kZW11eCB0b28uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjIzMTEKCjIwMTQtMDEtMTUgMTc6Mjk6MzUgKzAxMDAgIEdlb3JnZSBLaWFnaWFkYWtpcyA8Z2VvcmdlLmtpYWdpYWRha2lzQGNvbGxhYm9yYS5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHBydHguYzoKCSAgdGVzdHM6IHJ0cHJ0eDo6dGVzdF9ydHhyZWNlaXZlX2RhdGFfcmVjb25zdHJ1Y3Rpb246IHJlbW92ZSB1c2VsZXNzIGNvZGUgZm9yIHRyaWdnZXJpbmcgcmV0cmFuc21pc3Npb24KCSAgVGhlcmUgaXMgbm8gbmVlZCBhbnltb3JlIHRvIHB1c2ggeWV0IGFub3RoZXIgYnVmZmVyIGluIHJ0eHNlbmQKCSAgaW4gb3JkZXIgdG8gdHJpZ2dlciB0aGUgcHJldmlvdXNseSByZXF1ZXN0ZWQgcmV0cmFuc21pc3Npb25zCgkgIHRvIGFjdHVhbGx5IGhhcHBlbi4KCjIwMTQtMDEtMTUgMTc6Mjc6MTkgKzAxMDAgIEdlb3JnZSBLaWFnaWFkYWtpcyA8Z2VvcmdlLmtpYWdpYWRha2lzQGNvbGxhYm9yYS5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHBydHguYzoKCSAgdGVzdHM6IHJ0cHJ0eDo6dGVzdF9ydHhyZWNlaXZlX2RhdGFfcmVjb25zdHJ1Y3Rpb246IGZpeCByYWNlIGNvbmRpdGlvbgoJICBOb3cgd2l0aCBydHBydHhzZW5kIHB1c2hpbmcgcnR4IGJ1ZmZlcnMgZnJvbSBhIGRpZmZlcmVudCB0aHJlYWQsCgkgIHRoaXMgaXMgbmVjZXNzYXJ5IHRvIGVuc3VyZSB0aGF0IHRoZSByZXN1bHQgb2YgdGhlIHRlc3QgaXMgZGV0ZXJtaW5pc3RpYy4KCSAgVGhpcyBjb2RlIG1ha2VzIHVzZSBvZiBHc3RDaGVjaydzIGdsb2JhbCBHTXV0ZXggYW5kIEdDb25kIHRoYXQgYXJlCgkgIGJlaW5nIHVzZWQgaW5zaWRlIEdzdENoZWNrJ3Mgc2luayBwYWQgY2hhaW4oKSBmdW5jdGlvbiBpbiBvcmRlcgoJICB0byBzeW5jaHJvbml6ZSB3aXRoIGl0LgoKMjAxNC0wMS0xNSAxNzoxNzo1NyArMDEwMCAgR2VvcmdlIEtpYWdpYWRha2lzIDxnZW9yZ2Uua2lhZ2lhZGFraXNAY29sbGFib3JhLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cHJ0eC5jOgoJICB0ZXN0czogcnRwcnR4Ojp0ZXN0X3J0eHNlbmRlcl9wYWNrZXRfcmV0ZW50aW9uOiBmaXggcmFjZSBjb25kaXRpb24KCSAgTm93IHdpdGggcnRwcnR4c2VuZCBwdXNoaW5nIHJ0eCBidWZmZXJzIGZyb20gYSBkaWZmZXJlbnQgdGhyZWFkLAoJICB0aGlzIGlzIG5lY2Vzc2FyeSB0byBlbnN1cmUgdGhhdCB0aGUgcmVzdWx0IG9mIHRoZSB0ZXN0IGlzIGRldGVybWluaXN0aWMuCgkgIFRoaXMgY29kZSBtYWtlcyB1c2Ugb2YgR3N0Q2hlY2sncyBnbG9iYWwgR011dGV4IGFuZCBHQ29uZCB0aGF0IGFyZQoJICBiZWluZyB1c2VkIGluc2lkZSBHc3RDaGVjaydzIHNpbmsgcGFkIGNoYWluKCkgZnVuY3Rpb24gaW4gb3JkZXIKCSAgdG8gc3luY2hyb25pemUgd2l0aCBpdC4KCjIwMTQtMDEtMTUgMTE6MjY6MzMgKzAxMDAgIEdlb3JnZSBLaWFnaWFkYWtpcyA8Z2VvcmdlLmtpYWdpYWRha2lzQGNvbGxhYm9yYS5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHBydHguYzoKCSAgdGVzdHM6IHJ0cHJ0eDo6dGVzdF9wdXNoX2ZvcndhcmRfc2VxOiBmaXggcmFjZSBjb25kaXRpb24KCSAgTm93IHdpdGggcnRwcnR4c2VuZCBwdXNoaW5nIHJ0eCBidWZmZXJzIGZyb20gYSBkaWZmZXJlbnQgdGhyZWFkLAoJICB0aGlzIGlzIG5lY2Vzc2FyeSB0byBlbnN1cmUgdGhhdCB0aGUgcmVzdWx0IG9mIHRoZSB0ZXN0IGlzIGRldGVybWluaXN0aWMuCgkgIFRoaXMgY29kZSBtYWtlcyB1c2Ugb2YgR3N0Q2hlY2sncyBnbG9iYWwgR011dGV4IGFuZCBHQ29uZCB0aGF0IGFyZQoJICBiZWluZyB1c2VkIGluc2lkZSBHc3RDaGVjaydzIHNpbmsgcGFkIGNoYWluKCkgZnVuY3Rpb24gaW4gb3JkZXIKCSAgdG8gc3luY2hyb25pemUgd2l0aCBpdC4KCjIwMTQtMDEtMTUgMDk6NDc6MDMgKzAxMDAgIEdlb3JnZSBLaWFnaWFkYWtpcyA8Z2VvcmdlLmtpYWdpYWRha2lzQGNvbGxhYm9yYS5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHBydHguYzoKCSAgdGVzdHM6IHJ0cHJ0eDo6dGVzdF9wdXNoX2ZvcndhcmRfc2VxOiBmaXggYnVmZmVyIHJlZmNvdW50aW5nCgoyMDE0LTAxLTIxIDEzOjQyOjM4ICswMTAwICBHZW9yZ2UgS2lhZ2lhZGFraXMgPGdlb3JnZS5raWFnaWFkYWtpc0Bjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwcnR4c2VuZC5jOgoJICBydHBydHhzZW5kOiBlbnN1cmUgdGhhdCBubyBydHggYnVmZmVycyBhcmUgc2VudCBhZnRlciBFT1MKCSAgVG8gZG8gdGhhdCwgZW5xdWV1ZSB0aGUgRU9TIGV2ZW50IHRvIGJlIHNlbnQgZnJvbSB0aGUgc3JjcGFkIHRhc2sKCSAgdGhyZWFkIGFuZCBmbHVzaCB0aGUgcXVldWUgcmlnaHQgYWZ0ZXJ3YXJkcywgc28gdGhhdCBubyBtb3JlIHJ0eAoJICBidWZmZXJzIGNhbiBiZSBzZW50LCBldmVuIGlmIHRoZXJlIGFyZSBtb3JlIHJlcXVlc3RzIGNvbWluZyBpbi4KCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyMjM3MAoKMjAxNC0wMS0xNSAwOTo0NjoxNCArMDEwMCAgR2VvcmdlIEtpYWdpYWRha2lzIDxnZW9yZ2Uua2lhZ2lhZGFraXNAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHJ0eHNlbmQuYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwcnR4c2VuZC5oOgoJICBydHBydHhzZW5kOiBydW4gYSBuZXcgR3N0VGFzayBvbiB0aGUgc3JjIHBhZAoJICBUaGUgcmVhc29uIGJlaGluZCB0aGlzIGlzIHRvIG1pbmltaXplIHRoZSByZXRyYW5zbWlzc2lvbiBkZWxheS4KCSAgUHJldmlvdXNseSwgd2hlbiBhIE5BQ0sgd2FzIHJlY2VpdmVkLCBydHBydHhzZW5kIHdvdWxkIHB1dCBhCgkgIHJldHJhbnNtaXNzaW9uIHBhY2tldCBpbiBhIHF1ZXVlIGFuZCBpdCB3b3VsZCBzZW5kIGl0IGZyb20gY2hhaW4oKSwKCSAgaS5lLiBvbmx5IGFmdGVyIGEgbmV3IGJ1ZmZlciB3b3VsZCBhcnJpdmUuCgkgIFRoaXMgdW5mb3J0dW5hdGVseSB3YXMgY2F1c2luZyBiaWcgZGVsYXlzLCBpbiB0aGUgb3JkZXIgb2YgNjAtMTAwIG1zLAoJICB3aGljaCBjYW4gYmUgY3JpdGljYWwgZm9yIHRoZSByZWNlaXZlciBzaWRlLgoJICBCeSBoYXZpbmcgYSBzZXBhcmF0ZSBHc3RUYXNrIGZvciBwdXNoaW5nIGJ1ZmZlcnMgb3V0IG9mIHJ0eHNlbmQsCgkgIHdlIGNhbiBwdXNoIGJ1ZmZlcnMgb3V0IHJpZ2h0IGFmdGVyIHJlY2VpdmluZyB0aGUgZXZlbnQsIHdpdGhvdXQKCSAgd2FpdGluZyBmb3IgY2hhaW4oKSB0byBnZXQgY2FsbGVkLgoKMjAxNC0wMS0wMyAxNzo0Nzo1NSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9zaG91dDIvZ3N0c2hvdXQyLmM6CgkqIGV4dC9zaG91dDIvZ3N0c2hvdXQyLmg6CgkgIHNob3V0MnNlbmQ6IGVycm9yIG91dCBpZiBubyBjYXBzIHdlcmUgcmVjZWl2ZWQKCSAgSW5zdGVhZCBvZiBhc3N1bWluZyB0aGF0IGlucHV0IGlzIG9nZy4KCjIwMTQtMDEtMDMgMTc6MzA6MTIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBleHQvc2hvdXQyL2dzdHNob3V0Mi5jOgoJICBzaG91dDJzZW5kOiBhY2NlcHQgYXVkaW8vd2VibSwgYXVkaW8vb2dnIGFuZCB2aWRlby9vZ2cgYXMgd2VsbAoJICBUaG9zZSBhcmUgYWR2ZXJ0aXNlZCBpbiB0aGUgdGVtcGxhdGUgY2FwcywgYnV0IHRoZQoJICBzZXRjYXBzIGhhbmRsZXIgZGlkbid0IGhhbmRsZSB0aGVtLiBCdXQgdGhlbiBvZ2dtdXgKCSAgYW5kIG9nZ3BhcnNlIGF0IGxlYXN0IGZvciBub3cgc3RpbGwgYWx3YXlzIG91dHB1dAoJICBhcHBsaWNhdGlvbi9vZ2cgYW55d2F5LCBzbyB0aGF0IHdhc24ndCBhIHJlYWwgcHJvYmxlbS4KCjIwMTQtMDEtMjAgMTA6MTI6NDUgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cHZwOHBheS5jOgoJICBydHB2cDhwYXk6IERvbid0IGxlYWsgaW5wdXQgYnVmZmVycwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzIyNDE0CgoyMDE0LTAxLTE5IDE3OjQwOjU2ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtbmF1d0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJKiBnc3QvYXZpL2dzdGF2aW11eC5jOgoJICBhdmltdXg6IHJlc2V0IHNvbWUgbW9yZSBhdWRpbyBwYWQgZGF0YSB3aGVuIG5lZWRlZAoKMjAxNC0wMS0xOSAxNzozODo1OSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bW5hdXdAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSogZ3N0L2F2aS9nc3RhdmltdXguYzoKCSogZ3N0L2F2aS9nc3RhdmltdXguaDoKCSAgYXZpbXV4OiB3cml0ZSBjb3JyZWN0IGJsb2NrYWxpZ24gZm9yIHZiciBhdWRpbwoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzIwNjU5CgoyMDE0LTAxLTE2IDE3OjM2OjEyIC0wODAwICBBbGVpeCBDb25jaGlsbG8gRmxhcXXDqSA8YWxlaXhAb2Jsb25nLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBydHBqaXR0ZXJidWZmZXI6IGRvIG5vdCBkcm9wIHNlcmlhbGl6ZWQgZXZlbnRzIHdoZW4gbGF0ZW5jeSBpcyBzZXQKCSAgU2VyaWFsaXplZCBldmVudHMgYXJlIG5vdyBxdWV1ZWQgaW4gdGhlIGppdHRlciBidWZmZXIsIHNvIHdlIGRvbid0CgkgIHdhbnQgdG8gZHJvcCB0aGVtIGV2ZW4gbGF0ZW5jeSBpcyBzZXQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjIzNzIKCjIwMTMtMTItMTEgMDk6MzY6MjIgKzAxMDAgIE1pY2hhZWwgT2xicmljaCA8bS5vbGJyaWNoQHBlbmd1dHJvbml4LmRlPgoKCSogZ3N0L2F2aS9nc3RhdmltdXguYzoKCSAgYXZpbXV4OiBkb24ndCBtYWtlIHRoZSBidWZmZXIgd3JpdGFibGUgdW5sZXNzIGFic29sdXRlbHkgbmVjZXNzYXJ5CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjIzOTYKCjIwMTMtMDktMTIgMTY6NTY6NTYgKzAyMDAgIE1pY2hhZWwgT2xicmljaCA8bS5vbGJyaWNoQHBlbmd1dHJvbml4LmRlPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSAgdjRsMjogc2V0IEdTVF9CVUZGRVJfRkxBR19ERUxUQV9VTklUIHdoZW4gYXBwcm9wcmlhdGUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyMjM5NAoKMjAxNC0wMS0xNyAwNzo0NjowOSArMDEwMCAgTWljaGFlbCBPbGJyaWNoIDxtLm9sYnJpY2hAcGVuZ3V0cm9uaXguZGU+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJICB2NGwyYnVmZmVycG9vbDogZG9uJ3QgcmVmIHRoZSBuZXdseSBjcmVhdGVkIGFsbG9jYXRvcgoJICBPdGhlcndpc2UgdGhlIGFsbG9jYXRvciB3aWxsIG5ldmVyIGJlIGRlbGV0ZWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MTI2MTIKCjIwMTQtMDEtMTUgMjI6NDc6MTIgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2FkZW11eDogRG9uJ3Qgc2tpcCBhbGwgdmlkZW8gZnJhbWVzIHVudGlsIHRoZSBmaXJzdCBrZXlmcmFtZQoJICBJbnN0ZWFkIGRvIGl0IGxpa2UgYWxsIG90aGVyIGRlbXV4ZXJzIGFuZCBsZXQgcGFyc2VycyBhbmQgZGVjb2RlcnMKCSAgaGFuZGxlIHRoYXQuIFRoZSBrZXlmcmFtZSBpbmZvcm1hdGlvbiBpbnNpZGUgdGhlIGNvbnRhaW5lciBtaWdodAoJICBiZSBjb21wbGV0ZWx5IHdyb25nIGxpa2UgaW4gdGhlIHNhbXBsZSBmaWxlIG9mIHRoZSBidWcgcmVwb3J0LAoJICBhbmQgaWYgaXQgaXMgY29ycmVjdCBhbmQgd2UgcHVzaCBubyBrZXlmcmFtZXMsIHRoZW4gdGhlIHBhcnNlcnMKCSAgYW5kIGRlY29kZXJzIHdpbGwgaGFuZGxlIHRoYXQgcHJvcGVybHkgYW55d2F5LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjgyMjc2CgoyMDE0LTAxLTEzIDEwOjA4OjA5IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0cy5zYW50b3NAc2lzYS5zYW1zdW5nLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguaDoKCSAgcXRkZW11eDogcmVtb3ZlIGVsc3Rfb2Zmc2V0IHZhcmlhYmxlcwoJICBUaGV5IGFyZSBub3QgdXNlZCBhbnltb3JlCgoyMDE0LTAxLTA2IDIxOjM2OjE3IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0cy5zYW50b3NAc2lzYS5zYW1zdW5nLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiByZW1lbWJlciByZXZlcnNlIHBsYXliYWNrIHdoZW4gdmVyaWZ5aW5nIHRoZSBzZWdtZW50IGVuZAoJICBDaGVjayBpZiB0aGUgcmF0ZSBpcyBwb3NpdGl2ZSBvciBuZWdhdGl2ZSB0byBjb3JyZWN0bHkgY29tcGFyZSB0aGUgY3VycmVudAoJICBwb3NpdGlvbiB3aXRoIHRoZSBzZWdtZW50IHRvIG1ha2UgcmV2ZXJzZSBwbGF5YmFjayB3b3JrCgoyMDE0LTAxLTAzIDEwOjU5OjM1IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0cy5zYW50b3NAc2lzYS5zYW1zdW5nLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguaDoKCSAgcXRkZW11eDogZG8gbm90IGlnbm9yZSBlbXB0eSBzZWdtZW50cwoJICBNYWtlIHN1cmUgZW1wdHkgc2VnbWVudHMgYXJlIHVzZWQgYW5kIHB1c2hlZCB3aXRoIGEgZ2FwIGV2ZW50CgkgIHRvIHJlcHJlc2VudCBpdHMgZGF0YSAob3IgbGFjayBvZiBpdCkKCSAgRWFjaCBRdFNlZ21lbnQgaXMgbWFwcGVkIGludG8gYSBHc3RTZWdtZW50IHdpdGggdGhlIGNvcnJlc3BvbmRpbmcKCSAgbWVkaWEgcmFuZ2UuIEZvciBlbXB0eSBRdFNlZ21lbnRzIGEgZ2FwIGV2ZW50IGlzIHB1c2hlZCBpbnN0ZWFkCgkgIG9mIEdzdEJ1ZmZlcnMgYW5kIGl0IGFkdmFuY2VzIHRvIHRoZSBuZXh0IFF0U2VnbWVudC4KCSAgVG8gbWFrZSB0aGlzIHdvcmsgd2l0aCBzZWVrcywgbmVlZCB0byBrZWVwIHRyYWNrIG9mIHRoZSBzdGFydGluZwoJICAnYmFzZScgdG8gbWFrZSBzdXJlIGl0IHJlbWFpbnMgY29uc2lzdGVudGx5IGluY3JlYXNpbmcgd2hlbgoJICBwdXNoaW5nIG5ldyBzZWdtZW50IGV2ZW50cy4KCSAgRm9yIGV4YW1wbGU6IGlmIGEgc2VlayBtYWtlcyBxdGRlbXV4IHN0YXJ0IGZyb20gNXMsIHRoZSBmaXJzdAoJICBzZWdtZW50IHdpbGwgaGF2ZSBhIGJhc2U9MC4gV2hlbiB0aGUgbmV4dCBzZWdtZW50IGlzIGFjdGl2YXRlZCwKCSAgaXRzIGJhc2UgdGltZSB3aWxsIGJlIFF0U2VnbWVudC50aW1lIC0gcXRkZW11eC5zZWdtZW50X2Jhc2Ugc28KCSAgdGhhdCBpdCBkb2Vzbid0IGluY2x1ZGUgdGhlIGZpcnN0IDVzIHRoYXQgd2VyZW4ndCBwbGF5ZWQgYW5kCgkgIHNob3VsZG4ndCBiZSBhY2NvdW50ZWQgb24gdGhlIHJ1bm5pbmcgdGltZQoJICBUaGlzIHB1cnBvc2VkbHkgd2lsbCByZW1vdmUgdGhlIGZpeCBtYWRlIGZvcgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzAwMjY0LCBhdCB0aGlzCgkgIHBvaW50IGl0IHdhcyBkZWNpZGVkIHRvIHJlc3BlY3QgdGhlIGdhcHMsIGV2ZW4gaWYgdGhleSBjYXVzZQoJICBhIGRlbGF5IG9uIHBsYXliYWNrLCBiZWNhdXNlIHRoYXQncyB0aGUgd2F5IHRoZSBmaWxlIHdhcyBjcmFmdGVkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MzQ1ODMwCgoyMDEzLTEyLTEyIDIzOjA1OjQzIC0wNTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwcnR4LmM6CgkgIHRlc3RzOiBSZW1vdmUgdXNhZ2Ugb2YgdGhlIHN5c3RlbSBjbG9jayBmcm9tIHRoZSBydHBydHggdGVzdAoKMjAxMy0xMi0xMiAyMzoyMjo0MSAtMDUwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cGNvbGxpc2lvbi5jOgoJICB0ZXN0czogSW5pdGlhbCBzZWdtZW50IGluIHJ0cGNvbGxpc2lvbiB0ZXN0CgoyMDE0LTAxLTE0IDE1OjU2OjQyICswMTAwICBHZW9yZ2UgS2lhZ2lhZGFraXMgPGdlb3JnZS5raWFnaWFkYWtpc0Bjb2xsYWJvcmEuY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvcnRwL2NsaWVudC1ydHBhdXguYzoKCSogdGVzdHMvZXhhbXBsZXMvcnRwL3NlcnZlci1ydHBhdXguYzoKCSAgZXhhbXBsZXMvKi1ydHBhdXg6IHNwZWNpZnkgcGF5bG9hZCB0eXBlIGFzc29jaWF0aW9uIGZvciB0aGUgYXVkaW8gc3RyZWFtLCBzbyB0aGF0IHJ0eCB3b3JrcyBhbHNvIGZvciBhdWRpbwoKMjAxNC0wMS0xNCAxMzowODoxOCArMDEwMCAgR2VvcmdlIEtpYWdpYWRha2lzIDxnZW9yZ2Uua2lhZ2lhZGFraXNAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHJ0eHNlbmQuYzoKCSAgcnRwcnR4c2VuZDogcmVtb3ZlIHdyb25nIGNoZWNrIGZvciBwYXlsb2FkIHR5cGUgbm90IGhhdmluZyBiZWVuIHNldAoJICAxKSBwdCBjYW4gYmUgbG93ZXIgdGhhbiA5NgoJICAyKSB0aGVyZSBpcyBubyBwb2ludCBpbiBjaGVja2luZyB0aGF0IGJlY2F1c2UgcnRwcnR4c2VuZCB3aWxsIG5vdAoJICBldmVuIHN0b3JlIGJ1ZmZlcnMgZm9yIHBheWxvYWQgdHlwZXMgdGhhdCBpdCBkb2Vzbid0IGtub3cgYWJvdXQsCgkgIHNvIHRoaXMgY2FzZSB3aWxsIG5ldmVyIGJlIHJlYWNoZWQKCjIwMTQtMDEtMTQgMTM6MDE6NDEgKzAxMDAgIEdlb3JnZSBLaWFnaWFkYWtpcyA8Z2VvcmdlLmtpYWdpYWRha2lzQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBydHhzZW5kLmM6CgkgIHJ0cHJ0eHNlbmQ6IGZpeCBkYXRhIGxvY2tpbmcgd2hlbiBjcmVhdGluZyBydHggcGFja2V0cwoJICBUaGlzIHBhdGNoIG1vdmVzIHRoZSBjcmVhdGlvbiBvZiBydHggcGFja2V0cyB0byBiZSBkb25lIGVhcmx5LAoJICBpbiB0aGUgc3JjX2V2ZW50KCkgZnVuY3Rpb24sIHdoZW4gdGhleSBhcmUgcmVxdWVzdGVkLiBUaGUgcHVycG9zZQoJICBpcyB0byBydW4gZ3N0X3J0cF9ydHhfYnVmZmVyX25ldygpIHdpdGggdGhlIG9iamVjdCBsb2NrZWQgdG8KCSAgcHJvdGVjdCBpbnRlcm5hbCBkYXRhLCBiZWNhdXNlIGlmIGl0IGlzIGRvbmUgYXQgdGhlIHB1c2hpbmcgc3RhZ2UsCgkgIHdlIHdvdWxkIGhhdmUgdG8gbG9jayBhbmQgdW5sb2NrIG11bHRpcGxlIHRpbWVzIGluIGEgcm93IHdoaWxlIHdlCgkgIGFyZSBwdXNoaW5nIHRoZSBydHggYnVmZmVycy4KCSAgUHJldmlvdXNseSB0aGVyZSB3YXMgbm8gbG9ja2luZyBhdCBhbGwsIHdoaWNoIHdhcyB0ZXJyaWJseSB3cm9uZy4KCjIwMTQtMDEtMTQgMTI6NTA6MjMgKzAxMDAgIEdlb3JnZSBLaWFnaWFkYWtpcyA8Z2VvcmdlLmtpYWdpYWRha2lzQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBydHhzZW5kLmM6CgkgIHJ0cHJ0eHNlbmQ6IGxvY2sgYWNjZXNzIHRvIGludGVybmFsIGRhdGEgaW4gc2lua19ldmVudCgpIGZ1bmN0aW9uCgoyMDE0LTAxLTE0IDEyOjQ0OjA2ICswMTAwICBHZW9yZ2UgS2lhZ2lhZGFraXMgPGdlb3JnZS5raWFnaWFkYWtpc0Bjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwcnR4c2VuZC5jOgoJICBydHBydHhzZW5kOiByZW1vdmUgdW5uZWNlc3NhcnkgY2FsbCB0byByZXNldCgpIGZyb20gZmluYWxpemUoKQoJICAuLi5hbmQgdXNlIF9mcmVlX2Z1bGwoKSBvbiB0aGUgcGVuZGluZyBidWZmZXJzIHF1ZXVlIG5vdyB0aGF0CgkgIHJlc2V0KCkgaXMgbm90IGJlaW5nIGNhbGxlZAoKMjAxNC0wMS0xNCAxMjozODo1MSArMDEwMCAgR2VvcmdlIEtpYWdpYWRha2lzIDxnZW9yZ2Uua2lhZ2lhZGFraXNAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHJ0eHNlbmQuYzoKCSAgcnRwcnR4c2VuZDogcmVtb3ZlIHVudXNlZCBwYXJhbWV0ZXIgZnJvbSB0aGUgaW50ZXJuYWwgcmVzZXQoKSBtZXRob2QKCjIwMTQtMDEtMTQgMTI6MzI6MzggKzAxMDAgIEdlb3JnZSBLaWFnaWFkYWtpcyA8Z2VvcmdlLmtpYWdpYWRha2lzQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBydHhzZW5kLmM6CgkgIHJ0cHJ0eHNlbmQ6IFVzZSBnX3NsaWNlXyogZm9yIGFsbG9jYXRpbmcgaW50ZXJuYWwgc3RydWN0dXJlcwoKMjAxNC0wMS0xNCAxMjoyODowMSArMDEwMCAgR2VvcmdlIEtpYWdpYWRha2lzIDxnZW9yZ2Uua2lhZ2lhZGFraXNAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHJ0eHJlY2VpdmUuYzoKCSAgcnRwcnR4cmVjZWl2ZTogcmVtb3ZlIHN0dXBpZCBtdXRleCB1bmxvY2sgaW4gdGhlIG1pZGRsZSBvZiBjaGFpbigpCgoyMDE0LTAxLTE0IDEyOjI1OjM2ICswMTAwICBHZW9yZ2UgS2lhZ2lhZGFraXMgPGdlb3JnZS5raWFnaWFkYWtpc0Bjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwcnR4cmVjZWl2ZS5jOgoJICBydHBydHhyZWNlaXZlOiB1c2UgR1NUX0RFQlVHX09CSkVDVCAvIEdTVF9XQVJOSU5HX09CSkVDVCBpbnN0ZWFkIG9mIEdTVF9ERUJVRyAvIGdfd2FybmluZwoKMjAxNC0wMS0xNCAxMjoxOTo1OCArMDEwMCAgR2VvcmdlIEtpYWdpYWRha2lzIDxnZW9yZ2Uua2lhZ2lhZGFraXNAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHJ0eHJlY2VpdmUuYzoKCSAgcnRwcnR4cmVjZWl2ZTogZml4IGludGVnZXIgZm9ybWF0IHNwZWNpZmllcnMgaW4gR1NUX0RFQlVHCgkgIHNlcW51bSBpbiB0aGlzIGZ1bmN0aW9uIGlzIDMyLWJpdCwgc28gR19HVUlOVDE2X0ZPUk1BVCB3b3VsZAoJICBwcm9kdWNlIHVuZGVmaW5lZCBvdXRwdXQgb24gYmlnIGVuZGlhbiBzeXN0ZW1zCgoyMDE0LTAxLTE0IDEyOjEzOjQ5ICswMTAwICBHZW9yZ2UgS2lhZ2lhZGFraXMgPGdlb3JnZS5raWFnaWFkYWtpc0Bjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwcnR4c2VuZC5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBydHhzZW5kLmg6CgkgIHJ0cHJ0eHNlbmQ6IGNoYW5nZSB0aGUgcnR4X3B0X21hcCBkaXJlY3RseSBpbiBzZXRfcHJvcGVydHkoKSBpbnN0ZWFkIG9mIGRlbGF5aW5nIGl0IGZvciBjaGFpbigpCgkgIFRoZSBzYW1lIGxvY2sgaXMgaGVsZCwgc28gdGhlcmUgaXMgbm8gcG9pbnQgaW4gY29tcGxpY2F0aW5nIGl0Li4uCgoyMDE0LTAxLTE0IDEyOjA3OjU4ICswMTAwICBHZW9yZ2UgS2lhZ2lhZGFraXMgPGdlb3JnZS5raWFnaWFkYWtpc0Bjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwcnR4cmVjZWl2ZS5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBydHhyZWNlaXZlLmg6CgkgIHJ0cHJ0eHJlY2VpdmU6IGNoYW5nZSB0aGUgcnR4X3B0X21hcCBkaXJlY3RseSBpbiBzZXRfcHJvcGVydHkoKSBpbnN0ZWFkIG9mIGRlbGF5aW5nIGl0IGZvciBjaGFpbigpCgkgIFRoZSBzYW1lIGxvY2sgaXMgaGVsZCwgc28gdGhlcmUgaXMgbm8gcG9pbnQgaW4gY29tcGxpY2F0aW5nIGl0Li4uCgoyMDE0LTAxLTE0IDExOjU1OjAwICswMTAwICBHZW9yZ2UgS2lhZ2lhZGFraXMgPGdlb3JnZS5raWFnaWFkYWtpc0Bjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwcnR4cmVjZWl2ZS5jOgoJICBydHBydHhyZWNlaXZlOiBzaW1wbGlmeSB0aGUgY29kZSBvZiBmaW5hbGl6ZSgpCgoyMDE0LTAxLTE0IDExOjUyOjIxICswMTAwICBHZW9yZ2UgS2lhZ2lhZGFraXMgPGdlb3JnZS5raWFnaWFkYWtpc0Bjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwcnR4cmVjZWl2ZS5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBydHhyZWNlaXZlLmg6CgkgIHJ0cHJ0eHJlY2VpdmU6IHVzZSB0aGUgR3N0T2JqZWN0IGxvY2sgaW5zdGVhZCBvZiBhIG5ldyBvbmUKCjIwMTQtMDEtMTQgMTE6NDU6NTIgKzAxMDAgIEdlb3JnZSBLaWFnaWFkYWtpcyA8Z2VvcmdlLmtpYWdpYWRha2lzQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBydHhzZW5kLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHJ0eHNlbmQuaDoKCSAgcnRwcnR4c2VuZDogdXNlIHRoZSBHc3RPYmplY3QgbG9jayBpbnN0ZWFkIG9mIGEgbmV3IG9uZQoKMjAxMy0xMi0xMCAxNDoyOTo1NSAtMDUwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICB2NGwyOiBBZGQgTlYxMl82NFozMiBzdXBwb3J0CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjIxMjcKCjIwMTQtMDEtMTQgMTk6MDg6NDkgKzA5MDAgIEp1c3RpbiBKb3kgPGp1c3Rpbi5qb3kuOXRvNUBnbWFpbC5jb20+CgoJKiBzeXMvb3NzL2dzdG9zc2hlbHBlci5jOgoJICBvc3NoZWxwZXI6IERvbid0IGxlYWsgZmQgd2hlbiBnZXR0aW5nIGNhcmQgbmFtZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzIyMTYzCgoyMDE0LTAxLTE0IDA5OjQzOjMzICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWFjcGFyc2UuYzoKCSAgUmV2ZXJ0ICJhYWNwYXJzZTogcmVsYXggdGhlIGRldGVjdGlvbiBvZiBBRFRTIgoJICBUaGlzIHdhcyBwdXNoZWQgYnkgbWlzdGFrZSBhbG9uZyB3aXRoIHRoZSBWNEwyIGZpeC4KCSAgVGhpcyByZXZlcnRzIGNvbW1pdCA4ZWI0YjAzMmJlZjQ0NDM5N2M0ZDIxMWYyMDk1YzE3M2JhMTE0MTg3LgoKMjAxNC0wMS0xNCAxNTo0MjowMSArMDkwMCAgSnVzdGluIEpveSA8anVzdGluLmpveS45dG81QGdtYWlsLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwZzcyNnBheS5jOgoJICBydHBnNzI2cGF5OiBkb24ndCBsZWFrIGVuY29kaW5nX25hbWUgc3RyaW5nCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjIxNTkKCjIwMTQtMDEtMTMgMDk6MTQ6MDAgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvdjRsMl9jYWxscy5jOgoJICB2NGwyOiBmaXggYnVpbGQgYnJlYWsgdXNpbmcgVjRMMl9DQVBfVklERU9fTTJNX01QTEFORQoJICBUaGlzIG1heSBub3QgYmUgZGVmaW5lZC4gU2luY2UgdGhlIHByZXZpb3VzIHZlcnNpb24gdXNlZAoJICBvbmx5IHRoZSBvdGhlciBkZWZpbmUgKFY0TDJfQ0FQX1ZJREVPX09VVFBVVF9NUExBTkUpLCBmYWxsCgkgIGJhY2sgb24gdGhpcyBvbmx5IHdoZW4gbm90IGF2YWlsYWJsZS4KCjIwMTMtMDItMjcgMDE6NDU6NTIgKzA5MDAgIEFraWhpcm8gVHN1a2FkYSA8YXRzdWthZGFAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYWNwYXJzZS5jOgoJICBhYWNwYXJzZTogcmVsYXggdGhlIGRldGVjdGlvbiBvZiBBRFRTCgkgIEFjY29yZGluZyB0byBJU08vSUVDIDEzODE4LTcsICJjaGFubmVsX2NvbmZpZyIgZmllbGQgaW4gQURUUyBoZWFkZXIKCSAgbWF5IGhhdmUgdmFsdWUgb2YgMCwgYXMgaW4gdGhlIGNhc2Ugb2YgZnJhbWUgd2l0aCBQQ0UuCgkgIGdzdF9hYWNfcGFyc2VfZGV0ZWN0X3N0cmVhbXMoKSByZXR1cm5lZCBGQUxTRSBmb3IgdGhvc2UgZnJhbWVzCgkgIGFuZCBkaXNjYXJkZWQgdGhlbS4KCjIwMTQtMDEtMDcgMTE6NTg6MjMgKzAwMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSAgdjRsMmJ1ZmZlcnBvb2w6IGNoZWNrIHNldF9jb25maWcgcmV0dXJuIHZhbHVlIGluIGdzdF92NGwyX2J1ZmZlcl9wb29sX25ldwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzIwNTY4CgoyMDE0LTAxLTEwIDEyOjQwOjMxIC0wNTAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIHY0bDJvYmplY3Q6IEFkZCBwYXJzZWQ9MSBmaWVsZCBmb3IgZW5jb2RlZCBvdXRwdXQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyMDU2OAoKMjAxNC0wMS0xMCAxMjozOToxNiAtMDUwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICB2NGwyb2JqZWN0OiBEb24ndCBsZWFrIGVtcHR5IGNhcHMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyMDU2OAoKMjAxNC0wMS0wOCAxNjo1MToyMSArMDAwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJICB2NGwyYnVmZmVycG9vbDogZG8gbm90IHN0b3AgYSBzdHJlYW0gbm90IHByZXZpb3VzbHkgc3RhcnRlZAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzIwNTY4CgoyMDEzLTEyLTEyIDE2OjI3OjIxIC0wNTAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIHY0bDJvYmplY3Q6IERvbid0IGVuZm9yY2UgZGltZW5zaW9uIGZpZWxkIG9uIGVuY29kZWQgZm9ybWF0cwoJICBEb24ndCBlbmZvcmNlIGhhdmluZyB3aWR0aCwgaGVpZ2h0IGFuZCBmcmFtZXJhdGUgaW4gdGVtcGxhdGUgY2FwcyBmb3IgZW5jb2RlZAoJICBmb3JtYXRzLiBUaGVzZSBkb24ndCBhbHdheXMgbmVlZCB0byBiZSBleHBvc2VkIGFuZCBtYXkgYnJlYWsgbmVnb3RpYXRpb24gZm9yCgkgIGRlY29kZXIgYW5kIGRlY29kaW5nIHNpbmsuIElmIG5lZWRlZCwgdGhlc2UgZmllbGQgd2lsbCBiZSBhdXRvbWF0aWNhbGx5IGFkZGVkCgkgIHdoZW4gcHJvYmVkIGNhcHMgYXJlIGtub3duLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzIwNTY4CgoyMDEzLTEyLTEyIDE3OjA5OjU5ICswMDAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgdjRsMm9iamVjdDogdW5yZWYgZG93bnN0cmVhbSBwb29sCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjA1NjgKCjIwMTMtMTItMTggMTM6Mzc6MjMgLTA1MDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuaDoKCSAgdjRsMmJ1ZmZlcnBvb2w6IGFkZCBnc3RfdjRsMl9idWZmZXJfcG9vbF9mbHVzaAoJICBTVFJFQU1PRkYgc2V0IGFsbCB2NGwyYnVmZmVycyB0byBERVFVRVVFIHN0YXRlLgoJICBUaGVuIGZvciBDQVBUVVJFIHdlIGNhbGwgUUJVRiBvbiBlYWNoIGJ1ZmZlci4KCSAgRm9yIE9VVFBVVCB0aGUgYnVmZmVycyBhcmUganVzdCBwdXNoIGJhY2sgaW4gdGhlIEdzdEJ1ZmZlclBvb2wKCSAgYmFzZSBjbGFzcyAncyBxdWV1ZS4KCSAgQnV0IHRoZSBsb29wIGFjdHVhbGx5IGxvb2tzIGxpa2UgdGhlIHNhbWUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjA1NjgKCjIwMTMtMTItMTYgMTc6Mjk6MzAgLTA1MDAgIEJlbmphbWluIEdhaWduYXJkIDxiZW5qYW1pbi5nYWlnbmFyZEBsaW5hcm8ub3JnPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICB2NGwyb2JqZWN0OiBBZGQgdnA4IHN1cHBvcnQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyMDU2OAoKMjAxMy0xMi0xMiAxNjo0NjowOSAtMDUwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICB2NGwyb2JqZWN0OiBEb24ndCBmb3JjZSBmcmFtZXJhdGUgZmllbGQgZm9yIE9VVFBVVAoJICBJZiB0aGVyZSBpcyBub3RoaW5nIHRoYXQgc2VlbXMgdG8gZm9yY2UgYSBjZXJ0YWluIGZyYW1lcmF0ZSBvbiBvdXRwdXQgZGV2aWNlLCBpdCBpcwoJICBwcmVmZXJhYmxlIHRvIHNpbXBseSBub3Qgc2V0IHRoYXQgZmVpbGQuIFRoaXMgYWxsb3cgbmVnb3RpYXRpb24gd2l0aCB0c2RlbXV4IGluIGEKCSAgZGVjb2RlciBmb3IgZXhhbXBsZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyMDU2OAoKMjAxMy0xMi0xMiAxNDowNzowMyAtMDUwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0Lmg6CgkgIHY0bDJvYmplY3Q6IF92NGwyZm91cmNjX3RvX3N0cnVjdHVyZSgpIGNhbiBiZSBzdGF0aWMKCSAgVGhpcyBmdW5jdGlvbiBpcyBub3QgdXNlZCBhbnltb3JlIG91dHNpZGUgdjRsMm9iamVjdC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyMDU2OAoKMjAxMy0xMi0xMiAxNDoyMjoyNiAtMDUwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICB2NGwyb2JqZWN0OiBBZGQgTVBFRzEvMiBzdXBwb3J0CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjA1NjgKCjIwMTMtMTItMTIgMTI6MTg6NDUgLTA1MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgdjRsMm9iamVjdDogQXNrIGZvciBhIGRlY2VudCBidWZmZXIgc2l6ZSB3aGVuIGRlYWxpbmcgd2l0aCBlbmNvZGVkIGZvcm1hdHMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyMDU2OAoKMjAxMy0xMi0wNyAxNDowMzo1MyAtMDUwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSAgdjRsMmJ1ZmZlcnBvb2w6IE9uIHdhcm4gb24gc2l6ZSBjaGFuZ2UgaWYgbl9wbGFuZXMgPiAxCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjA1NjgKCjIwMTMtMTItMzEgMTY6Mzg6MDkgKzAwMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICB2NGwyb2JqZWN0OiBjaGVjayBpZiB0cmFuc2xhdGVkIGZvcm1hdCBpcyB2YWxpZAoJICBBbHNvIGFkZCBhIEZJWE1FIGluIGdzdF92NGwyX29iamVjdF9zZXR1cF9mb3JtYXQKCSAgdG8gbm90ZSB0aGF0IHRoZSB3aG9sZSBmdW5jdGlvbiBoYXMgdG8gYmUgaW1wcm92ZWQKCSAgaW4gb3JkZXIgdG8gc3VwcG9ydCBFTkNPREVEIGZvcm1hdHMuCgkgIEl0IHJlcXVpcmVzIHRvIGhhdmUgYW4gZW5jb2RlciBkZXZpY2Ugd2hpY2ggd2UgZG8gbm90CgkgIGhhdmUgcmlnaHQgbm93LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzIwNTY4CgoyMDEzLTEyLTA3IDEwOjMxOjE1IC0wNTAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIHY0bDJvYmplY3Q6IFZhbGlkYXRlIHJldHVybmVkIGRpbWVuc2lvbnMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyMDU2OAoKMjAxMy0xMi0wNSAxOTozNjoyNSAtMDUwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICB2NGwyb2JqZWN0OiBFbnN1cmUgbWF4IGlzIG5vdCBzbWFsbGVyIHRoZW4gbWluIGluIGRlY2lkZV9hbGxvY2F0aW9uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjA1NjgKCjIwMTMtMTItMDUgMTk6MzY6MDYgLTA1MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgdjRsMm9iamVjdDogRG9uJ3Qga2VlcCB0aGUgbWF4IHBhcmFtdGVyIHdoZW4gdXNpbmcgb3VyIG93biBwb29sCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjA1NjgKCjIwMTMtMTItMDUgMTk6MzQ6NDQgLTA1MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkgIHY0bDJidWZmZXJwb29sOiBSZXNwZWN0IHRoZSBzdWdnZXN0ZWQgbWluIGJ1ZmZlcgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzIwNTY4CgoyMDEzLTEyLTA1IDE4OjQ4OjQ0IC0wNTAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIHY0bDJvYmplY3Q6IEFsbG9jYXRlIHBvb2wgaWYgbmVlZGVkIGluIGRlY2lkZV9hbGxvY2F0aW9uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjA1NjgKCjIwMTMtMTItMDUgMTg6NDk6MTkgLTA1MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgdjRsMm9iamVjdDogQWRkIFY0TDJfQ0lEX01JTl9CVUZGRVJTX0ZPUl9DQVBUVVJFIHN1cHBvcnQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyMDU2OAoKMjAxMy0xMi0wNSAxODo0ODoxNSAtMDUwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0Lmg6CgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzoKCSAgdjRsMjogTW92ZSBkZWNpZGUgYWxsb2NhdGlvbiBpbnRvIHY0bDJvYmplY3QKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyMDU2OAoKMjAxMy0xMi0wNSAxMzo1MToxMyAtMDUwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0Lmg6CgkgIHY0bDJvYmplY3Q6IEltcGxlbWVudCBfc2V0dXBfZm9ybWF0KCkKCSAgVGhpcyBtZXRob2QgYWxsb3cgc2V0dGluZyB1cCB0aGUgb2JqZWN0IGZyb20gdGhlIGN1cnJlbnRseSBjb25maWd1cmVkIGZvcm1hdCBvbiB0aGUKCSAgZGV2aWNlLiBUaGlzIGlzIHVzZWZ1bCBmb3IgTTJNIGVsZW1lbnQgd2hlcmUgaW5wdXQgZGF0YSBkZWNpZGVzIHRoZSBmb3JtYXQgdGhhdCB3aWxsCgkgIGJlIHNldCBvbiBjYXB0dXJlIHNpZGUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjA1NjgKCjIwMTMtMTItMTAgMTQ6MzQ6MTcgLTA1MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgdjRsMm9iamVjdDogU3BsaXQgb3V0IHNhdmluZyBmb3JtYXQgZnJvbSBzZXRfZm9ybWF0KCkKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyMDU2OAoKMjAxMy0xMi0zMSAxNTozNzoyNiArMDAwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIHY0bDJvYmplY3Q6IHNldCBvbmx5IG9uZSBwbGFuZSBmb3IgZW5jb2RlZCBmb3JtYXQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyMDU2OAoKMjAxMy0xMi0wNCAxNjo0OToxMyAtMDUwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICB2NGwyb2JqZWN0OiBNb3ZlIGNvZGUgYmxvY2sgd2hlcmUgaXQgYmVsb25ncwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzIwNTY4CgoyMDEzLTEyLTA0IDE2OjI2OjEyIC0wNTAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIHY0bDJvYmplY3Q6IERvbid0IGNoZWNrIGZvcm1hdCBzcGVjaWZpYyBpbmZvcm1hdGlvbgoJICBUaGUgbnVtYmVyIG9mIHBsYW5lLCBhbmQgdGhlIHN0cmlkZSBkb2VzIG5vdCByZXByZXNlbnQgYSBjYXBhYmlsaXR5IGNoYW5nZS4gU2FtZSBjYXBzCgkgIGNhbiBoYXZlIGRpZmZlcmVudCBzdHJpZGUgZnJvbSB0aGUgZGVmYXVsdCBHc3RWaWRlb0luZm8gYW5kIHRoZSBudW1iZXIgb2YgcGxhbmVzIHdpbGwKCSAgbmV2ZXIgY2hhbmdlIGZvciAxIGZvcm1hdC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyMDU2OAoKMjAxMy0xMi0wNCAxNjoyMzoxOCAtMDUwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICB2NGwyb2JqZWN0OiBNb3ZlIHRoZSBleHRyYXBvbGF0aW9uIG9mIHN0cmlkZSBhdCB0aGUgcmlnaHQgcGxhY2UKCSAgTm93IHRoYXQgd2UgaGF2ZSBhIHN0cmlkZSBhcnJheSwgd2Ugc2hvdWxkIGV4dHJhcG9sYXRlIG9ubHkgd2hlbgoJICBlZWRlZCAobm9uIG11bHRpLXBsYW5hciBidWZmZXIpLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzIwNTY4CgoyMDEzLTEyLTA0IDE1OjA5OjQ0IC0wNTAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIHY0bDJvYmplY3Q6IE1vdmUgYmFjayBhc3NlcnRpb25zIHdoZXJlIHRoZXkgc2hvdWxkIGJlCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjA1NjgKCjIwMTMtMTItMDQgMTU6MDk6MTAgLTA1MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgdjRsMm9iamVjdDogTW92ZSBtcGxhbmUgbG9naWMgaW50byBnc3RfdjRsMl9vYmplY3RfZ2V0X2NhcHNfaW5mbygpCgkgIEl0IG1ha2VzIHRoZSBnc3RfdjRsMl9vYmplY3Rfc2V0X2Zvcm1hdCgpIHNsaWdodGx5IHNpbXBsaWVyIGFuZCB3aWxsIG1ha2UgdGhhdAoJICBsb2dpYyByZXVzYWJsZS4gTm90ZSB0aGF0IGdzdF92NGwyX29iamVjdF9oYXNfbXBsYW5lKCkgd2lsbCBhbHdheXMgcmV0dXJuIHRoZQoJICBzYW1lIHZhbHVlIGZvciBvbmUgZGV2aWNlLiBUaGVyZSBpcyBubyBuZWVkIHRvIGNoZWNrIGFnYWluc3QgdGhlIGNhcHMgYXMgdGhpcwoJICBoYXMgYWxyZWFkeSBiZWVuIGRvbmUgYnkgX29wZW4uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjA1NjgKCjIwMTMtMTItMDMgMTg6Mjc6NDcgLTA1MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5oOgoJICB2NGwyb2JqZWN0OiBTcGxpdCBfdjRsMmZvdXJjY190b192aWRlb19mb3JtYXQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyMDU2OAoKMjAxMy0xMi0wMiAxODowNToxMSAtMDUwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSAgdjRsMmJ1ZmZlcnBvb2w6IFJlcXVlc3QgYnVmZmVycyBvbmx5IG9uY2UKCSAgVklESU9DX1JFUUJVRlMgYWxsb2NhdGVzIGJ1ZmZlciwgaXQgaGFzIG5vIHBsYWNlIGluc2lkZSBzZXRfY29uZmlnLiBBbHNvLCBzb21lIGRyaXZlciBkbwoJICBubyBhbGxvdyBtdWx0aXBsZSBjYWxscyB0byB0aGlzIGlvY3RsLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzIwNTY4CgoyMDEzLTEyLTAyIDE1OjI2OjUwIC0wNTAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIHY0bDJvYmplY3Q6IERvbid0IHZhbGlkYXRlIGRpbWVuc2lvbiBmb3IgZW5jb2RlZCBmb3JtYXQKCSAgV2Ugc2V0IHRoZSBkaW1lbnNpb25zIGp1c3QgaW4gY2FzZSBidXQgZG9uJ3QgdmFsaWRhdGUgdGhlbQoJICBhZnRlcndhcmRzLiBGb3Igc29tZSBjb2RlY3MgdGhlIGRpbWVuc2lvbnMgYXJlICpub3QqIGluIHRoZQoJICBiaXRzdHJlYW0sIElJUkMgVkMxIGluIEFTRiBtb2RlIGZvciBleGFtcGxlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzIwNTY4CgoyMDEzLTExLTI4IDE3OjEwOjI5IC0wNTAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuaDoKCSAgdjRsMm9iamVjdDogUXVpcmtzIGZvciBkZXYgd2l0aG91dCBpbml0aWFsIGZvcm1hdAoJICBNb3N0IE0yTSBoYXZlIHVuZGVmaW5lZCBiZWhhdmlvdXIgaW5pdGlhbGx5IHdoZW4gVklESU9DX0dfRk1UIGlzIGNhbGxlZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyMDU2OAoKMjAxMy0xMS0yOCAxNzowOToyNiAtMDUwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0Lmg6CgkgIHY0bDJvYmplY3Q6IEFkZCBnc3RfdjRsMl9vYmplY3Rfb3Blbl9zaGFyZWQoKQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzIwNTY4CgoyMDEzLTExLTI4IDE3OjA3OjA1IC0wNTAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi92NGwyX2NhbGxzLmM6CgkqIHN5cy92NGwyL3Y0bDJfY2FsbHMuaDoKCSAgdjRsMm9iamVjdDogSW1wbGVtZW50IGdzdF92NGwyX2R1cCgpCgkgIFRoaXMgd2lsbCBkdXBsaWNhdGVkIHRoZSBGRCBmcm9tIGFub3RoZXIgb2JqZWN0IGFuZCBjb3B5IG92ZXIgdGhlIHByb2JlZCByZXN1bHQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjA1NjgKCjIwMTMtMTEtMjggMTY6NTk6NTkgLTA1MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5oOgoJICB2NGwyb2JqZWN0OiBtYWtlIElPX01PREUgZW51bSBwdWJsaWMKCSAgVGhpcyBpcyB0byBhbGxvdyBhZGRpbmcgYSBzZWNvbmQgaW8tbW9kZSBwcm9wZXJ0eSBvbiBNMk0gZGV2aWNlIGxpa2UgZGVjb2RlciBzbwoJICBpbnB1dCBhbmQgb3V0cHV0IGNhbiBiZSBjb250cm9sbGVkIHNlcGFyYXRseS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyMDU2OAoKMjAxMy0wNi0wNCAyMzo0MjoyNCAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuaDoKCSogc3lzL3Y0bDIvdjRsMl9jYWxscy5jOgoJICB2NGwyOiBiZXR0ZXIgaGFuZGxlIHF1aXJrcyBhY3RpdmF0aW9uCgkgIFRoaXMgd2F5IHdlIGNhbiBhY3RpdmF0ZSBkZWFjdGl2YXRlIHRob3NlIHF1aXJrcyBhbGwgYXQgb25jZSBhdCBvbmUKCSAgcGxhY2UuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjA1NjgKCjIwMTMtMDYtMDQgMjM6MzQ6MDQgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICB2NGwyOiBGaXggaDI2NCBjYXBzCgkgIFY0TDJfUElYX0ZNVF9IMjY0IGlzIGRvY3VtZW50YXRlZCBhcyBieXRlLXN0cmVhbSAod2l0aCBzdGFydCBjb2RlKS4gVGhlIGVuc3VyZSBwcm9wZXIKCSAgbmVnb3RpYXRpb24gd2l0aCBlbGVtZW50IGxpa2UgaDI2NHBhcnNlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzIwNTY4CgoyMDEzLTEyLTA2IDE0OjQ0OjUxIC0wNTAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuaDoKCSAgdjRsMm9iamVjdDogU3BsaXQgY2FwcyBpbiBkaWZmZXJlbnQgY2F0ZWdvcmllcwoJICBUaGlzIGlzIG5lZWQgdG8gY29ycmVjdGx5IGV4cG9zZSBjYXBhYmlsaXRpZXMgb24gc3BlY2lhbGl6ZWQgZGV2aWNlcwoJICBsaWtlIGRlY29kZXJzIGFuZCBlbmNvZGVycy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyMDU2OAoKMjAxNC0wMS0xMCAxNDoxNjowMCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1yZWFkLWNvbW1vbi5jOgoJICBtYXRyb3NrYWRlbXV4OiBkb24ndCBsZWFrIFRPQyBjaGFwdGVyIGxpc3QKCjIwMTQtMDEtMTAgMDg6NTI6MTYgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJICBtYXRyb3NrYW11eDogcmVtb3ZlIG9ic29sZXRlIHdyaXRlLWR1bW15LWFuZC1vdmVyd3JpdGUtb24tZW9zIGNvZGUKCSAgVGhlIG5lZWQgZm9yIHJld3JpdGluZyBhcHBhcmVudGx5IGlzIG9ic29sZXRlIDAuMTAgbGVmdG92ZXIuCgkgIFdlIG5vdyBoYXZlIGNhcHMgZm9yIHN1YnRpdGxlcyB3aGVuIHdlIGNyZWF0ZSB0aGUgaGVhZGVycywKCSAgc28gd2UgYWx3YXlzIHdyaXRlIHRoZSBjb3JyZWN0IGRhdGEgaW4gdGhlIGZpcnN0IHBsYWNlLgoKMjAxNC0wMS0wOSAyMzo1NToxNiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHJ0eHNlbmQuYzoKCSAgcnRwcnR4c2VuZDogcmVtb3ZlIGR1cGxpY2F0ZSBhc3NpZ25tZW50CgkgIENvdmVyaXR5IENJRCAxMTUxNjgwCgoyMDE0LTAxLTA5IDE4OjI1OjA0ICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSAgbWF0cm9za2FtdXg6IHdyaXRlIHN1YnRpdGxlIGNvZGVjIElEIGFuZCBkYXRhIGF0IHN0YXJ0IHdoZW4ga25vd24KCSAgVGhpcyBhdm9pZHMgaXNzdWVzIHdpdGggd3JpdGluZyBkdW1teSBkYXRhIGZpcnN0LCB0aGVuIGhhdmluZwoJICB0byBjb21lIGJhY2sgYW5kIHdyaXRlIGNvcnJlY3QgZGF0YSBsYXRlci4gRG9pbmcgc28gcHJldmVudHMKCSAgdGhlIG11eGVkIHN0cmVhbSBmcm9tIGJlaW5nIGFjdHVhbGx5IHN0cmVhbWFibGUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MTIxMzQKCjIwMTQtMDEtMDkgMTc6MzI6MTUgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogSW5jbHVkZSBBdmFpbGFiaWxpdHlNYWNyb3MuaCBmb3Igb3N4dmlkZW8gY2hlY2sKCSAgT3RoZXJ3aXNlIE1BQ19PU19YX1ZFUlNJT05fTUlOX1JFUVVJUkVEIG1pZ2h0IG5vdCBiZSBkZWZpbmVkCgoyMDE0LTAxLTA5IDExOjU2OjMxIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0cy5zYW50b3NAc2lzYS5zYW1zdW5nLmNvbT4KCgkqIGdzdC9pc29tcDQvYXRvbXMuYzoKCSogZ3N0L2lzb21wNC9hdG9tcy5oOgoJICBxdG11eDogcmVzcGVjdCB0aGUgSERMUiBib3ggc3RyaW5nIGZvcm1hdCBmb3IgbW92IGFuZCBpc29tZWRpYQoJICBNb3Ygc3BlYyBzYXlzIGl0IHVzZXMgYSBwYXNjYWwgc3R5bGUgc3RyaW5nLCB3aGlsZSBpc29tZWRpYSB1c2VzCgkgIGEgbnVsbCB0ZXJtaW5hdGVkIG9uZS4gU3RvcmUgdGhlIGN1cnJlbnQgYXRvbXMgZmxhdm9yIGludG8gdGhlIEhETFIKCSAgdG8gYmUgYWJsZSB0byBnZW5lcmF0ZSB0aGUgY29ycmVjdCBvdXRwdXQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDU5ODIKCjIwMTQtMDEtMDggMTE6Mjg6MDQgKzAxMDAgIFdpbSBUYXltYW5zIDx3dGF5bWFuc0ByZWRoYXQuY29tPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJICBSZXZlcnQgIm1hdHJvc2thbXV4OiBVc2UgdGhlIHJ1bm5pbmcgdGltZSBmb3IgY29udGFpbmVyIHRpbWVzdGFtcHMsIG5vdCBidWZmZXIgdGltZXN0YW1wcyIKCSAgVGhpcyByZXZlcnRzIGNvbW1pdCBiM2FhODc1NWZlMDc2MzlmMjJlNDEwNGY0OTMyZDc2OWQ2YzkwNzVhLgoJICBXZSBhcmUgYWxyZWFkeSB1c2luZyB0aGUgcnVubmluZy10aW1lIGJlY2F1c2UgdGhleSB3ZXJlIHBsYWNlZCBvbiB0aGUKCSAgYnVmZmVycyB3aXRoIGdzdF9jb2xsZWN0X3BhZHNfY2xpcF9ydW5uaW5nX3RpbWUoKS4gQXJndWFibHkgaXQgd291bGQgYmUKCSAgYmV0dGVyIHRvIG5vdCBtb2RpZnkgdGhlIGluY29tbWluZyBidWZmZXJzIGJ1dCBjb2xsZWN0cGFkcyBzZWVtcyB0byB3YW50CgkgIHRvIHVzZSBhYnNvbHV0ZSB0aW1lc3RhbXBzIGZyb20gdGhlIGJ1ZmZlcnMgZm9yIGZpbmRpbmcgdGhlIGJlc3QgYnVmZmVyCgkgICh0aGlzIGNhbiBiZSBjaGFuZ2VkIHdpdGggYSBjdXN0b20gY29tcGFyZSBmdW5jdGlvbi4uKS4KCjIwMTQtMDEtMDggMTA6NDE6MjQgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogRml4IEFDX0NPTVBJTEVfSUZFTFNFIHVzYWdlCgoyMDE0LTAxLTA4IDEwOjMxOjE4ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogY29uZmlndXJlLmFjOgoJICBvc3h2aWRlb3Npbms6IEltcHJvdmUgY29uZmlndXJlIGNoZWNrIGZvciBPU1ggPj0gMTAuNgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzIxMjQ1CgoyMDE0LTAxLTA3IDEyOjEzOjUxIC0wODAwICBBbGVpeCBDb25jaGlsbG8gRmxhcXXDqSA8YWxlaXhAb2Jsb25nLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOgoJICBydHBiaW46IHJlbW92ZSB1bnVzZWQgbGlzdCBvZiBkZWNvZGVycwoJICByZW1vdmUgbGlzdCBvZiBkZWNvZGVycywgd2hpY2ggYXJlIGFscmVhZHkgaGFuZGxlZCBieSB0aGUgbGlzdCBvZiBlbGVtZW50cy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcxOTkzOAoKMjAxNC0wMS0wOCAwOTo0Njo1NSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSAgbWF0cm9za2FtdXg6IEVycm9yIG91dCBpZiBBRFBDTSBjYXBzIGRvbid0IGNvbnRhaW4gdGhlIGxheW91dCBmaWVsZAoKMjAxNC0wMS0wMyAxNToyNToyMyArMDEwMCAgTmljb2xhIE11cmlubyA8bmljb2xhLm11cmlub0BnbWFpbC5jb20+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkgIG1hdHJvc2thbXV4OiBBZGQgc3VwcG9ydCBmb3IgZzcyNiBBRFBDTQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzIwOTk1CgoyMDE0LTAxLTA3IDE1OjA0OjAyICswMTAwICBXaW0gVGF5bWFucyA8d3RheW1hbnNAcmVkaGF0LmNvbT4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogdXNlIG5ldyBtZXRob2QgdG8gZ2V0IG1lZGlhLXR5cGUKCSAgVXNlIHRoZSBuZXcgbWV0aG9kIHRvIGdldCB0aGUgbWVkaWEgdHlwZSBvZiBhIHRyYW5zcG9ydC4KCjIwMTQtMDEtMDYgMjE6MTI6MTcgKzAxMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy93YXZwYXJzZS5jOgoJICB3YXZwYXJzZTogc3BsaXQgdGhlIHRlc3QKCSAgVGhpcyB3YXkgb25lIGZhaWx1cmUgd29uJ3Qgc2hhZG93IHRoZSBvdGhlciB0ZXN0IGFuZCBhbHNvIGlmIG9uZSBmYWlscyB3ZSBnZXQKCSAgYmV0dGVyIGRpc2dub3N0aWNzIHRocm91Z2ggdGhlIHRlc3QtbmFtZS4KCjIwMTQtMDEtMDYgMTQ6NTQ6NDYgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkgIG1hdHJvc2thbXV4OiBBZGQgSEVWQyAvIGgyNjUgc3VwcG9ydAoKMjAxNC0wMS0wNiAxNDo1NDozOCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtaWRzLmg6CgkgIG1hdHJvc2thZGVtdXg6IEFkZCBIRVZDIC8gaDI2NSBzdXBwb3J0CgoyMDE0LTAxLTA2IDEzOjM2OjM4ICswMTAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6CgkgIHdhdnBhcnNlOiByZW1vdmUgaWZkZWYnZWQgY29kZQoJICBXZSBkbyBoYXZlIGFkdGwgYW5kIGN1ZSBwYXJzZSBhcyBwYXJ0IG9mIHRvYyBoYW5kbGluZyBhbHJlZGF5LiBUaGUgZm10IGNvZGUgaXMgYSBsZWZ0IG92ZXIgZnJvbSA8MC4xMCB0aW1lcy4KCjIwMTQtMDEtMDYgMTM6MzI6NTggKzAxMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOgoJICBhdmlkZW11eCwgd2F2ZXBhcnNlOiBtb3JlIGxvZ2dpbmcgZm9yIHVuaGFuZGxlZCBjaHVua3MKCSAgQWx3YXlzIHByaW50IGEgd2FybmluZyB3aXRoIHRoZSB0YWcgYW5kIGlmIHBvc3NpYmxlIGRvIGEgbWVtZHVtcC4KCjIwMTQtMDEtMDUgMjI6NDc6NDIgKzAxMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIGF2aWRlbXV4OiBleHBvc2UgJ3N0cm4nIC0gc3RyZWFtIG5hbWUgLSBhcyB0aXRsZSB0YWcKCjIwMTQtMDEtMDUgMjI6NDE6MjQgKzAxMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIGF2aWRlbXV4OiBwYXJzZSBmdWppIHN0cmQKCSAgV2UgY2FuIGdldCBtYWtlciwgbW9kZWwgYW5kIGNhcHR1cmUgZGF0ZSBmcm9tIHRoaXMgY2h1bmsuCgkgIEZpeGVzICM2MzYxNDMKCjIwMTQtMDEtMDUgMjE6NDY6MzMgKzAxMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIGF2aWRlbXV4OiAuLi4gYW5kIHVzZSB0aGUgbG9jYWwgYXBpIGJvdGggdGltZXMKCjIwMTQtMDEtMDUgMjE6Mzg6MTQgKzAxMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIGF2aWRlbXV4OiBjb3B5IHRoZSByaWZmIGFwaSBmb3IgbmNkdCBpbnRvIHRoZSBlbGVtZW50CgkgIFRoaXMgY2h1bmsgaXMgYXZpIHNwZWNpZmljLCBubyBuZWVkIHRvIGV4cG9zZSB0aGlzIGFzIHB1YmxpYyBhcGkuCgoyMDE0LTAxLTA1IDEwOjI4OjIxICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJICBtYXRyb3NrYW11eDogQWRkIG1pc3Npbmcgc2VtaWNvbG9uIGZyb20gbGFzdCBjb21taXQKCjIwMTQtMDEtMDUgMTA6MjI6MzcgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkgIG1hdHJvc2thbXV4OiBVc2UgdGhlIHJ1bm5pbmcgdGltZSBmb3IgY29udGFpbmVyIHRpbWVzdGFtcHMsIG5vdCBidWZmZXIgdGltZXN0YW1wcwoJICBCdWZmZXIgdGltZXN0YW1wcyBoYXZlIG5vIHJlYWwgbWVhbmluZyBoZXJlLCBhbmQgZm9yIHNlbGVjdGluZyB0aGUgbmV4dAoJICBidWZmZXIgd2UgYWxyZWFkeSB1c2UgdGhlIHJ1bm5pbmcgdGltZSBhbnl3YXkuCgoyMDE0LTAxLTA0IDIxOjM0OjM4ICswMTAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICBhdmk6IHVzZSBuZXcgcmlmZiBhcGkgdG8gZXh0cmFjdCBuaWtvbiBtZXRhZGF0YQoJICBGaXhlcyAjNjM2MTQzCgoyMDEzLTExLTAxIDE2OjQxOjQzICswMDAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGNvbGxhYm9yYS5jby51az4KCgkqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1kb2NzLnNnbWw6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwbWFuYWdlci54bWw6CgkgIHJ0cHJ0eHNlbmQvcnRwcnR4cmVjZWl2ZTogZ2VuZXJhdGUgZ3RrIGRvYwoKMjAxMy0xMi0wMiAxMToyNjowOSArMDEwMCAgR2VvcmdlIEtpYWdpYWRha2lzIDxnZW9yZ2Uua2lhZ2lhZGFraXNAY29sbGFib3JhLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cHJ0eC5jOgoJICB0ZXN0L2NoZWNrOiBWZXJpZnkgcnRwcnR4c2VuZDo6c3NyYy1tYXAgcHJvcGVydHkgd29ya3MgYXMgZXhwZWN0ZWQKCjIwMTMtMTEtMjkgMTk6MzU6NDQgKzAxMDAgIEdlb3JnZSBLaWFnaWFkYWtpcyA8Z2VvcmdlLmtpYWdpYWRha2lzQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBydHhyZWNlaXZlLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHJ0eHJlY2VpdmUuaDoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwYXV4LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cHJ0eC5jOgoJKiB0ZXN0cy9leGFtcGxlcy9ydHAvY2xpZW50LXJ0cGF1eC5jOgoJICBydHBydHhyZWNlaXZlOiBtb2RpZnkgdG8gdXNlIGEgcGF5bG9hZC10eXBlIG1hcCBsaWtlIHJ0cHJ0eHNlbmQKCjIwMTMtMTEtMjkgMTk6NTg6MjYgKzAxMDAgIEdlb3JnZSBLaWFnaWFkYWtpcyA8Z2VvcmdlLmtpYWdpYWRha2lzQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBydHhzZW5kLmM6CgkgIHJ0cHJ0eHNlbmQ6IGRvIG5vdCBrZWVwIGhpc3Rvcnkgb2YgcGFja2V0cyB3aXRoIGFuIHVua25vd24gcGF5bG9hZCB0eXBlCgkgIFRoaXMgYWxsb3dzIHRvIGRpc2FibGUgcmV0cmFuc21pc3Npb24gcGVyIHBheWxvYWQgdHlwZSBieSBub3QgcHV0dGluZwoJICBhIGNlcnRhaW4gcGF5bG9hZCB0eXBlIGluIHRoZSBtYXAuCgoyMDE0LTAxLTAyIDE1OjE4OjUyICswMTAwICBXaW0gVGF5bWFucyA8d3RheW1hbnNAcmVkaGF0LmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHJ0eHNlbmQuYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwcnR4c2VuZC5oOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHBhdXguYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwY29sbGlzaW9uLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cHJ0eC5jOgoJKiB0ZXN0cy9leGFtcGxlcy9ydHAvc2VydmVyLXJ0cGF1eC5jOgoJICBydHBydHhzZW5kOiBBbGxvdyBTU1JDLW11bHRpcGxleGluZyBhbmQgbXVsdGlwbGUgcGF5bG9hZCB0eXBlcyBpbiB0aGUgb3JpZ2luYWwgc3RyZWFtCgkgIENvbmZsaWN0czoKCSAgdGVzdHMvZXhhbXBsZXMvcnRwL3NlcnZlci1ydHBhdXguYwoKMjAxMy0xMS0yNSAxNTowMDo0NSArMDEwMCAgR2VvcmdlIEtpYWdpYWRha2lzIDxnZW9yZ2Uua2lhZ2lhZGFraXNAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHJ0eHNlbmQuYzoKCSAgcnRwcnR4c2VuZDogQWRkIGFuIHJ0eC1zc3JjIHByb3BlcnR5IHRvIGFsbG93IGV4dGVybmFsIGNvbnRyb2wgb2YgdGhlIHNzcmMKCSAgVGhpcyBpcyB1c2VmdWwgd2hlbiBvbmUgbmVlZHMgdG8ga25vdyB0aGUgU1NSQyBiZWZvcmVoYW5kcywgc28gdGhhdCBpdCBjYW4KCSAgYmUgdXNlZCBmb3IgU1JUUCBmb3IgZXhhbXBsZS4KCjIwMTMtMTEtMTMgMTU6MTE6MzUgLTA1MDAgIFRvcnJpZSBGaXNjaGVyIDx0b3JyaWUuZmlzY2hlckBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9leGFtcGxlcy9ydHAvLmdpdGlnbm9yZToKCSogdGVzdHMvZXhhbXBsZXMvcnRwL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9leGFtcGxlcy9ydHAvY2xpZW50LXJ0cGF1eC5jOgoJKiB0ZXN0cy9leGFtcGxlcy9ydHAvc2VydmVyLXJ0cGF1eC5jOgoJICBleGFtcGxlczogcnRwOiBBZGQgZW5kLXRvLWVuZCBydHBiaW4gZXhhbXBsZSB3aXRoIFJUWCBlbGVtZW50cwoJICBUaGlzIGV4YW1wbGUgZGVtb25zdHJhdGVzIGhvdyB0byB1c2UgcnRwYmluIHdpdGggcmV0cmFuc21pc3Npb24gKHJ0eCkKCSAgZWxlbWVudHMgc2V0IGluIHRoZSBwbGFjZSBvZiBydHBiaW4ncyAiYXV4IiBlbGVtZW50cyBpbiBvcmRlciB0bwoJICBlbmFibGUgUlRQIHJldHJhbnNtaXNzaW9uIGFjY29yZGluZyB0byB0aGUgcnVsZXMgb2YgUkZDNDU4OC4KCjIwMTMtMTEtMDUgMTc6MzU6MDEgKzAwMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAY29sbGFib3JhLmNvLnVrPgoKCSogZG9jcy9kZXNpZ24vTWFrZWZpbGUuYW06CgkqIGRvY3MvZGVzaWduL2Rlc2lnbi1ydHBhdXhpbGlhcnkudHh0OgoJICBkb2M6IGFkZCBkZXNpZ24tcnRwYXV4aWxpYXJ5LnR4dCB0byBkZXNjcmliZSBob3cgcnRwYmluIGRlYWxzIHdpdGggYXV4aWxpYXJ5IGVsZW1lbnRzCgoyMDE0LTAxLTAyIDE0OjQ4OjQ5ICswMTAwICBXaW0gVGF5bWFucyA8d3RheW1hbnNAcmVkaGF0LmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzoKCSAgc2Vzc2lvbjogYWxzbyBwdXNoIEVPUyBldmVudCB0byBSVENQIHNyY3BhZAoKMjAxNC0wMS0wMiAxNDo0NjoxMSArMDEwMCAgV2ltIFRheW1hbnMgPHd0YXltYW5zQHJlZGhhdC5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5oOgoJICBzZXNzaW9uOiBwbGFjZSBTU1JDIGluIFJldHJhbnNtaXNzaW9uIGV2ZW50CgoyMDEzLTExLTAxIDE2OjU3OjE1ICswMDAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy8uZ2l0aWdub3JlOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHBhdXguYzoKCSAgdGVzdHMvY2hlY2s6IGFkZCBydHBhdXg6OnRlc3Rfc2ltcGxlX3J0cGJpbl9hdXgKCSAgSXQgc2hvd3MgaG93IHRvIHVzZSAic2V0LWF1eC1yZWNlaXZlIiBhbmQgInNldC1hdXgtc2VuZCIKCSAgcHJvcGVydGllcyBvZiBydHBiaW4gdG8gc2V0IHJ0cHJ0eHNlbmQgYW5kIHJ0cHJ0eHJlY2VpdmUKCSAgQnVpbGQgMiBwaXBlbGluZXMsIG9uZSBmb3IgcnRwYmluIGFzIGEgc2VuZGVyIGFuZCBvbmUgZm9yCgkgIHJ0b2JpbiBhcyBhIHJlY2VpdmUuIFRoZW4gdHJhbnNtaXQgYW4gYXVkaW8gc3RyZWFtLgoJICBJdCBhbHNvIGRyb3BzIHNvbWUgcGFja2V0cyB0byBhY3RpdmF0ZSByZXN0cmFuc21pc3Npb24gYW5kCgkgIGNoZWNrIHRoZXkgYXJlIGFjdHVhbGx5IHJldHJhbnNtaXRlZC4KCjIwMTMtMTEtMDEgMTc6MDk6NDIgKzAwMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwY29sbGlzaW9uLmM6CgkgIHRlc3RzL2NoZWNrOiBhZGQgcnRwY29sbGlzaW9uOjp0ZXN0X3J0eF9zc3JjX2NvbGxpc2lvbiB1bml0IHRlc3QKCSAgY2hlY2sgdGhhdCBydHhydHBzZW5kIGNoYW5nZXMgaXRzIHJldHJhbnNtaXNzaW9uIHNzcmMgd2hlbgoJICBjb2xsaXNpb24gaGFwcGVucwoKMjAxMy0xMS0wNiAxMjozNDoxMyArMDIwMCAgR2VvcmdlIEtpYWdpYWRha2lzIDxnZW9yZ2Uua2lhZ2lhZGFraXNAY29sbGFib3JhLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cHJ0eC5jOgoJICB0ZXN0cy9jaGVjazogYWRkIHJ0cHJ0eDo6dGVzdF9ydHhyZWNlaXZlX2RhdGFfcmVjb25zdHJ1Y3Rpb24KCSAgVGhpcyB1bml0IHRlc3QgdmVyaWZpZXMgdGhhdCByZXRyYW5zbWl0dGVkIHJ0cCBwYWNrZXRzIGNvbWluZyBvdXQKCSAgb2YgcnRwcnR4cmVjZWl2ZSBhcmUgdGhlIHNhbWUgYXMgdGhlIG9yaWdpbmFsIG9uZXMuCgoyMDEzLTExLTA1IDA5OjMzOjUxICswMjAwICBHZW9yZ2UgS2lhZ2lhZGFraXMgPGdlb3JnZS5raWFnaWFkYWtpc0Bjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwcnR4c2VuZC5jOgoJICBydHBydHhzZW5kOiB1c2UgYSByZWFsaXN0aWMgbGltaXQgZm9yIHRoZSB2YWx1ZSBvZiBtYXgtc2l6ZS1wYWNrZXRzCgkgIEdfTUFYSU5UMTYgaXMgY2hvc2VuIGJlY2F1c2UgaWYgdGhlIHF1ZXVlIGNvbnRhaW5zIG1vcmUgdGhhbgoJICBHX01BWElOVDE2IHBhY2tldHMsIHNlcW51bSBjb21wYXJpc29uIHdpbGwgbm90IHdvcmsgcHJvcGVybHkuCgoyMDEzLTExLTA0IDIwOjA1OjAzICswMjAwICBHZW9yZ2UgS2lhZ2lhZGFraXMgPGdlb3JnZS5raWFnaWFkYWtpc0Bjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwcnR4c2VuZC5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBydHhzZW5kLmg6CgkgIHJ0cHJ0eHNlbmQ6IHVzZSBhIEdTZXF1ZW5jZSB0byBpbXBsZW1lbnQgdGhlIGJ1ZmZlciBxdWV1ZQoJICBUaGlzIGhhcyB0aGUgYWR2YW50YWdlIHRoYXQgc2VhcmNoaW5nIHRoZSBxdWV1ZSB0byBmaW5kIHRoZQoJICBidWZmZXIgd2l0aCB0aGUgcmVxdWVzdGVkIHNlcW51bSBpcyBkb25lIHdpdGggYmluYXJ5IHNlYXJjaC4KCjIwMTMtMTEtMDQgMTg6Mzg6MjQgKzAyMDAgIEdlb3JnZSBLaWFnaWFkYWtpcyA8Z2VvcmdlLmtpYWdpYWRha2lzQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBydHhzZW5kLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHJ0eHNlbmQuaDoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwcnR4LmM6CgkgIHJ0cHJ0eHNlbmQ6IHJldHJhbnNtaXQgcGFja2V0cyBpbiB0aGUgc2FtZSBvcmRlciBhcyB0aGUgcnR4IHJlcXVlc3RzCgoyMDEzLTExLTAyIDE5OjU2OjQ0ICswMjAwICBHZW9yZ2UgS2lhZ2lhZGFraXMgPGdlb3JnZS5raWFnaWFkYWtpc0Bjb2xsYWJvcmEuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwcnR4LmM6CgkgIHRlc3RzL2NoZWNrOiBBZGQgdW5pdCB0ZXN0IGZvciBydHhzZW5kJ3MgbWF4X3NpemVfdGltZSBwcm9wZXJ0eQoKMjAxMy0xMC0yOSAxODoyNzowMCArMDEwMCAgR2VvcmdlIEtpYWdpYWRha2lzIDxnZW9yZ2Uua2lhZ2lhZGFraXNAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHJ0eHNlbmQuYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwcnR4c2VuZC5oOgoJICBydHBydHhzZW5kOiBIYW5kbGUgdGhlIG1heF9zaXplX3RpbWUgcHJvcGVydHkKCSAgVGhpcyBwcm9wZXJ0eSBhbGxvd3MgeW91IHRvIHNwZWNpZnkgdGhlIGFtb3VudCBvZiBidWZmZXJzCgkgIHRvIGtlZXAgaW4gdGhlIHJldHJhbnNtaXNzaW9uIHF1ZXVlIGV4cHJlc3NlZCBhcyB0aW1lIChtcykKCSAgaW5zdGVhZCBvZiBidWZmZXIgY291bnQgKHdoaWNoIGlzIHRoZSBtYXhfc2l6ZV9idWZmZXJzIHByb3BlcnR5KS4KCjIwMTMtMTEtMDIgMTU6MjE6MDggKzAyMDAgIEdlb3JnZSBLaWFnaWFkYWtpcyA8Z2VvcmdlLmtpYWdpYWRha2lzQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBydHhzZW5kLmM6CgkgIHJ0cHJ0eHNlbmQ6IGtlZXAgaW1wb3J0YW50IGJ1ZmZlciBpbmZvcm1hdGlvbiBpbiBhIHByaXZhdGUgc3RydWN0dXJlCgkgIFRoaXMgaXMgdG8gYXZvaWQgbWFwcGluZyBhIGJ1ZmZlciBldmVyeSB0aW1lIHdlIG5lZWQgdG8gcmVhZCBhIHNlcW51bQoJICBvciBhIHRpbWVzdGFtcC4KCjIwMTMtMTEtMDEgMTE6NTg6NDcgKzAxMDAgIEdlb3JnZSBLaWFnaWFkYWtpcyA8Z2VvcmdlLmtpYWdpYWRha2lzQGNvbGxhYm9yYS5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHBydHguYzoKCSAgdGVzdHMvY2hlY2s6IEFkZCBydHBydHg6OnRlc3RfcnR4c2VuZGVyX3BhY2tldF9yZXRlbnRpb24KCSAgVGhpcyB1bml0IHRlc3QgdmVyaWZpZXMgdGhhdCB0aGUgcnR4c2VuZCBlbGVtZW50IGNvcnJlY3RseSBtYWludGFpbnMKCSAgYSBidWZmZXIgb2YgYWxyZWFkeSB0cmFuc21pdHRlZCBydHAgcGFja2V0cyBhbmQgdGhhdCBpdCBjYW4KCSAgcmUtdHJhbnNtaXQgYWxsIG9mIHRoZW0gY29ycmVjdGx5IG9uIGRlbWFuZC4gSXQgYWxzbyB2ZXJpZmllcwoJICB0aGF0IHRoZSBsaW1pdCBvZiB0aGlzIGJ1ZmZlciAobWF4LXNpemUtcGFja2V0cyBwcm9wZXJ0eSkgaXMgcmVzcGVjdGVkLgoKMjAxMy0xMS0wMSAxNjoyMjoxMyArMDAwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHBydHguYzoKCSAgdGVzdHMvY2hlY2s6IGFkZCBydHBydHg6OnRlc3RfZHJvcF9tdWx0aXBsZV9zZW5kZXIgdW5pdCB0ZXN0CgkgIFNldmVyYWwgc2VuZGVycyAvIG9uZSByZWNlaXZlcgoJICBTaW1pbGFyIHRoYW4gdGVzdF9kcm9wX29uZV9zZW5kZXIgYnV0IHdpdGggbXVsdGlwbGUgc2VuZGVycwoJICBtaXhlZCB0aHJvdWdoIHRoZSBmdW5uZWwgZWxlbWVudC4KCSAgSXQgZHJvcHMgc29tZSBwYWNrZXRzIGFuZCBjaGVja3MgdGhhdCB0aGV5IGFyZSByZXRyYW5zbWl0ZWQKCSAgY29ycmVjdGx5LgoKMjAxMy0xMS0wMSAxNjoyMTowMCArMDAwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHBydHguYzoKCSAgdGVzdHMvY2hlY2s6IGFkZCBydHBydHg6OnRlc3RfZHJvcF9vbmVfc2VuZGVyIHVuaXQgdGVzdAoJICBUZXN0IGZvciBvbmUgc2VuZGVyIC8gb25lIHJlY2VpdmVyCgkgIEJ1aWxkIHRoZSBwaXBlbGluZQoJICB2aWRlb3Rlc3RzcmMgISBydHB2cmF3cGF5ICEgcnRwcnR4c2VuZCAhIHJ0cHJ0eHJlY2VpdmUgISBmYWtlc2luawoJICBhbmQgZHJvcCBzb21lIGJ1ZmZlcnMgYmV0d2VlbiBydHBydHhzZW5kIGFuZCBydHBydHhyZWNlaXZlCgkgIFRoZW4gaXQgY2hlY2tzIHRoYXQgZXZlcnkgZHJvcHBlZCBwYWNrZXQgaGFzIGJlZW4gcmUtc2VudC4KCSAgSXQgYWxzbyBjaGVja3MgdGhhdCBub3QgdG9vIG11Y2ggcmVxdWVzdHMgaGFzIGJlZW4gc2VudC4KCjIwMTMtMTEtMDEgMTY6MTc6NTEgKzAwMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzLy5naXRpZ25vcmU6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cHJ0eC5jOgoJICB0ZXN0cy9jaGVjazogYWRkIHJ0cHJ0eDo6dGVzdF9wdXNoX2ZvcndhcmRfc2VxCgkgIGFkZCBzaW1wbGUgdW5pdCB0ZXN0IHRoYXQgbWFudWFsbHkgcHVzaCBidWZmZXJzCgkgIGluIHJ0cHJ0eHNlbmQgY29ubmVjdGVkIHRvIHJ0cHJ0eHJlY2VpdmUuCgkgIERyb3BzIHNvbWUgYnVmZmVycyBhbmQgbWFrZSBzdXJlIHRoZXkgYXJlIHJldHJhbnNtaXN0ZWQuCgoyMDEzLTExLTAxIDE1OjUyOjAzICswMDAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL01ha2VmaWxlLmFtOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBtYW5hZ2VyLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHJ0eHJlY2VpdmUuYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwcnR4cmVjZWl2ZS5oOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBydHhzZW5kLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHJ0eHNlbmQuaDoKCSAgcnRwbWFuYWdlcjogYWRkIG5ldyBydHBydHhzZW5kIC8gcnRwcnR4cmVjZWl2ZSBlbGVtZW50cwoJICBUaGUgcHVycG9zZSBvZiB0aGUgc2VuZGVyIFJUWCBvYmplY3QgaXMgdG8ga2VlcCBhIGhpc3RvcnkKCSAgb2YgUlRQIHBhY2tldHMgdXAgdG8gYSBjb25maWd1cmFibGUgbGltaXQgKGluIHRpbWUpLiBJdCB3aWxsCgkgIGxpc3RlbiBmb3IgY3VzdG9tIHJldHJhbnNtaXNzaW9uIGV2ZW50cyBmcm9tIGRvd25zdHJlYW0uIFdoZW4KCSAgaXQgcmVjZWl2ZXMgYSByZXF1ZXN0IGZvciByZXRyYW5zbWlzc2lvbiwgaXQgd2lsbCBsb29rIHVwIHRoZQoJICByZXF1ZXN0ZWQgc2VxbnVtIGluIGl0cyBsaXN0IG9mIHN0b3JlZCBwYWNrZXRzLiBJZiB0aGUgcGFja2V0CgkgIGlzIGF2YWlsYWJsZSwgaXQgd2lsbCBjcmVhdGUgYSBSVFggcGFja2V0IGFjY29yZGluZyB0byBSRkMgNDU4OAoJICBhbmQgc2VuZCB0aGlzIGFzIGFuIGF1eGlsaWFyeSBzdHJlYW0uCgkgIFRoZSByZWNlaXZlciB3aWxsIGxpc3RlbiB0byB0aGUgY3VzdG9tIHJldHJhbnNtaXNzaW9uIGV2ZW50cwoJICBmcm9tIHRoZSBkb3duc3RyZWFtIGppdHRlcmJ1ZmZlciBhbmQgd2lsbCByZW1lbWJlciB0aGUgU1NSQzEKCSAgb2YgdGhlIHN0cmVhbSBhbmQgc2VxbnVtIHRoYXQgd2FzIHJlcXVlc3RlZC4gV2hlbiBpdCBzZWVzIGEKCSAgcGFja2V0IHdpdGggb25lIG9mIHRoZSBzdG9yZWQgc2VxbnVtLCBpdCBhc3NvY2lhdGVzIHRoZSBTU1JDMgoJICBvZiB0aGUgc3RyZWFtIHdpdGggdGhlIFNTUkMxIG9mIHRoZSBtYXN0ZXIgc3RyZWFtLiBGcm9tIHRoZW4KCSAgb24gaXQga25vd3MgdGhhdCBTU1JDMiBpcyB0aGUgcmV0cmFuc21pc3Npb24gc3RyZWFtIG9mIFNTUkMxLgoJICBUaGlzIGFsZ29yaXRobSBpcyBzdGF0ZWQgaW4gUkZDIDQ1ODguIEZvciB0aGlzIGFsZ29yaXRobSB0bwoJICB3b3JrLCBSRkM0NTg4IGFsc28gc3RhdGVzIHRoYXQgbm8gdHdvIHBlbmRpbmcgcmV0cmFuc21pc3Npb24KCSAgcmVxdWVzdHMgY2FuIGV4aXN0IGZvciB0aGUgc2FtZSBzZXFudW0gYW5kIGRpZmZlcmVudCBTU1JDcyBvcgoJICBlbHNlIGl0IHdvdWxkIGJlIGltcG9zc2libGUgdG8gYXNzb2NpYXRlIHRoZSByZXRyYW5zbWlzc2lvbiB3aXRoCgkgIHRoZSBvcmlnaW5hbCByZXF1ZXN0ZXIgU1NSQy4KCSAgV2hlbiB0aGUgUlRYIHJlY2VpdmVyIGhhcyBhc3NvY2lhdGVkIHRoZSByZXRyYW5zbWlzc2lvbiBwYWNrZXRzLAoJICBpdCBjYW4gZGVwYXlsb2FkIGFuZCBmb3J3YXJkIHRoZW0gdG8gdGhlIHNvdXJjZSBwYWQgb2YgdGhlIGVsZW1lbnQuCgkgIFJUWCBpcyBTU1JDLW11bHRpcGxleGVkCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MTEwODQKCjIwMTMtMTEtMDUgMTY6MzY6NDYgKzAwMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAY29sbGFib3JhLmNvLnVrPgoKCSogZG9jcy9kZXNpZ24vTWFrZWZpbGUuYW06CgkqIGRvY3MvZGVzaWduL2Rlc2lnbi1ydHByZXRyYW5zbWlzc2lvbi50eHQ6CgkgIGRvYzogYWRkIGRlc2lnbiBmb3IgcnRwIHJldHJhbnNtaXNzaW9uCgkgIERlc2NyaWJlIGhvdyBydHBydHhzZW5kIGFuZCBydHBydHhyZWNlaXZlIGdlbmVyYWxseSB3b3JrCgkgIGJ1dCBhbHNvIGhvdyB0aGUgYXNzb2NpYXRpb24gYWxnb3JpdGhtIGlzIGltcGxlbWVudGVkLgoKMjAxNC0wMS0wMiAyMDoyMzowNSAtMDMwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8ci52ZXJkZWpvQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOgoJICBzb3VwaHR0cHNyYzogdXNlIHN0YXR1cyBjb2RlIG1hY3JvIGluc3RlYWQgb2YgNDA3CgkgIFJlc3Qgb2YgdGhlIGNvZGUgaXMgdXNpbmcgdGhlIF9QUk9YWV9BVVRIRU5USUNBVElPTl9SRVFVSVJFRAoJICBtYWNybyB0b28uIEVhc2llciB0byB1bmRlcnN0YW5kIGlmIHlvdSBkb24ndCByZWNhbGwgSFRUUAoJICBlcnJvciBjb2RlcyBieSBoZWFydC4KCjIwMTMtMTItMzEgMjE6MzE6NDMgLTAzMDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHIudmVyZGVqb0BzaXNhLnNhbXN1bmcuY29tPgoKCSogZXh0L3Nob3V0Mi9nc3RzaG91dDIuYzoKCSogZXh0L3Nob3V0Mi9nc3RzaG91dDIuaDoKCSAgc2hvdXQyc2VuZDogY2hhbmdlIGF1ZGlvX2Zvcm1hdCBmaWVsZCB0byBmb3JtYXQKCSAgVGhpcyBlbGVtZW50IGFuZCB0aGUgdW5kZXJseWluZyBsaWJzaG91dDIgbGlicmFyeQoJICBjYW4gaGFuZGxlIHZpZGVvIG1lZGlhIGZpbGVzIHRvby4gVGhlIGNvZGUgYWxyZWFkeQoJICBoYW5kbGVzIHZpZGVvL3dlYm0gc28gdGhlIG5hbWUgZ2V0cyBjb25mdXNpbmcuIEFsc28KCSAgYWRkIGFuZCB1c2UgREVGQVVMVF9GT1JNQVQgbWFjcm8gSW5zdGVhZCBvZiBoYXJkd2lyaW5nCgkgIFNIT1VUX0ZPUk1BVF9WT1JCSVMgYXQgaW5pdAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzIxMzQyCgoyMDEzLTEyLTMxIDIwOjA5OjI5IC0wMzAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyLnZlcmRlam9Ac2lzYS5zYW1zdW5nLmNvbT4KCgkqIGV4dC9zaG91dDIvZ3N0c2hvdXQyLmM6CgkgIHNob3V0MnNlbmQ6IGNsYXJpZnkgbWVhbmluZyBvZiB0aGUgVVJMIHByb3AKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyMTM0MgoKMjAxMy0xMi0yNyAxMjoyNzozMiAtMDMwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8ci52ZXJkZWpvQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSogZXh0L3Nob3V0Mi9nc3RzaG91dDIuYzoKCSAgc2hvdXQyc2VuZDogZG9jcywgYWRkIGEgc2FtcGxlIHBpcGVsaW5lCgkgIEFuZCBmaW5pc2ggYWRkaW5nIHNob3V0MnNlbmQgdG8gdGhlIGRvY3Mgd2hpbGUgYXQgaXQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyMTM0MgoKMjAxMy0xMi0zMSAxNTowMDoyMiAtMDMwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8ci52ZXJkZWpvQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiBleHQvZ2RrX3BpeGJ1Zi9nc3RnZGtwaXhidWZvdmVybGF5LmM6CgkgIGdka3BpeGJ1Zm92ZXJsYXk6IHJlbW92ZSBzcHVyaW91cyBAc2VlX2Fsc28KCjIwMTMtMTItMDYgMTc6MDg6NTQgKzAwMDAgIE1hdHRoaWV1IEJvdXJvbiA8bWF0dGhpZXUuYm91cm9uQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuYzoKCSAgZGVpbnRlcmxhY2U6IHN1cHBvcnQgYW55IHZpZGVvIGZvcm1hdHMgYW5kIGFueSBjYXBzIGZlYXR1cmVzIGlmIGRlaW50ZXJsYWNlIG1vZGUgYWxsb3dzIGl0CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MTk2MzYKCjIwMTMtMTItMzEgMTM6MzE6NTIgKzAxMDAgIFNlYmFzdGlhbiBSYXNtdXNzZW4gPHNlYnJhc0Bob3RtYWlsLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgdjRsMjogSGFuZGxlIHY0bDJfaW9jdGwoKSBlcnJvcnMgZXZlbiBpbiBlcnJvciBoYW5kbGluZwoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzIxMjY4CgoyMDE0LTAxLTAxIDEyOjExOjQzIC0wODAwICBKZXJlbXkgSHVkZGxlc3RvbiBTZXF1b2lhIDxqZXJlbXlodUBhcHBsZS5jb20+CgoJKiBzeXMvb3N4dmlkZW8vTWFrZWZpbGUuYW06CgkqIHN5cy9vc3h2aWRlby9vc3h2aWRlb3NpbmsuaDoKCSogc3lzL29zeHZpZGVvL29zeHZpZGVvc2luay5tOgoJICBvc3h2aWRlbzogdW5pZmRlZiAtRFJVTl9OU19BUFBfVEhSRUFECgoyMDE0LTAxLTAxIDEyOjEwOjAxIC0wODAwICBKZXJlbXkgSHVkZGxlc3RvbiBTZXF1b2lhIDxqZXJlbXlodUBhcHBsZS5jb20+CgoJKiBzeXMvb3N4dmlkZW8vY29jb2F3aW5kb3cubToKCSogc3lzL29zeHZpZGVvL29zeHZpZGVvc2luay5oOgoJICBvc3h2aWRlbzogQXNzdW1lIFNESyBhbmQgZGVwbG95bWVudCB0YXJnZXQgYXJlIGF0IGxlYXN0IFNub3cgTGVvcGFyZAoKMjAxNC0wMS0wMSAxMjoyMzo1MCAtMDgwMCAgSmVyZW15IEh1ZGRsZXN0b24gU2VxdW9pYSA8amVyZW15aHVAYXBwbGUuY29tPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IERpc2FibGUgb3N4dmlkZW8gb24gTGVvcGFyZCBhbmQgZWFybGllcgoJICBUaGlzIGFsc28gbW92ZXMgdGhlICJvdGhlciBwbGF0Zm9ybXMiIGNoZWNrIGluIE9TIFggdmlkZW8gdG8gYmVmb3JlIHRoZQoJICB2YXJpYWJsZSBpcyByZWFkCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjEyNDUKCjIwMTMtMTItMzEgMTQ6NTc6MjcgKzAxMDAgIFdpbSBUYXltYW5zIDx3dGF5bWFuc0ByZWRoYXQuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwYmluLmM6CgkgIHRlc3RzOiBhZGQgQVVYIHJlY2VpdmVyIHVuaXQgdGVzdAoKMjAxMy0xMi0zMSAxMzoyMDowMSArMDEwMCAgV2ltIFRheW1hbnMgPHd0YXltYW5zQHJlZGhhdC5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHBiaW4uYzoKCSAgdGVzdHM6IGltcHJvdmUgcnRwYmluIHRlc3QKCjIwMTMtMTItMzEgMTM6MTY6NDYgKzAxMDAgIFdpbSBUYXltYW5zIDx3dGF5bWFuc0ByZWRoYXQuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6CgkgIHJ0cGJpbjogYWRkIHNvbWUgZG9jcyBhYm91dCBBVVggZWxlbWVudHMKCjIwMTMtMTItMzEgMTM6MDE6MjIgKzAxMDAgIFdpbSBUYXltYW5zIDx3dGF5bWFuc0ByZWRoYXQuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwYmluLmM6CgkgIHRlc3RzOiBhZGQgQVVYIHNlbmRlciB1bml0IHRlc3QKCjIwMTMtMTItMzEgMTI6MzE6MjUgKzAxMDAgIFdpbSBUYXltYW5zIDx3dGF5bWFuc0ByZWRoYXQuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5oOgoJICBydHBiaW46IGFkZCBzdXBwb3J0IGZvciBBVVggc2VuZGVyIGFuZCByZWNlaXZlcgoJICBBVVggZWxlbWVudHMgYXJlIGVsZW1lbnRzIHRoYXQgY2FuIGJlIGluc2VydGVkIGludG8gdGhlIHJ0cGJpbgoJICBwaXBlbGluZSByaWdodCBiZWZvcmUgb3IgYWZ0ZXIgMSBvciBtb3JlIHNlc3Npb24gZWxlbWVudHMuCgkgIFRoZSBBVVggZWxlbWVudHMgYXJlIGVzc2VudGlhbCBmb3IgaW1wbGVtZW50aW5nIGZ1bmN0aW9uYWxpdHkgc3VjaAoJICBhcyBlcnJvciBjb3JyZWN0aW9uIChGRUMpIGFuZCByZXRyYW5zbWlzc2lvbiAoUlRYKS4KCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcxMTA4NwoKMjAxMy0xMi0zMSAxMjoyMjozOSArMDEwMCAgV2ltIFRheW1hbnMgPHd0YXltYW5zQHJlZGhhdC5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHBiaW4uYzoKCSAgdGVzdHM6IGFkZCBkZWNvZGVyIHRlc3QKCjIwMTMtMTItMzAgMTc6MzY6NDIgKzAxMDAgIFdpbSBUYXltYW5zIDx3dGF5bWFuc0ByZWRoYXQuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6CgkgIHJ0cGJpbjogbWFrZSByZXF1ZXN0X2VsZW1lbnQgbWV0aG9kIGludGVybmFsbHkKCSAgV2UgY2FuIHVzZSB0aGUgc2FtZSBtZXRob2QgdG8gY3JlYXRlIGVuY29kZXIgYW5kIGRlY29kZXIgZWxlbWVudHMsIHRoZXkKCSAgYXJlIGp1c3QgaW50ZXJuYWwgZWxlbWVudHMgdGhhdCB3ZSBjcmVhdGUuCgoyMDEzLTEyLTMxIDEwOjI1OjI4ICswMTAwICBTdMOpcGhhbmUgQ2VydmVhdSA8c2NlcnZlYXVAZ21haWwuY29tPgoKCSogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6CgkgIHdhdnBhcnNlOiBTa2lwIGlkMyB0YWcKCSAgU2tpcCBpZDMgdGFnIGR1cmluZyB3YXYgcGFyc2UuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjEyNDEKCjIwMTMtMTItMzEgMTA6MTA6MDUgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4Y29yZWF1ZGlvLmg6CgkqIHN5cy9vc3h2aWRlby9jb2NvYXdpbmRvdy5tOgoJKiBzeXMvb3N4dmlkZW8vb3N4dmlkZW9zaW5rLmg6CgkgIG9zeDogTWFrZSBPU1ggdmVyc2lvbiBjaGVja3MgbW9yZSBjb25zaXN0ZW50CgkgIEFuZCBlc3BlY2lhbGx5IGFsc28gY29uc2lkZXIgdXBkYXRlIHZlcnNpb25zLCBlLmcuIDEwLjUgd2l0aCB1cGRhdGVzCgkgIHdpbGwgYmUgMTA1MSBvciBzaW1pbGFyIGFuZCB0aHVzIGJpZ2dlciB0aGFuIE1BQ19PU19YX1ZFUlNJT05fMTBfNSBidXQKCSAgc3RpbGwgd29uJ3QgaGF2ZSB0aGUgQVBJIHdlIHdhbnQgdG8gdXNlLgoKMjAxMy0xMi0zMSAxMDowNzoyMiArMDEwMCAgSmVyZW15IEh1ZGRsZXN0b24gPGplcmVteWh1QGZyZWVkZXNrdG9wLm9yZz4KCgkqIHN5cy9vc3h2aWRlby9vc3h2aWRlb3NpbmsuaDoKCSAgb3N4dmlkZW9zaW5rOiBGaXggYnVpbGQgb24gdXBkYXRlZCBPUyBYIExlb3BhcmQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyMTI0NQoKMjAxMy0xMi0zMCAxNzoyMzoyMiArMDEwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9hdmkvZ3N0YXZpbXV4LmM6CgkgIGF2aW11eDogQWRkIG1pc3NpbmcgYnJlYWsKCSAgSSBndWVzcyBuby1vbmUgbm90aWNlZCB3ZSBubyBsb25nZXIgY291bGQgbXV4IFdNVjMgLi4uCgkgIENPVkVSSVRZIENJRCAxMTM5NzU5CgoyMDEzLTEyLTMwIDE3OjIwOjM3ICswMTAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L3J0cC9nc3RydHB2cmF3cGF5LmM6CgkgIHJ0cHZyYXdwYXk6IEFkZCBtaXNzaW5nIGJyZWFrCgkgIENPVkVSSVRZIENJRCAxMTM5NzYyCgoyMDEzLTEyLTMwIDE3OjAwOjQ1ICswMTAwICBXaW0gVGF5bWFucyA8d3RheW1hbnNAcmVkaGF0LmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSAgcnRwc2Vzc2lvbjogaW50ZXJuYWwtc3NyYyBpcyBubyBsb25nZXIgZGVwcmVjYXRlZAoKMjAxMy0xMi0zMCAxNjo1OToyMCArMDEwMCAgV2ltIFRheW1hbnMgPHd0YXltYW5zQHJlZGhhdC5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzoKCSAgcnRwYmluOiBhZGQgU2luY2UgdGFncwoKMjAxMy0xMi0zMCAxNjo1MjoyOCArMDEwMCAgV2ltIFRheW1hbnMgPHd0YXltYW5zQHJlZGhhdC5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmg6CgkgIHJ0cGJpbjogYWRkIHNpZ25hbCBmb3IgbmV3IGppdHRlcmJ1ZmZlcgoJICBFbWl0IGEgc2lnbmFsIHdoZW4gYSBuZXcgaml0dGVyYnVmZmVyIGlzIGNyZWF0ZWQgc28gdGhhdCB0aGUgYXBwIGNhbgoJICBoYXZlIGEgY2hhbmNlIHRvIGNvbmZpZ3VyZSBpdC4KCjIwMTMtMTItMzAgMTY6Mjg6NTcgKzAxMDAgIFdpbSBUYXltYW5zIDx3dGF5bWFuc0ByZWRoYXQuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cGJpbi5jOgoJICBydHBiaW46IGhhbmRsZSBtdWx0aXBsZSBlbmNvZGVyIGluc3RhbmNlcwoJICBLZWVwIHRyYWNrIG9mIGVsZW1lbnRzIHRoYXQgYXJlIGFkZGVkIHRvIG11bHRpcGxlIHNlc3Npb25zIGFuZCBtYWtlIHN1cmUKCSAgd2Ugb25seSBhZGQgdGhlbSB0byB0aGUgcnRwYmluIG9uY2UgYW5kIHRoYXQgd2UgY2xlYW4gdGhlbSB3aGVuIG5vCgkgIHNlc3Npb24gcmVmZXJzIHRvIHRoZW0gYW55bW9yZS4KCjIwMTMtMTItMzAgMTU6MTY6MDkgKzAxMDAgIFdpbSBUYXltYW5zIDx3dGF5bWFuc0ByZWRoYXQuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwYmluLmM6CgkgIHRlc3RzOiBhZGQgdW5pdCB0ZXN0IGZvciBlbmNvZGVyIGVsZW1lbnQKCjIwMTMtMTItMzAgMTU6MTU6NDMgKzAxMDAgIFdpbSBUYXltYW5zIDx3dGF5bWFuc0ByZWRoYXQuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6CgkgIHJ0cGJpbjogZml4IG1lbW9yeSBsZWFrcwoKMjAxMy0xMi0zMCAxNTowMzozNCArMDEwMCAgV2ltIFRheW1hbnMgPHd0YXltYW5zQHJlZGhhdC5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHBiaW4uYzoKCSAgdGVzdHM6IGZpeCBsZWFrCgoyMDEzLTEyLTMwIDE1OjAwOjUwICswMTAwICBXaW0gVGF5bWFucyA8d3RheW1hbnNAcmVkaGF0LmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOgoJICBydHBiaW46IGV4cGVjdCB0aGUgcGFkcyBvbiB0aGUgZW5jb2RlcnMKCSAgRG9uJ3QgdXNlIHJlcXVlc3QgcGFkcyBmb3IgdGhlIGVuY29kZXIgZWxlbWVudHMsIHRoZSBzaWduYWwgaGFuZGxlcgoJICBzaG91bGQgcmVxdWVzdCB0aGUgcGFkcyBhbmQgbWFrZSBzdXJlIHRoZXkgYXJlIGF2YWlsYWJsZSB3aXRoIHRoZSByaWdodAoJICBuYW1lLgoKMjAxMy0xMi0zMCAxNDo1NjowNyArMDEwMCAgV2ltIFRheW1hbnMgPHd0YXltYW5zQHJlZGhhdC5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmg6CgkgIHJ0cGJpbjogcmVxdWVzdC1ydHAtZW5jb2RlciBhcmUgbm8gYWN0aW9uIHNpZ25hbHMKCSAgVGhlIHJlcXVlc3QtcnRwLWVuY29kZXIgc2lnbmFscyBhcmUgbm90IGFjdGlvbiBzaWduYWxzIHNvIG1hcmsgdGhlbQoJICBjb3JyZWN0bHkgYW5kIHVzZSBhbiBhY2N1bXVsYXRvciB0byBjb2xsZWN0IHRoZSByZXN1bHQgdmFsdWUuCgoyMDEzLTEyLTMwIDE0OjM2OjQ1ICswMTAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6CgkgIHdhdnBhcnNlOiBlbWl0IG1pZGktYmFzZS1ub3RlIHRhZyBmcm9tIGRhdGEgaW4gJ3NtcGwnIGNodW5rCgkgIEFkZCBwYXJzaW5nIG9mIHRoZSAnc21wbCcgY2h1bmsuIFJpZ2h0IG5vdyB3ZSBvbmx5IGdyYWIgdGhlIG1pZGktYmFzZS1ub3RlIGFuZAoJICBlbWl0IGl0IGFzIGEgdGFnLgoKMjAxMy0xMi0yNiAxMjowNToxOSArMDIwMCAgR2VvcmdlIEtpYWdpYWRha2lzIDxnZW9yZ2Uua2lhZ2lhZGFraXNAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzoKCSAgZ3N0cnRwc2Vzc2lvbjogc3VnZ2VzdCB1cHN0cmVhbSB0byB1c2UgdGhlIG5ldyAiaW50ZXJuYWwtc3NyYyIgYWZ0ZXIgYSBjb2xsaXNpb24KCSAgV2hlbiBhIGNvbGxpc2lvbiBpcyBmb3VuZCBvbiB0aGUgaW50ZXJuYWwgc3NyYywgd2UgaGF2ZSB0byBjaGFuZ2UgaXQuCgkgIElkZWFsbHksIHdlIHdhbnQgYWxzbyB0aGUgcGF5bG9hZGVyIHVwc3RyZWFtIHRvIGZvbGxvdyB0aGlzIGNoYW5nZSBhbmQgdXNlCgkgIHRoZSBuZXcgaW50ZXJuYWwgc3NyYy4gSWRlYWxseSB3ZSB3YW50IHRoaXMgY29uZGl0aW9uIHRvIGJlIGFsd2F5cyBtZXQ6CgkgIGlmIHRoZXJlIGlzIG9uZSBwYXlsb2FkZXIgc2VuZGluZyBvbiB0aGlzIHNlc3Npb24sIGl0cyBzc3JjIHNob3VsZCBtYXRjaCB0aGUKCSAgaW50ZXJuYWwgc3NyYy4KCjIwMTMtMTItMjYgMTE6MDQ6MjkgKzAyMDAgIEdlb3JnZSBLaWFnaWFkYWtpcyA8Z2VvcmdlLmtpYWdpYWRha2lzQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkgIHJ0cHNlc3Npb246IGFsbG93IHNldHRpbmcgaW50ZXJuYWwtc3NyYyBhZ2FpbgoKMjAxMy0xMi0zMCAxMzozMTo0NSArMDEwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC95NG0vZ3N0eTRtZW5jb2RlLmM6CgkgIHk0bWVuY29kZTogUmVtb3ZlIGRlYWQgY29kZQoJICBzZXQvZ2V0IHByb3BlcnR5IGlzbid0IHVzZWQKCjIwMTMtMTItMzAgMTM6MzA6MjQgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cHFjZWxwZGVwYXkuYzoKCSAgcnRwcWNlbHBkZXBheTogUmVtb3ZlIHVuZWVkZWQgdmFyaWFibGUKCjIwMTMtMTItMDUgMTU6NTM6NTIgLTA4MDAgIEFsZWl4IENvbmNoaWxsbyBGbGFxdcOpIDxhbGVpeEBvYmxvbmcuY29tPgoKCSAgcnRwYmluOiBhbGxvdyBkeW5hbWljIFJUUC9SVENQIGVuY29kZXJzL2RlY29kZXJzCgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLltjaF06IGZvdXIgbmV3IGFjdGlvbiBzaWduYWxzIGhhdmUgYmVlbgoJICBhZGRlZCAocmVxdWVzdC1ydHAtZW5jb2RlciwgcmVxdWVzdC1ydHAtZGVjb2RlciwgcmVxdWVzdC1ydGNwLWVuY29kZXIKCSAgYW5kIHJlcXVlc3QtcnRjcC1kZWNvZGVyKS4gVGhlIHVzZXIgd2lsbCBiZSBhYmxlIHRvIHByb3ZpZGUgZW5jb2RlcnMKCSAgb3IgZGVjb2RlcnMgZHluYW1pY2FsbHkuIFRoZSBlbmNvZGVycyBtdXN0IGZvbGxvdyB0aGUgc3J0cGVuYyBBUEkgYW5kCgkgIHRoZSBkZWNvZGVycyB0aGUgc3J0cGRlYyBBUEkuIEhhdmluZyBzZXBhcmF0ZSBzaWduYWxzIGZvciBSVFAgYW5kIFJUQ1AKCSAgYWxsb3dzIHRoZSB1c2VyIHRvIHVzZSBkaWZmZXJlbnQgZW5jb2RlcnMvZGVjb2RlcnMgb3IgcHJvdmlkZSB0aGUgc2FtZQoJICBvbmUgKGUuZy4gdGhhdCB3b3VsZCBiZSB0aGUgY2FzZSBmb3Igc3J0cGVuYykuCgkgIEFsc28sIHJ0cGJpbiBub3cgYWxsb3dzIGFwcGxpY2F0aW9uL3gtc3J0cCBpbiBpdHMgcGFkcy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcxOTkzOAoKMjAxMy0xMi0yNyAxNjo1MTozMiArMDEwMCAgV2ltIFRheW1hbnMgPHd0YXltYW5zQHJlZGhhdC5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgcnRwaml0dGVyYnVmZmVyOiBkeW5hbWljYWxseSByZWNhbGN1bGF0ZSBSVFggcGFyYW1ldGVycwoJICBVc2UgdGhlIHJvdW5kLXRyaXAtdGltZSBhbmQgYXZlcmFnZSBqaXR0ZXIgdG8gZHluYW1pY2FsbHkgY2FsY3VsYXRlIHRoZQoJICByZXRyYW5zbWlzc2lvbiBpbnRlcnZhbCBhbmQgZXhwZWN0ZWQgcGFja2V0IGFycml2YWwgdGltZS4KCSAgQmFzZWQgb24gcGF0Y2hlcyBmcm9tIFRvcnJpZSBGaXNjaGVyIDx0b3JyaWUuZmlzY2hlckBjb2xsYWJvcmEuY28udWs+CgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MTE0MTIKCjIwMTMtMTItMjcgMTY6NTA6NTIgKzAxMDAgIFdpbSBUYXltYW5zIDx3dGF5bWFuc0ByZWRoYXQuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIHJ0cGppdHRlcmJ1ZmZlcjogY2FsY3VsYXRlIGF2ZXJhZ2Ugaml0dGVyCgoyMDEzLTEyLTI3IDE2OjQ4OjQ4ICswMTAwICBXaW0gVGF5bWFucyA8d3RheW1hbnNAcmVkaGF0LmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6CgkgIHJ0cHNlc3Npb246IHVzZSBSVFQgZnJvbSB0aGUgUmV0cmFuc21pc3Npb24gZXZlbnQKCSAgUGxhY2UgdGhlIGVzdGltYXRlZCBSVFQgaW4gdGhlIFJldHJhbnNtaXNzaW9uIGV2ZW50IGFuZCBsZXQgdGhlIHNlc3Npb24KCSAgbWFuYWdlciB1c2UgdGhhdCBpbnN0ZWFkIG9mIHRoZSBoYXJkY29kZWQgdmFsdWUuCgoyMDEzLTEyLTI3IDE1OjU3OjM5ICswMTAwICBXaW0gVGF5bWFucyA8d3RheW1hbnNAcmVkaGF0LmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBqaXR0ZXJidWZmZXI6IHRha2UgbW9yZSBhY2N1cmF0ZSBydW5uaW5nLXRpbWUgZm9yIE5BQ0sKCSAgRG9uJ3QgdXNlIHRoZSBjdXJyZW50IHRpbWUgY2FsY3VsYXRlZCBmcm9tIHRoZSB0bWllb3V0IGxvb3AgZm9yIHdoZW4gd2UKCSAgbGFzdCBzY2hlZHVsZWQgdGhlIE5BQ0sgYmVjYXVzZSBpdCBtaWdodCBiZSB1bnNjaGVkdWxlZCBiZWNhdXNlIG9mIGEgbWF4CgkgIHBhY2tldCBtaXNvcmRlciBhbmQgdGhlbiB3ZSBkb24ndCBhY2N1cmF0ZWx5IGNhbGN1bGF0ZSB0aGUgY3VycmVudCB0aW1lLgoJICBJbnN0ZWFkLCB0YWtlIHRoZSBjdXJyZW50IGVsZW1lbnQgcnVubmluZyB0aW1lIHVzaW5nIHRoZSBjbG9jay4KCjIwMTMtMTItMzAgMTE6MDY6MzggKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy93YXZwYWNrZGVjLmM6CgkgIHdhdnBhY2tkZWM6IFNlbmQgYSBDQVBTIGV2ZW50IGluIHRoZSB1bml0IHRlc3QKCjIwMTMtMTItMjcgMDI6MTQ6MDIgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRzLnNhbnRvc0BzaXNhLnNhbXN1bmcuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkqIGdzdC9pc29tcDQvcXRkZW11eC5oOgoJICBxdGRlbXV4OiBpbXByb3ZlIG1zc19tb2RlL2ZyYWdtZW50ZWQgc3BlY2lhbCBoYW5kbGluZwoJICBNYWtlIGl0IGNsZWFyIHdoYXQgc2hvdWxkIGJlIGhhbmRsZWQgcHVyZWx5IGJ5IG1zcyBtb2RlOgoJICAxKSBFeHBvc2UgdGhlIHN0cmVhbXMgb24gdGhlIGZpcnN0IG1vb2YgYXMgdGhlcmUgYXJlIG5vIG1vb3YgYXRvbXMKCSAgMikgUHJvcGVybHkgY2xlYW51cCBzdHJlYW1zIG9uIGZsdXNoZXMKCSAgQWRkIGEgbm90ZSBhYm91dCB0aGUgbWVhbmluZyBvZiB1cHN0cmVhbV9uZXdzZWdtZW50IGFuZCBtc3NfbW9kZQoJICBmb3IgZnV0dXJlIHJlZmVyZW5jZS4KCSAgTWFrZSBhbGwgb3RoZXIgc3BlY2lhbCBmcmFnbWVudCBoYW5kbGluZyBzaGFyZWQgZm9yIGJvdGggZGFzaAoJICBhbmQgbXNzIHN0cmVhbXMuCgoyMDEzLTEyLTEyIDEwOjUwOjI3IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0cy5zYW50b3NAc2lzYS5zYW1zdW5nLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBkcmFpbiB0aGUgYWRhcHRlciBiZWZvcmUgcHVzaGluZyBFT1MKCSAgSW4gYSBmcmFnbWVudGVkIHNjZW5hcmlvLCBxdGRlbXV4IGlzIG9wZXJhdGluZyBpbiBwdXNoIG1vZGUKCSAgYW5kIGl0IGdldHMgYSBmcmFnbWVudGVkIGJ1ZmZlci4gV2hpbGUgcHJvY2Vzc2luZyBpdHMgZGF0YQoJICBkb3duc3RyZWFtIGdldHMgdW5saW5rZWQgKG9yIGEgaW5wdXQtc2VsZWN0b3IgY2hhbmdlcyBpdHMKCSAgYWN0aXZlIHBhZCBhbmQgcmV0dXJucyBub3QtbGlua2VkKS4gUXRkZW11eCBzdG9wcyBwcm9jZXNzaW5nCgkgIHRoaXMgZnJhZ21lbnQgYW5kIHJldHVybnMgbm90LWxpbmtlZCB1cHN0cmVhbSwgbGVhdmluZyB0aGUKCSAgcmVtYWluaW5nIGRhdGEgaW4gaXRzIGFkYXB0ZXIuCgkgIFdoZW4gaXQgZ2V0cyBhbiBFT1MgaXQgc2hvdWxkIG1ha2Ugc3VyZSB0aGF0IGFsbCB0aGUgZGF0YSBpdAoJICBoYWQgcmVjZWl2ZWQgaXMgcHVzaGVkIGJlZm9yZSBwdXNoaW5nIEVPUy4KCjIwMTMtMTItMjYgMjM6MjE6NDcgLTAzMDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHIudmVyZGVqb0BzaXNhLnNhbXN1bmcuY29tPgoKCSogZXh0L3Nob3V0Mi9nc3RzaG91dDIuYzoKCSAgc2hvdXQyc2VuZDogZHJvcCBJUCBvbmx5IHJlcXVpcmVtZW50IGZvciBfc2V0X2hvc3QoKQoJICBsaWJzaG91dDIgKHdlIHJlcXVpcmUgPiAyLjAgYXQgY29uZmlnIHRpbWUpIHN1cHBvcnRzCgkgIGJvdGggSVAgYW5kIGhvc3RuYW1lIGZvciBfc2V0X2hvc3QoKS4gRHJvcHBlZCBhbgoJICBvdXRkYXRlZCBGSVhNRSByZWdhcmRpbmcgdGhpcyBsaW1pdGF0aW9uLCBhZGp1c3RlZAoJICBzb21lIGNvbW1lbnRzIGFuZCBjaGFuZ2VkIHRoZSBwYXJhbSBibHVyYiB0byByZWZsZWN0CgkgIHRoaXMgdG9vLgoKMjAxMy0xMi0yNiAyMTo0MzozNCAtMDMwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8ci52ZXJkZWpvQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiBleHQvc2hvdXQyL2dzdHNob3V0Mi5jOgoJICBzaG91dDJzZW5kOiBSZXRhcmdldCBGSVhNRSB0byAyLjAKCjIwMTMtMTItMjYgMTE6MjE6MzYgKzAxMDAgIFdpbSBUYXltYW5zIDx3dGF5bWFuc0ByZWRoYXQuY29tPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiB1c2UgYWdncmVnYXRlIGNvbnRyb2wgZm9yIFBMQVkvUEFVU0UvVEVBUkRPV04KCSAgVXNlIHRoZSBhZ2dyZWdhdGUgY29udHJvbCBpbnN0ZWFkIG9mIHRoZSBvcmlnaW5hbCByZXF1ZXN0IHVybCB0byBwZXJmb3JtCgkgIFBBVVNFL1BMQVkgYW5kIFRFQVJET1dOLgoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzIxMDAzCgoyMDEzLTEyLTI0IDE0OjQwOjI1ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2RlYnVndXRpbHMvcm5kYnVmZmVyc2l6ZS5jOgoJICBybmRidWZmZXJzaXplOiBQcm94eSBDQVBTLCBBTExPQ0FUSU9OLCBTQ0hFRFVMSU5HIGFuZCBzcmNwYWQgZXZlbnRzIHByb3Blcmx5CgoyMDEzLTEyLTI0IDAwOjQzOjM5ICswMTAwICBOaWNvbGEgTXVyaW5vIDxuaWNvbGEubXVyaW5vQGdtYWlsLmNvbT4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSAgbWF0cm9za2FtdXg6IGFkcGNtIG1heCBibG9jayBhbGlnbiBpcyA4MTkyCgoyMDEzLTEyLTIzIDEyOjIzOjI3IC0wNjAwICBCcmVuZGFuIExvbmcgPGIubG9uZ0BjYWJsZWxhYnMuY29tPgoKCSogY29uZmlndXJlLmFjOgoJICB2cDlkZWM6IFJlcXVpcmUgdnB4ID49IDEuMy4wIGZvciBidWlsZGluZyB2cDlkZWMgYW5kIHZwOWVuYwoJICBQcmV2aW91cyB2ZXJzaW9ucyBkaWQgbm90IGhhdmUgYSBzdGFibGUgYml0c3RyZWFtIGZvciBWUDkuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjA5ODYKCjIwMTMtMTItMjMgMTU6NDY6NDggKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkgIG1hdHJvc2thbXV4OiBVc2UgY29ycmVjdCBjb2RlYyBpZCBmb3IgQURQQ00vRFZJCgoyMDEzLTEyLTIzIDE1OjQ0OjMwICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thZGVtdXg6IENoZWNrIGZvciB0aGUgY29ycmVjdCBzaXplIG9mIGNvZGVjX2RhdGEgaW4gdGhlIEFDTSBjYXNlCgoyMDEyLTAxLTE0IDE5OjU4OjE3ICswMTAwICBOaWNvbGEgTXVyaW5vIDxuaWNvbGEubXVyaW5vQGdtYWlsLmNvbT4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSAgbWF0cm9za2FtdXg6IGJhc2ljIGFkcGNtIHN1cHBvcnQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY2NDMzOQoKMjAxMy0xMi0yMCAxMTo0NTozOCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9pc29tcDQvZGVzY3JpcHRvcnMuYzoKCSAgcXRkZW11eDogRml4IGNhbGN1YXRpb24gb2YgZGVzY3JpcHRvciBsZW5ndGgKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyMDgxMwoKMjAxMy0xMi0yMiAyMjozMzozOSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGF1dG9nZW4uc2g6CgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gZGJlZGFhMCB0byBkNDhiZWQzCgoyMDEzLTEyLTIyIDIxOjU2OjAzICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogcG8vTWFrZXZhcnM6CgkgIHBvOiBzZXQgZ2V0dGV4dCBkb21haW4gaW4gTWFrZXZhcnMgc28gd2UgZG9uJ3QgaGF2ZSB0byBwYXRjaCB0aGUgZ2VuZXJhdGVkIE1ha2VmaWxlLmluLmluCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDU0NTUKCjIwMTMtMTItMTkgMTY6NTA6MTAgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvdWRwL2dzdHVkcHNyYy5jOgoJICB1ZHBzcmM6IG9uIHJlY2VpdmUgZXJyb3Igb25seSB1bm1hcCBhbmQgdW5yZWYgYnVmZmVyIGlmIG9uZSB3YXMgYWxsb2NlZCBhbmQgbWFwcGVkCgkgIGNvdmVyaXR5IENJRCAxMTM5ODY2LgoKMjAxMy0xMi0xOSAxMjo0NzoyMiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC91ZHAvZ3N0bXVsdGl1ZHBzaW5rLmM6CgkgIG11bHRpdWRwc2luazogZml4IG1pc2xlYWRpbmcgY29tbWVudAoJICBUaG9zZSBhcmUgbm90IGFsbG9jYXRlZCBvbiB0aGUgc3RhY2suCgoyMDEzLTEyLTE3IDE4OjI4OjI1ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogY29uZmlndXJlLmFjOgoJICB2cHg6IE1hcmsgVlA5IHN1cHBvcnQgYXMgbm9uLWV4cGVyaW1lbnRhbAoJICBUaGVyZSB3YXMgYSBsaWJ2cHggcmVsZWFzZSB3aXRoIFZQOSBzdXBwb3J0IG5vdyBhbmQgdGhlIGJpdHN0cmVhbQoJICBpcyBmcm96ZW4gdG9vLgoKMjAxMy0xMi0xNSAyMTowNDoxMSAtMDgwMCAgVG9kZCBBZ3VsbmljayA8dG9kZEBhZ3Vsbmljay5jb20+CgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuYzoKCSAgU29tZSBjb21waWxlciB3YXJuaW5nIGZpeGVzIHRvIHNhdGlzZnkgWENvZGUgY29tcGlsZXIKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyMDUxMwoKMjAxMy0xMi0xNiAxNjoxNzowNyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC90YWdsaWIvZ3N0aWQzdjJtdXguY2M6CgkgIGlkM3YybXV4OiBTZXQgcGljdHVyZSB0eXBlIGluIHRoZSBBUElDIGZyYW1lcwoKMjAxMy0xMi0xNiAxNjoxNDo1MiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC90YWdsaWIvZ3N0aWQzdjJtdXguY2M6CgkgIGlkM3YybXV4OiBTZXQgaW1hZ2UtZGVzY3JpcHRpb24gZnJvbSB0aGUgaW5mbyBzdHJ1Y3QsIG5vdCB0aGUgY2FwcwoKMjAxMy0xMi0xNiAxMDowMjozNyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0d2F2cGFja3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0d2F2cGFja3BhcnNlLmg6CgkgIHdhdnBhY2twYXJzZTogUG9zdCBBVURJT19DT0RFQyB0YWcKCjIwMTMtMTItMTYgMTA6MDA6MzcgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdHNiY3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0c2JjcGFyc2UuaDoKCSAgc2JjcGFyc2U6IFBvc3QgQVVESU9fQ09ERUMgdGFnCgoyMDEzLTEyLTE2IDA5OjU4OjMxICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RmbGFjcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RmbGFjcGFyc2UuaDoKCSAgZmxhY3BhcnNlOiBQb3N0IEFVRElPX0NPREVDIHRhZwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzIwNTEyCgoyMDEzLTEyLTE2IDA5OjU2OjI5ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RkY2FwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGRjYXBhcnNlLmg6CgkgIGRjYXBhcnNlOiBQb3N0IEFVRElPX0NPREVDIHRhZwoKMjAxMy0xMi0xNiAwOTo1NDozOCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YW1ycGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhbXJwYXJzZS5oOgoJICBhbXJwYXJzZTogUG9zdCBBVURJT19DT0RFQyB0YWcKCjIwMTMtMTItMTYgMDk6NDk6NDggKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFjM3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWMzcGFyc2UuaDoKCSAgYWMzcGFyc2U6IFBvc3QgQVVESU9fQ09ERUMgdGFnCgoyMDEzLTEyLTE2IDA5OjQ2OjE2ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYWNwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFhY3BhcnNlLmg6CgkgIGFhY3BhcnNlOiBQb3N0IEFVRElPX0NPREVDIHRhZwoKMjAxMy0xMi0xNiAwOTo0MToxNCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0bXBlZ2F1ZGlvcGFyc2UuYzoKCSAgbXBlZ2F1ZGlvcGFyc2U6IFVzZSBwYnV0aWxzIGZ1bmN0aW9uYWxpdHkgdG8gY3JlYXRlIHRoZSBBVURJT19DT0RFQyB0YWcKCjIwMTMtMTItMTMgMTc6MzY6MzYgLTA1MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkgIHJ0cHNlc3Npb246IEFkZCBlcnJvciBtZXNzYWdlIGlmIHRoZSBhcHAgdHJpZXMgdG8gc2V0IHRoZSBpbnRlcm5hbC1zc3JjCgoyMDEzLTEyLTEzIDE2OjA4OjM1IC0wNTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJICBydHBzZXNzaW9uOiBPbmx5IGNvdW50IG5hY2tzIHdoZW4gYSBuYWNrIHBhY2tldCBpcyByZWNlaXZlZAoJICBOb3Qgd2hlbiBhbnkgUlRDUCBmZWVkYmFjayBwYWNrZXQgaXMuCgoyMDEzLTEyLTEyIDIzOjIyOjQxIC0wNTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwY29sbGlzaW9uLmM6CgkgIHRlc3RzOiBJbml0aWFsaXplIHNlZ21lbnQgaW4gcnRwY29sbGlzaW9uIHRlc3QKCjIwMTMtMTItMTMgMTU6NTc6MzYgLTA1MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkgIHJ0cHNlc3Npb246IFByb2Nlc3MgUFNGQiBGSVIgcmVxdWVzdHMgd2hpY2ggbGFjayB0aGUgbWVkaWEgc3NyYwoJICBBY2NvcmRpbmcgdG8gUkZDIDUxMDQgc2VjdGlvbiA0LjMuMS4yLCBSVENQIFBTRkIgRklSIG1lc3NhZ2UgU0hBTEwKCSAgaGF2ZSBhIG1lZGlhX3NzcmMgZmllbGQgc2V0IHRvIDAuIFRoZSBhY3R1YWwgbWVkaWEgc3NyYyBpcyBpbiB0aGUgRkNJLgoJICBTbyBpbiB0aGF0IGNhc2UsIHdlIGlnbm9yZSB0aGUgcmV0YWluZWQgZmVlZGJhY2sgYW5kIGp1c3QgbGV0IGl0IHRocm91Z2gKCSAgdG8gdGhlIHJ0cF9zZXNzaW9uX3Byb2Nlc3NfZmlyKCkgZnVuY3Rpb24gd2hpY2ggd2lsbCBjaGVjayBmb3IgdGhlIGFjdHVhbAoJICBTU1JDIGluc2lkZSB0aGUgRkNJLgoJICBGaXhlcyBhIHJlZ3Jlc3Npb24gaW50cm9kdWNlZCBieSBjb21taXQgNTdjMjdlYzMKCjIwMTMtMTEtMTQgMTY6MTk6MjkgKzAyMDAgIEdlb3JnZSBLaWFnaWFkYWtpcyA8Z2VvcmdlLmtpYWdpYWRha2lzQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuaDoKCSAgcnRwc2Vzc2lvbjogZml4IHJiIGJsb2NrcyBkaXNhcHBlYXJpbmcgYWZ0ZXIgdGhlIGZpcnN0IHJ0Y3AgY3ljbGUgd2l0aCBtdWx0aXBsZSBzZW5kZXJzCgkgIFByZXZpb3VzbHksIHdoZW4gdGhlIHNlc3Npb24gaGFkIG11bHRpcGxlIGludGVybmFsIHNlbmRlciBTU1JDcywgaXQgd291bGQKCSAgaXNzdWUgU1IgcmVwb3J0cyB3aXRoIFJCIGJsb2NrcyBvbmx5IG9uIHRoZSBmaXJzdCBSVENQIHRpbWVvdXQgYW5kIGFmdGVyd2FyZHMKCSAgU1IgcmVwb3J0cyB3b3VsZCBiZSBzZW50IGVtcHR5LiBUaGlzIHdhcyBiZWNhdXNlIHRoZSAiZ2VuZXJhdGlvbiIgbnVtYmVyCgkgIGluIFJUUFNvdXJjZSB3b3VsZCBpbmNyZWFzZSBtb3JlIHRoYW4gb25jZSBkdXJpbmcgdGhlIHNhbWUgY3ljbGUgYW5kIGFmdGVyd2FyZHMKCSAgaXQgd291bGQgYWx3YXlzIGJlIGdyZWF0ZXIgdGhhbiB0aGUgc2Vzc2lvbidzIGdlbmVyYXRpb24sIHdoaWNoIHdvdWxkIGNhdXNlCgkgIGl0IHRvIGJlIHNraXBwZWQgZnJvbSBiZWluZyBpbmNsdWRlZCBpbiBSQnMuCgkgIFRoaXMgY29tbWl0IGZpeGVzIHRoaXMgcHJvYmxlbSBieToKCSAgMSkgSW5jcmVhc2luZyB0aGUgUlRQU291cmNlIGdlbmVyYXRpb24gb25seSBhdCB0aGUgZW5kIG9mIGVhY2ggY3ljbGUsCgkgIHdoaWNoIGVzc2VudGlhbGx5IGZpeGVzIHRoZSBwcm9ibGVtIGJ1dCBvbmx5IHdoZW4gdGhlIGludGVybmFsIHNlbmRlcnMKCSAgYXJlIGxlc3MgdGhhbiBHU1RfUlRDUF9NQVhfUkJfQ09VTlQuCgkgIDIpIEtlZXBpbmcgZm9yIGVhY2ggUlRQU291cmNlIGEgc2V0IG9mIFNTUkNzIHdoaWNoIHN0b3JlcyB3aGljaCBTU1JDJ3MKCSAgU1IgdGhlIGdpdmVuIFJUUFNvdXJjZSBoYXMgYmVlbiByZXBvcnRlZCBpbiwgd2hpY2ggYWxzbyBmaXhlcyB0aGUgcHJvYmxlbQoJICB3aGVuIHRoZSBpbnRlcm5hbCBzZW5kZXJzIGFyZSBtb3JlIHRoYW4gR1NUX1JUQ1BfTUFYX1JCX0NPVU5ULiBUaGlzIGlzCgkgIG5lY2Vzc2FyeSBiZWNhdXNlIG9mIHRoZSBmYWN0IHRoYXQgYW55IFJUUFNvdXJjZSBpcyBtYXJrZWQgYXMgcmVwb3J0ZWQKCSAgaW4gaXRzZWxmJ3MgU1IgYW5kIG1ha2VzIGl0IGltcG9zc2libGUgdG8ga25vdyBpZiBpdCBoYXMgYmVlbiByZXBvcnRlZAoJICBpbiBvdGhlciBTUnMgdG9vIG9yIG5vdCwgYW5kIHdoaWNoLgoKMjAxMy0xMS0xNCAxNjoyMzozNSArMDIwMCAgR2VvcmdlIEtpYWdpYWRha2lzIDxnZW9yZ2Uua2lhZ2lhZGFraXNAY29sbGFib3JhLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cHNlc3Npb24uYzoKCSAgdGVzdHMvY2hlY2s6IGFkZCBhbiBydHBzZXNzaW9uIHVuaXQgdGVzdCB0byB2ZXJpZnkgYWxsIFJCcyBhcmUgaW5jbHVkZWQgaW4gYWxsIFNScywgcm91bmRyb2JpbgoJICBUaGlzIHRlc3QgY2hlY2tzIHRoYXQgd2hlbiB3ZSBoYXZlIG11bHRpcGxlIGludGVybmFsIHNlbmRlciBzb3VyY2VzCgkgIGluIHJ0cHNlc3Npb24sIFNScyBjb250YWluIFJCcyBmb3IgZXZlcnkgb3RoZXIgc2VuZGVyIHNvdXJjZSwgYW5kIHRoYXQKCSAgdGhleSBhcmUgaW5jbHVkZWQgcm91bmRyb2JpbiB3aGVuIHRoZXkgZXhjZWVkIFNUX1JUQ1BfTUFYX1JCX0NPVU5ULAoJICB3aGljaCBpcyB0aGUgbWF4IG51bWJlciBvZiBSQnMgdGhhdCBjYW4gZml0IGluIGEgU1IuCgoyMDEzLTEyLTEyIDE2OjAxOjEwICswMTAwICBXaW0gVGF5bWFucyA8d3RheW1hbnNAcmVkaGF0LmNvbT4KCgkqIGRvY3MvZGVzaWduL2Rlc2lnbi1ydHBjb2xsaXNpb24udHh0OgoJICBkb2NzOiBpbXByb3ZlIGRvY3MKCjIwMTMtMTEtMDUgMTg6MDM6NDggKzAwMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAY29sbGFib3JhLmNvLnVrPgoKCSogZG9jcy9kZXNpZ24vTWFrZWZpbGUuYW06CgkqIGRvY3MvZGVzaWduL2Rlc2lnbi1ydHBjb2xsaXNpb24udHh0OgoJICBkb2M6IGFkZCBkZXNpZ24tcnRwY29sbGlzaW9uLnR4dCB0aGF0IGV4cGxhaW5zIHdoZW4gR3N0UlRQQ29sbGlzaW9uIGlzIGNyZWF0ZWQKCSAgSXQgYWxzbyB0YWxrcyBhYm91dCAiQllFIG9ubHkgdGhlIGNvcnJlc3BvbmRpbmcgc291cmNlLCBub3QgdGhlIHdob2xlIHNlc3Npb24uIgoKMjAxMy0xMS0wNSAxMjozMTo1NCArMDAwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHBjb2xsaXNpb24uYzoKCSAgdGVzdHMvY2hlY2s6IGltcHJvdmUgcnRwY29sbGlzaW9uOjp0ZXN0X21hc3Rlcl9zc3JjX2NvbGxpc2lvbiB0byBlbnN1cmUgdGhhdCBhIGNvbGxpc2lvbiBkb2VzIG5vdCBCWUUgdGhlIHdob2xlIHNlc3Npb24KCSAgQ29uZmxpY3RzOgoJICB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHBjb2xsaXNpb24uYwoKMjAxMy0xMS0wMSAxNzowNzo1NyArMDAwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvLmdpdGlnbm9yZToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwY29sbGlzaW9uLmM6CgkgIHRlc3RzL2NoZWNrOiBhZGQgcnRwY29sbGlzaW9uOjp0ZXN0X21hc3Rlcl9zc3JjX2NvbGxpc2lvbiB1bml0IHRlc3QKCSAgSXQgY2hlY2tzIHRoZSBwYXlsb2FkZXIgY2hhbmdlcyBpdHMgc3NyYyB3aGVuIGNvbGxpc2lvbiBoYXBwZW5zCgoyMDEzLTEyLTEyIDEwOjM4OjQzICswMTAwICBHZW9yZ2UgS2lhZ2lhZGFraXMgPGdlb3JnZS5raWFnaWFkYWtpc0Bjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmg6CgkgIHJ0cHNlc3Npb246IGtlZXAgZXh0cmEgc3RhdHMgZm9yIHNjaGVkdWxpbmcgQllFCgkgIEtlZXAgYW4gZXh0cmEgc3RhdHMgc3RydWN0dXJlIGZvciBzY2hlZHVsaW5nIHRoZSBCWUUgcGFja2V0cy4gV2hlbiB3ZQoJICBkZWNpZGUgdG8gc2NoZWR1bGUgQllFLCBtYWtlIGEgY29weSBvZiB0aGUgY3VycmVudCBzdGF0cyBpbnRvIHRoZQoJICBieWVfc3RhdHMuIFRoZW4gd2hpbGUgd2Ugc2NoZWR1bGUgdGhlIEJZRSwgdXBkYXRlIGFuZCB1c2Ugb25seSB0aGUKCSAgYnllX3N0YXRzLiBXaGVuIHdlIGZpbmlzaGVkIHNjaGVkdWxpbmcgdGhlIEJZRSBwYWNrZXQsIHdlIHVzZSB0aGUKCSAgcmVndWxhciBzdGF0cyBhZ2Fpbi4KCjIwMTMtMTItMTIgMTA6MzQ6MzggKzAxMDAgIEdlb3JnZSBLaWFnaWFkYWtpcyA8Z2VvcmdlLmtpYWdpYWRha2lzQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkgIHJ0cHNlc3Npb246IHdoZW4gd2Ugc2NoZWR1bGUgQllFLCBvbmx5IGRlYWwgd2l0aCBCWUUgc291cmNlcwoJICBXaGVuIHdlIGFyZSBkb2luZyB0aGUgUlRDUCB0aW1lb3V0IHRvIHNjaGVkdWxlIEJZRSBwYWNrZXRzLCBkb24ndAoJICBnZW5lcmF0ZSBSVENQIGZvciBhbGwgc291cmNlcyBidXQgb25seSBmb3IgdGhlIHNvdXJjZXMgbWFya2VkIGFzIEJZRS4KCjIwMTMtMTItMTIgMTA6MzI6NDggKzAxMDAgIEdlb3JnZSBLaWFnaWFkYWtpcyA8Z2VvcmdlLmtpYWdpYWRha2lzQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkgIHJ0cHNlc3Npb246IHJlc2V0IHN0YXRlIGFmdGVyIHNjaGVkdWxpbmcgQllFCgkgIEFmdGVyIHdlIGRvIFJUQ1AsIHdlIGFyZSBub3Qgc2NoZWR1bGluZyBieWUgYW55bW9yZS4KCjIwMTMtMTItMTIgMTA6MzE6MzggKzAxMDAgIEdlb3JnZSBLaWFnaWFkYWtpcyA8Z2VvcmdlLmtpYWdpYWRha2lzQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkgIHJ0cHNlc3Npb246IGFsc28gY291bnQgTkFDS1Mgd2hlbiBubyBzaWduYWwgd2FzIHBlbmRpbmcKCjIwMTMtMTItMTIgMTA6MDk6MjUgKzAxMDAgIEdlb3JnZSBLaWFnaWFkYWtpcyA8Z2VvcmdlLmtpYWdpYWRha2lzQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkgIHNlc3Npb246IGlnbm9yZSBSVENQIHBhY2tldHMgZm9yIHRoZSBCWUUgc291cmNlcwoJICBXaGVuIHdlIGFyZSBzY2hlZHVsaW5nIEJZRSBwYWNrZXRzLCBpZ25vcmUgYWxsIFJUQ1AgZm9yIHRoZSBzb3VyY2VzIHRoYXQKCSAgYXJlIHNjaGVkdWxpbmcgYSBCWUUgcGFja2V0LiBPdGhlciBzb3VyY2VzIHRoYXQgYXJlIG5vdCBzY2hlZHVsaW5nIEJZRQoJICBzaG91bGQgY29udGludWUgcmVjZWl2aW5nIFJUQ1AgcGFja2V0cyBhcyB1c3VhbC4KCjIwMTMtMTEtMDQgMTE6NDg6MjEgKzAwMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmg6CgkgIHJ0cHNlc3Npb246IGRldGVybWluZSBpZiB0aGUgc2Vzc2lvbiBpcyBkb2luZyBwb2ludC10by1wb2ludAoJICBJbiB0aGlzIGNhc2UgVF9kaXRoZXJfbWF4IGlzIHNldCB0byAwIGFjY29yZGluZyB0byBSRkMgNDU4NQoKMjAxMy0xMi0xMCAxMTo1NzozNyArMDEwMCAgV2ltIFRheW1hbnMgPHd0YXltYW5zQHJlZGhhdC5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwaml0dGVyYnVmZmVyLmM6CgkgIHJ0cGppdHRlcmJ1ZmZlcjogc2VyaWFsaXplIGV2ZW50cyBpbiB0aGUgYnVmZmVyCgkgIFNlcmlhbGl6ZSBldmVudHMgaW50byB0aGUgaml0dGVyYnVmZmVyIGJ5IGluc2VydGluZyB0aGVtIHdpdGggYSAtMQoJICBzZXFudW0uCgkgIFVwZGF0ZSB1bml0IHRlc3QgdG8gZXhwZWN0IGV2ZW50cyBmcm9tIHRoZSBzdHJlYW1pbmcgdGhyZWFkLgoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjUyOTg2CgoyMDEzLTEyLTEwIDExOjA0OjA2ICswMTAwICBXaW0gVGF5bWFucyA8d3RheW1hbnNAcmVkaGF0LmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBydHBqaXR0ZXJidWZmZXI6IGRldGVjdCAtMSBzZXFudW0KCSAgS2VlcCB0aGUgc2VxbnVtIGFzIGEgZnVsbCBndWludCBzbyB0aGF0IHdlIGNhbiBjaGVjayBmb3IgLTEgZW50cmllcyBhbmQKCSAgZGVhbCB3aXRoIHRoZW0gY29ycmVjdGx5LgoJICBJbW1lZGlhdGVseSB0cnkgdG8gcHVzaCAtMSBzZXFudW0uCgoyMDEzLTEyLTEwIDExOjAxOjAzICswMTAwICBXaW0gVGF5bWFucyA8d3RheW1hbnNAcmVkaGF0LmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cGppdHRlcmJ1ZmZlci5jOgoJICBydHBqaXR0ZXJidWZmZXI6IHJlb3JnYW5pemUgaml0dGVyYnVmZmVyIGl0ZW1zCgkgIEtlZXAgdGhlIG9sZGVzdCBpdGVtIGF0IHRoZSBoZWFkIGFuZCB0aGUgbmV3ZXN0IGl0ZW1zIG9uIHRoZSB0YWlsLiBUaGlzCgkgIG1ha2VzIGl0IGVhc2llciB0byBkZWFsIHdpdGggLTEgc2VxbnVtcy4KCjIwMTMtMTItMDkgMjM6MzQ6MTAgKzAxMDAgIFdpbSBUYXltYW5zIDx3dGF5bWFuc0ByZWRoYXQuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwaml0dGVyYnVmZmVyLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cGppdHRlcmJ1ZmZlci5oOgoJICBqaXR0ZXJidWZmZXI6IGNvcnJlY3RseSBjaGVjayBmb3IgaW52YWxpZCB2YWx1ZXMKCSAgQ2hlY2sgZm9yIC0xIG9uIHRoZSBndWludCBmcm9tIHRoZSBidWZmZXIgaXRlbSBpbnN0ZWFkIG9mIG9uIHRoZSBndWludDE2CgkgIG9yIGd1aW50MzIuCgkgIEFsc28gaW5zZXJ0IC0xIHNlcW51bSBhdCB0aGUgaGVhZCBvZiB0aGUgaml0dGVyYnVmZmVyLgoKMjAxMy0xMi0wOCAxNjo0OTo1NSArMDEwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBzeXMvb3N4dmlkZW8vY29jb2F3aW5kb3cubToKCSogc3lzL29zeHZpZGVvL29zeHZpZGVvc2luay5tOgoJICBvc3h2aWRlb3Npbms6IGZpeCBzZWdmYXVsdCB3aGVuIGRlYWxpbmcgd2l0aCBwYWRkZWQgZnJhbWVzCgkgIEZpeGVzIGNyYXNoZXMgd2l0aCB2dGRlYyAhIG9zeHZpZGVvc2luayB3aGVyZSBWaWRlb1Rvb2xib3ggb3V0cHV0cyBwYWRkZWQgVVlWWQoKMjAxMy0xMi0wNSAxMjoxNToyOSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9sYXcvbXVsYXctZGVjb2RlLmM6CgkgIG11bGF3ZGVjOiBSZXF1aXJlIGNhcHMgdG8gYmUgc2V0IGJlZm9yZSBhY2NlcHRpbmcgYW55IGRhdGEKCjIwMTMtMTItMDUgMTI6MTU6MTkgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZGVjLmM6CgkgIHdhdnBhY2tkZWM6IFJlcXVpcmUgY2FwcyB0byBiZSBzZXQgYmVmb3JlIGFjY2VwdGluZyBhbnkgZGF0YQoKMjAxMy0xMi0wNSAxMjoxMzozMyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9zcGVleC9nc3RzcGVleGRlYy5jOgoJICBzcGVleGRlYzogUmVxdWlyZSBjYXBzIHRvIGJlIHNldCBiZWZvcmUgYWNjZXB0aW5nIGFueSBkYXRhCgoyMDEzLTEyLTA1IDEyOjEzOjEwICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5jOgoJICBmbGFjZGVjOiBSZXF1aXJlIGNhcHMgdG8gYmUgc2V0IGJlZm9yZSBhY2NlcHRpbmcgYW55IGRhdGEKCjIwMTMtMTItMDUgMTE6NDI6MTUgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvdnB4L2dzdHZwOGRlYy5jOgoJKiBleHQvdnB4L2dzdHZwOWRlYy5jOgoJICB2cHg6IFVzZSBuZXcgZ3N0X3ZpZGVvX2RlY29kZXJfc2V0X25lZWRzX2Zvcm1hdCgpIEFQSQoKMjAxMy0xMi0wNCAxNjoyMzo0MyAtMDUwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSAgcHVsc2VzaW5rOiBGcmVlIGRldmljZV9pbmZvIGluIGFjY2VwdHMgY2FwcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzE5ODExCgoyMDEzLTEyLTA0IDIxOjU3OjQ4ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0cC9nc3RydHB0aGVvcmFwYXkuYzoKCSAgcnRwdGhlb3JhcGF5OiBEb24ndCBzZW5kIGhlYWRlcnMgdHdpY2UgaWYgd2UgZ290IHRoZW0gZnJvbSB0aGUgY2FwcyBhbHJlYWR5CgoyMDEzLTEyLTA0IDIxOjU3OjA0ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0cC9nc3RydHB0aGVvcmFwYXkuYzoKCSAgcnRwdGhlb3JhcGF5OiBEb24ndCBsZWFrIGNvbmZpZyBkYXRhIHdoZW4gcmVjZWl2aW5nIGEgc2Vjb25kIENBUFMgZXZlbnQKCjIwMTMtMTItMDQgMjE6NTU6NTMgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cHZvcmJpc3BheS5jOgoJICBydHB2b3JiaXNwYXk6IERvbid0IHNlbmQgaGVhZGVycyB0d2ljZSBpZiB3ZSBnb3QgdGhlbSBmcm9tIHRoZSBjYXBzIGFscmVhZHkKCjIwMTMtMTItMDQgMjE6NTQ6MTYgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cHZvcmJpc3BheS5jOgoJICBydHB2b3JiaXNwYXk6IERvbid0IGxlYWsgY29uZmlnIGRhdGEgd2hlbiByZWNlaXZpbmcgYSBzZWNvbmQgQ0FQUyBldmVudAoKMjAxMy0xMi0wNCAyMToxNzowMyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHAvTWFrZWZpbGUuYW06CgkqIGdzdC9ydHAvZ3N0cnRwLmM6CgkqIGdzdC9ydHAvZ3N0cnRwc3RyZWFtZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBzdHJlYW1kZXBheS5oOgoJICBydHBzdHJlYW1kZXBheTogQWRkIFJGQzQ1NzEgUlRQIHN0cmVhbSBkZXBheWxvYWRpbmcgZWxlbWVudAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzE5ODI5CgoyMDEzLTEyLTA0IDEwOjEyOjQ2ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0cC9NYWtlZmlsZS5hbToKCSogZ3N0L3J0cC9nc3RydHAuYzoKCSogZ3N0L3J0cC9nc3RydHBzdHJlYW1wYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBzdHJlYW1wYXkuaDoKCSAgcnRwc3RyZWFtcGF5OiBBZGQgUkZDNDU3MSBSVFAgc3RyZWFtIHBheWxvYWRpbmcgZWxlbWVudAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzE5ODI5CgoyMDEzLTEyLTAzIDE1OjA4OjI1IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0cy5zYW50b3NAc2lzYS5zYW1zdW5nLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguaDoKCSAgcXRkZW11eDogaW1wcm92ZSBmcmFnbWVudC1zdGFydCB0cmFja2luZwoJICBTb21lIGJ1ZmZlcnMgY2FuIGhhdmUgbXVsdGlwbGUgbW9vdiBhdG9tcyBpbnNpZGUgYW5kIHRoZSBzdHJhdGVneQoJICBvZiB1c2luZyB0aGUgZ3N0X2FkYXB0ZXJfcHJldl9wdHMgdGltZXN0YW1wIHRvIGdldCB0aGUgYmFzZSB0aW1lc3RhbXAKCSAgZm9yIHRoZSBtZWRpYSBvZiB0aGUgZnJhZ21lbnQgd291bGQgZmFpbCBhcyBpdCB3b3VsZCByZXVzZSB0aGUgc2FtZQoJICBiYXNlIHRpbWVzdGFtcCBmb3IgYWxsIG1vb2ZzIGluIHRoZSBidWZmZXIgaW5zdGVhZCBvZiBhY2N1bXVsYXRpbmcKCSAgdGhlIGR1cmF0aW9ucyBmb3IgYWxsIG9mIHRoZW0uCgkgIEhlcmVzIGEgYmV0dGVyIGV4cGxhbmF0aW9uIG9mIHRoZSBpc3N1ZToKCSAgcXRkZW11eCByZWNlaXZlcyBhIGJ1ZmZlciB3aGVyZSBQVFMoYnVmKSA9IFgKCSAgYnVmIC0+IG1vb2ZBIHwgbW9vZkIgfCBtb29mQwoJICBUaGUgcHJvYmxlbSB3YXMgdGhhdCBQVFMoYnVmKSB3YXMgdXNlZCBhcyB0aGUgYmFzZSB0aW1lc3RhbXAgZm9yCgkgIGFsbCAzIG1vb2ZzLCBjYXVzaW5nIGFsbCBidWZmZXJzIHRvIGJlIFggYmFzZWQuIEluIHRoaXMgY2FzZSB3ZSB3YW50CgkgIG9ubHkgbW9vZkEgdG8gYmUgWCBiYXNlZCBhcyBpdCBpcyB3aGF0IHRoZSBQVFMgb24gYnVmIG1lYW5zLCBhbmQgdGhlCgkgIG90aGVyIG1vb2ZCIGFuZCBtb29mQyBqdXN0IHVzZSB0aGUgYWNjdW11bGF0ZWQgdGltZXN0YW1wIGZyb20gdGhlCgkgIHByZXZpb3VzIG1vb2ZzIGR1cmF0aW9ucy4KCSAgVG8gc29sdmUgdGhpcywgdGhpcyBwYXRjaCB1c2VzIGdzdF9hZGFwdGVyX3ByZXZfcHRzIGRpc3RhbmNlCgkgIHJlc3VsdCwgdGhpcyBhbGxvd3MgcXRkZW11eCB0byBjYWxjdWxhdGUgaWYgaXQgc2hvdWxkIHVzZSB0aGUKCSAgcmVzdWx0aW5nIHB0cyBvciBqdXN0IGFjY3VtdWxhdGUgdGhlIHNhbXBsZXMgYXMgaXQgY2FuIGlkZW50aWZ5CgkgIGlmIHRoZSBtb29mcyBiZWxvbmcgdG8gdGhlIHNhbWUgdXBzdHJlYW0gYnVmZmVyIG9yIG5vdC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcxOTc4MwoKMjAxMy0xMS0yMSAxMjoyOToyOCArMDAwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJICB2NGwyYnVmZmVycG9vbDogYWRkIHN1cHBvcnQgZm9yIG11bHRpLXBsYW5hciBWNGwyIEFQSSBpbiBETUFCVUYgbW9kZQoJICBGaXhlcyBidWcgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcxMjc1NAoKMjAxMy0xMS0xOSAxNzoxNjoyNyArMDAwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5oOgoJICB2NGwyOiByZWZhY3RvciBieSBlbXVsYXRpbmcgb25lIHY0bDJfcGxhbmUgaW4gbm9uLU1QTEFORSBtb2RlCgkgIHNvIHRoYXQgdGhlIGJ1ZmZlciBpbmZvcm1hdGlvbnMgY2FuIGJlIHJldHJpZXZlZCB0aGUgc2FtZSB3YXkKCSAgaW4gYm90aCBNUExBTkUgYW5kIG5vbi1NUExBTkUgbW9kZS4KCSAgSGVyZSAiZW11bGF0aW5nIiBtZWFucyAibWFudWFsbHkgZmlsbCBpbiB0aGUgcGxhbmUiLgoJICBGaXhlcyBidWcgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcxMjc1NAoKMjAxMy0xMS0xMyAxMjowNTo0MCArMDAwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5oOgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuaDoKCSogc3lzL3Y0bDIvdjRsMl9jYWxscy5jOgoJICB2NGwyOiBhZGQgc3VwcG9ydCBmb3IgbXVsdGktcGxhbmFyIFY0TDIgQVBJCgkgIFRoaXMgYXBpIGlzIGluIGxpbnV4IGtlcm5lbCBzaW5jZSB2ZXJzaW9uIDIuNi4zOSwKCSAgYW5kIHByZXNlbnQgaW4gYWxsIHZlcnNpb24gMy4KCSAgVGhlIGNvbW1pdCB0aGF0IGFkZHMgdGhlIEFQSSBpbiBtYXN0ZXIgYnJhbmNoIG9mIHRoZQoJICBsaW51eCBrZXJuZWwgc291cmNlIGlzOgoJICBodHRwczovL2dpdGh1Yi5jb20vdG9ydmFsZHMvbGludXgvY29tbWl0L2Y4ZjM5MTRjZjkyMmY1ZjllMWQ2MGU5ZTEwZjZmYjkyNzQyOTA3YWQKCSAgdjRsMiBkb2M6ICJTb21lIGRldmljZXMgcmVxdWlyZSBkYXRhIGZvciBlYWNoIGlucHV0CgkgIG9yIG91dHB1dCB2aWRlbyBmcmFtZSB0byBiZSBwbGFjZWQgaW4gZGlzY29udGlndW91cwoJICBtZW1vcnkgYnVmZmVycyIKCSAgVGhlcmUgYXJlIG5ld2VyIHN0cnVjdHVyZXMgJ3N0cnVjdCB2NGwyX3BpeF9mb3JtYXRfbXBsYW5lJwoJICBhbmQgJ3N0cnVjdCB2NGwyX3BsYW5lJy4KCSAgU28gdGhlIHBpeGVsIGZvcm1hdCBpcyBub3Qgc2V0dXAgd2l0aCB0aGUgc2FtZSBBUEkgd2hlbiB1c2luZwoJICBtdWx0aS1wbGFuYXIuCgkgIEFsc28gZm9yIGdzdC12NGwyLCBvbmUgb2YgdGhlIGRpZmZlcmVuY2UgaXMgdGhhdCBpbiBHc3RWNGwyTWV0YQoJICB0aGVyZSBhcmUgbm93IG9uZSBtZW0gcG9pbnRlciBmb3IgZWFjaCBtYXBlZCBwbGFuZS4KCSAgV2hlbiBub3QgdXNpbmcgbXVsdGktcGxhbmFyLCB0aGlzIGNvbW1pdCB0YWtlcyBjYXJlIG9mIGtlZXBpbmcKCSAgdGhlIHNhbWUgY29kZSBwYXRoIHRoYW4gcHJldmlvdXNseS4gU28gdGhhdCB0aGUgMiBjYXNlcyBhcmUKCSAgaW4gdHdvIGRpZmZlcmVudCBibG9ja3MgdHJpZ2dlcmVkIGZyb20gVjRMMl9UWVBFX0lTX01VTFRJUExBTkFSLgoJICBGaXhlcyBidWcgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcxMjc1NAoKMjAxMy0xMi0wNCAwOToxMjowNyArMDEwMCAgV2ltIFRheW1hbnMgPHd0YXltYW5zQHJlZGhhdC5jb20+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFhY3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWMzcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RkY2FwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdG1wZWdhdWRpb3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0c2JjcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3R3YXZwYWNrcGFyc2UuYzoKCSAgYXVkaW9wYXJzZXJzOiBkb24ndCBsZWFrIHRlbXBsYXRlIGNhcHMKCjIwMTMtMTItMDMgMjE6NDE6MjggKzAxMDAgIFdpbSBUYXltYW5zIDx3dGF5bWFuc0ByZWRoYXQuY29tPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYWNwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFjM3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YW1ycGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RkY2FwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdG1wZWdhdWRpb3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0c2JjcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3R3YXZwYWNrcGFyc2UuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYWFjcGFyc2UuYzoKCSAgYXVkaW9wYXJzZXJzOiB1c2UgQUNDRVBUX0lOVEVSU0VDVCBmbGFnCgkgIFRoZSBwYXJzZXIgY2FuIGFjY2VwdCBpbnB1dCB0aGF0IGlzIG5vdCBjb21wbGV0ZWx5IHNwZWNpZmllZC4gVXNlIHRoZQoJICBBQ0NFUFRfSU5URVJTRUNUIGZsYWcgb24gdGhlIHNpbmtwYWQgdG8gdHdlYWsgdGhlIGFjY2VwdGNhcHMgZnVuY3Rpb24gdG8KCSAgY2hlY2sgZm9yIGludGVyc2VjdGlvbiBvbmx5LiBUaGlzIGFsbG93cyB1cyB0byBwcm94eSBkb3duc3RyZWFtCgkgIGNvbnN0cmFpbnRzIHdoaWxlIHN0aWxsIGFsbG93aW5nIG5vbi1zdWJzZXQgY2FwcyBhcyBpbnB1dC4KCSAgV2UgY2FuIHRoZW4gYWxzbyByZW1vdmUgdGhlIGFwcGVuZGVkIHRlbXBsYXRlIGNhcHMgd29ya2Fyb3VuZC4KCSAgTWFrZSBhIHVuaXQtdGVzdCB0byBjaGVjayB0aGUgbmV3IGZlYXR1cmUuCgkgIFRoaXMgcmV2ZXJ0cyBjb21taXQgMjYwNDBlZTM4Y2I5ZTdjNDJmM2Q5YTAyODJiM2U1Y2FjZTdjYTQyZAoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA1MDI0CgoyMDEzLTEyLTAzIDIxOjM2OjU0ICswMTAwICBXaW0gVGF5bWFucyA8d3RheW1hbnNAcmVkaGF0LmNvbT4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWFjcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYzNwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGRjYXBhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZmxhY3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0bXBlZ2F1ZGlvcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RzYmNwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdHdhdnBhY2twYXJzZS5jOgoJICBhdWRpb3BhcnNlcnM6IHJlbW92ZSBmaWVsZHMgZnJvbSBmaWx0ZXIKCSAgV2UgbmVlZCB0byByZW1vdmUgdGhlIGZpZWxkcyBmcm9tIHRoZSBmaWx0ZXIgd2hlbiB3ZSBjYW4gY29udmVydAoJICBiZXR3ZWVuIHRoZW0uCgoyMDEzLTEyLTAzIDIxOjI5OjEzICswMTAwICBXaW0gVGF5bWFucyA8d3RheW1hbnNAcmVkaGF0LmNvbT4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWFjcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYzNwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGRjYXBhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZmxhY3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0bXBlZ2F1ZGlvcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RzYmNwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdHdhdnBhY2twYXJzZS5jOgoJICBhdWRpb3BhcnNlcnM6IHJlZmFjdG9yIGNvZGUgdG8gcmVtb3ZlIGNhcHMgZmllbGRzCgoyMDEzLTEyLTAyIDAwOjEwOjQzICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmM6CgkgIGRlaW50ZXJsYWNlOiBtaWNyb29wdGltaXNhdGlvbjogYXZvaWQgc29tZSB1bm5lY2Vzc2FyeSBHVmFsdWUgY29waWVzCgoyMDEzLTEyLTAxIDIzOjMyOjIwICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmM6CgkgIGRlaW50ZXJsYWNlOiBmaXggb2ZmLWJ5LW9uZSBjcmFzaCB3aGVuIGRvd25zdHJlYW0gY2FwcyBjb250YWluIGEgbGlzdCBvZiBmcmFtZXJhdGVzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MTk1NDQKCjIwMTMtMTEtMjkgMTE6MjY6MDUgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRzLnNhbnRvc0BzaXNhLnNhbXN1bmcuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IFVzZSB0aGUgdGltZXN0YW1wIG9mIHRoZSBtb29mIGFzIHRoZSBiYXNlIGZyYWdtZW50IHN0YXJ0CgkgIEluIFNtb290aFN0cmVhbWluZyBmcmFnbWVudGVkIHNjZW5hcmlvLCB0aGUgdGltZXN0YW1wcyBhcmUgY2FsY3VsYXRlZAoJICBzdGFydGluZyBmcm9tIHRoZSBmcmFnbWVudCBidWZmZXIgdGltZXN0YW1wLiBXaGVuIHRoZXJlIGlzIGEgbm90LWxpbmtlZAoJICByZXR1cm4gZnJvbSBkb3duc3RyZWFtLCBxdGRlbXV4IHdpbGwgcmV0dXJuIHVwc3RyZWFtIGFuZCB3aWxsIGtlZXAgdGhlCgkgIG5vbi1wdXNoZWQgZGF0YSBpbnRvIGl0cyBhZGFwdGVyLgoJICBPbiBhIG5ldyBmcmFnbWVudCBidWZmZXIgcHVzaGVkIHRvIHF0ZGVtdXgsIHRoZSBuZXcgYnVmZmVyIHRpbWVzdGFtcAoJICB3b3VsZCBvdmVyd3JpdGUgdGhlIHByZXZpb3VzIG9uZSB0aGF0IHNob3VsZCBiZSB1c2VkIG9uIHRoZSBzdGlsbAoJICB0byBiZSBwdXNoZWQgYnVmZmVycy4gQmVjYXVzZSBvZiB0aGlzLCB0aGlzIHBhdGNoIHdpbGwgYWxzbwoJICB1cGRhdGUgdGhlIGZyYWdtZW50X3N0YXJ0IHRpbWVzdGFtcCBmcm9tIHRoZSBhZGFwdGVyIGxhc3QgcHRzCgkgIHRvIG1ha2Ugc3VyZSB0aGUgbW9vZiBhbmQgdGltZXN0YW1wcyBhcmUgaW4gc3luYyBhbmQgd2lsbCByZXN1bHQKCSAgaW4gY29ycmVjdCB0aW1lc3RhbXBzIGZvciBhbGwgZnJhZ21lbnRzLgoKMjAxMy0xMS0xNSAwODo1NDowNyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dHMuc2FudG9zQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSogZ3N0L2lzb21wNC9xdGRlbXV4Lmg6CgkgIHF0ZGVtdXg6IGF2b2lkIHJlLXJlYWRpbmcgdGhlIHNhbWUgbW9vdiBhbmQgZW50ZXJpbmcgaW50byBsb29wCgkgIEluIHRoZSBzY2VuYXJpbyBvZiAibWRhdCB8IG1vb3YgKHdpdGggZnJhZ21lbnRlZCBhcnRpZmFjdHMpIiBxdGRlbXV4CgkgIGNvdWxkIHJlYWQgdGhlIG1vb3YgYWdhaW4gYWZ0ZXIgdGhlIG1kYXQgYmVjYXVzZSBpdCB3YXMgY29uc2lkZXJpbmcgdGhlCgkgIG1lZGlhIGFzIGEgZnJhZ21lbnRlZCBvbmUuCgkgIFRvIGF2b2lkIHRoaXMgbG9vcCB0aGlzIHBhdGNoIG1ha2VzIGl0IHN0b3JlCgkgIHRoZSBsYXN0IHByb2Nlc3NlZCBtb292X29mZnNldCB0byBhdm9pZCBwYXJzaW5nIGl0IGFnYWluLgoJICBBbmQgaXQgYWxzbyBjaGVja3MgaWYgdGhlcmUgYXJlIGFueSBzYW1wbGVzIHRvIHBsYXkgYmVmb3JlCgkgIHJlc3R1cm5pbmcgdG8gdGhlIG1kYXQsIHNvIHRoYXQgaXQga25vd3MgdGhlcmUgaXMgbmV3IGRhdGEgdG8gYmUgcGxheWVkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjkxNTcwCgoyMDEzLTExLTE1IDAwOjUyOjUzIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0cy5zYW50b3NAc2lzYS5zYW1zdW5nLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBkbyBub3QgZnJlZSBzdHJlYW1zIGlmIHRoZXkgd2VyZSBub3QgY3JlYXRlZCBsb2NhbGx5CgkgIFdoZW4gcGFyc2luZyBhIHRyYWsgb25seSBmcmVlIHN0cmVhbXMgb24gZmFpbHVyZXMgaWYgdGhvc2Ugc3RyZWFtcwoJICB3ZXJlIGNyZWF0ZWQgbG9jYWxseS4gVGhleSBjb3VsZCBoYXZlIGJlZW4gY3JlYXRlZCBmcm9tIGEgcHJldmlvdXMKCSAgZnJhZ21lbnQsIGluIHRoaXMgY2FzZSB3ZSB0aGV5IGhhdmUgdmFsaWQgaW5mbyBmcm9tIHRoZSBvdGhlciBmcmFnbWVudC4KCSAgSW5jbHVkaW5nIHBhZHMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTE1NzAKCjIwMTMtMTEtMjkgMTk6NTc6NDYgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvdmlkZW9taXhlci9ibGVuZC5jOgoJICB2aWRlb21peGVyOiBTaW1wbGlmeSBOVjEyLzIxIGJsZW5kaW5nIGNvZGUgbWFjcm9zCgoyMDEzLTExLTI5IDE5OjUwOjI0ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3ZpZGVvbWl4ZXIvYmxlbmQuYzoKCSAgdmlkZW9taXhlcjogRml4IHNlZ2ZhdWx0IHdoZW4gZmlsbGluZyB0aGUgYmFja2dyb3VuZCBvZiBhIFVZVlkgZnJhbWUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcxMjQwMQoKMjAxMy0xMS0yOSAwOToyMTo1MiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBmaXggY29tcGlsYXRpb24gd2l0aCBnc3QgZGVidWdpbmcgZGlzYWJsZWQKCSAgcXRkZW11eC5jOjk0NTI6MTogZXJyb3I6IGxhYmVsIGF0IGVuZCBvZiBjb21wb3VuZCBzdGF0ZW1lbnQKCjIwMTMtMTEtMjcgMTc6MDI6MDAgKzAxMDAgIEpvbmFzIEhvbG1iZXJnIDxqb25hc2hnQGF4aXMuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBoMjY0cGF5LmM6CgkgIHJ0cGgyNjRwYXk6IE1hcCBpbmJ1ZmZlciBvbmNlIG9ubHkKCSAgRG8gbm90IGNhbGwgZ3N0X2J1ZmZlcl9leHRyYWN0KCkgdHdpY2Ugc2luY2UgZWFjaCBjYWxsIHdpbGwgbWFwIGFuZAoJICB1bm1hcCB0aGUgYmlmZmVyLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzE5NDM0CgoyMDEzLTExLTI4IDExOjU4OjQyIC0wNTAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy92aWRlb2ZpbHRlci5jOgoJICB2aWRlb2ZsaXA6IEFkZCB1bml0IHRlc3QgZm9yIHRoZSAnYXV0b21hdGljJyBtZXRob2QKCSAgVGhlc2UgbmV3IHRlc3RzIHNlbmQgYSB0YWcgZXZlbnQgYmVmb3JlIHNlZGluZyB0aGUgYnVmZmVyLiBUZXN0ZWQgY2FzZSBhcmUgYW4KCSAgZW1wdHkgdGFnIGxpc3QsIGEgdGFnIGxpc3Qgd2l0aCBvcmllbnRhdGlvbi0xODAgc2V0IGFuZCBhbiBpbnZhbGlkIG9yaWVudGF0aW9uIHZhbHVlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzE5NDk3CgoyMDEzLTExLTI4IDE2OjA5OjA0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3ZpZGVvZmlsdGVyL2dzdHZpZGVvZmxpcC5jOgoJICB2aWRlb2ZsaXA6IGRvbid0IGNyYXNoIG9uIHRhZyBldmVudHMgd2l0aG91dCBvcmllbnRhdGlvbiB0YWcKCSAgV291bGQgY3Jhc2ggaW4gZ19mcmVlKCkgdHJ5aW5nIHRvIGZyZWUgYW4gdW5pbml0aWFsaXNlZCBwb2ludGVyLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzE5NDk3CgoyMDEzLTExLTI4IDE2OjUwOjQyICswMTAwICBXaW0gVGF5bWFucyA8d3RheW1hbnNAcmVkaGF0LmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSAgcnRwc2Vzc2lvbjogZG9uJ3QgdW5yZWYgYnVmZmVyIHR3aWNlCgkgIENsZWFuaW5nIHRoZSBwYWNrZXQgaW5mbyB3aWxsIGFscmVhZHkgdW5yZWYgdGhlIGJ1ZmZlci4KCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcxNTA3OAoKMjAxMy0xMS0yOCAyMjozNTowMiArMTEwMCAgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogQWRkIEh5ZHJvZ2VuQXVkaW8gUmVwbGF5R2FpbiB0YWdzCgkgIElkZW50aWNhbCB0byB0aGUgaXR1bmVzICh0bSkgdmVyc2lvbiwgYnV0IGxhYmVsbGVkIHdpdGgKCSAgb3JnLmh5ZHJvZ2VuYXVkaW8ucmVwbGF5Z2FpbiBhcyB0aGUgcHJvZHVjZXIuCgoyMDEzLTExLTI3IDE2OjE1OjEyICswMTAwICBNYXRoaWV1IER1cG9uY2hlbGxlIDxtZHVwb25jaGVsbGUxQGdtYWlsLmNvbT4KCgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIyLmM6CgkgIHZpZGVvbWl4ZXI6IGV4cGxpY2l0bHkgZmFpbCB3aGVuIGFscGhhIGluZm9ybWF0aW9uIHdvdWxkIGhhdmUgYmVlbiBsb3N0LgoKMjAxMy0wNS0yOSAxNjowNjowNSAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY28udWs+CgoJKiAuZ2l0aWdub3JlOgoJICBnaXRpZ25vcmU6IFVwZGF0ZWQgdG8gaWdub3JlICouc3dwIGFuZCAuZGlyc3RhbXAKCjIwMTMtMTEtMjYgMTE6MTc6NDIgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2EtZGVtdXg6IEFsbG93IGEgYml0IG1vcmUgdmFyaWF0aW9uIHdoZW4gZGV0ZWN0aW5nIGNvbW1vbiBmcmFtZXJhdGVzCgkgIEluc3RlYWQgb2YgKy8tIDFucyB3ZSBhbGxvdyAybnMgbm93LiBEdWUgdG8gcm91bmRpbmcgZXJyb3JzIHRoZXJlIGFyZQoJICBzb21lIE1hdHJvc2thIGZpbGVzIG91dCB0aGVyZSB3aXRoIDMzLjMzMzMzMW1zIHBlciBmcmFtZSBmb3IgMzBmcHMuCgoyMDEzLTExLTI2IDEwOjIwOjMxICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thLWRlbXV4OiBVc2UgZ3N0X3V0aWxfZG91YmxlX3RvX2ZyYWN0aW9uKCkgaW5zdGVhZCBvZiBHVmFsdWUgbWFnaWMKCjIwMTMtMTEtMjUgMTQ6MDM6MjEgLTA1MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC92aWRlb2ZpbHRlci9nc3R2aWRlb2ZsaXAuYzoKCSAgdmlkZW9mbGlwOiBTZXQgZGVmYXVsdCBtZXRob2QgYXQgY29udHJ1Y3Rpb24KCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcxMjMzMwoKMjAxMy0wNS0yOSAxNTo1NzowOSAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIHY0bDJvYmplY3Q6IFVzZSBzcGFjZSBpbnN0ZWFkIG9mIHRhYnMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcxMjc1NAoKMjAxMy0wNS0yOSAxNTo0NDozMSAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0Lmg6CgkgIHY0bDJvYmplY3Q6IEZpeCBoZWFkZXIgaW5kZW50YXRpb24gc28gaXQncyByZWFkYWJsZSBhZ2FpbgoJICBJdCdzIHVuZm9ydHVuYXRlIHRvIGhhdmUgdG8gZG8gdGhpcywgYnV0IHdpdGggdGhlIG1peCBvZiB0YWJzIGFuZCBzcGFjZSwgcGx1cyBhbGwgdGhlIHJhbmRvbQoJICBpbmRlbnRhdGlvbiB0aGlzIGhlYWRlciBoYXMgYmVjb21lIHZlcnkgaGFyZCB0byByZWFkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzEyNzU0CgoyMDEzLTExLTI1IDE3OjM4OjA2ICswMTAwICBXaW0gVGF5bWFucyA8d3RheW1hbnNAcmVkaGF0LmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cGppdHRlcmJ1ZmZlci5jOgoJICBjaGVjazogZml4IGppdHRlcmJ1ZmZlciBjaGVjawoJICBEb24ndCBhZHZhbmNlIHRoZSBjbG9jayB0byAyNDBtcyB0b28gZWFybHkuCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MTAwMTMKCjIwMTMtMTEtMjUgMTE6NDU6MzMgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRzLnNhbnRvc0BzaXNhLnNhbXN1bmcuY29tPgoKCSogZXh0L2pwZWcvZ3N0anBlZ2RlYy5jOgoJICBqcGVnZGVjOiBkZXByZWNhdGUgbWF4LWVycm9ycwoJICBUaGUgcHJvcGVydHkgd2Fzbid0IHVzZSBpbnRlcm5hbGx5LCBsZXQgdGhlIGJhc2UgY2xhc3MgaGFuZGxlIHRoZQoJICBudW1iZXIgb2YgZXJyb3JzIHRvIHRvbGVyYXRlLgoKMjAxMy0xMS0yNSAxNTo0OTowNyArMDEwMCAgV2ltIFRheW1hbnMgPHd0YXltYW5zQHJlZGhhdC5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwaml0dGVyYnVmZmVyLmM6CgkgIHJ0cGppdHRlcmJ1ZmZlcjogaW1wcm92ZSBjbGVhci1wdC1tYXAgaGFuZGxpbmcKCSAgRG9uJ3QgcmVzZXQgdGhlIGV4cGVjdGVkIG91dHB1dCBzZXFudW0gd2hlbiBjbGVhcmluZyB0aGUgcHQgbWFwIGJlY2F1c2UgdGhpcwoJICBjb3VsZCBzdGFsbCB0aGUgaml0dGVyYnVmZmVyIGZvcmV2ZXIuCgkgIEFkZCBhIHVuaXQgdGVzdCBmb3IgdGhpcy4KCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwOTgwMAoKMjAxMy0xMC0yOCAyMTozMzoyMiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dHMuc2FudG9zQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiBleHQvanBlZy9nc3RqcGVnZGVjLmM6CgkgIGpwZWdkZWM6IGxldCB0aGUgYmFzZSBjbGFzcyBkZWNpZGUgd2hlbiB0byByZXR1cm4gYW4gZXJyb3IKCSAgVGhlIGJhc2UgdmlkZW9kZWNvZGVyIGNsYXNzIGhhcyBhbiBlcnJvciBjb3VudGluZyBmZWF0dXJlIHRvIHRvbGVyYXRlCgkgIGEgZmV3IGVycm9ycyBiZWZvcmUgcG9zdGluZyBhbiBlcnJvciBtZXNzYWdlLiBTbyBkb24ndCBmb3JjZSB0aGUKCSAgZXJyb3IgYW5kIGxldCB0aGUgYmFzZSBjbGFzcyBkZWNpZGUgd2hlbiBpdCBzaG91bGQgaGFwcGVuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MTA3NjIKCjIwMTMtMTAtMjggMjE6Mjg6MzMgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRzLnNhbnRvc0BzaXNhLnNhbXN1bmcuY29tPgoKCSogZXh0L2pwZWcvZ3N0anBlZ2RlYy5jOgoJICBqcGVnZGVjOiBBZGQgZGF0YSBza2lwcGluZyBvbiBpbnB1dAoJICBBZGQgbWlzc2luZyBieXRlcyBza2lwcGluZyB3aGVuIGJhZCBpbnB1dCBpcyByZWNlaXZlZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcxMDc2MgoKMjAxMy0xMS0yNSAxMjoxMzo0MyArMTEwMCAgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogRGlzY2FyZCAyIGJ5dGUgc3VicGljdHVyZSBwYWNrZXRzCgkgIEFzIGZvciB0ZXh0IHN1YnRpdGxlcyBhbmQgYXMgc3VnZ2VzdGVkIGluICM3MTI2NDMsIHRocm93CgkgIGF3YXkgdGhlIDIgYnl0ZSB0ZXJtaW5hdG9yIHBhY2tldHMgdGhhdCBzb21lIGVuY29kZXJzIGluc2VydC4KCSAgVGhpcyB3aWxsIG1ha2UgdGhpbmdzIGJldHRlciB3aGVuIHJlbXV4aW5nIGFuZCBjYXVzZXMgZ2VuZXJhdGlvbgoJICBvZiBnYXAgZXZlbnRzLgoKMjAxMy0xMS0yNSAwMDozNDoyMSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBydHBqaXR0ZXJidWZmZXI6IGZpeCB3YWtlLXVwIHdoZW4gbmV3IGJ1ZmZlcnMgY29tZSBpbiBhZnRlciBydW5uaW5nIGVtcHR5CgkgIFNwb3R0ZWQgYnkgJ2dyYXRpYXMnIG9uIElSQy4gUHJvYmFibHkgaW50cm9kdWNlZCBpbiByZWNlbnQgcmVmYWN0b3JpbmcuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MTUwMzkKCjIwMTMtMTEtMjMgMTI6MTU6NDAgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1uYXV3QHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSAgbWF0cm9za2FtdXg6IGNvcnJlY3RseSBoYW5kbGUgbmVnYXRpdmUgcmVsYXRpdmUgdGltZXN0YW1wcwoJICAuLi4gcmF0aGVyIHRoYW4gc2NhbGluZyB0aGVzZSBhcyB1bnNpZ25lZC4KCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcxMjc0NAoJICBCYXNlZCBvbiBwYXRjaCBieSBLcnp5c3p0b2YgS290bGVuZ2EgPHBvY2VrQHVzZXJzLnNmLm5ldD4KCjIwMTMtMDktMTQgMDM6Mjc6MDkgKzAyMDAgIE1hdGhpZXVEdXBvbmNoZWxsZSA8bWF0aGlldS5kdXBvbmNoZWxsZUBlcGl0ZWNoLmV1PgoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlcjIuYzoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlcjIuaDoKCSAgdmlkZW9taXhlcjI6IE1lcmdlIHRhZyBldmVudHMgdG8gc2VuZCB0aGVtIGluIGNvbGxlY3RlZC4KCSAgT3RoZXJ3aXNlIHRoZXJlIHdlcmUgcmFjZSBjb25kaXRpb25zIHdoZXJlIHdlIHdvdWxkIHNlbmQgdGFncwoJICBvbiBhIGZsdXNoaW5nIHNyY3BhZC4KCSAgV2UgaGF2ZSBhIHRlc3QgZm9yIHRoYXQgaW4gR0VTLCBidXQgdGhpcyBzaG91bGQgYmUgdGVzdGVkCgkgIHN5c3RlbWF0aWNhbGx5IHdpdGggaGFybmVzcyBpbiB0aGUgZnV0dXJlIGFzIEkgYmVsaWV2ZSBpdAoJICBpcyB1c2VmdWwgZm9yIGV4YWN0bHkgdGhhdCBraW5kIG9mIGNhc2VzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA4MTY1CgoyMDEzLTExLTE0IDE3OjI5OjUwIC0wMzAwICBUaGliYXVsdCBTYXVuaWVyIDx0aGliYXVsdC5zYXVuaWVyQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogVXNlIEdzdFZpZGVvSW5mbyBoZWxwZXIgdG8gY3JlYXRlIGNhcHMgZm9yIHJhdyB2aWRlbwoJICBUaGlzIHdheSB3ZSBkbyBub3QgbWlzcyBtYW5kYXRvcnkgZmllbGRzIGluIGNhcHMuCgkgIEF0IHRoZSBzYW1lIHRpbWUgdXNlIHRoZSBnc3RfcGJfdXRpbHNfZ2V0X2NvZGVjX2Rlc2NyaXB0aW9uCgkgIGhlbHBlciB0byBnZXQgY29kZWMgZGVzY3JpcHRpb24uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MTIzMzUKCjIwMTMtMTEtMTQgMTY6MTE6MzggLTAzMDAgIFRoaWJhdWx0IFNhdW5pZXIgPHRoaWJhdWx0LnNhdW5pZXJAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9tYXRyb3NrYS9NYWtlZmlsZS5hbToKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thZGVtdXg6IFVzZSBHc3RWaWRlb0luZm8gaGVscGVyIHRvIGNyZWF0ZSBjYXBzIGZvciByYXcgdmlkZW8KCSAgVGhpcyB3YXkgd2UgZG8gbm90IG1pc3MgbWFuZGF0b3J5IGZpZWxkcyBpbiBjYXBzLgoJICBBdCB0aGUgc2FtZSB0aW1lIHVzZSB0aGUgZ3N0X3BiX3V0aWxzX2dldF9jb2RlY19kZXNjcmlwdGlvbiBoZWxwZXIgdG8KCSAgZ2V0IGNvZGVjIGRlc2NyaXB0aW9uLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzEyMzI4CgoyMDEzLTExLTEzIDIwOjE4OjE3IC0wMzAwICBUaGliYXVsdCBTYXVuaWVyIDx0aGliYXVsdC5zYXVuaWVyQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvbXVsdGlmaWxlL2dzdG11bHRpZmlsZXNyYy5jOgoJKiBnc3QvbXVsdGlmaWxlL2dzdG11bHRpZmlsZXNyYy5oOgoJICBtdWx0aWZpbGVzcmM6IEltcGxlbWVudCBzZWVraW5nIGluIGNhc2Ugb2YgbXVsdGlwbGUgaW1hZ2VzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MTIyNTQKCjIwMTMtMTEtMjIgMTI6MjY6MjEgKzAxMDAgIFdpbSBUYXltYW5zIDx3dGF5bWFuc0ByZWRoYXQuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIHJ0cGppdHRlcmJ1ZmZlcjogcGFzcyBkb3duc3RyZWFtIGZsb3dyZXR1cm4gdG8gdXBzdHJlYW0KCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcxMjcyMgoKMjAxMy0xMS0xOCAxNDoyNzo0OCArMDEwMCAgTWljaGFlbCBPbGJyaWNoIDxtLm9sYnJpY2hAcGVuZ3V0cm9uaXguZGU+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIHY0bDI6IGNsZWFyIGNhY2hlZCBjYXBzIG9uIGNsb3NlCgkgIEEgZGlmZmVyZW50IGRldmljZSB3aXRoIGRpZmZlcmVudCBjYXBzIG1heSBiZSB1c2VkIGZvciB0aGUgbmV4dCBvcGVuLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzEyNjExCgoyMDEzLTExLTIxIDE1OjMwOjM0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2NvbW1vbi5jOgoJKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrc3RyZWFtcmVhZGVyLmM6CgkqIGdzdC9hcGV0YWcvZ3N0YXBlZGVtdXguYzoKCSogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b2F1ZGlvc2luay5jOgoJKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvYXVkaW9zcmMuYzoKCSogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b3ZpZGVvc2luay5jOgoJKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvdmlkZW9zcmMuYzoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZnNyYy5jOgoJKiBnc3QvaXNvbXA0L2F0b21zLmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBnX21lbW1vdmUoKSBpcyBkZXByZWNhdGVkCgkgIEp1c3QgdXNlIHBsYWluIG1lbW1vdmUoKSwgZ19tZW1tb3ZlKCkgaXMgZGVwcmVjYXRlZCBpbgoJICByZWNlbnQgR0xpYiB2ZXJzaW9ucy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcxMjgxMQoKMjAxMy0xMS0yMSAxMTozMjoxNSArMDEwMCAgV2ltIFRheW1hbnMgPHd0YXltYW5zQHJlZGhhdC5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cHZvcmJpc2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwdm9yYmlzcGF5LmM6CgkgIHJ0cHZvcmJpc2RlcGF5OiBoYW5kbGUgcGFja2V0cyA+IDB4ZmZmZgoJICBIYW5kbGUgaW5wdXQgcGFja2V0IHNpemVzIGxhcmdlciB0aGFuIDE2IGJpdHMgaW4gdGhlIGRlcGF5bG9hZGVyLgoJICBSZW1vdmUgc2l6ZSByZXN0cmljdGlvbnMgb24gdGhlIHBheWxvYWRlci4KCjIwMTMtMTEtMjEgMTE6MzA6MjggKzAxMDAgIFdpbSBUYXltYW5zIDx3dGF5bWFuc0ByZWRoYXQuY29tPgoKCSogZ3N0L3J0cC9nc3RydHB0aGVvcmFkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHRoZW9yYXBheS5jOgoJICBydHB0aGVvcmFkZXBheTogaGFuZGxlIHBhY2tldHMgPiAweGZmZmYKCSAgUmVvcmdhbml6ZSBzb21lIHRoaW5ncyBpbiB0aGUgZGVwYXlsb2FkZXIgc28gdGhhdCBpdCBjYW4gaGFuZGxlIHBhY2tldHMgbGFyZ2VyCgkgIHRoYW4gMTYgYml0cy4KCSAgUmVtb3ZlIHRoZSBzaXplIHJlc3RyaWN0aW9uIG9uIHRoZSBwYXlsb2FkZXIuCgoyMDEzLTExLTIxIDAyOjI4OjI3ICsxMTAwICBKYW4gU2NobWlkdCA8amFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXhfZHVtcC5jOgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXhfdHlwZXMuYzoKCSAgaXNvbXA0OiBIYW5kbGUgbXA0cyBzdWJwaWN0dXJlIHN0cmVhbXMgYmV0dGVyLgoJICBDbGVhbiB1cCB0aGUgaGFuZGxpbmcgb2YgbXA0cyBzdHJlYW1zLiBVc2UgdGhlIGdlbmVyaWMgZXNkcwoJICBkZXNjcmlwdG9yIGZ1bmN0aW9uIHRvIGV4dHJhY3QgdGhlIHBhbGV0dGUsIGluc3RlYWQgb2YgaGFyZCBjb2RpbmcKCSAgYSB3cm9uZyBtYWdpYyBvZmZzZXQuCgkgIEFkZCBzb21lIG1vcmUgc2l6ZSBzYWZldHkgY2hlY2tzIHdoZW4gcGFyc2luZyBFUyBkZXNjcmlwdG9ycywgYW5kCgkgIHJlcGxhY2UgbWFnaWMgbnVtYmVycyB3aXRoIHRoZSBkZXNjcmlwdGl2ZSBjb25zdGFudHMgdGhhdCBhcmUgYWxyZWFkeQoJICBkZWZpbmVkLgoJICBFbmhhbmNlIGR1bXAgb3V0cHV0IGZvciBzdHNkIGF0b21zLgoJICBTdHJlYW1zIGZyb20gYm90aCBidWcgNzEyNjQzIGFuZCBoaXN0b3JpYyBidWcgNTY4Mjc4IG5vdyBib3RoIHdvcmsKCSAgY29ycmVjdGx5LgoJICBGaXhlczogIzcxMjY0MwoKMjAxMy0xMS0yMCAyMjowODoyNSArMTEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZ3N0L2lzb21wNC9mb3VyY2MuaDoKCSAgcXRkZW11eDogU29ydCBmb3VyY2MgZGVjbGFyYXRpb25zIGFuZCByZW1vdmUgZHVwbGljYXRlcwoKMjAxMy0xMS0yMCAyMTo0MTo0NyArMTEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZ3N0L2lzb21wNC9NYWtlZmlsZS5hbToKCSogZ3N0L2lzb21wNC9hdG9tcy5oOgoJKiBnc3QvaXNvbXA0L2ZvdXJjYy5oOgoJKiBnc3QvaXNvbXA0L2Z0eXBjYy5oOgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4bWFwLmM6CgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXhfZHVtcC5jOgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXhfZm91cmNjLmg6CgkqIGdzdC9pc29tcDQvcXRkZW11eF90eXBlcy5jOgoJICBxdGRlbXV4OiBNZXJnZSBhbGwgdGhlIGZvdXJjYyBoZWFkZXJzIGludG8gb25lCgkgIFJlbW92ZSBxdGRlbXV4X2ZvdXJjYy5oIGFuZCBmdHlwY2MuaCBhbmQgcHV0IGl0IGFsbCBpbiBmb3VyY2MuaAoKMjAxMy0xMS0xOSAxMDoxMDo1MSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cGppdHRlcmJ1ZmZlci5jOgoJICBydHBqaXR0ZXJidWZmZXI6IGF2b2lkIG1hcHBpbmcgdGhlIGJ1ZmZlcgoJICBSZXVzZSB0aGUgcGFyc2VkIHN0cnVjdHVyZSB0byBnZXQgdGhlIHRpbWVzdGFtcHMuCgoyMDEzLTExLTE4IDE3OjEzOjQ5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBmaXggJ21ha2UgY2hlY2snCgkgIEZpeCBnZW5lcmljL3N0YXRlcyBjaGVjay4gQWxzbywgZ19yZXR1cm5faWZfZmFpbCgpIGlzCgkgIG5vdCBmb3IgaW50ZXJuYWwgc3RhdGUgY2hlY2tpbmcuCgoyMDEzLTExLTE4IDE0OjQ0OjM2ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dka19waXhidWYvZ3N0Z2RrcGl4YnVmb3ZlcmxheS5jOgoJKiBleHQvZ2RrX3BpeGJ1Zi9nc3RnZGtwaXhidWZzaW5rLmM6CgkqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NpbmsuYzoKCSogZXh0L2phY2svZ3N0amFja2F1ZGlvc3JjLmM6CgkqIGV4dC9qcGVnL2dzdGpwZWdkZWMuYzoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJKiBleHQvcHVsc2UvcHVsc2VzcmMuYzoKCSogZXh0L3JhdzEzOTQvZ3N0ZHYxMzk0c3JjLmM6CgkqIGV4dC9yYXcxMzk0L2dzdGhkdjEzOTRzcmMuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9lY2hvLmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvZnhiYXNlZmlyZmlsdGVyLmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvcGFub3JhbWEuYzoKCSogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b2F1ZGlvc2luay5jOgoJKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvYXVkaW9zcmMuYzoKCSogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b3ZpZGVvc2luay5jOgoJKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvdmlkZW9zcmMuYzoKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmM6CgkqIGdzdC9mbHYvZ3N0Zmx2bXV4LmM6CgkqIGdzdC9tdWx0aWZpbGUvZ3N0bXVsdGlmaWxlc2luay5jOgoJKiBnc3QvbXVsdGlmaWxlL2dzdG11bHRpZmlsZXNpbmsuaDoKCSogZ3N0L211bHRpZmlsZS9nc3RzcGxpdGZpbGVzcmMuYzoKCSogZ3N0L211bHRpcGFydC9tdWx0aXBhcnRkZW11eC5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSogZ3N0L3NtcHRlL2dzdHNtcHRlYWxwaGEuYzoKCSogZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuYzoKCSogZ3N0L3ZpZGVvYm94L2dzdHZpZGVvYm94LmM6CgkqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOgoJKiBzeXMvb3NzNC9vc3M0LXNpbmsuYzoKCSogc3lzL29zczQvb3NzNC1zb3VyY2UuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJKiBzeXMveGltYWdlL2dzdHhpbWFnZXNyYy5jOgoJICBkb2NzOiBnZXQgcmlkIG9mICdTaW5jZTogMC4xMC54JyBtYXJrZXJzCgkgIEFuZCBzb21lIGd0ay1kb2MgbWFya3VwIGZpeGVzLgoKMjAxMy0xMS0xNiAxMjoxNToxNCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSAgcnRwbWFuYWdlcjogZml4IFNpbmNlIG1hcmtlcnMKCSAgU2hvdWxkIGJlIG5leHQgc3RhYmxlIHJlbGVhc2Ugc2VyaWVzIHZlcnNpb24KCjIwMTMtMTEtMTUgMTM6NDg6MDcgKzAyMDAgIEdlb3JnZSBLaWFnaWFkYWtpcyA8Z2VvcmdlLmtpYWdpYWRha2lzQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwaml0dGVyYnVmZmVyLmM6CgkgIHJ0cGppdHRlcmJ1ZmZlcjogRml4IHN0YXRzIHByb3BlcnR5IGZpZWxkIG5hbWVzIGFuZCBkb2N1bWVudGF0aW9uCgoyMDEzLTExLTE1IDE1OjIwOjE0ICswMTAwICBUb3JyaWUgRmlzY2hlciA8dG9ycmllLmZpc2NoZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHN0YXRzLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHN0YXRzLmg6CgkgIGdzdHJ0cHNlc3Npb246IEltcGxlbWVudCBhIG51bWJlciBvZiBmZWVkYmFjayBwYWNrZXQgc3RhdGlzdGljcwoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzExNjkzCgoyMDEzLTExLTEzIDE3OjExOjA4IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0cy5zYW50b3NAcGFydG5lci5zYW1zdW5nLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiByZW1vdmUgbWF0aCBvcGVyYXRpb24gZnJvbSBsb29wCgkgIFRoZSBlbHN0X29mZnNldCBkb2Vzbid0IGNoYW5nZSBpbnNpZGUgdGhlIGxvb3AsIHNvIGNvbXB1dGUgaXQKCSAgb3V0c2lkZQoKMjAxMy0xMS0xNCAyMDo1NDozMiArMDEwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdG11eDogZml4IHBsYXliYWNrIHJlZ3Jlc3Npb24KCSAgSW4gYWUxMTUwZTg1Y2Y5OWQ3NDgyOTMzYWE2ZjdlNGYwMTJmZTQ1YTNlYyBmbGlwcGluZyBhIGNvbmRpdGlvbiBtaXNhbGlnbmVkIHRoZQoJICBlbHNlIGJyYW5jaCwgd2hlcmUgZm9yIHRoZXJlIGNvbmRpdGlvbiB0aGF0IHdhcyBjaGFuZ2UgdGhlcmUgaXMgbm9uZS4KCSAgRml4ZXMgIzcxMjMwMwoKMjAxMy0xMS0xNCAwOToyMDowNiArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBydHBqaXR0ZXJidWZmZXI6IHJlbmFtZSBwcm9wZXJ0eSB0byAnc3RhdHMnCgkgIFRoaXMgbWFrZXMgdGhlIHVuaXQgdGVzdCB3b3JrLgoJICBXZSBjYW4gbGF0ZXIgYWxzbyBhZGQgbW9yZSBzdGF0cywgbm90IHNwZWNpZmljIHRvIHJldHJhbnNtaXNzaW9uLgoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzExNDExCgoyMDEzLTExLTEyIDExOjE5OjI1IC0wNTAwICBUb3JyaWUgRmlzY2hlciA8dG9ycmllLmZpc2NoZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cGppdHRlcmJ1ZmZlci5jOgoJICBydHBqaXR0ZXJidWZmZXI6IGltcGxlbWVudCBydHggc3RhdGlzdGljcwoKMjAxMy0xMS0xMyAxMDo0MjoyMSArMDAwMCAgTWFyYyBMZWVtYW4gPG1hcmMubGVlbWFuQGdtYWlsLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgdjRsMm9iamVjdDogcHJpbnQgRk9VUkNDX0ZPUk1BVCB3aGVuIGVudW1lcmF0aW5nCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MTIyMDYKCjIwMTMtMTEtMDYgMTI6NDA6MDYgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgaml0dGVyYnVmZmVyOiBhZHZhbmNlIGV4cGVjdGVkIHNlcW51bSBhZnRlciBkcm9wcGluZwoJICBBZnRlciBkcm9wcGluZyBhIGJ1ZmZlciwgbW92ZSBvdXIgZXhwZWN0ZWQgc2VxbnVtCgkgIENvbmZsaWN0czoKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmMKCjIwMTMtMTEtMDQgMTU6NDY6MjIgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGdzdHBheS5jOgoJICBnc3RwYXk6IG9ubHkgc2VuZCBvbmUgY2FwcwoJICBPbmx5IHNlbmQgb25lIGNhcHMgaW4gYSBwYWNrZXQuIFR3byBjYXBzIGNhbiBoYXBwZW4gd2hlbiBzZXRjYXBzIGlzIGNhbGxlZCBhbmQKCSAgdGhlIGNvbmZpZy1pbnRlcnZhbCBleHBpcmVzIGF0IHRoZSBzYW1lIHRpbWUuCgoyMDEzLTExLTEzIDEwOjIzOjE5ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmg6CgkgIHJ0c3BzcmM6IFVzZSB0aGUgc3luY2VkIGJ1ZmZlciBtb2RlIGluIGF1dG8gbW9kZSBpZiBhIGNsb2NrIHByb3ZpZGVyIGlzIGluIHRoZSBTRFAKCjIwMTMtMTEtMDggMTE6MDk6MjEgKzAwMDAgIE1hcmMgTGVlbWFuIDxtYXJjLmxlZW1hbkBnbWFpbC5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJICB2NGwyOiBpbml0IHY0bDJfYnVmZmVyIHRvIDB4MCBiZWZvcmUgaW9jdGwKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcxMjEzNwoKMjAxMy0xMS0xMSAxNToyNzoxOCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzoKCSAgcnRwc2Vzc2lvbjogcmVtb3ZlIGNvbGxpc2lvbiByZWNvbmZpZ3VyZSBldmVudAoJICBSZW1vdmUgYm9ndXMgcmVjb25maWd1cmUgZXZlbnQgb24gY29sbGlzaW9uLCB3ZSBkb24ndCB3YW50IHRvIHNlbmQgdGhlIGV2ZW50IG9uCgkgIHRoZSByZWNlaXZpbmcgUlRQIHBhZCBhbmQgdGhlIGNvbGxpc2lvbiBldmVudCBpcyBub3cgaGFuZGxpbmcgdGhpcwoJICBjYXNlLgoJICBTZWUgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcxMTU2MAoKMjAxMy0xMS0wMSAxNzowNDoyOCArMDAwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6CgkgIGdzdHJ0cHNlc3Npb246IHNlbmQgY3VzdG9tIHVwc3RyZWFtIGV2ZW50ICJHc3RSVFBDb2xsaXNpb24iIG9uIHNlbmRfcnRwX3NpbmsgcGFkCgkgIFNlZSBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzExNTYwCgoyMDEzLTExLTExIDE0OjI1OjUxICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzLy5naXRpZ25vcmU6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cHNlc3Npb24uYzoKCSAgY2hlY2s6IGFkZCBydHBzZXNzaW9uIHRlc3QKCSAgQWRkIGEgYmFzaWMgcnRwc2Vzc2lvbiB0ZXN0IHRvIGVuc3VyZSB0aGF0IFJSIGJsb2NrcyBhcmUgZ2VuZXJhdGVkIHdoZW4KCSAgbXVsdGlwbGUgU1NSQyBzZW5kZXJzIGFyZSBhY3RpdmUuCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MTEyNzAKCjIwMTMtMTEtMTEgMTM6MTc6MjUgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1uYXV3QHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWMzcGFyc2UuYzoKCSAgYWMzcGFyc2U6IGNvcnJlY3RseSBoYW5kbGUgdGltZXN0YW1wcyB3aGVuIHBhcnNpbmcgeC1wcml2YXRlMS1hYzMKCSAgLi4uIHRoZSB3YXkgaXQgaGFzIGFsd2F5cyB3b3JrZWQgZmluZSBpbiBhNTJkZWMuCgoyMDEzLTExLTA1IDEwOjQ4OjMzICswMjAwICBHZW9yZ2UgS2lhZ2lhZGFraXMgPGdlb3JnZS5raWFnaWFkYWtpc0Bjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIHJ0cGppdHRlcmJ1ZmZlcjogZml4IGNyYXNoIHdoZW4gZG8tcmV0cmFuc21pc3Npb249dHJ1ZSBhbmQgYSBsb3Qgb2YgYnVmZmVycyBhcmUgbG9zdAoJICBUaGUgcHJvYmxlbSBoZXJlIHdhcyB0aGF0IHRoZSBqaXR0ZXJidWZmZXIgbG9jayB3YXMgdW5sb2NrZWQgdG8gcHVzaAoJICB0aGUgZXZlbnQsIGJ1dCB0aGF0IGNhdXNlZCBhbm90aGVyIHRocmVhZCB0byByZW1vdmUgdGhlIHRpbWVyIGN1cnJlbnRseQoJICBiZWluZyBwcm9jZXNzZWQsIHByb2JhYmx5IGJlY2F1c2UgdGhlIGFtb3VudCBvZiBydHggZXZlbnRzCgkgIChhbmQgdGhlcmVmb3JlIHRpbWVycykgd2FzIGdldHRpbmcgdG9vIGhpZ2guIFRoZSBzb2x1dGlvbiBpcyB0bwoJICB1bmxvY2sgYW5kIHB1c2ggdGhlIGV2ZW50IG9ubHkgYWZ0ZXIgdGltZXIgcHJvY2Vzc2luZyBoYXMgZmluaXNoZWQuCgkgIGZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MTExMzEKCjIwMTMtMTAtMjQgMTM6MTY6NDIgKzAyMDAgIFBlciB4IEpvaGFuc3NvbiA8cGVyeGpvaEBheGlzLmNvbT4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYWRlbXV4OiBBdm9pZCBkaXZpc2lvbiBieSB6ZXJvIGFzc2VydCBpbiBnc3RfbWF0cm9za2FfZGVtdXhfc2VhcmNoX3BvcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzExODI5CgoyMDEzLTExLTA4IDE3OjU5OjI0ICswMTAwICBQaGlsaXBwZSBOb3JtYW5kIDxwaGlsbkBpZ2FsaWEuY29tPgoKCSogZ3N0L3dhdmVuYy9nc3R3YXZlbmMuYzoKCSAgd2F2ZW5jOiBnZW5lcmF0ZSBhIG5vbi1lbXB0eSBkYXRhIGhlYWRlcgoJICBSZXN0b3JlIHRoZSBiZWhhdmlvciBvZiB0aGUgZWxlbWVudCB0byB0aGUgc3RhdGUgYmVmb3JlIGNvbW1pdAoJICBkYjI5NTIyYTQzMGU0NDQ1MDQxNWNhMzY3NmFiZDFiNzdlZTkyM2Q5LiBBIG5vbi1lbXB0eSBoZWFkZXIgaXMKCSAgZ2VuZXJhdGVkIGFuZCB3aGVuIHRoZSBFT1MgZXZlbnQgaXMgcmVjZWl2ZWQgdGhlIGhlYWRlciBpcyBnZW5lcmF0ZWQKCSAgYWdhaW4sIHRoaXMgdGltZSB3aXRoIHRoZSBjb3JyZWN0IHNpemUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MTE2OTkKCjIwMTMtMTEtMDcgMTY6MTc6MTYgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5jOgoJICBydHBzb3VyY2U6IHVwZGF0ZSByZWNlaXZlciBzdGF0cyBmb3Igc2VuZGVyCgkgIEFuIGludGVybmFsIHNlbmRlciBpbiBhIHNlc3Npb24gaXMgYWxzbyBhIHJlY2VpdmVyIG9mIGl0cyBvd24gcGFja2V0cyBzbyB1cGRhdGUKCSAgdGhlIHJlY2VpdmVyIHN0YXRzLiBPdGhlciBzZW5kZXJzIGluIHRoZSBzZXNzaW9uIHdpbGwgdXNlIHRoaXMgaW5mbyB0byBnZW5lcmF0ZQoJICBjb3JyZWN0IFJCIGJsb2NrcyBpbiB0aGVpciBTUiByZXBvcnRzLgoKMjAxMy0xMS0wNyAxNjoxMzoxNiArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5jOgoJICBydHBzb3VyY2U6IHJlZmFjdG9yIHJlY2VpdmVyIHN0YXRzIHVwZGF0ZQoKMjAxMy0xMC0yNSAxODoyMjowMCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dHMuc2FudG9zQHBhcnRuZXIuc2Ftc3VuZy5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogaGFuZGxlIGZyYWdtZW50ZWQgZmlsZXMgd2l0aCBtZGF0IGJlZm9yZSBtb29mcwoJICBBc3N1bWUgYSBmaWxlIHdpdGggYXRvbXMgaW4gdGhlIGZvbGxvd2luZyBvcmRlcjogbW9vdiwgbWRhdCwgbW9vZiwKCSAgbWRhdCwgbW9vZiAuLi4KCSAgVGhlIGZpcnN0IG1vb3YgdXN1YWxseSBkb2Vzbid0IGNvbnRhaW4gYW55IHNhbXBsZSBlbnRyaWVzIGF0b21zIChvcgoJICB0aGV5IGFyZSBhbGwgc2V0IHRvIDAgbGVuZ3RoKSwgYmVjYXVzZSB0aGUgcmVhbCBzYW1wbGVzIGFyZSBzaWduYWxlZAoJICBhdCB0aGUgbW9vZnMuIEluIHB1c2ggbW9kZSwgcXRkZW11eCBwYXJzZXMgdGhlIG1vb3YgYW5kIHRoZW4gZmluZHMgdGhlIG1kYXQsCgkgIGJ1dCB0aGVuIGl0IGhhcyAwIGVudHJpZXMgYW5kIGFzc3VtZXMgaXQgaXMgRU9TLgoJICBUaGlzIHBhdGNoIG1ha2VzIGl0IGNvbnRpbnVlIHBhcnNpbmcgaW4gY2FzZSBpdCBpcyBhIGZyYWdtZW50ZWQgZmlsZSBzbyB0aGF0CgkgIGl0IG1pZ2h0IGZpbmQgdGhlIG1vb2ZzIGFuZCBwbGF5IHRoZSBtZWRpYS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcxMDYyMwoKMjAxMy0xMC0yNSAxMTo0MjozNyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dHMuc2FudG9zQHBhcnRuZXIuc2Ftc3VuZy5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSogZ3N0L2lzb21wNC9xdGRlbXV4Lmg6CgkgIHF0ZGVtdXg6IFdoZW4gdXNpbmcgYSBidWZmZXJlZCBtZGF0LCBzdG9yZSBhbGwgcmVjZWl2ZWQgZGF0YSBmb3IgbGF0ZXIgdXNlCgkgIEluIHB1c2ggbW9kZSwgd2hlbiBxdGRlbXV4IGNhbid0IHVzZSBhIHNlZWsgdG8gc2tpcCB0aGUgbWRhdCBidWZmZXIgaXQgaGFzCgkgIHRvIGJ1ZmZlciBpdCBmb3IgbGF0ZXIgdXNlLgoJICBUaGUgaXNzdWUgaXMgdGhhdCBhZnRlciBwYXJzaW5nIHRoZSBuZXh0IG1vb3YvbW9vZiwgdGhlcmUgbWlnaHQgYmUgc29tZQoJICB0cmFpbGluZyBieXRlcyBmcm9tIHRoZSBuZXh0IGF0b20gaW4gdGhlIGZpbGUuIFRoaXMgZGF0YSB3YXMgYmVpbmcgZGlzY2FyZGVkCgkgIGFsb25nIHdpdGggdGhlIGFscmVhZHkgcGFyc2VkIG1vb3YvbW9vZiBhbmQgcGxheWJhY2sgd291bGQgZmFpbCB0byBjb250aW51ZQoJICBhZnRlciB0aGUgY29udGVudHMgb2YgdGhpcyBtb292L21vb2YgYXJlIHBsYXllZC4KCSAgVGhpcyBpcyBwYXJ0aWN1bGFybHkgYmFkIG9uIGZyYWdtZW50ZWQgZmlsZXMgdGhhdCBoYXZlIHRoZSBtZGF0IGJlZm9yZSB0aGUKCSAgY29ycmVzcG9uZGluZyBtb29mLiBTbyB5b3UnZCBnZXQ6CgkgIG1kYXR8bW9vZnxtZGF0fG1vb2YgLi4uCgkgIFdoZW4gYSBtb29mIHdhcyByZWNlaXZlZCwgaXQgdXN1YWxseSBjYW1lIHdpdGggc29tZSBleHRyYSBieXRlcyB0aGF0IHdvdWxkCgkgIGJlbG9uZyB0byB0aGUgbmV4dCBtZGF0IChiZWNhdXNlIHVwc3RyZWFtIGRvZXNuJ3QgY2FyZSBhYm91dCBhdG9tcyBhbGlnbm1lbnQpLgoJICBTbyB0aG9zZSBieXRlcyB3ZXJlIGJlaW5nIGRpc2NhcmRlZCBhbmQgcGxheWJhY2sgd291bGQgZmFpbC4KCSAgVGhpcyBwYXRjaCBtYWtlcyBxdGRlbXV4IHN0b3JlIHRob3NlIGV4dHJhIGJ5dGVzIHRvIHJldXNlIHRoZW0gbGF0ZXIgYWZ0ZXIgdGhlCgkgIG1kYXQgaXMgZW1wdGllZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcxMDYyMwoKMjAxMy0xMS0wNyAwOTo0OTo1NSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC91ZHAvZ3N0bXVsdGl1ZHBzaW5rLmM6CgkgIG11bHRpdWRwc2luazogQWxzbyB1c2UgdGhlIGJpbmQtcG9ydCBwcm9wZXJ0eSBpZiBubyBiaW5kLWFkZHJlc3Mgd2FzIGdpdmVuCgoyMDEzLTExLTA3IDAwOjUxOjEyICswMTAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPHlsYXR1eWFAZ21haWwuY29tPgoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGNvcmVhdWRpb2hhbC5jOgoJICBvc3hhdWRpb3Npbms6IGZpeCBzZWdmYXVsdCB3aGVuIHdlIGNhbid0IGdldCB0aGUgY2hhbm5lbHMgbGF5b3V0CgoyMDEzLTExLTA1IDE3OjI2OjQ5ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3J0cC9nc3RydHB2cDhwYXkuYzoKCSAgcnRwdnA4cGF5OiBNYWtlIFBpY3R1cmUgSUQgbW9kZSBjb25maWd1cmFibGUgYW5kIGRlZmF1bHQgdG8gbm8gcGljdHVyZSBJRAoJICBTb21lIGltcGxlbWVudGF0aW9ucyAobGlucGhvbmUpIG9ubHkgc3VwcG9ydCBubyBwaWN0dXJlIGF0IGFsbCBpbiB0aGUKCSAgc3RyZWFtIGFuZCB3aWxsIGZhaWwgaWYgb25lIGlzIHByb3ZpZGVkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzExNDk3CgoyMDEzLTExLTA1IDExOjE4OjM0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSA4NjVhYTIwIHRvIGRiZWRhYTAKCjIwMTMtMDEtMjkgMTA6NTE6MDcgKzAxMDAgIFBhdWwgSEVOUllTIDx2aXNlY2hlbGxlQGdtYWlsLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2NHBheS5jOgoJICBBZGQgY2FsbCB0byBnc3RfcnRwX2gyNjRfcGF5X2NsZWFyX3Nwc19wcHMoKSB3aGVuIHJlY2VpdmluZyBhIFNUUkVBTV9TVEFSVCBldmVudAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjkyNzg3CgoyMDEzLTExLTAyIDIyOjUwOjQ3ICswMTAwICBSaWNvIFR6c2NoaWNoaG9seiA8cmljb3R6QHVidW50dS5jb20+CgoJKiBnc3QvcnRzcC9NYWtlZmlsZS5hbToKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5oOgoJICBydHNwOiBBZGQgbWlzc2luZyBnaW8tMi4wIGRlcHMgYW5kIGluY2x1ZGVzCgoyMDEzLTExLTAxIDE4OjMxOjM2ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2F1ZGlvZngvYXVkaW9paXJmaWx0ZXIuYzoKCSAgYXVkaW9paXJmaWx0ZXI6IEZpeCBpbml0aWFsaXphdGlvbiBjb2VmZmljaWVudCBoYW5kbGluZwoJICBCcm9rZSB1bml0IHRlc3QuCgoyMDEzLTEwLTMxIDE0OjA1OjQzIC0wNzAwICBBbGVpeCBDb25jaGlsbG8gRmxhcXVlIDxhbGVpeEBvYmxvbmcuY29tPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmg6CgkgIHJ0c3BzcmM6IGFsbG93IHNldHRpbmcgdGxzIGNlcnRpZmljYXRlIHZhbGlkYXRpb24gZmxhZ3MKCSAgQWRkZWQgYSBuZXcgcHJvcGVydHkgInRscy12YWxpZGF0aW9uLWZsYWdzIi4gSWYgdGhlIHVybCB0cmFuc3BvcnQgaXMKCSAgVExTLCB0aGUgdmFsaWRhdGlvbiBmbGFncyB3aWxsIGJlIHNldCB0byB0aGUgcnRzcCBjb25uZWN0aW9uLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzExMjMwCgoyMDEzLTEwLTMxIDIyOjQzOjQ5ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2F1ZGlvZngvYXVkaW9meGJhc2VpaXJmaWx0ZXIuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9paXJmaWx0ZXIuYzoKCSAgYXVkaW9paXJmaWx0ZXI6IERvbid0IGNyYXNoIGlmIG5vIGZpbHRlciBjb2VmZmljaWVudHMgYXJlIHByb3ZpZGVkCgkgIC4uLmFuZCBieSBkZWZhdWx0IHVzZSBhIGlkZW50aXR5IGZpbHRlci4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcxMDIxNQoKMjAxMy0xMC0zMSAxOToxNToxMiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tlbmMuYzoKCSAgd2F2cGFja2VuYzogRml4IHdyaXRpbmcgb2YgTUQ1IHN1bXMgYW5kIG90aGVyIG1ldGFkYXRhIGJsb2NrcwoJICBUaGVzZSBkb24ndCBoYXZlIHRoZSBGSU5BTF9CTE9DSyBmbGFnIHNldC4KCjIwMTMtMTAtMzEgMTM6MDI6MTEgLTAyMDAgIERqYWxtYSBMw7pjaW8gU29hcmVzIGRhIFNpbHZhIDxkbHVjaW9AaW1wYS5icj4KCgkqIGV4dC9yYXcxMzk0L2dzdGhkdjEzOTRzcmMuYzoKCSAgaGR2MTM5NHNyYzogTWFrZSBpdCBwb3NzaWJsZSB0byBzZWxlY3QgYSBjYW1lcmEgYnkgaXRzIEdVSUQKCSAgVGhlIHNvdXJjZSBoZHYxMzk0c3JjIGhhcyB0aGUgZ3VpZCBwcm9wZXJ0eSB0aGF0IHBlcm1pdHMgc2VsZWN0IGEgY2FtZXJhCgkgIGNvbm5lY3RlZCBmcm9tIGl0cyBHVUlEIG51bWJlci4KCSAgSG93ZXZlciB3aGVuIHRoaXMgcHJvcGVydHkgaXMgc2V0dGVkIHRoZSBzZWxlY3RlZCBjYW1lcmEgaXMgbm90IGNoYW5nZWQuCgkgIFRoZSBzb3VyY2UgY29udGludWVzIHVzaW5nIHRoZSBkZWZhdWx0IGNhbWVyYS4KCSAgVGhpcyBwcm9ibGVtIHdhcyBzb2x2ZWQgdXNpbmcgdGhlIGZ1bmN0aW9uIGllYzYxODgzX2NtcF9jb25uZWN0LgoJICBUaGUgcmVmZXJlbmNlIGZvciB0aGUgZnVuY3Rpb24gY291bGQgYmUgZm91bmQgaGVyZToKCSAgaHR0cDovL3d3dy5kZW5uZWR5Lm9yZy9saWJpZWM2MTg4My9BUEktaWVjNjE4ODMtY21wLWNvbm5lY3QuaHRtbAoJICBUaGUgc29sdXRpb24gY2FtZSBmcm9tIGR2Z3JhYiBzb3VyY2UgY29kZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcxMDQxNQoKMjAxMy0xMC0zMSAxMzoyMDo0MSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dHMuc2FudG9zQHBhcnRuZXIuc2Ftc3VuZy5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9zb3VwaHR0cHNyYy5jOgoJICB0ZXN0czogc291cGh0dHBzcmM6IGFkZCBleHBsaWNpdCBjYXN0IHRvIHNpbGVuY2Ugd2FybmluZwoJICBTaWxlbmNpbmcgdGhpcyB3YXJuaW5nOgoJICBlbGVtZW50cy9zb3VwaHR0cHNyYy5jOjUzMzoxNDogZXJyb3I6IGNvbXBhcmlzb24gYmV0d2VlbiDigJhTb3VwS25vd25TdGF0dXNDb2Rl4oCZIGFuZCDigJhlbnVtIDxhbm9ueW1vdXM+4oCZIFstV2Vycm9yPWVudW0tY29tcGFyZV0KCSAgaWYgKHN0YXR1cyAhPSBTT1VQX1NUQVRVU19PSyAmJiAhc2VuZF9lcnJvcl9kb2MpCgkgIFdpdGggZ2NjIDQuOC4yIChkZWJpYW4pCgoyMDEzLTEwLTMxIDEwOjM4OjM1ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwaml0dGVyYnVmZmVyLmg6CgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogcHJveHkgbmV3IGJ1ZmZlciBtb2RlCgoyMDEzLTEwLTMwIDE2OjQ5OjM2ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwaml0dGVyYnVmZmVyLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cGppdHRlcmJ1ZmZlci5oOgoJICBqaXR0ZXJidWZmZXI6IGFkZCBuZXcgdGltZXN0YW1wIG1vZGUKCSAgQWRkIGEgbmV3IHRpbWVzdGFtcCBtb2RlIHRoYXQgYXNzdW1lcyB0aGUgbG9jYWwgYW5kIHJlbW90ZSBjbG9jayBhcmUKCSAgc3luY2hyb25pemVkLiBJdCB0YWtlcyB0aGUgZmlyc3QgdGltZXN0YW1wIGFzIGEgYmFzZSB0aW1lIGFuZCB0aGVuIHVzZXMgdGhlIFJUUAoJICB0aW1lc3RhbXBzIGZvciB0aGUgb3V0cHV0IFBUUy4KCjIwMTMtMTAtMzAgMjI6MTI6NDUgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2EtZGVtdXg6IEZpeCBjb21waWxlciB3YXJuaW5nCgkgIG1hdHJvc2thLWRlbXV4LmM6IEluIGZ1bmN0aW9uICdnc3RfbWF0cm9za2FfZGVtdXhfYWRkX3N0cmVhbSc6CgkgIG1hdHJvc2thLWRlbXV4LmM6MTM3OTo3OiBlcnJvcjogZm9ybWF0ICcldScgZXhwZWN0cyBhcmd1bWVudCBvZiB0eXBlICd1bnNpZ25lZCBpbnQnLCBidXQgYXJndW1lbnQgNCBoYXMgdHlwZSAnZ3VpbnQ2NCcgWy1XZXJyb3I9Zm9ybWF0PV0KCSAgIiUwM3UiLCBjb250ZXh0LT51aWQpOwoJICBeCgoyMDEzLTEwLTI4IDEzOjIxOjE1ICswMDAwICBNYXR0aGlldSBCb3Vyb24gPG1hdHRoaWV1LmJvdXJvbkBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9jb252ZXJ0LmM6CgkgIHZpZGVvbWl4ZXI6IHJlbW92ZSB1bm5lZWRlZCBndWludCBjb21wYXJhaXNvbgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzExMDEwCgoyMDEzLTEwLTI4IDE0OjEzOjEyICswMDAwICBNYXR0aGlldSBCb3Vyb24gPG1hdHRoaWV1LmJvdXJvbkBjb2xsYWJvcmEuY29tPgoKCSogc3lzL29zeHZpZGVvL2NvY29hd2luZG93Lmg6CgkqIHN5cy9vc3h2aWRlby9jb2NvYXdpbmRvdy5tOgoJICBvc3h2aWRlb3Npbms6IGZpeCBtaXNzaW5nIHNlbGVjdG9yIG5hbWUgd2FybmluZ3MKCSAgVGhlIHNwYWNlcyBtYXR0ZXIgaW4gT2JqQwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzExMDEzCgoyMDEzLTEwLTI4IDEzOjMxOjM0ICswMDAwICBNYXR0aGlldSBCb3Vyb24gPG1hdHRoaWV1LmJvdXJvbkBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3k0bS9nc3R5NG1lbmNvZGUuYzoKCSAgeTRtZW5jOiBmaXggdW5pbml0aWFsaXplZCB2YXJpYWJsZSB3YXJuaW5nCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MTEwMTEKCjIwMTMtMTAtMjUgMTE6MzA6MzYgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRzLnNhbnRvc0BwYXJ0bmVyLnNhbXN1bmcuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IGNoZWNrIGlmIHRoZSBlbmRfdGltZSBpcyBkZWZpbmVkIGJlZm9yZSB1c2luZyBpdAoJICBBdm9pZHMgc2VuZGluZyBFT1MgdG9vIHNvb24gYmVjYXVzZSBvZiBvdmVyZmxvdy4gQ2FuIGhhcHBlbiBvbgoJICBmcmFnbWVudGVkIG1wNCBwbGF5YmFjay4KCjIwMTMtMTAtMjMgMTM6Mzg6MjAgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRzLnNhbnRvc0BwYXJ0bmVyLnNhbXN1bmcuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IHVzZSBjb3JyZWN0IHVucmVmIGZ1bmN0aW9uCgkgIEV2ZW50cyBhcmVuJ3QgR3N0T2JqZWN0cywgYnV0IEdzdE1pbmlPYmplY3RzCgoyMDEzLTEwLTE1IDA4OjE2OjIwICswMjAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IHJlbmFtZSBjaHVua3NfYXJlX2NodW5rcyB0byBjaHVua3NfYXJlX3NhbXBsZXMgYW5kIGZsaXAgdGhlIGxvZ2ljCgkgIEFzIHRoZSB2YXJpYWJsZSBuYW1lIHN1Z2dlc3RzLCBzb21ldGltZXMgY2h1bmtzIGFyZSBjaHVua3MuIFJlbmFtZSB0aGUgdmFyaWFibGUKCSAgdG8gdGVsbCB3aGF0IHRoZXkgYXJlIHdoZW4gdGhleSBhcmUgbm90IGNodW5rcy4KCjIwMTMtMTAtMDkgMDg6MDQ6MjAgKzAyMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogZml4IHR5cG9zIGFuZCBhZGQgbW9yZSBsb2dnaW5nIGZvciB1bmhhbmRsZWQgcGFydHMKCjIwMTMtMTAtMTQgMTY6MjM6MjUgKzAyMDAgIE9nbnlhbiBUb25jaGV2IDxvZ255YW5AYXhpcy5jb20+CgoJKiBnc3QvdWRwL2dzdG11bHRpdWRwc2luay5jOgoJICBtdWx0aXVkcHNpbms6IEZpeCBtZW1vcnkgbGVhawoJICBVbm1hcCBhbGwgR3N0TWVtb3J5IG9mIHRoZSBjdXJyZW50IGJ1ZmZlciB3aGVuIGZsdXNoaW5nLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzEwMTEwCgoyMDEzLTEwLTEyIDIwOjQ0OjMxICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZ3N0L2Zsdi9nc3RmbHZtdXguYzoKCSAgZmx2bXV4OiBmaXggYnJva2VuIHNhbXBsZSBwaXBlbGluZQoJICB3aGljaCB3YXMgbXV4aW5nIHJhdyBhdWRpbyBhbmQgdmlkZW8gaW50byBmbHZtdXgsIHdoaWNoIHdvbid0IHdvcmssCgkgIGV2ZW4gaWYgdGhlcmUgd2VyZSBjb252ZXJ0ZXJzLgoKMjAxMy0xMC0xMiAyMDozNzo0MSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGdzdC9mbHYvZ3N0Zmx2bXV4LmM6CgkgIGZsdm11eDogcmVxdWlyZSBzdHJlYW0tZm9ybWF0PXJhdyBmb3IgbXBlZy0yIHRvbywgYnV0IGRvbid0IHJlcXVpcmUgZnJhbWVkIGZpZWxkCgkgIHJhdyBpbXBsaWVzIHRoYXQgaXQncyBmcmFtZWQgYWxyZWFkeS4gRml4ZXMgLi4gISBmYWFjICEgZmx2bXV4CgoyMDEzLTEwLTA3IDE0OjI3OjIxIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0cy5zYW50b3NAcGFydG5lci5zYW1zdW5nLmNvbT4KCgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6CgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmg6CgkgIHNvdXBodHRwc3JjOiBkbyBub3QgZW1pdCBFT1Mgd2hlbiBjb25uZWN0aW9uIGRyb3BzCgkgIElmIHRoZSBwaXBlbGluZSBpcyBzdGFsbGVkIGZvciB0b28gbG9uZywgc291cGh0dHBzcmMgd2lsbCBibG9jayBhbmQKCSAgc3RvcCBmZXRjaGluZyBkYXRhIGZyb20gdGhlIG5ldHdvcmsuIFRoaXMgY2FuIGNhdXNlIHRoZSBjb25uZWN0aW9uIHRvCgkgIGRyb3AgYW5kIHNvdXBodHRwc3JjIHdvdWxkIGhhbmRsZSBpdCBhcyBhbiBFT1MuIFRoaXMgcGF0Y2ggbWFrZXMgaXQKCSAgcGVyc2lzdCBhbmQgdHJ5IHRvIGZldGNoIG1vcmUgZGF0YSB1bnRpbCB0aGUgZW5kIG9mIHRoZSBjb250ZW50IGxlbmd0aAoJICBvciB1bnRpbCByZWNlaXZpbmcgYW4gZXJyb3IgdGhhdCBpdCBpcyBiZXlvbmcgbGltaXRzIGluIGNhc2UgdGhlIGNvbnRlbnQKCSAgaXMgdW5rbm93bi4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4MzUzNgoKMjAxMy0xMC0xMCAxMzo1MjozNSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogZXh0L2R2L2dzdGR2ZGVjLmM6CgkqIGV4dC9kdi9nc3RkdmRlYy5oOgoJICBkdmRlYzogRG9uJ3Qgc2VuZCBzZWdtZW50IGV2ZW50IGJlZm9yZSBjYXBzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDk3MjgKCjIwMTMtMTAtMDkgMTc6NDY6MzMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGV4dC9kdi9nc3RkdmRlbXV4LmM6CgkgIGR2ZGVtdXg6IFNlbmQgc3RyZWFtLXN0YXJ0LCBjYXBzIGFuZCBzZWdtZW50IGV2ZW50cyBpbiB0aGUgcmlnaHQgb3JkZXIKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwOTcyOAoKMjAxMy0xMC0wOCAxMToyODowNCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogZ3N0L3dhdmVuYy9nc3R3YXZlbmMuYzoKCSAgd2F2ZW5jOiBBLUxhdyBhbmQgTXUtTGF3IGRvbid0IGhhdmUgd2lkdGgvZGVwdGgvc2lnbmVkIGNhcHMgZmllbGRzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDk2MTQKCjIwMTMtMTAtMDcgMTI6NTQ6MTEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvZ3JlZWR5aC5jOgoJICBkZWludGVybGFjZTogRml4IGhhbmRsaW5nIG9mIHBsYW5hciB2aWRlbyBmb3JtYXRzIGluIGdyZWVkeWggbWV0aG9kCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDk1MDcKCjIwMTMtMTAtMDYgMTA6MDE6MjYgLTA3MDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHIudmVyZGVqb0BwYXJ0bmVyLnNhbXN1bmcuY29tPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJICBtYXRyb3NrYTogVHJpdmlhbCBncmFtbWFyIGZpeCBvbiBkZWJ1ZyBtc2cKCjIwMTMtMTAtMDYgMDk6MTc6MDAgLTA3MDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHIudmVyZGVqb0BwYXJ0bmVyLnNhbXN1bmcuY29tPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4Lmg6CgkqIGdzdC9tYXRyb3NrYS93ZWJtLW11eC5jOgoJICBtYXRyb3NrYW11eDogQWRkIGNvbnRleHQgZmxhZyBmb3IgV2ViTQoJICBXZWJNIGhhcyBhIGNvdXBsZSBvZiBzcGVjaWZpYyByZXF1aXJlbWVudHMgd2UgbmVlZCB0byBoYW5kbGUuCgkgIElkZWEgaXMgdG8gc2V0IHRoaXMgZmxhZyBvbmNlIGFuZCBqdXN0IHJlbHkgb24gbXV4LT5pc193ZWJtCgkgIGF0IHJ1biB0aW1lIGluc3RlYWQgb2YgcmVwZWF0ZWRseSBmaWd1cmluZyB0aGlzIG91dCBmcm9tCgkgIEdTVF9NQVRST1NLQV9ET0NUWVBFX1dFQk0gKHdoaWNoIHJlcXVpcmVzIGEgc3RyY21wKCkpLgoKMjAxMy0xMC0wNCAxNDo0Mjo1OSAtMDcwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8ci52ZXJkZWpvQHBhcnRuZXIuc2Ftc3VuZy5jb20+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkgIG1hdHJvc2thOiBEbyBub3Qgd3JpdGUgU2VnbWVudFVJRCBmb3IgV2ViTSBtdXgKCSAgV2ViTSBzcGVjIHN0YXRlcyBTZWdtZW50VUlEIGlzIFVuc3VwcG9ydGVkLiBGaWxlcyBwcm9kdWNlZAoJICB3aXRoIGdzdHJlYW1lciB3aXRob3V0IHRoaXMgY2hhbmdlIHdpbGwgc3BpdCBhbiBlcnJvciBsaWtlCgkgIHRoaXMgd2hlbiBwYXNzZWQgdG8gbWt2YWxpZGF0b3I6CgkgIEVSUjIwMTogSW52YWxpZCAnU2VnbWVudFVJRCcgZm9yIHByb2ZpbGUgJ3dlYm0nIGluIEluZm8gYXQgMTkyCgoyMDEzLTEwLTA1IDAwOjAwOjAzICswMjAwICBNYXRlaiBLbm9wcCA8bWF0ZWoua25vcHBAZ21haWwuY29tPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thZGVtdXg6IG1ha2UgZHZkIHBhbGV0dGUgY2hhbmdlIGV2ZW50IHN0aWNreQoJICBTbyB0aGV5IGRvbid0IGdldCBsb3N0LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA5NDU0CgoyMDEzLTEwLTAzIDE2OjM5OjI2IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvdmlkZW9maWx0ZXIvZ3N0dmlkZW9mbGlwLmM6CgkqIGdzdC92aWRlb2ZpbHRlci9nc3R2aWRlb2ZsaXAuaDoKCSAgdmlkZW9mbGlwOiBBZGQgYXV0b21hdGljIGZsaXAgbW9kZSBkcml2ZW4gYnkgaW1hZ2Utb3JpZW50YXRpb24gdGFnCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDkzMTIKCjIwMTMtMTAtMDQgMTM6MzQ6MDkgKzAyMDAgIFBldGVyIEtvcnNnYWFyZCA8cGV0ZXJAa29yc2dhYXJkLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkgIHY0bDJidWZmZXJwb29sOiBPX0NMT0VYRUMgbmVlZHMgX0dOVV9TT1VSQ0UKCSAgT24gc29tZSBzeXN0ZW1zIChFLkcuIHVDbGliYyBhbmQgb2xkZXIgR2xpYmMgdmVyc2lvbnMpLCBPX0NMT0VYRUMgaXMgb25seQoJICBkZWZpbmVkIHdoZW4gX0dOVV9TT1VSQ0UgaXMgc3BlY2lmaWVkLCBzbyBkbyBzby4KCSAgX0dOVV9TT1VSQ0UgbmVlZHMgdG8gYmUgZGVmaW5lZCBiZWZvcmUgYW55IHN5c3RlbSBoZWFkZXJzIGFyZSBpbmNsdWRlZCwKCSAgc28gbW92ZSB0aGUgZmNudGwuaCBzZWN0aW9uIHVwLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA5NDIzCgoyMDEzLTEwLTA0IDEyOjExOjU2ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIGppdHRlcmJ1ZmZlcjogZml4IHJhY2UgaW4gZmx1c2gtc3RhcnQvZmx1c2gtc3RvcAoJICBXaGVuIGZsdXNoLXN0b3AgYXJyaXZlcyBiZWZvcmUgd2UgcHJvY2VzcyB0aGUgcmVzdWx0IG9mIHRoZSBfcHVzaCgpIGluIHRoZQoJICBsb29wIGZ1bmN0aW9uLCB3ZSBtaWdodCBwYXVzZSBldmVuIHRob3VnaCB3ZSBhcmUgbm90IGZsdXNoaW5nIGFueW1vcmUuIEZpeCB0aGlzCgkgIHJhY2UgYnkgd2FpdGluZyBmb3IgdGhlIHNyY3BhZCBsb29wIGZ1bmN0aW9uIHRvIGNvbXBsZXRlbHkgcGF1c2UgYWZ0ZXIgZG9pbmcgdGhlCgkgIGZsdXNoLXN0YXJ0LgoKMjAxMy0xMC0wMyAyMjozODo0MyArMDIwMCAgTWF0aGlldSBEdXBvbmNoZWxsZSA8bWR1cG9uY2hlbGxlMUBnbWFpbC5jb20+CgoJKiBnc3QvdmlkZW9taXhlci92aWRlb2NvbnZlcnQuYzoKCSAgdmlkZW9taXhlcjogVXBkYXRlIHZpZGVvY29udmVydCBjb3B5CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDkzOTAKCjIwMTMtMTAtMDMgMjE6MzY6MzQgKzAyMDAgIE1hdGhpZXUgRHVwb25jaGVsbGUgPG1kdXBvbmNoZWxsZTFAZ21haWwuY29tPgoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlcjIuYzoKCSAgdmlkZW9taXhlcjogQ2hlY2sgaWYgdGhlIHBhZCBuZWVkcyByZWNvbmZpZ3VyYXRpb24gaW4gY29sbGVjdGVkCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDkzODQKCjIwMTMtMTAtMDMgMTQ6Mzk6MzUgKzAxMDAgIE1hdHRoaWV1IEJvdXJvbiA8bWF0dGhpZXUuYm91cm9uQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvanBlZy9nc3RqcGVnZGVjLmM6CgkgIGpwZWdkZWM6IFJlbGF4IHNpbmsgY2FwcwoJICBTaW5jZSBqcGVnZGVjIGFscmVhZHkgcGFyc2UgdGhlIGpwZWcgc3RyZWFtLCB0aGUgc2luayBjYXBzIGNvdWxkIGJlCgkgIHJlbGF4ZWQuIFRoaXMgd2lsbCBhbGxvdyBqcGVnZGVjIHRvIGJlIHNlbGVjdGVkIGluIG1vcmUgY2FzZSBhbmQgaW4KCSAgcGFydGljdWxhciB3aGVuIHRoZSBqcGVnIHR5cGVmaW5kZXIgZG9lcyBub3QgZmluZCB0aGUgd2lkdGggYW5kIGhlaWdodC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwOTM1MgoKMjAxMy0xMC0wMyAxODozMzowMSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgdjRsMnNyYzogcHJpbnQgcHJvYmVkIGNhcHMgYXMgY2FwcyBhZ2FpbiBpbiBkZWJ1ZyBsb2cKCSAgVGhpcyBnb3QgbG9zdCBkdXJpbmcgcmVmYWN0b3JpbmcuCgoyMDEzLTEwLTAzIDExOjU5OjI1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogQWRkIHN1cHBvcnQgZm9yIHRoZSBtcDJ2IGZvdXJjYyBmb3IgTVBFRy0yIHZpZGVvCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDkyNzAKCjIwMTMtMTAtMDIgMTU6NTY6NTMgKzAyMDAgIE9nbnlhbiBUb25jaGV2IDxvZ255YW5AYXhpcy5jb20+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2FkZW11eDogRml4IG1lbW9yeSBsZWFrCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDkyNjYKCjIwMTMtMDktMzAgMTI6MzE6NDIgKzAzMDAgIFNyZWVyZW5qIEJhbGFjaGFuZHJhbiA8c3JlZXJlbmouYmFsYWNoYW5kcmFuQGludGVsLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXhfZm91cmNjLmg6CgkqIGdzdC9pc29tcDQvcXRkZW11eF90eXBlcy5jOgoJICBxdGRlbXV4OiBBZGQgSEVWQyBzdXBwb3J0CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDkwOTMKCjIwMTMtMDktMzAgMTI6MjQ6MzIgKzAyMDAgIE9nbnlhbiBUb25jaGV2IDxvZ255YW5AYXhpcy5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGdzdHBheS5jOgoJICBydHBnc3RwYXk6IEZpeCBtZW1vcnkgbGVhawoJICBXZSB3ZXJlIGxlYWtpbmcgdGhlIEdMaXN0IG5vZGVzIG9mIHRoZSBwZW5kaW5nIGJ1ZmZlcnMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDkwNzkKCjIwMTMtMDktMzAgMTI6MzE6MDAgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwaml0dGVyYnVmZmVyLmg6CgkgIHJ0cGppdHRlcmJ1ZmZlcjogZml4IHJhY2Ugd2hlbiB1cGRhdGluZyB0aGUgbmV4dF9zZXFudW0KCSAgSWYgd2Ugd2VyZSBub3Qgd2FpdGluZyBmb3IgdGhlIG1pc3Npbmcgc2VxbnVtIHdoZW4gd2UgaW5zZXJ0IHRoZSBsb3N0IHBhY2tldAoJICBldmVudCBpbiB0aGUgaml0dGVyYnVmZmVyLCB3ZSBlbmQgdXAgbm90IHVwZGF0aW5nIHRoZSBuZXh0X3NlcW51bSBhbmQgd2FpdAoJICBmb3JldmVyIGZvciB0aGUgbG9zdCBwYWNrZXRzIHRvIGFycml2ZS4gSW5zdGVhZCwga2VlcCB0cmFjayBvZiB0aGUgYW1vdW50IG9mCgkgIHBhY2tldHMgY29udGFpbmVkIGJ5IHRoZSBqaXR0ZXJidWZmZXIgaXRlbSBhbmQgdXBkYXRlIHRoZSBuZXh0IGV4cGVjdGVkCgkgIHNlcW51bSBvbmx5IGFmdGVyIHB1c2hpbmcgdGhlIGJ1ZmZlci9ldmVudC4gVGhpcyBtYWtlcyBzdXJlIHdlIGNvcnJlY3RseSBoYW5kbGUKCSAgR0FQUyBpbiB0aGUgc2VxdWVuY2UgbnVtYmVycy4KCjIwMTMtMDktMzAgMTI6MzA6MjMgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgcnRwaml0dGVyYnVmZmVyOiBzbWFsbCBkZWJ1ZyBpbXByb3ZlbWVudAoKMjAxMy0wOS0zMCAxMTo1MzowOCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cGppdHRlcmJ1ZmZlci5jOgoJICBydHBqaXR0ZXJidWZmZXI6IHJlc2V0IHNrZXcgZG9lcyBub3QgcmVzZXQgY2xvY2stcmF0ZQoJICBEb24ndCByZXNldCB0aGUgY2xvY2stcmF0ZSB3aGVuIHdlIHJlc2V0IHRoZSBza2V3IGNvcnJlY3Rpb24gYWxnb3JpdGhtLgoJICBSZXNldCB0aGUgc2tldyBjb3JyZWN0aW9uIGFsZ29yaXRobSB3aGVuIHdlIGNoYW5nZSB0aGUgY2xvY2stcmF0ZS4KCjIwMTMtMDktMzAgMTE6MTY6MzIgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgcnRwaml0dGVyYnVmZmVyOiBwYXVzZSB0aW1lciB3aGVuIFBBVVNFRAoJICBBbHNvIHBhdXNlIHRoZSB0aW1lciB3aGVuIHdlIGdvIHRvIHRoZSBQQVVTRUQgc3RhdGUuIEl0IGlzIHBvc3NpYmxlIHRoYXQgd2UKCSAgZG9uJ3QgaGF2ZSBhIGNsb2NrIG9yIGJhc2UtdGltZSBpbiBQQVVTRUQgdG8gcGVyZm9ybSB0aGUgdGltZW91dHMuCgoyMDEzLTA5LTMwIDExOjE1OjI1ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIHJ0cGppdHRlcmJ1ZmZlcjogaW1wcm92ZSBkZWJ1ZwoKMjAxMy0wOS0yNiAyMDo0MToyNiArMDIwMCAgSGFucyBNw6Vuc3NvbiA8aGFuc21AYXhpcy5jb20+CgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4bWFwLmM6CgkgIG1wNG11eDogRG8gbm90IHJlcXVpcmUgZnJhbWVyYXRlIGluIHBlZXIgdmlkZW8gY2FwcwoJICBSZW1vdmUgdGhlIGZyYW1lcmF0ZSByZXN0cmljdGlvbiBvbiB0aGUgY2Fwcy4KCSAgUmVmZXJlbmNlOiBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA4ODY0CgoyMDEzLTA5LTI3IDE1OjA1OjA0ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBhbHNvIGdvIGludG8gdGhlIGxvb3AgZnVuY3Rpb24gYWZ0ZXIgY29ubmVjdAoJICBXaGVuIHdlIGhhdmUgb3BlbmVkIHRoZSBzdHJlYW0sIGdvIGludG8gdGhlIGxvb3AgZnVuY3Rpb24gc28gdGhhdCB3ZSBjYW4KCSAgcmVjZWl2ZSBtZXNzYWdlcyBmcm9tIHRoZSBzZXJ2ZXIuCgoyMDEzLTA5LTI3IDEyOjUzOjA2ICswMjAwICBNYXRlaiBLbm9wcCA8bWF0ZWoua25vcHBAZ21haWwuY29tPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thZGVtdXg6IG1vdmUgdGhlIGNoZWNrIGZvciBzdWJ0aXRsZSBidWZmZXIgYmVpbmcgbnVsbCB0ZXJtaW5hdGVkIGJlZm9yZSB2YWxpZGF0aW5nIFVURi04CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDc5MzMKCjIwMTMtMDktMjYgMTY6MjA6MDQgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBqaXR0ZXJidWZmZXIuYzoKCSAgcnRwaml0dGVyYnVmZmVyOiBkb24ndCBjYWxjdWxhdGUgc2tldyB3aXRob3V0IHJ0cHRpbWUKCSAgU2tpcCB0cnlpbmcgdG8gY2FsY3VsYXRlIHRoZSBza2V3IHdoZW4gd2UgZG9uJ3QgaGF2ZSBhbiBydHB0aW1lLgoJICBJdCBjYXVzZXMgcHJvYmxlbXMgd2hlbiBsb3N0IHBhY2tldCBldmVudHMgYXJlIHBsYWNlZCBpbiB0aGUgaml0dGVyYnVmZmVyLgoKMjAxMy0wOS0yNSAyMzo0NjoxNCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiBnZXQgcmlkIG9mIEFTX1NDUlVCX0lOQ0xVREUKCSAgU2hvdWxkIG5vdCBiZSBuZWVkZWQgYW55IG1vcmUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDc2NTgKCjIwMTMtMDktMjUgMTc6NDI6MDIgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IGRpc2FibGUgY2hlY2tzIHdoZW4gbGlua2luZyBwYWRzCgkgIFdlIGtub3cgdGhlIHBhZCBsaW5rcyB3aWxsIHdvcmsgKGFuZCB3ZSBkb24ndCBjaGVjayB0aGUgcmV0dXJuIHZhbHVlCgkgIGFueXdheSkuCgoyMDEzLTA5LTI1IDE3OjM2OjE1ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6CgkgIHJ0cGJpbjogYXZvaWQgc29tZSBwYWQgbGluayBjaGVja3MKCSAgTGluayBwYWRzIHdpdGhvdXQgY2hlY2tzLCB3ZSBrbm93IGl0IHdpbGwgd29yay4KCjIwMTMtMDktMjUgMTI6NTU6MjEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGdzdC9pc29tcDQvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IERvbid0IGVycm9yIG91dCBpZiBkb3duc3RyZWFtIGlzIG5vdCBzZWVrYWJsZSBmb3Igbm9uLWZyYWdtZW50ZWQgdmFyaWFudHMKCSAgRG9pbmcgc28gd291bGQgYmUgYSByZWdyZXNzaW9uIG92ZXIgMS4wIGFuZCBicmVha3MgdGhlIHVuaXQgdGVzdC4KCSAgSG93ZXZlciB0aGUgcmVzdWx0IHdpbGwgYmUgbW9zdCBsaWtlbHkgdW51c2FibGUsIHNvIGxldCdzIHBvc3QKCSAgYSB3YXJuaW5nIG1lc3NhZ2Ugb24gdGhlIGJ1cy4KCjIwMTMtMDktMjQgMDQ6MDI6MDkgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgcnRwaml0dGVyYnVmZmVyOiBjYWxjdWxhdGUgc29tZSBzdGF0cwoKMjAxMy0wOS0yMyAxNzowNTo0NCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBydHBqaXR0ZXJidWZmZXI6IG1vdmUgc2VuZF9sb3N0X2V2ZW50IGZ1bmN0aW9uCgkgIE1vdmUgdGhlIHNlbmRfbG9zdF9ldmVudCBmdW5jdGlvbiB0byB0aGUgZG9fbG9zdF9ldmVudCBoYW5kbGluZywgdGhlcmUgaXMgbm8KCSAgbmVlZCB0byBoYXZlIGEgc2VwYXJhdGUgZnVuY3Rpb24uCgoyMDEzLTA5LTE2IDExOjIwOjUxIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogYWRkIGNvZGUgdG8gcGFyc2UgY3JlYXRpb24gdGltZSBlYXJsaWVyIHRoYW4gMTk3MAoJICBVc2UgZ19kYXRlX3RpbWUgc2Vjb25kcyBtYW5pcHVsYXRpb24gdG8gYWxsb3cgdG8gY292ZXIgdGhlIHF1aWNrdGltZQoJICBzcGVjIGZvciBjcmVhdGlvbl90aW1lLiBJdCB1c2VzIHNlY29uZHMgc2luY2UgMTkwNC4KCSAgQm90aCBwYXRocyBjb3VsZCBiZSBkb25lIHVzaW5nIHRoZSBnZW5lcmljIGFwcHJvYWNoIG9mIHNlY29uZHMgc2luY2UKCSAgMTkwNCB3aXRoIEdEYXRlVGltZSBoYW5kbGluZywgYnV0IHRoZSBmaXJzdCBwYXRoIHVzaW5nIHNlY29uZHMgZnJvbQoJICAxOTcwIHNob3VsZCBiZSBtb3JlIGNvbW1vbmx5IGZvdW5kIGFuZCBhdm9pZHMgYSBmZXcgb2JqZWN0cyBjcmVhdGlvbiBhbmQKCSAgcmVmL3VucmVmLCBzbyBrZWVwIGl0IHRoZXJlIGZvciBwZXJmb3JtYW5jZS4KCSAgQWRkaXRpb25hbGx5LCB0aGUgY29kZSBmb3IgaGFuZGxpbmcgc2Vjb25kcyBzaW5jZSAxOTcwIGNoYW5nZWQgZnJvbSA+CgkgIHRvID49IGJlY2F1c2UgaGF2aW5nIDAgc2Vjb25kcyBzaW5jZSAxOTcwIGlzIGFsc28gYSB2YWxpZCBjYXNlIGZvciB0aGF0CgkgIHBhdGggdG8gaGFuZGxlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA3OTc1CgoyMDEzLTA5LTIxIDAwOjU1OjI2ICswMjAwICBNYXRlaiBLbm9wcCA8bWF0ZWoua25vcHBAZ21haWwuY29tPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thZGVtdXg6IHVwZGF0ZSBzdHJlYW0tPnBvcyB3aGVuIHNlbmRpbmcgYnVmZmVycyBzbyB0aGF0IGdhcCBldmVudHMgYXJlIG5vdCBzZW50IHVubmVjZXNzYXJpbHkKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwODUwNQoKMjAxMy0wOS0yNCAxODozMDowNCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIFJFQURNRToKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSA2YjAzYmE3IHRvIDg2NWFhMjAKCjIwMTMtMDktMjQgMTU6MDU6MjQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiBBY3R1YWxseSB1c2UgMS4zLjAuMSBhcyB2ZXJzaW9uIHRvIG1ha2UgY29uZmlndXJlIGhhcHB5CgoyMDEzLTA5LTI0IDE1OjAwOjI0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBjb25maWd1cmUuYWM6CgkgIEJhY2sgdG8gZGV2ZWxvcG1lbnQKCj09PSByZWxlYXNlIDEuMi4wID09PQoKMjAxMy0wOS0yNCAxNDoyMTowOCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogQ2hhbmdlTG9nOgoJKiBORVdTOgoJKiBSRUxFQVNFOgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi0xMzk0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhY29sb3IueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXBldGFnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvZngueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9wYXJzZXJzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2RldGVjdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdmkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FjYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2Fpcm8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY3V0dGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlaW50ZXJsYWNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0bWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZmZWN0di54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lcXVhbGl6ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmxhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx4ZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdka3BpeGJ1Zi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20yazEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWN5ZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW1hZ2VmcmVlemUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXJsZWF2ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pc29tcDQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tamFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxldmVsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1hdHJvc2thLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpZmlsZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aXBhcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmF2aWdhdGlvbnRlc3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzNC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3NhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbmcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcHVsc2VhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXBsYXlnYWluLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHBtYW5hZ2VyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0c3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hhcGV3aXBlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNob3V0MnNlbmQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc21wdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVjdHJ1bS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10YWdsaWIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdWRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvNGxpbnV4Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2JveC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2Nyb3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9maWx0ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9taXhlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12cHgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2ZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teGltYWdlc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXk0bWVuYy54bWw6CgkqIGdzdC1wbHVnaW5zLWdvb2QuZG9hcDoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICBSZWxlYXNlIDEuMi4wCgoyMDEzLTA5LTI0IDE0OjIwOjUxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBwby9hZi5wbzoKCSogcG8vYXoucG86CgkqIHBvL2JnLnBvOgoJKiBwby9jYS5wbzoKCSogcG8vY3MucG86CgkqIHBvL2RhLnBvOgoJKiBwby9kZS5wbzoKCSogcG8vZWwucG86CgkqIHBvL2VuX0dCLnBvOgoJKiBwby9lby5wbzoKCSogcG8vZXMucG86CgkqIHBvL2V1LnBvOgoJKiBwby9maS5wbzoKCSogcG8vZnIucG86CgkqIHBvL2dsLnBvOgoJKiBwby9oci5wbzoKCSogcG8vaHUucG86CgkqIHBvL2lkLnBvOgoJKiBwby9pdC5wbzoKCSogcG8vamEucG86CgkqIHBvL2x0LnBvOgoJKiBwby9sdi5wbzoKCSogcG8vbXQucG86CgkqIHBvL25iLnBvOgoJKiBwby9ubC5wbzoKCSogcG8vb3IucG86CgkqIHBvL3BsLnBvOgoJKiBwby9wdF9CUi5wbzoKCSogcG8vcm8ucG86CgkqIHBvL3J1LnBvOgoJKiBwby9zay5wbzoKCSogcG8vc2wucG86CgkqIHBvL3NxLnBvOgoJKiBwby9zci5wbzoKCSogcG8vc3YucG86CgkqIHBvL3RyLnBvOgoJKiBwby91ay5wbzoKCSogcG8vdmkucG86CgkqIHBvL3poX0NOLnBvOgoJKiBwby96aF9ISy5wbzoKCSogcG8vemhfVFcucG86CgkgIFVwZGF0ZSAucG8gZmlsZXMKCjIwMTMtMDktMjAgMTk6NDM6MjEgKzAyMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8eWxhdHV5YUBnbWFpbC5jb20+CgoJKiBzeXMvb3N4dmlkZW8vb3N4dmlkZW9zaW5rLm06CgkgIG9zeHZpZGVvc2luazogZml4IHNlZ2ZhdWx0IHJlbGVhc2luZyB0aGUgc2luawoJICBzaG93X2ZyYW1lIGlzIGRlZmVycmVkIHRvIHRoZSBtYWluIHRocmVhZCBhbmQgY2FuIGJlIGNhbGxlZAoJICB3aGVuIHRoZSBzaW5rIGhhcyBiZWVuIHJlbGVhc2VkLCBzbyB3ZSBuZWVkIHRvIGtlZXAgYW4gZXh0cmEgcmVmCgkgIG9uIE9iamVjdGl2ZUMgb2JqZWN0IGhlbHBlci4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwODUwMQoKMjAxMy0wOS0xOSAxNzoxMTozNCAtMDQwMCAgUm9iZXJ0IEtyYWtvcmEgPHJvYi5rcmFrb3JhQG1lc3NhZ2VuZXRzeXN0ZW1zLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkgIHY0bDJidWZmZXJwb29sOiBSZXN0b3JlIG9yaWdpbmFsIEdzdE1lbW9yeSBpbiBidWZmZXIgaWYgaXQgaGFzIGJlZW4gY2hhbmdlZAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA2MDgzCgoyMDEzLTA5LTIzIDE2OjM0OjE1ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzoKCSAgcnRwbWFuYWdlcjogdXBkYXRlIGRvY3MKCjIwMTMtMDktMjMgMTU6MzY6MzIgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHB0ZGVtdXguYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzc3JjZGVtdXguYzoKCSAgZG9jczogdXBkYXRlIGRvY3Mgd2l0aCAxLjAgZWxlbWVudCBuYW1lcwoKMjAxMy0wOS0yMyAxNDoxMzozMCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cGppdHRlcmJ1ZmZlci5jOgoJICB0ZXN0czogYWRkIHRlc3QgZm9yIHJldHJhbnNtaXNzaW9uIGJlY2F1c2Ugb2YgcmVvcmRlcmluZwoKMjAxMy0wOS0yMyAxNDoxMjowMyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBydHBqaXR0ZXJidWZmZXI6IGFsd2F5cyBzdG9yZSBsb3N0IGV2ZW50IGluIGppdHRlcmJ1ZmZlcgoJICBBbHdheXMgcHJlcGFyZSBhIGxvc3QgZXZlbnQgaW4gdGhlIGppdHRlcmJ1ZmZlciwgaXQgaXMgdG8gd2FrZSB1cCBhbmQgbWFrZSB0aGUKCSAgcHVzaGluZyB0aHJlYWQgY29udGludWUuIFdlIGRyb3AgdGhlIGV2ZW50IHdoZW4gd2UgYXJlIG5vdCBzdXBwb3NlZCB0byBwdXNoIGxvc3QKCSAgZXZlbnRzIGRvd25zdHJlYW0uCgoyMDEzLTA5LTIzIDExOjE4OjQ2ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIHJ0cGppdHRlcmJ1ZmZlcjogc2NoZWR1bGUgbG9zdCBldmVudCBkaWZmZXJlbnRseQoJICBTY2hlZHVsZSB0aGUgbG9zdCBldmVudCBieSBwbGFjaW5nIGl0IGluc2lkZSB0aGUgaml0dGVyYnVmZmVyIHdpdGggdGhlIHNlcW51bQoJICB0aGF0IHdhcyBsb3N0IHNvIHRoYXQgdGhlIHB1c2hpbmcgdGhyZWFkIGNhbiBpbnRlcmxlYXZlIGFuZCBwdXNoIGl0IHByb3Blcmx5LgoKMjAxMy0wOS0yMyAxMToxNzozNCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cGppdHRlcmJ1ZmZlci5jOgoJICB0ZXN0czogcmVtb3ZlIHRpbWVvdXRzIGZyb20gY2hlY2sKCSAgVGltZW91dHMgbWFrZSB0aGUgdGVzdCB1bnJlbGlhYmxlIGFuZCBhcmUgbm90IG5lZWRlZC4KCjIwMTMtMDktMjMgMTE6MTU6MzAgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBqaXR0ZXJidWZmZXIuYzoKCSAgcnRwaml0dGVyYnVmZmVyOiByZW1vdmUgbGlzdCBkZWJ1ZwoKMjAxMy0wOS0yMyAxMToxNDowMSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBqaXR0ZXJidWZmZXIuaDoKCSAgcnRwaml0dGVyYnVmZmVyOiBhZGQgdHlwZSB0byB0aGUgaXRlbQoJICBTbyB0aGF0IHRoZSB1cHBlciBsYXllciBjYW4ga25vdyB3aGF0IGRhdGEgaXMgY29udGFpbmVkIGluIHRoZSBpdGVtLgoKMjAxMy0wOS0yMyAwOTo1ODozMiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBqaXR0ZXJidWZmZXIuYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwaml0dGVyYnVmZmVyLmg6CgkgIHJ0cGppdHRlcmJ1ZmZlcjogZml4IGZsdXNoCgkgIFBhc3MgZnVuY3Rpb24gdG8gZmx1c2ggdG8gcHJvcGVybHkgZnJlZSB0aGUgcXVldWUgaXRlbXMuCgoyMDEzLTA5LTIxIDAwOjA4OjIwICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwaml0dGVyYnVmZmVyLmM6CgkgIHJ0cGppdHRlcmJ1ZmZlcjogYXBwZW5kIHNlcW51bSAtMSBwYWNrZXRzCgoyMDEzLTA5LTIwIDIzOjQ4OjIwICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cGppdHRlcmJ1ZmZlci5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBqaXR0ZXJidWZmZXIuaDoKCSAgcnRwaml0dGVyYnVmZmVyOiB1c2Ugc3RydWN0dXJlIHRvIGhvbGQgcGFja2V0IGluZm9ybWF0aW9uCgkgIE1ha2UgdGhlIGppdHRlcmJ1ZmZlciBvcGVyYXRlIG9uIGEgc3RydWN0dXJlIGNvbnRhaW5pbmcgYWxsIHRoZSBwYWNrZXQKCSAgaW5mb3JtYXRpb24uIFRoaXMgYXZvaWRzIG1hcHBpbmcgdGhlIGJ1ZmZlciBtdWx0aXBsZSB0aW1lcyBqdXN0IHRvIGdldCB0aGUgUlRQCgkgIGluZm9ybWF0aW9uLiBJdCB3aWxsIGFsc28gbWFrZSBpdCBwb3NzaWJsZSB0byBzdG9yZSBvdGhlciBtaW5pb2JqZWN0cyBzdWNoIGFzCgkgIGV2ZW50cyBsYXRlci4KCjIwMTMtMDktMjAgMTc6NDg6NTIgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgcnRwaml0dGVyYnVmZmVyOiB1cGRhdGUgZXhwZWN0ZWQgdGltZXIgd2hlbiBwb3NzaWJsZQoJICBXaGVuIHdlIHJlY2VpdmUgYSBwYWNrZXQgYW5kIHdlIGhhdmUgc29tZSBtaXNzaW5nIHBhY2tldHMsIHdlIGNhbiB1cGRhdGUgdGhlaXIKCSAgZXN0aW1hdGVkIGFycml2YWwgdGltZXMgYmFzZWQgb24gdGhlIHRpbWVzdGFtcCBkaWZmZXJlbmNlLgoKMjAxMy0wOS0yMCAxNzoxODoyNyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBydHBqaXR0ZXJidWZmZXI6IGZpeCBvcmRlciBvZiB0aW1lb3V0IGV2ZW50cwoJICBJbXByb3ZlIHRoZSBvcmRlciBvZiB0aGUgdGltZW91dCBldmVudHMsIGlmIHRoZXJlIGFyZSB0aW1lcnMgd2l0aCB0aGUgc2FtZQoJICB0aW1lb3V0LCB3ZSB3YW50IHRvIHRyaWdnZXIgdGhlIGxvd2VzdCBzZXFudW0gZmlyc3QuIEZvciB0aGlzIHdlIG5lZWQgdG8gbG9vcAoJICBvdmVyIHRoZSBjb21wbGV0ZSBhcnJheSBvZiB0aW1lcnMgdG8gZmluZCB0aGUgYmVzdCBvbmUgYmVmb3JlIHRyaWdnZXJpbmcgdGhlCgkgIHRpbWVvdXQuCgoyMDEzLTA5LTIwIDE2OjU4OjM4ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIHJ0cGppdHRlcmJ1ZmZlcjogc2VuZCBsb3N0IGV2ZW50IGJlZm9yZSBzaWduYWxpbmcgbmV4dCBidWZmZXIKCSAgRmlyc3Qgc2VuZCB0aGUgbG9zdCBldmVudCwgdGhlbiB1cGRhdGUgdGhlIG5leHRfc2VxbnVtIGNvdW50ZXIgYW5kIHRoZW4KCSAgc2VuZCB0aGUgc2lnbmFsIHRvIHRoZSBwdXNoaW5nIHRocmVhZCB0aGF0IGl0IGNhbiByZXRyeSB0byBwdXNoIGEgYnVmZmVyLiBUaGlzCgkgIGF2b2lkcyBwdXNoaW5nIG91dCBidWZmZXJzIGJlZm9yZSB0aGUgbG9zdCBldmVudCBpcyBwdXNoZWQuCgoyMDEzLTA5LTIwIDE1OjM1OjI1ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cGppdHRlcmJ1ZmZlci5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBqaXR0ZXJidWZmZXIuaDoKCSAgaml0dGVyYnVmZmVyOiBjb25maWd1cmUgY2xvY2stcmF0ZSBvbiBqaXR0ZXJidWZmZXIKCSAgQWRkIGEgZ2V0IGFuZCBzZXR0ZXIgdG8gY29uZmlndXJlIHRoZSBjbG9jay1yYXRlIGluIHRoZSBqaXR0ZXJidWZmZXIgaW5zdGVhZCBvZgoJICBwYXNzaW5nIGl0IGFzIGFuIGFyZ3VtZW50IHRvIHRoZSBpbnNlcnQgbWV0aG9kLgoKMjAxMy0wOS0yMCAxMjoyOTozOSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cGppdHRlcmJ1ZmZlci5jOgoJICB0ZXN0czogYWRkIHRlc3QgZm9yIHBhY2tldCBkZWxheSBhbmQgcmV0cmFuc21pc3Npb24KCjIwMTMtMDktMjAgMTI6Mjc6MjYgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgcnRwaml0dGVyYnVmZmVyOiBhZGQgb3B0aW9uIHRvIHJlc2V0IHJldHJhbnNtaXNzaW9uIHRpbWVycwoKMjAxMy0wOS0yMCAxMjoyNTo0MyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBydHBqaXR0ZXJidWZmZXI6IHN0b3AgdGhlIHRpbWVyIHRocmVhZAoJICBUaGUgdGltZW91dCBjb2RlIGNvdWxkIHJlbGVhc2UgdGhlIGxvY2sgc28gd2UgbmVlZCB0byBjaGVjayBpZiB3ZSBhcmUgYWxsb3dlZCB0bwoJICB3YWl0IGZvciB0aGUgY2xvY2sgc29tZSBtb3JlLgoKMjAxMy0wOS0yMCAxMjoyNToxMiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBydHBqaXR0ZXJidWZmZXI6IHVubG9jayBvbmx5IG9uY2UKCjIwMTMtMDktMjAgMTE6MzA6MDQgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHBqaXR0ZXJidWZmZXIuYzoKCSAgdGVzdHM6IGNoZWNrIGJvdGggUFRTIGFuZCBEVFMKCjIwMTMtMDktMjAgMTA6NTU6MDMgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHBqaXR0ZXJidWZmZXIuYzoKCSAgdGVzdHM6IGFkZCB1bml0LXRlc3QgZm9yIG11bHRpcGxlIG1pc3NpbmcgcGFja2V0cwoJICBDaGVjayBpZiBtdWx0aXBsZSBtaXNzaW5nIHBhY2tldHMgZ2VuZXJhdGUgcmV0cmFuc21pc3Npb24gZXZlbnRzIGFuZCB0aGF0IHRoZQoJICByZXRyYW5taXNzaW9uIHJlcXVlc3RzIGFyZSBjYW5jZWxlZCB3aGVuIHRoZSBtaXNzaW5nIHBhY2tldCBhcnJpdmVzLgoKMjAxMy0wOS0yMCAxMDo1MzoyOSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBydHBqaXR0ZXJidWZmZXI6IGltcHJvdmUgZmx1c2ggYW5kIHNodXRkb3duCgkgIFRoZXJlIGlzIG5vIG5lZWQgdG8gdW5zY2hlZHVsZSB0aGUgdGltZXIgaW4gZmx1c2gtc3RhcnQsIGZsdXNoLXN0b3Agd2lsbCByZW1vdmUKCSAgdGhlIHRpbWVycyBhbmQgdW5zY2hlZHVsZS4KCSAgVW5zY2hlZHVsZSB0aGUgY3VycmVudCB0aW1lciBiZWZvcmUgYXR0ZW1wdGluZyB0byBqb2luIHRoZSB0aW1lciB0aHJlYWQuCgoyMDEzLTA5LTIwIDEwOjQzOjUzICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwaml0dGVyYnVmZmVyLmM6CgkgIHRlc3RzOiBpbXByb3ZlIGRlYnVnCgoyMDEzLTA5LTIwIDEwOjQyOjI3ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIHJ0cGppdHRlcmJ1ZmZlcjogc2V0IGNvcnJlY3QgZXhwZWN0ZWQgdGltZQoJICBXaGVuIHdlIGFscmVhZHkgaGF2ZSBhIHRpbWVyIGZvciBhIHBhY2tldCwgc2tpcCBpdCBidXQgZG9uJ3QgZm9yZ2V0IHRvIGFkanVzdAoJICB0aGUgZHRzIHRvIHRoZSBleHBlY3RlZCBkdHMgb2YgdGhlIG5leHQgcGFja2V0LgoKMjAxMy0wOS0yMCAxMDo0MTo1OSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBqaXR0ZXJidWZmZXI6IGltcHJvdmUgZGVidWcKCjIwMTMtMDktMTkgMTY6NTU6MjUgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYWxwaGEvZ3N0YWxwaGEuYzoKCSAgYWxwaGE6IHVzZSBQT0ZGU0VUIGluc3RlYWQgb2YgT0ZGU0VUCgkgIFVzZSB0aGUgbW9yZSBjb3JyZWN0IFBPRkZTRVQgbWFjcm8gdG8gZ2V0IHRoZSBvZmZzZXQgb2YgYSBjb21wb25lbnQgaW4gaXRzCgkgIHBsYW5lLiBUaGUgb2Zmc2V0IG1hY3JvIGdpdmVzIHRoZSBvZmZzZXQgb2YgdGhlIGNvbXBvbmVudCByZWxhdGl2ZSB0byB0aGUgc3RhcnQKCSAgb2YgdGhlIGZyYW1lLgoKMjAxMy0wOS0yMSAxODo0NjoyOSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogZ3N0L2dvb20vbW14Lmg6CgkgIGdvb206IEZpeCBNTVggYXNzZW1ibHkgY29tcGlsYXRpb24gd2l0aCBjbGFuZwoJICBjbGFuZyBkb2VzIG5vdCB3YW50IG9yIG5lZWQgYSBjbG9iYmVyIGxpc3QgZm9yIGVtbXM6CgkgIGVycm9yOiBjbG9iYmVycyBtdXN0IGJlIGxhc3Qgb24gdGhlIHg4NyBzdGFjawoJICBQYXRjaCB0YWtlbiBmcm9tIHRoZSBGcmVlQlNEIHBvcnRzLCBwcm92aWRlZCBieQoJICBEYW4gTWNHcmVnb3IgPGRhbi5tY2dyZWdvckB1c2Fzay5jYT4KCjIwMTMtMDktMjAgMTY6MTY6NTcgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSBiNjEzNjYxIHRvIDZiMDNiYTcKCjIwMTMtMDktMjAgMTA6MTk6MjIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYS1kZW11eDogTWFrZSBzdXJlIHRoYXQgc3VidGl0bGUgYnVmZmVycyBhcmUgXDAtdGVybWluYXRlZAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA3OTMzCgoyMDEzLTA5LTE3IDEyOjE3OjU0ICswMjAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPHlsYXR1eWFAZ21haWwuY29tPgoKCSogZ3N0L2lzb21wNC9nc3RxdG11eC5jOgoJICBxdG11eDogaGFuZGxlIGlzc3VlcyBjb3JyZWN0bHkgd2hlbiBkb3duc3RyZWFtIGlzIG5vdCBzZWVrYWJsZQoJICBUaGUgc3RyZWFtYWJsZSBwcm9wZXJ0eSBvbmx5IG1ha2Ugc2Vuc2UgZm9yIGZyYWdtZW50ZWQgZm9ybWF0cy4KCSAgRm9yIHJlZ3VsYXIgTVA0LCB3aGVuIGRvd25zdHJlYW0gaXMgbm90IHNlZWthYmxlIHdlIGNhbid0IHJld3JpdGUKCSAgdGhlIGhlYWRlcnMsIHNvIHF0bXV4IGNhbiBvbmx5IHdvcmsgd2l0aCBmYXN0LXN0YXJ0PVRSVUUsIHdoZXJlCgkgIHRoZSBoZWFkZXJzIGFyZSB3cml0dGVuIGZpbmlzaGluZyB0aGUgZmlsZS4KCSAgRm9yIGZyYWdtZW50ZWQgTVA0LCB3aGVuIHN0cmVhbWFibGUgaXMgbm90IHNlZWthYmxlIGFuZCB0aGUgc3RyZWFtYWJsZQoJICBwcm9wZXJ0eSBpcyBGQUxTRSwgd2UgbXVzdCBlbmZvcmNlIHN0cmVhbWFibGU9VFJVRSB3YXJuaW5nIHRoZSB1c2VyCgkgIGFib3V0IHRoaXMgY2hhbmdlCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDcyNDIKCjIwMTMtMDktMTcgMTI6MDY6MDYgKzAyMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8eWxhdHV5YUBnbWFpbC5jb20+CgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBtYWtlICJzdHJlYW1hYmxlIiBUUlVFIGFzIGRlZmF1bHQKCSAgVGhlIG1vc3QgY29tbW9uIHVzZSBjYXNlIGZvciBmcmFnbWVudGVkIE1QNCAoRGFzaCBhbmQgU21vb3RoIFN0cmVhbWluZykKCSAgaXMgcHJvZHVjaW5nIHN0cmVhbWFibGUgY29udGVudCAoZXZlbiBmb3IgVk9EKS4gc3RyZWFtYWJsZT1GQUxTRSB3b3VsZCBvbmx5CgkgIGJlIHVzZWQgdG8gZ2VuZXJhdGUgZnJhZ21lbnRlZCBNUDQgd2l0aCBhbmQgaW5kZXggb2YgTU9PRidzIHRoYXQgY291bGQKCSAgYmUgcmVwcm9kdWNlZCB3aXRob3V0IGEgcGxheWxpc3QvbWFuaWZlc3QKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwNzI0MgoKMjAxMy0wOS0xNyAxMjowMTozMCArMDIwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDx5bGF0dXlhQGdtYWlsLmNvbT4KCgkqIGdzdC9pc29tcDQvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IGRlcHJlY2F0ZSB0aGUgc3RyZWFtYWJsZSBwcm9wZXJ0eSBmb3Igbm9uLWZyYWdtZW50ZWQgTVA0CgkgIFRoZSBzdHJlYW1hYmxlIHByb3BlcnR5IG9ubHkgbWFrZXMgc2Vuc2UgZm9yIGZyYWdtZW50ZWQgTVA0LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA3MjQyCgoyMDEzLTA5LTE5IDE3OjA4OjE5IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuaDoKCSAgdjRsMjogUmVtb3ZlIGNvbW1lbnRlZCBvdXQgbGluZQoKMjAxMy0wOS0xOSAxODo0MzowOCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gNzRhNjg1NyB0byBiNjEzNjYxCgoyMDEzLTA5LTE5IDE3OjM1OjI3ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogYXV0b2dlbi5zaDoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSAwOThjMGQ3IHRvIDc0YTY4NTcKCjIwMTMtMDktMTkgMTY6NTA6NDQgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYWxwaGEvZ3N0YWxwaGEuYzoKCSAgYWxwaGE6IGRvbid0IGFzc3VtZSBwbGFuYXIgZm9ybWF0cyBoYXZlIGp1c3QgMSBibG9jawoJICBEb24ndCBhc3N1bWUgcGxhbmFyIGZvcm1hdHMgaGF2ZSBqdXN0IG9uZSBtZW1vcnkgYmxvY2sgd2l0aCB0aGUgZGF0YSBidXQgdXNlIHRoZQoJICBtYWNyb3MgdG8gYWNjZXNzIHRoZSByaWdodCBtZW1vcnkgYmxvY2sgd2hlcmUgYSBjb21wb25lbnQgY2FuIGJlIGZvdW5kLgoKMjAxMy0wOS0xOSAxNDoxNDo1MiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cGppdHRlcmJ1ZmZlci5jOgoJICB0ZXN0czogYWRkIHJldHJhbnNtaXNzaW9uIGppdHRlcmJ1ZmZlciB0ZXN0CgkgIFN0b3JlIGJvdGggRFRTIGFuZCBQVFMgb24gYnVmZmVycy4KCSAgTWFrZSBhIHF1ZXVlIGZvciBzcmNwYWQgZXZlbnRzLgoJICBBY3RpdmF0ZSBwYWRzIGFmdGVyIGxpbmtpbmcgc28gdGhhdCB3ZSBkb24ndCBnZXQgUkVDT05GSUdVUkUgZXZlbnRzLgoJICBBZGQgdGVzdCBmb3IgcmV0cmFuc21pc3Npb24uCgoyMDEzLTA5LTE5IDE0OjEyOjE4ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIHJ0cGppdHRlcmJ1ZmZlcjoga2VlcCBkZWxheSBhcyBhIHNlcGFyYXRlIHZhcmlhYmxlIGluIHRpbWVyCgkgIEtlZXAgYSBzZXBhcmF0ZSBkZWxheSBpbiB0aGUgdGltZXIgc28gdGhhdCB3ZSBzdGlsbCBrbm93IHRoZSBvcmlnaW5hbCB0aW1lc3RhbXAKCSAgb2YgdGhlIHBhY2tldCB0aGF0IHRoaXMgdGltZXIgcmVmZXJzIHRvLiBXZSBjYW4gdGhlbiBwbGFjZSB0aGUgY29ycmVjdAoJICBydW5uaW5nLXRpbWUgaW4gdGhlIFJldHJhbnNtaXNzaW9uIGV2ZW50LgoKMjAxMy0wOS0xOSAxNDowODo1NiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBydHBqaXR0ZXJidWZmZXI6IGZpeCB3cml0YWJpbGl0eSBvZiBwcm9wZXJ0aWVzCgoyMDEzLTA5LTE5IDExOjM0OjU3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBjb25maWd1cmUuYWM6CgkgIEJhY2sgdG8gZGV2ZWxvcG1lbnQKCj09PSByZWxlYXNlIDEuMS45MCA9PT0KCjIwMTMtMDktMTkgMTA6NTA6MjMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIENoYW5nZUxvZzoKCSogTkVXUzoKCSogUkVMRUFTRToKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tMTM5NC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYWNvbG9yLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFwZXRhZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb2Z4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvcGFyc2Vycy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9kZXRlY3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXZpLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhY2FzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhaXJvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWN1dHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWludGVybGFjZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdG1mLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZmVjdHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXF1YWxpemVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZseGRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZGtwaXhidWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tMmsxLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWljeWRlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlkM2RlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWltYWdlZnJlZXplLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVybGVhdmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taXNvbXA0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWphY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanBlZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sZXZlbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tYXRyb3NrYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aWZpbGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlwYXJ0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5hdmlnYXRpb250ZXN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zczQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5nLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXB1bHNlYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVwbGF5Z2Fpbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwbWFuYWdlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHNwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNoYXBld2lwZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaG91dDJzZW5kLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNtcHRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlY3RydW0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdGFnbGliLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXVkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlbzRsaW51eDIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9ib3gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9jcm9wLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvZmlsdGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvbWl4ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdnB4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXhpbWFnZXNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi15NG1lbmMueG1sOgoJKiBnc3QtcGx1Z2lucy1nb29kLmRvYXA6CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgUmVsZWFzZSAxLjEuOTAKCjIwMTMtMDktMTkgMTA6MjE6NDIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIHBvL2FmLnBvOgoJKiBwby9hei5wbzoKCSogcG8vYmcucG86CgkqIHBvL2NhLnBvOgoJKiBwby9jcy5wbzoKCSogcG8vZGEucG86CgkqIHBvL2RlLnBvOgoJKiBwby9lbC5wbzoKCSogcG8vZW5fR0IucG86CgkqIHBvL2VvLnBvOgoJKiBwby9lcy5wbzoKCSogcG8vZXUucG86CgkqIHBvL2ZpLnBvOgoJKiBwby9mci5wbzoKCSogcG8vZ2wucG86CgkqIHBvL2hyLnBvOgoJKiBwby9odS5wbzoKCSogcG8vaWQucG86CgkqIHBvL2l0LnBvOgoJKiBwby9qYS5wbzoKCSogcG8vbHQucG86CgkqIHBvL2x2LnBvOgoJKiBwby9tdC5wbzoKCSogcG8vbmIucG86CgkqIHBvL25sLnBvOgoJKiBwby9vci5wbzoKCSogcG8vcGwucG86CgkqIHBvL3B0X0JSLnBvOgoJKiBwby9yby5wbzoKCSogcG8vcnUucG86CgkqIHBvL3NrLnBvOgoJKiBwby9zbC5wbzoKCSogcG8vc3EucG86CgkqIHBvL3NyLnBvOgoJKiBwby9zdi5wbzoKCSogcG8vdHIucG86CgkqIHBvL3VrLnBvOgoJKiBwby92aS5wbzoKCSogcG8vemhfQ04ucG86CgkqIHBvL3poX0hLLnBvOgoJKiBwby96aF9UVy5wbzoKCSAgVXBkYXRlIC5wbyBmaWxlcwoKMjAxMy0wOS0xOSAwOTo0NToxOCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogcG8vY3MucG86CgkqIHBvL25sLnBvOgoJKiBwby9wbC5wbzoKCSogcG8vdWsucG86CgkqIHBvL3ZpLnBvOgoJICBwbzogVXBkYXRlIHRyYW5zbGF0aW9ucwoKMjAxMy0wOS0xMSAxNDoyNzowMiAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkgIHY0bDJidWZmZXJwb29sOiBkbWFidWYgaXMgbm90IGEgc2luZ2xldG9uIGFueW1vcmUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwNzc5MwoKMjAxMy0wOS0xNiAxMzo1Mzo0NSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzoKCSAgc291cGh0dHBzcmM6IGRvIG5vdCBkbyBodHRwIHJlcXVlc3RzIGluIFJFQURZCgkgIEhFQUQgcmVxdWVzdHMgdG8gZGlzY292ZXIgaWYgdGhlIHNlcnZlciBpcyBzZWVrYWJsZSBzaG91bGRuJ3QgYmUgZG9uZSBpbgoJICBSRUFEWSBhcyBpdCBtaWdodCBsb2NrIHRoZSBtYWluIHRocmVhZCB0aGF0IGlzIGRvaW5nIHRoZSBzdGF0ZSBjaGFuZ2UuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDUzNzEKCjIwMTMtMDktMTggMTY6MzI6MjggKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgcnRwaml0dGVyYnVmZmVyOiByZWV2YWx1YXRlIHRoZSBjdXJyZW50IHRpbWVyIGFmdGVyIHRpbWVvdXQKCSAgV2hlbiB3ZSB0cmlnZ2VyIHRoZSB0aW1lb3V0IGxvZ2ljIG9mIGEgdGltZXIsIHJlZXZhbHVhdGUgaXQgYmVjYXVzZSBpdCBpcwoJICBwb3NzaWJsZSB0aGF0IGl0IHN0aWxsIGhhcyB0aGUgbG93ZXN0IHRpbWVvdXQuCgoyMDEzLTA5LTE4IDE2OjMxOjI2ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIHJ0cGppdHRlcmJ1ZmZlcjogZG9uJ3QgdXBkYXRlIHRpbWUgd2hlbiB1bnNjaGVkdWxlZAoJICBEb24ndCB0cnkgdG8gZXN0aW1hdGUgdGhlIGN1cnJlbnQgdGltZSB3aGVuIHdlIGdvdCB1bnNjaGVkdWxlZC4KCjIwMTMtMDktMTggMTY6Mjk6MzcgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgcnRwaml0dGVyYnVmZmVyOiBpbml0IHBhY2tldCBzcGFjaW5nIG9uIGZpcnN0IGJ1ZmZlcgoJICBBbHJlYWR5IGluaXQgdGhlIHBhY2tldCBzcGFjaW5nIHZhcmlhYmxlcyBvbiB0aGUgZmlyc3QgYnVmZmVyIHNvIHRoYXQgd2UgY2FuCgkgIGNhbGN1bGF0ZSB0aGUgc3BhY2luZyBvbiB0aGUgc2Vjb25kIGJ1ZmZlciBhbHJlYWR5LgoKMjAxMy0wOS0xOCAxNTowODo0NSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cGppdHRlcmJ1ZmZlci5jOgoJICB0ZXN0czogZml4IGNvbW1lbnRzCgoyMDEzLTA5LTE4IDE0OjU3OjA5ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIHJ0cGppdHRlcmJ1ZmZlcjogcHVzaCB0aGUgbG9zdCBldmVudCBmcm9tIHRoZSB0aW1lciB0aHJlYWQKCSAgSW5zdGVhZCBvZiBwdXNoaW5nIHRoZSBsb3N0IGV2ZW50IGZyb20gdGhlIGNoYWluIGZ1bmN0aW9uLCBzY2hlZHVsZSBhIHRpbWVvdXQKCSAgdGhhdCB3aWxsIHB1c2ggdGhlIGxvc3QgZXZlbnQgZnJvbSB0aGUgdGltZXIgdGhyZWFkLiBUaGlzIGF2b2lkIGJsb2NraW5nIHRoZQoJICB1cHN0cmVhbSB0aHJlYWQgd2hpbGUgd2UgcHVzaCBhbmQgc3luYyB0aGUgZXZlbnQuCgoyMDEzLTA5LTE4IDE0OjIzOjU1ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwaml0dGVyYnVmZmVyLmM6CgkgIHJ0cGppdHRlcmJ1ZmZlcjogYWRkIGFub3RoZXIgdGVzdAoJICBUaGUgdGVzdCBpcyBtb2RpZmllZCBzbGlnaHRseSBiZWNhdXNlIHRoZSBsYXRlIGxvc3QgcGFja2V0cyBhcmUgb25seQoJICBnZW5lcmF0ZWQgbm93IHdoZW4gYSBsYXJnZSBnYXAgaXMgcmVjZWl2ZWQuCgoyMDEzLTA5LTE4IDE0OjEyOjQ3ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cGppdHRlcmJ1ZmZlci5jOgoJICBydHBqaXR0ZXJidWZmZXI6IHJvdW5kIGdhcCBkdXJhdGlvbiB0byBtdWx0aXBsZSBvZiBkdXJhdGlvbgoJICBNYWtlIHN1cmUgdGhlIGdhcCBkdXJhdGlvbiBpbiB0aGUgbG9zdCBldmVudCBpcyBhIG11bHRpcGxlIG9mIHRoZSBwYWNrZXQKCSAgZHVyYXRpb24uCgkgIEVuYWJsZSBhbm90aGVyIHRlc3QuCgoyMDEzLTA5LTE4IDEyOjI5OjM4ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHBqaXR0ZXJidWZmZXIuYzoKCSAgcnRwaml0dGVyYnVmZmVyOiBrZWVwIHRyYWNrIG9mIGR1cmF0aW9uCgkgIEtlZXAgdHJhY2sgb2YgdGhlIGVzdGltYXRlZCBkdXJhdGlvbiBvZiBtaXNzaW5nIHBhY2tldHMgYW5kIHVzZSBpdCBpbiB0aGUgbG9zdAoJICBldmVudC4KCSAgRW5hYmxlIGFub3RoZXIgdW5pdCB0ZXN0CgoyMDEzLTA5LTE4IDExOjU5OjI4ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cGppdHRlcmJ1ZmZlci5jOgoJICBydHBqaXR0ZXJidWZmZXI6IGhhbmRsZSBsYXJnZSBnYXBzIHdpdGggb25lIGxvc3QgZXZlbnQKCSAgV2hlbiB3ZSBoYXZlIGEgbGFyZ2UgbnVtYmVyIG9mIG1pc3NpbmcgcGFja2V0cywgZ2VuZXJhdGUgb25lIGxvc3QgZXZlbnQgZm9yIGFsbAoJICB0aGUgcGFja2V0cyB0aGF0IGhhdmUgbm8gY2hhbmNlIG9mIGJlaW5nIHB1c2hlZCBvdXQgaW4gdGltZS4KCSAgRml4IGFuZCBhY3RpdmF0ZSB1bml0IHRlc3QgZm9yIGxhcmdlIGdhcHMuCgoyMDEzLTA5LTE4IDExOjU2OjM4ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIHJ0cGppdHRlcmJ1ZmZlcjogcmVmYWN0b3IgbG9zdCBldmVudCBzZW5kaW5nCgkgIEFsc28gbWFrZSBzdXJlIHdlIG9ubHkgaW5jcmVtZW50IHRoZSBleHBlY3RlZCBzZXFudW0gYW5kIGxhc3QKCSAgb3V0cHV0IHRpbWVzdGFtcC4KCjIwMTMtMDktMTcgMjM6MjE6MDkgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgaml0dGVyYnVmZmVyOiByZWZhY3RvciB0aW1lb3V0IHRyaWdnZXJzCgoyMDEzLTA5LTE3IDIzOjAzOjQ1ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIGppdHRlcmJ1ZmZlcjogc2ltcGxpZnkgdGhlIHRpbWVvdXQgY29kZQoJICBLZWVwIHRyYWNrIG9mIHRoZSBjdXJyZW50IHRpbWUgaW4gdGhlIHRpbWVvdXQgbG9vcC4KCSAgTG9vcCBvdmVyIGFsbCB0aW1lcnMgYW5kIHRyaWdnZXIgYWxsIHRoZSBleHBpcmVkIG9uZXMsIHdlIGNhbiBkbyB0aGlzIGluIHRoZQoJICBzYW1lIGxvb3AgdGhhdCBzZWxlY3RzIHRoZSBuZXcgYmVzdCB0aW1lci4KCjIwMTMtMDktMTcgMjM6MDE6MTcgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgaml0dGVyYnVmZmVyOiByZWFycmFuZ2UgdGltZXIgdXBkYXRlIGNvZGUKCSAgQWxzbyB1cGRhdGUgdGhlIHRpbWVycyB3aGVuIHJldHJhbnNtaXNzaW9uIGlzIGRpc2FibGVkLiBXZSBuZWVkIHRvCgkgIGRvIHRoaXMgYmVjYXVzZSB3aGVuIHdlIGFkZGVkIExPU1QgdGltZXJzIHdoZW4gd2UgZGV0ZWN0ZWQgbWlzc2luZyBwYWNrZXRzIGFuZAoJICB3ZSBuZWVkIHRvIHJlbW92ZSB0aG9zZSB0aW1lcnMgd2hlbiB0aGUgcGFja2V0IGZpbmFsbHkgYXJyaXZlcy4KCjIwMTMtMDktMTcgMjI6MDI6MDQgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBnc3QvdmlkZW9taXhlci9NYWtlZmlsZS5hbToKCSAgdmlkZW9taXhlcjogbGluayB0byBsaWJtIGZvciBtYXRocyBzdHVmZgoJICBGaXhlcyB1bmRlZmluZWQgcmVmZXJlbmNlcyB0byByaW50IGFuZCBwb3cgb24gdWJ1bnR1CgkgIGJ1aWxkIGJvdC4KCjIwMTMtMDktMTcgMTU6MTk6NDIgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgaml0dGVyYnVmZmVyOiByZWxlYXNlIGxvY2sgb24gc2h1dGRvd24KCjIwMTMtMDktMTcgMTU6MTE6NDEgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgY2hlY2s6IGNoYW5nZSBmb3IgdmlkZW9taXhlciByZW5hbWVkIG9yYyBmaWxlCgoyMDEzLTA5LTE0IDE2OjAzOjIwICswMjAwICBNYXRlaiBLbm9wcCA8bWF0ZWoua25vcHBAZ21haWwuY29tPgoKCSogZ3N0L2lzb21wNC9nc3RxdG11eC5jOgoJICBxdG11eDogcmVtb3ZlIE1BWF9UT0xFUkFURURfTEFURU5FU1MKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwNzQxMQoKMjAxMy0wOS0xNiAxNTo1NDozNyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2V4YW1wbGVzL3J0cC9jbGllbnQtSDI2NC1ydHguc2g6CgkgIGV4YW1wbGVzOiB3ZSBkb24ndCBuZWVkIHRoZSBxdWV1ZSBhbnltb3JlCgoyMDEzLTA5LTE2IDE1OjUzOjQ3ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIGppdHRlcmJ1ZmZlcjogdXNlIHNlcGFyYXRlIHRocmVhZCBmb3IgdGltZW91dHMKCSAgVXNlIGEgc2VwYXJhdGUgdGhyZWFkIGZvciBzY2hlZHVsaW5nIHRoZSB0aW1lb3V0cyBpbnN0ZWFkIG9mIHVzaW5nIHRoZQoJICBkb3duc3RyZWFtIHN0cmVhbWluZyB0aHJlYWQgdGhhdCBtaWdodCBibG9jayBhdCBhbnkgdGltZS4KCjIwMTMtMDktMTQgMTU6NTY6MDQgKzAyMDAgIE1hdGVqIEtub3BwIDxtYXRlai5rbm9wcEBnbWFpbC5jb20+CgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBzZXQgZmlyc3RfdHMgdG8gRFRTIGZvciBzdHJlYW1zIHRoYXQgaGF2ZSBEVFMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwNzM0MAoKMjAxMy0wOS0xNCAxNTo1NToyMiArMDIwMCAgTWF0ZWogS25vcHAgPG1hdGVqLmtub3BwQGdtYWlsLmNvbT4KCgkqIGdzdC9pc29tcDQvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IG1ha2Ugc3VyZSBkdXJhdGlvbiBpcyBhIHZhbGlkIG51bWJlciBmb3IgbGFzdCBidWZmZXIKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwNzM0MAoKMjAxMy0wOS0xNCAxNTo1NDoyOSArMDIwMCAgTWF0ZWogS25vcHAgPG1hdGVqLmtub3BwQGdtYWlsLmNvbT4KCgkqIGdzdC9pc29tcDQvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IHVzZSBzZWdtZW50LnN0YXJ0IG9yIGxhc3QgYnVmZmVyIGVuZCB0aW1lIGluIGNhc2Ugb2YgbWlzc2luZyBEVFMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwNzM0MAoKMjAxMy0wOS0wMyAxODoxNDowNCArMDIwMCAgTWF0ZWogS25vcHAgPG1hdGVqLmtub3BwQGdtYWlsLmNvbT4KCgkqIGdzdC9pc29tcDQvZ3N0cXRtdXguYzoKCSAgUmV2ZXJ0IHF0bXV4OiBVc2UgYnVmZmVyIFBUUyBpZiBEVFMgaXMgbm90IHNldCIKCSAgVGhpcyByZXZlcnRzIGNvbW1pdCBmNzJjM2NmNzFmZGU2MjIwNjdmNDFmMzFhNTM5NzhiYTRjOTQ0NjlkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA3MzQwCgoyMDEzLTA5LTE2IDExOjAzOjA2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyb3JjLWRpc3QuYzoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlcm9yYy1kaXN0Lmg6CgkgIHZpZGVvbWl4ZXI6IFVwZGF0ZSBvcmMgZ2VuZXJhdGVkIGZpbGVzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDgxMzEKCjIwMTMtMDktMTMgMTY6MjU6NDkgKzAyMDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5oOgoJICBydHBzZXNzaW9uOiBEZW11eCBSVENQIGJ1ZmZlcnMgZnJvbSB0aGUgUlRQIHN0cmVhbQoJICBJZiB0aGVyZSBhcmUgUlRDUCBidWZmZXJzIGluIHRoZSBSVFAgc3RyZWFtLCBwcm9jZXNzIHRoZW0gYXMKCSAgUlRDUC4gVGhpcyB3YXksIHdlIHdhbnQgcmVjZWl2ZSBzdHJlYW1zIGZvbGxvd2luZyBSRkMgNTc2MQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njg3NjU3CgoyMDEzLTA5LTEzIDIzOjI2OjIxICsxMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBnc3QvcnRwL2dzdHJ0cEwyNGRlcGF5LmM6CgkgIHJ0cDogUmVtb3ZlIGJvZ3VzIGV4dHJhIGNhcHMgZnJvbSBMMjQgdGVtcGxhdGUuCgkgIFRoZSBleHRyYSBjYXBzIGVudHJ5IGluIHRoZSB0ZW1wbGF0ZSB3YXMgbWFraW5nIGl0IHNvbWV0aW1lcwoJICBnZXQgcGx1Z2dlZCBmb3IgYW55IGR5bmFtaWNhbGx5IGFsbG9jYXRlZCBwYXlsb2FkIHR5cGUuCgoyMDEzLTA5LTEzIDEyOjQwOjQxICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmg6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHN0YXRzLmg6CgkgIHJ0cGJpbjogdXNlIFBhY2tldEluZm8gZm9yIHRoZSBzZW5kZXIKCSAgQXZvaWQgbWFwcGluZyB0aGUgcGFja2V0IG11bHRpcGxlIHRpbWVzIHdoZW4gc2VuZGluZyBSVFAuCgoyMDEzLTA5LTEzIDEyOjIyOjM2ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmg6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHN0YXRzLmg6CgkgIHJ0cGJpbjogc3RvcmUgbW9yZSBpbiB0aGUgUGFja2V0SW5mbwoJICBTdG9yZSBhbGwgaW5mbyBpbiB0aGUgUGFja2V0SW5mbyBzbyB0aGF0IHdlIGNhbiBhdm9pZCBtYXBwaW5nIHRoZSBwYWNrZXQKCSAgbXVsdGlwbGUgdGltZXMuCgoyMDEzLTA5LTEzIDExOjMyOjUyICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzdGF0cy5oOgoJICBzZXNzaW9uOiBzdG9yZSBtb3JlIGluIHRoZSBQYWNrZXRJbmZvIHN0cnVjdHVyZQoKMjAxMy0wOS0xMyAxMTowODo1NSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5oOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzdGF0cy5oOgoJICBydHBiaW46IFJUUEFycml2YWxTdGF0cyAtPiBSVFBQYWNrZXRJbmZvCgkgIFJlbmFtZSBhIHN0cnVjdHVyZSBiZWNhdXNlIHdlIGFyZSBhbHNvIGdvaW5nIHRvIHVzZSB0aGlzIGZvciB0aGUgc2VuZGVyCgkgIGJpdHMuCgoyMDEzLTA5LTEzIDEwOjU1OjMxICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5oOgoJICBzb3VyY2U6IHNtYWxsIGNsZWFudXBzCgoyMDEzLTA5LTEyIDEzOjMxOjAxIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogb25seSB1cGRhdGUgc3RvcCBwb3NpdGlvbiBpZiBzZWVrIHJlcXVlc3RzIGl0CgkgIENoZWNrIGZvciBHU1RfU0VFS19UWVBFX05PTkUgZm9yIHN0b3AgcG9pc3Rpb24gYW5kIG9ubHkgdXBkYXRlCgkgIHRoZSBzdG9wIHRpbWUgaWYgaXQgaXMgcmVxdWVzdGVkLiBPdGhlcndpc2UganVzdCBtYWludGFpbiB3aGF0ZXZlcgoJICB3YXMgc3RvcmVkIGF0IHRoZSBzZWdtZW50CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDc1MzAKCjIwMTMtMDktMTMgMDg6NTM6MjUgKzAyMDAgIFJpY28gVHpzY2hpY2hob2x6IDxyaWNvdHpAdWJ1bnR1LmNvbT4KCgkqIGdzdC9ydHAvTWFrZWZpbGUuYW06CgkgIHJ0cDogQWRkIG1pc3NpbmcgaGVhZGVycyB0cCBmaXggbWFrZSBkaXN0CgkgIEluIGFkZGl0aW9uIHRvIGE5NTZhNmNlYjJkZWI4N2NjMTM2MWFlZTFkNjYyNjQ0OWY0NmRhYjIKCjIwMTMtMDktMTIgMTU6MDc6NDggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZmxhY3BhcnNlLmM6CgkgIGZsYWNwYXJzZTogTWFrZSBzdXJlIHdlIGhhdmUgZW5vdWdoIGRhdGEgdG8gcmVhZCBpbWFnZSB0YWdzCgkgIFRoYW5rcyB0byBpcHV0aW5laSBmb3IgcmVwb3J0aW5nIHRoaXMgb24gSVJDLgoKMjAxMy0wOS0xMiAxNTowMTozNiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBqaXR0ZXJidWZmZXI6IGhhbmRsZSBzZWdtZW50cyB3aXRoIG5vbi0wIHN0YXJ0CgkgIFdlIGtlZXAgdGhlIERUUyBhbmQgUFRTIGluIHJ1bm5pbmctdGltZSBpbnNpZGUgdGhlIGppdHRlcmJ1ZmZlci4gTWFrZSBzdXJlIHRvCgkgIHRyYW5zZm9ybSBpdCBiYWNrIHRvIGEgYnVmZmVyIHRpbWVzdGFtcCBiZWZvcmUgcHVzaGluZyBvdXQgdGhlIGJ1ZmZlci4KCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwNzkzMQoKMjAxMy0wOS0xMSAxMzoxMTo1OCAtMDYwMCAgU2XDoW4gZGUgQsO6cmNhIDxsZWZ0bW9zdGNhdEBnbWFpbC5jb20+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2FkZW11eDogRml4IG9mZi1ieS1vbmUgaW4gdmFsaWRhdGlvbiBvZiBVVEYtOAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA3OTMzCgoyMDEzLTA5LTExIDE0OjMyOjE3IC0wMzAwICBUaGliYXVsdCBTYXVuaWVyIDx0aGliYXVsdC5zYXVuaWVyQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyMi5jOgoJICB2aWRlb21peGVyOiBEbyBub3QgY2hlY2sgaWYgY2FwcyBhcmUgZW1wdHkgd2hlbiB0aGV5IGFyZSBOVUxMCgkgIEluIHRoZSBjYXNlIHRoZSBjYXBzIGFyZSBhY3R1YWxseSBOVUxMLCB3ZSBzaG91bGQganVzdCBjb25jaWRlciBpdCB0aGUKCSAgc2FtZSB3YXkgYXMgZW1wdHkgY2FwcyBpbiB0aGF0IGNhc2UuCgoyMDEzLTA5LTEwIDE2OjQ0OjUzIC0wNjAwICBTZcOhbiBkZSBCw7pyY2EgPGxlZnRtb3N0Y2F0QGdtYWlsLmNvbT4KCgkqIGdzdC92aWRlb21peGVyL2JsZW5kb3JjLWRpc3QuYzoKCSogZ3N0L3ZpZGVvbWl4ZXIvYmxlbmRvcmMtZGlzdC5oOgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyb3JjLWRpc3QuYzoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlcm9yYy1kaXN0Lmg6CgkgIHZpZGVvbWl4ZXI6IGZpeCBidWlsZCBpZiBvcmMgaXMgbm90IGluc3RhbGxlZAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA3ODg2CgoyMDEzLTA5LTEwIDE3OjU3OjQ5IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2FkZW11eDogUHJlc2VydmUgc2VxbnVtIHdoZW4gcHVzaGluZyBzZWVrIHVwc3RyZWFtCgkgIEFmdGVyIGNvbnZlcnRpbmcgYSBzZWVrIGZyb20gdGltZSB0byBieXRlcywgdXNlIHRoZSBzYW1lIHNlcW51bQoJICBvbiB0aGUgZXZlbnQgdGhhdCBnb2VzIHVwc3RyZWFtCgoyMDEzLTA5LTA1IDAwOjE3OjE2IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogdHJhY2sgc3RyZWFtcyB0aGF0IGFyZSBFT1Mgb24gcHVzaCBtb2RlIHRvIGZpbmlzaCBlYXJsaWVyCgkgIFdoZW4gdGhlIHNlZ21lbnQgaGFzIGEgZGVmaW5lZCBzdG9wIHBvc2l0aW9uLCBxdGRlbXV4IHNob3VsZCBjaGVjawoJICB3aGVuIHN0cmVhbXMgcmVhY2ggdGhpcyBwb3NpdGlvbiBhbmQgbWFyayB0aG9zZSBhcyBFT1MuIFdoZW4gYWxsCgkgIHN0cmVhbXMgYXJlIEVPUyBpdCB3aWxsIHJldHVybiBHU1RfRkxPV19FT1MgdG8gdXBzdHJlYW0gdG8gYWxsb3cKCSAgdGhlIHBpcGVsaW5lIHRvIGZpbmlzaCBpbnN0ZWFkIG9mIGNvbnRpbnVvdXNseSBjb25zdW1lIGJ1ZmZlcnMKCSAgZnJvbSB1cHN0cmVhbSB0aGF0IGFyZSBub3QgdXNlZnVsIGZvciB0aGUgc2VnbWVudC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwNzUzMAoKMjAxMy0wOS0wNCAxNTozNDozNSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkqIGdzdC9pc29tcDQvcXRkZW11eC5oOgoJICBxdGRlbXV4OiBwcmVzZXJ2ZSBzdG9wIG9mIHNlZ21lbnQgd2hlbiBkb2luZyBzZWVrcyBpbiBwdXNoIG1vZGUKCSAgV2hlbiBoYW5kbGluZyBzZWVrcyBpbiBwdXNoIG1vZGUsIHF0ZGVtdXggY29udmVydHMgdGhlIHNlZWsgdG8gYnl0ZXMKCSAgYW5kIHB1c2hlcyB1cHN0cmVhbS4gSXQgbmVlZHMgdG8ga2VlcCB0cmFjayBvZiB0aGUgc2VlayBhbmQgdGhlCgkgIHN1YnNlcXVlbnQgc2VnbWVudCB0byBiZSBhYmxlIHRvIG1hcCB0aGVtIGJhY2sgdG8gdGhlIHJlcXVlc3RlZAoJICBzZWVrIHRpbWUgYW5kIHByb3Blcmx5IHByZXNlcnZlIHRoZSBzZWdtZW50IHN0b3Agb2YgdGhlIHNlZWsuCgkgIFRoaXMgaXMgZG9uZSBieSB1c2luZyB0aGUgc3RhcnQgb2Zmc2V0IGluIGJ5dGVzIG9mIHRoZSBzZWVrLAoJICB0aGF0IHNob3VsZCBiZSB0aGUgc2FtZSBvZiB0aGUgc2VnbWVudCBmcm9tIHVwc3RyZWFtLiBBbmQgdGhpcwoJICBpcyBhbHNvIGJhY2t3YXJkcyBjb21wYXRpYmxlIHdpdGggd2hhdCBxdGRlbXV4IGFscmVhZHkgd2FzIHVzaW5nLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA3NTMwCgoyMDEzLTA3LTI2IDE5OjQwOjUzICswMjAwICBNYXRoaWV1IER1cG9uY2hlbGxlIDxtYXRoaWV1LmR1cG9uY2hlbGxlQGVwaXRlY2guZXU+CgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyMi5jOgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyMnBhZC5oOgoJICB2aWRlb21peGVyOiBBZGQgY29sb3JzcGFjZSBjb252ZXJzaW9uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDQ5NTAKCjIwMTMtMDgtMDYgMTU6Mzg6MzkgKzAyMDAgIE1hdGhpZXUgRHVwb25jaGVsbGUgPG1hdGhpZXUuZHVwb25jaGVsbGVAZXBpdGVjaC5ldT4KCgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIyLmM6CgkgIHZpZGVvbWl4ZXI6IERvbid0IHNlbmQgcmVjb25maWd1cmUgZXZlbnQgd2hlbiBmb3JtYXRzIG9yIFBBUiBhcmUgZGlmZmVyZW50CgkgIEl0IGlzIHJhY3kgd2l0aCBtdWx0aXBsZSBwYWRzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA0OTUwCgoyMDEzLTA3LTI1IDEzOjQ5OjU3ICswMjAwICBNYXRoaWV1IER1cG9uY2hlbGxlIDxtYXRoaWV1LmR1cG9uY2hlbGxlQGVwaXRlY2guZXU+CgoJKiBnc3QvdmlkZW9taXhlci9NYWtlZmlsZS5hbToKCSogZ3N0L3ZpZGVvbWl4ZXIvYmxlbmQuYzoKCSogZ3N0L3ZpZGVvbWl4ZXIvYmxlbmRvcmMub3JjOgoJKiBnc3QvdmlkZW9taXhlci9nc3RjbXMuYzoKCSogZ3N0L3ZpZGVvbWl4ZXIvZ3N0Y21zLmg6CgkqIGdzdC92aWRlb21peGVyL3ZpZGVvY29udmVydC5jOgoJKiBnc3QvdmlkZW9taXhlci92aWRlb2NvbnZlcnQuaDoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlcjIuYzoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlcm9yYy5vcmM6CgkgIHZpZGVvbWl4ZXI6IEJ1bmRsZSBwcml2YXRlIGNvcGllcyBvZiB2aWRlb2NvbnZlcnQgY29kZQoJICBJZGVhbGx5LCB0aGlzIHdvdWxkIGJlIHBhcnQgb2YgbGliZ3N0dmlkZW8uCgkgIFByZWZpeGVzIHZpZGVvY29udmVydCBzeW1ib2xzIHdpdGggdmlkZW9taXhlcl8uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDQ5NTAKCjIwMTMtMDgtMjIgMDA6MDM6NDggKzAyMDAgIE1hdGhpZXUgRHVwb25jaGVsbGUgPG1hdGhpZXUuZHVwb25jaGVsbGVAZXBpdGVjaC5ldT4KCgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkgIHY0bDI6IFVzZSBuZXdseSAjZGVmaW5lZCBtZXRhZGF0YSBuYW1lcy4KCjIwMTMtMDktMDkgMTU6MTE6NTEgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IG9ubHkgd2FpdCBpZiB3ZSBmbHVzaGVkCgkgIE9ubHkgd2FpdCBmb3IgdGhlIFNUUkVBTV9MT0NLIHdoZW4gd2UgZmx1c2hlZCBzb21ldGhpbmcgd2hlbiBzZW5kaW5nCgkgIGEgY29tbWFuZCBmb3IgUEFVU0VEIG9yIFBMQVlJTkcuCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDc2MTEKCjIwMTMtMDktMDkgMTU6MDk6NDEgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IHJldHVybiB3aGVuIGEgZmx1c2ggd2FzIGlzc3VlZAoJICBNYWtlIGdzdF9ydHNwc3JjX2xvb3Bfc2VuZF9jbWQoKSByZXR1cm4gVFJVRSB3aGVuIHRoZSBjdXJyZW50CgkgIGFjdGlvbiBoYXMgYmVlbiBmbHVzaGVkCgoyMDEzLTA5LTA5IDExOjE2OjQwICswMjAwICBEYXZpZCBIb2xyb3lkIDxkYXZlQGJhZGdlcnMtaW4tZm9pbC5jby51az4KCgkqIGdzdC9ydHAvTWFrZWZpbGUuYW06CgkqIGdzdC9ydHAvZ3N0cnRwLmM6CgkqIGdzdC9ydHAvZ3N0cnRwTDI0ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBMMjRkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cEwyNHBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cEwyNHBheS5oOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHAtcGF5bG9hZGluZy5jOgoJICBydHA6IGFkZCBMMjQgcGF5IGFuZCBkZXBheWxvYWRlcgoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA3NzM0CgoyMDEzLTA5LTA5IDE0OjQ2OjQyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJICB2NGwyYnVmZmVycG9vbDogRml4IG1pc3NpbmcgY29uZGl0aW9uIGluIHByZXZpb3VzIGNvbW1pdAoKMjAxMy0wOS0wOSAxNDo0NDo1OCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSAgdjRsMmJ1ZmZlcnBvb2w6IEFsc28gZml4IHN0cmlkZXMgZm9yIG90aGVyIHNlbWktcGxhbmFyIHZpZGVvIGZvcm1hdHMKCjIwMTMtMDktMDkgMTQ6NDE6NDIgKzAyMDAgIEFuZHJlZWEgRnVsZ2VyIDxhbmRyZWVhLmZ1bGdlckBwYXJyb3QuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSAgdjRsMmJ1ZmZlcnBvb2w6IEZpeCBzdHJpZGUgZm9yIE5WMTIvTlYyMQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA3NzU4CgoyMDEzLTA5LTA3IDE2OjM3OjAzICswMjAwICBNYXRlaiBLbm9wcCA8bWF0ZWoua25vcHBAZ21haWwuY29tPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXJlYWQtY29tbW9uLmM6CgkgIG1hdHJvc2thZGVtdXg6IGZpeCBsZWFraW5nIGJ1ZmZlciBhbmQgY2FwcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA3Njg4CgoyMDEzLTA5LTA1IDE5OjQ2OjM3ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZ3N0L3VkcC9nc3R1ZHBzcmMuYzoKCSAgdWRwc3JjOiBmaXggYnVpbGQgb24gd2luMzIKCSAgZ3N0dWRwc3JjLmM6ODU1OjE1OiBlcnJvcjogI2lmIHdpdGggbm8gZXhwcmVzc2lvbgoKMjAxMy0wOS0wNCAxNTo1MDo0MiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgYXZpZGVtdXg6IGhhbmRsZSB1bnNlZWthYmxlIHN0cmVhbXMKCSAgSGFuZGxlIHN0cmVhbXMgdGhhdCB3ZSBjYW4ndCBzZWVrIGluIGFuZCBpZ25vcmUgdGhlbSBpbiB0aGUKCSAgc2VlayBsb2dpYy4KCjIwMTMtMDktMDQgMTU6MjU6MzkgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIGF2aWRlbXV4OiBvbmx5IGNoZWNrIHZpZGVvIGNvbXByZXNzaW9uIGZvciB2aWRlbyBzdHJlYW1zCgkgIE9yIGVsc2Ugd2UgbWlnaHQgZGVyZWYgYSBzdHJlYW0gd2l0aCBhIE5VTEwgc3RyZi52aWRzIGFuZCBzZWdmYXVsdAoKMjAxMy0wNi0xOCAxMzoyNzoyMCArMDEwMCAgQWxleCBBc2hsZXkgPGJ1Z3ppbGxhQGFzaGxleS1mYW1pbHkubmV0PgoKCSogZ3N0L2lzb21wNC9hdG9tcy5jOgoJKiBnc3QvaXNvbXA0L2ZvdXJjYy5oOgoJKiBnc3QvaXNvbXA0L2Z0eXBjYy5oOgoJKiBnc3QvaXNvbXA0L2dzdHJ0cHhxdGRlcGF5LmM6CgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXhfZm91cmNjLmg6CgkqIGdzdC9pc29tcDQvcXRkZW11eF90eXBlcy5jOgoJICBxdGRlbXV4OiBBZGQgc3VwcG9ydCBmb3IgdGhlIGF2YzMgc2FtcGxlIGVudHJ5IGZvcm1hdCBvZiB0aGUgQVZDIGZpbGUgZm9ybWF0CgkgIEFtZW5kbWVudCAyIG9mIElTTy9JRUMgMTQ0OTYtMTUgKEFWQyBmaWxlIGZvcm1hdCkgaXMgZGVmaW5pbmcgYSBuZXcKCSAgc3RydWN0dXJlIGZvciBmcmFnbWVudGVkIE1QNCBjYWxsZWQgImF2YzMiLiBUaGUgcHJpbmNpcGFsIGRpZmZlcmVuY2UKCSAgYmV0d2VlbiBBVkMxIGFuZCBBVkMzIGlzIHRoZSBsb2NhdGlvbiBvZiB0aGUgY29kZWMgaW5pdGlhbGlzYXRpb24KCSAgZGF0YSAoZS5nLiBTUFMsIFBQUykuIEluIEFWQzEgdGhpcyBkYXRhIGlzIHBsYWNlZCBpbiB0aGUgaW5pdGlhbAoJICBNT09WIGJveCAobW9vdi50cmFrLm1kaWEubWluZi5zdGJsLnN0c2QuYXZjMSkgYnV0IGluIEFWQzMgdGhpcyBkYXRhCgkgIGdvZXMgaW4gdGhlIGZpcnN0IHNhbXBsZSBvZiBldmVyeSBmcmFnbWVudCAoaS5lLiB0aGUgZmlyc3Qgc2FtcGxlIGluCgkgIGVhY2ggbWRhdCBib3gpLiAgVGhlIHByaW5jaXBhbCByZWFzb24gZm9yIGF2YzMgaXMgdG8gbWFrZSBpdCBlYXNpZXIKCSAgZm9yIGNsaWVudCBpbXBsZW1lbnRhdGlvbnMsIGJlY2F1c2UgaXQgcmVtb3ZlcyB0aGUgcmVxdWlyZW1lbnQgdG8KCSAgaW5zZXJ0IHRoZSBTUFMrUFBTIGluIHRvIHRoZSBkZWNvZGVyIHBpcGVsaW5lIGV2ZXJ5IHRpbWUgdGhlcmUgaXMgYQoJICByZXByZXNlbnRhdGlvbiBjaGFuZ2UuCgkgIFRoaXMgY29tbWl0IGFkZHMgc3VwcG9ydCBmb3IgdGhlICJhdmMzIiBhdG9tLCB3aGljaCBpcyBhbG1vc3QgaWRlbnRpY2FsCgkgIHRvIHRoZSAiYXZjMSIgYXRvbSwgZXhjZXB0IGl0IGRvZXMgbm90IGNvbnRhaW4gYW55IFNQUyBvciBQUFMgZGF0YS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwMjAwNAoKMjAxMy0wOS0wNCAwMDoyNzo1MCArMDIwMCAgTWF0aGlldSBEdXBvbmNoZWxsZSA8bWF0aGlldS5kdXBvbmNoZWxsZUBlcGl0ZWNoLmV1PgoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlcjIuYzoKCSAgdmlkZW9taXhlcjogRG9uJ3Qgc2V0IEVPUyB0byBGQUxTRSB3aGVuIHRoZSBjb2xsZWN0cGFkICppcyogRU9TCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDcyMzgKCjIwMTMtMDktMDMgMTc6MzI6NDEgKzAyMDAgIE1hdGVqIEtub3BwIDxtYXRlai5rbm9wcEBnbWFpbC5jb20+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5jOgoJICBmbGFjcGFyc2U6IGNsZWFudXAgb24gZXJyb3IgYWZ0ZXIgc3RhdGUgY2hhbmdlCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDcyMjkKCjIwMTMtMDktMDMgMTE6MjM6MjQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGdzdC91ZHAvZ3N0dWRwc3JjLmM6CgkqIGdzdC91ZHAvZ3N0dWRwc3JjLmg6CgkgIHVkcHNyYzogQmluZCB0byBtdWx0aWNhc3QgYWRkcmVzc2VzIG9uIG5vbi1XaW5kb3dzIHN5c3RlbXMKCSAgT24gV2luZG93cyBpdCdzIG5vdCBwb3NzaWJsZSB0byBiaW5kIHRvIGEgbXVsdGljYXN0IGFkZHJlc3MKCSAgYnV0IHRoZSBPUyB3aWxsIG1ha2Ugc3VyZSB0byBmaWx0ZXIgb3V0IGFsbCBwYWNrZXRzIHRoYXQKCSAgYXJyaXZlIG5vdCBmb3IgdGhlIG11bHRpY2FzdCBhZGRyZXNzIHRoZSBzb2NrZXQgam9pbmVkLgoJICBPbiBMaW51eCBhbmQgb3RoZXJzIGl0IGlzIG5lY2Vzc2FyeSB0byBiaW5kIHRvIGEgbXVsdGljYXN0CgkgIGFkZHJlc3MgdG8gbGV0IHRoZSBPUyBmaWx0ZXIgb3V0IGFsbCBwYWNrZXRzIHRoYXQgYXJlIHJlY2VpdmVkCgkgIG9uIHRoZSBzYW1lIHBvcnQgYnV0IGZvciBkaWZmZXJlbnQgYWRkcmVzc2VzIHRoYW4gdGhlIG11bHRpY2FzdAoJICBhZGRyZXNzCgkgIEFuZCBkZXByZWNhdGUgdGhlIG11bHRpY2FzdC1ncm91cCBwcm9wZXJ0eSBhbmQgcmVwbGFjZSBpdCB3aXRoIHRoZQoJICBhZGRyZXNzIHByb3BlcnR5LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA3MDQyCgoyMDEzLTA5LTAzIDEwOjEwOjAxICswMjAwICBNYXRlaiBLbm9wcCA8bWF0ZWoua25vcHBAZ21haWwuY29tPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RmbGFjcGFyc2UuYzoKCSAgZmxhY3BhcnNlOiBGcmVlIEdzdEJhc2VQYXJzZUZyYW1lIGlmIHB1c2hpbmcgYSBoZWFkZXIgZmFpbGVkCgoyMDEzLTA5LTAyIDE2OjAyOjM3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBnc3QvdWRwL2dzdHVkcHNyYy5jOgoJICB1ZHBzcmM6IFJlZmFjdG9yIGFkZHJlc3MgcmVzb2x2YWwgaW50byBpdHMgb3duIGZ1bmN0aW9uCgoyMDEzLTA5LTAyIDIzOjAwOjI5ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZ3N0L3JlcGxheWdhaW4vZ3N0cmdhbmFseXNpcy5jOgoJICByZXBsYXlnYWluOiBmaXggdGFnbGlzdCBsZWFrIGluIHJnYW5hbHlzaXMKCSAgQW5kIGFkZCBzb21lIEZJWE1Fcy4KCjIwMTMtMDktMDIgMjI6NTA6NTggKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9yZ2FuYWx5c2lzLmM6CgkgIHRlc3RzOiByZ2FuYWx5c2lzOiByZW5hbWUgZnVuY3Rpb24gZm9yIGNsYXJpdHkKCjIwMTMtMDMtMTggMTQ6MzI6MDcgKzAxMDAgIENocmlzdG9waCBSZWl0ZXIgPHJlaXRlci5jaHJpc3RvcGhAZ21haWwuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcmdhbmFseXNpcy5jOgoJICB0ZXN0czogZml4IHNraXBwZWQgcmdhbmFseXNpcyB0ZXN0cwoJICBJbiAwLjEwIGVsZW1lbnRzIHdvdWxkIHBvc3QgdGFnIG1lc3NhZ2VzIG9uIHRoZSBidXMKCSAgZGlyZWN0bHksIGFuZCByZ2FuYWx5c2lzIHdvdWxkIG9ubHkgcG9zdCBhIHRhZyBtZXNzYWdlCgkgIHdoZW4gaXQgY2hhbmdlZCB0YWdzLiBJbiAxLjAsIG9ubHkgc2lua3MgcG9zdCB0YWcKCSAgbWVzc2FnZXMgd2hlbiB0aGV5IHJlY2VpdmUgdGhlIHNlcmlhbGlzZWQgdGFnIGV2ZW50LgoJICBUaGlzIG1lYW5zIHRoYXQgd2UgZ2V0IGFuIGFkZGl0aW9uYWwgdGFnIG1lc3NhZ2Ugb24KCSAgdGhlIGJ1cyBub3cgd2hlcmUgd2UgZGlkbid0IGV4cGVjdCBvbmUgYmVmb3JlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njk1MDkwCgoyMDEzLTA5LTAyIDExOjQ2OjUyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5jOgoJICBmbGFjcGFyc2U6IFByb3Blcmx5IHByb3BhZ2F0ZSBkb3duc3RyZWFtIGZsb3cgcmV0dXJucyB1cHN0cmVhbQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA3MjI5CgoyMDEzLTA5LTAxIDIxOjE4OjM4ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZXh0L3Nob3V0Mi9nc3RzaG91dDIuYzoKCSogZ3N0L2F2aS9nc3RhdmkuYzoKCSogZ3N0L2lzb21wNC9pc29tcDQtcGx1Z2luLmM6CgkqIGdzdC9ydHNwL2dzdHJ0c3AuYzoKCSogc3lzL3N1bmF1ZGlvL2dzdHN1bmF1ZGlvLmM6CgkqIHN5cy92NGwyL2dzdHY0bDIuYzoKCSAgRG9uJ3QgdXNlIHNldGxvY2FsZSBpbiBwbHVnaW5zKCkKCSAgT25seSBhcHBzIHNob3VsZCBjYWxsIHNldGxvY2FsZSgpLCBub3QgbGlicmFyaWVzLgoKMjAxMy0wOC0yOSAxMzoxNToxNSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwbXB2cGF5LmM6CgkgIHJ0cG1wdnBheTogRml4IFJUUCBidWZmZXIgYWxsb2NhdGlvbiBpbiBydHBtcHZwYXkKCSAgUlRQIGJ1ZmZlciBhbGxvY2F0aW9uIHNob3VsZCBub3QgYmUgZG9uZSB3aXRoIHBhZGRpbmcgZm9yIHRoZSBzcGVjaWZpYyBNUEVHMgoJICBoZWFkZXIgYXMgdGhlIHBhZGRpbmcgaXMgZG9uZSBhdCB0aGUgZW5kIG9mIHRoZSBidWZmZXIgYW5kIHRoZSBsYXN0IGJ5dGUgaXMKCSAgdGhlIHNpemUgb2YgdGhlIHBhZGRpbmcuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDY5NzAKCjIwMTMtMDgtMjggMTA6NTE6MzIgKzAyMDAgIEJlcm5oYXJkIE1pbGxlciA8YmVybmhhcmQubWlsbGVyQHN0cmVhbXVubGltaXRlZC5jb20+CgoJKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvdmlkZW9zaW5rLmM6CgkqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG92aWRlb3NpbmsuaDoKCSAgYXV0b3ZpZGVvc2luazogYWRkIHN5bmMgcHJvcGVydHkKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwNjk1NQoKMjAxMy0wOC0yOCAwNzoxNTowMCArMDIwMCAgQmVybmhhcmQgTWlsbGVyIDxiZXJuaGFyZC5taWxsZXJAc3RyZWFtdW5saW1pdGVkLmNvbT4KCgkqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG9hdWRpb3NpbmsuYzoKCSogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b2F1ZGlvc2luay5oOgoJICBhdXRvYXVkaW9zaW5rOiBpbnRyb2R1Y2Ugc3luYyBwcm9wZXJ0eQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA2OTU1CgoyMDEzLTA4LTI3IDE3OjMzOjQwIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogcHVzaCBidWZmZXJzIGFmdGVyIHNlZ21lbnQgc3RvcCB1bnRpbCByZWFjaGluZyBhIGtleWZyYW1lCgkgIFRoaXMgc2hvdWxkIG1ha2UgZGVjb2RlcnMgYWJsZSB0byBwcmVjaXNlbHkgcHVzaCBidWZmZXJzIHVudGlsIHRoZSBzdG9wCgkgIHRpbWUgaW4gY2FzZSB0aGV5IG5lZWQgdGhlIG5leHQga2V5ZnJhbWUgdG8gZG8gaXQuCgkgIEFsc28sIGFjY29yZGluZyB0byBnc3Rfc2VnbWVudF9jbGlwLCBpdCBzaG91bGQgb25seSBwdXNoIGEgYnVmZmVyIHRoYXQKCSAgdGhlIHN0YXJ0aW5nIHRzIGlzIHN0cmljdGx5IHNtYWxsZXIgdGhhbiB0aGUgc2VnbWVudCBzdG9wLCBzbyB3ZSBjaGFuZ2UKCSAgdGhlIG1pbiA8IGNvbXBhcmlzb24gZm9yIDw9CgoyMDEzLTA4LTI4IDEzOjI2OjQ3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBjb25maWd1cmUuYWM6CgkgIEJhY2sgdG8gZGV2ZWxvcG1lbnQKCj09PSByZWxlYXNlIDEuMS40ID09PQoKMjAxMy0wOC0yOCAxMjo1MjoyNSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogQ2hhbmdlTG9nOgoJKiBORVdTOgoJKiBSRUxFQVNFOgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi0xMzk0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhY29sb3IueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXBldGFnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvZngueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9wYXJzZXJzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2RldGVjdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdmkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FjYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2Fpcm8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY3V0dGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlaW50ZXJsYWNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0bWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZmZWN0di54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lcXVhbGl6ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmxhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx4ZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdka3BpeGJ1Zi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20yazEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWN5ZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW1hZ2VmcmVlemUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXJsZWF2ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pc29tcDQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tamFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxldmVsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1hdHJvc2thLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpZmlsZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aXBhcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmF2aWdhdGlvbnRlc3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzNC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3NhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbmcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcHVsc2VhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXBsYXlnYWluLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHBtYW5hZ2VyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0c3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hhcGV3aXBlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNob3V0MnNlbmQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc21wdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVjdHJ1bS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10YWdsaWIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdWRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvNGxpbnV4Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2JveC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2Nyb3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9maWx0ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9taXhlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12cHgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2ZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teGltYWdlc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXk0bWVuYy54bWw6CgkqIGdzdC1wbHVnaW5zLWdvb2QuZG9hcDoKCSogZ3N0L2F1ZGlvZngvYXVkaW9wYW5vcmFtYW9yYy1kaXN0LmM6CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgUmVsZWFzZSAxLjEuNAoKMjAxMy0wOC0yOCAxMjo1MjoxNiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogcG8vYWYucG86CgkqIHBvL2F6LnBvOgoJKiBwby9iZy5wbzoKCSogcG8vY2EucG86CgkqIHBvL2NzLnBvOgoJKiBwby9kYS5wbzoKCSogcG8vZGUucG86CgkqIHBvL2VsLnBvOgoJKiBwby9lbl9HQi5wbzoKCSogcG8vZW8ucG86CgkqIHBvL2VzLnBvOgoJKiBwby9ldS5wbzoKCSogcG8vZmkucG86CgkqIHBvL2ZyLnBvOgoJKiBwby9nbC5wbzoKCSogcG8vaHIucG86CgkqIHBvL2h1LnBvOgoJKiBwby9pZC5wbzoKCSogcG8vaXQucG86CgkqIHBvL2phLnBvOgoJKiBwby9sdC5wbzoKCSogcG8vbHYucG86CgkqIHBvL210LnBvOgoJKiBwby9uYi5wbzoKCSogcG8vbmwucG86CgkqIHBvL29yLnBvOgoJKiBwby9wbC5wbzoKCSogcG8vcHRfQlIucG86CgkqIHBvL3JvLnBvOgoJKiBwby9ydS5wbzoKCSogcG8vc2sucG86CgkqIHBvL3NsLnBvOgoJKiBwby9zcS5wbzoKCSogcG8vc3IucG86CgkqIHBvL3N2LnBvOgoJKiBwby90ci5wbzoKCSogcG8vdWsucG86CgkqIHBvL3ZpLnBvOgoJKiBwby96aF9DTi5wbzoKCSogcG8vemhfSEsucG86CgkqIHBvL3poX1RXLnBvOgoJICBVcGRhdGUgLnBvIGZpbGVzCgoyMDEzLTA4LTI4IDEyOjMyOjEwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBwby9wdF9CUi5wbzoKCSAgcG86IHVwZGF0ZSB0cmFuc2xhdGlvbnMKCjIwMTMtMDgtMjcgMTU6MjU6MTYgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkgIG1hdHJvc2thLW11eDogcmVtb3ZlIGZyYW1lcmF0ZSByZXN0cmljdGlvbgoJICBSZW1vdmUgdGhlIGZyYW1lcmF0ZSByZXN0cmljdGlvbiBvbiB0aGUgY2Fwcy4KCjIwMTMtMDgtMjcgMDk6Mzg6MTYgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkgIHNlc3Npb246IG9ubHkgdXBkYXRlIG5leHQgY2hlY2sgdGltZSB3aGVuIHJlY29uc2lkZXJpbmcKCSAgRG9uJ3QgdXBkYXRlIHRoZSBuZXh0IFJUQ1AgY2hlY2sgdGltZSBpbiBhbGwgY2FzZXMgYnV0IG9ubHkgd2hlbiB3ZQoJICByZWNvbnNpZGVyZWQuIFRoaXMgYXZvaWRzIGRlbGF5aW5nIHNlbmRpbmcgYSBmdWxsIFJUQ1AgcGFja2V0IHdoZW4gd2UKCSAgYXJlIGRvaW5nIGVhcmx5IGZlZWRiYWNrLgoKMjAxMy0wOC0yNyAwOTozNzozMyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSAgc2Vzc2lvbjogYWRkIG1vcmUgZGVidWcKCjIwMTMtMDgtMjcgMDk6MzQ6NDYgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOgoJICBqaXR0ZXJidWZmZXI6IGZpeCB0eXBlcyBvZiB0aGUgcmV0cmFuc21pc3Npb24gZXZlbnQKCjIwMTMtMDgtMjcgMDk6MzM6MDMgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgaml0dGVyYnVmZmVyOiBvbmx5IHRpbWVvdXQgRVhQRUNURUQgdGltZXJzIG9uIGdhcAoJICBPbmx5IHRpbWVvdXQgdGhlIEVYUEVDVEVEIHRpbWVycyB3aGVuIHdlIGRldGVjdCBhIGxhcmdlIHNlcW51bSBnYXAuCgoyMDEzLTA4LTI2IDEzOjQ3OjUzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZS5hYzogRG9uJ3Qgc2V0IEJaMl9MSUJTIGlmIGJ6MiBpcyBub3QgZm91bmQKCjIwMTMtMDgtMjYgMTE6NTA6MjcgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkgIHJ0c2Vzc2lvbjogZml4IGxvY2tpbmcKCSAgV2UgbmVlZCB0byB0YWtlIHRoZSBzZXNzaW9uIGxvY2sgd2hlbiBnZXR0aW5nIGFuZCBtYW5pcHVsYXRpbmcgdGhlCgkgIHNvdXJjZS4KCjIwMTMtMDgtMjYgMTE6NTA6MTMgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkgIHJ0cHNlc3Npb246IGFkZCBzb21lIG1vcmUgZGVidWcKCjIwMTMtMDgtMjAgMjI6MTI6MDMgKzAyMDAgIE1hdGhpZXUgRHVwb25jaGVsbGUgPG1hdGhpZXUuZHVwb25jaGVsbGVAZXBpdGVjaC5ldT4KCgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIyLmM6CgkgIHZpZGVvbWl4ZXI6IGRvbid0IHNlbmQgZmx1c2hfc3RvcCB0d2ljZS4KCSAgSWYgd2UgZ2V0IGZsdXNoIHN0YXJ0IGFuZCBhIHNlZWsgd2UgbmVlZCB0byBvbmx5IHNlbmQgZmx1c2hfc3RvcCBvbmNlLgoJICBNb3JlIGluZm8gYXQgIzcwNjQ0MQoKMjAxMy0wOC0yMyAxNTo1Njo0MyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGdzdC9tdWx0aXBhcnQvbXVsdGlwYXJ0ZGVtdXguYzoKCSogZ3N0L211bHRpcGFydC9tdWx0aXBhcnRkZW11eC5oOgoJICBtdWx0aXBhcnRkZW11eDogcHJvcGFnYXRlIGRpc2NvbnQKCjIwMTMtMDgtMjMgMTU6NDk6NDcgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBnc3QvbXVsdGlwYXJ0L211bHRpcGFydGRlbXV4LmM6CgkgIG11bHRpcGFydGRlbXV4OiByZW1vdmUgZHluYW1pYyBzb3VyY3BhZHMgd2hlbiBnb2luZyBmcm9tIFBBVVNFRCB0byBSRUFEWQoKMjAxMy0wOC0yMyAxNToyOToyOCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGdzdC9tdWx0aXBhcnQvbXVsdGlwYXJ0ZGVtdXguYzoKCSogZ3N0L211bHRpcGFydC9tdWx0aXBhcnRkZW11eC5oOgoJICBtdWx0aXBhcnRkZW11eDogdGltZXN0YW1wIG91dHB1dCBidWZmZXJzIGJhc2VkIG9uIGZpcnN0IGlucHV0IGJ1ZmZlciB0aGF0IHByb3ZpZGVkIGJ5dGVzIG5vdCBsYXN0CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02Mzc3NTQKCjIwMTMtMDgtMjMgMTU6NDc6MjUgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBydHhxdWV1ZS5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBydHhxdWV1ZS5oOgoJICBydHhxdWV1ZTogYWRkIHByb3BlcnR5IHRvIGNvbmZpZ3VyZSBxdWV1ZSBzaXplCgoyMDEzLTA4LTIzIDEyOjA3OjU1ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvZXhhbXBsZXMvcnRwL2NsaWVudC1IMjY0LXJ0eC5zaDoKCSogdGVzdHMvZXhhbXBsZXMvcnRwL3NlcnZlci1WVFMtSDI2NC1ydHguc2g6CgkgIHRlc3RzOiBhZGQgcmV0cmFuc21pc3Npb24gZXhhbXBsZQoKMjAxMy0wOC0yMyAxMTo1NTowMiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uaDoKCSAgcnRwYmluOiBwcm94eSBqaXR0ZXJidWZmZXIgZG8tcmV0cmFuc21pc3Npb24gcHJvcGVydHkKCjIwMTMtMDgtMjMgMTE6MTc6NDUgKzAyMDAgIE1pY2hhZWwgT2xicmljaCA8bS5vbGJyaWNoQHBlbmd1dHJvbml4LmRlPgoKCSogZ3N0L2F2aS9nc3RhdmltdXguYzoKCSAgYXZpbXV4OiB1bm1hcCB0aGUgY29ycmVjdCBidWZmZXIKCSAgVGhlIGF1ZGlvIGJ1ZmZlciB3YXMgbWFwcGVkIHNvIHVubWFwIGl0IGFuZCBub3QgdGhlIHZpZGVvIGJ1ZmZlcgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA2NjQyCgoyMDEzLTA4LTE4IDIzOjMyOjIyIC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmg6CgkgIHB1bHNlc2luazogQWRkIHByb3BlcnR5IHRvIGZpbmQgb3V0IHRoZSBkZXZpY2UgY3VycmVudGx5IGluIHVzZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTkwNzY4CgoyMDEzLTA4LTE4IDIzOjMxOjE1IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJICBwdWxzZXNpbms6IERlLWR1cGxpY2F0ZSBjb2RlIHRvIGdldCB0aGUgY3VycmVudCBzaW5rIGlucHV0IGluZm8KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTU5MDc2OAoKMjAxMy0wOC0xOCAyMjoyNzozNyAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSAgcHVsc2VzaW5rOiBJbXBsZW1lbnQgY2hhbmdpbmcgdGhlIGRldmljZSB3aGlsZSBwbGF5aW5nCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD01OTA3NjgKCjIwMTMtMDgtMTggMjM6MzI6MjIgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvcHVsc2UvcHVsc2VzcmMuYzoKCSogZXh0L3B1bHNlL3B1bHNlc3JjLmg6CgkgIHB1bHNlc3JjOiBBZGQgcHJvcGVydHkgdG8gZmluZCBvdXQgdGhlIGRldmljZSBjdXJyZW50bHkgaW4gdXNlCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD01OTA3NjgKCjIwMTMtMDgtMTggMjM6MzE6MTUgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvcHVsc2UvcHVsc2VzcmMuYzoKCSAgcHVsc2VzcmM6IERlLWR1cGxpY2F0ZSBjb2RlIHRvIGdldCB0aGUgY3VycmVudCBzb3VyY2Ugb3V0cHV0IGluZm8KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTU5MDc2OAoKMjAxMy0wOC0xOCAyMjoyNzozNyAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9wdWxzZS9wdWxzZXNyYy5jOgoJICBwdWxzZXNyYzogSW1wbGVtZW50IGNoYW5naW5nIHRoZSBkZXZpY2Ugd2hpbGUgcGxheWluZwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTkwNzY4CgoyMDEzLTA4LTIyIDE0OjU1OjE0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogRml4IGJ6MiBjb25maWd1cmUgY2hlY2sgZm9yIFdpbmRvd3MKCSAgRHVlIHRvIGZ1bmN0aW9uIGRlY29yYXRpb25zIG9uIFdpbmRvd3MgQUNfQ0hFQ0tfTElCIGNhbid0IGJlIHVzZWQgdG8gY2hlY2sgZm9yIGJ6Mi4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTQ2NTkyNAoKMjAxMy0wMi0yMiAyMDo1NzowMCArMDkwMCAgQWtpaGlybyBUc3VrYWRhIDxhdHN1a2FkYUB1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuaDoKCSogZXh0L3B1bHNlL3B1bHNldXRpbC5jOgoJKiBleHQvcHVsc2UvcHVsc2V1dGlsLmg6CgkgIHB1bHNlc2luazogQWRkIHN1cHBvcnQgZm9yIEFBQyBwYXNzLXRocm91Z2gKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5NDQ0NQoKMjAxMy0wNi0yNCAxNzoyOTozNyArMDIwMCAgS2lzaG9yZSBBcmVwYWxsaSA8a2lzaG9yZS5hcmVwYWxsaUBnbWFpbC5jb20+CgoJKiBleHQvZ2RrX3BpeGJ1Zi9nc3RnZGtwaXhidWZvdmVybGF5LmM6CgkgIGdka3BpeGJ1Zm92ZXJsYXk6IGNyYXNoZXMgaWYgYW55IHByb3BlcnR5IGNoYW5nZXMgZHVyaW5nIHBsYXliYWNrIHdoZW4gbG9jYXRpb24gcHJvcGVydHkgaXMgbm90IHNldAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzAyOTg4CgoyMDEzLTA4LTIxIDE0OjU0OjI2IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmg6CgkqIGV4dC9wdWxzZS9wdWxzZXNyYy5jOgoJKiBleHQvcHVsc2UvcHVsc2V1dGlsLmg6CgkgIHB1bHNlOiBTaGFyZSBzdGF0aWMgY2FwcyBkZWZpbml0aW9uIGJldHdlZW4gc3JjIGFuZCBzaW5rCgkgIFRoZSBzcmMgd2FzIGFsc28gbWlzc2luZyAyNC1iaXQgc2FtcGxlIGZvcm1hdHMKCjIwMTMtMDgtMjEgMTY6NTM6NTkgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBydHhxdWV1ZS5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBydHhxdWV1ZS5oOgoJICBydHg6IHZhcmlvdXMgaW1wcm92ZW1lbnRzCgkgIFVzZSBsb2NraW5nCgkgIERvbid0IHB1c2ggZnJvbSB0aGUgZXZlbnQgaGFuZGxlciwgY29sbGVjdGVkIHBhY2tldHMgaW4gYSBxdWV1ZSBhbmQgcHVzaCBmcm9tCgkgIHRoZSBjaGFpbiBmdW5jdGlvbi4KCSAgQ2xlYXIgcXVldWVzIG9uIHNodXRkb3duLgoKMjAxMy0wOC0yMSAxNjo1MDo1OSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzoKCSAgc2Vzc2lvbjogZ2VuZXJhdGUgZXZlbnRzIGNvcnJlY3RseQoJICBEbyBjb3JyZWN0IHNoaWZ0aW5nIG9mIHRoZSBiaXRtYXNrIGZvciBsb3N0IHBhY2tldHMuCgoyMDEzLTA4LTIxIDE2OjQ3OjQwICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwbWFuYWdlci5jOgoJICBydHA6IHJlZ2lzdGVyIHJ0eCBlbGVtZW50IGJldHRlcgoKMjAxMy0wOC0yMSAxNjozMjo1MCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdHNvdW5kc2luay5jOgoJICBkaXJlY3Rzb3VuZHNpbms6IFdBVkVGT1JNQVRFWCBpcyB1bnNpZ25lZCBmb3IgOCBiaXQgaW50ZWdlcnMsIGFuZCBzaWduZWQgZm9yIG90aGVycwoJICBQcm9iYWJseSBmaXhlcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA1NDc3CgoyMDEzLTA4LTIxIDEzOjAzOjM0ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZXh0L2pwZWcvZ3N0anBlZ2VuYy5jOgoJICBqcGVnZW5jOiBkb24ndCBpZ25vcmUgcmV0dXJuIHZhbHVlIGZyb20gX2ZpbmlzaF9mcmFtZSgpCgkgIGdzdF92aWRlb19lbmNvZGVyX2ZpbmlzaF9mcmFtZSgpIHdpbGwgcmV0dXJuIEZMT1dfT0sgaGVyZSBpZgoJICB0aGVyZSdzIG5vIG91dHB1dCBidWZmZXIuCgoyMDEzLTA4LTIxIDEyOjU2OjM1ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBqcGVnZGVwYXkuYzoKCSAganBlZ2RlcGF5OiBhZGQgc29tZSBtb3JlIGRlYnVnCgoyMDEzLTA4LTIxIDEyOjEwOjAwICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBnc3RkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGdzdGRlcGF5Lmg6CgkgIHJ0cGdzdGRlcGF5OiBvbmx5IHB1c2ggZXZlbnRzIHdoZW4gdGhleSBjaGFuZ2VkCgkgIEtlZXAgdHJhY2sgb2YgdGhlIFNUUkVBTV9TVEFSVCBhbmQgVEFHIGV2ZW50cyBhbmQgb25seSBwdXNoIHRoZW0KCSAgd2hlbiB0aGV5IGNoYW5nZWQuCgoyMDEzLTA4LTIxIDEwOjUyOjU5ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBnc3RwYXkuYzoKCSAgcnRwZ3N0cGF5OiB0YWdsaXN0cyBzaG91bGQgbm90IGJlIG1lcmdlZCBpbiAxLjAKCjIwMTMtMDgtMjEgMTA6Mjg6NTAgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGdzdGRlcGF5LmM6CgkgIHJ0cGdzdGRlcGF5OiBmbHVzaCBvbiBGTFVTSF9TVE9QIGV2ZW50CgoyMDEzLTA4LTIxIDEwOjAzOjUyICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBnc3RwYXkuYzoKCSAgcnRwZ3N0cGF5OiByZXNldCBvbiBzdGF0ZSBjaGFuZ2UKCSAgRG8gZnVsbCByZXNldCBvbiBzdGF0ZSBjaGFuZ2UgdG8gUkVBRFkKCjIwMTMtMDgtMjEgMDk6NTU6MjAgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGdzdHBheS5jOgoJICBydHBnc3RwYXk6IHJlc2V0IG9uIEZMVVNIX1NUT1AKCSAgQ2xlYXIgdGhlIGFkYXB0ZXIgYW5kIHBlbmRpbmcgYnVmZmVyIGxpc3Qgb24gRkxVU0hfU1RPUC4KCjIwMTMtMDgtMjEgMDk6Mzk6MzAgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGdzdHBheS5jOgoJICBydHBnc3RwYXk6IGRvbid0IHVzZSBjbG9jayBmb3IgY29uZmlnIGludGVydmFsCgkgIFdlIGNhbid0IHVzZSB0aGUgY2xvY2sgdG8gdGltZSBvdXIgY29uZmlnLWludGVydmFsIGJlY2F1c2Ugd2UgYXJlIG5vdAoJICBsaXZlIChvciB0aGVyZSBtaWdodCBub3QgYmUgYSBjbG9jayBvciB0aGUgY2xvY2sgbWlnaHQgbm90IGJlIHJ1bm5pbmcpLgoJICBJbnN0ZWFkIGp1c3Qgc2ltcGx5IHRha2UgdGhlIHRpbWVzdGFtcCBkaWZmLgoKMjAxMy0wOC0yMSAwOTozMzowNCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwZ3N0cGF5Lmg6CgkgIHJ0cGdzdGF5OiBkb24ndCB1c2UgLy8gY29tbWVudHMKCjIwMTMtMDgtMDggMTE6NTU6MjIgLTA0MDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IEZpeCByZXNwb25zZSBhcmd1bWVudCBpbiBoYW5kbGUtcmVxdWVzdCBzaWduYWwKCjIwMTMtMDgtMDggMTE6NTQ6NDEgLTA0MDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuaDoKCSAgcnRzcHNyYzogQWRkIHNkZXMgcHJvcGVydHkgYW5kIHByb3h5IGl0IHRvIHJ0cGJpbgoKMjAxMy0wOC0wNyAwOTo0NzozNSAtMDQwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwZ3N0cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZ3N0cGF5Lmg6CgkgIFNlbmQgYSBzdHJlYW0tc3RhcnQgd2hlbmV2ZXIgd2Ugc2VuZCB0YWdzIFRoaXMgaXMgdG8gbWFrZSBzdXJlIHRhZ3MgYXJlIGNsZWFyZWQgb24gdGhlIGNsaWVudCBpZiB0aGUgc3RyZWFtLXN0YXJ0IHdhcyBwcmV2aW91c2x5IGxvc3QsIG90aGVyd2lzZSwgdGhlIGNsaWVudCBtYXkgZW5kIHVwIHdpdGggYSBtZXJnZWQgdGFnbGlzdCBvZiBtdWx0aXBsZSBzb25ncwoKMjAxMy0wNy0yNSAyMToxMjowNSAtMDQwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwZ3N0cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZ3N0cGF5Lmg6CgkgIHJ0cGdzdHBheTogQWRkIGEgY29uZmlnLWludGVydmFsIHByb3BlcnR5IHRvIHJlc2VuZCB0aGUgY2Fwcy90YWdzIGF0IGEgcmVndWxhciBpbnRlcnZhbCBUaGlzIGlzIHVzZWZ1bCBpbiBjYXNlIHRoZSBwYWNrZXQgY29udGFpbmluZyB0aGUgaW5saW5lZCBjYXBzIHdhcyBsb3N0IG9yIGlmIG5ldyBjbGllbnQgam9pbnMgYW4gYWxyZWFkeSBydW5uaW5nIFJUUCBzdHJlYW0gYW5kIHRoZXkgbWlzc2VkIHRoZSBwcmV2aW91cyB0YWcgZXZlbnRzLiBUaGlzIGFsc28gbWFrZXMgdGhlIHBheWxvYWRlciBrZWVwIGEgbGlzdCBvZiBtZXJnZWQgdGFncyBzbyB0aGUgcmV0cmFuc21pdHRlZCB0YWcgZXZlbnQgY29udGFpbnMgYWxsIHByZXZpb3VzbHkgcmVjZWl2ZWQuIEEgU1RSRUFNX1NUQVJUIGV2ZW50IHdpbGwgZmx1c2ggdGhlIGxpc3Qgb2YgdGFncy4KCjIwMTMtMDctMjUgMjE6MTA6MTAgLTA0MDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGdzdHBheS5jOgoJICBydHBnc3RwYXk6IFJlZmFjdG9yIHRoZSBzZXRjYXBzIGFuZCB1c2UgbmV3IG1ldGhvZCB0byBzZW5kIGFyYml0cmFyeSBjYXBzIGF0IGFueSB0aW1lCgoyMDEzLTA3LTI1IDIxOjAzOjM0IC0wNDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBnc3RwYXkuYzoKCSAgcnRwZ3N0cGF5OiBEbyBub3QgZmx1c2ggZXZlbnRzIGZvciBzdHJlYW0tc3RhcnQgYW5kIGF2b2lkIGNvbmZsaWN0IGJldHdlZW4gZXZlbnQgYW5kIHBlbmRpbmcgaW5saW5lIGNhcHMKCjIwMTMtMDctMjUgMjA6NTQ6NTAgLTA0MDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGdzdHBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGdzdHBheS5oOgoJICBydHBnc3RwYXk6IEFkZCBhIGNyZWF0ZV9mcm9tX2FkYXB0ZXIgQVBJIGFuZCB1c2UgYSBsaXN0IG9mIEdzdEJ1ZmZlckxpc3QgVGhpcyBpcyBuZWNlc3NhcnkgdG8gZml4IGV2ZW50L2NhcHMgc2VuZGluZy4gSWYgd2Ugc2VuZCBhIFNUUkVBTV9TVEFSVCBwYWNrZXQsIGl0IHdpbGwgY2F1c2UgYW4gZXJyb3IgYmVjYXVzZSB0aGUgc3RyZWFtIGRpZG4ndCByZWNlaXZlIGl0cyBjYXBzIGFuZCBuZXctc2VnbWVudCBldmVudHMsIHNvIHdlIG11c3Qgd2FpdCBmb3IgdGhlIGZpcnN0IGJ1ZmZlciBiZWZvcmUgc2VuZGluZyB0aGUgc3RyZWFtLXN0YXJ0IGV2ZW50IGJ1ZmZlci4gSG93ZXZlciwgdGhlIGNhcHMgd2lsbCBiZSBzZW50IGF0IHRoZSBzYW1lIHRpbWUgYW5kIHNvIHRoZSAnaW5saW5lIGNhcHMnIHdpbGwgYmUgc2V0IGZvciB0aGUgZXZlbnQuIFdlIG5lZWQgdG8gYmUgYWJsZSB0byBwYXlsb2FkIGluZGl2aWR1YWwgcGFja2V0cyAoZGF0YSwgY2FwcyBvciBldmVudHMpIGFuZCBvbmx5IHNlbmQgdGhlbSB3aGVuIHdlIGNhbGwgZmx1c2guCgoyMDEzLTA3LTI1IDE3OjU2OjM4IC0wNDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBnc3RkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGdzdHBheS5jOgoJICBydHBnc3RwYXk6IEFkZCBldHlwZT00IGZvciBwYXlsb2FkaW5nIEdTVF9FVkVOVF9TVFJFQU1fU1RBUlQKCjIwMTMtMDctMjUgMTc6NTI6MTYgLTA0MDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGdzdHBheS5jOgoJICBydHBnc3RwYXk6IEZpeCB0eXBvLCBHU1RfRVZFTlRfQ1VTVE9NX0JPVEggaGFzIGV0eXBlIG9mIDMKCjIwMTMtMDgtMjAgMTQ6MzY6NTkgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgaml0dGVyYnVmZmVyOiBoYW5kbGUgRU9TCgkgIFdoZW4gdGhlIHF1ZXVlIGlzIGVtcHR5LCBhbmQgd2UgcmVjZWl2ZWQgRU9TLCBwYXVzZSBhbmQgcHVzaCBhbiBFT1MKCSAgZXZlbnQgZG93bnN0cmVhbS4KCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwNjM4NwoKMjAxMy0wOC0yMCAxMDoyNjoxNSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBqaXR0ZXJidWZmZXI6IHVwZGF0ZSBkb2NzCgoyMDEzLTA4LTIwIDEwOjI1OjE3ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIGppdHRlcmJ1ZmZlcjogdXBkYXRlIGFsbCB0aW1lcnMKCSAgS2VlcCBsb29waW5nIG92ZXIgYWxsIHJlZ2lzdGVyZWQgdGltZXJzIHNvIHRoYXQgd2UgY2FuIG1hcmsgdGhlbSBsb3N0IGluc3RlYWQgb2YKCSAgc3RvcHBpbmcgYXMgc29vbiBhcyB3ZSBmaW5kIHRoZSB0aW1lciBmb3IgdGhlIGN1cnJlbnQgc2VxbnVtLgoKMjAxMy0wOC0yMCAwODo1NTo1MCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBqaXR0ZXJidWZmZXI6IHJlbW92ZSB1bnVzZWQgdmFyaWFibGVzCgoyMDEzLTA4LTE5IDIxOjEwOjAwICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIGppdHRlcmJ1ZmZlcjogcmVvcmdhbml6ZSB0aW1lciBoYW5kbGluZwoJICBSZXN0cnVjdHVyZSBoYW5kbGluZyBvZiBpbmNvbW1pbmcgcGFja2V0IGFuZCB0aGUgZ2FwIHdpdGggdGhlIGV4cGVjdGVkIHNlcW51bQoJICBhbmQgcmVnaXN0ZXIgYWxsIHRpbWVycyBmcm9tIHRoZSBfY2hhaW4gZnVuY3Rpb24uCgkgIENvbnZlcnQgYSB0aW1lciB0byBhIExPU1QgcGFja2V0IHRpbWVyIHdoZW4gdGhlIG1heCBhbW91bnQgb2YgcmV0cmFuc21pc3Npb24KCSAgcmVxdWVzdHMgaGFzIGJlZW4gcmVhY2hlZC4KCjIwMTMtMDgtMTkgMjE6Mzc6NDQgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgaml0dGVyYnVmZmVyOiByZWZhY3RvciBwYWNrZXQgc3BhY2luZyBjYWxjdWxhdGlvbgoKMjAxMy0wOC0xOSAyMTozNDozOCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBqaXR0ZXJidWZmZXI6IGtlZXAgdHJhY2sgb2YgbGFzdCBzZXFudW0gYW5kIGR0cwoKMjAxMy0wOC0xOSAyMToyOTo0OSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBqaXR0ZXJidWZmZXI6IHNtYWxsIGNsZWFudXBzCgoyMDEzLTA4LTE5IDIxOjIxOjA4ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIGppdHRlcmJ1ZmZlcjogcmVzZXQgcmV0cmFuc21pc3Npb24gdGltZXJzIGluIGFkZC9yZXNjaGVkdWxlCgkgIFJlc2V0IHRoZSByZXRyYW5zbWlzc2lvbiB0aW1lcnMgd2hlbiBhZGRpbmcgYW5kIHJlc2NoZWR1bGluZyBhIHRpbWVyLgoKMjAxMy0wOC0xOSAyMToxMjoxMyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBqaXR0ZXJidWZmZXI6IHJlbmFtZSB2YXJpYWJsZXMgZm9yIHBhY2tldCBzcGFjaW5nCgoyMDEzLTA4LTE5IDE0OjU4OjAxICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIGppdHRlcmJ1ZmZlcjogcmVtb3ZlIGxvc3QgdGltZXIgd2hlbiB3ZSBnZXQgdGhlIHBhY2tldAoJICBXaGVuIHdlIHJlY2VpdmUgYSBwYWNrZXQsIGFsc28gcmVtb3ZlIHRoZSBMT1NUIHRpbWVyIGZvciBpdC4KCjIwMTMtMDgtMTkgMTQ6NTY6NDkgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgaml0dGVyYnVmZmVyOiBleHBlY3RlZCBzZXFudW0gbXVzdCBpbmNyZWFzZQoJICBPbmx5IHVwZGF0ZSB0aGUgZXhwZWN0ZWQgc2VxbnVtIHdoZW4gaXQgaXMgYmlnZ2VyIHRoYW4gdGhlIHByZXZpb3VzIGV4cGVjdGVkCgkgIHNlcW51bS4KCjIwMTMtMDgtMTkgMTQ6NTU6NDkgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgaml0dGVyYnVmZmVyOiBhZGQgbW9yZSBkZWJ1ZwoKMjAxMy0wOC0xMiAxNjoxNTo1NCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL01ha2VmaWxlLmFtOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBtYW5hZ2VyLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHJ0eHF1ZXVlLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHJ0eHF1ZXVlLmg6CgkgIHJ0eHF1ZXVlOiBhZGQgcmV0cmFuc21pc3Npb24gcXVldWUgZWxlbWVudAoKMjAxMy0wOC0xMiAxNDo1MzozMyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSAgc2Vzc2lvbjogYWRkIHNvbWUgZG9jcwoKMjAxMy0wOC0wNiAxNjoyOTo1NCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmg6CgkgIHNlc3Npb246IGhhbmRsZSBOQUNLIGZlZWRiYWNrIGFuZCBnZW5lcmF0ZSBldmVudHMKCSAgSGFuZGxlIGFuZCBwYXJzZSB0aGUgZmVlZGJhY2sgTkFDSyBwYWNrZXRzIGFuZCBnZW5lcmF0ZSBhIFJldHJhbnNtaXNzaW9uCgkgIGV2ZW50IGZvciBlYWNoIE5BQ0tlZCBwYWNrZXQKCjIwMTMtMDgtMTkgMTM6MTk6NDIgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIHY0bDI6IEFkZCBmb3J3YXJkIGRlY2xhcmF0aW9uIGZvciBnc3RfdjRsMl9vYmplY3RfZ2V0X2Zvcm1hdF9saXN0CgoyMDEyLTEwLTIyIDE3OjU4OjA3IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0Lmg6CgkqIHN5cy92NGwyL2dzdHY0bDJzaW5rLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJzaW5rLmg6CgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5oOgoJICB2NGwyOiBEZS1kdXBsaWNhdGUgY2FwcyBwcm9iaW5nIGJldHdlZW4gc3JjIGFuZCBzaW5rCgoyMDEzLTA4LTEzIDE3OjMyOjE3IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZXh0L3B1bHNlL01ha2VmaWxlLmFtOgoJKiBleHQvcHVsc2UvcHVsc2Vwcm9iZS5jOgoJKiBleHQvcHVsc2UvcHVsc2Vwcm9iZS5oOgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuaDoKCSogZXh0L3B1bHNlL3B1bHNlc3JjLmM6CgkqIGV4dC9wdWxzZS9wdWxzZXNyYy5oOgoJICBwdWxzZTogUmVtb3ZlIHVudXNlZCBHc3RQdWxzZVByb2JlCgoyMDEzLTA4LTE5IDEyOjQ2OjQ1IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMnR1bmVyLmM6CgkqIHN5cy92NGwyL3R1bmVyLmM6CgkqIHN5cy92NGwyL3R1bmVyY2hhbm5lbC5jOgoJKiBzeXMvdjRsMi90dW5lcm5vcm0uYzoKCSAgdjRsMjogVXNlIEdfREVGSU5FXyBtYWNyb3MgZm9yIGFkZGVkIHRocmVhZCBzYWZldHkKCjIwMTMtMDgtMTcgMTE6Mjg6MTMgKzAyMDAgIFRoaWJhdWx0IFNhdW5pZXIgPHRoaWJhdWx0LnNhdW5pZXJAY29sbGFib3JhLmNvbT4KCgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIyLmM6CgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIyLmg6CgkgIHZpZGVvbWl4ZXI6IERvIG5vdCBzZW5kIGZsdXNoX3N0b3Agb3Vyc2VsZiBhZnRlciBhIGZsdXNoX3N0YXJ0CgkgIFdoZW4gd2UgcmVjZWl2ZSBhIGZsdXNoX3N0YXJ0LCB3ZSBzaG91bGQgd2FpdCBmb3IgdGhlIG5leHQgZmx1c2hfc3RvcAoJICBhbmQgZm93YXJkIGl0LCBub3QgY3JlYXRlIGEgZmx1c2hfc3RvcCBvdXJzZWxmLgoKMjAxMy0wOC0xNiAxNzoxMDozMSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2NGRlcGF5LmM6CgkgIGgyNjRkZXBheTogaW5pdCBkZWJ1ZyBjYXRlZ29yeSBlYXJseQoJICBJbml0IHRoZSBkZWJ1ZyB2YXJpYWJsZSB3aGVuIHdlIHJlZ2lzdGVyIHRoZSBlbGVtZW50IGJlY2F1c2UgaXQgaXMgYWxzbyB1c2VkIGJ5CgkgIHRoZSBwYXlsb2FkZXIgZWxlbWVudCB3aGVuIGl0IGNhbGxzIHRoZSBhZGRfc3BzX3BwcyBtZXRob2QuCgoyMDEzLTA4LTE2IDEzOjI2OjI4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBleHQvZmxhYy9nc3RmbGFjZW5jLmM6CgkgIGZsYWNlbmM6IFByb3Blcmx5IHNldCBoZWFkZXJzIHZpYSB0aGUgYmFzZSBjbGFzcyBpbnN0ZWFkIG9mIGp1c3QgcHVzaGluZyB0aGVtIGRvd25zdHJlYW0KCSAgUHJldmVudHMgYnVmZmVycyBmcm9tIGJlaW5nIHNlbmQgYmVmb3JlIHRoZSBjYXBzIGFuZCBzZWdtZW50IGV2ZW50cy4KCjIwMTMtMDgtMTUgMTA6NTk6MTAgKzAxMDAgIENocmlzIEJhc3MgPGZsb29ibGVmbGFtQGdtYWlsLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBjaGVjayBkZW5vbWluYXRvciBpc24ndCB6ZXJvIGJlZm9yZSBzY2FsaW5nIGR1cmF0aW9uLgoJICBXaGVuIGdzdF9xdGRlbXV4X2NvbmZpZ3VyZV9zdHJlYW0gc2V0cyBmcHNfZCwgY2hlY2sgdGhhdCBuX3NhbXBsZXMgaXMKCSAgbm9uLXplcm8gYmVmb3JlIHVzaW5nIGl0IGFzIGEgZGVub21pbmF0b3IgdG8gc2NhbGUgdGhlIHN0cmVhbSBkdXJhdGlvbi4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwNjA3NgoKMjAxMy0wOC0xNSAxNTowODowNSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogZXh0L2pwZWcvZ3N0anBlZ2RlYy5jOgoJKiBleHQvanBlZy9nc3RqcGVnZW5jLmM6CgkqIGV4dC9saWJwbmcvZ3N0cG5nZGVjLmM6CgkqIGV4dC92cHgvZ3N0dnA4ZGVjLmM6CgkqIGV4dC92cHgvZ3N0dnA5ZGVjLmM6CgkgIGV4dDogVXNlIG5ldyBmbHVzaCB2ZnVuYyBvZiB2aWRlbyBjb2RlYyBiYXNlIGNsYXNzZXMgYW5kIHJlbW92ZSByZXNldCBpbXBsZW1lbnRhdGlvbnMKCjIwMTMtMDgtMTQgMTY6MTk6MzIgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgaml0dGVyYnVmZmVyOiBmb3J3YXJkIGZsdXNoIGJlZm9yZSBzdG9wcGluZyBkYXRhZmxvdwoJICBGaXJzdCBmb3J3YXJkIHRoZSBmbHVzaCBldmVudCBhbmQgdGhlbiBzdG9wIG91ciBsb29wIGZ1bmN0aW9uLgoKMjAxMy0wOC0xNCAxMzoxMDozMiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiByZXF1aXJlIGxpYnNvdXAgPj0gMi4zOAoJICBCdW1wIGxpYnNvdXAgcmVxdWlyZW1lbnQgZm9yIG5ld2VyIEFQSSB1c2VkLCBsaWtlIGhlYWRlcnNfZ2V0X29uZSgpLgoJICAyLjM4IGlzIGZyb20gZWFybHkgMjAxMiBhbmQgaXMgaW4gbGluZW4gd2l0aCBvdXIgR0xpYiByZXF1aXJlbWVudC4KCjIwMTMtMDgtMTQgMTE6NTQ6MTkgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOgoJICBzb3VwOiBkb24ndCB1c2UgZGVwcmVjYXRlZCBzb3VwX21lc3NhZ2VfaGVhZGVyc19nZXQoKSBBUEkKCjIwMTMtMDgtMTMgMTc6NDQ6NTAgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogLmdpdGlnbm9yZToKCSAgLmdpdGlnbm9yZTogSWdub3JlIGZpbGVzIGZyb20gYXV0b21ha2UgdGVzdC1kcml2ZXIKCjIwMTMtMDgtMTIgMTU6Mjg6MzQgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjY0cGF5Lmg6CgkgIHJ0cGgyNjRwYXk6IFVzZSB0aGUgU1BTL1BQUyBoYW5kbGluZyBmdW5jdGlvbiBmcm9tIHRoZSBkZXBheWxvYWRlcgoJICBSZW1vdmUgZHVwbGljYXRlZCBjb3BpZXMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwNTU1MwoKMjAxMy0wOC0xMiAxNToyNjowOCAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2NGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2NGRlcGF5Lmg6CgkgIHJ0cGgyNjRkZXBheTogTWFrZSB0aGUgU1BTL1BQUyBkZWR1cGxpY2F0aW9uIGZ1bmN0aW9uIGdlbmVyaWMKCSAgTWFrZSBpdCBub3QgdG91Y2ggYW55IGludGVybmFscyBvZiB0aGUgZGVwYXlsb2FkZXIKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwNTU1MwoKMjAxMy0wOC0xMyAxNDowOToyMCArMDEwMCAgQ2hyaXMgQmFzcyA8Zmxvb2JsZWZsYW1AZ21haWwuY29tPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYWNwYXJzZS5jOgoJICBhYWNwYXJzZTogYWxsb3cgY29udmVyc2lvbiBmcm9tIHJhdyBBQUMgdG8gQURUUwoJICBUaGlzIHBhdGNoIHdpbGwgcHJlcGVuZCBBRFRTIGhlYWRlcnMgdG8gcmF3IEFBQyBhdWRpbyBmcmFtZXMsIGFsbG93aW5nCgkgIHVwc3RyZWFtIGVsZW1lbnRzIHRvIGxpbmsgdG8gZGVjb2RlcnMgdGhhdCBvbmx5IHN1cHBvcnQgQUFDIGluIEFEVFMgZm9ybWF0LgoJICBOb3RlIHRoYXQgbm8gZXJyb3IgY29ycmVjdGlvbiBiaXRzIGFyZSBhZGRlZCB0byBBRFRTIGZyYW1lcyBpbiB0aGlzIGNvZGUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MTU3NDAKCjIwMTMtMDgtMTMgMTI6NDQ6MTEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogT25seSBmcmVlIEdDaGVja1N1bSBhZnRlciBpdHMgbGFzdCB1c2FnZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA1NzYwCgoyMDEzLTA4LTEzIDEyOjAyOjI5ICswMjAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPHlsYXR1eWFAZ21haWwuY29tPgoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzoKCSAgc291cGh0dHBzcmM6IGZpeCBjcml0aWNhbCBzZXR0aW5nIGEgTlVMTCB1cmkgcmVkaXJlY3Rpb24KCjIwMTMtMDctMTMgMDE6NTA6NTYgKzAyMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8eWxhdHV5YUBnbWFpbC5jb20+CgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5oOgoJICBzb3VwaHR0cHNyYzogYWRkIHJlZGlyZWN0aW9uIHRvIHRoZSBVUkkgcXVlcnkKCjIwMTMtMDctMzEgMTA6NDI6MDcgKzAyMDAgIE1hdGVqIEtub3BwIDxtYXRlai5rbm9wcEBnbWFpbC5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogZWxzdCBzaG91bGQgb2Zmc2V0IHNhbXBsZXMgaW5zdGVhZCBvZiBidWZmZXJzCgkgIFRoZSBjdXJyZW50IGFwcHJvYWNoIHdoZXJlIGJ1ZmZlcnMgYXJlIG9mZnNldCBpcyBub3QgaWRlYWwsIGFzIGR1cmluZyBzZWVrCgkgIGFuZCBsb29wIGN1cnJlbnQgdGltZSBpcyBjb21wYXJlZCB0byBzYW1wbGUgdGltZXMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDAyNjQKCjIwMTMtMDgtMDcgMTk6MzI6MDcgKzAyMDAgIFRoaWJhdWx0IFNhdW5pZXIgPHRoaWJhdWx0LnNhdW5pZXJAY29sbGFib3JhLmNvbT4KCgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIyLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3ZpZGVvbWl4ZXIuYzoKCSAgdmlkZW9taXhlcjogU2VuZCBFT1MgaWYgYnVmX2VuZCA+PSBzZWdtZW50LnN0b3AKCSAgVGhhdCBtZWFucyB0aGUgd2hvbGUgc2VnbWVudCBpcyBhbHJlYWR5IHBsYXllZCwgYW5kIHdlIGFyZSBzdXJlIHdlCgkgIGFyZSBFT1MgYXQgdGhhdCBwb2ludC4KCSAgQWxzbyBoYW5kbGUgc2VnbWVudCBzZWVrcywgYW5kIGRvIG5vdCBzZW5kIEVPUyBpbiB0aGF0IGNhc2UuCgoyMDEzLTA4LTA0IDE0OjQwOjM4ICswMjAwICBNYXRlaiBLbm9wcCA8bWF0ZWoua25vcHBAZ21haWwuY29tPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICBhdmlkZW11eDogc2VuZCBwcm9wZXIgc3RyZWFtX3N0YXJ0IGV2ZW50CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnLy9zaG93X2J1Zy5jZ2k/aWQ9NzA1NDQ5CgoyMDEzLTA4LTA4IDExOjUxOjE3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBnc3QvbWF0cm9za2EvZWJtbC1yZWFkLmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYWRlbXV4OiBEb24ndCBwcmludCB3YXJuaW5ncyBkdXJpbmcgZmx1c2hpbmcgYW5kIHN0b3AgYXMgc29vbiBhcyBwb3NzaWJsZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy8vc2hvd19idWcuY2dpP2lkPTcwNTQ0MgoKMjAxMy0wOC0wNyAxMToxNDozOCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGdzdC9ydHAvZ3N0cnRwdnA4ZGVwYXkuYzoKCSAgcnRwdnA4ZGVwYXk6IG1hcmsga2V5IGZyYW1lcyBhbmQgZGVsdGEgZnJhbWVzIHByb3Blcmx5CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDU1NTAKCjIwMTMtMDgtMDUgMjM6MjM6NTcgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkgIHNlc3Npb246IGFkZCBOQUNLIGZlZWRiYWNrIGluIFJUQ1AKCjIwMTMtMDgtMDUgMjM6MjI6MTYgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmg6CgkgIHNvdXJjZTogYWRkIG1ldGhvZHMgdG8gcmVnaXN0ZXIgTkFDSwoJICBBZGQgYSBtZXRob2QgdG8gcmVnaXN0ZXIgYSBtaXNzaW5nIHBhY2tldCBmb3IgYW4gc3NyYyBhbG9uZyB3aXRoCgkgIG1ldGhvZHMgdG8gZ2V0IHRoZSBtaXNzaW5nIHBhY2tldHMgYW5kIGNsZWFyIHRoZW0uCgoyMDEzLTA4LTA0IDIzOjA1OjM2ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uaDoKCSAgc2Vzc2lvbjogaGFuZGxlIFJldHJhbnNtaXNzaW9uIGV2ZW50IGFuZCBzY2hlZHVsZSBOQUNLCgkgIEhhbmRsZSB0aGUgcmV0cmFuc21pc3Npb24gZXZlbnQgZnJvbSBkb3duc3RyZWFtIGFuZCB1c2UgaXQgdG8gc2NoZWR1bGUgYSBOQUNLCgkgIHJlcXVlc3QuCgoyMDEzLTA4LTA1IDIzOjIwOjI5ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJICBzZXNzaW9uOiBwYXNzIGRhdGEgdG8gcmVtb3ZlIGZ1bmMKCSAgUGFzcyB0aGUgZGF0YSB0byB0aGUgcmVtb3ZlIGZ1bmN0aW9uIGJlY2F1c2Ugd2UgYXJlIGdvaW5nIHRvIGRlcmVmIGl0IHdoZW4gdGhlcmUKCSAgaXMgcGxpIG9yIGZpci4KCjIwMTMtMDgtMDYgMTU6Mjg6NTAgKzAyMDAgIFRoaWJhdWx0IFNhdW5pZXIgPHRoaWJhdWx0LnNhdW5pZXJAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBGaXggY29tcGlsYXRpb24KCjIwMTMtMDgtMDYgMTU6MTc6NDQgKzAyMDAgIFRoaWJhdWx0IFNhdW5pZXIgPHRoaWJhdWx0LnNhdW5pZXJAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBSYXcgYnVmZmVyIERUUyBzaG91bGQgYWx3YXlzIGJlIENMT0NLX1RJTUVfTk9ORQoKMjAxMy0wOC0wNiAxMTo1ODozOCArMDIwMCAgVGhpYmF1bHQgU2F1bmllciA8dGhpYmF1bHQuc2F1bmllckBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlcjIuYzoKCSAgdmlkZW9taXhlcjogTWFrZSBzdXJlIHRvIHNlbmQgRU9TIGlmIHRoZSBidWZmZXIgZW5kIHRpbWUgZXF1YWxzIHRoZSBzZWdtZW50IGVuZCB0aW1lCgkgIE90aGVyd2l6ZSBFT1MgbmV2ZXIgZ2V0cyBzZW50IGluIHRoYXQgcGFydGljdWxhciBjYXNlLgoKMjAxMy0wOC0wNSAwODo0OTo1MCArMDIwMCAgU2pvZXJkIFNpbW9ucyA8c2pvZXJkLnNpbW9uc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZ29vbS9nc3Rnb29tLmM6CgkgIGdvb206IEVuc3VyZSBzcmMgY2FwcyBhcmUgd3JpdGFibGUKCSAgSW4gc29tZSBjYXNlcyB0aGUgc3JjIGNhcHMgZGV0ZXJtaW5lZCBieSBnb29tIHdlcmVuJ3Qgd3JpdGFibGUsIGNhdXNpbmcKCSAgYSBidW5jaCBvZiBhc3NlcnRpb24gZmFpbHVyZXMgYW5kIGZhaWxlZCBjYXBzLiBGaXhlZCBieSBhbHdheXMKCSAgZXhwbGljaXRlbHkgbWFraW5nIHRoZSBjYXBzIHdyaXRhYmxlCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDU0NzUKCjIwMTMtMDgtMDQgMjM6MTg6MjkgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5oOgoJICBzZXNzaW9uOiB1c2UgY29tbW9uIHNlbmRfcnRjcCBtZXRob2QKCSAgUmV1c2UgdGhlIHNlbmRfcnRjcCBtZXRob2QgdGhhdCBhbHJlYWR5IGFza3MgZm9yIHRoZSBjdXJyZW50IHRpbWUgd2hlbgoJICByZXF1ZXN0aW5nIGEga2V5ZnJhbWUuCgoyMDEzLTA4LTA0IDIzOjEyOjUwICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmg6CgkgIHNlc3Npb246IERvbid0IHVzZSBDbG9ja1RpbWVEaWZmIGZvciB1bnNpZ25lZCBkZWxheXMKCjIwMTMtMDgtMDQgMTY6NTI6MTUgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2lzb21wNC9nc3RxdG11eC5jOgoJICBxdG11eDogVXNlIGJ1ZmZlciBQVFMgaWYgRFRTIGlzIG5vdCBzZXQKCSAgQXZvaWRzIGVuZGluZyB1cCB3aXRoIGNvbXBsZXRlbHkgYm9ndXMgc2NhbGVkIGR1cmF0aW9uL3B0cyB3aGVuIG5ldwoJICBidWZmZXJzIGhhdmUgaW52YWxpZCBEVFMuCgoyMDEzLTA4LTA0IDE0OjMyOjQ3ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvc291cGh0dHBzcmMuYzoKCSAgdGVzdHM6IHNraXAgaHR0cHMgdGVzdCBpZiB0aGVyZSdzIG5vIFRMUyBzdXBwb3J0IGluIHNvdXAvZ2xpYgoKMjAxMy0wOC0wNCAxMToyMDo0MSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGdzdC9ydHNwL2dzdHJ0cGRlYy5jOgoJICBydHBkZWM6IHVzZSBnZW5lcmljIG1hcnNoYWxsZXIKCjIwMTMtMDgtMDQgMTA6NTI6MzMgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBNYWtlZmlsZS5hbToKCSogc3lzL3Y0bDIvLmdpdGlnbm9yZToKCSogc3lzL3Y0bDIvTWFrZWZpbGUuYW06CgkqIHN5cy92NGwyL2dzdHY0bDItbWFyc2hhbC5saXN0OgoJKiBzeXMvdjRsMi90dW5lci1tYXJzaGFsLmxpc3Q6CgkqIHN5cy92NGwyL3R1bmVyLmM6CgkqIHN5cy92NGwyL3R1bmVyLmg6CgkqIHdpbjMyL01BTklGRVNUOgoJKiB3aW4zMi9jb21tb24vdHVuZXItZW51bXR5cGVzLmM6CgkqIHdpbjMyL2NvbW1vbi90dW5lci1lbnVtdHlwZXMuaDoKCSogd2luMzIvY29tbW9uL3R1bmVyLW1hcnNoYWwuYzoKCSogd2luMzIvY29tbW9uL3R1bmVyLW1hcnNoYWwuaDoKCSAgdjRsMjogcmVtb3ZlIHVudXNlZCBlbnVtdHlwZXMgYW5kIHVzZSBnZW5lcmljIG1hcnNoYWxsZXIKCjIwMTMtMDgtMDQgMTA6NDc6MzggKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBNYWtlZmlsZS5hbToKCSogZ3N0L3VkcC8uZ2l0aWdub3JlOgoJKiB3aW4zMi9jb21tb24vZ3N0dWRwLWVudW10eXBlcy5jOgoJKiB3aW4zMi9jb21tb24vZ3N0dWRwLWVudW10eXBlcy5oOgoJKiB3aW4zMi9jb21tb24vZ3N0dWRwLW1hcnNoYWwuYzoKCSogd2luMzIvY29tbW9uL2dzdHVkcC1tYXJzaGFsLmg6CgkgIHVkcDogcmVtb3ZlIHVudXNlZCBtYXJzaGFsIGFuZCBlbnVtdHlwZXMgZmlsZXMKCjIwMTMtMDgtMDQgMDk6Mzg6MTkgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBNYWtlZmlsZS5hbToKCSogZ3N0L3J0cG1hbmFnZXIvLmdpdGlnbm9yZToKCSogZ3N0L3J0cG1hbmFnZXIvTWFrZWZpbGUuYW06CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi1tYXJzaGFsLmxpc3Q6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwcHRkZW11eC5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNzcmNkZW11eC5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkqIHdpbjMyL01BTklGRVNUOgoJKiB3aW4zMi9jb21tb24vZ3N0cnRwYmluLW1hcnNoYWwuYzoKCSogd2luMzIvY29tbW9uL2dzdHJ0cGJpbi1tYXJzaGFsLmg6CgkgIHJ0cG1hbmFnZXI6IHVzZSBnZW5lcmljIG1hcnNoYWxsZXIKCjIwMTMtMDgtMDQgMDA6MTM6MDcgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgaml0dGVyYnVmZmVyOiBzZW5kIGV2ZW50IGluIHJpZ2h0IGRpcmVjdGlvbgoKMjAxMy0wOC0wMiAxNzozODozNCAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBjb25maWd1cmUuYWM6CgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICB0ZXN0czogY3JlYXRlL3JlbW92ZSBvcmMgZGlyZWN0b3J5IGF0IHByb3BlciB0aW1lCgkgIEJlZm9yZSBhdXRvbWFrZSBjcmVhdGVzIC5kZXBzIGRpcmVjdG9yaWVzLCBhbmQgZHVyaW5nIGRpc3RjbGVhbi4KCjIwMTMtMDgtMDMgMDA6MjU6NDQgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkgIHNlc3Npb246IGFkZCBGSVIgYW5kIFBMSSBsaWtlIG90aGVyIFJUQ1AgcGFja2V0cwoJICBBZGQgdGhlIEZJUiBhbmQgUExJIHBhY2tldHMgbGlrZSB0aGUgb3RoZXIgUlRDUCBwYWNrZXQgaW5zdGVhZCBvZiBmcm9tIHRoZQoJICBvbi1zZW5kaW5nLXJ0Y3AgZGVmYXVsdCBzaWduYWwgaGFuZGxlci4KCjIwMTMtMDgtMDIgMTc6MjI6NTUgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgaml0dGVyYnVmZmVyOiBmaXggcHJvcGVydHkgcmFuZ2VzCgoyMDEzLTA4LTAyIDE2OjQyOjUyICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIGppdHRlcmJ1ZmZlcjogcHVzaCByZXRyYW5zbWlzc2lvbiBldmVudHMKCjIwMTMtMDgtMDIgMTQ6MTI6MTYgKzAyMDAgIEx1Ym9zeiBTYXJuZWNraSA8bHVib3N6QGdtYWlsLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgYnVpbGQ6IGFkZCBzdWJkaXItb2JqZWN0cyB0byBBTV9JTklUX0FVVE9NQUtFCgkgIEZpeGVzIHdhcm5pbmdzIHdpdGggYXV0b21ha2UgMS4xNAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA1MzUwCgoyMDEzLTA4LTAyIDE0OjU0OjU2ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIGppdHRlcmJ1ZmZlcjogYWRkIHN1cHBvcnQgZm9yIHJldHJhbnNtaXNzaW9uIHJldHJ5CgkgIFdoZW4gd2UgZGlkbid0IHJlY2VpdmUgYSBwYWNrZXQgYWZ0ZXIgcmVxdWVzdGluZyByZXRyYW5zbWlzc2lvbiwgcmV0cnkKCSAgYXNraW5nIGZvciByZXRyYW5zbWlzc2lvbiBmb3IgYSBjZXJ0YWluIHBlcmlvZC4KCjIwMTMtMDgtMDIgMTQ6MTk6NTQgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgaml0dGVyYnVmZmVyOiBhZGQgcHJvcGVydGllcwoJICBBZGQgcHJvcGVydGllcyB0byBjb250cm9sIHJldHJhbnNtaXNzaW9uIHBhcmFtZXRlcnMKCjIwMTMtMDgtMDIgMTI6NDQ6NTggKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgaml0dGVyYnVmZmVyOiB1c2UgY29ycmVjdGVkIHRpbWVvdXQgd2hlbiByZXNjaGVkdWxpbmcKCSAgV2hlbiB3ZSByZWNhbGN1bGF0ZSB0aGUgdGltZW91dCwgdXNlIHRoZSBjb3JyZWN0ZWQgdGltZW91dCB2YWx1ZSBkZXBlbmRpbmcgb24KCSAgdGhlIHRpbWVyIHR5cGUuCgoyMDEzLTA4LTAyIDEyOjQzOjAwICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIGppdHRlcmJ1ZmZlcjogdXBkYXRlIHRpbWVycyBhZnRlciBxdWV1ZWluZwoJICBFbHNlIHdlIG1pZ2h0IHVwZGF0ZSB0aGUgdGltZXIgbmVlZGxlc3NseSBmb3IgZHVwbGljYXRlcy4KCjIwMTMtMDgtMDIgMTI6NDI6MDggKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgaml0dGVyYnVmZmVyOiBtb3ZlIG1ldGhvZCB1cAoKMjAxMy0wOC0wMiAwNjoyODozMiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBqaXR0ZXJidWZmZXI6IHNtYWxsIGNsZWFudXAKCjIwMTMtMDgtMDEgMjM6MjY6MDYgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgaml0dGVyYnVmZmVyOiB1bnNjaGVkdWxlIG9sZCBleHBlY3RlZCBwYWNrZXRzCgkgIFdoZW4gd2UgcmVjZWl2ZSBhIG5ldyBwYWNrZXQsIHVuc2NoZWR1bGUgb2xkIG91dHN0YW5kaW5nIHBhY2tldHMgd2hlbiB0aGVpcgoJICBzZXFudW0gaXMgdG9vIGZhciBhd2F5LgoKMjAxMy0wOC0wMSAyMzoyOToyMyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBqaXR0ZXJidWZmZXI6IHJlZmFjdG9yIHRpbWVyIHVwZGF0ZQoKMjAxMy0wOC0wMSAyMzoyNDoyOSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBqaXR0ZXJidWZmZXI6IHVwZGF0ZSB0aW1lcnMgd2hlbiByZW1vdmluZwoJICBVcGRhdGUgdGhlIHRpbWVycyB3aGVuIHdlIHJlbW92ZSBhIHRpbWVyLgoJICBIYW5kbGUgY2FuY2VsZWQgdGltZXJzLCBtYWtlIHRoZW0gdW5zY2hlZHVsZSB0aGUgY3VycmVudCB0aW1lciBhbmQKCSAgdHJpZ2dlciB0aGUgdGltZW91dCBjb2RlLgoKMjAxMy0wOC0wMSAyMzoyMjowMiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBqaXR0ZXJidWZmZXI6IGZpeCB0eXBvCgoyMDEzLTA4LTAxIDE1OjQwOjUyICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIGppdHRlcmJ1ZmZlcjogaW1wcm92ZSB0aW1lb3V0IG1hbmFnZW1lbnQKCSAgSWYgd2UgY2hhbmdlIHRoZSBzZXFudW0gb2YgYW4gZXhpc3RpbmcgdGltZXIgYW5kIHdlIHdlcmUgd2FpdGluZyBmb3IKCSAgdGhhdCB0aW1lciwgdW5zY2hlZHVsZSBpdC4gSWYgd2UgY2hhbmdlIHRoZSB0aW1lb3V0IG9mIGFuIGV4aXN0aW5nIHRpbWVyIGFuZCB3ZQoJICB3ZXJlIHdhaXRpbmcgb24gaXQsIG9ubHkgdW5zY2hlZHVsZSB3aGVuIHRoZSBuZXcgdGltZSBpcyBzbWFsbGVyLgoKMjAxMy0wOC0wMSAxNTowNTozNSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBqaXR0ZXJidWZmZXI6IGluc3RhbGwgdGltZXIgZm9yIGV4cGVjdGVkIGFycml2YWwKCSAgSW5zdGFsbCBhIHRpbWVyIHRoYXQgaXMgdHJpZ2dlcmVkIHdoZW4gdGhlIGV4cGVjdGVkIGFycml2YWwgdGltZSBvZiBhIHBhY2tldAoJICBleHBpcmVkLgoKMjAxMy0wOC0wMSAxNDo1NjowMCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBqaXR0ZXJidWZmZXI6IGltcHJvdmUgdW5zY2hlZHVsZSBvZiB0aW1lcnMKCSAgQ29uZmxpY3RzOgoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYwoKMjAxMy0wOC0wMSAxMjoyMTo1MyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBqaXR0ZXJidWZmZXI6IG1vdmUgY29kZSBhcm91bmQKCjIwMTMtMDgtMDEgMTI6MDc6MTEgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgaml0dGVyYnVmZmVyOiBlc3RpbWF0ZSBpbnRlciBwYWNrZXQgc3BhY2luZwoJICBXaGVuIHdlIHNlZSB0d28gcGFja2V0cyB3aXRoIGNvbnNlY3V0aXZlIHNlcW51bXMgYW5kIGEgZGlmZmVyZW50IFJUUCB0aW1lLCB1c2UKCSAgdGhlIERUUyBkaWZmZXJlbmNlIGFzIHRoZSBpbnRlciBwYWNrZXQgc3BhY2luZyBlc3RpbWF0ZS4KCjIwMTMtMDgtMDEgMTI6MDE6MTUgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgaml0dGVyYnVmZmVyOiBrZWVwIHRyYWNrIG9mIGN1cnJlbnQgdGltZW91dAoKMjAxMy0wOC0wMSAxMTo0OToxMCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBqaXR0ZXJidWZmZXI6IGNsZWFudXAgdGltZXIgaGFuZGxpbmcKCjIwMTMtMDgtMDEgMTE6NDA6NDEgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgaml0dGVyYnVmZmVyOiByZXNldCBpcyBvbmx5IHBvc3NpYmxlIHdpdGggYSBHQVAKCjIwMTMtMDgtMDEgMTE6Mjk6MzIgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwaml0dGVyYnVmZmVyLmM6CgkgIGppdHRlcmJ1ZmZlcjogb3BlcmF0ZSBvbiBEVFMKCSAgTWFrZSB0aGUgaml0dGVyYnVmZmVyIHNjaGVkdWxlIHRoZSB0aW1lb3V0cyBiYXNlZCBvbiB0aGUgRFRTIGluc3RlYWQKCSAgb2YgdGhlIFBUUy4gVGhpcyBtYWtlcyBpdCBhbGwgc21vb3RoZXIgd2l0aCByZW9yZGVyZWQgZnJhbWVzIGFuZCBnaXZlcwoJICB0aGUgZGVjb2RlciB0aW1lIHRvIHJlb3JkZXIgdGhlIGZyYW1lcyBpbiB0aW1lLgoKMjAxMy0wOC0wMSAxMToxNDoxMiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBqaXR0ZXJidWZmZXI6IHJlbmFtZSB0aW1vdXQgdmFyaWFibGUKCjIwMTMtMDctMzEgMTc6MDg6NTggKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgaml0dGVyYnVmZmVyOiBzbWFsbCBjbGVhbnVwCgoyMDEzLTA3LTMxIDE2OjU5OjU4ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIGppdHRlcmJ1ZmZlcjogYmxvY2sgb3V0cHV0IGluIHBhdXNlZCBvciBidWZmZXJpbmcKCjIwMTMtMDctMzEgMTY6NTk6MDkgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgaml0dGVyYnVmZmVyOiBzdG9yZSBwdHMgaW4gdGltZXIKCSAgT25seSBzdG9yZSB0aGUgcHRzIGluIHRoZSB0aW1lciBzbyB0aGF0IHdlIGNhbiBib3RoIGRvIHRpbWVvdXRzIHdpdGggdGltaW5ncyBvbgoJICB0aGUgaW5wdXQgYW5kIG91dHB1dCBvZiB0aGUgaml0dGVyYnVmZmVyLgoKMjAxMy0wNy0zMCAyMzoxNDoyNCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBydHBqaXR0ZXJidWZmZXI6IHJlZmFjdG9yIGppdHRlcmJ1ZmZlcgoJICBSZWZhY3RvciB0aGUgaml0dGVyYnVmZmVyIGNvZGUuIE1ha2Ugc2VwYXJhdGUgZnVuY3Rpb24gZm9yIHBlZWtpbmcgYSBidWZmZXIsCgkgIHB1c2hpbmcgdGhlIG5leHQgYnVmZmVyLCB3YWl0aW5nIGZvciB0aW1lb3V0cyBhbmQgaGFuZGxpbmcgdGhlIHRpbWVvdXRzLgoJICBUaGUgbWFpbiBsb29wIG5vdyB0cmllcyB0byBwdXNoIGFzIG1hbnkgYnVmZmVycyBhcyBpdCBjYW4gdW50aWwgaXQgcnVucyBvdXQgb2YKCSAgYnVmZmVycyBvciB3aGVuIGl0IGRldGVjdHMgYSBzZXFudW0gZGlzY29udC4gVGhlbiBpdCB3aWxsIHdhaXQgZm9yIHNvbWUgZXZlbnQgdG8KCSAgaGFwcGVuIGJlZm9yZSBhdHRlbXB0aW5nIHRvIHB1c2ggbW9yZSBidWZmZXJzLgoJICBNYWtlIG1ldGhvZHMgdG8gcmVnaXN0ZXIgdGltZW91dHMgaW4gYW4gYXJyYXkuIFRoZXNlIHRpbWVvdXRzIGFyZSByZWdpc3RlcmVkCgkgIHdoZW4gd2UgZGV0ZWN0IGEgbWlzc2luZyBwYWNrZXQsIHN5bmMgZm9yIHRoZSBmaXJzdCBwYWNrZXQgb3Igd2hlbiB3ZSBmaW5kIGFuCgkgIGVzdGltYXRpb24gZm9yIHRoZSBlbmQtb2Ytc3RyZWFtLgoJICBUaGlzIGdyZWF0bHkgc2ltcGxpZmllcyBhbmQgY2xhcmlmaWVzIHRoZSBjb2RlIGFuZCBhbHNvIG1ha2VzIGl0IHBvc3NpYmxlIHRvCgkgIHJlZ2lzdGVyIG1vcmUgY29tcGxpY2F0ZWQgdGltZW91dCBzY2hlbWVzIGxhdGVyLgoKMjAxMy0wNy0zMCAxODo1Mjo1OCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cGppdHRlcmJ1ZmZlci5jOgoJICBydHBqaXR0ZXJidWZmZXI6IHVzZSBOVUxMIHRvIGlnbm9yZSBwZXJjZW50CgkgIElmIHdlIHBhc3MgTlVMTCB0byBwb3AgYW5kIHB1c2ggd2UgaWdub3JlIHRoZSBwZXJjZW50IHJlc3VsdC4KCjIwMTMtMDctMzAgMDc6MDA6MTkgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgaml0dGVyYnVmZmVyOiByZWZhY3RvcgoJICBNb3ZlIGVvcyBlc3RpbWF0aW9uIGludG8gc2VwYXJhdGUgZnVuY3Rpb24KCjIwMTMtMDctMzAgMTQ6Mjg6MTkgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6CgkgIGZsdmRlbXV4OiBkb24ndCBsZWFrIHN0cmVhbV9pZCBzdHJpbmcKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwNTE0MgoKMjAxMy0wNy0yOSAxOTo1Mzo1MiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIHBvL0xJTkdVQVM6CgkqIHBvL2RhLnBvOgoJKiBwby9kZS5wbzoKCSogcG8vZWwucG86CgkqIHBvL2dsLnBvOgoJKiBwby9oci5wbzoKCSogcG8vaHUucG86CgkqIHBvL2phLnBvOgoJKiBwby9uYi5wbzoKCSogcG8vbmwucG86CgkqIHBvL3BsLnBvOgoJKiBwby9ydS5wbzoKCSogcG8vc2wucG86CgkqIHBvL3RyLnBvOgoJKiBwby91ay5wbzoKCSogcG8vdmkucG86CgkqIHBvL3poX0NOLnBvOgoJICBwbzogdXBkYXRlIHRyYW5zbGF0aW9ucwoKMjAxMy0wNy0yOSAxOTo0ODo1NCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzLy5naXRpZ25vcmU6CgkgIHRlc3RzOiBpZ25vcmUgbmV3IHRlc3QgYmluYXJpZXMKCjIwMTMtMDctMjkgMTQ6NDc6NDkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgQmFjayB0byBkZXZlbG9wbWVudAoKPT09IHJlbGVhc2UgMS4xLjMgPT09CgoyMDEzLTA3LTI5IDEzOjQyOjE4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBDaGFuZ2VMb2c6CgkqIE5FV1M6CgkqIFJFTEVBU0U6CgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tMTM5NC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYWNvbG9yLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFwZXRhZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb2Z4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvcGFyc2Vycy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9kZXRlY3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXZpLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhY2FzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhaXJvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWN1dHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWludGVybGFjZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdG1mLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZmVjdHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXF1YWxpemVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZseGRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZGtwaXhidWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tMmsxLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWljeWRlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlkM2RlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWltYWdlZnJlZXplLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVybGVhdmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taXNvbXA0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWphY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanBlZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sZXZlbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tYXRyb3NrYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tb25vc2NvcGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlmaWxlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpcGFydC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uYXZpZ2F0aW9udGVzdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3M0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zc2F1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBuZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wdWxzZWF1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlcGxheWdhaW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cG1hbmFnZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRzcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaGFwZXdpcGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hvdXQyc2VuZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbXB0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWN0cnVtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXRhZ2xpYi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi11ZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW80bGludXgyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvYm94LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvY3JvcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2ZpbHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb21peGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZweC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14aW1hZ2VzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teTRtZW5jLnhtbDoKCSogZ3N0LXBsdWdpbnMtZ29vZC5kb2FwOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIFJlbGVhc2UgMS4xLjMKCjIwMTMtMDctMjkgMTM6NDI6MDUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIHBvL2FmLnBvOgoJKiBwby9hei5wbzoKCSogcG8vYmcucG86CgkqIHBvL2NhLnBvOgoJKiBwby9jcy5wbzoKCSogcG8vZGEucG86CgkqIHBvL2RlLnBvOgoJKiBwby9lbC5wbzoKCSogcG8vZW5fR0IucG86CgkqIHBvL2VvLnBvOgoJKiBwby9lcy5wbzoKCSogcG8vZXUucG86CgkqIHBvL2ZpLnBvOgoJKiBwby9mci5wbzoKCSogcG8vZ2wucG86CgkqIHBvL2h1LnBvOgoJKiBwby9pZC5wbzoKCSogcG8vaXQucG86CgkqIHBvL2phLnBvOgoJKiBwby9sdC5wbzoKCSogcG8vbHYucG86CgkqIHBvL210LnBvOgoJKiBwby9uYi5wbzoKCSogcG8vbmwucG86CgkqIHBvL29yLnBvOgoJKiBwby9wbC5wbzoKCSogcG8vcHRfQlIucG86CgkqIHBvL3JvLnBvOgoJKiBwby9ydS5wbzoKCSogcG8vc2sucG86CgkqIHBvL3NsLnBvOgoJKiBwby9zcS5wbzoKCSogcG8vc3IucG86CgkqIHBvL3N2LnBvOgoJKiBwby90ci5wbzoKCSogcG8vdWsucG86CgkqIHBvL3ZpLnBvOgoJKiBwby96aF9DTi5wbzoKCSogcG8vemhfSEsucG86CgkqIHBvL3poX1RXLnBvOgoJICBVcGRhdGUgLnBvIGZpbGVzCgoyMDEzLTA3LTI5IDEyOjEyOjQxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBnc3Q6IERvbid0IHN3YXAgc3RhcnQvc3RvcCBmb3IgbmVnYXRpdmUgcmF0ZXMgaW4gdGhlIFNFR01FTlQgcXVlcnkKCjIwMTMtMDctMjkgMTE6MTg6NDAgKzAyMDAgIE1hdGVqIEtub3BwIDxtYXRlai5rbm9wcEBnbWFpbC5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogQ2hlY2sgZm9yIGRhdGEgc2l6ZSB3aGVuIHBhcnNpbmcgaDI2NCBjb2RlYyBkYXRhIGZyb20gc3RyZiBhdG9tCgoyMDEzLTA3LTI5IDEwOjUzOjU0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2FkZW11eDogSW1wbGVtZW50IFNFR01FTlQgcXVlcnkKCjIwMTMtMDctMjkgMTA6NTM6NDcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzoKCSAgZmx2ZGVtdXg6IEltcGxlbWVudCBTRUdNRU5UIHF1ZXJ5CgoyMDEzLTA3LTI5IDEwOjUwOjU5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIGF2aWRlbXV4OiBJbXBsZW1lbnQgU0VHTUVOVCBxdWVyeQoKMjAxMy0wNy0yNyAxODoxMDoyMiArMDIwMCAgTWF0ZWogS25vcHAgPG1hdGVqLmtub3BwQGdtYWlsLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXhfZm91cmNjLmg6CgkgIHF0ZGVtdXg6IFN1cHBvcnQgSDI2NCBmb3VyY2MKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwNDk5NgoKMjAxMy0wNy0yOCAxODowOTozMyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2VuYy5jOgoJICBmbGFjZW5jOiBGaXggaGFuZGxpbmcgb2YgaW1hZ2UgdGFncwoJICBUaGUgY2FwcyBzaG91bGQgYmUgdXNlZCB0byBnZXQgdGhlIG1pbWV0eXBlIGFuZCB0aGVyZSBpcwoJICBvbmx5IGFuIGluZm8gc3RydWN0dXJlIGZvciB0aGUgR3N0U2FtcGxlIGlmIHRoZSBpbWFnZS10eXBlCgkgIGlzIG5vdCBOT05FLgoKMjAxMy0wNy0yOCAxODowNDozMiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2VuYy5jOgoJICBmbGFjZW5jOiBEb24ndCBjcmFzaCBpZiB0aGVyZSBpcyBubyBpbWFnZSB0YWcgaW5mb3JtYXRpb24KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwNTAxOAoKMjAxMy0wNy0yOCAxNzozODo1NiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICBhdmlkZW11eDogRml4IGR1cmF0aW9uIHJlcG9ydGluZyBpbiBwdXNoIG1vZGUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwMDkzMwoKMjAxMy0wNy0yOCAxNzozMjoyNyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICBhdmlkZW11eDogRG9uJ3QgZm9yZ2V0IHVubWFwcGluZyBhbmQgdW5yZWZmaW5nIGJ1ZmZlcgoKMjAxMy0wNy0yNiAyMTowNjoxNyArMDIwMCAgTWF0ZWogS25vcHAgPG1hdGVqLmtub3BwQGdtYWlsLmNvbT4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgYXZpZGVtdXg6IHVubWFwIGJ1ZmZlcgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA0OTUxCgoyMDEzLTA3LTI2IDIyOjMxOjQxICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJICBzZXNzaW9uOiBkb24ndCBtYWtlIGJ1ZmZlciB3cml0YWJsZSBwcmVtYXR1cmVseQoJICBUaGVyZSBpcyBubyByZWFzb24gdG8gbWFrZSB0aGUgU1IgYnVmZmVyIHdyaXRhYmxlIGF0IHRoaXMgcG9pbnQuIFRoaXMgaXMgYmV0dGVyCgkgIGRlbGF5ZWQgdW50aWwgbmVlZGVkLgoKMjAxMy0wNy0yNiAyMjoyNTo1MCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSAgc2Vzc2lvbjogaWdub3JlIFJUQ1AgZm9yIGluYWN0aXZlIHNvdXJjZXMKCjIwMTMtMDctMjYgMjI6MjU6MTcgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkgIHNlc3Npb246IHNtYWxsIGNsZWFudXAKCjIwMTMtMDctMjYgMTc6MTc6MzEgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uaDoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmg6CgkgIHNlc3Npb246IGhhbmRsZSBwYXJ0aWFsIFJUQ1AgcmVwb3J0IGJsb2NrcwoJICBXaGVuIHdlIGhhdmUgbW9yZSBTU1JDcyB0byByZXBvcnQgdGhhbiB3aGF0IGZpdCBpbiBhbiBSVENQIHBhY2tldCwgdXNlIGEKCSAgZ2VuZXJhdGlvbiBjb3VudGVyIHRvIG1ha2Ugc3VyZSBhbGwgb2YgdGhlbSBlbmQgdXAgaW4gYSBwYWNrZXQgZXZlbnR1YWxseS4KCjIwMTMtMDctMjYgMTc6MjM6MTAgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkgIHNlc3Npb246IGNyZWF0ZSBTU1JDIGJlZm9yZSBkb2luZyBzZXNzaW9uIGNsZWFudXAKCSAgTWFrZSB0aGUgaW50ZXJuYWwgc291cmNlIGJlZm9yZSB3ZSBkbyBzZXNzaW9uIGNsZWFudXAKCjIwMTMtMDctMjYgMTc6MjE6MDggKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkgIHNlc3Npb246IHJlb3JnYW5pemUgdGhlIHJlcG9ydCBibG9jayBjb2RlCgoyMDEzLTA3LTI2IDE2OjAyOjAxICswMjAwICBNYXRlaiBLbm9wcCA8bWF0ZWoua25vcHBAZ21haWwuY29tPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thZGVtdXg6IGZpeCBtZW1vcnkgbGVhayBpbiBjaGVja19zdWJ0aXRsZV9idWZmZXIKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwNDkyMQoKMjAxMy0wNy0yNiAxNDoyMTo0MCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSAgc2Vzc2lvbjogcmVmYWN0b3IgYWN0aXZlIGFuZCBzZW5kZXIgY2hlY2tzCgoyMDEzLTA3LTI2IDEyOjA2OjM1ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJICBzZXNzaW9uOiByZW1vdmUgaW50ZXJuYWwgc291cmNlcyBvbiB0aW1lb3V0CgkgIFdoZW4gYW4gaW50ZXJuYWwgc291cmNlIHRpbWVzIG91dCBhbmQgYmVjb21lcyBhIHJlY2VpdmVyLCByZW1vdmUgaXQuCgoyMDEzLTA3LTI2IDExOjQ3OjU2ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJICBzZXNzaW9uOiBjcmVhdGUgYW4gaW50ZXJuYWwgc291cmNlIGZvciBSVENQCgkgIFdoZW4gd2UgbmVlZCB0byBkbyBSVENQIGFuZCB3ZSBkb24ndCBoYXZlIGFuIGludGVybmFsIHNvdXJjZSB5ZXQsCgkgIG1ha2Ugb25lLgoKMjAxMy0wNy0yNiAxMDo0NzoyOCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5oOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuYzoKCSAgc2Vzc2lvbjogcmVtb3ZlIG9sZCBjb2RlIHRvIGNoYW5nZSBTU1JDCgkgIFJlbW92ZSBjb2RlIHVzZWQgdG8gY2hhbmdlIHRoZSBTU1JDIGFmdGVyIGEgY29sbGlzaW9uLiBXZSBub3cgc2VuZAoJICBhIFJFQ09ORklHVVJFIGV2ZW50IHVwc3RyZWFtIHRvIG1ha2UgdGhlIHVwc3RyZWFtIGVsZW1lbnQgY2hhbmdlIHRoZSBTU1JDLgoKMjAxMy0wNy0yNiAxMDo0Mjo0NCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5jOgoJICBzb3VyY2U6IGRvbid0IHVwZGF0ZSBwYWNrZXQgU1NSQwoJICBSZW1vdmUgdGhlIGNvZGUgdG8gdXBkYXRlIHRoZSBTU1JDIGluIHBhY2tldHMsIGl0IGNhbiBuZXZlciBiZSBjYWxsZWQgbm93IHRoYXQKCSAgd2UgYWx3YXlzIHVzZSBhIHNvdXJjZSB3aXRoIG1hdGNoaW5nIHBhY2tldCBTU1JDLgoKMjAxMy0wNy0yNiAxMDoyNDoyMiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5oOgoJICBzZXNzaW9uOiBkZWxheSBhbGxvY2F0aW9uIG9mIGludGVybmFsIHNvdXJjZQoJICBBbGxvY2F0ZSB0aGUgaW50ZXJuYWwgc291cmNlIHdoZW4gd2UgcmVjZWl2ZSBhIGNhcHMgd2l0aCB0aGUgU1NSQyBvciB3aGVuIHdlIHNlZQoJICBhIGJ1ZmZlciB3aXRoIHRoZSBTU1JDLgoKMjAxMy0wNy0yNiAxMDowMDo1OCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJICBzZXNzaW9uOiBnZW5lcmF0ZSByZWNvbmZpZ3VyZSBvbiBjb2xsaXNpb24KCSAgV2hlbiB3ZSBkZXRlY3QgYSBjb2xsaXNpb24sIGNoYW5nZSB0aGUgU1NSQyB0aGF0IHdlIHN1Z2dlc3QgdXBzdHJlYW0KCSAgYW5kIHRyaWdnZXIgUkVDT05GSUdVUkUuIFRoaXMgc2hvdWxkIG1ha2UgdXBzdHJlYW0gc2VsZWN0IGEgbmV3IFNTUkMuCgoyMDEzLTA3LTI2IDA5OjM3OjI0ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmg6CgkgIHNlc3Npb246IHByb2R1Y2UgUlRDUCBmb3IgYWxsIGludGVybmFsIHNvdXJjZXMKCSAgTG9vcCBvdmVyIGFsbCB0aGUgaW50ZXJuYWwgc291cmNlcyBhbmQgcHJvZHVjZSBSVENQLiBXZSBhbHNvIG5lZWQKCSAgdG8gcXVldWUgdGhlIFJUQ1AgcGFja2V0cyBhbmQgc2VuZCB0aGVtIHdoZW4gd2UgYXJlIGZpbmlzaGVkLgoKMjAxMy0wNy0yNiAwMTo0MDoyMCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5oOgoJICBzZXNzaW9uOiBkZXByZWNhdGUgaW50ZXJuYWwgc291cmNlIGFuZCBzc3JjIHByb3BlcnRpZXMKCSAgRGVwcmVjYXRlIHRoZSBpbnRlcm5hbCBzb3VyY2UgYW5kIGludGVybmFsIHNzcmMgcHJvcGVydGllcy4gVGhlcmUgbWlnaHQKCSAgYmUgbW9yZSB0aGFuIG9uZSBpbnRlcm5hbCBzb3VyY2UuCgoyMDEzLTA3LTI2IDAxOjI5OjA4ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJICBzZXNzaW9uOiBpbnRlcm5hbCBzb3VyY2VzIGRvbid0IHVzZSBwcm9iYXRpb24KCjIwMTMtMDctMjYgMDE6MjQ6MDcgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSAgc2Vzc2lvbjogZ2l2ZSBjYXBzIHRvIHNlc3Npb24KCSAgTGV0IHRoZSBzZXNzaW9uIHBhcnNlIHRoZSBjYXBzIGFuZCB1cGRhdGUgaXRzIFNTUkMgd2hlbiBuZWVkZWQuCgoyMDEzLTA3LTI2IDAxOjE0OjA0ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uaDoKCSAgc2Vzc2lvbjogbWFrZSBtZXRob2QgdG8gc3VnZ2VzdCBhdmFpbGFibGUgU1NSQwoJICBNYWtlIGEgbWV0aG9kIHRvIHN1Z2dlc3QgdGhlIGJlc3QgYXZhaWxhYmxlIFNTUkMuIFRoaXMgaXMgdGhlIFNTUkMgb2YgdGhlIGxhc3QKCSAgY3JlYXRlZCBpbnRlcm5hbCBzb3VyY2UgYW5kIGlzIHVzZWQgdG8gaW5zdHJ1Y3QgdXBzdHJlYW0gdG8gcHJvZHVjZSB0aGlzCgkgIFNTUkMuCgoyMDEzLTA3LTI2IDAxOjAxOjQ5ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmg6CgkgIHNlc3Npb246IGtlZXAgU0RFUyBhbmQgc2V0IG9uIG5ldyBpbnRlcm5hbCBzb3VyY2VzCgkgIEtlZXAgdHJhY2sgb2YgdGhlIFNERVMgb3Vyc2VsdmVzIGFuZCBzZXQgaXQgb24gYWxsIG5ld2x5IGNyZWF0ZWQKCSAgaW50ZXJuYWwgc291cmNlcy4KCjIwMTMtMDctMjYgMDA6NDg6MjUgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkgIHNlc3Npb246IG1ha2UgbWV0aG9kIHRvIG1ha2UgaW50ZXJuYWwgc291cmNlcwoJICBBZGQgYSBtZXRob2QgdG8gb2J0YWluIGFuIGludGVybmFsIHNvdXJjZSBhbmQgdXNlIGl0IHRvIGNyZWF0ZQoJICBvdXIgaW50ZXJuYWwgc291cmNlCgoyMDEzLTA3LTI2IDAwOjI5OjQxICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzdGF0cy5oOgoJICBzZXNzaW9uOiBjb3VudCBpbnRlcm5hbCBzb3VyY2VzIGFuZCBob3cgbWFueSBhcmUgc2VuZGVycwoKMjAxMy0wNy0yNiAwMDoxNDoyOSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmg6CgkgIHJ0cHNlc3Npb246IHNlcGFyYXRlIEJZRSBtYXJraW5nIGFuZCBzY2hlZHVsaW5nCgkgIEZpcnN0IG1hcmsgc291cmNlcyB3aXRoIEJZRSBhbmQgdGhlbiBzY2hlZHVsZSB0aGUgQllFIFJUQ1AgbWVzc2FnZS4KCjIwMTMtMDctMjUgMjM6NTY6NDYgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkgIHNlc3Npb246IGdldCBTU1JDIGZyb20gUlRDUCBwYWNrZXQgaXRzZWxmCgkgIEdldCB0aGUgU1NSQyBmcm9tIHRoZSBSVENQIHBhY2tldCBpbnN0ZWFkLgoKMjAxMy0wNy0yNSAyMzo1MTozNCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSAgc2Vzc2lvbjogZml4IGJhbmR3aWR0aCBjYWxjdWxhdGlvbgoJICBXZSBpdGVyYXRlIG92ZXIgYWxsIHNvdXJjZXMgYW5kIHRoZSBpbnRlcm5hbCBvbmUgaXMgYWxzbyBpbiB0aGUKCSAgaGFzaHRhYmxlIHNvIGF2b2lkIGFkZGluZyBpdCB0d2ljZS4KCjIwMTMtMDctMjUgMjM6Mzg6MDggKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkgIHNlc3Npb246IGFkZCBzb21lIGRvY3MKCjIwMTMtMDctMjUgMjM6MTE6MDUgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkgIHNlc3Npb246IFJlYXJyYW5nZSBSVENQIHJlcG9ydGluZyBhIGxpdHRsZQoJICBNYWtlIGEgZnVuY3Rpb24gdG8gZ2VuZXJhdGUgYW4gUlRDUCBwYWNrZXQgZm9yIGEgc291cmNlLCBwYXNzIHRoZSBzb3VyY2UgYXMgYQoJICBwYXJhbWV0ZXIuCgkgIE1vdmUgdGltZW91dCBvZiBjb2xsaXNpb25zIHRvIHNlc3Npb24gY2xlYW51cCBwaGFzZS4KCjIwMTMtMDctMjUgMjI6Mzk6MDQgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkgIHNlc3Npb246IG1vdmUgY2hlY2sgZm9yIGlzX2Vhcmx5IGFyb3VuZAoJICBNb3ZlIHRoZSBjaGVjayBmb3IgdGhlIGVhcmx5IFJUQ1AgdG8gd2hlcmUgaXQgaXMgbmVlZGVkIGFuZCB1c2VkLgoKMjAxMy0wNy0yNSAxNzozNTowMiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSAgc2Vzc2lvbjogcGFyc2UgcGFja2V0IG91dHNpZGUgb2YgdGhlIHNlc3Npb24gbG9jawoKMjAxMy0wNy0yNSAxNzozNDowNiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSAgc2Vzc2lvbjogZG8gbmljZXIgY2hlY2tzIGZvciBpbnRlcm5hbCBzb3VyY2VzCgoyMDEzLTA3LTI1IDE3OjE1OjM3ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmg6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuaDoKCSAgc2Vzc2lvbjogbGV0IHNvdXJjZSBrZWVwIHRyYWNrIGlmIGl0IHNlbnQgQllFCgoyMDEzLTA3LTI1IDE3OjA2OjIyICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmM6CgkgIHNvdXJjZTogcmVzZXQgbW9yZQoKMjAxMy0wNy0yNSAxNjo0OTo0MSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5oOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmg6CgkgIHNvdXJjZTogYWxzbyB1c2UgdGhlIHNvdXJjZSBmb3IgYnllX3JlYXNvbgoJICBTdG9yZSB0aGUgQllFIHJlYXNvbiBpbiBvdXIgaW50ZXJuYWwgc291cmNlIG9iamVjdC4gUmVuYW1lIHRoZSBtZXRob2RzIG9uIHRoZQoJICBzb3VyY2Ugb2JqZWN0IGEgbGl0dGxlIGJlY2F1c2Ugbm93IHRoZSBCWUUgY2FuIGJlIHJlY2VpdmVkIGluIFJUQ1Agb3IKCSAgc2V0IHdoZW4gdGhlIHNlc3Npb24gd2FudHMgdG8gc2VuZCBCWUUuCgoyMDEzLTA3LTI1IDE2OjI0OjA0ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmg6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuaDoKCSAgc2Vzc2lvbjogY29uZmlndXJlIHNkZXMgd2l0aCBzdHJ1Y3R1cmUgb25seQoJICBSZW1vdmUgY29kZSB0byBjb25maWd1cmUgdGhlIFNERVMgd2l0aCBtZXRob2RzIGFuZCB0eXBlcywgb25seQoJICBhbGxvdyBjb25maWd1cmF0aW9uIHdpdGggR3N0U3RydWN0dXJlCgoyMDEzLTA3LTI1IDE1OjU2OjM5ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJICBzZXNzaW9uOiByZWZhY3RvciBhZGQgYW5kIGZpbmQgc291cmNlCgkgIE1ha2UgZnVuY3Rpb25zIHRvIGZpbmQgYW5kIGFkZCBhIHNvdXJjZSB0byB0aGUgaGFzaHRhYmxlLgoKMjAxMy0wNy0yNSAxNTo0MzoxMSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmg6CgkgIHNlc3Npb246IHJlbW92ZSBzb3VyY2UgZnJvbSBzeW5jX3J0Y3AKCSAgV2UgZG9uJ3QgbmVlZCB0byBrbm93IHRoZSBzZW5kZXIgc291cmNlIG9mIHRoZSBzZXNzaW9uIGluIHRoZQoJICBjYWxsYmFjaywgdGhlIFNSIHBhY2tldCBpcyBmb3IgYWxsIHBhcnRpY2lwYW50cyBpbiB0aGUgc2Vzc2lvbi4KCjIwMTMtMDctMjQgMTQ6MTg6MTQgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgaml0dGVyYnVmZmVyOiBhZGQgc29tZSBtb3JlIGRlYnVnCgoyMDEzLTA3LTE1IDE3OjExOjQ1ICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvTWFrZWZpbGUuYW06CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWFjcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYWNwYXJzZS5oOgoJICBhYWNwYXJzZTogYWxsb3cgY29udmVyc2lvbiBmcm9tIEFEVFMgdG8gcmF3IEFBQwoJICBTb21lIG11eGVycyAoZWcsIHF0bXV4KSBvbmx5IHN1cHBvcnQgcmF3IEFBQywgc28gdGhpcyBhbGxvd3MgbGlua2luZwoJICBhbiBlbmNvZGVyIHRoYXQgb3V0cHV0cyBBRFRTIG9ubHkgdG8gdGhvc2UgbXV4ZXJzLgoJICBUaGUgY29udmVyc2lvbiBpcyBzaW1wbGUgKG9taXQgdGhlIGZpcnN0IDcgb3IgOSBieXRlcyBvZiB0aGUgZnJhbWUpLAoJICBidXQgaGFzIHRvIGJlIGRvbmUgaW4gcHJlX3B1c2ggaW5zdGVhZCBvZiBoYW5kbGVfZnJhbWUgYXMgMS4wIGRvZXMKCSAgbm90IHNlZW0gdG8gYWxsb3cgc2tpcHBpbmcgYnl0ZXMgdGhlcmUgYXMgMC4xMCB1c2VkIHRvLgoJICBPdGhlciBjb252ZXJzaW9ucyBhcmUgbm90IHN1cHBvcnRlZCAoeWV0KS4KCjIwMTMtMDctMTUgMTc6MTU6NDQgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYWNwYXJzZS5jOgoJICBhYWNwYXJzZTogZml4IG9iamVjdF90eXBlIHBhcnNpbmcgb2ZmLWJ5LW9uZSBpbiBBRFRTIGZyYW1lCgkgIEFjY29yZGluZyB0byBodHRwOi8vd2lraS5tdWx0aW1lZGlhLmN4L2luZGV4LnBocD90aXRsZT1BRFRTLAoJICB0aGUgdmFsdWUgc3RvcmVkIGluIEFEVFMgaGVhZGVycyBpcyBvbmUgbGVzcyB0aGFuIHRoZSBvYmplY3QKCSAgdHlwZSBvZiB0aGUgQUFDIHN0cmVhbS4KCSAgQSBsb29rIGF0IGZmbXBlZyBzaG93cyBpdCBhbHNvIGFkZHMgMSB0byB0aGUgdmFsdWUgcmVhZCBvZmYKCSAgdGhlIEFEVFMgaGVhZGVyLgoJICBOb3RlIHRoYXQgdGhpcyBtaWdodCBicmVhayBvdGhlciB0aGluZ3MgdGhhdCBoYXBwZW4gdG8gaGF2ZQoJICBhbiBpbnZlcnNlIG9mZiBieSBvbmUgdG8gbWF0Y2ggdGhlIGV4aXN0aW5nIGNvZGUuCgoyMDEzLTA3LTI1IDExOjEzOjAxIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIGF2aWRlbXV4OiBmaXggc2VxbnVtIGhhbmRsaW5nIGZvciBzZWVrcwoJICBVc2UgdGhlIHNhbWUgc2VxbnVtIGFzIHRoZSBzZWVrIGZvciBmbHVzaGVzL3NlZ21lbnRzIHRoYXQgYXJlCgkgIGNhdXNlZCBieSB0aGUgc2Vlay4gQWxzbyBkbyB0aGUgc2FtZSBmb3Igc2VnbWVudCBldmVudHMKCSAgRml4ZXMgIzY3NjI0MgoKMjAxMy0wNy0yNSAwMTozOTo1OCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5oOgoJICBtYXRyb3NrYWRlbXV4OiBmaXggc2VxbnVtIGhhbmRsaW5nIGZvciBzZWVrcwoJICBVc2UgdGhlIHNhbWUgc2VxbnVtIGFzIHRoZSBzZWVrIGZvciBmbHVzaGVzL3NlZ21lbnRzIHRoYXQgYXJlCgkgIGNhdXNlZCBieSB0aGUgc2Vlay4gQWxzbyBkbyB0aGUgc2FtZSBmb3Igc2VnbWVudCBldmVudHMKCSAgRml4ZXMgIzY3NjI0MgoKMjAxMy0wNy0yNSAwMToxMTozMSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IGNvcnJlY3RseSBoYW5kbGUgc2VxbnVtIGZvciBzZWVrcyBhbmQgc2VnbWVudHMKCSAgVXNlIHRoZSBzYW1lIHNlcW51bSBvbiBtZXNzYWdlcyBhbmQgZXZlbnRzIGZvciBkZXJpdmVkIGV2ZW50cy4KCSAgRml4ZWQgZm9yIGZsdXNoZXMgLyBzdHJlYW0tc3RhcnQgLyBzZWdtZW50IGFmdGVyIGEgc2VlaywgYW5kIHNlZ21lbnQKCSAgYWZ0ZXIgYSBzZWdtZW50LgoJICBGaXhlcyAjNjc2MjQyCgoyMDEzLTA3LTEyIDIwOjAxOjQyICswMjAwICBBcm5hdWQgVnJhYyA8YXZyYWNAZnJlZWJveC5mcj4KCgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6CgkgIHNvdXBodHRwc3JjOiBhbHdheXMgaWdub3JlIEhFQUQgZXJyb3JzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDQyNDEKCjIwMTMtMDctMjUgMTQ6MjY6MDcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGV4dC9qcGVnL2dzdGpwZWdlbmMuYzoKCSAganBlZ2VuYzogQ2xlYW4gdXAgcmVzZXQvc3RhcnQvc3RvcCBoYW5kbGluZwoKMjAxMy0wNy0yNSAxNDoxMzoxMCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogZXh0L2pwZWcvZ3N0anBlZ2RlYy5jOgoJKiBleHQvanBlZy9nc3RqcGVnZGVjLmg6CgkgIGpwZWdkZWM6IFVzZSBiYXNlIGNsYXNzIGVycm9yIGhhbmRsaW5nIGZ1bmN0aW9uIGluc3RlYWQgb2YgcmVwbGljYXRpbmcgaXQgaGVyZQoKMjAxMy0wNy0yNSAxNDoxMjo1NiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogZXh0L2pwZWcvZ3N0anBlZ2RlYy5jOgoJICBqcGVnZGVjOiBDbGVhbiB1cCBoYW5kbGluZyBvZiByZXNldC9zdGFydC9zdG9wCgoyMDEzLTA3LTI1IDEwOjQxOjIyICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2ZpbGVzL2lkMy00MDczNDktMS50YWc6CgkqIHRlc3RzL2ZpbGVzL2lkMy00MDczNDktMi50YWc6CgkqIHRlc3RzL2ZpbGVzL2lkMy00NDcwMDAtd2NvcC50YWc6CgkgIHRlc3RzOiBmaXggdGVzdCBJRDMgdGFncyB1cCBub3QgdG8gcmVseSBvbiBkb2RneSB0eXBlZmluZGluZyBjb2RlCgkgIENoYW5nZSAweGZmIDB4ZmIgJ21wMycgbWFya2VyIHRvICdmTGFDJyBtYXJrZXIsIHNvIHdlIGNhbiBmaXgKCSAgdGhlIHR5cGVmaW5kZXIuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODEzNjgKCjIwMTMtMDctMjUgMDg6MjI6NDUgKzAyMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGF1ZGlvc2luay5jOgoJICBvc3hhdWRpb3Npbms6IGludGVyc2VjdCB0aGUgcHJvYmVkIGNhcHMgd2l0aCB0aGUgZmlsdGVyIHBhc3NlZCB0byBnZXRfY2FwcygpCgoyMDEzLTA3LTI0IDE0OjE3OjQ1ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6CgkgIGJpbjogZml4IGNvbXBpbGF0aW9uCgoyMDEzLTA3LTI0IDEyOjQyOjMxICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHB2cmF3ZGVwYXkuYzoKCSAgdnJhd2RlcGF5OiBmaXggVVlWUCBmb3JtYXQKCjIwMTMtMDctMjQgMTI6NDE6NTggKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cHZyYXdwYXkuYzoKCSAgdnJhd3BheTogZml4IFVZVlAgZm9ybWF0CgoyMDEzLTA3LTI0IDEyOjQxOjQ0ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHB2cmF3cGF5LmM6CgkgIHZyYXdwYXk6IGZpeCBjYXBzCgoyMDEzLTA3LTI0IDEwOjQ5OjAzICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIHJ0cGppdHRlcmJ1ZmZlcjogZml4IGxvY2tpbmcKCSAgVGFrZSB0aGUgbG9jayBlYXJsaWVyIHNvIHRoYXQgd2UgZG8gdGhpbmdzIHRoYXQgZm9sbG93IHdpdGggdGhlIHJpZ2h0CgkgIGxvY2tpbmcuCgoyMDEzLTA3LTIzIDE3OjQwOjAyICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJICBydHBzZXNzaW9uOiBkb24ndCB1c2UgaW52YWxpZCB0aW1lcyBpbiBSVENQIHRpbWVvdXRzCgkgIEFuIGludmFsaWQgdGltZW91dCBjYW4gYmUgY2FsY3VsYXRlZCB3aGVuIHdlIGRpc2FibGVkIFJUQ1AgYnkgc2V0dGluZyB0aGUKCSAgYmFuZHdpZHRoIHRvIDAuIE1ha2Ugc3VyZSBhbGwgY29kZSBjYW4gaGFuZGxlIHRoaXMgY2FzZS4KCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY3NDYyNgoKMjAxMy0wNy0yMyAxNzozODoyMCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSAgcnRwc2Vzc2lvbjogbG9jayBzZXNzaW9uIHdoZW4gY2hhbmdpbmcgYmFuZHdpZHRoCgkgIFRha2UgdGhlIHNlc3Npb24gbG9jayB3aGVuIGNoYW5naW5nIHRoZSBiYW5kd2lkdGggcHJvcGVydGllcyBzbyB0aGF0IHdlIGRvbid0CgkgIGVuZCB1cCB3aXRoIGluY29uc2lzdGVudCBiZWhhdmlvdXIuCgoyMDEzLTA3LTIzIDE3OjM3OjA1ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJICBzZXNzaW9uOiByZXNldCBzb21lIFJUQ1AgdmFyaWFibGVzCgkgIFRoZSBlYXJseV9zZW5kIHRpbWUgd2FzIHNldCB0byAwIGFuZCBhbHdheXMgdHJpZ2dlcmluZyBhbiBlYXJseSBSVENQIHBhY2tldC4KCjIwMTMtMDctMjMgMTU6MDM6MzEgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IEFkZCBhbGwgdGhlIG1wZWcgWERDQU0gdmFyaWFudHMKCSAgVGhpcyBzaG91bGQgY292ZXIgYWxsIGtub3duIFhEQ0FNIHZhcmlhbnRzICh3aGljaCBhcmUgYWxsIG1wZWcyIHZpZGVvKQoJICBGaXhlcyAjNjcyMjI3CgoyMDEzLTA3LTAzIDE4OjQxOjQyICswMjAwICBDYXJsb3MgUmFmYWVsIEdpYW5pIDxkdkBwc2V1ZG90ZXJtaW5hbC5vcmc+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmg6CgkgIHJ0cGJpbjogYWRkZWQgY3VzdG9tIGRvd25zdHJlYW0gc3luYyBldmVudAoJICBydHBiaW4gY2FuIG5vdyBzZW5kIGEgY3VzdG9tIGluLWJhbmQgZG93bnN0cmVhbSBldmVudCB3aGljaCBpbmZvcm1zCgkgIGRvd25zdHJlYW0gdGhhdCB0aGUgYmluIGhhcyByZWNlaXZlZCBhbiBSVENQIFNSIHBhY2tldC4gVGhpcyBpcyB1c2VmdWwKCSAgZm9yIGFwcGxpY2F0aW9ucyB3aGljaCB3YW50IHRvIGRyb3AgdGhlIGluaXRpYWwgdW5zeW5jaHJvbml6ZWQgcmVjZWl2ZWQKCSAgUlRQIHBhY2tldHMuCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDM1NjAKCSAgU2lnbmVkLW9mZi1ieTogQ2FybG9zIFJhZmFlbCBHaWFuaSA8ZHZAcHNldWRvdGVybWluYWwub3JnPgoKMjAxMy0wNy0yMiAxODowMDoxNiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuYzoKCSAgZGVpbnRlcmxhY2U6IGZpeCBvbi10aGUtZmx5IGNoYW5naW5nIG9mICJtb2RlIiBhbmQgImZpZWxkcyIgcHJvcGVydGllcwoJICBXZSBjYWxsIHNldGNhcHMoKSB0byByZWNvbmZpZ3VyZSBvdXJzZWx2ZXMsIGJ1dCB3ZSBuZWVkIHRvIHBhc3MKCSAgdGhlIGN1cnJlbnQgKnNpbmsqIGNhcHMsIG5vdCB0aGUgc291cmNlIGNhcHMgdGhlbi4gQWxzbyBmaXggYQoJICBjYXBzIGxlYWsuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NDE1OTkKCjIwMTMtMDctMjIgMTU6MjM6MzkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOgoJICB3YXZwYXJzZTogQWRkIHN1cHBvcnQgZm9yIGdyb3VwLWlkIGluIHRoZSBzdHJlYW0tc3RhcnQgZXZlbnQKCjIwMTMtMDctMjIgMTU6MjM6MjAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogQWRkIHN1cHBvcnQgZm9yIGdyb3VwLWlkIGluIHRoZSBzdHJlYW0tc3RhcnQgZXZlbnQKCjIwMTMtMDctMjIgMTU6MjM6MTEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzoKCSAgcnRwc2Vzc2lvbjogQWRkIHN1cHBvcnQgZm9yIGdyb3VwLWlkIGluIHRoZSBzdHJlYW0tc3RhcnQgZXZlbnQKCjIwMTMtMDctMjIgMTU6MjI6NTUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguaDoKCSAgbWF0cm9za2FkZW11eDogQWRkIHN1cHBvcnQgZm9yIGdyb3VwLWlkIGluIHRoZSBzdHJlYW0tc3RhcnQgZXZlbnQKCjIwMTMtMDctMjIgMTU6MjI6NDcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguaDoKCSAgcXRkZW11eDogQWRkIHN1cHBvcnQgZm9yIGdyb3VwLWlkIGluIHRoZSBzdHJlYW0tc3RhcnQgZXZlbnQKCjIwMTMtMDctMjIgMTU6MjI6MzYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzoKCSogZ3N0L2Zsdi9nc3RmbHZkZW11eC5oOgoJICBmbHZkZW11eDogQWRkIHN1cHBvcnQgZm9yIGdyb3VwLWlkIGluIHRoZSBzdHJlYW0tc3RhcnQgZXZlbnQKCjIwMTMtMDctMjIgMTU6MjI6MTYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5oOgoJICBhdmlkZW11eDogQWRkIHN1cHBvcnQgZm9yIGdyb3VwLWlkIGluIHRoZSBzdHJlYW0tc3RhcnQgZXZlbnQKCjIwMTMtMDctMjIgMTU6MjE6NDkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGV4dC9kdi9nc3RkdmRlbXV4LmM6CgkqIGV4dC9kdi9nc3RkdmRlbXV4Lmg6CgkgIGR2ZGVtdXg6IEFkZCBzdXBwb3J0IGZvciBncm91cC1pZCBpbiB0aGUgc3RyZWFtLXN0YXJ0IGV2ZW50CgoyMDEzLTA3LTE5IDIyOjU5OjE1ICswMjAwICBNYXRoaWV1IER1cG9uY2hlbGxlIDxtYXRoaWV1LmR1cG9uY2hlbGxlQGVwaXRlY2guZXU+CgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyMi5jOgoJICB2aWRlb21peGVyOiB1c2UgZ3N0X3V0aWxfdWludDY0X3NjYWxlKl9yb3VuZC4KCSAgVGhlcmUgY291bGQgYmUgYSBjYXNlIHdoZXJlOgoJICAxKSB5b3UgZG8gYSBuZXcgc2V0X2NhcHMgYWZ0ZXIgYnVmZmVycyBoYXZlIGJlZW4gcHJvY2Vzc2VkLgoJICAyKSB0c19vZmZzZXQgZ2V0cyBzZXQgdG8gYSBkaWZmZXJlbnQgdmFsdWUsIGVnIDAuMDMzMzMzMzMzCgkgIDMpIHlvdXIgcGFkcyBnZXQgRU9TLCBidXQgdGhlIGNoZWNrIGRvciB0aGF0IGRvZXNuJ3Qgd29yawoJICBiZWNhdXNlIHlvdSB1c2UgdHNfb2Zmc2V0ICsgYSB0cnVuY2F0ZWQgdmFsdWUgPCBzZWdtZW50LnN0b3AKCSAgNCkgc28gaW4gdGhlIG5leHQgY29sbGVjdGVkLCB5b3UgZW5kIHVwIGNvbXBhcmluZyBmb3IgZXhhbXBsZToKCSAgMC45OTk5OTk5OTk5ID4gMS4sIHdoaWNoIGlzIGZhbHNlIGFuZCBtZWFucyB5b3UgZG9uJ3Qgc2VuZCBFT1MuCgkgIEFsc28gYWRkcyBzY2FsZV9yb3VuZCBpbiB0d28gb3RoZXIgcGxhY2VzIHdoZXJlIGl0IHBvdGVudGlhbGx5IGNvdWxkCgkgIGhhdmUgY2F1c2VkIHByb2JsZW1zLgoKMjAxMy0wNy0xNSAxNzo1NToxOSAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXhfZm91cmNjLmg6CgkgIHF0ZGVtdXg6IEFkZCBXUkxFIHN1cHBvcnQKCjIwMTMtMDctMTkgMTk6MzU6MjYgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkqIGdzdC9pc29tcDQvcXRkZW11eF9mb3VyY2MuaDoKCSAgcXRkZW11eDogbWFrZSBmaWxlcyBmcm9tIFZpdm90ZWsgY2FtZXJhIHBsYXkKCSAgU2tpcCB0cmFja3Mgb2YgJ3Zpdm8nIHN1YnR5cGUgd2l0aCBlbXB0eSBzdHNkIGluc3RlYWQgb2YKCSAgZXJyb3Jpbmcgb3V0IHNheWluZyB0aGF0IHRoZSBmaWxlIGlzIGJyb2tlbi4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5OTc5MQoKMjAxMy0wNy0xOSAxNzoxNDowNiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4LmM6CgkgIHF0bXV4OiB3aGVuIHN0cmVhbWluZyBkb24ndCB0cnkgdG8gc2VlayB3aGVuIHN0b3BwaW5nCgkgIEl0IG1pZ2h0IGNhdXNlIGVycm9ycyBpbiBzaW5rcyB0aGF0IGFyZSBub3Qgc2Vla2FibGUgYW5kCgkgIGhhdmUgcmVwb3J0ZWQgdGhpcyAobGlrZSBlLmcuIGZkc2luaykKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5NjIyOAoKMjAxMy0wNy0xOSAxNzoyNjo1NCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBzaW1wbGlmeSBzb21lIGhlbHBlcnMKCSAgU29tZSBoZWxwZXIgZnVuY3Rpb25zIGFyZSBub3QgbmVlZGVkIGFueW1vcmUgb3IgY2FuIGJlIHNpbXBsaWZpZWQuCgoyMDEzLTA3LTE5IDE3OjEyOjM3ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IGZvciBub24tcmF3IHZpZGVvLCBtb3ZlIHBhbGV0dGUgaW4gY2FwcwoJICBXZSBvbmx5IG5lZWQgdG8gYXBwZW5kIHRoZSBwYWxldHRlIHRvIHJhdyB2aWRlbyBidWZmZXJzLCBub24tcmF3IHZpZGVvIGhhcyB0aGUKCSAgcGFsZXR0ZSBpbiB0aGUgY2FwcyBzdGlsbC4KCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwNDI5MgoKMjAxMy0wNy0xOSAwMTo0OToyMCArMDIwMCAgQXJuYXVkIFZyYWMgPGF2cmFjQGZyZWVib3guZnI+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogbml0cGlja2luZyBpbiBlc2RzIHBhcnNpbmcKCjIwMTMtMDctMTkgMDE6NDk6MDcgKzAyMDAgIEFybmF1ZCBWcmFjIDxhdnJhY0BmcmVlYm94LmZyPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IHNldCBwcm9wZXIgY2FwcyBmb3IgbXBlZy0xIGF1ZGlvCgkgIFJlbW92ZSBBQUMgc3BlY2lmaWMgZmllbGRzIGZyb20gbXBlZy0xIGF1ZGlvIGNhcHMsIHJlbW92ZSBhc3N1bXB0aW9uCgkgIHRoYXQgdGhlIG1wZWcxIGF1ZGlvIGxheWVyIGlzIDMsIGFuZCBzZXQgYHBhcnNlZCcgZmllbGQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDQ1NDgKCjIwMTMtMDYtMTcgMjE6Mjc6MzcgKzAyMDAgIEFybmF1ZCBWcmFjIDxhdnJhY0BmcmVlYm94LmZyPgoKCSogZXh0L3ZweC9nc3R2cDhkZWMuaDoKCSogZXh0L3ZweC9nc3R2cDhlbmMuaDoKCSogZXh0L3ZweC9nc3R2cDlkZWMuaDoKCSogZXh0L3ZweC9nc3R2cDllbmMuaDoKCSAgdnB4OiBmaXggY29tcGlsYXRpb24gd2hlbiBlbmNvZGVyIG9yIGRlY29kZXIgaGVhZGVycyBhcmUgbm90IGluc3RhbGxlZAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA0NTQ3CgoyMDEzLTA3LTE2IDIwOjQxOjE1IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy92aWRlb2Nyb3AuYzoKCSAgdmlkZW9jcm9wOiBGaXggdW5pdCBmb3IgR1JBWTE2IGZvcm1hdHMKCjIwMTMtMDctMTYgMjI6MTc6MTcgKzAyMDAgIEFybmF1ZCBWcmFjIDxhdnJhY0BmcmVlYm94LmZyPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IHJlbW92ZSBjaGFwdGVyIHN0cmVhbQoJICBSZW1vdmUgYWxsIHN0cmVhbXMgdGhhdCBhcmUgYWN0dWFsbHkgdGFibGUgb2YgY29udGVudHMsIHNpbmNlIHdlIHdpbGwKCSAgbmV2ZXIgbmVlZCB0aGUgZGF0YSBhZnRlciBwYXJzaW5nIHRoZW0uCgoyMDEzLTA3LTE2IDIxOjU5OjM3ICswMjAwICBBcm5hdWQgVnJhYyA8YXZyYWNAZnJlZWJveC5mcj4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBzZW5kIGdhcCBldmVudCBmb3Igc3BhcnNlIHN0cmVhbXMgaW4gcHVzaCBtb2RlCgkgIFRoaXMgYWxsb3dzIHRvIHByZS1yb2xsIGF0IGxlYXN0IGlmIHRoZSBuZXh0IHN1YnRpdGxlIGJ1ZmZlcgoJICBpcyBmYXIgYXdheS4KCjIwMTMtMDctMTYgMjE6NTY6MDcgKzAyMDAgIEFybmF1ZCBWcmFjIDxhdnJhY0BmcmVlYm94LmZyPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IGRvIG5vdCB1c2UgaW5kZXhlcyBmcm9tIHNwYXJzZSBzdHJlYW0gd2hlbiBzZWVraW5nIGluIHB1c2ggbW9kZQoJICBUaGlzIG1ha2VzIHNlZWtpbmcgbW9yZSBhY2N1cmF0ZSBpbiBwdXNoIG1vZGUsIHNpbmNlIHRoZSBwcmV2aW91cwoJICBrZXlmcmFtZSBvbiBhIHNwYXJzZSBzdHJlYW0gbWlnaHQgYmUgZmFyIGF3YXkuCgoyMDEzLTA3LTE2IDIxOjA0OjA3ICswMjAwICBBcm5hdWQgVnJhYyA8YXZyYWNAZnJlZWJveC5mcj4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBhZHZlcnRpc2Ugc3VidGl0bGUgc3RyZWFtcyBhcyBzcGFyc2UKCjIwMTMtMDctMTcgMTc6MTE6NDQgKzAyMDAgIEFybmF1ZCBWcmFjIDxhdnJhY0BmcmVlYm94LmZyPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hc3Ryb2thZGVtdXg6IGRvIG5vdCBwdXNoIGRpc2NvbnQgYnVmZmVycyBpZiB0aGV5IGFyZW4ndCBkaXNjb250CgkgIFVuc2V0IHRoZSBkaXNjb250IGZsYWcgaW5zdGVhZCBvZiBwb3Nzc2libHkgcHVzaGluZyBhIGJ1ZmZlciB3aXRoCgkgIGEgZmxhZyB0aGF0J3Mgc3RpbGwgc2V0LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjgyMTEwCgoyMDEzLTA3LTE3IDE1OjEwOjAwICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IGV4dHJhY3QgdGhlIHBhbGV0dGUgZnJvbSBzdHNkCgkgIFNvbWV0aW1lcyBhIHBhbGV0dGUgaXMgaW5zaWRlIHRoZSBzdHNkLCBleHRyYWN0IGl0IGluc3RlYWQgb2YgYWx3YXlzIHVzaW5nCgkgIHRoZSBkZWZhdWx0IG9uZQoKMjAxMy0wNy0xNyAxNDozMDoxNiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogZ3N0L2dvb20yazEvZ3N0Z29vbS5jOgoJICBnb29tMmsxOiBGaXggZXZlbnQgaGFuZGxpbmcgYW5kIG5lZ290aWF0ZSBhcyBzb29uIGFzIHBvc3NpYmxlCgoyMDEzLTA3LTE3IDE0OjI3OjU3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBnc3QvZ29vbS9nc3Rnb29tLmM6CgkgIGdvb206IEZpeCBldmVudCBoYW5kbGluZyBhbmQgbmVnb3RpYXRlIGFzIHNvb24gYXMgcG9zc2libGUKCjIwMTMtMDctMTEgMTk6NDU6MTcgKzAyMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8eWxhdHV5YUBnbWFpbC5jb20+CgoJKiBzeXMvb3N4dmlkZW8vb3N4dmlkZW9zaW5rLm06CgkgIG9zeHZpZGVvc2luazogd2FybiBhYm91dCB0aGUgZnV0dXJlIGRlcHJlY2F0aW9uIG9mIHRoZSAiZW1iZWQiIHByb3BlcnR5CgoyMDEzLTA3LTE3IDA5OjU2OjAxICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IGFkZCBzdXBwb3J0IGZvciBXUkFXCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDQyOTIKCjIwMTMtMDctMTcgMDk6NTQ6NTggKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogcGFsZXR0ZSBpcyBhcHBlbmRlZCB0byBidWZmZXJzLCBub3QgaW4gY2FwcwoJICBGaXggdGhlIHBhbGV0dGUgaGFuZGxpbmcsIGluIDEuMCB3ZSBhcHBlbmQgdGhlIHBhbGV0dGUgdG8gdGhlIGJ1ZmZlciBpbnN0ZWFkIG9mCgkgIHBsYWNpbmcgaXQgb24gdGhlIGNhcHMuCgkgIFNlZSBhbHNvIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDQyOTIKCjIwMTMtMDctMTYgMTU6Mzc6NDkgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGdzdHBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wMnRwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDRncGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXA0dnBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wYXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wdnBheS5jOgoJICBydHA6IFVzZSBnc3RfYWRhcHRlcl90YWtlX2J1ZmZlcl9mYXN0KCkgd2hlcmUgcG9zc2libGUgaW4gUlRQIHBheWxvYWRlcnMKCjIwMTMtMDctMTUgMTY6MjQ6MDcgKzAyMDAgIEFybmF1ZCBWcmFjIDxhdnJhY0BmcmVlYm94LmZyPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IHJlc2V0IHNlZ21lbnQgb24gZmx1c2ggc3RvcAoJICBjY2EyZjU1NWQxNCBpbnRyb2R1Y2VzIGEgcmVncmVzc2lvbiwgd2hlcmUgdGhlIGRlbXV4IHNlZ21lbnQgaXMgbm90CgkgIHJlc2V0IG9uIGZsdXNoIHN0b3AsIHNvIHRoZSBuZXh0IHVwc3RyZWFtIHNlZ21lbnQgZXZlbnQgd2lsbCBjYWxjdWxhdGUKCSAgYW4gaW52YWxpZCBiYXNlIHRpbWUgb24gdGhlIG5ldyBzZWdtZW50IHRvIGJlIHNlbnQgZG93bnN0cmVhbS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwNDI1NQoKMjAxMy0wNy0wNiAxNzoyMDo0OSArMDIwMCAgTWF0ZWogS25vcHAgPG1hdGVqLmtub3BwQGdtYWlsLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguaDoKCSAgcXRkZW11eDogb2Zmc2V0IHNhbXBsZXMgYWNjb3JkaW5nIHRvIGVkaXQgbGlzdAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzAwMjY0CgoyMDEzLTA3LTE0IDEyOjUwOjEzICsxMjAwICBEb3VnbGFzIEJhZ25hbGwgPGRvdWdsYXNAaGFsby5nZW4ubno+CgoJKiB0ZXN0cy9leGFtcGxlcy9zcGVjdHJ1bS9zcGVjdHJ1bS1leGFtcGxlLmM6CgkgIGxldmVsOiBGaXggdGhlIHNwZWN0cnVtIGV4YW1wbGUgZm9yIDEuMAoJICBUaGUgIm1lc3NhZ2UiIHByb3BlcnR5IGhhcyBiZWVuIHJlcGxhY2VkIGJ5ICJwb3N0LW1lc3NhZ2VzIi4KCSAgUHJlLXBhdGNoIG91dHB1dDoKCSAgKHRlc3Rfc3BlY3RydW06MjMxMDEpOiBHTGliLUdPYmplY3QtV0FSTklORyAqKjogZ19vYmplY3Rfc2V0X3ZhbGlzdDoKCSAgb2JqZWN0IGNsYXNzIGBHc3RTcGVjdHJ1bScgaGFzIG5vIHByb3BlcnR5IG5hbWVkIGBtZXNzYWdlJwoJICBOZXcgc3BlY3RydW0gbWVzc2FnZSwgZW5kdGltZSAwOjAwOjAwLjEwMDAwMDAwMAoJICAodGVzdF9zcGVjdHJ1bToyMzEwMSk6IEdTdHJlYW1lci1DUklUSUNBTCAqKjoKCSAgZ3N0X3ZhbHVlX2xpc3RfZ2V0X3ZhbHVlOiBhc3NlcnRpb24gYEdTVF9WQUxVRV9IT0xEU19MSVNUICh2YWx1ZSknIGZhaWxlZAoJICBbLi4uXQoJICBQb3N0LXBhdGNoOgoJICBOZXcgc3BlY3RydW0gbWVzc2FnZSwgZW5kdGltZSAwOjAwOjAwLjEwMDAwMDAwMAoJICBiYW5kIDAgKGZyZXEgNDAwKTogbWFnbml0dWRlIC02NS45ODg3NzcgZEIgcGhhc2UgMS41MzMzOTcKCSAgYmFuZCAxIChmcmVxIDEyMDApOiBtYWduaXR1ZGUgLTY1LjU0NTU2MyBkQiBwaGFzZSAtMC43ODA5MDAKCSAgYmFuZCAyIChmcmVxIDIwMDApOiBtYWduaXR1ZGUgLTY0Ljc5MTk0NiBkQiBwaGFzZSAtMC43OTk2MTEKCSAgYmFuZCAzIChmcmVxIDI4MDApOiBtYWduaXR1ZGUgLTY0LjU1NjE3NSBkQiBwaGFzZSAtMC4wNjM2MTUKCSAgWy4uLl0KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwNDE3OQoKMjAxMy0wNy0xMyAyMDo1NjoyNiArMDIwMCAgTWF0ZWogS25vcHAgPG1hdGVqLmtub3BwQGdtYWlsLmNvbT4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWFjcGFyc2UuYzoKCSAgYWFjcGFyc2U6IGJlIGxlc3MgdmVyYm9zZSB3aGVuIHBhcnNpbmcgTE9BUyBzdHJlYW1zCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDQxNjIKCjIwMTMtMDctMTIgMTI6MzE6MzkgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmg6CgkgIHNpbms6IGFsYXcvbXVsYXcgY2FwcyBkb24ndCBoYXZlIGEgbGF5b3V0IHByb3BlcnR5CgoyMDEzLTA3LTEyIDEyOjI3OjUzICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3B1bHNlL3B1bHNldXRpbC5jOgoJICBwdWxzZTogcmVsYXggbXVsYXcgYW5kIGFsYXcgZm9ybWF0IGNoZWNrcwoJICBUaGUgYXVkaW8gbGlicmFyeSBjb25zaWRlcnMgdGhlbSBhcyBlbmNvZGVkIGZvcm1hdHMgYW5kIGRvZXMgbm90IGZpbGwgaW4gdGhlCgkgIHNhbXBsZSB3aWR0aC4gVGhlIGF1ZGlvIHJpbmdidWZmZXJzIGlkZW50aWZpZXMgdGhlIGZvcm1hdCBhcyBhbGF3L211bGF3IGFuZCB0aGF0CgkgIGlzIGFsd2F5cyA4IGJpdHMuCgoyMDEzLTA3LTExIDE2OjEzOjA1ICswMjAwICBNYXRlaiBLbm9wcCA8bWF0ZWoua25vcHBAZ21haWwuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkqIGdzdC9pc29tcDQvcXRkZW11eC5oOgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXhfZm91cmNjLmg6CgkqIGdzdC9pc29tcDQvcXRkZW11eF90eXBlcy5jOgoJICBxdGRlbXV4OiB1bnNlbGVjdCBpbnN0ZWFkIG9mIGlnbm9yaW5nIGRpc2FibGVkIHRyYWNrLCBkZXRlY3QgY2hhcHRlciB0cmFjawoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA0MDA3CgoyMDEzLTA3LTExIDIwOjQxOjIzIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOgoJICBzb3VwaHR0cHNyYzogaWdub3JlIGVycm9ycyBmcm9tIEhFQUQgcmVxdWVzdAoJICBIRUFEIHJlcXVlc3RzIGFyZSB1c2VkIHRvIGNoZWNrIHRoZSBzZXJ2ZXIgaGVhZGVycyB0byBzZWUgaWYgaXQKCSAgc2Vla2FibGUuIElnbm9yZSBlcnJvcnMgZnJvbSB0aG9zZSByZXF1ZXN0cyBhcyB0aGV5IHNob3VsZG4ndCBiZQoJICBjcml0aWNhbC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwNDA1MwoKMjAxMy0wNy0xMiAwMzoyNDowOCArMDgwMCAgS3lvc3VrZSBOZWtvbXVyYSA8c3VwZXJjYXRleHBlcnRAZ21haWwuY29tPgoKCSogZ3N0L2F1ZGlvZngvYXVkaW9lY2hvLmM6CgkgIGF1ZGlvZWNobzogRml4IGhhbmRsaW5nIG9mIGRlbGF5IHByb3BlcnR5IGluIFBMQVlJTkcvUEFVU0VEIHN0YXRlCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDM5MDEKCjIwMTMtMDctMDkgMTc6NTY6NTcgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBtdXguYzoKCSAgcnRwbXV4OiBFbmFibGUgcHJveHkgY2FwcyBvbiB0aGUgc3JjIHBhZHMKCjIwMTMtMDctMTEgMTY6NTc6MTUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgQmFjayB0byBkZXZlbG9wbWVudAoKPT09IHJlbGVhc2UgMS4xLjIgPT09CgoyMDEzLTA3LTExIDE1OjU4OjUxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBDaGFuZ2VMb2c6CgkqIE5FV1M6CgkqIFJFTEVBU0U6CgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5zaWduYWxzOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tMTM5NC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYWNvbG9yLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFwZXRhZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb2Z4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvcGFyc2Vycy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9kZXRlY3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXZpLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhY2FzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhaXJvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWN1dHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWludGVybGFjZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdG1mLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZmVjdHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXF1YWxpemVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZseGRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZGtwaXhidWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tMmsxLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWljeWRlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlkM2RlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWltYWdlZnJlZXplLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVybGVhdmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taXNvbXA0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWphY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanBlZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sZXZlbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tYXRyb3NrYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tb25vc2NvcGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlmaWxlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpcGFydC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uYXZpZ2F0aW9udGVzdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3M0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zc2F1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBuZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wdWxzZWF1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlcGxheWdhaW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cG1hbmFnZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRzcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaGFwZXdpcGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hvdXQyc2VuZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbXB0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWN0cnVtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXRhZ2xpYi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi11ZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW80bGludXgyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvYm94LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvY3JvcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2ZpbHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb21peGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZweC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14aW1hZ2VzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teTRtZW5jLnhtbDoKCSogZ3N0LXBsdWdpbnMtZ29vZC5kb2FwOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIFJlbGVhc2UgMS4xLjIKCjIwMTMtMDctMTEgMTU6NTg6MjkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIHBvL2FmLnBvOgoJKiBwby9hei5wbzoKCSogcG8vYmcucG86CgkqIHBvL2NhLnBvOgoJKiBwby9jcy5wbzoKCSogcG8vZGEucG86CgkqIHBvL2RlLnBvOgoJKiBwby9lbC5wbzoKCSogcG8vZW5fR0IucG86CgkqIHBvL2VvLnBvOgoJKiBwby9lcy5wbzoKCSogcG8vZXUucG86CgkqIHBvL2ZpLnBvOgoJKiBwby9mci5wbzoKCSogcG8vZ2wucG86CgkqIHBvL2h1LnBvOgoJKiBwby9pZC5wbzoKCSogcG8vaXQucG86CgkqIHBvL2phLnBvOgoJKiBwby9sdC5wbzoKCSogcG8vbHYucG86CgkqIHBvL210LnBvOgoJKiBwby9uYi5wbzoKCSogcG8vbmwucG86CgkqIHBvL29yLnBvOgoJKiBwby9wbC5wbzoKCSogcG8vcHRfQlIucG86CgkqIHBvL3JvLnBvOgoJKiBwby9ydS5wbzoKCSogcG8vc2sucG86CgkqIHBvL3NsLnBvOgoJKiBwby9zcS5wbzoKCSogcG8vc3IucG86CgkqIHBvL3N2LnBvOgoJKiBwby90ci5wbzoKCSogcG8vdWsucG86CgkqIHBvL3ZpLnBvOgoJKiBwby96aF9DTi5wbzoKCSogcG8vemhfSEsucG86CgkqIHBvL3poX1RXLnBvOgoJICBVcGRhdGUgLnBvIGZpbGVzCgoyMDEzLTA3LTA5IDE1OjM0OjA0ICswMjAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPHlsYXR1eWFAZ21haWwuY29tPgoKCSogc3lzL29zeHZpZGVvL29zeHZpZGVvc2luay5oOgoJKiBzeXMvb3N4dmlkZW8vb3N4dmlkZW9zaW5rLm06CgkgIG9zeHZpZGVvc2luazogZGVmZXIgdGhlIHdpbmRvdyBoYW5kbGUgc2V0dXAgdG8gdGhlIG1haW4gdGhyZWFkCgoyMDEzLTA3LTA5IDE1OjMzOjE4ICswMjAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPHlsYXR1eWFAZ21haWwuY29tPgoKCSogc3lzL29zeHZpZGVvL29zeHZpZGVvc2luay5tOgoJICBvc3h2aWRlb3Npbms6IGRlZmF1bHQgdG8gdGhlIG1haW4gaW4gY2FzZSB3ZSBhcmUgbm90IHNldHVwIHlldAoKMjAxMy0wNy0wNyAyMjoxNjowNSArMDIwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDx5bGF0dXlhQGdtYWlsLmNvbT4KCgkqIHN5cy9vc3h2aWRlby9vc3h2aWRlb3NpbmsubToKCSAgb3N4dmlkZW9zaW5rOiBjbG9zZSB0aGUgaW50ZXJuYWwgd2luZG93IGNvcnJlY3RseQoKMjAxMy0wNy0wNyAyMToxNDoyMiArMDIwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDx5bGF0dXlhQGdtYWlsLmNvbT4KCgkqIHN5cy9vc3h2aWRlby9vc3h2aWRlb3NpbmsuaDoKCSogc3lzL29zeHZpZGVvL29zeHZpZGVvc2luay5tOgoJICBvc3h2aWRlb3Npbms6IG9ubHkgY3JlYXRlIHRoZSBOUyBhcHAgdGhyZWFkIGZvciBDb2NvYSBvbmNlCgkgIFRoZSBoZWxwZXIgdGhyZWFkIGZvciBDb2NvYSwgaW4gY2FzZSBubyBOUyBydW4gbG9vcCBpcyBydW5uaW5nLAoJICBzaG91bGQgYmUgc3RhcnRlZCBvbmx5IG9uY2UgYW5kIHNoYXJlZCBhY3Jvc3MgYWxsIHRoZSBpbnN0YW5jZXMKCSAgcnVubmluZwoKMjAxMy0wNy0wOSAxOToxMDoxNyArMDIwMCAgTWF0ZWogS25vcHAgPG1hdGVqLmtub3BwQGdtYWlsLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBjb3JyZWN0IGFyZ3VtZW50IG9yZGVyIGluIGdzdF91dGlsX3VpbnQ2NF9zY2FsZV9pbnRfcm91bmQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwMzM1MAoKMjAxMy0wNy0wOSAxNzo0Mjo1OSAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cG11eC5jOgoJICBydHBtdXg6IEtlZXAgY2FwcyBvcmRlciBmcm9tIHRoZSBwZWVyIG9yIHRoZSBmaWx0ZXIKCjIwMTMtMDctMDkgMTI6NDI6MTcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIyLmM6CgkgIHZpZGVvbWl4ZXI6IEZpeCBoYW5kbGluZyBvZiBidWZmZXJzIHdpdGhvdXQgYSBkdXJhdGlvbgoJICBXZSdsbCBoYXZlIHRvIHBvcCBidWZmZXIgZnJvbSBjb2xsZWN0cGFkcyBhbmQgc3RvcmUgaXQKCSAgaW50ZXJuYWxseSBvbmx5IHRvIGdldCB0aGUgdGltZXN0YW1wIG9mIHRoZSBuZXh0IGJ1ZmZlci4KCSAgSWYgd2UgY29udGludWUgdG8ga2VlcCBpdCBpbiBjb2xsZWN0cGFkcywgbm8gbmV3IGJ1ZmZlcgoJICB0byBjYWxjdWxhdGUgdGhlIGVuZCB0aW1lIHdpbGwgZXZlciBhcnJpdmUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDM3NDMKCjIwMTMtMDctMDkgMTE6NTM6MDcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIyLmM6CgkgIHZpZGVvbWl4ZXI6IEZpeCBuZWdvdGlhdGlvbiB3aXRoIDAvMSBmcmFtZXJhdGVzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDM3NDMKCjIwMTMtMDctMDkgMTE6MTc6NTkgKzAyMDAgIEpvbmFzIEhvbG1iZXJnIDxqb25hc2hnQGF4aXMuY29tPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thZGVtdXg6IFVubG9jayBzdHJlYW0gbG9jayBhZnRlciB1c2UKCSAgU3RyZWFtIGxvY2sgb2Ygc2luayBwYWQgd2FzIG5vdCB1bmxvY2tlZCBhZnRlciBub24tdXBkYXRpbmcgc2Vlay4KCjIwMTMtMDYtMjcgMTM6MjY6MzEgKzAyMDAgIE9nbnlhbiBUb25jaGV2IDxvZ255YW5AYXhpcy5jb20+CgoJKiBnc3QvbXVsdGlwYXJ0L211bHRpcGFydG11eC5jOgoJICBtdWx0aXBhcnRtdXg6IFJlLXNldCBuZWVkX3NlZ21lbnQgZmxhZyBhZnRlciBGTFVTSF9TVE9QCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDMxODIKCjIwMTMtMDctMDUgMTE6NTE6MDQgKzAyMDAgIE1pY2hhZWwgT2xicmljaCA8bS5vbGJyaWNoQHBlbmd1dHJvbml4LmRlPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSAgdjRsMjogYnVmZmVycG9vbDogZG9uJ3QgZm9yZ2V0IHRvIHJlbGVhc2UgYnVmZmVyIG9uIGVycm9yCgkgIElmIHRoZSBwb29sIGlzIHN0b3BwZWQgd2hpbGUgZ3N0X3Y0bDJfYnVmZmVyX3Bvb2xfZHFidWYoKSB3YWl0cyBmb3IgYQoJICBidWZmZXIgdGhlbiB0aGUgcmV0dXJuIHZhbHVlIGlzIEdTVF9GTE9XX0ZMVVNISU5HLiBJbiB0aGlzIGNhc2UgdGhlIGJ1ZmZlcgoJICB0byBxdWV1ZSBtdXN0IGFsc28gYmUgcmVsZWFzZWQuIE90aGVyd2lzZSBpcyB3aWxsIG5ldmVyIGJlIGRlbGV0ZWQgb3IKCSAgcmV0dXJuZWQgdG8gaXRzIHBvb2wuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDM3NjQKCjIwMTMtMDctMDggMTQ6MTU6MTAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cC1wYXlsb2FkaW5nLmM6CgkgIHJ0cDogRmFpbCBwYXlsb2FkaW5nIHVuaXQgdGVzdCBpZiBhbiBlcnJvciBtZXNzYWdlIGlzIHJlY2VpdmVkCgoyMDEzLTA3LTA4IDE0OjA5OjM3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNwcGF5LmM6CgkgIHJ0cGgyNjNwcGF5OiBEb24ndCBwYXNzIHVwc3RyZWFtIGZpbHRlciBjYXBzIHRvIGRvd25zdHJlYW0KCSAgRG93bnN0cmVhbSB1c3VhbGx5IGNhbid0IGFjY2VwdCB2aWRlby94LWgyNjMgYnV0IG9ubHkgYXBwbGljYXRpb24veC1ydHAsCgkgIHNvIHdlIHdvdWxkIGFsd2F5cyBnZXQgYW4gZW1wdHkgaW50ZXJzZWN0aW9uIGhlcmUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDI2MzIKCjIwMTMtMDctMDUgMjI6MDA6MzcgKzAyMDAgIFBpb3RyIERyxIVnIDxwaW90cmRyYWdAZ21haWwuY29tPgoKCSogcG8vUE9URklMRVMuaW46CgkgIHBvOiB1cGRhdGUgUE9URklMRVMuaW4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwMzY4NQoKMjAxMy0wNy0wMiAxMToxMzoyNSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogYXZvaWQgc29tZSBzdHJkdXAKCjIwMTMtMDctMDIgMTA6Mzc6NTAgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IGFkZCBzZWxlY3Qtc3RyZWFtIHNpZ25hbAoJICBBZGQgYSBzaWduYWwgdG8gbGV0IHRoZSBhcHAgc2VsZWN0IHdoYXQgc3RyZWFtcyB3aWxsIGJlIHNlbGVjdGVkLgoJICBTZWUgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYzNDQxOQoKMjAxMy0wNy0wMiAxMDozNzozNSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogYXZvaWQgc3RyZHVwCgoyMDEzLTA3LTAyIDEwOjEyOjE3ICswMjAwICBKLiBSaWNrIFJhbXN0ZXR0ZXIgPHJpY2sucmFtc3RldHRlckBnbWFpbC5jb20+CgoJKiBnc3QvcnRwL1JFQURNRToKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6CgkgIHJ0cDogRml4IGRvY3VtZW50YXRpb24gYW5kIGNvbW1lbnRzIHRvIHVzZSBydHBiaW4gaW5zdGVhZCBvZiBvbGQgZ3N0cnRwYmluCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDM0MjYKCjIwMTMtMDctMDEgMTY6NTU6MDEgKzAyMDAgIE1pY2hhZWwgT2xicmljaCA8bS5vbGJyaWNoQHBlbmd1dHJvbml4LmRlPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICB2NGwyOiBkb24ndCBleHRyYWN0IGRhdGEgZnJvbSBjYXBzIHR3aWNlCgkgIGdzdF92aWRlb19pbmZvX2Zyb21fY2FwcygpIGFsd2F5cyBleHRyYWN0IHdpZHRoLCBoZWlnaHQsIGludGVybGFjZSBtb2RlIGFuZAoJICBmcmFtZXJhdGUgbm93LiBJdCBpcyBubyBsb25nZXIgbmVjZXNzYXJ5IHRvIGRvIGl0IGFnYWluIGZvciBlbmNvZGVkCgkgIGZvcm1hdHMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDMzOTkKCjIwMTMtMDYtMjAgMDk6NDE6NDggLTAzMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8eWxhdHV5YUBnbWFpbC5jb20+CgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5oOgoJICBzb3VwaHR0cHNyYzogYWxzbyBjb25zaWRlciBzdG9wIHBvc2l0aW9ucyBpbiBzZWVrcwoJICBVc2Ugc2VlayBzdG9wIHBvc2l0aW9uIGFzIHJhbmdlIGVuZCBmb3IgcmVxdWVzdHMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwMjIwNgoKMjAxMy0wNi0xOSAxNDowNjo0MCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuaDoKCSAgc291cGh0dHBzcmM6IGFsbG93IHNlZWtzIGluIHJlYWR5CgkgIE9uIGlzX3NlZWthYmxlLCBjaGVjayBpZiB0aGUgc2VydmVyJ3MgaGVhZGVycyBoYXZlIGFscmVhZHkgYmVlbgoJICByZWNlaXZlZC4gSWYgbm90LCBkbyBhIEhFQUQgcmVxdWVzdCB0byBnZXQgdGhlbSBiZWZvcmUgcmVzcG9uZGluZwoJICB0byBiYXNlc3JjLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzAyMjA2CgoyMDEzLTA3LTAxIDE3OjI4OjU1ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBhZGQgc2lnbmFsIHRvIG5vdGlmeSBvZiB0aGUgU0RQCgkgIFRoaXMgd2F5LCB0aGUgYXBwIGNhbiBsb29rIGFuZCBtb2RpZnkgdGhlIFNEUC4KCjIwMTMtMDYtMjEgMTg6MTA6MjggKzAyMDAgIEtpc2hvcmUgQXJlcGFsbGkgPGtpc2hvcmUuYXJlcGFsbGlAZ21haWwuY29tPgoKCSogZXh0L2dka19waXhidWYvZ3N0Z2RrcGl4YnVmb3ZlcmxheS5jOgoJICBnZGtwaXhidWZvdmVybGF5OiBBbGxvdyBuZWdhdGl2ZSBvZmZzZXRzIHRvIHNwZWNpZnkgb2Zmc2V0IGZyb20gYm90dG9tL3JpZ2h0CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDI4MjYKCjIwMTMtMDYtMzAgMjE6MDE6MjAgKzAyMDAgIE1hdGVqIEtub3BwIDxtYXRlai5rbm9wcEBnbWFpbC5jb20+CgoJKiBnc3QvaXNvbXA0L01ha2VmaWxlLmFtOgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogY29tcHV0ZSBmcmFtZXJhdGUgZnJvbSBhdmVyYWdlIHNhbXBsZSBkdXJhdGlvbgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzAzMzUwCgoyMDEzLTA2LTI1IDIxOjE2OjM4ICswMjAwICBBbGJhbiBCcm93YWV5cyA8cHJhaGFsQHlhaG9vLmNvbT4KCgkqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzoKCSAgZmx2ZGVtdXg6IEFkZCBmbHZ2ZXJzaW9uIDEgdG8gdGhlIGZsYXNoLXZpZGVvIGNhcHMKCSAgVGhpcyBhbGxvd3MgdXNpbmcgYXZkZWNfZmx2IHdoaWNoIHJlcXVpcmVzIHRoaXMgZmllbGQgdG8gYmUKCSAgcHJlc2VudCBpbiB0aGUgY2Fwcy4gRkxWIG9ubHkgc3VwcG9ydHMgZmxhc2gtdmlkZW8gdmVyc2lvbiAxCgkgIHJpZ2h0IG5vdy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwMzA3NgoKMjAxMy0wNy0wMSAxMTozNzowMCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogZ3N0L2ludGVybGVhdmUvZGVpbnRlcmxlYXZlLmM6CgkgIGRlaW50ZXJsZWF2ZTogRG9uJ3QgaG9sZCBvYmplY3QgbG9jayB3aGlsZSBzZW5kaW5nIGV2ZW50cyBkb3duc3RyZWFtCgkgIEJhc2VkIG9uIGEgcGF0Y2ggYnkgS2lzaG9yZSBBcmVwYWxsaSA8a2lzaG9yZS5hcmVwYWxsaUBnbWFpbC5jb20+CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDMxMTQKCjIwMTMtMDctMDEgMTA6NTk6MDcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYWRlbXV4OiBBZGQgTVBFRzQgdmlkZW8gcHJvZmlsZS9sZXZlbCB0byB0aGUgY2FwcwoKMjAxMy0wNy0wMSAxMDo1NjoyOCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thZGVtdXg6IEFkZCBBQUMgcHJvZmlsZS9sZXZlbCB0byB0aGUgY2FwcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzAzMzEyCgoyMDEzLTA2LTI4IDE1OjIxOjU2ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHB2b3JiaXNwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHB2b3JiaXNwYXkuaDoKCSAgdm9yYmlzcGF5OiBhZGQgc3VwcG9ydCBmb3IgY29uZmlnLWludGVydmFsCgkgIEFsaWduIGNvZGUgd2l0aCB0aGUgdGhlb3JhIHBheWxvYWRlciBhbmQgYWRkIHN1cHBvcnQgZm9yIHRoZSBjb25maWctaW50ZXJ2YWwgdG8KCSAgcGVyaW9kaWNhbGx5IHNlbmQgb3V0IHRoZSBjb25maWcgaGVhZGVycy4KCjIwMTMtMDYtMjggMTU6MjE6MTIgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cHRoZW9yYXBheS5jOgoJICB0aGVvcmFwYXk6IHNtYWxsIGNsZWFudXBzCgoyMDEzLTA2LTI4IDEyOjA4OjE5ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHB0aGVvcmFwYXkuYzoKCSAgdGhlb3JhcGF5OiBoYW5kbGUgc3RyZWFtaGVhZGVycyBhcyB3ZWxsCgoyMDEzLTA2LTI4IDEyOjA2OjIxICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHB2b3JiaXNwYXkuYzoKCSAgdm9yYmlzcGF5OiBhbHdheXMgY29sbGVjdCBoZWFkZXJzIG9uIGRhdGEKCSAgV2hlbiB3ZSBzZWUgYSBkYXRhIHBhY2tldCwgYWx3YXlzIGNoZWNrIGlmIHdlIG5lZWQgdG8gY29sbGVjdCBhbnkgcHJldmlvdXMKCSAgaGVhZGVycy4KCjIwMTMtMDYtMjggMTE6NDM6MTcgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cHZvcmJpc3BheS5jOgoJICB2b3JiaXNwYXk6IGhhbmRsZSBzdHJlYW1oZWFkZXIgYXMgd2VsbAoJICBUYWtlIGNvbmZpZyBzdHJpbmdzIGZyb20gdGhlIHN0cmVhbWhlYWRlciB3aGVuIHdlIGNhbgoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjY0MzEyCgoyMDEzLTA2LTI3IDA3OjQwOjI5ICswMjAwICBEYXZpZCBTdmVuc3NvbiBGb3JzIDxkYXZpZHNmQGF4aXMuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBoMjY0cGF5LmM6CgkgIHJ0cGgyNjRwYXk6IGF2b2lkIGRvdWJsZSBidWZmZXIgdW5tYXAgb24gZXJyb3IKCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwMzE3MQoKMjAxMy0wNi0yNyAxNzowMjoxNCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogcmVzZXQtc3luYyBiZWZvcmUgcGxheQoJICBDYWxsIHJlc2V0LXN5bmMgb24gdGhlIHJ0cGJpbiBiZWZvcmUgd2UgZ28gdG8gcGxheWluZy4gVGhpcyBtYWtlcyB1cyByZXF1aXJlIFNSCgkgIHBhY2tldHMgZm9yIGFsbCBzdHJlYW1zIGFnYWluIGJlZm9yZSB3ZSBhdHRlbXB0IHRvIHN5bmMgdGhlbS4gSWYgd2UgZG9uJ3QgcmVzZXQsCgkgIGl0IG1pZ2h0IGJlIHRoYXQgd2UgY29tYmluZSBTUiBwYWNrZXRzIGZyb20gYmVmb3JlIGFuZCBhZnRlciB0aGUgUEFVU0UvUExBWUlORwoJICBzdGF0ZSBjaGFuZ2UgYW5kIGVuZCB1cCB3aXRoIGh1Z2UgYm9ndXMgb2Zmc2V0cy4KCjIwMTMtMDYtMjcgMTY6MjM6MjAgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgaml0dGVyYnVmZmVyOiBpbXByb3ZlIHN5bmMgb24gZmlyc3QgcGFja2V0cwoJICBEb24ndCB0aHJvdyBhd2F5IHRoZSBmaXJzdCBSVENQIHBhY2tldCBpZiBpdCBhcnJpdmVzIGJlZm9yZSB0aGUgZmlyc3QKCSAgUlRQIHBhY2tldCBidXQgcmVtZW1iZXIgYW5kIHVzZSBpdCB0byBzaWduYWwgc3luYyBvbmNlIHdlIGdldCB0aGUKCSAgUlRQIHBhY2tldC4KCSAgU2VlIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTE0MDAKCjIwMTMtMDYtMjcgMTY6MTU6NDUgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgaml0dGVyYnVmZmVyOiBvbmx5IHNpZ25hbCBsb29wIHdoZW4gYWN0aXZlCgkgIE9ubHkgc2lnbmFsIHRoZSBsb29wIGZ1bmN0aW9uIHdoZW4gaXQgaXMgYWN0aXZlLgoKMjAxMy0wNi0yNyAxNjoxMzozNyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBqaXR0ZXJidWZmZXI6IHNpZ25hbCB0aW1lc3RhbXAgZGlzY29udAoJICBXZSBjYW4gbm93IHVzZSB0aGUgUkVTWU5DIGJ1ZmZlciBmbGFnIHRvIG1hcmsgYSB0aW1lc3RhbXAgZGlzY29udCB3aGVuIHdlIHVwZGF0ZQoJICB0aGUgdHMtb2Zmc2V0IHByb3BlcnR5LgoKMjAxMy0wNi0yNiAyMDo0OTo0MSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwanBlZ3BheS5jOgoJICBqcGVncGF5OiB0dXJuIHNvbWUgZXJyb3JzIGludG8gd2FybmluZ3MKCSAgVHVybiBzb21lIGVycm9ycyBpbnRvIHdhcm5pbmdzLCB3ZSBjYW4gY29udGludWUgcHJvY2Vzc2luZyBzbyB0aGlzIHNob3VsZAoJICBub3QgYmUgZmF0YWwuCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NTcwNzkKCjIwMTMtMDYtMjYgMTQ6NTg6NTMgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuaDoKCSAgcnRzcHNyYzogYXZvaWQgc29tZSBmbHVzaGVzCgoyMDEzLTA2LTI2IDE0OjQxOjAwICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBoYW5kbGUgZGF0YSBtZXNzYWdlIHdoZW4gd2FpdGluZyBmb3IgcmVwbHkKCSAgV2hlbiB3ZSBhcmUgd2FpdGluZyBmb3IgYSBzZXJ2ZXIgcmVwbHksIGhhbmRsZSBkYXRhIG1lc3NhZ2VzIGluc3RlYWQgb2YKCSAgaWdub3JpbmcgdGhlbS4KCjIwMTMtMDYtMjYgMTQ6Mjc6MzQgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IGhhbmRsZSBkYXRhIG1lc3NhZ2VzIGluIHNlcGFyYXRlIG1ldGhvZAoJICBSZWZhY3RvciBhbmQgbWFrZSBhIG1ldGhvZCB0byBoYW5kbGUgYSBkYXRhIG1lc3NhZ2UuCgoyMDEzLTA2LTI1IDIwOjM2OjE4ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBhZGQgc29tZSBtb3JlIGRvY3MgdG8gaGFuZGxlLXJlcXVlc3Qgc2lnbmFsCgkgIFNlZSBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzAyNzA1CgoyMDEzLTA2LTEwIDE3OjIwOjMwIC0wNDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBTZW5kIGEgY2xvY2tfcHJvdmlkZSBtZXNzYWdlIG9uIHRoZSBidXMgd2hlbiB3ZSBnZXQgYSBuZXRjbG9jawoKMjAxMy0wNi0xMCAxNzoyMDoxNCAtMDQwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5oOgoJICBydHNwc3JjOiBFeHBvc2UgdXNlLXBpcGVsaW5lLWNsb2NrIHByb3BlcnR5CgoyMDEzLTA2LTI0IDE3OjExOjM1ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuYzoKCSAgdWRwc2luazogYmluZCB0byB0aGUgZ2l2ZW4gaW50ZXJmYWNlCgkgIEFjdHVhbGx5IGNhbGwgQklORFRPREVWSUNFIHRvIGJpbmQgdG8gdGhlIGludGVyZmFjZSBhcyBnaXZlbiBieSB0aGUKCSAgcHJvcGVydHkuCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDI4MTkKCjIwMTMtMDYtMjIgMTA6NTk6MTcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGV4dC92cHgvZ3N0dnA4ZGVjLmM6CgkgIHZwOGRlYzogRXJyb3Igb3V0IGdyYWNlZnVsbHkgaWYgd2UgZ2V0IGFuIHVuc3VwcG9ydGVkIGNvbG9yIGZvcm1hdAoJICBJbiB0aGVvcnkgd2UgY2FuIG9ubHkgZ2V0IEk0MjAgdGhvdWdoLCBqdXN0IHRvIGJlIG9uIHRoZSBzYWZlIHNpZGUuCgoyMDEzLTA2LTIyIDEwOjU3OjQxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBleHQvdnB4L2dzdHZwOWRlYy5jOgoJKiBleHQvdnB4L2dzdHZwOWVuYy5jOgoJICB2cDk6IEFkZCBzdXBwb3J0IGZvciBZVjEyLCBZNDJCIGFuZCBZNDQ0IGNvbG9yIGZvcm1hdHMKCSAgVGhlIGVuY29kZXIgZG9lcyBub3Qgd29yayB3aXRoIFk0MkIgYW5kIFk0NDQgeWV0IGl0IHNlZW1zLgoKMjAxMy0wNi0yMiAxMDoyNjoxOCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogZXh0L3ZweC9nc3R2cDlkZWMuYzoKCSAgdnA5ZGVjOiBVcGRhdGUgZGVmYXVsdCBwb3N0cHJvYyBzZXR0aW5ncyBmcm9tIHZwOV9keF9pZmFjZS5jCgoyMDEzLTA2LTIxIDEzOjExOjMyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWlkcy5oOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS93ZWJtLW11eC5jOgoJICBtYXRyb3NrYTogQWRkIGluaXRpYWwgVlA5IHN1cHBvcnQKCjIwMTMtMDYtMjEgMTM6MDc6MzAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L3ZweC9NYWtlZmlsZS5hbToKCSogZXh0L3ZweC9nc3R2cDlkZWMuYzoKCSogZXh0L3ZweC9nc3R2cDlkZWMuaDoKCSogZXh0L3ZweC9nc3R2cDllbmMuYzoKCSogZXh0L3ZweC9nc3R2cDllbmMuaDoKCSogZXh0L3ZweC9wbHVnaW4uYzoKCSAgdnB4OiBBZGQgaW5pdGlhbCwgZXhwZXJpbWVudGFsIFZQOSBzdXBwb3J0CgoyMDEzLTA2LTIxIDEwOjMyOjMwICswMjAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWkgYXQgY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwOiBnbyBiYWNrIGludG8gdGhlIGxvb3AgYWZ0ZXIgZG9pbmcgcGF1c2UKCSAgQWZ0ZXIgd2UgZG8gYSBwYXVzZSByZXF1ZXN0LCBnbyBiYWNrIHRvIGxvb3AgbW9kZSBzbyB0aGF0IHdlIGNhbiBsaXN0ZW4KCSAgZm9yIHNlcnZlciBtZXNzYWdlcyBhZ2Fpbi4KCSAgU2VlIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDI3MDUKCjIwMTMtMDYtMjAgMjM6MTY6MTcgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBwdGRlbXV4LmM6CgkgIHJ0cHB0ZGVtdXg6IFdhaXQgYWZ0ZXIgdGhlIGNhcHMgdG8gZm9yd2FyZCB0aGUgb3RoZXIgZXZlbnRzCgkgIEZpcnN0IGZvcndhcmQgdGhlIHN0cmVhbS1zdGFydCwgdGhlbiB0aGUgY2FwcywgdGhlbiB0aGUgcmVzdAoKMjAxMy0wNi0yMSAwMDo0MjowMiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIHN5cy94aW1hZ2UvZ3N0eGltYWdlc3JjLmM6CgkgIHhpbWFnZXNyYzogY2xlYXIgZHRzIG9uIGJ1ZmZlciBhY3F1aXJlZCBmcm9tIHBvb2wKCSAgV2hlbiBzZXR0aW5nIHRpbWVzdGFtcHMgb24gb3V0Z29pbmcgYnVmZmVycywgY2xlYXIgdGhlCgkgIGR0cyBleHBsaWNpdGx5LCBvdGhlcndpc2UgaXQgbWF5IGVuZCB1cCBiZWluZyBzZXQgdG8gYQoJICBib2d1cyB2YWx1ZSBmcm9tIGxhc3QgdGltZSBpdCB3YXMgdXNlZC4gQXZvaWRzIGV2ZXJ5CgkgIHNlY29uZCBvciBzbyBidWZmZXIncyBkdHMgYmVpbmcgc2V0IHRvIDAuIE5vdCB0aGF0IGl0CgkgIHNob3VsZCBtYXR0ZXIgZm9yIHJhdyB2aWRlby4KCjIwMTMtMDYtMjAgMTU6MzU6MTEgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyLmM6CgkgIHY0bDI6IGRvbid0IHJlZGVmaW5lIHRoZSBQRVJGT1JNQU5DRSBkZWJ1ZyB2YXJpYWJsZQoJICBJdCBpcyBhbHJlYWR5IGRlZmluZWQgaW4gY29yZS4KCSAgZml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwMjczMgoKMjAxMy0wNi0yMCAxNDo0Mzo0NyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogZml4IHJhY2UgaW4gc3RhdGUgY2hhbmdlIHRvIHBhdXNlZAoJICBXaGVuIHdlIGdvIHRvIHBhdXNlZCwgd2UgZmlyc3QgZmx1c2ggdGhlIGNvbm5lY3Rpb24gYW5kIHRoZW4gc2VuZCB0aGUgcGF1c2UKCSAgY29tbWFuZC4gQXMgYSByZXN1bHQgb2YgdGhlIGZsdXNoaW5nLCB0aGUgc2NoZWR1bGVkIHBhdXNlZCBjb21tYW5kIGNhbiBnZXQKCSAgbG9zdC4gV2FpdCB1bnRpbCB0aGUgY29ubmVjdGlvbiBpcyBjb21wbGV0ZWx5IGZsdXNoZWQgYW5kIHRoZSBydHNwIHRhc2sgaXMKCSAgd2FpdGluZyBiZWZvcmUgaXNzdWluZyB0aGUgcGF1c2VkIG9yIHBsYXlpbmcgcmVxdWVzdC4KCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwMjcwNQoKMjAxMy0wNi0yMCAxMTozMToyMiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBoYW5kbGUgU0VHTUVOVCBxdWVyeQoKMjAxMy0wNi0xOSAxMjozNzozMSArMDIwMCAgU2pvZXJkIFNpbW9ucyA8c2pvZXJkLnNpbW9uc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkgIHY0bDI6IE9wdGltaXplIG5lZ290aWF0aW9uIGJ5IHJlbW92aW5nIHRoZSBxdWVyeSBmaWx0ZXIKCSAgQXMgY2FtZXJhcyB0ZW5kIHRvIGhhdmUgYSBxdWl0ZSBzcGVjaWZpYyBzZXQgb2YgY2FwYWJpbGl0aWVzIChzcGVjaWZpYwoJICBmcmFtZXJhdGVzIGZvciBlYWNoIHJlc29sdXRpb24pLCBnZXR0aW5nIHRoZSBwZWVyIGNhcHMgZmlsdGVyZWQgYnkgb3VyCgkgIHByb2JlZCBjYXBzIGNhbiBjYXVzZSBhIGJpZyBpbmNyZWFzZSBpbiB0aGUgY2FwcyBzaXplIHdoaWNoIHNsb3dzIGRvd24KCSAgdGhpbmdzIHF1aXJlIGEgYml0LgoJICBBcyBmb3IgbmVnb3RpYXRpb24gdjRsMiBpdGVyYXRlcyB0aHJvdWdoIHRoZSBjYXBzIG9mIHRoZSBwZWVyIHRvIGZpbmQgdGhlCgkgIGZpcnN0IGludGVyc2VjdGlvbiB3aXRoIHRoZSBwcm9iZWQgY2FwcywgZ2V0dGluZyB0aGUgZnVsbHkgZXhwYW5kZWQKCSAgaW50ZXJzZWN0aW9uIG9mIGNhcGFiaWxpdGllcyBpcyBub3QgdXNlZnVsLgoJICBVc2luZyB0aGUgc2FtZSB0ZXN0Y2FzZSBhcyBmb3IgYnVnICM3MDI2MzIsIGFkZGluZyB0aGlzIHBhdGNoIG9uIHRvcCBvZgoJICB0aGUgcGF0Y2hlcyBzdWdnZXN0ZWQgdGhlcmUgc3BlZWRzIHVwIGdldHRpbmcgdGhlIGluaXRhbCBmcmFtZSBmcm9tCgkgIGFyb3VuZCB+MTQtMTUgc2Vjb25kcyB0byBhcm91bmQgfjMtNCBzZWNvbmRzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzAyNjM4CgoyMDEzLTA2LTE5IDEwOjMwOjU2ICswMjAwICBLaXNob3JlIEFyZXBhbGxpIDxraXNob3JlLmFyZXBhbGxpQGdtYWlsLmNvbT4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgYXZpZGVtdXg6IGR1cmF0aW9uIHF1ZXJ5IHJldHVybnMgemVybyBmb3IgRFYgdmlkZW8gaW4gYXZpCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDI2MjUKCjIwMTMtMDYtMTkgMTE6MDY6MzcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBEaXNhYmxlIHVzYWdlIG9mIGFsbG9jYXRpb24gcXVlcmllcwoJICBUaGlzIGNhbiBvbmx5IHJlbGlhYmx5IHdvcmsgaWYgZGVtdXhlcnMgaGF2ZSBhCgkgIHNlcGFyYXRlIHN0cmVhbWluZyB0aHJlYWQgcGVyIHNyY3BhZC4gVGhpcyBzaG91bGQgYmUKCSAgZG9uZSBpbiBhIGRlbXV4ZXIgYmFzZSBjbGFzcywgd2hpY2ggaW50ZWdyYXRlcyBwYXJ0cwoJICBvZiBtdWx0aXF1ZXVlCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDE4NTYKCjIwMTMtMDYtMTEgMTU6MDI6MjEgKzAxMDAgIEFsZXggQXNobGV5IDxidWd6aWxsYUBhc2hsZXktZmFtaWx5Lm5ldD4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBBdm9pZCBza2lwcGluZyBtb292IGF0b21zIGZvciBmcmFnbWVudGVkIE1QNCBmaWxlcy4KCSAgYnVnICM3MDA1MDUKCSAgRm9sbG93aW5nIGEgcmVwcmVzZW50YXRpb24gY2hhbmdlIHRoYXQgY2F1c2VzIGEgcmVzb2x1dGlvbiBjaGFuZ2UsCgkgIHRoZSB2aWRlbyBkZWNvZGVyIGZhaWxzIHRvIGRlY29kZSBjb3JyZWN0bHkuIERhc2hkZW11eCBkZXRlY3RzIHRoZQoJICByZXByZXNlbnRhdGlvbiBjaGFuZ2UgYW5kIHB1c2hlcyBhIG5ldyBjYXBzIGV2ZW50IGFuZCBhbgoJICBpbml0aWFsaXphdGlvbiBzZWdtZW50IChhIG5ldyBtb292IGF0b20pIHRvIHRoZSBkb3duc3RyZWFtIHF0ZGVtdXgsCgkgIGJ1dCBpdCBkb2Vzbid0IGhhbmRsZSB0aGlzIG5ldyBtb292IHlldCwgaXQgd2lsbCBvbmx5IHBhcnNlIHRoZQoJICBmaXJzdCBvbmUgaXQgcmVjZWl2ZXMuCgkgIFRoaXMgY29tbWl0IGNoYW5nZXMgcXRkZW11eCB0byBhY2NlcHQgYSBuZXcgbW9vdiBpbiBhIGRhc2ggYml0c3RyZWFtCgkgIHN3aXRjaGluZyBzY2VuYXJpby4KCjIwMTMtMDYtMTkgMDA6NDI6NTQgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBzZW5kIHN0cmVhbS1zdGFydCBvbmx5IG9uY2UgZm9yIGVhY2ggc3RyZWFtCgkgIERvIG5vdCBzZW5kIHN0cmVhbSBzdGFydCBhZ2FpbiB3aGVuIHJlY29uZmlndXJpbmcgYSBwYWQgZm9yIG5ldyBjYXBzLgoJICBUaGF0IGlzIGNvbW1vbiBmb3IgYWRhcHRpdmUgc3RyZWFtcwoKMjAxMy0wNi0wNSAxNzowMjo0OSArMDIwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDx5bGF0dXlhQGdtYWlsLmNvbT4KCgkqIHN5cy9vc3h2aWRlby9jb2NvYXdpbmRvdy5tOgoJKiBzeXMvb3N4dmlkZW8vb3N4dmlkZW9zaW5rLm06CgkgIG9zeHZpZGVvc2luazogZml4IHN1cHBvcnQgaW4gVk0ncyB3aXRob3V0IGhhcmR3YXJlIGFjY2VsZXJhdGlvbgoKMjAxMy0wNi0xNSAxMjoyOTozMSArMDIwMCAgSmVucyBHZW9yZyA8bWFpbEBqZW5zZ2Uub3JnPgoKCSogZ3N0L3J0cC9nc3RydHBtcDJ0ZGVwYXkuYzoKCSAgcnRwbXAydGRlcGF5OiBhY2NlcHQgbWlzbGFiZWxsZWQgc3RyZWFtcyBmcm9tIEdTdHJlYW1lciAwLjEwIGFzIHdlbGwKCSAgVGhlIG1wMnQgcGF5bG9hZGVyIGluIDAuMTAgbWlzbGFiZWxsZWQgdGhlIHN0cmVhbXMgYXMgTVAyVC1FUwoJICBpbnN0ZWFkIG9mIE1QMlQsIHNvIGFjY2VwdCB0aGF0IGFzIHdlbGwgZm9yIGNvbXBhdGliaWxpdHkgcmVhc29ucy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwMjQ1NwoKMjAxMy0wNi0xNiAwNTo0MDoxMyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogbWFuYWdlIGVsZW1lbnQgc3RhdGUgb3Vyc2VsdmVzCgkgIExvY2sgdGhlIHN0YXRlIG9mIHRoZSBhbGwgb3VyIGVsZW1lbnRzIGFuZCBtYW5hZ2UgdGhlaXIgc3RhdGVzCgkgIG91dHNlbHZlcy4gQmVjYXVzZSB3ZSBhcmUgd29ya2luZyBhc3luYywgd2UgY2FuJ3QgcmVseSBvbiB0aGUgc3RhdGUKCSAgY2hhbmdlIGZ1bmN0aW9uIHRvIHNldCB0aGUgc3RhdGUgYXQgdGhlIHJpZ2h0IHRpbWUgb3IgdG8gcmV0dXJuIHRoZQoJICByaWdodCByZXR1cm4gdmFsdWUgZnJvbSB0aGUgc3RhdGUgY2hhbmdlIGZ1bmN0aW9uLgoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzAyMDQ2CgoyMDEzLTA2LTE0IDE0OjA5OjUwICswMjAwICBCcnVubyBHb256YWxleiA8c3Rlbnlha0BnbWFpbC5jb20+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2FkZW11eDogRG9uJ3QgdW5sb2NrIHN0cmVhbSBsb2NrIHdpdGhvdXQgbG9ja2luZyBpdCBmaXJzdAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzAyMTY3CgoyMDEzLTA2LTEzIDE2OjAwOjMzICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmg6CgkgIHJ0cHNlc3Npb246IFVzZSB0aGUgcmlnaHQgaGFzaHRhYmxlIHRvIGNhbGN1bGF0ZSBiYW5kd2lkdGgKCSAgRG9uJ3QgdXNlIGFuIHVudXNlZCBoYXNodGFibGUgdG8gaXRlcmF0ZSBzb3VyY2UgdG8gY2FsY3VsYXRlIGJhbmR3aWR0aC4KCSAgUmVtb3ZlIHVudXNlZCBjb2RlLgoKMjAxMy0wNi0xMiAxNjoyNzoyNCAtMDYwMCAgQnJlbmRhbiBMb25nIDxiLmxvbmdAY2FibGVsYWJzLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgcHVsc2VzaW5rOiBSZXF1aXJlIFB1bHNlQXVkaW8gPj0gMi4wCgkgIFRoaXMgaXMgbmVlZGVkIGZvciBwYV9mb3JtYXRfaW5mb19nZXRfcHJvcF8qIGZ1bmN0aW9ucy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4NjQ1OQoKMjAxMy0wNi0xMyAxNDoyMzowOCArMDUzMCAgQXJ1biBSYWdoYXZhbiA8YXJ1bi5yYWdoYXZhbkBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSogZXh0L3B1bHNlL3B1bHNldXRpbC5jOgoJICBSZXZlcnQgInB1bHNlc2luazogTWFrZSAyLjAgZGVwZW5kZW5jeSBvcHRpb25hbCIKCSAgVGhpcyByZXZlcnRzIGNvbW1pdCAwMTQ1NzAyN2UwZDM4NGFjYTNlNTUxYWU2ODRlMGFhMDc0ZWU1NDk4LgoJICBXZSdsbCBqdXN0IGRlcGVuZCBvbiBQdWxzZUF1ZGlvIDIuMCBvciBhYm92ZSBpbnN0ZWFkIG9mIGhhdmluZyB0aGUgYnVnCgkgIHBhcnRpYWxseSBmaXhlZCBiYXNlZCBvbiB0aGUgaW5zdGFsbGVkIGxpYnB1bHNlIHZlcnNpb24uCgoyMDEzLTA2LTEzIDEyOjQwOjE1ICswNTMwICBBcnVuIFJhZ2hhdmFuIDxhcnVuLnJhZ2hhdmFuQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJKiBleHQvcHVsc2UvcHVsc2V1dGlsLmM6CgkgIHB1bHNlc2luazogTWFrZSAyLjAgZGVwZW5kZW5jeSBvcHRpb25hbAoJICBUaGUgZ2V0Y2FwcyBmdW5jdGlvbiB3ZSBhZGRlZCB1c2VzIHNvbWUgcGFfZm9ybWF0X2luZm9fZ2V0X3Byb3AuLi4KCSAgYWNjZXNzb3IgZnVuY3Rpb25zIHRoYXQgd2VyZSBvbmx5IGFkZGVkIGluIDIuMCwgc28gd2Ugb25seSBoYXZlIG91cgoJICBnZXRjYXBzIGltcGxlbWVudGF0aW9uIGV4aXN0IGlmIHdlJ3JlIGNvbXBpbGluZyBhZ2FpbnN0IGxpYnB1bHNlIDIuMCBvcgoJICBhYm92ZS4KCSAgRXZlbnR1YWxseSwgd2UgY291bGQgYnVtcCB0aGUgbWluaW11bSByZXF1aXJlbWVudCB0byAyLjAgb3IgYWJvdmUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODY0NTkKCjIwMTMtMDYtMTIgMTg6MjM6NDYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIyLmM6CgkgIFJldmVydCAidmlkZW9taXhlcjogV2hlbiBhbGwgc2lua3BhZHMgYXJlIGVvcywgdXBkYXRlIG91dHB1dCBzZWdtZW50IHN0b3AgYW5kIGZvcndhcmQgaXQiCgkgIFRoaXMgcmV2ZXJ0cyBjb21taXQgMmQzOTEwZmM3OTAxYjVmMjllMTZjMGZkZDRlOTA2N2E2ZDdmNjZmZS4KCSAgSXQncyBub3Qgc29sdmluZyBhbnkgcHJvYmxlbSBhbmQgaW5zdGVhZCBjYXVzZXMgY29kZSB0byBmYWxsIGFwYXJ0LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzAxNTE5CgoyMDEzLTAxLTA5IDA5OjM5OjMzICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thZGVtdXg6IG1hcmsgc3VidGl0bGUgc3RyZWFtcyBhcyBzcGFyc2UgaW4gc3RyZWFtLXN0YXJ0IGV2ZW50CgkgIEFuZCBhbHNvIG1hcmsgdGhlIHN0cmVhbXMgdGhhdCBzaG91bGQgYmUgc2VsZWN0ZWQgYnkgZGVmYXVsdCBpZgoJICBtYXJrZWQgc28gaW4gdGhlIGhlYWRlcnMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MDA2NDgKCjIwMTMtMDYtMTEgMjI6MTI6NTggKzAyMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvYXVkaW9meC9hdWRpb3Bhbm9yYW1hb3JjLWRpc3QuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9wYW5vcmFtYW9yYy1kaXN0Lmg6CgkgIGF1ZGlvcGFub3JhbWE6IGFkZCBwcmVidWlsdCBmaWxlcwoKMjAxMy0wNi0xMSAyMDoyNzo1MSArMDIwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvcGFub3JhbWEuYzoKCSAgYXVkaW9wYW5vcmFtYTogY2xlYW51cCBhbmQgZXhwYW5kIHRoZSB0ZXN0cwoJICBTcGxpdCBvdXQgdHdvIG1vcmUgdGVzdHMuIEV4dHJhY3QgbW9yZSBjb21tb24gY29kZSBpbnRvIGhlbHBlcnMuIEFkZCBjb3ZlcmFnZSBmb3IgZmxvYXQuCgoyMDEzLTA2LTEwIDIxOjE1OjIwICswMjAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2F1ZGlvZngvYXVkaW9wYW5vcmFtYS5jOgoJICBhdWRpb3Bhbm9yYW1hOiBjbGVhbnVwIG9mIHRyYW5zZm9ybSgpCgkgIE9ubHkgbWFwIGlucHV0IGlmIHdlIGFyZSByZWFkaW5nIGl0LiBDbGVhbnVwIHRoZSBsb2dnaW5nIGFuZCB0aGUgY29tbWVudHMgYSBiaXQuCgoyMDEzLTA2LTA5IDIwOjM1OjE4ICswMjAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2F1ZGlvZngvTWFrZWZpbGUuYW06CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvcGFub3JhbWEuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9wYW5vcmFtYS5oOgoJKiBnc3QvYXVkaW9meC9hdWRpb3Bhbm9yYW1hb3JjLm9yYzoKCSAgYXVkaW9wYW5vcmFtYTogdXNlIG9yYyB0byBzcGVlZHVwIHByb2Nlc3NpbmcKCSAgVXNlIHNwZWNpYWwgdmFyaWFudHMgZm9yIHRoZSBjYXNlIHdoZW4gd2UgZG9uJ3QgY2hhbmdlIHRoZSBwYW5vcmFtYSAocGFuPTAuMCkuCgkgIFNpbXBsaWZ5IHRoZSBwcm9jZXNzaW5nIGZ1bmN0aW9ucyBieSBwYXNzaW5nIHRoZSBwYW5vcmFtYSB2YWx1ZSBkaXJlY3R5IGluc3RlYWQKCSAgb2YgdGhlIGluc3RhbmNlLiBVc2Ugb3JjIGZvciBjbGVhcmluZyBidWZmZXJzIHRvby4KCjIwMTMtMDYtMTEgMTk6MjQ6NDkgKzAyMDAgIE1hdGhpZXUgRHVwb25jaGVsbGUgPG1hdGhpZXUuZHVwb25jaGVsbGVAZXBpdGVjaC5ldT4KCgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIyLmM6CgkgIHZpZGVvbWl4ZXI6IGNoZWNrIGxhc3QgZW5kX3RpbWUgYWZ0ZXIgY29udmVyc2lvbiB0byBydW5uaW5nIHNlZ21lbnQKCSAgVGhlIGxhc3QgZW5kX3RpbWUgd2FzIHNhdmVkIGFmdGVyIGNvbnZlcnNpb24sIHNvIHRoZSBjb21wYXJpc29uCgkgIGhhZCB0byBiZSBtYWRlIGFmdGVyIGNvbnZlcnNpb24gZm9yIGl0IHRvIG1ha2Ugc2Vuc2UuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDEzODUKCjIwMTMtMDYtMTEgMTk6MjI6MjAgKzAyMDAgIE1hdGhpZXUgRHVwb25jaGVsbGUgPG1hdGhpZXUuZHVwb25jaGVsbGVAZXBpdGVjaC5ldT4KCgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIyLmM6CgkgIHZpZGVvbWl4ZXI6IGFkZCBtaXgtPnNlZ21lbnQuc3RhcnQgdG8gb3V0cHV0X2VuZF90aW1lCgkgIFdoZW4gdGhlIHNlZ21lbnQgc3RhcnQgaXMgbm90IDAsIHRoaXMgY3JlYXRlZCBhIHNpdHVhdGlvbiB3aGVyZQoJICB0aGUgb3V0cHV0X2VuZF90aW1lIGlzIGluZmVyaW9yIHRvIG91dHB1dF9zdGFydF90aW1lLCBhbmQgdGhlIGR1cmF0aW9uCgkgIG9mIHRoZSBuZXh0IGJ1ZmZlciBlbmRlZCB1cCB1bmRlcmZsb3dpbmcuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDEzODUKCjIwMTMtMDYtMTEgMTM6NTQ6NTMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYWRlbXV4OiBTZW5kIHN0cmVhbSBoZWFkZXJzIGFmdGVyIHRoZSBzZWdtZW50IGV2ZW50CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDA3OTkKCjIwMTMtMDYtMTEgMTI6MjY6MjQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBEbyBhbGxvY2F0aW9uIHF1ZXJ5IGFmdGVyIGV4cG9zaW5nIGFsbCBwYWRzIGFuZCBuby1tb3JlLXBhZHMKCSAgQWxzbyBjb25maWd1cmUgdmlkZW8gc3RyZWFtcyBhcyBlYXJseSBhcyBwb3NzaWJsZS4KCSAgUmVsYXRlZCBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzAxODU2CgkgIGJ1dCBub3QgZml4aW5nIHRoYXQuCgoyMDEzLTA2LTExIDEyOjI1OjQ2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6CgkgIGZsdmRlbXV4OiBEb24ndCBmb3J3YXJkIENBUFMgZXZlbnRzIGZyb20gdXBzdHJlYW0KCSAgSnVzdCB1c2UgdGhlIGRlZmF1bHQgcGFkIGV2ZW50IGhhbmRsZXIuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDE5NzYKCjIwMTMtMDUtMjYgMDg6MTg6MDQgKzA1MzAgIEFydW4gUmFnaGF2YW4gPGFydW4ucmFnaGF2YW5AY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJICBwdWxzZXNpbms6IENhY2hlIHRoZSBnZXRjYXBzL2FjY2VwdGNhcHMgcHJvYmUgc3RyZWFtCgkgIGdldGNhcHMgaXMgY2FsbGVkIGZyZXF1ZW50bHkgZHVyaW5nIHN0cmVhbSBzZXR1cCwgYW5kIGNyZWF0aW5nIGEgbmV3CgkgIHN0cmVhbSBlYWNoIHRpbWUgaXMgdmVyeSBpbmVmZmljaWVudC4gVGhlcmUncyBzb21lIG1vcmUgcm9vbSBmb3IKCSAgb3B0aW1pc2F0aW9uIGJ5IGNhY2hpbmcgdGhlIHF1ZXJpZWQgc2luayBmb3JtYXRzIGFzIHdlbGwsIGJ1dCB0aGlzIG5lZWRzCgkgIHNvbWUgbW9yZSBjaGFuZ2VzIHRvIGxpc3RlbiBmb3IgZm9ybWF0IGNoYW5nZXMgb24gdGhlIHNpbmsgKGZvciB3aGVuCgkgIHN1cHBvcnRlZCBmb3JtYXRzIGNoYW5nZSBiZXR3ZWVuIHByb2JlIHN0cmVhbSBjcmVhdGlvbiBhbmQgc2luawoJICBxdWVyeWluZykuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODY0NTkKCjIwMTMtMDUtMjMgMjE6Mzk6MDggKzA1MzAgIEFydW4gUmFnaGF2YW4gPGFydW4ucmFnaGF2YW5AY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmg6CgkqIGV4dC9wdWxzZS9wdWxzZXV0aWwuYzoKCSogZXh0L3B1bHNlL3B1bHNldXRpbC5oOgoJICBwdWxzZXNpbms6IEFkZCBhIGdldGNhcHMgZnVuY3Rpb24KCSAgVGhpcyBhbGxvd3MgdXMgdG8gaGF2ZSBtb3JlIGZpbmUtdHVuZWQgY2FwcyBpbiBSRUFEWSBvciBhYm92ZS4gSG93ZXZlciwKCSAgdGhpcyBpcyBfcmVhbGx5XyBpbmVmZmljaWVudCBzaW5jZSB3ZSBjcmVhdGUgYSBuZXcgc3RyZWFtIGFuZCBxdWVyeSBzaW5rCgkgIGZvciBldmVyeSBnZXRjYXBzIGluIFJFQURZLCB3aGljaCBvbiBhIHNpbXBsZSBnc3QtbGF1bmNoIGxpbmUgaGFwcGVucwoJICBhYm91dCAzNSB0aW1lcy4gVGhlIG5leHQgc3RlcCBpcyB0byBjYWNoZSBnZXRjYXBzIHJlc3VsdHMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODY0NTkKCjIwMTMtMDUtMTAgMTE6MzI6NDQgKzA1MzAgIEFydW4gUmFnaGF2YW4gPGFydW4ucmFnaGF2YW5AY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJICBwdWxzZXNpbms6IFRha2UgYSBsb2NrIG9uIHRoZSByaW5nYnVmZmVyIGluIGFjY2VwdGNhcHMKCSAgVGhpcyBpcyBuZWVkZWQgYXMgYSBjb25jdXJyZW50IHN0YXRlIGNoYW5nZSBjb3VsZCBwdWxsIHRoZSBjb250ZXh0IG9yCgkgIHN0cmVhbSBvdXQgZnJvbSB1bmRlciBvdXIgZmVldC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4NjQ1OQoKMjAxMy0wNi0wOSAyMDoyOTowOSArMDIwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9hdWRpb2Z4L2F1ZGlvcGFub3JhbWEuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9wYW5vcmFtYS5oOgoJICBhdWRpb3Bhbm9yYW1hOiBtb3ZlIHRoZSBlbnVtIHRvIHRoZSBoZWFkZXIgYW5kIHVzZSBpbnN0ZWFkIG9mIGdpbnQKCSAgTW92ZSB0aGUgZW51bSBmb3IgdGhlIHByb2Nlc3NpbmcgbWV0aG9kIHRvIHRoZSBoZWFkZXIgc28gdGhhdCB3ZSBjYW4gdXNlIHRoZQoJICB0eXBlIGZvciB0aGUgaW5zdGFuY2Ugc3RydWN0LgoKMjAxMy0wNi0wOSAyMDozMjoyMiArMDIwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2xldmVsLmM6CgkgIGxldmVsOiByZXdvcmsgdGhlIHRlc3RzIHRvIGNvdmVyIG90aGVyIGZvcm1hdHMgdG9vCgoyMDEzLTA2LTA1IDE2OjMyOjMwICswMjAwICBNaWNoYWVsIE9sYnJpY2ggPG0ub2xicmljaEBwZW5ndXRyb25peC5kZT4KCgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkgIHY0bDI6IG1ha2Ugc3VyZSB0aGUgZWxlbWVudCBpcyBub3QgZGVsZXRlZCBiZWZvcmUgdGhlIHBvb2wKCSAgVGhlIHBvb2wgYWNjZXNzZXMgZGF0YSBmcm9tIHRoZSB2NGwyb2JqZWN0IHNvIGl0IG11c3QgZXhpc3QgYXQgbGVhc3QKCSAgYXMgbG9uZyBhcyB0aGUgcG9vbC4gUmVmY291bnQgdGhlIGVsZW1lbnQgd2hpY2ggY29udHJvbHMgdGhlIG9iamVjdAoJICBsaXZlLXRpbWUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDE2NTAKCjIwMTMtMDYtMDcgMTU6Mzg6MjUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2xpYnBuZy9NYWtlZmlsZS5hbToKCSAgcG5nOiBMaW5rIHdpdGggbGliZ3N0YmFzZSBmb3IgR3N0Qnl0ZVJlYWRlciBhbmQgR3N0QWRhcHRlcgoKMjAxMy0wNi0wNyAxNToxNToxNSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvd2F2ZW5jL01ha2VmaWxlLmFtOgoJICB3YXZlbmM6IExpbmsgd2l0aCBsaWJnc3RiYXNlIGZvciBHc3RCeXRlV3JpdGVyCgoyMDEzLTA2LTA3IDEzOjI2OjM1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOgoJICB3YXZwYXJzZTogUHVzaCBzdHJlYW0tc3RhcnQgZXZlbnQgaW4gcHVsbCBtb2RlIGJlZm9yZSBhbnl0aGluZyBlbHNlCgoyMDEzLTA1LTEwIDEyOjA5OjE5ICswNTMwICBBcnVuIFJhZ2hhdmFuIDxhcnVuLnJhZ2hhdmFuQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5oOgoJICBwdWxzZXNpbms6IEdldCByaWQgb2YgYWNjZXB0Y2FwcyBzaWRlLWVmZmVjdHMKCSAgVGhlIHNpbmsgaW5mbyBjYWxsYmFjayBzaG91bGQgbm90IGhhdmUgc2lkZS1lZmZlY3RzIG9uIHRoZSBHc3RQdWxzZVNpbmsKCSAgb2JqZWN0IHNpbmNlIHdlIGFyZSBzb21ldGltZXMgdXNpbmcgd2l0aCBhIGR1bW15IHN0cmVhbSBpbiBhY2NlcHRjYXBzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njg2NDU5CgoyMDEzLTA2LTA1IDE4OjM2OjQwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgQmFjayB0byBkZXZlbG9wbWVudAoKPT09IHJlbGVhc2UgMS4xLjEgPT09CgoyMDEzLTA2LTA1IDE3OjU4OjUxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIENoYW5nZUxvZzoKCSogTkVXUzoKCSogUkVMRUFTRToKCSogY29tbW9uOgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaW50ZXJmYWNlczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5zaWduYWxzOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tMTM5NC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYWNvbG9yLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFwZXRhZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb2Z4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvcGFyc2Vycy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9kZXRlY3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXZpLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhY2FzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhaXJvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWN1dHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWludGVybGFjZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdG1mLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZmVjdHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXF1YWxpemVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZseGRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZGtwaXhidWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tMmsxLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWljeWRlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlkM2RlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWltYWdlZnJlZXplLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVybGVhdmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taXNvbXA0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWphY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanBlZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sZXZlbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tYXRyb3NrYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aWZpbGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlwYXJ0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5hdmlnYXRpb250ZXN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zczQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5nLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXB1bHNlYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVwbGF5Z2Fpbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwbWFuYWdlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHNwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNoYXBld2lwZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaG91dDJzZW5kLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNtcHRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlY3RydW0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdGFnbGliLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXVkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlbzRsaW51eDIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9ib3gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9jcm9wLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvZmlsdGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvbWl4ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdnB4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXhpbWFnZXNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi15NG1lbmMueG1sOgoJKiBnc3QtcGx1Z2lucy1nb29kLmRvYXA6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUtZGlzdC5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lLWRpc3QuaDoKCSogZ3N0L3ZpZGVvYm94L2dzdHZpZGVvYm94b3JjLWRpc3QuYzoKCSogZ3N0L3ZpZGVvYm94L2dzdHZpZGVvYm94b3JjLWRpc3QuaDoKCSogZ3N0L3ZpZGVvbWl4ZXIvYmxlbmRvcmMtZGlzdC5jOgoJKiBnc3QvdmlkZW9taXhlci9ibGVuZG9yYy1kaXN0Lmg6CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgUmVsZWFzZSAxLjEuMQoKMjAxMy0wNi0wNSAxNjozNToxOSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBwby9hZi5wbzoKCSogcG8vYXoucG86CgkqIHBvL2JnLnBvOgoJKiBwby9jYS5wbzoKCSogcG8vY3MucG86CgkqIHBvL2RhLnBvOgoJKiBwby9kZS5wbzoKCSogcG8vZWwucG86CgkqIHBvL2VuX0dCLnBvOgoJKiBwby9lby5wbzoKCSogcG8vZXMucG86CgkqIHBvL2V1LnBvOgoJKiBwby9maS5wbzoKCSogcG8vZnIucG86CgkqIHBvL2dsLnBvOgoJKiBwby9odS5wbzoKCSogcG8vaWQucG86CgkqIHBvL2l0LnBvOgoJKiBwby9qYS5wbzoKCSogcG8vbHQucG86CgkqIHBvL2x2LnBvOgoJKiBwby9tdC5wbzoKCSogcG8vbmIucG86CgkqIHBvL25sLnBvOgoJKiBwby9vci5wbzoKCSogcG8vcGwucG86CgkqIHBvL3B0X0JSLnBvOgoJKiBwby9yby5wbzoKCSogcG8vcnUucG86CgkqIHBvL3NrLnBvOgoJKiBwby9zbC5wbzoKCSogcG8vc3EucG86CgkqIHBvL3NyLnBvOgoJKiBwby9zdi5wbzoKCSogcG8vdHIucG86CgkqIHBvL3VrLnBvOgoJKiBwby92aS5wbzoKCSogcG8vemhfQ04ucG86CgkqIHBvL3poX0hLLnBvOgoJKiBwby96aF9UVy5wbzoKCSAgVXBkYXRlIC5wbyBmaWxlcwoKMjAxMy0wNi0wNSAxNTo1MDowNCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvd2F2ZW5jL2dzdHdhdmVuYy5jOgoJICB3YXZlbmM6IEZpeCB0YWdsaXN0IHJlZiBoYW5kbGluZyB0aGF0IG1hZGUgdGhlIHVuaXQgdGVzdCBmYWlsCgoyMDEzLTA2LTA1IDE1OjE0OjU0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIDA5OGMwZDcgdG8gMDFhN2E0NgoKMjAxMy0wNi0wMyAwOToxNzo0MyArMDIwMCAgTWljaGFlbCBPbGJyaWNoIDxtLm9sYnJpY2hAcGVuZ3V0cm9uaXguZGU+CgoJKiBzeXMvdjRsMi92NGwyX2NhbGxzLmM6CgkgIHY0bDI6IGl0ZXJhdGUgY29udHJvbHMgd2l0aCBWNEwyX0NUUkxfRkxBR19ORVhUX0NUUkwgaWYgcG9zc2libGUKCSAgSW4gdjIuNi4xOCBjb250cm9sIGNsYXNzZXMgd2hlcmUgYWRkZWQgdG8gdGhlIHY0bDIgQVBJLgoJICBJdGVyYXRpbmcgb3ZlciBDSURzIHN0YXJ0aW5nIHdpdGggVjRMMl9DSURfQkFTRSB3aWxsIG9ubHkgZmluZCBjb250cm9scyBmb3IKCSAgdGhlIGZpcnN0IGNvbnRyb2wgY2xhc3MuCgkgIEJ5IGl0ZXJhdGluZyB3aXRoIFY0TDJfQ1RSTF9GTEFHX05FWFRfQ1RSTCBhbGwgY29udHJvbHMgYXJlIGZvdW5kLgoJICBUaGlzIGlzIG5lY2Vzc2FyeSB0byBtYWtlIGNvbnRyb2xzIGZyb20gb3RoZXIgY29udHJvbCBjbGFzc2VzIGF2YWlsYWJsZSBpbgoJICB0aGUgZXh0cmEtY29udHJvbHMgcHJvcGVydHkuCgkgIElmIFY0TDJfQ1RSTF9GTEFHX05FWFRfQ1RSTCBpcyBub3QgZGVmaW5lZCBhdCBjb21waWxlIHRpbWUgb3Igbm90IHN1cHBvcnRlZAoJICBhdCBydW50aW1lIHRoZW4gdGhlIG9sZCBtZWNoYW5pc20gZm9yIGl0ZXJhdGluZyBpcyB1c2VkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzAxNTQwCgoyMDEzLTA2LTA1IDEyOjEyOjUzICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3VkcC9nc3R1ZHBzaW5rLmM6CgkgIHVkcHNpbms6IGF2b2lkIGxlYWtpbmcgdGhlIGhvc3QKCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwMTU4NgoKMjAxMy0wNi0wNCAwODoyNjozMyArMDIwMCAgTWljaGFlbCBPbGJyaWNoIDxtLm9sYnJpY2hAcGVuZ3V0cm9uaXguZGU+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuaDoKCSAgdjRsMjogaW1wcm92ZSBwaXhlbCBhc3BlY3QgcmF0aW8gaGFuZGxpbmcKCSAgSW5zdGVhZCBvZiBqdXN0IGFzc3VtaW5nIGEgYXNwZWN0IHJhdGlvIG9mIDEvMSB1c2UgVklESU9DX0NST1BDQVAgdG8gYXNrCgkgIHRoZSBkZXZpY2UuCgkgIFRoaXMgYWxzbyBhZGQgYSBwaXhlbC1hc3BlY3QtcmF0aW8gcHJvcGVydHkgdG8gb3ZlcndyaXRlIHRoZSB2YWx1ZSBmcm9tIHRoZQoJICBkcml2ZXIgYW5kIGEgZm9yY2UtYXNwZWN0LXJhdGlvIHByb3BlcnR5IHRvIGlnbm9yZSBpdC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwMDI4NQoKMjAxMy0wNi0wNCAxNzowNDoxMSArMDIwMCAgU3RpcmxpbmcgV2VzdHJ1cCA8c3dlc3RydXBAZ21haWwuY29tPgoKCSogc3lzL3Y0bDIvdjRsMl9jYWxscy5jOgoJICB2NGwyOiBGaXggY29tcGlsYXRpb24gd2l0aCBvbGRlciBrZXJuZWxzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDE1OTUKCjIwMTMtMDYtMDMgMTc6MDc6MTAgKzAyMDAgIE1pY2hhZWwgT2xicmljaCA8bS5vbGJyaWNoQHBlbmd1dHJvbml4LmRlPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSAgdjRsMjogY2FsbCBWSURJT0NfUkVRQlVGUyB3aXRoIGNvdW50ID0gMCBpbiBwb29sX2ZpbmFsaXplCgkgIFdpdGhvdXQgdGhpcyB0aGUgZm9sbG93aW5nIHNlcXVlbmNlIGZhaWxzOgoJICAtIHNldF9jYXBzKCkKCSAgLSBvYmplY3Rfc3RvcCgpIChkb2VzIG5vdGhpbmcpCgkgIC0gc2V0X2Zvcm1hdCgpIC0+IFZJRElPQ19TX0ZNVAoJICAtIHNldF9jb25maWcoKSAtPiBWSURJT0NfUkVRQlVGUyB3aXRoIGNvdW50ID0gTgoJICAtIHNldF9jYXBzKCkKCSAgLSBvYmplY3Rfc3RvcCgpCgkgIC0gcG9vbF9maW5hbGl6ZSgpCgkgIC0gc2V0X2Zvcm1hdCgpIC0+IFZJRElPQ19TX0ZNVCA9PiBFQlVTWQoJICBVc3VhbGx5IHRoZSBwb29sIGlzIHN0YXJ0ZWQgYWZ0ZXIgc2V0X2NvbmZpZygpLCBpbiB3aGljaCBjYXNlIG9iamVjdF9zdG9wKCkKCSAgd2lsbCByZXN1bHQgaW4gYSBwb29sX3N0b3AgYW5kIHRoZXJlZm9yZSBWSURJT0NfUkVRQlVGUyB3aXRoIGNvdW50ID0gMCBidXQKCSAgdGhhdCBpcyBub3QgZ3VhcmFudGVlZC4KCSAgQWxzbyBjYWxsaW5nIFZJRElPQ19SRVFCVUZTIHdpdGggY291bnQgPSAwIGluIHBvb2xfZmluYWxpemUoKSBpZiBuZWNlc3NhcnkKCSAgZml4ZXMgdGhpcyBwcm9ibGVtLgoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzAxNTQzCgoyMDEzLTA1LTI4IDE5OjE0OjE1ICswMjAwICBNaWNoYWVsIE9sYnJpY2ggPG0ub2xicmljaEBwZW5ndXRyb25peC5kZT4KCgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkgIHY0bDI6IHJld29yayBzaW5rIGJ1ZmZlciByZWZjb3VudGluZwoJICBUaGlzIGlzIGEgZm9sbG93dXAgcGF0Y2ggZm9yICM3MDA3ODEsIHdoaWNoIGlzIG5vdCBxdWl0ZSBjb3JyZWN0LgoJICBUaGUgYnVmZmVyIGhhbmRsaW5nIGlzIHF1aXRlIGNvbXBsaWNhdGVkIGhlcmUuCgkgIFRoZSBvcmlnaW5hbCBjb2RlIGludGVuZGVkIHRvIHRoZSB0aGUgZm9sbG93aW5nOgoJICAtIGdzdF92NGwyX2J1ZmZlcl9wb29sX3Byb2Nlc3MoKSBjYWxscyBRQlVGIGFuZCBhZGRzIHRoZSBidWZmZXIgdG8gdGhlCgkgIGxvY2FsIGxpc3QuCgkgIC0gVGhlIHNpbmsgY2FsbHMgZ3N0X2J1ZmZlcl91bnJlZigpIHdoaWNoIHJldHVybnMgdGhlIGJ1ZmZlciB0byB0aGUgcG9vbAoJICBidXQgbm90IHRoZSAnZnJlZSBsaXN0Jy4KCSAgLSBTb21lIHRpbWUgbGF0ZXIgRFFCVUYgcmV0dXJucyB0aGUgYnVmZmVyIGFuZAoJICBnc3RfdjRsMl9idWZmZXJfcG9vbF9yZWxlYXNlX2J1ZmZlcigpIHB1dHMgaW4gb24gdGhlICdmcmVlIGxpc3QnLgoJICBJZiB0aGUgYnVmZmVyIG11c3QgYmUgY29waWVkIHRoZW4gKHBhcmVudF9jbGFzcyktPmFjcXVpcmVfYnVmZmVyKCkgaXMKCSAgY2FsbGVkIGRpcmVjdGx5IHRvIGtlZXAgdGhlIGJ1ZmZlciBpbiB0aGUgcG9vbC4KCSAgVGhpcyBoYXMgdHdvIHByb2JsZW1zOgoJICAxLiBJZiBnc3RfdjRsMl9idWZmZXJfcG9vbF9yZWxlYXNlX2J1ZmZlcigpIGlzIGNhbGxlZCBiZWZvcmUgdGhlIGJ1ZmZlciBpcwoJICByZXR1cm5lZCB0byB0aGUgcG9vbCwgdGhlbiB0aGUgYnVmZmVyIGlzIHB1dCBvbiB0aGUgJ2ZyZWUgbGlzdCcgdHdpY2UuCgkgIFRoaXMgY2FuIGhhcHBlbiBpZiBhIHJlZmVyZW5jZSB0byB0aGUgYnVmZmVyIGlzIGtlcHQgb3V0c2lkZSB0aGUgc2luaywKCSAgb2YgaWYgRFFCVUYgcmV0dXJucyB0aGUgYnVmZmVyLCB0aGF0IHdhcyBqdXN0IHF1ZXVlZCB3aXRoIFFCVUYuCgkgIDIuIElmIGJ1ZmZlcnMgYXJlIGNvcGllZCwgdGhlbiBhbGwgYnVmZmVycyBhcmUgaW4gdGhlIHBvb2wgYXQgYWxsIHRpbWVzLiBBcwoJICBhIHJlc3VsdCBnc3RfdjRsMl9idWZmZXJfcG9vbF9zdG9wKCkgYW5kIGdzdF92NGwyX2J1ZmZlcl9wb29sX2RxYnVmKCkKCSAgY2FuIGFjY2VzcyBwb29sLT5idWZmZXJzIGF0IHRoZSBzYW1lIHRpbWUsIHdoaWNoIGNhbiBsZWFkIHRvIG1lbW9yeQoJICBjb3JydXB0aW9uLgoJICBUaGUgcGF0Y2ggZm9yICM3MDA3ODEgZml4ZXMgdGhvc2UgcHJvYmxlbXMsIGJ1dCB3aXRoIHRoZSBzaWRlIGVmZmVjdCB0aGF0CgkgIHRoZXJlIGFyZSBhbHdheXMgYnVmZmVycyBvdXRzaWRlIHRoZSBwb29sIChiZWNhdXNlIHRoZXkgYXJlIHF1ZXVlZCkgYW5kCgkgIHRoZSBwb29sIGlzIG5ldmVyIHN0b3BwZWQuCgkgIFRoaXMgcGF0Y2ggZml4ZXMgdGhpcyBieSByZWxlYXNpbmcgdGhlIHJlZmVyZW5jZSB0byB0aGUgYnVmZmVyIGFmdGVyCgkgIGhhbmRsaW5nIGl0ICh0byBhdm9pZCBwcm9ibGVtIDIuKSBzbyBpdCBjYW4gYmUgcmV0dXJuZWQgdG8gdGhlIHBvb2wuCgkgIGdzdF92NGwyX2J1ZmZlcl9wb29sX3JlbGVhc2VfYnVmZmVyKCkgaXMgb25seSBjYWxsZWQgaWYgdGhlIGJ1ZmZlciBpcwoJICBhbHJlYWR5IGluIHRoZSBwb29sICh0byBhdm9pZCBwcm9ibGVtIDEuKS4KCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwMTM3NQoKMjAxMy0wNi0wMiAxNToyNDozOCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IG1ha2Ugc3VyZSB0YWdsaXN0IGlzIHdyaXRhYmxlIGJlZm9yZSBhZGRpbmcgdGFncwoJICBBdm9pZHMgYXNzZXJ0aW9ucwoKMjAxMy0wNS0zMCAxOToyNDoxMyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IGVmZmVjdGl2ZWx5IHNraXAgdHJhY2tzIHRoYXQgd2VyZW4ndCBsaXN0ZWQgb24gdGhlIDFzdCBtb292CgkgIFdpdGhvdXQgdGhpcywgc3RyZWFtIGlzIE5VTEwgYW5kIHRoZSBjb2RlIHdpbGwgdHJ5IHRvIGFjY2VzcyBpdCwgbGVhZGluZwoJICB0byBzZWdmYXVsdHMuCgoyMDEzLTA1LTMwIDE5OjIzOjUwIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogc2tpcCByZWR1bmRhbnQgY2hlY2sKCSAgIWdvdF9tb292IGlzIGFscmVhZHkgY2hlY2tlZCB0aGUgbGluZSBhYm92ZQoKMjAxMy0wNi0wMiAxMzowMzo0MCArMDIwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2xldmVsLmM6CgkgIHRlc3RzOiBjbGVhbnVwIGxldmVsIHRlc3RzCgkgIFNwbGl0IG91dCBhIGZldyBtb3JlIHRlc3RzIHRvIGF2b2lkIGNoZWNraW5nIHRoZSBzYW1lIHN0dWZmIG92ZXIgYW5kIG92ZXIgYWdhaW4uCgoyMDEzLTA2LTAxIDIxOjMzOjQ2ICswMjAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2xldmVsL2dzdGxldmVsLmg6CgkgIGxldmVsOiByZW1vdmUgdW51c2VkIHZhcmlhYmxlcyBpbiBpbnN0YW5jZSBzdHJ1Y3QKCjIwMTMtMDUtMzEgMTg6MTM6MDIgKzAyMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9sZXZlbC5jOgoJICBsZXZlbDogYWRkIGEgdGVzdCBmb3IgY29udGlub3VzIHRpbWVzdGFtcHMKCSAgQSB0ZXN0IHRoYXQgY2hlY2tzIHRoYXQgbXNnW25dLnRzICsgbXNnW25dLmR1ciA9PSBtc2dbbisxXS50cy4KCjIwMTMtMDQtMTIgMTY6MDI6NDQgKzAzMDAgIEFudG9uIEJlbGthIDxhbnRvbmJlbGthQGdtYWlsLmNvbT4KCgkqIGdzdC93YXZlbmMvZ3N0d2F2ZW5jLmM6CgkqIGdzdC93YXZlbmMvZ3N0d2F2ZW5jLmg6CgkgIHdhdmVuYzogYWRkIHRhZ3MgJiB0b2Mgc3VwcG9ydAoJICBXcml0ZSB0YWdzIGFzIExJU1QgSU5GTyBjaHVuay4gRm9ybWF0IHRoZSB0b2MgYXMgY3VlICsgTElTVCBhZHRsIGNodW5rLiBSZW1vdmUKCSAgb2xkICNpZmRlZidlZCBjb2RlLgoKMjAxMy0wNS0zMSAxNToxMjowOCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2NHBheS5jOgoJICBSZXZlcnQgInJ0cGgyNjRwYXk6IFJlc3RydWN0dXJpbmcgdG8gYWxsb3cgZm9yIGFkZGluZyBvcHRpb25hbCBjYXBzIgoJICBUaGlzIHJldmVydHMgY29tbWl0IDYxNjY2ODk4Y2ZlODlhMWIyMWQzZTY4NTBhYjQ0ZjViMTYzM2VkNzkuCgkgIFRoaXMgY29tbWl0IGNoYW5nZXMgd2hhdCB0aGUgc2V0X3Nwc19wcHMoKSBmdW5jdGlvbiBkb2VzLCBub3QgaXQgZG9lc24ndAoJICBzZXQgY2FwcyBhbnltb3JlIChhbmQgc2hvdWxkIGhhdmUgYmVlbiByZW5hbWVkKS4gVGhlIG1haW4gcHJvYmxlbSBpcyB0aGF0CgkgIG5vdCBhbGwgY2FsbCBzaXRlcyBhcmUgdXBkYXRlZCBhbmQgdGh1cyBsZWFrIHRoZSBzdHJpbmcuCgoyMDEzLTA1LTMxIDE1OjExOjEyICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBoMjY0ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjY0ZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBoMjY0cGF5LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cC1wYXlsb2FkaW5nLmM6CgkgIFJldmVydCAicnRwaDI2NHBheS9kZXBheTogQWRkIGZyYW1lIGRpbWVuc2lvbnMgYSBwYXlsb2FkZWQgY2FwcyIKCSAgVGhpcyByZXZlcnRzIGNvbW1pdCAzZGNhNzU2YTVkYmE1NTI2NjI1NmYyMzllM2UxMmEzZDA1OGUxODVhLgoJICBUaGUgSDI2NCBSVFAgc3BlYyBoYXMgbm8gYXR0cmlidXRlcyBmb3Igd2lkdGggYW5kIGhlaWdodC4KCjIwMTMtMDUtMzEgMTU6MDk6NTEgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRwYXkuYzoKCSAgUmV2ZXJ0ICJydHBoMjY0cGF5L2RlcGF5OiBBZGQgb3B0aW9uYWwgZnJhbWVyYXRlIGNhcHMgZm9yIHVzZSBpbiBTRFAiCgkgIFRoaXMgcmV2ZXJ0cyBjb21taXQgZDg4MjVlMmE1YzBiZmI4ODNmZjg4ZTJjOWRhNDk5YzgwMGViY2EwYS4KCSAgVGhlcmUgaXMgbm8gZnJhbWVyYXRlIGF0dHJpYnV0ZSBpbiB0aGUgaDI2NCBSVFAgc3BlYy4KCjIwMTMtMDUtMzEgMTU6MDg6MTYgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGpwZWdkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGpwZWdwYXkuYzoKCSAgUmV2ZXJ0ICJydHBqcGVncGF5L2RlcGF5OiBSZXBsYWNlIGZyYW1lc2l6ZSBjYXBzIHdpdGggd2lkdGgvaGVpZ2h0IgoJICBUaGlzIHJldmVydHMgY29tbWl0IDAwNzVkMTExYjQ3NWNhMjc4OTVlZTk0NzYxNTQyNjBiNjkwMjk0MGIuCgkgIEV4dHJhIGFwcGxpY2F0aW9uL3gtcnRwIGFyZSBTRFAgZmllbGRzLCB3aGljaCBhcmUgc3RyaW5ncy4KCjIwMTMtMDUtMzEgMTU6MDU6NTEgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGpwZWdkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGpwZWdwYXkuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwLXBheWxvYWRpbmcuYzoKCSAgUmV2ZXJ0ICJydHBqcGVncGF5L2RlcGF5OiBSZXBsYWNlIGZyYW1lcmF0ZSBjYXBzIGZpZWxkIHdpdGggZnJhY3Rpb24iCgkgIFRoaXMgcmV2ZXJ0cyBjb21taXQgOWZkMjVhODEwYjg1OWUwZWMyMDUxNzY1Nzg3MzUxMDBkODNkZTRhZi4KCSAgV2UgZGVhbCB3aXRoIHNkcCBhdHRyaWJ1dGVzIGluIGFwcGxpY2F0aW9uL3NkcCwgd2hpY2ggYXJlIGFsd2F5cyBzdHJpbmdzLgoKMjAxMy0wNS0zMSAxMjozMzoyMSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogYWRkIGV4dHJhIFRMUyB1cmwgcHJvdG9jb2xzCgkgIFdlIGFsc28gc3VwcG9ydCBUTFMgcHJvdG9jb2xzIG5vdy4KCjIwMTMtMDUtMzAgMTQ6NDg6NDIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIyLmM6CgkgIHZpZGVvbWl4ZXI6IEFkZCBGSVhNRSBjb21tZW50IGFib3V0IHRoZSBEVVJBVElPTiBxdWVyeSBmcm9tIGFkZGVyCgkgIEN1cnJlbnRseSB0aGUgY29kZSBqdXN0IHRha2VzIHdpdGggbWF4aW11bSB1cHN0cmVhbSBkdXJhdGlvbiwgd2hpY2gKCSAgaXMgd3JvbmcuIEl0IHNob3VsZCBiZSB0aGUgbWF4aW11bSB1cHN0cmVhbSBkdXJhdGlvbiBpbiBydW5uaW5nIHRpbWUuCgoyMDEzLTA1LTMwIDIxOjIwOjU5ICswMjAwICBNYXRoaWV1IER1cG9uY2hlbGxlIDxtYXRoaWV1LmR1cG9uY2hlbGxlQGVwaXRlY2guZXU+CgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyMi5jOgoJICB2aWRlb21peGVyOiBTZXQgYSByZWZlcmVuY2UgdG8gbWl4LT5jdXJyZW50X2NhcHMgYXMgdGhlIFFVRVJZX0NBUFMgcmVzdWx0LgoKMjAxMy0wNS0zMCAxNzozNzoxMyArMDIwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9sZXZlbC9nc3RsZXZlbC5jOgoJICBsZXZlbDogbWlzYyBjbGVhbnVwcwoJICBGaXggc29tZSBvdWRhdGVkIGNvbW1lbnRzLiBTb3J0IG91dCBzb21lIGNvbmZ1c2lvbiBvZiBpbnRlcnZhbF9mcmFtZXMgYW5kIG51bV9mcmFtZXMuCgoyMDEzLTA1LTI5IDIwOjM1OjQxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL3Y0bDJfY2FsbHMuYzoKCSAgdjRsMjogT25seSBjb25kaXRpb25hbGx5IHVzZSBWNEwyX0NUUkxfVFlQRV9JTlRFR0VSX01FTlUsIGl0J3Mgbm90IGF2YWlsYWJsZSBpbiBvbGRlciB2ZXJzaW9ucwoKMjAxMy0wNS0yMCAxNjo0NTozNyArMDIwMCAgTWljaGFlbCBPbGJyaWNoIDxtLm9sYnJpY2hAcGVuZ3V0cm9uaXguZGU+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuaDoKCSogc3lzL3Y0bDIvdjRsMl9jYWxscy5jOgoJKiBzeXMvdjRsMi92NGwyX2NhbGxzLmg6CgkgIHY0bDI6IGFkZCBhIHByb3BlcnR5IGZvciBhcmJpdHJhcnkgdjRsMiBjb250cm9scwoJICBUaGlzIG1ha2VzIGl0IHBvc3NpYmxlIHRvIHNldCBhbnkgY29udHJvbHMgdGhhdCBjYW4gYmUgc2V0IHdpdGgKCSAgVklESU9DX1NfQ1RSTC4KCSAgVGhlIGNvbnRyb2xzIGFyZSBzZXQgd2hlbiB0aGUgcHJvcGVydHkgaXMgc2V0IChpZiB0aGUgZGV2aWNlIGlzIG9wZW4pCgkgIGFuZCB3aGVuIHRoZSBkZXZpY2UgaXMgb3BlbmVkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njk4ODM3CgoyMDEzLTA1LTI4IDE4OjMxOjA3ICswMjAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2xldmVsL2dzdGxldmVsLmM6CgkgIGxldmVsOiBmaXggZGlzY29udGludWl0aWVzIGluIHRpbWVzdGFtcHMKCjIwMTMtMDUtMjggMTU6NDY6NDMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2dka19waXhidWYvZ3N0Z2RrYW5pbWF0aW9uLmM6CgkqIGV4dC9nZGtfcGl4YnVmL2dzdGdka3BpeGJ1ZmRlYy5jOgoJKiBleHQvZ2RrX3BpeGJ1Zi9nc3RnZGtwaXhidWZkZWMuaDoKCSAgZ2RrcGl4YnVmZGVjOiBLZWVwIHNlcmlhbGl6ZWQgZXZlbnRzIGluIG9yZGVyLCBhbmQgZG9uJ3Qgc2VuZCBTRUdNRU5UIGJlZm9yZSBDQVBTCgoyMDEzLTA1LTI4IDE1OjQ1OjQ5ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBjcmVhdGUgYW5kIHB1c2ggc3RyZWFtLXN0YXJ0IGluIFRDUCBtb2RlCgoyMDEzLTA1LTI4IDE1OjEwOjA3ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiByZW1vdmUgc29tZSBvYnNvbGV0ZSBjb2RlCgkgIEl0IGlzIG5vdCBuZWVkZWQgdG8gZG8gYSBzdGF0ZSBjaGFuZ2UgZnJvbSB0aGUgX3BsYXkoKSBmdW5jdGlvbiBvbgoJICBvdXJzZWx2ZXMuIFRoZSBzdGF0ZSBjaGFuZ2UgZnVuY3Rpb24gYWxyZWFkeSBkaWQgdGhhdCBhbmQgd2UgZG9uJ3Qgd2FudCB0bwoJICBpbnRlcmZlcmUgd2l0aCB0aGF0IChvciB1c2UgaGFja3MgdG8gYXZvaWQgaW50ZXJmZXJlbmNlKS4KCjIwMTMtMDUtMjggMTI6MjQ6MzcgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IHNldCBSVENQIGNhcHMgb24gdGhlIFJUQ1AgcGFkcwoKMjAxMy0wNS0yOCAxMjoyMzozNyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzoKCSAgcnRwc2Vzc2lvbjogc2VuZCBzdHJlYW0tc3RhcnQgYW5kIHNlZ21lbnQgZXZlbnRzCgkgIEFsc28gc2VuZCBzdHJlYW0tc3RhcnQgYW5kIHNlZ21lbnQgZXZlbnQgb24gdGhlIFJUQ1AgcGFkLgoJICBXZSBkb24ndCBuZWVkIHRvIHNlbmQgYW55dGhpbmcgb24gdGhlIHN5bmNfc3JjIHBhZCBiZWNhdXNlIHdlCgkgIGFscmVhZHkgZm9yd2FyZGVkIGFsbCBpbmNvbW1pbmcgZXZlbnRzLgoKMjAxMy0wNC0yNSAxNToyNTowNiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogYWRkIHNpZ25hbCB0byBoYW5kbGUgc2VydmVyIHJlcXVlc3RzCgkgIEFkZCBhIHNpZ25hbCB0byBiZSBub3RpZmllZCBvZiBhIHNlcnZlciByZXF1ZXN0LiBUaGUgc2lnbmFsIGhhbmRsZXIgY2FuIHRoZW4KCSAgY29uc3RydWN0IHRoZSByZXNwb25zZSBtZXNzYWdlIGZvciB0aGUgc2VydmVyLgoJICBTZWUgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYzMjIwNwoKMjAxMy0wNS0yNyAyMjo0MzoyNSAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyMi5jOgoJICB2aWRlb21peGVyOiBNYWludGFpbiB6LW9yZGVyIHdoZW4gbmV3IHBhZCBhcmUgYWRkZWQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwMTEwOQoKMjAxMy0wMy0wNiAxMzoxNzo1NCArMDAwMCAgVG9tIEdyZWVud29vZCA8dGNkZ3JlZW53b29kQGhvdG1haWwuY29tPgoKCSogZXh0L3ZweC9nc3R2cDhlbmMuYzoKCSogZXh0L3ZweC9nc3R2cDhlbmMuaDoKCSAgdnA4ZW5jOiBBZGQgcHJvcGVydHkgdG8gbWFudWFsbHkgc3BlY2lmeSB0aGUgdGltZWJhc2Ugb2YgdGhlIGVuY29kZXIKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5NTcwOQoKMjAxMy0wNS0yNSAxMjoxNzo0MCAtMDQwMCAgVGhpYmF1bHQgU2F1bmllciA8dGhpYmF1bHQuc2F1bmllckBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlcjIuYzoKCSAgdmlkZW9taXhlcjogQWx3YXlzIGhhbmRsZSBmbHVzaF9zdG9wX3BlbmRpbmcgYXRvbWljYWxseQoJICBJdCBpcyBub3QgcHJvdGVjdGVkIHdpdGggdGhlIENPTExFQ1RfUEFEU19TVFJFQU1fTE9DSyBhbnltb3JlCgoyMDEzLTA1LTIzIDE4OjE0OjE3IC0wNDAwICBUaGliYXVsdCBTYXVuaWVyIDx0aGliYXVsdC5zYXVuaWVyQGNvbGxhYm9yYS5jb20+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvdmlkZW9taXhlci5jOgoJICB0ZXN0czogdmlkZW9taXhlcjogQWRkIGEgdGVzdHN1aXRlIGZvciB2aWRlb21peGVyCgkgIFRoaXMgaXMgbW9zdGx5IGNvcHkgcGFzdGVkIGZyb20gLWJhc2UvdGVzdHMvY2hlY2svZWxlbWVudHMvYWRkZXIuYwoKMjAxMy0wNS0yNSAxMDo1NzowMiAtMDQwMCAgVGhpYmF1bHQgU2F1bmllciA8dGhpYmF1bHQuc2F1bmllckBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlcjIuYzoKCSAgdmlkZW9taXhlcjogRG8gbm90IHRha2UgQ09MTEVDVF9QQURTX1NUUkVBTV9MT0NLIHdoZW4gdW5uZWNlc3NhcnkKCSAgQ29sbGVjdHBhZCB0YWtlcyB0aGUgbG9jayBpdHNlbGYgd2hlbiByZWNlaXZpbmcgc2VyaWFsaXplZCBldmVudHMKCSAgYW5kIHdlIHNob3VsZCBub3QgdGFrZSBpdCBmb3Igbm90IHNlcmlhbGl6ZWQgb25lcwoKMjAxMy0wNS0yNCAxOTozNDowNSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogZ3N0L2ZseC9nc3RmbHhkZWMuYzoKCSAgZmx4ZGVjOiBQcm9wZXJseSBza2lwIG5vbi1mcmFtZSBjaHVua3MKCjIwMTMtMDUtMjQgMTk6MzE6MTQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGdzdC9mbHgvZ3N0Zmx4ZGVjLmM6CgkgIGZseGRlYzogRmx1c2ggZGF0YSBmcm9tIGFkYXB0ZXIgYWZ0ZXIgcmVhZGluZyBpdAoJICBPdGhlcndpc2Ugd2UncmUgZ29pbmcgaW4gYW4gaW5maW5pdGUgbG9vcCwgcmVhZGluZyB0aGUgc2FtZSBkYXRhCgkgIG92ZXIgYW5kIG92ZXIgYWdhaW4uCgoyMDEzLTA0LTI0IDE1OjM5OjU0ICswMDAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPHlsYXR1eWFAZ21haWwuY29tPgoKCSogZ3N0L2dvb20yazEvTWFrZWZpbGUuYW06CgkgIGdvb20yazE6IGZpeCBtb3JlIGR1cGxpY2F0ZWQgc3ltYm9scwoKMjAxMy0wNS0yMiAwMjo0MDo1MiArMDIwMCAgU2ViYXN0aWFuIFJhc211c3NlbiA8c2Vicm5AYXhpcy5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGpwZWdkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGpwZWdwYXkuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwLXBheWxvYWRpbmcuYzoKCSAgcnRwanBlZ3BheS9kZXBheTogUmVwbGFjZSBmcmFtZXJhdGUgY2FwcyBmaWVsZCB3aXRoIGZyYWN0aW9uCgkgIFRoZSBwcmV2aW91cyBpbXBsZW1lbnRhdGlvbiBoYWQgdGhlIGZvcm1hdHRpbmcgb2YgU0RQIGF0dHJpYnV0ZXMgaGFwcGVuCgkgIGluIGVhY2ggUlRQIHBheWxvYWRlciwgbm93IGluc3RlYWQgdGhlIGNvbnN0aXR1ZW50IHZhbHVlcyBhcmUgcHJvcGFnYXRlZAoJICBhcyBjYXBzIGZpZWxkcy4gVGhpcyBhbGxvd3MgZm9yIGFwcGxpY2F0aW9ucyB0byBkbyBTRFAgb2ZmZXIvYW5zd2VyCgkgIGJhc2VkIG9uIGNhcHMgbmVnb3RpYXRpb24uCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDA3NDgKCjIwMTMtMDUtMjIgMDE6NTg6NTcgKzAyMDAgIFNlYmFzdGlhbiBSYXNtdXNzZW4gPHNlYnJuQGF4aXMuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBqcGVnZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBqcGVncGF5LmM6CgkgIHJ0cGpwZWdwYXkvZGVwYXk6IFJlcGxhY2UgZnJhbWVzaXplIGNhcHMgd2l0aCB3aWR0aC9oZWlnaHQKCSAgVGhlIHByZXZpb3VzIGltcGxlbWVudGF0aW9uIGhhZCB0aGUgZm9ybWF0dGluZyBvZiBTRFAgYXR0cmlidXRlcyBoYXBwZW4KCSAgaW4gZWFjaCBSVFAgcGF5bG9hZGVyLCBub3cgaW5zdGVhZCB0aGUgY29uc3RpdHVlbnQgdmFsdWVzIGFyZSBwcm9wYWdhdGVkCgkgIGFzIGNhcHMgZmllbGRzLiBUaGlzIGFsbG93cyBmb3IgYXBwbGljYXRpb25zIHRvIGRvIFNEUCBvZmZlci9hbnN3ZXIKCSAgYmFzZWQgb24gY2FwcyBuZWdvdGlhdGlvbi4KCSAgS2VlcCBwYXJzaW5nIGEtZnJhbWVyYXRlLCB4LWZyYW1lcmF0ZSBhbmQgeC1kaW1lbnNpb25zIGluIHJ0cGpwZWdkZXBheQoJICB0byBiZSBiYWNrd2FyZHMgY29tcGF0aWJsZSB3aXRoIHByZXZpb3VzIHBheWxvYWRlcnMuCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDA3NDgKCjIwMTMtMDUtMjIgMDM6MTg6MDcgKzAyMDAgIFNlYmFzdGlhbiBSYXNtdXNzZW4gPHNlYnJuQGF4aXMuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBoMjY0ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjY0ZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBoMjY0cGF5LmM6CgkgIHJ0cGgyNjRwYXkvZGVwYXk6IEFkZCBvcHRpb25hbCBmcmFtZXJhdGUgY2FwcyBmb3IgdXNlIGluIFNEUAoJICBUaGlzIGFsbG93cyBmb3IgYXBwbGljYXRpb25zIHRvIGZvcm1hdCBTRFAgYXR0cmlidXRlcyBhbmQgc3RpbGwgZG8gU0RQCgkgIG9mZmVyL2Fuc3dlciBiYXNlZCBvbiBjYXBzIG5lZ290aWF0aW9uLgoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzAwNzQ5CgoyMDEzLTA1LTIyIDAzOjA5OjQ0ICswMjAwICBTZWJhc3RpYW4gUmFzbXVzc2VuIDxzZWJybkBheGlzLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2NGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2NGRlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2NHBheS5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHAtcGF5bG9hZGluZy5jOgoJICBydHBoMjY0cGF5L2RlcGF5OiBBZGQgZnJhbWUgZGltZW5zaW9ucyBhIHBheWxvYWRlZCBjYXBzCgkgIFRoaXMgYWxsb3dzIGZvciBhcHBsaWNhdGlvbnMgdG8gZm9ybWF0IFNEUCBhdHRyaWJ1dGVzIGFuZCBzdGlsbCBkbyBTRFAKCSAgb2ZmZXIvYW5zd2VyIGJhc2VkIG9uIGNhcHMgbmVnb3RpYXRpb24uCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDA3NDkKCjIwMTMtMDUtMjAgMjI6MTQ6NDQgKzAyMDAgIFNlYmFzdGlhbiBSYXNtdXNzZW4gPHNlYnJuQGF4aXMuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBoMjY0cGF5LmM6CgkgIHJ0cGgyNjRwYXk6IFJlc3RydWN0dXJpbmcgdG8gYWxsb3cgZm9yIGFkZGluZyBvcHRpb25hbCBjYXBzCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDA3NDkKCjIwMTMtMDUtMjMgMTg6NDI6MDkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGdzdC91ZHAvZ3N0ZHludWRwc2luay5jOgoJKiBnc3QvdWRwL2dzdGR5bnVkcHNpbmsuaDoKCSogZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuYzoKCSogZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuaDoKCSAgKGR5bnxtdWx0aSl1ZHBzaW5rOiBBZGQgcHJvcGVydGllcyB0byBzcGVjaWZ5IHRoZSBiaW5kIGFkZHJlc3MgYW5kIHBvcnQKCSAgQnkgZGVmYXVsdCB3ZSB1c2UgdGhlIGFueSBhZGRyZXNzZXMgYW5kIGEgcmFuZG9tIHBvcnQgZm9yIGJpbmRpbmcgdGhlIHNvY2tldC4KCjIwMTMtMDUtMjMgMTg6MDU6MDcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGdzdC91ZHAvZ3N0ZHludWRwc2luay5jOgoJKiBnc3QvdWRwL2dzdG11bHRpdWRwc2luay5jOgoJICAoZHlufG11bHRpKXVkcHNpbms6IEJpbmQgc29ja2V0IGJlZm9yZSB1c2luZyBpdAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzAwODc4CgoyMDEzLTA1LTIzIDE3OjI1OjI5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBnc3QvdWRwL2dzdG11bHRpdWRwc2luay5jOgoJICAobXVsdGkpdWRwc2luazogQWRkIG1pc3NpbmcgZ2V0dGVycyBmb3Igc29ja2V0LXY2IGFuZCB1c2VkLXNvY2tldC12NiBwcm9wZXJ0aWVzCgoyMDEzLTA1LTIyIDIxOjAxOjQ4IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIyLmM6CgkgIHZpZGVvbWl4ZXI6IERvbid0IGhvbGQgc3RyZWFtLWxvY2sgd2hpbGUgcHVzaGluZyBub24tc2VyaWFsaXplZCBldmVudHMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwMDg2OAoKMjAxMy0wNS0yMiAyMTowMDo0NSAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyMi5jOgoJICB2aWRlb21peGVyOiBEb24ndCBob2xkIG9iamVjdCBsb2NrIHdoaWxlIHNlbmRpbmcgZXZlbnRzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDA4NjgKCjIwMTMtMDUtMjIgMTc6MzI6MzMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5jOgoJICBkZWludGVybGFjZTogVGhlIHJldHVybiB2YWx1ZSBvZiBnc3RfcGFkX3NldF9jYXBzKCkgaXMgbm90IHJlbGV2YW50IGFueW1vcmUKCSAgQ2FwcyBjYW4gZmFpbCB0byBiZSBzZXQgYmVjYXVzZSB0aGUgcGFkIGlzIG5vdCBsaW5rZWQgeWV0IGZvciBleGFtcGxlLgoKMjAxMy0wNS0xNSAxNjozOTozNiAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogQWRkIGVycm9yIGlmIGZpbGUgaGFzIHBsYXlyZWFkeSBkcm0KCjIwMTMtMDUtMTggMTU6MDY6NDkgLTA0MDAgIFRoaWJhdWx0IFNhdW5pZXIgPHRoaWJhdWx0LnNhdW5pZXJAY29sbGFib3JhLmNvbT4KCgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIyLmM6CgkgIHZpZGVvbWl4ZXI6IFNlbmQgYSByZWNvbmZpZ3VyZSBldmVudCB1cHN0cmVhbSBpZiBzaW5rcGFkIGNhcHMgYXJlIG5vdCB1c2FibGUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4NDIzNwoKMjAxMy0wNS0yMSAxMjowMjo1MSArMDIwMCAgTWljaGFlbCBPbGJyaWNoIDxtLm9sYnJpY2hAcGVuZ3V0cm9uaXguZGU+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJICB2NGwyOiBrZWVwIGEgcmVmZXJlbmNlIHRvIGFsbCBxdWV1ZWQgYnVmZmVycwoJICBXaXRob3V0IHRoaXMsIGEgcXVldWVkIGJ1ZmZlciBtYXkgYmUgcmVxdWlyZWQsIGZpbGxlZCBhbmQgcXVldWVkIGJlZm9yZSBpdAoJICBpcyBkZXF1ZXVlZC4KCSAgQ2FsbGluZyBnc3RfYnVmZmVyX3Bvb2xfYWNxdWlyZV9idWZmZXIoKSBlbnN1cmVzIHRoYXQgdGhlIGJ1ZmZlciBpcyBzZXQgdXAKCSAgY29ycmVjdGx5IGFuZCBnc3RfYnVmZmVyX3VucmVmKCkgY2FsbHMgYnVmZmVyX3JlbGVhc2UoKS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwMDc4MQoKMjAxMy0wNS0yMSAxMzozMzo1OSArMDIwMCAgQWxleGFuZGVyIFNjaHJhYiA8YWxleGFzQGF4aXMuY29tPgoKCSogZ3N0L2xhdy9tdWxhdy1kZWNvZGUuYzoKCSAgbXVsYXdkZWM6IEhhbmRsZSBOVUxMIGJ1ZmZlcnMgaW4gaGFuZGxlX2ZyYW1lCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTg4OTQKCjIwMTMtMDUtMjAgMjE6NDQ6MTMgKzAyMDAgIFNlYmFzdGlhbiBSYXNtdXNzZW4gPHNlYnJuQGF4aXMuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBqcGVnZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBqcGVncGF5LmM6CgkgIHJ0cGpwZWdwYXkvZGVwYXk6IEFkZCBmcmFtZXNpemUgY2FwcyBmb3IgdXNlIGluIFNEUAoJICBUaGUgZm9ybWF0IG9mIHRoZSB2YWx1ZSBhZGhlcmVzIHRvIFJGQzYwNjQgYW5kIGl0IGlzIG1lYW50IHRvIGJlIHBhcnNlZAoJICBhbmQgaW5jbHVkZWQgaW4gdGhlIFNEUCBzZW50IGJ5IGdzdC1ydHNwLXNlcnZlciB0byBpdHMgY2xpZW50cy4KCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwMDc0OAoKMjAxMy0wNS0yMCAyMTozNDoxMyArMDIwMCAgU2ViYXN0aWFuIFJhc211c3NlbiA8c2Vicm5AYXhpcy5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGpwZWdwYXkuYzoKCSAgcnRwanBlZ3BheTogQWRkIG9wdGlvbmFsIGZyYW1lcmF0ZSBjYXBzIGZvciB1c2UgaW4gU0RQCgkgIFRoZSBmb3JtYXQgb2YgdGhlIHZhbHVlIGFkaGVyZXMgdG8gUkZDNDU2NiBhbmQgaXQgaXMgbWVhbnQgdG8gYmUgcGFyc2VkCgkgIGFuZCBpbmNsdWRlZCBpbiB0aGUgU0RQIHNlbnQgYnkgZ3N0LXJ0c3Atc2VydmVyIHRvIGl0cyBjbGllbnRzLgoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzAwNzQ4CgoyMDEzLTA1LTIwIDE5OjU5OjEzICswMjAwICBNYXRoaWV1IER1cG9uY2hlbGxlIDxtYXRoaWV1LmR1cG9uY2hlbGxlQGVwaXRlY2guZXU+CgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyMi5jOgoJICB2aWRlb21peGVyOiBXaGVuIGFsbCBzaW5rcGFkcyBhcmUgZW9zLCB1cGRhdGUgb3V0cHV0IHNlZ21lbnQgc3RvcCBhbmQgZm9yd2FyZCBpdAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njk5NzkzCgoyMDEzLTA1LTIwIDE5OjUxOjA3ICswMjAwICBNYXRoaWV1IER1cG9uY2hlbGxlIDxtYXRoaWV1LmR1cG9uY2hlbGxlQGVwaXRlY2guZXU+CgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyMi5jOgoJICB2aWRlb21peGVyOiBEb24ndCByZXNldCB0aGUgb3V0cHV0IHNlZ21lbnQgb24gZmx1c2ggc3RvcAoJICBPbmx5IGluaXQgaXQgd2hlbiBnZXR0aW5nIGZyb20gUkVBRFkgdG8gUEFVU0VELCBhbmQgY2hhbmdlIGl0IG9uIHNlZWsgZXZlbnRzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njk5NzkzCgoyMDEzLTA1LTE3IDEwOjE2OjQ4ICswMjAwICBNaWNoYWVsIE9sYnJpY2ggPG0ub2xicmljaEBwZW5ndXRyb25peC5kZT4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5oOgoJKiBzeXMvdjRsMi9nc3R2NGwyc2luay5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkgIHY0bDI6IERvbid0IHN0b3Agc3RyZWFtaW5nIHdoZW4gc2V0X2NhcHMgaXMgY2FsbGVkIHdpdGggdW5jaGFuZ2VkIGNhcHMKCSAgVGhpcyBjYW4gaGFwcGVuIGlmIG90aGVyIHBhcnRzIG9mIHRoZSBwaXBlbGluZSBhcmUgcmVjb25maWd1cmVkLgoJICBTdG9wIHN0cmVhbWluZyBldmVuIGZvciBhIHNob3J0IGFtb3VudCBvZiB0aW1lIGNhbiBiZSBxdWl0ZSB2aXNpYmxlLCBzbyBpdAoJICBzaG91bGQgYmUgYXZvaWRlZCBpZiBwb3NzaWJsZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwMDUwMwoKMjAxMy0wNS0xOCAxNTozOTozNiAtMDQwMCAgVGhpYmF1bHQgU2F1bmllciA8dGhpYmF1bHQuc2F1bmllckBjb2xsYWJvcmEuY29tPgoKCSogdGVzdHMvY2hlY2svcGlwZWxpbmVzL3NpbXBsZS1sYXVuY2gtbGluZXMuYzoKCSAgdGVzdHM6IFJlLWVuYWJsZSB2aWRlb21peGVyIHRlc3QKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4NDIzNwoKMjAxMy0wNS0xOCAxNDozNjozOSAtMDQwMCAgVGhpYmF1bHQgU2F1bmllciA8dGhpYmF1bHQuc2F1bmllckBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlcjIuYzoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlcjIuaDoKCSAgdmlkZW9taXhlcjogU2VuZCBjYXBzIGV2ZW50IGZyb20gdGhlIHN0cmVhbWluZyB0aHJlYWQKCSAgVGhpcyB3YXkgd2UgYXZvaWQgcmFjZXMgaW4gY2FwcyBuZWdvdGlhdGlvbiBhbmQgd2UgbWFrZSBzdXJlCgkgIHRoYXQgdGhlIGNhcHMgYXJlIHNlbnQgYWZ0ZXIgc3RyZWFtLXN0YXJ0LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njg0MjM3CgoyMDEzLTA1LTA1IDIwOjI1OjIwICswMTAwICBUaGliYXVsdCBTYXVuaWVyIDx0aGliYXVsdC5zYXVuaWVyQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyMi5jOgoJICB2aWRlb21peGVyOiBEbyBub3Qgc2VuZCBmbHVzaF9zdG9wIHdoZW4gcmVjZWl2aW5nIGEgc2VlawoJICBUaGVyZSBpcyBubyByZWFzb24gdG8gc2VuZCBhIGZsdXNoLXN0b3Agd2hlbiByZWNlaXZpbmcgYSBzZWVrIGV2ZW50LgoJICBJbiB0aGUgY2FzZSBvZiBhIGZsdXNoaW5nIHNlZWssIHdlIGNvdWxkIGV2ZW50dWFsbHkgd2FudCB0bywgYnV0IGluCgkgIHRoZSBjb2RlIHBhdGggd2VyZSB3ZSBjaGVjayBpZiB0aGUgc2VlayBpcyAiZmx1c2hpbmciLCB3ZSBoYXZlIHRoZQoJICBmb2xsb3dpbmcgY29tbWVudCB0aGF0IG1ha2VzIHNlbnNlOgoJICAid2UgY2FuJ3Qgc2VuZCBGTFVTSF9TVE9QIGhlcmUgc2luY2UgdXBzdHJlYW0gY291bGQgc3RhcnQgcHVzaGluZyBkYXRhCgkgIGFmdGVyIHdlIHVubG9jayBtaXgtPmNvbGxlY3QuCgkgIFdlIHNldCBmbHVzaF9zdG9wX3BlbmRpbmcgdG8gVFJVRSBpbnN0ZWFkIGFuZCBzZW5kIEZMVVNIX1NUT1AgYWZ0ZXIKCSAgZm9yd2FyZGluZyB0aGUgc2VlayB1cHN0cmVhbSBvciBmcm9tIGdzdF92aWRlb21peGVyX2NvbGxlY3RlZCwKCSAgd2hpY2hldmVyIGhhcHBlbnMgZmlyc3QuIgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njg0MjM3CgoyMDEzLTA1LTA1IDIwOjI0OjQ5ICswMTAwICBUaGliYXVsdCBTYXVuaWVyIDx0aGliYXVsdC5zYXVuaWVyQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyMi5jOgoJICB2aWRlb21peGVyMjogUHJvdGVjdCBmbHVzaF9zdG9wX3BlbmRpbmcgd2l0aCB0aGUgY29sbGVjdHBhZCBzdHJlYW0gbG9jawoJICBBbmQgbWFrZSBzdXJlIHRvIGV4cGVjdCBhIGZsdXNoLXN0b3AgYWZ0ZXIgYSBmbHVzaC1zdGFydAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njg0MjM3CgoyMDEzLTA1LTE3IDEyOjM3OjU5ICswMjAwICBNaWNoYWVsIE9sYnJpY2ggPG0ub2xicmljaEBwZW5ndXRyb25peC5kZT4KCgkqIGdzdC9ydHAvZ3N0cnRwbXA0YXBheS5jOgoJICBydHBtcDRhcGF5OiBjbGVhciBjb25maWcgYnVmZmVyIGJlZm9yZSB1c2luZyBpdAoJICBUaGlzIGlzIG5lY2Vzc2FyeSBiZWNhdXNlIHBhcnRzIG9mIHRoZSBtZW1vcnkgYXJlIG9ubHkgbW9kaWZpZWQgd2l0aCAifD0iCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDA1MTQKCjIwMTMtMDUtMTQgMTc6MzA6MDcgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBEbyBub3QgZXhwZWN0IEVPUyBhZnRlciBhIHNlZ21lbnQgZXZlbnQgaWYgdXBzdHJlYW0gaXMgbXNzCgkgIEluIGNhc2UgcXRkZW11eCBpcyBoYW5kbGluZyBhIG1zcyBzdHJlYW0sIGRvIG5vdCBtYXJrIHRoZSBzdHJlYW0gdG8gd2FpdAoJICBmb3IgRU9TIGFmdGVyIGEgc2VnbWVudC4gRXZlbiBpZiBpdCBzZWVtcyB0byBiZSB0aGUgbGFzdCBvbmUgYWNjb3JkaW5nIHRvCgkgIHRoZSBjdXJyZW50IHN0cmVhbXMgaW5mb3JtYXRpb24uCgkgIE1TUyBoYW5kbGluZyBpcyBkaWZmZXJlbnQgaGVyZSBiZWNhdXNlIHRoZXJlIGlzIGFub3RoZXIgZGVtdXhlciBkcml2aW5nCgkgIHRoZSBwaXBlbGluZQoKMjAxMy0wNS0xNCAxNjozMjo1MSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IG9ubHkgc2V0IGNoYW5uZWxzIGFuZCByYXRlIGlmIHF0ZGVtdXgga25vd3MgaXQKCSAgU2V0dGluZyBib3RoIG9mIHRob3NlIHRvIDAgaXMgcG9pbnRsZXNzIGFuZCBtZWFucyB0aGF0IHF0ZGVtdXgKCSAgZG9lc24ndCBrbm93IHRoZSByZWFsIHZhbHVlLiBBdm9pZCBzZXR0aW5nIGl0IGluIHRoaXMgY2FzZS4KCjIwMTMtMDUtMTQgMTU6MjM6MDggKzAyMDAgIEFybmF1ZCBWcmFjIDxhdnJhY0BmcmVlYm94LmZyPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IHNldCBhbGFjIGNhcHMgdXNpbmcgaW5mbyBmcm9tIGNvZGVjIGJ1ZmZlcgoJICBUaGUgc2FtcGxlcmF0ZSBmaWVsZCBpbiB0aGUgU1RTRCBhdG9tIGlzIG5vdCByaWdodCBmb3Igc29tZSBBTEFDIGZpbGVzCgkgICh1c3VhbGx5IHdoZW4gYXVkaW8gaXMgOTZrSHovMjRiaXRzKSwgc28gdGhlIGF1ZGlvIGNhcHMgbXVzdCBiZQoJICBleHRyYWN0ZWQgZnJvbSB0aGUgY29kZWMgZGF0YS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwMDM4MgoKMjAxMy0wNS0xNSAxMToxMzoxMiArMDIwMCAgQXJuYXVkIFZyYWMgPGF2cmFjQGZyZWVib3guZnI+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIGF2aWRlbXV4OiBkbyBub3QgcHVzaCBkaXNjb250IGJ1ZmZlcnMgaWYgdGhleSBhcmVuJ3QgZGlzY29udAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjgyMTEwCgoyMDEzLTA1LTE1IDEwOjUxOjM4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gNWVkY2Q4NSB0byAwOThjMGQ3CgoyMDEzLTA1LTE0IDEwOjI4OjEwIC0wNDAwICBKb3NodWEgTS4gRG9lIDxvc3NAbnZsLmFybXkubWlsPgoKCSogZ3N0L3ZpZGVvY3JvcC9nc3Rhc3BlY3RyYXRpb2Nyb3AuYzoKCSogZ3N0L3ZpZGVvY3JvcC9nc3R2aWRlb2Nyb3AuYzoKCSAgdmlkZW9jcm9wOiBBZGQgc3VwcG9ydCBmb3IgR1JBWTE2X0xFL0dSQVkxNl9CRQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzAwMzMxCgoyMDEzLTA1LTE0IDE3OjI5OjU4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9yZXBsYXlnYWluL2dzdHJndm9sdW1lLmM6CgkgIHJndm9sdW1lOiBTZW5kIGFsbCBldmVudHMgdGhyb3VnaCB0aGUgcHJveHlwYWRzIGluc3RlYWQgb2YganVzdCBzZW5kaW5nIHRvIHRoZSB0YXJnZXQKCSAgT3RoZXJ3aXNlIHRoZSBzdGlja3kgZXZlbnRzIGFyZSBtaXNzaW5nIG9uIHRoZSBwcm94eXBhZHMuCgoyMDEzLTA1LTE0IDE3OjI5OjE4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3Jndm9sdW1lLmM6CgkgIHJndm9sdW1lOiBGaXggZXZlbnQgaGFuZGxpbmcgaW4gdGhlIHVuaXQgdGVzdAoKMjAxMy0wNS0xNCAxNjozNDo1NCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9yZ2xpbWl0ZXIuYzoKCSAgcmdsaW1pdGVyOiBGaXggZXZlbnQgaGFuZGxpbmcgaW4gdW5pdCB0ZXN0cwoKMjAxMy0wNS0xNCAxNjozMTo1NyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9yZ2FuYWx5c2lzLmM6CgkgIHJnYW5hbHlzaXM6IEZpeCBldmVudCBoYW5kbGluZyBpbiB1bml0IHRlc3QKCjIwMTMtMDUtMTQgMTY6MDg6NTQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcXRtdXguYzoKCSAgcXRtdXg6IEZpeCBldmVudCBoYW5kbGluZyBpbiB1bml0IHRlc3QKCjIwMTMtMDUtMTQgMTY6MDA6NTggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvbXVsdGlmaWxlLmM6CgkgIG11bHRpZmlsZTogRml4IGV2ZW50IGhhbmRsaW5nIGluIHVuaXQgdGVzdAoKMjAxMy0wNS0xNCAxMzo1ODowMSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9tdWxhd2RlYy5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9tdWxhd2VuYy5jOgoJICBtdWxhdzogRml4IGV2ZW50IGhhbmRsaW5nIGluIHVuaXQgdGVzdAoKMjAxMy0wNS0xNCAxMzo1MjoxOCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcGFyc2UuYzoKCSAgbWF0cm9za2FwYXJzZTogTWFrZSBzdXJlIHRvIHNlbmQgYSBzZWdtZW50IGV2ZW50IGJlZm9yZSBkYXRhZmxvdwoKMjAxMy0wNS0xNCAxMDo1MjoxOSArMDIwMCAgTWljaGFlbCBPbGJyaWNoIDxtLm9sYnJpY2hAcGVuZ3V0cm9uaXguZGU+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIHY0bDI6IG9ubHkgYWRkIGludGVybGFjZS1tb2RlIHRvIHRoZSBjYXBzIGZvciByYXcgZm9ybWF0cwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzAwMjgwCgoyMDEzLTA1LTE0IDEyOjAzOjAzICswMjAwICBNaWNoYWVsIE9sYnJpY2ggPG0ub2xicmljaEBwZW5ndXRyb25peC5kZT4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgdjRsMjogY29weSBhbmQgc2V0IHRoZSBhY3R1YWwgc2l6ZSBvZiB0aGUgY29udGVudAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzAwMjgyCgoyMDEzLTA1LTE0IDEwOjI1OjU2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2ludGVybGVhdmUuYzoKCSAgaW50ZXJsZWF2ZTogRml4IGV2ZW50IGhhbmRsaW5nIGluIHVuaXQgdGVzdAoKMjAxMy0wNS0xNCAwOTo0NToxMiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuYzoKCSAgZGVpbnRlcmxhY2U6IEltcHJvdmUgaGFuZGxpbmcgb2YgbWluL21heCBidWZmZXIgbnVtYmVycyBvZiB0aGUgYnVmZmVyIHBvb2wKCjIwMTMtMDUtMTQgMDM6NDI6NTkgKzAyMDAgIE1hdGVqIEtub3BwIDxtYXRlai5rbm9wcEBnbWFpbC5jb20+CgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuYzoKCSAgZGVpbnRlcmxhY2U6IHNldCBjYXBzIGZvciBidWZmZXIgcG9vbCBjb25maWcKCjIwMTMtMDUtMTMgMTM6MzA6MzggLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvbXVsdGlmaWxlL2dzdG11bHRpZmlsZXNpbmsuYzoKCSAgbXVsdGlmaWxlc2luazogTGV0IHRoZSBiYXNlIGNsYXNzIGRvIGdldF90aW1lcwoJICBUaGlzIHdpbGwgbWFrZSBzeW5jPVRSVUUgd29yaywgdGhlIGRlZmF1bHQgaXMgc3RpbGwgc3luYz1GQUxTRQoKMjAxMy0wNS0xMSAyMzowODoyMyAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaW50ZXJsZWF2ZS9pbnRlcmxlYXZlLmM6CgkgIGludGVybGVhdmU6IFNlbmQgc3RyZWFtLXN0YXJ0IGJlZm9yZSBjYXBzIGV2ZW50CgoyMDEzLTA1LTExIDIzOjI0OjM2IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cG11eC5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBtdXguaDoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwbXV4LmM6CgkgIHJ0cG11eDogU2VuZCBzdHJlYW0tc3RhcnQgYmVmb3JlIGNhcHMKCjIwMTMtMDUtMTEgMjM6Mjg6MTIgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwaml0dGVyYnVmZmVyLmM6CgkgIHJ0cGppdHRlcmJ1ZmZlci10ZXN0OiBTZW5kIHN0cmVhbS1zdGFydCBiZWZvcmUgY2FwcyBmb2xsb3dlZCBieSBzZWdtZW50CgoyMDEzLTA1LTExIDIzOjM0OjM2IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cGJpbi5jOgoJICBydHBiaW4tdGVzdDogU2VuZCBtaXNzaW5nIHN0cmVhbS1zdGFydCBhbmQgc2VnbWVudCBldmVudHMKCjIwMTMtMDUtMTMgMTU6MzY6MTkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvbGV2ZWwuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvbWF0cm9za2FtdXguYzoKCSAgdGVzdHM6IEZpeCBzb21lIG1vcmUgZXZlbnQgaGFuZGxpbmcgaW4gdGVzdHMKCjIwMTMtMDUtMTMgMTU6MTk6MzYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvaWN5ZGVtdXguYzoKCSAgaWN5ZGVtdXg6IEZpeCBldmVudCBoYW5kbGluZyBpbiB1bml0IHRlc3QKCjIwMTMtMDUtMTMgMTU6MTk6MjUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2ljeWRlbXV4L2dzdGljeWRlbXV4LmM6CgkgIGljeWRlbXV4OiBGaXggc3RpY2t5IGV2ZW50IGhhbmRsaW5nCgoyMDEzLTA1LTEzIDE1OjA2OjAzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9mbHYvZ3N0Zmx2bXV4LmM6CgkgIGZsdm11eDogUHVzaCBzdGlja3kgZXZlbnRzIGluIHRoZSByaWdodCBvcmRlcgoKMjAxMy0wNS0xMyAxNDo1NToxNCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9kZWludGVybGVhdmUuYzoKCSAgZGVpbnRlcmxlYXZlOiBGaXggZXZlbnQgaGFuZGxpbmcgaW4gdGVzdAoKMjAxMy0wNS0xMyAxNDowNzoxMSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaW50ZXJsZWF2ZS9kZWludGVybGVhdmUuYzoKCSAgZGVpbnRlcmxlYXZlOiBGaXggc3RpY2t5IGV2ZW50IGhhbmRsaW5nCgoyMDEzLTA1LTEzIDEzOjU1OjQ0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pbnRlcmxlYXZlL2RlaW50ZXJsZWF2ZS5jOgoJICBkZWludGVybGVhdmU6IENvZGUgc3R5bGUgZml4ZXMKCjIwMTMtMDUtMTMgMTA6NDM6MzIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBnc3RwYXkuYzoKCSAgcnRwZ3N0cGF5OiBGaXJzdCBsZXQgYmFzZWNsYXNzIGhhbmRsZSBldmVudHMsIHRoZW4gcHV0IHRoZW0gaW50byB0aGUgc3RyZWFtCgkgIEZpeGVzIGhhbmRsaW5nIG9mIHN0aWNreSBldmVudHMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDAyMTMKCjIwMTMtMDUtMDkgMjI6MDU6MjQgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvc2hhcGV3aXBlLmM6CgkgIHNoYXBld2lwZS10ZXN0OiBTZW5kIGluaXRhbCBldmVudHMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwMDAzMwoKMjAxMy0wNS0wOSAxODozMjoyMyAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvc3BlY3RydW0uYzoKCSAgc3BlY3RydW0tdGVzdDogU2VuZCBpbml0YWwgZXZlbnRzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDAwMzMKCjIwMTMtMDUtMDkgMTg6MjU6MTcgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3ZpZGVvZmlsdGVyLmM6CgkgIHZpZGVvZmlsdGVyLXRlc3Q6IFNlbmQgaW5pdGFsIGV2ZW50cwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzAwMDMzCgoyMDEzLTA1LTA5IDE4OjIzOjMwIC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy93YXZwYWNrcGFyc2UuYzoKCSAgd2F2cGFja3BhcnNlLXRlc3Q6IFNlbmQgaW5pdGFsIGV2ZW50cwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzAwMDMzCgoyMDEzLTA1LTA5IDE4OjIxOjU0IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy95NG1lbmMuYzoKCSAgeTRtZW5jLXRlc3Q6IFNlbmQgaW5pdGFsIGV2ZW50cwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzAwMDMzCgoyMDEzLTA1LTEwIDE0OjAwOjMzICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tdWx0aXBhcnQvbXVsdGlwYXJ0ZGVtdXguYzoKCSAgbXVsdGlwYXJ0ZGVtdXg6IGZpeCBleGFtcGxlIHBpcGVsaW5lCgkgIE5lZWQganBlZ3BhcnNlLgoKMjAxMy0wNS0xMCAxMzozNDoxNiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hbHBoYWNvbG9yLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2FzcGVjdHJhdGlvY3JvcC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdWRpb2FtcGxpZnkuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXVkaW9jaGViYmFuZC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdWRpb2NoZWJsaW1pdC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdWRpb2R5bmFtaWMuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXVkaW9lY2hvLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvaW52ZXJ0LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvcGFub3JhbWEuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXVkaW93c2luY2JhbmQuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXVkaW93c2luY2xpbWl0LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F2aW11eC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdmlzdWJ0aXRsZS5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jYXBzc2V0dGVyLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2RlaW50ZXJsYWNlLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2R0bWYuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZXF1YWxpemVyLmM6CgkgIHRlc3RzOiBGaXggc29tZSBtb3JlIHVuaXQgdGVzdHMKCjIwMTMtMDUtMTAgMTM6MTA6MjkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcGFyc2VyLmM6CgkgIHRlc3RzOiBGaXggcGFyc2VyIHRlc3RzCgoyMDEzLTA1LTA5IDIyOjIwOjI4IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zaGFwZXdpcGUvZ3N0c2hhcGV3aXBlLmM6CgkgIHNoYXBld2lwZTogQ2FuJ3QgbWFwIHR3aWNlIHRoZSBzYW1lIGJ1ZmZlciBmb3Igd3JpdGluZwoJICBJIHRvb2sgdGhlIG9wcG9ydHVuaXR5IHRvIHNpbXBsaWZ5IHRoYXQgY29kZSBhIGJpdC4gV2Ugbm93IHVzZQoJICBnc3RfYnVmZmVyX21ha2Vfd3JpdGFibGUoKSB0byBtYWtlIHRoZSBidWZmZXIgd3JpdGFibGUgYW5kIG1hcCB0d2ljZSB0aGUKCSAgc2FtZSBidWZmZXIsIHdpdGggZmlyc3QgbWFwIGJlaW5nIHJlYWQvd3JpdGUsIGFuZCBzZWNvbmQgcmVhZCBvbmx5LiBUaGlzCgkgIGdldCByaWQgb2YgdGhlIGNyaXRpY2FsOgoJICBHU3RyZWFtZXItQ1JJVElDQUwgKio6IGdzdF9zdHJ1Y3R1cmVfc2V0X25hbWU6IGFzc2VydGlvbiBgSVNfTVVUQUJMRQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzAwMDQ0CgoyMDEzLTA1LTA5IDIyOjE1OjU0IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zaGFwZXdpcGUvZ3N0c2hhcGV3aXBlLmM6CgkgIHNoYXBld2lwZTogRW5zdXJlIGNhcHMgYXJlIHdyaXRhYmxlCgkgIFRoZSBleGlzdCBvbmUgY2FzZSB3aGVyZSB0aGF0IHdlIGVuZHVwIHdpdGggb3JpZ2luYWwgY2FwcyBpbiByZXQsIGluIHdoaWNoCgkgIGNhc2Ugd2UgYXJlIG5vdCBndWFyYXRpZWQgdG8gaGF2ZSB3cml0YWJsZSBjYXBzLiBTaW1wbHkgZW5zdXJlIHRoaXMgaXMgdGhlCgkgIGNhcHMgYXJlIHdyaXRhYmxlIGJlZm9yZSBlbnRlcmluZyB0aGUgbG9vcC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwMDA0NAoKMjAxMy0wNS0wOSAyMjoxMzo1MSAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc2hhcGV3aXBlL2dzdHNoYXBld2lwZS5jOgoJICBzaGFwZXdpcGU6IEZpeCBzYW1wbGUgcGlwZWxpbmUgaW4gZG9jdW1lbnRhdGlvbgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzAwMDQ0CgoyMDEzLTA1LTA5IDE4OjA1OjAyIC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9qcGVnZW5jLmM6CgkgIGpwZWdlbmMtdGVzdDogU2VuZCBpbml0YWwgZXZlbnRzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDAwMzMKCjIwMTMtMDUtMDkgMTc6NDk6MDMgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3ZwOGVuYy5jOgoJICB2cDhlbmMtdGVzdDogU2VuZCBpbml0YWwgZXZlbnRzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDAwMzMKCjIwMTMtMDUtMDkgMTc6MjA6MTggLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3ZwOGRlYy5jOgoJICB2cDhkZWMtdGVzdDogU2VuZCBpbml0YWwgZXZlbnRzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDAwMzMKCjIwMTMtMDUtMDkgMTc6MTk6NTMgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3dhdnBhY2tkZWMuYzoKCSAgd2F2cGFja2RlYy10ZXN0OiBTZW5kIGluaXRpYWwgZXZlbnRzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDAwMzMKCjIwMTMtMDUtMDkgMTY6MjY6MTkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlcjIuYzoKCSAgUmV2ZXJ0ICJ2aWRlb21peGVyMjogVGFrZSBpbnRvIGFjY291bnQgbmV3IHNlZ21lbnRzIgoJICBUaGlzIHJldmVydHMgY29tbWl0IDg0YWU2NzBhYjQwYjI1OGExMGUxZTIxNDcxZTZkYzlkNzg2YmYwODYuCgkgIEFjdHVhbGx5IHRoaXMgaXMgbm90IGhvdyBpdCBpcyBzdXBwb3NlZCB0byB3b3JrLiB2aWRlb21peGVyCgkgIGNyZWF0ZXMgYSBbMCwtMV0gc2VnbWVudCBhbmQgdGhlbiBwdXRzIGZyYW1lcyBvZiB0aGUgZGlmZmVyZW50CgkgIHN0cmVhbXMgdGhlcmUgYmFzZWQgb24gdGhlaXIgcnVubmluZyB0aW1lcyBpbiB0aGVpciBvd24gc2VnbWVudHMuCgoyMDEzLTA1LTA2IDIzOjQzOjAzICswMjAwICBNYXRoaWV1IER1cG9uY2hlbGxlIDxtYXRoaWV1LmR1cG9uY2hlbGxlQGVwaXRlY2guZXU+CgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyMi5jOgoJICB2aWRlb21peGVyMjogVGFrZSBpbnRvIGFjY291bnQgbmV3IHNlZ21lbnRzCgkgIEFsc28gZm9yd2FyZCB0aGUgZXZlbnQgZG93bnN0cmVhbSBvbiB0aGUgbmV4dCBvcHBvcnR1bml0eS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5OTc5MwoKMjAxMy0wNS0wOSAwOTowNzozOCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgUmV2ZXJ0ICJnc3RydHNwc3JjOiBzZXQgYnVmZmVyLXNpemUgZm9yIG11bHRpY2FzdCBidWZmZXJzIgoJICBUaGlzIHJldmVydHMgY29tbWl0IDI0ODFlOTVkMDM4YjQyMjk3YTAxNmYxZDJkYzFhZjI2ZDIxNzViNDIuCgkgIFRoaXMgaXMgYWxyZWFkeSBkb25lIGZpdmUgbGluZXMgYWJvdmUsIGl0IHdhcyBhZGRlZCBhIHllYXIKCSAgYWdvIGluIGNvbW1pdCA1NjFiMTMxZS4KCjIwMTMtMDUtMDggMTk6NTQ6MTkgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvdmlkZW9maWx0ZXIuYzoKCSAgdmlkZW9maWx0ZXI6IFVuaXQgdGVzdCBzZW5kIFNFR01FTlQgYmVmb3JlIENBUFMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5OTk2NgoKMjAxMy0wNS0wOCAxOToyMjozMSAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdmltdXguYzoKCSAgYXZpbXV4OiBVbml0IHRlc3Qgc2VuZHMgU0VHTUVOVCBiZWZvcmUgY2FwcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njk5OTY2CgoyMDEzLTA1LTA4IDE5OjA4OjI0IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvd3NpbmNiYW5kLmM6CgkgIGF1ZGlvd3NpbmNiYW5kOiBUZXN0IHNob3VsZCBzZW5kIHNlZ21lbnQgYWZ0ZXIgQ0FQUwoJICBUaGlzIG1ha2VzIHRoZSB1bml0IHRlc3QgcGFzcyBhZ2Fpbi4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5OTk2NgoKMjAxMy0wNS0wOCAxOTowMDoyOCAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdWRpb3dzaW5jbGltaXQuYzoKCSAgYXVkaW93c2luY2xpbWl0OiBUZXN0IHNob3VsZCBzZW5kIHNlZ21lbnQgYWZ0ZXIgQ0FQUwoJICBUaGlzIG1ha2VzIHRoZSB1bml0IHRlc3QgcGFzcyBhZ2Fpbi4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5OTk2NgoKMjAxMy0wNS0wOCAxODo0NDozMiAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9meC9hdWRpb3dzaW5jbGltaXQuYzoKCSAgYXVkaW93c2luY2xpbWl0OiBGcmVxdWVuY2UgcHJvcGVydHkgcmVuYW1lZCBjdXRvZmYKCSAgVXBkYXRpbmcgdGhlIGRvY3VtZW50YXRpb24gdG8gcmVmbGVjdCB0aGlzIGNoYW5nZS4KCSAgU2VlOiBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njk5OTY0CgoyMDEzLTA1LTA4IDE1OjI1OjU4IC0wMzAwICBBaGEgVW5zd29ydGggPGFoYS51bnN3b3J0aEBnbWFpbC5jb20+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIGdzdHJ0c3BzcmM6IHNldCBidWZmZXItc2l6ZSBmb3IgbXVsdGljYXN0IGJ1ZmZlcnMKCSAgRm9yIHJlY2VpdmluZyB2aWRlbyBkYXRhIHZpYSBSVFNQIHdoZW4gdGhlIHZpZGVvIGlzIHNlbnQgdmlhCgkgIG11bHRpY2FzdCB0aGVyZSBpcyBubyB3YXkgdG8gc3BlY2lmeSB0aGUgdWRwc3JjIGJ1ZmZlci1zaXplLgoJICBPbiB3aW5kb3dzIHRoZSBuYXRpdmUgbmV0d29yayBidWZmZXIgaXMgbm90IGxhcmdlIGFuZCB3aXRoIHZpZGVvCgkgIGktZnJhbWVzIGJlaW5nIGh1Z2UgdGhlIGJ1ZmZlciBpcyB0byBzbWFsbCBhbmQgeW91IGdldCBpLWZyYW1lIGNvcnJ1cHRpb24sCgkgIGl0IGxvb2tzIHRlcnJpYmxlLCBhbmQgdGhlcmUgaXMgbm8gKGVhc3kpIHdheSB0byBzZXQgdGhlIHVkcHNyYyBidWZmZXItc2l6ZS4KCSAgaHR0cHM6Ly9idWdzLmZyZWVkZXNrdG9wLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTIyNjQKCjIwMTMtMDUtMDggMTY6MDI6MDUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlcjIuYzoKCSAgdmlkZW9taXhlcjI6IFNlbmQgc3RyZWFtLXN0YXJ0IGJlZm9yZSBjYXBzIGV2ZW50CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTk4OTUKCjIwMTMtMDUtMDcgMTk6MTU6NDkgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9qcGVnL2dzdGpwZWdkZWMuYzoKCSAganBlZ2RlYzogZml4IGNvbXBpbGVyIHdhcm5pbmcgb24gdHlwZSBjaGVjawoKMjAxMy0wNC0xOCAwNzo0OTo1NCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IHB1c2ggbmV3IGNhcHMgZXZlbnRzIHdoZW4gY2FwcyBjaGFuZ2UKCSAgV2hlbmV2ZXIgdGhlIGRlbXV4ZXIgaGFzIGEgbmV3IGNhcHMgb24gYSBzdHJlYW0sIGl0IHNob3VsZCBzZXQgdGhlCgkgIG5ld19jYXBzIHZhcmlhYmxlIHRvIHRydWUgYW5kIGEgbmV3IGNhcHMgZXZlbnQgd2lsbCBiZSBwdXNoZWQgYmVmb3JlCgkgIHRoZSBuZXh0IGJ1ZmZlcgoKMjAxMy0wNC0xNyAxNjo1NDoyMiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IGRvIG5vdCBwdXNoIGRpc2NvbnQgYnVmZmVycyBpZiB0aGV5IGFyZW4ndCBkaXNjb250CgkgIHF0ZGVtdXggdGFrZXMgaXRzIGJ1ZmZlcnMgZnJvbSBhIEdzdEFkYXB0ZXIuIFRob3NlIGJ1ZmZlcnMgYXJlIGNyZWF0ZWQKCSAgZnJvbSB0aGUgbGFyZ2VyIGJ1ZmZlciB0aGF0IGl0IG9idGFpbmVkIGZyb20gdXBzdHJlYW0gYW5kIHRoZXkgY2FycnkKCSAgdGhlIHNhbWUgZmxhZ3MsIGluY2x1ZGluZyBESVNDT05UIGlmIGl0IGlzIHNldC4gSW4gdGhlc2UgY2FzZXMsIGFsbAoJICBidWZmZXJzIHRoYXQgcXRkZW11eCBpcyBnb2luZyB0byBwdXNoIHdvdWxkIGJlIG1hcmtlZCBhcyBESVNDT05ULgoJICBUaGlzIHNjZW5hcmlvIGNhbiBtYWtlIHBhcnNlcnMvZGVjb2RlcnMgZmx1c2ggb24gZXZlcnkgYnVmZmVyIGxlYWRpbmcKCSAgdG8gbm8gZGVjb2RpbmcgYXQgYWxsIGhhcGVubmluZy4gVGhpcyBwYXRjaCBwcmV2ZW50cyB0aGlzIGJ5IHVuc2V0dGluZwoJICB0aGUgZmxhZyBpZiBpdCBzaG91bGRuJ3QgYmUgc2V0LgoKMjAxMy0wNC0xMiAwOTowODoxNiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkqIGdzdC9pc29tcDQvcXRkZW11eC5oOgoJICBxdGRlbXV4OiBzb21lIGNvZGUgY2xlYW51cCBmb3IgbXNzIGhhbmRsaW5nIGNvZGUKCSAgKiBFeHBsaWNpdGx5IGluaXQgdmFyaWFibGVzIGZvciBmcmFnbWVudGVkIGZvcm1hdHMgYXQgaW5pdAoJICAqIERvIG5vdCB1c2UgR3N0Q2xvY2tUaW1lIHR5cGUgaWYgdGhlIHZhcmlhYmxlIGlzbid0IGEgdGltZXN0YW1wCgkgICogRml4IGEgc3R5bGUvcmVhZGFiaWxpdHkgaXNzdWUgYXQgYW4gaWYgYmxvY2sKCSAgKiBHcm91cCAyIG1zcyBtb2RlIGNvbmRpdGlvbmFsIGJsb2NrcyB0b2dldGhlciB0byBpbXByb3ZlIHJlYWRhYmlsaXR5CgkgIENvbmZsaWN0czoKCSAgZ3N0L2lzb21wNC9xdGRlbXV4LmMKCjIwMTMtMDQtMTIgMTA6MjE6MTEgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBhdm9pZCBzdG9yaW5nIG5vbi10aW1lIG5ld3NlZ21lbnRzIHRvIHB1c2ggbGF0ZXIKCSAgVGhpcyBjYW4gY29uZnVzZSBkb3duc3RyZWFtIHdoZW4gdGhleSBnZXQgYSBieXRlIHNlZ21lbnQgYWZ0ZXIgcmVjZWl2aW5nCgkgIHRoZSBuYXR1cmFsIHRpbWUgc2VnbWVudCBmcm9tIHF0ZGVtdXggdGhhdCBpdCBzZW5kcyB3aGVuIHN0YXJ0aW5nIHRvCgkgIHB1c2ggYnVmZmVycy4gVGhpcyBpcyBzcGVjaWFsbHkgdGhlIGNhc2Ugd2l0aCBwYXJzZXJzIHRoYXQgdHJ5IHRvCgkgIGNvbnZlcnQgdGhlIHBvc2l0aW9uIGZyb20gYnl0ZSB0byB0aW1lIGZvcm1hdCBhbmQgbWlnaHQgbWlzcyB0aGUKCSAgY29ycmVjdCBwb3NpdGlvbiBmb3IgcGxheWJhY2sgdG8gc3RhcnQuCgoyMDEzLTA0LTEwIDE4OjAyOjI4IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogYXZvaWQgc2V0dGluZyBmaWVsZHMgdG8gbm9uLXdyaXRhYmxlIGNhcHMKCjIwMTMtMDMtMTAgMDQ6MTU6MDYgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogZG9uJ3Qgc2VuZCBzbyBtYW55IHNlZ21lbnQgZXZlbnRzCgkgIE9ubHkgc2VuZCBvbmUgc2VnbWVudCBldmVudCBpbiB0aGUgYmVnaW5uaW5nIG9mIHRoZSBzdHJlYW0sIG5vdAoJICBhZnRlciBlYWNoIG1vb3YgYW5kIG1vb2YgYXRvbS4KCSAgQ29uZmxpY3RzOgoJICBnc3QvaXNvbXA0L3F0ZGVtdXguYwoKMjAxMy0wMy0wOCAxNjowMjoyNiArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBwbGFjZSBpbmNvbW1pbmcgdGltZXN0YW1wcyBvbiBvdXRwdXQKCSAgUGxhY2UgdGhlIGluY29tbWluZyB0aW1lc3RhbXAgKGlmIGFueSkgZGlyZWN0bHkgb250byB0aGUgb3V0Z29pbmcgYnVmZmVycwoJICBhbmQgaW50ZXJwb2xsYXRlIG90aGVyIHRpbWVzdGFtcHMuCgkgIENvbmZsaWN0czoKCSAgZ3N0L2lzb21wNC9xdGRlbXV4LmMKCjIwMTMtMDUtMDcgMTA6MTY6MTggLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBpbXByb3ZlIHJlc2V0IG9mIGludGVybmFsIHN0YXR1cwoJICBSZXNldCBkaWZmZXJlbnQgdmFyaWFibGVzIG9uIHN0YXRlIGNoYW5nZXMgdG8gcmVhZHkgYW5kIHdoZW4KCSAgaGFuZGxpbmcgYSBmbHVzaC1zdG9wLiBGb3IgaGFuZGxpbmcgZmx1c2ggc3RvcHMgd2Ugc2hvdWxkIGNoZWNrCgkgIGlmIHRoZXJlIGlzIGFuIHVwc3RyZWFtIGFkYXB0aXZlIGRlbXV4ZXIgZHJpdmluZyB0aGUgcGlwZWxpbmUgYXMgdGhpcwoJICBtZWFucyB0aGF0IHF0ZGVtdXggd2lsbCBnZXQgYSBuZXcgbW9vdiBhdG9tLiBGb3IgJ3N0YW5kYXJkJyBpc29tZWRpYQoJICBzdHJlYW1zIHRoaXMgaXNuJ3QgdHJ1ZSBhbmQgcXRkZW11eCBzaG91bGQga2VlcCB0aGUgcHJldmlvdXMgbW9vdgoJICBpbmZvcm1hdGlvbiBhcm91bmQuCgkgIENvbmZsaWN0czoKCSAgZ3N0L2lzb21wNC9xdGRlbXV4LmMKCjIwMTMtMDItMDggMDA6Mjk6MjAgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBwcmVwYXJlIHF0ZGVtdXggdG8gYWNjZXB0IG11bHRpcGxlIGRhc2ggbW9vdnMgaW4gYSByb3cKCSAgV2hlbmV2ZXIgZGFzaGRlbXV4IHN3aXRjaGVzIGJpdHJhdGVzIGl0IHNlbmRzIGEgbmV3IG1vb3Ygd2l0aCB0aGUKCSAgbmV3IHN0cmVhbSBjb25maWd1cmF0aW9uLiBxdGRlbXV4IHNob3VsZCBub3cgaGFuZGxlIHRoaXMgYnkgc3BsaXR0aW5nCgkgIHRoZSBleHBvc2luZyBhbmQgY29uZmlndXJhdGlvbiBvZiBzdHJlYW1zIGludG8gc2VwYXJhdGUgZnVuY3Rpb25zLiBXaGVuCgkgIHRoZSBzdHJlYW0gaXMgbmV3IGl0IGlzIGNvbmZpZ3VyZWQgYW5kIGV4cG9zZWQsIHdoZW4gaXQgaXMgYSBuZXcgYml0cmF0ZQoJICBvZiBhbiBleGlzdGluZyBzdHJlYW0gaXQgaXMgb25seSByZWNvbmZpZ3VyZWQuCgkgIENvbmZsaWN0czoKCSAgZ3N0L2lzb21wNC9xdGRlbXV4LmMKCjIwMTMtMDItMDcgMTQ6MTI6NTMgLTAyMDAgIEFuZHJlIE1vcmVpcmEgTWFnYWxoYWVzIChhbmRydW5rbykgPGFuZHJlLm1hZ2FsaGFlc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogTW92ZSBGTFVTSF9TVE9QL1BBVVNFRF9UT19SRUFEWSBoYW5kbGluZyB0byBhIHJlc2V0IG1ldGhvZC4KCSAgQ29uZmxpY3RzOgoJICBnc3QvaXNvbXA0L3F0ZGVtdXguYwoKMjAxMy0wMS0yMyAxMDo1NTozMyAtMDUwMCAgTG91aXMtRnJhbmNpcyBSYXR0w6ktQm91bGlhbm5lIDxsb3Vpcy1mcmFuY2lzLnJhdHRlLWJvdWxpYW5uZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSogZ3N0L2lzb21wNC9xdGRlbXV4Lmg6CgkgIHF0ZGVtdXg6IFJlbW92ZSBvbGQgcGFkcyB3aGVuIGV4cG9zaW5nIHN0cmVhbXMgYW5kIG90aGVyIGdlbmVyYWwgZml4ZXMuCgkgIENvbmZsaWN0czoKCSAgZ3N0L2lzb21wNC9xdGRlbXV4LmMKCjIwMTMtMDQtMTYgMTA6NDE6NDMgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguaDoKCSAgcXRkZW11eDogaGFuZGxlIG1zcyBzdHJlYW1zCgkgIHNtb290aHN0cmVhbWluZyBzdHJlYW1zIHNob3VsZCBiZSBoYW5kbGVkIGFzIGEgc3BlY2lhbCBraW5kIG9mCgkgIGZyYWdtZW50ZWQgaXNvbWVkaWEuIEluIE1TUyB0aGUgZnJhZ21lbnRzIHdpbGwgbm90IGNvbnRhaW4gYQoJICAnbW9vdicgYXRvbSB3aXRoIHRoZSBtZWRpYSBkZXNjcmlwdGlvbnMsIHRoaXMgaGFzIHRvIGJlIGV4dHJhY3RlZAoJICBmcm9tIHRoZSBjYXBzLgoJICBBZGRpdGlvbmFsbHksIHRoZXJlIHNob3VsZCBiZSBhbm90aGVyIGRlbXV4ZXIgdXBzdHJlYW0gdGhhdCBpcyBsaWtlbHkKCSAgZ29pbmcgdG8gYmUgdGhlIG9uZSB0byBhbnN3ZXIvYWN0IG9uIHF1ZXJpZXMgYW5kIGV2ZW50cywgc28gcXRkZW11eCBoYXMKCSAgdG8gZm9yd2FyZCB0aG9zZSB1cHN0cmVhbS4KCjIwMTMtMDUtMDYgMTY6NTQ6MDIgKzAyMDAgIE1pY2hhZWwgT2xicmljaCA8bS5vbGJyaWNoQHBlbmd1dHJvbml4LmRlPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSAgdjRsMjogcmVxdWVzdCAwIGJ1ZmZlcnMgd2hlbiBzdG9wcGluZwoJICBXaXRob3V0IHRoaXMgc3RvcHBpbmcgdGhlIHBvb2wgaW4gKl9zZXRfY2FwcygpIGlzIHVzZWxlc3MuCgkgIFNfRk1UIHdpbGwgc3RpbGwgZmFpbCB3aXRoIEVCVVNZLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njk5ODM1CgoyMDEzLTA1LTA3IDE2OjMyOjAzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9qcGVnL2dzdGpwZWdkZWMuYzoKCSAganBlZ2RlYzogQnkgZGVmYXVsdCBhc3N1bWUgdGhhdCB3ZSdyZSB3b3JraW5nIG9uIG5vbi1wYWNrZXRpemVkIGlucHV0CgkgIE9ubHkgZGV0ZWN0aW5nIHRoaXMgaW4gc2V0X2Zvcm1hdCgpIGRvZXMgbm90IHdvcmsgYmVjYXVzZSB3ZSBtaWdodAoJICBub3QgZ2V0IGFueSBjYXBzIGF0IGFsbCwgZS5nLiBmcm9tIGZpbGVzcmMuCgoyMDEzLTA1LTA3IDE2OjMwOjU5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9saWJwbmcvZ3N0cG5nZGVjLmM6CgkgIHBuZ2RlYzogSW1wbGVtZW50IHBhcnNpbmcgZnVuY3Rpb25hbGl0eQoJICBUaGlzIGFsbG93cyB0byBwbHVnIHBuZ2RlYyBkaXJlY3RseSB3aXRob3V0IGEgcGFyc2VyIGlmIHRoYXQKCSAgaXMgZGVzaXJlZC4KCSAgUGFyc2luZyBjb2RlIGlzIGJhc2VkIG9uIHBuZ3BhcnNlLgoKMjAxMy0wNS0wNyAxNTo1NDoyNCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvbGliY2FjYS9nc3RjYWNhc2luay5jOgoJICBjYWNhc2luazogRml4IHN1cHBvcnQgZm9yIFJHQiBmb3JtYXRzIGFuZCBhZGQgc3VwcG9ydCBmb3IgbW9yZSBvZiB0aGVtCgoyMDEzLTA1LTA0IDEzOjE5OjUzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6CgkgIHNvdXBodHRwc3JjOiBEb24ndCBjb25zaWRlciB0aGUgY29udGVudCBzaXplIGZyb20gdGhlIEhUVFAgaGVhZGVycyBhcyBhYnNvbHV0ZWx5IGNvcnJlY3QKCSAgVGhlIEhUVFAgc2VydmVyIGNvdWxkIGdpdmUgd3JvbmcgaW5mb3JtYXRpb24sIGUuZy4gaWYgdGhlIEhUVFAgc3RyZWFtIGlzCgkgIGNodW5rLWVuY29kZWQgb3IgY29tcHJlc3NlZCwgb3IgaWYgdGhlIHNlcnZlciBkb2VzIG5vdCBrbm93IHRoZSBjb21wbGV0ZSBzaXplCgkgIGF0IHRoZSB0aW1lIHdoZW4gdGhlIGZpbGUgaXMgcmVxdWVzdGVkIGJ5IHRoZSBjbGllbnQuCgkgIEFsc28gc2VlCgkgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMTUzNTQKCjIwMTItMDgtMjAgMDk6NTI6MzIgKzAyMDAgIFBoaWxpcHAgWmFiZWwgPHAuemFiZWxAcGVuZ3V0cm9uaXguZGU+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJICB2NGwyOiBmaWxsIG91dCB2NGwyX2J1ZmZlci5ieXRlc3VzZWQgZmllbGQgZm9yIHY0bDJzaW5rCgkgIFdoZW4gcXVldWluZyBhIGJ1ZmZlciBmb3IgYSBzaW5rLCBieXRlc3VzZWQgbXVzdCBjb250YWluIHRoZSBhY3R1YWwKCSAgYW1vdW50IG9mIGRhdGEuCgkgIEZvciBhIHNvdXJjZSwgdGhlIGRyaXZlciBtdXN0IG92ZXJ3cml0ZSB0aGlzLCBzbyBpdCBkb2Vzbid0IG1hdHRlcgoJICB3aGF0IGlzIHNldCBoZXJlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njk5NTk4CgoyMDEzLTA1LTAzIDIzOjQzOjI2ICswMjAwICBTZWJhc3RpYW4gUmFzbXVzc2VuIDxzZWJyYXNAZ21haWwuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBnc3RwYXkuYzoKCSAgcnRwZ3N0cGF5OiBmaXggaW52YWxpZCBtZW1vcnkgYWNjZXNzIGluIGV2ZW50IGhhbmRsZXIKCSAgRmlyc3QgcHJvY2VzcyBldmVudCBpbiBwYXlsb2FkZXIsIHRoZW4gaGFuZCBpdCB0byB0aGUKCSAgYmFzZSBjbGFzcyB3aGljaCB0YWtlcyBvd25lcnNoaXAgb2YgdGhlIGV2ZW50LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njk5NjM3CgoyMDEzLTA1LTA0IDA5OjQ4OjAyICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYzNwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGRjYXBhcnNlLmM6CgkgIGFjM3BhcnNlLCBkY2FwYXJzZTogY2hlY2sgYnVmZmVyIHNpemUgYmVmb3JlIHRyaW1taW5nCgkgIGFuZCB1bnJlZiBvbGQgYnVmZmVyIGFzIHNvb24gYXMgcG9zc2libGUuCgoyMDEzLTA1LTAyIDE1OjAwOjIyICswMjAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPHlsYXR1eWFAZ21haWwuY29tPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RkY2FwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGRjYXBhcnNlLmg6CgkgIGRjYXBhcnNlOiBhZGQgc3VwcG9ydCBmb3IgImF1ZGlvL3gtcHJpdmF0ZTEtZHRzIgoKMjAxMy0wNS0wMiAxNDo1NjowMiArMDIwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDx5bGF0dXlhQGdtYWlsLmNvbT4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWMzcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYzNwYXJzZS5oOgoJICBhYzNwYXJzZTogYWRkIHN1cHBvcnQgZm9yICJhdWRpby94LXByaXZhdGUxLWFjMyIKCjIwMTMtMDUtMDMgMTI6NDY6MzcgKzAyMDAgIE1pY2hhZWwgT2xicmljaCA8bS5vbGJyaWNoQHBlbmd1dHJvbml4LmRlPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICB2NGwyOiBhbHdheXMgZ2VuZXJhdGUgdmlkZW8gaW5mbyBmcm9tIGNhcHMKCSAgSW4gdGhlIHBhc3QgZ3N0X3ZpZGVvX2luZm9fZnJvbV9jYXBzKCkgb25seSB2aWRlby94LXJhdy4gTm93IGl0IGFsc28KCSAgc3VwcG9ydHMgb3RoZXIgdmlkZW8vKiBhbmQgaW1hZ2UvKiBmb3JtYXRzLgoJICBXaXRoIHRoaXMgcGF0Y2ggdGhlIGZvcm1hdCB3b24ndCBiZSBHU1RfVklERU9fRk9STUFUX1VOS09XTiBhbmQKCSAgZ3N0X3Y0bDJfYnVmZmVyX3Bvb2xfc2V0X2NvbmZpZygpIGhhbmRsZXMgc3RyaWRlcyBjb3JyZWN0bHkuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTk1NzAKCjIwMTMtMDUtMDIgMDk6NDE6MDEgKzAyMDAgIE1pY2hhZWwgT2xicmljaCA8bS5vbGJyaWNoQHBlbmd1dHJvbml4LmRlPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuaDoKCSAgdjRsMjogdHJ5IHRvIGFsbG9jYXRlIG5ldyBidWZmZXJzIHdpdGggVklESU9DX0NSRUFURV9CVUZTIGlmIG5lZWRlZAoJICBJZiBtYXhfYnVmZmVycyBpcyAwIHRoZW4gYW4gYXJiaXRyYXJ5IG51bWJlciBvZiBidWZmZXJzIChjdXJyZW50bHkgNCkgaXMKCSAgYWxsb2NhdGVkLiBJZiB0aGlzIGlzIG5vdCBlbm91Z2ggdjRsMnNyYyBzdGFydHMgY29weWluZyBidWZmZXJzLgoJICBXaXRoIHRoaXMgcGF0Y2ggVklESU9DX0NSRUFURV9CVUZTIGlzIHVzZWQgdG8gYWxsb2NhdGUgYSBuZXcgYnVmZmVyLiBJZgoJICB0aGlzIGZhaWxzIHY0bDJzcmMgZmFsbHMgYmFjayB0byBjb3B5aW5nIGJ1ZmZlcnMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTk0NDcKCjIwMTMtMDQtMTUgMTc6Mzc6MDEgKzAyMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8eWxhdHV5YUBnbWFpbC5jb20+CgoJKiBzeXMvb3N4dmlkZW8vb3N4dmlkZW9zaW5rLmg6CgkqIHN5cy9vc3h2aWRlby9vc3h2aWRlb3NpbmsubToKCSAgb3N4dmlkZW9zaW5rOiBmaXggc2V0dGluZyB3aW5kb3cgaGFuZGxlIGFmdGVyIHRyYW5zaXRpb24KCSAgVGhlIGRlc3Ryb3llZCBmbGFnIHdhcyBub3QgcmVzZXQgcHJvcGVybHkgYW5kIGl0J3MgYWxzbyBub3QgbmVlZGVkCgkgIGFzIHdlIGNhbiBjaGVjayBvc3h3aW5kb3cgIT0gTlVMTAoKMjAxMy0wNS0wMiAxMzo0NTo1NSArMDIwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDx5bGF0dXlhQGdtYWlsLmNvbT4KCgkqIGdzdC9ydHAvTWFrZWZpbGUuYW06CgkgIHJ0cDogZml4IGR1cGxpY2F0ZWQgc3ltYm9scyB3aXRoIGxpYnZweAoKMjAxMy0wNC0yOSAxMDo1ODowOCArMDIwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDx5bGF0dXlhQGdtYWlsLmNvbT4KCgkqIGdzdC9nb29tMmsxL01ha2VmaWxlLmFtOgoJICBnb29tMmsxOiBmaXggZHVwbGljYXRlZCBzeW1ib2xzIHdpdGggZ29vbQoKMjAxMy0wNS0wMSAxNTo0OTo0NSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRwYXkuYzoKCSAgcnRwaDI2NHBheTogSWYgdGhlIGFkYXB0ZXIgaXMgZW1wdHkgb24gRU9TIGRvbid0IHRyeSB0byBtYXAgaXRzIGNvbnRlbnQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5OTMxNAoKMjAxMy0wNC0zMCAxNDozNjozOCArMDIwMCAgT2dueWFuIFRvbmNoZXYgPG9nbnlhbkBheGlzLmNvbT4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYWRlbXV4OiBhZGQgc3RyZWFtLWZvcm1hdD1yYXcgdG8gYWFjIGNhcHMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5OTMwMwoKMjAxMy0wNC0zMCAxMzowNzozNyArMDIwMCAgTWljaGFlbCBPbGJyaWNoIDxtLm9sYnJpY2hAcGVuZ3V0cm9uaXguZGU+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJICB2NGwyOiBmaXggYW5kIGNsZWFudXAgVklESU9DX0VYUEJVRiBoYW5kbGluZwoJICBjbGVhciB0aGUgc3RydWN0LCBhbmQgcHJvdmlkZSBhIGNvcnJlY3QgZXJyb3IgbWVzc2FnZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njk5MzM3CgoyMDEyLTA3LTA1IDE4OjAyOjI3ICswMjAwICBQaGlsaXBwIFphYmVsIDxwLnphYmVsQHBlbmd1dHJvbml4LmRlPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICB2NGwyOiBoYW5kbGUgcmV0dXJuIHZhbHVlIC1FTk9UVFkgZm9yIHVuaW1wbGVtZW50ZWQgVklESU9DX0dfUEFSTQoJICBOZXdlciBrZXJuZWxzIHJldHVybiAtRU5PVFRZLCBvbGRlciBrZXJuZWxzIHJldHVybiAtRUlOVkFMIGlmIHRoZSBpb2N0bAoJICBpcyBub3QgaW1wbGVtZW50ZWQuIFdpdGggdGhpcyBwYXRjaCwgR1N0cmVhbWVyIGhhbmRsZXMgYm90aCBjYXNlcy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5ODgyNQoKMjAxMy0wNC0zMCAwOToxNjowNyArMDIwMCAgTWljaGFlbCBPbGJyaWNoIDxtLm9sYnJpY2hAcGVuZ3V0cm9uaXguZGU+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIHY0bDI6IGZpeCBicm9rZW4gYm9vbGVhbiBleHByZXNzaW9uIHRvIGRldGVjdCBub24tZnJhbWUgYnVmZmVycwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njk5Mjk0CgoyMDEzLTA0LTI5IDExOjA3OjU2ICswNTMwICBBcnVuIFJhZ2hhdmFuIDxhcnVuLnJhZ2hhdmFuQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSAgcHVsc2VzaW5rOiBCZXR0ZXIgZXJyb3IgbWVzc2FnZSB3aGVuIHNlcnZlciB2ZXJzaW9uIGlzIHRvbyBvbGQKCSAgV2UgY2hlY2sgZm9yIHRoZSBsaWJyYXJ5IHZlcnNpb24gYXQgY29uZmlndXJlIHRpbWUsIGJ1dCB0aGUgc2VydmVyCgkgIHZlcnNpb24gY2FuIG9ubHkgcmVhbGx5IGJlIGNoZWNrZWQgYXQgcnVuLXRpbWUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTg3NjgKCjIwMTMtMDQtMjcgMTE6MjQ6MzggKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBnc3QvdWRwL2dzdHVkcC5jOgoJICB1ZHA6IGxvZyBXQVJOSU5HIGRlYnVnIG1lc3NhZ2UgaWYgVURQIG11bHRpY2FzdCBpcyBsaWtlbHkgdG8gYmUgYnJva2VuCgoyMDEzLTA0LTI3IDExOjE2OjU0ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZ3N0L3VkcC9nc3R1ZHBzcmMuYzoKCSAgdWRwc3JjOiBhZGQgaW5jbHVkZXMgdG8gZ2V0IHNvY2tsZW5fdCBkZWZpbmVkIG9uIFdpbmRvd3MKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5MjQwMAoKMjAxMy0wNC0yNyAwOTozOTo0NSArMDEwMCAgWXVyeSBEZWxlbmRpayA8YXN5bmMucHJvY2Vzc2luZ2pzQHlhaG9vLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBhZGQgc3VwcG9ydCBmb3IgVlA2RiBWUDYgZmxhc2ggY29kZWMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5OTAxMAoKMjAxMi0wOS0wNSAxNjozOTozMSArMDIwMCAgTWljaGFlbCBPbGJyaWNoIDxtLm9sYnJpY2hAcGVuZ3V0cm9uaXguZGU+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJKiBzeXMvdjRsMi92NGwyX2NhbGxzLmM6CgkgIHY0bDI6IGFsc28gcG9sbCBmb3Igb3V0cHV0IGRldmljZXMKCSAgTm90ZSB0aGF0IHRoZSBWNEwyIEFQSSBkZWZpbmVzIHRoYXQgZm9yIG91dHB1dCBkZXZpY2VzIFBPTExPVVQKCSAgaW5kaWNhdGVzIHRoYXQgYSBidWZmZXIgaXMgcmVhZHkgdG8gYmUgZGVxdWV1ZWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTg5OTIKCjIwMTItMDgtMjAgMDk6NTI6MzQgKzAyMDAgIFBoaWxpcHAgWmFiZWwgPHAuemFiZWxAcGVuZ3V0cm9uaXguZGU+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIHY0bDI6IGZpeCBjb3B5aW5nIG9mIGVuY29kZWQgYnVmZmVycwoJICBUaGUgZXhpc3RlbmNlIG9mIGEgR3N0VmlkZW9Gb3JtYXRJbmZvIGRvZXMgbm90IGd1YXJhbnRlZSwgdGhhdAoJICB0aGUgYnVmZmVyIGNvbnRhaW5zIHZpZGVvIGZyYW1lcywgc28gdGhlIGZvcm1hdCBtdXN0IGJlIGNoZWNrZWQuCgkgIEFsc28sIGZvciBlbmNvZGVkIGJ1ZmZlcnMgdGhlIGxlbmd0aCBpcyB2YXJpYWJsZSBhbmQgbXVzdCBiZSBzZXQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTg5NDkKCjIwMTItMDctMTAgMTU6Mjk6NDAgKzAyMDAgIE1pY2hhZWwgT2xicmljaCA8bS5vbGJyaWNoQHBlbmd1dHJvbml4LmRlPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICB2NGwyOiBhZGQgc3VwcG9ydCBmb3IgbXBlZzQgYW5kIEguMjYzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTg4MjYKCjIwMTMtMDQtMjYgMTI6MTY6NDkgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L21vbm9zY29wZS9nc3Rtb25vc2NvcGUuYzoKCSAgbW9ub3Njb3BlOiBGaXggZGVidWcgc3RhdGVtZW50CgoyMDEzLTA0LTI1IDIxOjUwOjMzICswMjAwICBBbGV4YW5kZXIgU2NocmFiIDxtZXJvc0BtZXJvcy1kZXNrdG9wLihub25lKT4KCgkqIGdzdC9sYXcvbXVsYXctZGVjb2RlLmM6CgkqIGdzdC9sYXcvbXVsYXctZGVjb2RlLmg6CgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9tdWxhd2RlYy5jOgoJICBtdWxhd2RlYzogY2hhbmdlIGJhc2UgY2xhc3MgdG8gR3N0QXVkaW9EZWNvZGVyCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTg4OTQKCjIwMTMtMDQtMjUgMjA6NTk6NTIgKzAyMDAgIE1hdGhpZXUgRHVwb25jaGVsbGUgPG1hdGhpZXUuZHVwb25jaGVsbGVAZXBpdGVjaC5ldT4KCgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIyLmM6CgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIyLmg6CgkgIHZpZGVvbWl4ZXI6IHNlbmQgc3RyZWFtLXN0YXJ0IGV2ZW50LgoKMjAxMi0xMC0xOCAxMDozNzozNSArMDIwMCAgUGhpbGlwcCBaYWJlbCA8cC56YWJlbEBwZW5ndXRyb25peC5kZT4KCgkqIHN5cy92NGwyL3Y0bDJfY2FsbHMuYzoKCSAgdjRsMjogaGFuZGxlIEVOT0RBVEEgcmV0dXJuIHZhbHVlIGZvciBWSURJT0NfRU5VTVNURAoJICBJbiBrZXJuZWwgdjMuNy1yYzEsIFZJRElPQ19FTlVNU1REIHJldHVybnMgRU5PREFUQSBpZiB0aGUgY3VycmVudCBpbnB1dAoJICBkb2VzIG5vdCBzdXBwb3J0IHRoZSBTVEQgQVBJLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njk4ODI3CgoyMDEzLTA0LTI1IDEzOjE5OjM1ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1kb2NzLnNnbWw6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJKiBnc3QvcnRwL2dzdHJ0cEwxNmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwTDE2cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwYWMzZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBhYzNwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBhbXJkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGFtcnBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGJ2ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBidnBheS5jOgoJICBkb2NzOiBhZGQgc29tZSBwYXkvZGVwYXlsb2FkZXJzCgkgIFNlZSBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTUxNjMxCgoyMDEzLTA0LTI1IDEyOjQ0OjE1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9sYXcvbXVsYXctZW5jb2RlLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL211bGF3ZW5jLmM6CgkgIG11bGF3OiBTb21lIG1pbm9yIG1lbWxlYWsgZml4ZXMgYW5kIGNsZWFudXAKCjIwMTMtMDQtMjQgMTM6NTY6NTYgKzAyMDAgIEFsZXhhbmRlciBTY2hyYWIgPGFsZXhhc0BheGlzLmNvbT4KCgkqIGdzdC9sYXcvbXVsYXctZW5jb2RlLmM6CgkqIGdzdC9sYXcvbXVsYXctZW5jb2RlLmg6CgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9tdWxhd2VuYy5jOgoJICBtdWxhd2VuYzogY2hhbmdlIHRvIGdzdGF1ZGlvZW5jb2RlciBiYXNlLCBhZGRlZCBiaXRyYXRlIHRhZ3MKCjIwMTItMDUtMDMgMTY6MDc6MjcgKzAyMDAgIE1pY2hhZWwgT2xicmljaCA8bS5vbGJyaWNoQHBlbmd1dHJvbml4LmRlPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSAgdjRsMjogYnVmZmVycG9vbDogcmVzZXQgYnVmZmVyIHNpemUgaW4gcmVsZWFzZV9idWZmZXIKCSAgVGhlIGJ1ZmZlciBtaWdodCBzdGlsbCBiZSBpbiB1c2UgZWxzZXdoZXJlIHdoZW4gZGVxdWV1aW5nIGJ1ZmZlcnMgZm9yCgkgIG91dHB1dHMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTg4MjIKCjIwMTItMDQtMjAgMDk6NTM6MzUgKzAyMDAgIE1pY2hhZWwgT2xicmljaCA8bS5vbGJyaWNoQHBlbmd1dHJvbml4LmRlPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSAgdjRsMjogYnVmZmVycG9vbDogcmVtb3ZlIHVudXNlZCBpbmNsdWRlcwoJICBUaGUgaGFja3MgdGhhdCBuZWVkZWQgdGhlc2UgYXJlIGxvbmcgZ29uZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5ODgyMQoKMjAxMy0wNC0yNSAxMjoxMjoyMyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdWRwL2dzdG11bHRpdWRwc2luay5jOgoJKiBnc3QvdWRwL2dzdG11bHRpdWRwc2luay5oOgoJICAobXVsdGkpdWRwc2luazogVXNlIHNlcGFyYXRlIHNvY2tldHMgZm9yIElQdjQgYW5kIElQdjYKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTUzNDI0MwoKMjAxMy0wNC0yNSAxMDo0NDo0NCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdWRwL2dzdGR5bnVkcHNpbmsuYzoKCSogZ3N0L3VkcC9nc3RkeW51ZHBzaW5rLmg6CgkgIGR5bnVkcHNpbms6IFVzZSBzZXBhcmF0ZSBzb2NrZXRzIGZvciBJUHY0IGFuZCBJUHY2CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD01MzQyNDMKCjIwMTMtMDQtMjUgMTA6NDM6NTYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3VkcC9NYWtlZmlsZS5hbToKCSAgdWRwOiBEb24ndCBpbmNsdWRlIHJlbW92ZWQgZ3N0dWRwLmggaW4gbm9pbnN0X0hFQURFUlMKCjIwMTMtMDQtMTcgMTY6NDc6MzEgLTA3MDAgIFRvZGQgQWd1bG5pY2sgPHRvZGRAYWd1bG5pY2suY29tPgoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGF1ZGlvc2luay5jOgoJICBvc3hhdWRpbzogVXNlIGdzdF9hdWRpb19jaGFubmVsX3Bvc2l0aW9uc190b19tYXNrKCkgdG8gY3JlYXRlIG1hc2sKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5ODgwNwoKMjAxMy0wNC0xNyAxNjoxMjoyNiAtMDcwMCAgVG9kZCBBZ3VsbmljayA8dG9kZEBhZ3Vsbmljay5jb20+CgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4YXVkaW9zaW5rLmM6CgkgIG9zeGF1ZGlvOiBSZW1vdmUgdW51c2VkIGNvZGUKCjIwMTMtMDQtMjUgMDk6MTY6MTQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3VkcC9NYWtlZmlsZS5hbToKCSogZ3N0L3VkcC9nc3RkeW51ZHBzaW5rLmg6CgkqIGdzdC91ZHAvZ3N0bXVsdGl1ZHBzaW5rLmg6CgkqIGdzdC91ZHAvZ3N0dWRwLmg6CgkqIGdzdC91ZHAvZ3N0dWRwc2luay5oOgoJKiBnc3QvdWRwL2dzdHVkcHNyYy5oOgoJICB1ZHA6IFJlbW92ZSB1bnVzZWQgZW51bSB0eXBlCgoyMDEzLTA0LTI1IDA5OjEzOjUxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC91ZHAvTWFrZWZpbGUuYW06CgkqIGdzdC91ZHAvZ3N0ZHludWRwc2luay5jOgoJKiBnc3QvdWRwL2dzdG11bHRpdWRwc2luay5jOgoJKiBnc3QvdWRwL2dzdHVkcC1tYXJzaGFsLmxpc3Q6CgkgIHVkcDogVXNlIHRoZSBnZW5lcmljIG1hcnNoYWxsZXIgaW5zdGVhZCBvZiBnZW5lcmF0aW5nIG1hcnNoYWxsZXJzCgoyMDEzLTA0LTI1IDA5OjA3OjQxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC91ZHAvZ3N0dWRwc3JjLmM6CgkqIGdzdC91ZHAvZ3N0dWRwc3JjLmg6CgkgIHVkcHNyYzogUmVuYW1lIGluc3RhbmNlIHZhcmlhYmxlIGZyb20gaG9zdCB0byBtdWx0aV9ncm91cAoJICBUaGlzIGlzIG1vcmUgY29uc2lzdGVudCBhcyBpdCdzIHVzZWQgZm9yIHRoZSBtdWx0aWNhc3QtZ3JvdXAgcHJvcGVydHkuCgoyMDEzLTA0LTI1IDA5OjAzOjU2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC91ZHAvZ3N0dWRwc3JjLmM6CgkgIHVkcHNyYzogQWRkIGJpbmQtYWRkcmVzcyBwcm9wZXJ0eQoJICBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gbXVsdGljYXN0LWdyb3VwIGN1cnJlbnRseSBmb3IgYmFja3dhcmRzIGNvbXBhdGliaWxpdHkuCgkgIEluIDIuMCB0aGlzIHNob3VsZCBiZSBoYW5kbGVkIHNlcGFyYXRlbHksIHRoZSBmb3JtZXIgb25seSBiZWluZyB0aGUgbXVsdGljYXN0CgkgIGdyb3VwIGFuZCB0aGUgbGF0dGVyIGFsd2F5cyBiZWluZyB0aGUgYWRkcmVzcyB0aGUgc29ja2V0IGlzIGJvdW5kIHRvLCBldmVuIGlmCgkgIGEgbXVsdGljYXN0IGdyb3VwIGlzIGdpdmVuLgoKMjAxMy0wNC0yNCAxNjoyNDoyNSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwdnJhd2RlcGF5LmM6CgkgIHZyYXdkZXBheTogcmV0dXJuIG91dHB1dCBidWZmZXIgZnJvbSBwcm9jZXNzCgkgIFJldHVybiB0aGUgb3V0cHV0IGJ1ZmZlciBmcm9tIHRoZSBwcm9jZXNzIGZ1bmN0aW9uIGluc3RlYWQgb2YgcHVzaGluZwoJICBpdCBvdXJzZWx2ZXMuIFRoaXMgd2F5LCB0aGUgc3ViY2xhc3MgY2FuIGFjdHVhbGx5IGRlYWwgd2l0aCB0aGUgcmV0dXJuCgkgIHZhbHVlIG9mIHRoZSBwdXNoLgoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjkzNzI3CgoyMDEyLTEwLTAxIDA5OjI5OjIxIC0wMzAwICBEaW9nbyBDYXJib25lcmEgTHV2aXpvbiA8ZGlvZ28ubHV2aXpvbkBlbnNpdGVjLmNvbS5icj4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgdjRsMjogc2F2ZSB0aGUgZm9ybWF0IGNvcnJlY3RseQoJICBJZiBUUllfRk1UIGlzIG5vdCBpbXBsZW1lbnRlZCwgIGdzdF92NGwyX29iamVjdF9nZXRfbmVhcmVzdF9zaXplIHdpbGwKCSAgdXNlIFNfRk1UIGFuZCB3aWxsIGNoYW5nZSB0aGUgZGV2aWNlJ3Mgb3BlcmF0aW9uIG1vZGUuIFRvIHNhdmUgdGhlCgkgIG9sZCBkZXZpY2UgbW9kZSB3ZSBuZWVkIHRvIHNldCB0aGUgdHlwZSBmaWVsZCBvciBlbHNlIGl0IHdpbGwgZmFpbAoJICB0byBzYXZlIHRoZSBwcmV2aW91cyBmb3JtYXQuCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODUyMDkKCjIwMTMtMDQtMjQgMTU6Mzg6NTAgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cEwxNmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwYW1yZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBidmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZzcyMmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZzcyM2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZzcyNmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZzcyOWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZ3NtZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBpbGJjZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcGFkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHBjbWFkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHBjbXVkZXBheS5jOgoJICBydHA6IGEgbWFya2VyIGJpdCBzaG91bGQgdHJhbnNsYXRlIHRvIFJFU1lOQwoJICBBIG1hcmtlciBiaXQgb24gYW4gYXVkaW8gcGFja2V0IGRvZXMgbm90IG1lYW4gYSBESVNDT05UIChpbiB0aGUgR1N0cmVhbWVyIHNlbnNlCgkgIG9mIG1pc3NpbmcgZGF0YSkgYnV0IGl0IG1lYW5zIHRoYXQgdGhlIHBhY2tldCBpcyB0aGUgZW5kIG9mIGEgdGFsa3NwdXJ0IGFuZCB0aHVzCgkgIGEgZ29vZCBvcHBvcnR1bml0eSB0byByZXN5bmMgdG8gdGhlIGNsb2NrLiBVc2UgdGhlIFJFU1lOQyBidWZmZXIgZmxhZyB0byBub3RlCgkgIHRoaXMuCgkgIFJlYWwgZGlzY29udGludWl0aWVzIGFyZSBtYXJrZWQgd2l0aCBESVNDT05UIHN0aWxsIHdoZW4gdGhlIHNlcW51bSBoYXMgYSBHQVAgb3IKCSAgd2hlbiB0aGUgaW5wdXQgYnVmZmVyIGhhcyB0aGUgRElTQ09OVCBmbGFnIHNldC4KCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYyNzIwNAoKMjAxMy0wNC0yMiAyMzo1MTozOCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIE1BSU5UQUlORVJTOgoJKiBSRUFETUU6CgkqIFJFQURNRS5zdGF0aWMtbGlua2luZzoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSAzY2IzZDNjIHRvIDVlZGNkODUKCjIwMTMtMDQtMjIgMTA6MTk6MjkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBqcGVnZGVwYXkuYzoKCSAgcnRwanBlZ2RlcGF5OiBEcm9wIGZyYW1lIGlmIGl0J3MgbGVzcyB0aGFuIDIgYnl0ZXMgbGFyZ2UKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY3NzU2MAoKMjAxMy0wNC0xOCAxMjoyMDowOCArMDMwMCAgU3JlZXJlbmogQmFsYWNoYW5kcmFuIDxzcmVlcmVuai5iYWxhY2hhbmRyYW5AaW50ZWwuY29tPgoKCSogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b2F1ZGlvc2luay5jOgoJKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvYXVkaW9zcmMuYzoKCSogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b3ZpZGVvc2luay5jOgoJKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvdmlkZW9zcmMuYzoKCSAgYXV0b2RldGVjdDogdXNlIF9wbHVnaW5fZmVhdHVyZV9yYW5rX2NvbXBhcmUgQVBJIGluc3RlYWQgb2YgZHVwbGljYXRpbmcgdGhlIGNvZGUuCgoyMDEzLTA0LTE4IDA5OjM3OjMwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hhdWRpb3JpbmdidWZmZXIuaDoKCSAgb3N4YXVkaW86IEluY2x1ZGUgZ3N0YXVkaW9yaW5nYnVmZmVyLmggdG8gZml4IGNvbXBpbGF0aW9uIGluIDEuMAoKMjAxMy0wNC0xNyAyMTowNToxNCArMDIwMCAgUGhpbGlwcGUgTm9ybWFuZCA8cGhpbG5AaWdhbGlhLmNvbT4KCgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hhdWRpb3NpbmsuYzoKCSAgb3N4YXVkaW9zaW5rOiBjaGFubmVsLW1hc2sgY29uZmlndXJhdGlvbiBmaXhlcwoJICBTZXQgY2hhbm5lbC1tYXNrIGFjY29yZGluZyB0byBzaW5rJ3MgbGF5b3V0IGluIGNhc2Ugb2Ygc3RlcmVvIGxheW91dC4KCSAgQWxzbyBpbml0aWFsaXplIGFuZCByZXNldCB0aGUgbWFzayB3aGVuIGFuIHVucmVjb2duaXplZCBjaGFubmVsIGlzIGRldGVjdGVkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njk4MjI0CgoyMDEzLTA0LTE1IDE5OjUzOjI4IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJICB2NGwyc3JjOiBEaXNhYmxlIHJlbmVnb3RpYXRpb24gaW4gdGhlIG5lZ290aWF0ZSBtZXRob2QKCSAgVGhpcyB3YXksIHdlIGRvbid0IGJsb2NrIHRoZSBpbml0aWFsIG5lZ290aWF0aW9uLgoJICBUaGFua3MgdG8gSmVyZW15IFdoaXRpbmcgZm9yIGRvaW5nIGFsbCB0aGUgdGVzdGluZy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5NTk4MQoKMjAxMy0wNC0xNSAxOTo0NjoxMiAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzoKCSAgUmV2ZXJ0ICJ2NGwyOiBkaXNhYmxlIHJlbmVnb3RpYXRpb24iCgkgIFRoaXMgcmV2ZXJ0cyBjb21taXQgZDFiMjZlMWQ1OTRhYjJiNjMzMjRlNDNhMzYzMzA0NzVlOThjZGYxOC4KCSAgVGhpcyBjYXVzZXMgdGhlIGluaXRpYWwgbmVnb3RpYXRpb24gdG8gbmV2ZXIgaGFwcGVuIGlmIGEgcmVjb25maWd1cmUKCSAgZXZlbnQgaXMgcmVjZWl2ZWQgYWZ0ZXIgZ3N0X2Jhc2Vfc3JjX3N0YXJ0X2NvbXBsZXRlKCkgYnV0IGJlZm9yZSB0aGUgbG9vcAoJICBzdGFydHMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTU5ODEKCjIwMTMtMDQtMTcgMjE6MTI6NTUgKzAyMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvZmxhYy9nc3RmbGFjdGFnLmM6CgkgIGZsYWN0YWc6IGZvcndhcmQgY2FwcyBldmVudAoJICBUaGlzIGVuc3VyZXMgdGhhdCB0aGUgZG93bnN0cmVhbSBlbGVtZW50IHdpbGwgZ2V0IHRoZSBldmVudCBhbmQgbmVnb3RpYXRlcy4gQWRkCgkgIGEgRklYTUUgZm9yIHVwZGF0aW5nIHRoZSBzdHJlYW1oZWFkZXIgZmllbGQgb24gdGggY2Fwcy4KCjIwMTMtMDQtMTcgMDc6NTA6MjcgKzAyMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvZmxhYy9nc3RmbGFjZW5jLmM6CgkqIGV4dC9mbGFjL2dzdGZsYWN0YWcuYzoKCSAgZmxhYzogYWRkIG1vcmUgbG9nZ2luZwoKMjAxMy0wNC0xNyAyMDoyNDo0OCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4Y29yZWF1ZGlvY29tbW9uLmg6CgkgIG9zeGF1ZGlvOiBGaXggbWVyZ2UgY29uZmxpY3RzCgoyMDEzLTA0LTE3IDEwOjEwOjQ2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgb3N4YXVkaW86IEZpeCBjb25maWd1cmUgY2hlY2sgZm9yIG9zeGF1ZGlvIHBsdWdpbgoKMjAxMy0wNC0xNyAwOTo1MDo0MyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4YXVkaW9yaW5nYnVmZmVyLmM6CgkgIG9zeGF1ZGlvcmluZ2J1ZmZlcjogRmlyc3QgY2hlY2sgdGhlIHR5cGUsIHRoZW4gY2FzdAoKMjAxMy0wNC0xNiAyMjo0NjowMCArMDkwMCAgVGFrYXNoaSBOYWthamltYSA8dGVkLm5ha2FqaW1hQGdtYWlsLmNvbT4KCgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hhdWRpb3JpbmdidWZmZXIuYzoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGF1ZGlvc2luay5oOgoJICBvc3hhdWRpbzogdXNlIEdTVF9JU19PU1hfQVVESU9fU0lOSyBpbiByaW5nIGJ1ZmZlci4KCjIwMTMtMDQtMTAgMjE6MDY6MTYgKzA5MDAgIFRha2FzaGkgTmFrYWppbWEgPHRlZC5uYWthamltYUBnbWFpbC5jb20+CgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4YXVkaW9yaW5nYnVmZmVyLmM6CgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hhdWRpb3NpbmsuYzoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGF1ZGlvc2luay5oOgoJICBvc3hhdWRpbzogY2FsbCBzZXRfY2hhbm5lbF9wb3NpdGlvbnMoKSBpbiBvc3hhdWRpb3JpbmdidWZmZXIgYWNxdWlyZSgpCgoyMDEzLTA0LTEyIDEyOjE4OjA0IC0wNzAwICBUb2RkIEFndWxuaWNrIDx0b2RkQGFndWxuaWNrLmNvbT4KCgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hhdWRpb3JpbmdidWZmZXIuYzoKCSAgb3N4YXVkaW86IHVzZSBHU1RfQVVESU9fSU5GT18qIGFjY2Vzc29ycwoJICBDaGFuZ2VzIGluY2x1ZGUgdGhlIGZvbGxvd2luZzoKCSAgKiBVcGRhdGUgY2xhc3NuYW1lIHJlZmVyZW5jZXMKCSAgKiBSZXBsYWNlIEdTVF9CT0lMRVJQTEFURV9GVUxMIHdpdGggR19ERUZJTkVfVFlQRQoJICAqIFVzZSBuZXcgR3N0QXVkaW9JbmZvIHN0cnVjdCBhbmQgbWV0aG9kcwoJICAqIFVzZSBuZXcgYnVmZmVyIG1lbW9yeSBhbGxvY2F0aW9uIHNjaGVtZQoJICBDb25mbGljdHM6CgkgIHN5cy9vc3hhdWRpby9nc3Rvc3hhdWRpb3JpbmdidWZmZXIuYwoKMjAxMy0wNC0xMiAxMTo1MTo0NiAtMDcwMCAgVG9kZCBBZ3VsbmljayA8dG9kZEBhZ3Vsbmljay5jb20+CgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4Y29yZWF1ZGlvY29tbW9uLmg6CgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hjb3JlYXVkaW9oYWwuYzoKCSAgb3N4YXVkaW86IGFkanVzdCBmb3IgY2hhbmdlcyB0byBnbGliIG11dGV4IGFwaS4KCjIwMTMtMDQtMTAgMDE6MjE6NDkgKzA5MDAgIFRha2FzaGkgTmFrYWppbWEgPHRlZC5uYWthamltYUBnbWFpbC5jb20+CgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4YXVkaW9zaW5rLmM6CgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hhdWRpb3NyYy5jOgoJICBvc3hhdWRpbzogdHJ5IHRvIGZpeCB1cCBhY2NvcmRpbmcgdG8gU2ViYXN0aWFuJ3MgY29tbWVudHMKCjIwMTMtMDQtMDUgMTA6MDI6MzggKzAyMDAgIFBoaWxpcHBlIE5vcm1hbmQgPHBoaWxuQGlnYWxpYS5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hhdWRpb3JpbmdidWZmZXIuaDoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGF1ZGlvc2luay5jOgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4YXVkaW9zaW5rLmg6CgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hhdWRpb3NyYy5oOgoJICBvc3hhdWRpbzogYnVpbGQgZml4ZXMKCSAgRW5hYmxlIHRoZSBvc3hhdWRpbyBwbHVnaW4gYnVpbGQgaW4gY29uZmlndXJlLmFjIGFuZCBmaXggc29tZQoJICBpbmNsdWRlIGRpcmVjdGl2ZSBvcmRlciBpc3N1ZXMuCgoyMDEzLTA0LTAyIDIyOjI4OjA5ICswOTAwICB0ZWQtbiA8dGVkLm5ha2FqaW1hQGdtYWlsLmNvbT4KCgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hhdWRpb3NyYy5jOgoJICBvc3hhdWRpbzogZml4IGxheW91dCBmb3Igb3N4YXVkaW9zcmMKCjIwMTMtMDMtMzAgMjI6NDk6MzQgKzA5MDAgIHRlZC1uIDx0ZWQubmFrYWppbWFAZ21haWwuY29tPgoKCSogc3lzL29zeGF1ZGlvL01ha2VmaWxlLmFtOgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4YXVkaW9lbGVtZW50LmM6CgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hhdWRpb3JpbmdidWZmZXIuYzoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGF1ZGlvcmluZ2J1ZmZlci5oOgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4YXVkaW9zaW5rLmM6CgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hhdWRpb3NpbmsuaDoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGF1ZGlvc3JjLmM6CgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hhdWRpb3NyYy5oOgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4Y29yZWF1ZGlvY29tbW9uLmM6CgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hjb3JlYXVkaW9jb21tb24uaDoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeHJpbmdidWZmZXIuYzoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeHJpbmdidWZmZXIuaDoKCSAgb3N4YXVkaW86IHBvcnQgdG8gdi4xLjAKCjIwMTMtMDQtMTYgMTk6Mjk6NDggLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyMi5jOgoJICB2aWRlb21peGVyOiBEb24ndCB1bnJlZiBxdWVyeSwgd2UgZG9uJ3Qgb3duIGl0CgkgIEZpeGVzIGRvdWJsZS11bnJlZiBidWcuIEJ1ZyBmb3VuZCBieSBZb3VuZXNzIEFsYW91aQoKMjAxMy0wNC0xNiAyMDo0MToxMCArMDIwMCAgUGhpbGlwcGUgTm9ybWFuZCA8cGhpbG5AaWdhbGlhLmNvbT4KCgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6CgkgIHNvdXBodHRwc3JjOiBmaXggU0NIRURVTElORyBxdWVyeSBzdXBwb3J0CgkgIENoYWluIHRoZSBxdWVyeSB1cCB0byBwYXJlbnQgYmVmb3JlIGFkZGluZyBfQkFORFdJRFRIX0xJTUlURUQgZmxhZywKCSAgc28gdGhhdCBhbGwgdGhlIG90aGVyIGZsYWdzIGdldCBzZXQsIGFuZCBwdXNoIG1vZGUgZ2V0cyBhZGRlZCBhcwoJICBzdXBwb3J0ZWQgYWN0aXZhdGlvbiBtb2RlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjkzNDg0CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTgxNTYKCjIwMTMtMDMtMzEgMTI6MDU6NDkgKzAyMDAgIFBoaWxpcHBlIE5vcm1hbmQgPHBoaWxuQGlnYWxpYS5jb20+CgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOgoJICBzb3VwaHR0cHNyYzogYmFzaWMgc2NoZWR1bGluZyBxdWVyeSBzdXBwb3J0CgkgIEFuc3dlciB0byBzY2hlZHVsaW5nIHF1ZXJpZXMgd2l0aCBkZWZhdWx0IHBhcmFtZXRlcnMgYW5kIHRoZSBuZXcKCSAgX0JBTkRXSURUSF9MSU1JVEVEX0ZMQUcgc28gdGhhdCBkb3duc3RyZWFtIGlzIGFkdmlzZWQgdG8gbWluaW1pemUgc2VlawoJICBvcGVyYXRpb25zIGFuZCBwZXJmb3JtIG9uLWRpc2sgYnVmZmVyaW5nIGlmIHBvc3NpYmxlLgoJICBCdWcgNjkzNDg0CgoyMDEzLTA0LTE1IDE0OjMyOjQ2ICswMDAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPHlsYXR1eWFAZ21haWwuY29tPgoKCSogc3lzL29zeHZpZGVvL29zeHZpZGVvc2luay5tOgoJICBvc3h2aWRlb3Npbms6IGZpeCBzZWdmYXVsdCBhY2Nlc3Npbmcgb3N4d2luZG93IHdoZW4gbm90IHNldCB5ZXQKCjIwMTItMTAtMjQgMTI6MTQ6NTAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvYWFsaWIvTWFrZWZpbGUuYW06CgkqIGV4dC9jYWlyby9NYWtlZmlsZS5hbToKCSogZXh0L2R2L01ha2VmaWxlLmFtOgoJKiBleHQvZmxhYy9NYWtlZmlsZS5hbToKCSogZXh0L2dka19waXhidWYvTWFrZWZpbGUuYW06CgkqIGV4dC9qYWNrL01ha2VmaWxlLmFtOgoJKiBleHQvanBlZy9NYWtlZmlsZS5hbToKCSogZXh0L2xpYmNhY2EvTWFrZWZpbGUuYW06CgkqIGV4dC9saWJwbmcvTWFrZWZpbGUuYW06CgkqIGV4dC9taWttb2QvTWFrZWZpbGUuYW06CgkqIGV4dC9wdWxzZS9NYWtlZmlsZS5hbToKCSogZXh0L3JhdzEzOTQvTWFrZWZpbGUuYW06CgkqIGV4dC9zaG91dDIvTWFrZWZpbGUuYW06CgkqIGV4dC9zb3VwL01ha2VmaWxlLmFtOgoJKiBleHQvc3BlZXgvTWFrZWZpbGUuYW06CgkqIGV4dC90YWdsaWIvTWFrZWZpbGUuYW06CgkqIGV4dC92cHgvTWFrZWZpbGUuYW06CgkqIGV4dC93YXZwYWNrL01ha2VmaWxlLmFtOgoJKiBnc3QvYWxwaGEvTWFrZWZpbGUuYW06CgkqIGdzdC9hcGV0YWcvTWFrZWZpbGUuYW06CgkqIGdzdC9hdWRpb2Z4L01ha2VmaWxlLmFtOgoJKiBnc3QvYXVkaW9wYXJzZXJzL01ha2VmaWxlLmFtOgoJKiBnc3QvYXVwYXJzZS9NYWtlZmlsZS5hbToKCSogZ3N0L2F1dG9kZXRlY3QvTWFrZWZpbGUuYW06CgkqIGdzdC9hdmkvTWFrZWZpbGUuYW06CgkqIGdzdC9jdXR0ZXIvTWFrZWZpbGUuYW06CgkqIGdzdC9kZWJ1Z3V0aWxzL01ha2VmaWxlLmFtOgoJKiBnc3QvZGVpbnRlcmxhY2UvTWFrZWZpbGUuYW06CgkqIGdzdC9kdG1mL01ha2VmaWxlLmFtOgoJKiBnc3QvZWZmZWN0di9NYWtlZmlsZS5hbToKCSogZ3N0L2VxdWFsaXplci9NYWtlZmlsZS5hbToKCSogZ3N0L2Zsdi9NYWtlZmlsZS5hbToKCSogZ3N0L2ZseC9NYWtlZmlsZS5hbToKCSogZ3N0L2dvb20vTWFrZWZpbGUuYW06CgkqIGdzdC9nb29tMmsxL01ha2VmaWxlLmFtOgoJKiBnc3QvaWN5ZGVtdXgvTWFrZWZpbGUuYW06CgkqIGdzdC9pZDNkZW11eC9NYWtlZmlsZS5hbToKCSogZ3N0L2ltYWdlZnJlZXplL01ha2VmaWxlLmFtOgoJKiBnc3QvaW50ZXJsZWF2ZS9NYWtlZmlsZS5hbToKCSogZ3N0L2lzb21wNC9NYWtlZmlsZS5hbToKCSogZ3N0L2xhdy9NYWtlZmlsZS5hbToKCSogZ3N0L2xldmVsL01ha2VmaWxlLmFtOgoJKiBnc3QvbWF0cm9za2EvTWFrZWZpbGUuYW06CgkqIGdzdC9tb25vc2NvcGUvTWFrZWZpbGUuYW06CgkqIGdzdC9tdWx0aWZpbGUvTWFrZWZpbGUuYW06CgkqIGdzdC9tdWx0aXBhcnQvTWFrZWZpbGUuYW06CgkqIGdzdC9yZXBsYXlnYWluL01ha2VmaWxlLmFtOgoJKiBnc3QvcnRwL01ha2VmaWxlLmFtOgoJKiBnc3QvcnRwbWFuYWdlci9NYWtlZmlsZS5hbToKCSogZ3N0L3J0c3AvTWFrZWZpbGUuYW06CgkqIGdzdC9zaGFwZXdpcGUvTWFrZWZpbGUuYW06CgkqIGdzdC9zbXB0ZS9NYWtlZmlsZS5hbToKCSogZ3N0L3NwZWN0cnVtL01ha2VmaWxlLmFtOgoJKiBnc3QvdWRwL01ha2VmaWxlLmFtOgoJKiBnc3QvdmlkZW9ib3gvTWFrZWZpbGUuYW06CgkqIGdzdC92aWRlb2Nyb3AvTWFrZWZpbGUuYW06CgkqIGdzdC92aWRlb2ZpbHRlci9NYWtlZmlsZS5hbToKCSogZ3N0L3ZpZGVvbWl4ZXIvTWFrZWZpbGUuYW06CgkqIGdzdC93YXZlbmMvTWFrZWZpbGUuYW06CgkqIGdzdC93YXZwYXJzZS9NYWtlZmlsZS5hbToKCSogZ3N0L3k0bS9NYWtlZmlsZS5hbToKCSogc3lzL2RpcmVjdHNvdW5kL01ha2VmaWxlLmFtOgoJKiBzeXMvb3NzL01ha2VmaWxlLmFtOgoJKiBzeXMvb3NzNC9NYWtlZmlsZS5hbToKCSogc3lzL29zeGF1ZGlvL01ha2VmaWxlLmFtOgoJKiBzeXMvb3N4dmlkZW8vTWFrZWZpbGUuYW06CgkqIHN5cy9zdW5hdWRpby9NYWtlZmlsZS5hbToKCSogc3lzL3Y0bDIvTWFrZWZpbGUuYW06CgkqIHN5cy93YXZlZm9ybS9NYWtlZmlsZS5hbToKCSogc3lzL3hpbWFnZS9NYWtlZmlsZS5hbToKCSAgZ3N0OiBBZGQgYmV0dGVyIHN1cHBvcnQgZm9yIHN0YXRpYyBwbHVnaW5zCgoyMDEzLTA0LTEyIDE5OjI2OjExICswMDAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPHlsYXR1eWFAZ21haWwuY29tPgoKCSogZ3N0L2dvb20yazEvTWFrZWZpbGUuYW06CgkgIGdvb20yazE6IGZpeCBkdXBsaWNhdGVkIHN5bWJvbCB3aXRoIGdvb20KCjIwMTMtMDMtMTAgMTc6MTc6MTcgKzAwMDAgIEpvc2VwIFRvcnJhIDxuNzcwZ2FsYXh5QGdtYWlsLmNvbT4KCgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hhdWRpb2VsZW1lbnQuYzoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGNvcmVhdWRpb2NvbW1vbi5oOgoJICBvc3hhdWRpbzogRml4ZXMgZXJyb3I6ICJHU1RfTEVWRUxfREVGQVVMVCIgcmVkZWZpbmVkCgoyMDEzLTAzLTEwIDE3OjI3OjMwICswMDAwICBKb3NlcCBUb3JyYSA8bjc3MGdhbGF4eUBnbWFpbC5jb20+CgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4Y29yZWF1ZGlvaGFsLmM6CgkgIG9zeGF1ZGlvOiBmaXhlcyBpbXBsaWNpdCBkZWNsYXJhdGlvbiBvZiBmdW5jdGlvbiAnZ2V0cGlkJwoKMjAxMy0wNC0xNCAxNzo1NTowMiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGF1dG9nZW4uc2g6CgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gYWVkODdhZSB0byAzY2IzZDNjCgoyMDEzLTA0LTE0IDEyOjMyOjA2ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuaDoKCSAgc291cGh0dHBzcmM6IGFkZCBiYWNrICJpcmFkaW8tbW9kZSIgcHJvcGVydHkgdG8gZGlzYWJsZSBzZW5kaW5nIG9mIGljZWNhc3QgcmVxdWVzdCBoZWFkZXJzCgkgIEluIDEuMCB3ZSBub3cgYWx3YXlzIHNlbmQgdGhlIGljZWNhc3QgcmVxdWVzdCBoZWFkZXJzIGJ5IGRlZmF1bHQsIHdoaWNoCgkgIG1ha2VzIHRoZSBzZXJ2ZXIgc2VuZCBpY2VjYXN0cyBtZXRhZGF0YSBpbnNlcnRlZCBpbnRvIHRoZSBzdHJlYW0gaWYgaXQKCSAgc3VwcG9ydHMgdGhhdC4gSG93ZXZlciwgdGhlcmUgYXJlIHNvbWUgdXNlIGNhc2VzIHdoZXJlIHRoaXMgaXMgbm90CgkgIGRlc2lyYWJsZSwgbGlrZSB3aGVuIGp1c3Qgc2F2aW5nIGEgcmFkaW8gc3RyZWFtIHRvIGRpc2ssIHNvIGFkZCBiYWNrCgkgIHRoZSAiaXJhZGlvLW1vZGUiIHByb3BlcnR5IHRvIGFsbG93IHBlb3BsZSB0byBkaXNhYmxlIHRoaXMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTc5ODQKCjIwMTMtMDQtMTIgMTY6MTY6NDEgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cC5jOgoJICBydHA6IHJlZ2lzdGVyIHRhZyBpbWFnZSB0eXBlcwoJICBUaGUgcnRwZ3N0ZGVwYXkgbmVlZHMgdGhlIHR5cGUgdG8gYmUgYXZhaWxhYmxlIGluIG9yZGVyIHRvIGRlc2VyaWFsaXplIHRoZQoJICBldmVudC4KCjIwMTMtMDQtMTIgMTY6MDg6NTggKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGdzdGRlcGF5LmM6CgkgIHJ0cGdzdGRlcGF5OiBoYW5kbGUgZXZlbnQgcGFyc2UgZmFpbHVyZXMgYmV0dGVyCgoyMDEzLTA0LTExIDIyOjI1OjA1ICswMzAwICBBbnRvbiBCZWxrYSA8YW50b25iZWxrYUBnbWFpbC5jb20+CgoJKiBnc3Qvd2F2ZW5jL2dzdHdhdmVuYy5jOgoJICB3YXZlbmM6IGFkZCBUT0Mgc2V0dGVyIHN1cHBvcnQKCjIwMTMtMDQtMTIgMTI6MzE6MzAgKzAyMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3Qvd2F2ZW5jL2dzdHdhdmVuYy5jOgoJICB3YXZlbmM6IHNtYWxsIGNsZWFudXBzIGZvciB0b2MgaGFuZGxpbmcKCSAgRG9uJ3QgYWRkIGVtcHR5IGxhYmwvbm90ZSBjaHVua3MuIEFsd2F5cyBwYXNzIGluc3RhbmNlIGFzIHRoZSBmaXJzdCBwYXJhbS4gQWRkIG1vcmUgbG9nZ2luZy4KCjIwMTMtMDQtMTIgMTI6NTg6NTAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmg6CgkgIHJ0c3BzcmM6IFByb3h5IHRoZSBudHAtc3luYyBwcm9wZXJ0eSBvZiBydHBiaW4KCjIwMTMtMDQtMTIgMTI6NTE6MDUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBHaXZlIHRoZSBtYW5hZ2VyIGFsd2F5cyB0aGUgbmFtZSAibWFuYWdlciIKCSAgVGhpcyBhbGxvd3MgdG8gdXNlIHRoZSBHc3RDaGlsZFByb3h5IGludGVyZmFjZSB0byBhZGp1c3QKCSAgcHJvcGVydGllcyBvbiBpdC4KCjIwMTMtMDQtMTEgMjI6NTM6MjggKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hbHBoYWNvbG9yLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2FwZXYybXV4LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2lkM3YybXV4LmM6CgkqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy9mbGFjZGVjLmM6CgkgIHRlc3RzOiBmaXggc29tZSBwcmludGYgZm9ybWF0IGlzc3VlcyBpbiBkZWJ1ZyBtZXNzYWdlcwoKMjAxMy0wNC0xMSAxOToyNzoxNSArMDMwMCAgQW50b24gQmVsa2EgPGFudG9uYmVsa2FAZ21haWwuY29tPgoKCSogZ3N0L3dhdmVuYy9nc3R3YXZlbmMuYzoKCSogZ3N0L3dhdmVuYy9nc3R3YXZlbmMuaDoKCSAgd2F2ZW5jOiBhZGQgJ25vdGUnIGNodW5rIHN1cHBvcnQKCjIwMTMtMDQtMTEgMjA6NDY6MjYgKzAyMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkgIHB1bHNlc2luazogYWRkIGEgbGl0dGxlIG1vcmUgZG9jcyB0byB0aGUgYXVkaW9jbG9jawoKMjAxMy0wNC0xMSAxNTowMDowNSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL01ha2VmaWxlLmFtOgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuaDoKCSAgcnRzcHNyYzogYWRkIHN1cHBvcnQgZm9yIE5ldENsaWVudENsb2NrCgkgIFdoZW4gdGhlIHNlcnZlciBzdWdnZXN0cyBhIEdzdE5ldFRpbWVQcm92aWRlciBpbiB0aGUgU0RQLCBzZXQgdXAgYQoJICBHc3ROZXRDbGllbnRDbG9jayB0aGF0IHNsYXZlcyB0byB0aGUgcmVtb3RlIGNsb2NrIGFuZCBzdWdnZXN0IHRoaXMgY2xvY2sgaW4KCSAgcHJvdmlkZV9jbG9jay4KCjIwMTMtMDQtMTEgMTQ6NTc6MTEgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdWRwL2dzdG11bHRpdWRwc2luay5jOgoJKiBnc3QvdWRwL2dzdG11bHRpdWRwc2luay5oOgoJICB1ZHBzaW5rOiBhdm9pZCBhbGxvYyBhbmQgZnJlZSBpbiByZW5kZXIgZnVuY3Rpb24KCSAgQXZvaWQgZG9pbmcgYWxsb2MgYW5kIGZyZWUgaW4gdGhlIHJlbmRlciBmdW5jdGlvbiBmb3IgZWFjaCBidWZmZXIuIEluc3RlYWQsCgkgIGFsbG9jYXRlIHRoZSBuZWVkZWQgYXJyYXlzIGluIF9pbml0IGFuZCB1c2UgdGhvc2UuCgoyMDEzLTA0LTEwIDA4OjM2OjAwICswMjAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6CgkgIHdhdmVwYXJzZTogcmVtb3ZlIHN1cGVyZmx1b3VzIGdfbGlzdF9maXJzdCgpIGNhbGxzCgkgIFRoZSB2YXJpYWJsZXMgYWxyZWFkeSBwb2ludCB0byB0aGUgc3RhcnQgb2YgdGhlIGxpc3QuCgoyMDEzLTA0LTA5IDIzOjEzOjE4ICswMTAwICBBbmRyZWFzIEZlbmthcnQgPGFuZHJlYXMuZmVua2FydEBzdHJlYW11bmxpbWl0ZWQuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBzYmNkZXBheS5jOgoJICBydHBzYmNkZXBheTogZml4IHNiYyBmcmFtZSBsZW5ndGggY2FsY3VsYXRpb24gZm9yIG1vbm8gYW5kIHN0ZXJlbyBtb2RlcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njk3NDYzCgoyMDEzLTAzLTI1IDE0OjM1OjAyICswMzAwICBBbnRvbiBCZWxrYSA8YW50b25iZWxrYUBnbWFpbC5jb20+CgoJKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzoKCSogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmg6CgkgIHdhdnBhcnNlOiBhZGQgJ25vdGUnIGNodW5rIHN1cHBvcnQKCSAgQWRkICdub3RlJyBjaHVuayBzdXBwb3J0IGluIFRPQyBhcyBHU1RfVEFHX0NPTU1FTlQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5NjU0OQoKMjAxMy0wNC0wOCAxNzo1MzowOSAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogY2hlY2sgdmFsdWUgaW5zaWRlIGVuZGEgdG8gc2V0IGVuZGlhbm5lc3MKCjIwMTMtMDQtMDkgMjE6MDA6MTIgKzAyMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIDA0YzdhMWUgdG8gYWVkODdhZQoKMjAxMy0wNC0wOSAxNzozNDoxMiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pY3lkZW11eC9nc3RpY3lkZW11eC5jOgoJICBpY3lkZW11eDogYXZvaWQgY29weSB3aGVuIHdlIGNhbgoKMjAxMy0wNC0wOSAxNjo1MjoyMSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwZ3N0cGF5LmM6CgkgIGdzdHBheTogdXNlIGJ1ZmZlcmxpc3QgdG8gYXZvaWQgbWVtY3B5CgoyMDEzLTA0LTA5IDE2OjUwOjU2ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuYzoKCSAgdWRwc2luazogaW1wcm92ZSBkZWJ1ZwoKMjAxMy0wNC0wOSAwMDoyODo1NCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3dhdnBhcnNlLmM6CgkgIHRlc3RzOiByZWZhY3RvciBuZXcgd2F2cGFyc2UgdGVzdCBhIGxpdHRsZQoJICBVc2UgZmFrZXNyYyBpbnN0ZWFkIG9mIGZpbGVzcmMgd2l0aCAvZGV2L251bGwuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTY2ODQKCjIwMTMtMDQtMDggMTE6Mzg6MzMgKzAyMDAgIEFsZXhhbmRlciBTY2hyYWIgPGFsZXhhc0BheGlzLmNvbT4KCgkqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvd2F2cGFyc2UuYzoKCSAgd2F2cGFyc2U6IGVycm9yIG91dCBpZiB3ZSByZWNlaXZlIGVvcyBiZWZvcmUgYW55IHZhbGlkIGRhdGEKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5NjY4NAoKMjAxMy0wNC0wNyAwMTo0Nzo1NiArMDIwMCAgTWF0ZWogS25vcHAgPG1hdGVqLmtub3BwQGdtYWlsLmNvbT4KCgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5jOgoJICBkZWludGVybGFjZTogZm9yY2UgZGVpbnRlcmxhY2luZyBpbiAiaW50ZXJsYWNlZCIgbW9kZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njk3NDY3CgoyMDEzLTA0LTA2IDEyOjQ1OjI4IC0wMzAwICBUaGliYXVsdCBTYXVuaWVyIDx0aGliYXVsdC5zYXVuaWVyQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZ2RrX3BpeGJ1Zi9nc3RnZGtwaXhidWZzaW5rLmM6CgkgIGdka3BpeGJ1ZnNpbms6IEFkZCB0aW1lc3RhbXAvcnVubmluZy10aW1lL3N0cmVhbS10aW1lIHRvIHRoZSBlbWl0ZWQgbWVzc2FnZQoKMjAxMy0wNC0wNSAxNDozODo0MyArMDIwMCAgTmljb2xhIE11cmlubyA8bmljb2xhLm11cmlub0BnbWFpbC5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cHNiY2RlcGF5LmM6CgkgIHJ0cHNiY2RlcGF5OiBmaXggcHJpbnRmIGZvcm1hdCBjb21waWxlciB3YXJuaW5ncwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njk3MzQzCgoyMDEzLTA0LTA1IDA5OjM0OjIzICswMTAwICBUb2RkIEFndWxuaWNrIDx0b2RkQGFndWxuaWNrLmNvbT4KCgkqIHN5cy9vc3h2aWRlby9vc3h2aWRlb3NpbmsubToKCSAgb3N4dmlkZW86IGluY2x1ZGUgcHRocmVhZC5oIHRvIGZpeCBjb21waWxlciB3YXJuaW5nCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTczMDMKCjIwMTMtMDQtMDQgMjI6NDg6NDUgKzAyMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvbGV2ZWwvZ3N0bGV2ZWwuYzoKCSogZ3N0L2xldmVsL2dzdGxldmVsLmg6CgkgIGxldmVsOiByZXN5bmMgb24gZGlzY29udAoJICBEcm9wIHBlbmRpbmcgZGF0YSBvbiBkaXNjb250IGFuZCBzdGFydCBhIG5ldyBjeWNsZSB3aXRoIGEgbmV3IGJhc2UgdGltZXN0YW1wLgoJICBDbGVhbnVwIHNvbWUgdmFyaWFibGVzLgoKMjAxMy0wNC0wMyAyMzo1Mjo0NyArMDEwMCAgVG9tIEdyZWVud29vZCA8dGdyZWVud29vZEBUb21zLU1hY0Jvb2stUHJvLmxvY2FsPgoKCSogZXh0L3ZweC9nc3R2cDhkZWMuYzoKCSAgdnA4ZGVjOiBJbXByb3ZlIGxvZ2dpbmcgd2hlbiB2cHhfY29kZWNfcGVla19zdHJlYW1faW5mbyBmYWlscwoJICBEZWNvZGUgZmFpbHVyZXMgYW5kIG1pc3Npbmcga2V5ZnJhbWVzIHNob3VsZCBnZXQgZGlmZmVyZW50IGRlYnVnCgkgIG91dHB1dC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5NzIzMgoKMjAxMy0wNC0wMyAxODoyNDoyOSAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwc2JjZGVwYXkuYzoKCSAgcnRwc2JjZGVwYXk6IFJhbmsgYXMgc2Vjb25kYXJ5CgkgIFRoaXMgd2F5LCBpdCB3aWxsIGJlIHNlbGVjdGVkIGJ5IGRlY29kZWJpbgoJICBCdWcgcmVwb3J0ZWQgYnkgYW5kcmVhcy5mZW5rYXJ0QHN0cmVhbXVubGltaXRlZC5jb20KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5NzIyNwoKMjAxMy0wNC0wMyAxOTowNTozOCArMDIwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9sZXZlbC9nc3RsZXZlbC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9sZXZlbC5jOgoJICBsZXZlbDogc3ViZGl2aWRlIGJ1ZmZlcnMgZm9yIHNhbXBsZSBhY2N1cmF0ZSBpbnRlcnZhbCBoYW5kbGluZwoJICBQcmV2aW91c2x5IHdlIHdvdWxkIHNraXAgbGV2ZWwgbWVzc2FnZSB3aGVuIHByb2Nlc3NpbmcgYnVmZmVycyA+IHRoZSByZXF1ZXN0ZWQKCSAgaW50ZXJ2YWwuIEFsc28gdGhlIG1lc3NhZ2UgZnJlcXVlbmN5IHdvdWxkIGNvbnRhaW4gcXVpdGUgc29tZSBqaXR0ZXIgZHVlIHRvIG9ubHkKCSAgY29uc2lkZXJpbmcgdGhlbSBhdCB0aGUgZW5kIG9mIGJ1ZmZlcnMuCgkgIENsZWFudXAgdGhlIHRlc3RzIHdoaWxlIHdlJ3JlIGF0IGl0LgoKMjAxMy0wMy0xOSAwODoyMzoyNSArMDEwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9mbGFjL2dzdGZsYWNlbmMuYzoKCSAgZmxhY2VuYzogcmVtb3ZlIG9sZCBzaW5jZSBjb21tZW50cyBhbmQgdXBkYXRlIGxvZ2dpbmcKCSAgRG9uJ3QgcHJldGVuZCB0aGF0IHdlIGhhdmUgYSB0aW1lc3RhbXAgb24gYSBidWZmZXIgd2hlbiB3ZSBuZXZlciBzZXQgb25lLgoKMjAxMy0wMy0xOCAyMDo1OToyMyArMDEwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5jOgoJICBzcGVjdHJ1bTogcmVtb3ZlIG9sZCBzaW5jZSBjb21tZW50CgoyMDEzLTA0LTAzIDE3OjUzOjEzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5oOgoJICBydHNwc3JjOiBQcm94eSB0aGUgbXVsdGljYXN0LWlmYWNlIHByb3BlcnR5IG9mIHVkcHNyYwoKMjAxMy0wNC0wMyAxMTowOTo1MCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkgIHY0bDI6IGZyZWUgYWxsIHF1ZXVlZCBidWZmZXJzCgkgIERvbid0IGp1c3QgbG9vcCBvdmVyIHRoZSBmaXJzdCBudW1fcXVldWVkIGJ1ZmZlcnMgYnV0IGxvb3Agb3ZlcgoJICBhbGwgdGhlIGJ1ZmZlcnMgYW5kIGNoZWNrIGlmIHRoZXkgbmVlZCB0byBiZSBmcmVlZC4gSXQgaXMgcG9zc2libGUgdGhhdAoJICBub3QgYWxsIGJ1ZmZlcnMgYXJlIHF1ZXVlZCBhbmQgdGhlbiB0aGUgZW50cnkgaW4gb3VyIGFycmF5IHdpbGwgYmUgTlVMTC4KCSAgVGhvc2UgYnVmZmVycyB0aGF0IGFyZSBub3QgcXVldWVkIHdlcmUgZnJlZWQgaW4gc3RvcCgpLgoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njk2NjUxCgoyMDEzLTA0LTAzIDExOjA5OjM3ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSAgdjRsMjogaW1wcm92ZSBkZWJ1ZwoKMjAxMy0wNC0wMiAyMzo0MjoyMyAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNzcmNkZW11eC5jOgoJICBydHBzc3JjZGVtdXg6IE9ubHkgZm9yd2FyZCBzdGljayBldmVudHMgd2hpbGUgaG9sZGluZyB0aGUgc2lua3BhZCBzdHJlYW0gbG9jawoJICBPdGhlcndpc2Ugd2UgZ2V0IGEgcmFjZSB3aGVyZSBpZiB0aGUgUlRDUCBwYWNrZXQgY29tZXMgaW4gZmlyc3QgYW5kIHdoaWxlCgkgIGl0IGlzIGFkZGVkIHRoZSBwYWRzLCB0aGUgc2VnbWVudCBldmVudCBhcnJpdmVzIG9uIHRoZSBSVFAgc3RyZWFtLCB0aGUgZXZlbnQKCSAgbWF5IGJlIGxvc3QgY29tcGxldGVseSBhbmQgbmV2ZXIgZm9yd2FyZGVkLgoKMjAxMy0wNC0wMiAyMzozNTowNiAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNzcmNkZW11eC5jOgoJICBydHBzc3JjZGVtdXg6IE5vIG5lZWQgdG8gZXhwbGljaXRlbHkgZm9yd2FyZCB0aGUgY2FwcwoJICBUaGV5IGFyZSBmb3J3YXJkZWQgd2l0aCB0aGUgb3RoZXIgZXZlbnRzCgoyMDEzLTA0LTAyIDIyOjI5OjM4IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc3NyY2RlbXV4LmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNzcmNkZW11eC5oOgoJICBydHBzc3JjZGVtdXg6IFJlbW92ZSB1bnVzZWQgR3N0U2VnbWVudAoKMjAxMy0wNC0wMiAyMjoyNjowMiAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNzcmNkZW11eC5jOgoJICBydHBzc3JjZGVtdXg6IFNpbXBsaWZ5IGV2ZW50IGZvcndhcmRpbmcKCSAgVXNlIHRoZSBnc3RfcGFkX2ZvcndhcmQoKSBtZWNoYW5pYywgdGhpcyB3YXkgd2Ugd29uJ3QgbWlzcyBwYWRzIHRoYXQgYXJlCgkgIGFkZGVkIHdoaWxlIHdlIGFyZSBwdXNoaW5nCgoyMDEzLTA0LTAyIDIxOjUzOjEwIC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc3NyY2RlbXV4LmM6CgkgIHJ0cHNzcmNkZW11eDogRG9uJ3QgY3Jvc3MgdGhlIGludGVybmFsIGxpbmtzCgkgIFdlIGhhZCB0aGUgd3JvbmcgY29uZGl0aW9uIHRvIGNoZWNrIGZvciB0aGUgaW50ZXJuYWwgbGlua3MsIHNvIFJUUCBhbmQgUlRDUAoJICBwYWRzIGdvdCBjcm9zc2VkIQoKMjAxMy0wMy0zMSAxNzo1NDoxNiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYWRlbXV4OiBmaXggc29tZSBkZWJ1ZyBtZXNzYWdlcwoKMjAxMy0wNC0wMiAyMzozNjoyMiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIHN5cy92NGwyL3Y0bDJfY2FsbHMuYzoKCSAgdjRsMjogZml4IHByaW50ZiBmb3JtYXQgY29tcGlsZXIgd2FybmluZyBpbiBkZWJ1ZyBtZXNzYWdlCgoyMDEyLTA4LTI5IDE3OjI0OjAwICswMjAwICBBcm5hdWQgVnJhYyA8YXZyYWNAZnJlZWJveC5mcj4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtaWRzLmg6CgkgIG1hdHJvc2thZGVtdXg6IGhhbmRsZSBUcnVlSEQgYXVkaW8gY29kZWMgaWQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5NzExMwoKMjAxMy0wMy0zMSAxOToxNDowNCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwdGhlb3JhZGVwYXkuYzoKCSAgdGhlb3JhcGF5OiBhZGQgZGVsdGEtdW5pdCB0byBvdXRwdXQgZnJhbWVzCgoyMDEzLTAzLTIzIDA1OjIyOjIzICswMTAwICBNYXRlaiBLbm9wcCA8bWF0ZWoua25vcHBAZ21haWwuY29tPgoKCSogZ3N0L2lzb21wNC9nc3RxdG11eC5jOgoJICBxdG11eDogdXNlIHRpbWVzdGFtcCBkZWx0YSBhcyBkdXJhdGlvbiBpZiBwb3NzaWJsZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njk2NDM3CgoyMDEzLTAzLTMwIDA5OjQ0OjQxICswMTAwICBKb3NlcCBUb3JyYSA8bjc3MGdhbGF4eUBnbWFpbC5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cHNiY2RlcGF5LmM6CgkgIHJ0cDogZml4ZXMgZGVidWcgbWVzc2FnZSBwcmludGYgcmVsYXRlZCBjb21waWxlciB3YXJuaW5ncyBpbiBTQkMgZGVwYXlsb2FkZXIKCjIwMTMtMDMtMjggMTY6NDY6MzYgKzAwMDAgIEFydW4gUmFnaGF2YW4gPGFydW4ucmFnaGF2YW5AY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9NYWtlZmlsZS5hbToKCSogZ3N0L3J0cC9nc3RydHAuYzoKCSogZ3N0L3J0cC9nc3RydHBzYmNkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHNiY2RlcGF5Lmg6CgkgIHJ0cDogQWRkIGFuIHJ0cHNiY2RlcGF5IGVsZW1lbnQKCSAgUHJldHR5IHN0cmFpZ2h0Zm9yd2FyZCAtIHRha2VzIFNCQyBlbmNhcHN1bGF0ZWQgaW4gUlRQLCBkZXBheWxvYWRzLCBhbmQKCSAgcHVzaGVzIG91dCBTQkMgYnVmZmVycy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5MDU4MgoKMjAxMy0wMy0yNyAyMjoxODozNCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGdzdC9ydHAvZ3N0cnRwc2JjcGF5LmM6CgkgIHJ0cDogZml4IFNCQyBwYXlsb2FkZXIKCSAgSW5pdCBSVFAgYnVmZmVyIG9uIHN0YWNrIGNvcnJlY3RseSwgc28gbWFwcGluZyBpdCB3b3JrcwoJICB3aXRob3V0IGNyaXRpY2FscyBhbmQgdGhlIHBheWxvYWRlciBhY3R1YWxseSB3b3Jrcy4KCjIwMTMtMDMtMjYgMTQ6NDQ6MzYgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdHNvdW5kc2luay5jOgoJICBkaXJlY3Rzb3VuZHNpbms6IENoZWNrIGZvciBhIHN1YnNldCBpbnN0ZWFkIG9mIG5vbi1lbXB0eSBpbnRlcnNlY3Rpb24gaW4gYWNjZXB0LWNhcHMKCjIwMTMtMDMtMjYgMTQ6Mzk6NTMgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdHNvdW5kc2luay5jOgoJICBkaXJlY3Rzb3VuZHNpbms6IFByb3Blcmx5IGhhbmRsZSB0aGUgZmlsdGVyIGNhcHMgaW4gZ2V0X2NhcHMoKQoKMjAxMy0wMy0yNiAxNDozNTozOCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvZGlyZWN0c291bmQvZ3N0ZGlyZWN0c291bmRzaW5rLmM6CgkgIGRpcmVjdHNvdW5kc2luazogRG9uJ3QgdW5uZWNlc3NhcmlseSBnZXQgdGhlIHBhcmVudCBjbGFzcyBpbiBjbGFzc19pbml0CgkgIFRoZSB0cmFtcG9saW5lIGdlbmVyYXRlZCBieSBHX0RFRklORV9UWVBFIGRvZXMgdGhhdCBhbHJlYWR5LgoKMjAxMy0wMy0yNSAxODowMjoxMCAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgVXNlICUwM3UgZm9yIGZvcm1hdCBpbiBnc3RfcGFkX2NyZWF0ZV9zdHJlYW1faWRfcHJpbnRmKCkKCjIwMTMtMDMtMjUgMTA6MTI6MDMgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0Y2Fwc3NldHRlci5jOgoJICBjYXBzc2V0dGVyOiBQcmV2ZW50IHVubmVlZGVkIGNhcHMgY29weWluZyBhbmQgYWxsb2NhdGlvbgoKMjAxMy0wMi0wMSAxNDozMzo0MSArMDEwMCAgRGlyayBWYW4gSGFlcmVuYm9yZ2ggPHZoZGlya0BnbWFpbC5jb20+CgoJKiBnc3QvZGVidWd1dGlscy9nc3RjYXBzc2V0dGVyLmM6CgkgIGNhcHNzZXR0ZXI6IFBhc3MgYW55IG9yIGZpbHRlciBjYXBzIHVwc3RyZWFtCgkgIGNhcHNldHRlciBhY2NlcHRzIGFueXRoaW5nIGFuZCBqdXN0IGZvcndhcmRzIGRpZmZlcmVudCBjYXBzLAoJICBhcyBzdWNoIGl0IHNob3VsZCByZXR1cm4gQU5ZIGNhcHMgb24gdGhlIHNpbmtwYWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTMwMDUKCjIwMTMtMDMtMDYgMTM6MTc6NTQgKzAwMDAgIFRvbSBHcmVlbndvb2QgPHRncmVlbndvb2RAVG9tcy1NYWNCb29rLVByby5sb2NhbD4KCgkqIGV4dC92cHgvZ3N0dnA4ZW5jLmM6CgkgIHZwOGVuYzogRml4IGZvciBkaXZpZGUgYnkgemVybyB3aGVuIHVzaW5nIDAvMSBmcmFtZXJhdGUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5NTcwOQoKMjAxMy0wMy0yNCAxNzo1NTo1NSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOgoJICB3YXZwYXJzZTogZXhwb3NlIENVRSBzaGVldCBpdGVtcyBhcyB0cmFja3Mgbm90IGNoYXB0ZXIgZW50cmllcyBpbiBUT0MKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY3NzMwNgoKMjAxMy0wMy0yMyAxMzoxMTowMiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGV4dC9mbGFjL2dzdGZsYWNlbmMuYzoKCSAgZmxhY2VuYzogYWRkIG1vcmUgZXhhbXBsZSBwaXBlbGluZXMKCjIwMTMtMDMtMjMgMTI6NTk6MjYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBnc3Qvd2F2ZW5jL2dzdHdhdmVuYy5jOgoJICB3YXZlbmM6IGFkZCBzb21lIGV4YW1wbGUgcGlwZWxpbmVzCgoyMDEzLTAzLTIwIDIxOjM4OjQwICswMzAwICBBbnRvbiBCZWxrYSA8YW50b25iZWxrYUBnbWFpbC5jb20+CgoJKiBnc3Qvd2F2ZW5jL2dzdHdhdmVuYy5jOgoJKiBnc3Qvd2F2ZW5jL2dzdHdhdmVuYy5oOgoJICB3YXZlbmM6IGFkZCBUT0Mgc3VwcG9ydAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjgwOTk4CgoyMDEzLTAzLTIzIDA0OjU2OjM2ICswMTAwICBNYXRlaiBLbm9wcCA8bWF0ZWoua25vcHBAZ21haWwuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IG1ha2UgZW1wdHkgc3VidGl0bGUgYnVmZmVyIHJlY29nbml0aW9uIG1vcmUgcm9idXN0CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTYyNDQKCjIwMTMtMDMtMDQgMTU6NDk6MDYgLTA4MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZXh0L2xpYnBuZy9nc3RwbmdlbmMuYzoKCSAgcG5nZW5jOiB1bm1hcCBzb3VyY2UgZnJhbWUgd2hlbiBkb25lCgoyMDEzLTAzLTIyIDE1OjE0OjE1IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9pc29tcDQvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IEZpeCB0ZXN0IHJlZ3Jlc3Npb24gd2l0aCBvbmUgYnVmZmVyIHN0cmVhbXMKCjIwMTMtMDMtMDUgMTc6MDA6MTcgLTA4MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IHNwbGl0IGxhcmdlIHJhdyBhdWRpbyBzYW1wbGVzCgkgIEluIG9yZGVyIHRvIGRlYWwgd2l0aCBhIGZpbGUgdGhhdCBoYXMgc2FtcGxlcyB0aGF0IGFyZSAyNCBzZWNvbmRzCgkgIGxvbmcuICBTZWVraW5nIHN0aWxsIGRvZXNuJ3Qgd29yayB3aXRoIHN1Y2ggZmlsZXMuCgoyMDEzLTAzLTIyIDExOjU0OjA4IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9pc29tcDQvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IFJlbW92ZSBkb2N1bWVudGF0aW9uIGZvciBkdHMtbWV0aG9kCgoyMDEzLTAzLTIyIDEzOjI0OjMzIC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9pc29tcDQvZ3N0cXRtdXguYzoKCSogZ3N0L2lzb21wNC9nc3RxdG11eC5oOgoJICBxdG11eDogZGVwcmVjYXRlIGR0cy1tZXRob2QgcHJvcGVydHkKCjIwMTMtMDMtMTMgMTc6MDg6MDMgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L2lzb21wNC9nc3RxdG11eC5jOgoJICBxdG11eDogRml4IHByb2JsZW1zIGNhdXNpbmcgYmFkIGR1cmF0aW9ucyBpbiBmaWxlCgkgIC0gRml4IHVwIG91dC1vZi1vcmRlciBpbmNvbWluZyBEVFMgdmFsdWVzLgoJICAtIEZpeCBkdXJhdGlvbiBvZiBpbml0aWFsIHNhbXBsZS4KCjIwMTMtMDMtMTIgMTk6MDg6MjYgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L2lzb21wNC9nc3RxdG11eC5jOgoJICBxdG11eDogZml4IGFsbCB0aW1lc3RhbXBzIG9uY2UgZmlyc3RfdHMgaXMgZGV0ZXJtaW5lZAoKMjAxMy0wMi0xNCAxNjozNDozNCAtMDgwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4LmM6CgkqIGdzdC9pc29tcDQvZ3N0cXRtdXguaDoKCSAgcXRtdXg6IFVzZSBQVFMvRFRTIGZyb20gaW5jb21pbmcgYnVmZmVycwoJICBSZW1vdmUgb2xkIERUUyBndWVzc2luZyBjb2RlLgoKMjAxMy0wMy0xOCAxMjozMDo1MCArMDEwMCAgTmljb2xhIE11cmlubyA8bmljb2xhLm11cmlub0BnbWFpbC5jb20+CgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4bWFwLmM6CgkgIHF0bXV4OiBleHBvc2UgbXVsYXcgY2FwcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njk2MDUyCgoyMDEzLTAzLTIyIDEwOjUwOjM0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgUmVxdWlyZSBPcmMgPj0gMC40LjE3CgkgIE9yYyAwLjQuMTcgZml4ZXMgYSBidW5jaCBjcmFzaGVzIG9uIGkzODYgYW5kIFJQaSB3aGVuIG9yYwoJICBmdW5jdGlvbnMgY2FuJ3QgYmUgY29tcGlsZWQgYW5kIHRoZSBmYWxsYmFjayBmdW5jdGlvbiBpcwoJICBzdXBwb3NlZCB0byBiZSB1c2VkLiBBbHNvIGZpeGVzIHNvbWUgaXNzdWVzIG9uIFBvd2VyUEMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODQzOTkKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5Mzg2MgoKMjAxMy0wMy0yMiAwODo0NzoxNyArMDAwMCAgUm9kb2xmbyBTY2h1bHogZGUgTGltYSA8cm9kb2xmb0Byb2Rzb2Z0Lm9yZz4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBmaXggc2FtcGxlIGxlYWsgd2hlbiBwcm9jZXNzaW5nIHByaXZhdGUgcXQgdGFncwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njk2MzU1CgoyMDEzLTAzLTIyIDAyOjI0OjAxICswMTAwICBNYXRlaiBLbm9wcCA8bWF0ZWoua25vcHBAZ21haWwuY29tPgoKCSogZ3N0L2lzb21wNC9nc3RxdG11eC5jOgoJICBxdG11eDogc2V0IHN0cmVhbSBsYW5ndWFnZSBjb2RlIGZyb20gdGFnCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTYzNTgKCjIwMTMtMDMtMjEgMDI6NTU6MDYgKzAxMDAgIE1hdGVqIEtub3BwIDxtYXRlai5rbm9wcEBnbWFpbC5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogc2VuZCBHQVAgZXZlbnRzIGZvciBzdWJ0aXRsZSBzdHJlYW1zCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTYyNDQKCjIwMTMtMDMtMjEgMDI6NTM6MjQgKzAxMDAgIE1hdGVqIEtub3BwIDxtYXRlai5rbm9wcEBnbWFpbC5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogaWdub3JlIGVtcHR5IHN1YnRpdGxlIGJ1ZmZlcnMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5NjI0NAoKMjAxMy0wMy0yMSAwMjo1MjowNyArMDEwMCAgTWF0ZWogS25vcHAgPG1hdGVqLmtub3BwQGdtYWlsLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXhfZm91cmNjLmg6CgkgIHF0ZGVtdXg6IHJlY29nbml6ZSBTQlRMIHN1YnR5cGUgZm9yIHN1YnRpdGxlcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njk2MjQ0CgoyMDEzLTAzLTE3IDE2OjI3OjAzICswMzAwICBBbnRvbiBCZWxrYSA8YW50b25iZWxrYUBnbWFpbC5jb20+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5jOgoJICBmbGFjcGFyc2U6IGFkZCBzdXBwb3J0IGZvciB0aGUgdG9jLXNlbGVjdCBldmVudAoJICBTZWxlY3QgdHJhY2tzIGZyb20gdGhlIENVRSBzaGVldCBieSBzZW5kaW5nIGEgdG9jLXNlbGVjdAoJICBldmVudCBiYXNlZCBvbiB0aGUgdWlkIGluIHRoZSBUT0MuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD01NDA4OTEKCjIwMTMtMDMtMTkgMTg6MDk6MzEgLTA3MDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEByZGlvLmNvbT4KCgkqIGdzdC9pc29tcDQvZ3N0cXRtdXguYzoKCSAgbXA0bXV4OiBpbiBmYXN0c3RhcnQgbW9kZSwgZG9uJ3Qgb3V0cHV0IHVwIHRvIDQga0Igb2YgZ2FyYmFnZSBhdCB0aGUgZW5kLgoKMjAxMy0wMy0yMCAwMDozNToxNyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0c2JjcGFyc2UuYzoKCSAgc2JjcGFyc2U6IHBhY2sgbXVsdGlwbGUgZnJhbWVzIGludG8gb25lIG91dHB1dCBidWZmZXIKCSAgRG9uJ3Qgb3V0cHV0IGEgc2luZ2xlIGJ1ZmZlciBmb3IgZXZlcnkgdGlueSBTQkMgZnJhbWUKCjIwMTMtMDMtMTggMTQ6NTk6MzUgKzAwMDAgIEJhc3RpZW4gTm9jZXJhIDxoYWRlc3NAaGFkZXNzLm5ldD4KCgkqIHN5cy92NGwyL3Y0bDJfY2FsbHMuYzoKCSAgdjRsMjogZml4IGNvbXBpbGF0aW9uIGFnYWluc3QgbmV3ZXIga2VybmVsIGhlYWRlcnMgYXMgb24gRkMxOQoKMjAxMy0wMy0xNCAxNDoxMjowNSArMDEwMCAgS2lzaG9yZSBBcmVwYWxsaSA8a2lzaG9yZS5hcmVwYWxsaUBnbWFpbC5jb20+CgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuYzoKCSAgZGVpbnRlcmxhY2U6IGZpeCBpbmZpbml0ZSBsb29wIG9uIEVPUyB3aXRoIG5vbi1kZWZhdWx0IG1ldGhvZHMgb3IgZmllbGRzCgkgIEZpeGVzIHByb2JsZW0gb2YgaW5maW5pdGUgbG9vcCBpbiBnc3RfZGVpbnRlcmxhY2VfcmVzZXRfaGlzdG9yeS4KCSAgTGFzdCBmaWVsZCBpbiB0aGUgaGlzdG9yeSB3YXMgbmV2ZXIgZGVpbnRlcmxhY2VkIGJlY2F1c2UgaWR4IGJlY29tZXMgbmVnYXRpdmUuCgkgIEhhcHBlbnMgZS5nLiB3aXRoIG1ldGhvZD1zY2FsZXJib2IgZmllbGRzPWJvdHRvbSBvcgoJICBtZXRob2Q9Z3JlZWR5bCBmaWVsZHM9dG9wCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTU2NDQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5MzE3MwoKMjAxMy0wMy0xMiAwOTo0ODozMSArMDAwMCAgS2lzaG9yZSBBcmVwYWxsaSA8a2lzaG9yZS5hcmVwYWxsaUBnbWFpbC5jb20+CgoJKiBleHQvZHYvZ3N0ZHZkZW11eC5jOgoJICBkdmRlbXV4OiBkb24ndCByZXR1cm4gRkFMU0Ugd2hlbiBkcm9wcGluZyBzaW5rIGV2ZW50cwoJICBGaXhlcyBwcm9ibGVtIGluIGNvbmp1bmN0aW9uIHdpdGggYXZpZGVtdXguCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTU2NDMKCjIwMTMtMDMtMTIgMDA6MTY6MTggKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBnc3QvYXZpL2dzdGF2aW11eC5jOgoJICBhdmltdXg6IGNoYW5nZSByYXcgdmlkZW8gY2FwcyBvcmRlciBzbyB0aGF0IEdSQVk4IGlzIGxhc3QKCSAgUGVvcGxlIGxpa2UgY29sb3Vycy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5NTU0MwoKMjAxMy0wMy0xMSAxNDo1MDo0MSArMDEwMCAgT2dueWFuIFRvbmNoZXYgPG9nbnlhbkBheGlzLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2NHBheS5jOgoJICBydHBoMjY0cGF5OiBEb24ndCB1c2UgdXBzdHJlYW0gY2FwcyB3aXRoIHBlZXJfcXVlcnlfY2FwcyAoKQoJICBDYWxsaW5nIGdzdF9wYWRfcGVlcl9xdWVyeV9jYXBzICgpIG9uIHRoZSBzcmMgcGFkIHdpdGggdGhlIGNhcHMKCSAgdXBzdHJlYW0gY2FuIHByb2R1Y2UgYXMgYSBmaWx0ZXIgZnJvbSBnc3RfcnRwX2gyNjRfcGF5X2dldGNhcHMgKCkKCSAgaXMgd3JvbmcgYW5kIG1ha2VzIGNhcHMgbmVnb3RpYXRpb24gZmFpbCBpZiB1cHN0cmVhbSBjYXBzIGFyZSBub3QKCSAgTlVMTC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5NTYyOQoKMjAxMy0wMy0xMCAwOToxMDoxOCArMDEwMCAgRGlyayBWYW4gSGFlcmVuYm9yZ2ggPHZoZGlya0BnbWFpbC5jb20+CgoJKiBnc3QvYXZpL2dzdGF2aW11eC5jOgoJICBhdmltdXg6IHN1cHBvcnQgcmF3IEJHUgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njk1NTQzCgoyMDEzLTAzLTEwIDA5OjI1OjM0ICswMTAwICBEaXJrIFZhbiBIYWVyZW5ib3JnaCA8dmhkaXJrQGdtYWlsLmNvbT4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgYXZpZGVtdXg6IHN1cHBvcnQgcmF3IHZpZGVvIHdpdGggbmVnYXRpdmUgaGVpZ2h0CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTU1NDEKCjIwMTMtMDMtMDUgMTQ6NDA6NTYgKzAxMDAgIEpvbmFzIEhvbG1iZXJnIDxqb25hc2hnQGF4aXMuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXV0b2RldGVjdC5jOgoJICBhdXRvZGV0ZWN0IGNoZWNrdGVzdDogRG8gbm90IGZhaWwgd2l0aG91dCB2aWRlb3NpbmsKCSAgSWYgdGhlcmUgaXMgbm8gdmlkZW9zaW5rIGF2YWlsYWJsZSBhdXRvdmlkZW9zaW5rIHdpbGwgY29udGFpbiBhCgkgIGZha2VzaW5rIGluc3RlYWQgd2hpY2ggbmVlZHMgc3BlY2lhbCB0cmVhdG1lbnQgaW4gdGhlIHVuaXQgdGVzdC4KCjIwMTMtMDMtMDkgMDE6MTg6MzAgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBBbmRyb2lkLm1rOgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1kb2NzLnNnbWw6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLnNpZ25hbHM6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb2Z4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF2aS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdG1mLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwZWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGV2ZWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNob3V0MnNlbmQueG1sOgoJKiBnc3QtcGx1Z2lucy1nb29kLnNwZWMuaW46CgkqIGdzdC9kdG1mL2dzdGR0bWYuYzoKCSogZ3N0L2R0bWYvZ3N0ZHRtZmNvbW1vbi5oOgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvLmdpdGlnbm9yZToKCSAgZHRtZjogbW92ZSBkdG1mIHBsdWdpbiBmcm9tIC1iYWQgdG8gLWdvb2QKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4NzQxNgoKMjAxMy0wMy0wOSAwMDozMDozOCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIE1lcmdlIGJyYW5jaCAnZHRtZi1tb3ZlZC1mcm9tLWJhZCcKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4NzQxNgoKMjAxMy0wMy0wNSAyMToyMjoxOCArMDEwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDx5bGF0dXlhQGdtYWlsLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogc3lzL29zeGF1ZGlvL01ha2VmaWxlLmFtOgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4YXVkaW9lbGVtZW50Lmg6CgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hhdWRpb3NpbmsuYzoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGNvcmVhdWRpby5jOgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4Y29yZWF1ZGlvcmVtb3RlaW8uYzoKCSAgb3N4YXVkaW86IGFkZCBzdXBwb3J0IGZvciBpT1MgdXNpbmcgdGhlIFJlbW90ZUlPIEF1ZGlvVW5pdAoKMjAxMy0wMy0wNSAyMToxNzo1MiArMDEwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDx5bGF0dXlhQGdtYWlsLmNvbT4KCgkqIHN5cy9vc3hhdWRpby9NYWtlZmlsZS5hbToKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGF1ZGlvc2luay5jOgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4YXVkaW9zcmMuYzoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGNvcmVhdWRpby5jOgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4Y29yZWF1ZGlvLmg6CgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hjb3JlYXVkaW9jb21tb24uYzoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGNvcmVhdWRpb2NvbW1vbi5oOgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4Y29yZWF1ZGlvaGFsLmM6CgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hyaW5nYnVmZmVyLmM6CgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hyaW5nYnVmZmVyLmg6CgkgIG9zeGF1ZGlvOiBhZGQgYSBmYcOnYWRlIGZvciB0aGUgQ29yZUF1ZGlvIEFQSQoKMjAxMy0wMy0wNyAwMDowMDo0MSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gMmRlMjIxYyB0byAwNGM3YTFlCgoyMDEzLTAzLTAzIDExOjU5OjMxICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9sem8uYzoKCSAgbWF0cm9za2E6IEluY2x1ZGUgY29uZmlnLmgsIGl0J3MgbmVlZGVkIGZvciBfc3RkaW50LmgKCjIwMTMtMDMtMDMgMTE6NTM6MDQgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RmbGFjcGFyc2UuYzoKCSAgZmxhY3BhcnNlOiBGaXggKHdyb25nKSB1c2Ugb2YgdW5pbml0aWFsaXplZCB2YXJpYWJsZSBjb21waWxlciB3YXJuaW5nCgoyMDEzLTAzLTAyIDEzOjU5OjUyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IGFkZCB2YXJpYW50IGZpZWxkIHRvIEguMjYzIGNhcHMKCSAgYXZkZWNfaDI2MyB3b24ndCBnZXQgcGx1Z2dlZCBvdGhlcndpc2UuCgoyMDEzLTAyLTIyIDE5OjA2OjUyICswMTAwICBBcm5hdWQgVnJhYyA8YXZyYWNAZnJlZWJveC5mcj4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBza2lwIGRpc2FibGVkIHRyYWNrcwoJICBJU08vSUVDIDE0NDk2LTEyIHNwZWNpZmllcyBkaXNhYmxlZCB0cmFja3Mgc2hvdWxkIGJlIGNvbXBsZXRlbHkKCSAgaWdub3JlZCwgc28ganVzdCBkbyBpdC4KCSAgQXZvaWRzIGRlYWRsb2NrIGR1cmluZyBwcmVyb2xsaW5nIGZvciBzb21lIGZpbGVzLgoJICBBbHNvIHByZXZlbnRzICdjaGFwdGVyJyBzdWJ0aXRsZSB0cmFja3MgZnJvbSBzaG93aW5nIHVwLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjkzOTkzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02Mjg3OTAKCjIwMTMtMDItMjUgMDk6NTg6MTMgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9sZXZlbC5jOgoJICB0ZXN0czogcmUtYWRkIHN1cHByZXNzaW9uIGZvciBHVmFsdWVBcnJheSB3YXJuaW5ncyB0byB1bml0IHRlc3QgYXMgd2VsbAoKMjAxMy0wMi0yOCAxMzoyNTowNiArMDEwMCAgSm9uYXMgSG9sbWJlcmcgPGpvbmFzaGdAYXhpcy5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9kdG1mLmM6CgkgIHRlc3RzOiB1c2UgcmVsYXRpdmUgaW5jbHVkZSBmb3Igb3V0LW9mLXRyZWUgYnVpbGRzIGluIGR0bWYgdGVzdAoKMjAxMy0wMi0yOCAwODo0Njo1OSArMDEwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5jOgoJICBzcGVjdHJ1bTogcmVtb3ZlIHRoZSBzaW5jZSBkb2MtY29tbWVudCBmcm9tIDAuMTAKCjIwMTMtMDItMjggMDg6NDQ6MTggKzAxMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvbGV2ZWwvZ3N0bGV2ZWwuYzoKCSogZ3N0L2xldmVsL2dzdGxldmVsLmg6CgkqIHRlc3RzL2V4YW1wbGVzL2xldmVsL2xldmVsLWV4YW1wbGUuYzoKCSAgbGV2ZWw6IGFkZCBhICJwb3N0LW1lc3NhZ2VzIiBwcm9wZXJ0eSBhbmQgZGVwcmVjYXRlICJtZXNzYWdlIgoJICBJbiBzcGVjdHJ1bSB0aGlzIHdhcyBjaGFuZ2VkIGZyb20gMC4xMCB0byAxLjAsIGxldHMgZG8gdGhpcyBoZXJlIHRvby4KCjIwMTMtMDItMjcgMTg6NTY6NTAgLTA1MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9kdG1mLmM6CgkgIHRlc3RzOiBBZGQgdGVzdHMgZm9yIGR0bWZzcmMKCjIwMTMtMDItMjcgMTY6MTU6MjcgLTA1MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9kdG1mLmM6CgkgIHRlc3RzOiBGaXggcmVmIGxlYWsgaW4gZHRtZiB0ZXN0CgoyMDEzLTAyLTI2IDE0OjE4OjIwIC0wNTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBtcDRnZGVwYXkuYzoKCSAgcnRwbXA0Z2RlcGF5OiBzdHJlYW10eXBlIGlzIG5vdCBwdXQgYnkgYWxsIFJUU1Agc2VydmVyLCBub3QgbWFrZSBpdCBvcHRpb25hbAoJICBTcGVjaWZpYyBjYXNlIGhlcmUgaXMgV293emEgMy41LjAKCjIwMTMtMDItMjUgMDA6MzU6NTggKzAxMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hcyAoYXQpIGFwZXN0YWFydCAoZG90KSBvcmc+CgoJKiBnc3QvbGV2ZWwvZ3N0bGV2ZWwuYzoKCSAgbGV2ZWw6IHB1dCBiYWNrIGRlcHJlY2F0aW9uIHdhcm5pbmdzCgoyMDEzLTAyLTI0IDE3OjAwOjE0ICswMTAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXMgKGF0KSBhcGVzdGFhcnQgKGRvdCkgb3JnPgoKCSogZ3N0L2xldmVsL2dzdGxldmVsLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2xldmVsLmM6CgkgIGxldmVsOiBzZW5kIGxhc3QgbWVzc2FnZSBvbiBFT1MKCjIwMTMtMDItMjMgMTQ6MzQ6MzUgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1uYXV3QHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgYXZpZGVtdXg6IHB1c2ggbW9kZTogaGFuZGxlIHNvbWUgbW9yZSAwLXNpemUgYnVmZmVyIGNhc2VzCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODQ5NDQKCjIwMTMtMDItMjMgMTg6NTA6NTIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkgIG1hdHJvc2thbXV4OiBmaXggdXAgZXhhbXBsZSBwaXBlbGluZSBpbiBkb2NzCgoyMDEyLTExLTIwIDEyOjE0OjA3ICswNTMwICBBcnVuIFJhZ2hhdmFuIDxhcnVuLnJhZ2hhdmFuQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSAgcHVsc2VzaW5rOiBVcGRhdGUgc2VnZG9uZSBwZXJpb2RpY2FsbHkKCSAgVGhpcyBtYWtlcyBzdXJlIHRoYXQgd2UgdXBkYXRlIHNlZ2RvbmUgYmFzZWQgb24gdGhlIHJlYWQgaW5kZXggcmVjZWl2ZWQKCSAgZHVyaW5nIGxhdGVuY3kgdXBkYXRlcy4gQXMgdGhlIGNvbW1lbnQgbm90ZXMsIHdlIG1ha2Ugc29tZSBjb21wcm9taXNlcwoJICB0byBkZWFsIHdpdGggdGhlIGZhY3QgdGhhdCBzZWdkb25lIGlzIGEgc2VnbWVudCBtdWx0aXBsZSwgd2hpbGUgdGhlIHJlYWQKCSAgaW5kZXggb2ZmZXJzIGZpbmVyIGdyYW51bGFyaXR5LiBUaGUgdXBkYXRlcyBhcmUgYWxzbyBub3QgdmVyeSBvZnRlbgoJICAoMTAwbXMgc2luY2UgdGhhdCBpcyBob3cgb2Z0ZW4gYXV0b21hdGljIHRpbWluZyB1cGRhdGVzIGFyZSBwcm92aWRlZCkuCgkgIEFsbCB0aGlzIGlzIHJlcXVpcmVkIGZvciB0aGUgYmFzZWF1ZGlvc2luayBzYW1wbGUgYWxpZ25tZW50IGNvZGUgdG8gd29yawoJICBhdCBhbGwuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTQyNTcKCjIwMTMtMDItMTMgMTA6NDY6NTQgKzAxMDAgIFBhdWwgSEVOUllTIDx2aXNlY2hlbGxlQGdtYWlsLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSAgcnRwc2Vzc2lvbjogRml4IHdyb25nIGNvZGUgb3JnYW5pc2F0aW9uIGluIGNhc2Ugb2YgY29sbGlzaW9uCgkgIGNoYW5nZV9zc3JjIGZpZWxkIG9mIFJUUFNlc3Npb24gc2hvdWxkIGJlIHNldCBiZWZvcmUgY2FsbGluZwoJICBydHBfc2Vzc2lvbl9zY2hlZHVsZV9ieWVfbG9ja2VkICgpIGFzIHRoaXMgZnVuY3Rpb24gd2lsbCBjYWxsIHJlY29uc2lkZXIgZnVuY3Rpb24KCSAgdGhhdCB3aWxsIHdha2UgdXAgcnRjcF90aHJlYWQgd2hpY2ggd2lsbCBjYWxsIHJ0cF9zZXNzaW9uX29uX3RpbWVvdXQgKCkgdGhhdCB3aWxsCgkgIGNoZWNrIGNoYW5nZV9zc3JjIHRvIGNoYW5nZSB0aGUgc3NyYy4KCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5NDE4NAoKMjAxMy0wMi0yMSAxMToxNToyMyAtMDUwMCAgSmVhbi1GcmFuw6dvaXMgRm9ydGluIFRhbSA8bmVrb2hheW9AZ21haWwuY29tPgoKCSogZ3N0L2FscGhhL2dzdGFscGhhLmM6CgkgIGFscGhhOiBpbXByb3ZlIGRlc2NyaXB0aW9ucyBvZiBjaHJvbWEga2V5aW5nLXJlbGF0ZWQgcHJvcGVydGllcyBhbmQgZW51bXMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5NDM3NAoKMjAxMy0wMi0yMSAxNTowMToxNSAtMDUwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hbHBoYS9nc3RhbHBoYS5jOgoJICBhbHBoYTogRG8gbm90IG92ZXJyaWRlIHRoZSBtZXRob2Qgd2l0aCBjdXN0b20gci9nL2IgdmFsdWVzCgkgIERlcGVuZGluZyBvbiB0aGUgb3JkZXIgZ19vYmplY3Rfc2V0KCkgY2FsbHMgYWFyZSBtYWRlLCB0aGUKCSAgdGFyZ2V0IHIvZy9iIHNldHRpbmdzIHdpbGwgb3ZlcnJpZGUgdGhlIG1ldGhvZCBpZiBzZXQgdG8KCSAgZ3JlZW4vYmx1ZS4gQ2hhbmdlIHRoYXQgc28gd2UgZG8gbm90IHVzZSB0aGUgdGFyZ2V0LXIvZy9iIHZhbHVlcwoJICB1bmxlc3MgdGhlIG1ldGhvZCBpcyBzZXQgdG8gY3VzdG9tLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njk0Mzc0CgoyMDEzLTAyLTIwIDE1OjQ2OjQzICswMTAwICBPZ255YW4gVG9uY2hldiA8b2dueWFuQGF4aXMuY29tPgoKCSogZ3N0L2F1cGFyc2UvZ3N0YXVwYXJzZS5jOgoJICBhdXBhcnNlOiBkbyBub3QgbGVhayBzcmNfY2FwcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njk0Mjc1CgoyMDEzLTAyLTIwIDIxOjAzOjI3ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOgoJICBydHBzZXNzaW9uOiBvbmx5IGRlbGF5IFJUQ1Agd2hlbiB3ZSBhcmUgYSBzZW5kZXIKCSAgT25seSBkZWxheSB0aGUgUlRDUCB0aHJlYWQgd2hlbiB3ZSBhcmUgYSBzZW5kZXIsIHdoaWNoIHdlIGNhbiBrbm93IGJlY2F1c2Ugd2UKCSAgaGF2ZSBhIHNlbmRfcnRwX3NyYyBwYWQuIE90aGVyd2lzZSB3ZSBtaWdodCBkZWxheSB0aGUgUlRDUCB0aHJlYWQgaWYgd2UKCSAgYXJlIG9ubHkgYSByZWNlaXZlciBhbmQgdGhlbiB0aGVyZSBpcyBubyBjb2RlIHBhdGggdGhhdCB3YWtlcyB1cCB0aGUKCSAgUlRDUCB0aHJlYWQgYW5kIHdlIGVuZCB1cCB3aXRob3V0IFJUQ1AgcGFja2V0cy4KCjIwMTMtMDItMTkgMTE6NDc6MjAgKzAxMDAgIEJlbmphbWluIEdhaWduYXJkIDxiZW5qYW1pbi5nYWlnbmFyZEBsaW5hcm8ub3JnPgoKCSogY29uZmlndXJlLmFjOgoJKiBzeXMvdjRsMi9NYWtlZmlsZS5hbToKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0Lmg6CgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzoKCSAgdjRsMjogQWRkIHN1cHBvcnQgb2YgZG1hYnVmCgkgIHY0bCBoYXMgYWRkIGEgbmV3IElPQ1RMIHRvIGV4cG9ydCBhIGJ1ZmZlciBieSB1c2luZyBkbWFidWYuCgkgIFRoaXMgcGF0Y2ggYWxsb3cgdG8gdXNlIHRoaXMgbmV3IElPVENMIGlmIGl0IGhhcyBiZWVuIGRlZmluZWQgaW4gdmlkZW9kZXYyLmgKCSAgSSBpbnRyb2R1Y2UgYSBuZXcgSU8gbW9kZSAoR1NUX1Y0TDJfSU9fRE1BQlVGKSB0byBlbmFibGUgdGhpcyB3YXkgb2Ygd29ya2luZy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5MzgyNgoKMjAxMy0wMi0xOCAyMDowNDowNSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogZml4IHVwIGRvZGd5IGNvZGUgdGhhdCB0cmllcyB0byBmaXggdXAgYSBicm9rZW4gbW9vdiBhdG9tCgkgIEFmdGVyIGdzdF9idWZmZXJfbmV3X2FuZF9hbGxvYygpIGdzdF9idWZmZXJfY29weV9pbnRvKCkgd2lsbCBsaWtlbHkKCSAgYXBwZW5kIHRvIHRoZSBhbHJlYWR5LWV4aXN0aW5nIG1lbW9yeSBpbnN0ZWFkIG9mIGZpbGxpbmcgaXQuCgoyMDEzLTAyLTE4IDE2OjMyOjEzICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBmaXggcG90ZW50aWFsIGNyYXNoIG9uIHNob3J0IE1PT1YgYXRvbQoJICBEb24ndCB1bm1hcCBzaG9ydCBNT09WIGF0b20gYnVmZmVyIHR3aWNlLCB3aGljaCBoYXBwZW5lZAoJICBpbiB0aGUgY2FzZSB3aGVyZSB3ZSBkb24ndCBmaXggdXAgdGhlIE1PT1YgYXRvbS4KCSAgRml4ZXMgY3Jhc2hlcyB3aGVuIHRodW1ibmFpbGluZyBwYXJ0aWFsIG1wNCBmaWxlIHdoZXJlCgkgIHRoZSBNT09WIGF0b20gaXMgc3RpbGwgaW5jb21wbGV0ZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5NDAxMAoKMjAxMy0wMi0xNiAxNjo0OToyMiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGV4dC9zb3VwL01ha2VmaWxlLmFtOgoJICBzb3VwaHR0cHNyYzogc2V0IFNPVVBfVkVSU0lPTl97TUlOX1JFUVVJUkVELE1BWF9BTExPV0VEfSB0byBzdXBwcmVzcyBkZXByZWNhdGlvbnMgd2l0aCBuZXdlciB2ZXJzaW9ucwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjkzOTExCgoyMDEzLTAyLTE2IDE1OjQ3OjAyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOgoJICBzb3VwOiB1c2UgZGVmYXVsdCBwcm94eSByZXNvbHZlciBpbnN0ZWFkIG9mIGRlcHJlY2F0ZWQgR05PTUUgcHJveHkgcmVzb2x2ZXIKCSAgQXBwYXJlbnRseSB0aGVyZSdzIG5vIHJlYXNvbiB0byB1c2UgaXQgYW55IGxvbmdlci4gRHJvcCBsaWJzb3VwLWdub21lCgkgIGRlcGVuZGVuY3kgd2hpbGUgYXQgaXQsIG5vdyB0aGF0IHdlIGRvbid0IG5lZWQgYW55dGhpbmcgZnJvbSBpdCBhbnkKCSAgbW9yZSAoaXQgb25seSBjb25zaXN0cyBlbnRpcmVseSBvZiBkZXByZWNhdGVkIEFQSSBub3cgYW55d2F5cykuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTM5MTEKCjIwMTMtMDItMTUgMTU6NDM6NDMgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svcGlwZWxpbmVzL3RhZ3NjaGVja2luZy5jOgoJICB0ZXN0czogZml4IHNvbWUgaDI2NCBjYXBzCgkgIERvZXNuJ3QgZml4IGFueXRoaW5nIGluIHBhcnRpY3VsYXIsIGJ1dCBpcwoJICBzdGlsbCBuZWVkZWQgaGVyZSBmb3IgY29ycmVjdG5lc3MuCgoyMDEzLTAyLTE1IDA4OjE5OjI0ICswMTAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2F1ZGlvZngvYXVkaW9wYW5vcmFtYS5jOgoJICBhdWRpb3Bhbm9yYW1hOiByZW1vdmUgY2hhbm5lbC1tYXNrIGZyb20gY2FwcwoJICBUaGUgY2hhbm5lbC1tYXNrIGlzIG9ubHkgbmVlZGVkIGZvciBjaGFubmVscz4yIHdoaWNoIHdlIGRvbid0IGRvLgoKMjAxMy0wMi0xNSAxNjoyMToyMSArMDEwMCAgQmVuamFtaW4gR2FpZ25hcmQgPGJlbmphbWluLmdhaWduYXJkQHN0ZXJpY3Nzb24uY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSAgdjRsMjogZG9uJ3QgY2hlY2sgc3RyaWRlIGZvciBlbmNvZGVkIGZvcm1hdHMKCSAgRG9uJ3QgdHJ5IHRvIGNoZWNrIHRoZSBzdHJpZGUgZm9yIGVuY29kZWQgZm9ybWF0cy4gU29tZSBkcml2ZXJzIG91dHB1dAoJICBzb21ldGhpbmcgIT0gMCBhbmQgdGhlbiB3ZSBkb24ndCB3YW50IHRvIGZhaWwgb24gdGhhdC4KCjIwMTMtMDItMTUgMTQ6MTE6MzYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3VkcC9nc3R1ZHBzcmMuYzoKCSAgdWRwc3JjOiB1c2UgZ19zb2NrZXRfc2V0X29wdGlvbigpIHRvIHNldCBidWZmZXIgc2l6ZSB3aXRoIG5ld2VyIEdMaWIgdmVyc2lvbnMKCSAgU28gd2UgaGF2ZSB0byB3b3JyeSBsZXNzIGFib3V0IHBvcnRhYmlsaXR5LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjkyNDAwCgoyMDEzLTAyLTE0IDE0OjEzOjI3ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9qcGVnL2dzdGpwZWdkZWMuYzoKCSAganBlZ2RlYzogcmVtb3ZlIHNvZi1tYXJrZXIgZnJvbSB0ZW1wbGF0ZSBjYXBzIGZvciBub3cKCSAgTm93IHRoYXQgdGhlIHN1YnNldCBjaGVjayBhY3R1YWxseSB3b3JrcywgdGhpcyBicmVha3MKCSAgdGhpbmdzIHdpdGggZGVtdXhlcnMgdGhhdCBkb24ndCBwdXQgYSAic29mLW1hcmtlciIKCSAgaW4gdGhlaXIganBlZyBjYXBzLCBhbmQgd2UgZG9uJ3QgaGF2ZSBhIGdvb2QgcGFyc2VyCgkgIHRvIHBsdWcgZWl0aGVyIHlldC4KCjIwMTMtMDItMTMgMTI6MzI6MTAgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2pwZWcvZ3N0anBlZ2VuYy5jOgoJKiBleHQvanBlZy9nc3RqcGVnZW5jLmg6CgkgIGpwZWdlbmM6IFB1dCB0aGUgU09GIG1hcmtlciBpbnRvIHRoZSBjYXBzCgoyMDEzLTAyLTEzIDEyOjAyOjQ2ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwYW1yZGVwYXkuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwLXBheWxvYWRpbmcuYzoKCSAgcnRwLXBheWxvYWRpbmc6IEZpeCB1bml0IHRlc3QgY2FwcyBhbmQgQU1SIGRlcGF5bG9hZGVyIHNpbmsgdGVtcGxhdGUgY2FwcwoJICBGaWVsZHMgd2VyZSBtaXNzaW5nIGZyb20gdGhlIGFjdHVhbCBjYXBzLCBvciB0b28gbWFueSBmaWVsZHMKCSAgZXhpc3RlZCBpbiB0aGUgdGVtcGxhdGUgY2Fwcy4KCjIwMTMtMDItMTMgMTE6NTM6MDEgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYWFjcGFyc2UuYzoKCSAgYWFjcGFyc2U6IEZpeCBjYXBzIHVzZWQgaW4gdGhlIHVuaXQgdGVzdAoJICBUaGUgQUFDIGNhcHMgcGFzc2VkIHdlcmUgaW5jb21wbGV0ZS4KCjIwMTMtMDItMTMgMTE6NDk6NDAgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvd2F2cGFja2VuYy5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy93YXZwYWNrcGFyc2UuYzoKCSAgd2F2cGFjazogRml4IHVuaXQgdGVzdHMsIHdpZHRoIGlzIG5vdyBjYWxsZWQgZGVwdGggaW4gdGhlIGNhcHMgaW4gMS4wCgoyMDEzLTAyLTEyIDIzOjMxOjIyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvc291cGh0dHBzcmMuYzoKCSAgdGVzdHM6IG1ha2Ugc291cGh0dHBzcmMgdW5pdCB0ZXN0IHdvcmsgZXZlbiBpZiBodHRwX3Byb3h5IGlzIHNldAoJICBXZSdyZSB0ZXN0aW5nIHdpdGggYW4gaHR0cCBzZXJ2ZXIgb24gbG9jYWxob3N0LCBidXQgZG9uJ3Qgc3VwcG9ydAoJICBhbiBleGNlcHRpb24gbGlzdCBmb3IgdGhlIGh0dHBfcHJveHksIHNvIGp1c3QgdW5zZXQgdGhlIGVudmlyb25tZW50CgkgIHZhcmlhYmxlIHRvIG1ha2Ugc3VyZSB3ZSBjYW4gcnVuIHRoaXMgdGVzdCBwcm9wZXJseSBldmVuIGlmIHRoZQoJICBlbnZpcm9ubWVudCBoYXMgaHR0cF9wcm94eSBzZXQuCgkgIEFsc28sIGRvbid0IHNraXAgYWxsIHRlc3RzIGlmIHRoZXJlIGlzIGFuIGlzc3VlIHdpdGggdGhlIFNTTCBzZXJ2ZXIsCgkgIGp1c3QgcnVuIHRoZSBub24tU1NMIHRlc3RzIHRoZW4uCgkgIGh0dHBzOi8vamVua2lucy5xYS51YnVudHUuY29tL3ZpZXcvUmFyaW5nL3ZpZXcvSkhCdWlsZCUyMEdub21lL2pvYi9qaGJ1aWxkLWFtZDY0LWdzdC1wbHVnaW5zLWdvb2QvCgoyMDEzLTAyLTEyIDEyOjUzOjUyIC0wODAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAcmRpby5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogZXh0cmFjdCBjb2RlY19kYXRhIGZvciBQcm9SZXMKCjIwMTMtMDItMDggMDE6MDI6MTAgKzExMDAgIFRpbSAnbWl0aHJvJyBBbnNlbGwgPG1pdGhyb0BtaXRoaXMuY29tPgoKCSogZ3N0L2F2aS9nc3RhdmltdXguYzoKCSAgYXZpbXV4OiBGaXhpbmcgYnVmZmVyIGxlYWsgaW4gZ3N0X2F2aV9tdXhfZG9fYnVmZmVyCgkgIGdzdF9hdmlfbXV4X2RvX2J1ZmZlciB3YXMgbGVha2luZyBkYXRhIGZyb20gZ3N0X2NvbGxlY3RfcGFkc19wb3AuCgoyMDEzLTAyLTEwIDE1OjEwOjMyICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtbmF1d0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIGF2aWRlbXV4OiBjb3JyZWN0IGR1cmF0aW9uIGZvciBhdWRpbyBWQlIgYnVmZmVycyBpbiBwdWxsIG1vZGUKCjIwMTMtMDItMDggMjE6Mjg6MDIgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1uYXV3QHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgYXZpZGVtdXg6IHByb3BlciBwb3NpdGlvbiByZXBvcnRpbmcgYW5kIHB1c2ggbW9kZSB0aW1lc3RhbXBpbmcKCSAgLi4uIGFuZCBhbGlnbiBjdXJyZW50X3RvdGFsIHNlbWFudGljcyBpbiBwdXNoIGFuZCBwdWxsIG1vZGUsCgkgIHdoaWNoIHRyYWNrcyBieXRlcyBmb3IgQ0JSIGFuZCBibG9ja3MgZm9yIFZCUi4KCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5MTQ4MQoKMjAxMy0wMi0wOCAxNzowNToyNyArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzoKCSAgcnRwc2Vzc2lvbjogZGVsYXkgUlRDUCB1bnRpbCBmaXJzdCBSVFAgcGFja2V0CgkgIERlbGF5IHNlbmRpbmcgdGhlIGZpcnN0IFJUQ1AgcGFja2V0IHVudGlsIHdlIGhhdmUgc2VudCB0aGUgZmlyc3QgUlRQIHBhY2tldC4KCSAgT3RoZXJ3aXNlIHdlIHdpbGwgc2VuZCBvdXQgYSBSZWNlaXZlciBSZXBvcnQgaW5zdGVhZCBvZiBhIHNlbmRlciByZXBvcnQuCgkgIFNlZSBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjkxNDAwCgoyMDEzLTAyLTA3IDE1OjA2OjQwICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJICBydHBzZXNzaW9uOiByZW1vdmUgZGVhZCBjb2RlCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NjgzNTUKCjIwMTMtMDEtMjkgMTA6NDg6MTcgKzAxMDAgIFBhdWwgSEVOUllTIDx2aXNlY2hlbGxlQGdtYWlsLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHB0ZGVtdXguYzoKCSAgcnRwcHRkZW11eDogZm9yd2FyZCBzdGlja3kgZXZlbnRzIGFuZCB0aGVuIHNldCBjYXBzCgkgIFdoZW4gYSBuZXcgc3JjIHBhZCBpcyBhZGRlZCwgZmlyc3QgZm9yd2FyZCB0aGUgc3RpY2t5IGV2ZW50cyBhbmQgdGhlbgoJICBzZXQgdGhlIGNhcHMgb24gdGhlIHNyYyBwYWQKCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5Mjc4NgoKMjAxMy0wMi0wNyAxNDozMjoyNiArMDEwMCAgTWFya292dHNldiBWYWRpbSA8di5tYXJrb3Z0c2V2IGF0IHNhbXN1bmcuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwaml0dGVyYnVmZmVyLmM6CgkgIHJ0cGppdHRlcmJ1ZmZlcjogaW1wcm92ZSBkZWJ1ZyBvdXRwdXQKCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4ODkzNQoKMjAxMS0wOS0yNiAxNDo0Mjo1MSAtMDcwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOgoJICBydHBiaW46IHJld29yayBjbGVhbnVwIG9mIHN0cmVhbXMKCSAgTW92ZSB0aGUgd29yayBvZiBjbGVhbmluZyB1cCB0aGUgY2xpZW50IHN0cmVhbXMgaW4gdGhlIGZyZWVfc3RyZWFtCgkgIGZ1bmN0aW9uLiBUaGlzIGFsbG93cyB1cyB0byBwcm9wZXJseSBjbGVhbiB1cCB0aGUgY2xpZW50IHN0cmVhbXMgd2hlbiB3ZQoJICByZW1vdmUgYW4gUlRQIHN0cmVhbSBhcyB3ZWxsLgoJICBCYXNlZCBvbiBwYXRjaCBieSBTdWpheSA8c2RhdGFyQGNpc2NvLmNvbT4KCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY2MDE1NgoKMjAxMy0wMi0wNyAxMTo0MDozNSArMDEwMCAgVGltICdtaXRocm8nIEFuc2VsbCA8Z25vbWUgYXQgbWl0aGlzLmNvbT4KCgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIyLmM6CgkgIHZpZGVvbWl4ZXIyOiBhdm9pZCBjYXBzIGxlYWsKCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5MzMwNwoKMjAxMy0wMi0wNiAxNzoxNToxMSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cGppdHRlcmJ1ZmZlci5jOgoJICBqaXR0ZXJidWZmZXI6IGRvIHNrZXcgZXN0aW1hdGlvbiBvbmx5IGZvciBuZXcgdGltZXN0YW1wcwoJICBPbmx5IHJ1biB0aGUgc2tldyBlc3RpbWF0aW9uIGNvZGUgd2hlbiB3ZSBoYXZlIGEgbmV3IFJUUCB0aW1lc3RhbXAuIElmIHdlIGhhdmUKCSAgdGhlIHNhbWUgUlRQIHRpbWVzdGFtcCwgd2Ugc2ltcGx5IHVzZSB0aGUgcHJldmlvdXMgZXN0aW1hdGlvbi4gVGhpcyB3b3JrcwoJICBiZWNhdXNlIHRoZSBuZXcgb2JzZXJ2YXRpb24gd2l0aCB0aGUgc2FtZSBSVFAgdGltZXN0YW1wIGhhcyB0byBoYXZlIGEgYmlnZ2VyCgkgIHJlY2VpdmVyIHRpbWUgYW5kIGlzIHRodXMgbm90IGdvaW5nIHRvIGluZmx1ZW5jZSB0aGUgZXN0aW1hdGlvbiBleGNlcHQgZm9yCgkgIGNhdXNpbmcgbW9yZSBqaXR0ZXIuCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NDAwMjMKCjIwMTMtMDItMDYgMTM6NTI6MjYgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IG9ubHkgRU9TIHdoZW4gb3VyIHNvdXJjZSBzZW5kcyBCWUUKCSAgT25seSBFT1Mgd2hlbiB3ZSByZWNlaXZlIGEgQllFIGV2ZW50IGZyb20gdGhlIFNTUkMgb2Ygb3VyIHN0cmVhbS4KCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY3NTQ1MwoKMjAxMy0wMi0wNiAxMzo0Nzo1MSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogc2F2ZSB0aGUgc3RyZWFtIFNTUkMKCSAgQ29uZmxpY3RzOgoJICBnc3QvcnRzcC9nc3RydHNwc3JjLmMKCjIwMTMtMDItMDYgMTM6MTg6MTggKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IGZsdXNoIGNvbm5lY3Rpb24gd2hlbiBzdG9wcGluZwoJICBXaGVuIHdlIHN0b3AsIHdlIGNhbiBmbHVzaCBhbGwgcGVuZGluZyBjb21tYW5kcyBzbyB0aGF0IHdlIGNhbiBzdG9wIGFuZAoJICBqb2luIHRoZSB0YXNrLgoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njg0OTI0CgoyMDEzLTAyLTA1IDIyOjAyOjEzICswMTAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L3NwZWN0cnVtL1JFQURNRToKCSAgc3BlY3RydW06IHJlbW92ZSBvdXRkYXRlcyByZWFkbWUKCSAgTGV0cyByZW1vdmUgdGhlIHJlYWRtZSBmcm9tIHByZS0wLjEuMCB0aGF0IGlzIGNvbXBsZXRlbHkgaXJyZWxldmFudCBub3cuCgoyMDEzLTAyLTA1IDA3OjMyOjI5ICswMTAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2F1ZGlvZngvYXVkaW9wYW5vcmFtYS5jOgoJICBhdWRpb3Bhbm9yYW1hOiBhZGQgbW9yZSBkZWJ1ZyBsb2dnaW5nCgoyMDEzLTAyLTA1IDA4OjI2OjE0ICswMTAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogdGVzdHMvZXhhbXBsZXMvbGV2ZWwvbGV2ZWwtZXhhbXBsZS5jOgoJICBsZXZlbC1leGFtcGxlLiBhdm9pZCB0YWtpbmcgdGhlIGFycmF5cyBhZ2FpbiBmb3IgZWFjaCBjaGFubmVsIGZvciBjbGFyaXR5CgkgIEFsc28gaW50cm9kdWNlIHNvbWUgYmxhbmsgbGluZXMgZm9yIGJldHRlciByZWFkYWJpbGl0eSBhbmQgdXBkYXRlIHRoZSBjb21tZW50cy4KCjIwMTMtMDItMDQgMTg6Mzg6NDEgKzAwMDAgIFJpY28gVHpzY2hpY2hob2x6IDxyaWNvdHpAdWJ1bnR1LmNvbT4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvTWFrZWZpbGUuYW06CgkgIGF1ZGlvcGFyc2VyczogZml4IHR5cG8gaW4gbm9pbnN0X2hlYWRlcnMKCjIwMTMtMDItMDQgMTE6MDg6MjMgKzAxMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvYXVkaW9meC9hdWRpb3Bhbm9yYW1hLmM6CgkgIGF1ZGlvcGFub3JhbWE6IGZ1cnRoZXIgcG9ydCB0byAxLjAKCSAgVHJhbnNmb3JtY2FwcyBpcyBub3QgY2FsbGVkIHdpdGggY2FwcyBjb250YWluaW5nIHNpbmdsZSBzdHJ1Y3R1cmVzIGFueW1vcmUuIEFsc28gYWRkIG1pc3NpbmcgZmlsdGVyIGhhbmRsaW5nLiBTdGlsbCBkb2VzIG5vdCBuZWdvdGlhdGUgdGhvdWdoLgoKMjAxMy0wMi0wMyAyMjo0NTo1MiArMDEwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9hdWRpb2Z4L2F1ZGlvcGFub3JhbWEuYzoKCSAgYXVkaW9wYW5vcmFtYTogZml4IGNhcHMKCSAgV2UgZG9uJ3QgdHVybiBmbG9hdCBpbnRvIDMyYml0IHBjbS4gTG9va3MgbGlrZSBhIHR5cG8gZnJvbSB1cGRhdGluZyB0aGUgY2Fwcy4KCjIwMTMtMDItMDMgMTM6MTQ6NTAgKzAxMDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvbGV2ZWwvZ3N0bGV2ZWwuYzoKCSAgbGV2ZWw6IEFkZCBtaXNzaW5nIGNvbWEgYmV0d2VlbiBmb3JtYXRzCgoyMDEzLTAxLTMxIDIyOjU1OjE4ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIyLmM6CgkgIHZpZGVvbWl4ZXI6IGZpeCBlb3MgdGltZXN0YW1wIGNoZWNrCgkgIGZpeGVzIGhhbmcgaW4gdmlkZW90ZXN0c3JjIG51bS1idWZmZXJzPTIwICEgdmlkZW9taXhlciAhIGZha2VzaW5rCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTI5MzUKCjIwMTMtMDEtMzEgMTE6MzU6MDkgKzAxMDAgIERpcmsgVmFuIEhhZXJlbmJvcmdoIDx2aGRpcmtAZ21haWwuY29tPgoKCSogZ3N0L2F2aS9nc3RhdmltdXguYzoKCSAgYXZpbXV4OiBhZGQgc3VwcG9ydCBmb3IgcmF3IG1vbm9jaHJvbWUgOC1iaXQgdmlkZW8KCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5MjkzMgoKMjAxMy0wMS0xOCAyMTowODoxMiArMDQwMCAgQWxleGV5IENoZXJub3YgPGFjaGVybm92QG5lb3NwaGVyZS5jb20+CgoJKiBzeXMvb3N4dmlkZW8vY29jb2F3aW5kb3cuaDoKCSogc3lzL29zeHZpZGVvL2NvY29hd2luZG93Lm06CgkgIG9zeHZpZGVvc2luazogTWFrZSBHc3ROYXZpZ2F0aW9uIGtleSBpbnB1dCBldmVudHMgaW4gb3N4dmlkZW9zaW5rIGNvbXBhdGlibGUgd2l0aCB4KHYpaW1hZ2VzaW5rIG9uZXMKCjIwMTMtMDEtMjkgMTA6MzA6MzIgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6CgkgIHJ0cHNlc3Npb246IGF2b2lkICcuLi5pcyB1c2VkIHVuaW5pdGlhbGl6ZWQnCgoyMDEzLTAxLTA5IDEzOjI0OjQ5IC0wNTAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IHNldCBpbnRlcmxlYXZlZCBsYXlvdXQgY29ycmVjdGx5IGZvciBMUENNIGF1ZGlvCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NjM0NTgKCjIwMTMtMDEtMDggMjA6NDU6MjEgLTA1MDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogYWRkIHN1cHBvcnQgZm9yIExQQ00gZm91cmNjICh1bmNvbXByZXNzZWQgYXVkaW8gaW4gUXVpY2t0aW1lNykKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY2MzQ1OAoKMjAxMy0wMS0wOCAyMDo0MjozNSAtMDUwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBwcmludCBhbGwgZGVidWcgZm9yIHNvdW5kIHNhbXBsZSBkZXNjcmlwdGlvbiB2MgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjYzNDU4CgoyMDEzLTAxLTA4IDIwOjE0OjE3IC0wNTAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IHNvdW5kIHNhbXBsZSBkZXNjcmlwdGlvbiB2MiBkb2Vzbid0IG92ZXJyaWRlIHNhbXBsZXNfcGVyX3BhY2tldAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjYzNDU4CgoyMDEzLTAxLTA4IDE5OjU3OjUwIC0wNTAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IHBhc3Mgc3RzZCBkYXRhIHRvIHF0ZGVtdXhfYXVkaW9fY2FwcygpCgkgIFdlIHdpbGwgbmVlZCB0aGF0IGxhdGVyIGZvciBMUENNIGZvcm1hdCBzdXBwb3J0LiBEaXNhYmxlCgkgIFFETTIgcGFyc2luZyBvZiBzdHNkIGRhdGEgd2hpY2ggZGVhZCBjb2RlIGJlZm9yZSBhcyB3ZWxsCgkgIGJlY2F1c2UgZGF0YSB3YXMgYWx3YXlzIE5VTEwuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NjM0NTgKCjIwMTMtMDEtMDggMTk6NTY6NDYgLTA1MDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogYWRkIGxlbiBjaGVjayBmb3Igc291bmQgc2FtcGxlIGRlc2NyaXB0aW9ucyB2MSBhbmQgdjIKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY2MzQ1OAoKMjAxMy0wMS0yOCAyMjo0MjoyNSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNzcmNkZW11eC5jOgoJICBydHBtYW5hZ2VyOiB1c2UgQzg5LXN0eWxlIGNvbW1lbnRzCgoyMDEzLTAxLTI4IDE4OjA2OjE1IC0wNTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOgoJICBnc3RydHBzZXNzaW9uOiBGaXggZG91YmxlLWRlY2xhcmVkIHZhcmlhYmxlCgoyMDEzLTAxLTI4IDE3OjU4OjIwIC0wNTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzc3JjZGVtdXguYzoKCSAgcnRwOiBGaXggY29tcGlsYXRpb24gZXJyb3JzIGluIHByZXZpb3VzIHBhdGNoZXMKCjIwMTEtMDQtMjggMjI6NTk6MjggKzAyMDAgIEhhYWtvbiBTcG9yc2hlaW0gPGhhYWtvbi5zcG9yc2hlaW1AZ21haWwuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOgoJICBydHBzZXNzaW9uOiBFbnN1cmUgTVQgc2FmZSBldmVudCBoYW5kbGluZyBhbmQgcGx1ZyBldmVudCBsZWFrLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjY3ODI2CgoyMDExLTEwLTE3IDIzOjQ1OjM3ICswMjAwICBJZGFyIFRvbGxlZnNlbiA8aXRvbGxlZnNAY2lzY28uY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOgoJICBydHBzZXNzaW9uOiBtdC1zYWZlIGV2ZW50LXB1c2gKCSAgQnkgdGFraW5nIGEgcmVmIG9mIHRoZSBzaW5rLXBhZCB1bmRlciBsb2NrLCBpdCB3b24ndCBkaXNzYXBwZWFyCgkgIHdoaWxlIHRoZSBwdXNoIGlzIHRha2luZyBwbGFjZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjY3ODE2CgoyMDEyLTAxLTA0IDEwOjI5OjQ1ICswMTAwICBQYXNjYWwgQnVobGVyIDxwYWJ1aGxlckBjaXNjby5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzc3JjZGVtdXguYzoKCSAgcnRwc3NyY2RlbXV4OiBTYWZlbHkgcHVzaCBvbiBwYWRzIHRoYXQgbWlnaHQgYmUgcmVtb3ZlZCBkdWUgdG8gYSBSVENQIEJZRQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjY3ODE1CgoyMDEzLTAxLTI4IDIwOjQyOjI2ICswMTAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSBhOTQyMjkzIHRvIDJkZTIyMWMKCjIwMTMtMDEtMjggMTE6NTQ6NTQgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RzYmNwYXJzZS5jOgoJICBzYmNwYXJzZTogaW5pdCBzb21lIHZhcmlhYmxlcyB0byBhdm9pZCBib2d1cyBjb21waWxlciB3YXJuaW5ncwoKMjAxMy0wMS0yOCAxMjo0MTowNCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwTDE2ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBhYzNkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGFtcmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwYnZkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGNlbHRkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGR2ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnNzIyZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnNzIzZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnNzI2ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnNzI5ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnc21kZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGdzdGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2M2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaWxiY2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwajJrZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBqcGVnZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDFzZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDJ0ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDRhZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDRnZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcGFkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wYXJvYnVzdGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXB2ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBwY21hZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBwY211ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBxY2VscGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwcWRtZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBzaXJlbmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwc3BlZXhkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHN2M3ZkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHRoZW9yYWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwdm9yYmlzZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHB2cDhkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHZyYXdkZXBheS5jOgoJICBydHBkZXBheTogcmVtb3ZlIHBheWxvYWQgdHlwZSByZXN0cmljdGlvbnMKCSAgUmVtb3ZlIHRoZSBwdCByZXN0cmljdGlvbnMgZm9yIGFsbCB0aGUgZGVwYXlsb2FkZXJzIHRoYXQgaGF2ZSBhbgoJICBlbmNvZGluZy1uYW1lLiBXZSBjYW4gdXNlIHRoaXMgdG8gYXV0b3BsdWcgZGVjb2RlcnMuCgkgIFJlbW92ZSB0aGUgZW5jb2RpbmctbmFtZSBmb3IgYWxsIHRoZSBwYXlsb2FkZXJzIHdpdGggYSBmaXhlZCBwYXlsb2FkCgkgIHR5cGUuCgkgIFdlIG5vdyBlaXRoZXIgaGF2ZSBhbiBlbmNvZGluZy1uYW1lIG9yIGEgcHQgaW4gdGhlIHNpbmtwYWQgY2FwcyBvZgoJICBhIGRlcGF5bG9hZGVyLgoJICBTZWUgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYzOTI5MgoKMjAxMy0wMS0yOCAxMjoyMzo0MSArMDEwMCAgTWFyYyBMZWVtYW4gPG1hcmMubGVlbWFuQGdtYWlsLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2M2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2M3BkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wNHZkZXBheS5jOgoJICBydHA6IHJlbW92ZSBwYXlsb2FkIHJlcXVpcmVtZW50cyBmcm9tIHNlbGVjdGVkIGRlcGF5bG9hZGVycwoJICBlbmNvZGluZyBuYW1lIGlzIHJlcXVpcmVkIGluIHRoZSBjYXBzIGFuZCBpcyBhIGJldHRlciBmaXQgZm9yIGF1dG9wbHVnZ2luZyB0aGFuCgkgIHRoZSBwdCB2YWx1ZS4gSGFyZHdhcmUgbWFudWZhY3R1cmVycyBoYXZlIGEgYmFkIGhhYml0IG9mIHNraW1taW5nIHRocm91Z2ggUkZDcwoJICBhbmQgaW4gdGhpcyBjYXNlOyB1c2UgdW5hc3NpZ25lZCBudW1iZXJzIGZvciBlbmNvZGVycyBpbnN0ZWFkIG9mIGR5bmFtaWMKCSAgbnVtYmVycy4KCSAgSW4gZXNzZW5jZSwgdGhpcyBwYXRjaCB3aWxsIGFkZCBzdXBwb3J0IGZvciBhIGxvdCBvZiBCb3NjaCBoYXJkd2FyZSBlbmNvZGVycwoJICB3aXRob3V0IGJyZWFraW5nIGF1dG9wbHVnZ2luZy4KCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYzOTI5MgoKMjAxMy0wMS0yNyAxMDoxNzo1OSArMDUzMCAgQi5QcmF0aGliaGEgPGJvc3NsaW51eEBjZGFjLmluPgoKCSogdGVzdHMvZXhhbXBsZXMvamFjay9qYWNrX2NsaWVudC5jOgoJKiB0ZXN0cy9leGFtcGxlcy9ydHAvc2VydmVyLWFsc2FzcmMtUENNQS5jOgoJKiB0ZXN0cy9pY2xlcy94aW1hZ2VzcmMtdGVzdC5jOgoJICB0ZXN0czogdXNlIGdfdGltZW91dF9hZGRfc2Vjb25kcyBpbnN0ZWFkIG9mIGdfdGltZW91dF9hZGQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5MjYxNQoKMjAxMy0wMS0yNyAxMjo1NDoxNSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bW5hdXdAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IHB1c2ggbW9kZTogb25seSBwYXJzZSBtb292IDEgb25jZQoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjkxNTcwCgoyMDEzLTAxLTI2IDIyOjU4OjI5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZnNyYy5jOgoJICBydHBkdG1mc3JjOiBmaXggY29tcGlsZXIgd2FybmluZwoJICBnc3RydHBkdG1mc3JjLmM6IEluIGZ1bmN0aW9uICdnc3RfZHRtZl9zcmNfcHJlcGFyZV9tZXNzYWdlLmlzcmEuMSc6CgkgIGdzdHJ0cGR0bWZzcmMuYzo2Njk6MzogZXJyb3I6ICdzJyBtYXkgYmUgdXNlZCB1bmluaXRpYWxpemVkIGluIHRoaXMgZnVuY3Rpb24KCjIwMTMtMDEtMjUgMjE6MDY6MDUgLTA1MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mZGVwYXkuYzoKCSAgcnRwZHRtZmRlcGF5OiBGaXggbWlzc2luZyB3b3JrIGluIGRvYwoKMjAxMy0wMS0yNCAyMTowMDowOCAtMDUwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2R0bWYuYzoKCSAgdGVzdHM6IEFkZCB0ZXN0IGZvciBydHBkdG1mZGVwYXkgYW5kIHJ0cGR0bWZzcmMKCjIwMTMtMDEtMjUgMjA6Mzk6MzMgLTA1MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mc3JjLmM6CgkgIHJ0cGR0bWZzcmM6IFBvc3QgdGhlIG1lc3NhZ2VzIGFmdGVyIHRoZSBjbG9jayB3YWl0CgkgIFRoaXMgd2F5LCB0aGUgbWVzc2FnZXMgd2lsbCBiZSBjbG9zZXIgaW4gdGltZSB0byB3aGVuIHRoZSBwYWNrZXRzIGFyZSBzZW50IG91dAoKMjAxMy0wMS0yNSAyMDozNzo1MyAtMDUwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZzcmMuYzoKCSAgcnRwZHRtZnNyYzogT25seSBzZXQgdGhlIGR1cmF0aW9uIHdoZW4gc3RhcnRpbmcgdG8gc2VuZAoJICBUaGUgZHVyYXRpb24gZGVwZW5kcyBvbiB0aGUgY2xvY2sgcmF0ZSwgd2hpY2ggY291bGQgY2hhbmdlIGR1ZSB0byByZW5lZ290aWF0aW9uCgoyMDEzLTAxLTI1IDIwOjM3OjA5IC0wNTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZnNyYy5jOgoJICBydHBkdG1mc3JjOiByZW1vdmUgInNzcmMiIGZyb20gY2FwcwoJICBzc3JjIGlzIHVpbnQgYW5kIHdlIGRvbid0IGhhdmUgYSB1aW50IHJhbmdlIHR5cGUKCjIwMTMtMDEtMjQgMjE6MDg6NTEgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBnc3QvaXNvbXA0L2F0b21zLmg6CgkgIHF0bXV4OiBzZXQgbGFuZ3VhZ2UgdG8gJ3VuZGVmaW5lZCcgaW5zdGVhZCBvZiBFbmdsaXNoIGJ5IGRlZmF1bHQKCjIwMTMtMDEtMjMgMjE6MzU6MjUgLTA1MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMveGltYWdlL2dzdHhpbWFnZXNyYy5jOgoJKiBzeXMveGltYWdlL3hpbWFnZXV0aWwuYzoKCSogc3lzL3hpbWFnZS94aW1hZ2V1dGlsLmg6CgkgIHhpbWFnZXNyYzogU2V0IHRoZSBwaXhlbCBhc3BlY3QgcmF0aW8gY29ycmVjdGx5IGluIHRoZSBjYXBzCgoyMDEzLTAxLTA4IDA4OjU2OjQ1ICswMTAwICBTam9lcmQgU2ltb25zIDxzam9lcmRAbHVvbi5uZXQ+CgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkgIHY0bDI6IFJlLWVuYWJsZSBwcmVwYXJlLWZvcm1hdCBlbWlzc2lvbgoJICBXaXRoIHRoZSBwb3J0IHRvIGdzdHJlYW1lciAxLjAgdGhlIHByZXBhcmUtZm9ybWF0IHNpZ25hbCBzdG9wcGVkIGJlaW5nCgkgIGVtaXR0ZWQuIFN0YXJ0IGVtaXR0aW5nIHRoaXMgYWdhaW4gZm9yIHVzZSBpbiB1dmNoMjY0c3JjLiAgV2hpbGUgdGhlcmUKCSAgY2hhbmdlIHRoZSBlbWlzc2lvbiB0byBpbmNsdWRlIHRoZSBjYXBzIGZvciBleHRyYSBmbGV4aWJpbGl0eSBpbnN0ZWFkIG9mCgkgIGZvdXJjZSwgd2lkdGgsIGhlaWdodC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5MjA0MgoKMjAxMy0wMS0yMiAxODoxMjoxMCArMDEwMCAgQmVuamFtaW4gR2FpZ25hcmQgPGJlbmphbWluLmdhaWduYXJkQHN0LmNvbT4KCgkqIGF1dG9nZW4uc2g6CgkgIGF1dG9nZW4uc2g6IGFsbG93IGNhbGxpbmcgZnJvbSBvdXQtb2YtdHJlZQoJICBTaWduZWQtb2ZmLWJ5OiBCZW5qYW1pbiBHYWlnbmFyZCA8YmVuamFtaW4uZ2FpZ25hcmRAc3QuY29tPgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjkyMzA5CgoyMDEzLTAxLTIyIDE5OjI2OjA5ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtbmF1d0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdHNiY3BhcnNlLmM6CgkgIGF1ZGlvcGFyc2Vyczogc2JjOiBmaXggYm9ndXMgY29tcGlsZXIgd2FybmluZwoJICBnc3QtcGx1Z2lucy1nb29kL2dzdC9hdWRpb3BhcnNlcnMvZ3N0c2JjcGFyc2UuYzogSW4gZnVuY3Rpb24gJ2dzdF9zYmNfcGFyc2VfaGFuZGxlX2ZyYW1lJzoKCSAgZ3N0LXBsdWdpbnMtZ29vZC9nc3QvYXVkaW9wYXJzZXJzL2dzdHNiY3BhcnNlLmM6MjEwOjMyOiBlcnJvcjogJ2NoX21vZGUnIG1heSBiZSB1c2VkIHVuaW5pdGlhbGl6ZWQgaQoKMjAxMy0wMS0xOSAxMzoyNzo0OCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSAgcHVsc2VzaW5rOiBkb24ndCBlcnJvciBvdXQgaWYgcGFfc3RyZWFtX3Byb3BsaXN0X3VwZGF0ZSgpIHdpdGggbmV3IHRhZ3MgZmFpbHMKCSAgU2hvdWxkbid0IHJlYWxseSBoYXBwZW4gdGhlc2UgZGF5cywgYnV0IGlmIGl0IGRvZXMsIGl0J3Mgbm90IHJlYWxseQoJICBhIHByb2JsZW0gZWl0aGVyLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjU2MDY4CgoyMDEzLTAxLTE2IDE4OjAxOjIzICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3NvdXBodHRwc3JjLmM6CgkgIHRlc3RzOiBza2lwIHNvdXBodHRwc3JjIHRlc3RzIGlmIHRoZXJlIGlzIG5vIGxvY2FsIGh0dHAgc2VydmVyIHRvIHVzZQoJICBTa2lwIHRlc3RzIGlmIHRoZSBzZXJ2ZXIgY291bGRuJ3QgYmUgc3RhcnRlZCBvciB3ZSBjYW4ndCBjb25uZWN0CgkgIHRvIGl0IGZvciBzb21lIHJlYXNvbiAoZS5nLiBkcmFjb25pYyBidWlsZCBib3QgZW52aXJvbm1lbnRzKS4KCjIwMTMtMDEtMTYgMTQ6MzI6NTYgKzAxMDAgIFRoaWpzIFZlcm1laXIgPHRoaWpzdmVybWVpckBnbWFpbC5jb20+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdHNiY3BhcnNlLmM6CgkgIGF1dG9wYXJzZXJzOiB1c2UgYXBwcm9wcmlhdGUgcHJpbnRmIGZvcm1hdCBmb3IgZ3NpemUKCjIwMTMtMDEtMTUgMTU6MDU6NDMgKzAxMDAgIE1hcnRpbiBQaXR0IDxtYXJ0aW5waXR0QGdub21lLm9yZz4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICB0ZXN0czogdXNlIF8xXzAgdmFyaWFudHMgZm9yIHRoZSB2YXJpb3VzIHJlZ2lzdHJ5IHZhcmlhYmxlcwoJICBUaGVzZSBvdmVycmlkZSB0aGUgdmFyaWFudHMgd2l0aG91dCB2ZXJzaW9uIHN1ZmZpeC4gTWFrZXMgJ21ha2UgY2hlY2snIHdvcmsKCSAgcHJvcGVybHkgaW4gZW52aXJvbm1lbnRzIHRoYXQgc2V0IHRoZSBzdWZmaXhlZCB2YXJpYW50IGZvciAxLjAsIHN1Y2ggYXMKCSAgamhidWlsZC4KCjIwMTMtMDEtMTEgMTk6MjQ6NDMgKzA0MDAgIEFsZXhleSBDaGVybm92IDxhY2hlcm5vdkBuZW9zcGhlcmUuY29tPgoKCSogc3lzL29zeHZpZGVvL2NvY29hd2luZG93Lm06CgkqIHN5cy9vc3h2aWRlby9vc3h2aWRlb3NpbmsubToKCSAgb3N4dmlkZW9zaW5rOiBGaXggY3Jhc2ggaW4gb3N4dmlkZW9zaW5rIHdpdGggZXh0ZXJuYWwgd2luZG93IG91dHB1dAoKMjAxMy0wMS0xNiAxMjowNDo1OSArMDQwMCAgQWxleGV5IENoZXJub3YgPGFjaGVybm92QG5lb3NwaGVyZS5jb20+CgoJKiBzeXMvb3N4dmlkZW8vY29jb2F3aW5kb3cubToKCSAgb3N4dmlkZW9zaW5rOiBNYWtlIEdzdEdMVmlldyBwcm9wYWdhdGUgaW5wdXQgZXZlbnRzIHRvIGl0cyBwYXJlbnQgdmlldwoJICBGaXhlcyBidWcgIzY5MTgzMgoKMjAxMy0wMS0xNiAxMDoxOTozNiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cHNiY3BheS5jOgoJICBydHBzYmNwYXk6IHVwZGF0ZSBzb21lIGZpZWxkcyBpbiB0aGUgY2FwcyB0byB0aGVpciBuZXcgbmFtZQoJICBhbmQgdG8gbWF0Y2ggdGhlIHBhcnNlci4gIm1vZGUiIGdvdCByZW5hbWVkIHRvICJjaGFubmVsLW1vZGUiCgkgIGFuZCAiYWxsb2NhdGlvbiIgdG8gImFsbG9jYXRpb24tbWV0aG9kIi4KCjIwMTMtMDEtMTUgMTc6NDQ6MzMgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1kb2NzLnNnbWw6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9wYXJzZXJzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cC54bWw6CgkgIGRvY3M6IGFkZCBzYmNwYXJzZSBhbmQgcnRwc2JjcGF5IHRvIHBsdWdpbiBkb2NzCgoyMDEzLTAxLTE1IDE3OjM4OjI0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvTWFrZWZpbGUuYW06CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0c2JjcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RzYmNwYXJzZS5oOgoJKiBnc3QvYXVkaW9wYXJzZXJzL3BsdWdpbi5jOgoJICBhdWRpb3BhcnNlcnM6IGFkZCBTQkMgYXVkaW8gcGFyc2VyCgkgIEZyb20tc2NyYXRjaCByZXdyaXRlLCB0aGUgYmx1ZXogb25lIHdhcyB1c2VsZXNzIGFuZCBicm9rZW4uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTA1ODIKCjIwMTMtMDEtMTUgMTU6MDU6MDQgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSBhNzJmYWVhIHRvIGE5NDIyOTMKCjIwMTMtMDEtMTAgMTI6Mzg6MTMgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9NYWtlZmlsZS5hbToKCSogZ3N0L3J0cC9nc3RydHAuYzoKCSogZ3N0L3J0cC9nc3RydHBzYmNwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBzYmNwYXkuaDoKCSAgcnRwOiBpbXBvcnQgcnRwc2JjcGF5IGZyb20gYmx1ZXogYW5kIHBvcnQgdG8gMS4wCgkgIENvbXBpbGVzLCBidXQgbm90IHRlc3RlZCB5ZXQgKHNiYyBlbGVtZW50cyBzdGlsbCBuZWVkIHRvIGJlIHBvcnRlZCkuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTA1ODIKCjIwMTMtMDEtMDkgMTk6NTk6MTYgLTA1MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvZHRtZi9NYWtlZmlsZS5hbToKCSogZ3N0L2R0bWYvZ3N0ZHRtZi5jOgoJKiBnc3QvZHRtZi9nc3RkdG1mZGV0ZWN0LmM6CgkqIGdzdC9kdG1mL2dzdGR0bWZkZXRlY3QuaDoKCSogZ3N0L2R0bWYvdG9uZV9kZXRlY3QuYzoKCSogZ3N0L2R0bWYvdG9uZV9kZXRlY3QuaDoKCSAgZHRtZi9zcGFuZHNwOiBNb3ZlIGR0bWZkZXRlY3QgdG8gdXNlIGxpYnNwYW5kc3AKCSAgUmVtb3ZlIG91ciBjb3B5IG9mIHRoZSB0b25lX2RldGVjdC5jIGZpbGUgYW5kIHVzZSB0aGUgb3JpZ2luYWwKCSAgZnJvbSBsaWJzcGFuZHNwLiBBbHNvIG1vdmUgdGhlIGVsZW1lbnQgdG8gdGhlIHNwYW5kc3AgcGx1Z2luLgoKMjAxMS0wMi0xMyAxNzo1MTo0NSAtMDgwMCAgTWFyY2VsIEhvbHRtYW5uIDxtYXJjZWxAaG9sdG1hbm4ub3JnPgoKCSogZ3N0L3J0cC9nc3RydHBzYmNwYXkuaDoKCSAgcnRwc2JjcGF5OiBSZW1vdmUgd29ya2Fyb3VuZCBmb3IgY29tcGlsZXIgd2FybmluZ3MKCjIwMTAtMDUtMTkgMTY6NTk6MzAgKzAyMDAgIE1hcmNlbCBIb2x0bWFubiA8bWFyY2VsQGhvbHRtYW5uLm9yZz4KCgkqIGdzdC9ydHAvZ3N0cnRwc2JjcGF5LmM6CgkgIHJ0cHNiY3BheTogQWRkIHByYWdtYSBiYXNlZCB3b3JrYXJvdW5kIGZvciBHU3RyZWFtZXIgd2FybmluZ3MKCjIwMTAtMDEtMDEgMTc6MDg6MTcgLTA4MDAgIE1hcmNlbCBIb2x0bWFubiA8bWFyY2VsQGhvbHRtYW5uLm9yZz4KCgkqIGdzdC9ydHAvZ3N0cnRwc2JjcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwc2JjcGF5Lmg6CgkgIHJ0cHNiY3BheTogVXBkYXRlIGNvcHlyaWdodCBpbmZvcm1hdGlvbgoKMjAwOS0wMS0zMCAwMDozMToxNSArMDEwMCAgTWFyY2VsIEhvbHRtYW5uIDxtYXJjZWxAaG9sdG1hbm4ub3JnPgoKCSogZ3N0L3J0cC9nc3RydHBzYmNwYXkuYzoKCSAgcnRwc2JjcGF5OiBGaXggc2lnbmVkL3Vuc2lnbmVkIGNvbXBhcmlzb24gaXNzdWUgd2l0aGluIEdTdHJlYW1lciBwbHVnaW4KCjIwMDktMDEtMDEgMTk6MzM6MjAgKzAxMDAgIE1hcmNlbCBIb2x0bWFubiA8bWFyY2VsQGhvbHRtYW5uLm9yZz4KCgkqIGdzdC9ydHAvZ3N0cnRwc2JjcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwc2JjcGF5Lmg6CgkgIHJ0cHNiY3BheTogVXBkYXRlIGNvcHlyaWdodCBpbmZvcm1hdGlvbgoKMjAwOC0xMi0yMyAwNToyNTo1MCArMDEwMCAgTWFyY2VsIEhvbHRtYW5uIDxtYXJjZWxAaG9sdG1hbm4ub3JnPgoKCSogZ3N0L3J0cC9nc3RydHBzYmNwYXkuaDoKCSAgcnRwc2JjcGF5OiBGaXJzdCBhdHRlbXB0IGluIGZpeGluZyBjb21waWxlciB3YXJuaW5ncyAoc3RpbGwgbmVlZHMgY2xlYW51cCkKCjIwMDgtMTItMjAgMjE6NDI6NDkgKzAyMDAgIEpvaGFuIEhlZGJlcmcgPGpvaGFuLmhlZGJlcmdAbm9raWEuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBzYmNwYXkuYzoKCSAgcnRwc2JjcGF5OiBNb3JlIGNvZGluZyBzdHlsZSBmaXhlcwoKMjAwOC0wMi0yOSAxOTozNzoxNSArMDAwMCAgTHVpeiBBdWd1c3RvIHZvbiBEZW50eiA8bHVpei5kZW50ekBvcGVuYm9zc2Eub3JnPgoKCSogZ3N0L3J0cC9nc3RydHBzYmNwYXkuYzoKCSAgcnRwc2JjcGF5OiBSZW1vdmUgcG9zc2libGUgZXh0cmEgbWVtY3B5IGZvciBnc3RyZWFtZXIgcGx1Z2luLgoKMjAwOC0wMi0yOCAxOTozODo1MyArMDAwMCAgTHVpeiBBdWd1c3RvIHZvbiBEZW50eiA8bHVpei5kZW50ekBvcGVuYm9zc2Eub3JnPgoKCSogZ3N0L3J0cC9nc3RydHBzYmNwYXkuYzoKCSAgcnRwc2JjcGF5OiBGaXggYnVnIHNlbmRpbmcgZW1wdHkgcGFja2FnZXMgYW5kIHJlbW92ZSBhIGJ1ZmZlciBjb3B5LgoKMjAwOC0wMi0yMCAxMzozNzowMCArMDAwMCAgTHVpeiBBdWd1c3RvIHZvbiBEZW50eiA8bHVpei5kZW50ekBvcGVuYm9zc2Eub3JnPgoKCSogZ3N0L3J0cC9nc3RydHBzYmNwYXkuYzoKCSAgcnRwc2JjcGF5OiBGaXggcnVudGltZSB3YXJuaW5ncyBvZiBnc3RyZWFtZXIgcGx1Z2luLgoKMjAwOC0wMi0xOSAxOTo0OToyNCArMDAwMCAgTHVpeiBBdWd1c3RvIHZvbiBEZW50eiA8bHVpei5kZW50ekBvcGVuYm9zc2Eub3JnPgoKCSogZ3N0L3J0cC9nc3RydHBzYmNwYXkuYzoKCSAgcnRwc2JjcGF5OiBVcGRhdGUgZ3N0cmVhbWVyIHBsdWdpbiB0byB1c2UgbmV3IHNiYyBBUEkuCgoyMDA4LTAyLTAyIDAzOjM3OjA1ICswMDAwICBNYXJjZWwgSG9sdG1hbm4gPG1hcmNlbEBob2x0bWFubi5vcmc+CgoJKiBnc3QvcnRwL2dzdHJ0cHNiY3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHNiY3BheS5oOgoJICBydHBzYmNwYXk6IFVwZGF0ZSBjb3B5cmlnaHQgaW5mb3JtYXRpb24KCjIwMDgtMDEtMzAgMTQ6MjE6NDMgKzAwMDAgIEx1aXogQXVndXN0byB2b24gRGVudHogPGx1aXouZGVudHpAb3BlbmJvc3NhLm9yZz4KCgkqIGdzdC9ydHAvZ3N0cnRwc2JjcGF5LmM6CgkgIHJ0cHNiY3BheTogRml4ZXMgZ3N0cmVhbWVyIGNhcHMgYW5kIGNvZGUgY2xlYW51cC4KCjIwMDgtMDEtMjQgMTQ6MjU6MjkgKzAwMDAgIEx1aXogQXVndXN0byB2b24gRGVudHogPGx1aXouZGVudHpAb3BlbmJvc3NhLm9yZz4KCgkqIGdzdC9ydHAvZ3N0cnRwc2JjcGF5LmM6CgkgIHJ0cHNiY3BheTogRml4IGd0cmVhbWVyIHBheWxvYWRlciBzZW5kaW5nIGZyYWdtZW50ZWQgZnJhbWVzLgoKMjAwOC0wMS0yMyAxOToxNzozMyArMDAwMCAgTHVpeiBBdWd1c3RvIHZvbiBEZW50eiA8bHVpei5kZW50ekBvcGVuYm9zc2Eub3JnPgoKCSogZ3N0L3J0cC9nc3RydHBzYmNwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBzYmNwYXkuaDoKCSAgcnRwc2JjcGF5OiBGaXggdXNlIG9mIGdzdHJlYW1lciBwbHVnaW4gd2l0aCByaHl0aG1ib3ggYW5kIGJhbnNoZWUgYW5kIHJ0cCB0aW1lc3RhbXBzLgoKMjAwOC0wMS0yMyAxMzoxNDowMiArMDAwMCAgTHVpeiBBdWd1c3RvIHZvbiBEZW50eiA8bHVpei5kZW50ekBvcGVuYm9zc2Eub3JnPgoKCSogZ3N0L3J0cC9nc3RydHBzYmNwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBzYmNwYXkuaDoKCSAgcnRwc2JjcGF5OiBNYWtlIGEyZHBzaW5rIHRvIGFjdCBsaWtlIGEgYmluIGFuZCBzcGxpdCB0aGUgcGF5bG9hZGVyLgoKMjAxMy0wMS0wOCAxNjoyNzo0MiArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzoKCSAgcnRwOiBzbWFsbCBpbXByb3ZlbWVudHMKCjIwMTMtMDEtMDcgMTU6NTA6MzMgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgaml0dGVyYnVmZmVyOiByZWZhY3RvciBoYW5kbGUgc3luYyBjb2RlCgkgIE1vdmUgdGhlIGNvZGUgdGhhdCBjb21iaW5lcyB0aGUgbGFzdCBTUiBwYWNrZXQgYW5kIHRoZSBjdXJyZW50IGppdHRlcmJ1ZmZlciBzeW5jCgkgIHZhbHVlcyBpbnRvIGEgc3luYyBzdHJ1Y3R1cmUsIGludG8gaXRzIG93biBmdW5jdGlvbi4gV2Ugd2FudCB0byByZXVzZSB0aGlzIGJpdAoJICBsYXRlci4KCjIwMTMtMDEtMDcgMTU6NDU6MTAgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6CgkgIHJ0cDogaW5jbHVkZSBkb3duc3RyZWFtIGxhdGVuY3kgaW4gU1IgY2FsY3VsYXRpb25zCgkgIFdoZW4gd2UgbWFrZSBhIG1hcHBpbmcgYmV0d2VlbiBhbiBSVFAgdGltZXN0YW1wIGFuZCBhbiBOVFAgdGltZXN0YW1wLCBpbmNsdWRlCgkgIHRoZSBkb3duc3RyZWFtIGxhdGVuY3kgYXBwbGllZCB0byB0aGUgc2lua3MuIFRoaXMgbWFrZXMgaXQgcG9zc2libGUgdG8gaGF2ZQoJICBib3RoIHNpbmtzIHJ1biB3aXRoIGRpZmZlcmVudCBsYXRlbmNpZXMgYW5kIHN0aWxsIGhhdmUgY29ycmVjdCBzeW5jIG9uIHRoZQoJICBjbGllbnQuIEl0IGFsc28gaXMgbW9yZSBjb3JyZWN0IGJlY2F1c2UgdGhlIFJUUCB0aW1lc3RhbXAgaW4gdGhlIFNSIHJlcG9ydCB3aWxsCgkgIGFjdHVhbGx5IGNvcnJlc3BvbmQgbW9yZSBjbG9zZWx5IHRvIHRoZSBOVFAgdGltZSBpdCB3YXMgc2VudCBvbiB0aGUgc2VydmVyLgoJICBGb3IgcGlwZWxpbmVzIHdpdGggaGlnaCBsYXRlbmN5IG9uIHRoZSBzZW5kZXIgc2lkZSwgdGhpcyBhY3R1YWxseSBhbGxvd3MgYQoJICBHU3RyZWFtZXIgcmVjZWl2ZXIgdG8gcGVyZm9ybSBzeW5jaHJvbmlzYXRpb24gaW5zdGVhZCBvZiBkcm9wcGluZyB0aGUgUlRDUAoJICBwYWNrZXRzLgoKMjAxMy0wMS0wNyAxNDoyNToxNCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzoKCSAgcnRwc2Vzc2lvbjogZG9uJ3QgY2FzdCBldmVudCBmdW5jdGlvbnMKCSAgVGhlcmUgaXMgbm8gbmVlZCB0byBjYXN0IHRoZSBldmVudCBmdW5jdGlvbnMgYW5kIG9ubHkgY2F1c2VzIHByb2JsZW1zIGxhdGVyIHdoZW4KCSAgd2UgY2hhbmdlIHRoZSBzaWduYXR1cmUgbGF0ZXIgYW5kIHRoaW5ncyBzaWxlbnRseSBjb21waWxlcyB3cm9uZyBjb2RlLgoKMjAxMy0wMS0wNyAxNDoyMzozNCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzoKCSAgcnRwOiBtb3JlIGRlYnVnCgoyMDEzLTAxLTA3IDE0OjIyOjQ4ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJICBydHBzZXNzaW9uOiBpbXByb3ZlIGRlYnVnCgoyMDEzLTAxLTAyIDAwOjAzOjI3ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZ3N0L3VkcC9nc3R1ZHBzcmMuYzoKCSAgdWRwc3JjOiBzYW5pdHkgY2hlY2sgc2l6ZSBvZiBhdmFpbGFibGUgcGFja2V0IGRhdGEgZm9yIHJlYWRpbmcgdG8gYXZvaWQgbWVtb3J5IHdhc3RlCgkgIE9uIFdpbmRvd3MgYW5kIE9TL1gsIF9nZXRfYXZhaWxhYmxlX2J5dGVzKCkgbWF5IG5vdCByZXR1cm4gdGhlIHNpemUKCSAgb2YgdGhlIG5leHQgcGVuZGluZyBwYWNrZXQsIGJ1dCB0aGUgc2l6ZSBvZiBhbGwgcGVuZGluZyBwYWNrZXRzIGluCgkgIHRoZSBrZXJuZWwtc2lkZSBidWZmZXIsIHdoaWNoIG1pZ2h0IGJlIHJhdGhlciBsYXJnZSBkZXBlbmRpbmcgb24KCSAgY29uZmlndXJhdGlvbi4gU2FuaXR5LWNoZWNrIHRoZSBzaXplIHJldHVybmVkIGJ5IF9nZXRfYXZhaWxhYmxlX2J5dGVzKCkKCSAgdG8gbWFrZSBzdXJlIHdlIG5ldmVyIGFsbG9jYXRlIG1vcmUgbWVtb3J5IHRoYW4gdGhlIG1heC4gc2l6ZSBmb3IKCSAgYSBwYWNrZXQsIGlmIGl0J3MgYW4gSVB2NCBzb2NrZXQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MTAzNjQKCjIwMTMtMDEtMDQgMTA6MDM6MzIgKzAxMDAgIFJvYmVydCBLcmFrb3JhIDxyb2Iua3Jha29yYUBtZXNzYWdlbmV0c3lzdGVtcy5jb20+CgoJKiBzeXMvdjRsMi92NGwyX2NhbGxzLmM6CgkgIHY0bDI6IEFsc28gaGFuZGxlIHRoZSBuZXcgRU5PRU5UIHJldHVybiB2YWx1ZSBvZiBWSURJT0NfUVVFUllDVFJMCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTEwOTgKCjIwMTMtMDEtMDEgMTk6MTQ6MzYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9zb3VwaHR0cHNyYy5jOgoJICB0ZXN0czogYWRkIHRlc3QgZm9yIHNvdXBodHRwc3JjIGVycm9yIGhhbmRsaW5nIHdpdGggZGF0YQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njc4NDI5CgoyMDEyLTA2LTIyIDIxOjU2OjUyICswMDAwICBOb3JiZXJ0IFdhc2NoYnVlc2NoIDxud2FzY2hidUBvcGVudHYuY29tPgoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzoKCSAgc291cGh0dHBzcmM6IGVycm9yIG91dCBwcm9wZXJseSB3aGVuIHJlY2VpdmluZyBkYXRhIGFsb25nIHdpdGggYW4gZXJyb3Igc3RhdHVzCgkgIFdoZW4gcmVjZWl2aW5nIGFuIGVycm9yIGNvZGUgZnJvbSB0aGUgaHR0cCBzZXJ2ZXIsIHN1Y2ggYXMgNDA0LAoJICBkYXRhIG1pZ2h0IGJlIHNlbnQgYWxvbmcgd2l0aCBpdCwgbGlrZSBhIHdlYiBwYWdlLiBXZSBkb24ndCB3YW50CgkgIHRvIG91dHB1dCB0aGF0IGRhdGEgaW4gdGhpcyBjYXNlLCBhbmQgd2UgYWxzbyB3YW50IHRvIHBhc3MgdGhlCgkgIEZMT1dfRVJST1IgcmV0dXJuIGJhY2sgdG8gdGhlIGJhc2UgY2xhc3MsIHNvIGl0IGNhbiBzdG9wIHByb3Blcmx5LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njc4NDI5CgoyMDEzLTAxLTAxIDEyOjIwOjIwICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5hcmdzOgoJICBkb2NzOiB1cGRhdGUgZm9yIG5ldyBydHNwc3JjIHByb3h5LWlkIGFuZCBwcm94eS1wdyBwcm9wZXJ0aWVzCgoyMDEzLTAxLTAxIDEyOjE5OjIzICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2Fpcm8ueG1sOgoJICBkb2NzOiBmaXggZG9jcyBidWlsZCBhbmQgdXBkYXRlIGFmdGVyIHJlbW92YWwgb2Ygb2xkIGNhaXJvIGVsZW1lbnRzCgoyMDEzLTAxLTAxIDEyOjEyOjAyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZXh0L2NhaXJvL01ha2VmaWxlLmFtOgoJKiBleHQvY2Fpcm8vZ3N0Y2Fpcm8uYzoKCSogZXh0L2NhaXJvL2dzdGNhaXJvcmVuZGVyLmM6CgkqIGV4dC9jYWlyby9nc3RjYWlyb3JlbmRlci5oOgoJKiBleHQvY2Fpcm8vZ3N0dGV4dG92ZXJsYXkuYzoKCSogZXh0L2NhaXJvL2dzdHRleHRvdmVybGF5Lmg6CgkqIGV4dC9jYWlyby9nc3R0aW1lb3ZlcmxheS5jOgoJKiBleHQvY2Fpcm8vZ3N0dGltZW92ZXJsYXkuaDoKCSAgY2Fpcm86IHJlbW92ZSBvbGQgY2Fpcm8tYmFzZWQgdGV4dCByZW5kZXJlcmluZyBlbGVtZW50CgkgIFRoZXkgaGF2ZW4ndCB3b3JrZWQgd2VsbCBvciBhdCBhbGwgaW4gYSB2ZXJ5IGxvbmcgdGltZQoJICBhbmQgd2VyZSByYXRoZXIgYml0LXJvdHRlbiwgYW5kIHRoZXJlJ3Mgbm8gbmVlZCBmb3IgdGhlbQoJICBhbnkgbW9yZS4KCjIwMTMtMDEtMDEgMTE6NTI6MDkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9jYWlyby8uZ2l0aWdub3JlOgoJKiBleHQvY2Fpcm8vTWFrZWZpbGUuYW06CgkqIGV4dC9jYWlyby9nc3RjYWlyby1tYXJzaGFsLmxpc3Q6CgkqIGV4dC9jYWlyby9nc3RjYWlyby5jOgoJKiBleHQvY2Fpcm8vZ3N0Y2Fpcm9vdmVybGF5LmM6CgkqIGV4dC9jYWlyby9nc3RjYWlyb292ZXJsYXkuaDoKCSogdGVzdHMvZXhhbXBsZXMvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2V4YW1wbGVzL2NhaXJvL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9leGFtcGxlcy9jYWlyby9jYWlyb19vdmVybGF5LmM6CgkgIGNhaXJvOiBwb3J0IGNhaXJvb3ZlcmxheSB0byAwLjExCgkgIFRoZSBvdGhlciBlbGVtZW50cyBhcmUgbm90IHRoYXQgaW50ZXJlc3Rpbmcgbm93IHRoYXQgd2UncmUKCSAgdXNpbmcgcGFuZ29jYWlybyBpbiB0aGUgcGFuZ28gcGx1Z2luLCBhbmQgc2hvdWxkIHByb2JhYmx5CgkgIGp1c3QgYmUgcmVtb3ZlZC4KCjIwMTItMTItMzEgMTg6NTk6MTggKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiB0ZXN0cy9leGFtcGxlcy9ydHAvc2VydmVyLWRlY29kZWJpbi1IMjYzcC1BTVIuc2g6CgkgIGV4YW1wbGVzOiBjaGVjayBmb3IgdXJpIGFyZ3VtZW50IGluIGRlY29kZWJpbi1oMjY0cC1hbXIgc2VydmVyIGV4YW1wbGUKCSAgT3RoZXJ3aXNlIHBlb3BsZSBnZXQgYSByYXRoZXIgY29uZnVzaW5nIGVycm9yIG1lc3NhZ2UuCgoyMDEyLTEyLTMxIDAwOjIyOjI3ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmg6CgkgIHJ0c3BzcmM6IGFkZCAicHJveHktaWQiIGFuZCAicHJveHktcHciIHByb3BlcnRpZXMKCSAgdG8gbWF0Y2ggc291cGh0dHBzcmMuIHVzZXIvcGFzc3dvcmQgcGFzc2VkIHZpYSB0aGUgVVJJCgkgIHdpbGwgc3RpbGwgdGFrZSBwcmVjZWRlbmNlIHRob3VnaC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTM5NTQyNwoKMjAxMi0xMi0yNSAxNjo0ODo0MyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIHN5cy9vc3M0L29zczQtc2luay5jOgoJICBvc3M0c2luazogbm90aWZ5ICJ2b2x1bWUiIHByb3BlcnR5IG9uIG9wZW4gdG8gbWFrZSBhcHBzIHF1ZXJ5IGluaXRpYWwgdm9sdW1lCgkgIFRoZSBpbml0aWFsIHZvbHVtZSBtaWdodCBub3QgYmUgdGhlIHByb3BlcnR5IGRlZmF1bHQsIHNvCgkgIGVtaXQgYSBub3RpZnkgb24gdGhlIHZvbHVtZSBwcm9wZXJ0eSB0byBtYWtlIGFwcHMgZ2V0CgkgIGFuIHVwLXRvLWRhdGUgcmVhZGluZyBvZiB0aGUgY3VycmVudCB2b2x1bWUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MzEwNTMKCjIwMTItMTItMjAgMTc6MTI6MzAgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IGZpeCBjbWQgY29tcGFyaXNvbgoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjkwNDc2CgoyMDEyLTEyLTIwIDE3OjEyOjIwICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBhZGQgc29tZSBtb3JlIGRlYnVnCgoyMDEyLTEyLTIwIDE2OjQ0OjI0ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3JhdzEzOTQvZ3N0MTM5NGNsb2NrLmM6CgkgIDEzOTRjbG9jazogbWFyayBvdXIgY2xvY2sgdHlwZSBhcyBPVEhFUgoKMjAxMi0xMi0yMCAxNjoxNToxMyArMDEwMCAgSm9uYXMgSG9sbWJlcmcgPGpvbmFzaGdAYXhpcy5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHAtcGF5bG9hZGluZy5jOgoJICB0ZXN0czogYWRkIGpwZWdwYXkgdW5pdCB0ZXN0CgkgIFNlZSBhbHNvIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODQ5NTUKCjIwMTItMTItMjAgMTU6NTU6MDIgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvanBlZy9nc3RqcGVnZW5jLmM6CgkqIGV4dC9qcGVnL2dzdGpwZWdlbmMuaDoKCSAganBlZ2VuYzogcGFzcyBmbG93cmV0dXJuIHVwc3RyZWFtCgoyMDEyLTA5LTI3IDE1OjQyOjU2ICswMjAwICBKb25hcyBIb2xtYmVyZyA8am9uYXNoZ0BheGlzLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwanBlZ3BheS5jOgoJICBydHBqcGVncGF5OiBoYW5kbGUgd2lkdGggYW5kIGhlaWdodCA+IDIwNDAKCSAgSWYgd2lkdGggb3IgaGVpZ2h0IGlzIGdyZWF0ZXIgdGhhbiAyMDQwIHNldCB3aWR0aCBhbmQgaGVpZ2h0IHRvIHplcm8gaW4KCSAgdGhlIHJ0cCBoZWFkZXIgYW5kIGFkZCB4LWRpbWVuc2lvbnMgdG8gb3V0Y2Fwcy4KCSAgU29sdmVzICM2ODQ5NTUKCjIwMTItMTItMjAgMTM6MDM6NDEgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIGF2aWRlbXV4OiBjbGVhbnVwIGluIGZsYWcgZGVmaW5lCgoyMDEyLTEyLTIwIDEzOjAyOjU3ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICBhdmlkZW11eDogaW1wcm92ZSBkZWJ1ZwoKMjAxMi0xMi0xOCAxNTo1Njo1OSArMDEwMCAgVGhpanMgVmVybWVpciA8dGhpanN2ZXJtZWlyQGdtYWlsLmNvbT4KCgkqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tlbmMuYzoKCSAgd2F2cGFjazogdXNlIGFwcHJvcHJpYXRlIHByaW50ZiBmb3JtYXQgZm9yIGdzaXplCgoyMDEyLTEyLTE4IDE1OjU1OjQzICswMTAwICBUaGlqcyBWZXJtZWlyIDx0aGlqc3Zlcm1laXJAZ21haWwuY29tPgoKCSogZXh0L3RhZ2xpYi9nc3RpZDN2Mm11eC5jYzoKCSAgdGFnbGliOiB1c2UgYXBwcm9wcmlhdGUgcHJpbnRmIGZvcm1hdCBmb3IgZ3NpemUKCjIwMTItMTItMTggMTU6NTQ6MDggKzAxMDAgIFRoaWpzIFZlcm1laXIgPHRoaWpzdmVybWVpckBnbWFpbC5jb20+CgoJKiBleHQvZ2RrX3BpeGJ1Zi9nc3RnZGtwaXhidWZkZWMuYzoKCSAgZ2RrcGl4YnVmOiB1c2UgYXBwcm9wcmlhdGUgcHJpbnRmIGZvcm1hdCBmb3IgZ3NpemUKCjIwMTItMTItMTggMTU6NTE6NDYgKzAxMDAgIFRoaWpzIFZlcm1laXIgPHRoaWpzdmVybWVpckBnbWFpbC5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGdzdGRlcGF5LmM6CgkgIHJ0cDogdXNlIGFwcHJvcHJpYXRlIHByaW50ZiBmb3JtYXQgZm9yIGdzaXplCgoyMDEyLTEyLTE4IDE1OjQ2OjU2ICswMTAwICBUaGlqcyBWZXJtZWlyIDx0aGlqc3Zlcm1laXJAZ21haWwuY29tPgoKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmM6CgkgIGRlaW50ZXJsYWNlOiB1c2UgYXBwcm9wcmlhdGUgcHJpbnRmIGZvcm1hdCBmb3IgZ3NpemUKCjIwMTItMTItMTcgMTY6MzU6NTYgKzAxMDAgIFBoaWxpcHBlIE5vcm1hbmQgPHBoaWxuQGlnYWxpYS5jb20+CgoJKiBnc3QvaW50ZXJsZWF2ZS9pbnRlcmxlYXZlLmM6CgkqIGdzdC9pbnRlcmxlYXZlL2ludGVybGVhdmUuaDoKCSAgaW50ZXJsZWF2ZTogc2V0IHNyYyBwYWQgY2FwcyB1cG9uIGxhc3Qgc2luayBwYWQgQ0FQUyBldmVudAoJICBHYXRoZXIgY2FwcyBvbiBhbGwgc2luayBwYWRzIGJlZm9yZSBzZXR0aW5nIHRoZSBzcmMgcGFkIGNhcHMuIFRoaXMgaXMKCSAgc3BlY2lhbGx5IG5lZWRlZCB3aGVuIHRoZSBhdWRpbyBjaGFubmVsIG1hcHBpbmcgaXMgc2V0IG9uIHRoZSBzaW5rCgkgIHBhZHMgYW5kIHRoZSBlbGVtZW50IG5lZWRzIHRvIHByZXNlcnZlIGl0IG9uIGl0cyBzcmMgcGFkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjkwMjY3CgoyMDEyLTEyLTE3IDIyOjU1OjEyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXJlYWQtY29tbW9uLmM6CgkgIG1hdHJvc2thZGVtdXg6IHNraXAgZW1wdHkgdGFncwoJICBpbnN0ZWFkIG9mIHRyeWluZyB0byBhZGQgdGFncyB3aXRoIGVtcHR5IHN0cmluZ3MsIHdoaWNoCgkgIGNhdXNlcyBjcml0aWNhbHMgYXQgcnVudGltZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5MDM1OAoKMjAxMi0xMi0xNyAxNToxNzoxMiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFhY3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWMzcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhbXJwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGRjYXBhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZmxhY3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0bXBlZ2F1ZGlvcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3R3YXZwYWNrcGFyc2UuYzoKCSAgYXVkaW9wYXJzZXJzOiBNYWtlIHN1cmUgdGhlIGNhcHMgYXJlIGFjdHVhbGx5IHdyaXRhYmxlIGJlZm9yZSBjaGFuZ2luZyB0aGVtCgoyMDEyLTEyLTE3IDE1OjAxOjAyICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWFjcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYzNwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFtcnBhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZGNhcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RmbGFjcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RtcGVnYXVkaW9wYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdHdhdnBhY2twYXJzZS5jOgoJICBhdWRpb3BhcnNlcnM6IFVzZSB0aGUgcGVlciBjYXBzIGZvciByZXN0cmljdGlvbnMgaW5zdGVhZCBvZiB0aGUgc3JjcGFkIGFsbG93ZWQgY2FwcwoJICBPdGhlcndpc2Ugd2Ugd2lsbCBpbnRlcnNlY3Qgd2l0aCB0aGUgc3JjcGFkIHRlbXBsYXRlIGNhcHMgYW5kIGFkZCBhbGwgdGhlIGNhcHMgZmllbGRzCgkgIHRoYXQgdGhlIHBhcnNlciB3aWxsIGV2ZXIgc2V0LCBubyBtYXR0ZXIgaWYgZG93bnN0cmVhbSByZXN0cmljdHMgdGhpcyBmaWVsZCBvciBub3QuCgkgIFRoaXMgcmVxdWlyZXMgdXBzdHJlYW0gdG8gc2V0IHRoaXMgZmllbGQgb24gdGhlIGNhcHMgdG8gc3VjY2Vzc2Z1bGx5IG5lZ290aWF0ZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5MDE4NAoKMjAxMi0xMi0xNCAyMjoyNTowOCArMDAwMCAgS29vcCBNYXN0IDxrd21AcmFpbmJvdy1ydW5uZXIubmw+CgoJKiBjb25maWd1cmUuYWM6CgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuaDoKCSAgdjRsMjogVGVhY2ggd2hlcmUgdGhlIHZpZGVvZGV2Mi5oIGhlYWRlciBsaXZlcyBvbiBmcmVlYnNkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjkwMjMzCgoyMDEyLTEyLTE2IDIzOjI3OjQxICswMDAwICBBbGV4ZXkgRmlzaGVyIDxidWctdHJhY2tAZmlzaGVyLXByaXZhdC5uZXQ+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkgIG1hdHJvc2thbXV4OiBzZXQgYXBwcm9wcmlhdGUgYmxvY2sgaGVhZGVyIGZsYWcgZm9yIFZQOCBpbnZpc2libGUgZnJhbWVzCgkgIFVzZWZ1bCBmb3IgZGVidWdnaW5nIG1vc3RseS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1NDI1OQoKMjAxMi0xMi0xNiAxNToyNTowMyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1kb2NzLnNnbWw6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwbWFuYWdlci54bWw6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGR0bWZtdXguYzoKCSAgZG9jczogYWRkIHJ0cG11eCBhbmQgcnRwZHRtZm11eCB0byBwbHVnaW4gZG9jcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjI5MTE3CgoyMDEyLTEyLTE2IDE1OjEzOjM4ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZ3N0L3J0cG1hbmFnZXIvTWFrZWZpbGUuYW06CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cG1hbmFnZXIuYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwbXV4ZXIuYzoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzLy5naXRpZ25vcmU6CgkgIHJ0cG1hbmFnZXI6IG1vdmUgcnRwbXV4IGFuZCBydHBkdG1mbXV4IGVsZW1lbnRzIGZyb20gLWJhZAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjI5MTE3CgoyMDEyLTExLTAzIDIwOjM4OjAwICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwZHRtZm11eC5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBkdG1mbXV4Lmg6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cG11eC5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBtdXguaDoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwbXV4ZXIuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwbXV4LmM6CgkgIHJ0cG11eDogRml4IEZTRiBhZGRyZXNzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODc1MjAKCjIwMTItMTAtMTcgMTc6MzQ6MjYgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwZHRtZm11eC5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBtdXguYzoKCSAgcnRwbXV4OiBVc2UgZ3N0X2VsZW1lbnRfY2xhc3Nfc2V0X3N0YXRpY19tZXRhZGF0YSgpCgkgIHdoZXJlIHBvc3NpYmxlLiBBdm9pZHMgc29tZSBzdHJpbmcgY29waWVzLiBBbHNvIHJlLWluZGVudAoJICBzb21lIHN0dWZmLiBBbHNvIHNvbWUgaW5kZW50IGZpeGVzIGhlcmUgYW5kIHRoZXJlLgoKMjAxMi0wOS0xMCAyMDozODoxNCAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cG11eC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHBtdXguYzoKCSAgcnRwbXV4OiBNaXNjIGZpeCBmb3IgMC4xMQoJICBDb252ZXJ0IHRoZSBpbmNvbWluZyBjYXBzIGJlZm9yZSBwcm94eWluZyB0aGVtCgkgIENsZWFyIHRoZSBsYXN0X3BhZCB3aGVuIGdvaW5nIHRvIHJlYWR5CgkgIHRlc3RzOiBJbXBsZW1lbnQgYWNjZXB0X2NhcHMsIGRvbid0IGxlYWsgZXZlbnQKCjIwMTItMDctMTcgMTY6Mzk6MDIgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBtdXguYzoKCSAgcnRwbXV4OiB1cGRhdGUgZm9yIFJUUCBidWZmZXIgYXBpIGNoYW5nZXMKCjIwMTItMDQtMDUgMTg6MDI6NTYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwbXV4ZXIuYzoKCSAgcnRwbXV4OiBVcGRhdGUgZm9yIEdTVF9QTFVHSU5fREVGSU5FKCkgQVBJIGNoYW5nZXMKCjIwMTItMDQtMDIgMTE6MDc6MTggKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBtdXguYzoKCSAgcnRwbXV4OiBmaXggY29tcGlsYXRpb24KCjIwMTItMDMtMTEgMTk6MDY6NTkgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBtdXguYzoKCSAgcnRwbXV4OiBmaXggZm9yIGNhcHMgYXBpIGNoYW5nZXMKCjIwMTItMDEtMjYgMDY6NTg6NDYgLTA1MDAgIE1hdGVqIEtub3BwIDxtYXRlai5rbm9wcEBnbWFpbC5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBtdXguYzoKCSAgcnRwbXV4OiBGaXggY29tcGlsZXIgd2FybmluZ3MKCjIwMTItMDEtMjkgMTg6MDE6MDUgKzAwMDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBtdXguYzoKCSAgcnRwbXV4OiBVbnJlZiBub24tZm9yd2FyZGVkIGV2ZW50cwoJICBBbHNvLCBkb24ndCB1bnJlZiBmb3J3YXJkZWQgb25lcwoKMjAxMi0wMS0yOCAxNjo1NzowMyArMDAwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cG11eC5jOgoJICBydHBtdXg6IHJlc3luYyBpdGVyYXRvciBvbiByZXN5bmMKCjIwMTItMDEtMjcgMTI6MDg6NTIgKzAxMDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBtdXguYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwbXV4Lmg6CgkgIHJ0cG11eDogUmUtcHVzaCBzdGlja3kgZXZlbnRzIG9uIGlucHV0IHBhZCBjaGFuZ2UKCjIwMTItMDEtMjUgMTU6NDM6MDEgKzAxMDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBtdXguYzoKCSAgcnRwbXV4OiBEb24ndCBsZWFrIGd2YWx1ZSBmcm9tIGl0ZXJhdG9yCgoyMDEyLTAxLTI1IDE2OjQ2OjQ0ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwbXV4LmM6CgkgIHJ0cG11eDogbW9yZSBwb3J0aW5nCgoyMDEyLTAxLTI0IDE0OjIwOjUyICswMTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwZHRtZm11eC5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBtdXguYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwbXV4Lmg6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cG11eC5jOgoJICBydHBtdXg6IHBvcnQgdG8gMC4xMQoKMjAxMS0xMS0wNCAxMjoyMjozNyArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGR0bWZtdXguYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwbXV4LmM6CgkgIHJ0cG11eDogbWFrZSByZXF1ZXN0IHBhZHMgdGFrZSBfJXUKCjIwMTEtMDQtMTQgMTQ6MzQ6MjYgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGR0bWZtdXguYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwbXV4LmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cG11eC5oOgoJICBydHBkdG1mbXV4OiBBZGQgbGFzdC1zdG9wIHRvIGR0bWYtZXZlbnQgdXBzdHJlYW0gZXZlbnRzCgkgIEFkZCB0aGUgcnVubmluZyB0aW1lIG9mIHRoZSBsYXN0IG91dHB1dHRlZCBidWZmZXIgdG8gdGhlCgkgIHVwc3RyZWFtICJkdG1mLWV2ZW50IiBldmVudHMgc28gdGhhdCB0aGUgZHRtZiBzb3VyY2UgZG9lcyBub3QKCSAgbGVhdmUgYSBnYXAuCgoyMDEwLTExLTI1IDE5OjIxOjExICswMTAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwbXV4LmM6CgkgIHJ0cG11eDogUmVtb3ZlIGRlYWQgYXNzaWdubWVudHMKCjIwMTAtMTAtMTkgMTM6NDM6MTQgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cG11eC5jOgoJICBydHBtdXg6IGFkZCBtaXNzaW5nIEdfUEFSQU1fU1RBVElDX1NUUklOR1MgZmxhZ3MKCSAgQ2Fub25pY2FsaXplIHByb3BlcnR5IG5hbWVzIGFzIG5lZWRlZC4KCjIwMTAtMDktMzAgMTY6MDc6MjkgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGR0bWZtdXguYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwbXV4LmM6CgkgIHJ0cG11eDogSW1wcm92ZSBkb2N1bWVudGF0aW9uCgkgIEFkZCBhbiBleGFtcGxlIHBpcGVsaW5lLCBhbmQgdHJ5IHRvIGV4cGxhaW4gYSBiaXQgbW9yZSB3aGF0IGl0IGRvZXMuCgoyMDEwLTA5LTI0IDEzOjI5OjU1ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBkdG1mbXV4LmM6CgkgIHJ0cGR0bWZtdXg6IHJlbW92ZSB1bnVzZWQgdmFyaWFibGUKCjIwMTAtMDktMjQgMTM6MjU6MjIgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGR0bWZtdXguYzoKCSAgcnRwZHRtZm11eDogcmVtb3ZlIHVudXNlZCBzaWduYWwgYm9pbGVycGxhdGUKCjIwMTAtMDktMjQgMTM6MjQ6NDggKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cG11eC5jOgoJICBydHBtdXg6IG5vIG5lZWQgdG8gcmVmIHBhZCBpbiBfY2hhaW4oKQoKMjAxMC0wOC0yNSAyMjo1NjowMyAtMDQwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cG11eC5jOgoJICBydHBtdXg6IFVubG9jayB0aGUgcmlnaHQgbXV0ZXgKCSAgVGhlIG11dGV4IGxvY2tlZCBpcyBmb3IgdGhlICdtdXgnIG9iamVjdCwgYnV0IHdlIHVubG9jayB0aGUKCSAgcGFkLCB3aGljaCBtZWFucyB0aGF0IGlmIHRoZSBydHBtdXggZ2V0cyBhIGZsdXNoLCB0aGVuIHRoZQoJICBvYmplY3QgbG9jayB3aWxsIHN0YXkgbG9ja2VkIGZvcmV2ZXIsIGNhdXNpbmcgaXQgdG8gZnJlZXplCgkgIHRoZSBuZXh0IHRpbWUgaXQgdHJpZXMgdG8gdGFrZSBpdC4KCSAgRml4ZXMgYnVnICM2Mjc5OTEKCjIwMTAtMDctMDEgMTU6MTk6MTIgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGR0bWZtdXguYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwbXV4LmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cG11eC5oOgoJICBydHBtdXg6IEFkZCBzdXBwb3J0IGZvciBHc3RCdWZmZXJMaXN0CgkgIEZhY3RvciBvdXQgbW9zdCBvZiB0aGUgYnVmZmVyIGhhbmRsaW5nIGFuZCBpbXBsZW1lbnQgYSBjaGFpbl9saXN0CgkgIGZ1bmN0aW9uLiBBbHNvLCB0aGUgRFRNRiBtdXhlciBoYXMgYmVlbiBtb2RpZmllZCB0byBqdXN0IGhhdmUgYQoJICBmdW5jdGlvbiB0byBhY2NlcHQgb3IgcmVqZWN0IGEgYnVmZmVyIGluc3RlYWQgb2YgaGF2aW5nIHRvIHN1YmNsYXNzCgkgIGJvdGggY2hhaW4gYW5kIGNoYWluX2xpc3QuCgoyMDEwLTA3LTAxIDE1OjE1OjQ5IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBtdXguYzoKCSAgcnRwbXV4OiBEb24ndCBsZWFrIGludmFsaWQgYnVmZmVycwoKMjAxMC0wNi0wMyAxMDo0MzoyMCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBkdG1mbXV4LmM6CgkgIHJ0cG11eDogZml4IG1pc3NpbmcgZGVidWcgbG9nIG1lc3NhZ2UgYXJndW1lbnQKCjIwMTAtMDUtMTAgMTg6Mzc6NTUgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGR0bWZtdXguYzoKCSAgcnRwZHRtZm11eDogQWRkIHNvbWUgZGVidWcgbWVzc2FnZXMKCjIwMTAtMDUtMDcgMTg6NTY6NTcgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGR0bWZtdXguYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwZHRtZm11eC5oOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBtdXguYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwbXV4Lmg6CgkgIHJ0cGR0bWZtdXg6IFJlbW92ZSBzdHJlYW0tbG9jayBldmVudCBoYW5kbGluZwoKMjAxMC0wNS0wNyAxODo1NDo0OSAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwZHRtZm11eC5jOgoJICBydHBkdG1mbXV4OiBVcGRhdGUgZG9jIGZvciBzaW1wbGlmaWNhdGlvbgoKMjAxMC0wNS0wNyAxODo0MDozMCAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwbXV4LmM6CgkgIHRlc3RzOiBDaGFuZ2UgdGVzdHMgdG8gbm90IHVzZSB0aGUgcHJpb3JpdHkgcGFkcyBpbnN0ZWFkIG9mIHRoZSBldmVudHMKCjIwMTAtMDUtMDYgMTk6NTE6NTkgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGR0bWZtdXguYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwZHRtZm11eC5oOgoJICBydHBkdG1mbXV4OiBEcm9wIGJ1ZmZlcnMgb24gbm9uLXByaW9yaXR5IHNpbmtzIHdoZW4gc29tZXRoaW5nIGlzIGluY29taW5nIG9uIHRoZSBwcmlvcml0eSBzaW5rCgoyMDEwLTA1LTA2IDE4OjExOjQwIC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBkdG1mbXV4LmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cG11eC5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBtdXguaDoKCSAgcnRwZHRtZm11eDogQWRkIHByaW9yaXR5IHNpbmsgcGFkcwoKMjAxMC0wNS0wNyAxNzoxNTo0NyAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwZHRtZm11eC5jOgoJICBydHBkdG1mbXV4OiBDbGVhbnVwIGV2ZW50IGZ1bmN0aW9uCgoyMDEwLTA1LTA3IDE2OjQyOjIyIC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBtdXguYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwbXV4Lmg6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cG11eC5jOgoJICBydHBtdXg6IEFnZ3JlZ2F0ZSBpbmNvbWluZyBzZWdtZW50cwoKMjAxMC0wNS0wNiAxOTowOTo0OCAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwZHRtZm11eC5jOgoJICBydHBkdG1mbXV4OiBVcGRhdGUgZG9jdW1lbnRhdGlvbgoKMjAxMC0wNS0wNiAxODoxMDo0NSAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwbXV4LmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cG11eC5oOgoJICBydHBtdXg6IFNpbXBsaWZ5IHJlcXVlc3QgcGFkIGNyZWF0aW9uCgoyMDEwLTAzLTIxIDIxOjM5OjE4ICswMTAwICBCZW5qYW1pbiBPdHRlIDxvdHRlQHJlZGhhdC5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHBtdXguYzoKCSAgQWRkIC1XbWlzc2luZy1kZWNsYXJhdGlvbnMgLVdtaXNzaW5nLXByb3RvdHlwZXMgdG8gY29uZmlndXJlIGZsYWdzCgkgIEFuZCBmaXggYWxsIHdhcm5pbmdzCgoyMDEwLTAzLTE4IDE3OjMwOjI2ICswMTAwICBCZW5qYW1pbiBPdHRlIDxvdHRlQHJlZGhhdC5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBkdG1mbXV4LmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cG11eC5jOgoJICBydHBtdXg6IGdzdF9lbGVtZW50X2NsYXNzX3NldF9kZXRhaWxzID0+IGdzdF9lbGVtZW50X2NsYXNzX3NldF9kZXRhaWxzX3NpbXBsZQoKMjAwOS0xMS0xOCAxNjozODozMyArMDEwMCAgdW5rbm93biA8aGF2YXJkLmdyYWZmQC5ldS50YW5kYmVyZy5pbnQ+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBtdXguYzoKCSAgcnRwbXV4OiB1cGRhdGUgdGhlIGN1cnJlbnRfc3NyYyBmcm9tIHRoZSBjYXBzCgkgIEZpeGVzICM2MDQxMDEKCjIwMDktMTItMDkgMTQ6NDI6MjEgKzAxMDAgIEjDpXZhcmQgR3JhZmYgPGhhdmFyZC5ncmFmZkB0YW5kYmVyZy5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBtdXguYzoKCSAgcnRwbXV4OiByZWxlYXNlIHBhZHMgd2hlbiBkaXNwb3NpbmcKCSAgQmVjYXVzZSBvZiBhbiBhbGxvY2F0ZWQgcHJpdiAoR3N0UlRQTXV4UGFkUHJpdmF0ZSksIHRoZSBlbGVtZW50IHdpbGwKCSAgbGVhayBtZW1vcnkgaWYgbm90IGdzdF9ydHBfbXV4X3JlbGVhc2VfcGFkKCkgaXMgY2FsbGVkLiBUaGlzIHdvdWxkCgkgIHByZXZpb3VzbHkgb25seSBoYXBwZW4gaWYgcmVsZWFzZV9yZXF1ZXN0X3BhZCgpIHdhcyBjYWxsZWQgZXhwbGljaXRseSwKCSAgc29tdGhpbmcgdGhhdCBzaG91bGQgbm90IGJlIG5lY2Nlc2FyeS4KCSAgRml4ZXMgIzYwNDA5OQoKMjAwOS0xMi0wOSAxMzo0MDo0MyArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGR0bWZtdXguYzoKCSAgZHRtZm11eDogbWV0aG9kIG5hbWUgY2xlYW51cHMKCjIwMDktMTAtMDggMTk6MDY6MjYgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cG11eC5jOgoJICB0ZXN0czogQWRkIHRlc3QgZm9yIHJ0cGR0bWZtdXggbG9ja2luZwoKMjAwOS0wOS0yOCAxOTo1NDo1MyAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwbXV4LmM6CgkgIHRlc3RzOiBBZGQgdW5pdCB0ZXN0IGZvciBydHBtdXgKCjIwMDktMDktMjggMTM6MzY6NDQgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cG11eC5jOgoJICBydHBtdXg6IERvbid0IGlnbm9yZSByZXF1ZXN0ZWQgcGFkIG5hbWUKCjIwMDktMDctMjkgMTc6MjM6MzEgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cG11eC5jOgoJICBydHBtdXg6IFJlbW92ZSBlbXB0eSBmaW5hbGl6ZQoKMjAwOS0wNy0yMSAxNTozMTozMyAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwbXV4LmM6CgkgIHJ0cG11eDogRnJlZSB0aGUgcGFkIHByaXZhdGUgZGF0YSBvbiBwYWQgcmVsZWFzZQoJICBGcmVlIHRoZSBwYWQgcHJpdmF0ZSBkYXRhIG9uIHBhZCByZWxlYXNlIGluc3RlYWQgb2YgdXNpbmcgYSB3ZWFrIHJlZiwKCSAgd2hpY2ggaXMgbm90IHRocmVhZCBzYWZlLiBBbHNvLCBsb2NrIHRoZSBjb250ZW50IG9mIHRoZSBwYWQgcHJpdmF0ZSB1c2luZyB0aGUgZWxlbWVudCdzCgkgIG9iamVjdCBsb2NrLgoKMjAwOS0wNC0yOCAxNjoxMDoyMSAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwbXV4LmM6CgkgIHJ0cG11eDogUmVqZWN0IHdyb25nIGNhcHMKCjIwMDktMDQtMjggMTY6MDM6MTkgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cG11eC5jOgoJICBydHBtdXg6IEZpeCBsZWFrIEZpeGVkIGEgbGVhayBkaXNjb3ZlcmVkIGJ5IExhdXJlbnQgR2xheWFsIDxzcGVnbGVAeWFob28uZnI+CgoyMDA5LTA0LTI4IDE1OjU4OjQxIC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBtdXguYzoKCSAgcnRwbXV4OiBGaXggbGVhawoJICBGaXhlZCBhIGxlYWsgZGlzY292ZXJlZCBieSBMYXVyZW50IEdsYXlhbCA8c3BlZ2xlQHlhaG9vLmZyPgoKMjAwOS0wNC0yMiAxODowMTowNyAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwbXV4LmM6CgkgIHJ0cG11eDogRml4IHdhcm5pbmcKCjIwMDktMDQtMjAgMjA6MDA6MTUgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cG11eC5jOgoJICBydHBtdXg6IFNldCBkaWZmZXJlbnQgY2FwcyBkZXBlbmRpbmcgb24gdGhlIGlucHV0CgoyMDA5LTA0LTIyIDE2OjI1OjA3IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBtdXguYzoKCSAgcnRwbXV4OiBPbmx5IGZyZWUgcGFkIHByaXZhdGUgd2hlbiBwYWQgaXMgZGlzcG9zZWQKCjIwMDktMDQtMjAgMTg6NDE6MzkgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cG11eC5jOgoJICBydHBtdXg6IFJlbW92ZSB1c2VsZXNzIGNhcHMgbWFuZ2xpbmcKCjIwMDktMDQtMjAgMTg6MzY6NDIgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cG11eC5jOgoJICBydHBtdXg6IFJlbmFtZSB2YXJpYWJsZSBmb3IgbW9yZSBjbGFyaXR5CgoyMDA5LTA0LTIwIDE3OjQzOjM5IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBkdG1mbXV4LmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cG11eC5jOgoJICBydHBtdXg6IFVzZSBHU1RfQk9JTEVSUExBVEUKCjIwMDktMDQtMjAgMTc6NDI6NDAgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGR0bWZtdXguYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwZHRtZm11eC5oOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBtdXguYzoKCSAgcnRwbXV4OiBEbyB0aGUgaW5jbHVkZXMgbG9jYWxseQoKMjAwOS0wNC0xNSAxMzoyMzowMSAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwZHRtZm11eC5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBtdXguYzoKCSAgcnRwbXV4OiBBZGQgR1NUX0RFQlVHX0ZVTkNQVFJzCgoyMDA5LTA0LTE1IDEzOjE1OjU1IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBkdG1mbXV4LmM6CgkgIHJ0cGR0bWZtdXg6IFJlbGVhc2UgbG9ja2VkIHBhZCBvbiByZWxlYXNlX3BhZAoJICBSZWxlYXNlIHRoZSBzcGVjaWFsIHBhZCBpZiB0aGUgcGFkIGlzIHJlbW92ZWQgZnJvbSB0aGUgbXV4ZXIuCgoyMDA5LTA0LTE1IDEzOjA5OjI3IC0wNDAwICBMYXVyZW50IEdsYXlhbCA8c3BnbGVnbGVAeWFob28uZnI+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBkdG1mbXV4LmM6CgkgIHJ0cGR0bWZtdXg6IFJlbGVhc2Ugc3BlY2lhbCBvbiBwYWQgZGlzcG9zZQoJICBGaXhlcyAjNTc3NjkwCgoyMDA5LTAyLTI1IDExOjQ1OjA1ICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBkdG1mbXV4LmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cG11eC5jOgoJICBkb2NzOiB2YXJpb3VzIGRvYyBmaXhlcwoJICBObyBzaG9ydC1kZXNjIGFzIHdlIGhhdmUgdGhlbSBpbiB0aGUgZWxlbWVudCBkZXRhaWxzLgoJICBBbHNvIGtlZXAgdGhpbmdzIChNYWtlZmlsZS5hbSBhbmQgc2VjdGlvbnMudHh0KSBzb3J0ZWQuCgkgIFJld29yZCBhbWJpZ291cyByZXR1cm5zLiBObyB0ZXh0IGFmdGVyIHNpbmNlIHBsZWFzZS4KCjIwMDktMDItMTAgMTc6MDI6MjQgKzAwMDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGR0bWZtdXguYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwbXV4ZXIuYzoKCSAgcnRwbXV4OiBNb3ZlIHJ0cG11eCBmcm9tIGdzdC1wbHVnaW5zLWZhcnNpZ2h0IHRvIC1iYWQKCjIwMDktMDItMjAgMTc6NDU6NTAgLTA1MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGR0bWZtdXguYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwZHRtZm11eC5oOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBtdXguYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwbXV4Lmg6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cG11eGVyLmM6CgkgIHJ0cG11eDogUmUtaW5kZW50IHRvIEdzdCBzdHlsZQoKMjAwOS0wMi0xMCAxOToxMToxNSArMDAwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwbXV4LmM6CgkgIHJ0cG11eDogRG9jdW1lbnQgcnRwIG11eGVyIGEgYml0CgoyMDA5LTAyLTIwIDEzOjMwOjQ5IC0wNTAwICBMYXVyZW50IEdsYXlhbCA8c3BnbGVnbGVAeWFob28uZnI+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBkdG1mbXV4LmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGR0bWZtdXguaDoKCSAgcnRwbXV4OiBBZGQgc2lnbmFscyBiZWZvcmUgc3RyZWFtIGxvY2sgYW5kIGFmdGVyIHVubG9ja2luZwoKMjAwOS0wMi0xOCAyMDoxODo0NiAtMDUwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwbXV4LmM6CgkgIHJ0cG11eDogTGV0IHNzcmMgdGhyb3VnaCBnZXRjYXBzCgoyMDA5LTAyLTE4IDE5OjU4OjU4IC0wNTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBtdXguYzoKCSAgcnRwbXV4OiBSZW5hbWUgaGF2ZV9iYXNlIHRvIGhhdmVfdHNfYmFzZQoKMjAwOS0wMi0xOCAxODoxNDo1MiAtMDUwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwbXV4LmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cG11eC5oOgoJICBydHBtdXg6IFByb3RlY3QgdGhlIHNlcW51bSB3aXRoIG9iamVjdCBsb2NrIGluIHJ0cG11eAoKMjAwOS0wMi0xOCAxODowNzo0NCAtMDUwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwbXV4Lmg6CgkgIHJ0cG11eDogUmVtb3ZlIHVudXNlZCBzaW5rX3RzX2Jhc2UKCjIwMDktMDItMTggMTU6MjA6NTggLTA1MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cG11eC5jOgoJICBydHBtdXg6IEhhdmUgZ2V0Y2FwcyB0byBmb3JjZSB0aGUgc2FtZSBjbG9ja3JhdGUgb24gYWxsIHBhZHMKCjIwMDktMDItMTggMTc6MDU6MTMgLTA1MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cG11eC5jOgoJICBydHBtdXg6IFZhbGlkYXRlIFJUUCBkYXRhIGluIFJUUCBNdXgKCjIwMDktMDItMTggMTQ6MTY6MDAgLTA1MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cG11eC5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBtdXguaDoKCSAgcnRwbXV4OiBSZW1vdmUgdW51c2VkIGNsb2NrLXJhdGUgcHJvcGVydHkKCjIwMDktMDItMTggMTM6NTY6MzYgLTA1MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGR0bWZtdXguaDoKCSAgcnRwbXV4OiBDbGFyaWZ5IGxvY2tpbmcgaW4gcnRwZHRtZm11eAoKMjAwOS0wMi0xOCAxMzozMjo1NiAtMDUwMCAgTGF1cmVudCBHbGF5YWwgPHNwZ2xlZ2xlQHlhaG9vLmZyPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwbXV4LmM6CgkgIHJ0cG11eDogTWlzc2luZyBmb3JtYXQgcGFyYW1ldGVyCgoyMDA4LTEyLTAxIDE3OjU1OjIyIC0wNTAwICBIw6V2YXJkIEdyYWZmIDxoYXZhcmQuZ3JhZmZAdGFuZGJlcmcuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwbXV4LmM6CgkgIHJ0cG11eDogVXBkYXRlIHNlcW51bSBiYXNlIGluIHJ0cCBtdXhlcgoJICBXaXRoIGhlbHAgZnJvbSBXaW0KCjIwMDgtMTItMDEgMTc6NTQ6NTggLTA1MDAgIEjDpXZhcmQgR3JhZmYgPGhhdmFyZC5ncmFmZkB0YW5kYmVyZy5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBkdG1mbXV4LmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cG11eC5jOgoJICBydHBtdXg6IEZpeCBzb21lIG1vcmUgbGVha3MKCjIwMDgtMTItMDEgMTc6NDg6MjkgLTA1MDAgIEjDpXZhcmQgR3JhZmYgPGhhdmFyZC5ncmFmZkB0YW5kYmVyZy5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBkdG1mbXV4LmM6CgkgIHJ0cG11eDogRml4IGxlYWsKCjIwMDgtMDktMjkgMTU6MDM6MDUgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cG11eC5jOgoJICBydHBtdXg6IERvbid0IHVucmVmIGNhcHMgd2UgZG9uJ3Qga25vdyAodGhhbmtzIFdpbSkKCjIwMDgtMDgtMTIgMTI6NDg6MDIgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cG11eC5jOgoJICBydHBtdXg6IFB1dCBwZXItYnVmZmVyIGRlYnVnIGF0IGxldmVsIExPRwoKMjAwOC0wOC0xMiAxMjo0NzoxNCAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwbXV4LmM6CgkgIHJ0cG11eDogTWFrZSBkZWJ1ZyBwcmludCBhY2N1cmF0ZQoKMjAwOC0wOC0xMiAxMjo0NjoyMyAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwbXV4LmM6CgkgIHJ0cG11eDogU2V0IG91ciBjYXBzIG9uIHRoZSBidWZmZXJzCgoyMDA4LTA4LTEyIDEyOjQ2OjA3IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBtdXguYzoKCSAgcnRwbXV4OiBUYWtlIHRoZSBjbG9jay1iYXNlIHN0b3JlZCBmcm9tIHRoZSBsYXN0IHNldGNhcHMKCjIwMDgtMDgtMTIgMTI6NDE6NTkgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cG11eC5jOgoJICBydHBtdXg6IFN0b3JlIHRoZSBjbG9jay1iYXNlIG9uIHNldGNhcHMKCjIwMDgtMDgtMTIgMTI6MzA6NTIgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cG11eC5jOgoJICBydHBtdXg6IEFkZCBwYWRwcml2YXRlIHRvIHRoZSByZXF1ZXN0IHBhZHMKCjIwMDgtMDgtMTEgMjE6MjA6MDYgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cG11eC5jOgoJICBydHBtdXg6IE1ha2UgaW5kZW50YXRpb24gbW9yZSBjb3JyZWN0CgoyMDA4LTA4LTExIDIxOjA1OjM0IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBtdXguYzoKCSAgcnRwbXV4OiBGaXggdHlwbwoKMjAwOC0wOC0xMSAyMTowMzoyMiAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwbXV4LmM6CgkgIHJ0cG11eDogU2V0IHNlcW51bS1iYXNlIGFuZCBjbG9jay1iYXNlIGluIGNhcHMgZnJvbSBydHBtdXhlcgoKMjAwNy0wOC0xNSAxMzo1MDozOCArMDAwMCAgWmVlc2hhbiBBbGkgPGZpcnN0Lmxhc3RAbm9raWEuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwZHRtZm11eC5jOgoJICBydHBtdXg6IG1vcmUgZGVidWcKCSAgMjAwNzA4MTUxMzUwMzgtZjNmMWUtOWM3YTU0OTBhNTI1YzZlODc1M2NiMWI4YzAzMzU0ZGY5OTEzMmI1Yy5negoKMjAwNy0wOC0yMCAxODo1MDozMiArMDAwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cG11eC5jOgoJICBydHBtdXg6IG1pc3NpbmcgY29tbWVudAoJICAyMDA3MDgyMDE4NTAzMi00ZjBmNi0wYWI2N2I2YWM0MGRkNGUzNWE4ZmU1M2YzY2I2ZGFmZjY1Y2U0M2I5Lmd6CgoyMDA3LTA3LTEyIDE5OjUzOjM2ICswMDAwICBPbGl2aWVyIENyZXRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cG11eC5jOgoJICBydHBtdXg6IE1ha2UgYnVmZmVyIHdyaXRhYmxlIGJlZm9yZSB3cml0aW5nIGludG8gaXQKCSAgMjAwNzA3MTIxOTUzMzYtM2UyZGMtOTFhNWZiNzk3Y2ZhNDkxOWQ0ZTJmOWE3MjhjNmQ2ZmJkM2I4M2Q5My5negoKMjAwNy0wNy0wNiAyMDoyNDo1OSArMDAwMCAgT2xpdmllciBDcmV0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBtdXguYzoKCSAgcnRwbXV4OiBTZXQgcGFkcyBhY3RpdmUgd2hlbiBhZGRpbmcgdGhlbSB0byBhIHBvdGVudGlhbGx5IHJ1bm5pbmcgZWxlbWVudAoJICAyMDA3MDcwNjIwMjQ1OS0zZTJkYy1hMzczMWY4ODU3MjU1OTRkZWYwYTdiZTk5N2ZjN2IzYTczOWVlOTY3Lmd6CgoyMDA3LTA2LTA3IDEyOjAxOjIxICswMDAwICBPbGl2aWVyIENyZXRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cG11eC5jOgoJICBydHBtdXg6IEZpeCBtdWx0aXBsZSByZWYgbGVha3MgKHBhdGNoZXMgYnkgU1AgR0xFKQoJICAyMDA3MDYwNzEyMDEyMS0zZTJkYy0wNjFlOWVmN2E0N2IxYjg0ZmE4ZjgwOTJmNGI4YmNjMGU2ZGI4YzhjLmd6CgoyMDA3LTA1LTI4IDE1OjI1OjA1ICswMDAwICBaZWVzaGFuIEFsaSA8Zmlyc3QubGFzdEBub2tpYS5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBtdXguYzoKCSAgcnRwbXV4OiBzZW5kIGV2ZW50IHRvIGFsbCBzcmMgcGFkcwoJICAyMDA3MDUyODE1MjUwNS1mM2YxZS0wMzkyMTZjNzNkYzkzZjY0YzQ5OTYyYzc3YTAyNTNjYjljZmVjNGQzLmd6CgoyMDA3LTA1LTI4IDEyOjM3OjQ5ICswMDAwICBaZWVzaGFuIEFsaSA8Zmlyc3QubGFzdEBub2tpYS5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBtdXguYzoKCSAgcnRwbXV4OiBwcmludCBhIHdhcm5pbmcgaWYgcmVjZWl2ZSBhbiBlcnJvciBpdGVyYXRpbmcgc2lua3BhZHMKCSAgMjAwNzA1MjgxMjM3NDktZjNmMWUtNGMxZWIzZjUxMWI1NjEwMTQzNjEwYTY1YTk0ZDExN2YyYzNkMjU4MC5negoKMjAwNy0wNS0yOCAxMjoyODowOCArMDAwMCAgWmVlc2hhbiBBbGkgPGZpcnN0Lmxhc3RAbm9raWEuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwbXV4LmM6CgkgIHJ0cG11eDogZGVhbCB3aXRoIGFsbCB0aGUgZ3N0X2l0ZXJhdG9yX25leHQoKSByZXR1cm4gdmFsdWVzCgkgIDIwMDcwNTI4MTIyODA4LWYzZjFlLWQzMDE2NDRjM2JlNzYzM2VjNmRjNWUyODU5NmU5MzQ2ZDJkYTZhNTAuZ3oKCjIwMDctMDUtMjUgMTI6MzE6MTYgKzAwMDAgIFplZXNoYW4gQWxpIDxmaXJzdC5sYXN0QG5va2lhLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cG11eC5jOgoJICBydHBtdXg6IFJldHVybiBjb3JyZWN0IHZhbHVlIGZyb20gdGhlIGV2ZW50IGhhbmRsZXIKCSAgMjAwNzA1MjUxMjMxMTYtZjNmMWUtMTMxYjM3YjVmNDUyMTYxOGZlMmYxMzIwNDA5YTQ3ZTY1YjM1YWQyZC5negoKMjAwNy0wNS0yNSAxMDoyNzowOSArMDAwMCAgWmVlc2hhbiBBbGkgPGZpcnN0Lmxhc3RAbm9raWEuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwbXV4LmM6CgkgIHJ0cG11eDogVmlsbGUncyBvcmlnaW5hbCBwYXRjaCB0byBmaXggdGhlIHRyYXZlcnNhbCBvZiBkdG1mIGV2ZW50CgkgIDIwMDcwNTI1MTAyNzA5LWYzZjFlLTZjNDFkMWVmOTM0MDY4YTRmNGU4MTBlN2U5ODFiNDIwMDc1YjBjOTguZ3oKCjIwMDctMDMtMjkgMTM6NTI6NTAgKzAwMDAgIHplZXNoYW4uYWxpQG5va2lhLmNvbSA8emVlc2hhbi5hbGlAbm9raWEuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwbXV4LmM6CgkgIHJ0cG11eDogU2V0IHRoZSBjb3JyZWN0IHRzLW9mZnNldCBvbiB0aGUgZ2V0X3Byb3AgdmFsdWUKCSAgMjAwNzAzMjkxMzUyNTAtNjUwMzUtYTQzZTIyMmQ5MWQ1N2MwYTYxY2IzMjg3NTg2YWFhMjlhYmY3ODY3NC5negoKMjAwNy0wMy0yOSAxMzo1MjoyMyArMDAwMCAgemVlc2hhbi5hbGlAbm9raWEuY29tIDx6ZWVzaGFuLmFsaUBub2tpYS5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBtdXguYzoKCSAgcnRwbXV4OiBSZWZhY3Rvcml6ZSBzdGF0ZV9jaGFuZ2UKCSAgMjAwNzAzMjkxMzUyMjMtNjUwMzUtMjNhMDEwN2IyZTM5NzcxMGYwMzVjNmU4OGNjMGU0OWI2NWJiNGQ1ZC5negoKMjAwNy0wMy0yOSAxMzozNjoyMiArMDAwMCAgemVlc2hhbi5hbGlAbm9raWEuY29tIDx6ZWVzaGFuLmFsaUBub2tpYS5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBtdXguYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwbXV4Lmg6CgkgIHJ0cG11eDogc2V0IFNTUkMgb24gdGhlIHBhY2tldHMKCSAgMjAwNzAzMjkxMzM2MjItNjUwMzUtMWJlNmUwYWE4NWE3MTM4OWY3ZDI1N2I5Y2QzZTEzYTczZDZiNzQ1Yi5negoKMjAwNy0wMy0yOSAxMzoxOTozNiArMDAwMCAgemVlc2hhbi5hbGlAbm9raWEuY29tIDx6ZWVzaGFuLmFsaUBub2tpYS5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBtdXguYzoKCSAgcnRwbXV4OiBDb2RlIGNsZWFuLXVwIGFuZCBtb3JlIGRlYnVnIG91dHB1dAoJICAyMDA3MDMyOTEzMTkzNi02NTAzNS05ZDQ5OWUyMDllMGQ3YTQwOWMzYWEwZDEwNDA3NzhiYWJmMDc2MTc5Lmd6CgoyMDA3LTAzLTI4IDExOjIyOjE5ICswMDAwICB6ZWVzaGFuLmFsaUBub2tpYS5jb20gPHplZXNoYW4uYWxpQG5va2lhLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cG11eC5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBtdXguaDoKCSAgcnRwbXV4OiBVc2Ugb3duIGNsb2NrLWJhc2UKCSAgMjAwNzAzMjgxMTIyMTktNjUwMzUtMWJhNWZlZmJjNjUwNTllOWIwYzg2MDUyOGEzMTA2MmNlYjZhNzMzMS5negoKMjAwNy0wMy0yMyAxNjozMTozOSArMDAwMCAgemVlc2hhbi5hbGlAbm9raWEuY29tIDx6ZWVzaGFuLmFsaUBub2tpYS5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBtdXguYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwbXV4Lmg6CgkgIHJ0cG11eDogT25seSBhY2NlcHQgUlRQIHN0cmVhbXMgdGhhdCBoYXZlIHRoZSBzYW1lIGNsb2NrLXJhdGUKCSAgMjAwNzAzMjMxNjMxMzktNjUwMzUtZmMwYjE3YjBiOGE3YTA0MWY0ODk5NGM0ZjI2ZTk2NTY4MTY4YmY5NS5negoKMjAwNy0wMy0yMiAxNjoxNTo1MiArMDAwMCAgemVlc2hhbi5hbGlAbm9raWEuY29tIDx6ZWVzaGFuLmFsaUBub2tpYS5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBkdG1mbXV4LmM6CgkgIHJ0cG11eDogU29tZSBtb3JlIGNvZGUtY2xlYW51cHMKCSAgMjAwNzAzMjIxNjE1NTItNjUwMzUtYmRhOTYxNjVlMTQ2YjRmMWQ1ZmVhMWNjOTU3NmE3YWIzYWJlYmM5ZS5negoKMjAwNy0wMy0yMiAxNTo0Mjo1MSArMDAwMCAgemVlc2hhbi5hbGlAbm9raWEuY29tIDx6ZWVzaGFuLmFsaUBub2tpYS5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBtdXguYzoKCSAgcnRwbXV4OiByZXR1cm4gbmV3cGFkIGluc3RlYWQgb2YgTlVMTCBhbmQgd2FybiBpZiBmYWlsZWQgdG8gY3JlYXRlIGEgcGFkCgkgIDIwMDcwMzIyMTU0MjUxLTY1MDM1LWNkYjY2NTFlNjFjMmViMDIwNWNjOGMyNDY5M2I0M2Y5OGEyZGE3MTguZ3oKCjIwMDctMDMtMjIgMTI6NDE6MzIgKzAwMDAgIHplZXNoYW4uYWxpQG5va2lhLmNvbSA8emVlc2hhbi5hbGlAbm9raWEuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwbXV4LmM6CgkgIHJ0cG11eDogUmVmYWN0b3JpemUgdGhlIFJUUE11eCBjb2RlCgkgIDIwMDcwMzIyMTI0MTMyLTY1MDM1LTBhMzI3ODE0NzU0NmUzM2Y2ODcwOTdhNDNiNzc1YjNmNmFhOTlmOTMuZ3oKCjIwMDctMDMtMjIgMTI6MTQ6NTMgKzAwMDAgIHplZXNoYW4uYWxpQG5va2lhLmNvbSA8emVlc2hhbi5hbGlAbm9raWEuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwZHRtZm11eC5jOgoJICBydHBtdXg6IFNvbWUgbW9yZSBkb2MgZml4aW5nCgkgIDIwMDcwMzIyMTIxNDUzLTY1MDM1LTEyZDYwMjI3MjIxN2I1MWJkOTdkZjRlNTc5MDAyNGMzOTk2MjJkZDMuZ3oKCjIwMDctMDMtMjIgMTE6MzI6MjggKzAwMDAgIHplZXNoYW4uYWxpQG5va2lhLmNvbSA8emVlc2hhbi5hbGlAbm9raWEuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwZHRtZm11eC5jOgoJICBydHBtdXg6IE1vcmUgUmVmYWN0b3JpbmcKCSAgMjAwNzAzMjIxMTMyMjgtNjUwMzUtYmFlMzRhNzk1OTllN2RlNTI5M2VkNzdiMDIyMzYxY2NmZjgyMmJiOS5negoKMjAwNy0wMy0yMiAxMTozMTo1NCArMDAwMCAgemVlc2hhbi5hbGlAbm9raWEuY29tIDx6ZWVzaGFuLmFsaUBub2tpYS5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBkdG1mbXV4LmM6CgkgIHJ0cG11eDogTW9yZSBkb2N1bWVudGF0aW9uCgkgIDIwMDcwMzIyMTEzMTU0LTY1MDM1LTYyNDg1MDU0MWE1YjVmYzNkZjIzMTIwNGJlNWE4M2QwNzIzOWRiMjguZ3oKCjIwMDctMDMtMjEgMTY6MzM6MTEgKzAwMDAgIHplZXNoYW4uYWxpQG5va2lhLmNvbSA8emVlc2hhbi5hbGlAbm9raWEuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwZHRtZm11eC5jOgoJICBydHBtdXg6IFJlZmFjdG9yIHRoZSBldmVudCBoYW5kbGVyIGZ1bmN0aW9uCgkgIDIwMDcwMzIxMTYzMzExLTY1MDM1LTk4N2U3ZjI1ZDFhYjUzMzViNzlmNDRiMjc3YWJmMTVlNGUzN2QzMTcuZ3oKCjIwMDctMDMtMjEgMTQ6NTI6NDQgKzAwMDAgIHplZXNoYW4uYWxpQG5va2lhLmNvbSA8emVlc2hhbi5hbGlAbm9raWEuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwZHRtZm11eC5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBkdG1mbXV4Lmg6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cG11eC5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBtdXguaDoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwbXV4ZXIuYzoKCSAgcnRwbXV4OiBBZGQgUlRQRFRNRk11eCBlbGVtZW50CgkgIDIwMDcwMzIxMTQ1MjQ0LTY1MDM1LTlhMDEzOTBiMGRlZTMzOThlNTMxOTlhMWZhMWQ5MzUyMDA0ZjMzOGUuZ3oKCjIwMDctMDMtMjEgMTI6MzE6NDkgKzAwMDAgIHplZXNoYW4uYWxpQG5va2lhLmNvbSA8emVlc2hhbi5hbGlAbm9raWEuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwbXV4LmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cG11eC5oOgoJICBydHBtdXg6IFJlbW92ZSBEVE1GLXNwZWNpZmljIGNvZGUgZnJvbSBSVFAgbXV4ZXIgYW5kIG1ha2UgaXQgZXh0ZW5kYWJsZQoJICAyMDA3MDMyMTEyMzE0OS02NTAzNS1iOGE4ZjU1ZmY3OGVlZDhjYmIwMDQyZTgyNzg4NWVkZmM1NDM4MjQyLmd6CgoyMDA3LTAzLTIwIDEyOjA1OjI0ICswMDAwICB6ZWVzaGFuLmFsaUBub2tpYS5jb20gPHplZXNoYW4uYWxpQG5va2lhLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cG11eC5jOgoJICBydHBtdXg6IFB1dCBtb3JlIGhlbHBmdWwgZGVzY3JpcHRpb24KCSAgMjAwNzAzMjAxMjA1MjQtNjUwMzUtZGIyN2E3Y2Y2MzA3YjUxMWFlYjNkOTk2ZDI2ZTc5MGUzNjdhN2JhZC5negoKMjAwNy0wMy0xNiAxNToxNjo0MSArMDAwMCAgemVlc2hhbi5hbGlAbm9raWEuY29tIDx6ZWVzaGFuLmFsaUBub2tpYS5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBtdXguYzoKCSAgcnRwbXV4OiByZW1vdmUgdGhlIChjb21tZW50ZWQtb3V0KSBjb2RlIGZvciBibG9ja2luZyB0aGUgcGFkcwoJICAyMDA3MDMxNjE1MTY0MS02NTAzNS0wMTIzYWYzODc5NTFmODg1OTQ3OTdjNzIyZTg4MmNmZTcwMjQwYWZmLmd6CgoyMDA3LTAzLTE2IDEzOjE0OjQ0ICswMDAwICB6ZWVzaGFuLmFsaUBub2tpYS5jb20gPHplZXNoYW4uYWxpQG5va2lhLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cG11eC5jOgoJICBydHBtdXg6IERyb3AgYnVmZmVycyBpbnN0ZWFkIG9mIGJsb2NraW5nIHRoZSBzaW5rcGFkcwoJICAyMDA3MDMxNjEzMTQ0NC02NTAzNS05YzEzNDVhZDk2MTA4ODgxZjQ1NWQ0YjU1YTdmNjIzY2QzMDJkMGVkLmd6CgoyMDA3LTAzLTE0IDE3OjE2OjE4ICswMDAwICB6ZWVzaGFuLmFsaUBub2tpYS5jb20gPHplZXNoYW4uYWxpQG5va2lhLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cG11eC5jOgoJICBydHBtdXg6IEltcGxlbWVudCBzdHJlYW0gbG9ja2luZywgbmVlZGVkIGZvciBEVE1GCgkgIDIwMDcwMzE0MTcxNjE4LTY1MDM1LWU0ZDI0YjE2MDZjZTBhM2UyZTczOWYwMTgzM2Y2MWU0ZDc1NTVlYWMuZ3oKCjIwMDctMDMtMTQgMTA6MjA6NTggKzAwMDAgIHplZXNoYW4uYWxpQG5va2lhLmNvbSA8emVlc2hhbi5hbGlAbm9raWEuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwbXV4LmM6CgkgIHJ0cG11eDogdXNlIEdTVF8qX09CSkVDVCBpbnN0ZWFkIG9mIGdfKgoJICAyMDA3MDMxNDEwMjA1OC02NTAzNS1lMjQ0Mjg4OGYyZTNlNWEzYTc2NTlhZDc5NTRhNGZiYTM0NzQ5Y2UyLmd6CgoyMDA3LTAzLTE0IDEwOjE4OjU0ICswMDAwICB6ZWVzaGFuLmFsaUBub2tpYS5jb20gPHplZXNoYW4uYWxpQG5va2lhLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cG11eC5jOgoJICBydHBtdXg6IE5vIG5lZWQgdG8gbWFuYWdlIHBhZHMsIHBhcmVudCBkb2VzIHRoYXQgZm9yIHVzCgkgIDIwMDcwMzE0MTAxODU0LTY1MDM1LWVmNWY0YWJkZTIyNzEwMmExMTI4ODM1YWIzMjU5MDVlYWU0YzM3MjYuZ3oKCjIwMDctMDMtMTQgMDk6MDM6NTggKzAwMDAgIHplZW5peEBnbWFpbC5jb20gPHplZW5peEBnbWFpbC5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBtdXguYzoKCSAgcnRwbXV4OiBGaXggY29weXJpZ2h0IGhlYWRlcgoJICAyMDA3MDMxNDA5MDM1OC1kMDE0YS0zYTZkM2VlZWFhZjVjYjhjYTNiY2E2YTMzZTk5YTU1MWY1OThiZDQ4Lmd6CgoyMDA3LTAzLTA3IDA4OjUzOjA3ICswMDAwICB6ZWVzaGFuLmFsaUBub2tpYS5jb20gPHplZXNoYW4uYWxpQG5va2lhLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cG11eC5jOgoJICBydHBtdXg6IFRoZSBmaXJzdCBpbXBsZW1lbnRhdGlvbiBvZiBSVFAgbXV4ZXIKCSAgMjAwNzAzMDcwODUzMDctNjUwMzUtODMzNDAyNDEzZjk5Y2IzZjhiZTQ4ODNlOTJiYWQ0Yzg3MjI1MTBjOS5negoKMjAxMi0xMi0xNSAyMToyNzowMSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGdzdC9hdWRpb2Z4L2dzdHNjYWxldGVtcG8uYzoKCSogZ3N0L2F1ZGlvZngvZ3N0c2NhbGV0ZW1wby5oOgoJICBzY2FsZXRlbXBvOiBubyBuZWVkIGZvciBhIHByaXZhdGUgc3RydWN0CgoyMDEyLTEyLTE0IDE1OjEzOjMxICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaG91dDJzZW5kLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvY3JvcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2ZpbHRlci54bWw6CgkgIGRvY3M6IHVwZGF0ZSBwbHVnaW4gZG9jcwoKMjAxMi0xMi0xNCAxNToxMzoxOSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1kb2NzLnNnbWw6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9meC54bWw6CgkgIGRvY3M6IGFkZCBzY2FsZXRlbXBvIHRvIGRvY3MKCjIwMTItMTEtMDYgMTM6MzY6MzkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvZngvTWFrZWZpbGUuYW06CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvZnguYzoKCSAgYXVkaW9meDogbW92ZSBzY2FsZXRlbXBvIGVsZW1lbnQgZnJvbSAtYmFkCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODcyNjIKCjIwMTItMTAtMjMgMTQ6MzM6MjEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvZngvZ3N0c2NhbGV0ZW1wby5jOgoJICBzY2FsZXRlbXBvOiBGaXggZXZlbnQgbGVhawoKMjAxMi0xMC0yMyAxNDozMjoyNCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9meC9nc3RzY2FsZXRlbXBvLmM6CgkgIHNjYWxldGVtcG86IEZpeCB0aW1lc3RhbXAgdHJhY2tpbmcKCjIwMTItMTAtMjMgMTQ6MDY6MzcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvZngvZ3N0c2NhbGV0ZW1wby5jOgoJICBzY2FsZXRlbXBvOiBJbXBsZW1lbnQgTEFURU5DWSBxdWVyeQoKMjAxMi0xMC0yMyAxMzozOToxNyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9meC9nc3RzY2FsZXRlbXBvLmM6CgkqIGdzdC9hdWRpb2Z4L2dzdHNjYWxldGVtcG8uaDoKCSAgc2NhbGV0ZW1wbzogU3RvcmUgaW5zdGFuY2UgcHJpdmF0ZSBkYXRhIGluIHRoZSBpbnN0YW5jZSBzdHJ1Y3QKCSAgR2V0dGluZyBpdCBvdmVyIGFuZCBvdmVyIGFnYWluIHZpYSBHX1RZUEVfSU5TVEFOQ0VfR0VUX1BSSVZBVEUoKQoJICBpcyByZWFsbHkgc2xvdy4KCjIwMTItMTAtMTcgMTc6MzQ6MjYgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvZngvZ3N0c2NhbGV0ZW1wby5jOgoJICBzY2FsZXRlbXBvOiB1c2UgZ3N0X2VsZW1lbnRfY2xhc3Nfc2V0X3N0YXRpY19tZXRhZGF0YSgpCgkgIHdoZXJlIHBvc3NpYmxlLiBBdm9pZHMgc29tZSBzdHJpbmcgY29waWVzLiBBbHNvIHJlLWluZGVudAoJICBzb21lIHN0dWZmLiBBbHNvIHNvbWUgaW5kZW50IGZpeGVzIGhlcmUgYW5kIHRoZXJlLgoKMjAxMi0wOS0xNCAxNzowODo0OSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9meC9nc3RzY2FsZXRlbXBvLmM6CgkgIHNjYWxldGVtcG86IHJlcGxhY2UgZ3N0X2VsZW1lbnRfY2xhc3Nfc2V0X2RldGFpbHNfc2ltcGxlIHdpdGggZ3N0X2VsZW1lbnRfY2xhc3Nfc2V0X21ldGFkYXRhCgoyMDEyLTA5LTE0IDE2OjQ1OjM0ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvZngvZ3N0c2NhbGV0ZW1wby5jOgoJICBzY2FsZXRlbXBvOiBmZm1wZWdjb2xvcnNwYWNlIGlzIG5vIG1vcmUKCjIwMTItMDQtMDUgMTg6MDI6NTYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvZngvZ3N0c2NhbGV0ZW1wb3BsdWdpbi5jOgoJICBzY2FsZXRlbXBvOiBVcGRhdGUgZm9yIEdTVF9QTFVHSU5fREVGSU5FKCkgQVBJIGNoYW5nZXMKCjIwMTItMDMtMTggMTg6MzI6NTUgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvZngvZ3N0c2NhbGV0ZW1wby5jOgoJICBzY2FsZXRlbXBvOiBwb3J0IHRvIDAuMTEKCjIwMTEtMDctMDcgMTA6NTI6NTAgLTA3MDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9hdWRpb2Z4L2dzdHNjYWxldGVtcG8uYzoKCSAgc2NhbGV0ZW1wbzogaW1wcm92ZSB0aGUgZG9jcwoJICBGaXggdGhlIHN5bnRheCwgYWRkIG1vcmUgZXhwbGFuYXRpb24gYW5kIHhyZWYgdGhlIHByb3BlcnRpZXMuCgoyMDExLTAzLTIyIDEzOjQ2OjQyICswMTAwICBDaHJpcyBFIEpvbmVzIDxjaHJpc0BjaHJpc2Vqb25lcy5jb20+CgoJKiBnc3QvYXVkaW9meC9nc3RzY2FsZXRlbXBvLmM6CgkgIHNjYWxldGVtcG86IENvcnJlY3RseSBoYW5kbGUgbmV3c2VnbWVudCBldmVudHMgd2l0aCBzdG9wPT0tMQoJICBGaXhlcyBidWcgIzY0NTQyMC4KCjIwMTAtMTAtMTkgMTM6NDM6MTQgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9hdWRpb2Z4L2dzdHNjYWxldGVtcG8uYzoKCSAgc2NhbGV0ZW1wbzogYWRkIG1pc3NpbmcgR19QQVJBTV9TVEFUSUNfU1RSSU5HUyBmbGFncwoJICBDYW5vbmljYWxpemUgcHJvcGVydHkgbmFtZXMgYXMgbmVlZGVkLgoKMjAxMC0wMy0xOCAxNzozMDoyNiArMDEwMCAgQmVuamFtaW4gT3R0ZSA8b3R0ZUByZWRoYXQuY29tPgoKCSogZ3N0L2F1ZGlvZngvZ3N0c2NhbGV0ZW1wby5jOgoJICBzY2FsZXRlbXBvOiBnc3RfZWxlbWVudF9jbGFzc19zZXRfZGV0YWlscyA9PiBnc3RfZWxlbWVudF9jbGFzc19zZXRfZGV0YWlsc19zaW1wbGUKCjIwMDktMTEtMDUgMTM6NDA6MzggLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvZngvZ3N0c2NhbGV0ZW1wby5jOgoJICBzY2FsZXRlbXBvOiBwcm9wZXJseSB1cGRhdGUgbmV3IHNlZ21lbnRzCgkgIFNjYWxldGVtcG8gd2FzIG1pc3NpbmcgYW4gdXBkYXRlIG9mICdzdG9wJyBpbgoJICBuZXcgc2VnbWVudCBwYXJhbWV0ZXJzIHdoZW4gcHVzaGluZyBpdCBkb3duc3RyZWFtLAoJICB3aGljaCBjYXVzZWQgZmlsZXMgdG8gZW5kIGVhcmxpZXIgd2hlbiByYXRlIDwgMS4KCSAgRml4ZXMgIzU5OTkwMwoJICBCYXNlZCBvbiBwYXRjaCBieTogQmFzdGlhbiBIZWNodCA8aGVjaHRiQGdtYWlsLmNvbT4KCjIwMDktMDYtMTQgMjA6MDA6NTEgKzAyMDAgIE1heGltaWxpYW4gSMO2Z25lciA8cGJtYXhpQGhvZWduZXJzLmRlPgoKCSogZ3N0L2F1ZGlvZngvZ3N0c2NhbGV0ZW1wby5jOgoJICBzY2FsZXRlbXBvOiBFeHBsaWNpdGVseSBjYXN0IHRvIHNpZ25lZCBpbnRlZ2VycyB0byBmaXggYSBzZWdmYXVsdAoJICBGaXhlcyBidWcgIzU4NTY2MC4KCjIwMDktMDItMTMgMTI6MTg6NDggLTA4MDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEBzb25nYmlyZG5lc3QuY29tPgoKCSogZ3N0L2F1ZGlvZngvZ3N0c2NhbGV0ZW1wby5jOgoJICBzY2FsZXRlbXBvOiBEbyBub3QgdXNlIHZvaWQgcG9pbnRlciBhcml0aG1ldGljLgoKMjAwOC0xMC0zMCAxMjoxMzoxOCArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgc2NhbGV0ZW1wbzogUmV0dXJuIHRoZSByZXN1bHQgb2YgcGFyZW50X2NsYXNzLT5ldmVudCgpCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdWRpb2Z4L2dzdHNjYWxldGVtcG8uYzoKCSAgUmV0dXJuIHRoZSByZXN1bHQgb2YgcGFyZW50X2NsYXNzLT5ldmVudCgpLgoKMjAwOC0wOC0zMSAxMjoyMDozMyArMDAwMCAgUm92IEp1dmFubyA8cm92anV2YW5vQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIEFkZCBzY2FsZXRlbXBvIHBsdWdpbiwgd2hpY2ggYWxsb3dzIHRvIHNjYWxlIHRoZSBzcGVlZCBvZiBhdWRpbyB3aXRob3V0IGNoYW5naW5nIHRoZSBwaXRjaCBieSBoYW5kbGluZyBzZWVrcyB3aXRoIGEgci4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFJvdiBKdXZhbm8gPHJvdmp1dmFubyBhdCB1c2VycyBkb3Qgc291cmNlZm9yZ2UgZG90IG5ldD4KCSAgKiBjb25maWd1cmUuYWM6CgkgICogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2NhbGV0ZW1wby54bWw6CgkgICogZXhhbXBsZXMvc2NhbGV0ZW1wby9NYWtlZmlsZS5hbToKCSAgKiBleGFtcGxlcy9zY2FsZXRlbXBvL2RlbW8tZ3VpLmM6IChwb3Bfc3RhdHVzX2JhciksCgkgIChzdGF0dXNfYmFyX3ByaW50ZiksIChkZW1vX2d1aV9zZWVrX2Jhcl9mb3JtYXQpLCAodXBkYXRlX3Bvc2l0aW9uKSwKCSAgKGRlbW9fZ3VpX3NlZWtfYmFyX2NoYW5nZSksIChkZW1vX2d1aV9kb19jaGFuZ2VfcmF0ZSksCgkgIChkZW1vX2d1aV9kb19zZXRfcmF0ZSksIChkZW1vX2d1aV9kb19yYXRlX2VudGVyZWQpLAoJICAoZGVtb19ndWlfZG9fdG9nZ2xlX2FkdmFuY2VkKSwgKGRlbW9fZ3VpX2RvX3RvZ2dsZV9kaXNhYmxlZCksCgkgIChkZW1vX2d1aV9kb19zZWVrKSwgKGRlbW9fZ3VpX2RvX3BsYXkpLCAoZGVtb19ndWlfZG9fcGF1c2UpLAoJICAoZGVtb19ndWlfZG9fcGxheV9wYXVzZSksIChkZW1vX2d1aV9kb19vcGVuX2ZpbGUpLAoJICAoZGVtb19ndWlfZG9fcGxheWxpc3RfcHJldiksIChkZW1vX2d1aV9kb19wbGF5bGlzdF9uZXh0KSwKCSAgKGRlbW9fZ3VpX2RvX2Fib3V0X2RpYWxvZyksIChkZW1vX2d1aV9kb19xdWl0KSwKCSAgKGRlbW9fZ3VpX3JlcXVlc3Rfc2V0X3N0cmlkZSksIChkZW1vX2d1aV9yZXF1ZXN0X3NldF9vdmVybGFwKSwKCSAgKGRlbW9fZ3VpX3JlcXVlc3Rfc2V0X3NlYXJjaCksIChkZW1vX2d1aV9yYXRlX2NoYW5nZWQpLAoJICAoZGVtb19ndWlfcGxheWluZ19zdGFydGVkKSwgKGRlbW9fZ3VpX3BsYXlpbmdfcGF1c2VkKSwKCSAgKGRlbW9fZ3VpX3BsYXlpbmdfZW5kZWQpLCAoZGVtb19ndWlfcGxheWVyX2Vycm9yZWQpLAoJICAoZGVtb19ndWlfc3RyaWRlX2NoYW5nZWQpLCAoZGVtb19ndWlfb3ZlcmxhcF9jaGFuZ2VkKSwKCSAgKGRlbW9fZ3VpX3NlYXJjaF9jaGFuZ2VkKSwgKGRlbW9fZ3VpX3NldF9wbGF5ZXJfZnVuYyksCgkgIChkZW1vX2d1aV9zZXRfcGxheWxpc3RfZnVuYyksIChidWlsZF9ndmFsdWVfYXJyYXkpLAoJICAoY3JlYXRlX2FjdGlvbiksIChkZW1vX2d1aV9zaG93X2Z1bmMpLCAoZGVtb19ndWlfc2V0X3BsYXllciksCgkgIChkZW1vX2d1aV9zZXRfcGxheWxpc3QpLCAoZGVtb19ndWlfc2hvdyksIChkZW1vX2d1aV9nZXRfcHJvcGVydHkpLAoJICAoZGVtb19ndWlfc2V0X3Byb3BlcnR5KSwgKGRlbW9fZ3VpX2luaXQpLCAoZGVtb19ndWlfY2xhc3NfaW5pdCksCgkgIChkZW1vX2d1aV9nZXRfdHlwZSk6CgkgICogZXhhbXBsZXMvc2NhbGV0ZW1wby9kZW1vLWd1aS5oOgoJICAqIGV4YW1wbGVzL3NjYWxldGVtcG8vZGVtby1tYWluLmM6IChoYW5kbGVfZXJyb3JfbWVzc2FnZSksCgkgIChoYW5kbGVfcXVpdCksIChtYWluKToKCSAgKiBleGFtcGxlcy9zY2FsZXRlbXBvL2RlbW8tcGxheWVyLmM6IChub19waXBlbGluZSksCgkgIChkZW1vX3BsYXllcl9ldmVudF9saXN0ZW5lciksIChkZW1vX3BsYXllcl9zdGF0ZV9jaGFuZ2VkX2NiKSwKCSAgKGRlbW9fcGxheWVyX2Vvc19jYiksIChkZW1vX3BsYXllcl9idWlsZF9waXBlbGluZSksIChfc2V0X3JhdGUpLAoJICAoZGVtb19wbGF5ZXJfc2NhbGVfcmF0ZV9mdW5jKSwgKGRlbW9fcGxheWVyX3NldF9yYXRlX2Z1bmMpLAoJICAoX3NldF9zdGF0ZV9hbmRfd2FpdCksIChkZW1vX3BsYXllcl9sb2FkX3VyaV9mdW5jKSwKCSAgKGRlbW9fcGxheWVyX3BsYXlfZnVuYyksIChkZW1vX3BsYXllcl9wYXVzZV9mdW5jKSwgKF9zZWVrX3RvKSwKCSAgKGRlbW9fcGxheWVyX3NlZWtfYnlfZnVuYyksIChkZW1vX3BsYXllcl9zZWVrX3RvX2Z1bmMpLAoJICAoZGVtb19wbGF5ZXJfZ2V0X3Bvc2l0aW9uX2Z1bmMpLCAoZGVtb19wbGF5ZXJfZ2V0X2R1cmF0aW9uX2Z1bmMpLAoJICAoZGVtb19wbGF5ZXJfc2NhbGVfcmF0ZSksIChkZW1vX3BsYXllcl9zZXRfcmF0ZSksCgkgIChkZW1vX3BsYXllcl9sb2FkX3VyaSksIChkZW1vX3BsYXllcl9wbGF5KSwgKGRlbW9fcGxheWVyX3BhdXNlKSwKCSAgKGRlbW9fcGxheWVyX3NlZWtfYnkpLCAoZGVtb19wbGF5ZXJfc2Vla190byksCgkgIChkZW1vX3BsYXllcl9nZXRfcG9zaXRpb24pLCAoZGVtb19wbGF5ZXJfZ2V0X2R1cmF0aW9uKSwKCSAgKGRlbW9fcGxheWVyX2dldF9wcm9wZXJ0eSksIChkZW1vX3BsYXllcl9zZXRfcHJvcGVydHkpLAoJICAoZGVtb19wbGF5ZXJfaW5pdCksIChkZW1vX3BsYXllcl9jbGFzc19pbml0KSwKCSAgKGRlbW9fcGxheWVyX2dldF90eXBlKToKCSAgKiBleGFtcGxlcy9zY2FsZXRlbXBvL2RlbW8tcGxheWVyLmg6CgkgICogZ3N0L2F1ZGlvZngvTWFrZWZpbGUuYW06CgkgICogZ3N0L2F1ZGlvZngvZ3N0c2NhbGV0ZW1wby5jOiAoYmVzdF9vdmVybGFwX29mZnNldF9mbG9hdCksCgkgIChiZXN0X292ZXJsYXBfb2Zmc2V0X3MxNiksIChvdXRwdXRfb3ZlcmxhcF9mbG9hdCksCgkgIChvdXRwdXRfb3ZlcmxhcF9zMTYpLCAoZmlsbF9xdWV1ZSksIChyZWluaXRfYnVmZmVycyksCgkgIChnc3Rfc2NhbGV0ZW1wb190cmFuc2Zvcm0pLCAoZ3N0X3NjYWxldGVtcG9fdHJhbnNmb3JtX3NpemUpLAoJICAoZ3N0X3NjYWxldGVtcG9fc2lua19ldmVudCksIChnc3Rfc2NhbGV0ZW1wb19zZXRfY2FwcyksCgkgIChnc3Rfc2NhbGV0ZW1wb19nZXRfcHJvcGVydHkpLCAoZ3N0X3NjYWxldGVtcG9fc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9zY2FsZXRlbXBvX2Jhc2VfaW5pdCksIChnc3Rfc2NhbGV0ZW1wb19jbGFzc19pbml0KSwKCSAgKGdzdF9zY2FsZXRlbXBvX2luaXQpOgoJICAqIGdzdC9hdWRpb2Z4L2dzdHNjYWxldGVtcG8uaDoKCSAgKiBnc3QvYXVkaW9meC9nc3RzY2FsZXRlbXBvcGx1Z2luLmM6IChwbHVnaW5faW5pdCk6CgkgIEFkZCBzY2FsZXRlbXBvIHBsdWdpbiwgd2hpY2ggYWxsb3dzIHRvIHNjYWxlIHRoZSBzcGVlZCBvZiBhdWRpbyB3aXRob3V0CgkgIGNoYW5naW5nIHRoZSBwaXRjaCBieSBoYW5kbGluZyBzZWVrcyB3aXRoIGEgcmF0ZSE9MS4wLgoJICBJbnRlZ3JhdGUgaXQgaW50byB0aGUgZG9jcyBhbmQgYWRkIHRoZSBleGFtcGxlIGFwcGxpY2F0aW9uIGZvciBpdC4KCSAgRml4ZXMgYnVnICM1Mzc3MDAuCgoyMDEyLTEyLTEzIDEyOjM2OjIwICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwaml0dGVyYnVmZmVyLmM6CgkgIGNoZWNrOiBhZGQgKGJ1dCBkaXNhYmxlKSBtb3JlIHJ0cCBqaXR0ZXJidWZmZXIgdGVzdHMKCSAgVGVzdHMgbmVlZCB0byBiZSBwb3J0ZWQgdG8gMS4wIGJlZm9yZSB0aGV5IGNhbiBiZSBlbmFibGVkIGJ1dCBhZGRlZCBoZXJlIHNvIHRoZXkKCSAgZG9uJ3QgZ2V0IGZvcmdvdHRlbi4KCSAgU2VlIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02Njc4MzgKCjIwMTItMDEtMTMgMDE6MTE6MzEgKzAxMDAgIEhhdmFyZCBHcmFmZiA8aGF2YXJkLmdyYWZmQHRhbmRiZXJnLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBqaXR0ZXJidWZmZXI6IGJ1bmRsZSB0b2dldGhlciBsYXRlIGxvc3QtZXZlbnRzCgkgIFRoZSBzY2VuYXJpbyB3aGVyZSB5b3UgaGF2ZSBhIGdhcCBpbiBhIHN0ZWFkeSBmbG93IG9mIHBhY2tldHMgb2YKCSAgc2F5IDEwIHNlY29uZHMgKDUwMCBwYWNrZXRzIG9mIHdpdGggZHVyYXRpb24gb2YgMjBtcyksIHRoZSBqaXR0ZXJidWZmZXIKCSAgd2lsbCBpZGxlIHVwIHVudGlsIGl0IHJlY2VpdmVzIHRoZSBmaXJzdCBidWZmZXIgYWZ0ZXIgdGhlIGdhcCwgYnV0IHdpbGwKCSAgdGhlbiBnbyBvbiB0byBwcm9kdWNlIDQ5OSBsb3N0LWV2ZW50cywgdG8gImNvdmVyIHVwIiB0aGUgZ2FwLgoJICBOb3cgdGhpcyBpcyBvYnZpb3VzbHkgd3JvbmcsIHNpbmNlIHRoZSBsYXN0IHBvc3NpYmxlIHRpbWUgZm9yIHRoZSBlYXJsaWVzdAoJICBsb3N0LWV2ZW50cyB0byBiZSBwbGF5ZWQgb3V0IGhhcyBvYnZpb3VzbHkgZXhwaXJlZCwgYnV0IHRoZSBmYWN0IHRoYXQKCSAgdGhlIGppdHRlcmJ1ZmZlciBoYXMgYSAibGVuZ3RoIiwgcmVwcmVzZW50ZWQgd2l0aCBpdHMgb3duIGxhdGVuY3kgY29tYmluZWQKCSAgd2l0aCB0aGUgdG90YWwgbGF0ZW5jeSBkb3duc3RyZWFtLCBhbGxvd3MgZm9yIGNvdmVyaW5nIHVwIGF0IGxlYXN0IHNvbWUKCSAgb2YgdGhpcyBnYXAuCgkgIFNvIGluIHRoZSBjYXNlIG9mIHRoZSAibGVuZ3RoIiBiZWluZyAyMDBtcywgd2hpbGUgaGF2aW5nIHJlY2VpdmVkIHBhY2tldAoJICA1MDAsIHRoZSBqaXR0ZXJidWZmZXIgc2hvdWxkIHN0aWxsIGNyZWF0ZSBhIHRpbWVvdXQgZm9yIHBhY2tldCA0OTEsIHdoaWNoCgkgIHdpbGwgaGF2ZSBpdHMgdGltZSBleHBpcmUgYXQgMTAsMDIgc2Vjb25kcywgc3BlY2lhbGx5IHNpbmNlIGl0IG1pZ2h0CgkgIGFjdHVhbGx5IGFycml2ZSBpbiB0aW1lISBCdXQgb2J2aW91c2x5LCB3YWl0aW5nIGZvciBwYWNrZXQgMTAwLCB0aGF0IGhhZAoJICBpdHMgdGltZSBleHBpcmUgYXQgMiBzZWNvbmRzLCAocmVtZW1iZXJpbmcgdGhhdCB0aGUgY3VycmVudCB0aW1lIGlzIDEwKQoJICBpcyB1c2VsZXNzLi4uCgkgIFRoZSBwYXRjaCB3aWxsIGNyZWF0ZSBvbmUgImJpZyIgbG9zdC1ldmVudCBmb3IgdGhlIGZpcnN0IDQ5MCBwYWNrZXRzLAoJICBhbmQgdGhlbiBnbyBvbiB0byBjcmVhdGUgc2luZ2xlIG9uZXMgaWYgdGhleSBjYW4gcmVhY2ggdGhlaXIKCSAgcGxheW91dCBkZWFkbGluZS4KCSAgU2VlIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02Njc4MzgKCjIwMTItMTItMTMgMDk6Mjc6MTQgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IGZpeCBUQ1AgcmVjb25uZWN0CgkgIElnbm9yZSBvdGhlciBjb21tYW5kcyB3aGVuIHJlY29ubmVjdGluZywgb3RoZXJ3aXNlIHRoZSBsb29wIGZ1bmN0aW9uIHdvdWxkIHBhdXNlCgkgIGFuZCB0aGUgcmVjb25uZWN0aW9uIHdvdWxkIG5vdCBoYXBwZW4uIENvbnRpbnVlIGxvb3BpbmcgYWZ0ZXIgZG9pbmcgYSByZWNvbm5lY3QKCSAgc28gdGhhdCB3ZSBoYXZlIGEgY2hhbmNlIHRvIGFjdHVhbGx5IHJlYWQgdGhlIG5ldyBkYXRhLgoKMjAxMi0xMi0xMyAwMTowMjozNCArMDQwMCAg0KDRg9GB0LvQsNC9INCY0LbQsdGD0LvQsNGC0L7QsiA8bHJuMTk4NkBnbWFpbC5jb20+CgoJKiBzeXMvZGlyZWN0c291bmQvZ3N0ZGlyZWN0c291bmRzaW5rLmM6CgkqIHN5cy9kaXJlY3Rzb3VuZC9nc3RkaXJlY3Rzb3VuZHNpbmsuaDoKCSogc3lzL3dhdmVmb3JtL2dzdHdhdmVmb3Jtc2luay5oOgoJICBkaXJlY3Rzb3VuZCwgd2F2ZWZvcm06IGZpeCBjb21waWxhdGlvbiBlcnJvcnMgY2F1c2VkIGJ5IGNpcmN1bGFyIGluY2x1ZGVzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTAxMjQKCjIwMTItMTItMTIgMTc6MzU6MDQgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2phY2svZ3N0amFjay5jOgoJKiBleHQvamFjay9nc3RqYWNrLmg6CgkqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NpbmsuYzoKCSogZXh0L2phY2svZ3N0amFja2F1ZGlvc3JjLmM6CgkqIGV4dC9qYWNrL2dzdGphY2t1dGlsLmg6CgkqIGV4dC9saWJwbmcvZ3N0cG5nZW5jLmM6CgkqIGV4dC9wdWxzZS9wdWxzZXByb2JlLmM6CgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5oOgoJKiBleHQvcHVsc2UvcHVsc2VzcmMuYzoKCSogZXh0L3B1bHNlL3B1bHNldXRpbC5jOgoJKiBleHQvdnB4L2dzdHZwOGVuYy5jOgoJKiBzeXMvb3NzL2NvbW1vbi5oOgoJKiBzeXMvb3NzL2dzdG9zc2F1ZGlvLmM6CgkqIHN5cy9vc3MvZ3N0b3Nzc3JjLmM6CgkqIHN5cy9vc3M0L29zczQtYXVkaW8uaDoKCSAgZXh0L3N5czogRml4IHNvbWUgY29tcGlsYXRpb24gZXJyb3JzIGNhdXNlZCBieSBjaXJjdWxhciBpbmNsdWRlcwoKMjAxMi0xMi0xMiAxMjowNzozNCArMDEwMCAgUGhpbGlwcGUgTm9ybWFuZCA8cGhpbG5AaWdhbGlhLmNvbT4KCgkqIGdzdC9pbnRlcmxlYXZlL2RlaW50ZXJsZWF2ZS5jOgoJICBkZWludGVybGVhdmU6IHByb3Blcmx5IHNldCBzcmNwYWQgY2hhbm5lbCBwb3NpdGlvbgoJICBUaGUgc3JjIHBhZCBjYXBzIGFsd2F5cyBkZXNjcmliZSBhIHNpbmdsZSBhdWRpbyBjaGFubmVsIHNvIG9ubHkgdGhlCgkgIGZpcnN0IHBvc2l0aW9uIG1hdHRlcnMgaWYgZGVpbnRlcmxlYXZlIGlzIGNvbmZpZ3VyZWQgdG8ga2VlcCBjaGFubmVsCgkgIHBvc2l0aW9ucyBpbiBpdHMgc3JjIHBhZHMuCgoyMDEyLTEyLTEyIDExOjA5OjQyICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiB0aW1lb3V0IG9uIHVkcHNyYyBpcyBpbiBuYW5vc2Vjb25kcwoKMjAxMi0xMi0xMiAxMTowODoxMyArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC91ZHAvZ3N0dWRwc3JjLmM6CgkgIHVkcHNyYzogaW1wcm92ZSB0aW1lb3V0cwoJICBNYWtlIGl0IHBvc3NpYmxlIHRvIHNldCB0aGUgdGltZW91dCBhZnRlciB3ZSB3ZW50IHRvIHRoZSBSRUFEWSBzdGF0ZSBieSB1c2luZwoJICB0aGUgdGltZW91dCB3aGVuIGNoZWNraW5nIHRoZSBjb25kaXRpb24uIFRoaXMgYWxzbyBtYWtlcyBpdCBwb3NzaWJsZSB0byBzZXQgdGhlCgkgIHRpbWVvdXQgd2l0aCBhIGhpZ2hlciBncmFudWxhcml0eSB0aGFuIHNlY29uZHMuCgoyMDEyLTEyLTExIDEzOjAwOjQ2ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmM6CgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5oOgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2VtZXRob2QuYzoKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlbWV0aG9kLmg6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvZ3JlZWR5LmM6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvZ3JlZWR5aC5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL2xpbmVhci5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL2xpbmVhcmJsZW5kLmM6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvc2NhbGVyYm9iLmM6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvdG9tc21vY29tcC9Ub21zTW9Db21wQWxsLmluYzoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS92ZmlyLmM6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvd2VhdmUuYzoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS93ZWF2ZWJmZi5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL3dlYXZldGZmLmM6CgkgIGRlaW50ZXJsYWNlOiBhZGQgc3VwcG9ydCBmb3Igc3RyaWRlcwoJICBJbXBsZW1lbnQgc3RyaWRlIHN1cHBvcnQgY29ycmVjdGx5IGJ5IHRha2luZyBpdCBmcm9tIHRoZSBHc3RWaWRlb0ZyYW1lLgoJICBQcm9wb3NlIGEgYnVmZmVycG9vbCB1cHN0cmVhbSB3aGVuIG5vdCBvcGVyYXRpbmcgaW4gcGFzc3Rocm91Z2guCgoyMDEyLTA5LTI3IDEyOjE3OjU4IC0wNzAwICBBbGVpeCBDb25jaGlsbG8gRmxhcXVlIDxhbGVpeEBvYmxvbmcuY29tPgoKCSAgcnRzcHNyYzogZG8gbm90IGNoYW5nZSBzdGF0ZSB0byBQTEFZSU5HIGlmIGN1cnJlbnRseSBjaGFuaW5nIHN0YXRlCgkgICogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jIChnc3RfcnRzcHNyY19wbGF5KTogc3RhdGUgY2hhbmdlIG1pZ2h0IGJlCgkgIGhhcHBlbmluZyBpbiB0aGUgYXBwbGljYXRpb24gdGhyZWFkLCBzbyB3ZSBkb24ndCBjaGFuZ2UgdGhlIHN0YXRlIHRvCgkgIFBMQVlJTkcgaW4gdGhlIGdzdHJ0c3BzcmMgdGhyZWFkIHVubGVzcyBpdCBpcyBzYWZlLgoJICBBIHNwZWNpZmljIGNhc2UgaXMgd2hlbiBjaGFuaW5nIHRoZSBzdGF0ZSB0byBOVUxMIGZyb20gdGhlIGFwcGxpY2F0aW9uCgkgIHRocmVhZC4gVGhpcyB3aWxsIHN5bmNocm9ub3VzbHkgdHJ5IHRvIHN0b3AgdGhlIHRhc2sgKHdpdGggdGhlIGVsZW1lbnQKCSAgc3RhdGUgbG9jayBhY3F1aXJlZCksIGJ1dCB3ZSB3aWxsIHRyeSBhIGdzdF9lbGVtZW50X3NldF9zdGF0ZSBmcm9tCgkgIGdzdHJ0c3BzcmMgdGhyZWFkIHdoaWNoIHdpbGwgYmxvY2sgb24gdGhlIGVsZW1lbnQgc3RhdGUgbG9jayBjYXVzaW5nIGEKCSAgZGVhZGxvY2suCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODQzMTIKCjIwMTItMTItMTAgMTE6NDQ6MjYgKzAwMDAgIEFsZXhleSBDaGVybm92IDw0ZXJub3ZAZ21haWwuY29tPgoKCSogc3lzL29zeHZpZGVvL29zeHZpZGVvc2luay5tOgoJICBvc3h2aWRlb3Npbms6IEZpeCByZXNpemluZyB0aGUgQ29jb2Egd2luZG93IG9uIHJlY2VpdmluZyBuZXcgY2FwcwoJICBGaXhlcyBidWcgIzY4OTczMi4KCjIwMTItMTEtMzAgMjA6Mzc6NDcgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBzeXMvdjRsMi9NYWtlZmlsZS5hbToKCSAgdjRsMnNyYzogbGluayBhZ2FpbnN0IC1scnQgZm9yIGNsb2NrX2dldHRpbWUoKQoJICBOZWVkIHRvIGV4cGxpY2l0bHkgbGluayBhZ2FpbnN0IC1scnQgZm9yIGNsb2NrX2dldHRpbWUoKSwgd2hpY2gKCSAgd2UgZG9uJ3QgZ2V0IGluIHRoZSBsaWJzIGFueSBtb3JlLCBiZWNhdXNlIGNvcmUgbW92ZWQgdGhlCgkgIGdtb2R1bGUtbm8tZXhwb3J0LTIuMCBiaXQgaW50byBSZXF1aXJlcy5Qcml2YXRlLgoJICBOb3QgcmVxdWlyZWQgZm9yIG5ld2VyIGdsaWJjLCBidXQgZm9yIG9sZGVyIG9uZXMsIHNvIGNoZWNrIGZvciB0aGF0LgoKMjAxMi0xMS0zMCAxNzoyMjo1OSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvc2hvdXQyL2dzdHNob3V0Mi5jOgoJICBzaG91dDJzZW5kOiBhY2NlcHQgYXVkaW8vd2VibSBhcyB3ZWxsIGFzIHZpZGVvL3dlYm0KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4OTMzNgoKMjAxMi0xMS0zMCAxNzoyMDoxOCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL21hdHJvc2thbXV4LmM6CgkgIHdlYm11eDogZml4IGxpbmtpbmcgd2l0aCBzaG91dDJzZW5kIGVsZW1lbnQKCSAgU2hvdXQyc2VuZCBvbmx5IGFjY2VwdHMgd2VibSBmb3JtYXQsIG5vdCBtYXRyb3NrYSwgYnV0IGR1ZQoJICB0byBhIGJ1ZyBpbiBtYXRyb3NrYW11eCwgd2VibW11eCdzIHNvdXJjZSBwYWQgaXMgYWxzbyBjcmVhdGVkCgkgIHdpdGggdGhlIG1hdHJvc2thIHNvdXJjZSBwYWQgdGVtcGxhdGUgYXMgcGFkIHRlbXBsYXRlLCB3aGljaAoJICBtYWtlcyB0aGUgbGluayBmdW5jdGlvbiB0aGluayBpdCBjYW4ndCBsaW5rIHdlYm1tdXggdG8gc2hvdXQyc2VuZC4KCSAgQWxzbyBhZGQgdW5pdCB0ZXN0LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njg5MzM2CgoyMDEyLTExLTI3IDExOjEzOjM3ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiB1c2UgbmV3IG9wdGlvbiBwYXJzZXIgZnVuY3Rpb24KCjIwMTItMTEtMjYgMTU6MTc6MTMgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBnc3QvbGF3L211bGF3LWNvbnZlcnNpb24uYzoKCSAgbGF3OiBmaXggYWNjaWRlbnRhbCBmaWxlIHBlcm1pc3Npb25zIGNoYW5nZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njg3NDY5CgoyMDEyLTExLTI1IDE2OjA1OjExICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICB2NGwyOiByZW1vdmUgdW51c2VkIGRlZmluZQoKMjAxMi0xMS0yNSAxNDoxNjowOSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBhdm9pZCBjcml0aWNhbHMgaWYgdW5rbm93biBmb3VyY2MgaGFzIHNwYWNlIGF0IGJlZ2lubmluZyBvciBlbmQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4MjkzNgoKMjAxMi0xMS0yNCAxOTozMjo1MSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGdzdC92aWRlb2JveC9nc3R2aWRlb2JveC5jOgoJICB2aWRlb2JveDogZml4IGJvcmRlciBmaWxsaW5nIGZvciBwbGFuYXIgWVVWIGZvcm1hdHMKCSAgV2Ugd291bGQgZ2V0IGEgZ3JlZW4gYm9yZGVyIGluc3RlYWQgb2YgYSBibGFjayBvbmUsIGZvcgoJICBleGFtcGxlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njg0OTkxCgoyMDEyLTExLTI0IDE0OjI3OjMzICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZ3N0L2xhdy9tdWxhdy1jb252ZXJzaW9uLmM6CgkgIG11bGF3OiBjb25zdC1pZnkgc29tZSBhcnJheXMKCjIwMTItMTEtMDIgMTI6Mzg6NDQgLTA0MDAgIFJvbGFuZCBLcmlrYXZhIDxya3Jpa2F2YUBnbWFpbC5jb20+CgoJKiBnc3QvbGF3L211bGF3LWNvbnZlcnNpb24uYzoKCSAgbXVsYXdkZWM6IGZpeCBpbnRlZ2VyIG92ZXJydW4KCSAgVGhlcmUgbWlnaHQgYmUgbW9yZSB0aGFuIDY1NTM1IHNhbXBsZXMgaW4gYSBjaHVuayBvZiBkYXRhLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njg3NDY5CgoyMDEyLTExLTIyIDExOjM0OjMxICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBwYXVzZSB0aGUgdGFzayBpbnN0ZWFkIG9mIHNwaW5uaW5nCgkgIEFjdHVhbGx5IHBhdXNlIHRoZSBsb29wIHRhc2sgaW5zdGVhZCBvZiBzcGlubmluZyBmb3JldmVyLgoKMjAxMi0xMS0xOSAwMzozMTozNyAtMDUwMCAgSm9zaHVhIE0uIERvZSA8b3NzQG52bC5hcm15Lm1pbD4KCgkqIGdzdC92aWRlb2ZpbHRlci9nc3R2aWRlb2ZsaXAuYzoKCSAgdmlkZW9mbGlwOiBBZGQgZ3JheSA4LzE2IHN1cHBvcnQKCjIwMTItMTEtMTkgMTE6MjU6MTQgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIGI0OTdjNGYgdG8gYTcyZmFlYQoKMjAxMi0xMS0xNiAxNTozODoyOSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogaGFuZGxlIHNlZ21lbnQgZXZlbnQKCSAgTWFrZSBhIHNlZ21lbnQgZXZlbnQgd2hlbiB3ZSBzZW5kIGEgbmV3IHJhbmdlIGhlYWRlciB0byBhIGNsaWVudCAoZmlyc3QgUExBWQoJICByZXF1ZXN0IG9yIGFmdGVyIGEgc2VlaykuIFNlbmQgdGhlIHNlZ21lbnQgZXZlbnQgaW4gaW50ZXJsZWF2ZWQgbW9kZS4KCSAgQ2xlYW4gdGhlIHNlZ21lbnQgZXZlbnQgb24gY2xlYW51cAoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njg4MzgyCgoyMDEyLTExLTE2IDE1OjE4OjA3ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBmaXggY2hlY2sgZm9yIGFjdGl2ZSBzdHJlYW1zCgkgIEEgc3RyZWFtIGNhbiBiZSBhY3RpdmUgd2l0aG91dCBhIHNyY3BhZCB5ZXQgYW5kIHdlIHdhbnQgdG8gc2VuZAoJICBldmVudHMgb24gdGhvc2Ugc3RyZWFtcyBhcyB3ZWxsLgoKMjAxMi0xMS0xNiAxMzozMTowNCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogY3JlYXRlIGFuZCBhZGQgcGFkcyBvdXRzaWRlIG9mIGxvY2sKCSAgQ3JlYXRlIGFuZCBhZGQgdGhlIGdob3N0cGFkIGZvciB0aGUgbmV3IHN0cmVhbSBvdXRzaWRlIG9mIHRoZSBsb2NrIGJlY2F1c2UgaXQKCSAgaXMgbm90IG5lZWRlZCBhbmQgY2F1c2VzIGRlYWRsb2Nrcy4KCjIwMTItMDktMTIgMjI6MTE6MjAgLTA3MDAgIEFsZWl4IENvbmNoaWxsbyBGbGFxdWUgPGFsZWl4QG9ibG9uZy5jb20+CgoJICBydHNwc3JjOiBhbGxvdyBjbGllbnQgdG8gZGlzYWJsZSByZWNvbm5lY3Rpb24KCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLltjaF06IGFkZGVkIG5ldyAidWRwLXJlY29ubmVjdCIgcHJvcGVydHkuIEJlZm9yZSwKCSAgcnRzcHNyYyBhbHdheXMgdHJpZWQgdG8gcmVjb25uZWN0IHRvIHRoZSBzZXJ2ZXIgd2hlbiB0aGUgUlRTUAoJICBjb25uZWN0aW9uIHdhcyBjbG9zZWQgYnkgdGhlIHNlcnZlci4gVGhpcyBwcm9wZXJ0eSBsZXRzIHRoZSB1c2VyCgkgIGRlY2lkZSB3aGV0aGVyIGl0IHdhbnRzIHJ0c3BzcmMgdG8gcmVjb25uZWN0IG9yIG5vdC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4MzkxMgoKMjAxMi0xMS0xNiAxMjoxNjowNSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogY2xlYXIgdmFyaWFibGVzIGJlZm9yZSByZXRyeWluZwoJICBFbHNlIHdlIG1pZ2h0IHVucmVmIGFuIG9sZCB1ZHBzcmMgdHdpY2UgaW4gY2xlYW51cC4KCjIwMTItMTEtMTYgMTI6MDA6MTQgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IHByb3Bvc2UgcG9ydHMgaW4gbXVsdGljYXN0CgkgIFdoZW4gdGhlIHVzZXIgY29uZmlndXJlZCBhIHBvcnQtcmFuZ2UsIHByb3Bvc2UgcG9ydHMgZnJvbSB0aGlzIHJhbmdlCgkgIGFzIHRoZSBtdWx0aWNhc3QgcG9ydHMuIFRoZSBzZXJ2ZXIgaXMgZnJlZSB0byBpZ25vcmUgdGhpcyByZXF1ZXN0IGJ1dCBpZiBpdAoJICBob25vdXJzIGl0LCBpbmNyZW1lbnQgb3VyIHBvcnRzIHNvIHRoYXQgd2Ugc3VnZ2VzdCB0aGUgbmV4dCBwb3J0IHBhaXIgZm9yIHRoZQoJICBuZXh0IHN0cmVhbS4KCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYzOTQyMAoKMjAxMi0xMS0xNiAxMTo1ODo1MyArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogYWRkIG1vcmUgZGVidWcKCjIwMTItMTEtMTYgMDk6MDk6MzggKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBnc3QvbXVsdGlmaWxlL2dzdG11bHRpZmlsZXNpbmsuYzoKCSAgbXVsdGlmaWxlc2luazogcG9zdCBtZXNzYWdlcyBpbiBtYXgtc2l6ZSBtb2RlIGFzIHdlbGwKCSAgTm8gcmVhc29uIG5vdCB0byByZWFsbHkuCgoyMDEyLTExLTE1IDE0OjM3OjQ0ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3VkcC9nc3R1ZHBzcmMuYzoKCSAgdWRwc3JjOiBwb3N0IGVycm9yIGJlZm9yZSBzdG9wcGluZwoKMjAxMi0xMS0xNCAwMDoxMzozNiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGdzdC9nb29tL2dzdGdvb20uYzoKCSogZ3N0L2dvb20yazEvZ3N0Z29vbS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wNGFkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wYXJvYnVzdGRlcGF5LmM6CgkgIGdzdF9hZGFwdGVyX3ByZXZfdGltZXN0YW1wIC0+IGdzdF9hZGFwdGVyX3ByZXZfcHRzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NzU1OTgKCjIwMTItMTEtMTIgMTk6MjM6NDEgKzAxMDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC92aWRlb2ZpbHRlci9nc3R2aWRlb2ZsaXAuYzoKCSAgdmlkZW9mbGlwOiBBZGQgTlYxMi9OVjIxIHN1cHBvcnQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4ODIyNQoKMjAxMi0xMS0xMiAxMzowMToyMyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnB4L2dzdHZwOGVuYy5jOgoJICB2cDhlbmM6IERvbid0IGxlYWsgR3N0VmlkZW9Db2RlY0ZyYW1lcyB0aGF0IGNhdXNlIHRoZSBjcmVhdGlvbiBvZiBpbnZpc2libGUgZnJhbWVzCgkgIEZpeGVzIGJ1ZyAjNjgyNzE0LgoKMjAxMi0xMS0xMiAxMTo0NzoxNyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkgIHB1bHNlOiBVc2UgbmV3IEdUeXBlIGZvciBHVGhyZWFkIGluc3RlYWQgb2YganVzdCBHX1RZUEVfUE9JTlRFUgoKMjAxMi0xMS0xMiAxMToxNDozNCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5jOgoJICBydHBzb3VyY2U6IHByb3RlY3QgYWdhaW5zdCBpbnZhbGlkIFJUUCBwYWNrZXRzCgoyMDEyLTExLTEyIDEwOjQ0OjAxICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9saWJwbmcvZ3N0cG5nZGVjLmM6CgkgIHBuZ2RlYzogQWN0dWFsbHkgdXNlIHRoZSBzdG9wKCkgdmZ1bmMgaW1wbGVtZW50YXRpb24KCjIwMTItMTEtMTIgMTA6MzE6NTkgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZweC9nc3R2cDhkZWMuYzoKCSAgdnA4ZGVjOiBGaXggbGFzdCBjb21taXQKCjIwMTItMTEtMTIgMTA6MTA6MTUgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2xpYnBuZy9nc3RwbmdkZWMuYzoKCSAgcG5nZGVjOiBLZWVwIHRoZSBpbnB1dCBzdGF0ZSBpbiByZXNldCgpCgkgIEl0J3Mgc3RpbGwgdmFsaWQgYWZ0ZXIgYSBmbHVzaCBhbmQgd2UgbWlnaHQgbm90IGdldCBhIG5ldyBvbmUuCgoyMDEyLTExLTEyIDEwOjA4OjU3ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cHgvZ3N0dnA4ZGVjLmM6CgkgIHZwOGRlYzogQWxzbyBkZXN0cm95IGRlY29kZXIgaW4gc2V0X2Zvcm1hdCgpIGlmIGl0IHdhcyBjcmVhdGVkIGFscmVhZHkKCSAgRml4ZXMgYSBtZW1vcnkgbGVhay4KCjIwMTItMTEtMTIgMDk6NDg6NDUgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZweC9nc3R2cDhkZWMuYzoKCSAgdnA4ZGVjOiBEb24ndCBjbGVhciBpbnB1dCBzdGF0ZSBpbiByZXNldCgpCgkgIFRoZSBpbnB1dCBzdGF0ZSBpcyBzdGlsbCB2YWxpZCBhZnRlciBmbHVzaGluZyB1bnRpbAoJICBuZXcgY2FwcyBhcnJpdmUuCgkgIEZpeGVzIGJ1ZyAjNjg4MDkyLgoKMjAxMi0xMS0xMCAxODoyMToyOCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGdzdC92aWRlb2Nyb3AvZ3N0dmlkZW9jcm9wLmM6CgkgIHZpZGVvY3JvcDogYWRkIHN1cHBvcnQgZm9yIFlWMTIKCSAgV2UgY2FuIGRvIEk0MjAsIHNvIHdlIGNhbiBkbyBZVjEyIGFzIHdlbGwuCgoyMDEyLTExLTEwIDEyOjM5OjA4ICswMTAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIGdzdC9tdWx0aWZpbGUvZ3N0bXVsdGlmaWxlc2luay5jOgoJICBtdWx0aWZpbGVzaW5rOiBkb24ndCB3cml0ZSBzdHJlYW0gaGVhZGVycyB3aXRoIGtleS11bml0LWV2ZW50CgkgIERvbid0IHdyaXRlIHN0cmVhbSBoZWFkZXJzLCBsZXQgdXBzdHJlYW0gZWxlbWVudHMgaW5zZXJ0IHRoZW0gaW4gdGhlIHN0cmVhbSBpZgoJICBhbGxfaGVhZGVycz10cnVlIGlzIHNldCBpbiBrZXkgdW5pdCBldmVudHMuCgoyMDEyLTExLTA5IDEzOjI3OjE2ICswMTAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvdmlkZW9jcm9wL2dzdHZpZGVvY3JvcC5jOgoJKiBnc3QvdmlkZW9jcm9wL2dzdHZpZGVvY3JvcC5oOgoJICB2aWRlb2Nyb3A6IEFkZCBOVjEyL05WMjEgc3VwcG9ydAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njg3OTY0CgoyMDEyLTExLTA5IDE2OjMxOjA1ICswMTAwICBEZWJhcnNoaSBSYXkgPHJpc2hpQGdudS5vcmc+CgoJKiBleHQvdnB4L2dzdHZwOGRlYy5jOgoJICB2cDhkZWM6IERvbid0IGdpdmUgdXAgc28gZWFzaWx5IGlmIGZhaWxlZCB0byBkZWNvZGUgYSBmcmFtZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njg3NDM2CgoyMDEyLTExLTA5IDExOjIyOjMwICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC91ZHAvZ3N0dWRwc3JjLmM6CgkgIHVkcHNyYzogQWxzbyBjbGVhciBHRXJyb3IKCjIwMTItMTEtMDkgMTE6MjA6MjcgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3VkcC9nc3R1ZHBzcmMuYzoKCSAgdWRwc3JjOiBEb24ndCBlcnJvciBvdXQgaWYgd2UgZ2V0IGFuIElDTVAgZGVzdGluYXRpb24tdW5yZWFjaGFibGUgbWVzc2FnZSB3aGVuIHRyeWluZyB0byByZWFkIHBhY2tldHMKCSAgU2VlIGJ1ZyAjNTI5NDU0IGFuZCAjNjg3NzgyIGFuZCBjb21taXQKCSAgNzUxZjJiYjM2NDZmMmJlZmYzNjk4YzlmMDk5MDBkYmQwZWEwOGFiYgoKMjAxMi0xMS0wNyAyMDozNTo1MCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlLmFjOiB1cGRhdGUgY291cnRlc3kgb2YgYXV0b3VwZGF0ZQoKMjAxMi0xMS0wNyAxODo0ODo0OSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb21tb246CgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiBsZXQgQUdfR1NUX1BMVUdJTl9ET0NTIGNoZWNrIGZvciBweXRob24KCSAgQW5kIHVwZGF0ZSBjb21tb24gZm9yIG1vdmUgZnJvbSBBU19QQVRIX1BZVEhPTiB0byBBTV9QQVRIX1BZVEhPTiwKCSAgd2hpY2ggYXMgYSBzaWRlLWVmZmVjdCBzaG91bGQgcGljayB1cCBuZXdlciBweXRob24gdmVyc2lvbnMgYXMKCSAgd2VsbC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTU2MzkwMwoKMjAxMi0xMS0wNyAxMzozNjozMyArMDEwMCAgQ2hyaXN0aWFuIEZyZWRyaWsgS2FsYWdlciBTY2hhbGxlciA8dXJhZXVzQGxpbnV4cmlzaW4ub3JnPgoKCSogZ3N0L3J0cC9NYWtlZmlsZS5hbToKCSAgRml4IHZwOHJ0cCBoZWFkZXIgbmFtZXMgaW4gTWFrZWZpbGUKCjIwMTItMTEtMDYgMTU6MDM6NTUgKzAxMDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC92aWRlb2Nyb3AvZ3N0dmlkZW9jcm9wLmM6CgkqIGdzdC92aWRlb2Nyb3AvZ3N0dmlkZW9jcm9wLmg6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3ZpZGVvY3JvcC5jOgoJICB2aWRlb2Nyb3A6IEFkZCBzdXBwb3J0IGZvciBhdXRvbWF0aWMgY3JvcHBpbmcKCSAgVGhpcyBjaGFuZ2UgZW5hYmxlIGF1dG9tYXRpYyBjcm9wcGluZyB1c2luZyAtMSBzZXQgdG8gbGVmdCwgdG9wLCByaWdodCBvcgoJICBib3R0b20gcHJvcGVydHkuIEluIHRoZSBjYXNlIGJvdGggc2lkZSBhcmUgc2V0IHRvIGF1dG9tYXRpYyBjcm9wcGluZywgdGhlCgkgIGNyb3Bpbmcgd2lsbCBiZSBkb25lIGVxdWFsbHkgb24gYm90aCBzaWRlIChpbiB0aGUgb2RkIGNhc2UsIHJpZ2h0IGFuZAoJICBib3R0b20gY3JvcHBpbmcgd2lsbCBiZSAxIHBpeGVsIG1vcmUpLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njg3NzYxCgoyMDEyLTExLTAyIDE2OjM5OjI4ICswMTAwICBEZWJhcnNoaSBSYXkgPHJpc2hpQGdudS5vcmc+CgoJKiBleHQvc3BlZXgvZ3N0c3BlZXhkZWMuYzoKCSAgc3BlZXhkZWM6IERvbid0IHVubWFwIG9yIGZpbmlzaF9mcmFtZSBhbiBpbnZhbGlkIEdzdEJ1ZmZlcgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njg3NDY0CgoyMDEyLTExLTA2IDEzOjIyOjU4ICswMTAwICBNYXJjIExlZW1hbiA8bWFyYy5sZWVtYW5AZ21haWwuY29tPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwOiB0aGUgUlRDUCBwb3J0IG51bWJlciBpcyBpbmNsdXNpdmUKCSAgVGhlIGNvbmZpZ3VyZWQgcG9ydCBudW1iZXIgcGFpciBoYXMgaXRzIHVwcGVyIGJvdW5kIHNldCB0byB0aGUgbWF4aW11bQoJICBhbGxvd2VkIFJUQ1AgcG9ydCwgaW5jbHVzaXZlLgoJICBTZWUgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYzOTQyMAoKMjAxMi0xMS0wMyAyMDozODowMCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGdzdC9kdG1mL2dzdGR0bWZkZXRlY3QuYzoKCSogZ3N0L2R0bWYvZ3N0ZHRtZmRldGVjdC5oOgoJKiBnc3QvZHRtZi9nc3RkdG1mc3JjLmM6CgkqIGdzdC9kdG1mL2dzdGR0bWZzcmMuaDoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZmRlcGF5LmM6CgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZkZXBheS5oOgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mc3JjLmM6CgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZzcmMuaDoKCSAgRml4IEZTRiBhZGRyZXNzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODc1MjAKCjIwMTItMTEtMDQgMDA6MDc6MTggKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBleHQvYWFsaWIvZ3N0YWFzaW5rLmM6CgkqIGV4dC9hYWxpYi9nc3RhYXNpbmsuaDoKCSogZXh0L2NhaXJvL2dzdGNhaXJvLmM6CgkqIGV4dC9jYWlyby9nc3RjYWlyb292ZXJsYXkuYzoKCSogZXh0L2NhaXJvL2dzdGNhaXJvb3ZlcmxheS5oOgoJKiBleHQvY2Fpcm8vZ3N0Y2Fpcm9yZW5kZXIuYzoKCSogZXh0L2NhaXJvL2dzdGNhaXJvcmVuZGVyLmg6CgkqIGV4dC9jYWlyby9nc3R0ZXh0b3ZlcmxheS5jOgoJKiBleHQvY2Fpcm8vZ3N0dGltZW92ZXJsYXkuYzoKCSogZXh0L2NhaXJvL2dzdHRpbWVvdmVybGF5Lmg6CgkqIGV4dC9kdi9nc3Rkdi5jOgoJKiBleHQvZHYvZ3N0ZHZkZWMuYzoKCSogZXh0L2R2L2dzdGR2ZGVjLmg6CgkqIGV4dC9kdi9nc3RkdmRlbXV4LmM6CgkqIGV4dC9kdi9nc3RkdmRlbXV4Lmg6CgkqIGV4dC9kdi9nc3RzbXB0ZXRpbWVjb2RlLmM6CgkqIGV4dC9kdi9nc3RzbXB0ZXRpbWVjb2RlLmg6CgkqIGV4dC9mbGFjL2dzdGZsYWMuYzoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5jOgoJKiBleHQvZmxhYy9nc3RmbGFjZGVjLmg6CgkqIGV4dC9mbGFjL2dzdGZsYWNlbmMuYzoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2VuYy5oOgoJKiBleHQvZmxhYy9nc3RmbGFjdGFnLmM6CgkqIGV4dC9mbGFjL2dzdGZsYWN0YWcuaDoKCSogZXh0L2dka19waXhidWYvZ3N0Z2RrYW5pbWF0aW9uLmM6CgkqIGV4dC9nZGtfcGl4YnVmL2dzdGdka2FuaW1hdGlvbi5oOgoJKiBleHQvZ2RrX3BpeGJ1Zi9nc3RnZGtwaXhidWZkZWMuYzoKCSogZXh0L2dka19waXhidWYvZ3N0Z2RrcGl4YnVmZGVjLmg6CgkqIGV4dC9nZGtfcGl4YnVmL2dzdGdka3BpeGJ1Zm92ZXJsYXkuaDoKCSogZXh0L2dka19waXhidWYvZ3N0Z2RrcGl4YnVmcGx1Z2luLmM6CgkqIGV4dC9nZGtfcGl4YnVmL2dzdGdka3BpeGJ1ZnNpbmsuYzoKCSogZXh0L2dka19waXhidWYvZ3N0Z2RrcGl4YnVmc2luay5oOgoJKiBleHQvZ2RrX3BpeGJ1Zi9waXhidWZzY2FsZS5jOgoJKiBleHQvZ2RrX3BpeGJ1Zi9waXhidWZzY2FsZS5oOgoJKiBleHQvamFjay9nc3RqYWNrLmM6CgkqIGV4dC9qYWNrL2dzdGphY2suaDoKCSogZXh0L2phY2svZ3N0amFja2F1ZGlvY2xpZW50LmM6CgkqIGV4dC9qYWNrL2dzdGphY2thdWRpb2NsaWVudC5oOgoJKiBleHQvamFjay9nc3RqYWNrYXVkaW9zaW5rLmM6CgkqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NpbmsuaDoKCSogZXh0L2phY2svZ3N0amFja2F1ZGlvc3JjLmM6CgkqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NyYy5oOgoJKiBleHQvamFjay9nc3RqYWNrcmluZ2J1ZmZlci5oOgoJKiBleHQvamFjay9nc3RqYWNrdXRpbC5jOgoJKiBleHQvamFjay9nc3RqYWNrdXRpbC5oOgoJKiBleHQvanBlZy9nc3RqcGVnLmM6CgkqIGV4dC9qcGVnL2dzdGpwZWcuaDoKCSogZXh0L2pwZWcvZ3N0anBlZ2RlYy5jOgoJKiBleHQvanBlZy9nc3RqcGVnZGVjLmg6CgkqIGV4dC9qcGVnL2dzdGpwZWdlbmMuYzoKCSogZXh0L2pwZWcvZ3N0anBlZ2VuYy5oOgoJKiBleHQvanBlZy9nc3RzbW9rZWRlYy5jOgoJKiBleHQvanBlZy9nc3RzbW9rZWRlYy5oOgoJKiBleHQvanBlZy9nc3RzbW9rZWVuYy5jOgoJKiBleHQvanBlZy9nc3RzbW9rZWVuYy5oOgoJKiBleHQvanBlZy9zbW9rZWNvZGVjLmM6CgkqIGV4dC9qcGVnL3Ntb2tlY29kZWMuaDoKCSogZXh0L2pwZWcvc21va2Vmb3JtYXQuaDoKCSogZXh0L2xpYmNhY2EvZ3N0Y2FjYXNpbmsuYzoKCSogZXh0L2xpYmNhY2EvZ3N0Y2FjYXNpbmsuaDoKCSogZXh0L2xpYnBuZy9nc3RwbmcuYzoKCSogZXh0L2xpYnBuZy9nc3RwbmcuaDoKCSogZXh0L2xpYnBuZy9nc3RwbmdkZWMuYzoKCSogZXh0L2xpYnBuZy9nc3RwbmdkZWMuaDoKCSogZXh0L2xpYnBuZy9nc3RwbmdlbmMuYzoKCSogZXh0L2xpYnBuZy9nc3RwbmdlbmMuaDoKCSogZXh0L21pa21vZC9SRUFETUU6CgkqIGV4dC9taWttb2QvZ3N0bWlrbW9kLmM6CgkqIGV4dC9taWttb2QvZ3N0bWlrbW9kLmg6CgkqIGV4dC9taWttb2QvbWlrbW9kX3R5cGVzLmM6CgkqIGV4dC9taWttb2QvbWlrbW9kX3R5cGVzLmg6CgkqIGV4dC9wdWxzZS9wbHVnaW4uYzoKCSogZXh0L3B1bHNlL3B1bHNlcHJvYmUuYzoKCSogZXh0L3B1bHNlL3B1bHNlcHJvYmUuaDoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmg6CgkqIGV4dC9wdWxzZS9wdWxzZXNyYy5jOgoJKiBleHQvcHVsc2UvcHVsc2VzcmMuaDoKCSogZXh0L3B1bHNlL3B1bHNldXRpbC5jOgoJKiBleHQvcHVsc2UvcHVsc2V1dGlsLmg6CgkqIGV4dC9yYXcxMzk0L2dzdDEzOTQuYzoKCSogZXh0L3JhdzEzOTQvZ3N0MTM5NGNsb2NrLmM6CgkqIGV4dC9yYXcxMzk0L2dzdDEzOTRjbG9jay5oOgoJKiBleHQvcmF3MTM5NC9nc3QxMzk0cHJvYmUuYzoKCSogZXh0L3JhdzEzOTQvZ3N0MTM5NHByb2JlLmg6CgkqIGV4dC9yYXcxMzk0L2dzdGR2MTM5NHNyYy5jOgoJKiBleHQvcmF3MTM5NC9nc3RkdjEzOTRzcmMuaDoKCSogZXh0L3JhdzEzOTQvZ3N0aGR2MTM5NHNyYy5jOgoJKiBleHQvcmF3MTM5NC9nc3RoZHYxMzk0c3JjLmg6CgkqIGV4dC9zaG91dDIvZ3N0c2hvdXQyLmM6CgkqIGV4dC9zaG91dDIvZ3N0c2hvdXQyLmg6CgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwY2xpZW50c2luay5oOgoJKiBleHQvc3BlZXgvZ3N0c3BlZXguYzoKCSogZXh0L3NwZWV4L2dzdHNwZWV4ZGVjLmM6CgkqIGV4dC9zcGVleC9nc3RzcGVleGRlYy5oOgoJKiBleHQvc3BlZXgvZ3N0c3BlZXhlbmMuYzoKCSogZXh0L3NwZWV4L2dzdHNwZWV4ZW5jLmg6CgkqIGV4dC90YWdsaWIvZ3N0YXBldjJtdXguY2M6CgkqIGV4dC90YWdsaWIvZ3N0YXBldjJtdXguaDoKCSogZXh0L3RhZ2xpYi9nc3RpZDN2Mm11eC5jYzoKCSogZXh0L3RhZ2xpYi9nc3RpZDN2Mm11eC5oOgoJKiBleHQvdGFnbGliL2dzdHRhZ2xpYnBsdWdpbi5jOgoJKiBleHQvdnB4L2dzdHZwOGRlYy5jOgoJKiBleHQvdnB4L2dzdHZwOGRlYy5oOgoJKiBleHQvdnB4L2dzdHZwOGVuYy5jOgoJKiBleHQvdnB4L2dzdHZwOGVuYy5oOgoJKiBleHQvdnB4L2dzdHZwOHV0aWxzLmM6CgkqIGV4dC92cHgvZ3N0dnA4dXRpbHMuaDoKCSogZXh0L3ZweC9wbHVnaW4uYzoKCSogZXh0L3dhdnBhY2svZ3N0d2F2cGFjay5jOgoJKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrY29tbW9uLmM6CgkqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tjb21tb24uaDoKCSogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2RlYy5jOgoJKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZGVjLmg6CgkqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tlbmMuYzoKCSogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2VuYy5oOgoJKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrc3RyZWFtcmVhZGVyLmM6CgkqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tzdHJlYW1yZWFkZXIuaDoKCSogZ3N0LWxpYnMvZ3N0L2dldHRleHQuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsaWItY29tcGF0LXByaXZhdGUuaDoKCSogZ3N0LWxpYnMvZ3N0L2dzdC1pMThuLXBsdWdpbi5oOgoJKiBnc3QvYWxwaGEvZ3N0YWxwaGEuYzoKCSogZ3N0L2FscGhhL2dzdGFscGhhLmg6CgkqIGdzdC9hbHBoYS9nc3RhbHBoYWNvbG9yLmM6CgkqIGdzdC9hbHBoYS9nc3RhbHBoYWNvbG9yLmg6CgkqIGdzdC9hcGV0YWcvZ3N0YXBlZGVtdXguYzoKCSogZ3N0L2FwZXRhZy9nc3RhcGVkZW11eC5oOgoJKiBnc3QvYXVkaW9meC9hdWRpb2FtcGxpZnkuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9hbXBsaWZ5Lmg6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvY2hlYmJhbmQuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9jaGViYmFuZC5oOgoJKiBnc3QvYXVkaW9meC9hdWRpb2NoZWJsaW1pdC5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb2NoZWJsaW1pdC5oOgoJKiBnc3QvYXVkaW9meC9hdWRpb2R5bmFtaWMuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9keW5hbWljLmg6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvZWNoby5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb2VjaG8uaDoKCSogZ3N0L2F1ZGlvZngvYXVkaW9maXJmaWx0ZXIuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9maXJmaWx0ZXIuaDoKCSogZ3N0L2F1ZGlvZngvYXVkaW9meC5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb2Z4YmFzZWZpcmZpbHRlci5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb2Z4YmFzZWZpcmZpbHRlci5oOgoJKiBnc3QvYXVkaW9meC9hdWRpb2Z4YmFzZWlpcmZpbHRlci5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb2Z4YmFzZWlpcmZpbHRlci5oOgoJKiBnc3QvYXVkaW9meC9hdWRpb2lpcmZpbHRlci5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb2lpcmZpbHRlci5oOgoJKiBnc3QvYXVkaW9meC9hdWRpb2ludmVydC5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb2ludmVydC5oOgoJKiBnc3QvYXVkaW9meC9hdWRpb2thcmFva2UuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9rYXJhb2tlLmg6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvcGFub3JhbWEuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9wYW5vcmFtYS5oOgoJKiBnc3QvYXVkaW9meC9hdWRpb3dzaW5jYmFuZC5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb3dzaW5jYmFuZC5oOgoJKiBnc3QvYXVkaW9meC9hdWRpb3dzaW5jbGltaXQuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW93c2luY2xpbWl0Lmg6CgkqIGdzdC9hdWRpb2Z4L21hdGhfY29tcGF0Lmg6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWFjcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYWNwYXJzZS5oOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFjM3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWMzcGFyc2UuaDoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhbXJwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFtcnBhcnNlLmg6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZGNhcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RkY2FwYXJzZS5oOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5oOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdG1wZWdhdWRpb3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0bXBlZ2F1ZGlvcGFyc2UuaDoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3R3YXZwYWNrcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3R3YXZwYWNrcGFyc2UuaDoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9wbHVnaW4uYzoKCSogZ3N0L2F1cGFyc2UvZ3N0YXVwYXJzZS5jOgoJKiBnc3QvYXVwYXJzZS9nc3RhdXBhcnNlLmg6CgkqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG9hdWRpb3NpbmsuYzoKCSogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b2F1ZGlvc2luay5oOgoJKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvYXVkaW9zcmMuYzoKCSogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b2F1ZGlvc3JjLmg6CgkqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG9kZXRlY3QuYzoKCSogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b2RldGVjdC5oOgoJKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvdmlkZW9zaW5rLmM6CgkqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG92aWRlb3NpbmsuaDoKCSogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b3ZpZGVvc3JjLmM6CgkqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG92aWRlb3NyYy5oOgoJKiBnc3QvYXZpL2F2aS1pZHMuaDoKCSogZ3N0L2F2aS9nc3RhdmkuYzoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4Lmg6CgkqIGdzdC9hdmkvZ3N0YXZpbXV4LmM6CgkqIGdzdC9hdmkvZ3N0YXZpbXV4Lmg6CgkqIGdzdC9hdmkvZ3N0YXZpc3VidGl0bGUuYzoKCSogZ3N0L2N1dHRlci9nc3RjdXR0ZXIuYzoKCSogZ3N0L2N1dHRlci9nc3RjdXR0ZXIuaDoKCSogZ3N0L2RlYnVndXRpbHMvYnJlYWtteWRhdGEuYzoKCSogZ3N0L2RlYnVndXRpbHMvY3B1cmVwb3J0LmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL2NwdXJlcG9ydC5oOgoJKiBnc3QvZGVidWd1dGlscy9nc3RjYXBzZGVidWcuYzoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0Y2Fwc2RlYnVnLmg6CgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdGRlYnVnLmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdG5hdmlnYXRpb250ZXN0LmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdG5hdmlnYXRpb250ZXN0Lmg6CgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdG5hdnNlZWsuYzoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0bmF2c2Vlay5oOgoJKiBnc3QvZGVidWd1dGlscy9nc3RwdXNoZmlsZXNyYy5jOgoJKiBnc3QvZGVidWd1dGlscy9nc3RwdXNoZmlsZXNyYy5oOgoJKiBnc3QvZGVidWd1dGlscy9nc3R0YWdpbmplY3QuYzoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0dGFnaW5qZWN0Lmg6CgkqIGdzdC9kZWJ1Z3V0aWxzL3Byb2dyZXNzcmVwb3J0LmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL3Byb2dyZXNzcmVwb3J0Lmg6CgkqIGdzdC9kZWJ1Z3V0aWxzL3JuZGJ1ZmZlcnNpemUuYzoKCSogZ3N0L2RlYnVndXRpbHMvdGVzdHBsdWdpbi5jOgoJKiBnc3QvZGVidWd1dGlscy90ZXN0cy5jOgoJKiBnc3QvZGVidWd1dGlscy90ZXN0cy5oOgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuYzoKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmg6CgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZW1ldGhvZC5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2VtZXRob2QuaDoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS9ncmVlZHkuYzoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS9ncmVlZHloLmFzbToKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS9ncmVlZHloLmM6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvZ3JlZWR5aG1hY3Jvcy5oOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL2xpbmVhci5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL2xpbmVhcmJsZW5kLmM6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvcGx1Z2lucy5oOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL3NjYWxlcmJvYi5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL3RvbXNtb2NvbXAuYzoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS90b21zbW9jb21wL1RvbXNNb0NvbXBBbGwuaW5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL3ZmaXIuYzoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS93ZWF2ZS5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL3dlYXZlYmZmLmM6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvd2VhdmV0ZmYuYzoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS94ODYtNjRfbWFjcm9zLmluYzoKCSogZ3N0L2VmZmVjdHYvZ3N0YWdpbmcuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0YWdpbmcuaDoKCSogZ3N0L2VmZmVjdHYvZ3N0ZGljZS5jOgoJKiBnc3QvZWZmZWN0di9nc3RkaWNlLmg6CgkqIGdzdC9lZmZlY3R2L2dzdGVkZ2UuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0ZWRnZS5oOgoJKiBnc3QvZWZmZWN0di9nc3RlZmZlY3R2LmM6CgkqIGdzdC9lZmZlY3R2L2dzdGVmZmVjdHYuaDoKCSogZ3N0L2VmZmVjdHYvZ3N0b3AuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0b3AuaDoKCSogZ3N0L2VmZmVjdHYvZ3N0cXVhcmsuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0cXVhcmsuaDoKCSogZ3N0L2VmZmVjdHYvZ3N0cmFkaW9hYy5jOgoJKiBnc3QvZWZmZWN0di9nc3RyYWRpb2FjLmg6CgkqIGdzdC9lZmZlY3R2L2dzdHJldi5jOgoJKiBnc3QvZWZmZWN0di9nc3RyZXYuaDoKCSogZ3N0L2VmZmVjdHYvZ3N0cmlwcGxlLmM6CgkqIGdzdC9lZmZlY3R2L2dzdHJpcHBsZS5oOgoJKiBnc3QvZWZmZWN0di9nc3RzaGFnYWRlbGljLmM6CgkqIGdzdC9lZmZlY3R2L2dzdHNoYWdhZGVsaWMuaDoKCSogZ3N0L2VmZmVjdHYvZ3N0c3RyZWFrLmM6CgkqIGdzdC9lZmZlY3R2L2dzdHN0cmVhay5oOgoJKiBnc3QvZWZmZWN0di9nc3R2ZXJ0aWdvLmM6CgkqIGdzdC9lZmZlY3R2L2dzdHZlcnRpZ28uaDoKCSogZ3N0L2VmZmVjdHYvZ3N0d2FycC5jOgoJKiBnc3QvZWZmZWN0di9nc3R3YXJwLmg6CgkqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyLmM6CgkqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyLmg6CgkqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyMTBiYW5kcy5jOgoJKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplcjEwYmFuZHMuaDoKCSogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIzYmFuZHMuYzoKCSogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIzYmFuZHMuaDoKCSogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXJuYmFuZHMuYzoKCSogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXJuYmFuZHMuaDoKCSogZ3N0L2Zsdi9hbWZkZWZzLmg6CgkqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzoKCSogZ3N0L2Zsdi9nc3RmbHZkZW11eC5oOgoJKiBnc3QvZmx2L2dzdGZsdm11eC5jOgoJKiBnc3QvZmx2L2dzdGZsdm11eC5oOgoJKiBnc3QvZmx2L2dzdGluZGV4LmM6CgkqIGdzdC9mbHYvZ3N0aW5kZXguaDoKCSogZ3N0L2Zsdi9nc3RtZW1pbmRleC5jOgoJKiBnc3QvZmx4L2ZseF9jb2xvci5jOgoJKiBnc3QvZmx4L2ZseF9jb2xvci5oOgoJKiBnc3QvZmx4L2ZseF9mbXQuaDoKCSogZ3N0L2ZseC9nc3RmbHhkZWMuYzoKCSogZ3N0L2ZseC9nc3RmbHhkZWMuaDoKCSogZ3N0L2dvb20vY29uZmlnX3BhcmFtLmM6CgkqIGdzdC9nb29tL2NvbnZvbHZlX2Z4LmM6CgkqIGdzdC9nb29tL2RyYXdtZXRob2RzLmM6CgkqIGdzdC9nb29tL2RyYXdtZXRob2RzLmg6CgkqIGdzdC9nb29tL2ZpbHRlcnMuYzoKCSogZ3N0L2dvb20vZmlsdGVyc19tbXguczoKCSogZ3N0L2dvb20vZmx5aW5nX3N0YXJzX2Z4LmM6CgkqIGdzdC9nb29tL2dvb20uaDoKCSogZ3N0L2dvb20vZ29vbV9jb25maWcuaDoKCSogZ3N0L2dvb20vZ29vbV9jb25maWdfcGFyYW0uaDoKCSogZ3N0L2dvb20vZ29vbV9jb3JlLmM6CgkqIGdzdC9nb29tL2dvb21fZmlsdGVycy5oOgoJKiBnc3QvZ29vbS9nb29tX2Z4Lmg6CgkqIGdzdC9nb29tL2dvb21fZ3JhcGhpYy5oOgoJKiBnc3QvZ29vbS9nb29tX3BsdWdpbl9pbmZvLmg6CgkqIGdzdC9nb29tL2dvb21fdG9vbHMuYzoKCSogZ3N0L2dvb20vZ29vbV90b29scy5oOgoJKiBnc3QvZ29vbS9nb29tX3R5cGVkZWZzLmg6CgkqIGdzdC9nb29tL2dvb21fdmlzdWFsX2Z4Lmg6CgkqIGdzdC9nb29tL2dyYXBoaWMuYzoKCSogZ3N0L2dvb20vZ3N0Z29vbS5jOgoJKiBnc3QvZ29vbS9nc3Rnb29tLmg6CgkqIGdzdC9nb29tL2xpbmVzLmM6CgkqIGdzdC9nb29tL2xpbmVzLmg6CgkqIGdzdC9nb29tL21hdGh0b29scy5jOgoJKiBnc3QvZ29vbS9tYXRodG9vbHMuaDoKCSogZ3N0L2dvb20vbW90aWZfZ29vbTEuaDoKCSogZ3N0L2dvb20vbW90aWZfZ29vbTIuaDoKCSogZ3N0L2dvb20vcGx1Z2luX2luZm8uYzoKCSogZ3N0L2dvb20vcHBjX2RyYXdpbmdzLmg6CgkqIGdzdC9nb29tL3BwY19kcmF3aW5ncy5zOgoJKiBnc3QvZ29vbS9wcGNfem9vbV91bHRpbWF0ZS5oOgoJKiBnc3QvZ29vbS9wcGNfem9vbV91bHRpbWF0ZS5zOgoJKiBnc3QvZ29vbS9zb3VuZF90ZXN0ZXIuYzoKCSogZ3N0L2dvb20vc291bmRfdGVzdGVyLmg6CgkqIGdzdC9nb29tL3N1cmYzZC5jOgoJKiBnc3QvZ29vbS9zdXJmM2QuaDoKCSogZ3N0L2dvb20vdGVudGFjbGUzZC5jOgoJKiBnc3QvZ29vbS90ZW50YWNsZTNkLmg6CgkqIGdzdC9nb29tL3YzZC5jOgoJKiBnc3QvZ29vbS92M2QuaDoKCSogZ3N0L2dvb20yazEvZ3N0Z29vbS5jOgoJKiBnc3QvZ29vbTJrMS9nc3Rnb29tLmg6CgkqIGdzdC9pY3lkZW11eC9nc3RpY3lkZW11eC5jOgoJKiBnc3QvaWN5ZGVtdXgvZ3N0aWN5ZGVtdXguaDoKCSogZ3N0L2lkM2RlbXV4L2dzdGlkM2RlbXV4LmM6CgkqIGdzdC9pZDNkZW11eC9nc3RpZDNkZW11eC5oOgoJKiBnc3QvaW1hZ2VmcmVlemUvZ3N0aW1hZ2VmcmVlemUuYzoKCSogZ3N0L2ltYWdlZnJlZXplL2dzdGltYWdlZnJlZXplLmg6CgkqIGdzdC9pbnRlcmxlYXZlL2RlaW50ZXJsZWF2ZS5jOgoJKiBnc3QvaW50ZXJsZWF2ZS9kZWludGVybGVhdmUuaDoKCSogZ3N0L2ludGVybGVhdmUvaW50ZXJsZWF2ZS5jOgoJKiBnc3QvaW50ZXJsZWF2ZS9pbnRlcmxlYXZlLmg6CgkqIGdzdC9pbnRlcmxlYXZlL3BsdWdpbi5jOgoJKiBnc3QvaW50ZXJsZWF2ZS9wbHVnaW4uaDoKCSogZ3N0L2lzb21wNC9hdG9tcy5jOgoJKiBnc3QvaXNvbXA0L2F0b21zLmg6CgkqIGdzdC9pc29tcDQvYXRvbXNyZWNvdmVyeS5jOgoJKiBnc3QvaXNvbXA0L2F0b21zcmVjb3ZlcnkuaDoKCSogZ3N0L2lzb21wNC9kZXNjcmlwdG9ycy5jOgoJKiBnc3QvaXNvbXA0L2Rlc2NyaXB0b3JzLmg6CgkqIGdzdC9pc29tcDQvZm91cmNjLmg6CgkqIGdzdC9pc29tcDQvZnR5cGNjLmg6CgkqIGdzdC9pc29tcDQvZ3N0cXRtb292cmVjb3Zlci5jOgoJKiBnc3QvaXNvbXA0L2dzdHF0bW9vdnJlY292ZXIuaDoKCSogZ3N0L2lzb21wNC9nc3RxdG11eC1kb2MuYzoKCSogZ3N0L2lzb21wNC9nc3RxdG11eC1kb2MuaDoKCSogZ3N0L2lzb21wNC9nc3RxdG11eC5jOgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4Lmg6CgkqIGdzdC9pc29tcDQvZ3N0cXRtdXhtYXAuYzoKCSogZ3N0L2lzb21wNC9nc3RxdG11eG1hcC5oOgoJKiBnc3QvaXNvbXA0L2dzdHJ0cHhxdGRlcGF5LmM6CgkqIGdzdC9pc29tcDQvZ3N0cnRweHF0ZGVwYXkuaDoKCSogZ3N0L2lzb21wNC9pc29tcDQtcGx1Z2luLmM6CgkqIGdzdC9pc29tcDQvcHJvcGVydGllcy5jOgoJKiBnc3QvaXNvbXA0L3Byb3BlcnRpZXMuaDoKCSogZ3N0L2lzb21wNC9xdGF0b21wYXJzZXIuaDoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkqIGdzdC9pc29tcDQvcXRkZW11eC5oOgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXhfZHVtcC5jOgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXhfZHVtcC5oOgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXhfZm91cmNjLmg6CgkqIGdzdC9pc29tcDQvcXRkZW11eF9sYW5nLmM6CgkqIGdzdC9pc29tcDQvcXRkZW11eF9sYW5nLmg6CgkqIGdzdC9pc29tcDQvcXRkZW11eF90eXBlcy5jOgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXhfdHlwZXMuaDoKCSogZ3N0L2lzb21wNC9xdHBhbGV0dGUuaDoKCSogZ3N0L2xhdy9hbGF3LWRlY29kZS5jOgoJKiBnc3QvbGF3L2FsYXctZGVjb2RlLmg6CgkqIGdzdC9sYXcvYWxhdy1lbmNvZGUuYzoKCSogZ3N0L2xhdy9hbGF3LWVuY29kZS5oOgoJKiBnc3QvbGF3L2FsYXcuYzoKCSogZ3N0L2xhdy9tdWxhdy1kZWNvZGUuYzoKCSogZ3N0L2xhdy9tdWxhdy1kZWNvZGUuaDoKCSogZ3N0L2xhdy9tdWxhdy1lbmNvZGUuYzoKCSogZ3N0L2xhdy9tdWxhdy1lbmNvZGUuaDoKCSogZ3N0L2xhdy9tdWxhdy5jOgoJKiBnc3QvbGV2ZWwvZ3N0bGV2ZWwuYzoKCSogZ3N0L2xldmVsL2dzdGxldmVsLmg6CgkqIGdzdC9tYXRyb3NrYS9lYm1sLWlkcy5oOgoJKiBnc3QvbWF0cm9za2EvZWJtbC1yZWFkLmM6CgkqIGdzdC9tYXRyb3NrYS9lYm1sLXJlYWQuaDoKCSogZ3N0L21hdHJvc2thL2VibWwtd3JpdGUuYzoKCSogZ3N0L21hdHJvc2thL2VibWwtd3JpdGUuaDoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5oOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtaWRzLmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1pZHMuaDoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4Lmg6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1wYXJzZS5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcGFyc2UuaDoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXJlYWQtY29tbW9uLmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1yZWFkLWNvbW1vbi5oOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EuYzoKCSogZ3N0L21hdHJvc2thL3dlYm0tbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS93ZWJtLW11eC5oOgoJKiBnc3QvbW9ub3Njb3BlL2NvbnZvbHZlLmM6CgkqIGdzdC9tb25vc2NvcGUvY29udm9sdmUuaDoKCSogZ3N0L21vbm9zY29wZS9nc3Rtb25vc2NvcGUuYzoKCSogZ3N0L21vbm9zY29wZS9nc3Rtb25vc2NvcGUuaDoKCSogZ3N0L211bHRpZmlsZS9nc3RtdWx0aWZpbGUuYzoKCSogZ3N0L211bHRpZmlsZS9nc3RtdWx0aWZpbGVzaW5rLmM6CgkqIGdzdC9tdWx0aWZpbGUvZ3N0bXVsdGlmaWxlc2luay5oOgoJKiBnc3QvbXVsdGlmaWxlL2dzdG11bHRpZmlsZXNyYy5jOgoJKiBnc3QvbXVsdGlmaWxlL2dzdG11bHRpZmlsZXNyYy5oOgoJKiBnc3QvbXVsdGlmaWxlL2dzdHNwbGl0ZmlsZXNyYy5jOgoJKiBnc3QvbXVsdGlmaWxlL2dzdHNwbGl0ZmlsZXNyYy5oOgoJKiBnc3QvbXVsdGlmaWxlL3BhdHRlcm5zcGVjLmM6CgkqIGdzdC9tdWx0aWZpbGUvcGF0dGVybnNwZWMuaDoKCSogZ3N0L211bHRpcGFydC9tdWx0aXBhcnQuYzoKCSogZ3N0L211bHRpcGFydC9tdWx0aXBhcnRkZW11eC5jOgoJKiBnc3QvbXVsdGlwYXJ0L211bHRpcGFydGRlbXV4Lmg6CgkqIGdzdC9tdWx0aXBhcnQvbXVsdGlwYXJ0bXV4LmM6CgkqIGdzdC9tdWx0aXBhcnQvbXVsdGlwYXJ0bXV4Lmg6CgkqIGdzdC9ydHAvZm52MWhhc2guYzoKCSogZ3N0L3J0cC9mbnYxaGFzaC5oOgoJKiBnc3QvcnRwL2dzdGFzdGVyaXNraDI2My5jOgoJKiBnc3QvcnRwL2dzdGFzdGVyaXNraDI2My5oOgoJKiBnc3QvcnRwL2dzdHJ0cC5jOgoJKiBnc3QvcnRwL2dzdHJ0cEwxNmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwTDE2ZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBMMTZwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBMMTZwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBhYzNkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGFjM2RlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwYWMzcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwYWMzcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwYW1yZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBhbXJkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGFtcnBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGFtcnBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGJ2ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBidmRlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwYnZwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBidnBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGNlbHRkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGNlbHRwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBjaGFubmVscy5jOgoJKiBnc3QvcnRwL2dzdHJ0cGNoYW5uZWxzLmg6CgkqIGdzdC9ydHAvZ3N0cnRwZHZkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGR2ZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBkdnBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGR2cGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwZzcyMmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZzcyMmRlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwZzcyMnBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjJwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBnNzIzZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnNzIzZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBnNzIzcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZzcyM3BheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjZkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjZwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnNzI5ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnNzI5ZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBnNzI5cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZzcyOXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGdzbWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZ3NtZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBnc21wYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnc21wYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBnc3RkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGdzdGRlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwZ3N0cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZ3N0cGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2M2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2M2RlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2M3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBoMjYzcGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2M3BkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNwcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2M3BwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBoMjY0ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjY0ZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBoMjY0cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2NHBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGlsYmNkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGlsYmNkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGlsYmNwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBpbGJjcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwajJrZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBqMmtkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGoya3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGoya3BheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGpwZWdkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGpwZWdkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGpwZWdwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBqcGVncGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwbXAxc2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXAxc2RlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwbXAydGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXAydGRlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwbXAydHBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wMnRwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBtcDRhZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDRhZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBtcDRhcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXA0YXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cG1wNGdkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wNGdkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cG1wNGdwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDRncGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwbXA0dmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXA0dmRlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwbXA0dnBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wNHZwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBtcGFkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wYWRlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwbXBhcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXBhcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwbXBhcm9idXN0ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcGFyb2J1c3RkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cG1wdmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXB2ZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBtcHZwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcHZwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBwY21hZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBwY21hcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwcGNtdWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwcGNtdXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHFjZWxwZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBxY2VscGRlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwcWRtZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBxZG1kZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cHNpcmVuZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBzaXJlbmRlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwc2lyZW5wYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBzaXJlbnBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cHNwZWV4ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBzcGVleHBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHN2M3ZkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHN2M3ZkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cHRoZW9yYWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwdGhlb3JhZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHB0aGVvcmFwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHB0aGVvcmFwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHB2b3JiaXNkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHZvcmJpc2RlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwdm9yYmlzcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwdm9yYmlzcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwdnJhd2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwdnJhd2RlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwdnJhd3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHZyYXdwYXkuaDoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5oOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmg6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cG1hbmFnZXIuYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwcHRkZW11eC5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBwdGRlbXV4Lmg6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5oOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzc3JjZGVtdXguYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc3NyY2RlbXV4Lmg6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cGppdHRlcmJ1ZmZlci5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBqaXR0ZXJidWZmZXIuaDoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmg6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuaDoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc3RhdHMuYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc3RhdHMuaDoKCSogZ3N0L3J0c3AvZ3N0cnRwZGVjLmM6CgkqIGdzdC9ydHNwL2dzdHJ0cGRlYy5oOgoJKiBnc3QvcnRzcC9nc3RydHNwLmM6CgkqIGdzdC9ydHNwL2dzdHJ0c3AuaDoKCSogZ3N0L3J0c3AvZ3N0cnRzcGV4dC5jOgoJKiBnc3QvcnRzcC9nc3RydHNwZXh0Lmg6CgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5oOgoJKiBnc3Qvc2hhcGV3aXBlL2dzdHNoYXBld2lwZS5jOgoJKiBnc3Qvc2hhcGV3aXBlL2dzdHNoYXBld2lwZS5oOgoJKiBnc3Qvc21wdGUvYmFyYm94d2lwZXMuYzoKCSogZ3N0L3NtcHRlL2dzdG1hc2suYzoKCSogZ3N0L3NtcHRlL2dzdG1hc2suaDoKCSogZ3N0L3NtcHRlL2dzdHNtcHRlLmM6CgkqIGdzdC9zbXB0ZS9nc3RzbXB0ZS5oOgoJKiBnc3Qvc21wdGUvZ3N0c21wdGVhbHBoYS5jOgoJKiBnc3Qvc21wdGUvZ3N0c21wdGVhbHBoYS5oOgoJKiBnc3Qvc21wdGUvcGFpbnQuYzoKCSogZ3N0L3NtcHRlL3BhaW50Lmg6CgkqIGdzdC9zbXB0ZS9wbHVnaW4uYzoKCSogZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmM6CgkqIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5oOgoJKiBnc3QvdWRwL2dzdGR5bnVkcHNpbmsuYzoKCSogZ3N0L3VkcC9nc3RkeW51ZHBzaW5rLmg6CgkqIGdzdC91ZHAvZ3N0bXVsdGl1ZHBzaW5rLmM6CgkqIGdzdC91ZHAvZ3N0bXVsdGl1ZHBzaW5rLmg6CgkqIGdzdC91ZHAvZ3N0dWRwLmM6CgkqIGdzdC91ZHAvZ3N0dWRwLmg6CgkqIGdzdC91ZHAvZ3N0dWRwbmV0dXRpbHMuYzoKCSogZ3N0L3VkcC9nc3R1ZHBuZXR1dGlscy5oOgoJKiBnc3QvdWRwL2dzdHVkcHNpbmsuYzoKCSogZ3N0L3VkcC9nc3R1ZHBzaW5rLmg6CgkqIGdzdC91ZHAvZ3N0dWRwc3JjLmM6CgkqIGdzdC91ZHAvZ3N0dWRwc3JjLmg6CgkqIGdzdC92aWRlb2JveC9nc3R2aWRlb2JveC5jOgoJKiBnc3QvdmlkZW9ib3gvZ3N0dmlkZW9ib3guaDoKCSogZ3N0L3ZpZGVvY3JvcC9nc3Rhc3BlY3RyYXRpb2Nyb3AuYzoKCSogZ3N0L3ZpZGVvY3JvcC9nc3Rhc3BlY3RyYXRpb2Nyb3AuaDoKCSogZ3N0L3ZpZGVvY3JvcC9nc3R2aWRlb2Nyb3AuYzoKCSogZ3N0L3ZpZGVvY3JvcC9nc3R2aWRlb2Nyb3AuaDoKCSogZ3N0L3ZpZGVvZmlsdGVyL2dzdGdhbW1hLmM6CgkqIGdzdC92aWRlb2ZpbHRlci9nc3RnYW1tYS5oOgoJKiBnc3QvdmlkZW9maWx0ZXIvZ3N0dmlkZW9iYWxhbmNlLmM6CgkqIGdzdC92aWRlb2ZpbHRlci9nc3R2aWRlb2JhbGFuY2UuaDoKCSogZ3N0L3ZpZGVvZmlsdGVyL2dzdHZpZGVvZmxpcC5jOgoJKiBnc3QvdmlkZW9maWx0ZXIvZ3N0dmlkZW9mbGlwLmg6CgkqIGdzdC92aWRlb2ZpbHRlci9nc3R2aWRlb21lZGlhbi5jOgoJKiBnc3QvdmlkZW9maWx0ZXIvZ3N0dmlkZW9tZWRpYW4uaDoKCSogZ3N0L3ZpZGVvZmlsdGVyL2dzdHZpZGVvdGVtcGxhdGUuYzoKCSogZ3N0L3ZpZGVvZmlsdGVyL3BsdWdpbi5jOgoJKiBnc3QvdmlkZW9taXhlci9ibGVuZC5jOgoJKiBnc3QvdmlkZW9taXhlci9ibGVuZC5oOgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyMi5jOgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyMi5oOgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyMnBhZC5oOgoJKiBnc3Qvd2F2ZW5jL2dzdHdhdmVuYy5jOgoJKiBnc3Qvd2F2ZW5jL2dzdHdhdmVuYy5oOgoJKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzoKCSogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmg6CgkqIGdzdC95NG0vZ3N0eTRtZW5jb2RlLmM6CgkqIGdzdC95NG0vZ3N0eTRtZW5jb2RlLmg6CgkqIHN5cy9kaXJlY3Rzb3VuZC9nc3RkaXJlY3Rzb3VuZHBsdWdpbi5jOgoJKiBzeXMvZGlyZWN0c291bmQvZ3N0ZGlyZWN0c291bmRzaW5rLmM6CgkqIHN5cy9kaXJlY3Rzb3VuZC9nc3RkaXJlY3Rzb3VuZHNpbmsuaDoKCSogc3lzL29zcy9jb21tb24uaDoKCSogc3lzL29zcy9nc3Rvc3NhdWRpby5jOgoJKiBzeXMvb3NzL2dzdG9zc2RtYWJ1ZmZlci5jOgoJKiBzeXMvb3NzL2dzdG9zc2RtYWJ1ZmZlci5oOgoJKiBzeXMvb3NzL2dzdG9zc2hlbHBlci5jOgoJKiBzeXMvb3NzL2dzdG9zc2hlbHBlci5oOgoJKiBzeXMvb3NzL2dzdG9zc3NpbmsuYzoKCSogc3lzL29zcy9nc3Rvc3NzaW5rLmg6CgkqIHN5cy9vc3MvZ3N0b3Nzc3JjLmM6CgkqIHN5cy9vc3MvZ3N0b3Nzc3JjLmg6CgkqIHN5cy9vc3M0L29zczQtYXVkaW8uYzoKCSogc3lzL29zczQvb3NzNC1hdWRpby5oOgoJKiBzeXMvb3NzNC9vc3M0LXByb3BlcnR5LXByb2JlLmM6CgkqIHN5cy9vc3M0L29zczQtcHJvcGVydHktcHJvYmUuaDoKCSogc3lzL29zczQvb3NzNC1zaW5rLmM6CgkqIHN5cy9vc3M0L29zczQtc2luay5oOgoJKiBzeXMvb3NzNC9vc3M0LXNvdXJjZS5jOgoJKiBzeXMvb3NzNC9vc3M0LXNvdXJjZS5oOgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4YXVkaW8uYzoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGF1ZGlvZWxlbWVudC5jOgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4YXVkaW9lbGVtZW50Lmg6CgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hhdWRpb3NpbmsuYzoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGF1ZGlvc2luay5oOgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4YXVkaW9zcmMuYzoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGF1ZGlvc3JjLmg6CgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hjb3JlYXVkaW8uaDoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeHJpbmdidWZmZXIuYzoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeHJpbmdidWZmZXIuaDoKCSogc3lzL29zeHZpZGVvL2NvY29hd2luZG93Lmg6CgkqIHN5cy9vc3h2aWRlby9jb2NvYXdpbmRvdy5tOgoJKiBzeXMvb3N4dmlkZW8vb3N4dmlkZW9zaW5rLmg6CgkqIHN5cy9vc3h2aWRlby9vc3h2aWRlb3NpbmsubToKCSogc3lzL3N1bmF1ZGlvL2dzdHN1bmF1ZGlvLmM6CgkqIHN5cy9zdW5hdWRpby9nc3RzdW5hdWRpb21peGVyLmM6CgkqIHN5cy9zdW5hdWRpby9nc3RzdW5hdWRpb21peGVyLmg6CgkqIHN5cy9zdW5hdWRpby9nc3RzdW5hdWRpb21peGVyY3RybC5jOgoJKiBzeXMvc3VuYXVkaW8vZ3N0c3VuYXVkaW9taXhlcmN0cmwuaDoKCSogc3lzL3N1bmF1ZGlvL2dzdHN1bmF1ZGlvbWl4ZXJvcHRpb25zLmM6CgkqIHN5cy9zdW5hdWRpby9nc3RzdW5hdWRpb21peGVyb3B0aW9ucy5oOgoJKiBzeXMvc3VuYXVkaW8vZ3N0c3VuYXVkaW9taXhlcnRyYWNrLmM6CgkqIHN5cy9zdW5hdWRpby9nc3RzdW5hdWRpb21peGVydHJhY2suaDoKCSogc3lzL3N1bmF1ZGlvL2dzdHN1bmF1ZGlvc2luay5jOgoJKiBzeXMvc3VuYXVkaW8vZ3N0c3VuYXVkaW9zaW5rLmg6CgkqIHN5cy9zdW5hdWRpby9nc3RzdW5hdWRpb3NyYy5jOgoJKiBzeXMvc3VuYXVkaW8vZ3N0c3VuYXVkaW9zcmMuaDoKCSogc3lzL3Y0bDIvZ3N0djRsMi5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5oOgoJKiBzeXMvdjRsMi9nc3R2NGwyY29sb3JiYWxhbmNlLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJjb2xvcmJhbGFuY2UuaDoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0Lmg6CgkqIHN5cy92NGwyL2dzdHY0bDJyYWRpby5jOgoJKiBzeXMvdjRsMi9nc3R2NGwycmFkaW8uaDoKCSogc3lzL3Y0bDIvZ3N0djRsMnNpbmsuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnNpbmsuaDoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmg6CgkqIHN5cy92NGwyL2dzdHY0bDJ0dW5lci5jOgoJKiBzeXMvdjRsMi9nc3R2NGwydHVuZXIuaDoKCSogc3lzL3Y0bDIvZ3N0djRsMnZpZGVvb3ZlcmxheS5jOgoJKiBzeXMvdjRsMi9nc3R2NGwydmlkZW9vdmVybGF5Lmg6CgkqIHN5cy92NGwyL2dzdHY0bDJ2aWRvcmllbnQuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnZpZG9yaWVudC5oOgoJKiBzeXMvdjRsMi90dW5lci5jOgoJKiBzeXMvdjRsMi90dW5lci5oOgoJKiBzeXMvdjRsMi90dW5lcmNoYW5uZWwuYzoKCSogc3lzL3Y0bDIvdHVuZXJjaGFubmVsLmg6CgkqIHN5cy92NGwyL3R1bmVybm9ybS5jOgoJKiBzeXMvdjRsMi90dW5lcm5vcm0uaDoKCSogc3lzL3Y0bDIvdjRsMl9jYWxscy5jOgoJKiBzeXMvdjRsMi92NGwyX2NhbGxzLmg6CgkqIHN5cy93YXZlZm9ybS9nc3R3YXZlZm9ybXBsdWdpbi5jOgoJKiBzeXMvd2F2ZWZvcm0vZ3N0d2F2ZWZvcm1zaW5rLmM6CgkqIHN5cy93YXZlZm9ybS9nc3R3YXZlZm9ybXNpbmsuaDoKCSogc3lzL3hpbWFnZS9nc3R4aW1hZ2VzcmMuYzoKCSogc3lzL3hpbWFnZS9nc3R4aW1hZ2VzcmMuaDoKCSogc3lzL3hpbWFnZS94aW1hZ2V1dGlsLmM6CgkqIHN5cy94aW1hZ2UveGltYWdldXRpbC5oOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hYWNwYXJzZS5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hYzNwYXJzZS5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hbHBoYWNvbG9yLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2FtcnBhcnNlLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2FwZXYybXV4LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2FzcGVjdHJhdGlvY3JvcC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdWRpb2FtcGxpZnkuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXVkaW9keW5hbWljLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvZWNoby5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdWRpb2ludmVydC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdWRpb3Bhbm9yYW1hLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1dG9kZXRlY3QuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXZpbXV4LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F2aXN1YnRpdGxlLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2NhcHNzZXR0ZXIuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZGVpbnRlcmxhY2UuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZGVpbnRlcmxlYXZlLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2ZsYWNwYXJzZS5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9mbHZkZW11eC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9mbHZtdXguYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZ2RrcGl4YnVmc2luay5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9pY3lkZW11eC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9pZDNkZW11eC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9pZDN2Mm11eC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9pbWFnZWZyZWV6ZS5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9pbnRlcmxlYXZlLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2pwZWdkZWMuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvanBlZ2VuYy5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9sZXZlbC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9tYXRyb3NrYW11eC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9tYXRyb3NrYXBhcnNlLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL21wZWdhdWRpb3BhcnNlLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL211bHRpZmlsZS5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9wYXJzZXIuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcGFyc2VyLmg6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3F0bXV4LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cC1wYXlsb2FkaW5nLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cGJpbi5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHBiaW5fYnVmZmVyX2xpc3QuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwaml0dGVyYnVmZmVyLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3NoYXBld2lwZS5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9zb3VwaHR0cHNyYy5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9zcGVjdHJ1bS5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9zdW5hdWRpby5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy91ZHBzaW5rLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3VkcHNyYy5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy92aWRlb2Nyb3AuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvdmlkZW9maWx0ZXIuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvdnA4ZGVjLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3ZwOGVuYy5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy93YXZwYWNrZGVjLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3dhdnBhY2tlbmMuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvd2F2cGFja3BhcnNlLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3k0bWVuYy5jOgoJKiB0ZXN0cy9jaGVjay9nZW5lcmljL3N0YXRlcy5jOgoJKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvZWZmZWN0di5jOgoJKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvZmxhY2RlYy5jOgoJKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvc2ltcGxlLWxhdW5jaC1saW5lcy5jOgoJKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvdGFnc2NoZWNraW5nLmM6CgkqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy93YXZlbmMuYzoKCSogdGVzdHMvY2hlY2svcGlwZWxpbmVzL3dhdnBhY2suYzoKCSogdGVzdHMvZXhhbXBsZXMvYXVkaW9meC9maXJmaWx0ZXItZXhhbXBsZS5jOgoJKiB0ZXN0cy9leGFtcGxlcy9hdWRpb2Z4L2lpcmZpbHRlci1leGFtcGxlLmM6CgkqIHRlc3RzL2V4YW1wbGVzL2NhaXJvL2NhaXJvX292ZXJsYXkuYzoKCSogdGVzdHMvZXhhbXBsZXMvbGV2ZWwvbGV2ZWwtZXhhbXBsZS5jOgoJKiB0ZXN0cy9leGFtcGxlcy9wdWxzZS9wdWxzZS5jOgoJKiB0ZXN0cy9leGFtcGxlcy9ydHAvY2xpZW50LVBDTUEuYzoKCSogdGVzdHMvZXhhbXBsZXMvcnRwL3NlcnZlci1hbHNhc3JjLVBDTUEuYzoKCSogdGVzdHMvZXhhbXBsZXMvc2hhcGV3aXBlL3NoYXBld2lwZS1leGFtcGxlLmM6CgkqIHRlc3RzL2V4YW1wbGVzL3NwZWN0cnVtL2RlbW8tYXVkaW90ZXN0LmM6CgkqIHRlc3RzL2V4YW1wbGVzL3NwZWN0cnVtL2RlbW8tb3Nzc3JjLmM6CgkqIHRlc3RzL2V4YW1wbGVzL3NwZWN0cnVtL3NwZWN0cnVtLWV4YW1wbGUuYzoKCSogdGVzdHMvZXhhbXBsZXMvdjRsMi9jYW1jdHJsLmM6CgkqIHRlc3RzL2ljbGVzL2VxdWFsaXplci10ZXN0LmM6CgkqIHRlc3RzL2ljbGVzL2dka3BpeGJ1ZnNpbmstdGVzdC5jOgoJKiB0ZXN0cy9pY2xlcy90ZXN0LW9zczQuYzoKCSogdGVzdHMvaWNsZXMvdjRsMnNyYy10ZXN0LmM6CgkqIHRlc3RzL2ljbGVzL3ZpZGVvYm94LXRlc3QuYzoKCSogdGVzdHMvaWNsZXMvdmlkZW9jcm9wLXRlc3QuYzoKCSogdGVzdHMvaWNsZXMvdmlkZW9jcm9wMi10ZXN0LmM6CgkqIHRlc3RzL2ljbGVzL3hpbWFnZXNyYy10ZXN0LmM6CgkgIEZpeCBGU0YgYWRkcmVzcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njg3NTIwCgoyMDEyLTExLTAyIDE4OjQ3OjI2ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHB2cmF3ZGVwYXkuYzoKCSAgdnJhd2RlcGF5OiBkb24ndCBhY2Nlc3MgcnRwIGJ1ZmZlciBhZnRlciB1bm1hcAoJICBSZWFkIHRoZSBtYXJrZXIgYml0IGJlZm9yZSB3ZSB1bm1hcCB0aGUgcnRwIHBhY2tldC4KCjIwMTItMTEtMDIgMDk6MzQ6MjUgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZweC9nc3R2cDhkZWMuYzoKCSAgdnA4ZGVjOiBJbW1lZGlhdGVseSByZXR1cm4gaWYgb3BlbmluZyB0aGUgZGVjb2RlciBmYWlsZWQKCSAgSW5zdGVhZCBvZiBpZ25vcmluZyBhbnkgZXJyb3JzLgoKMjAxMi0xMS0wMSAyMjowMjozOSArMDEwMCAgRGViYXJzaGkgUmF5IDxyaXNoaUBnbnUub3JnPgoKCSogZXh0L3ZweC9nc3R2cDhkZWMuYzoKCSAgdnA4ZGVjOiBTaG9ydCBjaXJjdWl0IGdzdF92cDhfZGVjX2hhbmRsZV9mcmFtZSBpZiBrZXlmcmFtZSBpcyBtaXNzaW5nCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODczNzYKCjIwMTItMTEtMDIgMTA6NTM6NTcgKzEzMDAgIERvdWdsYXMgQmFnbmFsbCA8ZG91Z2xhc0BwYXJhZGlzZS5uZXQubno+CgoJKiBnc3QvdmlkZW9taXhlci9ibGVuZC5jOgoJICB2aWRlb2NvbnZlcnQ6IENvbXBhcmUgeSBvZmZzZXQgd2l0aCBoZWlnaHQsIG5vdCB3aWR0aCwgd2hlbiB0ZXN0aW5nIGZvciBvdmVybGFwCgkgIFRoaXMgY291bGQgaGF2ZSBwcmV2ZW50ZWQgaW1hZ2VzIHNob3dpbmcgdGhhdCBzaG91bGQgaGF2ZSB3aGVuIHRoZQoJICBzb3VyY2UgaGVpZ2h0IGlzIGdyZWF0ZXIgdGhhbiBpdHMgd2lkdGguCgkgIFdoZW4gd2lkdGggZXhjZWVkcyBoZWlnaHQsIGFzIGlzIGNvbW1vbiwgaXQgcHJvYmFibHkgb25seSBjYXVzZWQgYQoJICBtaW5pc2N1bGUgYW1vdW50IG9mIHVubmVjZXNzYXJ5IHdvcmsuICBJIGhhdmVuJ3QgdGVzdGVkLgoKMjAxMi0xMS0wMSAyMTowOTo1NiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGdzdC9ydHAvZ3N0cnRwdnA4ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHB2cDhkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cHZwOHBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHZwOHBheS5oOgoJICBydHB2cDg6IGluY2x1ZGUgY29uZmlnLmggYW5kIG1pbm9yIHN0eWxlIGZpeGVzCgoyMDEyLTExLTAxIDIwOjEzOjQzICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZ3N0L3J0cC9NYWtlZmlsZS5hbToKCSAgcnRwOiBmaXggdGFicy9zcGFjZSBtZXNzIGluIE1ha2VmaWxlLmFtCgoyMDEyLTExLTAxIDIwOjA1OjQ5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZ3N0L3J0cC9NYWtlZmlsZS5hbToKCSogZ3N0L3J0cC9nc3RydHAuYzoKCSogZ3N0L3J0cC9nc3RydHB2cDguYzoKCSAgcnRwOiBtb3ZlIFZQOCBwYXlsb2FkZXIgYW5kIGRlcGF5bG9hZGVyIGZyb20gLWJhZAoJICBTcGVjIGlzIHN0aWxsIGluIGRyYWZ0IHN0YXRlLCBidXQgc2hvdWxkIGhvcGVmdWxseSBub3QKCSAgY2hhbmdlIG11Y2ggbm93LiBCZXNpZGVzLCB3ZSBhbm5vdW5jZSB0aGluZ3MgYXMgVlA4LURSQUZULUlFVEYtMDEKCSAgaW4gb3VyIGNhcHMsIHNvIGV2ZW4gaWYgdGhpbmdzIGNoYW5nZSBpbiBpbmNvbXBhdGlibGUgd2F5cyBpdAoJICBzaG91bGQgbm90IGJyZWFrIGFueXRoaW5nLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njg3MjYzCgoyMDEyLTEwLTE3IDE3OjM0OjI2ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwdnA4ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHB2cDhwYXkuYzoKCSAgcnRwdnA4OiB1c2UgZ3N0X2VsZW1lbnRfY2xhc3Nfc2V0X3N0YXRpY19tZXRhZGF0YSgpCgkgIHdoZXJlIHBvc3NpYmxlLiBBdm9pZHMgc29tZSBzdHJpbmcgY29waWVzLiBBbHNvIHJlLWluZGVudAoJICBzb21lIHN0dWZmLiBBbHNvIHNvbWUgaW5kZW50IGZpeGVzIGhlcmUgYW5kIHRoZXJlLgoKMjAxMi0wOS0xNCAxNzowODo0OSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cHZwOHBheS5jOgoJICBydHB2cDg6IHJlcGxhY2UgZ3N0X2VsZW1lbnRfY2xhc3Nfc2V0X2RldGFpbHNfc2ltcGxlIHdpdGggZ3N0X2VsZW1lbnRfY2xhc3Nfc2V0X21ldGFkYXRhCgoyMDEyLTA0LTA1IDE4OjAyOjU2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwdnA4LmM6CgkgIHJ0cHZwODogdXBkYXRlIGZvciBHU1RfUExVR0lOX0RFRklORSgpIEFQSSBjaGFuZ2VzCgoyMDEyLTAzLTI4IDEyOjQ5OjU0ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHB2cDhwYXkuYzoKCSAgcnRwdnA4OiB1cGRhdGUgZm9yIGJ1ZmZlciBjaGFuZ2VzCgoyMDEyLTAzLTAxIDE0OjU5OjU1IC0wMzAwICBEYW5pbG8gQ2VzYXIgTGVtZXMgZGUgUGF1bGEgPGRhbmlsby5jZXNhckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cHZwOGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwdnA4cGF5LmM6CgkgIHJ0cHZwODsgZml4IGNvbXBhdGliaWxpdHkgd2l0aCB0aGUgdGhpcmQgZHJhZnQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY3MTA3MwoKMjAxMi0wMS0yNSAxNjoyMDo0MSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cHZwOHBheS5jOgoJICBydHB2cDg6IHBvcnQgc29tZSBtb3JlIHRvIG5ldyBtZW1vcnkgQVBJCgoyMDEyLTAxLTI1IDEwOjQ1OjUxICswMTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3J0cC9nc3RydHB2cDhkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHZwOGRlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwdnA4cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwdnA4cGF5Lmg6CgkgIHJ0cHZwODogcG9ydCB0byAwLjExCgoyMDExLTEwLTAzIDEyOjA2OjI3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwdnA4cGF5LmM6CgkgIHJ0cHZwOHBheTogRml4IHR5cG8KCjIwMTEtMDktMjMgMjI6NTg6MzAgKzAwMDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cHZwOGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwdnA4cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwdnA4cGF5Lmg6CgkgIHJ0cHZwODogVXBkYXRlIHRoZSBwYXkvZGVwYXkgdG8gdGhlIGlldGYtZHJhZnQtMDEgc3BlYwoKMjAxMS0wOS0xMCAxMTozMToyMCArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2Rib29saHVmZi5jOgoJKiBnc3QvcnRwL2Rib29saHVmZi5oOgoJKiBnc3QvcnRwL2dzdHJ0cHZwOHBheS5jOgoJICBydHB2cDg6IGZpeCBiaXRzdHJlYW0gcGFyc2luZyB1c2luZyB0aGUgd3Jvbmcga2luZCBvZiBiaXRyZWFkZXIKCSAgVlA4IHVzZXMgYSBwcm9iYWJpbGlzdGljIGJvb2wgY29kZXIsIG5vdCBhIHN0cmFpZ2h0IGJpdCBjb2Rlci4KCSAgVGhpcyBmaXhlcyBwYXJzaW5nIHdoZW4gZXJyb3ItcmVzaWxpZW50IGlzIHNldC4KCSAgVGhpcyBjb21taXQgaW5jbHVkZXMgYSBjb3B5IG9mIGxpYnZweCdzIGJvb2wgY29kZXIsIEJTRCBsaWNlbnNlZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1MjY5NAoKMjAxMS0wNy0xMiAxODowMzo1MyAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwdnA4cGF5LmM6CgkgIHJ0cHZwODogUmVqZWN0IHVua25vd24gYml0c3RyZWFtIHZlcnNpb25zCgoyMDExLTAzLTA0IDExOjU5OjQ0ICswMTAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwdnA4cGF5LmM6CgkgIHJ0cHZwODogRml4IHVuaXRpYWxpemVkIHZhcmlhYmxlCgkgIE1ha2VzIG1hY29zeCBjb21waWxlciBoYXBweS4KCjIwMTEtMDEtMjMgMTc6MDI6MzggKzAwMDAgIFNqb2VyZCBTaW1vbnMgPHNqb2VyZEBsdW9uLm5ldD4KCgkqIGdzdC9ydHAvZ3N0cnRwdnA4ZGVwYXkuYzoKCSAgcnRwdnA4ZGVwYXk6IEFjY2VwdCBwYWNrZXRzIHdpdGggb25seSBvbmUgYnl0ZSBvZiBkYXRhCgkgIFdoZW4gZnJhZ21lbnRpbmcgcGFydGlvbnMgaXQgY2FuIGhhcHBlbiB0aGF0IGFuIFJUUCBwYWNrZXQgb25seSBjYXJpZXMgMQoJICBieXRlIG9mIFJUUCBkYXRhLgoKMjAxMS0wMS0yMyAxNjo0MjoxNyArMDAwMCAgU2pvZXJkIFNpbW9ucyA8c2pvZXJkQGx1b24ubmV0PgoKCSogZ3N0L3J0cC9nc3RydHB2cDhwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHB2cDhwYXkuaDoKCSAgcnRwdnA4cGF5OiBUcmVhdCB0aGUgZnJhbWUgaGVhZGVyIGp1c3QgbGlrZSBhbnkgb3RoZXIgcGFydGl0aW9uCgkgIFdoZW4gc2V0dGluZyB1cCB0aGUgaW5pdGlhbCBtYXBwaW5nIGp1c3QgYWN0IGFzIGlmIHRoZSBnbG9iYWwgZnJhbWUKCSAgaW5mb3JtYXRpb24gaXMgYW5vdGhlciBwYXJ0aXRpb24uIFRoaXMgc2F2ZXMgc3BlY2lhbC1jYXNpbmcgaXQgbGF0ZXIgaW4KCSAgdGhlIGFjdHVhbCBwYWNrZXRpemluZyBjb2RlLgoKMjAxMC0wNS0xNiAxNzoyMzoxNyArMDEwMCAgU2pvZXJkIFNpbW9ucyA8c2pvZXJkQGx1b24ubmV0PgoKCSogZ3N0L3J0cC9kYm9vbGh1ZmYuTElDRU5TRToKCSogZ3N0L3J0cC9nc3RydHB2cDguYzoKCSogZ3N0L3J0cC9nc3RydHB2cDhkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHZwOGRlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwdnA4cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwdnA4cGF5Lmg6CgkgIHJ0cHZwODogQWRkIHNpbXBsZSBwYXlsb2FkZXJzIGFuZCBkZXBheWxvYWRlcnMgZm9yIFZQOAoJICBNaW5pbWFsIGltcGxlbWVudGF0aW9uIG9mIGh0dHA6Ly93d3cud2VibXByb2plY3Qub3JnL2NvZGUvc3BlY3MvcnRwLywKCSAgdmVyc2lvbiAwLjMuMgoKMjAxMi0xMS0wMSAxODo0MjozOSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwZ3N0cGF5LmM6CgkgIGdzdHBheTogZml4IGZvciAxLjAgZXZlbnRzCgkgIENhcHMgZXZlbnRzIGFyZSBzb21ldGltZXMgbm90IGZvbGxvd2VkIGJ5IGEgYnVmZmVyIGJ1dCBieSBhbiBldmVudC4gRmx1c2ggYW55CgkgIHBlbmRpbmcgY2FwcyBiZWZvcmUgd2UgbWFrZSBhIHBhY2tldCB3aXRoIHRoZSBldmVudC4KCSAgQ2hhaW4gdXAgdG8gdGhlIHBhcmVudCBldmVudCBoYW5kbGVyIGJlZm9yZSB3ZSBhdHRlbXB0IHRvIHB1c2ggUlRQIHBhY2tldHMsIGl0CgkgIG1pZ2h0IGJlIGEgc2VnbWVudCBldmVudC4KCjIwMTItMTEtMDEgMTg6NDI6MjQgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGdzdGRlcGF5LmM6CgkgIGdzdGRlcGF5OiBmaXggc21hbGwgbGVhawoKMjAxMi0xMS0wMSAxNzo0NDoxMSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwZ3N0ZGVwYXkuYzoKCSAgZ3N0ZGVwYXk6IGFkZCBzdXBwb3J0IGZvciBldmVudHMKCSAgQ29uZmxpY3RzOgoJICBnc3QvcnRwL2dzdHJ0cGdzdGRlcGF5LmMKCjIwMTItMTEtMDEgMTc6NDA6MzEgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGdzdHBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGdzdHBheS5oOgoJICBydHBnc3RwYXk6IGFkZCBzdXBwb3J0IGZvciBzZW5kaW5nIGV2ZW50cwoJICBXZSBjdXJyZW50bHkgb25seSBzZW5kIHRhZ3MgYW5kIGN1c3RvbSBldmVudHMuIFRoZSBvdGhlciBldmVudHMKCSAgbWlnaHQgaW50ZXJmZXJlIHdpdGggdGhlIHJlY2VpdmVyIHRpbWluZ3Mgb3IgYXJlIG90aGVyd2lzZSBoYW5kbGVkCgkgIGJ5IFJUUC4KCSAgQ29uZmxpY3RzOgoJICBnc3QvcnRwL2dzdHJ0cGdzdHBheS5jCgoyMDEyLTExLTAxIDE1OjU0OjU4ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBnc3RwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnc3RwYXkuaDoKCSAgZ3N0cGF5OiByZXdyaXRlIHBheWxvYWRlcgoJICBVc2UgYWRhcHRlciB0byBhc3NlbWJsZSB0aGUgcGF5bG9hZCBhbmQgbWFrZSBhIGZsdXNoIGZ1bmN0aW9uIHRvCgkgIHR1cm4gdGhpcyBwYXlsb2FkIGludG8gKGZyYWdtZW50ZWQpIHBhY2tldHMuCgkgIENvbmZsaWN0czoKCSAgZ3N0L3J0cC9nc3RydHBnc3RwYXkuYwoJICBnc3QvcnRwL2dzdHJ0cGdzdHBheS5oCgoyMDEyLTExLTAxIDEzOjAzOjQ0ICswMDAwICBEb3VnbGFzIEJhZ25hbGwgPGRvdWdsYXNAcGFyYWRpc2UubmV0Lm56PgoKCSogZ3N0L3ZpZGVvbWl4ZXIvYmxlbmQuYzoKCSAgdmlkZW9taXhlcjogZ2V0IGhlaWdodCB2aWEgR1NUX1ZJREVPX0ZSQU1FX0hFSUdIVCwgbm90IF9XSURUSAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njg3MzMwCgoyMDEyLTExLTAxIDEzOjAyOjE2ICswMDAwICBEb3VnbGFzIEJhZ25hbGwgPGRvdWdsYXNAcGFyYWRpc2UubmV0Lm56PgoKCSogZ3N0L3ZpZGVvYm94L2dzdHZpZGVvYm94LmM6CgkgIHZpZGVib3g6IGZpeCBib3JkZXIgZmlsbGluZyBmb3IgZ3JheSBmb3JtYXRzCgkgIEdldCB0aGUgaGVpZ2h0IHZpYSBHU1RfVklERU9fRlJBTUVfSEVJR0hULCBub3QgX1dJRFRILgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njg3MzMwCgoyMDEyLTExLTAxIDExOjU4OjU3ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBnc3RkZXBheS5jOgoJICBnc3RkZXBheTogY2hlY2sgZm9yIGNvcnJlY3QgZnJhZ21lbnQgb2Zmc2V0CgkgIE1ha2Ugc3VyZSB3ZSBvbmx5IGluc2VydCB0aGUgcnRwIHBhY2tldCBpbiB0aGUgYWRhcHRlciB3aGVuIHRoZQoJICBmcmFnX29mZnNldCBtYXRjaGVzLiBXaGVuIHRoZSBmaXJzdCBwYWNrZXQgb2YgYSBmcmFnbWVudCBpcyBkcm9wcGVkLAoJICBpdCBhdm9pZHMgcHV0dGluZyB0aGUgcmVtYWluaW5nIHBhY2tldHMgaW4gdGhlIGFkYXB0ZXIgYW5kIHByb2Nlc3NpbmcKCSAgdGhlIHBhcnRpYWwgZnJhZ21lbnQuCgkgIENvbmZsaWN0czoKCSAgZ3N0L3J0cC9nc3RydHBnc3RkZXBheS5jCgoyMDEyLTExLTAxIDExOjU0OjUwICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBnc3RwYXkuYzoKCSAgZ3N0cGF5OiBzZXQgQyBmbGFnIG9uIGFsbCBidWZmZXJzIG9mIHRoZSBmcmFnbWVudAoJICBTZXQgdGhlIEMgZmxhZ3Mgb24gYWxsIHRoZSBmcmFnbWVudHMgaW5zdGVhZCBvZiBvbmx5IHRob3NlIHdpdGgKCSAgY2FwcyBpbiB0aGVtLiBUaGlzIG1ha2VzIGl0IGVhc2llciBpbiB0aGUgcmVjZWl2ZXIgdG8gY2hlY2sgaWYgdGhlcmUKCSAgaXMgYSBjYXBzIGluIHRoZSBhc3NlbWJsZWQgZnJhZ21lbnRzIGp1c3QgYnkgbG9va2luZyBhdCB0aGUgbGFzdCBSVFAKCSAgcGFja2V0IGZsYWdzLgoKMjAxMi0xMS0wMSAxMDo1NTowMyArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwZ3N0ZGVwYXkuYzoKCSAgZ3N0ZGVwYXk6IHVzZSB0aGUgY2Fwc3ZlcnNpb24KCSAgVGFrZSB0aGUgY2FwcyBmcm9tIHRoZSBpbnB1dCBjYXBzIGFuZCBzdG9yZSBpdCBpbiB0aGUgc2xvdCBnaXZlbgoJICBieSBjYXBzdmVyc2lvbi4KCjIwMTItMTEtMDEgMTA6NTI6MjUgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGdzdHBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGdzdHBheS5oOgoJICBnc3RwYXk6IHNlbmQgY2FwcyBpbmxpbmUKCSAgUGxhY2UgdGhlIGNhcHN2ZXJzaW9uIG9uIHRoZSBvdXRnb2luZyBjYXBzIHNvIHRoYXQgdGhleSBlbmQgdXAgaW4KCSAgYW4gU0RQIGFzIHdlbGwuIFJlY2VpdmVycyBuZWVkIHRvIGtub3cgd2hhdCBjYXBzdmVyc2lvbiBhIHBhcnRpY3VsYXIKCSAgY2FwcyBpcyBmb3IgdG8gYmUgYWJsZSB0byBtYXRjaCB0aGUgY2FwcyB0byB0aGUgQ1YgaW4gdGhlIFJUUCBwYWNrZXRzLgoJICBQbGFjZSB0aGUgY2FwcyBpbnNpZGUgdGhlIFJUUCBwYWNrZXQgd2hlbmV2ZXIgdGhlIGNhcHMgY2hhbmdlLgoJICBCYXNlZCBvbiBwYXRjaCBieSBBbmRyemVqIEJpZW5pZWsgPGFuZHJ6ZWouYmllbmlla0BwdXJlLmNvbT4KCSAgQ29uZmxpY3RzOgoJICBnc3QvcnRwL2dzdHJ0cGdzdHBheS5jCgkgIGdzdC9ydHAvZ3N0cnRwZ3N0cGF5LmgKCjIwMTItMTAtMzEgMTY6MTc6NDggKzAwMDAgIEFuZHJ6ZWogQmllbmllayA8YW5kcnplai5iaWVuaWVrQHB1cmUuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBnc3RwYXkuYzoKCSAgZ3N0cGF5OiBhZGQgZGVidWcKCSAgQ29uZmxpY3RzOgoJICBnc3QvcnRwL2dzdHJ0cGdzdHBheS5jCgoyMDEyLTEwLTMxIDE2OjA5OjI2ICswMDAwICBBbmRyemVqIEJpZW5pZWsgPGFuZHJ6ZWouYmllbmlla0BwdXJlLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwZ3N0ZGVwYXkuYzoKCSAgZGVwYXk6IGNvcnJlY3RseSBza2lwIGNhcHMgaGVhZGVyIHNpemUKCSAgQ29uZmxpY3RzOgoJICBnc3QvcnRwL2dzdHJ0cGdzdGRlcGF5LmMKCjIwMTItMDktMjggMDA6NDM6MzggKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWlkcy5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtaWRzLmg6CgkgIG1hdHJvc2thZGVtdXg6IHB1dCBzdHJlYW1oZWFkZXJzIG9uIHZvcmJpcy9zcGVleC9mbGFjL3RoZW9yYSBjYXBzIHRvIG1ha2UgcmVtdXhpbmcgd29yawoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjQwNTg5CgoyMDEyLTEwLTI4IDAwOjA3OjQ2ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZXh0L3B1bHNlL3B1bHNlc3JjLmM6CgkgIHB1bHNlc3JjOiBkb24ndCBhc3NlcnQgaW4gZ2V0X3RpbWUoKSB3aGVuIGNhbGxlZCBhZnRlciBzaHV0ZG93bgoJICBXaGljaCBtaWdodCBoYXBwZW4gaWYgdGhlIHNvdXJjZSBnZXRzIHNldCB0byBOVUxMIHN0YXRlIGJlZm9yZQoJICB0aGUgcmVzdCBvZiB0aGUgcGlwZWxpbmUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODY5ODUKCjIwMTItMTAtMzAgMTE6MTA6NDkgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9leGFtcGxlcy9sZXZlbC9sZXZlbC1leGFtcGxlLmM6CgkgIHRlc3RzOiBmaXggbGV2ZWwgZXhhbXBsZQoJICBVc2UgdGhlIEdWYWx1ZUFycmF5IGluIHRoZSBtZXNzYWdlLgoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njg3MTU0CgoyMDEyLTEwLTI3IDIzOjIyOjM2ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZ3N0L2F1cGFyc2UvTWFrZWZpbGUuYW06CgkqIGdzdC9sZXZlbC9NYWtlZmlsZS5hbToKCSogZ3N0L3k0bS9NYWtlZmlsZS5hbToKCSAgZ3N0OiBmaXggdmFyaWFibGUgb3JkZXIgaW4gc29tZSBNYWtlZmlsZS5hbQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njg3MDEzCgoyMDEyLTEwLTI3IDE3OjI3OjE2IC0wNDAwICBBbnRvaW5lIFRyZW1ibGF5IDxoZXhhMDBAZ21haWwuY29tPgoKCSogZXh0L2xpYmNhY2EvTWFrZWZpbGUuYW06CgkqIGdzdC9hdXBhcnNlL01ha2VmaWxlLmFtOgoJKiBnc3QvbGV2ZWwvTWFrZWZpbGUuYW06CgkqIGdzdC92aWRlb2Nyb3AvTWFrZWZpbGUuYW06CgkqIGdzdC95NG0vTWFrZWZpbGUuYW06CgkgIGdzdDogYWRkIHZhcmlvdXMgbWlzc2luZyBHU1RfUExVR0lOU19CQVNFX0xJQlMgaW4gTWFrZWZpbGUuYW0KCSAgVGhvc2UgcGx1Z2lucyBkZXBlbmQgb24gZWl0aGVyIGxpYmdzdGF1ZGlvIG9yIGxpYmdzdHZpZGVvLAoJICB3aGljaCBhcmUgaW4gZ3N0LXBsdWdpbnMtYmFzZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4NzAxMwoKMjAxMi0xMC0yNyAxMzoyNDoyNCArMDEwMCAgQWxleGV5IEZpc2hlciA8YnVnLXRyYWNrQGZpc2hlci1wcml2YXQubmV0PgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thZGVtdXg6IG1hcmsgaW52aXNpYmxlIFZQOCBmcmFtZXMgd2l0aCB0aGUgREVDT0RFX09OTFkgZmxhZwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjU0MjU5CgoyMDEyLTEwLTI2IDEwOjU1OjI4ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvbXVsdGlmaWxlLmM6CgkgIHRlc3RzOiBhZGQgbXVsdGlmaWxlc3JjIHRlc3QgZm9yIGZpeCBpbiBwcmV2aW91cyBjb21taXQKCSAgTWFrZSBzdXJlIHRoZSBzdG9wLWluZGV4IHNldCBpcyBob25vdXJlZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1NDg1MwoKMjAxMi0xMC0yNiAxMDozMzowMyArMDEwMCAgU3RhcyBTZXJnZWV2IDxzdHNwQGFrbmV0LnJ1PgoKCSogZ3N0L211bHRpZmlsZS9nc3RtdWx0aWZpbGVzcmMuYzoKCSAgbXVsdGlmaWxlc3JjOiBmaXggc3RvcCBpbmRleCBoYW5kbGluZwoJICBNYWtlIHN1cmUgdGhlIHN0b3AgaW5kZXggaXMgYWx3YXlzIGhvbm91cmVkLiBBdm9pZHMKCSAgZW5kbGVzcyBsb29wIGlmIG9uZSB3YW50cyB0byByZWFkIGFuZCBvdXRwdXQgdGhlIHNhbWUKCSAgZmlsZSBOIHRpbWVzLCBmb3IgZXhhbXBsZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1NDg1MwoKMjAxMi0wOC0yNSAwMjoyNjoyOSArMDQwMCAg0KDRg9GB0LvQsNC9INCY0LbQsdGD0LvQsNGC0L7QsiA8bHJuMTk4NkBnbWFpbC5jb20+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcmVhZC1jb21tb24uYzoKCSAgbWF0cm9za2FkZW11eDogU3VwcG9ydCByZWN1cnNpdmUgU2ltcGxlVGFncwoJICBGaXhlcyAjNjgyNjQ0CgkgIERlcGVuZHMgb24gIzY4MjYxNQoKMjAxMi0wOC0yNCAxMzo1NTo0MSArMDQwMCAg0KDRg9GB0LvQsNC9INCY0LbQsdGD0LvQsNGC0L7QsiA8bHJuMTk4NkBnbWFpbC5jb20+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtaWRzLmg6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1yZWFkLWNvbW1vbi5jOgoJICBtYXRyb3NrYWRlbXV4OiBFeHBhbmQgdGhlIHRhZyBtYXBwaW5nLgoJICAqIEFsc28gZXhwb3NlIHVua25vd24gdGFncyBhcyBrZXk9dmFsdWUgcGFpcnMuCgkgICogQXJyYW5nZSB0YWcgbWFwIGluIHRoZSBzYW1lIG9yZGVyIHRhZ3MgYXJlIGxpc3RlZCBpbiBNYXRyb3NrYSBzcGVjLCBsZWF2aW5nCgkgIHVubWFwcGVkIHRhZ3MgYXMgY29tbWVudHMuCgkgICogTW9yZSBzcGVjaWZpYyBUT0RPcy4KCSAgKiBSZW1vdmUgZHVwbGljYXRlIERBVEUgZGVmaW5lLgoJICBGaXhlcyAjNjgyNjE1CgkgIERlcGVuZHMgb24gIzY4MjUyNAoKMjAxMi0xMC0yNiAxMDowOTozOSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcmVhZC1jb21tb24uYzoKCSAgbWF0cm9za2FkZW11eDogRml4IHVuaW5pdGlhbGl6ZWQgdmFyaWFibGUgY29tcGlsZXIgd2FybmluZwoKMjAxMi0wOC0yMyAxNTowNzoyMiArMDQwMCAg0KDRg9GB0LvQsNC9INCY0LbQsdGD0LvQsNGC0L7QsiA8bHJuMTk4NkBnbWFpbC5jb20+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtaWRzLmg6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1yZWFkLWNvbW1vbi5jOgoJICBtYXRyb3NrYWRlbXV4OiBNYXRyb3NrYSB0YWcgVGFyZ2V0VHlwZSBzdXBwb3J0CgkgICogUmVhZHMgVGFyZ2V0VHlwZSBhbmQgVGFyZ2V0VHlwZVZhbHVlIGZyb20gYSBUYWcuCgkgICogQWZ0ZXIgVGFnIGlzIGNvbXBsZXRlbHkgcmVhZCwgcHJvY2Vzc2VzIHRhZ2xpc3QsIHN1YnN0aXR1dGluZyBzb21lIG9mIHRoZQoJICB0YWdzIGRlcGVuZGluZyBvbiB0YXJnZXQgdHlwZSB2YWx1ZSBhbmQgdGhlIHByZXNlbmNlIG9mIHZpZGVvL3N1YnRpdGxlIHN0cmVhbXMuCgkgICogU3VwcG9ydHMgcmVhZGluZyB0d28gbmV3IHNpbXBsZXRhZ3MgLSBQQVJUX05VTUJFUiBhbmQgVE9UQUxfUEFSVFMKCSAgRGVwZW5kcyBvbiAjNjgyNDQ4CgkgIEZpeGVzICM2ODI1MjQKCjIwMTItMDgtMjIgMTU6MzI6NDEgKzA0MDAgINCg0YPRgdC70LDQvSDQmNC20LHRg9C70LDRgtC+0LIgPGxybjE5ODZAZ21haWwuY29tPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1pZHMuaDoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXJlYWQtY29tbW9uLmM6CgkgIG1hdHJvc2thZGVtdXg6IFBlci10cmFjayB0YWdzIGZvciBNYXRyb3NrYQoJICBSZXF1aXJlcyBNYXRyb3NrYSBmaWxlIHRvIGhhdmUgc2FuZSBsYXlvdXQgKHRyYWNrIGluZm8gYmVmb3JlIHRhZyBpbmZvKS4KCSAgVXNlcyByZXBsYWNlLW1lcmdlLgoJICBNYWtlcyB0cmFjayBVSURzIDY0LWJpdC4KCSAgRml4ZXMgIzY4MjQ0OAoKMjAxMi0xMC0yNSAyMDoxODozNiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGdzdC9tdWx0aWZpbGUvZ3N0bXVsdGlmaWxlc3JjLmM6CgkgIG11bHRpZmlsZXNyYzogZml4IHR5cG8gaW4gcHJvcGVydHkgZGVzY3JpcHRpb24KCjIwMTItMTAtMjUgMTI6MTg6MDMgLTA3MDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEByZGlvLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXhfZm91cmNjLmg6CgkgIHF0ZGVtdXg6IHJlYWQgdmlkZW8gZm9ybWF0IGhlYWRlciBmdWxseSAoc28gd2UgY2FuIGZpbmQgJ3Bhc3AnIGF0b21zKSBmb3IgbW9yZSBmb3VyY2NzLiBGaXhlcyBhc3BlY3QgcmF0aW8gb2YgcHJvcmVzIGZpbGVzLgoKMjAxMi0xMC0yNSAwMDo0NDozNCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2ltYWdlZnJlZXplL2dzdGltYWdlZnJlZXplLmM6CgkgIGltYWdlZnJlZXplOiB0aGUgbmV3IGdldF9jYXBzIGFscmVhZHkgZG9lcyB0aGUgZmlsdGVyIGludGVyc2VjdGlvbgoJICBJdCBzaG91bGQgYmUgZmFzdGVyIHRvIHBhc3MgdGhlIGNhcHMgdG8gaW50ZXJzZWN0IGFzIHRoZSBmaWx0ZXIgY2FwcywKCSAgcmF0aGVyIHRoYW4gdXNpbmcgTlVMTCBhbmQgaW50ZXJzZWN0aW5nICdtYW51YWxseScgbGF0ZXIuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODY4MzcKCjIwMTItMTAtMjUgMDA6NDM6NTEgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9pbWFnZWZyZWV6ZS9nc3RpbWFnZWZyZWV6ZS5jOgoJICBpbWFnZWZyZWV6ZTogYXZvaWQgYXNzZXJ0aW9uIHdoZW4gdXNpbmcgYWNjZXB0IGNhcHMgcXVlcnkKCSAgVGhpcyBxdWVyeSBtdXN0IHJlY2VpdmUgYSBmaXhlZCBjYXBzLCBzbyBpbWFnZWZyZWV6ZSBzaG91bGQKCSAgZml4YXRlIGl0cyBmcmFtZXJhdGUgYmVmb3JlIHNlbmRpbmcgdGhlIHF1ZXJ5IGRvd25zdHJlYW0uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODY4MzcKCjIwMTItMTAtMjUgMTI6MzM6MjQgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi0xMzk0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhY29sb3IueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXBldGFnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvZngueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9wYXJzZXJzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2RldGVjdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdmkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FjYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY3V0dGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlaW50ZXJsYWNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZmVjdHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXF1YWxpemVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZseGRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZGtwaXhidWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tMmsxLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWljeWRlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlkM2RlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWltYWdlZnJlZXplLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVybGVhdmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taXNvbXA0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWphY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanBlZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sZXZlbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tYXRyb3NrYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aWZpbGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlwYXJ0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5hdmlnYXRpb250ZXN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zczQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5nLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXB1bHNlYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVwbGF5Z2Fpbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwbWFuYWdlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHNwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNoYXBld2lwZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaG91dDJzZW5kLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNtcHRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlY3RydW0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdGFnbGliLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXVkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlbzRsaW51eDIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9ib3gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9jcm9wLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvZmlsdGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvbWl4ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdnB4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXhpbWFnZXNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi15NG1lbmMueG1sOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIEJhY2sgdG8gZmVhdHVyZSBkZXZlbG9wbWVudAoKPT09IHJlbGVhc2UgMS4wLjIgPT09CgoyMDEyLTEwLTI1IDAxOjAxOjA5ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogQ2hhbmdlTG9nOgoJKiBORVdTOgoJKiBSRUxFQVNFOgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi0xMzk0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhY29sb3IueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXBldGFnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvZngueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9wYXJzZXJzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2RldGVjdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdmkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FjYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY3V0dGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlaW50ZXJsYWNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZmVjdHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXF1YWxpemVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZseGRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZGtwaXhidWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tMmsxLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWljeWRlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlkM2RlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWltYWdlZnJlZXplLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVybGVhdmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taXNvbXA0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWphY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanBlZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sZXZlbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tYXRyb3NrYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aWZpbGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlwYXJ0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5hdmlnYXRpb250ZXN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zczQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5nLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXB1bHNlYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVwbGF5Z2Fpbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwbWFuYWdlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHNwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNoYXBld2lwZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaG91dDJzZW5kLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNtcHRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlY3RydW0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdGFnbGliLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXVkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlbzRsaW51eDIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9ib3gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9jcm9wLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvZmlsdGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvbWl4ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdnB4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXhpbWFnZXNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi15NG1lbmMueG1sOgoJKiBnc3QtcGx1Z2lucy1nb29kLmRvYXA6CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgUmVsZWFzZSAxLjAuMgoKMjAxMi0xMC0yNCAxMzo1MDowMCArMDIwMCAgQXJuYXVkIFZyYWMgPGF2cmFjQGZyZWVib3guZnI+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogdXNlIGNvcnJlY3QgdHlwZSBmb3IgY2hhbm5lbC1tYXNrIGJpdG1hc2sKCSAgRml4ZXMgY3Jhc2ggb24gMzItYml0IHN5c3RlbXMuCgoyMDEyLTEwLTI0IDExOjE3OjU1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSAgcHVsc2VzaW5rOiBGbHVzaCB0aGUgcmluZ2J1ZmZlciBvbiBHQVAgZXZlbnRzIHdpdGhvdXQgZHVyYXRpb24KCSAgVGhpcyBpcyByZXF1aXJlZCB0byBwcm9wZXJseSBzdGFydCB0aGUgcmluZ2J1ZmZlciBhbmQgY2xvY2suCgoyMDEyLTEwLTAyIDIwOjUxOjI5ICswMjAwICBPbGVrc2lqIFJlbXBlbCA8YnVnLXRyYWNrQGZpc2hlci1wcml2YXQubmV0PgoKCSogZXh0L3ZweC9nc3R2cDhlbmMuYzoKCSAgdnA4ZW5jOiBzZXQgREVDT0RFX09OTFkgZmxhZyBvbiBpbnZpc2libGUgQWx0UmVmIGZyYW1lcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjU0MjE2CgoyMDEyLTEwLTIzIDE2OjAyOjA1ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZmxhY3BhcnNlLmM6CgkgIGZsYWNwYXJzZTogZml4IGNvdmVyYXJ0IGV4dHJhY3Rpb24gaWYgdm9yYmlzIGNvbW1lbnRzIGNvbWUgYWZ0ZXIgcGljdHVyZSBoZWFkZXIKCSAgU2VlIHNhbXBsZSBmaWxlIGZvciBidWcgIzY4NDcwMS4KCjIwMTItMTAtMjMgMTM6NDU6MTcgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RmbGFjcGFyc2UuYzoKCSAgZmxhY3BhcnNlOiBpZ25vcmUgYmFkIGhlYWRlcnMgaWYgd2UgaGF2ZSBhIHZhbGlkIFNUUkVBTUlORk8gaGVhZGVyCgkgIElmIHdlIHJ1biBpbnRvIGFueSBoZWFkZXIgcGFyc2luZyBpc3N1ZXMgYW5kIHdlIGhhdmUgYSB2YWxpZAoJICBTVFJFQU1JTkZPIGhlYWRlciBhbHJlYWR5LCBkb24ndCBlcnJvciBvdXQsIGJ1dCBqdXN0IHN0b3AKCSAgaGVhZGVyIHBhcnNpbmcgYW5kIHRyeSB0byBmaW5kIHNvbWUgYXVkaW8gZnJhbWVzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njg0NzAxCgoyMDEyLTEwLTIzIDEzOjQzOjEwICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZmxhY3BhcnNlLmM6CgkgIGZsYWNwYXJzZTogcG9zdCBwcm9wZXIgZXJyb3IgbWVzc2FnZSBhbmQgZml4IGJ1ZmZlciBsZWFrIG9uIGhlYWRlciBwYXJzaW5nIGVycm9yCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODQ3MDEKCjIwMTItMTAtMjIgMjI6MzI6NDkgLTA3MDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEByZGlvLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiB3aXRoIHJhdyBhdWRpbywgc2V0IGEgZGVmYXVsdCBjaGFubmVsLW1hc2sgZm9yIG11bHRpY2hhbm5lbCBhdWRpby4gVGhpcyBkb2Vzbid0IGFjdHVhbGx5IHBhcnNlICdjaGFuJyBiZWNhdXNlIGl0J3MgYWJzdXJkbHkgY29tcGxleC4KCjIwMTItMTAtMjIgMTU6NTQ6MTcgKzAyMDAgIFNlYmFzdGlhbiBSYXNtdXNzZW4gPHNlYnJuQGF4aXMuY29tPgoKCSogZ3N0L3VkcC9nc3R1ZHBzcmMuYzoKCSAgdXBkc3JjOiBmaXggdHlwbyBjYXVzaW5nIGNvbXBpbGF0aW9uIGVycm9yCgkgIGdzdHVkcHNyYy5jOiBJbiBmdW5jdGlvbiAnZ3N0X3VkcHNyY19jcmVhdGUnOgoJICBnc3R1ZHBzcmMuYzozNjU6IGVycm9yOiAncmV0JyBtYXkgYmUgdXNlZCB1bmluaXRpYWxpemVkIGluIHRoaXMgZnVuY3Rpb24KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4NjY0MgoKMjAxMi0xMC0yMiAxMTo1NTo1OSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgYXZpXyBmaXggaW52ZXJ0IGZ1bmN0aW9uCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODY1NTAKCjIwMTItMTAtMjIgMTE6NTU6MjIgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIGF2aTogZml4IGRlYnVnCgoyMDEyLTEwLTIyIDExOjM5OjM3ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkqIGdzdC9pc29tcDQvcXRkZW11eF9mb3VyY2MuaDoKCSAgcXRkZW11eDogYWRkIHN1cHBvcnQgZm9yICdnZW5lcmljJyBzYW1wbGVzCgkgIEFkZCBzdXBwb3J0IGZvciBzdHVmZmluZyBhIGNvbXBsZXRlIHN0cmVhbSBpbnRvIDEgc2FtcGxlLgoJICBTZWUgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4NjU1MAoKMjAxMi0xMC0yMCAxMzowMTo0MSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3NvdXBodHRwc3JjLmM6CgkgIHRlc3RzOiByZW1vdmUgc3VwZXJmbHVvdXMgZ190eXBlX2luaXQoKSBjYWxsCgkgIEl0J3MgZGVwcmVjYXRlZCBpbiBuZXdlciBHTGliIGFuZCBub3QgbmVlZGVkIGhlcmUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODY0NTYKCjIwMTItMTAtMjAgMTE6MzI6MjcgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkgIHB1bHNlc2luazogZml4IGNhcHMgbGVhayBpbiBhY2NlcHRjYXBzIGZ1bmN0aW9uCgoyMDEyLTEwLTE5IDE5OjI0OjIzICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBkb24ndCBsZWFrIGdzdF9yaWZmX3N0cmZfYXVkcyBpbiBjYXNlIG9mIE1TL1JJRkYgYXVkaW8KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4MTE5MgoKMjAxMi0xMC0xOCAyMjoyMDozOSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkgIG1hdHJvc2thbXV4OiB1bnNpZ25lZCBzdWJ0aXRsZSB0ZW1wbGF0ZQoKMjAxMi0xMC0xOCAxMTozMjoxMCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkgIHB1bHNlc2luazogaW4gYWNjZXB0X2NhcHMoKSBjaGVjayBpZiByaW5nIGJ1ZmZlciBpcyBOVUxMIGJlZm9yZSBkZS1yZWZlcmVuY2luZwoJICBBbmQgc3ByaW5rbGUgc29tZSB0aHJlYWQtc2FmZXR5ICh0YWtlIG9iamVjdCBsb2NrIGZvcgoJICBhY2Nlc3NpbmcgcmluZyBidWZmZXIsIGFuZCBwYSBtYWluIGxvb3AgbG9jayBmb3IgdGhlCgkgIGNvbnRleHQpLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjgzNzgyCgoyMDEyLTA5LTEzIDAwOjEwOjAwICswMDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlcjIuYzoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlcjIuaDoKCSAgdmlkZW9taXhlcjI6IEZpeCByYWNlIGNvbmRpdGlvbiB3aGVyZSBhIHNyYyBzZXRjYXBzIGlzIGlnbm9yZWQKCSAgSWYgYm90aCBwYWRzIHJlY2VpdmUgZGF0YSBhdCB0aGUgc2FtZSB0aW1lLCB0aGV5IHdpbGwgYm90aCBnZXQgdGhlaXIKCSAgc2lua19zZXRjYXBzIGNhbGxlZCB3aGljaCB3aWxsIGNhbGwgdGhlIHNyY19zZXRjYXBzLCBidXQgdGhlcmUgaXMKCSAgYSByYWNlIGNvbmRpdGlvbiB3aGVyZSB0aGUgc2Vjb25kIG9uZSBtaWdodCBub3QgYmUgY2FsbGVkLgoJICBGaXhlczogaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4Mzg0MgoKMjAxMS0xMC0zMSAxNTo0MzoyNSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkgIG1hdHJvc2thbXV4OiBkbyBub3QgdXNlIHVub2ZmaWNhbCBWX01KUEVHIGNvZGVjIGlkCgkgIFNpbmNlIGl0J3Mgbm90IHNwZWMnZWQsIGNvbnNpZGVyIGl0IGEgVmZXIGNvbXBhdGliaWxpdHkKCSAgY2FzZS4gTWFueSBhcHBsaWNhdGlvbnMgKGUuZy4gYXZpZGVtdXgpIGRvbid0IHVuZGVyc3RhbmQKCSAgdGhlIHVub2ZmaWNpYWwgVl9NSlBFRyBpZC4KCSAgRml4ZXMgIzY1OTgzNy4KCSAgQ29uZmxpY3RzOgoJICBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmMKCjIwMTItMTAtMTcgMTc6MzQ6MjYgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R0bWYvZ3N0ZHRtZmRldGVjdC5jOgoJKiBnc3QvZHRtZi9nc3RkdG1mc3JjLmM6CgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZkZXBheS5jOgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mc3JjLmM6CgkgIFVzZSBnc3RfZWxlbWVudF9jbGFzc19zZXRfc3RhdGljX21ldGFkYXRhKCkKCSAgd2hlcmUgcG9zc2libGUuIEF2b2lkcyBzb21lIHN0cmluZyBjb3BpZXMuIEFsc28gcmUtaW5kZW50CgkgIHNvbWUgc3R1ZmYuIEFsc28gc29tZSBpbmRlbnQgZml4ZXMgaGVyZSBhbmQgdGhlcmUuCgoyMDEyLTEwLTE3IDE3OjAzOjM5ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9qcGVnL2dzdGpwZWdkZWMuYzoKCSogZXh0L2pwZWcvZ3N0anBlZ2VuYy5jOgoJKiBleHQvbGlicG5nL2dzdHBuZ2RlYy5jOgoJKiBleHQvbGlicG5nL2dzdHBuZ2VuYy5jOgoJKiBleHQvdnB4L2dzdHZwOGRlYy5jOgoJKiBleHQvdnB4L2dzdHZwOGVuYy5jOgoJICBqcGVnLCBwbmcsIHZweDogdXNlIGdzdF9lbGVtZW50X2NsYXNzX3NldF9zdGF0aWNfbWV0YWRhdGEoKQoJICBBdm9pZHMgc29tZSBzdHJpbmcgY29waWVzLgoKMjAxMi0xMC0xNyAxNDoyMzowMSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwanBlZ2RlcGF5LmM6CgkgIGpwZWdkZXBheTogc3RvcmUgcXVhbnQgdGFibGVzIGluIHppZ3phZyBvcmRlcgoKMjAxMi0xMC0xNyAxMzo1NTo0NSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSAgcnRzZXNzaW9uOiBmaXggY29tcGlsZXIgd2FybmluZwoKMjAxMi0xMC0xNyAxMzozNTowNyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOgoJICBydHBiaW46IGNsYXJpZnkgdGhlIG50cC1zeW5jIG9wdGlvbgoKMjAxMi0xMC0xNyAxMzoxNTo0OCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmg6CgkgIHJ0cHNlc3Npb246IHVwZGF0ZSBjYXBzIGluIHRoZSBzb3VyY2UKCSAgSW5mb3JtIHRoZSBzb3VyY2Ugd2hlbiBjYXBzIGNoYW5nZWQuIFRoaXMgd2FzIHJlbW92ZWQgaW4gdGhlIHBvcnQgdG8gMS4wCgkgIGxlYXZpbmcgdGhlIHNvdXJjZSB1bmF3YXJlIG9mIHRoZSBjbG9jay1yYXRlIGFuZCB1bmFibGUgdG8gaW50ZXJwb2xsYXRlCgkgIHJ0cCB0aW1lc3RhbXBzIGZvciBTUiBwYWNrZXRzLgoKMjAxMi0xMC0xNyAxMjo0NjozMiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBqaXR0ZXJidWZmZXIuYzoKCSAgcnRwYmluOiBzZXQgUFRTIGFuZCBEVFMgaW4gaml0dGVyYnVmZmZlcgoKMjAxMi0xMC0xNyAxMjoyNDoyMiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOgoJICBydHBiaW46IGRpc2FibGUgY2hlY2sgZm9yIG50cC1zeW5jCgkgIERpc2FibGUgdGhlIGNoZWNrIGZvciB0aGUgbnRwLXN5bmMgbWV0aG9kLiBJdCBpcyBleHBlY3RlZCB0aGF0CgkgIGEgcmF0aGVyIGxhcmdlciBvZmZzZXQgbmVlZHMgdG8gYmUgYXBwbGllZCB3aXRoIHRoaXMgbWV0aG9kLgoKMjAxMi0xMC0xNyAxMjoxNzozMiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6CgkgIHJ0cGJpbjogdXNlIHJ1bm5pbmctdGltZSBmb3IgTlRQIHRpbWUKCSAgV2hlbiB1c2UtcGlwZWxpbmUtY2xvY2sgaXMgc2V0LCB1c2UgdGhlIHJ1bm5pbmctdGltZSBvZiB0aGUKCSAgcGlwZWxpbmUgdG8gY2FsY3VsYXRlIHRoZSBOVFAgdGltZXN0YW1wcy4gVGhpcyBtZXRob2Qgd291bGQgcHJldmlvdXNseQoJICBvbmx5IHdvcmsgd2hlbiB0aGUgYmFzZS10aW1lIGlzIHNldCB0byAwIGJ1dCB3aXRoIHRoaXMgY2hhbmdlIGl0IGNhbgoJICBhbHNvIHdvcmsgd2l0aCBkaWZmZXJlbnQgb2Zmc2V0cyBhbmQgd2UgY2FuIGFsc28gaW1wbGVtZW50IHBhdXNlL3Jlc3VtZQoJICBvZiB0aGUgc2VuZGVyIGFuZCByZWNlaXZlciBub3cuCgoyMDEyLTEwLTE3IDEwOjIwOjEyICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvY3JvcC9nc3R2aWRlb2Nyb3AuYzoKCSogZ3N0L3ZpZGVvY3JvcC9nc3R2aWRlb2Nyb3AuaDoKCSAgdmlkZW9jcm9wOiBwb3J0IHRvIHZpZGVvZmlsdGVyCgoyMDEyLTEwLTE3IDA5OjM2OjUwICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvYm94L2dzdHZpZGVvYm94LmM6CgkgIHZpZGVvYm94OiB1c2Ugb3V0X2luZm8gZm9yIG91dCBwcm9wZXJ0aWVzCgoyMDEyLTEwLTE2IDE0OjQwOjE5ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvZmlsdGVyL2dzdHZpZGVvbWVkaWFuLmM6CgkqIGdzdC92aWRlb2ZpbHRlci9nc3R2aWRlb21lZGlhbi5oOgoJICBtZWRpYW46IHNtYWxsIGNsZWFudXBzCgoyMDEyLTEwLTE2IDEzOjU2OjE5ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogTWFrZWZpbGUuYW06CgkqIGdzdC9tZWRpYW4vLmdpdGlnbm9yZToKCSogZ3N0L21lZGlhbi9NYWtlZmlsZS5hbToKCSogZ3N0L21lZGlhbi9nc3RtZWRpYW4uYzoKCSogZ3N0L21lZGlhbi9nc3RtZWRpYW4uaDoKCSogZ3N0L21lZGlhbi9tZWRpYW4udmNwcm9qOgoJICBtZWRpYW46IHJlbW92ZSBub3cgdGhhdCBpdCBpcyBpbiB2aWRlb2ZpbHRlcgoKMjAxMi0xMC0xNiAxMzo0OToxMSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiByZW1vdmUgbWVkaWFuIGZyb20gYnVpbGQKCjIwMTItMTAtMTYgMTM6NDc6MjQgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9maWx0ZXIvTWFrZWZpbGUuYW06CgkqIGdzdC92aWRlb2ZpbHRlci9nc3R2aWRlb21lZGlhbi5jOgoJKiBnc3QvdmlkZW9maWx0ZXIvZ3N0dmlkZW9tZWRpYW4uaDoKCSogZ3N0L3ZpZGVvZmlsdGVyL3BsdWdpbi5jOgoJICB2aWRlb21lZGlhbjogY29weSBtZWRpYSB0byB2aWRlb21lZGlhbgoJICBDb3B5IHRoZSBtZWRpYW4gdmlkZW8gZmlsdGVyIHRvIHZpZGVvZmlsdGVycyBhbmQgcmVuYW1lIHRvCgkgIHZpZGVvbWVkaWFuLgoKMjAxMi0xMC0xNiAxMzoxMjoyMSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L21lZGlhbi9NYWtlZmlsZS5hbToKCSogZ3N0L21lZGlhbi9nc3RtZWRpYW4uYzoKCSogZ3N0L21lZGlhbi9nc3RtZWRpYW4uaDoKCSAgbWVkaWE6IHBvcnQgdG8gMS4wCgoyMDEyLTEwLTE2IDAxOjAyOjExICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4Lmg6CgkgIGF2aWRlbXV4OiBhcHBlbmQgcGFsZXR0ZSBkYXRhIHRvIHBhbGV0dGVkIDgtYml0IFJHQiBmcmFtZXMKCSAgRml4ZXMgcGxheWJhY2sgb2YgOC1iaXQgaW5kZXhlZCBSR0IgdmlkZW9zLCB3aXRoIGZpeGVzIGluIC1iYXNlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njg2MDQ2CgoyMDEyLTEwLTE1IDE1OjM2OjA0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cHgvZ3N0dnA4ZW5jLmM6CgkgIHZwOGVuYzogQW5kIHRoaXMgdGltZSBmaXggdGhlIGRlZmF1bHQgdGFyZ2V0LWJpdHJhdGUgdmFsdWUgZm9yIHJlYWwKCjIwMTItMTAtMTUgMTU6MzA6MzMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZweC9nc3R2cDhlbmMuYzoKCSAgdnA4ZW5jOiBGaXggZGVmYXVsdCB0YXJnZXQtYml0cmF0ZSB2YWx1ZQoKMjAxMi0xMC0xMyAwMDowMzoyOSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBkb24ndCBhc3NlcnQgaWYgdXBzdHJlYW0gc2l6ZSBpcyBub3QgYXZhaWxhYmxlIHdoZW4gZ3Vlc3NpbmcgYml0cmF0ZXMKCSAgRml4ZXMgYWJvcnQgaW4gcHVzaCBtb2RlIHdoZXJlIHRoZSBzb3VyY2UgaXMgbm90IHNlZWthYmxlIGFuZCB0aGUKCSAgc2l6ZSBvZiB0aGUgZmlsZSBpcyBub3QgYXZhaWxhYmxlLCBhcyB3aXRoCgkgIGNhdCBmb28ubXA0IHwgZ3N0LWxhdW5jaC0xLjAgcGxheWJpbiB1cmk9ZmQ6Ly8wCgkgIExlc3Mgbm90aWNhYmxlIHdpdGggcmVsZWFzZXMsIHNpbmNlIHdlIGRpc2FibGUgYWxsCgkgIGdfYXNzZXJ0KCkgdGhlcmUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODYwMDgKCjIwMTItMTAtMTIgMTQ6Mzg6MzMgLTA3MDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEByZGlvLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5oOgoJICBxdGRlbXV4OiBhbGxvdyBtb3JlIHN0cmVhbXMuIEJ1bXAgdGhpcyBjb25zdGFudCB0byAzMiwgd2hpY2ggc2hvdWxkIGJlIGVub3VnaCBmb3IgcmVhbC13b3JsZCBmaWxlcy4KCjIwMTItMTAtMTIgMTQ6MzU6MjQgLTA3MDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEByZGlvLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBzdXBwb3J0IG1vcmUgZGlmZmVyZW50IGZvdXJjYyB2YWx1ZXMgZm9yIG90aGVyIFByb1JlcyB2YXJpYW50cy4KCjIwMTItMTAtMTEgMjI6MzY6MjEgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiB0ZXN0cy9leGFtcGxlcy9ydHAvY2xpZW50LUgyNjNwLUFNUi5zaDoKCSogdGVzdHMvZXhhbXBsZXMvcnRwL2NsaWVudC1IMjYzcC1QQ01BLnNoOgoJKiB0ZXN0cy9leGFtcGxlcy9ydHAvY2xpZW50LUgyNjNwLnNoOgoJKiB0ZXN0cy9leGFtcGxlcy9ydHAvY2xpZW50LUgyNjQtUENNQS5zaDoKCSogdGVzdHMvZXhhbXBsZXMvcnRwL2NsaWVudC1IMjY0LnNoOgoJKiB0ZXN0cy9leGFtcGxlcy9ydHAvY2xpZW50LVBDTUEuYzoKCSogdGVzdHMvZXhhbXBsZXMvcnRwL2NsaWVudC1QQ01BLnNoOgoJKiB0ZXN0cy9leGFtcGxlcy9ydHAvc2VydmVyLVZUUy1IMjYzcC1BVFMtUENNQS5zaDoKCSogdGVzdHMvZXhhbXBsZXMvcnRwL3NlcnZlci1WVFMtSDI2M3Auc2g6CgkqIHRlc3RzL2V4YW1wbGVzL3J0cC9zZXJ2ZXItYWxzYXNyYy1QQ01BLnNoOgoJKiB0ZXN0cy9leGFtcGxlcy9ydHAvc2VydmVyLWRlY29kZWJpbi1IMjYzcC1BTVIuc2g6CgkqIHRlc3RzL2V4YW1wbGVzL3J0cC9zZXJ2ZXItdjRsMi1IMjYzcC1hbHNhc3JjLUFNUi5zaDoKCSogdGVzdHMvZXhhbXBsZXMvcnRwL3NlcnZlci12NGwyLUgyNjQtYWxzYXNyYy1QQ01BLnNoOgoJICBleGFtcGxlczogdXBkYXRlIHNvbWUgZWxlbWVudCBuYW1lcyBmb3IgMS4wIGluIFJUUCBleGFtcGxlcwoJICBnc3RydHBiaW4gLT4gcnRwYmluCgkgIGZmZGVjXyogICAtPiBhdmRlY18qCgkgIGZmZW5jXyogICAtPiBhdmVuY18qCgoyMDEyLTEwLTEwIDEyOjA1OjM0ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiByZW1vdmUgdW51c2VkIGluY2x1ZGUKCjIwMTItMTAtMTAgMTA6NTU6MjggKzAyMDAgIFJhc211cyBSb2hkZSA8cm9oZGVAZHVmZi5kaz4KCgkqIGdzdC91ZHAvZ3N0bXVsdGl1ZHBzaW5rLmM6CgkqIGdzdC91ZHAvZ3N0bXVsdGl1ZHBzaW5rLmg6CgkgIG11bHRpdWRwc2luazogYWRkIG11bHRpY2FzdC1pZmFjZSBwcm9wZXJ0eQoJICB1ZHBzcmMgYWxyZWFkeSBoYXMgc3VwcG9ydCBmb3Igc2V0dGluZyB0aGUgbXVsdGljYXN0IGludGVyZmFjZSwgd2hpY2gKCSAgaXMgdXNlZnVsIGZvciBtdWx0aS1ob21lZCBtYWNoaW5lcy4gVGhpcyBwYXRjaCBhZGRzIHRoZSBzYW1lIGNvZGUgdG8KCSAgdGhlIG11bHRpdWRwc2luay4KCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4NTg2NAoKMjAxMi0xMC0xMCAxMTozMjoxNyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC91ZHAvZ3N0bXVsdGl1ZHBzaW5rLmM6CgkgIG11bHRpdWRwc2luazogZG9uJ3QgZXJyb3Igb24gc2VuZCBlcnJvcnMgYnV0IG9ubHkgd2FybgoJICBEb24ndCBlcnJvciBvbiBzZW5kIGVycm9ycyBidXQgc2ltcGx5IHBvc3QgYSB3YXJuaW5nLCBpdCdzIHBvc3NpYmxlCgkgIHRoYXQgdGhlIG5leHQgcGFja2V0IHdpbGwgYmUgZmluZS4KCjIwMTItMTAtMTAgMTA6Mjg6MjQgKzAyMDAgIFJhc211cyBSb2hkZSA8cm9oZGVAZHVmZi5kaz4KCgkqIGdzdC91ZHAvZ3N0bXVsdGl1ZHBzaW5rLmM6CgkqIGdzdC91ZHAvZ3N0bXVsdGl1ZHBzaW5rLmg6CgkgIG11bHRpdWRwc2luazogYWRkIGZvcmNlLWlwdjQgb3B0aW9uCgkgIEFkZCBhbiBvcHRpb24gdG8gdGhlIG11bHRpdWRwc2luayB0aGF0IG1ha2VzIGl0IHBvc3NpYmxlIHRvIGZvcmNlCgkgIHRoZSB1c2Ugb2YgYW4gSVB2NCBzb2NrZXQuCgkgIFRoaXMgY2FuIGUuZy4gYmUgdXNlZCB0byBoYW5kbGUgdGhlIGlzc3VlIGRlc2NyaWJlZCBpbgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjgyNDgxCgoyMDEyLTEwLTEwIDEwOjE4OjUyICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuYzoKCSogZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuaDoKCSAgbXVsdGl1ZHBzaW5rOiByZW1vdmUgdW51c2VkIGZpZWxkCgoyMDEyLTEwLTEwIDEwOjEwOjI2ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3VkcC9nc3R1ZHBzcmMuYzoKCSAgdWRwc3JjOiB1c2UgbmVnb3RpYXRlZCBhbGxvY2F0b3Igb3IgcG9vbAoJICBVc2UgdGhlIGJhc2UgY2xhc3MgdG8gYWxsb2NhdGUgYSBidWZmZXIgZm9yIHVzIGJlY2F1c2UgaXQga25vd3MgaG93CgkgIHRvIHVzZSB0aGUgbmVnb3RpYXRlZCBhbGxvY2F0b3Igb3IgYnVmZmVycG9vbC4KCjIwMTItMTAtMTAgMTA6MDk6MzcgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdWRwL2dzdG11bHRpdWRwc2luay5jOgoJICBtdWx0aXVkcHNpbms6IHBvc3QgZXJyb3Igd2hlbiBzb21ldGhpbmcgZ29lcyB3cm9uZwoKMjAxMi0xMC0xMCAxMDowOToxMCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5jOgoJICBzcGVjdHJ1bTogZWxlbWVudHMgcG9zdCBlbGVtZW50IG1lc3NhZ2VzCgoyMDEyLTEwLTA3IDE2OjU2OjM4ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tMTM5NC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYWNvbG9yLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFwZXRhZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb2Z4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvcGFyc2Vycy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9kZXRlY3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXZpLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhY2FzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWN1dHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWludGVybGFjZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmZlY3R2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVxdWFsaXplci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbGFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHhkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2RrcGl4YnVmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbTJrMS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pY3lkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pZDNkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbWFnZWZyZWV6ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlcmxlYXZlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlzb21wNC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwZWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGV2ZWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWF0cm9za2EueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlmaWxlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpcGFydC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uYXZpZ2F0aW9udGVzdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3M0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zc2F1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBuZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wdWxzZWF1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlcGxheWdhaW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cG1hbmFnZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRzcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaGFwZXdpcGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hvdXQyc2VuZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbXB0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWN0cnVtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXRhZ2xpYi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi11ZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW80bGludXgyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvYm94LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvY3JvcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2ZpbHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb21peGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZweC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14aW1hZ2VzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teTRtZW5jLnhtbDoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICBCYWNrIHRvIGRldmVsb3BtZW50IChidWcgZml4aW5nKQoKPT09IHJlbGVhc2UgMS4wLjEgPT09CgoyMDEyLTEwLTA3IDE1OjMxOjEyICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogQ2hhbmdlTG9nOgoJKiBORVdTOgoJKiBSRUxFQVNFOgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi0xMzk0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhY29sb3IueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXBldGFnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvZngueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9wYXJzZXJzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2RldGVjdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdmkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FjYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY3V0dGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlaW50ZXJsYWNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZmVjdHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXF1YWxpemVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZseGRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZGtwaXhidWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tMmsxLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWljeWRlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlkM2RlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWltYWdlZnJlZXplLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVybGVhdmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taXNvbXA0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWphY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanBlZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sZXZlbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tYXRyb3NrYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aWZpbGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlwYXJ0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5hdmlnYXRpb250ZXN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zczQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5nLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXB1bHNlYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVwbGF5Z2Fpbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwbWFuYWdlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHNwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNoYXBld2lwZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaG91dDJzZW5kLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNtcHRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlY3RydW0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdGFnbGliLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXVkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlbzRsaW51eDIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9ib3gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9jcm9wLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvZmlsdGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvbWl4ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdnB4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXhpbWFnZXNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi15NG1lbmMueG1sOgoJKiBnc3QtcGx1Z2lucy1nb29kLmRvYXA6CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgUmVsZWFzZSAxLjAuMQoKMjAxMi0xMC0wNiAxNDo1NzoxMCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gNmMwYjUyYyB0byA2YmI2OTUxCgoyMDEyLTEwLTA1IDE1OjEyOjI3IC0wNzAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAcmRpby5jb20+CgoJKiBnc3QvaW50ZXJsZWF2ZS9kZWludGVybGVhdmUuYzoKCSAgZGVpbnRlcmxlYXZlOiBvdXRwdXQgY2hhbm5lbHMgc2hvdWxkIGJlIG1hcmtlZCBhcyBNT05PLCBub3QgRlJPTlRfTEVGVCwgaWYgd2UncmUgbm90IHByZXNlcnZpbmcgaW5wdXQgY2hhbm5lbCBwb3NpdGlvbnMuCgoyMDEyLTEwLTA0IDE1OjEzOjIwIC0wNzAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAcmRpby5jb20+CgoJKiBnc3QvaW50ZXJsZWF2ZS9pbnRlcmxlYXZlLmM6CgkgIGludGVybGVhdmU6IHVzZSBnc3RfYXVkaW9fY2hhbm5lbF9wb3NpdGlvbnNfdG9fbWFzayBpbnN0ZWFkIG9mIGEgbG9jYWwgY29weSBvZiBoYWxmIG9mIGl0LiBIYW5kbGVzIHNvbWUgdmFsdWVzIG1vcmUgY29ycmVjdGx5LgoKMjAxMi0xMC0wNCAyMDozMjo0NSArMDIwMCAgUmFzbXVzIFJvaGRlIDxyb2hkZUBkdWZmLmRrPgoKCSogZ3N0L3J0cC9nc3RydHBnc3RkZXBheS5jOgoJICBnc3RydHBkZXBheTogZG9uJ3QgbGVhayBpbnB1dCBidWZmZXIKCSAgVGhlIHJ0cCBidWZmZXIgaXMgbmV2ZXIgdW5tYXBwZWQgaW4gdGhlIG5vcm1hbCBjb2RlIGV4aXQgcGF0aAoJICBvZiBnc3RfcnRwX2dzdF9kZXBheV9wcm9jZXNzKC4uKSByZXN1bHRpbmcgaW4gYSBtZW1vcnkgbGVhay4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4NTUxMgoKMjAxMi0xMC0wNCAxODozNzoxOCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9maWx0ZXIvZ3N0dmlkZW9iYWxhbmNlLmM6CgkgIHZpZGVvYmFsYW5jZTogQWRkIHN1cHBvcnQgZm9yIE5WMTIgYW5kIE5WMjEKCjIwMTItMTAtMDEgMTU6MTE6MDUgKzAyMDAgIFBhdHJpY2lhIE11c2NhbHUgPHBhdHJpY2lhQGF4aXMuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBoMjY0cGF5LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cC1wYXlsb2FkaW5nLmM6CgkgIHJ0cGgyNjRwYXk6IGRvIG5vdCBwdXNoIHVubWFwcGVkIGRhdGEKCSAgQWxzbyBkbyBub3QgdXNlIGEgR3N0QnVmZmVyIGFmdGVyIGl0IGhhcyBiZWVuIHB1c2hlZCBpbnRvIHRoZSBhZGFwdGVyLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njg1MjEzCgoyMDEyLTEwLTAzIDEwOjUxOjQ1IC0wNzAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAcmRpby5jb20+CgoJKiBnc3QvaW50ZXJsZWF2ZS9kZWludGVybGVhdmUuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSogc3lzL3hpbWFnZS94aW1hZ2V1dGlsLmM6CgkgIG1ldGEgaW5mbzogdGhyZWFkc2FmZSByZWdpc3RyYXRpb24gdXNpbmcgZ19vbmNlCgoyMDEyLTEwLTAxIDE1OjQ0OjAxICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgYXZpZGVtdXg6IHB1c2ggbW9kZTsgaGFuZGxlIHNvbWUgaW5pdGlhbCBqdW5rIGJlZm9yZSBoZHJsIGxpc3QKCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4NTA1OQoKMjAxMi0xMC0wMSAxNDowMzoxOSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9pY2xlcy9nZGtwaXhidWZzaW5rLXRlc3QuYzoKCSAgdGVzdHM6IHBvcnQgZ2RrcGl4YnVmc2luayB0ZXN0CgoyMDEyLTA5LTI5IDExOjU5OjMxICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZ3N0L2xldmVsL2dzdGxldmVsLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3ZpZGVvY3JvcC5jOgoJICBQdXJnZSByZWZlcmVuY2VzIHRvIGxpYm9pbAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjczMjg1CgoyMDEyLTA5LTI4IDE2OjUxOjAxICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdmkvYXZpLWlkcy5oOgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIGF2aWRlbXV4OiByZWNvZ25pemUgYWxsIHhzdWIgZnJhbWVzIGFzIGtleWZyYW1lcwoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njg0OTc3CgoyMDEyLTA5LTI4IDE2OjUwOjI1ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgYXZpZGVtdXg6IHB1c2ggbW9kZTogZmluZCB0aGUgY29ycmVjdCBjaHVuayBmb3Igc2VnbWVudCBmb2xsb3dpbmcgc2VlawoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njg0OTc3CgoyMDEyLTA5LTI3IDIyOjE3OjQ5ICswMTAwICBBcm5hdWQgVnJhYyA8cmF3b3VsQGdtYWlsLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5oOgoJICBxdGRlbXV4OiBmaXggcGFyc2luZyBpbiBwdXNoIG1vZGUgd2hlbiBtb292IGF0b20gaXMgYXQgdGhlIGVuZAoJICBXaGVuIHBsYXlpbmcgYW4gbXA0IGZpbGUgd2l0aCB0aGUgTU9PViBhdG9tIGF0IHRoZSBlbmQgb2YgdGhlIGZpbGUsIHBsYXliYWNrCgkgIGZhaWxzIHdpdGggdGhlIGVycm9yIG1lc3NhZ2UgIm5vICdtb292JyBhdG9tIHdpdGhpbiB0aGUgZmlyc3QgMTAgTUIiLiBUaGlzIGlzCgkgIGR1ZSB0byBhIG1pc3Rha2UgaW4gdGhlIHVwc3RyZWFtX3NpemUgdHlwaW5nLCBtYWtpbmcgdGhlIHNlZWsgdG8gdGhlIGVuZCBvZgoJICBmaWxlIG5ldmVyIGhhcHBlbmluZy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4NDk3MgoKMjAxMi0wOS0yNyAxNTo1MDo0OSAtMDMwMCAgQW5kcmUgTW9yZWlyYSBNYWdhbGhhZXMgKGFuZHJ1bmtvKSA8YW5kcmUubWFnYWxoYWVzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb2ZpbHRlci9nc3RnYW1tYS5jOgoJICBnYW1tYTogcmVtb3ZlIGR1cGxpY2F0ZSBlbnRyaWVzIGF0IGZvcm1hdCBhdCBjYXBzCgkgIEF2b2lkcyBleHRyYSBjYXBzL3N0cnVjdHVyZXMgcHJvY2Vzc2luZwoKMjAxMi0wOS0yNyAxNDoxMzo0MiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwdnJhd2RlcGF5LmM6CgkgIHJ0cHZyYXdkZXBheTogbmVnb3RpYXRlIHBvb2wgd2l0aCBzcmNwYWQgY2FwcwoKMjAxMi0wOS0yNyAxMTowMjo1MSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZHYvZ3N0ZHZkZW11eC5jOgoJICBkdmRlbXV4OiBUaGUgY29udmVydCBhbmQgZHVyYXRpb24gcXVlcmllcyBhcmUgbm90IHN1cHBvc2VkIHRvIGNoYW5nZSB0aGUgZm9ybWF0CgoyMDEyLTA5LTI2IDA5OjI4OjU5ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlcjIuYzoKCSAgdmlkZW9taXhlcjogY2xlYXIgdmlkZW8gZnJhbWUgbW9yZSBjb3JyZWN0bHkKCSAgTWFrZSBzdXJlIG5vdCB0byB0b3VjaCBtZW1vcnkgdGhhdCBkb2Vzbid0IGJlbG9uZyB0bwoJICBvdXIgZnJhbWUsIHdlIG1pZ2h0IGJlIG9uZSBwYXJ0IG9mIGEgc2lkZS1ieS1zaWRlIDNECgkgIGZyYW1lLCBvciBpbiBhIHBpY3R1cmUtaW4tcGljdHVyZSBzY2VuYXJpby4KCjIwMTItMDktMjYgMDA6NDQ6NTkgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6CgkgIGZsdmRlbXV4OiBtaW5vciBjbGVhbi11cAoJICBVc2UgR3N0Qnl0ZVdyaXRlciwgYmVjYXVzZSB3ZSBjYW4sIGFuZCBnX3ZhbHVlX3Rha2VfYm94ZWQuCgoyMDEyLTA5LTEwIDEwOjI3OjI4ICswNDAwICBEbWl0cml5IFNhbW9uZW5rbyA8ZG1pdHJpeS5zYW1vbmVua29AdGVsaWdlbnQucnU+CgoJKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6CgkgIGZsdmRlbXV4OiBmaXggc3BlZXggYXVkaW8gZGVjb2RpbmcgYnkgY3JlYXRpbmcgZmFrZSBzdHJlYW0gaGVhZGVyCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODM2MjIKCjIwMTItMDktMjUgMjE6MjE6MTUgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyMi5jOgoJKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvc2ltcGxlLWxhdW5jaC1saW5lcy5jOgoJICB2aWRlb21peGVyOiBmaXggd2FybmluZ3Mgd2hlbiB1c2luZyB0cmFuc3BhcmVudCBiYWNrZ3JvdW5kCgkgIGdzdF92aWRlb19mcmFtZV9tYXAoKSBpbmNyZWFzZXMgdGhlIHJlZmNvdW50LCB3aGljaCBtYWtlcwoJICB0aGUgYnVmZmVyIG5vdCB3cml0YWJsZSBhbnkgbW9yZSB0ZWNobmljYWxseSwgc28gY2FsbGluZwoJICBnc3RfYnVmZmVyX21lbXNldCgpIG9uIGl0IHdpbGwgY2F1c2UgbmFzdHkgd2FybmluZ3MuCgkgIFVuaXQgdGVzdCBkaXNhYmxlZCBiZWNhdXNlIGl0IHZlcnkgcmFyZWx5IChmb3IgbWUpCgkgIGZhaWxzLCBwb3NzaWJseSBuZWdvdGlhdGlvbi1yZWxhdGVkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njg0Mzk4CgoyMDEyLTA5LTI1IDEwOjQzOjI4ICswMjAwICBSb2JlcnQgU3dhaW4gPHJvYmVydC5zd2FpbkBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuYzoKCSAgZGVpbnRlcmxhY2U6IEFkZCBzb21lIHVzZWZ1bCBkZWJ1ZyBsb2dnaW5nCgoyMDEyLTA5LTI1IDEwOjQxOjQ0ICswMjAwICBSb2JlcnQgU3dhaW4gPHJvYmVydC5zd2FpbkBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuYzoKCSAgZGVpbnRlcmxhY2U6IEZpeCB0ZWxlY2luZQoJICBUaGlzIG9ubHkgYWZmZWN0cyBiZWhhdmlvdXIgaW4gdGVsZWNpbmUgY2FzZXMgd2l0aCBwYXR0ZXJuIGxvY2tpbmcKCSAgZW5hYmxlZC4gVGhlIGRlZmF1bHQgY2FzZSBzaG91bGQgYmUgdW50b3VjaGVkLgoJICBUaGlzIHdvcmtzIHdpdGggdGhlIG91dHB1dCBmcm9tIGZpZWxkYW5hbHlzaXMgYXQgbGVhc3QsIGJ1dCB0aGUgZmllbGQKCSAgb3JkZXIgbG9va3Mgc3dhcHBlZCBmb3IgdGVsZWNpbmUgbWl4ZWQgYnVmZmVycyB3aXRoIHRoZQoJICBEYXZpZF9zbGlkZXNfU2NobGVlZiBjbGlwLgoKMjAxMi0wOS0yNSAxNDo0MzoxNSArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnB4L2dzdHZwOGVuYy5jOgoJICB2cDhlbmM6IERpc2FibGUgR0xJQiBkZXByZWNhdGlvbiB3YXJuaW5ncwoJICBHVmFsdWVBcnJheSBoYXMgYmVlbiBkZXByZWNhdGVkIHNpbmNlIDIuMzIgLi4uIGJ1dCB0aGVyZSdzIG5vIHVzYWJsZQoJICByZXBsYWNlbWVudCBmb3IgaXQuCgkgIFNlZSBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjY3MjI4CgoyMDEyLTA5LTI1IDE0OjE4OjM1ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIyLmM6CgkgIHZpZGVvbWl4ZXI6IEZpeCBsZWFrCgoyMDEyLTA5LTI0IDE2OjQ2OjE4ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLTEzOTQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWFzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGFjb2xvci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hcGV0YWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9meC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb3BhcnNlcnMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvZGV0ZWN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF2aS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWNhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jdXR0ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVpbnRlcmxhY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZmZWN0di54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lcXVhbGl6ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmxhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx4ZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdka3BpeGJ1Zi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20yazEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWN5ZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW1hZ2VmcmVlemUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXJsZWF2ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pc29tcDQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tamFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxldmVsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1hdHJvc2thLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpZmlsZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aXBhcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmF2aWdhdGlvbnRlc3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzNC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3NhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbmcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcHVsc2VhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXBsYXlnYWluLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHBtYW5hZ2VyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0c3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hhcGV3aXBlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNob3V0MnNlbmQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc21wdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVjdHJ1bS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10YWdsaWIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdWRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvNGxpbnV4Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2JveC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2Nyb3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9maWx0ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9taXhlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12cHgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2ZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teGltYWdlc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXk0bWVuYy54bWw6CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgQmFjayB0byBkZXZlbG9wbWVudCAoYnVnIGZpeGluZykKCj09PSByZWxlYXNlIDEuMC4wID09PQoKMjAxMi0wOS0yNCAxNDowNjo0MiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBORVdTOgoJKiBSRUxFQVNFOgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi0xMzk0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhY29sb3IueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXBldGFnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvZngueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9wYXJzZXJzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2RldGVjdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdmkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FjYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY3V0dGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlaW50ZXJsYWNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZmVjdHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXF1YWxpemVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZseGRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZGtwaXhidWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tMmsxLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWljeWRlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlkM2RlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWltYWdlZnJlZXplLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVybGVhdmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taXNvbXA0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWphY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanBlZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sZXZlbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tYXRyb3NrYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aWZpbGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlwYXJ0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5hdmlnYXRpb250ZXN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zczQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5nLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXB1bHNlYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVwbGF5Z2Fpbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwbWFuYWdlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHNwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNoYXBld2lwZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaG91dDJzZW5kLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNtcHRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlY3RydW0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdGFnbGliLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXVkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlbzRsaW51eDIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9ib3gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9jcm9wLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvZmlsdGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvbWl4ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdnB4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXhpbWFnZXNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi15NG1lbmMueG1sOgoJKiBnc3QtcGx1Z2lucy1nb29kLmRvYXA6CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgUmVsZWFzZSAxLjAuMAoKMjAxMi0wOS0yNCAxMTo1Njo1NiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9yZ2FuYWx5c2lzLmM6CgkgIHRlc3RzOiByZW1vdmUgZ19wcmludGVycigpIHRoYXQncyBub3QgbmVlZGVkIGFueSBsb25nZXIKCSAgbm93IHRoYXQgdGNhc2Vfc2tpcF9icm9rZW5fdGVzdCgpIHByaW50cyBpdCBhcyB3ZWxsLgoKMjAxMi0wOS0yMyAxOTo1MDo0MiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3JnYW5hbHlzaXMuYzoKCSAgdGVzdHM6IGRpc2FibGUgZmFpbGluZyByZXBsYXlnYWluIHRlc3RzCgoyMDEyLTA5LTIzIDE2OjMxOjM3ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZ3N0L3NtcHRlL2dzdHNtcHRlLmM6CgkqIGdzdC9zbXB0ZS9nc3RzbXB0ZS5oOgoJICBzbXB0ZTogc2VuZCBzdHJlYW0tc3RhcnQgZXZlbnQKCjIwMTItMDktMjMgMTY6MTA6MzYgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBnc3QvbXVsdGlwYXJ0L211bHRpcGFydG11eC5jOgoJKiBnc3QvbXVsdGlwYXJ0L211bHRpcGFydG11eC5oOgoJICBtdWx0aXBhcnRtdXg6IHNlbmQgc3RyZWFtLXN0YXJ0IGV2ZW50CgoyMDEyLTA5LTIzIDE2OjAyOjE5ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJICBtYXRyb3NrYW11eDogc2VuZCBzdHJlYW0tc3RhcnQKCjIwMTItMDktMjMgMTU6NTc6MzUgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBzZW5kIHN0cmVhbS1zdGFydCBldmVudAoKMjAxMi0wOS0yMyAxNTo0ODo1NCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGdzdC9pbnRlcmxlYXZlL2ludGVybGVhdmUuYzoKCSogZ3N0L2ludGVybGVhdmUvaW50ZXJsZWF2ZS5oOgoJICBpbnRlcmxlYXZlOiBhZGQgYSBidW5jaCBvZiBGSVhNRXMKCSAgTmVlZHMgc29tZSBtb3JlIHdvcmssIHNvIHN0cmVhbS1zdGFydCwgY2FwcyBhbmQgdGFncyBhcmUKCSAgc2VudCBpbiB0aGUgcmlnaHQgb3JkZXIuCgoyMDEyLTA5LTIzIDE1OjE4OjU0ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZ3N0L2Zsdi9nc3RmbHZtdXguYzoKCSAgZmx2bXV4OiBzZW5kIHN0cmVhbS1zdGFydCBldmVudAoKMjAxMi0wOS0yMyAxNToxNjoxNCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGdzdC9hdmkvZ3N0YXZpbXV4LmM6CgkgIGF2aW11eDogc2VuZCBzdHJlYW0tc3RhcnQgZXZlbnQKCjIwMTItMDktMjIgMTU6MDA6MjcgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mZGVwYXkuYzoKCSAgcnRwZHRtZmRlcGF5OiBVc2UgMS4wLXN0eWxlIGNhcHMgbmVnb3RpYXRpb24gYW5kIGF1ZGlvL3gtcmF3CgoyMDEyLTA5LTIyIDE2OjA4OjA1ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSA0Zjk2MmY3IHRvIDZjMGI1MmMKCjIwMTItMDktMjEgMjE6NTQ6MzYgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBhbnN3ZXIgVVJJIHF1ZXJ5CgkgIFdpdGhvdXQgdGhpcywgc29tZXRoaW5nIGFsc28gYW5zd2VyZWQgdGhlIHF1ZXJ5CgkgIHdpdGggVFJVRSBidXQgd2l0aG91dCBzZXR0aW5nIGEgdXJpLCBub3Qgc3VyZQoJICB3aGF0IHRoYXQgd2FzLi4KCjIwMTItMDktMjAgMTc6Mjg6NDcgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRwYXkuYzoKCSAgcnRwaDI2NHBheTogTWFrZSBzdXJlIHRoZSBjYXBzIGRvbid0IGhhdmUgZHVwbGljYXRlZCBzcHMvcHBzCgoyMDEyLTA5LTIwIDE5OjU4OjEyICswMjAwICBBcnVuIFJhZ2hhdmFuIDxhcnVuLnJhZ2hhdmFuQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9wdWxzZS9wdWxzZXNyYy5jOgoJICBwdWxzZXNyYzogTXV0ZSBzdHJlYW0gcG9zdC1jb25uZWN0aW9uIGlmIHJlcXVpcmVkCgkgIEEgYnVnIGluIFB1bHNlQXVkaW8gY2F1c2VzIFBBX1NUUkVBTV9TVEFSVF9NVVRFRCB0byBiZSByZWplY3RlZCBvbgoJICByZWNvcmQgc3RyZWFtcy4gVW50aWwgdGhpcyBpcyBmaXhlZCB1cHN0cmVhbSwgd2UgbXV0ZSB0aGUgc3RyZWFtCgkgIG1hbnVhbGx5IGF0IHN0YXJ0dXAuIEJhc2VkIG9uIGEgcGF0Y2ggYnkgQWxiYW4gQnJvd2FleXMKCSAgPHByYWhhbEB5YWhvby5jb20+LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njg0NDY5CgoyMDEyLTA5LTIwIDE4OjAwOjU5IC0wNzAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAcmRpby5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogMjQgYml0IGF1ZGlvIGhlcmUgaXMgUzI0TEUsIG5vdCBTMjRfM0xFLgoKMjAxMi0wOS0yMCAxMDowNzoyNCArMDIwMCAgU2pvZXJkIFNpbW9ucyA8c2pvZXJkQGx1b24ubmV0PgoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJICB2NGwyc3JjOiBoYW5kbGUgbGF0ZW5jeSBxdWVyeSBiZWZvcmUgc2V0dGluZyB1cCB0aGUgYnVmZmVycG9vbAoJICBGaXhlcyBjcmFzaCBpZiBubyBidWZmZXJwb29sIGlzIHNldCB1cCB5ZXQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODQ0MzAKCjIwMTItMDktMTkgMDk6MTc6MDMgKzA1MzAgIEFydW4gUmFnaGF2YW4gPGFydW4ucmFnaGF2YW5AY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGF1ZGlvc2luay5jOgoJICBvc3hhdWRpb3Npbms6IFNwZWNpZnkgZW5kaWFubmVzcyBpbiBJRUMgNjE5MzcgcGF5bG9hZGluZwoJICBDb3JyZXNwb25kcyB0byBhbiBBUEkgY2hhbmdlIGluIGdzdC1wbHVnaW5zLWJhc2UuIFRoaXMgbmVlZHMgdG8gYmUgZml4ZWQKCSAgdG8gcXVlcnkgdGhlIGV4cGVjdGVkIGJ5dGUgb3JkZXIgdXNpbmcgYXBwcm9wcmlhdGUgQVBJLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njc4MDIxCgoyMDEyLTA5LTE5IDA5OjE1OjUzICswNTMwICBBcnVuIFJhZ2hhdmFuIDxhcnVuLnJhZ2hhdmFuQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9kaXJlY3Rzb3VuZC9nc3RkaXJlY3Rzb3VuZHNpbmsuYzoKCSAgZGlyZWN0c291bmRzaW5rOiBTcGVjaWZ5IGVuZGlhbm5lc3MgaW4gSUVDIDYxOTM3IHBheWxvYWRpbmcKCSAgRGlyZWN0U291bmQgZXhwZWN0cyBuYXRpdmUgZW5kaWFuIGJ5dGUgb3JkZXIuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NzgwMjEKCjIwMTItMDktMTkgMDk6MTM6MTEgKzA1MzAgIEFydW4gUmFnaGF2YW4gPGFydW4ucmFnaGF2YW5AY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJICBwdWxzZXNpbms6IFNwZWNpZnkgZW5kaWFubmVzcyBpbiBJRUMgNjE5MzcgcGF5bG9hZGluZwoJICBDb3JyZXNwb25kcyB0byBhbiBBUEkgY2hhbmdlIGluIGdzdC1wbHVnaW5zLWJhc2UuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NzgwMjEKCjIwMTItMDktMTkgMDA6Mzk6MDEgKzAyMDAgIFJvYmVydCBTd2FpbiA8cm9iZXJ0LnN3YWluQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5jOgoJICBkZWludGVybGFjZTogUmVtb3ZlIGluY29ycmVjdCBsb2dpYwoJICBJIGRvbid0IHVuZGVyc3RhbmQgd2h5IHRoZXNlIGxpbmVzIHdlcmUgYWRkZWQsIHRoZXkgZG9uJ3QgbWFrZSBzZW5zZSB0bwoJICBtZSBub3cgYW5kIGJvdGggRGF2aWQgYW5kIEkgYWdyZWUgdGhhdCByZW1vdmluZyB0aGVtIG1vdmVzIGNsb3NlciB0bwoJICByZWxhdGVkIGxvZ2ljIGJlaW5nIGNvcnJlY3QsIHRoZXJlZm9yZSwgdGhleSdyZSBiZWluZyByZW1vdmVkLgoJICBJJ3ZlIHRlc3RlZCBhIGZldyBwcm9ncmVzc2l2ZSwgaW50ZXJsYWNlZCBhbmQgdGVsZWNpbmUgY2xpcHMgYW5kIHRoZXkKCSAgYWxsIGJlaGF2ZSBwcm9wZXJseSB0aW1lc3RhbXAtd2lzZSBhbmQgdmlzdWFsbHkgYWZ0ZXIgdGhlc2UgY2hhbmdlcy4KCjIwMTItMDktMTkgMDA6MTc6NDkgKzAyMDAgIFJvYmVydCBTd2FpbiA8cm9iZXJ0LnN3YWluQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5jOgoJICBkZWludGVybGFjZTogRml4IGZpZWxkIGR1cmF0aW9uCgkgIFRoZSBmcmFtZSByYXRlIGZyYWN0aW9uIGlzIGNvcnJlY3RseSBhZGp1c3RlZCBpbiB0aGUgY2FzZXMgcHJlY2VkaW5nIHRoZQoJICBmaWVsZCBkdXJhdGlvbiBjYWxjdWxhdGlvbiBhbmQgc28gdGhlIGZhY3RvciBvZiAyIGlzIGluY29ycmVjdC4KCjIwMTItMDktMTggMTA6MzQ6MDMgLTA3MDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEByZGlvLmNvbT4KCgkqIGdzdC92aWRlb2JveC9nc3R2aWRlb2JveC5jOgoJICB2aWRlb2JveDogRml4IFUvViBzdHJpZGVzIGZvciBhIG51bWJlciBvZiBjYXNlcy4KCjIwMTItMDktMTggMTI6MTM6MjEgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlcjIuYzoKCSAgdmlkZW9taXhlcjogaW5pdCB2aWRlb2luZm8KCSAgLi4uIHRvIHByZXZlbnQgcmFuZG9tIGJvZ3VzIGNhcHMgZmllbGRzLgoKMjAxMi0wOS0xOCAxMjoxMjozOSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyMi5jOgoJICB2aWRlb21peGVyOiBjaGFpbiB1cCB0byBjb2xsZWN0cGFkcyBxdWVyeSBmdW5jdGlvbgoKMjAxMi0wOS0xNyAxMzoxNzowMCAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyMi5jOgoJICB2aWRlb21peGVyOiBEb24ndCBsZXQgR3N0Q29sbGVjdFBhZCBzaGFkb3cgY3VzdG9tIHNpbmsgcGFkIHF1ZXJ5IGZ1bmMKCSAgSW4gdGhlIGN1cnJlbnQgaW1wbGVtZW50YXRpb24sIHRoZSBjdXN0b20gcGFkIHF1ZXJ5IGZ1bmN0aW9uIGlzIG5vdCBjYWxsZWQuCgkgIFRoaXMgcGF0Y2gsIHNldCB0aGF0IHF1ZXJ5IGZ1bmN0aW9uIG9uIHRoZSBHc3RDb2xsZWN0UGFkcyB0byBhdm9pZCB0aGlzCgkgIHNoYWRvd2luZy4KCSAgU2VlIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODQyMzcKCjIwMTItMDktMTcgMTg6MjM6MTEgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvZmlsZXMvTWFrZWZpbGUuYW06CgkgIHRlc3RzOiBkaXN0IGltYWdlLmpwZyBmb3IganBlZyB0ZXN0Cgo9PT0gcmVsZWFzZSAwLjExLjk5ID09PQoKMjAxMi0wOS0xNyAxNzo1Nzo1OCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC1wbHVnaW5zLWdvb2QuZG9hcDoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICBSZWxlYXNlIDAuMTEuOTkKCjIwMTItMDktMTcgMTY6NTM6MDQgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMudHlwZXM6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi0xMzk0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhY29sb3IueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXBldGFnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvZngueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9wYXJzZXJzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2RldGVjdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdmkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FjYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY3V0dGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlaW50ZXJsYWNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZmVjdHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXF1YWxpemVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZseGRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZGtwaXhidWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tMmsxLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWljeWRlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlkM2RlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWltYWdlZnJlZXplLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVybGVhdmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taXNvbXA0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWphY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanBlZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sZXZlbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tYXRyb3NrYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aWZpbGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlwYXJ0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5hdmlnYXRpb250ZXN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zczQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5nLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXB1bHNlYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVwbGF5Z2Fpbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwbWFuYWdlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHNwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNoYXBld2lwZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaG91dDJzZW5kLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNtcHRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlY3RydW0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdGFnbGliLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXVkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlbzRsaW51eDIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9ib3gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9jcm9wLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvZmlsdGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvbWl4ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdnB4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXhpbWFnZXNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi15NG1lbmMueG1sOgoJICBkb2NzOiB1cGRhdGUKCjIwMTItMDktMTcgMTM6MzA6MTUgKzAyMDAgIENocmlzdGlhbiBGcmVkcmlrIEthbGFnZXIgU2NoYWxsZXIgPHVyYWV1c0BsaW51eHJpc2luLm9yZz4KCgkqIGdzdC1wbHVnaW5zLWdvb2Quc3BlYy5pbjoKCSAgRml4IHNwZWMgZmlsZSBmb3IgdnA4IG1vdmUKCjIwMTItMDktMTcgMTM6MjM6MzYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogTWFrZWZpbGUuYW06CgkgIGFubm9kZXg6IEFkZCB0byB0aGUgQ1JVRlRfRElSUwoKMjAxMi0wOS0xNyAxMjoxNDowNyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1oYWxlbGVtZW50cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tb25vc2NvcGUueG1sOgoJICBkb2NzOiB1cGRhdGUKCjIwMTItMDktMTcgMDk6NDg6NTYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZweC9nc3R2cDhlbmMuYzoKCSAgdnA4ZW5jOiBDb3JyZWN0bHkgZmluaXNoIGZyYW1lcwoJICBQcmV2aW91c2x5IHdlIHdvdWxkIGFsd2F5cyBnZXQgdGhlIHNhbWUgZnJhbWUgaWYgbXVsdGlwbGUgZnJhbWVzIGFyZSBwZW5kaW5nLAoJICBsZWFraW5nIG1lbW9yeSBvZiB0aGUgcHJldmlvdXMgZnJhbWVzIGFuZCBicmVha2luZyB0aW1lc3RhbXBzLgoKMjAxMi0wOS0xNyAwOTo0MDo0MSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnB4L2dzdHZwOGVuYy5jOgoJICB2cDhlbmM6IEFsbG93IGNoYW5naW5nIGJpdHJhdGUgYW5kIG90aGVyIHBhcmFtZXRlcnMgZHVyaW5nIHBsYXliYWNrCgkgIEZpeGVzIGJ1ZyAjNjQ4Mjc2LgoKMjAxMi0wOS0xNyAwOToxNjozOSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnB4L2dzdHZwOGVuYy5jOgoJKiBleHQvdnB4L2dzdHZwOGVuYy5oOgoJICB2cDhlbmM6IFN0b3JlIGNvbmZpZ3VyYXRpb24gaW4gdGhlIHZweF9jb2RlY19lbmNfY2ZnX3Qgc3RydWN0IGluc3RlYWQgb2YgZHVwbGljYXRpbmcgYWxsIHZhcmlhYmxlcwoJICBBbHNvIHByb3RlY3QgZW5jb2RlciB3aXRoIGEgbXV0ZXguCgoyMDEyLTA5LTE2IDE2OjAzOjA2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cHgvZ3N0dnA4ZW5jLmM6CgkgIHZwOGVuYzogVXBkYXRlIGRvY3VtZW50YXRpb24gdG8gcmVmbGVjdCBuZXcgcHJvcGVydHkgbmFtZXMKCSAgLi4uYW5kIGFsc28gbGluayB0byB0aGUgV2ViTSBlbmNvZGVyIHBhcmFtZXRlcnMgd2Vic2l0ZS4KCjIwMTItMDktMTYgMTU6NTc6NTggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZweC9nc3R2cDhlbmMuYzoKCSAgdnA4ZW5jOiBNYWtlIHNvbWUgcHJvcGVydHkgbmFtZXMgbW9yZSByZWFkYWJsZQoKMjAxMi0wOS0xNiAxNTo0NzoxNiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy8uZ2l0aWdub3JlOgoJICB2cDg6IEFkZCB0ZXN0cyB0byAuZ2l0aWdub3JlCgoyMDEyLTA5LTE2IDE1OjQ2OjMxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3ZwOGVuYy5jOgoJICB2cDhlbmM6IFVwZGF0ZSBwYXRjaCB0byB0aGUgbmV3IHByb3BlcnR5IG5hbWVzCgoyMDEyLTA5LTE2IDE1OjQ2OjIyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICB2cHg6IEludGVncmF0ZSB0ZXN0IGludG8gdGhlIGJ1aWxkIHN5c3RlbSB0b28KCjIwMTItMDItMDcgMTc6MDA6MjYgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy92cDhkZWMuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvdnA4ZW5jLmM6CgkgIFtNT1ZFRCBGUk9NIEJBRCA2LzZdIHRlc3RzOiBmaXggbW9yZSB1bml0IHRlc3RzCgoyMDExLTExLTI0IDIxOjQyOjM5ICswMTAwICBSZW7DqSBTdGFkbGVyIDxyZW5lLnN0YWRsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvdnA4ZGVjLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3ZwOGVuYy5jOgoJICBbTU9WRUQgRlJPTSBCQUQgNS82XSB0ZXN0czogdXBkYXRlIGZvciBnc3RjaGVjayBBUEkgY2hhbmdlCgoyMDEwLTA3LTEwIDE1OjQ2OjUxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3ZwOGRlYy5jOgoJICBbTU9WRUQgRlJPTSBCQUQgNC82XSB2cDhkZWM6IEFkZCBzaW1wbGUgdW5pdCB0ZXN0IGZvciB2cDhkZWMKCjIwMTAtMDctMTAgMTU6NDY6NDMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvdnA4ZW5jLmM6CgkgIFtNT1ZFRCBGUk9NIEJBRCAzLzZdIHZwOGVuYzogSW1wcm92ZSB1bml0IHRlc3QgYSBiaXQKCjIwMTAtMDctMTAgMTU6MzI6MjkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvdnA4ZW5jLmM6CgkgIFtNT1ZFRCBGUk9NIEJBRCAyLzZdIHZwOGVuYzogQWxzbyBjaGVjayB0aGUgb3V0cHV0IGNhcHMgaW4gdGhlIHVuaXQgdGVzdAoKMjAxMC0wNy0xMCAxNToyOTo0NiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy92cDhlbmMuYzoKCSAgW01PVkVEIEZST00gQkFEIDEvNl0gdnA4ZW5jOiBBZGQgc2ltcGxlIHVuaXQgdGVzdAoKMjAxMi0wOS0xNiAxNTo0MzozOSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1kb2NzLnNnbWw6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmludGVyZmFjZXM6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi0xMzk0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhY29sb3IueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXBldGFnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvZngueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9wYXJzZXJzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2RldGVjdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdmkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FjYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY3V0dGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlaW50ZXJsYWNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZmVjdHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXF1YWxpemVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZseGRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZGtwaXhidWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tMmsxLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWljeWRlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlkM2RlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWltYWdlZnJlZXplLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVybGVhdmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taXNvbXA0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWphY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanBlZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sZXZlbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tYXRyb3NrYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aWZpbGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlwYXJ0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5hdmlnYXRpb250ZXN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zczQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5nLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXB1bHNlYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVwbGF5Z2Fpbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwbWFuYWdlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHNwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNoYXBld2lwZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaG91dDJzZW5kLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNtcHRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlY3RydW0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdGFnbGliLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXVkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlbzRsaW51eDIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9ib3gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9jcm9wLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvZmlsdGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvbWl4ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdnB4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXhpbWFnZXNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi15NG1lbmMueG1sOgoJKiBleHQvTWFrZWZpbGUuYW06CgkgIHZweDogSW50ZWdyYXRlIGludG8gdGhlIGJ1aWxkIHN5c3RlbQoKMjAxMi0wOS0xNiAxNTozMzo1NyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnA4L0dzdFZQOEVuYy5wcnM6CgkqIGV4dC92cDgvTWFrZWZpbGUuYW06CgkqIGV4dC92cDgvZ3N0dnA4ZGVjLmM6CgkqIGV4dC92cDgvZ3N0dnA4ZGVjLmg6CgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmM6CgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmg6CgkqIGV4dC92cDgvZ3N0dnA4dXRpbHMuYzoKCSogZXh0L3ZwOC9nc3R2cDh1dGlscy5oOgoJKiBleHQvdnA4L3BsdWdpbi5jOgoJKiBleHQvdnB4L0dzdFZQOEVuYy5wcnM6CgkqIGV4dC92cHgvTWFrZWZpbGUuYW06CgkqIGV4dC92cHgvZ3N0dnA4ZGVjLmM6CgkqIGV4dC92cHgvZ3N0dnA4ZGVjLmg6CgkqIGV4dC92cHgvZ3N0dnA4ZW5jLmM6CgkqIGV4dC92cHgvZ3N0dnA4ZW5jLmg6CgkqIGV4dC92cHgvZ3N0dnA4dXRpbHMuYzoKCSogZXh0L3ZweC9nc3R2cDh1dGlscy5oOgoJKiBleHQvdnB4L3BsdWdpbi5jOgoJICB2cHg6IFJlbmFtZSB2cDggcGx1Z2luIHRvIHZweAoJICBUaGlzIGlzIHVzaW5nIGxpYnZweCwgd2hpY2ggY2FuIHN1cHBvcnQgbW9yZSBjb2RlY3MgdGhhbiBqdXN0IFZQOAoJICBhbmQgd2lsbCBsaWtlbHkgc3VwcG9ydCBmdXR1cmUgY29kZWNzLgoKMjAxMi0wOS0xNiAxNTozMjoyNCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnA4L2dzdHZwOGRlYy5jOgoJKiBleHQvdnA4L2dzdHZwOGVuYy5jOgoJICB2cDg6IEFwcGx5IHJlbWFpbmluZyBjaGFuZ2VzIHRoYXQgZ290IGxvc3Qgd2hpbGUgbW92aW5nIHRoZSBwbHVnaW4gdmlhIGdpdCBhbSB0aGFua3MgdG8gbWVyZ2VzCgoyMDEyLTA5LTE2IDE1OjI1OjA4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cDgvZ3N0dnA4ZGVjLmM6CgkgIFtNT1ZFRCBGUk9NIEJBRCAxMzQvMTM0XSB2cDhkZWM6IFVucmVmIGlucHV0L291dHB1dCBzdGF0ZXMgd2hlbiBzdG9wcGluZyB0aGUgZGVjb2RlcgoKMjAxMi0wOS0xNiAxNToxODoyMCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnA4L0dzdFZQOEVuYy5wcnM6CgkgIFtNT1ZFRCBGUk9NIEJBRCAxMzMvMTM0XSB2cDhlbmM6IFVwZGF0ZSByZWFsdGltZSBwcm9maWxlIHRvIHRoZSBuZXcgcHJvcGVydGllcwoKMjAxMi0wOS0xNiAxMDo1NjowNyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnA4L2dzdHZwOGRlYy5jOgoJICBbTU9WRUQgRlJPTSBCQUQgMTMyLzEzNF0gdnA4OiBSZXF1aXJlIGxhdGVzdCBsaWJ2cHggcmVsZWFzZSAoMS4xLjAgZnJvbSBNYXkgMjAxMikKCSAgRml4ZXMgYnVnICM2ODQxMTYgYW5kIHNpbXBsaWZpZXMgY29uZmlndXJlIGNoZWNrcy4KCjIwMTItMDktMTUgMjA6MjM6MTMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuYzoKCSAgW01PVkVEIEZST00gQkFEIDEzMS8xMzRdIHZwOGVuYzogVXNlIGEgc3RyaW5nIGZpZWxkIGZvciB0aGUgcHJvZmlsZSBpbiB0aGUgY2FwcwoJICBKdXN0IGZvciBjb25zaXN0ZW5jeSB3aXRoIGFsbCB0aGUgb3RoZXIgY29kZWNzLgoKMjAxMi0wOS0xNSAwMDowNDowNyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnA4L2dzdHZwOGVuYy5jOgoJICBbTU9WRUQgRlJPTSBCQUQgMTMwLzEzNF0gdnA4ZW5jOiBDb3JyZWN0bHkgc2V0IHByb2ZpbGUgaW4gY2FwcwoKMjAxMi0wOS0xNCAyMzo0MTo0OCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnA4L2dzdHZwOGRlYy5jOgoJKiBleHQvdnA4L2dzdHZwOGVuYy5jOgoJICBbTU9WRUQgRlJPTSBCQUQgMTI5LzEzNF0gdnA4OiBVcGRhdGUgY29weXJpZ2h0IGFuZCBhdXRob3JzCgoyMDEyLTA5LTA4IDE1OjM4OjQwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmM6CgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmg6CgkgIFtNT1ZFRCBGUk9NIEJBRCAxMjgvMTM0XSB2cDhlbmM6IFJld29yayBlbmNvZGVyIHByb3BlcnRpZXMgdG8gYmUgbW9yZSBpbiBsaW5lIHdpdGggdGhlIGxpYnZweCB0b29scyBhbmQgQVBJCgkgIEFsc28gYWRkIGFsbCBhdmFpbGFibGUgcHJvcGVydGllcy4KCjIwMTItMDktMTQgMTc6MDg6NDkgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZwOC9nc3R2cDhkZWMuYzoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuYzoKCSAgW01PVkVEIEZST00gQkFEIDEyNy8xMzRdIHJlcGxhY2UgZ3N0X2VsZW1lbnRfY2xhc3Nfc2V0X2RldGFpbHNfc2ltcGxlIHdpdGggZ3N0X2VsZW1lbnRfY2xhc3Nfc2V0X21ldGFkYXRhCgoyMDEyLTA3LTE5IDA5OjA1OjI4ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cDgvZ3N0dnA4ZGVjLmM6CgkgIFtNT1ZFRCBGUk9NIEJBRCAxMjYvMTM0XSB2cDhkZWM6IENhbGwgZ3N0X3ZpZGVvX2RlY29kZXJfbmVnb3RpYXRlKCkKCjIwMTItMDgtMTQgMTE6MTc6MjUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZwOC9nc3R2cDhkZWMuYzoKCSogZXh0L3ZwOC9nc3R2cDhkZWMuaDoKCSAgW01PVkVEIEZST00gQkFEIDEyNS8xMzRdIHZwOGRlYzogQWRkIHN1cHBvcnQgZm9yIG11bHRpcGxlIGRlY29kaW5nIHRocmVhZHMKCjIwMTItMDgtMTQgMTE6MDk6NDYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZwOC9nc3R2cDhkZWMuYzoKCSAgW01PVkVEIEZST00gQkFEIDEyNC8xMzRdIHZwOGRlYzogQWRkIHN1cHBvcnQgZm9yIHRoZSBNRlFFIHBvc3Rwcm9jZXNzaW5nIGZsYWcKCSAgV2hpY2ggaXMgZW5hYmxlZCBieSBkZWZhdWx0IGlmIHBvc3Rwcm9jZXNzaW5nIGlzIGVuYWJsZWQuCgoyMDEyLTA4LTA5IDEzOjM3OjIyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cDgvTWFrZWZpbGUuYW06CgkgIFtNT1ZFRCBGUk9NIEJBRCAxMjMvMTM0XSB2cDg6IFVzZSBwa2ctY29uZmlnIGZpbGUgZm9yIGdldHRpbmcgdGhlIExJQlMgYW5kIENGTEFHUwoKMjAxMi0wOC0wOCAxNzowNjoyMCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnA4L2dzdHZwOGVuYy5jOgoJICBbTU9WRUQgRlJPTSBCQUQgMTIyLzEzNF0gdnA4ZW5jOiBVcGRhdGUgdGhlIHBlci1jb21wb25lbnQgc3RyaWRlcyBmb3IgZXZlcnkgZnJhbWUgdG9vCgkgIFRoaXMgaXMgbmVjZXNzYXJ5IGJlY2F1c2Ugb2YgR3N0VmlkZW9BbGlnbm1lbnQKCjIwMTItMDctMjYgMTk6MzE6MTQgKzAyMDAgIE9sZWtzaWogUmVtcGVsIDxidWctdHJhY2tAZmlzaGVyLXByaXZhdC5uZXQ+CgoJKiBleHQvdnA4L2dzdHZwOGVuYy5jOgoJICBbTU9WRUQgRlJPTSBCQUQgMTIxLzEzNF0gdnA4ZW5jOiBpbml0aWF0ZSBlbmNvZGVyIHRvIGZpeCBhIGNyYXNoLgoJICBXaXRob3V0IHRoaXMgcGF0Y2ggdnA4ZW5jIHNlbmQgaGVhZGVyIGJlZm9yZSBhbmQgYWZ0ZXIgZmlyc3QKCSAga2V5IGZyYW1lLiBPbiBzZWNvbmQga2V5ZnJhbWUgdnA4ZGVjIHdpbGwgY3Jhc2ggd2l0aG91dCBnZXR0aW5nCgkgIGRlY29kZWQgZnJhbWUuIFdpdGggdGhpcyBwaXBlIGl0IGlzIGVhc3kgdG8gcmVwcm9kdWNlIHRoaXMgaXNzdWU6CgkgIGdzdC1sYXVuY2gtMS4wIHZpZGVvdGVzdHNyYyAhIHZwOGVuYyAhIHZwOGRlYyAhIGZha2VzaW5rCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODA2NjcKCjIwMTItMDctMjggMDA6MzI6NTggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZwOC9nc3R2cDhkZWMuYzoKCSAgW01PVkVEIEZST00gQkFEIDEyMC8xMzRdIHRhZzogVXBkYXRlIGZvciB0YWdsaXN0L3RhZyBldmVudCBBUEkgY2hhbmdlcwoKMjAxMi0wNy0yMyAxMDozNTowMyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnA4L2dzdHZwOGRlYy5jOgoJICBbTU9WRUQgRlJPTSBCQUQgMTE5LzEzNF0gZXh0OiBVcGRhdGUgZm9yIHZpZGVvIGJhc2UgY2xhc3NlcyBBUEkgY2hhbmdlcwoKMjAxMi0wNy0yMSAxOTo1OToyMSArMDIwMCAgT2xla3NpaiBSZW1wZWwgPGJ1Zy10cmFja0BmaXNoZXItcHJpdmF0Lm5ldD4KCgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmM6CgkgIFtNT1ZFRCBGUk9NIEJBRCAxMTgvMTM0XSB2cDhlbmM6IGZpeCBtZW1vcnkgbGVhawoJICB1bnJlZiBmcmFtZS4gaSBob3BlIGl0IGlzIGNvcnJlY3QgcGxhY2UgdG8gZG8gaXQuCgkgIFNpZ25lZC1vZmYtYnk6IE9sZWtzaWogUmVtcGVsIDxidWctdHJhY2tAZmlzaGVyLXByaXZhdC5uZXQ+CgoyMDEyLTA3LTA2IDExOjUwOjUzICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuYzoKCSAgW01PVkVEIEZST00gQkFEIDExNy8xMzRdIHVwZGF0ZSBmb3IgcXVlcnkgYXBpIGNoYW5nZXMKCjIwMTItMDctMDYgMTE6MjY6NTUgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnA4L2dzdHZwOGRlYy5jOgoJICBbTU9WRUQgRlJPTSBCQUQgMTE2LzEzNF0gdXBkYXRlIGZvciBxdWVyeSBhcGkgY2hhbmdlcwoKMjAxMi0wNy0wNiAxMTowMzowNCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmM6CgkgIFtNT1ZFRCBGUk9NIEJBRCAxMTUvMTM0XSB1cGRhdGUgZm9yIGFsbG9jYXRpb24gcXVlcnkgY2hhbmdlcwoKMjAxMi0wNi0wNyAxMjozMzozMSArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnA4L2dzdHZwOGRlYy5jOgoJKiBleHQvdnA4L2dzdHZwOGVuYy5jOgoJICBbTU9WRUQgRlJPTSBCQUQgMTE0LzEzNF0gdnA4OiBmaXggY29kZWMgc3RhdGUgbGVha3MKCSAgSSBvbmx5IHRlc3RlZCB0aGF0IHZwOGVuYyAhIHZwOGRlYyBkb2VzIG5vdCBjcmFzaCwgYXMgdmFsZ3JpbmQgZG9lcyBub3QgZ3JvawoJICBhdCBsZWFzdCBvbmUgb2YgdGhlIGluc3RydWN0aW9ucyB1c2VkIGJ5IHZwOGVuYywgcHJldmVudGluZyBtZSBmcm9tIGNoZWNraW5nCgkgIGEgbGVhaywgYW5kIHRoZSBsYWNrIG9mIG9uZSBhZnRlciB0aGUgcGF0Y2guCgoyMDEyLTA2LTA2IDEzOjAyOjQwICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZwOC9nc3R2cDhkZWMuYzoKCSAgW01PVkVEIEZST00gQkFEIDExMy8xMzRdIHVwZGF0ZSBmb3IgdGFnIGV2ZW50IGNoYW5nZQoKMjAxMi0wNS0yOCAxNjowNToyMSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnA4L2dzdHZwOGRlYy5jOgoJKiBleHQvdnA4L2dzdHZwOGVuYy5jOgoJKiBleHQvdnA4L2dzdHZwOGVuYy5oOgoJICBbTU9WRUQgRlJPTSBCQUQgMTEyLzEzNF0gdnA4OiBQb3J0IHRvIDAuMTEgYWdhaW4KCjIwMTItMDUtMTggMTI6NDY6NTUgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuYzoKCSAgW01PVkVEIEZST00gQkFEIDExMS8xMzRdIHZwOGVuYzogZml4IHRhcmdldCBiaXRyYXRlIGNvbmZpZyB3aXRoIGxpYnZweCAxLjEuMAoJICBsaWJ2cHggMS4xLjAgZGlzYWxsb3dzIGEgYml0cmF0ZSBvZiAwLCB3aGljaCB3YXMgdXNlZCBieQoJICB2cDhlbmMgYXMgYSBkZWZhdWx0IHZhbHVlLgoJICBJbnN0ZWFkLCB3ZSB1c2UgdGhlIGRlZmF1bHQgbGlidnB4IGJpdHJhdGUsIHNjYWxlZCB0byBvdXIKCSAgdmlkZW8gc2l6ZSwgaWYgbm8gYml0cmF0ZSB3YXMgc3BlY2lmaWVkLgoJICBUaGlzIGZpeGVzIGVuY29kaW5nIFZQOCB2aWRlbyB3aXRoIGxpYnZweCAxLjEuMC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY3NjI0NQoKMjAxMi0wNS0xNiAxNDowNDoyOCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnA4L2dzdHZwOGVuYy5jOgoJICBbTU9WRUQgRlJPTSBCQUQgMTEwLzEzNF0gdnA4ZW5jOiBVcGRhdGUgZm9yIEdzdFZpZGVvQ29kZWNGcmFtZSBBUEkgY2hhbmdlcwoKMjAxMi0wNC0yNyAxODoyMjo0MiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L3ZwOC9nc3R2cDhkZWMuYzoKCSogZXh0L3ZwOC9nc3R2cDhkZWMuaDoKCSAgW01PVkVEIEZST00gQkFEIDEwOS8xMzRdIHZwOGRlYzogSW1wcm92ZSBvdXRwdXRfc3RhdGUgaGFuZGxpbmcKCSAgQXZvaWQgZ2V0dGluZyBvdXRwdXRfc3RhdGUgZm9yIGV2ZXJ5IGJ1ZmZlciBhcyB0aGF0IHJlcXVpcmVzCgkgIGdldHRpbmcgdGhlIG9iamVjdGxvY2sgYW5kIGRvaW5nIHJlZmVyZW5jZSBjb3VudGluZy4gU3RvcmUgaXQgbG9jYWxseQoJICB3aGVuIGl0IGlzIGNyZWF0ZWQgYW5kIHVzZSBpdC4KCjIwMTItMDQtMjcgMDk6MDU6NTcgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGV4dC92cDgvZ3N0dnA4ZGVjLmM6CgkgIFtNT1ZFRCBGUk9NIEJBRCAxMDgvMTM0XSB2cDhkZWM6IFVzZSBvdXRwdXRzdGF0ZSB3aGVuIGNvcHlpbmcgb3V0cHV0IGJ1ZmZlciBkYXRhCgkgIFVzaW5nIHRoZSBpbnB1dCBzdGF0ZSB3YXMgY2F1c2luZyBhIGNyYXNoIGJlY2F1c2UgdGhlIHN0cmlkZXMvb2Zmc2V0cwoJICB3b3VsZCBiZSB3cm9uZy4gRml4IGl0IGJ5IHVzaW5nIHRoZSBvdXRwdXQgYXMgd2UgYXJlIGRlYWxpbmcgd2l0aAoJICB0aGUgZGVjb2RlZCBmcmFtZS4KCjIwMTItMDQtMjQgMTE6MDg6NDEgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuYzoKCSAgW01PVkVEIEZST00gQkFEIDEwNy8xMzRdIHZwODogUG9ydCB0byAtYmFzZSB2aWRlbyBiYXNlIGNsYXNzZXMKCSAgQ29uZmxpY3RzOgoJICBleHQvdnA4L01ha2VmaWxlLmFtCgkgIGV4dC92cDgvZ3N0dnA4ZGVjLmMKCSAgZXh0L3ZwOC9nc3R2cDhlbmMuYwoJICBCYWNrIHRvIDAuMTAgc3RhdGUgZm9yIG5vdywgbmVlZCB0byBiZSBwb3J0ZWQgYWdhaW4uCgoyMDEyLTA1LTE4IDEyOjQ2OjU1ICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmM6CgkgIFtNT1ZFRCBGUk9NIEJBRCAxMDYvMTM0XSB2cDhlbmM6IGZpeCB0YXJnZXQgYml0cmF0ZSBjb25maWcgd2l0aCBsaWJ2cHggMS4xLjAKCSAgbGlidnB4IDEuMS4wIGRpc2FsbG93cyBhIGJpdHJhdGUgb2YgMCwgd2hpY2ggd2FzIHVzZWQgYnkKCSAgdnA4ZW5jIGFzIGEgZGVmYXVsdCB2YWx1ZS4KCSAgSW5zdGVhZCwgd2UgdXNlIHRoZSBkZWZhdWx0IGxpYnZweCBiaXRyYXRlLCBzY2FsZWQgdG8gb3VyCgkgIHZpZGVvIHNpemUsIGlmIG5vIGJpdHJhdGUgd2FzIHNwZWNpZmllZC4KCSAgVGhpcyBmaXhlcyBlbmNvZGluZyBWUDggdmlkZW8gd2l0aCBsaWJ2cHggMS4xLjAuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NzYyNDUKCjIwMTItMDQtMDUgMTg6MDI6NTYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZwOC9wbHVnaW4uYzoKCSAgW01PVkVEIEZST00gQkFEIDEwNS8xMzRdIGdzdDogVXBkYXRlIGZvciBHU1RfUExVR0lOX0RFRklORSgpIEFQSSBjaGFuZ2VzCgoyMDEyLTA0LTA0IDE0OjQxOjIyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cDgvTWFrZWZpbGUuYW06CgkgIFtNT1ZFRCBGUk9NIEJBRCAxMDQvMTM0XSBnc3Q6IFVwZGF0ZSB2ZXJzaW9uaW5nCgoyMDEyLTAzLTA2IDE1OjIxOjE3ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmM6CgkgIFtNT1ZFRCBGUk9NIEJBRCAxMDMvMTM0XSB2cDhlbmM6IEZpeCAnYXJndW1lbnQgdG8gJ3NpemVvZicgaW4gJ21lbXNldCcgY2FsbCBpcyB0aGUgc2FtZSBleHByZXNzaW9uIGFzIHRoZSBkZXN0aW5hdGlvbicgY29tcGlsZXIgd2FybmluZwoKMjAxMi0wMS0zMCAxNzoxNzoxNiArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmM6CgkgIFtNT1ZFRCBGUk9NIEJBRCAxMDIvMTM0XSB1cGRhdGUgZm9yIEhFQURFUiBmbGFnCgoyMDEyLTAxLTI1IDE4OjQ5OjU4ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cDgvZ3N0dnA4ZGVjLmM6CgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmM6CgkgIFtNT1ZFRCBGUk9NIEJBRCAxMDEvMTM0XSBwb3J0IHNvbWUgbW9yZSB0byBuZXcgbWVtb3J5IEFQSQoJICBGaXhlcyAjNjY4Njc3LgoKMjAxMi0wMS0yNCAxMToyMjo0NiArMDEwMCAgT2xla3NpaiBSZW1wZWwgKEFsZXhleSBGaXNoZXIpIDxidWctdHJhY2tAZmlzaGVyLXByaXZhdC5uZXQ+CgoJKiBleHQvdnA4L2dzdHZwOGVuYy5jOgoJICBbTU9WRUQgRlJPTSBCQUQgMTAwLzEzNF0gdnA4ZW5jOiB0cmFjZSBvdXRnb2luZyB0aW1lc3RhbXBzCgkgIGFkZCBpbmZvIGxldmVsIHByaW50cyBmb3Igb3V0Z29pbmcgdGltZXN0YW1wcy4KCSAgU2lnbmVkLW9mZi1ieTogT2xla3NpaiBSZW1wZWwgKEFsZXhleSBGaXNoZXIpIDxidWctdHJhY2tAZmlzaGVyLXByaXZhdC5uZXQ+CgoyMDEyLTAxLTA0IDExOjA1OjQ4ICswMTAwICBPbGVrc2lqIFJlbXBlbCAoQWxleGV5IEZpc2hlcikgPGJ1Zy10cmFja0BmaXNoZXItcHJpdmF0Lm5ldD4KCgkqIGV4dC92cDgvZ3N0dnA4ZGVjLmM6CgkgIFtNT1ZFRCBGUk9NIEJBRCAwOTkvMTM0XSB2cDhkZWM6IHVzZSBpc19hbHRfZGF0YSBvcHRpb24gdG8gcHJldmVudCB0aW1lc3RhbXAgY29sbGlzaW9ucwoJICBhbHRyZWYvaW52aXNpYmxlIGZyYW1lcyB1c3VhbGx5IHN0b3JlZCBpbiBjb250YWluZXIgd2l0aCBzYW1lIHRpbWVzdGFtcCBhcwoJICBkZXBlbmRldCBmcmFtZS4gVGhpcyBtYWtlIGJhc2V2aWRlb2RlY29kZXIgdG8gdXBkYXRlIHRpbWVzdGFtcCBmb3IgZGVwZW5kZXQKCSAgZnJhbWUgYW5kIGNvdXNlIFRTIGNvbGlzaW9uIG9uIG5leHQgZnJhbWU6CgkgIF4tIGhlcmUgaXMgYWx0cmVmCgkgIHRpbWUgICAgIDogMSAyIDMgNCA1IDYgNyA4IDkKCSAgd2VibSB0cyAgOiAxICAgMyA1IDUgICA3ICAgOQoJICB2cDhkZWMgdHM6IDEgICAzICAgNyAgIDcgICA5CgkgIEZpeCBidWc6IGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NTUyNDUKCSAgU2lnbmVkLW9mZi1ieTogT2xla3NpaiBSZW1wZWwgKEFsZXhleSBGaXNoZXIpIDxidWctdHJhY2tAZmlzaGVyLXByaXZhdC5uZXQ+CgoyMDEyLTAxLTAyIDA4OjI4OjEzICswMTAwICBPbGVrc2lqIFJlbXBlbCAoQWxleGV5IEZpc2hlcikgPGJ1Zy10cmFja0BmaXNoZXItcHJpdmF0Lm5ldD4KCgkqIGV4dC92cDgvR3N0VlA4RW5jLnByczoKCSogZXh0L3ZwOC9NYWtlZmlsZS5hbToKCSAgW01PVkVEIEZST00gQkFEIDA5OC8xMzRdIHZwODogYWRkIGluaXRpYWwgcHJlc2V0IGZpbGUKCSAgVGhpcyBpcyBpbml0aWFsIHByZXNldCBmaWxlLCBjdXJyZW50bHkgd2l0aCBvbmx5IG9uZSBwcm9maWxlCgkgIGZvciByZWFsdGltZSBlbmNvZGluZy4KCSAgU2lnbmVkLW9mZi1ieTogT2xla3NpaiBSZW1wZWwgKEFsZXhleSBGaXNoZXIpIDxidWctdHJhY2tAZmlzaGVyLXByaXZhdC5uZXQ+CgoyMDExLTExLTI4IDEzOjA4OjI3ICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cDgvZ3N0dnA4ZGVjLmM6CgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmM6CgkgIFtNT1ZFRCBGUk9NIEJBRCAwOTcvMTM0XSB2YXJpb3VzOiBmaXggcGFkIHRlbXBsYXRlIHJlZiBsZWFrcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjYyNjY0CgoyMDExLTExLTI1IDExOjM2OjE0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cDgvZ3N0dnA4ZGVjLmM6CgkgIFtNT1ZFRCBGUk9NIEJBRCAwOTYvMTM0XSB2cDhkZWM6IHVzZSBuZXcgYmFzZXZpZGVvZGVjb2RlciBBUEkgdG8gZHJvcCBmcmFtZXMgYW5kIGdldCBRb1MgbWVzc2FnZXMgcG9zdGVkCgoyMDExLTExLTEwIDE1OjEzOjM0ICswMjAwICBNYXJ0IFJhdWRzZXBwIDxsZWlvQGdlbnRvby5vcmc+CgoJKiBleHQvdnA4L01ha2VmaWxlLmFtOgoJICBbTU9WRUQgRlJPTSBCQUQgMDk1LzEzNF0gbWltaWMsIG9wZW5jdiwgdnA4LCBhY21tcDNkZWMsIGxpbnN5czogRG9uJ3QgYnVpbGQgc3RhdGljIHBsdWdpbnMKCSAgUGFzcyAtLXRhZz1kaXNhYmxlLXN0YXRpYyB0byBsaWJ0b29sIGV2ZXJ5d2hlcmUgd2hlcmUgaXQncyBiZWVuIGZvcmdvdHRlbgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjYzNzY4CgoyMDExLTExLTAzIDE0OjAxOjQxICswMTAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cDgvZ3N0dnA4ZGVjLmM6CgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmM6CgkgIFtNT1ZFRCBGUk9NIEJBRCAwOTQvMTM0XSB2cDg6IFBvcnQgdG8gMC4xMQoKMjAxMS0wOC0yMSAyMDoxNToyNSAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBleHQvdnA4L2dzdHZwOGVuYy5jOgoJICBbTU9WRUQgRlJPTSBCQUQgMDkzLzEzNF0gdnA4ZW5jOiBmaXggZHJvcC1mcmFtZSBwcm9wZXJ0eQoJICBGaXhlcyAjNjU2OTI5LgoKMjAxMS0wOC0xOSAxOToxNzoxNSArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnA4L2dzdHZwOGVuYy5jOgoJKiBleHQvdnA4L2dzdHZwOGVuYy5oOgoJICBbTU9WRUQgRlJPTSBCQUQgMDkyLzEzNF0gdnA4OiBwcm9iZSBmb3IgdGhlIG5ldyB0dW5pbmcgQVBJIHRvIGtlZXAgYnVpbGRpbmcgd2l0aCBvbGRlciBsaWJ2cHgKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1NjkyOAoKMjAxMS0wOC0xOCAxMDozOToyNiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnA4L2dzdHZwOGVuYy5jOgoJICBbTU9WRUQgRlJPTSBCQUQgMDkxLzEzNF0gdnA4ZW5jOiBSZW1vdmUgdW51c2VkIGFuZCB1c2VsZXNzIHZhcmlhYmxlIGluIHRhZ3MgaGFuZGxpbmcKCjIwMTEtMDgtMTIgMTI6MDg6MDggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuYzoKCSAgW01PVkVEIEZST00gQkFEIDA5MC8xMzRdIHZwOGVuYzogVXBkYXRlIGZvciBiYXNldmlkZW9lbmNvZGVyIDo6Z2V0X2NhcHMoKSByZW1vdmFsCgoyMDExLTA3LTA5IDE4OjUzOjI0IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmM6CgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmg6CgkgIFtNT1ZFRCBGUk9NIEJBRCAwODkvMTM0XSB2cDhlbmM6IEFkZCBtb3JlIHByb3BlcnRpZXMKCjIwMTEtMDYtMTkgMTY6MDY6NDYgKzAyMDAgIEFsZXhleSBGaXNoZXIgPGJ1Zy10cmFja0BmaXNoZXItcHJpdmF0Lm5ldD4KCgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmM6CgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmg6CgkgIFtNT1ZFRCBGUk9NIEJBRCAwODgvMTM0XSB2cDhlbmM6IGFkZCBtaW4vbWF4c2VjdGlvbi1wY3Qgb3B0aW9uCgkgIFRoaXMgb3B0aW9ucyBzaG91bGQgYmUgZ29vZCB0byByZWRldWNlIGRlY29kZSBDUFUgbG9hZC4KCSAgZm9yIGxvd2VuZCBoYXJkd2FyZToKCSAgbWluc2VjdGlvbi1wY3Q9MTUgbWF4c2VjdGlvbi1wY3Q9NDAwCgkgIGZvciBoaWVuZCBodzoKCSAgbWluc2VjdGlvbi1wY3Q9NSBtYXhzZWN0aW9uLXBjdD04MDAKCSAgc2VlIGV4YW1wbGU6CgkgIGh0dHA6Ly93d3cud2VibXByb2plY3Qub3JnL3Rvb2xzL2VuY29kZXItcGFyYW1ldGVycy8jMi1wYXNzX3Zicl9lbmNvZGluZ19mb3Jfc21vb3RoX3BsYXliYWNrX29uX2xvdy1lbmRfaGFyZHdhcmUKCSAgU2lnbmVkLW9mZi1ieTogQWxleGV5IEZpc2hlciA8YnVnLXRyYWNrQGZpc2hlci1wcml2YXQubmV0PgoJICBTaWduZWQtb2ZmLWJ5OiBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCjIwMTEtMDYtMTkgMTE6MDU6MzYgKzAyMDAgIEFsZXhleSBGaXNoZXIgPGJ1Zy10cmFja0BmaXNoZXItcHJpdmF0Lm5ldD4KCgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmM6CgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmg6CgkgIFtNT1ZFRCBGUk9NIEJBRCAwODcvMTM0XSB2cDhlbmM6IGFkZCBsYWctaW4tZnJhbWVzIG9wdGlvbi4KCSAgVGhpcyBvcHRpb24gc2V0IG1heGltdW0gb2YgZnJhbWVzIGNvZGVjIHNob3VsZCByZW1lbWJlciwKCSAgdG8gbWFrZSBiZXR0ZXIgcHJlZGlrdGlvbiBmb3IgYWx0LXJlZiBmcmFtZXMuCgkgIFNlZSBleGFtcGxlOgoJICBodHRwOi8vd3d3LndlYm1wcm9qZWN0Lm9yZy90b29scy9lbmNvZGVyLXBhcmFtZXRlcnMvIzItcGFzc19iZXN0X3F1YWxpdHlfdmJyX2VuY29kaW5nCgkgIFNpZ25lZC1vZmYtYnk6IEFsZXhleSBGaXNoZXIgPGJ1Zy10cmFja0BmaXNoZXItcHJpdmF0Lm5ldD4KCSAgU2lnbmVkLW9mZi1ieTogRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoyMDExLTA2LTE5IDA3OjE2OjU3ICswMjAwICBBbGV4ZXkgRmlzaGVyIDxidWctdHJhY2tAZmlzaGVyLXByaXZhdC5uZXQ+CgoJKiBleHQvdnA4L2dzdHZwOGVuYy5jOgoJICBbTU9WRUQgRlJPTSBCQUQgMDg2LzEzNF0gdnA4ZW5jOiB1c2UgbXVsdGlwYXNzLmNhY2hlIGZpbGUgbmFtZSBhcyBkZWZhdWx0IGZvciBtdWx0aXBhc3MgbW9kZS4KCSAgU2lnbmVkLW9mZi1ieTogQWxleGV5IEZpc2hlciA8YnVnLXRyYWNrQGZpc2hlci1wcml2YXQubmV0PgoJICBTaWduZWQtb2ZmLWJ5OiBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCjIwMTEtMDctMjEgMDg6MDM6NTEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuYzoKCSAgW01PVkVEIEZST00gQkFEIDA4NS8xMzRdIHZwOGVuYzogVXBkYXRlIGZvciBHc3RCYXNlVmlkZW9FbmNvZGVyOjpmaW5pc2goKSBzaWduYXR1cmUgY2hhbmdlCgoyMDExLTA3LTEyIDE4OjA1OjI1IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuYzoKCSAgW01PVkVEIEZST00gQkFEIDA4NC8xMzRdIHZwODogRml4IHNldC1idXQtdW51c2VkIHdhcm5pbmdzCgoyMDExLTA3LTA5IDExOjMxOjAyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmM6CgkgIFtNT1ZFRCBGUk9NIEJBRCAwODMvMTM0XSB2cDhlbmM6IFVzZSBkZXN0cm95IG5vdGlmeSB0byBmcmVlIHRoZSBjb2RlciBob29rCgoyMDExLTA2LTE4IDE1OjU2OjQ5IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmM6CgkgIFtNT1ZFRCBGUk9NIEJBRCAwODIvMTM0XSB2cDhlbmM6IHVwZGF0ZSBmb3IgbmV3IGxpYnZweCBhcGkKCjIwMTEtMDYtMjYgMTU6MTU6NTQgKzAyMDAgIEFsZXhleSBGaXNoZXIgPGJ1Zy10cmFja0BmaXNoZXItcHJpdmF0Lm5ldD4KCgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmM6CgkgIFtNT1ZFRCBGUk9NIEJBRCAwODEvMTM0XSB2cDhlbmM6IGdlbmVyYXRlIGEgdGltZXN0YW1wIGZvciBhbHQtcmVmIGZyYW1lcy4KCSAgSXQgd2lsbCBmaXggaGFuZGxpbmcgb2YgYWx0cmVmL2ludmlzaWJsZSBmcmFtZXMgc2luY2UgbWF0cm9za2EtbXV4CgkgIGRyb3AgYW55IGZyYW0gd2l0aCBubyB0aW1lc3RhbXAuCgkgIHNlZSBhbHNvOgoJICBodHRwOi8vd3d3LndlYm1wcm9qZWN0Lm9yZy9jb2RlL3NwZWNzL2NvbnRhaW5lci8KCSAgVGhlIGVuY29kZXIgd2lsbCBjdXJyZW50bHkgc2V0IHRoZSBBUidzIHRpbWVzdGFtcCBhcyBjbG9zZSBhcyBwb3NzaWJsZQoJICB0byB0aGUgcHJldmlvdXMgZnJhbWUgd2hpbGUgYXR0ZW1wdGluZyB0byBwcm92aWRlIGEgdGltZXN0YW1wIHRoYXQgaXMKCSAgc3RyaWN0bHkgaW5jcmVhc2luZy4gSW4gY2FzZXMgd2hlcmUgdGhlIHRpbWUgYmFzZSBnaXZlbiB0byB0aGUgZW5jb2RlcgoJICBhdCBjb25maWd1cmUgdGltZSBpcyBub3QgZ3JhbnVsYXIgZW5vdWdoIHRvIGFsbG93IGZvciB0aGlzIHRoZSBBUgoJICB3aWxsIHNoYXJlIHRoZSBzYW1lIHRpbWVzdGFtcCBhcyBELCBidXQgc2hvdWxkIGJlCgkgIHRyZWF0ZWQgYXMgaGF2aW5nIG5vIGR1cmF0aW9uLgoJICBGaXhlcyBidWcgIzY1Mjk1MQoJICBTaWduZWQtb2ZmLWJ5OiBBbGV4ZXkgRmlzaGVyIDxidWctdHJhY2tAZmlzaGVyLXByaXZhdC5uZXQ+CgoyMDExLTA2LTE4IDE3OjQ3OjM2ICswMjAwICBBbGV4ZXkgRmlzaGVyIDxidWctdHJhY2tAZmlzaGVyLXByaXZhdC5uZXQ+CgoJKiBleHQvdnA4L2dzdHZwOGRlYy5jOgoJICBbTU9WRUQgRlJPTSBCQUQgMDgwLzEzNF0gdnA4ZGVjOiBhZGQgY2hlY2sgaWYgd2UgaGF2ZSBsZWdhbCBhc3BlY3QtcmF0aW8gYmVmb3JlIHJlc2V0IGl0LgoJICB0aGUgY29tbWl0IGY5YjU1MmYwNDk0ZSAodnA4ZGVjOiBzZXQgcGFyIHRvIDEvMSkKCSAgd2lsbCBmaXggc2l0dWF0aW9uIHdoZXJlIG5vIGFzcGVjdC1yYXRpbyBpcyBzZXQsIGJ1dCBpdCBicmFrZQoJICBzdHJlYW0gd2l0aCBhdmFpbGFibGUgYXNwZWN0LXJhdGlvLiBUaGlzIHBhdGNoIGZpeCBpdC4KCSAgRml4ZXM6ICM2NTI5MDIuCgkgIFNpZ25lZC1vZmYtYnk6IEFsZXhleSBGaXNoZXIgPGJ1Zy10cmFja0BmaXNoZXItcHJpdmF0Lm5ldD4KCjIwMTEtMDYtMDMgMTk6MzY6NTkgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZXh0L3ZwOC9nc3R2cDhkZWMuYzoKCSAgW01PVkVEIEZST00gQkFEIDA3OS8xMzRdIHZwOGRlYzogc2V0IHBhciB0byAxLzEKCjIwMTEtMDUtMTggMTM6Mjc6MjAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuYzoKCSAgW01PVkVEIEZST00gQkFEIDA3OC8xMzRdIHZwOGVuYzogTmFtZSBtYXgvbWluIHF1YW50aXplciBwcm9wZXJ0aWVzIHttYXgsbWlufS1xdWFudGl6ZXIKCSAgQWxzbyBpbXByb3ZlIHF1YWxpdHkgcHJvcGVydHkgZGVzY3JpcHRpb24uCgoyMDExLTA1LTE4IDEzOjI2OjIzICswMjAwICBBbGV4ZXkgRmlzaGVyIDxidWctdHJhY2tAZmlzaGVyLXByaXZhdC5uZXQ+CgoJKiBleHQvdnA4L2dzdHZwOGVuYy5jOgoJKiBleHQvdnA4L2dzdHZwOGVuYy5oOgoJICBbTU9WRUQgRlJPTSBCQUQgMDc3LzEzNF0gdnA4ZW5jOiBBZGQgcHJvcGVydGllcyB0byBzZWxlY3QgYSBtYXhpbXVtIGFuZCBtaW5pbXVtIHF1YW50aXplcgoJICBGaXhlcyBidWcgIzY0MTQwNS4KCjIwMTEtMDUtMTggMTM6MTg6NTggKzAyMDAgIEFsZXhleSBGaXNoZXIgPGJ1Zy10cmFja0BmaXNoZXItcHJpdmF0Lm5ldD4KCgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmM6CgkgIFtNT1ZFRCBGUk9NIEJBRCAwNzYvMTM0XSB2cDhlbmM6IEZpeCBxdWFsaXR5IHRvIChjb25zdGFudCkgcXVhbnRpemVyIG1hcHBpbmcKCSAgVGhpcyBub3cgYWxsb3dzIHRvIHNlbGVjdCBhbGwgcG9zc2libGUgcXVhbnRpemVycyBiZXR3ZWVuCgkgIDAgYW5kIDYzLgoJICBTZWUgYnVnICM2NDE0MDUuCgoyMDExLTA0LTAxIDIyOjEzOjU1ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cDgvZ3N0dnA4ZGVjLmM6CgkgIFtNT1ZFRCBGUk9NIEJBRCAwNzUvMTM0XSB2cDhkZWM6IGRlYnVnIGNvZGUgc3R5bGUgZml4ZXMKCjIwMTEtMDQtMDEgMjI6MTM6MDAgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZwOC9nc3R2cDhkZWMuYzoKCSAgW01PVkVEIEZST00gQkFEIDA3NC8xMzRdIHZwOGRlYzogcHJvcGFnYXRlIGRvd25zdHJlYW0gZmxvdyByZXR1cm4gdG8gdXBzdHJlYW0KCjIwMTEtMDMtMzAgMTA6MTg6MjMgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZwOC9nc3R2cDhkZWMuYzoKCSAgW01PVkVEIEZST00gQkFEIDA3My8xMzRdIGJhc2V2aWRlb2RlY29kZXI6IHJlYWxseSBhbmQgb25seSBzZXQgc3JjIHBhZCBjYXBzIHdoZW5ldmVyIHJlcXVlc3RlZAoJICAuLi4gc2luY2Ugc3ViY2xhc3MgaXMgZXhwZWN0ZWQgdG8gYmUgd2lzZSBlbm91Z2ggdG8ga25vdyB3aGVuIHRvIGRvIHNvLgoKMjAxMS0wMy0yOSAxMDo0MTo1NCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnA4L2dzdHZwOGRlYy5jOgoJICBbTU9WRUQgRlJPTSBCQUQgMDcyLzEzNF0gYmFzZXZpZGVvZGVjb2RlcjogaW52b2tlIHN1YmNsYXNzIHN0YXJ0IG1ldGhvZCBhdCBzdGF0ZSBjaGFuZ2UgYW5kIHVzZSBzZXRfZm9ybWF0CgkgIFdoaWxlIHRoaXMgY2hhbmdlcyBBUEkgc2xpZ2h0bHkgKGUuZy4gYWN0dWFsbHkgdXNlcyBzZXRfZm9ybWF0IG5vdyksIHdoaWNoIGlzIE9LCgkgIGZvciB1bnN0YWJsZSBBUEksIGl0IGhhcyBmb2xsb3dpbmcgbWVyaXRzOgoJICAqIHN5bW1ldHJpYyB3LnIudC4gc3RvcCBhdCBzdGF0ZSBjaGFuZ2UKCSAgKiBpbiBsaW5lIHdpdGggb3RoZXIgYmFzZSBjbGFzcyBwcmFjdGljZQoJICAqIG90aGVyd2lzZSBubyBzdWJjbGFzcyBtZXRob2QgYXQgc3RhdGUgY2hhbmdlIChnbG9iYWwgYWN0aXZhdGlvbiB0aW1lKQoJICBNb3Jlb3Zlciwgc3ViY2xhc3Nlc2UgYXJlIGVpdGhlciB1bmFmZmVjdGVkIG9yIHRyaXZpYWxseSBhZGp1c3RlZCBhY2NvcmRpbmdseS4KCjIwMTEtMDMtMjggMDg6NTk6MjAgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZwOC9nc3R2cDhkZWMuYzoKCSAgW01PVkVEIEZST00gQkFEIDA3MS8xMzRdIGJhc2V2aWRlb2RlY29kZXI6IHN1YnN1bWUgc2tpcF9mcmFtZSBpbnRvIGZpbmlzaF9mcmFtZQoKMjAxMS0wMy0yNCAxNDoxMDowNyArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnA4L2dzdHZwOGVuYy5jOgoJICBbTU9WRUQgRlJPTSBCQUQgMDcwLzEzNF0gYmFzZXZpZGVvZW5jb2RlcjogcHJvdmlkZSBwcm9wZXIgdXBzdHJlYW0gZmxvdyByZXR1cm4gaGFuZGxpbmcKCjIwMTEtMDMtMjQgMTM6NTk6MzUgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuYzoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuaDoKCSAgW01PVkVEIEZST00gQkFEIDA2OS8xMzRdIHZwOGVuYzogbWlub3Igb3B0aW1pemF0aW9uIGluIHNldHRpbmcgdXAgaW1hZ2UgYnVmZmVyCgoyMDExLTAzLTI0IDEyOjUwOjIzICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmM6CgkgIFtNT1ZFRCBGUk9NIEJBRCAwNjgvMTM0XSB2cDhlbmM6IHJlZmFjdG9yIGZyYW1lIHByb2Nlc3NpbmcKCjIwMTEtMDMtMjQgMTE6NTU6NDEgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuYzoKCSAgW01PVkVEIEZST00gQkFEIDA2Ny8xMzRdIHZwOGVuYzogZG8gaW5pdCBhdCBzZXRfZm9ybWF0IHRpbWUKCjIwMTEtMDMtMjQgMTA6MTU6NTUgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuYzoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuaDoKCSAgW01PVkVEIEZST00gQkFEIDA2Ni8xMzRdIHZwOGVuYzogZml4IGtleWZyYW1lIGZvcmNpbmcKCjIwMTEtMDMtMjMgMDk6NDU6MjAgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuYzoKCSAgW01PVkVEIEZST00gQkFEIDA2NS8xMzRdIGJhc2V2aWRlb2NvZGVjOiByZW1vdmUgcmVkdW5kYW50IGNhcHMgZmllbGQKCSAgLi4uIGFzIGl0IGlzIGFscmVhZHkgYXQgaGFuZCBhcyB0aGUgc3JjIHBhZCdzIG5lZ290aWF0ZWQgY2Fwcy4KCjIwMTEtMDMtMjMgMDg6NTA6MzEgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuYzoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuaDoKCSAgW01PVkVEIEZST00gQkFEIDA2NC8xMzRdIHZwOGVuYzogdXNlIGJhc2VjbGFzcyBldmVudCB2aXJ0dWFsIGhhbmRsZXIKCjIwMTEtMDItMjAgMTQ6MTY6MTggLTA4MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZXh0L3ZwOC9nc3R2cDhkZWMuaDoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuaDoKCSAgW01PVkVEIEZST00gQkFEIDA2My8xMzRdIGJhc2V2aWRlbzogbWVyZ2UgdXRpbHMgaGVhZGVyIGludG8gYmFzZXZpZGVvY29kZWMKCjIwMTEtMDMtMTcgMTY6MzQ6MDIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZwOC9NYWtlZmlsZS5hbToKCSAgW01PVkVEIEZST00gQkFEIDA2Mi8xMzRdIHZwODogZml4IExJQkFERCBvcmRlciBpbiBNYWtlZmlsZS5hbQoKMjAxMS0wMi0wNCAwOTowODoyNiArMDEwMCAgQWxleGV5IEZpc2hlciA8YnVnLXRyYWNrQGZpc2hlci1wcml2YXQubmV0PgoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuYzoKCSAgW01PVkVEIEZST00gQkFEIDA2MS8xMzRdIHZwOGVuYzogQWRkIGRlc2NyaXB0aW9uIGZvciBiaXRyYXRlIHVuaXRzLgoKMjAxMC0xMS0zMCAxODo0MzoyNCAtMDgwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBleHQvdnA4L2dzdHZwOGVuYy5jOgoJICBbTU9WRUQgRlJPTSBCQUQgMDYwLzEzNF0gdnA4ZW5jOiBSZWFkZCBzZXR0aW5nIG9mIGdyYW51bGVwb3MKCSAgUmV2ZXJ0IHBhcnRzIG9mIGxhc3QgcGF0Y2ggdGhhdCByZW1vdmVkIHNldHRpbmcgb2YgZ3JhbnVsZXBvcy4KCSAgb2dnbXV4IHN0aWxsIHJlcXVpcmVzIGNvcnJlY3QgZ3JhbnVsZXBvcyBpbiBpbmNvbWluZyBwYWNrZXQuCgoyMDEwLTExLTI5IDIwOjIxOjMxIC0wODAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmM6CgkgIFtNT1ZFRCBGUk9NIEJBRCAwNTkvMTM0XSB2cDhlbmM6IERvbid0IG92ZXJyaWRlIHRpbWVzdGFtcHMgc2V0IGJ5IGJhc2UgY2xhc3MKCSAgQmVjYXVzZSB0aGUgYmFzZSBjbGFzcyBkb2VzIGl0IGNvcnJlY3RseS4KCSAgRml4ZXM6ICM2MzU3MjAsICM2MjU1NTguCgoyMDEwLTExLTI1IDE4OjUyOjQ3ICswMTAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZXh0L3ZwOC9nc3R2cDhkZWMuYzoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuYzoKCSAgW01PVkVEIEZST00gQkFEIDA1OC8xMzRdIHZwODogUmVtb3ZlIGRlYWQgYXNzaWdubWVudHMKCjIwMTAtMTAtMDkgMTc6MzY6MDcgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZXh0L3ZwOC9nc3R2cDhkZWMuYzoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuYzoKCSAgW01PVkVEIEZST00gQkFEIDA1Ny8xMzRdIGJhc2V2aWRlbzogTW92ZSBjb21tb24gZmllbGRzL2Z1bmN0aW9ucyB0byBiYXNlY29kZWMKCjIwMTAtMDktMTggMTc6Mjg6NDggLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZXh0L3ZwOC9nc3R2cDhkZWMuYzoKCSAgW01PVkVEIEZST00gQkFEIDA1Ni8xMzRdIGJhc2V2aWRlbzogTW92ZSBkZWFkbGluZSB0byBmcmFtZSBzdHJ1Y3R1cmUKCjIwMTAtMDgtMTMgMTQ6MzQ6MjEgKzAyMDAgIFBoaWxpcCBKw6RnZW5zdGVkdCA8cGhpbGlwakBvcGVyYS5jb20+CgoJKiBleHQvdnA4L2dzdHZwOGRlYy5jOgoJICBbTU9WRUQgRlJPTSBCQUQgMDU1LzEzNF0gdnA4ZGVjOiBTZXQgR3N0QmFzZVZpZGVvRGVjb2Rlcjo6cGFja2V0aXplZCB0byBUUlVFIGFzIHNvb24gYXMgcG9zc2libGUKCSAgVGhpcyBmaXhlcyBhbiBpbmZpbml0ZSBsb29wIGlmIGFuIEVPUyBldmVudCBpcyByZWNlaXZlZCBiZWZvcmUKCSAgR3N0QmFzZVZpZGVvRGVjb2Rlcjo6c3RhcnQoKSBpcyBjYWxsZWQsIGUuZy4gaW1tZWRpYXRlbHkgd2hlbiB0aGUKCSAgcGFkcyBhcmUgYWN0aXZhdGVkLgoJICBGaXhlcyBidWcgIzYyNjgxNS4KCjIwMTAtMDctMTAgMTY6NTI6MTAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuYzoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuaDoKCSAgW01PVkVEIEZST00gQkFEIDA1NC8xMzRdIHZwOGVuYzogQWRkIHN1cHBvcnQgZm9yIGVuYWJsaW5nIGF1dG9tYXRpYyBpbnNlcnRpb24gb2YgYWx0LXJlZiBmcmFtZXMgYnkgdGhlIGVuY29kZXIKCjIwMTAtMDctMTAgMTY6NTE6NTMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuYzoKCSAgW01PVkVEIEZST00gQkFEIDA1My8xMzRdIHZwOGVuYzogRml4IGhhbmRsaW5nIG9mIGludmlzaWJsZS9hbHQgcmVmIGZyYW1lcwoKMjAxMC0wNy0wMyAxNzo0NzoyOSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnA4L2dzdHZwOGRlYy5jOgoJKiBleHQvdnA4L2dzdHZwOGRlYy5oOgoJKiBleHQvdnA4L2dzdHZwOGVuYy5jOgoJKiBleHQvdnA4L2dzdHZwOGVuYy5oOgoJICBbTU9WRUQgRlJPTSBCQUQgMDUyLzEzNF0gdnA4OiBBZGQgaW5pdGlhbCBkb2N1bWVudGF0aW9uLCBiYXNlZCBvbiB0aGUgdGhlb3JhZGVjL3RoZW9yYWVuYyBkb2N1bWVudGF0aW9uCgoyMDEwLTA3LTAzIDE3OjM0OjU4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cDgvTWFrZWZpbGUuYW06CgkqIGV4dC92cDgvZ3N0dnA4ZGVjLmM6CgkqIGV4dC92cDgvZ3N0dnA4ZGVjLmg6CgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmM6CgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmg6CgkqIGV4dC92cDgvcGx1Z2luLmM6CgkgIFtNT1ZFRCBGUk9NIEJBRCAwNTEvMTM0XSB2cDg6IE1vdmUgc3RydWN0dXJlIGRlZmluaXRpb25zLCBldGMgdG8gcHVibGljIGhlYWRlciBmaWxlcyBmb3IgZ3RrLWRvYwoKMjAxMC0wNi0xMiAwOTowMjoyOSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnA4L2dzdHZwOGVuYy5jOgoJICBbTU9WRUQgRlJPTSBCQUQgMDUwLzEzNF0gdnA4ZW5jOiBJbXBsZW1lbnQgbXVsdGlwYXNzIGVuY29kaW5nCgkgIEZpeGVzIGJ1ZyAjNjIxMzQ4LgoKMjAxMC0wNi0xNCAxNTo1NjoyNCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnA4L2dzdHZwOGVuYy5jOgoJICBbTU9WRUQgRlJPTSBCQUQgMDQ5LzEzNF0gdnA4ZW5jOiBTZXQgVlA4RV9TRVRfQ1BVVVNFRCB0byAwCgkgIFRoaXMgc2V0dGluZyBjb250cm9scyBob3cgbXVjaCBDUFUgY2FuIGJlIHVzZWQgYnkgdGhlIGVuY29kZXIsIHNwZWNpZmllZAoJICBpbiBmcmFjdGlvbnMgb2YgMTYuIE5lZ2F0aXZlIHZhbHVlcyBtZWFuIHN0cmljdCBlbmZvcmNlbWVudCBvZiB0aGlzCgkgIHdoaWxlIHBvc2l0aXZlIHZhbHVlcyBhcmUgYWRhcHRpdmUuCgkgIFRoZSBkZWZhdWx0IHZhbHVlIGlzIC00LCB3aGljaCBtZWFucyB0aGF0IHdlJ3JlIG5vdCBydW5uaW5nIGFzIGZhc3QKCSAgYXMgcG9zc2libGUgYW5kIHByb2JhYmx5IGFyZSB3YXN0aW5nIHNvbWUgcXVhbGl0eS4gMCBpcyB0aGUgcmVjb21tZW5kZWQKCSAgZGVmYXVsdCBieSBsaWJ2cHggdXBzdHJlYW0uCgoyMDEwLTA2LTE0IDE1OjUxOjMwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmM6CgkgIFtNT1ZFRCBGUk9NIEJBRCAwNDgvMTM0XSB2cDhlbmM6IFVzZSBWUFggZGVmaW5lcyBmb3IgUkVBTFRJTUUsIEdPT0QvQkVTVCBxdWFsaXR5IGRlYWRsaW5lcyBpbnN0ZWFkIG9mIG91ciBvd24KCSAgVGhlc2UgYXJlIHRoZSB2YWx1ZXMgdXNlZCBmb3IgdGhlIHNwZWVkIHByb3BlcnR5LgoKMjAxMC0wNi0wMyAxMDo0OTo0MCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnA4L2dzdHZwOGVuYy5jOgoJICBbTU9WRUQgRlJPTSBCQUQgMDQ3LzEzNF0gdnA4ZW5jOiBmaXggcHJpbnRmIGZvcm1hdCB3YXJuaW5nIGluIGxvZyBtZXNzYWdlCgkgIGdzdHZwOGVuYy5jOjU2NDogZXJyb3I6IGZvcm1hdCDigJglZOKAmSBleHBlY3RzIHR5cGUg4oCYaW504oCZLCBidXQgYXJndW1lbnQgOCBoYXMgdHlwZSDigJhzaXplX3TigJkKCSAgZ3N0dnA4ZW5jLmM6NzQ0OiBlcnJvcjogZm9ybWF0IOKAmCVk4oCZIGV4cGVjdHMgdHlwZSDigJhpbnTigJksIGJ1dCBhcmd1bWVudCA4IGhhcyB0eXBlIOKAmHNpemVfdOKAmQoKMjAwOS0wNy0wMyAxNjowODozOCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnA4L01ha2VmaWxlLmFtOgoJICBbTU9WRUQgRlJPTSBCQUQgMDQ2LzEzNF0gYmFzZXZpZGVvLCB2cDg6IGd1YXJkIHVuc3RhYmxlIEFQSSB3aXRoIEdTVF9VU0VfVU5TVEFCTEVfQVBJCgkgIEFkZCBzb21lIGd1YXJkcyBhbmQgZmF0IHdhcm5pbmdzIHRvIHRoZSBoZWFkZXIgZmlsZXMgd2l0aCBzdGlsbCB1bnN0YWJsZQoJICBBUEksIHNvIHBlb3BsZSB3aG8ganVzdCBsb29rIGF0IHRoZSBpbnN0YWxsZWQgaGVhZGVycyBrbm93IHRoYXQgaXQKCSAgYWN0dWFsbHkgaXMgdW5zdGFibGUgQVBJLgoJICBNZXJnaW5nIHByZXZpb3VzIGNvbW1pdCBpbnRvIGN1cnJlbnQgY29kZWJhc2UuCgoyMDEwLTA2LTAxIDE1OjU0OjUxIC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGV4dC92cDgvTWFrZWZpbGUuYW06CgkqIGV4dC92cDgvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2NvZGVjLmM6CgkqIGV4dC92cDgvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2NvZGVjLmg6CgkqIGV4dC92cDgvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2RlY29kZXIuYzoKCSogZXh0L3ZwOC9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZGVjb2Rlci5oOgoJKiBleHQvdnA4L2dzdC92aWRlby9nc3RiYXNldmlkZW9lbmNvZGVyLmM6CgkqIGV4dC92cDgvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2VuY29kZXIuaDoKCSogZXh0L3ZwOC9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvcGFyc2UuYzoKCSogZXh0L3ZwOC9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvcGFyc2UuaDoKCSogZXh0L3ZwOC9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvdXRpbHMuYzoKCSogZXh0L3ZwOC9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvdXRpbHMuaDoKCSogZXh0L3ZwOC9nc3QvdmlkZW8vZ3N0dmlkZW9jb21wYXQuYzoKCSogZXh0L3ZwOC9nc3QvdmlkZW8vZ3N0dmlkZW9jb21wYXQuaDoKCSAgW01PVkVEIEZST00gQkFEIDA0NS8xMzRdIGJhc2V2aWRlbzogTW92ZSBiYXNlIHZpZGVvIGZyb20gdnA4IHRvIGdzdC1saWJzCgoyMDEwLTA1LTI2IDA2OjUyOjE1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cDgvZ3N0dnA4ZGVjLmM6CgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmM6CgkqIGV4dC92cDgvZ3N0dnA4dXRpbHMuaDoKCSAgW01PVkVEIEZST00gQkFEIDA0NC8xMzRdIHZwODogVXNlIFZQWF9QTEFORV8qIGluc3RlYWQgb2YgUExBTkVfKgoKMjAxMC0wNS0yNCAxMTowNDowMiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnA4L2dzdHZwOHV0aWxzLmg6CgkgIFtNT1ZFRCBGUk9NIEJBRCAwNDMvMTM0XSB2cDg6IEFkZCBjb21wYXRpbGliaXR5IGRlZmluZXMgdG8gd29yayB3aXRoIG9sZGVyIHZlcnNpb25zIG9mIGxpYnZweCB0b28KCjIwMTAtMDUtMjMgMDk6Mjg6MTMgKzAyMDAgIFBoaWxpcCBKw6RnZW5zdGVkdCA8cGhpbGlwakBvcGVyYS5jb20+CgoJKiBleHQvdnA4L2dzdHZwOGVuYy5jOgoJICBbTU9WRUQgRlJPTSBCQUQgMDQyLzEzNF0gdnA4ZGVjOiBzL0lNR19GTVRfSTQyMC9WUFhfSU1HX0ZNVF9JNDIwLwoJICBUaGlzIGNvcnJlc3BvbmRzIHRvIHVwc3RyZWFtIGxpYnZweCBjb21taXQgNmNkNGExMGUxNjcyMDNkMWRlYjc5YWJmNjBlZTcyNTk5ZTk3ODkxYgoKMjAxMC0wNS0yMiAxMjo1NTo0NSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnA4L2dzdHZwOGVuYy5jOgoJICBbTU9WRUQgRlJPTSBCQUQgMDQxLzEzNF0gdnA4ZW5jOiBBbGxvdyBhIG1heGltdW0ga2V5ZnJhbWUgZGlzdGFuY2Ugb2YgMCwgaS5lLiBhbGwgZnJhbWVzIGFyZSBrZXlmcmFtZXMKCjIwMTAtMDUtMjIgMDg6NDU6MzUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZwOC9nc3R2cDhkZWMuYzoKCSAgW01PVkVEIEZST00gQkFEIDA0MC8xMzRdIHZwOGRlYzogU2V0IGRlY29kZXIgZGVhZGxpbmUgZnJvbSB0aGUgUW9TIGluZm9ybWF0aW9uCgoyMDEwLTA1LTI4IDE2OjM1OjEyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmM6CgkgIFtNT1ZFRCBGUk9NIEJBRCAwMzkvMTM0XSB2cDhlbmM6IE1vdmUgZGVidWcgb3V0cHV0IG9uZSBsaW5lIGFib3ZlIHdoZXJlIHRoZSBwYWNrZXQgaXMgc3RpbGwgdmFsaWQKCjIwMTAtMDUtMjggMTU6NTM6MzAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuYzoKCSAgW01PVkVEIEZST00gQkFEIDAzOC8xMzRdIHZwOGVuYzogQ29ycmVjdGx5IGlnbm9yZSBub24tZnJhbWUgcGFja2V0cyBmcm9tIHRoZSBlbmNvZGVyCgkgIEZpeGVzIGJ1ZyAjNjE5OTE2LgoKMjAxMC0wNS0yMiAwNzo0NDoyNyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnA4L2dzdC92aWRlby9nc3RiYXNldmlkZW9kZWNvZGVyLmM6CgkgIFtNT1ZFRCBGUk9NIEJBRCAwMzcvMTM0XSBiYXNldmlkZW9kZWNvZGVyOiBUYWtlIHRoZSBmcmFtZSBkdXJhdGlvbiBpbnRvIGFjY291bnQgd2hlbiBjYWxjdWxhdGluZyB0aGUgZWFybGllc3QgdGltZQoJICBUaGlzIGZvcm11bGEgaXMgdXNlZCBpbiBtYW55IG90aGVyIGVsZW1lbnRzIHRvby4KCSAgRml4ZXMgYnVnICM2MTkzMTguCgoyMDEwLTA1LTIyIDA3OjM1OjAxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cDgvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2RlY29kZXIuYzoKCSAgW01PVkVEIEZST00gQkFEIDAzNi8xMzRdIGJhc2V2aWRlb2RlY29kZXI6IFJlc2V0IFFvUyB2YWx1ZXMgd2hlbiBuZWNlc3NhcnkKCjIwMTAtMDUtMjIgMDk6MzU6MjQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuYzoKCSAgW01PVkVEIEZST00gQkFEIDAzNS8xMzRdIHZwOGVuYzogVXNlIEdTVF9WSURFT19DQVBTX1lVVihJNDIwKSBpbnN0ZWFkIG9mIGhhbmR3cml0dGVuIEk0MjAgY2FwcyBmb3IgdGhlIHBhZCB0ZW1wbGF0ZQoJICBGaXhlcyBidWcgIzYxOTM0NC4KCjIwMTAtMDUtMjEgMjA6NTM6MzYgKzAyMDAgIFBoaWxpcCBKw6RnZW5zdGVkdCA8cGhpbGlwakBvcGVyYS5jb20+CgoJKiBleHQvdnA4L2dzdC92aWRlby9nc3RiYXNldmlkZW9kZWNvZGVyLmM6CgkqIGV4dC92cDgvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2RlY29kZXIuaDoKCSogZXh0L3ZwOC9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvdXRpbHMuaDoKCSogZXh0L3ZwOC9nc3R2cDhkZWMuYzoKCSAgW01PVkVEIEZST00gQkFEIDAzNC8xMzRdIHZwOGRlYzogZHJvcCBsYXRlIGZyYW1lcyBhZnRlciBkZWNvZGluZyB0aGVtCgkgIFRoaXMgc2F2ZXMgYSBtZW1jcHksIHdoaWNoIGlzIGFsd2F5cyBzb21ldGhpbmcuCgoyMDEwLTA1LTIxIDIxOjI4OjI5ICswMjAwICBQaGlsaXAgSsOkZ2Vuc3RlZHQgPHBoaWxpcGpAb3BlcmEuY29tPgoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuYzoKCSAgW01PVkVEIEZST00gQkFEIDAzMy8xMzRdIHZwOGVuYzogdGhyZWFkcyBwcm9wZXJ0eQoJICBJbmNyZWFzaW5nIGZyb20gMSB0byAyIHRocmVhZHMgb24gYW4gVGhpbmtwYWQgWDYwcyBkZWNyZWFzZWQgZW5jb2RlIHRpbWUKCSAgaW4gYSB0ZXN0IGZyb20gfjI0IHMgdG8gfjE5IHMsIHNvIHRoaXMgaXMgcXVpdGUgdXNlZnVsLgoJICBJZGVhbGx5IHdlIHNob3VsZCBsZXQgMCBiZSB0aGUgZGVmYXVsdCBhbmQgYXV0b21hdGljYWxseSBtYXRjaCB0aGUgbnVtYmVyCgkgIG9mIENQVSBjb3JlcyAob3Igc29tZXRoaW5nKS4KCjIwMTAtMDUtMjEgMTU6MTc6NDYgKzAyMDAgIFBoaWxpcCBKw6RnZW5zdGVkdCA8cGhpbGlwakBvcGVyYS5jb20+CgoJKiBleHQvdnA4L2dzdHZwOGVuYy5jOgoJICBbTU9WRUQgRlJPTSBCQUQgMDMyLzEzNF0gdnA4ZW5jOiBhZGQgbW9kZSBwcm9wZXJ0eSB0byBzd2l0Y2ggYmV0d2VlbiBDQlIvVkJSCgkgIEFsd2F5cyB1c2luZyBDQlIgd2hlbiBiaXRyYXRlIGlzIHVzZWQgaXNuJ3QgdGhhdCBncmVhdCwgVkJSIG1vZGUKCSAgY2FuIHByb2R1Y2UgbWVhbmluZ2Z1bCByZXN1bHRzIHRvby4KCjIwMTAtMDUtMjEgMTA6NTQ6NTcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZwOC9nc3R2cDhkZWMuYzoKCSAgW01PVkVEIEZST00gQkFEIDAzMS8xMzRdIHZwOGRlYzogT25seSBlbmFibGUgcG9zdHByb2Nlc3NpbmcgaWYgdGhlIGRlY29kZXIgc3VwcG9ydHMgaXQKCjIwMTAtMDUtMjEgMDg6MjM6NTggKzAyMDAgIFBoaWxpcCBKw6RnZW5zdGVkdCA8cGhpbGlwakBvcGVyYS5jb20+CgoJKiBleHQvdnA4L3BsdWdpbi5jOgoJICBbTU9WRUQgRlJPTSBCQUQgMDMwLzEzNF0gdnA4OiB0eXBvOiBzL0hBVkVfVlA4X0RFQ09ERVIvSEFWRV9WUDhfRU5DT0RFUi8KCSAgRml4dXAgZm9yIGJ1ZyAjNjE5MTcyLgoKMjAxMC0wNS0yMSAwODoxMzowNiArMDIwMCAgUGhpbGlwIErDpGdlbnN0ZWR0IDxwaGlsaXBqQG9wZXJhLmNvbT4KCgkqIGV4dC92cDgvZ3N0dnA4ZGVjLmM6CgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmM6CgkgIFtNT1ZFRCBGUk9NIEJBRCAwMjkvMTM0XSB2cDg6IG1vdmUgI2lmZGVmIEhBVkVfVlA4X0VOQ09ERVIvREVDT0RFUgoJICBPdGhlcndpc2Ugd2UnbGwgdHJ5IGluY2x1ZGluZyBlLmcuIDx2cHgvdnA4Y3guaD4gd2hpY2ggZG9lc24ndCBleGlzdC4KCjIwMTAtMDUtMjAgMjA6MDY6MDkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuYzoKCSAgW01PVkVEIEZST00gQkFEIDAyOC8xMzRdIHZwOGVuYzogV3JpdGUgR1N0cmVhbWVyIGVsZW1lbnQgYW5kIHZlcnNpb24gaW4gdGhlIHZvcmJpc2NvbW1lbnQgdmVuZG9yIHN0cmluZwoKMjAxMC0wNS0yMCAxNjo0OTowMyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnA4L2dzdHZwOGRlYy5jOgoJKiBleHQvdnA4L2dzdHZwOGVuYy5jOgoJKiBleHQvdnA4L3BsdWdpbi5jOgoJICBbTU9WRUQgRlJPTSBCQUQgMDI3LzEzNF0gdnA4OiBPbmx5IGVuYWJsZSB0aGUgZW5jb2RlciBvciBkZWNvZGVyIGlmIGl0J3MgYXZhaWxhYmxlIGluIGxpYnZweAoJICBGaXhlcyBidWcgIzYxOTE3Mi4KCjIwMTAtMDUtMjAgMTA6MTk6NTQgKzAyMDAgIFBoaWxpcCBKw6RnZW5zdGVkdCA8cGhpbGlwakBvcGVyYS5jb20+CgoJKiBleHQvdnA4L2dzdHZwOGRlYy5jOgoJKiBleHQvdnA4L2dzdHZwOGVuYy5jOgoJKiBleHQvdnA4L3BsdWdpbi5jOgoJICBbTU9WRUQgRlJPTSBCQUQgMDI2LzEzNF0gdnA4OiBleGxjdWRlIGRlYy9lbmMgYmFzZWQgb24gQ09ORklHX1ZQOF9ERUNPREVSL0VOQ09ERVIKCSAgVGhpcyBtYXkgbm90IGJlIHZlcnkgYXV0b3Rvb2xpc2gsIGJ1dCB3b3JrcyB3aXRoIGxpYnZweCBpbiB0aGUgc3RhdGUKCSAgdGhhdCBsaWJ2cHggaXMgYWN0dWFsbHkgaW4uIE1vdmVkIHRoZSBkZWJ1ZyBpbml0IHRvIHRoZSBlbGVtZW50cwoJICB0aGVtc2VsdmVzIHRvIG1pbmltaXplIGFtb3VudCBvZiAjaWZkZWZzCgoyMDEwLTA1LTIwIDA5OjI0OjUzICswMjAwICBQaGlsaXAgSsOkZ2Vuc3RlZHQgPHBoaWxpcGpAb3BlcmEuY29tPgoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuYzoKCSAgW01PVkVEIEZST00gQkFEIDAyNS8xMzRdIHZwOGVuYzogTGltaXQgbWF4LWxhdGVuY3kgdG8gMjUgdG8gbWF0Y2ggbGlidnB4CgkgIEZyb20gbGlidnB4L3ZwOC9lbmNvZGVyL29ueXhfaW50Lmg6CgkgICNkZWZpbmUgTUFYX0xBR19CVUZGRVJTIChDT05GSUdfUkVBTFRJTUVfT05MWT8gMSA6IDI1KQoJICBXaGlsZSB3ZSBkb24ndCBuZWVkIHRvIGJlIHRpZWQgdG8gd2hhdCBsaWJ2cHggZG9lcyBpbnRlcm5hbGx5LCBpdAoJICBkb2Vzbid0IG1ha2Ugc2Vuc2UgdG8gcHJldGVuZCB0byBzdXBwb3J0IGxvbmdlciBmcmFtZSBsYWdzIHRoYW4gYXJlCgkgIGFjdHVhbGx5IHBvc3NpYmxlLgoKMjAxMC0wNS0yMCAwOTo1NjoyNSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnA4L2dzdHZwOGRlYy5jOgoJKiBleHQvdnA4L2dzdHZwOGVuYy5jOgoJKiBleHQvdnA4L2dzdHZwOHV0aWxzLmM6CgkgIFtNT1ZFRCBGUk9NIEJBRCAwMjQvMTM0XSB2cDg6IFVuZGVmIEhBVkVfQ09ORklHX0ggYmVmb3JlIGluY2x1ZGluZyBsaWJ2cHggaGVhZGVycwoJICBBIHB1YmxpYyBsaWJ2cHggaGVhZGVyIGluY2x1ZGVzIHByaXZhdGUgaGVhZGVycyBpZiB0aGlzIGlzCgkgIGRlZmluZWQsIGNhdXNpbmcgY29tcGlsYXRpb24gZmFpbHVyZXMgYmVjYXVzZSB0aGUgcHJpdmF0ZSBoZWFkZXJzCgkgIGFyZSBub3QgaW5zdGFsbGVkIG9mIGNvdXJzZS4KCjIwMTAtMDUtMjAgMDg6NTM6MTIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuYzoKCSAgW01PVkVEIEZST00gQkFEIDAyMy8xMzRdIHZwOGVuYzogU29tZSBtb3JlIG1pbm9yIGFkanVzdG1lbnRzIGZvciB0aGUgT2dnIG1hcHBpbmcKCjIwMTAtMDUtMTkgMjM6MDI6MTkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZwOC9nc3R2cDhkZWMuYzoKCSAgW01PVkVEIEZST00gQkFEIDAyMi8xMzRdIHZwOGRlYzogRml4IG1lbW9yeSBsZWFrCgoyMDEwLTA1LTE5IDIxOjM0OjQyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmM6CgkgIFtNT1ZFRCBGUk9NIEJBRCAwMjEvMTM0XSB2cDhlbmM6IEFkanVzdCBPZ2cgbWFwcGluZyBmb3IgdGhlIGNoYW5nZXMKCjIwMTAtMDUtMTkgMTg6MTI6MTggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZwOC9nc3R2cDhkZWMuYzoKCSAgW01PVkVEIEZST00gQkFEIDAyMC8xMzRdIHZwOGRlYzogQWRkIHByb3BlcnRpZXMgdG8gY29udHJvbCB0aGUgVlA4IGRlY29kZXIgcG9zdCBwcm9jZXNzaW5nIGZlYXR1cmUKCSAgVGhpcyBpcyBkaXNhYmxlZCBieSBkZWZhdWx0IGZvciBub3cuCgoyMDEwLTA1LTE5IDE3OjE2OjU0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmM6CgkgIFtNT1ZFRCBGUk9NIEJBRCAwMTkvMTM0XSB2cDhlbmM6IFJlbmFtZSBrZXlmcmFtZS1pbnRlcnZhbCB0byBtYXgta2V5ZnJhbWUtZGlzdGFuY2UKCSAgQW5kIHVzZSBkZWZhdWx0IHNldHRpbmdzIGZvciBidWZmZXIgc2l6ZXMgdW50aWwgd2UgZXhwb3NlIHRoaXMKCSAgc29tZWhvdy4KCjIwMTAtMDUtMTkgMTc6MTM6MTcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZwOC9NYWtlZmlsZS5hbToKCSogZXh0L3ZwOC9nc3R2cDhkZWMuYzoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuYzoKCSogZXh0L3ZwOC9nc3R2cDh1dGlscy5jOgoJKiBleHQvdnA4L2dzdHZwOHV0aWxzLmg6CgkgIFtNT1ZFRCBGUk9NIEJBRCAwMTgvMTM0XSB2cDg6IEltcHJvdmUgZXJyb3IgaGFuZGxpbmcgYW5kIGRlYnVnIG91dHB1dAoKMjAxMC0wNS0xOSAxNDo0Njo0OCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnA4L2dzdHZwOGRlYy5jOgoJKiBleHQvdnA4L2dzdHZwOGVuYy5jOgoJICBbTU9WRUQgRlJPTSBCQUQgMDE3LzEzNF0gdnA4OiBVc2UgY29ycmVjdCBzdHJpZGVzIGFuZCBwbGFuZSBvZmZzZXRzIGZvciBHU3RyZWFtZXIKCjIwMTAtMDUtMTggMTQ6NDc6NTQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuYzoKCSAgW01PVkVEIEZST00gQkFEIDAxNi8xMzRdIHZwOGVuYzogSW1wbGVtZW50IEdzdFRhZ1NldHRlciBpbnRlcmZhY2UKCjIwMTAtMDUtMTggMTQ6MzM6NDkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuYzoKCSAgW01PVkVEIEZST00gQkFEIDAxNS8xMzRdIHZwOGVuYzogRml4IHNldHRpbmcgb2YgdGhlIGtleWZyYW1lIGZsYWcgb24gZW5jb2RlZCBmcmFtZXMKCjIwMTAtMDUtMTggMTQ6MzA6MTUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuYzoKCSAgW01PVkVEIEZST00gQkFEIDAxNC8xMzRdIHZwOGVuYzogUG9zdCBhbiBlcnJvciBtZXNzYWdlIG9uIHRoZSBidXMgaWYgZW5jb2RlciBpbml0aWFsaXphdGlvbiBmYWlscwoKMjAxMC0wNS0xOCAxNDoyODo1NSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnA4L2dzdHZwOGRlYy5jOgoJICBbTU9WRUQgRlJPTSBCQUQgMDEzLzEzNF0gdnA4ZGVjOiBGaXggbWVtb3J5IGxlYWtzIGFuZCBmYWlsIGlmIGluaXRpYWxpemluZyB0aGUgZGVjb2RlciBmYWlscwoKMjAxMC0wNS0xOCAwMjo0NDo1NCAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBleHQvdnA4L2dzdHZwOGVuYy5jOgoJICBbTU9WRUQgRlJPTSBCQUQgMDEyLzEzNF0gdnA4ZW5jOiBTZXQgdGltZWJhc2UKCSAgQWxzbyBtaXNjIGNsZWFudXAuCgoyMDEwLTA1LTE2IDEwOjM2OjEyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cDgvZ3N0dnA4ZGVjLmM6CgkgIFtNT1ZFRCBGUk9NIEJBRCAwMTEvMTM0XSB2cDhkZWM6IEZpeCBkZWNvZGluZyBvZiBpbnZpc2libGUgZnJhbWVzCgoyMDEwLTA1LTE0IDE0OjI2OjM0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmM6CgkgIFtNT1ZFRCBGUk9NIEJBRCAwMTAvMTM0XSB2cDhlbmM6IFVwZGF0ZSB0aGUgbGF0ZW5jeSB3aGVuIGluaXRpYWxpemluZyB0aGUgZW5jb2RlcgoKMjAxMC0wNS0xNCAxNDowMjo1MyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnA4L2dzdHZwOGRlYy5jOgoJICBbTU9WRUQgRlJPTSBCQUQgMDA5LzEzNF0gdnA4ZGVjOiBDb3JyZWN0bHkgaW5pdGlhbGl6ZSBzdHJlYW0gaW5mbyBiZWZvcmUgcGVla2luZyBhdCB0aGUgc3RyZWFtCgkgIE90aGVyd2lzZSBwZWVraW5nIHdpbGwgZmFpbCBhbmQgd2UnbGwgZ2V0IGludmFsaWQgdmFsdWVzCgoyMDEwLTA1LTE0IDExOjAxOjI5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cDgvZ3N0dnA4ZGVjLmM6CgkgIFtNT1ZFRCBGUk9NIEJBRCAwMDgvMTM0XSB2cDhkZWM6IE1ha2Ugc3VyZSB0byBwYXNzIGEga2V5ZnJhbWUgYXMgZmlyc3QgZnJhbWUgdG8gdGhlIGRlY29kZXIsIGNvcHkgb3V0cHV0IGZyYW1lcyBvbmx5IG9uY2UgYW5kIHJlcXVpcmUgd2lkdGgvaGVpZ2h0L2V0YyBvbiB0aGUgaW5wdXQgY2FwcwoKMjAxMC0wNS0xNCAxMDozMDoxOCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnA4L2dzdHZwOGVuYy5jOgoJICBbTU9WRUQgRlJPTSBCQUQgMDA3LzEzNF0gdnA4ZW5jOiBBZGQgc3VwcG9ydCBmb3IgaW52aXNpYmxlIGZyYW1lcyBhbmQgdGhlIE9nZyBtYXBwaW5nCgoyMDEwLTA1LTE0IDAxOjE0OjQ2IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGV4dC92cDgvZ3N0dnA4ZGVjLmM6CgkgIFtNT1ZFRCBGUk9NIEJBRCAwMDYvMTM0XSB2cDhkZWM6IEZpeCByZXNldCBhZnRlciBzZWVraW5nCgkgIEFsc28gcmVtb3ZlIHNvbWUgdW51c2VkIGNvZGUuCgoyMDEwLTA1LTEzIDIxOjE5OjMyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmM6CgkgIFtNT1ZFRCBGUk9NIEJBRCAwMDUvMTM0XSB2cDhlbmM6IFNldCBmcmFtZSBudW1iZXJzIGFzIGJ1ZmZlciBvZmZzZXRzCgoyMDEwLTA1LTEzIDIxOjE4OjA4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmM6CgkgIFtNT1ZFRCBGUk9NIEJBRCAwMDQvMTM0XSB2cDhlbmM6IEFsd2F5cyBnZXQgYXMgbWFueSBmcmFtZXMgYXMgcG9zc2libGUgZnJvbSB0aGUgZW5jb2RlcgoKMjAxMC0wNS0xMyAyMTowODowMyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnA4L2dzdHZwOGVuYy5jOgoJICBbTU9WRUQgRlJPTSBCQUQgMDAzLzEzNF0gdnA4ZW5jOiBGaWxsIHRoZSBvbGRlc3QgcGVuZGluZyBmcmFtZSBpbnN0ZWFkIG9mIHRoZSBuZXdlc3QKCjIwMTAtMDUtMTMgMjA6MjA6MzIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuYzoKCSAgW01PVkVEIEZST00gQkFEIDAwMi8xMzRdIHZwOGVuYzogQ29ycmVjdGx5IHNldCBkZWx0YSB1bml0IGZsYWcgZm9yIG5vbi1rZXlmcmFtZXMKCjIwMTAtMDUtMTMgMDE6MDQ6MDQgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZXh0L3ZwOC9NYWtlZmlsZS5hbToKCSogZXh0L3ZwOC9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvY29kZWMuYzoKCSogZXh0L3ZwOC9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvY29kZWMuaDoKCSogZXh0L3ZwOC9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZGVjb2Rlci5jOgoJKiBleHQvdnA4L2dzdC92aWRlby9nc3RiYXNldmlkZW9kZWNvZGVyLmg6CgkqIGV4dC92cDgvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2VuY29kZXIuYzoKCSogZXh0L3ZwOC9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZW5jb2Rlci5oOgoJKiBleHQvdnA4L2dzdC92aWRlby9nc3RiYXNldmlkZW9wYXJzZS5jOgoJKiBleHQvdnA4L2dzdC92aWRlby9nc3RiYXNldmlkZW9wYXJzZS5oOgoJKiBleHQvdnA4L2dzdC92aWRlby9nc3RiYXNldmlkZW91dGlscy5jOgoJKiBleHQvdnA4L2dzdC92aWRlby9nc3RiYXNldmlkZW91dGlscy5oOgoJKiBleHQvdnA4L2dzdC92aWRlby9nc3R2aWRlb2NvbXBhdC5jOgoJKiBleHQvdnA4L2dzdC92aWRlby9nc3R2aWRlb2NvbXBhdC5oOgoJKiBleHQvdnA4L2dzdHZwOGRlYy5jOgoJKiBleHQvdnA4L2dzdHZwOGVuYy5jOgoJKiBleHQvdnA4L3BsdWdpbi5jOgoJICBbTU9WRUQgRlJPTSBCQUQgMDAxLzEzNF0gdnA4OiBBZGQgZW5jb2Rlci9kZWNvZGVyCgoyMDEyLTA5LTE1IDIyOjE2OjUyICswMjAwICBDaHJpc3RpYW4gRnJlZHJpayBLYWxhZ2VyIFNjaGFsbGVyIDx1cmFldXNAbGludXhyaXNpbi5vcmc+CgoJKiBnc3QtcGx1Z2lucy1nb29kLnNwZWMuaW46CgkgIFVwZGF0ZSBzcGVjIGZpbGUgd2l0aCBGMTggbmFtZSBjaGFuZ2UgYW5kIGFkZCBkZWludGVybGFjZXIKCjIwMTItMDktMTUgMTk6MDY6MDYgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b2F1ZGlvc2luay5jOgoJKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvYXVkaW9zcmMuYzoKCSogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b3ZpZGVvc2luay5jOgoJKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvdmlkZW9zcmMuYzoKCSAgdXNlIGdzdF9lbGVtZW50X2ZhY3RvcnlfZ2V0X21ldGFkYXRhIHRvIHJlcGxhY2Ugb2Jzb2xldGUgQVBJCgoyMDEyLTA5LTE0IDE3OjU1OjE2ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hhdWRpb3NpbmsuYzoKCSAgcmVwbGFjZSBfZ2V0X2NhcHNfcmVmZmVkIHdpdGggX2dldF9jYXBzCgoyMDEyLTA5LTE0IDE3OjA4OjQ5ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdG1mL2dzdGR0bWZzcmMuYzoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZmRlcGF5LmM6CgkgIHJlcGxhY2UgZ3N0X2VsZW1lbnRfY2xhc3Nfc2V0X2RldGFpbHNfc2ltcGxlIHdpdGggZ3N0X2VsZW1lbnRfY2xhc3Nfc2V0X21ldGFkYXRhCgoyMDEyLTA5LTE0IDE3OjA3OjI2ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9qcGVnL2dzdGpwZWdkZWMuYzoKCSogZXh0L2pwZWcvZ3N0anBlZ2VuYy5jOgoJKiBleHQvbGlicG5nL2dzdHBuZ2RlYy5jOgoJKiBleHQvbGlicG5nL2dzdHBuZ2VuYy5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9xdG11eC5jOgoJICByZXBsYWNlIGdzdF9lbGVtZW50X2NsYXNzX3NldF9kZXRhaWxzX3NpbXBsZSB3aXRoIGdzdF9lbGVtZW50X2NsYXNzX3NldF9tZXRhZGF0YQoKMjAxMi0wOS0xNCAxMzozMDozNyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9qcGVnL2dzdGpwZWdlbmMuYzoKCSogZ3N0L211bHRpcGFydC9tdWx0aXBhcnRtdXguYzoKCSogZ3N0L3J0cC9SRUFETUU6CgkqIGdzdC92aWRlb2Nyb3AvZ3N0YXNwZWN0cmF0aW9jcm9wLmM6CgkqIGdzdC95NG0vZ3N0eTRtZW5jb2RlLmM6CgkqIHRlc3RzL2V4YW1wbGVzL2VxdWFsaXplci9kZW1vLmM6CgkqIHRlc3RzL2V4YW1wbGVzL3J0cC9zZXJ2ZXItVlRTLUgyNjNwLUFUUy1QQ01BLnNoOgoJKiB0ZXN0cy9leGFtcGxlcy9ydHAvc2VydmVyLVZUUy1IMjYzcC5zaDoKCSogdGVzdHMvZXhhbXBsZXMvcnRwL3NlcnZlci1kZWNvZGViaW4tSDI2M3AtQU1SLnNoOgoJKiB0ZXN0cy9leGFtcGxlcy9ydHAvc2VydmVyLXY0bDItSDI2M3AtYWxzYXNyYy1BTVIuc2g6CgkqIHRlc3RzL2V4YW1wbGVzL3J0cC9zZXJ2ZXItdjRsMi1IMjY0LWFsc2FzcmMtUENNQS5zaDoKCSogdGVzdHMvZXhhbXBsZXMvc2hhcGV3aXBlL3NoYXBld2lwZS1leGFtcGxlLmM6CgkqIHRlc3RzL2V4YW1wbGVzL3Y0bDIvY2FtY3RybC5jOgoJKiB0ZXN0cy9pY2xlcy9nZGtwaXhidWZzaW5rLXRlc3QuYzoKCSAgZml4IG1vcmUgY2FwcwoKMjAxMi0wOS0xNCAwMjo1Nzo0NCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgQmFjayB0byBkZXZlbG9wbWVudAoKPT09IHJlbGVhc2UgMC4xMS45NCA9PT0KCjIwMTItMDktMTQgMDI6NDg6NDMgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBDaGFuZ2VMb2c6CgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0LXBsdWdpbnMtZ29vZC5kb2FwOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIFJlbGVhc2UgMC4xMS45NAoKMjAxMi0wOS0xNCAwMTo1MDo0NCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIHBvL2FmLnBvOgoJKiBwby9hei5wbzoKCSogcG8vYmcucG86CgkqIHBvL2NhLnBvOgoJKiBwby9jcy5wbzoKCSogcG8vZGEucG86CgkqIHBvL2RlLnBvOgoJKiBwby9lbC5wbzoKCSogcG8vZW5fR0IucG86CgkqIHBvL2VvLnBvOgoJKiBwby9lcy5wbzoKCSogcG8vZXUucG86CgkqIHBvL2ZpLnBvOgoJKiBwby9mci5wbzoKCSogcG8vZ2wucG86CgkqIHBvL2h1LnBvOgoJKiBwby9pZC5wbzoKCSogcG8vaXQucG86CgkqIHBvL2phLnBvOgoJKiBwby9sdC5wbzoKCSogcG8vbHYucG86CgkqIHBvL210LnBvOgoJKiBwby9uYi5wbzoKCSogcG8vbmwucG86CgkqIHBvL29yLnBvOgoJKiBwby9wbC5wbzoKCSogcG8vcHRfQlIucG86CgkqIHBvL3JvLnBvOgoJKiBwby9ydS5wbzoKCSogcG8vc2sucG86CgkqIHBvL3NsLnBvOgoJKiBwby9zcS5wbzoKCSogcG8vc3IucG86CgkqIHBvL3N2LnBvOgoJKiBwby90ci5wbzoKCSogcG8vdWsucG86CgkqIHBvL3ZpLnBvOgoJKiBwby96aF9DTi5wbzoKCSogcG8vemhfSEsucG86CgkqIHBvL3poX1RXLnBvOgoJICBwbzogdXBkYXRlIHRyYW5zbGF0aW9ucwoKMjAxMi0wOS0xNCAwMTo0NjoxNCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaW50ZXJmYWNlczoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLTEzOTQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWFzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGFjb2xvci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hcGV0YWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9meC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb3BhcnNlcnMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvZGV0ZWN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF2aS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWNhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jdXR0ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVpbnRlcmxhY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZmZWN0di54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lcXVhbGl6ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmxhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx4ZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdka3BpeGJ1Zi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20yazEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWN5ZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW1hZ2VmcmVlemUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXJsZWF2ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pc29tcDQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tamFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxldmVsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1hdHJvc2thLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpZmlsZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aXBhcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmF2aWdhdGlvbnRlc3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzNC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3NhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbmcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcHVsc2VhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXBsYXlnYWluLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHBtYW5hZ2VyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0c3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hhcGV3aXBlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNob3V0MnNlbmQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc21wdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVjdHJ1bS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10YWdsaWIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdWRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvNGxpbnV4Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2JveC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2Nyb3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9maWx0ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9taXhlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14aW1hZ2VzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teTRtZW5jLnhtbDoKCSAgZG9jczogdXBkYXRlIGRvY3MKCjIwMTItMDktMTQgMDA6NDc6MzggKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy93YXZwYWNrZW5jLmM6CgkgIHRlc3RzOiBwdXNoIHN0cmVhbS1zdGFydCBhbmQgc2VnbWVudCBldmVudHMgaW4gd2F2cGFja2VuYyB0ZXN0CgoyMDEyLTA5LTEzIDEwOjU2OjI3ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5oOgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuaDoKCSAgdjRsMjogcmVtb3ZlIHVudXNlZCBwcm9wZXJ0aWVzCgoyMDEyLTA5LTEzIDEwOjE1OjU0ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3B1bHNlL3B1bHNlc3JjLmM6CgkgIHB1bHNlc3JjOiBkaXNhYmxlIHJlY29uZmlndXJlCgkgIFNlZSBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjgzOTAyCgoyMDEyLTA5LTEwIDIyOjA5OjU5IC0wNzAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuYzoKCSAgZGVpbnRlcmxhY2U6IERvbid0IHRyZWF0IGV2ZXJ5IGN1c3RvbS1kb3duc3RyZWFtIGV2ZW50IGFzIEVPUwoJICBEb24ndCBmYWxsIHRocm91Z2ggdG8gdGhlIEVPUyBoYW5kbGluZyBhZnRlciByZWNlaXZpbmcgYQoJICBjdXN0b20tZG93bnN0cmVhbSBldmVudC4KCjIwMTItMDktMTIgMjE6MDU6NDQgKzAyMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvY2Fpcm8vZ3N0dGV4dG92ZXJsYXkuYzoKCSogZ3N0L2F2aS9nc3RhdmltdXguYzoKCSogZ3N0L2Zsdi9nc3RmbHZtdXguYzoKCSogZ3N0L2ludGVybGVhdmUvaW50ZXJsZWF2ZS5jOgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSogZ3N0L211bHRpcGFydC9tdWx0aXBhcnRtdXguYzoKCSogZ3N0L3NtcHRlL2dzdHNtcHRlLmM6CgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIyLmM6CgkgIGNvbGxlY3RwYWRzOiByZW1vdmUgZ3N0X2NvbGxlY3RfcGFkc19hZGRfcGFkX2Z1bGwKCSAgUmVuYW1lIGdzdF9jb2xsZWN0X3BhZHNfYWRkX3BhZF9mdWxsKCkgdG8gZ3N0X2NvbGxlY3RfcGFkc19hZGRfcGFkKCkgYW5kIGZpeCBhbGwKCSAgaW52b2NhdGlvbnMuCgoyMDEyLTA5LTEyIDE3OjE0OjQ2ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC91ZHAvZ3N0bXVsdGl1ZHBzaW5rLmM6CgkgIHVkcDogYWRkIGluY2x1ZGUgZm9yIElQUFJPVE9fKgoKMjAxMi0wOS0xMiAxNjozOTowOCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdWRwL2dzdG11bHRpdWRwc2luay5jOgoJICB1ZHA6IHByb3Blcmx5IG1hdGNoIGJyYWNlcyBhbmQgY3BwIGRpcmVjdGl2ZXMKCSAgRml4ZXMgY29tcGlsYXRpb24gd2hlcmUgSVBWNl9UQ0xBU1Mgbm90IGRlZmluZWQuCgoyMDEyLTA5LTEyIDE0OjQyOjA3ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zaGFwZXdpcGUvZ3N0c2hhcGV3aXBlLmM6CgkgIHNoYXBld2lwZTogVXNlIGRlZmF1bHQgcXVlcnkgaGFuZGxlciB3aGVyZSBuZWVkZWQKCSAgQW5kIGNsZWFuIHVwIGdldF9jYXBzIGNvZGUgd2hpbGUgSSdtIGF0IGl0CgoyMDEyLTA5LTEyIDEzOjI4OjA3ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmM6CgkgIGRlaW50ZXJsYWNlOiBpbXByb3ZlIGZyYW1lcmF0ZSB0cmFuc2Zvcm0KCSAgSGFuZGxlIEdfTUFYSU5UIGluIHRoZSBmcmFtZXJhdGVzIGJldHRlci4gSWYgd2UgY2Fubm90IGRvdWJsZSBvciBkaXZpZGUgdGhlCgkgIGZyYW1lcmF0ZSwgY2xhbXAgdG8gdGhlIHNtYWxsZXN0L2xhcmdlc3QgcG9zc2libGUgdmFsdWUgd2UgY2FuIGV4cHJlc3MgaW5zdGVhZAoJICBvZiBmYWlsaW5nLgoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjgzODYxCgoyMDEyLTA5LTEyIDEzOjE3OjU0ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmM6CgkgIGRlaW50ZXJsYWNlOiBzbWFsbCBjbGVhbnVwCgoyMDEyLTA5LTA3IDE3OjIwOjU3IC0wNDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvbWl4ZXIvYmxlbmQuYzoKCSogZ3N0L3ZpZGVvbWl4ZXIvYmxlbmQuaDoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlcjIuYzoKCSAgdmlkZW9taXhlcjI6IEFkZGluZyBudjEyIGFuZCBudjIxIHN1cHBvcnQKCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4Mzg0MQoKMjAxMi0wOS0xMiAxMDoxODo1MyArMDIwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHJkaW8uY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkqIGdzdC9pc29tcDQvcXRkZW11eF9mb3VyY2MuaDoKCSAgcXRkZW11eDogYWRkIHN1cHBvcnQgZm9yIHByb3JlcwoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjgzODM5CgoyMDEyLTA5LTEyIDAwOjE2OjMxICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcmdhbmFseXNpcy5jOgoJICB0ZXN0czogZml4IG1vc3Qgb2YgdGhlIHJnYW5hbHlzaXMgdW5pdCB0ZXN0cwoJICBCZWZvcmUgdGhlIGVsZW1lbnQgd291bGQgcG9zdCBtZXNzYWdlcyBvbiB0aGUgYnVzIGl0c2VsZiwgbm93CgkgIHRoZSBzaW5rcyBkbyB0aGF0IGJhc2VkIG9uIHRoZSB0YWcgZXZlbnRzIHRoZXkgcmVjZWl2ZS4gQnV0CgkgIHNpbmNlIHdlIGRvbid0IGhhdmUgcHJvcGVyIHNpbmsgZWxlbWVudHMgaW4gdGhlc2UgdW5pdCB0ZXN0cywKCSAgYnV0IGp1c3QgZGFuZ2xpbmcgcGFkcywgd2UgaGF2ZSB0byBwb3N0IHRoZSB0YWcgbWVzc2FnZXMgdGhlCgkgIHRlc3QgY2hlY2tzIGZvciBvdXJzZWx2ZXMuCgkgIERvd24gZnJvbSA1Mi81NSBmYWlsaW5nIHRvIDcvNTIgZmFpbGluZy4KCjIwMTItMDktMTEgMTc6MzY6NTEgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2R2L2dzdGR2ZGVtdXguYzoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJKiBnc3QvZGVidWd1dGlscy9ybmRidWZmZXJzaXplLmM6CgkqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzoKCSAgZXh0LCBnc3Q6IG9ubHkgYWN0aXZhdGUgaW4gcHVsbCBtb2RlIGlmIHVwc3RyZWFtIGlzIHNlZWthYmxlCgoyMDEyLTA5LTExIDE1OjM4OjIzICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJICB2NGwyOiBkaXNhYmxlIHJlbmVnb3RpYXRpb24KCSAgV2UgY2FuJ3QgeWV0IHdhaXQgZm9yIHRoZSBidWZmZXJwb29sIHRvIERSQUlOIGJlZm9yZSBzdGFydGluZyByZW5lZ290aWF0aW9uIHNvCgkgIGRpc2FibGUgaXQgZm9yIG5vdy4KCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4Mjc3MAoKMjAxMi0wOS0xMSAxMjo0ODozOSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHBiaW4uYzoKCSAgdGVzdHM6IHJ0cGJpbjogcG9ydCB0byB0aGUgbmV3IEdMaWIgdGhyZWFkIEFQSQoKMjAxMi0wOS0xMSAxMjozNjo1NiArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvZGlyZWN0c291bmQvZ3N0ZGlyZWN0c291bmRzaW5rLmM6CgkqIHN5cy9kaXJlY3Rzb3VuZC9nc3RkaXJlY3Rzb3VuZHNpbmsuaDoKCSAgZGlyZWN0c291bmRzaW5rOiBwb3J0IHRvIHRoZSBuZXcgR0xpYiB0aHJlYWQgQVBJCgoyMDEyLTA5LTExIDExOjU5OjU0ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IGRvbid0IHJlc2V0IHNlZ21lbnQKCSAgRG9uJ3QgcmVzZXQgdGhlIHNlZ21lbnQgYmVjYXVzZSB3ZSBuZWVkIHRoZSB2YWx1ZXMgZm9yIGFjY3VtdWxhdGlvbi4gdGhlIHNlZ21lbnQKCSAgaXMgcmVzZXQgYXQgc3RhcnQgYW5kIGFmdGVyIGEgZmx1c2hpbmcgc2Vlay4gRml4ZXMgc29tZSBwcm9ibGVtcyB3aXRoIGZpbGVzIHdpdGgKCSAgcXVpY2t0aW1lIHNlZ21lbnRzLgoKMjAxMi0wOS0xMCAxNzoxNDozNyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2lkM2RlbXV4LmM6CgkgIHRlc3RzOiBmaXggaWQzZGVtdXggdGVzdAoKMjAxMi0wOS0xMCAxNDozMTowMiArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZmx2L2FtZmRlZnMuaDoKCSogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOgoJKiBnc3QvcnRwL2dzdHJ0cHFkbWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwc3YzdmRlcGF5LmM6CgkgIGdzdDogYWRqdXN0IGNvbW1lbnQgc3R5bGUKCjIwMTItMDktMTAgMTQ6MzA6NDIgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICBhdmlkZW11eDogcmVtb3ZlIGRlZnVuY3QgY29tbWVudGVkIGNvZGUKCjIwMTItMDktMTAgMTM6MzU6MTUgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcHVsc2UvcHVsc2VzcmMuYzoKCSAgcHVsc2VzcmM6IGNvbnNpZGVyIHN0cmVhbSBhbGl2ZSB3aGVuIG5vdCBjb25uZWN0ZWQgeWV0CgkgIFdoZW4gd2Ugc3RhcnQgYW5kIHJlbmVnb3RpYXRlLCB0aGVyZSBpcyBhIG1vbWVudCB3aGVyZSB0aGUgc3RyZWFtIGlzIGNyZWF0ZWQgYnV0CgkgIG5vdCB5ZXQgY29ubmVjdGVkLiBNYWtlIHN1cmUgYWxsIGZ1bmN0aW9ucyBkZWFsIHdpdGggdGhpcyBzaXR1YXRpb24gY29ycmVjdGx5CgkgIGluc3RlYWQgb2YgZXJyb3Jpbmcgb3V0LgoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjgxMjQ3CgoyMDEyLTA5LTEwIDEyOjE1OjI1ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3B1bHNlL3B1bHNlc3JjLmM6CgkgIHB1bHNlc3JjOiBkb24ndCBmYWlsIHdoZW4gbm90IG5lZ290aWF0ZWQgeWV0CgkgIFdoZW4gZ2V0X3RpbWUgaXMgY2FsbGVkIGJ1dCB3ZSBhcmUgbm90IHlldCBuZWdvdGlhdGVkLCByZXR1cm4gMCBpbnN0ZWFkIG9mCgkgIHBvc3RpbmcgYW4gZXJyb3IuIEl0J3MgcG9zc2libGUgdGhhdCB0aGUgYmFzZSBjbGFzcyBpcyBzdGlsbCBuZWdvdGlhdGluZyB3aGVuCgkgIG91ciBnZXRfdGltZSBpcyBjYWxsZWQuCgoyMDEyLTA5LTEwIDExOjMyOjI1ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3B1bHNlL3B1bHNlc3JjLmM6CgkqIHN5cy9vc3MvZ3N0b3Nzc3JjLmM6CgkqIHN5cy9vc3M0L29zczQtc291cmNlLmM6CgkgIHVwZGF0ZSBmb3IgYXVkaW8gYmFzZSBzcmMgYXBpIGNoYW5nZQoKMjAxMi0wOS0xMCAwMDo0Mjo1MiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGdzdC9hdmkvZ3N0YXZpbXV4LmM6CgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICB2aWRlby94LTNpdnggYW5kIHZpZGVvL3gteHZpZCAtPiB2aWRlby9tcGVnLG1wZWd2ZXJzaW9uPTQKCSAgSWYgaXQgZXZlciB0dXJucyBvdXQgdGhhdCB3ZSByZWFsbHkgbXVzdCB1c2UgdGhvZSBzcGVjaWZpYwoJICBmb3VyY2NzIGFuZCBub3QgdGhlIGdlbmVyaWMgb25lLCB3ZSBjYW4gc3RpbGwgYWRkIGEgZmxhdm9yCgkgIGZpZWxkIHRvIHRoZSBjYXBzIGxhdGVyLgoKMjAxMi0wOS0wNyAxNjoxNTo0MiArMDIwMCAgRGFuaWVsYSA8ZGFuaWVsYS5tdXp6dUBzZWxleGVsc2FnLmNvbT4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogYXZvaWQgbGVhawoJICBXaGVuIHNldHVwIGZhaWxzLCBtYWtlIHN1cmUgdG8gY2xlYW51cCBhZnRlcndhcmRzLgoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjczNTA5CgoyMDEyLTA5LTA3IDE1OjIzOjQ0ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwYW1yZGVwYXkuYzoKCSAgcnRwYW1yZGVwYXk6IHVubWFwIHJ0cCBidWZmZXIKCSAgLi4uIHRoZXJlYnkgcGx1Z2dpbmcgYSBtZW1sZWFrLgoKMjAxMi0wOS0wNyAxNDoxMzoxNyArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHAtcGF5bG9hZGluZy5jOgoJICB0ZXN0czogcnRwLXBheWxvYWRpbmc6IGFkanVzdCB0byBtb2RpZmllZCBidWZmZXJsaXN0IHNlbWFudGljcwoJICAuLi4gbm93IGltcGxlbWVudGVkIGJ5IGJ1ZmZlciBtZW1vcnkgYmxvY2tzLgoKMjAxMi0wOS0wNyAxNDoxMTozOSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRwYXkuYzoKCSAgcnRwaDI2NHBheTogYXZvaWQgY3Jhc2hpbmcgb24gTlVMTCBhY2Nlc3MgaW4gZGVidWcgbWVzc2FnZQoKMjAxMi0wOS0wNyAxNDoxMTowMiArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNwcGF5LmM6CgkgIHJ0cGgyNjNwcGF5OiBwbHVnIGNhcHMgbGVhawoKMjAxMi0wOS0wNiAxNzowOToyMCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5jOgoJICBkZWludGVybGFjZTogcmVtb3ZlIHJlZHVuZGFudCBfc2V0X2FsbG9jYXRpb24gY2FsbAoKMjAxMi0wOS0wNiAxNzowNTowMCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9kZWludGVybGFjZS5jOgoJICB0ZXN0czogZGVpbnRlcmxhY2U6IGRvIG5vdCBsZWFrIGRlaW50ZXJsYWNlIHBhZHMKCjIwMTItMDktMDYgMTc6MDQ6MzkgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmM6CgkgIGRlaW50ZXJsYWNlOiBwbHVnIHNvbWUgbGVha3MKCjIwMTItMDktMDYgMTY6NDk6MDIgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuYzoKCSAgZGVpbnRlcmxhY2U6IHJldXNlIGNvcmUgZnVuY3Rpb24gZm9yIEdDRAoKMjAxMi0wOS0wNiAxNjozMTowMCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuYzoKCSAgZGVpbnRlcmxhY2U6IHN1cHBvcnQgZmlsdGVyIGluIGdldGNhcHMKCjIwMTItMDktMDYgMTY6MzA6NDQgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmM6CgkgIGRlaW50ZXJsYWNlOiBkbyBub3QgbGVhayBnZXRjYXBzIHJlc3VsdAoKMjAxMi0wOS0wNiAxNjoyMzoyOCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuaDoKCSAgZGVpbnRlcmxhY2U6IGFkZCBzdXBwb3J0IGZvciBidWZmZXJwb29sCgkgIEFkZCBidWZmZXJwb29sIHN1cHBvcnQgdG8gYXZvaWQgYSBtZW1jcHkgaW4gdGhlIHZpZGVvc2luayB3aGVuIGFjdGl2ZWx5CgkgIGludGVybGFjaW5nLgoJICBSZW1vdmUgc29tZSBjb21tZW50ZWQgb2Jzb2xldGUgY29kZS4KCjIwMTItMDktMDYgMTM6Mzg6NTIgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuYzoKCSAgZGVpbnRlcmxhY2U6IHByb3h5IGFsbG9jYXRpb24gcXVlcnkgaW4gcGFzc3Rocm91Z2gKCSAgV2UgY2FuIGxldCB0aGUgYWxsb2NhdGlvbiBxdWVyeSBwYXNzIHdoZW4gd2UgYXJlIG9wZXJhdGluZyBpbiBwYXNzdGhyb3VnaCBtb2RlLgoKMjAxMi0wOS0wNiAxMzoyMzo0NiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5jOgoJICBkZWludGVybGFjZTogdXNlIGRlZmF1bHQgZXZlbnQgZnVuY3Rpb25zCgkgIGluc3RlYWQgb2YgYmxpbmRseSBmb3J3YXJkaW5nIHVua25vd24gZXZlbnRzLgoKMjAxMi0wOS0wNiAxMzoyMzozMCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5jOgoJICBkZWludGVybGFjZTogc21hbGwgY2xlYW51cHMKCjIwMTItMDktMDYgMTI6NTY6MzAgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuYzoKCSAgZGVpbnRlcmxhY2U6IGNhbGwgZGVmYXVsdCBxdWVyeSBoYW5kbGVycwoJICBDYWxsIHRoZSBkZWZhdWx0IHF1ZXJ5IGhhbmRsZXIgaW5zdGVhZCBvZiBmb3J3YXJkaW5nIHRoZSBxdWVyeSBibGluZGx5LiBGaXhlcwoJICBpc3N1ZXMgb2Ygc3RyaWRlcyBiZWNhdXNlIG9mIHByb3h5aW5nIHRoZSBhbGxvY2F0aW9uIHF1ZXJ5IHdyb25nbHkuCgoyMDEyLTA5LTA2IDEwOjQyOjIxICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICB2NGwyOiByZW1vdmUgdW51c2VkIGNvZGUuCgoyMDEyLTA5LTA2IDEwOjQyOjA2ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJICBwdWxzZTogaW1wcm92ZSBkZWJ1ZwoKMjAxMi0wOS0wNSAxMTo1MDowNSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZHYvZ3N0ZHZkZW11eC5jOgoJICBkdmRlbXV4OiByZW1vdmUgb2Jzb2xldGUgdXBkYXRlIG5ld3NlZ21lbnQgaGFuZGxpbmcgY29kZQoKMjAxMi0wOS0wNCAxMjozNTo1MyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb2ZpbHRlci9nc3R2aWRlb2JhbGFuY2UuYzoKCSAgdmlkZW9iYWxhbmNlOiBhdm9pZCBkZWFkbG9jawoJICBfdXBkYXRlX3Byb3BlcnRpZXMgdGFrZXMgdGhlIG9iamVjdCBsb2NrIGFuZCBzaG91bGQgbm90IGJlIGNhbGxlZCB3aGVuIHRoZQoJICBvYmplY3QgbG9jayBpcyBhbHJlYWR5IHRha2VuLgoKMjAxMi0wOS0wMyAxMjo0NjowMyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSAgbWF0cm9za2FtdXg6IGV4dHJhY3QgaW50ZXJsYWNlZC1uZXNzIG9mIHZpZGVvIHRyYWNrIGZyb20gaW50ZXJsYWNlLW1vZGUgZmllbGQKCSAgaW5zdGVhZCBvZiB0aGUgb2xkIGJvb2xlYW4gImludGVybGFjZWQiIGZpZWxkLgoKMjAxMi0wOS0wMyAwMjo1MToyNCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGdzdC9hdmkvZ3N0YXZpbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXA0dnBheS5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdmltdXguYzoKCSAgdmlkZW8veC14dmlkIC0+IHZpZGVvL21wZWcsbXBlZ3ZlcnNpb249NAoKMjAxMi0wOS0wMiAwMjo1MDo1MCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJICB0ZXh0L3BsYWluICsgdGV4dC94LXBhbmdvLW1hcmt1cCAtPiB0ZXh0L3gtcmF3CgoyMDEyLTA5LTAyIDAxOjMxOjUzICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIGdzdF9tZXNzYWdlX25ld19kdXJhdGlvbiAtPiBnc3RfbWVzc2FnZV9uZXdfZHVyYXRpb25fY2hhbmdlZAoKMjAxMi0wOC0zMCAyMjowNzoyNCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSAgc2Vzc2lvbjogYWxzbyBzdG9wIHByb2JhdGF0aW9uIG9uIGV4aXN0aW5nIHNvdXJjZXMKCSAgUmVjZWl2aW5nIGFuIFJUQ1AgcGFja2V0IHNob3VsZCBhbHNvIHN0b3AgcHJvYmF0aW9uIG9uIHNvdXJjZXMgd2UgaGF2ZSBzZWVuCgkgIGJlZm9yZS4KCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4MzA2NQoKMjAxMi0wOC0yMiAxNjozNjoyMSAtMDcwMCAgQWxlaXggQ29uY2hpbGxvIEZsYXF1ZSA8YWxlaXhAb2Jsb25nLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmg6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuaDoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmg6CgkgIHJ0cDogbWFrZSBydHAgcGFja2V0IHByb2JhdGlvbiBjb25maWd1cmFibGUgKGJ1ZyAjNjgyNTEyKQoKMjAxMi0wOC0zMCAxMjoyMTowMSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZ2RrX3BpeGJ1Zi9nc3RnZGtwaXhidWZvdmVybGF5LmM6CgkgIGdka3BpeGJ1ZjogYWRqdXN0IHRvIG1vZGlmaWVkIHZpZGVvIG92ZXJsYXkgY29tcG9zaXRpb24gQVBJCgoyMDEyLTA4LTMwIDExOjMwOjAxICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZmxhY3BhcnNlLmM6CgkgIGZsYWNwYXJzZTogZml4dXAgMC4xMSBwb3J0IG9mIHN1c3BlY3QgZnJhbWUgY2hlY2tpbmcKCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4Mjk1OQoKMjAxMi0wOC0yOCAxODo1NjoxOSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIGF2aWRlbXV4OiBhdm9pZCBpbnZhbGlkIEgyNjQgYnl0ZXN0cmVhbSBjb2RlY19kYXRhCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODEzNjkKCjIwMTItMDgtMjggMTk6MDA6NDQgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IHBvcnQgc2VnbWVudCBldmVudCBjcmVhdGlvbiB0byAwLjExCgoyMDEyLTA4LTI4IDE2OjI4OjEzICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiByZWxlYXNlIGV4dHJhIGV2ZW50IHJlZiB3aGVuIHJlcGxhY2luZyBwZW5kaW5nIG5ld3NlZ21lbnQgZXZlbnQKCjIwMTItMDctMDMgMTc6NTA6MjQgKzAyMDAgIERhdmlkIENvcnZveXNpZXIgPGRhdmlkLmNvcnZveXNpZXJAb3JhbmdlLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXhfZHVtcC5jOgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXhfZHVtcC5oOgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXhfZm91cmNjLmg6CgkqIGdzdC9pc29tcDQvcXRkZW11eF90eXBlcy5jOgoJICBpc29tcDQ6IGFkZCBEQVNIIHRmZHQgYm94IHN1cHBvcnQKCSAgTVBFRyBEQVNIIGhhcyBkZWZpbmVkIGEgc2V0IG9mIG5ldyBib3hlcyB0byBzcGVjaWZ5IGR1cmF0aW9uLCBpbmRleGVzIGFuZAoJICBvZmZzZXRzIG9mIElTT0JNRkYgZnJhZ21lbnRzLgoJICBUaGUgVHJhY2sgRnJhZ21lbnQgQmFzZSBNZWRpYSBEZWNvZGUgVGltZSAodGZkdCkgQm94IGNhbiBpbiBwYXJ0aWN1bGFyIGJlCgkgIGluY2x1ZGVkIGluc2lkZSBhIHRyYWYgYm94IHRvIHNwZWNpZnkgdGhlIGFic29sdXRlIGRlY29kZSB0aW1lLCBtZWFzdXJlZCBvbiB0aGUKCSAgbWVkaWEgdGltZWxpbmUsIG9mIHRoZSBmaXJzdCBzYW1wbGUgaW4gZGVjb2RlIG9yZGVyIGluIHRoZSB0cmFjayBmcmFnbWVudC4KCSAgVGhpcyBpbmZvcm1hdGlvbiBjYW4gYmUgdXNlZCBieSB0aGUgaXNvbXA0IGRlbXV4IHRvIGZpbmQgb3V0IHRoZSBjdXJyZW50IHBvc2l0aW9uIG9mCgkgIGFuIE1QNCBmcmFnbWVudCBpbiB0aGUgdGltZWxpbmUuCgkgIFRoaXMgcGF0Y2ggYWRkcyBjb2RlIHRvIGlzb21wNCB0bzoKCSAgLSBwYXJzZSB0aGUgdGZkdCBib3gKCSAgLSBhZGp1c3QgdGhlIHRpbWUvcG9zaXRpb24gbWVtYmVyIG9mIHRoZSBuZXcgc2VnbWVudCBzZW50IHdoZW4gcGxheWJhY2sgc3RhcnRzCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02Nzc1MzUKCjIwMTItMDgtMjYgMjI6Mzk6NTUgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBleHQvYWFsaWIvZ3N0YWFzaW5rLmM6CgkqIGV4dC9jYWlyby9nc3RjYWlyb3JlbmRlci5jOgoJKiBleHQvY2Fpcm8vZ3N0dGV4dG92ZXJsYXkuYzoKCSogZXh0L2NhaXJvL2dzdHRpbWVvdmVybGF5LmM6CgkqIGV4dC9kdi9nc3RkdmRlYy5jOgoJKiBleHQvZHYvZ3N0ZHZkZW11eC5jOgoJKiBleHQvZmxhYy9nc3RmbGFjZW5jLmM6CgkqIGV4dC9mbGFjL2dzdGZsYWN0YWcuYzoKCSogZXh0L2dka19waXhidWYvZ3N0Z2RrcGl4YnVmb3ZlcmxheS5jOgoJKiBleHQvZ2RrX3BpeGJ1Zi9nc3RnZGtwaXhidWZzaW5rLmM6CgkqIGV4dC9nZGtfcGl4YnVmL3BpeGJ1ZnNjYWxlLmM6CgkqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NpbmsuYzoKCSogZXh0L2phY2svZ3N0amFja2F1ZGlvc3JjLmM6CgkqIGV4dC9qcGVnL2dzdGpwZWdkZWMuYzoKCSogZXh0L2pwZWcvZ3N0anBlZ2VuYy5jOgoJKiBleHQvbGliY2FjYS9nc3RjYWNhc2luay5jOgoJKiBleHQvbGlicG5nL2dzdHBuZ2RlYy5jOgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkqIGV4dC9wdWxzZS9wdWxzZXNyYy5jOgoJKiBleHQvcmF3MTM5NC9nc3RkdjEzOTRzcmMuYzoKCSogZXh0L3JhdzEzOTQvZ3N0aGR2MTM5NHNyYy5jOgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cGNsaWVudHNpbmsuYzoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzoKCSogZXh0L3NwZWV4L2dzdHNwZWV4ZGVjLmM6CgkqIGV4dC9zcGVleC9nc3RzcGVleGVuYy5jOgoJKiBleHQvdGFnbGliL2dzdGFwZXYybXV4LmNjOgoJKiBleHQvdGFnbGliL2dzdGlkM3YybXV4LmNjOgoJKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZGVjLmM6CgkqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tlbmMuYzoKCSogZ3N0L2FscGhhL2dzdGFscGhhLmM6CgkqIGdzdC9hbHBoYS9nc3RhbHBoYWNvbG9yLmM6CgkqIGdzdC9hcGV0YWcvZ3N0YXBlZGVtdXguYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9hbXBsaWZ5LmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvY2hlYmJhbmQuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9jaGVibGltaXQuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9keW5hbWljLmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvZWNoby5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb2ludmVydC5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb2thcmFva2UuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9wYW5vcmFtYS5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb3dzaW5jYmFuZC5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb3dzaW5jbGltaXQuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYWNwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFjM3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YW1ycGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RkY2FwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdG1wZWdhdWRpb3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0d2F2cGFja3BhcnNlLmM6CgkqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG9hdWRpb3NpbmsuYzoKCSogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b2F1ZGlvc3JjLmM6CgkqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG92aWRlb3NpbmsuYzoKCSogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b3ZpZGVvc3JjLmM6CgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSogZ3N0L2F2aS9nc3RhdmltdXguYzoKCSogZ3N0L2F2aS9nc3RhdmlzdWJ0aXRsZS5jOgoJKiBnc3QvY3V0dGVyL2dzdGN1dHRlci5jOgoJKiBnc3QvZGVidWd1dGlscy9nc3RwdXNoZmlsZXNyYy5jOgoJKiBnc3QvZGVidWd1dGlscy9nc3R0YWdpbmplY3QuYzoKCSogZ3N0L2RlYnVndXRpbHMvcHJvZ3Jlc3NyZXBvcnQuYzoKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmM6CgkqIGdzdC9lZmZlY3R2L2dzdGFnaW5nLmM6CgkqIGdzdC9lZmZlY3R2L2dzdGRpY2UuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0ZWRnZS5jOgoJKiBnc3QvZWZmZWN0di9nc3RvcC5jOgoJKiBnc3QvZWZmZWN0di9nc3RxdWFyay5jOgoJKiBnc3QvZWZmZWN0di9nc3RyYWRpb2FjLmM6CgkqIGdzdC9lZmZlY3R2L2dzdHJldi5jOgoJKiBnc3QvZWZmZWN0di9nc3RyaXBwbGUuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0c2hhZ2FkZWxpYy5jOgoJKiBnc3QvZWZmZWN0di9nc3RzdHJlYWsuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0dmVydGlnby5jOgoJKiBnc3QvZWZmZWN0di9nc3R3YXJwLmM6CgkqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyMTBiYW5kcy5jOgoJKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplcjNiYW5kcy5jOgoJKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplcm5iYW5kcy5jOgoJKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6CgkqIGdzdC9mbHYvZ3N0Zmx2bXV4LmM6CgkqIGdzdC9nb29tL2dzdGdvb20uYzoKCSogZ3N0L2dvb20yazEvZ3N0Z29vbS5jOgoJKiBnc3QvaWN5ZGVtdXgvZ3N0aWN5ZGVtdXguYzoKCSogZ3N0L2lkM2RlbXV4L2dzdGlkM2RlbXV4LmM6CgkqIGdzdC9pbWFnZWZyZWV6ZS9nc3RpbWFnZWZyZWV6ZS5jOgoJKiBnc3QvaW50ZXJsZWF2ZS9kZWludGVybGVhdmUuYzoKCSogZ3N0L2ludGVybGVhdmUvaW50ZXJsZWF2ZS5jOgoJKiBnc3QvaXNvbXA0L2F0b21zcmVjb3ZlcnkuYzoKCSogZ3N0L2lzb21wNC9nc3RxdG11eC1kb2MuYzoKCSogZ3N0L2lzb21wNC9nc3RxdG11eC5jOgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXBhcnNlLmM6CgkqIGdzdC9tYXRyb3NrYS93ZWJtLW11eC5jOgoJKiBnc3QvbW9ub3Njb3BlL2dzdG1vbm9zY29wZS5jOgoJKiBnc3QvbXVsdGlmaWxlL2dzdG11bHRpZmlsZXNpbmsuYzoKCSogZ3N0L211bHRpZmlsZS9nc3RtdWx0aWZpbGVzcmMuYzoKCSogZ3N0L211bHRpZmlsZS9nc3RzcGxpdGZpbGVzcmMuYzoKCSogZ3N0L211bHRpcGFydC9tdWx0aXBhcnRkZW11eC5jOgoJKiBnc3QvbXVsdGlwYXJ0L211bHRpcGFydG11eC5jOgoJKiBnc3QvcmVwbGF5Z2Fpbi9nc3RyZ2FuYWx5c2lzLmM6CgkqIGdzdC9yZXBsYXlnYWluL2dzdHJnbGltaXRlci5jOgoJKiBnc3QvcmVwbGF5Z2Fpbi9nc3RyZ3ZvbHVtZS5jOgoJKiBnc3QvcnRwL1JFQURNRToKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBwdGRlbXV4LmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc3NyY2RlbXV4LmM6CgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSogZ3N0L3NoYXBld2lwZS9nc3RzaGFwZXdpcGUuYzoKCSogZ3N0L3NtcHRlL2dzdHNtcHRlLmM6CgkqIGdzdC9zbXB0ZS9nc3RzbXB0ZWFscGhhLmM6CgkqIGdzdC91ZHAvZ3N0dWRwc2luay5jOgoJKiBnc3QvdWRwL2dzdHVkcHNyYy5jOgoJKiBnc3QvdmlkZW9ib3gvZ3N0dmlkZW9ib3guYzoKCSogZ3N0L3ZpZGVvY3JvcC9nc3Rhc3BlY3RyYXRpb2Nyb3AuYzoKCSogZ3N0L3ZpZGVvY3JvcC9nc3R2aWRlb2Nyb3AuYzoKCSogZ3N0L3ZpZGVvZmlsdGVyL2dzdGdhbW1hLmM6CgkqIGdzdC92aWRlb2ZpbHRlci9nc3R2aWRlb2JhbGFuY2UuYzoKCSogZ3N0L3ZpZGVvZmlsdGVyL2dzdHZpZGVvZmxpcC5jOgoJKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzoKCSogc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdHNvdW5kc2luay5jOgoJKiBzeXMvb3NzL2dzdG9zc3NpbmsuYzoKCSogc3lzL29zcy9nc3Rvc3NzcmMuYzoKCSogc3lzL29zczQvb3NzNC1zaW5rLmM6CgkqIHN5cy9vc3M0L29zczQtc291cmNlLmM6CgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hhdWRpb3NpbmsuYzoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGF1ZGlvc3JjLmM6CgkqIHN5cy9zdW5hdWRpby9nc3RzdW5hdWRpb3NpbmsuYzoKCSogc3lzL3N1bmF1ZGlvL2dzdHN1bmF1ZGlvc3JjLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJyYWRpby5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyc2luay5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkqIHN5cy93YXZlZm9ybS9nc3R3YXZlZm9ybXNpbmsuYzoKCSogc3lzL3hpbWFnZS9nc3R4aW1hZ2VzcmMuYzoKCSogdGVzdHMvZXhhbXBsZXMvY2Fpcm8vY2Fpcm9fb3ZlcmxheS5jOgoJKiB0ZXN0cy9leGFtcGxlcy9ydHAvY2xpZW50LUgyNjNwLUFNUi5zaDoKCSogdGVzdHMvZXhhbXBsZXMvcnRwL2NsaWVudC1IMjYzcC1QQ01BLnNoOgoJKiB0ZXN0cy9leGFtcGxlcy9ydHAvY2xpZW50LUgyNjNwLnNoOgoJKiB0ZXN0cy9leGFtcGxlcy9ydHAvY2xpZW50LUgyNjQtUENNQS5zaDoKCSogdGVzdHMvZXhhbXBsZXMvcnRwL2NsaWVudC1IMjY0LnNoOgoJKiB0ZXN0cy9leGFtcGxlcy9ydHAvY2xpZW50LVBDTUEuc2g6CgkqIHRlc3RzL2V4YW1wbGVzL3J0cC9zZXJ2ZXItVlRTLUgyNjNwLUFUUy1QQ01BLnNoOgoJKiB0ZXN0cy9leGFtcGxlcy9ydHAvc2VydmVyLVZUUy1IMjYzcC5zaDoKCSogdGVzdHMvZXhhbXBsZXMvcnRwL3NlcnZlci1hbHNhc3JjLVBDTUEuc2g6CgkqIHRlc3RzL2V4YW1wbGVzL3J0cC9zZXJ2ZXItZGVjb2RlYmluLUgyNjNwLUFNUi5zaDoKCSogdGVzdHMvZXhhbXBsZXMvcnRwL3NlcnZlci12NGwyLUgyNjNwLWFsc2FzcmMtQU1SLnNoOgoJKiB0ZXN0cy9leGFtcGxlcy9ydHAvc2VydmVyLXY0bDItSDI2NC1hbHNhc3JjLVBDTUEuc2g6CgkqIHRlc3RzL2V4YW1wbGVzL3NoYXBld2lwZS9zaGFwZXdpcGUtZXhhbXBsZS5jOgoJKiB0ZXN0cy9pY2xlcy9nZGtwaXhidWZzaW5rLXRlc3QuYzoKCSogdGVzdHMvaWNsZXMvdmlkZW9jcm9wLXRlc3QuYzoKCSAgZG9jczogZ3N0LWxhdW5jaCAtPiBnc3QtbGF1bmNoLTEuMCBhbmQgZmZtcGVnY29sb3JzcGFjZSAtPiB2aWRlb2NvbnZlcnQKCjIwMTItMDgtMjYgMjI6MzI6NTQgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBleHQvZmxhYy9nc3RmbGFjZGVjLmM6CgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIyLmM6CgkgIGRvY3M6IGdzdC1sYXVuY2gtMC4xMSAtPiBnc3QtbGF1bmNoLTEuMAoKMjAxMi0wOC0yNiAyMjowODo1NCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9kZWludGVybGFjZS5jOgoJICBkZWludGVybGFjZTogdGhlIGZpZWxkIGluIGNhcHMgaXMgImludGVybGFjZS1tb2RlIiBub3QgImludGVybGFjZS1tZXRob2QiCgkgIEZpeCBkZWludGVybGFjZSB1bml0IHRlc3QuIE5lZWQgdG8gc2V0IHJpZ2h0IGZpZWxkIG9uIG91dHB1dCBjYXBzLgoJICBBbHNvIHJlbW92ZSByaWdodCBmaWVsZCAobm90IG9sZCAwLjEwICJpbnRlcmxhY2VkIiBib29sZWFuIGZpZWxkKQoJICBmcm9tIGNhcHMgaW4gdW5pdCB0ZXN0IGJlZm9yZSBjb21wYXJpbmcgb2xkIGFuZCBuZXcuCgoyMDEyLTA4LTI2IDIxOjQ1OjQ0ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvaWN5ZGVtdXguYzoKCSAgdGVzdHM6IGZpeCBpY3lkZW11eCB1bml0IHRlc3QKCSAgV2FzIHdhaXRpbmcgZm9yIGEgdGFnIG1lc3NhZ2Ugb24gdGhlIGJ1cywgd2hpY2ggd291bGQgbmV2ZXIKCSAgY29tZSwgYmVjYXVzZSBlbGVtZW50cyBkb24ndCBwb3N0IHRob3NlIHRoZW1zZWx2ZXMgYW55IG1vcmUKCSAgYnV0IGxldCBzaW5rcyBwb3N0IHRoZW0gZnJvbSB0YWcgZXZlbnRzLiBPbmx5IHRoYXQgdGhlcmUgYXJlCgkgIG5vIHNpbmtzIGluIHRoaXMgdW5pdCB0ZXN0LgoKMjAxMi0wOC0yNiAyMToyNzowMCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3ZpZGVvY3JvcC5jOgoJICB0ZXN0czogZml4IHZpZGVvY3JvcCBjcm9wX3RvXzF4MSB1bml0IHRlc3QgZm9yIEdSQVk4IGZvcm1hdAoJICBVcGRhdGUgdGFibGUgd2l0aCBwaXhlbCB2YWx1ZXMgd2l0aCB0aGUgdmFsdWUgYWN0dWFsbHkgcHJvZHVjZWQKCSAgYnkgdmlkZW90ZXN0c3JjLgoKMjAxMi0wOC0yNyAwOTowMDo0NSArMDIwMCAgU2pvZXJkIFNpbW9ucyA8c2pvZXJkQGx1b24ubmV0PgoKCSogZXh0L3B1bHNlL3B1bHNlc3JjLmM6CgkgIHB1bHNlc3JjOiBPbmx5IHByaW50IGNhcHMgaWYgdGhleSdyZSBwcm92aWRlZAoKMjAxMi0wOC0yNCAxOTo0MzowOCArMDEwMCAgTWljaGFlbCBSdWJpbnN0ZWluIDxtcnViaW5zdGVpbkByYWktZGV2LmNvbT4KCgkqIGdzdC92aWRlb21peGVyL2JsZW5kLmM6CgkgIHZpZGVvbWl4ZXI6IGZpeCBlbmRpYW5uZXNzIGNoZWNrIG9uIHN5c3RlbXMgd2hlcmUgbm9uLWdsaWIgZW5kaWFubmVzcyBkZWZpbmVzIGFyZSBub3Qgc2V0CgkgIE9uIFdpbmRvd3MgTElUVExFX0VORElBTiB3aXRob3V0IHRoZSBHXyBpbiB3YXMgbm90IGRlZmluZWQsICBzbyB0aGUKCSAgdGVzdCBjb21lcyBvdXQgd3JvbmcuCgoyMDEyLTA4LTIyIDE3OjIzOjI1ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuYzoKCSAgdWRwc2luazogZG9uJ3QgY3Jhc2ggb24gTlVMTCBlcnJvcgoJICBDaGVjayBpZiB0aGVyZSBpcyBhbiBlcnJvciBiZWZvcmUgcmV0cmlldmluZyBpdHMgbWVzc2FnZS4KCSAgU2VlIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODI0ODEKCjIwMTItMDgtMjIgMTM6MzA6MTkgKzAyMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIDY2OGFjZWUgdG8gNGY5NjJmNwoKMjAxMi0wOC0yMiAxMzoxODowMCArMDIwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiBidW1wIGd0ay1kb2MgcmVxIHRvIDEuMTIgKG1hci0yMDA5KQoJICBUaGlzIGFsbG93cyB1cyB0byBlLmcuIHVuY29uZGl0aW9uYWxseSB1c2UgZ3RrZG9jLXJlYmFzZS4KCjIwMTItMDgtMjIgMTE6MjE6MzggKzAyMDAgIE1hcnRpbiBFcnRzYWFzIDxtZXJ0c2FzQGNpc2NvLmNvbT4KCgkqIHN5cy9vc3h2aWRlby9vc3h2aWRlb3NpbmsuaDoKCSogc3lzL29zeHZpZGVvL29zeHZpZGVvc2luay5tOgoJICBvc3h2aWRlb3Npbms6IE1ha2Ugb3N4dmlkZW9zaW5rIHVzZSB0aGUgbm9uLWRlcHJlY2F0ZWQgdGhyZWFkaW5nIGFwaSBmcm9tIGdsaWIuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODI0NDYKCjIwMTItMDgtMTQgMTU6NDA6MzEgKzA1MzAgIEFydW4gUmFnaGF2YW4gPGFydW4ucmFnaGF2YW5AY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3B1bHNlL3B1bHNlc3JjLmM6CgkgIHB1bHNlc3JjOiBIYW5kbGUgbmVnb3RpYXRpb24gZXZlbnRzCgkgIFRoaXMgbWFrZXMgc3VyZSB0aGF0IHdlOgoJICBhKSBEZXN0cm95IGFuIGV4aXN0aW5nIHN0cmVhbSBpZiBhIG5lZ290aWF0ZSgpIHJlcXVlc3QgY29tZXMgaW46IHRoaXMgaXMKCSAgcmVxdWlyZWQgd2hlbiByZWNlaXZpbmcgYSBkb3duc3RyZWFtIHJlbmVnb3RpYXRpb24gcmVxdWVzdCBhZnRlciBhCgkgIHN0cmVhbSBoYXMgYmVlbiBjcmVhdGVkLgoJICBiKSBDcmVhdGUgYSBuZXcgc3RyZWFtIG9uIHByZXBhcmUoKTogdGhpcyBpcyByZXF1aXJlZCBzaW5jZSB3ZSBkbyBhCgkgIHNldGNhcHMoKSBpbiBuZWdvdGlhdGUoKSwgd2hpY2ggY2F1c2VzIHRoZSBzdHJlYW0gdG8gYmUgZHJvcHBlZCBieSBhCgkgIHJpbmdidWZmZXIgcmVsZWFzZSgpIGNhbGwgKHRoaXMgZG9lcyBub3QgaGFwcGVuIGR1cmluZyBmaXJzdCBuZWdvdGlhdGlvbgoJICBzaW5jZSB0aGUgcmVsZWFzZSBpcyBvbmx5IGRvbmUgb24gYSBydW5uaW5nIHJpbmdidWZmZXIpLiBUaGUgc3Vic2VxdWVudAoJICBjYWxsIHRvIHJpbmdidWZmZXIgYWNxdWlyZSgpIGZhaWxzIGJlY2F1c2UgdGhlIHN0cmVhbSB3YXMgbG9zdCBvbgoJICByZWxlYXNlKCkuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODEyNDcKCjIwMTItMDgtMTQgMTU6Mzg6MjcgKzA1MzAgIEFydW4gUmFnaGF2YW4gPGFydW4ucmFnaGF2YW5AY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3B1bHNlL3B1bHNldXRpbC5jOgoJICBwdWxzZTogQ2xlYXIgdW5wb3NpdGlvbmVkIGZsYWcgd2hlbiBzZXR0aW5nIHBvc2l0aW9ucwoJICBJZiBjb252ZXJ0aW5nIGEgUEEgY2hhbm5lbCBtYXAgdG8gZ3N0IGNoYW5uZWwgcG9zaXRpb25zIHJlc3VsdHMgaW4gYQoJICB2YWxpZCBzZXQgb2YgY2hhbm5lbCBwb3NpdGlvbnMsIHdlIGNsZWFyIHRoZSB1bnBvc2l0aW9uZWQgZmxhZyBmcm9tIHRoZQoJICByaW5nYnVmZmVyIHNwZWMuCgoyMDEyLTA4LTE0IDA5OjM3OjQ1ICswNTMwICBBcnVuIFJhZ2hhdmFuIDxhcnVuLnJhZ2hhdmFuQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9wdWxzZS9wdWxzZXNyYy5jOgoJICBwdWxzZXNyYzogUmVtb3ZlIHJlZHVuZGFudCBjaGFubmVsLW1hc2sgc2V0dGluZyBmb3Igc3RlcmVvIGNhc2UKCSAgVGhlIGdzdGF1ZGlvIGhlbHBlciBsaWJyYXJpZXMgYWxyZWFkeSB0YWtlIGNhcmUgb2YgdGhpcyBjYXNlIGZvciB1cy4KCjIwMTItMDgtMTQgMDk6MzY6MzAgKzA1MzAgIEFydW4gUmFnaGF2YW4gPGFydW4ucmFnaGF2YW5AY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3B1bHNlL3B1bHNlc3JjLmM6CgkgIHB1bHNlc3JjOiBEb24ndCB1c2UgbWVtc2V0IHRvIHNldCBpbnZhbGlkIGNoYW5uZWwgcG9zaXRpb25zCgkgIFRoaXMgaXRlcmVhdGVzIG92ZXIgdGhlIEdzdEF1ZGlvSW5mbyB0byBzZXQgaW52YWxpZCBjaGFubmVsIHBvc2l0aW9ucwoJICByYXRoZXIgdGhhbiB1c2UgbWVtc2V0KCkgd2hpY2ggd29ya3MgcmlnaHQgbm93IGJlY2F1c2UgaXQgYXNzdW1lcyB0aGF0CgkgIEdTVF9BVURJT19DSEFOTkVMX1BPU0lUSU9OX0lOVkFMSUQgaXMgLTEuCgoyMDEyLTA4LTIyIDEwOjMwOjA0ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZXh0L2dka19waXhidWYvZ3N0Z2RrcGl4YnVmc2luay5jOgoJICBnZGtwaXhidWZzaW5rOiBtaW5vciBkb2NzIGltcHJvdmVtZW50CgoyMDEyLTA4LTIyIDEwOjIzOjI0ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZXh0L2dka19waXhidWYvTWFrZWZpbGUuYW06CgkqIGV4dC9nZGtfcGl4YnVmL2dzdGdka3BpeGJ1ZnBsdWdpbi5jOgoJICBnZGtwaXhidWY6IHJlLWVuYWJsZSBhbHJlYWR5LXBvcnRlZCBnZGtwaXhidWZzaW5rCgoyMDEyLTA4LTIyIDEwOjA4OjA4ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZXh0L2dka19waXhidWYvTWFrZWZpbGUuYW06CgkqIGV4dC9nZGtfcGl4YnVmL2dzdGdka3BpeGJ1Zm92ZXJsYXkuYzoKCSogZXh0L2dka19waXhidWYvZ3N0Z2RrcGl4YnVmb3ZlcmxheS5oOgoJKiBleHQvZ2RrX3BpeGJ1Zi9nc3RnZGtwaXhidWZwbHVnaW4uYzoKCSAgZ2RrcGl4YnVmOiBwb3J0IGdka3BpeGJ1Zm92ZXJsYXkgZWxlbWVudCB0byAwLjExCgoyMDEyLTA4LTIyIDAwOjAwOjQ2ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvZ2RrX3BpeGJ1Zi9NYWtlZmlsZS5hbToKCSogZXh0L2dka19waXhidWYvZ3N0Z2RrcGl4YnVmLmM6CgkqIGV4dC9nZGtfcGl4YnVmL2dzdGdka3BpeGJ1Zi5oOgoJKiBleHQvZ2RrX3BpeGJ1Zi9nc3RnZGtwaXhidWZkZWMuYzoKCSogZXh0L2dka19waXhidWYvZ3N0Z2RrcGl4YnVmZGVjLmg6CgkqIGV4dC9nZGtfcGl4YnVmL2dzdGdka3BpeGJ1ZnBsdWdpbi5jOgoJICBnZGtwaXhidWY6IHJlLWVuYWJsZSBhbHJlYWR5LXBvcnRlZCBnZGtwaXhidWYgZWxlbWVudCBhcyBnZGtwaXhidWZkZWMKCSAgTm90IHN1cmUgd2h5IGl0IGFzIGRpc2FibGVkIGV4YWN0bHkgZ2l2ZW4gdGhhdCBpdCBoYWQgYWxyZWFkeQoJICBiZWVuIHBvcnRlZCAodGhvdWdoIHdpdGhvdXQgbWV0YXMgb3IgYmFzZWNsYXNzKS4KCSAgTW92ZSBwbHVnaW5faW5pdCBiaXRzIGludG8gc2VwYXJhdGUgc291cmNlIGZpbGUsIGFuZCByZW5hbWUKCSAgZGVjb2RlciBlbGVtZW50IHRvIGdka3BpeGJ1ZmRlYy4KCjIwMTItMDgtMjEgMjM6MjU6NDcgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBleHQvZ2RrX3BpeGJ1Zi9nc3RfbG9hZGVyLmM6CgkgIGdka3BpeGJ1ZjogcmVtb3ZlIG9sZCBhbmQgdW51c2VkIGdzdF9sb2FkZXIgc291cmNlIGZpbGUKCSAgT25jZSB1cG9uIGEgdGltZSB1c2VkIHRvIGxvYWQgR1N0cmVhbWVyIHZpZHMgdmlhIEdka1BpeGJ1ZiBBUEkuCgoyMDEyLTA4LTE2IDE2OjUxOjE2IC0wNzAwICBBbGVpeCBDb25jaGlsbG8gRmxhcXVlIDxhbGVpeEBvYmxvbmcuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5oOgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuaDoKCSAgcnRzcHNyYzogbWFrZSBqaXR0ZXJidWZmZXIgZHJvcC1vbi1sYXRlbmN5IGF2YWlsYWJsZSAoZml4ICM2ODIwNTUpCgkgIENvbmZsaWN0czoKCSAgZ3N0L3J0c3AvZ3N0cnRzcHNyYy5oCgoyMDEyLTA4LTIxIDE5OjQ3OjQ1ICswODAwICBIdWFjYWkgQ2hlbiA8Y2hlbmhjQGxlbW90ZS5jb20+CgoJKiBzeXMvdjRsMi92NGwyX2NhbGxzLmM6CgkgIHY0bDI6IG1ha2UgZ3N0X3Y0bDJfZmlsbF9saXN0cygpIGFkYXB0IHRvIGtlcm5lbCAzLjMrCgkgIFdoZW4gZG8gdjRsMl9pb2N0bCgpIHdpdGggVklESU9DX0VOVU1JTlBVVCBmYWlscyBvbiBzb21lIGRldmljZXMsCgkgIGtlcm5lbHMgYmVmb3JlIDMuMy4wIHJldHVybiBFSU5WQUwsIGJ1dCBuZXdlciBrZXJuZWxzIHJldHVybiBFTk9UVFkuCgkgIFRoaXMgcGF0Y2ggbWFrZSB0aG9zZSBkZXZpY2VzIHdvcmsgd2VsbCBvbiBrZXJuZWwgMy4zKy4KCSAgUmVsYXRlZCBrZXJuZWwgY29tbWl0OgoJICBodHRwOi8vZ2l0Lmtlcm5lbC5vcmcvP3A9bGludXgva2VybmVsL2dpdC90b3J2YWxkcy9saW51eC5naXQ7YT1jb21taXQ7aD0wN2QxMDZkMGEzM2Q2MDYzZDIwNjEzMDU5MDNkZWIwMjQ4OWViYTIwCgkgIFNpZ25lZC1vZmYtYnk6IEh1YWNhaSBDaGVuIDxjaGVuaGNAbGVtb3RlLmNvbT4KCSAgU2lnbmVkLW9mZi1ieTogUnVpIFdhbmcgPHdhbmdyQGxlbW90ZS5jb20+CgkgIFNpZ25lZC1vZmYtYnk6IEppZSBDaGVuIDxjaGVuakBsZW1vdGUuY29tPgoKMjAxMi0wOC0yMCAyMzozMDozOCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tYXRyb3NrYS54bWw6CgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJICB2aWRlby94LWR2ZC1zdWJwaWN0dXJlIC0+IHN1YnBpY3R1cmUveC1kdmQKCjIwMTItMDgtMTcgMjA6NTI6NDIgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBnc3QvbXVsdGlmaWxlL2dzdG11bHRpZmlsZXNyYy5jOgoJICBtdWx0aWZpbGVzcmM6IGZpeCBleGFtcGxlIHBpcGVsaW5lIGluIGRvY3MKCjIwMTItMDgtMTcgMTQ6NTk6NTcgKzAyMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplci5jOgoJKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplcjEwYmFuZHMuYzoKCSogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIzYmFuZHMuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZXF1YWxpemVyLmM6CgkgIGVxdWFsaXplcjogZW5hYmxlIHByZXNldHMgZm9yIHRoZSBuLWJhbmQgZXF1YWxpemVyCgkgIEFkZCBhIHRlc3QgZm9yIHNhdmluZyBhbmQgcmVzdG9yaW5nIHRoZSBwcmVzZXQuCgoyMDEyLTA4LTE0IDAxOjIwOjE5ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmM6CgkgIGRlaW50ZXJsYWNlOiBmaXggbm90LW5lZ290aWF0ZWQgZXJyb3JzIG9uIHZhcmlhYmxlIG9yIG1pc3NpbmcgZnJhbWVyYXRlIGluIGlucHV0IGNhcHMKCSAgUmVtb3ZlIHNvbWUgYm9ndXMgY29kZSBJIGFkZGVkIGR1cmluZyBwb3J0aW5nIHRoYXQgd291bGQgZXJyb3Igb3V0CgkgIG9uIG1pc3Npbmcgb3IgdmFyaWFibGUgZnJhbWVyYXRlcyBpbiBpbnB1dCBjYXBzLiBIYW5kbGUgdGhpcyBsaWtlCgkgIHdlIGRvIGluIDAuMTAKCSAgRml4ZXMgdGVzdF9tb2RlX2Rpc2FibGVkX3Bhc3N0aHJvdWdoIHVuaXQgdGVzdCBjaGVjay4KCjIwMTItMDgtMTIgMTM6MTY6MzIgKzAyMDAgIFNqb2VyZCBTaW1vbnMgPHNqb2VyZEBsdW9uLm5ldD4KCgkqIGdzdC9sYXcvYWxhdy1kZWNvZGUuYzoKCSogZ3N0L2xhdy9tdWxhdy1kZWNvZGUuYzoKCSAgbGF3OiBGaWx0ZXIgbGF5b3V0IGNhcHMgZmllbGQKCSAgVGhlIGxheW91dCBjYXBzIGZpZWxkIHNob3VsZG4ndCBiZSBwYXNzZWQgdGhyb3VnaCB0byB0aGUgc2luayBwYWQKCSAgb2Yge211LGF9bGF3ZGVjLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjgxNjc3CgoyMDEyLTA4LTA5IDE5OjQxOjM0ICswMzAwICBBbnRvbiBCZWxrYSA8YW50b25iZWxrYUBnbWFpbC5jb20+CgoJKiBleHQvZmxhYy9nc3RmbGFjZW5jLmM6CgkgIGZsYWNlbmM6IGFsbG93IGEgVE9DIHdpdGggc2luZ2xlIGFsdGVybmF0aXZlIHRvcC1sZXZlbCBlbnRyeQoJICBBbGxvdyBhIFRPQyB0aGF0IGhhcyBhIHNpbmdsZSBhbHRlcm5hdGl2ZSB0b3AtbGV2ZWwgZW50cnkKCSAgd2l0aCBtdWx0aXBsZSBzZXF1ZW5jZSBzdWItZW50cmllcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTQwODkxCgoyMDEyLTA4LTA5IDEwOjMxOjM5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiBBbmQgZml4IHRoZSBHVEsgY2hlY2sgdG8gdXNlIHRoZSBjb3JyZWN0IHBrZy1jb25maWcgcGFja2FnZSBuYW1lCgoyMDEyLTA4LTA5IDEwOjI1OjM4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiBGaXggR1RLIHJlcXVpcmVkIHZlcnNpb24gdmFyaWFibGUgbmFtZQoKMjAxMi0wOC0wOSAwODozNToyMyArMDEwMCAgTWF0dGhpYXMgQ2xhc2VuIDxtY2xhc2VuQHJlZGhhdC5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJICB2NGwyOiBmaXggYnVpbGQgd2l0aCByZWNlbnQga2VybmVscywgdGhlIHY0bDJfYnVmZmVyIGlucHV0IGZpZWxkIHdhcyByZW1vdmVkCgkgIFRoaXMgd2FzIHVudXNlZCBhcHBhcmVudGx5IGFuZCByZW1vdmVkIGluIHRoZSBrZXJuZWwgaW4gY29tbWl0OgoJICBGcm9tIDJiNzE5ZDdiYWY0OTBlMjRjZTdkODE3YzYzMzdiN2M4N2ZkYTg0YzEgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCgkgIEZyb206IFNha2FyaSBBaWx1cyA8c2FrYXJpLmFpbHVzQGlraS5maT4KCSAgRGF0ZTogV2VkLCAyIE1heSAyMDEyIDA5OjQwOjAzIC0wMzAwCgkgIFN1YmplY3Q6IFtQQVRDSF0gW21lZGlhXSB2NGw6IGRyb3AgdjRsMl9idWZmZXIuaW5wdXQgYW5kIFY0TDJfQlVGX0ZMQUdfSU5QVVQKCSAgUmVtb3ZlIGlucHV0IGZpZWxkIGluIHN0cnVjdCB2NGwyX2J1ZmZlciBhbmQgZmxhZyBWNEwyX0JVRl9GTEFHX0lOUFVUIHdoaWNoCgkgIHRlbGxzIHRoZSBmb3JtZXIgaXMgdmFsaWQuIFRoZSBmbGFnIGlzIHVzZWQgYnkgbm8gZHJpdmVyIGN1cnJlbnRseS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4MTQ5MQoJICBDb25mbGljdHM6CgkgIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmMKCjIwMTItMDgtMDggMTc6MjU6MzYgLTA3MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRwYXkuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwLXBheWxvYWRpbmcuYzoKCSAgcnRwaDI2NHBheTogTWFrZSBpdCBhY3R1YWxseSB3b3JrIGFmdGVyIGNsZWFudXBzCgoyMDEyLTA4LTA4IDE3OjQwOjM0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdG1mL2dzdGR0bWZzcmMuYzoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZmRlcGF5LmM6CgkgIGdzdDogU2V0IGFsaWdubWVudCBhdCB0aGUgY29ycmVjdCBwbGFjZSBvZiBHc3RBbGxvY2F0aW9uUGFyYW1zCgoyMDEyLTA4LTA4IDE3OjM5OjA3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9qcGVnL2dzdGpwZWdlbmMuYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkqIGdzdC9tdWx0aXBhcnQvbXVsdGlwYXJ0bXV4LmM6CgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIyLmM6CgkgIGdzdDogU2V0IGFsaWdubWVudCBhdCB0aGUgY29ycmVjdCBwbGFjZSBvZiBHc3RBbGxvY2F0aW9uUGFyYW1zCgoyMDEyLTA4LTA4IDE2OjI1OjU4ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICBCYWNrIHRvIGRldmVsb3BtZW50Cgo9PT0gcmVsZWFzZSAwLjExLjkzID09PQoKMjAxMi0wOC0wOCAxNToyMjowNCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC1wbHVnaW5zLWdvb2QuZG9hcDoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICBSZWxlYXNlIDAuMTEuOTMKCjIwMTItMDgtMDggMTU6MTc6MjIgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogTWFrZWZpbGUuYW06CgkqIHdpbjMyL01BTklGRVNUOgoJKiB3aW4zMi9jb21tb24vdHVuZXItZW51bXR5cGVzLmM6CgkqIHdpbjMyL2NvbW1vbi90dW5lci1lbnVtdHlwZXMuaDoKCSogd2luMzIvY29tbW9uL3R1bmVyLW1hcnNoYWwuYzoKCSogd2luMzIvY29tbW9uL3R1bmVyLW1hcnNoYWwuaDoKCSAgd2luMzI6IGFkZCBnZW5lcmF0ZWQgdHVuZXItbWFyc2hhbC9lbnVtdHlwZXMgZmlsZXMgZm9yIHY0bDJzcmMgYW5kIHVwZGF0ZQoJICBBbmQgZ3N0LWluZGVudCB0aGUgcmlnaHQgcnRwIG1hcnNoYWwgZmlsZXM7IGFkZCBtaXNzaW5nIGZpbGVzIHRvIE1BTklGRVNULgoKMjAxMi0wOC0wOCAxNToxMDozNyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lLWRpc3QuYzoKCSogZ3N0L3ZpZGVvYm94L2dzdHZpZGVvYm94b3JjLWRpc3QuYzoKCSogZ3N0L3ZpZGVvbWl4ZXIvYmxlbmRvcmMtZGlzdC5jOgoJICBnc3Q6IHVwZGF0ZSBkaXN0ZWQgb3JjIGZpbGVzCgoyMDEyLTA4LTA4IDExOjMxOjU5ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2RlYy5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzc3JjZGVtdXguYzoKCSogc3lzL29zczQvb3NzNC1hdWRpby5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIFNpbGVuY2Ugc29tZSAndmFyaWFibGUgbWF5IGJlIHVzZWQgdW5pbml0aWFsaXplZCcgY29tcGlsZXIgd2FybmluZ3MKCSAgV2hlbiBjb21waWxpbmcgd2l0aCAtREdfRElTQUJMRV9BU1NFUlQKCjIwMTItMDgtMDggMTA6NTY6NTEgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBleHQvanBlZy9nc3RqcGVnZGVjLmM6CgkqIGV4dC9saWJwbmcvZ3N0cG5nZGVjLmM6CgkqIGdzdC9pc29tcDQvZ3N0cXRtb292cmVjb3Zlci5jOgoJKiB0ZXN0cy9pY2xlcy94aW1hZ2VzcmMtdGVzdC5jOgoJICBObyBjb2RlIHdpdGggc2lkZS1lZmZlY3RzIGluc2lkZSBnX2Fzc2VydCgpIHBsZWFzZQoKMjAxMi0wOC0wNyAxMToxNDoyMSAtMDcwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC91ZHAvZ3N0bXVsdGl1ZHBzaW5rLmM6CgkgIG11bHRpdWRwc2luazogUmV0dXJuIEZMVVNISU5HIGluc3RlYWQgb2YgRVJST1Igb24gdW5sb2NrCgkgIElmIHRoZSBiYXNlIGNsYXNzIGFza3MgbXVsdGl1ZHBzaW5rIHRvIHVubG9jaywgdGhlbiBpdCBzaG91bGQgcmV0dXJuCgkgIEZMVVNISU5HLCBub3QgRVJST1IKCjIwMTItMDctMjYgMTY6MTk6NTcgKzAzMDAgIEFudG9uIEJlbGthIDxhbnRvbmJlbGthQGdtYWlsLmNvbT4KCgkqIGV4dC9mbGFjL2dzdGZsYWNlbmMuYzoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2VuYy5oOgoJICBmbGFjZW5jOiBhZGQgVE9DIHN1cHBvcnQKCSAgQWRkIFRPQyBhcyBlbWJlZGRlZCBjdWVzaGVldHMgaW4gZmxhYyBmaWxlcy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTU0MDg5CgoyMDEyLTA4LTA3IDEyOjEyOjA5ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZmxhY3BhcnNlLmM6CgkgIGZsYWNwYXJzZTogZ2VuZXJhdGUgZW1wdHkgdm9yYmlzY29tbWVudCBmb3IgY29tcGxldGUgc3RyZWFtaGVhZGVycyBpZiBuZWVkZWQKCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4MTMzNQoKMjAxMi0wOC0wNiAxODowMjo1MCAtMDcwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNzcmNkZW11eC5jOgoJICBydHBzc3JjZGVtdXg6IEJsb2NrIHBhZCB3aGlsZSBpdCBpcyBhbm5vdW5jZWQuCgkgIEJsb2NrIHRoZSBSVFAgcGFkIGFuZCBhc3NvY2lhdGVkIFJUQ1AgcGFkcyB3aGlsZSB0aGV5IGFyZSBiZWluZwoJICBhbm5vdW5jZWQuIFRoaXMgaXQgdG8gcHJldmVudCBhIHJhY2Ugd2hlcmUgb25lIGlzIGFubm91bmNlZCBhbmQKCSAgYmVmb3JlIHRoZSBjYWxsYmFjayBoYXMgY29ubmVjdGVkIGl0LCB0aGUgb3RoZXIgb25lIGdldHMgYSBidWZmZXIuCgkgIFdlIGNhbid0IHVzZSB0aGUgInBhZGxvY2siIG9mIHNzcmNkZW11eCBiZWNhdXNlIGl0IGNhdXNlcyBkZWFkbG9ja3MuCgoyMDEyLTA4LTA2IDE1OjAwOjU3ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbW1vbjoKCSAgY29tbW9uOiB1bi1kbyBhY2NpZGVudGFsIGNvbW1vbiB1cGRhdGUgcmV2ZXJ0IGluIGNvbW1pdCA3YjU5MjViNQoKMjAxMi0wOC0wNiAxNDo1MDo1MyArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cG1wYXJvYnVzdGRlcGF5LmM6CgkgIHJ0cG1wYXJvYnVzdGRlcGF5OiBzZXQgY29ycmVjdCBkYXRhX3NpemUgZm9yIGdlbmVyYXRlZCBkdW1teSBmcmFtZQoJICAuLi4gd2hpY2ggcHJldmVudHMgZ2V0dGluZyBzdHVjayBpbiBhIGxvb3AgaWYgc3VjaCBvbmUgaXMgbmVlZGVkLgoKMjAxMi0wOC0wNiAxNDo1MDowMyArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cG1wYXJvYnVzdGRlcGF5LmM6CgkgIHJ0cG1wYXJvYnVzdGRlcGF5OiBpbXByb3ZlIGFuZCBmaXggZGVidWcgc3RhdGVtZW50CgkgIC4uLiBzbyBpdCByZWFsbHkgaW5mb3JtcyBhYm91dCBuZXh0IHJhdGhlciB0aGFuIHBhc3QgZnJhbWUuCgoyMDEyLTA4LTA2IDEyOjM0OjU1ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwbXBhcm9idXN0ZGVwYXkuYzoKCSAgcnRwbXBhcm9idXN0ZGVwYXk6IHVwZGF0ZSBhdmFpbGFibGUgYnl0ZXdyaXRlciBzcGFjZSB3aGVuIHJlcG9zaXRpb25pbmcKCSAgLi4uIGFuZCBhZGQgc29tZSBtb3JlIGFzc2VydCB0byBjYXRjaCBwb3RlbnRpYWwgc3VycHJpc2VzIGVhcmx5IG9uLgoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjgwNTU4CgoyMDEyLTA4LTA0IDEyOjQ3OjQ0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbW1vbjoKCSogZXh0L2R2L2dzdGR2ZGVtdXguYzoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6CgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgZ3N0OiBBZGQgc3RyZWFtLWlkIHRvIHN0cmVhbS1zdGFydCBldmVudHMKCjIwMTItMDgtMDQgMTI6NTQ6MzIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thZGVtdXg6IENoYWluIHVwIHRvIHRoZSBwYXJlbnQgY2xhc3MnIHF1ZXJ5IGhhbmRsZXIgaWYgbm8gcGFkIGlzIHByb3ZpZGVkCgoyMDEyLTA4LTAyIDAxOjQ4OjI5ICswMjAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPHlsYXR1eWFAZ21haWwuY29tPgoKCSogc3lzL29zeHZpZGVvL29zeHZpZGVvc2luay5oOgoJKiBzeXMvb3N4dmlkZW8vb3N4dmlkZW9zaW5rLm06CgkgIG9zeHZpZGVvc2luazogYWRkIGEgYmV0dGVyIGRldGVjdGlvbiBmb3IgdGhlIG1haW4gcnVuIGxvb3AKCjIwMTItMDctMjcgMTY6MTM6NDkgKzAyMDAgIFhhdmkgQXJ0aWdhcyA8eGFydGlnYXNAZmx1ZW5kby5jb20+CgoJKiBzeXMvZGlyZWN0c291bmQvZ3N0ZGlyZWN0c291bmRzaW5rLmM6CgkgIGRpcmVjdHNvdW5kc2luazogRG8gbm90IG92ZXJ3cml0ZSB0aGUgRFMgYnVmZmVyIHdoZW4gdGVzdGluZyBmb3IgQUMzIHN1cHBvcnQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4MDcwNgoJICBDb25mbGljdHM6CgkgIHN5cy9kaXJlY3Rzb3VuZC9nc3RkaXJlY3Rzb3VuZHNpbmsuYwoKMjAxMi0wOC0wNSAxNjozOToyMyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gOTRjY2Y0YyB0byA2NjhhY2VlCgoyMDEyLTA4LTAzIDE2OjEzOjUyICswMTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc3NyY2RlbXV4LmM6CgkgIHJ0cHNzcmNkZW11eDogUmVsZWFzZSBsb2NrIGJlZm9yZSBzaWduYWxsaW5nIG5ldyBwYWQKCSAgVGhpcyBwcmV2ZW50cyBhIGRlYWRsb2NrIHdoZXJlIHNvbWV0aGluZyB3b3VsZCB0cnkgdG8gcHVzaCBhbiBldmVudAoJICB0aHJvdWdoIHRoZSBTU1JDIGRlbXV4IGZyb20gdGhlIGNhbGxiYWNrLCBjYXVzaW5nIHRoZSBwYWRzIHRvIGJlIGl0ZXJhdGVkCgkgIGFuZCB0aGUgbG9jayB0YWtlbi4KCjIwMTItMDgtMDQgMTY6MTA6MTYgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBleHQvZmxhYy9nc3RmbGFjZW5jLmM6CgkqIGV4dC9mbGFjL2dzdGZsYWN0YWcuYzoKCSogZXh0L3Nob3V0Mi9nc3RzaG91dDIuYzoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzoKCSogZXh0L3NwZWV4L2dzdHNwZWV4ZGVjLmM6CgkqIGV4dC9zcGVleC9nc3RzcGVleGVuYy5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5jOgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkqIGdzdC9hdmkvZ3N0YXZpbXV4LmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdHRhZ2luamVjdC5jOgoJKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6CgkqIGdzdC9pY3lkZW11eC9nc3RpY3lkZW11eC5jOgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4LmM6CgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXBhcnNlLmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1yZWFkLWNvbW1vbi5jOgoJKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXBldjJtdXguYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvaWN5ZGVtdXguYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvaWQzZGVtdXguYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvaWQzdjJtdXguYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcXRtdXguYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcmdhbmFseXNpcy5jOgoJKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvdGFnc2NoZWNraW5nLmM6CgkgIGdzdF90YWdfbGlzdF9mcmVlIC0+IGdzdF90YWdfbGlzdF91bnJlZgoKMjAxMi0wOC0wMyAxNDoxMDozMiArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IG1hbmFnZSByYWNlIGJldHdlZW4gY29ubmVjdGlvbiBjbG9zaW5nIGFuZCBmbHVzaGluZwoJICAuLi4gd2hlcmUgdGhlIGZvcm1lciBjYW4gaGFwcGVuIGluIHRhc2sgdGhyZWFkIGFuZCB0aGUgbGF0dGVyIGluIG1haW5sb29wCgkgIHVwb24gZG93bndhcmQgc3RhdGUgY2hhbmdlLgoKMjAxMi0wOC0wMyAxNDowMjoyMyArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmxhYy9nc3RmbGFjZGVjLmM6CgkgIGZsYWNkZWM6IGltcHJvdmUgYW5kIHJlbGF4IGF1ZGlvIGZyYW1lIHBhcnNpbmcKCSAgLi4uIHNvIGFzIHRvIHByb3Blcmx5IHJlY29nbml6ZSBmaXJzdCBhdWRpbyBmcmFtZS4KCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4MTA3NwoJICBDb25mbGljdHM6CgkgIGV4dC9mbGFjL2dzdGZsYWNkZWMuYwoKMjAxMi0wOC0wMSAxMjoxNjo0MSArMDIwMCAgUmVuw6kgU3RhZGxlciA8cmVuZS5zdGFkbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBmaXggZG91YmxlIHVucmVmIG9mIHByaXZhdGUgdGFnIGJ1ZmZlcgoKMjAxMi0wNy0zMCAxNzo1NDo1MSArMDMwMCAgQW50b24gQmVsa2EgPGFudG9uYmVsa2FAZ21haWwuY29tPgoKCSogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6CgkgIHdhdnBhcnNlOiBjcmVhdGUgVE9DIGFzIG5lZWRlZAoJICBBdm9pZCBjcmVhdGluZyB0aGUgdG9jIGlmIHRoZSB3YXYgaGFzIG5vIG9yIGVtcHR5IGN1ZSBjaHVuay4KCSAgQWxzbyBhIHNtYWxsIGNvZGUgY2xlYW51cC4KCjIwMTItMDctMjggMTE6MjY6MDEgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzoKCSAgd2F2cGFyc2U6IHVwZGF0ZSBmb3IgVE9DIEFQSSBjaGFuZ2VzCgoyMDEyLTA3LTI4IDExOjIyOjQzICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXJlYWQtY29tbW9uLmM6CgkgIG1hdHJvc2thOiB1cGRhdGUgZm9yIFRPQyBBUEkgY2hhbmdlcwoKMjAxMi0wNy0yOCAxMToyMDowOCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZmxhY3BhcnNlLmM6CgkgIGZsYWNwYXJzZTogdXBkYXRlIGZvciBUT0MgQVBJIGNoYW5nZXMKCjIwMTItMDctMjggMDA6MTk6NTEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2R2L2dzdGR2ZGVtdXguYzoKCSogZXh0L2ZsYWMvZ3N0ZmxhY3RhZy5jOgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOgoJKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZGVjLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZmxhY3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0bXBlZ2F1ZGlvcGFyc2UuYzoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJKiBnc3QvYXZpL2dzdGF2aXN1YnRpdGxlLmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdHRhZ2luamVjdC5jOgoJKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6CgkqIGdzdC9pY3lkZW11eC9nc3RpY3lkZW11eC5jOgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1yZWFkLWNvbW1vbi5jOgoJKiBnc3QvbXVsdGlwYXJ0L211bHRpcGFydGRlbXV4LmM6CgkqIGdzdC9yZXBsYXlnYWluL2dzdHJnYW5hbHlzaXMuYzoKCSogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3JnYW5hbHlzaXMuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcmd2b2x1bWUuYzoKCSAgdGFnOiBVcGRhdGUgZm9yIHRhZ2xpc3QvdGFnIGV2ZW50IEFQSSBjaGFuZ2VzCgoyMDEyLTA3LTI3IDEyOjA1OjQ0ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pc29tcDQvZ3N0cXRtdXguYzoKCSogZ3N0L2lzb21wNC9pc29tcDQtcGx1Z2luLmM6CgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdChkZSltdXg6IHBhc3MgcHJpdmF0ZSBibG9iIHRhZ3MgaW4gYSBzYW1wbGUKCSAgLi4uIHJhdGhlciB0aGFuIGEgYnVmZmVyLCBhbmQgdGhlIGRldGFpbGVkIGluZm8gaW4gdGhlIHNhbXBsZSBpbmZvCgkgIHJhdGhlciB0aGFuIGNhcHMuCgoyMDEyLTA3LTI3IDExOjMxOjEzICswMjAwICBSb2JlcnQgU3dhaW4gPHJvYmVydC5zd2FpbkBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9jcm9wL2dzdHZpZGVvY3JvcC5jOgoJICB2aWRlb2Nyb3A6IERvbid0IHJldHVybiBOVUxMIGZyb20gX3RyYW5zZm9ybV9jYXBzCgkgIElmIF90cmFuc2Zvcm1fY2FwcyAoKSByZXR1cm5zIE5VTEwsIHRoZSBiYXNldHJhbnNmb3JtIF90cmFuc2Zvcm1fY2FwcwoJICB0cmllcyB0byBjYWxsIGdzdF9jYXBzX2lzX3N1YnNldCAoKSB3aXRoIGEgTlVMTCBzdWJzZXQgd2hpY2ggaGl0cyBhbgoJICBhc3NlcnRpb24uCgoyMDEyLTA3LTI3IDExOjI2OjE4ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mbGFjL2dzdGZsYWNlbmMuYzoKCSAgZmxhY2VuYzogb2J0YWluIGltYWdlIHR5cGUgZnJvbSB0aGUgc2FtcGxlIGluZm8KCjIwMTItMDctMjcgMTE6MjU6NDkgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2VuYy5jOgoJICBmbGFjZW5jOiByZW1vdmUgZXh0cmFuZW91cyBfdW5yZWYKCSAgLi4uIHNpbmNlIHdlIGRpZCBub3Qgb2J0YWluIGEgYnVmZmVyIHJlZiBmcm9tIHRoZSBHc3RTYW1wbGUuCgoyMDEyLTA3LTI3IDEwOjE0OjIzICswMjAwICBSb2JlcnQgU3dhaW4gPHJvYmVydC5zd2FpbkBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmxhYy9nc3RmbGFjZW5jLmM6CgkgIGZsYWNlbmM6IFVwZGF0ZSB0byB1c2UgR3N0U2FtcGxlIHRhZyBzZXR0aW5nIEFQSQoKMjAxMi0wNy0yNiAxNjozNDoyMSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cG1wYXJvYnVzdGRlcGF5LmM6CgkgIHJ0cG1wYXJvYnVzdGRlcGF5OiBtb2RpZnkgYnVmZmVyIGRhdGEgcmF0aGVyIHRoYW4gYnVmZmVyIGl0c2VsZgoKMjAxMi0wNy0yNiAxNjoyODozMyArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cG1wYXJvYnVzdGRlcGF5LmM6CgkgIHJ0cG1wYXJvYnVzdGRlcGF5OiBhdm9pZCBsZWFraW5nIGJ5dGV3cml0ZXIgaW5zdGFuY2UKCjIwMTItMDctMjYgMTY6MDQ6MjMgKzAyMDAgIFJvYmVydCBTd2FpbiA8cm9iZXJ0LnN3YWluQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5jOgoJICBkZWludGVybGFjZTogRml4IHRpbWVzdGFtcCBhZGp1c3RtZW50IGFuZCBjYXBzCgoyMDEyLTA3LTI2IDE2OjAzOjU3ICswMjAwICBSb2JlcnQgU3dhaW4gPHJvYmVydC5zd2FpbkBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuYzoKCSAgZGVpbnRlcmxhY2U6IEZpeC9zaW1wbGlmeSB0ZWxlY2luZSBzdGF0ZSBjaGVja3MKCjIwMTItMDctMjYgMTI6MDg6NTggKzAyMDAgIFJvYmVydCBTd2FpbiA8cm9iZXJ0LnN3YWluQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5jOgoJICBkZWludGVybGFjZTogSW1wcm92ZSBkZWJ1ZyBvdXRwdXQKCjIwMTItMDctMjYgMTI6MDg6MzYgKzAyMDAgIFJvYmVydCBTd2FpbiA8cm9iZXJ0LnN3YWluQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5jOgoJICBkZWludGVybGFjZTogRml4IGxvdy1sYXRlbmN5IHBhdHRlcm4gbG9ja2luZwoKMjAxMi0wNy0yNCAxNjoxOTo1MyArMDIwMCAgUm9iZXJ0IFN3YWluIDxyb2JlcnQuc3dhaW5AY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmM6CgkgIGRlaW50ZXJsYWNlOiBSRkYgc2hvdWxkIGJlIGlnbm9yZWQgaW4gZGVpbnRlcmxhY2UKCSAgUkZGIG9ubHkgb2NjdXJzIG9uIHByb2dyZXNzaXZlIGZyYW1lcyBpbiB0ZWxlY2luZSBzZXF1ZW5jZXMuIEZvcgoJICBkZWludGVybGFjZSwgd2UgZG9uJ3Qgd2FudCB0aGVzZSByZXBlYXRlZCBmaWVsZHMgYXMgd2Ugd2lsbCBzaW1wbHkgYmUKCSAgcHVzaGluZyB0aGUgcHJvZ3Jlc3NpdmUgZnJhbWUgYW5kIHRoZW4gbW92aW5nIG9uLgoJICBIb3dldmVyLCB3ZSBuZWVkIHRvIGNvbnNpZGVyIFJGRiBpbiBvcmRlciB0byBjb3JyZWN0bHkgaWRlbnRpZnkgcGF0dGVybnMKCSAgYW5kIGFkanVzdCB0aGUgdGltZXN0YW1wcy4KCjIwMTItMDctMjQgMTQ6NTk6NDcgKzAyMDAgIFJvYmVydCBTd2FpbiA8cm9iZXJ0LnN3YWluQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5jOgoJICBkZWludGVybGFjZTogSW1wcm92ZSBwcm9jZXNzIGxvZ2ljCgkgIFRoZSBsb2dpYyBub3cgd29ya3MgYmV0dGVyIGlmIHdlIGZpbHRlciBvcnBoYW5zLCB0aGVuIHByb2dyZXNzaXZlLCB0aGVuCgkgIHRlbGVjaW5lIGludGVybGFjZWQgZmllbGRzIHdoaWNoIG5lZWQgdG8gYmUgd292ZW4gYW5kIGZhbGwgdGhyb3VnaCB0bwoJICBpbnRlcmxhY2UuIFRlbGVjaW5lIGludGVybGFjZWQgZmllbGRzIHdpbGwgYmUgcmVndWxhcmx5IGRlaW50ZXJsYWNlZCBpZgoJICB0aGVyZSBpcyBubyBwYXR0ZXJuIGxvY2sgZm9yIHVzIHRvIGJlIHN1cmUgdGhhdCB3ZSBoYXZlIGEgdGVsZWNpbmUKCSAgcGF0dGVybi4KCSAgVGVsZWNpbmUgc2VxdWVuY2VzIHRoYXQgYXJlbid0IDI0ZnBzIHByb2dyZXNzaXZlIHdpdGggUkZGIGZsYWdzIGNhbid0CgkgIHJlYWxseSBiZSB0ZXN0ZWQgdW50aWwgZmllbGRhbmFseXNpcyBpcyBwb3J0ZWQuCgoyMDEyLTA3LTI1IDE2OjAyOjM0ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mbGFjL2dzdGZsYWNlbmMuYzoKCSAgZmxhY2VuYzogb25seSBzZXQgY29tcGxldGUgb3V0cHV0IGNhcHMgb25jZQoJICAuLi4gc28gYXMgdG8gYXZvaWQgZG93bnN0cmVhbSBjb21wbGFpbnRzIGFib3V0IG1pc3Npbmcgc3RyZWFtaGVhZGVycy4KCjIwMTItMDctMjUgMTU6Mjk6MDQgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5jOgoJICBmbGFjZGVjOiBhbHNvIHN1cHBvcnQgUzI0XzMyIG91dHB1dAoKMjAxMi0wNy0yNSAxNToyODoxNCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmxhYy9nc3RmbGFjZW5jLmM6CgkgIGZsYWNlbmM6IHBhc3MgY29ycmVjdCBwYXJhbWV0ZXJzIHRvIGVuY29kZXIgbGliCgoyMDEyLTA3LTI1IDE0OjU3OjEzICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mbGFjL2dzdGZsYWNlbmMuYzoKCSAgZmxhY2VuYzogYWRqdXN0IHRvIG1vZGlmaWVkIGF1ZGlvZW5jb2RlciBnZXRjYXBzIGhlbHBlciBBUEkKCjIwMTItMDctMjUgMTI6NTA6MDEgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3A6IGdvIGFuZCBzdGF5IGluIHRoZSBsb29wIGZ1bmN0aW9uIG9uIFBMQVkKCSAgV2hlbiB3ZSBoYXZlIGEgUExBWSByZXF1ZXN0LCBnbyBpbnRvIHRoZSBMT09QIGZ1bmN0aW9uIG5leHQuIFdoZW4gd2UgYXJlCgkgIGxvb3BpbmcsIGtlZXAgb24gbG9vcGluZyB1bnRpbCB3ZSBhcmUgdG9sZCBvdGhlcndpc2UuCgkgIFRoaXMgZml4ZWQgcnRzcCBhbmQgVENQIGNvbm5lY3Rpb25zLgoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjgwNTUxCgoyMDEyLTA3LTI1IDEyOjQ5OjM1ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwOiBzZXQgY2FwcyBhZnRlciBhY3RpdmF0aW5nIHRoZSBwYWQKCjIwMTItMDctMjUgMTI6NDk6MDcgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRkZXBheS5jOgoJICBoMjY0ZGVwYXk6IHNtYWxsIGNsZWFudXBzCgoyMDEyLTA3LTI1IDEwOjA4OjUyICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2lzb21wNC9nc3RydHB4cXRkZXBheS5jOgoJICB4cXRkZXBheTogZml4IGJ1ZmZlciByZWZjb3VudCBlcnJvcgoJICBBZnRlciBwdXNoaW5nIHRoZSBidWZmZXIgaW50byB0aGUgYWRhcHRlciwgd2Ugc2hvdWxkIG5vdCBsZXQgdGhlIGJhc2VjbGFzcyBwdXNoCgkgIGl0IG91dCBhbnltb3JlLiBUaGlzIGVycm9yIHdhcyBpbnRyb2R1Y2VkIHdoaWxlIHBvcnRpbmcgdG8gMC4xMS4KCSAgU2VlIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODA1NDAKCjIwMTItMDctMjQgMjE6NDE6NTMgKzAyMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvbGV2ZWwvZ3N0bGV2ZWwuYzoKCSAgbGV2ZWw6IHJlbW92ZSBvYnNvbGV0ZSBsaWJvaWwgY29tbWVudAoKMjAxMi0wNy0yNCAyMToxMToxOCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4Lmg6CgkgIG1hdHJvc2thZGVtdXg6IHB1c2ggbW9kZTogaW5jcmVhc2Ugc2VnbWVudCBhY2N1cmFjeSBmb2xsb3dpbmcgc2VlawoJICBDb25mbGljdHM6CgkgIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jCgoyMDEyLTA3LTI0IDE2OjQxOjUxICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYWRlbXV4OiBwZXJmb3JtIHByb3BlciBLRVlfVU5JVCBzZWVrIGFsc28gaW4gcHVzaCBtb2RlCgkgIENvbmZsaWN0czoKCSAgZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmMKCjIwMTItMDctMjQgMTk6MDQ6MzkgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3VkcC9nc3R1ZHBzcmMuYzoKCSAgdWRwc3JjOiBkb24ndCBjcmFzaCBkZXJlZmVyZW5jaW5nIE5VTEwgZXJyb3Igd2hlbiBsZWF2aW5nIG11bHRpY2FzdCBncm91cCBvbiBzaHV0ZG93bgoJICBTdHJhbmdlbHkgZW5vdWdoLCBpZiB3ZSBkbyBwYXNzIGFuIGVycm9yIHZhcmlhYmxlIHRvIGJlIGZpbGxlZCwgd2UKCSAgbm8gbG9uZ2VyIGdldCBhbiBlcnJvciBvbiBsZWF2aW5nLgoKMjAxMi0wNy0yNCAxNTo1NToxMiArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIGF2aWRlbXV4OiByZWFycmFuZ2Ugc29tZSBjaGVja3MgdG8gYXZvaWQgTlVMTCB1c2UKCjIwMTItMDctMjQgMTU6Mzg6MjQgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICBhdmlkZW11eDogdXNlIHNhbWUgZm91cmNjIHRvIGRldGVybWluZSBjYXBzIGluIGRldGVybWluaW5nIHVuY29tcHJlc3NlZC1uZXNzCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NzM4OTgKCSAgQ29uZmxpY3RzOgoJICBnc3QvYXZpL2dzdGF2aWRlbXV4LmMKCjIwMTItMDctMjQgMTU6MzY6NTQgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICBSZXZlcnQgImF2aWRlbXV4OiBEb24ndCBjb25zaWRlciAwIGZjY19oYW5kbGVyIGFzIHVuY29tcHJlc3NlZC4iCgkgIFRoaXMgcmV2ZXJ0cyBjb21taXQgYzZiOWY1YjI1YWI0MzU2Njk4MTZhMDcwNDliMGU1YThmMDFlMDljYS4KCSAgZm91cmNjIEdTVF9SSUZGX3JnYiA9IDAgc3RpbGwgbGVhZHMgdG8gcmF3IHVuY29tcHJlc3NlZCByZ2IgY2Fwcy4KCSAgU2VlIGFsc28gaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY3Mzg5OAoKMjAxMi0wNy0yNCAxMjoxMDo0NiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvanBlZy9nc3RqcGVnZGVjLmM6CgkgIGpwZWdkZWM6IGZpeCB1cCBleGFtcGxlIHBpcGVsaW5lIHNvbWUgbW9yZQoJICBObyBtb3JlIGZmbXBlZ2NvbG9yc3BhY2UKCjIwMTItMDctMjAgMTY6MzA6MDAgKzAzMDAgIFNyZWVyZW5qIEJhbGFjaGFuZHJhbiA8c3JlZXJlbmouYmFsYWNoYW5kcmFuQGludGVsLmNvbT4KCgkqIGV4dC9qcGVnL2dzdGpwZWdkZWMuYzoKCSAganBlZ2RlYzogRml4IHRoZSBleGFtcGxlIGdzdC1sYXVuY2ggcGlwZWxpbmUuCgoyMDEyLTA3LTI0IDEyOjMzOjMzICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYWRlbXV4OiBhdm9pZCBOVUxMIGFjY2VzcyB3aGVuIGNoZWNraW5nIHN1YnRpdGxlCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODAzODgKCjIwMTItMDctMjQgMTI6MjI6MDggKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYWNwYXJzZS5jOgoJICBhYWNwYXJzZTogUmVzZXQgcGFyc2VyIHdoZW4gd2UgaGF2ZSBjYXBzIHdpdGhvdXQgY29kZWNfZGF0YQoJICBUaGlzIGVuc3VyZXMgdGhlIGRldGVjdGlvbiAoYW5kIHByb3BlciBkb3duc3RyZWFtIGNhcHMgc2V0dGluZ3MpIHdpbGwKCSAgYWN0dWFsbHkgaGFwcGVuIHdoZW4gd2UgaGF2ZSBuZXcgaW5jb21pbmcgY2FwcyB3aXRob3V0IGNvZGVjX2RhdGEuCgkgIFRoaXMgd2FzIGVhc2lseSB0cmlnZ2VyZWQgYnkgc3RyZWFtcyBmcm9tIG1hdHJvc2thZGVtdXggd2hpY2ggaW5pdGlhbGx5CgkgIHByb3ZpZGVkIGNhcHMgd2l0aCBhIGNvbnN0cnVjdGVkIGNvZGVjX2RhdGEsIGJ1dCB0aGVuIHB1c2hlZCBuZXcgY2FwcwoJICB3aXRob3V0IHRoZSBjb2RlY19kYXRhIG9uY2UgaXQgZGV0ZWN0ZWQgdGhlIHN0cmVhbSB3YXMgYWR0cy4KCjIwMTItMDctMjQgMDk6MTc6MDkgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9taXhlci9ibGVuZC5jOgoJKiBnc3QvdmlkZW9taXhlci9ibGVuZG9yYy1kaXN0LmM6CgkqIGdzdC92aWRlb21peGVyL2JsZW5kb3JjLWRpc3QuaDoKCSogZ3N0L3ZpZGVvbWl4ZXIvYmxlbmRvcmMub3JjOgoJICB2aWRlb21peGVyOiBwcmVmaXggb3JjIGZ1bmN0aW9ucyB3aXRoIHZpZGVvX21peGVyX29yY18KCjIwMTItMDctMjQgMDk6MTM6NDggKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9ib3gvZ3N0dmlkZW9ib3guYzoKCSogZ3N0L3ZpZGVvYm94L2dzdHZpZGVvYm94b3JjLWRpc3QuYzoKCSogZ3N0L3ZpZGVvYm94L2dzdHZpZGVvYm94b3JjLWRpc3QuaDoKCSogZ3N0L3ZpZGVvYm94L2dzdHZpZGVvYm94b3JjLm9yYzoKCSAgdmlkZW9ib3g6IHByZWZpeCBvcmMgZnVuY3Rpb25zIHdpdGggdmlkZW9fYm94X29yY18KCjIwMTItMDctMjMgMTg6NTE6MDAgKzAyMDAgIENocmlzdGlhbiBGcmVkcmlrIEthbGFnZXIgU2NoYWxsZXIgPHVyYWV1c0BsaW51eHJpc2luLm9yZz4KCgkqIGdzdC1wbHVnaW5zLWdvb2Quc3BlYy5pbjoKCSAgVXBkYXRlIHNwZWMgZmlsZSB3aXRoIGxhdGVzdCBjaGFuZ2VzCgoyMDEyLTA3LTIzIDE3OjM3OjU4ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYWRlbXV4OiBnZW5lcmF0ZSBjb3JyZWN0IHNlZ21lbnQgc3RyZWFtIHRpbWUKCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4MDI3NQoKMjAxMi0wNy0yMyAxNjo0Mjo1NiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwajJrZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBqMmtkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGoya3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGoya3BheS5oOgoJICBydHA6IGFsd2F5cyB1c2UgYnVmZmVyIGxpc3RzCgoyMDEyLTA3LTIzIDE1OjI0OjE3ICswMjAwICBQYXRyaWNpYSBNdXNjYWx1IDxwYXRyaWNpYUBheGlzLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwbXA0dnBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wNHZwYXkuaDoKCSAgcnRwbXA0dnBheTogYWx3YXlzIGVuYWJsZSBidWZmZXItbGlzdHMKCjIwMTItMDctMjMgMTU6MjI6MjQgKzAyMDAgIFBhdHJpY2lhIE11c2NhbHUgPHBhdHJpY2lhQGF4aXMuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBqcGVncGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwanBlZ3BheS5oOgoJICBydHBqcGVncGF5OiBhbHdheXMgZW5hYmxlIGJ1ZmZlci1saXN0cwoKMjAxMi0wNy0yMyAxNTo0OTowNCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmM6CgkgIGRlaW50ZXJsYWNlOiBnZXQgZnJhbWUgZmxhZ3MgY29ycmVjdGx5CgkgIEFsc28gbW92ZSB0aGUgZGVpbnRlcmxhY2UgcGx1Z2luIHRvIHBvcnRlZCBzdGF0dXMKCjIwMTItMDctMjMgMTU6MzM6NTQgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thZGVtdXg6IHByb3BlciBwYXJzZSByZWNvdmVyeSBhZnRlciBzZWVrCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODA0MjcKCjIwMTItMDctMjMgMTI6Mzk6MDUgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOgoJICBmbHZkZW11eDogY2xlYXIgb2xkIHNlZ21lbnQgZXZlbnQgd2hlbiByZXF1ZXN0aW5nIG5ldyBvbmUKCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4MDI4MwoKMjAxMi0wNy0yMyAxMDozMjozNiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvanBlZy9nc3RqcGVnZGVjLmM6CgkqIGV4dC9saWJwbmcvZ3N0cG5nZGVjLmM6CgkgIGV4dDogVXBkYXRlIGZvciB2aWRlbyBiYXNlIGNsYXNzZXMgQVBJIGNoYW5nZXMKCjIwMTItMDctMjMgMDg6NDk6MDcgKzAyMDAgIEFsYmFuIEJyb3dhZXlzIDxwcmFoYWxAeWFob28uY29tPgoKCSogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6CgkgIHdhdnBhcnNlOiBjb252ZXJ0IGFsbCBub24gR1NUX0ZPUk1BVF9CWVRFUyB0byBmb3JtYXQgYnl0ZXMuCgkgIENvbnZlcnQgYWxsIG5vbiBHU1RfRk9STUFUX0JZVEVTIHRvIGZvcm1hdCBieXRlczoKCSAgZml4ZXM6CgkgIEdTdHJlYW1lci1DUklUSUNBTCAqKjogZ3N0X3F1ZXJ5X3NldF9kdXJhdGlvbjogYXNzZXJ0aW9uIGBmb3JtYXQgPT0KCSAgZ192YWx1ZV9nZXRfZW51bSAoZ3N0X3N0cnVjdHVyZV9pZF9nZXRfdmFsdWUgKHMsIEdTVF9RVUFSSyAoRk9STUFUKSkpJwoJICBmYWlsZWQKCSAgd2hlbiBwbGF5aW5nIG1vcmUgdGhhbiBvbmUgd2F2IHN0cmVhbS4KCSAgZ3N0LXBsdWdpbnMtYmFzZS90ZXN0cy9pY2xlcy9wbGF5YmFjay90ZXN0NyB1cmkxLndhdiB1cmkyLndhdgoKMjAxMi0wNy0yMyAwOToyNToyMyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzoKCSAgd2F2cGFyc2U6IERvbid0IGZhaWwgaWYgbW9yZSBkYXRhIHRoZW4gbmVlZGVkIGlzIGF2YWlsYWJsZSB3aGVuIHBhcnNpbmcgY3VlIGNodW5rcwoJICBGaXhlcyBidWcgIzY4MDMyOC4KCjIwMTItMDctMjMgMDk6MjI6MjAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6CgkgIHdhdnBhcnNlOiBTb21lIG1pbm9yIGNsZWFudXAgdG8gdGhlIGN1ZS9sYWJsIHBhcnNpbmcKCjIwMTItMDctMjMgMDg6NDU6MjggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSA5OGUzODZmIHRvIDk0Y2NmNGMKCjIwMTItMDctMTkgMTQ6NTU6NDUgKzAyMDAgIFJvYmVydCBTd2FpbiA8cm9iZXJ0LnN3YWluQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuaDoKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlbWV0aG9kLmM6CgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZW1ldGhvZC5oOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL2dyZWVkeWguYzoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS90b21zbW9jb21wL1RvbXNNb0NvbXBBbGwuaW5jOgoJICBkZWludGVybGFjZTogUG9ydCB0byAxLjAKCSAgVGhpcyByZXF1aXJlcyB0aGUgYWRkaXRpb25hbCBJTlRFUkxBQ0VEIGJ1ZmZlciBmbGFnIHJlY2VudGx5IGFkZGVkIHRvCgkgIC1iYXNlCgoyMDEyLTA3LTIwIDE1OjE4OjQ2ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2ludGVybGVhdmUvaW50ZXJsZWF2ZS5jOgoJICBpbnRlcmxlYXZlOiBjb252ZXJ0IHRoZSBvdXRwdXQgc2VnbWVudCB0byB0aW1lCgkgIENvbnZlcnQgdGhlIHN0b3JlZCBpbnB1dCBzZWdtZW50IHRvIHRpbWUgYmVmb3JlIHB1c2hpbmcgaXQgb3V0LgoJICBDb25mbGljdHM6CgkgIGdzdC9pbnRlcmxlYXZlL2ludGVybGVhdmUuYwoKMjAxMi0wNy0yMCAxMzoxMjo0NCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pbnRlcmxlYXZlL2ludGVybGVhdmUuYzoKCSogZ3N0L2ludGVybGVhdmUvaW50ZXJsZWF2ZS5oOgoJICBpbnRlcmxlYXZlOiB0cnkgdG8gZml4IHNlZ21lbnQgaGFuZGxpbmcKCSAgQ29uZmxpY3RzOgoJICBnc3QvaW50ZXJsZWF2ZS9pbnRlcmxlYXZlLmMKCjIwMTItMDctMjAgMTU6Mjg6MjEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thZGVtdXg6IE5vbi11cGRhdGUgc2Vla3Mgc2hvdWxkIHN0aWxsIG1ha2Ugc3VyZSB0aGF0IHJldmVyc2UgcGxheWJhY2sgc3RhdHVzIGlzIHJlc2V0CgkgIENvbmZsaWN0czoKCSAgZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmMKCjIwMTItMDctMjAgMTU6MTg6MjEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thZGVtdXg6IFByb3Blcmx5IGluaXRpYWxpemUgZnJvbV9vZmZzZXQgYW5kIGZyb21fdGltZQoKMjAxMi0wNy0yMCAxNDoyNTo0MyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2FkZW11eDogV2UgbmVlZCBhbiBpbmRleCBhbmQgaW5kZXggZW50cnkgZm9yIHJldmVyc2UgcGxheWJhY2sKCSAgUmV2ZXJzZSBwbGF5YmFjayBkb2VzIG5vdCB3b3JrIHdpdGggaW5kZXgtbGVzcyBmaWxlcyB5ZXQuCgoyMDEyLTA3LTIwIDE0OjEwOjQxICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOgoJICB3YXZwYXJzZTogY2xlYW4gdXAgcHVzaCBtb2RlIHNlZ21lbnQgaGFuZGxpbmcKCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4MDI3NwoKMjAxMi0wNy0yMCAxMzozNToyOSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogcHJvcGVybHkgdHJhbnNmb3JtIGluY29taW5nIHNlZ21lbnQgZXZlbnQKCSAgLi4uIHdoaWNoIGlzIHJlYWxseSB1c2VmdWwgZm9yIHByb3BlciBwdXNoIG1vZGUgc2Vla2luZy4KCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4MDI3OAoKMjAxMi0wNy0yMCAxMTowNzo1OCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4Lmg6CgkgIG1hdHJvc2thZGVtdXg6IEZpeCByZXZlcnNlIHBsYXliYWNrIGZvciBzZWVrcyB3aXRob3V0IHN0b3AgcG9zaXRpb24KCSAgQ29uZmxpY3RzOgoJICBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYwoJICBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguaAoKMjAxMi0wNy0yMCAxMDo0ODozNCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2FkZW11eDogT25seSB0YWtlIHRoZSBzdHJlYW1fc3RhcnRfdGltZSBpbnRvIGFjY291bnQgZm9yIFNFVCBzZWVrcwoJICBGb3Igb3RoZXIgc2Vla3MgdGhlIHN0cmVhbV9zdGFydF90aW1lIGlzIGFscmVhZHkgYWRkZWQgdG8gdGhlCgkgIHNlZ21lbnQgdmFsdWVzLgoJICBDb25mbGljdHM6CgkgIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jCgoyMDEyLTA3LTA4IDIwOjM2OjIyICswMzAwICBBbnRvbiBCZWxrYSA8YW50b25iZWxrYUBnbWFpbC5jb20+CgoJKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzoKCSogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmg6CgkgIHdhdnBhcnNlOiBBZGQgVE9DIHN1cHBvcnQKCSAgQWRkIHN1cHBvcnQgZm9yOgoJICAqIEN1ZSBDaHVuawoJICAqIEFzc29jaWF0ZWQgRGF0YSBMaXN0IENodW5rCgkgICogTGFiZWwgQ2h1bmsKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY3NzMwNgoKMjAxMi0wNS0wOSAxNTo1ODoxNiArMDIwMCAgTWFyaWEgR2lvdmFubmEgQ2hpb3NzYSA8bWFyaWFnaW92YW5uYS5jaGlvc3NhIGF0IHNlbGV4ZWxzYWcuY29tPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBhbHNvIHNldCBVRFAgYnVmZmVyIHNpemUgaW4gbXVsdGljYXN0CgkgIEFsc28gc2V0IHRoZSBVRFAgYnVmZmVyIHNpemUgaW4gbXVsdGljYXN0IG1vZGUuCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NzU0NDgKCjIwMTItMDctMTggMjM6NDM6NTkgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIGF2aWRlbXV4OiBmaXggaGVhZGVyIHBhcnNpbmcgaW4gcHVzaCBtb2RlCgkgIEZpeCAnYnJlYWsnIHRoYXQgZ290IHdhcnBlZCB0byB0aGUgd3JvbmcgcGxhY2UsCgkgIHByb2JhYmx5IGFzIHBhcnQgb2YgYSBtZXJnZS4gRml4ZXMgR1NUX0lTX0JVRkZFUgoJICBjcml0aWNhbHMgaW4gcGFyc2VfaWRpdCgpIHdoZW4gYmVpbmcgYWNjaWRlbnRhbGx5CgkgIHBhc3NlZCBhIE5VTEwgYnVmZmVyIGJlY2F1c2Ugb2YgdGhlIG1pc3NpbmcgYnJlYWsuCgkgIGdzdC1sYXVuY2gtMS4wIHBsYXliaW4gdXJpPWh0dHA6Ly9kb2NzLmdzdHJlYW1lci5jb20vbWVkaWEvc2ludGVsX3RyYWlsZXItNDgwaS5hdmkKCjIwMTItMDctMTggMjI6NDc6MjIgKzAyMDAgIEFsYmFuIEJyb3dhZXlzIDxwcmFoYWxAeWFob28uY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOgoJICBzb3VwOiBkZXByZWNhdGVkIHNvdXBfbWVzc2FnZV9oZWFkZXJzIF9nZXQgLT4gX2dldF9vbmUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4MDIwNgoKMjAxMi0wNy0xOCAxODoyNzo0MCArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvanBlZy9nc3RqcGVnZGVjLmM6CgkqIGV4dC9saWJwbmcvZ3N0cG5nZGVjLmM6CgkgIGpwZWcvcG5nOiBDYWxsIHZpZGVvX2RlY29kZXJfbmVnb3RpYXRlKCkKCjIwMTItMDctMTggMTc6NTc6NTkgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZGVidWd1dGlscy9nc3RwdXNoZmlsZXNyYy5jOgoJICB1cGRhdGUgZm9yIGdob3N0cGFkIGNoYW5nZXMKCjIwMTItMDctMTggMTE6MzY6MjcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thZGVtdXg6IFBhc3Mgc2VlayByYXRlIHRvIHVwc3RyZWFtIHNlZWsgZXZlbnRzIGluIHB1c2ggbW9kZQoJICBGaXhlcyBidWcgIzY3OTQzNS4KCSAgQ29uZmxpY3RzOgoJICBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYwoKMjAxMi0wNy0xNyAxNjozOTowMiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZkZXBheS5jOgoJICB1cGRhdGUgZm9yIFJUUCBidWZmZXIgYXBpIGNoYW5nZXMKCjIwMTItMDctMTcgMTY6Mzg6MjcgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaXNvbXA0L2dzdHJ0cHhxdGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0YXN0ZXJpc2toMjYzLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBwdGRlbXV4LmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNzcmNkZW11eC5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkqIGdzdC9ydHNwL2dzdHJ0cGRlYy5jOgoJICB1cGRhdGUgZm9yIFJUUCBidWZmZXIgYXBpIGNoYW5nZXMKCjIwMTItMDctMTYgMTE6MDc6NDQgKzAyMDAgIFBhdHJpY2lhIE11c2NhbHUgPHBhdHJpY2lhQGF4aXMuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBoMjY0cGF5LmM6CgkgIHJ0cGgyNjRwYXk6IHVzZSBidWZmZXIgbGlzdHMKCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY3OTk5NAoKMjAxMi0wNy0xNyAxMDowMTo1NCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5jOgoJICBmbGFjcGFyc2U6IEZpeCBwYXJzaW5nIG9mIElTUkMgZnJvbSB0aGUgY3Vlc2hlZXRzCgoyMDEyLTA3LTA1IDE0OjE1OjI1ICswMzAwICBBbnRvbiBCZWxrYSA8YW50b25iZWxrYUBnbWFpbC5jb20+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5oOgoJICBmbGFjcGFyc2U6IGFkZCBUT0Mgc3VwcG9ydAoJICBBZGQgc3VwcG9ydCBlbWJlZGRlZCBjdWVzaGVldHMgaW4gZmxhYyBmaWxlcy4KCSAgUGFyc2luZyBNRVRBREFUQV9CTE9DS19DVUVTSEVFVCBhcyBUT0MuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD01NDA4OTEKCjIwMTItMDctMTMgMTQ6NDM6MzEgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RmbGFjcGFyc2UuYzoKCSAgZmxhY3BhcnNlOiBhdm9pZCBzb21lIG1vcmUgZnJhbWUgbWlzcGFyc2luZyBieSBhZGRpdGlvbmFsIGhlYWRlciBzYW5pdHkgY2hlY2sKCSAgLi4uIHVzaW5nIGEgcmVxdWlyZWQgY29uc3RhbnQgYmxvY2tpbmdfc3RyYXRlZ3kgYml0LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njc5ODA3CgoyMDEyLTA3LTEzIDEzOjUxOjQ4ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9kdi9nc3RkdmRlbXV4LmM6CgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIGRlbXV4OiBQdXNoIFNUUkVBTV9TVEFSVCBldmVudCB3aGVuIG5lZWRlZAoKMjAxMi0wNy0xMSAxMzoxMDowNyArMDIwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9pc29tcDQvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IGF2b2lkIHdhcm5pbmcgaWYgYm90aCB0cyBhcmUgZXF1YWwKCjIwMTItMDctMTEgMTI6Mjg6MjMgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuYzoKCSAgbXVsdGl1ZHBzaW5rOiBjaGVjayB0aGUgcmlnaHQgc2l6ZSB3aGVuIHdhcm5pbmcgYWJvdXQgdG9vIGxhcmdlIHVkcCBwYWNrZXRzCgkgIFdoYXQgbWF0dGVycyBpcyB0aGUgdG90YWwgc2l6ZSwgbm90IHRoZSBzaXplIG9mIGFueSBvZiB0aGUKCSAgaW5kaXZpZHVhbCBtZW1vcnkgY2h1bmtzIHRoYXQgbWFrZSB1cCB0aGUgcGFja2V0LgoKMjAxMi0wNy0xMCAxNDozODoyMSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG9hdWRpb3NpbmsuYzoKCSogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b2F1ZGlvc2luay5oOgoJKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvdmlkZW9zaW5rLmM6CgkqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG92aWRlb3NpbmsuaDoKCSAgYXV0b2RldGVjdDogcHJveHkgdHMtb2Zmc2V0IHByb3BlcnRpZXMKCSAgUHJveHkgdGhlIHRzLW9mZnNldCBwcm9wZXJ0eSBpbiB0aGUgYXVkaW8qc2luayBlbGVtZW50cy4KCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY3OTM0MwoKMjAxMi0wNy0wOSAxNjoyNzoxMCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJICBmaXggZm9yIGFsbG9jYXRvciBBUEkgY2hhbmdlcwoKMjAxMi0wNy0wOSAxMjoyMjowMiArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXZpL2dzdGF2aW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6CgkgIHVwZGF0ZSBmb3IgcmlmZiBmaWVsZCByZW5hbWUKCjIwMTItMDUtMjEgMTM6NTQ6NTEgKzAyMDAgIE1hdGhpYXMgSGFzc2VsbWFubiA8bWF0aGlhc0BvcGVuaXNtdXMuY29tPgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgIHRlc3RzOiBkcm9wIHJlZHVuZGFudCBlbGVtZW50c19sZXZlbF9MREFERCBsaW5lCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NzYzMDIKCjIwMTItMDctMDggMTM6MzA6MzQgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9qcGVnZGVjLmM6CgkgIHRlc3RzOiBtaW5vciBqcGVnZGVjIGNsZWFuLXVwcyBhbmQgZml4ZXMKCSAgRml4IHJhY2UgY29uZGl0aW9uIGluIGVvcyBjaGVja2luZyBhbmQgYSBsZWFrLiBBbmQKCSAgYnVpbGQgcGlwZWxpbmUgd2l0aG91dCBwYXJzZV9sYXVuY2guCgoyMDEyLTA1LTIxIDEzOjUzOjU0ICswMjAwICBNYXRoaWFzIEhhc3NlbG1hbm4gPG1hdGhpYXNAb3BlbmlzbXVzLmNvbT4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy8uZ2l0aWdub3JlOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9qcGVnZGVjLmM6CgkqIHRlc3RzL2ZpbGVzL2ltYWdlLmpwZzoKCSAgdGVzdHM6IEFkZCBzb21lIGJhc2ljIHRlc3RzIGZvciBqcGVnZGVjCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NzYzMDIKCjIwMTItMDctMDggMDA6MDg6NTUgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBnc3QvZHRtZi9nc3RkdG1mc3JjLmM6CgkgIGR0bWZzcmM6IHBhc3MgdW5oYW5kbGVkIG5vbi1jdXN0b20gZXZlbnRzIHRvIHRoZSBiYXNlIGNsYXNzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NjY2MjYKCjIwMTItMDctMDYgMTk6MTE6MDIgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBoMjY0cGF5LmM6CgkgIHJ0cGgyNjRwYXk6IGF2b2lkIHNvbWUgcmVsb2NhdGlvbnMKCjIwMTItMDctMDYgMTQ6NDk6MTggKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBtcDR2cGF5LmM6CgkgIHJ0cG1wNHZwYXk6IHJlbW92ZSBkZXByZWNhdGVkIHNlbmQtY29uZmlnIHByb3BlcnR5CgkgIFVzZSBjb25maWctaW50ZXJ2YWwgaW5zdGVhZC4KCjIwMTItMDctMDYgMTQ6NDI6MTkgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBoMjY0ZGVwYXkuYzoKCSAgcnRwaDI2NGRlcGF5OiByZW1vdmUgZGVwcmVjYXRlZCAiYnl0ZS1zdHJlYW0iIGFuZCAiYWNjZXNzLXVuaXQiIHByb3BlcnRpZXMKCSAgVGhlc2Ugd2lsbCBiZSBwaWNrZWQgYXV0b21hdGljYWxseSBiYXNlZCBvbiBkb3duc3RyZWFtIGNhcHMgbm93LCBzbwoJICBpZiB5b3Ugd2FudCB0aGUgZGVwYXlsb2FkZXIgdG8gb3V0cHV0IGEgc3BlY2lmaWMgZm9ybWF0LCBtYWtlIHN1cmUKCSAgdGhlIGVsZW1lbnQgZG93bnN0cmVhbSBhZHZlcnRpc2VzIHRoYXQgcHJlZmVyZW5jZSBvciB1c2UgYSBjYXBzZmlsdGVyCgkgIGFmdGVyIHRoZSBkZXBheWxvYWRlciB0byBmb3JjZSBpdC4KCjIwMTItMDctMDYgMTQ6MTM6NTQgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBoMjY0cGF5LmM6CgkgIHJ0cGgyNjRwYXk6IHJlbW92ZSBkZXByZWNhdGVkIGFuZCBub24tZnVuY3Rpb25hbCAicHJvZmlsZS1sZXZlbC1pZCIgcHJvcGVydHkKCSAgVGhpcyBpcyBub3cgb3B0aW9uYWxseSB0YWtlbiBmcm9tIGRvd25zdHJlYW0gY2Fwcywgc28gY2FuIGJlCgkgIHNwZWNpZmllZCB2aWEgYSBjYXBzZmlsdGVyIGFmdGVyIHRoZSBwYXlsb2FkZXIuCgoyMDEyLTA3LTA2IDE1OjA3OjUxICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWFjcGFyc2UuYzoKCSAgYWFjcGFyc2U6IHBlcmZvcm0gYWRkaXRpb25hbCBzYW5pdHkgY2hlY2sgYmVmb3JlIGNvbmZpcm1pbmcgQURUUyBmb3JtYXQKCSAgLi4uIGFuZCB0d2VhayBjb25mdXNpbmcgZGVidWcgbWVzc2FnZS4KCjIwMTItMDctMDYgMTU6Mjk6MTQgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYWNwYXJzZS5jOgoJICBhYWNwYXJzZTogcmVtb3ZlIHVuaGVscGZ1bCBzdHJheSBkZWJ1ZyBtZXNzYWdlCgoyMDEyLTA3LTA2IDEzOjE2OjAwICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzoKCSAgcnRwc2Vzc2lvbjogcmVtb3ZlIGRlcHJlY2F0ZWQgYW5kIHVudXNlZCAibnRwLW5zLWJhc2UiIHByb3BlcnR5CgoyMDEyLTA3LTA2IDEyOjU3OjIwICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pc29tcDQvZ3N0cXRtdXgtZG9jLmM6CgkgIGRvY3M6IHVwZGF0ZSBpc29tcDQgZG9jcyBmb3IgZ3BwbXV4IC0+IDNncHBtdXggY2hhbmdlIGFzIHdlbGwKCjIwMTItMDctMDYgMTI6NTQ6MDIgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2lzb21wNC9nc3RxdG11eC5jOgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4bWFwLmM6CgkqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy90YWdzY2hlY2tpbmcuYzoKCSAgaXNvbXA0OiByZW1vdmUgZ3BwbXV4LCB3aGljaCB3YXMgZGVwcmVjYXRlZCBpbiBmYXZvdXIgb2YgM2dwcG11eAoKMjAxMi0wNy0wNiAxMjo0OTo1NCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc21wdGUvZ3N0c21wdGUuYzoKCSAgc210cDogcmVtb3ZlIGRlcHJlY2F0ZWQgImZwcyIgcHJvcGVydHkKCjIwMTItMDctMDYgMTI6NDY6MzAgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L211bHRpcGFydC9tdWx0aXBhcnRkZW11eC5jOgoJKiBnc3QvbXVsdGlwYXJ0L211bHRpcGFydGRlbXV4Lmg6CgkgIG11bHRpcGFydGRlbXV4OiByZW1vdmUgZGVwcmVjYXRlZCBhbmQgdW51c2VkICJhdXRvc2NhbiIgcHJvcGVydHkKCSAgUmVwbGFjZWQgYnkgYm91bmRhcnk9TlVMTC4KCjIwMTItMDctMDYgMDk6MDc6NDEgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNwcGF5LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cC1wYXlsb2FkaW5nLmM6CgkgIHJ0cGgyNjNwcGF5OiBhY2NlcHQgYW55IGgyNjMgaW5wdXQgdW5sZXNzIGRvd25zdHJlYW0gZm9yY2VzIHNwZWNpZmljIHJlcXVpcmVtZW50cwoJICBydHBoMjYzcHBheSBzaG91bGQgYWNjZXB0IGFueSBpbnB1dCBjb21wYXRpYmxlIHdpdGggaXRzIHNpbmsgdGVtcGxhdGUKCSAgY2FwcyBpZiBpdCBqdXN0IG91dHB1dHMgdG8gZS5nLiB1ZHBzaW5rIG9yIGZha2VzaW5rLgoJICBydHBoMjYzcHBheSAhIHJ0cGgyNjNwZGVwYXkgc2hvdWxkIGFsc28gd29yayB3aXRoIGFueSBjb21wYXRpYmxlIGlucHV0LgoJICBUaGlzIHdvdWxkIGZhaWwgYmVmb3JlIHdpdGggbm90LW5lZ290aWF0ZWQgZXJyb3JzIGJlY2F1c2UgdGhlIGdldF9jYXBzCgkgIGZ1bmN0aW9uIHdvdWxkIHNlZSB0aGUgZW5jb2RpbmctbmFtZSBpbiB0aGUgZGVwYXlsb2FkZXIncyB0ZW1wbGF0ZSBjYXBzCgkgIGFuZCBkZWZhdWx0IHRvIGJhc2VsaW5lIEguMjYzIGJlY2F1c2UgdGhlcmUncyBubyBwcm9maWxlL2xldmVsIGluZm9ybWF0aW9uCgkgIGluIHRob3NlIGNhcHMsIHdoaWNoIGlzIHRoZSByaWdodCB0aGluZyB0byBkbyBpZiBkb3duc3RyZWFtIGhhcyBmaWx0ZXJjYXBzCgkgIGZyb20gYW4gU0RQLCBidXQgbm90IGlmIHRob3NlIGZpZWxkcyBhcmUgYWJzZW50IGJlY2F1c2UgdGhleSBjYW4gYmUKCSAgYW55dGhpbmcgbGlrZSB3aXRoIHRoZSBkZXBheWxvYWRlcidzIHRlbXBsYXRlIGNhcHMuIE1ha2VzCgkgIHZpZGVvdGVzdHNyYyAhIGF2ZW5jX2gyNjNwICEgcnRwaDI2M3BwYXkgISBydHBoMjYzcGRlcGF5ICEgZmFrZXNpbmsKCSAgd29yay4KCjIwMTItMDctMDUgMjI6NTc6MDUgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwLXBheWxvYWRpbmcuYzoKCSAgdGVzdHM6IGZpeCBoMjYzcCBwYXlsb2FkICEgZGVwYXlsb2FkIHVuaXQgdGVzdAoJICBOZWVkIHRvIGFkZCBoMjYzdmVyc2lvbiBmaWVsZCB0byBpbnB1dCBjYXBzIHNpbmNlIHRoZQoJICBwYXlsb2FkZXIgc2luayBnZXRfY2FwcyBmdW5jdGlvbiB3aWxsIGNvbnRhaW4gaXQgaW4gdGhlCgkgIHRoZSBjYXBzLCBhbmQgdGhlIHN0cmljdGVyIGNhcHMgc3Vic2V0IGNoZWNrIHJlcXVpcmVzCgkgIHRoaXMgdG8gYmUgcHJlc2VudCBpbiB0aGUgaW5wdXQgY2FwcyBhcyB3ZWxsIHRoZW4uCgoyMDEyLTA3LTA2IDExOjUwOjUwICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2FhbGliL2dzdGFhc2luay5jOgoJKiBleHQvanBlZy9nc3RqcGVnZW5jLmM6CgkqIGV4dC9saWJwbmcvZ3N0cG5nZW5jLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJzaW5rLmM6CgkgIHVwZGF0ZSBmb3IgcXVlcnkgYXBpIGNoYW5nZXMKCjIwMTItMDctMDYgMTE6MjY6NDYgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZHYvZ3N0ZHZkZWMuYzoKCSogZXh0L2pwZWcvZ3N0anBlZ2RlYy5jOgoJKiBleHQvbGlicG5nL2dzdHBuZ2RlYy5jOgoJKiBnc3QvcnRwL2dzdHJ0cHZyYXdkZXBheS5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkgIHVwZGF0ZSBmb3IgcXVlcnkgYXBpIGNoYW5nZXMKCjIwMTItMDctMDYgMTE6MDI6MjQgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvYWFsaWIvZ3N0YWFzaW5rLmM6CgkqIGV4dC9qcGVnL2dzdGpwZWdlbmMuYzoKCSogZXh0L2xpYnBuZy9nc3RwbmdlbmMuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnNpbmsuYzoKCSAgdXBkYXRlIGZvciBhbGxvY2F0aW9uIHF1ZXJ5IGNoYW5nZXMKCjIwMTItMDctMDUgMTU6MTQ6MzMgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcmd2b2x1bWUuYzoKCSAgdGVzdHM6IGZpeCByZ3ZvbHVtZSB1bml0IHRlc3QgZXZlbnQgaGFuZGxpbmcKCSAgTXVzdCBmbHVzaCBhZnRlciBFT1MgYmVmb3JlIHNlbmRpbmcgbW9yZSBidWZmZXJzIG9yCgkgIGFub3RoZXIgRU9TIGV2ZW50LCBvciB0aGUgZXZlbnQgb3IgYnVmZmVyIHdpbGwgYmUKCSAgcmVqZWN0ZWQuIEFsc28gc2VuZCBhIFNFR01FTlQgZXZlbnQgYXQgdGhlIHN0YXJ0CgkgIG9mIGVhY2ggc3RyZWFtIGZvciBnb29kIG1lYXN1cmUuCgoyMDEyLTA3LTA1IDEzOjEzOjA5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9kdi9nc3RkdmRlbXV4LmM6CgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOgoJKiBnc3QvaW1hZ2VmcmVlemUvZ3N0aW1hZ2VmcmVlemUuYzoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcGFyc2UuYzoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzoKCSAgZ3N0OiBJbXBsZW1lbnQgc2VnbWVudC1kb25lIGV2ZW50CgoyMDEyLTA3LTA1IDEyOjM1OjQ5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYWRlbXV4OiBSZW1vdmUgdGhlIFRPQyBxdWVyeSBoYW5kbGluZwoKMjAxMi0wNy0wNCAxOTo1MjoyMiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcmVhZC1jb21tb24uYzoKCSAgbWF0cm9za2E6IFVwZGF0ZSBmb3IgbmV3IEdzdFRvYyBBUEkKCSAgVE9DIHN1cHBvcnQgaW4gbWF0cm9za2FtdXggaXMgZGlzYWJsZWQgZm9yIG5vdyBhcyBpdCB3YXMgYnJva2VuIGFueXdheS4KCjIwMTItMDctMDQgMjM6NTc6MTggKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9yZ2FuYWx5c2lzLmM6CgkgIHRlc3RzOiBmaXggcmdhbmFseXNpcyB1bml0IHRlc3QgZXZlbnQgaGFuZGxpbmcKCSAgTXVzdCBmbHVzaCBhZnRlciBFT1MgYmVmb3JlIHNlbmRpbmcgbW9yZSBidWZmZXJzIG9yCgkgIGFub3RoZXIgRU9TIGV2ZW50LCBvciB0aGUgZXZlbnQgb3IgYnVmZmVyIHdpbGwgYmUKCSAgcmVqZWN0ZWQuIEFsc28gc2VuZCBhIFNFR01FTlQgZXZlbnQgYXQgdGhlIHN0YXJ0CgkgIG9mIGVhY2ggc3RyZWFtIGZvciBnb29kIG1lYXN1cmUuCgoyMDEyLTA3LTA0IDE4OjU4OjQ2ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pbWFnZWZyZWV6ZS9nc3RpbWFnZWZyZWV6ZS5jOgoJICBpbWFnZWZyZWV6ZTogY2xlYXIgMCBEVFMgb24gYnVmZmVycyBvdXRwdXQsIGFzIHNpbmtzIHdpbGwgcHJlZmVyIERUUyBvdmVyIFBUUyBmb3Igc3luY2luZwoJICBTaW5jZSB0aGUgaW5pdGlhbCBkZWNvZGVkIHN0aWxsIGltYWdlIGJ1ZmZlciB3aWxsIGhhdmUgZHRzPXB0cz0wLCBhbmQKCSAgd2Ugb25seSBzZXQgUFRTIG9uIGJ1ZmZlcnMgd2UgcHVzaCBvdXQsIGFsbCBidWZmZXJzIHB1c2hlZCBvdXQgd291bGQKCSAgaGF2ZSBhIERUUyBvZiAwLiBTaW5rcywgaG93ZXZlciwgd2lsbCBwcmVmZXIgRFRTIG92ZXIgUFRTIGlmIGJvdGggYXJlCgkgIHNldCwgYW5kIHdpbGwgdGhlcmVmb3JlIGFsd2F5cyBzZWUgYSB0aW1lc3RhbXAgb2YgMCBubyBtYXR0ZXIgd2hhdAoJICB0aGUgUFRTIGlzIHNldCB0by4KCSAgRml4ZXMgdW5pdCB0ZXN0IHRvby4KCjIwMTItMDctMDQgMjA6NTk6MDMgKzA0MDAgINCg0YPRgdC70LDQvSDQmNC20LHRg9C70LDRgtC+0LIgPGxybjE5ODZAZ21haWwuY29tPgoKCSogc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdHNvdW5kc2luay5jOgoJICBkaXJlY3Rzb3VuZHNpbms6IEZpeCBxdWVyeSBmdW5jdGlvbiBpbXBsZW1lbnRhdGlvbjsgbW9yZSBkZWJ1Z2dpbmcKCjIwMTItMDctMDQgMTk6NDE6NTIgKzA0MDAgINCg0YPRgdC70LDQvSDQmNC20LHRg9C70LDRgtC+0LIgPGxybjE5ODZAZ21haWwuY29tPgoKCSogc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdHNvdW5kc2luay5jOgoJICBkaXJlY3Rzb3VuZHNpbms6IEZpeCBzcGVjIHN0dWZmIGluIGRpcmVjdHNvdW5kc2luawoKMjAxMi0wNS0zMSAxOToyMjo0NyArMDIwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDx5bGF0dXlhQGdtYWlsLmNvbT4KCgkqIHN5cy9kaXJlY3Rzb3VuZC9nc3RkaXJlY3Rzb3VuZHNpbmsuYzoKCSAgZGlyZWN0c291bmRzaW5rOiBmaXggYWNjZXNzIHRvIGludmFsaWQgcG9pbnRlciBpbiBzZXRfdm9sdW1lCgoyMDEyLTA2LTEzIDEyOjEyOjM5ICswMjAwICBTZWJhc3RpYW4gRHI9QzM9QjZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvZGlyZWN0c291bmQvZ3N0ZGlyZWN0c291bmRzaW5rLmM6CgkgIGRpcmVjdHNvdW5kc2luazogRml4IGNhcHMgbGVha3MKCjIwMTItMDUtMjkgMTE6Mzc6NTkgKzAwMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8eWxhdHV5YUBnbWFpbC5jb20+CgoJKiBzeXMvZGlyZWN0c291bmQvZ3N0ZGlyZWN0c291bmRzaW5rLmM6CgkgIGRpcmVjdHNvdW5kc2luazogZml4IGFjY2VwdGNhcHMgY2hlY2sKCjIwMTItMDUtMjUgMTA6MTQ6NTcgKzAwMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8eWxhdHV5YUBnbWFpbC5jb20+CgoJKiBzeXMvZGlyZWN0c291bmQvZ3N0ZGlyZWN0c291bmRzaW5rLmM6CgkgIGRpcmVjdHNvdW5kc2luazogdXNlIGhlbHBlciBmdW5jdGlvbiB0byBjaGVjayBmb3Igc3BkaWYgZm9ybWF0cwoKMjAxMi0wNS0yNSAxMDoxOTowOSArMDAwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDx5bGF0dXlhQGdtYWlsLmNvbT4KCgkqIHN5cy9kaXJlY3Rzb3VuZC9nc3RkaXJlY3Rzb3VuZHNpbmsuYzoKCSAgZGlyZWN0c291bmRzaW5rOiBhZGQgc3VwcG9ydCBmb3IgRFRTCgoyMDEyLTA1LTA4IDE2OjIzOjQyICswMjAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPHlsYXR1eWFAZ21haWwuY29tPgoKCSogc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdHNvdW5kc2luay5jOgoJICBkaXJlY3Rzb3VuZHNpbms6IGZvcmNlIDQ4MDAwIGtIeiBmb3JjZSBBQy0zIG92ZXIgc3BkaWYKCjIwMTItMDctMDQgMTc6NDI6NDkgKzA0MDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8eWxhdHV5YUBnbWFpbC5jb20+CgoJKiBzeXMvZGlyZWN0c291bmQvZ3N0ZGlyZWN0c291bmRzaW5rLmM6CgkgIGRpcmVjdHNvdW5kc2luazogYWRkIHN1cHBvcnQgZm9yIGFjLTMgb3ZlciBzcGRpZgoKMjAxMi0wNy0wNCAxMjozNzo0MCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9kZWludGVybGFjZS5jOgoJICB0ZXN0czogZGlzYWJsZSBkZWludGVybGFjZSB0ZXN0IGZvciBub3csIGVsZW1lbnQgc3RpbGwgbmVlZHMgdG8gYmUgcG9ydGVkCgkgIEJ1dCBsZWF2ZSBpdCBhY3RpdmUgYW5kIHByaW50IGEgRklYTUUuIFBvcnRpbmcgaXMgaW4gcHJvZ3Jlc3MuCgoyMDEyLTA3LTAzIDE5OjM4OjM5ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pbnRlcmxlYXZlL2RlaW50ZXJsZWF2ZS5jOgoJICBkZWludGVybGVhdmU7IGRvd25ncmFkZSBjYXBzIGNoYW5nZSBmYWlsdXJlIGRlYnVnIG1lc3NhZ2UKCSAgQWRkIHNvbWUgbW9yZSBpbmZvIGFuZCBkb3duZ3JhZGUgdG8gd2FybmluZywgc28KCSAgaXQgZG9lc24ndCBsb29rIGxpa2UgdGhlIHVuaXQgdGVzdCBmYWlsZWQuCgoyMDEyLTA3LTAzIDE3OjUyOjExICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb2Z4L2F1ZGlvcGFub3JhbWEuYzoKCSAgYXVkaW9wYW5vcmFtYTogZml4IG5lZ290aWF0aW9uIGFuZCB1bml0IHRlc3QKCSAgTXVzdCByZW1vdmUgYSBwb3NzaWJseS1maXhlZCBjaGFubmVsLW1hc2sgZmllbGQgaWYKCSAgd2UncmUgZ29pbmcgdG8gc2V0IHVuZml4ZWQgY2hhbm5lbHMgb24gdGhlIHN0cnVjdHVyZSwKCSAgb3IgYSBkaWZmZXJlbnQgY2hhbm5lbCBjb3VudC4KCjIwMTItMDctMDMgMTc6MjY6MjYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thZGVtdXg6IE9ubHkgcHVzaCB0aGUgVE9DIGV2ZW50LCB0aGUgbWVzc2FnZSBpcyBoYW5kbGVkIGJ5IHRoZSBzaW5rcwoKMjAxMi0wNy0wMyAxMjo0Nzo1OCArMDkwMCAgSmF2aWVyIEphcmTDs24gPGpqYXJkb25AZ25vbWUub3JnPgoKCSogdGVzdHMvZXhhbXBsZXMvZXF1YWxpemVyL2RlbW8uYzoKCSogdGVzdHMvZXhhbXBsZXMvc3BlY3RydW0vZGVtby1hdWRpb3Rlc3QuYzoKCSogdGVzdHMvaWNsZXMvZ2RrcGl4YnVmc2luay10ZXN0LmM6CgkgIHRlc3RzOiBkbyBub3QgdXNlIGRlcHJlY2F0ZWQgZ3RrKyBzeW1ib2xzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NzkzMDEKCjIwMTItMDctMDMgMDk6Mjc6MTcgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogcmVxdWlyZSBHdGsrIDMuMCBmb3IgdGVzdHMvZXhhbXBsZXMKCjIwMTItMDctMDMgMTI6NTc6MTggKzA5MDAgIEphdmllciBKYXJkw7NuIDxqamFyZG9uQGdub21lLm9yZz4KCgkqIGdzdC9ydHAvZ3N0cnRwTDE2ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcGFkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHZvcmJpc3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHZyYXdkZXBheS5jOgoJICBydHA6IHJlbW92ZSBzb21lIG91dGRhdGVkIGNvbW1lbnRzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NzkzMDEKCjIwMTItMDYtMjkgMTE6NTE6MzAgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL29zeHZpZGVvL29zeHZpZGVvc2luay5tOgoJICBvc3h2aWRlb3Npbms6IGRlZmF1bHQgdG8gZm9yY2UtYXNwZWN0LXJhdGlvPXRydWUKCjIwMTItMDYtMjggMjA6MDM6MDUgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBnc3QvZGVidWd1dGlscy9ybmRidWZmZXJzaXplLmM6CgkgIHJuZGJ1ZmZlcnNpemU6IGFkZCBwdXNoIG1vZGUgc3VwcG9ydAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjU2MzE3CgoyMDEyLTA2LTI4IDExOjI5OjU1ICswMjAwICBEYXZpZCBDb3J2b3lzaWVyIDxkYXZpZC5jb3J2b3lzaWVyQG9yYW5nZS5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgaXNvbXA0OiBUcnkgdG8gc2VlayB1cHN0cmVhbSBiZWZvcmUgcHJvY2Vzc2luZyBzZWVrIHB1c2ggZXZlbnQKCSAgV2hlbiBpdCByZWNlaXZlcyBhIHNlZWsgaW4gcHVzaCBtb2RlLCB0aGUgcXRkZW11eCBzaG91bGQgZmlyc3QgdHJ5IHRvIHB1c2ggdGhlIGV2ZW50IHVwc3RyZWFtLCBhbmQgb25seSBpZiB1cHN0cmVhbSBmYWlscyBmYWxsIGJhY2sgdG8KCSAgaXRzIG93biBzZWVrIGxvZ2ljLgoKMjAxMi0wNi0yOCAxMTo0NzoyMCArMDIwMCAgRGF2aWQgQ29ydm95c2llciA8ZGF2aWQuY29ydm95c2llckBvcmFuZ2UuY29tPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIGlzb21wNDogQWxsb3cgZHVyYXRpb24gcXVlcmllcyB0byBiZSBmb3J3YXJkZWQgdXBzdHJlYW0KCSAgV2hlbiByZWNlaXZpbmcgYSBkdXJhdGlvbiBxdWVyeSBmb3IgVElNRSBmb3JtYXQsIHRyeSB0byBxdWVyeSB1cHN0cmVhbSwgYW5kIG9ubHkgaWYgdXBzdHJlYW0gZmFpbHMgZmFsbCBiYWNrIHRvIHF0ZGVtdXggZHVyYXRpb24gaGFuZGxpbmcuCgoyMDEyLTA2LTI4IDExOjU5OjExICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBoMjY0cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2NHBheS5oOgoJICBydHBoMjY0cGF5OiBjbGVhbnVwcwoJICBVc2UgdGhlIGNhcHMgcHJvcGVydGllcyBmb3IgYWxpZ25tZW50IGFuZCBmb3JtYXQuCgkgIFJlbW92ZSBzb21lIG9sZCBwcm9wZXJ0aWVzLCB3ZSBhbHdheXMgd2FudCB0byB1c2UgYnVmZmVybGlzdHMgd2hlbiB3ZSBjYW4gbm93LgoKMjAxMi0wNi0yOCAxMTozMjowMyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2NHBheS5jOgoJICBoMjY0cGF5OiBwcmVmZXIgQVZDLCBpdCdzIGVhc2llciB0byBwYXJzZSBldGMKCjIwMTItMDYtMjcgMDk6MDk6MzIgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvanBlZy9nc3RqcGVnZW5jLmM6CgkgIGpwZWdlbmM6IG1hcmsgYWxsIG91dHB1dCBmcmFtZXMgYXMga2V5ZnJhbWVzCgoyMDEyLTA2LTI2IDE4OjQ4OjExICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1yZWFkLWNvbW1vbi5jOgoJICBtYXRyb3NrYTogdXBkYXRlIGZvciBHc3RUb2MgQVBJIGFkZGl0aW9ucwoKMjAxMi0wNi0yNiAxNzowNDo0MSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYTogc2V0IGludGVybGFjZS1tb2RlCgoyMDEyLTA2LTI2IDEzOjE5OjAyICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSAgdjRsMjogaW1wcm92ZSBkZWJ1ZwoKMjAxMi0wNi0yNiAxMzowMjoxMyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkgIFJldmVydCAidjRsMjogZnJlZSBrZXJuZWwgYnVmZmVycyBiZWZvcmUgYWxsb2NhdGluZyBuZXcgb25lcyIKCSAgVGhpcyByZXZlcnRzIGNvbW1pdCAxYjA5YmM2MDlhNTc4ZTczMWYwZGJjOGY2ZTY5OGUyNWQ4ZjRjNWY4LgoJICBTZWVtcyB0byBtYWtlIGxpYnY0bDIgY29tcGxhaW4sIG1heWJlIGJlY2F1c2Ugd2UgY2FsbCBSRVFCVUZTIHdpdGggMCBidWZmZXJzCgkgIGJlZm9yZSB3ZSBhbGxvY2F0ZWQgYnVmZmVycy4KCjIwMTItMDYtMjYgMTI6MDc6NDcgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJICB2NGwyOiBmcmVlIGtlcm5lbCBidWZmZXJzIGJlZm9yZSBhbGxvY2F0aW5nIG5ldyBvbmVzCgkgIFNlZSBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjcwMjU3CgoyMDEyLTA2LTI2IDEyOjA3OjI5ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJICB2NGwyc3JjOiBpbXByb3ZlIGRlYnVnCgoyMDEyLTA2LTI2IDExOjE0OjU5ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSAgdjRsMjogc2V0dXAgc3RyaWRlcyBhbmQgb2Zmc2V0cyBmb3IgYWxsIHBsYW5lcwoKMjAxMi0wNi0yNSAyMDoxMTo1MyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSAgbWF0cm9za2EtbXV4OiB1cGRhdGUgZm9yIEdzdFRvY1NldHRlciBjaGFuZ2VzCgoyMDEyLTA2LTI1IDEzOjMxOjE2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYWRlbXV4OiBSZXR1cm4gRkFMU0UgZnJvbSBxdWVyaWVzIGlmIHdlIGNhbid0IGFuc3dlciBQT1NJVElPTi9EVVJBVElPTiBxdWVyaWVzCgoyMDEyLTA2LTIxIDE3OjE1OjExICswMzAwICBBbnRvbiBCZWxrYSA8YW50b25iZWxrYUBnbWFpbC5jb20+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2FkZW11eDogUmV0dXJuIEZBTFNFIGZyb20gVE9DIHF1ZXJ5IGlmIG5vIFRPQyBleGlzdHMgaW5zdGVhZCBvZiBhbiBlbXB0eSBUT0MKCjIwMTItMDYtMjQgMjI6NTE6MTYgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcmVhZC1jb21tb24uYzoKCSAgbWF0cm9za2E6IHVwZGF0ZSBmb3IgR3N0VG9jIEFQSSBjaGFuZ2VzCgoyMDEyLTA2LTIzIDE0OjU3OjI4ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiB1cGRhdGUgZm9yIGdzdF9lbGVtZW50X21ha2VfZnJvbV91cmkoKSBjaGFuZ2VzCgoyMDEyLTA2LTIwIDEyOjMxOjAxICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZmx2ZGVtdXguYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZmx2bXV4LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2lkM2RlbXV4LmM6CgkgIHVwZGF0ZSBmb3IgYnVzIGFwaSBjaGFuZ2VzCgoyMDEyLTA2LTIwIDEwOjMzOjQyICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2R2L2dzdGR2ZGVtdXguYzoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJKiBnc3QvZGVidWd1dGlscy9ybmRidWZmZXJzaXplLmM6CgkqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzoKCSogZ3N0L2ltYWdlZnJlZXplL2dzdGltYWdlZnJlZXplLmM6CgkqIGdzdC9pc29tcDQvZ3N0cXRtb292cmVjb3Zlci5jOgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOgoJICB1cGRhdGUgZm9yIHRhc2sgYXBpIGNoYW5nZQoKMjAxMi0wNi0yMCAwOTo1OTo0OSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJKiB0ZXN0cy9leGFtcGxlcy9zcGVjdHJ1bS9kZW1vLWF1ZGlvdGVzdC5jOgoJKiB0ZXN0cy9leGFtcGxlcy9zcGVjdHJ1bS9kZW1vLW9zc3NyYy5jOgoJICB1cGRhdGUgZm9yIGNsb2NrIGFwaSBjaGFuZ2VzCgoyMDEyLTA2LTE5IDEyOjE1OjMzICswMjAwICBKb3NlcCBUb3JyYSA8bjc3MGdhbGF4eUBnbWFpbC5jb20+CgoJKiBzeXMvb3N4YXVkaW8vTWFrZWZpbGUuYW06CgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hhdWRpb3NpbmsuYzoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGF1ZGlvc2luay5oOgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4Y29yZWF1ZGlvLmg6CgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hyaW5nYnVmZmVyLmM6CgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hyaW5nYnVmZmVyLmg6CgkgIG9zeGF1ZGlvc2luazogcmVzcGVjdCB0aGUgcHJlZmVyZWQgY2hhbm5lbCBsYXlvdXQKCSAgSW4gT1NYIGlzIGFsbG93ZWQgdG8gY29uZmlndXJlIHRoZSBkZWZhdWx0IGF1ZGlvIG91dHB1dCBkZXZpY2UsCgkgIHByZWZlcmVkIGNoYW5uZWwgbGF5b3V0IGFuZCBzcGVha2VyIHBvc2l0aW9ucyB0aHJvdWdoIHRoZSB0b29sCgkgICJBdWRpbyBNSURJIFNldHVwIi4KCjIwMTItMDQtMzAgMjI6NTk6NTggKzAyMDAgIE1hdGVqIEtub3BwIDxtYXRlai5rbm9wcEBnbWFpbC5jb20+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2EtZGVtdXg6IFNlbmQgZ2FwIGV2ZW50cyBmb3Igc3VidGl0bGUgc3RyZWFtcwoKMjAxMi0wNi0xNyAwMTowMDo0MCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXVsdGlmaWxlL2dzdHNwbGl0ZmlsZXNyYy5jOgoJICBzcGxpdGZpbGVzcmM6IGZpeCB1cCBkb2NzIGZvciAwLjExCgoyMDEyLTA2LTE2IDIzOjI5OjQxICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tdWx0aWZpbGUvZ3N0c3BsaXRmaWxlc3JjLmM6CgkgIHNwbGl0ZmlsZXNyYzogc21hbGwgdXJpIGhhbmRsZXIgZml4dXAgYW5kIHNvbWUgbW9yZSBkb2NzCgkgIEdldCBVUkkgbG9jYXRpb24gdXNpbmcgZ3N0X3VyaV9nZXRfbG9jYXRpb24oKSwgc28gYW55CgkgIGVzY2FwZWQgYml0cyBnZXQgdW5lc2NhcGVkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjA5MDQ5CgoyMDEyLTA2LTE3IDAwOjU5OjIxICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tdWx0aWZpbGUvZ3N0c3BsaXRmaWxlc3JjLmM6CgkgIHNwbGl0ZmlsZXNyYzogcmUtcG9ydCB0byAwLjExCgoyMDEyLTA2LTE2IDE5OjA2OjI1ICswMTAwICBCYXN0aWVuIE5vY2VyYSA8aGFkZXNzQGhhZGVzcy5uZXQ+CgoJKiBnc3QvbXVsdGlmaWxlL2dzdHNwbGl0ZmlsZXNyYy5jOgoJICBzcGxpdGZpbGVzcmM6IEltcGxlbWVudCBzcGxpdGZpbGU6Ly8gVVJJIHNjaGVtZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjA5MDQ5CgkgIENvbmZsaWN0czoKCSAgZ3N0L211bHRpZmlsZS9nc3RzcGxpdGZpbGVzcmMuYwoKMjAxMi0wNi0xNCAxMDo0Mzo1NiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwdGhlb3JhZGVwYXkuYzoKCSAgdGhlb3JhZGVwYXk6IGZpeCBidWZmZXIgbWVtb3J5CgkgIFRoZSBtZW1vcnkgd2FzIGFkZGVkIHRvIHRoZSBpbnB1dCBidWZmZXIgaW5zdGVhZCBvZiB0aGUgb3V0cHV0IGJ1ZmZlci4KCjIwMTItMDYtMTMgMTM6MzY6NDUgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IERvbid0IHJlc2V0IHRpbWUgaW4gZmx1c2gtc3RvcAoJICBEb24ndCByZXNldCB0aGUgdGltZSBpbiBmbHVzaC1zdG9wLiBMaXZlIHNvdXJjZXMgY2FuIGRvIHRoaXMgZmx1c2ggaW4gdGhlCgkgIHBsYXlpbmcgc3RhdGUgYW5kIHNvIHRoZSBwaXBlbGluZSB3aWxsIG5ldmVyIGhhdmUgYSBjaGFuY2UgdG8gdXBkYXRlIHRoZQoJICBiYXNlX3RpbWUgb2YgdGhlIGVsZW1lbnRzLCB3aGljaCBvbmx5IGhhcHBlbnMgd2hlbiBnb2luZyBmcm9tIHBhdXNlZCB0bwoJICBwbGF5aW5nLgoKMjAxMi0wNi0xMiAxMjo0MjozMSArMDIwMCAgSm9zZXAgVG9ycmEgPG43NzBnYWxheHlAZ21haWwuY29tPgoKCSogc3lzL29zeGF1ZGlvL01ha2VmaWxlLmFtOgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4YXVkaW9zaW5rLmM6CgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hhdWRpb3NpbmsuaDoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGNvcmVhdWRpby5oOgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4cmluZ2J1ZmZlci5jOgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4cmluZ2J1ZmZlci5oOgoJICBvc3hhdWRpb3Npbms6IEFkZCBzdXBwb3J0IGZvciBTUERJRiBvdXRwdXQKCSAgQSBiaWcgcmVmYWN0b3JpbmcgdG8gYWxsb3cgcGFzc3Rocm91Z2ggQUMzL0RUUyBvdmVyIFNQRElGLgoJICBTZXZlcmFsIHJhbmRvbSBjbGVhbnVwcyBhbmQgbWlub3IgZml4ZXMuCgoyMDExLTA5LTAxIDE1OjQxOjI2ICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuaDoKCSAgZGVpbnRlcmxhY2U6IHNlbmQgUW9TIG1lc3NhZ2VzIHdoZW4gZHJvcHBpbmcgYSBmcmFtZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjU3OTQxCgoyMDEyLTA2LTEyIDE2OjA1OjQwICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmg6CgkgIHJ0c3BzcmM6IFJld29yayB0aGUgYXN5bmMgc3RhdGUgaGFuZGxpbmcKCSAgQWx3YXlzIHNlbmQgdGhlIGZsdXNoaW5nIGV2ZW50cyB0byB0aGUgdWRwIGVsZW1lbnRzIG5vdyB0aGF0IGJhc2VzcmMgc3VwcG9ydHMKCSAgdGhpcy4gVGhpcyBtYWtlcyBzdXJlIGEgc2VnbWVudCBldmVudCBpcyBzZW50IGNvcnJlY3RseSBhZnRlciBhIGZsdXNoLgoJICBLZWVwIHRyYWNrIG9mIHRoZSBjdXJyZW50bHkgZXhlY3V0aW5nIGNvbW1hbmQgYW5kIG1ha2UgaXQgcG9zc2libGUgdG8gc3BlY2lmeQoJICB3aGF0IGNvbW1hbmQgeW91IHdhbnQgdG8gY2FuY2VsIHdoZW4gc3RhcnRpbmcgYSBuZXcgYXN5bmMgY29tbWFuZC4KCSAgU2VlIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02Nzc5MDUKCjIwMTItMDYtMTEgMTg6MjQ6MjAgKzAyMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplci5jOgoJKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplcjEwYmFuZHMuYzoKCSogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIzYmFuZHMuYzoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlcjIuYzoKCSAgY2hpbGRwcm94eTogdXBkYXRlIGFwaSB1c2UKCjIwMTItMDYtMTEgMTI6NTQ6MjcgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thZGVtdXg6IGFsd2F5cyBwZXJmb3JtIGZ1bGwgc2VlayBpZiBzZWVrIGlzIGZsdXNoaW5nCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02Nzc4MzgKCjIwMTItMDYtMTEgMTE6MjA6MTggKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2RlYnVndXRpbHMvcm5kYnVmZmVyc2l6ZS5jOgoJICBybmRidWZmZXJzaXplOiBwcmludGYgZm9ybWF0IGZpeCBmb3IgbG9uZyAtPiBpbnQgY2hhbmdlCgoyMDEyLTA2LTA4IDIwOjM4OjM0ICswMjAwICBIYW5zIGRlIEdvZWRlIDxoZGVnb2VkZUByZWRoYXQuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICB2NGwyb2JqZWN0OiBEb24ndCBwcm9iZSBVVkMgZGV2aWNlcyBmb3IgYmVpbmcgaW50ZXJsYWNlZAoJICBVVkMgZGV2aWNlcyBhcmUgbmV2ZXIgaW50ZXJsYWNlZCwgYW5kIGRvaW5nIFZJRElPQ19UUllfRk1UIG9uIHRoZW0KCSAgY2F1c2VzIGV4cGVuc2l2ZSBhbmQgc2xvdyBVU0IgSU8sIHNvIGRvbid0IHByb2JlIHRoZW0gZm9yIGludGVybGFjZWQuCgkgIFRoaXMgc2hhdmVzIDIgc2Vjb25kcyBvZiB0aGUgc3RhcnR1cCB0aW1lIG9mIGNoZWVzZSB3aXRoIGEgTG9naXRlY2gKCSAgV2ViY2FtIFBybyA5MDAwLgoJICBTaWduZWQtb2ZmLWJ5OiBIYW5zIGRlIEdvZWRlIDxoZGVnb2VkZUByZWRoYXQuY29tPgoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njc3NzIyCgoyMDEyLTA2LTA5IDE2OjUzOjU0ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kZWJ1Z3V0aWxzL3JuZGJ1ZmZlcnNpemUuYzoKCSAgZGVidWc6IGNoYW5nZSBybmRidWZmZXJzaXplIHByb3BlcnRpZXMgZnJvbSBsb25nIHRvIGludAoJICBUaGVzZSBzaG91bGQgYWxsIGJlIGludCBpbnN0ZWFkIG9mIGxvbmcsIHRvIGF2b2lkIGJ1Z3MKCSAgd2hlbiBwYXNzaW5nIHRoZXNlIGFzIHZhcmFyZ3Mgd2l0aCBnX29iamVjdF9zZXQoKSwgYW5kCgkgIHRoZXJlIHdhcyBubyByZWFzb24gdG8gdXNlIGxvbmcgaW4gdGhlIGZpcnN0IHBsYWNlIGhlcmUuCgkgIEZpeGVzIEZJWE1FLgoKMjAxMi0wNi0wOCAxNTo1NDo0MiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkqIGdzdC9nb29tL2dzdGdvb20uYzoKCSogZ3N0L2dvb20yazEvZ3N0Z29vbS5jOgoJKiBnc3QvbW9ub3Njb3BlL2dzdG1vbm9zY29wZS5jOgoJKiBnc3QvcnRzcC9nc3RydHBkZWMuYzoKCSAgZWxlbWVudHM6IFVzZSBnc3RfcGFkX3NldF9jYXBzKCkgaW5zdGVhZCBvZiBtYW51YWwgZXZlbnQgZmlkZGxpbmcKCjIwMTItMDYtMDggMTU6MDQ6NTkgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSAwM2EwZTU3IHRvIDk4ZTM4NmYKCjIwMTItMDYtMDggMTA6MTE6MTIgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmxhYy9nc3RmbGFjZW5jLmM6CgkqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tlbmMuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3R3YXZwYWNrcGFyc2UuYzoKCSogc3lzL29zczQvb3NzNC1hdWRpby5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9pbnRlcmxlYXZlLmM6CgkgIHVwZGF0ZSBmb3IgYXVkaW8gYXBpIGNoYW5nZQoKMjAxMi0wNi0wNyAxNjoxMjozNCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIEJhY2sgdG8gZGV2ZWxvcG1lbnQKCj09PSByZWxlYXNlIDAuMTEuOTIgPT09CgoyMDEyLTA2LTA3IDE2OjEyOjIyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIENoYW5nZUxvZzoKCSogTkVXUzoKCSogUkVMRUFTRToKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5pbnRlcmZhY2VzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLnNpZ25hbHM6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi0xMzk0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhY29sb3IueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXBldGFnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvZngueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9wYXJzZXJzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2RldGVjdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdmkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FjYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY3V0dGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZmVjdHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXF1YWxpemVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZseGRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20yazEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWN5ZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW1hZ2VmcmVlemUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXJsZWF2ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pc29tcDQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tamFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxldmVsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1hdHJvc2thLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpZmlsZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aXBhcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmF2aWdhdGlvbnRlc3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzNC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3NhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbmcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcHVsc2VhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXBsYXlnYWluLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHBtYW5hZ2VyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0c3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hhcGV3aXBlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNob3V0MnNlbmQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc21wdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVjdHJ1bS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10YWdsaWIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdWRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvNGxpbnV4Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2JveC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2Nyb3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9maWx0ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9taXhlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14aW1hZ2VzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teTRtZW5jLnhtbDoKCSogZ3N0LXBsdWdpbnMtZ29vZC5kb2FwOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIFJlbGVhc2UgMC4xMS45MgoKMjAxMi0wNi0wNyAxNjoxMToxNyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBwby9hZi5wbzoKCSogcG8vYXoucG86CgkqIHBvL2JnLnBvOgoJKiBwby9jYS5wbzoKCSogcG8vY3MucG86CgkqIHBvL2RhLnBvOgoJKiBwby9kZS5wbzoKCSogcG8vZWwucG86CgkqIHBvL2VuX0dCLnBvOgoJKiBwby9lby5wbzoKCSogcG8vZXMucG86CgkqIHBvL2V1LnBvOgoJKiBwby9maS5wbzoKCSogcG8vZnIucG86CgkqIHBvL2dsLnBvOgoJKiBwby9odS5wbzoKCSogcG8vaWQucG86CgkqIHBvL2l0LnBvOgoJKiBwby9qYS5wbzoKCSogcG8vbHQucG86CgkqIHBvL2x2LnBvOgoJKiBwby9tdC5wbzoKCSogcG8vbmIucG86CgkqIHBvL25sLnBvOgoJKiBwby9vci5wbzoKCSogcG8vcGwucG86CgkqIHBvL3B0X0JSLnBvOgoJKiBwby9yby5wbzoKCSogcG8vcnUucG86CgkqIHBvL3NrLnBvOgoJKiBwby9zbC5wbzoKCSogcG8vc3EucG86CgkqIHBvL3NyLnBvOgoJKiBwby9zdi5wbzoKCSogcG8vdHIucG86CgkqIHBvL3VrLnBvOgoJKiBwby92aS5wbzoKCSogcG8vemhfQ04ucG86CgkqIHBvL3poX0hLLnBvOgoJKiBwby96aF9UVy5wbzoKCSAgVXBkYXRlIC5wbyBmaWxlcwoKMjAxMi0wNi0wNyAxNTowMzowMiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9wdWxzZS9wdWxzZXNyYy5jOgoJICBwdWxzZXNyYzogaW1wcm92ZSBjbG9jayBoYW5kbGluZwoJICBQb3N0IHRoZSBub3RpZnkgb3V0c2lkZSBvZiB0aGUgcGFfbG9jayB0byBhdm9pZCBhIGRlYWRsb2NrIGNhdXNlZCBieSBiYXNlc3JjCgkgIGNhbGxpbmcgZ2V0X3RpbWUgd2l0aCB0aGUgb2JqZWN0IGxvY2suCgkgIFJlc2V0IHRoZSBjbG9jayBvbiBjb25uZWN0LgoJICBQb3N0IGNsb2NrLWxvc3QgYW5kIGNsb2NrLXByb3ZpZGUgbWVzc2FnZXMuCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NzM5NzcKCSAgQ29uZmxpY3RzOgoJICBleHQvcHVsc2UvcHVsc2VzcmMuYwoKMjAxMi0wNC0xMiAxMzoyMToxNyArMDMwMCAgTW9oYW1tZWQgU2FtZWVyIDxtc2FtZWVyQGZvb2xhYi5vcmc+CgoJKiBleHQvcHVsc2UvcHVsc2VzcmMuYzoKCSAgQmV0dGVyIEdzdENsb2NrIGZvciBwdWxzZXNyYwoJICBUaGlzIGNsb2NrIHVzZXMgdGhlIGFjdHVhbCBzdHJlYW0gdGltZSAocGFfc3RyZWFtX2dldF90aW1lKSB0byBnZXQgYSBtb3JlIGFjY3VyYXRlIHRpbWVzdGFtcC4KCSAgQ29uZmxpY3RzOgoJICBleHQvcHVsc2UvcHVsc2VzcmMuYwoKMjAxMi0wNi0wNyAxMToxNjo1MCArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvbGlicG5nL2dzdHBuZ2RlYy5jOgoJKiBleHQvbGlicG5nL2dzdHBuZ2VuYy5jOgoJICBwbmc6IGZpeCB2aWRlbyBzdGF0ZSBsZWFrcwoKMjAxMi0wNi0wNyAxMToxNjozNyArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvanBlZy9nc3RqcGVnZGVjLmM6CgkgIGpwZWdkZWM6IGZpeCB2aWRlbyBzdGF0ZSBsZWFrCgoyMDEyLTA2LTA3IDEyOjExOjE0ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBvbmx5IHJlc2V0IHRoZSBtYW5hZ2VyIG9iamVjdCB3aGVuIHdlIGRpZCBhIHNlZWsKCSAgT25seSByZXNldCB0aGUgbWFuYWdlciBvYmplY3Qgd2hlbiB3ZSB1c2VkIGEgUmFuZ2UgaGVhZGVyLCBpZS4gd2hlbiB3ZSBkaWQgYQoJICBzZWVrLiBPdGhlcndpc2Ugd2UganVzdCBwYXVzZWQgYW5kIHdlIGNhbiByZXN1bWUganVzdCBmaW5lLgoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njc3NDc1CgoyMDEyLTA2LTA2IDE2OjEzOjI5ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwYmluLmM6CgkgIHRlc3RzOiBhZGQgdGVzdCBmb3IgcnRwc2Vzc2lvbiBjbGVhbnVwCgoyMDEyLTA2LTA2IDE4OjE4OjQxICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gMWZhYjM1OSB0byAwM2EwZTU3CgoyMDEyLTA2LTA2IDE0OjE3OjA4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYWRlbXV4OiBVcGRhdGUgZm9yIFRPQyBldmVudCBBUEkgY2hhbmdlCgoyMDEyLTA2LTA2IDEzOjAyOjEyICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2R2L2dzdGR2ZGVtdXguYzoKCSogZXh0L2ZsYWMvZ3N0ZmxhY3RhZy5jOgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdG1wZWdhdWRpb3BhcnNlLmM6CgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSogZ3N0L2F2aS9nc3RhdmlzdWJ0aXRsZS5jOgoJKiBnc3QvZGVidWd1dGlscy9nc3R0YWdpbmplY3QuYzoKCSogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOgoJKiBnc3QvaWN5ZGVtdXgvZ3N0aWN5ZGVtdXguYzoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcmVhZC1jb21tb24uYzoKCSogZ3N0L211bHRpcGFydC9tdWx0aXBhcnRkZW11eC5jOgoJKiBnc3QvcmVwbGF5Z2Fpbi9nc3RyZ2FuYWx5c2lzLmM6CgkqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9yZ2FuYWx5c2lzLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3Jndm9sdW1lLmM6CgkgIHVwZGF0ZSBmb3IgdGFnIGV2ZW50IGNoYW5nZQoKMjAxMi0wNi0wNiAxMzowMDo1OCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb2Nyb3AvZ3N0YXNwZWN0cmF0aW9jcm9wLmM6CgkqIGdzdC92aWRlb2Nyb3AvZ3N0dmlkZW9jcm9wLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2FzcGVjdHJhdGlvY3JvcC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy92aWRlb2Nyb3AuYzoKCSAgZml4IFk4MDAgZm9ybWF0CgoyMDEyLTA2LTAxIDAxOjE5OjM1IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIHN5cy9vc3h2aWRlby9jb2NvYXdpbmRvdy5oOgoJKiBzeXMvb3N4dmlkZW8vb3N4dmlkZW9zaW5rLm06CgkgIG9zeHZpZGVvOiBzdHJhaWdodGZvcndhcmQgcG9ydCB0byAwLjExCgoyMDEyLTA1LTMxIDE4OjM5OjI1IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvbGlicG5nL2dzdHBuZ2RlYy5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wMnRwYXkuYzoKCSAgU29tZSBwcmludGYgdmFyaWFibGUgZm9ybWF0IGZpeGVzCgkgIFRoZSBvc3ggY29tcGlsZXIgY29tcGxhaW5zIGFib3V0IHRob3NlCgoyMDEyLTA2LTA1IDA5OjE4OjEyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWFjcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYzNwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFtcnBhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZGNhcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RmbGFjcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RtcGVnYXVkaW9wYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdHdhdnBhY2twYXJzZS5jOgoJICBhdWRpb3BhcnNlcnM6IEZpeCBHc3RCYXNlUGFyc2U6OmdldF9zaW5rX2NhcHMoKSBpbXBsZW1lbnRhdGlvbnMKCSAgVGhleSBzaG91bGQgdGFrZSB0aGUgZmlsdGVyIGNhcHMgaW50byBhY2NvdW50IGFuZCBhbHdheXMgcmV0dXJuCgkgIHRoZSB0ZW1wbGF0ZSBjYXBzIGFwcGVuZGVkIHRvIHRoZSBhY3R1YWwgY2Fwcy4gT3RoZXJ3aXNlIHRoZQoJICBwYXJzZXJzIHN0b3AgdG8gYWNjZXB0IHVucGFyc2VkIHN0cmVhbXMgd2hlcmUgdXBzdHJlYW0gZG9lcyBub3QKCSAga25vdyBhYm91dCBjaGFubmVscywgcmF0ZSwgZXRjLgoJICBGaXhlcyBidWcgIzY3NzQwMS4KCjIwMTItMDYtMDQgMTY6MTc6NTEgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvanBlZy9nc3RqcGVnZGVjLmM6CgkgIGpwZWdkZWM6IHNldCBjb2xvcmltZXRyeSBvbiBvdXRwdXQgaW5mbwoKMjAxMi0wNi0wNCAwODoxMDoxNSArMDIwMCAgSm9zZXAgVG9ycmEgPG43NzBnYWxheHlAZ21haWwuY29tPgoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeHJpbmdidWZmZXIuYzoKCSAgb3N4YXVkaW9zaW5rOiBIYW5kbGUgZW5kaWFubmVzcyBjb3JyZWN0bHkKCjIwMTItMDYtMDEgMTY6Mzc6MDAgKzAyMDAgIEpvc2VwIFRvcnJhIDxuNzcwZ2FsYXh5QGdtYWlsLmNvbT4KCgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hhdWRpb3NpbmsuYzoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeHJpbmdidWZmZXIuYzoKCSAgb3N4YXVkaW9zaW5rOiBBZGQgc3VwcG9ydCBmb3IgaW50IGF1ZGlvCgoyMDEyLTA2LTAxIDEwOjI4OjUzICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gZjFiNWE5NiB0byAxZmFiMzU5CgoyMDEyLTA1LTMxIDEzOjM2OjMyICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IHNldCB0aGUgcGFsZXR0ZSBzaXplIGNvcnJlY3RseQoKMjAxMi0wNS0zMSAxMDoxNTo0MyArMDIwMCAgTWljaGFlbCBKb25lcyA8bWljaGFlbC5qb25lc0BtYXRyaXgtdmlzaW9uLmRlPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmNvbG9yYmFsYW5jZS5oOgoJKiBzeXMvdjRsMi9nc3R2NGwydmlkb3JpZW50Lmg6CgkgIHY0bDI6IGFkZCBtaXNzaW5nIEdfRU5EX0RFQ0xTCgkgIEdfQkVHSU5fREVDTFMgZGlkbid0IGhhdmUgbWF0Y2hpbmcgR19FTkRfREVDTFMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY3NzE2NQoKMjAxMi0wNS0zMSAxMzowODoxOSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIDkyYjcyNjYgdG8gZjFiNWE5NgoKMjAxMi0wNS0zMSAxMDoyNjoyNyArMDIwMCAgSm9zZXAgVG9ycmEgPG43NzBnYWxheHlAZ21haWwuY29tPgoKCSogc3lzL29zeHZpZGVvL29zeHZpZGVvc2luay5oOgoJICBvc3h2aWRlb3Npbms6IFJlYWxseSBmaXggdGhlIGJ1aWxkIG9uIDEwLjUKCSAgVGhlIEFQSSB0aGF0IHdlIHVzZSB0byBydW4gdGhlIENvY29hIGxvb3AgaW4gYW5vdGhlcgoJICB0aHJlYWQgZG9lcyBub3QgZXhpc3QgaW4gMTAuNSBvciBlYXJsaWVyLgoKMjAxMi0wNS0yNiAxMjoyMToxOCArMDIwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZGVjaW5hQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9vc3h2aWRlby9vc3h2aWRlb3NpbmsuaDoKCSogc3lzL29zeHZpZGVvL29zeHZpZGVvc2luay5tOgoJICBvc3h2aWRlb3Npbms6IGZpeCByYWNlIGluIHN0YXJ0aW5nIHRoZSBydW5sb29wIHRocmVhZAoJICBCbG9jayBnc3Rfb3N4X3ZpZGVvX3NpbmtfcnVuX2NvY29hX2xvb3AgdW50aWwgdGhlIGxvb3AgdGhyZWFkIGhhcyBzdGFydGVkIGFuZAoJICBmaW5pc2hlZCBpbml0aWFsaXppbmcgTlNBcHAuIEZpeGVzIG9jY2FzaW9uYWwgd2FybmluZ3MvY3Jhc2hlcyBkdWUgdG8gdHdvCgkgIHRocmVhZHMgZ29pbmcgaW5zaWRlIE5TQXBwIGJlZm9yZSBmaW5pc2hMYXVuY2hpbmcgaGFkIGNvbXBsZXRlZC4KCjIwMTItMDUtMzAgMTY6MDM6NTUgKzAyMDAgIEpvc2VwIFRvcnJhIDxuNzcwZ2FsYXh5QGdtYWlsLmNvbT4KCgkqIHN5cy9vc3h2aWRlby9vc3h2aWRlb3NpbmsuaDoKCSAgb3N4dmlkZW9zaW5rOiBGaXggbGFzdCBjb21taXQgdG8gYWN0dWFsbHkgd29yawoJICBNQUNfT1NfWF9WRVJTSU9OXzEwXzYgaXMgb2J2aW91c2x5IG5vdCBkZWZpbmVkIG9uIDEwLjUuCgoyMDEyLTA1LTMwIDEzOjUxOjM1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9vc3h2aWRlby9NYWtlZmlsZS5hbToKCSAgb3N4dmlkZW9zaW5rOiBQdXQgdGhlIHJpZ2h0IGZsYWdzIGluIHRoZSByaWdodCB2YXJpYWJsZQoKMjAxMi0wNS0zMCAxMzoyNDowMyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogRml4IEdTVF9PQkpDRkxBR1MKCjIwMTItMDUtMzAgMTI6NDU6MjMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSBlYzFjNGE4IHRvIDkyYjcyNjYKCjIwMTItMDUtMzAgMTI6NDM6MzcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL29zeHZpZGVvL29zeHZpZGVvc2luay5oOgoJICBvc3h2aWRlb3Npbms6IE5TV2luZG93RGVsZWdhdGUgaXMgYXZhaWxhYmxlIGluIGFsbCBPU1ggdmVyc2lvbnMgbmV3ZXIgdGhhbiAxMC42CgoyMDEyLTA1LTMwIDEyOjQwOjU3ICswMjAwICBKb3NlcCBUb3JyYSA8bjc3MGdhbGF4eUBnbWFpbC5jb20+CgoJKiBzeXMvb3N4dmlkZW8vb3N4dmlkZW9zaW5rLmg6CgkgIG9zeHZpZGVvc2luazogRml4IGJ1aWxkIHdpdGggb2xkZXIgT1NYIHZlcnNpb25zCgoyMDEyLTA1LTMwIDExOjA5OjI1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogc3lzL29zeHZpZGVvL01ha2VmaWxlLmFtOgoJICBjb25maWd1cmU6IEFkZCBPQkpDIHNwZWNpZmljIGNvbXBpbGVyIGZsYWdzCgkgIFNlZSBidWcgIzY0MzkzOS4KCjIwMTItMDUtMzAgMTE6MjM6MzYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSAzNDI5YmE2IHRvIGVjMWM0YTgKCjIwMTItMDUtMjkgMTc6NTA6MjEgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9jcm9wL2dzdHZpZGVvY3JvcC5jOgoJICB2aWRlbzogcmVtb3ZlIGR1cGxpY2F0ZSBmb3JtYXQKCjIwMTItMDUtMjkgMTY6NTI6MDIgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOgoJICBmbHZkZW11eDogUG9zdCBlcnJvciBtZXNzYWdlIGlmIEVPUyBiZWZvcmUgcGFkcyB3ZXJlIGNyZWF0ZWQKCSAgSGFwcGVucyB3aXRoIHNvbWUgZmlsZXMgd2l0aCBvbmx5IGhlYWRlcnMKCjIwMTItMDUtMjggMTU6MjI6MjYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2xpYnBuZy9nc3RwbmdkZWMuYzoKCSogZXh0L2xpYnBuZy9nc3RwbmdkZWMuaDoKCSogZXh0L2xpYnBuZy9nc3RwbmdlbmMuYzoKCSogZXh0L2xpYnBuZy9nc3RwbmdlbmMuaDoKCSAgcG5nOiBQb3J0IHRvIDAuMTEgYWdhaW4KCjIwMTItMDUtMTQgMTI6NDY6NTcgKzAyMDAgIEplbnMgR2VvcmcgPG1haWxAamVuc2dlLm9yZz4KCgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6CgkgIHNvdXA6IERyb3AgdHJhbnNmZXJNb2RlLmRsbmEub3JnIGhlYWRlcgoJICBMZWF2ZSBpdCB0byB0aGUgYXBwbGljYXRpb24gdG8gZGVjaWRlIG9uIHRoZSBoZWFkZXIuIE5vIGhlYWRlciBhdCBhbGwKCSAgaXMgYmV0dGVyIHRoYW4gaGF2aW5nIHRoZSB3cm9uZyBoZWFkZXIgYXMgRExOQSBtYW5kYXRlcyB0aGF0IGEgbWlzc2luZwoJICBoZWFkZXIgaGFzIHRvIGJlIHRvbGVyYXRlZCB3aGlsZSBhIHdyb25nIGhlYWRlciBpcyBhbiBlcnJvci4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY3NjAyMAoKMjAxMi0wNC0wNyAwOTo1MjowOSArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvbGlicG5nL2dzdHBuZ2RlYy5jOgoJKiBleHQvbGlicG5nL2dzdHBuZ2RlYy5oOgoJKiBleHQvbGlicG5nL2dzdHBuZ2VuYy5jOgoJKiBleHQvbGlicG5nL2dzdHBuZ2VuYy5oOgoJICBwbmc6IFBvcnQgdG8gYmFzZSB2aWRlbyBjbGFzc2VzCgkgIENvbmZsaWN0czoKCSAgZXh0L2xpYnBuZy9nc3RwbmdkZWMuYwoJICBleHQvbGlicG5nL2dzdHBuZ2RlYy5oCgkgIGV4dC9saWJwbmcvZ3N0cG5nZW5jLmMKCSAgZXh0L2xpYnBuZy9nc3RwbmdlbmMuaAoJICBSZXZlcnRlZCB0byAwLjEwLCBuZWVkcyB0byBiZSBwb3J0ZWQgYWdhaW4uCgoyMDEyLTA1LTI3IDAwOjAyOjA4ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9mbHYvZ3N0Zmx2bXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1yZWFkLWNvbW1vbi5jOgoJICBmbHYsIG1hdHJvc2thOiBkb24ndCB1c2UgR3N0U3RydWN0dXJlIEFQSSBvbiB0YWcgbGlzdHMKCjIwMTItMDUtMjYgMTE6NTc6MTYgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBtcDJ0ZGVwYXkuYzoKCSAgcnRwbXAydGRlcGF5OiBPbmx5IG91dHB1dCBpbnRlZ3JhbCBtcGVnLXRzIHBhY2tldHMKCSAgRnJvbSBSRkMgMjI1MAoJICAyLiBFbmNhcHN1bGF0aW9uIG9mIE1QRUcgU3lzdGVtIGFuZCBUcmFuc3BvcnQgU3RyZWFtcwoJICAuLi4KCSAgRm9yIE1QRUcyIFRyYW5zcG9ydCBTdHJlYW1zIHRoZSBSVFAgcGF5bG9hZCB3aWxsIGNvbnRhaW4gYW4gaW50ZWdyYWwKCSAgbnVtYmVyIG9mIE1QRUcgdHJhbnNwb3J0IHBhY2tldHMuICBUbyBhdm9pZCBlbmQgc3lzdGVtCgkgIGluZWZmaWNpZW5jaWVzLCBkYXRhIGZyb20gbXVsdGlwbGUgc21hbGwgTVRTIHBhY2tldHMgKG5vcm1hbGx5IGZpeGVkCgkgIGluIHNpemUgYXQgMTg4IGJ5dGVzKSBhcmUgYWdncmVnYXRlZCBpbnRvIGEgc2luZ2xlIFJUUCBwYWNrZXQuICBUaGUKCSAgbnVtYmVyIG9mIHRyYW5zcG9ydCBwYWNrZXRzIGNvbnRhaW5lZCBpcyBjb21wdXRlZCBieSBkaXZpZGluZyBSVFAKCSAgcGF5bG9hZCBsZW5ndGggYnkgdGhlIGxlbmd0aCBvZiBhbiBNVFMgcGFja2V0ICgxODgpLgoJICAuLi4uCgkgIFNpbmNlIGl0IG5lZWRzIHRvIGNvbnRhaW4gImFuIGludGVncmFsIG51bWJlciBvZiBNUEVHIHRyYW5zcG9ydCBwYWNrZXRzIiwgYQoJICBzaW1wbGUgZml4IGlzIHRvIGNoZWNrIHRoYXQncyB0aGUgY2FzZSwgYW5kIHN0cmlwIG9mZiBhbnkgbGVmdG92ZXIgZGF0YS4KCSAgRml4ZXMgIzY3Njc5OQoJICBDb25mbGljdHM6CgkgIGdzdC9ydHAvZ3N0cnRwbXAydGRlcGF5LmMKCjIwMTItMDUtMjQgMjA6NDM6MTYgKzAyMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8eWxhdHV5YUBnbWFpbC5jb20+CgoJKiBzeXMvb3N4dmlkZW8vY29jb2F3aW5kb3cuaDoKCSogc3lzL29zeHZpZGVvL2NvY29hd2luZG93Lm06CgkqIHN5cy9vc3h2aWRlby9vc3h2aWRlb3NpbmsuaDoKCSogc3lzL29zeHZpZGVvL29zeHZpZGVvc2luay5tOgoJICBvc3h2aWRlb3Npbms6IG1ha2Ugc3VyZSBhbGwgc2VsZWN0b3JzIGFyZSBwZXJmb3JtZWQgb24gdGhlIHNhbWUgdGhyZWFkCgkgIFdoZW4gd2UgYXJlIHVzaW5nIGEgZGVkaWNhdGVkIHRocmVhZCB0byBydW4gdGhlIG1haW4gcnVuIGxvb3Agd2UKCSAgbXVzdCBtYWtlIHN1cmUgdGhhdCBhbGwgc2VsZWN0b3JzIGFyZSBwZXJmb3JtZWQgb24gdGhpcyBzYW1lIHRocmVhZC4KCSAgRm9yIGluc3RhbmNlIGlmIHBlcmZvcm1TZWxlY3Rvck9uTWFpblRocmVhZCBpcyBjYWxsZWQgZnJvbSB0aGUgcmVhbAoJICBtYWluIHRocmVhZCwgaXQgd2lsbCBub3QgZ28gdGhyb3VnaCB0aGUgbWVzc2FnZSBxdWV1ZSBhbmQgd2lsbCBiZQoJICBleGVjdXRlZCBmcm9tIHRoZSByZWFsIG1haW4gdGhyZWFkLiBCeSBmb3JjaW5nIHRoZSB0YXJnZXQgdGhyZWFkLAoJICB3ZSBlbnN1cmUgdGhhdCBhbGwgZnVuY3Rpb25zIHdpbGwgYmUgY2FsbGVkIGVpdGhlciBmcm9tIHRoZSByZWFsCgkgIG1haW4gdGhyZWFkIHdoZW4gdGhlIG1haW4gcnVuIGxvb3AgaXMgcnVubmluZyBvciBmcm9tIG91ciB0aHJlYWQKCSAgc3Bpbm5pbmcgdGhlIG1haW4gbG9vcC4KCjIwMTItMDUtMjQgMTY6MDk6NTQgKzAyMDAgIE1hdGhpYXMgSGFzc2VsbWFubiA8bWF0aGlhcy5oYXNzZWxtYW5uIGF0IGdteC5kZT4KCgkqIGV4dC9qcGVnL2dzdGpwZWdkZWMuYzoKCSAganBlZ2RlYzogcmVtb3ZlIGZyYW1lcmF0ZQoJICBUaGUganBlZyBkZWNvZGVyIGRvZXNuJ3QgbmVlZC9jYXJlIGFib3V0IHRoZSBmcmFtZXJhdGUgdG8gc28gaXQgc2hvdWxkCgkgIG5vdCBiZSBpbiB0aGUgY2Fwcy4KCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY3NjMwMgoKMjAxMi0wNS0yNCAxMzowODozNSArMDIwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZGVjaW5hQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9vc3h2aWRlby9vc3h2aWRlb3NpbmsubToKCSAgb3N4dmlkZW9zaW5rOiBzdGFydCB0aGUgbG9vcCBiZWZvcmUgY2FsbGluZyBbZ3N0dmlldyBoYXZlU3VwZXJ2aWV3XQoJICAuLi5hcyBoYXZlU3VwZXJ2aWV3IHJlcXVpcmVzIHRoZSBtYWlubG9vcCB0byBiZSBydW5uaW5nCgoyMDEyLTA1LTI0IDEzOjA4OjEzICswMjAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kZWNpbmFAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL29zeHZpZGVvL29zeHZpZGVvc2luay5tOgoJICBvc3h2aWRlb3Npbms6IGZpeCBpbmRlbnRhdGlvbgoKMjAxMi0wNS0yMiAxNjo0NzozNiArMDIwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZGVjaW5hQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9vc3h2aWRlby9NYWtlZmlsZS5hbToKCSAgb3N4dmlkZW9zaW5rOiBlbmFibGUgcnVubmluZyB0aGUgY29jb2EgbWFpbiBydW5sb29wIGluIGEgdGhyZWFkCgoyMDEyLTA1LTIyIDE2OjQ1OjI4ICswMjAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kZWNpbmFAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL29zeHZpZGVvL29zeHZpZGVvc2luay5oOgoJKiBzeXMvb3N4dmlkZW8vb3N4dmlkZW9zaW5rLm06CgkgIG9zeHZpZGVvc2luazogYWRkIGNvZGUgdG8gb3B0aW9uYWxseSBydW4gdGhlIGNvY29hIG1haW4gcnVubG9vcCBpbiBhIHNlcGFyYXRlIHRocmVhZAoJICBBZGQgYSBsaXR0bGUgaGFjayB0byBydW4gdGhlIGNvY29hIG1haW4gcnVubG9vcCBmcm9tIGEgc2VwYXJhdGUgdGhyZWFkIF93aGVuXwoJICB0aGUgbWFpbiBydW5sb29wIGlzIG5vdCBiZWluZyBydW4gKHdoaWNoIG1lYW5zIHRoYXQgdGhlIGFwcCBkb2Vzbid0IHVzZSBjb2NvYSkuCgkgIFJ1bmxvb3BzIGFyZSB0aHJlYWQgc3BlY2lmaWMsIHNvIHRoZSBoYWNrIGJvaWxzIGRvd24gdG8gZ2V0dGluZyB0aGUgcnVubG9vcCBmb3IKCSAgdGhlIG1haW4gdGhyZWFkIGFuZCBzZXR0aW5nIGl0IGFzIHRoZSBydW5sb29wIGZvciBvdXIgZGVkaWNhdGVkIHRocmVhZC4KCjIwMTItMDUtMjIgMTY6MzI6NTMgKzAyMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRlY2luYUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvb3N4dmlkZW8vb3N4dmlkZW9zaW5rLm06CgkgIG9zeHZpZGVvc2luazogcmVzZXQgYXBwX3N0YXJ0ZWQgdG8gRkFMU0Ugd2hlbiBzaHV0dGluZyBkb3duCgoyMDEyLTA1LTIyIDE0OjQ5OjE3ICswMjAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kZWNpbmFAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL29zeHZpZGVvL29zeHZpZGVvc2luay5tOgoJICBvc3h2aWRlb3Npbms6IHJlbmFtZSBjb2NvYSBydW5sb29wIGhlbHBlciBmdW5jcwoKMjAxMi0wNS0yMiAxNDoyNjoxMyArMDIwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZGVjaW5hQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9vc3h2aWRlby9vc3h2aWRlb3NpbmsubToKCSAgb3N4dmlkZW9zaW5rOiBkb24ndCBjcmVhdGUgYXBwbGljYXRpb24gbWVudXMKCjIwMTItMDUtMTYgMjE6NTI6NDUgKzAyMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8eWxhdHV5YUBnbWFpbC5jb20+CgoJKiBzeXMvb3N4dmlkZW8vb3N4dmlkZW9zaW5rLmg6CgkqIHN5cy9vc3h2aWRlby9vc3h2aWRlb3NpbmsubToKCSAgb3N4dmlkZW9zaW5rOiByZXNldCB0aGUgZW1iZWQgcHJvcGVydHkgZm9yIGJhY2t3YXJkIGNvbXBhdGlsaWJpdHkKCjIwMTItMDUtMTYgMjE6MTI6MjIgKzAyMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8eWxhdHV5YUBnbWFpbC5jb20+CgoJKiBzeXMvb3N4dmlkZW8vY29jb2F3aW5kb3cuaDoKCSogc3lzL29zeHZpZGVvL2NvY29hd2luZG93Lm06CgkqIHN5cy9vc3h2aWRlby9vc3h2aWRlb3NpbmsubToKCSAgb3N4dmlkZW9zaW5rOiBmaXggbmF2aWdhdGlvbiB3aGVuIGZvcmNlLWFzcGVjdC1yYXRpbyBpcyBhY3RpdmF0ZWQKCjIwMTItMDUtMTYgMTg6NTI6NDUgKzAyMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8eWxhdHV5YUBnbWFpbC5jb20+CgoJKiBzeXMvb3N4dmlkZW8vY29jb2F3aW5kb3cuaDoKCSogc3lzL29zeHZpZGVvL2NvY29hd2luZG93Lm06CgkqIHN5cy9vc3h2aWRlby9vc3h2aWRlb3NpbmsuaDoKCSogc3lzL29zeHZpZGVvL29zeHZpZGVvc2luay5tOgoJICBvc3h2aWRlb3Npbms6IGFkZCBmb3JjZS1hc3BlY3QtcmF0aW8gcHJvcGVydHkKCjIwMTItMDUtMTQgMTg6MDE6MDIgKzAyMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8eWxhdHV5YUBnbWFpbC5jb20+CgoJKiBzeXMvb3N4dmlkZW8vY29jb2F3aW5kb3cuaDoKCSogc3lzL29zeHZpZGVvL2NvY29hd2luZG93Lm06CgkqIHN5cy9vc3h2aWRlby9vc3h2aWRlb3NpbmsuaDoKCSogc3lzL29zeHZpZGVvL29zeHZpZGVvc2luay5tOgoJICBvc3h2aWRlb3Npbms6IHN0YXJ0IGludGVybmFsIHdpbmRvdyBpZiBubyB2aWV3IGlzIHByb3ZpZGVkCgoyMDEyLTA1LTE0IDE0OjI3OjU4ICswMjAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPHlsYXR1eWFAZ21haWwuY29tPgoKCSogc3lzL29zeHZpZGVvL2NvY29hd2luZG93Lmg6CgkqIHN5cy9vc3h2aWRlby9jb2NvYXdpbmRvdy5tOgoJKiBzeXMvb3N4dmlkZW8vb3N4dmlkZW9zaW5rLm06CgkgIG9zeHZpZGVvc2luazogaW1wbGVtZW50IHRoZSBuYXZpZ2F0aW9uIGludGVyZmFjZQoKMjAxMi0wNS0xMSAxODoyNDowOCArMDIwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDx5bGF0dXlhQGdtYWlsLmNvbT4KCgkqIHN5cy9vc3h2aWRlby9vc3h2aWRlb3NpbmsuaDoKCSogc3lzL29zeHZpZGVvL29zeHZpZGVvc2luay5tOgoJICBvc3ZpZGVvc2luazogY3JlYXRlLCBkZXN0cm95LCByZXNpemUgYW5kIGRyYXcgZnJvbSB0aGUgbWFpbiB0aHJlYWQKCjIwMTItMDQtMTkgMDg6Mzc6MjggKzAyMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thZGVtdXg6IGluY3JlYXNlIE5FV1NFR01FTlQgYWNjdXJhY3kgYWZ0ZXIgc2Vla2luZwoJICBkZW11eC0+Y29tbW9uLnNlZ21lbnQgaXMgcG9wdWxhdGVkIGR1cmluZyBzZWVrIGhhbmRsaW5nIHdpdGggdGhlIHRhcmdldAoJICBzdGFydC9zdG9wIHBvc2l0aW9ucy4gRG9uJ3Qgb3ZlcnJpZGUgdGhlbSB3aGVuIHNlbmRpbmcgb3V0IGEgTkVXU0VHTUVOVC4KCSAgQ29uZmxpY3RzOgoJICBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYwoKMjAxMi0wNC0xOSAwODozMTowMCArMDIwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2FkZW11eDogZG9uJ3QgZGlzY2FyZCB0aGUgaW5jb21pbmcgc2VlayBzZWdtZW50IG9uIHB1c2ggYmFzZWQgc2Vla2luZwoJICBUaGUgaW5jb21pbmcgc2VlayBzZWdtZW50IHdhcyBiZWluZyBkaXNjYXJkZWQgbGVhZGluZyB0byBwdXNoIGJhc2VkIHNlZWtpbmcKCSAgYmVpbmcgcG90ZW50aWFsbHkgaW5hY2N1cmF0ZS4KCjIwMTItMDUtMjMgMTg6MTI6MjQgKzAyMDAgIFNlYmFzdGlhbiBSYXNtdXNzZW4gPHNlYnJuQGF4aXMuY29tPgoKCSogY29tbW9uOgoJICBjb21tb246IFVwZGF0ZSBzbyB0aGUgcGx1Z2luIHNjYW5uZXIgY2hhbmdlcyBhcmUgaW5jbHVkZWQKCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY3NjY3NAoKMjAxMi0wNS0yMyAxODowNzozNSArMDIwMCAgU2ViYXN0aWFuIFJhc211c3NlbiA8c2Vicm5AYXhpcy5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogc3VwcHJlc3Mgc29tZSB3YXJuaW5ncyB3aGVuIGRlYnVnIGlzIGRpc2FibGVkCgkgIFdhcm5pbmdzIGFib3V0IHVudXNlZCB2YXJpYWJsZXMgc2hvdWxkIGJlIHN1cHByZXNzZWQgaWYgY29yZSBoYXMgdGhlCgkgIGRlYnVnIHN5c3RlbSBkaXNhYmxlZC4KCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY3NjY3MQoKMjAxMi0wNS0yNCAwOToyOToyNSArMDEwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpc0BkZWJldGhlbmNvdXJ0LmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2NHBheS5jOgoJICBydHA6IGZpeCBidWlsZCBpc3N1ZSBpbiBnc3RydHBoMjY0cGF5LmMKCjIwMTItMDUtMjEgMTI6MTc6MzUgKzAyMDAgIEpvbmFzIEhvbG1iZXJnIDxqb25hc2hnQGF4aXMuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBoMjY0cGF5LmM6CgkgIHJ0cGgyNjRwYXk6IEFkZCB1bnJlc3RyaWN0ZWQgY2FwcwoJICBJZiB0aGVyZSBhcmUgbm8gcHJvZmlsZSByZXN0cmljdGlvbnMgZG93bnN0cmVhbSwgcmV0dXJuIGNhcHMgd2l0aAoJICBwcm9maWxlPWNvbnN0cmFpbmVkLWJhc2VsaW5lIGluIHRoZSBmaXJzdCBzdHJ1Y3R1cmUgYW5kIGFwcGVuZAoJICB1bnJlc3RyaWN0ZWQgY2FwcyBhcyB0aGUgbGFzdCBzdHJ1Y3R1cmUuCgkgIEZpeGVzIGJ1ZyAjNjcyMDE5CgoyMDEyLTA1LTI0IDA5OjU3OjMxICswMjAwICBNYXJpYSBHaW92YW5uYSBDaGlvc3NhIDxtYXJpYWdpb3Zhbm5hLmNoaW9zc2EgYXQgc2VsZXhlbHNhZy5jb20+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3A6IGFkZCB0aGUgU2NhbGUgaGVhZGVyIHdoZW4gbmVlZGVkCgkgIFNldHRpbmcgR1NUX1NFRUtfRkxBR19TS0lQIHdoZW4gc2VuZGluZyBhIHNlZWsgZXZlbnQgaW4gcnRzcHNyYyBzaG91bGQKCSAgc2V0IHRoZSAiU2NhbGUiIGZpZWxkIGluIHRoZSBydHNwIFBMQVkgaGVhZGVyLgoJICBCZWNhdXNlIHRoZSBib29sZWFuICJzcmMtPnNraXAiIGlzIHNldCBhZnRlciB0aGUgY2FsbCwgIlNwZWVkIiBpbnN0ZWFkCgkgIG9mICJTY2FsZSIgaXMgYWx3YXlzIHNldC4gTW92ZSB0aGUgYXNzaWdubWVudCBiZWZvcmUgaXNzdWluZyB0aGUgX3BsYXkKCSAgcmVxdWVzdC4KCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY3NjYxOAoKMjAxMi0wNS0xNyAxNjoyMzo1OSArMDMwMCAgU3JlZXJlbmogQmFsYWNoYW5kcmFuIDxzcmVlcmVuai5iYWxhY2hhbmRyYW5AaW50ZWwuY29tPgoKCSogZ3N0L3ZpZGVvYm94L2dzdHZpZGVvYm94LmM6CgkgIHZpZGVvYm94OiBGaXggdGhlIHNhbXBsZSBwaXBlbGluZS4KCjIwMTItMDUtMjIgMTI6MzU6MDQgKzA0MDAgIEFudG9uIE5vdmlrb3YgPHJhbmRvbS5wbGFudEBnbWFpbC5jb20+CgoJKiBnc3QvaWN5ZGVtdXgvZ3N0aWN5ZGVtdXguYzoKCSAgaWN5ZGVtdXg6IHdhcm5pbmcgaWYgc2V0dGluZyBzcmNwYWQgY2FwcyBmYWlscwoKMjAxMi0wNS0yMiAxMjozNToyOSArMDQwMCAgQW50b24gTm92aWtvdiA8cmFuZG9tLnBsYW50QGdtYWlsLmNvbT4KCgkqIGdzdC9pY3lkZW11eC9nc3RpY3lkZW11eC5jOgoJICBpY3lkZW11eDogYWN0aXZhdGUgc3JjcGFkIGJlZm9yZSBzZXR0aW5nIGNhcHMKCSAgQmVmb3JlIGdzdF9wYWRfc2V0X2FjdGl2ZSgpIGlzIGNhbGxlZCwgdGhlIHBhZCBoYXMKCSAgRkxVU0hJTkcgZmxhZyBzZXQsIHNvIHNldHRpbmcgdGhlIGNhcHMgZmFpbHMKCjIwMTItMDUtMjIgMTM6NDY6MjcgKzAxMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXNAZGViZXRoZW5jb3VydC5jb20+CgoJKiBleHQvTWFrZWZpbGUuYW06CgkqIGV4dC9saWJtbmcvTWFrZWZpbGUuYW06CgkqIGV4dC9saWJtbmcvZ3N0bW5nLmM6CgkqIGV4dC9saWJtbmcvZ3N0bW5nLmg6CgkqIGV4dC9saWJtbmcvZ3N0bW5nZGVjLmM6CgkqIGV4dC9saWJtbmcvZ3N0bW5nZGVjLmg6CgkqIGV4dC9saWJtbmcvZ3N0bW5nZW5jLmM6CgkqIGV4dC9saWJtbmcvZ3N0bW5nZW5jLmg6CgkgIG1uZzogcmVtb3ZlIGV4dC9saWJtbmcKCSAgUG9ydCB0byAwLjEwIHdhcyBuZXZlciBmaW5pc2hlZC4KCSAgSW50ZXJlc3Qgd2FzIGxvc3QuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD0zMjQzNjQKCjIwMTItMDUtMTggMTY6Mzc6MDQgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9hdmkvZ3N0YXZpbXV4LmM6CgkgIGF2aW11eDogZml4IGFzc2VydGlvbiB3aGVuIGhhbmRsaW5nIGEgZGF0ZSB0YWcgYXMgYSBzdHJpbmcKCSAgRGF0ZSB0YWdzIGFyZSBHRGF0ZSwgbm90IHN0cmluZ3MuIEFkZCBhIHNwZWNpYWwgY2FzZSB0byBjb252ZXJ0CgkgIGl0IHRvIHRoZSBleGlmIGRhdGUgZm9ybWF0IHJlcHJlc2VudGF0aW9uIGluIHN0cmluZyB0byBhdm9pZAoJICB0aGUgYXNzZXJ0aW9uCgoyMDEyLTA1LTIxIDExOjQ3OjA3ICswMjAwICBTam9lcmQgU2ltb25zIDxzam9lcmRAbHVvbi5uZXQ+CgoJKiBleHQvcHVsc2UvcHVsc2VzcmMuYzoKCSAgcHVsc2VzcmM6IExpc3RlbiB0byBzb3VyY2Ugb3V0cHV0IGV2ZW50cywgbm90IHNpbmsgaW5wdXQKCjIwMTItMDUtMTggMTI6NTM6NDQgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBtcDJ0cGF5LmM6CgkgIHJ0cG1wMnRwYXk6IHJlc3BlY3QgbXR1IGFuZCBwYWNrZXQgYm91bmRhcmllcwoJICBTZWUgIzY1OTkxNS4KCjIwMTItMDUtMTggMTE6MTA6NDYgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2pwZWcvZ3N0anBlZ2RlYy5jOgoJICBqcGVnOiBSZW1vdmUgZGVhZCBjb2RlCgkgIENvbmZsaWN0czoKCSAgZXh0L2pwZWcvZ3N0anBlZ2RlYy5jCgoyMDEyLTA1LTE4IDExOjA1OjM1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9qcGVnL2dzdGpwZWdkZWMuYzoKCSAganBlZ2RlYzogRml4IGNvbXBpbGF0aW9uCgoyMDEyLTA1LTE4IDExOjAyOjUyICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9qcGVnL2dzdGpwZWdkZWMuYzoKCSAganBlZ2RlYzogV2hlbiBkcm9wcGluZyBmcmFtZXMgb24gRU9TLCBmbHVzaCBvdXQgZGF0YQoJICBDbGVhbmVyIHdheSBvZiBoYW5kbGluZyBzdHJheSBkYXRhCgoyMDEyLTA1LTE3IDA5OjM0OjAzICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9qcGVnL2dzdGpwZWdkZWMuYzoKCSogZXh0L2pwZWcvZ3N0anBlZ2RlYy5oOgoJICBqcGVnZGVjOiBSZW1vdmUgdW51c2VkIHZhcmlhYmxlCgkgIENvbmZsaWN0czoKCSAgZXh0L2pwZWcvZ3N0anBlZ2RlYy5jCgoyMDEyLTA1LTE3IDA5OjMzOjE4ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9qcGVnL2dzdGpwZWdkZWMuYzoKCSAganBlZ2RlYzogT25seSBwYXJzZSBmb3IgU09JIHdoZW4gd2UgZGlkbid0IHNlZSBpdCBiZWZvcmUKCjIwMTItMDUtMTcgMDk6MzE6NDEgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2pwZWcvZ3N0anBlZ2RlYy5jOgoJICBqcGVnZGVjOiBSZW1lbWJlciBpZiB3ZSBzYXcgU09JIGFuZCBoYW5kbGUgc3RyYXkgZGF0YSBvbiBFT1MKCjIwMTItMDUtMTUgMjA6NTg6MjUgKzAwMDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGpwZWdwYXkuYzoKCSAgcnRwanBlZ3BheTogQWxsb3cgVSBhbmQgViBjb21wb25lbnRzIHRvIHVzZSBkaWZmZXJlbnQgcXVhbnQgdGFibGVzIGlmIHRoZXkgY29udGFpbiB0aGUgc2FtZSBkYXRhCgkgIFRoaXMgYWxsb3dzIHNvbWUgY2FtZXJhcyAoTG9naXRlY2ggQzkyMCkgdGhhdCBzcGVjaWZ5IGRpZmZlcmVudCBxdWFudAoJICB0YWJsZXMgYnV0IGJvdGggd2l0aCB0aGUgc2FtZSBkYXRhLCB0byB3b3JrLgoJICBCdWcgcmVwb3J0ZWQgYnkgUm9iZXJ0IEtyYWtvcmEKCjIwMTItMDUtMTQgMTU6NTE6MjkgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzoKCSAgc291cGh0dHBzcmM6IGZpeCBwb3NzaWJsZSBkYXRhIGNvcnJ1cHRpb24gYWZ0ZXIgc2Vla2luZwoJICBDb25zaWRlciBhIGRvd25zdHJlYW0gZWxlbWVudCB0aGF0IG1heSBpc3N1ZSBzZWVrcyBpbiB2ZXJ5IHNob3J0CgkgIHN1Y2Nlc3Npb24gKGUuZy4gcXVldWUyKSwgZGVwZW5kaW5nIG9uIHRoZSBhY2Nlc3MgcGF0dGVybiBvZgoJICB0aGUgZG93bnN0cmVhbSBlbGVtZW50IChlLmcuIHF0ZGVtdXggd2l0aCBhdWRpby92aWRlbyBjaHVua3MKCSAgaW50ZXJsZWF2ZWQgc28gdGhhdCB0aGVyZSdzIGFsd2F5cyBhIHNpemVhYmxlIGdhcCBiZXR3ZWVuIHRoZQoJICBjdXJyZW50IGNodW5rcyBmb3IgZWFjaCBzdHJlYW0pLiBJbiB0aGlzIGNhc2UsIHF1ZXVlMiB3aWxsIG1haW50YWluCgkgIHR3byByYW5nZXMsIGFuZCBldmVuIHdoZW4gaXQgc2VydmVzIGEgY2h1bmsgZnJvbSBtZW1vcnksIGl0IHdpbGwKCSAgc3dpdGNoIHJhbmdlcyBhbmQgbWFrZSBzb3VwaHR0cHNyYyBzZWVrIHRvIHRoZSBlbmQgb2YgdGhlIGF2YWlsYWJsZQoJICBkYXRhIGZvciB0aGF0IHJhbmdlLCBhc3N1bWluZyB0aGF0IHRoYXQncyB3aGVyZSB3ZSdsbCB3YW50IHRvCgkgIGNvbnRpbnVlIHJlYWRpbmcgZnJvbSBuZXh0LgoJICBUaGlzIG1heSBsZWFkIHRvIHRoZSBmb2xsb3dpbmcgc2VlayByZXF1ZXN0IHBhdHRlcm46CgkgIC0gc291cmNlIHJlYWRpbmcgcG9zaXRpb24gQQoJICAtIHNlZWsgdG8gQgoJICAtIG5vdyByZWFkaW5nIHBvc2l0aW9uIHN0aWxsIEEsIHJlcXVlc3RlZF9wb3N0aW9uIGlzIEIKCSAgLSBzdHJlYW1pbmcgdGhyZWFkIHRvIGJlIHJlc3RhcnRlZCB0byBjb250aW51ZSBmcm9tIEIKCSAgLSBzZWVrIHRvIEEsIGJlZm9yZSBzdHJlYW1pbmcgdGhyZWFkIGhhZCB0aW1lIHRvIGRvIHRoZSBzZWVrCgkgIC0gZG9fc2VlaygpIG5vdyBzZWVzIHJlYWRpbmcgcG9zaXRpb24gPT0gc2VlayBwb3NpdGlvbiBhbmQKCSAgcmV0dXJucyBlYXJseS4KCSAgLSBob3dldmVyLCByZXF1ZXN0ZWQgcG9zaXRpb24gaXMgc3RpbGwgQiBmcm9tIHRoZSBlYXJsaWVyCgkgIHNlZWsgcmVxdWVzdAoJICAtIHN0cmVhbWluZyB0aHJlYWQgc3RhcnRzIHVwLCBzZWVzIHRoYXQgYSBzZWVrIHRvIEIgaXMgcGVuZGluZwoJICBhbmQgcmVxdWVzdHMgZGF0YSBmcm9tIEIgZnJvbSB0aGUgc2VydmVyLCB3aGlsZSB0aGUgR3N0QmFzZVNyYwoJICBzZWdtZW50IGhhcyBvZiBjb3Vyc2UgYmVlbiB1cGRhdGVkL3Jlc2V0IHRvIHBvc2l0aW9uIEEsIHdoaWNoCgkgIHdhcyB0aGUgbGFzdCBzZWVrIHJlcXVlc3QuCgkgIC0gd2Ugd2lsbCBub3cgc2VuZCBkYXRhIGZvciBwb3NpdGlvbiBCIGFuZCBwcmV0ZW5kIHRoYXQncyB0aGUKCSAgZGF0YSBmcm9tIHBvc2l0aW9uIEEgKHZpYSB0aGUgbmV3c2VnbWVudCBldmVudCwgZXRjLikKCSAgLSB0aGlzIGNhdXNlcyBkYXRhIGNvcnJ1cHRpb24KCSAgUmVwcm9kdWNpYmxlIGRvaW5nIHNlZWstZW11bGF0ZWQgZmFzdC1mb3J3YXJkL2JhY2t3YXJkIG9uIDAwNjY0OC4KCjIwMTItMDUtMTYgMDk6MTI6NTUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IFJlcXVpcmUgY29yZS9iYXNlIDAuMTEuOTEKCjIwMTItMDEtMTMgMTg6MDk6NTAgLTA1MDAgIE1hdGVqIEtub3BwIDxtYXRlai5rbm9wcEBnbWFpbC5jb20+CgoJKiAuZ2l0aWdub3JlOgoJICAuZ2l0aWdub3JlOiBhZGQgdmlzdWFsIHN0dWRpbyBJREUgZmlsZXMgYW5kIE9TIFggLkRTX1N0b3JlIGZpbGVzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02Njc4OTkKCjIwMTItMDUtMDMgMDk6MzI6NTAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2pwZWcvZ3N0anBlZ2RlYy5jOgoJKiBleHQvanBlZy9nc3RqcGVnZGVjLmg6CgkqIGV4dC9qcGVnL2dzdGpwZWdlbmMuYzoKCSogZXh0L2pwZWcvZ3N0anBlZ2VuYy5oOgoJICBqcGVnOiBQb3J0IHRvIDAuMTEgYWdhaW4KCjIwMTItMDQtMDYgMTI6MTM6MjQgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2pwZWcvZ3N0anBlZ2RlYy5jOgoJKiBleHQvanBlZy9nc3RqcGVnZGVjLmg6CgkqIGV4dC9qcGVnL2dzdGpwZWdlbmMuYzoKCSogZXh0L2pwZWcvZ3N0anBlZ2VuYy5oOgoJICBqcGVnOiBQb3J0IGpwZWdkZWMvanBlZ2VuYyB0byBiYXNlIHZpZGVvIGNsYXNzZXMKCSAgQ29uZmxpY3RzOgoJICBleHQvanBlZy9nc3RqcGVnZGVjLmMKCSAgZXh0L2pwZWcvZ3N0anBlZ2RlYy5oCgkgIGV4dC9qcGVnL2dzdGpwZWdlbmMuYwoJICBleHQvanBlZy9nc3RqcGVnZW5jLmgKCSAgUmV2ZXJ0ZWQgdG8gMC4xMCB2ZXJzaW9ucyBmb3Igbm93LCBuZXh0IHBvcnQgYWdhaW4uCgoyMDEyLTA1LTEzIDE5OjIxOjE5ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbm5vZGV4LnhtbDoKCSogZXh0L01ha2VmaWxlLmFtOgoJKiBleHQvYW5ub2RleC9NYWtlZmlsZS5hbToKCSogZXh0L2Fubm9kZXgvZ3N0YW5ub2RleC5jOgoJKiBleHQvYW5ub2RleC9nc3Rhbm5vZGV4Lmg6CgkqIGV4dC9hbm5vZGV4L2dzdGNtbWxkZWMuYzoKCSogZXh0L2Fubm9kZXgvZ3N0Y21tbGRlYy5oOgoJKiBleHQvYW5ub2RleC9nc3RjbW1sZW5jLmM6CgkqIGV4dC9hbm5vZGV4L2dzdGNtbWxlbmMuaDoKCSogZXh0L2Fubm9kZXgvZ3N0Y21tbHBhcnNlci5jOgoJKiBleHQvYW5ub2RleC9nc3RjbW1scGFyc2VyLmg6CgkqIGV4dC9hbm5vZGV4L2dzdGNtbWx0YWcuYzoKCSogZXh0L2Fubm9kZXgvZ3N0Y21tbHRhZy5oOgoJKiBleHQvYW5ub2RleC9nc3RjbW1sdXRpbHMuYzoKCSogZXh0L2Fubm9kZXgvZ3N0Y21tbHV0aWxzLmg6CgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy8uZ2l0aWdub3JlOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jbW1sZGVjLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2NtbWxlbmMuYzoKCSAgYW5ub2RleDogcmVtb3ZlIGFubm9kZXggcGx1Z2luIGFuZCBDTU1MIGVsZW1lbnRzCgkgIFRoaXMgbmV2ZXIgcmVhbGx5IHRvb2sgb2ZmIGFuZCBpcyBtb3N0IGxpa2VseSBjb21wbGV0ZWx5CgkgIHVudXNlZC4gSWYgdGhlcmUgaXMgc3RpbGwgYSBuZWVkIGZvciB0aGlzLCBpdCBzaG91bGQKCSAgcHJvYmFibHkgYmUgZG9uZSBkaWZmZXJlbnRseSwgcGVyaGFwcyBpbnNpZGUgb2dnZGVtdXgvbXV4LgoKMjAxMi0wNS0xMyAxNjo1OTo1OCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIEJhY2sgdG8gZGV2ZWxvcG1lbnQKCj09PSByZWxlYXNlIDAuMTEuOTEgPT09CgoyMDEyLTA1LTEzIDE2OjMxOjAzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIENoYW5nZUxvZzoKCSogTkVXUzoKCSogUkVMRUFTRToKCSogY29tbW9uOgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC1wbHVnaW5zLWdvb2QuZG9hcDoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICBSZWxlYXNlIDAuMTEuOTEKCjIwMTItMDUtMTMgMTY6MzA6MDMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogcG8vYWYucG86CgkqIHBvL2F6LnBvOgoJKiBwby9iZy5wbzoKCSogcG8vY2EucG86CgkqIHBvL2NzLnBvOgoJKiBwby9kYS5wbzoKCSogcG8vZGUucG86CgkqIHBvL2VsLnBvOgoJKiBwby9lbl9HQi5wbzoKCSogcG8vZW8ucG86CgkqIHBvL2VzLnBvOgoJKiBwby9ldS5wbzoKCSogcG8vZmkucG86CgkqIHBvL2ZyLnBvOgoJKiBwby9nbC5wbzoKCSogcG8vaHUucG86CgkqIHBvL2lkLnBvOgoJKiBwby9pdC5wbzoKCSogcG8vamEucG86CgkqIHBvL2x0LnBvOgoJKiBwby9sdi5wbzoKCSogcG8vbXQucG86CgkqIHBvL25iLnBvOgoJKiBwby9ubC5wbzoKCSogcG8vb3IucG86CgkqIHBvL3BsLnBvOgoJKiBwby9wdF9CUi5wbzoKCSogcG8vcm8ucG86CgkqIHBvL3J1LnBvOgoJKiBwby9zay5wbzoKCSogcG8vc2wucG86CgkqIHBvL3NxLnBvOgoJKiBwby9zci5wbzoKCSogcG8vc3YucG86CgkqIHBvL3RyLnBvOgoJKiBwby91ay5wbzoKCSogcG8vdmkucG86CgkqIHBvL3poX0NOLnBvOgoJKiBwby96aF9ISy5wbzoKCSogcG8vemhfVFcucG86CgkgIFVwZGF0ZSAucG8gZmlsZXMKCjIwMTItMDUtMTMgMTU6NTY6MDUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSBkYzcwMjAzIHRvIDM0MjliYTYKCjIwMTItMDUtMDkgMTU6MTQ6NTUgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2RlYnVndXRpbHMvcm5kYnVmZmVyc2l6ZS5jOgoJICBybmRidWZmZXJzaXplOiBvbmx5IHNlbmQgZmx1c2gtc3RvcCBpZiBpdCB3YXMgYSBmbHVzaGluZyBzZWVrCgoyMDEyLTA1LTA5IDEyOjU0OjExICswMjAwICBQZXRlciBTZWlkZXJlciA8cHMucmVwb3J0QGdteC5uZXQ+CgoJKiBzeXMvdjRsMi92NGwyX2NhbGxzLmM6CgkgIHY0bDJzcmM6IGZpeCB2NGwyX3N0ZF9pZCBsb2dnaW5nCgkgIGlucHV0LnN0ZCBpcyBvZiB0eXBlIHY0bDJfc3RkX2lkIHdoaWNoIGlzIGRlZmluZWQgYXMgNjQtYml0IHVuc2lnbmVkIGludGVnZXIuCgkgIENhc3RpbmcgdG8gdWludCBtZWFucyB0aGUgaGlnaGVyIGJpdHMsIHdpY2ggYXJlIHVzZWQgZm9yIHRoZSBwcml2YXRlIHZpZGVvCgkgIHN0YW5kYXJkcyBvZiB0aGUgVEkgdmlkZW8gY2FwdHVyZS9kaXNwbGF5IGRyaXZlciBmb3IgZXhhbXBsZSwgYXJlIGxvc3QuCgoyMDEyLTA1LTA5IDEyOjI0OjM3ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kZWJ1Z3V0aWxzL3JuZGJ1ZmZlcnNpemUuYzoKCSAgcm5kYnVmZmVyc2l6ZTogbXVzdCBzZW5kIGZsdXNoLXN0b3AgYWZ0ZXIgYWNxdWlyaW5nIHRoZSBzdHJlYW0gbG9jawoJICBPdGhlcndpc2UgdGhlIHN0cmVhbWluZyB0aHJlYWQgbWlnaHQganVzdCBrZWVwIG9uIGdvaW5nIGFuZCB3ZQoJICBtaWdodCBuZXZlciBnZXQgdGhlIHN0cmVhbSBsb2NrLgoKMjAxMi0wNS0wOSAxMToxNToyMSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZGVidWd1dGlscy9ybmRidWZmZXJzaXplLmM6CgkgIHJuZGJ1ZmZlcnNpemU6IHBvcnQgc2Vla2luZyBjb2RlIHRvIDAuMTEKCjIwMTItMDUtMDggMTk6MDc6MDQgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2RlYnVndXRpbHMvcm5kYnVmZmVyc2l6ZS5jOgoJICBybmRidWZmZXJzaXplOiBhZGQgc3VwcG9ydCBmb3Igc2Vla3MKCSAgVXNlZnVsIGZvciBlLmcuIGZpbGVzcmMgISBybmRidWZmZXJzaXplICEgcXVldWUyICEgLi4uCgoyMDEyLTA1LTA4IDE4OjQ1OjM0ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kZWJ1Z3V0aWxzL3JuZGJ1ZmZlcnNpemUuYzoKCSAgcm5kYnVmZmVyc2l6ZTogc2VuZCBTRUdNRU5UIGV2ZW50IGJlZm9yZSBwdXNoaW5nIGJ1ZmZlcnMKCSAgQ29uZmxpY3RzOgoJICBnc3QvZGVidWd1dGlscy9ybmRidWZmZXJzaXplLmMKCjIwMTItMDUtMDkgMTE6MTU6NTcgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaW50ZXJsZWF2ZS9pbnRlcmxlYXZlLmM6CgkgIGludGVybGVhdmU6IGZpeCBjb21waWxhdGlvbiBhZ2FpbgoKMjAxMi0wMS0xMyAxMDo0OTo0MyArMDEwMCAgUGFzY2FsIEJ1aGxlciA8cGFidWhsZXJAY2lzY28uY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJICBydHBzZXNzaW9uOiBjcmVhdGlvbiBzaG91bGQgYmUgc2lnbmFsZWQgYmVmb3JlIHZhbGlkYXRpb24KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY2Nzg1MAoKMjAxMi0wNS0wNCAxNToyMDo0NyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L2pwZWcvZ3N0anBlZ2VuYy5jOgoJICBqcGVnZW5jOiBkbyBub3QgcHJveHkgb3VyIGZpbHRlciBjYXBzIGRvd25zdHJlYW0gb24gY2FwcyBxdWVyaWVzCgkgIERvd25zdHJlYW0gbGlrZWx5IHdvbid0IGFjY2VwdCB2aWRlby94LXJhdyBhbmQgdGhlIGNhcHMgcXVlcnkKCSAgd2lsbCByZXR1cm4gRU1QVFkgY2Fwcy4gSW5zdGVhZCwgY3JlYXRlIGEgY29weSBvZiB0aGUgY2FwcyB0aGF0CgkgIGhhcyBhbGwgc3RydWN0dXJlIG5hbWVzIHJlcGxhY2VkIGJ5ICdpbWFnZS9qcGVnJwoJICBTaW1wbGUgcGlwZWxpbmUgdGhhdCBzaG93cyB0aGUgcHJvYmxlbToKCSAgZ3N0LWxhdW5jaC0xLjAgdmlkZW90ZXN0c3JjIG51bS1idWZmZXJzPTEgISAidmlkZW8veC1yYXcsIFwKCSAgd2lkdGg9KGludCk2NDAsIGhlaWdodD0oaW50KTQ4MCIgISB2aWRlb3NjYWxlICEganBlZ2VuYyAhIFwKCSAgImltYWdlL2pwZWcsIHdpZHRoPShpbnQpODAwLCBoZWlnaHQ9KGludCk2MDAiICEgZmlsZXNpbmsgXAoJICBsb2NhdGlvbj0vdG1wL2ltYWdlLmpwZwoKMjAxMi0wNS0wMiAyMToxNzo0MyArMDIwMCAgQWxiYW4gQnJvd2FleXMgPHByYWhhbEB5YWhvby5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgaXNvbXA0OiBzZXQgbGF5b3V0PWludGVybGVhdmVkIG9uIHJhdyBhdWRpbyBjYXBzCgkgIFRoaXMgZml4ZXMgYSBub3QtbmVnb3RpYXRlZCBlcnJvciBhdCBsZWFzdCBvbiBtb3YgZmlsZXMgd2l0aAoJICB0d29zIGF1ZGlvIHdpdGggdHdvIGNoYW5uZWxzIGFuZCB2aWRlbyBkdmNwLiBBcyBwbGF5YmluIGFuZCBnc3QtbGF1bmNoCgkgIHNhbXBsZSBjb21pbmcgZnJvbSB0aGUgcXRkZW11eC5jIGZpbGUgdXNlcyBhdWRpb2NvbnZlcnQgYW5kIHRoZSBsYXR0ZXIKCSAgcmVxdWlyZSBmb3JtYXQgaW50ZXJsZWF2ZWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NzUzMjYKCjIwMTItMDUtMDIgMjE6NDk6NTYgKzA0MDAgINCg0YPRgdC70LDQvSDQmNC20LHRg9C70LDRgtC+0LIgPGxybjE5ODZAZ21haWwuY29tPgoKCSogc3lzL3dhdmVmb3JtL01ha2VmaWxlLmFtOgoJICB3YXZlZm9ybTogTm8gbW9yZSBnc3RpbnRlcmZhY2VzCgkgIEZpeGVzICM2NzUzMTkKCjIwMTItMDUtMDIgMjA6MTQ6MjQgKzA0MDAgINCg0YPRgdC70LDQvSDQmNC20LHRg9C70LDRgtC+0LIgPGxybjE5ODZAZ21haWwuY29tPgoKCSogc3lzL2RpcmVjdHNvdW5kL01ha2VmaWxlLmFtOgoJICBkaXJlY3Rzb3VuZDogTm8gbW9yZSBnc3RpbnRlcmZhY2VzCgkgIEZpeGVzICM2NzUzMTkKCjIwMTItMDUtMDEgMTg6NTg6MDMgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlcjIuYzoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlcjIuaDoKCSAgdmlkZW9taXhlcjogY2hhbmdlIHNpbmsgcGFkIHRlbXBsYXRlIG5hbWUgZnJvbSBzaW5rXyVkIHRvIHNpbmtfJXUKCjIwMTItMDQtMzAgMTE6MDA6MTkgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaW50ZXJsZWF2ZS9pbnRlcmxlYXZlLmM6CgkgIGludGVybGVhdmU6IGhhbmRsZSBFT1Mgb24gYWxsIHBhZHMKCSAgV2hlbiBhbGwgcGFkcyBnbyB0byBFT1MgaW1tZWRpYXRlbHksIHdlIGFyZSBub3QgbmVnb3RpYXRlZCBhbmQgb3VyIGNvbGxlY3RlZAoJICBmdW5jdGlvbiBpcyBjYWxsZWQgKHdpdGhvdXQgYW55IGF2YWlsYWJsZSBkYXRhKS4gSGFuZGxlIHRoaXMgY2FzZSBncmFjZWZ1bGx5LgoJICBDb25mbGljdHM6CgkgIGdzdC9pbnRlcmxlYXZlL2ludGVybGVhdmUuYwoKMjAxMi0wNC0zMCAxMDo1OTozMSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pbnRlcmxlYXZlL2ludGVybGVhdmUuYzoKCSAgaW50ZXJsZWF2ZTogaW1wcm92ZSBkZWJ1Z2dpbmcKCjIwMTItMDUtMDEgMTM6MzE6NTEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJICB2NGwyc3JjOiBVcGRhdGUgZm9yIGJhc2VzcmMgQVBJIGNoYW5nZXMKCjIwMTItMDQtMzAgMjM6NTc6MjggKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2FscGhhL2dzdGFscGhhLmM6CgkgIGFscGhhOiBkb24ndCBzZXQgdXAgc3R1ZmYgYmVmb3JlIHRoZSBpbnB1dCBhbmQgb3V0cHV0IGZvcm1hdHMgYXJlIGtub3duCgkgIEZpeGVzIGNyYXNoIG9uIHN0YXJ0dXAuCgoyMDEyLTA0LTMwIDE0OjA5OjIzICswMjAwICBQZXRlciBTZWlkZXJlciA8cHMucmVwb3J0QGdteC5uZXQ+CgoJKiBnc3QvbXVsdGlmaWxlL2dzdG11bHRpZmlsZXNpbmsuYzoKCSAgbXVsdGlmaWxlc2luazogZG9uJ3Qgd3JpdGUgc3RyZWFtIGhlYWRlciB0d2ljZSBmb3IgZmlyc3QgZmlsZQoKMjAxMi0wNC0zMCAxMzozMjo0MSArMDIwMCAgUGV0ZXIgU2VpZGVyZXIgPHBzLnJlcG9ydEBnbXgubmV0PgoKCSogZ3N0L211bHRpZmlsZS9nc3RtdWx0aWZpbGVzaW5rLmM6CgkgIG11bHRpZmlsZXNpbms6IGZpeCBidWZmZXIgbGlzdCBzaXplIGNhbGN1bGF0aW9uIGluIHJlbmRlcl9saXN0CgkgIEZpeCB1bmluaXRpYWxpemVkICdzaXplJyB2YXJpYWJsZSBpbiBjYWxsIHRvIGdzdF9idWZmZXJfbGlzdF9mb3JlYWNoKCkuCgoyMDEyLTA0LTMwIDIxOjU4OjAwICswMTAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzQGRlYmV0aGVuY291cnQuY29tPgoKCSogZ3N0L211bHRpZmlsZS9nc3RtdWx0aWZpbGVzcmMuYzoKCSAgbXVsdGlmaWxlOiB1bm5lY2Vzc2FyeSBzaXplIGNoZWNrCgoyMDEyLTA0LTMwIDIxOjMwOjU2ICswMTAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzQGRlYmV0aGVuY291cnQuY29tPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICBhdmk6IGZpeCBidWlsZCBlcnJvcnMKCSAgZml4IHJlZHVuZGFudCBkZWNsYXJhdGlvbnMKCSAgYW5kIGFsc28gc3R5bGUvaW5kZW50IGlzc3VlcwoKMjAxMi0wNC0yNiAxMjo0NzoyNyArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXBhcnNlLmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1yZWFkLWNvbW1vbi5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcmVhZC1jb21tb24uaDoKCSAgbWF0cm9za2E6IGltcGxlbWVudCBmb3J3YXJkIHNuYXBwaW5nIGtleWZyYW1lIHNlZWtpbmcKCSAgUmVxdWlyZXMgYW4gaW5kZXguCgoyMDEyLTA0LTI2IDEyOjQ2OjExICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgYXZpOiBpbXBsZW1lbnQgZm9yd2FyZCBzbmFwcGluZyBrZXlmcmFtZSBzZWVraW5nCgkgIEluIHB1bGwgbW9kZSB3aXRoIGFuIGluZGV4LgoKMjAxMi0wNC0yOCAyMzoxNDoyNCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9tYXRyb3NrYW11eC5jOgoJICB0ZXN0czogZml4IG1hdHJvc2thbXV4IHVuaXQgdGVzdCBhZnRlciBtZWRpYSB0eXBlIGNoYW5nZXMKCjIwMTItMDQtMjggMTk6NTc6NTEgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXBhcnNlLmM6CgkqIGdzdC9tYXRyb3NrYS93ZWJtLW11eC5jOgoJICBtYXRyb3NrYTogdXBkYXRlIGZvciBtZWRpYSB0eXBlIGNoYW5nZXMKCjIwMTItMDQtMjQgMTY6MDg6NDcgKzAyMDAgIGlkYy1kcmFnb24gPGlkYy1kcmFnb24gYXQgZ214LmRlPgoKCSogZ3N0L3J0cC9nc3RydHBjZWx0ZGVwYXkuYzoKCSAgY2VsdGRlcGF5OiBjYWxjdWxhdGUgc2l6ZSBjb3JyZWN0bHkKCSAgVGhlIHN1bW1hdGlvbiB3YXMgZG9uZSB3cm9uZywgY2F1c2luZyB0aGUgZGUtcGF5bG9hZGVyIHRvIGV4aXQgaXRzIGxvb3AgdG9vCgkgIGVhcmx5LCBiZWZvcmUgYWxsIGZyYW1lcyBhcmUgcHJvY2Vzc2VkLgoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njc0NDcyCgoyMDEyLTA0LTI0IDE1OjU3OjE5ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJICBwdWxzZXNpbms6IGltcHJvdmUgZGVidWcKCjIwMTItMDQtMjQgMTU6MzQ6NTcgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkgIHB1bHNlc2luazogc3RhcnQgdW5tdXRlZCB3aGVuIHJlcXVlc3RlZAoJICBXaGVuIHdlIGV4cGxpY2l0ZWx5IHNldCB0aGUgbXV0ZSBwcm9wZXJ0eSB0byBGQUxTRSwgY29ubmVjdCB0byBwdWxzZWF1ZGlvIHdpdGgKCSAgdGhlIFBBX1NUUkVBTV9TVEFSVF9VTk1VVEVEIGZsYWcgc2V0LCBvdGhlcndpc2UgcHVsc2VhdWRpbyB3aWxsIHVzZSBpdHMKCSAgcHJldmlvdXNseSB1c2VkIHZhbHVlICh3aGljaCBtaWdodCBzdGFydCB0aGUgc3RyZWFtIG11dGVkKS4KCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY3MjQwMQoKMjAxMi0wNC0yNSAwOTo0MTo0NiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzoKCSAgdjRsMjogaW1wcm92ZSB0aW1lc3RhbXAgY29kZQoJICBTYW1wbGUgdGhlIHBpcGVsaW5lIGNsb2NrIGFuZCBkZXZpY2UgY2xvY2sgY2xvc2VyIHRvIGVhY2hvdGhlciB0byByZWR1Y2Ugaml0dGVyLgoJICBEb24ndCBzdWJ0cmFjdCB0aGUgZnJhbWUgZHVyYXRpb24gZnJvbSB0aGUgdGltZXN0YW1wIHdoZW4gd2UgY2FuIHVzZSB0aGUgZGV2aWNlCgkgIHRpbWVzdGFtcHMuCgkgIEFzc3VtZSBhIGRlbGF5IG9mIDEgZnJhbWUgaW4gcmVhZC13cml0ZSBtb2RlLgoKMjAxMi0wNC0yNCAxMjozNzozMyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzoKCSAgdjRsMjogdXNlIGRyaXZlciB0aW1lc3RhbXBzCgkgIFVzZSB0aGUgZHJpdmUgdGltZXN0YW1wcyBmb3IgdGltZXN0YW1waW5nIG91dGdvaW5nIGJ1ZmZlcnMuCgoyMDEyLTA0LTIzIDE4OjAxOjMxICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuaDoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJICB2NGwyOiBJbXByb3ZlIGJ1ZmZlciBtYW5hZ2VtZW50CgkgIFF1ZXJ5IHRoZSBhbW91bnQgb2YgYXZhaWxhYmxlIGJ1ZmZlcnMgd2hlbiBkb2luZyBzZXRfY29uZmlnKCkuIFRoaXMgYWxsb3dzIHVzIHRvCgkgIGNvbmZpZ3VyZSB0aGUgcGFyZW50IGJ1ZmZlcnBvb2wgd2l0aCB0aGUgbnVtYmVyIG9mIGJ1ZmZlcnMgdG8gcHJlYWxsb2NhdGUuCgkgIEtlZXAgdHJhY2sgb2YgdGhlIHByb3ZpZGVkIGFsbG9jYXRvciBhbmQgdXNlIGl0IHdoZW4gd2UgbmVlZCB0byBhbGxvY2F0ZSBhCgkgIGJ1ZmZlciBpbiBSVyBtb2RlLgoJICBXaGVuIHdlIGFyZSBjYW4gbm90IGFsbG9jYXRlIHRoZSByZXF1ZXN0ZWQgbWF4X2J1ZmZlcnMgYW1vdW50IG9mIGJ1ZmZlcnMsIG1ha2UKCSAgc3VyZSB3ZSBrZWVwIDIgYnVmZmVycyBhcm91bmQgaW4gdGhlIHBvb2wgYW5kIGNvcHkgdGhlbSBpbnRvIGFuIG91dHB1dCBidWZmZXIuCgkgIFRoaXMgbWFrZXMgc3VyZSB0aGF0IHdlIGFsd2F5cyBoYXZlIGEgYnVmZmVyIHRvIGNhcHR1cmUgaW50by4gV2UgYWxzbyBuZWVkIHRvCgkgIGRldGVjdCB0aG9zZSBjb3BpZWQgYnVmZmVycyBhbmQgdW5yZWYgdGhlbSB3aGVuIHRoZXkgcmV0dXJuIHRvIHRoZSBwb29sLgoKMjAxMi0wNC0yMyAxNjo1MToyOCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkgIHY0bDI6IGZyZWUgdGhlIHF1ZXVlZCBidWZmZXJzCgkgIE9ubHkgZnJlZSB0aGUgcXVldWVkIGJ1ZmZlcnMgdGhhdCB3ZSBrZWVwIHRyYWNrIG9mIGluIG91ciBidWZmZXIgYXJyYXkuIGZvciBydwoJICBpby1tb2RlLCB3ZSBkbyBhbGxvY2F0ZSBidWZmZXJzIGJ1dCB3ZSBkb24ndCBrZWVwIHRyYWNrIG9mIHRoZW0gaW4gdGhlIGJ1ZmZlcgoJICBhcnJheS4KCjIwMTItMDQtMjMgMTY6MTA6MTcgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJICB2NGwyOiBtYXJrIG1lbW9yeSBhcyBuby1zaGFyZQoJICBXZSBkb24ndCBzdXBwb3J0IHNoYXJpbmcgb3VyIG1tYXBwZWQgbWVtb3J5IHNvIG1hcmsgaXQgYXMgTk9fU0hBUkUuCgoyMDEyLTA0LTIzIDE2OjA5OjU1ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5jOgoJICB2NGwyOiByZW1vdmUgb2xkIHVudXNlZCBmaWxlCgoyMDEyLTA0LTIzIDEzOjMyOjQ4ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5jOgoJICB2NGwyOiByZW1vdmUgdW51c2VkIGZ1bmN0aW9uCgoyMDEyLTA0LTExIDEyOjQyOjE3ICswMTAwICBCYXN0aWVuIE5vY2VyYSA8aGFkZXNzQGhhZGVzcy5uZXQ+CgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOgoJICBzb3VwOiBIYW5kbGUgaWN5IGFuZCBpY3l4IFVSSSBzY2hlbWVzCgkgIEFzIGhhbmRsZWQgYnkgUXVpY2tUaW1lIChmb3IgaWN5KSwgYW5kIE9yYmFuL0NvZGluZyBUZWNobm9sb2dpZXMKCSAgQUFDL2FhY1BsdXMgUGxheWVyIChmb3IgaWN5eCkuIFNlZSBhbHNvOgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Mzk0MjA3CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD00MDMyODUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY3Mzg5OQoKMjAxMi0wNC0yMyAxMDowMzoxOSArMDMwMCAgTWFydCBSYXVkc2VwcCA8bWFydC5yYXVkc2VwcEBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJICBkb2NzOiBBZGQgU2luY2UgdGFnIGZvciBuZXcgR3N0VjRsMlNyYzo6cHJlcGFyZS1mb3JtYXQgc2lnbmFsCgoyMDEyLTA0LTIzIDEwOjA3OjEyICswMjAwICBDaHJpcyBQYW5rb3cgPGthaW4yMzk2QGdtYWlsLmNvbT4KCgkqIGdzdC9hdWRpb2Z4L2F1ZGlvZnhiYXNlZmlyZmlsdGVyLmM6CgkgIGF1ZGlvZnhiYXNlZmlyZmlsdGVyOiBGaXggdGltZS1kb21haW4gY29udm9sdXRpb24gZm9yIG11bHRpY2hhbm5lbCBpbnB1dAoJICBGaXhlcyBidWcgIzY3NDAyNS4KCjIwMTItMDQtMjEgMTE6MDg6NTEgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogcG8vUE9URklMRVMuaW46CgkgIHBvOiByZW1vdmUgc29tZSBtb3JlIG5vbi1leGlzdGVudCBmaWxlcyBmcm9tIHRoZSBsaXN0CgoyMDEyLTA0LTIxIDEwOjA1OjQ1ICswNDAwICDQoNGD0YHQu9Cw0L0g0JjQttCx0YPQu9Cw0YLQvtCyIDxscm4xOTg2QGdtYWlsLmNvbT4KCgkqIHBvL1BPVEZJTEVTLmluOgoJICBwbzogUmVtb3ZlIG5vbi1leGlzdGVudCBwb3RmaWxlcyBmcm9tIHRoZSBsaXN0CgkgIEZpeGVzICM2NzQ1MTgKCjIwMTItMDQtMjAgMTg6MTM6MTUgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvaWNsZXMvdGVzdC1vc3M0LmM6CgkgIHRlc3RzOiBvc3M0OiBsaW1pdCB0ZXN0IHNjb3BlCgoyMDEyLTA0LTIwIDE4OjEzOjAxICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkqIHN5cy9vc3M0L01ha2VmaWxlLmFtOgoJKiBzeXMvb3NzNC9vc3M0LWF1ZGlvLmM6CgkqIHN5cy9vc3M0L29zczQtYXVkaW8uaDoKCSogc3lzL29zczQvb3NzNC1taXhlci1lbnVtLmM6CgkqIHN5cy9vc3M0L29zczQtbWl4ZXItZW51bS5oOgoJKiBzeXMvb3NzNC9vc3M0LW1peGVyLXNsaWRlci5jOgoJKiBzeXMvb3NzNC9vc3M0LW1peGVyLXNsaWRlci5oOgoJKiBzeXMvb3NzNC9vc3M0LW1peGVyLXN3aXRjaC5jOgoJKiBzeXMvb3NzNC9vc3M0LW1peGVyLXN3aXRjaC5oOgoJKiBzeXMvb3NzNC9vc3M0LW1peGVyLmM6CgkqIHN5cy9vc3M0L29zczQtbWl4ZXIuaDoKCSogc3lzL29zczQvb3NzNC1wcm9wZXJ0eS1wcm9iZS5jOgoJKiBzeXMvb3NzNC9vc3M0LXByb3BlcnR5LXByb2JlLmg6CgkqIHN5cy9vc3M0L29zczQtc2luay5jOgoJKiBzeXMvb3NzNC9vc3M0LXNpbmsuaDoKCSogc3lzL29zczQvb3NzNC1zb3VyY2UuYzoKCSogc3lzL29zczQvb3NzNC1zb3VyY2UuaDoKCSAgb3NzNDogcG9ydCB0byAwLjExCgoyMDEyLTA0LTIwIDE4OjEyOjU0ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkqIHN5cy9vc3MvTWFrZWZpbGUuYW06CgkqIHN5cy9vc3MvZ3N0b3NzYXVkaW8uYzoKCSogc3lzL29zcy9nc3Rvc3NoZWxwZXIuYzoKCSogc3lzL29zcy9nc3Rvc3NoZWxwZXIuaDoKCSogc3lzL29zcy9nc3Rvc3NtaXhlci5jOgoJKiBzeXMvb3NzL2dzdG9zc21peGVyLmg6CgkqIHN5cy9vc3MvZ3N0b3NzbWl4ZXJlbGVtZW50LmM6CgkqIHN5cy9vc3MvZ3N0b3NzbWl4ZXJlbGVtZW50Lmg6CgkqIHN5cy9vc3MvZ3N0b3NzbWl4ZXJ0cmFjay5jOgoJKiBzeXMvb3NzL2dzdG9zc21peGVydHJhY2suaDoKCSogc3lzL29zcy9nc3Rvc3NzaW5rLmM6CgkqIHN5cy9vc3MvZ3N0b3Nzc3JjLmM6CgkqIHN5cy9vc3MvZ3N0b3Nzc3JjLmg6CgkgIG9zczogcG9ydCB0byAwLjExCgoyMDEyLTA0LTIwIDE2OjQ5OjU2ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L211bHRpcGFydC9tdWx0aXBhcnRkZW11eC5jOgoJICBtdWx0aXBhcnRkZW11eDogZmlyc3QgYWN0aXZhdGUgcGFkIHRoZW4gc2V0IGNhcHMKCjIwMTItMDQtMjAgMTM6MzU6MTUgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkgIG1hdHJvc2thbXV4OiBzZXQgY2FwcyBvbiBzcmNwYWQKCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY3NDIxOQoKMjAxMi0wNC0xOSAxNDoxNjowMSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkgIHY0bDI6IHVwZGF0ZSBmb3IgdmlkZW8gYXBpIGNoYW5nZQoKMjAxMi0wNC0xOSAxMjozODo1OCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgdjRsMjogZml4IGNvbXBpbGF0aW9uIG9uIG9sZGVyIHY0bDIKCSAgRml4IGNvbXBpbGF0aW9uIG9uIHN5c3RlbXMgd2hlcmUgdGhlIEgyNjQgZm9ybWF0IGlzIG5vdCBkZWZpbmVkLgoKMjAxMi0wNC0xOSAxMjoyMDo1OSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZHYvZ3N0ZHZkZWMuYzoKCSogZXh0L3JhdzEzOTQvTWFrZWZpbGUuYW06CgkqIGdzdC9ydHAvZ3N0cnRwdnJhd3BheS5jOgoJKiBnc3QveTRtL2dzdHk0bWVuY29kZS5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIHZpZGVvOiBVcGRhdGUgZm9yIGxpYmdzdHZpZGVvIEFQSSBjaGFuZ2VzCgoyMDEyLTA0LTE5IDA4OjI3OjAxICswMDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJKiBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmM6CgkgIHY0bDJzcmM6IEFsbG93IG1wZWctdHMgY2FtZXJhcyB0byBuZWdvY2lhdGUgZm9ybWF0CgkgIFRoaXMgcmVtb3ZlcyBhbiB1Z2x5IGhhY2sgdW50aWwgdGhlIHJlYXNvbiBmb3IgdGhlIGhhY2sgY2FuIGJlIGRvY3VtZW50ZWQKCjIwMTItMDQtMTkgMDk6NTA6MjUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICB2NGwyc3JjOiBGaXggbWVyZ2UKCjIwMTItMDQtMTkgMDk6NDA6NTMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJKiBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmM6CgkgIHY0bDJzcmM6IFJlbmFtZSBwcmUtc2V0LWZvcm1hdCBzaWduYWwgdG8gcHJlcGFyZS1mb3JtYXQKCjIwMTItMDQtMTYgMjI6MDg6MjEgKzAwMDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIHY0bDJzcmM6IEFkZCBIMjY0IGVuY29kZWQgc3RyZWFtIHN1cHBvcnQgdG8gdGhlIGNhcHMKCSAgVGhpcyBpcyBub3QgZW5vdWdoIHRvIHByb3Blcmx5IHN1cHBvcnQgSDI2NCBjYW1lcmFzLCBidXQgaXQgd2lsbAoJICBhbGxvdyBhbiBIMjY0IHN0cmVhbSB0byBiZSBnZW5lcmF0ZWQgYnkgdjRsMnNyYyB1c2luZyB0aGUgZGVmYXVsdAoJICBzZXR0aW5ncyBvZiB0aGUgY2FtZXJhLiBJZiB1c2VkIHdpdGggdGhlIHByZS1zZXQtZm9ybWF0IHNpZ25hbCwgdGhlCgkgIEgyNjQgZW5jb2RlciBjYW4gYmUgZnVsbHkgY29uZmlndXJlZC4KCSAgQ29uZmxpY3RzOgoJICBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmMKCjIwMTItMDQtMTYgMjI6MDY6MjEgKzAwMDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi8uZ2l0aWdub3JlOgoJKiBzeXMvdjRsMi9nc3R2NGwyLW1hcnNoYWwubGlzdDoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJKiBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmM6CgkgIHY0bDJzcmM6IEFkZGluZyBhIHByZS1zZXQtZm9ybWF0IHNpZ25hbAoJICBJbiBvcmRlciB0byBzdXBwb3J0IFVWQyBIMjY0IGVuY29kaW5nIGNhbWVyYXMsIGFuIEgyNjQgUHJvYmUmQ29tbWl0CgkgIG11c3QgaGFwcGVuIGJlZm9yZSB0aGUgbm9ybWFsIHY0bDIgc2V0LWZvcm1hdC4gVGhpcyBuZXcgc2lnbmFsIGlzCgkgIG1lYW50IHRvIGFsbG93IGFuIGV4dGVybmFsIGFwcGxpY2F0aW9uIG9yIGJpbiB0byBkbyBpdC4KCSAgSXQgYWxzbyBzZXJ2ZXMgdG8gZXhwb3NlIHRoZSBmaWxlIGRlc2NyaXB0b3IgdXNlZCBieSB2NGwyc3JjIGluIGNhc2UKCSAgc29tZSBjdXN0b20gaW9jdGxzIG5lZWQgdG8gYmUgY2FsbGVkLgoJICBDb25mbGljdHM6CgkgIHN5cy92NGwyL01ha2VmaWxlLmFtCgkgIHN5cy92NGwyL2dzdHY0bDJzcmMuYwoJICBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmMKCjIwMTItMDQtMTggMTc6MDk6NDUgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvcmF3MTM5NC9nc3QxMzk0cHJvYmUuYzoKCSogZXh0L3JhdzEzOTQvZ3N0MTM5NHByb2JlLmg6CgkqIGV4dC9yYXcxMzk0L2dzdGR2MTM5NHNyYy5jOgoJKiBleHQvcmF3MTM5NC9nc3RoZHYxMzk0c3JjLmM6CgkgIGR2MTM5NDogcG9ydCB0byAwLjExCgoyMDEyLTA0LTE3IDE1OjE0OjI3ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9jYWlyby9nc3R0ZXh0b3ZlcmxheS5jOgoJKiBleHQvY2Fpcm8vZ3N0dGV4dG92ZXJsYXkuaDoKCSogZ3N0L2F2aS9nc3RhdmltdXguYzoKCSogZ3N0L2F2aS9nc3RhdmltdXguaDoKCSogZ3N0L2Zsdi9nc3RmbHZtdXguYzoKCSogZ3N0L2Zsdi9nc3RmbHZtdXguaDoKCSogZ3N0L2ludGVybGVhdmUvaW50ZXJsZWF2ZS5jOgoJKiBnc3QvaW50ZXJsZWF2ZS9pbnRlcmxlYXZlLmg6CgkqIGdzdC9pc29tcDQvZ3N0cXRtdXguYzoKCSogZ3N0L2lzb21wNC9nc3RxdG11eC5oOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguaDoKCSogZ3N0L211bHRpcGFydC9tdWx0aXBhcnRtdXguYzoKCSogZ3N0L211bHRpcGFydC9tdWx0aXBhcnRtdXguaDoKCSogZ3N0L3NtcHRlL2dzdHNtcHRlLmM6CgkqIGdzdC9zbXB0ZS9nc3RzbXB0ZS5oOgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyMi5jOgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyMi5oOgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyMnBhZC5oOgoJICBjb2xsZWN0cGFkczI6IHJlbmFtZSB0byBjb2xsZWN0cGFkcwoKMjAxMi0wNC0xNiAxNjozNzo0OSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXZpL2dzdGF2aW11eC5jOgoJKiBnc3QvZmx2L2dzdGZsdm11eC5jOgoJKiBnc3QvaW50ZXJsZWF2ZS9pbnRlcmxlYXZlLmM6CgkqIGdzdC9pc29tcDQvZ3N0cXRtdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJKiBnc3Qvc21wdGUvZ3N0c21wdGUuYzoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlcjIuYzoKCSAgbWlzYzogY2hhaW4gdXAgdG8gY29sbGVjdHBhZHMgZXZlbnQgaGFuZGxlcgoKMjAxMi0wNC0xNiAwOTowOToxMSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIDZkYjI1YmUgdG8gZGM3MDIwMwoKMjAxMi0wNC0xNSAyMjo0OTo0NyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvc2hvdXQyL2dzdHNob3V0Mi5jOgoJICBzaG91dDI6IHVwZGF0ZSBmb3Igb2dnIG1lZGlhIHR5cGUgY2hhbmdlcwoKMjAxMi0wNC0xMyAxNjo1NDo1MyArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc21wdGUvZ3N0c21wdGUuYzoKCSogZ3N0L3NtcHRlL2dzdHNtcHRlLmg6CgkgIHNtcHRlOiB1c2Ugc29tZSBtb3JlIGJvaWxlcnBsYXRlCgoyMDEyLTA0LTEzIDE2OjU0OjUwICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9mbHgvZ3N0Zmx4ZGVjLmM6CgkgIGZseGRlYzogaW1wcm92ZSBzZWdtZW50IGhhbmRsaW5nCgkgIC4uLiB0byBzZW5kIGEgcHJvcGVyIFRJTUUgc2VnbWVudCBkb3duc3RyZWFtLgoKMjAxMi0wNC0xMyAxNjo1NDo0NiArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC9mbHgvZ3N0Zmx4ZGVjLmM6CgkqIGdzdC9mbHgvZ3N0Zmx4ZGVjLmg6CgkgIGZseGRlYzogcG9ydCB0byAwLjExCgoyMDEyLTA0LTEzIDE2OjU0OjQyICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb2JveC9nc3R2aWRlb2JveC5jOgoJKiBnc3QvdmlkZW9ib3gvZ3N0dmlkZW9ib3guaDoKCSAgdmlkZW9ib3g6IGFkanVzdCB0byBkZXByZWNhdGVkIEdNdXRleCBzZXR1cAoKMjAxMi0wNC0xMyAxNjo1NDozOCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC92aWRlb2JveC9nc3R2aWRlb2JveC5jOgoJKiBnc3QvdmlkZW9ib3gvZ3N0dmlkZW9ib3guaDoKCSAgdmlkZW9ib3g6IHBvcnQgdG8gMC4xMQoKMjAxMi0wNC0xMyAxNjo1NDozMSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYWxwaGEvZ3N0YWxwaGEuYzoKCSogZ3N0L2FscGhhL2dzdGFscGhhY29sb3IuYzoKCSogZ3N0L3NtcHRlL2dzdHNtcHRlYWxwaGEuYzoKCSAgYWxwaGEsIHNtcHRlOiBhZGp1c3QgdG8gcmVtb3ZlZCBjb2xvci1tYXRyaXggY2FwcyBmaWVsZAoKMjAxMi0wNC0xMyAxNjoyNzozNCArMDIwMCAgVsOtY3RvciBNYW51ZWwgSsOhcXVleiBMZWFsIDx2amFxdWV6QGlnYWxpYS5jb20+CgoJKiBzeXMvdjRsMi9NYWtlZmlsZS5hbToKCSAgdjRsMjogZW5zdXJlIGF1dG9nZW5lcmF0ZWQgZmlsZXMgYXJlIGNyZWF0ZWQKCSAgVGhlIHR1bmVyIG1hcnNoYWwgYW5kIGVudW10eXBlcyBhcmUgYXV0b2dlbmVyYXRlZCwgYW5kIHRoZXkgbmVlZAoJICB0byBiZSBjcmVhdGVkIGJlZm9yZSB0aGUgY29tcGlsYXRpb24gb2YgZ3N0djRsMnR1bmVyLmMKCSAgVGhpcyBwYXRjaCBhZGRzIHRoZSBhdXRvbWFrZSBpbnN0cnVjdGlvbiBmb3IgZW5zdXJpbmcgdGhlCgkgIGF1dG9nZW5lcmF0aW9uIG9mIHRob3NlIGZpbGVzIHByZXZpb3VzIHRoZSBjb21waWxhdGlvbi4KCjIwMTItMDQtMTMgMTM6NDE6NDQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogYXV0b2dlbi5zaDoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IE1vZGVybml6ZSBhdXRvdG9vbHMgc2V0dXAgYSBiaXQKCSAgQWxzbyB3ZSBub3cgb25seSBjcmVhdGUgdGFyLmJ6MiBhbmQgdGFyLnh6IHRhcmJhbGxzLgoKMjAxMi0wNC0xMyAxMzozNzoxMCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIDQ2NGZlMTUgdG8gNmRiMjViZQoKMjAxMi0wNC0xMyAxMzowNDoxMiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkqIGV4dC9wdWxzZS9NYWtlZmlsZS5hbToKCSogZXh0L3B1bHNlL3BsdWdpbi5jOgoJKiBleHQvcHVsc2UvcHVsc2VtaXhlci5jOgoJKiBleHQvcHVsc2UvcHVsc2VtaXhlci5oOgoJKiBleHQvcHVsc2UvcHVsc2VtaXhlcmN0cmwuYzoKCSogZXh0L3B1bHNlL3B1bHNlbWl4ZXJjdHJsLmg6CgkqIGV4dC9wdWxzZS9wdWxzZW1peGVydHJhY2suYzoKCSogZXh0L3B1bHNlL3B1bHNlbWl4ZXJ0cmFjay5oOgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkqIGV4dC9wdWxzZS9wdWxzZXNyYy5jOgoJKiBleHQvcHVsc2UvcHVsc2VzcmMuaDoKCSogZ3N0L3J0c3AvTWFrZWZpbGUuYW06CgkqIHN5cy92NGwyL01ha2VmaWxlLmFtOgoJKiBzeXMvdjRsMi9nc3R2NGwydHVuZXIuaDoKCSogc3lzL3Y0bDIvZ3N0djRsMnZpZGVvb3ZlcmxheS5jOgoJKiBzeXMvdjRsMi9nc3R2NGwydmlkZW9vdmVybGF5Lmg6CgkqIHN5cy92NGwyL3R1bmVyLW1hcnNoYWwubGlzdDoKCSogc3lzL3Y0bDIvdHVuZXIuYzoKCSogc3lzL3Y0bDIvdHVuZXIuaDoKCSogc3lzL3Y0bDIvdHVuZXJjaGFubmVsLmM6CgkqIHN5cy92NGwyL3R1bmVyY2hhbm5lbC5oOgoJKiBzeXMvdjRsMi90dW5lcm5vcm0uYzoKCSogc3lzL3Y0bDIvdHVuZXJub3JtLmg6CgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9leGFtcGxlcy9wdWxzZS9NYWtlZmlsZS5hbToKCSogdGVzdHMvaWNsZXMvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2ljbGVzL3Y0bDJzcmMtdGVzdC5jOgoJICBVcGRhdGUgZXZlcnl0aGluZyBmb3IgdGhlIHJlbW92YWwgb2YgdGhlIGludGVyZmFjZSBsaWJyYXJ5IGFuZCBtaXhlci90dW5lciBpbnRlcmZhY2VzCgoyMDEyLTA0LTEyIDE1OjUwOjE2ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwbXBhcm9idXN0ZGVwYXkuYzoKCSAgcnRwOiBVc2UgdW5jaGVja2VkIHZhcmlhbnQgb2YgR3N0Qnl0ZVdyaXRlciB3aGVyZSBhcHBsaWNhYmxlCgkgIFRoZSBzaXplIHdhcyBjaGVja2VkIGJlZm9yZQoKMjAxMi0wNC0xMiAxNTo0OTo0NCArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvZWJtbC1yZWFkLmM6CgkqIGdzdC9tYXRyb3NrYS9lYm1sLXdyaXRlLmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYTogQ2hlY2sgcmV0dXJuIHZhbHVlIG9mIEdzdEJ5dGVSZWFkZXIvV3JpdGVyCgoyMDEyLTA0LTEyIDE1OjQ4OjU3ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pc29tcDQvYXRvbXMuYzoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkqIGdzdC9pc29tcDQvcXRkZW11eF9kdW1wLmM6CgkgIGlzb21wNDogQ2hlY2sgcmV0dXJuIHZhbHVlIG9mIEdzdEJ5dGVXcml0ZXIKCSAgQW5kIHVzZSB1bmNoZWNrZWQgdmFyaWFudCBvZiBHc3RCeXRlUmVhZGVyIHdoZXJlIGFwcGxpY2FibGUKCjIwMTItMDQtMTIgMTU6NDg6MDAgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOgoJICBmbHZkZW11eDogVXNlIHVuY2hlY2tlZCB2YXJpYW50IG9mIEdzdEJ5dGVSZWFkZXIKCSAgV2Uga25vdyB0aGVyZSdzIGF0IGxlYXN0IDcgYnl0ZXMgKGNoZWNrZWQgYWJvdmUpCgoyMDEyLTA0LTEyIDE1OjQ3OjQ5ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdmkvZ3N0YXZpbXV4LmM6CgkgIGF2aTogQ2hlY2sgcmV0dXJuIHZhbHVlIG9mIEdzdEJ5dGVXcml0ZXIKCjIwMTItMDQtMTIgMTU6NDc6MjQgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYWNwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdHdhdnBhY2twYXJzZS5jOgoJICBhdWRpb3BhcnNlcnM6IENoZWNrIHJldHVybiB2YWx1ZSBvZiBHc3RCaXRSZWFkZXIvR3N0Qnl0ZVJlYWRlcgoKMjAxMi0wNC0xMiAxMTo1Nzo1OSArMDEwMCAgdXJhZXVzIDx1cmFldXNAZ25vbWUub3JnPgoKCSogZ3N0LXBsdWdpbnMtZ29vZC5zcGVjLmluOgoJICBBZGQgaW50ZXJsZWF2ZSBwbHVnaW4gdG8gc3BlYyBmaWxlCgoyMDEyLTA0LTEyIDExOjE5OjAxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgQmFjayB0byBkZXZlbG9wbWVudAoKPT09IHJlbGVhc2UgMC4xMS45MCA9PT0KCjIwMTItMDQtMTIgMTA6Mjc6MzEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogQ2hhbmdlTG9nOgoJKiBORVdTOgoJKiBSRUxFQVNFOgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmludGVyZmFjZXM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMucHJlcmVxdWlzaXRlczoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhY29sb3IueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYW5ub2RleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hcGV0YWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9meC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb3BhcnNlcnMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvZGV0ZWN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF2aS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWNhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jdXR0ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZmZWN0di54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lcXVhbGl6ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmxhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tMmsxLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWljeWRlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlkM2RlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWltYWdlZnJlZXplLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVybGVhdmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taXNvbXA0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWphY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanBlZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sZXZlbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tYXRyb3NrYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aWZpbGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlwYXJ0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5hdmlnYXRpb250ZXN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBuZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wdWxzZWF1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlcGxheWdhaW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cG1hbmFnZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRzcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaGFwZXdpcGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hvdXQyc2VuZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbXB0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWN0cnVtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXRhZ2xpYi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi11ZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW80bGludXgyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvY3JvcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2ZpbHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb21peGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXhpbWFnZXNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi15NG1lbmMueG1sOgoJKiBnc3QtcGx1Z2lucy1nb29kLmRvYXA6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUtZGlzdC5jOgoJKiBnc3QvdmlkZW9ib3gvZ3N0dmlkZW9ib3hvcmMtZGlzdC5jOgoJKiBnc3QvdmlkZW9taXhlci9ibGVuZG9yYy1kaXN0LmM6CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgUmVsZWFzZSAwLjExLjkwCgoyMDEyLTA0LTEyIDEwOjI2OjUyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHBvL2FmLnBvOgoJKiBwby9hei5wbzoKCSogcG8vYmcucG86CgkqIHBvL2NhLnBvOgoJKiBwby9jcy5wbzoKCSogcG8vZGEucG86CgkqIHBvL2RlLnBvOgoJKiBwby9lbC5wbzoKCSogcG8vZW5fR0IucG86CgkqIHBvL2VvLnBvOgoJKiBwby9lcy5wbzoKCSogcG8vZXUucG86CgkqIHBvL2ZpLnBvOgoJKiBwby9mci5wbzoKCSogcG8vZ2wucG86CgkqIHBvL2h1LnBvOgoJKiBwby9pZC5wbzoKCSogcG8vaXQucG86CgkqIHBvL2phLnBvOgoJKiBwby9sdC5wbzoKCSogcG8vbHYucG86CgkqIHBvL210LnBvOgoJKiBwby9uYi5wbzoKCSogcG8vbmwucG86CgkqIHBvL29yLnBvOgoJKiBwby9wbC5wbzoKCSogcG8vcHRfQlIucG86CgkqIHBvL3JvLnBvOgoJKiBwby9ydS5wbzoKCSogcG8vc2sucG86CgkqIHBvL3NsLnBvOgoJKiBwby9zcS5wbzoKCSogcG8vc3IucG86CgkqIHBvL3N2LnBvOgoJKiBwby90ci5wbzoKCSogcG8vdWsucG86CgkqIHBvL3ZpLnBvOgoJKiBwby96aF9DTi5wbzoKCSogcG8vemhfSEsucG86CgkqIHBvL3poX1RXLnBvOgoJICBVcGRhdGUgLnBvIGZpbGVzCgoyMDEyLTA0LTExIDAwOjE5OjMwICswNDAwICDQoNGD0YHQu9Cw0L0g0JjQttCx0YPQu9Cw0YLQvtCyIDxscm4xOTg2QGdtYWlsLmNvbT4KCgkqIGV4dC9qcGVnL2dzdGpwZWdlbmMuYzoKCSAgRml4IGZvcm1hdCBzdHJpbmcKCSAgRml4ZXMgIzY3Mzg1OQoKMjAxMi0wNC0xMSAwMDoxOToxNiArMDQwMCAg0KDRg9GB0LvQsNC9INCY0LbQsdGD0LvQsNGC0L7QsiA8bHJuMTk4NkBnbWFpbC5jb20+CgoJKiBzeXMvd2F2ZWZvcm0vZ3N0d2F2ZWZvcm1zaW5rLmM6CgkgIFJlbW92ZSB1bnVzZWQgdmFyaWFibGUKCSAgRml4ZXMgIzY3Mzg1OQoKMjAxMi0wNC0xMCAxMTo1Nzo1MyArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJICBNZXJnZSByZW1vdGUtdHJhY2tpbmcgYnJhbmNoICdvcmlnaW4vMC4xMCcKCSAgQ29uZmxpY3RzOgoJICBnc3QvZmx2L2dzdGZsdmRlbXV4LmMKCSAgZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmMKCjIwMTItMDQtMTAgMTE6Mzc6NDggKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thZGVtdXg6IHNvbWUgbW9yZSBzZWdtZW50IGhhbmRsaW5nIHR3ZWFraW5nCgoyMDEyLTA0LTEwIDAwOjUxOjQxICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9hYWxpYi9nc3RhYXNpbmsuYzoKCSogZXh0L2Fubm9kZXgvZ3N0Y21tbGRlYy5jOgoJKiBleHQvYW5ub2RleC9nc3RjbW1sZW5jLmM6CgkqIGV4dC9jYWlyby9nc3RjYWlyb292ZXJsYXkuYzoKCSogZXh0L2NhaXJvL2dzdGNhaXJvcmVuZGVyLmM6CgkqIGV4dC9jYWlyby9nc3R0ZXh0b3ZlcmxheS5jOgoJKiBleHQvY2Fpcm8vZ3N0dGltZW92ZXJsYXkuYzoKCSogZXh0L2R2L2dzdGR2ZGVjLmM6CgkqIGV4dC9kdi9nc3RkdmRlbXV4LmM6CgkqIGV4dC9mbGFjL2dzdGZsYWNkZWMuYzoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2VuYy5jOgoJKiBleHQvZmxhYy9nc3RmbGFjdGFnLmM6CgkqIGV4dC9nZGtfcGl4YnVmL2dzdGdka3BpeGJ1Zi5jOgoJKiBleHQvZ2RrX3BpeGJ1Zi9nc3RnZGtwaXhidWZvdmVybGF5LmM6CgkqIGV4dC9nZGtfcGl4YnVmL2dzdGdka3BpeGJ1ZnNpbmsuYzoKCSogZXh0L2dka19waXhidWYvcGl4YnVmc2NhbGUuYzoKCSogZXh0L2phY2svZ3N0amFja2F1ZGlvc2luay5jOgoJKiBleHQvamFjay9nc3RqYWNrYXVkaW9zcmMuYzoKCSogZXh0L2pwZWcvZ3N0anBlZ2RlYy5jOgoJKiBleHQvanBlZy9nc3RqcGVnZW5jLmM6CgkqIGV4dC9qcGVnL2dzdHNtb2tlZGVjLmM6CgkqIGV4dC9qcGVnL2dzdHNtb2tlZW5jLmM6CgkqIGV4dC9saWJjYWNhL2dzdGNhY2FzaW5rLmM6CgkqIGV4dC9saWJtbmcvZ3N0bW5nZGVjLmM6CgkqIGV4dC9saWJtbmcvZ3N0bW5nZW5jLmM6CgkqIGV4dC9saWJwbmcvZ3N0cG5nZGVjLmM6CgkqIGV4dC9saWJwbmcvZ3N0cG5nZW5jLmM6CgkqIGV4dC9taWttb2QvZ3N0bWlrbW9kLmM6CgkqIGV4dC9wdWxzZS9wdWxzZW1peGVyLmM6CgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSogZXh0L3B1bHNlL3B1bHNlc3JjLmM6CgkqIGV4dC9yYXcxMzk0L2dzdGR2MTM5NHNyYy5jOgoJKiBleHQvcmF3MTM5NC9nc3RoZHYxMzk0c3JjLmM6CgkqIGV4dC9zaG91dDIvZ3N0c2hvdXQyLmM6CgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwY2xpZW50c2luay5jOgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOgoJKiBleHQvc3BlZXgvZ3N0c3BlZXhkZWMuYzoKCSogZXh0L3NwZWV4L2dzdHNwZWV4ZW5jLmM6CgkqIGV4dC90YWdsaWIvZ3N0YXBldjJtdXguY2M6CgkqIGV4dC90YWdsaWIvZ3N0aWQzdjJtdXguY2M6CgkqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tkZWMuYzoKCSogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2VuYy5jOgoJKiBnc3QvYWxwaGEvZ3N0YWxwaGEuYzoKCSogZ3N0L2FscGhhL2dzdGFscGhhY29sb3IuYzoKCSogZ3N0L2FwZXRhZy9nc3RhcGVkZW11eC5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb2FtcGxpZnkuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9jaGViYmFuZC5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb2NoZWJsaW1pdC5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb2R5bmFtaWMuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9lY2hvLmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvZmlyZmlsdGVyLmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvaWlyZmlsdGVyLmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvaW52ZXJ0LmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlva2FyYW9rZS5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb3Bhbm9yYW1hLmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvd3NpbmNiYW5kLmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvd3NpbmNsaW1pdC5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFhY3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWMzcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhbXJwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGRjYXBhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZmxhY3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0bXBlZ2F1ZGlvcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3R3YXZwYWNrcGFyc2UuYzoKCSogZ3N0L2F1cGFyc2UvZ3N0YXVwYXJzZS5jOgoJKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvYXVkaW9zaW5rLmM6CgkqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG9hdWRpb3NyYy5jOgoJKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvdmlkZW9zaW5rLmM6CgkqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG92aWRlb3NyYy5jOgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkqIGdzdC9hdmkvZ3N0YXZpbXV4LmM6CgkqIGdzdC9hdmkvZ3N0YXZpc3VidGl0bGUuYzoKCSogZ3N0L2N1dHRlci9nc3RjdXR0ZXIuYzoKCSogZ3N0L2RlYnVndXRpbHMvYnJlYWtteWRhdGEuYzoKCSogZ3N0L2RlYnVndXRpbHMvY3B1cmVwb3J0LmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdGNhcHNkZWJ1Zy5jOgoJKiBnc3QvZGVidWd1dGlscy9nc3RjYXBzc2V0dGVyLmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdG5hdmlnYXRpb250ZXN0LmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdG5hdnNlZWsuYzoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0cHVzaGZpbGVzcmMuYzoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0dGFnaW5qZWN0LmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL3Byb2dyZXNzcmVwb3J0LmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL3JuZGJ1ZmZlcnNpemUuYzoKCSogZ3N0L2RlYnVndXRpbHMvdGVzdHBsdWdpbi5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0YWdpbmcuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0ZGljZS5jOgoJKiBnc3QvZWZmZWN0di9nc3RlZGdlLmM6CgkqIGdzdC9lZmZlY3R2L2dzdG9wLmM6CgkqIGdzdC9lZmZlY3R2L2dzdHF1YXJrLmM6CgkqIGdzdC9lZmZlY3R2L2dzdHJhZGlvYWMuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0cmV2LmM6CgkqIGdzdC9lZmZlY3R2L2dzdHJpcHBsZS5jOgoJKiBnc3QvZWZmZWN0di9nc3RzaGFnYWRlbGljLmM6CgkqIGdzdC9lZmZlY3R2L2dzdHN0cmVhay5jOgoJKiBnc3QvZWZmZWN0di9nc3R2ZXJ0aWdvLmM6CgkqIGdzdC9lZmZlY3R2L2dzdHdhcnAuYzoKCSogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIxMGJhbmRzLmM6CgkqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyM2JhbmRzLmM6CgkqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVybmJhbmRzLmM6CgkqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzoKCSogZ3N0L2Zsdi9nc3RmbHZtdXguYzoKCSogZ3N0L2ZseC9nc3RmbHhkZWMuYzoKCSogZ3N0L2dvb20vZ3N0Z29vbS5jOgoJKiBnc3QvZ29vbTJrMS9nc3Rnb29tLmM6CgkqIGdzdC9pY3lkZW11eC9nc3RpY3lkZW11eC5jOgoJKiBnc3QvaWQzZGVtdXgvZ3N0aWQzZGVtdXguYzoKCSogZ3N0L2ltYWdlZnJlZXplL2dzdGltYWdlZnJlZXplLmM6CgkqIGdzdC9pbnRlcmxlYXZlL2RlaW50ZXJsZWF2ZS5jOgoJKiBnc3QvaW50ZXJsZWF2ZS9pbnRlcmxlYXZlLmM6CgkqIGdzdC9pc29tcDQvZ3N0cXRtb292cmVjb3Zlci5jOgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4LmM6CgkqIGdzdC9pc29tcDQvZ3N0cnRweHF0ZGVwYXkuYzoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkqIGdzdC9sYXcvYWxhdy1kZWNvZGUuYzoKCSogZ3N0L2xhdy9hbGF3LWVuY29kZS5jOgoJKiBnc3QvbGF3L211bGF3LWRlY29kZS5jOgoJKiBnc3QvbGF3L211bGF3LWVuY29kZS5jOgoJKiBnc3QvbGV2ZWwvZ3N0bGV2ZWwuYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXBhcnNlLmM6CgkqIGdzdC9tYXRyb3NrYS93ZWJtLW11eC5jOgoJKiBnc3QvbWVkaWFuL2dzdG1lZGlhbi5jOgoJKiBnc3QvbW9ub3Njb3BlL2dzdG1vbm9zY29wZS5jOgoJKiBnc3QvbXVsdGlmaWxlL2dzdG11bHRpZmlsZXNpbmsuYzoKCSogZ3N0L211bHRpZmlsZS9nc3RtdWx0aWZpbGVzcmMuYzoKCSogZ3N0L211bHRpZmlsZS9nc3RzcGxpdGZpbGVzcmMuYzoKCSogZ3N0L211bHRpcGFydC9tdWx0aXBhcnRkZW11eC5jOgoJKiBnc3QvbXVsdGlwYXJ0L211bHRpcGFydG11eC5jOgoJKiBnc3QvcmVwbGF5Z2Fpbi9nc3RyZ2FuYWx5c2lzLmM6CgkqIGdzdC9yZXBsYXlnYWluL2dzdHJnbGltaXRlci5jOgoJKiBnc3QvcmVwbGF5Z2Fpbi9nc3RyZ3ZvbHVtZS5jOgoJKiBnc3QvcnRwL2dzdGFzdGVyaXNraDI2My5jOgoJKiBnc3QvcnRwL2dzdHJ0cEwxNmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwTDE2cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwYWMzZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBhYzNwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBhbXJkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGFtcnBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGJ2ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBidnBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGNlbHRkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGNlbHRwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBkdmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZHZwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnNzIyZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnNzIycGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZzcyM2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZzcyM3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjZkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjZwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnNzI5ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnNzI5cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZ3NtZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnc21wYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnc3RkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGdzdHBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjYzcGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2M3BwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjY0ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjY0cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaWxiY2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaWxiY3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGoya2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwajJrcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwanBlZ2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwanBlZ3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wMXNkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wMnRkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wMnRwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDRhZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDRhcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXA0Z2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXA0Z3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wNHZkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wNHZwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcGFkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wYXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wYXJvYnVzdGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXB2ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcHZwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBwY21hZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBwY21hcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwcGNtdWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwcGNtdXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHFjZWxwZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBxZG1kZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHNpcmVuZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBzaXJlbnBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHNwZWV4ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBzcGVleHBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHN2M3ZkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHRoZW9yYWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwdGhlb3JhcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwdm9yYmlzZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHB2b3JiaXNwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHB2cmF3ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHB2cmF3cGF5LmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwcHRkZW11eC5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNzcmNkZW11eC5jOgoJKiBnc3QvcnRzcC9nc3RydHBkZWMuYzoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJKiBnc3Qvc2hhcGV3aXBlL2dzdHNoYXBld2lwZS5jOgoJKiBnc3Qvc21wdGUvZ3N0c21wdGUuYzoKCSogZ3N0L3NtcHRlL2dzdHNtcHRlYWxwaGEuYzoKCSogZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmM6CgkqIGdzdC91ZHAvZ3N0ZHludWRwc2luay5jOgoJKiBnc3QvdWRwL2dzdG11bHRpdWRwc2luay5jOgoJKiBnc3QvdWRwL2dzdHVkcHNpbmsuYzoKCSogZ3N0L3VkcC9nc3R1ZHBzcmMuYzoKCSogZ3N0L3ZpZGVvYm94L2dzdHZpZGVvYm94LmM6CgkqIGdzdC92aWRlb2Nyb3AvZ3N0YXNwZWN0cmF0aW9jcm9wLmM6CgkqIGdzdC92aWRlb2Nyb3AvZ3N0dmlkZW9jcm9wLmM6CgkqIGdzdC92aWRlb2ZpbHRlci9nc3RnYW1tYS5jOgoJKiBnc3QvdmlkZW9maWx0ZXIvZ3N0dmlkZW9iYWxhbmNlLmM6CgkqIGdzdC92aWRlb2ZpbHRlci9nc3R2aWRlb2ZsaXAuYzoKCSogZ3N0L3ZpZGVvZmlsdGVyL2dzdHZpZGVvdGVtcGxhdGUuYzoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlcjIuYzoKCSogZ3N0L3dhdmVuYy9nc3R3YXZlbmMuYzoKCSogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6CgkqIGdzdC95NG0vZ3N0eTRtZW5jb2RlLmM6CgkqIHN5cy9kaXJlY3Rzb3VuZC9nc3RkaXJlY3Rzb3VuZHNpbmsuYzoKCSogc3lzL29zcy9nc3Rvc3NtaXhlcmVsZW1lbnQuYzoKCSogc3lzL29zcy9nc3Rvc3NzaW5rLmM6CgkqIHN5cy9vc3MvZ3N0b3Nzc3JjLmM6CgkqIHN5cy9vc3M0L29zczQtbWl4ZXIuYzoKCSogc3lzL29zczQvb3NzNC1zaW5rLmM6CgkqIHN5cy9vc3M0L29zczQtc291cmNlLmM6CgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hhdWRpb3NpbmsuYzoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGF1ZGlvc3JjLmM6CgkqIHN5cy9vc3h2aWRlby9vc3h2aWRlb3NpbmsubToKCSogc3lzL3N1bmF1ZGlvL2dzdHN1bmF1ZGlvbWl4ZXIuYzoKCSogc3lzL3N1bmF1ZGlvL2dzdHN1bmF1ZGlvc2luay5jOgoJKiBzeXMvc3VuYXVkaW8vZ3N0c3VuYXVkaW9zcmMuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnJhZGlvLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJzaW5rLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzoKCSogc3lzL3dhdmVmb3JtL2dzdHdhdmVmb3Jtc2luay5jOgoJKiBzeXMveGltYWdlL2dzdHhpbWFnZXNyYy5jOgoJICBVc2UgbmV3IGdzdF9lbGVtZW50X2NsYXNzX3NldF9zdGF0aWNfbWV0YWRhdGEoKQoKMjAxMi0wNC0wOSAxMjo1NTozNCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvc2ltcGxlLWxhdW5jaC1saW5lcy5jOgoJICB0ZXN0czogZGlzYWJsZSBzaW1wbGUgc21va2VlbmMvZGVjIGxhdW5jaCBsaW5lcyB0ZXN0CgkgIERpc2FibGUgdGVzdCBmb3Igc21va2UgZWxlbWVudHMsIHdoaWNoIGFyZW4ndCBwb3J0ZWQgeWV0CgkgIChhbmQgbWF5YmUgc2hvdWxkbid0IGJlIHBvcnRlZCkuCgoyMDEyLTA0LTA5IDAwOjE0OjQ4ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pbnRlcmxlYXZlL2ludGVybGVhdmUuYzoKCSogZ3N0L2ludGVybGVhdmUvaW50ZXJsZWF2ZS5oOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9pbnRlcmxlYXZlLmM6CgkgIGludGVybGVhdmU6IG1ha2UgY2hhbm5lbC1wb2lzaXRpb25zIHByb3BlcnR5IGEgR1ZhbHVlQXJyYXkgYWdhaW4KCSAgT3IgcGVyaGFwcyBpdCBzaG91bGQganVzdCBiZSBhIGd1aW50NjQgY2hhbm5lbCBtYXNrLCB3aGljaCB3b3VsZAoJICBiZSBuaWNlciBpbiBDLCBidXQgbW9yZSBhd2t3YXJkIGZvciBiaW5kaW5ncyAoZXZlbiBtb3JlIHNvIHNpbmNlCgkgIHdlIGNhbid0IGFkZCBhIGZsYWdzIHR5cGUgZm9yIGl0LCBzaW5jZSB0aGF0IG9ubHkgc3VwcG9ydHMgZ3VpbnQKCSAgc2l6ZSBmbGFncykuIEZpeGVzIHdhdmVuYyB1bml0IHRlc3QuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02Njk2NDMKCjIwMTItMDQtMDYgMTY6MDM6NDcgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thZGVtdXg6IGNsZWFubHkgaW5pdGlhbGl6ZSBhbmQgc2V0IG5lZWRlZCBzZWdtZW50CgkgIEZpeGVzICM2NzMxNjUuCgoyMDEyLTA0LTA1IDE3OjE3OjIyIC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6CgkgIGZsdmRlbXV4OiBGaXggdGhyZWFkaW5nIGlzc3VlIGluIGluZGV4IGhhbmRsaW5nCgoyMDEyLTA0LTA2IDA5OjEzOjMxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzoKCSAgZmx2ZGVtdXg6IERvbid0IHVzZSBzdGF0aWMgdmFyaWFibGVzIHRvIGhvbGQgaW5kZXggYXNzb2NpYXRpb25zCgkgIFRoaXMgbm90IHJlYWxseSB0aHJlYWRzYWZlIGluIGFueSB3YXkuCgoyMDEyLTA0LTA1IDE5OjE3OjQ4ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2Zsdm11eC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9pbnRlcmxlYXZlLmM6CgkgIHRlc3RzOiBtYWtlIGZldyB0ZXN0cyBtb3JlIHZhbGdyaW5kLWZyaWVuZGx5CgoyMDEyLTA0LTA1IDE5OjE3OjQyICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZGVpbnRlcmxlYXZlLmM6CgkgIChkZSlpbnRlcmxlYXZlOiBmaXggcG9ydGVkIHVuaXQgdGVzdCBhbmQgZW5hYmxlIGFzIHBvcnRlZAoKMjAxMi0wNC0wNSAxOToxNzozOCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jbW1sZGVjLmM6CgkgIHRlc3RzOiBjbW1sZGVjOiBhZGp1c3QgdG8gdGFnIGV2ZW50cyBubyBsb25nZXIgcG9zdGVkIG9uIGJ1cyBieSBlbGVtZW50CgoyMDEyLTA0LTA1IDE5OjE3OjI5ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC91ZHAvZ3N0dWRwc3JjLmM6CgkgIHVwZHNyYzogY2xlYXIgZXJyb3IKCjIwMTItMDQtMDUgMTg6NDI6NTMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSA3ZmRhNTI0IHRvIDQ2NGZlMTUKCjIwMTItMDQtMDUgMTg6MDI6NTYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R0bWYvZ3N0ZHRtZi5jOgoJICBnc3Q6IFVwZGF0ZSBmb3IgR1NUX1BMVUdJTl9ERUZJTkUoKSBBUEkgY2hhbmdlcwoKMjAxMi0wNC0wNSAxNzozNjozOCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvYWFsaWIvZ3N0YWFzaW5rLmM6CgkqIGV4dC9hbm5vZGV4L2dzdGFubm9kZXguYzoKCSogZXh0L2NhaXJvL2dzdGNhaXJvLmM6CgkqIGV4dC9kdi9nc3Rkdi5jOgoJKiBleHQvZmxhYy9nc3RmbGFjLmM6CgkqIGV4dC9nZGtfcGl4YnVmL2dzdGdka3BpeGJ1Zi5jOgoJKiBleHQvamFjay9nc3RqYWNrLmM6CgkqIGV4dC9qcGVnL2dzdGpwZWcuYzoKCSogZXh0L2xpYmNhY2EvZ3N0Y2FjYXNpbmsuYzoKCSogZXh0L2xpYm1uZy9nc3RtbmcuYzoKCSogZXh0L2xpYnBuZy9nc3RwbmcuYzoKCSogZXh0L21pa21vZC9nc3RtaWttb2QuYzoKCSogZXh0L3B1bHNlL3BsdWdpbi5jOgoJKiBleHQvcmF3MTM5NC9nc3QxMzk0LmM6CgkqIGV4dC9zaG91dDIvZ3N0c2hvdXQyLmM6CgkqIGV4dC9zb3VwL2dzdHNvdXAuYzoKCSogZXh0L3NwZWV4L2dzdHNwZWV4LmM6CgkqIGV4dC90YWdsaWIvZ3N0dGFnbGlicGx1Z2luLmM6CgkqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2suYzoKCSogZ3N0L2FscGhhL2dzdGFscGhhLmM6CgkqIGdzdC9hbHBoYS9nc3RhbHBoYWNvbG9yLmM6CgkqIGdzdC9hcGV0YWcvZ3N0YXBlZGVtdXguYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9meC5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL3BsdWdpbi5jOgoJKiBnc3QvYXVwYXJzZS9nc3RhdXBhcnNlLmM6CgkqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG9kZXRlY3QuYzoKCSogZ3N0L2F2aS9nc3RhdmkuYzoKCSogZ3N0L2N1dHRlci9nc3RjdXR0ZXIuYzoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0ZGVidWcuYzoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0bmF2aWdhdGlvbnRlc3QuYzoKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmM6CgkqIGdzdC9lZmZlY3R2L2dzdGVmZmVjdHYuYzoKCSogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIuYzoKCSogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOgoJKiBnc3QvZmx4L2dzdGZseGRlYy5jOgoJKiBnc3QvZ29vbS9nc3Rnb29tLmM6CgkqIGdzdC9nb29tMmsxL2dzdGdvb20uYzoKCSogZ3N0L2ljeWRlbXV4L2dzdGljeWRlbXV4LmM6CgkqIGdzdC9pZDNkZW11eC9nc3RpZDNkZW11eC5jOgoJKiBnc3QvaW1hZ2VmcmVlemUvZ3N0aW1hZ2VmcmVlemUuYzoKCSogZ3N0L2ludGVybGVhdmUvcGx1Z2luLmM6CgkqIGdzdC9pc29tcDQvaXNvbXA0LXBsdWdpbi5jOgoJKiBnc3QvbGF3L2FsYXcuYzoKCSogZ3N0L2xhdy9tdWxhdy5jOgoJKiBnc3QvbGV2ZWwvZ3N0bGV2ZWwuYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLmM6CgkqIGdzdC9tZWRpYW4vZ3N0bWVkaWFuLmM6CgkqIGdzdC9tb25vc2NvcGUvZ3N0bW9ub3Njb3BlLmM6CgkqIGdzdC9tdWx0aWZpbGUvZ3N0bXVsdGlmaWxlLmM6CgkqIGdzdC9tdWx0aXBhcnQvbXVsdGlwYXJ0LmM6CgkqIGdzdC9yZXBsYXlnYWluL3JlcGxheWdhaW4uYzoKCSogZ3N0L3J0cC9nc3RydHAuYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwbWFuYWdlci5jOgoJKiBnc3QvcnRzcC9nc3RydHNwLmM6CgkqIGdzdC9zaGFwZXdpcGUvZ3N0c2hhcGV3aXBlLmM6CgkqIGdzdC9zbXB0ZS9wbHVnaW4uYzoKCSogZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmM6CgkqIGdzdC91ZHAvZ3N0dWRwLmM6CgkqIGdzdC92aWRlb2JveC9nc3R2aWRlb2JveC5jOgoJKiBnc3QvdmlkZW9jcm9wL2dzdHZpZGVvY3JvcC5jOgoJKiBnc3QvdmlkZW9maWx0ZXIvZ3N0dmlkZW90ZW1wbGF0ZS5jOgoJKiBnc3QvdmlkZW9maWx0ZXIvcGx1Z2luLmM6CgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIyLmM6CgkqIGdzdC93YXZlbmMvZ3N0d2F2ZW5jLmM6CgkqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOgoJKiBnc3QveTRtL2dzdHk0bWVuY29kZS5jOgoJKiBzeXMvZGlyZWN0c291bmQvZ3N0ZGlyZWN0c291bmRwbHVnaW4uYzoKCSogc3lzL29zcy9nc3Rvc3NhdWRpby5jOgoJKiBzeXMvb3NzNC9vc3M0LWF1ZGlvLmM6CgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hhdWRpby5jOgoJKiBzeXMvb3N4dmlkZW8vb3N4dmlkZW9zaW5rLm06CgkqIHN5cy9zdW5hdWRpby9nc3RzdW5hdWRpby5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyLmM6CgkqIHN5cy93YXZlZm9ybS9nc3R3YXZlZm9ybXBsdWdpbi5jOgoJKiBzeXMveGltYWdlL2dzdHhpbWFnZXNyYy5jOgoJICBnc3Q6IFVwZGF0ZSBmb3IgR1NUX1BMVUdJTl9ERUZJTkUoKSBBUEkgY2hhbmdlcwoKMjAxMi0wNC0wNSAxMzoyNjoxOSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogVXBkYXRlIHZlcnNpb24gdG8gMC4xMS44OS4xCgoyMDEyLTA0LTA0IDIwOjA2OjU4ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3F0bXV4LmM6CgkgIHRlc3RzOiBxdG11eDogZW5zdXJlIGluaXRpYWxpemVkIHRlc3QgYnVmZmVyIG1lbW9yeQoKMjAxMi0wNC0wNCAxNDo0MToyMiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHRtZi9NYWtlZmlsZS5hbToKCSAgZ3N0OiBVcGRhdGUgdmVyc2lvbmluZwoKMjAxMi0wNC0wNCAxNDozMzoyMyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1kb2NzLnNnbWw6CgkqIGRvY3MvdmVyc2lvbi5lbnRpdGllcy5pbjoKCSogZXh0L2FhbGliL01ha2VmaWxlLmFtOgoJKiBleHQvY2Fpcm8vTWFrZWZpbGUuYW06CgkqIGV4dC9kdi9NYWtlZmlsZS5hbToKCSogZXh0L2ZsYWMvTWFrZWZpbGUuYW06CgkqIGV4dC9nZGtfcGl4YnVmL01ha2VmaWxlLmFtOgoJKiBleHQvamFjay9NYWtlZmlsZS5hbToKCSogZXh0L2pwZWcvTWFrZWZpbGUuYW06CgkqIGV4dC9saWJjYWNhL01ha2VmaWxlLmFtOgoJKiBleHQvbGlicG5nL01ha2VmaWxlLmFtOgoJKiBleHQvcHVsc2UvTWFrZWZpbGUuYW06CgkqIGV4dC9yYXcxMzk0L01ha2VmaWxlLmFtOgoJKiBleHQvc291cC9NYWtlZmlsZS5hbToKCSogZXh0L3NwZWV4L01ha2VmaWxlLmFtOgoJKiBleHQvdGFnbGliL01ha2VmaWxlLmFtOgoJKiBleHQvd2F2cGFjay9NYWtlZmlsZS5hbToKCSogZ3N0LXBsdWdpbnMtZ29vZC5zcGVjLmluOgoJKiBnc3QvYWxwaGEvTWFrZWZpbGUuYW06CgkqIGdzdC9hcGV0YWcvTWFrZWZpbGUuYW06CgkqIGdzdC9hdWRpb2Z4L01ha2VmaWxlLmFtOgoJKiBnc3QvYXVkaW9wYXJzZXJzL01ha2VmaWxlLmFtOgoJKiBnc3QvYXVwYXJzZS9NYWtlZmlsZS5hbToKCSogZ3N0L2F2aS9NYWtlZmlsZS5hbToKCSogZ3N0L2N1dHRlci9NYWtlZmlsZS5hbToKCSogZ3N0L2RlYnVndXRpbHMvTWFrZWZpbGUuYW06CgkqIGdzdC9kZWludGVybGFjZS9NYWtlZmlsZS5hbToKCSogZ3N0L2VmZmVjdHYvTWFrZWZpbGUuYW06CgkqIGdzdC9lcXVhbGl6ZXIvTWFrZWZpbGUuYW06CgkqIGdzdC9mbHYvTWFrZWZpbGUuYW06CgkqIGdzdC9pY3lkZW11eC9NYWtlZmlsZS5hbToKCSogZ3N0L2lkM2RlbXV4L01ha2VmaWxlLmFtOgoJKiBnc3QvaW50ZXJsZWF2ZS9NYWtlZmlsZS5hbToKCSogZ3N0L2lzb21wNC9NYWtlZmlsZS5hbToKCSogZ3N0L2xhdy9NYWtlZmlsZS5hbToKCSogZ3N0L2xldmVsL01ha2VmaWxlLmFtOgoJKiBnc3QvbWF0cm9za2EvTWFrZWZpbGUuYW06CgkqIGdzdC9tdWx0aWZpbGUvTWFrZWZpbGUuYW06CgkqIGdzdC9yZXBsYXlnYWluL01ha2VmaWxlLmFtOgoJKiBnc3QvcnRwL01ha2VmaWxlLmFtOgoJKiBnc3QvcnRwbWFuYWdlci9NYWtlZmlsZS5hbToKCSogZ3N0L3J0c3AvTWFrZWZpbGUuYW06CgkqIGdzdC9zaGFwZXdpcGUvTWFrZWZpbGUuYW06CgkqIGdzdC9zbXB0ZS9NYWtlZmlsZS5hbToKCSogZ3N0L3NwZWN0cnVtL01ha2VmaWxlLmFtOgoJKiBnc3QvdmlkZW9ib3gvTWFrZWZpbGUuYW06CgkqIGdzdC92aWRlb2Nyb3AvTWFrZWZpbGUuYW06CgkqIGdzdC92aWRlb2ZpbHRlci9NYWtlZmlsZS5hbToKCSogZ3N0L3ZpZGVvbWl4ZXIvTWFrZWZpbGUuYW06CgkqIGdzdC93YXZlbmMvTWFrZWZpbGUuYW06CgkqIGdzdC93YXZwYXJzZS9NYWtlZmlsZS5hbToKCSogZ3N0L3k0bS9NYWtlZmlsZS5hbToKCSogcGtnY29uZmlnL01ha2VmaWxlLmFtOgoJKiBwa2djb25maWcvZ3N0cmVhbWVyLXBsdWdpbnMtZ29vZC11bmluc3RhbGxlZC5wYy5pbjoKCSogc3lzL2RpcmVjdHNvdW5kL01ha2VmaWxlLmFtOgoJKiBzeXMvb3NzL01ha2VmaWxlLmFtOgoJKiBzeXMvb3NzNC9NYWtlZmlsZS5hbToKCSogc3lzL29zeGF1ZGlvL01ha2VmaWxlLmFtOgoJKiBzeXMvb3N4dmlkZW8vTWFrZWZpbGUuYW06CgkqIHN5cy9zdW5hdWRpby9NYWtlZmlsZS5hbToKCSogc3lzL3Y0bDIvTWFrZWZpbGUuYW06CgkqIHN5cy93YXZlZm9ybS9NYWtlZmlsZS5hbToKCSogc3lzL3hpbWFnZS9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2V4YW1wbGVzL2F1ZGlvZngvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2V4YW1wbGVzL2NhaXJvL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9leGFtcGxlcy9wdWxzZS9NYWtlZmlsZS5hbToKCSogdGVzdHMvZXhhbXBsZXMvc3BlY3RydW0vTWFrZWZpbGUuYW06CgkqIHRlc3RzL2ljbGVzL01ha2VmaWxlLmFtOgoJICBnc3Q6IFVwZGF0ZSB2ZXJzaW9uaW5nCgoyMDEyLTA0LTA0IDEyOjEwOjQ1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkgIE1lcmdlIHJlbW90ZS10cmFja2luZyBicmFuY2ggJ29yaWdpbi8wLjEwJwoJICBDb25mbGljdHM6CgkgIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jCgkgIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYwoJICBnc3QvbWF0cm9za2EvbWF0cm9za2EtcmVhZC1jb21tb24uYwoJICBnc3QvbWF0cm9za2EvbWF0cm9za2EtcmVhZC1jb21tb24uaAoKMjAxMi0wNC0wMyAxODozNjo1MCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvanBlZy9nc3RqcGVnZW5jLmM6CgkgIGpwZWdlbmM6IHBsdWcgdGVtcGxhdGUgY2FwcyBsZWFrCgoyMDEyLTA0LTAzIDExOjUwOjAwICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICBhdmlkZW11eDogYXZpIG9ubHkga25vd3MgYWJvdXQgRFRTCgkgIE9ubHkgc2V0IERUUyBvbiBvdXRnb2luZyBidWZmZXJzIHVubGVzcyB3ZSBoYXZlIGEga2V5ZnJhbWUgYW5kIHRoZW4gd2UgY2FuIHNldAoJICB0aGUgUFRTIHRvIERUUyBhcyB3ZWxsLgoKMjAxMi0wNC0wMiAyMzozNTo0MyArMDIwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1yZWFkLWNvbW1vbi5jOgoJICBta3Y6IHBvcnQgdG9jIGNoYW5nZXMgdG8gMC4xMQoKMjAxMi0wNC0wMiAyMzoxODowMCArMDIwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkgIE1lcmdlIGJyYW5jaCAnMC4xMCcKCSAgQ29uZmxpY3RzOgoJICBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYwoJICBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmMKCSAgZ3N0L21hdHJvc2thL21hdHJvc2thLXJlYWQtY29tbW9uLmMKCSAgZ3N0L21hdHJvc2thL21hdHJvc2thLXJlYWQtY29tbW9uLmgKCjIwMTItMDMtMjkgMjM6MjI6MjggKzA0MDAgIEFsZXhhbmRlciBTYXByeWtpbiA8eGVsZml1bUBnbWFpbC5jb20+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguaDoKCSAgbWF0cm9za2E6IGFkZCBHc3RUb2Mgc3VwcG9ydCBmb3IgbXV4ZXIKCjIwMTItMDMtMjkgMjM6MTI6MTMgKzA0MDAgIEFsZXhhbmRlciBTYXByeWtpbiA8eGVsZml1bUBnbWFpbC5jb20+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2E6IGFkZCBzdXBwb3J0IGZvciBHc3RUb2MgaW4gZGVtdXhlcgoKMjAxMi0wMy0yOSAyMzowNToxNCArMDQwMCAgQWxleGFuZGVyIFNhcHJ5a2luIDx4ZWxmaXVtQGdtYWlsLmNvbT4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1yZWFkLWNvbW1vbi5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcmVhZC1jb21tb24uaDoKCSAgbWF0cm9za2E6IGFkZCBjaGFwdGVyIHN1cHBvcnQgaW4gR3N0TWF0cm9za2FSZWFkQ29tbW9uCgoyMDEyLTA0LTAyIDEzOjAwOjE5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9nb29tMmsxL2xpbmVzLmM6CgkgIGdvb20yazE6IEZpeCAnbWF5IGJlIHVzZWQgdW5pbml0aWFsaXplZCBpbiB0aGlzIGZ1bmN0aW9uJyBjb21waWxlciB3YXJuaW5nCgoyMDEyLTA0LTAyIDExOjEzOjA5ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2FscGhhL2dzdGFscGhhY29sb3IuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9hbXBsaWZ5LmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvZHluYW1pYy5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb2Z4YmFzZWlpcmZpbHRlci5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb2ludmVydC5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb2thcmFva2UuYzoKCSogZ3N0L3ZpZGVvZmlsdGVyL2dzdGdhbW1hLmM6CgkqIGdzdC92aWRlb2ZpbHRlci9nc3R2aWRlb2JhbGFuY2UuYzoKCSAgdXNlIHRyYW5zZm9ybV9pcF9vbl9wYXNzdGhyb3VnaAoKMjAxMi0wMy0zMSAxNTo0Mzo0OSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyLmM6CgkqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyMTBiYW5kcy5jOgoJKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplcjNiYW5kcy5jOgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyMi5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9lcXVhbGl6ZXIuYzoKCSogdGVzdHMvZXhhbXBsZXMvZXF1YWxpemVyL2RlbW8uYzoKCSogdGVzdHMvaWNsZXMvZXF1YWxpemVyLXRlc3QuYzoKCSAgdXBkYXRlIGZvciBjaGlsZCBwcm94eSBhcGkgY2hhbmdlCgoyMDEyLTAzLTMwIDE4OjEzOjA4ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2pwZWcvZ3N0anBlZ2VuYy5jOgoJKiBnc3QvYXZpL2dzdGF2aW11eC5jOgoJKiBnc3QvYXZpL2dzdGF2aXN1YnRpdGxlLmM6CgkqIGdzdC9mbHYvZ3N0Zmx2bXV4LmM6CgkqIGdzdC9pc29tcDQvYXRvbXMuYzoKCSogZ3N0L2lzb21wNC9nc3RxdG11eC5jOgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSogZ3N0L211bHRpZmlsZS9nc3RtdWx0aWZpbGVzaW5rLmM6CgkqIGdzdC9tdWx0aWZpbGUvZ3N0bXVsdGlmaWxlc3JjLmM6CgkqIGdzdC9ydHAvZ3N0cnRwcWRtZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHB0aGVvcmFkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHZvcmJpc2RlcGF5LmM6CgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSogZ3N0L3VkcC9nc3R1ZHBzcmMuYzoKCSogZ3N0L3k0bS9nc3R5NG1lbmNvZGUuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSogc3lzL3hpbWFnZS94aW1hZ2V1dGlsLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2RlaW50ZXJsZWF2ZS5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9pbnRlcmxlYXZlLmM6CgkgIHVwZGF0ZSBmb3IgYnVmZmVyIGFwaSBjaGFuZ2UKCjIwMTItMDMtMzAgMTI6NTM6NDQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3NwZWV4L2dzdHNwZWV4ZW5jLmM6CgkqIGV4dC9zcGVleC9nc3RzcGVleGVuYy5oOgoJICBzcGVleGVuYzogVXNlIG5ldyBnc3RfYXVkaW9fZW5jb2Rlcl9zZXRfaGVhZGVycygpIEFQSQoKMjAxMi0wMy0zMCAxMjoxODo0NSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmxhYy9nc3RmbGFjZW5jLmM6CgkqIGV4dC9zcGVleC9nc3RzcGVleGVuYy5jOgoJKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZW5jLmM6CgkgIGV4dDogVXBkYXRlIGZvciBHc3RBdWRpb0VuY29kZXIgQVBJIGNoYW5nZXMKCjIwMTItMDMtMjkgMjM6MjI6MjggKzA0MDAgIEFsZXhhbmRlciBTYXByeWtpbiA8eGVsZml1bUBnbWFpbC5jb20+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguaDoKCSAgbWF0cm9za2E6IGFkZCBHc3RUb2Mgc3VwcG9ydCBmb3IgbXV4ZXIKCjIwMTItMDMtMjkgMjM6MTI6MTMgKzA0MDAgIEFsZXhhbmRlciBTYXByeWtpbiA8eGVsZml1bUBnbWFpbC5jb20+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2E6IGFkZCBzdXBwb3J0IGZvciBHc3RUb2MgaW4gZGVtdXhlcgoKMjAxMi0wMy0yOSAyMzowNToxNCArMDQwMCAgQWxleGFuZGVyIFNhcHJ5a2luIDx4ZWxmaXVtQGdtYWlsLmNvbT4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1yZWFkLWNvbW1vbi5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcmVhZC1jb21tb24uaDoKCSAgbWF0cm9za2E6IGFkZCBjaGFwdGVyIHN1cHBvcnQgaW4gR3N0TWF0cm9za2FSZWFkQ29tbW9uCgoyMDEyLTAzLTI5IDE3OjIyOjIzICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy93YXZwYWNrLmM6CgkgIHRlc3RzOiB3YXZwYWNrOiBmZXdlciBidWZmZXJzIGFyZSBhbHNvIGFkZXF1YXRlIGFuZCBtb3JlIGNvbnZlbmllbnQKCjIwMTItMDMtMjkgMTc6MjI6MTkgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvdmlkZW9jcm9wLmM6CgkgIHRlc3RzOiB2aWRlb2Nyb3A6IHVubWFwIHZpZGVvIGZyYW1lIGFuZCB1bnJlZiBjYXBzCgoyMDEyLTAzLTI5IDE3OjIyOjA0ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvd3NpbmNiYW5kLmM6CgkgIHRlc3RzOiBhdWRpb3dzaW5jYmFuZDogdW5tYXAgZXhhbWluZWQgb3V0cHV0IGJ1ZmZlcnMKCjIwMTItMDMtMjkgMTc6MjE6NTMgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2VuYy5jOgoJICBmbGFjZW5jOiBwbHVnIHJlZiBsZWFrCgoyMDEyLTAzLTI5IDE3OjIxOjUwICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb2Z4L2F1ZGlvcGFub3JhbWEuYzoKCSAgYXVkaW9wYW5vcmFtYTogZml4IHN1cHBvcnRlZCB0ZW1wbGF0ZSBjYXBzIGFuZCBzYW1wbGUgcHJvY2Vzc2luZwoKMjAxMi0wMy0yOSAxNzoyMTo0MyArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYWxwaGEvZ3N0YWxwaGFjb2xvci5jOgoJICBhbHBoYWNvbG9yOiBwbHVnIHN0cnVjdHVyZSBsZWFrCgoyMDEyLTAzLTI5IDE2OjA0OjI2ICswMTAwICB1cmFldXMgPHVyYWV1c0Bnbm9tZS5vcmc+CgoJKiBnc3QtcGx1Z2lucy1nb29kLnNwZWMuaW46CgkgIFVwZGF0ZSBzcGVjIGZpbGUgd2l0aCBsYXRlc3QgcG9ydGVkIHBsdWdpbnMKCjIwMTItMDMtMjkgMTU6MDM6MDkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSAgTWVyZ2UgcmVtb3RlLXRyYWNraW5nIGJyYW5jaCAnb3JpZ2luLzAuMTAnCgkgIENvbmZsaWN0czoKCSAgY29uZmlndXJlLmFjCgoyMDEyLTAzLTI4IDE2OjI2OjU2ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy90YWdzY2hlY2tpbmcuYzoKCSAgdGVzdHM6IHRhZ3NjaGVja2luZzogbXV4ZXJzIG5lZWQgVElNRSBmb3JtYXQKCjIwMTItMDMtMjggMTY6MjY6MTUgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svcGlwZWxpbmVzL2ZsYWNkZWMuYzoKCSAgdGVzdHM6IGZsYWNkZWM6IG5lZWRzIGZsYWNwYXJzZSBub3dhZGF5cwoKMjAxMi0wMy0yOCAxNDo0OTowMyArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZW5jLmM6CgkgIHdhdnBhY2tlbmM6IHF1ZXJ5IGRvd25zdHJlYW0gZm9yIEJZVEUgc2Vla2luZyBzdXBwb3J0CgoyMDEyLTAzLTI4IDE0OjQ4OjQ2ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mbGFjL2dzdGZsYWNlbmMuYzoKCSAgZmxhY2VuYzogcXVlcnkgZG93bnN0cmVhbSBmb3IgQllURSBzZWVraW5nIHN1cHBvcnQKCjIwMTItMDMtMjggMTQ6NDY6MDMgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5jOgoJICBmbGFjZGVjOiBjbGVhbiB1cCBvYnNvbGV0ZSBsb2cgc3RhdGVtZW50CgoyMDEyLTAzLTI4IDEyOjQ5OjE5ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L21pa21vZC9nc3RtaWttb2QuYzoKCSogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2VuYy5jOgoJKiBnc3QvYXZpL2dzdGF2aW11eC5jOgoJKiBnc3QvZmx2L2dzdGZsdm11eC5jOgoJKiBnc3QvaWN5ZGVtdXgvZ3N0aWN5ZGVtdXguYzoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXBhcnNlLmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2NGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwanBlZ3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wNHZwYXkuYzoKCSogZ3N0L3k0bS9nc3R5NG1lbmNvZGUuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcGFyc2VyLmM6CgkgIHVwZGF0ZSBmb3IgYnVmZmVyIGNoYW5nZXMKCjIwMTItMDMtMjggMTI6MTY6NDUgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXVkaW9keW5hbWljLmM6CgkgIHRlc3RzOiBhdWRpb2R5bmFtaWM6IGNvcnJlY3RseSBwb3J0IG9yaWdpbmFsIHRlc3QgdG8gbWluZCBpbiBwbGFjZSB0cmFuc2Zvcm0KCjIwMTItMDMtMjggMTE6MDU6NDMgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvZngvYXVkaW9jaGViYmFuZC5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb2NoZWJsaW1pdC5jOgoJICBhdWRpb2Z4OiBtb3JlIGFkanVzdG1lbnQgdG8gY2hhbmdlZCBzZW1hbnRpY3Mgb2YgYXVkaW9maWx0ZXIgX3NldHVwIG1ldGhvZAoKMjAxMi0wMy0yOCAxMToxMDoyNCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdWRpb2ZpcmZpbHRlci5jOgoJICB0ZXN0czogYXVkaW9maXJmaWx0ZXI6IG5lZ290aWF0ZSB0aGUgaW50ZW5kZWQgcmF3IGF1ZGlvIGZvcm1hdAoKMjAxMi0wMy0yNyAxODo0MTo0NSArMDIwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0d2F2cGFja3BhcnNlLmM6CgkgIHdhdnBhY2twYXJzZTogaW5pdCBkYXRhc3RydWN0dXJlCgoyMDEyLTAzLTI3IDE3OjE4OjQwICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2VmZmVjdHYvZ3N0YWdpbmcuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0ZGljZS5jOgoJKiBnc3QvZWZmZWN0di9nc3RyZXYuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0d2FycC5jOgoJICBlZmZlY3R2OiBmaXggc3RyaWRlcwoKMjAxMi0wMy0yNyAxNjo0MTowNiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdmkvZ3N0YXZpbXV4LmM6CgkqIGdzdC9pbWFnZWZyZWV6ZS9nc3RpbWFnZWZyZWV6ZS5jOgoJKiBnc3QvbGF3L2FsYXctZW5jb2RlLmM6CgkqIGdzdC9sYXcvbXVsYXctZW5jb2RlLmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJKiBnc3QvcnRwL2dzdGFzdGVyaXNraDI2My5jOgoJKiBnc3QvcnRwL2dzdHJ0cEwxNnBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGJ2cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwY2VsdHBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjJwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjYzcHBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGlsYmNwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBzcGVleHBheS5jOgoJKiBnc3Qvc2hhcGV3aXBlL2dzdHNoYXBld2lwZS5jOgoJKiBnc3Qvc21wdGUvZ3N0c21wdGUuYzoKCSogc3lzL29zcy9nc3Rvc3NzaW5rLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJzaW5rLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzoKCSogc3lzL3hpbWFnZS9nc3R4aW1hZ2VzcmMuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcXRtdXguYzoKCSAgY2FwczogaW1wcm92ZSBjYXBzIGhhbmRsaW5nCgkgIEF2b2lkIGNhcHMgY29weSBhbmQgbGVha3MKCjIwMTItMDMtMjcgMTQ6MDQ6NDggKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvaWN5ZGVtdXguYzoKCSAgdGVzdHM6IGljeWRlbXV4OiBhY3RpdmF0ZSBpbnRlcm5hbCB0ZXN0IGhlbHBlciBzcmMgcGFkCgoyMDEyLTAzLTI3IDEyOjQ0OjQ2ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnNpbmsuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJICB2NGwyOiB1cGRhdGUgZm9yIGdldF9wYXJhbQoJICBSZW1vdmUgY29uc3QgZnJvbSB0aGUgR3N0Q2Fwcy4KCSAgUGx1ZyBzb21lIEdzdFN0cnVjdHVyZSBsZWFrcwoKMjAxMi0wMy0yNyAwMDowMjowOCArMDMwMCAgUmFpbW8gSsOkcnZpIDxyYWltby5qYXJ2aUBnbWFpbC5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC91ZHAvZ3N0bXVsdGl1ZHBzaW5rLmM6CgkqIGdzdC91ZHAvZ3N0dWRwc3JjLmM6CgkgIHVkcDogRml4IGNvbXBpbGluZyB3aXRoIG1pbmd3LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjcyODgwCgoyMDEyLTAzLTI2IDE4OjMxOjQxICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3JnYW5hbHlzaXMuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcmd2b2x1bWUuYzoKCSAgdGVzdHM6IHJlcGxheWdhaW46IG1pc2MgY29tcGF0aWJpbGl0eSBmaXhlcwoJICBEaXNjYXJkIGNhcHMgZXZlbnQgd2hlbiBjaGVja2luZyBmb3IgYW5kIGNvdW50aW5nIHZhcmlvdXMgdGFnIGV2ZW50cywKCSAgYW5kIHJlbW92ZSBhbGwgdGVzdGluZyBvZiA4IGJpdHMgZGVwdGggaW4gMTYgYml0cyB3aWR0aCBmb3JtYXQgc2luY2UKCSAgaXQgbm8gbG9uZ2VyIGV4aXN0cy4KCjIwMTItMDMtMjYgMTg6Mjg6MjYgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwLXBheWxvYWRpbmcuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwYmluLmM6CgkgIHRlc3RzOiBydHA6IG1pc2MgY29tcGF0aWJpbGl5IGZpeGVzCgkgIC4uLiBzdWNoIGFzIGFsd2F5cyBzZXR0aW5nIHBhZCBjYXBzIGFuZCBwcm92aWRpbmcgbmVlZGVkIGNhcHMgZmllbGRzLgoKMjAxMi0wMy0yNiAxODoyNjo0MCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy92aWRlb2ZpbHRlci5jOgoJICB0ZXN0czogdmlkZW9maWx0ZXI6IGVuc3VyZSBpbml0aWFsIHNlZ21lbnQgZXZlbnQKCjIwMTItMDMtMjYgMTg6MjU6MjggKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3NoYXBld2lwZS9nc3RzaGFwZXdpcGUuYzoKCSogZ3N0L3NoYXBld2lwZS9nc3RzaGFwZXdpcGUuaDoKCSAgc2hhcGV3aXBlOiBwcm9wZXIgdmlkZW8gaW5mbyBhbmQgZnJhbWUgbWFuYWdlbWVudAoJICAuLi4gcGFydGljdWxhcmx5IHNpbmNlIGVhY2ggaW5jb21pbmcgcGFkIGhhcyBhIGRpc3RpbmN0IGZvcm1hdC4KCjIwMTItMDMtMjYgMTg6MjQ6MDggKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBoMjY0cGF5LmM6CgkgIHJ0cGgyNjRwYXk6IGVuc3VyZSBvdXRwdXQgY2FwcyBhcmUgc2V0IHdoZW4gcHVzaGluZyBvdXRwdXQgZGF0YQoJICAuLi4gZXZlbiBpZiBzb21lIFNQUy9QUFMgaGFzIG5vdCBwYXNzZWQgYnkgeWV0LgoKMjAxMi0wMy0yNiAxODoyMjo1MyArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9maWx0ZXIvZ3N0Z2FtbWEuYzoKCSogZ3N0L3ZpZGVvZmlsdGVyL2dzdHZpZGVvYmFsYW5jZS5jOgoJICB2aWRlb2ZpbHRlcjogYXZvaWQgaG9sZGluZyBvYmplY3QgbG9jayB3aGVuIGNhbGxpbmcgYmFzZXRyYW5zZm9ybSBmdW5jdGlvbgoKMjAxMi0wMy0yNiAxODoyMjowMyArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzoKCSAgcnRwYmluOiBmaXggc29tZSBsb2NrIG1hbmFnZW1lbnQKCSAgLi4uIHRvIGF2b2lkIHRyeWluZyB0byB0YWtlIGEgbm9uLXJlY3Vyc2l2ZSBsb2NrIHR3aWNlLgoKMjAxMi0wMy0yNiAxODoyMToxMSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cEwxNmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwTDE2cGF5LmM6CgkgIHJ0cEwxNihkZSlwYXk6IGZpeCByYXcgYXVkaW8gZm9ybWF0IGluIHRlbXBsYXRlIGNhcHMKCjIwMTItMDMtMjYgMTg6MjA6NDAgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3JlcGxheWdhaW4vZ3N0cmdhbmFseXNpcy5jOgoJICByZXBsYXlnYWluOiBhbHNvIHN0aWxsIHBvc3QgdGhlIHJlc3VsdHMgb2YgdGhlIGFuYWx5c2lzCgoyMDEyLTAzLTI2IDE1OjU5OjAxICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJICB2NGwyc3JjOiBkb24ndCBlcnJvciBpbiBzaHV0ZG93bgoJICBEb24ndCBsb2cgd2l0aCB0aGUgRVJST1IgY2F0ZWdvcnkgd2hlbiB3ZSBhcmUgc3RvcHBpbmcgYmVjYXVzZSB3ZSBhcmUgc2h1dHRpbmcKCSAgZG93bi4KCSAgRml4ZXM6IGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NzI4MjQKCjIwMTItMDMtMjYgMTU6NTE6MjggKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkgIHY0bDI6IGZpeCBsYXRlbmN5CgoyMDEyLTAzLTI2IDE1OjMwOjAwICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuaDoKCSAgdjRsMjogY2FsbGVkIGJhc2UgY2xhc3Mgc3RhcnQKCSAgQ2hhaW4gdXAgdG8gdGhlIGJhc2UgY2xhc3Mgc3RhcnQgbWV0aG9kIHNvIHRoYXQgbWV0YWRhdGEgaXMgcHJvcGVybHkgdGFnZ2VkLgoJICBSZW1vdmUgYW4gdW51c2VkIHZhcmlhYmxlLgoJICBmaXhlczogaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY3MjgxMwoKMjAxMi0wMy0yNiAxMjoxMjo0NSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkgIFJlcGxhY2UgbWFzdGVyIHdpdGggMC4xMQoKMjAxMi0wMy0yNSAwMDowMDo1OSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9nZGtfcGl4YnVmL2dzdGdka3BpeGJ1Zm92ZXJsYXkuYzoKCSogZXh0L2dka19waXhidWYvZ3N0Z2RrcGl4YnVmb3ZlcmxheS5oOgoJICBnZGtwaXhidWZvdmVybGF5OiBhZGQgImFscGhhIiBwcm9wZXJ0eSB0byBzZXQgYWxwaGEgb2Ygb3ZlcmxheSBpbWFnZQoJICAuLiBvciB0dXJuIHRoZSBvdmVybGF5IG9mZiBieSBzZXR0aW5nIGFscGhhIHRvIDAuMAoKMjAxMi0wMy0yNCAwOTo1MTowNiArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaW1hZ2VmcmVlemUvZ3N0aW1hZ2VmcmVlemUuYzoKCSAgaW1hZ2VmcmVlemU6IHBsdWcgY2FwcyBsZWFrCgoyMDEyLTAzLTIzIDE4OjQ3OjQ1ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2ltYWdlZnJlZXplLmM6CgkgIHRlc3RzOiBpbWFnZWZyZWV6ZTogcmVtb3ZlIGV4dHJhbmVvdXMgX3VucmVmCgoyMDEyLTAzLTIzIDE4OjQ3OjAzICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F2aW11eC5jOgoJICB0ZXN0czogYXZpbXV4OiBhZGp1c3QgdG8gbW9kaWZpZWQgc2luayBwYWQgdGVtcGxhdGUgbmFtZQoKMjAxMi0wMy0yMyAxODo0NjozNiArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9xdG11eC5jOgoJICB0ZXN0czogcXRtdXg6IGNsZWFudXAgZWxlbWVudCBzb29uZXIKCSAgLi4uIHRvIGF2b2lkIHN0cmF5IHJlZnMgaW4gc3RpY2t5IGNhcHMgZXZlbnRzLgoKMjAxMi0wMy0yMyAxODo0NTo1NiArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdWRpb3dzaW5jYmFuZC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdWRpb3dzaW5jbGltaXQuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXZpbXV4LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3F0bXV4LmM6CgkgIHRlc3RzOiBhcnJhbmdlIGZvciBzZW5kaW5nIGFuIGluaXRpYWwgc2VnbWVudCBldmVudAoJICAuLi4gd2hpY2ggaXMgbmVlZGVkIG5vd2FkYXlzIHNpbmNlIHZhcmlvdXMgZ3N0X3NlZ21lbnRfdG9fLi4uCgkgIG5vIGxvbmdlciBhdXRvbWF0aWNhbGx5IHNldCB0aGUgZm9ybWF0IHRvIHRoZSBzcGVjaWZpZWQgb25lCgkgIChmcm9tIF9VTkRFRklORUQpLgoKMjAxMi0wMy0yMyAxODo0NDoxNSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaW1hZ2VmcmVlemUvZ3N0aW1hZ2VmcmVlemUuYzoKCSAgaW1hZ2VmcmVlemU6IGltbWVkaWF0ZWx5IHJldHVybiBHU1RfRkxPV19FT1MKCSAgLi4uIHJhdGhlciB0aGFuIF9PSyBzaW5jZSB3ZSB3aWxsIG5vdCBiZSBjYXJpbmcgYWJvdXQgc3Vic2VxdWVudCBidWZmZXIKCSAgYW55d2F5LgoKMjAxMi0wMy0yMyAxODo0MzozNiArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaW1hZ2VmcmVlemUvZ3N0aW1hZ2VmcmVlemUuYzoKCSAgaW1hZ2VmcmVlemU6IGZpeCBxdWVyeSBhbmQgX2dldGNhcHMgaGFuZGxpbmcKCjIwMTItMDMtMjMgMTg6NDI6NDggKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvZngvYXVkaW9jaGViYmFuZC5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb2NoZWJsaW1pdC5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb2ZpcmZpbHRlci5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb2Z4YmFzZWZpcmZpbHRlci5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb2Z4YmFzZWZpcmZpbHRlci5oOgoJKiBnc3QvYXVkaW9meC9hdWRpb2thcmFva2UuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW93c2luY2JhbmQuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW93c2luY2xpbWl0LmM6CgkgIGF1ZGlvZng6IGFkanVzdCB0byBjaGFuZ2VkIHNlbWFudGljcyBvZiBhdWRpb2ZpbHRlciBfc2V0dXAgbWV0aG9kCgkgIC4uLiBpbiB0aGF0IGl0IHdpbGwgbm93IGNhbGwgc3ViY2xhc3Mgd2l0aCBpbmZvIG9uIHByb3Bvc2VkIGF1ZGlvIGZvcm1hdAoJICB3aXRob3V0IGhhdmluZyBzZXQgdGhhdCBpbmZvIGFscmVhZHkgaW4gYmFzZSBjbGFzcy4gIEFzIHN1Y2gsCgkgIHN1YmNsYXNzIGNhbiBub3QgcmVseSBvbiBhdWRpbyBmb3JtYXQgaW5mbyBiZWluZyBhdmFpbGFibGUgdGhlcmUuCgoyMDExLTA3LTE0IDE2OjIzOjQ5IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBoMjY0ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjY0ZGVwYXkuaDoKCSAgcnRwaDI2NGRlcGF5OiBNYWtlIG91dHB1dCBpbiBBVkMgc3RyZWFtIGZvcm1hdCB3b3JrIGV2ZW4gd2l0aG91dCBjb21wbGV0ZSBzcHJvcC1wYXJhbWV0ZXItc2V0CgkgIFRoaXMgYWxsb3dzIG91dHB1dHRpbmcgc3RyZWFtcyBpbiBBVkMgZm9ybWF0IGV2ZW4gaWYgdGhlIFNQUy9QUFMgYXJlIHNlbnQgaW5zaWRlCgkgIHRoZSBSVFAgc3RyZWFtLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjU0ODUwCgkgIFBvcnRlZCBmcm9tIG1hc3RlcgoKMjAxMi0wMS0yOSAxODozOTo1NCArMDAwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC91ZHAvZ3N0bXVsdGl1ZHBzaW5rLmM6CgkgIHVkcHNpbms6IFVubG9jayBvbiBlcnJvcgoKMjAxMi0wMy0yMiAxODoyNzozMCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFhY3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWMzcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhbXJwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGRjYXBhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZmxhY3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0bXBlZ2F1ZGlvcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3R3YXZwYWNrcGFyc2UuYzoKCSAgYXVkaW9wYXJzZXJzOiB1c2Ugc2luayBwYWQgdGVtcGxhdGUgY2FwcyByYXRoZXIgdGhhbiBzcmMKCjIwMTItMDMtMjIgMTg6MjM6MjIgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSAgTWVyZ2UgYnJhbmNoICdtYXN0ZXInIGludG8gMC4xMQoKMjAxMi0wMy0yMiAxODoyMTo1MiArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC9zbXB0ZS9nc3RzbXB0ZS5jOgoJKiBnc3Qvc21wdGUvZ3N0c21wdGUuaDoKCSogZ3N0L3NtcHRlL2dzdHNtcHRlYWxwaGEuYzoKCSogZ3N0L3NtcHRlL2dzdHNtcHRlYWxwaGEuaDoKCSAgc21wdGU6IHBvcnQgdG8gMC4xMQoKMjAxMi0wMy0yMiAxNjoxMDozMyArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFhY3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWMzcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhbXJwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGRjYXBhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZmxhY3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0bXBlZ2F1ZGlvcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3R3YXZwYWNrcGFyc2UuYzoKCSAgYXVkaW9wYXJzZXJzOiBpbnRlcnNlY3QgZG93bnN0cmVhbSBhbGxvd2VkIHBlZXIgY2FwcyB3aXRoIHNpbmsgcGFkIHRlbXBsYXRlCgoyMDEyLTAzLTIyIDE1OjU1OjI4ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBiYWNrIHRvIGRldmVsb3BtZW50Cgo9PT0gcmVsZWFzZSAwLjExLjIgPT09CgoyMDEyLTAzLTIyIDE1OjUxOjEzICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogQ2hhbmdlTG9nOgoJKiBORVdTOgoJKiBSRUxFQVNFOgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYWNvbG9yLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFubm9kZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXBldGFnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvZngueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9wYXJzZXJzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2RldGVjdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdmkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY3V0dGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZmVjdHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXF1YWxpemVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbTJrMS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pY3lkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pZDNkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbWFnZWZyZWV6ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pc29tcDQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tamFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxldmVsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1hdHJvc2thLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpZmlsZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aXBhcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmF2aWdhdGlvbnRlc3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5nLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXB1bHNlYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVwbGF5Z2Fpbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwbWFuYWdlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHNwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNoYXBld2lwZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaG91dDJzZW5kLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlY3RydW0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdGFnbGliLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXVkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlbzRsaW51eDIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9jcm9wLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvZmlsdGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvbWl4ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2ZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teGltYWdlc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXk0bWVuYy54bWw6CgkqIGdzdC1wbHVnaW5zLWdvb2QuZG9hcDoKCSogcG8vYWYucG86CgkqIHBvL2F6LnBvOgoJKiBwby9iZy5wbzoKCSogcG8vY2EucG86CgkqIHBvL2NzLnBvOgoJKiBwby9kYS5wbzoKCSogcG8vZGUucG86CgkqIHBvL2VsLnBvOgoJKiBwby9lbl9HQi5wbzoKCSogcG8vZW8ucG86CgkqIHBvL2VzLnBvOgoJKiBwby9ldS5wbzoKCSogcG8vZmkucG86CgkqIHBvL2ZyLnBvOgoJKiBwby9nbC5wbzoKCSogcG8vaHUucG86CgkqIHBvL2lkLnBvOgoJKiBwby9pdC5wbzoKCSogcG8vamEucG86CgkqIHBvL2x0LnBvOgoJKiBwby9sdi5wbzoKCSogcG8vbXQucG86CgkqIHBvL25iLnBvOgoJKiBwby9ubC5wbzoKCSogcG8vb3IucG86CgkqIHBvL3BsLnBvOgoJKiBwby9wdF9CUi5wbzoKCSogcG8vcm8ucG86CgkqIHBvL3J1LnBvOgoJKiBwby9zay5wbzoKCSogcG8vc2wucG86CgkqIHBvL3NxLnBvOgoJKiBwby9zci5wbzoKCSogcG8vc3YucG86CgkqIHBvL3RyLnBvOgoJKiBwby91ay5wbzoKCSogcG8vdmkucG86CgkqIHBvL3poX0NOLnBvOgoJKiBwby96aF9ISy5wbzoKCSogcG8vemhfVFcucG86CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSogd2luMzIvY29tbW9uL2dzdHVkcC1tYXJzaGFsLmM6CgkgIFJlbGVhc2UgMC4xMS4yCgoyMDEyLTAzLTIyIDExOjU1OjI4ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSAgTWVyZ2UgYnJhbmNoICdtYXN0ZXInIGludG8gMC4xMQoKMjAxMi0wMy0yMiAxMTo1MzoyNCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkgIE1lcmdlIGJyYW5jaCAnbWFzdGVyJyBpbnRvIDAuMTEKCSAgdW5wb3J0IGdka3BpeGJ1ZgoJICBub3QgbWVyZ2VkOiBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjU0ODUwCgkgIENvbmZsaWN0czoKCSAgZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtCgkgIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtZG9jcy5zZ21sCgkgIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtc2VjdGlvbnMudHh0CgkgIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaGllcmFyY2h5CgkgIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdmkueG1sCgkgIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbmcueG1sCgkgIGV4dC9mbGFjL2dzdGZsYWNkZWMuYwoJICBleHQvZmxhYy9nc3RmbGFjZGVjLmgKCSAgZXh0L2xpYnBuZy9nc3RwbmdkZWMuYwoJICBleHQvbGlicG5nL2dzdHBuZ2VuYy5jCgkgIGV4dC9zcGVleC9nc3RzcGVleGRlYy5jCgkgIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZmxhY3BhcnNlLmMKCSAgZ3N0L2Zsdi9nc3RmbHZtdXguYwoJICBnc3QvcnRwL2dzdHJ0cGR2ZGVwYXkuYwoJICBnc3QvcnRwL2dzdHJ0cGgyNjRkZXBheS5jCgoyMDEyLTAzLTIyIDExOjQ1OjExICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zbXB0ZS9nc3RzbXB0ZS5jOgoJICBzbXB0ZTogb25seSBzdGFydCBjb2xsZWN0cGFkczIgYXQgc3RhdGUgY2hhbmdlIHJhdGhlciB0aGFuIGluaXQKCjIwMTItMDMtMjEgMTM6MjI6NDMgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdWRpb2FtcGxpZnkuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXVkaW9keW5hbWljLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvZWNoby5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdWRpb3Bhbm9yYW1hLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cC1wYXlsb2FkaW5nLmM6CgkgIHRlc3RzOiB1cGRhdGUgZm9yIG1lbW9yeSBhcGkgY2hhbmdlcwoKMjAxMi0wMy0yMCAxMDoyNDowNSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICB1cGRhdGUgZm9yIG1lbW9yeSBhcGkgY2hhbmdlcwoKMjAxMi0wMy0xOSAxMjowMTo0MCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5jOgoJICBmbGFjcGFyc2U6IHBlcmZvcm0gYWRkaXRpb25hbCBmcmFtZSBjcmMgY2hlY2sgaWYgYXBwbGljYWJsZQoJICAuLi4gc3VjaCBhcyBhIGZyYW1lIGhlYWRlciBwYXJzaW5nIHRocm93aW5nIHNvbWUgc3VzcGljaW91cyB3YXJuaW5ncy4KCSAgU28gd2UgY2FuIGJlIGEgYml0IG1vcmUgY29udmluY2VkIHdlIGRldGVybWluZSB0aGUgcmlnaHQgZnJhbWUgZW5kLgoKMjAxMi0wMy0xOSAxMTo1ODoxNSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5jOgoJICBmbGFjcGFyc2U6IGF2b2lkIGluZGVmaW5pdGUgZXh0ZW5kZWQgc2VhcmNoIGZvciBmcmFtZSBlbmQgaWYgcG9zc2libGUKCSAgLi4uIHdoaWNoIGlzIHBhcnRpY3VsYXJseSB1c2VmdWwgaWYgbG9ja2VkIG9uIHRvIHRoZSB3cm9uZyBmcmFtZSBzdGFydAoJICBhbmQvb3IgY29ycnVwdCBmcmFtZSBiZWluZyBjcmMgY2hlY2tlZC4KCjIwMTItMDMtMTYgMTg6MjM6MjkgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5jOgoJKiBleHQvZmxhYy9nc3RmbGFjZGVjLmg6CgkgIGZsYWNkZWM6IGltcHJvdmUgZXJyb3IgaGFuZGxpbmcgYW5kIHJlc2lsaWVuY2UKCSAgLi4uIGJ5IG5vdGluZyB0aGF0IG9uZSBvY2N1cnJlZCBpbiB0aGUgZmlyc3QgcGxhY2UsIGFuZCB0aGVuIGFwcHJvcHJpYXRlbHkKCSAgaWdub3Jpbmcgc29tZSB0cmFuc2llbnQgb25lcy4KCjIwMTItMDMtMTkgMTA6MzM6NDggKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogbmVnb3RpYXRlIGFuIGFsbG9jYXRvciBvbiB0aGUgc3JjcGFkcwoJICBXZSBkbyBhbiBBTExPQ0FUSU9OIHF1ZXJ5IHRvIGZpbmQgb3V0IGFuIGFsbG9jYXRvciBhbmQgcGFyYW1ldGVycyBvbiB0aGUKCSAgc3JjcGFkcy4gVGhpcyB3YXkgZGVjb2RlcnMgKGFuZCBzaW5rcykgY2FuIHNwZWNpZnkgdGhlIG1lbW9yeSBhbmQgcGFyYW1ldGVycwoJICB0aGV5IHdhbnQgdXMgdG8gd3JpdGUgaW50by4KCjIwMTItMDMtMTcgMjA6NTM6MzEgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb3BhcnNlcnMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXZpLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdka3BpeGJ1Zi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbmcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFjay54bWw6CgkqIGV4dC9nZGtfcGl4YnVmL2dzdGdka3BpeGJ1Zm92ZXJsYXkuYzoKCSogZXh0L2dka19waXhidWYvZ3N0Z2RrcGl4YnVmb3ZlcmxheS5oOgoJICBkb2NzOiB1cGRhdGUgZG9jcyBmb3IgbmV3IHByb3BlcnRpZXMgYW5kIGFkZCBnZGtwaXhidWZvdmVybGF5IGVsZW1lbnQKCSAgU29tZXdoYXQgYXQgbGVhc3QuIE5vIGlkZWEgd2h5IGl0IGRvZXNuJ3QgcGljayB1cCB0aGUgZGVzY3JpcHRpb24KCSAgb3IgZXhhbXBsZSBwaXBlbGluZS4KCjIwMTItMDMtMTggMDA6MTE6MTkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2dka19waXhidWYvTWFrZWZpbGUuYW06CgkqIGV4dC9nZGtfcGl4YnVmL2dzdGdka3BpeGJ1Zi5jOgoJKiBleHQvZ2RrX3BpeGJ1Zi9nc3RnZGtwaXhidWZvdmVybGF5LmM6CgkgIGdka3BpeGJ1Zm92ZXJsYXk6IG1ha2UgbW9zdCBwcm9wZXJ0aWVzIGNvbnRyb2xsYWJsZSBhbmQgZmxhZyB0aGVtIGFzIG11dGFibGUtcGxheWluZwoKMjAxMi0wMy0xNyAyMzo0MTozOCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZ2RrX3BpeGJ1Zi9nc3RnZGtwaXhidWZvdmVybGF5LmM6CgkqIGV4dC9nZGtfcGl4YnVmL2dzdGdka3BpeGJ1Zm92ZXJsYXkuaDoKCSAgZ2RrcGl4YnVmb3ZlcmxheTogYWRkIHByb3BlcnRpZXMgZm9yIHBvc2l0aW9uaW5nIGFuZCBzaXppbmcKCjIwMTItMDMtMTcgMjA6MTg6MTkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2dka19waXhidWYvTWFrZWZpbGUuYW06CgkqIGV4dC9nZGtfcGl4YnVmL2dzdGdka3BpeGJ1Zi5jOgoJKiBleHQvZ2RrX3BpeGJ1Zi9nc3RnZGtwaXhidWZvdmVybGF5LmM6CgkqIGV4dC9nZGtfcGl4YnVmL2dzdGdka3BpeGJ1Zm92ZXJsYXkuaDoKCSAgZ2RrcGl4YnVmOiBhZGQgZ2RrcGl4YnVmb3ZlcmxheSBlbGVtZW50CgkgIFN0aWxsIGxhY2tzIGZlYXR1cmVzIHN1Y2ggYXMgcG9zaXRpb25pbmcgb3IgcmVzaXppbmcsIG9yCgkgIGFuaW1hdGlvbnMsIGJ1dCBpdCdzIHVzYWJsZSBhbHJlYWR5LCBhbmQgc3VwcG9ydHMgbG90cyBvZgoJICBmb3JtYXRzLgoKMjAxMi0wMy0xNiAyMjo1MjowMiArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hbHBoYS9nc3RhbHBoYWNvbG9yLmM6CgkqIGdzdC92aWRlb2ZpbHRlci9nc3RnYW1tYS5jOgoJKiBnc3QvdmlkZW9maWx0ZXIvZ3N0dmlkZW9iYWxhbmNlLmM6CgkgIGRvbid0IHBva2UgaW50byBiYXNldHJhbnNmb3JtIGludGVybmFscwoJICBCdXQgdXNlIHRoZSBtZXRob2RzCgoyMDEyLTAzLTE2IDIxOjQ3OjIxICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2xpYnBuZy9nc3RwbmdkZWMuYzoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6CgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcGFyc2UuYzoKCSogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6CgkgIGRvbid0IHBhc3MgcmFuZG9tIHBvaW50ZXJzIHRvIHB1bGxfcmFuZ2UKCjIwMTItMDMtMTUgMjI6MTU6NDcgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbW9ub3Njb3BlL2dzdG1vbm9zY29wZS5jOgoJICB1cGRhcnRlIGZvciBidWZmZXJwb29sIGNoYW5nZXMKCjIwMTItMDMtMTUgMjI6MTE6MTcgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZHYvZ3N0ZHZkZWMuYzoKCSogZXh0L2dka19waXhidWYvZ3N0Z2RrcGl4YnVmLmM6CgkqIGV4dC9qcGVnL2dzdGpwZWdkZWMuYzoKCSogZXh0L2xpYnBuZy9nc3RwbmdkZWMuYzoKCSogZ3N0L2dvb20vZ3N0Z29vbS5jOgoJKiBnc3QvZ29vbTJrMS9nc3Rnb29tLmM6CgkqIGdzdC9ydHAvZ3N0cnRwdnJhd2RlcGF5LmM6CgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJzaW5rLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzoKCSAgdXBkYXRlIGZvciBidWZmZXJwb29sIGNoYW5nZXMKCjIwMTItMDMtMTUgMjA6Mzc6NTYgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvYWFsaWIvZ3N0YWFzaW5rLmM6CgkqIGV4dC9kdi9nc3RkdmRlYy5jOgoJKiBleHQvZ2RrX3BpeGJ1Zi9nc3RnZGtwaXhidWYuYzoKCSogZXh0L2pwZWcvZ3N0anBlZ2RlYy5jOgoJKiBleHQvbGlicG5nL2dzdHBuZ2RlYy5jOgoJKiBnc3QvZ29vbS9nc3Rnb29tLmM6CgkqIGdzdC9nb29tMmsxL2dzdGdvb20uYzoKCSogZ3N0L21vbm9zY29wZS9nc3Rtb25vc2NvcGUuYzoKCSogZ3N0L3J0cC9nc3RydHB2cmF3ZGVwYXkuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnNpbmsuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJICB1cGRhdGUgZm9yIGFsbG9jYXRpb24gcXVlcnkgY2hhbmdlcwoKMjAxMS0wNy0xNCAxNjoyMzo0OSAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2NGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2NGRlcGF5Lmg6CgkgIHJ0cGgyNjRkZXBheTogTWFrZSBvdXRwdXQgaW4gQVZDIHN0cmVhbSBmb3JtYXQgd29yayBldmVuIHdpdGhvdXQgY29tcGxldGUgc3Byb3AtcGFyYW1ldGVyLXNldAoJICBUaGlzIGFsbG93cyBvdXRwdXR0aW5nIHN0cmVhbXMgaW4gQVZDIGZvcm1hdCBldmVuIGlmIHRoZSBTUFMvUFBTIGFyZSBzZW50IGluc2lkZQoJICB0aGUgUlRQIHN0cmVhbS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1NDg1MAoKMjAxMi0wMy0xNSAxNDowNjo0MCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkgIHVwZGF0ZSBmb3IgYnVmZmVycG9vbCBhcGkgY2hhbmdlCgoyMDEyLTAzLTE1IDEzOjM3OjM2ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R0bWYvZ3N0ZHRtZnNyYy5jOgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mZGVwYXkuYzoKCSAgdXBkYXRlIGZvciBtZW1vcnkgYXBpIGNoYW5nZXMKCjIwMTItMDMtMTUgMTM6MzY6MTcgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvYW5ub2RleC9nc3RjbW1sZGVjLmM6CgkqIGV4dC9hbm5vZGV4L2dzdGNtbWxlbmMuYzoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5jOgoJKiBleHQvanBlZy9nc3RqcGVnZW5jLmM6CgkqIGV4dC9zcGVleC9nc3RzcGVleGRlYy5jOgoJKiBleHQvc3BlZXgvZ3N0c3BlZXhlbmMuYzoKCSogZ3N0L2ludGVybGVhdmUvZGVpbnRlcmxlYXZlLmM6CgkqIGdzdC9pbnRlcmxlYXZlL2ludGVybGVhdmUuYzoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkqIGdzdC9sYXcvYWxhdy1kZWNvZGUuYzoKCSogZ3N0L2xhdy9hbGF3LWVuY29kZS5jOgoJKiBnc3QvbGF3L211bGF3LWRlY29kZS5jOgoJKiBnc3QvbGF3L211bGF3LWVuY29kZS5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSogZ3N0L211bHRpZmlsZS9nc3RzcGxpdGZpbGVzcmMuYzoKCSogZ3N0L211bHRpcGFydC9tdWx0aXBhcnRtdXguYzoKCSogZ3N0L3NoYXBld2lwZS9nc3RzaGFwZXdpcGUuYzoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlcjIuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuaDoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXVkaW9jaGViYmFuZC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdWRpb2NoZWJsaW1pdC5jOgoJICB1cGRhdGUgZm9yIG1lbW9yeSBhcGkgY2hhbmdlcwoKMjAxMi0wMy0xNCAyMTozNjowMyArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9qcGVnL2dzdGpwZWdlbmMuYzoKCSAgdXBkYXRlIGZvciBtZW1vcnkgYXBpIGNoYW5nZXMKCjIwMTItMDMtMTQgMTk6NTU6MzIgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvYWFsaWIvZ3N0YWFzaW5rLmM6CgkqIGV4dC9kdi9nc3RkdmRlYy5jOgoJKiBleHQvZ2RrX3BpeGJ1Zi9nc3RnZGtwaXhidWYuYzoKCSogZXh0L2pwZWcvZ3N0anBlZ2RlYy5jOgoJKiBleHQvbGlicG5nL2dzdHBuZ2RlYy5jOgoJKiBnc3QvZ29vbS9nc3Rnb29tLmM6CgkqIGdzdC9nb29tMmsxL2dzdGdvb20uYzoKCSogZ3N0L3J0cC9nc3RydHB2cmF3ZGVwYXkuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuaDoKCSogc3lzL3Y0bDIvZ3N0djRsMnNpbmsuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJICB0YWtlIHBhZGRpbmcgaW50byBhY2NvdW50CgoyMDEyLTAzLTE0IDE3OjA3OjUwICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L2ltYWdlZnJlZXplL2dzdGltYWdlZnJlZXplLmM6CgkqIGdzdC9pbWFnZWZyZWV6ZS9nc3RpbWFnZWZyZWV6ZS5oOgoJICBpbWFnZWZyZWV6ZTogcG9ydCB0byAwLjExCgoyMDEyLTAzLTE0IDE1OjQ1OjM4ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIGppdHRlcmJ1ZmZlcjogcmVwbHkgRkFMU2Ugb24gc2VyaWFsaXplZCBxdWVyaWVzCgoyMDEyLTAzLTEzIDIzOjA4OjM4ICswMTAwICBBbmRyZWogR2VsZW5iZXJnIDxhbmRyZWouZ2VsZW5iZXJnQHVkby5lZHU+CgoJKiBleHQvbGlicG5nL2dzdHBuZ2VuYy5jOgoJKiBleHQvbGlicG5nL2dzdHBuZ2VuYy5oOgoJICBwbmdlbmM6IGFkZCBzdXBwb3J0IGZvciA4LSBhbmQgMTYtYml0IGdyYXkgaW1hZ2VzCgkgIEFkZCBzdXBwb3J0IGZvciBkaXJlY3QgZW5jb2Rpbmcgb2YgOC0gYW5kIDE2LWJpdCBiaWcgZW5kaWFuIGdyYXkgaW1hZ2VzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjcyMDI1CgoyMDEyLTAzLTE0IDExOjIxOjMyICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBtcDR2cGF5LmM6CgkgIG1wNHZwYXk6IHdlIGNhbiBhbHNvIGhhbmRsZSB4LWRpdngKCjIwMTItMDMtMTQgMTA6Mzk6NTMgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2VuYy5jOgoJICB3YXZwYWNrZW5jOiBkbyBub3Qgc2V0IG91dHB1dCBjYXBzIGRpcmVjdGx5CgkgIC4uLiBidXQgdXNlIGJhc2UgY2xhc3MgZnVuY3Rpb24gaW5zdGVhZC4KCjIwMTItMDMtMTMgMjE6MzE6NDggKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cG1wNHZkZXBheS5jOgoJICBtcDR2ZGVwYXk6IGZpeCBidWZmZXIgaGFuZGxpbmcKCSAgRG9uJ3QgYWx3YXlzIG91dHB1dCB0aGUgcGF5bG9hZCBzdWJidWZmZXIsIHVzZSBhIHNlcGFyYXRlIHZhcmlhYmxlIHRvCgkgIG1ha2UgdGhpbmdzIGNsZWFyZXIgYW5kIHdpdGhvdXQgdGhlIGVycm9yLgoKMjAxMi0wMy0xMyAyMDo0OTo0MyArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC91ZHAvZ3N0bXVsdGl1ZHBzaW5rLmM6CgkgIHVkcHNpbms6IG1ha2UgYnVmZmVyLXNpemUgd29yayBhZ2FpbgoKMjAxMi0wMy0xMyAyMDozNjo1NiArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC91ZHAvZ3N0dWRwc3JjLmM6CgkgIHVkcHNyYzogZml4IFNPX1JDVkJVRiBoYW5kbGluZwoKMjAxMi0wMy0xMyAxOToyNjo0NyArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSAgcnRwc2Vzc2lvbjogZG9uJ3QgbGVhayB0aGUgYWRkcmVzcwoKMjAxMi0wMy0xMyAxOToyNjoyMyArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2NGRlcGF5LmM6CgkgIGgyNjRkZXBheTogdW5tYXAgb24gZW1wdHkgcGFja2V0CgoyMDEyLTAzLTEzIDE4OjA3OjE4ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBoMjY0cGF5LmM6CgkgIHJ0cGgyNjRwYXk6IGRvIERUUyBhbmQgUFRTIGNvcnJlY3RseQoKMjAxMi0wMy0xMyAxNzo1NDo1MCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBzZXQgRFRTIGFuZCBQVFMgb24gb3V0cHV0IGJ1ZmZlcnMKCSAgU2V0IFBUUyBhbmQgRFRTIG9uIG91dHB1dCBidWZmZXJzIGluc3RlYWQgb2YganVzdCB0aGUgUFRTLiBJbiBzdHJlYW1pbmcgY2FzZXMKCSAgeW91IHdhbnQgdG8gc3luY2hyb25pemVkIGVuY29kZWQgZGF0YSBiYXNlZCBvbiB0aGUgRFRTIGJlY2F1c2UgdGhhdCBpcwoJICBtb25vdG9uaWNhbGx5IGluY3JlYXNpbmcuCgoyMDEyLTAzLTEzIDE3OjU0OjI4ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4X2R1bXAuYzoKCSAgcXRkZW11eDogZGVidWcgYWRkaXRpb25hbCBzZHRwIGZsYWcKCjIwMTItMDMtMTMgMTc6Mjc6MzIgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wNGdkZXBheS5jOgoJICBydHA6IGZpeCB1bm1hcCBjYWxscwoKMjAxMi0wMy0xMyAxMzoyNTowOSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuaDoKCSAgcHVsc2U6IGZpeCBmb3JtYXRzLCB3ZSBjYW4gbm90IGhhbmRsZSBTOCBidXQgb25seSBVOAoKMjAxMi0wMy0xMyAxMjo0MDozNyArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mbGFjL2dzdGZsYWNlbmMuYzoKCSAgZmxhY2VuYzogZml4IHN0cmVhbWhlYWRlcnMKCSAgRml4IHRoZSBjYXBzIG9mIGZsYWNlbmMsIHRoZSByZWZlcmVuY2UgZW5jb2RlciBvbmx5IHN1cHBvcnQgMjQgYml0cyBpbgoJICAzMiBiaXRzLgoJICBTZXQgc3RyZWFtaGVhZGVyIG9uIG91dHB1dCBjYXBzLgoKMjAxMi0wMy0xMiAxNzoxNzowMSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tb25vc2NvcGUvZ3N0bW9ub3Njb3BlLmM6CgkgIHVwZGF0ZSBmb3IgY2FwcyBhcGkgY2hhbmdlcwoKMjAxMi0wMy0xMiAxNjo0MzoyNyArMDIwMCAgU3JlZXJlbmogQmFsYWNoYW5kcmFuIDxzcmVlcmVuai5iYWxhY2hhbmRyYW5AaW50ZWwuY29tPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmUuYWMgOiBidW1wIEdMaWIgcmVxdWlyZW1lbnQgdG8gMi4zMS4xNAoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjcxOTExCgoyMDEyLTAzLTEyIDE1OjI3OjI3ICswMTAwICBSb3NzIEJ1cnRvbiA8cm9zcyBhdCBidXJ0b25pbmkuY29tPgoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2VuYy5jOgoJICBmbGFjZW5jOiBnZW5lcmF0ZSBzZWVrdGFibGVzIGV2ZXJ5IDEwIHNlYyBieSBkZWZhdWx0CgkgIFNpbmNlIHRoaXMgaXMgd2hhdCB0aGUgY29tbWFuZCBsaW5lIHRvb2wgZG9lcyBhcyB3ZWxsLCBpdCBzZWVtcyBsaWtlCgkgIGEgYmV0dGVyIGRlZmF1bHQuCgoyMDEyLTAzLTEwIDEzOjQ0OjA4ICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYWRlbXV4OiBvbmx5IHVubG9jayBwYWQgd2hlbiBpdCB3YXMgbG9ja2VkCgkgIFRoaXMgZml4ZXMgdGhlIG11dGV4IGJlaW5nIHVubG9ja2VkIHRvbyBtdWNoIGFuZCBlbmRpbmcgdXAgYWxsb3dpbmcKCSAgb3RoZXIgdGhyZWFkcyB3aGVuIHRoZXkgc2hvdWxkIG5vdC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY3MTc3NgoKMjAxMi0wMy0wNyAxMzozOTo1MCArMDEwMCAgQW5kcmVqIEdlbGVuYmVyZyA8YW5kcmVqLmdlbGVuYmVyZ0B1ZG8uZWR1PgoKCSogZXh0L2xpYnBuZy9nc3RwbmdkZWMuYzoKCSAgcG5nZGVjOiBhZGQgc3VwcG9ydCBmb3IgdmlkZW8veC1yYXctZ3JheSBmb3JtYXRzCgkgIHBuZ2RlYyBjYW4gbm93IGRlY29kZSBncmF5IDgtIGFuZCAxNi1iaXQgaW1hZ2VzIHdpdGhvdXQgYWxwaGEgY2hhbm5lbAoJICBkaXJlY3QgdG8gdmlkZW8veC1yYXctZ3JheSBmb3JtYXQuIDE2LWJpdCBncmF5IGltYWdlcyBoYXZlIGJpZy1lbmRpYW4KCSAgZm9ybWF0LCBiZWNhdXNlIGl0J3MgbmF0aXZlIFBORyBlbmRpYW5uZXNzLiBHcmF5IGltYWdlcyB3aXRoIGFscGhhCgkgIGNoYW5uZWwgc3RpbGwgY29udmVydGVkIHRvIFJHQkEuCgkgIFNpZ25lZC1vZmYtYnk6IEFuZHJlaiBHZWxlbmJlcmcgPGFuZHJlai5nZWxlbmJlcmdAdWRvLmVkdT4KCjIwMTItMDMtMDggMTc6MDc6NTEgKzAxMDAgIE1hcmMgTGVlbWFuIDxtYXJjLmxlZW1hbkBnbWFpbC5jb20+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuaDoKCSAgZ3N0cnRzcHNyYzogZGlzYWJsZSBSVFNQIGtlZXAtYWxpdmUgb24gcmVxdWVzdAoKMjAxMi0wMy0xMiAxNDo0ODo0NyArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zbXB0ZS9nc3RzbXB0ZS5jOgoJICBzbXB0ZTogZml4IHN0cmlkZSBoYW5kbGluZwoKMjAxMi0wMy0xMiAxMjoyMzoxNSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9qcGVnL2dzdGpwZWdkZWMuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvdmlkZW9jcm9wLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3ZpZGVvZmlsdGVyLmM6CgkgIGZpeCBmb3IgY2FwcyBfbm9ybWFsaXplIGNoYW5nZXMKCjIwMTItMDMtMTIgMTE6NDc6MzUgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYWxwaGEvZ3N0YWxwaGFjb2xvci5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgZml4IGZvciBjYXBzIGFwaSBjaGFuZ2UKCjIwMTItMDMtMTIgMTA6NDM6NTcgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYWxwaGEvZ3N0YWxwaGFjb2xvci5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSogc3lzL29zczQvb3NzNC1hdWRpby5jOgoJICBmaXggZm9yIF9kb19zaW1wbGlmeSBjaGFuZ2VzCgoyMDEyLTAzLTEyIDA4OjQ4OjMyICswMTAwICBOaWNvbGEgTXVyaW5vIDxuaWNvbGEubXVyaW5vQGdtYWlsLmNvbT4KCgkqIGdzdC9mbHYvZ3N0Zmx2bXV4LmM6CgkqIGdzdC9pc29tcDQvZ3N0cXRtdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJICBnc3Q6IEZpeCBzb21lIHF1ZXJ5IGxlYWtzCgoyMDEyLTAzLTExIDE5OjA2OjU5ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R0bWYvZ3N0ZHRtZnNyYy5jOgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mc3JjLmM6CgkgIGZpeCBmb3IgY2FwcyBhcGkgY2hhbmdlcwoKMjAxMi0wMy0xMSAxOTowNjozNyArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9hYWxpYi9nc3RhYXNpbmsuYzoKCSogZXh0L2dka19waXhidWYvcGl4YnVmc2NhbGUuYzoKCSogZXh0L2pwZWcvZ3N0anBlZ2RlYy5jOgoJKiBleHQvanBlZy9nc3RqcGVnZW5jLmM6CgkqIGV4dC9wdWxzZS9wdWxzZXNyYy5jOgoJKiBnc3QvZ29vbS9nc3Rnb29tLmM6CgkqIGdzdC9nb29tMmsxL2dzdGdvb20uYzoKCSogZ3N0L3J0cC9nc3RydHBoMjYzcHBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRwYXkuYzoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlcjIuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJKiBzeXMveGltYWdlL2dzdHhpbWFnZXNyYy5jOgoJICBmaXggZm9yIGNhcHMgYXBpIGNoYW5nZXMKCjIwMTItMDMtMTAgMTA6NTE6NDQgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvanBlZy9nc3RqcGVnZGVjLmM6CgkqIGdzdC9hbHBoYS9nc3RhbHBoYWNvbG9yLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWFjcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYzNwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFtcnBhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZGNhcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RmbGFjcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RtcGVnYXVkaW9wYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdHdhdnBhY2twYXJzZS5jOgoJKiBnc3QvYXVwYXJzZS9nc3RhdXBhcnNlLmM6CgkqIGdzdC9nb29tMmsxL2dzdGdvb20uYzoKCSogZ3N0L2xhdy9hbGF3LWRlY29kZS5jOgoJKiBnc3QvbGF3L2FsYXctZW5jb2RlLmM6CgkqIGdzdC9sYXcvbXVsYXctZGVjb2RlLmM6CgkqIGdzdC9sYXcvbXVsYXctZW5jb2RlLmM6CgkgIGZpeCB0ZW1wbGF0ZSBjYXBzIHJlZmNvdW50CgoyMDEyLTAzLTA5IDE1OjUzOjMyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiBmaXggdXNlIG9mIEFDX0xBTkdfUFJPR1JBTQoJICBObyBuZWVkIHRvIGluY2x1ZGUgdGhlIGludCBtYWluICgpIHsgfSBiaXRzLCB0aGUgYm9keSBpcyBlbm91Z2guCgoyMDEyLTAzLTA5IDE1OjI1OjAyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiBmaXggYXV0b2dlbi5zaCB3YXJuaW5ncwoJICBjb25maWd1cmUuYWM6NDEwOiB3YXJuaW5nOiBBQ19MQU5HX0NPTkZURVNUOiBubyBBQ19MQU5HX1NPVVJDRSBjYWxsIGRldGVjdGVkIGluIGJvZHkKCjIwMTItMDMtMDggMTM6MDY6MTMgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvYWFsaWIvZ3N0YWFzaW5rLmM6CgkqIGV4dC9hYWxpYi9nc3RhYXNpbmsuaDoKCSAgYWFzaW5rOiBwcm9wb3NlIHZpZGVvbWV0YSB1cHRyZWFtCgkgIHN1YmNsYXNzIGZyb20gdmlkZW9zaW5rLgoJICBQcm9wb3NlIHZpZGVvbWV0YSB1cHN0cmVhbSBiZWNhdXNlIHdlIGNhbiBoYW5kbGUgaXQgd2l0aCB0aGUgdmlkZW8gYXBpLgoKMjAxMi0wMy0wOCAwMTo1Mzo1MCAtMDUwMCAgTWF0ZWogS25vcHAgPG1hdGVqLmtub3BwQGdtYWlsLmNvbT4KCgkqIGdzdC9pc29tcDQvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IGRvIG5vdCB1bnJlZiBzYW1wbGUgY2FwcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjcxNTM0CgoyMDEyLTAzLTA4IDExOjM2OjAxICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXV0b2RldGVjdC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy92aWRlb2Nyb3AuYzoKCSAgdGVzdHM6IGltcHJvdmUgbW9yZSB0ZXN0cwoKMjAxMi0wMy0wOCAxMToyMDo0MyArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2NhcHNzZXR0ZXIuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZ2RrcGl4YnVmc2luay5jOgoJICB0ZXN0czogZml4IHNvbWUgbW9yZSB0ZXN0cwoKMjAxMi0wMy0wNyAxNToyMjozNiArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOgoJICBydHBiaW46IGltcHJvdmUgY2xlYW51cAoJICBSZXVzZSBjbGVhbnVwIG1ldGhvZHMgdG8gbWFrZSBzdXJlIHdlIHJlbW92ZSBhbGwgcGFkcyBjb3JyZWN0bHkKCjIwMTItMDMtMDcgMTU6MDA6MjYgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6CgkgIHJ0cHNlc3Npb246IHNldCBjYXBzIHdpdGhvdXQgdGhlIGxvY2sKCSAgUmVsZWFzZSB0aGUgbG9jayBiZWZvcmUgc2V0dGluZyB0aGUgY2FwcyBvbiB0aGUgc3JjcGFkLCB3aGljaCB0cmlnZ2VycyBhbiBldmVudCwKCSAgd2hpY2ggY291bGQgZXZlbnR1YWxseSBjYWxsIGJhY2sgaW50byB1cyBhbmQgY2F1c2UgYSBkZWFkbG9jay4KCjIwMTItMDMtMDcgMTQ6NTU6MDggKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBwdGRlbXV4LmM6CgkgIHB0ZGVtdXg6IHNldCBjYXBzIGFmdGVyIGFjdGl2YXRpbmcgdGhlIHBhZAoJICBTZXQgdGhlIGNhcHMgYWZ0ZXIgd2UgYWN0aXZhdGVkIHRoZSBwYWQgb3IgZWxzZSBpdCB3aWxsIGp1c3QgZmFpbC4KCjIwMTItMDMtMDcgMTQ6NTQ6MTUgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbGF3L2FsYXcuYzoKCSogZ3N0L2xhdy9tdWxhdy5jOgoJICBsYXc6IGFkZCBsYXlvdXQgdG8gYXVkaW8gY2FwcwoKMjAxMi0wMy0wNyAxNDo1MTowOSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9sYXcvYWxhdy1kZWNvZGUuYzoKCSogZ3N0L2xhdy9hbGF3LWRlY29kZS5oOgoJKiBnc3QvbGF3L211bGF3LWRlY29kZS5jOgoJKiBnc3QvbGF3L211bGF3LWRlY29kZS5oOgoJICBsYXc6IHVzZSBHc3RBdWRpb0luZm8KCSAgVXNlIEdzdEF1ZGlvSW5mbyB0byBnZW5lcmF0ZSBvdXRwdXQgY2Fwcy4KCjIwMTItMDMtMDcgMDQ6MjA6MDAgLTA1MDAgIE1hdGVqIEtub3BwIDxtYXRlai5rbm9wcEBnbWFpbC5jb20+CgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4LmM6CgkgIHF0ZGVtdXg6IGNvdmVydCBhcnQgdGFnIHR5cGUgaXMgR3N0U2FtcGxlIG5vdCBHc3RCdWZmZXIgbm93CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NzE1MzQKCjIwMTItMDMtMDcgMTA6Mjg6NTggKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogcG8vUE9URklMRVMuaW46CgkgIHBvOiBmaXggUE9URklMRVMuaW4gZm9yIG5ldyB3YXZwYWNrcGFyc2UgbG9jYXRpb24gaW4gc291cmNlIHRyZWUKCjIwMTItMDMtMDYgMjE6NDQ6MzYgLTA4MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L3VkcC9nc3R1ZHBzaW5rLmM6CgkqIGdzdC91ZHAvZ3N0dWRwc3JjLmM6CgkgIHVkcDogQ2hhbmdlIHRoZSBkZWZhdWx0IHBvcnQgdG8gNTAwNAoJICB1ZHBzcmMvdWRwc2luayBhcmUgYWxtb3N0IGFsd2F5cyB1c2VkIHdpdGggUlRQLCBzbyBsZXQncyB1c2UgYW4KCSAgUlRQIHBvcnQgYXMgdGhlIGRlZmF1bHQgcG9ydC4gIEl0J3MgdW5jbGVhciB3aHkgNDk1MSB3YXMgdXNlZCwgaXQKCSAgZ29lcyBiYWNrIHRvIGVhcmx5IGNvbW1pdHMgaW4gQ1ZTLgoKMjAxMi0wMy0wNiAyMTozNjowMiAtMDgwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJICBNZXJnZSBicmFuY2ggJzAuMTEnIG9mIHNzaDovL2dpdC5mcmVlZGVza3RvcC5vcmcvZ2l0L2dzdHJlYW1lci9nc3QtcGx1Z2lucy1nb29kIGludG8gMC4xMQoKMjAxMi0wMy0wNiAxNTo1ODoyMCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvc3BlZXgvZ3N0c3BlZXhkZWMuYzoKCSAgc3BlZXhkZWM6IHVzZSBiYXNlIGNsYXNzIHRhZyBoYW5kbGluZyBoZWxwZXIKCSAgLi4uIHNvIGFzIHRvIGVuc3VyZSB0aGVzZSB0byBiZSBoYW5kbGVkIGFuZCBzZW50IGF0IHByb3BlciB0aW1lLgoKMjAxMi0wMy0wNiAxNDoyNToyNyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrc3RyZWFtcmVhZGVyLmM6CgkgIHdhdnBhY2s6IEZpeCBwb3NzaWJsZSB1bmRlcmZsb3cgb2YgdW5zaWduZWQgaW50ZWdlciB2YXJpYWJsZQoKMjAxMi0wMy0wNiAxNDoyMjo0MyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMveGltYWdlL2dzdHhpbWFnZXNyYy5jOgoJICB4aW1hZ2VzcmM6IEZpeCAnY29tcGFyaXNvbiBvZiB1bnNpZ25lZCBleHByZXNzaW9uID49IDAgaXMgYWx3YXlzIHRydWUnCgkgIFRoaXMgdmFyaWFibGUgY2FuIG5ldmVyIGJlIGJlbG93IHplcm8gYW55d2F5LgoKMjAxMi0wMy0wNiAxNDoxODozMyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IFVzZSBjb3JyZWN0IGVudW0gZm9yIHJldHVybiB2YWx1ZXMKCjIwMTItMDMtMDYgMTQ6MTY6MjEgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBkdmRlcGF5LmM6CgkgIGR2ZGVwYXk6IEZpeCAnY29tcGFyaXNvbiBvZiB1bnNpZ25lZCBleHByZXNzaW9uID49IDAgaXMgYWx3YXlzIHRydWUnIGNvbXBpbGVyIHdhcm5pbmcKCSAgVGhpcyB3YXMgYW4gYWN0dWFsIGJ1ZyBhcyBpdCBjb3VsZCd2ZSBjYXVzZWQgcmVhZGluZyBmcm9tCgkgIGludmFsaWQgbWVtb3J5IGFyZWFzIHdoZW4gdGhlIGlucHV0IGlzIGJyb2tlbi4KCjIwMTItMDMtMDYgMTM6MjE6MTIgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS9ncmVlZHloLmFzbToKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS90b21zbW9jb21wL1NlYXJjaExvb3BUb3AuaW5jOgoJICBkZWludGVybGFjZTogRml4ICd2YXJpYWJsZSAnb2xkYngnIGlzIHVuaW5pdGlhbGl6ZWQgd2hlbiB1c2VkIGhlcmUnIGNvbXBpbGVyIHdhcm5pbmdzCgoyMDEyLTAzLTA2IDEzOjE5OjI0ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5jOgoJICBkZWludGVybGFjZTogRml4ICdpbXBsaWNpdCBjb252ZXJzaW9uIGZyb20gZW51bWVyYXRpb24gdHlwZSAnR3N0RGVpbnRlcmxhY2VGaWVsZHMnIHRvIGRpZmZlcmVudCBlbnVtZXJhdGlvbiB0eXBlICdHc3REZWludGVybGFjZU1vZGUnJyBjb21waWxlciB3YXJuaW5nCgoyMDEyLTAzLTA1IDE1OjI5OjU2ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2dka19waXhidWYvZ3N0Z2RrcGl4YnVmLmM6CgkqIGV4dC9nZGtfcGl4YnVmL2dzdGdka3BpeGJ1Zi5oOgoJICBnZGs6IGNsZWFudXBzIGFuZCBmaXggcm93c3RyaWRlCgkgIEZpeCB0aGUgb3V0cHV0IHJvd3N0cmlkZSwgd2UgbmVlZCB0byB0YWtlIHRoZSBzdHJpZGUgb2YgdGhlIG91dHB1dCB2aWRlbyBmcmFtZS4KCSAgU2luY2Ugd2UgYXJlIGFsc28gZGVhbGluZyB3aXRoIHBsYW5lcywgdGFrZSB0aGUgcGxhbmUgZGF0YSBhbmQgc3RyaWRlLgoJICBEb24ndCBzdG9yZSB0aGUgc2FtZSBpbmZvIHR3aWNlIGluIGRpZmZlcmVudCB2YXJpYWJsZXMuCgoyMDEyLTAzLTA1IDEzOjMxOjQ0ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2dka19waXhidWYvZ3N0Z2RrcGl4YnVmLmM6CgkgIGdka3BpeGJ1ZjogZml4IGV2ZW50IGhhbmRsaW5nCgoyMDEyLTAzLTA1IDEyOjIwOjA3ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy93YXZwYWNrZGVjLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3dhdnBhY2tlbmMuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvd2F2cGFja3BhcnNlLmM6CgkqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy93YXZwYWNrLmM6CgkgIHRlc3RzOiBwb3J0IHdhdnBhY2sgdGVzdHMgdG8gMC4xMQoKMjAxMi0wMy0wNSAxMzozNjozOSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tkZWMuYzoKCSogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2RlYy5oOgoJICB3YXZwYWNrZGVjOiBwb3J0IHRvIDAuMTEKCjIwMTItMDMtMDUgMTI6MTc6MzkgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2NvbW1vbi5jOgoJKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrY29tbW9uLmg6CgkqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tlbmMuYzoKCSAgd2F2cGFja2VuYzogcG9ydCB0byAwLjExCgoyMDEyLTAzLTA1IDEzOjM0OjM2ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSogZXh0L3dhdnBhY2svTWFrZWZpbGUuYW06CgkqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2suYzoKCSogZXh0L3dhdnBhY2svZ3N0d2F2cGFja3BhcnNlLmM6CgkqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2twYXJzZS5oOgoJICB3YXZwYWNrOiByZW1vdmUgbGVnYWN5IHdhdnBhY2twYXJzZQoKMjAxMi0wMy0wNSAxMjoxNTo0NCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL01ha2VmaWxlLmFtOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdHdhdnBhY2twYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdHdhdnBhY2twYXJzZS5oOgoJKiBnc3QvYXVkaW9wYXJzZXJzL3BsdWdpbi5jOgoJICBhdWRpb3BhcnNlcnM6IHBvcnQgd2F2cGFja3BhcnNlIHRvIDAuMTEKCjIwMTItMDMtMDUgMTM6Mjk6NTkgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSAgTWVyZ2UgYnJhbmNoICdtYXN0ZXInIGludG8gMC4xMQoJICBDb25mbGljdHM6CgkgIGV4dC93YXZwYWNrL2dzdHdhdnBhY2twYXJzZS5jCgkgIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmMKCSAgc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuaAoJICBzeXMvdjRsMi9nc3R2NGwydmlkZW9vdmVybGF5LmMKCjIwMTItMDMtMDUgMTI6NDM6MTcgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIHgtcmF3LWJheWVyIC0+IHgtYmF5ZXIKCjIwMTItMDMtMDUgMTE6MTc6MzAgKzAxMDAgIE9sZWtzaWogUmVtcGVsIChBbGV4ZXkgRmlzaGVyKSA8YnVnLXRyYWNrQGZpc2hlci1wcml2YXQubmV0PgoKCSogc3lzL3Y0bDIvZ3N0djRsMnhvdmVybGF5LmM6CgkgIHY0bDJzaW5rOiBkb24ndCB1c2UgZGVwcmVjYXRlZCBYS2V5Y29kZVRvS2V5c3ltCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NzEyOTkKCSAgU2lnbmVkLW9mZi1ieTogT2xla3NpaiBSZW1wZWwgKEFsZXhleSBGaXNoZXIpIDxidWctdHJhY2tAZmlzaGVyLXByaXZhdC5uZXQ+CgoyMDEyLTAzLTA1IDEyOjAzOjAxICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3hpbWFnZS9NYWtlZmlsZS5hbToKCSogc3lzL3hpbWFnZS9nc3R4aW1hZ2VzcmMuYzoKCSAgeGltYWdlOiB1c2UgbmV3IHN0eWxlIGNhcHMKCjIwMTItMDMtMDUgMTA6NDk6MzMgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2RlYy5jOgoJICB3YXZwYWNrZGVjOiBhbGxvdyBzb21lIHRpbWVzdGFtcCB0b2xlcmFuY2UgdG8gYXJyYW5nZSBmb3IgcGVyZmVjdCB0aW1lc3RhbXBpbmcKCSAgLi4uIHdoaWNoIGFsc28gaGFwcGVucyB0byBtYWtlIHNvbWUgbW9yZSB1bml0IHRlc3RzIHBhc3MuCgoyMDEyLTAzLTA1IDEwOjQ3OjQ0ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tkZWMuYzoKCSAgd2F2cGFja2RlYzogZml4IGNvcHlpbmcgb3V0cHV0IGRhdGEKCjIwMTItMDMtMDUgMTA6NDY6NTEgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2VuYy5jOgoJICB3YXZwYWNrZW5jOiByZXN0b3JlIGxlZ2FjeSBidWZmZXIgb2Zmc2V0IGRlY29yYXRpbmcgc29tZXdoYXQKCSAgLi4uIGF0IGxlYXN0IHN1ZmZpY2llbnRseSB0byBhaWQgaW4gcmVjb2duaXppbmcgcmV3cml0dGVuIGhlYWRlciBidWZmZXIKCSAgbWFraW5nIHVuaXQgdGVzdCBwYXNzLgoKMjAxMi0wMy0wNSAxMDo1MTozMyArMDEwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0d2F2cGFja3BhcnNlLmM6CgkgIHdhdnBhY2twYXJzZTogaW5pdGlhbGl6ZSBoZWFkZXIgdG8gc2lsZW5jZSBvbGRlciBnY2MgdmVyc2lvbnMKCjIwMTItMDMtMDUgMTA6NDU6NDYgKzAxMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrcGFyc2UuYzoKCSAgd2F2cGFja3BhcnNlOiByZW1vdmUgZW1wdHkgbGluZXMgaW4gdmFyYWJsZSBkZWNsYXJhdGlvbnMgY2F1c2VkIGJ5IG9sZCBpbmRlbnQKCjIwMTItMDMtMDUgMTA6NDQ6NTQgKzAxMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvamFjay9nc3RqYWNrLmg6CgkgIGphY2s6IGZpeCBvYnZpb3VzIHdyb25nIGRlZmluaXRpb24gZm9yIHRoZSBtYXN0ZXIgZmxhZwoKMjAxMi0wMy0wNCAxOTo1NToyNiArMDEwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9qYWNrL2dzdGphY2suYzoKCSogZXh0L2phY2svZ3N0amFjay5oOgoJKiBleHQvamFjay9nc3RqYWNrYXVkaW9jbGllbnQuYzoKCSogZXh0L2phY2svZ3N0amFja2F1ZGlvc2luay5jOgoJKiBleHQvamFjay9nc3RqYWNrYXVkaW9zaW5rLmg6CgkqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NyYy5jOgoJKiBleHQvamFjay9nc3RqYWNrYXVkaW9zcmMuaDoKCSAgamFjazogY2hhbmdlIHRoZSB0cmFuc3BvcnQtbW9kZSBlbnVtIGludG8gZmxhZ3MKCSAgT25lIGNhbiB1c2UgKG9yIG5vdCB1c2UpIG1hc3RlciBhbmQgc2xhdmUgbW9kZSBpbmRlcGVuZGVudGx5LgoKMjAxMi0wMy0wMiAxMTo0OTowMiAtMDUwMCAgQW50b2luZSBUcmVtYmxheSA8aGV4YTAwQGdtYWlsLmNvbT4KCgkqIGdzdC9hdmkvZ3N0YXZpbXV4LmM6CgkgIGF2aW11eDogc3VwcG9ydCB1cCB0byA2IGNoYW5uZWxzIG9mIEFDLTMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY3MTIyMAoKMjAxMi0wMy0wMyAxMzowNDo0OCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJICB2NGwyOiBjbGVhciBESVNDT05UIGZsYWcgd2hlbiByZWN5Y2xpbmcgYnVmZmVycyBpbnRvIHRoZSBidWZmZXIgcG9vbAoJICBUaGUgYmFzZSBjbGFzcyBtYXkgaGF2ZSBzZXQgdGhlIERJU0NPTlQgZmxhZyBvbiB0aGUgZmlyc3QgYnVmZmVyIHB1c2hlZAoJICBvdXQuIFdlIG5lZWQgdG8gY2xlYXIgdGhhdCB3aGVuIHJlY3ljbGluZyBidWZmZXJzIGJhY2sgaW50byB0aGUgYnVmZmVyCgkgIHBvb2wsIG90aGVyd2lzZSB3ZSBjb25zdGFudGx5IHB1c2ggb3V0IGJ1ZmZlcnMgd2l0aCB0aGUgZGlzY29udCBmbGFnCgkgIHNldCwgd2hpY2ggbWlnaHQgdXBzZXQgZG93bnN0cmVhbSBlbGVtZW50cywgZXNwLiBmb3IgY29tcHJlc3NlZAoJICBmb3JtYXRzIGxpa2UgbXBlZy10cy4KCjIwMTItMDMtMDEgMTQ6MTU6MjkgKzAxMDAgIE9sZWtzaWogUmVtcGVsIChBbGV4ZXkgRmlzaGVyKSA8YnVnLXRyYWNrQGZpc2hlci1wcml2YXQubmV0PgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuaDoKCSAgdjRsMnNyYzogZml4IHY0bDJfbXVubWFwKCkgZm9yIGNvbXByZXNzZWQgZm9ybWF0cwoJICBNYWtlIHN1cmUgd2UgYWx3YXlzIGNhbGwgbXVubWFwKCkgd2l0aCB0aGUgc2FtZSBzaXplIHdlIGNhbGxlZCBtbWFwKCkKCSAgd2l0aCBiZWZvcmUuCgkgIEN1cnJlbnQgdjRsMnNyYyB1c2VzIHRoZSBzYW1lIHN0cnVjdHVyZSBmb3IgVklESU9DX1FVRVJZQlVGLCBWSURJT0NfUUJVRgoJICBhbmQgdjRsMl9tdW5tYXAgY2FsbHMuIFRoZSBwcm9ibGVtIGlzIHRoYXQgdGhlIHZpZGVvIGJ1ZmZlciBzaXplIChsZW5ndGgpCgkgIG1heSB2YXJ5IGZvciBjb21wcmVzc2VkIG9yIGVtdWxhdGVkIGJ1ZnMuIFZJRElPQ19RQlVGIHdpbGwgY2hhbmdlIGl0IGlmCgkgIHdlIHBhc3MgdGhlIHBvaW50ZXIgb2YgYSB2NGwyX2J1ZmZlci4gVGhpcyBpcyB3aHkgd2Ugc2hvdWxkIGF2b2lkIHVzaW5nCgkgIHNhbWUgdmFyaWFibGUgZm9yIG1tYXAgYW5kIHZpZGVvIGJ1ZmZlcnMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NzExMjYKCjIwMTItMDMtMDIgMTE6MTc6MzMgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvZngvYXVkaW9maXJmaWx0ZXIuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9paXJmaWx0ZXIuYzoKCSogZ3N0L2Zsdi9nc3RpbmRleC5jOgoJICBnc3Q6IFVwZGF0ZSBmb3IgdGhlIGdzdG1hcnNoYWwuW2NoXSByZW1vdmFsCgoyMDEyLTAzLTAyIDEwOjEzOjA4ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9wdWxzZS9wdWxzZW1peGVyY3RybC5oOgoJKiBnc3QvdmlkZW9maWx0ZXIvZ3N0dmlkZW9iYWxhbmNlLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJjb2xvcmJhbGFuY2UuaDoKCSAgbWl4ZXIvY29sb3JiYWxhbmNlOiBVcGRhdGUgZm9yIEFQSSBjaGFuZ2VzCgoyMDEyLTAzLTAxIDE3OjE1OjU3ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2FhbGliL2dzdGFhc2luay5jOgoJICBhYXNpbms6IGZpeCBzdHJpZGUKCjIwMTItMDMtMDEgMTE6MzY6MzQgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9NYWtlZmlsZS5hbToKCSogZ3N0L2F1ZGlvcGFyc2Vycy9wbHVnaW4uYzoKCSAgYXVkaW9wYXJzZXJzOiBkaXNhYmxlIG5vbi1wb3J0ZWQgd2F2cGFja3BhcnNlCgoyMDEyLTAzLTAxIDExOjI5OjUwICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkgIE1lcmdlIGJyYW5jaCAnbWFzdGVyJyBpbnRvIDAuMTEKCSAgQ29uZmxpY3RzOgoJICBleHQvd2F2cGFjay9nc3R3YXZwYWNrZW5jLmMKCSAgdGVzdHMvY2hlY2svZWxlbWVudHMvYXVkaW9paXJmaWx0ZXIuYwoJICB0ZXN0cy9leGFtcGxlcy92NGwyL3Byb2JlLmMKCjIwMTItMDItMjkgMjI6MzE6MjEgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2dka19waXhidWYvZ3N0Z2RrcGl4YnVmc2luay5jOgoJICBnZGtwaXhidWZzaW5rOiByZW1vdmUgZGVwcmVjYXRlZCBwcm9wZXJ0eQoKMjAxMi0wMi0yOSAyMjozMDo1NiArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZ2RrX3BpeGJ1Zi9nc3RnZGtwaXhidWYuYzoKCSAgZ2RrcGl4YnVmc2NhbGU6IHJlbW92ZSBkZXByZWNhdGVkIHByb3BlcnR5CgoyMDEyLTAyLTI5IDIyOjI4OjAxICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L2dka19waXhidWYvZ3N0Z2RrcGl4YnVmc2luay5jOgoJKiBleHQvZ2RrX3BpeGJ1Zi9nc3RnZGtwaXhidWZzaW5rLmg6CgkgIGdka3BpeGJ1ZnNpbms6IHBvcnQgdG8gMC4xMQoKMjAxMi0wMi0yOSAyMjoyNToyMyArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZ2RrX3BpeGJ1Zi9waXhidWZzY2FsZS5jOgoJKiBleHQvZ2RrX3BpeGJ1Zi9waXhidWZzY2FsZS5oOgoJICBnZGtwaXhidWZzY2FsZTogcG9ydCB0byAwLjExCgoyMDEyLTAyLTI5IDIyOjI0OjQ2ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9nZGtfcGl4YnVmL2dzdGdka3BpeGJ1Zi5jOgoJKiBleHQvZ2RrX3BpeGJ1Zi9nc3RnZGtwaXhidWYuaDoKCSAgZ2RrcGl4YnVmZGVjOiBwb3J0IHRvIDAuMTEKCjIwMTItMDItMjkgMTc6MjY6MDEgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5oOgoJKiBzeXMvdjRsMi9nc3R2NGwyc2luay5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkqIHN5cy94aW1hZ2UveGltYWdldXRpbC5jOgoJKiBzeXMveGltYWdlL3hpbWFnZXV0aWwuaDoKCSAgdXBkYXRlIGZvciBtZXRhZGF0YSBBUEkgY2hhbmdlcwoKMjAxMi0wMi0yOCAxMzo1MToxMCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL01ha2VmaWxlLmFtOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdHdhdnBhY2twYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdHdhdnBhY2twYXJzZS5oOgoJKiBnc3QvYXVkaW9wYXJzZXJzL3BsdWdpbi5jOgoJICBhdWRpb3BhcnNlcnM6IGFkZCBiYXNlcGFyc2UgYmFzZWQgd2F2cGFja3BhcnNlCgoyMDEyLTAyLTI4IDExOjM4OjU5ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSogc3lzL3hpbWFnZS94aW1hZ2V1dGlsLmM6CgkgIHVwZGF0ZSBmb3IgbWV0YWRhdGEgdGFncwoKMjAxMi0wMi0yNyAyMzo0NjoxNSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZGVjLmM6CgkqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tkZWMuaDoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvd2F2cGFja2RlYy5jOgoJICB3YXZwYWNrZGVjOiBhZGp1c3QgdG8gYXVkaW8gZm9ybWF0IGxpbWl0YXRpb25zCgkgIC4uLiB3aGljaCBkb2VzIG5vdCBhbGxvdyBleHByZXNzaW5nIGFyYml0cmFyeSBkZXB0aCBpbiBhIEdzdEF1ZGlvRm9ybWF0LgoJICBBbHNvIGFkanVzdCB1bml0IHRlc3QgdG8gbW9kaWZpZWQgYmVoYXZpb3VyLgoKMjAxMi0wMi0yNyAyMzo0NjowOCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZGVjLmM6CgkqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tlbmMuYzoKCSAgd2F2cGFja2RlYzogZGV0ZXJtaW5lIGRlcHRoIGZyb20gYnl0ZXMgcGVyIHNhbXBsZQoJICAuLi4gcmF0aGVyIHRoYW4gZnJvbSBiaXRzIHBlciBzYW1wbGUsIHNpbmNlIHNwZWMgc3RhdGVzIHZhbHVlcyBhcmUgYWxyZWFkeQoJICBsZWZ0IGp1c3RpZmllZCB3LnIudC4gYml0cyBwZXIgc2FtcGxlIGJ1dCBub3Qgdy5yLnQuIGJ5dGVzIHBlciBzYW1wbGUKCSAgKGFuZCBzbyB0aGUgbGF0dGVyIGRldGVybWluZXMgdGhlIG5vcm1hbGl6YXRpb24sIG9yIGluZGljYXRlZCBkZXB0aCkuCgoyMDEyLTAyLTI3IDIzOjQ2OjAzICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tkZWMuYzoKCSogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2RlYy5oOgoJICB3YXZwYWNrZGVjOiBwb3J0IHRvIGF1ZGlvZGVjb2RlcgoKMjAxMi0wMi0yNyAyMzo0NTo1NCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZW5jLmM6CgkqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tlbmMuaDoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvd2F2cGFja2VuYy5jOgoJICB3YXZwYWNrZW5jOiBwb3J0IHRvIGF1ZGlvZW5jb2RlcgoJICBBbHNvIGFkanVzdCB1bml0IHRlc3QgdG8gc2xpZ2h0bHkgbW9kaWZpZWQgYmVoYXZpb3VyLgoKMjAxMi0wMi0yNyAxNDo0NzoyNSArMDEwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvYW5ub2RleC9nc3Rhbm5vZGV4LmM6CgkqIGV4dC9hbm5vZGV4L2dzdGNtbWxwYXJzZXIuYzoKCSogZXh0L2Fubm9kZXgvZ3N0Y21tbHRhZy5jOgoJKiBleHQvcHVsc2UvcHVsc2Vwcm9iZS5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb2ZpcmZpbHRlci5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb2lpcmZpbHRlci5jOgoJKiBnc3QvaW50ZXJsZWF2ZS9pbnRlcmxlYXZlLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSogZ3N0L3VkcC9nc3RkeW51ZHBzaW5rLmM6CgkqIGdzdC91ZHAvZ3N0bXVsdGl1ZHBzaW5rLmM6CgkqIHN5cy9vc3M0L29zczQtYXVkaW8uYzoKCSogc3lzL29zczQvb3NzNC1wcm9wZXJ0eS1wcm9iZS5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvZmlyZmlsdGVyLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvaWlyZmlsdGVyLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2NtbWxkZWMuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvaW50ZXJsZWF2ZS5jOgoJKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvd2F2ZW5jLmM6CgkqIHRlc3RzL2V4YW1wbGVzL2F1ZGlvZngvZmlyZmlsdGVyLWV4YW1wbGUuYzoKCSogdGVzdHMvZXhhbXBsZXMvYXVkaW9meC9paXJmaWx0ZXItZXhhbXBsZS5jOgoJKiB0ZXN0cy9leGFtcGxlcy9wdWxzZS9wdWxzZS5jOgoJKiB0ZXN0cy9leGFtcGxlcy9ydHAvc2VydmVyLWFsc2FzcmMtUENNQS5jOgoJKiB0ZXN0cy9leGFtcGxlcy92NGwyL3Byb2JlLmM6CgkqIHRlc3RzL2ljbGVzL3Rlc3Qtb3NzNC5jOgoJICBTdXBwcmVzcyBkZXByZWNhdGlvbiB3YXJuaW5ncyBpbiBzZWxlY3RlZCBmaWxlcywgZm9yIGdfdmFsdWVfYXJyYXlfKiBtb3N0bHkKCjIwMTItMDItMjcgMTM6MDk6MzEgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvc3BlZXgvZ3N0c3BlZXhlbmMuYzoKCSAgc3BlZXhlbmM6IGNoYWluIHVwIHRvIHBhcmVudCBldmVudCBoYW5kbGVyCgoyMDEyLTAyLTI3IDEzOjA1OjMzICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2VuYy5jOgoJICBmbGFjZW5jOiBmaXggZXZlbnQgaGFuZGxpbmcKCSAgRml4IGRvZGd5IHNlZ21lbnQgZXZlbnQgaGFuZGxpbmcKCSAgQ2hhaW4gdXAgdG8gcGFyZW50IGV2ZW50IGhhbmRsZXIKCjIwMTItMDItMjcgMDk6MTQ6MDQgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJICB2NGwyOiB1c2UgcHVibGljIGFwaQoJICBpbnN0ZWFkIG9mIHBva2luZyBpbnRvIHRoZSBwcml2YXRlIHN0cnVjdHVyZXMgb2YgdGhlIGJhc2UgY2xhc3MKCjIwMTItMDItMjcgMDE6MDk6MTEgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2Zsdi9nc3RmbHZtdXguYzoKCSogZ3N0L2lzb21wNC9nc3RxdG11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkgIGZsdm11eCwgbWF0cm9za2FtdXgsIHF0bXV4OiBpZiBpbiBkb3VidCBhYm91dCBkb3duc3RyZWFtIHNlZWthYmlsaXR5IGRlZmF1bHQgdG8gc3RyZWFtaW5nPXRydWUKCSAgSWYgZG93bnN0cmVhbSBkaWRuJ3QgYW5zd2VyIG91ciBTRUVLSU5HIHF1ZXJ5IGFuZCB0b2xkIHVzCgkgIGl0J3Mgc2Vla2FibGUsIGRlZmF1bHQgdG8gc3RyZWFtaW5nPXRydWUuIFdlIGNvdWxkbid0IGRvCgkgIHRoaXMgaW4gMC4xMCBmb3IgYmFja3dhcmRzIGNvbXBhdGliaWxpdHkgcmVhc29ucywgYnV0IHdlCgkgIGNhbiBpbiAwLjExLiBQbGF5IGl0IHNhZmUuCgoyMDEyLTAyLTI3IDAxOjAwOjAzICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkgIE1lcmdlIHJlbW90ZS10cmFja2luZyBicmFuY2ggJ29yaWdpbi9tYXN0ZXInIGludG8gMC4xMQoJICBDb25mbGljdHM6CgkgIGdzdC9hdWRpb3BhcnNlcnMvZ3N0bXBlZ2F1ZGlvcGFyc2UuYwoKMjAxMi0wMi0yNyAwMDo1NjozNyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJICBNZXJnZSBjb21taXQgJ2Y5MjA3NzIyY2E4ZmQ4ZGNjMWU3MjE1ZDhhZjg1ZWZlNGRlYmZkZjQnIGludG8gMC4xMQoKMjAxMi0wMi0yNyAwMDo1NTozOCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdG1wZWdhdWRpb3BhcnNlLmM6CgkgIG1wZWdhdWRpb3BhcnNlOiBmaXggdXAgYWZ0ZXIgbWVyZ2UKCjIwMTItMDItMjcgMDA6NDg6NTcgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSAgTWVyZ2UgY29tbWl0ICczODUxNmFkMzY3MTI4ZDgzZjllMTU2NTI5MDE4YWRiNDQzM2NkMzI4JyBpbnRvIDAuMTEKCSAgQ29uZmxpY3RzOgoJICBleHQvcHVsc2UvcHVsc2VhdWRpb3NpbmsuYwoJICBnc3QvYXVkaW9wYXJzZXJzL2dzdG1wZWdhdWRpb3BhcnNlLmMKCjIwMTItMDItMjYgMjA6Mzk6NTIgKzAxMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogZ3N0L2dvb20yazEvZ3N0Z29vbS5jOgoJICBnb29tMmsxOiBmaXggY29tcGlsZXIgd2FybmluZwoKMjAxMi0wMi0yNiAyMDozMDoyNCArMDEwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdG1wZWdhdWRpb3BhcnNlLmM6CgkgIG1wZWdhdWRpb3BhcnNlOiBmaXggY29tcGlsZXIgd2FybmluZwoKMjAxMi0wMi0yNSAxNTo1NToxNSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBjcmVhdGUgc3RyZWFtYWJsZSBvdXRwdXQgaWYgZG93bnN0cmVhbSBpcyBub3Qgc2Vla2FibGUKCSAgSWdub3JlIHRoZSAic3RyZWFtYWJsZSIgcHJvcGVydHkgc2V0dGluZyBhbmQgY3JlYXRlIHN0cmVhbWFibGUKCSAgb3V0cHV0IGlmIGRvd25zdHJlYW0gaXMga25vd24gbm90IHRvIGJlIHNlZWthYmxlIChhcyBxdWVyaWVkCgkgIHZpYSBhIFNFRUtBQkxFIHF1ZXJ5KS4KCSAgRml4ZXMgcGlwZWxpbmVzIGxpa2UgcXRtdXggISBhcHBzaW5rIHBvc3NpYmx5IGNyZWF0aW5nIHNlZW1pbmdseQoJICBjb3JydXB0ZWQgb3V0cHV0IGlmIHN0cmVhbWFibGUgaGFzIG5vdCBiZWVuIHNldCB0byB0cnVlLgoKMjAxMi0wMi0yNSAxNTo0ODo0NCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZmx2L2dzdGZsdm11eC5jOgoJICBmbHZtdXg6IGNyZWF0ZSBzdHJlYW1hYmxlIG91dHB1dCBpZiBkb3duc3RyZWFtIGlzIG5vdCBzZWVrYWJsZQoJICBJZ25vcmUgdGhlICJzdHJlYW1hYmxlIiBwcm9wZXJ0eSBzZXR0aW5nIGFuZCBjcmVhdGUgc3RyZWFtYWJsZQoJICBvdXRwdXQgaWYgZG93bnN0cmVhbSBpcyBrbm93biBub3QgdG8gYmUgc2Vla2FibGUgKGFzIHF1ZXJpZWQKCSAgdmlhIGEgU0VFS0FCTEUgcXVlcnkpLgoJICBGaXhlcyBwaXBlbGluZXMgbGlrZSBmbHZtdXggISBhcHBzaW5rIHBvc3NpYmx5IGNyZWF0aW5nIHNlZW1pbmdseQoJICBjb3JydXB0ZWQgb3V0cHV0IGlmIHN0cmVhbWFibGUgaGFzIG5vdCBiZWVuIHNldCB0byB0cnVlLgoKMjAxMi0wMi0yNSAxNTo0MDozOSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkgIG1hdHJvc2thbXV4OiBjcmVhdGUgc3RyZWFtYWJsZSBvdXRwdXQgaWYgZG93bnN0cmVhbSBpcyBub3Qgc2Vla2FibGUKCSAgSWdub3JlIHRoZSAic3RyZWFtYWJsZSIgcHJvcGVydHkgc2V0dGluZyBhbmQgY3JlYXRlIHN0cmVhbWFibGUKCSAgb3V0cHV0IGlmIGRvd25zdHJlYW0gaXMga25vd24gbm90IHRvIGJlIHNlZWthYmxlIChhcyBxdWVyaWVkCgkgIHZpYSBhIFNFRUtBQkxFIHF1ZXJ5KS4KCSAgRml4ZXMgcGlwZWxpbmVzIGxpa2Ugd2VibW11eCAhIGFwcHNpbmsgY3JlYXRpbmcgc2VlbWluZ2x5CgkgIGNvcnJ1cHRlZCBvdXRwdXQgaWYgc3RyZWFtYWJsZSBoYXMgbm90IGJlZW4gc2V0IHRvIHRydWUuCgoyMDEyLTAyLTI0IDExOjAzOjQ4ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2FscGhhL2dzdGFscGhhLmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdGNhcHNzZXR0ZXIuYzoKCSogZ3N0L3ZpZGVvY3JvcC9nc3R2aWRlb2Nyb3AuYzoKCSogZ3N0L3ZpZGVvZmlsdGVyL2dzdHZpZGVvZmxpcC5jOgoJICB1cGRhdGUgZm9yIGJhc2V0cmFuc2Zvcm0gY2hhbmdlCgoyMDEyLTAyLTI0IDEwOjI2OjI2ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSogc3lzL3hpbWFnZS94aW1hZ2V1dGlsLmM6CgkgIHVwZGF0ZSBmb3IgbWV0YWRhdGEgY2hhbmdlCgoyMDEyLTAyLTIzIDA4OjQyOjI1IC0wODAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZlbmNlLnhtbDoKCSogZ3N0L2RlYnVndXRpbHMvTWFrZWZpbGUuYW06CgkqIGdzdC9kZWJ1Z3V0aWxzL2VmZW5jZS5jOgoJKiBnc3QvZGVidWd1dGlscy9lZmVuY2UuaDoKCSogZ3N0L2RlYnVndXRpbHMvZWZlbmNlLnZjcHJvajoKCSAgZWZlbmNlOiByZW1vdmUgcGx1Z2luCgkgIFZhbGdyaW5kIGlzIG11Y2ggbW9yZSB1c2VmdWwgdGhlc2UgZGF5cy4KCjIwMTItMDItMjMgMTI6MDU6MjAgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogTkVXUzoKCSogUkVMRUFTRToKCSAgVXBkYXRlIE5FV1MgYW5kIFJFTEVBU0UgYXMgd2VsbAoKMjAxMi0wMi0yMyAxMTowNzozNSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaW50ZXJmYWNlczoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLTEzOTQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWFzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGFjb2xvci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbm5vZGV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFwZXRhZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb2Z4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvcGFyc2Vycy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9kZXRlY3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXZpLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhY2FzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhaXJvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWN1dHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWludGVybGFjZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmVuY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZmZWN0di54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lcXVhbGl6ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXNkc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbGFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHhkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2NvbmZlbGVtZW50cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZGtwaXhidWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tMmsxLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzdHJ0cG1hbmFnZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taGFsZWxlbWVudHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWN5ZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW1hZ2VmcmVlemUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXJsZWF2ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pc29tcDQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tamFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxldmVsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1hdHJvc2thLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpZmlsZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aXBhcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmF2aWdhdGlvbnRlc3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzNC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3NhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbmcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcHVsc2VhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXBsYXlnYWluLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHNwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNoYXBld2lwZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaG91dDJzZW5kLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNtcHRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlY3RydW0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdGFnbGliLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXVkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlbzRsaW51eDIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9ib3gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9jcm9wLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvZmlsdGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvbWl4ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2ZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teGltYWdlc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXk0bWVuYy54bWw6CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgQnVtcCB2ZXJzaW9uIGFmdGVyIHJlbGVhc2UKCjIwMTItMDItMjMgMTI6MDM6MjQgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9meC9hdWRpb2VjaG8uYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9lY2hvLmg6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvZnhiYXNlZmlyZmlsdGVyLmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvZnhiYXNlZmlyZmlsdGVyLmg6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvZnhiYXNlaWlyZmlsdGVyLmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvZnhiYXNlaWlyZmlsdGVyLmg6CgkgIGF1ZGlvZng6IHJlbW92ZSB0cmFuc2Zvcm0gbG9jayB1c2FnZQoKMjAxMi0wMi0yMyAxMToxNjoyMSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5jOgoJKiBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uaDoKCSogZ3N0L3ZpZGVvY3JvcC9nc3R2aWRlb2Nyb3AuYzoKCSogZ3N0L3ZpZGVvY3JvcC9nc3R2aWRlb2Nyb3AuaDoKCSogZ3N0L3ZpZGVvZmlsdGVyL2dzdHZpZGVvYmFsYW5jZS5jOgoJICB1cGRhdGUgZm9yIGJhc2V0cmFuc2Zvcm0gbG9jayByZW1vdmFsCgoyMDEyLTAyLTIyIDIzOjM2OjU0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kZWJ1Z3V0aWxzL01ha2VmaWxlLmFtOgoJICBkZWJ1Z3V0aWxzOiBkaXNhYmxlIGVmZW5jZSBwbHVnaW4gcHJvcGVybHkKCSAgV2UgZG9uJ3Qgd2FudCBpdCBidWlsdCBpZiBtbWFwIGlzbid0IGF2YWlsYWJsZSBlaXRoZXIuLgoKMjAxMi0wMi0yMiAxNzozOToxNiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmxhYy9nc3RmbGFjZW5jLmM6CgkgIGZsYWNlbmM6IGZpeCBnZXRfY2FwcyBmdW5jdGlvbiBzb21lIG1vcmUgc28gdGhhdCBhbGwgc3RydWN0dXJlcyBoYXZlIGNoYW5uZWwgaW5mbwoJICBTZXQgY2hhbm5lbHMgYW5kIGNoYW5uZWwtbGF5b3V0IG9uIHRoZSByaWdodCBzdHJ1Y3R1cmU7IHRoYXQgaXMsIHRoZQoJICBzdHJ1Y3R1cmUgd2UgYXJlIGdvaW5nIHRvIGFwcGVuZCB0byB0aGUgY2FwcyB3ZSBhcmUgYnVpbGRpbmcsIGFuZCBub3QKCSAgdGhlIHN0cnVjdHVyZSB3ZSBhcmUgdXNpbmcgYXMgYSB0ZW1wbGF0ZSBmb3IgYWxsIHRoZSBzdHJ1Y3R1cmVzLiBGaXhlcwoJICBmaXJzdCBzdHJ1Y3R1cmUgb2YgdGhlIHJldHVybmVkIGNhcHMgbm90IGhhdmluZyBhbnkgY2hhbm5lbCBpbmZvIHNldAoJICBvbiBpdC4KCjIwMTItMDItMjIgMTc6MDk6MjUgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2VuYy5jOgoJICBmbGFjZW5jOiBtaWNyb29wdGltaXNhdGlvbjogYXZvaWQgdW5uZWNlc3NhcnkgbGlzdCBhbmQgc3RyaW5nIGNvcGllcwoKMjAxMi0wMi0yMiAxNzowMzo0MiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmxhYy9nc3RmbGFjZW5jLmM6CgkgIGZsYWNlbmM6IGF1ZGlvIGNhcHMgaGF2ZSBhICpsaXN0KiBvZiBmb3JtYXRzLCBub3QgYW4gYXJyYXkgb2YgZm9ybWF0cwoJICBBIGxpc3Qgb2YgdGhpbmdzIGluIGNhcHMgaXMgc29tZXRoaW5nIHdoZXJlIG9uZSBpcyBwaWNrZWQgaW4gdGhlCgkgIGNvdXJzZSBvZiBuZWdvdGlhdGlvbi4gQW4gYXJyYXkgaXMgYWx3YXlzIHNvbWV0aGluZyB0aGF0IG9ubHkgbWFrZXMKCSAgc2Vuc2UgYXMgYSB3aG9sZSBpbiB0aGF0IG9yZGVyLgoKMjAxMi0wMi0yMiAxODowMjoyNyArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmxhYy9nc3RmbGFjZW5jLmM6CgkgIGZsYWNlbmM6IHJlbW92ZSBwb3N0LXBvcnQgYm9ndXMgX3VucmVmCgoyMDEyLTAyLTIyIDE3OjAwOjE5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mbGFjL2dzdGZsYWNlbmMuYzoKCSAgZmxhY2VuYzogcmVtb3ZlIGJvZ3VzIHBhZCBsb2NraW5nIHRoYXQgY2F1c2VzIGRlYWRsb2NrcwoJICBJdCdzIG5vdCBjbGVhciB3aHkgdGhlIHBhZCBvYmplY3QgbG9jayBpcyB0YWtlbiBoZXJlLiBCdXQKCSAgZ3N0X3BhZF97aGFzLGdldH1fY3VycmVudF9jYXBzKCkgd2lsbCB0cnkgdG8gdGFrZSB0aGUgbG9jawoJICBhcyB3ZWxsIGFuZCBkZWFkbG9jaywgc2luY2UgaXQncyBub3QgcmVjdXJzaXZlLgoKMjAxMi0wMi0yMiAxNjo1OTo0MiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmxhYy9nc3RmbGFjZW5jLmM6CgkgIGZsYWNlbmM6IHNldCByaWdodCBudW1iZXIgb2YgY2hhbm5lbHMgb24gY2FwcyBpbiBnZXRfY2FwcyBmdW5jdGlvbgoKMjAxMi0wMi0yMSAxNzoxNjozMiAtMDgwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBhdXRvZ2VuLnNoOgoJICBhdXRvZ2VuOiBhdm9pZCB0b3VjaGluZyAucG8gZmlsZXMgZHVyaW5nICdtYWtlJwoJICBBIHNpbXBsZSB3b3JrYXJvdW5kIHRvIGRlYWwgd2l0aCBHTlUgZ2V0dGV4dCBhdXRvbWFrZSBpbnRlZ3JhdGlvbgoJICBmYWlsaW5nIHRvIGRlYWwgd2l0aCBnaXQuICBGaXhlczogIzY2OTIwNwoKMjAxMi0wMi0yMiAwMjowNjoxNyArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdmkvZ3N0YXZpbXV4LmM6CgkqIGdzdC9hdmkvZ3N0YXZpc3VidGl0bGUuYzoKCSogZ3N0L2Zsdi9nc3RmbHZtdXguYzoKCSogZ3N0L2lzb21wNC9hdG9tcy5jOgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4LmM6CgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJKiBnc3QvbXVsdGlmaWxlL2dzdG11bHRpZmlsZXNyYy5jOgoJKiBnc3QvcnRwL2dzdHJ0cHFkbWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwdGhlb3JhZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHB2b3JiaXNkZXBheS5jOgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkqIGdzdC91ZHAvZ3N0dWRwc3JjLmM6CgkqIGdzdC95NG0vZ3N0eTRtZW5jb2RlLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkqIHN5cy94aW1hZ2UveGltYWdldXRpbC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9kZWludGVybGVhdmUuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvaW50ZXJsZWF2ZS5jOgoJICB1cGRhdGUgZm9yIG5ldyBtZW1vcnkgYXBpCgoyMDEyLTAyLTIxIDE3OjU3OjQ0ICswMTAwICBWaW5jZW50IFVudHogPHZ1bnR6QGdub21lLm9yZz4KCgkqIGV4dC9wdWxzZS9wdWxzZWF1ZGlvc2luay5jOgoJICBwdWxzZTogRml4IGEgYnVpbGQgd2FybmluZyB3aGVuIGNvbXBpbGluZyB3aXRoIGFzc2VydHMgZGlzYWJsZWQKCSAgUmV0dXJuIGEgdmFsdWUgZXZlbiBpZiB0aGUgY29kZSB3aWxsIG5ldmVyIGJlIHJlYWNoZWQsIHRvIG1ha2UgY29tcGlsZXJzCgkgIGhhcHB5LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjcwNTYxCgoyMDEyLTAyLTIxIDE4OjQyOjMxICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0bXBlZ2F1ZGlvcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RtcGVnYXVkaW9wYXJzZS5oOgoJICBtcGVnYXVkaW9wYXJzZTogc3VwcG9ydCBwYXJzaW5nIGZyZWVmb3JtIGJpdHJhdGUgc3RyZWFtCgoyMDEyLTAyLTIxIDE4OjM5OjE4ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L21vbm9zY29wZS9nc3Rtb25vc2NvcGUuYzoKCSogZ3N0L21vbm9zY29wZS9nc3Rtb25vc2NvcGUuaDoKCSAgbW9ub3Njb3BlOiBwb3J0IHRvIDAuMTEKCjIwMTItMDItMjEgMTA6NTM6NTYgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJICBNZXJnZSBicmFuY2ggJ21hc3RlcicgaW50byAwLjExCgoyMDEyLTAyLTIwIDEyOjIyOjEyIC0wNTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBoMjY0cGF5LmM6CgkgIHJ0cGgyNjRwYXk6IEZvcmNlIGJhc2VsaW5lIGlzIHByb2ZpbGUtbGV2ZWwtaWQgaXMgdW5zcGVjaWZpZWQKCjIwMTItMDItMjEgMTA6NDA6MDAgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3RhZ2xpYi9nc3RpZDN2Mm11eC5jYzoKCSAgaWQzdjJtdXg6IEZpeCBtZXJnZSBlcnJvcgoKMjAxMi0wMi0yMCAxMjoyMjoxMiAtMDUwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2NHBheS5jOgoJICBydHBoMjY0cGF5OiBGb3JjZSBiYXNlbGluZSBpcyBwcm9maWxlLWxldmVsLWlkIGlzIHVuc3BlY2lmaWVkCgoyMDEyLTAyLTIwIDE2OjM1OjE4ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuYzoKCSAgZml4IGNvbXBpbGVyIHdhcm5pbmdzCgoyMDEyLTAxLTI2IDAzOjI5OjI4IC0wNTAwICBNYXRlaiBLbm9wcCA8bWF0ZWoua25vcHBAZ21haWwuY29tPgoKCSogZ3N0L3VkcC9nc3R1ZHBzcmMuYzoKCSAgZml4IGNvbXBpbGVyIHdhcm5pbmdzCgoyMDEyLTAxLTI2IDA2OjU4OjQ2IC0wNTAwICBNYXRlaiBLbm9wcCA8bWF0ZWoua25vcHBAZ21haWwuY29tPgoKCSogZ3N0L2R0bWYvZ3N0ZHRtZnNyYy5jOgoJICBGaXggY29tcGlsZXIgd2FybmluZ3MKCjIwMTItMDItMTggMTE6Mzg6MzYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvbGV2ZWwuYzoKCSAgdGVzdHM6IGZpeCB1cCBsZXZlbCB0ZXN0IGZvciBHc3RWYWx1ZUxpc3QgLT4gR1ZhbHVlQXJyYXkgY2hhbmdlCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NzAzMDMKCjIwMTItMDItMTYgMTg6MDE6MjkgKzAyMDAgIFBldGVyaXMgS3Jpc2phbmlzIDxwZWNpc2tAZ21haWwuY29tPgoKCSogZ3N0L2xldmVsL2dzdGxldmVsLmM6CgkgIGxldmVsOiB1c2UgR1ZhbHVlQXJyYXkgaW5zdGVhZCBvZiBHc3RWYWx1ZUxpc3QgaW4gbWVzc2FnZXMKCSAgVXBkYXRlZCBHc3RMZXZlbCBlbGVtZW50IHRvIHVzZSBHVmFsdWVBcnJheSBpbnN0ZWFkIG9mCgkgIEdzdFZhbHVlTGlzdCBmb3Igcm1zL3BlYWsvZGVjYXkga2V5cyBhdHRhY2hlZCB0byBlbGVtZW50CgkgIG1lc3NhZ2UuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NzAzMDMKCjIwMTItMDItMTggMDA6MDA6NTQgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIHdpbjMyOiBiYWNrIHRvIGRldmVsb3BtZW50CgoyMDEyLTAyLTE3IDIzOjU0OjI5ICswMTAwICBEb21pbmlxdWUgTGV1ZW5iZXJnZXIgPGRvbWluaXF1ZS1nbm9tZXppbGxhIGF0IGxldWVuYmVyZ2VyLm5ldD4KCgkqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSAgTm8gbG9uZ2VyIHJlZmVyZW5jZSBkZXByZWNhdGVkIGhlYWRlciBmaWxlcyB3aGlsZSBidWlsZGluZyBkb2NzLgoKMjAxMi0wMi0xNyAyMzo0OToyMSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkgIE1lcmdlIGJyYW5jaCAnbWFzdGVyJyBpbnRvIDAuMTEKCSAgQ29uZmxpY3RzOgoJICBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplci5jCgoyMDEyLTAyLTE3IDE3OjIxOjUzICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyLmM6CgkgIGVxdWFsaXplcjogZml4IHN3aXRjaGluZyBmcm9tIHBhc3N0aHJvdWdoIHRvIG5vbi1wYXNzdGhyb3VnaCB3aGVuIHBhcmFtZXRlcnMgY2hhbmdlCgkgIGNvbW1pdCBiNWJmMDI5NCBtb3ZlZCB0aGUgaWYobmVlZF9uZXdfY29lZmZpY2llbnRzKSBzZXRfcGFzc3Rocm91Z2goZXF1KQoJICBhZnRlciB0aGUgaWYoaXNfcGFzc3Rocm91Z2gpIHJldHVybiBGTE9XX09LIHNob3J0Y3V0LCBzbyB0aGUgcGFzc3Rocm91Z2gKCSAgbW9kZSB3b3VsZCBuZXZlciBnZXQgdXBkYXRlZCBldmVuIGlmIHRoZSBjb2VmZmljaWVudHMgY2hhbmdlLgoJICBGaXhlcyBlcXVhbGl6ZXItdGVzdCBkb2luZyAuLiBub3RoaW5nLgoKMjAxMi0wMi0xNyAxNzo1NzowMyArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZ29vbS9nc3Rnb29tLmM6CgkqIGdzdC9nb29tMmsxL2dzdGdvb20uYzoKCSAgZ29vbSo6IGZpeCBsZWFrZWQgY2FwcyBldmVudAoKMjAxMi0wMi0xNyAxMzoyNjo1MyArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdG1wZWdhdWRpb3BhcnNlLmM6CgkgIG1wZWdhdWRpb3BhcnNlOiBwYXJzZSBlaXRoZXIgWGluZyBvciBWQlJJIGRhdGEKCSAgLi4uIGFuZCBhdm9pZCBjb25mdXNpbmcgZGVidWcgbWVzc2FnZSBjbGFpbWluZyBuZWl0aGVyIHByZXNlbnQuCgoyMDEyLTAyLTE3IDE0OjM4OjAzICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2s6IGZpeCBzZWdtZW50IHVwZGF0ZQoKMjAxMi0wMi0xNyAxMTowNToyNyArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgYmFjayB0byBkZXZlbG9wbWVudAoKPT09IHJlbGVhc2UgMC4xMS4xID09PQoKMjAxMi0wMi0xNyAxMTowNDo0NyArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIENoYW5nZUxvZzoKCSogTkVXUzoKCSogUkVMRUFTRToKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmludGVyZmFjZXM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMucHJlcmVxdWlzaXRlczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5zaWduYWxzOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWFzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGFjb2xvci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbm5vZGV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFwZXRhZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb2Z4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvcGFyc2Vycy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9kZXRlY3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXZpLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWN1dHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmZlY3R2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVxdWFsaXplci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbGFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20yazEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWN5ZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taXNvbXA0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWphY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanBlZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sZXZlbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tYXRyb3NrYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aWZpbGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlwYXJ0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBuZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wdWxzZWF1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlcGxheWdhaW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cG1hbmFnZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRzcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaGFwZXdpcGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hvdXQyc2VuZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWN0cnVtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXRhZ2xpYi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi11ZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW80bGludXgyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvY3JvcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2ZpbHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb21peGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14aW1hZ2VzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teTRtZW5jLnhtbDoKCSogZ3N0LXBsdWdpbnMtZ29vZC5kb2FwOgoJKiBwby9hZi5wbzoKCSogcG8vYXoucG86CgkqIHBvL2JnLnBvOgoJKiBwby9jYS5wbzoKCSogcG8vY3MucG86CgkqIHBvL2RhLnBvOgoJKiBwby9kZS5wbzoKCSogcG8vZWwucG86CgkqIHBvL2VuX0dCLnBvOgoJKiBwby9lby5wbzoKCSogcG8vZXMucG86CgkqIHBvL2V1LnBvOgoJKiBwby9maS5wbzoKCSogcG8vZnIucG86CgkqIHBvL2dsLnBvOgoJKiBwby9odS5wbzoKCSogcG8vaWQucG86CgkqIHBvL2l0LnBvOgoJKiBwby9qYS5wbzoKCSogcG8vbHQucG86CgkqIHBvL2x2LnBvOgoJKiBwby9tdC5wbzoKCSogcG8vbmIucG86CgkqIHBvL25sLnBvOgoJKiBwby9vci5wbzoKCSogcG8vcGwucG86CgkqIHBvL3B0X0JSLnBvOgoJKiBwby9yby5wbzoKCSogcG8vcnUucG86CgkqIHBvL3NrLnBvOgoJKiBwby9zbC5wbzoKCSogcG8vc3EucG86CgkqIHBvL3NyLnBvOgoJKiBwby9zdi5wbzoKCSogcG8vdHIucG86CgkqIHBvL3VrLnBvOgoJKiBwby92aS5wbzoKCSogcG8vemhfQ04ucG86CgkqIHBvL3poX0hLLnBvOgoJKiBwby96aF9UVy5wbzoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJKiB3aW4zMi9jb21tb24vZ3N0cnRwYmluLW1hcnNoYWwuYzoKCSogd2luMzIvY29tbW9uL2dzdHJ0cGJpbi1tYXJzaGFsLmg6CgkgIFJFTEVBU0UgMC4xMS4xCgoyMDEyLTAyLTE2IDIzOjMzOjE1ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9nb29tL2dzdGdvb20uYzoKCSAgZ29vbTogZml4IGJ1ZmZlciBsZWFrCgoyMDEyLTAyLTE2IDIzOjQwOjU4ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9nb29tMmsxL2dzdGdvb20uYzoKCSAgZ29vbTJrMTogdXNlIHNvbWUgbW9yZSBib2lsZXJwbGF0ZQoKMjAxMi0wMi0xNiAyMzozMzowMSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC9nb29tMmsxL2dzdGdvb20uYzoKCSogZ3N0L2dvb20yazEvZ3N0Z29vbS5oOgoJICBnb29tMmsxOiBwb3J0IHRvIDAuMTEKCjIwMTItMDItMTYgMTU6MzE6NTMgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3Nob3V0Mi9nc3RzaG91dDIuYzoKCSAgc2hvdXQyOiB1c2Ugc29tZSBtb3JlIGJvaWxlcnBsYXRlCgoyMDEyLTAyLTE2IDE1OjI5OjM0ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L3Nob3V0Mi9nc3RzaG91dDIuYzoKCSAgc2hvdXQyOiBwb3J0IHRvIDAuMTEKCjIwMTItMDItMTQgMTE6NTY6MDAgKzAxMDAgIFBoaWxpcHBlIE5vcm1hbmQgPHBoaWxuQGlnYWxpYS5jb20+CgoJKiBnc3QvaW50ZXJsZWF2ZS9NYWtlZmlsZS5hbToKCSogZ3N0L2ludGVybGVhdmUvaW50ZXJsZWF2ZS5jOgoJKiBnc3QvaW50ZXJsZWF2ZS9pbnRlcmxlYXZlLmg6CgkqIGdzdC9pbnRlcmxlYXZlL3BsdWdpbi5jOgoJKiBnc3QvaW50ZXJsZWF2ZS9wbHVnaW4uaDoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvaW50ZXJsZWF2ZS5jOgoJICBpbnRlcmxlYXZlOiBwb3J0IHRvIDAuMTEKCSAgUG9ydCBvZiB0aGUgaW50ZXJsZWF2ZSBlbGVtZW50IGFuZCBpdHMgdW5pdHRlc3RzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjY5NjQzCgoyMDEyLTAyLTE2IDE0OjIzOjUwICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSAgTWVyZ2UgYnJhbmNoICdtYXN0ZXInIGludG8gMC4xMQoKMjAxMi0wMi0xNiAxNzoxNDoyMCArMDgwMCAgR2FyeSBDaGluZy1QYW5nIExpbiA8Y2hpbmdwYW5nQGdtYWlsLmNvbT4KCgkqIHN5cy92NGwyL3Y0bDJfY2FsbHMuYzoKCSAgdjRsMnNyYzogZmFpbHVyZSB0byBxdWVyeSBzb21lIG9wdGlvbmFsIGNvbnRyb2xzIGlzIG5vdCBhIGZhdGFsIGVycm9yCgkgIERvbid0IHBvc3QgYSAoZmF0YWwpIGVycm9yIG1lc3NhZ2Ugb24gdGhlIGJ1cyBqdXN0IGJlY2F1c2Ugd2UKCSAgZmFpbGVkIHRvIHF1ZXJ5IHNvbWUgY29udHJvbC4gRml4ZXMgaXNzdWUgd2l0aCBidWlsdC1pbgoJICBTdXlpbiBDb3JwIHdlYmNhbSBmb3IgSFAgbm90ZWJvb2sgKHVzYmlkIDA2NGU6ZTI4YSkgb24KCSAgT3BlblN1c2UgMTIuMSwgd2hlcmUgcXVlcnlpbmcgcmVkL2JsdWUgYmFsYW5jZSBmYWlscy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY3MDE5NwoKMjAxMi0wMi0xNiAxMjo1OToxMCArMDAwMCAgVHV1a2thIFBhc2FuZW4gPHR1dWtrYS5wYXNhbmVuQGlsbWkuZmk+CgoJKiBzeXMvdjRsMi92NGwyX2NhbGxzLmM6CgkgIHY0bDJzcmM6IGZpeCBmb3Igd2ViY2Ftc3R1ZGlvIHZsb29wYmFjawoJICBCZWNhdXNlIHZsb29iYWNrIGVtaXRzIDI1IC0gRU5PVFRZIGFuZCBubyBFSU5WQUwgdjRsMnNyYyB0aG91Z2h0IGl0CgkgIGNhbid0IGhhbmRsZSB0aGlzIGFuZCBkb2VzIG5vdCB3b3JrLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjY5NDU1CgoyMDEyLTAyLTE2IDExOjIxOjI4ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBydHBqaXR0ZXJidWZmZXI6IGRlY2xhcmUgdmFyaWFibGVzIGF0IHRoZSBiZWdpbm5pbmcgb2YgdGhlIGJsb2NrCgkgIEl0J3MgaG93IHdlIHJvbGwuIEZpeGVzICdJU08gQzkwIGZvcmJpZHMgbWl4ZWQgZGVjbGFyYXRpb25zIGFuZCBjb2RlJwoJICBjb21waWxlciB3YXJuaW5nLgoKMjAxMi0wMi0xNSAyMzo1NTo0NCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9leGFtcGxlcy9zcGVjdHJ1bS9NYWtlZmlsZS5hbToKCSAgZXhhbXBsZXM6IGZpeCBzcGVjdHJ1bSBleGFtcGxlIGJ1aWxkIGlzc3VlcwoJICBGaW5kIGZmdCBoZWFkZXJzIGluIHVuaW5zdGFsbGVkIHNldHVwLCBmaXggTElCUyBvcmRlci4KCjIwMTItMDItMTUgMTI6NDE6NDMgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFhY3BhcnNlLmM6CgkgIGFhY3BhcnNlOiByZW1vdmUgc29tZSB1bnVzZWQgZGVjbGFyYXRpb25zCgoyMDEyLTAyLTE1IDExOjI1OjQ1ICswMTAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogdGVzdHMvZXhhbXBsZXMvc3BlY3RydW0vTWFrZWZpbGUuYW06CgkqIHRlc3RzL2V4YW1wbGVzL3NwZWN0cnVtL2RlbW8tYXVkaW90ZXN0LmM6CgkgIHNwZWN0cnVtLWRlbW86IHNob3cgdGhlIGVmZmVjdCBvZiBmYXN0LW1vZGUKCjIwMTItMDItMTQgMTI6MjY6MzcgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9jcm9wL2dzdGFzcGVjdHJhdGlvY3JvcC5jOgoJICBhc3BlY3RyYXRpb2Nyb3A6IGZpeCBjYXBzIHJlZmNvdW50CgoyMDEyLTAyLTE0IDExOjIyOjQ2ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svcGlwZWxpbmVzL2VmZmVjdHYuYzoKCSAgdGVzdHM6IGZpeCB0ZXN0LCB1c2UgdmlkZW9jb252ZXJ0CgoyMDEyLTAyLTE0IDEwOjUxOjM4ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSAgTWVyZ2UgYnJhbmNoICdtYXN0ZXInIGludG8gMC4xMQoJICBDb25mbGljdHM6CgkgIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2ZsYWNwYXJzZS5jCgoyMDEyLTAyLTA5IDEzOjQxOjUzICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWFjcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYzNwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFtcnBhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZGNhcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RmbGFjcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RtcGVnYXVkaW9wYXJzZS5jOgoJICBhdWRpb3BhcnNlcnM6IGFkanVzdCB0byBtb2RpZmllZCBiYXNlcGFyc2UgQVBJCgoyMDEyLTAyLTEzIDE3OjEzOjE3ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L211bHRpZmlsZS9nc3RtdWx0aWZpbGVzaW5rLmM6CgkqIGdzdC91ZHAvZ3N0bXVsdGl1ZHBzaW5rLmM6CgkgIHVwZGF0ZSBmb3IgbWVtb3J5IGFwaSBjaGFuZ2UKCjIwMTItMDItMTMgMTI6MDY6MzcgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZmxhY3BhcnNlLmM6CgkgIHRlc3RzOiBmbGFjcGFyc2U6IGNoZWNrIGFuZCBjb21wYXJlIGludGVuZGVkIGRhdGEKCjIwMTItMDItMTIgMTc6MDM6MzcgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSAgTWVyZ2UgcmVtb3RlLXRyYWNraW5nIGJyYW5jaCAnb3JpZ2luL21hc3RlcicgaW50byAwLjExCgkgIENvbmZsaWN0czoKCSAgZXh0L3RhZ2xpYi9nc3RhcGV2Mm11eC5jYwoJICBleHQvdGFnbGliL2dzdGlkM3YybXV4LmNjCgkgIGV4dC90YWdsaWIvZ3N0dGFnbGlibXV4LmMKCSAgZXh0L3RhZ2xpYi9nc3R0YWdsaWJtdXguaAoKMjAxMi0wMi0xMiAxNjoyMjoyMSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdGFnbGliL01ha2VmaWxlLmFtOgoJKiBleHQvdGFnbGliL2dzdGFwZXYybXV4LmNjOgoJKiBleHQvdGFnbGliL2dzdGFwZXYybXV4Lmg6CgkqIGV4dC90YWdsaWIvZ3N0aWQzdjJtdXguY2M6CgkqIGV4dC90YWdsaWIvZ3N0aWQzdjJtdXguaDoKCSogZXh0L3RhZ2xpYi9nc3R0YWdsaWJtdXguYzoKCSogZXh0L3RhZ2xpYi9nc3R0YWdsaWJtdXguaDoKCSogZXh0L3RhZ2xpYi9nc3R0YWdsaWJwbHVnaW4uYzoKCSAgdGFnbGliOiBwb3J0IHRvIEdzdFRhZ011eCBiYXNlIGNsYXNzCgoyMDEyLTAyLTEyIDEyOjI0OjUwICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC90YWdsaWIvZ3N0dGFnbGlibXV4LmM6CgkgIHRhZ2xpYjogZmluaXNoIG9mZiBhIGZldyBtaXNzZWQgdmFyaWFibGUgY2hhbmdlcwoJICBMb2NhbCB2YXJpYWJsZXMgYXJlIG5vdyB1bnVzZWQsIGFuZCB0aGUgdmFsdWVzIGZyb20gdGhlIHNlZ21lbnQgY29weQoJICBhcmUgdXNlZCBpbnN0ZWFkLCBzbyByZW1vdmUgdGhlIG5vdyB1c2VsZXNzIGxvY2FsIHZhcmlhYmxlcyBhbmQgd3JpdGUKCSAgdG8gdGhlIHNlZ21lbnQgd2hlcmUgYXBwcm9wcmlhdGUuCgoyMDEyLTAyLTEwIDE2OjIzOjE0ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSAgTWVyZ2UgYnJhbmNoICdtYXN0ZXInIGludG8gMC4xMQoJICBDb25mbGljdHM6CgkgIGV4dC9mbGFjL2dzdGZsYWNlbmMuYwoJICBleHQvamFjay9nc3RqYWNrYXVkaW9jbGllbnQuYwoJICBleHQvamFjay9nc3RqYWNrYXVkaW9zaW5rLmMKCSAgZXh0L2phY2svZ3N0amFja2F1ZGlvc3JjLmMKCSAgZXh0L3B1bHNlL3BsdWdpbi5jCgkgIGV4dC9zaG91dDIvZ3N0c2hvdXQyLmMKCSAgZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jCgkgIGdzdC9ydHAvZ3N0cnRwaDI2NHBheS5jCgoyMDEyLTAyLTA4IDIzOjAzOjI4ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2NHBheS5jOgoJICBydHBoMjY0cGF5OiBhZGQgc3RyZWFtLWZvcm1hdCBhbmQgYWxpZ25tZW50IHRvIGgyNjQgc2luayBjYXBzCgkgIFdlJ3JlIGhhcHB5IHRvIGFjY2VwdCBib3RoIGJ5dGUtc3RyZWFtIGFuZCBhdmMsIGFkdmVydGlzZQoJICB0aGF0IG9uIHRoZSBzaW5rIGNhcHMgYW5kIGZpeCB1cCBfZ2V0X2NhcHMoKSBmdW5jdGlvbiB0bwoJICBub3QganVzdCByZXR1cm4gInZpZGVvL3gtaDI2NCIuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MDY2NjIKCjIwMTItMDItMDggMjA6NTg6MDQgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBoMjY0ZGVwYXkuYzoKCSAgcnRwaDI2NGRlcGF5OiBhZGQgc3RyZWFtLWZvcm1hdCBhbmQgYWxpZ25tZW50IGZpZWxkcyB0byBzcmMgdGVtcGxhdGUgY2FwcwoJICBCZWNhdXNlIHdlIGNhbi4gQW5kIHNvIHdlIGdldCBhIHdhcm5pbmcgaWYgd2UgdHJ5IHRvIG91dHB1dCBhdmMgd2l0aAoJICBuYWwgYWxpZ25tZW50IG9yIHNvbWVzdWNoLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjA2NjYyCgoyMDEyLTAyLTEwIDEzOjQ0OjQzICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cC1wYXlsb2FkaW5nLmM6CgkgIHRlc3RzOiBjbGVhbiB1cCBydHAtcGF5bG9hZGluZyB0ZXN0IGEgbGl0dGxlCgkgIEZlZWQgZGF0YSBpbnRvIHRoZSBwaXBlbGluZSB1c2luZyBhcHBzcmMgaW5zdGVhZCBvZiBmZHNyYyBhbmQKCSAgYSBwaXBlLiBTdG9yZSB1bnNpZ25lZCBieXRlIHZhbHVlcyBpbiBndWludDggaW5zdGVhZCBvZiBjaGFyLgoJICBHZXR0aW5nIHJpZCBvZiB0aGUgY2Fwc2ZpbHRlciBhbHNvIGhlbHBzIHRvIGF2b2lkICdmb3JtYXQgaXMKCSAgbm90IGZ1bGx5IHNwZWNpZmllZCcgd2FybmluZ3Mgd2hlbiBwdXNoaW5nICJ2aWRlby94LWgyNjQiIGRhdGEKCSAgaW50byBydHBoMjY0cGF5IHdpdGggZnVsbHkgc3BlY2lmaWVkIGgyNjQgY2FwcyBpbiB0aGUgc2luayB0ZW1wbGF0ZS4KCjIwMTItMDItMTAgMTA6MDc6MzQgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6CgkgIGZsdjogdXNlIGRlZmF1bHQgcGFkIHF1ZXJ5CgkgIFdlIG5lZWQgdG8gY2hhaW4gdXAgdW5rbm93biBxdWVyaWVzIHRvIHRoZSBkZWZhdWx0IHF1ZXJ5IGhhbmRsZXIgaW5zdGVhZCBvZgoJICBibGluZGx5IGZvcndhcmRpbmcgdGhlbS4gSW4gdGhpcyBjYXNlIGl0IGNhdXNlZCB0aGUgY2FwcyBxdWVyeSB0byBiZSBmb3J3YXJkZWQKCSAgdG8gdGhlIHVwc3RyZWFtIHR5cGVmaW5kIGFuZCByZXR1cm4gdGhlIHdyb25nIHR5cGUgZm9yIHRoZSBhdWRpby92aWRlbyBwYWQuCgoyMDEyLTAyLTA5IDIyOjEyOjE0ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL21wZWdhdWRpb3BhcnNlLmM6CgkgIHRlc3RzOiBtcGVnYXVkaW9wYXJzZTogcmVtb3ZlIHN0cmF5IGRlY2xhcmF0aW9uCgoyMDEyLTAyLTA5IDIyOjA3OjQ4ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWFjcGFyc2UuYzoKCSAgYWFjcGFyc2U6IGNvcnJlY3RseSBzZXQgQURJRiBzcmMgY2FwcwoKMjAxMi0wMi0wOSAyMjoxMDowNyArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFjM3BhcnNlLmM6CgkgIGFjM3BhcnNlOiBwcmV2ZW50IGEgZmV3IGRpcmVjdCBleGl0cyB3aXRob3V0IGNsZWFudXAKCjIwMTItMDItMDkgMjI6MDc6MTggKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5jOgoJICBmbGFjZGVjOiBzaGlmdCBpbiBwcm9wZXIgZGlyZWN0aW9uIGZvciBhdWRpbyBzYW1wbGUgY29udmVyc2lvbgoKMjAxMi0wMi0wOSAxODowOTo0NSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2RlaW50ZXJsZWF2ZS5jOgoJICB0ZXN0czogZml4IGNvbXBpbGF0aW9uCgoyMDEyLTAyLTA5IDEwOjExOjQ4ICswMTAwICBNYXJjIExlZW1hbiA8bWFyYy5sZWVtYW5AZ21haWwuY29tPgoKCSogZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuYzoKCSAgbXVsdGl1ZHBzaW5rOiB0eXBvIGZpeCAoYnl0ZXMgc2VuZCAtPiBieXRlcyBzZW50KQoKMjAxMi0wMi0wOCAxNjozNDowMCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9nZGtfcGl4YnVmL2dzdGdka3BpeGJ1Zi5jOgoJKiBleHQvanBlZy9nc3RqcGVnZGVjLmM6CgkqIGV4dC9saWJwbmcvZ3N0cG5nZGVjLmM6CgkqIGV4dC9yYXcxMzk0L2dzdGR2MTM5NHNyYy5jOgoJKiBleHQvcmF3MTM5NC9nc3RoZHYxMzk0c3JjLmM6CgkqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tlbmMuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0cXVhcmsuYzoKCSogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOgoJKiBnc3QvaW1hZ2VmcmVlemUvZ3N0aW1hZ2VmcmVlemUuYzoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkqIGdzdC9tdWx0aWZpbGUvZ3N0c3BsaXRmaWxlc3JjLmM6CgkqIGdzdC9yZXBsYXlnYWluL2dzdHJnYW5hbHlzaXMuYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSogZ3N0L3NoYXBld2lwZS9nc3RzaGFwZXdpcGUuYzoKCSogZ3N0L3VkcC9nc3R1ZHBzcmMuYzoKCSogZ3N0L3dhdmVuYy9nc3R3YXZlbmMuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJKiBzeXMveGltYWdlL2dzdHhpbWFnZXNyYy5jOgoJICBHU1RfRkxPV19XUk9OR19TVEFURSAtPiBHU1RfRkxPV19GTFVTSElORwoKMjAxMi0wMi0wOCAxNjozNzoxMyArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdG1mL2dzdGR0bWZzcmMuYzoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZnNyYy5jOgoJICBHU1RfRkxPV19XUk9OR19TVEFURSAtPiBHU1RfRkxPV19GTFVTSElORwoKMjAxMi0wMi0wNyAxNDoxMDo0NCAtMDgwMCAgUmFscGggR2lsZXMgPGdpbGVzQG1vemlsbGEuY29tPgoKCSogZXh0L3Nob3V0Mi9nc3RzaG91dDIuYzoKCSAgc2hvdXQyc2VuZDogc2VuZCB2aWRlby93ZWJtIHRocm91Z2ggbGlic2hvdXQuCgkgIFRoaXMgcmVxdWlyZXMgU0hPVVRfRk9STUFUX1dFQk0sIGFkZGVkIGluIGxpYnNob3V0IDIuMy4wLAoJICBzbyB2aWRlby93ZWJtIHN1cHBvcnQgaXMgY29udGluZ2VudCBvbiB0aGF0IHN5bWJvbCBiZWluZwoJICBkZWZpbmVkLgoJICBBbHNvIGFuIGluZGVudGF0aW9uIGNoYW5nZSByZXF1aXJlZCBieSB0aGUgcHJlLWNvbW1pdCBob29rLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjY5NTkwCgoyMDEyLTAxLTMwIDE2OjQwOjE5ICswMTAwICBQaGlsaXBwZSBOb3JtYW5kIDxwaGlsbkBpZ2FsaWEuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QvaW50ZXJsZWF2ZS9NYWtlZmlsZS5hbToKCSogZ3N0L2ludGVybGVhdmUvZGVpbnRlcmxlYXZlLmM6CgkqIGdzdC9pbnRlcmxlYXZlL2RlaW50ZXJsZWF2ZS5oOgoJKiBnc3QvaW50ZXJsZWF2ZS9wbHVnaW4uYzoKCSogZ3N0L2ludGVybGVhdmUvcGx1Z2luLmg6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2RlaW50ZXJsZWF2ZS5jOgoJICBkZWludGVybGVhdmU6IHBvcnQgdG8gMC4xMQoJICBQb3J0IG9mIHRoZSBkZWludGVybGVhdmUgZWxlbWVudCBhbmQgaXRzIHVuaXR0ZXN0cy4gVGhlIGludGVybGVhdmUKCSAgZWxlbWVudCB3aWxsIGJlIHBvcnRlZCBhcyBwYXJ0IG9mIGFub3RoZXIgcGF0Y2gsIGhlbmNlIGRpc2FibGluZyBpdAoJICBmb3Igbm93LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjY4ODQ3CgoyMDEyLTAyLTA3IDIzOjQxOjEzICswMjAwICBSYWltbyBKw6RydmkgPHJhaW1vLmphcnZpQGdtYWlsLmNvbT4KCgkqIHN5cy9kaXJlY3Rzb3VuZC9nc3RkaXJlY3Rzb3VuZHNpbmsuaDoKCSAgZGlyZWN0c291bmRzaW5rOiBGaXggY29tcGlsaW5nCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02Njk2MDcKCjIwMTItMDItMDggMDA6MDg6NDkgKzAyMDAgIFJhaW1vIErDpHJ2aSA8cmFpbW8uamFydmlAZ21haWwuY29tPgoKCSogc3lzL3dhdmVmb3JtL2dzdHdhdmVmb3Jtc2luay5jOgoJICB3YXZlZm9ybXNpbms6IFBvcnQgdG8gMC4xMQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjY5NjEyCgoyMDEyLTAyLTA3IDIxOjU3OjQ3ICswMTAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L2phY2svZ3N0amFja2F1ZGlvY2xpZW50LmM6CgkqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NpbmsuYzoKCSogZXh0L2phY2svZ3N0amFja2F1ZGlvc3JjLmM6CgkgIGphY2s6IHJld29yayB0cmFuc3BvcnQgc3VwcG9ydAoJICBNb3ZlIGNvbW1vbiBjb2RlIHRvIGphY2tjbGllbnQuIFRoZXJlIHdlIGNhbiBhbHNvIGhhbmRsZSB0aGUgcmVxdWVzdCBzdGF0ZQoJICBtZXNzYWdlIGluIGEgYmV0dGVyIHdheSwgYXMgdGhlIGVsZW1lbnQgY2FsbGJhY2tzIGFyZSBvbmx5IHJ1biBpZiB0aGUgZWxlbWVudCBpcwoJICBhY3RpdmUuCgoyMDEyLTAyLTA3IDEwOjQ3OjE5ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXBldjJtdXguYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvaWQzdjJtdXguYzoKCSAgdGVzdHM6IGltcHJvdmUgdGFnbXV4IHRlc3RzCgoyMDEyLTAyLTA3IDEwOjI5OjExICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3RhZ2xpYi9nc3R0YWdsaWJtdXguYzoKCSAgdGFnbGliOiBmaXggb2JqZWN0IHJlZ2lzdHJhdGlvbgoJICBXZSBjYW4ndCB1c2UgR19ERUZJTkVfVFlQRSBiZWNhdXNlIHRoZSBjbGFzcyBpcyBub3Qgc2V0IGluIHRoZSBjbGFzc19pbml0IGFuZCB3ZQoJICBuZWVkIGl0IHRvIGdldCB0aGUgc3JjcGFkIHRlbXBsYXRlLgoJICBGaXggYSBjYXBzIGxlYWsKCjIwMTItMDItMDcgMTA6MTY6MzIgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9qcGVnZW5jLmM6CgkgIHRlc3RzOiBmaXgganBlZyB0ZXN0CgoyMDEyLTAyLTA3IDEwOjE1OjUxICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzoKCSAgc291cDogZml4IGNhcHMKCjIwMTItMDItMDcgMDk6NTQ6MDAgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZWZmZWN0di9nc3RkaWNlLmM6CgkqIGdzdC9lZmZlY3R2L2dzdHNoYWdhZGVsaWMuYzoKCSAgZWZmZWN0dHY6IGZpeCBpbml0aWFsaXNhdGlvbgoKMjAxMi0wMi0wNyAwOTo0MjowNCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC95NG0vZ3N0eTRtZW5jb2RlLmM6CgkgIHk0bTogZml4IG5lZ290aWF0aW9uCgoyMDEyLTAyLTA3IDA5OjQxOjUxICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvdmlkZW9maWx0ZXIuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMveTRtZW5jLmM6CgkgIHRlc3RzOiBmaXggbW9yZSB0ZXN0cwoKMjAxMi0wMi0wNiAyMjoxMzo1MyArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9kdi9NYWtlZmlsZS5hbToKCSogZXh0L2R2L2dzdGR2ZGVjLmM6CgkqIGV4dC9kdi9nc3RkdmRlYy5oOgoJKiBleHQvZHYvZ3N0ZHZkZW11eC5jOgoJKiBleHQvZHYvZ3N0ZHZkZW11eC5oOgoJICBkdjogcG9ydCB0byAwLjExCgoyMDEyLTAyLTA2IDE4OjM1OjAxICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcmdsaW1pdGVyLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3Jndm9sdW1lLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3NwZWN0cnVtLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3ZpZGVvY3JvcC5jOgoJICB0ZXN0OiBmaXggbW9yZSB0ZXN0cwoKMjAxMi0wMi0wNiAxNTo1Mjo0OSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2lkM2RlbXV4LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2xldmVsLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL211bHRpZmlsZS5jOgoJICB0ZXN0czogZml4IG1vcmUgdGVzdHMKCjIwMTItMDItMDYgMTU6NTI6MzYgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZmx2L01ha2VmaWxlLmFtOgoJKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6CgkqIGdzdC9mbHYvZ3N0Zmx2bXV4LmM6CgkgIGZsdjogZml4IGNhcHMKCjIwMTItMDItMDYgMTU6MjA6NTUgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplci5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9lcXVhbGl6ZXIuYzoKCSAgaWlyZXF1YWxpemVyOiBmaXggZXF1YWxpemVyIGFuZCB1bml0IHRlc3QKCjIwMTItMDItMDYgMTM6NDQ6MjAgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdWRpb3Bhbm9yYW1hLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvd3NpbmNiYW5kLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvd3NpbmNsaW1pdC5jOgoJICB0ZXN0czogZml4IHNvbWUgbW9yZSB0ZXN0cwoKMjAxMi0wMi0wNiAxMzo0Mzo0OSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdmkvZ3N0YXZpbXV4LmM6CgkgIGF2aW11eDogdGFrZSB0aGUgcGFkIGZyb20gY29sbGVjdHBhZHMyIGNvcnJlY3RseQoKMjAxMi0wMi0wNiAxMzoyOToyNCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvaWlyZmlsdGVyLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvaW52ZXJ0LmM6CgkgIHRlc3RzOiBmaXggbW9yZSB1bml0IHRlc3RzCgoyMDEyLTAyLTA2IDEzOjI4OjU1ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvZngvYXVkaW9keW5hbWljLmM6CgkgIGF1ZGlvZHluYW1pYzogZml4IG5lZ290aWF0aW9uCgoyMDEyLTAxLTI4IDExOjEzOjE2ICswMTAwICBOaWNvbGEgTXVyaW5vIDxuaWNvbGEubXVyaW5vQGdtYWlsLmNvbT4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYWRlbXV4OiBhdm9pZCBwb3N0aW5nIGludmFsaWQgZHVyYXRpb24gZm9yIGVhY2ggZnJhbWUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY2NjU4MwoKMjAxMi0wMi0wNiAxMDowNzowNiArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvYW1wbGlmeS5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdWRpb2NoZWJiYW5kLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvY2hlYmxpbWl0LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvZHluYW1pYy5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdWRpb2VjaG8uYzoKCSAgdGVzdHM6IGZpeCBtb3JlIHRlc3RzCgoyMDEyLTAyLTA2IDA5OjQ5OjM4ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXNwZWN0cmF0aW9jcm9wLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3JnYW5hbHlzaXMuYzoKCSAgdGVzdHM6IGltcHJvdmUgc29tZSB0ZXN0cwoKMjAxMi0wMi0wNiAwOToyMzo0OSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cGppdHRlcmJ1ZmZlci5jOgoJICB0ZXN0czogZml4IGppdHRlcmJ1ZmZlciB0ZXN0CgoyMDEyLTAyLTA2IDA5OjIzOjA3ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIGppdHRlcmJ1ZmZlcjogZml4IGNhcHMgYWZ0ZXIgcHQgY2hhbmdlCgoyMDEyLTAyLTA2IDA5OjE4OjE3ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIGppdHRlcmJ1ZmZlcjogZml4IGNhcHMgbGVhawoKMjAxMi0wMi0wMyAyMjowNTo1OSArMDUzMCAgQXJ1biBSYWdoYXZhbiA8YXJ1bi5yYWdoYXZhbkBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcHVsc2UvcGx1Z2luLmM6CgkgIHB1bHNlYXVkaW9zaW5rOiBMb3dlciByYW5rIHRvIHByZXZlbnQgYXV0b3BsdWdnaW5nCgkgIHB1bHNlYXVkaW9zaW5rIGJyZWFrcyB2aXN1YWxpc2F0aW9ucyBpbiBpdHMgY3VycmVudCBmb3JtLCBzbyBsZXQncwoJICBwcmV2ZW50IGl0IGZyb20gYmVpbmcgYXV0b3BsdWdnZWQgZm9yIHRoZSB0aW1lIGJlaW5nLgoJICBUaGUgYmVzdCB3ZSBjYW4gaG9wZSB0byBkbyBpbiB0aGUgMC4xMCBzZXJpZXMgaXMgcXVlcnkgdGhlIGxpc3Qgb2YKCSAgYXZhaWxhYmxlIHNpbmtzIGFuZCB0aGVpciBmb3JtYXRzLCBhbmQgZXhwb3NlIHRoZXNlIGFzIHRoZSBiaW4ncyBzaW5rcGFkCgkgIGNhcHMuIFdoaWxlIHRoaXMgaXMgbm90IGEgY29tcHJlaGVuc2l2ZSBzb2x1dGlvbiwgaXQgd2lsbCBtYWtlIHN1cmUgdGhhdAoJICB3ZSdyZSBvbmx5IHRyeWluZyB0byBzdXBwb3J0IGNvbXByZXNzZWQgZm9ybWF0cyBpZiB3ZSdyZSBjZXJ0YWluIHRoYXQKCSAgb25lIGV4aXN0cy4KCSAgVGhlIGxvbmctdGVybSBmaXggZm9yIHRoaXMgd2lsbCBiZSBpbiB0aGUgZm9ybSBvZiBwcm9wZXIgdXBzdHJlYW0KCSAgcmVuZWdvdGlhdGlvbiBzdXBwb3J0IGluIHRoZSAwLjExLzEuMCBzZXJpZXMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NjYzNjEKCjIwMTItMDItMDMgMTc6MjM6NDggKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jbW1sZGVjLmM6CgkgIHRlc3RzOiBmaXggbW9yZSB0ZXN0cwoKMjAxMi0wMi0wMyAxNjoxMzo1MSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2FwZXYybXV4LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvZmlyZmlsdGVyLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvaWlyZmlsdGVyLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2NtbWxkZWMuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvaWQzdjJtdXguYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvaW50ZXJsZWF2ZS5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9wYXJzZXIuYzoKCSogdGVzdHMvY2hlY2svcGlwZWxpbmVzL3dhdmVuYy5jOgoJICB0ZXN0czogZml4IHNvbWUgbW9yZSB0ZXN0cwoKMjAxMi0wMi0wMyAxNjoxMjo1OSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWFjcGFyc2UuYzoKCSAgYWFjcGFyc2U6IGZpeCBzcmNwYWQgY2FwcyBoYW5kbGluZwoKMjAxMi0wMi0wMyAxNjoxMjoyNCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9hbm5vZGV4L2dzdGNtbWxlbmMuYzoKCSAgY21tbGVuYzogZml4IGNhcHMgaGFuZGxpbmcKCjIwMTItMDItMDMgMTQ6NTM6MzEgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2VuYy5jOgoJICBmbGFjZW5jOiBmaXggZXZlbnQgbGVhayB3aGVuIHRoZXJlIGlzIG5vIHBlZXIgb24gdGhlIHNyYyBwYWQKCjIwMTItMDItMDIgMTY6MjE6MjkgKzAwMDAgIENocmlzdGlhbiBGcmVkcmlrIEthbGFnZXIgU2NoYWxsZXIgPGNocmlzdGlhbi5zY2hhbGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtcGx1Z2lucy1nb29kLnNwZWMuaW46CgkgIFVwZGF0ZSBzcGVjIGZpbGUKCjIwMTItMDItMDIgMTI6Mjc6MDkgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2Zsdi9nc3RmbHZtdXguYzoKCSAgZmx2bXV4OiBzcGVjaWZ5IHdlIG9ubHkgYWNjZXB0IHJhdyBBQUMgaW4gdGVtcGxhdGUgY2FwcwoJICBObyBoZWFkZXIgc2VlbXMgdG8gYmUgYWRkZWQsIGFuZCB0aGUgY29kZWMgSUQgaXMgdGhlIHNhbWUgYXMgdXNlZAoJICBmb3IgcmF3IGJ5IGZsdmRlbXV4LCBzbyByYXcgc2VlbXMgdGhlIG9ubHkgc3VwcG9ydGVkIGNhc2UuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NjUzOTQKCjIwMTItMDItMDIgMTI6MjU6MjEgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOgoJICBmbHZkZW11eDogc3BlY2lmeSB3ZSBvbmx5IG91dHB1dCByYXcgQUFDIGluIHRlbXBsYXRlIGNhcHMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY2NTM5NAoKMjAxMi0wMi0wMSAxODowMToyNyArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC90YWdsaWIvZ3N0YXBldjJtdXguY2M6CgkqIGV4dC90YWdsaWIvZ3N0aWQzdjJtdXguY2M6CgkqIGV4dC90YWdsaWIvZ3N0dGFnbGlibXV4LmM6CgkqIGV4dC90YWdsaWIvZ3N0dGFnbGlibXV4Lmg6CgkgIHRhZ2xpYjogcG9ydCB0byAwLjExCgoyMDEyLTAyLTAxIDE2OjQwOjUxICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9hbm5vZGV4L01ha2VmaWxlLmFtOgoJKiBnc3QvYXVkaW9meC9NYWtlZmlsZS5hbToKCSogZ3N0L3J0cG1hbmFnZXIvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2V4YW1wbGVzL2F1ZGlvZngvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2V4YW1wbGVzL3J0cC9NYWtlZmlsZS5hbToKCSAgYnVpbGQ6IGlnbm9yZSBHVmFsdWVBcnJheSBkZXByZWNhdGlvbiB3YXJuaW5ncyBmb3IgdGhlIHRpbWUgYmVpbmcKCSAgdW50aWwgdGhpcyBnZXRzIHNvcnRlZCBvdXQgd2l0aCB0aGUgR0xpYiBmb2xrcyBhbmQgd2UgaGF2ZSBhCgkgIHZpYWJsZSBhbHRlcm5hdGl2ZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY2NzIyOAoKMjAxMi0wMi0wMSAxNjozNjo1MyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcHVsc2UvcHVsc2Vwcm9iZS5jOgoJKiBleHQvcHVsc2UvcHVsc2Vwcm9iZS5oOgoJICBwdWxzZTogZGlzYWJsZSBzb21lIHVudXNlZCBwcm9wZXJ0eSBwcm9iZSBjb2RlCgkgIHdoaWNoIHdhcyB1c2luZyBHVmFsdWVBcnJheQoKMjAxMi0wMi0wMSAxNjoxMToxNCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvc3BlZXgvZ3N0c3BlZXhkZWMuYzoKCSogZXh0L3NwZWV4L2dzdHNwZWV4ZW5jLmM6CgkgIHNwZWV4OiBVc2UgbmV3IGF1ZGlvIGVuY29kZXIvZGVjb2RlciBiYXNlIGNsYXNzIEFQSSBmb3Igc3JjcGFkIGNhcHMKCjIwMTItMDItMDEgMTY6MDU6NTEgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5jOgoJKiBleHQvZmxhYy9nc3RmbGFjZW5jLmM6CgkgIGZsYWM6IFVzZSBuZXcgYXVkaW8gZW5jb2Rlci9kZWNvZGVyIGJhc2UgY2xhc3MgQVBJIGZvciBzcmNwYWQgY2FwcwoKMjAxMi0wMS0zMSAxNTozOTowOSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2VxdWFsaXplci5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9pZDNkZW11eC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9pbnRlcmxlYXZlLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2xldmVsLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3JnYW5hbHlzaXMuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcmdsaW1pdGVyLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3Jndm9sdW1lLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cGJpbi5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHBqaXR0ZXJidWZmZXIuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvc2hhcGV3aXBlLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3NwZWN0cnVtLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3VkcHNyYy5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy95NG1lbmMuYzoKCSogdGVzdHMvY2hlY2svcGlwZWxpbmVzL2ZsYWNkZWMuYzoKCSogdGVzdHMvY2hlY2svcGlwZWxpbmVzL3dhdmVuYy5jOgoJICB0ZXN0czogZml4IG1vcmUgdGVzdHMKCjIwMTItMDEtMzAgMTQ6NTI6MzcgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBtcDJ0cGF5LmM6CgkgIHJ0cG1wMnRwYXk6IGRvIG5vdCB0cnkgdG8gZmx1c2ggYSBwYWNrZXQgd2hlbiBubyBkYXRhIGlzIGF2YWlsYWJsZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjY4ODc0CgoyMDEyLTAxLTMxIDEzOjQxOjQ1ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYWxwaGFjb2xvci5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdWRpb2NoZWJiYW5kLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvY2hlYmxpbWl0LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvZmlyZmlsdGVyLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvaWlyZmlsdGVyLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvaW52ZXJ0LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvd3NpbmNiYW5kLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvd3NpbmNsaW1pdC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdmltdXguYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZGVpbnRlcmxhY2UuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZGVpbnRlcmxlYXZlLmM6CgkgIHRlc3RzOiB1cGRhdGUgc29tZSB0ZXN0cyBmb3IgbmV3IG1lbW9yeSBhcGkKCjIwMTItMDEtMzEgMTI6MjI6MTkgKzAxMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiB0ZXN0cy9leGFtcGxlcy9zaGFwZXdpcGUvc2hhcGV3aXBlLWV4YW1wbGUuYzoKCSogdGVzdHMvZXhhbXBsZXMvdjRsMi9jYW1jdHJsLmM6CgkgIGNvbnRyb2xsZXI6IGFkYXB0IHRvIGNvbnRyb2wtc291cmNlIHR5cGUgY2hhbmdlcwoKMjAxMi0wMS0zMCAyMTozOTozNCArMDEwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIHRlc3RzL2V4YW1wbGVzL3NoYXBld2lwZS9zaGFwZXdpcGUtZXhhbXBsZS5jOgoJKiB0ZXN0cy9leGFtcGxlcy92NGwyL2NhbWN0cmwuYzoKCSAgY29udHJvbGxlcjogcmVuYW1lIGNvbnRyb2wtYmluZGluZ3MKCSAgZ3N0X2NvbnRyb2xfYmluZGluZ194eHggLT4gZ3N0X3h4eF9jb250cm9sX2JpbmRpbmcgZm9yIGNvbnNpc3RlbmN5LgoKMjAxMi0wMS0zMCAxNzoxNjo1MSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9hbm5vZGV4L2dzdGNtbWxlbmMuYzoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2VuYy5jOgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cGNsaWVudHNpbmsuYzoKCSogZXh0L3NwZWV4L2dzdHNwZWV4ZW5jLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZmxhY3BhcnNlLmM6CgkqIGdzdC9mbHYvZ3N0Zmx2bXV4LmM6CgkqIGdzdC9pc29tcDQvZ3N0cXRtdXguYzoKCSogZ3N0L21hdHJvc2thL2VibWwtd3JpdGUuYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcGFyc2UuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvY21tbGRlYy5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jbW1sZW5jLmM6CgkgIHVwZGF0ZSBmb3IgSEVBREVSIGZsYWcKCjIwMTAtMDYtMTEgMDg6MzY6MzMgKzAyMDAgIFBhc2NhbCBCdWhsZXIgPHBhc2NhbC5idWhsZXJAdGFuZGJlcmcuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBoMjY0ZGVwYXkuYzoKCSAgcnRwaDI2NGRlcGF5OiBFeGNsdWRlIE5BTHUgc2l6ZSBmcm9tIHBheWxvYWQgbGVuZ3RoIG9uIHRydW5jYXRlZCBwYWNrZXRzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjY3ODQ2CgoyMDEyLTAxLTI4IDIzOjM1OjUwICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSAgbWF0cm9za2FtdXg6IHJlbW92ZSBvYnNvbGV0ZSB2YXJpYWJsZSwgc2V0IGJ1dCBub3QgdXNlZAoJICBSZXBvcnRlZCBieSBhbmRyZWRpZWIgb24gI2dzdHJlYW1lci4KCjIwMTItMDEtMjggMTM6MDU6MDkgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvYm94L2dzdHZpZGVvYm94LmM6CgkgIHZpZGVvYm94OiBhdm9pZCB3cmFwcGluZyBvcGFxdWUgdG8gdHJhbnNwYXJlbnQKCjIwMTItMDEtMjggMTI6MzU6MTMgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJICBtYXRyb3NrYW11eDogZG8gbm90IGZyZWUgbWVtb3J5IHR3aWNlCgkgIEEgcmVjZW50IGNoYW5nZSB0byBmaXggbGVha2luZyBjb2RlYyBJRCBzdHJpbmcgYWNjaWRlbnRhbGx5IGNhdXNlZAoJICBvbmUgb2YgdGhlIHZlcnkgZmV3IHBsYWNlcyB0aGF0IHdlcmVuJ3QgbGVha2luZyB0byBub3cgZnJlZSB0d2ljZS4KCjIwMTItMDEtMjcgMTY6Mjc6NDkgKzAxMDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvbGF3L2FsYXctZGVjb2RlLmM6CgkgIGFsYXdkZWM6IEVhY2ggb3V0cHV0IHNhbXBsZSBpcyAyIGJ5dGVzCgoyMDEyLTAxLTI3IDEyOjE0OjQ5ICswMTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIHJ0cGppdHRlcmJ1ZmZlcjogRG9uJ3QgbGVhayBjYXBzIGV2ZW50IHdoZW4gbm90IHB1c2hpbmcKCjIwMTItMDEtMjcgMTI6MDQ6NTMgKzAxMDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBwdGRlbXV4LmM6CgkgIHJ0cHB0ZGVtdXg6IEZvcndhcmQgc3RpY2t5IGV2ZW50cwoKMjAxMi0wMS0yNyAxMjowNDowNSArMDEwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHB0ZGVtdXguYzoKCSAgcnRwcHRkZW11eDogUHJvdGVjdCBhbGwgdXNlcyBwYWQgbGlzdCB3aXRoIE9CSkVDVCBMT0NLCgkgIEFjdHVhbGx5IHByb3RlY3QgdGhlIGVudGlyZSBwYWQgbGlzdCBhbmQgdXNlIGl0IGluIGEgdGhyZWFkIHNhZmUKCSAgd2F5LgoKMjAxMi0wMS0yNyAxMjowMjoyNSArMDEwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNzcmNkZW11eC5jOgoJICBydHBzc3JjZGVtdXg6IEZvcndhcmQgc3RpY2t5IGV2ZW50cyB0byBuZXcgcGFkcwoKMjAxMi0wMS0yNyAxMjowMTo0MCArMDEwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNzcmNkZW11eC5jOgoJICBydHBzc3JjZGVtdXg6IEFkZCBzc3JjIHRvIGZvcndhcmRlZCBDQVBTIGV2ZW50cwoJICBBbHNvIGl0ZXJhdGUgdGhlIGxpc3Qgb2YgR3N0UnRwU3NyY0RlbXV4UGFkIHNhZmVseQoKMjAxMi0wMS0yNyAxMTo1OTowOCArMDEwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNzcmNkZW11eC5jOgoJICBydHBzc3JjY2RlbXV4OiBGYWN0b3Igb3V0IGdldHRpbmcgZHBhZCBieSBwYWQKCjIwMTItMDEtMjYgMTg6MzU6NDggKzAxMDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkgIHJ0cHNlc3Npb246IEtlZXAgdGhlIGJ1ZmZlciBtYXBwZWQgd2hpbGUgaXQgaXMgYmVpbmcgbW9kaWZpZWQKCjIwMTItMDEtMjYgMTg6MzU6MjcgKzAxMDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHN0YXRzLmg6CgkgIHJ0cHNlc3Npb246IEluaXRpYWxpc2UgdGhlIGFkZHJlc3MgcG9pbnRlciB0byBOVUxMCgoyMDEyLTAxLTI3IDEyOjA3OjQzICswMTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2R0bWYvZ3N0ZHRtZmRldGVjdC5jOgoJKiBnc3QvZHRtZi9nc3RkdG1mc3JjLmM6CgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZkZXBheS5jOgoJICBkdG1mOiBVc2UgbmV3LXN0eWxlIGNhcHMKCjIwMTItMDEtMjcgMTY6Mzc6MTkgKzAxMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8YW1vcmFsZXNAZmx1bW90aW9uLmNvbT4KCgkqIHN5cy9kaXJlY3Rzb3VuZC9nc3RkaXJlY3Rzb3VuZHNpbmsuYzoKCSogc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdHNvdW5kc2luay5oOgoJICBkaXJlY3NvdW5kc2luazogUG9ydCBlbGVtZW50IHRvIDAuMTEKCjIwMTItMDEtMjYgMTk6NDg6MTQgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyMi5jOgoJICB2aWRlb21peGVyMjogcmVtb3ZlIHBhZCBldmVudCBmdW5jdGlvbgoJICBXZSB1c2UgdGhlIG9uZSBmcm9tIGNvbGxlY3RwYWRzCgoyMDEyLTAxLTI2IDE4OjI2OjAyICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBSZXZlcnQgInF0ZGVtdXg6IGZpeCBHc3REYXRlVGltZS9HRGF0ZVRpbWUgbWl4dXAiCgkgIFRoaXMgcmV2ZXJ0cyBjb21taXQgNTMyNjEyNjExMjBiNGMwMDhkZTYxNjkxYzcwZTk0MzU0YjI4MDA0YS4KCSAgVGhlIEdzdERhdGVUaW1lLT5HRGF0ZVRpbWUgY2hhbmdlIGluIGNvcmUgd2FzIGFwcGFyZW50bHkgYWNjaWRlbnRhbCwKCSAgYW5kIGlzIG5vdyByZXZlcnRlZC4KCjIwMTItMDEtMjYgMTg6MjU6MjEgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICBSZXZlcnQgImF2aWRlbXV4OiBmaXggR3N0RGF0ZVRpbWUvR0RhdGVUaW1lIG1peHVwIgoJICBUaGlzIHJldmVydHMgY29tbWl0IGFjYzlmMTUwOTY4YjI1YzVhZTVhNjk0MGIzNGFkMmQ1MWIxNzRmZDIuCgkgIFRoZSBHc3REYXRlVGltZS0+R0RhdGVUaW1lIGNoYW5nZSBpbiBjb3JlIHdhcyBhcHBhcmVudGx5IGFjY2lkZW50YWwsCgkgIGFuZCBpcyBub3cgcmV2ZXJ0ZWQuCgoyMDEyLTAxLTI2IDE3OjUwOjMwICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgYXZpZGVtdXg6IGZpeCBHc3REYXRlVGltZS9HRGF0ZVRpbWUgbWl4dXAKCSAgVGhpcyBpcyBhIGJsaW5kIGZpeCB0byBtYXRjaCB0aGUgb25lIEkganVzdCBtYWRlIHRvIHF0ZGVtdXgsCgkgIGFzIEkgZG8gbm90IGhhdmUgYW4gQVZJIGZpbGUgd2hlcmUgdGhlIGNvZGUgZ2V0cyBleGVjdXRlZC4KCjIwMTItMDEtMjYgMTc6NDc6MjkgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IGZpeCBHc3REYXRlVGltZS9HRGF0ZVRpbWUgbWl4dXAKCjIwMTItMDEtMjYgMTg6NTE6MzAgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyMi5jOgoJICB2aWRlb21peGVyOiBtb3JlIGZpeGVzCgoyMDEyLTAxLTI2IDE4OjQzOjA2ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlcjIuYzoKCSAgdmlkZW9taXhlcjogbWFrZSB2aWRlb21peGVyIHdvcmsgc29tZXdoYXQKCjIwMTItMDEtMjYgMTg6MTU6NTEgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC92aWRlb21peGVyL2JsZW5kLmM6CgkqIGdzdC92aWRlb21peGVyL2JsZW5kLmg6CgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIyLmM6CgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIyLmg6CgkgIHZpZGVvbWl4ZXI6IHBvcnQgdG8gMC4xMQoJICBJdCBidWlsZHMgYW5kIGdzdC1pbnNwZWN0LTAuMTEgd29ya3MuLiBvdGhlcndpc2UgdW50ZXN0ZWQKCjIwMTItMDEtMjYgMTU6NDg6MDEgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3VkcC9nc3RkeW51ZHBzaW5rLmM6CgkgIGR5bnVkcHNpbms6IGZpeCBnZXQtc3RhdHMgc2lnbmFsIHJlZ2lzdHJhdGlvbiBzb21lIG1vcmUKCjIwMTItMDEtMjYgMTU6NDY6MTMgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuYzoKCSAgUmV2ZXJ0ICJ1ZHA6IG1hcmsgYWN0aW9uIHNpZ25hbHMgYXMgUlVOX0ZJUlNUIgoJICBUaGlzIHJldmVydHMgY29tbWl0IDVjODMwODU5OTEyOWQ5ZTE2MDZlZWRiMmQzNTQzNjE3NjU4ZGMzMDYuCgoyMDEyLTAxLTI2IDE1OjM5OjMzICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC91ZHAvZ3N0bXVsdGl1ZHBzaW5rLmM6CgkgIHVkcDogbWFyayBhY3Rpb24gc2lnbmFscyBhcyBSVU5fRklSU1QKCjIwMTItMDEtMjYgMTU6Mzc6MjMgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3VkcC9nc3RkeW51ZHBzaW5rLmM6CgkgIHVkcDogbWFyayAiZ2V0LXN0YXRzIiBhcyBhY3Rpb24gc2lnbmFsCgoyMDEyLTAxLTI2IDE1OjMwOjQxICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC91ZHAvZ3N0ZHludWRwc2luay5jOgoJKiBnc3QvdWRwL2dzdGR5bnVkcHNpbmsuaDoKCSogZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuYzoKCSAgdWRwOiBmaXggZ2V0LXN0YXRzIGFjdGlvbiBzaWduYWwgcmVnaXN0cmF0aW9uCgkgIEl0IHJldHVybnMgYSBHc3RTdHJ1Y3R1cmUgbm93LCBub3QgYSBHVmFsdWVBcnJheQoKMjAxMi0wMS0yNiAxNjowNTozNCArMDEwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDxhbW9yYWxlc0BmbHVtb3Rpb24uY29tPgoKCSogZ3N0L3VkcC9nc3R1ZHBzcmMuYzoKCSAgdWRwc3JjOiBmaXggcHJpbnQgZm9ybWF0CgoyMDEyLTAxLTI2IDExOjUwOjE5ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9lYm1sLXdyaXRlLmM6CgkgIG1hdHJvc2thbXV4OiBGaXggc2l6ZSBvZiBvdXRwdXQgYnVmZmVycwoKMjAxMi0wMS0yNiAxMTozMzowNyArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pc29tcDQvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IGluY2x1ZGUgcmlnaHQgY29sbGVjdHBhZHMgdmVyc2lvbgoKMjAxMi0wMS0yNiAxMToyOToxMSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2FkZW11eDogUHJvcGVybHkgdXNlIHRoZSBhbGlnbm1lbnQgcGFyYW1ldGVyIG9mIGdzdF9idWZmZXJfbmV3X2FsbG9jYXRlKCkKCSAgSXQncyBhIGJpdG1hc2sgZm9yIHRoZSBhbGlnbm1lbnQsIG5vdCB0aGUgYWxpZ25tZW50IGl0c2VsZi4KCjIwMTItMDEtMjYgMTE6MTg6NDAgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL2VibWwtd3JpdGUuYzoKCSAgbWF0cm9za2FtdXg6IFByb3Blcmx5IHVubWFwIFdSSVRFIG1hcHMgb2YgdGhlIG91dHB1dCBidWZmZXJzCgoyMDEyLTAxLTI2IDEwOjQ0OjI4ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIyLmM6CgkgIHZpZGVvbWl4ZXIyOiBVcGRhdGUgZm9yIHRoZSBuZXcgY29sbGVjdHBhZHMyIGV2ZW50IGhhbmRsaW5nIEFQSQoKMjAxMi0wMS0yNiAxMDo0MDowNiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBVcGRhdGUgZm9yIHRoZSBuZXcgY29sbGVjdHBhZHMyIGV2ZW50IGhhbmRsaW5nIEFQSQoKMjAxMi0wMS0yNiAxMDozNzo1MiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkgIG1hdHJvc2thbXV4OiBVcGRhdGUgZm9yIHRoZSBuZXcgY29sbGVjdHBhZHMyIGV2ZW50IGhhbmRsaW5nIEFQSQoKMjAxMi0wMS0yNiAxMDoyODo1MSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZmx2L2dzdGZsdm11eC5jOgoJICBmbHZtdXg6IFVwZGF0ZSBmb3IgbmV3IGNvbGxlY3RwYWRzMiBldmVudCBoYW5kbGluZyBBUEkKCjIwMTItMDEtMjYgMTA6Mjc6NDAgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F2aS9nc3RhdmltdXguYzoKCSAgYXZpbXV4OiBVcGRhdGUgZm9yIG5ldyBjb2xsZWN0cGFkczIgZXZlbnQgaGFuZGxpbmcgQVBJCgoyMDEyLTAxLTI1IDE4OjQxOjM4ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSAgbWF0cm9za2FtdXg6IE9ubHkgZm9yd2FyZCB0aGUgZXZlbnQgd2hlbiB3ZSBkaWRuJ3QgaGFuZGxlIGl0IG91cnNlbHZlcwoKMjAxMi0wMS0yNSAxODo0MDowMyArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIyLmM6CgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIyLmg6CgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIycGFkLmg6CgkgIHZpZGVvbWl4ZXI6IHNvbWUgbW9yZSBwb3J0aW5nCgoyMDEyLTAxLTI1IDE4OjAwOjUyICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvbWl4ZXIvYmxlbmQuYzoKCSogZ3N0L3ZpZGVvbWl4ZXIvYmxlbmQuaDoKCSAgdmlkZW9taXhlcjogcG9ydCBibGVuZCBmdW5jdGlvbgoKMjAxMi0wMS0yNSAxNjo1ODoxMiArMDEwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6CgkgIGZsdjogRml4IHVuaXRpYWxpemVkIHZhcmlhYmxlcwoJICAob3IgcmF0aGVyIGNpcmN1bXZlbnQgaXNzdWVzIHdpdGggbmFpdmUgY29tcGlsZXJzIC4uLikKCjIwMTItMDEtMjUgMTU6MjE6NDQgKzAwMDAgIEpheWFrcmlzaG5hbiBNIDxqYXkua3Jpc2huYW5tQGdtYWlsLmNvbT4KCgkqIGV4dC9jYWlyby9NYWtlZmlsZS5hbToKCSAgY2Fpcm86IGZpeCBidWlsZCwgbWFrZSBzdXJlIGxpYmdzdHZpZGVvIGNhbiBiZSBmb3VuZAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjY4NjQ4CgoyMDEyLTAxLTI1IDE0OjUwOjUwICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R0bWYvZ3N0ZHRtZmRldGVjdC5jOgoJKiBnc3QvZHRtZi9nc3RkdG1mc3JjLmM6CgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZkZXBheS5jOgoJICBwb3J0IHRvIG5ldyBtZW1vcnkgQVBJCgoyMDEyLTAxLTI1IDEzOjE5OjEyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkgIHJ0cG1hbmFnZXI6IGRvbid0IHByZXRlbmQgb3VyIHJhbmRvbSBob3N0bmFtZXMgYXJlIGZ1bGx5LXF1YWxpZmllZCBkb21haW4gbmFtZXMKCjIwMTItMDEtMjUgMTM6NDc6MzAgKzAxMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hcyAoYXQpIGFwZXN0YWFydCAoZG90KSBvcmc+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIGM0NjNiYzAgdG8gN2ZkYTUyNAoKMjAxMi0wMS0yNSAxMjo0OTozNCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJICBNZXJnZSBicmFuY2ggJzAuMTEnIG9mIHNzaDovL2dpdC5mcmVlZGVza3RvcC5vcmcvZ2l0L2dzdHJlYW1lci9nc3QtcGx1Z2lucy1nb29kIGludG8gMC4xMQoKMjAxMi0wMS0yNSAxMjo0OToxMSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJICBNZXJnZSBicmFuY2ggJ21hc3RlcicgaW50byAwLjExCgkgIENvbmZsaWN0czoKCSAgZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5jCgkgIGV4dC9qcGVnL2dzdGpwZWdlbmMuYwoJICBleHQvcHVsc2UvcHVsc2VzaW5rLmMKCSAgc3lzL3Y0bDIvZ3N0djRsMnNyYy5jCgoyMDEyLTAxLTI1IDEyOjQxOjQyICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2xpYnBuZy9nc3RwbmdkZWMuYzoKCSogZXh0L2xpYnBuZy9nc3RwbmdlbmMuYzoKCSAgcG5nOiBwb3J0IHRvIG5ldyBtZW1vcnkgQVBJCgoyMDEyLTAxLTI1IDEyOjQxOjMwICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thOiBwb3J0IHRvIG5ldyBtZW1vcnkgQVBJCgoyMDEyLTAxLTI0IDE0OjM4OjU4ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2Fubm9kZXgvZ3N0Y21tbGRlYy5jOgoJKiBleHQvYW5ub2RleC9nc3RjbW1sZW5jLmM6CgkqIGV4dC9mbGFjL2dzdGZsYWNkZWMuYzoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2VuYy5jOgoJKiBleHQvZmxhYy9nc3RmbGFjdGFnLmM6CgkqIGV4dC9qcGVnL2dzdGpwZWdlbmMuYzoKCSogZXh0L2pwZWcvZ3N0anBlZ2VuYy5oOgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwY2xpZW50c2luay5jOgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOgoJKiBleHQvc3BlZXgvZ3N0c3BlZXhkZWMuYzoKCSogZXh0L3NwZWV4L2dzdHNwZWV4ZW5jLmM6CgkqIGdzdC9ydHAvZ3N0cnRwdm9yYmlzZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHB2b3JiaXNwYXkuYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkqIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5jOgoJKiBnc3QvdWRwL2dzdGR5bnVkcHNpbmsuYzoKCSogZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuYzoKCSogZ3N0L3ZpZGVvY3JvcC9nc3R2aWRlb2Nyb3AuYzoKCSogZ3N0L3dhdmVuYy9nc3R3YXZlbmMuYzoKCSogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSogc3lzL3hpbWFnZS9nc3R4aW1hZ2VzcmMuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcGFyc2VyLmM6CgkgIG1vcmUgbWVtb3J5IEFQSSBwb3J0aW5nCgoyMDEyLTAxLTIzIDE3OjI1OjM3ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2FwZXRhZy9nc3RhcGVkZW11eC5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb2FtcGxpZnkuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9keW5hbWljLmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvZWNoby5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb2Z4YmFzZWZpcmZpbHRlci5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb2Z4YmFzZWlpcmZpbHRlci5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb2ludmVydC5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb2thcmFva2UuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9wYW5vcmFtYS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFhY3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWMzcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhbXJwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGRjYXBhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZmxhY3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0bXBlZ2F1ZGlvcGFyc2UuYzoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJKiBnc3QvYXZpL2dzdGF2aW11eC5jOgoJKiBnc3QvYXZpL2dzdGF2aXN1YnRpdGxlLmM6CgkqIGdzdC9jdXR0ZXIvZ3N0Y3V0dGVyLmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL2JyZWFrbXlkYXRhLmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL3Rlc3RzLmM6CgkqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyLmM6CgkqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzoKCSogZ3N0L2Zsdi9nc3RmbHZtdXguYzoKCSogZ3N0L2lkM2RlbXV4L2dzdGlkM2RlbXV4LmM6CgkqIGdzdC9pc29tcDQvYXRvbXNyZWNvdmVyeS5jOgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4LmM6CgkqIGdzdC9pc29tcDQvZ3N0cXRtdXhtYXAuYzoKCSogZ3N0L2lzb21wNC9nc3RydHB4cXRkZXBheS5jOgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSogZ3N0L2xhdy9hbGF3LWRlY29kZS5jOgoJKiBnc3QvbGF3L2FsYXctZW5jb2RlLmM6CgkqIGdzdC9sYXcvbXVsYXctZGVjb2RlLmM6CgkqIGdzdC9sYXcvbXVsYXctZW5jb2RlLmM6CgkqIGdzdC9sZXZlbC9nc3RsZXZlbC5jOgoJKiBnc3QvbWF0cm9za2EvZWJtbC1yZWFkLmM6CgkqIGdzdC9tYXRyb3NrYS9lYm1sLXJlYWQuaDoKCSogZ3N0L21hdHJvc2thL2VibWwtd3JpdGUuYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXBhcnNlLmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1yZWFkLWNvbW1vbi5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcmVhZC1jb21tb24uaDoKCSogZ3N0L211bHRpZmlsZS9nc3RtdWx0aWZpbGVzaW5rLmM6CgkqIGdzdC9tdWx0aWZpbGUvZ3N0c3BsaXRmaWxlc3JjLmM6CgkqIGdzdC9yZXBsYXlnYWluL2dzdHJnYW5hbHlzaXMuYzoKCSogZ3N0L3JlcGxheWdhaW4vZ3N0cmdsaW1pdGVyLmM6CgkqIGdzdC9ydHAvZ3N0YXN0ZXJpc2toMjYzLmM6CgkqIGdzdC9ydHAvZ3N0cnRwYWMzcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwYW1yZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBhbXJwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBjZWx0ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBjZWx0cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZHZkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGR2cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZzcyM3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjZkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjZwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnNzI5cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZ3NtcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZ3N0ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnc3RwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjYzcGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2NGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2NHBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGoya2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwajJrcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwanBlZ2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwanBlZ3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wNGFkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wNGFwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDRncGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXA0dnBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wYXJvYnVzdGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwcWNlbHBkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHFkbWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwc3BlZXhkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHNwZWV4cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwc3YzdmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwdGhlb3JhZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHB0aGVvcmFwYXkuYzoKCSAgdXBkYXRlIGZvciBuZXcgbWVtb3J5IEFQSQoKMjAxMi0wMS0yNSAxMToyMTo1MCArMDEwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9kdG1mL2dzdGR0bWZkZXRlY3QuYzoKCSogZ3N0L2R0bWYvZ3N0ZHRtZnNyYy5jOgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mZGVwYXkuYzoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZmRlcGF5Lmg6CgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZzcmMuYzoKCSAgZHRtZjogcG9ydCB0byAwLjExCgoyMDEyLTAxLTI1IDExOjM4OjExICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gMmE1OTAxNiB0byBjNDYzYmMwCgoyMDEyLTAxLTI0IDE4OjI0OjEzICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9saWJwbmcvZ3N0cG5nZW5jLmM6CgkgIHBuZ2VuYzogZGlzYWJseSBzbmFwc2hvdCBiZWhhdmlvdXIgYnkgZGVmYXVsdAoJICAuLi4gc2luY2Ugc3VjaCBiZWhhdmlvdXIgaXMgbm90IGNvbnNpc3RlbnQsIGlmIGFsbG93YWJsZSBhdCBhbGwuCgoyMDEyLTAxLTI0IDE4OjIzOjIyICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L2xpYnBuZy9nc3RwbmdkZWMuYzoKCSogZXh0L2xpYnBuZy9nc3RwbmdkZWMuaDoKCSAgcG5nZGVjOiBwb3J0IHRvIDAuMTEKCjIwMTItMDEtMjQgMTg6MjE6MDggKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2xpYnBuZy9nc3RwbmdlbmMuYzoKCSogZXh0L2xpYnBuZy9nc3RwbmdlbmMuaDoKCSAgcG5nZW5jOiBwb3J0IHRvIDAuMTEKCjIwMTItMDEtMjQgMTQ6NTM6MzggKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3VkcC9nc3R1ZHBzcmMuYzoKCSAgdWRwc3JjOiBmaXggc3RyaW5nIGxlYWsKCjIwMTItMDEtMjQgMTQ6NTI6MDkgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3VkcC9nc3R1ZHBzcmMuYzoKCSAgdWRwc3JjOiBmaXggdXNlIG9mIGZyZWVkIG1lbW9yeQoKMjAxMS0xMi0wMSAxNTo0OTo0MCArMDEwMCAgTWF0ZWogS25vcHAgPG1hdGVqLmtub3BwQGdtYWlsLmNvbT4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBEb24ndCBjcmFzaCBvbiBlbXB0eSBsYWNlcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjY1MjI0CgoyMDEyLTAxLTIzIDEzOjE1OjQ2ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkgIHJ0cG1hbmFnZXI6IGRvbid0IHJldmVhbCB0aGUgdXNlcidzIHVzZXJuYW1lLCBob3N0bmFtZSBvciByZWFsIG5hbWUgYnkgZGVmYXVsdAoJICBTZW5kIGEgcmFuZG9tbHkgbWFkZS11cCB1c2VyQGhvc3RuYW1lIGFzIENOQU1FIGFuZCBkb24ndAoJICBzZW5kIGEgTkFNRSBhdCBhbGwgYnkgZGVmYXVsdC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY2ODMyMAoKMjAxMi0wMS0yMSAyMDowNzo1NiArMDEwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIHRlc3RzL2V4YW1wbGVzL3NoYXBld2lwZS9zaGFwZXdpcGUtZXhhbXBsZS5jOgoJKiB0ZXN0cy9leGFtcGxlcy92NGwyL2NhbWN0cmwuYzoKCSAgY29udHJvbGxlcjogbW92ZSBmcm9tIGNvbnRyb2wtYmluZGluZyB0byBjb250cm9sLWJpbmRpbmctZGlyZWN0CgoyMDEyLTAxLTIyIDIzOjMxOjE5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC9nbGliLWNvbXBhdC1wcml2YXRlLmg6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvY2hlYmJhbmQuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9jaGViYmFuZC5oOgoJKiBnc3QvYXVkaW9meC9hdWRpb2NoZWJsaW1pdC5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb2NoZWJsaW1pdC5oOgoJKiBnc3QvYXVkaW9meC9hdWRpb2ZpcmZpbHRlci5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb2ZpcmZpbHRlci5oOgoJKiBnc3QvYXVkaW9meC9hdWRpb2lpcmZpbHRlci5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb2lpcmZpbHRlci5oOgoJKiBnc3QvYXVkaW9meC9hdWRpb3dzaW5jYmFuZC5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb3dzaW5jYmFuZC5oOgoJKiBnc3QvYXVkaW9meC9hdWRpb3dzaW5jbGltaXQuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW93c2luY2xpbWl0Lmg6CgkqIGdzdC92aWRlb2Nyb3AvZ3N0YXNwZWN0cmF0aW9jcm9wLmM6CgkqIGdzdC92aWRlb2Nyb3AvZ3N0YXNwZWN0cmF0aW9jcm9wLmg6CgkgIERvbid0IHVzZSBkZXByZWNhdGVkIEdMaWIgQVBJCgoyMDEyLTAxLTIyIDIzOjE1OjE5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwY2xpZW50c2luay5jOgoJKiBnc3QtbGlicy9nc3QvZ2xpYi1jb21wYXQtcHJpdmF0ZS5oOgoJKiBnc3QvYWxwaGEvZ3N0YWxwaGEuYzoKCSogZ3N0L2FscGhhL2dzdGFscGhhLmg6CgkqIGdzdC9pbnRlcmxlYXZlL2ludGVybGVhdmUuYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOgoJKiBzeXMvb3NzNC9vc3M0LW1peGVyLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL211bHRpZmlsZS5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9zb3VwaHR0cHNyYy5jOgoJKiB0ZXN0cy9pY2xlcy9lcXVhbGl6ZXItdGVzdC5jOgoJKiB0ZXN0cy9pY2xlcy9nZGtwaXhidWZzaW5rLXRlc3QuYzoKCSogdGVzdHMvaWNsZXMvdGVzdC1vc3M0LmM6CgkqIHRlc3RzL2ljbGVzL3Y0bDJzcmMtdGVzdC5jOgoJKiB0ZXN0cy9pY2xlcy92aWRlb2Nyb3AtdGVzdC5jOgoJICBVc2UgbmV3IEdMaWIgQVBJIHVuY29uZGl0aW9uYWxseQoKMjAxMi0wMS0yMCAxNzowNjo0MiArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IHNpbXBsaWZ5IGludGVybmFsIHNyYyBldmVudCBkZWJ1ZyBsb2dnaW5nCgkgIC4uLiB3aGljaCBhdm9pZHMgYWxtb3N0IHN1cGVyZmx1b3VzIG9idGFpbmluZyBvZiBydHNwIGVsZW1lbnQuCgoyMDEyLTAxLTIwIDE3OjAzOjUwICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogYXZvaWQgTlVMTCBzdHJpbmcgY29tcGFyaXNvbgoKMjAxMi0wMS0yMCAxNzowMzoyMSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzoKCSAgcnRwYmluOiBhcnJhbmdlIGZvciBpbml0aWFsaXplZCB2YXJpYWJsZXMKCjIwMTItMDEtMjAgMTc6MDI6MTUgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBtcDRhZGVwYXkuYzoKCSAgcnRwbXA0YWRlcGF5OiBwcmV2ZW50IG91dC1vZi1ib3VuZCBhcnJheSBhY2Nlc3MKCjIwMTItMDEtMjAgMTc6MDE6MzcgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2lzb21wNC9hdG9tc3JlY292ZXJ5LmM6CgkgIGlzb21wNDogcmVjb3Zlcnk6IGFkZCBzYW5pdHkgY2hlY2sKCSAgLi4uIG9uIHBvc3NpYmx5IGJvZ3VzL2NvcnJ1cHQgaW5wdXQgZGF0YS4KCjIwMTItMDEtMjAgMTc6MDA6NTEgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHB0aGVvcmFkZXBheS5jOgoJICBydHB0aGVvcmFkZXBheTogcmVtb3ZlIGRlYWQgY29kZQoKMjAxMi0wMS0yMCAxNjo1ODoyOCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2EtZGVtdXg6IHJlbW92ZSByZWR1bmRhbnQgdmFyaWFibGUKCjIwMTItMDEtMjAgMTY6NTc6NTIgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmM6CgkgIGRlaW50ZXJsYWNlOiBmaXggYXJpdGhtZXRpYyBmb3IgdW5zaWduZWQgY29tcGFyaXNvbgoKMjAxMi0wMS0yMCAxNjo1NTowNiArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaW1hZ2VmcmVlemUvZ3N0aW1hZ2VmcmVlemUuYzoKCSAgaW1hZ2VmcmVlemU6IGFkZCB2YXJpb3VzIG1pc3NpbmcgYnJlYWsKCjIwMTItMDEtMjAgMTY6NTQ6MDYgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICBhdmlkZW11eDogdHdlYWsgREVGQVVMVCBmb3JtYXQgZHVyYXRpb24gcXVlcnkgcmVzcG9uc2UKCjIwMTItMDEtMjAgMTY6NDk6MTQgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2FscGhhL2dzdGFscGhhY29sb3IuYzoKCSAgYWxwaGFjb2xvcjogcmVtb3ZlIHJlZHVuZGFudCBzdGF0ZW1lbnQKCjIwMTItMDEtMjAgMTY6NDg6NDkgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5jOgoJICBmbGFjZGVjOiBpbXByb3ZlIHVwc3RyZWFtIHBlZXIgZHVyYXRpb24gcXVlcnlpbmcKCSAgLi4uIHRvIGF2b2lkIGFjY2VwdGluZyB1bmhhbmRsZWQgZHVyYXRpb24gcXVlcnkgcmVzdWx0LgoKMjAxMi0wMS0yMCAxNjo0NzozNiArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcHVsc2UvcHVsc2VzcmMuYzoKCSAgcHVsc2VzcmM6IGFkZGl0aW9uYWwgZXJyb3IgY29uZGl0aW9uIGNoZWNraW5nCgoyMDEyLTAxLTIwIDE2OjQ2OjIxICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSAgcHVsc2VzaW5rOiBhZGRpdGlvbmFsIGVycm9yIGNvbmRpdGlvbiBjaGVja2luZwoKMjAxMi0wMS0yMCAxNjo0NDoyMSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvanBlZy9nc3RqcGVnZW5jLmM6CgkgIGpwZWdlbmM6IGNoZWNrIF9hbGxvY19idWZmZXIgcmVzdWx0IGFuZCBwZXJmb3JtIGZhbGxiYWNrIGFsbG9jIGlmIG5lZWRlZAoJICAuLi4gcmF0aGVyIHRoYW4gY2Fycnlpbmcgb24gd2l0aCBOVUxMIGJ1ZmZlci4KCjIwMTItMDEtMjAgMTQ6NDU6MDEgKzAxMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiB0ZXN0cy9leGFtcGxlcy9zaGFwZXdpcGUvc2hhcGV3aXBlLWV4YW1wbGUuYzoKCSogdGVzdHMvZXhhbXBsZXMvdjRsMi9jYW1jdHJsLmM6CgkgIGNvbnRyb2xsZXI6IGFkYXB0IHRvIGNvbnRyb2wgYmluZGluZyBjaGFuZ2VzCgoyMDEyLTAxLTIwIDExOjM3OjM4ICswMTAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogdGVzdHMvZXhhbXBsZXMvc2hhcGV3aXBlL3NoYXBld2lwZS1leGFtcGxlLmM6CgkqIHRlc3RzL2V4YW1wbGVzL3Y0bDIvY2FtY3RybC5jOgoJICBjb250cm9sbGVyOiBhZGFwdCB0byBjb250cm9sbGVyIGFwaSBjaGFuZ2VzCgkgIERvbid0IHVzZSB0aGUgY29udmVuaWVuY2UgYXBpIGZvciBjb250cm9sIHNvdXJjZXMuCgoyMDEyLTAxLTE5IDE0OjI0OjA0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbW1vbjoKCSogY29uZmlndXJlLmFjOgoJICBBZGQgLS1kaXNhYmxlLWZhdGFsLXdhcm5pbmdzIGNvbmZpZ3VyZSBvcHRpb24KCjIwMTItMDEtMTkgMTI6NDQ6MzkgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvanBlZy9nc3RqcGVnZW5jLmM6CgkqIGdzdC91ZHAvZ3N0bXVsdGl1ZHBzaW5rLmM6CgkgIHVwZGF0ZSBmb3IgbWVtb3J5IEFQSQoKMjAxMi0wMS0xOSAxMTozMzo1MyArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9kdi9nc3RkdmRlbXV4LmM6CgkqIGV4dC9mbGFjL2dzdGZsYWNkZWMuYzoKCSogZXh0L2phY2svZ3N0amFja2F1ZGlvY2xpZW50LmM6CgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5oOgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cGNsaWVudHNpbmsuYzoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBjbGllbnRzaW5rLmg6CgkqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2twYXJzZS5jOgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyLmM6CgkqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyLmg6CgkqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzoKCSogZ3N0L2ltYWdlZnJlZXplL2dzdGltYWdlZnJlZXplLmM6CgkqIGdzdC9pc29tcDQvZ3N0cXRtb292cmVjb3Zlci5jOgoJKiBnc3QvaXNvbXA0L2dzdHF0bW9vdnJlY292ZXIuaDoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc3NyY2RlbXV4LmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNzcmNkZW11eC5oOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uaDoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmg6CgkqIGdzdC9zaGFwZXdpcGUvZ3N0c2hhcGV3aXBlLmM6CgkqIGdzdC9zaGFwZXdpcGUvZ3N0c2hhcGV3aXBlLmg6CgkqIGdzdC91ZHAvZ3N0bXVsdGl1ZHBzaW5rLmM6CgkqIGdzdC91ZHAvZ3N0bXVsdGl1ZHBzaW5rLmg6CgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIyLmM6CgkqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOgoJKiBzeXMvdjRsMi9nc3R2NGwydmlkZW9vdmVybGF5LmM6CgkqIHN5cy94aW1hZ2UvZ3N0eGltYWdlc3JjLmM6CgkqIHN5cy94aW1hZ2UvZ3N0eGltYWdlc3JjLmg6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2RlaW50ZXJsZWF2ZS5jOgoJICBwb3J0IHRvIG5ldyBndGhyZWFkIEFQSQoKMjAxMi0wMS0xOCAxNjo1ODoxMiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZS5hYzogUmVtb3ZlIEdJTyBjaGVjaywgdGhpcyBpcyBpbiBnc3QtZ2xpYjIubTQgbm93CgoyMDEyLTAxLTE4IDE2OjQ2OjE3ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gMDgwNzE4NyB0byAyYTU5MDE2CgoyMDEyLTAxLTE4IDE2OjE1OjU5ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlLmFjOiBSZXF1aXJlIEdMaWIgMi4zMS4xMCBhbmQgaW1wcm92ZSBHSU8gY2hlY2sKCjIwMTItMDEtMTcgMTY6NTg6MDcgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3VkcC9nc3R1ZHBzcmMuYzoKCSAgdWRwc3JjOiBSZW1vdmUgdW5uZWVkZWQgc29ja2V0LmggaW5jbHVkZQoKMjAxMi0wMS0xNyAxNjo1MzozMSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC9ydHAvTWFrZWZpbGUuYW06CgkqIGdzdC9ydHAvZ3N0YXN0ZXJpc2toMjYzLmM6CgkgIGNvbmZpZ3VyZTogUmVtb3ZlIHNvY2tldC93aW5zb2NrIHNwZWNpZmljIGNoZWNrcwoJICBOb3QgbmVjZXNzYXJ5IGFueW1vcmUuCgoyMDEyLTAxLTE3IDE2OjQ5OjEwICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL01ha2VmaWxlLmFtOgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IFVwZGF0ZSBmb3IgdGhlIG5ldyBHSU8gdmVyc2lvbnMgb2YgdGhlIHVkcCBlbGVtZW50cwoKMjAxMi0wMS0xNyAxMzowODo0MiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuaDoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc3RhdHMuYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc3RhdHMuaDoKCSAgcnRwbWFuYWdlcjogUG9ydCB0byBHSU8KCjIwMTItMDEtMTcgMTE6MTk6MzMgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QvdWRwL01ha2VmaWxlLmFtOgoJICBjb25maWd1cmU6IFJlcXVpcmUgR0lPIDIuMzEuMTAKCjIwMTItMDEtMTcgMTE6MTg6MzMgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3VkcC9nc3R1ZHAuYzoKCSogZ3N0L3VkcC9nc3R1ZHBuZXR1dGlscy5jOgoJKiBnc3QvdWRwL2dzdHVkcG5ldHV0aWxzLmg6CgkgIHVkcDogUmVtb3ZlIG5vdyB1bmVjZXNzYXJ5IGNvZGUKCjIwMTItMDEtMTcgMTE6MTg6MTUgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuYzoKCSogZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuaDoKCSogZ3N0L3VkcC9nc3R1ZHBzaW5rLmM6CgkqIGdzdC91ZHAvZ3N0dWRwc2luay5oOgoJICB1ZHBzaW5rL211bHRpdWRwc2luazogUG9ydCB0byBHSU8KCjIwMTItMDEtMTcgMDk6Mzg6MzMgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3VkcC9nc3RkeW51ZHBzaW5rLmM6CgkqIGdzdC91ZHAvZ3N0ZHludWRwc2luay5oOgoJKiBnc3QvdWRwL2dzdHVkcHNyYy5jOgoJICBkeW51ZHBzaW5rOiBQb3J0IHRvIEdJTwoKMjAxMi0wMS0xNyAwOTozMjoyNyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdWRwL2dzdGR5bnVkcHNpbmsuYzoKCSogZ3N0L3VkcC9nc3RkeW51ZHBzaW5rLmg6CgkgIGR5bnVkcHNpbms6IFBvcnQgdG8gR0lPCgoyMDEyLTAxLTE3IDA5OjAzOjM4ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC91ZHAvTWFrZWZpbGUuYW06CgkqIGdzdC91ZHAvZ3N0ZHludWRwc2luay5jOgoJKiBnc3QvdWRwL2dzdHVkcG5ldHV0aWxzLmM6CgkqIGdzdC91ZHAvZ3N0dWRwbmV0dXRpbHMuaDoKCSogZ3N0L3VkcC9nc3R1ZHBzaW5rLmM6CgkqIGdzdC91ZHAvZ3N0dWRwc3JjLmM6CgkqIGdzdC91ZHAvZ3N0dWRwc3JjLmg6CgkgIHVkcHNyYzogUG9ydCB0byBHSU8KCjIwMTItMDEtMTYgMTc6NTE6MTggKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2N1dHRlci9nc3RjdXR0ZXIuYzoKCSAgY3V0dGVyOiBmaXggbGVhayBvZiB1bnVzZWQgR1ZhbHVlCgoyMDEyLTAxLTE2IDE2OjEwOjA4ICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1dG9kZXRlY3QuYzoKCSAgdGVzdHM6IGZpeCBhdXRvZGV0ZWN0IHRlc3Qgbm90IHRlc3RpbmcgY29ycmVjdGx5IGZvciBzdGF0ZSBjaGFuZ2Ugc3VjY2VzcwoJICBTdGF0ZSBjaGFuZ2UgdG8gUEFVU0VEIGNhbiBiZSBkb25lIGFzeW5jLCBzbyBpZiB0aGlzIGhhcHBlbnMsIHdlIG5lZWQKCSAgdG8gd2FpdCBmb3IgdGhlIGNoYW5nZSB0byBiZSBkb25lIChvciBmYWlsZWQpLgoKMjAxMi0wMS0xNiAxNTo0Mjo0NiArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNwcGF5LmM6CgkgIHJ0cGgyNjNwcGF5OiBmaXggY2FwcyBsZWFrCgoyMDEyLTAxLTE2IDEyOjEzOjUwICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5jOgoJICBkZWludGVybGFjZTogbWFrZSBpbnRlcmxhY2VkbmVzcyB0ZXN0IGRldGVybWluaXN0aWMKCSAgSWYgdGhlIGludGVybGFjZWQgZmxhZyBpcyBub3QgcHJlc2VudCBpbiB0aGUgY2Fwcywgd2UgYXNzdW1lIHRoZQoJICBkYXRhIGlzIG5vdCBpbnRlcmxhY2VkLCBpbnN0ZWFkIG9mIGxlYXZpbmcgdGhlIGJvb2xlYW4gdW5pbml0aWFsaXplZC4KCjIwMTItMDEtMTMgMTg6MTI6MDUgLTA1MDAgIE1hdGVqIEtub3BwIDxtYXRlai5rbm9wcEBnbWFpbC5jb20+CgoJKiBnc3QvbWF0cm9za2EvZWJtbC13cml0ZS5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcGFyc2UuYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXJlYWQtY29tbW9uLmM6CgkqIGdzdC9tdWx0aWZpbGUvZ3N0bXVsdGlmaWxlc2luay5jOgoJICBtYXRyb3NrYTogZml4IHByaW50ZiBmb3JtYXQgY29tcGlsZXIgd2FybmluZ3MKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY2MjYxNQoKMjAxMi0wMS0xMyAxODoxMTozNiArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcHVsc2UvcHVsc2VzcmMuYzoKCSAgcHVsc2VzcmM6IGZpeCB3cm9uZyBlcnJvciBjaGVjawoJICBwYV9zdHJlYW1fKiBmdW5jdGlvbnMgcmV0dXJuIG5lZ2F0aXZlIG9uIGVycm9yLCBkZXNwaXRlIHRoZSBkZWZpbmVzCgkgIGZvciBlcnJvciBjb2RlcyBiZWluZyBwb3NpdGl2ZS4KCSAgSSBvbmx5IGdvdCB0byByZXBybyB0aGUgZXJyb3IgdHdpY2UsIHNvIEknbSBub3Qgc3VyZSAxMDAlIHN1cmUgdGhpcwoJICBmaXhlcyB0aGUgaXNzdWUgKHRoZSBuZWdhdGl2ZSB2YXIgYmVpbmcgdW5pbml0aWFsaXplZCBhZnRlciByZXR1cm5pbmcKCSAgZnJvbSBwYV9zdHJlYW1fZ2V0X2xhdGVuY3kpLgoKMjAxMi0wMS0xMyAxNzo0Mzo0OSArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvb3NzNC9vc3M0LXNpbmsuYzoKCSogc3lzL29zczQvb3NzNC1zb3VyY2UuYzoKCSAgb3NzNDogZml4IGNhcHMgbGVha3MKCjIwMTItMDEtMTMgMTc6MjU6NTkgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJICB2NGwyc3JjOiBmaXggY2FwcyBsZWFrCgoyMDEyLTAxLTEzIDE1OjU3OjIwICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3ZpZGVvY3JvcC5jOgoJICB0ZXN0czogZml4IGNhcHMgbGVhayBpbiB2aWRlb3Rlc3RzcmMgdGVzdAoKMjAxMi0wMS0xMyAxMjo1MDowNiArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4Lmg6CgkgIG1hdHJvc2thZGVtdXg6IGNsZWFuIHVwIG9ic29sZXRlIGNsb3Npbmcgc2VnbWVudCBoYW5kbGluZwoKMjAxMi0wMS0xMyAxMDozMjo1OSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBwdGRlbXV4LmM6CgkgIHJ0cHB0ZGVtdXg6IHBsdWcgcGFkIGxlYWsgaW4gZXJyb3IgY29kZSBwYXRoCgkgIEJhc2VkIG9uIHBhdGNoIGJ5OiBTdGlnIFNhbmRuZXMgPHN0aWcuc2FuZG5lc0BjaXNjby5jb20+CgkgIERvbid0IGxlYWsgc3JjcGFkIGlmIHRoZXJlIGFyZSBubyBjYXBzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjY3ODIwCgoyMDExLTEwLTA0IDEwOjAwOjAyICswMjAwICBTdGlnIFNhbmRuZXMgPHN0aWdzYW5kQGNpc2NvLmNvbT4KCgkqIHN5cy9vc3h2aWRlby9jb2NvYXdpbmRvdy5tOgoJICBvc3h2aWRlbzogRml4IGxlYWsgb2YgTlNPcGVuR0xQaXhlbEZvcm1hdCBvYmplY3QKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY2NzgxOAoKMjAxMS0wOS0wNSAxMDo0MzoxOSArMDIwMCAgSGF2YXJkIEdyYWZmIDxoYXZhcmQuZ3JhZmZAdGFuZGJlcmcuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJICB2NGwyc3JjOiBEb24ndCBhc3NlcnQgd2hlbiB0aGUgaW50ZXJmYWNlIGlzIG5vdCBpbXBsZW1lbnRlZC4KCSAgU2ltcGx5IHJldHVybiBGQUxTRSBpbnN0ZWFkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjY3ODE3CgoyMDEyLTAxLTEyIDAwOjE4OjM5ICswMjAwICBSYWltbyBKw6RydmkgPHJhaW1vLmphcnZpQGdtYWlsLmNvbT4KCgkqIHN5cy93YXZlZm9ybS9nc3R3YXZlZm9ybXNpbmsuYzoKCSogc3lzL3dhdmVmb3JtL2dzdHdhdmVmb3Jtc2luay5oOgoJICB3YXZlZm9ybXNpbms6IEZpeCBtaW5ndyB3YXJuaW5ncwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjY3NzE5CgoyMDEyLTAxLTEyIDIzOjU1OjMxICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hcGV0YWcvZ3N0YXBlZGVtdXguYzoKCSogZ3N0L2lzb21wNC9nc3RxdG11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcmVhZC1jb21tb24uYzoKCSAgR1NUX1RZUEVfREFURSAtPiBHX1RZUEVfREFURQoKMjAxMi0wMS0xMiAyMzo0ODo1MCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJICBlcU1lcmdlIHJlbW90ZS10cmFja2luZyBicmFuY2ggJ29yaWdpbi9tYXN0ZXInIGludG8gMC4xMQoJICBDb25mbGljdHM6CgkgIGV4dC9qYWNrL2dzdGphY2thdWRpb3NpbmsuYwoJICBleHQvamFjay9nc3RqYWNrYXVkaW9zcmMuYwoJICBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmMKCSAgZ3N0L21hdHJvc2thL21hdHJvc2thLXJlYWQtY29tbW9uLmMKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc3NyY2RlbXV4LmMKCjIwMTItMDEtMTIgMTg6MjM6NDIgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc3NyY2RlbXV4LmM6CgkgIGdzdHJ0cHNzcmNkZW11eDogZml4IGVsZW1lbnQgbGVhawoKMjAxMi0wMS0xMiAxNDoxOToyMiArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcmVhZC1jb21tb24uYzoKCSAgbWF0cm9za2E6IGRvIG5vdCBsZWFrIGF0dGFjaG1lbnQgYnVmZmVycwoKMjAxMi0wMS0xMiAxMzoxNzo1NSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6CgkgIGZsdmRlbXV4OiByZW1vdmUgb2Jzb2xldGUgRklYTUUgY29tbWVudHMKCjIwMTItMDEtMTIgMTA6MzA6MTEgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2VuYy5jOgoJICBmbGFjZW5jOiBkbyBub3QgZHJvcCB0aGUgZmlyc3QgZGF0YSBidWZmZXIgb24gdGhlIGZsb29yIChhbmQgbGVhayBpdCBlaXRoZXIpCgoyMDEyLTAxLTEyIDExOjA4OjM4ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9mbHYvZ3N0aW5kZXguYzoKCSogZ3N0L2Zsdi9nc3RtZW1pbmRleC5jOgoJICBmbHZkZW11eDogYWRkIHByZWZpeCB0byBsb2NhbCBHc3RJbmRleCByZWxhdGVkIGNvcGllcwoJICAuLi4gdG8gYXZvaWQgZHVwbGljYXRlIHR5cGUgbmFtZXMgd2l0aCBvdGhlciBzdWNoIGxvY2FsIGNvcGllcyBpbiB0aGUgd2lsZC4KCjIwMTItMDEtMTIgMTE6MDc6MzMgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOgoJICBmbHZkZW11eDogYWN0aXZhdGUgcGFkIGJlZm9yZSBzZXR0aW5nIGNhcHMKCSAgLi4uIHJhdGhlciB0aGFuIHRoZSB1c3VhbCAwLjEwIG90aGVyIHdheSBhcm91bmQuCgkgIEZpeGVzICM2Njc1NTguCgoyMDEyLTAxLTExIDE4OjQ1OjMzIC0wMzAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bjb2xsYWJvcmEuY29tPgoKCSogQW5kcm9pZC5tazoKCSAgVGVtcG9yYXJpbHkgZGlzYWJsaW5nIG11bHRpZmlsZSBmb3IgdGhlIEFuZHJvaWQgYnVpbGQKCSAgVGhlcmUgaXMgYSBoYXJkIGRlcGVuZGVuY3kgb24gaW5vdGlmeSBjb21taW5nIGZyb20gZ2lvLiBXZQoJICBhcmUgbm90IGN1cnJlbnRseSBidW5kbGluZyBpbm90aWZ5IHdpdGggdGhlIEFuZHJvaWQgZGlzdCBzbwoJICBJJ20gZGlzYWJsaW5nIG11bHRpZmlsZSBmb3Igbm93IHVudGlsIHNvbWVvbmUgZ2V0cyBhcm91bmQKCSAgdG8gc29ydCB0aGlzIG91dC4KCSAgVGhpcyBjaGFuZ2UgZml4ZXMgYnVpbGRpbmcgb24gQW5kcm9pZAoKMjAxMC0xMC0yMCAwMjoxNzo0MyAtMDcwMCAgTGVvIFNpbmdlciA8bGVvLnNpbmdlckBsaWdvLm9yZz4KCgkqIGdzdC9hdWRpb2Z4L2F1ZGlvY2hlYmJhbmQuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9jaGVibGltaXQuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9meGJhc2VpaXJmaWx0ZXIuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9paXJmaWx0ZXIuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXVkaW9paXJmaWx0ZXIuYzoKCSAgYXVkaW9meDogVXNlIG1vc3QgY29tbW9uIGNvbnZlbnRpb24gZm9yIGRlZmluaXRpb25zIG9mIElJUiBmaWx0ZXIgY29lZmZpY2llbnRzLgoJICBNb3N0IHNpZ25hbCBwcm9jZXNzaW5nIHRleHRzLCBpbmNsdWRpbmcgTUFUTEFCLCB1c2UgdGhlIGZvbGxvd2luZyBjb252ZW50aW9uIGZvciBJSVIgZmlsdGVyIGNvZWZmaWNpZW50czoKCSAgYV8wIHlbbl0gKyBhXzEgeVtuLTFdICsgLi4uICsgYV9NIHlbbi1NXSA9IGJfMCB4W25dICsgYl8xIHhbbi0xXSArIC4uLiArIGJbTl0geFtuLU5dCgkgIFVzdWFsbHksIGFfMCBpcyBzZXQgdG8gMSBiZWNhdXNlIHRoZSBjb2VmZmljaWVudHMgY2FuIGFsd2F5cyBiZSByZXNjYWxlZCwgZ2l2aW5nCgkgIHlbbl0gPSBiXzAgeFtuXSArIGJfMSB4W24tMV0gKyAuLi4gKyBiW05dIHhbbi1OXSAtIGFfMSB5W24tMV0gLSAuLi4gLSBhX00geVtuLU1dCgkgIFRoZSBjb252ZW50aW9uIHRoYXQgd2FzIHByZXZpb3VzbHkgdXNlZCBieSBhdWRpb2Z4YmFzZWlpcmZpbHRlciBhbmQgZGVyaXZlZCBjbGFzcyBoYWQgdGhlIGEgYW5kIGIgY29lZmZpY2llbnRzIHN3YXBwZWQsIGFuZCBkaWQgbm90IGhhdmUgdGhlIG1pbnVzIHNpZ25zLgoJICBUaGlzIGNoYW5nZSBtYWtlcyB0aGUgYXVkaW9meCBwbHVnaW4gdXNlIHRoZSBtb3JlIGNvbW1vbiBjb252ZW50aW9uIGRlc2NyaWJlZCBhYm92ZS4KCjIwMTItMDEtMTEgMTQ6NDc6MzYgKzAxMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvamFjay9nc3RqYWNrLmM6CgkqIGV4dC9qYWNrL2dzdGphY2suaDoKCSogZXh0L2phY2svZ3N0amFja2F1ZGlvc2luay5jOgoJKiBleHQvamFjay9nc3RqYWNrYXVkaW9zaW5rLmg6CgkqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NyYy5jOgoJKiBleHQvamFjay9nc3RqYWNrYXVkaW9zcmMuaDoKCSAgamFjazogYWRkIGEgdHJhbnNwb3J0IG1vZGUgZW51bQoJICBDbGllbnRzIGNhbiBjb25maWd1cmUgdGhlIGRlc2lyZWQgYmVoYXZpb3VyIHZpYSAidHJhbnNwb3J0IiBwcm9wZXJ0eS4gVGhlCgkgIGRlZmF1bHQgYmVoYXZpb3VyIGlzIGlnbm9yaW5nIHRoZSB0cmFuc3BvcnQgc3RhdGUuIE90aGVyIG1vZGVzIGFyZSBtYXN0ZXIgYW5kCgkgIHNsYXZlLgoKMjAxMi0wMS0xMSAxNDoxMDo0NiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOgoJICBzb3VwaHR0cHNyYzogRml4IGJ1ZmZlciBoYW5kbGluZwoJICBzb3VwaHR0cHNyYyBpcyBub3cgdXNhYmxlIGFnYWluIGFuZCBkb2Vzbid0IGNyYXNoIGFueW1vcmUKCSAgd2hlbmV2ZXIgc29tZXRoaW5nIGlzIHJlYWQgZnJvbSBhIEhUVFAgY29ubmVjdGlvbi4KCjIwMTItMDEtMTEgMDE6NDU6MzQgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svcGlwZWxpbmVzL3dhdmVuYy5jOgoJICB0ZXN0czogZml4IHdhdmVuYyB0ZXN0IG9uIGJpZyBlbmRpYW4KCSAgd2F2ZW5jIG9ubHkgYWNjZXB0cyBsaXR0bGUtZW5kaWFuIFBDTSwgYnV0IG1vc3Qgb2Ygb3VyCgkgIGVsZW1lbnRzIHN1Y2ggYXMgYXVkaW90ZXN0c3JjIG9ubHkgcHJvZHVjZSBvciBwcm9jZXNzCgkgIGF1ZGlvIGluIG5hdGl2ZSBlbmRpYW5uZXNzLCBzbyB3ZSBuZWVkIHRvIHBsdWcgYQoJICBjb252ZXJ0ZXIgYmVmb3JlIHdhdmVuYyBvbiBiaWcgZW5kaWFuIHN5c3RlbXMuCgoyMDEyLTAxLTEwIDIzOjAyOjQ1ICswMTAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L2phY2svZ3N0amFja2F1ZGlvc2luay5jOgoJKiBleHQvamFjay9nc3RqYWNrYXVkaW9zcmMuYzoKCSAgamFjazogZGVhY3RpdmF0ZSB0aGUgcmVxdWVzdF9zdGF0ZSBjb2RlCgkgIFdoZW4gcWphY2tjdGwgaXMgc3RhcnRlZCwgdHJhbnNwb3J0IGlzIHN0b3BwZWQgYnkgZGVmYXVsdC4gVGhpcyB3b3VsZCBiZSBhCgkgIHJlZ3Jlc3Npb24gZm9yIGdzdHJlYW1lciBhcHBzIHRoYXQgYmVmb3JlIGp1c3Qgc3RhcnRlZCB0byBwbGF5IHJpZ2h0IGF3YXkuCgoyMDEyLTAxLTEwIDIyOjI3OjExICswMTAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L2phY2svZ3N0amFja2F1ZGlvY2xpZW50LmM6CgkqIGV4dC9qYWNrL2dzdGphY2thdWRpb2NsaWVudC5oOgoJKiBleHQvamFjay9nc3RqYWNrYXVkaW9zaW5rLmM6CgkqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NyYy5jOgoJICBqYWNrOiBhZGQgdHJhbnNwb3J0IGNvbnRyb2wgaGFuZGxpbmcKCSAgVGhpcyBmZWF0dXJlIGFsbG93cyB0byBzdGFydCBhbmQgc3RvcCBwbGF5YmFjayBmcm9tIG90aGVyIGphY2sgYXBwbGljYXRpb25zIChlLmcuIHFqYWNrY3RsKS4KCjIwMTItMDEtMTAgMTg6NTA6MjcgKzAxMDAgIE5pY29sYSBNdXJpbm8gPG5pY29sYS5tdXJpbm9AZ21haWwuY29tPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJICBtYXRyb3NrYW11eDogZml4IGNvZGVjX3ByaXYgbGVha3MKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY2NzQxOQoKMjAxMi0wMS0xMCAxNTowNjozOSArMDEwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9qYWNrL2dzdGphY2thdWRpb2NsaWVudC5jOgoJICBqYWNrOiB1c2UgamFjayB0eXBlIGZvciB0aGUgY2FsbGJhY2sKCSAgSmFjayBoZWFkZXJzIGhhdmUgYSB0eXBlZGVmIGZvciB0aGUgc2h1dGRvd24gY2FsbGJhY2sgYXMgd2VsbC4KCjIwMTItMDEtMTAgMTQ6MzI6MzIgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSAgTWVyZ2UgYnJhbmNoICdtYXN0ZXInIGludG8gMC4xMQoJICBDb25mbGljdHM6CgkgIGV4dC9jYWlyby9nc3R0ZXh0b3ZlcmxheS5jCgkgIGV4dC9wdWxzZS9wdWxzZWF1ZGlvc2luay5jCgkgIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWFjcGFyc2UuYwoJICBnc3QvYXZpL2dzdGF2aW11eC5jCgkgIGdzdC9mbHYvZ3N0Zmx2bXV4LmMKCSAgZ3N0L2ludGVybGVhdmUvaW50ZXJsZWF2ZS5jCgkgIGdzdC9pc29tcDQvZ3N0cXRtdXguYwoJICBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYwoJICBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmMKCSAgZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5oCgkgIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1yZWFkLWNvbW1vbi5jCgkgIGdzdC9tdWx0aWZpbGUvZ3N0bXVsdGlmaWxlc2luay5jCgkgIGdzdC9tdWx0aXBhcnQvbXVsdGlwYXJ0bXV4LmMKCSAgZ3N0L3NoYXBld2lwZS9nc3RzaGFwZXdpcGUuYwoJICBnc3Qvc21wdGUvZ3N0c21wdGUuYwoJICBnc3QvdWRwL2dzdG11bHRpdWRwc2luay5jCgkgIGdzdC92aWRlb2JveC9nc3R2aWRlb2JveC5jCgkgIGdzdC92aWRlb2Nyb3AvZ3N0YXNwZWN0cmF0aW9jcm9wLmMKCSAgZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlci5jCgkgIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIyLmMKCSAgZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmMKCSAgcG8vamEucG8KCSAgcG8vbHYucG8KCSAgcG8vc3IucG8KCSAgdGVzdHMvY2hlY2svTWFrZWZpbGUuYW0KCSAgdGVzdHMvY2hlY2svZWxlbWVudHMvcXRtdXguYwoJICB0ZXN0cy9jaGVjay9lbGVtZW50cy9yZ3ZvbHVtZS5jCgoyMDEyLTAxLTA5IDIyOjU4OjMyICswNTMwICBBcnVuIFJhZ2hhdmFuIDxhcnVuLnJhZ2hhdmFuQGNvbGxhYm9yYS5jby51az4KCgkqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSAgZG9jczogUmVtb3ZlIG9sZCB2aWRlb21peGVyIGhlYWRlcnMKCSAgVGhlc2UgZ290IHJlbW92ZWQgaW4gdGhlIHRyYW5zaXRpb24gdG8gdmlkZW9taXhlcjIuCgoyMDEyLTAxLTA5IDE3OjI4OjE3ICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSAgbWF0cm9za2FtdXg6IGZpeCBjb2RlYyBzdHJpbmcgbGVha3MKCjIwMTItMDEtMDkgMTQ6NTE6NDQgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvbWl4ZXIvTWFrZWZpbGUuYW06CgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIuYzoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlci5oOgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyMi5jOgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyMi5oOgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVycGFkLmg6CgkgIHZpZGVvbWl4ZXI6IFJlbW92ZSB2aWRlb21peGVyIGFuZCByZWdpc3RlciB2aWRlb21peGVyMiBhcyB2aWRlb21peGVyCgoyMDEyLTAxLTA5IDExOjM2OjU4ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBpbml0aWFsaXplIHZhcmlhYmxlIHRvIGF2b2lkIHVuZGVmaW5lZCB1c2UKCjIwMTItMDEtMDYgMDk6NDA6MjIgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvZmxhYy9nc3RmbGFjZGVjLmM6CgkqIGV4dC9mbGFjL2dzdGZsYWNkZWMuaDoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2VuYy5jOgoJKiBleHQvZmxhYy9nc3RmbGFjZW5jLmg6CgkgIGZsYWM6IFBvcnQgdG8gdGhlIG5ldyByYXcgYXVkaW8gY2FwcwoKMjAxMi0wMS0wNSAxOToyNTozMyArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4LmM6CgkgIGlzb21wNDogZml4IGNhcHMgbGVhawoKMjAxMi0wMS0wNSAxOTowODowMyArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4LmM6CgkgIGlzb21wNDogcmVtb3ZlIGRlYWQgYXNzaWdubWVudAoKMjAxMi0wMS0wNSAxNDoxODowMyArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdXBhcnNlL2dzdGF1cGFyc2UuYzoKCSogZ3N0L3dhdmVuYy9nc3R3YXZlbmMuYzoKCSAgZml4IHBhZCB0ZW1wbGF0ZXMKCjIwMTItMDEtMDQgMTU6MDU6NDEgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3NwZWV4L2dzdHNwZWV4ZGVjLmM6CgkqIGV4dC9zcGVleC9nc3RzcGVleGVuYy5jOgoJICBzcGVleDogVXBkYXRlIGZvciB0aGUgbmV3IHJhdyBhdWRpbyBjYXBzCgoyMDEyLTAxLTA0IDE0OjU0OjEwICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NpbmsuYzoKCSogZXh0L2phY2svZ3N0amFja2F1ZGlvc3JjLmM6CgkgIGphY2s6IEFkZCB0aGUgbmV3IGxheW91dCBmaWVsZCB0byB0aGUgcmF3IGF1ZGlvIGNhcHMKCjIwMTItMDEtMDQgMTQ6NTI6NDYgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2phY2svZ3N0amFja2F1ZGlvc3JjLmM6CgkqIGV4dC9qYWNrL2dzdGphY2t1dGlsLmM6CgkqIGV4dC9qYWNrL2dzdGphY2t1dGlsLmg6CgkgIGphY2thdWRpb3NyYzogUG9ydCB0byB0aGUgbmV3IG11bHRpY2hhbm5lbCBhdWRpbyBjYXBzCgoyMDEyLTAxLTA0IDE0OjEzOjU0ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiBBZGQgRkxBQyBhbmQgaW50ZXJsZWF2ZSB0byB0aGUgbm9uLXBvcnRlZCBwbHVnaW5zIGxpc3QKCSAgQm90aCBuZWVkIHRvIGJlIHVwZGF0ZWQgdG8gdGhlIGF1ZGlvL3gtcmF3IGNhcHMgYW5kIHdlcmUgb25seQoJICBoYWxmLXBvcnRlZCBiZWZvcmUuCgoyMDEyLTAxLTA0IDEzOjQ4OjM2ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwTDE2ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBMMTZkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cEwxNnBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cEwxNnBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGNoYW5uZWxzLmM6CgkqIGdzdC9ydHAvZ3N0cnRwY2hhbm5lbHMuaDoKCSogZ3N0L3J0cC9nc3RydHBnNzIyZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnNzIycGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwdnJhd3BheS5jOgoJICBydHA6IFVwZGF0ZSBmb3IgdGhlIG5ldyBhdWRpbyBjYXBzCgoyMDEyLTAxLTA0IDEyOjA2OjEyICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOgoJICB3YXZwYXJzZTogVXBkYXRlIGZvciBsaWJnc3RyaWZmIEFQSSBjaGFuZ2VzCgkgIFN0aWxsIG5lZWRzIHRvIGhhbmRsZSByYXcgYXVkaW8gY2hhbm5lbCByZW9yZGVyaW5nCgoyMDEyLTAxLTA0IDEyOjA1OjE2ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC93YXZlbmMvZ3N0d2F2ZW5jLmM6CgkgIHdhdmVuYzogVXBkYXRlIGZvciB0aGUgbmV3IHJhdyBhdWRpbyBjYXBzCgoyMDEyLTAxLTA0IDEyOjAzOjUwICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5jOgoJICBzcGVjdHJ1bTogVXBkYXRlIGZvciB0aGUgbmV3IHJhdyBhdWRpbyBjYXBzIGxheW91dCBmaWVsZAoKMjAxMi0wMS0wNCAxMTo1NzoyMCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcmVwbGF5Z2Fpbi9nc3RyZ2FuYWx5c2lzLmM6CgkqIGdzdC9yZXBsYXlnYWluL2dzdHJnbGltaXRlci5jOgoJKiBnc3QvcmVwbGF5Z2Fpbi9nc3RyZ3ZvbHVtZS5jOgoJICByZXBsYXlnYWluOiBVcGRhdGUgZm9yIHRoZSBuZXcgYXVkaW8gY2FwcwoKMjAxMi0wMS0wNCAxMTo1MjoyOSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJICBtYXRyb3NrYTogVXBkYXRlIGZvciB0aGUgbmV3IHJhdyBhdWRpbyBpbnRlcmxlYXZlZCBjYXBzIGZpZWxkCgkgIFN0aWxsIG5lZWRzIHRvIGJlIGZpeGVkIHRvIGhhbmRsZSB0aGUgbXVsdGljaGFubmVsIGNoYW5uZWwtbWFzawoJICBhbmQgcmVvcmRlcmluZy4KCjIwMTItMDEtMDQgMTE6MzE6MDcgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2xldmVsL2dzdGxldmVsLmM6CgkgIGxldmVsOiBVcGRhdGUgZm9yIHRoZSBuZXcgcmF3IGF1ZGlvIGxheW91dCBmaWVsZAoKMjAxMi0wMS0wNCAxMToyOToyNiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4LmM6CgkqIGdzdC9pc29tcDQvZ3N0cXRtdXhtYXAuYzoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIGlzb21wNDogUG9ydCB0byB0aGUgbmV3IGF1ZGlvIGNhcHMKCSAgU3RpbGwgbmVlZHMgdG8gaGFuZGxlIHRoZSBjaGFubmVsIHBvc2l0aW9ucy9tYXNrcyBhbmQKCSAgY2hhbm5lbCByZW9yZGVyaW5nLgoKMjAxMi0wMS0wNCAxMToxMTowNiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY3V0dGVyL2dzdGN1dHRlci5jOgoJICBjdXR0ZXI6IFVwZGF0ZSBmb3IgdGhlIG5ldyByYXcgYXVkaW8gbGF5b3V0IGZpZWxkCgoyMDEyLTAxLTA0IDExOjA5OjMyICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9nb29tL2dzdGdvb20uYzoKCSAgZ29vbTogUG9ydCB0byB0aGUgbmV3IG11bHRpY2hhbm5lbCBjYXBzIGFuZCB1cGRhdGUgZm9yIHRoZSBuZXcgcmF3IGF1ZGlvIGxheW91dCBmaWVsZAoKMjAxMi0wMS0wNCAxMTowODoxOCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplci5jOgoJICBlcXVhbGl6ZXI6IFVwZGF0ZSBmb3IgdGhlIG5ldyByYXcgYXVkaW8gbGF5b3V0IGZpZWxkCgoyMDEyLTAxLTA0IDExOjA3OjI5ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgYXZpZGVtdXg6IFVwZGF0ZSBmb3IgdGhlIGxpYmdzdHJpZmYgQVBJIGNoYW5nZXMKCSAgU3RpbGwgbmVlZHMgdG8gZG8gcmVvcmRlcmluZyBvZiBjaGFubmVscyBmb3IgcmF3IGF1ZGlvLgoKMjAxMi0wMS0wNCAxMTowNjoyOCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVwYXJzZS9nc3RhdXBhcnNlLmM6CgkgIGF1cGFyc2U6IFBvcnQgdG8gdGhlIG5ldyBtdWx0aWNoYW5uZWwgY2FwcyBhbmQgdGhlIG5ldyByYXcgYXVkaW8gbGF5b3V0IGZpZWxkCgoyMDEyLTAxLTA0IDExOjAyOjQzICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb2Z4L2F1ZGlvYW1wbGlmeS5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb2R5bmFtaWMuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9lY2hvLmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvZnhiYXNlZmlyZmlsdGVyLmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvZnhiYXNlaWlyZmlsdGVyLmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvaW52ZXJ0LmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlva2FyYW9rZS5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb3Bhbm9yYW1hLmM6CgkgIGF1ZGlvZng6IFBvcnQgdG8gdGhlIG5ldyBtdWx0aWNoYW5uZWwgY2FwcyBhbmQgdGhlIG5ldyByYXcgYXVkaW8gbGF5b3V0IGZpZWxkCgoyMDEyLTAxLTA0IDEwOjU0OjQ2ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9vc3MvZ3N0b3Nzc2luay5jOgoJKiBzeXMvb3NzL2dzdG9zc3NyYy5jOgoJICBvc3M6IFBvcnQgdG8gdGhlIG5ldyBtdWx0aWNoYW5uZWwgY2FwcyBhbmQgdGhlIHJhdyBhdWRpbyBjYXBzIGludGVybGVhdmVkIGZpZWxkCgoyMDEyLTAxLTA0IDEwOjI3OjA5ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuaDoKCSogZXh0L3B1bHNlL3B1bHNlc3JjLmM6CgkqIGV4dC9wdWxzZS9wdWxzZXV0aWwuYzoKCSAgcHVsc2U6IFBvcnQgdG8gdGhlIG5ldyBtdWx0aWNoYW5uZWwgY2FwcwoKMjAxMi0wMS0wNCAxOTo1MTo0NiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIDc2MmI2OTIgdG8gMDgwNzE4NwoKMjAxMi0wMS0wNCAxNzo1OTo1NSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9xdG11eC5jOgoJICB0ZXN0czogZml4IHNvbWUgbGVha3MgYW5kIHJlbW92ZSBmaWxlcyB3aGVuIGRvbmUgaW4gcXRtdXggdGVzdAoKMjAxMS0xMi0xNCAxMDoxNDoyMCArMDEwMCAgUGV0ZXIgU2VpZGVyZXIgPHBzLnJlcG9ydEBnbXgubmV0PgoKCSogZ3N0L211bHRpZmlsZS9nc3RtdWx0aWZpbGVzaW5rLmM6CgkgIG11bHRpZmlsZXNpbms6IHBvc3QgYmV0dGVyIGVycm9yIG1lc3NhZ2Ugd2hlbiB3ZSBydW4gb3V0IG9mIGRpc2sgc3BhY2UKCSAgTWFwIHdyaXRlIGVycm5vIEVOT1NQQyB0byBHU1RfUkVTT1VSQ0VfRVJST1JfTk9fU1BBQ0VfTEVGVC4KCjIwMTItMDEtMDQgMTM6MjY6NDUgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2FscGhhL2dzdGFscGhhY29sb3IuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYWxwaGFjb2xvci5jOgoJICBhbHBoYWNvbG9yOiBNb3JlIGZpeGVzL2NsZWFudXAKCjIwMTItMDEtMDQgMTM6MjU6NDAgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2FscGhhL2dzdGFscGhhLmM6CgkgIGFscGhhOiBSZWZhY3RvciBwYXJhbS9wcm9jZXNzIGZ1bmN0aW9ucwoJICBXaGVuIDo6c2V0X2luZm8oKSBpcyBjYWxsZWQsIHRoZSBpbnB1dC9vdXRwdXQgVmlkZW9JbmZvIGFyZW4ndCBzZXQKCSAgeWV0IG9uIHRoZSB2aWRlb2ZpbHRlci4KCjIwMTItMDEtMDQgMTA6MDE6NDggKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvY2Fpcm8vZ3N0dGV4dG92ZXJsYXkuYzoKCSogZXh0L2R2L2dzdGR2ZGVtdXguYzoKCSogZXh0L2xpYnBuZy9nc3RwbmdkZWMuYzoKCSogZXh0L3JhdzEzOTQvZ3N0ZHYxMzk0c3JjLmM6CgkqIGV4dC9yYXcxMzk0L2dzdGhkdjEzOTRzcmMuYzoKCSogZXh0L3dhdnBhY2svZ3N0d2F2cGFja3BhcnNlLmM6CgkqIGdzdC9pbWFnZWZyZWV6ZS9nc3RpbWFnZWZyZWV6ZS5jOgoJKiBnc3QvaW50ZXJsZWF2ZS9pbnRlcmxlYXZlLmM6CgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIyLmM6CgkgIEdTVF9GTE9XX1VORVhQRUNURUQgLT4gR1NUX0ZMT1dfRU9TCgoyMDExLTEyLTMxIDIzOjMzOjMzIC0wNTAwICBNYXRlaiBLbm9wcCA8bWF0ZWoua25vcHBAZ21haWwuY29tPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RkY2FwYXJzZS5jOgoJICBkY2FwYXJzZTogdXNlIHJpZ2h0IHZhcmlhYmxlCgkgIEZpeGVzIHVzZSBvZiB1bml0aWFsaXplZCB2YXJpYWJsZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY2NzA4NQoKMjAxMi0wMS0wMyAxNToyNjoyMSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9qcGVnL2dzdGpwZWdkZWMuYzoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJKiBnc3QvYXZpL2dzdGF2aW11eC5jOgoJKiBnc3QvYXZpL2dzdGF2aXN1YnRpdGxlLmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL3JuZGJ1ZmZlcnNpemUuYzoKCSogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOgoJKiBnc3QvZmx2L2dzdGZsdm11eC5jOgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4LmM6CgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJKiBnc3QvbWF0cm9za2EvZWJtbC1yZWFkLmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1wYXJzZS5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcmVhZC1jb21tb24uYzoKCSogZ3N0L211bHRpZmlsZS9nc3RtdWx0aWZpbGVzcmMuYzoKCSogZ3N0L211bHRpZmlsZS9nc3RzcGxpdGZpbGVzcmMuYzoKCSogZ3N0L211bHRpcGFydC9tdWx0aXBhcnRkZW11eC5jOgoJKiBnc3QvbXVsdGlwYXJ0L211bHRpcGFydG11eC5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzoKCSAgR1NUX0ZMT1dfVU5FWFBFQ1RFRCAtPiBHU1RfRkxPV19FT1MKCjIwMTItMDEtMDMgMTQ6NDI6MjggKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvdGFnc2NoZWNraW5nLmM6CgkgIHRlc3RzOiByZXdyaXRlIHRlc3QgYSBsaXR0bGUKCSAgUmV3cml0ZSB0aGUgdGFnIGNoZWNrIHNvIHRoYXQgd2UgZG9uJ3QgbmVlZCB0byBkZWFsIHdpdGggdGFnIGxpc3RzLgoKMjAxMi0wMS0wMyAxNDoxNjoyOCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9qcGVnZW5jLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL211bHRpZmlsZS5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9xdG11eC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHAtcGF5bG9hZGluZy5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHBiaW4uYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwYmluX2J1ZmZlcl9saXN0LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cGppdHRlcmJ1ZmZlci5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9zaGFwZXdpcGUuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvc291cGh0dHBzcmMuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvdWRwc2luay5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy92aWRlb2Nyb3AuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvdmlkZW9maWx0ZXIuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMveTRtZW5jLmM6CgkqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy9mbGFjZGVjLmM6CgkqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy90YWdzY2hlY2tpbmcuYzoKCSAgdGVzdHM6IG1ha2UgbW9yZSB0ZXN0cyBjb21waWxlCgoyMDEyLTAxLTAzIDExOjU2OjI1ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2VxdWFsaXplci5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9mbGFjcGFyc2UuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZmx2ZGVtdXguYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZmx2bXV4LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2ljeWRlbXV4LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2ltYWdlZnJlZXplLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2ludGVybGVhdmUuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvbGV2ZWwuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvbXVsdGlmaWxlLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3F0bXV4LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3JnYW5hbHlzaXMuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcmdsaW1pdGVyLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3Jndm9sdW1lLmM6CgkgIHRlc3Q6IG1ha2UgbW9yZSB1bml0IHRlc3RzIGNvbXBpbGUKCjIwMTItMDEtMDMgMTA6MjY6NDggKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXVkaW9maXJmaWx0ZXIuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXVkaW9paXJmaWx0ZXIuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXVkaW9pbnZlcnQuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXVkaW93c2luY2JhbmQuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXVkaW93c2luY2xpbWl0LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1dG9kZXRlY3QuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXZpbXV4LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F2aXN1YnRpdGxlLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2NhcHNzZXR0ZXIuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZGVpbnRlcmxhY2UuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZGVpbnRlcmxlYXZlLmM6CgkqIHRlc3RzL2NoZWNrL2dlbmVyaWMvaW5kZXguYzoKCSogdGVzdHMvY2hlY2svZ2VuZXJpYy9zdGF0ZXMuYzoKCSAgdGVzdHM6IGZpeCBzb21lIHVuaXQgdGVzdHMKCSAgUmVtb3ZlIHVuaXQgdGVzdCBmb3IgR3N0SW5kZXguCgkgIE1ha2Ugc29tZSBvdGhlciB1bml0IHRlc3RzIGNvbXBpbGUKCjIwMTItMDEtMDIgMTQ6MzI6NDAgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b2F1ZGlvc2luay5jOgoJKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvYXVkaW9zcmMuYzoKCSogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b3ZpZGVvc2luay5jOgoJKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvdmlkZW9zcmMuYzoKCSogZ3N0L3J0c3AvZ3N0cnRzcGV4dC5jOgoJICBhdXRvZGV0ZWN0LCBydHNwOiBnc3RfcmVnaXN0cnlfZ2V0X2RlZmF1bHQoKSAtPiBnc3RfcmVnaXN0cnlfZ2V0KCkKCjIwMTEtMTItMzEgMTA6MDA6NDEgKzAxMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiB0ZXN0cy9leGFtcGxlcy92NGwyL2NhbWN0cmwuYzoKCSAgY29udHJvbGxlcjogcG9ydCB0byBBUEkgY2hhbmdlcwoKMjAxMS0xMi0zMCAxNzo0MTo0NiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXBhcnNlLmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1yZWFkLWNvbW1vbi5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcmVhZC1jb21tb24uaDoKCSAgbWF0cm9za2E6IHVwZGF0ZSBmb3IgR3N0SW5kZXggcmVtb3ZhbAoKMjAxMS0xMi0zMCAxNzoyMzo0MyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSogZ3N0L2lzb21wNC9xdGRlbXV4Lmg6CgkgIHF0ZGVtdXg6IHVwZGF0ZSBmb3IgR3N0SW5kZXggcmVtb3ZhbAoKMjAxMS0xMi0zMCAxNzoyMDo1NyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZmx2L01ha2VmaWxlLmFtOgoJKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6CgkqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguaDoKCSogZ3N0L2Zsdi9nc3RpbmRleC5jOgoJKiBnc3QvZmx2L2dzdGluZGV4Lmg6CgkqIGdzdC9mbHYvZ3N0bWVtaW5kZXguYzoKCSAgZmx2ZGVtdXg6IHVwZGF0ZSBmb3IgR3N0SW5kZXggcmVtb3ZhbAoJICBBZGQgcHJpdmF0ZSBHc3RNZW1JbmRleCBmb3Igbm93LgoKMjAxMS0xMi0zMCAxNzoxMjowMyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguaDoKCSAgYXZpZGVtdXg6IHVwZGF0ZSBmb3IgR3N0SW5kZXggcmVtb3ZhbAoKMjAxMS0xMi0yNyAyMjo1OTowMyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvd2F2ZWZvcm0vZ3N0d2F2ZWZvcm1zaW5rLmM6CgkgIHdhdmVmb3Jtc2luazogZml4IGNvbXBpbGVyIHdhcm5pbmdzIHdpdGggTWluZ1cKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY2NjQ4NQoKMjAxMS0xMi0yNyAxMjowNjoxNiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy8uZ2l0aWdub3JlOgoJICB0ZXN0czogbWFrZSBnaXQgaWdub3JlIG5ldyB1bml0IHRlc3QgYmluYXJ5CgoyMDExLTEyLTI3IDExOjUwOjAzICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC91ZHAvZ3N0dWRwc3JjLmM6CgkgIHVkcHNyYzogZml4IHZhbGdyaW5kIHdhcm5pbmcKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY2NjY0NAoKMjAxMS0xMi0yNyAxMTo0OToxMCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvdWRwc3JjLmM6CgkgIHVkcHNyYzogYWRkIHVuaXQgdGVzdCB0aGF0IHNlbmRzIDAtc2l6ZSBwYWNrZXQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY2NjY0NAoKMjAxMS0xMi0yMSAxMzoyMjowMyArMDEwMCAgSm9obiBPZ25lc3MgPGpvaG4ub2duZXNzQGxpbnV0cm9uaXguZGU+CgoJKiBnc3QvdWRwL2dzdHVkcHNyYy5jOgoJICB1ZHBzcmM6IGRyb3AgZGF0YWxlc3MgVURQIHBhY2tldHMKCSAgSXQgaXMgYWxsb3dlZCB0byBzZW5kL3JlY2VpdmUgVURQIHBhY2tldHMgd2l0aCBubyBkYXRhLiBXaGVuIHN1Y2gKCSAgYSBwYWNrZXQgaXMgYXZhaWxhYmxlLCBzZWxlY3QoKSB3aWxsIHJldHVybiB3aXRoIHN1Y2Nlc3MgYnV0CgkgIGlvY3RsKEZJT05SRUFEKSB3aWxsIHJldHVybiAwLiBCdXQgYSByZWFkKCkgbXVzdCBzdGlsbCBvY2N1ciBpbgoJICBvcmRlciB0byBjbGVhciBvZmYgdGhlIFVEUCBwYWNrZXQgZnJvbSB0aGUgcXVldWUuCgkgIFRoaXMgcGF0Y2ggd2lsbCByZWFkIHRoZSBkYXRhbGVzcyBwYWNrZXQgZnJvbSB0aGUgc29ja2V0LiBJZgoJICBzZWxlY3QoKSB3YXMgd29rZW4gZm9yIG90aGVyIHJlYXNvbnMgKGFuZCBGSU9OUkVBRCByZXR1cm5zIDApLAoJICB0aGlzIG1heSByZXN1bHQgaW4gYSBVRFAgcGFja2V0IGdldHRpbmcgYWNjaWRlbnRhbGx5IGRyb3BwZWQuCgkgIEJ1dCBzaW5jZSBVRFAgaXMgbm90IHJlbGlhYmxlLCB0aGlzIGlzIGFjY2VwdGFibGUuCgkgIE5PVEU6IFRoaXMgcGF0Y2ggZml4ZXMgYSBuYXN0eSBidWcgd2hlcmUgc2VuZGluZyBhIGRhdGFsZXNzCgkgIFVEUCBwYWNrZXQgdG8gYSB1ZHBzcmMgaW5zdGFuY2Ugd2lsbCBjYXVzZSBhbiBpbmZpbml0ZQoJICBsb29wLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjY2NjQ0CgkgIFNpZ25lZC1vZmYtYnk6IEpvaG4gT2duZXNzIDxqb2huLm9nbmVzc0BsaW51dHJvbml4LmRlPgoKMjAxMS0xMi0yNiAyMjoyMjo1OSArMDAwMCAgWWFha292IFNlbGtvd2l0eiA8eXNlbGtvd2l0ekB1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJKiBjb25maWd1cmUuYWM6CgkqIHN5cy9NYWtlZmlsZS5hbToKCSogc3lzL3dhdmVmb3JtL01ha2VmaWxlLmFtOgoJICB3YXZlZm9ybTogYWRkIGF1dG90b29scyBiaXRzIGZvciB3YXZlZm9ybSBwbHVnaW4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY2NjQ4NQoKMjAxMS0xMi0yMSAyMDo1MDoyMSArMDEwMCAgTmljb2xhIE11cmlubyA8bmljb2xhLm11cmlub0BnbWFpbC5jb20+CgoJKiBleHQvanBlZy9nc3RqcGVnZGVjLmM6CgkgIGpwZWdkZWM6IGZpeCBwZWVyX2NhcHMgbGVhawoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjY2Njg4CgoyMDExLTEyLTI1IDIzOjUyOjQ2ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiByZW1vdmUgdW5uZWNlc3NhcnkgY2hlY2sgZm9yIGdkcCBsaWJyYXJ5CgoyMDExLTEyLTI1IDIyOjE3OjUzICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wdWxzZWF1ZGlvLnhtbDoKCSogZXh0L3B1bHNlL01ha2VmaWxlLmFtOgoJKiBleHQvcHVsc2UvcGx1Z2luLmM6CgkqIGV4dC9wdWxzZS9wdWxzZWF1ZGlvc2luay5jOgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuaDoKCSAgcHVsc2U6IHJlbW92ZSBwdWxzZWF1ZGlvc2luayBoZWxwZXIgYmluCgkgIFRoaXMgaXMgY2F1c2luZyB1cyBsb3RzIG9mIGhlYWRhY2hlcyBpbiAwLjEwIGFuZCBuZWVkcyB0byBiZSBkb25lCgkgIGRpZmZlcmVudGx5IGFuZCBwcm9wZXJseSBpbiAwLjExLiBwbGF5YmluIG9yIGRlY29kZWJpbiBzaG91bGQKCSAgcmVjb25maWd1cmUgdGhlbXNlbHZlcyBiYXNlZCBvbiByZWNvbmZpZ3VyZSBldmVudHMsIGZvciBleGFtcGxlLgoKMjAxMS0xMi0yNSAyMTo0NTo0NSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkqIGV4dC9wdWxzZS9wdWxzZXV0aWwuYzoKCSAgcHVsc2U6IHVwZGF0ZSBmb3IgcmluZyBidWZmZXIgYXVkaW8gZm9ybWF0IHR5cGUgZW51bSByZW5hbWUKCjIwMTEtMTItMjUgMjA6MzQ6NTIgKzAxMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiB0ZXN0cy9leGFtcGxlcy92NGwyL2NhbWN0cmwuYzoKCSAgY29udHJvbGxlcjogcG9ydCB0byBuZXcgY29udHJvbCBzb3VyY2UgYXBpCgoyMDExLTEyLTI1IDE0OjIzOjI5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9mbHYvZ3N0Zmx2bXV4LmM6CgkgIGZsdm11eDogZG9uJ3QgdHJ5IHRvIHB1c2ggYWxyZWFkeS1mcmVlZCBidWZmZXJzCgkgIEZpeGVzIHVuaXQgdGVzdC4KCjIwMTEtMTItMjQgMTA6NTc6NDIgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6CgkgIHdhdnBhcnNlOiBVc2Ugc2NhbGVfY2VpbCgpIGZ1bmN0aW9ucyBmcm9tIGNvcmUgaW5zdGVhZCBvZiBjdXN0b20gb25lcwoKMjAxMS0xMi0yMSAyMzo1MTowMyArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hbHBoYS9nc3RhbHBoYS5jOgoJKiBnc3QvYWxwaGEvZ3N0YWxwaGEuaDoKCSogZ3N0L2FscGhhL2dzdGFscGhhY29sb3IuYzoKCSogZ3N0L2FscGhhL2dzdGFscGhhY29sb3IuaDoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0bmF2aWdhdGlvbnRlc3QuYzoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0bmF2aWdhdGlvbnRlc3QuaDoKCSogZ3N0L2VmZmVjdHYvZ3N0YWdpbmcuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0YWdpbmcuaDoKCSogZ3N0L2VmZmVjdHYvZ3N0ZGljZS5jOgoJKiBnc3QvZWZmZWN0di9nc3RkaWNlLmg6CgkqIGdzdC9lZmZlY3R2L2dzdGVkZ2UuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0ZWRnZS5oOgoJKiBnc3QvZWZmZWN0di9nc3RvcC5jOgoJKiBnc3QvZWZmZWN0di9nc3RvcC5oOgoJKiBnc3QvZWZmZWN0di9nc3RxdWFyay5jOgoJKiBnc3QvZWZmZWN0di9nc3RxdWFyay5oOgoJKiBnc3QvZWZmZWN0di9nc3RyYWRpb2FjLmM6CgkqIGdzdC9lZmZlY3R2L2dzdHJhZGlvYWMuaDoKCSogZ3N0L2VmZmVjdHYvZ3N0cmV2LmM6CgkqIGdzdC9lZmZlY3R2L2dzdHJldi5oOgoJKiBnc3QvZWZmZWN0di9nc3RyaXBwbGUuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0cmlwcGxlLmg6CgkqIGdzdC9lZmZlY3R2L2dzdHNoYWdhZGVsaWMuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0c2hhZ2FkZWxpYy5oOgoJKiBnc3QvZWZmZWN0di9nc3RzdHJlYWsuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0c3RyZWFrLmg6CgkqIGdzdC9lZmZlY3R2L2dzdHZlcnRpZ28uYzoKCSogZ3N0L2VmZmVjdHYvZ3N0dmVydGlnby5oOgoJKiBnc3QvZWZmZWN0di9nc3R3YXJwLmM6CgkqIGdzdC9lZmZlY3R2L2dzdHdhcnAuaDoKCSogZ3N0L3ZpZGVvZmlsdGVyL2dzdGdhbW1hLmM6CgkqIGdzdC92aWRlb2ZpbHRlci9nc3RnYW1tYS5oOgoJKiBnc3QvdmlkZW9maWx0ZXIvZ3N0dmlkZW9iYWxhbmNlLmM6CgkqIGdzdC92aWRlb2ZpbHRlci9nc3R2aWRlb2JhbGFuY2UuaDoKCSogZ3N0L3ZpZGVvZmlsdGVyL2dzdHZpZGVvZmxpcC5jOgoJKiBnc3QvdmlkZW9maWx0ZXIvZ3N0dmlkZW9mbGlwLmg6CgkgIHVwZGF0ZSBmb3IgdmlkZW9maWx0ZXIgY2hhbmdlcy4KCjIwMTEtMTItMjEgMTc6NDM6MTAgKzAxMDAgIEJyYW5rbyBTdWJhc2ljIDxicmFua29AYXhpcy5jb20+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4Lmg6CgkgIG1hdHJvc2thZGVtdXg6IGRvIG5vdCBjb25zaWRlciBkdXJhdGlvbiBvZiBub24tZmluYWxpemVkIGZpbGUKCSAgLi4uIHRvIGF2b2lkIGl0IGNsYW1waW5nIHJlcXVlc3RlZCBzZWVrIHBvc2l0aW9uLgoJICBOb24tZmluYWxpemVkIGZpbGUgY2FzZSwgZGV0ZXJtaW5lZCBieSB3aGV0aGVyCgkgIF9wYXJzZV9ibG9ja2dyb3VwX29yX3NpbXBsZWJsb2NrIGV2ZXIgdXBkYXRlcyB0aGUgc2VnbWVudCBkdXJhdGlvbi4KCSAgRml4ZXMgIzY1MjE5NS4KCjIwMTEtMTItMjEgMTU6MDY6NTcgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thZGVtdXg6IGltcHJvdmUgZGVjaXNpb24gdG8gZmFsbCBiYWNrIHRvIHNjYW5uaW5nIHdoZW4gc2Vla2luZwoJICAuLi4gd2hpY2ggaXMgYmFzaWNhbGx5IGlmZiBub3Qgc3RyZWFtaW5nIGFuZCBubyBlbnRyeSBmb3VuZCBpbiBpbmRleAoKMjAxMS0xMi0yMSAwOTowOToyNyArMDEwMCAgT2xla3NpaiBSZW1wZWwgKEFsZXhleSBGaXNoZXIpIDxidWctdHJhY2tAZmlzaGVyLXByaXZhdC5uZXQ+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFhY3BhcnNlLmM6CgkgIGFjM3BhcnNlOiByZW1vdmUgdW51c2VkIHZhcmlhYmxlCgkgIHJlbW92ZSB1bnVzZWQgdmFyaWFibGUgdG8gZml4IGNvbXBpbGUgZXJyb3I6CgkgIG1ha2UgLUMgYXVkaW9wYXJzZXJzCgkgIG1ha2VbM106IEJldHJldGUgVmVyemVpY2huaXMgJy9ob21lL2xleC90bXAvZ3N0LXBsdWdpbnMtZ29vZC9nc3QvYXVkaW9wYXJzZXJzJwoJICBDQyAgICAgbGliZ3N0YXVkaW9wYXJzZXJzX2xhLWdzdGFhY3BhcnNlLmxvCgkgIGdzdGFhY3BhcnNlLmM6IEluIGZ1bmN0aW9uICdnc3RfYWFjX3BhcnNlX3JlYWRfbG9hc19hdWRpb19zcGVjaWZpY19jb25maWcnOgoJICBnc3RhYWNwYXJzZS5jOjQ0NjoxMjogZXJyb3I6IHZhcmlhYmxlICdzYnInIHNldCBidXQgbm90IHVzZWQgWy1XZXJyb3I9dW51c2VkLWJ1dC1zZXQtdmFyaWFibGVdCgkgIGNjMTogYWxsIHdhcm5pbmdzIGJlaW5nIHRyZWF0ZWQgYXMgZXJyb3JzCgkgIFNpZ25lZC1vZmYtYnk6IE9sZWtzaWogUmVtcGVsIChBbGV4ZXkgRmlzaGVyKSA8YnVnLXRyYWNrQGZpc2hlci1wcml2YXQubmV0PgoKMjAxMS0xMi0yMSAxMTo1OTo0NiArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9wdWxzZS9wdWxzZW1peGVyLmM6CgkqIGV4dC9wdWxzZS9wdWxzZXByb2JlLmg6CgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSogZXh0L3B1bHNlL3B1bHNlc3JjLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5oOgoJKiBzeXMvdjRsMi9nc3R2NGwycmFkaW8uYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnNpbmsuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJKiB0ZXN0cy9leGFtcGxlcy9wdWxzZS9wdWxzZS5jOgoJKiB0ZXN0cy9leGFtcGxlcy92NGwyL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9leGFtcGxlcy92NGwyL3Byb2JlLmM6CgkgIHVwZGF0ZSBmb3IgcmVtb3ZlZCBwcm9wZXJ0eSBwcm9iZQoKMjAxMS0wOS0wOSAxMTo0MjowOSArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFjM3BhcnNlLmM6CgkgIGFjM3BhcnNlOiBsZXQgYnNpZCA5IGFuZCAxMCB0aHJvdWdoCgkgIEZpbGVzIHdpdGggOSBhbmQgMTAgaGFwcGVuLCBhbmQgc2VlbSB0byBjb21wbHkgd2l0aCB0aGUgPD0gOAoJICBmb3JtYXQsIHNvIGxldCB0aGVtIHRocm91Z2guCgkgIFRoZSBzcGVjIHNheXMgbm90aGluZyBhYm91dCA5IGFuZCAxMC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1ODU0NgoKMjAxMS0xMi0xOSAyMzo1MDoxOSArMDEwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIHRlc3RzL2V4YW1wbGVzL3Y0bDIvY2FtY3RybC5jOgoJICBjb250cm9sbGVyOiBwb3J0IHRvIG5ldyBpbnRlcnBvbGF0aW9uLW1vZGUgYXBpCgoyMDExLTEyLTE5IDIyOjUzOjU3ICswMTAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogdGVzdHMvZXhhbXBsZXMvdjRsMi9jYW1jdHJsLmM6CgkgIGNvbnRyb2xsZXI6IHBvcnQgdG8gbmV3IGNvbnRyb2xsZXIgYXBpCgoyMDExLTEyLTE5IDE5OjAzOjUyICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICB2NGwyOiB1cGRhdGUgZm9yIG5ldyBpbnRlcmxhY2VkIGNhcHMKCjIwMTEtMTItMTYgMTk6MTU6MzggKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2Zsdi9nc3RmbHZtdXguYzoKCSAgZmx2bXV4OiBwcm9wZXJseSBkZXRlcm1pbmUgZmluYWwgZHVyYXRpb24KCSAgLi4uIHdoaWNoIGNhbiBiZSBhdXRob3JhdGl2ZWx5IG9idGFpbmVkIGZyb20gb3VyIG93biB3cml0dGVuIHRpbWVzdGFtcHMuCgoyMDExLTEyLTE5IDEzOjU2OjMwICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9mbHYvZ3N0Zmx2bXV4LmM6CgkgIGZsdm11eDogb25seSB3cml0ZSBmdWxsIG1ldGFkYXRhIGF0IHN0YXJ0CgkgIC4uLiByYXRoZXIgdGhhbiBoYXZpbmcgKHBvdGVudGlhbGx5KSB1bm5lY2Vzc2FyeSBkdXBsaWNhdGVzIHdyaXR0ZW4gYWxsIG92ZXIsCgkgIG9yIGV2ZW4gY29udHJhZGljdG9yeSB2YXJ5aW5nIGZpbGVzaXplIGluZm8sIG9yIGR1cmF0aW9uIGluZm8gdGhhdCB3aWxsIG5vdAoJICBiZSByZXdyaXR0ZW4gdXBvbiBoZWFkZXIgcmV3cml0ZS4KCjIwMTEtMTItMTYgMTk6MTU6MDMgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2Zsdi9nc3RmbHZtdXguYzoKCSAgZmx2bXV4OiB1c2UgR3N0Q29sbGVjdFBhZHMyIGJ1ZmZlciBjYWxsYmFjayBhbmQgcnVubmluZyB0aW1lIGNsaXBwZXIKCSAgLi4uIHNpbmNlIHRoZSBkZWZhdWx0IGNvbGxlY3Rpb24gaGV1cmlzdGljcyBzdWZmaWNlLgoKMjAxMS0xMi0xNiAxODowMzowMSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4LmM6CgkgIHF0bXV4OiB1c2UgR3N0Q29sbGVjdFBhZHMyIGJ1ZmZlciBjYWxsYmFjayBhbmQgcnVubmluZyB0aW1lIGNsaXBwZXIKCSAgLi4uIHNpbmNlIGRlZmF1bHQgY29sbGVjdGlvbiBoZXVyaXN0aWNzIHN1ZmZpY2UuCgoyMDExLTEyLTE2IDE3OjIwOjUxICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSAgbWF0cm9za2FtdXg6IGJyaW5nIGEgZmV3IGRlYnVnIHN0YXRlbWVudHMgdXAgdG8gc3BlY3MKCSAgLi4uIGFuZCBtaW5vciBzcGVsbGluZyBmaXguCgoyMDExLTEyLTE2IDE2OjU2OjM3ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSAgbWF0cm9za2FtdXg6IGFkZGl0aW9uYWwgc3VidGl0bGUgc3VwcG9ydAoKMjAxMS0xMi0xNSAyMTo1MDo0MiArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguaDoKCSAgbWF0cm9za2FtdXg6IGFkZGl0aW9uYWwgYnVmZmVyIGhhbmRsaW5nIGNsZWFudXAKCjIwMTEtMTItMTUgMjE6NDU6MTcgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJICBtYXRyb3NrYW11eDogdXNlIEdzdENvbGxlY3RQYWRzMiBidWZmZXIgY2FsbGJhY2sgYW5kIHJ1bm5pbmcgdGltZSBjbGlwcGVyCgoyMDExLTEyLTA3IDEzOjI0OjU1ICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWFjcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYWNwYXJzZS5oOgoJICBhYWNwYXJzZTogcGFyc2UgTE9BUyB2YXJpYW50CgkgIFRoZSBMT0FTIHZhcmlhbnQgc2VlbXMgdG8gaGF2ZSB0aHJlZSBkaWZmZXJlbnQgc3VidmFyaWFudHMgaXRzZWxmLAoJICBvbmx5IG9uZSBvZiB0aGVtIGlzIGltcGxlbWVudGVkIGFzIG15IHR3byBzYW1wbGVzIGhhcHBlbiB0byBiZQoJICB1c2luZyB0aGF0IG9uZS4KCSAgVGhlIHNhbXBsZSByYXRlIGlzIG5vdCBhbHdheXMgcmVwb3J0ZWQgY29ycmVjdGx5LCBhcyB0aGUgIm1haW4iCgkgIHNhbXBsZSByYXRlIGlzIGFwcGFyZW50bHkgc29tZXRpbWVzIGhhbGYgd2hhdCBpdCBzaG91bGQgYmUgKGJvdGgKCSAgb2YgbXkgc2FtcGxlcyByZXBvcnQgMjQwMDAgSHogdGhlcmUpLCBhbmQgdGhlcmUgYXJlIHR3byBvdGhlcgoJICBwYXJ0cyBvZiB0aGUgc3VidmFyaWFudCB3aXRoIGRpZmZlcmVudCBzYW1wbGluZyByYXRlcy4gT25lIG9mIHRoZW0KCSAgaXMgcGFyc2VkLCBidXQgbm90IHRoZSBvdGhlciwgYXMgaXQncyBsb2NhdGVkIGFmdGVyIHNvbWUgb3RoZXIKCSAgbGFyZ2UgYW1vdW50IG9mIHZhcmlhYmxlIGRhdGEgdGhhdCBuZWVkcyBwYXJzaW5nIGZpcnN0LCBhbmQgdGhlcmUKCSAgc2VlbXMgdG8gYmUgYSBMT1Qgb2YgaXQsIHdoaWNoIGlzIHVzZWxlc3MgZm9yIG91ciBuZWVkcyBoZXJlLgoJICBUaGlzIGVuZHMgdXAgYmVpbmcgcmF0aGVyIGluY29uc2VxdWVudGlhbCwgYXMgZmZkZWNfYWFjX2xhdG0sCgkgIHdoaWNoIGlzIHRoZSBvbmx5IGRlY29kZXIgdGhhdCBjYW4gZGVjb2RlIHN1Y2ggc3RyZWFtcywgZG9lcyBub3QKCSAgbmVlZCB0aGUgc2FtcGxlIHJhdGUgb24gdGhlIGNhcHMgYW55d2F5LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjY1Mzk0CgoyMDExLTEyLTE5IDEwOjQ4OjU0ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6CgkgIHdhdnBhcnNlOiBkb24ndCByZW1vdmUgc3JjcGFkCgkgIERvbid0IHJlbW92ZSB0aGUgYWx3YXlzIHNyY3BhZCBpbiByZWFkeSBhbmQgbWFrZSB0aGUgZWxlbWVudCByZXVzYWJsZS4KCjIwMTEtMTItMTUgMTY6NDA6MjEgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2Zsdi9nc3RmbHZtdXguYzoKCSogZ3N0L2Zsdi9nc3RmbHZtdXguaDoKCSAgZmx2bXV4OiB1c2UgR3N0Q29sbGVjdFBhZHMyIGV2ZW50IGNhbGxiYWNrCgkgIC4uLiBpbiBzdGVhZCBvZiBsb2NhbCBIQUNLLgoKMjAxMS0xMi0xNSAxNjozMDoxNyArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguaDoKCSAgbWF0cm9za2FtdXg6IHVzZSBHc3RDb2xsZWN0UGFkczIgZXZlbnQgY2FsbGJhY2sKCSAgLi4uIGluIHN0ZWFkIG9mIGxvY2FsIEhBQ0suCgoyMDExLTEyLTE1IDE2OjE2OjUyICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdmkvZ3N0YXZpbXV4LmM6CgkqIGdzdC9hdmkvZ3N0YXZpbXV4Lmg6CgkgIGF2aW11eDogdXNlIEdzdENvbGxlY3RQYWRzMiBldmVudCBjYWxsYmFjawoJICAuLi4gaW4gc3RlYWQgb2YgbG9jYWwgSEFDSy4KCjIwMTEtMTItMTUgMTY6MTU6MjIgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2lzb21wNC9nc3RxdG11eC5jOgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4Lmg6CgkgIHF0bXV4OiB1c2UgR3N0Q29sbGVjdFBhZHMyIGV2ZW50IGNhbGxiYWNrCgkgIC4uLiBpbiBzdGVhZCBvZiBsb2NhbCBIQUNLLgoKMjAxMS0xMi0xNCAxOToxMzoyMSArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc21wdGUvZ3N0c21wdGUuYzoKCSogZ3N0L3NtcHRlL2dzdHNtcHRlLmg6CgkgIHNtcHRlOiBwb3J0IHRvIEdzdENvbGxlY3RQYWRzMgoKMjAxMS0xMi0xNCAxOToxMDo1MyArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXVsdGlwYXJ0L211bHRpcGFydG11eC5jOgoJKiBnc3QvbXVsdGlwYXJ0L211bHRpcGFydG11eC5oOgoJICBtdWx0aXBhcnRtdXg6IHBvcnQgdG8gR3N0Q29sbGVjdFBhZHMyCgoyMDExLTEyLTE0IDE5OjA3OjIzICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5oOgoJICBtYXRyb3NrYW11eDogcG9ydCB0byBHc3RDb2xsZWN0UGFkczIKCjIwMTEtMTItMTQgMTk6MDI6MjMgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2lzb21wNC9nc3RxdG11eC5jOgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4Lmg6CgkgIHF0bXV4OiBwb3J0IHRvIEdzdENvbGxlY3RQYWRzMgoKMjAxMS0xMi0xNCAxODo1NTozNiArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaW50ZXJsZWF2ZS9pbnRlcmxlYXZlLmM6CgkqIGdzdC9pbnRlcmxlYXZlL2ludGVybGVhdmUuaDoKCSAgaW50ZXJsZWF2ZTogcG9ydCB0byBHc3RDb2xsZWN0UGFkczIKCjIwMTEtMTItMTQgMTg6NTI6MzcgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2Zsdi9nc3RmbHZtdXguYzoKCSogZ3N0L2Zsdi9nc3RmbHZtdXguaDoKCSAgZmx4bXV4OiBwb3J0IHRvIEdzdENvbGxlY3RQYWRzMgoKMjAxMS0xMi0xNCAxODozODowOSArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXZpL2dzdGF2aW11eC5jOgoJKiBnc3QvYXZpL2dzdGF2aW11eC5oOgoJICBhdmltdXg6IHBvcnQgdG8gR3N0Q29sbGVjdFBhZHMyCgoyMDExLTEyLTE0IDE4OjM0OjI1ICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9jYWlyby9nc3R0ZXh0b3ZlcmxheS5jOgoJKiBleHQvY2Fpcm8vZ3N0dGV4dG92ZXJsYXkuaDoKCSAgY2Fpcm90ZXh0b3ZlcmxheTogcG9ydCB0byBHc3RDb2xsZWN0UGFkczIKCjIwMTEtMTItMTMgMTg6MTg6NDUgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXJlYWQtY29tbW9uLmM6CgkgIG1hdHJvc2thZGVtdXg6IGZpbHRlciBib2d1cyBpbmRleCBlbnRyaWVzIHdpdGggbWlzc2luZyBibG9jayBudW1iZXIKCSAgLi4uIHRvIGF2b2lkIGNvbnRyYWRpY3RvcnkgaW5mb3JtYXRpb24gcmVzdWx0aW5nIGluIHNlZWtzIHNlbmRpbmcgbW9yZQoJICBkb3duc3RyZWFtIHRoYW4gbmVlZGVkIGZvciB0aGUgY29ycmVzcG9uZGluZyBzZWdtZW50LgoKMjAxMS0xMi0xMyAxODoxNToxOCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2FkZW11eDogY2F0ZXIgZm9yIHNhZmVyIGFyaXRobWV0aWMgd2l0aCBnbG9iYWwgc3RhcnQgdGltZQoKMjAxMS0xMi0xMyAxNzowMjowMSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2FkZW11eDogdHdlYWsgZmluYWwgY2xvc2luZyBzZWdtZW50IHNlbmRpbmcKCSAgLi4uIHRvIGF2b2lkIGl0IGludGVyZmVyaW5nIHdpdGggKHNwYXJzZSkgc3RyZWFtIHN5bmNpbmcuCgoyMDExLTEyLTEyIDExOjUxOjA2IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBtYWtlIGRlYnVnIG1lc3NhZ2UgbW9yZSB1c2VmdWwKCSAgQWRkIGluZm9ybWF0aW9uIGFib3V0IHRoZSB0YWdsaXN0IGFuZCB3aGljaCBwYWQgcmVjZWl2ZWQgdGhlCgkgIHRhZyBldmVudCBvbiB0aGUgZGVidWcgbG9nZ2luZy4KCjIwMTEtMTItMTMgMTE6NDY6NDMgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6CgkgIHdhdnBhcnNlOiBhdm9pZCB1c2luZyBmbG9hdGluZyBwb2ludCB1bm5lY2Vzc2FyaWx5CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NjU5MTEKCjIwMTEtMTItMTMgMTE6NDI6NDAgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6CgkgIHdhdnBhcnNlOiBmaXggZm9ybWF0IHNwZWNpZmllciBzaWduZWRuZXNzCgkgIFVzZSB1bnNpZ25lZCBzcGVjaWZpZXJzIGZvciBhbGwgdW5zaWduZWQgdmFsdWVzLgoJICBBIGxvdCBvZiB0aGUgdmFsdWVzIHVzZWQgaGVyZSBhcmUgdW5zaWduZWQsIGFuZCBzb21lIGNhbiB0YWtlCgkgIGhpZ2ggZW5vdWdoIHZhbHVlcyB0aGF0IHRoZWlyIHNpZ25lZCBjb3VudGVycGFydCB3aWxsIGJlIG5lZ2F0aXZlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjY1OTExCgoyMDExLTEyLTEyIDE2OjQ5OjE5ICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOgoJKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuaDoKCSAgd2F2cGFyc2U6IGFkZCBhIGlnbm9yZS1sZW5ndGggcHJvcGVydHkKCSAgVGhpcyBhbGxvd3MgcGxheWluZyBicm9rZW4gc3RyZWFtcyB3aGljaCB3cml0ZSBhbiBpbmNvcnJlY3QKCSAgbGVuZ3RoIGluIHRoZWlyIGRhdGEgY2h1bmtzIChzdWNoIGFzLCBhdCBsZWFzdCwgb25lIHN0cmVhbWluZwoJICBjYW1lcmEpLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjY1OTExCgoyMDExLTEyLTEyIDExOjU0OjU2ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC9nbGliLWNvbXBhdC1wcml2YXRlLmg6CgkgIGdsaWItY29tcGF0OiBBZGQgbGljZW5zZSBib2lsZXJwbGF0ZSBmb3IgTEdQTAoKMjAxMS0xMi0xMiAxNToxNTo0NiArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2FkZW11eDogbWluZCAodW4pc2lnbmVkIGluIHNvbWUgdGltZXN0YW1wIGFyaXRobWV0aWMKCSAgLi4uIHRvIGF2b2lkIGVuZGluZyB1cCB3aXRoIGludmFsaWQgKG5lZ2F0aXZlKSBkdXJhdGlvbi4KCjIwMTEtMDItMDkgMTU6MzE6MjIgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IGluY3JlYXNlIHBhcnNlIHRvbGVyYW5jZSBmb3IgZnV6enkgZmlsZSBjYXNlcwoKMjAxMS0xMi0xMiAxMDozODoyMCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBNYWtlZmlsZS5hbToKCSAgYnVpbGQ6IGRpc3QgZ2xpYi1jb21wYXQtcHJpdmF0ZS5oIHByb3Blcmx5CgkgIEFkZCBtaXNzaW5nIHNsYXNoLgoKMjAxMS0xMi0xMiAxMDoxODoxNCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9zb3VwaHR0cHNyYy5jOgoJICB0ZXN0czogdXNlIGF0ZXhpdCwgZ19hdGV4aXQgaGFzIGJlZW4gZGVwcmVjYXRlZCBpbiBnbGliIG1hc3RlcgoKMjAxMS0xMi0xMiAwMjo1MjoxMyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZHYvZ3N0ZHZkZW11eC5jOgoJKiBleHQvZmxhYy9nc3RmbGFjZGVjLmM6CgkqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2twYXJzZS5jOgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzoKCSogZ3N0L2ltYWdlZnJlZXplL2dzdGltYWdlZnJlZXplLmM6CgkqIGdzdC9pc29tcDQvZ3N0cXRtb292cmVjb3Zlci5jOgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNzcmNkZW11eC5jOgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIyLmM6CgkqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOgoJICBTdXBwcmVzcyBkZXByZWNhdGlvbiB3YXJuaW5ncyBpbiBzZWxlY3RlZCBmaWxlcywgZm9yIGdfc3RhdGljX3JlY19tdXRleF8qIG1vc3RseQoJICBHU3RhdGljUmVjTXV0ZXggaXMgcGFydCBvZiBvdXIgQVBJL0FCSSwgbm90IG11Y2ggd2UgY2FuIGRvIGhlcmUKCSAgaW4gMC4xMCBmb3IgbW9zdCBvZiB0aGVzZS4KCjIwMTEtMTItMTIgMDI6NDE6MzcgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvc291cGh0dHBzcmMuYzoKCSogdGVzdHMvaWNsZXMvZXF1YWxpemVyLXRlc3QuYzoKCSogdGVzdHMvaWNsZXMvZ2RrcGl4YnVmc2luay10ZXN0LmM6CgkqIHRlc3RzL2ljbGVzL3Rlc3Qtb3NzNC5jOgoJKiB0ZXN0cy9pY2xlcy92aWRlb2Nyb3AtdGVzdC5jOgoJICB0ZXN0czogZ190aHJlYWRfaW5pdCgpIGlzIGRlcHJlY2F0ZWQgaW4gZ2xpYiBtYXN0ZXIKCSAgSXQncyBub3QgbmVlZGVkIGFueSBsb25nZXIuCgoyMDExLTEyLTEyIDAyOjM4OjM3ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwY2xpZW50c2luay5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6CgkqIHN5cy9vc3M0L29zczQtbWl4ZXIuYzoKCSogdGVzdHMvaWNsZXMvdjRsMnNyYy10ZXN0LmM6CgkgIFVzZSBnX3RocmVhZF90cnlfbmV3KCkgaW5zdGVhZCBvZiBnX3RocmVhZF9jcmF0ZSgpIHdpdGggbmV3ZXIgZ2xpYiB2ZXJzaW9ucwoKMjAxMS0xMi0xMiAwMjozMTozNiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYWxwaGEvZ3N0YWxwaGEuYzoKCSogZ3N0L2FscGhhL2dzdGFscGhhLmg6CgkgIGFscGhhOiB1c2UgbmV3IGdsaWIgQVBJIGZvciBzdGF0aWMgbXV0ZXggaWYgYXZhaWxhYmxlCgoyMDExLTEyLTEyIDAyOjMwOjQ1ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIE1ha2VmaWxlLmFtOgoJKiBleHQvamFjay9nc3RqYWNrYXVkaW9jbGllbnQuYzoKCSogZXh0L3B1bHNlL3B1bHNlYXVkaW9zaW5rLmM6CgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBjbGllbnRzaW5rLmM6CgkqIGdzdC1saWJzL2dzdC9nbGliLWNvbXBhdC1wcml2YXRlLmg6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvY2hlYmJhbmQuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9jaGVibGltaXQuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9maXJmaWx0ZXIuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9paXJmaWx0ZXIuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW93c2luY2JhbmQuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW93c2luY2xpbWl0LmM6CgkqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyLmM6CgkqIGdzdC9pbWFnZWZyZWV6ZS9nc3RpbWFnZWZyZWV6ZS5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJKiBnc3Qvc2hhcGV3aXBlL2dzdHNoYXBld2lwZS5jOgoJKiBnc3QvdWRwL2dzdG11bHRpdWRwc2luay5jOgoJKiBnc3QvdmlkZW9ib3gvZ3N0dmlkZW9ib3guYzoKCSogZ3N0L3ZpZGVvY3JvcC9nc3Rhc3BlY3RyYXRpb2Nyb3AuYzoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlci5jOgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyMi5jOgoJKiBzeXMvb3NzNC9vc3M0LW1peGVyLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJ4b3ZlcmxheS5jOgoJKiBzeXMveGltYWdlL2dzdHhpbWFnZXNyYy5jOgoJICBXb3JrIGFyb3VuZCBkZXByZWNhdGVkIHRocmVhZCBBUEkgaW4gZ2xpYiBtYXN0ZXIKCSAgQWRkIHByaXZhdGUgcmVwbGFjZW1lbnRzIGZvciBkZXByZWNhdGVkIGZ1bmN0aW9ucyBzdWNoIGFzCgkgIGdfbXV0ZXhfbmV3KCksIGdfbXV0ZXhfZnJlZSgpLCBnX2NvbmRfbmV3KCkgZXRjLiwgbW9zdGx5CgkgIHRvIGF2b2lkIHRoZSBkZXByZWNhdGlvbiB3YXJuaW5ncy4gV2UnbGwgY2hhbmdlIHRoZXNlCgkgIG92ZXIgdG8gdGhlIG5ldyBBUEkgb25jZSB3ZSBkZXBlbmQgb24gZ2xpYiA+PSAyLjMyLgoKMjAxMS0xMi0xMiAxMDoyNDo0NSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogUmVxdWlyZSBHTGliID49IDIuMjQKCSAgQWxsIG90aGVyIG1vZHVsZXMgcmVxdWlyZSB0aGlzIGFscmVhZHkgYW5kIG5vYm9keSBpcyB0ZXN0aW5nIHdpdGgKCSAgb2xkZXIgdmVyc2lvbnMgYW55d2F5LgoKMjAxMS0xMi0xMSAxODo0MDozMSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZ2RrX3BpeGJ1Zi9nc3RnZGtwaXhidWZzaW5rLmM6CgkgIGdka3BpeGJ1ZnNpbms6IGZpeCBpbnZlcnRlZCBwaXhlbC1hc3BlY3QtcmF0aW8KCSAgU3BvdHRlZCBieSBNaWtlIE1vcnJpc29uLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjY1ODgyCgoyMDExLTEyLTExIDE3OjU1OjE0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9wdWxzZS9wdWxzZWF1ZGlvc2luay5jOgoJICBwdWxzZWF1ZGlvc2luazogZG9uJ3QgbGVhayBwYWQgdGVtcGxhdGUKCjIwMTEtMTItMTAgMTQ6NDg6NTcgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBjbGllbnRzaW5rLmM6CgkgIHNvdXA6IGZpeCBzdGFydC9zdG9wIHJhY2UgaW4gc291cGh0dHBjbGllbnRzaW5rCgkgIEZpeCBjcmFzaCBvciBoYW5nIGluIGdlbmVyaWMvc3RhdGVzIHVuaXQgdGVzdCB3aGVuIGRvaW5nIHN0b3AoKQoJICByaWdodCBhZnRlciBzdGFydCgpLiBDcmVhdGUgbWFpbiBsb29wIGluIHRoZSBzdGFydCBmdW5jdGlvbiBhbHJlYWR5CgkgIGFuZCBub3QganVzdCBpbiB0aGUgdGhyZWFkIGZ1bmN0aW9uLCBzbyB0aGF0IHN0b3AoKSBhbHdheXMgaGFzIGEKCSAgdmFsaWQgbWFpbiBsb29wIHRvIHF1aXQgb24uIEFsc28sIGNhbGxpbmcgZ19tYWluX2xvb3BfcXVpdCgpIGJlZm9yZQoJICBnX21haW5fbG9vcF9ydW4oKSB3b24ndCB3b3JrIGFuZCByZXN1bHQgaW4gdGhlIHN0b3AgZnVuY3Rpb24gd2FpdGluZwoJICBmb3IgdGhlIHRocmVhZCB0byBqb2luIGZvcmV2ZXIuIFRoZXJlZm9yZSwgd2FpdCBmb3IgdGhlIHRocmVhZCB0bwoJICBiZSByZWFkeSBhbmQgZ2V0IHRoZSBtYWluIGxvb3AgcnVubmluZyBpbiB0aGUgc3RhcnQoKSBmdW5jdGlvbiwgdG8KCSAgYmUgc3VyZSBzdG9wKCkgYWx3YXlzIHdvcmtzLgoKMjAxMS0xMi0xMCAxMzozNTowOCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9maWxlcy9NYWtlZmlsZS5hbToKCSAgdGVzdHM6IGRpc3QgdGVzdCBmaWxlIHVzZWQgaW4gbWF0cm9za2FwYXJzZSB1bml0IHRlc3QKCjIwMTEtMTItMTAgMTI6MzI6MzIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcmd2b2x1bWUuYzoKCSAgdGVzdHM6IGZpeCB1cCByZ3ZvbHVtZSB0ZXN0IGZvciBiYXNldHJhbnNmb3JtIGV2ZW50IGNhY2hpbmcKCSAgU29tZSB0ZXN0cyBhc3N1bWVkIHRoYXQgdGFnIGV2ZW50cyB3b3VsZCBhbHdheXMgcHVzaGVkIHRocm91Z2gKCSAgaW1tZWRpYXRlbHksIHdoaWNoIGlzbid0IHRoZSBjYXNlIGFueSBsb25nZXIsIHNvIHB1c2ggYSBuZXdzZWdtZW50CgkgIGV2ZW50IGFuZCBhbiBlbXB0eSBidWZmZXIgZmlyc3QuCgoyMDExLTEyLTEwIDExOjEyOjAxICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc3NyY2RlbXV4LmM6CgkgIHNzcmNkZW11eDogZml4IGl0ZXJhdG9yIGFuZCBjYXBzCgoyMDExLTEyLTEwIDExOjExOjAwICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOgoJICBydHBzZXNzaW9uOiBmb3J3YXJkIHRoZSBjYXBzIGV2ZW50CgoyMDExLTEyLTEwIDExOjA5OjQzICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIGppdHRlcmJ1ZmZlcjogc2ltcGx5IGZvcndhcmQgdGhlIGNhcHMgZXZlbnQKCSAgZm9yd2FyZCB0aGUgY2FwcyBldmVudCB3ZSBnZXQgYXMgaW5wdXQgaW5zdGVhZCBvZiBtYWtpbmcgYSBuZXcgZXZlbnQgZXRjLi4KCjIwMTEtMTItMDkgMjA6MTA6MTkgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6CgkgIHJ0cHNlc3Npb246IGZvcndhcmQgY2FwcwoKMjAxMS0xMi0wOSAxOTo0NjowMiArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzoKCSAgcnRwOiBwYXNzIHBhcmVudCB0byBzZXRjYXBzIG1ldGhvZHMKCjIwMTEtMTItMTAgMDI6MjE6MDIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogcG8vTElOR1VBUzoKCSogcG8vZW8ucG86CgkqIHBvL2phLnBvOgoJKiBwby9sdi5wbzoKCSogcG8vc3IucG86CgkgIHBvOiB1cGRhdGUgdHJhbnNsYXRpb25zCgoyMDExLTEyLTA5IDE2OjA0OjU2ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSogZXh0L3B1bHNlL3B1bHNlc3JjLmM6CgkgIHB1bHNlOiByZW5hbWUgImNsaWVudCIgcHJvcGVydGllcyB0byAiY2xpZW50LW5hbWUiCgkgIEJldHRlciBuYW1lLCBidXQgYWxzbyBtYXRjaGVzIHRoZSBwcm9wZXJ0eSBvbiB0aGUgamFjawoJICBlbGVtZW50cyAod2hlcmUgImNsaWVudCIgaXMgdXNlZCBmb3Igc29tZXRoaW5nIGVsc2UpLgoKMjAxMS0xMi0wOSAxNTo1MDoyOCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvamFjay9nc3RqYWNrYXVkaW9zaW5rLmM6CgkqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NyYy5jOgoJICBqYWNrOiBkb24ndCBsZWFrIGNsaWVudCBuYW1lIHdoZW4gZnJlZWluZyB0aGUgZWxlbWVudAoJICBBbmQgYWRkIGd0ay1kb2MgY2h1bmtzIGZvciB0aGUgbmV3IHByb3BlcnR5LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjY1ODcyCgoyMDExLTEyLTA5IDE1OjQ1OjAzICswMDAwICBOaWNvbGFzIEJhcm9uIDxob2dnaW5zQHJhZGlvbS5mcj4KCgkqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NpbmsuYzoKCSogZXh0L2phY2svZ3N0amFja2F1ZGlvc2luay5oOgoJKiBleHQvamFjay9nc3RqYWNrYXVkaW9zcmMuYzoKCSogZXh0L2phY2svZ3N0amFja2F1ZGlvc3JjLmg6CgkgIGphY2s6IGFkZCAiY2xpZW50LW5hbWUiIHByb3BlcnR5IHRvIGphY2thdWRpb3NpbmsgYW5kIGphY2thdWRpb3NyYwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjY1ODcyCgoyMDExLTEyLTA5IDEyOjE5OjEzICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9sYXcvTWFrZWZpbGUuYW06CgkgIGxhdzogZml4IENGTEFHUyBhbmQgTElCUyBvcmRlciBpbiBNYWtlZmlsZS5hbQoKMjAxMS0xMi0wOSAxMjoxNTozMCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJICBNZXJnZSByZW1vdGUtdHJhY2tpbmcgYnJhbmNoICdvcmlnaW4vbWFzdGVyJyBpbnRvIDAuMTEKCjIwMTEtMTItMDkgMTA6NTE6MTQgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4tbWFyc2hhbC5saXN0OgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc3NyY2RlbXV4LmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmM6CgkgIHJ0cDogZml4IG1hcnNoYWxsZXJzCgkgIFJlbW92ZSBjdXN0b20gbWFyc2hhbGxlcnMgZm9yIG1pbm9iamVjdC4KCSAgSW5pdCBSVENQIGJ1ZmZlciBjb3JyZWN0bHkuCgkgIEhhbmRsZSByZXN1bHRzIGZyb20gc2V0Y2FwcwoJICBSZW1vdmUgYXNzZXJ0cy4KCjIwMTEtMTItMDkgMTA6NTA6MTggKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbGF3L01ha2VmaWxlLmFtOgoJKiBnc3QvbGF3L2FsYXctZGVjb2RlLmM6CgkqIGdzdC9sYXcvYWxhdy1lbmNvZGUuYzoKCSogZ3N0L2xhdy9hbGF3LmM6CgkqIGdzdC9sYXcvbXVsYXctZGVjb2RlLmM6CgkqIGdzdC9sYXcvbXVsYXctZW5jb2RlLmM6CgkgIGxhdzogZml4IG5lZ290aWF0aW9uCgoyMDExLTEyLTA4IDExOjAwOjQ1ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSAgbWF0cm9za2FtdXg6IHN0cmVhbS1mb3JtYXQ9cmF3IGdvZXMgd2l0aCBhYWMgY2Fwcywgbm90IG1wMyBjYXBzCgoyMDExLTEyLTA4IDAxOjI4OjI2ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkgIE1lcmdlIHJlbW90ZS10cmFja2luZyBicmFuY2ggJ29yaWdpbi9tYXN0ZXInIGludG8gMC4xMQoJICBDb25mbGljdHM6CgkgIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYwoKMjAxMS0xMi0wMiAxMjowNzoyNCArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIHY0bDJzcmM6IGRvIG5vdCBpZ25vcmUgdGhlIGhpZ2hlc3QgZnJhbWUgaW50ZXJ2YWwKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY2NTM4NwoKMjAxMS0xMi0wMiAxMTo1OTowMyArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIHY0bDJzcmM6IGRvIG5vdCBpZ25vcmUgdGhlIGxhcmdlc3QgcmVzb2x1dGlvbgoJICBUaGUgJ21heCcgdmFsdWUgaXNuJ3QgYW4gU1RMIHN0eWxlICJvbmUgYWZ0ZXIgdGhlIGVuZCIgYm91bmQsCgkgIGJ1dCB0aGUgbGFyZ2VzdCBhbGxvd2VkIHZhbHVlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjY1Mzg3CgoyMDExLTEyLTA2IDE2OjQ3OjI1ICswMTAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L211bHRpZmlsZS9nc3RtdWx0aWZpbGVzaW5rLmg6CgkgIGRvY3M6IGFkZCBhZGQgdGhlIHR3byBlbnVtIHZhbHVlcyB0aGF0IHdlcmUganVzdCBhZGRlZCB0b28KCjIwMTEtMTItMDYgMTY6MTQ6NTQgKzAxMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSogZ3N0L211bHRpZmlsZS9nc3RtdWx0aWZpbGVzaW5rLmg6CgkgIG11bHRpZmlsZXNpbms6IGV4cG9zZSB0aGUgZW51bSBwcm9wZXJ0eSBkb2NzIGZvciBzcGxpdHRpbmcgbW9kZS4KCSAgRml4ZXMgIzY2NTY2Ni4KCjIwMTEtMTItMDYgMTQ6MjM6MzAgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNwYXkuYzoKCSAgaDI2M3BheTogZml4IGludmFsaWQgcmV0dXJuIHZhbHVlCgoyMDExLTEyLTA2IDEzOjU5OjUyICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiByZW1vdmUgdW51c2VkIGZsdXNoIHBhcmFtCgoyMDExLTEyLTA1IDE4OjQwOjI2ICswMTAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9pc29tcDQvZ3N0cnRweHF0ZGVwYXkuYzoKCSAgcnRweHF0ZGVwYXk6IEluaXRpYWxpemUgR3N0UlRQQnVmZmVyIGJlZm9yZSB1c2FnZQoKMjAxMS0xMi0wNSAxODo0MDoxMiArMDEwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBwdGRlbXV4LmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNzcmNkZW11eC5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBqaXR0ZXJidWZmZXIuYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuYzoKCSAgcnRwbWFuYWdlcjogSW5pdGlhbGl6ZSBHc3RSVFBCdWZmZXIgYmVmb3JlIHVzYWdlCgoyMDExLTEyLTA1IDE4OjM5OjU5ICswMTAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9ydHAvZ3N0YXN0ZXJpc2toMjYzLmM6CgkqIGdzdC9ydHAvZ3N0cnRwTDE2ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBqcGVnZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBqcGVncGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXAxc2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXAydGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXAydHBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wNGFkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wNGFwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDRnZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDRncGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXA0dmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXA0dnBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHFjZWxwZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBxZG1kZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHNpcmVuZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBzcGVleGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwc3BlZXhwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBzdjN2ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHB0aGVvcmFkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHRoZW9yYXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHZvcmJpc2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwdm9yYmlzcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwdnJhd2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwdnJhd3BheS5jOgoJICBydHA6IEluaXRpYWxpemUgR3N0UlRQQnVmZmVyIGJlZm9yZSB1c2FnZQoKMjAxMS0xMi0wNSAxMjoxNToyMSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIHY0bDI6IHJlcGxhY2UgZGVwcmVjYXRlZCBHU1RfQ0xBU1NfTE9DSwoKMjAxMS0xMS0yNCAxMzo1ODowMSArMDEwMCAgU2ViYXN0aWFuIFJhc211c3NlbiA8c2Vicm5AYXhpcy5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGpwZWdwYXkuYzoKCSAgcnRwanBlZ3BheTogQ2VpbCBqcGVnIGRpbWVuc2lvbnMsIGluc3RlYWQgb2YgZmxvb3IKCSAgQSBKUEVHIGltYWdlIGluc2lkZSBhbiBSVFAgc3RyZWFtIGhhcyBhIHByZWNlZWRpbmcgUkZDMjQzNSBoZWFkZXIgdGhhdAoJICBjb252ZXlzIHdpZHRoL2hlaWdodC4gVGhlIGRpbWVuc2lvbnMgaW4gdGhpcyBoZWFkZXIgYXJlIGxpbWl0ZWQgdG8gYmUKCSAgbXVsdGlwbGVzIG9mIDguIFNpbmNlIEpQRUcgdXNlcyBhbiBNQ1Ugb2YgOHg4IHBpeGVscyBhbnkgaW1hZ2UgbXVzdAoJICBhbHJlYWR5IGluZGlyZWN0bHkgaGF2ZSBpbWFnZSBkYXRhIGRpbWVuc2lvbnMgdGhhdCBhcmUgcm91bmRlZCB1cCBpbgoJICBvcmRlciB0byBjb250YWluIGVub3VnaCBkYXRhIHRvIHJlbmRlciB0aGUgaW1hZ2UuIFRoZXJlZm9yZSB0aGlzIGZpeAoJICBzYWZlbHkgcm91bmRzIHRoZSBpbWFnZSBkaW1lbnNpb25zIGluIHRoZSBSRkMyNDM1IGhlYWRlciB1cCB0byB0aGUKCSAgY2xvc2VzdCBtdWx0aXBsZSBvZiA4LgoKMjAxMS0xMi0wNCAxMjo1MDo1NyArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5oOgoJICBmbGFjcGFyc2U6IGVuc3VyZSB3ZSBvbmx5IGNoZWNrIGZvciBzYW1wbGUvYmxvY2sgbWl4dXAgYXQgc3RhcnQKCSAgT3RoZXJ3aXNlIHdlIG1pZ2h0IHRyaWdnZXIgYXQgc29tZSBwb2ludCB3aXRoaW4gdGhlIGZpbGUsIGJ1dCB0aGUKCSAgY2hlY2sgaXMgb25seSBtYWtpbmcgc2Vuc2UgZm9yIHRoZSBzZWNvbmQgYmxvY2suCgoyMDExLTEyLTAzIDE4OjE0OjU5ICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1wYXJzZS5jOgoJICBtYXRyb3NrYXBhcnNlOiB3YXJuIGlmIGFjY3VtdWxhdGluZyBoZWFkZXJzIGFmdGVyIHRoZXkgd2VyZSBwdXNoZWQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY2NTQxMgoKMjAxMS0xMC0yNSAxMjo1NDo0MyAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcGFyc2UuYzoKCSAgbWF0cm9za2FwYXJzZTogZml4IHBhcnNpbmcKCSAgTWFyayBtb3JlIHBhcnRzIGFzIGJlbG9uZ2luZyB0byBzdHJlYW1oZWFkZXJzLgoKMjAxMS0xMi0wMyAxNzozMDoxMCArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6CgkgIGZsdmRlbXV4OiBmaXggZGlzY29udGludWl0eSB0aHJlc2hvbGQgY2hlY2sgd2hlbiB0aW1lc3RhbXBzIGdvIGJhY2t3YXJkcwoJICBTaW5jZSB1bnNpZ25lZCB0eXBlcyBhcmUgdXNlZCwgYSBuZWdhdGl2ZSB2YWx1ZSB3b3VsZCBzaG93IGFzIHZlcnksIHZlcnkKCSAgcG9zaXRpdmUuCgkgIEZpeGVzIEEvViBzeW5jIG9uIHNvbWUuLi4gbGVzcyB0aGFuIHdlbGwgbWFkZSBmaWxlcyB3aGVyZSB0aW1lc3RhbXBzIGdvCgkgIGJhY2t3YXJkcy4KCjIwMTEtMTItMDIgMjI6MjU6MTcgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cGNsaWVudHNpbmsuYzoKCSogZ3N0L2RlYnVndXRpbHMvdGVzdHBsdWdpbi5jOgoJKiBnc3QvbXVsdGlmaWxlL2dzdG11bHRpZmlsZXNpbmsuYzoKCSAgdXBkYXRlIGZvciBiYXNlc2luayBldmVudCBoYW5kbGVyIGNoYW5nZXMKCjIwMTEtMTItMDIgMTI6MDE6MjIgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICB2NGwyc3JjOiBhZGQgYSBjb21tZW50IGFib3V0IGEgImhpZGRlbiIgYXNzdW1wdGlvbiBvbiByYW5rIHZhbHVlcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjY1Mzg3CgoyMDExLTEyLTAyIDAxOjU4OjMwICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkgIE1lcmdlIHJlbW90ZS10cmFja2luZyBicmFuY2ggJ29yaWdpbi9tYXN0ZXInIGludG8gMC4xMQoJICBDb25mbGljdHM6CgkgIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lc2RzaW5rLnhtbAoJICBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2NvbmZlbGVtZW50cy54bWwKCSAgZXh0L3B1bHNlL3B1bHNlYXVkaW9zaW5rLmMKCSAgZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmMKCSAgZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jCgkgIGdzdC9tdWx0aWZpbGUvZ3N0bXVsdGlmaWxlc2luay5jCgoyMDExLTEyLTAxIDE4OjU1OjQ1ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1yZWFkLWNvbW1vbi5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9pZDNkZW11eC5jOgoJICB1cGRhdGUgZm9yIHRhZyBBUEkgY2hhbmdlcwoKMjAxMS0xMi0wMSAxNToyOToxNSArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2FkZW11eDogcGxhY2F0ZSBnY2Mgc2luY2UgLVdlcnJvciBpcyB1c2VkCgkgIEluaXRpYWxpemUgdmFsdWVzIHRoYXQgR0NDIGNhbm5vdCBwcm92ZSBhcmUgbm90IHVzZWQgd2l0aG91dAoJICBiZWluZyBpbml0aWFsaXplZCwgYW5kIGFzc2VydCB0aGF0IEkgZGlkIG5vdCBtZXNzIHVwIG15IHByb29mLgoKMjAxMS0xMi0wMSAxNDoxMzowNSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgdGVzdHM6IGZpeCB1cCBMSUJTIG9yZGVyIHNvbSBtb3JlYAoKMjAxMS0xMi0wMSAxMzoyMjo0MiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkgIG1hdHJvc2thLW11eDogZml4IG5hbWUgb2YgbmV3IHByb3BlcnR5IGFuZCB0aGUgdW5pdCB0ZXN0CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NTQzNzkKCjIwMTEtMDktMjUgMTQ6NTc6NTYgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L211bHRpZmlsZS9nc3RtdWx0aWZpbGVzaW5rLmM6CgkgIG11bHRpZmlsZXNpbms6IGFkZCBiYXNpYyBidWZmZXIgbGlzdCBoYW5kbGluZwoJICBXZSBhc3N1bWUgZm9yIG5vdyB0aGF0IGFsbCBidWZmZXJzIGluIGEgYnVmZmVyIGxpc3QKCSAgc2hvdWxkIGVuZCB1cCBpbiB0aGUgc2FtZSBmaWxlIChzbyB3ZSBjYW4gZ3JvdXAgR09QcwoJICBpbiBidWZmZXIgbGlzdHMsIGZvciBleGFtcGxlKS4gQ291bGQgb3B0aW1pc2UgdGhpcwoJICBhIGJpdCB0byBhdm9pZCB0aGUgbWVtY3B5LgoKMjAxMS0wOS0yMyAxODo0MzozNSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXVsdGlmaWxlL2dzdG11bHRpZmlsZXNpbmsuYzoKCSAgbXVsdGlmaWxlc2luazogd3JpdGUgc3RyZWFtLWhlYWRlcnMgd2hlbiBzd2l0Y2hpbmcgdG8gdGhlIG5leHQgZmlsZSBpbiBtYXgtc2l6ZSBtb2RlCgoyMDExLTA5LTIzIDE4OjMxOjAxICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tdWx0aWZpbGUvZ3N0bXVsdGlmaWxlc2luay5jOgoJKiBnc3QvbXVsdGlmaWxlL2dzdG11bHRpZmlsZXNpbmsuaDoKCSAgbXVsdGlmaWxlc2luazogYWRkIG5ldyAnbWF4LXNpemUnIG1vZGUgZm9yIHN3aXRjaGluZyB0byB0aGUgbmV4dCBmaWxlCgoyMDExLTA5LTIzIDE3OjQ5OjA1ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tdWx0aWZpbGUvZ3N0bXVsdGlmaWxlc2luay5jOgoJKiBnc3QvbXVsdGlmaWxlL2dzdG11bHRpZmlsZXNpbmsuaDoKCSAgbXVsdGlmaWxlc2luazogYWRkICJtYXgtZmlsZS1zaXplIiBwcm9wZXJ0eSBmb3IgbmV3IG5leHQtZmlsZSBtb2RlCgoyMDExLTEyLTAxIDEzOjM4OjA2ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYWRlbXV4OiBEb24ndCBmb3JnZXQgU1NBIHN1YnRpdGxlcyBpbiBsYXN0IGNvbW1pdAoKMjAxMS0xMi0wMSAxMzozNDo1MiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWlkcy5oOgoJICBtYXRyb3NrYWRlbXV4OiBPbmx5IGNoZWNrIGZvciBtYXJrdXAgYW5kIGVzY2FwZSBpZiBuZWNlc3NhcnkgZm9yIHBsYWludGV4dCBzdWJ0aXRsZXMKCSAgT3RoZXJ3aXNlIHdlIGJyZWFrIFVTRiBhbmQgQVNTL1NTQSBzdWJ0aXRsZXMuCgoyMDExLTEyLTAxIDEzOjIzOjMzICswMTAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIGdzdC9tdWx0aWZpbGUvTWFrZWZpbGUuYW06CgkgIG11bHRpZmlsZTogZml4IGJ1aWxkIGluIHVuaW5zdGFsbGVkIHNldHVwCgkgIEFkZCAtYmFzZSBsaWJzIGluY2x1ZGVzIHRvIENGTEFHUywgZml4IG9yZGVyIG9mIExJQlMgPGNpdD4uCgoyMDExLTEyLTAxIDEzOjA4OjAxICswMTAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL211bHRpZmlsZS5jOgoJICB0ZXN0czogZml4IGdfbWtkdGVtcCBwcmVzZW5jZSBjaGVjayBpbiBtdWx0aWZpbGUgdGVzdHMKCSAgZ19ta2R0ZW1wIHdhcyBhZGRlZCBpbiBnbGliIDIuMzAgZXZlbiB0aG91Z2ggdGhlIGRvYyBjbGFpbXMgaXQgd2FzIGFkZGVkIGluCgkgIDIuMjYuCgoyMDExLTA3LTE3IDIzOjU2OjA0ICswMjAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIGdzdC9tdWx0aWZpbGUvTWFrZWZpbGUuYW06CgkqIGdzdC9tdWx0aWZpbGUvZ3N0bXVsdGlmaWxlc2luay5jOgoJKiBnc3QvbXVsdGlmaWxlL2dzdG11bHRpZmlsZXNpbmsuaDoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL211bHRpZmlsZS5jOgoJICBtdWx0aWZpbGVzaW5rOiBhZGQgZmxhZyB0byBjdXQgYWZ0ZXIgYSBmb3JjZSBrZXkgdW5pdCBldmVudAoKMjAxMS0xMi0wMSAxMjo0NzoyNiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2FkZW11eDogQ29weSBhbGwgYnVmZmVyIGZsYWdzIHdoZW4gY3JlYXRpbmcgYSBzdWJ0aXRsZSBidWZmZXIgY29weSBhZnRlciBwb3N0cHJvY2Vzc2luZwoJICBUaGlzIGFsc28gY29waWVzIHRoZSBjYXBzLiBPdGhlcndpc2Ugd2UgY291bGQgZW5kIHVwIHB1c2luZwoJICB0aGUgZmlyc3QgYnVmZmVyIHdpdGhvdXQgYW55IGNhcHMsIHdoaWNoIGNhdXNlcyBkb3duc3RyZWFtCgkgIHRvIG5vdCBnZXQgbm90aWZpZWQgYWJvdXQgdGhlIGNhcHMuCgkgIEZpeGVzIGJ1ZyAjNjY0ODkyLgoKMjAxMS0xMC0xMSAwMjowNzoxMyArMDIwMCAgQWxleGV5IEZpc2hlciA8YnVnLXRyYWNrQGZpc2hlci1wcml2YXQubmV0PgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJICBtYXRyb3NrYW11eDogbWFrZSBkZWZhdWx0IGZyYW1lcmF0ZSBvcHRpb25hbCBwZXIgc3RyZWFtCgkgIHRoZXJlIGlzIGF0IGxlYXN0IHR3byB1c2UgY2FzZXMgd2hlcmUgZGVmYXVsdCBmcmFtZSByYXRlCgkgIHNob3VsZCBvciBtYXkgYmUgZGlzYWJsZWQ6CgkgIC0gdnA4IHN0cmVhbSB3aXRoIGFsdHJlZiBmcmFtZSBlbmFibGVkLiBJZiBkZWZhdWx0IGZyYW1lIHJhdGUKCSAgaXMgZW5hYmxlZCwgc29tZSBwbGF5ZXJzIHdpbGwgbWlzc2ludGVycHJldGUgaXQgKGNyaXRpY2FsISkKCSAgLSBmb3Igd2VibSBjb250YWluZXIsIHRvIHJlZHVjZSBtaWNybyBvdmVyaGVhZAoJICAtIGZvciBzdHJlYW0gd2l0aCB2YXJpYWJsZSBmcmFtZSByYXRlLgoJICBTaWduZWQtb2ZmLWJ5OiBBbGV4ZXkgRmlzaGVyIDxidWctdHJhY2tAZmlzaGVyLXByaXZhdC5uZXQ+CgoyMDExLTExLTMwIDIyOjEzOjExICswMTAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2VmZmVjdHYvZ3N0cmlwcGxlLmM6CgkgIHJpcHBsZXR2OiBmaXggQ0xBTVAgZW5kLXZhbHVlcwoKMjAxMS0xMS0zMCAxOToyNTozNyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5pbnRlcmZhY2VzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLnNpZ25hbHM6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi0xMzk0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhY29sb3IueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYW5ub2RleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hcGV0YWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9meC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb3BhcnNlcnMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvZGV0ZWN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF2aS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWNhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWlyby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jdXR0ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVpbnRlcmxhY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZlbmNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZmVjdHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXF1YWxpemVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVzZHNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmxhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx4ZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdjb25mZWxlbWVudHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2RrcGl4YnVmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbTJrMS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc3RydHBtYW5hZ2VyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWhhbGVsZW1lbnRzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWljeWRlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlkM2RlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWltYWdlZnJlZXplLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVybGVhdmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taXNvbXA0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWphY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanBlZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sZXZlbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tYXRyb3NrYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tb25vc2NvcGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlmaWxlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpcGFydC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uYXZpZ2F0aW9udGVzdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3M0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zc2F1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBuZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wdWxzZWF1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlcGxheWdhaW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0c3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hhcGV3aXBlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNob3V0MnNlbmQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc21wdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVjdHJ1bS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10YWdsaWIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdWRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvNGxpbnV4Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2JveC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2Nyb3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9maWx0ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9taXhlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14aW1hZ2VzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teTRtZW5jLnhtbDoKCSAgZG9jczogdXBkYXRlIGRvY3MKCjIwMTEtMTEtMzAgMTk6MDA6NDIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L211bHRpZmlsZS9NYWtlZmlsZS5hbToKCSogZ3N0L211bHRpZmlsZS9nc3RzcGxpdGZpbGVzcmMuYzoKCSogZ3N0L211bHRpZmlsZS9wYXR0ZXJuc3BlYy5jOgoJKiBnc3QvbXVsdGlmaWxlL3BhdHRlcm5zcGVjLmg6CgkgIHNwbGl0ZmlsZXNyYzogc3BlY2lmeSBmaWxlbmFtZXMgdmlhIG5vcm1hbCB3aWxkY2FyZHMgaW5zdGVhZCBvZiByZWd1bGFyIGV4cHJlc3Npb25zCgkgIExlc3MgY3JhY2t0YXN0aWMgaW4gdGhlIGVuZC4KCjIwMTEtMTAtMTAgMTg6Mjg6MTEgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L211bHRpZmlsZS9nc3RzcGxpdGZpbGVzcmMuYzoKCSAgc3BsaXRmaWxlc3JjOiBjaGVjayBieXRlcyBhY3R1YWxseSByZWFkLCBqdXN0IGluIGNhc2UKCSAgSGFuZGxlIGNvcm5lciBjYXNlIHdoZXJlIHdlIHRyeSB0byByZWFkIGJleW9uZCB0aGUgZW5kIG9mIHRoZQoJICBsYXN0IGZpbGUgcGFydCwgaW4gd2hpY2ggY2FzZSB3ZSB3YW50IHRvIHJldHVybiBhIHNob3J0IHJlYWQuCgkgIElmIHdlIGdldCBmZXdlciBieXRlcyB0aGFuIGV4cGVjdGVkIGZvciBhbnkgb3RoZXIgZmlsZSBwYXJ0LAoJICB3ZSBzaG91bGQganVzdCBlcnJvciBvdXQsIHNpbmNlIHNvbWV0aGluZyBmaXNoeSdzIGdvaW5nIG9uCgkgIHRoZW4uCgoyMDExLTEwLTA2IDA4OjMzOjE5ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tdWx0aWZpbGUvZ3N0c3BsaXRmaWxlc3JjLmM6CgkgIHNwbGl0ZmlsZXNyYzogc2V0IG9mZnNldHMgb24gYnVmZmVycwoJICBMb29rcyBsaWtlIHNvbWUgcGFyc2VycyAoaW4gc29tZSB2ZXJzaW9ucyBhdCBsZWFzdCkgZXhwZWN0IHRoZQoJICBvZmZzZXRzIHRvIGJlIHNldCwgYW5kIGJlaGF2ZSB3ZWlyZCBpZiB0aGF0J3Mgbm90IHRoZSBjYXNlCgkgIChlLmcuIG9mZi1ieS1vbmUgaW4gaDI2NHBhcnNlKS4KCjIwMTEtMDctMjggMjA6MTk6NTYgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QvbXVsdGlmaWxlL01ha2VmaWxlLmFtOgoJKiBnc3QvbXVsdGlmaWxlL2dzdG11bHRpZmlsZS5jOgoJKiBnc3QvbXVsdGlmaWxlL2dzdHNwbGl0ZmlsZXNyYy5jOgoJKiBnc3QvbXVsdGlmaWxlL2dzdHNwbGl0ZmlsZXNyYy5oOgoJICBtdWx0aWZpbGU6IGFkZCBzcGxpdGZpbGVzcmMgZWxlbWVudAoJICBBZGQgbmV3IHNwbGl0ZmlsZXNyYyBlbGVtZW50IHRoYXQgcHJlc2VudHMgbXVsdGlwbGUgZmlsZXMKCSAgKHNlbGVjdGFibGUgdmlhIGEgbG9jYXRpb24gcmVnZXgpIGFzIG9uZSBzaW5nbGUgY29udGlndW91cwoJICBmaWxlLgoKMjAxMS0xMS0zMCAwNzo1Nzo0MCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9wdWxzZS9wdWxzZW1peGVyY3RybC5oOgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkqIGV4dC9wdWxzZS9wdWxzZXNyYy5jOgoJICB1cGRhdGUgZm9yIG1vdmVkIGF1ZGlvIGludGVyZmFjZXMKCjIwMTEtMTEtMjkgMTc6MzQ6MTAgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9wdWxzZS9wdWxzZWF1ZGlvc2luay5jOgoJICBSZXZlcnQgInB1bHNlYXVkaW9zaW5rOiBmaXggY2FwcyBsZWFrIgoJICBUaGlzIHJldmVydHMgY29tbWl0IGQ2YTlkZTllMmFlZGM4YjY2YWIzMjE5OTAyYjVhMzdlOGQ2NWFkYTIuCgkgIHNldGNhcHMgZnVuY3Rpb25zIGFyZW4ndCBzdXBwb3NlZCB0byB0YWtlIG93bmVyc2hpcCBvZiB0aGUgY2FwcyBwYXNzZWQKCjIwMTEtMTEtMjkgMTk6MTA6NTggKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9maWx0ZXIvTWFrZWZpbGUuYW06CgkqIGdzdC92aWRlb2ZpbHRlci9nc3R2aWRlb2JhbGFuY2UuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMmNvbG9yYmFsYW5jZS5oOgoJKiBzeXMvdjRsMi9nc3R2NGwydmlkZW9vdmVybGF5Lmg6CgkqIHN5cy92NGwyL2dzdHY0bDJ2aWRvcmllbnQuaDoKCSogdGVzdHMvaWNsZXMvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2ljbGVzL3Y0bDJzcmMtdGVzdC5jOgoJICBmaXggZm9yIG1vdmVkIGludGVyZmFjZXMKCjIwMTEtMTEtMjggMjM6MjA6MzIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSAgTWVyZ2UgY29tbWl0ICc3NTIxYjU5N2Y0ZGM0OWQ4ZDE2OGYzNjhmMGU3ZWJhZjk4YTcyMTU2JyBpbnRvIDAuMTEKCjIwMTEtMTEtMjggMjE6Mjc6NTMgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSAgTWVyZ2UgcmVtb3RlLXRyYWNraW5nIGJyYW5jaCAnb3JpZ2luL21hc3RlcicgaW50byAwLjExCgoyMDExLTExLTI4IDIxOjI3OjQwICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkgIE1lcmdlIGNvbW1pdCAnYTIzMzdiOGFmNDVjYjVlOGMwOTFmZjBlMWMzZWY0YjZjYzdiMjBhMycgaW50byAwLjExCgoyMDExLTExLTI4IDE4OjI1OjUyICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6CgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXBhcnNlLmM6CgkgIFVwZGF0ZSBmb3IgaW5kZXhhYmxlIGNoYW5nZQoKMjAxMS0xMS0yOCAxNzo1MjowNiArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJKiBnc3QvcnRzcC9nc3RydHBkZWMuYzoKCSAgdXBkYXRlIGZvciBjbG9jayBwcm92aWRlciBBUEkgY2hhbmdlCgoyMDExLTExLTI4IDE2OjU3OjI0ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b2F1ZGlvc2luay5jOgoJKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvYXVkaW9zcmMuYzoKCSogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b3ZpZGVvc2luay5jOgoJKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvdmlkZW9zcmMuYzoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBmaXggZm9yIGVsZW1lbnQgZmxhZyB1cGRhdGVzCgoyMDExLTExLTI4IDEyOjU4OjQ0ICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9hYWxpYi9nc3RhYXNpbmsuYzoKCSogZXh0L2Fubm9kZXgvZ3N0Y21tbGRlYy5jOgoJKiBleHQvYW5ub2RleC9nc3RjbW1sZW5jLmM6CgkqIGV4dC9jYWlyby9nc3RjYWlyb292ZXJsYXkuYzoKCSogZXh0L2NhaXJvL2dzdGNhaXJvcmVuZGVyLmM6CgkqIGV4dC9jYWlyby9nc3R0ZXh0b3ZlcmxheS5jOgoJKiBleHQvY2Fpcm8vZ3N0dGltZW92ZXJsYXkuYzoKCSogZXh0L2R2L2dzdGR2ZGVjLmM6CgkqIGV4dC9kdi9nc3RkdmRlbXV4LmM6CgkqIGV4dC9lc2QvZXNkbW9uLmM6CgkqIGV4dC9lc2QvZXNkc2luay5jOgoJKiBleHQvZmxhYy9nc3RmbGFjZGVjLmM6CgkqIGV4dC9mbGFjL2dzdGZsYWNlbmMuYzoKCSogZXh0L2ZsYWMvZ3N0ZmxhY3RhZy5jOgoJKiBleHQvZ2NvbmYvZ3N0c3dpdGNoc2luay5jOgoJKiBleHQvZ2NvbmYvZ3N0c3dpdGNoc3JjLmM6CgkqIGV4dC9nZGtfcGl4YnVmL2dzdGdka3BpeGJ1Zi5jOgoJKiBleHQvZ2RrX3BpeGJ1Zi9nc3RnZGtwaXhidWZzaW5rLmM6CgkqIGV4dC9nZGtfcGl4YnVmL3BpeGJ1ZnNjYWxlLmM6CgkqIGV4dC9oYWwvZ3N0aGFsYXVkaW9zaW5rLmM6CgkqIGV4dC9oYWwvZ3N0aGFsYXVkaW9zcmMuYzoKCSogZXh0L2phY2svZ3N0amFja2F1ZGlvc2luay5jOgoJKiBleHQvamFjay9nc3RqYWNrYXVkaW9zcmMuYzoKCSogZXh0L2pwZWcvZ3N0anBlZ2RlYy5jOgoJKiBleHQvanBlZy9nc3RqcGVnZW5jLmM6CgkqIGV4dC9qcGVnL2dzdHNtb2tlZGVjLmM6CgkqIGV4dC9qcGVnL2dzdHNtb2tlZW5jLmM6CgkqIGV4dC9saWJjYWNhL2dzdGNhY2FzaW5rLmM6CgkqIGV4dC9saWJtbmcvZ3N0bW5nZGVjLmM6CgkqIGV4dC9saWJtbmcvZ3N0bW5nZW5jLmM6CgkqIGV4dC9saWJwbmcvZ3N0cG5nZGVjLmM6CgkqIGV4dC9saWJwbmcvZ3N0cG5nZW5jLmM6CgkqIGV4dC9taWttb2QvZ3N0bWlrbW9kLmM6CgkqIGV4dC9wdWxzZS9wdWxzZWF1ZGlvc2luay5jOgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkqIGV4dC9wdWxzZS9wdWxzZXNyYy5jOgoJKiBleHQvcmF3MTM5NC9nc3RkdjEzOTRzcmMuYzoKCSogZXh0L3JhdzEzOTQvZ3N0aGR2MTM5NHNyYy5jOgoJKiBleHQvc2hvdXQyL2dzdHNob3V0Mi5jOgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cGNsaWVudHNpbmsuYzoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzoKCSogZXh0L3NwZWV4L2dzdHNwZWV4ZGVjLmM6CgkqIGV4dC9zcGVleC9nc3RzcGVleGVuYy5jOgoJKiBleHQvdGFnbGliL2dzdGFwZXYybXV4LmNjOgoJKiBleHQvdGFnbGliL2dzdGlkM3YybXV4LmNjOgoJKiBleHQvdGFnbGliL2dzdHRhZ2xpYm11eC5jOgoJKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZGVjLmM6CgkqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tlbmMuYzoKCSogZXh0L3dhdnBhY2svZ3N0d2F2cGFja3BhcnNlLmM6CgkqIGdzdC9hbHBoYS9nc3RhbHBoYS5jOgoJKiBnc3QvYWxwaGEvZ3N0YWxwaGFjb2xvci5jOgoJKiBnc3QvYXBldGFnL2dzdGFwZWRlbXV4LmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvcGFub3JhbWEuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYWNwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFjM3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YW1ycGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RkY2FwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdG1wZWdhdWRpb3BhcnNlLmM6CgkqIGdzdC9hdXBhcnNlL2dzdGF1cGFyc2UuYzoKCSogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b2F1ZGlvc2luay5jOgoJKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvYXVkaW9zcmMuYzoKCSogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b3ZpZGVvc2luay5jOgoJKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvdmlkZW9zcmMuYzoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJKiBnc3QvYXZpL2dzdGF2aW11eC5jOgoJKiBnc3QvYXZpL2dzdGF2aXN1YnRpdGxlLmM6CgkqIGdzdC9jdXR0ZXIvZ3N0Y3V0dGVyLmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL2JyZWFrbXlkYXRhLmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL2NwdXJlcG9ydC5jOgoJKiBnc3QvZGVidWd1dGlscy9lZmVuY2UuYzoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0Y2Fwc2RlYnVnLmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdGNhcHNzZXR0ZXIuYzoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0bmF2aWdhdGlvbnRlc3QuYzoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0bmF2c2Vlay5jOgoJKiBnc3QvZGVidWd1dGlscy9nc3RwdXNoZmlsZXNyYy5jOgoJKiBnc3QvZGVidWd1dGlscy9nc3R0YWdpbmplY3QuYzoKCSogZ3N0L2RlYnVndXRpbHMvcHJvZ3Jlc3NyZXBvcnQuYzoKCSogZ3N0L2RlYnVndXRpbHMvcm5kYnVmZmVyc2l6ZS5jOgoJKiBnc3QvZGVidWd1dGlscy90ZXN0cGx1Z2luLmM6CgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5jOgoJKiBnc3QvZWZmZWN0di9nc3RhZ2luZy5jOgoJKiBnc3QvZWZmZWN0di9nc3RkaWNlLmM6CgkqIGdzdC9lZmZlY3R2L2dzdGVkZ2UuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0b3AuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0cXVhcmsuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0cmFkaW9hYy5jOgoJKiBnc3QvZWZmZWN0di9nc3RyZXYuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0cmlwcGxlLmM6CgkqIGdzdC9lZmZlY3R2L2dzdHNoYWdhZGVsaWMuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0c3RyZWFrLmM6CgkqIGdzdC9lZmZlY3R2L2dzdHZlcnRpZ28uYzoKCSogZ3N0L2VmZmVjdHYvZ3N0d2FycC5jOgoJKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6CgkqIGdzdC9mbHYvZ3N0Zmx2bXV4LmM6CgkqIGdzdC9mbHgvZ3N0Zmx4ZGVjLmM6CgkqIGdzdC9nb29tL2dzdGdvb20uYzoKCSogZ3N0L2dvb20yazEvZ3N0Z29vbS5jOgoJKiBnc3QvaWN5ZGVtdXgvZ3N0aWN5ZGVtdXguYzoKCSogZ3N0L2lkM2RlbXV4L2dzdGlkM2RlbXV4LmM6CgkqIGdzdC9pbWFnZWZyZWV6ZS9nc3RpbWFnZWZyZWV6ZS5jOgoJKiBnc3QvaW50ZXJsZWF2ZS9kZWludGVybGVhdmUuYzoKCSogZ3N0L2ludGVybGVhdmUvaW50ZXJsZWF2ZS5jOgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4LmM6CgkqIGdzdC9pc29tcDQvZ3N0cnRweHF0ZGVwYXkuYzoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkqIGdzdC9sYXcvYWxhdy1kZWNvZGUuYzoKCSogZ3N0L2xhdy9hbGF3LWVuY29kZS5jOgoJKiBnc3QvbGF3L211bGF3LWRlY29kZS5jOgoJKiBnc3QvbGF3L211bGF3LWVuY29kZS5jOgoJKiBnc3QvbGV2ZWwvZ3N0bGV2ZWwuYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXBhcnNlLmM6CgkqIGdzdC9tYXRyb3NrYS93ZWJtLW11eC5jOgoJKiBnc3QvbWVkaWFuL2dzdG1lZGlhbi5jOgoJKiBnc3QvbW9ub3Njb3BlL2dzdG1vbm9zY29wZS5jOgoJKiBnc3QvbXVsdGlmaWxlL2dzdG11bHRpZmlsZXNpbmsuYzoKCSogZ3N0L211bHRpZmlsZS9nc3RtdWx0aWZpbGVzcmMuYzoKCSogZ3N0L211bHRpcGFydC9tdWx0aXBhcnRkZW11eC5jOgoJKiBnc3QvbXVsdGlwYXJ0L211bHRpcGFydG11eC5jOgoJKiBnc3QvcmVwbGF5Z2Fpbi9nc3RyZ2FuYWx5c2lzLmM6CgkqIGdzdC9yZXBsYXlnYWluL2dzdHJnbGltaXRlci5jOgoJKiBnc3QvcmVwbGF5Z2Fpbi9nc3RyZ3ZvbHVtZS5jOgoJKiBnc3QvcnRwL2dzdGFzdGVyaXNraDI2My5jOgoJKiBnc3QvcnRwL2dzdHJ0cEwxNmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwTDE2cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwYWMzZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBhYzNwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBhbXJkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGFtcnBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGJ2ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBidnBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGNlbHRkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGNlbHRwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGR2ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBkdnBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjJkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjJwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnNzIzZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnNzIzcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZzcyNmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZzcyNnBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjlkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjlwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnc21kZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGdzbXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGdzdGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZ3N0cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2M2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2M3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNwZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjYzcHBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBpbGJjZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBpbGJjcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwajJrZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBqMmtwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBqcGVnZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBqcGVncGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXAxc2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXAydGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXAydHBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wNGFkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wNGFwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDRnZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDRncGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXA0dmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXA0dnBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wYWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXBhcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXBhcm9idXN0ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcHZkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wdnBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHBjbWFkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHBjbWFwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBwY211ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBwY211cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwcWNlbHBkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHFkbWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwc2lyZW5kZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHNpcmVucGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwc3BlZXhkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHNwZWV4cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwc3YzdmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwdGhlb3JhZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHB0aGVvcmFwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHB2b3JiaXNkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHZvcmJpc3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHZyYXdkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHZyYXdwYXkuYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBwdGRlbXV4LmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc3NyY2RlbXV4LmM6CgkqIGdzdC9ydHNwL2dzdHJ0cGRlYy5jOgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkqIGdzdC9zaGFwZXdpcGUvZ3N0c2hhcGV3aXBlLmM6CgkqIGdzdC9zbXB0ZS9nc3RzbXB0ZS5jOgoJKiBnc3Qvc21wdGUvZ3N0c21wdGVhbHBoYS5jOgoJKiBnc3QvdWRwL2dzdGR5bnVkcHNpbmsuYzoKCSogZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuYzoKCSogZ3N0L3VkcC9nc3R1ZHBzcmMuYzoKCSogZ3N0L3ZpZGVvYm94L2dzdHZpZGVvYm94LmM6CgkqIGdzdC92aWRlb2Nyb3AvZ3N0YXNwZWN0cmF0aW9jcm9wLmM6CgkqIGdzdC92aWRlb2Nyb3AvZ3N0dmlkZW9jcm9wLmM6CgkqIGdzdC92aWRlb2ZpbHRlci9nc3RnYW1tYS5jOgoJKiBnc3QvdmlkZW9maWx0ZXIvZ3N0dmlkZW9iYWxhbmNlLmM6CgkqIGdzdC92aWRlb2ZpbHRlci9nc3R2aWRlb2ZsaXAuYzoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlci5jOgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyMi5jOgoJKiBnc3Qvd2F2ZW5jL2dzdHdhdmVuYy5jOgoJKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzoKCSogZ3N0L3k0bS9nc3R5NG1lbmNvZGUuYzoKCSogc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdHNvdW5kc2luay5jOgoJKiBzeXMvb3NzL2dzdG9zc3NpbmsuYzoKCSogc3lzL29zcy9nc3Rvc3NzcmMuYzoKCSogc3lzL29zczQvb3NzNC1zaW5rLmM6CgkqIHN5cy9vc3M0L29zczQtc291cmNlLmM6CgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hhdWRpb3NpbmsuYzoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGF1ZGlvc3JjLmM6CgkqIHN5cy9vc3h2aWRlby9vc3h2aWRlb3NpbmsubToKCSogc3lzL3N1bmF1ZGlvL2dzdHN1bmF1ZGlvc2luay5jOgoJKiBzeXMvc3VuYXVkaW8vZ3N0c3VuYXVkaW9zcmMuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnNpbmsuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJKiBzeXMvd2F2ZWZvcm0vZ3N0d2F2ZWZvcm1zaW5rLmM6CgkqIHN5cy94aW1hZ2UvZ3N0eGltYWdlc3JjLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3F0bXV4LmM6CgkgIHZhcmlvdXM6IGZpeCBwYWQgdGVtcGxhdGUgbGVha3MKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY2MjY2NAoKMjAxMS0xMS0yOCAxMzowODoyNyArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHRtZi9nc3RkdG1mZGV0ZWN0LmM6CgkqIGdzdC9kdG1mL2dzdGR0bWZzcmMuYzoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZmRlcGF5LmM6CgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZzcmMuYzoKCSAgdmFyaW91czogZml4IHBhZCB0ZW1wbGF0ZSByZWYgbGVha3MKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY2MjY2NAoKMjAxMS0xMS0yOCAxMTo0NzoxMSArMDEwMCAgQ2hhZCA8Y2hhbm5hQGNhbHRlY2guZWR1PgoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0dGFnaW5qZWN0LmM6CgkgIHRhZ2luamVjdDogc2V0IGdhcC1hd2FyZQoJICBUaGUgZWxlbWVudCBkb2VzIG5vdCBtb2RpZnkgdGhlIGRhdGEgYW55d2F5LgoKMjAxMS0xMS0yNyAyMzozMjoxOCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBwby9hZi5wbzoKCSogcG8vYXoucG86CgkqIHBvL2JnLnBvOgoJKiBwby9jYS5wbzoKCSogcG8vY3MucG86CgkqIHBvL2RhLnBvOgoJKiBwby9kZS5wbzoKCSogcG8vZWwucG86CgkqIHBvL2VuX0dCLnBvOgoJKiBwby9lcy5wbzoKCSogcG8vZXUucG86CgkqIHBvL2ZpLnBvOgoJKiBwby9mci5wbzoKCSogcG8vZ2wucG86CgkqIHBvL2h1LnBvOgoJKiBwby9pZC5wbzoKCSogcG8vaXQucG86CgkqIHBvL2phLnBvOgoJKiBwby9sdC5wbzoKCSogcG8vbHYucG86CgkqIHBvL210LnBvOgoJKiBwby9uYi5wbzoKCSogcG8vbmwucG86CgkqIHBvL29yLnBvOgoJKiBwby9wbC5wbzoKCSogcG8vcHRfQlIucG86CgkqIHBvL3JvLnBvOgoJKiBwby9ydS5wbzoKCSogcG8vc2sucG86CgkqIHBvL3NsLnBvOgoJKiBwby9zcS5wbzoKCSogcG8vc3IucG86CgkqIHBvL3N2LnBvOgoJKiBwby90ci5wbzoKCSogcG8vdWsucG86CgkqIHBvL3ZpLnBvOgoJKiBwby96aF9DTi5wbzoKCSogcG8vemhfSEsucG86CgkqIHBvL3poX1RXLnBvOgoJICBwbzogdXBkYXRlIHBvIGZpbGVzCgoyMDExLTExLTI3IDIzOjMxOjQzICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkgIE1lcmdlIHJlbW90ZS10cmFja2luZyBicmFuY2ggJ29yaWdpbi9tYXN0ZXInIGludG8gMC4xMQoJICBDb25mbGljdHM6CgkgIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyLmMKCjIwMTEtMTEtMjYgMjE6Mzk6MzMgKzAxMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplci5jOgoJICBlcXVhbGl6ZXI6IGFsc28gc3luYyB0aGUgcGFyYW1ldGVycyBmb3IgdGhlIGZpbHRlciBiYW5kcwoKMjAxMS0xMS0yNiAxNjowNjo1OSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtaWRzLmM6CgkgIG1hdHJvc2thZGVtdXg6IGluaXRpYWxpc2Ugc2Vlbl9tYXJrdXBfdGFnIGZpZWxkIG9uIHN1YnRpdGxlIHN0cmVhbSBjb250ZXh0CgoyMDExLTExLTI2IDEwOjAxOjA3ICswMTAwICBSZW7DqSBTdGFkbGVyIDxyZW5lLnN0YWRsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QvbWF0cm9za2EvZWJtbC1yZWFkLmM6CgkqIGdzdC9tYXRyb3NrYS9lYm1sLXJlYWQuaDoKCSogZ3N0L21hdHJvc2thL2VibWwtd3JpdGUuYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5oOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtaWRzLmg6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5oOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcGFyc2UuYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXJlYWQtY29tbW9uLmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1yZWFkLWNvbW1vbi5oOgoJKiBnc3QvbWF0cm9za2Evd2VibS1tdXguYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvbWF0cm9za2FtdXguYzoKCSAgbWF0cm9za2E6IHBvcnQgdG8gMC4xMQoJICBTdXBwb3J0IGZvciBUQUdfSU1BR0UgYW5kIFRBR19BVFRBQ0hNRU5UIGlzIGNvbW1lbnRlZCBvdXQ7IHRoaXMgcmVxdWlyZXMgY2FwcwoJICBvbiBidWZmZXJzIHdoaWNoIGlzIGdvbmUgZnJvbSAwLjExLgoJICBTZWdtZW50IGhhbmRsaW5nIGluIHRoZSBkZW11eGVyIGlzIGEgYml0IGNvbXBsZXg7IEkgYWRkZWQgc29tZSBGSVhNRSBjb21tZW50cwoJICBpbiBwbGFjZXMgd2hlcmUgSSdtIG5vdCB5ZXQgc3VyZSBpZiBJIHBvcnRlZCBjb3JyZWN0bHkuCgoyMDExLTExLTI2IDEzOjU0OjIyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L3B1bHNlL3BsdWdpbi5jOgoJKiBleHQvcHVsc2UvcHVsc2VhdWRpb3NpbmsuYzoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmg6CgkqIGV4dC9wdWxzZS9wdWxzZXNyYy5jOgoJKiBleHQvcHVsc2UvcHVsc2VzcmMuaDoKCSogZXh0L3B1bHNlL3B1bHNldXRpbC5jOgoJKiBleHQvcHVsc2UvcHVsc2V1dGlsLmg6CgkgIHB1bHNlYXVkaW86IHJlcXVpcmUgcHVsc2VhdWRpbyA+PSAxLjAKCjIwMTEtMTEtMjYgMTM6MzQ6MTAgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSAgTWVyZ2UgcmVtb3RlLXRyYWNraW5nIGJyYW5jaCAnb3JpZ2luL21hc3RlcicgaW50byAwLjExCgkgIENvbmZsaWN0czoKCSAgZXh0L3B1bHNlL3B1bHNlYXVkaW9zaW5rLmMKCSAgZXh0L3B1bHNlL3B1bHNlc3JjLmMKCSAgZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYWNwYXJzZS5jCgkgIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YW1ycGFyc2UuYwoJICBnc3QvYXVkaW9wYXJzZXJzL2dzdGRjYXBhcnNlLmMKCSAgZ3N0L2F1ZGlvcGFyc2Vycy9nc3RmbGFjcGFyc2UuYwoJICBnc3QvZWZmZWN0di9nc3RyYWRpb2FjLmMKCSAgZ3N0L2VmZmVjdHYvZ3N0cmFkaW9hYy5oCgkgIGdzdC9lZmZlY3R2L2dzdHJpcHBsZS5jCgkgIFNvbWUgcG9zc2libGUgRklYTUVzIHJlbWFpbmluZyBpbiB0aGUgYXVkaW8gcGFyc2VyIGdldGNhcHMgZnVuY3Rpb25zLgoKMjAxMS0xMS0yNSAxOToyODo1NSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2lzb21wNC9nc3RxdG11eG1hcC5jOgoJICBpc21sbXV4OiBVc2UgaXNvLWZyYWdtZW50ZWQgYXMgdmFyaWFudCB0eXBlCgkgIFVzaW5nICdpc28nIGNvbmZsaWN0cyB3aXRoIG1wNG11eCB2YXJpYW50IHR5cGUsIGlzbWxtdXggbm93CgkgIHVzZXMgaXNvLWZyYWdtZW50ZWQKCSAgRml4ZXMgIzY1NjgyMwoKMjAxMS0xMS0yNCAxMjowNTozMyArMDUzMCAgQXJ1biBSYWdoYXZhbiA8YXJ1bi5yYWdoYXZhbkBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcHVsc2UvcHVsc2VzcmMuYzoKCSogZXh0L3B1bHNlL3B1bHNlc3JjLmg6CgkgIHB1bHNlc3JjOiBJbXBsZW1lbnQgR3N0U3RyZWFtVm9sdW1lIGludGVyZmFjZQoJICBQdWxzZUF1ZGlvIDEuMCBzdXBwb3J0cyBwZXItc291cmNlLW91dHB1dCB2b2x1bWVzLCBhbmQgdGhpcyBleHBvc2VzIHRoZQoJICBmdW5jdGlvbmFsaXR5IHZpYSB0aGUgR3N0U3RyZWFtVm9sdW1lIGludGVyZmFjZS4KCSAgV2hlbiBjb21waWxlZCBhZ2FpbnN0IHByZS0xLjAgUHVsc2VBdWRpbywgdGhlIGludGVyZmFjZSBpcyBub3QKCSAgaW1wbGVtZW50ZWQsIGFuZCB0aGUgInZvbHVtZSIgb3IgIm11dGUiIHByb3BlcnRpZXMgYXJlIG5vdCBhdmFpbGFibGUuCgkgIFRoaXMgYml0IG9mIHVnbGluZXNzIHdpbGwgZ28gYXdheSB3aGVuIHdlIGNhbiBkZXBlbmQgb24gUHVsc2VBdWRpbyAxLjAKCSAgb3IgZ3JlYXRlci4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTU5NTA1NQoKMjAxMS0wOS0xMCAyMToyMTozOCAtMDcwMCAgQXJ1biBSYWdoYXZhbiA8YXJ1bi5yYWdoYXZhbkBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcHVsc2UvcHVsc2VzcmMuYzoKCSAgcHVsc2VzcmM6IFRyaXZpYWwgY29tbWVudCBjb3B5LXBhc3RlLW8gZml4CgoyMDExLTExLTE0IDEyOjQzOjI3ICswNTMwICBBcnVuIFJhZ2hhdmFuIDxhcnVuLnJhZ2hhdmFuQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9wdWxzZS9wdWxzZWF1ZGlvc2luay5jOgoJICBwdWxzZWF1ZGlvc2luazogUmVtb3ZlIHJlZHVuZGFudCBjb2RlCgoyMDExLTExLTE0IDEyOjQxOjQxICswNTMwICBBcnVuIFJhZ2hhdmFuIDxhcnVuLnJhZ2hhdmFuQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9wdWxzZS9wdWxzZWF1ZGlvc2luay5jOgoJICBwdWxzZWF1ZGlvc2luazogQ2xlYW4gdXAgcmVmY291bnRpbmcgaW4gZXZlbnQgcHJvYmUKCSAgTWFrZXMgc3VyZSB3ZSBkb24ndCBsZWFrIGEgcmVmY291bnQgaWYgdGhlIG9iamVjdCBpcyBkaXNwb3NlZCBiZWZvcmUgYQoJICBORVdTRUdNRU5UIHR1cm5zIHVwLgoKMjAxMS0xMS0yNCAxNjozMTozOCArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6CgkgIGZsdmRlbXV4OiBmaXggc2Vla2luZwoJICBXaGljaCBJIGFjY2lkZW50YWxseSBicm9rZSB3aGVuIGZpeGluZyBmbHYgdmlkZW9zIGJyZWFraW5nIG9uCgkgIHNwdXJpb3VzIHRpbWVzdGFtcCBkaXNjb250aW51aXRpZXMgaW4gYnJva2VuIGZpbGVzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjMxNDMwCgoyMDExLTExLTI1IDEzOjEzOjQ3ICswMTAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2VmZmVjdHYvZ3N0cmFkaW9hYy5jOgoJKiBnc3QvZWZmZWN0di9nc3RyYWRpb2FjLmg6CgkgIGVmZmVjdHY6IHJlcGFpciBjb2xvciBtb2RlcyBpbiByYWRpb2FjdHYgYnkgdGFraW5nIHJnYixiZ3IgaW50byBhY2NvdW50CgoyMDExLTExLTI1IDExOjQ0OjQ5ICswMTAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2VmZmVjdHYvZ3N0cmFkaW9hYy5jOgoJICByYWRpb2FjdHY6IGFkZCBvbmUgbW9yZSBzZXQgb2YgY2FwcwoJICBJdCBhbHNvIHdvcmsgaW4gdGhpcyBmb3JtYXQuIEF2b2lkcyB0aGUgbmVlZCBmb3IgY29udmVyc2lvbi4KCjIwMTEtMTEtMjUgMTE6NDQ6MTggKzAxMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvZWZmZWN0di9nc3RyYWRpb2FjLmM6CgkqIGdzdC9lZmZlY3R2L2dzdHNoYWdhZGVsaWMuYzoKCSAgZWZmZWN0dHY6IGZpeCByZXZlcnNlIG5lZ290aWF0aW9uCgkgIFRoZSBwbHVnaW5zIHdlcmUgdXNpbmcgX2ZpeGVkX2NhcHNfIGFuZCB0aHVzIG5vdCBhZGp1c3RpbmcgdG8gbmV3IHVwc3RyZWFtCgkgIHNpemVzLiBTcG90dGVkIGJ5IFRpbSBNw7xsbGVyLgoKMjAxMS0xMS0yNSAxMTo0MzoxNiArMDEwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9lZmZlY3R2L2dzdHdhcnAuYzoKCSAgd2FycHR2OiByZW1vdmUgbm90IG5lZWRlZCBpZmRlZgoKMjAxMS0xMS0yNSAxMDoxNTozNSArMDEwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9lZmZlY3R2L2dzdHJpcHBsZS5jOgoJICByaXBwbGV0djogY2xlYW4gdXAgdGhlIHJlbmRlcmluZyBjb2RlIGEgYml0CgkgIFRoaXMgaXMgY29ycnJ1cHRzIHRoZSBtZW1veSB3aGVuIHJlc2l6aW5nLiBBZGQgYSBGSVhNRSB0byBtYWtlIGl0IHJlc2l6ZWFibGUKCSAgb25jZSB0aGF0IGlzIHNvbHZlZC4KCjIwMTEtMTEtMjQgMjE6NDE6MDMgKzAxMDAgIFJlbsOpIFN0YWRsZXIgPHJlbmUuc3RhZGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hbHBoYWNvbG9yLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvYW1wbGlmeS5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdWRpb2NoZWJiYW5kLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvY2hlYmxpbWl0LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvZHluYW1pYy5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdWRpb2VjaG8uYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXVkaW9pbnZlcnQuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXVkaW9wYW5vcmFtYS5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdWRpb3dzaW5jYmFuZC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdWRpb3dzaW5jbGltaXQuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXZpbXV4LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F2aXN1YnRpdGxlLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2NhcHNzZXR0ZXIuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvY21tbGRlYy5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jbW1sZW5jLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2VxdWFsaXplci5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9pY3lkZW11eC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9qcGVnZW5jLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2xldmVsLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3BhcnNlci5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9xdG11eC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9yZ2FuYWx5c2lzLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3JnbGltaXRlci5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9yZ3ZvbHVtZS5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHBqaXR0ZXJidWZmZXIuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvc3BlY3RydW0uYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvdmlkZW9maWx0ZXIuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMveTRtZW5jLmM6CgkgIHRlc3RzOiB1cGRhdGUgZm9yIGdzdGNoZWNrIEFQSSBjaGFuZ2UKCjIwMTEtMTEtMjQgMjA6NDI6NDkgKzAxMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvZWZmZWN0di9nc3RxdWFyay5jOgoJKiBnc3QvZWZmZWN0di9nc3RzdHJlYWsuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0dmVydGlnby5jOgoJKiBnc3QvZWZmZWN0di9nc3R3YXJwLmM6CgkgIGVmZmVjdHR2OiBmaXggcmV2ZXJzZSBuZWdvdGlhdGlvbgoJICBUaGUgcGx1Z2lucyB3ZXJlIHVzaW5nIF9maXhlZF9jYXBzXyBhbmQgdGh1cyBub3QgYWRqdXN0aW5nIHRvIG5ldyB1cHN0cmVhbQoJICBzaXplcy4gU3BvdHRlZCBieSBUaW0gTcO8bGxlci4KCjIwMTEtMTEtMjQgMTQ6MTQ6NTMgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9tdWx0aWZpbGUvZ3N0bXVsdGlmaWxlc2luay5jOgoJICBtdWx0aWZpbGVzaW5rOiBGaXggbGVhayBvZiBmaWxlbmFtZSBzdHJpbmdzCgkgIERvIG5vdCBmb3JnZXQgdG8gZnJlZSB0aGUgZmlsZW5hbWUgc3RyaW5ncyB3aGVuIGRlbGV0aW5nCgkgIHRoZSBsaXN0IG9mIGZpbGVzLgoKMjAxMS0xMS0yNCAxNDoxMTozMyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvbXVsdGlmaWxlLmM6CgkgIG11bHRpZmlsZTogZml4IGJ1aWxkIG9mIHRlc3RzCgkgIFRlc3RzIGZhaWwgdG8gYnVpbGQgYmVjYXVzZSBnX21rZHRlbXAgaXMgYXZhaWxhYmxlIGZyb20gZ2xpYiBzaW5jZQoJICAyLjI2LgoJICBUaGlzIHBhdGNoIGFkZHMgYSBjb25kaXRpb24gYXJvdW5kIHRoZSByZWRlZmluaXRpb24gb2YKCSAgZ19ta2R0ZW1wIG9uIHRoZSB0ZXN0cyB0byBvbmx5IGJ1aWxkIGl0IGlmIGdsaWIgaXMgb2xkZXIgdGhhbgoJICAyLjI2LgoKMjAxMS0wOS0yNyAxNjo0OTo0NSArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzoKCSAgd2F2cGFyc2U6IHNraXAgaWQzMiB0YWdzCgkgIFRoaXMgYWxsb3dzIGRlY29kaW5nIGF0IGxlYXN0IG9uZSBzYW1wbGUgd2hlcmUgc29tZXRoaW5nIGhhcwoJICBzdHVmZmVkIHNvbWUgSUQzIHRhZyBiZWZvcmUgdGhlIChzdXBwb3NlZGx5IGluaXRpYWwpIEZNVFwgLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjYwMjQ5CgoyMDExLTEwLTMxIDE3OjA2OjE4ICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9lZmZlY3R2L2dzdGVkZ2UuYzoKCSAgZWRnZXR2OiB0cml2aWFsIGNvbW1lbnQgZml4IGZvciBjbGFyaXR5CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NjE4NDEKCjIwMTEtMTAtMzEgMTc6MDQ6MjMgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2VmZmVjdHYvZ3N0ZWRnZS5jOgoJICBlZGdldHY6IGRvbid0IGxlYXZlIGJpdHMgb2YgdGhlIG91dHB1dCBidWZmZXIgdW5pbml0aWFsaXplZAoJICBMZXQncyBpbml0aWFsaXplIHRoZW0gdG8gemVyby4gSXQgbG9va3MgYWxyaWdodCwgYnV0IHRoZW4gaXQKCSAgYWxzbyBsb29rcyBhbHJpZ2h0IHdpdGggdjMsIG9yIHdpdGggdGhlIGNvcnJlc3BvbmRpbmcgcGl4ZWxzCgkgIGZyb20gdGhlIHNvdXJjZS4gSSBkb24ndCBrbm93IHdoYXQgdGhlIG9yaWdpbmFsIGludGVudCB3b3VsZAoJICBiZSwgYW5kIHRoZSBvcmlnaW5hbCBlZmZlY3R2IHNvdXJjZSBhbHNvIGhhcyB0aGlzIGJ1Zy9mZWF0dXJlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjYxODQxCgoyMDExLTExLTI0IDEwOjI1OjAyICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWFjcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYzNwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFtcnBhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZGNhcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RmbGFjcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RtcGVnYXVkaW9wYXJzZS5jOgoJICBhdWRpb3BhcnNlOiBVc2UgdGhlIHNpbmtwYWQgdGVtcGxhdGUgY2FwcyBhcyBmYWxsYmFjaywgbm90IHRoZSBzcmNwYWQgb25lcwoKMjAxMS0xMS0yNCAwOTo1OTo0MCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdG1wZWdhdWRpb3BhcnNlLmM6CgkgIG1wZWdhdWRpb3BhcnNlOiBJbXBsZW1lbnQgOjpnZXRfc2lua19jYXBzIHZmdW5jIHRvIHByb3BhZ2F0ZSBkb3duc3RyZWFtIGNhcHMgY29uc3RyYWludHMgdXBzdHJlYW0KCjIwMTEtMTEtMjQgMDk6NTc6NTcgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RmbGFjcGFyc2UuYzoKCSAgZmxhY3BhcnNlOiBJbXBsZW1lbnQgOjpnZXRfc2lua19jYXBzIHZmdW5jIHRvIHByb3BhZ2F0ZSBkb3duc3RyZWFtIGNhcHMgY29uc3RyYWludHMgdXBzdHJlYW0KCjIwMTEtMTEtMjQgMDk6NTU6NDcgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RkY2FwYXJzZS5jOgoJICBkY2FwYXJzZTogSW1wbGVtZW50IDo6Z2V0X3NpbmtfY2FwcyB2ZnVuYyB0byBwcm9wYWdhdGUgZG93bnN0cmVhbSBjYXBzIGNvbnN0cmFpbnRzIHVwc3RyZWFtCgoyMDExLTExLTI0IDA5OjUzOjE4ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YW1ycGFyc2UuYzoKCSAgYW1ycGFyc2U6IEltcGxlbWVudCA6OmdldF9zaW5rX2NhcHMgdmZ1bmMgdG8gcHJvcGFnYXRlIGRvd25zdHJlYW0gY2FwcyBjb25zdHJhaW50cyB1cHN0cmVhbQoKMjAxMS0xMS0yNCAwOTo0OToyNyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFtcnBhcnNlLmM6CgkgIGFtcnBhcnNlOiBNYXJrIHNvbWUgbW9yZSBmdW5jdGlvbnMgYXMgc3RhdGljCgoyMDExLTExLTI0IDA5OjQ4OjMzICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWMzcGFyc2UuYzoKCSAgYWMzcGFyc2U6IEltcGxlbWVudCA6OmdldF9zaW5rX2NhcHMgdmZ1bmMgdG8gcHJvcGFnYXRlIGRvd25zdHJlYW0gY2FwcyBjb25zdHJhaW50cyB1cHN0cmVhbQoKMjAxMS0xMS0yNCAwOTo0NDo1OCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFhY3BhcnNlLmM6CgkgIGFhY3BhcnNlOiBNYXJrIHNvbWUgZnVuY3Rpb25zIGFzIHN0YXRpYyBhbmQgcmVtb3ZlIHVudXNlZCBmdW5jdGlvbiBkZWNsYXJhdGlvbnMKCjIwMTEtMTEtMjQgMDk6NDM6MTQgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYWNwYXJzZS5jOgoJICBhYWNwYXJzZTogSW1wbGVtZW50IDo6Z2V0X3NpbmtfY2FwcyB2ZnVuYyB0byBwcm9wYWdhdGUgZG93bnN0cmVhbSBjYXBzIGNvbnN0cmFpbnRzIHVwc3RyZWFtCgoyMDExLTExLTI0IDAxOjQ4OjI1ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3NvdXBodHRwc3JjLmM6CgkgIHRlc3RzOiB1cGRhdGUgc291cCB0ZXN0IGZvciByZW1vdmVkIGlyYWRpby1tb2RlIHByb3BlcnR5CgoyMDExLTExLTI0IDAxOjQ1OjQzICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6CgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmg6CgkgIHNvdXBodHRwc3JjOiBnZXQgcmlkIG9mIGlyYWRpby0qIHByb3BlcnRpZXMsIHBvc3QgdGFncyBpbnN0ZWFkCgoyMDExLTExLTI0IDAxOjQwOjA2ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6CgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmg6CgkgIHNvdXBodHRwc3JjOiBhbHdheXMgc2VuZCBpY2VjYXN0IHJlcXVlc3QgaGVhZGVyLCBkcm9wIGlyYWRpby1tb2RlIHByb3BlcnR5CgkgIFNlcnZlciBzaG91bGQgaWdub3JlIHVua25vd24vdW5oYW5kbGVkIGhlYWRlcnMuLgoKMjAxMS0xMS0yNCAwMToxOTozMiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuaDoKCSAgcnRzcHNyYzogbWFrZSBjb25uZWN0aW9uLXNwZWVkIHByb3BlcnR5IGEgZ3VpbnQ2NAoKMjAxMS0xMS0yNCAwMDo1Mjo0MCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc3RydHBtYW5hZ2VyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cG1hbmFnZXIueG1sOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwbWFuYWdlci5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHBiaW4uYzoKCSogdGVzdHMvZXhhbXBsZXMvcnRwL2NsaWVudC1QQ01BLmM6CgkqIHRlc3RzL2V4YW1wbGVzL3J0cC9jbGllbnQtUENNQS5weToKCSogdGVzdHMvZXhhbXBsZXMvcnRwL3NlcnZlci1hbHNhc3JjLVBDTUEuYzoKCSogdGVzdHMvZXhhbXBsZXMvcnRwL3NlcnZlci1hbHNhc3JjLVBDTUEucHk6CgkgIHJ0cG1hbmFnZXI6IHJlbmFtZSBnc3RydHAqIC0+IHJ0cCoKCSAgVGhpcyB3YXMgZG9uZSBpbiAwLjEwIHRvIGF2b2lkIGNvbmZsaWN0IHdpdGggdGhlIHJ0cCBlbGVtZW50cyBpbgoJICBmYXJzaWdodCwgYnV0IHRoZSBnc3QtcHJlZml4aW5nIGlzIG5vIGxvbmdlciBuZWVkZWQgaW4gMC4xMQoKMjAxMS0xMS0yMyAxMDoyMzoyOCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkgIE1lcmdlIGJyYW5jaCAnbWFzdGVyJyBpbnRvIDAuMTEKCjIwMTEtMTEtMjMgMDk6MjY6MTcgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcHVsc2UvcHVsc2VhdWRpb3NpbmsuYzoKCSAgcHVsc2VhdWRpb3Npbms6IGF2b2lkIGVuZGxlc3MgY2FwcyBsb29wCgkgIENoZWNrIGlmIHRoZSBjYXBzIGFyZSB0aGUgc2FtZSBiZWZvcmUgYWRkaW5nIGEgbmV3IHByb2JlLiBCZWNhdXNlIG9mIHJlY29uZmlndXJlCgkgIGV2ZW50cywgdXBzdHJlYW1zIHNlbmRzIG11bHRpcGxlIGNhcHMgZXZlbnRzLgoKMjAxMS0xMS0yMyAwMDo1NzozOSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvLmdpdGlnbm9yZToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvbWF0cm9za2FwYXJzZS5jOgoJKiB0ZXN0cy9maWxlcy9waW5rbm9pc2Utdm9yYmlzLm1rdjoKCSAgdGVzdHM6IGFkZCBiYXNpYyB1bml0IHRlc3QgZm9yIG1hdHJvc2thcGFyc2UKCjIwMTEtMTEtMjMgMDA6NTY6MjYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXBhcnNlLmM6CgkgIG1hdHJvc2thcGFyc2U6IGRvbid0IGxlYWsgc3RyZWFtIGhlYWRlcnMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY2NDU0OAoKMjAxMS0xMS0yMiAwMTo0MDozOSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvYW5ub2RleC9nc3RjbW1sZGVjLmM6CgkqIGV4dC9mbGFjL2dzdGZsYWNkZWMuYzoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2VuYy5jOgoJKiBleHQvZmxhYy9nc3RmbGFjdGFnLmM6CgkqIGV4dC9qcGVnL2dzdGpwZWdkZWMuYzoKCSogZXh0L3NwZWV4L2dzdHNwZWV4ZGVjLmM6CgkqIGV4dC9zcGVleC9nc3RzcGVleGVuYy5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJKiBzeXMveGltYWdlL2dzdHhpbWFnZXNyYy5jOgoJICBNb3JlIHByaW50ZiBmb3JtYXQgd2FybmluZyBmaXhlcwoKMjAxMS0xMS0yMSAyMDozMTozMSArMDEwMCAgTWF0ZWogS25vcHAgPG1hdGVqLmtub3BwQGdtYWlsLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L2FscGhhL2dzdGFscGhhLmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvZnhiYXNlZmlyZmlsdGVyLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZGNhcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RmbGFjcGFyc2UuYzoKCSogZ3N0L2F1cGFyc2UvZ3N0YXVwYXJzZS5jOgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkqIGdzdC9hdmkvZ3N0YXZpc3VidGl0bGUuYzoKCSogZ3N0L2RlYnVndXRpbHMvYnJlYWtteWRhdGEuYzoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0bmF2aWdhdGlvbnRlc3QuYzoKCSogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOgoJKiBnc3QvZ29vbS9nc3Rnb29tLmM6CgkqIGdzdC9pc29tcDQvZ3N0cXRtdXguYzoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkqIGdzdC9ydHAvZ3N0cnRwYWMzZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBhYzNwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBhbXJkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGFtcnBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGJ2ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBjZWx0ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBjZWx0cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZHZwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnNzIzZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnNzIzcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZzcyNmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZzcyNnBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjlkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjlwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnc21kZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGdzbXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBpbGJjZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBqMmtkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGoya3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGpwZWdkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wMXNkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wMnRkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wMnRwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDRhcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXA0Z2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXA0dmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXBhZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcHZkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHBjbWFkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHBjbXVkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHNwZWV4ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHB0aGVvcmFkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHRoZW9yYXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHZvcmJpc2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwdm9yYmlzcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwdnJhd3BheS5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6CgkqIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5jOgoJKiBnc3QvdWRwL2dzdGR5bnVkcHNpbmsuYzoKCSogZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuYzoKCSogZ3N0L3ZpZGVvZmlsdGVyL2dzdHZpZGVvZmxpcC5jOgoJKiBnc3Qvd2F2ZW5jL2dzdHdhdmVuYy5jOgoJKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzoKCSogc3lzL3hpbWFnZS9nc3R4aW1hZ2VzcmMuYzoKCSAgRml4IHByaW50ZiBmb3JtYXQgY29tcGlsZXIgd2FybmluZ3Mgb24gT1MgWCAvIDY0Yml0CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NjI2MTUKCjIwMTEtMTEtMjEgMTM6Mzc6MDEgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL3JuZGJ1ZmZlcnNpemUuYzoKCSogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOgoJICB1cGRhdGUgZm9yIGFjdGl2YXRpb24gY2hhbmdlcwoKMjAxMS0xMS0xOCAxNzo1OToxNiArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0cHVzaGZpbGVzcmMuYzoKCSogZ3N0L2RlYnVndXRpbHMvcm5kYnVmZmVyc2l6ZS5jOgoJKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6CgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzoKCSAgdXBkYXRlIGZvciBuZXcgc2NoZWR1bGluZyBxdWVyeQoKMjAxMS0xMS0xOCAxMzo1NzoyMCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9wdWxzZS9wdWxzZWF1ZGlvc2luay5jOgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL3JuZGJ1ZmZlcnNpemUuYzoKCSogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOgoJICBhZGQgcGFyZW50IHRvIGFjdGl2YXRlIGZ1bmN0aW9ucwoKMjAxMS0xMS0xNyAxNzozNjowNSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBhY3RpdmF0ZSBwYWQgYmVmb3JlIHNldHRpbmcgY2FwcwoJICBTZXRpbmcgY2FwcyBvbiBhbiBpbmFjdGl2ZSBmbHVzaGluZyBwYWQgZG9lcyBub3RoaW5nLgoKMjAxMS0xMS0xNyAxNzoxNzoxMSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkgIE1lcmdlIGJyYW5jaCAnbWFzdGVyJyBpbnRvIDAuMTEKCSAgQ29uZmxpY3RzOgoJICBleHQvc3BlZXgvZ3N0c3BlZXhlbmMuYwoJICBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmMKCjIwMTEtMTEtMTcgMTU6MDI6NTUgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvYW5ub2RleC9nc3RjbW1sZGVjLmM6CgkqIGV4dC9hbm5vZGV4L2dzdGNtbWxlbmMuYzoKCSogZXh0L2ZsYWMvZ3N0ZmxhY3RhZy5jOgoJKiBleHQvanBlZy9nc3RqcGVnZGVjLmM6CgkqIGV4dC9qcGVnL2dzdGpwZWdlbmMuYzoKCSogZXh0L3B1bHNlL3B1bHNlYXVkaW9zaW5rLmM6CgkqIGdzdC9hdXBhcnNlL2dzdGF1cGFyc2UuYzoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJKiBnc3QvYXZpL2dzdGF2aW11eC5jOgoJKiBnc3QvYXZpL2dzdGF2aXN1YnRpdGxlLmM6CgkqIGdzdC9jdXR0ZXIvZ3N0Y3V0dGVyLmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdG5hdmlnYXRpb250ZXN0LmM6CgkqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzoKCSogZ3N0L2Zsdi9nc3RmbHZtdXguYzoKCSogZ3N0L2dvb20vZ3N0Z29vbS5jOgoJKiBnc3QvaWN5ZGVtdXgvZ3N0aWN5ZGVtdXguYzoKCSogZ3N0L2lzb21wNC9nc3RxdG11eC5jOgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSogZ3N0L2xhdy9hbGF3LWRlY29kZS5jOgoJKiBnc3QvbGF3L2FsYXctZW5jb2RlLmM6CgkqIGdzdC9sYXcvbXVsYXctZGVjb2RlLmM6CgkqIGdzdC9sYXcvbXVsYXctZW5jb2RlLmM6CgkqIGdzdC9tdWx0aXBhcnQvbXVsdGlwYXJ0ZGVtdXguYzoKCSogZ3N0L211bHRpcGFydC9tdWx0aXBhcnRtdXguYzoKCSogZ3N0L3JlcGxheWdhaW4vZ3N0cmd2b2x1bWUuYzoKCSogZ3N0L3J0cC9nc3Rhc3Rlcmlza2gyNjMuYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHB0ZGVtdXguYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzc3JjZGVtdXguYzoKCSogZ3N0L3J0c3AvZ3N0cnRwZGVjLmM6CgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSogZ3N0L3NoYXBld2lwZS9nc3RzaGFwZXdpcGUuYzoKCSogZ3N0L3ZpZGVvY3JvcC9nc3Rhc3BlY3RyYXRpb2Nyb3AuYzoKCSogZ3N0L3dhdmVuYy9nc3R3YXZlbmMuYzoKCSogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6CgkqIGdzdC95NG0vZ3N0eTRtZW5jb2RlLmM6CgkgIGFkZCBwYXJlbnQgdG8gcGFkIGZ1bmN0aW9ucwoKMjAxMS0xMS0xNyAwODoyNDo1OCArMDEwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9jYWlyby9nc3R0ZXh0b3ZlcmxheS5jOgoJKiBnc3QvYXZpL2dzdGF2aW11eC5jOgoJKiBnc3QvZmx2L2dzdGZsdm11eC5jOgoJKiBnc3QvaW50ZXJsZWF2ZS9pbnRlcmxlYXZlLmM6CgkqIGdzdC9pc29tcDQvZ3N0cXRtdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJKiBnc3QvbXVsdGlwYXJ0L211bHRpcGFydG11eC5jOgoJKiBnc3Qvc21wdGUvZ3N0c21wdGUuYzoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlci5jOgoJICBjb2xsZWN0cGFkczogcG9ydCBBUEkgY2hhbmdlcwoKMjAxMS0xMS0xNiAxOTowODowNSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvc3BlZXgvZ3N0c3BlZXhlbmMuYzoKCSAgc3BlZXhlbmM6IGVuc3VyZSB0byBmcmVlIGFsbG9jYXRlZCBwYWRkZWQgZGF0YQoKMjAxMS0xMS0xNiAxODo1NzozOCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvc3BlZXgvZ3N0c3BlZXhlbmMuYzoKCSAgc3BlZXhlbmM6IHJlc2V0IHRhZyBzZXR0ZXIgaW50ZXJmYWNlIHdoZW4gYXBwcm9wcmlhdGUKCjIwMTEtMTEtMTYgMTg6NTc6MjEgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2VuYy5jOgoJICBmbGFjZW5jOiByZXNldCB0YWcgc2V0dGVyIGludGVyZmFjZSB3aGVuIGFwcHJvcHJpYXRlCgoyMDExLTExLTE2IDE3OjU0OjQ5ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc3NyY2RlbXV4LmM6CgkgIGFkZCBwYXJlbnQgdG8gaW50ZXJuYWwgbGlua3MKCjIwMTEtMTEtMTYgMTc6Mjc6MTMgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvYW5ub2RleC9nc3RjbW1sZGVjLmM6CgkqIGV4dC9qcGVnL2dzdGpwZWdkZWMuYzoKCSogZXh0L2pwZWcvZ3N0anBlZ2VuYy5jOgoJKiBleHQvcHVsc2UvcHVsc2VhdWRpb3NpbmsuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9meGJhc2VmaXJmaWx0ZXIuYzoKCSogZ3N0L2F1cGFyc2UvZ3N0YXVwYXJzZS5jOgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdHB1c2hmaWxlc3JjLmM6CgkqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzoKCSogZ3N0L2dvb20vZ3N0Z29vbS5jOgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSogZ3N0L2xhdy9hbGF3LWRlY29kZS5jOgoJKiBnc3QvbGF3L2FsYXctZW5jb2RlLmM6CgkqIGdzdC9sYXcvbXVsYXctZGVjb2RlLmM6CgkqIGdzdC9sYXcvbXVsYXctZW5jb2RlLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNzcmNkZW11eC5jOgoJKiBnc3QvcnRzcC9nc3RydHBkZWMuYzoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJKiBnc3Qvc2hhcGV3aXBlL2dzdHNoYXBld2lwZS5jOgoJKiBnc3QvdmlkZW9jcm9wL2dzdGFzcGVjdHJhdGlvY3JvcC5jOgoJKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzoKCSAgYWRkIHBhcmVudCB0byBxdWVyeSBmdW5jdGlvbgoKMjAxMS0xMS0xNiAxMjo0MDowOCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9nb29tL2dzdGdvb20uYzoKCSAgZ29vbTogdXBkYXRlIGZvciByZW5hbWVkIGZsYWdzCgkgIFVzZSB0aGUgX2NoZWNrX3JlY29uZmlndXJlIG1ldGhvZCBpbnN0ZWFkIG9mIGNoZWNraW5nIGZsYWdzLgoJICBEb24ndCBuZWVkIHRvIHJlZiB0aGUgcGFyZW50IGFueW1vcmUsIGNvcmUgZG9lcyB0aGF0LgoKMjAxMS0xMS0xNSAxODowMToxNiArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mbGFjL2dzdGZsYWNlbmMuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RmbGFjcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RtcGVnYXVkaW9wYXJzZS5jOgoJKiBnc3QvYXVwYXJzZS9nc3RhdXBhcnNlLmM6CgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSogZ3N0L2RlYnVndXRpbHMvcHJvZ3Jlc3NyZXBvcnQuYzoKCSogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOgoJKiBnc3QvZmx2L2dzdGZsdm11eC5jOgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6CgkgIF9xdWVyeV9wZWVyXyooKSAtPiBfcGVlcl9xdWVyeV8qKCkKCjIwMTEtMTEtMTUgMTc6NDU6MzEgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcHVsc2UvcHVsc2VhdWRpb3NpbmsuYzoKCSAgX2FjY2VwdF9jYXBzKCkgLT4gX3F1ZXJ5X2FjY2VwdF9jYXBzKCkKCjIwMTEtMTEtMTUgMTc6Mjk6NDUgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvanBlZy9nc3RqcGVnZW5jLmM6CgkqIGV4dC9wdWxzZS9wdWxzZWF1ZGlvc2luay5jOgoJKiBleHQvcHVsc2UvcHVsc2VzcmMuYzoKCSogZ3N0L2dvb20vZ3N0Z29vbS5jOgoJKiBnc3QvbGF3L2FsYXctZGVjb2RlLmM6CgkqIGdzdC9sYXcvYWxhdy1lbmNvZGUuYzoKCSogZ3N0L2xhdy9tdWxhdy1kZWNvZGUuYzoKCSogZ3N0L2xhdy9tdWxhdy1lbmNvZGUuYzoKCSogZ3N0L3J0cC9nc3RydHBnNzI2cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2M3BwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjY0cGF5LmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJKiBnc3Qvc2hhcGV3aXBlL2dzdHNoYXBld2lwZS5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkgIF9wZWVyX2dldF9jYXBzKCkgLT4gX3BlZXJfcXVlcnlfY2FwcygpCgoyMDExLTExLTE1IDE2OjU1OjI3ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2pwZWcvZ3N0anBlZ2RlYy5jOgoJKiBleHQvcHVsc2UvcHVsc2VhdWRpb3NpbmsuYzoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJKiBleHQvcHVsc2UvcHVsc2VzcmMuYzoKCSogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b2F1ZGlvc2luay5jOgoJKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvYXVkaW9zcmMuYzoKCSogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b3ZpZGVvc2luay5jOgoJKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvdmlkZW9zcmMuYzoKCSogZ3N0L3ZpZGVvY3JvcC9nc3Rhc3BlY3RyYXRpb2Nyb3AuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJKiB0ZXN0cy9pY2xlcy9nZGtwaXhidWZzaW5rLXRlc3QuYzoKCSAgdXBkYXRlIGZvciBfZ2V0X2NhcHMoKSAtPiBfcXVlcnlfY2FwcygpCgoyMDExLTExLTE1IDE2OjMxOjQ1ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2pwZWcvZ3N0anBlZ2RlYy5jOgoJKiBleHQvanBlZy9nc3RqcGVnZW5jLmM6CgkqIGdzdC9sYXcvYWxhdy1kZWNvZGUuYzoKCSogZ3N0L2xhdy9hbGF3LWVuY29kZS5jOgoJKiBnc3QvbGF3L211bGF3LWRlY29kZS5jOgoJKiBnc3QvbGF3L211bGF3LWVuY29kZS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGFjM3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDRncGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXA0dnBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wYXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wdnBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHRoZW9yYXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHZvcmJpc3BheS5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOgoJKiBnc3Qvc2hhcGV3aXBlL2dzdHNoYXBld2lwZS5jOgoJKiBnc3QvdmlkZW9jcm9wL2dzdGFzcGVjdHJhdGlvY3JvcC5jOgoJICBjaGFuZ2UgZ2V0Y2FwcyB0byBxdWVyeQoJICBDaGFpbiB1cCBldmVudCBmdW5jdGlvbiBpbiBwYXlsb2FkZXJzLgoKMjAxMS0xMS0xNSAxMzoyMzo1NiArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmxhYy9nc3RmbGFjZGVjLmM6CgkgIGZsYWNkZWM6IGZpeCBzcHVyaW91cyB0aW1lc3RhbXAgZGlzY29udGludWl0eQoJICBXZSBuZWVkIHRvIHRlbGwgdGhlIGJhc2UgY2xhc3MgdGhhdCB3ZSdyZSBkcm9wcGluZyBidWZmZXJzLAoJICBzbyBpdCBkcm9wcyB0aGUgaW5wdXQgdGltZXN0YW1wcyBjb3JyZXNwb25kaW5nIHRvIHRoZXNlLgoJICBPdGhlcndpc2UsIHRoZSBmaXJzdCBhY3R1YWwgYXVkaW8gYnVmZmVycyB3ZSBvdXRwdXQgd2lsbCBiZQoJICBzdGFtcGVkIHdpdGggdGhvc2UgLSBHU1RfQ0xPQ0tfVElNRVNUQU1QX05PTkUuIFRoYXQgbWlzbWF0Y2gKCSAgYmV0d2VlbiBpbnB1dCBidWZmZXIgY291bnQgYW5kIG91dHB1dCBidWZmZXIgY291bnQgd2lsbCBzdGF5CgkgIHdoaWxlIHBsYXlpbmcuIFdpdGggZW5vdWdoIGhlYWRlcnMgYW5kIGxvbmcgZW5vdWdoIGJ1ZmZlcgoJICBkdXJhdGlvbnMsIHRoZSBzaW5rIHdpbGwgaGF2ZSBwbGF5ZWQgZW5vdWdoIGJlZm9yZSByZWNlaXZpbmcKCSAgdGhlIGZpcnN0IHZhbGlkIHRpbWVzdGFtcCAodXN1YWxseSAwKSwgYW5kIHdpbGwgdHJpZ2dlciBhbgoJICBhdWRpYmxlIGRpc2NvbnRpbnVpdHkuCgoyMDExLTExLTE0IDE1OjM0OjU3ICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZmxhY3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZmxhY3BhcnNlLmg6CgkgIGZsYWNwYXJzZTogZGV0ZWN0IHdoZW4gYSBmaWxlIGxpZXMgYWJvdXQgZml4ZWQgYmxvY2sgc2l6ZQoJICBJZiB0aGUgc2FtcGxlL2Jsb2NrIG51bWJlciBoYXBwZW5zIHRvIGJlIHRoZSBzYW1lIGFzIHRoZSBibG9jawoJICBzaXplLCB3ZSBhc3N1bWUgdmFyaWFibGUgYmxvY2sgc2l6ZSwgYW5kIHRodXMgY291bnRlcnMgaW4gc2FtcGxlcwoJICBpbiB0aGUgaGVhZGVycy4gVGhpcyBjYW4gb25seSBnZXQgdXMgYSBmYWxzZSBwb3NpdGl2ZSBmb3IgYSBibG9jawoJICBzaXplIG9mIDEsIHdoaWNoIGlzIGludmFsaWQuIFdlIGNhbiBnZXQgZmFsc2UgbmVnYXRpdmVzIG1vcmUKCSAgb2Z0ZW4gdGhvdWdoIChlZywgaWYgbm90IHN0YXJ0aW5nIGF0IHRoZSBzdGFydCBvZiB0aGUgc3RyZWFtKSwKCSAgYnV0IHRoZW4gdGhhdCdzIGFscmVhZHkgR0lHTy4KCjIwMTEtMDktMDIgMTk6MjA6MDcgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6CgkgIGdzdHJ0cHNlc3Npb246IEFkZCBzcGVjaWFsIG1vZGUgdG8gdXNlIEZJUiBhcyByZXBhaXIgYXMgR29vZ2xlIGRvZXMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1ODQxOQoKMjAxMS0wOS0wMSAxNzo0NzozOCAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmg6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5oOgoJICBydHBzZXNzaW9uOiBTZW5kIEZJUiByZXF1ZXN0cyBpbiByZXNwb25zZSB0byBrZXkgdW5pdCByZXF1ZXN0cyB3aXRoIGFsbC1oZWFkZXJzPVRSVUUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1ODQxOQoKMjAxMS0wOS0wMSAxNjoyNToyMSAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmg6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5oOgoJICBydHBzZXNzaW9uOiBQdXQgdGhlIFBMSSByZXF1ZXN0cyBpbiBlYWNoIFJUUFNvdXJjZQoJICBBbHNvIHJlZmFjdG9yIGEgYml0IGFuZCBwdXQgYWxsIHRoZSBrZXlmcmFtZSByZXF1ZXN0IGNvZGUgaW4gb25lCgkgIHBsYWNlIGluc2lkZSBydHBzZXNzaW9uLmMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1ODQxOQoKMjAxMS0wOC0zMSAxNDozNTozMyAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSAgcnRwc2Vzc2lvbjogSGFjayB0byBGSVIgYmVjYXVzZSBHb29nbGUgZG9lc24ndCBzZXQgdGhlIHNlbmRlciBzc3JjIGNvcnJlY3RseQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjU4NDE5CgoyMDExLTA4LTMwIDE5OjA2OjEzIC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmg6CgkgIHJ0cHNlc3Npb246IFByb2Nlc3MgcmVjZWl2ZWQgRnVsbCBJbnRyYSBSZXF1ZXN0cwoJICBQcm9jZXNzIEZJUiByZXF1ZXN0cyBhY2NvcmRpbmcgdG8gUkZDIDUxMDQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1ODQxOQoKMjAxMS0xMS0wNyAxODo0MzoyNiArMDAwMCAgU2pvZXJkIFNpbW9ucyA8c2pvZXJkLnNpbW9uc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIHY0bDI6IFNldCBwaXhlbC1hc3BlY3QtcmF0aW8gdG8gMS8xCgkgIFdlIGRvbid0IGN1cnJlbnRseSBzdXBwb3J0IHNldHRpbmcgdGhlIHBpeGVsLWFzcGVjdC1yYXRpbyBmcm9tIFY0TDIuIFNvCgkgIHNpbXBseSBzZXQgaXQgdG8gYmUgMS8xIGluIHRoZSBjYXBzIHRvIHByZXZlbnQgbmVnb3RpYXRpb24gZmFpbHVyZXMgd2hlbgoJICBmaXhhdGluZyB0byB3ZWlyZCB2YWx1ZXMgKGUuZy4gd2hlbiB0aGUgZG93bnN0cmVhbSBjYXBzIGhhcwoJICBwaXhlbC1hc3BlY3QtcmF0aW8gPSBbIE1JTiwgTUFYIF0gKQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjYzNTgwCgoyMDExLTExLTE0IDA5OjM5OjE1ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2lkM2RlbXV4LmM6CgkgIHRlc3RzOiBtYWtlIGlkM2RlbXV4IHRlc3QgY29tcGlsZQoJICBTdGlsbCBmYWlscyB0aG91Z2guCgoyMDExLTExLTEyIDE1OjQyOjI3ICswMjAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogdGVzdHMvZXhhbXBsZXMvc2hhcGV3aXBlL3NoYXBld2lwZS1leGFtcGxlLmM6CgkqIHRlc3RzL2V4YW1wbGVzL3Y0bDIvY2FtY3RybC5jOgoJICBjb250cm9sbGVyOiBubyBuZWVkIHRvIGV4cGxpY2l0ZWx5IGFkZCBjb250cm9sbGVkIHByb3BlcnRpZXMgYW55bW9yZQoKMjAxMS0xMS0xMyAyMzo0Mjo0NCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOgoJKiBnc3QvZGVidWd1dGlscy9nc3RwdXNoZmlsZXNyYy5jOgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkqIGdzdC91ZHAvZ3N0dWRwc2luay5jOgoJKiBnc3QvdWRwL2dzdHVkcHNyYy5jOgoJKiBzeXMvdjRsMi9nc3R2NGwycmFkaW8uYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJICBVcGRhdGUgZm9yIEdzdFVSSUhhbmRsZXIgZ2V0X3Byb3RvY29scygpIGNoYW5nZXMKCjIwMTEtMTEtMTMgMTg6NTA6NTEgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0cHVzaGZpbGVzcmMuYzoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJKiBnc3QvdWRwL2dzdHVkcHNpbmsuYzoKCSogZ3N0L3VkcC9nc3R1ZHBzcmMuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnJhZGlvLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzoKCSAgc291cCwgcHVzaGZpbGUsIHJ0c3AsIHVkcCwgdjRsMjogdXBkYXRlIGZvciBHc3RVUklIYW5kbGVyIEFQSSBjaGFuZ2VzCgoyMDExLTExLTExIDE5OjI0OjI3ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSAgTWVyZ2UgYnJhbmNoICdtYXN0ZXInIGludG8gMC4xMQoJICBDb25mbGljdHM6CgkgIGV4dC9wdWxzZS9wdWxzZWF1ZGlvc2luay5jCgoyMDExLTExLTExIDE5OjIxOjUwICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBnNzI5cGF5LmM6CgkgIHJ0cDogZml4IGZvciBydHAgaGVhZGVyIGNoYW5nZXMKCjIwMTEtMTEtMTEgMTA6MDY6MjUgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9wdWxzZS9wdWxzZWF1ZGlvc2luay5jOgoJICBwdWxzZWF1ZGlvc2luazogZml4IGNhcHMgbGVhawoKMjAxMS0xMS0xMSAxNDo1NTo0OCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkgIHB1bHNlc2luazogZG8gbm90IGxlYWsgY2xpZW50bmFtZSB3aGVuIHNldHRpbmcgdXAgcHJvcGVydHkKCjIwMTEtMTEtMTEgMTg6MDU6MzUgKzA1MzAgIEFydW4gUmFnaGF2YW4gPGFydW4ucmFnaGF2YW5AY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3B1bHNlL3B1bHNlYXVkaW9zaW5rLmM6CgkgIHB1bHNlOiBDaGFpbiB1cCBkaXNwb3NlKCkgaW4gcHVsc2VhdWRpb3NpbmsKCjIwMTEtMTEtMTEgMTI6MzI6NDEgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaXNvbXA0L2dzdHJ0cHhxdGRlcGF5Lmg6CgkqIGdzdC9ydHAvZm52MWhhc2guaDoKCSogZ3N0L3J0cC9nc3RydHBMMTZkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cEwxNnBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGFjM2RlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwYWMzcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwYW1yZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBhbXJwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBidmRlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwYnZwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBjZWx0ZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBjZWx0cGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwZHZkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGR2cGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwZzcyMmRlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwZzcyMnBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjNkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjNwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBnNzI2ZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBnNzI2cGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwZzcyOWRlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwZzcyOXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGdzbWRlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwZ3NtcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwZ3N0ZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBnc3RwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBoMjYzZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBoMjYzcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2M3BkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNwcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2NGRlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2NHBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGlsYmNkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGlsYmNwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBqMmtkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGoya3BheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGpwZWdkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGpwZWdwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBtcDFzZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBtcDJ0ZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBtcDJ0cGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwbXA0YWRlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwbXA0YXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cG1wNGdkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cG1wNGdwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBtcDR2ZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBtcDR2cGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwbXBhZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBtcGFwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBtcGFyb2J1c3RkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cG1wdmRlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwbXB2cGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwcGNtYWRlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwcGNtYXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cHBjbXVkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cHBjbXVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBxY2VscGRlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwcWRtZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBzaXJlbmRlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwc2lyZW5wYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBzcGVleGRlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwc3BlZXhwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBzdjN2ZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHB0aGVvcmFkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cHRoZW9yYXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cHZvcmJpc2RlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwdm9yYmlzcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwdnJhd2RlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwdnJhd3BheS5oOgoJICB1cGRhdGUgZm9yIGJhc2UgY2xhc3MgcmVuYW1lCgoyMDExLTExLTExIDEyOjI1OjAxICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2lzb21wNC9nc3RydHB4cXRkZXBheS5jOgoJKiBnc3QvaXNvbXA0L2dzdHJ0cHhxdGRlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwTDE2ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBMMTZkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cEwxNnBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cEwxNnBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGFjM2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwYWMzZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBhYzNwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBhYzNwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBhbXJkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGFtcmRlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwYW1ycGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwYW1ycGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwYnZkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGJ2ZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBidnBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGJ2cGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwY2VsdGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwY2VsdGRlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwY2VsdHBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGNlbHRwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBkdmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZHZkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGR2cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZHZwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBnNzIyZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnNzIyZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBnNzIycGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZzcyMnBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjNkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjNkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjNwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnNzIzcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwZzcyNmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZzcyNmRlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwZzcyNnBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjZwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBnNzI5ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnNzI5ZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBnNzI5cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZzcyOXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGdzbWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZ3NtZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBnc21wYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnc21wYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBnc3RkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGdzdGRlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwZ3N0cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZ3N0cGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2M2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2M2RlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2M3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBoMjYzcGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2M3BkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNwcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2M3BwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBoMjY0ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjY0ZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBoMjY0cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2NHBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGlsYmNkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGlsYmNkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGlsYmNwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBpbGJjcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwajJrZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBqMmtkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGoya3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGoya3BheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGpwZWdkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGpwZWdkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGpwZWdwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBqcGVncGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwbXAxc2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXAxc2RlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwbXAydGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXAydGRlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwbXAydHBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wMnRwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBtcDRhZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDRhZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBtcDRhcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXA0YXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cG1wNGdkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wNGdkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cG1wNGdwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDRncGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwbXA0dmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXA0dmRlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwbXA0dnBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wNHZwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBtcGFkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wYWRlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwbXBhcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXBhcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwbXBhcm9idXN0ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcGFyb2J1c3RkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cG1wdmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXB2ZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBtcHZwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcHZwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBwY21hZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBwY21hZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBwY21hcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwcGNtYXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cHBjbXVkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHBjbXVkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cHBjbXVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBwY211cGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwcWNlbHBkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHFjZWxwZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBxZG1kZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHFkbWRlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwc2lyZW5kZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHNpcmVuZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBzaXJlbnBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHNpcmVucGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwc3BlZXhkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHNwZWV4ZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBzcGVleHBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHNwZWV4cGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwc3YzdmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwc3YzdmRlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwdGhlb3JhZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHB0aGVvcmFkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cHRoZW9yYXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHRoZW9yYXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cHZvcmJpc2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwdm9yYmlzZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHB2b3JiaXNwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHB2b3JiaXNwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHB2cmF3ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHB2cmF3ZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHB2cmF3cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwdnJhd3BheS5oOgoJICB1cGRhdGUgZm9yIGJhc2UgY2xhc3MgcmVuYW1lCgoyMDExLTExLTExIDEyOjAxOjE3ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2phY2svZ3N0amFja2F1ZGlvc2luay5jOgoJKiBleHQvamFjay9nc3RqYWNrYXVkaW9zaW5rLmg6CgkqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NyYy5jOgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkgIHVwZGF0ZSBmb3IgYXVkaW9iYXNlKiByZW5hbWUKCjIwMTEtMTEtMTEgMTE6NTM6NDUgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvamFjay9nc3RqYWNrYXVkaW9zaW5rLmM6CgkqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NpbmsuaDoKCSogZXh0L2phY2svZ3N0amFja2F1ZGlvc3JjLmM6CgkqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NyYy5oOgoJKiBleHQvcHVsc2UvcHVsc2VhdWRpb3NpbmsuYzoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmg6CgkqIGV4dC9wdWxzZS9wdWxzZXNyYy5jOgoJICBhdWRpbzogdXBkYXRlIGZvciBiYXNlIGNsYXNzIHJlbmFtZQoKMjAxMS0xMS0xMSAxMTozMzo0NCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9wdWxzZS9wdWxzZXV0aWwuaDoKCSogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIuaDoKCSAgZml4IGZvciByaW5nYnVmZmVyIHJlbmFtZQoKMjAxMS0xMS0xMSAxMToyNDowMCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NpbmsuYzoKCSogZXh0L2phY2svZ3N0amFja2F1ZGlvc3JjLmM6CgkqIGV4dC9qYWNrL2dzdGphY2tyaW5nYnVmZmVyLmg6CgkqIGV4dC9wdWxzZS9wdWxzZWF1ZGlvc2luay5jOgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkqIGV4dC9wdWxzZS9wdWxzZXNyYy5jOgoJKiBleHQvcHVsc2UvcHVsc2V1dGlsLmM6CgkqIGV4dC9wdWxzZS9wdWxzZXV0aWwuaDoKCSAgdXBkYXRlIGZvciByaW5nYnVmZmVyIGNoYW5nZQoKMjAxMS0xMS0xMCAyMzoxNTozMCArMDIwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIHRlc3RzL2V4YW1wbGVzL3NoYXBld2lwZS9zaGFwZXdpcGUtZXhhbXBsZS5jOgoJKiB0ZXN0cy9leGFtcGxlcy92NGwyL2NhbWN0cmwuYzoKCSAgY29udHJvbGxlcjogcG9ydCBhcGkgY2hhbmdlcwoKMjAxMS0xMS0xMCAyMzowOToyMyArMDIwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9hbm5vZGV4L2dzdGFubm9kZXguYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9jaGViYmFuZC5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb2NoZWJsaW1pdC5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb2Z4YmFzZWlpcmZpbHRlci5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb3Bhbm9yYW1hLmM6CgkqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyLmM6CgkgIHZhcmlvdXM6IGFkZCBtaXNzaW5nIGluY2x1ZGVzCgoyMDExLTExLTEwIDIxOjM1OjI0ICswMTAwICBSZW7DqSBTdGFkbGVyIDxyZW5lLnN0YWRsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJICBwdWxzZXNpbms6IGZpeCBjb21waWxhdGlvbiB3aXRoIHB1bHNlYXVkaW8gMC45CgoyMDExLTExLTEwIDE4OjMyOjU4ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZsYWMvZ3N0ZmxhY3RhZy5jOgoJKiBnc3QvYXVwYXJzZS9nc3RhdXBhcnNlLmM6CgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSogZ3N0L2dvb20vZ3N0Z29vbS5jOgoJKiBnc3QvaWN5ZGVtdXgvZ3N0aWN5ZGVtdXguYzoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkqIGdzdC9tdWx0aXBhcnQvbXVsdGlwYXJ0ZGVtdXguYzoKCSogZ3N0L3J0cC9nc3RydHBoMjYzcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2M3BwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjY0cGF5LmM6CgkqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOgoJICB1cGRhdGUgZm9yIGFkYXB0ZXIgYXBpIGNoYW5nZXMKCjIwMTEtMTEtMTAgMTc6MjM6NDcgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cEwxNnBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGFjM3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGFtcnBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGJ2cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwY2VsdHBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGR2cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZzcyMnBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjNwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnNzI2cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZzcyOXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGdzbXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGdzdHBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjYzcHBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBpbGJjcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwajJrcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwanBlZ3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wMnRwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDRhcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXA0Z3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wNHZwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcGFwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcHZwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBwY21hcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwcGNtdXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHNpcmVucGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwc3BlZXhwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHB0aGVvcmFkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHRoZW9yYXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHZvcmJpc2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwdm9yYmlzcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwdnJhd2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwdnJhd3BheS5jOgoJICB1cGRhdGUgZm9yIGNoYW5nZWQgYmFzZSBjbGFzc2VzCgoyMDExLTExLTEwIDEzOjUwOjM0ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJICBmaXggZm9yIGF1ZGlvIGNsb2NrIGNoYW5nZQoKMjAxMS0xMS0xMCAxMTowMzoxOCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9hYWxpYi9nc3RhYXNpbmsuYzoKCSogZXh0L2pwZWcvZ3N0anBlZ2RlYy5jOgoJKiBleHQvcHVsc2UvcHVsc2VzcmMuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJKiBzeXMveGltYWdlL2dzdHhpbWFnZXNyYy5jOgoJICB1cGRhdGUgZm9yIHJlbW92ZWQgZml4YXRlIGZ1bmN0aW9uCgoyMDExLTExLTA5IDE3OjQwOjEwICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSAgTWVyZ2UgYnJhbmNoICdtYXN0ZXInIGludG8gMC4xMQoKMjAxMS0xMS0wOSAxNzozODowMyArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9wdWxzZS9wdWxzZWF1ZGlvc2luay5jOgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkgIHVwZGF0ZXMgZm9yIG5ldyBhY2NlcHRjYXBzIHF1ZXJ5CgoyMDExLTExLTA4IDE1OjM1OjI2ICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgYXZpZGVtdXg6IGZpeCB3cm9uZyBzdHJpZGUgd2hlbiBpbnZlcnRpbmcgdW5jb21wcmVzc2VkIHZpZGVvCgkgIFN1Y2ggZnJhbWVzIGhhdmUgYSBzdHJpZGUgbXVsdGlwbGUgb2YgNCwgc2VlCgkgIGh0dHA6Ly9sc2N1YmUub3JnL3BpcGVybWFpbC9mZm1wZWctaXNzdWVzLzIwMTAtQXByaWwvMDEwMjQ3Lmh0bWwuCgkgIFRoaXMgc2hvd2VkIHVwIG9uIGEgc2FtcGxlIHVzaW5nIGEgb2RkIHdpZHRoIG9mIDI0IGJpdCB2aWRlby4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1MjI4OAoKMjAxMS0xMS0wOSAxMjoyNTowMSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2M3BwYXkuYzoKCSAgaDI2M3BwYXk6IHJlcG9ydCB0byAwLjExCgoyMDExLTExLTA5IDEyOjE4OjAxICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSAgTWVyZ2UgYnJhbmNoICdtYXN0ZXInIGludG8gMC4xMQoJICBDb25mbGljdHM6CgkgIGV4dC9mbGFjL2dzdGZsYWNkZWMuYwoJICBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5jCgkgIGdzdC9pc29tcDQvcXRkZW11eC5jCgoyMDExLTExLTA5IDExOjU2OjA3ICswMTAwICBUaGlqcyBWZXJtZWlyIDx0aGlqc3Zlcm1laXJAZ21haWwuY29tPgoKCSogZ3N0L2R0bWYvZ3N0ZHRtZnNyYy5jOgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mc3JjLmM6CgkgIGR0bWY6IGZpeCBjb21waWxlciB3YXJuaW5nIGZvciB1bmluaXRpYWxpemVkIHZhbHVlcwoKMjAxMS0xMS0wOSAxMTo1MzowMSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9hbm5vZGV4L2dzdGNtbWxkZWMuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9meGJhc2VmaXJmaWx0ZXIuYzoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6CgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzoKCSAgcmVtb3ZlIHF1ZXJ5IHR5cGVzCgoyMDExLTExLTA5IDEwOjMyOjA2ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBtaW5pbWFsIHNhbml0eSBjaGVjayBvbiBjcmVhdGlvbiBkYXRldGltZQoKMjAxMS0xMS0wNCAxNzo1NDowNCAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9kdG1mL2dzdGR0bWZzcmMuYzoKCSogZ3N0L2R0bWYvZ3N0ZHRtZnNyYy5oOgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mc3JjLmM6CgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZzcmMuaDoKCSAgZHRtZnNyYzogUmVqZWN0IHN0YXJ0L3N0b3AgcmVxdWVzdHMgdGhhdCBjb21lIG91dCBvZiBvcmRlcgoKMjAxMS0xMC0yOSAxODoyNDoyNiArMDIwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9kdG1mL2dzdGR0bWZzcmMuYzoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZnNyYy5jOgoJICBkdG1mOiBQb3N0IG1lc3NhZ2VzIHdoZW4gc3RhcnRpbmcgdG8gc2VuZC9yZWNlaXZlIERUTUYKCSAgVGhpcyB3YXksIHRoZSBVSSBjYW4gZGlzcGxheSB0aGUgRFRNRiBldmVudHMgYXMgdGhleSBhcyBiZWluZyBzZW50LgoKMjAxMS0xMS0wMiAxMjo1ODoxMiAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2M3BwYXkuYzoKCSAgcnRwaDI2M3BwYXk6IFJldHVybiB0aGUgc2luayBwYWQgdGVtcGxhdGUgYXMgc2luayBjYXBzLCBub3QgdGhlIHNyYydzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD01Nzc3ODQKCjIwMDktMDMtMTUgMTk6MjY6NDggLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2M3BwYXkuYzoKCSAgcnRwaDI2M3BwYXk6IEFsc28gaW1wbGVtZW50IHNpemUvZnJhbWVyYXRlIHJlc3RyaWN0aW9ucyBpbiBnZXRjYXBzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD01Nzc3ODQKCjIwMDktMDMtMDQgMjA6NTA6MTkgLTA1MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2M3BwYXkuYzoKCSAgcnRwaDI2M3BwYXk6IEltcGxlbWVudCBnZXRjYXBzIGZvbGxvd2luZyBSRkMgNDYyOSwgcGlja3MgdGhlIHJpZ2h0IGFubmV4ZXMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTU3Nzc4NAoKMjAxMS0xMS0wOCAxNDozMTozNCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogYWxzbyBzZXQgc2VnbWVudCBzdG9wIGF0IHN0YXJ0dXAgcmF0aGVyIHRoYW4gb25seSBwb3N0IHNlZWsKCSAgLi4uIHNvIGFzIHRvIGVuc3VyZSBjb25zaXN0ZW50IHBsYXliYWNrIHdpdGggb3Igd2l0aG91dCBzZWVrLCBlc3BlY2lhbGx5CgkgIGluIHByZXNlbmNlIG9mIHNvbWUgYm9ndXMgZWRpdCBsaXN0IGVudHJpZXMuCgoyMDExLTExLTA4IDExOjE4OjA2ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3B1bHNlL3B1bHNlYXVkaW9zaW5rLmM6CgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgdXBkYXRlIGZvciBwcm9iZSBhcGkgY2hhbmdlcwoKMjAxMS0xMS0wOCAwODo1MDoxOSArMDEwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9nb29tL2dzdGdvb20uYzoKCSAgZ29vbTogY29kZSBjbGVhbnVwcwoJICBNb3ZlIHZhcmlhYmxlcyB0byB0aGUgc2NvcGUgd2hlcmUgdGhleSBhcmUgbmVlZGVkLiBVc2Ugb3VyIG1hY3JvcyBhbmQgZnVuY3Rpb25zCgkgIG1vcmUuCgoyMDExLTExLTA4IDA4OjQ5OjA1ICswMTAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2dvb20vZ3N0Z29vbS5jOgoJICBnb29tOiBhZGQgYSBzaW5rX3F1ZXJ5IHRvIGVhdCBhbGxvY2F0aW9uIHF1ZXJpZXMKCSAgV2Ugc2hvdWxkIG5vdCBmb3J3YXJkIGFsbG9jYXRpb24gcXVlcmllcyBmb3IgYXVkaW8gdG8gdGhlIHZpZGVvIHNpbmsuCgoyMDExLTExLTAyIDE3OjAyOjU0ICswMDAwICBSYXVsIEd1dGllcnJleiBTZWdhbGVzIDxyZ3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2Zsdi9NYWtlZmlsZS5hbToKCSAgZ3N0L2Zsdi86IGFkZCBhbWZkZWZzLmggdG8gbm9pbnN0X0hFQURFUlMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY2MzMzNAoKMjAxMS0xMS0wNyAxNzoxNDoxNyArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9wdWxzZS9wdWxzZWF1ZGlvc2luay5jOgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIGZpeCBmb3IgcHJvYmUgdXBkYXRlcwoKMjAxMS0xMC0wMyAxNzo1MDo0MyArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6CgkqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguaDoKCSAgZmx2ZGVtdXg6IGRldGVjdCBsYXJnZSBwdHMgZ2FwcyBhbmQgcmVzeW5jCgkgIFNob3VsZCB3b3JrIG9uIG11bHRpcGxlIGdhcHMsIGJ1dCB0ZXN0ZWQgb24gb25seSBvbmUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MzE0MzAKCjIwMTEtMDgtMjIgMTA6NDA6NDUgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5jOgoJICBmbGFjZGVjOiBmaXggb2ZmIGJ5IG9uZSBiZXR3ZWVuIGdyYW5wb3MgYW5kIGxhc3Rfc3RvcAoKMjAxMS0xMC0wNyAxOTo0MTozNSArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5jOgoJICBmbGFjcGFyc2U6IGZpeCBsYXN0IGZyYW1lIHRpbWVzdGFtcCBpbiBmaXhlZCBibG9jayBzaXplIG1vZGUKCSAgVGhlIGxhc3QgYmxvY2sgbWF5IGhhdmUgYSBkaWZmZXJlbnQgYmxvY2sgc2l6ZSwgc28gd2Ugc2hvdWxkIG5vdAoJICB1c2UgaXQgdG8gc2NhbGUgb3Igd2UnbGwgZW5kIHVwIHdpdGggYSB3cm9uZyB0aW1lc3RhbXAuCgkgIFNlZSBjb21tZW50IGFuZCBxdW90ZSBmcm9tIHRoZSBGTEFDIGZvcm1hdCBkb2N1bWVudGF0aW9uIGluIHRoZSBjb2RlLgoJICBGaXhlcyBsb29wZWQgcGxheWJhY2sgb2YgRkxBQyBmaWxlcyAodmlhIGFib3V0LXRvLWZpbmlzaCkuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NjEyMTUKCjIwMTEtMTAtMjcgMTU6NTI6NDcgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2NhaXJvL2dzdHRleHRvdmVybGF5LmM6CgkqIGV4dC9jYWlyby9nc3R0ZXh0b3ZlcmxheS5oOgoJICBjYWlyb3RleHRvdmVybGF5OiBhZGQgYSAnc2lsZW50JyBwcm9wZXJ0eSB0byBza2lwIHJlbmRlcmluZwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjYyODU2CgoyMDExLTExLTA3IDEyOjAwOjEyICswMTAwICBSZW7DqSBTdGFkbGVyIDxyZW5lLnN0YWRsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL2VibWwtd3JpdGUuYzoKCSAgbWF0cm9za2FtdXg6IGZpeCByZWdyZXNzaW9uIGNhdXNpbmcgbWFsZm9ybWVkIGZpbGVzCgkgIFRoaXMgd2FzIGNhdXNlZCBieSBtZSBpbiAxYjIxM2QuIEl0IHNlZW1zIEkgd2FzIHRvbyBmb2N1c2VkIG9uIDAuMTEgd2hlbiBJIGRpZAoJICB0aGlzIGFuZCB0ZXN0ZWQgdGhlIHdyb25nIGJyYW5jaC4KCSAgVGhlIHByb2JsZW0gd2FzIHJlcG9ydGVkIGJ5IEFsZXhleSBGaXNoZXIuCgoyMDExLTExLTA0IDE4OjQxOjM2ICswMTAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L2Fubm9kZXgvZ3N0Y21tbGRlYy5oOgoJKiBnc3QvYWxwaGEvTWFrZWZpbGUuYW06CgkqIGdzdC9hbHBoYS9nc3RhbHBoYS5jOgoJKiBnc3QvYWxwaGEvZ3N0YWxwaGEuaDoKCSogZ3N0L2F1ZGlvZngvTWFrZWZpbGUuYW06CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvYW1wbGlmeS5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb2NoZWJiYW5kLmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvY2hlYmxpbWl0LmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvZHluYW1pYy5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb2VjaG8uYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9maXJmaWx0ZXIuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9meC5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb2Z4YmFzZWZpcmZpbHRlci5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb2Z4YmFzZWlpcmZpbHRlci5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb2lpcmZpbHRlci5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb2ludmVydC5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb2thcmFva2UuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9wYW5vcmFtYS5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb3dzaW5jYmFuZC5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb3dzaW5jbGltaXQuYzoKCSogZ3N0L2VmZmVjdHYvTWFrZWZpbGUuYW06CgkqIGdzdC9lZmZlY3R2L2dzdGFnaW5nLmM6CgkqIGdzdC9lZmZlY3R2L2dzdGRpY2UuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0b3AuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0cXVhcmsuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0cmFkaW9hYy5jOgoJKiBnc3QvZWZmZWN0di9nc3RyZXYuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0cmlwcGxlLmM6CgkqIGdzdC9lZmZlY3R2L2dzdHZlcnRpZ28uYzoKCSogZ3N0L2VxdWFsaXplci9NYWtlZmlsZS5hbToKCSogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIuYzoKCSogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIuaDoKCSogZ3N0L3NoYXBld2lwZS9NYWtlZmlsZS5hbToKCSogZ3N0L3NoYXBld2lwZS9nc3RzaGFwZXdpcGUuYzoKCSogZ3N0L3NtcHRlL01ha2VmaWxlLmFtOgoJKiBnc3Qvc21wdGUvZ3N0c21wdGVhbHBoYS5jOgoJKiBnc3QvdmlkZW9ib3gvTWFrZWZpbGUuYW06CgkqIGdzdC92aWRlb2JveC9nc3R2aWRlb2JveC5jOgoJKiBnc3QvdmlkZW9maWx0ZXIvTWFrZWZpbGUuYW06CgkqIGdzdC92aWRlb2ZpbHRlci9nc3RnYW1tYS5jOgoJKiBnc3QvdmlkZW9maWx0ZXIvZ3N0dmlkZW9iYWxhbmNlLmM6CgkqIGdzdC92aWRlb2ZpbHRlci9nc3R2aWRlb2ZsaXAuYzoKCSogZ3N0L3ZpZGVvZmlsdGVyL3BsdWdpbi5jOgoJKiBnc3QvdmlkZW9taXhlci9NYWtlZmlsZS5hbToKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlci5jOgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyMi5jOgoJKiBzeXMvdjRsMi9NYWtlZmlsZS5hbToKCSogc3lzL3Y0bDIvZ3N0djRsMi5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0Lmg6CgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzoKCSogdGVzdHMvZXhhbXBsZXMvc2hhcGV3aXBlL3NoYXBld2lwZS1leGFtcGxlLmM6CgkqIHRlc3RzL2V4YW1wbGVzL3Y0bDIvY2FtY3RybC5jOgoJICBjb250cm9sbGVyOiBwb3J0IHRvIG5ldyBjb250cm9sbGVyIGxvY2F0aW9uIGFuZCBhcGkKCjIwMTEtMTEtMDQgMTc6Mzk6MTUgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIG1vcmUgdGVtcGxhdGUgZml4ZXMKCjIwMTEtMTEtMDQgMTY6MjE6MTMgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcHVsc2UvcHVsc2VhdWRpb3NpbmsuYzoKCSAgcHVsc2VhdWRpb3Npbms6IG1vcmUgMC4xMSBmaXhpbmcKCSAgTWFrZSBzdXJlIHRoZSBjYXBzIGV2ZW50IGdldHMgdG8gdGhlIHNpbmsuCgoyMDExLTExLTA0IDE1OjM1OjQyICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3B1bHNlL3B1bHNlYXVkaW9zaW5rLmM6CgkgIHB1bHNlYXVkaW9zaW5rOiBwb3J0IHNvbWUgbW9yZQoJICBSZW5hbWUgZGVjb2RlYmluMiAtPiBkZWNvZGViaW4gc29tZSBtb3JlCgkgIENsZWFudXAgdXAgc2lua3BhZCBldmVudCBoYW5kbGluZwoKMjAxMS0xMS0wNCAxMzo1NjowNiArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9wdWxzZS9wdWxzZWF1ZGlvc2luay5jOgoJICBwdWxzZWF1ZGlvc2luazogcG9ydCBzb21lIG1vcmUgdG8gMC4xMQoJICBXZSBtdXN0IG5vdCBmb3J3YXJkIHRoZSBjYXBzIGV2ZW50LiBpbnN0ZWFkIHdlIHdpbGwgZGVjaWRlIHdoYXQgdG8gZG8gd2hlbiB0aGUKCSAgcGFkIGJsb2NrIGlzIHRha2VuLgoJICBVc2UgZGVjb2RlYmluIGluc3RlYWQgb2YgZGVjb2RlYmluMgoKMjAxMS0xMS0wNCAxMzoxMjozNyArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSogZ3N0L2ludGVybGVhdmUvZGVpbnRlcmxlYXZlLmM6CgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSogZ3N0L211bHRpcGFydC9tdWx0aXBhcnRkZW11eC5jOgoJKiBnc3QvbXVsdGlwYXJ0L211bHRpcGFydGRlbXV4Lmg6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNzcmNkZW11eC5jOgoJICBtb3JlIHRlbXBsYXRlIGZpeGVzCgoyMDExLTExLTA0IDExOjU4OjIyICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F2aS9nc3RhdmltdXguYzoKCSogZ3N0L2ludGVybGVhdmUvaW50ZXJsZWF2ZS5jOgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSogZ3N0L21hdHJvc2thL3dlYm0tbXV4LmM6CgkqIGdzdC9tdWx0aXBhcnQvbXVsdGlwYXJ0bXV4LmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBwdGRlbXV4LmM6CgkqIGdzdC9ydHNwL2dzdHJ0cGRlYy5jOgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXZpbXV4LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2ludGVybGVhdmUuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvbWF0cm9za2FtdXguYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcXRtdXguYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwYmluLmM6CgkgIG1ha2UgJXUgaW4gYWxsIHJlcXVlc3QgcGFkIHRlbXBsYXRlcwoKMjAxMS0xMS0wNCAxMTowMTowMSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkgIE1lcmdlIGJyYW5jaCAnbWFzdGVyJyBpbnRvIDAuMTEKCSAgQ29uZmxpY3RzOgoJICBnc3QvcnRwL2dzdHJ0cHZyYXdkZXBheS5jCgoyMDExLTExLTA0IDEwOjMyOjQ2ICswMTAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L2FwZXRhZy9nc3RhcGVkZW11eC5jOgoJICBQb3J0IGFwZWRlbXV4CgoyMDExLTExLTAzIDIzOjI4OjMxICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwdnJhd2RlcGF5LmM6CgkgIHJ0cDogdXNlIEdMaWIncyBHX0JJR19FTkRJQU4gZGVmaW5lIGluc3RlYWQgb2YgQklHX0VORElBTgoJICBGaXhlcyBjb21waWxlciB3YXJuaW5nIG9uIG1pbmd3MzIKCjIwMTEtMTEtMDMgMTY6NDM6MDAgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBjb21tb246CgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L3J0cG1hbmFnZXIvTWFrZWZpbGUuYW06CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5oOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuaDoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc3RhdHMuaDoKCSogZ3N0L3VkcC9NYWtlZmlsZS5hbToKCSogZ3N0L3VkcC9nc3RkeW51ZHBzaW5rLmM6CgkqIGdzdC91ZHAvZ3N0dWRwLmM6CgkqIGdzdC91ZHAvZ3N0dWRwc3JjLmM6CgkgIHVwZGF0ZSBmb3IgbmV3IG5ldCBsaWJyYXJ5CgoyMDExLTExLTAyIDEyOjA5OjIwICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2Fubm9kZXgvZ3N0Y21tbGRlYy5jOgoJKiBleHQvZmxhYy9nc3RmbGFjdGFnLmM6CgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6CgkqIGV4dC9zcGVleC9nc3RzcGVleGRlYy5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdG1wZWdhdWRpb3BhcnNlLmM6CgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0dGFnaW5qZWN0LmM6CgkqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzoKCSogZ3N0L3JlcGxheWdhaW4vZ3N0cmdhbmFseXNpcy5jOgoJKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzoKCSAgdGFnczogdXBkYXRlIGZvciB0YWcgQVBJIHJlbW92YWwKCjIwMTEtMTEtMDIgMTA6NDA6MTIgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJICBNZXJnZSBicmFuY2ggJ21hc3RlcicgaW50byAwLjExCgoyMDExLTEwLTMxIDAyOjQwOjA4ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuYzoKCSogZ3N0L3VkcC9nc3RkeW51ZHBzaW5rLmM6CgkqIGdzdC91ZHAvZ3N0dWRwc3JjLmM6CgkgIHVwZGF0ZSBmb3IgbmV0YnVmZmVyIGFwaSBjaGFuZ2UKCjIwMTEtMTAtMzEgMDI6MzU6NTEgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkqIGdzdC91ZHAvZ3N0ZHludWRwc2luay5jOgoJKiBnc3QvdWRwL2dzdHVkcC5jOgoJKiBnc3QvdWRwL2dzdHVkcHNyYy5jOgoJICB1cGRhdGUgZm9yIG5ldGFkZHJlc3MgY2hhbmdlCgoyMDExLTEwLTMxIDAyOjI0OjA0ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2VmZmVjdHYvZ3N0d2FycC5jOgoJKiBnc3QvcnRwL2dzdHJ0cHZyYXdkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHZyYXdkZXBheS5oOgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5oOgoJKiBzeXMvdjRsMi9nc3R2NGwyc2luay5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkgIHVwZGF0ZSBmb3IgbWV0YSBhcGkgY2hhbmdlCgoyMDExLTEwLTI5IDA5OjI5OjI3ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2lzb21wNC9nc3RxdG1vb3ZyZWNvdmVyLmM6CgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgdXBkYXRlIGZvciBuZXcgdGFzayBhcGkKCjIwMTEtMTAtMjkgMDk6MDk6NDUgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2NHBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHRoZW9yYWRlcGF5LmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuYzoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIHN0cnVjdHVyZTogZml4IGZvciBhcGkgdXBkYXRlCgoyMDExLTEwLTI5IDA4OjI1OjI3ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuYzoKCSAgYnVmZmVybGlzdDogdXBkYXRlIGZvciBuZXcgQVBJCgoyMDExLTExLTAxIDAwOjQwOjQwICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9wdWxzZS9wdWxzZWF1ZGlvc2luay5jOgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIFVwZGF0ZSBmb3IgcGFkIEFQSSBjaGFuZ2VzCgkgIEdzdFByb2JlVHlwZSwgR3N0UHJvYmVSZXR1cm4gYW5kIEdzdEFjdGl2YXRlTW9kZSAtPiBHc3RQYWQqCgoyMDExLTEwLTMxIDE4OjM4OjU1ICswMTAwICBSZW7DqSBTdGFkbGVyIDxyZW5lLnN0YWRsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYzNwYXJzZS5jOgoJICBhYzNwYXJzZTogZml4IG9idmlvdXMgY3Jhc2gKCjIwMTEtMTAtMzEgMTY6MTg6MzIgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2lzb21wNC9nc3RxdG11eC5jOgoJICBxdG11eDogYXZvaWQgc2hvcnRjdXQgZXZhbHVhdGlvbiB3aGVuIGFkZGluZyBwYWlyZWQgbXA0IHRhZwoJICBGaXhlcyAocGFydCBvZikgIzYzODcxMS4KCjIwMTEtMTAtMzEgMTU6NDM6MjUgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJICBtYXRyb3NrYW11eDogZG8gbm90IHVzZSB1bm9mZmljYWwgVl9NSlBFRyBjb2RlYyBpZAoJICAuLi4gYnV0IGFzIG5vdCBzcGVjJ2VkIGVzcGVjaWFsbHksIGNvbnNpZGVyIGl0IGEgVmZXIGNvbXBhdGliaWxpdHkgY2FzZS4KCSAgRml4ZXMgIzY1OTgzNy4KCjIwMTEtMTAtMzAgMTk6MzA6MTQgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2VuYy5oOgoJICBmbGFjZW5jOiByZW1vdmUgZGVhZCBjb2RlIGZyb20gaGVhZGVyCgkgIFdlIHJlcXVpcmUgYSBuZXctZW5vdWdoIGxpYmZsYWMgdGhhdCB0aGlzIGNvbmRpdGlvbiB3aWxsIG5ldmVyIGFwcGx5LgoKMjAxMS0xMC0zMCAxOTowOTowMyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmxhYy9nc3RmbGFjZGVjLmM6CgkgIGZsYWNkZWM6IHBhcnNlIHN0cmVhbSBoZWFkZXJzIGZyb20gY2FwcyBpbiBzZXRfZm9ybWF0IGZ1bmN0aW9uCgkgIE5vdCB0aGF0IHRoaXMgc2VlbXMgdG8gYmUgYWN0dWFsbHkgbmVlZGVkLCBsaWJmbGFjIGhhcHBpbHkgZGVjb2RlcwoJICBzdHVmZiBldmVuIGlmIHdlIGp1c3QgZHJvcCBhbGwgaGVhZGVycyBhbmQgbmV2ZXIgZmVlZCBpdCB0byB0aGUKCSAgbGlicmFyeS4KCjIwMTEtMTAtMzAgMTg6NDk6MjEgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5jOgoJKiBleHQvZmxhYy9nc3RmbGFjZGVjLmg6CgkgIGZsYWNkZWM6IGRvbid0IGV4dHJhY3QgbWV0YWRhdGEsIGxlYXZlIHRoYXQgdG8gdGhlIHBhcnNlciBvciBjb250YWluZXIKCjIwMTEtMTAtMzAgMTg6NDU6NDUgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5jOgoJKiBleHQvZmxhYy9nc3RmbGFjZGVjLmg6CgkgIGZsYWNkZWM6IHdlIGV4cGVjdCBmcmFtZWQgaW5wdXQgbm93LCByZW1vdmUgc29tZSBtb3JlIGNvZGUKCjIwMTEtMTAtMDkgMTY6MTg6MDkgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5jOgoJKiBleHQvZmxhYy9nc3RmbGFjZGVjLmg6CgkgIGZsYWNkZWM6IG5haXZlIHBvcnQgdG8gR3N0QXVkaW9EZWNvZGVyCgkgIFRoaXMgd291bGQgcHJvYmFibHkgaGF2ZSBiZWVuIHRvbyBpbnZhc2l2ZSB0byBkbyBpbiB0aGUgMC4xMAoJICBicmFuY2gsIHdpdGggYWxsIHRoZSBwdWxsLW1vZGUgYW5kIHBhcnNlciBoYW5kbGluZyBjb2RlIGluCgkgIHRoZXJlLgoKMjAxMS0xMC0zMCAxMTo0NDo1MyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvYW5ub2RleC9nc3RjbW1sZGVjLmM6CgkqIGV4dC9mbGFjL2dzdGZsYWNkZWMuYzoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2VuYy5jOgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOgoJKiBleHQvc3BlZXgvZ3N0c3BlZXhkZWMuYzoKCSogZXh0L3NwZWV4L2dzdHNwZWV4ZW5jLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZmxhY3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0bXBlZ2F1ZGlvcGFyc2UuYzoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJKiBnc3QvYXZpL2dzdGF2aXN1YnRpdGxlLmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdHRhZ2luamVjdC5jOgoJKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6CgkqIGdzdC9pY3lkZW11eC9nc3RpY3lkZW11eC5jOgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSogZ3N0L211bHRpcGFydC9tdWx0aXBhcnRkZW11eC5jOgoJKiBnc3QvcmVwbGF5Z2Fpbi9nc3RyZ2FuYWx5c2lzLmM6CgkqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOgoJICBleHQsIGdzdDogdXBkYXRlIGZvciB0YWdsaXN0IEFQSSBjaGFuZ2VzCgoyMDExLTEwLTMwIDExOjQxOjMyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICB0ZXN0czogZml4IGNvbXBpbGF0aW9uIG9mIGF1ZGlvIHRlc3RzIGluIHVuaW5zdGFsbGVkIHNldHVwCgoyMDExLTEwLTI4IDIxOjI2OjMzICswMjAwICBSZW7DqSBTdGFkbGVyIDxyZW5lLnN0YWRsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvZngvYXVkaW9wYW5vcmFtYS5jOgoJICBhdWRpb3Bhbm9yYW1hOiBzaW1wbGlmeSBnZXRfdW5pdF9zaXplCgoyMDExLTEwLTI4IDIxOjE5OjQyICswMjAwICBSZW7DqSBTdGFkbGVyIDxyZW5lLnN0YWRsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXVkaW9lY2hvLmM6CgkgIHRlc3RzOiBhdWRpb2VjaG86IHBvcnQgdG8gMC4xMQoKMjAxMS0xMC0yOCAyMToxODozMyArMDIwMCAgUmVuw6kgU3RhZGxlciA8cmVuZS5zdGFkbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb2Z4L2F1ZGlvZWNoby5jOgoJICBhdWRpb2VjaG86IGZpeCBpbnRlcm5hbCBidWZmZXIgc2l6ZSBjYWxjdWxhdGlvbgoKMjAxMS0xMC0yOCAxNDowNTo0OCArMDIwMCAgUmVuw6kgU3RhZGxlciA8cmVuZS5zdGFkbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvY2hlYmJhbmQuYzoKCSAgdGVzdHM6IGF1ZGlvY2hlYmJhbmQ6IHBvcnQgdG8gMC4xMQoKMjAxMS0xMC0yOCAxNjo1MjowOCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkgIE1lcmdlIGJyYW5jaCAnbWFzdGVyJyBpbnRvIDAuMTEKCjIwMTEtMTAtMjggMTU6MDg6MjUgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcHVsc2UvcHVsc2VhdWRpb3NpbmsuYzoKCSAgcHVsc2VhdWRpb3Npbms6IGZpeCBwb3J0aW5nIGVycm9ycwoJICBUaGUgcHJvYmVzIHdlcmUgcG9ydGVkIHdyb25nbHkgYW5kIGNhdXNlZCBkZWFkbG9ja3MuCgoyMDExLTEwLTI4IDA5OjU3OjM2ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9qcGVnL2dzdGpwZWdkZWMuYzoKCSAganBlZ2RlYzogYWRkIHNvZi1tYXJrZXIgdG8gdGVtcGxhdGUgY2Fwcywgc28gd2UgZG9uJ3QgZ2V0IHBsdWdnZWQgZm9yIGxvc3NsZXNzIGpwZWcKCSAganBlZ2RlYyAodXNpbmcgbGlianBlZyA2LjIvOCkgY2FuJ3QgZGVjb2RlIHNvbWUgbG9zc2xlc3MgdHlwZXMgb2YgSlBFRy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTU1NjY0OAoKMjAxMS0xMC0yOCAxMzowNjoyMCArMDIwMCAgUmVuw6kgU3RhZGxlciA8cmVuZS5zdGFkbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvY2hlYmxpbWl0LmM6CgkgIHRlc3RzOiBhdWRpb2NoZWJsaW1pdDogcG9ydCB0byAwLjExCgoyMDExLTEwLTI4IDEzOjAyOjU2ICswMjAwICBSZW7DqSBTdGFkbGVyIDxyZW5lLnN0YWRsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvZngvYXVkaW9meGJhc2VpaXJmaWx0ZXIuYzoKCSAgYXVkaW9meDogZml4IGNyYXNoIGluIHByb2Nlc3MoKQoKMjAxMS0xMC0yOCAxMTo0ODozMSArMDIwMCAgUmVuw6kgU3RhZGxlciA8cmVuZS5zdGFkbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvYW1wbGlmeS5jOgoJICB0ZXN0czogYXVkaW9hbXBsaWZ5OiBwb3J0IHRvIDAuMTEKCjIwMTEtMTAtMjggMTI6NTE6MzEgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcHVsc2UvcHVsc2VhdWRpb3NpbmsuYzoKCSAgcHVsc2U6IGZpeCBjaGVjayBmb3IgZW1wdHkgY2FwcwoKMjAxMS0xMC0yOCAxMjozMDozMyArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogZWxhYm9yYXRlIHNvbWUgZGVidWcgc3RhdGVtZW50cwoKMjAxMS0xMC0xMSAyMDo1Njo1MSArMDQwMCAgU3RhcyBTZXJnZWV2IDxzdHNwQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzoKCSAgZmx2ZGVtdXg6IGJlIGNhcmVmdWwgd2l0aCBuZWdhdGl2ZSBjdHMKCSAgRml4ZXMgIzY2MTQ3Ny4KCjIwMTEtMTAtMDYgMTM6MDQ6NTQgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thZGVtdXg6IHR1bmUgbm9uLXVwZGF0ZSBzZWVrIGhhbmRsaW5nIGNhc2VzCgkgIEZpeGVzICM2NjEwNDkuCgoyMDExLTEwLTI4IDExOjQ2OjQwICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSAgTWVyZ2UgYnJhbmNoICdtYXN0ZXInIGludG8gMC4xMQoJICBDb25mbGljdHM6CgkgIGdzdC92aWRlb21peGVyL2dzdGNvbGxlY3RwYWRzMi5jCgoyMDExLTEwLTI4IDExOjE2OjM4ICswMjAwICBSZW7DqSBTdGFkbGVyIDxyZW5lLnN0YWRsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvZngvYXVkaW9keW5hbWljLmM6CgkgIGF1ZGlvZHluYW1pYzogZG9uJ3Qgc2V0IHByb2Nlc3MgZnVuY3Rpb24gdG9vIGVhcmx5CgkgIEdzdEF1ZGlvSW5mbyBhbmQgR3N0QXVkaW9GaWx0ZXIgaGF2ZSBiZWVuIGNoYW5nZWQgc28gdGhhdCB0aGlzIGNvZGUgZG9lc24ndAoJICBjcmFzaCBhbnltb3JlIHdoZW4gYSBwcm9wZXJ0eSBpcyBzZXQgaW4gTlVMTCBzdGF0ZS4KCjIwMTEtMTAtMjggMTA6NDI6MDQgKzAyMDAgIFJlbsOpIFN0YWRsZXIgPHJlbmUuc3RhZGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdWRpb2R5bmFtaWMuYzoKCSAgdGVzdHM6IGF1ZGlvZHluYW1pYzogcG9ydCB0byAwLjExCgoyMDExLTEwLTI4IDAwOjI0OjE0ICswMjAwICBSZW7DqSBTdGFkbGVyIDxyZW5lLnN0YWRsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvc3BlY3RydW0uYzoKCSAgdGVzdHM6IHNwZWN0cnVtOiBwb3J0IHRvIDAuMTEKCjIwMTEtMTAtMjcgMjM6NTc6MTcgKzAyMDAgIFJlbsOpIFN0YWRsZXIgPHJlbmUuc3RhZGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdWRpb3Bhbm9yYW1hLmM6CgkgIHRlc3RzOiBhdWRpb3Bhbm9yYW1hOiBwb3J0IHRvIDAuMTEKCjIwMTEtMTAtMjcgMjM6NTY6MTIgKzAyMDAgIFJlbsOpIFN0YWRsZXIgPHJlbmUuc3RhZGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9meC9hdWRpb3Bhbm9yYW1hLmM6CgkgIGF1ZGlvcGFub3JhbWE6IGZpeCBnZXRfdW5pdF9zaXplCgoyMDExLTEwLTI4IDEwOjQwOjM2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIyLmM6CgkgIHZpZGVvbWl4ZXIyOiBVc2UgdGhlIGNsaXAgZnVuY3Rpb24gaW5zdGVhZCBvZiB0aGUgcHJlcGFyZV9idWZmZXIgZnVuY3Rpb24KCjIwMTEtMTAtMjggMDk6MDU6MjcgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIHJ0cG1hbmFnZXIsIHY0bDI6IGZpeCBjb21waWxlciB3YXJuaW5ncyBhZnRlciBnc3RfY2Fwc19uZXdfc2ltcGxlKCkgY2hhbmdlCgoyMDExLTEwLTI4IDA5OjAxOjU3ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBmaXggY29tcGlsZXIgd2FybmluZ3MgYWZ0ZXIgZ3N0X2NhcHNfbmV3X3NpbXBsZSgpIGNoYW5nZQoKMjAxMS0xMC0yOCAwOTozNjoxNyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9taXhlci9NYWtlZmlsZS5hbToKCSogZ3N0L3ZpZGVvbWl4ZXIvZ3N0Y29sbGVjdHBhZHMyLmM6CgkqIGdzdC92aWRlb21peGVyL2dzdGNvbGxlY3RwYWRzMi5oOgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyMi5oOgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyMnBhZC5oOgoJICB2aWRlb21peGVyMjogVXNlIGNvbGxlY3RwYWRzMiBmcm9tIGNvcmUKCjIwMTEtMTAtMjcgMTk6Mzk6MjAgKzAyMDAgIFJlbsOpIFN0YWRsZXIgPHJlbmUuc3RhZGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvd2F2ZW5jL01ha2VmaWxlLmFtOgoJKiBnc3Qvd2F2ZW5jL2dzdHdhdmVuYy5jOgoJICB3YXZlbmM6IHBvcnQgdG8gMC4xMSByYXcgYXVkaW8gY2FwcwoKMjAxMS0xMC0yNyAxOTowNjowNiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkgIE1lcmdlIGJyYW5jaCAnbWFzdGVyJyBpbnRvIDAuMTEKCSAgQ29uZmxpY3RzOgoJICBnc3QvZmx2L2dzdGZsdm11eC5jCgoyMDExLTEwLTI3IDE5OjAwOjUyICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYWNwYXJzZS5jOgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzoKCSogZ3N0L2Zsdi9nc3RmbHZtdXguYzoKCSogZ3N0L2ljeWRlbXV4L2dzdGljeWRlbXV4LmM6CgkqIGdzdC9ydHAvUkVBRE1FOgoJKiBnc3QvcnRwL2dzdHJ0cGFjM2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwY2VsdGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2NGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2NHBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHNwZWV4ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHB0aGVvcmFkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHZvcmJpc2RlcGF5LmM6CgkgIG1ha2Ugc29tZSBtb3JlIHRoaW5ncyBjb21waWxlIGFnYWluCgoyMDExLTEwLTI3IDE2OjA4OjIyICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSAgTWVyZ2UgYnJhbmNoICdtYXN0ZXInIGludG8gMC4xMQoJICBDb25mbGljdHM6CgkgIGV4dC9wdWxzZS9wdWxzZWF1ZGlvc2luay5jCgkgIGV4dC9wdWxzZS9wdWxzZXNpbmsuYwoKMjAxMS0xMC0yNyAxNjowMzoxNyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjY0cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwdGhlb3JhZGVwYXkuYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIGZpeCBjb21waWxhdGlvbgoKMjAxMS0xMC0yOCAwMDo0MTo0NSArMTEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmM6CgkgIGRlaW50ZXJsYWNlOiBEb24ndCBwb2ludGxlc3NseSBob2xkIG9iamVjdCBsb2NrIG92ZXIgY2FwcyBvcGVyYXRpb25zCgkgIEF2b2lkcyBhIGRlYWRsb2NrIHdoZW4gZ2V0Y2FwcyBpcyByZWN1cnNpdmUgZHVlIHRvIHRoZSBnZXRjYXBzIGJlaW5nCgkgIHJlZmxlY3RlZCB1cHN0cmVhbS9kb3duc3RyZWFtLiBUaGUgbG9jayBpc24ndCBhY3R1YWxseSBwcm90ZWN0aW5nCgkgIGFueXRoaW5nIGhlcmUuCgoyMDExLTEwLTI3IDAwOjM3OjAzICsxMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBnc3QvZmx2L2FtZmRlZnMuaDoKCSogZ3N0L2Zsdi9nc3RmbHZtdXguYzoKCSAgZmx2bXV4OiBhZGQgc29tZSBjb21tZW50cyBhbmQgZGVmaW5lcyB0byBjbGFyaWZ5IGNvZGUuCgoyMDExLTEwLTEwIDE1OjM2OjE0ICswMjAwICBSZW7DqSBTdGFkbGVyIDxyZW5lLnN0YWRsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL2VibWwtd3JpdGUuYzoKCSAgbWF0cm9za2E6IHJlZmFjdG9yIGVibWwtd3JpdGUgdG8gYmUgbW9yZSAwLjExIGZyaWVuZGx5CgkgIFN3aXRjaGluZyB0byBhIG1vcmUgMC4xMS1mcmllbmRseSBwYXR0ZXJuLCB3aGVyZSBnZXR0aW5nIHRoZSBidWZmZXIncyBkYXRhCgkgIHBvaW50ZXIgYW5kIHNldHRpbmcgdGhlIHNpemUgbWFueSB0aW1lcyBpcyBsZXNzIG5hdHVyYWwuIFRoaXMgaXMgb2YgY291cnNlIGluCgkgIHByZXBhcmF0aW9uIHRvIHRoZSB1cGNvbWluZyBwb3J0IG9mIHRoZSBwbHVnaW4uCgoyMDExLTEwLTExIDIxOjQ1OjQ2ICswMjAwICBSZW7DqSBTdGFkbGVyIDxyZW5lLnN0YWRsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL2VibWwtd3JpdGUuYzoKCSAgbWF0cm9za2E6IHJlbW92ZSBzdGFsZSBmbG9hdGNhc3QgaW5jbHVkZQoJICBHRE9VQkxFX1RPX0JFIHdhcyBtb3ZlZCB0byBjb3JlIGEgbG9uZyB0aW1lIGFnby4KCjIwMTEtMTAtMTEgMjI6MTA6MjcgKzAyMDAgIFJlbsOpIFN0YWRsZXIgPHJlbmUuc3RhZGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkgIG1hdHJvc2thbXV4OiBmaXggcG9zc2libGUgY3Jhc2ggd2l0aCBtYWxmb3JtZWQgZGlyYWMgY29kZWNfZGF0YQoJICBTaW5jZSBzaXplIGlzIHVuc2lnbmVkLCB3ZSBuZWVkIHRvIHNhZmVndWFyZCBhZ2FpbnN0IHdyYXBwaW5nIGJlbG93IHplcm8uCgoyMDExLTEwLTIxIDIyOjMzOjM0ICswMjAwICBSZW7DqSBTdGFkbGVyIDxyZW5lLnN0YWRsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIuYzoKCSAgZXF1YWxpemVyOiByZW1vdmUgYXZvaWRhYmxlIGNhbGwgdG8gZ3N0X29iamVjdF9zZXRfbmFtZQoKMjAxMS0xMC0yMSAyMjozMjozOCArMDIwMCAgUmVuw6kgU3RhZGxlciA8cmVuZS5zdGFkbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5jOgoJICBkZWludGVybGFjZTogcmVtb3ZlIGF2b2lkYWJsZSBjYWxsIHRvIGdzdF9vYmplY3Rfc2V0X25hbWUKCjIwMTEtMTAtMjEgMTQ6NTE6MjMgKzAyMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvcHVsc2UvcHVsc2VtaXhlcmN0cmwuaDoKCSogZ3N0L3ZpZGVvZmlsdGVyL2dzdHZpZGVvYmFsYW5jZS5jOgoJKiBzeXMvZGlyZWN0c291bmQvZ3N0ZGlyZWN0c291bmRzaW5rLmM6CgkqIHN5cy9vc3MvZ3N0b3NzbWl4ZXIuaDoKCSogc3lzL29zczQvb3NzNC1taXhlci5jOgoJKiBzeXMvb3NzNC9vc3M0LXNvdXJjZS5jOgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4YXVkaW9lbGVtZW50LmM6CgkqIHN5cy9zdW5hdWRpby9nc3RzdW5hdWRpb21peGVyY3RybC5oOgoJKiBzeXMvdjRsMi9nc3R2NGwyY29sb3JiYWxhbmNlLmg6CgkqIHN5cy92NGwyL2dzdHY0bDJyYWRpby5jOgoJKiBzeXMvdjRsMi9nc3R2NGwydHVuZXIuaDoKCSogc3lzL3Y0bDIvZ3N0djRsMnZpZGVvb3ZlcmxheS5jOgoJKiBzeXMvdjRsMi9nc3R2NGwydmlkZW9vdmVybGF5Lmg6CgkqIHN5cy92NGwyL2dzdHY0bDJ2aWRvcmllbnQuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnZpZG9yaWVudC5oOgoJICBpbnRlcmZhY2VzOiBjbGVhbiB1cCB0aGUgdXNlIG9mIGlmYWNlIGFuZCBjbGFzcy9rbGFzcwoKMjAxMS0xMC0yMSAxMTozNzowNSArMDEwMCAgQ2hyaXN0aWFuIEZyZWRyaWsgS2FsYWdlciBTY2hhbGxlciA8Y2hyaXN0aWFuLnNjaGFsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1wbHVnaW5zLWdvb2Quc3BlYy5pbjoKCSAgVXBkYXRlIHNwZWMgZmlsZSBzbyBpdHMgcGFyYWxlbC1pbnN0YWxsYWJsZSBhbmQgb25seSB0cmllcyB0byBwYWNrYWdlIHBvcnRlZCBwbHVnaW5zCgoyMDExLTEwLTE2IDIwOjMwOjI1ICswMjAwICBSZW7DqSBTdGFkbGVyIDxtYWlsQHJlbmVzdGFkbGVyLmRlPgoKCSogZXh0L2xpYnBuZy9nc3RwbmdlbmMuYzoKCSAgcG5nZW5jOiBpbmNyZWFzZSBhcmJpdHJhcnkgcmVzb2x1dGlvbiBsaW1pdHMKCSAgQXBwYXJlbnRseSBsaWJwbmcgY2FuIHRlY2huaWNhbGx5IGRvIHVwIHRvIDJeMzEtMSByb3dzIGFuZCBjb2x1bW5zLiBIb3dldmVyIGl0CgkgIGltcG9zZXMgYW4gKGFyYml0cmFyeSkgZGVmYXVsdCBsaW1pdCBvZiAxIG1pbGxpb24gKHRoYXQgY291bGQgdGhlb3JldGljYWxseSBiZQoJICBsaWZ0ZWQgYnkgdXNpbmcgc29tZSBhZGRpdGlvbmFsIEFQSSkuCgkgIE1vdmVkIGFycmF5IGFsbG9jYXRpb24gdG8gdGhlIGhlYXAgbm93LgoKMjAxMS0xMC0xNiAyMDoyNTo0MSArMDIwMCAgUmVuw6kgU3RhZGxlciA8bWFpbEByZW5lc3RhZGxlci5kZT4KCgkqIGV4dC9saWJwbmcvZ3N0cG5nZW5jLmM6CgkgIHBuZ2VuYzogZG9uJ3QgdW5jb25kaXRpb25hbGx5IGFsbG9jYXRlIDQwOTYgcG9pbnRlcnMgb24gdGhlIHN0YWNrCgkgIEluc3RlYWQgYWxsb2NhdGUgYXMgbWFueSBhcyBuZWVkZWQgKG9uIHRoZSBzdGFjayBzdGlsbCkuCgoyMDExLTEwLTE2IDIwOjA1OjI4ICswMjAwICBSZW7DqSBTdGFkbGVyIDxtYWlsQHJlbmVzdGFkbGVyLmRlPgoKCSogZXh0L2xpYnBuZy9nc3RwbmdlbmMuYzoKCSAgcG5nZW5jOiBlbnN1cmUgc2V0Y2FwcyB3YXMgY2FsbGVkIGJlZm9yZSBjaGFpbiBmdW5jdGlvbgoJICBUaGlzIGlzIG5lZWRlZCB0byBwcm9wZXJseSBlcnJvciBvdXQgZm9yIGUuZy4gImZha2VzcmMgISBwbmdlbmMgISBmYWtlc2luayIuCgoyMDExLTEwLTE2IDE5OjQ0OjI3ICswMjAwICBSZW7DqSBTdGFkbGVyIDxtYWlsQHJlbmVzdGFkbGVyLmRlPgoKCSogZXh0L2xpYnBuZy9nc3RwbmdlbmMuYzoKCSAgcG5nZW5jOiB2YWxpZGF0ZSBpbnB1dCBidWZmZXIgc2l6ZQoJICBKdXN0IGZvciBzYWZldHk7IG9mIGNvdXJzZSBzdWNoIG1pc21hdGNoIHJlcHJlc2VudHMgYSBidWcgaW4gYW5vdGhlciBlbGVtZW50LgoKMjAxMS0xMC0xNiAxOTo0MToyOCArMDIwMCAgUmVuw6kgU3RhZGxlciA8bWFpbEByZW5lc3RhZGxlci5kZT4KCgkqIGV4dC9saWJwbmcvTWFrZWZpbGUuYW06CgkqIGV4dC9saWJwbmcvZ3N0cG5nZW5jLmM6CgkqIGV4dC9saWJwbmcvZ3N0cG5nZW5jLmg6CgkgIHBuZ2VuYzogbWFrZSBzZXRjYXBzIG1vcmUgcm9idXN0LCB1c2UgZ3N0dmlkZW8gZnVuY3Rpb25zCgkgIEEgc2V0Y2FwcyBmdW5jdGlvbiBuZWVkcyB0byBhY3R1YWxseSB2ZXJpZnkgdGhlIGNhcHMgY2FyZWZ1bGx5LiBJbiB0aGlzIGNhc2UsCgkgIGl0IHdhcyBwb3NzaWJsZSB0byBlLmcuIGxpbmsgYSB2aWRlbyBkZWNvZGVyIHdpdGggWVVWK1JHQiB0ZW1wbGF0ZSBjYXBzIHRvCgkgIHBuZ2VuYy4gIFRoYXQgd291bGQgY2F1c2UgYSBjcmFzaCB3aGVuIHRoZSBkZWNvZGVyIHB1c2hlcyBhIFlVViBidWZmZXIuIFNhbWUKCSAgdGhpbmcgd2hlbiBwdXNoaW5nIGEgdmFsaWQgYnVmZmVyIHRoYXQgZXhjZWVkcyB0aGUgcmVzb2x1dGlvbiBsaW1pdHMuCgkgIEFsc28sIG1pc3NpbmcgZnJhbWVyYXRlIGNhcHMgZmllbGQgd291bGQgY2F1c2UgYSBnbGliIGNyaXRpY2FsIHdhcm5pbmcgZHVlIHRvCgkgIGludmFsaWQgR1ZhbHVlLiBUaGlzIGZhaWxzIGhhcmQgbm93LgoKMjAxMS0xMC0yMSAxMDowMTo0MyArMDIwMCAgUmVuw6kgU3RhZGxlciA8cmVuZS5zdGFkbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1yZWFkLWNvbW1vbi5jOgoJICBlYm1sOiBzbWFsbCBjb3JyZWN0aW9uIHRvIHByZXZpb3VzIGNvbW1pdAoJICBTaWduYWwgYSBzaG9ydCByZWFkIHdpdGggVU5FWFBFQ1RFRCwgZXhhY3RseSBsaWtlIHRoZSBwZWVrX2J5dGVzIGZ1bmN0aW9uLgoKMjAxMS0xMC0xOSAxMzowOTo1MSArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcmVhZC1jb21tb24uYzoKCSAgZWJtbDogRml4IHB1c2gtYmFzZWQgYmVoYXZpb3VyCgkgIFRoZSAncGVlaycgbWV0aG9kIHdhcyBjb21wbGV0ZWx5IHdyb25nICghPykKCjIwMTEtMTAtMTggMTg6MzE6MTcgKzA1MzAgIEFydW4gUmFnaGF2YW4gPGFydW4ucmFnaGF2YW5AY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3B1bHNlL3B1bHNlYXVkaW9zaW5rLmM6CgkgIHB1bHNlOiBHZXQgY2FwcyBjb3JyZWN0bHkgb24gcGFkIGJsb2NrCgkgIEluc3RlYWQgb2YgYWx3YXlzIGdvaW5nIHVwc3RyZWFtLCB3ZSBzaG91bGQgZmlyc3Qgc2VlIGlmIGFscmVhZHkgZ290CgkgIGNhcHMgZnJvbSBhIHNldGNhcHMoKSBjYWxsLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjYxMjYyCgoyMDExLTEwLTE4IDEyOjI1OjE0ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tlbmMuYzoKCSAgd2F2cGFja2VuYzogZG9uJ3QgdW5yZWYgYnVmZmVyIHdpdGggZ3N0X29iamVjdF91bnJlZigpCgoyMDExLTEwLTE4IDEyOjA1OjAxICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJICBwdWxzZXNpbms6IG9ubHkgdXNlIGlzX3BjbSBmb3IgMS4wIG9mIHB1bHNlYXVkaW8KCjIwMTEtMTAtMTggMTE6NTg6NTcgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkgIHB1bHNlc2luazogb25seSBkaXNhYmxlIHRyaWNrbW9kZXMgZm9yICFwY20KCSAgT25seSBkaXNhYmxlIHRyaWNrbW9kZXMgd2hlbiB3ZSBhcmUgbm90IGRlYWxpbmcgd2l0aCByYXcgUENNIHNhbXBsZXMuCgoyMDExLTEwLTE2IDE1OjMyOjUwICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvY3JvcC9nc3R2aWRlb2Nyb3AuYzoKCSAgdmlkZW9jcm9wOiBmaXggY29tcGlsYXRpb24KCjIwMTEtMTAtMTYgMTU6MjY6MzggKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJICBNZXJnZSBicmFuY2ggJ21hc3RlcicgaW50byAwLjExCgkgIENvbmZsaWN0czoKCSAgZ3N0L3J0cC9nc3RydHB2cmF3ZGVwYXkuYwoKMjAxMS0xMC0xNCAxMDo1NjoxNiArMDUzMCAgQXJ1biBSYWdoYXZhbiA8YXJ1bi5yYWdoYXZhbkBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyMi5jOgoJICB2aWRlb21peGVyMjogRml4IGEgbGVhawoJICBCdWZmZXJzIHdlcmVuJ3QgYmVpbmcgdW5yZWYnZWQgaW4gb25lIGNhc2UgaW5zaWRlLCBjYXVzaW5nIG1lbW9yeSB1c2FnZQoJICB0byBibG93IHVwLgoKMjAxMS0xMC0xNCAwOToxMDowMSArMDIwMCAgTWFyYyBMZWVtYW4gPG1hcmMubGVlbWFuQGdtYWlsLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwdnJhd2RlcGF5LmM6CgkgIHNldCBjb2xvdXIgbWFza3MgZm9yIHZpZGVvL3gtcmF3LXJnYiBpbiBydHB2cmF3ZGVwYXkKCjIwMTEtMTAtMTMgMDE6MDU6MTMgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiByZS1lbmFibGUgdmlkZW9jcm9wIHBsdWdpbgoJICBBbHJlYWR5IHBvcnRlZCB0byAwLjExCgoyMDExLTEwLTEzIDAxOjA1OjA0IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvdmlkZW9jcm9wL2dzdGFzcGVjdHJhdGlvY3JvcC5jOgoJKiBnc3QvdmlkZW9jcm9wL2dzdGFzcGVjdHJhdGlvY3JvcC5oOgoJICBhc3BlY3RyYXRpb2Nyb3A6IFBvcnQgdG8gMC4xMQoKMjAxMS0xMC0xMyAwMDozOToyOCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3ZpZGVvY3JvcC9NYWtlZmlsZS5hbToKCSogZ3N0L3ZpZGVvY3JvcC9nc3R2aWRlb2Nyb3AuYzoKCSogZ3N0L3ZpZGVvY3JvcC9nc3R2aWRlb2Nyb3AuaDoKCSAgdmlkZW9jcm9wOiBQb3J0IHRvIDAuMTEKCjIwMTEtMTAtMTIgMTc6NDM6NDcgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2FzcGVjdHJhdGlvY3JvcC5jOgoJICB0ZXN0czogYXNwZWN0cmF0aW9jcm9wOiBQb3J0IHRvIDAuMTEKCjIwMTEtMTAtMTIgMDg6MjQ6MjggLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2FscGhhY29sb3IuYzoKCSAgdGVzdHM6IGFscGhhY29sb3I6IFBvcnQgdG8gMC4xMQoKMjAxMS0xMC0xMyAxNzoxMjoyMyArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmxhYy9nc3RmbGFjZW5jLmM6CgkgIGZsYWNlbmM6IFByb3Blcmx5IHJlZ2lzdGVyIHR5cGUKCSAgSXQncyBhIHN1YmNsYXNzIG9mIEdzdEF1ZGlvRW5jb2RlciBhbmQgbm90IG9mIEdzdEVsZW1lbnQKCjIwMTEtMTAtMTMgMTY6NTk6NTAgKzA1MzAgIEFydW4gUmFnaGF2YW4gPGFydW4ucmFnaGF2YW5AY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlcjIuYzoKCSAgdmlkZW9taXhlcjI6IEZpeCBpbmNvcnJlY3QgZ3N0X2J1ZmZlcl9yZXBsYWNlKCkgY2FsbAoJICBUaGlzIGdvdCBleHBvc2VkIHdoZW4gZ3N0X2J1ZmZlcl9yZXBsYWNlKCkgd2FzIGNoYW5nZWQgZnJvbSBhIG1hY3JvIHRvIGEKCSAgZnVuY3Rpb24uCgoyMDExLTEwLTEzIDA5OjM0OjA0ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNzcmNkZW11eC5jOgoJICBydHBzc3JjZGVtdXg6IEZpeCB3cm9uZyB1c2FnZSBvZiBnc3RfaXRlcmF0b3JfZmlsdGVyCgkgIEl0IHRha2VzIGEgR1ZhbHVlKiBhcyB0aGUgdXNlcl9kYXRhLgoJICBBbmQgZG9uJ3QgZm9yZ2V0IHRvIHVucmVmIHRoZSBkZW11eGVyIGJlZm9yZSByZXR1cm5pbmcuCgoyMDExLTEwLTEzIDA5OjAyOjQ3ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2pwZWcvZ3N0anBlZ2RlYy5jOgoJICBmaXggY29tcGlsZQoKMjAxMS0xMC0xMyAwODo1ODowNiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkgIE1lcmdlIGJyYW5jaCAnbWFzdGVyJyBpbnRvIDAuMTEKCSAgQ29uZmxpY3RzOgoJICBleHQvanBlZy9nc3RqcGVnZGVjLmMKCSAgZ3N0L3J0cC9nc3RydHB2cmF3cGF5LmMKCjIwMTEtMTAtMTIgMDg6MDk6MjAgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2NtbWxlbmMuYzoKCSAgdGVzdHM6IGNtbWxlbmM6IFBvcnQgdG8gMC4xMQoKMjAxMS0xMC0xMiAwODowMjowOCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvY21tbGRlYy5jOgoJICB0ZXN0czogY21tbGRlYzogUG9ydCB0byAwLjExCgoyMDExLTEwLTEyIDA3OjI5OjMwIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvcHVsc2UvcHVsc2VhdWRpb3NpbmsuYzoKCSAgcHVsc2VhdWRpb3Npbms6IFVzZSBuZXcgR3N0SXRlcmF0b3IgQVBJIGNvcnJlY3RseQoJICBHc3RJdGVyYXRvciBub3cgdXNlcyBHVmFsdWUsIHVzZSBpdCBjb3JyZWN0bHkuCgoyMDExLTEwLTEyIDExOjI2OjUwICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwdnJhd3BheS5jOgoJICBydHB2cmF3cGF5OiBPbmx5IHVzZSAyNCBMU0IgZm9yIGRlcHRoPTI0IFJHQiBjYXBzCgkgIC4uLiBhbmQgaW5kZW50IHRoZSBtYXNrcyBmb3IgY2xhcml0eQoKMjAxMS0xMC0xMSAxNDo1ODo0MyArMDIwMCAgUmVuw6kgU3RhZGxlciA8cmVuZS5zdGFkbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSAgbWF0cm9za2FtdXg6IGZpeCBzZWdtZW50IGhhbmRsaW5nLCBzbyB3ZSBhY3R1YWxseSB1c2UgcnVubmluZyB0aW1lCgkgIGdzdF9tYXRyb3NrYV9tdXhfYmVzdF9wYWQgYWRqdXN0cyB0aGUgYnVmZmVyIHRpbWVzdGFtcCB0byBydW5uaW5nIHRpbWUgdXNpbmcKCSAgdGhlIHNlZ21lbnQgc3RvcmVkIGluIHRoZSBwYWQncyBjb2xsZWN0IGRhdGEuIEhvd2V2ZXIsIHRoZSBldmVudCBoYW5kbGVyIGRpZG4ndAoJICBwYXNzIHRoZSBuZXdzZWdtZW50IGV2ZW50IG9uIHRvIGNvbGxlY3RwYWRzJyBoYW5kbGVyLCBzbyB0aGlzIHNlZ21lbnQgd2FzIG5ldmVyCgkgIHVwZGF0ZWQgYXQgYWxsLgoJICBSZS1maXhlcyBidWcgIzQzMjYxMi4KCjIwMTEtMTAtMTAgMTk6MDE6MjMgKzAxMDAgIFNqb2VyZCBTaW1vbnMgPHNqb2VyZC5zaW1vbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBnNzIycGF5LmM6CgkgIGdzdHJ0cGc3MjJwYXk6IENvbXBlbnNhdGUgZm9yIGNsb2NrcmF0ZSB2cy4gc2FtcGxlcmF0ZSBkaWZmZXJlbmNlCgkgIFRoZSBSVFAgY2xvY2stcmF0ZSB1c2VkIGZvciBHNzIyIGlzIDgwMDAsIGV2ZW4gdGhvdWdoIHRoZSBzYW1wbGVyYXRlIGlzCgkgIDE2MDAwLiBDb21wZW5zYXRlIGZvciB0aGlzIGJ5IHByZXRlbmRpbmcgRzcyMiBoYXMgOCBiaXRzIHBlciBzYW1wbGUKCSAgaW5zdGVhZCBvZiB0aGUgNCBiaXRzIGFzIGlmIGl0IHdlcmUgYSBjb2RlYyB0aGF0IHJhbiBhdCBoYWxmIHRoZSBzcGVlZCwKCSAgYnV0IHdpdGggdHdpY2UgdGhlIG51bWJlciBvZiBiaXRzLiBGaXhlcyAjNjYxMzc2CgoyMDExLTA5LTI3IDE5OjI1OjUzICswMTAwICBTam9lcmQgU2ltb25zIDxzam9lcmQuc2ltb25zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9qcGVnL2dzdGpwZWdkZWMuYzoKCSAganBlZ2RlYzogSW1wbGVtZW50IHVwc3RyZWFtIG5lZ290aWF0aW9uCgkgIEFkZCB1cHN0cmVhbSBuZWdvdGlhdGlvbiBmb3IganBlZ2RlYy4gRml4ZXMgIzY2MDI3NQoKMjAxMS0xMC0xMCAxOTowMjo1OCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2EtZGVtdXg6IGRvbid0IGxlYWsgYXVkaW8gY29kZWNfZGF0YSBidWZmZXIKCjIwMTEtMTAtMTAgMTc6NDE6MTAgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSAgYWxwaGE6IERvbid0IHVzZSBzdGFydCgpIHZtZXRob2QKCSAgVGhlIG9ubHkgdGhpbmcgd2UncmUgZG9pbmcgaXMgaW5pdGlhbGl6aW5nIHBhcmFtZXRlcnMgLi4uCgkgICogd2hpY2ggd29uJ3Qgd29yayBiZWNhdXNlIHdlIGRvbid0IGhhdmUgdXBzdHJlYW0vZG93bnN0cmVhbSBjYXBzCgkgICogd2hpY2ggd2lsbCBiZSBpbml0aWFsaXplZCB3aGVuIDo6c2V0X2NhcHMoKSBpcyBjYWxsZWQKCjIwMTEtMTAtMTAgMTQ6MDg6MjkgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJICBNZXJnZSBicmFuY2ggJ21hc3RlcicgaW50byAwLjExCgoyMDExLTEwLTEwIDEzOjIyOjEyICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QvaWQzZGVtdXgvZ3N0aWQzZGVtdXguYzoKCSAgaWQzZGVtdXg6IHBvcnQgdG8gMC4xMQoKMjAxMS0xMC0xMCAxMzoyMDowNCArMDIwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIHRlc3RzL2V4YW1wbGVzL2NhaXJvL01ha2VmaWxlLmFtOgoJICB0ZXN0czogYWRkIG1pc3NpbmcgUExVR0lOX0FTRV9MSUJTIHRvIExEQURECgoyMDExLTEwLTEwIDEyOjU0OjIyICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QvaWN5ZGVtdXgvZ3N0aWN5ZGVtdXguYzoKCSAgaWN5ZGVtdXg6IHBvcnQgdG8gMC4xMQoKMjAxMS0xMC0xMCAxMjoyNzowNiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L2Fubm9kZXgvZ3N0Y21tbGRlYy5jOgoJKiBleHQvYW5ub2RleC9nc3RjbW1sZW5jLmM6CgkgIGFubm9kZXg6IHBvcnQgdG8gMC4xMQoKMjAxMS0xMC0xMCAxMTo0ODoyMCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkgIE1lcmdlIGJyYW5jaCAnbWFzdGVyJyBpbnRvIDAuMTEKCSAgQ29uZmxpY3RzOgoJICBleHQvc3BlZXgvZ3N0c3BlZXhlbmMuYwoKMjAxMS0xMC0xMCAwMDoxODo1NiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L3B1bHNlL3B1bHNldXRpbC5jOgoJKiBleHQvcHVsc2UvcHVsc2V1dGlsLmg6CgkgIHB1bHNlOiBwb3J0IHB1bHNldXRpbCB0byAwLjExCgoyMDExLTEwLTA5IDIxOjE3OjI0IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvcHVsc2UvcHVsc2VhdWRpb3NpbmsuYzoKCSAgcHVsc2VhdWRpb3Npbms6IHBvcnQgdG8gMC4xMQoKMjAxMS0xMC0wOSAxODo1ODoyOSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJICBwdWxzZXNpbms6IEZpeGluZyBnZXRjYXBzIGZ1bmN0aW9uCgkgIFVwZGF0ZSBnZXRjYXBzIGZ1bmN0aW9uIHRvIDAuMTEgQVBJCgoyMDExLTEwLTA5IDIxOjMxOjI3ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9zcGVleC9nc3RzcGVleGVuYy5jOgoJKiBleHQvc3BlZXgvZ3N0c3BlZXhlbmMuaDoKCSAgc3BlZXhlbmM6IG9ubHkgcHVzaCBoZWFkZXIgYnVmZmVycyBmb2xsb3dpbmcgaW5pdGlhbCBldmVudHMKCjIwMTEtMTAtMDkgMTY6Mjk6MDUgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSAgTWVyZ2UgcmVtb3RlLXRyYWNraW5nIGJyYW5jaCAnb3JpZ2luL21hc3RlcicgaW50byAwLjExCgoyMDExLTEwLTA5IDE2OjI0OjM2ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pc29tcDQvcXRkZW11eF9kdW1wLmM6CgkgIHF0ZGVtdXg6IHVwZGF0ZSBmb3IgX19nc3RfZGVidWdfbWluIG5hbWUgY2hhbmdlCgoyMDExLTEwLTA5IDExOjE4OjE4IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvaXNvbXA0L2F0b21zcmVjb3ZlcnkuYzoKCSAgcXRtdXg6IEZpeCBtZW1vcnkgbGVhayBvbiBhdG9tcyByZWNvdmVyeSBmdW5jdGlvbgoJICBSZW1lbWJlciB0byBmcmVlIHRoZSBmdHlwIGRhdGEgYWZ0ZXIgd3JpdGluZyBpdCB0byBhIGZpbGUuCgkgIEZpeGVzICM2NjA5NjkKCjIwMTEtMTAtMDYgMTI6MjY6MzMgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4LmM6CgkgIHF0bXV4OiByZXBvcnQgbmV3IGJpdHMKCjIwMTEtMTAtMDYgMTI6MjM6MzkgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJICBNZXJnZSBicmFuY2ggJ21hc3RlcicgaW50byAwLjExCgkgIENvbmZsaWN0czoKCSAgZXh0L3NwZWV4L2dzdHNwZWV4ZGVjLmMKCSAgZXh0L3NwZWV4L2dzdHNwZWV4ZW5jLmMKCSAgZ3N0L2lzb21wNC9hdG9tcy5jCgkgIGdzdC9pc29tcDQvZ3N0cXRtdXguYwoKMjAxMS0wOS0yMSAxODo0NTo0MiArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4Lmg6CgkgIG1hdHJvc2thZGVtdXg6IGltcHJvdmUgc2VnbWVudCBoYW5kbGluZyB3aXRoIG5vbi16ZXJvIHN0YXJ0aW5nIHRpbWVzdGFtcAoJICAuLi4gYXMgd2VsbCBhcyByZWxhdGVkIGl0ZW1zLCBzdWNoIGFzIHNlZWtpbmcgYW5kIHBvc2l0aW9uIHJlcG9ydGluZy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1OTgwOAoKMjAxMS0wOS0yOSAxODo0MTo1MyArMDQwMCAgU3RhcyBTZXJnZWV2IDxzdHNwQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSogc3lzL3hpbWFnZS9nc3R4aW1hZ2VzcmMuYzoKCSAgdjRsMiwgeGltYWdlc3JjOiBmaXggc29tZSBwcmludGYgZm9ybWF0IGNvbXBpbGVyIHdhcm5pbmdzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NjAxNTAKCjIwMTEtMDktMzAgMTI6NDI6MjIgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcXRtdXguYzoKCSAgdGVzdHM6IHF0bXV4OiBSZWZhY3RvciBiaXRyYXRlIGNoZWNrIHRlc3QKCSAgUmVmYWN0b3IgYml0cmF0ZSBjaGVjayB0ZXN0IHRvIGFjY29tb2RhdGUgbXVsdGlwbGUgdGVzdHMKCSAgZm9yIGJpdHJhdGUKCjIwMTEtMDktMzAgMTM6MDI6MzEgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2lzb21wNC9hdG9tcy5jOgoJICBxdG11eDogdXBkYXRlIGVzZHMgYXRvbSB1bmRlciB3YXZlIGF0b20gZm9yIGFhYyBiaXRyYXRlcwoJICBBQUMgaW4gbW92IGZvcm1hdCBwdXRzIGFuIEVTRFMgYXRvbSBpbnNpZGUgb2YgYSBXQVZFIGF0b20gaW4KCSAgU1RTRCBhdG9tLCB3ZSBuZWVkIHRvIHVwZGF0ZSB0aGUgYml0cmF0ZSBvbiB0aGlzIEVTRFMuIFRoaXMgcGF0Y2gKCSAgZml4ZXMgaXQuCgoyMDExLTA5LTMwIDEyOjQxOjUyIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pc29tcDQvYXRvbXMuYzoKCSogZ3N0L2lzb21wNC9mb3VyY2MuaDoKCSAgcXRtdXg6IEFsc28gdXBkYXRlIGJ0cnQgYXRvbQoJICBXaGVuIHJld3JpdGluZyBiaXRyYXRlcywgYWxzbyB1cGRhdGUgdGhlIGJ0cnQgYXRvbSB1bmRlciBzdHNkCgoyMDExLTA5LTMwIDEwOjU1OjUzIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3F0bXV4LmM6CgkgIHRlc3RzOiBxdG11eDogYWRkIHRlc3RzIGZvciBiaXRyYXRlIGF2ZXJhZ2UgY2FsY3VsYXRpb24KCSAgQWRkcyB0ZXN0cyB0byBtYWtlIHN1cmUgcXRtdXgvbXA0bXV4IHNldHMgYXZlcmFnZSBiaXRyYXRlCgkgIGNvcnJlY3RseQoKMjAxMS0wOS0yOCAxMTo0MTo0OSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaXNvbXA0L2F0b21zLmM6CgkqIGdzdC9pc29tcDQvYXRvbXMuaDoKCSogZ3N0L2lzb21wNC9nc3RxdG11eC5jOgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4Lmg6CgkgIHF0bXV4OiBDYWxjdWxhdGUgYXZlcmFnZSBiaXRyYXRlIGZvciBzdHJlYW1zCgkgIENhbGN1bGF0ZSBhbmQgdXNlIGF2ZXJhZ2UgYml0cmF0ZSBmb3Igc3RyZWFtcyB3aGVuIG5vCgkgIGJpdHJhdGUgdGFnIHdhcyByZWNlaXZlZAoKMjAxMS0wOS0yOCAxMDo0MToxNCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBBdm9pZCBhIGJ1ZmZlciBtZXRhZGF0YSBjb3B5IGlmIHBvc3NpYmxlCgkgIElmIGZpcnN0X3RzIGlzIDAgdGhlcmUgaXMgbm8gbmVlZCB0byBzdWJ0cmFjdCwgc28gd2UgbWlnaHQKCSAgc2tpcCBzb21lIGNvcHlpbmcgdG8gbWFrZSB0aGUgYnVmZmVyIG1ldGFkYXRhIHdyaXRhYmxlLgoKMjAxMS0wOS0yOSAyMzoyMTo0NiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvc3BlZXgvZ3N0c3BlZXhlbmMuYzoKCSAgc3BlZXhlbmM6IGluaXRpYWxpc2UgdmFyaWFibGUgYmVmb3JlIGFkZGluZyB0byBpdAoKMjAxMS0wOS0yOSAxNzoyMToyMiArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvc3BlZXgvZ3N0c3BlZXhkZWMuYzoKCSogZXh0L3NwZWV4L2dzdHNwZWV4ZGVjLmg6CgkgIHNwZWV4ZGVjOiBwb3J0IHRvIGF1ZGlvZGVjb2RlcgoKMjAxMS0wOS0yOSAxNjozMzowMSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvc3BlZXgvZ3N0c3BlZXhlbmMuaDoKCSAgc3BlZXhlbmM6IGNsZWFuIHVwIHNvbWUgdW51c2VkIHJlbW5hbnRzCgoyMDExLTA5LTI5IDE3OjMyOjIzICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9zcGVleC9NYWtlZmlsZS5hbToKCSogZXh0L3NwZWV4L2dzdHNwZWV4ZW5jLmM6CgkqIGV4dC9zcGVleC9nc3RzcGVleGVuYy5oOgoJICBzcGVleGVuYzogcG9ydCB0byBhdWRpb2VuY29kZXIKCjIwMTEtMDktMjggMTk6MTA6MjcgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5jOgoJICBmbGFjZGVjOiBnZXQgcmlkIG9mIGdyYW51bGVwb3MgaGFuZGxpbmcKCSAgTGVhdmUgdGhhdCB0byB0aGUgcGFyc2VyIG9yIGRlbXV4ZXIuIFRoZXJlJ3Mgc3RpbGwgc29tZQoJICBjb2RlIGZvciBvcGVyYXRpbmcgaW4gREVGQVVMVCAoc2FtcGxlcykgZm9ybWF0LCBidXQgdGhhdAoJICB3aWxsIGJlIHJlbW92ZWQgbGF0ZXIuCgoyMDExLTA5LTI4IDE4OjMyOjAwICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mbGFjL2dzdGZsYWNkZWMuYzoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5oOgoJICBmbGFjZGVjOiBnZXQgcmlkIG9mIHB1bGwtbW9kZSBzdXBwb3J0IGFuZCBmb2N1cyBvbiBiZWluZyBhIGRlY29kZXIKCSAgTGVhdmUgYWxsIHRoZSBvdGhlciBzdHVmZiB0byBmbGFjcGFyc2UuCgoyMDExLTA5LTI4IDE3OjI5OjA4ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mbGFjL2dzdGZsYWN0YWcuYzoKCSogZXh0L2pwZWcvZ3N0anBlZ2RlYy5jOgoJKiBleHQvanBlZy9nc3RqcGVnZW5jLmM6CgkgIGZsYWMsIGpwZWc6IGZpeCBjb21waWxlciB3YXJuaW5nCgoyMDExLTA5LTI4IDE3OjQwOjAxICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvZmxhYy9nc3RmbGFjZGVjLmM6CgkqIGV4dC9mbGFjL2dzdGZsYWN0YWcuYzoKCSAgZmxhYzogcG9ydCB0byAwLjExCgoyMDExLTA5LTI4IDE3OjM5OjEyICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSAgTWVyZ2UgYnJhbmNoICdtYXN0ZXInIGludG8gMC4xMQoJICBDb25mbGljdHM6CgkgIGV4dC9mbGFjL2dzdGZsYWNlbmMuYwoKMjAxMS0wOS0yOCAxNjoxODo1NCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkgIE1lcmdlIGJyYW5jaCAnbWFzdGVyJyBpbnRvIDAuMTEKCjIwMTEtMDktMjggMTY6MDk6NTggKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZsYWMvTWFrZWZpbGUuYW06CgkqIGV4dC9mbGFjL2dzdGZsYWNlbmMuYzoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2VuYy5oOgoJICBmbGFjZW5jOiBwb3J0IHRvIGF1ZGlvZW5jb2RlcgoKMjAxMS0wOS0yNyAxNTo1OToyNCArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWlkcy5oOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcGFyc2UuYzoKCSAgbWF0cm9za2FkZW11eDogZW5zdXJlIG1pbmltYWwgYWxpZ25tZW50IGZvciBhdWRpby94LXJhdy0qIGJ1ZmZlcnMKCSAgU2luY2UgbWF0cm9za2FkZW11eCB3aWxsIGF0dGVtcHQgdG8gcHVzaCB1bmFsaWduZWQgYnVmZmVycywKCSAgZG93bnN0cmVhbSBtaWdodCBoYXZlIHRyb3VibGUgd2l0aCB0aG9zZSwgZXNwZWNpYWxseSBpZiBkb3duc3RyZWFtCgkgIHVzZXMgT1JDLCBzdWNoIGFzIGF1ZGlvY29udmVydC4KCSAgRW5zdXJlIHdlIHB1c2ggYnVmZmVycyBhbGlnbmVkIHRvIHRoZSBiYXNpYyB0eXBlIGF0IGxlYXN0IGZvcgoJICB0aG9zZSByYXcgYnVmZmVycy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1OTc5OAoKMjAxMS0wOS0yOCAxMjo0NDo1OSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkgIE1lcmdlIGJyYW5jaCAnbWFzdGVyJyBpbnRvIDAuMTEKCSAgQ29uZmxpY3RzOgoJICBjb21tb24KCSAgZXh0L3B1bHNlL3B1bHNlc2luay5jCgkgIGV4dC9zb3VwL2dzdHNvdXBodHRwY2xpZW50c2luay5jCgkgIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWFjcGFyc2UuYwoJICBnc3QvYXVkaW9wYXJzZXJzL2dzdGFjM3BhcnNlLmMKCSAgZ3N0L3J0cC9nc3RydHBoMjY0ZGVwYXkuYwoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYwoJICBnc3QvcnRwbWFuYWdlci9ydHBqaXR0ZXJidWZmZXIuYwoJICBnc3QvcnRzcC9nc3RydHNwc3JjLmMKCSAgc3lzL3hpbWFnZS9nc3R4aW1hZ2VzcmMuYwoKMjAxMS0wOS0yOCAwMDoxMDowOSArMDMwMCAgUmFpbW8gSsOkcnZpIDxyYWltby5qYXJ2aUBnbWFpbC5jb20+CgoJKiBnc3QvZ29vbTJrMS9nb29tX2NvcmUuYzoKCSAgZ29vbTJrMTogRml4IGNvbXBpbGVyIHdhcm5pbmdzIG9uIDY0IGJpdCBtaW5ndy13NjQKCSAgRml4ZXMgYnVnICM2NjAyOTQuCgoyMDExLTA5LTI1IDE1OjEzOjM5ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9zb3VwL01ha2VmaWxlLmFtOgoJKiBleHQvc291cC9nc3Rzb3VwLmM6CgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwY2xpZW50c2luay5jOgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cGNsaWVudHNpbmsuaDoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBzaW5rLmM6CgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwc2luay5oOgoJICBzb3VwOiByZW5hbWUgc291cGh0dHBzaW5rIHRvIHNvdXBodHRwY2xpZW50c2luawoJICBUbyBhdm9pZCBjb25mdXNpb24sIGFuZCBiZWNhdXNlIHdlIG1pZ2h0IHdhbnQgYSBzZXJ2ZXIKCSAgc2luayBhdCBzb21lIHBvaW50IHRvby4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1OTk0NwoKMjAxMS0wOS0yMyAxNjozOTo0NiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cHNpbmsuYzoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBzaW5rLmg6CgkgIHNvdXBodHRwc2luazogZG9uJ3QgY3JlYXRlIHVudXNlZCBzZWNvbmQgc2luayBwYWQgb2JqZWN0CgkgIFRoZSBiYXNlIGNsYXNzIHdpbGwgY3JlYXRlIHRoZSBzaW5rIHBhZC4KCjIwMTEtMDktMjMgMTU6MzY6MzYgKzAyMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYzNwYXJzZS5jOgoJICBhYzNwYXJzZTogY29ycmVjdGx5IGNoZWNrIGZvciBhYzMvZS1hYzMgc3dpdGNoCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NTk5NDMKCjIwMTEtMDktMjEgMTQ6MDE6MjAgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBjb21tb246CgkgIFVwZGF0ZSBjb21tb24gdG8gMC4xMSBicmFuY2gKCjIwMTEtMDktMjAgMTM6Mzg6NTMgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBoMjY0ZGVwYXkuYzoKCSAgcnRwaDI2NGRlcGF5OiBpbXByb3ZlIGRvd25zdHJlYW0gZmxvdyByZXR1cm4gZmVlZGJhY2sgdG8gdXBzdHJlYW0KCSAgLi4uIGFsdGhvdWdoIGJhc2VydHBkZXBheSBkb2VzIG5vdCByZWFsbHkgbWFrZSBpdCBlYXN5L3Bvc3NpYmxlIHRvIGRvIHNvCgkgIGFsbCB0aGUgd2F5LgoKMjAxMS0wOS0yMCAxMjoxMTo0NyArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMveGltYWdlL2dzdHhpbWFnZXNyYy5jOgoJKiBzeXMveGltYWdlL2dzdHhpbWFnZXNyYy5oOgoJICB4aW1hZ2VzcmM6IGFkZCB4aWQgYW5kIHhuYW1lIHByb3BlcnRpZXMgdG8gYWxsb3cgY2FwdHVyaW5nIGEgcGFydGljdWxhciB3aW5kb3cKCSAgQSBwYXJ0aWN1bGFyIHdpbmRvdyBtYXkgYmUgc2VsZWN0ZWQgdXNpbmcgdGhlIG5ldyB4aWQgKFgtV2luZG93CgkgIFhJRCwgZWcgYSBwb2ludGVyKSBhbmQgeG5hbWUgKHdpbmRvdyB0aXRsZSkgcHJvcGVydGllcy4gSWYgYm90aAoJICBhcmUgc3BlY2lmaWVkLCB0aGUgWElEIGlzIHVzZWQgaW4gcHJlZmVyZW5jZSwgZmFsbGluZyBiYWNrIHRvCgkgIHhuYW1lIGlmIG5vdCBmb3VuZC4KCSAgRGVmYXVsdCAoaWYgbm9uZSBvZiB4aWQgYW5kIHhuYW1lIGFyZSBzcGVjaWZpZWQsIG9yIGlmIG5vIHN1Y2gKCSAgd2luZG93IGlzIGZvdW5kKSBpcyB0byBjYXB0dXJlIHRoZSByb290IHdpbmRvdy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTU0NjkzMgoKMjAxMS0wOC0wMiAxNzozOTo0NCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9xdG11eC5jOgoJICB0ZXN0czogYWRkIHVuaXQgdGVzdCB0byBtYWtlIHN1cmUgZW5jb2RlYmluIHBpY2tzIG1wNG11eCBmb3IgdmFyaWFudD1pc28KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1MTQ5NgoKMjAxMS0wOS0xOSAxMjoxNToxMSArMDIwMCAgSGEgTmd1eWVuIDxoYW5ndXl0dkBnbWFpbC5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzoKCSAgcnRwYmluOiBGaXggYSBsZWFrZWQgY2xvY2sgZm9yIGVhY2ggYnVmZmVyaW5nIG1lc3NhZ2UKCSAgRml4ZXMgYnVnICM2NTkyMzcuCgoyMDExLTA5LTE5IDEyOjExOjMyICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXhfZm91cmNjLmg6CgkgIHF0ZGVtdXg6IHBhcnNlIGVtYmVkZGVkIElEMzIgdGFncwoKMjAxMS0wOS0wMiAxMzo0MTo0MSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5jOgoJICBydHBzZXNzaW9uOiBhdm9pZCBzb3VyY2UgcHJlbWF0dXJlIHRpbWluZyBvdXQKCSAgVXNlIHNsaWdodGx5IGFkanVzdGVkIHNlbmRlciBpbnRlcnZhbCB0byBkZXRlcm1pbmUgc2VuZGVyIHRpbWVvdXQgcmF0aGVyIHRoYW4KCSAgb3VyIG93biBzZW5kZXIgc2lkZSBpbnRlcnZhbCAod2hpY2ggbWF5IGhhdmUgYmVlbiBmb3JjZWQgc21hbGwpLgoKMjAxMS0wOC0yNSAxMjo0MDo1MiArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5oOgoJICBydHBzZXNzaW9uOiBhdm9pZCB0aW1pbmcgb3V0IHNvdXJjZSB0b28gcXVpY2tseQoJICAuLi4gZm9sbG93aW5nIGEgUEFVU0UvUExBWSBjeWNsZSwgcGFydGljdWxhcmx5IGFwcGxpY2FibGUgd2hlbiBvcGVyYXRpbmcKCSAgd2l0aCBhIHNob3J0IFJUQ1AgaW50ZXJ2YWwgKHBvc3NpYmx5IGZvcmNlZCBzbyBzZXJ2ZXItc2lkZSkuCgoyMDExLTA4LTI0IDE0OjM3OjUyICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgcnRwaml0dGVyYnVmZmVyL3J0cGJpbjogcmVsYXggZHJvcHBpbmcgcnRjcCBwYWNrZXRzCgkgIC4uLiB0byBhdCBsZWFzdCBoYXZpbmcgaXQgdHJpZ2dlciBhL3Ygc3luY2hyb25pemF0aW9uLCBwb3NzaWJseSB3aXRob3V0CgkgIHVzaW5nIHByb3ZpZGVkIHZhbHVlcyB3aGljaCBhcmUgc3RpbGwgbm90IGNvbnNpZGVyZWQgc2FuZQoJICAoYXMgcHJldmlvdXNseSBkcm9wcGVkKS4KCjIwMTEtMDgtMjQgMTQ6MzQ6MjMgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIHJ0cGppdHRlcmJ1ZmZlcjogc29tZSBtb3JlIHJlc2V0IHdoZW4gY2xlYXJpbmcgcHQgbWFwCgkgIC4uLiB3aGljaCBpbiBwYXJ0aWN1bGFyIGNhdGVycyBmb3Igc29tZSBtb3JlIHJlc2V0IGZvbGxvd2luZyBhIHBvc3NpYmxlCgkgIHJ0c3AgUExBWS4KCjIwMTEtMDgtMjEgMjE6NTg6MzggKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBkbyBub3Qgc2V0IGVsZW1lbnRzIHRvIFBMQVlJTkcgd2hlbiBkb2luZyBzZWVrIGluIFBBVVNFRAoKMjAxMS0wOS0wMSAxNDo0Nzo0OCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBqaXR0ZXJidWZmZXIuYzoKCSAgcnRwaml0dGVyYnVmZmVyOiBvbmx5IHJlc2V0IHNrZXcgb24gZ2FwIGlmIGlucHV0IHRzIGF2YWlsYWJsZQoKMjAxMS0wOC0xOCAxNDoxMjoyMSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBqaXR0ZXJidWZmZXIuYzoKCSAgcnRwaml0dGVyYnVmZmVyOiBjaGVjayBzb21lIG1vcmUgZm9yIHBvc3NpYmxlIHJ0cCB0aW1lc3RhbXAgZGlzY29udGludWl0eQoJICAuLi4gd2hlbiBvcGVyYXRpbmcgaW4gbm9uIHNsYXZlIG1vZGUsIGFuZCByZXNldCBpZiBkZXRlY3RlZC4KCSAgVGhpcyBzaG91bGQgYXZvaWQgc29tZSAobGFyZ2UpIGJvZ3VzIG91dGdvaW5nIHRpbWVzdGFtcCBkdWUgdG8ganVtcHMKCSAgaW4gcnRwIHRpbWUsIGFzIHJlc3VsdCBvZiBQQVVTRS9QTEFZIG9yIHNlZWsgb3IgLi4uCgoyMDExLTA4LTA4IDEyOjQ4OjUwICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogc3dpdGNoIHRvIHJ0cCB0aW1lIGJhc2VkIHN5bmNpbmcgd2hlbiBndWVzc2VkIGFwcHJvcHJpYXRlCgoyMDExLTA4LTA4IDEyOjE1OjIwICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uaDoKCSAgcnRwYmluOiBhbHRlcm5hdGl2ZSBpbnRlci1zdHJlYW0gc3luY2luZyBtZXRob2RzCgkgIC4uLiBhdCBsZWFzdCBpZiBub3Qgc3luY2luZyB0byBOUFQgdGltZToKCSAgKiBlaXRoZXIgc3luYyB1c2luZyBSVENQIFNSIGRhdGEgKGFzIGN1cnJlbnRseSkKCSAgKiBvbmx5IHBlcmZvcm0gdGhlIGFib3ZlIG9uY2UgdXNpbmcgaW5pdGlhbCBSVENQIFNSIHBhY2tldHMKCSAgKiBkaXNjYXJkIFJUQ1AgYW5kIHN5bmMgYnkgZXF1YXRpbmcgcHJvdmlkZWQgc3RyZWFtJ3MgY2xvY2stYmFzZSBydHB0aW1lLAoJICBhcyBwcm92aWRlZCBieSBqaXR0ZXJidWZmZXIgKHR5cGljYWxseSBvYnRhaW5lZCBmcm9tIFJUUC1JbmZvIGluIFJUU1ApLgoKMjAxMS0wOC0wOCAxMjoxMToyNCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgcnRwaml0dGVyYnVmZmVyOiBhbHNvIHByb3ZpZGUgY2xvY2stYmFzZSB0byBzeW5jIHNpZ25hbAoKMjAxMS0wOC0wOCAxMjowOTo0MSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmg6CgkgIHJ0cGJpbjogYWxsb3cgY29uZmlndXJhYmxlIHJ0Y3Agc3RyZWFtIHN5bmNpbmcgaW50ZXJ2YWwKCSAgLi4uIHJhdGhlciB0aGFuIG5lY2Vzc2FyaWx5IHN5bmNpbmcgYXQgZWFjaCBSVENQIFNSLgoKMjAxMS0wOC0wMSAwODozNTowMSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkgIHJ0cHNlc3Npb246IHRyaWdnZXIgcmVjb25zaWRlcmF0aW9uIGlmIHJ0Y3AgaW50ZXJ2YWwgc2V0CgoyMDExLTA4LTAxIDA4OjMyOjI0ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogY29uZmlndXJlIHJ0Y3AgaW50ZXJ2YWwgaWYgcHJvdmlkZWQKCSAgLi4uIGluIFBMQVkgcmVzcG9uc2UuCgoyMDExLTA5LTE2IDE2OjUzOjIyICswMzAwICBMYXNzZSBMYXVra2FuZW4gPGxhc3NlLmxhdWtrYW5lbkBkaWdpYS5jb20+CgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4LmM6CgkgIGlzb21wNDogRml4IGFsbG93aW5nIHplcm8gZHVyYXRpb24gdHJhY2tzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02Mzc0ODYKCjIwMTEtMDktMDUgMTA6MTE6MTggKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3VkcC9nc3R1ZHBuZXR1dGlscy5jOgoJICB1ZHBzcmM6IGVycm9yIG91dCB3aGVuIG5vIHByb3RvY29sIGlzIHNwZWNpZmllZCBpbiB0aGUgdXJpCgkgIEl0IGlzIGNlcnRhaW5seSBiZXR0ZXIgdGhhbiB0byBjcmFzaC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1ODE3OAoKMjAxMS0wOS0xOSAwOTozNzo1OCArMDIwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvc3BlZXgvZ3N0c3BlZXhlbmMuYzoKCSAgc3BlZXhlbmM6IGRvIG5vdCB1c2UgaW52YWxpZCBidWZmZXIgdGltZXN0YW1wcwoKMjAxMS0wMy0yOSAxMjowOToxOCArMDUzMCAgQXJ1biBSYWdoYXZhbiA8YXJ1bi5yYWdoYXZhbkBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcHVsc2UvTWFrZWZpbGUuYW06CgkqIGV4dC9wdWxzZS9wbHVnaW4uYzoKCSogZXh0L3B1bHNlL3B1bHNlYXVkaW9zaW5rLmM6CgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5oOgoJKiBleHQvcHVsc2UvcHVsc2V1dGlsLmg6CgkgIHB1bHNlOiBOZXcgcHVsc2VhdWRpb3NpbmsgZWxlbWVudCB0byBoYW5kbGUgZm9ybWF0IGNoYW5nZXMKCSAgVGhpcyBpbnRyb2R1Y2VzIGEgbmV3IGJpbiB3aGljaCB3cmFwcyBhcm91bmQgcHVsc2VzaW5rIGFuZCBkZXBlbmRpbmcgb24KCSAgdGhlIGZvcm1hdHMgc3VwcG9ydGVkIGJ5IHRoZSBzaW5rLCBwbHVncyBpbi9vdXQgYSBkZWNvZGViaW4yIGFzCgkgIHJlcXVpcmVkLiBUaGlzIGFsbG93cyB1c2VycyB0byBzd2l0Y2ggc2lua3Mgb24gdGhlIHN0cmVhbSBhbmQgYWRhcHRzCgkgIGFjY29yZGluZ2x5IChmb3IgZXhhbXBsZSwgeW91IGNvdWxkIHdhdGNoIGEgbW92aWUgaW4gcGFzc3Rocm91Z2ggbW9kZSBvbgoJICB5b3VyIHJlY2VpdmVyIHdoaWNoIHN1cHBvcnRzIEFDMyBkZWNvZGUsIHRoZW4gcGx1ZyBvdXQgYW5kIHN3aXRjaCB0byBhCgkgIG5vbi1kaWdpdGFsIHByb2ZpbGUgdG8gY29udGludWUgdW5pbnRlcnJ1cHRlZCBvbiBhbmFsb2cgb3V0cHV0KS4KCSAgVGhlIGJpbiBpcyByZXF1aXJlZCBiZWNhdXNlIGRvaW5nIHRoZSBzYW1lIHdpdGggcGxheWJpbjIvcGxheXNpbmsgd2lsbAoJICByZXF1aXJlIEFQSSBjaGFuZ2VzIHRoYXQgY2Fubm90IGJlIG1hZGUgaW4gMC4xMC4gV2l0aCAwLjExLzEuMCwgd2UKCSAgc2hvdWxkIGJlIGFibGUgdG8gYXNrIGZvciB1cHN0cmVhbSBjYXBzIHJlbmVnb3RpYXRpb24gdG8gZGVhbCB3aXRoIGFsbAoJICB0aGlzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjU3MTc5CgoyMDExLTA5LTE2IDE1OjAzOjIzICswMjAwICBCcmFua28gU3ViYXNpYyA8YnJhbmtvQGF4aXMuY29tPgoKCSogZ3N0L21hdHJvc2thL2VibWwtcmVhZC5jOgoJKiBnc3QvbWF0cm9za2EvZWJtbC1yZWFkLmg6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1yZWFkLWNvbW1vbi5jOgoJICBtYXRyb3NrYWRlbXV4OiBBdm9pZCBzZW5kaW5nIEVPUyB3aGVuIGluIHBhdXNlZCBzdGF0ZQoJICBDaGFuZ2VkIHRoZSBlYm1sIHJlYWRlcidzIGdzdF9lYm1sX3BlZWtfaWRfbGVuZ3RoKCkgZnVuY3Rpb24gc28KCSAgdGhhdCBpdCByZXR1cm5zIHRoZSBhY3R1YWwgcmVhc29uIGZvciB3aHkgdGhlIHBlZWsgZmFpbGVkLCBpbnN0ZWFkCgkgIG9mIChhbG1vc3QpIGFsd2F5cyByZXR1cm5pbmcgR1NUX0ZMT1dfVU5FWFBFQ1RFRC4gVGhpcyBwcmV2ZW50cwoJICB0aGUgcHVsbGluZyB0YXNrIGZyb20gc2VuZGluZyBFT1Mgd2hlbiBkb2luZyBhIGZsdXNoaW5nIHNlZWsuCgoyMDExLTA5LTE1IDE1OjUzOjQ3ICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYWRlbXV4OiBmaXggc3R1dHRlcmluZyBBL1YKCSAgU29tZW9uZSBnb3QgaGFkIGJ5IGltcGxpY2l0IHByb21vdGlvbiB0byB1bnNpZ25lZCBpbiBvcHMgd2l0aAoJICBhIHNpZ25lZCBhbmQgYW4gdW5zaWduZWQgdmFsdWUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NTkxNTMKCjIwMTEtMDktMTQgMTY6Mzc6MTIgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0bmF2c2Vlay5jOgoJICBuYXZzZWVrOiB0b2dnbGUgcGF1c2UvcGxheSBvbiBzcGFjZSBiYXIKCSAgQSB1c2VmdWwgdGhpbmcgdG8gaGF2ZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1OTA2NQoKMjAxMS0wOS0xNCAxNDo0NjowMCArMDIwMCAgRGF2aWQgU3ZlbnNzb24gRm9ycyA8ZGF2aWRzZkBheGlzLmNvbT4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguaDoKCSAgbWF0cm9za2FkZW11eDogY29uZmlndXJhYmxlIHRpbWVzdGFtcCBnYXAgaGFuZGxpbmcKCSAgbWF0cm9za2FkZW11eCBwZXJmb3JtcyBzZWdtZW50IHRyaWNrcyB0byBza2lwIGdhcHMgaW4gc3RyZWFtcywKCSAgbm90YWJseSBhdCBzdGFydCBmb3Igbm9uIDAgYmFzZWQgZmlsZXMuICBUaGVyZSBtYXkgaG93ZXZlciBiZQoJICBjYXNlcyB3aGVuIGZ1bGwgcHJlc2VudGF0aW9uIChpbmNsdWRpbmcgaW50ZXJtZWRpYXRlIGdhcHMpIGlzCgkgIGRlc2lyZWQsIHNvIGEgcHJvcGVydHkgYWxsb3dzIHRvIGNvbmZpZ3VyZSBhcyBvZiB3aGljaCBnYXAKCSAgdG8gYWN0IChvciBub3QgYXQgYWxsKS4KCSAgQVBJOiBHc3RNYXRyb3NrYURlbXV4OjptYXgtZ2FwLXRpbWUKCSAgRml4ZXMgIzY1OTAwOS4KCjIwMTEtMDktMTIgMDk6MjE6NDcgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZmx2bXV4LmM6CgkgIHRlc3RzOiBmbHZtdXg6IEZpeCBmbHZtdXgncyB0ZXN0cyBhZnRlciBmaXggZm9yIHJlcXVlc3QgcGFkcyBoYW5kbGluZwoJICBOb3cgdGhhdCBmbHZtdXggZG9lc24ndCByZWxlYXNlIGl0cyByZXF1ZXN0IHBhZHMgb24gUEFVU0VELT5SRUFEWSB0aGUKCSAgdGVzdCBkb2Vzbid0IG5lZWQgdG8gcmUtcmVxdWVzdCB0aGVtIGZvciBldmVyeSByZXVzZSB0ZXN0IHN0YXJ0LgoKMjAxMS0wOS0wOSAwOToxMjo1NiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBGaXggY3R0cyBnZW5lcmF0aW9uIGZvciBzdHJlYW1zIHRoYXQgZG9uJ3Qgc3RhcnQgYXQgMCB0aW1lc3RhbXBzCgkgIFN1YnRyYWN0IHRoZSBmaXJzdCB0aW1lc3RhbXAgb2YgYSBzdHJlYW0gZnJvbSBhbGwgaW5wdXQgYnVmZmVycyB0bwoJICBnZXQgMC1iYXNlZCB0aW1lc3RhbXBzIGZvciBjcmVhdGluZyBhIHNhbmUgY3R0cyB0YWJsZS4gV2l0aG91dCB0aGlzCgkgIHBhdGNoIHRoZSBjdHRzIGNvdWxkIGhhdmUgbGFyZ2VyIHZhbHVlcyB0aGFuIG5lZWRlZCwgY2F1c2luZyB0aGUKCSAgcGxheWJhY2sgdG8gaGF2ZSBhIGRlbGF5IGF0IHN0YXJ0dXAuCgkgIEFzIHRoZSBmaXJzdCB0aW1lc3RhbXAgaXMgb25seSBmb3VuZCBhZnRlciBhIGZldyBidWZmZXJzIGFyZSBxdWV1ZWQKCSAgKGR1ZSB0byBwb3NzaWJsZSByZW9yZGVyZWQgYnVmZmVycyksIG9uY2Ugd2UgZmluZCB0aGUgZmlyc3QgdGltZXN0YW1wCgkgIHdlIHN1YnRyYWN0IGl0IGZyb20gYWxsIGJ1ZmZlcnMgb24gdGhlIHF1ZXVlLCBmcm9tIHRoYXQgcG9pbnQgb24sCgkgIGFsbCBidWZmZXJzIGhhdmUgdGhlaXIgdGltZXN0YW1wcyBzdWJ0cmFjdCB3aGVuIHRoZXkgYXJlIGNvbGxlY3RlZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1ODY1OQoKMjAxMS0wOS0xMiAwNzo1NToxOSArMDIwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBnc3QvZmx2L2dzdGZsdm11eC5jOgoJICBmbHZtdXg6IGRvbid0IHJlbGVhc2UgcmVxdWVzdCBwYWRzIGdvaW5nIFBBVVNFRC0+UkVBRFkKCSAgRG9uJ3QgcmVsZWFzZSByZXF1ZXN0IHBhZHMgYnV0IGp1c3QgcmVzZXQgdGhlbS4gVGhpcyBtYWtlcyBwaXBlbGluZXMgdXNpbmcKCSAgZmx2bXV4IHJldXNhYmxlLgoKMjAxMS0wOS0wOSAxMjozNTo1MCArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFjM3BhcnNlLmM6CgkgIGFjM3BhcnNlOiB1c2UgYnNpZCA5IGFuZCAxMCB0byBjb250cm9sIHNhbXBsZSByYXRlCgkgIFNlZSBodHRwOi8vbWF0cm9za2Eub3JnL3RlY2huaWNhbC9zcGVjcy9jb2RlY2lkL2luZGV4Lmh0bWwKCSAgVGhlIHNwZWMgaXMgc2lsZW50IGFib3V0IHRoaXMgdGhvdWdoLi4uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NTg1NDYKCjIwMTEtMDktMDcgMTQ6MTM6MDMgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBlbnN1cmUgc29tZSBpbml0aWFsIHN0YXRlIHZhcmlhYmxlIHNldHVwCgkgIC4uLiB3aGljaCBtaWdodCBvdGhlcndpc2UgYmUgc2tpcHBlZCBpZiB0aGUgUExBWSBjb21tYW5kIGlzIGlzc3VlZCBiZWZvcmUKCSAgdGhlIE9QRU4gY29tbWFuZCBoYWQgYSBjaGFuY2UgdG8gYWN0dWFsbHkgYmUgYWN0ZWQgdXBvbi4KCSAgRml4ZXMgIzY1NzM3Ni4KCjIwMTEtMDktMDggMTU6MDI6MDUgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thZGVtdXg6IHR3ZWFrIGdhcCBoYW5kbGluZwoJICAuLi4gc28gYXMgdG8gYXZvaWQgYnVmZmVycyBiZWZvcmUgYW5kIGFmdGVyIGdhcCB0byBoYXZlIGlkZW50aWNhbCBydW5uaW5nIHRpbWUuCgoyMDExLTA5LTA4IDEzOjI4OjI0ICswMjAwICBHdWlsbGF1bWUgRGVzbW90dGVzIDxndWlsbGF1bWUuZGVzbW90dGVzQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgdjRsMjogdXNlIEdTVF9SRVNPVVJDRV9FUlJPUl9CVVNZIGlmIHY0bDJfaW9jdGwgZmFpbHMgd2l0aCBFQlVTWQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjU4NTQzCgoyMDExLTA5LTA3IDA4OjU0OjE3IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pc29tcDQvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IHJlbW92ZSBvbmUgR19VTkxJS0VMWSBmb3IgdXNlciBwcm9wZXJ0eQoJICBVc2luZyBHX1VOTElLRUxZIG9uIHVzZXIgcHJvcGVydGllcyBpc24ndCBuaWNlLCBzcGVjaWFsbHkgd2hlbgoJICB0aGF0IGlzIHRoZSBkZWZhdWx0IG9wdGlvbi4KCjIwMTEtMDMtMTUgMTE6MDM6NTMgKzAxMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8YW1vcmFsZXNAZmx1bW90aW9uLmNvbT4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5oOgoJICBtYXRyb3NrYW11eDogaGFuZGxlIEdzdEZvcmNlS2V5VW5pdCBldmVudAoJICAuLi4gYnkgc3RhcnRpbmcgYSBuZXcgY2x1c3RlciBhZnRlciBmb3J3YXJkaW5nIGV2ZW50LgoJICBGaXhlcyAjNjQ0MTU0LgoKMjAxMS0wOS0wNyAxNDoyNzozNiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jbW1sZGVjLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2NtbWxlbmMuYzoKCSAgY21tbDogVXNlIGNvbXBsZXRlIGNtbWwgY2FwcyBpbiB0aGUgdW5pdCB0ZXN0CgoyMDExLTA5LTA3IDE0OjI2OjAxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3F0bXV4LmM6CgkgIHF0bXV4OiBVc2UgY29tcGxldGUgTVBFRyBjYXBzIGluIHRoZSB1bml0IHRlc3QKCjIwMTEtMDktMDcgMTQ6MTg6NTggKzAyMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkgIGRvY3M6IGNsZWFudXAgbWFrZWZpbGVzCgkgIFJlbW92ZSBjb21tZW50ZWQgb3V0IHBhcnRzIHRoYXQgd2UgZG9uJ3QgbmVlZC4gUmVtb3ZlICJ0aGUgd2luZ28gYWRkaXRpb24iIC0gbm8KCSAgc28gdXNlZnVsIGFmdGVyIGFsbC4gTmFycm93IGRvd24gZmlsZS1nbG9icyBmb3IgcGx1Z2luIGRvY3MuCgoyMDExLTA4LTI5IDE0OjEyOjIyICswMjAwICBLb25zdGFudGluIE1pbGxlciA8a29uc3RhbnRpbi5taWxsZXJAZ21haWwuY29tPgoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzoKCSAgc291cGh0dHBzcmM6IERvbid0IGhhbmRsZSBIVFRQIHJlc3BvbnNlIDQwNyBhcyBlcnJvciBpZiBwcm94eSBhdXRoZW50aWNhdGlvbiBkYXRhIGlzIGF2YWlsYWJsZQoJICBGaXhlcyBidWcgIzY1NzQyMi4KCjIwMTEtMDktMDcgMTI6MTE6MzkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYzNwYXJzZS5jOgoJICBhYzNwYXJzZTogQWRkIENvbnZlcnRlciB0byB0aGUgY2xhc3NpZmljYXRpb24gYmVjYXVzZSBpdCBjYW4gY29udmVydCBiZXR3ZWVuIGRpZmZlcmVudCBhbGlnbm1lbnRzCgkgIFRoaXMgYWxsb3dzIGRlY29kZWJpbjIgdG8gbGV0IGl0IG5lZ290aWF0ZSBwcm9wZXJseS4KCjIwMTEtMDktMDcgMTI6MTA6NDggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYWNwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFjM3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZGNhcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RmbGFjcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RtcGVnYXVkaW9wYXJzZS5jOgoJICBhdWRpb3BhcnNlcnM6IEltcHJvdmUgc3JjIHRlbXBsYXRlIGNhcHMKCSAgUmVtb3ZlIHRoZSBwYXJzZWQvZnJhbWVkIGZpZWxkcyBhbmQgYWRkIGFsbCBmaWVsZHMgdG8gdGhlIHRlbXBsYXRlCgkgIGNhcHMgdGhhdCBhbHdheXMgZXhpc3QuCgoyMDExLTA5LTA2IDE1OjU5OjQ5ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWFjcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYWNwYXJzZS5oOgoJICBhYWNwYXJzZTogcGFyc2UgY29kZWNfZGF0YSB0byBkZXRlcm1pbmUgbnVtYmVyIG9mIHNhbXBsZXMgcGVyIGZyYW1lCgkgIEZpeGVzICM2NTY3MzQuCgoyMDExLTA5LTA2IDIxOjI0OjQ2ICswMjAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSBhMzllYjgzIHRvIDExZjBjZDUKCjIwMTEtMDktMDYgMTY6NTc6MTIgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogdHJ5IHRvIGRpc2FibGUgZGVpbnRlcmxhY2UuLgoKMjAxMS0wOS0wNiAxNTo0MDozMiArMDIwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gNjA1Y2Q5YSB0byBhMzllYjgzCgoyMDExLTA5LTA2IDE2OjM3OjAzICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSAgTWVyZ2UgYnJhbmNoICdtYXN0ZXInIGludG8gMC4xMQoJICBDb25mbGljdHM6CgkgIGNvbW1vbgoKMjAxMS0wOS0wNiAxNjowNjoyNSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkgIE1lcmdlIGJyYW5jaCAnbWFzdGVyJyBpbnRvIDAuMTEKCSAgQ29uZmxpY3RzOgoJICBnc3QvYXVkaW9wYXJzZXJzL2dzdGFtcnBhcnNlLmMKCSAgZ3N0L2lzb21wNC9xdGRlbXV4LmMKCjIwMTEtMDktMDYgMTU6NDA6MzIgKzAyMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIDYwNWNkOWEgdG8gYTM5ZWI4MwoKMjAxMS0wOS0wNiAxNTowNTozNyArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguaDoKCSAgbWF0cm9za2FtdXg6IG1ha2UgZGVmYXVsdCBkdXJhdGlvbiBjaGVjayBsZXNzIHNlbnNpdGl2ZQoJICBGcmFtZSBkdXJhdGlvbiBtaWdodCB2YXJ5IGZvciAxIHVzZWNvbmQsIGluIHRoaXMgY2FzZSBtYXRyb3NrYW11eAoJICBkZWNpZGVzIHRvIGNyZWF0ZSBCTE9DS0dST1VQIGluc3RlYWQgb2YgU0lNUExFQkxPQ0suCgkgIENvbnZlcnQgZHVyYXRpb24gdG8gdGltZWNvZGVzY2FsZSB3aGljaCBpcyAodHlwaWNhbGx5KSBsZXNzIHByZWNpc2UsIGFuZAoJICB0aGVuIGFsc28gYWxsb3cgdGhlIGRpZmZlcmVuY2Ugb2YgMS8tMSB0byBhcnJhbmdlIGZvciBsZXNzIHNlbnNpdGl2ZSBjaGVjay4KCSAgQmFzZWQgb24gcGF0Y2ggYnkgQWxleGV5IEZpc2hlciA8YnVnLXRyYWNrQGZpc2hlci1wcml2YXQubmV0PgoJICBGaXhlcyAjNjUzMDgwLgoKMjAxMS0wOS0wNiAxMzoxODo0MCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cG1wNGdkZXBheS5jOgoJICBydHBtcDRnZGVwYXk6IGltcHJvdmUgYm9ndXMgaW50ZXJsZWF2ZWQgaW5kZXggY29tcGVuc2F0aW5nCgkgIFBhdGNoIGJ5IDxndWRha2VAZ21haWwuY29tPgoJICBGaXhlcyAjNjU0NTg1LgoKMjAxMS0wOS0wNiAxMzoxNjoyNyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9qYWNrL2dzdGphY2suaDoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJKiBleHQvcHVsc2UvcHVsc2VzcmMuYzoKCSogZXh0L3B1bHNlL3B1bHNldXRpbC5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb3Bhbm9yYW1hLmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvcGFub3JhbWEuaDoKCSogZ3N0L2F1cGFyc2UvZ3N0YXVwYXJzZS5jOgoJKiBnc3QvYXZpL2dzdGF2aW11eC5jOgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4LmM6CgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJKiBnc3QvbGF3L2FsYXcuYzoKCSogZ3N0L2xhdy9tdWxhdy1kZWNvZGUuYzoKCSogZ3N0L2xhdy9tdWxhdy5jOgoJKiBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uYzoKCSogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6CgkgIC1nb29kOiBwb3J0IHRvIG5ldyBhdWRpbyBjYXBzCgoyMDExLTA5LTA2IDEwOjMzOjIxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6CgkgIHNvdXBodHRwc3JjOiBBbGxvdyBwb3NpdGl2ZSwgbm9uLTEuMCBzZWdtZW50IHJhdGVzCgkgIE9ubHkgbmVnYXRpdmUgcmF0ZXMgYXJlIG5vdCBzdXBwb3J0ZWQuIEZpeGVzIGJ1ZyAjNjU4MzA1LgoKMjAxMS0wOS0wNSAxNTo1MDo1NiArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9wYXJzZXIuYzoKCSAgdGVzdHM6IHBhcnNlcnM6IHByb3ZpZGUgbW9yZSByZWFsIGRhdGEgd2hlbiB0ZXN0aW5nIGRyYWluaW5nIG9mIGdhcmJhZ2UKCjIwMTEtMDktMDUgMTU6NTA6MDQgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhbXJwYXJzZS5jOgoJICBhbXJwYXJzZTogZml4IGFuZCBzdHJlYW1saW5lIHZhbGlkIGZyYW1lIGNoZWNraW5nCgkgIC4uLiB0byBoYW5kbGUgdmFyaW91cyBjb21iaW5hdGlvbnMgb2Ygc3luYyBvciBub3QsIGFuZCBzdWZmaWNpZW50IGRhdGEKCSAgb3Igbm90IGFzIG1pZ2h0IGJlIGV4cGVjdGVkLgoJICBGaXhlcyAjNjUwNzE0LgoKMjAxMS0wOS0wNSAxNDo0OTozMiArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogZnJhZ21lbnRlZCBzdXBwb3J0OyBhdm9pZCBhZGp1c3RtZW50IGZvciBrZXlmcmFtZSBzZWVrCgkgIC4uLiBzaW5jZSBhbGwgaW5kZXggZGF0YSBtYXkgbm90IHlldCBiZSBhdmFpbGFibGUgYXQgdGhhdCB0aW1lLgoKMjAxMS0wOS0wNSAxNDo0ODowMiArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogZnJhZ21lbnRlZCBzdXBwb3J0OyBtYXJrIGFsbCBhdWRpbyB0cmFjayBzYW1wbGVzIGFzIGtleWZyYW1lCgoyMDExLTA5LTA1IDE0OjQ2OjI5ICswMjAwICBCcmlhbiBMaSA8YnJpYW43MDAzQGdtYWlsLmNvbT4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBmcmFnbWVudGVkIHN1cHBvcnQ7IHByb3Blcmx5IGluaXQgcmV0dXJuIHZhcmlhYmxlIHZhbHVlCgkgIEZpeGVzICM2NTU5MTguCgoyMDExLTA5LTA1IDEzOjMxOjIwICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogYWRkIGd0ay1kb2MgZm9yIG5ldyBzaG9ydC1oZWFkZXIgcHJvcGVydHkKCjIwMTEtMDktMDUgMTM6MTg6MzkgKzAyMDAgIE1hcmMgTGVlbWFuIDxtYXJjLmxlZW1hbkBnbWFpbC5jb20+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuaDoKCSAgcnRzcHNyYzogYWxsb3cgc2VuZGluZyBzaG9ydCBSVFNQIHJlcXVlc3RzIHRvIGEgc2VydmVyCgkgIFNvbWUgZW5jb2RlcnMgKEFyZWNvbnQpIGRvIG5vdCBsaWtlIHRoZSBsb25nIE9QVElPTlMgc2VudCBhdCBzdGFydHVwIGFzIHNlbnQgYnkKCSAgR1N0cmVhbWVyLCBidXQgZG8gYWNjZXB0IHRoZSBzaG9ydCBoZWFkZXIgYXMgc2VudCBieSBMaXZlNTU1LgoJICBUaGlzIHBhdGNoIG1ha2VzIHRoZSBleHRlbmRpbmcgdGhlIHJlcXVlc3Qgb3B0aW9uYWwgYnkgYWRkaW5nIGEgcHJvcGVydHkKCSAgKHNob3J0LWhlYWRlcikuCgkgIEZpeGVzICM2NTU4MDUuCgkgIEFQSTogR3N0UlRTUFNyYzpzaG9ydC1oZWFkZXIKCjIwMDktMDMtMDQgMTQ6NTE6MDkgLTA1MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2M3BwYXkuYzoKCSAgcnRwaDI2M3BwYXk6IFNldCBIMjYzLTIwMDAgaWYgdGhhdHMgd2hhdCB0aGUgb3RoZXIgc2lkZSB3YW50cwoJICBUaGUgc3RhdGljIGNhcHMgc3RhdGVzIHRoaXMgZWxlbWVudCBzdXBwb3J0cyBIMjYzLTIwMDAsIGJ1dCBzZXRjYXBzIG5ldmVyCgkgIHNldHMgaXQsIHNvIGl0IHdhcyBsaWUuCgkgIFNlZSBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTc3Nzg0CgoyMDExLTA4LTMwIDE5OjAyOjUxIC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJICBydHBzZXNzaW9uOiBJbml0aWFsaXNlIHRoZSBsYXN0X2tleWZyYW1lX3JlcXVlc3QgdmFyaWFibGUKCjIwMTEtMDgtMzEgMTY6MDQ6MjQgKzAyMDAgIFBldGVyIEtvcnNnYWFyZCA8amFjbWV0QHN1bnNpdGUuZGs+CgoJKiBnc3QvdWRwL2dzdG11bHRpdWRwc2luay5jOgoJICBtdWx0aXVkcHNpbms6IG1ha2UgYWRkL3JlbW92ZS9jbGVhci9nZXQtc3RhdHMgYWN0aW9uIHNpZ25hbHMKCSAgaHR0cDovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjU3ODMwCgkgIFNpZ25lZC1vZmYtYnk6IFBldGVyIEtvcnNnYWFyZCA8amFjbWV0QHN1bnNpdGUuZGs+CgoyMDExLTA4LTMxIDE4OjQ1OjE1ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBtcDJ0ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDJ0cGF5LmM6CgkgIG1wMnQ6IGZpeCBlbmNvZGluZyBuYW1lIGFjY29yZGluZyB0byBSRkMzNTUxCgoyMDExLTA4LTMwIDEzOjMzOjQ5ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguaDoKCSAgcXRkZW11eDogcHVzaCBtb2RlOyBwZXJmb3JtIHNvbWUgZXh0cmEgY2hlY2tzIHByaW9yIHRvIHVwc3RyZWFtIHNlZWtpbmcKCjIwMTEtMDgtMzAgMTM6Mjg6MjEgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IHB1c2ggbW9kZTsgZml4IGJ1ZmZlcmVkIHN0cmVhbWluZwoJICBUaGF0IGlzLCBpbiBjYXNlIHdoZXJlIG5vIHNlZWsgaXMgcGVmb3JtZWQgdG8gbW9vdiwgYnV0IHByZWNlZGluZwoJICBsaW1pdGVkIG1kYXQgaXMgYnVmZmVyZWQuCgoyMDExLTA4LTMwIDE0OjA2OjEyICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3Qvc2hhcGV3aXBlL2dzdHNoYXBld2lwZS5jOgoJKiBnc3Qvc2hhcGV3aXBlL2dzdHNoYXBld2lwZS5oOgoJICBzaGFwZXdpcGU6IHBvcnQgdG8gMC4xMQoKMjAxMS0wOC0zMCAxMjo0OTowOCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgbGF3IGlzIHBvcnRlZCBub3cKCjIwMTEtMDgtMzAgMTI6MjU6MzUgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbGF3L2FsYXcuYzoKCSogZ3N0L2xhdy9tdWxhdy1kZWNvZGUuYzoKCSogZ3N0L2xhdy9tdWxhdy1lbmNvZGUuYzoKCSogZ3N0L2xhdy9tdWxhdy5jOgoJICBsYXc6IHBvcnQgdG8gMC4xMQoKMjAxMS0wOC0yOSAxOToxMToyNSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9sYXcvYWxhdy1kZWNvZGUuYzoKCSogZ3N0L2xhdy9hbGF3LWVuY29kZS5jOgoJICBhbGF3OiBwb3J0IHRvIDAuMTEKCjIwMTEtMDgtMjkgMTk6MTA6MzUgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZ29vbS9nc3Rnb29tLmM6CgkgIGdvb206IGZpeCBjb21tZW50CgoyMDExLTA4LTI5IDE4OjAyOjE1ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cHNpbmsuYzoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzoKCSAgc291cDogcG9ydCBzb3VwIGVsZW1lbnRzIHRvIDAuMTEKCjIwMTEtMDgtMjkgMTU6MTM6NTYgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IGF2b2lkIG92ZXJmbG93IHdyYXBhcm91bmQgaW4gdGltZXN0YW1wIHdoZW4gYWRkaW5nIGR1cmF0aW9ucwoJICBEbyBzb21lIHR5cGUganVnZ2xpbmcgdG8gYXZvaWQgb3ZlcmZsb3csIHdoaWxlIHN0aWxsIGFsbG93aW5nIGZvciAnbmVnYXRpdmUnCgkgIGR1cmF0aW9ucyAod2hpY2ggd291bGQgbmVlZCBhIHdyYXBhcm91bmQgZWZmZWN0KS4KCjIwMTEtMDgtMjkgMTM6NDM6NTkgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJICBNZXJnZSBicmFuY2ggJ21hc3RlcicgaW50byAwLjExCgkgIENvbmZsaWN0czoKCSAgc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5jCgoyMDExLTA4LTI2IDE0OjIwOjQ5ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2VmZmVjdHYvZ3N0d2FycC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyc2luay5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkgIGFsbG9jYXRpb246IGZpeCBmb3Igdm1ldGhvZCBjaGFuZ2VzCgoyMDExLTA4LTI1IDIzOjM3OjQ3ICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuYzoKCSAgdjRsMnNyYzogbWFrZSB0aGlzIHdvcmsgbW9yZSB0aGFuIG9uY2UgaW4gYSByb3cKCSAgV2UgdXNlZCB0byBza2lwIGZyYW1lIHJhdGUgc2V0dXAgaWYgdGhlIGNhbWVyYSB3YXMgYWxyZWFkeSBzZXR1cAoJICB3aXRoIHRoZSByZXF1ZXN0ZWQgZnJhbWUgcmF0ZS4gVGhpcyBicmVha3Mgc29tZSBjYW1lcmFzIHRob3VnaCwKCSAgY2F1c2luZyB0aGVtIHRvIG5vdCBvdXRwdXQgZGF0YSAoc2V2ZXJhbCBtb2RlbHMgb2YgVGhpbmtwYWQgY2FtZXJhcwoJICBoYXZlIHRoaXMgcHJvYmxlbSBhdCBsZWFzdCkuCgkgIFNvLCBkb24ndCBza2lwLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjM4MzAwCgoyMDExLTA4LTI1IDE2OjQxOjIzICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBnc3RkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGdzdHBheS5jOgoJKiBnc3QveTRtL2dzdHk0bWVuY29kZS5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJICBwb3J0IHRvIG5ldyB2aWRlbyBmbGFncwoKMjAxMS0wOC0yNCAxODo0MDowNyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9wdWxzZS9wdWxzZXV0aWwuYzoKCSAgcHVsc2U6IGFkZCBzb21lIG1vcmUgY2hhbm5lbHMKCjIwMTEtMDctMTIgMjE6NDg6MzcgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvZHRtZi9nc3RkdG1mc3JjLmM6CgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZzcmMuYzoKCSAgZHRtZjogQWRkIG1vcmUgZGVidWcKCjIwMTEtMDctMTIgMTk6MDk6MDIgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvZHRtZi9nc3RkdG1mY29tbW9uLmg6CgkqIGdzdC9kdG1mL2dzdGR0bWZzcmMuYzoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZnNyYy5jOgoJICBkdG1mOiBNYXggZXZlbnQgdHlwZSBpcyAxNQoKMjAxMS0wNC0xNCAxNTo0NjowOCAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R0bWYvZ3N0ZHRtZnNyYy5jOgoJKiBnc3QvZHRtZi9nc3RkdG1mc3JjLmg6CgkgIGR0bWZzcmM6IEFsaWduIERUTUYgc291bmQgYnVmZmVycyB3aXRoIGxhc3Qtc3RvcCBmcm9tIGV2ZW50CgkgIEFsc28gbWFrZSBzdXJlIHRoZSB0aW1lc3RhbXBzIG5ldmVyIGdvIGJhY2t3YXJkcwoKMjAxMS0wNy0xMSAyMTozMTowNyAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZzcmMuYzoKCSAgcnRwZHRtZnNyYzogQ29ycmVjdGx5IHJlY29nbml6ZSB0aGUgZW5kIG9mIGEgYnVmZmVyCgoyMDExLTA3LTExIDIwOjQ3OjIzIC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZnNyYy5jOgoJICBydHBkdG1mc3JjOiBNYWtlIHN1cmUgcnRwZHRtZnNyYyB0aW1lc3RhbXBzIGRvbid0IG92ZXJsYXAKCjIwMTEtMDctMTEgMjA6NDY6MjAgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mc3JjLmM6CgkgIHJ0cGR0bWZzcmM6IFB1dCB0aGUgaW50ZXIgZGlnaXQgaW50ZXJ2YWwgYXQgdGhlIGVuZCwgbm90IGF0IHRoZSBzdGFydAoJICBUaGUgcmVhc29uIGlzIHRvIGxldCBydHBkdG1mbXV4IGRyb3AgYnVmZmVycyBkdXJpbmcgdGhlIGludGVyIGRpZ2l0IGludGVydmFsLAoJICB0aGlzIHdheSwgdGhlcmUgd2lsbCBiZSBtb3JlIHNpbGVuY2UgYXJvdW5kIHRoZSBEVE1GIHRvbmVzIHNvIElWRnMgd2lsbCBoYXZlCgkgIGEgYmV0dGVyIGNoYW5jZSByZWNvZ25pemluZyB0aGVtLgoKMjAxMS0wNC0xNCAxNzowODo1NyAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZnNyYy5jOgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mc3JjLmg6CgkgIHJ0cGR0bWZzcmM6IFN0YXJ0IGF0IHRoZSBsYXN0X3N0b3AgZnJvbSB0aGUgc3RhcnQgZXZlbnQgaWYgdGhlcmUgd2FzIG9uZQoJICBUaGUgZ29hbCBpcyB0byB0cnkgdG8gbm90IGhhdmUgYSBHQVAgYmV0d2VlbiB0aGUgYXVkaW8gYW5kIHRoZSBEVE1GCgoyMDExLTA0LTE0IDE2OjQ5OjM5IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mc3JjLmM6CgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZzcmMuaDoKCSAgcnRwZHRtZnNyYzogUmVzcGVjdCBwdGltZSBmcm9tIHRoZSBjYXBzCgkgIFJlc3BlY3QgdGhlIHB0aW1lIGZyb20gdGhlIGNhcHMgZm9yIHRoZSBEVE1GIHBhY2tldHMKCjIwMTEtMDctMTEgMjE6MzA6MjggLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mc3JjLmM6CgkgIHJ0cGR0bWZzcmM6IEp1c3QgZXJyb3Igb3V0IGlmIHRoZXJlIGlzIG5vIGNsb2NrCgoyMDExLTA4LTI0IDE0OjE2OjQ0ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSAgTWVyZ2UgYnJhbmNoICdtYXN0ZXInIGludG8gMC4xMQoKMjAxMS0wOC0yMyAxMjoxMjoxNSArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFhY3BhcnNlLmM6CgkgIGFhY3BhcnNlOiBvbmx5IHJlcXVpcmUgdHdvIGZyYW1lcyBpbiBhIHJvdyB3aGVuIHdlIGRvIG5vdCBoYXZlIHN5bmMKCSAgVGhpcyBhdm9pZHMgYSBzaW5nbGUgYml0IGVycm9yIGRyb3BwaW5nIHR3byBmcmFtZXMgdW5uZWNlc3NhcmlseS4KCSAgVGhlIHR3byBjb25zZWN1dGl2ZSBmcmFtZXMgY2hlY2sgaXMgc3RpbGwgcmVxdWlyZWQgd2hlbiB3ZSBkb24ndAoJICBoYXZlIHN5bmMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NTcwODAKCjIwMTEtMDgtMjMgMjE6NDE6MTUgKzA1MzAgIEFydW4gUmFnaGF2YW4gPGFydW4ucmFnaGF2YW5AY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJICBwdWxzZXNpbms6IFRyaXZpYWwgaW5kZW50YXRpb24gZml4CgoyMDExLTA4LTIzIDE5OjA5OjMxICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2FscGhhL2dzdGFscGhhLmM6CgkqIGdzdC9hbHBoYS9nc3RhbHBoYWNvbG9yLmM6CgkqIGdzdC9ydHAvZ3N0cnRwdnJhd3BheS5jOgoJICB2aWRlbzogcG9ydCB0byBuZXcgY29sb3JpbWV0cnkgaW5mbwoKMjAxMS0wNy0yMSAxNzoyMzoyOCAtMDQwMCAgTW9udHkgTW9udGdvbWVyeSA8Y21vbnRnb21AcmVkaGF0LmNvbT4KCgkqIGV4dC9mbGFjL2dzdGZsYWNkZWMuYzoKCSAgZmxhY2RlYzogQ29ycmVjdCBzYW1wbGUgbnVtYmVyIHJvdW5kaW5nIHJlc3VsdGluZyBpbiB0aW1lc3RhbXAgaml0dGVyCgkgIGZsYWNkZWMgY29udmVydHMgdGhlIHNyYyB0aW1lc3RhbXAgdG8gYSBzYW1wbGUgbnVtYmVyLCB1c2VzIHRoYXQgaW50ZXJuYWxseSwgdGhlbiByZWNvbnZlcnRzIHRoZSBzYW1wbGUgbnVtYmVyIHRvIGEgdGltZXN0YW1wIGZvciB0aGUgb3V0cHV0IGJ1ZmZlci4gIFVuZm9ydHVuYXRlbHksIHNhbXBsZSBudW1iZXJzIGNhbid0IGJlIHJlcHJlc2VudGVkIGluIGFuIGludGVnZXIgbnVtYmVyIG9mIG5hbm9zZWNvbmRzLCBhbmQgdGhlIGNvbnZlcnNpb24gcHJvY2VzcyB3YXMgdHJ1bmNhdGluZyByYXRoZXIgdGhhbiByb3VuZGluZywgcmVzdWx0aW5nIGluIHNhbXBsZSBudW1iZXJzIGFuZCBvdXRwdXQgdGltZXN0YW1wcyB0aGF0IHdlcmUgb2Z0ZW4gb2ZmIGJ5IGEgZnVsbCBzYW1wbGUuCgkgIFRoaXMgY29ycmVjdHMgdGhlIHRpbWUtPnNhbXBsZSBjb252ZXNpb24KCjIwMTEtMDgtMjIgMTM6MTA6MDcgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJICBNZXJnZSBicmFuY2ggJ21hc3RlcicgaW50byAwLjExCgoyMDExLTA4LTIyIDEyOjI0OjE1ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJKiBnc3QvaXNvbXA0L2F0b21zLmM6CgkqIGdzdC9pc29tcDQvYXRvbXMuaDoKCSogZ3N0L2lzb21wNC9nc3RxdG11eC5jOgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSogZ3N0L3J0cC9nc3RydHBqMmtkZXBheS5jOgoJICBmb3VyY2M6IHJlbW92ZSBmb3VyY2MgZnJvbSBjYXBzCgoyMDExLTA4LTIwIDE0OjQ4OjIwIC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9kZWJ1Z3V0aWxzL2JyZWFrbXlkYXRhLmM6CgkgIGJyZWFrbXlkYXRhOiBlbGVtZW50IGlzIG5vdCBwYXNzdGhyb3VnaAoKMjAxMS0wNy0xMyAxMToyMDozNCAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvbXVsdGlmaWxlL2dzdG11bHRpZmlsZXNyYy5jOgoJICBtdWx0aWZpbGVzcmM6IHF1aWV0IGRlYnVnZ2luZwoKMjAxMS0wNy0xMCAyMTo0MDoyMCAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuYzoKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmg6CgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZW1ldGhvZC5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2VtZXRob2QuaDoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS9ncmVlZHkuYzoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS9ncmVlZHloLmM6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvbGluZWFyYmxlbmQuYzoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS9zY2FsZXJib2IuYzoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS90b21zbW9jb21wL1RvbXNNb0NvbXBBbGwuaW5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL3ZmaXIuYzoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS93ZWF2ZS5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL3dlYXZlYmZmLmM6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvd2VhdmV0ZmYuYzoKCSAgZGVpbnRlcmxhY2U6IGNoYW5nZSBmaWVsZCBoYW5kbGluZyB0aHJvdWdoIG1ldGhvZHMKCSAgVGhpcyBsaWtlbHkgYnJlYWtzIHN0dWZmLiAgVGhlIGdvb2Q6IGFsbCBvZiB0aGUgbWV0aG9kcyBub3cgY3JlYXRlCgkgIGZpZWxkIGltYWdlcyBhbGlnbmVkIHdpdGggaW5wdXQgZnJhbWVzLCB3aXRob3V0IHRpbWVzdGFtcCBtYW5nbGluZy4KCSAgVGhlIGJhZDogdGhpcyB0b3VjaGVzIGEgbG90IG9mIGNvZGUsIG11Y2ggb2Ygd2hpY2ggaXMgaGFpcnkgYW5kIGluCgkgIG5lZWQgb2YgY2xlYW51cC4gIEhvd2V2ZXIsIGF0IHRoaXMgcG9pbnQgd2UgY2FuIHJlYXNvbmFibHkgY3JlYXRlIGEKCSAgUFNOUi1iYXNlZCB0ZXN0LgoKMjAxMS0wOC0yMSAxNDo0MToxNCArMDIwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBnc3QvbXVsdGlmaWxlL2dzdG11bHRpZmlsZXNpbmsuYzoKCSAgbXVsdGlmaWxlc2luazogcmVzZXQgLT5zdHJlYW1oZWFkZXJzIHRvIE5VTEwgb24gX3N0b3AKCSAgRml4ZXMgaW52YWxpZCBtZW1vcnkgYWNjZXNzIHJldXNpbmcgbXVsdGlmaWxlc2luawoKMjAxMS0wOC0yMCAxMDo0NjoxOCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jdXR0ZXIvZ3N0Y3V0dGVyLmM6CgkqIGdzdC9jdXR0ZXIvZ3N0Y3V0dGVyLmg6CgkgIGN1dHRlcjogYnJpbmcgY3V0dGVyIHNvbWV3aGF0IGludG8gdGhpcyBtaWxsZW5uaXVtCgoyMDExLTA4LTE5IDE2OjI3OjIwICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3JlcGxheWdhaW4vZ3N0cmdhbmFseXNpcy5jOgoJICByZzogZml4IGNhcHMKCjIwMTEtMDgtMTkgMTY6MTM6MjMgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkgIHB1bHNlc2luazogcG9ydCBhZnRlciBtZXJnZQoKMjAxMS0wOC0xOSAxNjoxMjowMSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkgIE1lcmdlIGJyYW5jaCAnbWFzdGVyJyBpbnRvIDAuMTEKCjIwMTEtMDgtMTkgMTY6MDk6NDggKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9meC9hdWRpb2FtcGxpZnkuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9jaGViYmFuZC5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb2NoZWJsaW1pdC5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb2R5bmFtaWMuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9lY2hvLmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvZmlyZmlsdGVyLmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvZnhiYXNlZmlyZmlsdGVyLmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvZnhiYXNlaWlyZmlsdGVyLmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvaWlyZmlsdGVyLmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvaW52ZXJ0LmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlva2FyYW9rZS5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb3dzaW5jYmFuZC5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb3dzaW5jbGltaXQuYzoKCSogZ3N0L2F1cGFyc2UvTWFrZWZpbGUuYW06CgkqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyLmM6CgkqIGdzdC9nb29tL2dzdGdvb20uYzoKCSogZ3N0L2xldmVsL01ha2VmaWxlLmFtOgoJKiBnc3QvcmVwbGF5Z2Fpbi9NYWtlZmlsZS5hbToKCSogZ3N0L3JlcGxheWdhaW4vZ3N0cmdhbmFseXNpcy5jOgoJKiBnc3QvcmVwbGF5Z2Fpbi9nc3RyZ2xpbWl0ZXIuYzoKCSogZ3N0L3JlcGxheWdhaW4vZ3N0cmd2b2x1bWUuYzoKCSogZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmM6CgkgIHBvcnQgdG8gbW9yZSBhdWRpbyBhcGkgY2hhbmdlcwoKMjAxMS0wOC0xOSAxNDowMTo0NSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6CgkqIGV4dC9zcGVleC9nc3RzcGVleGRlYy5jOgoJKiBleHQvc3BlZXgvZ3N0c3BlZXhlbmMuYzoKCSogZ3N0L2F1cGFyc2UvZ3N0YXVwYXJzZS5jOgoJKiBnc3QvYXVwYXJzZS9nc3RhdXBhcnNlLmg6CgkqIGdzdC9jdXR0ZXIvZ3N0Y3V0dGVyLmM6CgkqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyLmM6CgkqIGdzdC9sZXZlbC9nc3RsZXZlbC5jOgoJKiBnc3QvbGV2ZWwvZ3N0bGV2ZWwuaDoKCSogZ3N0L3J0cC9nc3RydHBMMTZkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cEwxNnBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHZyYXdkZXBheS5jOgoJKiBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uYzoKCSogc3lzL29zcy9nc3Rvc3NoZWxwZXIuYzoKCSogc3lzL29zcy9nc3Rvc3NzaW5rLmM6CgkqIHN5cy9vc3MvZ3N0b3Nzc3JjLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvaW52ZXJ0LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2xldmVsLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cC1wYXlsb2FkaW5nLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cGppdHRlcmJ1ZmZlci5jOgoJKiB0ZXN0cy9leGFtcGxlcy9sZXZlbC9sZXZlbC1leGFtcGxlLmM6CgkqIHRlc3RzL2V4YW1wbGVzL3NwZWN0cnVtL3NwZWN0cnVtLWV4YW1wbGUuYzoKCSAgcG9ydCBtb3JlIGVsZW1lbnRzIHRvIG5ldyBhdWRpbyBjYXBzIGFuZCBBUEkKCjIwMTEtMDgtMTkgMTE6NDk6NDQgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9meC9hdWRpb2FtcGxpZnkuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9hbXBsaWZ5Lmg6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvY2hlYmJhbmQuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9jaGVibGltaXQuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9keW5hbWljLmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvZWNoby5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb2ZpcmZpbHRlci5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb2ZpcmZpbHRlci5oOgoJKiBnc3QvYXVkaW9meC9hdWRpb2Z4YmFzZWZpcmZpbHRlci5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb2Z4YmFzZWlpcmZpbHRlci5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb2lpcmZpbHRlci5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb2lpcmZpbHRlci5oOgoJKiBnc3QvYXVkaW9meC9hdWRpb2ludmVydC5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb2thcmFva2UuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9rYXJhb2tlLmg6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvd3NpbmNiYW5kLmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvd3NpbmNiYW5kLmg6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvd3NpbmNsaW1pdC5jOgoJICBwb3J0IHRvIG5ldyBhdWRpbyBBUEkgYW5kIGNhcHMKCjIwMTEtMDgtMTggMTM6Mzc6MzkgKzAyMDAgIERhdmlkIEhlbm5pbmdzc29uIDxkYXZpZC5oZW5uaW5nc3NvbkBjYW5vbmljYWwuY29tPgoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJICBwdWxzZXNpbms6IEFsbG93IHdyaXRlcyBpbiBiaWdnZXIgY2h1bmtzCgkgIFRoZXJlJ3Mgbm8gdXNlIGluIHNwbGl0dGluZyB0aGUgaW5jb21pbmcgZGF0YSBkb3duIHRvIHRoZSBzZWdzaXplCgkgIGxpbWl0IC0gYnkgd3JpdGluZyBhcyBtdWNoIGFzIHBvc3NpYmxlIGluIG9uZSBjaHVuaywgd2UgaW5jcmVhc2UKCSAgcGVyZm9ybWFuY2UgYW5kIGF2b2lkIFB1bHNlQXVkaW8gdW5uZWNlc3NhcnkgcmV3aW5kcy4KCSAgU2lnbmVkLW9mZi1ieTogRGF2aWQgSGVubmluZ3Nzb24gPGRhdmlkLmhlbm5pbmdzc29uQGNhbm9uaWNhbC5jb20+CgoyMDExLTA4LTE4IDE5OjM3OjM5ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSAgTWVyZ2UgYnJhbmNoICdtYXN0ZXInIGludG8gMC4xMQoKMjAxMS0wOC0xOCAxOToyMTowNyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9qYWNrL2dzdGphY2suaDoKCSogZXh0L2phY2svZ3N0amFja2F1ZGlvc2luay5jOgoJKiBleHQvamFjay9nc3RqYWNrYXVkaW9zcmMuYzoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJKiBleHQvcHVsc2UvcHVsc2VzcmMuYzoKCSogZXh0L3B1bHNlL3B1bHNldXRpbC5jOgoJKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvYXVkaW9zaW5rLmM6CgkqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG9hdWRpb3NyYy5jOgoJICBwb3J0IHRvIG5ldyBhdWRpbyBjYXBzLgoKMjAxMS0wOC0wOCAyMjoxNDoyOCArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2FkZW11eDogZW5zdXJlIG5vLW1vcmUtcGFkcyBpcyBhbHdheXMgZW1pdHRlZAoJICBJbiBwYXJ0aWN1bGFyLCBkbyBzbyBldmVuIGlmIGZhaWxpbmcgdG8gcmVhZCB3aGlsZSBwcmVyb2xsaW5nLAoJICBzdWNoIGFzIHdoZW4gcmVhZGluZyBmcm9tIGEgcGFydGlhbCBmaWxlIChlZywgd2hpbGUgaXQgaXMgYmVpbmcKCSAgZG93bmxvYWRlZCkuCgkgIFRoaXMgZml4ZXMgYSB3ZWRnZSBpbiBwbGF5YmluMi4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1MTk2NQoKMjAxMS0wOC0xNyAxNzo1NzoxMSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzoKCSAgdjRsMjogaW1wcm92ZSBmaXhhdGUgZnVuY3Rpb24KCSAgVXNlIG5ldyBjb3JlIGZ1bmN0aW9uIHRvIGZpeGF0ZSBhIGZpZWxkLgoJICBDaGFpbiB1cCB0byBwYXJlbnQgZml4YXRlIGZ1bmN0aW9uLgoKMjAxMS0wOC0xNyAxNTo1MjoxOCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkgIE1lcmdlIGJyYW5jaCAnbWFzdGVyJyBpbnRvIDAuMTEKCSAgQ29uZmxpY3RzOgoJICBleHQvZmxhYy9nc3RmbGFjZGVjLmMKCjIwMTEtMDgtMTcgMTU6Mzk6MjcgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9qcGVnL01ha2VmaWxlLmFtOgoJKiBleHQvanBlZy9nc3RqcGVnLmM6CgkqIGV4dC9qcGVnL2dzdGpwZWdkZWMuYzoKCSogZXh0L2pwZWcvZ3N0anBlZ2RlYy5oOgoJKiBleHQvanBlZy9nc3RqcGVnZW5jLmM6CgkqIGV4dC9qcGVnL2dzdGpwZWdlbmMuaDoKCSAganBlZzogcG9ydCB0byAwLjExCgkgIEFsc28gZGlzYWJsZSBzbW9rZSBmb3Igbm93LgoKMjAxMS0wOC0xNiAxNzoyNzoxMyArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmxhYy9nc3RmbGFjZGVjLmM6CgkgIGZsYWNkZWM6IGF2b2lkIHRpbWVzdGFtcC9vZmZzZXQgdHJhY2tpbmcgZ29pbmcgb3V0IG9mIHN5bmMKCSAgVGhlIGxpYkZMQUMgQVBJIGlzIGNhbGxiYWNrIGJhc2VkLCBhbmQgd2UgbXVzdCBvbmx5IGNhbGwgaXQgdG8KCSAgb3V0cHV0IGRhdGEgd2hlbiB3ZSBrbm93IHdlIGhhdmUgZW5vdWdoIGlucHV0IGRhdGEuIEZvciB0aGlzCgkgIHJlYXNvbiwgYSBzaW5nbGUgcHJvY2Vzc2luZyBzdGVwIGlzIGRvbmUgd2hlbiByZWNlaXZpbmcgYSBidWZmZXIuCgkgIEhvd2V2ZXIsIGlmIHRoZXJlIHdlcmUgbWV0YWRhdGEgYnVmZmVycyBzdGlsbCBwZW5kaW5nLCBhIHN0ZXAKCSAgaW50ZW5kZWQgZm9yIHRoZSBmaXJzdCBhdWRpbyBmcmFtZSBtaWdodCBlbmQgdXAgd3JpdGluZyB0aGF0CgkgIGxlZnRvdmVyIG1ldGFkYXRhLiBTaW5jZSBhIHNpbmdsZSBzdGVwIGlzIGRvbmUgcGVyIGJ1ZmZlciwgdGhpcwoJICB3aWxsIGNhdXNlIGV2ZXJ5IGJ1ZmZlciB0byBiZSB3cml0dGVuIG9uZSBzdGVwIGxhdGUuCgkgIFRoaXMgd291bGQgYWRkIHNvbWUgbGF0ZW5jeSAoYSBidWZmZXJmdWxsJ3Mgd29ydGgpLCBwb3NzaWJseQoJICBsb3NlIGEgYnVmZmVyIHdoZW4gc2Vla2luZyBvciB0aGUgbGlrZSwgYW5kIGFsc28gY2F1c2UgdGltZXN0YW1wCgkgIGFuZCBvZmZzZXQgdG8gYmUgYXBwbGllZCB0byB0aGUgd3JvbmcgYnVmZmVyLCBhcyB1cGRhdGVzIHRvCgkgIHRoZSAiY3VycmVudCIgc2VnbWVudCBsYXN0X3N0b3AgKGZyb20gaW5jb21pbmcgYnVmZmVyIHRpbWVzdGFtcCkKCSAgd2lsbCBiZSBhcHBsaWVkIHRvIGFuIG91dHB1dCBidWZmZXIgb3JpZ2luYXRpbmcgZnJvbSB0aGUgcHJldmlvdXMKCSAgaW5jb21pbmcgYnVmZmVyLgoJICBUaGlzIGZpeGVzIHRoZSBpc3N1ZSBieSBlbnN1cmluZyB0aGF0LCB1cG9uIHJlY2VpdmluZyB0aGUgZmlyc3QKCSAgYXVkaW8gZnJhbWUsIHByb2Nlc3NpbmcgaXMgZG9uZSB0aWxsIGFsbCBtZXRhZGF0YSBpcyBwcm9jZXNzZWQsCgkgIHNvIHRoZSBuZXh0ICJzaW5nbGUgc3RlcCIgZG9uZSB3aWxsIGJlIGZvciB0aGUgYXVkaW8gZnJhbWUuIEFmdGVyCgkgIHRoaXMsIHdlIHNob3VsZCBrZWVwIHRvIDEgaW5wdXQgYnVmZmVyIC0+IDEgb3V0cHV0IGJ1ZmZlciBhbmQgc28KCSAgYXZvaWQgZ2V0dGluZyBvdXQgb2Ygc3luYy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1MDk2MAoKMjAxMS0wOC0xNyAxMToxNzozOCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkgIE1lcmdlIGJyYW5jaCAnbWFzdGVyJyBpbnRvIDAuMTEKCjIwMTEtMDgtMTYgMTU6MzI6MDcgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5jOgoJICBmbGFjZGVjOiBiYWlsIG9uIHJlc2VydmVkIHZhbHVlCgkgIE5vdyB0aGF0IHdlIGxvb2sgYXQgdGhlIHJpZ2h0IGJpdHMsIHdlIGNhbiB0ZXN0IGFnYWluc3QgdGhlIHJlc2VydmVkCgkgIHZhbHVlIGFzIHdlIGRvIGZvciBvdGhlciBmaWVsZHMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NTA5NjAKCjIwMTEtMDgtMTYgMTU6Mjc6NDMgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5jOgoJICBmbGFjZGVjOiBmaXggYml0IHR3aWRkbGluZwoJICBSaWdodCBzaGlmdGluZyBhIDggYml0IHZhbHVlIGJ5IDggYml0cyBpcyB0d2ljZSB0b28gbXVjaAoJICB0byBnZXQgdGhlIGhpZ2ggNCBiaXRzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjUwOTYwCgoyMDExLTA4LTE2IDE1OjIyOjQ2ICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mbGFjL2dzdGZsYWNkZWMuYzoKCSAgZmxhY2RlYzogd2FybiBpZiB3ZSBzZWUgYSB2YXJpYWJsZSBibG9jayBzaXplIHdoZXJlIHVuc3VwcG9ydGVkCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NTA5NjAKCjIwMTEtMDgtMTYgMTg6MjU6MjkgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmM6CgkgIHNwZWN0cnVtOiBhdm9pZCBjcmFzaGluZyBieSByZXNldHRpbmcgdGhlIGNvcnJlY3QgbnVtYmVyIG9mIGNoYW5uZWxzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NTY2MDYKCjIwMTEtMDgtMTYgMTg6MzU6NTMgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJICBNZXJnZSBicmFuY2ggJ21hc3RlcicgaW50byAwLjExCgkgIENvbmZsaWN0czoKCSAgc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5jCgoyMDExLTA4LTE2IDEzOjE2OjIyICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZmxhY3BhcnNlLmM6CgkgIGZsYWNwYXJzZTogZml4IG9mZiBieSBvbmUgaW4gZnJhbWUgc2l6ZSBjaGVjawoJICBZZXMsIEkgd2FzIHRyYWNraW5nIGFub3RoZXIgYnVnIGFuZCB0aGUgc21hbGwgdGVzdCBmaWxlIEkgZ2VuZXJhdGVkCgkgIHRvIHRlc3Qgd2l0aCBpbXByb2JhYmx5IGp1c3QgaGFwcGVuZWQgdG8gdHJpZ2dlciB0aGlzLCB3aXRoIGEgc2Vjb25kCgkgIGFuZCBsYXN0IGZyYW1lIG9mIDE2MTUgYnl0ZXMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NTY2NDkKCjIwMTEtMDgtMTUgMTI6MTk6MTQgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9wYXJzZXIuYzoKCSAgdGVzdHM6IHVwZGF0ZSBmb3IgX25lZ290aWF0ZWRfY2FwcygpIGNoYW5nZQoKMjAxMS0wOC0xNCAyMDo0NjowMSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaWQzZGVtdXgvaWQzdjIuMy4wLmh0bWw6CgkqIGdzdC9pZDNkZW11eC9pZDN2Mi40LjAtZnJhbWVzLnR4dDoKCSogZ3N0L2lkM2RlbXV4L2lkM3YyLjQuMC1zdHJ1Y3R1cmUudHh0OgoJICBpZDNkZW11eDogcmVtb3ZlIHNwZWNzIGZyb20gZ2l0IGFzIHdlbGwgbm93IHRoYXQgcGFyc2luZyBjb2RlIGlzIGluIC1iYXNlCgoyMDExLTA3LTE0IDE1OjQyOjM2ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L2lkM2RlbXV4L01ha2VmaWxlLmFtOgoJKiBnc3QvaWQzZGVtdXgvZ3N0aWQzZGVtdXguYzoKCSogZ3N0L2lkM2RlbXV4L2lkM3RhZ3MuYzoKCSogZ3N0L2lkM2RlbXV4L2lkM3RhZ3MuaDoKCSogZ3N0L2lkM2RlbXV4L2lkM3YyZnJhbWVzLmM6CgkgIGlkM2RlbXV4OiB1c2UgLWJhc2UgcHJvdmlkZWQgaWQzIHRhZyBwYXJzaW5nCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NTQzODgKCjIwMTEtMDgtMTMgMTY6NTE6MjIgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2phY2svZ3N0amFja2F1ZGlvc3JjLmM6CgkgIGphY2thdWRpb3NyYzogZml4IGVycm9yIG1lc3NhZ2UgY29kZQoJICBBbmQgYWxzbyBwb3N0ICdub3QgZm91bmQnIGVycm9yIGlmIGphY2tkIGlzIG5vdCBldmVuIGluc3RhbGxlZC4KCjIwMTEtMDgtMTIgMTY6MzI6NTggKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBpbml0aWFsaXplIGJpdHJhdGUgdmFyaWFibGUgYW5kIHJlc2V0IGZvciBlYWNoIGxvb3AKCSAgRG9uJ3QgY2hlY2sgZXZlbnR1YWxseSB1bnNldCB2YXJpYWJsZSBhbmQgZG9uJ3QgYWNjaWRlbnRpYWxseSB1c2UgdmFsdWVzIGZyb20gbGFzdAoJICBjeWNsZS4KCjIwMTEtMDgtMTAgMTE6Mjg6MjYgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2FhbGliL2dzdGFhc2luay5jOgoJICBhYXNpbms6IFJlbW92ZSB1bnVzZWQgdmFyaWFibGVzCgoyMDExLTA4LTA5IDExOjI4OjE3ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogUHJvcGVybHkgZXJyb3Igb3V0IGlmIFNEUCBjb250YWlucyBubyBzdHJlYW1zCgkgIEFsc28gZml4ZXMgdW5pdGlhbGl6ZWQgdmFyaWFibGUgZXJyb3Igb24gbWFjb3N4LgoKMjAxMS0wOC0wOSAwOTowNTozMSArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMveGltYWdlL2dzdHhpbWFnZXNyYy5jOgoJICB4aW1hZ2VzcmM6IGNsZWFyIGZsYWdzIG9uIGJ1ZmZlciByZXVzZQoJICBUaGlzIHdpbGwgZW5zdXJlIGEgbG9naWNhbGx5IG5ldyBidWZmZXIgZG9lcyBub3Qga2VlcCBmbGFncyBmcm9tCgkgIGEgcHJldmlvdXMgdXNlIG9mIHRoYXQgYnVmZmVyIChlZywgRElTQ09OVCB3b3VsZCBiZSBzZXQgb24gdGhlIGZpcnN0CgkgIGJ1ZmZlciwgYW5kIG1pc3Rha2VubHkga2VwdCB3aGVuIHJldXNlZCkuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NTM3MDkKCjIwMTEtMDgtMDggMTA6NTQ6MjYgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICB2NGwyOiB0YWtlIGNhcmUgbm90IHRvIGNoYW5nZSB0aGUgY3VycmVudCBmb3JtYXQgd2hlcmUgYXBwcm9wcmlhdGUKCSAgU29tZSBkcml2ZXJzIGFyZSBidWdneSBhcmUgd2lsbCBjaGFuZ2UgdGhlIGN1cnJlbnQgZm9ybWF0IHdoZW4KCSAgcHJvY2Vzc2luZyBWSURJT0NfVFJZX0ZNVC4gU2F2ZSBhbmQgcmVzdG9yZSB0aGUgY3VycmVudCBmb3JtYXQKCSAgdG8gZW5zdXJlIHRoZSBmb3JtYXQgaXMga2VwdCB1bmNoYW5nZWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NDkwNjcKCjIwMTEtMDgtMDggMTU6Mjc6MTEgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogcG8vYWYucG86CgkqIHBvL2F6LnBvOgoJKiBwby9iZy5wbzoKCSogcG8vY2EucG86CgkqIHBvL2NzLnBvOgoJKiBwby9kYS5wbzoKCSogcG8vZGUucG86CgkqIHBvL2VsLnBvOgoJKiBwby9lbl9HQi5wbzoKCSogcG8vZXMucG86CgkqIHBvL2V1LnBvOgoJKiBwby9maS5wbzoKCSogcG8vZnIucG86CgkqIHBvL2dsLnBvOgoJKiBwby9odS5wbzoKCSogcG8vaWQucG86CgkqIHBvL2l0LnBvOgoJKiBwby9qYS5wbzoKCSogcG8vbHQucG86CgkqIHBvL2x2LnBvOgoJKiBwby9tdC5wbzoKCSogcG8vbmIucG86CgkqIHBvL25sLnBvOgoJKiBwby9vci5wbzoKCSogcG8vcGwucG86CgkqIHBvL3B0X0JSLnBvOgoJKiBwby9yby5wbzoKCSogcG8vcnUucG86CgkqIHBvL3NrLnBvOgoJKiBwby9zbC5wbzoKCSogcG8vc3EucG86CgkqIHBvL3NyLnBvOgoJKiBwby9zdi5wbzoKCSogcG8vdHIucG86CgkqIHBvL3VrLnBvOgoJKiBwby92aS5wbzoKCSogcG8vemhfQ04ucG86CgkqIHBvL3poX0hLLnBvOgoJKiBwby96aF9UVy5wbzoKCSAgcG86IHVwZGF0ZSB0cmFuc2xhdGlvbnMKCjIwMTEtMDgtMDggMTU6MjY6MDAgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2FhbGliL01ha2VmaWxlLmFtOgoJICBhYWxpYjogbWFrZSBzdXJlIC1ER1NUX1VTRV9VTlNUQUJMRV9BUEkgaXMgZGVmaW5lZAoJICBTbyB3ZSBkb24ndCBnZXQgd2FybmluZ3MuCgoyMDExLTA4LTA4IDE1OjI1OjMxICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL01ha2VmaWxlLmFtOgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkqIHN5cy92NGwyL2dzdHY0bDJzaW5rLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJ2aWRlb292ZXJsYXkuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnZpZGVvb3ZlcmxheS5oOgoJKiBzeXMvdjRsMi9nc3R2NGwyeG92ZXJsYXkuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnhvdmVybGF5Lmg6CgkgIHY0bDI6IHVwZGF0ZSBmb3IgR3N0WE92ZXJsYXkgPT4gR3N0VmlkZW9PdmVybGF5IHJlbmFtZQoKMjAxMS0wOC0wNyAxMjoyMzoyNiArMDIwMCAgU2pvZXJkIFNpbW9ucyA8c2pvZXJkLnNpbW9uc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmM6CgkgIHY0bDJzcmM6IFVzZSBmcmFjdGlvbiBjb21wYXJlIHV0aWwgZnVuY3Rpb24uCgkgIFVzZSB0aGUgZnJhY3Rpb24gY29tcGFyZSB1dGlsaXR5IHRvIGNvbXBhcmUgZnVuY3Rpb24sIG5vdCB0aGUKCSAgaGFuZGNyYWZ0ZWQgb25lLiBUaGUgaGFuZGNyYWZ0ZWQgb25lIGlzIGJ1Z2d5IGFzIGl0IGRvZXNuJ3QgdGFrZSBpbnRvCgkgIGFjY291bnQgcm91bmRpbmcgZXJyb3IuIEZvciBleGFtcGxlIGNvbXBhcmluZyBhIGZyYW1lcmF0ZSBvZiAyMC8xIG9uIGEKCSAgY2FtZXJhIGNvbmZpZ3VyZWQgYXMgMzAvMSBmcHMgd291bGQgeWllbGQgdHJ1ZTogMSA9PSAoMSAqIDIwKS8zMCBhbmQgbm90CgkgIHJlLWNvbmZpZ3VyZSB0aGUgY2FtZXJhLiBGaXhlcyAjNjU2MTA0CgoyMDExLTA4LTA3IDExOjE0OjUwICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3B1bHNlL3B1bHNlc3JjLmM6CgkqIGV4dC9wdWxzZS9wdWxzZXNyYy5oOgoJICBwdWxzZXNyYzogYXZvaWQgcmFjZSBpbiBzdGFydGluZwoJICBTaW5lIHRoZSBiYXNlIGNsYXNzIG5vdyBkb2VzIHRoZSBuZWdvdGlhdGlvbiBmcm9tIHRoZSBzdHJlYW1pbmcgdGhyZWFkIHdlIGhhdmUKCSAgdG8gYmUgY2FyZWZ1bCBhbmQgY2hlY2sgaWYgdGhlIHN0cmVhbSBpcyByZWFkeSBiZWZvcmUgY2hhbmdpbmcgaXRzIGNvcmtlZCBzdGF0ZS4KCjIwMTEtMDgtMDUgMTI6Mjc6MTggKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgIGNoZWNrOiBVc2UgR1NUX0NGTEFHUyB3aGVuIGJ1aWxkaW5nIHRlc3RzCgkgIEVuc3VyZXMgd2UgaGF2ZSB0aGUgcHJvcGVyIGRlZmluZSBmb3IgdXNpbmcgdW5zdGFibGUgQVBJCgoyMDExLTA4LTA1IDA4OjU5OjU5ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4LmM6CgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBpc29tcDQ6IGZpeHVwIGFmdGVyIHNtYWxsIGFwaSBjaGFuZ2VzCgkgIFBvcnQgdG8gcmVjZW50bHkgY2hhbmdlZCBhcGkgc28gdGhhdCBpdCBjb21waWxlcyBhZ2Fpbi4KCjIwMTEtMDgtMDUgMTE6MzI6NDUgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3k0bS9NYWtlZmlsZS5hbToKCSAgeTRtZW5jOiBOb3cgZGVwZW5kcyBvbiBsaWJnc3R2aWRlbwoKMjAxMS0wOC0wNCAxODo0MToyOSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9wdWxzZS9wdWxzZXNyYy5jOgoJICBwdWxzZTogbW9yZSBjbGVhbnVwcwoKMjAxMS0wOC0wNCAxODoxNTo1NSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9wdWxzZS9wdWxzZXNyYy5jOgoJICBwdWxzZXNyYzogc21hbGwgY2xlYW51cHMKCjIwMTEtMDgtMDQgMTY6MzU6NDYgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkgIHY0bDJzcmM6IGNhbGwgc2V0X2NhcHMgbWV0aG9kIG9mIGJhc2VjbGFzcwoJICBDYWxsIHRoZSBiYXNlY2xhc3Mgc2V0X2NhcHMgZnVuY3Rpb24gdG8gbWFrZSBpdCBzZW5kIHRoZSBjYXBzIGV2ZW50IGFuZAoJICBwcm9wZXJseSB0cmlnZ2VyIHRoZSBuZWdvdGlhdGlvbiBmdW5jdGlvbnMuCgoyMDExLTA4LTA0IDE2OjI1OjA0ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3B1bHNlL3B1bHNlc3JjLmM6CgkgIHB1bHNlc3JjOiBzbWFsbCBjbGVhbnVwcwoKMjAxMS0wOC0wNCAxNToyNToyMCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L2dvb20vZ3N0Z29vbS5jOgoJICBnb29tOiBwb3J0IHRvIG5ldyBjYXBzCgoyMDExLTA4LTA0IDEzOjUyOjE4ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJzaW5rLmM6CgkgIHY0bDJzaW5rOiBTaXplIHZhcmlhYmxlIHNob3VsZCBiZSBhIGd1aW50IGFuZCBub3QgYSBnc2l6ZQoKMjAxMS0wOC0wNCAxMjo1MDowMSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmg6CgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5oOgoJKiBzeXMvdjRsMi9nc3R2NGwyc2luay5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyc2luay5oOgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkgIHY0bDI6IGFjdGl2YXRlIHRoZSBwb29sIGluIGZhbGxiYWNrCgkgIFdoZW4gbm9ib2R5IGlzIHVzaW5nIG91ciBwb29sLCBhY3RpdmF0ZSBpdCBvdXJzZWx2ZXMuCgkgIEF2b2lkIGxlYWtpbmcgdGhlIGJ1ZmZlciBhcnJheS4KCSAgU2V0IGRlZmF1bHQgcG9vbCBjb25maWd1cmF0aW9uIHdpdGggY2Fwcy4KCSAgRG9uJ3Qga2VlcCBjdXJyZW50X2NhcHMsIGNvcmUgZG9lcyB0aGF0IGZvciB1cyBub3cuCgoyMDExLTA4LTAzIDIyOjU3OjQ4ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9pY2xlcy92aWRlb2Nyb3AtdGVzdC5jOgoJICBmaXggY29tcGlsYXRpb24KCSAgaGFsIGVsZW1lbnRzIHdlcmUgcmVtb3ZlZCwgcmVtb3ZlIHRoZW0gZnJvbSBkb2NzIHRvbwoJICBjaGFuZ2UgZXhhbXBsZSBmb3IgcGFkLWJsb2NrIEFQSSAoYWN0dWFsbHkgcmVtb3ZlIHRoZSBwYWQgYmxvY2ssIGFuIGFwcGxpY2F0aW9uCgkgIHNob3VsZCBub3QgYmUgYm90aGVyZWQgd2l0aCB3b3JraW5nIGFyb3VuZCBidWdzIGluIGVsZW1lbnRzKQoKMjAxMS0wOC0wMyAxODozNzoyNyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYzNwYXJzZS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRkZXBheS5jOgoJICBwb3J0IHRvIG5ldyBBUEkKCjIwMTEtMDgtMDMgMTg6MjU6MzAgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJICBNZXJnZSBicmFuY2ggJ21hc3RlcicgaW50byAwLjExCgkgIENvbmZsaWN0czoKCSAgZXh0L3B1bHNlL3B1bHNlc2luay5jCgkgIGV4dC9wdWxzZS9wdWxzZXNyYy5jCgkgIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWMzcGFyc2UuYwoJICBnc3QvcnRwL2dzdHJ0cGgyNjRkZXBheS5jCgkgIGdzdC9ydHAvZ3N0cnRwaDI2NHBheS5jCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNzcmNkZW11eC5jCgoyMDExLTA4LTAzIDIyOjUwOjA1ICsxMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcmVhZC1jb21tb24uYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXJlYWQtY29tbW9uLmg6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS5jOgoJICBtYXRyb3NrYTogUmVnaXN0ZXIgbmV3IGRlYnVnIGNhdGVnb3J5CgkgIFJlZ2lzdGVyIHRoZSBtYXRyb3NrYXJlYWRjb21tb24gZGVidWcgY2F0ZWdvcnkgd2hlbiB0aGUKCSAgcGx1Z2luIGlzIGxvYWRlZCB0byBhdm9pZCBhc3NlcnRpb24gb3V0cHV0IHdoZW4gZGVidWcgaXMgdHVybmVkIG9uLgoKMjAxMS0wOC0wMyAxMzozODowMSArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9pY2xlcy9nZGtwaXhidWZzaW5rLXRlc3QuYzoKCSAgdGVzdC9pY2tsZXM6IFBvcnQgZ2RrcGl4YnVmc2luayB0ZXN0CgoyMDExLTA4LTAzIDEzOjMzOjU5ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdXRvZGV0ZWN0LmM6CgkgIFJldmVydCAidGVzdHMvY2hlY2svTWFrZWZpbGUuYW06IERpc2FibGUgYXV0b2RldGVjdCB0ZXN0IHRlbXBvcmFyaWx5LCBzbyB0aGF0IHRoZSBidWlsZCBib3RzIHVwZGF0ZSAtYmFkIGFuZCB0aGUgcmFua3Mgb2YgdW5yLi4uIgoJICBUaGlzIHJldmVydHMgY29tbWl0IDQ3NWFlZDhhZjZkMmE1N2MxZDIxNDkwYzgyNGU3NTRhNmIyMzY3YTkuCgkgIEl0IHdvbid0IGNvbnNpZGVyIGVsZW1lbnRzIGZyb20gYW55d2hlcmUgZWxzZSBhbnltb3JlCgoyMDExLTA4LTAzIDEzOjEwOjQ2ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9wYXJzZXIuYzoKCSAgY2hlY2s6IFVwZGF0ZSBwYXJzZXIgbWluaS1saWIgdG8gMC4xMSBBUEkKCjIwMTEtMDgtMDMgMTM6MDk6MDcgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogcG8vUE9URklMRVMuaW46CgkgIHBvOiB1cGRhdGUgZm9yIG1vZGlmaWVkIHNvdXJjZSBmaWxlIGxvY2F0aW9uCgoyMDExLTA4LTAzIDEzOjA4OjQzICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlLmFjOiBjYWlyb19nb2JqZWN0IGlzbid0IHBvcnRlZCBlaXRoZXIKCjIwMTEtMDgtMDMgMTA6NTk6NTYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvTWFrZWZpbGUuYW06CgkqIGV4dC9oYWwvTWFrZWZpbGUuYW06CgkqIGV4dC9oYWwvZ3N0aGFsYXVkaW9zaW5rLmM6CgkqIGV4dC9oYWwvZ3N0aGFsYXVkaW9zaW5rLmg6CgkqIGV4dC9oYWwvZ3N0aGFsYXVkaW9zcmMuYzoKCSogZXh0L2hhbC9nc3RoYWxhdWRpb3NyYy5oOgoJKiBleHQvaGFsL2dzdGhhbGVsZW1lbnRzLmM6CgkqIGV4dC9oYWwvZ3N0aGFsZWxlbWVudHMuaDoKCSogZXh0L2hhbC9oYWwuYzoKCSogZXh0L2hhbC9oYWwuaDoKCSAgaGFsOiBSZW1vdmUgaGFsIHBsdWdpbgoJICBoYWwgaXMgbm90IGRldmVsb3BlZCBhbnltb3JlIGFuZCBub2JvZHkgaXMgdXNpbmcgdGhlIHBsdWdpbiBub3dhZGF5cy4KCjIwMTEtMDctMjkgMTM6MDM6NTUgKzAyMDAgIFBoaWxpcHBlIE5vcm1hbmQgPHBub3JtYW5kQGlnYWxpYS5jb20+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogc29mdGVuIGFzc2VydGlvbiBjaGVjayBvbiBzdHJlYW0gc2l6ZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjU1NTcwCgoyMDExLTA4LTAzIDEwOjA5OjQyICswMjAwICBSb2JlcnQgS3Jha29yYSA8cm9iLmtyYWtvcmFAbWVzc2FnZW5ldHN5c3RlbXMuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBqcGVncGF5LmM6CgkgIHJ0cGpwZWdwYXk6IEFkZCBzdXBwb3J0IGZvciBILjI2NCBwYXlsb2FkIGluIE1KUEVHIGNvbnRhaW5lcgoJICBTZWUgaHR0cDovL3d3dy5xdWlja2NhbXRlYW0ubmV0L3V2Yy1oMjY0L1VTQl9WaWRlb19QYXlsb2FkX0guMjY0XzAuODcucGRmCgkgIEZpeGVzIGJ1ZyAjNjU1NTMwLgoKMjAxMS0wOC0wMiAyMjowNTowOCAtMDQwMCAgVHJpc3RhbiBNYXR0aGV3cyA8dHJpc3RhbkBzYXQucWMuY2E+CgoJKiBleHQvamFjay9nc3RqYWNrYXVkaW9zaW5rLmM6CgkqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NpbmsuaDoKCSAgamFja2F1ZGlvc2luazogRG9uJ3QgY2FsbCBnX2FsbG9jYSgpIGluIHByb2Nlc3NfY2IKCSAgZ19hbGxvY2EoKSBpcyBub3QgUlQtc2FmZSwgc28gaW5zdGVhZCB3ZSBzaG91bGQgYWxsb2NhdGUgdGhlCgkgIG1lbW9yeSBuZWVkZWQgaW4gYWR2YW5jZS4gRml4ZXMgIzY1NTg2NgoKMjAxMS0wOC0wMyAwODo1ODowMCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogQWRkIGhhbCB0byB0aGUgbGlzdCBvZiBub24tcG9ydGVkIHBsdWdpbnMKCjIwMTEtMDgtMDMgMDg6NTM6MjQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IEFkZCBtb25vc2NvcGUgdG8gdGhlIGxpc3Qgb2Ygbm9uLXBvcnRlZCBwbHVnaW5zCgoyMDExLTA4LTAzIDA4OjUxOjE5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9lZmZlY3R2L2dzdHF1YXJrLmM6CgkqIGdzdC9lZmZlY3R2L2dzdHdhcnAuYzoKCSAgZWZmZWN0djogRml4IHVudXNlZCBidXQgc2V0IHZhcmlhYmxlIGNvbXBpbGVyIHdhcm5pbmdzCgoyMDExLTA4LTAyIDIzOjQyOjU4ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tdWx0aXBhcnQvbXVsdGlwYXJ0ZGVtdXguYzoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICBkb2NzOiBmaXggdHdvIG1vcmUgU2luY2U6IHRhZ3MKCjIwMTEtMDctMzEgMDQ6MTk6MDAgKzAzMDAgIE1hcnQgUmF1ZHNlcHAgPGxlaW9AZ2VudG9vLm9yZz4KCgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5jOgoJICBkZWludGVybGFjZTogRml4IFNpbmNlIHRhZ3MgZm9yIGZpZWxkYW5hbHlzaXMgcmVsYXRlZCBuZXcgcHJvcGVydGllcwoJICBjb21taXQgYzFiMTAwY2Y5YyBpcyBhZnRlciAwLjEwLjI5IGFuZCAwLjEwLjMwIHdhcyBhIGJyYW5jaGVkIHJlbGVhc2UuCgkgIFNvIGZpeCBTaW5jZSB0YWdzIGZyb20gMC4xMC4yOSB0byAwLjEwLjMxIGZvciB0aGUgbmV3IHByb3BlcnRpZXMuCgoyMDExLTA4LTAyIDExOjUxOjQ1ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHB2b3JiaXNwYXkuYzoKCSAgcnRwdm9yYmlzcGF5OiBmaXggcG9ydGluZyBlcnJvcgoKMjAxMS0wOC0wMiAxMToyOTo0MCArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZS5hYzogRGVmaW5lIGxpc3Qgb2Ygbm9uLXBvcnRlZCBwbHVnaW5zCgoyMDExLTA4LTAyIDExOjI5OjI1ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGNvbW1vbjoKCSAgVXBkYXRlIGNvbW1vbiBzdWJtb2R1bGUKCjIwMTEtMDgtMDIgMTE6MTc6MzggKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmUuYWM6IFNvcnQgQUdfR1NUX0NIRUNLX1BMVUdJTiBhbHBoYWJldGljYWxseQoKMjAxMS0wNy0yOSAxNzoyNzowNyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9lZmZlY3R2L2dzdHdhcnAuYzoKCSogZ3N0L3J0cC9nc3RydHB2cmF3ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHB2cmF3ZGVwYXkuaDoKCSAgLWdvb2Q6IGZpeCBmb3IgYnVmZmVycG9vbCBBUEkgY2hhbmdlCgoyMDExLTA3LTI5IDE3OjIxOjAzICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJICB2NGw6IGNoYW5nZSBmb3IgbmV3IEFQSQoKMjAxMS0wNy0yOSAxMzowNTo0MiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkgIHB1bHNlc2luazogZml4IHZhcmlhYmxlLXNldC1idXQtbm90LXVzZWQgY29tcGlsZXIgd2FybmluZyB3aXRoIG9sZGVyIHB1bHNlIHZlcnNpb25zCgoyMDExLTA3LTI5IDEyOjA3OjI0ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSAgcnRwc2Vzc2lvbjogcHJvcGVybHkgaW5pdCBydGNwX21pbl9pbnRlcnZhbAoKMjAxMS0wMy0wOSAxMTowNDozNiArMDUzMCAgQXJ1biBSYWdoYXZhbiA8YXJ1bi5yYWdoYXZhbkBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuaDoKCSogZXh0L3B1bHNlL3B1bHNldXRpbC5jOgoJICBwdWxzZXNpbms6IEFkZCBzdXBwb3J0IGZvciBjb21wcmVzc2VkIGZvcm1hdHMKCSAgVGhpcyBhZGRzIHN1cHBvcnQgZm9yIHZhcmlvdXMgY29tcHJlc3NlZCBmb3JtYXRzIChBQzMsIEUtQUMzLCBEVFMgYW5kCgkgIE1QMykgcGF5bG9hZGVkIGluIElFQyA2MTkzNyBmb3JtYXQgKHVzZWQgZm9yIHRyYW5zbWlzc2lvbiBvdmVyIFMvUERJRiwKCSAgSERNSSBhbmQgQmx1ZXRvb3RoKS4KCSAgVGhlIGFjY2VwdGNhcHMoKSBmdW5jdGlvbiBhbGxvd3MgYmlucyB0byBwcm9iZSBmb3Igd2hhdCBmb3JtYXRzIHRoZSBzaW5rCgkgIGJlaW5nIGNvbm5lY3RlZCB0byBzdXBwb3J0LiBUaGlzIG9ubHkgd29ya3MgYWZ0ZXIgdGhlIGVsZW1lbnQgaXMgc2V0IHRvCgkgIGF0IGxlYXN0IFJFQURZLgoJICBJZiB0aGUgdW5kZXJseWluZyBzaW5rIGNoYW5nZXMgYW5kIHRoZSBmb3JtYXQgd2UgYXJlIHN0cmVhbWluZyBpcyBub3QKCSAgYXZhaWxhYmxlLCB3ZSBlbWl0IGEgbWVzc2FnZSB0aGF0IHdpbGwgYWxsb3cgdXBzdHJlYW0gZWxlbWVudHMvYmlucyB0bwoJICBibG9jayBhbmQgcmVuZWdvdGlhdGUgYSBuZXcgZm9ybWF0LgoKMjAxMS0wMy0wMSAxNTozNDo0NiArMDUzMCAgQXJ1biBSYWdoYXZhbiA8YXJ1bi5yYWdoYXZhbkBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSogZXh0L3B1bHNlL3B1bHNldXRpbC5jOgoJKiBleHQvcHVsc2UvcHVsc2V1dGlsLmg6CgkgIHB1bHNlc2luazogVXNlIHRoZSBleHRlbmRlZCBzdHJlYW0gQVBJIGlmIGF2YWlsYWJsZQoJICBUaGlzIHVzZXMgdGhlIG5ldyBleHRlbmRlZCBBUEkgZm9yIGNyZWF0aW5nIHN0cmVhbXMuIFRoaXMgd2lsbCBhbGxvdyB1cwoJICB0byBzdXBwb3J0IGNvbXByZXNzZWQgZm9ybWF0cyBuYXRpdmVseSBpbiBwdWxzZXNpbmsgYXMgd2VsbC4KCjIwMTEtMDctMjkgMDA6MDc6NTIgKzA1MzAgIEFydW4gUmFnaGF2YW4gPGFydW4ucmFnaGF2YW5AY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3B1bHNlL3B1bHNlc3JjLmM6CgkqIGV4dC9wdWxzZS9wdWxzZXNyYy5oOgoJICBwdWxzZXNyYzogQWRkIGEgc291cmNlLW91dHB1dC1pbmRleCBwcm9wZXJ0eQoJICBUaGlzIGV4cG9zZXMgdGhlIHNvdXJjZSBvdXRwdXQgaW5kZXggb2YgdGhlIHJlY29yZCBzdHJlYW0gdGhhdCB3ZSBvcGVuCgkgIHNvIHRoYXQgY2xpZW50cyBjYW4gdXNlIHRoaXMgd2l0aCB0aGUgaW50cm9zcGVjdGlvbiBpZiB0aGV5IHdhbnQgKHRvCgkgIG1vdmUgdGhlIHN0cmVhbSwgZm9yIGV4YW1wbGUpLgoKMjAxMS0wNy0yOCAxNDo0NDo1NyArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzc3JjZGVtdXguYzoKCSAgcnRwc3NyY2RlbXV4OiBrZWVwIGEgcmVmIG9uIHRoZSBzcmMgcGFkIHdoaWxlIHVzaW5nIGl0CgkgIFByZXZlbnQgYSBwb3NzaWJsZSByYWNlIGlmIGNsZWFyX3NzcmMoKSBpcyBjYWxsZWQgYmV0d2VlbiBnZXR0aW5nIHRoZSBwYWQgYW5kCgkgIGRvaW5nIHRoZSBwdXNoLgoJICBCYXNlZCBvbiBwYXRjaCBieSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjUwOTE2CgoyMDExLTA1LTI0IDExOjI5OjU3ICswMzAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc3NyY2RlbXV4LmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNzcmNkZW11eC5oOgoJICBydHBzc3JjZGVtdXg6IE1ha2UgdGhlIHBhZHMgbG9jayByZWN1cnNpdmUgYW5kIGhvbGQgaXQgYWNyb3NzIHRoZSBzaWduYWwgZW1pdAoJICBXZSBuZWVkIHRvIGtlZXAgdGhlIGxvY2sgaGVsZCBiZWNhdXNlIHdlIGRvbid0IHdhbnQgYSBwdXNoIGJlZm9yZSB0aGUgIm5ldy1zc3JjLXBhZCIKCSAgaGFuZGxlciBoYXMgY29tcGxldGVkLiBCdXQgd2UgbWF5IHdhbnQgdG8gcHVzaCBhbiBldmVudCBmcm9tIGluc2lkZSB0aGF0IGhhbmRsZXIsIGhlbmNlCgkgIHRoZSByZWN1cnNpdmUgbXV0ZXguCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NTA5MTYKCjIwMTEtMDUtMjQgMTE6MTc6MjUgKzAzMDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzc3JjZGVtdXguYzoKCSAgcnRwc3NyY2RlbXV4OiBVc2UgUEFEcyBsb2NrCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NTA5MTYKCjIwMTEtMDctMjggMTE6MDk6MDggKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3NwZWV4L2dzdHNwZWV4ZGVjLmM6CgkqIGV4dC9zcGVleC9nc3RzcGVleGVuYy5jOgoJICBzcGVleDogdXBkYXRlIGZvciBwb3NpdGlvbi9xdWVyeS9jb252ZXJ0IEFQSSBjaGFuZ2VzCgoyMDExLTA3LTI4IDEwOjU0OjM4ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZmxhY3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0bXBlZ2F1ZGlvcGFyc2UuYzoKCSogZ3N0L2F1cGFyc2UvZ3N0YXVwYXJzZS5jOgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdG5hdnNlZWsuYzoKCSogZ3N0L2RlYnVndXRpbHMvcHJvZ3Jlc3NyZXBvcnQuYzoKCSogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOgoJKiBnc3QvZmx2L2dzdGZsdm11eC5jOgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6CgkgIGdzdDogdWRwYXRlIGZvciBwb3NpdGlvbi9kdXJhdGlvbi9jb252ZXJ0IHF1ZXJ5IEFQSSBjaGFuZ2VzCgoyMDExLTA3LTI4IDAwOjM3OjEzICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgYXZpZGVtdXg6IGZpeCBjb21waWxlciB3YXJuaW5nCgkgIGdzdGF2aWRlbXV4LmM6IEluIGZ1bmN0aW9uICdnc3RfYXZpX2RlbXV4X3BhcnNlX3N0cmVhbSc6CgkgIGdzdGF2aWRlbXV4LmM6MTI2MToyNDogZXJyb3I6ICdkYXRhJyBtYXkgYmUgdXNlZCB1bmluaXRpYWxpemVkIGluIHRoaXMgZnVuY3Rpb24gWy1XZXJyb3I9dW5pbml0aWFsaXplZF0KCSAgZ3N0YXZpZGVtdXguYzoxMjA0OjExOiBub3RlOiAnZGF0YScgd2FzIGRlY2xhcmVkIGhlcmUKCjIwMTEtMDctMjcgMTg6MTU6MjAgKzAxMDAgIFNqb2VyZCBTaW1vbnMgPHNqb2VyZC5zaW1vbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBoMjY0ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjY0ZGVwYXkuaDoKCSAgcnRwaDI2NGRlcGF5OiBDb3BlIHdpdGggRlUtQSBFIGJpdCBub3QgYmVpbmcgc2V0CgkgIFNvbWUgaDI2NCBwYXlsb2FkZXJzIGFyZSB1bmZvcnR1bmF0ZWx5IGJ1Z2d5IGFuZCBkb24ndCBjb3JyZWN0bHkgc2V0IHRoZQoJICBFIGJpdCBpbiBGVS1BIE5BTCB3aGVuIHRoZXkgaGF2ZSBlbmRlZC4gV29yayBhcm91bmQgdGhpcyBieSBhc3N1bWluZwoJICBzdWNoIGEgZnJhZ21lbnRhdGlvbiB1bml0IGhhcyBlbmRlZCB3aGVuIHRoZXJlIHdhcyBubyBwYWNrZXQgbG9zcyBhbmQgYQoJICBuZXcgTkFMIGlzIHN0YXJ0ZWQKCjIwMTEtMDQtMTIgMTc6MDE6NDcgKzA1MzAgIEFydW4gUmFnaGF2YW4gPGFydW4ucmFnaGF2YW5AY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYzNwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFjM3BhcnNlLmg6CgkgIGFjM3BhcnNlOiBTdXBwb3J0IHN3aXRjaGluZyBhbGlnbm1lbnQgb24tdGhlLWZseQoJICBUaGlzIGFsbG93cyBzd2l0Y2hpbmcgb2YgYWxpZ25tZW50IGZvciBFLUFDMyBzdHJlYW1zIGF0IHJ1bi10aW1lLiBUaGlzCgkgIGlzIHJlcXVlc3RlZCBieSBkb3duc3RyZWFtIGVsZW1lbnRzIHZpYSBhIGN1c3RvbSBldmVudC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1MDMxMwoKMjAxMS0wNy0yNyAxNjo0Njo0NiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmg6CgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5oOgoJKiBzeXMvdjRsMi9nc3R2NGwyc2luay5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkgIHY0bDI6IHJlbW92ZSB1bnVzZWQgdmFyaWFibGVzCgkgIFVzZSB0aGUgbW9yZSBzcGVjaWFsaXplZCB0eXBlIGZvciB0aGUgYnVmZmVycG9vbC4KCSAgVXNlIHRoZSBzaXplIGZyb20gdGhlIGRyaXZlciBhcyB0aGUgc2l6ZSBvZiB0aGUgaW1hZ2UgdG8gcmVhZC4KCSAgRG9uJ3QgY29uZmlndXJlIHRoZSBwb29sIHdoZW4gY3JlYXRlZC4gVGhpcyB3aWxsIGJlIGRvbmUgaW4gdGhlIHNldHVwX2FsbG9jYXRpb24KCSAgbWV0aG9kIGxhdGVyIG9yIGJ5IHVwc3RyZWFtIGZvciBzaW5rcy4KCSAgUmVtb3ZlIHVudXNlZCBwcm9wZXJ0aWVzIGFuZCB2YXJpYWJsZXMuIEJ1ZmZlcnBvb2wgc2l6ZXMgYXJlIG5vdyBjb25maWd1cmVkIGluCgkgIHRoZSBidWZmZXJwb29sIGJ5IHRoZSBlbGVtZW50cyBpbiB0aGUgcGlwZWxpbmUuIFdlIG1pZ2h0IHdhbnQgdG8gaW5mbHVlbmNlIHRoZQoJICBwb29sIHNpemUgbGF0ZXIgc29tZWhvdy4KCjIwMTEtMDctMjcgMTM6NDY6MDkgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5oOgoJICB2NGwyYnVmZmVycG9vbDogcmVtb3ZlIHVudXNlZCB2YXJpYWJsZQoKMjAxMS0wNy0yNyAxMzo0MzowOCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzoKCSAgdjRsMnNyYzogYWRkIG1ldGFkYXRhCgoyMDExLTA3LTI3IDEzOjQxOjI4ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuaDoKCSAgYnVmZmVycG9vbDogY2hlY2sgZm9yIG1ldGFkYXRhCgkgIE9ubHkgYWRkIHZpZGVvIG1ldGFkYXRhIHdoZW4gaXQgd2FzIGNvbmZpZ3VyZWQgaW4gdGhlIHBvb2wuIEZhaWwgaWYgdGhlcmUgd2FzIG5vCgkgIHZpZGVvIG1ldGFkYXRhIGNvbmZpZ3VyZWQgYW5kIHRoZSBzdHJpZGVzIGFyZSBub3QgdGhlIGRlZmF1bHQgb25lcy4KCjIwMTEtMDctMjcgMTI6NDI6MjEgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZWZmZWN0di9nc3R3YXJwLmM6CgkqIGdzdC9lZmZlY3R2L2dzdHdhcnAuaDoKCSAgd2FycDogYWRkIHN0cmlkZSBzdXBwb3J0CgoyMDExLTA3LTI3IDEyOjQxOjMzICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICB2NGwyOiBhZGQgY29sb3JzcGFjZSB0byBkZWJ1ZwoKMjAxMS0wNy0yNiAxNzo0NTowMSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2NHBheS5jOgoJICBydHA6IGZpeCBjb21waWxhdGlvbgoKMjAxMS0wNy0yNiAxNjoxNTowNSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5oOgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkgIHY0bDI6IHJlbmFtZSBhIHZhcmlhYmxlCgkgIFJlbmFtZSB0aGUgc2l6ZSB2YXJpYWJsZSB0byBzaXplaW1hZ2UgYW5kIGZpbGwgaXQgd2l0aCB0aGUgc2l6ZSB0aGF0IGhhcyBiZWVuCgkgIGdpdmVuIHRvIHVzZSBieSB0aGUgdjRsMiBkcml2ZXIgaW5zdGVhZCBvZiBtYWtpbmcgc29tZXRoaW5nIHVwLi4KCjIwMTEtMDctMjYgMTM6MTg6NTUgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyc2luay5jOgoJICB2NGwyOiB1c2UgbmV3IHNldHVwX2FsbG9jYXRpb24gdm1ldGhvZAoKMjAxMS0wNy0yNiAxMDo1NjowNyArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkgIHY0bDI6IGltcGxlbWVudCBtb3JlIGJpdHMgb2YgUlcgSS9PIG1vZGUKCSAgSW1wbGVtZW50IHRoZSByZWxhZXNlIG9mIFJXIGJ1ZmZlcnMgaW4gdGhlIHBvb2wuCgkgIFdhcm4gZm9yIHVuc3VwcG9ydGVkIHdyaXRlKCkgbW9kZSBmb3Igc2lua3MuCgoyMDExLTA3LTI2IDEwOjU0OjIzICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICB2NGwyOiBpbXByb3ZlIElPIG1vZGUgZXJyb3IgaGFuZGxpbmcKCSAgRXJyb3Igb3V0IHdoZW4gYW4gdW5zdXBwb3J0ZWQgSU8gbW9kZSB3YXMgc2VsZWN0ZWQKCjIwMTEtMDQtMDkgMTI6MjY6NTYgKzA1MzAgIEFydW4gUmFnaGF2YW4gPGFydW4ucmFnaGF2YW5AY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYzNwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFjM3BhcnNlLmg6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2FjM3BhcnNlLmM6CgkgIGFjM3BhcnNlOiBBZGQgc3VwcG9ydCBmb3IgSUVDIDYxOTM3IGFsaWdubWVudAoJICBXaGVuIHB1c2hpbmcgb3V0IGJ1ZmZlcnMgb3ZlciBTL1BESUYgb3IgSERNSSwgSUVDIDYxOTM3IHBheWxvYWRpbmcKCSAgcmVxdWlyZXMgZWFjaCBidWZmZXIgdG8gY29udGFpbiA2IGJsb2NrcyBmcm9tIGVhY2ggc3Vic3RyZWFtLiBUaGlzIGFkZHMKCSAgY29kZSB0byBjb2xsZWN0IGFsbCB0aGUgZnJhbWVzIG5lZWRlZCB0byBtZWV0IHRoaXMgcmVxdWlyZW1lbnQgYmVmb3JlCgkgIHB1c2hpbmcgb3V0IGEgYnVmZmVyLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjUwMzEzCgoyMDExLTA2LTA4IDE1OjU3OjM3IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmg6CgkgIHJ0cHNlc3Npb246IEFsd2F5cyBzZW5kIGFwcGxpY2F0aW9uIHJlcXVlc3RlZCBmZWVkYmFjayBpbiBpbW1lZGlhdGUgbW9kZQoJICBTZW5kIGFzIG1hbnkgYXBwbGljYXRpb24gcmVxdWVzdGVkIGZlZWRiYWNrIG1lc3NhZ2VzIGluIGltbWVkaWF0ZSBtb2RlLCBldmVuIGlmIHRoZXkKCSAgaGF2ZSBhbHJlYWR5IGJlZW4gc2VudC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1NDU4MwoKMjAxMS0wNi0wOCAxNDo0ODowMSAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSAgcnRwc2Vzc2lvbjogRG9uJ3QgbGV0IHRoZSBjb21wdXRlZCBSVFAgYmFuZHdpZHRoIGZhbGwgdG9vIGxvdwoJICBJZiBpdCBmYWxscyB0b28gbG93LCB0aGUgY29tcHV0ZWQgUlRDUCBiYW5kd2lkdGggd2lsbCBiZSBuZWFyIHplcm8gYW5kCgkgIHRoZSBSVENQIHRocmVhZCB3aWxsIGJlIHN0b3BwZWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NTQ1ODMKCjIwMTEtMDQtMjUgMTY6MTM6MzggLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSAgcnRwc2Vzc2lvbjogV2FpdCBsb25nZXIgdG8gdGltZW91dCBTU1JDIGNvbGxpc2lvbgoJICBVc2luZyB0aGUgY3VycmVudCBSVENQIGludGVydmFsIHRvIHRpbWVvdXQgU1NSQyBjb2xsaXNpb24gY2FuIGxlYWQgdG8KCSAgY29sbGlzaW9ucyBiZWluZyB0aW1lZCBvdXQgaW1tZWRpYXRlbHkgaWYgYSBCWUUgcGFja2V0IGlzIHNlbnQgYmVjYXVzZQoJICBpdCBpcyBzZW50IGltbWVkaWF0ZWx5LCBzbyB0aGUgaW50ZXJ2YWwgaXMgMC4gVGhpcyBpcyBub3Qgd2hhdCB3ZQoJICB3YW50LiBTbyBqdXN0IHNldCBhIHN0YXRpYyAxMCB0aW1lcyB0aGUgZGVmYXVsdCBSVENQIGludGVydmFsLCBpdAoJICBzaG91bGQgYmUgZW5vdWdoCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NDg2NDIKCjIwMTEtMDctMjUgMTU6NTE6MjIgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5oOgoJICB2NGwyOiByZW1vdmUgdW51c2VkIG1ldGhvZAoKMjAxMS0wNy0yNSAxNTozODozOCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgdjRsMjogZml4IGZsdXNoaW5nIHN0YXJ0IGFuZCBzdG9wCgkgIE1vdmUgdGhlIGZsdXNoaW5nIGNhbGxzIHRvIHRoZSByaWdodCBwbGFjZSBpbiB0aGUgYnVmZmVycG9vbC4KCSAgRml4IHRoZSBtaW4gYW5kIG1heCBidWZmZXIgc2l6ZXMuCgoyMDExLTA3LTI1IDE0OjQ3OjA1ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuaDoKCSAgdjRsMjogZGVxdWV1ZSBidWZmZXJzIHdoZW4gYWxsIGFyZSBxdWV1ZWQKCSAgUHJlZmVyIHRvIGFsd2F5cyB1c2UgdGhlIGRlZmF1bHQgYnVmZmVycG9vbCBxdWV1ZSBmb3IgdGhlIF9hY3F1aXJlIGZ1bmN0aW9uCgkgIGJlY2F1c2UgaXQgcHJvcGVybHkgc3VwcG9ydHMgdW5ibG9ja2luZyB3aGVuIHNldHRpbmcgaW5hY3RpdmUgZXRjLiBBcyBhIHJlc3VsdCwKCSAgd2UgbmVlZCB0byBkZXF1ZXVlIGJ1ZmZlcnMgYW5kIHB1dCB0aGVtIGJhY2sgaW4gdGhlIGJ1ZmZlcnBvb2wgcXVldWUgd2hlbiB3ZQoJICBoYXZlIHF1ZXVlZCBhbGwgYnVmZmVycyBpbiB0aGUgc2luay4KCSAgUmVuYW1lIHNvbWUgdmFyaWFibGVzIHRvIG1vcmUgbWVhbmluZ2Z1bGwgbmFtZXMgdG8gYXZvaWQgYSBwcm9ibGVtIHdpdGgKCSAgZnJlZWluZyB0aGUgd3JvbmcgYW1vdW50IG9mIGJ1ZmZlcnMuCgoyMDExLTA3LTE5IDEzOjM4OjAxICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogc2V0IFNPVVJDRSBmbGFnIGF0IGluaXQgdGltZQoJICBGaXhlcyAjNjU0ODE2LgoKMjAxMS0wNy0yNSAxMDoxMDo1OCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9lZmZlY3R2L2dzdHZlcnRpZ28uYzoKCSAgdmVydGlnb3R2OiBhZGQgc3RyaWRlIHN1cHBvcnQKCjIwMTEtMDctMTkgMTg6MjU6MjkgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJICB2NGwyOiBvbmx5IHRvIFNUUkVBTU9GRiB3aGVuIHN0cmVhbWluZwoJICBPbmx5IGNhbGwgU1RSRUFNT0ZGIHdoZW4gd2UgcHJldmlvdXNseSBjYWxsZWQgU1RSRUFNT04KCjIwMTEtMDctMjIgMjE6MjY6MzIgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcmVwbGF5Z2Fpbi9nc3RyZ2FuYWx5c2lzLmM6CgkgIHJlcGxheTogZml4IGZvciBldmVudCBoYW5kbGVyCgoyMDExLTA3LTIyIDIxOjE5OjQ1ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvZngvYXVkaW9meGJhc2VmaXJmaWx0ZXIuYzoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0bmF2c2Vlay5jOgoJKiBnc3QvZGVidWd1dGlscy9wcm9ncmVzc3JlcG9ydC5jOgoJICBmaXhlcyBmb3IgZXZlbnQgaGFuZGxlciBjaGFuZ2VzCgoyMDExLTA3LTE4IDE2OjQ2OjI3IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBoMjY0ZGVwYXkuYzoKCSAgcnRwaDI2NGRlcGF5OiBDb21wbGV0ZSBtZXJnZWQgQVUgb24gbWFya2VyIGJpdAoJICBUaGUgbWFya2VyIGJpdCBvbiBhIFJUUCBwYWNrZXQgbWVhbnMgdGhlIEFVIGhhcyBiZWVuIGNvbXBsZXRlZCwgc28gcHVzaCBpdCBvdXQKCSAgaW1tZWRpYXRlbHkgdG8gcmVkdWNlIHRoZSBsYXRlbmN5LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjU0ODUwCgoyMDExLTA3LTE4IDIwOjI3OjM4IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBoMjY0cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2NHBheS5oOgoJICBydHBoMjY0cGF5OiBPbmx5IHNldCB0aGUgbWFya2VyIGJpdCBvbiB0aGUgbGFzdCBOQUxVIG9mIGEgbXVsdGktTkFMVSBhY2Nlc3MgdW5pdAoJICBBbiBhY2Nlc3MgdW5pdCBjb3VsZCBjb250YWluIG11bHRpcGxlIE5BTCB1bml0cywgaW4gdGhhdCBjYXNlLCBvbmx5IHRoZSBsYXN0CgkgIFJUUCBwYWNrZXQgb2YgdGhlIGxhc3QgTkFMVSBzaG91bGQgaGF2ZSBpdHMgbWFya2VyIGJpdCBzZXQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NTQ4NTAKCjIwMTEtMDctMjAgMDg6NTI6NTggKzAyMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogZ3N0L211bHRpcGFydC9tdWx0aXBhcnRtdXguYzoKCSAgbXVsdGlwYXJ0OiBmaXggY29tcGlsZXIgd2FybmluZwoKMjAxMS0wNy0xOSAxODoyMDo0MyArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnNpbmsuYzoKCSAgdjRsMjogaGFuZGxlIHVuc3VwcG9ydGVkIGZvcm1hdHMKCjIwMTEtMDctMTkgMTY6NTk6NTUgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuaDoKCSogc3lzL3Y0bDIvZ3N0djRsMnNpbmsuYzoKCSAgdjRsMjogRml4IHNpbmsgYnVmZmVycG9vbCBoYW5kbGluZwoJICBSZW1vdmUgb2xkIG1ldGhvZCwgdXNlIG5ld3cgX3Byb2Nlc3MgbWV0aG9kIGZvciB0aGUgc2luay4KCSAgSW5mb3JtIHRoZSBwYXJlbnQgYnVmZmVycG9vbCBjbGFzcyBhYm91dCB0aGUgc2V0dGluZ3MgdG9vLiBUaGlzIGlzIG5lZWRlZCB0byBsZXQKCSAgaXQga25vdyBhYm91dCB0aGUgbWF4LWJ1ZmZlcnMuCgkgIEFsbG9jYXRlIHRoZSBuZWdvdGlhdGVkIG1heC1idWZmZXJzIGFuZCBpbml0aWFsbHkgbW1hcCBtaW4tYnVmZmVycy4gVGhlIGlkZWEgaXMKCSAgdGhhdCB0aGUgYnVmZmVycG9vbCB3aWxsIGFsbG9jYXRlIG1vcmUgd2hlbiBuZWVkZWQuCgkgIEltcHJvdmUgZGVidWdnaW5nLgoJICBPbmx5IHBvbGwgaW4gY2FwdHVyZSBtb2RlLCBpdCBkb2VzIG5vdCBzZWVtIHRvIHdvcmsgaW4gcGxheWJhY2sgbW9kZSBvbiB0aGlzCgkgIGJlYWdsZWJvYXJkLgoKMjAxMS0wNy0xOSAxMjowNTo1MSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVwYXJzZS9nc3RhdXBhcnNlLmM6CgkgIGF1cGFyc2U6IGF2b2lkIGhhbmdpbmcgb24gaW52YWxpZCBzaG9ydCBpbnB1dAoJICAuLi4gYXMgaW4gc3VjaCBjYXNlIHRoZXJlIGlzIG5vIHNyY3BhZCB5ZXQgb24gd2hpY2ggdG8gZm9yd2FyZCBFT1MuCgoyMDExLTA3LTE4IDE1OjEzOjMzIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9wdWxzZS9wdWxzZXNyYy5jOgoJICBwdWxzZXNyYzogRml4IGRlZmF1bHQgdmFsdWUgbGVha2luZwoJICBSZW1lbWJlciB0byBmcmVlIHRoZSBkZWZhdWx0IHZhbHVlIG9mIGNsaWVudCBuYW1lLCBhdm9pZGluZyBhCgkgIGxlYWsKCjIwMTEtMDctMTggMTg6NTQ6NDkgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5oOgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuaDoKCSogc3lzL3Y0bDIvZ3N0djRsMnNpbmsuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmg6CgkgIHY0bDI6IE1vcmUgd29yayBvbiBidWZmZXJwb29scwoJICBBZGQgZGlmZmVyZW50IHRyYW5zcG9ydCBtZXRob2RzIHRvIHRoZSBidWZmZXJwb29sIChNTUFQIGFuZCBSRUFEL1dSSVRFKQoJICBEbyBtb3JlIHBhcnNpbmcgb2YgdGhlIGJ1ZmZlcnBvb2wgY29uZmlnLgoJICBTdGFydCBhbmQgc3RvcCBzdHJlYW1pbmcgYmFzZWQgb24gdGhlIGJ1ZmZlcnBvb2wgc3RhdGUuCgkgIE1ha2Ugc2VwYXJhdGUgbWV0aG9kcyBmb3IgZ2V0dGluZyBhIGJ1ZmZlciBmcm9tIHRoZSBwb29sIGFuZCBmaWxsaW5nIGl0IHdpdGgKCSAgZGF0YS4gVGhpcyBhbGxvd3MgdXMgdG8gZmlsbCBidWZmZXJzIGZyb20gb3RoZXIgcG9vbHMgdG9vLiBFaXRoZXIgdXNlIGNvcHkgb3IKCSAgcmVhZCB0byBmaWxsIHVwIHRoZSB0YXJnZXQgYnVmZmVycy4KCSAgQWRkIHByb3BlcnR5IHRvIGZvcmNlIGEgdHJhbnNmZXIgbW9kZSBpbiB2NGwyc3JjLgoJICBJbmNyZWFzZSBkZWZhdWx0IG51bWJlciBvZiBidWZmZXJzIHRvIDQuCgkgIE5lZ290aWF0ZSBidWZmZXJwb29sIGFuZCBpdHMgcHJvcGVydGllcyBpbiB2NGwyc3JjLgoKMjAxMS0wNy0xOCAxNDoyNDo0OCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRkZXBheS5jOgoJICBydHBoMjY0ZGVwYXk6IHJlc2V0IHVwb24gRkxVU0hfU1RPUAoJICAuLi4gd2hpY2ggaXMgcGFydGljdWxhcmx5IG5lZWRlZCB3aGVuIG1lcmdpbmcgTkFMIHVuaXRzLCB3aGVyZSBub3QgcmVzZXR0aW5nCgkgIHdvdWxkIGxlYWQgdG8gb3V0cHV0IG9mIGFuIG9sZGVyIChwcmUtZmx1c2gpIEFVICh3aXRoIHVuaW50ZW5kZWQgdGltZXN0YW1wKS4KCjIwMTEtMDctMTggMTQ6MzA6NTEgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L211bHRpZmlsZS9nc3RtdWx0aWZpbGVzaW5rLmM6CgkgIG11bHRpZmlsZXNpbms6IGRvIG5vdCB1c2UgZ19zbGlzdF9mcmVlX2Z1bGwKCSAgLi4uIGFzIHRoYXQgaXMgb25seSBpbiBHTGliIDIuMjgsIHdoaWNoIGlzIG5vdCB5ZXQgcmVxdWlyZWQgYXQgdGhpcyB0aW1lLgoKMjAxMS0wNy0xOCAxMDo1MjoyMyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5oOgoJICB2NGwyOiBhZGQgSU8gbWV0aG9kIGVudW0KCjIwMTEtMDctMTggMTA6NTE6MjEgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJICBidWZmZXJwb29sOiBpbXByb3ZlIF9uZXcgZnVuY3Rpb24KCjIwMTEtMDctMTggMDk6Mzg6MjYgKzAyMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogZ3N0L211bHRpZmlsZS9nc3RtdWx0aWZpbGVzaW5rLmM6CgkqIGdzdC9tdWx0aWZpbGUvZ3N0bXVsdGlmaWxlc2luay5oOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9tdWx0aWZpbGUuYzoKCSAgbXVsdGlmaWxlc2luazogYWRkIG1heC1maWxlcyBwcm9wZXJ0eQoJICBBZGQgbWF4LWZpbGVzIHByb3BlcnR5IHRvIGxpbWl0IHRoZSBudW1iZXIgb2YgZmlsZXMgc2F2ZWQgb24gZGlzay4KCSAgQVBJOiBtdWx0aWZpbGVzaW5rOjptYXgtZmlsZXMKCjIwMTEtMDctMTcgMjM6MzY6NTUgKzAyMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogZ3N0L211bHRpZmlsZS9nc3RtdWx0aWZpbGVzaW5rLmM6CgkgIG11bHRpZmlsZXNpbms6IHJlZmFjdG9yIGZpbGUgb3BlbmluZyBhbmQgY2xvc2luZyBjb2RlCgoyMDExLTA3LTE2IDE5OjM4OjUxICswMjAwICBBbGV4ZXkgRmlzaGVyIDxidWctdHJhY2tAZmlzaGVyLXByaXZhdC5uZXQ+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2FkZW11eDogZml4IHBpeGVsLWFzcGVjdC1yYXRpbyBpZiBoZWFkZXIgaGFzIG9ubHkgb25lIGRpc3BsYXkgdmFyaWFibGUKCSAgQ3VycmVudCBtYXRyb3NrYSBkZW11eCBjYWxjdWxhdGVzIHRoZSBwaXhlbCBhc3BlY3QgcmF0aW8gb25seSBpZiBib3RoCgkgIERpc3BsYXlIZWlnaHQgYW5kIERpc3BsYXlXaWR0aCBhcmUgc2V0LCBidXQgaXQgaXMgbGVnYWwgdG8gdXNlIG9ubHkKCSAgb25lIHZhcmlhYmxlIGlmIHRoZSBvdGhlciBpcyBlcXVhbCB0byBQaXhlbFdpZHRoIG9yIFBpeGVsSGVpZ2h0LCBhdAoJICBsZWFzdCB0aGUgbWtjbGVhbiB1dGlsaXR5IGlzIGRvaW5nIHRoYXQuIFNvIHRoaXMgbWFrc2UgbWtjbGVhbmVkCgkgIGZpbGVzIHBsYXkgY29ycmVjdGx5LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjU0NzQ0CgoyMDExLTA3LTE2IDIzOjQ3OjUwICswMTAwICBBbnRvaW5lIEphY291dG90IDxhamFjb3V0b3RAb3BlbmJzZC5vcmc+CgoJKiBnc3QvZ29vbS9wbHVnaW5faW5mby5jOgoJICBnb29tOiBmaXggYnVpbGQgb24gUFBDIG9uIG9wZW5ic2QKCSAgQSBtaXNzaW5nIHN5cy9wYXJhbS5oIGluY2x1ZGUgcmVzdWx0cyBpbjoKCSAgL3Vzci9pbmNsdWRlL3N5cy9wcm9jLmg6NjQ6IGVycm9yOiAnTUFYTE9HTkFNRScgdW5kZWNsYXJlZCBoZXJlIChub3QgaW4gYQoJICBmdW5jdGlvbikKCSAgL3Vzci9pbmNsdWRlL3N5cy9wcm9jLmg6Mjg1OiBlcnJvcjogJ01BWENPTUxFTicgdW5kZWNsYXJlZCBoZXJlIChub3QgaW4gYQoJICBmdW5jdGlvbikKCSAgd2hlbiBjb21waWxpbmcgZ29vbSBvbiBvcGVuYnNkL3BwYy4gV2UgY2FuIGp1c3QgcmVtb3ZlIHRoZSB0d28gc3lzLyBpbmNsdWRlcwoJICBoZXJlLCB0aGV5IGFyZSBub3QgbmVlZGVkIGZvciBhbnl0aGluZy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1NDc0OQoKMjAxMS0wNy0xNSAxNzowNjozOSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkgIE1lcmdlIGJyYW5jaCAnbWFzdGVyJyBpbnRvIDAuMTEKCjIwMTEtMDctMTUgMTY6NTU6NTAgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkgIHY0bDI6IGltcGxlbWVudCBzZXR1cF9hbGxvY2F0aW9uCgkgIEltcGxlbWVudCB0aGUgc2V0dXBfYWxsb2NhdGlvbiB2bWV0aG9kLCB3ZSdsbCBob3BlZnVsbHkgZG8gc29tZXRoaW5nIGNsZXZlciBpbgoJICB0aGVyZSBsYXRlci4KCjIwMTEtMDctMTUgMTY6MjY6MDYgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIHY0bDI6IGltcHJvdmUgYnVmZmVycG9vbCBjb25maWcgc2V0dGluZwoJICBQYXNzIHRoZSBjYXBzIGFuZCB0aGUgZGVmYXVsdCB2aWRlbyBzaXplIHRvIHRoZSBidWZmZXJwb29sIGNvbmZpZy4KCSAgRG9uJ3QgYWN0aXZhdGUgdGhlIGJ1ZmZlcnBvb2wsIHRoaXMgd2lsbCBiZSBkb25lIGJ5IHRoZSBvYmplY3QgdGhhdCBkZWNpZGVzIHRvCgkgIHVzZSB0aGUgYnVmZmVycG9vbC4KCSAgSW1wcm92ZSBkZWJ1Z2dpbmcgYW5kIGVycm9yIHJlcG9ydGluZy4KCjIwMTEtMDctMTUgMTM6NTI6MzggKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJICB2NGwyOiBoYW5kbGUgZGVxdWV1ZWluZyBjb3JyZWNseQoJICBGaXJzdCBjbGVhbiB1cCB0aGUgYnVmZmVycyBpbiB0aGUgcXVldWUsIHRoZW4gdGhlIHJlbWFpbmluZyBvbmVzIGluIHRoZQoJICBkZXZpY2UuCgoyMDExLTA3LTE1IDEzOjI5OjQyICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICB2NGwyOiB1bnJlZiBjb3BpZWQgYnVmZmVyCgkgIEFmdGVyIHdlIGNvcHkgdGhlIGluY29tbWluZyBidWZmZXIgdG8gb25lIG9mIG91ciBidWZmZXJwb29sIGJ1ZmZlcnMsIHVucmVmIHRoZQoJICB0YXJnZXQgYnVmZmVyIGFmdGVyIHJlbmRlcmluZyBzbyB0aGF0IGl0IGlzIHB1dCBiYWNrIGluIHRoZSBwb29sLgoKMjAxMS0wNy0xNSAxMzowNzoxMSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmg6CgkgIHY0bDI6IGRlcXVldWUgYnVmZmVycyBmb3IgdGhlIHNpbmsKCSAgV2hlbiB3ZSBoYXZlIGFsbCBidWZmZXJzIHF1ZXVlZCBmb3IgcGxheWJhY2sgYW5kIHdlIG5lZWQgYSBuZXcgZW1wdHkgYnVmZmVyLAoJICBkZXF1ZXVlIG9uZSBhbmQgcmV0dXJuIGl0LgoJICBTZXQgdGhlIHJpZ2h0IHNpemUgZm9yIHNpbmsgYnVmZmVycy4KCSAgSW1wcm92ZSBjb3VudGluZyBvZiBxdWV1ZWQgYnVmZmVycy4KCjIwMTEtMDctMTUgMTI6MzU6MTQgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJICB2NGwyOiB1c2UgdGhlIHBhcmVudCBxdWV1ZSBmb3IgdGhlIHNpbmsKCSAgV2Ugd2FudCB0byBtYWludGFpbiBhIHF1ZXVlIG9mIGZyZWUgYnVmZmVycyBmb3IgdGhlIHNpbmssIHVzZSB0aGUgcGFyZW50IG1ldGhvZHMKCSAgdG8gZG8gdGhhdC4KCjIwMTEtMDctMTUgMTI6MDA6NTQgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIHY0bDI6IGZpeCBlcnJvciBtZXNzYWdlcwoKMjAxMS0wNy0xNSAxMTozMDoyNSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJzaW5rLmM6CgkgIHY0bDI6IGFkZCBBTExPQ0FUSU9OIHF1ZXJ5IHRvIHRoZSBzaW5rCgoyMDExLTA3LTE1IDExOjI3OjE4ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuaDoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0Lmg6CgkgIHY0bDI6IGNvbnZlcnQgdG8gR3N0QnVmZmVyUG9vbAoJICBFeHRlbmQgZnJvbSBHc3RCdWZmZXJQb29sLgoJICBIYW5kbGUgdGhlIGxpZmV0aW1lIG9mIHRoZSBwb29sIGJ1ZmZlcnMgY29ycmVjdGx5IHdpdGggdGhlIHN0YXJ0L3N0b3Agdm1ldGhvZHMuCgkgIE1hcCBhY3F1aXJlIGFuZCByZWxlYXNlIGRpcmVjdGx5IHRvIFFCVUYgYW5kIERRQlVGLiBXZSBzdGlsbCBleHBvc2UgYW4gZXhwbGljaXQKCSAgcWJ1ZiBmb3IgdGhlIHY0bDJzaW5rIGZvciBub3cuCgoyMDExLTA3LTE1IDExOjE4OjAzICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvdjRsMl9jYWxscy5jOgoJICB2NGwyOiByZW1vdmUgZXhwZXJpbWVudGFsIG1hcmtlcnMKCjIwMTEtMDctMTQgMjA6MTA6MDIgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cHBjbWFkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHBjbWFwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBwY211ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBwY211cGF5LmM6CgkgIHJ0cHBjbUFwYXkvZGVwYXk6IFN0YXRpYyBjbG9jayByYXRlcyBvbiBzdGF0aWMgcGF5bG9hZHMsIGR5bmFtaWMgb24gZHluYW1pYwoJICBQYXJ0aWFsbHkgcmV2ZXJ0cyAzOTdkYzYwYgoKMjAxMS0wNy0xNCAxNjoyMTozNiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgdjRsMjogbWVyZ2UgY29kZQoKMjAxMS0wNy0xNCAxNjoxMjoxNSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmg6CgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5oOgoJKiBzeXMvdjRsMi9nc3R2NGwyc2luay5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyc2luay5oOgoJICB2NGwyOiBNb3ZlIG91dHB1dCBkZXRhaWxzIHRvIGRldmljZSBvYmplY3QKCSAgTW92ZSB0aGUgZGV0YWlscyBvZiBob3cgYSBidWZmZXIgaXMgcmVuZGVyZWQgdG8gdGhlIGRldmljZSBvYmplY3QuCgoyMDExLTAzLTA0IDE1OjQxOjIyIC0wNTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL01ha2VmaWxlLmFtOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRwYXkuYzoKCSAgcnRwaDI2NHBheTogSW1wbGVtZW50IGdldGNhcHMKCSAgQ29udmVydCBwcm9maWxlLWxldmVsLWlkIGZyb20gUlRQIGNhcHMgaW50byB2aWRlby94LWgyNjQgc3R5bGUgY2FwcyAod2l0aCBwcm9maWxlIGFuZCBsZXZlbCkKCjIwMTEtMDctMTMgMTg6MzI6MDAgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9NYWtlZmlsZS5hbToKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0Lmg6CgkqIHN5cy92NGwyL2dzdHY0bDJzaW5rLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5oOgoJKiBzeXMvdjRsMi9nc3R2NGwydHVuZXIuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnZpZG9yaWVudC5jOgoJKiBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmM6CgkqIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuaDoKCSAgdjRsMjogbW92ZSBjYXB0dXJlIGNvZGUgdG8gZGV2aWNlIG9iamVjdAoJICBNb3ZlIHRoZSBkZXRhaWxzIG9mIGhvdyB0byBjYXB0dXJlIHRvIHRoZSBkZXZpY2Ugb2JqZWN0LiBSZW1vdmUgdGhlCgkgIHY0bDJzcmNfY2FsbHMuW2NoXSBmaWxlcyBiZWNhdXNlIHRoZXkgYXJlIGVtcHR5IG5vdy4KCSAgUHJvdmlkZSB0d28gc2ltcGxlIG1ldGhvZHMgdG8gZ2V0IGFuZCByZXR1cm4gYSBidWZmZXIgdG8gdGhlIGRldmljZS4KCSAgQWxzbyBkbyBhIHNsb3cgY29weSB3aGVuIHRoZSBidWZmZXIgaXMgbm90IGZyb20gb3VyIHBvb2wuCgoyMDExLTA3LTEzIDE2OjU4OjA4ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICB2NGwyOiBhZGQgc29tZSBtb3JlIGRlYnVnCgoyMDExLTA3LTEzIDE2OjU2OjIxICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMnNpbmsuYzoKCSAgdjRsMjogc3RvcCBzdHJlYW1pbmcgaW4gUkVBRFkgYW5kIE5VTEwKCjIwMTEtMDctMTMgMTY6NDA6MzkgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIHY0bDI6IHN0YXJ0IHN0cmVhbWluZyBmb3IgdGhlIG91dHB1dCBhcyB3ZWxsCgoyMDExLTA3LTEzIDE2OjMzOjU4ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuaDoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0Lmg6CgkqIHN5cy92NGwyL2dzdHY0bDJyYWRpby5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyc2luay5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyc2luay5oOgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuaDoKCSogc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5jOgoJKiBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmg6CgkgIHY0bDI6IExldCB0aGUgZGV2aWNlIG9iamVjdCBtYW5hZ2UgdGhlIHBvb2wKCSAgUmVuYW1lIHN0YXJ0IGFuZCBzdG9wIG1ldGhvZHMgdG8gb3BlbiBhbmQgY2xvc2UgYmVjYXVzZSB0aGF0IGlzIHdoYXQgdGhleSBkby4KCSAgQWZ0ZXIgc2V0dGluZyB0aGUgZm9ybWF0IG9uIHRoZSBkZXZpY2Ugb2JqZWN0LCBzZXR1cCB0aGUgYnVmZmVycG9vbHMuIE1vdmUgdGhpcwoJICBjb2RlIGZyb20gdGhlIHY0bDJzcmNfY2FsbHMuYyBmaWxlLCBpdCBpcyBzaGFyZWQgYmV0d2VlbiBzb3VyY2UgYW5kIHNpbmsuCgkgIE1ha2UgbmV3IGRldmljZSBzdGFydCBhbmQgc3RvcCBtZXRob2QgdGhhdCBtZXJnZXMgdmFyaW91cyBiaXRzIG9mIGNvbW1vbiBjb2RlCgkgIHNwcmVhZCBvdmVyIHNldmVyYWwgZmlsZXMuCgoyMDExLTA3LTEzIDEzOjUyOjMwICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0Lmg6CgkgIHY0bDI6IGRvbid0IHN0b3JlIHN0cmlkZSBpbiB0aGUgdmlkZW9pbmZvCgkgIFdlIHdhbnQgdG8ga2VlcCB0aGUgZGVmYXVsdCBzdHJpZGVzIGluIHRoZSB2aWRlb2luZm8uIEtlZXAgdGhlIHN0cmlkZSBvZiB0aGUKCSAgdmlkZW8gZnJhbWVzIHNlcGFyYXRlIHNvIHRoYXQgd2UgY2FuIHVzZSBib3RoIHRvIGNvcHkgYSB2aWRlbyBmcmFtZSBhbmQgZG8KCSAgY29ycmVjdCBzdHJpZGUgY29udmVyc2lvbi4KCjIwMTEtMDctMTMgMTM6Mzg6MTUgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyc2luay5jOgoJICB2NGwyOiBVc2UgdmlkZW8gZnJhbWUgY29weSBmb3IgcmF3IHZpZGVvCgkgIFVzZSB0aGUgdmlkZW8gZnJhbWUgY29weSBBUEkgZm9yIHJhdyB2aWRlbyBmcmFtZXMgc28gdGhhdCB3ZSBjb3B5IHdpdGggdGhlIHJpZ2h0CgkgIHN0cmlkZXMuCgoyMDExLTA3LTEzIDEzOjM3OjU4ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSAgdjRsMjogYWRkIHZpZGVvIG1ldGFkYXRhIHRvIHJhdyB2aWRlbyBidWZmZXJzCgoyMDExLTA3LTEzIDEzOjE1OjA1ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuaDoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICB2NGwyOiBzbWFsbCBjbGVhbnVwcwoKMjAxMS0wNy0xMyAxMzowMDo0MiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5oOgoJICB2NGwyOiBpbXByb3ZlIGNhcHMgcGFyc2luZwoJICBVc2UgR3N0VmlkZW9JbmZvIHRvIHN0b3JlIHRoZSBwYXJzZWQgY2Fwcy4KCSAgUmVtb3ZlIG91dHNpemUgZnJvbSB0aGUgY2FwcyBwYXJzaW5nIGNvZGUsIGl0J3Mgd3JvbmcgYmVjYXVzZSBpdCBkb2VzIG5vdCB1c2UKCSAgdGhlIHN0cmlkZSBnaXZlbiBieSB0aGUgZHJpdmVyLgoKMjAxMS0wNy0xMyAxMTo0MDoxMSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgdjRsMjogdXNlIGVycm5vCgoyMDExLTA3LTEzIDExOjM2OjU0ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICB2NGwyOiBoYW5kbGUgRUlOVkFMIHdpdGhvdXQgcG9zdGluZyBhIHdhcm5pbmcKCSAgRUlOVkFMIG1lYW5zIHRoYXQgYSBjYWxsIGlzIG5vdCBzdXBwb3J0ZWQsIHdlIG9ubHkgd2FudCB0byBwb3N0IGEgV0FSTklORyB3aGVuCgkgIHNvbWV0aGluZyBpcyByZWFsbHkgd3JvbmcuCgoyMDExLTA3LTEzIDExOjI5OjI2ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICB2NGwyOiBvbmx5IHNldCBmcmFtZXJhdGUgZm9yIGNhcHR1cmUgZm9yIG5vdwoKMjAxMS0wNy0xMyAxMToxOToyOCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5oOgoJKiBzeXMvdjRsMi9nc3R2NGwyc2luay5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuaDoKCSogc3lzL3Y0bDIvdjRsMl9jYWxscy5oOgoJKiBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmM6CgkqIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuaDoKCSAgdjRsMjogTW92ZSBjb25maWd1cmF0aW9uIG9mIGZyYW1lcmF0ZSB0byBfc2V0X2Zvcm1hdAoJICBNb3ZlIHRoZSBjb25maWd1cmF0aW9uIG9mIHRoZSBmcmFtZXJhdGUgdG8gd2hlcmUgd2Ugc2V0IHRoZSBvdGhlciBmb3JtYXQKCSAgcGFyYW1ldGVycy4KCSAgUmVtb3ZlIGhhY2sgdG8gY2hlY2sgaWYgdGhlIGRldmljZSBpcyBhY3RpdmUuCgkgIFN0b3JlIHN0cmVhbXBhcm0gaW4gdGhlIGRldmljZSBpbmZvLgoJICBVc2Ugc29tZSBtYWNyb3MgdG8gYWNjZXNzIHRoZSBjdXJyZW50IGRldmljZSBjb25maWd1cmF0aW9uLgoJICBSZW1vdmUgc29tZSBkdXBsaWNhdGUgZmllbGRzIGluIHNyYyBhbmQgc2luayBhbmQgdXNlIHRoZSBkZXZpY2UgY29uZmlndXJhdGlvbgoJICBpbnN0ZWFkLgoKMjAxMS0wNy0xMiAxOToxMzo0NSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgdjRsMjogZml4IHJldHVybiB2YWx1ZS4uLgoKMjAxMS0wNy0xMiAxOTowMzozMiArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5oOgoJKiBzeXMvdjRsMi9nc3R2NGwyc2luay5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkqIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuYzoKCSogc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5oOgoJICB2NGwyOiBzaW1wbGlmeSBzZXR0aW5nIHRoZSBjYXB0dXJlIGZvcm1hdAoJICBQYXNzIHRoZSBjYXBzIHRvIHRoZSBzZXRfZm9ybWF0IGZ1bmN0aW9uIGFuZCBtYWtlIF9zZXRfZm9ybWF0IHBhcnNlIHRoZSBjYXBzLgoJICBBbHNvIGtlZXAgdGhlIHBhcnNlZCB2YWx1ZXMgaW4gdGhlIHY0bDJvYmplY3Qgc28gdGhhdCB3ZSBjYW4gcmVmZXIgdG8gdGhlbSB3aGVuCgkgIHdlIHdhbnQuCgoyMDExLTA3LTEyIDE4OjQxOjQ3ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJKiBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmM6CgkqIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuaDoKCSAgdjRsMjogcmVtb3ZlIG1vcmUgdW51c2VkIHBhcmFtZXRlcnMKCjIwMTEtMDctMTIgMTg6Mjk6MzUgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIHY0bDogaGFuZGxlIG9iamVjdCBvdXQgb2YgdGhlIG5vcm1hbCBmbG93CgoyMDExLTA3LTEyIDE4OjEzOjQyICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuaDoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0Lmg6CgkqIHN5cy92NGwyL2dzdHY0bDJzaW5rLmM6CgkqIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuYzoKCSAgdjRsMjogTGV0IHRoZSBidWZmZXJwb29sIG93biB0aGUgVjRsMk9iamVjdAoJICBLZWVwIHRyYWNrIG9mIHRoZSBjdXJyZW50bHkgY29uZmlndXJlZCBmb3JtYXQgYW5kIHNldHRpbmcgaW4gdGhlCgkgIHY0bDJvYmplY3QuCgkgIFBhc3MgdGhlIHY0bDJvYmplY3QgdG8gdGhlIGJ1ZmZlcnBvb2wgY29uc3RydWN0b3Igc28gdGhhdCB0aGUgYnVmZmVycG9vbCBjYW4KCSAga25vdyBldmVyeXRoaW5nIGFib3V0IHRoZSBjdXJyZW50bHkgY29uZmlndXJlZCBzZXR0aW5ncy4gVGhpcyBhbHNvIGFsbG93cyB1cwoJICB0byByZW1vdmUgc29tZSBhd2t3YXJkIGNvZGUuCgoyMDExLTA3LTEyIDE3OjA2OjQxICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuaDoKCSogc3lzL3Y0bDIvZ3N0djRsMnNpbmsuYzoKCSogc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5jOgoJICB2NGw6IHJlbW92ZSBjYXBzIGFyZ3VtZW50LCBpdCdzIG5vdCBuZWVkZWQKCSAgUmVtb3ZlIHRoZSBjYXBzIHBhcmFtZXRlciwgd2UgZG9uJ3QgbmVlZCBpdCBhbnltb3JlIGJlY2F1c2Ugd2UgZG9uJ3Qgc2V0CgkgIGNhcHMgb24gYnVmZmVycyBhbnltb3JlLgoKMjAxMS0wNy0xMiAxNjo0NjoyMSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5oOgoJKiBzeXMvdjRsMi9nc3R2NGwyc2luay5jOgoJKiBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmM6CgkgIHY0bDogcGFzcyB0aGUgYnl0ZXNwZXJsaW5lIGFyb3VuZAoJICBXaGVuIHNldHRpbmcgYSBmb3JtYXQsIHJldHVybiB0aGUgYnl0ZXNwZXJsaW5lIHRvIHRoZSBjYWxsZXIgc28gdGhhdCBpdCBjYW4gYmUKCSAgdXNlZCB0byBhbGxvY2F0ZSBidWZmZXJzLgoKMjAxMS0wNy0xMiAxNjo0MzowNCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkgIHBvb2w6IG1ha2UgYnVmZmVyIHdyaXRhYmxlCgkgIFdlIG5lZWQgd3JpdGFibGUgYnVmZmVycyB3aGVuIHdlIG5lZWQgdG8gZG8gYSBzbG93IG1lbWNweS4KCjIwMTEtMDctMTIgMTU6MDQ6MzggKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBmaXggc2Vla2luZyByZWdyZXNzaW9uCgkgIC4uLiBpbnRyb2R1Y2VkIHdoZW4gc2h1ZmZsaW5nIGFyb3VuZCBjb2RlIGZvciB0aGUgYXN5bmMgaW1wbGVtZW50YXRpb24KCSAgYnkgc2V0dGluZyBzdGF0ZSBvZiBzb3VyY2UgKGFuZCB1ZHAgc291cmNlcykgaW4gX3BsYXkgYmVmb3JlIGRvd25zdHJlYW0KCSAgZmx1c2hpbmcgaXMgdW5kb25lLgoKMjAxMS0wNy0xMSAxNToyMzo0MSArMDMwMCAgUmVuw6kgU3RhZGxlciA8cmVuZS5zdGFkbGVyQG5va2lhLmNvbT4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWMzcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYzNwYXJzZS5oOgoJICBhYzNwYXJzZTogZml4IGJ1ZmZlciBkdXJhdGlvbiBvbiBibG9ja3MtcGVyLWZyYW1lIGNoYW5nZQoJICBUaGUgZ3N0X2Jhc2VfcGFyc2Vfc2V0X2ZyYW1lX3JhdGUgY2FsbCB3YXMgcHJlZGljYXRlZCBvbiBhIGNoYW5nZSB0bwoJICBzYW1wbGUgcmF0ZSwgZHVyYXRpb24gb3IgcHJvZmlsZS4gSG93ZXZlciwgdGhlIGJsb2NrIGNvdW50IHBlciBmcmFtZSBjYW4KCSAgYWxzbyBjaGFuZ2UgYmV0d2VlbiBwYWNrZXRzLCB3aGljaCB3b3VsZCByZXN1bHQgaW4gaW5jb3JyZWN0IGJ1ZmZlcgoJICBkdXJhdGlvbnMuCgoyMDExLTA3LTExIDEzOjUxOjUyICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMnNpbmsuYzoKCSAgdjRsMnNpbms6IGhhbmRsZSBwb29scwoJICBDcmVhdGUgYSBuZXcgcG9vbCBpbiBzZXRjYXBzIGFuZCBzdG9wL2Rlc3Ryb3kgdGhlIG9sZCBvbmUuCgkgIFJlbW92ZSBidWZmZXJfYWxsb2MgZnVuY3Rpb25zLgoJICBDaGVjayB0aGF0IHdlIGhhdmUgdjRsMiBtZXRhZGF0YSBpbiBzaG93X2ZyYW1lIGFuZCBmYWxsIGJhY2sgdG8gbWVtY3B5IGludG8gYQoJICBidWZmZXIgZnJvbSBvdXIgcG9vbCBpZiB3ZSBkb24ndCByZWNlaXZlIG9uZSBvZiBvdXIgb3duIGJ1ZmZlcnMuCgoyMDExLTA3LTExIDEyOjA0OjU3ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuaDoKCSogc3lzL3Y0bDIvZ3N0djRsMnNpbmsuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJKiBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmM6CgkgIHY0bDI6IHZhcmlvdXMgY2xlYW51cHMKCSAgVmFyaW91cyBjbGVhbnVwcywgYXZvaWRzIHVzZWxlc3MgY2FzdHMsIG1vdmUgZXJyb3IgaGFuZGxpbmcgb3V0c2lkZSBvZiB0aGUgbWFpbgoJICBjb2RlIGZsb3cuCgkgIE5lZ290aWF0ZSB0byBhIHJlc29uYWJsZSByZXNvbHV0aW9uIGluc3RlYWQgb2YgdGhlIG1heCByZXNvbHV0aW9uLgoKMjAxMS0wNy0xMCAyMTo1MDoxOSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL01ha2VmaWxlLmFtOgoJKiBnc3QvcnRwL2dzdGFzdGVyaXNraDI2My5jOgoJKiBnc3QvcnRwL2dzdHJ0cEwxNmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwTDE2cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2M3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGpwZWdkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGpwZWdwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDFzZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDJ0ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDJ0cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXA0YWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXA0YXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wNGdkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wNGdwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDR2ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDR2cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwcWNlbHBkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHFkbWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwc2lyZW5kZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHNpcmVucGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwc3BlZXhkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHNwZWV4cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwc3YzdmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwdGhlb3JhZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHB0aGVvcmFwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHB2b3JiaXNkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHZvcmJpc3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHZyYXdkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHZyYXdkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cHZyYXdwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHB2cmF3cGF5Lmg6CgkgIHJ0cDogcG9ydCByZW1haW5pbmcgdG8gMC4xMQoKMjAxMS0wNy0xMCAxNDo1NjowMCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy94aW1hZ2UvZ3N0eGltYWdlc3JjLmM6CgkqIHN5cy94aW1hZ2UveGltYWdldXRpbC5jOgoJICB4aW1hZ2U6IHBvcnQgdG8gMC4xMQoKMjAxMS0wNy0xMCAxMzo0NDo0OSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC95NG0vZ3N0eTRtZW5jb2RlLmM6CgkqIGdzdC95NG0vZ3N0eTRtZW5jb2RlLmg6CgkgIHk0bTogcG9ydCBzb21lIG1vcmUKCSAgVXNlIHZpZGVvIGhlbHBlcnMuCgoyMDExLTA3LTEwIDEzOjI4OjI3ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3k0bS9nc3R5NG1lbmNvZGUuYzoKCSAgeTRtOiBwb3J0IHRvIDAuMTEKCjIwMTEtMDctMTAgMTI6NDY6MDMgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXVsdGlwYXJ0L211bHRpcGFydGRlbXV4LmM6CgkqIGdzdC9tdWx0aXBhcnQvbXVsdGlwYXJ0bXV4LmM6CgkqIGdzdC9tdWx0aXBhcnQvbXVsdGlwYXJ0bXV4Lmg6CgkgIG11bHRpcGFydDogcG9ydCB0byAwLjExCgoyMDExLTA3LTEwIDExOjQyOjM3ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSAgTWVyZ2UgYnJhbmNoICdtYXN0ZXInIGludG8gMC4xMQoKMjAxMS0wNy0xMCAxMTo0MDo0MCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kZWJ1Z3V0aWxzL01ha2VmaWxlLmFtOgoJKiBnc3QvZGVidWd1dGlscy9icmVha215ZGF0YS5jOgoJKiBnc3QvZGVidWd1dGlscy9lZmVuY2UuYzoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0Y2Fwc3NldHRlci5jOgoJKiBnc3QvZGVidWd1dGlscy9nc3RkZWJ1Zy5jOgoJKiBnc3QvZGVidWd1dGlscy9nc3RuYXZpZ2F0aW9udGVzdC5jOgoJKiBnc3QvZGVidWd1dGlscy9nc3RuYXZpZ2F0aW9udGVzdC5oOgoJKiBnc3QvZGVidWd1dGlscy9nc3RwdXNoZmlsZXNyYy5jOgoJKiBnc3QvZGVidWd1dGlscy9wcm9ncmVzc3JlcG9ydC5jOgoJKiBnc3QvZGVidWd1dGlscy9ybmRidWZmZXJzaXplLmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL3Rlc3RzLmM6CgkgIGRlYnVnOiBwb3J0IHRvIDAuMTEsIGRpc2FibGUgb3RoZXJzCgkgIERpYXNhYmxlIHRoZSBlZmVuY2UgYW5kIGNhcHNkZWJ1ZyBlbGVtZW50cywgcG9ydCB0aGVtIGxhdGVyLgoKMjAxMS0wNy0wOSAxOToyMzo0MSAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvbXVsdGlmaWxlL2dzdG11bHRpZmlsZXNyYy5jOgoJKiBnc3QvbXVsdGlmaWxlL2dzdG11bHRpZmlsZXNyYy5oOgoJICBtdWx0aWZpbGVzcmM6IEltcHJvdmUgbG9vcGluZwoJICBBZGQgc3RhcnQtaW5kZXggYW5kIHN0b3AtaW5kZXggcHJvcGVydGllcy4KCjIwMTEtMDYtMTYgMTM6NTc6MDMgKzAxMDAgIEpvbm55IExhbWIgPGpvbm55bGFtYkBqb25ueWxhbWIuY29tPgoKCSogZ3N0L211bHRpZmlsZS9nc3RtdWx0aWZpbGVzcmMuYzoKCSogZ3N0L211bHRpZmlsZS9nc3RtdWx0aWZpbGVzcmMuaDoKCSAgbXVsdGlmaWxlOiBhZGQgbG9vcCBwcm9wZXJ0eSB0byBtdWx0aWZpbGVzcmMKCSAgRml4ZXM6ICM2NTI3MjcKCSAgU2lnbmVkLW9mZi1ieTogSm9ubnkgTGFtYiA8am9ubnlsYW1iQGpvbm55bGFtYi5jb20+CgkgIFNpZ25lZC1vZmYtYnk6IERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKMjAwOS0xMS0yMCAxMDowNzo0MyArMDEwMCAgUGhpbGlwIErDpGdlbnN0ZWR0IDxwaGlsaXBqQG9wZXJhLmNvbT4KCgkqIHN5cy9kaXJlY3Rzb3VuZC9nc3RkaXJlY3Rzb3VuZHNpbmsuYzoKCSAgZGlyZWN0c291bmRzaW5rOiAxNi1iaXQgYXVkaW8gaXMgc2lnbmVkLCA4LWJpdCBpcyB1bnNpZ25lZC4KCSAgUHJldGVuZGluZyB0byBoYW5kbGUgOC1iaXQgc2lnbmVkIGNhdXNlcyBkaXN0b3J0ZWQgYXVkaW8gd2hlbgoJICBhY3R1YWxseSBnaXZlbiBzdWNoIGF1ZGlvLCB3aGljaCB5b3Ugd2lsbCBnZXQgaWYgcGFzc2luZyA4LWJpdAoJICB1bnNpZ25lZCB0aHJvdWdoIGF1ZGlvY29udmVydCAhIGF1ZGlvcmVzYW1wbGUsIGFzIGF1ZGlvcmVzYW1wbGUKCSAgb25seSBoYW5kbGVzIDgtYml0IHNpZ25lZC4gIEZpeGVzICM2MDU4MzQuCgkgIFNpZ25lZC1vZmYtYnk6IERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKMjAxMS0wNy0wOCAxNjozNzoxMSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnNpbmsuYzoKCSAgdjRsMjogZml4IGdyYXkgZm9ybWF0LCB1c2UgZmlsdGVyIGluIGdldGNhcHMKCjIwMTEtMDctMDggMTY6MTA6NDcgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9NYWtlZmlsZS5hbToKCSogc3lzL3Y0bDIvZ3N0djRsMi5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5oOgoJKiBzeXMvdjRsMi9nc3R2NGwyc2luay5jOgoJICB2NGwyOiBwb3J0IGFuZCBlbmFibGUgdjRsMnNpbmsKCjIwMTEtMDctMDggMTQ6MzQ6NDAgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzoKCSAgdjRsMnNyYzogcG9ydCB0byBuZXcgdmlkZW8gZm9ybWF0cwoKMjAxMS0wNy0wOCAxMjo1MToxNCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkgIE1lcmdlIGJyYW5jaCAnbWFzdGVyJyBpbnRvIDAuMTEKCjIwMTEtMDctMDggMTI6NDk6MTIgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5oOgoJKiBzeXMvdjRsMi9nc3R2NGwyY29sb3JiYWxhbmNlLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJyYWRpby5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkqIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuYzoKCSAgdjRsMjogcG9ydCB0byAwLjExCgoyMDExLTA3LTA3IDE4OjI3OjM2ICswMjAwICBBbGV4ZXkgRmlzaGVyIDxidWctdHJhY2tAZmlzaGVyLXByaXZhdC5uZXQ+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2FkZW11eDogaGFuZGxlIGJsb2NrcyB3aXRoIGR1cmF0aW9uPTAKCSAgU29tZSB2aWRlbyBmcmFtZXMsIGZvciBleGFtcGxlIGFsdC1yZWYgZnJhbWUgaW4gVlA4LCB3aWxsIGJlCgkgIG5ldmVyIGRpc3BsYXllZC4gVGhpcyBpcyB3aHkgaXQgaGFzIGR1cmF0aW9uPTAuCgkgIFRoaXMgcGF0Y2ggYWxsb3cgdG8gdXNlIHRoaXMgZHVyYXRpb24uCgkgIEJ1ZzogNjU0MTc1CgkgIFNpZ25lZC1vZmYtYnk6IEFsZXhleSBGaXNoZXIgPGJ1Zy10cmFja0BmaXNoZXItcHJpdmF0Lm5ldD4KCjIwMTEtMDctMDYgMTc6MTg6MDUgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L2lzb21wNC9nc3RxdG11eC5jOgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4bWFwLmM6CgkgIHF0bXV4OiBBZGQgZGlyZWN0IGRpcmFjIG1hcHBpbmcKCjIwMTEtMDctMDcgMTc6NTk6MDQgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZWZmZWN0di9nc3RyaXBwbGUuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0cmlwcGxlLmg6CgkgIGVmZmVjdHY6IHBvcnQgbGFzdCBlZmZlY3R2IGVsZW1lbnQgdG8gMC4xMQoKMjAxMS0wNy0wNyAxNzo0OTozNCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9lZmZlY3R2L2dzdHJhZGlvYWMuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0c3RyZWFrLmM6CgkqIGdzdC9lZmZlY3R2L2dzdHN0cmVhay5oOgoJICBlZmZlY3R2OiBwb3J0IHN0cmVha3R2IHRvIDAuMTEKCjIwMTEtMDctMDcgMTc6NDA6MjIgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZWZmZWN0di9nc3RyYWRpb2FjLmM6CgkqIGdzdC9lZmZlY3R2L2dzdHJhZGlvYWMuaDoKCSAgZWZmZWN0djogcG9ydCByYWRpb2FjdHYgdG8gMC4xMQoKMjAxMS0wNy0wNyAxNzoyOTo1OCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9lZmZlY3R2L2dzdGFnaW5nLmM6CgkqIGdzdC9lZmZlY3R2L2dzdGRpY2UuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0ZWRnZS5jOgoJKiBnc3QvZWZmZWN0di9nc3RxdWFyay5jOgoJKiBnc3QvZWZmZWN0di9nc3RyYWRpb2FjLmM6CgkqIGdzdC9lZmZlY3R2L2dzdHJldi5jOgoJKiBnc3QvZWZmZWN0di9nc3RyaXBwbGUuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0c2hhZ2FkZWxpYy5jOgoJKiBnc3QvZWZmZWN0di9nc3RzdHJlYWsuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0dmVydGlnby5jOgoJKiBnc3QvZWZmZWN0di9nc3R3YXJwLmM6CgkgIGVmZmVjdHY6IGZpeCBkb2NzCgoyMDExLTA3LTA3IDE3OjI5OjQ0ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2VmZmVjdHYvZ3N0b3AuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0b3AuaDoKCSAgZWZmZWN0djogcG9ydCBvcCB0byAwLjExCgoyMDExLTA3LTA3IDE3OjE4OjIxICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2VmZmVjdHYvZ3N0cXVhcmsuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0cXVhcmsuaDoKCSogZ3N0L2VmZmVjdHYvZ3N0cmV2LmM6CgkgIGVmZmVjdHY6IHBvcnQgcXVhcmsgdHYKCjIwMTEtMDctMDcgMTY6NTc6MzkgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZWZmZWN0di9nc3RyZXYuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0cmV2Lmg6CgkgIGVmZmVjdHY6IHBvcnQgcmV2dHYgdG8gMC4xMQoKMjAxMS0wNy0wNyAxNjo0Njo1MSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9lZmZlY3R2L2dzdHZlcnRpZ28uYzoKCSogZ3N0L2VmZmVjdHYvZ3N0dmVydGlnby5oOgoJICBlZmZlY3R2OiBwb3J0IHZlcnRpZ290diB0byAwLjExCgoyMDExLTA3LTA3IDE2OjM4OjEwICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2VmZmVjdHYvZ3N0YWdpbmcuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0c2hhZ2FkZWxpYy5jOgoJKiBnc3QvZWZmZWN0di9nc3RzaGFnYWRlbGljLmg6CgkgIGVmZmVjdHY6IHBvcnQgc2hhZ2FkZWxpY3R2IHRvIDAuMTEKCjIwMTEtMDctMDcgMTE6MjI6MjYgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1cGFyc2UvZ3N0YXVwYXJzZS5jOgoJICBhdXBhcnNlOiB1c2UgQUxXQVlTIHNyYyBwYWQgcmF0aGVyIHRoYW4gU09NRVRJTUVTCgoyMDExLTA3LTA3IDExOjE0OjE2ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdXBhcnNlL2dzdGF1cGFyc2UuYzoKCSAgYXVwYXJzZTogcG9ydCB0byAwLjExCgoyMDExLTA3LTA2IDE5OjAzOjUyICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3NoYXBld2lwZS9nc3RzaGFwZXdpcGUuYzoKCSAgc2hhcGV3aXBlOiBiZWdpbm5pbmdzIG9mIHBvcnRpbmcKCjIwMTEtMDctMDYgMTg6NTA6MjYgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZWZmZWN0di9nc3R3YXJwLmM6CgkqIGdzdC9lZmZlY3R2L2dzdHdhcnAuaDoKCSAgd2FycHR2OiBwb3J0IHRvIDAuMTEKCjIwMTEtMDctMDYgMTg6NTA6MTUgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZWZmZWN0di9nc3RkaWNlLmM6CgkgIGRpY2U6IGtlZXAgdHJhY2sgb2YgaW5mbwoKMjAxMS0wNy0wNiAxODozMjo0NSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9lZmZlY3R2L2dzdGRpY2UuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0ZGljZS5oOgoJICBlZmZlY3R2OiBwb3J0IGRpY2UKCjIwMTEtMDctMDYgMTg6MDk6NDkgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZWZmZWN0di9nc3RhZ2luZy5jOgoJKiBnc3QvZWZmZWN0di9nc3RhZ2luZy5oOgoJICBlZmZlY3R2OiBwb3J0IGFnaW5ndHYKCjIwMTEtMDctMDYgMTc6NTA6NTQgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvYWFsaWIvTWFrZWZpbGUuYW06CgkqIGV4dC9hYWxpYi9nc3RhYXNpbmsuYzoKCSogZXh0L2FhbGliL2dzdGFhc2luay5oOgoJICBhYXNpbms6IHBvcnQgdG8gbmV3IHZpZGVvIEFQSQoKMjAxMS0wNy0wNiAxNzo0MDoyMCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9saWJjYWNhL01ha2VmaWxlLmFtOgoJKiBleHQvbGliY2FjYS9nc3RjYWNhc2luay5jOgoJKiBleHQvbGliY2FjYS9nc3RjYWNhc2luay5oOgoJICBjYWNhc2luazogcG9ydCB0byAwLjExCgoyMDExLTA3LTA2IDE2OjUwOjMyICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2pwZWcvZ3N0anBlZ2VuYy5jOgoJICBqcGVnOiBiZWdpbm5pbmdzIG9mIHBvcnRpbmcgdG8gMC4xMQoKMjAxMS0wNy0wNiAxNjozMToxOCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzoKCSAgd2F2cGFyc2U6IHVzZSBBTFdBWVMgc291cmNlIHBhZCByYXRoZXIgdGhhbiBTT01FVElNRVMKCjIwMTEtMDctMDYgMTY6MTA6MzQgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6CgkqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5oOgoJICB3YXZwYXJzZTogcG9ydCB0byAwLjExCgoyMDExLTA3LTA2IDE2OjEwOjIzICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC93YXZlbmMvZ3N0d2F2ZW5jLmM6CgkgIHdhdmVuYzogcG9ydCB0byAwLjExCgoyMDExLTA3LTA2IDEyOjIyOjQzICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBhZGp1c3QgdG8gdW5zaWduZWQgc2VnbWVudCBmaWVsZHMKCjIwMTEtMDctMDYgMTU6NTc6MjMgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvc3BlZXgvZ3N0c3BlZXhkZWMuYzoKCSogZXh0L3NwZWV4L2dzdHNwZWV4ZW5jLmM6CgkgIHNwZWV4OiBwb3J0IHNwZWV4IGVsZW1lbnRzCgoyMDExLTA3LTA2IDEyOjA1OjEyICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSAgTWVyZ2UgYnJhbmNoICdtYXN0ZXInIGludG8gMC4xMQoKMjAxMS0wNy0wNiAxMDoxMTo1MiArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBwdGRlbXV4LmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc3NyY2RlbXV4LmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cGppdHRlcmJ1ZmZlci5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5jOgoJICBydHBtYW5hZ2VyOiBwb3J0IHRvIDAuMTEKCSAgKiB1c2UgR19ERUZJTkVfVFlQRQoJICAqIGFkanVzdCB0byBuZXcgR3N0QnVmZmVyIGFuZCBjb3JyZXNwb25kaW5nIHJ0cCBhbmQgcnRjcCBidWZmZXIgaW50ZXJmYWNlcwoJICAqIG1pc2MgY2FwcyBhbmQgc2VnbWVudCBoYW5kbGluZyBjaGFuZ2VzCgkgIEZJWE1FOiBhbHNvIHJlbGllcyBvbiBiZWluZyBhYmxlIHRvIHBhc3MgY2FwcyBhbG9uZyB3aXRoIGEgYnVmZmVyLAoJICB3aGljaCBoYXMgbm8gZXZpZGVudCBlcXVpdmFsZW50IHlldCwgc28gdGhhdCBlaXRoZXIgbmVlZHMgb25lLAoJICBvciBzdGlsbCBuZWVkcyBxdWl0ZSBzb21lIGNvZGUgcGF0aCBtb2RpZmljYXRpb24gdG8gZHJhZyBhbG9uZyBjYXBzLgoKMjAxMS0wNi0yOSAyMDo1OToyNiArMDMwMCAgUmVuw6kgU3RhZGxlciA8cmVuZS5zdGFkbGVyQG5va2lhLmNvbT4KCgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5oOgoJICBwdWxzZXNpbms6IHByZXZlbnQgcmFjZSBjb25kaXRpb24gY2F1c2luZyByZWYgbGVhawoJICBTaW5jZSBjb21taXQgOGJmZDgwLCBnc3RfcHVsc2VyaW5nYnVmZmVyX3N0b3AgZG9lc24ndCB3YWl0IGZvciB0aGUKCSAgZGVmZXJyZWQgY2FsbCB0byBiZSBydW4gYmVmb3JlIHJldHVybmluZy4gVGhpcyBjYXVzZXMgYSByYWNlIHdoZW4KCSAgUkVBRFktPk5VTEwgaXMgZXhlY3V0ZWQgc2hvcnRseSBhZnRlciwgd2hpY2ggc3RvcHMgdGhlIG1haW5sb29wLiBUaGlzCgkgIGxlYWtzIHRoZSBlbGVtZW50IHJlZmVyZW5jZSB3aGljaCBpcyBwYXNzZWQgYXMgdXNlcmRhdGEgZm9yIHRoZSBjYWxsYmFjawoJICAoaW50cm9kdWNlZCBpbiBjb21taXQgN2NmOTk2LCBidWcgIzYxNDc2NSkuCgkgIFRoZSBjb3JyZWN0IGZpeCBpcyB0byB3YWl0IGluIFJFQURZLT5OVUxMIGZvciBhbGwgb3V0c3RhbmRpbmcgY2FsbHMgdG8KCSAgYmUgZmlyZWQgKHNpbmNlIGxpYnB1bHNlIGRvZXNuJ3QgcHJvdmlkZSBhIERlc3Ryb3lOb3RpZnkgZm9yIHRoZQoJICB1c2VyZGF0YSkuIFdlIGdldCByaWQgb2YgdGhlIHJlZmVyZW5jZSBwYXNzaW5nIGZyb20gN2NmOTk2IGFsdG9nZXRoZXIsCgkgIHNpbmNlIGZpbmFsaXphdGlvbiBmcm9tIHRoZSBjYWxsYmFjayB3b3VsZCBhbnl3YXlzIGxlYWQgdG8gYSBkZWFkbG9jay4KCSAgUmUtZml4ZXMgYnVnICM2MTQ3NjUuCgoyMDExLTA3LTA0IDA4OjU4OjE0ICswMzAwICBSZW7DqSBTdGFkbGVyIDxyZW5lLnN0YWRsZXJAbm9raWEuY29tPgoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJICBwdWxzZXNpbms6IHNtYWxsIGNsZWFudXAgb2YgY29weS1wYXN0ZSBjb2RlCgoyMDExLTA2LTI5IDE5OjUwOjQyICswMzAwICBSZW7DqSBTdGFkbGVyIDxyZW5lLnN0YWRsZXJAbm9raWEuY29tPgoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmg6CgkgIHB1bHNlc2luazogcmVtb3ZlIHVudXNlZCBtZW1iZXIgdmFyaWFibGUgYW5kIG1pc2xlYWRpbmcgbG9nIG1lc3NhZ2UKCSAgV2ltIGNoYW5nZWQgaXQgaW4gY29tbWl0IDhiZmQ4MCBzbyB0aGF0IHBhX2RlZmVyX3JhbiBpcyBub3QgcmVhZAoJICBhbnl3aGVyZS4KCSAgVGhlIGxvZyBtZXNzYWdlIHVzZWQgdG8gYW5ub3RhdGUgYSBtYWlubG9vcF93YWl0IGNhbGwgd2hpY2ggaXMgZ29uZS4KCjIwMTEtMDctMDUgMTU6Mzc6NTIgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9maWx0ZXIvZ3N0dmlkZW9mbGlwLmM6CgkgIHZpZGVvZmxpcDogZml4IGNhcHMKCjIwMTEtMDctMDUgMTE6NDA6NTYgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZWZmZWN0di9nc3RlZGdlLmM6CgkqIGdzdC9lZmZlY3R2L2dzdGVkZ2UuaDoKCSAgZWZmZWN0djogcG9ydCBlZGdldHYKCjIwMTEtMDctMDUgMTA6MTI6MjUgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBBZGQgLURHU1RfVVNFX1VOU1RBQkxFX0FQSSB0byB0aGUgY29tcGlsZXIgZmxhZ3MgdG8gYXZvaWQgd2FybmluZ3MKCjIwMTEtMDctMDQgMTI6NTg6MzggLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L2dvb20vZ3N0Z29vbS5jOgoJICBnb29tOiBEb24ndCBhbnN3ZXIgbGFudGVuY3kgcXVlcmllcyBiZWZvcmUgbmVnb3RpYXRpb24KCjIwMTEtMDctMDQgMTg6MTU6NDIgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdWRwL2dzdHVkcHNpbmsuYzoKCSogZ3N0L3VkcC9nc3R1ZHBzcmMuYzoKCSAgdWRwOiBwb3J0IHRvIG5ldyBBUEkKCjIwMTEtMDctMDQgMTg6MTI6NTYgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcHVsc2UvcHVsc2VtaXhlci5jOgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkqIGV4dC9wdWxzZS9wdWxzZXNyYy5jOgoJICBwdWxzZTogcmVtb3ZlIGltcGxlbWVudHNpbnRlcmZhY2UKCjIwMTEtMDctMDQgMTg6MTA6NTUgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYWxwaGEvZ3N0YWxwaGEuYzoKCSAgYWxwaGE6IGZpeCBjYXBzCgoyMDExLTA3LTA0IDE4OjA2OjQ4ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2FscGhhL2dzdGFscGhhLmM6CgkqIGdzdC9hbHBoYS9nc3RhbHBoYWNvbG9yLmM6CgkqIGdzdC9hbHBoYS9nc3RhbHBoYWNvbG9yLmg6CgkgIGFscGhhOiBwb3J0IHRvIG5ldyB2aWRlbyBBUEkKCjIwMTEtMDctMDQgMTc6MDA6MzQgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYWxwaGEvZ3N0YWxwaGEuYzoKCSAgYWxwaGE6IG1vcmUgcG9ydGluZwoKMjAxMS0wNy0wNCAxNjowOTozMyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hbHBoYS9nc3RhbHBoYS5jOgoJKiBnc3QvYWxwaGEvZ3N0YWxwaGEuaDoKCSAgcG9ydCB0byBuZXcgdmlkZW8gYXBpCgoyMDExLTA2LTI4IDE0OjAzOjQzICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvZmlsdGVyL2dzdGdhbW1hLmM6CgkqIGdzdC92aWRlb2ZpbHRlci9nc3RnYW1tYS5oOgoJKiBnc3QvdmlkZW9maWx0ZXIvZ3N0dmlkZW9iYWxhbmNlLmM6CgkqIGdzdC92aWRlb2ZpbHRlci9nc3R2aWRlb2JhbGFuY2UuaDoKCSogZ3N0L3ZpZGVvZmlsdGVyL2dzdHZpZGVvZmxpcC5jOgoJKiBnc3QvdmlkZW9maWx0ZXIvZ3N0dmlkZW9mbGlwLmg6CgkgIHZpZGVvOiBwb3J0IHRvIG5ldyB2aWRlbyBhcGlzCgoyMDExLTA3LTA0IDE0OjMwOjA5ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9qcGVnL2dzdGpwZWdkZWMuYzoKCSAganBlZ2RlYzogYXZvaWQgY3Jhc2hpbmcgb24gaW52YWxpZCBpbnB1dCB3aXRob3V0IGNvbXBvbmVudHMKCjIwMTEtMDctMDQgMTE6MDk6MTkgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOgoJKiBnc3QvZmx2L2dzdGZsdmRlbXV4Lmg6CgkqIGdzdC9mbHYvZ3N0Zmx2bXV4LmM6CgkgIGZsdjogcG9ydCB0byAwLjExCgkgICogdXNlIEdfREVGSU5FX1RZUEUKCSAgKiBhZGp1c3QgdG8gbmV3IEdzdEJ1ZmZlcgoJICAqIG1pc2Mgc2VnbWVudCBhbmQgY2FwcyBjaGFuZ2VzCgoyMDExLTA3LTA0IDExOjQ4OjEzICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkgIE1lcmdlIGJyYW5jaCAnbWFzdGVyJyBpbnRvIDAuMTEKCSAgQ29uZmxpY3RzOgoJICBleHQvcHVsc2UvcHVsc2VzaW5rLmMKCjIwMTEtMDctMDQgMTE6MjU6MjggKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2Zsdi9nc3RmbHZtdXguYzoKCSAgZmx2bXV4OiBwYXNzIGFsb25nIHNlZ21lbnQgaW5mbyB0byBjb2xsZWN0cGFkcwoJICAuLi4gc28gaXQgY2FuIHRyYWNrIHRoaXMgYW5kIGJlIHN1YnNlcXVlbnRseSB1c2VkIHRvIGRldGVybWluZSBydW5uaW5nIHRpbWUgZXRjLgoKMjAxMS0wNy0wNCAxMToyNDoyMyArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6CgkgIGZsdmRlbXV4OiBpbmRpY2F0ZSByYXcgZm9ybWF0IGluIGFhYyBjYXBzCgoyMDExLTA3LTA0IDExOjA3OjEzICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pc29tcDQvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IG1pbmQgcmVxdWVzdGVkIG5hbWUgZm9yIHJlcXVlc3QgcGFkCgoyMDExLTA3LTA0IDExOjA2OjU0ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgYXZpZGVtdXg6IGZyZWUgc2NoZWR1bGluZyBxdWVyeQoKMjAxMS0wNy0wMyAxOTo1MTozMiAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBleHQvcHVsc2UvcGx1Z2luLmM6CgkgIHB1bHNlOiBJbmNyZWFzZSByYW5rcyB0byBQUklNQVJZICsgMTAKCSAgU28gdGhhdCBwdWxzZXNyYy9wdWxzZXNpbmsgZ2V0IGNob3NlbiBvdmVyIG90aGVyIHBvc3NpYmxlIFBSSU1BUlkKCSAgc3JjL3NpbmtzIGJ5IGF1dG9hdWRpb3NpbmsuICBQcmVzdW1hYmx5LCBpZiBwdWxzZSBpcyBhdmFpbGFibGUsIGl0CgkgIGlzIGFsd2F5cyBwcmVmZXJyZWQgb3ZlciBhbm90aGVyIHNyYy9zaW5rLgoJICBGaXhlczogIzY0NzU0MC4KCjIwMTEtMDYtMzAgMTg6NDc6NDggLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L211bHRpcGFydC9tdWx0aXBhcnRtdXguYzoKCSAgbXVsdGlwYXJ0bXV4OiBBZGQgXHJcbiB0byB0YWlsIG9mIHB1c2hlZCBidWZmZXJzCgkgIENsaWVudHMgc3VjaCBhcyBGaXJlZm94IHJlcXVpcmUgdGhlIFxyXG4gYWZ0ZXIgdGhlIHBheWxvYWQuCgoyMDExLTA2LTE2IDE0OjUyOjUxICswMjAwICBCcmFua28gU3ViYXNpYyA8YnJhbmtvQGF4aXMuY29tPgoKCSogZ3N0L21hdHJvc2thL2VibWwtcmVhZC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2FkZW11eDogYXZvaWQgbG9vcGluZyB3aGVuIHNlYXJjaGluZyBmb3IgY2x1c3RlcnMKCSAgRml4ZXMgc29tZSBidWdzIHRoYXQgcmVzdWx0cyBpbiB0aGUgZGVtdXhlciBsb29waW5nIHdoZW4gc2VhY2hpbmcKCSAgZm9yIGNsdXN0ZXJzIGluIG5vbi1maW5hbGl6ZWQgZmlsZXMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NTIxOTUKCjIwMTEtMDYtMzAgMTI6MzA6MjIgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L211bHRpZmlsZS9nc3RtdWx0aWZpbGVzaW5rLmM6CgkqIGdzdC9tdWx0aWZpbGUvZ3N0bXVsdGlmaWxlc3JjLmM6CgkgIG11bHRpZmlsZTogcG9ydCB0byAwLjEwCgkgICogdXNlIEdfREVGSU5FX1RZUEUKCSAgKiBhZGp1c3QgdG8gbmV3IEdzdEJ1ZmZlcgoJICAqIG1pc2MgY2FwcyBoYW5kbGluZwoKMjAxMS0wNi0zMCAxMTozNToyMSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY3V0dGVyL2dzdGN1dHRlci5jOgoJICBjdXR0ZXI6IHBvcnQgdG8gMC4xMQoJICAqIHVzZSBHX0RFRklORV9UWVBFCgkgICogYWRqdXN0IHRvIG5ldyBHc3RCdWZmZXIKCSAgKiBtaW5vciBtaXNjCgoyMDExLTA2LTMwIDExOjE3OjE5ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9yZXBsYXlnYWluL2dzdHJnYW5hbHlzaXMuYzoKCSogZ3N0L3JlcGxheWdhaW4vZ3N0cmdsaW1pdGVyLmM6CgkqIGdzdC9yZXBsYXlnYWluL2dzdHJndm9sdW1lLmM6CgkgIHJlcGxheWdhaW46IHBvcnQgdG8gMC4xMQoJICAqIHVzZSBHX0RFRklORV9UWVBFCgkgICogYWRqdXN0IHRvIG5ldyBHc3RCdWZmZXIKCjIwMTEtMDYtMzAgMTA6NTM6MDkgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmM6CgkgIHNwZWN0cnVtOiByZW1vdmUgZGVwcmVjYXRlZCBwcm9wZXJ0eQoKMjAxMS0wNi0zMCAxMDo1MTo1NSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uYzoKCSAgc3BlY3RydW06IHBvcnQgdG8gMC4xMQoJICAqIHVzZSBHX0RFRklORV9UWVBFCgkgICogYWRqdXN0IHRvIG5ldyBHc3RCdWZmZXIKCjIwMTEtMDYtMzAgMTA6Mzg6NDkgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2xldmVsL2dzdGxldmVsLmM6CgkgIGxldmVsOiBwb3J0IHRvIDAuMTEKCSAgKiB1c2UgR19ERUZJTkVfVFlQRQoJICAqIGFkanVzdCB0byBuZXcgR3N0QnVmZmVyCgoyMDExLTA2LTMwIDEwOjMwOjE2ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyLmM6CgkqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyMTBiYW5kcy5jOgoJKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplcjNiYW5kcy5jOgoJKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplcm5iYW5kcy5jOgoJICBlcXVhbGl6ZXI6IHBvcnQgdG8gMC4xMQoKMjAxMS0wNi0xMCAxODo1NDo0OCArMDUzMCAgRGViYXJzaGkgUmF5IDxyaXNoaUBnbnUub3JnPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXBhcnNlLmM6CgkgIG1hdHJvc2thcGFyc2U6IGZpeCByZWZlcmVuY2UgY291bnRpbmcgb2YgcGFyc2UtPnN0cmVhbWhlYWRlcgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjUyMjg2CgkgIFNpZ25lZC1vZmYtYnk6IERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKMjAxMS0wNi0yOSAxNDozOTo1MiAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBleHQvanBlZy9nc3RqcGVnZW5jLmM6CgkgIGpwZWdlbmM6IERvbid0IHJvdW5kIHVwIHNpemUgb2YgZW5jb2RlZCBidWZmZXJzCgkgIEZvciBzb21lIHJlYXNvbiwgaW4gY29kZSBkYXRpbmcgdG8gMjAwMSwgZW5jb2RlZCBqcGVnIGJ1ZmZlcnMgd2VyZQoJICByb3VuZGVkIHVwIHRvIG11bHRpcGxlcyBvZiA0IGJ5dGVzLiAgV2l0aCB0aGUgYWRkZWQgYm9udXMgdGhhdCB0aGUKCSAgZXh0cmEgYnl0ZXMgYXJlIHVud3JpdHRlbiwgY2F1c2luZyB2YWxncmluZCBpc3N1ZXMuICBPb3BzLiAgSSBjYW4ndAoJICB0aGluayBvZiBhbnkgcmVhc29uIHdoeSBKUEVHIGJ1ZmZlcnMgbmVlZCB0byBiZSBtdWx0aXBsZXMgb2YgNCBieXRlcywKCSAgc28gSSByZW1vdmVkIHRoZSBwYWRkaW5nLiAgVGhlcmUgbWlnaHQgYmUgc29tZSBjb2RlIHNvbWV3aGVyZSB0aGF0CgkgIGRlcGVuZHMgb24gdGhpcyBiZWhhdmlvciwgc28gaWYgdGhpcyBuZWVkcyB0byBiZSByZXZlcnRlZCwgcGxlYXNlIGZpeAoJICB0aGUgdmFsZ3JpbmQgaXNzdWVzLgoKMjAxMS0wNi0yOSAxMjo0NjoyMCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaXNvbXA0L01ha2VmaWxlLmFtOgoJKiBnc3QvaXNvbXA0L2F0b21zLmM6CgkqIGdzdC9pc29tcDQvYXRvbXNyZWNvdmVyeS5jOgoJKiBnc3QvaXNvbXA0L2dzdHF0bW9vdnJlY292ZXIuYzoKCSogZ3N0L2lzb21wNC9nc3RxdG11eC5jOgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4Lmg6CgkqIGdzdC9pc29tcDQvZ3N0cXRtdXhtYXAuYzoKCSogZ3N0L2lzb21wNC9nc3RydHB4cXRkZXBheS5jOgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSogZ3N0L2lzb21wNC9xdGRlbXV4Lmg6CgkgIGlzb21wNDogcG9ydCB0byAwLjExCgoyMDExLTA2LTI4IDEyOjU1OjQ1ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgYXZpZGVtdXg6IHR3ZWFrIHNvbWUgcG9ydGVkIHNlZ21lbnQgaGFuZGxpbmcKCSAgLi4uIHRvIGF2b2lkIGxvc2luZyBkdXJhdGlvbiBkdXJpbmcgcHVzaCBtb2RlIHNlZWtpbmcsIGFuZCB0byBwcm9wZXJseQoJICBhY2N1bXVsYXRlIHJ1bm5pbmcgdGltZSB3aGVuIHNlZ21lbnQgc2Vla2luZy4KCjIwMTEtMDYtMjkgMTI6MDU6MDQgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2lzb21wNC9nc3RxdG11eC5jOgoJICBxdG11eDogZnJlZSBkYXRlIHRhZwoKMjAxMS0wNi0yOCAxMjoyNjozNyArMDIwMCAgSm9uYXMgTGFyc3NvbiA8am9uYXMubGFyc3NvbkBoaXEuc2U+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFhY3BhcnNlLmM6CgkgIGFhY3BhcnNlOiBub3Qgc28gZ3JlZWR5IG1pbmltdW0gZnJhbWUgc2l6ZQoJICBGaXhlcyAjNjUzNTU5LgoKMjAxMS0wNi0yNSAxMTozOToyMyAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogcmVtb3ZlIG5vbi1wa2ctY29uZmlnIGNoZWNrIGZvciBzaG91dAoJICBGaXhlczogNjUzMzI3CgoyMDExLTA2LTIwIDE4OjQ5OjU3ICswMjAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPGFtb3JhbGVzQGZsdW1vdGlvbi5jb20+CgoJKiBleHQvcmF3MTM5NC9nc3QxMzk0Y2xvY2suYzoKCSAgZHYxMzk0c3JjOiBtYWtlIHRoZSBpbnRlcm5hbCBjbG9jayB0aHJlYWQgc2FmZQoJICBGaXhlczogIzY1MzA5MS4KCjIwMTEtMDYtMjQgMTE6NTQ6MjkgKzAyMDAgIE1pZ3VlbCBBbmdlbCBDYWJyZXJhIE1veWEgPG1hZG1hYzI1MDFAZ21haWwuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwaml0dGVyYnVmZmVyLmM6CgkgIHJ0cGppdHRlcmJ1ZmZlcjogcmV0dXJuIGNvcnJlY3QgdHlwZSB3aGVuIGFzc2VydGlvbiBmYWlscwoKMjAxMS0wNi0yMyAxMToyODoyNyAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIDY5Yjk4MWYgdG8gNjA1Y2Q5YQoKMjAxMS0wNi0yMiAxNjo0MToxMyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcDogZml4IGZvciB1cmkgY2hhbmdlcwoKMjAxMS0wMi0wMiAxNjoxODo1NCArMDUzMCAgQXJ1biBSYWdoYXZhbiA8YXJ1bi5yYWdoYXZhbkBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSogZXh0L3B1bHNlL3B1bHNlc3JjLmM6CgkqIGV4dC9wdWxzZS9wdWxzZXV0aWwuYzoKCSogZXh0L3B1bHNlL3B1bHNldXRpbC5oOgoJICBwdWxzZTogRHJvcCBzdXBwb3J0IGZvciBQQSB2ZXJzaW9ucyBiZWZvcmUgMC45LjE2CgkgIFRoaXMgZHJvcHMgc3VwcG9ydCBmb2YgUHVsc2VBdWRpbyB2ZXJzaW9ucyBwcmlvciB0byAwLjkuMTYsIHdoaWNoIHdhcwoJICByZWxlYXNlZCBhYm91dCAxLjUgeWVhcnMgYWdvLiBUZXN0aW5nIHdpdGggdmVyeSBvbGQgdmVyc2lvbnMgaXMgbm90CgkgIGZlYXNpYmxlIGFuZCB3ZSBkb24ndCB3YW50IHRvIG1haW50YWluIDIgaW5kZXBlbmRlbnQgY29kZS1wYXRocy4KCjIwMTEtMDYtMjEgMTg6MjQ6NDEgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJICBNZXJnZSBicmFuY2ggJ21hc3RlcicgaW50byAwLjExCgkgIENvbmZsaWN0czoKCSAgY29uZmlndXJlLmFjCgkgIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lc2RzaW5rLnhtbAoJICBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2NvbmZlbGVtZW50cy54bWwKCjIwMTEtMDYtMjEgMTg6MTk6MDIgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkgIHB1bHNlc2luazogZml4IGZvciBoZWFkZXIgY2xlYW51cHMKCjIwMTEtMDYtMjEgMTU6MTU6MDYgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBtcDRhZGVwYXkuYzoKCSAgcnRwbXA0YWRlcGF5OiBmaXggb3V0cHV0IGJ1ZmZlciB0aW1lc3RhbXBzIGluIGNhc2Ugb2YgbXVsdGlwbGUgZnJhbWVzCgoyMDExLTA2LTIwIDE2OjQ3OjM2IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJICBydHBzZXNzaW9uOiBUaGUgc2lnbmFsIGhhcyA1IGFyZ3VtZW50cywgbm90IDQKCjIwMTEtMDYtMjAgMTI6MTM6MTEgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXZpL2dzdGF2aW11eC5jOgoJICBhdmltdXg6IHVzZSBzdHJpbmcgZm9yIHZpZGVvIGZvcm1hdCBub3cKCjIwMTEtMDYtMjAgMTI6MDQ6NDggKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXZpL01ha2VmaWxlLmFtOgoJICBhdmk6IGxpbmsgYWdhaW5zdCBnc3R2aWRlbyBub3cKCjIwMTEtMDYtMjAgMTI6MDM6MjQgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXZpL2dzdGF2aW11eC5jOgoJICBhdmk6IHBvcnQgdG8gbmV3IGNhcHMKCjIwMTEtMDYtMTggMTM6NDM6MDIgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSAgQnVtcCBnaXQgdmVyc2lvbiBhZnRlciB1bnBsYW5uZWQgMC4xMC4zMCByZWxlYXNlCgkgIE1lcmdlIGJyYW5jaCAnMC4xMC4zMCcKCSAgQ29uZmxpY3RzOgoJICBjb25maWd1cmUuYWMKCSAgZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLTEzOTQueG1sCgkgIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hYXNpbmsueG1sCgkgIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbGF3LnhtbAoJICBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGEueG1sCgkgIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYWNvbG9yLnhtbAoJICBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYW5ub2RleC54bWwKCSAgZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFwZXRhZy54bWwKCSAgZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvZngueG1sCgkgIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb3BhcnNlcnMueG1sCgkgIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXBhcnNlLnhtbAoJICBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2RldGVjdC54bWwKCSAgZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF2aS54bWwKCSAgZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhY2FzaW5rLnhtbAoJICBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2Fpcm8ueG1sCgkgIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jdXR0ZXIueG1sCgkgIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Zy54bWwKCSAgZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlaW50ZXJsYWNlLnhtbAoJICBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHYueG1sCgkgIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmVuY2UueG1sCgkgIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmZlY3R2LnhtbAoJICBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXF1YWxpemVyLnhtbAoJICBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXNkc2luay54bWwKCSAgZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsYWMueG1sCgkgIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHYueG1sCgkgIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHhkZWMueG1sCgkgIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nY29uZmVsZW1lbnRzLnhtbAoJICBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2RrcGl4YnVmLnhtbAoJICBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbS54bWwKCSAgZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20yazEueG1sCgkgIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc3RydHBtYW5hZ2VyLnhtbAoJICBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taGFsZWxlbWVudHMueG1sCgkgIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pY3lkZW11eC54bWwKCSAgZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlkM2RlbXV4LnhtbAoJICBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW1hZ2VmcmVlemUueG1sCgkgIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlcmxlYXZlLnhtbAoJICBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taXNvbXA0LnhtbAoJICBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tamFjay54bWwKCSAgZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwZWcueG1sCgkgIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sZXZlbC54bWwKCSAgZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1hdHJvc2thLnhtbAoJICBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsYXcueG1sCgkgIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aWZpbGUueG1sCgkgIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aXBhcnQueG1sCgkgIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uYXZpZ2F0aW9udGVzdC54bWwKCSAgZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zczQueG1sCgkgIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3NhdWRpby54bWwKCSAgZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBuZy54bWwKCSAgZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXB1bHNlYXVkaW8ueG1sCgkgIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXBsYXlnYWluLnhtbAoJICBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwLnhtbAoJICBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRzcC54bWwKCSAgZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNoYXBld2lwZS54bWwKCSAgZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNob3V0MnNlbmQueG1sCgkgIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbXB0ZS54bWwKCSAgZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdXAueG1sCgkgIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVjdHJ1bS54bWwKCSAgZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWV4LnhtbAoJICBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdGFnbGliLnhtbAoJICBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdWRwLnhtbAoJICBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW80bGludXgyLnhtbAoJICBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9ib3gueG1sCgkgIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2Nyb3AueG1sCgkgIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2ZpbHRlci54bWwKCSAgZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvbWl4ZXIueG1sCgkgIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZlbmMueG1sCgkgIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYWNrLnhtbAoJICBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFyc2UueG1sCgkgIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14aW1hZ2VzcmMueG1sCgkgIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi15NG1lbmMueG1sCgkgIHdpbjMyL2NvbW1vbi9jb25maWcuaAoKMjAxMS0wNi0xNyAxMDozNzozMyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvc3VuYXVkaW8vZ3N0c3VuYXVkaW9zaW5rLmM6CgkqIHN5cy9zdW5hdWRpby9nc3RzdW5hdWRpb3NpbmsuaDoKCSAgc3VuYXVkaW86IGZpeCB0eXBvIGluIGNvbW1lbnQKCjIwMTEtMDYtMTcgMTg6MTI6NTAgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJICBNZXJnZSBicmFuY2ggJ21hc3RlcicgaW50byAwLjExCgoyMDExLTA2LTE3IDE4OjExOjM4ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b3ZpZGVvc2luay5jOgoJKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvdmlkZW9zcmMuYzoKCSAgYXV0b2RldGVjdDogZml4IGNhcHMKCjIwMTEtMDYtMTYgMTU6Mzg6MTAgKzAyMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXMuZGViZXRoZW5jb3VydEBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2dvb20vZ3N0Z29vbS5jOgoJICBnb29tOiBmaXggdW51c2VkLWJ1dC1zZXQtY29tcGlsZXIgd2FybmluZ3MKCSAgUmVtb3ZlIHVubmVjZXNzYXJ5IHJlcyB2YXJpYWJsZXMsIGNvcmUgY2hlY2tzIGV4aXN0YW5jZQoJICBhbmQgdHlwZSBvZiB0aGVzZSBmaWVsZHMgZm9yIHVzIGFscmVhZHkgdmlhIHRoZSB0ZW1wbGF0ZQoJICBjYXBzLCBhbmQgd2Uga25vdyB0aGF0IHRoZXNlIGZpZWxkcyBleGlzdCBiZWNhdXNlIHdlJ3ZlCgkgIGZpeGF0ZWQgdGhlbSBiZWZvcmUgaW4gX25lZ290aWF0ZSgpLgoKMjAxMS0wNi0xNyAwMzowNzowOSArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2F1ZGlvZngvYXVkaW9lY2hvLmM6CgkgIGF1ZGlvZWNobzogZml4IHBhcmFtIGZsYWdzCgkgIElmIHRoZSBwYXJhbWV0ZXIgY2Fubm90IGJlIGNoYW5nZWQgaW4gcGF1c2VkJnBsYXlpbmcsIGl0IGlzIG5vdCBjb250cm9sYWJsZS4gU2V0CgkgIHRoZSBhcHByb3ByaWF0ZSBtdXRhYmlsaXR5IGZsYWcgaW5zdGVhZC4KCj09PSByZWxlYXNlIDAuMTAuMzAgPT09CgoyMDExLTA2LTE1IDIzOjU3OjM0ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIENoYW5nZUxvZzoKCSogTkVXUzoKCSogUkVMRUFTRToKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tMTM5NC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYWNvbG9yLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFubm9kZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXBldGFnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvZngueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9wYXJzZXJzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2RldGVjdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdmkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FjYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2Fpcm8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY3V0dGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlaW50ZXJsYWNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZW5jZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmZlY3R2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVxdWFsaXplci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lc2RzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZseGRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nY29uZmVsZW1lbnRzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdka3BpeGJ1Zi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20yazEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3N0cnRwbWFuYWdlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1oYWxlbGVtZW50cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pY3lkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pZDNkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbWFnZWZyZWV6ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlcmxlYXZlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlzb21wNC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwZWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGV2ZWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWF0cm9za2EueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlmaWxlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpcGFydC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uYXZpZ2F0aW9udGVzdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3M0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zc2F1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBuZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wdWxzZWF1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlcGxheWdhaW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0c3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hhcGV3aXBlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNob3V0MnNlbmQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc21wdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVjdHJ1bS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10YWdsaWIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdWRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvNGxpbnV4Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2JveC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2Nyb3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9maWx0ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9taXhlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14aW1hZ2VzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teTRtZW5jLnhtbDoKCSogZ3N0LXBsdWdpbnMtZ29vZC5kb2FwOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIFJlbGVhc2UgMC4xMC4zMAoJICBUaGlzIGlzIGFuIGFkLWhvYyByZWxlYXNlIHRoYXQgaXMgYWxtb3N0IGlkZW50aWNhbCB0byAwLjEwLjI5OgoJICAqIHdvcmsgYXJvdW5kIEdMaWIgYXRvbWljIG9wcyBBUEkgY2hhbmdlCgkgICogYmV0dGVyIGhhbmRsaW5nIG9mIG1hbGZvcm1lZCBidWZmZXJzIGluIFJUUCBkZXBheWxvZGVycwoJICAqIHNvbWUgbWlub3IgY29tcGlsYXRpb24gZml4ZXMKCjIwMTEtMDYtMDggMTg6MzM6MTAgKzAzMDAgIFJhaW1vIErDpHJ2aSA8cmFpbW8uamFydmlAZ21haWwuY29tPgoKCSogZ3N0L3VkcC9nc3R1ZHBuZXR1dGlscy5oOgoJICB1ZHA6IEZpeCBjb21waWxlciB3YXJuaW5nIG9uIG1pbmd3LXc2NAoJICBGaXhlczogIzY1MjE0NC4KCSAgZ3N0dWRwbmV0dXRpbHMuaDozMjowOiBlcnJvcjogIldJTlZFUiIgcmVkZWZpbmVkCgkgIC91c3IvaTY4Ni13NjQtbWluZ3czMi9zeXMtcm9vdC9taW5ndy9pbmNsdWRlL19taW5ndy5oOjIzMTowOiBub3RlOiB0aGlzIGlzIHRoZQoJICBsb2NhdGlvbiBvZiB0aGUgcHJldmlvdXMgZGVmaW5pdGlvbgoKMjAxMS0wNi0wNCAxMzo0OTo1MiAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvaW50ZXJsZWF2ZS9pbnRlcmxlYXZlLmM6CgkgIGludGVybGVhdmU6IFdvcmsgYXJvdW5kIGNoYW5nZXMgaW4gZ19hdG9taWMgQVBJCgkgIFNlZSAjNjUxNTE0IGZvciBkZXRhaWxzLgoKMjAxMS0wNS0xOCAxMjozNjo0MCArMDIwMCAgSm9zZSBBbnRvbmlvIFNhbnRvcyBDYWRlbmFzIDxzYW50b3NjYWRlbmFzQGdtYWlsLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwYWMzZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBidmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZzcyMmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZzcyNmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZ3NtZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBpbGJjZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDFzZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDJ0ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcHZkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHBjbWFkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHBjbXVkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHNwZWV4ZGVwYXkuYzoKCSAgcnRwOiBGaXggc2VnbWVudGF0aW9uIGZhdWx0IHByb2Nlc3NpbmcgcGF5bG9hZCBidWZmZXJzCgkgIFRoaXMgY29tbWl0IGNoZWNrcyBpZiB0aGUgdmFsdWUgcmV0dXJuZWQgYnkKCSAgZ3N0X3J0cF9idWZmZXJfZ2V0X3BheWxvYWRfYnVmZmVyIGFuZAoJICBnc3RfcnRwX2J1ZmZlcl9nZXRfcGF5bG9hZF9zdWJidWZmZXIgaXMgTlVMTCBiZWZvcmUgdXNpbmcgaXQuCgoyMDExLTA1LTE2IDA5OjA0OjMxICswMjAwICBQaW5vIFRvc2Nhbm8gPHRvc2Nhbm8ucGlub0B0aXNjYWxpLml0PgoKCSogZXh0L3B1bHNlL3B1bHNldXRpbC5jOgoJICBwdWxzZTogRGVmaW5lIFBBVEhfTUFYIGlmIGl0IGlzbid0IGRlZmluZWQKCSAgR05VIEh1cmQgZm9yIGV4YW1wbGUgZG9lc24ndCBkZWZpbmUgaXQuCgoyMDExLTA0LTI5IDA4OjU1OjE5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC93YXZlbmMvZ3N0d2F2ZW5jLmM6CgkgIHdhdmVuYzogQWxsb3cgc2V0Y2FwcyB0byBiZSBjYWxsZWQgYWZ0ZXIgYSBmb3JtYXQgd2FzIG5lZ290aWF0ZWQgaWYgaXQncyBjb21wYXRpYmxlCgkgIE90aGVyd2lzZSB3YXZlbmMgd2lsbCBmYWlsIGlmIHVwc3RyZWFtIGRlY2lkZXMgdG8gc2V0IGVxdWl2YWxlbnQgY2FwcyBvciBjYXBzCgkgIHdpdGggYWRkaXRpb25hbCBpbmZvcm1hdGlvbiBsYXRlci4KCSAgVGhhbmtzIHRvIEFsZXhhbmRlciBTY2hyZW1tZXIgZm9yIGZpbmRpbmcgdGhpcyBidWcuCgoyMDExLTA2LTE1IDE1OjA2OjIzICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIFJFUVVJUkVNRU5UUzoKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVzZHNpbmsueG1sOgoJKiBleHQvTWFrZWZpbGUuYW06CgkqIGV4dC9lc2QvTWFrZWZpbGUuYW06CgkqIGV4dC9lc2QvZXNkbW9uLmM6CgkqIGV4dC9lc2QvZXNkbW9uLmg6CgkqIGV4dC9lc2QvZXNkc2luay5jOgoJKiBleHQvZXNkL2VzZHNpbmsuaDoKCSogZXh0L2VzZC9nc3Rlc2QuYzoKCSogZ3N0LXBsdWdpbnMtZ29vZC5zcGVjLmluOgoJKiBtNC9NYWtlZmlsZS5hbToKCSogbTQvYXMtYXJ0cy5tNDoKCSogbTQvZXNkLm00OgoJKiBwby9QT1RGSUxFUy5pbjoKCSogcG8vYWYucG86CgkqIHBvL2F6LnBvOgoJKiBwby9iZy5wbzoKCSogcG8vY2EucG86CgkqIHBvL2NzLnBvOgoJKiBwby9kYS5wbzoKCSogcG8vZGUucG86CgkqIHBvL2VsLnBvOgoJKiBwby9lbl9HQi5wbzoKCSogcG8vZXMucG86CgkqIHBvL2V1LnBvOgoJKiBwby9maS5wbzoKCSogcG8vZnIucG86CgkqIHBvL2dsLnBvOgoJKiBwby9odS5wbzoKCSogcG8vaWQucG86CgkqIHBvL2l0LnBvOgoJKiBwby9qYS5wbzoKCSogcG8vbHQucG86CgkqIHBvL2x2LnBvOgoJKiBwby9tdC5wbzoKCSogcG8vbmIucG86CgkqIHBvL25sLnBvOgoJKiBwby9vci5wbzoKCSogcG8vcGwucG86CgkqIHBvL3B0X0JSLnBvOgoJKiBwby9yby5wbzoKCSogcG8vcnUucG86CgkqIHBvL3NrLnBvOgoJKiBwby9zbC5wbzoKCSogcG8vc3EucG86CgkqIHBvL3NyLnBvOgoJKiBwby9zdi5wbzoKCSogcG8vdHIucG86CgkqIHBvL3VrLnBvOgoJKiBwby92aS5wbzoKCSogcG8vemhfQ04ucG86CgkqIHBvL3poX0hLLnBvOgoJKiBwby96aF9UVy5wbzoKCSAgUmVtb3ZlIGVzb3VuZC9lc2RzaW5rIHBsdWdpbgoKMjAxMS0wNi0xNSAxNDozNzoyOSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBNYWtlZmlsZS5hbToKCSogUkVRVUlSRU1FTlRTOgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1kb2NzLnNnbWw6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2NvbmZlbGVtZW50cy54bWw6CgkqIGV4dC9NYWtlZmlsZS5hbToKCSogZXh0L2djb25mL01ha2VmaWxlLmFtOgoJKiBleHQvZ2NvbmYvZ3N0Z2NvbmYuYzoKCSogZXh0L2djb25mL2dzdGdjb25mLmg6CgkqIGV4dC9nY29uZi9nc3RnY29uZmF1ZGlvc2luay5jOgoJKiBleHQvZ2NvbmYvZ3N0Z2NvbmZhdWRpb3NpbmsuaDoKCSogZXh0L2djb25mL2dzdGdjb25mYXVkaW9zcmMuYzoKCSogZXh0L2djb25mL2dzdGdjb25mYXVkaW9zcmMuaDoKCSogZXh0L2djb25mL2dzdGdjb25mZWxlbWVudHMuYzoKCSogZXh0L2djb25mL2dzdGdjb25mZWxlbWVudHMuaDoKCSogZXh0L2djb25mL2dzdGdjb25mdmlkZW9zaW5rLmM6CgkqIGV4dC9nY29uZi9nc3RnY29uZnZpZGVvc2luay5oOgoJKiBleHQvZ2NvbmYvZ3N0Z2NvbmZ2aWRlb3NyYy5jOgoJKiBleHQvZ2NvbmYvZ3N0Z2NvbmZ2aWRlb3NyYy5oOgoJKiBleHQvZ2NvbmYvZ3N0c3dpdGNoc2luay5jOgoJKiBleHQvZ2NvbmYvZ3N0c3dpdGNoc2luay5oOgoJKiBleHQvZ2NvbmYvZ3N0c3dpdGNoc3JjLmM6CgkqIGV4dC9nY29uZi9nc3Rzd2l0Y2hzcmMuaDoKCSogZ2NvbmYvLmdpdGlnbm9yZToKCSogZ2NvbmYvTWFrZWZpbGUuYW06CgkqIGdjb25mL2dzdHJlYW1lci5zY2hlbWFzLmluOgoJKiBnc3QtcGx1Z2lucy1nb29kLnNwZWMuaW46CgkqIG00L01ha2VmaWxlLmFtOgoJKiBtNC9nY29uZi0yLm00OgoJKiBwby9QT1RGSUxFUy5pbjoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgIFJlbW92ZSBnY29uZiBlbGVtZW50cyBhbmQgcGx1Z2luCgkgIEdDb25mIHdhcyBkZXByZWNhdGVkIGluIGZhdm91ciBvZiBHU2V0dGluZ3MgZXRjLgoKMjAxMS0wNi0xNSAxNToxNzoxOSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZmxhY3BhcnNlLmM6CgkgIGZsYWNwYXJzZTogZml4IHVuaXRpYWxpemVkIGFjY2VzcwoKMjAxMS0wNi0wOSAyMTowNjoyOCArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXJlYWQtY29tbW9uLmM6CgkgIG1hdHJvc2thOiBhZGQgbWlzc2luZyBzdGRpbyBpbmNsdWRlIGZvciBzc2NhbmYKCjIwMTEtMDYtMTMgMTk6MDg6MzggKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJICBNZXJnZSBicmFuY2ggJ21hc3RlcicgaW50byAwLjExCgoyMDExLTA2LTEzIDE3OjUxOjQwICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvZngvYXVkaW9wYW5vcmFtYS5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIC1nb29kOiBwb3J0IHNvbWUgbW9yZSBwbHVnaW5zCgoyMDExLTA2LTEzIDE3OjE0OjUxICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwOiBmaXggZm9yIGZsdXNoX3N0b3AgQVBJIGNoYW5nZQoKMjAxMS0wNi0xMyAxNzoxNDowMCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2NHBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGoya2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwajJrcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwanBlZ2RlcGF5LmM6CgkgIHJ0cDogcG9ydCBzb21lIG1vcmUgKGRlKXBheWxvYWRlcgoKMjAxMS0wNi0xMyAxNzowNToxOSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFjM3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0bXBlZ2F1ZGlvcGFyc2UuYzoKCSAgYXVkaW9wYXJzZXJzOiBub3Qgc28gZ3JlZWR5IG1pbmltdW0gZnJhbWUgc2l6ZQoJICAuLi4gd2hpY2ggd2lsbCBiZSBkZXRlcm1pbmVkIGJ5IHBhcnNpbmcgYW55d2F5LCBhbmQgYXZvaWRzIGludHJvZHVjaW5nCgkgIHJlZHVuZGFudCBhZGRpdGlvbmFsIGxhdGVuY3kuCgoyMDExLTA2LTEzIDE2OjMzOjU3ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F2aS9nc3RhdmltdXguYzoKCSogZ3N0L2F2aS9nc3RhdmlzdWJ0aXRsZS5jOgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkqIGdzdC91ZHAvZ3N0dWRwc3JjLmM6CgkgIC1nb29kOiB1cGRhdGUgZm9yIGJ1ZmZlciBBUEkgY2hhbmdlCgoyMDExLTA2LTEzIDE2OjMzOjQ2ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBoMjYzZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjYzcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2M3BkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNwcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2NGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2NHBheS5jOgoJICBydHA6IHBvcnQgdG8gMC4xMQoKMjAxMS0wNi0xMyAxMzoyNTo0OSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvTWFrZWZpbGUuYW06CgkqIGdzdC9ydHAvZ3N0cnRwLmM6CgkqIGdzdC9ydHAvZ3N0cnRwYWMzcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwYnZwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBjZWx0ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBjZWx0cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjJwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnNzI2cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaWxiY3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wYXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wdnBheS5jOgoJICBydHA6IGZpeCBmb3IgQVBJIGNoYW5nZXMgaW4gdGhlIGJhc2UgY2xhc3NlcwoKMjAxMS0wNi0xMyAxMzowNzo1MCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdmkvZ3N0YXZpbXV4LmM6CgkgIGF2aW11eDogdXNlIGNhcHMgZXZlbnQgZm9yIG5lZ290aWF0aW9uCgoyMDExLTA2LTEzIDEzOjA3OjI3ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICBhdmlkZW11eDogZml4IGZvciBmbHVzaCBzdG9wIGV2ZW50IGNoYW5nZXMKCjIwMTEtMDYtMDggMTg6MzM6MTAgKzAzMDAgIFJhaW1vIErDpHJ2aSA8cmFpbW8uamFydmlAZ21haWwuY29tPgoKCSogZ3N0L3VkcC9nc3R1ZHBuZXR1dGlscy5oOgoJICB1ZHA6IEZpeCBjb21waWxlciB3YXJuaW5nIG9uIG1pbmd3LXc2NAoJICBGaXhlczogIzY1MjE0NC4KCSAgZ3N0dWRwbmV0dXRpbHMuaDozMjowOiBlcnJvcjogIldJTlZFUiIgcmVkZWZpbmVkCgkgIC91c3IvaTY4Ni13NjQtbWluZ3czMi9zeXMtcm9vdC9taW5ndy9pbmNsdWRlL19taW5ndy5oOjIzMTowOiBub3RlOiB0aGlzIGlzIHRoZQoJICBsb2NhdGlvbiBvZiB0aGUgcHJldmlvdXMgZGVmaW5pdGlvbgoKMjAxMS0wNi0xMSAxODo1ODowNyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9nb29tL2dzdGdvb20uYzoKCSAgZ29vbTogZml4IGZvciBidWZmZXJwb29sIHVwZGF0ZQoKMjAxMS0wNi0xMCAxODowNTowMSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9nb29tL2dzdGdvb20uYzoKCSAgZ29vbTogdXBkYXRlIGZvciBhbGlnbm1lbnQgY2hhbmdlCgoyMDExLTA2LTA5IDE3OjU2OjE4ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2phY2svZ3N0amFja2F1ZGlvc2luay5jOgoJKiBleHQvamFjay9nc3RqYWNrYXVkaW9zcmMuYzoKCSAgamFjazogcG9ydCBzb21lIG1vcmUKCjIwMTEtMDYtMDkgMTc6NTI6MzQgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHBkZWMuYzoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmg6CgkgIHJ0c3A6IHBvcnQgdG8gMC4xMQoKMjAxMS0wNi0wOSAxNzo1MDowOCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC91ZHAvZ3N0dWRwc3JjLmM6CgkgIHVkcDogcG9ydCB0byAwLjExCgoyMDExLTA2LTA5IDExOjM3OjQ3ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2FhbGliL2dzdGFhc2luay5jOgoJICBhYXNpbms6IHJlZ2lzdGVyIHRlbXBsYXRlIGFuZCBrbGFzcyBjb3JyZWN0bHkKCjIwMTEtMDYtMDkgMTA6NTA6NDQgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZ29vbS9nc3Rnb29tLmM6CgkqIGdzdC9nb29tL2dzdGdvb20uaDoKCSAgZ29vbTogcG9ydCBnb29tCgoyMDExLTA2LTA4IDE4OjA2OjU2ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSAgTWVyZ2UgYnJhbmNoICdtYXN0ZXInIGludG8gMC4xMQoKMjAxMS0wNi0wOCAxODowNToyMCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9hYWxpYi9nc3RhYXNpbmsuYzoKCSAgYXNzaW5rOiBwb3J0IGFhc2luayB0byAwLjExCgoyMDExLTA2LTA3IDEyOjA2OjA4ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kZWJ1Z3V0aWxzL2JyZWFrbXlkYXRhLmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL2NwdXJlcG9ydC5jOgoJKiBnc3QvZGVidWd1dGlscy9nc3RjYXBzZGVidWcuYzoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0Y2Fwc3NldHRlci5jOgoJKiBnc3QvZGVidWd1dGlscy9nc3RuYXZzZWVrLmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdHB1c2hmaWxlc3JjLmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdHRhZ2luamVjdC5jOgoJKiBnc3QvZGVidWd1dGlscy9wcm9ncmVzc3JlcG9ydC5jOgoJKiBnc3QvZGVidWd1dGlscy9ybmRidWZmZXJzaXplLmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL3Rlc3RwbHVnaW4uYzoKCSAgZGVidWd1dGlsczogU3dpdGNoIGZyb20gR1NUX0JPSUxFUlBMQVRFIHRvIEdfREVGSU5FX1RZUEUKCjIwMTEtMDYtMDcgMTE6MjU6MTggKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvZmlsdGVyL2dzdHZpZGVvZmxpcC5jOgoJICB2aWRlb2ZpbHRlcjogVXNlIG5ldyBHc3RCYXNlVHJhbnNmb3JtOjp0cmFuc2Zvcm1fY2FwcyBBUEkKCjIwMTEtMDYtMDcgMTE6MjM6NTUgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1cGFyc2UvZ3N0YXVwYXJzZS5jOgoJICBhdXBhcnNlOiBEb24ndCB1c2UgR1NUX0JPSUxFUlBMQVRFCgoyMDExLTA2LTA3IDExOjIyOjM1ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb2Z4L2F1ZGlvZnhiYXNlZmlyZmlsdGVyLmM6CgkgIGF1ZGlvZnhiYXNlZmlyZmlsdGVyOiBCdWZmZXJzIG5vIGxvbmdlciBoYXZlIGNhcHMKCjIwMTEtMDYtMDcgMTE6MjA6MDAgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2FscGhhL2dzdGFscGhhLmM6CgkqIGdzdC9hbHBoYS9nc3RhbHBoYWNvbG9yLmM6CgkgIGFscGhhOiBVc2UgbmV3IHRyYW5zZm9ybV9jYXBzIHZtZXRob2QgKHdpdGggZmlsdGVyKQoKMjAxMS0wNi0wNiAyMDo0MzozMSArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFhY3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWMzcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RkY2FwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdG1wZWdhdWRpb3BhcnNlLmM6CgkgIGF1ZGlvcGFyc2VyczogZml4IHNvbWUgbW9yZSBwYXJzZXJzCgoyMDExLTA2LTA2IDE4OjIxOjA0ICswNTMwICBEZWJhcnNoaSBSYXkgPHJpc2hpQGdudS5vcmc+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXBhcnNlLmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1yZWFkLWNvbW1vbi5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcmVhZC1jb21tb24uaDoKCSAgbWF0cm9za2E6IHJlZmFjdG9yIGNvZGUgY29tbW9uIHRvIG1hdHJvc2thZGVtdXggYW5kIG1hdHJvc2thcGFyc2UKCSAgTW92ZSB0aGUgZm9sbG93aW5nIGZ1bmN0aW9uIHRvIG1hdHJvc2thLXJlYWQtY29tbW9uLltjaF0gZnJvbQoJICBtYXRyb3NrYS1kZW11eC5jIGFuZCBtYXRyb3NrYS1wYXJzZS5jOgoJICAtIGdzdF9tYXRyb3NrYV97ZGVtdXgscGFyc2V9X3BhcnNlX2NoYXB0ZXJzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NTA4NzcKCjIwMTEtMDYtMDYgMTQ6NDc6MjcgKzA1MzAgIERlYmFyc2hpIFJheSA8cmlzaGlAZ251Lm9yZz4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguaDoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXBhcnNlLmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1wYXJzZS5oOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcmVhZC1jb21tb24uYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXJlYWQtY29tbW9uLmg6CgkgIG1hdHJvc2thOiByZWZhY3RvciBjb2RlIGNvbW1vbiB0byBtYXRyb3NrYWRlbXV4IGFuZCBtYXRyb3NrYXBhcnNlCgkgIE1vdmUgdGhlIGZvbGxvd2luZyBmdW5jdGlvbiB0byBtYXRyb3NrYS1yZWFkLWNvbW1vbi5bY2hdIGZyb20KCSAgbWF0cm9za2EtZGVtdXguYyBhbmQgbWF0cm9za2EtcGFyc2UuYzoKCSAgLSBnc3RfbWF0cm9za2Ffe2RlbXV4LHBhcnNlfV9wYXJzZV9hdHRhY2htZW50cwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjUwODc3CgoyMDExLTA2LTA2IDEyOjQzOjE0ICswNTMwICBEZWJhcnNoaSBSYXkgPHJpc2hpQGdudS5vcmc+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXBhcnNlLmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1yZWFkLWNvbW1vbi5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcmVhZC1jb21tb24uaDoKCSAgbWF0cm9za2E6IHJlZmFjdG9yIGNvZGUgY29tbW9uIHRvIG1hdHJvc2thZGVtdXggYW5kIG1hdHJvc2thcGFyc2UKCSAgTW92ZSB0aGUgZm9sbG93aW5nIGZ1bmN0aW9uIHRvIG1hdHJvc2thLXJlYWQtY29tbW9uLltjaF0gZnJvbQoJICBtYXRyb3NrYS1kZW11eC5jIGFuZCBtYXRyb3NrYS1wYXJzZS5jOgoJICAtIGdzdF9tYXRyb3NrYV97ZGVtdXgscGFyc2V9X3BhcnNlX2F0dGFjaGVkX2ZpbGUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1MDg3NwoKMjAxMS0wNi0wNSAyMjo0NTo1NSArMDUzMCAgRGViYXJzaGkgUmF5IDxyaXNoaUBnbnUub3JnPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5oOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcGFyc2UuYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXBhcnNlLmg6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1yZWFkLWNvbW1vbi5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcmVhZC1jb21tb24uaDoKCSAgbWF0cm9za2E6IHJlZmFjdG9yIGNvZGUgY29tbW9uIHRvIG1hdHJvc2thZGVtdXggYW5kIG1hdHJvc2thcGFyc2UKCSAgTW92ZSB0aGUgZm9sbG93aW5nIGZ1bmN0aW9uIHRvIG1hdHJvc2thLXJlYWQtY29tbW9uLltjaF0gZnJvbQoJICBtYXRyb3NrYS1kZW11eC5jIGFuZCBtYXRyb3NrYS1wYXJzZS5jOgoJICAtIGdzdF9tYXRyb3NrYV97ZGVtdXgscGFyc2V9X3BhcnNlX2luZm8KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1MDg3NwoKMjAxMS0wNi0wNSAxMDoxNToyMyArMDUzMCAgRGViYXJzaGkgUmF5IDxyaXNoaUBnbnUub3JnPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5oOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcGFyc2UuYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXBhcnNlLmg6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1yZWFkLWNvbW1vbi5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcmVhZC1jb21tb24uaDoKCSAgbWF0cm9za2E6IHJlZmFjdG9yIGNvZGUgY29tbW9uIHRvIG1hdHJvc2thZGVtdXggYW5kIG1hdHJvc2thcGFyc2UKCSAgTW92ZSB0aGUgZm9sbG93aW5nIGZ1bmN0aW9uIHRvIG1hdHJvc2thLXJlYWQtY29tbW9uLltjaF0gZnJvbQoJICBtYXRyb3NrYS1kZW11eC5jIGFuZCBtYXRyb3NrYS1wYXJzZS5jOgoJICAtIGdzdF9tYXRyb3NrYV97ZGVtdXgscGFyc2V9X3BhcnNlX21ldGFkYXRhCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NTA4NzcKCjIwMTEtMDYtMDUgMDk6NTQ6NDIgKzA1MzAgIERlYmFyc2hpIFJheSA8cmlzaGlAZ251Lm9yZz4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcGFyc2UuYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXJlYWQtY29tbW9uLmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1yZWFkLWNvbW1vbi5oOgoJICBtYXRyb3NrYTogcmVmYWN0b3IgY29kZSBjb21tb24gdG8gbWF0cm9za2FkZW11eCBhbmQgbWF0cm9za2FwYXJzZQoJICBNb3ZlIHRoZSBmb2xsb3dpbmcgZnVuY3Rpb24gdG8gbWF0cm9za2EtcmVhZC1jb21tb24uW2NoXSBmcm9tCgkgIG1hdHJvc2thLWRlbXV4LmMgYW5kIG1hdHJvc2thLXBhcnNlLmM6CgkgIC0gZ3N0X21hdHJvc2thX3tkZW11eCxwYXJzZX1fcGFyc2VfbWV0YWRhdGFfaWRfdGFnCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NTA4NzcKCjIwMTEtMDYtMDUgMDI6MjQ6NDEgKzA1MzAgIERlYmFyc2hpIFJheSA8cmlzaGlAZ251Lm9yZz4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcGFyc2UuYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXJlYWQtY29tbW9uLmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1yZWFkLWNvbW1vbi5oOgoJICBtYXRyb3NrYTogcmVmYWN0b3IgY29kZSBjb21tb24gdG8gbWF0cm9za2FkZW11eCBhbmQgbWF0cm9za2FwYXJzZQoJICBNb3ZlIHRoZSBmb2xsb3dpbmcgZnVuY3Rpb24gdG8gbWF0cm9za2EtcmVhZC1jb21tb24uW2NoXSBmcm9tCgkgIG1hdHJvc2thLWRlbXV4LmMgYW5kIG1hdHJvc2thLXBhcnNlLmM6CgkgIC0gZ3N0X21hdHJvc2thX3tkZW11eCxwYXJzZX1fcGFyc2VfbWV0YWRhdGFfaWRfc2ltcGxlX3RhZwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjUwODc3CgoyMDExLTA2LTA2IDEyOjQyOjUzICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogcmVzZXQgc3RhdGUgdHJhY2tpbmcgdmFyaWFibGUgd2hlbiBhcHByb3ByaWF0ZQoJICAuLi4gc28gd2UgZG9uJ3QgZW5kIHVwIGludGVycnVwdGluZyBhbiBvcGVyYXRpb24gdGhhdCBzaG91bGQgbm90IGJlIGludGVycnVwdGVkCgkgIGJhc2VkIG9uIHRoZSBpbmRpY2F0aW9uIG9mIGEgcHJldmlvdXMgaW50ZXJydXB0YWJsZSBvcGVyYXRpb24uCgoyMDExLTA2LTA0IDEzOjQ5OjUyIC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9pbnRlcmxlYXZlL2ludGVybGVhdmUuYzoKCSAgaW50ZXJsZWF2ZTogV29yayBhcm91bmQgY2hhbmdlcyBpbiBnX2F0b21pYyBBUEkKCSAgU2VlICM2NTE1MTQgZm9yIGRldGFpbHMuCgoyMDExLTA2LTA0IDEzOjQzOjAwIC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwc2luay5jOgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cHNpbmsuaDoKCSAgc291cGh0dHBzaW5rOiBjb2RlIGNsZWFudXAKCjIwMTEtMDYtMDUgMDI6MDA6MDggKzA1MzAgIERlYmFyc2hpIFJheSA8cmlzaGlAZ251Lm9yZz4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1wYXJzZS5jOgoJICBtYXRyb3NrYXBhcnNlOiBVc2UgQVJUSVNUIHRhZyBpbnN0ZWFkIG9mIEFVVEhPUiBmb3IgR1NUX1RBR19BUlRJU1QKCSAgQVVUSE9SIG9ubHkgZXhpc3RlZCBpbiBhbiBvbGQgdmVyc2lvbiBvZiB0aGUgc3BlYyBhbmQgQVJUSVNUIGlzCgkgIHRoZSBuZXcgcmVwbGFjZW1lbnQgZm9yIHRoaXMuIFdlIGFyZSBzdGlsbCByZWFkaW5nIGJvdGggdG8gc3RpbGwKCSAgYmUgY29tcGF0aWJsZSB3aXRoIG9sZCBmaWxlcy4KCSAgRml4ZXMgYnVnICM2NDQ4NzUuCgoyMDExLTA2LTAyIDE4OjUxOjI5ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSAgTWVyZ2UgYnJhbmNoICdtYXN0ZXInIGludG8gMC4xMQoJICBDb25mbGljdHM6CgkgIHN5cy94aW1hZ2UveGltYWdldXRpbC5jCgoyMDExLTA2LTAyIDE4OjQ3OjM2ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4Lmg6CgkqIGdzdC9hdmkvZ3N0YXZpbXV4LmM6CgkqIGdzdC9hdmkvZ3N0YXZpc3VidGl0bGUuYzoKCSAgYXZpOiBwb3J0IEFWSSBlbGVtZW50cyB0byBuZXcgQVBJCgoyMDExLTA2LTAyIDEzOjM4OjMwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9kdi9nc3RkdmRlbXV4LmM6CgkgIGR2ZGVtdXg6IEZpcnN0IHF1ZXJ5IHRoZSBwZWVyIGR1cmF0aW9uIGluIHRoZSByZXF1ZXN0ZWQgZm9ybWF0IGJlZm9yZSBjb252ZXJ0aW5nIHRvIEJZVEVTCgkgIEZpeGVzIHVzYWdlIG9mIGR2ZGVtdXggYWZ0ZXIgYW5vdGhlciBkZW11eGVyLCBlLmcuIG14ZmRlbXV4LgoJICBGaXhlcyBidWcgIzY1MDUwMy4KCjIwMTEtMDYtMDIgMTA6NDE6NTIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBzaW5rLmM6CgkgIHNvdXBodHRwc2luazogRml4IHJlZmNvdW50aW5nIG9mIHRoZSAic2Vzc2lvbiIgcHJvcGVydHkKCSAgUHJvcGVydGllcyBzaG91bGQgbmV2ZXIgdGFrZSBvd25lcnNoaXAgb2YgdGhlIHZhbHVlcwoJICBwYXNzZWQgdG8gdGhlbS4KCjIwMTEtMDYtMDEgMTc6MDQ6MjcgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJICBtYXRyb3NrYW11eDogRm9yIHN0cmVhbWluZyBmaWxlcywgcHVzaCB0YWdzIGZpcnN0CgoyMDExLTA1LTI0IDE0OjUyOjAxIC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGV4dC9zb3VwL01ha2VmaWxlLmFtOgoJKiBleHQvc291cC9nc3Rzb3VwLmM6CgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwc2luay5jOgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cHNpbmsuaDoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzoKCSAgc291cDogQWRkIHNvdXBodHRwc2luawoKMjAxMS0wNi0wMSAxMDoxOTozMSArMDIwMCAgVGhpanMgVmVybWVpciA8dGhpanN2ZXJtZWlyQGdtYWlsLmNvbT4KCgkqIGdzdC91ZHAvZ3N0dWRwc3JjLmM6CgkgIHVkcHNyYzogYWxsb3cgc2tpcC1maXJzdC1ieXRlcyBvZiBmdWxsIGJ1ZmZlciBzaXplCgoyMDExLTA1LTMwIDE4OjMxOjUwICswNTMwICBEZWJhcnNoaSBSYXkgPHJpc2hpQGdudS5vcmc+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXBhcnNlLmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1yZWFkLWNvbW1vbi5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcmVhZC1jb21tb24uaDoKCSAgbWF0cm9za2E6IHJlZmFjdG9yIGNvZGUgY29tbW9uIHRvIG1hdHJvc2thZGVtdXggYW5kIG1hdHJvc2thcGFyc2UKCSAgTW92ZSB0aGUgZm9sbG93aW5nIGZ1bmN0aW9ucyB0byBtYXRyb3NrYS1yZWFkLWNvbW1vbi5bY2hdIGZyb20KCSAgbWF0cm9za2EtZGVtdXguYyBhbmQgbWF0cm9za2EtcGFyc2UuYzoKCSAgLSBnc3RfbWF0cm9za2Ffe2RlbXV4LHBhcnNlfV9wYXJzZV9oZWFkZXIKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1MDg3NwoKMjAxMS0wNS0zMCAxMjowOTozMSArMDIwMCAgQW50b25pbyBGcmVkaWFuaSA8YW50b25pby5mcmVkaWFuaUBpbndpbmQuaXQ+CgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBVc2UgR1NUX1RBR19JTUFHRSBmb3IgY292ZXJhcnQgdG9vCgkgIEZpeGVzIGJ1ZyAjNjM4MTA3LgoKMjAxMS0wNS0zMCAxMDo0MDowOCArMDUzMCAgRGViYXJzaGkgUmF5IDxyaXNoaUBnbnUub3JnPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1wYXJzZS5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcmVhZC1jb21tb24uYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXJlYWQtY29tbW9uLmg6CgkgIG1hdHJvc2thOiByZWZhY3RvciBjb2RlIGNvbW1vbiB0byBtYXRyb3NrYWRlbXV4IGFuZCBtYXRyb3NrYXBhcnNlCgkgIE1vdmUgdGhlIGZvbGxvd2luZyBmdW5jdGlvbnMgdG8gbWF0cm9za2EtcmVhZC1jb21tb24uW2NoXSBmcm9tCgkgIG1hdHJvc2thLWRlbXV4LmMgYW5kIG1hdHJvc2thLXBhcnNlLmM6CgkgIC0gZ3N0X21hdHJvc2thX3tkZW11eCxwYXJzZX1fZ2V0X3NlZWtfdHJhY2sKCSAgLSBnc3RfbWF0cm9za2Ffe2RlbXV4LHBhcnNlfV9yZXNldF9zdHJlYW1zCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NTA4NzcKCjIwMTEtMDUtMjggMjI6MDQ6MzQgKzA1MzAgIERlYmFyc2hpIFJheSA8cmlzaGlAZ251Lm9yZz4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguaDoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXBhcnNlLmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1wYXJzZS5oOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcmVhZC1jb21tb24uYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXJlYWQtY29tbW9uLmg6CgkgIG1hdHJvc2thOiByZWZhY3RvciBjb2RlIGNvbW1vbiB0byBtYXRyb3NrYWRlbXV4IGFuZCBtYXRyb3NrYXBhcnNlCgkgIE1vdmUgdGhlIGZvbGxvd2luZyBmdW5jdGlvbiB0byBtYXRyb3NrYS1yZWFkLWNvbW1vbi5bY2hdIGZyb20KCSAgbWF0cm9za2EtZGVtdXguYyBhbmQgbWF0cm9za2EtcGFyc2UuYzoKCSAgLSBnc3RfbWF0cm9za2F7ZGVtdXgscGFyc2V9X2ZvdW5kX2dsb2JhbF90YWcKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1MDg3NwoKMjAxMS0wNS0yOCAxMDo1OTowOSArMDUzMCAgRGViYXJzaGkgUmF5IDxyaXNoaUBnbnUub3JnPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1wYXJzZS5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcmVhZC1jb21tb24uYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXJlYWQtY29tbW9uLmg6CgkgIG1hdHJvc2thOiByZWZhY3RvciBjb2RlIGNvbW1vbiB0byBtYXRyb3NrYWRlbXV4IGFuZCBtYXRyb3NrYXBhcnNlCgkgIE1vdmUgdGhlIGZvbGxvd2luZyBmdW5jdGlvbnMgdG8gbWF0cm9za2EtcmVhZC1jb21tb24uW2NoXSBmcm9tCgkgIG1hdHJvc2thLWRlbXV4LmMgYW5kIG1hdHJvc2thLXBhcnNlLmM6CgkgIC0gZ3N0X21hdHJvc2thX2luZGV4X3NlZWtfZmluZAoJICAtIGdzdF9tYXRyb3NrYXtkZW11eCxwYXJzZX1fZG9faW5kZXhfc2VlawoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjUwODc3CgoyMDExLTA1LTI3IDIzOjE1OjIzICswNTMwICBEZWJhcnNoaSBSYXkgPHJpc2hpQGdudS5vcmc+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXBhcnNlLmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1yZWFkLWNvbW1vbi5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcmVhZC1jb21tb24uaDoKCSAgbWF0cm9za2E6IHJlZmFjdG9yIGNvZGUgY29tbW9uIHRvIG1hdHJvc2thZGVtdXggYW5kIG1hdHJvc2thcGFyc2UKCSAgTW92ZSB0aGUgZm9sbG93aW5nIGZ1bmN0aW9uIHRvIG1hdHJvc2thLXJlYWQtY29tbW9uLltjaF0gZnJvbQoJICBtYXRyb3NrYS1kZW11eC5jIGFuZCBtYXRyb3NrYS1wYXJzZS5jOgoJICAtIGdzdF9tYXRyb3NrYV97ZGVtdXgscGFyc2V9X3RyYWNrbnVtYmVyX3VuaXF1ZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjUwODc3CgoyMDExLTA1LTI3IDIwOjI4OjE5ICswNTMwICBEZWJhcnNoaSBSYXkgPHJpc2hpQGdudS5vcmc+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXBhcnNlLmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1yZWFkLWNvbW1vbi5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcmVhZC1jb21tb24uaDoKCSAgbWF0cm9za2E6IHJlZmFjdG9yIGNvZGUgY29tbW9uIHRvIG1hdHJvc2thZGVtdXggYW5kIG1hdHJvc2thcGFyc2UKCSAgTW92ZSB0aGUgZm9sbG93aW5nIGZ1bmN0aW9uIHRvIG1hdHJvc2thLXJlYWQtY29tbW9uLltjaF0gZnJvbQoJICBtYXRyb3NrYS1kZW11eC5jIGFuZCBtYXRyb3NrYS1wYXJzZS5jOgoJICAtIGdzdF9tYXRyb3NrYV97ZGVtdXgscGFyc2V9X2RlY29kZV9kYXRhCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NTA4NzcKCjIwMTEtMDUtMjcgMTk6MzA6NDggKzA1MzAgIERlYmFyc2hpIFJheSA8cmlzaGlAZ251Lm9yZz4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcGFyc2UuYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXJlYWQtY29tbW9uLmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1yZWFkLWNvbW1vbi5oOgoJICBtYXRyb3NrYTogcmVmYWN0b3IgY29kZSBjb21tb24gdG8gbWF0cm9za2FkZW11eCBhbmQgbWF0cm9za2FwYXJzZQoJICBNb3ZlIHRoZSBmb2xsb3dpbmcgZnVuY3Rpb24gdG8gbWF0cm9za2EtcmVhZC1jb21tb24uW2NoXSBmcm9tCgkgIG1hdHJvc2thLWRlbXV4LmMgYW5kIG1hdHJvc2thLXBhcnNlLmM6CgkgIC0gZ3N0X21hdHJvc2thX3tkZW11eCxwYXJzZX1fZ2V0X2xlbmd0aAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjUwODc3CgoyMDExLTA1LTI3IDA5OjE3OjQ2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdmkvZ3N0YXZpbXV4LmM6CgkgIGF2aW11eDogUmV2ZXJ0IDFhOTBhNmM0IGFuZCBkcm9wIERpcmFjIHN1cHBvcnQgYWdhaW4KCSAgSXQgZG9lcyBub3Qgd29yayBhdCBhbGwgKEEvViBzeW5jIGlzc3VlcyksIGlzIG5vdCB2ZXJ5IHVzZWZ1bCwKCSAgb3RoZXIgY29udGFpbmVycyB3b3JrIG11Y2ggYmV0dGVyIHdpdGggRGlyYWMgYW5kIERpcmFjIGluIEFWSQoJICBpcyBub3Qgc3VwcG9ydGVkIGJ5IG90aGVyIHNvZnR3YXJlLgoJICBGaXhlcyBidWcgIzU0MTIxNS4KCjIwMTEtMDUtMjYgMjM6MzU6NTIgKzA1MzAgIERlYmFyc2hpIFJheSA8cmlzaGlAZ251Lm9yZz4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcGFyc2UuYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXJlYWQtY29tbW9uLmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1yZWFkLWNvbW1vbi5oOgoJICBtYXRyb3NrYTogcmVmYWN0b3IgY29kZSBjb21tb24gdG8gbWF0cm9za2FkZW11eCBhbmQgbWF0cm9za2FwYXJzZQoJICBNb3ZlIHRoZSBmb2xsb3dpbmcgZnVuY3Rpb25zIHRvIG1hdHJvc2thLXJlYWQtY29tbW9uLltjaF0gZnJvbQoJICBtYXRyb3NrYS1kZW11eC5jIGFuZCBtYXRyb3NrYS1wYXJzZS5jOgoJICAtIGdzdF9tYXRyb3NrYV97ZGVtdXgscGFyc2V9X2VuY29kaW5nX2NtcAoJICAtIGdzdF9tYXRyb3NrYV97ZGVtdXgscGFyc2V9X3JlYWRfdHJhY2tfZW5jb2RpbmdzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NTA4NzcKCjIwMTEtMDUtMjMgMTg6MDY6NDQgKzAzMDAgIERlYmFyc2hpIFJheSA8cmlzaGlAZ251Lm9yZz4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcGFyc2UuYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXJlYWQtY29tbW9uLmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1yZWFkLWNvbW1vbi5oOgoJICBtYXRyb3NrYTogcmVmYWN0b3IgY29kZSBjb21tb24gdG8gbWF0cm9za2FkZW11eCBhbmQgbWF0cm9za2FwYXJzZQoJICBNb3ZlIHRoZSBmb2xsb3dpbmcgZnVuY3Rpb25zIHRvIG1hdHJvc2thLXJlYWQtY29tbW9uLltjaF0gZnJvbQoJICBtYXRyb3NrYS1kZW11eC5jIGFuZCBtYXRyb3NrYS1wYXJzZS5jOgoJICAtIGdzdF9tYXRyb3NrYV97ZGVtdXgscGFyc2V9X3BlZWtfaWRfbGVuZ3RoX3B1bGwKCSAgLSBnc3RfbWF0cm9za2Ffe2RlbXV4LHBhcnNlfV9wZWVrX2lkX2xlbmd0aF9wdXNoCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NTA4NzcKCjIwMTEtMDUtMjMgMTg6MDY6NDQgKzAzMDAgIERlYmFyc2hpIFJheSA8cmlzaGlAZ251Lm9yZz4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguaDoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXBhcnNlLmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1wYXJzZS5oOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcmVhZC1jb21tb24uYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXJlYWQtY29tbW9uLmg6CgkgIG1hdHJvc2thOiByZWZhY3RvciBjb2RlIGNvbW1vbiB0byBtYXRyb3NrYWRlbXV4IGFuZCBtYXRyb3NrYXBhcnNlCgkgIE1vdmUgdGhlIGZvbGxvd2luZyBmdW5jdGlvbiB0byBtYXRyb3NrYS1yZWFkLWNvbW1vbi5bY2hdIGZyb20KCSAgbWF0cm9za2EtZGVtdXguYyBhbmQgbWF0cm9za2EtcGFyc2UuYzoKCSAgLSBnc3RfbWF0cm9za2Ffe2RlbXV4LHBhcnNlfV9wZWVrX2FkYXB0ZXIKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1MDg3NwoKMjAxMS0wNS0yNiAxMjo0ODozNiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMveGltYWdlL3hpbWFnZXV0aWwuYzoKCSAgeHZpbWFnZXNpbms6IEZhbGxiYWNrIHRvIG5vbi1YU2htIG1vZGUgaWYgYWxsb2NhdGluZyB0aGUgWFNobSBpbWFnZSBmYWlsZWQKCSAgRml4ZXMgYnVnICM2MzA0NTYuCgoyMDExLTA1LTI2IDEyOjIyOjUyICswMjAwICBNYXJjIExlZW1hbiA8bWFyYy5sZWVtYW5AZ21haWwuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBtcDR2cGF5LmM6CgkgIHJ0cG1wNHZwYXk6IERlcHJlY2F0ZWQgc2VuZC1jb25maWcgcHJvcGVydHkgYW5kIHJlcGxhY2UgYnkgY29uZmlnLWludGVydmFsCgkgIEZpeGVzIGJ1ZyAjNjIyNDEyLgoKMjAxMC0wNi0yMyAxMToxMjowMCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWlkcy5oOgoJICBtYXRyb3NrYWRlbXV4OiBVVEYtOCBzdWJ0aXRsZXMgbWF5IGhhdmUgbWFya3VwCgkgIEZpeGVzICM2MTY5MzYuCgoyMDExLTAxLTIzIDE1OjU2OjQ5ICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9jYWlyby9nc3R0ZXh0b3ZlcmxheS5jOgoJKiBleHQvY2Fpcm8vZ3N0dGV4dG92ZXJsYXkuaDoKCSAgY2Fpcm90ZXh0b3ZlcmxheTogZm9yd2FyZCBuZXcgc2VnbWVudCBldmVudHMgZnJvbSB0aGUgc2luayB0byB0aGUgc291cmNlCgkgIE5vdCBkb2luZyBzbyB3aWxsIGNhdXNlIGJ1ZmZlcnMgdG8gYmUgcmVjZWl2ZWQgYnkgZG93bnN0cmVhbSB3aXRob3V0CgkgIGEgdGltZSBiYXNlIHNldC4KCSAgV2UgdXNlIHRoZSBzYW1lIG1ldGhvZCBhdmltdXggdXNlcyB0byBnZXQgYWNjZXNzIHRvIHRoZSBldmVudCB3aGVuCgkgIGNvbGxlY3RwYWRzIGdvdCB0aGUgc2luayBldmVudCBmdW5jdGlvbi4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY0MDMyMwoKMjAxMS0wMS0yNCAxMToxMTo0OCArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvY2Fpcm8vZ3N0dGV4dG92ZXJsYXkuYzoKCSAgdGV4dG92ZXJsYXk6IGZvcndhcmQgc291cmNlIGV2ZW50cyB0byBzaW5rcwoJICBFdmVudHMgYXJlIHBhc3NlZCB0byB0aGUgdmlkZW8gc2luaywgYW5kIHRvIHRoZSB0ZXh0IHNpbmsgaWYgaXQgaXMKCSAgbGlua2VkLgoJICBUaGlzIHdpbGwgYWxsb3cgc2Vla2luZywgZm9yIGluc3RhbmNlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTg2NDUwCgoyMDExLTA1LTI1IDIxOjEyOjEyICswMjAwICBEYXZpZCBIb3l0IDxkaG95dEBsbG5sLmdvdj4KCgkqIGdzdC9tdWx0aXBhcnQvbXVsdGlwYXJ0ZGVtdXguYzoKCSogZ3N0L211bHRpcGFydC9tdWx0aXBhcnRkZW11eC5oOgoJICBtdWx0aXBhcnRkZW11eDogQWRkIHByb3BlcnR5IHRvIGFzc3VtZSBhIHNpbmdsZSBzdHJlYW0gYW5kIGVtaXQgbm8tbW9yZS1wYWRzCgkgIEZpeGVzIGJ1ZyAjNjE2Njg2LgoKMjAxMS0wNS0yNSAxNDo1MDoyNiArMDIwMCAgTWlndWVsIEFuZ2VsIENhYnJlcmEgTW95YSA8bWFkbWFjMjUwMUBnbWFpbC5jb20+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IHVuaWZvcm0gdW5rbm93biBtZXNzYWdlIGhhbmRsaW5nCgkgIERvIHRoZSBzYW1lIHByb2Nlc3NpbmcgaW4gYWxsIHRoZSBjYXNlcyB3aGVuIGFuIHVua25vd24gbWVzc2FnZSBpcyByZWNlaXZlZC4KCSAgVGhhdCBpcywgZ2l2ZSBhIHdhcm5pbmcuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NTEwNTkKCjIwMTEtMDUtMjMgMTg6MDY6NDQgKzAzMDAgIERlYmFyc2hpIFJheSA8cmlzaGlAZ251Lm9yZz4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcGFyc2UuYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXJlYWQtY29tbW9uLmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1yZWFkLWNvbW1vbi5oOgoJICBtYXRyb3NrYTogcmVmYWN0b3IgY29kZSBjb21tb24gdG8gbWF0cm9za2FkZW11eCBhbmQgbWF0cm9za2FwYXJzZQoJICBNb3ZlIHRoZSBmb2xsb3dpbmcgZnVuY3Rpb24gdG8gbWF0cm9za2EtcmVhZC1jb21tb24uW2NoXSBmcm9tCgkgIG1hdHJvc2thLWRlbXV4LmMgYW5kIG1hdHJvc2thLXBhcnNlLmM6CgkgIC0gZ3N0X21hdHJvc2thX3tkZW11eCxwYXJzZX1fcGVla19wdWxsCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NTA4NzcKCjIwMTEtMDUtMjMgMTg6MDY6NDQgKzAzMDAgIERlYmFyc2hpIFJheSA8cmlzaGlAZ251Lm9yZz4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguaDoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXBhcnNlLmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1wYXJzZS5oOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcmVhZC1jb21tb24uYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXJlYWQtY29tbW9uLmg6CgkgIG1hdHJvc2thOiByZWZhY3RvciBjb2RlIGNvbW1vbiB0byBtYXRyb3NrYWRlbXV4IGFuZCBtYXRyb3NrYXBhcnNlCgkgIE1vdmUgdGhlIGZvbGxvd2luZyBmdW5jdGlvbiB0byBtYXRyb3NrYS1yZWFkLWNvbW1vbi5bY2hdIGZyb20KCSAgbWF0cm9za2EtZGVtdXguYyBhbmQgbWF0cm9za2EtcGFyc2UuYzoKCSAgLSBnc3RfbWF0cm9za2Ffe2RlbXV4LHBhcnNlfV9wZWVrX2J5dGVzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NTA4NzcKCjIwMTEtMDUtMjMgMTg6MDY6NDQgKzAzMDAgIERlYmFyc2hpIFJheSA8cmlzaGlAZ251Lm9yZz4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcGFyc2UuYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXJlYWQtY29tbW9uLmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1yZWFkLWNvbW1vbi5oOgoJICBtYXRyb3NrYTogcmVmYWN0b3IgY29kZSBjb21tb24gdG8gbWF0cm9za2FkZW11eCBhbmQgbWF0cm9za2FwYXJzZQoJICBNb3ZlIHRoZSBmb2xsb3dpbmcgZnVuY3Rpb25zIHRvIG1hdHJvc2thLXJlYWQtY29tbW9uLltjaF0gZnJvbQoJICBtYXRyb3NrYS1kZW11eC5jIGFuZCBtYXRyb3NrYS1wYXJzZS5jOgoJICAtIGdzdF9tYXRyb3NrYV97ZGVtdXgscGFyc2V9X2VuY29kaW5nX29yZGVyX3VuaXF1ZQoJICAtIGdzdF9tYXRyb3NrYV97ZGVtdXgscGFyc2V9X3JlYWRfdHJhY2tfZW5jb2RpbmcKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1MDg3NwoKMjAxMS0wNS0yNCAxODoyNzoxMCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG9hdWRpb3NpbmsuYzoKCSogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b2F1ZGlvc3JjLmM6CgkqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG92aWRlb3NpbmsuYzoKCSogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b3ZpZGVvc3JjLmM6CgkgIGF1dG9kZXRlY3Q6IHBvcnQgdG8gbmV3IEFQSQoKMjAxMS0wNS0yNCAxNzozNDoxOSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkgIE1lcmdlIGJyYW5jaCAnbWFzdGVyJyBpbnRvIDAuMTEKCSAgQ29uZmxpY3RzOgoJICBnc3QvYXZpL2dzdGF2aWRlbXV4LmMKCSAgZ3N0L3J0cC9nc3RydHBhYzNkZXBheS5jCgkgIGdzdC9ydHAvZ3N0cnRwZzcyNmRlcGF5LmMKCSAgZ3N0L3J0cC9nc3RydHBtcHZkZXBheS5jCgkgIGdzdC92aWRlb2ZpbHRlci9nc3RnYW1tYS5jCgoyMDExLTA1LTI0IDEzOjEyOjE5ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwcGNtdWRlcGF5LmM6CgkgIHBjbXVkZXBheTogYWxsb3cgdmFyaWFibGUgc2FtcGxlIHJhdGUKCjIwMTEtMDUtMjQgMTM6MTE6NTQgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBwY21hZGVwYXkuYzoKCSAgcGNtYWRlcGF5OiBhbGxvdyB2YXJpYWJsZSBzYW1wbGUgcmF0ZQoKMjAxMC0wNC0wNCAwNjo0Mzo0MSAtMDUwMCAgUm9iIENsYXJrIDxyb2JAdGkuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0Lmg6CgkqIHN5cy92NGwyL2dzdHY0bDJzaW5rLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJ0dW5lci5jOgoJKiBzeXMvdjRsMi9nc3R2NGwydHVuZXIuaDoKCSogc3lzL3Y0bDIvdjRsMl9jYWxscy5jOgoJICB2NGwyOiBhZGQgbm9ybSBwcm9wZXJ0eQoJICBCYXNlZCBvbiBhIHBhdGNoIGJ5IEd1ZW5uYWRpIExpYWtob3ZldHNraS4KCSAgdjI6IHVwZGF0ZXMgYmVjYXVzZSBJIGZvcmdvdCB0byBhZGQgR3N0VHVuZXIgaW50ZXJmYWNlIHRvIHY0bDJzaW5rCgkgIHYzOiB1cGRhdGUgdG8gYWRkIGFsbCBwb3NzaWJsZSB2YWx1ZXMgdG8gbm9ybSBlbnVtCgoyMDExLTA1LTIzIDIwOjQ2OjA0ICswMzAwICBEZWJhcnNoaSBSYXkgPHJpc2hpQGdudS5vcmc+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcmVhZC1jb21tb24uYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXJlYWQtY29tbW9uLmg6CgkgIG1hdHJvc2thOiBmaXhlZCBjb3B5cmlnaHQgaGVhZGVycwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjUwODc3CgoyMDExLTA1LTIzIDE4OjA2OjQ0ICswMzAwICBEZWJhcnNoaSBSYXkgPHJpc2hpQGdudS5vcmc+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXBhcnNlLmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1yZWFkLWNvbW1vbi5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcmVhZC1jb21tb24uaDoKCSAgbWF0cm9za2E6IHJlZmFjdG9yIGNvZGUgY29tbW9uIHRvIG1hdHJvc2thZGVtdXggYW5kIG1hdHJvc2thcGFyc2UKCSAgTW92ZSB0aGUgZm9sbG93aW5nIGZ1bmN0aW9ucyB0byBtYXRyb3NrYS1yZWFkLWNvbW1vbi5bY2hdIGZyb20KCSAgbWF0cm9za2EtZGVtdXguYyBhbmQgbWF0cm9za2EtcGFyc2UuYzoKCSAgLSBnc3RfbWF0cm9za2FfZGVjb2RlX2NvbnRlbnRfZW5jb2RpbmdzCgkgIC0gZ3N0X21hdHJvc2thX2RlY29tcHJlc3NfZGF0YQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjUwODc3CgoyMDExLTA1LTIzIDE4OjQ4OjU3ICswMzAwICBEZWJhcnNoaSBSYXkgPHJpc2hpQGdudS5vcmc+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4Lmg6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1wYXJzZS5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcGFyc2UuaDoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXJlYWQtY29tbW9uLmg6CgkgIG1hdHJvc2thOiBtb3ZlIEdzdE1hdHJvc2the0RlbXV4LFBhcnNlfTo6c3RhdGUgdG8gR3N0TWF0cm9za2FSZWFkQ29tbW9uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NTA4NzcKCjIwMTEtMDUtMjQgMDk6NDg6NTYgKzAyMDAgIEpvbmFzIExhcnNzb24gPGpvbmFzLmxhcnNzb25AaGlxLnNlPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IEZpeCBidWZmZXIgbGVhayB3aXRoIGNvcnJ1cHRlZCBmaWxlcwoJICBGaXhlcyBidWcgIzY1MDkxMi4KCjIwMTEtMDUtMjMgMDI6NDY6MzggLTA3MDAgIE1pZ3VlbCBBbmdlbCBDYWJyZXJhIE1veWEgPG1hZG1hYzI1MDFAZ21haWwuY29tPgoKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmM6CgkgIGRlaW50ZXJsYWNlOiBmaXggcGFyYW1ldGVyIHR5cGUgaW4gdHJhY2UKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1MDkzNwoKMjAxMS0wNS0yMyAxODowNjo0NCArMDMwMCAgRGViYXJzaGkgUmF5IDxyaXNoaUBnbnUub3JnPgoKCSogZ3N0L21hdHJvc2thL01ha2VmaWxlLmFtOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4Lmg6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1wYXJzZS5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcGFyc2UuaDoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXJlYWQtY29tbW9uLmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1yZWFkLWNvbW1vbi5oOgoJICBtYXRyb3NrYTogcmVmYWN0b3IgY29kZSBjb21tb24gdG8gbWF0cm9za2FkZW11eCBhbmQgbWF0cm9za2FwYXJzZQoJICBSZXBsYWNlIHRoZSBmb2xsb3dpbmcgZnVuY3Rpb25zIHdpdGggdGhlaXIgZ3N0X21hdHJvc2thX3JlYWRfY29tbW9uXyoKCSAgY291bnRlcnBhcnRzOgoJICAtIGdzdF9tYXRyb3NrYV97ZGVtdXgscGFyc2V9X3BhcnNlX2luZGV4CgkgIC0gZ3N0X21hdHJvc2thX3tkZW11eCxwYXJzZX1fcGFyc2Vfc2tpcAoJICAtIGdzdF9tYXRyb3NrYV97ZGVtdXgscGFyc2V9X3N0cmVhbV9mcm9tX251bQoJICBJbnRyb2R1Y2UgR3N0TWF0cm9za2FSZWFkQ29tbW9uIHRvIGNvbnRhaW4gdGhvc2UgbWVtYmVycyBvZgoJICBHc3RNYXRyb3NrYURlbXV4IGFuZCBHc3RNYXRyb3NrYVBhcnNlIHRoYXQgd2VyZSB1c2VkIGJ5IHRoZSBhYm92ZQoJICBmdW5jdGlvbnMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NTA4NzcKCjIwMTEtMDUtMjMgMTM6NTA6NDYgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RmbGFjcGFyc2UuYzoKCSAgZmxhY3BhcnNlOiB0ZWxsIGJhc2VwYXJzZSB0aGUgZHVyYXRpb24gaW4gc2FtcGxlcyBmb3IgYmV0dGVyIGFjY3VyYWN5CgkgIFRlbGwgR3N0QmFzZVBhcnNlIHRoZSBkdXJhdGlvbiBpbiBzYW1wbGVzIGluc3RlYWQgb2YgdGltZSwgc28gdGhhdAoJICBhIGR1cmF0aW9uIHF1ZXJ5IGluIERFRkFVTFQgZm9ybWF0IHdpbGwgcmV0dXJuIHRoZSBjb3JyZWN0IG51bWJlcgoJICBvZiBzYW1wbGVzIHdpdGhvdXQgcm91bmRpbmcgZXJyb3JzLiBCYXNlcGFyc2Ugd2lsbCBjb252ZXJ0IHRoaXMKCSAgaW50byB0aW1lIGl0c2VsZiB3aGVuIG5lZWRlZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1MDc4NQoKMjAxMS0wNS0yMyAxMzoyNTo0NCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmxhYy9nc3RmbGFjZGVjLmM6CgkgIGZsYWNkZWM6IGFsc28gdHJ5IHVwc3RyZWFtIGZpcnN0IGZvciBkdXJhdGlvbiBxdWVyeSBpbiBERUZBVUxUIGZvcm1hdAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjUwNzg1CgoyMDExLTA1LTIzIDEzOjIzOjIxICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZmxhY3BhcnNlLmM6CgkgIGZsYWNwYXJzZTogbWFrZSBjb252ZXJzaW9uIGZyb20gVElNRSB0byBERUZBVUxUIGZvcm1hdCAoc2FtcGxlcykgd29yawoJICBGaXggY29weSduJ3Bhc3RlIGVycm9yIGluIHRoZSBwcmV2aW91cyBjb21taXQuCgoyMDExLTA1LTIzIDExOjM2OjM2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZmxhY3BhcnNlLmM6CgkgIGZsYWNwYXJzZTogSW1wbGVtZW50IGNvbnZlcnNpb25zIGJldHdlZW4gVElNRSBhbmQgREVGQVVMVCBmb3JtYXQKCSAgRml4ZXMgYnVnICM2NTA3ODUuCgoyMDExLTA1LTIyIDE4OjUwOjUxICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZmxhY3BhcnNlLmM6CgkgIGZsYWNwYXJzZTogZG9uJ3QgZXJyb3Igb3V0IG9uIGludmFsaWQgbWluaW11bV9ibG9ja3NpemUgdmFsdWUgaW4gc3RyZWFtaW5mbyBoZWFkZXIKCSAgV2UgZG9uJ3QgdXNlIGl0LCBzbyBtYXkganVzdCBhcyB3ZWxsIGFjY2VwdCBhbiBpbnZhbGlkIHZhbHVlCgkgIG9mIDAgaGVyZSwgd2hpY2ggaXMgbGlrZWx5IGluY29uc2VxdWVudGlhbCBhbnl3YXkuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NTA2OTEKCjIwMTEtMDUtMjAgMTA6MzQ6NDcgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9ydHAvZ3N0cnRwanBlZ3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wNGFkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHFjZWxwZGVwYXkuYzoKCSAgcnRwOiBmaXggc3RhdGljIGFycmF5IG92ZXJydW5zIGluIGEgbmljZXIgd2F5CgkgIFVzZSBHX05fRUxFTUVOVFMgaW5zdGVhZCBvZiBoYXJkLWNvZGluZyB0aGUgYXJyYXkgc2l6ZS4KCjIwMTEtMDUtMjAgMDA6NTM6NDQgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9ydHAvZ3N0cnRwanBlZ3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wNGFkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHFjZWxwZGVwYXkuYzoKCSAgcnRwOiBmaXggc3RhdGljIGFycmF5IG92ZXJydW5zCgkgIFllcyBhcnJheVsxMF0gaGFzIGVsZW1lbnRzIGZyb20gMC4uLjkuCgoyMDExLTA1LTE5IDIzOjMxOjE5ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmludGVyZmFjZXM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMucHJlcmVxdWlzaXRlczoKCSAgZG9jczogdXBkYXRlIHBsdWdpbiBpbnRyb3NwZWN0aW9uIGRhdGEKCSAgTm93IG1vcmUgZmlsZXMgYXJlIG1lcmdlZCBhbmQgcHJvZHVjZWQgaW4gYSBjYW5vbmljYWwgZmFzaGlvbiwgd2hpY2ggaG9wZWZ1bGx5CgkgIGNyZWF0ZXMgbGVzcyBvciBubyBkZWx0YSBpbiB0aGUgZnV0dXJlLgoKMjAxMS0wNS0xOSAyMjo1NzoxNSArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSA5ZTViYmQ1IHRvIDY5Yjk4MWYKCjIwMTEtMDUtMTkgMTg6MjE6MzMgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBhZGQgbWlzc2luZyBicmVhawoKMjAxMC0xMS0wOCAxNDowNjoxNSArMDEwMCAgUm9iZXJ0IFN3YWluIDxyb2JlcnQuc3dhaW5AY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmM6CgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5oOgoJICBkZWludGVybGFjZTogQWRkIHN1cHBvcnQgZm9yIGRlaW50ZXJsYWNpbmcgdXNpbmcgYnVmZmVyIGNhcHMvZmxhZ3MKCSAgV2hlbiBub3QgdXNpbmcgdGhlIGZpZWxkYW5hbHlzaXMgZWxlbWVudCBpbW1lZGlhdGVseSB1cHN0cmVhbSBvZiBkZWludGVybGFjZSwKCSAgYmVoYXZpb3VyIHNob3VsZCByZW1haW4gdW5jaGFuZ2VkLiBmaWVsZGFuYWx5c2lzIHdpbGwgc2V0IHRoZSBjYXBzIGFuZCBmbGFncyBvbgoJICB0aGUgYnVmZmVycyBzdWNoIHRoYXQgdGhleSBjYW4gYmUgaW50ZXJwcmV0ZWQgYW5kIGFjdGVkIHVwb24gdG8gcHJvZHVjZQoJICBwcm9ncmVzc2l2ZSBvdXRwdXQuCgkgIFRoZXJlIGFyZSB0d28gbWFpbiBtb2RlcyBvZiBvcGVyYXRpb246CgkgIC0gUGFzc2l2ZSBwYXR0ZXJuIGxvY2tpbmcKCSAgUGFzc2l2ZSBwYXR0ZXJuIGxvY2tpbmcgaXMgYSBub24tYmxvY2tpbmcsIGxvdy1sYXRlbmN5IG1vZGUgb2Ygb3BlcmF0aW9uIHRoYXQKCSAgaXMgc3VpdGFibGUgZm9yIGNsb3NlLXRvLWxpdmUgdXNhZ2UuIEluaXRpYWxseSBhIHRlbGVjaW5lIHN0cmVhbSB3aWxsIGJlCgkgIG91dHB1dCBhcyB2YXJpYWJsZSBmcmFtZXJhdGUgd2l0aCBuYcOvdmUgdGltZXN0YW1wIGFkanVzdG1lbnQuIFdpdGggZWFjaAoJICBpbmNvbWluZyBidWZmZXIsIGFuIGF0dGVtcHQgaXMgbWFkZSB0byBsb2NrIG9udG8gYSBwYXR0ZXJuLiBXaGVuIGEgbG9jayBpcwoJICBvYnRhaW5lZCwgdGhlIHNyYyBwYWQgYW5kIG91dHB1dCBidWZmZXIgY2FwcyB3aWxsIHJlZmxlY3QgdGhlIHBhdHRlcm4gYW5kCgkgIHRpbWVzdGFtcHMgd2lsbCBiZSBhY2N1cmF0ZWx5IGludGVycG9sYXRlZCBiZXR3ZWVuIHBhdHRlcm4gcmVwZWF0cy4gVGhpcwoJICBtZWFucyB0aGF0IGluaXRpYWxseSBhbmQgYXQgcGF0dGVybiB0cmFuc2l0aW9ucyB0aGVyZSB3aWxsIGJlIHNob3J0IHBlcmlvZHMKCSAgb2YgaW5hY2N1cmF0ZSB0aW1lc3RhbXBpbmcuCgkgIC0gQWN0aXZlIHBhdHRlcm4gbG9ja2luZwoJICBBY3RpdmUgcGF0dGVybiBsb2NraW5nIGlzIGEgYmxvY2tpbmcsIGhpZ2gtbGF0ZW5jeSBtb2RlIG9mIG9wZXJhdGlvbiB0aGF0IGlzCgkgIHRhcmdldGVkIGF0IHVzZS1jYXNlcyB3aGVyZSB0aW1lc3RhbXAgYWNjdXJhY3kgaXMgcGFyYW1vdW50LiBCdWZmZXJzIHdpbGwgYmUKCSAgcXVldWVkIHVudGlsIGVub3VnaCBhcmUgcHJlc2VudCB0byBtYWtlIGEgbG9jay4gV2hlbiBsb2NrZWQsIHRpbWVzdGFtcHMgd2lsbAoJICBiZSBhY2N1cmF0ZWx5IGludGVycG9sYXRlZCBiZXR3ZWVuIHBhdHRlcm4gcmVwZWF0cy4gT3JwaGFuIGZpZWxkcyBjYW4gYmUKCSAgZHJvcHBlZCBvciBkZWludGVybGFjZWQuIElmIG5vIGxvY2sgY2FuIGJlIG9idGFpbmVkLCBhIHNpbmdsZSBmaWVsZCBtaWdodCBiZQoJICBwdXNoZWQgdGhyb3VnaCB0byBiZSBkZWludGVybGFjZWQuCgkgIExvY2tpbmcgY2FuIGFsc28gYmUgZGlzYWJsZWQgb3IgJ2F1dG8nIGNob29zZXMgYmV0d2VlbiBwYXNzaXZlIGFuZCBhY3RpdmUKCSAgbG9ja2luZyBtb2RlcyBkZXBlbmRpbmcgb24gd2hldGhlciB1cHN0cmVhbSBpcyBsaXZlLgoKMjAxMS0wNS0xMCAxNjoyNTo0MCAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogUmVtb3ZlIGNvbmZpZyBzY3JpcHQgY2hlY2sgZm9yIGNhY2EKCjIwMTEtMDUtMTggMTI6MzY6NDAgKzAyMDAgIEpvc2UgQW50b25pbyBTYW50b3MgQ2FkZW5hcyA8c2FudG9zY2FkZW5hc0BnbWFpbC5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGFjM2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwYnZkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjJkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjZkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGdzbWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaWxiY2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXAxc2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXAydGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXB2ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBwY21hZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBwY211ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBzcGVleGRlcGF5LmM6CgkgIHJ0cDogRml4IHNlZ21lbnRhdGlvbiBmYXVsdCBwcm9jZXNzaW5nIHBheWxvYWQgYnVmZmVycwoJICBUaGlzIGNvbW1pdCBjaGVja3MgaWYgdGhlIHZhbHVlIHJldHVybmVkIGJ5CgkgIGdzdF9ydHBfYnVmZmVyX2dldF9wYXlsb2FkX2J1ZmZlciBhbmQKCSAgZ3N0X3J0cF9idWZmZXJfZ2V0X3BheWxvYWRfc3ViYnVmZmVyIGlzIE5VTEwgYmVmb3JlIHVzaW5nIGl0LgoKMjAxMS0wNS0xOCAxNjoxMDowNyArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSBmZDM1MDczIHRvIDllNWJiZDUKCjIwMTEtMDUtMTggMTI6NTI6MzEgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICBhdmlkZW11eDogZW5zdXJlIDAtcGFkZGluZyB3aGVuIGNvcnJlY3RpbmcgZHViaW91cyBsaXN0IHNpemUKCjIwMTEtMDUtMTggMTI6MjQ6MjUgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gNDZkZmNlYSB0byBmZDM1MDczCgoyMDExLTA1LTE4IDEwOjIyOjI3ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IHVzZSBFSU5WQUwgZm9yIG1pc3NpbmcgdXJsIHBhcmFtZXRlcgoJICBGaXhlcyBnY2Mgd2FybmluZyBhYm91dCB1c2luZyB1bmluaXRpYWxpemVkIHZhcmlhYmxlICdyZXMnLgoKMjAxMS0wNC0yOCAxNTozNzo0MCArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2RlYnVndXRpbHMvcm5kYnVmZmVyc2l6ZS5jOgoJKiBnc3QvdmlkZW9maWx0ZXIvZ3N0Z2FtbWEuYzoKCSAgdmFyaW91czogZml4IGF1dGhvciB0YWcgaW4gZWxlbWVudCBkZXRhaWxzCgoyMDExLTA0LTIwIDE1OjI1OjU4IC0wNDAwICBDaHJpcyBFIEpvbmVzIDxjaHJpc0BjaHJpc2Vqb25lcy5jb20+CgoJKiBnc3QvYXVwYXJzZS9nc3RhdXBhcnNlLmM6CgkgIGF1cGFyc2U6IGltcGxlbWVudCBzZWVraW5nCgkgIEltcGxlbWVudCBzZWVraW5nIGFuZCBzZWVraW5nIHF1ZXJ5LiBGaXhlcyAjNjQ0NTEyCgoyMDExLTA1LTE3IDE2OjEzOjU5ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSAgTWVyZ2UgYnJhbmNoICdtYXN0ZXInIGludG8gMC4xMQoKMjAxMS0wNC0wNiAxNjowNTo1NSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IGFsc28gYWxsb3cgUEFVU0UgdG8gYmUgaW50ZXJydXB0ZWQKCSAgLi4uIGFzIGl0IGlzIG9uIHRoZSB3YXkgb3V0IHRvIE5VTEwuCgkgIFNlZSAjNjMyNTA0LgoKMjAxMS0wNC0wNiAxNTo1MTo0OSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IGVuc3VyZSBwcm9wZXIgY2xvc2luZyBhbmQgY2xlYW51cAoJICAuLi4gc2luY2UgdGhlIFRFQVJET1dOIHNlcXVlbmNlIG1pZ2h0IG5vdCBoYXZlIGhhZCBhIGNoYW5jZSB0byBldmVuIHN0YXJ0LAoJICBidXQgYXQgbGVhc3QgY29ubmVjdGlvbnMgc2hvdWxkIGJlIGNsb3NlZCAoc3luY2hyb25vdXNseSkgYW5kIHN0YXRlIGNsZWFuZWQgdXAuCgkgIFNlZSAjNjMyNTA0LgoKMjAxMS0wNC0wNiAxNTo0OTowMSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuaDoKCSAgcnRzcHNyYzogZml4IGFuZCBpbXByb3ZlIGFzeW5jIGhhbmRsaW5nCgkgIFNpbXBsaWZ5IHRoZSBjb21tYW5kIGhhbmRsaW5nOyBwYXNzaW5nIGEgY29tbWFuZCB0byB0aHJlYWQgbWVhbnMgd2UgcmVhbGx5CgkgIHdhbnQgaXQgdG8gZ2V0IHRoZSBtZXNzYWdlLCB3aGljaCBtZWFucyB0byBhbHdheXMgZmx1c2ggcHJvdmlkZWQgdGhlIGNvbW1hbmQKCSAgY2FuIGhhbmRsZSBiZWluZyBpbnRlcnJ1cHRlZC4gIENvbW1hbmQgdGhyZWFkIGluZGljYXRlcyB3aGV0aGVyIGNvbW1hbmQKCSAgYWxsb3dzIGludGVycnVwdGlvbiBhbmQgZW5zdXJlIG5vbi1mbHVzaGluZyBjb25uZWN0aW9uIGFzIGl0IHN1YnNlcXVlbnRseQoJICBuZWVkcyBpdC4KCSAgSW4gcGFydGljdWxhciwgdGhpcyBhbHNvIG1ha2VzIHRoZSBURUFSRE9XTiBzZXF1ZW5jZSBpbnRlcnJ1cHRhYmxlCgkgIGFuZCBhbHNvIHByZXZlbnRzIHJhY2VzIHdoZXJlIF9sb29wXyBjb3VsZCBtaXNzIGEgY29tbWFuZCBhbmQgd291bGQKCSAgY29udGludWUgcmVjZWl2aW5nIChvciBhdCBsZWFzdCB0cnlpbmcgdG8pLgoJICBTZWUgIzYzMjUwNC4KCjIwMTEtMDQtMDYgMTQ6NTM6MjcgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiB0d2VhayBwb3N0LXNlZWsgbG9vcCBoYW5kbGluZwoKMjAxMS0wMS0xMCAxMjo0NjozNyArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5oOgoJICBydHNwc3JjOiBvcGVuIG9uIHBsYXkgYW5kIHBhdXNlIHdoZW4gbm90IGRvbmUgeWV0CgkgIFdpdGggdGhlIGFzeW5jIHN0YXRlIGNoYW5nZXMsIGl0IGlzIHBvc3NpYmxlIHRoYXQgd2UgbmVlZCB0byBvcGVuIHRoZSBzdHJlYW0KCSAgYmVmb3JlIHBsYXkgYW5kIHBhdXNlLgoJICBBbHNvIG1ha2Ugc3VyZSB3ZSByZW1lbWJlciBhIHByZXZpb3VzIG9wZW4gZmFpbHVyZSBzbyB0aGF0IHdlIGRvbid0IGtlZXAgdHJ5aW5nCgkgIGFnYWluLgoKMjAxMS0wMS0xMCAxMTo0NTowMyArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogaW1wcm92ZSBhc3luYyBoYW5kbGluZwoJICBTaW1wbGlmeSB0aGUgY29tbWFuZCBoYW5kbGluZywgb25seSBjb250aW51ZSBsb29waW5nIHdoZW4gd2UgaGF2ZSBub3QgcmVjZWl2ZWQKCSAgYW5vdGhlciBjb21tYW5kIG9yIHdoZW4gdGhlIHByZXZpb3VzIGxvb3Agd2FzIHN1Y2Nlc3NmdWxsLgoJICBBdm9pZCBsb29waW5nIG9uIGEgZGlzY29ubmVjdGVkIHNvY2tldC4KCjIwMTEtMDEtMDcgMTg6MDI6NDkgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IHJld29yayByZWNvbm5lY3QgY29kZQoJICBVc2UgdGhlIHNhbWUgYXN5bmMgY29kZSBwYXRoIHRvIGltcGxlbWVudCByZWNvbm5lY3RzLgoJICBNYWtlIHN1cmUgd2Ugb25seSBwb3N0IHByb2dyZXNzIG1lc3NhZ2VzIHdoZW4gZG9pbmcgYXN5bmMgdGhpbmdzLgoKMjAxMS0wMS0wNyAxNzoxOTo1OSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogc21hbGwgY2xlYW51cHMKCSAgTWFrZSBzdXJlIHdlIGNhbmNlbCB0aGUgcHJldmlvdXMgdGFzayB3aGVuIHF1ZXVpbmcgYSBuZXcgb25lLgoJICBNb3ZlIHRoZSBtZXNzYWdlcyB0byBhIGNlbnRyYWwgcGxhY2Ugc28gd2UgY2FuIG1vcmUgZWFzaWx5IHBvc3QgdGhlbS4KCjIwMTEtMDEtMDcgMTU6MTU6NDkgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IGRvbid0IHBvc3QgZXJyb3JzIHdoZW4gaW50ZXJydXB0aW5nCgoyMDExLTAxLTA3IDEzOjQzOjA2ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmg6CgkgIHJ0c3BzcmM6IGltcGxlbWVudCBtb3JlIGFzeW5jIGhhbmRsaW5nCgkgIFJlbW92ZSBzb21lIG9sZCBsb2Nrcy4KCSAgTWFrZSBzdXJlIHdlIG5ldmVyIGdvIGludG8gdGhlIGxvb3AgZnVuY3Rpb24gd2hlbiBmbHVzaGluZy4KCjIwMTEtMDEtMDcgMTE6NDA6MzIgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IGZpcnN0IGF0dGVtcHQgYXQgYXN5bmMgaW1wbGVtZW50YXRpb24KCjIwMTEtMDEtMDcgMTE6NDA6MTEgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmg6CgkgIHJ0c3BzcmM6IHNtYWxsIGhlYWRlciBjbGVhbnVwcwoKMjAxMS0wNS0xNyAxMDo0NzozMiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzc3JjZGVtdXguYzoKCSAgc3NyY2RlbXV4OiBGaXggdW5pbml0aWFsaXplZCB2YXJpYWJsZSBjb21waWxlciB3YXJuaW5nIGZvciAocHJlLSkgcmVsZWFzZXMgdG9vCgoyMDExLTA0LTI4IDE1OjU3OjA0ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgdjRsMm9iamVjdHM6IE9ubHkgYWxsb3cgbXBlZy10cyBvbiBzb3VyY2Ugb2JqZWN0cwoJICBVZ2x5IGZpeCBmb3IgIzY0ODMxMgoKMjAxMS0wNS0xNyAwOToyNDowOCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzc3JjZGVtdXguYzoKCSAgcnRwc3NyY2RlbXV4OiBGaXggdW5pbml0aWFsaXplZCB2YXJpYWJsZSBjb21waWxlciB3YXJuaW5nCgoyMDExLTA1LTA2IDE5OjA5OjE3IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzc3JjZGVtdXguYzoKCSAgc3NyY2RlbXV4OiBJbXBsZW1lbnQgaXRlcmF0ZSBpbnRlcm5hbCBsaW5rcyBmb3Igc2luayBwYWRzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NDk2MTcKCjIwMTEtMDUtMDYgMTg6NDE6MDEgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNzcmNkZW11eC5jOgoJICBydHBzc3JjZGVtdXg6IGl0ZXJhdGUgcGFkIGZ1bmN0aW9uIGlzIG9ubHkgdmFsaWQgZm9yIHNyYyBwYWRzCgkgIFRoZSBpdGVyYXRlIGZ1bmN0aW9uIGlzIG9ubHkgdXNlZCBmb3Igc3JjIHBhZHMsIHNvIG1hcmsgaXQgYXMgc3VjaCBhbmQgcmVtb3ZlCgkgIGRlYWQgY29kZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY0OTYxNwoKMjAxMS0wNS0wNiAxODoxMjo1MyAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc3NyY2RlbXV4LmM6CgkgIHJ0cHNzcmNkZW11eDogUmVsZWFzZSBsb2NrIGJlZm9yZSBlbWl0dGluZyBzaWduYWwKCSAgSWYgdGhlIGxvY2sgaXMgbm90IHJlbGVhc2VkIGJlZm9yZSBlbWl0dGluZyBhIHNpZ25hbCwgaXQgbWF5IGNhdXNlIGEgZGVhZGxvY2sKCSAgaWYgYW55IG90aGVyIGZ1bmN0aW9uIGluIHRoZSBlbGVtZW50IGlzIGNhbGxlZC4KCSAgQWxzbyByZW1vdmVkIGFuIHVudXNlZCB0aW1lc3RhbXAgcGFyYW1ldGVyCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NDk2MTcKCjIwMTEtMDUtMTUgMjM6MjU6MTUgKzAzMDAgIERlYmFyc2hpIFJheSA8cmlzaGlAZ251Lm9yZz4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1wYXJzZS5jOgoJICBtYXRyb3NrYXBhcnNlOiBjYWxjdWxhdGUgc2VnbWVudCBkdXJhdGlvbiBhZnRlciBwYXJzaW5nIGFsbCB0aGUgSURzCgkgIFNpbmNlIHRoZSBzZWdtZW50IGR1cmF0aW9uIGlzIGdpdmVuIGluIHRlcm1zIG9mIHRoZQoJICBHU1RfTUFUUk9TS0FfSURfVElNRUNPREVTQ0FMRSB3ZSBzaG91bGQgb25seSBjb252ZXJ0IGl0IGludG8KCSAgbmFub3NlY29uZHMgd2hlbiB3ZSBhcmUgc3VyZSB0aGF0IGFueSBzY2FsZSBzcGVjaWZpZWQgaW4gdGhlIGZpbGUgaGFzCgkgIGJlZW4gcmVhZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1MDI1OAoKMjAxMS0wNS0xNiAxNzo1MjoxMSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkgIE1lcmdlIGJyYW5jaCAnbWFzdGVyJyBpbnRvIDAuMTEKCSAgQ29uZmxpY3RzOgoJICBjb25maWd1cmUuYWMKCjIwMTEtMDUtMTYgMTc6NTA6MTUgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcHVsc2UvcHVsc2VzcmMuYzoKCSogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b2F1ZGlvc2luay5jOgoJKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvYXVkaW9zcmMuYzoKCSogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b3ZpZGVvc2luay5jOgoJKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvdmlkZW9zcmMuYzoKCSAgLWdvb2Q6IGZpeCBmb3IgbmV3IEFQSQoKMjAxMS0wNS0wNCAxMTo1NToyMSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2FkZW11eDogYWRkaXRpb25hbCBsb2NrIHNhZmV0eQoJICBGaXhlcyAjNjE5NTkwLgoKMjAxMS0wNC0yNiAxNjowNjo1NiArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogYWxzbyBjaGVjayBmb3IgYml0cmF0ZSBpbmZvIGluIGNhcHMKCjIwMTAtMDUtMjUgMDE6MDQ6NDMgKzA1MzAgIEFydW4gUmFnaGF2YW4gPGFydW4ucmFnaGF2YW5AY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LmM6CgkqIGdzdC9pc29tcDQvcXRkZW11eC5oOgoJICBxdGRlbXV4OiBndWVzcyBiaXRyYXRlIGlmIG9ubHkgb25lIHN0cmVhbSdzIGJpdHJhdGUgaXMgdW5rbm93bgoJICBJZiB0aGUgYml0cmF0ZXMgZm9yIGFsbCBidXQgb25lIGF1ZGlvL3ZpZGVvIHN0cmVhbXMgYXJlIGtub3duLCBhbmQgdGhlCgkgIHRvdGFsIHN0cmVhbSBzaXplIGFuZCBkdXJhdGlvbiBjYW4gYmUgZGV0ZXJtaW5lZCwgdGhpcyBjYWxjdWxhdGVzIHRoZQoJICB1bmtvd24gYml0cmF0ZSBhcyAoc3RyZWFtIHNpemUgLyBkdXJhdGlvbikgLSAoc3VtIG9mIGtub3duIGJpdHJhdGVzKS4KCSAgV2hpbGUgdGhpcyBpcyBub3QgZ3VhcmFudGVlZCB0byBiZSB2ZXJ5IGFjY3VyYXRlLCBpdCBzaG91bGQgYmUgZ29vZAoJICBlbm91Z2ggZm9yIG1vc3QgcHVycG9zZXMuCgkgIEZvciBleGFtcGxlLCB0aGlzIGlzIHVzZWZ1bCBmb3IgSC4yNjMgKyBBQUMgc3RyZWFtcyB3aGVyZSBubyAnYnRydCcgYXRvbQoJICBpcyBhdmFpbGFibGUgZm9yIHRoZSB2aWRlbyBwb3J0aW9uLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjE5NTQ4CgoyMDEwLTA1LTMxIDIzOjU5OjU5ICswNTMwICBBcnVuIFJhZ2hhdmFuIDxhcnVuLnJhZ2hhdmFuQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBFeHBvcnQgbWF4IGJpdHJhdGUgZm9yIEFNUi1OQi8tV0Igc3RyZWFtcwoJICBUaGlzIHBhcnNlcyB0aGUgJ2RhbXInIGF0b20gaWYgcHJlc2VudCwgYW5kIGV4cG9ydHMgdGhlIG1heGltdW0gYml0cmF0ZQoJICBvZiB0aGUgc3RyZWFtIHVzaW5nIHRoZSBtb2RlIHNldCBmaWVsZCB0byBkZXRlcm1pbmUgdGhlIGhpZ2hlc3QgYml0cmF0ZQoJICBmcmFtZSB0eXBlIHRoYXQgbWlnaHQgYmUgcHJlc2VudC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYyMDE4NgoKMjAxMS0wNS0xNiAwOTowNDozMSArMDIwMCAgUGlubyBUb3NjYW5vIDx0b3NjYW5vLnBpbm9AdGlzY2FsaS5pdD4KCgkqIGV4dC9wdWxzZS9wdWxzZXV0aWwuYzoKCSAgcHVsc2U6IERlZmluZSBQQVRIX01BWCBpZiBpdCBpc24ndCBkZWZpbmVkCgkgIEdOVSBIdXJkIGZvciBleGFtcGxlIGRvZXNuJ3QgZGVmaW5lIGl0LgoKMjAxMS0wNS0xNSAyMzoyNToxNSArMDMwMCAgRGViYXJzaGkgUmF5IDxyaXNoaUBnbnUub3JnPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thZGVtdXg6IGNhbGN1bGF0ZSBzZWdtZW50IGR1cmF0aW9uIGFmdGVyIHBhcnNpbmcgYWxsIHRoZSBJRHMKCSAgU2luY2UgdGhlIHNlZ21lbnQgZHVyYXRpb24gaXMgZ2l2ZW4gaW4gdGVybXMgb2YgdGhlCgkgIEdTVF9NQVRST1NLQV9JRF9USU1FQ09ERVNDQUxFIHdlIHNob3VsZCBvbmx5IGNvbnZlcnQgaXQgaW50bwoJICBuYW5vc2Vjb25kcyB3aGVuIHdlIGFyZSBzdXJlIHRoYXQgYW55IHNjYWxlIHNwZWNpZmllZCBpbiB0aGUgZmlsZSBoYXMKCSAgYmVlbiByZWFkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjUwMjU4CgoyMDExLTA1LTA5IDE5OjAwOjQ1ICswMjAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPGFtb3JhbGVzQGZsdW1vdGlvbi5jb20+CgoJKiBnc3QvZmx2L2dzdGZsdm11eC5jOgoJICBmbHZtdXg6IEFkZCBzdXBwb3J0IGZvciBtcGVndmVyc2lvbiAyLCB3aGljaCBpcyBhbHNvIEFBQwoKMjAxMS0wNS0xMSAxMDoyNToxNSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmxhYy9nc3RmbGFjZGVjLmM6CgkqIGV4dC9mbGFjL2dzdGZsYWNkZWMuaDoKCSAgZmxhY2RlYzogU2VuZCBFT1Mgd2hlbiBzZWVraW5nIGFmdGVyIHRoZSBlbmQgb2YgZmlsZSBpbnN0ZWFkIG9mIGZhaWxpbmcKCSAgRml4ZXMgYnVnICM2NDk3ODAuCgoyMDExLTA0LTI5IDA4OjU5OjIwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC93YXZlbmMvZ3N0d2F2ZW5jLmM6CgkgIHdhdmVuYzogU2V0IGZpeGVkY2FwcyBnZXRjYXBzIGZ1bmN0aW9uIG9uIHRoZSBzaW5rcGFkCgkgIHdhdmVuYyBkb2VzIG5vdCBhbGxvdyB0byBjaGFuZ2UgdGhlIGNhcHMgZHVyaW5nIHBsYXliYWNrCgkgIGFuZCBhbHdheXMgcmV0dXJuaW5nIHRoZSB0ZW1wbGF0ZSBjYXBzIGlzIGp1c3Qgd3JvbmcuCgoyMDExLTA0LTI5IDA4OjU1OjE5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC93YXZlbmMvZ3N0d2F2ZW5jLmM6CgkgIHdhdmVuYzogQWxsb3cgc2V0Y2FwcyB0byBiZSBjYWxsZWQgYWZ0ZXIgYSBmb3JtYXQgd2FzIG5lZ290aWF0ZWQgaWYgaXQncyBjb21wYXRpYmxlCgkgIE90aGVyd2lzZSB3YXZlbmMgd2lsbCBmYWlsIGlmIHVwc3RyZWFtIGRlY2lkZXMgdG8gc2V0IGVxdWl2YWxlbnQgY2FwcyBvciBjYXBzCgkgIHdpdGggYWRkaXRpb25hbCBpbmZvcm1hdGlvbiBsYXRlci4KCSAgVGhhbmtzIHRvIEFsZXhhbmRlciBTY2hyZW1tZXIgZm9yIGZpbmRpbmcgdGhpcyBidWcuCgoyMDExLTA1LTE0IDEwOjAyOjIyICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi0xMzk0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhY29sb3IueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYW5ub2RleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hcGV0YWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9meC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb3BhcnNlcnMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvZGV0ZWN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF2aS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWNhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWlyby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jdXR0ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVpbnRlcmxhY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZlbmNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZmVjdHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXF1YWxpemVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVzZHNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmxhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx4ZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdjb25mZWxlbWVudHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2RrcGl4YnVmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbTJrMS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc3RydHBtYW5hZ2VyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWhhbGVsZW1lbnRzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWljeWRlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlkM2RlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWltYWdlZnJlZXplLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVybGVhdmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taXNvbXA0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWphY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanBlZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sZXZlbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tYXRyb3NrYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aWZpbGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlwYXJ0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5hdmlnYXRpb250ZXN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zczQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5nLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXB1bHNlYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVwbGF5Z2Fpbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRzcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaGFwZXdpcGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hvdXQyc2VuZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbXB0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWN0cnVtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXRhZ2xpYi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi11ZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW80bGludXgyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvYm94LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvY3JvcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2ZpbHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb21peGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXhpbWFnZXNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi15NG1lbmMueG1sOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIEJhY2sgdG8gZGV2ZWxvcG1lbnQKCj09PSByZWxlYXNlIDAuMTAuMjkgPT09CgoyMDExLTA1LTEwIDEwOjA0OjI4ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIENoYW5nZUxvZzoKCSogTkVXUzoKCSogUkVMRUFTRToKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5pbnRlcmZhY2VzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLnByZXJlcXVpc2l0ZXM6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi0xMzk0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhY29sb3IueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYW5ub2RleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hcGV0YWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9meC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb3BhcnNlcnMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvZGV0ZWN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF2aS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWNhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWlyby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jdXR0ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVpbnRlcmxhY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZlbmNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZmVjdHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXF1YWxpemVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVzZHNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmxhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx4ZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdjb25mZWxlbWVudHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2RrcGl4YnVmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbTJrMS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc3RydHBtYW5hZ2VyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWhhbGVsZW1lbnRzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWljeWRlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlkM2RlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWltYWdlZnJlZXplLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVybGVhdmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taXNvbXA0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWphY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanBlZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sZXZlbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tYXRyb3NrYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aWZpbGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlwYXJ0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5hdmlnYXRpb250ZXN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zczQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5nLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXB1bHNlYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVwbGF5Z2Fpbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRzcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaGFwZXdpcGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hvdXQyc2VuZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbXB0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWN0cnVtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXRhZ2xpYi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi11ZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW80bGludXgyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvYm94LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvY3JvcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2ZpbHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb21peGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXhpbWFnZXNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi15NG1lbmMueG1sOgoJKiBnc3QtcGx1Z2lucy1nb29kLmRvYXA6CgkqIHBvL2FmLnBvOgoJKiBwby9hei5wbzoKCSogcG8vYmcucG86CgkqIHBvL2NhLnBvOgoJKiBwby9jcy5wbzoKCSogcG8vZGEucG86CgkqIHBvL2RlLnBvOgoJKiBwby9lbC5wbzoKCSogcG8vZW5fR0IucG86CgkqIHBvL2VzLnBvOgoJKiBwby9ldS5wbzoKCSogcG8vZmkucG86CgkqIHBvL2ZyLnBvOgoJKiBwby9nbC5wbzoKCSogcG8vaHUucG86CgkqIHBvL2lkLnBvOgoJKiBwby9pdC5wbzoKCSogcG8vamEucG86CgkqIHBvL2x0LnBvOgoJKiBwby9sdi5wbzoKCSogcG8vbXQucG86CgkqIHBvL25iLnBvOgoJKiBwby9ubC5wbzoKCSogcG8vb3IucG86CgkqIHBvL3BsLnBvOgoJKiBwby9wdF9CUi5wbzoKCSogcG8vcm8ucG86CgkqIHBvL3J1LnBvOgoJKiBwby9zay5wbzoKCSogcG8vc2wucG86CgkqIHBvL3NxLnBvOgoJKiBwby9zci5wbzoKCSogcG8vc3YucG86CgkqIHBvL3RyLnBvOgoJKiBwby91ay5wbzoKCSogcG8vdmkucG86CgkqIHBvL3poX0NOLnBvOgoJKiBwby96aF9ISy5wbzoKCSogcG8vemhfVFcucG86CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgUmVsZWFzZSAwLjEwLjI5CgkgIEhpZ2hsaWdodHM6CgkgIC0gYW1ycGFyc2UsIGFhY3BhcnNlLCBhYzNwYXJzZSwgZmxhY3BhcnNlLCBtcGVnYXVkaW9wYXJzZSwgZGNhcGFyc2UgYXVkaW8gcGFyc2VycyAobW92ZWQgZnJvbSAtYmFkKQoJICAtIG11eGVycyBub3cgbXV4IGJhc2VkIG9uIHJ1bm5pbmcgdGltZQoJICAtIElTTyBNUDQgbXV4ZXJzOiBtcDRtdXgvM2dwcG11eC9xdG11eC9tajJtdXggKG1vdmVkIGZyb20gLWJhZCkKCSAgLSBuZXcgbWF0cm9za2FwYXJzZSBlbGVtZW50CgkgIC0gbmV3IHY0bDJyYWRpbyBlbGVtZW50CgkgIC0gcnRwc2Vzc2lvbjogc3VwcG9ydCBSVENQIEVhcmx5IEZlZWRiYWNrICh0aGUgQVZQRiBwcm9maWxlKQoJICAtIG9yYyAwLjQuMTQgb3IgbmV3ZXIgcmVjb21tZW5kZWQKCSAgLSBtYW55IG90aGVyIGZpeGVzIGFuZCBpbXByb3ZlbWVudHMKCjIwMTEtMDUtMDUgMTM6MjQ6MjMgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2lzb21wNC9nc3RxdG11eC5jOgoJICBxdG11eDogRml4IHNpZ25lZCBmbG9hdGluZyBwb2ludCB2YWx1ZXMgd3JpdGluZwoJICBZb3Ugd291bGQgZW5kIHVwIG9uIHNvbWUgYXJjaGl0ZWN0dXJlcyB3aXRoIDAgYmVpbmcgd3JpdHRlbiBvdXQKCSAgaW5zdGVhZCBvZiB0aGUgcHJvcGVyIHZhbHVlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjQ5NDQ5CgoyMDExLTA1LTA0IDEyOjA0OjE1ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSAgbWF0cm9za2FtdXg6IGF2b2lkIGJ1aWxkaW5nIGluZGV4IHdoZW4gc3RyZWFtYWJsZQoJICAuLi4gYXMgaXQgd2lsbCBub3QgYmUgd3JpdHRlbiBhbnl3YXkuCgkgIEZpeGVzICM2NDg5MzcgKD8pLgoKMjAxMS0wNS0wMiAxMjowOTowMiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBNYWtlZmlsZS5hbToKCSAgYnVpbGQ6IGFkZCBvbGQgcXRkZW11eC9xdWlja3RpbWUgZGlyZWN0b3JpZXMgdG8gQ1JVRlRfRElSUyBhbmQgQ1JVRlRfRklMRVMKCjIwMTEtMDUtMDEgMDA6MDQ6MDMgLTA0MDAgIFRvbSBKYW5pc3pld3NraSA8dG9tLmphbmlzemV3c2tpQGFsY2F0ZWwtbHVjZW50LmNvbT4KCgkqIGdzdC9mbHYvZ3N0Zmx2bXV4LmM6CgkgIGZsdm11eDogZG9uJ3Qgb3ZlcndyaXRlIG1ldGFkYXRhIHRhZyB3aXRoIGR1cmF0aW9uIGluIHN0cmVhbWluZyBtb2RlCgkgIEEgZHVyYXRpb24gdGFnIGdldHMgaW5zZXJ0ZWQgb25seSBmb3Igc3RyZWFtYWJsZT1mYWxzZSwgc28gb25seQoJICB1cGRhdGUvd3JpdGUgdGhlIGR1cmF0aW9uIGxhdGVyIGlmIHdlIGFjdHVhbGx5IGluc2VydGVkIHRoYXQgdGFnLAoJICBvdGhlcndpc2Ugd2Ugd3JpdGUgZ2FyYmFnZSBpbnRvIG90aGVyIHRhZ3MuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NDkwNjAKCjIwMTEtMDQtMzAgMTg6MTY6MzYgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5pbnRlcmZhY2VzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLnByZXJlcXVpc2l0ZXM6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi0xMzk0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhY29sb3IueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYW5ub2RleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hcGV0YWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9meC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb3BhcnNlcnMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvZGV0ZWN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF2aS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWNhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWlyby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jdXR0ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVpbnRlcmxhY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZlbmNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZmVjdHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXF1YWxpemVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVzZHNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmxhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx4ZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdjb25mZWxlbWVudHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2RrcGl4YnVmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbTJrMS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc3RydHBtYW5hZ2VyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWhhbGVsZW1lbnRzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWljeWRlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlkM2RlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWltYWdlZnJlZXplLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVybGVhdmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taXNvbXA0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWphY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanBlZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sZXZlbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tYXRyb3NrYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tb25vc2NvcGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlmaWxlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpcGFydC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uYXZpZ2F0aW9udGVzdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3M0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zc2F1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBuZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wdWxzZWF1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlcGxheWdhaW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0c3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hhcGV3aXBlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNob3V0MnNlbmQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc21wdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVjdHJ1bS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10YWdsaWIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdWRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvNGxpbnV4Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2JveC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2Nyb3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9maWx0ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9taXhlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14aW1hZ2VzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teTRtZW5jLnhtbDoKCSogcG8vZnIucG86CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgMC4xMC4yOC40IHByZS1yZWxlYXNlCgoyMDExLTA0LTMwIDE3OjQ2OjM2ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIEFuZHJvaWQubWs6CgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlzb21wNC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1xdWlja3RpbWUueG1sOgoJKiBnc3QtcGx1Z2lucy1nb29kLnNwZWMuaW46CgkqIGdzdC9pc29tcDQvTEVHQUw6CgkqIGdzdC9pc29tcDQvTWFrZWZpbGUuYW06CgkqIGdzdC9pc29tcDQvYXRvbXMuYzoKCSogZ3N0L2lzb21wNC9hdG9tcy5oOgoJKiBnc3QvaXNvbXA0L2F0b21zcmVjb3ZlcnkuYzoKCSogZ3N0L2lzb21wNC9hdG9tc3JlY292ZXJ5Lmg6CgkqIGdzdC9pc29tcDQvZGVzY3JpcHRvcnMuYzoKCSogZ3N0L2lzb21wNC9kZXNjcmlwdG9ycy5oOgoJKiBnc3QvaXNvbXA0L2ZvdXJjYy5oOgoJKiBnc3QvaXNvbXA0L2Z0eXBjYy5oOgoJKiBnc3QvaXNvbXA0L2dzdHF0bW9vdnJlY292ZXIuYzoKCSogZ3N0L2lzb21wNC9nc3RxdG1vb3ZyZWNvdmVyLmg6CgkqIGdzdC9pc29tcDQvZ3N0cXRtdXgtZG9jLmM6CgkqIGdzdC9pc29tcDQvZ3N0cXRtdXgtZG9jLmg6CgkqIGdzdC9pc29tcDQvZ3N0cXRtdXguYzoKCSogZ3N0L2lzb21wNC9nc3RxdG11eC5oOgoJKiBnc3QvaXNvbXA0L2dzdHF0bXV4bWFwLmM6CgkqIGdzdC9pc29tcDQvZ3N0cXRtdXhtYXAuaDoKCSogZ3N0L2lzb21wNC9nc3RydHB4cXRkZXBheS5jOgoJKiBnc3QvaXNvbXA0L2dzdHJ0cHhxdGRlcGF5Lmg6CgkqIGdzdC9pc29tcDQvaXNvbXA0LXBsdWdpbi5jOgoJKiBnc3QvaXNvbXA0L3Byb3BlcnRpZXMuYzoKCSogZ3N0L2lzb21wNC9wcm9wZXJ0aWVzLmg6CgkqIGdzdC9pc29tcDQvcXRhdG9tcGFyc2VyLmg6CgkqIGdzdC9pc29tcDQvcXRkZW11eC5jOgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXguaDoKCSogZ3N0L2lzb21wNC9xdGRlbXV4LnZjcHJvajoKCSogZ3N0L2lzb21wNC9xdGRlbXV4X2R1bXAuYzoKCSogZ3N0L2lzb21wNC9xdGRlbXV4X2R1bXAuaDoKCSogZ3N0L2lzb21wNC9xdGRlbXV4X2ZvdXJjYy5oOgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXhfbGFuZy5jOgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXhfbGFuZy5oOgoJKiBnc3QvaXNvbXA0L3F0ZGVtdXhfdHlwZXMuYzoKCSogZ3N0L2lzb21wNC9xdGRlbXV4X3R5cGVzLmg6CgkqIGdzdC9pc29tcDQvcXRwYWxldHRlLmg6CgkqIGdzdC9xdWlja3RpbWUvTEVHQUw6CgkqIGdzdC9xdWlja3RpbWUvTWFrZWZpbGUuYW06CgkqIGdzdC9xdWlja3RpbWUvYXRvbXMuYzoKCSogZ3N0L3F1aWNrdGltZS9hdG9tcy5oOgoJKiBnc3QvcXVpY2t0aW1lL2F0b21zcmVjb3ZlcnkuYzoKCSogZ3N0L3F1aWNrdGltZS9hdG9tc3JlY292ZXJ5Lmg6CgkqIGdzdC9xdWlja3RpbWUvZGVzY3JpcHRvcnMuYzoKCSogZ3N0L3F1aWNrdGltZS9kZXNjcmlwdG9ycy5oOgoJKiBnc3QvcXVpY2t0aW1lL2ZvdXJjYy5oOgoJKiBnc3QvcXVpY2t0aW1lL2Z0eXBjYy5oOgoJKiBnc3QvcXVpY2t0aW1lL2dzdHF0bW9vdnJlY292ZXIuYzoKCSogZ3N0L3F1aWNrdGltZS9nc3RxdG1vb3ZyZWNvdmVyLmg6CgkqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXgtZG9jLmM6CgkqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXgtZG9jLmg6CgkqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXguYzoKCSogZ3N0L3F1aWNrdGltZS9nc3RxdG11eC5oOgoJKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4bWFwLmM6CgkqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXhtYXAuaDoKCSogZ3N0L3F1aWNrdGltZS9nc3RydHB4cXRkZXBheS5jOgoJKiBnc3QvcXVpY2t0aW1lL2dzdHJ0cHhxdGRlcGF5Lmg6CgkqIGdzdC9xdWlja3RpbWUvcHJvcGVydGllcy5jOgoJKiBnc3QvcXVpY2t0aW1lL3Byb3BlcnRpZXMuaDoKCSogZ3N0L3F1aWNrdGltZS9xdGF0b21wYXJzZXIuaDoKCSogZ3N0L3F1aWNrdGltZS9xdGRlbXV4LmM6CgkqIGdzdC9xdWlja3RpbWUvcXRkZW11eC5oOgoJKiBnc3QvcXVpY2t0aW1lL3F0ZGVtdXgudmNwcm9qOgoJKiBnc3QvcXVpY2t0aW1lL3F0ZGVtdXhfZHVtcC5jOgoJKiBnc3QvcXVpY2t0aW1lL3F0ZGVtdXhfZHVtcC5oOgoJKiBnc3QvcXVpY2t0aW1lL3F0ZGVtdXhfZm91cmNjLmg6CgkqIGdzdC9xdWlja3RpbWUvcXRkZW11eF9sYW5nLmM6CgkqIGdzdC9xdWlja3RpbWUvcXRkZW11eF9sYW5nLmg6CgkqIGdzdC9xdWlja3RpbWUvcXRkZW11eF90eXBlcy5jOgoJKiBnc3QvcXVpY2t0aW1lL3F0ZGVtdXhfdHlwZXMuaDoKCSogZ3N0L3F1aWNrdGltZS9xdHBhbGV0dGUuaDoKCSogZ3N0L3F1aWNrdGltZS9xdWlja3RpbWUuYzoKCSogcG8vUE9URklMRVMuaW46CgkgIHF1aWNrdGltZTogcmVuYW1lIHBsdWdpbiB0byBpc29tcDQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY0ODAwNAoKMjAxMS0wNC0yOSAxNzo1NToyOCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWFjcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYzNwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFtcnBhcnNlLmM6CgkgIGF1ZGlvcGFyc2VyczogZml4IHNvbWUgcGFyc2VycwoKMjAxMS0wNC0yOSAxNzo1NDo0MiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgZml4IGVycm9yIGNhdXNlZCBieSBtZXJnaW5nCgoyMDExLTA0LTI5IDE1OjQ5OjQxICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSAgTWVyZ2UgYnJhbmNoICdtYXN0ZXInIGludG8gMC4xMQoJICBDb25mbGljdHM6CgkgIGNvbmZpZ3VyZS5hYwoJICBnc3QvcnRwL2dzdHJ0cGdzdHBheS5jCgoyMDExLTA0LTI5IDE1OjQ2OjIxICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvZngvYXVkaW9meGJhc2VmaXJmaWx0ZXIuYzoKCSAgYXVkaW9meDogZml4IHBhZF9hbGxvYwoKMjAxMS0wNC0yNyAxMjo0NTo1MSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaW50ZXJmYWNlczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5wcmVyZXF1aXNpdGVzOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tMTM5NC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYWNvbG9yLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFubm9kZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXBldGFnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvZngueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9wYXJzZXJzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2RldGVjdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdmkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FjYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2Fpcm8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY3V0dGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlaW50ZXJsYWNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZW5jZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmZlY3R2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVxdWFsaXplci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lc2RzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZseGRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nY29uZmVsZW1lbnRzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdka3BpeGJ1Zi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20yazEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3N0cnRwbWFuYWdlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1oYWxlbGVtZW50cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pY3lkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pZDNkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbWFnZWZyZWV6ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlcmxlYXZlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWphY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanBlZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sZXZlbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tYXRyb3NrYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aWZpbGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlwYXJ0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5hdmlnYXRpb250ZXN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zczQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5nLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXB1bHNlYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcXVpY2t0aW1lLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlcGxheWdhaW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0c3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hhcGV3aXBlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNob3V0MnNlbmQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc21wdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVjdHJ1bS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10YWdsaWIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdWRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvNGxpbnV4Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2JveC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2Nyb3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9maWx0ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9taXhlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14aW1hZ2VzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teTRtZW5jLnhtbDoKCSogcG8vYmcucG86CgkqIHBvL2phLnBvOgoJKiBwby9ubC5wbzoKCSogcG8vcnUucG86CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgMC4xMC4yOC4zIHByZS1yZWxlYXNlCgoyMDExLTA0LTI2IDE1OjU4OjEyICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBnc3RwYXkuYzoKCSAgcnRwZ3N0cGF5OiBmaXggYnVmZmVyIGxlYWsKCjIwMTEtMDQtMjYgMTU6NTg6MTIgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGdzdHBheS5jOgoJICBydHBnc3RwYXk6IGZpeCBidWZmZXIgbGVhawoKMjAxMS0wNC0yNiAxNTo0Mjo0NyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NpbmsuYzoKCSogZXh0L2phY2svZ3N0amFja2F1ZGlvc3JjLmM6CgkgIGphY2s6IHBvcnQgamFjayBlbGVtZW50cwoKMjAxMS0wNC0yNSAxMDowNDo1MiArMDIwMCAgUGhpbGlwIErDpGdlbnN0ZWR0IDxwaGlsaXBqQG9wZXJhLmNvbT4KCgkqIGV4dC9qcGVnL2dzdGpwZWdkZWMuYzoKCSAganBlZ2RlYzogZG9jdW1lbnRhdGlvbiB0eXBvICJqcGVnZGRlYyIKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY0ODU4OQoKMjAxMS0wNC0yNSAxODoxNDo0NSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwYW1yZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBhbXJwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjYzZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjYzcGRlcGF5LmM6CgkgIHJ0cDogcG9ydCBzb21lIG1vcmUgZWxlbWVudHMKCjIwMTEtMDQtMjUgMTc6Mjc6NDAgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjJkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjJwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnNzIzZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnNzIzcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZzcyNmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZzcyNnBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjlkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjlwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnc21kZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGdzbXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjYzcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwbXBhcm9idXN0ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcHZkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wdnBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHBjbWFkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHBjbWFwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBwY211ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBwY211cGF5LmM6CgkgIHJ0cDogcG9ydCBtb3JlIHRvIDAuMTEKCjIwMTEtMDQtMjUgMTM6MTY6NTggKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGFjM2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwYWMzcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwYnZkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGJ2cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwY2VsdGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwY2VsdHBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZHZkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGR2cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZ3N0ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnc3RwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBpbGJjZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBpbGJjcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXBhZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcGFwYXkuYzoKCSAgcnRwOiBwb3J0IHNvbWUgbW9yZSAoZGUpcGF5bG9hZGVycwoKMjAxMS0wNC0yNSAxMjo0OTozNiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hbHBoYS9nc3RhbHBoYS5jOgoJKiBnc3QvYWxwaGEvZ3N0YWxwaGFjb2xvci5jOgoJKiBnc3QvYXBldGFnL2dzdGFwZWRlbXV4LmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvYW1wbGlmeS5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb2NoZWJiYW5kLmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvY2hlYmxpbWl0LmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvZHluYW1pYy5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb2VjaG8uYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9maXJmaWx0ZXIuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9meGJhc2VmaXJmaWx0ZXIuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9meGJhc2VpaXJmaWx0ZXIuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9paXJmaWx0ZXIuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9pbnZlcnQuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9rYXJhb2tlLmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvcGFub3JhbWEuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW93c2luY2JhbmQuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW93c2luY2xpbWl0LmM6CgkqIGdzdC92aWRlb2ZpbHRlci9nc3RnYW1tYS5jOgoJKiBnc3QvdmlkZW9maWx0ZXIvZ3N0dmlkZW9iYWxhbmNlLmM6CgkqIGdzdC92aWRlb2ZpbHRlci9nc3R2aWRlb2ZsaXAuYzoKCSAgcG9ydCBzb21lIG1vcmUgZWxlbWVudHMgdG8gMC4xMQoKMjAxMS0wNC0yNSAxMTozODoyOCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkgIE1lcmdlIGJyYW5jaCAnbWFzdGVyJyBpbnRvIDAuMTEKCjIwMTEtMDQtMjQgMTY6NDU6MDcgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L2F2aS9nc3RhdmltdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJICBhdmltdXgsbWF0cm9za2FtdXg6IEFkZCBzdHJlYW0tZm9ybWF0IHRvIGgyNjQgY2FwcwoJICBGaXhlcyAjNjA2NjYyLgoKMjAxMS0wMi0yMCAxMjoxMzo0OSAtMDgwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBleHQvbGlicG5nL2dzdHBuZ2RlYy5jOgoJICBwbmdkZWM6IFJlbW92ZSB0ZW1wb3JhcnkgY29kZQoJICBOb3cgdGhhdCB3ZSBkZXBlbmQgb24gKHdoYXQgd2lsbCBiZSkgLWJhc2UtMC4xMC4zMy4KCjIwMTEtMDQtMjQgMTQ6MDM6NTYgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IGRvbid0IHBhc3MgLVdhZGRyZXNzIHRvIE9iakMgY29tcGlsZXIgb24gT1NYIHdoZW4gY29tcGlsaW5nIG9zeHZpZGVvc2luawoJICBUZW1wb3Jhcnkgd29ya2Fyb3VuZCB1bnRpbCB3ZSBmaXggdGhpcyBwcm9wZXJseSBhbmQgY2hlY2sgZm9yCgkgIHRoZSBPYmpDIHdhcm5pbmcvZXJyb3IgZmxhZ3MgaW5zdGVhZCBvZiBqdXN0IHBhc3NpbmcgQ0ZMQUdTIHRvIHRoZQoJICBPYmpDIGNvbXBpbGVyLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjQzOTM5CgoyMDExLTA0LTI0IDEzOjI5OjMyICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1xdWlja3RpbWUueG1sOgoJKiBnc3QtcGx1Z2lucy1nb29kLnNwZWMuaW46CgkqIGdzdC9xdWlja3RpbWUvTWFrZWZpbGUuYW06CgkgIHF1aWNrdGltZTogcmVuYW1lIHBsdWdpbiBmaWxlbmFtZSBmcm9tICpxdGRlbXV4KiB0byAqcXVpY2t0aW1lKgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjQ4MDA0CgoyMDExLTA0LTI0IDE0OjAzOjQxICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gYzNjYWZlMSB0byA0NmRmY2VhCgoyMDExLTA0LTIxIDIzOjMwOjI2ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1kb2NzLnNnbWw6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJKiBnc3QvcXVpY2t0aW1lL01ha2VmaWxlLmFtOgoJKiBnc3QvcXVpY2t0aW1lL2dzdHF0bW9vdnJlY292ZXIuYzoKCSogZ3N0L3F1aWNrdGltZS9nc3RxdG11eC1kb2MuYzoKCSogZ3N0L3F1aWNrdGltZS9nc3RxdG11eC1kb2MuaDoKCSAgZG9jczogYWRkIHZhcmlvdXMgcXRtdXggdmFyaWFudHMgdG8gZG9jdW1lbnRhdGlvbgoKMjAxMS0wNC0yMSAyMjo1MTo1MiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4LmM6CgkqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXhtYXAuYzoKCSogZ3N0L3F1aWNrdGltZS9nc3RxdG11eG1hcC5oOgoJICBxdWlja3RpbWU6IHJlZ2lzdGVyIDNncHBtdXggZWxlbWVudCBpbiBhZGRpdGlvbiB0byB0aGUgbWlzbmFtZWQgZ3BwbXV4CgoyMDExLTA0LTE4IDE4OjA4OjMwIC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5oOgoJICBydHBzZXNzaW9uOiBSZW1vdmUgaW5jb21wbGV0ZSBzdXBwb3J0IGZvciBSVENQIEZJUgoJICBSZW1vdmUgYml0cyB0aGF0IHdlcmUgbWVhbnQgdG8gc3VwcHBvcnQgUlRDUCBGSVIKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY0ODE2MAoKMjAxMS0wNC0xOSAxODo1NTozMSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mbGFjL2dzdGZsYWNkZWMuYzoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2VuYy5jOgoJKiBleHQvZmxhYy9nc3RmbGFjdGFnLmM6CgkgIGZsYWM6IHBvcnQgdG8gMC4xMQoKMjAxMS0wNC0xOSAxNzozNTo0NyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0cGRlYy5jOgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkqIGdzdC91ZHAvZ3N0ZHludWRwc2luay5jOgoJKiBnc3QvdWRwL2dzdG11bHRpdWRwc2luay5jOgoJKiBnc3QvdWRwL2dzdHVkcHNpbmsuYzoKCSogZ3N0L3VkcC9nc3R1ZHBzcmMuYzoKCSAgdXNlIEdfREVGSU5FX1RZUEUgc29tZSBtb3JlCgoyMDExLTA0LTE5IDE3OjIwOjE5ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJKiBnc3QvYXZpL2dzdGF2aW11eC5jOgoJKiBnc3QvYXZpL2dzdGF2aXN1YnRpdGxlLmM6CgkgIGF2aTogdXNlIEdfREVGSU5FX1RZUEUKCjIwMTEtMDQtMTkgMTc6MDc6MTggKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcHVsc2UvcHVsc2VtaXhlci5jOgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkqIGV4dC9wdWxzZS9wdWxzZXNyYy5jOgoJKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvYXVkaW9zaW5rLmM6CgkqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG9hdWRpb3NyYy5jOgoJKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvdmlkZW9zaW5rLmM6CgkqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG92aWRlb3NyYy5jOgoJICB1c2UgR19ERUZJTkVfVFlQRQoKMjAxMS0wNC0xOSAxNjoyNToyOCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkgIE1lcmdlIGJyYW5jaCAnbWFzdGVyJyBpbnRvIDAuMTEKCjIwMTEtMDQtMTkgMTQ6MzM6MjUgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2dlbmVyaWMvLmdpdGlnbm9yZToKCSogdGVzdHMvY2hlY2svZ2VuZXJpYy9pbmRleC5jOgoJICB0ZXN0czogYWRkIGdlbmVyaWMgc2V0X2luZGV4IHRlc3QKCjIwMTEtMDQtMTkgMTQ6MzM6NDIgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOgoJICBmbHZkZW11eDogZml4IGRlYWRsb2NrIG9uIHNldHRpbmcgaW5kZXggb24gZmx2ZGVtdXgKCjIwMTEtMDQtMTkgMTQ6MTY6MTEgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZmxhY3BhcnNlLmM6CgkgIHRlc3RzOiBhZGQgaW5kZXgtc2V0dGluZyB0ZXN0IGZvciBiYXNlcGFyc2UvZmxhY3BhcnNlCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NDY4MTEKCjIwMTEtMDQtMTggMTE6Mjk6MTUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svcGlwZWxpbmVzL3dhdnBhY2suYzoKCSAgd2F2cGFjazogUmVtb3ZlIGJ1cyBHU291cmNlIHRvIHByZXZlbnQgYSB2YWxncmluZCB3YXJuaW5nCgoyMDExLTA0LTE4IDExOjE0OjMyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy93YXZlbmMuYzoKCSAgd2F2ZW5jOiBSZW1vdmUgYnVzIEdTb3VyY2UgdG8gcHJldmVudCBhIHZhbGdyaW5kIHdhcm5pbmcKCjIwMTEtMDQtMTggMTE6MTE6NTMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svcGlwZWxpbmVzL3RhZ3NjaGVja2luZy5jOgoJICB0YWdzY2hlY2tpbmc6IFJlbW92ZSBidXMgR1NvdXJjZSB0byBwcmV2ZW50IGEgdmFsZ3JpbmQgd2FybmluZwoKMjAxMS0wNC0xOCAxMToxMDowMSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9pbWFnZWZyZWV6ZS5jOgoJICBpbWFnZWZyZWV6ZTogUmVtb3ZlIGJ1cyBHU291cmNlIHRvIHByZXZlbnQgYSB2YWxncmluZCB3YXJuaW5nCgoyMDExLTA0LTE4IDEwOjU0OjQzICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvZngvYXVkaW9wYW5vcmFtYS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGdzdGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZ3N0cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaWxiY2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXBhZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcGFwYXkuYzoKCSAgcG9ydCBtb3JlIHBsdWdpbnMgdG8gMC4xMQoKMjAxMS0wNC0xOCAxMDoyMzo0NSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkgIE1lcmdlIGJyYW5jaCAnbWFzdGVyJyBpbnRvIDAuMTEKCSAgQ29uZmxpY3RzOgoJICBhbmRyb2lkL2FwZXRhZy5tawoJICBhbmRyb2lkL2F2aS5tawoJICBhbmRyb2lkL2Zsdi5tawoJICBhbmRyb2lkL2ljeWRlbXV4Lm1rCgkgIGFuZHJvaWQvaWQzZGVtdXgubWsKCSAgYW5kcm9pZC9xdGRlbXV4Lm1rCgkgIGFuZHJvaWQvcnRwLm1rCgkgIGFuZHJvaWQvcnRwbWFuYWdlci5tawoJICBhbmRyb2lkL3J0c3AubWsKCSAgYW5kcm9pZC9zb3VwLm1rCgkgIGFuZHJvaWQvdWRwLm1rCgkgIGFuZHJvaWQvd2F2ZW5jLm1rCgkgIGFuZHJvaWQvd2F2cGFyc2UubWsKCSAgY29uZmlndXJlLmFjCgoyMDExLTA0LTE3IDAxOjI5OjAxICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgYXZpZGVtdXg6IGZpeCAndmFyaWFibGUgbWF5IGJlIHVzZWQgdW5pbml0aWFsaXplZCcgd2FybmluZ3MgY2F1c2VkIGJ5IC1ER19ESVNBQkxFX0FTU0VSVAoKMjAxMS0wNC0xNiAxODo1MDoxMSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSogd2luMzIvY29tbW9uL2dzdHJ0cGJpbi1tYXJzaGFsLmM6CgkqIHdpbjMyL2NvbW1vbi9nc3RydHBiaW4tbWFyc2hhbC5oOgoJICAwLjEwLjI4LjIgcHJlLXJlbGVhc2UKCjIwMTEtMDQtMTYgMTg6NDk6MjcgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS1kaXN0LmM6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUtZGlzdC5oOgoJKiBnc3QvdmlkZW9ib3gvZ3N0dmlkZW9ib3hvcmMtZGlzdC5jOgoJKiBnc3QvdmlkZW9ib3gvZ3N0dmlkZW9ib3hvcmMtZGlzdC5oOgoJKiBnc3QvdmlkZW9taXhlci9ibGVuZG9yYy1kaXN0LmM6CgkqIGdzdC92aWRlb21peGVyL2JsZW5kb3JjLWRpc3QuaDoKCSAgZ3N0OiB1cGRhdGUgZGlzdGVkIG9yYyBiYWNrdXAgY29kZQoKMjAxMS0wNC0xNiAxODoyOTo0NSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmludGVyZmFjZXM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMucHJlcmVxdWlzaXRlczoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLTEzOTQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWFzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGFjb2xvci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbm5vZGV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFwZXRhZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb2Z4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvcGFyc2Vycy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9kZXRlY3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXZpLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhY2FzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhaXJvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWN1dHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWludGVybGFjZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmVuY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZmZWN0di54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lcXVhbGl6ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXNkc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbGFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHhkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2NvbmZlbGVtZW50cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZGtwaXhidWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tMmsxLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzdHJ0cG1hbmFnZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taGFsZWxlbWVudHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWN5ZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW1hZ2VmcmVlemUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXJsZWF2ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwZWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGV2ZWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWF0cm9za2EueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW9ub3Njb3BlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpZmlsZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aXBhcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmF2aWdhdGlvbnRlc3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzNC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3NhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbmcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcHVsc2VhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1xdWlja3RpbWUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVwbGF5Z2Fpbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRzcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaGFwZXdpcGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hvdXQyc2VuZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbXB0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWN0cnVtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXVkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlbzRsaW51eDIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9ib3gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9jcm9wLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvZmlsdGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvbWl4ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2ZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teGltYWdlc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXk0bWVuYy54bWw6CgkgIGRvY3M6IHVwZGF0ZSBmb3IgcHJlLXJlbGVhc2UKCjIwMTEtMDQtMTYgMTg6Mjc6NTQgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogcG8vYmcucG86CgkqIHBvL2NzLnBvOgoJKiBwby9kZS5wbzoKCSogcG8vZXMucG86CgkqIHBvL2lkLnBvOgoJKiBwby9zbC5wbzoKCSAgcG86IHVwZGF0ZSB0cmFuc2xhdGlvbnMKCjIwMTEtMDQtMTYgMTg6MTc6MDEgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F1aWNrdGltZS9nc3RxdG11eC5jOgoJICBxdG11eDogcmVmdXNlIGluY29tcGxldGUgbGVnYWN5IGgyNjQgY2FwcwoJICBSZWZ1c2UgaDI2NCBjYXBzIHdpdGhvdXQgc3RyZWFtLWZvcm1hdCBhbmQgY29kZWNfZGF0YSBmaWVsZHMgZm9yCgkgIG5vdywgdG8gYXZvaWQgY3JlYXRpbmcgYnJva2VuIGZpbGVzLiBUaGlzIG1pZ2h0IGNhdXNlIHNvbWUgcGlwZWxpbmVzCgkgIHRoYXQgd29ya2VkIHByZXZpb3VzbHkgdG8gZmFpbC4gSG93ZXZlciwgdGhlIG1vdmUgZnJvbSAtYmFkIHRvIC1nb29kCgkgIGlzIG91ciBvbmx5IGNoYW5jZSB0byBmaXggdGhpcyB1cCwgc28gbWFrZSBpdCBzdHJpY3QgZm9yIG5vdy4gV2UgY2FuCgkgIGFsd2F5cyBjaGFuZ2UgaXQgYmFjayB0byBiZSBsZXNzIHN0cmljdCBpbiBmdXR1cmUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NDc5MTkKCjIwMTEtMDQtMTYgMTg6MTY6MTEgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMnNpbmsuYzoKCSAgdjRsMnNpbms6IGZpeCBhbm90aGVyIHVudXNlZC1idXQtc2V0LXZhcmlhYmxlIHdhcm5pbmcKCjIwMTEtMDQtMTYgMTg6MTA6MjQgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJKiBleHQvcHVsc2UvcHVsc2VzcmMuYzoKCSogZXh0L3NwZWV4L2dzdHNwZWV4ZW5jLmM6CgkqIGdzdC9ydHAvZ3N0cnRwZ3NtcGF5LmM6CgkgIHB1bHNlLCBzcGVleGVuYywgcnRwZ3NtcGF5OiBkb24ndCB1c2UgZ19hc3NlcnQoKSBmb3IgZXJyb3IgaGFuZGxpbmcKCSAgRG9uJ3QgdXNlIGdfYXNzZXJ0KCkgZm9yIGVycm9yIGhhbmRsaW5nLCBldmVuIGlmIHRoZXkncmUgaGlnaGx5IHVubGlrZWx5LgoJICBFaXRoZXIgd2UgKmtub3cqIHRoYXQgc29tZXRoaW5nIGNhbid0IGhhcHBlbiwgaW4gd2hpY2ggY2FzZSB3ZQoJICBzaG91bGQganVzdCBub3QgaGFuZGxlIGl0LCBvciB3ZSB0aGluayBzb21ldGhpbmcgY2FuIGhhcHBlbiwgYnV0IGl0IGlzCgkgIHZlcnkgdmVyeSB1bmxpa2VseSB0aGF0IGl0IHdpbGwgZXZlciBoYXBwZW4sIGluIHdoaWNoIGNhc2Ugd2Ugc2hvdWxkCgkgIGhhbmRsZSBpdCBsaWtlIGFueSBvdGhlciBlcnJvciBpbnN0ZWFkIG9mIGFzc2VydGluZy4KCSAgZ19hc3NlcnQoKSBpcyBiZXN0IGxlZnQgZm9yIGNvbmRpdGlvbnMgd2UgaGF2ZSBjb250cm9sIG9mLCBsaWtlIGNoZWNraW5nCgkgIGludGVybmFsIGNvbnNpc3RlbmN5IG9mIG91ciBjb2RlLCBub3QgY2hlY2tpbmcgcmV0dXJuIHZhbHVlcyBvZiBleHRlcm5hbAoJICBjb2RlLgoJICBGaXhlcyBhIGJ1bmNoIG9mIHdhcm5pbmdzIHdoZW4gY29tcGlsaW5nIHdpdGggLURHX0RJU0FCTEVfQVNTRVJUOgoJICBnc3RydHBnc21wYXkuYzogSW4gZnVuY3Rpb24gJ2dzdF9ydHBfZ3NtX3BheV9oYW5kbGVfYnVmZmVyJzoKCSAgZ3N0cnRwZ3NtcGF5LmM6MTMwOjE3OiB3YXJuaW5nOiB2YXJpYWJsZSAncnRwZ3NtcGF5JyBzZXQgYnV0IG5vdCB1c2VkCgkgIGdzdHNwZWV4ZW5jLmM6IEluIGZ1bmN0aW9uICdnc3Rfc3BlZXhfZW5jX2VuY29kZSc6CgkgIGdzdHNwZWV4ZW5jLmM6OTA0OjE5OiB3YXJuaW5nOiB2YXJpYWJsZSAnd3JpdHRlbicgc2V0IGJ1dCBub3QgdXNlZAoJICBwdWxzZXNpbmsuYzogSW4gZnVuY3Rpb24gJ2dzdF9wdWxzZXNpbmtfY2hhbmdlX3N0YXRlJzoKCSAgcHVsc2VzaW5rLmM6MjcyNTo5OiB3YXJuaW5nOiB2YXJpYWJsZSAncmVzJyBzZXQgYnV0IG5vdCB1c2VkCgkgIHB1bHNlc3JjLmM6IEluIGZ1bmN0aW9uICdnc3RfcHVsc2VzcmNfY2hhbmdlX3N0YXRlJzoKCSAgcHVsc2VzcmMuYzoxMjUzOjc6IHdhcm5pbmc6IHZhcmlhYmxlICdlJyBzZXQgYnV0IG5vdCB1c2VkCgoyMDExLTA0LTE2IDE4OjA3OjM1ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2V4YW1wbGVzL3J0cC9zZXJ2ZXItYWxzYXNyYy1QQ01BLmM6CgkgIGV4YW1wbGVzOiBmaXggc29tZSB3YXJuaW5ncyBpbiBydHAgZXhhbXBsZQoJICBDYXVzZWQgYnkgLURHX0RJU0FCTEVfQVNTRVJUCgoyMDExLTA0LTE2IDE3OjU3OjMyICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2V4YW1wbGVzL2xldmVsL2xldmVsLWV4YW1wbGUuYzoKCSAgZXhhbXBsZXM6IGRvbid0IHB1dCBjb2RlIHdpdGggc2lkZS1lZmZlY3RzIGludG8gZ19hc3NlcnQoKQoJICBPdGhlcndpc2UgdGhpbmdzIHdvbid0IHdvcmsgdG9vIHdlbGwgd2hlbiBjb21waWxpbmcgd2l0aAoJICAtREdfRElTQUJMRV9BU1NFUlQgKGFzIHdlIGRvIGZvciBwcmUtcmVsZWFzZXMgYW5kIHJlbGVhc2VzKS4KCjIwMTEtMDQtMTYgMTY6NTE6MzIgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS9ncmVlZHloLmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSAgZGVpbnRlcmxhY2UsIG1hdHJvc2thOiBmaXggdHdvIHZhcmlhYmxlLW1heS1iZS11c2VkLXVuaW5pdGlhbGl6ZWQgY29tcGlsZXIgd2FybmluZ3MKCSAgV2UgdXNlIC1ER19ESVNBQkxFX0FTU0VSVCBmb3IgdGhlIHByZS1yZWxlYXNlcywgd2hpY2ggbWFrZXMgdGhlc2UKCSAgd2FybmluZ3MgcG9wIHVwIGluIGNhc2VzIHRoYXQgd2VyZSBwcmV2aW91c2x5IGNvdmVyZWQgYnkgZ19hc3NlcnRfbm90X3JlYWNoZWQoKQoJICBhbmQgdGhlIGxpa2U6CgkgIHR2dGltZS9ncmVlZHloLmM6ODAxOjE0OiB3YXJuaW5nOiAnc2NhbmxpbmUnIG1heSBiZSB1c2VkIHVuaW5pdGlhbGl6ZWQgaW4gdGhpcyBmdW5jdGlvbgoJICBtYXRyb3NrYS1tdXguYzo1MDE6MTk6IHdhcm5pbmc6ICdjb250ZXh0JyBtYXkgYmUgdXNlZCB1bmluaXRpYWxpemVkIGluIHRoaXMgZnVuY3Rpb24KCjIwMTEtMDQtMTYgMTQ6NDU6MjUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2FwZXRhZy9nc3RhcGVkZW11eC5jOgoJICBhcGVkZW11eDogUG9ydCB0byAwLjExCgoyMDExLTA0LTE2IDEzOjMzOjQ1ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NpbmsuYzoKCSogZXh0L2phY2svZ3N0amFja2F1ZGlvc3JjLmM6CgkgIGphY2s6IGZpeCB1bnVzZWQtYnV0LXNldC12YXJpYWJsZSB3YXJuaW5ncyB3aXRoIGdjYy00LjYKCjIwMTEtMDQtMTYgMTM6MjM6NTAgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvZXhhbXBsZXMvY2Fpcm8vY2Fpcm9fb3ZlcmxheS5jOgoJICBleGFtcGxlczogZml4ICdjb250cm9sIHJlYWNoZXMgZW5kIG9mIG5vbi12b2lkIGZ1bmN0aW9uJyB3YXJuaW5nIGluIGNhaXJvIGV4YW1wbGUKCjIwMTEtMDQtMTUgMTU6NDc6MjQgKzAyMDAgIFJvYmVydCBTd2FpbiA8cm9iZXJ0LnN3YWluQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzoKCSAgdjRsMnNyYzogQWRkcmVzcyB1bnVzZWQgYnV0IHNldCB2YXJpYWJsZQoJICBUaGUgdjRsMm9iamVjdCBmb3JtYXRzIGxpc3Qgd2FzIGJlaW5nIG9idGFpbmVkIGludG8gYSBsb2NhbCB2YXJpYWJsZSBhbmQKCSAgdGhlbiBzdGlsbCB1c2VkIGZyb20gdGhlIGNvbnRleHQuIE1ha2UgdXNlIG9mIHRoZSBsb2NhbCB2YXJpYWJsZS4KCjIwMTEtMDQtMTUgMTU6MTc6MzQgKzAyMDAgIFJvYmVydCBTd2FpbiA8cm9iZXJ0LnN3YWluQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9vc3M0L29zczQtbWl4ZXItc2xpZGVyLmM6CgkqIHN5cy9vc3M0L29zczQtbWl4ZXItc3dpdGNoLmM6CgkqIHN5cy9vc3M0L29zczQtcHJvcGVydHktcHJvYmUuYzoKCSogc3lzL29zczQvb3NzNC1zb3VyY2UuYzoKCSAgb3NzNDogQWRkcmVzcyB1bnVzZWQgYnV0IHNldCB2YXJpYWJsZXMKCSAgR0NDIDQuNi54IGNvbXBsYWlucyBhYm91dCBzdWNoIHZhcmlhYmxlIHVzYWdlLiBVbnVzZWQgYnV0IHNldCB2YXJpYWJsZXMKCSAgd2VyZSByZW1vdmVkIGV4Y2VwdCB0aGF0IGdzdF9vc3M0X21peGVyX3NsaWRlcl9zZXRfbXV0ZSAoKSBub3cgcmV0dXJucwoJICB0aGUgdmFsdWUgZnJvbSB0aGUgY2FsbCB0byBnc3Rfb3NzNF9taXhlcl9zZXRfY29udHJvbF92YWwgKCkuCgoyMDExLTA0LTE1IDE1OjE0OjEzICswMjAwICBSb2JlcnQgU3dhaW4gPHJvYmVydC5zd2FpbkBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvanBlZy9nc3RqcGVnZW5jLmM6CgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSogZXh0L3JhdzEzOTQvZ3N0ZHYxMzk0c3JjLmM6CgkqIGV4dC9yYXcxMzk0L2dzdGhkdjEzOTRzcmMuYzoKCSAganBlZ2VuYzogcHVsc2VzaW5rOiByYXcxMzk0OiBBZGRyZXNzIHVudXNlZCBidXQgc2V0IHZhcmlhYmxlcwoJICBHQ0MgNC42Lnggc3BpdHMgd2FybmluZ3MgYWJvdXQgc3VjaCB1c2FnZSBvZiB2YXJpYWJsZXMuIFRoZSB2YXJpYWJsZXMgaW4KCSAgcmF3MTM5NCB3ZXJlIG1hcmtlZCB3aXRoIEdfR05VQ19VTlVTRUQgYXMgdGhpcyBzZWVtZWQgb21yZSBhcHByb3ByaWF0ZS4KCSAgVGhlIG90aGVycyB3ZXJlIHJlbW92ZWQuCgoyMDExLTA0LTE1IDE1OjEyOjQ0ICswMjAwICBSb2JlcnQgU3dhaW4gPHJvYmVydC5zd2FpbkBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc2hhcGV3aXBlL2dzdHNoYXBld2lwZS5jOgoJKiBnc3QveTRtL2dzdHk0bWVuY29kZS5jOgoJICB5NG1lbmNvZGU6IHNoYXBld2lwZTogQWRkcmVzcyB1bnVzZWQgYnV0IHNldCB2YXJpYWJsZXMKCSAgR0NDIDQuNi54IGNvbXBsYWlucyBhYm91dCBzdWNoIHVzYWdlLgoKMjAxMS0wNC0xNSAxNToxMTozNSArMDIwMCAgUm9iZXJ0IFN3YWluIDxyb2JlcnQuc3dhaW5AY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZGVpbnRlcmxhY2UuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwLXBheWxvYWRpbmcuYzoKCSogdGVzdHMvY2hlY2svcGlwZWxpbmVzL2ZsYWNkZWMuYzoKCSogdGVzdHMvZXhhbXBsZXMvbGV2ZWwvbGV2ZWwtZXhhbXBsZS5jOgoJKiB0ZXN0cy9pY2xlcy92aWRlb2Nyb3AtdGVzdC5jOgoJKiB0ZXN0cy9pY2xlcy94aW1hZ2VzcmMtdGVzdC5jOgoJICB0ZXN0czogQWRkcmVzcyB1bnVzZWQgYnV0IHNldCB2YXJpYWJsZXMKCSAgR0NDIDQuNi54IHNwaXRzIHdhcm5pbmdzIGFib3V0IHN1Y2ggdXNhZ2Ugb2YgdmFyaWFibGVzLgoKMjAxMS0wNC0xNSAxNTozNjo0MSArMDIwMCAgUm9iZXJ0IFN3YWluIDxyb2JlcnQuc3dhaW5AY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvbWl4ZXIvYmxlbmRvcmMub3JjOgoJICB2aWRlb21peGVyOiBGaXggYXJnYi9yZ2JhIG92ZXJsYXkgb3JjIGNvZGUKCSAgUmVtb3ZlIHNvbWUgcmVkdW5kYW50IG9wZXJhdGlvbnMgKGNvbnZ1YncpIGFuZCB1c2UgdGhlIGNvcnJlY3QgdmFyaWFibGUsCgkgIHQyLCBpbiB0aGUgb3JjX292ZXJsYXlfYmdyYSBmdW5jdGlvbi4KCjIwMTEtMDQtMTUgMTU6MzM6MzUgKzAyMDAgIFJvYmVydCBTd2FpbiA8cm9iZXJ0LnN3YWluQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb21peGVyL2JsZW5kLmM6CgkqIGdzdC92aWRlb21peGVyL2dzdGNvbGxlY3RwYWRzMi5jOgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyMi5jOgoJICB2aWRlb21peGVyOiBhZGRyZXNzIHVudXNlZCBidXQgc2V0IHZhcmlhYmxlcwoJICBHQ0MgNC42Lnggc3BpdHMgd2FybmluZ3MgYWJvdXQgdmFyaWFibGVzIHRoYXQgYXJlIHNldCBidXQgdW51c2VkLiBTdWNoCgkgIHZhcmlhYmxlcyBoYXZlIGJlZW4gcmVtb3ZlZCBpbiBibGVuZCwgY29sbGVjdHBhZHMyIGFuZCB2aWRlb21peGVyMi4KCjIwMTEtMDQtMTUgMTQ6NTc6MjAgKzAyMDAgIFJvYmVydCBTd2FpbiA8cm9iZXJ0LnN3YWluQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwYW1yZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBidmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwYnZwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnNzIycGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZ3N0ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnc3RwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBqMmtwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDRncGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXA0dnBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wYWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwcWNlbHBkZXBheS5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOgoJICBydHAsIHJ0cG1hbmFnZXI6IEFkZHJlc3MgdW51c2VkIGJ1dCBzZXQgdmFyaWFibGVzCgkgIEdDQyA0LjYueCBzcGl0cyB3YXJuaW5ncyBhYm91dCB2YXJpYWJsZXMgdGhhdCBhcmUgdW51c2VkIGJ1dCBzZXQuIFN1Y2gKCSAgdmFyaWFibGVzIGhhdmUgYmVlbiByZW1vdmVkIHdoZXJlIHRyaXZpYWwgYnV0IHdpdGggY29tbWVudHMgbGVmdCBiZWhpbmQKCSAgZm9yIGluZm9ybWF0aW9uYWwgcHVycG9zZXMgaW4gc29tZSBjYXNlcy4KCSAgZ3N0X3J0cF9zZXNzaW9uX2NoYWluX3JlY3ZfcnRjcCAoKSB3YXMgY2hhbmdlZCBpbiBjb21taXQgNDkwMTEzZDQKCSAgdG8gYWx3YXlzIHJldHVybiBHU1RfRkxPV19PSyBpbnN0ZWFkIG9mIHRoZSByZXR1cm4gdmFsdWUgb2YKCSAgcnRwX3Nlc3Npb25fcHJvY2Vzc19ydGNwICgpLCBzbyB3ZSdsbCBrZWVwIGl0IHRoYXQgd2F5LgoKMjAxMS0wNC0xNSAxMToyOTozMCArMDIwMCAgUm9iZXJ0IFN3YWluIDxyb2JlcnQuc3dhaW5AY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F1aWNrdGltZS9kZXNjcmlwdG9ycy5jOgoJKiBnc3QvcXVpY2t0aW1lL2dzdHJ0cHhxdGRlcGF5LmM6CgkqIGdzdC9xdWlja3RpbWUvcXRkZW11eC5jOgoJICBxdWlja3RpbWU6IFJlbW92ZSB1bnVzZWQgYnV0IHNldCB2YXJpYWJsZXMKCSAgR0NDIDQuNi54IHNwaXRzIHdhcm5pbmdzIGFib3V0IHN1Y2ggdmFyaWFibGUgdXNhZ2UuIE5vdGUgdGhhdCBzb21lCgkgIGNhbGN1bGF0aW9ucyBhcmUgbGVmdCBhcyBjb21tZW50cyBmb3IgaW5mb3JtYXRpdmUgcHVycG9zZXMuCgoyMDExLTA0LTE1IDExOjIzOjM4ICswMjAwICBSb2JlcnQgU3dhaW4gPHJvYmVydC5zd2FpbkBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXBhcnNlLmM6CgkgIG1hdHJvc2thOiBSZW1vdmUgdW51c2VkIGJ1dCBzZXQgdmFyaWFibGVzCgkgIEdDQyA0LjYueCBzcGl0cyB3YXJuaW5ncyBhYm91dCBzdWNoIHZhcmlhYmxlIHVzYWdlLgoKMjAxMS0wNC0xNSAxMToxOToyNiArMDIwMCAgUm9iZXJ0IFN3YWluIDxyb2JlcnQuc3dhaW5AY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2ltYWdlZnJlZXplL2dzdGltYWdlZnJlZXplLmM6CgkgIGltYWdlZnJlZXplOiBSZW1vdmUgdW51c2VkIGJ1dCBzZXQgZHVyYXRpb24gdmFyaWFibGUKCSAgR0NDIDQuNi54IHNwaXRzIHdhcm5pbmdzIGFib3V0IHN1Y2ggdmFyaWFibGUgdXNhZ2UuCgoyMDExLTA0LTE1IDExOjE4OjE5ICswMjAwICBSb2JlcnQgU3dhaW4gPHJvYmVydC5zd2FpbkBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6CgkgIGZseGRlbXV4OiBSZW1vdmUgdW51c2VkIGJ1dCBzZXQga2V5ZnJhbWUgdmFyaWFibGVzCgkgIFRoZSBGSVhNRXMgYWJvdXQgdGhlIGtleWZyYW1lIGZsYWcgbmV2ZXIgYmVpbmcgdXNlZCBhcmUgbGVmdCBmb3IgbGF0ZXIKCSAgZml4aW5nLCBhdCB3aGljaCBwb2ludCB0aGUga2V5ZnJhbWUgdmFyaWFibGVzIGNvdWxkIGJlIGFkZGVkIGJhY2suCgoyMDExLTA0LTE1IDExOjE2OjQyICswMjAwICBSb2JlcnQgU3dhaW4gPHJvYmVydC5zd2FpbkBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZWZmZWN0di9nc3RlZGdlLmM6CgkgIGVkZ2V0djogUmVtb3ZlIHVudXNlZCBidXQgc2V0IGhlaWdodCB2YXJpYWJsZQoJICBHQ0MgNC42Lnggc3BpdHMgd2FybmluZ3MgYWJvdXQgc3VjaCB2YXJpYWJsZXMuCgoyMDExLTA0LTE1IDE4OjUxOjIwICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZmxhY3BhcnNlLmM6CgkgIGZsYWNwYXJzZTogdXBkYXRlIGZvciBnc3RfYmFzZV9wYXJzZV9mcmFtZV9pbml0KCkgQVBJIGNoYW5nZQoKMjAxMS0wMi0wMSAxNTo1NzowMSAtMDUwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJICBydHBzZXNzaW9uOiBVc2UgZXhpc3RpbmcgZnVuY3Rpb25zIHRvIHBhcnNlIFJUQ1AgRkIgcGFja2V0cwoJICBVc2UgZXhpc3RpbmcgZnVuY3Rpb25zIHRvIGdldCB0aGUgRkNJIGZyb20gRkIgcGFja2V0cy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYyMjU1MwoKMjAxMS0wMi0wMSAxNjoyMzo1MiAtMDUwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLW1hcnNoYWwubGlzdDoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJICBydHBzZXNzaW9uOiBtYXJzaGFsIEdzdEJ1ZmZlciBhcyBhIE1pbmlPYmplY3QgaW5zdGVhZCBvZiBhIHBvaW50ZXIKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYyMjU1MwoKMjAxMS0wNC0xNCAyMzoyNDo1NiAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2FkZW11eDogQmV0dGVyIGNhbGN1bGF0aW9uIG9mIGZyYW1lcmF0ZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjQ3ODMzCgoyMDExLTA0LTEzIDEyOjM3OjA5ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IGRlZmF1bHQgdG8gZHRzLW1ldGhvZD1yZW9yZGVyIGFuZCBwcmVzZW50YXRpb24tdGltZT10cnVlCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MzY2OTkKCjIwMTEtMDQtMTUgMTI6NDc6NTIgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcXRtdXguYzoKCSAgdGVzdHM6IHF0bXV4OiB0ZXN0IHZhcmlvdXMgZHRzLW1ldGhvZHMKCjIwMTEtMDQtMTUgMTI6MzQ6MDUgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F1aWNrdGltZS9nc3RxdG11eC5jOgoJICBxdG11eDogZml4IGNvcm5lciBjYXNlIGJ1ZmZlciBoYW5kbGluZyBmb3IgcmVvcmRlciBtZXRob2QKCjIwMTEtMDQtMTQgMTM6NDc6MDUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOgoJICBmbHZkZW11eDogRG9uJ3QgbGVhayB0aGUgU0VFS0lORyBxdWVyeQoKMjAxMS0wNC0xNCAxMzo0MzowNiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXVpY2t0aW1lL2dzdHF0bW9vdnJlY292ZXIuYzoKCSogZ3N0L3F1aWNrdGltZS9nc3RxdG1vb3ZyZWNvdmVyLmg6CgkgIHF0bW9vdnJlY292ZXI6IERvbid0IGxlYWsgdGhlIHN0YXRpYyByZWN1cnNpdmUgbXV0ZXgKCjIwMTEtMDQtMTQgMTM6Mzc6NTIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMnJhZGlvLmM6CgkgIHY0bDJyYWRpbzogRnJlZSB2aWRlb2RldiBzdHJpbmcgYmVmb3JlIHJlcGxhY2luZyBpdAoKMjAxMS0wNC0xNCAxMzoyNDoyMSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcGFyc2UuYzoKCSAgbWF0cm9za2FwYXJzZTogQWxsb3cgd2VibSBhbmQgbWF0cm9za2EgY2FwcyBhbmQgZG9uJ3QgbGVhayBjYXBzCgoyMDExLTA0LTE0IDA3OjM1OjI5ICswMTAwICBDaHJpc3RpYW4gRnJlZHJpayBLYWxhZ2VyIFNjaGFsbGVyIDxjaHJpc3RpYW4uc2NoYWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LXBsdWdpbnMtZ29vZC5zcGVjLmluOgoJICBBZGQgcGFyc2VyIHBsdWdpbgoKMjAxMS0wNC0xMyAyMTo1ODozNiAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R0bWYvTWFrZWZpbGUuYW06CgkqIGdzdC9kdG1mL2dzdGR0bWZjb21tb24uaDoKCSogZ3N0L2R0bWYvZ3N0ZHRtZnNyYy5jOgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mY29tbW9uLmg6CgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZkZXBheS5jOgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mZGVwYXkuaDoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZnNyYy5jOgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mc3JjLmg6CgkgIGR0bWY6IE1vdmUgZHVwbGljYXRlICNkZWZpbmVzIGludG8gYSBjb21tb24gaW5jbHVkZQoJICBDZW50cmFsaXplIGR1cGxpY2F0ZWQgY29uc3RhbnRzIHNvIHRoZXkgaGF2ZSB0aGUgc2FtZSB2YWx1ZS4KCSAgQWxzbyBzdGFuZGFyZGlzZSBtaW5pbXVtIHRvbmUgZHVyYXRpb24gdG8gMjUwbXMgYW5kIG1pbmltdW0gaW50ZXItdG9uZQoJICBpbnRlcnZhbCB0byAxMDBtcy4KCjIwMTEtMDMtMjQgMTQ6MzQ6MjQgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQGVudHJvcHl3YXZlLmNvbT4KCgkqIHN5cy9kaXJlY3Rzb3VuZC9nc3RkaXJlY3Rzb3VuZHNpbmsuYzoKCSAgZGlyZWN0c291bmRzaW5rOiBBZGQgY29uZGl0aW9uYWxzIG9uIFdBVkVfRk9STUFUX0RPTEJZX0FDM19TUERJRgoKMjAxMS0wNC0xMSAyMDowOToxNCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZGVidWd1dGlscy9nc3RjYXBzZGVidWcuYzoKCSAgY2Fwc2RlYnVnOiBmaXggdW51c2VkLWJ1dC1zZXQtdmFyaWFibGUgd2FybmluZ3Mgd2l0aCBnY2MgNC42CgoyMDExLTA0LTExIDIwOjA1OjU0ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgYXZpZGVtdXg6IGZpeCB1bnVzZWQtYnV0LXNldC12YXJpYWJsZSB3YXJuaW5nIHdpdGggZ2NjIDQuNgoJICBNb3N0IGxpa2VseSBhIGxlZnRvdmVyIGZyb20gd2hlbiB0aGUgaW5kZXggcGFyc2luZyBjb2RlIHdhcyByZXdyaXR0ZW4uCgoyMDExLTA0LTExIDE5OjU0OjAwICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWMzcGFyc2UuYzoKCSAgYWMzcGFyc2U6IGZpeCB1bnVzZWQtYnV0LXNldC12YXJpYWJsZSB3YXJuaW5nIHdpdGggZ2NjIDQuNgoKMjAxMS0wNC0xMSAxOTo1MDowNyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9maWx0ZXIvZ3N0dmlkZW9iYWxhbmNlLmM6CgkgIHZpZGVvYmFsYW5jZTogZml4IGhhbmRsaW5nIG9mIFlVViBpbWFnZXMgd2l0aCAnb2RkJyB3aWR0aHMKCSAgRml4ZXMgdW51c2VkLWJ1dC1zZXQtdmFyaWFibGUgd2FybmluZ3Mgd2l0aCBnY2MgNC42LgoKMjAxMS0wNC0xMSAxOTo0OToyMiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9maWx0ZXIvZ3N0dmlkZW9mbGlwLmM6CgkgIHZpZGVvZmxpcDogZml4IHVudXNlZC1idXQtc2V0LXZhcmlhYmxlIHdhcm5pbmdzIHdpdGggZ2NjIDQuNgoKMjAxMS0wNC0xMyAxODoxMTozNCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9meC9hdWRpb3dzaW5jYmFuZC5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb3dzaW5jbGltaXQuYzoKCSAgYXVkaW93c2luY3tiYW5kLGxpbWl0fTogRml4IGNoZWNrIGZvciBkaXZpc29uIGJ5IHplcm8KCjIwMTEtMDQtMTMgMTg6MDE6MDEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvZngvYXVkaW93c2luY2JhbmQuYzoKCSAgYXVkaW93c2luY2JhbmQ6IEZpeCByYW5nZSBvZiBrZXJuZWwgZWxlbWVudHMgKGxpbSAtPiBsaW0tMSkKCjIwMTEtMDQtMTMgMTg6MDA6NDQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvZngvYXVkaW93c2luY2xpbWl0LmM6CgkgIGF1ZGlvd3NpbmNsaW1pdDogQWRkIHNvbWUgbW9yZSBicmFjZXMgdG8gbWFrZSB0aGUgY29kZSBtb3JlIHJlYWRhYmxlCgoyMDExLTA0LTExIDE4OjQwOjMwIC0wNTAwICBKb3JkaSBCdXJndWV0LUNhc3RlbGwgPGpvcmRpLmJ1cmd1ZXQtY2FzdGVsbEBsaWdvLm9yZz4KCgkqIGdzdC9hdWRpb2Z4L2F1ZGlvd3NpbmNsaW1pdC5jOgoJICBhdWRpb3dzaW5jbGltaXQ6IEZpeCByYW5nZSBvZiBrZXJuZWwgZWxlbWVudHMgKGxpbSAtPiBsaW0tMSkgaW4gaGlnaC9sb3ctcGFzcyBmaWx0ZXJzCgoyMDExLTA0LTEzIDE3OjQ5OjIyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb2Z4L2F1ZGlvd3NpbmNiYW5kLmM6CgkgIGF1ZGlvd3NpbmNiYW5kOiBBZGQgbmV3IHdpbmRvd2luZyBmdW5jdGlvbnM6IGdhdXNzaWFuLCBjb3MgYW5kIGhhbm4KCjIwMTEtMDQtMTEgMTg6NDE6NDMgLTA1MDAgIEpvcmRpIEJ1cmd1ZXQtQ2FzdGVsbCA8am9yZGkuYnVyZ3VldC1jYXN0ZWxsQGxpZ28ub3JnPgoKCSogZ3N0L2F1ZGlvZngvYXVkaW93c2luY2xpbWl0LmM6CgkgIGF1ZGlvd3NpbmNsaW1pbXQ6IEFkZCBuZXcgd2luZG93cyB0byBoaWdoL2xvdy1wYXNzIGZpbHRlcnM6IGdhdXNzaWFuLCBjb3NpbmUsIGhhbm4KCjIwMTEtMDQtMTMgMTY6NDc6MDUgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thZGVtdXg6IHNldCBzdHJlYW0tZm9ybWF0PWJ5dGUtc3RyZWFtIG9uIGgyNjQgY2FwcyBpZiB0aGVyZSdzIG5vIGNvZGVjIGRhdGEKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYwNjY2MgoKMjAxMS0wNC0xMyAxNjozNzowNyArMDEwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4LmM6CgkqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXhtYXAuYzoKCSAgcXRtdXg6IHJlc3RyaWN0IGgyNjQgc29tZSBtb3JlIHRvIG9ubHkgYWNjZXB0IEFVLWFsaWduZWQgQVZDCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MDY2NjIKCjIwMTEtMDQtMTMgMTc6MTE6MjYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RtcGVnYXVkaW9wYXJzZS5jOgoJICBtcGVnYXVkaW9wYXJzZTogVGhlIFZCUkkgaGVhZGVyIGlzIGFsd2F5cyBhdCBvZmZzZXQgMHgyMCwgaW5kZXBlbmRlbnQgb2YgTVBFRyB2ZXJzaW9uCgkgIEFsc28gY2xlYW4gdXAgYWR2YW5jaW5nIG9mIHRoZSBkYXRhIHBvaW50ZXIgYSBiaXQuCgkgIEZpeGVzIGJ1ZyAjNjQ3NjU5LgoKMjAxMS0wNC0xMyAxNToxODoxMSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4LmM6CgkqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXhtYXAuYzoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3F0bXV4LmM6CgkgIHF0bXV4OiBhZGQgdmFyaWFudC1sZXNzIHZpZGVvL3F1aWNrdGltZSB0byBzb3VyY2UgcGFkIHRlbXBsYXRlIGNhcHMKCSAgVGhpcyBpcyBuZWVkZWQgZm9yIGF1dG9tYXRpYyB0cmFuc2NvZGluZyB1c2luZyBlbmNvZGViaW4uIE91ciB0eXBlZmluZGVyCgkgIGRvZXMgbm90IGFsd2F5cyBhZGQgYSB2YXJpYW50IHRvIHRoZSBmb3VuZCBjYXBzLCBhbmQgZW5jb2RlYmluIG5lZWRzCgkgIGFuICpleGFjdCogbWF0Y2ggdG8gdGhlIGNhcHMgb24gdGhlIHNvdXJjZSBwYWQgdGVtcGxhdGUsIHNvIHdlIG5lZWQKCSAgdG8gYWRkIHRoZSB2YXJpYW50LWxlc3MgdmlkZW8vcXVpY2t0aW1lIGNhcHMgdG8gdGhlIHRlbXBsYXRlIGFzIHdlbGwKCSAgZm9yIGVuY29kZWJpbiB0byBiZSBhYmxlIHRvIGZpbmQgaXQuIEFkZCB1bml0IHRlc3QgZm9yIHRoaXMgYXMgd2VsbC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY0Mjg3OQoKMjAxMS0wNC0xMyAxNjoxNzo0MSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmxhYy9nc3RmbGFjZW5jLmM6CgkgIGZsYWNlbmM6IFByb3Blcmx5IGludGVycHJldGUgdGhlIHJlc3VsdCBvZiBzdHJjbXAoKQoKMjAxMS0wNC0xMyAxNjowOTowNCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmxhYy9nc3RmbGFjZW5jLmM6CgkgIGZsYWNlbmM6IERvbid0IHN0b3JlIGltYWdlIHRhZ3MgaW5zaWRlIHRoZSB2b3JiaXNjb21tZW50cyBhbmQgdGhlIGZsYWMgbWV0YWRhdGEKCSAgSW5zdGVhZCBvbmx5IHN0b3JlIHRoZW0gaW5zaWRlIHRoZSBmbGFjIG1ldGFkYXRhLiBUaGVyZSdzCgkgIG5vIHBvaW50IGluIHN0b3JpbmcgdGhlbSB0d2ljZSBhbmQgdGhlIGZsYWMgbWV0YWRhdGEgaXMKCSAgc3RpbGwgdGhlIG9mZmljaWFsIHdheSB0byBzdG9yZSBpbWFnZSB0YWdzIGluc2lkZSBmbGFjLgoKMjAxMS0wNC0xMyAxMjozODoxNSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy8uZ2l0aWdub3JlOgoJKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvLmdpdGlnbm9yZToKCSAgdGVzdHM6IGlnbm9yZSBuZXcgcXRtdXgtcmVsYXRlZCB0ZXN0IGJpbmFyaWVzCgoyMDExLTA0LTEzIDExOjI1OjExICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1kb2NzLnNnbWw6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcXVpY2t0aW1lLnhtbDoKCSogZ3N0L3F1aWNrdGltZS9NYWtlZmlsZS5hbToKCSogZ3N0L3F1aWNrdGltZS9nc3RxdG11eHBsdWdpbi5jOgoJKiBnc3QvcXVpY2t0aW1lL3F1aWNrdGltZS5jOgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgcXVpY2t0aW1lOiBtb3ZlIHF0bXV4IHBsdWdpbiBmcm9tIC1iYWQgdG8gLWdvb2QKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYzNjY5OQoKMjAxMS0wNC0xMiAxNjo0MjoxNyAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R0bWYvZ3N0ZHRtZnNyYy5jOgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mc3JjLmM6CgkgIGR0bWY6IFJlbW92ZSBsZWZ0b3ZlciBNQUVNT19CUk9LRU4gZGVmaW5lcwoJICBSZW1vdmUgZGVmaW5lcyB0byB3b3JrIGFyb3VuZCBidWdzIGluIG9sZCBNYWVtbyByZWxlYXNlcwoKMjAxMS0wNC0wNCAxMjoyMToyMyArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBtb3JlIGhlbHBmdWwgZGVidWcgZXJyb3IgbWVzc2FnZSB3aGVuIG5vIG5lZWRlZCBkdXJhdGlvbiBvbiBpbnB1dCBidWZmZXJzCgkgIEZpeGVzICM2NDYyNTYuCgoyMDExLTAzLTIxIDEwOjU2OjUxIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdWlja3RpbWUvYXRvbXMuYzoKCSogZ3N0L3F1aWNrdGltZS9hdG9tcy5oOgoJKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBBZGRpbmcgR3N0VGFnWG1wV3JpdGVyIGludGVyZmFjZQoJICBBZGRzIEdzdFRhZ1htcFdyaXRlciBpbnRlcmZhY2Ugc3VwcG9ydCB0byBxdG11eAoKMjAxMS0wMy0yMiAyMDo1MzowOCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4LmM6CgkgIHF0bXV4OiB1c2UgcnVubmluZyB0aW1lIGZvciBzeW5jaHJvbml6YXRpb24KCSAgU2VlIGFsc28gIzQzMjYxMi4KCjIwMTEtMDMtMTAgMTY6MDM6NTggKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F1aWNrdGltZS9nc3RxdG11eC5jOgoJICBxdG11eDogcHJvdmlkZSBmb3IgUFRTIG1ldGFkYXRhIHdoZW4gc28gY29uZmlndXJlZAoJICAuLi4gYW5kIG5vdCBvbmx5IHdoZW4gc29ydC1vZiBmZWVsaW5nIGxpa2UgaXQuCgkgIEluIGFueSBjYXNlLCBpZiBpdCB0dXJucyBvdXQgYWxsIHJlYWxseSBpcyBpbiBvcmRlciwKCSAgYW5kIHByZXN1bWFibHkgRFRTID09IFBUUywgdGhlbiBubyBjdHRzIHdpbGwgYmUgcHJvZHVjZWQgYW55d2F5LgoKMjAxMS0wMy0xMCAxNjowMjo0MiArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBhbHNvIHRyYWNrIG9yaWdpbmFsIFBUUyBidWZmZXIgdGltZXN0YW1wIGluIHJlb3JkZXIgZHRzLW1ldGhvZAoKMjAxMS0wMi0yMSAxMjoxNDo1OSArMDEwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4LmM6CgkgIFJldmVydCAiQ2hlY2sgdGhhdCBjb2xsZWN0cGFkcyBleGlzdHMgYmVmb3JlIHJlbW92aW5nIHBhZCIKCSAgVGhpcyByZXZlcnRzIGNvbW1pdCA2ZDg3NDA0NzZjY2QzYTM0OThkYzRmMThjMTk3MzM2NDM4MjVjN2I4LgoJICBEZXBlbmRzIG9uIGEgY29yZSBjb21taXQgdGhhdCB3YXMgcmV2ZXJ0ZWQKCjIwMTEtMDItMjAgMjM6NTc6MTkgLTA4MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L3F1aWNrdGltZS9nc3RxdG11eC5jOgoJICBDaGVjayB0aGF0IGNvbGxlY3RwYWRzIGV4aXN0cyBiZWZvcmUgcmVtb3ZpbmcgcGFkCgkgIFRoZSBjb3JlIG5vdyBjYWxscyByZWxlYXNlIHBhZCBmcm9tIGZpbmFsaXplLCBhdCB3aGljaCBwb2ludAoJICB0aGUgY29sbGVjdHBhZHMgbWlnaHQgaGF2ZSBhbHJlYWR5IGJlZW4gZnJlZWQuCgoyMDExLTAxLTEzIDExOjI4OjMyIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3F0bXV4LmM6CgkgIHRlc3Q6IHF0bXV4OiBUZXN0cyBxdG11eCByZXVzZQoJICBGb3JjZXMgdGhlIHVzZSBvZiBxdG11eCBhZnRlciBpdCBoYXMgYmVlbiBwdXQgdG8gUExBWUlORyBhbmQgYmFjawoJICB0byBOVUxMIG9uY2UKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYzOTMzOAoKMjAxMS0wMS0xMyAxNToyNzozNiArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBzZXQgc3JjIHBhZHMgd2hlbiBzdGFydGluZyBmaWxlCgkgIC4uLiByYXRoZXIgdGhhbiBhdCBfaW5pdCB0aW1lLCBzbyB0aGV5IGFyZSBhbHNvIGF2YWlsYWJsZSBmb2xsb3dpbmcgYQoJICBwYWQgKGRlKWFjdGl2YXRpb24gY3ljbGUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MzkzMzgKCjIwMTEtMDEtMDMgMTc6MjQ6MjMgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F1aWNrdGltZS9nc3RxdG11eC5jOgoJKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4Lmg6CgkgIHF0bXV4OiBhZGp1c3QgbmFzdHkgY2FzZSB0aW1lc3RhbXAgdHJhY2tpbmcKCSAgVGhhdCBpcywgYWxsIHNvcnRzIG9mIHByb2JsZW1zIGFyaXNlIHdpdGggcmUtb3JkZXJlZCBpbnB1dCB0aW1lc3RhbXBzIHRoYXQKCSAgdGVuZCB0byBkZWZ5IGF1dG9tYWdpYyBoYW5kbGluZyBmb3IgZXZlcnkgY2FzZSwgc28gYWxsb3cgZm9yIGEgZmV3IHZhcmlhdGlvbnMKCSAgdGhhdCBjYW4gYmUgdHJpZWQgZGVwZW5kaW5nIG9uIGNpcmN1bXN0YW5jZXMuCgkgIEFsc28gdHJ5IHRvIGRvY3VtZW50IGFjY29yZGluZ2x5LgoJICBBbHNvIGZpeGVzICM2MzgyODguCgoyMDEwLTEyLTMwIDIxOjQ4OjQxICswMjAwICBGZWxpcGUgQ29udHJlcmFzIDxmZWxpcGUuY29udHJlcmFzQG5va2lhLmNvbT4KCgkqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IGdldCByaWQgb2YgdGltZXN0YW1wIG92ZXJwcm90ZWN0aXZlbmVzcwoJICBTaWduZWQtb2ZmLWJ5OiBGZWxpcGUgQ29udHJlcmFzIDxmZWxpcGUuY29udHJlcmFzQG5va2lhLmNvbT4KCjIwMTEtMDEtMDMgMTY6NTY6NTcgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F1aWNrdGltZS9hdG9tcy5jOgoJKiBnc3QvcXVpY2t0aW1lL2F0b21zLmg6CgkqIGdzdC9xdWlja3RpbWUvYXRvbXNyZWNvdmVyeS5jOgoJKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBzaW1wbGlmeSBhbmQgZml4IHB0c19vZmZzZXQgc3RvcmluZwoJICBJbiBwYXJ0aWN1bGFyLCBvbmx5IHdyaXRlIGEgY3R0cyBhdG9tIGlmIGFuZCBvbmx5IGlmIGV2ZXIgYSBub24temVybyBvZmZzZXQuCgoyMDExLTAxLTAzIDEwOjQzOjE1ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IGFkZCBzb21lIG1vcmUgZG9jdW1lbnRhdGlvbgoKMjAxMC0xMi0wMyAxNToyMzowMCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXVpY2t0aW1lL2F0b21zLmM6CgkqIGdzdC9xdWlja3RpbWUvYXRvbXMuaDoKCSogZ3N0L3F1aWNrdGltZS9nc3RxdG11eC5jOgoJKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4Lmg6CgkgIHF0bXV4OiByZW1vdmUgbGFyZ2UtZmlsZSBwcm9wZXJ0eQoJICBSYXRoZXIsIGF1dG8tZGV0ZXJtaW5lIGlmIDY0LWJpdHMgZmllbGRzIGFyZSBuZWVkZWQgZm9yIGEgdmFsaWQgcmVzdWx0LCBhbmQKCSAgc3RpY2sgdG8gcGxhaW4gMzItYml0cyBpZiBub3QgbmVlZGVkLgoJICBBUEk6IEdzdFFUTXV4OmxhcmdlLWZpbGUgKHJlbW92ZWQpCgoyMDEwLTEyLTE5IDEyOjUzOjM0ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IEZyZWUgQXRvbUluZm8gc3RydWN0cwoKMjAxMC0xMi0xOSAxMjo1MDozMCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBGcmVlIHRhZyBzdHJpbmcgYWZ0ZXIgdXNlCgoyMDEwLTEyLTE5IDEyOjEyOjI1ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy90YWdzY2hlY2tpbmcuYzoKCSAgdGFnc2NoZWNraW5nOiBGaXggc29tZSBtb3JlIG1lbW9yeSBsZWFrcwoKMjAxMC0xMi0xNyAxOTo0MToyNSArMDIwMCAgTGFzc2UgTGF1a2thbmVuIDxsYXNzZS5sYXVra2FuZW5AZGlnaWEuY29tPgoKCSogZ3N0L3F1aWNrdGltZS9nc3RxdG11eC5jOgoJICBxdG11eDogYWxsb3cgemVybyBkdXJhdGlvbiB0cmFja3MKCjIwMTAtMTItMDMgMTg6MDk6NDEgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F1aWNrdGltZS9nc3RxdG11eC5jOgoJICBxdG11eDogYWRkIGRvY3VtZW50YXRpb24KCjIwMTAtMTItMDEgMTA6NDU6NDkgKzAxMDAgIERhdmlkIEhveXQgPGRob3l0QGxsbmwuZ292PgoKCSogZ3N0L3F1aWNrdGltZS9nc3RxdG11eC5jOgoJICBxdG11eDogaGFuZGxlIG1zdmMgZnRydW5jYXRlIGluY29tcGF0aWJpbGl0eQoJICBGaXhlcyAjNjM2MTg1LgoKMjAxMC0xMS0yNyAxNjowNzoxOSAtMDYwMCAgQWxlamFuZHJvIEdvbnphbGV6IDxhZ29uemFsZXpAZGV4dHJhdGVjaC5jb20+CgoJKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBnc3RfcXRtdXhfY2hlY2tfZGlmZmVyZW5jZSB2ZXJpZnkgYmVmb3JlIHN1YnRyYWN0CgkgIEF2b2lkIG5lZ2F0aXZlIG92ZXJmbG93IGJ5IGNoZWNraW5nIHRoZSBvcmRlciBvZiBvcGVyYW5kcwoJICBvbiBzdWJ0cmFjdGlvbiBvZiB1bnNpZ25lZCBpbnRlZ2Vycy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYzNTg3OAoKMjAxMC0xMS0xOSAxNzo1NTozNiArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4LmM6CgkgIHF0bXV4OiByZW1vdmUgcmVtbmFudCBvZiBvYnNvbGV0ZSBwcm9wZXJ0eQoKMjAxMC0xMS0xOSAxNToxODo1OCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9xdG11eC5jOgoJICB0ZXN0czogcXRtdXg6IGFsc28gdW5pdCB0ZXN0IGZyYWdtZW50ZWQgZmlsZSBjYXNlcwoKMjAxMC0wNy0zMCAxMjo0ODoyOSArMDIwMCAgTWFyYy1BbmRyw6kgTHVyZWF1IDxtbHVyZWF1QGZsdW1vdGlvbi5jb20+CgoJKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4LmM6CgkqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXguaDoKCSAgcXRtdXg6IGFsbG93IHNwZWNpZnlpbmcgdHJhayB0aW1lc2NhbGUKCSAgVGhpcyBpcyBtYWlubHkgYmVjYXVzZSBTbW9vdGhzdHJlYW1pbmcgY2xpZW50IGFyZSBicm9rZW4gYW5kIGRvbid0CgkgIHRha2UgdGhlIFRpbWVTY2FsZSBwcm9wZXJ0eSBpbnRvIGFjY291bnQuCgoyMDEwLTExLTE5IDE3OjQxOjQxICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdWlja3RpbWUvYXRvbXMuYzoKCSogZ3N0L3F1aWNrdGltZS9hdG9tcy5oOgoJKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBpbmNsdWRlIHNkdHAgYXRvbXMgZm9yIGlzbXYgZnJhZ21lbnRlZCBmaWxlcwoJICBCYXNlZCBvbiBwYXRjaCBieSBNYXJjLUFuZHLDqSBMdXJlYXUgPG1sdXJlYXVAZmx1bW90aW9uLmNvbT4KCjIwMTAtMTEtMTkgMTk6MTc6NDUgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F1aWNrdGltZS9nc3RxdG11eC5jOgoJICBxdG11eDogZW5hYmxlIGRlZmF1bHQgZnJhZ21lbnRlZCBmaWxlIGZvciBpc21sbXV4CgoyMDEwLTA5LTAyIDEzOjU4OjA1ICswMjAwICBNYXJjLUFuZHLDqSBMdXJlYXUgPG1sdXJlYXVAZmx1bW90aW9uLmNvbT4KCgkqIGdzdC9xdWlja3RpbWUvYXRvbXMuaDoKCSogZ3N0L3F1aWNrdGltZS9mdHlwY2MuaDoKCSogZ3N0L3F1aWNrdGltZS9nc3RxdG11eG1hcC5jOgoJKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4bWFwLmg6CgkgIHF0bXV4OiBhZGQgaXNtbG11eCwgZm9yIGZyYWdtZW50ZWQgaXNtbCBtYWpvciBicmFuZAoKMjAxMC0xMS0xOSAxNDo0NDo0NSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBmaW5hbGl6ZSBzaW5rcGFkcyBsaXN0CgoyMDEwLTA3LTIyIDE5OjQwOjA3ICswMjAwICBNYXJjLUFuZHLDqSBMdXJlYXUgPG1sdXJlYXVAZmx1bW90aW9uLmNvbT4KCgkqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IGFkZCBtb292IGluIHN0cmVhbWhlYWRlcgoKMjAxMC0wOC0wNiAxMzoyNjoyNyArMDIwMCAgTWFyYy1BbmRyw6kgTHVyZWF1IDxtbHVyZWF1QGZsdW1vdGlvbi5jb20+CgoJKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4LmM6CgkqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXguaDoKCSAgcXRtdXg6IGFkZCBzdHJlYW1hYmxlIHByb3BlcnR5IHRvIGF2b2lkIGJ1aWxkaW5nIGZyYWdtZW50ZWQgbWZyYSBpbmRleAoKMjAxMC0xMS0xOCAxNjo0ODowNiArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXVpY2t0aW1lL2F0b21zLmM6CgkqIGdzdC9xdWlja3RpbWUvYXRvbXMuaDoKCSogZ3N0L3F1aWNrdGltZS9nc3RxdG11eC5jOgoJKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4Lmg6CgkgIHF0bXV4OiBhZGQgbWZyYSB0byBmcmFnbWVudGVkIGZpbGUKCSAgQmFzZWQgb24gcGF0Y2ggYnkgTWFyYy1BbmRyw6kgTHVyZWF1IDxtbHVyZWF1QGZsdW1vdGlvbi5jb20+CgoyMDEwLTExLTE1IDE1OjE3OjU5ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdWlja3RpbWUvYXRvbXMuYzoKCSogZ3N0L3F1aWNrdGltZS9hdG9tcy5oOgoJKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4LmM6CgkqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXguaDoKCSAgcXRtdXg6IG9wdGlvbmFsbHkgY3JlYXRlIGZyYWdtZW50ZWQgZmlsZQoJICBJbiB0aGlzIG1vZGUsIGFuIGluaXRpYWwgZW1wdHkgbW9vdiAoY29udGFpbmluZyBvbmx5IHN0cmVhbSBtZXRhZGF0YSkgaXMgd3JpdHRlbiwKCSAgZm9sbG93ZWQgYnkgZnJhZ21lbnRzIGNvbnRhaW5pbmcgYWN0dWFsIGRhdGEgKGFsb25nIHdpdGggcmVxdWlyZWQgbWV0YWRhdGEpLgoJICBOZXcgZnJhZ21lbnRzIGFyZSBzdGFydGVkIGVpdGhlciBhdCBrZXlmcmFtZSAoaWYgc3VjaCBhcmUgc3BhcnNlKSBvciB3aGVuCgkgIHByb3BlcnR5IGNvbmZpZ3VyZWQgZHVyYXRpb24gZXhjZWVkZWQuCgkgIEJhc2VkIG9uIHBhdGNoIGJ5IE1hcmMtQW5kcsOpIEx1cmVhdSA8bWx1cmVhdUBmbHVtb3Rpb24uY29tPgoJICBGaXhlcyAjNjMyOTExLgoKMjAxMC0xMS0xNSAxNToxMjo0NSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXVpY2t0aW1lL2F0b21zLmM6CgkgIHF0bXV4OiB1c2UgaGVscGVyIHRvIHNldCBhdG9tIGZsYWdzIGZyb20gZ2l2ZW4gdWludAoKMjAxMC0xMS0wOSAxNjo0OTowNyArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4LmM6CgkgIHF0bXV4OiByZWZhY3RvciBjb25maWd1cmluZyBhbmQgc2VuZGluZyBvZiBtb292CgkgIEJhc2VkIG9uIHBhdGNoIGJ5IE1hcmMtQW5kcsOpIEx1cmVhdSA8bWx1cmVhdUBmbHVtb3Rpb24uY29tPgoKMjAxMC0xMS0wOSAxNTo1NDo0NCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4LmM6CgkgIHF0bXV4OiByZWZhY3RvciBleHRyYSB0b3AtbGV2ZWwgYXRvbSBoYW5kbGluZwoJICBBbHNvIGNoZWNrIGEgYml0IG1vcmUgZm9yIHBvc3NpYmxlIGVycm9ycywgYW5kIGZyZWUgcHJvcGVyIGl0ZW1zIGluIHN1Y2ggY2FzZS4KCjIwMTAtMTEtMDkgMTU6MDE6MTUgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F1aWNrdGltZS9nc3RxdG11eC5jOgoJICBxdG11eDogcmVmYWN0b3Igc2xpZ2h0bHkgdXNpbmcgYnVmZmVyIGhlbHBlcgoKMjAxMC0xMS0wNSAxMzo0ODo1NyArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBmaXggbWlzaW5mb3JtaW5nIGNvbW1lbnQKCjIwMTAtMTEtMDUgMTI6MDg6MTUgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F1aWNrdGltZS9hdG9tcy5jOgoJKiBnc3QvcXVpY2t0aW1lL2F0b21zLmg6CgkqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IGRlbGVnYXRlIG12ZXggaGFuZGxpbmcgdG8gYXRvbXMKCSAgLi4uIHdoaWNoIGtlZXBzIHF0bXV4IHNpbXBsZXIuCgoyMDA5LTA5LTI4IDE2OjExOjM1ICswMjAwICBNYXJjLUFuZHLDqSBMdXJlYXUgPG1sdXJlYXVAZmx1bW90aW9uLmNvbT4KCgkqIGdzdC9xdWlja3RpbWUvYXRvbXMuYzoKCSogZ3N0L3F1aWNrdGltZS9hdG9tcy5oOgoJKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBhZGQgbXZleC90cmV4IGluIGhlYWRlciBpZiBmcmFnbWVudGVkCgkgIE9uZSAidHJleCIgaXMgYWRkZWQgcGVyICJ0cmFrIi4gV2UgZG9uJ3Qgc3VwcG9ydCBkZWZhdWx0IHZhbHVlcywKCSAgYnV0IHRoZSAidHJleCIgYm94IGlzIG1hbmRhdG9yeS4KCjIwMDktMDktMjggMTM6MDE6MzAgKzAyMDAgIE1hcmMtQW5kcsOpIEx1cmVhdSA8bWx1cmVhdUBmbHVtb3Rpb24uY29tPgoKCSogZ3N0L3F1aWNrdGltZS9mb3VyY2MuaDoKCSAgcXRtdXg6IGFkZCBhIGNvdXBsZSBvZiBmb3VyY2MgZm9yIGZyYWdtZW50ZWQgbXA0CgoyMDEwLTExLTA1IDExOjA4OjAxICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IGF2b2lkIHJlbW92aW5nIHRlbXAgZmlsZSB3aGVuIGVycm9yIG9jY3VycmVkCgoyMDA5LTA5LTMwIDE3OjE2OjMwICswMjAwICBNYXJjLUFuZHLDqSBMdXJlYXUgPG1sdXJlYXVAZmx1bW90aW9uLmNvbT4KCgkqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IHRydW5jYXRlIGJ1ZmZlciBmaWxlIGFmdGVyIGVhY2ggc2VuZAoKMjAwOS0wOS0yOCAxNjo1Mzo1MSArMDIwMCAgTWFyYy1BbmRyw6kgTHVyZWF1IDxtbHVyZWF1QGZsdW1vdGlvbi5jb20+CgoJKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4LmM6CgkgIHF0bXV4OiByZW1vdmUgdGVtcCBmaWxlIHdoZW4gcmVzZXQvZmluYWxpemUKCjIwMTAtMTAtMTkgMTM6NDM6MTQgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9xdWlja3RpbWUvZ3N0cXRtb292cmVjb3Zlci5jOgoJICB2YXJpb3VzIChnc3QpOiBhZGQgbWlzc2luZyBHX1BBUkFNX1NUQVRJQ19TVFJJTkdTIGZsYWdzCgkgIENhbm9uaWNhbGl6ZSBwcm9wZXJ0eSBuYW1lcyBhcyBuZWVkZWQuCgoyMDEwLTEwLTEzIDE3OjQ3OjI5ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IHByZXZlbnQgaW5maW5pdGUgbG9vcCB3aGVuIGFkanVzdGluZyBmcmFtZXJhdGUKCSAgRml4ZXMgIzYzMjA3MC4KCjIwMTAtMTAtMDMgMjM6NDU6NDYgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F1aWNrdGltZS9nc3RxdG11eC5jOgoJICBxdG11eDogQWRkIEdfUEFSQU1fU1RBVElDX1NUUklOR1MKCSAgQWRkIEdfUEFSQU1fU1RBVElDX1NUUklOR1MgdG8gcXRtdXggcHJvcGVydGllcwoKMjAxMC0wOS0xNSAxNzo1NDo0OSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXVpY2t0aW1lL2F0b21zLmM6CgkqIGdzdC9xdWlja3RpbWUvYXRvbXMuaDoKCSogZ3N0L3F1aWNrdGltZS9mb3VyY2MuaDoKCSogZ3N0L3F1aWNrdGltZS9nc3RxdG11eC5jOgoJKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4Lmg6CgkgIHF0bXV4OiBGb2xsb3cgeG1wIHNlcmlhbGl6YXRpb24gZ3VpZGVsaW5lcyBjbG9zZXIKCSAgcXQgYW5kIGlzb20gdmFyaWFudHMgaGF2ZSBkaWZmZXJlbnQgd2F5cyBvZiBzZXJpYWxpemluZwoJICB4bXAsIGZvbGxvdyB0aGVzZSBndWlkZWxpbmVzLgoJICBUaG9zZSBjYW4gYmUgZm91bmQgaW4gQWRvYmUncyB4bXAgZG9jcy4KCjIwMTAtMDgtMTYgMTI6MzY6MjQgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F1aWNrdGltZS9nc3RxdG11eC5jOgoJICBxdG11eDogYXV0b2RldGVjdCBvdXQtb2Ytb3JkZXIgaW5wdXQgdGltZXN0YW1wcyBhbmQgZGV0ZXJtaW5lIERUUyBhY2NvcmRpbmdseQoJICBGYXZvdXIgdXNpbmcgaW5wdXQgYnVmZmVyIHRpbWVzdGFtcHMgZm9yIERUUywgYnV0IGZhbGxiYWNrIHRvIHVzaW5nIGJ1ZmZlcgoJICBkdXJhdGlvbiAoYWNjdW11bGF0aW9uKSBpZiBpbnB1dCB0cyBkZXRlY3RlZCBvdXQtb2Ytb3JkZXIuCgkgIEZpeGVzICM2MjQyMTIuCgoyMDEwLTA3LTI4IDE2OjE1OjUzICswMjAwICBNYXJjLUFuZHLDqSBMdXJlYXUgPG1sdXJlYXVAZmx1bW90aW9uLmNvbT4KCgkqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IHVzZSBjYXBzIGJpdHJhdGUgYXQgbGFzdCBjaGFuY2UKCSAgSWYgd2UgZGlkbid0IGdldCB0aGUgc3RyZWFtJ3MgYml0cmF0ZSBmcm9tIG9uZSBvZiB0aGUgYXRvbXMsCgkgIHRyeSBnZXR0aW5nIGl0IGZyb20gdGhlIGNhcHMgYXMgYSBsYXN0IHJlc29ydC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYyNTQ5NgoKMjAxMC0wNy0yOCAxNjoxMjoxMSArMDIwMCAgTWFyYy1BbmRyw6kgTHVyZWF1IDxtbHVyZWF1QGZsdW1vdGlvbi5jb20+CgoJKiBnc3QvcXVpY2t0aW1lL2F0b21zLmM6CgkgIHF0bXV4OiBidHJ0IC0gbWF4IGJpdHJhdGUgYmVmb3JlIGF2ZXJhZ2UKCSAgQWNjb3JkaW5nIHRvIGlzbyBiYXNlIG1lZGlhIGZpbGUgZm9ybWF0LCB0aGUgbWF4IGJpdHJhdGUKCSAgaXMgYmVmb3JlIHRoZSBhdmcKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYyNTQ5NgoKMjAxMC0wNy0wNiAxNDo0ODowOCArMDUzMCAgQXJ1biBSYWdoYXZhbiA8YXJ1bi5yYWdoYXZhbkBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXVpY2t0aW1lL2F0b21zLmM6CgkqIGdzdC9xdWlja3RpbWUvYXRvbXMuaDoKCSogZ3N0L3F1aWNrdGltZS9nc3RxdG11eC5jOgoJICBxdG11eDogV3JpdGUgJ2J0cnQnIGF0b20gZm9yIEguMjY0IG1lZGlhIGlmIHBvc3NpYmxlCgkgIFRoaXMgd3JpdGVzIG91dCB0aGUgb3B0aW9uYWwgJ2J0cnQnIGF0b20gKE1QRUc0Qml0cmF0ZUJveCkgZm9yIEguMjY0CgkgIG1lZGlhIGlmIGVpdGhlciBvciBib3RoIG9mIGF2ZXJhZ2UgYW5kIG1heGltdW0gYml0cmF0ZSBhcmUgYXZhaWxhYmxlIGZvcgoJICB0aGUgc3RyZWFtLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjIzNjc4CgoyMDEwLTA3LTA1IDE0OjA5OjUwICswNTMwICBBcnVuIFJhZ2hhdmFuIDxhcnVuLnJhZ2hhdmFuQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdWlja3RpbWUvYXRvbXMuYzoKCSogZ3N0L3F1aWNrdGltZS9hdG9tcy5oOgoJKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4LmM6CgkqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXguaDoKCSAgcXRtdXg6IFdyaXRlIGF2Zy9tYXggYml0cmF0ZSB0byBFU0RTIGlmIGF2YWlsYWJsZQoJICBUaGlzIGNvbGxlY3RzIHRoZSAnYml0cmF0ZScgYW5kICdtYXhpbXVtLWJpdHJhdGUnIHRhZ3Mgb24gdGhlCgkgIGNvcnJlc3BvbmRpbmcgcGFkIGFuZCB1c2VzIHRoZXNlIHRvIHBvcHVsYXRlIHRoZXNlIGZpZWxkcyBpbiB0aGUgRVNEUwoJICB3aGVyZSBhcHBsaWNhYmxlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjIzNjc4CgoyMDEwLTA3LTAyIDEyOjQ1OjIwICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L3F1aWNrdGltZS9nc3RxdG11eC5jOgoJICBxdG11eDogRG9uJ3QgdXNlIGJvZ3VzIGNvZGVjL2Zvcm1hdCB0YWdzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MjMzNjUKCjIwMTAtMDYtMjUgMjA6MTk6MjAgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F1aWNrdGltZS9nc3RxdG11eC5jOgoJICBxdG11eDogV3JpdGUgdWludCB0YWdzIHRoYXQgZG9uJ3QgaGF2ZSBhIGNvbXBsZW1lbnQKCSAgV3JpdGUgdWludCB0YWdzIHRoYXQgaGF2ZSBjb21wbGVtZW50cyAoZS5nLiB0cmFjay1udW1iZXIvCgkgIHRyYWNrLWNvdW50KSBldmVuIHdoZW4gd2Ugb25seSBoYXZlIG9uZSBvZiB0aGVtIGF2YWlsYWJsZQoJICBhbmQgc2V0IHRoZSBvdGhlciBvbmUgdG8gMC4KCSAgRml4ZXMgIzYyMjQ4NAoKMjAxMC0wNi0yMSAxOTozOTo1NCArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IFJlbW92ZSB0aGUgcGFkIGZyb20gb3VyIGludGVybmFsIGxpc3QgYmVmb3JlIGNhbGxpbmcgY29sbGVjdHBhZHMKCSAgUHJldmlvdXNseSB3ZSB3b3VsZCBlbmQgdXAgd2l0aCB0aGUgY29sbGVjdHBhZGRhdGEgc3RydWN0dXJlIGFscmVhZHkgZnJlZWQuCgkgIFRoaXMgd291bGQgcmVzdWx0IGluIGEgYm9ndXMgaXRlcmF0aW9uIG9mIG11eC0+c2lua3BhZHMgKGFsbCB0aGUKCSAgR3N0UVRQYWQgYmVpbmcgZnJlZWQpIGFuZCBpdCB3b3VsZG4ndCBiZSByZW1vdmVkIGZyb20gdGhhdCBsaXN0LgoJICBGaW5hbGx5LCBkdWUgdG8gaXQgbm90IGJlaW5nIHJlbW92ZWQgZnJvbSB0aGF0IGxpc3QsIHdlIHdvdWxkIGVuZCB1cAoJICBjYWxsaW5nIGEgYm9ndXMgZ3N0X3F0X211eF9wYWRfcmVzZXQgb24gdGhvc2Ugc3RydWN0dXJlcyA9PiBTRUdGQVVMVAoKMjAxMC0wNS0xMiAxODo1MDozNCAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvcXVpY2t0aW1lL2ZvdXJjYy5oOgoJKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4LmM6CgkqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXhtYXAuYzoKCSAgcXRtdXg6IEFkZCBWUDgKCjIwMTAtMDUtMTEgMTM6MTU6MzcgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svcGlwZWxpbmVzL3RhZ3NjaGVja2luZy5jOgoJICB0ZXN0czogZG9uJ3QgZmFpbCB0YWdzY2hlY2tpbmcgdGVzdCBpZiBxdGRlbXV4IGlzIG5vdCBhdmFpbGFibGUgb3IgdG9vIG9sZAoKMjAxMC0wMy0yNyAwOTo0NjozMCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4cGx1Z2luLmM6CgkgIHF0bXV4OiB1c2UgR1N0cmVhbWVyIHBhY2thZ2UgbmFtZSBhbmQgb3JpZ2luIGluIHRoZSBwbHVnaW4gaW5mbwoKMjAxMC0wMy0yMyAxNzozNDozMCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvdGFnc2NoZWNraW5nLmM6CgkgIHRlc3RzOiB0YWdzY2hlY2tpbmc6IE5ldyB0YWdzIHRlc3RzCgkgIEFkZHMgbmV3IHRhZ3MgY2hlY2tpbmcgdGVzdHMuCgoyMDEwLTAzLTI1IDAwOjIwOjU0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IGluaXQgZGVidWcgY2F0ZWdvcnkgYmVmb3JlIHVzaW5nIGl0CgoyMDEwLTAzLTIyIDE2OjU2OjAzICswMTAwICBCZW5qYW1pbiBPdHRlIDxvdHRlQHJlZGhhdC5jb20+CgoJKiBnc3QvcXVpY2t0aW1lL2F0b21zLmM6CgkgIEFkZCAtV29sZC1zdHlsZS1kZWZpbml0aW9uCgkgIGFuZCBmaXggdGhlIHdhcm5pbmdzCgoyMDEwLTAzLTIyIDEzOjE2OjMzICswMTAwICBCZW5qYW1pbiBPdHRlIDxvdHRlQHJlZGhhdC5jb20+CgoJKiBnc3QvcXVpY2t0aW1lL2F0b21zLmM6CgkqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXhtYXAuaDoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcXRtdXguYzoKCSAgQWRkIC1Xd3JpdGUtc3RyaW5ncwoJICBhbmQgZml4IGl0cyB3YXJuaW5ncwoKMjAxMC0wMy0yMSAyMTozOToxOCArMDEwMCAgQmVuamFtaW4gT3R0ZSA8b3R0ZUByZWRoYXQuY29tPgoKCSogZ3N0L3F1aWNrdGltZS9hdG9tcy5jOgoJKiBnc3QvcXVpY2t0aW1lL2F0b21zLmg6CgkqIGdzdC9xdWlja3RpbWUvYXRvbXNyZWNvdmVyeS5jOgoJKiBnc3QvcXVpY2t0aW1lL2Rlc2NyaXB0b3JzLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3F0bXV4LmM6CgkqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy90YWdzY2hlY2tpbmcuYzoKCSAgQWRkIC1XbWlzc2luZy1kZWNsYXJhdGlvbnMgLVdtaXNzaW5nLXByb3RvdHlwZXMgdG8gY29uZmlndXJlIGZsYWdzCgkgIEFuZCBmaXggYWxsIHdhcm5pbmdzCgoyMDEwLTAzLTE4IDE3OjMwOjI2ICswMTAwICBCZW5qYW1pbiBPdHRlIDxvdHRlQHJlZGhhdC5jb20+CgoJKiBnc3QvcXVpY2t0aW1lL2dzdHF0bW9vdnJlY292ZXIuYzoKCSogZ3N0L3F1aWNrdGltZS9nc3RxdG11eC5jOgoJICBnc3RfZWxlbWVudF9jbGFzc19zZXRfZGV0YWlscyA9PiBnc3RfZWxlbWVudF9jbGFzc19zZXRfZGV0YWlsc19zaW1wbGUKCjIwMTAtMDMtMTIgMTE6Mjg6NTEgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svcGlwZWxpbmVzL3RhZ3NjaGVja2luZy5jOgoJICB0ZXN0czogdGFnc2NoZWNraW5nOiBJbXByb3ZlbWVudHMgYW5kIG5ldyBnZW8tbG9jYXRpb24gdGVzdHMKCSAgTWFrZXMgc29tZSBpbXByb3ZlbWVudHMgdG8gdGFnc2NoZWNraW5nLmMsIG1ha2luZyBpdCB1c2UKCSAgZmFrZXNyYyBpbnN0ZWFkIG9mIHZpZGVvdGVzdHNyYyBhbmQgYWxsb3dpbmcgdG8gc2V0IGlucHV0CgkgIGNhcHMgc28gdGhhdCBtb3JlIG11eGVycyBjYW4gYmUgdXNlZC4gUHJldmlvdXNseSB3ZSBjb3VsZAoJICBvbmx5IHVzZSB0aG9zZSB0aGF0IGFjY2VwdGVkIHJhdyB2aWRlbyBjYXBzLgoJICBBbHNvIGFkZHMgc29tZSB0ZXN0cyBmb3IgZ2VvLWxvY2F0aW9uIHRhZ3MKCjIwMTAtMDMtMTIgMTA6NTM6MzYgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F1aWNrdGltZS9nc3RxdG11eC5jOgoJICBxdG11eDogVXNlIHhtcCBvbiBtcDRtdXggYW5kIGdwcG11eCB0b28KCSAgRG8gbm90IHJlc3RyaWN0IHhtcCB0byBxdG11eCwgYnV0IHVzZSBpdCB0b28KCSAgb24gbXA0bXV4IGFuZCBncHBtdXgKCjIwMTAtMDMtMDUgMTM6MzM6MzcgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svcGlwZWxpbmVzL3RhZ3NjaGVja2luZy5jOgoJICBjaGVjazogdGFnc2NoZWNraW5nOiB0ZXN0cyBmb3IgdGFncyBzZXJpYWxpemF0aW9uIGluIG11eGVycwoJICBBZGRzIGEgY2hlY2sgdW5pdCB0ZXN0IHRoYXQgYWltcyB0byB0ZXN0IHRhZ3Mgc2VyaWFsaXphdGlvbgoJICBhbmQgZGVzZXJpYWxpemF0aW9uIGNvbnNpc3RlbmN5IChpbiBtdXhlcnMpLiBJdCBwcm92aWRlcyBhCgkgIGJhc2ljIGZ1bmN0aW9uIHRoYXQgYWxsb3dzIG9uZSB0byBlYXNpbHkgc3BlY2lmeSB0YWdzLCBhCgkgIG11eGVyIGFuZCBhIGRlbXV4ZXIgYW5kIGEgdGVzdCB3aWxsIGJlIGRvbmUgdG8gY2hlY2sgaWYKCSAgdGhlIHRhZ3MgaGF2ZSBiZWVuIGNvbnNpc3RlbnRseSBtdXhlZCBhbmQgZGVtdXhlZAoKMjAxMC0wMi0yMiAxNjo0NTozNCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXVpY2t0aW1lL2F0b21zLmM6CgkqIGdzdC9xdWlja3RpbWUvYXRvbXMuaDoKCSogZ3N0L3F1aWNrdGltZS9mb3VyY2MuaDoKCSogZ3N0L3F1aWNrdGltZS9nc3RxdG11eC5jOgoJICBxdG11eDogYWRkIHhtcCBzdXBwb3J0CgkgIEFkZHMgeG1wIG1ldGF0YWdzIGFkZGluZyB0byBxdG11eC4KCSAgRml4ZXMgIzYwOTUzOQoKMjAxMC0wMy0xMSAxNzoxNzoxNSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXVpY2t0aW1lL2dzdHF0bW9vdnJlY292ZXIuYzoKCSAgcXRtdXg6IGZpeCBHU1RfRUxFTUVOVF9FUlJPUiB1c2FnZQoJICBXZSBuZWVkIHRvIHBhc3MgKE5VTEwpIHJhdGhlciB0aGFuIE5VTEwgZm9yIGVtcHR5IGFyZ3VtZW50cy4KCjIwMTAtMDMtMTAgMTA6MjM6MjMgLTA2MDAgIFJvYiBDbGFyayA8cm9iQHRpLmNvbT4KCgkqIGdzdC9xdWlja3RpbWUvZ3N0cXRtb292cmVjb3Zlci5jOgoJICBxdG11eDogZml4IGNvbXBpbGUgZXJyb3IKCSAgZ3N0L3F1aWNrdGltZS9nc3RxdG1vb3ZyZWNvdmVyLmM6MjY4OiB3YXJuaW5nOiBmb3JtYXQgbm90IGEgc3RyaW5nIGxpdGVyYWwgYW5kIG5vIGZvcm1hdCBhcmd1bWVudHMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYxMjQ1NAoKMjAxMC0wMi0yMiAxOTozODoxNSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4bWFwLmM6CgkgIHF0bXV4OiBSZW5hbWUgJ2F2Yy1zYW1wbGUnIHRvICdhdmMnIGluIGNhcHMKCSAgRml4ZXMgIzYwNjY2MgoKMjAxMC0wMi0yNiAxMTo1MDoyNSAtMDgwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHNvbmdiaXJkbmVzdC5jb20+CgoJKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBUYWtlIGxvY2sgYXJvdW5kIHVzZSBvZiAobm9uLXRocmVhZHNhZmUpIHRhZ3NldHRlciBpbnRlcmZhY2UuCgoyMDEwLTAyLTIyIDE2OjUxOjAwIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdWlja3RpbWUvYXRvbXMuYzoKCSAgcXRtdXg6IHdyaXRlIGFsbCB1ZHRhIGNoaWxkcmVuIGF0b21zCgkgIFVEVEEgbWlnaHQgaGF2ZSBNRVRBIGFuZCBvdGhlciBjaGlsZHJlbiBhdG9tcwoJICB0b2dldGhlciwgd3JpdGUgdGhlbSBhbGwuCgoyMDEwLTAyLTIyIDEwOjQ4OjExIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXguYzoKCSogZ3N0L3F1aWNrdGltZS9nc3RxdG11eC5oOgoJICBxdG11eDogVXNlIGludGVybmFsIHNpbmsgcGFkcyBsaXN0CgkgIER1ZSB0byBHc3RDb2xsZWN0UGFkcyBzaW5rIHBhZHMgbGlzdCBiZWluZyBub3QgcmVsaWFibHkKCSAgaXRlcmF0YWJsZSAod2hlbiBub3QgaW5zaWRlIHRoZSBjb2xsZWN0ZWQgZnVuY3Rpb24pIHRoaXMKCSAgcGF0Y2ggYWRkcyBhIHNpbmsgcGFkcyBsaXN0IHRvIHF0bXV4IHRvIGJlIHVzZWQgd2hlbiBpdGVyYXRpbmcKCSAgc2luayBwYWRzIG9uIHJlc2V0IGZ1bmN0aW9uLgoJICBGaXhlcyAjNjA5MDU1CgoyMDEwLTAyLTE2IDE3OjEzOjA5ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdWlja3RpbWUvYXRvbXMuYzoKCSAgcXRtdXg6IHByZXZlbnQgbGVha2luZyBoZGxyIG5hbWUKCjIwMTAtMDItMTYgMTY6MjQ6MTIgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F1aWNrdGltZS9hdG9tcy5jOgoJKiBnc3QvcXVpY2t0aW1lL2F0b21zLmg6CgkqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXguYzoKCSogZ3N0L3F1aWNrdGltZS9nc3RxdG11eG1hcC5jOgoJICBxdG11eDogc3VwcG9ydCBmb3IgQUxBQwoJICBGaXhlcyAjNTgwNzMxLgoKMjAxMC0wMi0xNiAxNDoxOTowNCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXVpY2t0aW1lL2F0b21zLmM6CgkgIHF0bXV4OiByZWZhY3RvciBidWlsZGluZyBzdHNkIGVudHJ5ICd3YXZlJyBleHRlbnNpb24KCjIwMTAtMDItMDggMTE6NTE6NTIgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F1aWNrdGltZS9hdG9tc3JlY292ZXJ5LmM6CgkgIHF0bXV4OiBhdG9tc3JlY292ZXJ5OiBGaXggY29tcGlsYXRpb24gcHJvYmxlbQoJICBGaXhlcyBhIGNvbXBpbGF0aW9uIGVycm9yIGR1ZSB0byB1bnVzZWQgZnVuY3Rpb24gcmVzdWx0LgoKMjAwOS0xMi0xMiAxNjowNzoxNSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXVpY2t0aW1lL2F0b21zLmM6CgkqIGdzdC9xdWlja3RpbWUvYXRvbXMuaDoKCSogZ3N0L3F1aWNrdGltZS9hdG9tc3JlY292ZXJ5LmM6CgkqIGdzdC9xdWlja3RpbWUvYXRvbXNyZWNvdmVyeS5oOgoJKiBnc3QvcXVpY2t0aW1lL2ZvdXJjYy5oOgoJKiBnc3QvcXVpY2t0aW1lL2dzdHF0bW9vdnJlY292ZXIuYzoKCSogZ3N0L3F1aWNrdGltZS9nc3RxdG1vb3ZyZWNvdmVyLmg6CgkqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXguYzoKCSogZ3N0L3F1aWNrdGltZS9nc3RxdG11eC5oOgoJKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4cGx1Z2luLmM6CgkgIHF0bXV4OiBBZGRzIG1vb3YgcmVjb3ZlcnkgZmVhdHVyZQoJICBBZGRzIGEgbmV3IHByb3BlcnR5IHRvIHF0bXV4IHRoYXQgc2V0cyBhIHBhdGggdG8gYSBmaWxlIHRvIHdyaXRlCgkgIGFuZCB1cGRhdGUgZGF0YSBhYm91dCB0aGUgbW9vdiBhdG9tICh0aGF0IGlzIG5vdCB3cml0ZW4gdGlsbCB0aGUKCSAgZW5kIG9mIHRoZSBmaWxlKS4gSWYgdGhlIHBpcGVsaW5lL2FwcCBjcmFzaGVzIGR1cmluZyBleGVjdXRpb24gaXQKCSAgbWlnaHQgYmUgcG9zc2libGUgdG8gcmVjb3ZlciB0aGUgbW92aWUgdXNpbmcgdGhlIHF0bW9vdnJlY292ZXIgZWxlbWVudC4KCSAgcXRtb292cmVjb3ZlciBpcyBhbiBlbGVtZW50IHRoYXQgaXMgYWxzbyBhIHBpcGVsaW5lLiBJdCBpcyBub3QKCSAgbWVhbnQgdG8gYmUgdXNlZCB3aXRoIG90aGVyIGVsZW1lbnRzIChpdCBoYXMgbm8gcGFkcykuIEl0IGlzIG1lcmVseQoJICBhIHRvb2wvdXRpbGl0YXJ5IHRvIHJlY292ZXIgdW5maW5pc2hlZCBxdG11eCBmaWxlcy4KCSAgRml4ZXMgIzYwMTU3NgoKMjAxMC0wMS0yNyAxOTowNjo1MyAtMDgwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHNvbmdiaXJkbmVzdC5jb20+CgoJKiBnc3QvcXVpY2t0aW1lL2F0b21zLmM6CgkgIHF0bXV4OiBmb3IgZml4ZWQtc2FtcGxlIHNpemUgc3RyZWFtcyAoUENNIGF1ZGlvLCBldGMpIGRvbid0IGFsbG9jYXRlIGFuIGVub3Jtb3VzIGJ1ZmZlciB0aGF0IHdlIHRoZW4gd29uJ3QgdXNlIGF0IGFsbC4KCjIwMTAtMDEtMjcgMTU6Mzc6MzcgLTA4MDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEBzb25nYmlyZG5lc3QuY29tPgoKCSogZ3N0L3F1aWNrdGltZS9nc3RxdG11eC5jOgoJICBxdG11eDogaGFuZGxlIG11eGluZyBhZHBjbSBjb3JyZWN0bHkuCgoyMDEwLTAxLTIyIDEzOjM2OjA0IC0wODAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAc29uZ2JpcmRuZXN0LmNvbT4KCgkqIGdzdC9xdWlja3RpbWUvYXRvbXMuYzoKCSAgcXRtdXg6IFNldCB0aGUgbWRpYSBoZGxyIG5hbWUgZmllbGQgdG8gd2hhdCBxdWlja3RpbWUgdXNlcy4gRml4IHdyaXRpbmcgaXQgc2luY2UgaXQncyBub3QgbnVsbC10ZXJtaW5hdGVkLiBJbXByb3ZlcyBjb21wYXRpYmlsaXR5IHdpdGggc29tZSBoYXJkd2FyZSBwbGF5ZXJzLgoKMjAxMC0wMS0yMiAxMzozMDowNyAtMDgwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHNvbmdiaXJkbmVzdC5jb20+CgoJKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBlbmRpYW5uZXNzIGluIGdzdHJlYW1lciBpcyBhbiBpbnQsIG5vdCBib29sZWFuLgoKMjAxMC0wMS0yNiAxNzo1NDoyOCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXVpY2t0aW1lL2F0b21zLmM6CgkqIGdzdC9xdWlja3RpbWUvYXRvbXMuaDoKCSAgcXRtdXg6IHN0cmVhbWxpbmUgbW9vdiBkYXRhIG1lbW9yeSBzdG9yYWdlCgkgIEluIHBhcnRpY3VsYXIsIHVzZSBhcnJheXMgcmF0aGVyIHRoYW4gKGRvdWJsZSkgbGlua2VkIGxpc3RzLgoKMjAxMC0wMS0yNiAxMzo0NDowNCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBnX2ZyZWUgaXMgTlVMTCBzYWZlCgoyMDEwLTAxLTIwIDEzOjMwOjQ4ICswMTAwICBCZW5qYW1pbiBPdHRlIDxvdHRlQHJlZGhhdC5jb20+CgoJKiBnc3QvcXVpY2t0aW1lL2Rlc2NyaXB0b3JzLmM6CgkqIGdzdC9xdWlja3RpbWUvZGVzY3JpcHRvcnMuaDoKCSogZ3N0L3F1aWNrdGltZS9wcm9wZXJ0aWVzLmM6CgkgIFtjbGVhbnVwXSBWYXJpb3VzIHN0eWxlIGFuZCBjbGVhbnVwcwoJICBWYXJpb3VzIGZpeGVzIGZvciBndGstZG9jIHdhcm5pbmdzIGFuZCBtYWtpbmcgZnVuY3Rpb25zIHdpdGhvdXQKCSAgYXJndW1lbnRzIHRha2Ugdm9pZCBhcyBwYXJhbWV0ZXIuCgoyMDEwLTAxLTE0IDA4OjA5OjAzIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdWlja3RpbWUvYXRvbXMuYzoKCSogZ3N0L3F1aWNrdGltZS9nc3RxdG11eC5jOgoJICBxdG11eDogQWN0dWFsbHkgdXNlIG5ldyBjYXBzIGluZm8gb24gcmVuZWdvdGlhdGlvbgoJICBGb2xsb3dpbmcgdGhlIHByZXZpb3VzIHF0bXV4IGNvbW1pdCwgdGhpcyBwYXRjaCB0cmllcwoJICB0byB1c2UgdGhlIG5ldyBpbmZvIGFkZGVkIHRvIHRoZSBjYXBzIHRvIGZpbGwgdGhlICd0cmFrJwoJICBhdG9tJ3MgZmllbGRzIGFuZCBjaGlsZHJlbiBhdG9tcy4gVGhpcyB3YXkgcXRtdXggd2lsbAoJICB1c2UgdGhlIGxhdGUgYWRkZWQgJ2NvZGVjX2RhdGEnIHdoZW4gaDI2NHBhcnNlIGFkZHMKCSAgaXQgaW4gdGhlIGZvbGxvd2luZyBwaXBlbGluZToKCSAgdmlkZW90ZXN0c3JjIG51bS1idWZmZXJzPTIwMCAhIHgyNjRlbmMgYnl0ZS1zdHJlYW09dHJ1ZSAhIFwKCSAgaDI2NHBhcnNlIG91dHB1dC1mb3JtYXQ9MCAhIHF0bXV4ICEgXAoJICBmaWxlc2luayBsb2NhdGlvbj10ZXN0Lm1vdgoKMjAxMC0wMS0xMyAyMzozMzo1MSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXVpY2t0aW1lL2F0b21zLmM6CgkqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IERvIGNhcHMgcmVuZWdvdGlhdGlvbiB3aGVuIGl0IG9ubHkgYWRkcyBmaWVsZHMKCSAgUXRtdXggY2FuIGFjY2VwdCBjYXBzIHJlbmVnb3RpYXRpb24gaWYgdGhlIG5ldyBjYXBzIGlzIGEKCSAgc3VwZXJzZXQgb2YgdGhlIG9sZCBvbmUsIG1lYW5pbmcgdXBzdHJlYW0gYWRkZWQgbmV3IGluZm8gdG8KCSAgdGhlIGNhcHMuIFRoaXMgcGF0Y2ggc3RpbGwgZG9lc24ndCBtYWtlIHF0bXV4IHVwZGF0ZSBhbnkKCSAgYXRvbXMgaW5mbyBmcm9tIHRoZSBuZXcgaW5mbywgYnV0IGF0IGxlYXN0IGl0IGRvZXNuJ3QKCSAgcmVqZWN0IHRoZSBuZXcgY2FwcyBhbnltb3JlLgoJICBBIHBpcGVsaW5lIHRoYXQgcmVwcm9kdWNlcyB0aGlzIHVzZSBjYXNlIGlzOgoJICB2aWRlb3Rlc3RzcmMgbnVtLWJ1ZmZlcnM9MjAwICEgeDI2NGVuYyBieXRlLXN0cmVhbT10cnVlICEgXAoJICBoMjY0cGFyc2Ugb3V0cHV0LWZvcm1hdD0wICEgcXRtdXggISBcCgkgIGZpbGVzaW5rIGxvY2F0aW9uPXRlc3QubW92CgoyMDEwLTAxLTEzIDE5OjMwOjQ1ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IHByb3ZpZGUgcmVxdWVzdCBwYWRzIHVuZGVyIHdpZGVyIGNvbmRpdGlvbnMKCSAgRml4ZXMgIzYwNjg1OS4KCjIwMTAtMDEtMTMgMTA6MzU6MDAgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F1aWNrdGltZS9nc3RxdG11eG1hcC5jOgoJICBxdG11eDogT25seSBhY2NlcHQgYXZjLXNhbXBsZSBoMjY0CgkgIHF0bXV4IGFuZCBtcDRtdXggc2hvdWxkIG9ubHkgYWNjZXB0IGgyNjQgaW4gYXZjLXNhbXBsZQoJICBmb3JtYXQKCjIwMTAtMDEtMTEgMTM6MTM6NDEgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F1aWNrdGltZS9nc3RxdG11eC5jOgoJKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4bWFwLmM6CgkgIFJlbmFtZSBhYWMncyBzdHJlYW0tZm9ybWF0ICdub25lJyB0byAncmF3JwoJICBSZW5hbWVzIGFhYydzIHN0cmVhbS1mb3JtYXQgZnJvbSBwcmV2aW91cyBjb21taXRzIGZyb20gbm9uZSB0bwoJICByYXcKCjIwMTAtMDEtMTEgMTA6MzQ6MzIgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F1aWNrdGltZS9nc3RxdG11eC5jOgoJKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4bWFwLmM6CgkgIHF0bXV4OiBPbmx5IGFjY2VwdCBzdHJlYW0tZm9ybWF0PSdub25lJyBhYWMKCSAgT25seSBhY2NlcHQgcmF3IGFhYyBzdHJlYW1zIChzdHJlYW0tZm9ybWF0PW5vbmUpIHRvIGF2b2lkCgkgIGdlbmVyYXRpbmcgaW52YWxpZCBmaWxlcy4KCSAgRml4ZXMgIzYwNDkyNQoKMjAwOS0xMi0yOCAxMTozNDozNSArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L3F1aWNrdGltZS9nc3RxdG11eC5oOgoJICBxdG11eDogYWxzbyBhZGQgLmggZmlsZSBjaGFuZ2VzIHRvIHVuYnJlYWsgdGhlIGJ1aWxkCgoyMDA5LTEyLTI3IDIzOjUxOjUwICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4LmM6CgkgIHF0bXV4OiB1c2UgY29ycmVjdCBuYW1lcyBmcm9tIHRlbXBsYXRlIGZvciByZXF1ZXN0IHBhZHMKCSAgVGhlIHBhZHMgd2hlcmUgbmFtZXMgcGFkMCwgcGFkMSwgLi4uCgoyMDA5LTEyLTI3IDIzOjMyOjU4ICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBtb3ZlIGVycm9ycyBfbmV3X3BhZCB0byB0aGUgZW5kCgoyMDA5LTEyLTIxIDEzOjU4OjMwIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IEFjY2VwdCBub24tcGFpcmVkIHVpbnQgdGFncwoJICBBZGRzIHN1cHBvcnQgZm9yIHVucGFpcmVkIHVuc2lnbmVkIGludGVyZ2VyIHRhZ3MKCjIwMDktMTItMjEgMTI6MDU6MzcgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F1aWNrdGltZS9mb3VyY2MuaDoKCSogZ3N0L3F1aWNrdGltZS9nc3RxdG11eC5jOgoJICBxdG11eDogQWRkcyBuZXcgdGFncwoJICBNYXBzIG1vcmUgdGFncyB0aGF0IGFyZSBhbHJlYWR5IHBvc3RlZCBieSBxdGRlbXV4CgkgIEZpeGVzICM1OTk3NTkKCjIwMDktMTItMTAgMjI6MjA6NDUgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F1aWNrdGltZS9hdG9tcy5jOgoJKiBnc3QvcXVpY2t0aW1lL2F0b21zLmg6CgkqIGdzdC9xdWlja3RpbWUvZm91cmNjLmg6CgkqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXguYzoKCSogZ3N0L3F1aWNrdGltZS9nc3RxdG11eC5oOgoJKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4bWFwLmM6CgkgIHF0bXV4OiBzdXBwb3J0IG1vcmUgb2YgajJrCgkgIFJlYWRzIHRoZSBuZXcgY2FwcyBhZGRlZCB0byBxdGRlbXV4IGJ5IGNvbW1pdAoJICBjOTE3ZDY1ZTZkZjBiNWQ1ODVmOTA1YzdhZDc4YThhMGE0NGIyY2IwCgkgIGFuZCBhZGRzIGl0cyBjb3JyZXNwb25kaW5nIGF0b21zLgoJICBBbHNvIGFkZHMgc3VwcG9ydCBmb3IgaW1hZ2UveC1qcGMgYXMgaXQgaXMgdGhlIHNhbWUKCSAgYXMgaW1hZ2UveC1qcDIsIGV4Y2VwdCB0aGF0IHRoZSBidWZmZXJzIG5lZWQgdG8gYmUKCSAgYm94ZWQgaW5zaWRlIGEganAyYyBpc29tIGJveCBiZWZvcmUgbXV4aW5nLiBUbyBzb2x2ZQoJICB0aGlzIHRoZSBRVFBhZHMgbm93IGhhdmUgYSBmdW5jdGlvbiB0aGF0IChpZgoJICBub3QgTlVMTCkgaXMgY2FsbGVkIHdoZW4gYSBidWZmZXIgaXMgY29sbGVjdGVkLiBUaGlzCgkgIGZ1bmN0aW9uIHJldHVybnMgYSByZXBsYWNlbWVudCB0byB0aGUgY3VycmVudCBjb2xsZWN0ZWQKCSAgYnVmZmVyLgoJICBGaXhlcyAjNTk4OTE2CgoyMDA5LTEyLTEwIDE2OjUzOjE5IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdWlja3RpbWUvZm91cmNjLmg6CgkqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXguYzoKCSogZ3N0L3F1aWNrdGltZS9nc3RxdG11eC5oOgoJICBxdG11eDogTWFwcyAnY2xhc3NpZmljYXRpb24nIHRhZyBmb3IgM2dwcCBmaWxlcwoJICBBZGRzIHRoZSBtYXBwaW5nIG9mICdjbGFzc2lmaWNhdGlvbicgdGFncyB0byB3cml0aW5nIG9mCgkgICdjbHNmJyBhdG9tcyBmb3IgZ3BwbXV4LgoJICBCYXNlZCBvbiBhIHBhdGNoIGJ5OiBMYXNzZSBMYXVra2FuZW4gPGV4dC1sYXNzZS4yLmxhdWtrYW5lbkBub2tpYS5jb20+CgoyMDA5LTEyLTA4IDE3OjU5OjA0IC0wODAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAc29uZ2JpcmRuZXN0LmNvbT4KCgkqIGdzdC9xdWlja3RpbWUvYXRvbXMuYzoKCSogZ3N0L3F1aWNrdGltZS9nc3RxdG11eC5jOgoJICBxdG11eDogcmVtb3ZlIGMrKyBjb21tZW50cyBhbmQgYWRkIHNvbWUgbW9yZSBjb21tZW50cy4KCjIwMDktMTItMDggMTc6NTU6NTYgLTA4MDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEBzb25nYmlyZG5lc3QuY29tPgoKCSogZ3N0L3F1aWNrdGltZS9hdG9tcy5jOgoJKiBnc3QvcXVpY2t0aW1lL2F0b21zLmg6CgkqIGdzdC9xdWlja3RpbWUvZm91cmNjLmg6CgkqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXguYzoKCSogZ3N0L3F1aWNrdGltZS9nc3RxdG11eG1hcC5jOgoJICBxdG11eDogYWRkIGltYSBhZHBjbSBzdXBwb3J0CgoyMDA5LTExLTI1IDIxOjQxOjI3IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IHJlcGxhY2UgX3NjYWxlIHdpdGggX3NjYWxlX3JvdW5kCgkgIFVzZSB0aGUgcm91bmRpbmcgdmVyc2lvbiBmb3IgaW1wcm92ZWQgc3luYyBiZXR3ZWVuIHN0cmVhbXMuCgkgIFNtYWxsIHZhcmlhdGlvbnMgaW4gdGhlIGR1cmF0aW9uIHdoZW4gbXV4aW5nIG1pZ2h0IGxlYWQgdG8KCSAgY3VtdWxsYXRpdmUgd3JvbmcgdGltZXN0YW1waW5nIHdoZW4gZGVtdXhpbmcuCgkgIEZpeGVzICM2MDI5MzYKCjIwMDktMTEtMjQgMTY6MTY6NTYgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F1aWNrdGltZS9nc3RxdG11eC5jOgoJICBxdG11eDogdXNlIHRpbWVzdGFtcHMgZm9yIG11eGluZwoJICBUcnkgdG8gdXNlIHRpbWVzdGFtcHMgZXZlbiB3aGVuIHRoZSBzdHJlYW0gaGFzIG91dCBvZiBvcmRlcgoJICB0aW1lc3RhbXBzLCBvbmx5IGZhbGwgYmFjayB0byBkdXJhdGlvbnMgd2hlbiB3ZSBkZXRlY3QgYW4KCSAgb3V0IG9mIG9yZGVyIGJ1ZmZlci4gSW1wcm92ZXMgc3luYyBiZXR3ZWVuIHN0cmVhbXMuCgoyMDA5LTExLTE5IDE4OjI4OjUyIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IGZpeCBtaXNzaW5nIGRlYnVnIGFyZ3VtZW50CgkgIEFkZHMgYSBtaXNzaW5nIGRlYnVnIGFyZ3VtZW50CgoyMDA5LTExLTE5IDExOjM2OjE0ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IGZpeCBtaXNpbmZvcm1pbmcgZGVidWcgc3RhdGVtZW50CgoyMDA5LTExLTE5IDExOjE0OjU3ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IGVuc3VyZSB3cml0YWJsZSBidWZmZXIgbWV0YWRhdGEgYmVmb3JlIHNldHRpbmcgY2FwcwoKMjAwOS0xMC0yOSAwODozNjowMiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXVpY2t0aW1lL2F0b21zLmM6CgkqIGdzdC9xdWlja3RpbWUvYXRvbXMuaDoKCSogZ3N0L3F1aWNrdGltZS9mb3VyY2MuaDoKCSogZ3N0L3F1aWNrdGltZS9nc3RxdG11eC5jOgoJKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4bWFwLmM6CgkgIHF0bXV4OiBzdXBwb3J0IGZvciBTVlEzCgkgIEFkZHMgc3VwcG9ydCBmb3IgbXV4aW5nIFNWUTMgY29udGVudC4gVXN1YWxseSB0aGlzIGZvcm1hdAoJICBoYXMgZGVjb2RlciBpbmZvIHRoYXQgbXVzdCBiZSBwYXNzZWQgaW4gdGhlICdzZXFoJyBmaWVsZAoJICBpbiB0aGUgY2Fwcy4gSXQgaXMgYWxzbyBnb29kIHRvIGFkZCB0aGUgZ2FtYSBhdG9tIHRvIG1ha2UKCSAgcXVpY2t0aW1lIG5vdCBjcmFzaC4KCSAgRml4ZXMgIzU4NzkyMgoKMjAwOS0xMS0xNyAwOToyNjowNSAtMDMwMCAgVGhpYWdvIFNvdXNhIFNhbnRvcyA8dGhpYWdvc3NAcmVkbW9vbi4obm9uZSk+CgoJKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBkbyBub3QgbGVhayBhIHN0cmluZwoJICBGcmVlcyBhIHN0cmluZyBhZnRlciB1c2UuIEFsc28gZG9lcyBzb21lIGNvZGUgb3JnYW5pemF0aW9uCgoyMDA5LTExLTE2IDE0OjU3OjUzIC0wMzAwICBUaGlhZ28gU291c2EgU2FudG9zIDx0aGlhZ29zc0ByZWRtb29uLihub25lKT4KCgkqIGdzdC9xdWlja3RpbWUvYXRvbXMuYzoKCSAgcXRtdXg6IGRvIG5vdCBhZGQgc2l6ZSB0byB0aGUgcG9pbnRlciB2YXJpYWJsZQoJICBEbyBub3Qgd3JvbmdseSBhZGQgdGhlIHJlc3VsdCBvZiB0aGUgZnVuY3Rpb24gdG8gdGhlCgkgIHBvaW50ZXIgdG8gdGhlIGJ1ZmZlciBzaXplLiBJbnN0ZWFkLCBjaGVjayB0aGUgcmVzdWx0CgkgIHRvIHNlZSBpZiB0aGUgc2VyaWFsaXphdGlvbiB3YXMgb2suCgkgIEJhc2VkIG9uIGEgcGF0Y2ggYnk6ICJDYXJzdGVuIEtyb2xsIDxjYXJAeGltaWRpLmNvbT4iCgkgIEZpeGVzICM2MDIxMDYKCjIwMDktMTEtMDYgMTA6MzQ6MzkgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F1aWNrdGltZS9hdG9tcy5jOgoJKiBnc3QvcXVpY2t0aW1lL2F0b21zLmg6CgkqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXguYzoKCSogZ3N0L3F1aWNrdGltZS9nc3RxdG11eC5oOgoJICBxdG11eDogaGFuZGxlICdsYXRlJyBzdHJlYW1zCgkgIFdoZW4gbXV4aW5nIHN0cmVhbXMsIHNvbWUgY2FuIHN0YXJ0IGxhdGVyIHRoYW4gb3RoZXJzLiBxdG11eAoJICBub3cgaGFuZGxlIHRoaXMgYnkgYWRkaW5nIGFuIGVtcHR5IGVkdHMgZW50cnkgd2l0aCB0aGUKCSAgZHVyYXRpb24gb2YgdGhlICdsYXRlbmVzcycgdG8gdGhlIHN0cmVhbSdzIHRyYWsuCgkgIEl0IHRvbGVyYXRlcyBhIHN0cmVhbSB0byBiZSB1cCB0byAwLjFzIGxhdGUuCgkgIEZpeGVzICM1ODY4NDgKCjIwMDktMTEtMDUgMjE6MzU6NTYgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F1aWNrdGltZS9hdG9tcy5jOgoJKiBnc3QvcXVpY2t0aW1lL2F0b21zLmg6CgkgIHF0bXV4OiBhZGRzIHRoZSBFRFRTIGFuZCBFTFRTIGF0b21zIHRvIGF0b21zLmMKCSAgVGhlc2UgYXRvbXMgd2lsbCBiZSB1c2VmdWwgZm9yIHNpZ25hbGluZyBzdHJlYW1zCgkgIHRoYXQgc3RhcnQgbGF0ZXIgaW4gdGhlIGZpbGUuIEFzIHdlbGwgZm9yIGFkZGluZwoJICBlZGl0IGxpc3RzIGlmIG5lZWRlZCBzb21ldGltZSBsYXRlci4KCjIwMDktMTEtMDYgMDA6NDY6MTIgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F1aWNrdGltZS9hdG9tcy5jOgoJKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBBZGRpbmcgc29tZSBpZnMgZm9yIHByb3RlY3Rpb24KCSAgQWRkaW5nIHNvbWVzIGlmcyB0byBwcm90ZWN0IGFnYWluc3Qgd2FybmluZyBjb25kaXRpb25zCgkgIHRoYXQgbWlnaHQgaGFwcGVuIHdoZW4gdXBzdHJlYW0gZWxlbWVudCBpcyBub3Qgc2FuZQoJICBGaXhlcyAjNjAwODk1CgoyMDA5LTEwLTE2IDEwOjQ3OjMyIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0BlbWJlZGRlZC51ZmNnLmVkdS5icj4KCgkqIGdzdC9xdWlja3RpbWUvZnR5cGNjLmg6CgkqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXguYzoKCSogZ3N0L3F1aWNrdGltZS9nc3RxdG11eC5oOgoJKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4bWFwLmM6CgkqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXhtYXAuaDoKCSAgZ3BwbXV4OiBBZGQgc3VwcG9ydCBmb3IgM2dyNgoJICBLZWVwIHRyYWNrIG9mIHRoZSBjaHVuayBkdXJhdGlvbnMgdG8gYmUgYWJsZSB0byBhZGQgM2dyNgoJICBicmFuZCBpZiBpdCBpcyBhIGZhc3RzdGFydCBmaWxlIGFuZCB0aGUgbG9uZ2VzdCBjaHVuayBpcwoJICBzbWFsbGVyIHRoYW4gYSBzZWMuIEltcGxlbWVudGVkIGFjY29yZGluZyB0byAzZ3BwCgkgIFRTIDI2LjI0NCB2Ni40LjAgKDIwMDUtMDkpCgkgIEZpeGVzICM1ODQzNjEKCjIwMDktMTAtMTUgMjE6MTE6MTYgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQGVtYmVkZGVkLnVmY2cuZWR1LmJyPgoKCSogZ3N0L3F1aWNrdGltZS9nc3RxdG11eC5jOgoJICBxdG11eDogT25seSBwdXNoIGZ0eXAgbGF0ZXIgKGluIGZhc3RzdGFydCBtb2RlKQoJICBJbiBmYXN0c3RhcnQgbW9kZSwgdGhlcmUgaXMgbm8gbmVlZCB0byBzZW5kIHRoZSBmdHlwCgkgIHJpZ2h0IGF0IHRoZSBiZWdpbm5pbmcgb2YgdGhlIHN0cmVhbS4gV2FpdGluZyBhbmQgc2VuZGluZyBpdAoJICBvbmx5IGxhdGVyICh3aGVuIHRoZSBtb292IGF0b20gaXMgcmVhZHkgdG8gYmUgc2VudCkgcHJvdmlkZXMKCSAgdXMgd2l0aCBtb3JlIGluZm9ybWF0aW9uIGFib3V0IHRoZSBzdHJlYW0gYW5kIHdlIGNhbiBiZXR0ZXIKCSAgc2VsZWN0IHRoZSBjb21wYXRpYmxlIGJyYW5kcy4KCjIwMDktMTAtMTUgMTc6NTE6MzkgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQGVtYmVkZGVkLnVmY2cuZWR1LmJyPgoKCSogZ3N0L3F1aWNrdGltZS9nc3RxdG11eC5jOgoJICBxdG11eDogSW1wcm92ZSBlcnJvciBtZXNzYWdlCgkgIEltcHJvdmUgZXJyb3IgbWVzc2FnZSB3aGVuIHdlIGNhbid0IGdldCBvciBlc3RpbWF0ZSB0aGUKCSAgdGltZXN0YW1wL2R1cmF0aW9uIG9mIGEgYnVmZmVyCgoyMDA5LTA5LTI5IDE1OjQ3OjEzICswMjAwICBNYXJjLUFuZHLDqSBMdXJlYXUgPG1sdXJlYXVAZmx1bW90aW9uLmNvbT4KCgkqIGdzdC9xdWlja3RpbWUvYXRvbXMuYzoKCSAgcXRtdXg6IGZpeCBmbGFnc19hc191aW50IHRvIGZsYWdzW10KCjIwMDktMDgtMDQgMTI6NTg6MzUgKzAyMDAgIEphbiBVcmJhbnNraSA8d3VsY3plckB3dWxjemVyLm9yZz4KCgkqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IERvbid0IHJlcXVpcmUgZW5kaWFubmVzcyBmaWVsZCBmb3IgOCBiaXQgcmF3IGF1ZGlvCgkgIEZpeGVzIGJ1ZyAjNTkwMzYwLgoKMjAwOS0wNi0yNSAwODozODoyMSArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9xdWlja3RpbWUvYXRvbXMuYzoKCSAgcXRtdXg6IFJlbW92ZSB1bnVzZWQgdmFyaWFibGUuCgoyMDA5LTA2LTI1IDA4OjM4OjEwICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L3F1aWNrdGltZS9nc3RxdG11eC5jOgoJICBxdG11eDogRml4IGRlYnVnIHN0YXRlbWVudC4KCjIwMDktMDYtMTEgMTU6NTQ6NDIgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F1aWNrdGltZS9hdG9tcy5jOgoJKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4LmM6CgkqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXguaDoKCSAgcXRtdXg6IG9ubHkgdXNlICg2NC1iaXQpIGV4dGVuZGVkIChtZGF0KSBhdG9tIHNpemUgaWYgbmVlZGVkLiAgRml4ZXMgIzU4NTMxOS4KCjIwMDktMDYtMTAgMTQ6NDY6MTQgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F1aWNrdGltZS9nc3RxdG11eC5jOgoJICBxdG11eDogc2V0IGRlZmF1bHQgbW92aWUgdGltZXNjYWxlIHRvIG1pY3Jvc2Vjb25kIHVuaXRzCgoyMDA5LTA2LTEwIDEzOjI0OjIwICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdWlja3RpbWUvYXRvbXMuYzoKCSAgcXRtdXg6IGNvbXByZXNzL29wdGltaXplIHN0c2Mgd3JpdGluZwoKMjAwOS0wNi0xMCAxMjo0Mjo0NCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXVpY2t0aW1lL2F0b21zLmM6CgkqIGdzdC9xdWlja3RpbWUvYXRvbXMuaDoKCSogZ3N0L3F1aWNrdGltZS9mb3VyY2MuaDoKCSogZ3N0L3F1aWNrdGltZS9nc3RxdG11eC5jOgoJKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4bWFwLmM6CgkgIHF0bXV4OiBhZGQgM0dQIHN0eWxlIHRhZ2dpbmcgKGFuZCByZWZhY3RvciBhcHByb3ByaWF0ZWx5KQoKMjAwOS0wNi0wMSAyMzowMDo0NCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXVpY2t0aW1lL2F0b21zLmM6CgkqIGdzdC9xdWlja3RpbWUvYXRvbXMuaDoKCSogZ3N0L3F1aWNrdGltZS9mb3VyY2MuaDoKCSogZ3N0L3F1aWNrdGltZS9nc3RxdG11eC5jOgoJICBxdG11eCAoYW5kIHZhcmlhbnRzKTogaGFuZGxlIHBpeGVsLWFzcGVjdC1yYXRpby4gIEZpeGVzICM1ODQzNTguCgoyMDA5LTA2LTAxIDIyOjQyOjA4ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdWlja3RpbWUvYXRvbXMuYzoKCSogZ3N0L3F1aWNrdGltZS9hdG9tcy5oOgoJKiBnc3QvcXVpY2t0aW1lL2Z0eXBjYy5oOgoJKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4bWFwLmM6CgkgIGdwcG11eDogZW5oYW5jZSBmdHlwIGJyYW5kIGhldXJpc3RpYy4gIEZpeGVzICM1ODQzNjAuCgoyMDA5LTA1LTI4IDEzOjU2OjEwICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdWlja3RpbWUvZm91cmNjLmg6CgkqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IHVzZSBkaWZmZXJlbnQgc3RzZCBhdG9tIHR5cGUgZm9yIEgyNjMgZm9yIElTTyBhbmQgUVQgdmFyaWFudHMKCSAgRml4ZXMgIzU4NDExNC4KCjIwMDktMDUtMTUgMDE6NTQ6NDQgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQGVtYmVkZGVkLnVmY2cuZWR1LmJyPgoKCSogZ3N0L3F1aWNrdGltZS9hdG9tcy5jOgoJICBbcXRtdXhdIEZpeGVzIHNlZ2ZhdWx0IHdoZW4gYWRkaW5nIGEgYmxvYiBhcyBmaXJzdCB0YWcuCgkgIE1vdmVzIHRhZ3MgZGF0YSBpbml0aWFsaXphdGlvbiB0byB0aGUgZnVuY3Rpb24gdGhhdCBhY3R1YWxseSBhcHBlbmRzCgkgIHRoZSB0YWdzIHRvIHRoZSBsaXN0LiBGaXhlcyAjNTgyNzAyCgkgIEFsc28gZml4ZXMgc29tZSBzdHlsZSBjYXVnaHQgYnkgdGhlIHByZS1jb21taXQgaG9vay4KCjIwMDktMDUtMTAgMjE6MjE6MzYgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F1aWNrdGltZS9nc3RxdG11eG1hcC5jOgoJICBncHBtdXg6IEFkZCBNUEVHLTQgcGFydCAyIHRvIHN1cHBvcnRlZCBmb3JtYXRzLiAgRml4ZXMgIzU4MTU5My4KCjIwMDktMDUtMDcgMTc6NTM6NDIgKzAxMDAgIENocmlzdGlhbiBTY2hhbGxlciA8Y2hyaXN0aWFuLnNjaGFsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXguYzoKCSAgQWRkIHJhbmtzIHRvIHZhcmlvdXMgbXV4ZXJzIGFuZCBlbmNvZGVycyBpbiAtYmFkCgoyMDA5LTA0LTMwIDE0OjQzOjM2IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0BlbWJlZGRlZC51ZmNnLmVkdS5icj4KCgkqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXhtYXAuYzoKCSAgcXRtdXg6IGNoYW5nZXMgY2FwcyBvZiBzcmMgcGFkcyB0byB2aWRlby9xdWlja3RpbWUsIHZhcmlhbnQ9c29tZXRoaW5nCgkgIFRha2UgYSBsb29rIGF0IGJ1ZyAjNTgwMDA1IGZvciBmdXJ0aGVyIGluZm8uCgoyMDA5LTA0LTI0IDE4OjUzOjM2IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0BlbWJlZGRlZC51ZmNnLmVkdS5icj4KCgkqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXhtYXAuYzoKCSAgbXA0bXV4OiBDaGFuZ2VzIHNyYyBjYXBzIHRvIGFwcGxpY2F0aW9uL3gtaXNvLW1wNAoJICBGaXhlcyAjNTgwMDA1CgoyMDA5LTAzLTI1IDIxOjI0OjQ0ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IGZpeCByZXVzaW5nIGVsZW1lbnQKCSAgU3RhdGUgY2hhbmdlIHRvIFJFQURZIGFuZCB0aGVuIGJhY2sgdG8gUEFVU0VEIHNob3VsZCBzdGlsbCBwcm92aWRlCgkgIHRoZSBwcm9wZXIgc3RydWN0dXJlcyBhcyBhcmUgb3RoZXJ3aXNlIGZyZXNobHkgYXZhaWxhYmxlIGZvbGxvd2luZwoJICBhIHJlcXVlc3RfbmV3X3BhZC4KCSAgUG9pbnRlZCBvdXQgYnkgVGhpYWdvIFNhbnRvcy4KCjIwMDktMDMtMjMgMTE6MTc6MzkgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBmaXggaW5jbHVkZXMgZm9yIGxzZWVrCgkgIC0tCgoyMDA5LTAzLTIwIDE0OjIwOjE2ICswMTAwICBMUk4gPGxybjE5ODYgYXQgZ21haWwgZG90IGNvbT4KCgkqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXguYzoKCSAgd2luMzI6IGZpeCBzZWVraW5nIGluIGxhcmdlIGZpbGVzCgkgIFVzZSBfbHNlZWtpNjQoKSBvbiBXaW5kb3dzIHRvIHNlZWsgaW4gbGFyZ2UgZmlsZXMuCgkgIEZpeGVzICM1NzYwMjEuCgoyMDA5LTAzLTAyIDEwOjU3OjM1ICswMTAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L3F1aWNrdGltZS9nc3RxdG11eC5jOgoJICBxdG11eDogQmUgYSBiaXQgbW9yZSB2ZXJib3NlIGluIG91ciBkZWJ1ZyBtZXNzYWdlIHdoZW4gZmFpbGluZyB0byByZW5lZ290aWF0ZQoKMjAwOS0wMS0yOCAxMzoyNToxNCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXVpY2t0aW1lL2F0b21zLmM6CgkqIGdzdC9xdWlja3RpbWUvYXRvbXMuaDoKCSogZ3N0L3F1aWNrdGltZS9nc3RxdG11eC5jOgoJKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4bWFwLmM6CgkgIEFkZGl0aW9uYWwgbWVkaWEgdHlwZSBzdXBwb3J0IGluIHF0bXV4IChhbmQgZnJpZW5kcykuCgkgIFN1cHBvcnQgQU1SIGFuZCBIMjYzIGZvciBib3RoIHF0bXV4IGFuZCBncHBtdXgsCgkgIGFuZCBhZGQgZXh0ZW5zaW9ucyBpbiBzYW1wbGUgdGFibGUgZGVzY3JpcHRpb24uCgoyMDA5LTAxLTA5IDIxOjU5OjQ4ICswMDAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkgIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXhtYXAuYzogQWRkIHZpZGVvL3gtcXQtcGFydCBhbmQgdmlkZW8veC1tNC1wYXJ0IHRvIGNhcHMgc28gc2Nocm9lbmMvc2Nocm9wYXJzZSBjYW4gdXNlIGl0LiAgRml4ZXMgIzUuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F1aWNrdGltZS9nc3RxdG11eG1hcC5jOiBBZGQgdmlkZW8veC1xdC1wYXJ0IGFuZCB2aWRlby94LW00LXBhcnQKCSAgdG8gY2FwcyBzbyBzY2hyb2VuYy9zY2hyb3BhcnNlIGNhbiB1c2UgaXQuICBGaXhlcyAjNTY2OTU4CgoyMDA4LTEyLTE5IDE4OjUzOjQ3ICswMDAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkgIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXguYzogRG8gbm90IHRlbXB0IG9yIHN1Z2dlc3QgdG8gdmlvbGF0ZSBnc3RfY29sbGVjdF9wYWRzIEFQSSBzcGVjaWZpY2F0aW9uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4LmM6IChnc3RfcXRfbXV4X2NoYW5nZV9zdGF0ZSk6CgkgIERvIG5vdCB0ZW1wdCBvciBzdWdnZXN0IHRvIHZpb2xhdGUgZ3N0X2NvbGxlY3RfcGFkcyBBUEkgc3BlY2lmaWNhdGlvbi4KCjIwMDgtMTItMTkgMTg6MzM6NDcgKzAwMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSAgZ3N0L3F1aWNrdGltZS86IER1YWwgbGljZW5zZSBxdG11eCBMR1BML01JVC4gIEZpeGVzICM1NjQyMzIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdWlja3RpbWUvYXRvbXMuYzoKCSAgKiBnc3QvcXVpY2t0aW1lL2F0b21zLmg6CgkgICogZ3N0L3F1aWNrdGltZS9kZXNjcmlwdG9ycy5jOgoJICAqIGdzdC9xdWlja3RpbWUvZGVzY3JpcHRvcnMuaDoKCSAgKiBnc3QvcXVpY2t0aW1lL2ZvdXJjYy5oOgoJICAqIGdzdC9xdWlja3RpbWUvZnR5cGNjLmg6CgkgICogZ3N0L3F1aWNrdGltZS9nc3RxdG11eC5jOgoJICAqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXguaDoKCSAgKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4bWFwLmM6CgkgICogZ3N0L3F1aWNrdGltZS9nc3RxdG11eG1hcC5oOgoJICAqIGdzdC9xdWlja3RpbWUvcHJvcGVydGllcy5jOgoJICAqIGdzdC9xdWlja3RpbWUvcHJvcGVydGllcy5oOgoJICBEdWFsIGxpY2Vuc2UgcXRtdXggTEdQTC9NSVQuICBGaXhlcyAjNTY0MjMyLgoKMjAwOC0xMi0xNiAxNjoyNjo1MiArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgVG90YWxseSByZW1vdmUgdGhlIGludGVybmFsIHRhZ2xpc3RzIGFuZCBmdWxseSB1c2UgdGFnc2V0dGVyLiBGaXhlcyB2YXJpb3VzIHRhZyBtdXhpbmcgaXNzdWVzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvY2VsdC9nc3RjZWx0ZW5jLmM6CgkgICogZXh0L2NlbHQvZ3N0Y2VsdGVuYy5oOgoJICAqIGV4dC9tZXRhZGF0YS9nc3RtZXRhZGF0YW11eC5jOgoJICAqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXguYzoKCSAgKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4Lmg6CgkgIFRvdGFsbHkgcmVtb3ZlIHRoZSBpbnRlcm5hbCB0YWdsaXN0cyBhbmQgZnVsbHkgdXNlIHRhZ3NldHRlci4gRml4ZXMKCSAgdmFyaW91cyB0YWcgbXV4aW5nIGlzc3Vlcy4KCjIwMDgtMTItMDEgMTY6Mzc6NDUgKzAwMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSAgZ3N0L3F1aWNrdGltZS9hdG9tcy5jOiBGaXggbWoyIHNhbXBsZSBkZXNjcmlwdGlvbiBtZXRhZGF0YSBjb25zdHJ1Y3Rpb24uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdWlja3RpbWUvYXRvbXMuYzogKGJ1aWxkX2pwMmhfZXh0ZW5zaW9uKToKCSAgRml4IG1qMiBzYW1wbGUgZGVzY3JpcHRpb24gbWV0YWRhdGEgY29uc3RydWN0aW9uLgoKMjAwOC0xMS0xOCAwMTowOTowOSArMDAwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJICBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4LmM6IFF1aWV0IGEgZGVidWdnaW5nIG1lc3NhZ2UgdGhhdCBJIHJlY2VudGx5IGFkZGVkLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4LmM6IFF1aWV0IGEgZGVidWdnaW5nIG1lc3NhZ2UgdGhhdCBJIHJlY2VudGx5CgkgIGFkZGVkLgoKMjAwOC0xMS0xNSAwMjo1NjozMSArMDAwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJICBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4Lio6IFVzZSBkdHMgZnJvbSBHU1RfQlVGRkVSX09GRlNFVF9FTkQoKSBmb3IgdmlkZW8veC1xdC1wYXJ0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4LmM6CgkgICogZ3N0L3F1aWNrdGltZS9nc3RxdG11eC5oOgoJICBVc2UgZHRzIGZyb20gR1NUX0JVRkZFUl9PRkZTRVRfRU5EKCkgZm9yIHZpZGVvL3gtcXQtcGFydC4KCjIwMDgtMTEtMTQgMjE6MjQ6NTEgKzAwMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSAgZ3N0L3F1aWNrdGltZS86IFJldmVydCBwcmV2aW91cyBjb21taXQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdWlja3RpbWUvYXRvbXMuYzoKCSAgKiBnc3QvcXVpY2t0aW1lL2F0b21zLmg6CgkgICogZ3N0L3F1aWNrdGltZS9kZXNjcmlwdG9ycy5jOgoJICAqIGdzdC9xdWlja3RpbWUvZGVzY3JpcHRvcnMuaDoKCSAgKiBnc3QvcXVpY2t0aW1lL2ZvdXJjYy5oOgoJICAqIGdzdC9xdWlja3RpbWUvZnR5cGNjLmg6CgkgICogZ3N0L3F1aWNrdGltZS9nc3RxdG11eC5jOgoJICAqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXguaDoKCSAgKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4bWFwLmM6CgkgICogZ3N0L3F1aWNrdGltZS9nc3RxdG11eG1hcC5oOgoJICAqIGdzdC9xdWlja3RpbWUvcHJvcGVydGllcy5jOgoJICAqIGdzdC9xdWlja3RpbWUvcHJvcGVydGllcy5oOgoJICBSZXZlcnQgcHJldmlvdXMgY29tbWl0LgoKMjAwOC0xMS0xNCAyMDozODoxOCArMDAwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJICBnc3QvcXVpY2t0aW1lLzogRHVhbCBsaWNlbnNlIExHUEwvTUlULCBhcyBhcHBhcmVudGx5IHN1cHBvc2VkIHRvLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXVpY2t0aW1lL2F0b21zLmM6CgkgICogZ3N0L3F1aWNrdGltZS9hdG9tcy5oOgoJICAqIGdzdC9xdWlja3RpbWUvZGVzY3JpcHRvcnMuYzoKCSAgKiBnc3QvcXVpY2t0aW1lL2Rlc2NyaXB0b3JzLmg6CgkgICogZ3N0L3F1aWNrdGltZS9mb3VyY2MuaDoKCSAgKiBnc3QvcXVpY2t0aW1lL2Z0eXBjYy5oOgoJICAqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXguYzoKCSAgKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4Lmg6CgkgICogZ3N0L3F1aWNrdGltZS9nc3RxdG11eG1hcC5jOgoJICAqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXhtYXAuaDoKCSAgKiBnc3QvcXVpY2t0aW1lL3Byb3BlcnRpZXMuYzoKCSAgKiBnc3QvcXVpY2t0aW1lL3Byb3BlcnRpZXMuaDoKCSAgRHVhbCBsaWNlbnNlIExHUEwvTUlULCBhcyBhcHBhcmVudGx5IHN1cHBvc2VkIHRvLgoKMjAwOC0xMS0xNCAyMDoxNzoxMCArMDAwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJICBnc3QvcXVpY2t0aW1lLzogQ3V0IGRldG91ciBpbiBzYW1wbGUgZGVzY3JpcHRpb24gZXh0ZW5zaW9uIGNvbnN0cnVjdGlvbi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F1aWNrdGltZS9hdG9tcy5jOiAoYnVpbGRfZXNkc19leHRlbnNpb24pLAoJICAoYnVpbGRfbW92X2FhY19leHRlbnNpb24pLCAoYnVpbGRfanAyaF9leHRlbnNpb24pLAoJICAoYnVpbGRfY29kZWNfZGF0YV9leHRlbnNpb24pOgoJICAqIGdzdC9xdWlja3RpbWUvYXRvbXMuaDoKCSAgKiBnc3QvcXVpY2t0aW1lL2ZvdXJjYy5oOgoJICAqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXguYzogKGdzdF9xdF9tdXhfYXVkaW9fc2lua19zZXRfY2FwcyksCgkgIChnc3RfcXRfbXV4X3ZpZGVvX3Npbmtfc2V0X2NhcHMpOgoJICAqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXhtYXAuYzogKGdzdF9xdF9tdXhfbWFwX2Zvcm1hdF90b19oZWFkZXIpOgoJICBDdXQgZGV0b3VyIGluIHNhbXBsZSBkZXNjcmlwdGlvbiBleHRlbnNpb24gY29uc3RydWN0aW9uLgoJICBBbHNvIGFjdHVhbGx5IGltcGxlbWVudCBJU08gSlBFRzIwMDAgbWoyIGZvcm1hdC4KCjIwMDgtMTEtMTEgMTk6MzE6MzUgKzAwMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSAgdGVzdHMvY2hlY2svOiBBZGQgdW5pdCB0ZXN0IGZvciBxdG11eC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvcXRtdXguYzogKHNldHVwX3NyY19wYWQpLAoJICAodGVhcmRvd25fc3JjX3BhZCksIChzZXR1cF9xdG11eCksIChjbGVhbnVwX3F0bXV4KSwKCSAgKGNoZWNrX3F0bXV4X3BhZCksIChHU1RfU1RBUlRfVEVTVCksIChxdG11eF9zdWl0ZSksIChtYWluKToKCSAgQWRkIHVuaXQgdGVzdCBmb3IgcXRtdXguCgoyMDA4LTExLTExIDE5OjI0OjEyICswMDAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkgIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXguYzogQWRkIHNvbWUgbW9yZSBzYWZldHkvc2FuaXR5IGNoZWNrcyBpbiB0YWcgbWFuaXB1bGF0aW9uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4LmM6IChnc3RfcXRfbXV4X2FkZF9tZXRhZGF0YV90YWdzKToKCSAgQWRkIHNvbWUgbW9yZSBzYWZldHkvc2FuaXR5IGNoZWNrcyBpbiB0YWcgbWFuaXB1bGF0aW9uLgoKMjAwOC0xMS0wOCAwMjowMDo1OCArMDAwMCAgVGhpYWdvIFNvdXNhIFNhbnRvcyA8dGhpYWdvc3NhbnRvc0BnbWFpbC5jb20+CgoJICBDb3B5IHF0bXV4IGZyb20gcmV2aXNpb24gMTQ4IG9mIHRoZSBnc3QtcXRtdXggcmVwb3NpdG9yeS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHBhdGNoIGJ5OiBUaGlhZ28gU291c2EgU2FudG9zIDx0aGlhZ29zc2FudG9zQGdtYWlsLmNvbT4KCSAgKiBjb25maWd1cmUuYWM6CgkgICogZ3N0L3F1aWNrdGltZS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvcXVpY2t0aW1lL2F0b21zLmM6CgkgICogZ3N0L3F1aWNrdGltZS9hdG9tcy5oOgoJICAqIGdzdC9xdWlja3RpbWUvZGVzY3JpcHRvcnMuYzoKCSAgKiBnc3QvcXVpY2t0aW1lL2Rlc2NyaXB0b3JzLmg6CgkgICogZ3N0L3F1aWNrdGltZS9mb3VyY2MuaDoKCSAgKiBnc3QvcXVpY2t0aW1lL2Z0eXBjYy5oOgoJICAqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXguYzoKCSAgKiBnc3QvcXVpY2t0aW1lL2dzdHF0bXV4Lmg6CgkgICogZ3N0L3F1aWNrdGltZS9nc3RxdG11eG1hcC5jOgoJICAqIGdzdC9xdWlja3RpbWUvZ3N0cXRtdXhtYXAuaDoKCSAgKiBnc3QvcXVpY2t0aW1lL3Byb3BlcnRpZXMuYzoKCSAgKiBnc3QvcXVpY2t0aW1lL3Byb3BlcnRpZXMuaDoKCSAgQ29weSBxdG11eCBmcm9tIHJldmlzaW9uIDE0OCBvZiB0aGUgZ3N0LXF0bXV4IHJlcG9zaXRvcnkuCgkgIEZpeGVzICM1NTAyODAuCgoyMDExLTA0LTEyIDE4OjI1OjM0ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIEFuZHJvaWQubWs6CgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcXVpY2t0aW1lLnhtbDoKCSogZ3N0L3F0ZGVtdXgvTEVHQUw6CgkqIGdzdC9xdGRlbXV4L01ha2VmaWxlLmFtOgoJKiBnc3QvcXRkZW11eC9nc3RydHB4cXRkZXBheS5jOgoJKiBnc3QvcXRkZW11eC9nc3RydHB4cXRkZXBheS5oOgoJKiBnc3QvcXRkZW11eC9xdGF0b21wYXJzZXIuaDoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4Lmg6CgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXgudmNwcm9qOgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4X2R1bXAuYzoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eF9kdW1wLmg6CgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXhfZm91cmNjLmg6CgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXhfbGFuZy5jOgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4X2xhbmcuaDoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eF90eXBlcy5jOgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4X3R5cGVzLmg6CgkqIGdzdC9xdGRlbXV4L3F0cGFsZXR0ZS5oOgoJKiBnc3QvcXRkZW11eC9xdWlja3RpbWUuYzoKCSogZ3N0L3F1aWNrdGltZS9MRUdBTDoKCSogZ3N0L3F1aWNrdGltZS9NYWtlZmlsZS5hbToKCSogZ3N0L3F1aWNrdGltZS9nc3RydHB4cXRkZXBheS5jOgoJKiBnc3QvcXVpY2t0aW1lL2dzdHJ0cHhxdGRlcGF5Lmg6CgkqIGdzdC9xdWlja3RpbWUvcXRhdG9tcGFyc2VyLmg6CgkqIGdzdC9xdWlja3RpbWUvcXRkZW11eC5jOgoJKiBnc3QvcXVpY2t0aW1lL3F0ZGVtdXguaDoKCSogZ3N0L3F1aWNrdGltZS9xdGRlbXV4LnZjcHJvajoKCSogZ3N0L3F1aWNrdGltZS9xdGRlbXV4X2R1bXAuYzoKCSogZ3N0L3F1aWNrdGltZS9xdGRlbXV4X2R1bXAuaDoKCSogZ3N0L3F1aWNrdGltZS9xdGRlbXV4X2ZvdXJjYy5oOgoJKiBnc3QvcXVpY2t0aW1lL3F0ZGVtdXhfbGFuZy5jOgoJKiBnc3QvcXVpY2t0aW1lL3F0ZGVtdXhfbGFuZy5oOgoJKiBnc3QvcXVpY2t0aW1lL3F0ZGVtdXhfdHlwZXMuYzoKCSogZ3N0L3F1aWNrdGltZS9xdGRlbXV4X3R5cGVzLmg6CgkqIGdzdC9xdWlja3RpbWUvcXRwYWxldHRlLmg6CgkqIGdzdC9xdWlja3RpbWUvcXVpY2t0aW1lLmM6CgkqIHBvL1BPVEZJTEVTLmluOgoJICBxdGRlbXV4OiByZW5hbWUgZGlyZWN0b3J5IHRvIHF1aWNrdGltZSB0byBtYXRjaCBwbHVnaW4gbmFtZQoJICBJbiBwcmVwYXJhdGlvbiBmb3IgcXRtdXggbW92aW5nIHRvIC1nb29kLgoKMjAxMS0wNC0xMiAxMTo0OTo1NCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6CgkgIGZsdmRlbXV4OiBzaW1wbGlmeSBmcmFtZXJhdGUgZnJhY3Rpb24gY2FsY3VsYXRpb24KCjIwMTEtMDEtMjQgMTU6NDU6MjggLTA2MDAgIExlb25hcmRvIFNhbmRvdmFsIDxsc2FuZG92YWxAdGkuY29tPgoKCSogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOgoJKiBnc3QvZmx2L2dzdGZsdmRlbXV4Lmg6CgkgIGZsdmRlbXV4OiBhZGQgd2lkdGgsIGhlaWdodCBhbmQgZnJhbWVyYXRlIHRvIGNhcHMgd2hlbiBwcmVzZW50IG9uIG9uTWV0YURhdGEKCSAgRml4ZXMgIzY0MDQ4My4KCjIwMTAtMDgtMjQgMTM6NTc6NTUgKzAyMDAgIFBhc2NhbCBCdWhsZXIgPHBhc2NhbC5idWhsZXJAdGFuZGJlcmcuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc3NyY2RlbXV4LmM6CgkgIHJ0cHNzcmNkZW11eDogVW5rbm93biBTU1JDIGlzIG5vdCBmYXRhbAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjQ2OTY2CgoyMDEwLTA4LTI0IDEzOjU0OjU4ICswMjAwICBQYXNjYWwgQnVobGVyIDxwYXNjYWwuYnVobGVyQHRhbmRiZXJnLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSAgcnRwc2Vzc2lvbjogTnVtYmVyIG9mIGFjdGl2ZSBzb3VyY2VzIHNob3VsZCBiZSB1cGRhdGVkIHdoZW5ldmVyIHRoZSBzdGF0dXMgb2YgdGhlIHNvdXJjZSBjaGFuZ2VzIHRvIGFjdGl2ZQoJICBGb3J3YXJkLXBvcnRlZCBieSBPbGl2aWVyIENyw6p0ZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjQ2OTY1CgoyMDEwLTA2LTIzIDExOjI5OjU4ICswMjAwICBIYXZhcmQgR3JhZmYgPGhhdmFyZC5ncmFmZkB0YW5kYmVyZy5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkgIHJ0cG1hbmFnZXI6IGlnbm9yZSBhIEJZRSBpZiBpdCBpcyBzZW50IHdpdGggb3VyIGludGVybmFsIFNTUkMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY0Njk2NAoKMjAxMC0wMS0yOSAwOTo0OTo0OCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IEFkZHMgbW9yZSBoMjY0IGZpZWxkcyB0byBpdHMgY2FwcwoJICBBZGRzIGFsaWdubWVudD1hdSBhbmQgc3RyZWFtLWZvcm1hdD1hdmMgdG8gaDI2NCBjYXBzCgkgIEZpeGVzICM2MDY2NjIKCjIwMTEtMDQtMTEgMTI6NDQ6MTkgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L2phY2svZ3N0amFja2F1ZGlvc2luay5jOgoJKiBleHQvamFjay9nc3RqYWNrYXVkaW9zcmMuYzoKCSAgamFjazogYWxzbyBoYW5kbGUgZGVwcmVjYXRpb25zIGZvciBqYWNrIDEuOS43CgkgIEphY2sgMS45Ljcgd2FzIHJlbGVhc2VkIDIwLk1hci4yMDExLCBuZWVkIHRvIGhhbmRsZSB0aGUgZGVwcmVjYXRlZCBhcGkgZm9yIHRoaXMKCSAgdmVyc2lvbiB0b28uCgoyMDExLTA0LTExIDAwOjM2OjM1IC0wNDAwICBUaGliYXVsdCBTYXVuaWVyIDx0aGliYXVsdC5zYXVuaWVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdG1mL01ha2VmaWxlLmFtOgoJICBhbmRyb2lkOiBtYWtlIGl0IHJlYWR5IGZvciBhbmRyb2dlbml6ZXIKCSAgUmVtb3ZlIHRoZSBhbmRyb2lkLyB0b3AgZGlyCgkgIEZpeGUgdGhlIE1ha2VmaWxlLmFtIHRvIGJlIGFuZHJvZ2VuaXplZAoJICBUbyBidWlsZCBnc3RyZWFtZXIgZm9yIGFuZHJvaWQgd2UgYXJlIG5vdyB1c2luZyBhbmRyb2dlbml6ZXIgd2hpY2ggZ2VuZXJhdGVzIHRoZSBuZWVkZWQgQW5kcm9pZC5tayBmaWxlcy4KCSAgQW5kcm9nZW5pemVyIGNhbiBiZSBmb3VuZCBoZXJlOiBodHRwOi8vZ2l0LmNvbGxhYm9yYS5jby51ay8/cD11c2VyL2RlcmVrL2FuZHJvZ2VuaXplci5naXQKCjIwMTEtMDQtMTAgMTg6NTY6NTIgLTA0MDAgIFRoaWJhdWx0IFNhdW5pZXIgPHRoaWJhdWx0LnNhdW5pZXJAY29sbGFib3JhLmNvLnVrPgoKCSogQW5kcm9pZC5tazoKCSogYW5kcm9pZC9OT1RJQ0U6CgkqIGFuZHJvaWQvYXBldGFnLm1rOgoJKiBhbmRyb2lkL2F2aS5tazoKCSogYW5kcm9pZC9mbHYubWs6CgkqIGFuZHJvaWQvZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLW1hcnNoYWwuYzoKCSogYW5kcm9pZC9nc3QvcnRwbWFuYWdlci9nc3RydHBiaW4tbWFyc2hhbC5oOgoJKiBhbmRyb2lkL2dzdC91ZHAvZ3N0dWRwLWVudW10eXBlcy5jOgoJKiBhbmRyb2lkL2dzdC91ZHAvZ3N0dWRwLWVudW10eXBlcy5oOgoJKiBhbmRyb2lkL2dzdC91ZHAvZ3N0dWRwLW1hcnNoYWwuYzoKCSogYW5kcm9pZC9nc3QvdWRwL2dzdHVkcC1tYXJzaGFsLmg6CgkqIGFuZHJvaWQvaWN5ZGVtdXgubWs6CgkqIGFuZHJvaWQvaWQzZGVtdXgubWs6CgkqIGFuZHJvaWQvcXRkZW11eC5tazoKCSogYW5kcm9pZC9ydHAubWs6CgkqIGFuZHJvaWQvcnRwbWFuYWdlci5tazoKCSogYW5kcm9pZC9ydHNwLm1rOgoJKiBhbmRyb2lkL3NvdXAubWs6CgkqIGFuZHJvaWQvdWRwLm1rOgoJKiBhbmRyb2lkL3dhdmVuYy5tazoKCSogYW5kcm9pZC93YXZwYXJzZS5tazoKCSogZ3N0L2FscGhhL01ha2VmaWxlLmFtOgoJKiBnc3QvYXBldGFnL01ha2VmaWxlLmFtOgoJKiBnc3QvYXVkaW9meC9NYWtlZmlsZS5hbToKCSogZ3N0L2F1cGFyc2UvTWFrZWZpbGUuYW06CgkqIGdzdC9hdXRvZGV0ZWN0L01ha2VmaWxlLmFtOgoJKiBnc3QvYXZpL01ha2VmaWxlLmFtOgoJKiBnc3QvY3V0dGVyL01ha2VmaWxlLmFtOgoJKiBnc3QvZGVidWd1dGlscy9NYWtlZmlsZS5hbToKCSogZ3N0L2RlaW50ZXJsYWNlL01ha2VmaWxlLmFtOgoJKiBnc3QvZWZmZWN0di9NYWtlZmlsZS5hbToKCSogZ3N0L2VxdWFsaXplci9NYWtlZmlsZS5hbToKCSogZ3N0L2Zsdi9NYWtlZmlsZS5hbToKCSogZ3N0L2ZseC9NYWtlZmlsZS5hbToKCSogZ3N0L2dvb20vTWFrZWZpbGUuYW06CgkqIGdzdC9nb29tMmsxL01ha2VmaWxlLmFtOgoJKiBnc3QvaWN5ZGVtdXgvTWFrZWZpbGUuYW06CgkqIGdzdC9pZDNkZW11eC9NYWtlZmlsZS5hbToKCSogZ3N0L2ltYWdlZnJlZXplL01ha2VmaWxlLmFtOgoJKiBnc3QvaW50ZXJsZWF2ZS9NYWtlZmlsZS5hbToKCSogZ3N0L2xhdy9NYWtlZmlsZS5hbToKCSogZ3N0L2xldmVsL01ha2VmaWxlLmFtOgoJKiBnc3QvbWF0cm9za2EvTWFrZWZpbGUuYW06CgkqIGdzdC9tb25vc2NvcGUvTWFrZWZpbGUuYW06CgkqIGdzdC9tdWx0aWZpbGUvTWFrZWZpbGUuYW06CgkqIGdzdC9tdWx0aXBhcnQvTWFrZWZpbGUuYW06CgkqIGdzdC9xdGRlbXV4L01ha2VmaWxlLmFtOgoJKiBnc3QvcmVwbGF5Z2Fpbi9NYWtlZmlsZS5hbToKCSogZ3N0L3J0cC9NYWtlZmlsZS5hbToKCSogZ3N0L3J0cG1hbmFnZXIvTWFrZWZpbGUuYW06CgkqIGdzdC9ydHNwL01ha2VmaWxlLmFtOgoJKiBnc3Qvc2hhcGV3aXBlL01ha2VmaWxlLmFtOgoJKiBnc3Qvc21wdGUvTWFrZWZpbGUuYW06CgkqIGdzdC9zcGVjdHJ1bS9NYWtlZmlsZS5hbToKCSogZ3N0L3VkcC9NYWtlZmlsZS5hbToKCSogZ3N0L3ZpZGVvYm94L01ha2VmaWxlLmFtOgoJKiBnc3QvdmlkZW9jcm9wL01ha2VmaWxlLmFtOgoJKiBnc3QvdmlkZW9maWx0ZXIvTWFrZWZpbGUuYW06CgkqIGdzdC92aWRlb21peGVyL01ha2VmaWxlLmFtOgoJKiBnc3Qvd2F2ZW5jL01ha2VmaWxlLmFtOgoJKiBnc3Qvd2F2cGFyc2UvTWFrZWZpbGUuYW06CgkqIGdzdC95NG0vTWFrZWZpbGUuYW06CgkgIGFuZHJvaWQ6IE1ha2UgaXQgcmVhZHkgZm9yIGFuZHJvZ2VuaXplcgoJICBSZW1vdmUgdGhlIGFuZHJvaWQvIHRvcCBkaXIKCSAgRml4ZSB0aGUgTWFrZWZpbGUuYW0gdG8gYmUgYW5kcm9nZW5pemVkCgkgIFRvIGJ1aWxkIGdzdHJlYW1lciBmb3IgYW5kcm9pZCB3ZSBhcmUgbm93IHVzaW5nIGFuZHJvZ2VuaXplciB3aGljaCBnZW5lcmF0ZXMgdGhlIG5lZWRlZCBBbmRyb2lkLm1rIGZpbGVzLgoJICBBbmRyb2dlbml6ZXIgY2FuIGJlIGZvdW5kIGhlcmU6IGh0dHA6Ly9naXQuY29sbGFib3JhLmNvLnVrLz9wPXVzZXIvZGVyZWsvYW5kcm9nZW5pemVyLmdpdAoKMjAxMS0wNC0wNSAyMToxNDo0MyArMDIwMCAgSGFha29uIFNwb3JzaGVpbSA8aGFha29uLnNwb3JzaGVpbUBnbWFpbC5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGdzdHBheS5jOgoJICBydHBnc3RwYXk6IGRlY2xhcmUgZnJhZ19vZmZzZXQgdG8gaG9sZCAzMmJpdHMuCgkgIEFzIHNwZWNpZmllZCBpbiBkb2N1bWVuYXRpb24gYWJvdmUgYW5kIGJlbG93LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjQ2OTU0CgoyMDExLTA0LTA5IDEyOjQxOjQ4ICswMjAwICBIYXZhcmQgR3JhZmYgPGhhdmFyZC5ncmFmZkB0YW5kYmVyZy5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6CgkgIHJ0cHNlc3Npb246IGZpeCB3cm9uZ2x5IGFwcGxpZWQgcGF0Y2gKCSAgT2J2aW91c2x5IHJlY3ZfcnRwX3NpbmsgZG9lcyBub3QgaGF2ZSBtdWNoIHRvIGRvIHdpdGggc2VuZF9ydGNwX3NyYy4uLgoJICBTZWUgY29tbWl0IDA0NmZmMTcwLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjQ3MjYzCgoyMDExLTA0LTA4IDE1OjU5OjU4ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWFjcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYzNwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFtcnBhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZGNhcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RtcGVnYXVkaW9wYXJzZS5jOgoJICBhdWRpb3BhcnNlcnM6IHVwZGF0ZSBmb3Igc2V0X2ZyYW1lX3Byb3BzIC0+IHNldF9mcmFtZV9yYXRlIEFQSSBjaGFuZ2UKCjIwMTEtMDQtMDggMDA6MDM6MjEgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzLy5naXRpZ25vcmU6CgkgIHRlc3RzOiBob29rIHVwIGF1ZGlvcGFyc2VyIHVuaXQgdGVzdHMKCjIwMTEtMDQtMDcgMTg6MzA6NDkgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RtcGVnYXVkaW9wYXJzZS5jOgoJICBtcGVnYXVkaW9wYXJzZTogcmVsYXggc3luYyBtYXRjaCBhIGJpdCB3aGVuIGRyYWluaW5nCgkgIC4uLiB0byBhdCBsZWFzdCBhbGxvdyBpbml0aWFsIGNhcHMgY2hhbmdlIChidXQgbm8gZnVydGhlciBjYXBzIGppdHRlcikuCgkgIEZpeGVzIHVuaXQgdGVzdCBhZ2FpbiBhZnRlciBwcmV2aW91cyBjaGFuZ2UuCgoyMDExLTA0LTA3IDE1OjIxOjEwICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaW50ZXJmYWNlczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5wcmVyZXF1aXNpdGVzOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXZpLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhaXJvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tYXRyb3NrYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tb25vc2NvcGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5nLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvNGxpbnV4Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2ZpbHRlci54bWw6CgkgIGRvY3M6IHVwZGF0ZSBmb3IgY2hhbmdlcyBpbiBnaXQKCjIwMTEtMDQtMDcgMTU6MjA6MTkgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb3BhcnNlcnMueG1sOgoJICBkb2NzOiBhZGQgYXVkaW9wYXJzZXJzIHRvIGRvY3MKCjIwMTEtMDQtMDcgMTU6MDc6MTUgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYWNwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFhY3BhcnNlLmg6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YW1ycGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhbXJwYXJzZS5oOgoJKiBnc3QvYXVkaW9wYXJzZXJzL3BsdWdpbi5jOgoJICBhYWNwYXJzZSwgYW1ycGFyc2U6IGdzdF9mb29wYXJzZV94eXogLT4gZ3N0X2Zvb19wYXJzZV94eXogdG8gbWF0Y2ggR3N0Rm9vUGFyc2UKCSAgU2VlIG1vdmluZy1wbHVnaW5zIGNoZWNrbGlzdC4KCjIwMTEtMDQtMDcgMTQ6NDM6NDIgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QvYXVkaW9wYXJzZXJzL01ha2VmaWxlLmFtOgoJKiBnc3QvYXVkaW9wYXJzZXJzL3BsdWdpbi5jOgoJICBhdWRpb3BhcnNlcnM6IGhvb2sgdXAgdG8gYnVpbGQKCjIwMTEtMDQtMDcgMTM6MjY6NDEgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9NYWtlZmlsZS5hbToKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYWNwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFhY3BhcnNlLmg6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWMzcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYzNwYXJzZS5oOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFtcnBhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YW1ycGFyc2UuaDoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RkY2FwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGRjYXBhcnNlLmg6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZmxhY3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZmxhY3BhcnNlLmg6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0bXBlZ2F1ZGlvcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RtcGVnYXVkaW9wYXJzZS5oOgoJICBhdWRpb3BhcnNlcnM6IHBvcnQgdG8gbmV3IEdzdEJhc2VQYXJzZSBpbiBjb3JlCgoyMDExLTA0LTA0IDIwOjU1OjM5ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0bXBlZ2F1ZGlvcGFyc2UuYzoKCSAgbXBlZ2F1ZGlvcGFyc2U6IHJlcXVpcmUgdGlnaHRlciBzeW5jIG1hdGNoIHdoZW4gZHJhaW5pbmcKCjIwMTEtMDQtMDEgMTQ6NDc6NDMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RtcGVnYXVkaW9wYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdG1wZWdhdWRpb3BhcnNlLmg6CgkgIG1wZWdhdWRpb3BhcnNlOiBQYXJzZSBlbmNvZGVyIGRlbGF5IGFuZCBlbmNvZGVyIHBhZGRpbmcgZnJvbSB0aGUgTEFNRSBoZWFkZXIgaWYgcHJlc2VudAoKMjAxMS0wMy0wOSAyMzowNjoxNCArMDUzMCAgQXJ1biBSYWdoYXZhbiA8YXJ1bi5yYWdoYXZhbkBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL3BsdWdpbi5jOgoJICBkY2FwYXJzZTogQnVtcCByYW5rIHRvIHByaW1hcnkrMQoJICBTZWVtcyB0byB3b3JrIGZpbmUgd2l0aCBhIHJlYXNvbmFibHkgd2lkZSByYW5nZSBvZiBtZWRpYSwgc28gYnVtcGluZwoJICByYW5rLgoKMjAxMS0wMy0yMyAyMjowMjozNyArMDUzMCAgQXJ1biBSYWdoYXZhbiA8YXJ1bi5yYWdoYXZhbkBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGRjYXBhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZGNhcGFyc2UuaDoKCSAgZGNhcGFyc2U6IEV4cG9zZSBmcmFtZSBzaXplIGluIGNhcHMKCSAgVGhpcyBleHBvcnRzIHRoZSBzaXplIG9mIHRoZSBmcmFtZSAobnVtYmVyIG9mIGJ5dGVzIGZyb20gb25lIHN5bmMgcG9pbnQKCSAgdG8gdGhlIG5leHQpIGFzIHRoZSAiZnJhbWVfc2l6ZSIgZmllbGQgaW4gY2Fwcy4KCjIwMTEtMDMtMDkgMjM6MDM6MTAgKzA1MzAgIEFydW4gUmFnaGF2YW4gPGFydW4ucmFnaGF2YW5AY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RkY2FwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGRjYXBhcnNlLmg6CgkgIGRjYXBhcnNlOiBFeHBvc2UgYmxvY2sgc2l6ZSBpbiBjYXBzCgkgIFRoaXMgc2V0cyB0aGUgImJsb2NrX3NpemUiIGZpZWxkIG9uIGNhcHMgYXMgdGhlIG51bWJlciBvZiBzYW1wbGVzCgkgIGVuY29kZWQgaW4gb25lIGZyYW1lLgoKMjAxMS0wMy0xNiAxNTo1MzoxMyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdG1wZWdhdWRpb3BhcnNlLmM6CgkgIG1wZWdhdWRpb3BhcnNlOiBhZGQgRklYTUUgZm9yIG1ha2luZyB0aGUgYmFzZSBjbGFzcyB1c2UgeGluZyBzZWVrIHRhYmxlcyBiZXR0ZXIKCjIwMTEtMDMtMTQgMTg6MjU6MjUgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RkY2FwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGRjYXBhcnNlLmg6CgkgIGRjYXBhcnNlOiBBZGQgZGVwdGggYW5kIGVuZGlhbm5lc3MgdG8gdGhlIGNhcHMKCSAgU29tZSBkZWNvZGVycyBjYW4gb25seSBoYW5kbGUgc3BlY2lmaWMgZW5kaWFubmVzcyBvciBhIGZpeGVkCgkgIGRlcHRoIGFuZCB0aGlzIGFsbG93cyBiZXR0ZXIgbmVnb3RpYXRpb24uCgkgIEZpeGVzIGJ1ZyAjNjQ0MjA4LgoKMjAxMS0wMi0yNiAxMzo1Mzo0NCAtMDgwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFhY3BhcnNlLmM6CgkgIFJldmVydCAiYWFjcGFyc2U6IGFsbG93IHBhcnNlZCBmcmFtZXMgb24gc2luayBwYWQiCgkgIFRoaXMgcmV2ZXJ0cyBjb21taXQgZTQ5Yjg5ZDVjNWExMjQ0ZmEwZGNiOGJiNDk5NmUzOGZiOWJmZjllNS4KCjIwMTEtMDItMjMgMTc6MjU6MDMgLTA4MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYWNwYXJzZS5jOgoJICBhYWNwYXJzZTogYWxsb3cgcGFyc2VkIGZyYW1lcyBvbiBzaW5rIHBhZAoKMjAxMC0xMC0xMyAxNjoxMjowMiAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9wYXJzZXIuYzoKCSAgdGVzdHM6IGZpeCBiYXNlcGFyc2UgdGVzdAoKMjAxMC0xMC0xMyAxNTozOTo1NSAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL01ha2VmaWxlLmFtOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFhY3BhcnNlLmg6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWMzcGFyc2UuaDoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhbXJwYXJzZS5oOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5oOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGRjYXBhcnNlLmg6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZmxhY3BhcnNlLmg6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0bXBlZ2F1ZGlvcGFyc2UuaDoKCSAgYmFzZXBhcnNlOiBDcmVhdGUgYmFzZXBhcnNlIGxpYnJhcnkKCjIwMTEtMDItMDcgMTQ6NDY6NTcgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiB0dW5lIFFVRVJZX1NFRUtJTkcgcmVzcG9uc2UKCSAgRXZlbiBpZiB3ZSBjdXJyZW50bHkgZG8gbm90IGhhdmUgYSBkdXJhdGlvbiB5ZXQsIGFzc3VtZSBzZWVrYWJsZSBpZgoJICBpdCBsb29rcyBsaWtlIHdlJ2xsIGxpa2VseSBiZSBhYmxlIHRvIGRldGVybWluZSBpdCBsYXRlciBvbgoJICAod2hpY2ggY29pbmNpZGVzIHdpdGggbmVlZGVkIGluZm9ybWF0aW9uIHRvIHBlcmZvcm0gc2Vla2luZykuCgkgIEZpeGVzICM2NDEwNDcuCgoyMDExLTAyLTA4IDIzOjM5OjI0ICswNTMwICBBcnVuIFJhZ2hhdmFuIDxhcnVuLnJhZ2hhdmFuQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkgIGJhc2VwYXJzZTogVXBkYXRlIG1pbi9tYXggYml0cmF0ZSBiZWZvcmUgZmlyc3QgcG9zdGluZyB0aGVtCgkgIFRoaXMgYXZvaWRzIHBvc3RpbmcgYW4gaW5pdGlhbCBtaW4tYml0cmF0ZSBvZiBHX1VJTlRNQVggYW5kIG1heC1iaXRyYXRlCgkgIG9mIDAuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NDE4NTcKCjIwMTEtMDItMDggMjM6NTA6MTMgKzA1MzAgIEFydW4gUmFnaGF2YW4gPGFydW4ucmFnaGF2YW5AY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RtcGVnYXVkaW9wYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdG1wZWdhdWRpb3BhcnNlLmg6CgkgIG1wZWdhdWRpb3BhcnNlOiBQb3N0IENCUiBiaXRyYXRlIGFzIG5vbWluYWwgYml0cmF0ZQoJICBFdmVuIGlmIFZCUiBoZWFkZXJzIGFyZSBtaXNzaW5nLCB3ZSBjYW4ndCBndWFyYW50ZWUgdGhhdCBhIHN0cmVhbSBpcyBpbgoJICBmYWN0IGEgQ0JSIHN0cmVhbSwgc28gaXQncyBzYWZlciB0byBsZXQgYmFzZXBhcnNlIGNhbGN1bGF0ZSB0aGUgYXZlcmFnZQoJICBiaXRyYXRlIHJhdGhlciB0aGFuIGFzc3VtZSBhIENCUiBzdHJlYW0uIEhvd2V2ZXIsIGluIG9yZGVyIHRvIG1ha2UKCSAgL3NvbWUvIG1ldGFkYXRhIGF2YWlsYWJsZSBiZWZvcmUgdGhlIHJlcXVpc2l0ZSBudW1iZXIgb2YgZnJhbWVzIGhhdmUKCSAgYmVlbiBwYXJzZWQsIHRoaXMgcG9zdHMgdGhlIGJpdHJhdGUgZnJvbSB0aGUgbm9uLVZCUiBoZWFkZXJzIGFzIHRoZQoJICBub21pbmFsIGJpdHJhdGUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NDE4NTgKCjIwMTAtMDktMDYgMTQ6MTA6MTEgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhbXJwYXJzZS5jOgoJICBhbXJwYXJzZTogYSB2YWxpZCBhbXItd2IgZnJhbWUgc2hvdWxkIG5vdCBoYXZlIHJlc2VydmVkIGZyYW1lIHR5cGUgaW5kZXgKCSAgU2VlICM2Mzk3MTUuCgoyMDExLTAxLTI3IDE2OjUyOjM0ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWMzcGFyc2UuYzoKCSAgYWMzcGFyc2U6IGltcHJvdmUgaGFuZGxpbmcgb2YgZGVwZW5kZW50IHN1YnN0cmVhbSBmcmFtZXMKCSAgSW4gcGFydGljdWxhciwgdGltZXN0YW1wcyBvZiB0aGVzZSBzaG91bGQgdHJhY2sgbWFpbi1zdHJlYW0gdGltZXN0YW1wcy4KCjIwMTEtMDEtMjEgMTQ6NTM6MzkgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiB0dW5lIGRlZmF1bHQgZHVyYXRpb24gZXN0aW1hdGUgdXBkYXRlIGludGVydmFsCgkgIFJhdGhlciB0aGFuIGEgZml4ZWQgZGVmYXVsdCBmcmFtZSBjb3VudCwgZXN0aW1hdGUgZnJhbWUgY291bnQgdG8gYWltIGZvcgoJICBhbiBpbnRlcnZhbCBkdXJhdGlvbiBkZXBlbmRpbmcgb24gZnBzIGlmIGF2YWlsYWJsZSwgb3RoZXJ3aXNlIHVzZSBvbGQKCSAgZml4ZWQgZGVmYXVsdC4KCjIwMTEtMDEtMTQgMTU6MTY6MDQgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiByZXZlcnNlIHBsYXliYWNrOyBtaW5kIGtleWZyYW1lcyBmb3IgZnJhZ21lbnQgYm91bmRhcnkKCjIwMTEtMDEtMTMgMTU6MjY6MjEgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhbXJwYXJzZS5jOgoJICBhbXJwYXJzZTogcHJvcGVybHkgY2hlY2sgZm9yIHN1ZmZpY2llbnQgYXZhaWxhYmxlIGRhdGEgcHJpb3IgdG8gYWNjZXNzCgoyMDExLTAxLTEyIDE0OjQwOjM3ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkgIGJhc2VwYXJzZTogZW5zdXJlIG5vbi1lbXB0eSBjYW5kaWRhdGUgZnJhbWVzCgoyMDExLTAxLTExIDE1OjI0OjIzICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkgIGJhc2VwYXJzZTogY2xhcmlmeSBzb21lIGRlYnVnIHN0YXRlbWVudHMKCjIwMTEtMDEtMTEgMTU6MjQ6MDIgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiBwcm9wZXJseSB0cmFjayB1cHN0cmVhbSB0aW1lc3RhbXBzCgkgIC4uLiByYXRoZXIgdGhhbiB3aXRoIGEgZGVsYXkuCgoyMDExLTAxLTExIDE1OjIzOjI5ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkgIGJhc2VwYXJzZTogbmVlZCBwcm9wZXIgZnJhbWUgZHVyYXRpb24gdG8gb2J0YWluIHNlbnNpYmxlIGZyYW1lIGJpdHJhdGUKCjIwMTEtMDEtMTEgMTU6MjI6NTEgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiBwcm9wZXIgaW5pdGlhbCB2YWx1ZXMgZm9yIGluZGV4IHRyYWNraW5nIHZhcmlhYmxlcwoKMjAxMS0wMS0xMSAxMjowNToxMyArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJICBiYXNlcGFyc2U6IGFycmFuZ2UgZm9yIGNvbnNpc3RlbnQgZXZlbnQgaGFuZGxpbmcKCjIwMTEtMDEtMTAgMTY6NTk6NTkgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuaDoKCSAgYmFzZXBhcnNlOiBoZWFkZXIgc3R5bGUgY2xlYW5pbmcKCjIwMTEtMDEtMTAgMTc6MDc6MzggKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiBwcm92aWRlIHNvbWUgbW9yZSBpbml0aWFsIGZyYW1lIG1ldGFkYXRhIGluIHBhcnNlX2ZyYW1lCgkgIC4uLiBhbmQgZG9jdW1lbnQgYWNjb3JkaW5nbHkuCgoyMDExLTAxLTEwIDE2OjU2OjM2ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWFjcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuaDoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RmbGFjcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiByZWZhY3RvciBwYXNzdGhyb3VnaCBpbnRvIGZvcm1hdCBmbGFncwoJICBBbHNvIGFkZCBhIGZvcm1hdCBmbGFnIHRvIHNpZ25hbCBiYXNlcGFyc2UgdGhhdCBzdWJjbGFzcy9mb3JtYXQgY2FuIHByb3ZpZGUKCSAgKHBhcnNlZCkgdGltZXN0YW1wIHJhdGhlciB0aGFuIGFuIGVzdGltYXRlZCBvbmUuICBJbiBwYXJ0aWN1bGFyLCBzdWNoICJzdHJvbmciCgkgIHRpbWVzdGFtcCB0aGVuIGFsbG93cyB0byBlLmcuIGRldGVybWluZSBkdXJhdGlvbi4KCjIwMTEtMDEtMTAgMTU6MzQ6NDggKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYWNwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFjM3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YW1ycGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuaDoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RkY2FwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdG1wZWdhdWRpb3BhcnNlLmM6CgkgIGJhc2VwYXJzZTogaW50cm9kdWNlIGEgYmFzZXBhcnNlIGZyYW1lIHRvIHNlcnZlIGFzIGNvbnRleHQKCSAgLi4uIGFuZCBhZGp1c3Qgc3ViY2xhc3MgcGFyc2VycyBhY2NvcmRpbmdseQoKMjAxMS0wMS0wNyAxNjozOTo1MSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5oOgoJICBiYXNlcGFyc2U6IHJlc3RyaWN0IGR1cmF0aW9uIHNjYW5uaW5nIHRvIHB1bGwgbW9kZSBhbmQgYXZvaWQgZXh0cmEgc2V0X2NhcHMgY2FsbAoKMjAxMS0wMS0wNyAxNTo1ODo0OSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5oOgoJICBiYXNlcGFyc2U6IHVwZGF0ZSBzb21lIGRvY3VtZW50YXRpb24KCSAgQWxzbyBhZGQgc29tZSBtb3JlIGRlYnVnLgoKMjAxMS0wMS0wNiAxMTo0MTo0NCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJICBiYXNlcGFyc2U6IGFsbG93IGluY3JlYXNpbmcgbWluX3NpemUgZm9yIGN1cnJlbnQgZnJhbWUgcGFyc2luZyBvbmx5CgkgIEFsc28gY2hlY2sgdGhhdCBzdWJjbGFzcyBhY3R1YWxseSBlaXRoZXIgZGlyZWN0cyB0byBza2lwIGJ5dGVzIG9yCgkgIGluY3JlYXNlcyBleHBlY3RlZCBmcmFtZSBzaXplIHRvIGF2b2lkIGdvaW5nIG5vd2hlcmUgaW4gYm9ndXMKCSAgaW5kZWZpbml0ZSBsb29waW5nLgoKMjAxMS0wMS0xNCAxNToyNjozNyArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJICBiYWVzcGFyc2U6IGZpeCByZWZhY3RvciByZWdyZXNzaW9uIGluIGxvb3AgYmFzZWQgcGFyc2luZwoKMjAxMS0wMS0wNiAxMToxNjo1NiArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJICBiYXNlcGFyc2U6IHBhc3MgYWxsIGF2YWlsYWJsZSBkYXRhIHRvIHN1YmNsYXNzIHJhdGhlciB0aGFuIG1pbmltdW0KCSAgQWxzbyByZWR1Y2Ugc29tZSBhZGFwdGVyIGNhbGxzIGFuZCBhZGQgYSBmZXcgZGVidWcgc3RhdGVtZW50cy4KCjIwMTAtMTItMTAgMTU6NTk6NDkgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiBmaXggcmV2ZXJzZSBwbGF5YmFjayBoYW5kbGluZwoKMjAxMC0xMi0xMCAxNDo1NjoxMyArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJICBiYXNlcGFyc2U6IG1pbm9yIHR5cG8gYW5kIGRlYnVnIHN0YXRlbWVudCBjbGVhbnVwCgoyMDEwLTEyLTEwIDE0OjQwOjA1ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmg6CgkgIGJhc2VwYXJzZTogcmVkdWNlIGxvY2tpbmcKCSAgLi4uIHdoaWNoIGlzIGVpdGhlciBhbHJlYWR5IG11dGUgYW5kL29yIGltcGxpY2l0bHkgaGFuZGxlZCBieSBTVFJFQU1fTE9DSy4KCjIwMTEtMDEtMTQgMTQ6MDg6MzggKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiBhdm9pZCBsb29wIGluIGZyYW1lIGxvY2F0aW5nIGludGVycG9sYXRpb24KCjIwMTEtMDEtMTkgMTg6MjY6MzAgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RmbGFjcGFyc2UuYzoKCSAgZmxhY3BhcnNlOiBtaW5kIGdzdF9idWZmZXJfdW5yZWYgbm90IGxpa2luZyBOVUxMCgkgIEZpeGVzICM2Mzk5NTAuCgoyMDExLTAxLTE0IDE2OjMwOjExIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkgIGF1ZGlvcGFyc2VyczogYmFzZXBhcnNlOiBCZSBjYXJlZnVsIHRvIG5vdCBsb3NlIHRoZSBldmVudCByZWYKCSAgRG9uJ3QgdW5yZWYgdGhlIGV2ZW50IGlmIGl0IGhhc24ndCBiZWVuIGhhbmRsZWQsIGJlY2F1c2UgdGhlIGNhbGxlcgoJICBhc3N1bWVzIGl0IGlzIHN0aWxsIHZhbGlkIGFuZCBtaWdodCByZXVzZSBpdC4KCSAgSSByYW4gaW50byB0aGlzIHByb2JsZW0gd2hlbiB0cmFuc2NvZGluZyBhbiBBVkkgKHdpdGggbXAzIGluc2lkZSkKCSAgdG8gZ3BwLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjM5NTU1CgoyMDExLTAxLTEzIDE3OjEwOjEzICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZGNhcGFyc2UuYzoKCSAgZGNhcGFyc2U6IGZpeCBzeW5jIHdvcmQgZm9yIDE0LWJpdCBsaXR0bGUgZW5kaWFuIGNvZGluZwoJICBGaXggY29weSduJ3Bhc3RlIGJ1ZyB0aGF0IG1hZGUgdXMgbG9vayBmb3IgdGhlIHJhdyBsaXR0bGUgZW5kaWFuCgkgIHN5bmMgd29yZCB0d2ljZSBpbnN0ZWFkIG9mIGxvb2tpbmcgZm9yIHRoZSAxNC1iaXQgTEUgc3luYyB3b3JkCgkgIGFzIHdlbGwuIEZpeGVzIHBhcnNpbmcgb2Ygc3VjaCBzdHJlYW1zIChzZWUgIzYzNjIzNCBmb3Igc2FtcGxlIGZpbGUpLgoKMjAxMS0wMS0xMyAxNjoyNzowNCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJICBkb2NzOiBtaW5vciBiYXNlcGFyc2UgZG9jcy9jb21tZW50IGZpeGVzCgkgIFJlbW92ZSBjb3B5J24ncGFzdGUgbGVmdG92ZXJzLgoKMjAxMS0wMS0wNiAxMjo0OTo0MyArMDEwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5jOgoJICBmbGFjcGFyc2U6IEZpeCB1bml0aWFsaXplZCB2YXJpYWJsZSBvbiBtYWNvc3gKCjIwMTAtMTItMTMgMTU6MTc6MjkgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYzNwYXJzZS5jOgoJICBhYzNwYXJzZTogcmVsYXggYnNpZCBjaGVja2luZwoJICAuLi4gdG8gdGhlIHdpZGVzdCBwb3NzaWJsZSBzcGVjIGludGVycHJldGF0aW9uLgoJICBGaXhlcyAjNjM3MDYyLgoKMjAxMC0xMi0wMyAxODoxMTo1NiArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFhY3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWMzcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhbXJwYXJzZS5jOgoJICBhdWRpb3BhcnNlcnM6IHVwZGF0ZSBzb21lIGRvY3VtZW50YXRpb24KCjIwMTAtMTItMDMgMTg6MTE6MzggKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RtcGVnYXVkaW9wYXJzZS5jOgoJICBtcGVnYXVkaW9wYXJzZTogYWRkIHRvIGRvY3VtZW50YXRpb24KCjIwMTAtMTItMDMgMTg6MTE6MDkgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RkY2FwYXJzZS5jOgoJICBkY2FwYXJzZTogYWRkIHRvIGRvY3VtZW50YXRpb24KCjIwMTAtMTEtMDggMTk6NTg6MzEgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiBpbmNyZWFzZSBrZXlmcmFtZSBhd2FyZW5lc3MKCSAgLi4uIHdoaWNoIGlzIG5vdCBwYXJ0aWN1bGFyIHJlbGV2YW50IGZvciBhdWRpbyBwYXJzaW5nLCBidXQgbW9yZSBzbwoJICBpbiB2aWRlbyBjYXNlcy4gIEluIHBhcnRpY3VsYXIsIGF1dG8tZGV0ZXJtaW5lIGlmIGRlYWxpbmcgd2l0aCB2aWRlbyAoY2FwcykuCgoyMDEwLTEyLTAxIDE1OjI4OjUzICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWMzcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYzNwYXJzZS5oOgoJICBhYzNwYXJzZTogdXNlIHByb3BlciBFQUMtMyBjYXBzCgoyMDEwLTExLTMwIDE1OjQxOjAyICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkgIGJhc2VwYXJzZTogYXZvaWQgdW5leHBlY3RlZCBzdHJheSBtZXRhZGF0YQoKMjAxMC0xMS0zMCAxNTo0MDoyOCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJICBiYXNlcGFyc2U6IHVzZSBwcm9wZXIgX05PTkUgb3V0cHV0IHZhbHVlIHdoZW4gYXBwbGljYWJsZQoKMjAxMC0xMS0yNSAxODo1Njo0MiArMDEwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWFjcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhbXJwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJICBhdWRpb3BhcnNlcnM6IFJlbW92ZSBkZWFkIGFzc2lnbm1lbnRzCgoyMDEwLTExLTI1IDE3OjE0OjIzICswMTAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPGFtb3JhbGVzQGZsdW1vdGlvbi5jb20+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJICBhdWRpb3BhcnNlOiBmaXggcG9zc2libGUgZGl2aXNpb24tYnktemVybwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjM1Nzg2CgoyMDEwLTExLTE3IDE2OjIzOjQyICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkgIGJhc2VwYXJzZTogdXNlIGNvcnJlY3Qgb2Zmc2V0IHdoZW4gYWRkaW5nIGluZGV4IGVudHJ5CgkgIC4uLiBiZWFyaW5nIGluIG1pbmQgdGhhdCBCVUZGRVJfT0ZGU0VUIGlzIG1lZGlhIHNwZWNpZmljIGFuZCBtYXkgbm90CgkgIHJlZmxlY3QgdGhlIGJhc2ljIG9mZnNldCBhZnRlciBoYXZpbmcgYmVlbiBwYXJzZWQuCgoyMDEwLTExLTE3IDE0OjMwOjA5ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkgIGJhc2VwYXJzZTogZW5oYW5jZW1lbnRzIGZvciB0aW1lc3RhbXAgbWFya2VkIGZyYW1lZCBmb3JtYXRzCgkgIFRoYXQgaXMsIGFzIHN1Y2ggZm9ybWF0cyBhbGxvdyBzdWJjbGFzcyB0byBleHRyYWN0IHBvc2l0aW9uIGZyb20gZnJhbWUsCgkgIGl0IGlzIHBvc3NpYmxlIHRvIGV4dHJhY3QgZHVyYXRpb24gKGlmIG5vdCBvdGhlcndpc2UgcHJvdmlkZWQpCgkgIGZyb20gKG5lYXIpIGxhc3QgZnJhbWUsIGFuZCBhIHNlZWsgY2FuIGZhaXJseSBhY2N1cmF0ZWx5IHRhcmdldCB0aGUgcmVxdWlyZWQKCSAgcG9zaXRpb24uCgkgIEZpeGVzICM2MzEzODkuCgoyMDEwLTExLTE2IDE3OjA2OjE0ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkgIGJhc2VwYXJzZTogcmVmYWN0b3IgZnJhbWUgc2Nhbm5pbmcgcGVmb3JtZWQgYnkgX2xvb3AKCjIwMTAtMTEtMTYgMTg6MDQ6MDAgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiBzbGlnaHRseSBvcHRpbWl6ZSBzZW5kaW5nIG9mIHBlbmRpbmcgbmV3c2VnbWVudCBldmVudHMKCjIwMTAtMTEtMTYgMTc6MDQ6MzUgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiBtaW5vciBmaXhlcyBhbmQgZW5oYW5jZW1lbnRzCgkgIEFycmFuZ2UgZm9yIHVwc3RyZWFtIGFzIHdlbGwgYXMgZG93bnN0cmVhbSBmbHVzaGluZyB3aGVuIHNlZWtpbmcuCgkgIEFsc28gZGV0ZXJtaW5lIHVwc3RyZWFtIHNpemUgYXMgd2VsbCBhcyBzZWVrYWJpbGl0eS4gIEFkanVzdCBzb21lIGNvbW1lbnRzCgkgIHRvIHJlYWxpdHkgYW5kIGVtcGxveSBkZWJ1ZyBzdGF0ZW1lbnQgaW4gcHJvcGVyIG9yZGVyLgoKMjAxMC0xMS0xNyAxNTozMzozNiArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFhY3BhcnNlLmM6CgkgIGFhY3BhcnNlOiBtaW5vciBjbGVhbnVwcwoKMjAxMC0xMS0xNyAxNToyNDozNyArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFhY3BhcnNlLmM6CgkgIGFhY3BhcnNlOiBmaXggcmVncmVzc2lvbiBpbiBBRElGIHNyYyBjYXBzIHNldHRpbmcKCjIwMTAtMTEtMTYgMTI6MTE6NTMgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RmbGFjcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RmbGFjcGFyc2UuaDoKCSAgZmxhY3BhcnNlOiBwYXJzZSBzZWVrdGFibGUKCSAgRml4ZXMgIzYzMTM4OSAocGFydGlhbGx5KS4KCjIwMTAtMTEtMTYgMTI6MDg6NTQgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RmbGFjcGFyc2UuYzoKCSAgZmxhY3BhcnNlOiBtaW5vciByZWZhY3RvciBhbmQgZW5hYmxlIGRlZmF1bHQgYmFzZXBhcnNlIHNlZ21lbnQgY2xpcHBpbmcKCjIwMTAtMTEtMDkgMTk6Mzg6MjUgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RtcGVnYXVkaW9wYXJzZS5jOgoJICBtcGVnYXVkaW9wYXJzZTogZml4IHNpbGx5IGxlYWsgaW4gX3Jlc2V0CgoyMDEwLTEwLTI5IDE0OjA4OjU4ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkgIGJhc2VwYXJzZTogdXNlIG9ubHkgdXBzdHJlYW0gZHVyYXRpb24gaWYgaXQgcHJvdmlkZXMgb25lCgoyMDEwLTEwLTI1IDE0OjE1OjUwICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkgIGJhc2VwYXJzZTogcmVmbG93IHVwZGF0ZV9iaXRyYXRlIGNvZGUKCSAgLi4uIHdoaWNoIG1ha2VzIGxvY2FsIHZhcmlhYmxlcyByZXByZXNlbnQgcmVhbCBzdGF0ZSBiZXR0ZXIsIGFuZCBhdm9pZHMKCSAgdHJpZ2dlcmluZyB1bm5lZWRlZCB1cGRhdGVzL2FjdGlvbnMuCgoyMDEwLTEwLTI1IDE0OjEzOjUxICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkgIGJhc2VwYXJzZTogYWRkIHNvbWUgZGVidWcgc3RhdGVtZW50cwoKMjAxMC0xMC0xOSAyMzoyNTo1NCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGRjYXBhcnNlLmM6CgkgIGRjYXBhcnNlOiBpbml0IHZhcmlhYmxlIHRvIG1ha2Ugb3N4IGJ1aWxkIGJvdCBoYXBweQoJICBnc3RkY2FwYXJzZS5jOiBJbiBmdW5jdGlvbiAnZ3N0X2RjYV9wYXJzZV9jaGVja192YWxpZF9mcmFtZSc6CgkgIGdzdGRjYXBhcnNlLmM6MjQ2OiB3YXJuaW5nOiAnYmVzdF9zeW5jJyBtYXkgYmUgdXNlZCB1bmluaXRpYWxpemVkIGluIHRoaXMgZnVuY3Rpb24KCjIwMTAtMTAtMTkgMDA6MTU6MjAgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9NYWtlZmlsZS5hbToKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RkY2FwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGRjYXBhcnNlLmg6CgkqIGdzdC9hdWRpb3BhcnNlcnMvcGx1Z2luLmM6CgkgIGF1ZGlvcGFyc2VyczogYWRkIHZlcnkgYmFzaWMgZHRzL2RjYSBwYXJzZXIKCSAgU3RpbGwgc29tZSBpc3N1ZXMsIGUuZy4gd2l0aCBzZWVrYWJsZSBxdWVyaWVzIGluIHRvdGVtLCBidXQgYWxzbwoJICBwcm9jZXNzaW5nIGFscmVhZHktY2h1bmtlZCBpbnB1dCAoY3JlYXRlZCB3aXRoIG1hdHJvc2thZGVtdXggISBnZHBwYXkpLgoKMjAxMC0xMC0xNCAxNjo0ODoyMSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFjM3BhcnNlLmM6CgkgIGFjM3BhcnNlOiBwcm9wZXJseSBwYXJzZSBlLWFjMyBmcmFtZSBoZWFkZXIKCSAgQWxzbyBhZGQgYSBmZXcgZGVidWcgc3RhdGVtZW50cy4KCjIwMTAtMTAtMTMgMTE6MDA6MDEgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RmbGFjcGFyc2UuYzoKCSAgZmxhY3BhcnNlOiB0d2VhayBzZXR0aW5nIGJ1ZmZlciBtZXRhZGF0YTsgYXZvaWQgdGltZXN0YW1wIGppdHRlcgoJICBGaXhlcyAjNjMxOTkzLgoKMjAxMC0xMC0xMiAxODowNzo0OSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFhY3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWFjcGFyc2UuaDoKCSAgYWFjcGFyc2U6IHN0cmVhbWxpbmUgc3JjIGNhcHMgc2V0dGluZwoJICBJbiBwYXJ0aWN1bGFyLCBhbHNvIHNldCBzcmMgY2FwcyB3aGVuZXZlciBjaGFuZ2VzIGluIHN0cmVhbSB3YXJyYW50IGRvaW5nIHNvLgoKMjAxMC0xMC0xMiAxMDoyODozMyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9mbGFjcGFyc2UuYzoKCSAgZmxhY3BhcnNlOiBBZGp1c3QgdW5pdCB0ZXN0cyB0byBuZXcgZmxhY3BhcnNlIGJlaGF2aW91cgoJICBHYXJiYWdlIGFmdGVyIGZyYW1lcyBpcyBub3cgaW5jbHVkZWQgaW4gdGhlIGZyYW1lcyBiZWNhdXNlIGZsYWNwYXJzZQoJICBoYXMgbm8gZWFzeSB3YXkgdG8gZGV0ZWN0IHRoZSByZWFsIGVuZCBvZiBhIGZyYW1lLiBEZWNvZGVycyBhcmUKCSAgZXhwZWN0ZWQgdG8gZXZlcnl0aGluZyBhZnRlciB0aGUgZnJhbWUgYmVjYXVzZSBvbmx5IGRlY29kaW5nIHRoZQoJICBiaXRzdHJlYW0gd2lsbCByZXZlYWwgdGhlIHJlYWwgZW5kIG9mIHRoZSBmcmFtZS4KCSAgRml4ZXMgYnVnICM2MzE4MTQuCgoyMDEwLTEwLTEyIDEwOjI3OjUzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZmxhY3BhcnNlLmM6CgkgIGZsYWNwYXJzZTogRG9uJ3QgZHJvcCB0aGUgbGFzdCBmcmFtZSBpZiBpdCBpcyBmb2xsb3dlZCBieSBnYXJiYWdlCgkgIFNlZSBidWcgIzYzMTgxNC4KCjIwMTAtMTAtMTEgMTc6NDk6NDYgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiBwZXJmb3JtIGJpdHJhdGUgaGFuZGxpbmcgYW5kIHBvc3RpbmcgYWZ0ZXIgbmV3c2VnbWVudCBzZW5kaW5nCgoyMDEwLTEwLTExIDE3OjM2OjE5ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkgIGJhc2VwYXJzZTogaW1tZWRpYXRlbHkgcG9zdCBzdWJjbGFzcyBwcm92aWRlZCBiaXRyYXRlCgoyMDEwLTEwLTExIDE3OjA2OjQ4ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZmxhY3BhcnNlLmM6CgkgIGZsYWNwYXJzZTogZml4IHBhcnNpbmcgd2l0aCB1bmtub3duIGZyYW1lc2l6ZXMKCSAgRml4ZXMgIzYzMTgxNCAobW9zdGx5KS4KCjIwMTAtMTAtMDcgMjM6Mzc6MzYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RmbGFjcGFyc2UuYzoKCSAgZmxhY3BhcnNlOiBTaW1wbGlmeSBmcmFtZSBoZWFkZXIgcGFyc2luZyBieSB1c2luZyBsb29rdXAgdGFibGVzCgkgIEJhc2VkIG9uIGEgcGF0Y2ggYnkgRmVsaXBlIENvbnRyZXJhcy4KCSAgU2VlIGJ1ZyAjNjMxMjAwLgoKMjAxMC0xMC0wNyAyMzoyODowOCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5oOgoJICBmbGFjcGFyc2U6IERvbid0IHBhcnNlIHRoZSBjb21wbGV0ZSBGTEFDIGZyYW1lcyBidXQgb25seSBsb29rIGZvciB2YWxpZCBmcmFtZSBoZWFkZXJzCgkgIFRoYW5rcyB0byBGZWxpcGUgQ29udHJlcmFzIGZvciB0aGUgc3VnZ2VzdGlvbi4gVGhpcyBpcyBwYXJ0aWFsbHkKCSAgYmFzZWQgb24gaGlzIHBhdGNoZXMgYW5kIG1ha2VzIGZsYWNwYXJzZSBtb3JlIHRoYW4gMy41IHRpbWVzIGZhc3Rlci4KCSAgTG9va2luZyBmb3IgdmFsaWQgZnJhbWUgaGVhZGVycyBpcyB1bmxpa2VseSB0byBnaXZlIGZhbHNlIHBvc2l0aXZlcwoJICBiZWNhdXNlIGV2ZXJ5IGZyYW1lIGhlYWRlciBpcyBhdCBsZWFzdCA5IGJ5dGVzIGxvbmcsIGNvbnRhaW5zIGEKCSAgMTQgYml0IHN5bmMgY29kZSBhbmQgYSA4IGJpdCBjaGVja3N1bSBvdmVyIHRoZSBmaXJzdCA4IGJ5dGVzLgoJICBGaXhlcyBidWcgIzYzMTIwMC4KCjIwMTAtMTAtMDYgMTg6MzI6NTEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RmbGFjcGFyc2UuYzoKCSAgZmxhY3BhcnNlOiBSZWFsbHkgcG9zdCB0YWdzIG9ubHkgYWZ0ZXIgdGhlIGluaXRpYWwgbmV3c2VnbWVudCBldmVudAoJICBUaGUgZmlyc3QgbmV3c2VnbWVudCBldmVudCB3aWxsIGJlIHNlbmQgYnkgdGhlIGZpcnN0IGNhbGwgdG8KCSAgZ3N0X2Jhc2VfcGFyc2VfcHVzaF9idWZmZXIoKSBpZiBuZWNlc3NhcnksIHBvc3RpbmcgdGhlIHRhZ3MKCSAgYmVmb3JlIHRoYXQgaXMgbm90IGEgZ29vZCBpZGVhLiBJbnN0ZWFkIGRvIGl0IGZyb20gdGhlCgkgIEdzdEJhc2VQYXJzZTo6cHJlX3B1c2hfYnVmZmVyIHZmdW5jLgoKMjAxMC0xMC0wNSAxMToxNzo1MiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJICBSZXZlcnQgImJhc2VwYXJzZTogYWRkIHNraXAgcHJvcGVydHkiCgkgIFRoaXMgcmV2ZXJ0cyBjb21taXQgYjVhM2Q2MDM2M2Q4MzdhMTBmMDUzM2MxNDFlYzkzZDEwYjc0MjMxMi4KCSAgUmV2ZXJ0aW5nIHRoaXMgZm9yIG5vdywgc2luY2Ugbm8gb25lIHJlYWxseSBzZWVtcyB0byByZW1lbWJlciB3aHkgdGhpcwoJICBwcm9wZXJ0eSBleGlzdHMgb3Igd2hhdCBpdCBjb3VsZCBwb3NzaWJseSBiZSBnb29kIGZvci4gSXQgc2VlbXMgdG8gaGF2ZQoJICBiZWVuIGluIHRoZSBvcmlnaW5hbCBtcDNwYXJzZSBzaW5jZSB0aGUgYmVnaW5uaW5nIG9mIHRpbWUgYW5kIHdhcyBiYWNrLQoJICBwb3J0ZWQgZnJvbSB0aGVyZS4KCjIwMTAtMTAtMDQgMTA6NDE6NTIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RmbGFjcGFyc2UuYzoKCSAgZmxhY3BhcnNlOiBGaXggdW5pbml0aWFsaXplZCB2YXJpYWJsZSBjb21waWxlciB3YXJuaW5ncwoJICBUaGVzZSB3YXJuaW5ncyBhcmUgd3JvbmcsIHRoZSB2YXJpYWJsZXMgYXJlIG9ubHkgdXNlZCBpZiB0aGV5IHdlcmUKCSAgaW5pdGlhbGl6ZWQgYnkgdGhlIGJpdCByZWFkZXIuCgoyMDEwLTA5LTE0IDAyOjQ4OjU4ICswMzAwICBGZWxpcGUgQ29udHJlcmFzIDxmZWxpcGUuY29udHJlcmFzQGdtYWlsLmNvbT4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZmxhY3BhcnNlLmM6CgkgIGZsYWNwYXJzZTogZml4IHBpY3R1cmUgcGFyc2luZwoJICBTaWduZWQtb2ZmLWJ5OiBGZWxpcGUgQ29udHJlcmFzIDxmZWxpcGUuY29udHJlcmFzQGdtYWlsLmNvbT4KCjIwMTAtMTAtMDMgMjM6NTQ6NDkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RmbGFjcGFyc2UuYzoKCSAgZmxhY3BhcnNlOiBQdXNoIHRhZ3MgYmVmb3JlIHRoZSBoZWFkZXIgYnVmZmVycyBhcmUgcHVzaGVkCgoyMDEwLTA4LTAyIDIwOjUwOjIxICswMzAwICBGZWxpcGUgQ29udHJlcmFzIDxmZWxpcGUuY29udHJlcmFzQGdtYWlsLmNvbT4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZmxhY3BhcnNlLmM6CgkgIGZsYWNwYXJzZTogdHJpdmlhbCBjYXBzIGZpeAoJICBTaWduZWQtb2ZmLWJ5OiBGZWxpcGUgQ29udHJlcmFzIDxmZWxpcGUuY29udHJlcmFzQGdtYWlsLmNvbT4KCjIwMTAtMTAtMDMgMjM6NTA6MjkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSAgYXVkaW9wYXJzZXI6IExldCB0aGUgZm9ybWF0IHN0cmluZyBhZ3JlZSB3aXRoIHRoZSBwYXJhbWV0ZXJzIHRvIGZpeCBjb21waWxlciB3YXJuaW5nCgoyMDEwLTEwLTAzIDE1OjQxOjIwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWMzcGFyc2UuYzoKCSAgYWMzcGFyc2U6IFVzZSB1bmNoZWNrZWQgdmVyc2lvbnMgb2YgdGhlIGJpdHJlYWRlciBnZXQgZnVuY3Rpb25zCgkgIFdlIGRpZG4ndCBjaGVjayB0aGUgcmV0dXJuIHZhbHVlcyBhbnl3YXkuLi4KCjIwMTAtMDktMjIgMTU6NDQ6NDMgKzA1MzAgIEFydW4gUmFnaGF2YW4gPGFydW4ucmFnaGF2YW5AY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiBGaXggZGVidWcgb3V0cHV0CgkgIFdlIGxvc2UgdGhlIHJlZmVyZW5jZSB0byB0aGUgYnVmZmVyIGFmdGVyIGdzdF9wYWRfcHVzaCgpLCBzbyB0aGUgZGVidWcKCSAgcHJpbnQgc2hvdWxkIGhhcHBlbiBiZWZvcmUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MjIyNzYKCjIwMTAtMTAtMDEgMTI6MzQ6NTUgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZmxhY3BhcnNlLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3BhcnNlci5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9wYXJzZXIuaDoKCSAgYXVkaW9wYXJzZXJzOiBhZGQgZmxhY3BhcnNlIHVuaXQgdGVzdAoJICAuLi4gYW5kIHR3ZWFrIHBhcnNlciB0ZXN0IGhlbHBlciBpbiB0aGUgcHJvY2Vzcy4KCjIwMTAtMDktMjkgMTY6MTI6NDIgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiBzdXBwb3J0IHJldmVyc2UgcGxheWJhY2sKCSAgLi4uIGluIHB1bGwgbW9kZSBvciB1cHN0cmVhbSBkcml2ZW4uCgoyMDEwLTA5LTI3IDEyOjE2OjQzICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkgIGJhc2VwYXJzZTogcmVtb3ZlIGRvbmUgVE9ET3MgYW5kIHVwZGF0ZSBkb2N1bWVudGF0aW9uCgoyMDEwLTA5LTI1IDE0OjQwOjU0ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkgIGJhc2VwYXJzZTogdXNlIGRldGVybWluZWQgc2Vla2FiaWxpdHkgaW4gYW5zd2VyaW5nIFNFRUtJTkcgcXVlcnkKCjIwMTAtMDktMjUgMTQ6MzI6MDYgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiBhZGQgc2tpcCBwcm9wZXJ0eQoKMjAxMC0wOS0yNSAxMzo1OTozOSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hYzNwYXJzZS5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9tcGVnYXVkaW9wYXJzZS5jOgoJICBhdWRpb3BhcnNlcnM6IGFkZCBhYzNwYXJzZSBhbmQgbXBlZ2F1ZGlvcGFyc2UgdW5pdCB0ZXN0CgoyMDEwLTA5LTI1IDEzOjU5OjE4ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvTWFrZWZpbGUuYW06CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0bXBlZ2F1ZGlvcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RtcGVnYXVkaW9wYXJzZS5oOgoJKiBnc3QvYXVkaW9wYXJzZXJzL3BsdWdpbi5jOgoJICBtcGVnYXVkaW9wYXJzZTogaW5pdGlhbCB2ZXJzaW9uCgkgIC4uLiBhZGVxdWF0ZWx5IGVxdWl2YWxlbnQgdG8gbXAzcGFyc2UsIHNvIGxldHMgYm9sZGx5IHNldCBpdAoJICB0byBoaWdoZXIgcmFuay4KCjIwMTAtMDktMjUgMTQ6MDE6MDcgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYWNwYXJzZS5jOgoJICBhYWNwYXJzZTogc2V0IG1pbmltdW0gZnJhbWUgc2l6ZSBhdCBfc3RhcnQKCSAgLi4uIHJhdGhlciB0aGFuIG9uZSB0aW1lIGF0IF9pbml0LgoKMjAxMC0wOS0yNSAxMzo1MDo1MSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hYWNwYXJzZS5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hbXJwYXJzZS5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9wYXJzZXIuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcGFyc2VyLmg6CgkgIGF1ZGlvcGFyc2VyczogcmVmYWN0b3IgZXhpc3RpbmcgdW5pdCB0ZXN0cyB1c2luZyBjb21tb24gaGVscGVyCgoyMDEwLTA5LTIyIDE1OjA3OjA5ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWFjcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYzNwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFtcnBhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmg6CgkgIGJhc2VwYXJzZTogdXNlIF9zZXRfZnJhbWVfcHJvcHMgdG8gY29uZmlndXJlIGZyYW1lIGxlYWRfaW4gYW5kIGxlYWRfb3V0CgkgIC4uLiBwcm92aWRlZCBhIGNvcnJlc3BvbmRpbmcgZGVjb2RlciB3aXRoIHN1ZmZpY2llbnQgbGVhZGluZyBhbmQgZm9sbG93aW5nCgkgIGZyYW1lcyB0byBjYXJyeSBvdXQgZnVsbCBkZWNvZGluZyBmb3IgYSBwYXJ0aWN1bGFyIHNlZ21lbnQuCgoyMDEwLTA5LTIyIDE0OjEzOjE3ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWFjcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYzNwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFtcnBhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmg6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZmxhY3BhcnNlLmM6CgkgIGJhc2VwYXJzZTogdXNlIF9zZXRfZHVyYXRpb24gdG8gY29uZmlndXJlIGR1cmF0aW9uIHVwZGF0ZSBpbnRlcnZhbAoJICAuLi4gYXMgaXQgbG9naWNhbGx5IGJlbG9uZ3MgdGhlcmUgYXMgb25lIG9yIHRoZSBvdGhlcjsgZWl0aGVyIHN1YmNsYXNzCgkgIGNhbiBwcm92aWRlIGEgZHVyYXRpb24sIG9yIGFuIGVzdGltYXRlIG11c3QgYmUgbWFkZSAocmVndWFybHkgdXBkYXRlZCkuCgoyMDEwLTA5LTIyIDEzOjU1OjIwICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkgIGJhc2VwYXJzZTogbG9jYWxpemUgdXNlIG9mIHByb3ZpZGVkIGZwcyBpbmZvcm1hdGlvbgoKMjAxMC0wOS0yMiAxMjoxMzoxMiArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJICBiYXNlcGFyc2U6IHNlZWsgdGFibGUgYW5kIGFjY3VyYXRlIHNlZWsgc3VwcG9ydAoKMjAxMC0wOS0yMSAxMzo1NzoxMCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJICBiYXNlcGFyc2U6IHByb3BlciBhbmQgbW9yZSBleHRlbmRlZCBzZWdtZW50IGFuZCBzZWVrIGhhbmRsaW5nCgkgIFRoYXQgaXMsIGxvb3AgcGF1c2UgaGFuZGxpbmcsIHNlZ21lbnQgc2VlayBzdXBwb3J0LCBuZXdzZWdtZW50IGZvciBnYXBzLCBldGMKCjIwMTAtMDktMjEgMTA6NTc6MDQgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuaDoKCSAgYmFzZXBhcnNlOiBhZGQgaW5kZXggc3VwcG9ydAoKMjAxMC0wOS0yMSAwOTo1OTo1NiArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJICBiYXNlcGFyc2U6IHJlZmFjdG9yIHN0YXRlIHJlc2V0CgoyMDEwLTA5LTIwIDE2OjM5OjM3ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkgIGJhc2VwYXJzZTogcHJldmVudCBpbmRlZmluaXRlIHJlc3luY2luZwoKMjAxMC0wOS0yMCAxMzo1Nzo1NSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJICBiYXNlcGFyc2U6IHNwZWNpZmljIEVPUyBoYW5kbGluZyBpZiBubyBvdXRwdXQgc28gZmFyCgoyMDEwLTA5LTIwIDEzOjMxOjU3ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkgIGJhc2VwYXJzZTogYWRqdXN0IF9zZXRfZnJhbWVfcHJvcCBkb2N1bWVudGF0aW9uIGFuZCBzZXQgZGVmYXVsdCBhcyBjbGFpbWVkCgoyMDEwLTA5LTIwIDEzOjMwOjU0ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkgIGJhc2VwYXJzZTogZml4IGJpdHJhdGUgY29weS1hbmQtcGFzdGUgYW5kIHVwZGF0ZSBoZXVyaXN0aWMKCjIwMTAtMDktMTcgMTg6MzM6MjkgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiBwb3N0IGR1cmF0aW9uIG1lc3NhZ2UgaWYgYXZlcmFnZSBiaXRyYXRlcyBpcyB1cGRhdGVkCgoyMDEwLTA5LTE3IDE4OjI0OjIyICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWFjcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuaDoKCSAgYmFzZXBhcnNlOiByZW1vdmUgaXNfc2Vla2FibGUgdm1ldGhvZCBhbmQgdXNlIGEgc2V0X3NlZWsgaW5zdGVhZAoJICBTZWVrYWJpbGl0eSwgbGlrZSBkdXJhdGlvbiwgZXRjIGlzIHVubGlrZWx5IHRvIGNoYW5nZSAoZnJlcXVlbnRseSksIGFuZAoJICB0aGUgZGVmYXVsdCBhc3N1bXB0aW9uIGNvdmVycyBtb3N0IGNhc2VzLCBzbyBsZXQgc3ViY2xhc3Mgc2V0IHdoZW4gbmVlZGVkLgoJICBBdCB0aGUgc2FtZSB0aW1lLCBhbGxvdyBzdWJjbGFzcyB0byBpbmRpY2F0ZSBpZiBpdCBoYXMgc2Vlay1tZXRhZGF0YSAodGFibGUpCgkgIGF2YWlsYWJsZSwgYW5kIHBvc3NpYmx5IGhhdmUgaXQgcHJvdmlkZSBhbiBhdmVyYWdlIGJpdHJhdGUuCgoyMDEwLTA5LTE3IDE3OjM1OjQwICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWMzcGFyc2UuYzoKCSAgYWMzcGFyc2U6IHJlbW92ZSByZWR1bmRhbnQgZGVmYXVsdCBpc19zZWVrYWJsZQoKMjAxMC0wOS0xNyAxNzoyMTo0NiArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5oOgoJICBiYXNlcGFyc2U6IGFkZCBhbm90aGVyIGhvb2sgZm9yIHN1YmNsYXNzIHByaW9yIHRvIHB1c2hpbmcgYnVmZmVyCgkgIC4uLiBhbmQgYWxsb3cgc3ViY2xhc3MgdG8gcGVyZm9ybSBjdXN0b20gc2VnbWVudCBjbGlwcGluZywgb3IgdG8KCSAgZW1pdCB0YWdzIG9yIG1lc3NhZ2VzIGF0IHRoaXMgdGltZS4KCjIwMTAtMDktMTcgMTc6MTk6MzcgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiAwIGNvbnZlcnRzIHRvIDAgYnkgZGVmYXVsdAoKMjAxMC0wOS0xNiAxODo1Njo0NiArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5oOgoJICBiYXNlcGFzZTogcmVmYWN0b3IgY29udmVyc2lvbiB1c2luZyBoZWxwZXIgZnVuY3Rpb24gYW5kIGV4cG9ydCBkZWZhdWx0IGNvbnZlcnQKCjIwMTAtMDktMTYgMTg6MzU6NDcgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiBzdHJlYW1saW5lIHF1ZXJ5IGhhbmRsaW5nCgoyMDEwLTA5LTE2IDExOjUxOjIwICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmg6CgkgIGJhc2VwYXJzZTogY2xlYW51cCBzdHJ1Y3QgYW5kIHJlbW92ZSB1bnVzZWQgbWVtYmVyCgoyMDEwLTA4LTE2IDExOjA0OjM3ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvcGx1Z2luLmM6CgkgIGF1ZGlvcGFyc2VyczogaW5jcmVhc2UgcmFua3MgdG8gZW5hYmxlIGF1dG8tcGx1Z2dpbmcKCSAgQmVjYXVzZSB3ZSBjYW4sIGFuZCBzaG91bGQsIGhhdmUgc29tZSBzaGFrZWRvd24gdGVzdGluZyBiZWZvcmUgaGF2aW5nCgkgIHRoZXNlIG1ha2UgaXQgaW50byAtZ29vZCBsYXRlciBvbiAuLi4KCjIwMTAtMDktMjIgMTY6MDc6MjQgKzA1MzAgIEFydW4gUmFnaGF2YW4gPGFydW4ucmFnaGF2YW5AY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiBBbGxvdyBjaGFpbmluZyBvZiBzdWJjbGFzcyBldmVudCBoYW5kbGVycwoJICBUaGlzIGFsbG93cyB0aGUgY2hpbGQgY2xhc3MgdG8gY2hhaW4gaXRzIGV2ZW50IGhhbmRsZXIgd2l0aAoJICBHc3RCYXNlUGFyc2UsIHNvIHRoYXQgc3ViY2xhc3NlcyBkb24ndCBoYXZlIHRvIGR1cGxpY2F0ZSBhbGwgdGhlIGRlZmF1bHQKCSAgZXZlbnQgaGFuZGxpbmcgbG9naWMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MjIyNzYKCjIwMTAtMDgtMjcgMTg6MzU6MTAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiBEb24ndCB1c2UgR1NUX0ZMT1dfSVNfRkFUQUwoKQoJICBBbHNvIGRvbid0IHBvc3QgYW4gZXJyb3IgbWVzc2FnZSBmb3IgVU5FWFBFQ1RFRCBhbmQgZG8gaXQKCSAgZm9yIE5PVF9MSU5LRUQuCgoyMDEwLTA5LTA2IDE0OjEyOjAwICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkgIGJhc2VwYXJzZTogbm9uLVRJTUUgc2VlayBldmVudCBpcyBzaW1wbHkgbm90IGhhbmRsZWQKCjIwMTAtMDYtMTUgMTU6MzQ6MDUgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiBmaXggc2VlayBldmVudCByZWYgaGFuZGxpbmcKCjIwMTAtMDYtMTUgMTU6MzM6MzcgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiBwcmV2ZW50IGFyaXRobWV0aWMgb3ZlcmZsb3dzIGluIHB1bGwgbW9kZSBidWZmZXIgY2FjaGUgaGFuZGxpbmcKCjIwMTAtMDYtMTUgMTU6MzI6MzQgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiBmaXggc2VlayBoYW5kbGluZwoJICBBbGxvdyBhIGZldyBtb3JlIHNlZWsgZXZlbnQgdHlwZSBjb21iaW5hdGlvbnMsIGFuZCByZWFsbHkgdXNlIHRoZSByZXN1bHQKCSAgb2YgZ3N0X3NlZ21lbnRfc2V0X3NlZWsgdG8gcGVyZm9ybSB0aGUgc2Vlay4gIEFsc28gYWRkIHNvbWUgZGVidWcuCgoyMDEwLTA0LTEyIDE4OjA3OjI5ICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYWFjcGFyc2UuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYW1ycGFyc2UuYzoKCSAgY2hlY2s6IERvbid0IHJlLWRlY2xhcmUgJ0dMaXN0ICpidWZmZXJzJyBpbiB0aGUgdGVzdHMKCSAgSXQncyBhbiBleHRlcm5hbCB3aGljaCBsaXZlcyBpbiBnc3RjaGVjay5jLiBSZWRlY2xhcmluZyBpdCBtYWtlcyBzb21lCgkgIGNvbXBpbGVycy9hcmNoaXRlY3R1cmVzIHRoaW5rIHRoZSAnYnVmZmVycycgaW4gdGhlIGluZGl2aWR1YWwgdGVzdHMgYXJlCgkgIGEgZGlmZmVyZW50IHN5bWJvbC4uLiBhbmQgdGhlcmVmb3JlIHdlIGVuZCB1cCBjb21wYXJpbmcgaG9sb2RlY2tzIHdpdGgKCSAgb3Jhbmdlcy4KCjIwMTAtMDMtMjYgMTg6NTY6NDkgKzAwMDAgIEFydW4gUmFnaGF2YW4gPGFydW4ucmFnaGF2YW5AY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiBEb24ndCBlbWl0IGJpdHJhdGUgdGFncyB0b28gZWFybHkKCSAgV2Ugd2FpdCB0byBwYXJzZSBhIG1pbmltdW0gbnVtYmVyIG9mIGZyYW1lcyAoMTAsIGFyYml0cmFyaWx5KSBiZWZvcmUKCSAgZW1pdGluZyBiaXRyYXRlIHRhZ3Mgc28gdGhhdCBvdXIgZWFybHkgZXN0aW1hdGVzIGFyZSBub3Qgd2lsZGx5CgkgIGluYWNjdXJhdGUgZm9yIHN0cmVhbXMgdGhhdCBzdGFydCB3aXRoIGEgc2lsZW5jZS4gSWYgdGhlIHN0cmVhbSBlbmRzCgkgIGJlZm9yZSB0aGF0LCB3ZSBqdXN0IGVtaXQgdGhlIHRhZ3MgYW55d2F5LgoJICBXaGlsZSBpdCBfd291bGRfIGJlIG5pY2VyIHRvIGJlIHNwZWNpZnkgdGhlIHRocmVzaG9sZCB0byBzdGFydCBwdXNoaW5nCgkgIHRoZSB0YWdzIGluIHRlcm1zIG9mIGR1cmF0aW9uLCB0aGlzIHdvdWxkIGludHJvZHVjZSBtb3JlIGNvbXBsZXhpdHkgdGhhbgoJICB0aGlzIG1lcml0cy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYxNDk5MQoKMjAxMC0wMy0yNiAxODo1ODozNSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5oOgoJICBmbGFjcGFyc2U6IE9wdGlvbmFsbHkgY2hlY2sgdGhlIG92ZXJhbGwgZnJhbWUgY2hlY2tzdW1zIHRvbyBiZWZvcmUgYWNjZXB0aW5nIGEgZnJhbWUgYXMgdmFsaWQKCSAgVGhpcyBpcyBvcHRpb25hbCBiZWNhdXNlIGl0J3MgYSBxdWl0ZSBleHBlbnNpdmUgb3BlcmF0aW9uIGFuZCBpdCdzIHZlcnkKCSAgdW5saWtlbHkgdGhhdCBhIG5vbi1mcmFtZSBpcyBkZXRlY3RlZCBhcyBmcmFtZSBhZnRlciB0aGUgaGVhZGVyIENSQyBjaGVjawoJICBhbmQgY2hlY2tpbmcgYWxsIGJpdHMgZm9yIHZhbGlkIHZhbHVlcy4gVGhlIG92ZXJhbGwgZnJhbWUgY2hlY2tzdW1zIGFyZQoJICBtYWlubHkgdXNlZnVsIHRvIGRldGVjdCBpbmNvbnNpc3RlbmNpZXMgaW4gdGhlIGVuY29kZWQgcGF5bG9hZC4KCjIwMTAtMDMtMjYgMTg6NDI6MjggKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RmbGFjcGFyc2UuYzoKCSAgZmxhY3BhcnNlOiBDaGVjayB0aGUgQ1JDLTggb2YgdGhlIGhlYWRlcnMgYmVmb3JlIGFjY2VwdGluZyBhIGZyYW1lIGFzIHZhbGlkCgkgIFRoaXMgbWFrZXMgZmFsc2UtcG9zaXRpdmVzIGR1cmluZyBzZWVraW5nIG11Y2ggbGVzcyBsaWtlbHkgYW5kIGRldGVjdGlvbiBvZgoJICB0aGVtIG11Y2ggZmFzdGVyLgoKMjAxMC0wMy0yNiAxODoyMDoyNCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJICBiYXNlcGFyc2U6IFNldCB0aGUgbGFzdCBzdG9wIHRvIHRoZSBidWZmZXIgc3RhcnR0aW1lIGlmIHRoZSBkdXJhdGlvbiBpcyBpbnZhbGlkCgkgIC4uLmluc3RlYWQgb2Ygbm90IHNldHRpbmcgaXQgYXQgYWxsLgoKMjAxMC0wMy0yNiAxODoxOTowMCArMDEwMCAgSm9zaHVhIE0uIERvZSA8am9zaEBqb3NoZG9lLmNvbT4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkgIGJhc2VwYXJzZTogU2VuZCBORVdTRUdNRU5UIGV2ZW50IHdpdGggY29ycmVjdCBzdGFydCBhbmQgcG9zaXRpb24KCSAgSW5zdGVhZCBvZiB0YWtpbmcgdGhlIGxhc3Qgc3RvcCAod2hpY2ggY291bGQgYmUgYnVmZmVyIGVuZHRpbWUgaW5zdGVhZAoJICBvZiBzdGFydHRpbWUpIGFsd2F5cyB0YWtlIHRoZSBidWZmZXIgc3RhcnR0aW1lLgoJICBGaXhlcyBidWcgIzYxNDAxNi4KCjIwMTAtMDMtMjYgMTY6NDk6MDEgKzAwMDAgIEFydW4gUmFnaGF2YW4gPGFydW4ucmFnaGF2YW5AY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RmbGFjcGFyc2UuYzoKCSAgZmxhY3BhcnNlOiBGaXggYnVmZmVyIHJlZmNvdW50IGlzc3VlCgkgIFdoZW4gY2FsbGVkIGZyb20gdGhlIEdTVF9GTEFDX1BBUlNFX1NUQVRFX0hFQURFUlMgY2FzZSwKCSAgZ3N0X2ZsYWNfcGFyc2VfaGFuZF9oZWFkZXJzKCkgZG9lcyBhIGdzdF9idWZmZXJfc2V0X2NhcHMoKSBvbiBhIGJ1ZmZlcgoJICB3aXRoIHJlZmNvdW50ID4gMS4gVGhpcyBjaGFuZ2UgaGFuZGxlcyB0aGlzIGNhc2UgYnkgbWFraW5nIHRoZSBidWZmZXIKCSAgbWV0YWRhdGFfV3JpdGFibGUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MTQwMzcKCjIwMTAtMDMtMjUgMTc6MDk6MTcgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuaDoKCSAgYXVkaW9wYXJzZXJzOiByZW1vdmUgdW51c2VkIEdzdEJhc2VQYXJzZUNsYXNzUHJpdmF0ZSBzdHJ1Y3R1cmUKCjIwMTAtMDMtMjUgMTI6NTU6MDIgKzAwMDAgIEFydW4gUmFnaGF2YW4gPGFydW4ucmFnaGF2YW5AY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RmbGFjcGFyc2UuYzoKCSAgZmxhY3BhcnNlOiBNYWtlIGJpdHJhdGUgZXN0aW1hdGlvbiBtb3JlIGFjY3VyYXRlCgkgIFRoaXMgaW1wbGVtZW50cyB0aGUgZ2V0X2ZyYW1lX292ZXJoZWFkKCkgdmZ1bmMgc28gdGhhdCBiYXNlcGFyc2UgY2FuCgkgIG1ha2UgbW9yZSBhY2N1cmF0ZSBiaXRyYXRlIGVzdGltYXRlcy4KCjIwMTAtMDMtMjUgMTE6NDg6NDYgKzAwMDAgIEFydW4gUmFnaGF2YW4gPGFydW4ucmFnaGF2YW5AY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYWNwYXJzZS5jOgoJICBhYWNwYXJzZTogRml4IGJpdHJhdGUgY2FsY3VsYXRpb24KCSAgVGhpcyBwYXRjaCBhZGRzIHRoZSBnZXRfZnJhbWVfb3ZlcmhlYWQoKSB2ZnVuYyBzbyB0aGF0IGJhc2VwYXJzZSBjYW4KCSAgYWNjdXJhdGVseSBjYWxjdWxhdGUgdGhlIG1pbi9hdmcvbWF4IGJpdHJhdGVzIGZvciBhYWNwYXJzZS4KCSAgTm90ZTogVGhlIGJpdHJhdGUgd2FzIGJlaW5nIGluY29ycmVjdGx5IGNhbGN1bGF0ZWQgZm9yIEFEVFMgc3RyZWFtcwoJICAoaXQncyBub3QgaW4gdGhlIGhlYWRlciBhcyB0aGUgY29kZSBzdWdnZXN0cykuCgoyMDEwLTAzLTI1IDExOjIyOjU4ICswMDAwICBBcnVuIFJhZ2hhdmFuIDxhcnVuLnJhZ2hhdmFuQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmg6CgkgIGF1ZGlvcGFyc2VyczogQWRkIGJpdHJhdGUgY2FsY3VsYXRpb24gdG8gYmFzZXBhcnNlCgkgIFRoaXMgbWFrZXMgYmFzZXBhcnNlIGtlZXAgYSBydW5uaW5nIGF2ZXJhZ2Ugb2YgdGhlIHN0cmVhbSBiaXRyYXRlLCBhcwoJICB3ZWxsIGFzIHRoZSBtaW5pbXVtIGFuZCBtYXhpbXVtIGJpdHJhdGVzLiBTdWJjbGFzc2VzIGNhbiBvdmVycmlkZSBhCgkgIHZmdW5jIHRvIG1ha2Ugc3VyZSB0aGF0IHBlci1mcmFtZSBvdmVyaGVhZCBmcm9tIHRoZSBjb250YWluZXIgaXMgbm90CgkgIGFjY291bnRlZCBmb3IgaW4gdGhlIGJpdHJhdGUgY2FsY3VsYXRpb24uCgkgIFdlIHRha2UgY2FyZSBub3QgdG8gb3ZlcnJpZGUgdGhlIGJpdHJhdGUsIG1pbmltdW0tYml0cmF0ZSwgYW5kCgkgIG1heGltdW0tYml0cmF0ZSB0YWdzIGlmIHRoZXkgaGF2ZSBiZWVuIHBvc3RlZCB1cHN0cmVhbS4gV2UgYWxzbwoJICByYXRlLWxpbWl0IHRoZSBlbWlzc2lvbiBvZiBiaXRyYXRlIHNvIHRoYXQgaXQgaXMgb25seSB0cmlnZ2VyZWQgYnkgYQoJICBjaGFuZ2Ugb2YgPjEwIGticHMuCgoyMDEwLTAzLTIyIDE2OjU2OjAzICswMTAwICBCZW5qYW1pbiBPdHRlIDxvdHRlQHJlZGhhdC5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hbXJwYXJzZS5jOgoJICBBZGQgLVdvbGQtc3R5bGUtZGVmaW5pdGlvbgoJICBhbmQgZml4IHRoZSB3YXJuaW5ncwoKMjAxMC0wMy0yMSAyMTozOToxOCArMDEwMCAgQmVuamFtaW4gT3R0ZSA8b3R0ZUByZWRoYXQuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYWFjcGFyc2UuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYW1ycGFyc2UuYzoKCSAgQWRkIC1XbWlzc2luZy1kZWNsYXJhdGlvbnMgLVdtaXNzaW5nLXByb3RvdHlwZXMgdG8gY29uZmlndXJlIGZsYWdzCgkgIEFuZCBmaXggYWxsIHdhcm5pbmdzCgoyMDEwLTAzLTE4IDE3OjMwOjI2ICswMTAwICBCZW5qYW1pbiBPdHRlIDxvdHRlQHJlZGhhdC5jb20+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFhY3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YW1ycGFyc2UuYzoKCSAgZ3N0X2VsZW1lbnRfY2xhc3Nfc2V0X2RldGFpbHMgPT4gZ3N0X2VsZW1lbnRfY2xhc3Nfc2V0X2RldGFpbHNfc2ltcGxlCgoyMDEwLTAxLTE0IDExOjUwOjMzICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkgIGF1ZGlvcGFyc2VyczogcmVuYW1lIGJhc2VwYXJzZSBHVHlwZSBuYW1lIHRvIGF2b2lkIHBvc3NpYmxlIGNvbmZsaWN0cwoKMjAxMC0wMS0xMiAxODo1NTo1MyArMDEwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZmxhY3BhcnNlLmM6CgkgIGZsYWNwYXJzZTogSW5pdGlhbGl6ZSB2YXJpYWJsZXMuCgkgIEZpeGVzIGJ1aWxkIG9uICQjQCooIG1hY29zeAoKMjAxMC0wMS0xMSAyMjo0MTo1NyArMDMwMCAg0PPx6+DtIMjm4fPr4PLu4iA8bHJuMTk4NkBnbWFpbC5jb20+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFhY3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YW1ycGFyc2UuYzoKCSAgd2luMzI6IEluY2x1ZGUgY29uZmlnLmggYmVmb3JlIGFueXRoaW5nIGVsc2UuIEZpeCBtcGVnZGVtdXggTElCQURECgkgIEJlY2F1c2UgY29uZmlnLmggZGVmaW5lcyBfX01TVkNSVF9WRVJTSU9OX18sIHdoaWNoIHNob3VsZCBiZSBkZWZpbmVkCgkgIGJlZm9yZSBpbmNsdXNpb24gb2YgYW55IHN5c3RlbSBoZWFkZXIuCgkgIEFsc28gZml4ZXMgbXBlZ2RlbXV4IE1ha2VmaWxlLmFtIExJQkFERCB0eXBvLgoJICBGaXhlcyAjNjA2NjY1CgoyMDEwLTAxLTExIDEzOjIwOjI2IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWFjcGFyc2UuYzoKCSAgYWFjcGFyc2U6IEFsc28gYWRkIHN0cmVhbS1mb3JtYXQgdG8gdGVtcGxhdGUgY2FwcwoJICBEbyBub3QgZm9yZ2V0IHRvIGFkZCBzdHJlYW0tZm9ybWF0IHRvIHRlbXBsYXRlIGNhcHMKCSAgb2ZmIGFhY3BhcnNlCgoyMDEwLTAxLTExIDEzOjEzOjQxIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWFjcGFyc2UuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYWFjcGFyc2UuYzoKCSAgUmVuYW1lIGFhYydzIHN0cmVhbS1mb3JtYXQgJ25vbmUnIHRvICdyYXcnCgkgIFJlbmFtZXMgYWFjJ3Mgc3RyZWFtLWZvcm1hdCBmcm9tIHByZXZpb3VzIGNvbW1pdHMgZnJvbSBub25lIHRvCgkgIHJhdwoKMjAxMC0wMS0xMSAxMjoxMDowMiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hYWNwYXJzZS5jOgoJICBhYWNwYXJzZTogdXBkYXRlIHRlc3RzIHRvIHN0cmVhbS1mb3JtYXQgY2hhbmdlcwoJICBVcGRhdGVzIGFhY3BhcnNlIHVuaXQgdGVzdHMgdG8gY2hlY2sgZm9yIHN0cmVhbS1mb3JtYXQKCSAgY29ycmVjdG5lc3MgYXMgd2VsbC4KCjIwMTAtMDEtMTEgMTA6NTE6MTggLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYWNwYXJzZS5jOgoJICBhYWNwYXJzZTogQWRkIHN0cmVhbS1mb3JtYXQgdG8gb3V0cHV0IGNhcHMKCSAgQWRkcyBzdHJlYW0tZm9ybWF0IGZpZWxkIHRvIG91dHB1dCBjYXBzCgoyMDEwLTAxLTA1IDE1OjA1OjA1ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWFjcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhbXJwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJICBhdWRpb3BhcnNlcnM6IGRvY3VtZW50YXRpb24gZml4ZXMKCjIwMTAtMDEtMDUgMTU6MDQ6MzggKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYzNwYXJzZS5jOgoJICBhYzNwYXJzZTogYWRkIGRvY3VtZW50YXRpb24KCjIwMTAtMDEtMDUgMTQ6NDg6NDkgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RmbGFjcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RmbGFjcGFyc2UuaDoKCSAgZmxhY3BhcnNlOiBhZGQgZG9jdW1lbnRhdGlvbgoKMjAwOS0xMi0yMSAxODoyOTo0MyArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5jOgoJICBmbGFjcGFyc2U6IHBlcmZvcm0gYWRkaXRpb25hbCBmcmFtZSBjaGVja3Mgd2hlbiByZXN5bmNpbmcKCjIwMTAtMDEtMDUgMTY6MzU6NTIgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RmbGFjcGFyc2UuYzoKCSAgZmxhY3BhcnNlOiBmaXggKG11bHRpcGxlIGNoYW5uZWwpIGZyYW1lIHBhcnNpbmcKCjIwMTAtMDEtMDUgMTY6MzU6NDQgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RmbGFjcGFyc2UuYzoKCSAgZmxhY3BhcnNlOiBkZWNsYXJlIHVucGFyc2VkIGlucHV0IGFuZCBwYXJzZWQgb3V0cHV0CgoyMDA5LTEyLTIxIDE4OjE5OjIzICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWMzcGFyc2UuYzoKCSAgYWMzcGFyc2U6IGZpeCBzY2FubmluZyBmb3IgbmV4dCBzeW5jd29yZAoKMjAwOS0xMi0yMSAxODoxODozOSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJICBiYXNlcGFyc2U6IGFkanVzdCBzZWVrIGhhbmRsaW5nIGFuZCBuZXdzZWdtZW50IHNlbmRpbmcKCSAgUGVyZm9ybSBzYW5pdHkgY2hlY2sgb24gdHlwZSBvZiBzZWVrLCBhbmQgb25seSBwZXJmb3JtIG9uZSB0aGF0IGlzCgkgIGFwcHJvcHJpYXRlbHkgc3VwcG9ydGVkLiAgQWRqdXN0IGRvd25zdHJlYW0gbmV3c2VnbWVudCBldmVudAoJICB0byBmaXJzdCBidWZmZXIgdGltZXN0YW1wIHRoYXQgaXMgc2VudCBkb3duc3RyZWFtLgoKMjAwOS0xMi0yMSAxMTo1OTo0NSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJICBiYXNlcGFyc2U6IG1pbm9yIHJlZmFjdG9yIGNsZWFudXAKCSAgQWxzbyBhZGQgc29tZSBkZWJ1ZyBsb2dnaW5nLgoKMjAwOS0xMi0xOCAyMTowNToxMSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5jOgoJICBmbGFjcGFyc2U6IGxvY2F0ZSBuZXh0IHN5bmMgY29kZSBtb3JlIGVmZmljaWVudGx5CgoyMDA5LTEyLTE4IDIxOjA0OjEyICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZmxhY3BhcnNlLmM6CgkgIGZsYWNwYXJzZTogYmFzZXBhcnNlIHRha2VzIGNhcmUgb2YgaGFuZGxpbmcgbGVmdG92ZXIgcGllY2VzCgoyMDA5LTEyLTE4IDIxOjAyOjQwICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkgIGJhc2VwYXJzZTogaW1wbGVtZW50IGxlZnRvdmVyIGRyYWluaW5nIGluIHB1bGwgbW9kZQoKMjAwOS0xMi0xNyAxMjo0NTozNiArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5jOgoJICBmbGFjcGFyc2U6IHNldCBfT0ZGU0VUIGFuZCBfT0ZGU0VUX0VORCBvbiBvdXRnb2luZyBidWZmZXJzCgoyMDA5LTEyLTE3IDEyOjQ0OjIwICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvTWFrZWZpbGUuYW06CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZmxhY3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZmxhY3BhcnNlLmg6CgkqIGdzdC9hdWRpb3BhcnNlcnMvcGx1Z2luLmM6CgkgIGF1ZGlvcGFyc2VyczogbW92ZSAnZmxhY3BhcnNlJyBpbnRvIGl0CgoyMDA5LTEyLTE2IDE4OjM4OjMzICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkgIGJhc2VwYXJzZTogcHJvdmlkZSBkZWZhdWx0IGNvbnZlcnNpb24gdXNpbmcgYnBzIGlmIG5vIGZwcyBhdmFpbGFibGUKCSAgQWxzbyBzdG9yZSBlc3RpbWF0ZWQgZHVyYXRpb24gYXMgc3VjaCwgcmF0aGVyIHRoYW4gcHJldGVuZGluZyBvdGhlcndpc2UKCSAgKGUuZy4gc2V0IGJ5IHN1YmNsYXNzKS4KCjIwMDktMTItMTggMTM6MzA6MjkgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiBjaGVjayBmb3IgcmVtYWluaW5nIGRhdGEgd2hlbiBkcmFpbmluZyBpbiBwdXNoIG1vZGUKCjIwMDktMTItMTggMTM6MzA6MDcgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiBmaXggcHVsbCBtb2RlIGNhY2hlIHNpemUgY29tcGFyaXNvbgoKMjAwOS0xMi0xOCAxMzowMToxNyArMDEwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWMzcGFyc2UuYzoKCSAgYWMzcGFyc2U6IEZpeCB1bml0aWFsaXplZCB2YXJpYWJsZS4KCjIwMDktMTItMTcgMTQ6NDY6MDEgKzAwMDAgIENocmlzdGlhbiBTY2hhbGxlciA8Y2hyaXN0aWFuLnNjaGFsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvTWFrZWZpbGUuYW06CgkgIFVwZGF0ZSBzcGVjIGZpbGUgYW5kIGZpeCBhYzNwYXJzZXIgaGVhZGVyIGxpc3RpbmcgaW4gTWFrZWZpbGUuYW0KCjIwMDktMTItMTEgMTA6MjU6MTYgLTA4MDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEBzb25nYmlyZG5lc3QuY29tPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSAgYXVkaW9wYXJzZTogZml4IGEgZm9ybWF0IHN0cmluZyBhcyByZXBvcnRlZCBvbiBpcmMuCgoyMDA5LTExLTIzIDE2OjM0OjUwICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWMzcGFyc2UuYzoKCSAgYWMzcGFyc2U6IGVuc3VyZSBzdWZmaWNpZW50IGRhdGEgYXZhaWxhYmxlIGZvciBwYXJzaW5nCgoyMDA5LTEwLTI5IDE1OjE5OjA0ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWMzcGFyc2UuYzoKCSAgYWMzcGFyc2U6IGV4dHJhY3QgYW5kIHVzZSBzb21lIG1vcmUgZGV0YWlscyBmb3IgRW5oYW5jZWQgQWMtMyBzdHJlYW1zCgoyMDA5LTEwLTI5IDE1OjE4OjM3ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmg6CgkgIGJhc2VwYXJzZTogY3VzdG9tIGJ1ZmZlcmZsYWcgaW5kaWNhdGVzIG5vdCB0byBjb3VudCBmcmFtZSBpbiBzdGF0cwoKMjAwOS0xMC0yOCAxNDowODo0MyArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFjM3BhcnNlLmM6CgkgIGFjM3BhcnNlOiBwZXJmb3JtIGFkZGl0aW9uYWwgZnJhbWUgY2hlY2tzIHdoZW4gcmVzeW5jaW5nCgoyMDA5LTEwLTI4IDE0OjA3OjE3ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWMzcGFyc2UuYzoKCSAgYWMzcGFyc2U6IGluZm9ybSBiYXNlIHBhcnNlciBvZiBmcmFtZSBkdXJhdGlvbgoKMjAwOS0xMC0yNyAxNjoxNjo1MCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFjM3BhcnNlLmM6CgkgIGFjM3BhcnNlOiBpbXByb3ZlIHNyYyBjYXBzIHNldHRpbmdzCgoyMDA5LTExLTI3IDE3OjU5OjAzICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvTWFrZWZpbGUuYW06CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWMzcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYzNwYXJzZS5oOgoJKiBnc3QvYXVkaW9wYXJzZXJzL3BsdWdpbi5jOgoJICBhYzNwYXJzZTogaW5pdGlhbCB2ZXJzaW9uCgkgIE1BUkdJTkFMIHJhbmsgZm9yIG5vdzsgbWlnaHQgdGFrZSBzb21lIHRpbWUgZm9yIHNvbWUgKHVzZWZ1bCkKCSAgZnJhbWVkPXRydWUvZmFsc2UgdG8gYXBwZWFyIGhlcmUgYW5kIHRoZXJlLgoKMjAwOS0xMS0yNiAxODozNDo0NSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFtcnBhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YW1ycGFyc2UuaDoKCSAgYW1ycGFyc2U6IHVzZSAoZGVmYXVsdCkgdGltZSBoYW5kbGluZyBvZiBiYXNlcGFyc2VyIGNsYXNzCgoyMDA5LTExLTI2IDE4OjE1OjIxICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvTWFrZWZpbGUuYW06CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YW1ycGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhbXJwYXJzZS5oOgoJKiBnc3QvYXVkaW9wYXJzZXJzL3BsdWdpbi5jOgoJICBhdWRpb3BhcnNlcnM6IG1vdmUgJ2FtcnBhcnNlJyBpbnRvIGl0CgoyMDA5LTExLTI3IDE3OjI3OjMyICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkgIGF1ZGlvcGFyc2VyczogcmVmZXJlbmNlIEdzdEJhc2VQYXJzZSBub3cgbGl2ZXMgaGVyZQoKMjAwOS0xMS0yOCAxODoxMzozMSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYWFjcGFyc2UvTWFrZWZpbGUuYW06CgkqIGdzdC9hYWNwYXJzZS9nc3RhYWNwYXJzZS5jOgoJKiBnc3QvYWFjcGFyc2UvZ3N0YWFjcGFyc2UuaDoKCSogZ3N0L2FhY3BhcnNlL2dzdGJhc2VwYXJzZS5jOgoJKiBnc3QvYWFjcGFyc2UvZ3N0YmFzZXBhcnNlLmg6CgkqIGdzdC9hYWNwYXJzZS9wbHVnaW4uYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9NYWtlZmlsZS5hbToKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYWNwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFhY3BhcnNlLmg6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmg6CgkqIGdzdC9hdWRpb3BhcnNlcnMvcGx1Z2luLmM6CgkgIGF1ZGlvcGFyc2VyczogcmVuYW1lICdhYWNwYXJzZScgcGx1Z2luIHRvIGdlbmVyaWMgJ2F1ZGlvcGFyc2VycycgcGx1Z2luCgoyMDA5LTExLTI2IDE3OjA0OjQzICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hYWNwYXJzZS9NYWtlZmlsZS5hbToKCSogZ3N0L2FhY3BhcnNlL2dzdGFhY3BhcnNlLmM6CgkqIGdzdC9hYWNwYXJzZS9wbHVnaW4uYzoKCSAgYWFjcGFyc2U6IHNlcGFyYXRlIHBsdWdpbiByZWdpc3RyYXRpb24gYW5kIHJlbmFtZSBwbHVnaW4KCjIwMDktMTEtMjYgMTc6MDQ6MzYgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2FhY3BhcnNlL2dzdGFhY3BhcnNlLmM6CgkgIGFhY3BhcnNlOiBlbnN1cmUgc3VmZmljaWVudCBkYXRhIGF2YWlsYWJsZSBiZWZvcmUgYWNjZXNzaW5nCgoyMDA5LTExLTA1IDE0OjMxOjQwICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hYWNwYXJzZS9nc3RhYWNwYXJzZS5jOgoJKiBnc3QvYWFjcGFyc2UvZ3N0YWFjcGFyc2UuaDoKCSAgYWFjcGFyc2U6IHVzZSAoZGVmYXVsdCkgdGltZSBoYW5kbGluZyBvZiBiYXNlcGFyc2VyIGNsYXNzCgoyMDA5LTEwLTI5IDE1OjE5OjM1ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hYWNwYXJzZS9nc3RhYWNwYXJzZS5jOgoJICBhYWNwYXJzZTogZml4dXAgY29tbWVudHMgdG8gQy1zdHlsZQoKMjAwOS0xMC0yOSAxNjowNTowMCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYWFjcGFyc2UvZ3N0YmFzZXBhcnNlLmM6CgkgIGJhc2VwYXJzZTogcmVzZXQgcGFzc3Rocm91Z2ggbW9kZSB0byBkZWZhdWx0IChkaXNhYmxlZCkgb24gYWN0aXZhdGlvbgoKMjAwOS0xMC0yOSAxNToxNjo1OSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYWFjcGFyc2UvZ3N0YmFzZXBhcnNlLmM6CgkgIGJhc2VwYXJzZTogZW5zdXJlIGJ1ZmZlciBtZXRhZGF0YSBpcyB3cml0YWJsZQoKMjAwOS0xMC0yOCAxNDowNjoxMyArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYWFjcGFyc2UvZ3N0YmFzZXBhcnNlLmM6CgkqIGdzdC9hYWNwYXJzZS9nc3RiYXNlcGFyc2UuaDoKCSAgYmFzZXBhcnNlOiBmaXgvZW5oYW5jZSBESVNDT05UIG1hcmtpbmcKCSAgSW4gcGFydGljdWxhciwgY29uc2lkZXIgRElTQ09OVCA9PSAhc3luYywgYW5kIGFsbG93IHN1YmNsYXNzIHRvIHF1ZXJ5CgkgIHN5bmMgc3RhdGUsIGFzIGl0IG1heSB3YW50IHRvIHBlcmZvcm0gYWRkaXRpb25hbCBjaGVja3MgZGVwZW5kaW5nCgkgIG9uIHdoZXRoZXIgc3luYyB3YXMgYWNoaWV2ZWQgZWFybGllciBvbi4KCSAgQWxzbyBhcnJhbmdlIGZvciBzdWJjbGFzcyB0byBxdWVyeSB3aGV0aGVyIGxlZnRvdmVyIGRhdGEgaXMgYmVpbmcgZHJhaW5lZC4KCjIwMDktMTEtMjMgMTU6NDg6MjUgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2FhY3BhcnNlL2dzdGJhc2VwYXJzZS5jOgoJKiBnc3QvYWFjcGFyc2UvZ3N0YmFzZXBhcnNlLmg6CgkgIGJhc2VwYXJzZTogYWRkIHRpbWVzdGFtcCBoYW5kbGluZywgYW5kIGRlZmF1bHQgY29udmVyc2lvbgoJICBJbiBwYXJ0aWN1bGFyLCAob3B0aW9uYWxseSkgcHJvdmlkZSBiYXNlcGFyc2Ugd2l0aCBhIG5vdGlvbiBvZiBmcmFtZXMgcGVyIHNlY29uZAoJICAoYW5kIHRoZXJlZm9yZSBhbHNvIGZyYW1lIGR1cmF0aW9uKSBhbmQgaGF2ZSBpdCB0cmFjayBmcmFtZSBhbmQgYnl0ZSBjb3VudHMuCgkgIFRoaXMgd2F5LCBzdWJjbGFzcyBjYW4gcHJvdmlkZSBiYXNlcGFyc2Ugd2l0aCBmcHMgYW5kIGhhdmUgaXQgcHJvdmlkZSBkZWZhdWx0CgkgIGJ1ZmZlciB0aW1lIG1ldGFkYXRhIGFuZCBjb252ZXJzaW9ucywgdGhvdWdoIHN1YmNsYXNzIGNhbiBzdGlsbCBpbnN0YWxsCgkgIGNhbGxiYWNrcyB0byBoYW5kbGUgc3VjaCBpdHNlbGYuCgoyMDA5LTEwLTI4IDEyOjAyOjAzICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hYWNwYXJzZS9nc3RiYXNlcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiBkb2N1bWVudGF0aW9uIGZpeGVzCgoyMDA5LTEwLTI4IDEyOjAwOjA4ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hYWNwYXJzZS9nc3RiYXNlcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiB1c2VfZml4ZWRfY2FwcyBmb3Igc3JjIHBhZAoJICBBZnRlciBhbGwsIHN0cmVhbSBpcyBhcy1pcywgYW5kIHRoZXJlIGlzIGxpdHRsZSBtb2xkaW5nIHRvIGRvd25zdHJlYW0ncwoJICB0YXN0ZSB0aGF0IGNhbiBiZSBkb25lLiAgSWYgc3ViY2xhc3MgY2FuIGFuZCB3YW50cyB0byBkbyBzbywgaXQgY2FuCgkgIHN0aWxsIG92ZXJyaWRlIGFzIHN1Y2guCgoyMDA5LTExLTIwIDE3OjMyOjEzICswMTAwICBKdWxpZW4gTW91dHRlIDxqdWxpZW5AZmx1ZW5kby5jb20+CgoJKiBnc3QvYWFjcGFyc2UvZ3N0YmFzZXBhcnNlLmM6CgkgIGFhY3BhcnNlOiBGaXggY29tcGlsYXRpb24gd2FybmluZ3MKCjIwMDktMTAtMTEgMTE6MjI6MTEgKzAyMDAgIEpvc2VwIFRvcnJhIDxuNzcwZ2FsYXh5QGdtYWlsLmNvbT4KCgkqIGdzdC9hYWNwYXJzZS9nc3RhYWNwYXJzZS5jOgoJKiBnc3QvYWFjcGFyc2UvZ3N0YmFzZXBhcnNlLmM6CgkgIGFhY3BhcnNlOiBmaXggd2FybmluZ3MgaW4gbWFjb3N4IHNub3cgbGVvcGFyZAoKMjAwOS0wOS0yNSAxNzowMjo1MyArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYWFjcGFyc2UvZ3N0YWFjcGFyc2UuYzoKCSogZ3N0L2FhY3BhcnNlL2dzdGJhc2VwYXJzZS5jOgoJKiBnc3QvYWFjcGFyc2UvZ3N0YmFzZXBhcnNlLmg6CgkgIGFhY3BhcnNlOiBmb3JlZ28gKGJvZ3VzKSBwYXJzaW5nIG9mIGFscmVhZHkgcGFyc2VkIChyYXcpIGlucHV0CgoyMDA5LTA4LTA3IDEzOjA3OjE3ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hYWNwYXJzZS9nc3RiYXNlcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiBwcmV2ZW50IGluZmluaXRlIGxvb3Agd2hlbiBkcmFpbmluZwoKMjAwOS0wOC0wNyAxMzowNjoyOCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYWFjcGFyc2UvZ3N0YmFzZXBhcnNlLmM6CgkgIGJhc2VwYXJzZTogZml4IG1pbm9yIG1lbW9yeSBsZWFrCgoyMDA5LTA3LTE0IDE0OjA4OjA0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hYWNwYXJzZS9nc3RiYXNlcGFyc2UuYzoKCSogZ3N0L2FhY3BhcnNlL2dzdGJhc2VwYXJzZS5oOgoJICBhYWNwYXJzZTogQWRkIGZ1bmN0aW9uIGZvciB0aGUgYmFzZXBhcnNlIHN1YmNsYXNzIHRvIHB1c2ggYnVmZmVycyBkb3duc3RyZWFtCgkgIEFsc28gaGFuZGxlIHRoZSBjYXNlIGdyYWNlZnVsbHkgd2hlcmUgdGhlIHN1YmNsYXNzIGRlY2lkZXMgdG8gZHJvcAoJICB0aGUgZmlyc3QgYnVmZmVycyBhbmQgaGFzIG5vIGNhcHMgc2V0IHlldC4gSXQncyBzdGlsbCByZXF1aXJlZCB0bwoJICBoYXZlIHZhbGlkIGNhcHMgc2V0IHdoZW4gdGhlIGZpcnN0IGJ1ZmZlciBzaG91bGQgYmUgcGFzc2VkIGRvd25zdHJlYW0uCgoyMDA5LTA3LTE0IDE0OjA3OjQ0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hYWNwYXJzZS9nc3RiYXNlcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiBGaXggc2VlayBldmVudCBsZWFraW5nCgoyMDA5LTA2LTE4IDEyOjEzOjI4ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hYWNwYXJzZS9nc3RhYWNwYXJzZS5jOgoJICBhYWNwYXJzZTogQURJRjogZG8gbm90IHNlbmQgYm9ndXMgdGltZXN0YW1wcywgbGVhdmUgdG8gZG93bnN0cmVhbSAoZGVjb2RlcikKCjIwMDktMDYtMDEgMTU6NTM6MjcgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2FhY3BhcnNlL2dzdGFhY3BhcnNlLmM6CgkgIGFhY3BhcnNlOiBmaXggc2FtcGxlIHJhdGUgZXh0cmFjdGlvbiBmcm9tIGNvZGVjIGRhdGEKCSAgSW4gb25lIGNhc2Ugd2UgZXh0cmFjdGVkIHRoZSBzYW1wbGUgcmF0ZSBpbmRleCBmcm9tIHRoZSBjb2RlYyBkYXRhCgkgIGFuZCBzYXZlZCBpdCBhcyBzYW1wbGUgcmF0ZSByYXRoZXIgdGhhbiBnZXR0aW5nIHRoZSByZWFsIHNhbXBsZQoJICByYXRlIGZyb20gdGhlIHRhYmxlLiBGaXggdGhhdCwgYW5kIGFsc28gbWFrZSBzdXJlIHdlIGRvbid0IGFjY2VzcwoJICBub24tZXhpc3RhbnQgdGFibGUgZW50cmllcyBieSBhZGRpbmcgYSBzbWFsbCBoZWxwZXIgZnVuY3Rpb24gdGhhdAoJICBndWFyZHMgYWdhaW5zdCBvdXQtb2YtYm91bmRzIGFjY2VzcyBpbiBjYXNlIG9mIGludmFsaWQgaW5wdXQgZGF0YS4KCjIwMDktMDYtMDEgMTQ6MDI6MzMgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2FhY3BhcnNlL2dzdGFhY3BhcnNlLmM6CgkgIGFhY3BhcnNlLCBhbXJwYXJzZTogcmVtb3ZlIGJvZ3VzIGdzdF9wYWRfZml4YXRlX2NhcHMoKSBjYWxscwoKMjAwOS0wNi0wMSAxMzo1NjoxOCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYWFjcGFyc2UvZ3N0YmFzZXBhcnNlLmM6CgkgIGJhc2VwYXJzZTogcHJvcGFnYXRlIHJldHVybiB2YWx1ZSBvZiBHc3RCYXNlUGFyc2U6OnNldF9zaW5rX2NhcHMoKQoJICBnc3RfYmFzZV9wYXJzZV9zaW5rX3NldGNhcHMoKSBwcmVzdW1hYmx5IHNob3VsZCBmYWlsIGlmIHRoZSBzdWJjbGFzcwoJICByZXR1cm5zIEZBTFNFIGZyb20gaXRzIDo6c2V0X3NpbmtfY2FwcygpIGZ1bmN0aW9uLgoKMjAwOS0wNi0wMSAxMzo0NzowMSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYWFjcGFyc2UvZ3N0YmFzZXBhcnNlLmM6CgkgIGJhc2VwYXJzZTogZG9uJ3QgdHJ5IHRvIEdTVF9MT0cgYW4gYWxyZWFkeS1mcmVlZCBjYXBzIHN0cmluZwoJICBUaGUgcHJvcGVyIHdheSB0byBsb2cgY2FwcyBpcyB2aWEgR1NUX1BUUl9GT1JNQVQgYW55d2F5LgoKMjAwOS0wNi0wMSAxMzowNTozNSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYWFjcGFyc2UvZ3N0YWFjcGFyc2UuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYWFjcGFyc2UuYzoKCSAgYWFjcGFyc2U6IHNldCBjaGFubmVscyBhbmQgcmF0ZSBvbiBvdXRwdXQgY2FwcywgYW5kIGtlZXAgY29kZWNfZGF0YQoJICBDcmVhdGUgb3V0cHV0IGNhcHMgZnJvbSBpbnB1dCBjYXBzLCBzbyB3ZSBtYWludGFpbiBhbnkgZmllbGRzIHdlCgkgIG1pZ2h0IGdldCBvbiB0aGUgaW5wdXQgY2Fwcywgc3VjaCBhcyBjb2RlY19kYXRhIG9yIHJhdGUgYW5kIGNoYW5uZWxzLgoJICBTZXQgY2hhbm5lbHMgYW5kIHJhdGUgb24gdGhlIG91dHB1dCBjYXBzIGlmIHdlIGRvbid0IGhhdmUgaW5wdXQgY2FwcwoJICBvciB0aGV5IGRvbid0IGNvbnRhaW4gc3VjaCBmaWVsZHMuIFdlIGRvIHRoaXMgcGFydGx5IGJlY2F1c2Ugd2UgY2FuLAoJICBidXQgYWxzbyBiZWNhdXNlIHNvbWUgbXV4ZXJzIG5lZWQgdGhpcyBpbmZvcm1hdGlvbi4gVGFncmVhZGJpbiB3aWxsCgkgIGFsc28gYmUgaGFwcHkgYWJvdXQgdGhpcy4KCjIwMDktMDUtMjYgMTk6NDM6NTMgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2FhY3BhcnNlL2dzdGJhc2VwYXJzZS5jOgoJICBiYXNlcGFyc2U6IGZpeCBkZWJ1ZyBjYXRlZ29yeQoKMjAwOS0wNC0yNyAyMjozOToxNSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYWFjcGFyc2UvZ3N0YmFzZXBhcnNlLmM6CgkgIGJhc2VwYXJzZTogZml4IChyZWdyZXNzaW9uIGluKSBuZXdzZWdtZW50IGhhbmRsaW5nCgkgIChhYWNwYXJzZSwgYW1ycGFyc2UsIGZsYWNwYXJzZSkuICBGaXhlcyAjNTgwMTMzLgoKMjAwOS0wNC0wNyAwNDo1MzowMiArMDMwMCAgUmVuw6kgU3RhZGxlciA8bWFpbEByZW5lc3RhZGxlci5kZT4KCgkqIGdzdC9hYWNwYXJzZS9nc3RiYXNlcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiBGaXggc2xpZ2h0bHkgYnJva2VuIGJ1ZmZlci1pbi1zZWdtZW50IGNoZWNrIChhYWNwYXJzZSwgYW1ycGFyc2UsIGZsYWNwYXJzZSkKCjIwMDktMDQtMDUgMDM6NTA6MTkgKzAzMDAgIFJlbsOpIFN0YWRsZXIgPG1haWxAcmVuZXN0YWRsZXIuZGU+CgoJKiBnc3QvYWFjcGFyc2UvZ3N0YmFzZXBhcnNlLmM6CgkgIGJhc2VwYXJzZTogRml4IHB1c2ggbW9kZSBzZWVraW5nIChhYWNwYXJzZSwgYW1ycGFyc2UpCgkgIFNlbmRpbmcgdGhlIGZsdXNoLXN0YXJ0IGV2ZW50IGZvcndhcmQgYmVmb3JlIHRha2luZyB0aGUgc3RyZWFtIGxvY2sgYWN0dWFsbHkKCSAgd29ya3MsIGluIGNvbnRyYXN0IHRvIGRlYWRsb2NraW5nIGluIGRvd25zdHJlYW0gcHJlcm9sbF93YWl0IChodW5rIDEpLgoJICBBZnRlciB0aGF0IHdlIGdldCB0aGUgY2hhaW4gZnVuY3Rpb24gYmVpbmcgc3R1Y2sgaW4gYSBidXN5IGxvb3AuIFRoaXMgaXMgZml4ZWQKCSAgYnkgdXBkYXRpbmcgdGhlIG1pbmltdW0gZnJhbWUgc2l6ZSBpbnNpZGUgdGhlIHN5bmNocm9uaXphdGlvbiBsb29wIGJlY2F1c2UgdGhlCgkgIHN1YmNsYXNzIGFza3MgZm9yIG1vcmUgZGF0YSBpbiB0aGlzIHdheSAoaHVuayAyKS4KCSAgRmluYWxseSwgdGhpcyBsZWFkcyB0byBhIHZlcnkgcHJvYmFibGUgY3Jhc2ggYmVjYXVzZSB0aGUgc3ViY2xhc3MgY2FuIGZpbmQgYQoJICB2YWxpZCBmcmFtZSB3aXRoIGEgc2l6ZSBncmVhdGVyIHRoYW4gdGhlIGN1cnJlbnRseSBhdmFpbGFibGUgZGF0YSBpbiB0aGUKCSAgYWRhcHRlci4gVGhpcyBtYWtlcyB0aGUgc3Vic2VxdWVudCBnc3RfYWRhcHRlcl90YWtlX2J1ZmZlciBjYWxsIHJldHVybiBOVUxMLAoJICB3aGljaCBpcyBub3QgZXhwZWN0ZWQgKGh1bmsgMykuCgoyMDA5LTAzLTMxIDE2OjA3OjQ2ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hYWNwYXJzZS9nc3RiYXNlcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiBEZWxheSBuZXdzZWdtZW50IGFzIGxvbmcgYXMgcG9zc2libGUuCgkgIElmIG5ld3NlZ21lbnQgaXMgc2VudCAodG9vKSBlYXJseSwgY2FwcyBtYXkgbm90IHlldCBiZSBmaXhlZC9zZXQsCgkgIGFuZCBkb3duc3RyZWFtIG1heSBub3QgaGF2ZSBiZWVuIGxpbmtlZC4KCjIwMDktMDMtMTkgMDE6MTc6MjUgKzAyMDAgIFJlbsOpIFN0YWRsZXIgPG1haWxAcmVuZXN0YWRsZXIuZGU+CgoJKiBnc3QvYWFjcGFyc2UvZ3N0YWFjcGFyc2UuYzoKCSAgYWFjcGFyc2U6IEZpeCBidXN5bG9vcCB3aGVuIHNlZWtpbmcuIEZpeGVzICM1NzUzODgKCSAgVGhlIHByb2JsZW0gaXMgdGhhdCBhZnRlciBhIGRpc2NvbnQsIHNldF9taW5fZnJhbWVfc2l6ZSgxMDI0KSBpcyBjYWxsZWQgd2hlbgoJICBkZXRlY3Rfc3RyZWFtIHJldHVybnMgRkFMU0UuIEhvd2V2ZXIsIGRldGVjdF9zdHJlYW0gY2FsbHMgY2hlY2tfYWR0c19mcmFtZQoJICB3aGljaCBzZXRzIHRoZSBmcmFtZSBzaXplIG9uIGl0cyBvd24gdG8gc29tZXRoaW5nIGxhcmdlciB0aGFuIDEwMjQuIFRoaXMgaXMgdGhlCgkgIHNhbWUgc2l0dWF0aW9uIGFzIGluIHRoZSBiZWdpbm5pbmcsIHNvIHRoZSBiYXNlIGNsYXNzIGVuZHMgdXAgY2FsbGluZwoJICBjaGVja192YWxpZF9mcmFtZSBpbiBhbiBlbmRsZXNzIGxvb3AuCgoyMDA5LTAzLTE5IDAwOjMyOjQwICswMjAwICBSZW7DqSBTdGFkbGVyIDxtYWlsQHJlbmVzdGFkbGVyLmRlPgoKCSogZ3N0L2FhY3BhcnNlL2dzdGFhY3BhcnNlLmM6CgkgIGFhY3BhcnNlOiBSZWZhY3RvciBjaGVja192YWxpZF9mcmFtZSB0byBleHBvc2UgYnJva2VuIGNvZGUKCSAgSnVzdCBtb3ZpbmcgY29kZSBhcm91bmQgYW5kIHJlbW92aW5nIGFuIHVuaGVscGZ1bC9taXNsZWFkaW5nIGNvbW1lbnQuCgoyMDA5LTAyLTI3IDExOjI0OjM3ICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvYWFjcGFyc2UvZ3N0YmFzZXBhcnNlLmM6CgkgIGJhc2VwYXJzZTogcmV2ZXJ0IGxhc3QgY2hhbmdlIGFuZCBwcm9wZXJseSBmaXgKCSAgQmFzZXBhcnNlIGludGVybmFseSBicmVha3MgdGhlIHNlbWFudGljcyBvZiBhIF9jaGFpbiBmdW5jdGlvbiBieSBjYWxsaW5nIGl0IHdpdGgKCSAgYnVmZmVyPT1OVUxMLiBUaGUgcmVzb24gSSBiZWxpdmVkIGl0IHdhcyBva2F5IHRvIHJlbW92ZSBpdCB3YXMgdGhhdCB0aGVyZSBpcwoJICBhbHNvIGFuIHVuY2hlY2tlZCBhY2Nlc3MgdG8gYnVmZmVyIGxhdGVyIGluIF9jaGFpbi4gQWN0dWFsbHkgdGhhdCBjb2RlIGlzIHdyb25nLAoJICBhcyBpdCBtb3N0IHByb2JhYmx5IHdhbnRzIHRvIHNldCBkaXNjb250IG9uIHRoZSBvdXRnb2luZyBidWZmZXIuCgoyMDA5LTAyLTI2IDExOjAyOjA2ICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvYWFjcGFyc2UvZ3N0YmFzZXBhcnNlLmM6CgkgIGJhc2VwYXJzZTogcmVtb3ZlIGNoZWNrcyBmb3IgYnVmZmVyPT1OVUxMCgkgIEFjY29yZGlmbiB0byBkb2NzIGZvciBHc3RQYWRDaGFpbkZ1bmN0aW9uIGJ1ZmZlciBjYW5ub3QgYmUgTlVMTC4gSWYgd2Ugd291bGQKCSAgbGVhdmUgdGhlIGNoZWNrLCB3ZSB3b3VsZCBhbHNvIG5lZWQgbW9yZSBzdWNoIGNoZWNrIGJlbG93LgoKMjAwOS0wMi0xMSAwMDoxNTo0MyArMDIwMCAgUmVuw6kgU3RhZGxlciA8bWFpbEByZW5lc3RhZGxlci5kZT4KCgkqIGdzdC9hYWNwYXJzZS9nc3RhYWNwYXJzZS5jOgoJICBhYWNwYXJzZTogRml4IGxpY2Vuc2Ugc3BlY2lmaWVkIGluIHBsdWdpbiBkZXRhaWxzLgoKMjAwOS0wMS0zMCAxODoxODoxMCArMDAwMCAgSmFuIFNjaG1pZHQgPGphbi5zY2htaWR0QHN1bi5jb20+CgoJKiBnc3QvYWFjcGFyc2UvZ3N0YmFzZXBhcnNlLmM6CgkgIEZpeCB0aGUgcmV0dXJuIHZhbHVlIG9mIHRoZSBkZWZhdWx0IHBhcnNlX2ZyYW1lIGZ1bmN0aW9uLgoJICBGaXggdGhlIHJldHVybiB2YWx1ZSBvZiB0aGUgZGVmYXVsdCBwYXJzZV9mcmFtZSBmdW5jdGlvbiBpbiBib3RoCgkgIGNvcGllcyBvZiBHc3RCYXNlUGFyc2UKCjIwMDktMDEtMjMgMTY6MDA6MTAgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9hYWNwYXJzZS9nc3RhYWNwYXJzZS5jOgoJICBMb2cgYWFjIGRldGFpbHMgZm91bmQgaW4gY29kZWNfZGF0YS4KCjIwMDgtMTEtMTMgMTc6MjQ6NTggKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvYWFjcGFyc2UvZ3N0YWFjcGFyc2UuYzogRG9uJ3QgYXV0b3BsdWcgYWFjcGFyc2UgdW50aWwgaXQgd29ya3MuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hYWNwYXJzZS9nc3RhYWNwYXJzZS5jOiAocGx1Z2luX2luaXQpOgoJICBEb24ndCBhdXRvcGx1ZyBhYWNwYXJzZSB1bnRpbCBpdCB3b3Jrcy4KCjIwMDgtMTEtMTMgMTU6MjA6MTUgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIHRlc3RzL2NoZWNrLzogQWRkIHVuaXQgdGVzdHMgZm9yIG5ldyBwYXJzZXJzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hYWNwYXJzZS5jOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2FtcnBhcnNlLmM6CgkgIEFkZCB1bml0IHRlc3RzIGZvciBuZXcgcGFyc2Vycy4KCjIwMDgtMTEtMTMgMTQ6MjE6MzkgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC86IEZpeCBiYXNlcGFyc2UgdHlwZSBuYW1lLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYWFjcGFyc2UvZ3N0YmFzZXBhcnNlLmM6CgkgICogZ3N0L2FtcnBhcnNlL2dzdGJhc2VwYXJzZS5jOgoJICBGaXggYmFzZXBhcnNlIHR5cGUgbmFtZS4KCjIwMDgtMTEtMTMgMTI6NTk6MzQgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIEFkZCB0d28gbmV3IGJhc2VwYXJzZSBiYXNlZCBwYXJzZXJzIChhYWMgYW5kIGFtcikgZnJvbSBCdWcgIzUxODg1Ny4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAqIGdzdC9hYWNwYXJzZS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvYWFjcGFyc2UvZ3N0YWFjcGFyc2UuYzoKCSAgKiBnc3QvYWFjcGFyc2UvZ3N0YWFjcGFyc2UuaDoKCSAgKiBnc3QvYWFjcGFyc2UvZ3N0YmFzZXBhcnNlLmM6CgkgICogZ3N0L2FhY3BhcnNlL2dzdGJhc2VwYXJzZS5oOgoJICAqIGdzdC9hbXJwYXJzZS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvYW1ycGFyc2UvZ3N0YW1ycGFyc2UuYzoKCSAgKiBnc3QvYW1ycGFyc2UvZ3N0YW1ycGFyc2UuaDoKCSAgKiBnc3QvYW1ycGFyc2UvZ3N0YmFzZXBhcnNlLmM6CgkgICogZ3N0L2FtcnBhcnNlL2dzdGJhc2VwYXJzZS5oOgoJICBBZGQgdHdvIG5ldyBiYXNlcGFyc2UgYmFzZWQgcGFyc2VycyAoYWFjIGFuZCBhbXIpIGZyb20gQnVnICM1MTg4NTcuCgoyMDExLTAzLTIwIDAxOjA4OjM4ICswMTAwICBIYXZhcmQgR3JhZmYgPGhhdmFyZC5ncmFmZkB0YW5kYmVyZy5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgaml0dGVyYnVmZmVyOiBNYWtlIHNyY19xdWVyeSBNVC1zYWZlCgkgIEl0IGlzIHBvc3NpYmxlIHRoYXQgdGhlIGVsZW1lbnQgbWlnaHQgYmUgZ29pbmcgZG93biB3aGlsZSB0aGUgZXZlbnQgYXJyaXZlcwoKMjAxMS0wNC0wOCAxNToyMjo0NyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvanBlZy9nc3RqcGVnZGVjLmM6CgkgIGpwZWdkZWM6IFVucmVmIGV2ZW50IGlmIHRoZSBwYXJlbnQgZWxlbWVudCBkaXNhcHBlYXJlZAoKMjAxMS0wNC0wOCAxNToyMjoxOSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgaml0dGVyYnVmZmVyOiBVbnJlZiBldmVudCBpZiB0aGUgcGFyZW50IGVsZW1lbnQgZGlzYXBwZWFyZWQKCjIwMTEtMDMtMjEgMTY6MDQ6MzQgKzAxMDAgIEhhdmFyZCBHcmFmZiA8aGF2YXJkLmdyYWZmQHRhbmRiZXJnLmNvbT4KCgkqIGV4dC9qcGVnL2dzdGpwZWdkZWMuYzoKCSAganBlZ2RlYzogTWFrZSB1cHN0cmVhbSBldmVudHMgTVQtc2FmZQoKMjAxMS0wMy0yMSAxNjowNDozNCArMDEwMCAgSGF2YXJkIEdyYWZmIDxoYXZhcmQuZ3JhZmZAdGFuZGJlcmcuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIGppdHRlcmJ1ZmZlcjogTWFrZSB1cHN0cmVhbSBldmVudHMgTVQtc2FmZQoKMjAxMS0wNC0wOCAxNToyMDo1MSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwcHRkZW11eC5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNzcmNkZW11eC5jOgoJICBydHA6IFVucmVmIGV2ZW50cyBpZiB0aGUgcGFyZW50IGVsZW1lbnQgZGlzYXBwZWFyZWQKCjIwMTEtMDEtMDYgMTg6MjQ6MzYgKzAxMDAgIE9sZSBBbmRyw6kgVmFkbGEgUmF2bsOlcyA8b3Jhdm5hc0BjaXNjby5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwcHRkZW11eC5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNzcmNkZW11eC5jOgoJICBydHBtYW5hZ2VyOiBmaXggcGFkIGNhbGxiYWNrcyBzbyB0aGV5IGhhbmRsZSB3aGVuIHBhcmVudCBnb2VzIGF3YXkKCSAgMSkgV2UgbmVlZCB0byBsb2NrIGFuZCBnZXQgYSBzdHJvbmcgcmVmIHRvIHRoZSBwYXJlbnQsIGlmIHN0aWxsIHRoZXJlLgoJICAyKSBJZiBpdCBoYXMgZ29uZSBhd2F5LCB3ZSBuZWVkIHRvIGhhbmRsZSB0aGF0IGdyYWNlZnVsbHkuCgkgIFRoaXMgaXMgbmVjZXNzYXJ5IGluIG9yZGVyIHRvIHNhZmVseSBtb2RpZnkgYSBydW5uaW5nIHBpcGVsaW5lLiBIYXMgYmVlbgoJICBvYnNlcnZlZCB3aGVuIGEgc3RyZWFtaW5nIHRocmVhZCBpcyBkb2luZyBhIGJ1ZmZlcl9hbGxvYygpIHdoaWxlIGFuCgkgIGFwcGxpY2F0aW9uIHRocmVhZCBzZW5kcyBhbiBldmVudCBvbiBhIHBhZCBmdXJ0aGVyIGRvd25zdHJlYW0sIGFuZCBmcm9tCgkgIHdpdGhpbiBhIHBhZCBwcm9iZSAoaG9sZGluZyBTVFJFQU1fTE9DSykgY2FycmllcyBvdXQgdGhlIHBpcGVsaW5lIHBsdW1iaW5nCgkgIHdoaWxlIHRoZSBzdHJlYW1pbmcgdGhyZWFkIGhhcyBpdHMgYnVmZmVyX2FsbG9jKCkgaW4gcHJvZ3Jlc3MuCgoyMDEwLTExLTI2IDE1OjIwOjA0ICswMTAwICBIYXZhcmQgR3JhZmYgPGhhdmFyZC5ncmFmZkB0YW5kYmVyZy5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6CgkgIHJ0cHNlc3Npb246IG1ha2UgaXRlcmF0ZV9pbnRlcm5hbF9saW5rcyBNVC1zYWZlCgoyMDExLTA0LTA4IDE0OjM1OjA0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSAgUmV2ZXJ0ICJQdWxzZXNpbms6IEFsbG93IGNodW5rcyB1cCB0byBidWZzaXplIGluc3RlYWQgb2Ygc2Vnc2l6ZSIKCSAgVGhpcyByZXZlcnRzIGNvbW1pdCAxZTJjMTQ2N2FlMDQyYTNjNmJiMWE2YmMwYzA3YWVmZjEzZWM1ZWRiLgoJICBUaGUgY29tbWl0IGNhdXNlcyBwdWxzZXNpbmsgdG8gaWdub3JlIHRoZSBsYXRlbmN5LXRpbWUgYmFzZWF1ZGlvc2luayBwcm9wZXJ0eS4KCjIwMTEtMDQtMDggMTE6MTM6MDcgKzAyMDAgIEFsZXhleSBGaXNoZXIgPGJ1Zy10cmFja0BmaXNoZXItcHJpdmF0Lm5ldD4KCgkqIGdzdC9ydHAvZ3N0cnRwc3BlZXhwYXkuYzoKCSAgcnRwc3BlZXhwYXk6IERvIG5vdCB0cmFuc21pdHQgc2FtcGxlcyB3aXRoIEdBUCBmbGFnCgkgIElmIHdlIGdldCBHQVAgc2FtcGxlcywgdGhlcmUgaXMgbm8gbmVlZCB0byB0cmFuc21pdHQgaXQuCgkgIEluIHNvbWUgc2l0dWF0aW9ucywgbWljcm9waG9uZSBpcyBtdXRlZCwgd2UgY2FuIGRyb3AgbmV0IHRyYWZmaWNrCgkgIHVzYWdlIHRvIH4xIGtiaXQvcy4gV2l0aG91dCBwYXRjaCBpdCB3aWxsIHN0YXkgfjIwIGtiaXQvcwoKMjAxMS0wNC0wOCAxMToxMTo1OCArMDIwMCAgQWxleGV5IEZpc2hlciA8YnVnLXRyYWNrQGZpc2hlci1wcml2YXQubmV0PgoKCSogZXh0L3NwZWV4L2dzdHNwZWV4ZW5jLmM6CgkgIHNwZWV4ZW5jOiBVc2Ugc3BlZXggaW50ZXJuIHNpbGVuY2UgZGV0ZWN0aW9uCgkgIFNwZWV4IGhhcyBidWlsZCBpbiBzaWxlbmNlIGRldGVjdGlvbi4gSWYgc3BlZXhfZW5jb2RlX2ludCByZXR1cm5zIDAsCgkgIHRoYW4gdGhlcmUgaXMgc2lsZW5jZSBhbmQgc2FtcGxlIGRvIG5vdCBuZWVkIHRvIGJlIHRyYW5zbWl0dGVkLgoJICBUaGlzIHdvcmsgb25seSBpZiB2YnI9MSBhbmQgZHR4PTEgb3B0aW9uYXMgYXJlIGVuYWJsZWQuCgkgIFNvIGlmIHdlIGdldCAwLCB3ZSBhZGQgR0FQIGZsYWcgdG8gdGhlIHNhbXBsZS4KCjIwMTEtMDQtMDcgMTk6MDQ6MzMgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGFjM2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwYWMzcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwYnZkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGNlbHRkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGNlbHRwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBkdmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZHZwYXkuYzoKCSAgcnRwOiBwb3J0IHNvbWUgcGF5L2RlcGF5bG9hZGVycwoKMjAxMS0wNC0wNSAxOToxNToxMSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC91ZHAvZ3N0bXVsdGl1ZHBzaW5rLmM6CgkgIHVkcHNpbms6IGhhbmRsZSBzY2F0aGVyIGdhdGhlciBmcm9tIGJ1ZmZlcnMKCSAgSXRlcmF0ZSB0aGUgbWVtb3J5IGJsb2NrcyBvbiB0aGUgYnVmZmVyIGFuZCBzZW5kIHRoZW0gdXNpbmcgc2VuZG1zZy4KCjIwMTEtMDQtMDUgMTc6MjY6NDQgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHBkZWMuYzoKCSAgcnRwZGVjOiByZXNldCBzdHJ1Y3R1cmUgYmVmb3JlIHVzZQoKMjAxMS0wNC0wNSAxNzoyMDowOCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkgIE1lcmdlIGJyYW5jaCAnbWFzdGVyJyBpbnRvIDAuMTEKCSAgQ29uZmxpY3RzOgoJICBnc3QvcnRzcC9nc3RydHNwc3JjLmMKCjIwMTEtMDQtMDUgMTc6MTI6MjggKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IGhhbmRsZSAqIGNvbnRyb2wgY29ycmVjdGx5CgkgIFBhcnNlIHNlc3Npb24gY29udHJvbCBhdHRyaWJ1dGVzIHdoZW4gbm8gbWVkaWEgY29udHJvbCBhdHRyaWJ1dGUgaXMKCSAgcHJlc2VudC4gVGhyZWF0ICogY29udHJvbCBhdHRyaWJ1dGVzIGFzIGFuIGVtcHR5IHN0cmluZywganVzdCBsaWtlIHRoZQoJICBzcGVjIHNheXMuCgkgIEZpeGVzICM2NDY4MDAKCjIwMTEtMDQtMDUgMTc6MDY6NDEgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHBkZWMuYzoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJKiBnc3QvdWRwL2dzdGR5bnVkcHNpbmsuYzoKCSogZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuYzoKCSogZ3N0L3VkcC9nc3R1ZHBzcmMuYzoKCSAgcnRzcC91ZHA6IHBvcnQgdG8gMC4xMQoKMjAxMS0wNC0wNSAxNDoyODo1NCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkgIG1hdHJvc2thbXV4OiBBZGQgc3VwcG9ydCBmb3IgQS1MYXcgYW5kIMK1LUxhdwoJICBGaXhlcyBidWcgIzY0NjU2Ny4KCjIwMTEtMDQtMDUgMDk6NDQ6MDEgKzAyMDAgIEpvbiBOb3JkYnkgPGpvbm9ub3JAZ21haWwuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvamFjay9nc3RqYWNrYXVkaW9zaW5rLmM6CgkqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NyYy5jOgoJICBqYWNrOiBGaXggYnVpbGQgd2l0aCBqYWNrIDAuMTIwLjEKCSAgOTU0NDYyMjY3NGMwZDBhMzE0N2E5YjUxMTQ1MTU5YjAyZWVjNjhlOSBjaGVja2VkCgkgIGZvciAwLjEyMC4yIGFuZCBsYXRlciwgYnV0IHRoZSBkZXByZWNhdGlvbiB3YXMgaW50cm9kdWNlZCBpbgoJICAwLjEyMC4xCgoyMDExLTA0LTA1IDExOjEzOjM2ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F2aS9nc3RhdmlzdWJ0aXRsZS5jOgoJICBhdmk6IG1vcmUgcG9ydGluZyB0byAwLjExCgoyMDExLTA0LTA1IDEyOjA1OjE5ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBzeXMvdjRsMi9nc3R2NGwycmFkaW8uaDoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5oOgoJKiBzeXMvdjRsMi9nc3R2NGwyeG92ZXJsYXkuYzoKCSAgZG9jczogZml4IGRvY3VlbW50YXRpb24gd2FybmluZ3MgKGFuZCByZWluZGVudCkKCjIwMTEtMDQtMDQgMTk6MTc6NDMgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkqIGdzdC9hdmkvZ3N0YXZpbXV4LmM6CgkgIGF2aTogcG9ydCB0byAwLjExIEFQSQoKMjAxMS0wNC0wNCAxNzozNDoxNyArMDIwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBnc3QvdmlkZW9taXhlci9ibGVuZG9yYy1kaXN0LmM6CgkqIGdzdC92aWRlb21peGVyL2JsZW5kb3JjLWRpc3QuaDoKCSAgdmlkZW9taXhlcjogdXBkYXRlIG9yYyBkaXN0IGZpbGVzCgoyMDExLTA0LTA0IDE1OjU3OjEwICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIDFjY2JlMDkgdG8gYzNjYWZlMQoKMjAxMS0wMy0wMSAxNDowODoxMiArMDUzMCAgQXJ1biBSYWdoYXZhbiA8YXJ1bi5yYWdoYXZhbkBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkgIHB1bHNlc2luazogQWx3YXlzIGNhbGwgcGFfc3RyZWFtX25ld193aXRoX3Byb3BsaXN0KCkKCSAgcGFfc3RyZWFtX25ld193aXRoX3Byb3BsaXN0KCkgY2FuIHRha2UgYSBOVUxMIHByb3BsaXN0LCBzbyB3ZSBkb24ndCBuZWVkCgkgIHRvIGNvbmNlcm4gb3Vyc2VsdmVzIHdpdGggd2hldGhlciBpdCdzIE5VTEwgb3Igbm90LgoKMjAxMS0wNC0wNCAxMTozMzoxMCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IHBlcmZvcm0gcG9zdC1mbHVzaCBzdGF0ZSB0cmlja3MgZG93bnN0cmVhbSB0byB1cHN0cmVhbQoJICAuLi4gc28gZG93bnN0cmVhbSBpcyBzZXQgd2hlbiB1cHN0cmVhbSByZXN1bWVzIGRhdGEgZmxvdy4KCjIwMTEtMDQtMDQgMTE6Mjc6MjkgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBkaXN0cmlidXRlIG5ldyBiYXNlX3RpbWUgdG8gbWFuYWdlciBjaGlsZHJlbiBmb2xsb3dpbmcgZmx1c2ggc2VlawoJICAuLi4gYnkgZm9yY2luZyBhIHN0YXRlIGNoYW5nZWQgdG8gUExBWUlORywgd2hpY2ggc2hvdWxkIG90aGVyd2lzZSBiZSBhCgkgIG5vLW9wIGFzIGVsZW1lbnRzIHNob3VsZCBhbHJlYWR5IGJlIGluIHRoYXQgc3RhdGUuCgkgIEluIHBhcnRpY3VsYXIsIGppdHRlcmJ1ZmZlciBuZWVkcyBuZXcgYmFzZV90aW1lIGFzIHNvb24gYXMgcG9zc2libGUgdG8gcGVyZm9ybQoJICBwcm9wZXIgdGltaW5nIChlLmcuIGVvcyB0aW1lb3V0IGhhbmRsaW5nKSBhbmQgY2FuJ3Qgd2FpdCBmb3IgdGhlIG5ldyBiYXNlX3RpbWUKCSAgdGhhdCB3aWxsIGJlIGRpc3RyaWJ1dGVkIHdoZW4gdGhlIHdob2xlIHBpcGVsaW5lIHJldHVybnMgdG8gUExBWUlORy4KCSAgU2VlIGJ1ZyAjNjQ2Mzk3LgoKMjAxMS0wNC0wNCAxMTozNTo1OSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgUmV2ZXJ0ICJqaXR0ZXJidWZmZXI6IHJlc2V0IGVsZW1lbnQgYmFzZV90aW1lIHVwb24gZmx1c2giCgkgIFRoaXMgcmV2ZXJ0cyBjb21taXQgZjg0YjhhNjljYmE5YzUzOGY1NTQ2ODY5Y2I0ZWY0NTRhZDVlZmI5ZC4KCSAgRml4ZXMgYnVnICM2NDYzOTcuCgoyMDExLTA0LTA0IDEwOjMxOjQ0ICswMTAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOgoJKiBnc3QvZmx2L2dzdGZsdm11eC5jOgoJICBmbHY6IFNwZWNpZnkgdGhlIG9ubHkgcG9zc2libGUgc3RyZWFtLWZvcm1hdCBmb3IgaDI2NCBpbiB0aGUgcGFkIHRlbXBsYXRlcy4KCjIwMTEtMDQtMDQgMTA6MDc6NDIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBDaGVjayBmb3IgaW52YWxpZCAoZW1wdHkpIGNsYXNzaWZpY2F0aW9uIGluZm8gZW50aXR5IHN0cmluZ3MKCSAgT3RoZXJ3aXNlIHRoZSBjbGFzc2lmaWNhdGlvbiBzdHJpbmcgY2FuIGJlIGVtcHR5IGFuZCBnc3RfdGFnX2xpc3RfYWRkKCkgd2lsbAoJICBjb21wbGFpbiBvciBoYXZlIGEgXDAgaW4gdGhlIGZpcnN0IGZvdXIgYnl0ZXMsIHdoaWNoIGlzIHdyb25nIHRvby4KCjIwMTEtMDQtMDQgMTA6MDE6MjYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBZZWFyIDAgaXMgbm90IGEgdmFsaWQgeWVhciBmb3IgR0RhdGUgYW5kIHRoZSBwcm9sZXB0aWMgZ3JlZ29yaWFuIGNhbGVuZGFyCgoyMDExLTA0LTAxIDEzOjE4OjU1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mbGFjL2dzdGZsYWNlbmMuYzoKCSAgZmxhY2VuYzogQWRkIHN1cHBvcnQgZm9yIHdyaXRpbmcgTUVUQURBVEFfQkxPQ0tfUElDVFVSRSBibG9ja3MgZm9yIEdTVF9UQUdfSU1BR0UgYW5kIEdTVF9UQUdfUFJFVklFV19JTUFHRQoKMjAxMS0wNC0wMSAxMTozMzo1NCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyLmM6CgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIyLmM6CgkgIHZpZGVvbWl4ZXJbMl06IFVzZSBvcmNfbWVtc2V0KCkgaW5zdGVhZCBvZiBtZW1zZXQoKQoKMjAxMS0wMS0xOSAxODowNjo0NSAtMDcwMCAgTGFuZSBCcm9va3MgPGRpcmp1ZEBnbWFpbC5jb20+CgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyLmM6CgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIuaDoKCSAgdmlkZW9taXhlcjogQWRkIHRyYW5zcGFyZW50IGJhY2tncm91bmQgb3B0aW9uIGZvciBhbHBoYSBjaGFubmVsIGZvcm1hdHMKCjIwMTEtMDEtMTkgMTI6MDc6MTcgLTA3MDAgIExhbmUgQnJvb2tzIDxkaXJqdWRAZ21haWwuY29tPgoKCSogZ3N0L3ZpZGVvbWl4ZXIvYmxlbmQuYzoKCSogZ3N0L3ZpZGVvbWl4ZXIvYmxlbmQuaDoKCSogZ3N0L3ZpZGVvbWl4ZXIvYmxlbmRvcmMub3JjOgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyMi5jOgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyMi5oOgoJICB2aWRlb21peGVyMjogQWRkIHRyYW5zcGFyZW50IGJhY2tncm91bmQgb3B0aW9uIGZvciBhbHBoYSBjaGFubmVsIGZvcm1hdHMKCSAgVGhpcyBvcHRpb24gYWxsb3dzIHRoZSB2aWRlb21peGVyMiBlbGVtZW50IHRvIG91dHB1dCBhIHZhbGlkIGFscGhhCgkgIGNoYW5uZWwgd2hlbiB0aGUgaW5wdXRzIGNvbnRhaW4gYSB2YWxpZCBhbHBoYSBjaGFubmVsLiBUaGlzIGFsbG93cwoJICBtaXhpbmcgdG8gb2NjdXIgaW4gbXVsdGlwbGUgc3RhZ2VzIHNlcmlhbGx5LgoJICBUaGUgZm9sbG93aW5nIHBpcGVsaW5lIHNob3dzIGFuIGV4YW1wbGUgb2Ygc3VjaCBhIHBpcGVsaW5lOgoJICBnc3QtbGF1bmNoIHZpZGVvdGVzdHNyYyBiYWNrZ3JvdW5kLWNvbG9yPTB4MDAwMDAwIHBhdHRlcm49YmFsbCAhIHZpZGVvL3gtcmF3LXl1dixmb3JtYXQ9XChmb3VyY2NcKUFZVVYgISB2aWRlb21peGVyMiBiYWNrZ3JvdW5kPXRyYW5zcGFyZW50IG5hbWU9bWl4MSAhIHZpZGVvbWl4ZXIyIG5hbWU9bWl4MiAhIGZmbXBlZ2NvbG9yc3BhY2UgISBhdXRvdmlkZW9zaW5rICB2aWRlb3Rlc3RzcmMgISB2aWRlby94LXJhdy15dXYsZm9ybWF0PVwoZm91cmNjXClBWVVWICEgbWl4Mi4KCSAgVGhlIGZpcnN0IHZpZGVvdGVzdHNyYyBpbiB0aGlzIHBpcGVsaW5lIGNyZWF0ZXMgYSBtb3ZpbmcgYmFsbCBvbiBhCgkgIHRyYW5zcGFyZW50IGJhY2tncm91bmQuIEl0IGlzIHRoZW4gcGFzc2VkIHRvIHRoZSBmaXJzdCB2aWRlb21peGVyMi4KCSAgUHJldmlvdXNseSwgdGhpcyB2aWRlb21peGVyMiB3b3VsZCBoYXZlIGZvcmNlZCB0aGUgYWxwaGEgY2hhbm5lbCB0bwoJICAxLjAgYW5kIGdpdmVuIGEgYmFja2dyb3VuZCBvZiBjaGVja2VyLCBibGFjaywgb3Igd2hpdGUgdG8gdGhlCgkgIHN0cmVhbS4gV2l0aCB0aGlzIHBhdGNoLCBob3dldmVyLCB5b3UgY2FuIG5vdyBzcGVjaWZ5IHRoZSBiYWNrZ3JvdW5kCgkgIGFzIHRyYW5zcGFyZW50LCBhbmQgdGhlIGFscGhhIGNoYW5uZWwgb2YgdGhlIGlucHV0IHdpbGwgYmUKCSAgcHJlc2VydmVkLiBUaGlzIGFsbG93cyBmb3IgZnVydGhlciBtaXhpbmcgZG93bnN0cmVhbSwgYXMgaXMgc2hvd24gaW4KCSAgdGhlIGFib3ZlIHBpcGVsaW5lIHdoZXJlIHRoZSBhIHNlY29uZCB2aWRlb21peGVyMiBpcyB1c2VkIHRvIG1peCBpbiBhCgkgIGJhY2tncm91bmQgb2YgYW4gc21wdGUgdmlkZW90ZXN0c3JjLiBTbyB0aGUgcmVzdWx0IGlzIGEgYmFsbCBob3ZlcmluZwoJICBvdmVyIHRoZSBzbXB0ZSB0ZXN0IHNvdXJjZS4gVGhpcyBjb3VsZCwgb2YgY291cnNlLCBoYXZlIGJlZW4KCSAgYWNjb21wbGlzaGVkIHdpdGggYSBzaW5nbGUgbWl4ZXIgZWxlbWVudCwgYnV0IHN0YWdlZCBtaXhpbmcgaXMgdXNlZnVsCgkgIHdoZW4gaXQgaXMgbm90IGNvbnZlbmllbnQgdG8gbWl4IGFsbCB2aWRlbyBhdCBvbmNlIChlLmcuIGEgcGlwZWxpbmUKCSAgd2hlcmUgYSBmb3JlZ3JvdW5kIGFuZCBiYWNrZ3JvdW5kIGJpbiBleGlzdCBhbmQgYXJlIG1peGVkIGF0IHRoZSBmaW5hbAoJICBvdXRwdXQsIGJ1dCB0aGUgZm9yZWdyb3VuZCBiaW4gbmVlZHMgYW4gaW50ZXJuYWwgbWl4ZXIgdG8gY3JlYXRlCgkgIHRyYW5zaXRpb25zIGJldHdlZW4gY2xpcHMpLgoJICBGaXhlcyBidWcgIzYzOTk5NC4KCjIwMTEtMDMtMzEgMTM6MjU6MDAgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJICBwdWxzZXNpbms6IGFsc28gdW5jb3JrIGR1cmluZyBFT1Mgd2FpdGluZyAoYW5kIGFmdGVyIEVPUyBpcyByZW5kZXJlZCkKCSAgUHVsc2VzaW5rIHdhcyByZWNlbnRseSBjaGFuZ2VkIHRvIGRlZmVyIHVuY29ya2luZyB1bnRpbCB0aGVyZSBpcyBkYXRhCgkgIHRvIHdyaXRlLiBUaGlzIGNvbmRpdGlvbiB3aWxsIGhvd2V2ZXIgbmV2ZXIgb2NjdXIgd2hlbiBFT1MgaW4gYmVpbmcKCSAgcmVuZGVyZWQgKHNpbmNlIHRoYXQgbWFya3MgdGhlIGVuZCBvZiBkYXRhKS4gQ2hhbmdpbmcgdG8gUEFVU0VEIHN0YXRlCgkgIHdoaWxlIEVPUyBpcyBiZWluZyB3YWl0ZWQgb24gcmVzdWx0cyBpbiBhIGhhbmc6IHBhdXNpbmcgY29ya3MgdGhlCgkgIHN0cmVhbSwgd2hpY2ggd2lsbCBuZXZlciBiZSB1bmRvbmUgc2luY2UgdGhlcmUgaXMgbm8gbW9yZSBkYXRhIHdoZW4KCSAgZ29pbmcgYmFjayB0byBQTEFZSU5HLiBJZiBwdWxzZXNpbmsgaXMgdGhlIGNsb2NrIHByb3ZpZGVyLCBkZWFkbG9jawoJICBlbnN1ZXMgc2luY2UgdGltZSBkb2Vzbid0IGNvbnRpbnVlIGluIGNvcmtlZCBzdGF0ZSBhbmQgdGhlIGNsb2NrIGlkCgkgIGZvciBFT1Mgd2FpdCBuZXZlciBmaXJlcy4KCSAgRml4ZXMgIzY0NTk2MS4KCjIwMTEtMDMtMjkgMTY6MzM6NDMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwYmluLmM6CgkgIHJ0cGJpbjogRG9uJ3QgdHJ5IHRvIHJlcXVlc3QgdGhlIHNhbWUgcmVxdWVzdCBwYWQgdHdpY2UKCjIwMTEtMDMtMjggMjM6NDY6NDcgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5jOgoJKiBleHQvZmxhYy9nc3RmbGFjZGVjLmg6CgkgIGZsYWNkZWM6IGZpeCBpc3N1ZXMgd2l0aCBsYXJnZSBtZXRhZGF0YSBibG9ja3Mgd2hlbiBzdHJlYW1pbmcgdW5mcmFtZWQgZmxhYwoJICBQYXJzZSBtZXRhZGF0YSBibG9ja3Mgd2hlbiBoYW5kbGluZyB1bnBhcnNlZCBmbGFjIGluIHB1c2ggbW9kZS4gVGhpcwoJICB3b3JrcyBhcm91bmQgYSBidW5jaCBvZiBpc3N1ZXMgd2l0aCB0aGUgZmxhYyBkZWNvZGVyIHdoZW4gaGFuZGxpbmcKCSAgbWV0YWRhdGEgYmxvY2tzIHRoYXQgYXJlIGxhcmdlciB0aGFuIHRoZSBtYXguIGZsYWMgZnJhbWVzaXplLCB3aGljaAoJICBjb3ZlcmFydCBibG9ja3Mgb2Z0ZW4gYXJlLiBXZSBuZWVkIHRvIGhhdmUgYWxsIHRoZSBkYXRhIGZvciB0aGVzZQoJICBibG9ja3MgYXZhaWxhYmxlIHdoZW4gd2UgcGFzcyBkYXRhIHRvIGxpYmZsYWMuCgkgIGh0dHA6Ly9nc3RyZWFtZXItZGV2ZWwuOTY2MTI1Lm40Lm5hYmJsZS5jb20vRmxhYy1maWxlcy10aGF0LXdpbGwtcGxheWJhY2stYnV0LW5vdC1zdHJlYW0tdGQzMzM4MTk4Lmh0bWwjYTMzOTUyNzYKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTU2Njc2OQoKMjAxMS0wMy0yOCAyMTowNTozMSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hbHBoYS9nc3RhbHBoYS5jOgoJKiBnc3QvYWxwaGEvZ3N0YWxwaGFjb2xvci5jOgoJKiBnc3QvYXBldGFnL2dzdGFwZWRlbXV4LmM6CgkqIGdzdC92aWRlb2ZpbHRlci9nc3RnYW1tYS5jOgoJKiBnc3QvdmlkZW9maWx0ZXIvZ3N0dmlkZW9iYWxhbmNlLmM6CgkqIGdzdC92aWRlb2ZpbHRlci9nc3R2aWRlb2ZsaXAuYzoKCSAgcGx1Z2luczogcG9ydCB0byBuZXcgbWVtb3J5IEFQSQoKMjAxMS0wMy0yOCAyMDo1MDo1OSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkgIE1lcmdlIGJyYW5jaCAnbWFzdGVyJyBpbnRvIDAuMTEtZmRvCgoyMDExLTAzLTI3IDIxOjM5OjUwICswMjAwICBKYW4gVXJiYcWEc2tpIDx3dWxjemVyQHd1bGN6ZXIub3JnPgoKCSogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOgoJKiBnc3QvZmx2L2dzdGZsdmRlbXV4Lmg6CgkgIGZsdmRlbXV4OiBEbyBub3QgYnVpbGQgYW4gaW5kZXggaWYgdXBzdHJlYW0gaXMgbm90IHNlZWthYmxlCgkgIEFuIGluZGV4IGlzIG5vdCB1c2VmdWwgaWYgdXBzdHJlYW0gY2Fubm90IGhhbmRsZSBzZWVrcyBhbmQgYnVpbGRpbmcgaXQKCSAgZm9yIGluZmluaXRlIGZpbGVzLCBmb3IgaW5zdGFuY2UgRkxWIHN0cmVhbXMsIHJlc3VsdHMgaW4gYSBtZW1vcnkgbGVhay4KCjIwMTEtMDMtMjcgMDE6MTk6NTggKzAzMDAgIEFsZXhleSBDaGVybm92IDw0ZXJub3ZAZ21haWwuY29tPgoKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlbzRsaW51eDIueG1sOgoJKiBzeXMvdjRsMi9NYWtlZmlsZS5hbToKCSogc3lzL3Y0bDIvZ3N0djRsMi5jOgoJKiBzeXMvdjRsMi9nc3R2NGwycmFkaW8uYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnJhZGlvLmg6CgkgIHY0bDI6IG5ldyB2NGwycmFkaW8gZWxlbWVudCB0byBjb250cm9sIGFuYWxvZyByYWRpbyBkZXZpY2VzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NDAxMTgKCjIwMTEtMDMtMjUgMjI6MjI6NDMgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSAxOTNiNzE3IHRvIDFjY2JlMDkKCjIwMTEtMDMtMjUgMTQ6NTY6MDYgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gYjc3ZTJiZiB0byAxOTNiNzE3CgoyMDExLTAzLTI1IDEyOjUzOjQzICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvY2Fpcm8vTWFrZWZpbGUuYW06CgkgIGNhaXJvOiBmaXggdGhlIG5hbWUgb2YgdGhlICotbWFyc2hhbGwubGlzdCBmaWxlIHRvIHVuYnJlYWsgbWFrZSBkaXN0Y2hlY2sKCjIwMTEtMDMtMjUgMDk6MzE6MDMgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSBkODgxNGI2IHRvIGI3N2UyYmYKCjIwMTEtMDMtMjUgMDk6MDY6MTYgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSA2YWFhMjg2IHRvIGQ4ODE0YjYKCjIwMTEtMDMtMjUgMDA6MTA6NTYgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5jOgoJKiBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uaDoKCSAgc3BlY3RydW06IHJlZmFjdG9yIHByb2Nlc3NpbmcgbG9vcCBmb3IgYmxvY2sgYmFzZWQgb3BlcmF0aW9uCgkgIFByZXZpb3VzbHkgdGhlIGNoYWluIGZ1bmN0aW9uIHdhcyB3b3JraW5nIHNhbXBsZSBmcmFtZSBiYXNlZC4gSW4gZWFjaCBjeWNsZSBpdAoJICB3YXMgY2hlY2tpbmcgaWYgaXQgaXMgdGltZSB0byBydW4gYSBmZnQgb3IgaWYgaXQgaXMgdGltZSB0byBzZW5kIGEgbWVzc2FnZS4KCSAgTm93IHdlIGNoYW5nZWQgdGhlIGRhdGEgdHJhbnNmb3JtIGZ1bmN0aW9ucyB0byB3b3JrIG9uIGEgYmxvY2sgb2YgZGF0YSBhbmQKCSAgY2FsY3VsYXRlIHRoZSBtYXggbGVuZ3RoIHVudGlsIGVpdGhlciB7ZW5kLW9mLWRhdGEsIGRvLWZmdCwgZG8tbXNnfS4gVGhpcyBhbGxvd3MKCSAgdXMgYWxzbyB0byBhdm9pZCB0aGUgZHVwbGljYXRlZCBjb2RlIGZvciB0aGUgc2luZ2xlIGFuZCBtdWx0aS1jaGFubmVsIGNhc2UgKGFzCgkgIHRoZSB0cmFuc2Zvcm1lcnMgaGF2ZSB0aGUgc2FtZSBzaWduYXR1cmUgbm93KS4KCjIwMTEtMDMtMjQgMjM6NDc6MzMgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgamFjazogdW5icmVhayB0aGUgYnVpbGQgZm9yIGphY2syIHVzZXJzCgkgIEphY2syICh2ZXJzaW9ucyAxLlguWCkgZG9lcyBvbmx5IGhhdmUgdGhhdCBBUEkgaW4gc3ZuLiBMaW1taXQgdGhlIHVzZSBvZiB0aGUgbmV3CgkgIEFQSSBmb3IgamFjazEgdmVyc2lvbnMuCgoyMDExLTAzLTI0IDE4OjQ5OjE5ICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIDZhZWM2YjkgdG8gNmFhYTI4NgoKMjAxMS0wMy0yNCAxNDoxNDowOSArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmM6CgkgIHNwZWN0cnVtOiBmaXggdGhlIGVycm9yIGFjY3VtdWxhdGlvbiBhbmQgZnJhbWVzX3RvZG8gaGFuZGxpbmcKCSAgRXZlbiB0aG91Z2ggd2Ugd3JhcCBhcm91bmQgdGhlIGFjY3VtdWxhdGVkIHNlY29uZCwgd2Ugc3RpbGwgbmVlZCB0byBhZGQgdGhlCgkgIGVycm9yIGluIHRoZSBzYW1lIGN5Y2xlLiBJbmNyZWFzZSB0aGUgdG9kbyBpbiB0aGUgc2FtZSBjb25kaXRpb25hbCBhcyBhZnRlcndhcmRzCgkgIHRoZSBhY2N1bXVsYXRlZCBlcnJvciB3aWxsIGJlIGJlbG93IG9uZSBzZWNvbmQuCgoyMDExLTAzLTI0IDEzOjUzOjEyICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uYzoKCSAgc3BlY3RydW06IGZpeCBicm9rZW4gY29kZSByZXN1bHRpbmcgZm9yIGEgd3Jvbmcgc3BsaXR1cCBvZiBjaGFuZ2VzCgoyMDExLTAzLTIyIDE2OjI5OjUzICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uYzoKCSogZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmg6CgkgIHNwZWN0cnVtOiBzaW1wbGlmeSB0aGUgaGF2ZV9pbnRlcnZhbCBjYWxjdWxhdGlvbgoJICBNb3ZlIHNvbWUgb2YgdGhlIGNvbmRpdGlvbnMgdG8gdGhlIHBsYWNlcyB3aGVyZSB0aGUgZGVwZW5kZW50IHZhcmlhYmxlcyBjaGFuZ2UuCgoyMDExLTAzLTIyIDE2OjI2OjQ1ICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uYzoKCSAgc3BlY3RydW06IHVzZSBsb2NhbCB2YXIgZm9yIGlucHV0X2RhdGEgZnVuY3Rpb24KCSAgQXZvaWQgZGVyZWZlcmVuY2luZyB0aGUgaW5wdXRfZGF0YSBmcm9tIHRoZSBpbnN0YW5jZSBmcm9tIHdpdGhpbiBhbiBpbm5lciBsb29wLgoKMjAxMS0wMy0yMyAxNjozNDoxNiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvc3BlZXgvZ3N0c3BlZXhkZWMuYzoKCSogZXh0L3NwZWV4L2dzdHNwZWV4ZGVjLmg6CgkgIHNwZWV4ZGVjOiBHZXQgYW5kIHVzZSBzdHJlYW1oZWFkZXIgZnJvbSB0aGUgY2FwcyBpZiBwb3NzaWJsZQoJICBUaGlzIGFsbG93cyBwbGF5YmFjayBvZiBzdHJlYW1zIHdoZXJlIHRoZSBzdHJlYW1oZWFkZXIgYnVmZmVycwoJICB3ZXJlIGRyb3BwZWQgZnJvbSB0aGUgc3RyZWFtIGZvciBzb21lIHJlYXNvbi4KCjIwMTEtMDMtMjIgMTk6MzY6MzEgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2Zsdi9nc3RmbHZtdXguYzoKCSAgZmx2bXV4OiB1c2UgcnVubmluZyB0aW1lIGZvciBzeW5jaHJvbml6YXRpb24KCSAgRml4ZXMgIzQzMjYxMi4KCjIwMTEtMDMtMjIgMTk6MzY6MjEgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJICBtYXRyb3NrYW11eDogdXNlIHJ1bm5pbmcgdGltZSBmb3Igc3luY2hyb25pemF0aW9uCgkgIEZpeGVzICM0MzI2MTIuCgoyMDExLTAzLTIyIDE5OjM1OjU4ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdmkvZ3N0YXZpbXV4LmM6CgkgIGF2aW11eDogdXNlIHJ1bm5pbmcgdGltZSBmb3Igc3luY2hyb25pemF0aW9uCgkgIFNlZSBidWcgIzQzMjYxMi4KCjIwMTEtMDMtMjIgMTI6NTM6MjIgKzAxMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXNAZGViZXRoZW5jb3VydC5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZS5hYzogcmVkdW5kYW50IHVzZXMgb2YgQUNfTVNHX1JFU1VMVCgpCgkgIGNsZWFuZWQgdGhlIHJlZHVuZGFudCB1c2VzIG9mIEFDX01TR19SRVNVTFQoKSBpbiBjb25maWd1cmUuYWMKCjIwMTEtMDMtMTggMTk6MzQ6NTcgKzAxMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXNAZGViZXRoZW5jb3VydC5jb20+CgoJKiBhdXRvZ2VuLnNoOgoJICBhdXRvZ2VuOiB3aW5nbyBzaWduZWQgY29tbWVudAoKMjAxMS0wMy0xNiAxMDo0Mzo0NyArMDEwMCAgUm9iZXJ0IFN3YWluIDxyb2JlcnQuc3dhaW5AY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2phY2svZ3N0amFja2F1ZGlvc2luay5jOgoJICBqYWNrYXVkaW9zaW5rOiBGaXggdHlwbyBmcm9tIDk1NDQ2MjI2NzRjMGQwYTMxNDdhOWI1MTE0NTE1OWIwMmVlYzY4ZTkKCjIwMTEtMDMtMTYgMDk6Mzg6NDMgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSAgbWF0cm9za2E6IE1hcmsgdGFnIG1hcHBpbmcgdGFibGVzIGFzIHN0YXRpYyBjb25zdAoKMjAxMS0wMy0xNiAwOTozNzo1OCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkgIG1hdHJvc2thbXV4OiBVc2UgQVJUSVNUIGluc3RlYWQgb2YgQVVUSE9SIGZvciBHU1RfVEFHX0FSVElTVAoKMjAxMS0wMy0xNiAwOTozNTo1MCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWlkcy5oOgoJICBtYXRyb3NrYWRlbXV4OiBVc2UgQVJUSVNUIE1hdHJvc2thIHRhZyBpbnN0ZWFkIG9mIEFVVEhPUiBmb3IgR1NUX1RBR19BUlRJU1QKCSAgQVVUSE9SIG9ubHkgZXhpc3RlZCBpbiBhbiBvbGQgdmVyc2lvbiBvZiB0aGUgc3BlYyBhbmQgQVJUSVNUIGlzCgkgIHRoZSBuZXcgcmVwbGFjZW1lbnQgZm9yIHRoaXMuIFdlIGFyZSBzdGlsbCByZWFkaW5nIGJvdGggdG8gc3RpbGwKCSAgYmUgY29tcGF0aWJsZSB3aXRoIG9sZCBmaWxlcy4KCSAgRml4ZXMgYnVnICM2NDQ4NzUuCgoyMDExLTAzLTE1IDIwOjE5OjQ4ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3ZpZGVvZmlsdGVyLmM6CgkgIHRlc3RzOiBlbmFibGUgbW9yZSBmb3JtYXRzIGluIHZpZGVvZmlsdGVyIHVuaXQgdGVzdCwgY2hlY2sgbW9yZSByZXNvbHV0aW9ucwoKMjAxMS0wMy0xNCAxOToxNDowNyAtMDQwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb2ZpbHRlci9nc3R2aWRlb2ZsaXAuYzoKCSAgdmlkZW9mbGlwOiBGaXggYnVmZmVyIG92ZXJmbG93IGJ1ZyBmb3Igb2RkIHJlc29sdXRpb25zIGFuZCBZNDIyIGNvbG9yc3BhY2VzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NDQ3NzMKCjIwMTEtMDMtMTUgMTk6MzY6MDEgKzAyMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3NwZWV4L2dzdHNwZWV4ZGVjLmM6CgkgIHNwZWV4ZGVjOiBzaWxlbmNlIHdhcm5pbmcgbWVzc2FnZSB3aGVuIGFwcHJvcHJpYXRlCgkgIElmIHdlIGRpZCBub3Qga25vdyBob3cgbWFueSBmcmFtZXMgdG8gZXhwZWN0LCB0aGVuIHdlIGdldCBhbiB1bmV4cGVjdGVkCgkgIGVuZCBvZiBzdHJlYW0gd2hlbiB0cnlpbmcgdG8gZGVjb2RlIG1vcmUgZnJhbWVzIHRoYXQgYXJlIHRoZXJlLCBpZiB0aGVyZQoJICBhcmUgbGVmdG92ZXIgYml0cyB0byBwYWQgdG8gdGhlIG5leHQgYnl0ZQoKMjAxMS0wMy0xNCAxOToxNDowNyAtMDQwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb2ZpbHRlci9nc3R2aWRlb2ZsaXAuYzoKCSAgdmlkZW9mbGlwOiBBZGQgc3VwcG9ydCBmb3IgWVVZMiwgVVZZViBhbmQgWVZZVSBjb2xvcnNwYWNlcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjQ0NzczCgoyMDExLTAzLTE1IDA5OjQzOjM1ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3ZpZGVvZmlsdGVyLmM6CgkgIHRlc3RzOiBpbiB2aWRlb2ZpbHRlciB1bml0IHRlc3QgYWxzbyBjaGVjayB3aXRoICdvZGQnIHdpZHRocyBhbmQgaGVpZ2h0cwoJICBBbmQgb25seSB1c2Ugb25lIHRlc3Qgc3VpdGUuCgoyMDExLTAzLTE0IDE5OjI4OjA3ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9zcGVleC9nc3RzcGVleGRlYy5jOgoJICBzcGVleGRlYzogQWx3YXlzIHByb2Nlc3MgdGhlIG51bWJlciBvZiBmcmFtZXMgcGVyIHBhY2tldCBhcyBzcGVjaWZpZWQgaW4gdGhlIGhlYWRlcgoJICBMb29raW5nIGF0IHRoZSByZW1haW5pbmcgYml0cyBpbiB0aGUgYml0c3RyZWFtIGFmdGVyIGRlY29kaW5nIGEKCSAgc2luZ2xlIGZyYW1lIGNhbid0IGJlIHVzZWQgYXMgbG9vcCBjb25kaXRpb24uIFRoZSByZW1haW5pbmcKCSAgYml0cyBtaWdodCBub3QgZ2l2ZSBhIGNvbXBsZXRlIGZyYW1lIGFuZCB0aGUgc3BlZXggZGVjb2RlciB3aWxsCgkgIHRoZW4gb3V0cHV0IG5vdGhpbmcgYnV0IGFjY2VzcyB1bmluaXRpYWxpemVkIG1lbW9yeSwgd2hpY2ggbGVhZHMKCSAgdG8gdmFsZ3JpbmQgd2FybmluZ3MuCgkgIEZpeGVzIGJ1ZyAjNjQ0NjY5LgoKMjAxMS0wMy0xNCAxNTo0Njo1MCArMDEwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDxhbW9yYWxlc0BmbHVtb3Rpb24uY29tPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJICBtYXRyb3NrYW11eDogcmV0dXJuIFRSVUUgZnJvbSBzaW5rIHBhZCBldmVudCBmdW5jdGlvbiBmb3IgdGFnIGV2ZW50cywgd2hpY2ggYXJlIGhhbmRsZWQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY0NDczMAoKMjAxMS0wMy0xMiAwMDo0NDozMSArMDUzMCAgUGhpbGlwIErDpGdlbnN0ZWR0IDxwaGlsaXBqQG9wZXJhLmNvbT4KCgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSAgcHVsc2VzaW5rOiBCZXR0ZXIgZml4IGZvciBkZWFkbG9jayBvbiBmYWlsZWQgY29ubmVjdAoJICBUaGlzIHJldmVydHMgdGhlIHByZXZpb3VzIGZpeCB0aGF0IHdvdWxkIGNhdXNlIGEgZG91YmxlLXVubG9jayB3aGVuIHRoZQoJICBzdHJlYW0gY29ubmVjdCBmYWlsZWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NDQ1MTAKCjIwMTEtMDMtMTEgMjM6MDY6MzEgKzA1MzAgIEFydW4gUmFnaGF2YW4gPGFydW4ucmFnaGF2YW5AY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJICBwdWxzZXNpbms6IEZpeCBkZWFkbG9jayBpZiBjb25uZWN0aW5nIHRvIFBBIGZhaWxzCgkgIENvbW1pdCBkZDRlYzIyZSBpbnRyb2R1Y2VkIGEgZGVhZGxvY2sgaW4gdGhlIGZhaWx1cmUgcGF0aCB3aGlsZSB0cnlpbmcKCSAgdG8gY29ubmVjdCB0byBQdWxzZUF1ZGlvLiBUaGlzIG1ha2VzIHN1cmUgd2UgZHJvcCB0aGUgbG9jayBvbiB0aGUKCSAgcmVzb3VyY2UgbXV0ZXggdG8gYXZvaWQgdGhpcy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY0NDUxMAoKMjAxMS0wMy0xMSAxNjo1OToxMCArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgIHRlc3RzOiBvcmRlciBzdGF0ZS10ZXN0IGJsYWNrbGlzdCBhbmQgYWRkIGphY2sgZWxlbWVudHMKCSAgSmFjayBhdWRpbyBzcmMvc2luayBlbGVtZW50cyByZWNlbnRseSBnb3QgbW92ZWQgZnJvbSBiYWQgYW5kIHNob3VsZCBiZSBleGNsdWRlZAoJICBmcm9tIHRoZSB0ZXN0IChsaWtlIHRoZSBvdGhlciBkZXZpY2Ugc3BlY2lmaWMgc291cmNlIGFuZCBzaW5rcykuCgkgIEZpeGVzICM2NDQyODgKCjIwMTEtMDMtMTEgMTM6NDc6MjYgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2R2L2dzdGR2ZGVtdXguYzoKCSAgZHZkZW11eDogQ2hhaW4gdXAgdG8gdGhlIHBhcmVudCBjbGFzcycgOjpzZW5kX2V2ZW50IGZvciBub24tc2VlayBldmVudHMKCjIwMTEtMDMtMTEgMTM6NDY6MDUgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2R2L2dzdGR2ZGVtdXguYzoKCSAgZHZkZW11eDogRml4IHJlZmNvdW50IGlzc3VlcyB3aXRoIHRoZSBzZWVrIGV2ZW50CgkgIEZpeGVzIGJ1ZyAjNjQyOTYzLgoKMjAxMS0wMy0xMSAwOTo1NDowMiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkgIGRvY3M6IGZpeCBwdWxzZXNpbmsgZ3RrLWRvYyBtYXJrdXAKCjIwMTEtMDMtMTEgMTA6Mjk6MDggKzAxMDAgIFBoaWxpcHBlIE5vcm1hbmQgPHBub3JtYW5kQGlnYWxpYS5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NpbmsuYzoKCSogZXh0L2phY2svZ3N0amFja2F1ZGlvc3JjLmM6CgkgIGphY2s6IGZpeCBidWlsZCBhZ2FpbnN0IGphY2sgMC4xMjAuMgoJICBqYWNrX3BvcnRfZ2V0X3RvdGFsX2xhdGVuY3koKSBoYXMgYmVlbiBkZXByZWNhdGVkIGluIGZhdm9yIG9mCgkgIGphY2tfcG9ydF9nZXRfbGF0ZW5jeV9yYW5nZSgpLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjQ0NDc3CgoyMDExLTAzLTEwIDE0OjI5OjI1ICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uYzoKCSAgc3BlY3RydW06IG1vcmUgY29tbWVudHMgYW5kIHR1bmUgYW5kIGxvZ2dpbmcKCjIwMTEtMDMtMTAgMTQ6MTU6NDIgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5jOgoJICBzcGVjdHJ1bTogYXZvaWQgdW5uZWNjZXNhcnkgZXh0cmEgZmZ0IHJ1bnMKCSAgQmVmb3JlIGl0IHdhcyBwb3NzaWJsZSB0aGF0IHdlIHJ1biBhbiBleHRyYSBmZnQgd2hlbiB0aGUgdGltZSBmb3Igc2VuZGluZyBhIG5ldwoJICBtZXNzYWdlIGlzIGR1ZS4gT25seSBkbyB0aGlzIGlmIHdlIGhhdmUgbm90IHJ1biB0aGUgZmZ0IGZvciB0aGUgaW50ZXJ2YWwgYXQgYWxsLgoKMjAxMS0wMy0xMCAxNDoxMjowMSArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmM6CgkgIHNwZWN0cnVtOiBvbmx5IHNjYWxlIHRoZSB2ZWN0b3JzIHRoYXQgd2UgYXJlIHByb2Nlc3NpbmcKCSAgUGhhc2UgaXMgbm90IHByb2R1Y2VkIGJ5IGRlZmF1bHQsIHNvIGxldHMgbm90IHNjYWxlIGl0IHVuY29uZGl0aW9uYWxseSB0byBzYXZlIGEKCSAgZmV3IGN5Y2xlcy4KCjIwMTEtMDMtMTAgMTQ6MTA6MjUgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5jOgoJKiBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uaDoKCSAgc3BlY3RydW06IHB1dCBudW1iZXIgb2YgY2hhbm5lbHMgdG8gaW5zdGFuY2UgdmFyaWFibGUKCSAgV2hlbiBmcmVlaW5nIGRhdGEgdGhlIGZvcm1hdCBtaWdodCBoYXZlIGNoYW5nZWQuIFRodXMgd2UgbmVlZCB0byByZW1lbWJlciBmb3IKCSAgd2hpY2ggZm9ybWF0IHdlIGFsbG9jYXRlZCBtZW1vcnkuCgoyMDExLTAzLTEwIDEwOjI3OjE0ICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uYzoKCSAgc3BlY3RydW06IHVwZGF0ZSBkb2MgcmV2aWV3IHN0YW1wCgoyMDExLTAzLTEwIDEwOjIyOjI5ICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uYzoKCSogZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmg6CgkgIHNwZWN0cnVtOiB1c2UgZnVuY3Rpb24gcG9pbnRlcnMgZm9yIGRhdGEgcmVhZGVycwoJICBEb24ndCBjaGVjayB0aGUgZm9ybWF0IGZvciBlYWNoIHNhbXBsZSBmcmFtZSB0byByZWFkLiBXZSBjYW4gbWFrZSB0aGF0IGRlY2lzc2lvbgoJICBpbiBfc2V0dXAgYWxyZWFkeS4gVGhpcyBpcyBzdGlsbCBub3QgaWRlYWwgYXMgd2UgY2FsbCB0aGUgZnVuY3Rpb24gcGVyIGZyYW1lLgoJICBJZGVhbGx5IHdlIGRldGVybWluZSBob3cgbWFueSBzYW1wbGVzIHdlIGNhbiBjb3B5IGFuZCBoYXZlIGEgbG9vcCBpbiB0aGUgaW5wdXQKCSAgcmVhZGVyLiBBcyBhbiBhbHRlcm5hdGl2ZSB3ZSBtaWdodCBhbHNvIGNvbnNpZGVyIHRvIHVzZSB0aGUgZmZ0IHZhcmlhbnRzIGZvciB0aGUKCSAgdmFyaW91cyBmb3JtYXRzIGFuZCBub3QgY29udmVydCB0byBmbG9hdCBmb3IgYWxsIGNhc2VzIC0gd2Ugd291bGQgc3RpbGwgbmVlZCB0bwoJICBtaXggb3IgZGVpbnRlcmxlYXZlIHRob3VnaC4KCjIwMTEtMDMtMDkgMTc6MDc6NDcgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmg6CgkgIHJ0c3BzcmM6IGltcHJvdmUgcmVjb3ZlcnkgZnJvbSBmYWlsZWQgc2VlawoJICBJbiBjYXNlIHNlcnZlci1zaWRlIGZhaWxzIHRvIHBlcmZvcm0gc2VlaywgaS5lLiBQTEFZIGF0IG5vbi16ZXJvIHJlcXVlc3RlZAoJICBwb3NpdGlvbiwgcmVjb3Zlcnkgc28gZmFyIHdvdWxkIGFycmFuZ2UgZm9yIHN0cmVhbWluZyB0byBjb250aW51ZSwgYWxiZWl0CgkgIGhhdmluZyBsb3N0IHBvc2l0aW9uIHRyYWNraW5nIGluIHRoZSBwcm9jZXNzLiAgU28sIHF1ZXJ5IHBvc2l0aW9uIHByaW9yCgkgIHRvIHNlZWsgYW5kIHVzZSB1cG9uIGZhaWxlZCBzZWVrLgoKMjAxMS0wMy0wOSAxNjo1MTowMCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgaml0dGVyYnVmZmVyOiBoYW5kbGUgcG9zaXRpb24gcXVlcnkKCjIwMTEtMDMtMDkgMTY6NTc6MjggKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5jOgoJKiBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uaDoKCSAgc3BlY3RydW06ICBtdWx0aS1jaGFubmVsIHN1cHBvcnQKCSAgQWRkIGEgYm9vbGVhbiBtdWx0aS1jaGFubmVsIHByb3BlcnR5IHdpdGggYSBkZWZhdWx0IG9mIEZBTFNFLiBXaGVuIHNldCB0byBUUlVFCgkgIHRoZSBlbGVtZW50IHdvbid0IG1peCBhbGwgaW5wdXQgY2hhbm5lbHMgdG8gbW9ubywgYnV0IGluc3RlYWQgcnVuIGEgRkZUIG9uIGVhY2gKCSAgY2hhbm5lbC4gSW4gdGhhdCBjYXNlIHRoZSByZXN1bHQgbWVzc2FnZSB3b3VsZCBjb250YWluIGEgMiBkaW1lbnNpb25hbCBhcnJheQoJICBvZiBjaGFubmVsIHggZGF0YSBmb3IgbWFnbml0dWRlIGFuZCBwaGFzZS4KCSAgQVBJOiBHc3RTcGVjdHJ1bTptdWx0aS1jaGFubmVsCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD01OTM0ODIKCjIwMTEtMDMtMDkgMTY6NTU6NTYgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5jOgoJICBzcGVjdHJ1bTogbW9yZSB4cmVmcyBpbiB0aGUgZG9jcwoKMjAxMS0wMy0wOSAxMjo0MToxNSArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmM6CgkgIHNwZWN0cnVtOiBmYWN0b3Igb3V0IHRoZSBjb2RlIHRoYXQgYWNjdW11bGF0ZWQgc2FtcGxlcyBpbnRvIHRoZSByaW5nLWJ1ZmZlcgoJICBVc2UgYSBzZXBhcmF0ZSBmdW5jdGlvbiB0byByZWFkIGEgc2FtcGxlIGZyYW1lIGludG8gYSByaW5nYnVmZmVyIHNsb3QuIEluIHRoZQoJICBmdXR1cmUgd2UgY2FuIHVzZSBmb3JtYXQtc3BlY2lmaWMgZnVuY3Rpb24gcG9pbnRlciB0byBhdm9pZCB0aGUgcmVvY2N1cmluZwoJICBmb3JtYXQgY2hlY2tzLgoKMjAxMS0wMy0wOSAxMjozODo1MiArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmM6CgkgIHNwZWN0cnVtOiBwdWxsIGZvcm1hdCB0byB0ZW1wIHZhciB0byBpbXByb3ZlIHJlYWRhYmlsaXR5IG9mIGxpbmVzIHVzaW5nIGl0CgoyMDExLTAzLTA5IDEyOjIwOjExICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uYzoKCSAgc3BlY3RydW06IGNvZGUgY2xlYW51cCBmb3IgY29weWluZyBkYXRhIHRvIHJpbmctYnVmZmVyCgkgIFJlbmFtZSBmcCB0byBpc19mbG9hdCBhbmQgcmVzdHJ1Y3R1cmUgaWYtZWxzZSBwYXJ0IGZvciBoYW5kbGluZyB0aGUgZGlmZmVyZW50IGZvcm1hdHMuCgoyMDExLTAzLTA5IDExOjQwOjQ4ICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uYzoKCSogZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmg6CgkgIHNwZWN0cnVtOiBhZGQgYSBHc3RTcGVjcnR1bUNoYW5uZWwgY29udGV4dCBzdHJ1Y3R1cmUKCSAgV2Ugbm93IGtlZXAgdGhlIGZmdCBkYXRhIHRoYXQgaXMgcmVsYXRlZCB0byBvbmUgY2hhbm5lbCBpbiBhIHNlcGFyYXRlIHN0cnVjdHVyZQoJICB0byBwcmVwYXJlIGZvciBtdWx0aWNoYW5uZWwgc3VwcG9ydC4gV2UgYWxzbyByZWZhY3RvciB0aGUgY29kZSB0byBvcGVyYXRlIG1vcmUKCSAgb2Z0ZW4gb24gdGhlIGNoYW5uZWwgY29udGV4dC4KCjIwMTEtMDMtMDkgMTE6MTg6MTkgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5jOgoJICBzcGVjdHJ1bTogY2FsbCB0aGUgaW5zdGFuY2UgdmFyIHNwZWN0cnVtIGluc3RlYWQgb2YgZmlsdGVyCgoyMDExLTAzLTA5IDExOjE0OjM3ICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uYzoKCSAgc3BlY3RydW06IGRvbid0IHZhbHVlIHdlIGFscmVhZHkgdG9vayBmcm9tIHRoZSBndmFsdWUKCjIwMTEtMDMtMDggMTc6MjY6MTcgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJICBNZXJnZSBicmFuY2ggJ21hc3RlcicgaW50byAwLjExCgkgIENvbmZsaWN0czoKCSAgY29uZmlndXJlLmFjCgoyMDExLTAzLTA4IDE3OjAyOjMwICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2RlYnVndXRpbHMvZWZlbmNlLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkqIHN5cy94aW1hZ2UveGltYWdldXRpbC5jOgoJICBtZXRhOiB1cGRhdGUgZm9yIG5ldyBBUEkKCjIwMTEtMDMtMDggMTY6Mjg6MjcgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSAgTWVyZ2UgYWQtaG9jIHJlbGVhc2UgYnJhbmNoICcwLjEwLjI4JwoKPT09IHJlbGVhc2UgMC4xMC4yOCA9PT0KCjIwMTEtMDMtMDggMTU6NDc6NTIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogQ2hhbmdlTG9nOgoJKiBORVdTOgoJKiBSRUxFQVNFOgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi0xMzk0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhY29sb3IueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYW5ub2RleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hcGV0YWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9meC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9kZXRlY3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXZpLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhY2FzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhaXJvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWN1dHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWludGVybGFjZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmVuY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZmZWN0di54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lcXVhbGl6ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXNkc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbGFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHhkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2NvbmZlbGVtZW50cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZGtwaXhidWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tMmsxLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzdHJ0cG1hbmFnZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taGFsZWxlbWVudHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWN5ZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW1hZ2VmcmVlemUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXJsZWF2ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwZWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGV2ZWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWF0cm9za2EueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlmaWxlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpcGFydC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uYXZpZ2F0aW9udGVzdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3M0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zc2F1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBuZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wdWxzZWF1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXF1aWNrdGltZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXBsYXlnYWluLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHNwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNoYXBld2lwZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaG91dDJzZW5kLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNtcHRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlY3RydW0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdGFnbGliLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXVkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlbzRsaW51eDIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9ib3gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9jcm9wLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvZmlsdGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvbWl4ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2ZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teGltYWdlc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXk0bWVuYy54bWw6CgkqIGdzdC1wbHVnaW5zLWdvb2QuZG9hcDoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICBSZWxlYXNlIDAuMTAuMjgKCSAgQWQtaG9jIHJlbGVhc2UgdG8gZml4IGJ1aWxkIGlzc3VlIHdpdGggbmV3ZXIga2VybmVscy4KCjIwMTEtMDMtMDMgMDA6MTY6NDcgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvdjRsMl9jYWxscy5oOgoJICB2NGwyOiByZW1vdmUgdW5uZWNlc3NhcnkgbGludXgvdmlkZW9kZXYuaCBpbmNsdWRlCgkgIENhdXNlcyBjb21waWxhdGlvbiBpc3N1ZXMgd2l0aCBuZXdlciBrZXJuZWwgaGVhZGVycyB3aGVyZSB0aGUgb2xkCgkgIHY0bCBpbnRlcmZhY2UgaGFzIGJlZW4gcmVtb3ZlZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY0MzcxNgoKMjAxMS0wMy0wOCAxMDoxNDoyMCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkgIE1lcmdlIGJyYW5jaCAnbWFzdGVyJyBpbnRvIDAuMTEKCSAgQ29uZmxpY3RzOgoJICB0ZXN0cy9leGFtcGxlcy9jYWlyby9NYWtlZmlsZS5hbQoKMjAxMS0wMy0wNyAxNjo1Njo0MyArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgaml0dGVyYnVmZmVyOiBhbHNvIGVzdGltYXRlIGVvcyBpZiB2ZXJ5IG5lYXIgZW9zCgoyMDExLTAzLTA3IDE2OjU2OjE4ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBqaXR0ZXJidWZmZXI6IGF2b2lkIHRyeWluZyB0byBidWZmZXIgbW9yZSB0aGFuIGlzIGF2YWlsYWJsZS4KCSAgVGhhdCBpcywgaW4gY2FzZSBvZiBzaG9ydCAob3IgbmVhciBlb3Mgb2YpIHN0cmVhbSwgZGVhZGxvY2sgKHVudGlsIHRpbWVvdXQpCgkgIHdvdWxkIG9jY3VyIHRyeWluZyB0byBidWZmZXIgbW9yZSB0aGFuIGlzIHlldCBmb3J0aGNvbWluZy4KCjIwMTEtMDMtMDcgMTE6MDE6MDYgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIGppdHRlcmJ1ZmZlcjogcmVzZXQgZWxlbWVudCBiYXNlX3RpbWUgdXBvbiBmbHVzaAoJICAuLi4gdG8gYXJyYW5nZSBmb3IgcHJvcGVybHkgc2NoZWR1bGVkIHRpbWVvdXQgKGZvbGxvd2luZyBzZWVrKS4KCjIwMTEtMDMtMDcgMTA6NTQ6MjIgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvZXhhbXBsZXMvY2Fpcm8vY2Fpcm9fb3ZlcmxheS5jOgoJICBjYWlyb292ZXJsYXk6IEFkZCBhIGJ1cyBoYW5kbGVyIHRvIHRoZSBleGFtcGxlIHRvIGhhbmRsZSBFT1MvRVJST1IvV0FSTklORwoJICBBbHNvIGNsZWFuIHVwIHRoZSBwaXBlbGluZSBwcm9wZXJseS4KCjIwMTEtMDMtMDcgMTA6NDc6MjMgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvZXhhbXBsZXMvTWFrZWZpbGUuYW06CgkgIGV4YW1wbGVzOiBBbHdheXMgZGlzdCB0aGUgY2Fpcm8gZXhhbXBsZQoKMjAxMS0wMy0wNyAxMDo0NjoxMiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9leGFtcGxlcy9jYWlyby9NYWtlZmlsZS5hbToKCSAgY2Fpcm9vdmVybGF5OiBVc2UgTERBREQgaW5zdGVhZCBvZiBMREZMQUdTIGZvciBsaWJzIGFuZCBhZGQgJChHU1RfTElCUykKCjIwMTEtMDMtMDUgMjM6MjI6NTggKzAwMDAgIEpvbiBOb3JkYnkgPGpvbm9ub3JAZ21haWwuY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2V4YW1wbGVzL2NhaXJvL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9leGFtcGxlcy9jYWlyby9jYWlyb19vdmVybGF5LmM6CgkgIGNhaXJvb3ZlcmxheTogUmVtb3ZlIHVubmVjZXNzYXJ5IGd0ay9ndGsteDExIHVzZSBpbiBleGFtcGxlLgoJICBUaGlzIHJlbW92ZXMgY29kZSwgYW5kIGFsbG93cyB0aGUgZXhhbXBsZSB0byBiZSB1c2VkIG9uIGFueSBwbGF0Zm9ybS4KCSAgRml4ZXMgYnVnICM2NDM5ODEuCgoyMDExLTAzLTA0IDE4OjM3OjM4IC0wODAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgdjRsMjogVXNlICNpZmRlZnMgZm9yIFY0TDJfUElYX0ZNVF9QSlBHCgkgIEl0J3Mgb25seSByZWNlbnRseSBhZGRlZCB0byBrZXJuZWwgaGVhZGVycy4KCjIwMTEtMDItMjMgMTY6NTA6NDMgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6CgkqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5oOgoJICB3YXZwYXJzZTogdHVuZSBvdXRwdXQgbWF4IGJ1ZmZlciBzaXplIHRvIG1hdGVyaWFsCgkgIC4uLiB0byBhdm9pZCBlbmRpbmcgdXAgd2l0aCB0b25zIG9mIHNob3J0IHRpbWUgYnVmZmVycyBmb3IgZS5nLiBoaWdoIHNhbXBsZQoJICByYXRlIGF1ZGlvLgoKMjAxMS0wMy0wNCAxNzowNDozNyArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2V4YW1wbGVzL2NhaXJvL01ha2VmaWxlLmFtOgoJICBleGFtcGxlczogZG9uJ3QgdXNlIGhhcmRjb2RlYyAwLjEwCgoyMDExLTAzLTA0IDE2OjMwOjM2ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSAgTWVyZ2UgYnJhbmNoICdtYXN0ZXInIGludG8gMC4xMQoKMjAxMS0wMy0wNCAxNTo1MDowMSArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJICBwdWxzZXNpbms6IGFkZCBhIGRvYyBleGFtcGxlIGZvciBzZXR0aW5nIHN0cmVhbS1wcm9wZXJ0aWVzCgoyMDExLTAzLTA0IDE1OjQyOjE5ICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkgIHB1bHNlc2luazogZml4IHRoZSB4bWwgaW4gdGhlIGRvY3MKCjIwMTEtMDMtMDMgMDA6MTY6NDcgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvdjRsMl9jYWxscy5oOgoJICB2NGwyOiByZW1vdmUgdW5uZWNlc3NhcnkgbGludXgvdmlkZW9kZXYuaCBpbmNsdWRlCgkgIENhdXNlcyBjb21waWxhdGlvbiBpc3N1ZXMgd2l0aCBuZXdlciBrZXJuZWwgaGVhZGVycyB3aGVyZSB0aGUgb2xkCgkgIHY0bCBpbnRlcmZhY2UgaGFzIGJlZW4gcmVtb3ZlZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY0MzcxNgoKMjAxMS0wMy0wMiAyMzoyMToxNSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIHRlc3RzL2V4YW1wbGVzL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9leGFtcGxlcy9jYWlyby9NYWtlZmlsZS5hbToKCSogdGVzdHMvZXhhbXBsZXMvY2Fpcm8vY2Fpcm9fb3ZlcmxheS5jOgoJICBjYWlyb292ZXJsYXk6IFRoZSBleGFtcGxlIGFsd2F5cyByZXF1aXJlcyBndGsteDExCgkgIENoZWNrIGZvciBndGsteDExIGFuZCBvbmx5IGJ1aWxkIHRoZSBleGFtcGxlIGlmIGl0J3MgYXZhaWxhYmxlLgoKMjAxMS0wMy0wMiAyMzoxNDozNiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvY2Fpcm8vZ3N0Y2Fpcm9vdmVybGF5LmM6CgkqIGV4dC9jYWlyby9nc3RjYWlyb292ZXJsYXkuaDoKCSAgY2Fpcm9vdmVybGF5OiBTb21lIG1pbm9yIGNsZWFudXAKCjIwMTEtMDMtMDIgMjM6MDk6MjEgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5pbnRlcmZhY2VzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLnByZXJlcXVpc2l0ZXM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuc2lnbmFsczoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF2aS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWlyby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWludGVybGFjZS54bWw6CgkgIGRvY3M6IFVwZGF0ZSBpbnNwZWN0ZWQgcGx1Z2luIGRhdGEKCjIwMTEtMDEtMjggMDI6MTQ6MDQgKzAyMDAgIEpvbiBOb3JkYnkgPGpvbm9ub3JAZ21haWwuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSogZXh0L2NhaXJvLy5naXRpZ25vcmU6CgkqIGV4dC9jYWlyby9NYWtlZmlsZS5hbToKCSogZXh0L2NhaXJvL2dzdGNhaXJvLW1hcnNoYWwubGlzdDoKCSogZXh0L2NhaXJvL2dzdGNhaXJvLmM6CgkqIGV4dC9jYWlyby9nc3RjYWlyb292ZXJsYXkuYzoKCSogZXh0L2NhaXJvL2dzdGNhaXJvb3ZlcmxheS5oOgoJKiB0ZXN0cy9leGFtcGxlcy9NYWtlZmlsZS5hbToKCSogdGVzdHMvZXhhbXBsZXMvY2Fpcm8vLmdpdGlnbm9yZToKCSogdGVzdHMvZXhhbXBsZXMvY2Fpcm8vTWFrZWZpbGUuYW06CgkqIHRlc3RzL2V4YW1wbGVzL2NhaXJvL2NhaXJvX292ZXJsYXkuYzoKCSAgY2Fpcm9vdmVybGF5OiBBZGQgZ2VuZXJpYyBDYWlybyBvdmVybGF5IHZpZGVvIGVsZW1lbnQuCgkgIEFsbG93cyBhcHBsaWNhdGlvbnMgdG8gY29ubmVjdCB0byB0aGUgImRyYXciIHNpZ25hbCBvZgoJICB0aGUgZWxlbWVudCBhbmQgZG8gdGhlaXIgY3VzdG9tIGRyYXdpbmcgdGhlcmUuCgkgIEluY2x1ZGVzIGFuIGV4YW1wbGUgYXBwbGljYXRpb24gZGVtb25zdHJhdGluZyB1c2FnZS4KCSAgRml4ZXM6IGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD01OTU1MjAKCjIwMTEtMDMtMDIgMTM6MDA6MzEgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9tb25vc2NvcGUvbW9ub3Njb3BlLmM6CgkgIG1vbm9zY29wZTogZG9uJ3QgbGVhayB0aGUgbW9ub3Njb3BlX3N0YXRlIGRhdGEKCSAgVGhlIG1vbm9zY29wZV9jbG9zZSgpIGltcGxlbWVudGF0aW9uIHdhcyBlbXB0eS4KCjIwMTEtMDMtMDIgMTI6NTk6MzUgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9tb25vc2NvcGUvbW9ub3Njb3BlLmM6CgkgIG1vbm9zY29wZTogd2UgaGF2ZSA2NCBjb2xvcnMsIGRvbid0IGFjY2VzcyBjb2xvcnNbNjRdCgkgIEZpeGVzIHJlbWFpbmluZyBpbnZhbGlkIHJlYWQuCgoyMDExLTAzLTAyIDEwOjI1OjI5ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogYXJyYW5nZSBmb3Igbm9uLWZhdGFsIGVycm9yIHdoZW4gcGFyc2luZyBub24tdml0YWwgcGFydHMKCjIwMTEtMDMtMDIgMTA6NTY6MzMgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9tb25vc2NvcGUvY29udm9sdmUuYzoKCSAgbW9ub3Njb3BlOiBzdGFjayBuZWVkcyB0byBiZSBzaXplKzEgYXMgd2UgcHV0IGEgZW5kLW1hcmtlciBpbnRvIGl0CgkgIFZhbGdyaW5kIGlzIHN0aWxsIGNvbXBsYWluaW5nIGFib3V0IG9uZSBiYWQgcmVhZCwgYnV0IHRoaXMgdGFrZXMgY2FyZSBvZiB0aGUKCSAgY3Jhc2ggbWVudGlvbmVkIGluIHRoZSBjb21tZW50IGFuZCBpbiBidWcgIzU2NDEyMi4KCjIwMTEtMDMtMDEgMjI6NDA6MTkgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIHRlc3RzL2V4YW1wbGVzL3J0cC9zZXJ2ZXItdjRsMi1IMjYzcC1hbHNhc3JjLUFNUi5zaDoKCSAgZXhhbXBsZTogZml4IHRoZSB2YXJpYWJsZSBuYW1lIGZvciB0aGUgaXAtYWRkcmVzcwoJICBGaXggdGhlIG5hbWUgaW4gdGhlIGxhdW5jaCBwaXBlbGluZSBhbmQgdXNlIGEgdmFsdWUgb2YgImxvY2FsaG9zdCIgYnkgZGVmYXVsdC4KCjIwMTEtMDItMjggMTk6MTY6MDAgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmUuYWM6IGN5Z3dpbi9taW5ndzsgZW5hYmxlIHBsdWdpbiBsaW5raW5nIHRvIHN0YXRpYyBsaWIKCSAgVXNlZnVsIGZvciBEaXJlY3RYIHBsdWdpbihzKS4KCSAgRml4ZXMgIzY0MjUwNy4KCjIwMTEtMDItMjggMTk6MTM6NDEgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmUuYWM6IGV4cG9ydCBwbHVnaW4gZGVzY3JpcHRpb24gbW9yZSBwbGF0Zm9ybSBpbmRlcGVuZGVudAoJICBGaXhlcyAjNjQyNTA0LgoKMjAxMS0wMi0yOCAxODozMjo1NCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIDFkZTdmNmEgdG8gNmFlYzZiOQoKMjAxMS0wMi0yOCAxMzoyOTo0NyArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkgIE1lcmdlIGJyYW5jaCAnbWFzdGVyJyBpbnRvIDAuMTEKCjIwMTEtMDItMjggMTM6Mjg6MjkgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkgIHJ0cHNlc3Npb246IHVzZSBOZXRBZGRyZXNzIG1ldGFkYXRhCgoyMDExLTAyLTI4IDEzOjE0OjM3ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3VkcC9nc3RkeW51ZHBzaW5rLmM6CgkqIGdzdC91ZHAvZ3N0dWRwLmM6CgkqIGdzdC91ZHAvZ3N0dWRwc3JjLmM6CgkgIHVkcDogaW1wbGVtZW50IE5ldEFkZHJlc3Mgd2l0aCBtZXRhZGF0YQoKMjAxMS0wMi0yOCAxMDoxNjo1MiArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkgIHY0bDI6IHJlZ2lzdGVyIG1ldGFkYXRhCgoyMDExLTAyLTI3IDE5OjQzOjEzICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2RlYnVndXRpbHMvZWZlbmNlLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmg6CgkqIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuYzoKCSogc3lzL3hpbWFnZS9nc3R4aW1hZ2VzcmMuYzoKCSogc3lzL3hpbWFnZS94aW1hZ2V1dGlsLmM6CgkqIHN5cy94aW1hZ2UveGltYWdldXRpbC5oOgoJICBtZXRhOiBmaXggZm9yIG5ldyBBUEkKCjIwMTEtMDItMjUgMTY6Mjk6MzggKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZGVidWd1dGlscy9lZmVuY2UuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuaDoKCSogc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5jOgoJKiBzeXMveGltYWdlL2dzdHhpbWFnZXNyYy5jOgoJKiBzeXMveGltYWdlL3hpbWFnZXV0aWwuYzoKCSogc3lzL3hpbWFnZS94aW1hZ2V1dGlsLmg6CgkgIG1ldGFkYXRhOiB1c2UgbWV0YWRhdGEgZm9yIHByaXZhdGUgYnVmZmVyIGRhdGEKCSAgVXNlIGJ1ZmZlciBtZXRhZGF0YSB0byBzdG9yZSBlbGVtZW50IHByaXZhdGUgZGF0YS4KCjIwMTEtMDItMjQgMTM6NTE6MzIgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5oOgoJKiBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmM6CgkqIHN5cy94aW1hZ2UvZ3N0eGltYWdlc3JjLmM6CgkqIHN5cy94aW1hZ2UvZ3N0eGltYWdlc3JjLmg6CgkqIHN5cy94aW1hZ2UveGltYWdldXRpbC5jOgoJKiBzeXMveGltYWdlL3hpbWFnZXV0aWwuaDoKCSAgbWluaW9iamVjdDogcG9ydCB0byAwLjExCgkgIFVzZSBidWZmZXIgcHJpdmF0ZSBkYXRhIGluc3RlYWQgb2Ygc3ViY2xhc3NpbmcuCgoyMDExLTAyLTI0IDEzOjUwOjQ4ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvZXhhbXBsZXMvcHVsc2UvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2V4YW1wbGVzL3Y0bDIvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2ljbGVzL01ha2VmaWxlLmFtOgoJICBidWlsZDogZG9uJ3QgaGFyZGNvZGUgdmVyc2lvbiBudW1iZXIKCjIwMTEtMDItMjQgMTM6MDM6NDQgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdGFnbGliL2dzdGlkM3YybXV4LmNjOgoJICBpZDM6IHVzZSBib3hlZCB0eXBlIGluc3RlYWQgb2YgbWluaW9iamVjdAoKMjAxMS0wMi0yNCAxMzowMDo0OCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kZWJ1Z3V0aWxzL2VmZW5jZS5jOgoJKiBnc3QvcmVwbGF5Z2Fpbi9NYWtlZmlsZS5hbToKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJKiBnc3QvdWRwL2dzdGR5bnVkcHNpbmsuYzoKCSogZ3N0L3VkcC9nc3R1ZHAuYzoKCSogZ3N0L3VkcC9nc3R1ZHBzcmMuYzoKCSAgbWluaW9iamVjdDogdXNlIGJ1ZmZlciBwcml2YXRlIGZpZWxkIGZvciBleHRyYSBkYXRhCgkgIFVzZSB0aGUgb3duZXIgcHJpdmF0ZSBmaWVsZCB0byBzdG9yZSBleHRyYSBidWZmZXIgZGF0YSBpbnN0ZWFkIG9mIHVzaW5nCgkgIHN1YmNsYXNzaW5nLgoKMjAxMS0wMi0yNCAxMjoyMzo0NCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9qcGVnL2dzdGpwZWdkZWMuYzoKCSAganBlZ2RlYzogYWRkIGR1cmF0aW9uIHdoZW4gZXh0aW1hdGluZyBRb1MgdGltZQoJICBXaGVuIHdlIG5lZWQgdG8gZGVjaWRlIG9uIHRoZSBuZXh0IFFvUyB0aW1lLCB0YWtlIGludG8gYWNjb3VudCB0aGUgZHVyYXRpb24gb2YKCSAgdGhlIGJ1ZmZlcnMuCgoyMDExLTAyLTI4IDExOjU4OjA1ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSAgTWVyZ2UgYnJhbmNoICdtYXN0ZXInIGludG8gMC4xMQoJICBDb25mbGljdHM6CgkgIGNvbmZpZ3VyZS5hYwoKMjAxMS0wMi0yMyAxNzo0MToyMiArMDEwMCAgUGhpbGlwIErDpGdlbnN0ZWR0IDxwaGlsaXBqQG9wZXJhLmNvbT4KCgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSAgcHVsc2VzaW5rOiByZWxlYXNlIHBhX3NoYXJlZF9yZXNvdXJjZV9tdXRleCBiZWZvcmUgcGFfdGhyZWFkZWRfbWFpbmxvb3Bfd2FpdAoJICBOb3QgZG9pbmcgc28gY2FuIHJlc3VsdCBpbiBhIGRlYWRsb2NrIHdoZW4gdHdvIHRocmVhZHMgZW50ZXIKCSAgZ3N0X3B1bHNlcmluZ2J1ZmZlcl9vcGVuX2RldmljZSBhdCB0aGUgc2FtZSB0aW1lLCBhcwoJICBwYV90aHJlYWRlZF9tYWlubG9vcF93YWl0IHJlbGVhc2VzIHRoZSBtYWlubG9vcCBsb2NrIHdoaWxlIHdhaXRpbmcsCgkgIGFsbG93aW5nIGFub3RoZXIgdGhyZWFkIHRvIHRha2UgaXQsIHJlc3VsdGluZyBpbiBhIGRlYWRsb2NrIGFzIHR3bwoJICB0aHJlYWRzIHdhaXRzIGZvciB0aGUgbG9jayB0aGUgb3RoZXIgaXMgaG9sZGluZy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY0MzA4NwoKMjAxMS0wMi0yMyAxNzoxODoxOSArMDEwMCAgUGhpbGlwIErDpGdlbnN0ZWR0IDxwaGlsaXBqQG9wZXJhLmNvbT4KCgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSAgcHVsc2VzaW5rOiBzL3Jlc3NvdXJjZS9yZXNvdXJjZS8KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY0MzA4NwoKMjAxMS0wMi0yNSAyMDoxMjozNSAtMDgwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IHJlbW92ZSBhY2NpZGVudGFsIGRlYnVnIG1lc3NhZ2UKCSAgaW4gcHJldmlvdXMgY29tbWl0CgoyMDExLTAyLTI1IDE5OjM1OjUxIC0wODAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogQWRkIHN1cHBvcnQgZm9yIDJWdXkgYW5kIHIyMTAKCjIwMTEtMDItMjQgMTQ6MDg6MjUgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmM6CgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZW1ldGhvZC5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2VtZXRob2QuaDoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS9saW5lYXIuYzoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS9saW5lYXJibGVuZC5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL3NjYWxlcmJvYi5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL3ZmaXIuYzoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS93ZWF2ZS5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL3dlYXZlYmZmLmM6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvd2VhdmV0ZmYuYzoKCSAgZGVpbnRlcmxhY2U6IEFkZCBzdXBwb3J0IGZvciBOVjIxIGNvbG9yc3BhY2UKCjIwMTEtMDItMjQgMTQ6MDA6MzcgKzAxMDAgIENhcnN0ZW4gS3JvbGwgPGNhckB4aW1pZGkuY29tPgoKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmM6CgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZW1ldGhvZC5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2VtZXRob2QuaDoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS9saW5lYXIuYzoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS9saW5lYXJibGVuZC5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL3NjYWxlcmJvYi5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL3ZmaXIuYzoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS93ZWF2ZS5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL3dlYXZlYmZmLmM6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvd2VhdmV0ZmYuYzoKCSAgZGVpbnRlcmxhY2U6IEFkZCBzdXBwb3J0IGZvciBOVjEyIGNvbG9yc3BhY2UKCSAgRml4ZXMgYnVnICM2NDI5NjEuCgoyMDExLTAyLTI0IDEzOjU2OjA0ICswMTAwICBDYXJzdGVuIEtyb2xsIDxjYXJAeGltaWRpLmNvbT4KCgkqIGV4dC9kdi9nc3RkdmRlbXV4LmM6CgkgIGR2ZGVtdXg6IEZpcnN0IHRyeSBpZiB1cHN0cmVhbSBoYW5kbGVzIFRJTUUgc2Vla3MgYmVmb3JlIGhhbmRsaW5nIHRoZW0gaGVyZQoJICBGaXhlcyBidWcgIzY0Mjk2My4KCjIwMTAtMTEtMDggMTQ6MjU6NTkgKzAxMDAgIFJvYmVydCBTd2FpbiA8cm9iZXJ0LnN3YWluQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuaDoKCSAgZGVpbnRlcmxhY2U6IFNpbXBsaWZ5IHNldGNhcHMKCSAgVGhlIGN1cnJlbnQgY29kZSBuZXZlciB1c2VzIHVwc3RyZWFtIG5lZ290aWF0aW9uIHNvIHRoZSBjb2RlIGNhbiBiZQoJICBzaWduaWZpY2FudGx5IHNpbXBsaWZpZWQuCgoyMDExLTAxLTI0IDEyOjQ4OjE4ICswMTAwICBSb2JlcnQgU3dhaW4gPHJvYmVydC5zd2FpbkBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL2dyZWVkeS5jOgoJICBkZWludGVybGFjZTogUG9ydCBncmVlZHlsIHRvIEdzdERlaW50ZXJsYWNlU2ltcGxlTWV0aG9kCgkgIFRoZSBtYWluIGdvYWwgb2YgdGhpcyBjaGFuZ2UgaXMgdG8gcmV1c2UgdGhlIGNvbXBsZXggYnV0IG5vdyBuZWF0bHkKCSAgd3JpdHRlbiBzY2FubGluZSBwb2ludGVyIGNhbGN1bGF0aW9uIGNvZGUgZnJvbSB0aGUgc2ltcGxlIG1ldGhvZHMuCgoyMDExLTAyLTIyIDE1OjIwOjExICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvaWQzZGVtdXgvZ3N0aWQzZGVtdXguYzoKCSAgUmV2ZXJ0ICJpZDNkZW11eDogZW5zdXJlIGEgdGFnbGlzdCBiZWZvcmUgYWRkaW5nIHRoZSBjb250YWluZXIgdGFnIgoJICBUaGlzIHJldmVydHMgY29tbWl0IGE4NmJhYjY2ODkzYmIxYTMzMjNhNzU2NDEwNTczYzExN2I4MjE5ZWYuIFRoZSBpc3N1ZSBpcwoJICBmaXhlZCB3aXRoIGNvbW1pdCBmZjVlNWE4ZjBkYWExZmRmODk3OTJkMDcyNmVhMDYzYmJkOTlkYjE4IGluc3RlYWQuCgoyMDExLTAyLTIyIDE1OjE5OjAwICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvaWQzZGVtdXgvaWQzdGFncy5jOgoJICBpZDNkZW11eDogcmV0dXJuIElEM1RBR1NfQlJPS0VOX1RBRyBmb3IgdW5zdXBwb3J0ZWQgdmVyc2lvbnMKCSAgVGhpcyBwcmV2ZW50cyB1cyBmb3IgdHJ5aW5nIHRvIHdvcmsgd2l0aCBhIE5VTEwgdGFnbGlzdC4KCjIwMTEtMDItMjIgMTQ6MTU6MjcgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBGaXggdW5pdGlhbGl6ZWQgdmFyaWFibGUuCgoyMDExLTAyLTIyIDE0OjAxOjI3ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgYXZpZGVtdXg6IGVuc3VyZSBzYW5lIHBhcmFtZXRlcnMgd2hlbiBwYXJzaW5nIHN1cGVyaW5kZXgKCjIwMTEtMDItMjIgMTQ6MDA6MTEgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICBhdmlkZW11eDogY2hlY2sgZm9yIE5VTEwgYXVkaW8gc3RyZWFtIGZvcm1hdCBoZWFkZXIgd2hlbiBwYXJzaW5nIHN0cmVhbQoKMjAxMS0wMi0yMiAxNDo1MjoxOCArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogdGVzdHMvZXhhbXBsZXMvcnRwL3NlcnZlci12NGwyLUgyNjNwLWFsc2FzcmMtQU1SLnNoOgoJKiB0ZXN0cy9leGFtcGxlcy9ydHAvc2VydmVyLXY0bDItSDI2NC1hbHNhc3JjLVBDTUEuc2g6CgkgIHJ0cC1leGFtcGxlczogbW92ZSBjYXBzZmlsdGVyIGJlaGluZCBjb252ZXJ0ZXJzCgkgIFdlIG5lZWQgdG8gaGF2ZSB0aGUgY2Fwc2ZpbHRlciBiZWhpbiB0aGUgY29udmVydGVycyB0byBtYWtlIHRoZSBjb252ZXJ0ZXJzCgkgIGNvbnZlcnQgZnJvbSB0aGUgZm9ybWF0cyB2NGwyc3JjIGNhbiBkbyB0byB3aGF0IHdlIHJlcXVlc3Qgd2l0aCB0aGUKCSAgY2Fwc2ZpbHRlci4KCjIwMTEtMDItMjIgMTQ6NTA6NTkgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIHRlc3RzL2V4YW1wbGVzL3J0cC9jbGllbnQtSDI2NC1QQ01BLnNoOgoJKiB0ZXN0cy9leGFtcGxlcy9ydHAvY2xpZW50LVBDTUEuc2g6CgkqIHRlc3RzL2V4YW1wbGVzL3J0cC9zZXJ2ZXItYWxzYXNyYy1QQ01BLnNoOgoJKiB0ZXN0cy9leGFtcGxlcy9ydHAvc2VydmVyLXY0bDItSDI2M3AtYWxzYXNyYy1BTVIuc2g6CgkqIHRlc3RzL2V4YW1wbGVzL3J0cC9zZXJ2ZXItdjRsMi1IMjY0LWFsc2FzcmMtUENNQS5zaDoKCSAgcnRwLWV4YW1wbGVzOiBmaXggYXNjaWktYXJ0CgkgIFNvbWUgYm94ZXMgd2hlcmUgbWlzYWxpZ25lZCBkdWUgdG8gbG9uZyAiYXVkaW90ZXRzc3JjIiBuYW1lLiBUcmltIHRyYWlsaW5nCgkgIHdoaXRlc3BhY2UuCgoyMDExLTAyLTIyIDEzOjI5OjI2ICswMTAwICBCbGFpc2UgR2Fzc2VuZCA8YmxhaXNlIGF0IHdpbGxvd2dhcmFnZSBkb3QgY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6CgkgIHJ0cGJpbjogaGFuZGxlIE5VTEwgZGVtdXggZWxlbWVudHMKCSAgV2hlbiB1c2luZyBnc3RydHBiaW4gd2l0aCBpZ25vcmUtcHQ9dHJ1ZSwgdGhlIGZyZWVfc3RyZWFtIGZ1bmN0aW9uIHRyaWVzIHRvCgkgIGNhbGwgZ3N0X2VsZW1lbnRfc2V0X2xvY2tlZF9zdGF0ZSBhbmQgZ3N0X2VsZW1lbnRfc2V0X3N0YXRlIG9uIGEgc3RyZWFtLT5kZW11eAoJICB3aGljaCBpcyBOVUxMLgoJICBmaXhlcyAjNjQyNDEyCgoyMDExLTAxLTI0IDEyOjE4OjM5ICswMTAwICBSb2JlcnQgU3dhaW4gPHJvYmVydC5zd2FpbkBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuYzoKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlbWV0aG9kLmM6CgkgIGRlaW50ZXJsYWNlOiBzbWFsbCBjbGVhbi11cHMKCSAgSW1wcm92ZSBkZWJ1ZyBvdXRwdXQgYnkgcHJpbnRpbmcgdGhlIGJ1ZmZlciBwb2ludGVyIHdoZW4KCSAgcG9wcGluZyBhIGJ1ZmZlciBhbmQgc2ltcGxpZnkgY29kZSB0byB1c2Ugc2NhbmxpbmVzLmJvdHRvbV9maWVsZAoJICBhcyBhcHByb3ByaWF0ZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY0MjY5MQoKMjAxMS0wMS0yNCAxMjoxODozOSArMDEwMCAgUm9iZXJ0IFN3YWluIDxyb2JlcnQuc3dhaW5AY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmM6CgkgIGRlaW50ZXJsYWNlOiBmaXggYXNzaWduZWQgbWV0aG9kX2lkIHdoZW4gdXNpbmcgZmFsbGJhY2sKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY0MjY5MQoKMjAxMS0wMi0yMSAxNzoxNzozMiArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOgoJICBydHBiaW46IGZpeCBzZXR0aW5nIHRoZSBTREVTIHByb3BlcnR5CgkgIE9ubHkgdGhlIHNkZXMgdmVyaWFibGUgaXMgcHJvdGVjdGVkIHdpdGggdGhlIG9iamVjdCBsb2NrLgoJICBVc2UgdGhlIHJpZ2h0IG9iamVjdCB3aGVuIHNldHRpbmcgdGhlIHNkZXMgcHJvcGVydHkuCgoyMDExLTAyLTIxIDEyOjA5OjA3ICswMTAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9jYWlyby9nc3R0ZXh0b3ZlcmxheS5jOgoJKiBnc3QvYXZpL2dzdGF2aW11eC5jOgoJKiBnc3QvZmx2L2dzdGZsdm11eC5jOgoJKiBnc3QvaW50ZXJsZWF2ZS9pbnRlcmxlYXZlLmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlci5jOgoJICBSZXZlcnQgIkNoZWNrIHRoYXQgY29sbGVjdHBhZHMgZXhpc3RzIGJlZm9yZSByZW1vdmluZyBwYWQiCgkgIFRoaXMgcmV2ZXJ0cyBjb21taXQgOGU2Yjg3NmU3NmM5NDQxMGRiMTYwYWZlNWViMzBmMjE0NTJlNDE5Zi4KCSAgRGVwZW5kcyBvbiBhIGNvcmUgY29tbWl0IHRoYXQgd2FzIHJldmVydGVkCgoyMDExLTAyLTIxIDAwOjU1OjQ5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pY3lkZW11eC9nc3RpY3lkZW11eC5jOgoJICBpY3lkZW11eDogZml4IHRhZyBsaXN0IGhhbmRsaW5nIGlzc3VlcyB0aGF0IG1pZ2h0IGhhdmUgY2F1c2VkIGNyYXNoZXMKCSAgRml4IHNsaWdodGx5IGNvbmZ1c2VkIHRhZyBoYW5kbGluZyBpbiBzb21lIHBsYWNlczogbWFrZSBpdCBjbGVhciB3aGVuCgkgIHdlJ3JlIHRha2luZyBvd25lcnNoaXAgb2YgYSB0YWcgbGlzdCBhbmQgd2hlbiBub3QuIEZvciBleGFtcGxlLAoJICBnc3RfaWN5ZGVtdXhfdGFnX2ZvdW5kKCkgd2FzIHRha2luZyBvd25lcnNoaXAgd2hlbiB0aGUgc291cmNlIHBhZAoJICBleGlzdGVkLCBidXQgb3RoZXJ3aXNlIG5vdCAobGVhaykuIEFsc28sIGdzdF9ldmVudF9wYXJzZV90YWcoKSBkb2VzCgkgIG5vdCByZXR1cm4gYSBuZXdseS1hbGxvY2F0ZWQgdGFnbGlzdCwgYnV0IGEgdGFnIGxpc3QgdGhhdCBiZWxvbmdzIHRvCgkgIHRoZSB0YWcgZXZlbnQsIHNvIGRvbid0IGdpdmUgb3duZXJzaGlwIG9mIGl0IGF3YXkuCgkgIFdoaWxlIHdlJ3JlIGF0IGl0LCBzb21lIG1pbm9yIGNsZWFuLXVwczogZG9uJ3QgcmUtaW52ZW50IGdfc3RybmR1cCgpCgkgIGFuZCBzaW1wbGlmeSBnc3RfaWN5ZGVtdXhfcGFyc2VfYW5kX3NlbmRfdGFncygpIGEgYml0LCBhbmQgZG9uJ3QKCSAgbGVhayB0aGUgdGFnIGxpc3QgaW4gY2FzZSBubyB2YWxpZCB0YWdzIHdoZXJlIGZvdW5kLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjQxMzMwCgoyMDExLTAyLTIwIDIzOjM5OjQxIC0wODAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGV4dC9jYWlyby9nc3R0ZXh0b3ZlcmxheS5jOgoJKiBnc3QvYXZpL2dzdGF2aW11eC5jOgoJKiBnc3QvZmx2L2dzdGZsdm11eC5jOgoJKiBnc3QvaW50ZXJsZWF2ZS9pbnRlcmxlYXZlLmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlci5jOgoJICBDaGVjayB0aGF0IGNvbGxlY3RwYWRzIGV4aXN0cyBiZWZvcmUgcmVtb3ZpbmcgcGFkCgkgIFRoZSBjb3JlIG5vdyBjYWxscyByZWxlYXNlIHBhZCBmcm9tIGZpbmFsaXplLCBhdCB3aGljaCBwb2ludAoJICB0aGUgY29sbGVjdHBhZHMgbWlnaHQgaGF2ZSBhbHJlYWR5IGJlZW4gZnJlZWQuCgoyMDExLTAyLTE5IDE1OjQ4OjIyIC0wODAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGV4dC9saWJwbmcvZ3N0cG5nZGVjLmM6CgkgIHBuZ2RlYzogSGFuZGxlIDE2LWJpdC1wZXItY2hhbm5lbCBpbWFnZXMKCjIwMTEtMDItMTggMTA6MTI6NDcgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgYXZpZGVtdXg6IHN0cmVhbS0+Y3VycmVudF90b3RhbCBpcyBhY2N1bXVsYXRlZCBieXRlIHNpemUgYW5kIG5vdCB0aW1lCgkgIFVzZSB0aW1lc3RhbXAgZm9yIHRoZSBzdHJlYW0gaW5kZXggYXMgd2VsbC4KCjIwMTEtMDItMTUgMTk6MzM6NDUgLTA4MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuYzoKCSAgdWRwc2luazogd2FybiB3aGVuIHBhY2tldCBpcyB0b28gbGFyZ2UKCjIwMTEtMDItMTcgMTc6NTk6MjUgLTA4MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L21hdHJvc2thL01ha2VmaWxlLmFtOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtcGFyc2UuYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLXBhcnNlLmg6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS5jOgoJICBtYXRyb3NrYXBhcnNlOiBOZXcgZWxlbWVudAoJICBDb3BpZWQgZnJvbSBkZW11eC4gIER1cGxpY2F0ZXMgbXVjaCBjb2RlLCBhbHNvIHNvbWUgZGVhZCBjb2RlCgkgIHJlbWFpbmluZy4KCjIwMTEtMDItMTcgMTc6NTc6NTUgLTA4MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thZGVtdXg6IEVhcmxpZXIgZGVidWcgY2F0ZWdvcnkgaW5pdGlhbGl6YXRpb24KCjIwMTEtMDEtMjIgMDA6MTM6MTYgLTA4MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L2Zsdi9nc3RmbHZtdXguYzoKCSAgZmx2bXV4OiBkb24ndCBzZXQgZHVyYXRpb24gZm9yIGxpdmUgc3RyZWFtCgoyMDExLTAxLTA2IDE1OjQ0OjI0IC0wODAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9kZWJ1Z3V0aWxzL01ha2VmaWxlLmFtOgoJKiBnc3QvZGVidWd1dGlscy9uZWdvdGlhdGlvbi5jOgoJICBkZWJ1Z3V0aWxzOiByZW1vdmUgYml0cm90dGVuIG5lZ290aWF0aW9uIGVsZW1lbnQKCSAgV2Fzbid0IGVuYWJsZWQsIGRpZG4ndCB3b3JrLCBhbmQgcGxhbm5lZCBmZWF0dXJlcyBoYXZlIGJlZW4KCSAgc3VwZXJjZWRlZCBieSBjYXBzZmlsdGVyIGFuZCBjYXBzZGVidWcuCgoyMDEwLTA5LTE3IDEyOjEwOjM4IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9ydHAvZ3N0cnRwdnJhd3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHZyYXdwYXkuaDoKCSAgcnRwdnJhd3BheTogSW1wbGVtZW50IGludGVybGFjaW5nCgoyMDExLTAyLTE3IDE3OjU3OjQyICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIGF2aWRlbXV4OiBhbHNvIGFkZCB0aGUgZnJhbWUtdHlwZSBmb3IgdGhlIHN0cmVhbSBpbmRleAoKMjAxMS0wMi0xNyAxNzo1NjoyOSArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICBhdmlkZW11eDogZ2V0IHRoZSBpbmRleCB3cml0ZXIgaWQgd2hlbiB0aGUgcGFkIGhhcyBhIHBhcmVudAoJICBPdGhlcndpc2UgdGhlIGluZGV4IHdyaXRlciBoYXMgYSB3ZWlyZWQgbmFtZSwgYXMgdGhlIHBhZCBoYXMgbm8gcGFyZW50IHlldC4KCjIwMTEtMDItMTcgMTQ6MDA6NDggKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOgoJICBhdmlkZW11eCwgZmx2ZGVtdXg6IGZvcm1hdHRpbmcgY2xlYW51cAoJICBUcmltIHRyYWlsaW5nIHdoaXRlc3BhY2VzIGFuZCBmaXggdGhlIGZvcm1hdHRpbmcgb2YgZG91YmxlIG5lZ2F0aW9uLgoKMjAxMS0wMi0xNyAxMzo1NzozNyArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6CgkgIGF2aWRlbXV4LCBmbHZkZW11eDogbWFyayBkZWx0YS11bml0cyBpbiB0aGUgaW5kZXgKCSAgV2UgbmVlZCB0byB1c2UgdGhlICdkZWx0YScgZmxhZyBmb3IgZGVsdGEgdW5pdHMgYW5kIG5vdCB0aGUgJ25vbmUnIGZsYWcuCgoyMDExLTAyLTE3IDExOjU4OjQyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2ljbGVzLy5naXRpZ25vcmU6CgkgIC5naXRpZ25vcmU6IGlnbm9yZSBtb3ZlZCBlcXVhbGl6ZXIgdGVzdCBiaW5hcnkKCjIwMTEtMDItMTcgMTI6NDY6MTQgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogbWFyayBkZWx0YS11bml0IGluIHRoZSBpbmRleAoJICBXZSBuZWVkIHRvIHVzZSB0aGUgZGVsdGEgZmxhZyBmcm8gZGVsdGEgdW5pdHMgYW5kIG5vdCBub25lLiBQcmludCBtb3JlIGRldGFpbHMKCSAgdG8gdGhlIGRlYnVnIGxvZy4KCjIwMTEtMDItMTcgMTI6NDQ6MDEgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogZm9ybWF0dGluZyBjbGVhbnVwCgkgIFRyaW0gdHJhaWxpbmcgd2hpdGVzcGFjZXMgYW5kIGZpeCB0aGUgZm9ybWF0dGluZyBvZiBkb3VibGUgbmVnYXRpb24uCgoyMDExLTAyLTE2IDE3OjA5OjIwICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkgIG1hdHJvc2thbXV4OiByZXdvcmsgX3JlcXVlc3RfbmV3X3BhZCB0byBoYW5kbGUgZXhwbGljdCByZXEtcGFkLW5hbWVzCgkgIERvbid0IGlnbm9yZSBleHBsaWNpdCBwYWQtbmFtZXMuCgoyMDExLTAyLTE2IDE3OjA2OjUxICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvYXZpL2dzdGF2aW11eC5jOgoJICBhdmltdXg6IHJld29yayBfcmVxdWVzdF9uZXdfcGFkIHRvIGhhbmRsZSBleHBsaWN0IHJlcS1wYWQtbmFtZXMKCSAgRG9uJ3QgaWdub3JlIGV4cGxpY2l0IHBhZC1uYW1lcy4gUmVhcnJhbmdlIHRoZSBjb2RlIGFuZCB0aGUgZXJyb3IgaGFuZGxpbmcgYQoJICBiaXQuIEFkZCBhIEZJWE1FLTAuMTEgZm9yIHRoZSBiYWQgcGFkLW5hbWVzLgoKMjAxMS0wMi0xNiAxNToyODo1MyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9pY2xlcy9NYWtlZmlsZS5hbToKCSAgaWNsZXM6IEFkZCBlcXVhbGl6ZXItdGVzdCB0byB0aGUgYnVpbGQgc3lzdGVtCgoyMDExLTAyLTE2IDE1OjIzOjUwICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2ljbGVzL2VxdWFsaXplci10ZXN0LmM6CgkgIFtNT1ZFRCBGUk9NIEJBRCA1LzVdIGVxdWFsaXplci10ZXN0OiBJbml0aWFsaXplIGRlYnVnIGNhdGVnb3J5IGFmdGVyIGdzdF9pbml0KCkgdG8gZml4IHNlZ2ZhdWx0CgoyMDA3LTExLTA3IDE1OjM2OjU5ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBbTU9WRUQgRlJPTSBCQUQgNC81XSB0ZXN0cy9pY2xlcy9lcXVhbGl6ZXItdGVzdC5jOiBGaXggZ2FpbiByYW5nZXMgZm9yIHRoZSBsYXRlc3QgZXF1YWxpemVyIGNoYW5nZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2ljbGVzL2VxdWFsaXplci10ZXN0LmM6IChkb19zbGlkZXJfZmlkZGxpbmcpOgoJICBGaXggZ2FpbiByYW5nZXMgZm9yIHRoZSBsYXRlc3QgZXF1YWxpemVyIGNoYW5nZXMuCgoyMDA3LTA1LTIxIDE0OjAxOjE2ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBbTU9WRUQgRlJPTSBCQUQgMy81XSBDaGFuZ2VMb2c6IENoYW5nZUxvZyBzdXJnZXJ5LiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplci5jIChBUkdfQkFORF9XSURUSCwgX2RvX2luaXQsIEFSR19HQUlOLCBfR3N0SWlyRXF1YWxpemVyQmEuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogQ2hhbmdlTG9nOgoJICBDaGFuZ2VMb2cgc3VyZ2VyeS4KCSAgKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplci5jIChBUkdfQkFORF9XSURUSCwgX2RvX2luaXQsIEFSR19HQUlOLAoJICBfR3N0SWlyRXF1YWxpemVyQmFuZCwgb2JqZWN0LCBfR3N0SWlyRXF1YWxpemVyQmFuZENsYXNzLAoJICBwYXJlbnRfY2xhc3MsIGdzdF9paXJfZXF1YWxpemVyX2JhbmRfc2V0X3Byb3BlcnR5LAoJICBnc3RfaWlyX2VxdWFsaXplcl9iYW5kX2NsYXNzX2luaXQsIGdzdF9paXJfZXF1YWxpemVyX2JhbmRfZ2V0X3R5cGUsCgkgIGdzdF9paXJfZXF1YWxpemVyX2NoaWxkX3Byb3h5X2dldF9jaGlsZF9ieV9pbmRleCwKCSAgZ3N0X2lpcl9lcXVhbGl6ZXJfY2hpbGRfcHJveHlfZ2V0X2NoaWxkcmVuX2NvdW50LAoJICBnc3RfaWlyX2VxdWFsaXplcl9jaGlsZF9wcm94eV9pbnRlcmZhY2VfaW5pdCwgc2V0dXBfZmlsdGVyLAoJICBnc3RfaWlyX2VxdWFsaXplcl9jb21wdXRlX2ZyZXF1ZW5jaWVzLCBwbHVnaW5faW5pdCk6CgkgICogdGVzdHMvaWNsZXMvZXF1YWxpemVyLXRlc3QuYzoKCSAgQWRkIGZpeG1lIGFuZCBjb21tZW50IGZvciBleGFtcGxlLgoKMjAwNy0wMy0xNCAxNjozMzowMyArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgW01PVkVEIEZST00gQkFEIDIvNV0gdGVzdHMvaWNsZXMvZXF1YWxpemVyLXRlc3QuYzogUG9ydCB0aGUgZXhhbXBsZSB0byBuZXcgZXF1YWxpemVyIGFwaS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvaWNsZXMvZXF1YWxpemVyLXRlc3QuYzogKGVxdWFsaXplcl9zZXRfYmFuZF92YWx1ZSksCgkgIChlcXVhbGl6ZXJfc2V0X2FsbF9iYW5kX3ZhbHVlcyksCgkgIChlcXVhbGl6ZXJfc2V0X2JhbmRfdmFsdWVfYW5kX3dhaXQpLAoJICAoZXF1YWxpemVyX3NldF9hbGxfYmFuZF92YWx1ZXNfYW5kX3dhaXQpLCAoZG9fc2xpZGVyX2ZpZGRsaW5nKSwKCSAgKG1haW4pOgoJICBQb3J0IHRoZSBleGFtcGxlIHRvIG5ldyBlcXVhbGl6ZXIgYXBpLgoKMjAwNy0wMi0wMyAyMzozNToyNiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIFtNT1ZFRCBGUk9NIEJBRCAxLzVdIEZpeCB1cCB0byB1c2UgdGhlIG5ld2x5IHBvcnRlZCAoYWN0dWFsbHkgd29ya2luZykgR3N0QXVkaW9GaWx0ZXIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBnc3QvZXF1YWxpemVyL01ha2VmaWxlLmFtOgoJICAqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyLmM6IChnc3RfaWlyX2VxdWFsaXplcl9iYXNlX2luaXQpLAoJICAoZ3N0X2lpcl9lcXVhbGl6ZXJfY2xhc3NfaW5pdCksIChnc3RfaWlyX2VxdWFsaXplcl9pbml0KSwKCSAgKHNldHVwX2ZpbHRlciksIChnc3RfaWlyX2VxdWFsaXplcl9jb21wdXRlX2ZyZXF1ZW5jaWVzKSwKCSAgKGdzdF9paXJfZXF1YWxpemVyX3NldF9wcm9wZXJ0eSksIChnc3RfaWlyX2VxdWFsaXplcl9nZXRfcHJvcGVydHkpLAoJICAoZ3N0X2lpcl9lcXVhbGl6ZXJfdHJhbnNmb3JtX2lwKSwgKGdzdF9paXJfZXF1YWxpemVyX3NldHVwKSwKCSAgKHBsdWdpbl9pbml0KToKCSAgKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplci5oOgoJICBGaXggdXAgdG8gdXNlIHRoZSBuZXdseSBwb3J0ZWQgKGFjdHVhbGx5IHdvcmtpbmcpIEdzdEF1ZGlvRmlsdGVyLgoJICBCdW1wIGNvcmUvYmFzZSByZXF1aXJlbWVudHMgdG8gQ1ZTIGZvciB0aGlzLgoJICAqIHRlc3RzL2ljbGVzLy5jdnNpZ25vcmU6CgkgICogdGVzdHMvaWNsZXMvTWFrZWZpbGUuYW06CgkgICogdGVzdHMvaWNsZXMvZXF1YWxpemVyLXRlc3QuYzogKGNoZWNrX2J1cyksCgkgIChlcXVhbGl6ZXJfc2V0X2JhbmRfdmFsdWUpLCAoZXF1YWxpemVyX3NldF9hbGxfYmFuZF92YWx1ZXMpLAoJICAoZXF1YWxpemVyX3NldF9iYW5kX3ZhbHVlX2FuZF93YWl0KSwKCSAgKGVxdWFsaXplcl9zZXRfYWxsX2JhbmRfdmFsdWVzX2FuZF93YWl0KSwgKGRvX3NsaWRlcl9maWRkbGluZyksCgkgIChtYWluKToKCSAgQWRkIGJyYWluLWRlYWQgaW50ZXJhY3RpdmUgdGVzdCBmb3IgZXF1YWxpemVyLgoKMjAxMS0wMi0xNSAxNTo1OTozMiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIHY0bDI6IEFkZCBQSlBHIG1hcHBpbmcKCSAgQWRkcyBtYXBwaW5nIG9mIHByb2dyZXNzaXZlIGpwZWcgZm9ybWF0CgoyMDExLTAyLTE1IDE2OjMwOjIwICswMTAwICBBbmR5IFdpbmdvIDx3aW5nb0BvYmxvbmcuY29tPgoKCSAgcGx1ZyBxdGRlbXV4IHJlZmNvdW50IGxlYWtzCgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jIChnc3RfcXRkZW11eF9zcmNfY29udmVydCk6IFVucmVmIHRoZSBxdGRlbXV4OyB3ZQoJICB3ZXJlbid0IGRvaW5nIHNvIGJlZm9yZS4KCSAgKGdzdF9xdGRlbXV4X2hhbmRsZV9zcmNfZXZlbnQsIGdzdF9xdGRlbXV4X2NoYWluKTogRml4IHNvbWUgZXJyb3IKCSAgY2FzZXMgd2hpY2ggd291bGQgbGVhayBhIHJlZiB0byB0aGUgcXRkZW11eC4KCjIwMTEtMDItMTQgMjA6MjA6MDggKzAxMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8YW1vcmFsZXNAZmx1bW90aW9uLmNvbT4KCgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6CgkgIHNvdXBodHRwc3JjOiBBZGQgVVJJIHF1ZXJ5IGhhbmRsZXIKCSAgRml4ZXMgYnVnICM2NDIzMzcuCgoyMDExLTAyLTE0IDE3OjQ5OjU0ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYWRlbXV4OiBhdm9pZCBzb3J0aW5nIE5VTEwgYXJyYXkgb2YgY2x1c3RlciBwb3NpdGlvbnMKCjIwMTEtMDItMTQgMTY6NDY6NDYgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cHRoZW9yYWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwdGhlb3JhcGF5LmM6CgkgIHRoZW9yYXBheTogaGFuZGxlIDAgc2l6ZWQgcGFja2V0cwoJICBIYW5kbGUgMCBzaXplZCBwYWNrZXRzIChyZXBlYXQgZnJhbWUpIGluIHRoZSBwYXlsb2FkZXIgYW5kIGRlcGF5bG9hZGVyLgoJICBGaXhlcyAjNjQxODI3CgoyMDExLTAyLTE0IDE1OjIxOjI5ICswMjAwICBUdXVra2EgUGFzYW5lbiA8dHV1a2thLnBhc2FuZW5AaWxtaS5maT4KCgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdHRhZ2luamVjdC5jOgoJICB0YWdpbmplY3Q6IHJlc2VuZCB0YWdzIHdoZW4gdGhleSBhcmUgY2hhbmdlZAoJICBBbGxvdyBzZXR0aW5nIG5ldyB0YWdzIG9uIHRoZSBwcm9wZXJ0eSB3aGlsZSBydW5uaW5nIGFuZCBzZW5kIHRoZW0uCgkgIEZpeGVzICM2NDAyNDkKCjIwMTEtMDItMTQgMTI6NTM6MjcgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gZjk0ZDczOSB0byAxZGU3ZjZhCgoyMDExLTAyLTA3IDIzOjMyOjUzICswMTAwICBNaWd1ZWwgQW5nZWwgQ2FicmVyYSBNb3lhIDxtYWRtYWMyNTAxQGdtYWlsLmNvbT4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogZml4IG1pbm9yIGxlYWtzIHdoZW4gaGFuZGxpbmcgc2VydmVyIHJlcXVlc3RzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjQwMTYzCgoyMDExLTAyLTE0IDAwOjQ5OjAwICswMDAwICBIZWF0aCBOaWVsc29uIDxoZWF0aG5AZ21haWwuY29tPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBleHRyYWN0IE11c2ljQnJhaW56IHRhZ3MKCSAgRXh0cmFjdCBNdXNpY0JyYWlueiB0YWdzIGFkZGVkIGJ5IE11c2ljQnJhaW56J3MgUGljYXJkCgkgIHRhZ2dlciBhcHBsaWNhdGlvbi4gVGhlc2UgdGFncyAoZXNwLiB0aGUgYWxidW0gaWQpIGFyZQoJICBoZWxwZnVsIGZvciByaHl0aG1ib3ggZXQuYWwuIHRvIGF1dG9tYXRpY2FsbHkgZG93bmxvYWRzCgkgIGNvdmVyIGFydC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY0MjIwNQoKMjAxMS0wMi0xNCAwMDozODo0NSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IHJlZmFjdG9yIGlUdW5lcyB0YWcgcGFyc2luZyBhIGJpdAoKMjAxMS0wMi0xMCAyMzo1Mjo1MSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtcGx1Z2lucy1nb29kLmRvYXA6CgkgIGRvYXA6IHVwZGF0ZSBtYWlsaW5nIGxpc3QgbG9jYXRpb24KCjIwMTEtMDItMTAgMTg6MTE6NDYgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBwcm9wYWdhdGUgZXJyb3IgZHVyaW5nIGV4cG9zZV9zdHJlYW1zCgkgIC4uLiBhcyBpdCBtYXkgb2NjdXIgZHVyaW5nIGluaXRpYWwgcGFyc2luZyBvZiBmcmFnbWVudGVkIGZpbGUuCgoyMDExLTAyLTEwIDE4OjAwOjExICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogYXZvaWQgc2tpcHBpbmcgZXhwb3NpbmcgYSBzdHJlYW0gZm9sbG93aW5nIGEgcmVtb3ZlZCBzdHJlYW0KCjIwMTEtMDItMTAgMTE6NTY6MzMgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5oOgoJICBtYXRyb3NrYWRlbXV4OiBzdG9yZSBjbHVzdGVyIHBvc2l0aW9ucyBwcm92aWRlZCBieSBTZWVrSGVhZAoJICAuLi4gYW5kIHVzZSB0aG9zZSwgaWYgYXZhaWxhYmxlLCB0byBsb2NhdGUgYSBjbHVzdGVyIHJhdGhlciB0aGFuIHNjYW5uaW5nLgoKMjAxMS0wMi0wOSAxNjoyMjo0NyArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2FkZW11eDogcHJvcGVybHkgcmVzdW1lIGNsdXN0ZXIgc2Nhbm5pbmcKCSAgLi4uIHJhdGhlciB0aGFuIGdldHRpbmcgb2Zmc2V0IHRyYWNraW5nIG1lc3NlZCB1cCwgYW5kIHRoZW4gbGlrZWx5CgkgIGZhaWxpbmcgYSBzdWJzZXF1ZW50IGFzc2VydC4KCjIwMTEtMDItMDggMTA6MDc6NDMgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9pZDNkZW11eC9nc3RpZDNkZW11eC5jOgoJICBpZDNkZW11eDogZW5zdXJlIGEgdGFnbGlzdCBiZWZvcmUgYWRkaW5nIHRoZSBjb250YWluZXIgdGFnCgkgIEluIHRoZSBjYXNlIG9mIGlkM3YxIGFsc28gZG9uJ3QgcmV0dXJuIE5VTEwgb24gZW1wdHkgdGFncywgYnV0IGFsc28gY3JlYXRlIGEgbmV3CgkgIHRhZ2xpc3QgYW5kIGFkZCB0aGUgY29udGFpbmVyIHRhZyBmb3IgY29uc2lzdGVuY3kuCgoyMDExLTAyLTA3IDE3OjA4OjQ3ICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IHN0cmlwIHRyYWlsaW5nIHNwYWNlcwoKMjAxMS0wMi0wNyAxNzowNzo0MiArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHBzcmM6IHNldCBtdWx0aXBsZSBwcm9wZXJ0aWVzIGluIG9uZSBnbwoJICBUaGVyZSBpcyBubyBuZWVkIGZvciBzZXBhcmF0ZSBnX29iamVjdF9zZXQoKSBjYWxscyBoZXJlLgoKMjAxMS0wMi0wMyAxNjoxMDo0OSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZGVpbnRlcmxhY2UuYzoKCSAgZGVpbnRlcmxhY2U6IEhhbmRsZSBpbWFnZSBjYXBzIHdpdGhvdXQgYXNzZXJ0aW5nCgkgIEltYWdlcyBtaWdodCBoYXZlIGZyYW1lcmF0ZT0wLzEgaW4gdGhlIGNhcHMsIHdoaWNoIGNhdXNlZCBhbgoJICBhc3NlcnRpb24gb24gZGVpbnRlcmxhY2UuIEkgZG9uJ3Qga25vdyBvZiBpbnRlcmxhY2VkIGltYWdlIGZvcm1hdHMKCSAgYnV0IGRlaW50ZXJsYWNlIG1pZ2h0IGJlIGhhcmRjb2RlZCBvbiBzb21lIGdlbmVyaWMgcGlwZWxpbmVzIGFuZAoJICBpdCBzaG91bGRuJ3QgYXNzZXJ0LgoJICBUaGUgZml4IHdhcyB0byBzZXQgZmllbGRfZHVyYXRpb24gdG8gMCBpZiB0aGUgaW5wdXQgaGFzIGEgZnJhbWVyYXRlCgkgIHdpdGggYSAwIG51bWVyYXRvci4KCSAgVGhpcyBwYXRjaCBhbHNvIGFkZHMgY2hlY2tzIGZvciB0aGlzIHNpdHVhdGlvbiBvbiB0aGUgdW5pdCB0ZXN0cy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY0MTQwMAoKMjAxMS0wMi0wNCAxMjozMzowOSArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L3VkcC9nc3R1ZHBzcmMuYzoKCSAgZG9jczogZml4IHBhcmFtZXRlciBuYW1lIGluIHVkcHNyYyBkb2NzCgkgIEl0IGlzICJidWZmZXItc2l6ZSIgYW5kIG5vdCAiYnVmZmVyIi4gQWxzbyB0cmltIHRyYWlsaW5nIHdoaXRlc3BhY2UuCgoyMDExLTAyLTAzIDIzOjQyOjU5ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgdjRsMjogZml4IGludGVybGFjZWQgc2V0X2Zvcm1hdCBjb25maWd1cmF0aW9uCgkgIENvbW1pdCA2YzgyNjhkYmZkNWM4OGZhYzI4Yzg4MmVmMmU0NTk4YTY1MjJlMmQ2IGJyb2tlIHJlY29yZGluZwoJICBmcm9tIGludGVybGFjZWQgdjRsMiBzb3VyY2UgKGUuZy4gdHlwaWNhbCB0diBjYXB0dXJlIGNhcmQpIHNpbmNlCgkgIFY0TDJfRklFTERfU0VRX1RCICh3aXRoIGZpZWxkcyBzdG9yZWQgc2VwYXJhdGVseSkgZG9lcyBub3QgbWFwCgkgIHRvIGN1cnJlbnRseSBkZWZpbmVkIGludGVybGFjZWQgZm9ybWF0IChmaWVsZHMgc3RvcmVkIGludGVybGVhdmVkKS4KCSAgQmVzaWRlcyB0aGlzIG1pc21hdGNoLCBoYXJkd2FyZSBtaWdodCBxdWl0ZSBsaWtlbHkgbm90IHN1cHBvcnQgb3IKCSAgYXBwcmVjaWF0ZSB0aGlzIGZpZWxkIHZhbHVlLCBzaW5jZSBxdWVyeWluZyBzdXBwb3J0ZWQgZm9ybWF0cyBtYXBwZWQKCSAgX0lOVEVSTEFDRUQgZmllbGQgZm9ybWF0cyB0byBpbnRlcmxhY2VkPXRydWUgY2FwcyAoc28gdGhlIGxhdHRlciBzaG91bGQKCSAgbm90IGJlIG1hcHBlZCB0byBmaWVsZCB2YWx1ZSB0aGF0IGlzIG5vdCBrbm93biB0byBiZSBzdXBwb3J0ZWQpLgoKMjAxMS0wMi0wMiAxODoyNzo1MiArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5jOgoJICBzb3VyY2U6IGZpeCB0eXBlIG9mIG50cG5zdGltZQoKMjAxMS0wMi0wMiAxODoyMToyNiArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmg6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuaDoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc3RhdHMuaDoKCSAgcnRwYmluOiBHZXQgYW5kIHVzZSB0aGUgTlRQIHRpbWUgd2hlbiByZWNlaXZpbmcgUlRDUAoJICBXaGVuIHdlIHJlY2VpdmUgYW4gUlRDUCBwYWNrZXQsIGdldCB0aGUgY3VycmVudCBOVFAgdGltZSBpbiBuYW5zZWNvbmRzIHNvIHRoYXQKCSAgd2UgY2FuIGNvcnJlY3RseSBjYWxjdWxhdGUgdGhlIHJvdW5kLXRyaXAgdGltZS4KCjIwMTEtMDItMDEgMTk6NDA6NTggKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdHNvdW5kc2luay5jOgoJICBkaXJlY3Rzb3VuZDogYXJyYW5nZSBmb3IgZGVmaW5pdGlvbiBvZiBfc3dhYiBvbiBDeWd3aW4KCSAgZ3N0ZGlyZWN0c291bmRzaW5rLmM6IEluIGZ1bmN0aW9uICdnc3RfZGlyZWN0c291bmRfc2lua193cml0ZSc6CgkgIGdzdGRpcmVjdHNvdW5kc2luay5jOjU1NzogZXJyb3I6IGltcGxpY2l0IGRlY2xhcmF0aW9uIG9mIGZ1bmN0aW9uICdfc3dhYicKCSAgZ3N0ZGlyZWN0c291bmRzaW5rLmM6NTU3OiBlcnJvcjogbmVzdGVkIGV4dGVybiBkZWNsYXJhdGlvbiBvZiAnX3N3YWInCgoyMDEwLTEwLTA2IDIxOjE3OjI4IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cHRoZW9yYWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwdGhlb3JhZGVwYXkuaDoKCSAgcnRwdGhlb3JhZGVwYXk6IFJlcXVlc3QgbmV3IGtleWZyYW1lIG9uIGxvc3QgcGFja2V0cwoJICBUaGVvcmEgY2FuIG9ubHkgdXNlIHRoZSBsYXN0IGZyYW1lIChvciB0aGUga2V5ZnJhbWUpIGFzIGEgcmVmZXJlbmNlLCBzbyBpbgoJICBwcmFjdGljZS4gSWYgd2UgcmVjZWl2ZSBhIGJ1ZmZlciB0aGF0IHJlZmVyZW5jZXMgYW4gdW5rbm93biBjb2RlYm9vaywgcmVxdWVzdAoJICBuZXcgaGVhZGVycy4gSXQgcHJvYmFibHkgbWVhbnMgdGhhdCBoZWFkZXJzIHdlcmUgbG9zdC4KCjIwMTAtMDgtMjcgMTQ6MTE6NTMgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi1tYXJzaGFsLmxpc3Q6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5oOgoJICBydHBzZXNzaW9uOiBBZGQgYWN0aW9uIHNpZ25hbCB0byByZXF1ZXN0IGVhcmx5IFJUQ1AKCjIwMTAtMDgtMjcgMTY6MTE6MDYgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmg6CgkgIHJ0cHNlc3Npb246IEFkZCBjYWxsYmFjayB0byBnZXQgdGhlIGN1cnJlbnQgdGltZQoKMjAxMC0xMC0xOSAyMjoyMTo1NCArMDIwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmg6CgkgIHJ0cHNlc3Npb246IERvbid0IHJlbGF5IG1vcmUgdGhhbiBvbmUgUExJIHJlcXVlc3QgcGVyIFJUVAoJICBEcm9wIFBMSSByZXF1ZXN0cyBpZiBvbmUgd2FzIHJlbGF5IGluIHRoZSBsYXN0IFJUVCwgdGhlIG90aGVyIHNpZGUgbWF5CgkgIGp1c3Qgbm90IGhhdmUgcmVjZWl2ZWQgdGhlIGtleWZyYW1lIHlldC4KCjIwMTAtMDYtMjMgMTY6NDM6MjQgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmg6CgkgIHJ0cHNlc3Npb246IFNlbmQgR3N0Rm9yY2VLZXlVbml0IGV2ZW50IGluIHJlc3BvbnNlIHRvIHJlY2VpdmVkIFJUQ1AgUExJCgoyMDEwLTExLTI0IDE1OjI3OjQ2IC0wNTAwICBTam9lcmQgU2ltb25zIDxzam9lcmQuc2ltb25zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzoKCSAgZ3N0cnRwc2Vzc2lvbjogRmFsbGJhY2sgZm9yIEZJUiB0byBQTEkgaWYgUExJIGlzbid0IGF2YWlsYWJsZQoKMjAxMC0wNi0yMiAxOTo1Njo1MCAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uaDoKCSAgcnRwc2Vzc2lvbjogSW1wbGVtZW50IHNlbmRpbmcgUExJIHBhY2tldHMgaW4gcmVzcG9uc2UgdG8gR3N0Rm9yY2VLZXlVbml0CgoyMDEwLTA2LTIyIDEzOjMzOjMyIC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uaDoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5oOgoJICBydHBzb3VyY2U6IFJldGFpbiBSVENQIEZlZWRiYWNrIHBhY2tldHMgZm9yIGEgc3BlY2lmaWVkIGFtb3VudCBvZiB0aW1lCgoyMDEwLTA5LTA3IDEzOjM1OjE2ICswMzAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkgIHJ0cHNlc3Npb246IE1ha2UgcnRjcCBidWZmZXIgbWV0YWRhdGEgd3JpdGFibGUgYWZ0ZXIgcHJvY2Vzc2luZyBpdAoJICBGdW5jdGlvbnMgdGhhdCBwcm9jZXNzIHRoZSBydGNwIGJ1ZmZlciBjb3VsZCBkZWNpZGUgdG8ga2VlcCBhIHJlZgoJICBvbiB0aGUgYnVmZmVyIGZvciBmdXJ0aGVyIHByb2Nlc3NpbmcuIFNvIG1ha2UgdGhlIG1ldGFkYXRhIHdyaXRhYmxlCgkgIG9ubHkgYWZ0ZXIgdGhleSBhcmUgZG9uZS4KCjIwMTAtMDYtMTcgMTc6MzQ6MTkgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi1tYXJzaGFsLmxpc3Q6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5oOgoJICBydHBzZXNzaW9uOiBFbWl0IHNpZ25hbCBvbiBpbmNvbWluZyBSVENQIEZCIHBhY2tldAoKMjAxMS0wMi0wMSAxODoxNzoxMyArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSAgcnRwc2Vzc2lvbjogZml4IGNvbXBpbGF0aW9uCgoyMDEwLTA2LTE1IDE4OjM5OjQ3IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uaDoKCSAgcnRwc2Vzc2lvbjogQWRkIG1ldGhvZCB0byByZXF1ZXN0IGVhcmx5IFJUQ1AgcGFja2V0CgkgIEltcGxlbWVudCB0aGUgZWFybHkgbW9kZSBkZWZpbmVkIGluIFJGQyA0NTg1LiBJbiB0aGlzIG1vZGUsIFJUQ1AgZmVlZGJhY2sKCSAgcGFja2V0cyBhcmUgc2VudCBlYXJseSB0byBub3RpZmllci4KCjIwMTAtMDYtMDEgMTk6Mjg6MDEgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzdGF0cy5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzdGF0cy5oOgoJICBydHBzZXNzaW9uOiBBZGQgcHJvcGVydHkgZm9yIG1pbmltdW0gaW50ZXJ2YWwgYmV0d2VlbiBSZWd1bGFyIFJUQ1AgbWVzc2FnZXMKCSAgVGhpcyBjYW4gYmUgY2hhbmdlZCBhY2NvcmRpbmcgdG8gUkZDIDQ1ODUKCjIwMTAtMDYtMTQgMTg6NDA6MzMgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi1tYXJzaGFsLmxpc3Q6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5oOgoJICBydHBzZXNzaW9uOiBFbWl0IHNpZ25hbCB3aGVuIHNlbmRpbmcgYSBjb21wb3VuZCBSVENQIHBhY2tldAoJICBUaGlzIGFsbG93cyB1c2VycyB0byBhZGQgZXh0cmEgUlRDUCBwYWNrZXRzIHRvIHRoZSBjb21wb3VuZAoJICBSVENQIHBhY2tldC4KCjIwMTAtMDYtMTkgMTk6MTE6MDYgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHB0ZGVtdXguYzoKCSAgcnRwcHRkZW11eDogVGFnIHVwc3RyZWFtIGN1c3RvbSBldmVudHMgd2l0aCBwYXlsb2FkIHR5cGUKCjIwMTAtMDYtMTggMTk6MTI6NDAgLTA0MDAgIE9saXZpZXIgQ3JldGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc3NyY2RlbXV4LmM6CgkgIHJ0cHNzcmNkZW11eDogVGFnIHVwc3RyZWFtIGN1c3RvbSBldmVudHMgd2l0aCBTU1JDCgoyMDEwLTEwLTAxIDE3OjE5OjE2IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkgIHJ0cHNlc3Npb246IEVtaXQgIm9uLXNzcmMtdmFsaWRhdGVkIiB3aGVuIHZhbGlkYXRpbmcgYnkgUlRDUAoJICBFbWl0ICJvbi1zc3JjLXZhbGlkYXRlZCIgaWYgdGhlIFNTUkMgaXMgdmFsaWRhdGVkIGJ5IHJlY2VpdmluZwoJICBhIFJUQ1AgU0RFUyBwYWNrZXQuCgoyMDExLTAyLTAxIDE2OjM4OjIwICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBqMmtwYXkuYzoKCSAgajJrcGF5OiBza2lwIEVQSCBwYWNrZXRzCgkgIEluY2x1ZGUgRVBIIG1hcmtlcnMgaW50byB0aGUgcHJldmlvdXMgY2h1bmsgb2YgcGFja2V0cy4KCjIwMTEtMDEtMzEgMTc6NTY6MTggLTA1MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwcGNtYXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHBjbWFwYXkuaDoKCSAgcnRwcGNtYXBheTogUmVuYW1lIHRoZSBjbGFzcyB0byBoYXZlIHRoZSByaWdodCBuYW1lCgkgIEl0IHdhcyBuYW1lIHBtY2EgaW5zdGVhZCBvZiBwY21hIGFuZCBtYWRlIGRlYnVnIGxvZ3MgaGFyZCB0byBzZWFyY2guCgoyMDExLTAxLTMxIDA1OjU4OjM2ICswMTAwICBEYXZpZCBIZW5uaW5nc3NvbiA8ZGF2aWQuaGVubmluZ3Nzb25AY2Fub25pY2FsLmNvbT4KCgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSAgUHVsc2VzaW5rOiBBbGxvdyBjaHVua3MgdXAgdG8gYnVmc2l6ZSBpbnN0ZWFkIG9mIHNlZ3NpemUKCSAgQnkgYWxsb3dpbmcgbGFyZ2VyIGNodW5rcyB0byBiZSBzZW50LCBQdWxzZUF1ZGlvIHdpbGwgaGF2ZSBhCgkgIGxvd2VyIENQVSB1c2FnZS4gVGhpcyBpcyBlc3BlY2lhbGx5IGltcG9ydGFudCBvbiBsb3ctZW5kIG1hY2hpbmVzLAoJICB3aGVyZSBQdWxzZUF1ZGlvIGNhbiBjcmFzaCBpZiBwYWNrZXRzIGFyZSBjb21pbmcgaW4gYXQgYSBoaWdoZXIKCSAgcmF0ZSB0aGFuIFB1bHNlQXVkaW8gY2FuIHByb2Nlc3MgdGhlbS4KCSAgU2lnbmVkLW9mZi1ieTogRGF2aWQgSGVubmluZ3Nzb24gPGRhdmlkLmhlbm5pbmdzc29uQGNhbm9uaWNhbC5jb20+CgoyMDExLTAxLTMxIDEzOjQ0OjQ1ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5jOgoJICBkZWludGVybGFjZTogc2ltcGxpZnkgdGVtcGxhdGUgY2FwcwoJICBXZSBjYW4gbWVyZ2UgYWxsIHRoZSBZVVYgdmFyaWFudHMgaW50byBvbmUgc2luZ2xlIHN0cnVjdHVyZS4KCjIwMTEtMDEtMjcgMTU6MzU6MDYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIHdpbjMyOiBmaXggREVGQVVMVF9BVURJT1NJTkssIHNob3VsZCBiZSBkaXJlY3Qqc291bmQqc2luawoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjQwNzA1CgoyMDExLTAxLTI3IDE2OjAyOjQ2ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgYXZpZGVtdXg6IGluaXRpYWxpemUgbG9jYWwgdmFyaWFibGUgdG8gcGxlYXNlIG1pbmd3MzIgY29tcGlsZXIKCjIwMTEtMDEtMjYgMjI6MjE6MzEgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuYzoKCSogZ3N0L3VkcC9nc3R1ZHBuZXR1dGlscy5oOgoJKiBnc3QvdWRwL2dzdHVkcHNyYy5jOgoJICB1ZHA6IHVzZSBzb2NrbGVuX3Qgd2hlcmUgYXBwcm9wcmlhdGUgcmF0aGVyIHRoYW4gY3VzdG9tIHR5cGUKCSAgSW4gcGFydGljdWxhciwgZml4ZXMgQ3lnd2luIGJ1aWxkIHdoZXJlIHNvY2tsZW5fdCBpcyBkZWZpbmVkIGFzIGludAoJICBpbiBsaW5lIHdpdGggbmF0aXZlIHdpbjMyIGFwaSBkZWZpbml0aW9uLgoKMjAxMS0wMS0yNyAxMjoxNjo0NiArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IG1pbmQgcm91bmRpbmcgaXNzdWVzIHdoZW4gY29udmVydGluZyBmcm9tIGdsb2JhbCB0aW1lIHRvIG1vdiB0aW1lCgkgIEluIHBhcnRpY3VsYXIsIHRoaXMgYXZvaWRzIG1pc3NpbmcgdGhlIGludGVuZGVkIGtleWZyYW1lIHdoZW4gZmlyc3QgY29udmVydGluZwoJICBmcm9tIHRoZSBmcmFtZSdzIG1vdiB0aW1lIHRvIGdsb2JhbCBzZWdtZW50IHRpbWUsIGFuZCB0aGVuIGJhY2sgZnJvbSBnbG9iYWwKCSAgdGltZSB0byBtb3YgdGltZSB3aGVuIGFjdGl2YXRpbmcgdGhlIHNlZ21lbnQuCgoyMDExLTAxLTI2IDA4OjQ4OjQzICswMDAwICBPZ255YW4gVG9uY2hldiA8b2dueWFuLnRvbmNoZXZAYXhpcy5jb20+CgoJKiBnc3QvbWF0cm9za2EvZWJtbC13cml0ZS5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9tYXRyb3NrYW11eC5jOgoJICBtYXRyb3NrYW11eDogZG9uJ3QgbGVhayBlYm1sIHdyaXRlciBjYXBzIHdoZW4gcmUtdXNpbmcgbWF0cm9za2FtdXgKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY0MDU0MgoKMjAxMS0wMS0yNSAyMTo1NjoxOSArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwaml0dGVyYnVmZmVyLmM6CgkgIHJ0cGppdHRlcmJ1ZmZlcjogZG9uJ3QgZGl2aWRlIGJ5IDAKCjIwMTEtMDEtMTggMTQ6NDg6MDQgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thZGVtdXg6IHB1bGwgbW9kZSBzaG91bGQgYWx3YXlzIHJlcG9ydCBzZWVrYWJsZQoJICAuLi4gYXMgaXQgbm8gbG9uZ2VyIHJlcXVpcmVzIGFuIGluZGV4LCBidXQgY2FuIHNlZWsgYnkgc2Nhbm5pbmcgYXMgd2VsbC4KCjIwMTEtMDEtMTAgMTI6MzQ6MjIgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4X2ZvdXJjYy5oOgoJICBxdGRlbXV4OiBzdXBwb3J0IHNvbWUgbW9yZSBtcGVnLTQgZm91cmNjIHZhcmlhbnRzCgoyMDExLTAxLTEwIDEyOjM0OjAzICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogc2ltcGxpZnkgcmV0cmlldmluZyBzdHNkIGNoaWxkIGVudHJ5IGF0b20KCjIwMTEtMDEtMjQgMTg6Mjc6NTIgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICBhdmlkZW11eDogRG9uJ3QgY29uc2lkZXIgMCBmY2NfaGFuZGxlciBhcyB1bmNvbXByZXNzZWQuCgkgIEp1c3QgYXZvaWRzIGEgd2FybmluZwoKMjAxMS0wMS0yMCAxMjoxNDowOCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogdGFrZSBjb25maWd1cmVkIHN0YXJ0IHRpbWUgaW50byBhY2NvdW50CgkgIHdoZW4gY3JlYXRpbmcgdGhlIG5ld3NlZ21lbnQgZXZlbnQsIHRha2UgdGhlIGNvbmZpZ3VyZWQgc3RhcnQgdGltZQoJICBpbnRvIGFjY291bnQuCgoyMDExLTAxLTI0IDE1OjExOjAyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogZml4IHByaW50ZiBmb3JtYXQgd2FybmluZyBvbiBtaW5ndzMyCgkgIE1ha2Ugd2luMzIgYnVpbGQgYm90IGhhcHB5IGFnYWluLCBhbmQgbmljZWZ5IG91dHB1dCB3aGlsZSB3ZSdyZSBhdCBpdC4KCSAgcXRkZW11eC5jOiBJbiBmdW5jdGlvbiAncXRkZW11eF9wYXJzZV90cnVuJzoKCSAgcXRkZW11eC5jOjIxNjI6MzogZXJyb3I6IGZvcm1hdCAnJWx1JyBleHBlY3RzIHR5cGUgJ2xvbmcgdW5zaWduZWQgaW50JywgYnV0IGFyZ3VtZW50IDkgaGFzIHR5cGUgJ2d1aW50MzInCgoyMDExLTAxLTI0IDEzOjM5OjU4ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2V4YW1wbGVzL3J0cC9jbGllbnQtSDI2M3AtQU1SLnNoOgoJKiB0ZXN0cy9leGFtcGxlcy9ydHAvY2xpZW50LUgyNjNwLVBDTUEuc2g6CgkqIHRlc3RzL2V4YW1wbGVzL3J0cC9jbGllbnQtSDI2NC1QQ01BLnNoOgoJKiB0ZXN0cy9leGFtcGxlcy9ydHAvY2xpZW50LVBDTUEuc2g6CgkgIGV4YW1wbGVzOiBhdXRvYXVkaXNpbmsgLT4gYXV0b2F1ZGlvc2luayBpbiBSVFAgZXhhbXBsZXMKCjIwMTEtMDEtMjQgMDA6MzI6NDEgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5pbnRlcmZhY2VzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLnByZXJlcXVpc2l0ZXM6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi0xMzk0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhY29sb3IueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYW5ub2RleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hcGV0YWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9meC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9kZXRlY3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXZpLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhY2FzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhaXJvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWN1dHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWludGVybGFjZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmVuY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZmZWN0di54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lcXVhbGl6ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXNkc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbGFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHhkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2NvbmZlbGVtZW50cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZGtwaXhidWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tMmsxLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzdHJ0cG1hbmFnZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taGFsZWxlbWVudHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWN5ZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW1hZ2VmcmVlemUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXJsZWF2ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwZWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGV2ZWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWF0cm9za2EueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW9ub3Njb3BlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpZmlsZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aXBhcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmF2aWdhdGlvbnRlc3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzNC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3NhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbmcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcHVsc2VhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1xdWlja3RpbWUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVwbGF5Z2Fpbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRzcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaGFwZXdpcGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hvdXQyc2VuZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbXB0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWN0cnVtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXRhZ2xpYi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi11ZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW80bGludXgyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvYm94LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvY3JvcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2ZpbHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb21peGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXhpbWFnZXNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi15NG1lbmMueG1sOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIEJhY2sgdG8gZGV2ZWxvcG1lbnQKCj09PSByZWxlYXNlIDAuMTAuMjcgPT09CgoyMDExLTAxLTIxIDEyOjU0OjE2ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIENoYW5nZUxvZzoKCSogTkVXUzoKCSogUkVMRUFTRToKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tMTM5NC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYWNvbG9yLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFubm9kZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXBldGFnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvZngueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvZGV0ZWN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF2aS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWNhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWlyby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jdXR0ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVpbnRlcmxhY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZlbmNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZmVjdHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXF1YWxpemVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVzZHNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmxhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx4ZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdjb25mZWxlbWVudHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2RrcGl4YnVmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbTJrMS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc3RydHBtYW5hZ2VyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWhhbGVsZW1lbnRzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWljeWRlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlkM2RlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWltYWdlZnJlZXplLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVybGVhdmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tamFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxldmVsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1hdHJvc2thLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpZmlsZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aXBhcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmF2aWdhdGlvbnRlc3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzNC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3NhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbmcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcHVsc2VhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1xdWlja3RpbWUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVwbGF5Z2Fpbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRzcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaGFwZXdpcGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hvdXQyc2VuZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbXB0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWN0cnVtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXRhZ2xpYi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi11ZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW80bGludXgyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvYm94LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvY3JvcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2ZpbHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb21peGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXhpbWFnZXNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi15NG1lbmMueG1sOgoJKiBnc3QtcGx1Z2lucy1nb29kLmRvYXA6CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgUmVsZWFzZSAwLjEwLjI3CgoyMDExLTAxLTIwIDE0OjEwOjU1ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2NGRlcGF5LmM6CgkgIGgyNjRkZXBheTogZG9uJ3QgbGVhayBjb2RlYyBkYXRhIGJ1ZmZlciBpbiBieXRlLXN0cmVhbT10cnVlIG1vZGUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY0MDA2MwoKMjAxMS0wMS0yMCAxMzo0MTozMyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IGRvbid0IGxlYWsgdXJsIHN0cmluZwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjQwMDY0CgoyMDExLTAxLTIwIDExOjQ1OjQ3ICswMTAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogR3JhY2VmdWxseSBoYW5kbGUgbW92IGZpbGVzIG1pc3VzaW5nIHRoZSBXQVZFIGF0b21zCgkgIENoZWNrIHRoYXQgdGhlIFdBVkVIRUFERVIgbm9kZSBpcyBwcmVzZW50IGluc3RlYWQgb2YgYmxpbmRseSB1c2luZyBpdC4KCSAgSWYgbm90IHByZXNlbnQgd2Ugd29uJ3QgYmUgYWJsZSB0byBwcm92aWRlIGEgbW9yZSByZWZpbmVkIGNhcHMsIGJ1dCBhdAoJICBsZWFzdCB3ZSB3b24ndCBjcmFzaC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY0MDAyOAoKMjAxMS0wMS0yMCAwMDowNzozMyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyc2luay5jOgoJICB2NGwyc2luazogZml4IGFjY2lkZW50YWwgYnJlYWthZ2Ugb2YgbmF2aWdhdGlvbiBpbnRlcmZhY2Ugc3VwcG9ydAoKMjAxMS0wMS0xOCAxMjo1ODoyOSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgMC4xMC4yNi40IHByZS1yZWxlYXNlCgoyMDExLTAxLTEyIDE0OjAzOjU3IC0wODAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZW1ldGhvZC5jOgoJICBkZWludGVybGFjZTogcmV3cml0ZSBob3cgbmVpZ2hib3Jpbmcgc2NhbiBsaW5lcyBhcmUgY2FsY3VsYXRlZAoJICBPbGQgY29kZSB3YXMgZGlmZmljdWx0IHRvIHVuZGVyc3RhbmQgZXhhY3RseSBob3cgdGhlIG5laWdoYm9yaW5nCgkgIHNjYW4gbGluZXMgYXJlIGNhbGN1bGF0ZWQsIGFuZCBpdCBhcHBlYXJlZCB0aGF0IHNvbWUgd2VyZSBvZmYgYnkKCSAgKzIgb3IgLTIsIGRlcGVuZGluZyBvbiB0aGUgZmllbGQgZmxhZy4gIEZpeGVzICM2MzkzMjEuCgoyMDExLTAxLTE4IDA5OjMzOjA2ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdmkvZ3N0YXZpc3VidGl0bGUuYzoKCSAgYXZpc3VidGl0bGU6IHNldCBjYXBzIG9uIHNyY3BhZCB0byBmaXggaXNzdWUgd2l0aCBkaXNjb3ZlcmVyCgkgIFNldCBjYXBzIGZyb20gdGhlIHN0YXJ0IHNvIGRpc2NvdmVyZXIgZG9lc24ndCBibG93IHVwIG9uCgkgIHNlZWluZyBubyBuZWdvdGlhdGVkIGNhcHMgYmV0d2VlbiBlbGVtZW50cyBvbiBwcmVyb2xsLAoJICB3aGljaCBtaWdodCBoYXBwZW4gaWYgbm8gc3VidGl0bGUgYnVmZmVycyBoYXZlIGJlZW4KCSAgcHVzaGVkIHlldCBhdCB0aGUgdGltZS4gU2VlIGZpbGUgZnJvbSBidWcgIzYwMzMwOC4KCjIwMTEtMDEtMTcgMjA6MDk6MTYgKzA1MzAgIEFydW4gUmFnaGF2YW4gPGFydW4ucmFnaGF2YW5AY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJICBwdWxzZXNpbms6IFVuY29yayBzdHJlYW0gd2hpbGUgZmx1c2hpbmcgdGhlIHJpbmdidWZmZXIKCSAgQWZ0ZXIgc3RhcnRpbmcgdGhlIHJpbmdidWZmZXIsIHdlIHdhaXQgZm9yIGVub3VnaCBkYXRhIHRvIGFycml2ZSBiZWZvcmUKCSAgdW5jb3JraW5nIHRoZSBzdHJlYW0uIFRoaXMgd2lsbCBjYXVzZSB0aGUgcGlwZWxpbmUgdG8gc3RhbGwgaWYgd2UgZ2V0IGFuCgkgIEVPUyAob3Igb3RoZXJ3aXNlIG5lZWQgdG8gZmx1c2ggdGhlIHN0cmVhbSkgYmVmb3JlIHN1ZmZpY2llbnQgZGF0YQoJICBiZWNvbWVzIGF2YWlsYWJsZS4gVGhpcyBwYXRjaCBtYWtlcyBzdXJlIHRoYXQgdGhlIHN0cmVhbSBpcyB1bmNvcmtlZAoJICB3aGlsZSBmbHVzaGluZyB0byBhdm9pZCB0aGlzIHByb2JsZW0uCgkgIEZpeGVzIGlzc3VlIHdpdGggYSB3ZWJraXQgdW5pdCB0ZXN0IHRlc3RpbmcgcmV2ZXJzZSBwbGF5YmFjayBvZgoJICBhbiBNUDQgSC4yNjQvQUFDIGZpbGUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02Mzk3NDAKCjIwMTEtMDEtMTQgMTQ6NTE6NTEgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJICBtYXRyb3NrYW11eDogYXZvaWQgY3JlYXRpbmcgY2FwcyBmcm9tIHN0cmluZyB3aGVuIHBvc3NpYmxlCgkgIEZpeGVzICM2Mzk1MTYuCgoyMDExLTAxLTE0IDE0OjQ4OjQ5ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdmkvZ3N0YXZpbXV4LmM6CgkgIGF2aW11eDogc2V0IHNyYyBwYWQgY2FwcyB3aGVuIHN0YXJ0aW5nIGZpbGUKCSAgRml4ZXMgIzYzOTUxNi4KCjIwMTEtMDEtMTIgMjA6Mzg6NTkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICB2NGwyOiBkZWZpbmUgVjRMMl9GSUVMRF9JTlRFUkxBQ0VEX3tUQixCVH0gaWYgbm90IGF2YWlsYWJsZSBpbiBoZWFkZXIKCSAgT2xkZXIga2VybmVscyBkb24ndCBoYXZlIHRoZXNlLCBhbmQgdGhlcmUncyBubyBlYXN5IHdheSB0byBjaGVjayBmb3IgdGhlCgkgIGV4aXN0YW5jZSBvZiBlbnVtcyB0aGF0IGRvZXNuJ3QgaW52b2x2ZSBhIGNvbmZpZ3VyZSBjaGVjaywgc28ganVzdCBkZWZpbmUKCSAgdGhlc2UgaWYgdGhlIFY0TDJfQ0FQX1ZJREVPX09VVFBVVF9PVkVSTEFZIGRlZmluZSBpcyBub3QgdGhlcmUsIHdoaWNoIHdhcwoJICBhZGRlZCBpbiB0aGUgc2FtZSBjb21taXQgYXMgdGhlIFRCL0JUIGVudW0uIEZpeGVzIGNvbXBpbGF0aW9uIG9uIENlbnRPUyA1LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjM5MzM5CgoyMDExLTAxLTExIDIzOjE4OjU5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICAwLjEwLjI2LjMgcHJlLXJlbGVhc2UKCjIwMTEtMDEtMTEgMjI6NDI6NDIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5pbnRlcmZhY2VzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLnByZXJlcXVpc2l0ZXM6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi0xMzk0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhY29sb3IueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYW5ub2RleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hcGV0YWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9meC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9kZXRlY3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXZpLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhY2FzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhaXJvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWN1dHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWludGVybGFjZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmVuY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZmZWN0di54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lcXVhbGl6ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXNkc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbGFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHhkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2NvbmZlbGVtZW50cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZGtwaXhidWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tMmsxLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzdHJ0cG1hbmFnZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taGFsZWxlbWVudHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWN5ZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW1hZ2VmcmVlemUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXJsZWF2ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwZWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGV2ZWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWF0cm9za2EueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlmaWxlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpcGFydC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uYXZpZ2F0aW9udGVzdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3M0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zc2F1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBuZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wdWxzZWF1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXF1aWNrdGltZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXBsYXlnYWluLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHNwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNoYXBld2lwZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaG91dDJzZW5kLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNtcHRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlY3RydW0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdGFnbGliLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXVkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlbzRsaW51eDIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9ib3gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9jcm9wLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvZmlsdGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvbWl4ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2ZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teGltYWdlc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXk0bWVuYy54bWw6CgkgIGRvY3M6IHVwZGF0ZSBkb2NzCgoyMDExLTAxLTExIDIzOjM5OjEyICswNTMwICBBcnVuIFJhZ2hhdmFuIDxhcnVuLnJhZ2hhdmFuQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSAgcHVsc2VzaW5rOiBNYWtlIGNvcmtpbmcgZHVyaW5nIHBhdXNlIHN5bmNocm9ub3VzCgkgIFRoaXMgbWFrZXMgdGhlIGNhbGwgdG8gcGFfc3RyZWFtX2NvcmsoKSBkdXJpbmcgcmluZ2J1ZmZlciBwYXVzZSgpCgkgIHN5bmNocm9ub3VzLCB3aGljaCBtYWtlcyBzdXJlIHRoYXQgdGhlIGNsb2NrIGRvZXMgbm90IGFkdmFuY2UgYWZ0ZXIgd2UKCSAgdGFrZSBhIHNuYXBzaG90IGZvciBzdGFydF90aW1lLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjM5MjQwCgoyMDExLTAxLTExIDE5OjMzOjE2ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHBvL2RhLnBvOgoJKiBwby9nbC5wbzoKCSogcG8vcGwucG86CgkqIHBvL3B0X0JSLnBvOgoJKiBwby9zbC5wbzoKCSogcG8vc3YucG86CgkqIHBvL3RyLnBvOgoJICBwbzogdXBkYXRlIHRyYW5zbGF0aW9ucwoKMjAxMS0wMS0xMSAxNTo1MDoyOCArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSBlNTcyYzg3IHRvIGY5NGQ3MzkKCjIwMTEtMDEtMTAgMTY6MzY6MTkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSBjY2JhYTg1IHRvIGU1NzJjODcKCjIwMTEtMDEtMTAgMTQ6NTM6MzkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSA0NjQ0NWFkIHRvIGNjYmFhODUKCjIwMTEtMDEtMDcgMTM6MjQ6MDIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIDAuMTAuMjYuMiBwcmUtcmVsZWFzZQoKMjAxMS0wMS0wNyAxMzowNjozOCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBwby9hZi5wbzoKCSogcG8vYXoucG86CgkqIHBvL2JnLnBvOgoJKiBwby9jYS5wbzoKCSogcG8vY3MucG86CgkqIHBvL2RhLnBvOgoJKiBwby9kZS5wbzoKCSogcG8vZWwucG86CgkqIHBvL2VuX0dCLnBvOgoJKiBwby9lcy5wbzoKCSogcG8vZXUucG86CgkqIHBvL2ZpLnBvOgoJKiBwby9mci5wbzoKCSogcG8vZ2wucG86CgkqIHBvL2h1LnBvOgoJKiBwby9pZC5wbzoKCSogcG8vaXQucG86CgkqIHBvL2phLnBvOgoJKiBwby9sdC5wbzoKCSogcG8vbHYucG86CgkqIHBvL210LnBvOgoJKiBwby9uYi5wbzoKCSogcG8vbmwucG86CgkqIHBvL29yLnBvOgoJKiBwby9wbC5wbzoKCSogcG8vcHRfQlIucG86CgkqIHBvL3JvLnBvOgoJKiBwby9ydS5wbzoKCSogcG8vc2sucG86CgkqIHBvL3NsLnBvOgoJKiBwby9zcS5wbzoKCSogcG8vc3IucG86CgkqIHBvL3N2LnBvOgoJKiBwby90ci5wbzoKCSogcG8vdWsucG86CgkqIHBvL3ZpLnBvOgoJKiBwby96aF9DTi5wbzoKCSogcG8vemhfSEsucG86CgkqIHBvL3poX1RXLnBvOgoJICBwbzogdXBkYXRlIHRyYW5zbGF0aW9ucwoKMjAxMS0wMS0wNyAwMjozMjoyMCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYWxwaGEvZ3N0YWxwaGEuYzoKCSAgYWxwaGE6IGZpeCBjb21waWxlciB3YXJuaW5ncyBjYXVzZWQgYnkgLURHX0RJU0FCTEVfQVNTRVJUCgoyMDExLTAxLTA3IDAyOjA2OjUxICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9lYm1sLXJlYWQuYzoKCSAgbWF0cm9za2E6IGRvbid0IHB1dCBlc3NlbnRpYWwgZnVuY3Rpb24gY2FsbHMgaW50byBnX2Fzc2VydCgpCgkgIGdfYXNzZXJ0KCkgd2lsbCBleHBhbmQgdG8gTk9PUHMgaWYgLURHX0RJU0FCTEVfQVNTRVJUIGlzIHBhc3NlZC4KCjIwMTEtMDEtMDcgMDE6MzU6NDUgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMnNpbmsuYzoKCSAgdjRsMnNpbms6IGRvbid0IHB1dCBmdW5jdGlvbmFsIGNvZGUgbGlrZSBpb2N0bCBjYWxscyBpbnRvIGdfcmV0dXJuX2lmX2ZhaWwoKQoJICBUaGVzZSBtYWNyb3Mgd2lsbCBleHBhbmQgdG8gTk9PUHMgZ2l2ZW4gdGhlIHJpZ2h0IGRlZmluZXMuIEFsc28sCgkgIGdfcmV0dXJuX2lmX2ZhaWwoKSBhbmQgZnJpZW5kcyBhcmUgbWVhbnQgdG8gYmUgdXNlZCB0byBjYXRjaCBwcm9ncmFtbWluZwoJICBlcnJvcnMgKGxpa2UgaW52YWxpZCBpbnB1dCB0byBmdW5jdGlvbnMpLCBub3QgcnVudGltZSBlcnJvciBoYW5kbGluZy4KCjIwMTEtMDEtMDcgMDE6MTE6MDIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgIHRlc3RzOiBuZXZlciBkaXNhYmxlIGdfYXNzZXJ0KCkgYW5kIGNhc3QgY2hlY2tzIGZvciB0aGUgdW5pdCB0ZXN0cwoJICBUaGUgdW5pdCB0ZXN0cyBhcmUgcmlkZGxlZCB3aXRoIGdfYXNzZXJ0KCkgYW5kIGZyaWVuZHMsIG1ha2Ugc3VyZSB3ZQoJICBkb24ndCBkaXNhYmxlIGFzc2VydCBhbmQgY2FzdCBjaGVja3MgZm9yIHRoZSB1bml0IHRlc3RzIGV2ZW4gaWYKCSAgdGhpcyBoYXMgYmVlbiBzcGVjaWZpZWQgZm9yIHRoZSByZXN0IG9mIHRoZSBjb2RlIGJhc2UsIGUuZy4gdmlhCgkgIC0tZGlzYWJsZS1nbGliLWFzc2VydHMuCgoyMDExLTAxLTA2IDEyOjI5OjIxICswMTAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwbXA0YWRlcGF5LmM6CgkgIHJ0cDogRml4IHVuaXRpYWxpemVkIHZhcmlhYmxlcyBvbiBtYWNvc3gKCjIwMTEtMDEtMDYgMTI6Mjg6NTggKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eF9kdW1wLmM6CgkgIHF0ZGVtdXg6IEZpeCB1bml0aWFsaXplZCB2YXJpYWJsZXMgb24gbWFjb3N4CgoyMDExLTAxLTA1IDE3OjQ5OjE2IC0wODAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdGNhcHNkZWJ1Zy5jOgoJICBjYXBzZGVidWc6IEFkZCBjYXBkZWJ1ZyBkZWJ1ZyBjYXRlZ29yeQoKMjAxMC0xMi0xMSAxMjo0MjoxMCAtMDgwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuYzoKCSAgZGVpbnRlcmxhY2U6IENoYW5nZSB0aGUgZGVmYXVsdCB0byBsaW5lYXIKCSAgVGhlIHByZXZpb3VzIGRlZmF1bHQsIGdyZWVkeWgsIHRha2VzIDQgdGltZXMgYXMgbG9uZyBhcyBNUEVHLTIKCSAgdmlkZW8gZGVjb2RpbmcsIGFuZCBpcyB1bmxpa2VseSBmYXN0IGVub3VnaCBvbiBhbnkgY3VycmVudCBDUFUKCSAgdG8gcGxheSAxMDgwaSB2aWRlbyBpbiByZWFsLXRpbWUuICBncmVlZHlsIGlzbid0IG11Y2ggZmFzdGVyLgoJICBsaW5lYXIgd2FzIGNob3NlbiBvdmVyIHZmaXIsIHNpbmNlIHRoZSBxdWFsaXR5IGFkdmFudGFnZSBvZiB2ZmlyCgkgIGlzIG1pbmltYWwgY29tcGFyZWQgdG8gdGhlIG9jY2FzaW9uYWwgdmlzdWFsIGFydGlmYWN0cyBhbmQgc2xvd2VyCgkgIHByb2Nlc3NpbmcuCgoyMDExLTAxLTA1IDE4OjMyOjU4ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBkb24ndCBjb25mdXNlIHJldHVybiB2YWx1ZXMKCSAgUmV0dXJuIGEgcmV0dXJuIHZhbHVlIG9mIHRoZSByaWdodCB0eXBlLgoKMjAxMS0wMS0wNSAxNjoyNDoxMyArMDEwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXhfZHVtcC5jOgoJICBxdGRlbXV4OiBGaXggdW5pdGlhbGl6ZWQgdmFyaWFibGVzIG9uIG1hY29zeAoKMjAxMS0wMS0wNSAxNTowMzozMiArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwdnJhd2RlcGF5LmM6CgkgIHZyYXdkZXBheTogZml4IGxlbmd0aCBjaGVjawoJICBBZGQgc29tZSBtb3JlIGRlYnVnZ2luZy4KCSAgQWRkIHRoZSBsZW5ndGggY2hlY2sgc28gd2UgZG9uJ3QgY2F1c2UgdW5uZWVkZWQgd2FybmluZ3MuCgoyMDExLTAxLTA1IDEyOjA0OjAzICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuYzoKCSogZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuaDoKCSAgbXVsdGl1ZHBzaW5rOiBhZGQgYnVmZmVyLXNpemUgcHJvcGVydHkKCSAgQWRkIGJ1ZmZlci1zaXplIHByb3BlcnR5IHRvIGNvbmZpZ3VyZSB0aGUga2VybmVsIHNlbmQgYnVmZmVyLgoKMjAxMS0wMS0wMyAyMDoxNjoyMiArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiByZW1vdmUgdW51c2VkIHZhcmlhYmxlcyB3aGVuIGRlYnVnLWxvZ2dpbmcgZGlzYWJsZWQKCjIwMTEtMDEtMDMgMjA6MDY6MzUgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYS1kZW11eDogcmVtb3ZlIHVudXNlZCB2YXJpYWJsZXMgd2hlbiBkZWJ1Zy1sb2dnaW5nIGRpc2FibGVkCgoyMDExLTAxLTAzIDE4OjA1OjE1ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2xpYmNhY2EvZ3N0Y2FjYXNpbmsuYzoKCSAgY2FjYXNpbms6IGZpeCBtYXNrcyBhbmQgc3RyaWRlcwoJICBVc2UgdGhlIHJpZ2h0IGVuZGlhbm5lc3MgdG8gcmVhZCB0aGUgbWFza3MuCgkgIFVzZSB0aGUgcmlnaHQgc3RyaWRlcyBmb3IgdGhlIGJpdG1hcC4KCSAgRml4ZXMgIzYzODU2OQoKMjAxMS0wMS0wMyAwMToxODowNiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkgIHY0bDJzcmM6IHVuZG8gcHJlc3VtYWJseSBhY2NpZGVudGFsIGVuYWJsZW1lbnQgb2YgdGhlIEdzdFhPdmVybGF5IGludGVyZmFjZQoJICBMb29rcyBsaWtlIHRoaXMgZ290IGVuYWJsZWQgYnkgYWNjaWRlbnQgd2hlbiBhZGRpbmcgaXQgdG8gdjRsMnNpbmssCgkgIHNvIHVuZG8gdGhpcyBmb3Igbm93LiBOb3Qgc3VyZSBpdCBtYWtlcyBtdWNoIHNlbnNlIGluIGEgR1N0cmVhbWVyCgkgIGNvbnRleHQgd2l0aCBjdXJyZW50IGhhcmR3YXJlLgoKMjAxMS0wMS0wMyAxNTo0MDoxMSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogaW5jcmVhc2UgdWRwIGJ1ZmZlciBzaXplCgkgIFNldCBhIGJpZ2dlciBVRFAgYnVmZmVyIHNpemUgYnkgZGVmYXVsdCB0byByZWR1Y2UgcGFja2V0IGxvc3Mgd2l0aAoJICBoaWdoIGJpdHJhdGUgc3RyZWFtcy4KCjIwMTEtMDEtMDIgMTk6MTk6MjcgLTA4MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L211bHRpZmlsZS9nc3RtdWx0aWZpbGVzaW5rLmM6CgkqIGdzdC9tdWx0aWZpbGUvZ3N0bXVsdGlmaWxlc2luay5oOgoJICBtdWx0aWZpbGVzaW5rOiBzZW5kIHN0cmVhbSBoZWFkZXJzIGluIGtleS1mcmFtZSBtb2RlCgoyMDExLTAxLTAyIDE5OjQzOjAyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9qYWNrL01ha2VmaWxlLmFtOgoJKiBleHQvamFjay9SRUFETUU6CgkqIGV4dC9qYWNrL2dzdGphY2suYzoKCSogZXh0L2phY2svZ3N0amFja2F1ZGlvc2luay5jOgoJKiBleHQvamFjay9nc3RqYWNrYXVkaW9zcmMuYzoKCSAgamFjazogZml4IHVwIGVsZW1lbnQgZGV0YWlscyBhbmQgc29tZSBvdGhlciBtaW5vciBjbGVhbi11cHMKCjIwMTEtMDEtMDIgMTk6MjM6NTEgKzAwMDAgIEVyaWNoIFNjaHViZXJ0IDxlcmljaEBkZWJpYW4ub3JnPgoKCSogZ3N0L2lkM2RlbXV4L2lkM3YyZnJhbWVzLmM6CgkgIGlkM2RlbXV4OiBmaXggcGFyc2luZyBvZiBJRDN2Mi40IGdlbnJlIGZyYW1lcyB3aXRoIG11bHRpcGxlIGdlbnJlcwoJICBXZSdkIG9ubHkgZXh0cmFjdCB0aGUgZmlyc3QgZ2VucmUgKG11bHRpcGxlIHRpbWVzKSBpbnN0ZWFkIG9mIGFsbAoJICBnZW5yZXMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02Mzg1MzUKCjIwMTEtMDEtMDIgMTc6NDA6NDEgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2phY2svZ3N0amFja2F1ZGlvc2luay5jOgoJKiBleHQvamFjay9nc3RqYWNrYXVkaW9zcmMuYzoKCSAgamFjazogdGVtcGxhdGUgY2FwcyBoYWQgbGlzdHMgd2l0aCBvbmUgdmFsdWUsIGp1c3QgdXNlIHZhbHVlIGRpcmVjdGx5CgoyMDExLTAxLTAyIDE3OjA3OjE5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9qYWNrL2dzdGphY2suYzoKCSogZXh0L2phY2svZ3N0amFja2F1ZGlvc2luay5jOgoJKiBleHQvamFjay9nc3RqYWNrYXVkaW9zcmMuYzoKCSAgamFjazogbWFrZSBnZXRfdHlwZSBmdW5jdGlvbnMgdGhyZWFkLXNhZmUKCSAgQmVjYXVzZSB3ZSBjYW4gKHNob3VsZG4ndCBiZSBuZWVkZWQgd2l0aCBvdGhlciB3b3JrYXJvdW5kcyBzdGlsbCB0aGVyZSkuCgoyMDExLTAxLTAyIDE1OjI3OjE5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaW50ZXJmYWNlczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5wcmVyZXF1aXNpdGVzOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVpbnRlcmxhY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWF0cm9za2EueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW9ub3Njb3BlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cC54bWw6CgkgIGRvY3M6IHVwZGF0ZSBwbHVnaW4gZG9jcwoKMjAxMS0wMS0wMiAxNToyNTo0MSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiAuZ2l0aWdub3JlOgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1kb2NzLnNnbWw6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tamFjay54bWw6CgkqIGV4dC9NYWtlZmlsZS5hbToKCSogZ3N0LXBsdWdpbnMtZ29vZC5zcGVjLmluOgoJKiB0ZXN0cy9leGFtcGxlcy9NYWtlZmlsZS5hbToKCSogdGVzdHMvZXhhbXBsZXMvamFjay9NYWtlZmlsZS5hbToKCSAgamFjazogbmV3IGphY2thdWRpb3NyYyBhbmQgamFja2F1ZGlvc2luayBlbGVtZW50cywgbW92ZWQgZnJvbSBnc3QtcGx1Z2lucy1iYWQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYyMTkyOQoKMjAxMC0xMC0xOSAxNjoyMzoyMyArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L2phY2svZ3N0amFja2F1ZGlvc2luay5jOgoJKiBleHQvamFjay9nc3RqYWNrYXVkaW9zcmMuYzoKCSAgdmFyaW91cyAoZXh0KTogYWRkIG1pc3NpbmcgR19QQVJBTV9TVEFUSUNfU1RSSU5HUyBmbGFncwoJICBDYW5vbmljYWxpemUgcHJvcGVydHkgbmFtZXMgYXMgbmVlZGVkLgoKMjAxMC0wOS0wOSAxNDo0OTowNiAtMDQwMCAgVHJpc3RhbiBNYXR0aGV3cyA8bGUuYnVzaW5lc3NtYW5AZ21haWwuY29tPgoKCSogZXh0L2phY2svTWFrZWZpbGUuYW06CgkqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NpbmsuYzoKCSogZXh0L2phY2svZ3N0amFja2F1ZGlvc3JjLmM6CgkgIGphY2s6IGFkZGVkIHRyYW5zbGF0YWJsZSB0ZXh0IGZvciBzZXJ2ZXIgbm90IGZvdW5kIGVycm9yCgoyMDEwLTA5LTA2IDE3OjE3OjU0IC0wNDAwICBUcmlzdGFuIE1hdHRoZXdzIDxsZS5idXNpbmVzc21hbkBnbWFpbC5jb20+CgoJKiB0ZXN0cy9leGFtcGxlcy9qYWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9leGFtcGxlcy9qYWNrL2phY2tfY2xpZW50LmM6CgkgIGV4YW1wbGVzOiBhZGQgdGVzdCB0byBkZW1vbnN0cmF0ZSBqYWNrX2NsaWVudF90IHVzYWdlCgoyMDEwLTA5LTA2IDE2OjExOjMxIC0wNDAwICBUcmlzdGFuIE1hdHRoZXdzIDxsZS5idXNpbmVzc21hbkBnbWFpbC5jb20+CgoJKiBleHQvamFjay9nc3RqYWNrLmM6CgkqIGV4dC9qYWNrL2dzdGphY2suaDoKCSogZXh0L2phY2svZ3N0amFja2F1ZGlvY2xpZW50LmM6CgkqIGV4dC9qYWNrL2dzdGphY2thdWRpb2NsaWVudC5oOgoJKiBleHQvamFjay9nc3RqYWNrYXVkaW9zaW5rLmM6CgkqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NpbmsuaDoKCSogZXh0L2phY2svZ3N0amFja2F1ZGlvc3JjLmM6CgkqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NyYy5oOgoJICBqYWNrOiBhZGRlZCBjbGllbnQgcHJvcGVydHkKCjIwMTAtMDYtMTcgMTY6MjY6MDcgLTA0MDAgIFRyaXN0YW4gTWF0dGhld3MgPHRyaXN0YW5Ac2F0LnFjLmNhPgoKCSogZXh0L2phY2svZ3N0amFja2Jpbi5jOgoJICBqYWNrOiByZW1vdmVkIHVudXNlZCBmaWxlIGdzdGphY2tiaW4uYwoJICBUaGlzIGlzIGEgMC44IGxlZnRvdmVyLgoKMjAxMC0wNS0xMyAxMjo1NToyOSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NyYy5jOgoJICBqYWNrc3JjOiBtYWtlIHN1cmUgd2UgYWx3YXlzIHJlYWQgbmZyYW1lcwoJICBFcnJvciBvdXQgd2hlbiB3ZSBhcmUgYXNrZWQgdG8gcmVhZCBhIGRpZmZlcmVudCBzaXplIHRoYXQgd2hhdCB3YXMgY29uZmlndXJlZCBhcwoJICB0aGUgamFjayBwZXJpb2Qgc2l6ZSBiZWNhdXNlIHRoYXQgd291bGQgbWVhbiBzb21ldGhpbmcgZWxzZSBpcyB3cm9uZy4KCSAgRml4ZXMgIzYxODQwOQoKMjAxMC0wNS0xMSAxNzo1NjozMSAtMDQwMCAgVHJpc3RhbiBNYXR0aGV3cyA8dHJpc3RhbkBzYXQucWMuY2E+CgoJKiBleHQvamFjay9nc3RqYWNrYXVkaW9zcmMuYzoKCSogZXh0L2phY2svZ3N0amFja2F1ZGlvc3JjLmg6CgkgIGphY2s6IGltcHJvdmUgcHJvY2Vzc19jYgoKMjAxMC0wNC0yNyAxMDo0ODozMiAtMDQwMCAgVHJpc3RhbiBNYXR0aGV3cyA8dHJpc3RhbkB0cmlzdGFuLWxhcHRvcC4obm9uZSk+CgoJKiBleHQvamFjay9NYWtlZmlsZS5hbToKCSogZXh0L2phY2svZ3N0amFja2F1ZGlvc3JjLmM6CgkqIGV4dC9qYWNrL2dzdGphY2t1dGlsLmM6CgkqIGV4dC9qYWNrL2dzdGphY2t1dGlsLmg6CgkgIGphY2s6IGltcGxlbWVudCBtdWx0aWNoYW5uZWwgc3VwcG9ydCBjb3JyZWN0bHkgZm9yIGphY2thdWRpb3NyYwoJICBGaXhlcyBwYXJ0cyBvZiBidWcgIzYxNjU0MS4KCjIwMTAtMDQtMjcgMTE6MjE6MTYgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NpbmsuYzoKCSogZXh0L2phY2svZ3N0amFja2F1ZGlvc3JjLmM6CgkqIGV4dC9qYWNrL2dzdGphY2tyaW5nYnVmZmVyLmg6CgkgIGphY2s6IHJlbW92ZSBlbXB0eSBkaXNwb3NlIGFuZCBmaW5hbGl6ZSBtZXRob2RzCgoyMDEwLTA0LTI3IDEwOjU5OjAwICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvamFjay9nc3RqYWNrYXVkaW9zaW5rLmM6CgkqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NyYy5jOgoJICBqYWNrOiBkb24ndCBsZWFrIGNhcHMKCSAgQWRkIGRpc3Bvc2UgbWV0aG9kcyB0byBjbGVhciBjYXBzLgoKMjAxMC0wNC0yNyAxMDozNDoyNCArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L2phY2svZ3N0amFja2F1ZGlvc2luay5jOgoJKiBleHQvamFjay9nc3RqYWNrYXVkaW9zcmMuYzoKCSAgamFjazogZG9uJ3QgdXNlIEdTVF9ERUJVR19GVU5DUFRSIGZvciBnb2JqZWN0IHZtZXRob2RzCgoyMDEwLTAzLTI0IDE1OjU5OjUzICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvamFjay9nc3RqYWNrYXVkaW9zcmMuYzoKCSAgamFjazogZml4IGVsZW1lbnQgbmFtZSBpbiBzZWN0aW9uIGRvYyBibG9iCgoyMDEwLTAzLTIyIDE2OjU2OjAzICswMTAwICBCZW5qYW1pbiBPdHRlIDxvdHRlQHJlZGhhdC5jb20+CgoJKiBleHQvamFjay9nc3RqYWNrYXVkaW9zcmMuYzoKCSAgQWRkIC1Xb2xkLXN0eWxlLWRlZmluaXRpb24KCSAgYW5kIGZpeCB0aGUgd2FybmluZ3MKCjIwMTAtMDMtMjEgMjE6Mzk6MTggKzAxMDAgIEJlbmphbWluIE90dGUgPG90dGVAcmVkaGF0LmNvbT4KCgkqIGV4dC9qYWNrL2dzdGphY2suaDoKCSAgQWRkIC1XbWlzc2luZy1kZWNsYXJhdGlvbnMgLVdtaXNzaW5nLXByb3RvdHlwZXMgdG8gY29uZmlndXJlIGZsYWdzCgkgIEFuZCBmaXggYWxsIHdhcm5pbmdzCgoyMDEwLTAzLTE4IDE3OjMwOjI2ICswMTAwICBCZW5qYW1pbiBPdHRlIDxvdHRlQHJlZGhhdC5jb20+CgoJKiBleHQvamFjay9nc3RqYWNrYXVkaW9zaW5rLmM6CgkqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NyYy5jOgoJICBnc3RfZWxlbWVudF9jbGFzc19zZXRfZGV0YWlscyA9PiBnc3RfZWxlbWVudF9jbGFzc19zZXRfZGV0YWlsc19zaW1wbGUKCjIwMDktMTAtMTIgMDk6MDY6MzcgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NpbmsuYzoKCSogZXh0L2phY2svZ3N0amFja2F1ZGlvc3JjLmM6CgkgIGphY2s6IGVuc3VyZSBzZWd0b3RhbCBpcyBhdCBsZWFzdCAyCgkgIE5vdCBvbmx5IGFkanVzdCBidWZmZXItdGltZSBhbmQgYXZvaWQgc2VndG90YWw9MCwgYnV0IGluc3RlYWQgZW5zdXJlIHNlZ3RvdGFsIGlzCgkgIGF0bGVhc3QgMi4gRG8gc2FtZSBjaGFuZ2Ugb24gamFja3NyYy4gV2UgY291bGQgYWxzbyBjaGVjayB0aGUgbGF0ZW5jeSBhbmQgYnVmZmVyCgkgIHRpbWUgY29uZmlndXJlZCBieSB0aGUgY2xpZW50IGFuZCBhZGp1c3QgYnVmZmVyLXRpbWUgc28gdGhhdCB3ZSBnZXQgdG8gdGhlIHNhbWUKCSAgbnVtYmVyIG9mIHNlZ21lbnRzLgoKMjAwOS0xMC0xMiAwMDo1MToyNyArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L2phY2svZ3N0amFja2F1ZGlvc2luay5jOgoJICBqYWNrOiBkb24ndCBjcmFzaCBpbiByaW5nYnVmZmVyIHdpdGggU0lHRlBFIG9uIHNtYWxsIGJ1ZmZlci10aW1lcwoJICBKYWNrIG92ZXJyaWRlcyB1c2VyLXNwZWNpZmllZCBsYXRlbmN5LXRpbWUgd2l0aCB0aGUgb25lIGl0IGdldHMgZnJvbSBqYWNrCgkgIGl0c2VsZi4gSXQgYWxzbyBuZWVkcyB0byBhZGp1c3QgYnVmZmVyLXRpbWUgc29tZXdoYXQgdG8gYXZvaWQgc2VndG90YWwgYmVpbmcgMAoKMjAwOS0wNS0xMSAxNjoxMjo1NCArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L2phY2svZ3N0amFja2F1ZGlvY2xpZW50LmM6CgkqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NpbmsuYzoKCSAgamFjazogd2hlbiBzdG9wcGluZyBwbGF5YmFjaywgZG8gb25lIG1vcmUgY3ljbGUgdG8gZmx1c2ggdGhlIHBvcnQuIEZpeGVzICM1ODIxNjcKCSAgVGhlIGdzdF9qYWNrX2F1ZGlvX2NsaWVudF9zZXRfYWN0aXZlKCkgZmxhZ3MgdGhlIHBvcnQgYXMgZGVhY3RpdmF0aW5nIGFuZCB1c2VzCgkgIGEgR0NvbmQgdG8gd2FpdCB1bnRpbCB0aGUgamFja19wcm9jZXNzX2NiKCkgaGFzIHJ1biBvbmNlIG1vcmUgYW5kIGNsZWFyZWQgdGhlCgkgIGZsYWcuIFRoaXMgd2F5IHRoZSBjbGllbnQgemVybydzIHRoZSBidWZmZXIuIFRoaXMgaGFwcGVucyBpZiBvbmUgbWFueWFsbHkgZ28KCSAgdG8gUEFVU0VEIGFuZCB0aGVuIHRvIFJFQURZLCB3aGlsZSBsZXRpbmcgdGhlIG1haW5sb29wIHJ1biBpbmJldHdlZW4uCgoyMDA5LTAzLTE2IDExOjIxOjAyICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2phY2svZ3N0amFjay5jOgoJKiBleHQvamFjay9nc3RqYWNrLmg6CgkqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NpbmsuYzoKCSogZXh0L2phY2svZ3N0amFja2F1ZGlvc3JjLmM6CgkgIGphY2s6IEFkZCBuZXcgY29ubmVjdGlvbiBtb2RlCgkgIEFkZCBhIG5ldyBjb25uZWN0aW9uIG1vZGUgdG8gamFja3NyYyBhbmQgamFja3NpbmsuIEluIHRoaXMgbmV3IGF1dG8tZm9yY2UKCSAgY29ubmVjdGlvbiBtb2RlIGphY2sgd2lsbCBjcmVhdGUgYXMgbWFueSBwb3J0cyBhcyByZXF1ZXN0ZWQvbmVlZGVkIGluIHRoZQoJICBwaXBlbGluZSBhbmQgd2lsbCB0aGVuIGNvbm5lY3QgYXMgbWFueSBwaHlzaWNhbCBwb3J0cyBhcyBwb3NzaWJsZSwgcG9zc2libHkKCSAgbGVhdmluZyBzb21lIHBvcnRzIHVuY29ubmVjdGVkLgoJICBBbHNvIGdldCByaWQgb2Ygc29tZSBsZWZ0b3ZlciBnX3ByaW50LgoJICBGaXhlcyAjNTc1Mjg0LgoKMjAwOC0xMS0yMyAxNzo1MDowOCArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZXh0L2phY2svOiBRdWVyeSBwb3J0IGxhdGVuY2llcyBmb3Igc2luay9zcmMgZGVsYXlzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvamFjay9nc3RqYWNrYXVkaW9zaW5rLmM6CgkgICogZXh0L2phY2svZ3N0amFja2F1ZGlvc3JjLmM6CgkgIFF1ZXJ5IHBvcnQgbGF0ZW5jaWVzIGZvciBzaW5rL3NyYyBkZWxheXMuCgkgICogZXh0L2phY2svZ3N0amFja2Jpbi5jOgoJICBObyBwcmludGYgcGxlYXNlLgoKMjAwOC0xMS0wNCAxMjo0MjozMCArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgRG9uJ3QgaW5zdGFsbCBzdGF0aWMgbGlicyBmb3IgcGx1Z2lucy4gRml4ZXMgIzU1MDg1MSBmb3IgLWJhZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2Fsc2FzcGRpZi9NYWtlZmlsZS5hbToKCSAgKiBleHQvYW1yd2IvTWFrZWZpbGUuYW06CgkgICogZXh0L2FwZXhzaW5rL01ha2VmaWxlLmFtOgoJICAqIGV4dC9hcnRzL01ha2VmaWxlLmFtOgoJICAqIGV4dC9hcnRzZC9NYWtlZmlsZS5hbToKCSAgKiBleHQvYXVkaW9maWxlL01ha2VmaWxlLmFtOgoJICAqIGV4dC9hdWRpb3Jlc2FtcGxlL01ha2VmaWxlLmFtOgoJICAqIGV4dC9iejIvTWFrZWZpbGUuYW06CgkgICogZXh0L2NkYXVkaW8vTWFrZWZpbGUuYW06CgkgICogZXh0L2NlbHQvTWFrZWZpbGUuYW06CgkgICogZXh0L2RjMTM5NC9NYWtlZmlsZS5hbToKCSAgKiBleHQvZGlyYWMvTWFrZWZpbGUuYW06CgkgICogZXh0L2RpcmVjdGZiL01ha2VmaWxlLmFtOgoJICAqIGV4dC9kaXZ4L01ha2VmaWxlLmFtOgoJICAqIGV4dC9kdHMvTWFrZWZpbGUuYW06CgkgICogZXh0L2ZhYWMvTWFrZWZpbGUuYW06CgkgICogZXh0L2ZhYWQvTWFrZWZpbGUuYW06CgkgICogZXh0L2dzbS9NYWtlZmlsZS5hbToKCSAgKiBleHQvaGVybWVzL01ha2VmaWxlLmFtOgoJICAqIGV4dC9pdm9yYmlzL01ha2VmaWxlLmFtOgoJICAqIGV4dC9qYWNrL01ha2VmaWxlLmFtOgoJICAqIGV4dC9qcDJrL01ha2VmaWxlLmFtOgoJICAqIGV4dC9sYWRzcGEvTWFrZWZpbGUuYW06CgkgICogZXh0L2xjcy9NYWtlZmlsZS5hbToKCSAgKiBleHQvbGliZmFtZS9NYWtlZmlsZS5hbToKCSAgKiBleHQvbGlibW1zL01ha2VmaWxlLmFtOgoJICAqIGV4dC9tZXRhZGF0YS9NYWtlZmlsZS5hbToKCSAgKiBleHQvbXBlZzJlbmMvTWFrZWZpbGUuYW06CgkgICogZXh0L21wbGV4L01ha2VmaWxlLmFtOgoJICAqIGV4dC9tdXNlcGFjay9NYWtlZmlsZS5hbToKCSAgKiBleHQvbXVzaWNicmFpbnovTWFrZWZpbGUuYW06CgkgICogZXh0L215dGh0di9NYWtlZmlsZS5hbToKCSAgKiBleHQvbmFzL01ha2VmaWxlLmFtOgoJICAqIGV4dC9uZW9uL01ha2VmaWxlLmFtOgoJICAqIGV4dC9vZmEvTWFrZWZpbGUuYW06CgkgICogZXh0L3BvbHlwL01ha2VmaWxlLmFtOgoJICAqIGV4dC9yZXNpbmR2ZC9NYWtlZmlsZS5hbToKCSAgKiBleHQvc2RsL01ha2VmaWxlLmFtOgoJICAqIGV4dC9zaG91dC9NYWtlZmlsZS5hbToKCSAgKiBleHQvc25hcHNob3QvTWFrZWZpbGUuYW06CgkgICogZXh0L3NuZGZpbGUvTWFrZWZpbGUuYW06CgkgICogZXh0L3NvdW5kdG91Y2gvTWFrZWZpbGUuYW06CgkgICogZXh0L3NwYy9NYWtlZmlsZS5hbToKCSAgKiBleHQvc3dmZGVjL01ha2VmaWxlLmFtOgoJICAqIGV4dC90YXJraW4vTWFrZWZpbGUuYW06CgkgICogZXh0L3RoZW9yYS9NYWtlZmlsZS5hbToKCSAgKiBleHQvdGltaWRpdHkvTWFrZWZpbGUuYW06CgkgICogZXh0L3R3b2xhbWUvTWFrZWZpbGUuYW06CgkgICogZXh0L3gyNjQvTWFrZWZpbGUuYW06CgkgICogZXh0L3hpbmUvTWFrZWZpbGUuYW06CgkgICogZXh0L3h2aWQvTWFrZWZpbGUuYW06CgkgICogZ3N0LWxpYnMvZ3N0L2FwcC9NYWtlZmlsZS5hbToKCSAgKiBnc3QtbGlicy9nc3QvZHNob3cvTWFrZWZpbGUuYW06CgkgICogZ3N0L2FpZmZwYXJzZS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvYXBwL01ha2VmaWxlLmFtOgoJICAqIGdzdC9hdWRpb2J1ZmZlci9NYWtlZmlsZS5hbToKCSAgKiBnc3QvYmF5ZXIvTWFrZWZpbGUuYW06CgkgICogZ3N0L2NkeGFwYXJzZS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvY2hhcnQvTWFrZWZpbGUuYW06CgkgICogZ3N0L2NvbG9yc3BhY2UvTWFrZWZpbGUuYW06CgkgICogZ3N0L2RjY3AvTWFrZWZpbGUuYW06CgkgICogZ3N0L2RlaW50ZXJsYWNlL01ha2VmaWxlLmFtOgoJICAqIGdzdC9kZWludGVybGFjZTIvTWFrZWZpbGUuYW06CgkgICogZ3N0L2R2ZHNwdS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvZmVzdGl2YWwvTWFrZWZpbGUuYW06CgkgICogZ3N0L2ZpbHRlci9NYWtlZmlsZS5hbToKCSAgKiBnc3QvZmxhY3BhcnNlL01ha2VmaWxlLmFtOgoJICAqIGdzdC9mbHYvTWFrZWZpbGUuYW06CgkgICogZ3N0L2dhbWVzL01ha2VmaWxlLmFtOgoJICAqIGdzdC9oMjY0cGFyc2UvTWFrZWZpbGUuYW06CgkgICogZ3N0L2xpYnJmYi9NYWtlZmlsZS5hbToKCSAgKiBnc3QvbWl4bWF0cml4L01ha2VmaWxlLmFtOgoJICAqIGdzdC9tb2RwbHVnL01ha2VmaWxlLmFtOgoJICAqIGdzdC9tcGVnMXN5cy9NYWtlZmlsZS5hbToKCSAgKiBnc3QvbXBlZzR2aWRlb3BhcnNlL01ha2VmaWxlLmFtOgoJICAqIGdzdC9tcGVnZGVtdXgvTWFrZWZpbGUuYW06CgkgICogZ3N0L21wZWd0c211eC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvbXBlZ3ZpZGVvcGFyc2UvTWFrZWZpbGUuYW06CgkgICogZ3N0L212ZS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvbnNmL01ha2VmaWxlLmFtOgoJICAqIGdzdC9udXZkZW11eC9NYWtlZmlsZS5hbToKCSAgKiBnc3Qvb3ZlcmxheS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvcGFzc3Rocm91Z2gvTWFrZWZpbGUuYW06CgkgICogZ3N0L3BjYXBwYXJzZS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvcGxheW9uZGVtYW5kL01ha2VmaWxlLmFtOgoJICAqIGdzdC9yYXdwYXJzZS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvcmVhbC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvcnRqcGVnL01ha2VmaWxlLmFtOgoJICAqIGdzdC9ydHBtYW5hZ2VyL01ha2VmaWxlLmFtOgoJICAqIGdzdC9zY2FsZXRlbXBvL01ha2VmaWxlLmFtOgoJICAqIGdzdC9zZHAvTWFrZWZpbGUuYW06CgkgICogZ3N0L3NlbGVjdG9yL01ha2VmaWxlLmFtOgoJICAqIGdzdC9zbW9vdGgvTWFrZWZpbGUuYW06CgkgICogZ3N0L3Ntb290aHdhdmUvTWFrZWZpbGUuYW06CgkgICogZ3N0L3NwZWVkL01ha2VmaWxlLmFtOgoJICAqIGdzdC9zcGVleHJlc2FtcGxlL01ha2VmaWxlLmFtOgoJICAqIGdzdC9zdGVyZW8vTWFrZWZpbGUuYW06CgkgICogZ3N0L3N1YmVuYy9NYWtlZmlsZS5hbToKCSAgKiBnc3QvdHRhL01ha2VmaWxlLmFtOgoJICAqIGdzdC92YmlkZWMvTWFrZWZpbGUuYW06CgkgICogZ3N0L3ZpZGVvZHJvcC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvdmlkZW9zaWduYWwvTWFrZWZpbGUuYW06CgkgICogZ3N0L3ZpcnR1YWxkdWIvTWFrZWZpbGUuYW06CgkgICogZ3N0L3ZtbmMvTWFrZWZpbGUuYW06CgkgICogZ3N0L3k0bS9NYWtlZmlsZS5hbToKCSAgKiBzeXMvYWNtZW5jL01ha2VmaWxlLmFtOgoJICAqIHN5cy9jZHJvbS9NYWtlZmlsZS5hbToKCSAgKiBzeXMvZHNob3dkZWN3cmFwcGVyL01ha2VmaWxlLmFtOgoJICAqIHN5cy9kc2hvd3NyY3dyYXBwZXIvTWFrZWZpbGUuYW06CgkgICogc3lzL2R2Yi9NYWtlZmlsZS5hbToKCSAgKiBzeXMvZHhyMy9NYWtlZmlsZS5hbToKCSAgKiBzeXMvZmJkZXYvTWFrZWZpbGUuYW06CgkgICogc3lzL29zczQvTWFrZWZpbGUuYW06CgkgICogc3lzL3FjYW0vTWFrZWZpbGUuYW06CgkgICogc3lzL3F0d3JhcHBlci9NYWtlZmlsZS5hbToKCSAgKiBzeXMvdmNkL01ha2VmaWxlLmFtOgoJICAqIHN5cy93aW5pbmV0L01ha2VmaWxlLmFtOgoJICAqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgRG9uJ3QgaW5zdGFsbCBzdGF0aWMgbGlicyBmb3IgcGx1Z2lucy4gRml4ZXMgIzU1MDg1MSBmb3IgLWJhZC4KCjIwMDgtMDktMTcgMTM6NTk6MjEgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgRml4IGNvbXBpbGVyIHdhcm5pbmdzIG9uIE9TL1gKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2phY2svZ3N0amFja2F1ZGlvc2luay5jOiAoamFja19wcm9jZXNzX2NiKToKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBqaXR0ZXJidWZmZXIuYzogKGNhbGN1bGF0ZV9za2V3KToKCSAgRml4IGNvbXBpbGVyIHdhcm5pbmdzIG9uIE9TL1gKCjIwMDgtMDgtMDcgMTM6MTU6MjEgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGV4dC9qYWNrL2dzdGphY2thdWRpb3NyYy5jOiBUcnkgY29tbWl0dGluZyB0aGlzIG9uY2UgYWdhaW4uIE5vdyBwcm9wZXJseSByZW5hbWVkLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvamFjay9nc3RqYWNrYXVkaW9zcmMuYzoKCSAgVHJ5IGNvbW1pdHRpbmcgdGhpcyBvbmNlIGFnYWluLiBOb3cgcHJvcGVybHkgcmVuYW1lZC4KCjIwMDgtMDgtMDcgMDk6MDk6NDQgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGRvY3MvcGx1Z2lucy86IGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qYWNrLnhtbAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5oaWVyYXJjaHk6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmludGVyZmFjZXM6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLnByZXJlcXVpc2l0ZXM6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWphY2sueG1sCgkgIEFkZCBuZXcgZWxlbWVudCB0byBkb2NzLgoJICAqIGV4dC9qYWNrL2dzdGphY2suaAoJICBBZGQgbWlzc2luZyBmaWxlLgoJICAqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NyYy5jOgoJICAqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NyYy5oOgoJICBSZW5hbWUgamFja2F1ZGlvc3JjIHRvIGphY2tfYXVkaW9fc3JjLgoKMjAwOC0wOC0wNyAwODo0Nzo0MCArMDAwMCAgVHJpc3RhbiBNYXR0aGV3cyA8dHJpc3RhbkBzYXQucWMuY2E+CgoJICBleHQvamFjay86IEFkZCBhIGphY2thdWRpb3NyYy4gUmVmYWN0b3Igc2luayBzbGlnaHRseSBmb3IgYmV0dGVyIGNvZGUgcmV1c2UuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBwYXRjaCBieTogVHJpc3RhbiBNYXR0aGV3cyA8dHJpc3RhbkBzYXQucWMuY2E+CgkgICogZXh0L2phY2svTWFrZWZpbGUuYW06CgkgICogZXh0L2phY2svZ3N0amFjay5jOgoJICAqIGV4dC9qYWNrL2dzdGphY2thdWRpb2NsaWVudC5jOgoJICAqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NpbmsuYzoKCSAgKiBleHQvamFjay9nc3RqYWNrYXVkaW9zaW5rLmg6CgkgICogZXh0L2phY2svZ3N0amFja2F1ZGlvc3JjLmM6CgkgICogZXh0L2phY2svZ3N0amFja2F1ZGlvc3JjLmg6CgkgICogZXh0L2phY2svZ3N0amFja3JpbmdidWZmZXIuaDoKCSAgQWRkIGEgamFja2F1ZGlvc3JjLiBSZWZhY3RvciBzaW5rIHNsaWdodGx5IGZvciBiZXR0ZXIgY29kZSByZXVzZS4KCSAgRml4ZXMgIzU0NTE5Ny4KCjIwMDgtMDYtMTMgMTE6NTk6MjMgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGRvY3MvcGx1Z2lucy86IGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1teXRodHYueG1sCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3M6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmhpZXJhcmNoeToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaW50ZXJmYWNlczoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMucHJlcmVxdWlzaXRlczoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuc2lnbmFsczoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxzYXNwZGlmLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYW1yd2IueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hcHAueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iYXllci54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJ6Mi54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNkYXVkaW8ueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZHhhcGFyc2UueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdHNkZWMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmIueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmRzcHUueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFjLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhZC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZiZGV2c2luay54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZlc3RpdmFsLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmlsdGVyLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx2ZGVtdXgueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mcmVlemUueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc20ueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc3RpbnRlcmxhY2UueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc3RydHBtYW5hZ2VyLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taDI2NHBhcnNlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXJsZWF2ZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWphY2sueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sYWRzcGEueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tZXRhZGF0YS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1tcy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1vZHBsdWcueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVnMmVuYy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWc0dmlkZW9wYXJzZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd0c3BhcnNlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3ZpZGVvcGFyc2UueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdXNlcGFjay54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11c2ljYnJhaW56LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXZlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXl0aHR2LnhtbAoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uYXMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uZW9uLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbnNmZGVjLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbnV2ZGVtdXgueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3M0LnhtbAoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yYXdwYXJzZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlYWwueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXBsYXlnYWluLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmZic3JjLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2RsLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2RwLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2VsZWN0b3IueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbmRmaWxlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291bmR0b3VjaC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwY2RlYy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWVkLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZXhyZXNhbXBsZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXN0ZXJlby54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXN1YmVuYy54bWwKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdGltaWRpdHkueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10dGEueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12Y2RzcmMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb3NpZ25hbC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZtbmMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13aWxkbWlkaS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXgyNjQueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14dmlkLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teTRtZW5jLnhtbDoKCSAgKiBleHQvYW1yd2IvZ3N0YW1yd2JkZWMuYzoKCSAgKiBleHQvYW1yd2IvZ3N0YW1yd2JlbmMuYzoKCSAgKiBleHQvYW1yd2IvZ3N0YW1yd2JwYXJzZS5jOgoJICAqIGV4dC9kYzEzOTQvZ3N0ZGMxMzk0LmM6CgkgICogZXh0L2RpcmVjdGZiL2RmYnZpZGVvc2luay5jOgoJICAqIGV4dC9pdm9yYmlzL3ZvcmJpc2RlYy5jOgoJICAqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NpbmsuYzoKCSAgKiBleHQvbXBlZzJlbmMvZ3N0bXBlZzJlbmMuY2M6CgkgICogZXh0L21wbGV4L2dzdG1wbGV4LmNjOgoJICAqIGV4dC9tdXNpY2JyYWluei9nc3R0cm0uYzoKCSAgKiBleHQvbXl0aHR2L2dzdG15dGh0dnNyYy5jOgoJICAqIGV4dC90aGVvcmEvdGhlb3JhZGVjLmM6CgkgICogZXh0L3RpbWlkaXR5L2dzdHRpbWlkaXR5LmM6CgkgICogZXh0L3RpbWlkaXR5L2dzdHdpbGRtaWRpLmM6CgkgICogZ3N0LWxpYnMvZ3N0L2FwcC9nc3RhcHBzaW5rLmM6CgkgICogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmM6CgkgICogZ3N0L2R2ZHNwdS9nc3RkdmRzcHUuYzoKCSAgKiBnc3QvZmVzdGl2YWwvZ3N0ZmVzdGl2YWwuYzoKCSAgKiBnc3QvZnJlZXplL2dzdGZyZWV6ZS5jOgoJICAqIGdzdC9pbnRlcmxlYXZlL2RlaW50ZXJsZWF2ZS5jOgoJICAqIGdzdC9pbnRlcmxlYXZlL2ludGVybGVhdmUuYzoKCSAgKiBnc3QvbW9kcGx1Zy9nc3Rtb2RwbHVnLmNjOgoJICAqIGdzdC9udXZkZW11eC9nc3RudXZkZW11eC5jOgoJICBBZGQgbWlzc2luZyBlbGVtZW50cyB0byBkb2NzLiBGaXggZG9jLW1hcmt1cDogdXNlIGNvbnZpbmllbmNlIHN5bnRheAoJICBmb3IgZXhhbXBsZXMgKHByb2R1Y2VzIHZhbGlkIGRvY2Jvb2spLCBhZGQgc2V2ZXJhbCByZWZzZWMyIHdoZW4gd2UKCSAgaGF2ZSBzZXZlcmFsIHRpdGxlcy4gRml4IHNvbWUgdHlwZXMuCgoyMDA4LTA2LTEyIDE0OjQ5OjE4ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBEbyBub3QgdXNlIHNob3J0X2Rlc2NyaXB0aW9uIGluIHNlY3Rpb24gZG9jcyBmb3IgZWxlbWVudHMuIFdlIGV4dHJhY3QgdGhlbSBmcm9tIGVsZW1lbnQgZGV0YWlscyBhbmQgdGhlcmUgd2lsbCBiZSB3YXIuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2RjMTM5NC9nc3RkYzEzOTQuYzoKCSAgKiBleHQvaXZvcmJpcy92b3JiaXNkZWMuYzoKCSAgKiBleHQvamFjay9nc3RqYWNrYXVkaW9zaW5rLmM6CgkgICogZXh0L21ldGFkYXRhL2dzdG1ldGFkYXRhZGVtdXguYzoKCSAgKiBleHQvbXl0aHR2L2dzdG15dGh0dnNyYy5jOgoJICAqIGV4dC90aGVvcmEvdGhlb3JhZGVjLmM6CgkgICogZ3N0LWxpYnMvZ3N0L2FwcC9nc3RhcHBzaW5rLmM6CgkgICogZ3N0L2JheWVyL2dzdGJheWVyMnJnYi5jOgoJICAqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5jOgoJICAqIGdzdC9yYXdwYXJzZS9nc3RhdWRpb3BhcnNlLmM6CgkgICogZ3N0L3Jhd3BhcnNlL2dzdHZpZGVvcGFyc2UuYzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBjbGllbnQuYzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBwdGRlbXV4LmM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNzcmNkZW11eC5jOgoJICAqIGdzdC9zZWxlY3Rvci9nc3RpbnB1dHNlbGVjdG9yLmM6CgkgICogZ3N0L3NlbGVjdG9yL2dzdG91dHB1dHNlbGVjdG9yLmM6CgkgICogZ3N0L3ZpZGVvc2lnbmFsL2dzdHZpZGVvYW5hbHlzZS5jOgoJICAqIGdzdC92aWRlb3NpZ25hbC9nc3R2aWRlb2RldGVjdC5jOgoJICAqIGdzdC92aWRlb3NpZ25hbC9nc3R2aWRlb21hcmsuYzoKCSAgKiBzeXMvb3NzNC9vc3M0LW1peGVyLmM6CgkgICogc3lzL29zczQvb3NzNC1zaW5rLmM6CgkgICogc3lzL29zczQvb3NzNC1zb3VyY2UuYzoKCSAgRG8gbm90IHVzZSBzaG9ydF9kZXNjcmlwdGlvbiBpbiBzZWN0aW9uIGRvY3MgZm9yIGVsZW1lbnRzLiBXZSBleHRyYWN0CgkgIHRoZW0gZnJvbSBlbGVtZW50IGRldGFpbHMgYW5kIHRoZXJlIHdpbGwgYmUgd2FybmluZ3MgaWYgdGhleSBkaWZmZXIuCgkgIEFsc28gZml4aW5nIHVwIHRoZSBDaGFuZ2VMb2cgb3JkZXIuCgoyMDA4LTA1LTI2IDE3OjUyOjIxICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZXh0L2phY2svZ3N0amFja2F1ZGlvc2luay5jOiBJbmNsdWRlIHRoZSBlbGVtZW50IG5hbWUgaW4gdGhlIHBvcnQgbmFtZSB0byBhdm9pZCBkdXBsaWNhdGUgcG9ydCBuYW1lcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2phY2svZ3N0amFja2F1ZGlvc2luay5jOgoJICAoZ3N0X2phY2tfYXVkaW9fc2lua19hbGxvY2F0ZV9jaGFubmVscyk6CgkgIEluY2x1ZGUgdGhlIGVsZW1lbnQgbmFtZSBpbiB0aGUgcG9ydCBuYW1lIHRvIGF2b2lkIGR1cGxpY2F0ZSBwb3J0IG5hbWVzLgoKMjAwOC0wNC0wNiAyMDoxODoxNiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC9qYWNrL2dzdGphY2thdWRpb3NpbmsuYzogV29yayBhcm91bmQgbWlzc2luZyBiaXRzIG9mIHRocmVhZC1zYWZldHkgb24gb2xkZXIgR0xpYnMgc29tZSBtb3JlIHRvIGF2b2lkIGFzc2VydGlvbnMgdy4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvamFjay9nc3RqYWNrYXVkaW9zaW5rLmM6IChnc3RfamFja19hdWRpb19zaW5rX2NsYXNzX2luaXQpOgoJICBXb3JrIGFyb3VuZCBtaXNzaW5nIGJpdHMgb2YgdGhyZWFkLXNhZmV0eSBvbiBvbGRlciBHTGlicyBzb21lCgkgIG1vcmUgdG8gYXZvaWQgYXNzZXJ0aW9ucyB3aGVuIHN0YXJ0aW5nIHVwIG11bHRpcGxlIHBsYXliaW4KCSAgb2JqZWN0cyBjb25jdXJyZW50bHkgKHNlZSAjNTEyMzgyKS4KCjIwMDgtMDMtMTMgMTQ6MjU6MjAgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIFVzZSBHU1RfTElDRU5TRSwgR1NUX1BBQ0tBR0VfTkFNRSBhbmQgR1NUX1BBQ0tBR0VfT1JJR0lOIGluc3RlYWQgb2YgaGFyZGNvZGluZyB2YWx1ZXMgd2hlcmUgcG9zc2libGUuIEZpeGVzIGJ1ZyAjNTIyMjEyLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvYWxzYXNwZGlmL2Fsc2FzcGRpZnNpbmsuYzoKCSAgKiBleHQvZ3NtL2dzdGdzbS5jOgoJICAqIGV4dC9qYWNrL2dzdGphY2suYzoKCSAgKiBleHQvbGlibW1zL2dzdG1tcy5jOgoJICAqIGV4dC9uZW9uL2dzdG5lb25odHRwc3JjLmM6CgkgICogZXh0L3Nob3V0L2dzdHNob3V0LmM6CgkgICogZXh0L3RpbWlkaXR5L2dzdHRpbWlkaXR5LmM6CgkgICogZXh0L3RpbWlkaXR5L2dzdHdpbGRtaWRpLmM6CgkgICogZ3N0L251dmRlbXV4L2dzdG51dmRlbXV4LmM6CgkgICogZ3N0L3R0YS9nc3R0dGEuYzoKCSAgVXNlIEdTVF9MSUNFTlNFLCBHU1RfUEFDS0FHRV9OQU1FIGFuZCBHU1RfUEFDS0FHRV9PUklHSU4gaW5zdGVhZAoJICBvZiBoYXJkY29kaW5nIHZhbHVlcyB3aGVyZSBwb3NzaWJsZS4gRml4ZXMgYnVnICM1MjIyMTIuCgoyMDA3LTA3LTE4IDA3OjQyOjQ3ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBleHQvamFjay9nc3RqYWNrYXVkaW9zaW5rLmM6IEFkZCBzdGRsaWIgaW5jbHVkZSBoZXJlIHRvby4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2phY2svZ3N0amFja2F1ZGlvc2luay5jOiAoZ3N0X2phY2tfcmluZ19idWZmZXJfb3Blbl9kZXZpY2UpLAoJICAoZ3N0X2phY2tfcmluZ19idWZmZXJfYWNxdWlyZSk6CgkgIEFkZCBzdGRsaWIgaW5jbHVkZSBoZXJlIHRvby4KCjIwMDctMDQtMDQgMDc6MzY6MjggKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGV4dC9qYWNrL2dzdGphY2thdWRpb3NpbmsuYzogVHJ5IHQgYmV0dGVyIG5hbWUgY2xpZW50cy4gcHJvcGVybHkgaGFuZGxlIHJldHVybiBjb2RlcyB3aGVuIHJlLSBlc3RhYmxpc2hpbmcgbGlua3MuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NpbmsuYzogKGdzdF9qYWNrX3JpbmdfYnVmZmVyX29wZW5fZGV2aWNlKSwKCSAgKGdzdF9qYWNrX3JpbmdfYnVmZmVyX2FjcXVpcmUpOgoJICBUcnkgdCBiZXR0ZXIgbmFtZSBjbGllbnRzLiBwcm9wZXJseSBoYW5kbGUgcmV0dXJuIGNvZGVzIHdoZW4gcmUtCgkgIGVzdGFibGlzaGluZyBsaW5rcy4KCjIwMDctMDMtMTggMTc6NTc6NDggKzAwMDAgIFBhdWwgRGF2aXMgPHBhdWxAbGludXhhdWRpb3N5c3RlbXMuY29tPgoKCSAgZXh0L2phY2svZ3N0amFja2F1ZGlvY2xpZW50LmM6IERvbid0IG5lZWQgdG8gdGFrZSB0aGUgY29ubmVjdGlvbiBsb2NrLCBpdCB3aWxsIG5vdCBiZSB1c2VkIGFuZCBjb3VsZCBjYXVzZSBkZWFkbG9ja3MuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBCYXNlZCBvbiBwYXRjaCBieTogUGF1bCBEYXZpcyA8cGF1bCBhdCBsaW51eGF1ZGlvc3lzdGVtcyBkb3QgY29tPgoJICAqIGV4dC9qYWNrL2dzdGphY2thdWRpb2NsaWVudC5jOiAoZ3N0X2phY2tfYXVkaW9fdW5yZWZfY29ubmVjdGlvbik6CgkgIERvbid0IG5lZWQgdG8gdGFrZSB0aGUgY29ubmVjdGlvbiBsb2NrLCBpdCB3aWxsIG5vdCBiZSB1c2VkIGFuZCBjb3VsZAoJICBjYXVzZSBkZWFkbG9ja3MuCgoyMDA3LTAzLTA4IDE1OjI0OjUyICswMDAwICBQYXVsIERhdmlzIDxwYXVsQGxpbnV4YXVkaW9zeXN0ZW1zLmNvbT4KCgkgIGV4dC9qYWNrLzogTWFrZSBhbiBvYmplY3QgdG8gbWFuYWdlIGNsaWVudCBjb25uZWN0aW9ucyB0byB0aGUgamFjayBzZXJ2ZXIgd2hpY2ggd2Ugd2lsbCB1c2UgaW4gdGhlIGZ1dHVyZSB0byBydW4gc2VsZS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgSW5jbHVkZXMgcGF0Y2ggYnk6IFBhdWwgRGF2aXMgPHBhdWwgYXQgbGludXhhdWRpb3N5c3RlbXMgZG90IGNvbT4KCSAgKiBleHQvamFjay9NYWtlZmlsZS5hbToKCSAgKiBleHQvamFjay9nc3RqYWNrYXVkaW9jbGllbnQuYzogKGdzdF9qYWNrX2F1ZGlvX2NsaWVudF9pbml0KSwKCSAgKGphY2tfcHJvY2Vzc19jYiksIChqYWNrX3NhbXBsZV9yYXRlX2NiKSwgKGphY2tfYnVmZmVyX3NpemVfY2IpLAoJICAoamFja19zaHV0ZG93bl9jYiksIChjb25uZWN0aW9uX2ZpbmQpLAoJICAoZ3N0X2phY2tfYXVkaW9fbWFrZV9jb25uZWN0aW9uKSwgKGdzdF9qYWNrX2F1ZGlvX2dldF9jb25uZWN0aW9uKSwKCSAgKGdzdF9qYWNrX2F1ZGlvX3VucmVmX2Nvbm5lY3Rpb24pLAoJICAoZ3N0X2phY2tfYXVkaW9fY29ubmVjdGlvbl9hZGRfY2xpZW50KSwKCSAgKGdzdF9qYWNrX2F1ZGlvX2Nvbm5lY3Rpb25fcmVtb3ZlX2NsaWVudCksCgkgIChnc3RfamFja19hdWRpb19jbGllbnRfbmV3KSwgKGdzdF9qYWNrX2F1ZGlvX2NsaWVudF9mcmVlKSwKCSAgKGdzdF9qYWNrX2F1ZGlvX2NsaWVudF9nZXRfY2xpZW50KSwKCSAgKGdzdF9qYWNrX2F1ZGlvX2NsaWVudF9zZXRfYWN0aXZlKToKCSAgKiBleHQvamFjay9nc3RqYWNrYXVkaW9jbGllbnQuaDoKCSAgTWFrZSBhbiBvYmplY3QgdG8gbWFuYWdlIGNsaWVudCBjb25uZWN0aW9ucyB0byB0aGUgamFjayBzZXJ2ZXIgd2hpY2ggd2UKCSAgd2lsbCB1c2UgaW4gdGhlIGZ1dHVyZSB0byBydW4gc2VsZWN0ZWQgamFjayBlbGVtZW50cyB3aXRoIHRoZSBzYW1lIGphY2sKCSAgY29ubmVjdGlvbi4KCSAgTWFrZSBzb21lIHN0dWZmIGEgYml0IG1vcmUgdGhyZWFkc2FmZS4KCSAgQWN0aXZhdGUgdGhlIGphY2sgY2xpZW50IEFTQVAuCgkgICogZXh0L2phY2svZ3N0amFja2F1ZGlvc2luay5jOgoJICAoZ3N0X2phY2tfYXVkaW9fc2lua19hbGxvY2F0ZV9jaGFubmVscyksCgkgIChnc3RfamFja19hdWRpb19zaW5rX2ZyZWVfY2hhbm5lbHMpLCAoamFja19wcm9jZXNzX2NiKSwKCSAgKGdzdF9qYWNrX3JpbmdfYnVmZmVyX29wZW5fZGV2aWNlKSwKCSAgKGdzdF9qYWNrX3JpbmdfYnVmZmVyX2Nsb3NlX2RldmljZSksCgkgIChnc3RfamFja19yaW5nX2J1ZmZlcl9hY3F1aXJlKSwgKGdzdF9qYWNrX3JpbmdfYnVmZmVyX3JlbGVhc2UpLAoJICAoZ3N0X2phY2tfYXVkaW9fc2lua19jbGFzc19pbml0KSwgKGdzdF9qYWNrX2F1ZGlvX3NpbmtfaW5pdCksCgkgIChnc3RfamFja19hdWRpb19zaW5rX2dldGNhcHMpOgoJICAqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NpbmsuaDoKCSAgVXNlIG5ldyBjbGllbnQgb2JqZWN0IHRvIG1hbmFnZSBjb25uZWN0aW9ucy4KCSAgRG9uJ3QgcmVtb3ZlIGFuZCByZWNyZWF0ZSBhbGwgcG9ydHMsIHRyeSB0byByZXVzZSB0aGVtLgoKMjAwNy0wMS0xMiAxMDoyNTo0MCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGV4dC9qYWNrL2dzdGphY2thdWRpb3NpbmsuKjogSW1wcm92ZSBkb2NzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvamFjay9nc3RqYWNrYXVkaW9zaW5rLmM6IChqYWNrX3NhbXBsZV9yYXRlX2NiKSwKCSAgKGphY2tfYnVmZmVyX3NpemVfY2IpLCAoamFja19zaHV0ZG93bl9jYiksCgkgIChnc3RfamFja19yaW5nX2J1ZmZlcl9hY3F1aXJlKToKCSAgKiBleHQvamFjay9nc3RqYWNrYXVkaW9zaW5rLmg6CgkgIEltcHJvdmUgZG9jcy4KCjIwMDYtMTItMDYgMTY6NTc6MTcgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgZXh0L2phY2svLmN2c2lnbm9yZTogSWdub3JlIG9sZCBmaWxlcyBhcyByZXF1ZXN0ZWQgYnkgdGhlIGJ1aWxkIHNsYXZlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvamFjay8uY3ZzaWdub3JlOgoJICBJZ25vcmUgb2xkIGZpbGVzIGFzIHJlcXVlc3RlZCBieSB0aGUgYnVpbGQgc2xhdmUuCgoyMDA2LTExLTMwIDExOjU5OjA0ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZXh0L01ha2VmaWxlLmFtOiBGaXggYnVpbGQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9NYWtlZmlsZS5hbToKCSAgRml4IGJ1aWxkLgoJICAqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NpbmsuYzogKGphY2tfcHJvY2Vzc19jYiksCgkgIChqYWNrX3NhbXBsZV9yYXRlX2NiKSwgKGphY2tfYnVmZmVyX3NpemVfY2IpLCAoamFja19zaHV0ZG93bl9jYiksCgkgIChnc3RfamFja19yaW5nX2J1ZmZlcl9hY3F1aXJlKToKCSAgU21hbGwgY2xlYW51cHMuCgoyMDA2LTExLTMwIDExOjQ5OjM2ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgQWRkZWQgZnVsbHkgZnVuY3Rpb25hbCBqYWNrYXVkaW9zaW5rLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgICogZXh0L01ha2VmaWxlLmFtOgoJICAqIGV4dC9qYWNrL01ha2VmaWxlLmFtOgoJICAqIGV4dC9qYWNrL2dzdGphY2suYzogKHBsdWdpbl9pbml0KToKCSAgKiBleHQvamFjay9nc3RqYWNrLmg6CgkgICogZXh0L2phY2svZ3N0amFja2F1ZGlvc2luay5jOiAoZ3N0X2phY2tfcmluZ19idWZmZXJfZ2V0X3R5cGUpLAoJICAoZ3N0X2phY2tfcmluZ19idWZmZXJfY2xhc3NfaW5pdCksIChqYWNrX3Byb2Nlc3NfY2IpLAoJICAoamFja19zYW1wbGVfcmF0ZV9jYiksIChqYWNrX2J1ZmZlcl9zaXplX2NiKSwgKGphY2tfc2h1dGRvd25fY2IpLAoJICAoZ3N0X2phY2tfcmluZ19idWZmZXJfaW5pdCksIChnc3RfamFja19yaW5nX2J1ZmZlcl9kaXNwb3NlKSwKCSAgKGdzdF9qYWNrX3JpbmdfYnVmZmVyX2ZpbmFsaXplKSwKCSAgKGdzdF9qYWNrX3JpbmdfYnVmZmVyX29wZW5fZGV2aWNlKSwKCSAgKGdzdF9qYWNrX3JpbmdfYnVmZmVyX2Nsb3NlX2RldmljZSksCgkgIChnc3RfamFja19yaW5nX2J1ZmZlcl9hY3F1aXJlKSwgKGdzdF9qYWNrX3JpbmdfYnVmZmVyX3JlbGVhc2UpLAoJICAoZ3N0X2phY2tfcmluZ19idWZmZXJfc3RhcnQpLCAoZ3N0X2phY2tfcmluZ19idWZmZXJfcGF1c2UpLAoJICAoZ3N0X2phY2tfcmluZ19idWZmZXJfc3RvcCksIChnc3RfamFja19yaW5nX2J1ZmZlcl9kZWxheSksCgkgIChnc3RfamFja19jb25uZWN0X2dldF90eXBlKSwgKGdzdF9qYWNrX2F1ZGlvX3NpbmtfYmFzZV9pbml0KSwKCSAgKGdzdF9qYWNrX2F1ZGlvX3NpbmtfY2xhc3NfaW5pdCksIChnc3RfamFja19hdWRpb19zaW5rX2luaXQpLAoJICAoZ3N0X2phY2tfYXVkaW9fc2lua19zZXRfcHJvcGVydHkpLAoJICAoZ3N0X2phY2tfYXVkaW9fc2lua19nZXRfcHJvcGVydHkpLCAoZ3N0X2phY2tfYXVkaW9fc2lua19nZXRjYXBzKSwKCSAgKGdzdF9qYWNrX2F1ZGlvX3NpbmtfY3JlYXRlX3JpbmdidWZmZXIpOgoJICAqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NpbmsuaDoKCSAgQWRkZWQgZnVsbHkgZnVuY3Rpb25hbCBqYWNrYXVkaW9zaW5rLgoKMjAwNi0wNC0wOCAyMTo0ODowMSArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgRml4ICMzMzczNjUgKGdfdHlwZV9jbGFzc19yZWYgPC0+IGdfdHlwZV9jbGFzc19wZWVrX3BhcmVudCkKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2FtcndiL2dzdGFtcndiZGVjLmM6IChnc3RfYW1yd2JkZWNfY2xhc3NfaW5pdCk6CgkgICogZXh0L2FtcndiL2dzdGFtcndiZW5jLmM6IChnc3RfYW1yd2JlbmNfY2xhc3NfaW5pdCk6CgkgICogZXh0L2FtcndiL2dzdGFtcndicGFyc2UuYzogKGdzdF9hbXJ3YnBhcnNlX2NsYXNzX2luaXQpOgoJICAqIGV4dC9hcnRzL2dzdF9hcnRzLmM6IChnc3RfYXJ0c19jbGFzc19pbml0KToKCSAgKiBleHQvYXJ0c2QvZ3N0YXJ0c2RzaW5rLmM6IChnc3RfYXJ0c2RzaW5rX2NsYXNzX2luaXQpOgoJICAqIGV4dC9hdWRpb2ZpbGUvZ3N0YWZzaW5rLmM6IChnc3RfYWZzaW5rX2NsYXNzX2luaXQpOgoJICAqIGV4dC9hdWRpb2ZpbGUvZ3N0YWZzcmMuYzogKGdzdF9hZnNyY19jbGFzc19pbml0KToKCSAgKiBleHQvYXVkaW9yZXNhbXBsZS9nc3RhdWRpb3Jlc2FtcGxlLmM6CgkgICogZXh0L2NkYXVkaW8vZ3N0Y2RhdWRpby5jOiAoZ3N0X2NkYXVkaW9fY2xhc3NfaW5pdCk6CgkgICogZXh0L2RpcmVjdGZiL2RmYnZpZGVvc2luay5jOiAoZ3N0X2RmYnZpZGVvc2lua19jbGFzc19pbml0KToKCSAgKiBleHQvZGl2eC9nc3RkaXZ4ZGVjLmM6IChnc3RfZGl2eGRlY19jbGFzc19pbml0KToKCSAgKiBleHQvaGVybWVzL2dzdGhlcm1lc2NvbG9yc3BhY2UuYzoKCSAgKGdzdF9oZXJtZXNfY29sb3JzcGFjZV9jbGFzc19pbml0KToKCSAgKiBleHQvaXZvcmJpcy92b3JiaXNmaWxlLmM6IChnc3RfaXZvcmJpc2ZpbGVfY2xhc3NfaW5pdCk6CgkgICogZXh0L2phY2svZ3N0amFjay5jOiAoZ3N0X2phY2tfY2xhc3NfaW5pdCk6CgkgICogZXh0L2phY2svZ3N0amFja2Jpbi5jOiAoZ3N0X2phY2tfYmluX2NsYXNzX2luaXQpOgoJICAqIGV4dC9sY3MvZ3N0Y29sb3JzcGFjZS5jOiAoZ3N0X2NvbG9yc3BhY2VfY2xhc3NfaW5pdCk6CgkgICogZXh0L2xpYmZhbWUvZ3N0bGliZmFtZS5jOiAoZ3N0X2ZhbWVlbmNfY2xhc3NfaW5pdCk6CgkgICogZXh0L211c2ljYnJhaW56L2dzdHRybS5jOiAoZ3N0X211c2ljYnJhaW56X2NsYXNzX2luaXQpOgoJICAqIGV4dC9uYXMvbmFzc2luay5jOiAoZ3N0X25hc3NpbmtfY2xhc3NfaW5pdCk6CgkgICogZXh0L3Nob3V0L2dzdHNob3V0LmM6IChnc3RfaWNlY2FzdHNlbmRfY2xhc3NfaW5pdCk6CgkgICogZXh0L3NuYXBzaG90L2dzdHNuYXBzaG90LmM6IChnc3Rfc25hcHNob3RfY2xhc3NfaW5pdCk6CgkgICogZXh0L3NuZGZpbGUvZ3N0c2YuYzogKGdzdF9zZl9jbGFzc19pbml0KToKCSAgKiBleHQvc3dmZGVjL2dzdHN3ZmRlYy5jOiAoZ3N0X3N3ZmRlY2J1ZmZlcl9jbGFzc19pbml0KSwKCSAgKGdzdF9zd2ZkZWNfY2xhc3NfaW5pdCk6CgkgICogZXh0L3Rhcmtpbi9nc3R0YXJraW5kZWMuYzogKGdzdF90YXJraW5kZWNfY2xhc3NfaW5pdCk6CgkgICogZXh0L3Rhcmtpbi9nc3R0YXJraW5lbmMuYzogKGdzdF90YXJraW5lbmNfY2xhc3NfaW5pdCk6CgkgICogZ3N0L2NkeGFwYXJzZS9nc3RjZHhhc3RyaXAuYzogKGdzdF9jZHhhc3RyaXBfY2xhc3NfaW5pdCk6CgkgICogZ3N0L2NoYXJ0L2dzdGNoYXJ0LmM6IChnc3RfY2hhcnRfY2xhc3NfaW5pdCk6CgkgICogZ3N0L2NvbG9yc3BhY2UvZ3N0Y29sb3JzcGFjZS5jOiAoZ3N0X2NvbG9yc3BhY2VfY2xhc3NfaW5pdCk6CgkgICogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmM6IChnc3RfZGVpbnRlcmxhY2VfY2xhc3NfaW5pdCk6CgkgICogZ3N0L2Zlc3RpdmFsL2dzdGZlc3RpdmFsLmM6IChnc3RfZmVzdGl2YWxfY2xhc3NfaW5pdCk6CgkgICogZ3N0L2ZpbHRlci9nc3RicHdzaW5jLmM6IChnc3RfYnB3c2luY19jbGFzc19pbml0KToKCSAgKiBnc3QvZmlsdGVyL2dzdGlpci5jOiAoZ3N0X2lpcl9jbGFzc19pbml0KToKCSAgKiBnc3QvZmlsdGVyL2dzdGxwd3NpbmMuYzogKGdzdF9scHdzaW5jX2NsYXNzX2luaXQpOgoJICAqIGdzdC9saWJyZmIvZ3N0cmZic3JjLmM6IChnc3RfcmZic3JjX2NsYXNzX2luaXQpOgoJICAqIGdzdC9taXhtYXRyaXgvbWl4bWF0cml4LmM6IChnc3RfbWl4bWF0cml4X2NsYXNzX2luaXQpOgoJICAqIGdzdC9tcGVnMXN5cy9nc3RtcGVnMXN5c3RlbWVuY29kZS5jOgoJICAoZ3N0X3N5c3RlbV9lbmNvZGVfY2xhc3NfaW5pdCk6CgkgICogZ3N0L21wZWcxdmlkZW9wYXJzZS9nc3RtcDF2aWRlb3BhcnNlLmM6CgkgIChnc3RfbXAxdmlkZW9wYXJzZV9jbGFzc19pbml0KToKCSAgKiBnc3QvbXBlZzJzdWIvZ3N0bXBlZzJzdWJ0LmM6IChnc3RfbXBlZzJzdWJ0X2NsYXNzX2luaXQpOgoJICAqIGdzdC9tcGVnYXVkaW9wYXJzZS9nc3RtcGVnYXVkaW9wYXJzZS5jOgoJICAoZ3N0X21wM3BhcnNlX2NsYXNzX2luaXQpOgoJICAqIGdzdC9vdmVybGF5L2dzdG92ZXJsYXkuYzogKGdzdF9vdmVybGF5X2NsYXNzX2luaXQpOgoJICAqIGdzdC9wYXNzdGhyb3VnaC9nc3RwYXNzdGhyb3VnaC5jOiAocGFzc3Rocm91Z2hfY2xhc3NfaW5pdCk6CgkgICogZ3N0L3BsYXlvbmRlbWFuZC9nc3RwbGF5b25kZW1hbmQuYzogKHBsYXlfb25fZGVtYW5kX2NsYXNzX2luaXQpOgoJICAqIGdzdC9ydGpwZWcvZ3N0cnRqcGVnZGVjLmM6IChnc3RfcnRqcGVnZGVjX2NsYXNzX2luaXQpOgoJICAqIGdzdC9ydGpwZWcvZ3N0cnRqcGVnZW5jLmM6IChnc3RfcnRqcGVnZW5jX2NsYXNzX2luaXQpOgoJICAqIGdzdC9zbW9vdGgvZ3N0c21vb3RoLmM6IChnc3Rfc21vb3RoX2NsYXNzX2luaXQpOgoJICAqIGdzdC9zbW9vdGh3YXZlL2dzdHNtb290aHdhdmUuYzogKGdzdF9zbW9vdGh3YXZlX2NsYXNzX2luaXQpOgoJICAqIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5jOiAoZ3N0X3NwZWN0cnVtX2NsYXNzX2luaXQpOgoJICAqIGdzdC9zdGVyZW8vZ3N0c3RlcmVvLmM6IChnc3Rfc3RlcmVvX2NsYXNzX2luaXQpOgoJICAqIGdzdC9zd2l0Y2gvZ3N0c3dpdGNoLmM6IChnc3Rfc3dpdGNoX2NsYXNzX2luaXQpOgoJICAqIGdzdC90dGEvZ3N0dHRhZGVjLmM6IChnc3RfdHRhX2RlY19jbGFzc19pbml0KToKCSAgKiBnc3QvdHRhL2dzdHR0YXBhcnNlLmM6IChnc3RfdHRhX3BhcnNlX2NsYXNzX2luaXQpOgoJICAqIGdzdC92YmlkZWMvZ3N0dmJpZGVjLmM6IChnc3RfdmJpZGVjX2NsYXNzX2luaXQpOgoJICAqIGdzdC92aWRlb2Nyb3AvZ3N0dmlkZW9jcm9wLmM6IChnc3RfdmlkZW9fY3JvcF9jbGFzc19pbml0KToKCSAgKiBnc3QvdmlydHVhbGR1Yi9nc3R4c2hhcnBlbi5jOiAoZ3N0X3hzaGFycGVuX2NsYXNzX2luaXQpOgoJICAqIGdzdC95NG0vZ3N0eTRtZW5jb2RlLmM6IChnc3RfeTRtZW5jb2RlX2NsYXNzX2luaXQpOgoJICAqIHN5cy9jZHJvbS9nc3RjZHBsYXllci5jOiAoY2RwbGF5ZXJfY2xhc3NfaW5pdCk6CgkgICogc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdHNvdW5kc2luay5jOgoJICAoZ3N0X2RpcmVjdHNvdW5kc2lua19jbGFzc19pbml0KToKCSAgKiBzeXMvZHhyMy9keHIzYXVkaW9zaW5rLmM6IChkeHIzYXVkaW9zaW5rX2NsYXNzX2luaXQpOgoJICAqIHN5cy9keHIzL2R4cjNzcHVzaW5rLmM6IChkeHIzc3B1c2lua19jbGFzc19pbml0KToKCSAgKiBzeXMvZHhyMy9keHIzdmlkZW9zaW5rLmM6IChkeHIzdmlkZW9zaW5rX2NsYXNzX2luaXQpOgoJICAqIHN5cy9xY2FtL2dzdHFjYW1zcmMuYzogKGdzdF9xY2Ftc3JjX2NsYXNzX2luaXQpOgoJICAqIHN5cy92NGwyL2dzdHY0bDJjb2xvcmJhbGFuY2UuYzoKCSAgKGdzdF92NGwyX2NvbG9yX2JhbGFuY2VfY2hhbm5lbF9jbGFzc19pbml0KToKCSAgKiBzeXMvdjRsMi9nc3R2NGwydHVuZXIuYzogKGdzdF92NGwyX3R1bmVyX2NoYW5uZWxfY2xhc3NfaW5pdCksCgkgIChnc3RfdjRsMl90dW5lcl9ub3JtX2NsYXNzX2luaXQpOgoJICAqIHN5cy94aW1hZ2VzcmMveGltYWdlc3JjLmM6IChnc3RfeGltYWdlc3JjX2NsYXNzX2luaXQpOgoJICBGaXggIzMzNzM2NSAoZ190eXBlX2NsYXNzX3JlZiA8LT4gZ190eXBlX2NsYXNzX3BlZWtfcGFyZW50KQoKMjAwNi0wNC0wMSAxMDowOToxMSArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBleHQvamFjay9nc3RqYWNrLmM6CgkgIHJld29yayBidWlsZDsgYWRkIHRyYW5zbGF0aW9ucyBmb3IgdjRsMgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgcmV3b3JrIGJ1aWxkOyBhZGQgdHJhbnNsYXRpb25zIGZvciB2NGwyCgoyMDA1LTEwLTEyIDE0OjI5OjU1ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICByZW5hbWVkIEdTVF9GTEFHUyBtYWNyb3MgdG8gR1NUX09CSkVDVF9GTEFHUyBtb3ZlZCBiaXRzaGlmdCBmcm9tIG1hY3JvIHRvIGVudW0gZGVmaW5pdGlvbgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleGFtcGxlcy9pbmRleGluZy9pbmRleG1wZWcuYzogKG1haW4pOgoJICAqIGV4dC9hcnRzZC9nc3RhcnRzZHNpbmsuYzogKGdzdF9hcnRzZHNpbmtfb3Blbl9hdWRpbyksCgkgIChnc3RfYXJ0c2RzaW5rX2Nsb3NlX2F1ZGlvKSwgKGdzdF9hcnRzZHNpbmtfY2hhbmdlX3N0YXRlKToKCSAgKiBleHQvYXJ0c2QvZ3N0YXJ0c2RzaW5rLmg6CgkgICogZXh0L2F1ZGlvZmlsZS9nc3RhZnBhcnNlLmM6IChnc3RfYWZwYXJzZV9vcGVuX2ZpbGUpLAoJICAoZ3N0X2FmcGFyc2VfY2xvc2VfZmlsZSk6CgkgICogZXh0L2F1ZGlvZmlsZS9nc3RhZnBhcnNlLmg6CgkgICogZXh0L2F1ZGlvZmlsZS9nc3RhZnNpbmsuYzogKGdzdF9hZnNpbmtfb3Blbl9maWxlKSwKCSAgKGdzdF9hZnNpbmtfY2xvc2VfZmlsZSksIChnc3RfYWZzaW5rX2NoYWluKSwKCSAgKGdzdF9hZnNpbmtfY2hhbmdlX3N0YXRlKToKCSAgKiBleHQvYXVkaW9maWxlL2dzdGFmc2luay5oOgoJICAqIGV4dC9hdWRpb2ZpbGUvZ3N0YWZzcmMuYzogKGdzdF9hZnNyY19vcGVuX2ZpbGUpLAoJICAoZ3N0X2Fmc3JjX2Nsb3NlX2ZpbGUpLCAoZ3N0X2Fmc3JjX2NoYW5nZV9zdGF0ZSk6CgkgICogZXh0L2F1ZGlvZmlsZS9nc3RhZnNyYy5oOgoJICAqIGV4dC9jZGF1ZGlvL2dzdGNkYXVkaW8uYzogKGdzdF9jZGF1ZGlvX2luaXQpOgoJICAqIGV4dC9kaXJlY3RmYi9kaXJlY3RmYnZpZGVvc2luay5jOiAoZ3N0X2RpcmVjdGZidmlkZW9zaW5rX2luaXQpOgoJICAqIGV4dC9kdHMvZ3N0ZHRzZGVjLmM6IChnc3RfZHRzZGVjX2luaXQpOgoJICAqIGV4dC9qYWNrL2dzdGphY2suaDoKCSAgKiBleHQvamFjay9nc3RqYWNrYmluLmM6IChnc3RfamFja19iaW5faW5pdCksCgkgIChnc3RfamFja19iaW5fY2hhbmdlX3N0YXRlKToKCSAgKiBleHQvbXVzZXBhY2svZ3N0bXVzZXBhY2tkZWMuYzogKGdzdF9tdXNlcGFja2RlY19pbml0KToKCSAgKiBleHQvbXVzaWNicmFpbnovZ3N0dHJtLmM6IChnc3RfbXVzaWNicmFpbnpfaW5pdCk6CgkgICogZXh0L25hcy9uYXNzaW5rLmM6IChnc3RfbmFzc2lua19vcGVuX2F1ZGlvKSwKCSAgKGdzdF9uYXNzaW5rX2Nsb3NlX2F1ZGlvKSwgKGdzdF9uYXNzaW5rX2NoYW5nZV9zdGF0ZSk6CgkgICogZXh0L25hcy9uYXNzaW5rLmg6CgkgICogZXh0L3BvbHlwL3BvbHlwc2luay5jOiAoZ3N0X3BvbHlwc2lua19pbml0KToKCSAgKiBleHQvc2RsL3NkbHZpZGVvc2luay5jOiAoZ3N0X3NkbHZpZGVvc2lua19jaGFuZ2Vfc3RhdGUpOgoJICAqIGV4dC9zZGwvc2RsdmlkZW9zaW5rLmg6CgkgICogZXh0L3Ntb290aHdhdmUvZ3N0c21vb3Rod2F2ZS5jOiAoZ3N0X3Ntb290aHdhdmVfaW5pdCk6CgkgICogZXh0L3NuZGZpbGUvZ3N0c2YuYzogKGdzdF9zZl9zZXRfcHJvcGVydHkpLAoJICAoZ3N0X3NmX2NoYW5nZV9zdGF0ZSksIChnc3Rfc2ZfcmVsZWFzZV9yZXF1ZXN0X3BhZCksCgkgIChnc3Rfc2Zfb3Blbl9maWxlKSwgKGdzdF9zZl9jbG9zZV9maWxlKSwgKGdzdF9zZl9sb29wKToKCSAgKiBleHQvc25kZmlsZS9nc3RzZi5oOgoJICAqIGV4dC9zd2ZkZWMvZ3N0c3dmZGVjLmM6IChnc3Rfc3dmZGVjX2luaXQpOgoJICAqIGV4dC90YXJraW4vZ3N0dGFya2luZGVjLmM6IChnc3RfdGFya2luZGVjX2luaXQpOgoJICAqIGdzdC9hcGV0YWcvYXBlZGVtdXguYzogKGdzdF9hcGVfZGVtdXhfaW5pdCk6CgkgICogZ3N0L2NkeGFwYXJzZS9nc3RjZHhhcGFyc2UuYzogKGdzdF9jZHhhcGFyc2VfaW5pdCk6CgkgICogZ3N0L2NkeGFwYXJzZS9nc3RjZHhhc3RyaXAuYzogKGdzdF9jZHhhc3RyaXBfaW5pdCk6CgkgICogZ3N0L2Zlc3RpdmFsL2dzdGZlc3RpdmFsLmM6IChnc3RfZmVzdGl2YWxfY2hhbmdlX3N0YXRlKToKCSAgKiBnc3QvZmVzdGl2YWwvZ3N0ZmVzdGl2YWwuaDoKCSAgKiBnc3QvbXBlZzJzdWIvZ3N0bXBlZzJzdWJ0LmM6IChnc3RfbXBlZzJzdWJ0X2luaXQpOgoJICAqIGdzdC9tdWx0aWZpbGVzaW5rL2dzdG11bHRpZmlsZXNpbmsuYzogKGdzdF9tdWx0aWZpbGVzaW5rX2luaXQpLAoJICAoZ3N0X211bHRpZmlsZXNpbmtfc2V0X2xvY2F0aW9uKSwgKGdzdF9tdWx0aWZpbGVzaW5rX29wZW5fZmlsZSksCgkgIChnc3RfbXVsdGlmaWxlc2lua19jbG9zZV9maWxlKSwgKGdzdF9tdWx0aWZpbGVzaW5rX25leHRfZmlsZSksCgkgIChnc3RfbXVsdGlmaWxlc2lua19wYWRfcXVlcnkpLCAoZ3N0X211bHRpZmlsZXNpbmtfaGFuZGxlX2V2ZW50KSwKCSAgKGdzdF9tdWx0aWZpbGVzaW5rX2NoYWluKSwgKGdzdF9tdWx0aWZpbGVzaW5rX2NoYW5nZV9zdGF0ZSk6CgkgICogZ3N0L211bHRpZmlsZXNpbmsvZ3N0bXVsdGlmaWxlc2luay5oOgoJICAqIGdzdC92aWRlb2Ryb3AvZ3N0dmlkZW9kcm9wLmM6IChnc3RfdmlkZW9kcm9wX2luaXQpOgoJICAqIHN5cy9jZHJvbS9nc3RjZHBsYXllci5jOiAoY2RwbGF5ZXJfaW5pdCk6CgkgICogc3lzL2R4cjMvZHhyM2F1ZGlvc2luay5jOiAoZHhyM2F1ZGlvc2lua19pbml0KSwKCSAgKGR4cjNhdWRpb3Npbmtfb3BlbiksIChkeHIzYXVkaW9zaW5rX2Nsb3NlKSwKCSAgKGR4cjNhdWRpb3NpbmtfY2hhaW5fcGNtKSwgKGR4cjNhdWRpb3NpbmtfY2hhaW5fYWMzKSwKCSAgKGR4cjNhdWRpb3NpbmtfY2hhbmdlX3N0YXRlKToKCSAgKiBzeXMvZHhyMy9keHIzYXVkaW9zaW5rLmg6CgkgICogc3lzL2R4cjMvZHhyM3NwdXNpbmsuYzogKGR4cjNzcHVzaW5rX2luaXQpLCAoZHhyM3NwdXNpbmtfb3BlbiksCgkgIChkeHIzc3B1c2lua19jbG9zZSksIChkeHIzc3B1c2lua19jaGFpbiksCgkgIChkeHIzc3B1c2lua19jaGFuZ2Vfc3RhdGUpOgoJICAqIHN5cy9keHIzL2R4cjNzcHVzaW5rLmg6CgkgICogc3lzL2R4cjMvZHhyM3ZpZGVvc2luay5jOiAoZHhyM3ZpZGVvc2lua19pbml0KSwKCSAgKGR4cjN2aWRlb3Npbmtfb3BlbiksIChkeHIzdmlkZW9zaW5rX2Nsb3NlKSwKCSAgKGR4cjN2aWRlb3Npbmtfd3JpdGVfZGF0YSksIChkeHIzdmlkZW9zaW5rX2NoYW5nZV9zdGF0ZSk6CgkgICogc3lzL2R4cjMvZHhyM3ZpZGVvc2luay5oOgoJICAqIHN5cy9nbHNpbmsvZ2xpbWFnZXNpbmsuYzogKGdzdF9nbGltYWdlc2lua19pbml0KToKCSAgKiBzeXMvcWNhbS9nc3RxY2Ftc3JjLmM6IChnc3RfcWNhbXNyY19jaGFuZ2Vfc3RhdGUpLAoJICAoZ3N0X3FjYW1zcmNfb3BlbiksIChnc3RfcWNhbXNyY19jbG9zZSk6CgkgICogc3lzL3FjYW0vZ3N0cWNhbXNyYy5oOgoJICAqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzogKGdzdF92NGwyc3JjX2luaXQpOgoJICAqIHN5cy92Y2QvdmNkc3JjLmM6IChnc3RfdmNkc3JjX3NldF9wcm9wZXJ0eSksIChnc3RfdmNkc3JjX2dldCksCgkgIChnc3RfdmNkc3JjX29wZW5fZmlsZSksIChnc3RfdmNkc3JjX2Nsb3NlX2ZpbGUpLAoJICAoZ3N0X3ZjZHNyY19jaGFuZ2Vfc3RhdGUpLCAoZ3N0X3ZjZHNyY19yZWNhbGN1bGF0ZSk6CgkgICogc3lzL3ZjZC92Y2RzcmMuaDoKCSAgcmVuYW1lZCBHU1RfRkxBR1MgbWFjcm9zIHRvIEdTVF9PQkpFQ1RfRkxBR1MKCSAgbW92ZWQgYml0c2hpZnQgZnJvbSBtYWNybyB0byBlbnVtIGRlZmluaXRpb24KCjIwMDUtMDktMDUgMTc6MjA6MjkgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSogZXh0L2phY2svZ3N0amFjay5jOgoJKiBleHQvamFjay9nc3RqYWNrYmluLmM6CgkgIEZpeCB1cCBhbGwgdGhlIHN0YXRlIGNoYW5nZSBmdW5jdGlvbnMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBGaXggdXAgYWxsIHRoZSBzdGF0ZSBjaGFuZ2UgZnVuY3Rpb25zLgoKMjAwNC0wOC0wMyAxNDoyODoxMiArMDAwMCAgQmVuamFtaW4gT3R0ZSA8b3R0ZUBnbm9tZS5vcmc+CgoJICBmaXhlcyBmb3IgR19ESVNBQkxFX0FTU0VSVCBhbmQgZnJpZW5kcwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleGFtcGxlcy9keW5wYXJhbXMvZmlsdGVyLmM6ICh1aV9jb250cm9sX2NyZWF0ZSk6CgkgICogZXhhbXBsZXMvZ3N0cGxheS9wbGF5ZXIuYzogKHByaW50X3RhZyk6CgkgICogZXh0L2Fsc2EvZ3N0YWxzYS5jOiAoZ3N0X2Fsc2FfcmVxdWVzdF9uZXdfcGFkKToKCSAgKiBleHQvZ2RrX3BpeGJ1Zi9nc3RnZGthbmltYXRpb24uYzoKCSAgKGdzdF9nZGtfYW5pbWF0aW9uX2l0ZXJfbWF5X2FkdmFuY2UpOgoJICAqIGV4dC9qYWNrL2dzdGphY2suYzogKGdzdF9qYWNrX3JlcXVlc3RfbmV3X3BhZCk6CgkgICogZXh0L21hZC9nc3RpZDN0YWcuYzogKGdzdF9tYWRfaWQzX3RvX3RhZ19saXN0KSwKCSAgKHRhZ19saXN0X3RvX2lkM190YWdfZm9yZWFjaCksIChnc3RfaWQzX3RhZ19oYW5kbGVfZXZlbnQpOgoJICAqIGV4dC92b3JiaXMvb2dndm9yYmlzZW5jLmM6IChnc3Rfb2dndm9yYmlzZW5jX2dldF90YWdfdmFsdWUpOgoJICAqIGV4dC92b3JiaXMvdm9yYmlzZW5jLmM6IChnc3Rfdm9yYmlzZW5jX2dldF90YWdfdmFsdWUpOgoJICAqIGV4dC94aW5lL3hpbmVhdWRpb2RlYy5jOiAoZ3N0X3hpbmVfYXVkaW9fZGVjX2NoYWluKToKCSAgKiBnc3QtbGlicy9nc3QvbWVkaWEtaW5mby9tZWRpYS1pbmZvLXRlc3QuYzogKHByaW50X3RhZyk6CgkgICogZ3N0L3NpbmUvZGVtby1kcGFyYW1zLmM6IChtYWluKToKCSAgKiBnc3QvdGFncy9nc3R2b3JiaXN0YWcuYzogKGdzdF90YWdfdG9fdm9yYmlzX2NvbW1lbnRzKToKCSAgKiB0ZXN0c3VpdGUvYWxzYS9mb3JtYXRzLmM6IChjcmVhdGVfcGlwZWxpbmUpOgoJICAqIHRlc3RzdWl0ZS9hbHNhL3NpbmVzcmMuYzogKHNpbmVzcmNfZm9yY2VfY2FwcyksIChzaW5lc3JjX2dldCk6CgkgIGZpeGVzIGZvciBHX0RJU0FCTEVfQVNTRVJUIGFuZCBmcmllbmRzCgkgICogZ3N0L3R5cGVmaW5kL2dzdHR5cGVmaW5kZnVuY3Rpb25zLmM6IChhYWNfdHlwZV9maW5kKSwKCSAgKG1wM190eXBlX2ZyYW1lX2xlbmd0aF9mcm9tX2hlYWRlciksIChtcDNfdHlwZV9maW5kKSwKCSAgKHBsdWdpbl9pbml0KToKCSAgcmVxdWlyZSBtcDMgdHlwZWZpbmRpbmcgdG8gaGF2ZSBhdCBsZWFzdCBNSU5fSEVBREVSUyB2YWxpZCBoZWFkZXJzCgkgIGFkZCB0eXBlZmluZGluZyBmb3IgQUFDIGFkdHMgZmlsZXMKCjIwMDQtMDUtMjEgMjM6Mjg6NTcgKzAwMDAgIFN0w6lwaGFuZSBMb2V1aWxsZXQgPGdzdHJlYW1lckBsZXJvdXRpZXIubmV0PgoKCSogZXh0L2phY2svZ3N0amFjay5jOgoJKiBleHQvamFjay9nc3RqYWNrLmg6CgkgIHNlY29uZCBiYXRjaCA6IHJlbW92ZSAnLCcgYXQgZW5kIG9mIGVudW1zIGFzIHRoZXkgY291bGQgY29uZnVzZSBvbGRlciBnY2MsIGZvcmVpZ24gY29tcGlsZXJzIChmb3J0ZSkgYW5kIGd0ay1kb2MgKGluIC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgc2Vjb25kIGJhdGNoIDoKCSAgcmVtb3ZlICcsJyBhdCBlbmQgb2YgZW51bXMgYXMgdGhleSBjb3VsZCBjb25mdXNlIG9sZGVyIGdjYywgZm9yZWlnbiBjb21waWxlcnMgKGZvcnRlKSBhbmQgZ3RrLWRvYwoJICAoaW4gZ3N0LXBsdWdpbnMvZXh0LyB0aGlzIHRpbWUpCgoyMDA0LTAzLTE1IDE5OjMyOjI3ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIGV4dC9qYWNrL2dzdGphY2suYzoKCSogZXh0L2phY2svZ3N0amFja2Jpbi5jOgoJICBkb24ndCBtaXggdGFicyBhbmQgc3BhY2VzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBkb24ndCBtaXggdGFicyBhbmQgc3BhY2VzCgoyMDA0LTAzLTE1IDE2OjMyOjU0ICswMDAwICBKb2hhbiBEYWhsaW4gPGpvaGFuQGdub21lLm9yZz4KCgkgICouaDogUmV2ZXJ0IGluZGVudGluZwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiAqLmg6IFJldmVydCBpbmRlbnRpbmcKCjIwMDQtMDMtMTQgMjI6MzQ6MzMgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogZXh0L2phY2svZ3N0amFjay5jOgoJKiBleHQvamFjay9nc3RqYWNrLmg6CgkqIGV4dC9qYWNrL2dzdGphY2tiaW4uYzoKCSAgZ3N0LWluZGVudAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgZ3N0LWluZGVudAoKMjAwNC0wMS0xMiAwMzo0MDoxOCArMDAwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBleHQvamFjay9nc3RqYWNrLmM6CgkgIFJlbW92ZSBhbGwgdXNhZ2Ugb2YgZ3N0X3BhZF9nZXRfY2FwcygpLCBhbmQgcmVwbGFjZSBpdCB3aXRoIGdzdF9wYWRfZ2V0X2FsbG93ZWRfY2FwcygpIG9yIGdzdF9wYWRfZ2V0X25lZ290aWF0ZWRfY2FwKCkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBSZW1vdmUgYWxsIHVzYWdlIG9mIGdzdF9wYWRfZ2V0X2NhcHMoKSwgYW5kIHJlcGxhY2UgaXQgd2l0aAoJICBnc3RfcGFkX2dldF9hbGxvd2VkX2NhcHMoKSBvciBnc3RfcGFkX2dldF9uZWdvdGlhdGVkX2NhcCgpLgoKMjAwMy0xMi0yMiAwMTo0NzowOSArMDAwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBleHQvamFjay9nc3RqYWNrLmM6CgkgIE1lcmdlIENBUFMgYnJhbmNoCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBNZXJnZSBDQVBTIGJyYW5jaAoKMjAwMy0xMi0xMyAxNjo1OTo1MSArMDAwMCAgQmVuamFtaW4gT3R0ZSA8b3R0ZUBnbm9tZS5vcmc+CgoJKiBleHQvamFjay9nc3RqYWNrYmluLmM6CgkgIHJlbW92ZWQgR1NUXypfQ0FTVC4gRGlzYWJsaW5nIG9mIHR5cGUgY2hlY2tpbmcgaXMgZG9uZSBpbiBnbGliLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgcmVtb3ZlZCBHU1RfKl9DQVNULiBEaXNhYmxpbmcgb2YgdHlwZSBjaGVja2luZyBpcyBkb25lIGluIGdsaWIuCgoyMDAzLTEyLTA0IDEwOjM3OjM4ICswMDAwICBBbmR5IFdpbmdvIDx3aW5nb0Bwb2JveC5jb20+CgoJKiBleHQvamFjay9nc3RqYWNrLmM6CgkgIHJlbW92ZSBjb3B5cmlnaHQgZmllbGQgZnJvbSBwbHVnaW5zCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICByZW1vdmUgY29weXJpZ2h0IGZpZWxkIGZyb20gcGx1Z2lucwoKMjAwMy0xMS0wNyAxMjo0NzowMiArMDAwMCAgUm9uYWxkIFMuIEJ1bHRqZSA8cmJ1bHRqZUByb25hbGQuYml0ZnJlYWsubmV0PgoKCSogZXh0L2phY2svZ3N0amFja2Jpbi5jOgoJICBSZW1vdmUgYWxsIGNvbmZpZy5oIGluY2x1ZGVzIGZyb20gaGVhZGVyIGZpbGVzLCBhZGQgaXQgdG8gZWFjaCBzb3VyY2UgZmlsZSBhbmQgcmVtb3ZlIGR1cGxpY2F0ZSBjb25maWcuaCBpbmNsdWRlcyBmcm8uLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFJlbW92ZSBhbGwgY29uZmlnLmggaW5jbHVkZXMgZnJvbSBoZWFkZXIgZmlsZXMsIGFkZCBpdCB0byBlYWNoIHNvdXJjZSBmaWxlIGFuZCByZW1vdmUgZHVwbGljYXRlIGNvbmZpZy5oIGluY2x1ZGVzIGZyb20gc2V2ZXJhbCBzb3VyY2UgZmlsZXMKCjIwMDMtMTEtMDEgMjM6NDM6MTMgKzAwMDAgIElhaW4gSG9sbWVzIDxpYWluQHByZXR0eXBlb3BsZS5vcmc+CgoJKiBleHQvamFjay9nc3RqYWNrLmM6CgkgIEphY2sgZml4ZWQgdG9vCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBKYWNrIGZpeGVkIHRvbwoKMjAwMy0xMC0yOSAwMzoxNTo1NSArMDAwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBleHQvamFjay9nc3RqYWNrLmg6CgkgIGNoYW5nZSBnc3QvYnl0ZXN0cmVhbS5oIHRvIGdzdC9ieXRlc3RyZWFtL2J5dGVzdHJlYW0uaAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgY2hhbmdlIGdzdC9ieXRlc3RyZWFtLmggdG8gZ3N0L2J5dGVzdHJlYW0vYnl0ZXN0cmVhbS5oCgoyMDAzLTEwLTI4IDIwOjUyOjQxICswMDAwICBCZW5qYW1pbiBPdHRlIDxvdHRlQGdub21lLm9yZz4KCgkqIGV4dC9qYWNrL2dzdGphY2suaDoKCSAgbWVyZ2UgVFlQRUZJTkQgYnJhbmNoLiBNYWpvciBjaGFuZ2VzOgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgbWVyZ2UgVFlQRUZJTkQgYnJhbmNoLiBNYWpvciBjaGFuZ2VzOgoJICAtIHRvdGFsbHkgcmV3b3JrZWQgdHlwZShmaW5kKSBzeXN0ZW0KCSAgLSBhbGwgdHlwZWZpbmQgZnVuY3Rpb25zIGFyZSBpbiBnc3QvdHlwZWZpbmQgbm93CgkgIC0gbW9yZSB0eXBlZmluZCBmdW5jdGlvbnMgdGhlbiBiZWZvcmUKCSAgLSBzb21lIHBsdWdpbnMgbWlnaHQgZmFpbCB0byBjb21waWxlIG5vdyBiZWNhdXNlIEkgZG9uJ3QgaGF2ZSB0aGVtIGluc3RhbGxlZCBhbmQgdGhleQoJICBhKSByZXF1aXJlIGJ5dGVzdHJlYW0gb3IKCSAgYikgaGF2ZW4ndCBoYWQgdGhlaXIgdHlwZWZpbmQgZml4ZWQuCgkgIFBsZWFzZSBmaXggdGhvc2UgcGx1Z2lucyBhbmQgcHV0IHRoZSB0eXBlZmluZCBmdW5jdGlvbnMgaW50byBnc3QvdHlwZWZpbmQgaWYgdGhleSBkb24ndCBoYXZlIGRlcGVuZGVuY2llcwoKMjAwMy0xMC0wOCAxNjowODoxOSArMDAwMCAgQW5keSBXaW5nbyA8d2luZ29AcG9ib3guY29tPgoKCSogZXh0L2phY2svZ3N0amFjay5jOgoJICAvR3N0QnVmZmVyL0dzdERhdGEvIGluIHRoZSBBUEkgd2hlcmUgeW91IGNhbiBwYXNzIGV2ZW50cy4gRml4IHRoZSBwbHVnaW5zIHRvIGRlYWwgd2l0aCB0aGF0LiBGaXhlcyAjMTEzNDg4LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgL0dzdEJ1ZmZlci9Hc3REYXRhLyBpbiB0aGUgQVBJIHdoZXJlIHlvdSBjYW4gcGFzcyBldmVudHMuIEZpeCB0aGUgcGx1Z2lucyB0byBkZWFsIHdpdGggdGhhdC4gRml4ZXMgIzExMzQ4OC4KCjIwMDMtMTAtMDEgMTM6MTQ6NTAgKzAwMDAgIFJvbmFsZCBTLiBCdWx0amUgPHJidWx0amVAcm9uYWxkLmJpdGZyZWFrLm5ldD4KCgkqIGV4dC9qYWNrL2dzdGphY2suaDoKCSAgTmV3IHR5cGVmaW5kIHN5c3RlbTogYnl0ZXN0cmVhbSBpcyBub3cgcGFydCBvZiB0aGUgY29yZSBhbGwgcGx1Z2lucyBoYXZlIGJlZW4gbW9kaWZpZWQgdG8gdXNlIHRoaXMgbmV3IHR5cGVmaW5kIHN5c3RlLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBOZXcgdHlwZWZpbmQgc3lzdGVtOgoJICAqIGJ5dGVzdHJlYW0gaXMgbm93IHBhcnQgb2YgdGhlIGNvcmUKCSAgKiBhbGwgcGx1Z2lucyBoYXZlIGJlZW4gbW9kaWZpZWQgdG8gdXNlIHRoaXMgbmV3IHR5cGVmaW5kIHN5c3RlbQoJICAqIGFzZiB0eXBlZmluZGluZyBhZGRlZAoJICAqIG1wZWcgdmlkZW8gc3RyZWFtIHR5cGVmaWRpbmcgcmVtb3ZlZCBiZWNhdXNlIGl0J3MgYnJva2VuCgkgICogZHVwbGljYXRlIHR5cGVmaW5kIGVudHJpZXMgcmVtb3ZlZAoJICAqIGV4dHJhIGlkMyB0eXBlZmluZGluZyBhZGRlZCwgYmVjYXVzZSB3ZSd2ZSBzZWVuIDQgdHlwZXMgb2YgZmlsZXMKCSAgKHJpZmYvd2F2LCBmbGFjLCB2b3JiaXMsIG1wMykgd2l0aCBpZDMgaGVhZGVycyBhbmQgZWFjaCBvZiB0aGVzZSBuZWVkcwoJICB0byB3b3JrLiBJbnN0ZWFkLCBJJ3ZlIGFkZGVkIGFuIGlkMyBlbGVtZW50IGFuZCBsZXQgaXQgcmVkbyB0eXBlZmlkaW5nCgkgIGFmdGVyIHRoZSBpZDMgaGVhZGVyLiB0aGlzIG5lZWRzIGEgaGFjayBiZWNhdXNlIHNwaWRlciBvbmx5IHR5cGVmaW5kcwoJICBvbmNlLiBXZSBjYW4gcmVtb3ZlIHRoaXMgaGFjayBvbmNlIHNwaWRlciBzdXBwb3J0cyBtdWx0aXBsZSB0eXBlZmluZHMuCgkgICogd2l0aCBhbGwgdGhpcywgbXAzIHR5cGVmaW5kaW5nIGlzIHNlbWktcmV3cml0dGVuCgkgICogaWQzIHR5cGVmaW5kaW5nIGluIGZsYWMvdm9yYmlzIGlzIHJlbW92ZWQsIGl0J3Mgbm8gbG9uZ2VyIG5lZWRlZAoJICAqIGZpeGVkIHNwaWRlciBhbmQgZ3N0LXR5cGVmaW5kIHRvIHVzZSB0aGlzLCB0b28uCgkgICogT3RoZXIgZ2VuZXJhbCBjbGVhbnVwcwoKMjAwMy0wOS0zMCAxMjo1NjoyNyArMDAwMCAgQW5keSBXaW5nbyA8d2luZ29AcG9ib3guY29tPgoKCSogZXh0L2phY2svZ3N0amFjay5jOgoJKiBleHQvamFjay9nc3RqYWNrLmg6CgkqIGV4dC9qYWNrL2dzdGphY2tiaW4uYzoKCSAgY29uZm9ybSB0byB0aGUgYnVmZmVyLWZyYW1lcyBwcm9wcyBlbnRyeSAtLSBtdWNoIG5pY2VyIG5vdy4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgY29uZm9ybSB0byB0aGUgYnVmZmVyLWZyYW1lcyBwcm9wcyBlbnRyeSAtLSBtdWNoIG5pY2VyIG5vdy4uLgoKMjAwMy0wOC0xMCAwMDowMTo1OCArMDAwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBleHQvamFjay9NYWtlZmlsZS5hbToKCSAgUmVtb3ZlIHJlZHVuZGFudCBwbHVnaW5kaXIgZGVmaW5pdGlvbgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUmVtb3ZlIHJlZHVuZGFudCBwbHVnaW5kaXIgZGVmaW5pdGlvbgoKMjAwMy0wNy0xOSAyMzoyNToyNSArMDAwMCAgTGVpZiBKb2huc29uIDxsZWlmQGFtYmllbnQuMnkubmV0PgoKCSogZXh0L2phY2svZ3N0amFjay5jOgoJKiBleHQvamFjay9nc3RqYWNrLmg6CgkgICsgY2hhbmdlcyBmb3IgbmV3IGZsb2F0IGNhcHMgd2l0aG91dCBzbG9wZS9pbnRlcmNlcHQgKyBzb21lIGNhdGVnb3J5IGNoYW5nZXMgZm9yIHBsdWdpbnMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICsgY2hhbmdlcyBmb3IgbmV3IGZsb2F0IGNhcHMgd2l0aG91dCBzbG9wZS9pbnRlcmNlcHQKCSAgKyBzb21lIGNhdGVnb3J5IGNoYW5nZXMgZm9yIHBsdWdpbnMKCjIwMDMtMDctMDYgMjA6NDk6NTIgKzAwMDAgIFJvbmFsZCBTLiBCdWx0amUgPHJidWx0amVAcm9uYWxkLmJpdGZyZWFrLm5ldD4KCgkqIGV4dC9qYWNrL2dzdGphY2suYzoKCSAgTmV3IG1pbWV0eXBlcyBnb25lIGludG8gZWZmZWN0IHRvZGF5IC0gdGhpcyBjb21taXQgY2hhbmdlcyBhbGwgb2xkIG1pbWV0eXBlcyBvdmVyIHRvIHRoZSBuZXcgbWltZXR5cGVzIHNwZWMgYXMgZGVzY3JpLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBOZXcgbWltZXR5cGVzIGdvbmUgaW50byBlZmZlY3QgdG9kYXkgLSB0aGlzIGNvbW1pdCBjaGFuZ2VzIGFsbCBvbGQgbWltZXR5cGVzIG92ZXIgdG8gdGhlIG5ldyBtaW1ldHlwZXMgc3BlYyBhcyBkZXNjcmliZWQgaW4gdGhlIHByZXZpb3VzIGNvbW1pdCdzIGRvY3VtZW50LiBOb3RlOiBzb21lIHBsdWdpbnMgd2lsbCBicmVhaywgc29tZSBwaXBlbGluZXMgd2lsbCBicmVhaywgZXhwZWN0IEhFQUQgdG8gYmUgYnJva2VuIG9yIGF0IGxlYXN0IG5vdCAxMDAlIHdvcmtpbmcgZm9yIGEgZmV3IGRheXMsIGJ1dCBkb24ndCBmb3JnZXQgdG8gcmVwb3J0IGJ1Z3MKCjIwMDMtMDctMDEgMDI6Mjc6MDYgKzAwMDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZXh0L2phY2svZ3N0amFjay5jOgoJICBmaXggdHlwZSBwdW5uaW5nCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBmaXggdHlwZSBwdW5uaW5nCgoyMDAzLTA2LTI5IDE5OjQ2OjEzICswMDAwICBCZW5qYW1pbiBPdHRlIDxvdHRlQGdub21lLm9yZz4KCgkqIGV4dC9qYWNrL2dzdGphY2suYzoKCSogZXh0L2phY2svZ3N0amFja2Jpbi5jOgoJICBjb21wYXRpYmlsaXR5IGZpeCBmb3IgbmV3IEdTVF9ERUJVRyBzdHVmZi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGNvbXBhdGliaWxpdHkgZml4IGZvciBuZXcgR1NUX0RFQlVHIHN0dWZmLgoJICBJbmNsdWRlcyBmaXhlcyBmb3IgbWlzc2luZyBpbmNsdWRlcyBmb3IgY29uZmlnLmggYW5kIHVuaXN0ZC5oCgkgIEkgb25seSBlbnN1cmVkIGZvciBwbHVnaW5zIEkgY2FuIGJ1aWxkIHRoYXQgdGhleSB3b3JrLCBzbyBpZiBzb21lIG9mIHRoZW0gYXJlIHN0aWxsIGJyb2tlbiwgeW91IGdvdHRhIGZpeCB0aGVtIHlvdXJzZWx2ZXMgdW5mb3J0dW5hdGVseS4KCjIwMDMtMDYtMTMgMjE6MjE6MTcgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJKiBleHQvamFjay9nc3RqYWNrLmM6CgkgIFJlbW92ZWQgdWdseSBjYXBzIGZpeGVkIGZsYWcgaGFjaywgd2lsbCBiZSBkb25lIGF1dG9tYXRpY2FsbHkgaW4gY29yZSBzb29uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBSZW1vdmVkIHVnbHkgY2FwcyBmaXhlZCBmbGFnIGhhY2ssIHdpbGwgYmUgZG9uZSBhdXRvbWF0aWNhbGx5IGluCgkgIGNvcmUgc29vbgoKMjAwMy0wMy0wNCAxNTozNDoyMCArMDAwMCAgQW5keSBXaW5nbyA8d2luZ29AcG9ib3guY29tPgoKCSogZXh0L2phY2svZ3N0amFjay5jOgoJKiBleHQvamFjay9nc3RqYWNrLmg6CgkqIGV4dC9qYWNrL2dzdGphY2tiaW4uYzoKCSAgdXBkYXRlIGZvciB0aGUgbGF0ZXN0IGphY2sgY3ZzIGFuZCBub24tY290aHJlYWRlZCBnc3Qgc2NoZWR1bGVyCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICB1cGRhdGUgZm9yIHRoZSBsYXRlc3QgamFjayBjdnMgYW5kIG5vbi1jb3RocmVhZGVkIGdzdCBzY2hlZHVsZXIKCjIwMDMtMDItMDUgMjA6Mzg6NDEgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSogZXh0L2phY2svZ3N0amFjay5jOgoJICBDaGFuZ2VkIGNhcHMtPmZpeGVkIHRvIHVzZSBGTEFHX1NFVAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgQ2hhbmdlZCBjYXBzLT5maXhlZCB0byB1c2UgRkxBR19TRVQKCjIwMDMtMDEtMTAgMTM6Mzg6MzIgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogZXh0L2phY2svZ3N0amFjay5jOgoJICBQYWRDb25uZWN0IC0+IFBhZExpbmsKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhZENvbm5lY3QgLT4gUGFkTGluawoKMjAwMy0wMS0xMCAxMDoyMjoyNSArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBleHQvamFjay9nc3RqYWNrLmM6CgkgIGFub3RoZXIgYmF0Y2ggb2YgY29ubmVjdC0+bGluayBmaXhlcyBwbGVhc2UgbGV0IG1lIGtub3cgYWJvdXQgaXNzdWVzIGFuZCBwbGVhc2UgcmVmcmFpbiBvZiBtYWtpbmcgdGhlbSB5b3Vyc2VsZiwgc28gdC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgYW5vdGhlciBiYXRjaCBvZiBjb25uZWN0LT5saW5rIGZpeGVzCgkgIHBsZWFzZSBsZXQgbWUga25vdyBhYm91dCBpc3N1ZXMKCSAgYW5kIHBsZWFzZSByZWZyYWluIG9mIG1ha2luZyB0aGVtIHlvdXJzZWxmLCBzbyB0aGF0IEkgZG9uJ3Qgc3BlbmQgZG91YmxlCgkgIHRoZSB0aW1lIHJlc29sdmluZyBjb25mbGljdHMKCjIwMDItMTItMDggMTQ6NTA6MTAgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogZXh0L2phY2svTWFrZWZpbGUuYW06CgkgIHBhcmFsbGVsIGluc3RhbGwgZml4ZXMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHBhcmFsbGVsIGluc3RhbGwgZml4ZXMKCjIwMDItMDktMjkgMTg6MTI6MTggKzAwMDAgIEFuZHkgV2luZ28gPHdpbmdvQHBvYm94LmNvbT4KCgkqIGV4dC9qYWNrL2dzdGphY2suYzoKCSogZXh0L2phY2svZ3N0amFja2Jpbi5jOgoJICBsaWNlbnNlcyBhZ2FpbgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgbGljZW5zZXMgYWdhaW4KCjIwMDItMDktMTggMTk6MDI6NTIgKzAwMDAgIENocmlzdGlhbiBTY2hhbGxlciA8dXJhZXVzQGdub21lLm9yZz4KCgkqIGV4dC9qYWNrL2dzdGphY2suYzoKCSAgcGx1Z2lucyBwYXJ0IG9mIGxpY2Vuc2UgZmllbGQgcGF0Y2gKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHBsdWdpbnMgcGFydCBvZiBsaWNlbnNlIGZpZWxkIHBhdGNoCgoyMDAyLTA5LTEwIDA5OjMxOjQwICswMDAwICBSb25hbGQgUy4gQnVsdGplIDxyYnVsdGplQHJvbmFsZC5iaXRmcmVhay5uZXQ+CgoJKiBleHQvamFjay9nc3RqYWNrLmM6CgkgIFRoaXMgdXBkYXRlcyBhbGwgcGx1Z2lucyB0byB0aGUgbmV3IEFQSSBmb3IgZ3N0X3BhZF90cnlfc2V0X2NhcHMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFRoaXMgdXBkYXRlcyBhbGwgcGx1Z2lucyB0byB0aGUgbmV3IEFQSSBmb3IgZ3N0X3BhZF90cnlfc2V0X2NhcHMKCjIwMDItMDktMDkgMjM6Mjc6MzggKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogZXh0L2phY2svZ3N0amFjay5jOgoJICByZW1vdmluZyB3YXJuaW5ncyBhcyBhcHByb3ZlZCBieSB3aW0KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHJlbW92aW5nIHdhcm5pbmdzIGFzIGFwcHJvdmVkIGJ5IHdpbQoKMjAwMi0wOC0yMyAwNDowNDoxMSArMDAwMCAgQW5keSBXaW5nbyA8d2luZ29AcG9ib3guY29tPgoKCSogZXh0L2phY2svZ3N0amFjay5jOgoJKiBleHQvamFjay9nc3RqYWNrYmluLmM6CgkgIGZpeCBqYWNrIGlucHV0IHBvcnQgY29ubmVjdGlvbgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgZml4IGphY2sgaW5wdXQgcG9ydCBjb25uZWN0aW9uCgoyMDAyLTA3LTA5IDE3OjM5OjE3ICswMDAwICBBbmR5IFdpbmdvIDx3aW5nb0Bwb2JveC5jb20+CgoJKiBleHQvamFjay9nc3RqYWNrLmM6CgkgIGNvbXBpbGUgZml4ZW4sIGFuZCBwcmVwYXJlIHRvIG1vdmUgTUFJTlRBSU5FUl9NT0RFIHRvIGFzLXZlcnNpb24ubTQKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGNvbXBpbGUgZml4ZW4sIGFuZCBwcmVwYXJlIHRvIG1vdmUgTUFJTlRBSU5FUl9NT0RFIHRvIGFzLXZlcnNpb24ubTQKCjIwMDItMDctMDIgMjM6MzU6MDcgKzAwMDAgIEFuZHkgV2luZ28gPHdpbmdvQHBvYm94LmNvbT4KCgkqIGV4dC9qYWNrL2dzdGphY2suYzoKCSogZXh0L2phY2svZ3N0amFja2Jpbi5jOgoJICBtYWtlIGphY2sgd29yayBpbiBhbGwgaXRzIGZ1bGwgZHVwbGV4IGdsb3J5CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBtYWtlIGphY2sgd29yayBpbiBhbGwgaXRzIGZ1bGwgZHVwbGV4IGdsb3J5CgoyMDAyLTA2LTEyIDAzOjMyOjAyICswMDAwICBBbmR5IFdpbmdvIDx3aW5nb0Bwb2JveC5jb20+CgoJKiBleHQvamFjay9nc3RqYWNrLmM6CgkqIGV4dC9qYWNrL2dzdGphY2tiaW4uYzoKCSAgd29ya2luZyBqYWNrIGVsZW1lbnRzIChmaXhlZCBhIHByb2JsZW0gaW4gdXBzdHJlYW0gamFjaykgcmFuZG9tIG90aGVyIGZpeGVuLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHdvcmtpbmcgamFjayBlbGVtZW50cyAoZml4ZWQgYSBwcm9ibGVtIGluIHVwc3RyZWFtIGphY2spCgkgICogcmFuZG9tIG90aGVyIGZpeGVuLi4uCgoyMDAyLTA1LTE1IDE5OjA4OjQ5ICswMDAwICBTdGV2ZSBCYWtlciA8c3RldmVAc3RldmViYWtlci5vcmc+CgoJKiBleHQvamFjay9nc3RqYWNrLmM6CgkgIHVzZSBuZXcgYnl0ZXN0cmVhbSBhcGkKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHVzZSBuZXcgYnl0ZXN0cmVhbSBhcGkKCjIwMDItMDUtMTMgMTg6MDg6MzMgKzAwMDAgIEFuZHkgV2luZ28gPHdpbmdvQHBvYm94LmNvbT4KCgkqIGV4dC9qYWNrL2dzdGphY2suYzoKCSogZXh0L2phY2svZ3N0amFjay5oOgoJKiBleHQvamFjay9nc3RqYWNrYmluLmM6CgkgIHVwZGF0ZSB0byBuZXcgamFjayBhcGkKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHVwZGF0ZSB0byBuZXcgamFjayBhcGkKCjIwMDItMDUtMDUgMTk6Mzk6MTcgKzAwMDAgIEFuZHkgV2luZ28gPHdpbmdvQHBvYm94LmNvbT4KCgkqIGV4dC9qYWNrL2dzdGphY2suYzoKCSAgYWRkIHNvbWUgaW5jbHVkZXMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGFkZCBzb21lIGluY2x1ZGVzCgoyMDAyLTA1LTA1IDAxOjA4OjA1ICswMDAwICBBbmR5IFdpbmdvIDx3aW5nb0Bwb2JveC5jb20+CgoJKiBleHQvamFjay9nc3RqYWNrLmM6CgkqIGV4dC9qYWNrL2dzdGphY2suaDoKCSogZXh0L2phY2svZ3N0amFja2Jpbi5jOgoJICBiZXR0ZXIgaW5pdGlhbGl6YXRpb24uIGl0IGRvZXNuJ3Qgd29yayBvdmVyIGhlcmUsIHRob3VnaC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGJldHRlciBpbml0aWFsaXphdGlvbi4gaXQgZG9lc24ndCB3b3JrIG92ZXIgaGVyZSwgdGhvdWdoLgoKMjAwMi0wNS0wNCAyMTozODo1NiArMDAwMCAgQW5keSBXaW5nbyA8d2luZ29AcG9ib3guY29tPgoKCSogZXh0L2phY2svZ3N0amFja2Jpbi5jOgoJICBhIGNvbW1pdCBzbyB0aGF0IGphY2sgd2lsbCBidWlsZCB3aXRob3V0IGVycm9ycyBvbiBVcmFldXMncyBzeXN0ZW0gOykKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGEgY29tbWl0IHNvIHRoYXQgamFjayB3aWxsIGJ1aWxkIHdpdGhvdXQgZXJyb3JzIG9uIFVyYWV1cydzIHN5c3RlbSA7KQoKMjAwMi0wNS0wNCAyMDo1MzozNSArMDAwMCAgQW5keSBXaW5nbyA8d2luZ29AcG9ib3guY29tPgoKCSogZXh0L2phY2svZ3N0amFjay5jOgoJICBzZXQgY2FwcyBvbmNlIHdlIGtub3cgdGhlIHNhbXBsZSByYXRlIG9mIHRoZSBzeXN0ZW0KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHNldCBjYXBzIG9uY2Ugd2Uga25vdyB0aGUgc2FtcGxlIHJhdGUgb2YgdGhlIHN5c3RlbQoKMjAwMi0wNS0wNCAxODo1Nzo0NCArMDAwMCAgQW5keSBXaW5nbyA8d2luZ29AcG9ib3guY29tPgoKCSogZXh0L2phY2svZ3N0amFjay5jOgoJKiBleHQvamFjay9nc3RqYWNrLmg6CgkqIGV4dC9qYWNrL2dzdGphY2tiaW4uYzoKCSAgc29tZSBqYWNrIGZpeGVzLCBhbHNhIHRvdWNodXBzLCBhbmQgYWRkIHJ0cCBieSBkZWZhdWx0IHRvIHRoZSBidWlsZCBpZiB0aGVyZSBhcmUgYW55IHByb2JsZW1zIGJ1aWxkaW5nIHJ0cCwgd2UncmUgbW92Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBzb21lIGphY2sgZml4ZXMsIGFsc2EgdG91Y2h1cHMsIGFuZCBhZGQgcnRwIGJ5IGRlZmF1bHQgdG8gdGhlIGJ1aWxkCgkgIGlmIHRoZXJlIGFyZSBhbnkgcHJvYmxlbXMgYnVpbGRpbmcgcnRwLCB3ZSdyZSBtb3ZpbmcgaXQgYmFjayB0byBleHBlcmltZW50YWwgOykKCjIwMDItMDQtMjAgMjE6NDI6NTEgKzAwMDAgIEFuZHkgV2luZ28gPHdpbmdvQHBvYm94LmNvbT4KCgkqIGV4dC9qYWNrL2dzdGphY2suYzoKCSAgYSBoYWNrIHRvIHdvcmsgYXJvdW5kIGludGx0b29sJ3MgYnJva2VubmVzcyBhIGN1cnJlbnQgY2hlY2sgZm9yIG1wZWcyZGVjIGRldGFpbHMtPmtsYXNzIHJlb3JnYW5pemF0aW9ucyBhbiBlbGVtZW50IGJyLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGEgaGFjayB0byB3b3JrIGFyb3VuZCBpbnRsdG9vbCdzIGJyb2tlbm5lc3MKCSAgKiBhIGN1cnJlbnQgY2hlY2sgZm9yIG1wZWcyZGVjCgkgICogZGV0YWlscy0+a2xhc3MgcmVvcmdhbml6YXRpb25zCgkgICogYW4gZWxlbWVudCBicm93c2VyIHRoYXQgdXNlcyBkZXRhaWxzLT5rbGFzcwoJICAqIHNlcGFyYXRlZCBjZHhhIHBhcnNlIG91dCBmcm9tIHRoZSBhdmkgZGlyZWN0b3J5CgoyMDAyLTA0LTE2IDE3OjE0OjA1ICswMDAwICBBbmR5IFdpbmdvIDx3aW5nb0Bwb2JveC5jb20+CgoJKiBleHQvamFjay9NYWtlZmlsZS5hbToKCSogZXh0L2phY2svZ3N0amFjay5jOgoJKiBleHQvamFjay9nc3RqYWNrLmg6CgkqIGV4dC9qYWNrL2dzdGphY2tiaW4uYzoKCSAgRmluYWxseSB3ZSdyZSBvbiB0byBhIHByb3BlciBqYWNrIHNldHVwLCB3aXRoIGEgc3BlY2lhbGl6ZWQgYmluIGFuZCBlbGVtZW50cyB0aGF0IGNhbiBvbmx5IGdvIGluIGEgamFjayBiaW4uIEkgaGFkIHRvLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBGaW5hbGx5IHdlJ3JlIG9uIHRvIGEgcHJvcGVyIGphY2sgc2V0dXAsIHdpdGggYSBzcGVjaWFsaXplZCBiaW4gYW5kIGVsZW1lbnRzCgkgIHRoYXQgY2FuIG9ubHkgZ28gaW4gYSBqYWNrIGJpbi4gSSBoYWQgdG8gZml4IHRoZSBwYXJzZXIgZmlyc3QgdG8gZG8gdGhpcywgYnV0CgkgIHRvIHJ1biBpdCwgdGhlIHN5bnRheCBpcyBsaWtlIHNvOgoJICBnc3QtbGF1bmNoIGphY2tiaW4uKCBmaWxlc3JjICEgbWFkICEgamFja3NpbmsgKQoJICBCdXQgb2YgY291cnNlIGl0J3Mgbm90IGZ1bGx5IGZ1bmN0aW9uYWwgeWV0LiBTaWdoLgoKMjAwMi0wNC0xMSAyMDo0MjoyNiArMDAwMCAgQW5keSBXaW5nbyA8d2luZ29AcG9ib3guY29tPgoKCSogZXh0L2phY2svZ3N0amFjay5jOgoJICBHc3RQYWRUZW1wbGF0ZSA8LT4gZ3N0X3BhZF90ZW1wbGF0ZSA8LT4gR1NUX1BBRF9URU1QTEFURSBzYW1lIHdpdGggKmZhY3RvcnkgYW5kIHR5cGVmaW5kLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgR3N0UGFkVGVtcGxhdGUgPC0+IGdzdF9wYWRfdGVtcGxhdGUgPC0+IEdTVF9QQURfVEVNUExBVEUKCSAgc2FtZSB3aXRoICpmYWN0b3J5IGFuZCB0eXBlZmluZC4KCSAgYWxzbywgc29tZSAtV2Vycm9yIGZpeGVzLgoKMjAwMi0wMy0zMCAyMTowNzo1MSArMDAwMCAgQW5keSBXaW5nbyA8d2luZ29AcG9ib3guY29tPgoKCSogZXh0L2phY2svZ3N0amFjay5jOgoJICBhbHBoYWJldGl6YXRpb24gZml4ZW4gYSBqYWNrIGNhcHMgZml4CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGFscGhhYmV0aXphdGlvbiBmaXhlbgoJICAqIGEgamFjayBjYXBzIGZpeAoKMjAwMi0wMy0zMCAxOTozMToxMyArMDAwMCAgQW5keSBXaW5nbyA8d2luZ29AcG9ib3guY29tPgoKCSogZXh0L2phY2svZ3N0amFjay5jOgoJICBhZGQgbm90aWZ5IGJhY2sgdG8gZmlsZXNyYywgaXQncyBuZWVkZWQgZm9yIE1WQyBhcHBsaWNhdGlvbnMgcmVtb3ZlIG5vdGlmeSBwcmludG91dHMgZnJvbSBnc3QtbGF1bmNoIGNsZWFudXAgaW4gZ3N0LXAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogYWRkIG5vdGlmeSBiYWNrIHRvIGZpbGVzcmMsIGl0J3MgbmVlZGVkIGZvciBNVkMgYXBwbGljYXRpb25zCgkgICogcmVtb3ZlIG5vdGlmeSBwcmludG91dHMgZnJvbSBnc3QtbGF1bmNoCgkgICogY2xlYW51cCBpbiBnc3QtcGx1Z2lucyBjb25maWd1cmUuYWMKCSAgKiBzb21lIGphY2sgdXBkYXRlcwoJICAqIHJlbW92ZSBTRUxGX0lURVJBVElORyBmbGFnIGluIGZhdm9yIG9mIFNFRl9TQ0hFRFVMQUJMRSAobm90IGEgY2xlYXIgbmFtZSwKCSAgYnV0IGl0J3Mgd2hhdCB3ZSBoYXZlIGZvciB0aGUgbW9tZW50KQoJICAqIGltcHJvdmUgcGFyc2luZyBvZiByZXF1ZXN0IHBhZCBuYW1lcywgbm8gbW9yZSBzc2NhbmYKCSAgKiBmaXhlcyB0byB0aGUgZmFzdHNjaGVkdWxlciBNYWtlZmlsZS5hbQoKMjAwMi0wMy0yMCAyMTo0NTowNCArMDAwMCAgQW5keSBXaW5nbyA8d2luZ29AcG9ib3guY29tPgoKCSogZXh0L2phY2svZ3N0amFjay5jOgoJICBzL0dub21lLVN0cmVhbWVyL0dTdHJlYW1lci8KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHMvR25vbWUtU3RyZWFtZXIvR1N0cmVhbWVyLwoKMjAwMi0wMy0xOSAwNDoxMDowNiArMDAwMCAgQW5keSBXaW5nbyA8d2luZ29AcG9ib3guY29tPgoKCSogZXh0L2phY2svTWFrZWZpbGUuYW06CgkqIGV4dC9qYWNrL2dzdGphY2suYzoKCSAgcmVtb3ZhbCBvZiAvLy1zdHlsZSBjb21tZW50cyBkb24ndCBsaW5rIHBsdWdpbnMgdG8gY29yZSBsaWJzIC0tIHRoZSB2ZXJzaW9uaW5nIGlzIGRvbmUgaW50ZXJuYWxseSB0byB0aGUgcGx1Z2lucyB3aXRoLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHJlbW92YWwgb2YgLy8tc3R5bGUgY29tbWVudHMKCSAgKiBkb24ndCBsaW5rIHBsdWdpbnMgdG8gY29yZSBsaWJzIC0tIHRoZSB2ZXJzaW9uaW5nIGlzIGRvbmUgaW50ZXJuYWxseSB0byB0aGUgcGx1Z2lucyB3aXRoIHRoZSBwbHVnaW5faW5mbyBzdHJ1Y3QsCgkgIGFuZCBzeW1ib2wgcmVzb2x1dGlvbiBpcyBsYXp5LCBzbyB3ZSBjYW4gYWx3YXlzIGtub3cgaWYgYSBwbHVnaW4gY2FuIGJlIGxvYWRlZCBieSB0aGUgcGx1Z2luX2luZm8gZGF0YS4gaW4gdGhlb3J5LgoKMjAwMi0wMy0xOSAwMTozOTo0MyArMDAwMCAgQW5keSBXaW5nbyA8d2luZ29AcG9ib3guY29tPgoKCSogZXh0L2phY2svTWFrZWZpbGUuYW06CgkgIHMvQEdTVF9QTFVHSU5fTERGTEFHU0AvJChHU1RfUExVR0lOX0xERkxBR1MpLyBALXN1YnN0aXR1ZWQgdmFyaWFibGVzIHZhcmlhYmxlcyBhcmUgZGVmaW5lZCBhcyBtYWtlIHZhcmlhYmxlcyBhdXRvbWFnaS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgcy9AR1NUX1BMVUdJTl9MREZMQUdTQC8kKEdTVF9QTFVHSU5fTERGTEFHUykvCgkgIEAtc3Vic3RpdHVlZCB2YXJpYWJsZXMgdmFyaWFibGVzIGFyZSBkZWZpbmVkIGFzIG1ha2UgdmFyaWFibGVzIGF1dG9tYWdpY2FsbHksCgkgIGFuZCB0aGlzIGdpdmVzIHRoZSB1c2VyIHRoZSBmcmVlZG9tIHRvIHNheSBtYWtlIEdTVF9QTFVHSU5fTERGTEFHUz0tbXlmbGFnCgoyMDAyLTAzLTE4IDA0OjQxOjM1ICswMDAwICBBbmR5IFdpbmdvIDx3aW5nb0Bwb2JveC5jb20+CgoJKiBleHQvamFjay9NYWtlZmlsZS5hbToKCSogZXh0L2phY2svUkVBRE1FOgoJKiBleHQvamFjay9nc3RqYWNrLmM6CgkqIGV4dC9qYWNrL2dzdGphY2suaDoKCSAgcy9nc3RfZWxlbWVudF9pbnN0YWxsX3N0ZF9wcm9wcy9nc3RfZWxlbWVudF9jbGFzc19pbnN0YWxsX3N0ZF9wcm9wcy8gLS0gaXQganVzdCBtYWtlcyBtb3JlIHNlbnNlIHRoYXQgd2F5IGFkZGVkIGphY2sgLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHMvZ3N0X2VsZW1lbnRfaW5zdGFsbF9zdGRfcHJvcHMvZ3N0X2VsZW1lbnRfY2xhc3NfaW5zdGFsbF9zdGRfcHJvcHMvIC0tIGl0IGp1c3QgbWFrZXMgbW9yZSBzZW5zZSB0aGF0IHdheQoJICAqIGFkZGVkIGphY2sgZWxlbWVudCwgZG9lc24ndCBxdWl0ZSB3b3JrIHJpZ2h0IHlldCBidXQgaSBkaWRuJ3Qgd2FudCB0byBsb3NlIHRoZSB3b3JrIC0tIGl0IGRvZXMgYnVpbGQsIHJlZ2lzdGVyLAoJICBhbmQgYXR0ZW1wdCB0byBydW4gdGhvdWdoCgkgICogaW1wb3NlZCBzb21lIHJlc3RyaWN0aW9ucyBvbiB0aGUgbmFtaW5nIG9mIHJlcXVlc3QgcGFkcyB0byBiZXR0ZXIgYWxsb3cgZm9yIHJldmVyc2UgcGFyc2luZwoJICAqIGFkZGVkICclcycgdG8gcmV2ZXJzZSBwYXJzaW5nCgkgICogYWRkZWQgbmV3IGJpbiBmbGFnIHRvIGluZGljYXRlIHRoYXQgaXQgaXMgc2VsZi1pdGVyYXRpbmcsIGFuZCBzb21lIGxhbWUgY29kZSBpbiBnc3QtbGF1bmNoIHRvIHRlc3QgaXQgb3V0CgkgICogZml4ZW4gb24gbGF1bmNoLWd1aQoJICAqIGFkZGVkIHBrZy1jb25maWcgc3R1ZmYgZm9yIHRoZSBlZGl0b3IncyBsaWJzCgoyMDExLTAxLTAyIDExOjM3OjE0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL01ha2VmaWxlLmFtOgoJKiBzeXMvdjRsMi9nc3R2NGwyLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkqIHN5cy92NGwyL3Y0bDJfY2FsbHMuYzoKCSAgdjRsMjogbWFyayB2NGwyc2luayBhcyBleHBlcmltZW50YWwgYW5kIGJ1aWxkIG9ubHkgaWYgLS1lbmFibGUtZXhwZXJpbWVudGFsIGlzIHBhc3NlZAoJICBJdCdzIG5vdCByZWFsbHkgb2YgJ2dvb2QnIHF1YWxpdHkgeWV0LCBidXQgdGhlcmUncyBhIGxvdCBvZgoJICBjb2RlIHNoYXJlZCB3aXRoIHY0bDJzcmMsIHNvIG5vdCBzbyBlYXN5IHRvIG1vdmUgaXQgZWxzd2hlcmUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MTIyNDQKCjIwMTEtMDEtMDIgMDE6MjQ6MjEgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0Lmg6CgkqIHN5cy92NGwyL2dzdHY0bDJzaW5rLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJ0dW5lci5jOgoJKiBzeXMvdjRsMi9nc3R2NGwydHVuZXIuaDoKCSogc3lzL3Y0bDIvdjRsMl9jYWxscy5jOgoJICBSZXZlcnQgInY0bDI6IGFkZCBub3JtIHByb3BlcnR5IgoJICBUaGlzIHJldmVydHMgY29tbWl0IDllMWQ0MTlkMDczMzdlNmRiMmNjMzkzNjQ3MmJlMjA1Y2U5MjdlNTQuCgkgIFJldmVydGluZyB0aGlzIHNpbmNlIGl0IGFkZHMgdW5yZXZpZXdlZCBhbmQgYmFkIEFQSSB0byB2NGwyc3JjCgkgIChwcm9wZXJ0eSBvZiB0eXBlIGVudW0sIHdpdGggc2VlbWluZ2x5IHJhbmRvbSBhbmQgdW5zb3J0ZWQgdmFsdWVzKS4KCjIwMTEtMDEtMDEgMjM6MjY6MzMgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogdG9vbHMvLmdpdGlnbm9yZToKCSogdG9vbHMvTWFrZWZpbGUuYW06CgkqIHRvb2xzL1JFQURNRS5maWx0ZXJzdGFtcDoKCSogdG9vbHMvZmlsdGVyc3RhbXAuc2g6CgkqIHRvb2xzL2dzdC1sYXVuY2gtZXh0LW0ubToKCSogdG9vbHMvZ3N0LWxhdW5jaC1leHQuMS5pbjoKCSogdG9vbHMvZ3N0LXZpc3VhbGlzZS1tLm06CgkqIHRvb2xzL2dzdC12aXN1YWxpc2UuMS5pbjoKCSAgdG9vbHM6IHJlbW92ZSB1bnVzZWQgbGVmdC1vdmVyIGRpcmVjdG9yeQoJICBUaGVzZSBhcmUgYWxsIGluIC1iYXNlL3Rvb2xzLgoKMjAxMC0xMi0zMSAxMzo1NzowNSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwbXA0YWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXA0YWRlcGF5Lmg6CgkgIG1wNGFkZXBheTogaW1wcm92ZSB0aW1lc3RhbXBzIG9uIG91dGdvaW5nIHBhY2tldHMKCSAgSW1wcm92ZSBwYXJzaW5nIG9mIHRoZSBzYW1wbGVyYXRlLgoJICBQYXJzZSB0aGUgZnJhbWVsZW4gc28gdGhhdCB3ZSBjYW4gY2FsY3VsYXRlIHRpbWVzdGFtcHMuCgkgIFdoZW4gaW50ZXJwb2xsYXRlIHRoZSBpbmNvbW1pbmcgdGltZXN0YW1wIG9uIG91dGdvaW5nIGJ1ZmZlcnMgd2hlbiB0aGVyZSBhcmUKCSAgbXVsdGlwbGUgc3ViZnJhbWVzLgoJICBmaXhlcyAjNjI1ODI1CgoyMDEwLTEyLTMxIDAwOjEyOjUzIC0wODAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9kdG1mL3RvbmVfZGV0ZWN0LmM6CgkgIGR0bWY6IEZpeCBidWlsZCBmYWlsdXJlIGNhdXNlZCBieSBwcmV2aW91cyBjb21taXQKCjIwMTAtMTItMzAgMTg6MjA6NDcgLTA4MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L2R0bWYvZ3N0ZHRtZmRldGVjdC5jOgoJKiBnc3QvZHRtZi90b25lX2RldGVjdC5jOgoJKiBnc3QvZHRtZi90b25lX2RldGVjdC5oOgoJICBkdG1mOiBidWlsZCBmaXhlcyBmb3IgTVNWQwoJICBVc2UgZ2ludDE2IGFuZCBHX1BJLgoKMjAxMC0xMi0zMCAxODoxOTo0NyAtMDgwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvZHRtZi90b25lX2RldGVjdC5jOgoJICBkdG1mOiByZWluZGVudAoKMjAxMC0xMi0zMSAwMjoxNjo1NCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvY2Fpcm8vZ3N0dGltZW92ZXJsYXkuYzoKCSogZ3N0L3ZpZGVvZmlsdGVyL2dzdHZpZGVvYmFsYW5jZS5jOgoJICBjYWlybywgdmlkZW9maWx0ZXI6IHVzZSBnc3QvbWF0aC1jb21wYXQuaCBoZWFkZXIgZm9yIHJpbnQKCjIwMTAtMTItMzAgMTQ6MzA6MjcgLTA4MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L3ZpZGVvZmlsdGVyL2dzdHZpZGVvYmFsYW5jZS5jOgoJICB2aWRlb2JhbGFuY2U6IENoZWNrIGZvciBIQVZFX1JJTlQgaW5zdGVhZAoJICBBbHNvIGNoYW5nZSBNX1BJIHRvIEdfUEkgZm9yIGdpZ2dsZXMuCgoyMDEwLTEyLTMwIDE0OjIxOjM3IC0wODAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGV4dC9jYWlyby9nc3RjYWlyb3JlbmRlci5jOgoJICBjYWlybzogRG9uJ3QgdXNlICNpZmRlZnMgaW5zaWRlIG1hY3JvcwoKMjAxMC0xMi0zMCAxNDoyMDo1MiAtMDgwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvYXVkaW9meC9hdWRpb2NoZWJiYW5kLmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvY2hlYmxpbWl0LmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlva2FyYW9rZS5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb3dzaW5jYmFuZC5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb3dzaW5jbGltaXQuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0b3AuYzoKCSogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIuYzoKCSogZ3N0L2dvb20vY29udm9sdmVfZnguYzoKCSogZ3N0L2dvb20vaWZzLmM6CgkqIGdzdC9nb29tL2xpbmVzLmM6CgkqIGdzdC9nb29tL3RlbnRhY2xlM2QuYzoKCSogdGVzdHMvZXhhbXBsZXMvYXVkaW9meC9maXJmaWx0ZXItZXhhbXBsZS5jOgoJKiB0ZXN0cy9leGFtcGxlcy9hdWRpb2Z4L2lpcmZpbHRlci1leGFtcGxlLmM6CgkgIENoYW5nZSBNX1BJIHRvIEdfUEkKCjIwMTAtMTItMzAgMTI6MDc6NTIgLTA4MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L3ZpZGVvZmlsdGVyL2dzdHZpZGVvYmFsYW5jZS5jOgoJICB2aWRlb2JhbGFuY2U6IHVzZSBHX09TX1dJTjMyIGZvciB3aW5kb3dzIGNoZWNrCgoyMDEwLTEyLTMwIDE2OjI0OjE2ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBtcDRhZGVwYXkuYzoKCSAgbXA0YWRlcGF5OiBmaXggdGltZXN0YW1wcyBvbiBidWZmZXJzCgoyMDEwLTEyLTMwIDE2OjIyOjQ4ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBtcHZwYXkuYzoKCSAgbXB2cGF5OiBmaXggZmx1c2hpbmcgYW5kIGRpc2NvbnQKCSAgRml4IGZsdXNoaW5nIGFuZCBkaXNjb250cy4KCSAgQ2xlYW4gdXAgaW4gc3RhdGUgY2hhbmdlcy4KCjIwMTAtMTItMjkgMjM6Mzg6MTggKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thLWRlbXV4OiBpbmNyZWFzZSBhbGxvd2VkIG1heC4gYmxvY2sgc2l6ZSBmb3IgcHVzaCBtb2RlIGZyb20gMTBNIHRvIDE1TQoJICBJdCB3YXMgYW4gYXJiaXRyYXJ5IGxpbWl0IGZyb20gdGhlIHN0YXJ0LCBtZWFudCBhcyBhIGJhc2ljIHNhbml0eSBjaGVjaywKCSAgc28gbWF5IGp1c3QgYXMgd2VsbCBpbmNyZWFzZSBpdCBhIGxpdHRsZS4gV291bGQgYmUgZ29vZCB0byBwcm92aWRlCgkgIHByb2dyZXNzIHJlcG9ydGluZyB3aGlsZSBjb21wbGV0aW5nIHRoZSBibG9jayBpbiBhbnkgY2FzZS4uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MzcwNjAKCjIwMTAtMTItMjkgMjM6MDk6MDQgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thLWRlbXV4OiBhc3N1bWUgbWF0cm9za2EgaWYgbm8gZG9jdHlwZSBpcyBzcGVjaWZpZWQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYzODAxOQoKMjAxMC0xMi0wNCAxMzo0MzoxMSAtMDYwMCAgUm9iIENsYXJrIDxyb2JAdGkuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0Lmg6CgkqIHN5cy92NGwyL2dzdHY0bDJzaW5rLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzoKCSogc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5jOgoJKiBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmg6CgkgIHY0bDI6IGFkZCBpbnRlcmxhY2VkIHN1cHBvcnQKCjIwMTAtMTAtMDIgMTQ6NDU6MTQgLTA1MDAgIFJvYiBDbGFyayA8cm9iQHRpLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJzaW5rLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJzaW5rLmg6CgkqIHN5cy92NGwyL2dzdHY0bDJ4b3ZlcmxheS5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyeG92ZXJsYXkuaDoKCSAgdjRsMnNpbms6IGFkZCBuYXZpZ2F0aW9uIHN1cHBvcnQKCjIwMTAtMDQtMDQgMDY6NDM6NDEgLTA1MDAgIFJvYiBDbGFyayA8cm9iQHRpLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5oOgoJKiBzeXMvdjRsMi9nc3R2NGwyc2luay5jOgoJKiBzeXMvdjRsMi9nc3R2NGwydHVuZXIuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnR1bmVyLmg6CgkqIHN5cy92NGwyL3Y0bDJfY2FsbHMuYzoKCSAgdjRsMjogYWRkIG5vcm0gcHJvcGVydHkKCSAgQmFzZWQgb24gYSBwYXRjaCBieSBHdWVubmFkaSBMaWFraG92ZXRza2kuCgoyMDEwLTA3LTEzIDEwOjAzOjUxIC0wNTAwICBSb2IgQ2xhcmsgPHJvYkB0aS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyc2luay5jOgoJKiBzeXMvdjRsMi92NGwyX2NhbGxzLmM6CgkqIHN5cy92NGwyL3Y0bDJfY2FsbHMuaDoKCSAgdjRsMjogY2xlYW51cCBnZXQvc2V0IGlucHV0L291dHB1dAoJICBvdXRwdXQgZGV2aWNlcyBzaG91bGQgdXNlIGdldC9zZXQgb3V0cHV0LCBhbmQgaW4gZWl0aGVyIGNhc2Ugd2Ugc2hvdWxkCgkgIG5vdCBwcmludCBhIHdhcm5pbmcgbWVzc2FnZSBpZiB0aGUgaW9jdGwgZmFpbHMgYnV0IHRoZSBkZXZpY2UgZG9lcyBub3QKCSAgY2xhaW0gdG8gc3VwcG9ydCB0aGUgdHVuZXIgaW50ZXJmYWNlCgoyMDEwLTA2LTEwIDExOjE1OjQ2IC0wNTAwICBSb2IgQ2xhcmsgPHJvYkB0aS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyc2luay5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyeG92ZXJsYXkuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnhvdmVybGF5Lmg6CgkgIHY0bDJ4b3ZlcmxheTogYWRkIHN1cHBvcnQgdG8gY3JlYXRlIHdpbmRvdwoJICBJZiB4b3ZlcmxheSBpcyBhdmFpbGFibGUsIHY0bDJzaW5rIHNob3VsZCBjcmVhdGUgYSB3aW5kb3cgZm9yIHRoZSBvdmVybGF5IHRvCgkgIGRpc3BsYXkgaW4uCgkgIFRoZSB3aW5kb3cgYXV0b21hdGljYWxseSB0cmllcyB0byBtYWtlIGl0c2VsZiBhcyBsYXJnZSBhcyBwb3NzaWJsZS4KCSAgVGhpcyB3b3JrcyB3ZWxsIG9uIGEgc21hbGwgc2NyZWVuLCBidXQgcGVyaGFwcyBzaG91bGQgZmlyc3QgYXR0ZW1wdCB0byB1c2UKCSAgdGhlIHNpemUgb2YgdGhlIHZpZGVvIHRoYXQgaXMgcGxheWVkIChubyBzY2FsaW5nKS4KCjIwMTAtMDQtMDQgMDY6NDE6MjggLTA1MDAgIFJvYiBDbGFyayA8cm9iQHRpLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJzaW5rLmM6CgkgIHY0bDJzaW5rOiBzcGVjaWFsIGhhbmRsaW5nIGZvciBjYXNlcyBnc3RfYnVmZmVyX21ha2VfbWV0YWRhdGFfd3JpdGFibGUoKQoJICBTcGVjaWFsIGNhc2UgY2hlY2sgZm9yIHN1Yi1idWZmZXJzOiAgSW4gY2VydGFpbiBjYXNlcywgcGxhY2VzIGxpa2UKCSAgR3N0QmFzZVRyYW5zZm9ybSwgd2hpY2ggbWlnaHQgY2hlY2sgdGhhdCB0aGUgYnVmZmVyIGlzIHdyaXRhYmxlIGJlZm9yZSBjb3B5aW5nCgkgIG1ldGFkYXRhLCB0aW1lc3RhbXAsIGFuZCBzdWNoLCB3aWxsIGZpbmQgdGhhdCB0aGUgYnVmZmVyIGhhcyBtb3JlIHRoYW4gb25lCgkgIHJlZmVyZW5jZSB0byBpdC4gIEluIHRoZXNlIGNhc2VzLCB0aGV5IHdpbGwgY3JlYXRlIGEgc3ViLWJ1ZmZlciB3aXRoIGFuIG9mZnNldD0wCgkgIGFuZCBsZW5ndGggZXF1YWwgdG8gdGhlIG9yaWdpbmFsIGJ1ZmZlciBzaXplLgoJICBUaGlzIGNvdWxkIGhhcHBlbiBpbiB0d28gc2NlbmFyaW9zOiAoMSkgYSB0ZWUgaW4gdGhlIHBpcGVsaW5lLCBhbmQgKDIpIGJlY2F1c2UKCSAgdGhlIHJlZmNudCBpcyBpbmNyZW1lbnRlZCBpbiBnc3RfbWluaV9vYmplY3RfZnJlZSgpIGJlZm9yZSB0aGUgZmluYWxpemUgZnVuY3Rpb24KCSAgaXMgY2FsbGVkLCBhbmQgZGVjcmVtZW50ZWQgYWZ0ZXIgaXQgcmV0dXJucy4uICBidXQgcmV0dXJuaW5nIHRoaXMgYnVmZmVyIHRvIHRoZQoJICBidWZmZXIgcG9vbCBpbiB0aGUgZmluYWxpemUgZnVuY3Rpb24sIGNvdWxkIHdha2UgdXAgYSB0aHJlYWQgYmxvY2tlZCBpbgoJICBfYnVmZmVyX2FsbG9jKCkgd2hpY2ggY291bGQgcnVuIGFuZCBnZXQgYSBidWZmZXIgdy8gcmVmY250PT0yIGJlZm9yZSB0aGUgdGhyZWFkCgkgIG9yaWdpbmFsbHkgdW5yZWYnaW5nIHRoZSBidWZmZXIgcmV0dXJucyBmcm9tIGZpbmFsaXplIGZ1bmN0aW9uIGFuZCBkZWNyZW1lbnRzCgkgIHRoZSByZWZjbnQgYmFjayB0byAxIQoJICBUaGlzIGlzIHJlbGF0ZWQgdG8gaXNzdWUgIzU0NTUwMQoKMjAxMC0wNC0wNCAwNjozOTo1MiAtMDUwMCAgUm9iIENsYXJrIDxyb2JAdGkuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSAgdjRsMjogZml4IHJhY2UgY29uZGl0aW9uCgkgIFRoZSBzaXplIG9mIHRoZSBidWZmZXIgd291bGQgYmUgemVybydkIG91dCBpbiBnc3RfdjRsMl9idWZmZXJfZmluYWxpemUoKQoJICBhZnRlciB0aGUgYnVmZmVyIGlzIHFidWYnZCBvciBwdXNoZWQgb250byB0aGUgcXVldWUgb2YgYXZhaWxhYmxlIGJ1ZmZlcnMuLgoJICBsZWF2aW5nIGEgcmFjZSBjb25kaXRpb24gd2hlcmUgdGhlIHRocmVhZCB3YWl0aW5nIGZvciB0aGUgYnVmZmVyIGNvdWxkIGF3YWtlCgkgIGFuZCBzZXQgYmFjayBhIHZhbGlkIHNpemUgYmVmb3JlIHRoZSBmaW5hbGl6aW5nIHRocmVhZCB6ZXJvcyBvdXQgdGhlIGxlbmd0aC4KCSAgVGhpcyB3b3VsZCByZXN1bHQgdGhhdCB0aGUgbmV3bHkgYWxsb2NhdGVkIGJ1ZmZlciBoYXMgbGVuZ3RoIG9mIHplcm8uCgoyMDEwLTA0LTA0IDA2OjM5OjA4IC0wNTAwICBSb2IgQ2xhcmsgPHJvYkB0aS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyc2luay5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyc2luay5oOgoJICB2NGwyc2luazogYWRkIHByb3BlcnRpZXMgdG8gY29udHJvbCBjcm9wCgoyMDEwLTA0LTA0IDA2OjM3OjE2IC0wNTAwICBSb2IgQ2xhcmsgPHJvYkB0aS5jb20+CgoJKiBzeXMvdjRsMi9NYWtlZmlsZS5hbToKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyc2luay5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJ4b3ZlcmxheS5jOgoJICB2NGwyOiByZS1lbmFibGUgeC1vdmVybGF5IHN1cHBvcnQKCjIwMTAtMTItMjUgMTE6NTI6MzYgLTA2MDAgIFJvYiBDbGFyayA8cm9iQHRpLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJzaW5rLmM6CgkgIHY0bDJzaW5rOiBmaXggZm9yIFBBVVNFRC0+UkVBRFktPlBBVVNFRCBzdGF0ZSB0cmFuc2l0aW9ucwoJICBXaGVuIHY0bDJzaW5rIGdvZXMgdG8gUEFVU0VELT5SRUFEWSBpdCBvbmx5IHN0b3BzIHN0cmVhbWluZywgc28gdGhlIHN0YXRlCgkgIHNob3VsZCBiZSBzZXQgdG8gU1RBVEVfUEVORElOR19TVFJFQU1PTiBpbiBjYXNlIHRoZSBlbGVtZW50IHRyYW5zaXRpb25zCgkgIGJhY2sgdG8gUExBWUlORy4KCjIwMTAtMDQtMDQgMDY6Mjg6NTEgLTA1MDAgIFJvYiBDbGFyayA8cm9iQHRpLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJzaW5rLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJzaW5rLmg6CgkgIHY0bDJzaW5rOiBhZGQgIm1pbi1xdWV1ZWQtYnVmcyIgcHJvcGVydHkKCjIwMTAtMDQtMDQgMDY6MjY6NTAgLTA1MDAgIFJvYiBDbGFyayA8cm9iQHRpLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmg6CgkqIHN5cy92NGwyL2dzdHY0bDJzaW5rLmM6CgkqIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuYzoKCSAgdjRsMnNpbms6IEFkZCBzdXBwb3J0IGZvciBibG9ja2luZyBkZXF1ZXVlLgoJICBXZSdkIHByZWZlciB0byB0aHJvdHRsZSB0aGUgZGVjb2RlciBpZiB3ZSBydW4gb3V0IG9mIGJ1ZmZlcnMsIHRvIGtlZXAgYSBib3VuZAoJICBvbiBtZW1vcnkgdXNhZ2UuICBBbHNvLCBmb3IgT01BUDQgaXQgaXMgYSByZXF1aXJlbWVudCBvZiB0aGUgZGVjb2RlciB0byBub3QKCSAgYWx0ZXJuYXRlIGJldHdlZW4gbWVtb3J5IGFsbG9jZWQgYnkgdGhlIGRpc3BsYXkgZHJpdmVyIGFuZCBtYWxsb2MnZCB1c2Vyc3BhY2UKCSAgbWVtb3J5LgoKMjAxMC0wNC0wNCAwNjoyNDo0MSAtMDUwMCAgUm9iIENsYXJrIDxyb2JAdGkuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSAgdjRsMjogY2xlYXIgZmxhZ3MgYmVmb3JlIHJldXNpbmcgYnVmZmVyIGZyb20gYnVmZmVyIHBvb2wKCSAgbm90ZTogdGhpcyByZWFsbHkgb25seSBhZmZlY3RzIHY0bDJzaW5rIHNpbmNlIGdzdF92NGwyX2J1ZmZlcl9wb29sX2dldCgpIGlzCgkgIG9ubHkgY2FsbGVkIG9uY2UgcGVyIGJ1ZmZlciBpbiB0aGUgdjRsMnNyYyBjYXNlIChpbgoJICBnc3RfdjRsMnNyY19idWZmZXJfcG9vbF9hY3RpdmF0ZSgpKQoKMjAxMC0wNC0wNCAwNjoyMzozMSAtMDUwMCAgUm9iIENsYXJrIDxyb2JAdGkuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMnNpbmsuYzoKCSAgdjRsMnNpbms6IGRvbid0IHJlbmRlciBwcmVyb2xsIGJ1ZmZlcnMKCSAgTW9zdCB2NGwyIGRyaXZlcnMgd2lsbCBnZXQgdXBzZXQgd2hlbiB5b3UgcXVldWUgdGhlIHNhbWUgYnVmZmVyIHR3aWNlIGluIGEKCSAgcm93IHdpdGhvdXQgZmlyc3QgZGVxdWV1ZWluZyBpdC4KCSAgUmVuZGVyaW5nIG9mIHByZS1yb2xsIGJ1ZmZlcnMgY2FuIGJlIHJlLWludHJvZHVjZWQgbGF0ZXIsIGJ1dCB3aWxsIHJlcXVpcmUKCSAgdHJhY2tpbmcgdGhlIHN0YXRlIG9mIHRoZSBidWZmZXIsIGFuZCBhdm9pZGluZyB0byByZS1RQlVGIGlmIHRoZSBidWZmZXIgaGFzCgkgIGFscmVhZHkgYmVlbiBwYXNzZWQgdG8gdGhlIGRyaXZlci4KCjIwMTAtMDQtMDQgMDY6MjI6NDMgLTA1MDAgIFJvYiBDbGFyayA8cm9iQHRpLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJzaW5rLmM6CgkgIHY0bDJzaW5rOiBJbXByb3ZlIGJlaGF2aW9yIGZvciBzaGFyZWQgYnVmZmVycy4KCSAgV2hlbiB0aGUgZGVjb2RlciBpcyB1c2luZyBwYWRfYWxsb2MoKSwgdjRsMnNpbmsgd291bGQgYmVoYXZlIGJhZGx5IGlmCgkgIHRoZSBudW1iZXIgb2YgYnVmZmVycyAoJ3F1ZXVlLXNpemUnIHByb3BlcnR5KSB3YXMgbm90IGhpZ2ggZW5vdWdoIHRvCgkgIGFjY291bnQgZm9yIGFsbCB0aGUgYnVmZmVycyBuZWVkZWQgYnkgdGhlIGRlY29kZXIsIGFuZCBvdGhlciBlbGVtZW50cwoJICAoc3VjaCBhcyBxdWV1ZXMpIGJldHdlZW4gdGhlIGRlY29kZXIgYW5kIHY0bDJzaW5rLiAgVGhpcyBwYXRjaAoJICBzbGlnaHRseSBpbmNyZWFzZXMgdGhlIGRlZmF1bHQgbnVtYmVyIG9mIGJ1ZmZlcnMsIGFuZCBjaGFuZ2VzIHY0bDJzaW5rCgkgIHRvIGRyb3AgZnJhbWVzIHJhdGhlciB0aGFuIHJldHVybiBhbiBlcnJvciBpbiBjYXNlIHRoZSBudW1iZXIgb2YKCSAgYnVmZmVycyBpcyBub3QgaGlnaCBlbm91Z2guCgoyMDEwLTExLTE1IDE1OjU4OjI4ICswMTAwICBBbmR5IFdpbmdvIDx3aW5nb0BvYmxvbmcuY29tPgoKCSogZXh0L3B1bHNlL3B1bHNlc3JjLmM6CgkqIGV4dC9wdWxzZS9wdWxzZXNyYy5oOgoJICBhZGQgImNsaWVudCIgcHJvcGVydHkKCSAgKiBleHQvcHVsc2UvcHVsc2VzcmMuYyAoZ3N0X3B1bHNlc3JjX2NsYXNzX2luaXQsIGdzdF9wdWxzZXNyY19pbml0KQoJICAoZ3N0X3B1bHNlc3JjX3NldF9wcm9wZXJ0eSwgZ3N0X3B1bHNlc3JjX2dldF9wcm9wZXJ0eSkKCSAgKGdzdF9wdWxzZXNyY19vcGVuKTogQWRkIGEgImNsaWVudCIgcHJvcGVydHksIGFzIGluIHB1bHNlc2luay4KCSAgRml4ZXMgIzYzNDkxNAoKMjAxMC0xMi0yOSAxNTo1NDo0NiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IHNlcmlhbGlzZS9kZXNlcmlhbGlzZSBmbG9hdHMgd2l0aG91dCBjaGFuZ2luZyBsb2NhbGUKCSAgVXNlIGdfYXNjaWlfZHRvc3RyKCkgYW5kIGdfYXNjaWlfc3RydG9kKCkgdG8gc2VyaWFsaXNlL2Rlc2VyaWFsaXNlCgkgIGZsb2F0aW5nIHBvaW50IG51bWJlcnMsIGluc3RlYWQgb2YgdWdseSBoYWNrcyB0aGF0IHN3aXRjaCBsb2NhbGUKCSAgYmVmb3JlIGFuZCBhZnRlciBjYWxsaW5nIGxpYmMgZnVuY3Rpb25zICh3aGljaCBpcyBub3QgYSBnb29kIGlkZWEKCSAgaW4gYSBtdWx0aS10aHJlYWRlZCBhcHBsaWNhdGlvbikuCgoyMDEwLTEyLTI5IDE0OjQwOjA1ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwanBlZ2RlcGF5LmM6CgkgIHJ0cGpwZWdkZXBheTogZml4IGZyYW1lcmF0ZSBwYXJzaW5nIGZvciBsb2NhbGVzIHRoYXQgdXNlIGEgY29tbWEgYXMgZmxvYXRpbmcgcG9pbnQKCSAgYXRvZigpIGNvbnZlcnRzIHN0cmluZ3MgYWNjb3JkaW5nIHRvIHRoZSBjdXJyZW50IGxvY2FsZSwgYnV0IHRoZQoJICBmcmFtZXJhdGUgc3RyaW5nIHdpbGwgbGlrZWx5IGFsd2F5cyB1c2UgYSBkb3QgYXMgZmxvYXRpbmcgcG9pbnQKCSAgc2VwYXJhdG9yLCBzbyB1c2UgZ19hc2NpaV9zdHJ0b2QoKSBpbnN0ZWFkIChidXQgYWxzbyBjYW5vbmljYWxpc2UKCSAgdGhlIHN0cmluZyBiZWZvcmUsIHNvIHdlIGNhbiBoYW5kbGUgYm90aCBmb3JtYXRzIGFzIGlucHV0KS4KCjIwMTAtMTItMjcgMTM6MTE6NTkgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuYzoKCSAgcnRwc291cmNlOiB1c2UgdGhlIHJpZ2h0IHZhcmlhYmxlCgkgIFVzZSB0aGUgcmlnaHQgdmFyaWFibGUgZm9yIHNwZWNpZnlpbmcgdGhhdCB3ZSBzZW50IGEgcmVjZWl2ZXIgcmVwb3J0LgoKMjAxMC0xMi0yMyAxNjo0MjoyOSAtMDYwMCAgUm9iIENsYXJrIDxyb2JAdGkuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYzoKCSAgdjRsMjogZml4IHR5cG8KCjIwMTAtMTItMjMgMTY6MDM6MDAgLTA2MDAgIFJvYiBDbGFyayA8cm9iQHRpLmNvbT4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYS1kZW11eDogYWRkIHN0cmVhbS1mb3JtYXQgYW5kIGFsaWdubWVudCBwcm9wZXJ0aWVzIGZvciBoMjY0CgoyMDEwLTEyLTIyIDExOjQxOjU5ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBnc3RwYXkuYzoKCSAgZ3N0cGF5OiBmaXgga2xhc3MsIGFkZCBSVFAgYXMgYSB1c2UgY2FzZQoKMjAxMC0xMi0xMiAxNToxMDo0NyArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwZ3N0ZGVwYXkuYzoKCSAgZ3N0ZGVwYXk6IGNsZWFudXAgdGhlIGNhY2hlCgoyMDEwLTEyLTEyIDA1OjEwOjAxICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9NYWtlZmlsZS5hbToKCSogZ3N0L3J0cC9nc3RydHAuYzoKCSogZ3N0L3J0cC9nc3RydHBnc3RkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGdzdGRlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwZ3N0cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZ3N0cGF5Lmg6CgkgIGdzdHBheS9kZXBheTogYWRkIGdlbmVyaWMgZ3N0cmVhbWVyIHBheWxvYWRlcgoJICBBZGQgdGhlIGJlZ2lubmluZ3Mgb2YgYSBnZW5lcmljIEdTdHJlYW1lciBidWZmZXJzIHBheWxvYWRlci4KCjIwMTAtMTItMjMgMTc6MDY6NTggKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cG1wNGdwYXkuYzoKCSAgbXA0Z3BheTogcmVzZXQgc3RhdGUgb24gZmx1c2gtc3RvcAoKMjAxMC0xMi0yMyAxNjoyNjowNyArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwbXA0Z2RlcGF5LmM6CgkgIG1wNGdkZXBheTogZmx1c2ggc3RhdGUgb24gZmx1c2gtc3RvcAoKMjAxMC0xMi0yMyAxNjoyNToxNSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogb24tbnB0LXN0b3AgaXMgYSBtYW5hZ2VyIHNpZ25hbAoKMjAxMC0xMi0yMyAxNToyNDoyOSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5oOgoJICBydHNwc3JjOiBpbXByb3ZlIFJUUCBzZXNzaW9uIGhhbmRsaW5nCgkgIFN0b3JlIHRoZSBSVFAgc2Vzc2lvbiBpbiB0aGUgc3RyZWFtIHNvIHRoYXQgd2UgY2FuIG1vcmUgZWZmaWNpZW50bHkKCSAgcGVyZm9ybSBhY3Rpb25zIG9uIHRoZSBzdHJlYW0gYmFzZWQgb24gUlRQIHNpZ25hbHMuCgoyMDEwLTEyLTIzIDEzOjU1OjMxICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmM6CgkgIHJ0cHNvdXJjZTogaW5jbHVkZSBsYXN0IHNlbmQgUkIgYmxvY2sKCSAgT25seSByZXBvcnQgUkIgdmFsdWVzIGZvciBub24taW50ZXJuYWwgc291cmNlcy4KCSAgUmVwb3J0IG5vdCBvbmx5IHRoZSBSQiBibG9ja3Mgd2UgbGFzdCByZWNlaXZlZCBmcm9tIGJ1dCBhbHNvIHRoZSBsYXN0IFJCCgkgIGJsb2NrIHdlIHNlbnQgdG8gYSBzb3VyY2UuCgoyMDEwLTEyLTIzIDEzOjUyOjU3ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuaDoKCSAgcnRwc2Vzc2lvbjogcmVtZW1iZXIgbGFzdCBzZW50IFJCIHZhbHVlcy4KCjIwMTAtMTItMjMgMTM6MDA6NDkgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuYzoKCSAgcnRwc291cmNlOiBpbmNsdWRlIGFsbCBzdGF0cyBhbmQgZG9jdW1lbnQKCSAgSW5jbHVkZSBhbGwgcG9zc2libGUgc3RhdHMgb2YgYSBzb3VyY2UgaW4gdGhlIHN0YXRzIHN0cnVjdHVyZSBiZWNhdXNlIHdlIG1pZ2h0CgkgIGJlIGludGVyZXN0ZWQgaW4gd2hhdCBoYXBwZW5lZCBpbiB0aGUgcGFzdC4KCSAgRG9jdW1lbnQgdGhlIHN0YXRzIHByb3BlcnR5IGFuZCB0aGUgZmllbGRzLgoKMjAxMC0xMi0yMyAxMjo1OTo1OSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2V4YW1wbGVzL3J0cC9jbGllbnQtUENNQS5jOgoJICBleGFtcGxlczogYWRkIGV4YW1wbGUgUlRQIHN0YXRzCgkgIEFkZCBzb21lIG1vcmUgUlRQIGV4YW1wbGVzIGZvciBob3cgdG8gcmV0cmlldmUgUlRQIHN0YXRzIGluIGEgcmVjZWl2ZXIuCgoyMDEwLTEyLTIzIDEyOjU4OjA1ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJICBydHBzZXNzaW9uOiBhbHNvIGVtaXQgUlRDUCBhY3Rpdml0eSBvbiBTUgoJICBBbHNvIGVtaXQgUlRDUCBhY3Rpdml0eSBzaWduYWxzIHdoZW4gd2UgcmVjZWl2ZSBhbiBTUiBwYWNrZXQgd2l0aG91dCBSQiBibG9ja3MsCgkgIHN1Y2ggYXMgZnJvbSBhIHNlbmRlciB0aGF0IGlzIG5vdCByZWNlaXZpbmcgYW55dGhpbmcuCgoyMDEwLTEyLTIzIDExOjEwOjU1ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6CgkgIGRvY3M6IGFkZCBzb21lIG1vcmUgZ3N0cnRwYmluIGRvY3MKCjIwMTAtMTItMjIgMjE6Mjc6MTEgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBzeXMveGltYWdlL2dzdHhpbWFnZXNyYy5jOgoJICB4aW1hZ2VzcmM6IHJlbW90ZSBpcyBhIGJvb2xlYW4gKGFuZCBub3QgdWludCkgcHJvcGVydHkKCjIwMTAtMTItMjIgMTk6NTg6MjEgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thZGVtdXg6IERvbid0IHVzZSBnc3RfcGFkX2FsbG9jX2J1ZmZlcigpCgkgIFVzaW5nIHRoaXMgaW4gYSBkZW11eGVyIHdpbGwgY2F1c2UgZGVhZGxvY2tzIGlmIHRoZXJlJ3MKCSAgYSBwYWQgd2l0aCBhIHBlbmRpbmcgcGFkLWJsb2NrIGRvd25zdHJlYW0sIG5vIG1hdHRlciBpZgoJICB0aGVyZSBpcyBhIHF1ZXVlIGJldHdlZW4gdGhlIHBhZCBvciBub3QuIFF1ZXVlcyBwYXNzCgkgIGJ1ZmZlcmFsbG9jIGRvd25zdHJlYW0gZnJvbSB0aGUgc2FtZSB0aHJlYWQgYW5kIG9ubHkKCSAgYWN0IGFzIGEgdGhyZWFkIGJvdW5kYXJ5IGZvciBldmVudHMgYW5kIGJ1ZmZlcnMuCgoyMDEwLTEyLTIyIDE0OjE0OjA4ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSAgbWF0cm9za2FtdXg6IGZpeCBzdWJ0aXRsZSBwYWQgdGVtcGxhdGUsIHdlIG9ubHkgaGFuZGxlIGthdGUgZm9yIG5vdwoKMjAxMC0xMi0xNiAxMTo0NDo0NCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIGRvY3M6IHVwZGF0ZSBydHNwc3JjIGRvY3MsIHJ0cGJpbiBpcyBub3QgaW4gLWJhZCBhbnkgbW9yZQoKMjAxMC0xMi0yMiAxMTo0MjozMSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzoKCSAgcnRwc2Vzc2lvbjogdW5sb2NrIGJlZm9yZSBlbWl0dGluZyBzaWduYWxzCgoyMDEwLTEyLTIxIDIyOjM0OjQ5ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9NYWtlZmlsZS5hbToKCSogZ3N0L3J0cC9nc3RydHAuYzoKCSogZ3N0L3J0cC9nc3RydHBhYzNwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBhYzNwYXkuaDoKCSAgcnRwYWMzcGF5OiBhZGQgQUMzIHBheWxvYWRlcgoKMjAxMC0xMi0yMSAyMjoxNzoxOSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwYWMzZGVwYXkuYzoKCSAgYWMzZGVwYXk6IGZpeCBkZWJ1ZyBjYXRlZ29yeSBkZXNjcmlwdGlvbgoKMjAxMC0xMi0yMSAyMjoxNjo0MiArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwbXBhcGF5LmM6CgkgIG1wYXBheTogYWRkIGRlYnVnIGNhdGVnb3J5CgoyMDEwLTEyLTIwIDE0OjQ5OjAyIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9qcGVnZW5jLmM6CgkgIGpwZWdlbmM6IEFkZHMgYW5vdGhlciB0ZXN0IGNhc2UKCSAgQWRkcyBhIHRlc3QgZm9yIGpwZWdlbmMgdG8gY2hlY2sgdGhhdCBpcyBwb3NzaWJsZSB0byBuZWdvdGlhdGUgYW5kCgkgIHB1c2ggYnVmZmVycyB3aXRoIGRpZmZlcmVudCByZXNvbHV0aW9uIG9uZSBhZnRlciBhbm90aGVyLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjM3Njg2CgoyMDEwLTEyLTIxIDEzOjM3OjQwIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9qcGVnL2dzdGpwZWdlbmMuYzoKCSAganBlZ2VuYzogc2luayBwYWQncyBnZXRjYXBzIHNob3VsZG4ndCB1c2UgdGhlIHNyYyBwYWQgZ2V0Y2FwcwoJICBJbnN0ZWFkIG9mIHVzaW5nIGdldF9hbGxvd2VkX2NhcHMgb24gdGhlIHNyY3BhZCwgdGhlIHNpbmtwYWQgZ2V0Y2FwcwoJICBzaG91bGQgdXNlIHRoZSBnZXRjYXBzIG9mIHRoZSBzcmNwYWQncyBwZWVyLiBUaGlzIHdheSB0aGUgc3JjcGFkCgkgIGNhbiBrZWVwIHVzaW5nIGZpeGVkX2NhcHMgYW5kIHNpbmtwYWQgZ2V0Y2FwcyBleHBvc2VzIGFsbCBjYXBzCgkgIHRoYXQgY2FuIGJlIG5lZ290aWF0ZWQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYzNzY4NgoKMjAxMC0xMi0yMSAxNjo1ODo0NyArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0YXN0ZXJpc2toMjYzLmM6CgkqIGdzdC9ydHAvZ3N0cnRwTDE2ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBMMTZwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBhYzNkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGFtcmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwYW1ycGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwYnZkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGJ2cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwY2VsdGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwY2VsdHBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZHZkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGR2cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZzcyMmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZzcyMnBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjNkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjNwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnNzI2ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnNzI2cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZzcyOWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZzcyOXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGdzbWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZ3NtcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2M2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2M3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNwZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjYzcHBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBpbGJjZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBpbGJjcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwajJrZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBqMmtwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBqcGVnZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBqcGVncGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXAxc2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXAydGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXAydHBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wNGFkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wNGFwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDRnZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDRncGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXA0dmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXA0dnBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wYWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXBhcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXBhcm9idXN0ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcHZkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wdnBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHBjbWFkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHBjbWFwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBwY211ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBwY211cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwcWNlbHBkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHFkbWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwc2lyZW5kZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHNpcmVucGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwc3BlZXhkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHNwZWV4cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwc3YzdmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwdGhlb3JhZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHB0aGVvcmFwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHB2b3JiaXNkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHZvcmJpc3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHZyYXdkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHZyYXdwYXkuYzoKCSAgcnRwOiBhZGQgUlRQIGhpbnQgdG8gdGhlIGtsYXNzCgoyMDEwLTEyLTIxIDE2OjQ5OjI4ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3Rhc3Rlcmlza2gyNjMuYzoKCSogZ3N0L3J0cC9nc3RydHBMMTZkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cEwxNnBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGFjM2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwYW1yZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBhbXJwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBidmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwYnZwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBjZWx0ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBjZWx0cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBkdmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZHZwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnNzIyZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnNzIycGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZzcyM2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZzcyM3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjZkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjZwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnNzI5ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnNzI5cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZ3NtZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnc21wYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjYzZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjYzcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2M3BkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNwcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2NGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2NHBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGlsYmNkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGlsYmNwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBqMmtkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGoya3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGpwZWdkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGpwZWdwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDFzZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDJ0ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDJ0cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXA0YWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXA0YXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wNGdkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wNGdwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDR2ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDR2cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXBhZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcGFwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcGFyb2J1c3RkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wdmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXB2cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwcGNtYWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwcGNtYXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHBjbXVkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHBjbXVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBxY2VscGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwcWRtZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBzaXJlbmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwc2lyZW5wYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBzcGVleGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwc3BlZXhwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBzdjN2ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHB0aGVvcmFkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHRoZW9yYXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHZvcmJpc2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwdm9yYmlzcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwdnJhd2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwdnJhd3BheS5jOgoJICBydHA6IGZpeCByYW5rIG9mIHBheWxvYWRlcnMgYW5kIGRlcGF5bG9hZGVycwoJICBTZXQgdGhlIHBheWxvYWRlcnMgYW5kIGRlcGF5bG9hZGVycyB0byBhIHJlYXNvbmFibGUgcmFuay4KCjIwMTAtMTItMjEgMTU6MjQ6MTggKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cHZyYXdkZXBheS5jOgoJICB2cmF3ZGVwYXk6IHJlc2V0IGRlcGF5bG9hZGVyIHN0YXRlCgkgIFJlc2V0IHRoZSBkZXBheWxvYWRlciBzdGF0ZSBvbiBmbHVzaC1zdG9wLgoKMjAxMC0xMi0yMSAxNTowNzoxNCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwbXA0dnBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wNHZwYXkuaDoKCSAgbXA0cGF5OiB1c2Ugdm1ldGhvZCBmb3IgaW50ZXJjZXB0aW5nIGV2ZW50cwoKMjAxMC0xMi0yMSAxMzo1NTo0MCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwdGhlb3JhcGF5LmM6CgkgIHRoZW9yYXBheTogY2xlYXIgcGFja2V0IG9uIGZsdXNoLXN0b3AKCjIwMTAtMTItMjEgMTM6NDk6NDEgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cHZvcmJpc3BheS5jOgoJICB2b3JiaXNwYXk6IGNsZWFyIHBhY2tldCBvbiBmbHVzaC1zdG9wCgoyMDEwLTEyLTIxIDEyOjMxOjQ0ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBtcDRnZGVwYXkuYzoKCSAgbXA0Z2RlcGF5OiByZXNldCBkZXBheWxvYWRlciBzdGF0ZQoKMjAxMC0xMi0yMSAxMjoyOTo1OCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2NHBheS5jOgoJICBoMjY0cGF5OiBmbHVzaCBhZGFwdGVyIG9uIGZsdXNoLXN0b3AKCjIwMTAtMTItMjAgMTg6NDk6NDkgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cG1wYXBheS5jOgoJICBtcGFwYXk6IGZsdXNoIGxhc3QgcGFja2V0cyBvbiBFT1MKCjIwMTAtMTItMjAgMTc6NDc6MDUgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSAxNjk0NjJhIHRvIDQ2NDQ1YWQKCjIwMTAtMTItMjAgMTY6NTE6NDcgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cG1wYXBheS5jOgoJICBtcGFwYXk6IHJlc2V0IHBheWxvYWRlciBvbiBzdGF0ZSBjaGFuZ2UKCjIwMTAtMTItMjAgMTY6MDU6MzYgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cG1wYXBheS5jOgoJICBtcGFwYXk6IHJlc2V0IHBheWxvYWRlciBvbiBmbHVzaAoJICBSZXNldCB0aGUgcGF5bG9hZGVyIG9uIGEgZmx1c2ggZXZlbnQuCgkgIEhhbmRsZSBESVNDT05UIGJldHRlci4KCjIwMTAtMTItMjAgMTU6NTQ6NDUgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBqaXR0ZXJidWZmZXIuYzoKCSAgaml0dGVyYnVmZmVyOiBnZXQgYmV0dGVyIGJ1ZmZlcmluZyBsZXZlbAoJICBXaGVuIHRoZSBqaXR0ZXJidWZmZXIgY29udGFpbnMgLTEgdGltZXN0YW1wcywgbWFrZSBzdXJlIHdlIHN0aWxsIGNhbGN1bGF0ZSB0aGUKCSAgYnVmZmVyIGZpbGwgbGV2ZWwgYnkgc2tpcHBpbmcgdGhlIC0xIGJ1ZmZlcnMuCgkgIFRyeSB0byBiZSBtb3JlIHJlc2lsaWVudCB0byB3ZWlyZCBpbnB1dCB0aW1lc3RhbXBzLgoKMjAxMC0xMi0yMCAxMToxMDoyMiArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBqaXR0ZXJidWZmZXI6IHByb3ZpZGUgYSBjbG9jay4KCSAgc2luY2Ugd2UgYXJlIHVzaW5nIHRoZSBjbG9jayBmb3Igc3luYywgd2UgbmVlZCB0byBhbHNvIHByb3ZpZGUgYSBjbG9jayBmb3IgZ29vZAoJICBtZWFzdXJlLiBUaGUgcmVhc29uIGlzIHRoYXQgZXZlbiBpZiBkb3duc3RyZWFtIGVsZW1lbnRzIHByb3ZpZGUgYSBjbG9jaywgd2UKCSAgZG9uJ3Qgd2FudCB0byBoYXZlIHRoYXQgY2xvY2sgc2VsZWN0ZWQgYmVjYXVzZSBpdCBtaWdodCBub3QgYmUgcnVubmluZyB5ZXQuCgoyMDEwLTEyLTIwIDEwOjQ5OjU2ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6CgkgIHJ0cGJpbjogY29weSBidWZmZXJpbmcgc3RhdHMKCSAgd2hlbiB3ZSBjcmVhdGUgYW4gYWdncmVnYXRlIGJ1ZmZlcmluZyBtZXNzYWdlLCBjb3B5IHRoZSBidWZmZXJpbmcgc3RhdHMgZm9ybSB0aGUKCSAgbGFzdCBtZXNzYWdlLiBBdCBsZWFzdCB3ZSBnZXQgY29ycmVjdCBidWZmZXJpbmcgbW9kZSB0aGVuLgoKMjAxMC0xMi0xOSAxMTowMjo0MSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvd2F2ZW5jLmM6CgkgIHdhdmVuYzogRml4IG1lbW9yeSBsZWFrcyBpbiB0aGUgdW5pdCB0ZXN0CgoyMDEwLTEyLTE5IDEwOjU4OjE2ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9lZmZlY3R2L2dzdHJhZGlvYWMuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0cmFkaW9hYy5oOgoJICByYWRpb2FjdHY6IFByZXZlbnQgdXNlIG9mIHVuaW5pdGlhbGl6ZWQgdmFsdWVzCgkgIEZpeGVzIGJ1ZyAjNjE4NjUyLgoKMjAxMC0xMi0xOSAxMDoyMjoyOSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZGVidWd1dGlscy9nc3RjYXBzZGVidWcuYzoKCSAgY2Fwc2RlYnVnOiBEb24ndCBsZWFrIHBhZCB0ZW1wbGF0ZXMgY3JlYXRlZCBmcm9tIHN0YXRpYyBwYWQgdGVtcGxhdGVzCgoyMDEwLTExLTI5IDEyOjM2OjA2ICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy94aW1hZ2UvZ3N0eGltYWdlc3JjLmM6CgkqIHN5cy94aW1hZ2UvZ3N0eGltYWdlc3JjLmg6CgkgIHhpbWFnZXNyYzogY2hhbmdlIGZyb20gWEdldEltYWdlIHRvIFhHZXRTdWJJbWFnZSBkZXBlbmRhbnQgb24gYSBwcm9wZXJ0eQoJICB4aW1hZ2VzcmM6IGNoYW5nZSBmcm9tIFhHZXRJbWFnZSB0byBYR2V0U3ViSW1hZ2UgZGVwZW5kYW50IG9uIGEgcHJvcGVydHkKCSAgdG8gYXZvaWQgdW5uZWNlc3NhcnkgcGVyZm9ybWFuY2UgaGl0cyBieSBkZWZhdWx0LgoKMjAxMC0xMS0yOCAxNjowNDozNSArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMveGltYWdlL2dzdHhpbWFnZXNyYy5jOgoJICB4aW1hZ2VzcmM6IHVzZSBYR2V0U3ViSW1hZ2UgaW5zdGVhZCBvZiBYR2V0SW1hZ2UsIHdvcmtzIHdpdGggcmVtb3RlIFgKCSAgeGltYWdlc3JjOiB1c2UgWEdldFN1YkltYWdlIGluc3RlYWQgb2YgWEdldEltYWdlLCB3b3JrcyB3aXRoIHJlbW90ZSBYCgkgIChvbiBteSBzZXR1cCBhbnl3YXkuLi4pCgoyMDEwLTExLTI3IDE3OjE1OjMyICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy94aW1hZ2UvZ3N0eGltYWdlc3JjLmM6CgkgIHhpbWFnZXNyYzogZml4IHZhcmlvdXMgd2lkdGgvaGVpZ2h0IGNhbGN1bGF0aW9ucyBiZWluZyBvZmYgYnkgb25lLAoJICB4aW1hZ2VzcmM6IGZpeCB2YXJpb3VzIHdpZHRoL2hlaWdodCBjYWxjdWxhdGlvbnMgYmVpbmcgb2ZmIGJ5IG9uZSwKCSAgYW5kIG1ha2UgaXQgc28gYSBzaW5nbGUgcGl4ZWwgd2lkdGgvaGVpZ2h0IGNhbiBiZSBjYXB0dXJlZCAoZXhjZXB0CgkgIHRoZSB0b3AgbGVmdCBvbmUsIGFzIDAsMCwwLDAgaXMgcmVzZXJ2ZWQgZm9yIGZ1bGwgc2NyZWVuIGFzIHBlcgoJICB0aGUgcHJvcGVydHkgY29tbWVudHMpLgoKMjAxMC0xMi0xNyAxOToxOTozNSAtMDYwMCAgUm9iIENsYXJrIDxyb2JAdGkuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICBmaXggY29tcGlsZSBlcnJvcnMgb24gbWFjb3N4CgkgIHdpdGggaTY4Ni1hcHBsZS1kYXJ3aW4xMC1nY2MtNC4yLjE6CgkgIGdzdHY0bDJvYmplY3QuYzogSW4gZnVuY3Rpb24gJ2dzdF92NGwyX29iamVjdF9nZXRfbmVhcmVzdF9zaXplJzoKCSAgZ3N0djRsMm9iamVjdC5jOjE5ODg6IHdhcm5pbmc6IGZvcm1hdCAnJXUnIGV4cGVjdHMgdHlwZSAndW5zaWduZWQgaW50JywgYnV0IGFyZ3VtZW50IDEyIGhhcyB0eXBlICdnaW50IConCgkgIGdzdHY0bDJvYmplY3QuYzoxOTg4OiB3YXJuaW5nOiBmb3JtYXQgJyV1JyBleHBlY3RzIHR5cGUgJ3Vuc2lnbmVkIGludCcsIGJ1dCBhcmd1bWVudCAxMyBoYXMgdHlwZSAnZ2ludCAqJwoKMjAxMC0xMi0xNyAxNTozODoxNSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRkZXBheS5jOgoJICBydHBoMjY0ZGVwYXk6IGRldGVybWluZSBvdXRwdXQgaDI2NCBsYXlvdXQgdXNpbmcgY2FwcyBuZWdvdGlhdGlvbgoJICAuLi4gdGhlcmVieSAocGFydGlhbGx5KSBkZXByZWNhdGluZyBwcm9wZXJ0aWVzIGN1cnJlbnRseSBjb250cm9sbGluZyB3aGV0aGVyCgkgIG9yIG5vdCBieXRlLXN0cmVhbSBvdXRwdXQgb3IgTkFML0FVIGFsaWdubWVudCAodGhvdWdoIHByb3BlcnRpZXMgc3RpbGwgZGV0ZXJtaW5lCgkgIGZhbGxiYWNrIGlmIG5vdGhpbmcgc3BlY2lmaWVkIGluIGNhcHMpLgoJICBGaXhlcyAjNjA2NjYyLgoKMjAxMC0xMi0xNiAxODo1NTo0MyArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwajJrcGF5LmM6CgkgIGoya3BheTogaGFuZGxlIEVPQyBjb3JyZWN0bHkKCSAgRG9uJ3QgaW5jbHVkZSB0aGUgbmV4dCAyIGJ5dGVzIHdoZW4gd2UgYXJlIGF0IHRoZSBlbmQgb2YgdGhlIGRhdGEgYW5kIHRoZXJlIGFyZQoJICBubyBtb3JlIGJ5dGVzIGxlZnQuCgoyMDEwLTEyLTE2IDE1OjE1OjQ5ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSAgcHVsc2VzaW5rOiBmbHVzaCByZW1haW5pbmcgYnVmZmVyZWQgc2FtcGxlcyBvbiBFT1MKCSAgLi4uIHdoaWNoIGNhbiBtYWtlIGEgZGlmZmVyZW5jZSBiZXR3ZWVuIGFsbCBvciBub3RoaW5nIHdoZW4gZGVhbGluZwoJICB3aXRoIHNob3J0IHN0cmVhbXMgYW5kIHJlbGF0aXZlbHkgbGFyZ2UgcmluZ2J1ZmZlciBzZWdtZW50LgoKMjAxMC0xMi0xNiAxMDowNDoxOSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuYzoKCSAgZGVpbnRlcmxhY2U6IENoYW5nZSBjbGFzc2lmaWNhdGlvbiB0byBGaWx0ZXIvRWZmZWN0L1ZpZGVvL0RlaW50ZXJsYWNlCgoyMDEwLTEyLTE1IDE4OjIxOjM0ICswMTAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwajJrcGF5LmM6CgkgIHJ0cGoya3BheTogSW5pdGlhbGl6ZSBhbGwgZmllbGRzCgkgIE1ha2VzIHNhZCBjb21wbGllcnMgaGFwcHkKCjIwMTAtMTItMTUgMTY6MjI6NTQgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGoya3BheS5jOgoJICBqMmtwYXk6IGNsZWFudXAgaGVhZGVyIGNvbnN0cnVjdGlvbgoJICBVc2UgYSBzaW1wbGVyIHdheSBvZiBjb25zdHJ1Y3RpbmcgdGhlIGhlYWRlciB0aGF0IGRvZXNuJ3QgZGVwZW5kIG9uCgkgIHRoZSBlbmRpYW5uZXNzLgoKMjAxMC0xMi0xNSAxMzozMDo1MCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogZGVwZW5kIG9uIC1iYXNlIGZyb20gZ2l0IGZvciBuZXcgcnRwIGJhc2UgZGVwYXlsb2FkZXIgZmVhdHVyZXMKCSAgVGhpcyBpcyBvayBpbiB0aGlzIGNhc2UsIHNpbmNlIHRoZSBwbGFuIGlzIHRvIHJlbGVhc2UgY29yZS9iYXNlIGFnYWluCgkgIGFsb25nIHdpdGggZ29vZC91Z2x5L2JhZCBpbiB0aGUgbmV4dCBjeWNsZS4KCjIwMTAtMTItMTUgMTQ6NTU6NTggKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gMjA3NDJhZSB0byAxNjk0NjJhCgoyMDEwLTEyLTE1IDEzOjEyOjA5ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBqMmtkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGoya2RlcGF5Lmg6CgkgIGoya2RlcGF5OiBhZGQgc3VwcG9ydCBmb3IgYnVmZmVyIGxpc3RzCgoyMDEwLTEyLTE0IDE4OjEyOjQzICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJICBzZXNzaW9uOiBmaXggYXZlcmFnZSBSVENQIHBhY2tldCBzaXplIHNvbWUgbW9yZS4KCSAgRml4IHN0dXBpZCBlcnJvciBpbiBhdmVyYWdpbmcgbWFjcm8uCgkgIEluY2x1ZGUgdWRwIGhlYWRlcnMgaW4gcGFja2V0IGxlbmd0aCBlc3RpbWF0aW9uLgoKMjAxMC0xMi0xNCAxNzoxNToyMyArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc3RhdHMuYzoKCSAgcnRwYmluOiBjb3JyZWN0bHkgY2FsY3VsYXRlIFJUQ1AgcGFja2V0IHNpemUKCjIwMTAtMTItMTQgMTU6Mjc6NTIgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGoya3BheS5jOgoJICBqMmtwYXk6IHN0b3Agc2Nhbm5pbmcgd2hlbiB3ZSByZWFjaGVkIHRoZSBlbmQKCSAgU3RvcCBzY2FubmluZyBmb3IgbWFya2VycyB3aGVuIHdlIHJlYWNoZWQgdGhlIGVuZCBvZiB0aGUgZGF0YS4KCjIwMTAtMTItMTMgMTY6MjM6MjQgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gMDExYmNjOCB0byAyMDc0MmFlCgoyMDEwLTEyLTEzIDEyOjU2OjEyICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIGppdHRlcmJ1ZmZlcjogYXZvaWQgbGVha2luZyBzaW5rIGV2ZW50cwoJICBBdm9pZCBsZWFraW5nIHRoZSBuZXdzZWdtZW50IGV2ZW50IHdoZW4gaXQgaGFzIHRoZSB3cm9uZyBmb3JtYXQuCgoyMDEwLTEyLTEyIDE0OjUzOjE3ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBtcDR2cGF5LmM6CgkgIG1wNHZwYXk6IHdlIGNhbiBhbHNvIGFjY2VwdCB4dmlkIGNhcHMKCjIwMTAtMTItMTIgMDE6Mzk6MDYgKzExMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5jOgoJICBkZWludGVybGFjZTogQXZvaWQgaW5maW5pdGUgbG9vcCBkcmFpbmluZyBmcmFtZXMKCSAgV2hlbiB0aGUgcGlwZWxpbmUgaXMgZmx1c2hlZCBqdXN0IGFzIHdlJ3JlIGRyYWluaW5nIGhpc3RvcnksCgkgIGRvbid0IGxvb3AgaW5maW5pdGVseSwganVzdCBkaXNjYXJkIHRoZSBoaXN0b3J5IGFuZCBhYm9ydC4KCjIwMTAtMTItMTEgMTc6Mzk6MjAgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2pwZWcvZ3N0anBlZ2RlYy5jOgoJKiBleHQvanBlZy9nc3RqcGVnZGVjLmg6CgkgIGpwZWdkZWM6IGFkZCAibWF4LWVycm9ycyIgcHJvcGVydHkgdG8gaWdub3JlIGRlY29kaW5nIGVycm9ycwoJICBBZGQgcHJvcGVydHkgdG8gaWdub3JlIGRlY29kaW5nIGVycm9ycy4gRGVmYXVsdCBpcyB0byBpZ25vcmUgYSBmZXcKCSAgZGVjb2RpbmcgZXJyb3JzIGlmIHRoZSBpbnB1dCBpcyBwYWNrZXRpemVkLCBidXQgZXJyb3Igb3V0IGltbWVkaWF0ZWx5CgkgIGlmIHRoZSBpbnB1dCBpcyBub3QgcGFja2V0aXplZC4KCSAgSWdub3JpbmcgZXJyb3JzIGZvciBwYWNrZXRpemVkIGlucHV0IG1vc3QgbGlrZWx5IGRvZXNuJ3Qgd29yawoJICBwcm9wZXJseSB5ZXQsIHNvIGRvbid0IGRvIHRoYXQgZm9yIG5vdy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYyMzA2MwoKMjAxMC0wNS0yOCAxNToyNzoxNCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvanBlZy9nc3RqcGVnZW5jLmM6CgkgIGpwZWdlbmM6IGZyZWUvbWFsbG9jIGluc3RlYWQgb2YgcmVhbGxvYywgYXZvaWRzIG1lbWNweQoKMjAxMC0xMi0xMSAxNzo0OTowMyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IENoZWNrIGlmIHRoZXJlJ3MgYWN0dWFsbHkgYSBzZWVrIHRhYmxlIGJlZm9yZSBwYXJzaW5nIGl0CgoyMDEwLTEyLTExIDE3OjQ2OjE3ICswMTAwICBLaXNob3JlIEFyZXBhbGxpIDxraXNob3JlLmFyZXBhbGxpQGdtYWlsLmNvbT4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogSW1wbGVtZW50IENPTlZFUlQgYW5kIEZPUk1BVFMgcXVlcnkKCSAgRml4ZXMgYnVnICM2MzY3ODQuCgoyMDEwLTA3LTAxIDAwOjIyOjA3ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYS1kZW11eDogcHV0IHVucmVjb2duaXNlZCBSSUZGIGZvcm1hdCBJRHMgaW50byB0aGUgdW5rbm93biBjYXBzCgkgIEV4dHJhIGluZm8gY2FuJ3QgaHVydC4gRmllbGQgbmFtZXMgYXJlbid0IG5lY2Vzc2FyaWx5IGNvbnNpc3RlbnQgd2l0aAoJICB3aGF0J3MgdXNlZCBlbHNld2hlcmUgdGhvdWdoIChlLmcuIGF2aWRlbXV4KSwgYnV0IHRoZW4gbmVpdGhlciBhcmUgdGhlCgkgIGNhcHMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MjMxNzgKCjIwMTAtMTAtMjkgMjI6NTA6MTQgKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGV4dC9wdWxzZS9wdWxzZW1peGVyY3RybC5jOgoJKiBleHQvcHVsc2UvcHVsc2VtaXhlcmN0cmwuaDoKCSAgcHVsc2VtaXhlcjogSW1wbGVtZW50IE1JWEVSX0ZMQUdfQVVUT19OT1RJRklDQVRJT05TCgkgIEFkZCB0aGUgbWl4ZXIgZmxhZyBhbmQgc2VuZCBub3RpZmljYXRpb25zIHdoZW4gZWl0aGVyIHRoZSB2b2x1bWUgb3IgbXV0ZWQKCSAgc3RhdHVzIGNoYW5nZXMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MTgzODkKCjIwMTAtMDItMDggMjE6NDE6MjkgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBtYXJrIERJU0NPTlQgd2hlbiByZXN1bWluZyBQTEFZCgkgIEluIHBhcnRpY3VsYXIsIHdoZW4gc3RyZWFtaW5nIGludGVybGVhdmVkLCB0aGlzIGFycmFuZ2VzIGZvciBzZXR0aW5nIGEgbmV3CgkgIHRpbWVzdGFtcCBvbiBvdXRnb2luZyBidWZmZXIgc28gZG93bnN0cmVhbSBjYW4gYXBwcm9wcmlhdGUgcmVzZXQKCSAgdG8gYSBjaGFuZ2UgaW4gKHJ0cCl0aW1lLgoKMjAxMC0xMi0wMiAxNjowODozNCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuaDoKCSAgcnRzcHNyYzogZGVncmFkZSBncmFjZWZ1bGx5IHVwb24gZmFpbGluZyBzZWVrIGFuZCB0d2VhayBRVUVSWV9TRUVLSU5HIHJlc3BvbnNlCgoyMDEwLTEwLTI1IDExOjUxOjA2ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogYWRkIGFuZCB1c2UgYXV0byBidWZmZXJpbmcgbW9kZQoJICAuLi4gd2hpY2ggc2VsZWN0cyBCVUZGRVIgZm9yIGEgbm9uLWxpdmUgc3RyZWFtLCBhbmQgb3RoZXJ3aXNlIFNMQVZFLgoJICBGaXhlcyAjNjMzMDg4LgoKMjAxMC0xMi0wNiAxMjoxNjoxMiArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwajJrZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBqMmtkZXBheS5oOgoJICBqMmtkZXBheTogbWFrZSB0aGUgZGVwYXlsb2FkZXIgbW9yZSByZXNpbGllbnQKCSAgVXNlIDMgYWRhcHRlcnMsIG9uZSB0byBhY2N1bXVsYXRlIHBha2V0aXphdGlvbiB1bml0cywgYW5vdGhlciBvbiB0byBhY2N1bXVsYXRlCgkgIHRpbGVzIGFuZCBhIGxhc3Qgb25lIHRvIGFjY3VtdWxhdGUgdGhlIGZpbmFsIGZyYW1lLgoJICBEb24ndCBqdXN0IGJsaW5kbHkgZmx1c2ggdGhlIGFkYXB0ZXIgb24gRElTQ09OVCBidXQgb25seSBkaXNjYXJkIHRoZSBjdXJyZW50CgkgIHBhY2tldGl6YXRpb24gdW5pdC4KCSAgV2hlbiB3ZSBkcm9wcGVkIGpwZWcyMDAwIHBhY2tldHMgYmV0d2VlbiBTT1AgbWFya2VycywgYWRqdXN0IHRoZSBTT1QgaGVhZGVyIHdpdGgKCSAgdGhlIG5ldyBsZW5naHQuCgoyMDEwLTEyLTA5IDEzOjQ5OjA0ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogZml4IGZsb3cgcmV0dXJuIGFnZ3JlZ2F0aW9uCgoyMDEwLTEyLTA4IDExOjM1OjMzICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogZml4IGhhbmRsaW5nIG5lYXIgZW5kLW9mLWZpbGUgY29ybmVyIGNhc2VzCgkgIEFsc28sIHJlbGF4IHNvbWUgZXJyb3IgaGFuZGxpbmcgdG8gbm90IGJhaWwgb3V0IGNvbXBsZXRlbHkgd2hlbiBzb21ldGhpbmcKCSAgZmVlbHMgYW1pc3MsIGJ1dCBjb25zaWRlciB0aGlzIEVPRiBhbmQgY29udGludWUgd2l0aCB3YXMgb2J0YWluZWQgc28gZmFyLgoKMjAxMC0xMi0wNyAxNzoxOTowMCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IGZyYWdtZW50ZWQgc3VwcG9ydDsgZml4IG9mZnNldCBoYW5kbGluZyBhbmQgcmVsYXggZXJyb3IgcmFpc2luZwoJICBJbiBwYXJ0aWN1bGFyLCBhY2NlcHQgdW5rbm93biBzdHJlYW0gaW4gdHJhY2sgZnJhZ21lbnQsIGFuZCBvbmx5IGVycm9yIG91dAoJICBpZiB0aGF0IHJhaXNlcyBwcm9ibGVtcyBsYXRlciBvbiB3aXRoIHJlc3BlY3QgdG8gb2Zmc2V0IHRyYWNraW5nLgoJICBGaXhlcyAjNjIwMjgzLgoKMjAxMC0xMi0wNyAxMzoxMTo0OCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZmx2L01ha2VmaWxlLmFtOgoJKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6CgkgIGZsdmRlbXV4OiB1c2UgYWFjIGNvZGVjLWRhdGEgdG8gYWRqdXN0IHNhbXBsZXJhdGUgaWYgbmVlZGVkCgkgIEJhc2VkIG9uIHBhdGNoIGJ5IEZhYmllbiBMZWJhaWxsaWYtRGVsYW1hcmUgPGZhYmllbkBhcnEtbWVkaWEuY29tPgoJICBGaXhlcyAjNjM2NjIxLgoKMjAxMC0xMi0wNyAxMTo0MzoxMyArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSAgcHVsc2VzaW5rOiBkb24ndCB1bmNvcmsgaW4gX3N0YXJ0CgkgIERvbid0IHVuY29yayBpbiB0aGUgX3N0YXJ0IG1ldGhvZCBqdXN0IHlldCBidXQgd2FpdCB1bnRpbCB3ZSBoYXZlIHdyaXR0ZW4gc29tZQoJICBzYW1wbGVzIHRvIHB1bHNlYXVkaW8uIFRoaXMgYXZvaWQgdW5kZXJydW5zIG9uIHB1bHNlYXVkaW8gYW5kIGxlc3MgY3JhY2tsaW5nCgkgIG5vaXNlcyB3aGVuIHN0YXJ0aW5nLgoKMjAxMC0xMi0wNyAxMTo0Nzo0MSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkgIE1lcmdlIGJyYW5jaCAnbWFzdGVyJyBpbnRvIDAuMTEKCjIwMTAtMTItMDcgMTE6NDM6MTMgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkgIHB1bHNlc2luazogZG9uJ3QgdW5jb3JrIGluIF9zdGFydAoJICBEb24ndCB1bmNvcmsgaW4gdGhlIF9zdGFydCBtZXRob2QganVzdCB5ZXQgYnV0IHdhaXQgdW50aWwgd2UgaGF2ZSB3cml0dGVuIHNvbWUKCSAgc2FtcGxlcyB0byBwdWxzZWF1ZGlvLiBUaGlzIGF2b2lkIHVuZGVycnVucyBvbiBwdWxzZWF1ZGlvIGFuZCBsZXNzIGNyYWNrbGluZwoJICBub2lzZXMgd2hlbiBzdGFydGluZy4KCjIwMTAtMTItMDcgMTE6NDI6MTUgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IHVzZSBfb2JqZWN0X3JlZl9zaW5rKCkgd2hlbiB3ZSBjYW4KCjIwMTAtMTItMDcgMTE6NDA6NTggKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIHY0bDI6IGRvbid0IGFidXNlIHRoZSBjbGFzcyBsb2NrCgkgIFVzZSBhIG5ldyBzdGF0aWMgbG9jayB0byBwcm90ZWN0IHRoZSBwcm9iZWQgZGV2aWNlIGxpc3QgaW5zdGVhZCBvZiB0aGUgb2JqZWN0CgkgIGNsYXNzIGxvY2suCgoyMDEwLTEyLTA2IDE5OjU5OjQ5ICswMTAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogZml4IGNvbXBpbGVyIHdhcm5pbmdzIG9uIE9TWC4KCjIwMTAtMTItMDYgMTg6MTc6MjQgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2pwZWcvZ3N0anBlZ2RlYy5jOgoJICBqcGVnZGVjOiBhZGQgZGVidWcgdG8gbm90aWZ5IHdoZW4gc2tpcHBpbmcgdG8ganBlZyBoZWFkZXIKCjIwMTAtMTItMDYgMTg6MTY6MTkgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2pwZWcvZ3N0anBlZ2RlYy5jOgoJICBqcGVnZGVjOiBkaXNjYXJkIGluY29tcGxldGUgaW1hZ2UKCSAgLi4uIGFzIGRldGVybWluZWQgd2hlbiBmaW5kaW5nIFNPSSBuZXh0IGltYWdlIGJlZm9yZSBhbiBFT0kuCgkgIEJhc2VkIG9uIHBhdGNoIGJ5IERhdmlkIEhveXQgPGRhdmlkLmhveXRAbGxubC5nb3Y+CgkgIEZpeGVzICM2MzU3MzQuCgoyMDEwLTEyLTA2IDE3OjQ1OjM4ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9qcGVnL2dzdGpwZWdkZWMuYzoKCSAganBlZ2RlYzogYXZvaWQgaW5maW5pdGUgbG9vcCB3aGVuIHJlc3luY2luZwoJICBGaXhlcyAjNjM1NzM0IChwYXJ0bHkpLgoKMjAxMC0xMi0wNiAxNzoyODozMiArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkgIE1lcmdlIGJyYW5jaCAnbWFzdGVyJyBvZiBzc2g6Ly9naXQuZnJlZWRlc2t0b3Aub3JnL2dpdC9nc3RyZWFtZXIvZ3N0LXBsdWdpbnMtZ29vZCBpbnRvIDAuMTEKCjIwMTAtMTItMDYgMTc6Mjc6NTEgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBhbmRyb2lkL2FwZXRhZy5tazoKCSogYW5kcm9pZC9hdmkubWs6CgkqIGFuZHJvaWQvZmx2Lm1rOgoJKiBhbmRyb2lkL2ljeWRlbXV4Lm1rOgoJKiBhbmRyb2lkL2lkM2RlbXV4Lm1rOgoJKiBhbmRyb2lkL3F0ZGVtdXgubWs6CgkqIGFuZHJvaWQvcnRwLm1rOgoJKiBhbmRyb2lkL3J0cG1hbmFnZXIubWs6CgkqIGFuZHJvaWQvcnRzcC5tazoKCSogYW5kcm9pZC9zb3VwLm1rOgoJKiBhbmRyb2lkL3VkcC5tazoKCSogYW5kcm9pZC93YXZlbmMubWs6CgkqIGFuZHJvaWQvd2F2cGFyc2UubWs6CgkqIGNvbmZpZ3VyZS5hYzoKCSAgbW9yZSAwLjEwIC0+IDAuMTEgY2hhbmdlcwoKMjAxMC0xMi0wNiAxNToyMTo1MyArMDEwMCAgRGF2aWQgSG95dCA8ZGhveXRAbGxubC5nb3Y+CgoJKiBnc3QvaW1hZ2VmcmVlemUvZ3N0aW1hZ2VmcmVlemUuYzoKCSAgaW1hZ2VmcmVlemU6IHBhc3MgYWxvbmcgZW9zIGlmIHJlY2VpdmVkIGJlZm9yZSBidWZmZXIgYXJyaXZlcwoJICBGaXhlcyAjNjM2MTcyLgoKMjAxMC0xMC0yMCAxMTowNTo0OSArMDIwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDxhbW9yYWxlc0BmbHVtb3Rpb24uY29tPgoKCSogZ3N0L21hdHJvc2thL2VibWwtd3JpdGUuYzoKCSogZ3N0L21hdHJvc2thL2VibWwtd3JpdGUuaDoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJICBtYXRyb3NrYW11eDogdHJ5IHRvIHdyaXRlIHRpbWVzdGFtcHMgaW4gYWxsIHRoZSBvdXRnb2luZyBidWZmZXJzCgkgIEZpeGVzICM2MzI2NTQuCgoyMDEwLTEyLTA2IDEyOjIxOjAwICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IHN0YXJ0IDAuMTEgYnJhbmNoCgoyMDEwLTEyLTA2IDEyOjE3OjIxICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kZWJ1Z3V0aWxzL3Byb2dyZXNzcmVwb3J0LmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL3Byb2dyZXNzcmVwb3J0Lmg6CgkgIHByb2dyZXNzcmVwb3J0OiBvcHRpb25hbGx5IGRldGVybWluZSBwcm9ncmVzcyB1c2luZyBidWZmZXIgbWV0YWRhdGEKCSAgQmFzZWQgb24gcGF0Y2ggYnkgTGVvIFNpbmdlciA8bHNpbmdlciBhdCBjYWx0ZWNoLmVkdT4KCSAgRml4ZXMgIzYyOTQxOC4KCjIwMTAtMTItMDUgMTQ6Mzk6MTkgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9pbnRlcmxlYXZlLmM6CgkgIGNoZWNrOiBGaXh1cCB0aGUgc2h1dHRpbmcgZG93biBvcmRlcgoJICBGaXJzdCBicmluZyBkb3duIGV2ZXJ5dGhpbmcgdG8gTlVMTCBiZWZvcmUgYXR0ZW1wdGluZyB0byB1bmxpbmsKCSAgb3IgdW5yZWYgYW55dGhpbmcuCgkgIEF2b2lkcyB0aGUgdGVzdHMganVzdCBoYW5naW5nIHRoZXJlIGZvciBldmVyIHdhaXRpbmcgdG8gYWNxdWlyZSBhCgkgIGxvY2sgdGhhdCBkb2Vzbid0IGV4aXN0IGFueW1vcmUuCgoyMDEwLTExLTA0IDE5OjMxOjQ1ICswMTAwICBKYW5uZSBHcnVuYXUgPGphbm5lLmdydW5hdUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJICB2NGwyc3JjOiBzZXQgdG9wIGZpZWxkIGZpcnN0IGZvciBpbnRlcmxhY2VkIGJ1ZmZlcnMgaWYgdjRsMiBleHBvcnRzIGl0CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MzQzOTMKCjIwMTAtMTEtMDQgMTg6MzY6MDkgKzAxMDAgIEphbm5lIEdydW5hdSA8amFubmUuZ3J1bmF1QGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgdjRsMnNyYzogY2hlY2sgZmllbGQgaW5mb3JtYXRpb24gYW5kIHNldCBpbnRlcmxhY2VkIGNhcHMgYWNjb3JkaW5nbHkKCSAgUmVqZWN0IHRoZSBmb3JtYXQgaWYgdGhlIGZpZWxkIHR5cGUgaXMgbm90IHN1cHBvcnRlZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYzNDM5MQoKMjAxMC0xMi0wMyAxNzo0MjoxNCArMDEwMCAgQmVuamFtaW4gR2FpZ25hcmQgPGJlbmphbWluLmdhaWduYXJkQHN0ZXJpY3Nzb24uY29tPgoKCSogQW5kcm9pZC5tazoKCSogYW5kcm9pZC9OT1RJQ0U6CgkqIGFuZHJvaWQvYXBldGFnLm1rOgoJKiBhbmRyb2lkL2F2aS5tazoKCSogYW5kcm9pZC9mbHYubWs6CgkqIGFuZHJvaWQvZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLW1hcnNoYWwuYzoKCSogYW5kcm9pZC9nc3QvcnRwbWFuYWdlci9nc3RydHBiaW4tbWFyc2hhbC5oOgoJKiBhbmRyb2lkL2dzdC91ZHAvZ3N0dWRwLWVudW10eXBlcy5jOgoJKiBhbmRyb2lkL2dzdC91ZHAvZ3N0dWRwLWVudW10eXBlcy5oOgoJKiBhbmRyb2lkL2dzdC91ZHAvZ3N0dWRwLW1hcnNoYWwuYzoKCSogYW5kcm9pZC9nc3QvdWRwL2dzdHVkcC1tYXJzaGFsLmg6CgkqIGFuZHJvaWQvaWN5ZGVtdXgubWs6CgkqIGFuZHJvaWQvaWQzZGVtdXgubWs6CgkqIGFuZHJvaWQvcXRkZW11eC5tazoKCSogYW5kcm9pZC9ydHAubWs6CgkqIGFuZHJvaWQvcnRwbWFuYWdlci5tazoKCSogYW5kcm9pZC9ydHNwLm1rOgoJKiBhbmRyb2lkL3NvdXAubWs6CgkqIGFuZHJvaWQvdWRwLm1rOgoJKiBhbmRyb2lkL3dhdmVuYy5tazoKCSogYW5kcm9pZC93YXZwYXJzZS5tazoKCSAgQWRkIGJ1aWxkIHN5c3RlbSBmb3IgQW5kcm9pZAoKMjAxMC0wMy0yNiAxMzo1MTo1OCArMDEwMCAgR3VpbGxhdW1lIEVtb250IDxnZW1vbnRAaWdhbGlhLmNvbT4KCgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdG5hdnNlZWsuYzoKCSAgbmF2c2VlazogYWRkIGJhc2ljIHN1cHBvcnQgdG8gY2hhbmdlIHBsYXliYWNrIHJhdGUKCSAgVGhlIGZvbGxvd2luZyBrZXlzIHdpbGwgbm93IGJlIGludGVycHJldGVkIGJ5IG5hdnNlZWs6CgkgICdmJyBtZWFucyBmYXN0IGZvcndhcmQ6IHRoZSBzdHJlYW0gZ2V0cyBwbGF5ZWQgYXQgcmF0ZSAyLjAKCSAgJ3InIG1lYW5zIHJld2luZDogdGhlIHN0cmVhbSBnZXRzIHBsYXllZCBhdCByYXRlIC0yLjAKCSAgJ24nIG1lYW5zIG5vcm1hbDogdGhlIHN0cmVhbSBnZXRzIHBsYXllZCBhdCByYXRlIDEuMAoJICBGaXhlcyAjNjMxNTE2LgoKMjAxMC0xMi0wMSAxMzoxMjowNCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IGFkZCBzdXBwb3J0IGZvciBlKGEpYy0zIGF1ZGlvCgoyMDEwLTExLTE5IDEyOjQ0OjM1ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogYXZvaWQgc2VuZGluZyBFT1MgZXZlbnQgdHdpY2UKCjIwMTAtMTEtMTkgMTI6NDQ6MTggKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiByZW1vdmUgZGVhZCBjb2RlIHRyeWluZyB0byB1cGRhdGUgc3RyZWFtIGR1cmF0aW9uCgkgIE9uIHRoZSBvbmUgaGFuZCwgaXQgaW5zdWZmaWNpZW50bHkgY2hlY2tzIHdoZXRoZXIgaXQgb25seSB1cGRhdGVzIGEgZHVtbXkKCSAgc2VnbWVudC4gIE9uIHRoZSBvdGhlciBoYW5kLCBvbmx5IGRvaW5nIHRoaXMgYXQgdGhlIHRpbWUgdGhlIGxhc3Qgc2FtcGxlZCBpcwoJICBwcmVwYXJlZCAoYW5kIHNlbnQgZG93bnN0cmVhbSkgaXMgdG9vIGxpdHRsZSB0b28gbGF0ZS4KCjIwMTAtMTEtMDkgMTA6NTg6NTcgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBmcmFnbWVudGVkIHN1cHBvcnQ7IGhhbmRsZSBpc212IHNhbXBsZSBmbGFncwoKMjAxMC0xMS0wOCAxMTo0MToyMSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IGZyYWdtZW50ZWQgc3VwcG9ydDsgaGFuZGxlIGlzbXYgc3RibCBhdG9tcwoJICAuLi4gb3IgbGFjayBvZiBzb21lIHRoZXJlb2YsIHN1Y2ggYXMgbWFuZGF0b3J5IHN0c3ouICBTaHVmZmxlIHNvbWUgY29kZQoJICBpbiBfc3RibF9pbml0IHRvIGRldGVjdCB0aGlzIGVhcmx5IGVub3VnaC4KCjIwMTAtMTEtMDggMTE6Mzk6MzcgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBmcmFnbWVudGVkIHN1cHBvcnQ7IGNvbXBlbnNhdGUgZm9yIGlzbXYgb2Zmc2V0IGhhbmRsaW5nCgkgIC4uLiBvciBsYWNrIHRoZXJlb2YsIHdoaWNoIGFjY29yZGluZyB0byBzcGVjcyB3b3VsZCBwdXQgbWVkaWEgZGF0YSBpbgoJICB1bmxpa2VseSBwb3NpdGlvbi4KCjIwMTAtMTEtMDQgMTQ6MDc6NTYgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4Lmg6CgkgIHF0ZGVtdXg6IGZyYWdtZW50ZWQgc3VwcG9ydCBmb3IgcHVzaCBtb2RlCgoyMDEwLTExLTA0IDEwOjE3OjM3ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5oOgoJICBxdGRlbXV4OiBmcmFnbWVudGVkIHN1cHBvcnQ7IHByb3BlciBhbmQgaW5jcmVtZW50YWwgbW9vZiBwYXJzaW5nCgkgIFRoYXQgaXMsIHBhcnNlIGVhY2ggbW9vZiBpbiBvbmUgcGFzcyAoY29uc2lkZXJpbmcgYWxsIGNvbnRhaW5lZCBzdHJlYW1zJwoJICBtZXRhZGF0YSksIGFuZCBkbyBzbyBpbmNyZW1lbnRhbGx5IGFzIG5lZWRlZCBmb3IgcGxheWJhY2sgcmF0aGVyIHRoYW4KCSAgYW4gaW5pdGlhbCBjb21wbGV0ZSBzY2FuIG9mIGFsbCBtb29mICh0aG91Z2ggYWxsIG1vb3Ygc2FtcGxlIG1ldGFkYXRhCgkgIGlzIGZ1bGx5IHBhcnNlZCBhdCBzdGFydHVwKS4KCjIwMTAtMTEtMDQgMTA6MDY6MzAgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiByZWZhY3RvciBzdHJlYW0gZnJlZWluZwoKMjAxMC0xMS0wNCAxMDowNToxNSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IGRlbGVnYXRlIGxpbmVhciBzZWFyY2ggZm9yIHNhbXBsZSB0byBiaW5hcnkgc2VhcmNoIHdoZW4gcG9zc2libGUKCSAgQWxzbyBhcnJhbmdlIGZvciBwYXJzaW5nIGEgc2FtcGxlIHByaW9yIHRvIHRha2luZyBhIHJlZmVyZW5jZSB0byBpdCwKCSAgd2hpY2ggcmVxdWlyZXMgbGVzcyBtZW1vcnkgbGF5b3V0IGFzc3VtcHRpb25zIGZvciBjb3JyZWN0bmVzcy4KCjIwMTAtMTEtMDEgMTU6NTI6MjkgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBmcmFnbWVudGVkIHN1cHBvcnQ7IGhhbmRsZSBtb292IHNhbXBsZXMgYW5kIHByb3BlciBzdHJlYW0gZHVyYXRpb24KCjIwMTAtMTEtMDEgMTM6NDA6MDUgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBmcmFnbWVudGVkIHN1cHBvcnQ7IGNvbnNpZGVyIG12ZXggYW5kIGhhbmRsZSBmbGFncyBhbmQgb2Zmc2V0IGZpZWxkcwoKMjAxMC0xMC0yOCAxNjo0OTo0MSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IGZyYWdtZW50ZWQgc3VwcG9ydDsgZm9yZWdvIGNoZWNrIGZvciBzaG9ydCBzdHJlYW1zCgkgIC4uLiBhcyBzb21lIGJvZ3VzIGZpbGVzIG1heSBpbmRpY2F0ZSBzdHJlYW1zIG9mIDAgZHVyYXRpb24gaW4gbW9vdiwKCSAgd2hpbGUgaW5kaWNhdGluZyB0aGUgY29tcGxldGUgbW92aWUgZHVyYXRpb24gaW4gbXZoZCAodGhlIGxhdHRlciBzaG91bGQKCSAgYmUgaW4gbWVoZCkuCgoyMDEwLTEwLTI4IDE2OjQ2OjQ4ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eF90eXBlcy5oOgoJICBxdGRlbXV4OiBmcmFnbWVudGVkIHN1cHBvcnQ7IGNvZGUgY2xlYW51cHMgYW5kIG9wdGltaXphdGlvbnMgaW4gYXRvbSBwYXJzaW5nCgkgIEF2b2lkIGV4dHJhIGFsbG9jYXRpb24gaW4gX3BhcnNlX3RydW4sIGFkZCBtb3JlIGNoZWNrcyBmb3IgcGFyc2luZyBlcnJvcnMsCgkgIGFkZCBvciBhZGp1c3Qgc29tZSBkZWJ1ZyBzdGF0ZW1lbnQsIGZpeCBjb21tZW50cywgc3ByaW5rbGUgc29tZSBicmFuY2gKCSAgcHJlZGljdGlvbi4KCjIwMTAtMDktMTMgMjM6MTk6NDQgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBwYXJzZV9tb29mIHNob3VsZCByZXR1cm4gVFJVRSBvbiBzdWNjZXNzCgoyMDEwLTA5LTEwIDIyOjQxOjAzIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogRml4IGl0ZXJhdGlvbiBidWcKCSAgQXZvaWQgaW5maW5pdGUgbG9vcCB3aGVuIGl0ZXJhdGluZyB0cmFmCgoyMDEwLTA5LTEwIDIxOjMyOjI2IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogUmVmYWN0b3IgdHJ1biBwYXJzaW5nCgkgIFRoZSBhbGxvY2F0aW9uIG9mIHRoZSBzYW1wbGVzIGNhbiBiZSBwbGFjZWQgb3V0IG9mIHRoZSBsb29wLgoJICBNYWtlcyB0aGUgY29kZSBjbGVhcmVyLgoJICBBbHNvIGF2b2lkIHJlbHlpbmcgb24gdHJhZiBpbmZvcm1hdGlvbiBhcyBpdCBpcyBwbGFjZWQgb24gdGhlCgkgIGVuZCBvZiB0aGUgZmlsZSBhbmQgbWlnaHQgbm90IGJlIGFjZXNzaWJsZSBvbiBwdXNoIG1vZGUuCgoyMDEwLTA5LTEwIDAwOjI5OjI2IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogUmVtb3ZlIHBhcnNpbmcgb2YgdW51c2VkIGF0b20KCSAgc2R0cCBhdG9tIGlzIHBhcnNlZCBidXQgbm90IHVzZWQsIHNvIHdlIGRvbid0IGhhdmUgdG8KCSAgcGFyc2UgaXQuCgoyMDEwLTExLTA5IDExOjQ1OjAwICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogdHdlYWsgd2FtIHN1cHBvcnQKCSAgLi4uIHdpdGggc29tZSBjb21tZW50IGFuZCBwb3J0YWJpbGl0eSBtYWNyb3MuCgoyMDA5LTA5LTIzIDE4OjQ3OjQyICswMjAwICBNYXJjLUFuZHLDqSBMdXJlYXUgPG1sdXJlYXVAZmx1bW90aW9uLmNvbT4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eF9mb3VyY2MuaDoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eF90eXBlcy5jOgoJICBxdGRlbXV4OiBzdXBwb3J0IHdtYSAmIHZjLTEKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTU5NjMyMQoKMjAxMC0wMy0xMSAwOTo1NjowNCArMDEwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDxhbW9yYWxlc0BmbHVtb3Rpb24uY29tPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4Lmg6CgkgIHF0ZGVtdXg6IHBhcnNlIGZtcDQgc2FtcGxlcyBpbmZvcm1hdGlvbgoJICBUaGUgZnJhZ21lbnRlZCBtcDQgZm9ybWF0IHN0b3JlcyB0aGUgdHJhY2tzIGFuZCBzYW1wbGVzIGluZm9ybWF0aW9uIGluIHRoZQoJICAnbW9vZicgYm94ZXMsIHdoaWNoIGFyZSBhcHBlbmRlZCBiZWZvcmUgZWFjaCBmcmFnbWVudCAoZnJhZ21lbnQtPidtb29mJysnbWRhdCcpLgoJICBUaGUgJ21mcmEnIGJveCBzdG9yZXMgdGhlIG9mZnNldCBvZiBlYWNoICdtb29mJyBib3ggYW5kIHRoZWlyIHByZXNlbnRhdGlvbgoJICB0aW1lLiBUaGUgbG9jYXRpb24gb2YgdGhpcyBib3ggY2FuIGJlIHJldHJpZXZlZCBmcm9tIHRoZSAnbWZybycgYm94LCB3aGljaCBpcwoJICBsb2NhdGVkIGF0IHRoZSBlbmQgb2YgdGhlIGZpbGUuCgkgIFRoZSAnbWZyYScgYm94IGlzIHBhcnNlZCB0byBnZXQgdGhlIG9mZnNldCBvZiBlYWNoICdtb29mJyBib3ggYW5kIHRoZWlyCgkgIHByZXNlbnRhdGlvbiB0aW1lLgoJICBFYWNoICdtb29mJyBib3ggY2FuIGNvbnRhaW4gaW5mb3JtYXRpb24gZm9yIG9uZSBvciBtb3JlIHRyYWNrcyBpbnNpZGUKCSAgJ3RmaGQnIGJveGVzLiBGb3IgZWFjaCB0cmFjayBpbiBhICdtb29mJywgd2UgaGF2ZSBhICd0cnVuJyBib3gsIHdoaWNoCgkgIGNvbnRhaW5zIGluZm9ybWF0aW9uIG9mIGVhY2ggc2FtcGxlIChvZmZzZXQgYW5kIGR1cmF0aW9uKSB1c2VkIHRvIGJ1aWxkCgkgIHRoZSBzYW1wbGVzIHRhYmxlLgoJICBCYXNlZCBvbiBwYXRjaCBieSBNYXJjLUFuZHLDqSBMdXJlYXUgPG1sdXJlYXVAZmx1bW90aW9uLmNvbT4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTU5NjMyMQoKMjAxMC0wMy0xMSAxNTozNDo0OSArMDEwMCAgTWFyYy1BbmRyw6kgTHVyZWF1IDxtbHVyZWF1QGZsdW1vdGlvbi5jb20+CgoJKiBnc3QvcXRkZW11eC9xdGF0b21wYXJzZXIuaDoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eF9kdW1wLmM6CgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXhfZHVtcC5oOgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4X2ZvdXJjYy5oOgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4X3R5cGVzLmM6CgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXhfdHlwZXMuaDoKCSAgcXRkZW11eDogYWRkIGZyYWdtZW50ZWQgbXA0IGZvdXJjY3MKCSAgQWRkcyBmb3VyY2MncyBmb3IgdGZyYSwgdGZoZCwgdHJ1biwgc2R0cCwgdHJleCwgbWVoZCBhbmQKCSAgdGhlaXIgZHVtcHMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTU5NjMyMQoKMjAxMC0wMy0xMSAxMDoyNDo1NiArMDEwMCAgTWFyYy1BbmRyw6kgTHVyZWF1IDxtbHVyZWF1QGZsdW1vdGlvbi5jb20+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IHBhcnNlIHRoZSB0cmFjayBpZCBmcm9tIHRoZSB0cmFjayBoZWFkZXIKCSAgU2lnbmVkLW9mZi1ieTogQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDxhbW9yYWxlc0BmbHVtb3Rpb24uY29tPgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTk2MzIxCgoyMDEwLTAzLTExIDE0OjEwOjEyICswMTAwICBNYXJjLUFuZHLDqSBMdXJlYXUgPG1sdXJlYXVAZmx1bW90aW9uLmNvbT4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogYWxsb3cgcHVsbGluZyBhdG9tcyB3aXRoIHVua25vd24gc2l6ZQoJICBTaWduZWQtb2ZmLWJ5OiBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPGFtb3JhbGVzQGZsdW1vdGlvbi5jb20+CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD01OTYzMjEKCjIwMTAtMDctMTQgMjA6MTM6NTUgKzAyMDAgIE1hcmMtQW5kcsOpIEx1cmVhdSA8bWx1cmVhdUBmbHVtb3Rpb24uY29tPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eF9kdW1wLmM6CgkgIHF0ZGVtdXg6IG1ha2UgcXRkZW11eF9kdW1wX212aGQgcGFyc2UgdmVyc2lvbiAxIGNvcnJlY3RseQoJICBWZXJzaW9ucyAwIGFuZCAxIG9mIG12aGQgaGF2ZSBkaWZmZXJlbnQgc2l6ZXMgb2YgaXRzIHZhbHVlcwoJICAoMzJiaXRzLzY0Yml0cykuIFRoaXMgcGF0Y2ggbWFrZXMgaXQgZHVtcCB0aGVtIGNvcnJlY3RseS4KCSAgQWxzbyB1c2UgdGhlIHJpZ2h0IG5vZGUgaW4gdGhlIHBhcmFtZXRlciBhbmQgbm90IHRoZSByb290IG5vZGUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD01OTYzMjEKCjIwMTAtMTEtMTkgMTI6NDU6MDAgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJICBtYXRyb3NrYWRlbXV4OiBtaW5vciBjbGVhbnVwcyBpbiBzZXR0aW5nIHN0cmVhbWhlYWRlciBvbiBjYXBzCgoyMDEwLTExLTAyIDE3OjA0OjA0ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYWRlbXV4OiBub3JtYWxpemUgZW1wdHkgQ3VlcyB0byBubyBDdWVzCgkgIC4uLiB0byB0cmlnZ2VyIGluZGV4bGVzcyBzZWVraW5nLgoKMjAxMC0xMC0yNiAxMToxNTo0OSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIGF2aWRlbXV4OiBhZGQgd29ya2Fyb3VuZCBmb3IgYnVnZ3kgbGlzdCBzaXplCgkgIEZpeGVzIHRydW5jYXRlZCBleHRyYS1kYXRhIGluIGhkcmwvc3RybC9zdHJmIGR1ZSB0byBidWdneSBjb250YWluaW5nCgkgIGxpc3Qgc2l6ZSBub3QgYWNjb3VudGluZyBmb3IgcGFkZGluZyBpbiBjb250YWluZWQgY2h1bmtzLgoKMjAxMC0xMi0wMiAxNjoxMTowMSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzc3JjZGVtdXguYzoKCSAgcnRwc3NyY2RlbXV4OiBkbyBub3QgaG9sZCBjdXN0b20gUEFEX0xPQ0sgd2hlbiBwdXNoaW5nIGRvd25zdHJlYW0KCjIwMTAtMTItMDIgMTY6MTA6MTQgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiByZXNldCBzZXNzaW9uIG1hbmFnZXIgYmFzZSB0aW1lIHdoZW4gZmx1c2hpbmcKCSAgLi4uIGFzIHJ0cGJpbiB1c2VzIHJ1bm5pbmcgdGltZSB0byBoYW5kbGUgcnRwaml0dGVyYnVmZmVyJ3MgYnVmZmVyIG1vZGUgcGF1c2VzLgoKMjAxMC0xMi0wMSAxNjo1MTozMyArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IGluY2x1ZGUgcmFuZ2UgcmVxdWVzdCBmb3IgYWxsIHN0cmVhbXMgd2l0aCBub24tYWdncmVnYXRlIGNvbnRyb2wKCjIwMTAtMTAtMDcgMTQ6NTA6NTMgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBmaXggZGVidWcgc3RhdGVtZW50CgoyMDEwLTEyLTAzIDE1OjM4OjAwICswMTAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICBhdmlkZW11eDogUGFyc2UgbW9yZSB2YXJpYW50cyBvZiBudW1lcmljYWwgSURJVCB0YWcKCjIwMTAtMDUtMDcgMTc6MzA6MzAgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBleHQvbGlicG5nL2dzdHBuZ2VuYy5jOgoJICBwbmdlbmM6IFVzZSBwcm9wZXIgZnJhbWVyYXRlIHJhbmdlIGluIGNhcHMKCjIwMTAtMTItMDMgMTU6MDQ6MjYgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvd2F2ZW5jLmM6CgkgIHRlc3RzOiBGaXggcHJldmlvdXNseSB1bmJ1aWxkYWJsZS91bnRlc3RlZCB3YXZlbmMgdGVzdAoKMjAxMC0xMC0yNCAxNToyMTowOCArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzoKCSAgZmx2ZGVtdXg6IFJlZmFjdG9yIHRhZyBwdXNoaW5nIGxvZ2ljCgkgIFRoZSBsb2dpYyBvZiB3aGVuIHRvIHB1c2ggd2FzIHdyb25nIGFsc28gKHJlc3VsdGluZyBpbiBzb21lIHRhZ3MgbmV2ZXIKCSAgYmVpbmcgcHVzaGVkKS4KCjIwMTAtMTAtMjQgMTU6MjA6MjcgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvZmx2L01ha2VmaWxlLmFtOgoJKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6CgkgIGZsdmRlbXV4OiBVc2UgcGJ1dGlscyBmb3IgY29kZWMgZGVzY3JpcHRpb25zCgoyMDEwLTA0LTEzIDExOjI5OjMwICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvdWRwc2luay5jOgoJICBjaGVjazogVXNlIGZhaWxfdW5sZXNzX2VxdWFsc19pbnQgaW5zdGVhZCBvZiBmYWlsX2lmCgkgIE1ha2VzIHRoZSBlcnJvciBtZXNzYWdlIG1vcmUgaW50ZXJlc3RpbmcKCjIwMTAtMTEtMzAgMTk6MjI6MTEgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIGF2aWRlbXV4OiBBbHNvIGV4dHJhY3QgSURJVCB0YWdzIHByZXNlbnQgdG9vIGVhcmx5CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MzYxNDMKCjIwMTAtMTEtMzAgMTk6MjE6MjMgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIGF2aWRlbXV4OiBBbHNvIGVtaXQgRGF0ZVRpbWUgdGFnCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MzYxNDMKCjIwMTAtMTItMDMgMDA6MjI6NDggKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6CgkgIHdhdnBhcnNlOiBkZXRlY3QgRFRTIGFkdmVydGlzZWQgYXMgUENNIGNvcnJlY3RseSBpbiBzb21lIG1vcmUgY2FzZXMKCSAgVGhlIERUUyB0eXBlZmluZGVyIG1heSByZXR1cm4gYSBsb3dlciBwcm9iYWJpbGl0eSBmb3IgZnJhbWVzIHRoYXQgc3RhcnQKCSAgYXQgbm9uLXplcm8gb2Zmc2V0cyBhbmQgd2hlcmUgdGhlcmUncyBubyBzZWNvbmQgZnJhbWUgc3luYyBpbiB0aGUgZmlyc3QKCSAgYnVmZmVyLiBJdCdzIGZhaXJseSB1bmxpa2VseSB0aGF0IHdlJ2xsIGFjaWRlbnRhbGx5IGlkZW50aWZ5IFBDTSBkYXRhCgkgIGFzIERUUywgc28gd2UgZG9uJ3QgZG8gYWRkaXRpb25hbCBjaGVja3MgZm9yIG5vdy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYzNjIzNAoKMjAxMC0xMS0wOCAxNzoxMTo0MiArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgIHRlc3RzOiBtYWtlZmlsZSBjbGVhbnVwCgkgIEZpeCBpbmRlbnRhdGlvbi4gVXNlICQoR1NUX01BSk9STUlOT1IpIGluc3RlYWQgb2YgaGFyZGNvZGVkIDAuMTAuCgoyMDEwLTExLTA4IDE3OjAyOjU2ICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svcGlwZWxpbmVzLy5naXRpZ25vcmU6CgkqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy93YXZlbmMuYzoKCSAgdGVzdHM6IGFkZCBhIHRlc3QgZm9yIHdhdiBtdXhpbmcKCjIwMTAtMTEtMDggMTY6NTc6MTcgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2ludGVybGVhdmUuYzoKCSogdGVzdHMvY2hlY2svcGlwZWxpbmVzL3dhdnBhY2suYzoKCSAgdGVzdHM6IHJlbW92ZSBuZXdsaW5lcyBiZXR3ZWVuIHZhcmlhYmxlIGRlY2xzIChvbGQgZ3N0LWluZGVudCBmYWlsdXJlKQoKMjAxMC0xMS0wOCAxNDo0NzowNCArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L2xpYnBuZy9nc3RwbmdkZWMuYzoKCSAgcG5nZGVjOiB1c2UgcG5nX2Vycm9yKCkgYXMgcmVjb21tZW5kZWQgYnkgbGlicG5nIGRvY3MgdG8gc2lnbmFsIGFuIGVycm9yCgkgIFdpdGhvdXQgdGhhdCB0aGUgZWxlbWVudCBsb29wcyBlbmRsZXNzbHkgb24gYnJvZWtuIHBuZ3MuIEZpeGVzICM2MzQzMTQKCjIwMTAtMTEtMTYgMTc6NDg6MTYgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBQYXJzZSBhbmQgdXNlIGNyZWF0aW9uIHRpbWUgdGFnIGZyb20gbXZoZAoJICBFeHBvc2UgY3JlYXRpb24gdGltZSBmcm9tIG12aGQgYXMgYSBkYXRldGltZSB0YWcKCSAgRml4ZXMgIzYzNDkyOAoKMjAxMC0xMC0yNyAxOToxNToyMCArMDIwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDxhbW9yYWxlc0BmbHVtb3Rpb24uY29tPgoKCSogZ3N0L2ljeWRlbXV4L2dzdGljeWRlbXV4LmM6CgkgIGljeWRlbXV4OiBBZGQgJ1N0cmVhbVVybCcgbWV0YWRhdGEgYXMgR1NUX1RBR19IT01FUEFHRSB0YWcKCjIwMTAtMTAtMjMgMTk6MzQ6MDAgLTA0MDAgIFRvbSBKYW5pc3pld3NraSA8VG9tLkphbmlzemV3c2tpQGFsY2F0ZWwtbHVjZW50LmNvbT4KCgkqIGdzdC9mbHYvZ3N0Zmx2bXV4LmM6CgkgIGZsdm11eDogRml4IGZvciBuZWxseW1vc2VyIGNvZGVjaWQgc2V0dGluZwoJICBGaXhlcyBidWcgIzYzMjg5Ny4KCjIwMTAtMTAtMjEgMTY6MTU6MDggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJICBtYXRyb3NrYW11eDogQWRkIHN1cHBvcnQgZm9yIEUtQUMzCgoyMDEwLTEwLTIxIDE2OjE0OjQ0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSAgbWF0cm9za2FtdXg6IEFkZCBzdXBwb3J0IGZvciBEVFMKCjIwMTAtMTAtMzEgMTg6MDg6MTcgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzoKCSAgc291cGh0dHBzcmM6IERvbid0IHNlbmQgc2Vla3MgYmVoaW5kIHRoZSBlbmQgb2YgZmlsZSB0byB0aGUgc2VydmVyCgkgIEFsc28gaW1wcm92ZSBkZWJ1ZyBvdXRwdXQsIHJlLWluaXRpYWxpemUgdGhlIGNvbnRlbnQgc2l6ZSBhbmQgbGV0IHRoZQoJICBzZWVrIGhhbmRsZXIgZXJyb3Igb3V0IG9uIGludmFsaWQgc2VlayBzZWdtZW50cy4KCSAgRml4ZXMgYnVnICM2MzI5NzcuCgoyMDEwLTEyLTAyIDE3OjUzOjQyICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBqMmtwYXkuYzoKCSAgajJrcGF5OiB1c2UgU09QIG1hcmtlcnMgdG8gc3BsaXQgYml0c3RyZWFtCgkgIFdoZW4gcGFyc2luZyB0aGUgYml0c3RyZWFtLCBsb29rIGZvciBTT1AgbWFya2VycyBiZWNhdXNlIHdlIGFyZSBhbGxvd2VkIHRvIHNwbGl0CgkgIHBhY2tldHMgb24gdGhvc2UgbWFya2VyIGJvdW5kYXJpZXMuCgkgIFJld29yayB0aGUgcGFyc2luZyBjb2RlIGEgbGl0dGxlIHNvIHRoYXQgd2UgY2FuIHBhY2sgbXVsdGlwbGUgUGFja2V0aXphdGlvbgoJICB1bml0cyBpbiBvbmUgUlRQIHBhY2tldC4KCjIwMTAtMTEtMTggMTI6NDk6NDcgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGoya3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGoya3BheS5oOgoJICBydHBqMmtwYXk6IHVzZSBidWZmZXIgbGlzdHMKCSAgVXNlIGJ1ZmZlciBsaXN0cyBmb3IgZG9pbmcgemVyb2NvcHkgcGF5bG9hZGluZy4KCSAgQWRkIHByb3BlcnR5IHRvIGRpc2FibGUgYnVmZmVyIGxpc3RzLgoKMjAxMC0xMS0xNiAxNjo1NDoyNSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2NHBheS5jOgoJICBoMjY0cGF5OiBzbWFsbCBjbGVhbnVwcwoJICBBbGxvY2F0ZSBhZGFwdGVyIG9ubHkgb25jZS4KCSAgTWFrZSBzb21lIGd1aW50OCAqIGNvbnN0LgoKMjAxMC0xMS0xNiAxNTozOToyNCArMDEwMCAgVGFtYmV0IEluZ28gPHRhbWJldCBhdCBnbWFpbC5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjY0cGF5Lmg6CgkgIHJ0cGgyNjRwYXk6IGltcGxlbWVudCBmdWxsIGJ5dGVzdHJlYW0gc2NhbiBtb2RlLgoJICBJbXBsZW1lbnQgdGhlIGZ1bGwgYnl0ZXN0cmVhbSBzY2FuIG1vZGUuCgkgIEZpeGVzICM2MzQ5MTAKCjIwMTAtMTEtMTUgMTA6NTI6MzEgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9leGFtcGxlcy9ydHAvY2xpZW50LUgyNjNwLUFNUi5zaDoKCSogdGVzdHMvZXhhbXBsZXMvcnRwL2NsaWVudC1IMjYzcC1QQ01BLnNoOgoJKiB0ZXN0cy9leGFtcGxlcy9ydHAvY2xpZW50LUgyNjNwLnNoOgoJKiB0ZXN0cy9leGFtcGxlcy9ydHAvY2xpZW50LUgyNjQtUENNQS5zaDoKCSogdGVzdHMvZXhhbXBsZXMvcnRwL2NsaWVudC1IMjY0LnNoOgoJKiB0ZXN0cy9leGFtcGxlcy9ydHAvY2xpZW50LVBDTUEuc2g6CgkqIHRlc3RzL2V4YW1wbGVzL3J0cC9zZXJ2ZXItdjRsMi1IMjY0LWFsc2FzcmMtUENNQS5zaDoKCSAgZXhhbXBsZXM6IGltcHJvdmUgUlRQIGV4YW1wbGVzCgkgIE1ha2UgdGhlIGV4YW1wbGVzIHVzZSBhdXRvdmlkZW9zaW5rIGFuZCBmZm1wZWdjb2xvcnNwYWNlIGZvciBiZXR0ZXIKCSAgY29tcMOgdGliaWxpdHkuCgkgIE1ha2Ugc29tZSBtb3JlIHZhcmlhYmxlcyBmb3IgdGhlIHNpbmsgYW5kIHRoZSBkZWNvZGVycy4KCSAgU2V0IHplcm9sYXRlbmN5IHR1bmluZyBvbiB4MjY0ZW5jIGZvciBiZXR0ZXIgcmVhbHRpbWUgcmVzdWx0cy4KCjIwMTAtMTEtMTAgMTE6MDQ6NDggKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuaDoKCSAgcnRzcHNyYzogc2VsZWN0IG11bHRpY2FzdCB0cmFuc3BvcnRzIGluIGEgc21hcnRlciB3YXkKCSAgV2hlbiB3ZSBzZWUgYSBtdWx0aWNhc3QgYWRkcmVzcyBpbiB0aGUgU0RQIGNvbm5lY3Rpb24sIG9ubHkgdHJ5IHRvIG5lZ290aWF0ZSBhCgkgIG11bHRpY2FzdCB0cmFuc3BvcnQgd2l0aCB0aGUgc2VydmVyLgoJICBGaXhlcyAjNjM0MDkzCgoyMDEwLTEyLTAyIDE4OjE0OjE2ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgQnVtcCBHTGliIHJlcXVpcmVtZW50IHRvIGltcGxpY2l0IHJlcXVpcmVtZW50CgkgIGllLiA+PSAyLjIwIHdoaWxlIHdlIGRlcGVuZCBvbiBjb3JlL2Jhc2UgMC4xMC4zMQoKMjAxMC0xMi0wMiAxODoxMzo1NyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tMTM5NC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYWNvbG9yLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFubm9kZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXBldGFnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvZngueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvZGV0ZWN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF2aS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWNhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWlyby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jdXR0ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVpbnRlcmxhY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZlbmNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZmVjdHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXF1YWxpemVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVzZHNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmxhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx4ZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdjb25mZWxlbWVudHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2RrcGl4YnVmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbTJrMS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc3RydHBtYW5hZ2VyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWhhbGVsZW1lbnRzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWljeWRlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlkM2RlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWltYWdlZnJlZXplLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVybGVhdmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanBlZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sZXZlbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tYXRyb3NrYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aWZpbGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlwYXJ0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5hdmlnYXRpb250ZXN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zczQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5nLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXB1bHNlYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcXVpY2t0aW1lLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlcGxheWdhaW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0c3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hhcGV3aXBlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNob3V0MnNlbmQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc21wdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVjdHJ1bS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10YWdsaWIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdWRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvNGxpbnV4Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2JveC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2Nyb3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9maWx0ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9taXhlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14aW1hZ2VzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teTRtZW5jLnhtbDoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICBCYWNrIHRvIGRldmVsb3BtZW50Cgo9PT0gcmVsZWFzZSAwLjEwLjI2ID09PQoKMjAxMC0xMi0wMSAyMToxNTowOSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBDaGFuZ2VMb2c6CgkqIE5FV1M6CgkqIFJFTEVBU0U6CgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5pbnRlcmZhY2VzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLnByZXJlcXVpc2l0ZXM6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi0xMzk0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhY29sb3IueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYW5ub2RleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hcGV0YWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9meC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9kZXRlY3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXZpLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhY2FzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhaXJvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWN1dHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWludGVybGFjZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmVuY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZmZWN0di54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lcXVhbGl6ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXNkc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbGFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHhkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2NvbmZlbGVtZW50cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZGtwaXhidWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tMmsxLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzdHJ0cG1hbmFnZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taGFsZWxlbWVudHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWN5ZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW1hZ2VmcmVlemUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXJsZWF2ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxldmVsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1hdHJvc2thLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpZmlsZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aXBhcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmF2aWdhdGlvbnRlc3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzNC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3NhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbmcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcHVsc2VhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1xdWlja3RpbWUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVwbGF5Z2Fpbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRzcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaGFwZXdpcGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hvdXQyc2VuZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbXB0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWN0cnVtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXRhZ2xpYi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi11ZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW80bGludXgyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvYm94LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvY3JvcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2ZpbHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb21peGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXhpbWFnZXNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi15NG1lbmMueG1sOgoJKiBnc3QtcGx1Z2lucy1nb29kLmRvYXA6CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgUmVsZWFzZSAwLjEwLjI2CgoyMDEwLTExLTMwIDE1OjI4OjUwIC0wODAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5jOgoJICBkZWludGVybGFjZTogYW5hbHlzZSBSRkYgZmllbGRzIGluIGNvcnJlY3Qgb3JkZXIKCSAgQ29kZSB3YXMgcmVwZWF0aW5nIHRoZSBzZWNvbmQgZmllbGQsIG5vdCB0aGUgZmlyc3QuCgkgIEZpeGVzOiAjNjM2MTc5LgoKMjAxMC0xMS0yOSAxNTozMjo0MCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IGhhbmRsZSBzdGFsZSBkaWdlc3QgYXV0aGVudGljYXRpb24gc2Vzc2lvbiBkYXRhCgkgIEluIHBhcnRpY3VsYXIsIGhhbmRsZSBVbmF1dGhvcml6ZWQgc2VydmVyIHJlc3BvbnNlIHdoZW4gdHJ5aW5nIHRvIGNvbnZleQoJICBrZWVwLWFsaXZlLgoJICBGaXhlcyAjNjM1NTMyLgoKMjAxMC0xMS0yNiAxNTowMDoyOSArMDEwMCAgVGhpanMgVmVybWVpciA8dGhpanN2ZXJtZWlyQGdtYWlsLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2NGRlcGF5LmM6CgkgIHJ0cGgyNjRkZXBheTogZml4IHNlZ2ZhdWx0IG9uIGVtcHR5IHBheWxvYWQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYzNTg0MwoKMjAxMC0xMS0yNSAxOTowNjoyNyArMDEwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZkZXBheS5jOgoJICBkdG1mOiBSZW1vdmUgZGVhZCBhc3NpZ25tZW50cwoKMjAxMC0xMS0xOCAwMDo0NToyOSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgMC4xMC4yNS41IHByZS1yZWxlYXNlCgoyMDEwLTExLTE4IDAwOjQ0OjQ1ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHBvL2JnLnBvOgoJKiBwby9maS5wbzoKCSogcG8vaHUucG86CgkqIHBvL3NrLnBvOgoJKiBwby90ci5wbzoKCSAgcG86IHVwZGF0ZSB0cmFuc2xhdGlvbnMKCjIwMTAtMTEtMTQgMDA6MTg6MTYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmM6CgkgIGRlaW50ZXJsYWNlOiBmaXggcmVmZXJlbmNlIGxlYWsKCjIwMTAtMTEtMTIgMjM6NTk6MDYgKzExMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5jOgoJICBkZWludGVybGFjZTogRmx1c2ggUW9TIGFuZCBoaXN0b3J5IGJlZm9yZSBhcHBseWluZyBzZWdtZW50CgkgIFdoZW4gaGFuZGxpbmcgbmV3c2VnbWVudCwgZmx1c2ggb3V0IHRoZSBidWZmZXIgaGlzdG9yeSBpbiB0aGUKCSAgZXhpc3Rpbmcgc2VnbWVudCwgbm90IHRoZSBuZXcgb25lLiBGaXhlcyBwbGF5YmFjayBpbiBzb21lIERWRAoJICBjYXNlcy4KCSAgUGFydGlhbGx5IGZpeGVzICM2MzMyOTQKCjIwMTAtMTEtMTIgMTI6MjA6MTYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmM6CgkgIGRlaW50ZXJsYWNlOiBpbXByb3ZlIGV2ZW50IGxvZ2dpbmcKCjIwMTAtMTEtMDUgMTc6MDA6MTUgKzAxMDAgIFJvYmVydCBTd2FpbiA8cm9iZXJ0LnN3YWluQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuaDoKCSAgZGVpbnRlcmxhY2U6IEltcGxlbWVudCBmaWVsZCBoaXN0b3J5IGZsdXNoaW5nCgkgIEluIGEgbnVtYmVyIG9mIGNhc2VzIGl0IGlzIG5lY2Vzc2FyeSB0byBmbHVzaCB0aGUgZmllbGQgaGlzdG9yeSBieQoJICBwZXJmb3JtaW5nICdkZWdyYWRlZCcgZGVpbnRlcmxhY2luZyAtIHRoYXQgaXMsIHVzaW5nIHRoZSB1c2VyLWNob3NlbgoJICBtZXRob2QgZm9yIGFzIG1hbnkgZmllbGRzIGFzIHBvc3NpYmxlLCB0aGVuIHVzaW5nIHZmaXIgZm9yIGFzIGxvbmcgYXMKCSAgdGhlcmUgYXJlID49IDIgZmllbGRzIHJlbWFpbmluZyBpbiB0aGUgaGlzdG9yeSwgdGhlbiB1c2luZyBsaW5lYXIgZm9yCgkgIHRoZSBsYXN0IGZpZWxkLgoJICBUaGlzIHNob3VsZCBhdm9pZCBsb3NpbmcgZmllbGRzIGJlaW5nIGtlcHQgZm9yIGhpc3RvcnkgZm9yIGV4YW1wbGUgYXQKCSAgRU9TLgoJICBUaGlzIG1heSBhZGRyZXNzIHBhcnQgb2YgIzYzMzI5NAoKMjAxMC0xMS0wNSAxNTo0NDozNSArMDEwMCAgUm9iZXJ0IFN3YWluIDxyb2JlcnQuc3dhaW5AY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmM6CgkgIGRlaW50ZXJsYWNlOiBSZWZhY3RvciBjaGFpbiBmdW5jdGlvbgoJICBUaGlzIGlzIG5lZWRlZCB0byBiZSBhYmxlIHRvIG91dHB1dCBhIGZyYW1lIGZyb20gb3V0c2lkZSB0aGUgY2hhaW4KCSAgZnVuY3Rpb24sIGkuZS4gaW4gdGhlIGZvbGxvd2luZyBjb21taXQgdGhhdCBhZGRzIGZsdXNoaW5nIG9mIHRoZSBmaWVsZAoJICBoaXN0b3J5LgoKMjAxMC0xMS0wNSAxNzoxNzo1NiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogd2Ugc3RpbGwgcmVxdWlyZSBHdGsrID49IDIuMTQuMCB3aGVuIGNvbXBpbGluZyBhZ2FpbnN0IDIuMAoJICBUaGUgY2hlY2sgZm9yIHRoZSBtaW5vciB2ZXJzaW9uIHdhcyBkcm9wcGVkIGluIHRoZSBwcmV2aW91cyBjb21taXQuCgoyMDEwLTExLTA1IDE2OjI0OjQyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiBhZGQgLS13aXRoLWd0ayBvcHRpb24gYW5kIGRlZmF1bHQgdG8gR3RrKyAyLjAgd2hpbGUgdGhlIDMuMCBBUEkgaXMgc3RpbGwgaW4gZmx1eAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjM0MDE0CgoyMDEwLTExLTA0IDE2OjQyOjA3ICsxMDAwICBKb25hdGhhbiBNYXR0aGV3IDxqb25hdGhhbkBkMTRuLm9yZz4KCgkqIGdzdC9pY3lkZW11eC9nc3RpY3lkZW11eC5jOgoJICBpY3lkZW11eDogZml4IHVzZS1hZnRlci1mcmVlIG9mIHRhZ2xpc3QKCSAgQnJva2VuIGJ5IGNvbW1pdCA0YzJmNTMzMyAoYnVnICM2MzAyMDUpLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjMzOTcwCgoyMDEwLTExLTAxIDE3OjI5OjAxICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICAwLjEwLjI1LjQgcHJlLXJlbGVhc2UKCjIwMTAtMTEtMDEgMTc6Mjg6MzYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogcG8vY3MucG86CgkqIHBvL2RhLnBvOgoJKiBwby9kZS5wbzoKCSogcG8vZWwucG86CgkqIHBvL2VzLnBvOgoJKiBwby9mci5wbzoKCSogcG8vaXQucG86CgkqIHBvL25iLnBvOgoJKiBwby9ubC5wbzoKCSogcG8vcGwucG86CgkqIHBvL3NsLnBvOgoJKiBwby9zdi5wbzoKCSAgcG86IHVwZGF0ZSB0cmFuc2xhdGlvbnMKCjIwMTAtMTEtMDEgMTY6MDQ6MjAgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IGZpeCAtLWRpc2FibGUtZXh0ZXJuYWwKCjIwMTAtMTEtMDEgMTQ6NTY6MjggKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRkZXBheS5oOgoJICBydHBoMjY0ZGVwYXk6IG9ubHkgc2V0IGRlbHRhIHVuaXQgb24gYWxsLW5vbi1rZXkgdW5pdHMKCSAgT25seSBzZXQgdGhlIGRlbHRhIGZsYWcgd2hlbiBhbGwgb2YgdGhlIHVuaXRzIGluIHRoZSBwYWNrZXQgYXJlIGRlbHRhIHVuaXRzLgoJICBCYXNlZCBvbiBwYXRjaCBmcm9tIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCSAgRml4ZXMgIzYzMjk0NQoKMjAxMC0xMC0yNiAxNTo0NDozNyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZ29vbS9nc3Rnb29tLmM6CgkgIGdvb206IFJldHVybiBub3QtbmVnb3RpYXRlZCB3aGVuIGJwcyBpcyB1bmtub3duCgkgIElmIGNhcHMgd2VyZW4ndCBuZWdvdGlhdGVkLCBnb29tIHNob3VsZCByZXR1cm4gbm90LW5lZ290aWF0ZWQKCSAgZnJvbSBpdHMgY2hhaW4gZnVuY3Rpb25zIGluc3RlYWQgb2YgdXNpbmcgYnBzIHVuaXRpYWxpemVkLCB3aGljaAoJICBsZWFkcyB0byBhIGRpdmlzaW9uIGJ5IDAKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYzMzIxMgoKMjAxMC0xMC0yNyAxMzoxNjo1NCArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSA3YmJkNzA4IHRvIDAxMWJjYzgKCjIwMTAtMTAtMjYgMTY6NTQ6MTEgKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGdzdC92aWRlb2ZpbHRlci9nc3R2aWRlb2ZsaXAuYzoKCSAgdmlkZW9mbGlwOiBGb3J3YXJkIHNyYyBwYWQgZXZlbnRzIHVwc3RyZWFtLgoJICBGaXggcGFzc2luZyBuYXZpZ2F0aW9uIGFuZCBvdGhlciBldmVudHMgdXBzdHJlYW0gYnkgYWN0dWFsbHkgc2VuZGluZyB0aGVtLgoJICBGaXhlczogIzYzMzIwNQoKMjAxMC0xMC0yNCAxODo1MDozMCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IGZpeCBkZWFkbG9jayBpbiBlcnJvciBjb2RlIHBhdGgKCSAgR1NUX0VMRU1FTlRfRVJST1IgbXVzdCBub3QgYmUgY2FsbGVkIHdpdGggdGhlIG9iamVjdCBsb2NrIGhlbGQsCgkgIHNpbmNlIGl0IHdpbGwgY2FsbCBnc3Rfb2JqZWN0X2dldF9wYXJlbnQoKSBpbnRlcm5hbGx5LCB3aGljaAoJICB0YWtlcyB0aGUgb2JqZWN0IGxvY2sgYXMgd2VsbC4KCjIwMTAtMTAtMjAgMTA6MjE6NDggKzAyMDAgIFBoaWxpcCBKw6RnZW5zdGVkdCA8cGhpbGlwakBvcGVyYS5jb20+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2FkZW11eDogUmVtb3ZlIHVzZWxlc3MgY2xlYXJpbmcgb2Ygc2VuZF94aXBoX2hlYWRlcnMgZm9yIERpcmFjCgkgIFRoaXMgbG9va3MgbGlrZSBhIG1pc3Rha2Ugd2hlbiBjb3B5LXBhc3RpbmcgdGhlIFRoZW9yYSBjb2RlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjMyNjgyCgoyMDEwLTEwLTIwIDEzOjI4OjI4ICswMjAwICBQaGlsaXAgSsOkZ2Vuc3RlZHQgPHBoaWxpcGpAb3BlcmEuY29tPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thZGVtdXg6IGRvbid0IGNyYXNoIGlmIHZvcmJpcy90aGVvcmEgY29kZWMgZGF0YSBpcyBtaXNzaW5nCgkgIEVycm9yIG91dCBwcm9wZXJseSBpbiB0aGlzIGNhc2UgaW5zdGVhZCBvZiBjcmFzaGluZy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYzMjY4MgoKMjAxMC0xMC0yMiAxODoxMTo0NiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgMC4xMC4yNS4zIHByZS1yZWxlYXNlCgoyMDEwLTEwLTE5IDE2OjQ1OjUxICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogZml4IGR1cmF0aW9uIHJlcG9ydGluZwoJICBJbml0IHNlZ21lbnQgcHJpb3IgdG8gc3RvcmluZyBkdXJhdGlvbiBpbmZvIGluIGl0LgoJICBGaXhlcyAjNjMyNTQ4LgoKMjAxMC0xMC0xOSAxNDoyMTo1MyArMDEwMCAgQmFzdGllbiBOb2NlcmEgPGhhZGVzc0BoYWRlc3MubmV0PgoKCSogZ2NvbmYvTWFrZWZpbGUuYW06CgkgIGdjb25mOiBEb24ndCBpbnN0YWxsIHNjaGVtYXMgd2hlbiBHQ29uZiBpcyBkaXNhYmxlZAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjMyNTUzCgoyMDEwLTEwLTE5IDEzOjQzOjE0ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvZHRtZi9nc3RkdG1mc3JjLmM6CgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZkZXBheS5jOgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mc3JjLmM6CgkgIHZhcmlvdXMgKGdzdCk6IGFkZCBtaXNzaW5nIEdfUEFSQU1fU1RBVElDX1NUUklOR1MgZmxhZ3MKCSAgQ2Fub25pY2FsaXplIHByb3BlcnR5IG5hbWVzIGFzIG5lZWRlZC4KCjIwMTAtMTAtMTkgMTM6NDQ6MjUgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9kdG1mL2dzdGR0bWZzcmMuYzoKCSAgZHRtZnNyYzogcmVtb3ZlIERFQlVHX0ZVTkNQVFIgZnJvbSBnb2JqZWN0IHZtZXRob2RzCgoyMDEwLTEwLTE2IDE1OjQzOjUzICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICB3aW4zMjogc2V0IEdTVF9QQUNLQUdFX1JFTEVBU0VfREFURVRJTUUgYWxzbyBpbiB3aW4zMiBjb25maWcuaAoKMjAxMC0xMC0xNiAwMTozMzo1MiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgMC4xMC4yNS4yIHByZS1yZWxlYXNlCgoyMDEwLTEwLTE2IDAxOjI2OjAxICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHBvL2VsLnBvOgoJKiBwby92aS5wbzoKCSAgcG86IHVwZGF0ZSB0cmFuc2xhdGlvbnMKCjIwMTAtMTAtMTUgMTM6MjI6MDMgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgIHRlc3RzOiBEb24ndCBkaXN0IGdlbmVyYXRlZCBvcmMgZmlsZXMKCjIwMTAtMTAtMTUgMTQ6MDI6MTkgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS1kaXN0LmM6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUtZGlzdC5oOgoJKiBnc3QvdmlkZW9ib3gvZ3N0dmlkZW9ib3hvcmMtZGlzdC5jOgoJKiBnc3QvdmlkZW9ib3gvZ3N0dmlkZW9ib3hvcmMtZGlzdC5oOgoJKiBnc3QvdmlkZW9taXhlci9ibGVuZG9yYy1kaXN0LmM6CgkqIGdzdC92aWRlb21peGVyL2JsZW5kb3JjLWRpc3QuaDoKCSAgVXBkYXRlIGdlbmVyYXRlZCBvcmMgY29kZQoKMjAxMC0xMC0xNSAxODowMDoxMCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogYnVtcCBPcmMgcmVxdWlyZW1lbnQgdG8gMC40LjExCgoyMDEwLTEwLTE0IDE3OjQxOjMwIC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzoKCSAgcnRwYmluOiBVc2UgdGhlIHJpZ2h0IGNvbnN0YW50IHRvIGRlZmluZSB0aGUgInVzZS1waXBlbGluZS1jbG9jayIgcHJvcGVydHkKCSAgVGhlIHdyb25nICNkZWZpbmUgd2FzIGJlaW5nIHVzZWQsIG5vdyB1c2UgdGhlIGNvcnJlY3Qgb25lLgoKMjAxMC0xMC0xNCAxMjozMTo0OCAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIDVhNjY4YmYgdG8gN2JiZDcwOAoKMjAxMC0xMC0xNCAxNzoyNjoxNCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBhYzM6IGRlbXV4ZXJzIHByb3ZpZGUgZnJhbWVkIG91dHB1dAoKMjAxMC0xMC0xNCAwMDoxMToyNyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvZWJtbC13cml0ZS5jOgoJKiBnc3QvbWF0cm9za2EvZWJtbC13cml0ZS5oOgoJICBtYXRyb3NrYW11eDogcmVkdWNlIG5ld3NlZ21lbnQgZXZlbnQgc3BhbSBhbmQgc2V0IGRpc2NvbnQgZmxhZyB3aGVyZSBuZWVkZWQKCSAgT25seSBzZW5kIG5ld3NlZ21lbnQgZXZlbnRzIHdpdGggbmV3IHBvc2l0aW9ucyBkb3duc3RyZWFtIHdoZW4gYWN0dWFsbHkKCSAgbmVlZGVkLCBpbnN0ZWFkIG9mIHNlbmRpbmcgbXVsdGlwbGUgbmV3c2VnbWVudCBldmVudHMgd2l0aCBuZXcgc2VlawoJICBwb3NpdGlvbnMgaW4gYSByb3cuIEFsc28gc2V0IHRoZSBkaXNjb250IGZsYWcgb24gYnVmZmVycyBhZnRlciBhCgkgIGRpc2NvbnRpbnVpdHkuCgoyMDEwLTEwLTEzIDIzOjQ2OjAyICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9lYm1sLXdyaXRlLmM6CgkqIGdzdC9tYXRyb3NrYS9lYm1sLXdyaXRlLmg6CgkgIG1hdHJvc2thbXV4OiBzZXQgY29ycmVjdCBidWZmZXIgb2Zmc2V0cyBhZnRlciBzZWVrcwoJICBSZS11c2UgdGhlIGV4aXN0aW5nICdwb3MnIGZpZWxkIG1haW50YWluZWQgYnkgZWJtbCB3cml0ZXIgdG8gc2V0CgkgIGJ1ZmZlciBvZmZzZXRzLiBUaGlzIGFsc28gbWFrZXMgc3VyZSB0aGF0IHdlIHNldCB0aGUgcmlnaHQgb2Zmc2V0cwoJICBvbiBidWZmZXJzIGFmdGVyIGEgc2VlayAoZS5nLiB3aGVuIHdyaXRpbmcgYW4gaW5kZXggYXQgdGhlIGVuZCkuCgoyMDEwLTEwLTE0IDAwOjIyOjAzICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSAgbWF0cm9za2FtdXg6IGRvbid0IGZvcndhcmQgdGFnIGV2ZW50cyBkb3duc3RyZWFtCgkgIERvbid0IGZvcndhcmQgc3RyZWFtLXNwZWNpZmljIHRhZyBldmVudHMgZG93bnN0cmVhbSAoZXNwLiBub3QKCSAgYmVmb3JlIGFueSBuZXdzZWdtZW50IGV2ZW50KS54CgoyMDEwLTEwLTEzIDE3OjE1OjI1ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eF9mb3VyY2MuaDoKCSAgcXRkZW11eDogaGFuZGxlIGFub3RoZXIgbXA0diB2YXJpYXRpb24KCSAgLi4uIGluY2x1ZGluZyB0aGUgZ2xibCBhdG9tIGNvbnRhaW5pbmcgY29kZWMtZGF0YS4KCjIwMTAtMTAtMTMgMTc6MjE6MjMgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9hdWRpb2Z4L2F1ZGlvYW1wbGlmeS5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb2R5bmFtaWMuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9pbnZlcnQuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9rYXJhb2tlLmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvcGFub3JhbWEuYzoKCSogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b2F1ZGlvc2luay5jOgoJKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvYXVkaW9zcmMuYzoKCSogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b3ZpZGVvc2luay5jOgoJKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvdmlkZW9zcmMuYzoKCSogZ3N0L2F2aS9nc3RhdmltdXguYzoKCSogZ3N0L2N1dHRlci9nc3RjdXR0ZXIuYzoKCSogZ3N0L2RlYnVndXRpbHMvYnJlYWtteWRhdGEuYzoKCSogZ3N0L2RlYnVndXRpbHMvZWZlbmNlLmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdG5hdnNlZWsuYzoKCSogZ3N0L2RlYnVndXRpbHMvbmVnb3RpYXRpb24uYzoKCSogZ3N0L2RlYnVndXRpbHMvcHJvZ3Jlc3NyZXBvcnQuYzoKCSogZ3N0L2RlYnVndXRpbHMvcm5kYnVmZmVyc2l6ZS5jOgoJKiBnc3QvaWQzZGVtdXgvZ3N0aWQzZGVtdXguYzoKCSogZ3N0L2xldmVsL2dzdGxldmVsLmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSogZ3N0L21lZGlhbi9nc3RtZWRpYW4uYzoKCSogZ3N0L211bHRpZmlsZS9nc3RtdWx0aWZpbGVzaW5rLmM6CgkqIGdzdC9tdWx0aWZpbGUvZ3N0bXVsdGlmaWxlc3JjLmM6CgkqIGdzdC9tdWx0aXBhcnQvbXVsdGlwYXJ0ZGVtdXguYzoKCSogZ3N0L211bHRpcGFydC9tdWx0aXBhcnRtdXguYzoKCSogZ3N0L3JlcGxheWdhaW4vZ3N0cmdhbmFseXNpcy5jOgoJKiBnc3QvcmVwbGF5Z2Fpbi9nc3RyZ2xpbWl0ZXIuYzoKCSogZ3N0L3JlcGxheWdhaW4vZ3N0cmd2b2x1bWUuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjYzcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2M3BwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBpbGJjZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBqcGVncGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXAydGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXA0dnBheS5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJKiBnc3QvcnRzcC9nc3RydHBkZWMuYzoKCSogZ3N0L3NtcHRlL2dzdHNtcHRlLmM6CgkqIGdzdC91ZHAvZ3N0ZHludWRwc2luay5jOgoJKiBnc3QvdWRwL2dzdG11bHRpdWRwc2luay5jOgoJKiBnc3QvdWRwL2dzdHVkcHNpbmsuYzoKCSogZ3N0L3VkcC9nc3R1ZHBzcmMuYzoKCSogZ3N0L3ZpZGVvY3JvcC9nc3Rhc3BlY3RyYXRpb2Nyb3AuYzoKCSogZ3N0L3ZpZGVvY3JvcC9nc3R2aWRlb2Nyb3AuYzoKCSogZ3N0L3ZpZGVvZmlsdGVyL2dzdHZpZGVvdGVtcGxhdGUuYzoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGF1ZGlvc2luay5jOgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4YXVkaW9zcmMuYzoKCSAgdmFyaW91cyAoZ3N0KTogYWRkIGEgbWlzc2luZyBHX1BBUkFNX1NUQVRJQ19TVFJJTkdTIGZsYWdzCgoyMDEwLTEwLTEzIDE3OjEzOjA0ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBzeXMvb3NzL2dzdG9zc21peGVyZWxlbWVudC5jOgoJKiBzeXMvb3NzL2dzdG9zc3NpbmsuYzoKCSogc3lzL29zcy9nc3Rvc3NzcmMuYzoKCSogc3lzL29zczQvb3NzNC1taXhlci5jOgoJKiBzeXMvb3NzNC9vc3M0LXNpbmsuYzoKCSogc3lzL29zczQvb3NzNC1zb3VyY2UuYzoKCSogc3lzL29zeHZpZGVvL29zeHZpZGVvc2luay5tOgoJKiBzeXMvc3VuYXVkaW8vZ3N0c3VuYXVkaW9zaW5rLmM6CgkqIHN5cy9zdW5hdWRpby9nc3RzdW5hdWRpb3NyYy5jOgoJKiBzeXMveGltYWdlL2dzdHhpbWFnZXNyYy5jOgoJICB2YXJpb3VzIChzeXMpOiBhZGQgYSBtaXNzaW5nIEdfUEFSQU1fU1RBVElDX1NUUklOR1MgZmxhZ3MKCjIwMTAtMTAtMTMgMTY6MjU6MTUgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9hYWxpYi9nc3RhYXNpbmsuYzoKCSogZXh0L2Fubm9kZXgvZ3N0Y21tbGRlYy5jOgoJKiBleHQvYW5ub2RleC9nc3RjbW1sZW5jLmM6CgkqIGV4dC9hbm5vZGV4L2dzdGNtbWx0YWcuYzoKCSogZXh0L2NhaXJvL2dzdHRleHRvdmVybGF5LmM6CgkqIGV4dC9kdi9nc3RkdmRlYy5jOgoJKiBleHQvZXNkL2VzZG1vbi5jOgoJKiBleHQvZXNkL2VzZHNpbmsuYzoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2VuYy5jOgoJKiBleHQvZ2RrX3BpeGJ1Zi9nc3RnZGtwaXhidWYuYzoKCSogZXh0L2dka19waXhidWYvZ3N0Z2RrcGl4YnVmc2luay5jOgoJKiBleHQvZ2RrX3BpeGJ1Zi9waXhidWZzY2FsZS5jOgoJKiBleHQvaGFsL2dzdGhhbGF1ZGlvc2luay5jOgoJKiBleHQvaGFsL2dzdGhhbGF1ZGlvc3JjLmM6CgkqIGV4dC9qcGVnL2dzdGpwZWdkZWMuYzoKCSogZXh0L2pwZWcvZ3N0anBlZ2VuYy5jOgoJKiBleHQvanBlZy9nc3RzbW9rZWVuYy5jOgoJKiBleHQvbGliY2FjYS9nc3RjYWNhc2luay5jOgoJKiBleHQvbGlicG5nL2dzdHBuZ2VuYy5jOgoJKiBleHQvbWlrbW9kL2dzdG1pa21vZC5jOgoJKiBleHQvcmF3MTM5NC9nc3RkdjEzOTRzcmMuYzoKCSogZXh0L3JhdzEzOTQvZ3N0aGR2MTM5NHNyYy5jOgoJKiBleHQvc2hvdXQyL2dzdHNob3V0Mi5jOgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOgoJKiBleHQvc3BlZXgvZ3N0c3BlZXhkZWMuYzoKCSogZXh0L3NwZWV4L2dzdHNwZWV4ZW5jLmM6CgkqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tlbmMuYzoKCSAgdmFyaW91cyAoZXh0KTogYWRkIGEgbWlzc2luZyBHX1BBUkFNX1NUQVRJQ19TVFJJTkdTIGZsYWdzCgoyMDEwLTEwLTEzIDE2OjM0OjA5ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvYWFsaWIvZ3N0YWFzaW5rLmM6CgkqIGV4dC9lc2QvZXNkbW9uLmM6CgkqIGdzdC9tZWRpYW4vZ3N0bWVkaWFuLmM6CgkgIHZhcmlvdXM6IHdyYXAgcHJvcGVydHkgcmVnaXN0cmF0aW9uIGFuZCBhZGQgYSBzaW5nbGUgZml4bWUgZm9yIGxvbmcgZGVzYy4KCjIwMTAtMTAtMTMgMTE6NDY6NTggKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRkZXBheS5jOgoJICBoMjY0ZGVwYXk6IGFsd2F5cyBtYXJrIHRoZSBjb2RlY19kYXRhIGFzIGtleWZyYW1lCgkgIFdlIG5lZWQgdG8gbWFyayB0aGUgY29kZWNfZGF0YSBhcyBhIGtleWZyYW1lIG9yIGVsc2UgZG93bnN0cmVhbSBkZWNvZGVycyBtaWdodAoJICBkZWNpZGUgdG8gc2tpcCBpdCwgd2FpdGluZyBmb3IgYSBrZXlmcmFtZS4KCSAgRml4ZXMgIzYzMTk5NgoKMjAxMC0xMC0xMyAwNzoxNjo0NyArMDEwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkqIGdzdC9tYXRyb3NrYS9lYm1sLXdyaXRlLmM6CgkgIG1hdHJvc2thbXV4OiBtYWtlIGJ1ZmZlciBvZmZzZXRzIGEgYnl0ZSBjb3VudCByYXRoZXIgdGhhbiBhIGJ1ZmZlciBjb3VudAoKMjAxMC0xMC0wNyAyMToxMjo0OCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvYWFsaWIvZ3N0YWFzaW5rLmM6CgkqIGV4dC9kdi9nc3RkdmRlYy5jOgoJKiBleHQvZXNkL2VzZG1vbi5jOgoJKiBleHQvZmxhYy9nc3RmbGFjZW5jLmM6CgkqIGV4dC9taWttb2QvZ3N0bWlrbW9kLmM6CgkqIGV4dC9yYXcxMzk0L2dzdGR2MTM5NHNyYy5jOgoJKiBnc3QvZGVidWd1dGlscy9lZmVuY2UuYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6CgkgIGV4dCwgZ3N0OiBjYW5vbmljYWxpc2UgcHJvcGVydHkgbmFtZXMgd2hlcmUgdGhpcyB3YXNuJ3QgdGhlIGNhc2UKCSAgaWUuICJmb29fYmFyIiAtPiAiZm9vLWJhciIKCjIwMTAtMTAtMTIgMTU6MDI6NDIgKzAyMDAgIFRoaWpzIFZlcm1laXIgPHRoaWpzdmVybWVpckBnbWFpbC5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cG1wdnBheS5jOgoJICBydHBtcHZwYXk6IGZpeCB0aW1lc3RhbXBpbmcgb2YgcnRwIGJ1ZmZlcnMKCSAgSW5jb21taW5nIGJ1ZmZlciBpcyBvbmx5IHB1c2hlZCBvbiB0aGUgYWRhcHRlciBhdCB0aGUgZW5kIG9mIHRoZQoJICBoYW5kbGVfYnVmZmVyIGZ1bmN0aW9uLiBCdXQgZHVyYXRpb24vdGltZXN0YW1wIG9mIHRoaXMgYnVmZmVyIGlzIGFscmVhZHkKCSAgdGFrZW4gaW50byBhY2NvdW50IGZvciB0aGUgY3VycmVudCBkYXRhIGluIHRoZSBhZGFwdGVyLiBUaGlzIGxlYWRzIHRvCgkgIHdyb25nIHJ0cCB0aW1lc3RhbXBzIGFuZCBleHRyYSBsYXRlbmN5LgoKMjAxMC0xMC0xMiAxMTozNzo0MCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9leGFtcGxlcy9lcXVhbGl6ZXIvZGVtby5jOgoJKiB0ZXN0cy9leGFtcGxlcy9zcGVjdHJ1bS9kZW1vLWF1ZGlvdGVzdC5jOgoJKiB0ZXN0cy9leGFtcGxlcy9zcGVjdHJ1bS9kZW1vLW9zc3NyYy5jOgoJICBleGFtcGxlczogRml4IGJ1aWxkIHdpdGggR1RLKyAzLjAKCjIwMTAtMTAtMTEgMTU6MTI6MDAgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IG1hcmsgYXMgYSBzb3VyY2UKCSAgTWFyayB0aGUgcnRzcHNyYyBlbGVtZW50IGFzIGEgc291cmNlLgoJICBSZXF1aXJlcyAwLjEwLjMxLjEgbm93CgoyMDEwLTEwLTExIDE0OjI0OjEzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG9hdWRpb3NyYy5jOgoJKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvdmlkZW9zcmMuYzoKCSAgYXV0b2RldGVjdDogU2V0IEdTVF9FTEVNRU5UX0lTX1NPVVJDRSBmbGFnIG9uIHNvdXJjZXMKCjIwMTAtMTAtMTEgMTQ6MjE6MDcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2djb25mL2dzdHN3aXRjaHNyYy5jOgoJICBzd2l0Y2hzcmM6IFNldCB0aGUgR1NUX0VMRU1FTlRfSVNfU09VUkNFIGZsYWcKCjIwMTAtMTAtMTEgMTQ6MTc6MzMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IFJlcXVpcmUgY29yZSAwLjEwLjMwLjEKCjIwMTAtMTAtMTAgMTQ6NDM6NTggKzAxMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJKiBnc3QvbWF0cm9za2EvZWJtbC13cml0ZS5jOgoJKiBnc3QvbWF0cm9za2EvZWJtbC13cml0ZS5oOgoJICBtYXRyb3NrYW11eDogc2V0IG9mZnNldHMgb24gb3V0Z29pbmcgYnVmZmVycwoKMjAxMC0xMC0wOSAxNDoxNDoyNyArMDIwMCAgSU9oYW5uZXMgbSB6bcO2bG5pZyA8em1vZWxuaWdAaWVtLmF0PgoKCSogc3lzL3Y0bDIvZ3N0djRsMnNpbmsuYzoKCSAgdjRsMnNpbms6IE9ubHkgZ2V0L3NldCBvdmVybGF5IHBhcmFtcyBpZiBuZWVkZWQKCSAgaXQncyBwZXJmZWN0bHkgb2sgZm9yIGEgdmlkZW8gb3V0cHV0IGRldmljZSB0byBub3QgaGF2ZSBvdmVybGF5IGNhcGFiaWxpdGllcy4KCSAgdGhpcyBwYXRjaCByZW1vdmVzIHRoZSBuZWVkIHRvIGdldC9zZXQgdGhlIG92ZXJsYXkgcGFyYW1ldGVycyBpZiB0aGUgdXNlcgoJICBkb2VzIG5vdCBleHBsaWNpdGVseSByZXF1ZXN0IG9uZSBvZiB0aGUgb3ZlcmxheSBwcm9wZXJ0aWVzCgoyMDEwLTA5LTMwIDE1OjI4OjIzICswMjAwICBJT2hhbm5lcyBtIHptw7ZsbmlnIDx6bW9lbG5pZ0BpZW0uYXQ+CgoJKiBzeXMvdjRsMi9nc3R2NGwyc2luay5jOgoJICB2NGwyc2luazogUHJvdGVjdCBhZ2FpbnN0IE5VTEwtcG9pbnRlciBhY2Nlc3MKCSAgZ3N0X3Y0bDJzaW5rX2NoYW5nZV9zdGF0ZSgpIHdvdWxkIGZyZWUgdGhlIHBvb2wgd2l0aG91dCBjaGVja2luZyB3aGV0aGVyIHRoZXJlCgkgIHdhcyBhIHZhbGlkIHBvb2wuLi4KCjIwMTAtMTAtMDggMTI6NDM6NTEgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSBjNGE4YWRjIHRvIDVhNjY4YmYKCjIwMTAtMTAtMDggMTI6NTM6MzMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSA1ZTNjOWJmIHRvIGM0YThhZGMKCjIwMTAtMTAtMDYgMTE6Mjk6NTUgKzAyMDAgIFJvYmVydCBTd2FpbiA8cm9iZXJ0LnN3YWluQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5jOgoJICBkZWludGVybGFjZTogRml4IHJlcXVpcmVkIGZpZWxkcyBsb2dpYwoJICBCb3RoIGhpc3RvcnlfY291bnQgYW5kIGZpZWxkc19yZXF1aXJlZCBjb3VudCBmcm9tIDEuIEFzIHBlciB0aGUgd2hpbGUgbG9vcAoJICBjb25kaXRpb24gdGhhdCBmb2xsb3dzIHRoaXMgY29kZSwgdG8gcGVyZm9ybSB0aGUgZGVpbnRlcmxhY2luZyBtZXRob2QsIHdlIG5lZWQKCSAgaGlzdG9yeV9jb3VudCA+PSBmaWVsZHNfcmVxdWlyZWQgZmllbGRzIGluIHRoZSBoaXN0b3J5LiBUaGVyZWZvcmUgaWYgd2UgaGF2ZQoJICBoaXN0b3J5X2NvdW50IDwgZmllbGRzX3JlcXVpcmVkIChub3QgZmllbGRzX3JlcXVpcmVkICsgMSksIHdlIG5lZWQgbW9yZSBmaWVsZHMuCgoyMDEwLTA5LTIwIDE5OjQzOjQ1ICswMjAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPGFtb3JhbGVzQGZsdW1vdGlvbi5jb20+CgoJKiBnc3QvZmx2L2dzdGZsdm11eC5jOgoJKiBnc3QvZmx2L2dzdGZsdm11eC5oOgoJICBmbHZtdXg6IHJlc2VuZCBvbk1ldGFkYSB0YWcgd2hlbiB0YWdzIGNoYW5nZXMgaW4gc3RyZWFtYWJsZSBtb2RlCgoyMDEwLTEwLTA1IDE5OjQwOjUwICswMTAwICBBcnVuIFJhZ2hhdmFuIDxhcnVuLnJhZ2hhdmFuQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogQUFDIGNvZGVjX2RhdGEgY2FuIGJlID4gMiBieXRlcyBsb25nCgkgIFRoaXMgZml4ZXMgdGhlIGFzc3VtcHRpb24gdGhhdCBEZWNvZGVyU3BlY2lmaWNJbmZvIG11c3QgYmUgMiBieXRlcyBsb25nCgkgIGZvciBBQUMgZmlsZXMuIFRoZSBzcGVjaWZpY2F0aW9uIGFsbG93cyBIRS1BQUMgdG8gYmUgZXhwbGljaXRseQoJICBzaWduYWxsZWQgaW4gYSBiYWNrd2FyZCBjb21wYXRpYmxlIHdheS4gVGhpcyBpcyBkb25lIGJ5IG1lYW5zIG9mIGFuCgkgIGFkZGl0aW9uYWwgaW5mb3JtYXRpb24gYWZ0ZXIgdGhlIHJlZ3VsYXIgQUFDIGhlYWRlci4gSXQgaXMgZXhwZWN0ZWQgdGhhdAoJICBkZWNvZGVycyB0aGF0IGNhbiBwbGF5IEFBQyBidXQgbm90IEhFLUFBQyB3aWxsIHBhcnNlIHRoZSBoZWFkZXIgbm9ybWFsbHkKCSAgYW5kIGlnbm9yZSBleHRlbmRlZCBiaXRzLCBtdWNoIGFzIHRoZXkgZG8gZm9yIHRoZSBIRS1BQUMgc3BlY2lmaWMgcGF5bG9hZAoJICBpbiB0aGUgYWN0dWFsIHN0cmVhbS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYxMjMxMwoKMjAxMC0xMC0wNSAxNjowMToxOSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2FkZW11eDogb25seSB1bnJlZiBidWZmZXIgd2hlbiBubyBsb25nZXIgbmVlZGVkIGZvciBjbHVzdGVyIHNjYW5uaW5nCgkgIEZpeGVzICM2MjkwNDcuCgoyMDEwLTEwLTA1IDE2OjAwOjQ1ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYWRlbXV4OiBhdm9pZCBpbmZpbml0ZSBjbHVzdGVyIHNjYW5uaW5nCgoyMDEwLTEwLTA1IDEyOjIwOjUyICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2dvb20vZ3N0Z29vbS5jOgoJKiBnc3QvZ29vbTJrMS9nc3Rnb29tLmM6CgkgIGdvb206IHRha2UgZHVyYXRpb24gaW50byBhY2NvdW50IHdoZW4gZG9pbmcgUW9TCgkgIFRha2UgdGhlIGR1cmF0aW9uIG9mIHRoZSBmcmFtZXMgaW50byBhY2NvdW50IHNvIHRoYXQgd2UgZG9uJ3QgZHJvcCBmcmFtZXMgdGhhdAoJICBhcmUgb25seSBwYXJ0aWFsbHkgcGFzdCB0aGUgUW9TIGRlYWRsaW5lLgoKMjAxMC0xMC0wNSAxMDo0MDoxNSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9nb29tL2dzdGdvb20uYzoKCSogZ3N0L2dvb20vZ3N0Z29vbS5oOgoJKiBnc3QvZ29vbTJrMS9nc3Rnb29tLmM6CgkqIGdzdC9nb29tMmsxL2dzdGdvb20uaDoKCSAgZ29vbTogdXNlIGFkYXB0ZXIgZm9yIHRpbWVzdGFtcGluZwoJICBVc2UgdGhlIGFkYXB0ZXIgdGltZXN0YW1wIGNvZGUgdG8gZ2V0IG1vcmUgYWNjdXJhdGUgdGltZXN0YW1wcy4KCSAgRml4IGxhdGVuY3kgY2FsY3VsYXRpb24sIHdlIGFkZCBvdXIgb3duIGxhdGVuY3kgaW4gdGhlIHdvcnN0IGNhc2UuCgoyMDEwLTEwLTA0IDIyOjMxOjMyICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvcmF3MTM5NC9NYWtlZmlsZS5hbToKCSogZXh0L3JhdzEzOTQvZ3N0MTM5NC5jOgoJICByYXcxMzk0OiBEb24ndCBjb21waWxlIGhkdjEzOTRzcmMgaWYgbGliaWVjNjE4ODMgaXNuJ3QgYXZhaWxhYmxlCgkgIEZpeGVzICM2Mjk4OTYKCjIwMTAtMDktMjAgMTk6NDQ6MDkgKzAyMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8YW1vcmFsZXNAZmx1bW90aW9uLmNvbT4KCgkqIGdzdC9pY3lkZW11eC9nc3RpY3lkZW11eC5jOgoJICBpY3lkZW11eDogZm9yd2FyZCB0YWcgZXZlbnRzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MzAyMDUKCjIwMTAtMTAtMDQgMTk6MDA6NDUgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZ29vbTJrMS9nc3Rnb29tLmM6CgkgIGdvb20yazE6IHJlcG9ydCBvdXIgbGF0ZW5jeSBjb3JyZWN0bHkKCSAgRml4ZXMgIzYzMTMwMwoKMjAxMC0xMC0wNCAxODo1NjoxNSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9nb29tMmsxL2dzdGdvb20uYzoKCSAgZ29vbTJrMTogYWRkIGRlZmluZXMgZm9yIGRlZmF1bHQgd2lkdGgvaGVpZ2h0L2ZwcwoJICBBZGQgc29tZSBkZWZpbmVzIGZvciB0aGUgZGVmYXVsdCB3aWR0aC9oZWlnaHQvZnBzIGluc3RlYWQgb2YgdXNpbmcgZGlmZmVyZW50CgkgIHZhbHVlcyBpbiBkaWZmZXJlbnQgcGxhY2VzLgoKMjAxMC0xMC0wNCAxODo1MjoxNCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9nb29tL2dzdGdvb20uYzoKCSAgZ29vbTogYWRkIGxhdGVuY3kgY29tcGVuc2F0aW9uIGNvZGUuCgkgIEltcGxlbWVudCBhIGxhdGVuY3kgcXVlcnkgYW5kIHJlcG9ydCBob3cgbXVjaCBsYXRlbmN5IHdlIHdpbGwgYWRkIHRvIHRoZQoJICBzdHJlYW0uCgkgIEFsc2UgbWFrZSBzb21lIGRlZmF1bHRzIGZvciB0aGUgZGVmYXVsdCB3aWR0aC9oZWlnaHQvZnJhbWVyYXRlCgkgIEZpeGVzICM2MzEzMDMKCjIwMTAtMTAtMDQgMTc6NTY6NTcgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9leGFtcGxlcy9ydHAvc2VydmVyLWFsc2FzcmMtUENNQS5weToKCSAgdGVzdDogYWRkIHB5dGhvbiB2ZXJzaW9uIG9mIHRoZSBhdWRpbyBzZW5kZXIKCSAgQWRkIGEgcHl0aG9uIHZlcnNpb24gb2YgdGhlIGF1ZGlvIHNlbmRlciBwaXBlbGluZS4KCSAgUG9ydGVkIGJ5IFNwNHJjIG9uIElSQy4KCjIwMTAtMTAtMDQgMTc6NTI6MjIgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9leGFtcGxlcy9ydHAvY2xpZW50LVBDTUEucHk6CgkgIHRlc3RzOiBBZGQgcHl0aG9uIFJUUCBjbGllbnQgZXhhbXBsZQoJICBBZGQgYSBweXRob24gdmVyc2lvbiBvZiB0aGUgUENNQSBjbGllbnQgYXBwLgoJICBQb3J0ZWQgYnkgU3A0cmMgb24gSVJDLgoKMjAxMC0xMC0wNCAwOTozOTo1OSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cG1wNGdwYXkuYzoKCSAgcnRwOiBGaXggdW5pdGlhbGl6ZWQgY29tcGlsZXIgd2FybmluZ3Mgb24gT1MgWCBidWlsZCBib3QKCSAgVGhlc2Ugd2FybmluZ3MgYXJlIHdyb25nIHRob3VnaCwgdGhlIHZhcmlhYmxlcyBhcmUgb25seSB1c2VkIGluCgkgIHRoZSBjYXNlcyB3aGVyZSB0aGV5ICphcmUqIGluaXRpYWxpemVkIGJ5IHRoZSBiaXQgcmVhZGVyLgoKMjAxMC0xMC0wMyAyMzo0OTowOCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjJwYXkuYzoKCSAgcnRwZzcyMnBheTogRml4IHVuaW5pdGlhbGl6ZWQgdmFyaWFibGUgY29tcGlsZXIgd2FybmluZwoJICBUaGUgY2xvY2sgcmF0ZSBpcyBhbHdheXMgODAwMCBIeiBhY2NvcmRpbmcgdG8gdGhlIFJGQyBhbmQKCSAgdGhlIHNhbXBsaW5nIHJhdGUgbXVzdCBhbHdheXMgYmUgMTYwMDAgSHouCgoyMDEwLTEwLTAxIDEzOjU5OjEwICswNDAwICBWbGFkaW1pciBFcmVtZWV2IDxlcmVtZWV2QGF0bGFudGlzLnJ1PgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwaml0dGVyYnVmZmVyLmM6CgkgIHJ0cGppdHRlcmJ1ZmZlcjogaW1wcm92ZSBhcnRpY2xlIHJlZmVyZW5jZSBpbiBjb21tZW50IGJsb2NrCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MzEwODIKCjIwMTAtMDQtMzAgMjE6MDA6MzEgKzA1MzAgIEFydW4gUmFnaGF2YW4gPGFydW4ucmFnaGF2YW5AY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJKiBnc3QvcXRkZW11eC9xdWlja3RpbWUuYzoKCSAgcXRkZW11eDogVXNlIHBidXRpbHMgZm9yIEguMjY0IHByb2ZpbGUvbGV2ZWwgZXh0cmFjdGlvbgoJICBUaGUgZnVuY3Rpb25zIHVzZWQgdG8gZXh0cmFjdCB0aGlzIGRhdGEgaGF2ZSBiZWVuIG1vdmVkIHRvIGdzdHBidXRpbHMgdG8KCSAgZmFjaWxpdGF0ZSByZXVzZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYxNzMxOAoKMjAxMC0wNC0zMCAyMTowMDozMSArMDUzMCAgQXJ1biBSYWdoYXZhbiA8YXJ1bi5yYWdoYXZhbkBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvTWFrZWZpbGUuYW06CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EuYzoKCSAgbWF0cm9za2FkZW11eDogVXNlIHBidXRpbHMgZm9yIEguMjY0IHByb2ZpbGUvbGV2ZWwgZXh0cmFjdGlvbgoJICBUaGUgZnVuY3Rpb25zIHVzZWQgdG8gZXh0cmFjdCB0aGlzIGRhdGEgaGF2ZSBiZWVuIG1vdmVkIHRvIGdzdHBidXRpbHMgdG8KCSAgZmFjaWxpdGF0ZSByZXVzZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYxNzMxOAoKMjAxMC0wNC0yMiAxOTozOTo0NyArMDUzMCAgQXJ1biBSYWdoYXZhbiA8YXJ1bi5yYWdoYXZhbkBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IEV4cG9ydCBNUEVHLTQgdmlkZW8gcHJvZmlsZSBhbmQgbGV2ZWwgaW4gc3RyZWFtIGNhcHMKCSAgVGhpcyB1c2VzIGdzdHBidXRpbHMgdG8gZXh0cmFjdCB0aGUgcHJvZmlsZSBhbmQgbGV2ZWwgZnJvbSB0aGUgdmlkZW8KCSAgb2JqZWN0IHNlcXVlbmNlIGFuZCBhZGRzIHRoaXMgdG8gc3RyZWFtIGNhcHMuIFRoaXMgY2FuIGJlIHVzZWQgYXMKCSAgbWV0YWRhdGEgYW5kIGZvciBmaW5lLWdyYWluZWQgZGVjb2RlciBzZWxlY3Rpb24uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MTY1MjEKCjIwMTAtMDktMzAgMTI6NDQ6NTIgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBmaXggYWFjIGNoYW5uZWwgb3ZlcnJpZGUgYmFzZWQgb24gY29kZWMgZGF0YSBmb3IgNy4xIGNhc2UKCjIwMTAtMDQtMzAgMTQ6MDY6MjcgKzA1MzAgIEFydW4gUmFnaGF2YW4gPGFydW4ucmFnaGF2YW5AY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvTWFrZWZpbGUuYW06CgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogRXhwb3J0IEFBQyBwcm9maWxlIGFuZCBsZXZlbCBpbiBjYXBzCgkgIFRoaXMgZXhwb3J0cyB0aGUgQUFDIHByb2ZpbGUgYW5kIGxldmVsIGluIGNhcHMgZm9yIHVzZSBhcyBtZXRhZGF0YSBhbmQKCSAgKGV2ZW50dWFsbHkpIGZvciBtb3JlIGZpbmUtZ3JhaW5lZCBzZWxlY3Rpb24gb2YgZGVjb2RlcnMgYXQKCSAgY2Fwcy1uZWdvdGlhdGlvbiB0aW1lLiAoRG9lc24ndCB3b3JrIGZvciBIRS1BQUMgeWV0IHRob3VnaC4pCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MTIzMTMKCjIwMTAtMDktMzAgMTg6MzQ6MDQgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL01ha2VmaWxlLmFtOgoJKiBnc3QvcnRwL2dzdHJ0cC5jOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjJkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjJkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjJwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnNzIycGF5Lmg6CgkgIHJ0cDogYWRkIEc3MjIgcGF5IGFuZCBkZXBheWxvYWRlcgoKMjAxMC0wOS0zMCAxMjowODo0OSArMDIwMCAgVGhpanMgVmVybWVpciA8dGhpanN2ZXJtZWlyQGdtYWlsLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cGppdHRlcmJ1ZmZlci5jOgoJICBydHBqaXR0ZXJidWZmZXI6IHVwZGF0ZSBsaW5rIHRvIGRvY3VtZW50YXRpb24KCjIwMTAtMDktMzAgMTE6MzQ6NTYgKzAyMDAgIFRoaWpzIFZlcm1laXIgPHRoaWpzdmVybWVpckBnbWFpbC5jb20+CgoJKiB0ZXN0cy9leGFtcGxlcy9ydHAvY2xpZW50LUgyNjQuc2g6CgkgIGV4YW1wbGVzOiBmaXggaW5kZW50YXRpb24gb24gcnRwIGNsaWVudCBleGFtcGxlCgoyMDEwLTA5LTMwIDExOjMzOjI0ICswMjAwICBUaGlqcyBWZXJtZWlyIDx0aGlqc3Zlcm1laXJAZ21haWwuY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvcnRwL2NsaWVudC1IMjY0LVBDTUEuc2g6CgkqIHRlc3RzL2V4YW1wbGVzL3J0cC9jbGllbnQtSDI2NC5zaDoKCSAgZXhhbXBsZXM6IGZpeCB0eXBvIGluIHBvcnQgb2YgcnRwIGV4YW1wbGVzCgoyMDEwLTA5LTI5IDEzOjIwOjIyICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC93YXZlbmMvZ3N0d2F2ZW5jLmM6CgkgIHdhdmVuYzogbWluaXNjdWxlIGNvZGUgY2xlYW4tdXAKCSAgR1NUX0NMT0NLX1RJTUVfTk9ORSBpcyBub3Qgc29tZXRoaW5nIHRoYXQgc2hvdWxkIGJlIHVzZWQgaW4gY29ubmVjdGlvbiB3aXRoCgkgIEdTVF9GT1JNQVRfQllURVMuCgoyMDEwLTA5LTI5IDEwOjM0OjM2ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgYXZpZGVtdXg6IHJldmVyc2UgcGxheWJhY2s7IHByZXZlbnQgb3ZlcmxhcCBvZiBzdWJzZXF1ZW50IGZyYWdtZW50cwoKMjAxMC0wOS0yOCAxNjoyMTo0OCArMDMwMCAgUmVuw6kgU3RhZGxlciA8cmVuZS5zdGFkbGVyQG5va2lhLmNvbT4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogZml4IG1pc3NpbmcgbnVsbC10ZXJtaW5hdG9yIGluIHByb3RvY29scyBhcnJheQoJICBGaXhlcyByYW5kb20gY3Jhc2ggcmVncmVzc2lvbiBmcm9tIGNvbW1pdCBhZTg0YWUuCgoyMDEwLTA5LTI0IDE2OjI2OjIwICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBkb24ndCBhZGQgL1VEUCBpbiB0aGUgdHJhbnNwb3J0LCBpdCdzIHRoZSBkZWZhdWx0CgkgIGRvbid0IGFkZCB0aGUgZGVmYXVsdCBVRFAgbG93ZXItdHJhbnNwb3J0LCBzb21lIHNlcnZlcnMgZG9uJ3Qgc2VlbSB0byBsaWtlIGl0LgoJICBGaXhlcyAjNjMwNTAwCgoyMDEwLTA2LTI1IDE3OjA4OjAzICswMjAwICBQYXNjYWwgQnVobGVyIDxwYXNjYWwuYnVobGVyQHRhbmRiZXJnLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBydHBtYW5hZ2VyOiBwYWNrZXQgbG9zdCBzaG91bGQgbm90IGJlIGEgd2FybmluZy4gSXQgaGFwcGVucyBhbGwgdGhlIHRpbWUuLi4KCjIwMTAtMDktMjQgMTU6MzM6NDAgKzAyMDAgIFBhc2NhbCBCdWhsZXIgPHBhc2NhbC5idWhsZXJAdGFuZGJlcmcuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmg6CgkgIHJ0cGJpbjogTWFrZSBjbGVhbmluZyB1cCBzb3VyY2VzIGluIHJ0cF9zZXNzaW9uX29uX3RpbWVvdXQgTVQgc2FmZQoJICBVc2luZyBfZm9yZWFjaF9yZW1vdmUgb24gdGhlIGhhc2h0YWJsZSwgd2hpbGUgcmVsZWFzaW5nIHRoZSBsb2NrIHByb3RlY3RpbmcKCSAgdGhhdCB0YWJsZSBpbnNpZGUgdGhlIGNhbGxiYWNrIGlzIG5vdCBhIGdvb2QgaWRlYS4gVGhlIGhhc2h0YWJsZSBtaWdodAoJICB0aGVuIGNoYW5nZSAoYSBzb3VyY2UgcmVtb3ZlZCBvciBhZGRlZCkgd2hpbGUgc2lnbmFscyBsaWtlIG9uX3RpbWVvdXQKCSAgYXJlIGJlaW5nIHNlbnQuCgkgIFRoaXMgc29sdXRpb24gbWFrZXMgYSBjb3B5IG9mIHRoZSB0YWJsZSwgcGVyZm9ybXMgdGhlIF9mb3JlYWNoIHdpdGhvdXQKCSAgYWN0dWFsbHkgcmVtb3ZpbmcgYW55IHNvdXJjZXMsIGJ1dCBtYXJrcyB0aGVtIGZvciByZW1vdmFsIG9uIGEgc2Vjb25kCgkgIGl0ZXJhdGlvbiB3aXRoIHRoZSByZWFsIGxpc3QsIGJ1dCB0aGlzIHRpbWUgbm90IGxldHRpbmcgZ28gb2YgdGhlIGxvY2suCgkgIEZpeGVzICM2MzA0NTIKCjIwMTAtMDktMjQgMTU6MTk6MTUgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvaWQzZGVtdXgvaWQzdGFncy5jOgoJICBpZDNkZW11eDogU2FuaXRpemUgaWQzIGZyYW1lIG5hbWVzCgkgIFRoaXMgaXMgc2ltaWxhciB0byB3aGF0IGlzIGRvbmUgaW4gcXRkZW11eC4gQXZvaWRzIHByb3ZpZGluZyBpbnZhbGlkCgkgIHN0cnVjdHVyZS90YWdzIG5hbWVzCgoyMDEwLTA5LTI0IDE0OjU5OjQ1ICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L2FwZXRhZy9nc3RhcGVkZW11eC5jOgoJICBhcGVkZW11eDogU2tpcCBlbXB0eSB0YWdzCgkgIEF2b2lkIGNyZWF0aW5nIGJvZ3VzIHN0cmluZyB0YWdzLiBBbHNvIGFkZGVkIGxvZ2dpbmcgb2YgdGhlIHN0cmluZwoJICB2YWx1ZXMgb2YgdGhlIHRhZyBuYW1lIGFuZCB2YWx1ZS4KCjIwMTAtMDktMjQgMDg6NTY6MzYgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzoKCSAgc291cDogaW5pdCBkZWJ1ZyBjYXRlZ29yeSBiZWZvcmUgdXNpbmcgaXQKCjIwMTAtMDQtMTIgMDk6NDk6MTQgKzAyMDAgIFBhc2NhbCBCdWhsZXIgPHBhc2NhbC5idWhsZXJAdGFuZGJlcmcuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6CgkgIHJ0cGJpbjogSGFuZGxlIHJ5c25jIG9mIGl0ZXJhdG9yIHdoZW4gbG9va2luZyBmb3IgZnJlZSBwYWQgbmFtZQoJICBJZiBhIG5ldyBwYWQgd2FzIGFkZGVkIHdoaWxlIGl0ZXJhdGluZyB0aGVuIGEgcGFkIGNvdWxkIGJlCgkgIHJldHVybmVkIHRoYXQgd2FzIGFscmVhZHkgaW4gdXNlLgoJICBGaXhlcyAjNjMwNDUxCgoyMDEwLTA5LTI0IDE0OjA5OjEyICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJICBydHBzZXNzaW9uOiBmaXggY29tcGlsYXRpb24KCjIwMTAtMDQtMDcgMTU6MzE6NTIgKzAyMDAgIFRyb25kIEFuZGVyc2VuIDx0cm9uZC5hbmRlcnNlbkB0YW5kYmVyZy5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzoKCSAgcnRwYmluOiBVbmxvY2sgYmVmb3JlIGFkZGluZyBwYWQgaW4gbmV3X3BheWxvYWRfZm91bmQKCSAgSG9sZGluZyBpbnRlcm5hbCBsb2NrcyB3aGlsZSBwb3RlbnRpYWxseSBjYWxsaW5nIG91dCBpcyBhIHNvdXJjZQoJICBvZiBkZWFkbG9ja3MsIGFuZCBpbiB0aGlzIGNhc2UgdGhlIGFwcGxpY2F0aW9uIG1pZ2h0IHN1YnNjcmliZSB0byB0aGUKCSAgcGFkLWFkZGVkIHNpZ25hbC4KCSAgRml4ZXMgIzYzMDQ0OQoKMjAwOS0wOC0zMSAxODozNzo0MCArMDIwMCAgSGF2YXJkIEdyYWZmIDxoYXZhcmQuZ3JhZmZAdGFuZGJlcmcuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJICBydHBzZXNzaW9uOiByZWxheCB0aGlyZC1wYXJ0eSBjb2xsaXNpb24gZGV0ZWN0aW9uCgkgIElmIHRoZSBzb3VyY2UgaGFzIGJlZW4gaW5hY3RpdmUgZm9yIHNvbWUgdGltZSwgd2UgYXNzdW1lIHRoYXQgaXQgaGFzCgkgIHNpbXBseSBjaGFuZ2VkIGl0cyB0cmFuc3BvcnQgc291cmNlIGFkZHJlc3MuIEhlbmNlLCB0aGVyZSBpcyBubyB0cnVlCgkgIHRoaXJkLXBhcnR5IGNvbGxpc2lvbiAtIG9ubHkgYSBzaW11bGF0ZWQgb25lLgoJICBGaXhlcyAjNjMwNDQ3CgoyMDEwLTA5LTI0IDEzOjUwOjAyICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmM6CgkgIHJ0cHNvdXJjZTogd2hpdGVzcGFjZSBmaXhlcwoKMjAxMC0wOS0yNCAxMzo0ODo1MCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5jOgoJICBydHBzb3VyY2U6IHNpbXBsaWZ5IHRoZSByYXRlIGVzdGltYXRpb24gc29tZSBtb3JlCgoyMDA5LTA4LTMxIDE4OjM0OjA4ICswMjAwICBIYXZhcmQgR3JhZmYgPGhhdmFyZC5ncmFmZkB0YW5kYmVyZy5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc3RhdHMuYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc3RhdHMuaDoKCSAgcnRwbWFuYWdlcjogcHJvdmlkZSBhZGRpdGlvbmFsIHN0YXRpc3RpY3MKCjIwMTAtMDktMjQgMDA6MDE6MDUgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IHNldCBwbHVnaW4gcmVsZWFzZSBkYXRldGltZQoKMjAxMC0wOS0yMyAyMToyMToyOSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplcjEwYmFuZHMuaDoKCSogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIzYmFuZHMuaDoKCSogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXJuYmFuZHMuaDoKCSAgZXF1YWxpemVyOiBmaXggY2xhc3MgZGVmaW5pdGlvbnMKCSAgQ2xhc3Mgc3RydWN0dXJlcyBtdXN0IGJlIGJhc2VkIG9uIHRoZSBwYXJlbnQgY2xhc3Mgc3RydWN0LCBub3Qgb24KCSAgdGhlIHBhcmVudCBpbnN0YW5jZSBzdHJ1Y3QuCgoyMDEwLTA5LTE1IDIwOjM2OjMzICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIyLmM6CgkgIHZpZGVvbWl4ZXIyOiBwcmUtcmVnaXN0ZXIgcGFkIGNsYXNzIHByb3Blcmx5IHdpdGggZ190eXBlX2NsYXNzX3JlZgoJICBGaXggY29kZSB0byBtYXRjaCB0aGUgY29tbWVudC4gQWxzbywgdGhlcmUncyBubyBuZWVkIHRvIHJlZ2lzdGVyIHRoZQoJICBiYWNrZ3JvdW5kIGVudW0gdHlwZSBhZ2FpbiwgdGhpcyBpcyBhbHJlYWR5IGRvbmUgdmlhIGluc3RhbGxfcHJvcGVydHkuCgoyMDEwLTA5LTIzIDIxOjU3OjE4ICswMjAwICBEYXZpZCBIb3l0IDxkaG95dEBsbG5sLmdvdj4KCgkqIGV4dC9zcGVleC9nc3RzcGVleGRlYy5jOgoJKiBleHQvc3BlZXgvZ3N0c3BlZXhlbmMuYzoKCSAgc3BlZXg6IEZpeCBjcmFzaGVzIHdpdGggTVNWQwoJICBVc2luZyB0aGUgc3ltYm9scyBmb3IgdGhlIGRpZmZlcmVudCBTcGVleCBtb2RlcyByZXN1bHRzCgkgIGluIGNyYXNoZXMgd2hlbiB1c2luZyBNU1ZDLiBVc2UgdGhlIGxpYnJhcnkgZnVuY3Rpb25zIHRvCgkgIGdldCB0aGUgbW9kZXMgaW5zdGVhZC4KCSAgRml4ZXMgYnVnICM2MzAzNzguCgoyMDEwLTA4LTI0IDEzOjI1OjAyICswMjAwICBIYXZhcmQgR3JhZmYgPGhhdmFyZC5ncmFmZkB0YW5kYmVyZy5jb20+CgoJKiBnc3QvbGV2ZWwvZ3N0bGV2ZWwuYzoKCSAgbGV2ZWw6IGF2b2lkIGRpdmlzaW9uIGJ5IHplcm8gb24gc2lsZW5jZQoJICBGaXhlcyBidWcgIzYzMDQ1OC4KCjIwMTAtMDktMjMgMTY6NDY6MzEgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6CgkgIGZsdmRlbXV4OiBwYXJzZSBhbmQgdXNlIGN0cwoJICBGb3IgSDI2NCwgdGhlcmUgaXMgYW4gZXh0cmEgaGVhZGVyIGNvbnRhaW5pbmcgdGhlIENUUywgd2hpY2ggaXMgYSB0aW1lc3RhbXAKCSAgb2Zmc2V0IHRoYXQgc2hvdWxkIGJlIGFwcGxpZWQgdG8gdGhlIFBUUy4gUGFyc2UgdGhpcyB2YWx1ZSBhbmQgdXNlIGl0IHRvIGFkanVzdAoJICB0aGUgcHRzLgoJICBGaXhlcyAjNjMwMDg4CgoyMDEwLTA5LTIzIDE2OjQ1OjQxICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOgoJICBmbHZkZW11eDogaW1wcm92ZSBwdHMgZGVidWdnaW5nCgoyMDEwLTA5LTIyIDE5OjAxOjQwICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiB0ZXN0cy9leGFtcGxlcy9NYWtlZmlsZS5hbToKCSogdGVzdHMvZXhhbXBsZXMvcHVsc2UvLmdpdGlnbm9yZToKCSogdGVzdHMvZXhhbXBsZXMvcHVsc2UvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2V4YW1wbGVzL3B1bHNlL3B1bHNlLmM6CgkgIHB1bHNlOiBhZGQgdGVzdCBhcHAgZm9yIHB1bHNlIGRldmljZSBwcm9iZQoKMjAxMC0wOS0yMiAxODo1MDo0NCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSogZXh0L3B1bHNlL3B1bHNlc3JjLmM6CgkgIHB1bHNlOiBmaXggZGV2aWNlX2Rlc2NyaXB0aW9uIGluIFJFQURZCgkgIE1ha2UgdGhlIGlzX2RlYWQgY2hlY2sgbW9yZSBjbGVhciBhbmQgYWRkIGFuIG9wdGlvbiB0byBjaGVjayBmb3IgdGhlIHN0YXR1cyBvZgoJICB0aGUgc3RyZWFtIGluIGFkZGl0aW9uIHRvIHRoZSBjb250ZXh0LgoJICBXZSBkb24ndCBuZWVkIGEgc3RyZWFtIHRvIGdldCB0aGUgZGV2aWNlX2Rlc2NyaXB0aW9uIHN0cmluZy4KCSAgRml4ZXMgIzYzMDMxNwoKMjAxMC0wOS0yMiAxMjo1NjowMCArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogRG9uJ3QgcG9zdCB0YWdzIGlmIHRoZXJlIGFyZSBub25lCgkgIEFuZCBtYWtlIGFsbCBjb2RlIGdvIHRocm91Z2ggX3Bvc3RfZ2xvYmFsX3RhZ3MuCgoyMDEwLTA5LTIyIDEyOjM3OjMzICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBoMjY0ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjY0ZGVwYXkuaDoKCSAgcnRwaDI2NGRlcGF5OiByZWZhY3RvciBhbmQgc2ltcGxpZnkgQVUgbWVyZ2luZwoJICBNb3ZlIHRoZSBwcm9jZXNzaW5nIG9mIHRoZSBOQUxVIHRvIGEgc2VwYXJhdGUgbWV0aG9kLgoJICBTaW1wbGlmeSB0aGUgbWVyZ2luZyBvZiBOQUxVIGludG8gQVUgYW5kIHVzZSBjb21tb24gY29kZSB3aGVuIHBvc3NpYmxlLgoKMjAxMC0wOS0yMSAyMzoyMzowNyArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogdGVzdHMvZXhhbXBsZXMvc2hhcGV3aXBlL3NoYXBld2lwZS1leGFtcGxlLmM6CgkgIHNoYXBld2lwZTogYWRkIG9wdGlvbmFsIGJvcmRlciBwYXJhbWV0ZXIgYW5kIHNsb3dkb3duIGFuaW1hdGlvbgoJICBBbGxvdyB0byBwbGF5IHdpdGggdGhlIGJvcmRlciBwcm9wZXJ0eSAoc2hhcnAvc29mdCBlZGdlcykuCgoyMDEwLTA5LTIxIDE5OjE0OjQwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zaGFwZXdpcGUvZ3N0c2hhcGV3aXBlLmM6CgkgIHNoYXBld2lwZTogRm9yY2UgZm9ybWF0IHRvIEFZVVYgaW4gdGhlIGV4YW1wbGUgcGlwZWxpbmUgZm9yIHRoZSBzYW1lIHJlYXNvbgoKMjAxMC0wOS0yMSAxOToxMzowNyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9leGFtcGxlcy9zaGFwZXdpcGUvc2hhcGV3aXBlLWV4YW1wbGUuYzoKCSAgc2hhcGV3aXBlOiBGb3JjZSB0aGUgaW5wdXQgdG8gQVlVViB0byBwcmV2ZW50IG5lZ290aWF0aW9uIGZhaWx1cmVzIGluIHZpZGVvbWl4ZXIKCSAgVGhlIHNlY29uZCB2aWRlb3Rlc3RzcmMgY2hhaW4gbWlnaHQgcHJvZHVjZSBZVVkyIGJlY2F1c2UgZXZlcnl0aGluZyBpcwoJICBhY2NlcHRlZCBkb3duc3RyZWFtIGJlZm9yZSB0aGUgZmlyc3Qgc2hhcGV3aXBlIGNoYWluIGdldHMgbmVnb3RpYXRlZC4KCjIwMTAtMDktMjEgMTk6MTI6NDUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3NoYXBld2lwZS9nc3RzaGFwZXdpcGUuYzoKCSAgc2hhcGV3aXBlOiBJbXByb3ZlIGRlYnVnZ2luZyBhbmQgaW1tZWRpYXRlbHkgcmV0dXJuIGVtcHR5IGNhcHMgZnJvbSB0aGUgZ2V0Y2FwcyBmdW5jdGlvbnMKCjIwMTAtMDktMjEgMTg6MzM6NTUgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIGFhMGQxZDAgdG8gNWUzYzliZgoKMjAxMC0wOS0yMSAxMjo0OTozMSArMDIwMCAgUGhpbGlwcGUgTm9ybWFuZCA8cG5vcm1hbmRAaWdhbGlhLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJ4b3ZlcmxheS5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyeG92ZXJsYXkuaDoKCSAgdjRsMjogdXNlIHRoZSB4b3ZlcmxheSBBUElzCgoyMDEwLTA5LTIxIDEyOjQ4OjM0ICswMjAwICBQaGlsaXBwZSBOb3JtYW5kIDxwbm9ybWFuZEBpZ2FsaWEuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBzeXMvb3N4dmlkZW8vb3N4dmlkZW9zaW5rLm06CgkgIG9zeHZpZGVvc2luazogdXNlIHRoZSBuZXcgeG92ZXJsYXkgQVBJcwoJICBBbHNvIGJ1bXBlZCAtYmFzZSByZXF1aXJlbWVudHMuCgoyMDEwLTA5LTIxIDEyOjMxOjU5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiBVc2UgLURHU1RfRElTQUJMRV9ERVBSRUNBVEVEIGFnYWluIGZvciBHSVQgdmVyc2lvbnMKCjIwMTAtMDktMjEgMTE6NTI6MjIgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOgoJICBzb3VwaHR0cHNyYzogRml4IGRlYnVnIHN0YXRlbWVudAoKMjAxMC0wOS0yMCAyMzoxNzozNSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IFBhcnNlIHV1aWQgYXRvbXMgaW4gcHVzaCBtb2RlCgkgIFBhcnNlcyB1dWlkIGF0b21zIGluIHB1c2ggbW9kZSB3aGVuIHRoZXkgYXJlIGZvdW5kLCB0aGV5IG1pZ2h0CgkgIGNvbnRhaW4geG1wIHRhZ3MuCgkgIEFsc28gZG9lcyBhIG1pbm9yIHJlZmFjdG9yaW5nIHRvIHB1dCB0aGUgZ2xvYmFsIHRhZ3MgcG9zdGluZwoJICBpbnRvIGEgc2luZ2xlIGZ1bmN0aW9uIGluc3RlYWQgb2YgcmVwZWF0aW5nIGl0IGluIDMgZGlmZmVyZW50CgkgIHBsYWNlcy4KCSAgRml4ZXMgIzYyOTgzOQoKMjAxMC0wOS0xNiAwODowNDowMiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IERlbGF5IHRhZ3MgcG9zdGluZyBhIGxpdHRsZQoJICBEZWxheSB0YWdzIHBvc3RpbmcgdW50aWwgd2UndmUgcGFyc2VkIGFsbCB0aGUgaGVhZGVycyBzbwoJICB0aGF0IHRoZSBuYXRpdmUgYW5kIHhtcCB0YWdzIGdldCBtZXJnZWQgYmVmb3JlIHBvc3RpbmcKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYyOTgzOQoKMjAxMC0wOS0xNSAyMjoxMzo0MyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXhfZm91cmNjLmg6CgkgIHF0ZGVtdXg6IFBhcnNlIHhtcCBwYWNrZXQgaW4gdXVpZCBhdG9tCgkgIHhtcCBwYWNrZXQgaXMgcGxhY2VkIGludG8gYSB0b3AtbGV2ZWwgdXVpZCBhdG9tIGZvcgoJICBpc29tL21wNCB2YXJpYW50cy4KCSAgVGhpcyBwYXRjaCBtYWtlcyBxdGRlbXV4IHBhcnNlIGFsbCB0b3AtbGV2ZWwgYXRvbXMKCSAgaW4gcHVsbC1tb2RlIGJlZm9yZSBzdGFydGluZyB0byBwdXNoIGRhdGEsIG1ha2luZwoJICBpdCBhYmxlIHRvIGZpbmQgdGhvc2UgdGFncy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYyOTgzOQoKMjAxMC0wOS0xNyAxMTowNzo1MiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHN0YXRzLmM6CgkgIHJ0cHN0YXRzOiBwcmludGYgZm9ybWF0IGZpeGVzCgoyMDEwLTA5LTE3IDExOjA3OjAyICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBhbXJwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnNzI5cGF5LmM6CgkgIHJ0cHBheTogc29tZSBwcmludGYgZm9ybWF0IGZpeGVzCgoyMDEwLTA5LTE1IDE4OjIxOjExICswMjAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kZWNpbmFAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBmaXggbG9naWMgd2hlbiBwdXNoaW5nIEVPUy4KCSAgRG9uJ3QgY2hlY2sgZm9yIHJldHVybiB2YWx1ZXMgd2hlbiBwdXNoaW5nIEVPUy4gU3RpbGwgcG9zdCBhbiBlcnJvciBpZiBFT1MgaXMKCSAgcmVhY2hlZCBhbmQgbm8gc3RyZWFtcyBoYXZlIGJlZW4gZm91bmQuCgoyMDEwLTA5LTE1IDE3OjAyOjU3ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuYXJnczoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkgIGRvY3M6IGFkZCBndGstZG9jIGNodW5rcyB3aXRoIFNpbmNlOiBtYXJrZXJzIGZvciBuZXcgdjRsMnNyYyBwcm9wZXJ0aWVzCgoyMDEwLTA5LTE1IDE4OjQzOjUwICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiB0ZXN0cy9leGFtcGxlcy92NGwyL2NhbWN0cmwuYzoKCSAgY2FtY3RybDogYWRkIGxpY2Vuc2UgaGVhZGVyIHRvIGRlbW8KCjIwMTAtMDktMTQgMTc6NDE6MjggKzAyMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRlY2luYUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IGRvbid0IHNlbmQgRU9TIHR3aWNlIG9uIHRoZSBzYW1lIHBhZC4KCjIwMTAtMDktMTQgMTA6MDc6NTggKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5oOgoJICBwdWxzZXNpbms6IG1vdmUgdGhlIHNoYXJlZCBtYWlubG9vcCBmcm9tIGNsYXNzIHRvIHN0YXRpYyB2YXIKCSAgSnVzdCBoYXZlIG9uZSBzdGF0aWMgdmFyIGZvciB0aGUgc2hhcmVkIG1haW5sb29wIGluc3RlYWQgb2Ygb25lIGNsYXNzIHZhcmlhYmxlCgkgIGFuZCBjb3BpZXMgaW4gdGhlIGluc3RhbmNlLgoKMjAxMC0wOS0xMyAxNzozMTozNSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwanBlZ3BheS5jOgoJICBydHBqcGVncGF5OiBjbGVhbnVwcyBmb3IgRFJJIG1hcmtlcnMKCSAgUHJvdGVjdCBhZ2FpbnN0IGludmFsaWQgRFJJIG1hcmtlcnMuCgkgIGRvIHNvbWUgY2xlYW51cHMKCjIwMTAtMDktMTAgMTE6MzU6NTMgLTA0MDAgIEFtZXJpY2FuIER5bmFtaWNzIDxHU3RyZWFtZXItQnVnc0B0eWNvc3AuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBqcGVncGF5LmM6CgkgIGdzdHJ0cGpwZWdwYXk6IEFkZGVkIERlZmluZSBSZXN0YXJ0IEludGVydmFsIChEUkkpIE1hcmtlcgoJICBBZGRlZCBhYmlsaXR5IHRvIGRldGVjdCBhbmQgcmVzcG9uZCB0byBhIEpQRUctZGVmaW5lZCBEUkkgbWFya2VyCgoyMDEwLTA2LTE5IDE5OjIwOjE4IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6CgkgIGdzdHJ0cHNlc3Npb246IFNwbGl0IGdldHRpbmcgdGhlIGNhcHMgaW50byBpdHMgb3duIGZ1bmN0aW9uCgoyMDEwLTA5LTEzIDE2OjAzOjUwICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6CgkgIHJ0cGJpbjogc21hbGwgY2xlYW51cC4KCjIwMTAtMDktMTMgMTY6MjQ6MjYgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5oOgoJICBwdWxzZXNpbms6IHJld29yayBjb250ZXh0IHNoYXJpbmcKCSAgV2UgYWxzbyBuZWVkIHRvIHNoYXJlIHRoZSBtYWluLWxvb3AgdGhyZWFkcyBhcyB0aGlzIG93bnMgdGhlIGNvbnRleHQuIFRodXMgaGF2ZQoJICBhIGNsYXNzIHdpZGUgbWFpbi1sb29wIHRocmVhZC4gRnJvbSB0aGlzIHdlIGNyZWF0ZSBhIGNvbnRleHQgcGVyIGNsaWVudC1uYW1lLgoJICBJbnN0ZWFkIG9mIGFsd2F5cyBsb29raW5nIHVwIHRoZSBjb250ZXh0LCB3ZSBrZWVwIHRoaXMgd2l0aCB0aGUgaW5zdGFuY2UuIFRoZQoJICByZXZlcnNlIG1hcHBpbmcgaXMgb25seSBuZWVkZWQgaW4gcHVsc2Ugc2luZ2FsIGhhbmRsZXJzLiBUaGlzIHNhdmVzIGEgbG90IG9mCgkgIGxvY2tpbmcuIEFsc28gb25lIHNpZ25hbCBoYW5kbGVyIGJlY29tZXMgc2ltcGxlciBhcyB0aGVyIGVpcyBvbmx5IG9uZSBtYWlubG9vcAoJICB0byBub3RpZnkuCgkgIE5vdyB2YWxnaW5kIGhhcHB5IC0gbm8gbGVha3MsIG5vIGJhZCByZWFkcy93cml0ZXMuCgkgIFRoaXMgcmV2ZXJ0cyBtYWpvciBwYXJ0cyBvZiBjb21taXQgNjlhMzk3YzMyZjRiYWYwN2E3YjI5MzdjNjEwZjllOGYzODNlOWFlOS4KCSAgRml4ZXMgIzYyODk5NgoKMjAxMC0wOS0xMyAxNTo0NDo1MiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc3RhdHMuYzoKCSAgcnRwc2Vzc2lvbjogU21hbGwgY2xlYW51cHMKCSAgTWFrZSB0aGUgcHJvcGVydHkgZGVzY3JpcHRpb24gcHJldHRpZXIuCgkgIEFjdHVhbGx5IG11bHRpcGxlIHRoZSBiYW5kd2lkdGggd2l0aCB0aGUgZnJhY3Rpb24uCgoyMDEwLTA2LTAxIDIxOjM1OjQwIC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5oOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzdGF0cy5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzdGF0cy5oOgoJICBydHBzZXNzaW9uOiBDYWxjdWxhdGUgUlRDUCBiYW5kd2lkdGggYXMgYSBmcmFjdGlvbiBvZiB0aGUgUlRQIGJhbmR3aWR0aAoJICBDYWxjdWxhdGUgdGhlIFJUQ1AgYmFuZHdpZHRoIHRvIGJlIGEgZnJhY3Rpb24gb2YgdGhlIFJUUCBiYW5kd2lkdGggaWYgaXQgaXMKCSAgc3BlY2lmaWVkIGFzIGEgdmFsdWUgYmV0d2VlbiAwIGFuZCAxLgoKMjAxMC0wOS0xMyAxNToyOTowNiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSAgc2Vzc2lvbjogaW1wcm92ZSBiYW5kd2lkdGggcmVjYWxjdWxhdGlvbgoJICBBbHNvIHJlY2FsY3VsYXRlIGJhbmR3aWR0aCB3aGVuIG9uZSBvZiB0aGUgc291cmNlIGJhbmR3aWR0aHMgY2hhbmdlZC4KCSAgVXNlIHRoZSBuZXdseSBjYWxjdWxhdGVkIGJhbmR3aWR0aC4KCjIwMTAtMDYtMDEgMjE6MTc6MjYgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJICBydHBzZXNzaW9uOiBBZGQgdGhlIG9wdGlvbiB0byBhdXRvLWRpc2NvdmVyIHRoZSBSVFAgYmFuZHdpZHRoCgoyMDEwLTA5LTEzIDE0OjM4OjExICswMjAwICBUaGlqcyBWZXJtZWlyIDx0aGlqc3Zlcm1laXJAZ21haWwuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6CgkgIHJ0cGJpbjogc2V0IHVzZS1waXBlbGluZS1jbG9jayBvbiBjb3JyZWN0IEdPYmplY3QKCjIwMTAtMDYtMDIgMTc6NTE6MTIgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSAgcnRwc2Vzc2lvbjogSW5pdGlhbGlzZSB0aGUgYXZlcmFnZSBzY2FsZWQgYnkgMTYKCjIwMTAtMDktMTMgMTI6NDE6MTEgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkgIHJ0cHNlc3Npb246IGFkZCBydW5uaW5nX3RpbWUgYXJndW1lbnQgZG9jcwoKMjAxMC0wNi0yMyAxNjoxMzowMSAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc3RhdHMuaDoKCSAgcnRwc3RhdHM6IFJlY3RpZnkgZGVzY3JpcHRpb24gb2YgY3VycmVudF90aW1lIGluIFJUUEFycml2YWxTdGF0cwoJICBJdCBpcyB0aGUgY3VycmVudCB0aW1lLCBpdCBpcyB1bnJlbGF0ZWQgdG8gd2hlbiB0aGUgcGFja2V0IHdhcyBhY3R1YWxseSByZWNlaXZlZC4KCjIwMTAtMDktMTMgMTI6MzE6NDAgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkgIHJ0cHNlc3Npb246IGNvbXB1dGUgdGhlIGF2ZXJhZ2UgY29ycmVjdGx5IHNjYWxlZAoKMjAxMC0wNi0wMSAyMDozMToxOCAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJICBydHBzZXNzaW9uOiBDb3VudCBzZW50IFJUQ1AgcGFja2V0cyBhZnRlciB0aGV5IGhhdmUgYmVlbiBmaW5pc2hlZAoJICBJZiB0aGV5IGFyZSBjb3VudGVkIGJlZm9yZSBjYWxsaW5nIGdzdF9ydGNwX2J1ZmZlcl9lbmQoKSwgdGhlbiB0aGUKCSAgc2l6ZSBpcyB3YXkgdG9vIGJpZy4KCjIwMTAtMDYtMDEgMTk6NTE6MzQgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzoKCSAgZ3N0cnRwc2Vzc2lvbjogRG9uJ3QgdW5yZWYgIHBhZHMgaW4gZmluYWxpemUKCSAgVGhlIGdzdHJ0cHNlc3Npb24gb2JqZWN0IGlzIG5vdCBob2xkaW5nIGFueSByZWZlcmVuY2UgdG8gdGhlbSBkaXJlY3RseQoKMjAxMC0wOS0xMiAwMDowOTowOSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBwby9QT1RGSUxFUy5pbjoKCSogcG8vYWYucG86CgkqIHBvL2F6LnBvOgoJKiBwby9iZy5wbzoKCSogcG8vY2EucG86CgkqIHBvL2NzLnBvOgoJKiBwby9kYS5wbzoKCSogcG8vZGUucG86CgkqIHBvL2VsLnBvOgoJKiBwby9lbl9HQi5wbzoKCSogcG8vZXMucG86CgkqIHBvL2V1LnBvOgoJKiBwby9maS5wbzoKCSogcG8vZnIucG86CgkqIHBvL2dsLnBvOgoJKiBwby9odS5wbzoKCSogcG8vaWQucG86CgkqIHBvL2l0LnBvOgoJKiBwby9qYS5wbzoKCSogcG8vbHQucG86CgkqIHBvL2x2LnBvOgoJKiBwby9tdC5wbzoKCSogcG8vbmIucG86CgkqIHBvL25sLnBvOgoJKiBwby9vci5wbzoKCSogcG8vcGwucG86CgkqIHBvL3B0X0JSLnBvOgoJKiBwby9yby5wbzoKCSogcG8vcnUucG86CgkqIHBvL3NrLnBvOgoJKiBwby9zbC5wbzoKCSogcG8vc3EucG86CgkqIHBvL3NyLnBvOgoJKiBwby9zdi5wbzoKCSogcG8vdHIucG86CgkqIHBvL3VrLnBvOgoJKiBwby92aS5wbzoKCSogcG8vemhfQ04ucG86CgkqIHBvL3poX0hLLnBvOgoJKiBwby96aF9UVy5wbzoKCSAgcG86IHVwZGF0ZSB0cmFuc2xhdGlvbnMgZm9yIG5ldyBzb3VwaHR0cHNyYyBtZXNzYWdlcwoKMjAxMC0wOS0xMiAwMDowODowNSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOgoJICBzb3VwOiBob29rIHVwIGkxOG4gYml0cyBmb3IgcGx1Z2luCgkgIENhbGwgYmluZHRleHRkb21haW4oKSBldGMuCgoyMDEwLTA5LTEyIDAwOjA0OjQyICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6CgkgIHNvdXA6IGZpeCBlcnJvciBtZXNzYWdlcwoJICBFcnJvciBtZXNzYWdlcyBzaG91bGQgYmUgdHJhbnNsYXRlZC4gVVJJcyBhbmQgZmlsZW5hbWVzIHNob3VsZCBub3QKCSAgYmUgcGFydCBvZiB0aGUgZXJyb3IgbWVzc2FnZSBzdHJpbmcgdGhhdCdzIHNob3duIHRvIHRoZSB1c2VyLgoJICBzb3VwX21lc3NhZ2UtPnJlYXNvbl9waHJhc2UgaXMgbm90IHRyYW5zbGF0ZWQgYW5kIG5vdCBzdWl0YWJsZSBhcwoJICBlcnJvciBtZXNzYWdlIGZvciB1c2VycyAoc2VlIGxpYnNvdXAgZG9jdW1lbnRhdGlvbikuIEFsc28gZml4IHVwCgkgIGVycm9yIGNvZGVzIGEgYml0LCBhcyBmYXIgYXMgcG9zc2libGUgd2l0aCB0aGUgZXhpc3RpbmcgY29kZXMuCgoyMDEwLTA5LTEwIDA5OjQzOjI0ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9qcGVnL2dzdGpwZWdkZWMuYzoKCSAganBlZ2RlYzogZG9uJ3QgcG9zdCBhbiBlcnJvciBtZXNzYWdlIGlmIGJ1ZmZlciBhbGxvYyBmYWlscyB3aXRoIE5PVF9MSU5LRUQgZmxvdwoJICBUaGlzIGlzIG5vdCBmYXRhbCwgbGV0IHVwc3RyZWFtIGhhbmRsZSBpdC4KCjIwMTAtMDktMTAgMTg6MDY6NDggKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IGRvbid0IGNsZWFyIHNkcCB3aGVuIHNldCBhcyB1cmkKCSAgd2hlbiB3ZSBzZXQgdGhlIFNEUCB3aXRoIGFuIHVyaSwgZG9uJ3QgY2xlYXIgaXQgd2hlbiB3ZSBnbyB0byBSRUFEWS4KCjIwMTAtMDktMTAgMTg6MDE6MTggKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IHVzZSBzZHAgdXJpIHBhcnNlIG1ldGhvZAoJICBVc2UgdGhlIHNkcCBwYXJzZSBtZXRob2QgdGhhdCBkb2VzIHByb3BlciB1cmkgZXNjYXBpbmcuCgoyMDEwLTA5LTEwIDE2OjU5OjEwICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiB0ZXN0cy9leGFtcGxlcy92NGwyLy5naXRpZ25vcmU6CgkqIHRlc3RzL2V4YW1wbGVzL3Y0bDIvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2V4YW1wbGVzL3Y0bDIvY2FtY3RybC5jOgoJICBleGFtcGxlOiBhZGQgdjRsMiBleGFtcGxlLCBkZW1vbnN0cmF0aW5nIHRoZSB1c2Ugb2YgZ3N0IGNvbnRyb2xsZXIKCjIwMTAtMDktMTAgMTY6NTU6MjUgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuYzoKCSAgdjRsMnNyYzogZG9uJ3Qgc2tpcCBjYWxjdWxhdGluZyB0aGUgZHVyYXRpb24KCjIwMTAtMDYtMjIgMTU6NDg6MDQgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIHN5cy92NGwyL01ha2VmaWxlLmFtOgoJKiBzeXMvdjRsMi9nc3R2NGwyLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5oOgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuaDoKCSAgdjRsMnNyYzogYWRkIGNvbnRyb2xhYmxlIGNvbG9yYmFsYW5jZSBwYXJhbWV0ZXJzCgkgIEV4cG9zZSBjb2xvcmJhbGFuY2UgY29udHJvbHMgYXMgb2JqZWN0IHByb3BlcnRpZXMgKGxpa2Ugd2UgZG8gb24geHZpbWFnZXNpbmspLgoJICBNYWtlIHRoZW0gY29udHJvbGFibGUuCgoyMDEwLTA5LTEwIDEzOjI1OjM5ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwbXBhcm9idXN0ZGVwYXkuYzoKCSAgcnRwbXBhcm9idXN0ZGVwYXk6IGZpeCBzb21lIG1pcy1pbXBsZW1lbnRhdGlvbgoJICBBbHNvIGFkZCBzb21lIGRlYnVnLgoKMjAxMC0wOS0xMCAxMzoyNDowMiArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cG1wYXJvYnVzdGRlcGF5LmM6CgkgIHJ0cG1wYXJvYnVzdGRlcGF5OiBwcm9wZXJseSBpbnNlcnQgZHVtbXkgYnVmZmVycwoKMjAxMC0wOS0xMCAxMTo1NToyNiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5oOgoJICBydHNwc3JjOiBhZGQgcnRzcC1zZHAgcHJvdG9jb2wgc3VwcG9ydAoJICBBbGxvdyBzZXR0aW5nIGFuIFNEUCB3aXRoIHRoZSBydHNwLXNkcDovLyB1cmwuCgkgIEJhc2VkIG9uIHBhdGNoIGZyb20gTWFyY28gQmFsbGVzaW8uCgkgIFNlZSAjNjI4MjE0CgoyMDEwLTA5LTEwIDExOjM1OjU4ICswMjAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kZWNpbmFAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2FscGhhL2dzdGFscGhhY29sb3IuYzoKCSAgYWxwaGFjb2xvcjogbWFrZSBwYXNzdGhyb3VnaCB3b3JrLgoKMjAxMC0wOS0wOSAyMTo0Mzo0MCArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L3J0cC9nc3RydHBtcDRhZGVwYXkuYzoKCSAgbXA0YWRlcGF5OiBzbWFsbCBsb2dnaW5nIGNsZWFudXAgYW5kIGFkZGl0aW9uIHRvIGRlYnVnIGNvbmZpZyBwYXJzaW5nCgoyMDEwLTA5LTA5IDIxOjQyOjQ2ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvYWFsaWIvZ3N0YWFzaW5rLmM6CgkgIGFhc2luazogZml4IGNvbnRleHQgaW5pdGlhbGlzYXRpb24gYW5kIGZyZWVpbmcgdG8gbm90IGxlYWsKCjIwMTAtMDktMDkgMjE6NDA6NTEgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9nZW5lcmljL3N0YXRlcy5jOgoJICB0ZXN0czogYWxsb3cgcnVubmluZyBzdGF0ZSB0ZXN0cyBmb3IgYWxsIGVsZW1lbnRzCgkgIE5vdyBvbmUgY2FuIHVzZSBHU1RfTk9fU1RBVEVfSUdOT1JFX0VMRU1FTlRTPTEgbWFrZSBnZW5lcmljL3N0YXRlcy5jaGVjawoJICB0byB0cnkgZWxlbWVudHMgdGhhdCB3b3VsZCBub3JtYWx5IGJlIHNraXBwZWQuCgoyMDEwLTA5LTA5IDE4OjQ3OjU2ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwLXBheWxvYWRpbmcuYzoKCSAgdGVzdHM6IGZpeCBydHBqcGVncGF5IHRlc3QKCSAgTWFrZSB0aGUgZGF0YSB3ZSBzZW5kIHRvIHRoZSBqcGVnIHBheWxvYWRlciBiZSBhIHZhbGlkIGpwZWcgZmlsZSBiZWNhdXNlIHRoZQoJICBwYXlsb2FkZXIgbm93IGV4cGVjdHMgdGhpcy4KCjIwMTAtMDktMDkgMTg6NDc6MTEgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGpwZWdwYXkuYzoKCSAgcnRwanBlZ3BheTogaW1wcm92ZSBkZWJ1Z2dpbmcKCjIwMTAtMDktMDkgMTY6MzE6NTYgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBtcGFyb2J1c3RkZXBheS5jOgoJICBydHBtcGFyb2J1c3RkZXBheTogdXNlIHZhbGlkIGJpdHJhdGUgZm9yIGR1bW15IGZyYW1lCgoyMDEwLTA5LTA4IDE3OjA3OjUzIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC90YWdsaWIvZ3N0aWQzdjJtdXguY2M6CgkgIGlkM3YybXV4OiBBZGRzIG1hcHBpbmcgZm9yIGFsYnVtIGFydGlzdAoJICBNYXBzIEdTVF9UQUdfQUxCVU1fQVJUSVNUIHRvIFRQRTIgaW4gaWQzdjJtdXgKCjIwMTAtMDktMDggMTg6MzU6MDggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IFJlcXVpcmUgb3JjIDAuNC44CgkgIFRoZSBkZWludGVybGFjZSBwbHVnaW4gYXBwYXJlbnRseSBmYWlscyB0byBjb21waWxlIHdpdGggb2xkZXIgdmVyc2lvbnMuCgoyMDEwLTA5LTA4IDE3OjUwOjExICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYWRlbXV4OiBRb1MgaGFuZGxpbmcgbG9naWMgb25seSBhcHBsaWVzIHRvIGZvcndhcmQgcGxheWJhY2sKCSAgRml4ZXMgIzYyODg5NC4KCjIwMTAtMDktMDggMTc6NDM6NDcgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSAgcHVsc2VzaW5rOiByZW1vdmUgdW51c2VkIGNvZGUKCjIwMTAtMDktMDggMTQ6MzY6NDggKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSAgcHVsc2VzaW5rOiBmaXh1cCBsYXN0IGNvbW1pdAoJICBXZSBuZWVkIHRvIHByZXZlbnQgdGhlIGV2ZW50dWFsIGxlYWsgYmV0dGVyLgoKMjAxMC0wOS0wOCAxNDoxNjo1OCArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJICBwdWxzZXNpbms6IGNvZGUgY2xlYW51cHMKCSAgVXNlIGdfc2xpc3RfcHJlcGVuZCBhcyB3ZSBkb24ndCBjYXJlIGFib3V0IHRoZSBvcmRlci4gQ2hlY2sgZm9yIGxpc3QgPT0gTlVMTAoJICBpbnN0ZWFkIG9mIGl0ZXJhdGluZyB0aGUgbGlzdCB0byBzZWUgaWYgaXQgaXMgZW1wdHkuIE1vdmUgY3R4IGFsbG9jYXRpb24gZG93bgoJICB0byBwcmV2ZW50IGxlYWsgaW4gY2FzZSBvZiBmYWlsdXJlLgoKMjAxMC0wOS0wOCAwNzoxMzo0MiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGpwZWdwYXkuYzoKCSAgcnRwanBlZ3BheTogRml4IHVuaW5pdGlhbGl6ZWQgdmFyaWFibGUgY29tcGlsZXIgd2FybmluZwoJICBGaXhlcyBidWcgIzYyOTAxOC4KCjIwMTAtMDktMDcgMTk6MDI6MDEgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkgIHB1bHNlc2luazogc2ltcGxpZnkgY2xvY2sgcHJvdmlkZSBjb2RlCgkgIERvbid0IGxlYWsgdGhlIHB1bHNlc2luayBlbGVtZW50IGJ5IGhhdmluZyB0aGUgY2xvY2sga2VlcCBhIHJlZiB0byB0aGUgc2luay4KCSAgQ3JlYXRlIHRoZSBjbG9jayBvbmx5IG9uY2UgaW4gdGhlIGNvbnN0cnVjdG9yIGFuZCB1c2UgdGhlIGJhc2VhdWRpb3NpbmsgY2xvY2sKCSAgY2xlYW51cCBjb2RlLgoKMjAxMC0wOS0wNyAxNzo0OTowNSArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJICBwdWxzZXNpbms6IG1vdmUgdGhlIGNvbnRleHQgdGFibGUgaW5pdCB0byBfZ2V0X3R5cGUgcGhhc2UKCSAgVGhpcyBzZWVtcyB0byBmaXggdGhlIGludmFsaWQgcmVhZHMgb24gY29udGV4dCBzaHV0ZG93biBiZXR0ZXIsIGFsdG91Z2gKCSAgSSBjYW4ndCByZWFsbHkgZXhwbGFpbi4KCjIwMTAtMDktMDcgMTc6MDY6MDIgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IHVzZSBvbGRlciBnX2FycmF5X2ZyZWUKCSAgZ19hcnJheV91bnJlZigpIGlzIG9ubHkgc2luY2UgMi4yMgoKMjAxMC0wOS0wNyAxNjo0OToxNiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9qcGVnL2dzdGpwZWdkZWMuYzoKCSAganBlZ2RlYzogYXZvaWQgaW52YWxpZCBhZGFwdGVyIGZsdXNoIG9uIFFvUwoJICBGaXJzdCBzdG9yZSB0aGUgYXZhaWxhYmxlIGRhdGEgaW4gdGhlIGFkYXB0ZXIgaW4gdGhlIHJlbV9pbWdfbGVuIGluc3RhbmNlIGZpZWxkCgkgIGJlZm9yZSB0cnlpbmcgdG8gZmx1c2ggdGhlIGFkYXB0ZXIgd2l0aCB0aGF0IHZhbHVlIG9uIFFvUy4KCjIwMTAtMDktMDcgMTY6NDA6MDggKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGpwZWdwYXkuYzoKCSAgcnRwanBlZ3BheTogZG8gc29tZSBtb3JlIHNhbml0aXR5IGNoZWNrcwoJICBQcm90ZWN0IHNvbWUgbW9yZSBhZ2FpbnN0IGludmFsaWQgaW5wdXQuCgoyMDEwLTA5LTA3IDE1OjIwOjEyICswMjAwICBBbWVyaWNhbiBEeW5hbWljcyA8R1N0cmVhbWVyLUJ1Z3MgYXQgdHljb3NwLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwanBlZ3BheS5jOgoJICBqcGVncGF5OiBoYW5kbGUgY29ycnVwdGVkIGpwZWcgYmV0dGVyCgkgIFByb3RlY3QgYWdhaW5zdCBjb3JydXB0ZWQganBlZyBpbnB1dC4KCjIwMTAtMDktMDcgMTM6NTU6MDQgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cHZyYXdkZXBheS5jOgoJICBydmF3ZGVwYXk6IGNsZWFudXAgdW51c2VkIGZpZWxkcwoKMjAxMC0wOS0wNyAxMzo1MTozNyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwdnJhd2RlcGF5LmM6CgkgIHZyYXdkZXBheTogaGFuZGxlIGludmFsaWQgcGF5bG9hZCBiZXR0ZXIKCSAgTWFrZSBzdXJlIHdlIGRvbid0IHJlYWQgbW9yZSBkYXRhIHRoYW4gYXZhaWxhYmxlIGluIHRoZSBpbnB1dCBidWZmZXIuCgkgIENsaXAgdGhlIGlucHV0IGRhdGEgaW50byB0aGUgb3V0cHV0IGJ1ZmZlci4KCjIwMTAtMDgtMTYgMTU6MzU6NTEgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5oOgoJKiBleHQvcHVsc2UvcHVsc2VzcmMuYzoKCSogZXh0L3B1bHNlL3B1bHNlc3JjLmg6CgkqIGV4dC9wdWxzZS9wdWxzZXV0aWwuYzoKCSogZXh0L3B1bHNlL3B1bHNldXRpbC5oOgoJICBwdWxzZTogYWxsb3cgc2V0dGluZyBzdHJlYW0gcHJvcGVydGllcwoJICBBZGQgYSAicHJvcGVydGllcyIgcHJvcGVydHkgdG8gdGhlIGVsZW1lbnRzIHRvIGFsbG93IHNldHRpbmcgZXh0cmEgc3RyZWFtCgkgIHByb3BlcnRpZXMuCgkgIEZpeGVzICM1Mzc1NDQKCjIwMTAtMDktMDcgMTI6MDg6MTAgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLTEzOTQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWFzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGFjb2xvci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbm5vZGV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFwZXRhZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb2Z4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2RldGVjdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdmkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FjYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2Fpcm8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY3V0dGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlaW50ZXJsYWNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZW5jZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmZlY3R2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVxdWFsaXplci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lc2RzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZseGRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nY29uZmVsZW1lbnRzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdka3BpeGJ1Zi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZGtwaXhidWYzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbTJrMS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc3RydHBtYW5hZ2VyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWhhbGVsZW1lbnRzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWljeWRlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlkM2RlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWltYWdlZnJlZXplLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVybGVhdmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanBlZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sZXZlbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tYXRyb3NrYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aWZpbGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlwYXJ0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5hdmlnYXRpb250ZXN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zczQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5nLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXB1bHNlYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcXVpY2t0aW1lLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlcGxheWdhaW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0c3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hhcGV3aXBlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNob3V0MnNlbmQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc21wdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVjdHJ1bS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10YWdsaWIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdWRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvNGxpbnV4Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2JveC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2Nyb3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9maWx0ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9taXhlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14aW1hZ2VzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teTRtZW5jLnhtbDoKCSAgZG9jczogcmVtb3ZlIGludHJvc3BlY3Rpb24gaW5mbyBmb3IgZ2RrcGl4YnVmMyBwbHVnaW4gYW5kIHVwZGF0ZSB2ZXJzaW9uIGZvciBvdGhlcnMKCSAgVGhlIHZlcnNpb25zIGdvdCBhY2NpZGVudGFsbHkgcmV2ZXJ0ZWQgdG8gYSBwcmUtcmVsZWFzZSB2ZXJzaW9uLCBmaXggdGhhdC4KCjIwMTAtMDktMDcgMTE6NDI6MTAgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSBjMmUxMGJmIHRvIGFhMGQxZDAKCjIwMTAtMDktMDcgMDk6MjA6MDMgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2Fubm9kZXgvZ3N0Y21tbGRlYy5jOgoJICBjbW1sZGVjOiBmaXggZmxvdyByZXR1cm4gaGFuZGxpbmcKCSAgRml4IGJ1Z2d5IEdTVF9GTE9XX0lTX0ZBVEFMIHN1YnN0aXR1dGlvbiwgYW5kICdtYWtlIGNoZWNrJzoKCSAgLSAgaWYgKCFHU1RfRkxPV19JU19GQVRBTCAoZGVjLT5mbG93X3JldHVybikgJiYgIWRlYy0+c2VudF9yb290KSB7CgkgICsgIGlmIChkZWMtPmZsb3dfcmV0dXJuICE9IEdTVF9GTE9XX09LICYmICFkZWMtPnNlbnRfcm9vdCkgewoKMjAxMC0wOS0wNyAwMDoyNzowNyArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJICBwdWxzZXNpbms6IGRvbid0IGZyZWUgdGhlIGNvbnRleHQgbXVsdGlwbGUgdGltZXMKCSAgQXBwYXJlbnRseSB0aGUgY2xvc2UgZnVuY3Rpb24gb2YgdGhlIHJpbmctYnVmZmVyIGNhbiBiZSBjYWxsZWQgbXVsdGlwbGUgdGltZXMuCgoyMDEwLTA4LTEyIDEyOjMzOjA2ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvcnRwL2dzdHJ0cG1wNGFkZXBheS5jOgoJICBydHBtcDRhZGVwYXk6IGdyYWIgdGhlIHNhbXBsaW5nIGFydGUgYW5kIHB1dCBpbnRvIGNhcHMKCSAgVGhpcyBpcyBuZWVkZWQgdG8gYmUgYWJsZSB0byBtdXggdGhlIHJlY2VpdmVkIGF1ZGlvIGludG8gbXA0IChpbiB0aGUgY2FzZSBvZgoJICBhYWMpLiBGaXhlcyAjNjI1ODI1LgoKMjAxMC0wOS0wNiAxNDo0MDowMiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGFtcmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwYW1ycGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2M3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wNGFwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDRncGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwcWNlbHBkZXBheS5jOgoJICBydHA6IG1hcmsgY29uc3RhbnQgdGFibGVzIGFzIGNvbnN0CgoyMDEwLTA4LTE4IDE0OjQwOjQ4ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwYW1ycGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwYW1ycGF5Lmg6CgkgIHJ0cGFtcnBheTogcHJvcGVybHkgc3VwcG9ydCBwZXJmZWN0LXJ0cHRpbWUKCjIwMTAtMDgtMTggMTE6NDI6MzMgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBhbXJwYXkuYzoKCSAgcnRwYW1ycGF5OiBwcm9wZXIgZHVyYXRpb24gZm9yIG11bHRpcGxlIGZyYW1lIHBheWxvYWQKCjIwMTAtMDgtMTggMTE6NDI6MDcgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBhbXJkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGFtcnBheS5jOgoJICBydHBhbXIoZGUpcGF5OiBzdXBwb3J0IEFNUi1XQiBTSUQgZnJhbWUKCjIwMTAtMDgtMTggMTE6Mzk6MDYgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBnNzI5cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZzcyOXBheS5oOgoJICBydHBnNzI5cGF5OiBwcm9wZXJseSBzdXBwb3J0IHBlcmZlY3QtcnRwdGltZQoKMjAxMC0wOC0xNiAxNjowODowNCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IGltcHJvdmUgZnJhbWVyYXRlIGRldGVybWluaW5nCgkgIENvbGxlY3QgYSBsaW1pdGVkIG51bWJlciBvZiBzdGFydGluZyBzYW1wbGUgZHVyYXRpb25zIGFuZCB1c2UgdGhlIG1lZGlhbiBvZgoJICB0aG9zZSB0byBkZXRlcm1pbmUgY2FwcyBmcmFtZXJhdGUuCgoyMDEwLTA4LTE3IDEyOjA4OjEwICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYWRlbXV4OiBhdHRlbXB0IG1vcmUgcmVzeW5jIHVwb24gKGNsdXN0ZXIpIHBhcnNlIGVycm9yCgkgIFRoYXQgaXMsIGlmIHBhcnNlIGVycm9yIG9jY3VycyBpbiBzdGF0ZSByZXF1aXJpbmcgdG8gbW92ZSB0byBuZXh0IGNsdXN0ZXIsCgkgIGFuZCBkb2luZyBzbyB0byB0aGUgZXhwZWN0ZWQgbmV4dCBwb3NpdGlvbiBvZiBjbHVzdGVyIGZhaWxzLCB0aGVuIHNjYW4gZm9yIGEKCSAgbmV4dCBjbHVzdGVyIGZyb20gcHJlc2VudCBwb3NpdGlvbiBhbmQgcmVzdW1lIGZyb20gdGhlcmUuCgkgIEZpeGVzICM2MjA3OTAuCgoyMDEwLTA4LTE2IDE2OjA1OjQxICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYWRlbXV4OiBub3Qgc28gZmF0YWwgZXJyb3IgaGFuZGxpbmcKCSAgSWYgc29tZSBiaXRzIG91dCBvZiBwbGFjZSBpbiBibG9jayhncm91cCkgcGFyc2luZywgZm9yZWdvIGFuZCBtb3ZlIHRvIG5leHQuCgkgIEFsc28gc2tpcCBsYXJnZSBibG9ja3MgaW4gcHVsbCBtb2RlLCBidXQgbmVlZCB0byBnaXZlIHVwIGluIHB1c2ggbW9kZS4KCSAgRml4ZXMgIzYyNjQ2My4KCSAgSW1wcm92ZXMgIzYyMDc5MC4KCjIwMTAtMDctMjYgMTU6NTE6NDkgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5oOgoJICBtYXRyb3NrYWRlbXV4OiBhZGRpdGlvbmFsIHBhcnNlIHJlY292ZXJ5CgkgIEluIHBhcnRpY3VsYXIsIHVwb24gcGFyc2UgZmFpbHVyZSBpbiBvbmUgY2x1c3Rlciwgd2UgbWF5IGZvcmVnbyByZW1haW5pbmcKCSAgY29udGVudCBhbmQgdHJ5IHJlc3VtaW5nIGZyb20gbmV4dCBjbHVzdGVyIG9ud2FyZHMuCgkgIEZpeGVzICM2MjA3OTAuCgoyMDEwLTA4LTI2IDAyOjU0OjU1IC0wNDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R0bWYvZ3N0ZHRtZnNyYy5jOgoJICBkdG1mc3JjOiBNYWtlIHRoZSBkdG1mc3JjIGFjY2VwdCBldmVudHMgc2VudCB3aXRoIGdzdF9lbGVtZW50X3NlbmRfZXZlbnQKCSAgVGhlIGRvYyBzYXlzIHRvIHVzZSBnc3RfZWxlbWVudF9zZW5kX2V2ZW50IG9uIHRoZSBwaXBlbGluZSwgYnV0IGlmCgkgIHdlIGFyZSB0byBjYWxsIGl0IG9uIHRoZSBlbGVtZW50IGl0c2VsZiwgaXQncyBhIG5vb3AuIFRoaXMgc2hvdWxkIG1ha2UgaXQKCSAgaGFuZGxlIHRoZSBldmVudCBwcm9wZXJseSBiZWZvcmUgZGVsZWdhdGluZyBpdCB0byBiYXNlc3JjLgoKMjAxMC0wOS0wNiAxMjoyMjoxMSArMDIwMCAgQW1lcmljYW4gRHluYW1pY3MgPEdTdHJlYW1lci1CdWdzIGF0IHR5Y29zcC5jb20+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuaDoKCSAgcnRzcHNyYzogQWRkIHByb3BlcnR5IHRvIGNvbmZpZ3VyZSB1ZHBzcmMgYnVmZmVyIHNpemUKCSAgQWRkIGEgbmV3IHVkcC1idWZmZXItc2l6ZSBwcm9wZXJ0eSB0byBjb25maWd1cmUgdGhlIGJ1ZmZlci1zaXplIG9uIHRoZSB1ZHBzcmMKCSAgZWxlbWVudHMuCgkgIEZpeGVzICM2MjgwNTgKCjIwMTAtMDgtMjcgMTc6NTg6NDcgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmg6CgkgIHJ0cGJpbjogYWRkIG50cC1zeW5jIHByb3BlcnR5CgkgIEFkZCBhbiBudHAtc3luYyBwcm9wZXJ0eSB0aGF0IHdpbGwgc3luYyB0aGUgcmVjZWl2ZWQgc3RyZWFtcyB0byB0aGUgc2VydmVyCgkgIE5UUCB0aW1lLiBUaGlzIHJlcXVpcmVzIHN5bmNocm9uaXplZCBOVFAgdGltZXMgYmV0d2VlbiB0aGUgc2VuZGVyIGFuZCByZWNlaXZlcnMsCgkgIGxpa2Ugd2l0aCBudHBkLgoJICBCYXNlZCBvbiBwYXRjaCBmcm9tIFRoaWpzIFZlcm1laXIuCgkgIEZpeGVzICM2Mjc3OTYKCjIwMTAtMDgtMjcgMTI6MTQ6MjUgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgaml0dGVyYnVmZmVyOiByZW5hbWUgYSB2YXJpYWJsZSB0byBhdm9pZCBjb25mdXNpb24KCjIwMTAtMDgtMjcgMTE6MDc6MzQgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzoKCSAgcnRwYmluOiByZW5hbWUgc29tZSB2YXJpYWJsZXMgZm9yIGxlc3MgY29uZnVzaW9uCgoyMDEwLTA4LTI3IDEwOjQxOjAxICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwaml0dGVyYnVmZmVyLmM6CgkgIHJ0cGppdHRlcmJ1ZmZlcjogbW92ZSBjb21tZW50IHdoZXJlIGl0IGJlbG9uZ3MKCjIwMTAtMDgtMjYgMTY6MDA6MzggKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6CgkgIHNlc3Npb246IG1pbm9yIGNsZWFudXBzCgkgIE1ha2UgY2xvY2sgc25hcHNob3RzIG1vcmUgYWNjdXJhdGUgYnkgb25seSBzYW1wbGluZyB0aGUgc2FtZSBjbG9jayBvbmNlLgoKMjAxMC0wOC0yNiAxMDo1ODoyNiArMDIwMCAgVGhpanMgVmVybWVpciA8dGhpanN2ZXJtZWlyQGdtYWlsLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uaDoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOgoJICBydHBiaW46IGFkZCB1c2UtcGlwZWxpbmUtY2xvY2sgcHJvcGVydHkKCSAgV2l0aCB0aGlzIHByb3BlcnR5IFJUQ1AgU1IgTlRQIHRpbWVzIGNhbiBiZSBiYXNlZAoJICBvbiB0aGUgc3lzdGVtIGNsb2NrIChtYXliZSBzeW5jZWQgd2l0aCBudHBkKSBvciB0aGUKCSAgY3VycmVudCBwaXBlbGluZSBjbG9jay4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYyNzc5NgoKMjAxMC0wOC0yNSAwOTo1ODoyMCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BleHQuYzoKCSAgcnRzcGV4dDogc3RvcCBjb25maWd1cmF0aW9uIG9uIGZpcnN0IGZhaWx1cmUKCSAgU3RvcCB0aGUgY29uZmlndXJhdGlvbiBvZiBhIHN0cmVhbSBhcyBzb29uIGFzIHNvbWUgb2YgdGhlIGV4dGVuc2lvbnMgcmV0dXJuCgkgIEZBTFNFLgoJICBGaXhlcyAjNTgxMjk0CgoyMDEwLTA4LTIwIDE1OjM1OjI3ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuYzoKCSogZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuaDoKCSAgbXVsdGlmZHNpbms6IHVzZSByZWZjb3VudCB0byBjb3VudCBob3N0L3BvcnQgZHVwbGljYXRlcwoJICBJbnN0ZWFkIG9mIGFkZGluZyBtdWx0aXBsZSBjbGllbnQgc3RydWN0dXJlcyBmb3IgdGhlIHNhbWUgaG9zdC9wb3J0IHBhaXIsIHVzZSBhCgkgIHJlZmNvdW50LgoJICBBZGQgYSBzZW5kLWR1cGxpY2F0ZXMgZmVhdHVyZSB0aGF0IGFsbG93cyB5b3UgdG8gZGlzYWJsZSBzZW5kaW5nIG11bHRpcGxlIGNvcGllcwoJICBvZiB0aGUgc2FtZSBwYWNrZXQgdG8gdGhlIHNhbWUgaG9zdCB3aGVuIGl0IHdhcyBhZGRlZCBtdWx0aXBsZSB0aW1lcy4gVGhlCgkgIHNlbmQtZHVwbGljYXRlcyBwcm9wZXJ0eSBpcyBieSBkZWZhdWx0IHNldCB0byBUUlVFIGZvciBiYWNrd2FyZHMgY29tcGF0aWJpbGl0eQoJICBhbHRob3VnaCBpdCBpcyB2ZXJ5IGxpa2VseSB0aGF0IHRoaXMgaXMgbm90IGRlc2lyZWQgYmVoYXZpb3VyLgoKMjAxMC0wOC0xOSAxNzowNjoyNiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogaW1wbGVtZW50IGN1c3RvbSBldmVudCBoYW5kbGVyCgkgIEV4dGVuZCB0aGUgX3B1c2hfZXZlbnQoKSBmdW5jdGlvbiBzbyB0aGF0IGl0IGNhbiBhbHNvIHNlbmQgZXZlbnRzIHRvIHRoZSB1ZHAKCSAgc291cmNlcyB3aGVuIGFza2VkLgoJICBJbXBsZW1lbnQgYSBjdXN0dW0gc2VuZF9ldmVudCBmdW5jdGlvbiB0aGF0IGNvcnJlY3RseSBkaXNwYXRjaGVzIHRoZSBkb3duc3RyZWFtCgkgIGV2ZW50cyBpbiBUQ1AgbW9kZS4gVGhpcyBmaXhlcyBzZW5kaW5nIEVPUyB0byBydHNwc3JjIGFuZCBoYXZlIGl0IHB1c2ggdGhlIEVPUwoJICBkb3duc3RyZWFtLgoKMjAxMC0wOC0xOSAxMTozNzowNCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9wdWxzZS9wdWxzZXNyYy5jOgoJICBwdWxzZXNyYzogdXNlIF9nZXRfY2Fwc19yZWZmZWQoKSB3aGVuIHdlIGNhbgoJICBVc2UgX2dldF9jYXBzX3JlZmZlZCgpCgkgIEFkZCBzb21lIG1vcmUgZGVidWcgd2hlbiBvcGVuaW5nIHRoZSBzZXJ2ZXIgY29ubmVjdGlvbi4KCjIwMTAtMDgtMTYgMTE6Mjk6MDcgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGpwZWdkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGpwZWdkZXBheS5oOgoJICBqcGVnZGVwYXk6IGhhbmRsZSBESVNDT05UIGFuZCByZXNldCBzdGF0ZQoJICBQdXQgYSBESVNDT05UIGV2ZW50IG9uIHRoZSBuZXh0IG91dHB1dCBidWZmZXIgd2hlbiB0aGUgaW5wdXQgYnVmZmVyIGhhZCBhCgkgIERJU0NPTlQuCgkgIE1ha2Ugc3VyZSB3ZSBjbGVhciBvdXIgYWRhcHRlciBhbmQgcmVzZXQgb3VyIHN0YXRlIGJlZm9yZSBnb2luZyB0byBQQVVTRUQuCgkgIEZyZWUgdGhlIHF0YWJsZXMuCgkgIEZpeGVzICM2MjY4NjkKCjIwMTAtMDgtMTYgMTE6Mjc6NTMgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjlwYXkuaDoKCSAgZzcyOXBheTogZXh0ZW5kIGZyb20gcmlnaHQgcGFyZW50CgoyMDEwLTA5LTA2IDA5OjU3OjEwICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkgIHB1bHNlc2luazogYWRkIHNpbmNlIGRvY3MgZm9yIG5ldyBwcm9wZXJ0eS4KCjIwMTAtMDgtMzAgMTY6NDU6NDggKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogdXNlIEdTVF9CT0lMRVJQTEFURSBtYWNybwoKMjAxMC0wOC0xNiAxNzoyMzo1OCArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlci5jOgoJICB2aWRlbWl4ZXI6IGFkZCBhIGV4YW1wbGUgc2hvd2luZyBob3cgdG8gdXNlIHRoZSBjaGlsZCBwcm9wZXJ0aWVzCgkgIFNob3cgaG93IHRvIHBvc2l0aW9uIGFuZCBzZXQgdGhlIGFscGhvIG9mIHRoZSB2aWRlb3Mgb24gZ3N0LWxhdW5jaC4KCjIwMTAtMDgtMTYgMTU6MTk6MzggKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9wdWxzZS9wdWxzZXNyYy5jOgoJICBwdWxzZXNyYzogbW92ZSB0aGUgcHJvcGVydHktc2V0dGVyIHRvIHRoZSBnZXR0ZXIuCgoyMDEwLTA4LTExIDE1OjQ4OjE4ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uYzoKCSAgc3BlY3RydW0gb25seSBhZ2dyZWdhdGUgbWFnbml0dWRlL3BoYXNlIGlmIHVzZXIgYXNrcyBmb3IgaXQKCjIwMTAtMDgtMTEgMTU6NDU6NTYgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5jOgoJICBzcGVjdHJ1bTogaW1wcm92ZSBwZXJmb3JtYW5jZSB3aXRoIGxvY2FsIHZhcnMKCSAgVXNlICdpbnB1dCcgaW5zdGVhZCBvZiAnc3BlY3RydW0tPmlucHV0JyB3aGljaCB3YXMgaW50ZW5kZSBhbHJlYWR5ICh2YXJpYWJsZQoJICBleGlzdHMsIGJ1dCBub3QgdXNlZCBldmVyeXdoZXJlKS4gQWxzbyB1c2UgYSBsb2NhbCB2ZXJzaW9uIG9mCgkgICdzcGVjdHJ1bS0+aW5wdXRfcG9zJy4KCjIwMTAtMDgtMTEgMTU6NDQ6MDMgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5jOgoJICBzcGVjdHJ1bTogY29kZSBjbGVhbnVwCgkgIE1vcmUgY29tbWVudHMgYW5kIGxvZ2dpbmcuIEV4dHJhY3Qgb25lIGNvbXBsZXggY29uZGl0aW9uIHRvIGEgdmFyaWFibGUuIFJlb3JkZXIKCSAgc29tZSBjb2RlIGZvciByZWFkYWJpbGl0eS4KCjIwMTAtMDgtMTEgMTU6NDA6MDkgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5jOgoJICBzcGVjdHJ1bTogaW1wcm92ZSBwcm9wZXJ0eSBzZXR0ZXIKCSAgY29uc2lzdGVudGx5IG9ubHkgdXBkYXRlIGlmIHRoZSBwcm9wZXJ0eSBhY3R1YWx5IGNoYW5nZWQgdGhlIHZhbHVlLiBEbyBpdAoJICB3aXRob3V0IHJlYWRpbmcgdGhlIGd2YWx1ZSB0d2ljZS4gTm8gbmVlZCB0byByZXNldCB0aGUgc3BlY3RydW0gYW5hbHl6ZXIgZm9yCgkgIHRocmVzaG9sZCBjaGFuZ2VzLgoKMjAxMC0wOC0xMSAxNTozODoyNCArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmM6CgkgIHNwZWN0cnVtOiBhZGQgaGVscGVyIHRvIG9ubHkgZmx1c2ggcmluZ2J1ZmZlciBkYXRhIHdpdGhvdXQgcmVzZXR0aW5nIHRoZSBmZnQKCSAgUmVkdWNlcyBzb21lIGR1cGxpY2F0ZWQgY29kZSBhcyB3ZWxsLgoKMjAxMC0wOC0xMSAxMjo0NTo1MyArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmM6CgkqIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5oOgoJICBzcGVjdHJ1bTogbW9yZSBjb21tZW50cwoKMjAxMC0wOS0wNSAyMjoyMjo0MiAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuYzoKCSAgZGVpbnRlcmxhY2U6IERvY3VtZW50IG1ldGhvZHMgd2l0aCBiYWQgcXVhbGl0eQoKMjAxMC0wOS0wNSAyMjoxOTo1NiAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2VtZXRob2QuYzoKCSAgZGVpbnRlcmxhY2U6IGluaXRpYWxpemUgYWxsIGRlaW50ZXJsYWNlIGNsYXNzIG1lbWJlcnMKCSAgVGhpcyBmaXhlcyBVWVZZIGRlaW50ZXJsYWNpbmcuCgoyMDEwLTA5LTA1IDE4OjU4OjEzIC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gZDNkOWFjZiB0byBjMmUxMGJmCgoyMDEwLTA5LTA1IDE4OjQ1OjIxIC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC92aWRlb21peGVyL2JsZW5kLmM6CgkgIHZpZGVvbWl4ZXI6IG9yY19pbml0KCkgZG9lc24ndCBuZWVkIHRvIGJlIGNhbGxlZAoJICBUaGVyZSdzIG5vIG5lZWQgdG8gY2FsbCBvcmNfaW5pdCgpIHVubGVzcyB5b3UncmUgdXNpbmcgdGhlIE9yYwoJICBBUEkgZGlyZWN0bHkuICBBbGwgY29kZSBjcmVhdGVkIGJ5IG9yY2MgaXMgZ3VhcmFudGVlZCB0byB3b3JrCgkgIHdpdGhvdXQgY2FsbGluZyBvcmNfaW5pdCgpLgoKMjAxMC0wOS0wNSAxODo0MDo0OCAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lLWRpc3QuYzoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS5vcmM6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvZ3JlZWR5LmM6CgkgIGRlaW50ZXJsYWNlOiBGaXggZ3JlZWR5bCBPcmMgaW1wbGVtZW50YXRpb24KCSAgVG8gYWdyZWUgd2l0aCB0aGUgcHJldmlvdXMgQy9hc20gY29kZS4KCjIwMTAtMDktMDUgMjI6MzE6MzQgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlcjIuYzoKCSAgdmlkZW9taXhlcjI6IEZhaWwgd2hlbiBjYXBzIGFyZSBpbmNvbXBhdGlibGUKCSAgRG8gbm90IGZvcmdldCB0byByZXR1cm4gZmFsc2Ugd2hlbiBjYXBzIGFyZSBpbmNvbXBhdGlibGUuCgoyMDEwLTA5LTA1IDIwOjU2OjUyIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb21peGVyL2JsZW5kLmM6CgkgIHZpZGVvbWl4ZXI6IE9ubHkgaW5pdCBvcmMgaWYgaXQgaXMgYXZhaWxhYmxlCgkgIFB1dCBzb21lIGlmZGVmIGFyb3VuZCBvcmNfaW5pdCB0byBwcmV2ZW50IGJ1aWxkIGVycm9ycwoKMjAxMC0wOS0wNSAxMjoxNzowOCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIGVjNjAyMTcgdG8gZDNkOWFjZgoKMjAxMC0wOS0wNCAxMjo0NjozMSAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lLWRpc3QuYzoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS1kaXN0Lmg6CgkgIGRlaW50ZXJsYWNlOiBVcGRhdGUgZGlzdGVkIE9yYyBmaWxlcwoKMjAwOS0wNi0yOSAxMTo0MzowNyAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuaDoKCSAgdjRsMnNyYzogYWRkIGRlY2ltYXRlIHByb3BlcnR5CgoyMDEwLTA2LTA0IDEyOjA5OjIzIC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGV4dC9kdi9NYWtlZmlsZS5hbToKCSogZXh0L2R2L2dzdGR2ZGVtdXguYzoKCSogZXh0L2R2L2dzdHNtcHRldGltZWNvZGUuaDoKCSAgZHZkZW11eDogUGFyc2UgU01QVEUgdGltZSBjb2RlcwoKMjAxMC0wOC0yMyAwMjo1MDozNiAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL2xpbmVhci5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL2xpbmVhcmJsZW5kLmM6CgkgIGRlaW50ZXJsYWNlOiByZW1vdmUgYXNzZW1ibHkgY29kZSBpbiBmYXZvciBvZiBvcmMKCjIwMTAtMDYtMDggMTQ6NTQ6NDkgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS5vcmM6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvZ3JlZWR5LmM6CgkgIGRlaW50ZXJsYWNlOiBpbXBsZW1lbnQgZ3JlZWR5IGluIE9yYwoKMjAxMC0wOS0wNCAxMTo0MzoyMSAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lLWRpc3QuYzoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS1kaXN0Lmg6CgkqIGdzdC92aWRlb2JveC9nc3R2aWRlb2JveG9yYy1kaXN0LmM6CgkqIGdzdC92aWRlb2JveC9nc3R2aWRlb2JveG9yYy1kaXN0Lmg6CgkqIGdzdC92aWRlb21peGVyL2JsZW5kb3JjLWRpc3QuYzoKCSogZ3N0L3ZpZGVvbWl4ZXIvYmxlbmRvcmMtZGlzdC5oOgoJICB1cGRhdGUgZGlzdGVkIE9yYyBmaWxlcwoKMjAxMC0wOS0wMiAxNDozNDo1MCArMDIwMCAgVGhpYmF1bHQgU2F1bmllciA8dHNhdW5pZXJAZ25vbWUub3JnPgoKCSogZ3N0L2FscGhhL2dzdGFscGhhY29sb3IuYzoKCSAgYWxwaGFjb2xvcjogRml4IGNsYXNzaWZpY2F0aW9uCgkgIFRoaXMgaXMgbm8gZWZmZWN0IGJ1dCBhIGNvbnZlcnRlci4gRml4ZXMgYnVnICM2Mjg2MDguCgoyMDEwLTA5LTAyIDExOjE5OjA2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1kb2NzLnNnbWw6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmludGVyZmFjZXM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMucHJlcmVxdWlzaXRlczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy50eXBlczoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLTEzOTQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWFzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGFjb2xvci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbm5vZGV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFwZXRhZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb2Z4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2RldGVjdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdmkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FjYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2Fpcm8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY3V0dGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlaW50ZXJsYWNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZW5jZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmZlY3R2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVxdWFsaXplci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lc2RzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZseGRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nY29uZmVsZW1lbnRzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdka3BpeGJ1Zi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZGtwaXhidWYzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbTJrMS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc3RydHBtYW5hZ2VyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWhhbGVsZW1lbnRzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWljeWRlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlkM2RlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWltYWdlZnJlZXplLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVybGVhdmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanBlZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sZXZlbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tYXRyb3NrYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tb25vc2NvcGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlmaWxlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpcGFydC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uYXZpZ2F0aW9udGVzdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3M0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zc2F1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBuZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wdWxzZWF1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXF1aWNrdGltZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXBsYXlnYWluLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHNwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNoYXBld2lwZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaG91dDJzZW5kLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNtcHRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlY3RydW0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdGFnbGliLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXVkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlbzRsaW51eDIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9ib3gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9jcm9wLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvZmlsdGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvbWl4ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2ZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teGltYWdlc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXk0bWVuYy54bWw6CgkqIGdzdC92aWRlb21peGVyL01ha2VmaWxlLmFtOgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyMi5jOgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyMi5oOgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyMnBhZC5oOgoJICB2aWRlb21peGVyMjogQWRkIGRvY3VtZW50YXRpb24gYW5kIGFkZCB0byB0aGUgZG9jcwoKMjAxMC0wNy0yNiAxNjowNzoxNSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9taXhlci9NYWtlZmlsZS5hbToKCSogZ3N0L3ZpZGVvbWl4ZXIvZ3N0Y29sbGVjdHBhZHMyLmM6CgkqIGdzdC92aWRlb21peGVyL2dzdGNvbGxlY3RwYWRzMi5oOgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyLmM6CgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIyLmM6CgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIyLmg6CgkgIHZpZGVvbWl4ZXIyOiBBZGQgdmlkZW9taXhlcjIgZWxlbWVudAoJICBUaGlzIGlzIGJhc2VkIG9uIGNvbGxlY3RwYWRzMiBhbmQgaXMgc3luY2hyb25pemluZwoJICBhbGwgc3RyZWFtcyBiYXNlZCBvbiB0aGUgcnVubmluZyB0aW1lLgoJICBOZXcgZmVhdHVyZXMgY29tcGFyZWQgdG8gb2xkIHZpZGVvbWl4ZXI6CgkgICogU3luY2hyb25pemluZyBmcmFtZXMgb24gdGhlIHJ1bm5pbmcgdGltZQoJICAqIEltcHJvdmVkIGFuZCBzaW1wbGlmaWVkIG5lZ290aWF0aW9uCgkgICogRnVsbCBRb1Mgc3VwcG9ydAoJICAqIFZhcmlhYmxlIGZyYW1lcmF0ZSBzdXBwb3J0CgkgIEZpeGVzIGJ1ZyAjNjI2MDQ4LCAjNjI0OTA1LgoKMjAxMC0wOS0wMSAxMToxMTozNCArMDIwMCAgUGF2ZWwgS29zdHl1Y2hlbmtvIDxzaHByb3R4QGdtYWlsLmNvbT4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYWRlbXV4OiBSZWxheCBwYXJzaW5nIG9mIGRhdGUgdGFncwoJICBCZWZvcmUgd2UgcmVxdWlyZWQgYSBjb21wbGV0ZSBkYXRlIGluIG1hdHJvc2thZGVtdXggYnV0IGluCgkgIGlkM2RlbXV4IGZvciBleGFtcGxlIG9ubHkgdGhlIHllYXIgb3IgeWVhciBhbmQgbW9udGggd2FzIHBvc3NpYmxlIHRvby4KCSAgRml4ZXMgYnVnICM2Mjg0NTQuCgoyMDEwLTA4LTMwIDE5OjAzOjUyICswMTAwICBTam9lcmQgU2ltb25zIDxzam9lcmQuc2ltb25zQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzoKCSAgdjRsMnNyYzogVXNlIEdzdEJhc2VTcmM6OmJsb2NrLXNpemUgYXMgZmFsbGJhY2sgc2l6ZQoKMjAxMC0wOC0zMCAxODozNjo1NCArMDEwMCAgU2pvZXJkIFNpbW9ucyA8c2pvZXJkLnNpbW9uc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzoKCSAgdjRsMnNyYzogRml4IHVzaW5nIG1wZWd0cyB2aWEgdGhlIG1tYXAgaW50ZXJmYWNlCgkgIE1QRUcgZG9lc24ndCBoYXZlIGEgc3RhdGljIHNpemUgcGVyIGZyYW1lLCBzbyBkb24ndCBwcmV0ZW5kIGl0IGhhcyBvbmUKCSAgYW5kIGZhaWwgd2hlbiBjYXB0dXJpbmcgYmVjYXVzZSBpdCBkb2Vzbid0IG1hdGNoLiBJbnN0ZWFkIG1hcmsgdGhlIHNpemUKCSAgYXMgdW5rbm93biBhbmQgbGV0IHRoZSByZWFkIGZyYW1lIGdyYWJiaW5nIG1ldGhvZCB1c2UgYSByZWFzb25hYmxlIGZhbGxiYWNrCgkgIHZhbHVlIChhc3N1bWluZyB0aGF0J3Mgb25seSBmb3IgYWN0dWFsIHN0cmVhbWluZyBmb3JtYXRzKQoJICBGaXhlcyBidWcgIzYyODM0OS4KCjIwMTAtMDgtMjcgMTg6MTU6MDMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3dhdnBhY2svZ3N0d2F2cGFja3BhcnNlLmM6CgkgIHdhdnBhY2twYXJzZTogRG9uJ3QgdXNlIEdTVF9GTE9XX0lTX0ZBVEFMKCkKCjIwMTAtMDgtMjcgMTg6MTM6MjEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2xpYnBuZy9nc3RwbmdkZWMuYzoKCSAgcG5nZGVjOiBEb24ndCB1c2UgR1NUX0ZMT1dfSVNfRkFUQUwoKQoJICBBbmQgZG9uJ3QgcG9zdCBhbiBlcnJvciBtZXNzYWdlIGlmIGRvd25zdHJlYW0gcmV0dXJucyBVTkVYUEVDVEVELgoKMjAxMC0wOC0yNyAxODowOToxMSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZHYvZ3N0ZHZkZW11eC5jOgoJICBkdmRlbXV4OiBEb24ndCB1c2UgR1NUX0ZMT1dfSVNfRkFUQUwoKQoKMjAxMC0wOC0yNyAxODowNTo1MCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvanBlZy9nc3RqcGVnZGVjLmM6CgkgIGpwZWdkZWM6IERvbid0IHVzZSBHU1RfRkxPV19JU19GQVRBTCgpCgkgIEFuZCBkb24ndCBwb3N0IGFuIGVycm9yIG1lc3NhZ2UgaWYgYnVmZmVyIGFsbG9jYXRpb24gZmFpbGVkIGJlY2F1c2UKCSAgb2YgVU5FWFBFQ1RFRCwgd2hpY2ggb25seSBtZWFucyB0aGF0IGRvd25zdHJlYW0gd2FudHMgdXMgdG8gRU9TIG5vdy4KCjIwMTAtMDgtMjcgMTg6MDI6NTcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5jOgoJKiBleHQvZmxhYy9nc3RmbGFjZW5jLmM6CgkgIGZsYWNlbmMvZGVjOiBEb24ndCB1c2UgR1NUX0ZMT1dfSVNfRkFUQUwoKQoJICBBbmQgcHJvcGVybHkgaGFuZGxlIFVORVhQRUNURUQgYW5kIFdST05HX1NUQVRFLgoKMjAxMC0wOC0yNyAxNzo1MjoxOCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvYW5ub2RleC9nc3RjbW1sZGVjLmM6CgkqIGV4dC9hbm5vZGV4L2dzdGNtbWxlbmMuYzoKCSAgY21tbGRlYy9lbmM6IERvbid0IHVzZSBHU1RfRkxPV19JU19GQVRBTCgpCgkgIEFuZCBhcyBhIHJlc3VsdCwgZG9uJ3QgaWdub3JlIFdST05HX1NUQVRFIGFuZCBOT1RfTElOS0VELgoJICBCb3RoIG1lYW4gdGhhdCBpdCdzIGEgZ29vZCBpZGVhIHRvIHBhc3MgdGhlbSB1cHN0cmVhbSBpbnN0ZWFkCgkgIG9mIHByZXRlbmRpbmcgdGhhdCBldmVyeXRoaW5nIGlzIGdvb2QuCgoyMDEwLTA4LTI3IDE3OjQ3OjIyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOgoJICB3YXZwYXJzZTogRG9uJ3QgdXNlIEdTVF9GTE9XX0lTX0ZBVEFMKCkKCjIwMTAtMDgtMjcgMTc6NDU6NTMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBEb24ndCB1c2UgR1NUX0ZMT1dfSVNfRkFUQUwoKSBhbmQgR1NUX0ZMT1dfSVNfU1VDQ0VTUygpCgoyMDEwLTA4LTI3IDE3OjM5OjMyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogRG9uJ3QgdXNlIEdTVF9GTE9XX0lTX0ZBVEFMKCkKCjIwMTAtMDgtMjcgMTc6Mzc6MzMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thZGVtdXg6IERvbid0IHVzZSBHU1RfRkxPV19JU19GQVRBTCgpCgoyMDEwLTA4LTI3IDE3OjM1OjQ3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kZWJ1Z3V0aWxzL3JuZGJ1ZmZlcnNpemUuYzoKCSAgcm5kYnVmZmVyc2l6ZTogRG9uJ3QgdXNlIEdTVF9GTE9XX0lTX0ZBVEFMKCkKCjIwMTAtMDgtMjcgMTc6MzU6MzggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOgoJICBmbHZkZW11eDogRG9uJ3QgdXNlIEdTVF9GTE9XX0lTX0ZBVEFMKCkKCjIwMTAtMDgtMjcgMTc6MzI6MDkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICBhdmlkZW11eDogRG9uJ3QgdXNlIEdTVF9GTE9XX0lTX0ZBVEFMKCkKCSAgQW5kIGRvY3VtZW50IHdoeSB3cm9uZy1zdGF0ZSBkb2Vzbid0IG5lZWQgYW4gZXJyb3IgbWVzc2FnZS4KCjIwMTAtMDgtMjYgMTM6NDQ6NDkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJICBwdWxzZXNpbms6IEZhaWwgZ3JhY2VmdWxseSBpZiBubyB0aHJlYWRlZCBQQSBtYWlubG9vcCBjYW4gYmUgY3JlYXRlZAoJICBGaXhlcyBidWcgIzYyODAyMC4KCjIwMTAtMDgtMjQgMTU6MTE6MjAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvbWl4ZXIvYmxlbmRvcmMtZGlzdC5jOgoJKiBnc3QvdmlkZW9taXhlci9ibGVuZG9yYy1kaXN0Lmg6CgkgIHZpZGVvbWl4ZXI6IFVwZGF0ZSBkaXN0ZWQgT1JDIGZpbGVzCgoyMDEwLTA4LTIzIDE1OjQ0OjUwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L3ZpZGVvbWl4ZXIvTWFrZWZpbGUuYW06CgkqIGdzdC92aWRlb21peGVyL2JsZW5kLmM6CgkqIGdzdC92aWRlb21peGVyL2JsZW5kX21teC5oOgoJKiBnc3QvdmlkZW9taXhlci9ibGVuZG9yYy5vcmM6CgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIuYzoKCSAgdmlkZW9taXhlcjogT3B0aW1pemUgQVJHQiBibGVuZGluZyBhbmQgaW1wbGVtZW50IEJHUkEgYmxlbmRpbmcgd2l0aCBvcmMKCSAgVGhpcyBub3cgbWVhbnMsIHRoYXQgd2UgaGF2ZSBhYnNvbHV0ZWx5IG5vIGhhbmR3cml0dGVuIGFzc2VtYmx5IGFueW1vcmUKCSAgaW4gdmlkZW9taXhlciBhbmQgaXQncyBhbHNvIGZhc3RlciBub3cgd2hlbiB1c2luZyBTU0UuCgoyMDEwLTA4LTIyIDAxOjU4OjA1IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC92aWRlb21peGVyL2JsZW5kLmM6CgkqIGdzdC92aWRlb21peGVyL2JsZW5kb3JjLm9yYzoKCSAgdmlkZW9taXhlcjogQWRkIG9yYyBpbXBsZW1lbnRhdGlvbiBmb3IgYmxlbmRpbmcKCSAgdmlkZW9taXhlcjogQWRkIG9yYyBpbXBsZW1lbnRhdGlvbiBmb3IgYmxlbmRpbmcKCjIwMTAtMDgtMjIgMDE6NTQ6MTYgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlci5jOgoJICB2aWRlb21peGVyOiBGaXggZXhhbXBsZSBwaXBlbGluZXMKCSAgdmlkZW9taXhlcjogRml4IGV4YW1wbGUgcGlwZWxpbmVzCgoyMDEwLTA4LTIwIDExOjQxOjU1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2ltYWdlZnJlZXplLmM6CgkgIGltYWdlZnJlZXplOiBBZGQgdGVzdCBmb3IgY2hlY2tpbmcgaWYgaW1hZ2VmcmVlemUgY29ycmVjdGx5IHJldHVybnMgVU5FWFBFQ1RFRCBhZnRlciB0aGUgZmlyc3QgYnVmZmVyCgoyMDEwLTA4LTIwIDExOjM4OjA5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2ltYWdlZnJlZXplLmM6CgkgIGltYWdlZnJlZXplOiBBZGQgdGVzdCBmb3IgYnVmZmVyYWxsb2MgcGFzc3Rocm91Z2gKCjIwMTAtMDgtMjAgMTA6MzU6MTUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvaW1hZ2VmcmVlemUuYzoKCSAgaW1hZ2VmcmVlemU6IEZpeCByYWNlIGNvbmRpdGlvbnMgaW4gdGhlIHVuaXQgdGVzdAoJICBJZiBzZXR0aW5nIHRoZSBwaXBlbGluZSB0byBQTEFZSU5HIGJlZm9yZSBpc3N1aW5nIHRoZSBzZWVrLCBidWZmZXJzCgkgIGFyZSBhbHJlYWR5IGFycml2aW5nIGF0IHRoZSBzaW5rIGJlZm9yZSB0aGUgc2VlayBpcyBoYW5kbGVkIGFuZAoJICB3aWxsIGhhdmUgdGhlIHdyb25nIHRpbWVzdGFtcHMgYW5kIGV2ZXJ5dGhpbmcuCgkgIEZpeGVzIGJ1ZyAjNjI1NTQ3LgoKMjAxMC0wOC0yMCAxMDozNDoxNyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaW1hZ2VmcmVlemUvZ3N0aW1hZ2VmcmVlemUuYzoKCSogZ3N0L2ltYWdlZnJlZXplL2dzdGltYWdlZnJlZXplLmg6CgkgIGltYWdlZnJlZXplOiBGaXggYW5vdGhlciBzdWJ0bGUgcmFjZSBjb25kaXRpb24gcmVsYXRlZCB0byBzdGFydGluZyB0aGUgc3JjcGFkIHRhc2sKCSAgRHVlIHRvIGEgc2VlayB0aGUgc3JjcGFkIHRhc2sgY291bGQgYmUgc3RhcnRlZCBpbiByYXJlIGNpcmN1bXN0YW5jZXMgYWx0aG91Z2gKCSAgaXQgc2hvdWxkbid0IGJlIHN0YXJ0ZWQgYW55bW9yZSBiZWNhdXNlIG5vIHVwc3RyZWFtIGJ1ZmZlciBpcyBhdmFpbGFibGUuCgoyMDEwLTA4LTIwIDEwOjI0OjMzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pbWFnZWZyZWV6ZS9nc3RpbWFnZWZyZWV6ZS5jOgoJKiBnc3QvaW1hZ2VmcmVlemUvZ3N0aW1hZ2VmcmVlemUuaDoKCSAgaW1hZ2VmcmVlemU6IFByb3RlY3QgdGhlIGZsdXNoaW5nLXNlZWsgdmFyaWFibGUgYnkgdGhlIHNyY3BhZCdzIHN0cmVhbSBsb2NrCgkgIFRoaXMgZml4ZXMgYSBzdWJ0bGUgcmFjZSBjb25kaXRpb24sIHRoYXQgY2F1c2VkIGJ1ZmZlcmFsbG9jIHRvIGZhaWwKCSAgd2l0aCB3cm9uZy1zdGF0ZSBkdWUgdG8gYSBzZWVrIGJ1dCBjYXVzZWQgaXQgdG8gYmUgbm90IHJldHJpZWQgYXMKCSAgaXQgc2hvdWxkLgoKMjAxMC0wOC0yMCAwOToxNDo1OSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaW1hZ2VmcmVlemUvZ3N0aW1hZ2VmcmVlemUuYzoKCSAgaW1hZ2VmcmVlemU6IEFsd2F5cyBnZW5lcmF0ZSBhIHBlcmZlY3RseSB0aW1lc3RhbXBlZCBzdHJlYW0KCSAgQmVmb3JlIHRoZXJlIGNvdWxkIGJlIHJvdW5kaW5nIGVycm9ycyB3aGVuIGNhbGN1bGF0aW5nIHRoZSBkdXJhdGlvbiwKCSAgcmVzdWx0aW5nIGluIHRpbWVzdGFtcCArIGR1cmF0aW9uIGJlaW5nIHNtYWxsZXIgdGhhbiB0aGUgbmV4dCBidWZmZXIncwoJICB0aW1lc3RhbXAuCgoyMDEwLTA4LTE5IDE4OjM4OjM5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSAgcHVsc2VzaW5rOiBPbmx5IGluY2x1ZGUgdGhlIHNlcnZlciBuYW1lIGluIHRoZSBjb250ZXh0IG5hbWUgaWYgaXQncyBub3QgTlVMTAoKMjAxMC0wOC0xOCAxNjozNzo0MSArMDIwMCAgUGhpbGlwcGUgTm9ybWFuZCA8cG5vcm1hbmRAaWdhbGlhLmNvbT4KCgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5oOgoJICBwdWxzZXNpbms6IEFkZCAiY2xpZW50IiBwcm9wZXJ0eSB0byBzZXQgdGhlIFBBIGNsaWVudCBuYW1lCgkgIEFsbG93cyB0aGUgYXBwbGljYXRpb24gdG8gbW9kaWZ5IHRoZSBjbGllbnQgbmFtZSB1c2VkIHRvIGNvbm5lY3Qgd2hlbgoJICBjb25uZWN0aW5nIHRvIHRoZSBQdWxzZUF1ZGlvIGRhZW1vbi4gTm90ZSBob3dldmVyIHRoYXQgdXBkYXRpbmcgdGhlCgkgIHByb3BlcnR5IGFmdGVyIHRoZSBlbGVtZW50IHJlYWNoZWQgdGhlIFJFQURZIHN0YXRlIHdpbGwgaGF2ZSBubwoJICBlZmZlY3QgdW50aWwgdGhlIG5leHQgTlVMTC0+UkVBRFkgdHJhbnNpdGlvbi4KCSAgRml4ZXMgYnVnICM2MjcxNzQuCgoyMDEwLTA4LTE5IDE3OjU5OjA5ICswMjAwICBEYXZpZCBIb3l0IDxkaG95dEBsbG5sLmdvdj4KCgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6CgkgIHNvdXBodHRwc3JjOiBJbXByb3ZlIGVycm9yIG1lc3NhZ2VzCgkgIEJlZm9yZSB0aGV5IGNvbnRhaW5lZCB0aGUgVVJMIGJlZm9yZSB0aGUgYWN0dWFsIGZhaWx1cmUuIFRoZSBvdGhlcgoJICB3YXkgYXJvdW5kIG1ha2VzIG1vcmUgc2Vuc2UgYW5kIHdlIGRvIHRoZSBzYW1lIGluIG90aGVyIGVsZW1lbnRzCgkgIGxpa2UgZmlsZXNyYy4KCSAgRml4ZXMgYnVnICM2MjcyODkuCgoyMDEwLTA4LTE5IDEyOjQ2OjUwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSAgcHVsc2VzaW5rOiBGcmVlIHRoZSBjbG9jayBvbiBzdGF0ZSBjaGFuZ2UgZmFpbHVyZXMgdG9vCgoyMDEwLTA4LTE3IDE2OjI2OjQxICswMjAwICBQaGlsaXBwZSBOb3JtYW5kIDxwbm9ybWFuZEBpZ2FsaWEuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvcHVsc2UvcHVsc2V1dGlsLmM6CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgcHVsc2V1dGlsOiBpbmNsdWRlIHBpZCB2YWx1ZSBpbiBnc3RfcHVsc2VfY2xpZW50X25hbWUoKSBmYWxsYmFjayByZXR1cm4gdmFsdWUKCSAgRml4ZXMgYnVnICM2MjcxNjIKCjIwMTAtMDgtMTkgMTI6MzI6NTkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJICBwdWxzZXNpbms6IEZyZWUgdGhlIEdzdFB1bHNlQ29udGV4dCBhZnRlciB1c2FnZQoKMjAxMC0wOC0xNiAwOToxMjowNCArMDIwMCAgUGhpbGlwcGUgTm9ybWFuZCA8cG5vcm1hbmRAaWdhbGlhLmNvbT4KCgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSAgcHVsc2VzaW5rOiBzaGFyZSB0aGUgUEEgY29udGV4dCBiZXR3ZWVuIGFsbCBjbGllbnRzIHdpdGggdGhlIHNhbWUgbmFtZQoJICBBdm9pZCB0byBjcmVhdGUgYSBuZXcgUEEgY29udGV4dCBmb3IgZWFjaCBuZXcgY2xpZW50IGJ5IHVzaW5nIGEgaGFzaAoJICB0YWJsZSBjb250YWluaW5nIHRoZSBsaXN0IG9mIHJpbmctYnVmZmVycyBhbmQgdGhlIHNoYXJlZCBQQSBjb250ZXh0CgkgIGZvciBlYWNoIGNsaWVudC4gRG9pbmcgdGhpcyB3aWxsIGltcHJvdmUgYXBwbGljYXRpb24gbWVtb3J5IHVzYWdlIGluCgkgIHRoZSBjYXNlcyB3aGVyZSBtdWx0aXBsZSBwaXBlbGluZXMgaW52b2x2aW5nIG11bHRpcGxlIHB1bHNlc2luawoJICBlbGVtZW50cyBhcmUgdXNlZC4KCSAgRml4ZXMgYnVnICM2MjQzMzguCgoyMDEwLTA4LTE3IDEzOjQxOjQ5ICswMjAwICBQaGlsaXBwZSBOb3JtYW5kIDxwaGlsQGJhc2UtYXJ0Lm5ldD4KCgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSAgcHVsc2VzaW5rOiBjbGVhciB0aGUgUEEgbWFpbmxvb3AgaWYgYmFzZWF1ZGlvc2luayBmYWlsZWQgdG8gb3BlbiB0aGUgcmluZ19idWZmZXIKCSAgSWYgdGhlIGFwcGxpY2F0aW9uIHJlcXVlc3RzIGEgc3RhdGUtY2hhbmdlIGFuZCBwdWxzZXNpbmsgZmFpbHMgdG8gb3BlbgoJICB0aGUgcmluZ19idWZmZXIgZGV2aWNlIHRoZSBtYWlubG9vcCBhdHRyaWJ1dGUgb2YgdGhlIHNpbmsgc2hvdWxkIGJlCgkgIGNsZWFuZWQgdXAgdG8gYXZvaWQgZnV0dXJlIHN0YXRlLWNoYW5nZSAoTlVMTC0+UkVBRFkpIGZhaWx1cmVzLgoKMjAxMC0wOC0xOSAxMjoyMzoxNiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzoKCSAgd2F2cGFyc2U6IFBvc3QgYW4gZXJyb3IgbWVzc2FnZSBpZiBFT1MgaGFwcGVucyBiZWZvcmUgdmFsaWQgaW5wdXQgaXMgZm91bmQKCSAgRml4ZXMgYnVnICM2MjczNDEuCgoyMDEwLTA4LTEyIDExOjQ5OjQ3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5oOgoJICBhdmlkZW11eDogU2VuZCBjbG9zZSBuZXdzZWdtZW50IGV2ZW50IGZyb20gdGhlIHN0cmVhbWluZyB0aHJlYWQKCjIwMTAtMDgtMTEgMTE6MzY6MzEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2ltYWdlZnJlZXplL2dzdGltYWdlZnJlZXplLmM6CgkqIGdzdC9pbWFnZWZyZWV6ZS9nc3RpbWFnZWZyZWV6ZS5oOgoJICBpbWFnZWZyZWV6ZTogUmV0cnkgYnVmZmVyYWxsb2MgaWYgaXQgd2FzIGFib3J0ZWQgd2l0aCBXUk9OR19TVEFURSBiZWNhdXNlIG9mIGEgZmx1c2hpbmcgc2VlawoKMjAxMC0wOC0xMSAwODo0NjoxNCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaW1hZ2VmcmVlemUvZ3N0aW1hZ2VmcmVlemUuYzoKCSAgaW1hZ2VmcmVlemU6IFJldHVybiBHU1RfRkxPV19VTkVYUEVDVEVEIHdoZW4gZ2V0dGluZyBhIHNlY29uZCBidWZmZXIKCSAgVGhpcyBwcmV2ZW50cyB1cHN0cmVhbSBmcm9tIHB1c2hpbmcgbWFueSB1c2VsZXNzIGJ1ZmZlcnMgYW5kIG1ha2VzCgkgIGl0IGdvIGludG8gRU9TIHN0YXRlLgoKMjAxMC0wOC0xMCAyMDoxMToyNiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaW1hZ2VmcmVlemUvZ3N0aW1hZ2VmcmVlemUuYzoKCSAgaW1hZ2VmcmVlemU6IFBhc3N0aHJvdWdoIGJ1ZmZlciBhbGxvY2F0aW9ucwoKMjAxMC0wOS0wNCAxMzoxMDozMCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi0xMzk0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhY29sb3IueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYW5ub2RleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hcGV0YWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9meC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9kZXRlY3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXZpLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhY2FzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhaXJvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWN1dHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWludGVybGFjZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmVuY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZmZWN0di54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lcXVhbGl6ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXNkc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbGFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHhkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2NvbmZlbGVtZW50cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZGtwaXhidWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tMmsxLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzdHJ0cG1hbmFnZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taGFsZWxlbWVudHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWN5ZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW1hZ2VmcmVlemUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXJsZWF2ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxldmVsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1hdHJvc2thLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpZmlsZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aXBhcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmF2aWdhdGlvbnRlc3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzNC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3NhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbmcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcHVsc2VhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1xdWlja3RpbWUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVwbGF5Z2Fpbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRzcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaGFwZXdpcGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hvdXQyc2VuZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbXB0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWN0cnVtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXRhZ2xpYi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi11ZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW80bGludXgyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvYm94LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvY3JvcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2ZpbHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb21peGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXhpbWFnZXNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi15NG1lbmMueG1sOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIEJhY2sgdG8gZGV2ZWxvcG1lbnQKCSAgVGVtcG9yYXJpbHkgZGlzYWJsZSAtREdTVF9ESVNBQkxFX0RFUFJFQ0FURUQgZm9yIGdpdCBidWlsZHMgdW50aWwKCSAgdGhlIGNvZGUgaXMgdXBkYXRlZCBmb3IgdGhlIEdTVF9GTE9XX0lTXyogbWFjcm8gZGVwcmVjYXRpb25zLgoKPT09IHJlbGVhc2UgMC4xMC4yNSA9PT0KCjIwMTAtMDktMDIgMjM6NDQ6MTkgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogQ2hhbmdlTG9nOgoJKiBORVdTOgoJKiBSRUxFQVNFOgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC1wbHVnaW5zLWdvb2QuZG9hcDoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS1kaXN0LmM6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUtZGlzdC5oOgoJKiBnc3QvdmlkZW9ib3gvZ3N0dmlkZW9ib3hvcmMtZGlzdC5jOgoJKiBnc3QvdmlkZW9ib3gvZ3N0dmlkZW9ib3hvcmMtZGlzdC5oOgoJKiBnc3QvdmlkZW9taXhlci9ibGVuZG9yYy1kaXN0LmM6CgkqIGdzdC92aWRlb21peGVyL2JsZW5kb3JjLWRpc3QuaDoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICBSZWxlYXNlIDAuMTAuMjUKCjIwMTAtMDktMDIgMjM6MTI6NDggKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi0xMzk0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhY29sb3IueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYW5ub2RleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hcGV0YWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9meC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9kZXRlY3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXZpLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhY2FzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhaXJvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWN1dHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWludGVybGFjZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmVuY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZmZWN0di54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lcXVhbGl6ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXNkc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbGFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHhkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2NvbmZlbGVtZW50cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZGtwaXhidWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tMmsxLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzdHJ0cG1hbmFnZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taGFsZWxlbWVudHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWN5ZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW1hZ2VmcmVlemUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXJsZWF2ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxldmVsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1hdHJvc2thLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpZmlsZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aXBhcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmF2aWdhdGlvbnRlc3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzNC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3NhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbmcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcHVsc2VhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1xdWlja3RpbWUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVwbGF5Z2Fpbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRzcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaGFwZXdpcGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hvdXQyc2VuZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbXB0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWN0cnVtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXRhZ2xpYi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi11ZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW80bGludXgyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvYm94LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvY3JvcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2ZpbHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb21peGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXhpbWFnZXNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi15NG1lbmMueG1sOgoJICBkb2NzOiB1cGRhdGUgZG9jcyBmb3IgcmVsZWFzZQoKMjAxMC0wOS0wMiAyMzowNzozNiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBwby9MSU5HVUFTOgoJKiBwby9lcy5wbzoKCSogcG8vZ2wucG86CgkqIHBvL2x0LnBvOgoJKiBwby9ubC5wbzoKCSogcG8vcm8ucG86CgkqIHBvL3N2LnBvOgoJICBwbzogdXBkYXRlIHRyYW5zbGF0aW9ucwoKMjAxMC0wOC0yNSAxOTowMTo1MCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIHBvL2FmLnBvOgoJKiBwby9hei5wbzoKCSogcG8vYmcucG86CgkqIHBvL2NhLnBvOgoJKiBwby9jcy5wbzoKCSogcG8vZGEucG86CgkqIHBvL2RlLnBvOgoJKiBwby9lbC5wbzoKCSogcG8vZW5fR0IucG86CgkqIHBvL2VzLnBvOgoJKiBwby9ldS5wbzoKCSogcG8vZmkucG86CgkqIHBvL2ZyLnBvOgoJKiBwby9odS5wbzoKCSogcG8vaWQucG86CgkqIHBvL2l0LnBvOgoJKiBwby9qYS5wbzoKCSogcG8vbHQucG86CgkqIHBvL2x2LnBvOgoJKiBwby9tdC5wbzoKCSogcG8vbmIucG86CgkqIHBvL25sLnBvOgoJKiBwby9vci5wbzoKCSogcG8vcGwucG86CgkqIHBvL3B0X0JSLnBvOgoJKiBwby9ydS5wbzoKCSogcG8vc2sucG86CgkqIHBvL3NsLnBvOgoJKiBwby9zcS5wbzoKCSogcG8vc3IucG86CgkqIHBvL3N2LnBvOgoJKiBwby90ci5wbzoKCSogcG8vdWsucG86CgkqIHBvL3ZpLnBvOgoJKiBwby96aF9DTi5wbzoKCSogcG8vemhfSEsucG86CgkqIHBvL3poX1RXLnBvOgoJICAwLjEwLjI0LjUgcHJlLXJlbGVhc2UKCjIwMTAtMDgtMjIgMjE6MTU6MDcgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmM6CgkgIGRlaW50ZXJsYWNlOiB1c2Ugc2VwYXJhdGUgYnVmZmVyIG1ldGFkYXRhIGZvciBmaWVsZHMKCSAgQ2FsbCBnc3RfYnVmZmVyX21ha2VfbWV0YWRhdGFfd3JpdGFibGUoKSBvbiBidWZmZXJzIHRoYXQgYXJlCgkgIGR1cGxpY2F0ZWQgaW50byBmaWVsZHMuICBGaXhlcyAjNjI3Njg5LgoKMjAxMC0wOC0yMSAyMTo0MTozNiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUtZGlzdC5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lLWRpc3QuaDoKCSogZ3N0L3ZpZGVvYm94L2dzdHZpZGVvYm94b3JjLWRpc3QuYzoKCSogZ3N0L3ZpZGVvYm94L2dzdHZpZGVvYm94b3JjLWRpc3QuaDoKCSogZ3N0L3ZpZGVvbWl4ZXIvYmxlbmRvcmMtZGlzdC5jOgoJKiBnc3QvdmlkZW9taXhlci9ibGVuZG9yYy1kaXN0Lmg6CgkqIHBvL2FmLnBvOgoJKiBwby9hei5wbzoKCSogcG8vYmcucG86CgkqIHBvL2NhLnBvOgoJKiBwby9jcy5wbzoKCSogcG8vZGEucG86CgkqIHBvL2RlLnBvOgoJKiBwby9lbC5wbzoKCSogcG8vZW5fR0IucG86CgkqIHBvL2VzLnBvOgoJKiBwby9ldS5wbzoKCSogcG8vZmkucG86CgkqIHBvL2ZyLnBvOgoJKiBwby9odS5wbzoKCSogcG8vaWQucG86CgkqIHBvL2l0LnBvOgoJKiBwby9qYS5wbzoKCSogcG8vbHQucG86CgkqIHBvL2x2LnBvOgoJKiBwby9tdC5wbzoKCSogcG8vbmIucG86CgkqIHBvL25sLnBvOgoJKiBwby9vci5wbzoKCSogcG8vcGwucG86CgkqIHBvL3B0X0JSLnBvOgoJKiBwby9ydS5wbzoKCSogcG8vc2sucG86CgkqIHBvL3NsLnBvOgoJKiBwby9zcS5wbzoKCSogcG8vc3IucG86CgkqIHBvL3N2LnBvOgoJKiBwby90ci5wbzoKCSogcG8vdWsucG86CgkqIHBvL3ZpLnBvOgoJKiBwby96aF9DTi5wbzoKCSogcG8vemhfSEsucG86CgkqIHBvL3poX1RXLnBvOgoJICAwLjEwLjI0LjQgcHJlLXJlbGVhc2UKCjIwMTAtMDgtMTkgMTg6MzA6MDUgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2pwZWcvZ3N0anBlZ2RlYy5jOgoJICBqcGVnZGVjOiBQcmV2ZW50IGNyYXNoIHdoZW4gcmVhZGluZyBpbWFnZSB3aXRoIHByb2JsZW1zCgkgIENoZWNrIGlmIHdlIGhhdmUgZGF0YSBvbiB0aGUgYWRhcHRlciBhbmQgZmFpbCBpZiBub3QuCgkgIEZpeGVzICM2Mjc0MTMKCjIwMTAtMDgtMTMgMTc6MjQ6MDEgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gM2U4ZGIxZCB0byBlYzYwMjE3CgoyMDEwLTA4LTExIDIyOjIwOjI1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pbWFnZWZyZWV6ZS9nc3RpbWFnZWZyZWV6ZS5jOgoJICBpbWFnZWZyZWV6ZTogU2VuZCBjbG9zZSBzZWdtZW50cyB3aGVuIHNlZWtpbmcgb25seSBmb3Igbm9uLWZsdXNoaW5nIHNlZWtzIGFuZCBpZiB3ZSBhbHJlYWR5IHNlbnQgYSBuZXdzZWdtZW50IGV2ZW50CgkgIEZpeGVzIGJ1ZyAjNjI2NjE5LgoKMjAxMC0wOC0xMSAxNjo1MDo0MiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi0xMzk0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhY29sb3IueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYW5ub2RleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hcGV0YWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9meC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9kZXRlY3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXZpLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhY2FzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhaXJvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWN1dHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWludGVybGFjZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmVuY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZmZWN0di54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lcXVhbGl6ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXNkc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbGFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHhkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2NvbmZlbGVtZW50cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZGtwaXhidWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tMmsxLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzdHJ0cG1hbmFnZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taGFsZWxlbWVudHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWN5ZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW1hZ2VmcmVlemUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXJsZWF2ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxldmVsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1hdHJvc2thLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpZmlsZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aXBhcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmF2aWdhdGlvbnRlc3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzNC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3NhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbmcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcHVsc2VhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1xdWlja3RpbWUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVwbGF5Z2Fpbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRzcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaGFwZXdpcGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hvdXQyc2VuZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbXB0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWN0cnVtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXRhZ2xpYi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi11ZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW80bGludXgyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvYm94LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvY3JvcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2ZpbHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb21peGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXhpbWFnZXNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi15NG1lbmMueG1sOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkqIHdpbjMyL2NvbW1vbi9nc3RydHBiaW4tbWFyc2hhbC5jOgoJKiB3aW4zMi9jb21tb24vZ3N0dWRwLWVudW10eXBlcy5jOgoJKiB3aW4zMi9jb21tb24vZ3N0dWRwLWVudW10eXBlcy5oOgoJKiB3aW4zMi9jb21tb24vZ3N0dWRwLW1hcnNoYWwuYzoKCSAgMC4xMC4yNC4zIHByZS1yZWxlYXNlCgoyMDEwLTA4LTExIDExOjE3OjE4ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogcHJldmVudCByZWFkaW5nIHBhc3QgYXZjMSBhdG9tIHdoZW4gcGFyc2luZwoJICAuLi4gd2hlbiBvbmUgb2YgdGhlIHN1YmF0b21zIGhhcyBhIGxhcmdlL2ludmFsaWQgc2l6ZS4KCSAgRml4ZXMgIzYyNjYwOS4KCjIwMTAtMDgtMTAgMjM6Mzc6MjMgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmludGVyZmFjZXM6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi0xMzk0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhY29sb3IueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYW5ub2RleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hcGV0YWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9meC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9kZXRlY3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXZpLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhY2FzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhaXJvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWN1dHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWludGVybGFjZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmVuY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZmZWN0di54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lcXVhbGl6ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXNkc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbGFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHhkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2NvbmZlbGVtZW50cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZGtwaXhidWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tMmsxLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzdHJ0cG1hbmFnZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taGFsZWxlbWVudHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWN5ZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW1hZ2VmcmVlemUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXJsZWF2ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxldmVsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1hdHJvc2thLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpZmlsZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aXBhcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmF2aWdhdGlvbnRlc3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzNC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3NhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbmcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcHVsc2VhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1xdWlja3RpbWUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVwbGF5Z2Fpbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRzcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaGFwZXdpcGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hvdXQyc2VuZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbXB0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWN0cnVtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXRhZ2xpYi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi11ZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW80bGludXgyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvYm94LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvY3JvcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2ZpbHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb21peGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXhpbWFnZXNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi15NG1lbmMueG1sOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIDAuMTAuMjQuMiBwcmUtcmVsZWFzZQoKMjAxMC0wOC0xMCAxMDo1Nzo0NSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIGJkMjA1NGIgdG8gM2U4ZGIxZAoKMjAxMC0wOC0wOSAwMDozNjozNiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkgIHB1bHNlOiBmaXggcHJpbnRmIGZvcm1hdCBpbiBzb21lIGRlYnVnZ2luZyBtZXNzYWdlcwoKMjAxMC0wOC0wOCAyMzozMTo0MiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBwa2djb25maWcvZ3N0cmVhbWVyLXBsdWdpbnMtZ29vZC11bmluc3RhbGxlZC5wYy5pbjoKCSAgcGtnY29uZmlnOiBzZXQgcGx1Z2luc2RpciB0byB0b3AtbGV2ZWwgYnVpbGRkaXIgd2l0aG91dCB0aGUgcGtnY29uZmlnLy4uIGJpdHMKCSAgUmVtb3ZlcyBjbHV0dGVyIGluIHBsdWdpbiBkaXIgcGF0aHMuIFRoaXMgaXMgb25seSB1c2VkIHRvIGZpbmQgdGhlIC1nb29kCgkgIHBsdWdpbnMgZm9yIHVuaXQgdGVzdHMgb2YgdWdseS9iYWQvZmZtcGVnL2V0Yy4gaW4gYW4gdW5pbnN0YWxsZWQgc2V0dXAuCgoyMDEwLTA4LTA2IDIwOjA0OjU5ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgdjRsMnNyYzogYWxzbyBsb2cgcGl4ZWwgZm9ybWF0cyBpbiBzb3J0ZWQgb3JkZXIKCjIwMTAtMDgtMDYgMTg6MDc6NDYgKzAxMDAgIFNqb2VyZCBTaW1vbnMgPHNqb2VyZC5zaW1vbnNAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICB2NGwyOiBzb3J0IGZvcm1hdHMgaW4gdGhlIHJpZ2h0IG9yZGVyIHNvIHRoYXQgbm9uLWVtdWxhdGVkIGZvcm1hdHMgYXJlIHByZWZlcmVkCgkgIFRoZSBmb3JtYXQgbGlzdCBzaG91bGQgYmUgc29ydGVkIGZyb20gaGlnaCByYW5rcyB0byBsb3cgcmFua3MuIEluIHRoZSBHU0xpc3QKCSAgc29ydGluZyBmdW5jdGlvbiB0aGlzIG1lYW5zIHRoZSBjb21wYXJlIG5lZWRzIHRvIHJldHVybiBhIHBvc2l0aXZlIHZhbHVlIGlmCgkgIGZvcm1hdCBhIGhhcyBhIGxvd2VyIHJhbmsgdGhhbiBmb3JtYXQgYi4KCSAgQW1vbmcgb3RoZXIgdGhpbmdzIHRoaXMgZml4ZXMgdjRsMnNyYyB0byBwcmVmZXIgbm9uLWVtdWxhdGVkIGZvcm1hdHMKCSAgdG8gZW11bGF0ZWQgZm9ybWF0cyB3aGVuIGJ1aWx0IGFnYWluc3QgbGlidjRsLgoKMjAxMC0wOC0wNiAxOToyNDowNiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyLmM6CgkgIHZpZGVvbWl4ZXI6IEZpeCBwaXBlbGluZSBpbiB0aGUgZG9jdW1lbnRhdGlvbgoJICBNYWtlIHN1cmUgdGhhdCB3ZSBoYXZlIHRoZSBzYW1lIGNvbG9yIGZvcm1hdCBvbiBhbGwgc3RyZWFtcywgaS5lLiBBWVVWCgkgIEZpeGVzIGJ1ZyAjNjI1NDUyLgoKMjAxMC0wOC0wNSAxMzo1Njo0NCArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSBhNTE5NTcxIHRvIGJkMjA1NGIKCjIwMTAtMDYtMTQgMTk6NTg6MTEgKzEwMDAgIEpvbmF0aGFuIE1hdHRoZXcgPGpvbmF0aGFuQGQxNG4ub3JnPgoKCSogZXh0L3RhZ2xpYi9nc3RpZDN2Mm11eC5jYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvaWQzdjJtdXguYzoKCSAgaWQzdjJtdXg6IHdyaXRlIGJlYXRzLXBlci1taW51dGUgdGFnIHVzaW5nIFRCUE0gZnJhbWUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYyMTUyMAoKMjAxMC0wNy0yNSAxMTo0Nzo0MyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9taXhlci9ibGVuZC5jOgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyLmM6CgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIuaDoKCSAgdmlkZW9taXhlcjogTW92ZSBkZWJ1ZyBjYXRlZ29yaWVzIGludG8gdGhlIHNvdXJjZSBmaWxlcyBhbmQgYWRkIGRlYnVnIGNhdGVnb3J5IGZvciB0aGUgYmxlbmQgZnVuY3Rpb25zCgoyMDEwLTA4LTA0IDE5OjI1OjMxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiBDaGVjayBpZiB0aGUgY29tcGlsZXIgc3VwcG9ydHMgSVNPIEM4OSBvciBDOTkgYW5kIHdoaWNoIHBhcmFtZXRlcnMgYXJlIHJlcXVpcmVkCgkgIFRoaXMgZmlyc3QgY2hlY2tzIHdoYXQgaXMgcmVxdWlyZWQgZm9yIElTTyBDOTkgc3VwcG9ydCBhbmQgc2V0cyB0aGUgcmVsZXZhbnQKCSAgY29tcGlsZXIgcGFyYW1ldGVycyBhbmQgaWYgbm8gQzk5IGNvbXBpbGVyIGlzIGZvdW5kLCBpdCBjaGVja3MgZm9yIGEKCSAgQzg5IGNvbXBpbGVyLiBUaGlzIGVuYWJsZXMgdXMgdG8gY2hlY2sgZm9yIGFuZCB1c2UgQzg5L0M5OSBmdW5jdGlvbnMKCSAgdGhhdCBnY2MgaGlkZXMgZnJvbSB1cyB3aXRob3V0IHRoZSBjb3JyZWN0IGNvbXBpbGVyIHBhcmFtZXRlcnMuCgoyMDEwLTA3LTE1IDEwOjEwOjMxICswMjAwICBQaGlsaXBwZSBOb3JtYW5kIDxwbm9ybWFuZEBpZ2FsaWEuY29tPgoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJICBwdWxzZXNpbms6IHVzZSBHX1RZUEVfREVGSU5FIHRvIGRlZmluZSByaW5nIGJ1ZmZlciB0eXBlCgkgIFRoZSBleGlzdGluZyBnZXRfdHlwZSgpIGltcGxlbWVudGF0aW9uIGlzIHJhY3ksIGFuZCB0aGUKCSAgZ190eXBlX2NsYXNzX3JlZigpIHdvcmthcm91bmQgZGlkbid0IGFjdHVhbGx5IHdvcmsgYmVjYXVzZQoJICBpdCB3YXMgaW4gdGhlIHdyb25nIGZ1bmN0aW9uLiBTaW5jZSBjbGFzcyBjcmVhdGlvbiBpbiBHT2JqZWN0CgkgIGlzIHRocmVhZC1zYWZlIHRoZXNlIGRheXMgKHNpbmNlIDIuMTYpLCB0aGUgY2xhc3NfcmVmIHdvcmthcm91bmQKCSAgaXMgbm8gbG9uZ2VyIG5lZWRlZCBhbmQgaXQgaXMgc3VmZmljaWVudCB0byBlbnN1cmUgdGhlIF9nZXRfdHlwZSgpCgkgIGZ1bmN0aW9uIGlzIHRocmVhZC1zYWZlLCB3aGljaCBHX1RZUEVfREVGSU5FIGRvZXMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MjQzMzgKCjIwMTAtMDgtMDQgMTU6MjA6NDIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJICBwdWxzZXNpbms6IFBvc3QgQ0xPQ0stTE9TVC9DTE9DSy1QUk9WSURFIHdoZW4gZ29pbmcgdG8vZnJvbSBSRUFEWQoJICBPdGhlcndpc2UgdGhlIGNsb2NrcyBhcmUgcmVkaXN0cmlidXRlZCBldmVyeSB0aW1lIHRoZSBwaXBlbGluZQoJICBnb2VzIHRvIFBBVVNFRCwgd2hpY2ggaXMgcXVpdGUgZXhwZW5zaXZlLgoKMjAxMC0wNy0xMiAxMjozNToxNSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwbXA0Z3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wNGdwYXkuaDoKCSAgcnRwbXA0Z3BheTogaW1wbGVtZW50IHBlcmZlY3QgdGltZXN0YW1wcwoJICBVc2UgYml0cmVhZGVyIGZvciBwYXJzaW5nIHRoZSBjb25maWcgc3RyaW5nCgkgIFJlc2V0IHN0YXRlIHZhcmlhYmxlcyB3aGVuIGdvaW5nIHRvIFJFQURZCgkgIFBhcnNlIGZyYW1lIGxlbmd0aCBhbmQgdXNlIGl0IHRvIGtlZXAgdHJhY2sgb2YgdGhlIHJ0cHRpbWVzdGFtcHMKCjIwMTAtMDctMDkgMTQ6MDc6NDkgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNwZGVwYXkuYzoKCSAgcnRwaDI2M3BkZXBheTogYWxsb3cgbW9yZSBjbG9jay1yYXRlcyBhcyBpbnB1dAoJICBBbHRob3VnaCB0aGUgc3BlYyBzYXlzIHRoYXQgdGhlIGNsb2NrLXJhdGUgc2hvdWxkIGFsd2F5cyBiZSA5MDAwMCwgc29tZSBydHNwCgkgIHNlcnZlcnMgc2VuZCBkaWZmZXJlbnQgY2xvY2stcmF0ZXMgc28gd2UgbXVzdCBhY2NlcHQgdGhlbiBpbiBvcmRlciB0byBoYW5kbGUKCSAgdGhvc2Ugc3RyZWFtcyB0b28uCgoyMDEwLTA3LTA2IDE5OjAyOjE0ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBMMTZkZXBheS5jOgoJICBMMTZkZXBheTogZGVmYXVsdCB0byAxIGNoYW5uZWwKCSAgV2hlbiB3ZSBjYW4ndCBmaW5kIGFueSBjaGFubmVsIG9yIGVuY29kaW5nLXBhcmFtcyBvbiB0aGUgY2FwcyBmb3IgZHluYW1pYwoJICBwYXlsb2FkIHR5cGVzLCBzZXQgdGhlIGRlZmF1bHQgbnVtYmVyIG9mIGNoYW5uZWxzIHRvIDEsIGFzIHRoZSBzcGVjIHNheXMgd2UKCSAgc2hvdWxkLgoJICBTZWUgIzYyMzIwOQoKMjAxMC0wNy0wNiAxODoyMjoyNCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogZG9uJ3QgcmV1c2UgdWRwIHNvY2tldHMKCSAgRG9uJ3QgcmV1c2Ugc29ja2V0cyBidXQgbWFrZSB0aGUgdWRwc3JjIGVsZW1lbnQgZmFpbCB0aGUgc3RhdGUgY2hhbmdlIHdoZW4gdGhlCgkgIHNvY2tldCBpcyBhbHJlYWR5IGluIHVzZS4gSWYgd2UgZG9uJ3QgcHJldmVudCByZXVzZSwgd2UgbWlnaHQgZW5kIHVwIHVzaW5nIHRoZSBzYW1lCgkgIHBvcnQgZm9yIGRpZmZlcmVudCBzdHJlYW1zIGluIHNvbWUgY2FzZXMuCgkgIEZpeGVzICM2MjIwMTcKCjIwMTAtMDctMDYgMTg6MTE6MjEgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdWRwL2dzdHVkcHNyYy5jOgoJKiBnc3QvdWRwL2dzdHVkcHNyYy5oOgoJICB1ZHBzcmM6IGFkZCBwcm9wZXJ0eSB0byBlbmFibGUgcG9ydCByZXVzZQoKMjAxMC0wNy0wNSAxMDoyMzozNyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwTDE2ZGVwYXkuYzoKCSAgTDE2ZGVwYXk6IHVzZSBlbmNvZGluZy1wYXJhbXMgZm9yIHRoZSBjaGFubmVscwoJICBXaGVuIHBhcnNpbmcgdGhlIG51bWJlciBvZiBjaGFubmVscywgdXNlIHRoZSBlbmNvZGluZy1wYXJhbXMgcHJvcGVydHkgZnJvbSB0aGUKCSAgUlRQIGNhcHMgYmVjYXVzZSB0aGF0IGlzIHdoZXJlIHdlIGNhbiBmaW5kIHRoZSBjaGFubmVscyBhY2NvcmRpbmcgdG8gdGhlIHNwZWMuCgkgIEZhbGwgYmFjayB0byB0aGUgY2hhbm5lbHMgcHJvcGVydHkgaW4gdGhlIGNhcHMgd2hlbiBuZWVkZWQuCgkgIEZpeGVzICM2MjMyMDkKCjIwMTAtMDYtMjkgMTA6NDY6NDEgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IGltcHJvdmUgZXJyb3IgYW5kIHdhcm5pbmcgbWVzc2FnZQoJICBJbXByb3ZlIGVycm9yIGFuZCB3YXJuaW5nIG1lc3NhZ2UuCgkgIEZpeGVzICM2MjI1NzcKCjIwMTAtMDgtMDIgMjM6MTU6NTYgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIHRlc3RzL2V4YW1wbGVzL3NwZWN0cnVtL2RlbW8tYXVkaW90ZXN0LmM6CgkqIHRlc3RzL2V4YW1wbGVzL3NwZWN0cnVtL2RlbW8tb3Nzc3JjLmM6CgkgIGV4YW1wbGVzOiBubyBuZWVkIHRvIHNldCB0aGUgY29sb3IgZm9yIGVhY2ggZnJxLWJhbmQKCjIwMTAtMDgtMDIgMTI6NTY6MjkgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBnNzI5cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZzcyOXBheS5oOgoJICBydHBnNzI5cGF5OiBhdm9pZCBiYXNlcnRwcGF5bG9hZCBwZXJmZWN0LXJ0cHRpbWUgbW9kZQoJICBHNzI5IHBhY2tldHMgbWF5IG9ubHkgb2NjdXIgaW50ZXJtaXR0ZW50bHkgKGUuZy4gY24gcGFja2V0cyksIGFuZCBhcyBzdWNoCgkgIGRvIG5vdCBhbGxvdyBmb3IgcGVyZmVjdC1ydHB0aW1lIGNhbGN1bGF0aW5nIHJ0cCB0aW1lcyBiYXNlZCBvbiBmcmFtZSBvciBieXRlCgkgIGNvdW50LiAgSW4gcGFydGljdWxhciwgZG8gbm90IHVzZSBydHAgYXVkaW8gYmFzZSBwYXlsb2FkZXIgYXMgYmFzZSBjbGFzcywgYnV0CgkgIHJhdGhlciBiYXNlIHBheWxvYWRlciBkaXJlY3RseS4KCjIwMTAtMDgtMDIgMTI6NDg6MDIgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBoMjY0cGF5LmM6CgkgIHJ0cGgyNjRwYXk6IGZpeCBlbGVtZW50IGxlYWsKCjIwMTAtMDgtMDIgMTI6NDY6NDEgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBtcDR2ZGVwYXkuYzoKCSAgcnRwbXA0dmRlcGF5OiBmaXggYnVmZmVyIGxlYWsKCjIwMTAtMDgtMDIgMTI6NDY6MjAgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwLXBheWxvYWRpbmcuYzoKCSAgdGVzdHM6IHJ0cCBwYXlsb2FkaW5nOiBmaXggcGFkIGxlYWsKCjIwMTAtMDctMjkgMTc6MTg6MTEgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICBhdmlkZW11eDogcHVzaCBtb2RlOyB1c2UgcHJvcGVyIG1vdmkgb2Zmc2V0IGZvciBtb3ZpIGJhc2VkIGluZGV4CgkgIEZpeGVzICM2MjMzNTcuCgoyMDEwLTA3LTI5IDEwOjAwOjE1IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5oOgoJICBxdGRlbXV4OiBDb3JyZWN0bHkgcGFyc2UgbXZoZCBhdG9tcwoJICBQYXJzZSBtdmhkIGRhdGEgYWNjb3JkaW5nIHRvIGl0cyB2ZXJzaW9uIHRvIGF2b2lkIGZhaWxpbmcKCSAgb24gdmFsaWQgZmlsZXMuCgoyMDEwLTA3LTI4IDEyOjIxOjQxIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogRml4IHRoZSBtYXgvYXZnIGluIGJ0cnQgYXRvbSByZWFkaW5nCgkgIEFjY29yZGluZyB0byBJU08gbWVkaWEgYmFzZSBmb3JtYXQsIHRoZSBtYXggYml0cmF0ZSBpcyB0aGUKCSAgZmlyc3Qgb25lLCBhbmQgdGhlIGF2ZyBjb21lcyBuZXh0LgoKMjAxMC0wNy0yNyAxNTo1ODowMiArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2FkZW11eDogcHJvcGVyIGhhbmRsaW5nIG9mIHN0cmVhbWluZyB1cHN0cmVhbSB3aXRob3V0IGR1cmF0aW9uCgkgIEZpeGVzICM2MjUzNzEuCgoyMDEwLTA3LTI2IDE4OjMzOjA5ICswMjAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYWRlbXV4OiBpbml0aWFsaXplIHNvbWUgdmFyaWFibGVzIHRvIGZpeCBjb21waWxlciB3YXJuaW5ncyBvbiBPU1ggYnVpbGQgYm90CgoyMDEwLTA3LTI2IDE4OjE1OjI1ICswMjAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSAgcHVsc2VzaW5rOiBjb3JyZWN0bHkgY2hlY2sgd2hhdCB2ZXJzaW9uIG9mIGdzdC1wbHVnaW5zLWJhc2Ugd2UncmUgY29tcGlsaW5nIGFnYWluc3QKCSAgV2UgbmVlZCB0byBjaGVjayB0aGUgZ3N0LXBsdWdpbnMtYmFzZSB2ZXJzaW9uLCBub3QgdGhlIGNvcmUgdmVyc2lvbgoJICAoZXZlbiBpZiBib3RoIHNob3VsZCBiZSB0aGUgc2FtZSBpbiBhbnkgc2FuZSBzZXR1cCkuCgoyMDEwLTA3LTI2IDE3OjQ1OjQyICswMjAwICBBcm5hdWQgVnJhYyA8cmF3b3VsIGF0IGdtYWlsLmNvbT4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5oOgoJICBydHNwc3JjOiBhZGQgcG9ydC1yYW5nZSBwcm9wZXJ0eSB0byBydHNwc3JjCgkgIFRvIHN1cHBvcnQgc2V0dXBzIHdpdGggZmlyZXdhbGwvaXBzZWMsIGl0IGlzIHVzZWZ1bCBmb3IgYW4gcnRzcCBjbGllbnQgdG8gYmUKCSAgYWJsZSB0byBzZXQgdGhlIHJhbmdlIG9mIHBvcnRzIHRoYXQgY2FuIGJlIHVzZWQgZm9yIHJ0cC9ydGNwIHJlY2VwdGlvbi4KCSAgQWxsb3dzIHRoaXMgYnkgYWRkaW5nIGEgInBvcnQtcmFuZ2UiIHByb3BlcnR5IHRvIHRoZSBydHNwc3JjIGVsZW1lbnQuCgkgIEZpeGVzICM2MjUxNTMKCjIwMTAtMDctMjYgMTM6Mzg6MzEgKzAyMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8YW1vcmFsZXNAZmx1bW90aW9uLmNvbT4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogc2V0IHRoZSBwaXhlbC1hc3BlY3QtcmF0aW8gZmllbGQgYWxzbyBmb3IgcGFyPTEvMQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjI1MzAyCgoyMDEwLTA3LTI2IDE1OjMxOjE2ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBmaXggbWVtb3J5IGxlYWsgaW4gc2VydmVyIHJlcXVlc3QgcmVwbHkKCSAgVGhlIFJUU1Agc2VydmVyIHJ0c3BzcmMgaXMgY29tbXVuaWNhdGluZyB3aXRoLCBzZW5kcyBhIEdFVF9QQVJBTUVURVIgcmVxdWVzdAoJICBwZXJpb2RpY2FsbHkgYXMgYSBwaW5nLiAgVGhlIGNvZGUgaW4gZ3N0X3J0c3BzcmNfaGFuZGxlX3JlcXVlc3QgZm9ybXMgYW4gT0sKCSAgcmVzcG9uc2UgYW5kIHNlbmRzLCBidXQgZG9lc24ndCBjYWxsIGdzdF9ydHNwX21lc3NhZ2VfdW5zZXQgdG8gZnJlZSB0aGUgbWVtb3J5CgkgIGFmdGVyIHNlbmRpbmcgdGhlIHJlc3BvbnNlLiAgVGhpcyByZXN1bHRzIGluIGEgY29uc3RhbnQgc2xvdyBtZW1vcnkgbGVhay4KCSAgRml4ZXMgIzYyNDc3MAoKMjAxMC0wNy0yNCAyMjozOTo1NCArMDEwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkqIGdzdC9kZWJ1Z3V0aWxzL2NwdXJlcG9ydC5jOgoJICBjcHVyZXBvcnQ6IHJlbW92ZSBib2d1cyBkb2NzCgoyMDEwLTA3LTI0IDIyOjM3OjExICswMTAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSogZ3N0L2RlYnVndXRpbHMvTWFrZWZpbGUuYW06CgkqIGdzdC9kZWJ1Z3V0aWxzL2NwdXJlcG9ydC5jOgoJKiBnc3QvZGVidWd1dGlscy9jcHVyZXBvcnQuaDoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0ZGVidWcuYzoKCSAgZGVidWd1dGlsczogbmV3IGVsZW1lbnQgY3B1cmVwb3J0CgkgIGNwdXJlcG9ydCBwb3N0cyBidXMgbWVzc2FnZXMgYWZ0ZXIgZXZlcnkgYnVmZmVyIHJlY2VpdmVkIG9mIGNwdSB1c2VkLCBzeXN0ZW0KCSAgY2xvY2sgdGltZSwgYnVmZmVyIHRpbWUKCjIwMTAtMDctMjQgMTA6Mjk6MDEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvZXhhbXBsZXMvZXF1YWxpemVyL2RlbW8uYzoKCSogdGVzdHMvZXhhbXBsZXMvc3BlY3RydW0vZGVtby1hdWRpb3Rlc3QuYzoKCSogdGVzdHMvZXhhbXBsZXMvc3BlY3RydW0vZGVtby1vc3NzcmMuYzoKCSAgZXhhbXBsZXM6IERlc3Ryb3kgdGhlIGNhaXJvIGNvbnRleHQgYWZ0ZXIgdXNhZ2UKCjIwMTAtMDctMjQgMTA6MjE6MDUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvTWFrZWZpbGUuYW06CgkqIGV4dC9nZGtfcGl4YnVmL01ha2VmaWxlLmFtOgoJKiBleHQvZ2RrX3BpeGJ1Zi9nc3RnZGtwaXhidWYuYzoKCSogZXh0L2dka19waXhidWYvZ3N0Z2RrcGl4YnVmc2luay5jOgoJKiBleHQvZ2RrX3BpeGJ1Zi9waXhidWZzY2FsZS5jOgoJICBSZXZlcnQgImdka3BpeGJ1ZjogQWRkIGEgZ2RrcGl4YnVmMyBwbHVnaW4gdGhhdCB1c2VzIGdka3BpeGJ1ZjMiCgkgIFRoaXMgcmV2ZXJ0cyBjb21taXQgYjY3ODgxNTMxNjFiNGUwN2ZiZjNkNDJhMmQ4OTIxZWEwNDkzMDVkMC4KCSAgVGhlcmUncyBubyBnZGstcGl4YnVmMyBhbnltb3JlLiBnZGstcGl4YnVmIHdhcyBzZXBhcmF0ZWQgZnJvbSBHVEsrCgkgIGFuZCB3aWxsIHN0YXkgYXQgdmVyc2lvbiAyLjAgZm9yIEdUSysgMy4wLgoKMjAxMC0wNy0yNCAxMDoxOTozNyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9leGFtcGxlcy9lcXVhbGl6ZXIvZGVtby5jOgoJKiB0ZXN0cy9leGFtcGxlcy9zcGVjdHJ1bS9kZW1vLWF1ZGlvdGVzdC5jOgoJKiB0ZXN0cy9leGFtcGxlcy9zcGVjdHJ1bS9kZW1vLW9zc3NyYy5jOgoJICBleGFtcGxlczogVXNlIGNhaXJvIGluc3RlYWQgb2YgdG8tYmUtZGVwcmVjYXRlZCBHREsgQVBJCgkgIEZpeGVzIGJ1ZyAjNjI1MDAyLgoKMjAxMC0wNy0yMiAxNjoyNDo0MyArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmxhYy9nc3RmbGFjZGVjLmM6CgkgIGZsYWNkZWM6IGZpeCBldmVudCBsZWFrCgoyMDEwLTA3LTIyIDEyOjA1OjI2ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguaDoKCSAgbWF0cm9za2FkZW11eDogcHVsbCBtb2RlIG5vbi1jdWUgc2Vla2luZwoJICBUaGF0IGlzLCBpbiBmaWxlcyB0aGF0IGhhdmUgbm8gaW5kZXggKEN1ZSksIHBlcmZvcm0gc2VlayBieSBzY2FubmluZyBmb3IKCSAgbmVhcmVzdCBjbHVzdGVyIHdpdGggdGltZWNvZGUgYmVmb3JlIHJlcXVlc3RlZCBwb3NpdGlvbi4gIFNjYW5uaW5nIGlzIGRvbmUKCSAgYXMgYSBjb21iaW5hdGlvbiBvZiBpbnRlcnBvbGF0aW9uIGFuZCBzZXF1ZW50aWFsIHNjYW4uCgkgIEZpeGVzICM2MTczNjguCgoyMDEwLTA3LTE2IDEyOjQ2OjUwICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSAgbWF0cm9za2FtdXg6IHN0cmVhbWFibGUgZmlsZXMgbmVlZCBubyBfZmluaXNoCgkgIEZpeGVzICM2MjQ0NTUuCgoyMDEwLTA3LTIyIDExOjQ2OjM1ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgYXZpZGVtdXg6IHB1c2ggbW9kZTsgaGFuZGxlIDAtc2l6ZSBkYXRhIGNodW5rcwoJICBGaXhlcyAjNjE4NTM1LgoKMjAxMC0wNy0yMSAwODoxMToyMyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyLmM6CgkgIHZpZGVvbWl4ZXI6IE9ubHkgcmVzZXQgUW9TIGluZm9ybWF0aW9uIGFuZCBzZW5kIGEgTkVXU0VHTUVOVCBldmVudCBkb3duc3RyZWFtIGZvciBORVdTRUdNRU5UIGV2ZW50cyBvbiB0aGUgbWFzdGVyIHBhZAoKMjAxMC0wNy0xNCAyMDozMTo0NCAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvZGVidWd1dGlscy9NYWtlZmlsZS5hbToKCSogZ3N0L2RlYnVndXRpbHMvZ3N0Y2Fwc2RlYnVnLmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdGNhcHNkZWJ1Zy5oOgoJKiBnc3QvZGVidWd1dGlscy9nc3RkZWJ1Zy5jOgoJICBjYXBzZGVidWc6IEFkZCBuZXcgZWxlbWVudAoKMjAxMC0wNy0yMCAxNjoxMToyNSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkgIG1hdHJvc2thbXV4OiBkZW1vdGUgV0FSTklORyBtZXNzYWdlIHRvIExPRyBsZXZlbAoJICBJdCdzIG5vdCBhIHdhcm5pbmcuCgoyMDEwLTA3LTE5IDE0OjQ3OjMyIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9qcGVnL2dzdGpwZWdkZWMuYzoKCSAganBlZ2RlYzogRml4IHJlZ3Jlc3Npb24gb24gbWFya2VycyBwYXJzaW5nCgkgIEZpeGVzIGEgcmVncmVzc2lvbiBpbnRyb2R1Y2VkIHdoZW4gZml4aW5nIGJ1ZyAjNTgzMDQ3IGluCgkgIGNvbW1pdCBhMzkxYmY1MmNjM2M1ODBjN2EwYTIzMTZjYTUyZWI2NmRhM2I4NWMxCgkgIFNraXAgdGhlIGRhdGEgd2hlbiBsaWJqcGVnIGFza3MgaXQgdG8gYmUgc2tpcHBlZCBvbgoJICBvbmUgb2YgaXRzIGNhbGxiYWNrcy4KCjIwMTAtMDctMTYgMTg6MDQ6NDQgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thZGVtdXg6IGFkZCBtaXNzaW5nIGFyZ3VtZW50IGluIGRlYnVnIG1lc3NhZ2UKCjIwMTAtMDctMTYgMTc6NTM6NTUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3B1bHNlL3B1bHNlbWl4ZXJjdHJsLmM6CgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSogZXh0L3B1bHNlL3B1bHNlc3JjLmM6CgkgIHB1bHNlc2luazogT25seSB1c2UgZ3N0X2F1ZGlvX2Nsb2NrX25ldygpIHdoZW4gY29tcGlsaW5nIGFnYWluc3QgbmV3ZXIgYmFzZQoKMjAxMC0wNy0wOSAxNzozMzo1NSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcmF3MTM5NC9nc3RkdjEzOTRzcmMuYzoKCSAgZHYxMzk0c3JjOiBQb3N0IGNsb2NrLXByb3ZpZGUgYW5kIGNsb2NrLWxvc3QgbWVzc2FnZXMgd2hlbiBnb2luZyBmcm9tL3RvIFBMQVlJTkcKCSAgSW4gUEFVU0VEIGFuZCBiZWxvdyB0aGUgY2xvY2sgaXMgbm90IHdvcmtpbmcuCgoyMDEwLTA3LTA0IDE2OjU3OjU1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9nY29uZi9nc3Rzd2l0Y2hzaW5rLmM6CgkqIGV4dC9nY29uZi9nc3Rzd2l0Y2hzaW5rLmg6CgkqIGV4dC9nY29uZi9nc3Rzd2l0Y2hzcmMuYzoKCSogZXh0L2djb25mL2dzdHN3aXRjaHNyYy5oOgoJICBnY29uZjogRml4IHJlZiBoYW5kbGluZyBvZiBuZXcgY2hpbGQgZWxlbWVudHMgYW5kIG1pbm9yIGNsZWFudXAKCjIwMTAtMDctMDQgMDk6NDU6NTIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2djb25mL2dzdGdjb25mdmlkZW9zcmMuYzoKCSAgZ2NvbmZ2aWRlb3NyYzogVXNlIGNvcnJlY3QgR0NvbmYga2V5CgoyMDEwLTA3LTAzIDE0OjE2OjQyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9nY29uZi9nc3RnY29uZmF1ZGlvc3JjLmM6CgkqIGV4dC9nY29uZi9nc3RnY29uZmF1ZGlvc3JjLmg6CgkgIGdjb25mOiBQb3J0IGdjb25mYXVkaW9zcmMgdG8gR3N0U3dpdGNoU3JjCgoyMDEwLTA3LTAzIDE0OjEyOjEyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9nY29uZi9nc3RnY29uZnZpZGVvc3JjLmM6CgkqIGV4dC9nY29uZi9nc3RnY29uZnZpZGVvc3JjLmg6CgkgIGdjb25mOiBQb3J0IGdjb25mdmlkZW9zcmMgdG8gR3N0U3dpdGNoU3JjCgoyMDEwLTA3LTAzIDE0OjExOjU1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9nY29uZi9NYWtlZmlsZS5hbToKCSogZXh0L2djb25mL2dzdHN3aXRjaHNyYy5jOgoJKiBleHQvZ2NvbmYvZ3N0c3dpdGNoc3JjLmg6CgkgIGdjb25mOiBBZGQgR3N0U3dpdGNoU3JjIGJhc2UgY2xhc3MKCjIwMTAtMDctMDMgMTM6NTY6MzMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2djb25mL2dzdHN3aXRjaHNpbmsuYzoKCSAgZ2NvbmY6IENyZWF0ZSB0aGUgZ2hvc3RwYWQgb2YgdGhlIHN3aXRjaHNpbmsgZnJvbSB0aGUgdGVtcGxhdGUKCjIwMTAtMDctMDcgMTA6MTA6NTIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJICBwdWxzZXNpbms6IFBvc3QgY2xvY2stcHJvdmlkZS9jbG9jay1sb3N0IHdoZW4gZ29pbmcgdG8vZnJvbSBQQVVTRUQKCSAgQWxzbyB1c2UgZ3N0X2F1ZGlvX2Nsb2NrX25ld19mdWxsKCkgdG8gcHJldmVudCBjcmFzaGVzIHdoZW4gdGhlCgkgIGNsb2NrIGlzIHVzZWQgYWZ0ZXIgdGhlIGVsZW1lbnQgd2FzIGRlc3Ryb3llZC4KCjIwMTAtMDctMTUgMTE6NDk6MDMgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thZGVtdXg6IHJlbW92ZSBib2d1cyBVTkxPQ0sKCjIwMTAtMDctMTMgMTI6MzQ6NDQgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBhbHNvIGNhbGN1bGF0ZSBQQVIgdXNpbmcgdHJhY2sgd2lkdGggYW5kIGhlaWdodCBmb3IgUVQgZmlsZXMKCSAgKC4uLiBhcyBvcHBvc2VkIHRvIG9ubHkgZm9yIElTTyBzdHlsZSBmaWxlcykuCgkgIEZpeGVzICM2MjQxNzMuCgoyMDEwLTA3LTEyIDE3OjI5OjEyICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYWRlbXV4OiBoYW5kbGUgYm9ndXMgZmlsZXMgc3RvcmluZyBBRFRTIEFBQyBkYXRhCgoyMDEwLTA3LTA5IDE2OjU3OjMzICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYWRlbXV4OiBkbyBub3QgZXJyb3Igb3V0IG9uIGEgYmxvY2sgd2l0aCB1bmtub3duIHRyYWNrbnVtYmVyCgoyMDEwLTA3LTA4IDE4OjU3OjIxICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogZG8gbm90IGFsaWduIHJldmVyc2UgcGxheWJhY2sgcmVmZXJlbmNlIHN0cmVhbSB0d2ljZQoJICBUaW1lc3RhbXAgcm91bmRpbmcgaXNzdWVzIGNvdWxkIGxlYWQgdG8gZ29pbmcgYmFja3dhcmRzIDIga2V5ZnJhbWUgcGVyaW9kcwoJICAocmF0aGVyIHRoYW4gb25seSAxKS4gIFdoaWxlIHRoaXMgaXMgbm90IG5lY2Vzc2FyaWx5IGEgcHJvYmxlbSwgaXQgbWlnaHQKCSAgcG90ZW50aWFsbHkgcGxhY2UgYWRkaXRpb25hbCAoYnVmZmVyaW5nKSBsb2FkIG9uIGRvd25zdHJlYW0gYW5kIGNvdWxkIGJlCgkgIGF2b2lkZWQgKGJlY2F1c2UgV2UgQ2FuKS4KCSAgRml4ZXMgIzYyMzYyOS4KCjIwMTAtMDctMDggMTY6MDc6MTYgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBjb252ZXJ0IHNvbWUgbW9yZSBtb3YgZm9ybWF0IHRpbWVzdGFtcCB0byBnc3QgdGltZQoKMjAxMC0wNy0wNyAxNDoxNjo1OSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIGF2aWRlbXV4OiBhZGRpdGlvbmFsIHZlcmlmaWNhdGlvbiBoZXVyaXN0aWNzIGZvciBWQlIgYXVkaW8gc3RyZWFtCgkgIENoZWNrIGZvciBhbmQgb3ZlcnJpZGUgc29tZSBoZWFkZXIgZmllbGQocykgZm9yIHJlYXNvbmFibGUgdmFsdWVzLCBhY2NvcmRpbmcKCSAgdG8gbGF0ZXIgZXhwZWN0ZWQgdXNlIGluIGNhbGN1bGF0aW9ucy4KCjIwMTAtMDctMTQgMTU6MjE6MjEgKzAyMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogZ3N0L3ZpZGVvZmlsdGVyL2dzdHZpZGVvYmFsYW5jZS5jOgoJICB2aWRlb2JhbGFuY2U6IEZpeCB3cm9uZyBsb2NrIG9yZGVyIHRoYXQgY291bGQgbGVhZCB0byBhIGRlYWRsb2NrLiBGaXhlcyAjNjI0MzMxLgoKMjAxMC0wNy0xNiAxMTozMTowOCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tMTM5NC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYWNvbG9yLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFubm9kZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXBldGFnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvZngueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvZGV0ZWN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF2aS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWNhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWlyby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jdXR0ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVpbnRlcmxhY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZlbmNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZmVjdHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXF1YWxpemVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVzZHNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmxhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx4ZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdjb25mZWxlbWVudHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2RrcGl4YnVmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbTJrMS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc3RydHBtYW5hZ2VyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWhhbGVsZW1lbnRzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWljeWRlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlkM2RlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWltYWdlZnJlZXplLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVybGVhdmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanBlZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sZXZlbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tYXRyb3NrYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aWZpbGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlwYXJ0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5hdmlnYXRpb250ZXN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zczQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5nLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXB1bHNlYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcXVpY2t0aW1lLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlcGxheWdhaW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0c3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hhcGV3aXBlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNob3V0MnNlbmQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc21wdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVjdHJ1bS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10YWdsaWIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdWRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvNGxpbnV4Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2JveC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2Nyb3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9maWx0ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9taXhlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14aW1hZ2VzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teTRtZW5jLnhtbDoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICBCYWNrIHRvIGRldmVsb3BtZW50Cgo9PT0gcmVsZWFzZSAwLjEwLjI0ID09PQoKMjAxMC0wNy0xNSAwMTo0OTowNCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBDaGFuZ2VMb2c6CgkqIE5FV1M6CgkqIFJFTEVBU0U6CgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLTEzOTQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWFzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGFjb2xvci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbm5vZGV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFwZXRhZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb2Z4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2RldGVjdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdmkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FjYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2Fpcm8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY3V0dGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlaW50ZXJsYWNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZW5jZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmZlY3R2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVxdWFsaXplci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lc2RzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZseGRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nY29uZmVsZW1lbnRzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdka3BpeGJ1Zi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20yazEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3N0cnRwbWFuYWdlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1oYWxlbGVtZW50cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pY3lkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pZDNkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbWFnZWZyZWV6ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlcmxlYXZlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwZWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGV2ZWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWF0cm9za2EueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlmaWxlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpcGFydC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uYXZpZ2F0aW9udGVzdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3M0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zc2F1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBuZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wdWxzZWF1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXF1aWNrdGltZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXBsYXlnYWluLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHNwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNoYXBld2lwZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaG91dDJzZW5kLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNtcHRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlY3RydW0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdGFnbGliLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXVkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlbzRsaW51eDIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9ib3gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9jcm9wLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvZmlsdGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvbWl4ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2ZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teGltYWdlc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXk0bWVuYy54bWw6CgkqIGdzdC1wbHVnaW5zLWdvb2QuZG9hcDoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICBSZWxlYXNlIDAuMTAuMjQKCjIwMTAtMDctMTUgMDE6MzU6MDYgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogcG8vY3MucG86CgkqIHBvL2x2LnBvOgoJICBwbzogdXBkYXRlIHRyYW5zbGF0aW9ucwoKMjAxMC0wNy0wNyAwMDo0Mjo0NiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi0xMzk0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhY29sb3IueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYW5ub2RleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hcGV0YWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9meC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9kZXRlY3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXZpLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhY2FzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhaXJvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWN1dHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWludGVybGFjZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmVuY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZmZWN0di54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lcXVhbGl6ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXNkc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbGFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHhkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2NvbmZlbGVtZW50cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZGtwaXhidWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tMmsxLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzdHJ0cG1hbmFnZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taGFsZWxlbWVudHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWN5ZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW1hZ2VmcmVlemUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXJsZWF2ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxldmVsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1hdHJvc2thLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpZmlsZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aXBhcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmF2aWdhdGlvbnRlc3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzNC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3NhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbmcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcHVsc2VhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1xdWlja3RpbWUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVwbGF5Z2Fpbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRzcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaGFwZXdpcGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hvdXQyc2VuZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbXB0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWN0cnVtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXRhZ2xpYi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi11ZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW80bGludXgyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvYm94LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvY3JvcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2ZpbHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb21peGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXhpbWFnZXNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi15NG1lbmMueG1sOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIDAuMTAuMjMuNCBwcmUtcmVsZWFzZQoKMjAxMC0wNy0wNyAwMDozMToxNyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBwby9MSU5HVUFTOgoJKiBwby9kYS5wbzoKCSogcG8vZWwucG86CgkqIHBvL2VzLnBvOgoJKiBwby9mci5wbzoKCSogcG8vaWQucG86CgkqIHBvL3B0X0JSLnBvOgoJKiBwby9zbC5wbzoKCSogcG8vdHIucG86CgkqIHBvL3poX0NOLnBvOgoJICBwbzogdXBkYXRlIHRyYW5zbGF0aW9ucwoKMjAxMC0wNi0yMyAxMTo0Nzo0MyArMDIwMCAgTWljaGFlbCBHcnplc2NoaWsgPG0uZ3J6ZXNjaGlrQHBlbmd1dHJvbml4LmRlPgoKCSogc3lzL3Y0bDIvZ3N0djRsMnNpbmsuYzoKCSAgdjRsMnNpbms6IGRlc3Ryb3kgYnVmZmVyIHBvb2wgd2hlbiBjaGFuZ2luZyBzdGF0ZSB0byBOVUxMCgkgIEluIHRoZSBjYXNlIHdlIGNoYW5nZSB0aGUgU3RhdGUgZnJvbSBSRUFEWV9UT19OVUxMIHRoZSBidWZmZXJzIGluIHRoZSBwb29sCgkgIHN0aWxsIGhvbGQgYW4gb3BlbiBkdXAgZmlsZSBkZXNjcmlwdG9yIHRvIHRoZSBkZXZpY2UsIHRoZXJlZm9yZSB0aGUgZGV2aWNlCgkgIHJlbGVhc2UgZnVuY3Rpb24gd2lsbCBub3QgYmUgY2FsbGVkIGFuZCB0aGUgZGV2aWNlIHdpbGwgcHJvYmFibHkgYW5zd2VyIHdpdGgKCSAgLUVCVVNZIHdoZW4gd2UgcmVvcGVuIGl0IGluIHRoZSBuZXh0IE5VTExfVE9fUkVBRFkgdHJhbnNpdGlvbi4KCSAgU2lnbmVkLW9mZi1ieTogTWljaGFlbCBHcnplc2NoaWsgPG0uZ3J6ZXNjaGlrQHBlbmd1dHJvbml4LmRlPgoJICBTZWUgYnVnICM2MjI1MDAgYW5kICM2MTIyNDQuCgoyMDEwLTA3LTA2IDEzOjIxOjE5ICswNTMwICBBcnVuIFJhZ2hhdmFuIDxhcnVuLnJhZ2hhdmFuQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogRml4IG9yZGVyIG9mIGJpdHJhdGVzIGluICdidHJ0JyBhdG9tCgkgIFRoZXJlIHNlZW1zIHRvIGJlIGEgYnVnIGluIGxpYm1wNHYyIHRoYXQgZ2VuZXJhdGVzIGEgTVBFRzRCaXRSYXRlQm94IGFzCgkgIChidWZmZXJTaXplREIsIGF2Z0JpdHJhdGUsIG1heEJpdHJhdGUpIGluc3RlYWQgb2YgKGJ1ZmZlclNpemVEQiwKCSAgbWF4Qml0cmF0ZSwgYXZnQml0cmF0ZSksIGFjY29yZGluZyB0byB0aGUgc3BlYy4gSSB1c2VkIHRoZSBtcDRmaWxlCgkgIG91dHB1dCB3aGlsZSB3cml0aW5nIHRoaXMgY29kZSwgc28gdGhlIG9yZGVyIGlzIHdyb25nLiBUaGlzIHBhdGNoZXMKCSAgZml4ZXMgdGhhdC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYyMzY1NAoKMjAxMC0wNy0wNSAxMjowNTo1NyArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvanBlZy9nc3RqcGVnZGVjLmM6CgkgIGpwZWdkZWM6IGZpeCBza2lwcGluZyBleHRyYSAweGZmIG1hcmtlcnMKCSAgRml4ZXMgIzYyMzU4NS4KCjIwMTAtMDYtMjkgMjM6MTg6MjMgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2pwZWcvZ3N0anBlZ2RlYy5jOgoJKiBleHQvanBlZy9nc3RqcGVnZGVjLmg6CgkgIGpwZWdkZWM6IGZpeCBtZW1vcnkgbGVhawoJICBEb24ndCBsZWFrIHJlc3VsdCBvZiBnc3RfYWRhcHRlcl90YWtlKCkuIFRoZXJlIGFyZSBtb3N0IGxpa2VseQoJICBzbWFydGVyIHRoaW5ncyB3ZSBjYW4gZG8sIGJ1dCBsZXQncyBrZWVwIHRoaW5ncyBzaW1wbGUgZm9yIHRoZQoJICByZWxlYXNlLgoJICBGaXhlcyAjNjIzMTcyLgoKMjAxMC0wNy0wMiAxMjozMTozMSArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogc3RyaXAgb3V0IGJvZ3VzIHRhZ3MgZnJvbSBYTVAgYXRvbQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjIzMzY2CgoyMDEwLTA3LTAyIDE0OjI1OjIyICswMjAwICBBbmRyemVqIEsuIEhhY3pld3NraSA8YWhhY3pld3NraUBnbWFpbC5jb20+CgoJKiBnc3QvZmx2L2dzdGZsdm11eC5jOgoJICBmbHZtdXg6IFdyaXRlIGR1cmF0aW9uIGF0IHRoZSBjb3JyZWN0IHBvc2l0aW9uCgoyMDEwLTA2LTMwIDExOjEyOjA4ICswMjAwICBUaGlqcyBWZXJtZWlyIDx0aGlqc3Zlcm1laXJAZ21haWwuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwcHRkZW11eC5jOgoJICBydHBwdGRlbXV4OiBmaXggbWVtbGVhayBvbiBjdXN0b20gZG93bnN0cmVhbSBldmVudHMKCSAgYnkgbm90IHNlbmRpbmcgY3VzdG9tIGRvd25zdHJlYW0gZXZlbnQgdHdpY2UgYW5kIGZpeCBtZW1sZWFrIHdoZW4KCSAgbm90IGhhbmRsaW5nIHRoZSBldmVudAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjIzMTk2CgoyMDEwLTA2LTI5IDIwOjE4OjUxICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi0xMzk0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhY29sb3IueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYW5ub2RleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hcGV0YWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9meC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9kZXRlY3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXZpLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhY2FzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhaXJvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWN1dHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWludGVybGFjZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmVuY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZmZWN0di54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lcXVhbGl6ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXNkc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbGFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHhkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2NvbmZlbGVtZW50cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZGtwaXhidWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tMmsxLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzdHJ0cG1hbmFnZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taGFsZWxlbWVudHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWN5ZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW1hZ2VmcmVlemUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXJsZWF2ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxldmVsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1hdHJvc2thLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpZmlsZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aXBhcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmF2aWdhdGlvbnRlc3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzNC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3NhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbmcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcHVsc2VhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1xdWlja3RpbWUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVwbGF5Z2Fpbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRzcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaGFwZXdpcGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hvdXQyc2VuZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbXB0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWN0cnVtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXRhZ2xpYi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi11ZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW80bGludXgyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvYm94LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvY3JvcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2ZpbHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb21peGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXhpbWFnZXNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi15NG1lbmMueG1sOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIDAuMTAuMjMuMyBwcmUtcmVsZWFzZQoKMjAxMC0wNi0yOSAyMDoxNDo1MyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzoKCSAgd2F2cGFyc2U6IGZpeCB1bnBvcnRhYmxlIHByaW50ZiBmb3JtYXQgc3BlY2lmaWVycyBpbiBjb21tZW50ZWQgb3V0IGNvZGUKCSAgVG8gYXZvaWQgZmFsc2UgcG9zaXRpdmVzIHdoZW4gZ3JlcHBpbmcgZm9yIHVucG9ydGFibGUgc3BlY2lmaWVycy4KCjIwMTAtMDYtMjkgMTk6MTI6MzYgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IGZpeCAtLWRpc2FibGUtZXh0ZXJuYWwKCjIwMTAtMDYtMjggMTU6NDQ6MDYgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogYXV0b2dlbi5zaDoKCSogY29uZmlndXJlLmFjOgoJICBCdW1wIGF1dG9tYWtlIHJlcXVpcmVtZW50IHRvIDEuMTAgYW5kIGF1dG9jb25mIHRvIDIuNjAKCSAgRm9yIG1haW50YWluYWJpbGl0eSByZWFzb25zIGFuZCAkKGJ1aWxkZGlyKS4KCSAgU2VlICM2MjI5NDQuCgoyMDEwLTA2LTI4IDA5OjA3OjU4ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9nb29tL3BsdWdpbl9pbmZvLmM6CgkgIGdvb206IGRvbid0IGFsbG9jYXRlIDI2MGtCIHN0cnVjdCBvbiB0aGUgc3RhY2sKCSAgUGx1Z2luSW5mbyBpcyBxdWl0ZSBhIHNpemVhYmxlIHN0cnVjdCwgbGV0J3Mgbm90IGFsbG9jYXRlIGl0IG9uIHRoZQoJICBzdGFjaywgZXNwZWNpYWxseSBub3QgaWYgd2UncmUgY29weWluZyBpdCBvdmVyIGludG8gYW5vdGhlciBkeW5hbWljYWxseQoJICBhbGxvY2F0ZWQgY29weSBhbnl3YXkuCgkgIEZpeGVzICM1NzA3NjEuCgoyMDEwLTA2LTI3IDEwOjMxOjE3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiBSZXF1aXJlIEdUSysgPj0gMi4xNCBmb3IgdGhlIGV4YW1wbGVzCgoyMDEwLTA2LTI2IDIwOjEyOjI1ICswMjAwICBHdWlkbyBHw7xudGhlciA8YWd4QHNpZ3hjcHUub3JnPgoKCSogdGVzdHMvZXhhbXBsZXMvZXF1YWxpemVyL2RlbW8uYzoKCSogdGVzdHMvZXhhbXBsZXMvc3BlY3RydW0vZGVtby1hdWRpb3Rlc3QuYzoKCSogdGVzdHMvZXhhbXBsZXMvc3BlY3RydW0vZGVtby1vc3NzcmMuYzoKCSAgZXhhbXBsZXM6IE1ha2UgZGVtb3MgLURTRUFMIHNhZmUgdG8gZml4IGJ1aWxkIHdpdGggR1RLKyAzLjAKCjIwMTAtMDYtMjYgMjE6Mzk6MzQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2pwZWcvTWFrZWZpbGUuYW06CgkgIGpwZWc6IEV4cGxpY2l0ZWx5IGxpbmsgd2l0aCBsaWJnc3RiYXNlCgoyMDEwLTA2LTI2IDE4OjQyOjI5ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICAwLjEwLjIzLjIgcHJlLXJlbGVhc2UKCjIwMTAtMDYtMjYgMTg6NDE6NDkgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS1kaXN0LmM6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUtZGlzdC5oOgoJKiBnc3QvdmlkZW9ib3gvZ3N0dmlkZW9ib3hvcmMtZGlzdC5jOgoJKiBnc3QvdmlkZW9ib3gvZ3N0dmlkZW9ib3hvcmMtZGlzdC5oOgoJKiBnc3QvdmlkZW9taXhlci9ibGVuZG9yYy1kaXN0LmM6CgkgIGdzdDogdXBkYXRlIG9yYyBmaWxlcwoKMjAxMC0wNi0yNiAxODo0MTozOSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBwby9hZi5wbzoKCSogcG8vYXoucG86CgkqIHBvL2JnLnBvOgoJKiBwby9jYS5wbzoKCSogcG8vY3MucG86CgkqIHBvL2RhLnBvOgoJKiBwby9kZS5wbzoKCSogcG8vZWwucG86CgkqIHBvL2VuX0dCLnBvOgoJKiBwby9lcy5wbzoKCSogcG8vZXUucG86CgkqIHBvL2ZpLnBvOgoJKiBwby9mci5wbzoKCSogcG8vaHUucG86CgkqIHBvL2lkLnBvOgoJKiBwby9pdC5wbzoKCSogcG8vamEucG86CgkqIHBvL2x0LnBvOgoJKiBwby9sdi5wbzoKCSogcG8vbXQucG86CgkqIHBvL25iLnBvOgoJKiBwby9ubC5wbzoKCSogcG8vb3IucG86CgkqIHBvL3BsLnBvOgoJKiBwby9wdF9CUi5wbzoKCSogcG8vcnUucG86CgkqIHBvL3NrLnBvOgoJKiBwby9zcS5wbzoKCSogcG8vc3IucG86CgkqIHBvL3N2LnBvOgoJKiBwby90ci5wbzoKCSogcG8vdWsucG86CgkqIHBvL3ZpLnBvOgoJKiBwby96aF9DTi5wbzoKCSogcG8vemhfSEsucG86CgkqIHBvL3poX1RXLnBvOgoJICBwbzogdXBkYXRlIHRyYW5zbGF0aW9ucwoKMjAxMC0wNi0yNSAxOTo0MDowNiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkgIG1hdHJvc2thbXV4OiBGaXggbGVha2luZyBvZiB0aGUgc3RyZWFtaGVhZGVyIGJ1ZmZlcnMKCSAgZ3N0X3ZhbHVlX3NldF9idWZmZXIoKSBpbmNyZWFzZXMgdGhlIHJlZmNvdW50IGFuZCBkb2Vzbid0CgkgIHRha2Ugb3duZXJzaGlwIG9mIHRoZSBidWZmZXIuCgoyMDEwLTA2LTI0IDE2OjMyOjIzICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9lYm1sLXJlYWQuYzoKCSogZ3N0L3ZpZGVvYm94L2dzdHZpZGVvYm94LmM6CgkqIGdzdC92aWRlb2ZpbHRlci9nc3R2aWRlb2ZsaXAuYzoKCSAgbWF0cm9za2EsIHZpZGVvYm94LCB2aWRlb2ZpbHRlcjogZml4IGNvbXBpbGVyIHdhcm5pbmdzIHdoZW4gZGVidWdnaW5nIGlzIGRpc2FibGVkIGluIGdzdHJlYW1lcgoJICBGaXhlcyB1bnVzZWQgdmFyaWFibGUgd2FybmluZ3Mgd2hlbiBHU3RyZWFtZXIncyBkZWJ1Z2dpbmcgc3lzdGVtIGhhcyBiZWVuIGRpc2FibGVkLgoKMjAxMC0wNi0yNCAxNToxNzoxMSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgdGVzdHM6IGFkZCBwbHVnaW4gbG9hZGluZyB3aGl0ZWxpc3QgdG8gdGVzdCBlbnZpcm9ubWVudAoJICBPbmx5IHdhbnQgdG8gbG9hZCBjb3JlL2Jhc2UvZ29vZCBwbHVnaW5zIGhlcmUuCgkgIEZpeGVzICM2MTk3MTcuCgoyMDEwLTA2LTI0IDE1OjA5OjE2ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIDczZmY5M2EgdG8gYTUxOTU3MQoKMjAxMC0wNi0yNCAxMzowMjowNCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZ2RrX3BpeGJ1Zi9nc3RnZGtwaXhidWYuYzoKCSAgZ2RrcGl4YnVmZGVjOiBidW1wIHJhbmsgdG8gU0VDT05EQVJZCgkgIEJ1bXAgZ2RrcGl4YnVmZGVjJ3MgcmFuayB0byBTRUNPTkRBUlkgdG8gZ2l2ZSBpdCBhbiBlZGdlIG92ZXIgbWlzYy4KCSAgaW1hZ2UgZGVjb2RlcnMgaW4gZ3N0LWZmbXBlZyB0aGF0IGFsc28gaGF2ZSBhIE1BUkdJTkFMIHJhbmsuCgkgIEZpeGVzICM2MjAxNjIuCgoyMDEwLTA2LTIzIDEyOjE1OjEzICswMjAwICBNaWNoYWVsIEdyemVzY2hpayA8bS5ncnplc2NoaWtAcGVuZ3V0cm9uaXguZGU+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIHJlc2V0IHRoZSBoYXZlX2luZGV4IGZsYWcgYXQgdHJhbnNpdGlvbiBQQVVTRURfVE9fUkVBRFkKCSAgSWYgd2UgcmVzdGFydCB0aGUgU3RyZWFtIGluIHRoZSBjYXNlIG9mIGRvaW5nIGEgdHJhbnNpdGlvbiBmcm9tCgkgIFBBVVNFRF9UT19SRUFEWSBhbmQgYmFjayB3aXRoIFJFQURZX1RPX1BBVVNFRCBhc28uIHRoZSBkdXJhdGlvbiBvZiB0aGUgdmlkZW8KCSAgd2lsbCBnZXQgY2FsY3VsYXRlZCBldmVuIGlmIHdlIGhhdmUgYSBhdmkgaGVhZGVyIHdpdGggdGhhdCBpbmZvcm1hdGlvbi4KCSAgU2lnbmVkLW9mZi1ieTogTWljaGFlbCBHcnplc2NoaWsgPG0uZ3J6ZXNjaGlrQHBlbmd1dHJvbml4LmRlPgoKMjAxMC0wNi0yMyAyMDoyOToxNCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9ib3gvZ3N0dmlkZW9ib3guYzoKCSAgdmlkZW9ib3g6IEZpeCBuZWdvdGlhdGlvbiBmb3IgSTQyMC9ZVjEyCgkgIFdlIGRvbid0IHN1cHBvcnQgY29udmVyc2lvbiBpbnRvICphbGwqIFlVVgoJICBmb3JtYXRzIGZvciB0aGVtLCBvbmx5IGludG8gSTQyMC9ZVjEyL0FZVVYuCgkgIEZpeGVzIGJ1ZyAjNjIyNTAxLgoKMjAxMC0wNi0yMiAxNToyMjo0NCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzoKCSAgd2F2cGFyc2U6IHByb3BlciBjbG9zaW5nIHNlZ21lbnQgY29uc3RydWN0aW9uCgkgIEZpeGVzICM2MTg5ODIuCgoyMDEwLTA2LTIyIDE1OjQ2OjUxICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuaDoKCSogc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5jOgoJICB2NGwyOiBwcmVjYWxjdWxhdGUgZHVyYXRpb24KCSAgSGF2ZSBmcmFtZSBkdXJhdGlvbiBpbiB0aGUgaW5zdGFuY2Ugc3RydWN0IGFuZCBjYWxjdWxhdGUgaXQgYWZ0ZXIgY2hhbmdpbmcgdGhlIGNhcHMuCgoyMDEwLTA2LTIxIDEyOjE3OjM5ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBzeXMvdjRsMi9nc3R2NGwyc2luay5jOgoJICB2NGwyc2luazogdXNlIGdsaWIgZGVmaW5lcyBpbiBwcm9wZXJ0eSBkZWNsYXJhdGlvbnMgZm9yIHJlYWRhYmlsaXR5CgoyMDEwLTA2LTIxIDEyOjE1OjE0ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkqIHN5cy92NGwyL2dzdHY0bDJzaW5rLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzoKCSAgdjRsMjogdXNlIEdfUEFSQU1fU1RBVElDX1NUUklOR1MgdG8gc2F2ZSBhIGZldyBieXRlcyBhbmQgc3RyZHVwcwoKMjAxMC0wNi0xOCAyMDowMjo0OSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogZml4IGxvY2tpbmcgYWZ0ZXIgbW92aW5nIHRoaW5ncyBhcm91bmQKCjIwMTAtMDYtMTggMTQ6MTM6NTggLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3RhZ2xpYi9nc3RhcGV2Mm11eC5jYzoKCSAgdGFnbGliOiBVc2UgbmV3bHkgYWRkZWQgZ3N0X3RhZ19saXN0X3BlZWtfc3RyaW5nX2luZGV4CgkgIFJlcGxhY2UgY2FsbHMgdG8gZ3N0X3RhZ19saXN0X2dldF9zdHJpbmdfaW5kZXggd2l0aAoJICBnc3RfdGFnX2xpc3RfcGVla19zdHJpbmdfaW5kZXggdG8gYXZvaWQgYSBzdHJpbmcgY29weQoKMjAxMC0wNi0xOCAxNjo1NjoxOSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogbWFrZSBzb21lIGVycm9ycyBhcyB3YXJuaW5ncwoJICBBdm9pZCBzcGFtbWluZyB0aGUgdGVzdHN1aXRlIHdpdGggdGhlc2UgZXJyb3IgZGVidWcgbGluZXMuCgoyMDEwLTA2LTE4IDE2OjQ5OjA4ICswMjAwICBLZWl0aCBOaWNob2xzb24gPGtlaXRoLm5pY2hvbHNvbiBhdCB1bHRyYS1jY3MuY29tPgoKCSogZ3N0L3VkcC9nc3R1ZHBzcmMuYzoKCSAgdWRwc3JjOiBmaXggbXVsdGljYXN0IHN1cHBvcnQgb24gd2luZG93cyBidWlsZHMKCSAgT24gd2luZG93cyBidWlsZHMsIHNldHMgc291cmNlIGFkZHJlc3MgZm9yIGJpbmQgdG8gSU5BRERSX0FOWSwgd2hpbGUKCSAgbWFpbnRhaW5pbmcgdGhlIG9yaWdpbmFsIG11bHRpY2FzdCBncm91cCBhZGRyZXNzIGZvciBzdWJzZXF1ZW50IGpvaW4uCgkgIEZpeGVzICM1OTU5NzgKCjIwMTAtMDYtMTggMTY6MTY6MjggKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdWRwL2dzdHVkcG5ldHV0aWxzLmM6CgkgIHVkcDogbWFrZSB1cmwgcGFyc2luZyBjb21wYXRpYmxlIHdpdGggVkxDIHN5bnRheAoJICBTa2lwIGV2ZXJ5dGhpbmcgYmVmb3JlIHRoZSBAIHNpZ24gaW4gdGhlIHVybCBsb2NhdGlvbi4gVkxDIHVzZXMgdGhhdCBhcyB0aGUKCSAgcmVtb3RlIGFkZHJlc3MgdG8gY29ubmVjdCB0byAoYnV0IHdlIGlnbm9yZSBpdCBmb3Igbm93KS4gVGhpcyBtYWtlcyBvdXIgdWRwIHVybHMKCSAgY29tcGF0aWJsZSB3aXRoIHRoZSBvbmVzIHVzZWQgYnkgVkxDLgoJICBGaXhlcyAjNTk3Njk1CgoyMDEwLTA2LTE4IDE1OjA4OjIxICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmg6CgkgIHJ0c3BzcmM6IGZhY3RvciBvdXQgdGhlIGNvbm5lY3Rpb25zCgkgIEtlZXAgYSBnbG9iYWwgY29ubmVjdGlvbiBmb3IgYWdncmVnYXRlIGNvbnRyb2wgYnV0IGFsc28ga2VlcCBzdHJlYW0gY29ubmVjdGlvbnMKCSAgZm9yIG5vbi1hZ2dyZWdhdGUgY29udHJvbC4KCSAgQWRkIHNvbWUgaGVscGVyIG1ldGhvZHMgdG8gY29ubmVjdC9jbG9zZS9mbHVzaCB0aGUgY29ubmVjdGlvbnMuCgoyMDEwLTA2LTE3IDEzOjA2OjU2ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBhZGQgbm9uLWFnZ3JlZ2F0ZSBjb250cm9sCgkgIEFkZCBub24tYWdncmVnYXRlIGNvbnRyb2wuCgkgIFNlcGFyYXRlIHJldHJpZXZpbmcgdGhyIFNEUCBmcm9tIHBhcnNpbmcgYW5kIHNldHRpbmcgdXAgdGhlIHN0cmVhbWluZyBmcm9tIHRoZQoJICBTRFAuCgoyMDEwLTA2LTE3IDIyOjEwOjAzICswMTAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSogY29tbW9uOgoJICBjb21tb246IHVwZGF0ZSBjb21tb24gYmFjayB0byB3aGF0IGl0IHdhcwoKMjAxMC0wNi0xNyAxNzoyNDoyMiArMDEwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkqIGNvbW1vbjoKCSogZ3N0L2Zsdi9nc3RmbHZtdXguYzoKCSAgZmx2bXV4OiBhZGQgZG9jdW1lbnRhdGlvbiBmb3Igc3RyZWFtYWJsZSBwcm9wZXJ0eQoKMjAxMC0wNi0xNyAxNjo0Mzo0NCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb21tb246CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaW50ZXJmYWNlczoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhY29sb3IueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYW5ub2RleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF2aS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWlyby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmVuY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZmZWN0di54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbGFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHhkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2NvbmZlbGVtZW50cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20yazEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3N0cnRwbWFuYWdlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbWFnZWZyZWV6ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlcmxlYXZlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwZWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGV2ZWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWF0cm9za2EueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlwYXJ0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5hdmlnYXRpb250ZXN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zczQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5nLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXB1bHNlYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcXVpY2t0aW1lLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHNwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNoYXBld2lwZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbXB0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVjdHJ1bS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10YWdsaWIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW80bGludXgyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvYm94LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvY3JvcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2ZpbHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhcnNlLnhtbDoKCSAgZG9jczogdXBkYXRlIGludHJvc3BlY3RlZCBwbHVnaW4gZG9jcyBmb3IgZ3N0ZG9jLXNjYW5nb2JqIGFuZCBvdGhlciBjaGFuZ2VzCgkgIFVwZGF0ZSBjb21tb24gZm9yIGxhdGVzdCBnc3Rkb2Mtc2NhbmdvYmosIGFuZCBpbnNwZWN0IHhtbCBmaWxlcyBmb3IKCSAgZXNjYXBpbmcgYW5kIHBhZCB0ZW1wbGF0ZSBvcmRlciBjaGFuZ2VzLgoKMjAxMC0wNi0xNyAxNjo0MTo1NiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay8uZ2l0aWdub3JlOgoJICB0ZXN0czogaWdub3JlIHN1Yi1kaXJlY3Rvcnkgd2l0aCBvcmMgdGVzdHMKCjIwMTAtMDYtMTcgMTA6NDQ6MzMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thZGVtdXg6IEZpeCBhbiB1bmluaXRpYWxpemVkIHZhcmlhYmxlIGNvbXBpbGVyIHdhcm5pbmcKCjIwMTAtMDYtMTYgMjE6MDI6MTMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL2VibWwtcmVhZC5jOgoJICBlYm1sLXJlYWQ6IFplcm8tc2l6ZWQgaW50cy91aW50cy9mbG9hdHMgaGF2ZSBhIHZhbHVlIG9mIDAgYWNjb3JkaW5nIHRvIHRoZSBFQk1MIHNwZWMKCjIwMTAtMDYtMTYgMjA6MDI6NTggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thZGVtdXg6IEZpeCBwb3NzaWJsZSBOVUxMIHBvaW50ZXIgZGVyZWZlcmVuY2UgYW5kIGFzc2VydGlvbiB0aGF0IGNvdWxkIGJlIGNhdXNlZCBieSBpbnZhbGlkIGZpbGVzCgoyMDEwLTA2LTE2IDE5OjUwOjM0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYWRlbXV4OiBDbGVhbiB1cC9maXggc29tZSBtaW5vciBlcnJvciBoYW5kbGluZyBidWdzCgoyMDEwLTA2LTE2IDE5OjMwOjI1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy94aW1hZ2UvZ3N0eGltYWdlc3JjLmM6CgkgIHhpbWFnZXNyYzogRml4IE5VTEwgcG9pbnRlciBkZXJlZmVyZW5jZSB3aGVuIGFsbG9jYXRpb24gb2YgdGhlIHhpbWFnZSBmYWlscwoKMjAxMC0wNi0xNiAxOToyODowNCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmxhYy9nc3RmbGFjdGFnLmM6CgkgIGZsYWN0YWc6IEZpeCBwb3NzaWJsZSBOVUxMIHBvaW50ZXIgZGVyZWZlcmVuY2UKCjIwMTAtMDYtMTYgMTk6MjQ6NTQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvZngvYXVkaW9paXJmaWx0ZXIuYzoKCSAgYXVkaW9paXJmaWx0ZXI6IEZpeCBwb3NzaWJsZSBOVUxMIHBvaW50ZXIgZGVyZWZlcmVuY2UKCjIwMTAtMDYtMTYgMTk6MjA6MDIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2VmZmVjdHYvZ3N0d2FycC5jOgoJICB3YXJwdHY6IERvbid0IHVzZSBmbG9hdHMgYXMgbG9vcCBjb3VudGVycwoKMjAxMC0wNi0xNiAxMToyMTozNSAtMDQwMCAgSGF2b2MgUGVubmluZ3RvbiA8aHBAcG9ib3guY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICB2NGwyc3JjOiBkbyBub3QgdHJ5IHRvIGNoYW5nZSBkZXZpY2UgZm9ybWF0IGlmIGl0J3MgYWxyZWFkeSBjb3JyZWN0CgkgIFRoaXMgYWxsb3dzIHNldF9jYXBzIHRvIHN1Y2NlZWQgaWYgY2FwcyBjaGFuZ2UgaW4gYSB3YXkgdGhhdAoJICB3b3VsZCBub3QgbW9kaWZ5IHRoZSBmb3JtYXQgd2UncmUgZ2V0dGluZyBmcm9tIHRoZSBoYXJkd2FyZS4KCSAgT3RoZXJ3aXNlIGlmIG5vdCBpbiBOVUxMIHN0YXRlLCBzZXR0aW5nIGNhcHMgd291bGQgZmFpbAoJICB3aXRoIEVCVVNZLgoJICBXaXRoIHRoaXMgY2hhbmdlLCBpbiBzb21lIGNhc2VzIGl0J3MgT0sgdG8gZ28gUExBWUlORy0+UkVBRFktPlBMQVlJTkcKCSAgcmF0aGVyIHRoYW4gUExBWUlORy0+TlVMTC0+UExBWUlORyB0byBhdm9pZCBhIHRpbWUtY29uc3VtaW5nIGNsb3NlCgkgIGFuZCByZW9wZW4gb2YgdGhlIGRldmljZS4KCSAgRml4ZXMgIzYyMTcyMwoKMjAxMC0wNi0xNiAxMTowOToxNyAtMDQwMCAgSGF2b2MgUGVubmluZ3RvbiA8aHBAcG9ib3guY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJICB2NGwyc3JjOiBpbiBuZWdvdGlhdGUsIGNoZWNrIGZvciBlcnJvciByZXR1cm4gZnJvbSBzZXRfY2FwcwoJICBGaXhlcyAjNjIxNzIzICAocGFydGlhbGx5KQoJICBzZXRfY2FwcyBjYW4gZmFpbCBpZiB0aGUgdmlkZW8gZGV2aWNlIGlzIHJ1bm5pbmcsIGluIHRoYXQgY2FzZQoJICBzZXR0aW5nIGl0cyBmb3JtYXQgbGVhZHMgdG8gRUJVU1kuCgkgIElmIHNldF9jYXBzIGZhaWxzIHRoZW4gd2Ugd2lsbCBub3QgaGF2ZSBzZXQgdXAgdGhlIGJ1ZmZlciBwb29sCgkgIChpdCB3aWxsIGJlIE5VTEwpIHdoaWNoIGxlYWRzIHRvIGEgY3Jhc2ggd2hlbiB3ZSB0cnkgdG8gcHVsbAoJICBidWZmZXJzLiBJZiB3ZSBmYWlsIHRoZSBuZWdvdGlhdGUgb24gc2V0X2NhcHMgZmFpbHVyZSwgdGhlbiB3ZQoJICB3b24ndCBnbyB0byBwbGF5aW5nIHN0YXRlIGFuZCB3b24ndCBjcmFzaC4KCSAgVGhpcyBpcyBhIHNtYWxsIGltcHJvdmVtZW50LiBPZiBjb3Vyc2UsIGEgbmljZXIgZml4IHdvdWxkCgkgIGJlIHRvIG1ha2Ugc2V0X2NhcHMgd29yayBpbiB0aGUgY2FzZSB3aGVyZSB0aGUgZm9ybWF0IGlzCgkgIHVuY2hhbmdlZC4gSWYgdGhlIGZvcm1hdCBoYXMgY2hhbmdlZCwgZmFpbGluZyBpcwoJICBwcm9iYWJseSBjb3JyZWN0IGJlY2F1c2Ugd2UgbmVlZCB0byBjbG9zZSB0aGUgZGV2aWNlCgkgIChnbyB0byBOVUxMIHN0YXRlKSBpbiBvcmRlciB0byBzZXQgY2Fwcy4KCjIwMTAtMDYtMTYgMTU6NDA6MzQgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICBhdmlkZW11eDogaW1wcm92ZSBhdWRpbyB2YnIgZGV0ZWN0aW9uCgkgIFN1YnNlcXVlbnQgZW50cnkgdGltZSBjYWxjdWxhdGlvbnMgdXNlIGJsb2NrYWxpZ24gdmFsdWUgdG8gZGV0ZXJtaW5lCgkgIG51bWJlciBvZiBmcmFtZXMgcGVyIGNodW5rLCBhbmQgYmxvY2thbGlnbiA9PSAxIGlzIHRoZW4gbW9zdCB1bmxpa2VseSB0byByZXN1bHQKCSAgaW4gcmVhc29uYWJsZSB2YWx1ZXMgKHdoaWNoIGFsc28gYWxpZ25zIHdpdGggInNwZWMiKS4KCjIwMTAtMDYtMTYgMTU6NTI6NTcgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBoMjY0ZGVwYXkuYzoKCSAgcnRwaDI2NGRlcGF5OiB0d2VhayBERUxUQV9VTklUIGxhYmVsaW5nCgkgIENvbnNpZGVyIFNQUywgUFBTIGFuZCBJRFIgYXMga2V5ZnJhbWUsIGFsbCBvdGhlcnMgYXMgREVMVEFfVU5JVC4KCSAgU2VlICM2MjAxNTQuCgoyMDEwLTA2LTE1IDIwOjA2OjE3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tkZWMuYzoKCSAgd2F2cGFja2RlYzogSW5pdGlhbGl6ZSB1bmluaXRpYWxpemVkIHZhcmlhYmxlIGFuZCBkb24ndCB1bnJlZiBpdCBpZiBpdCdzIE5VTEwKCjIwMTAtMDYtMTUgMjA6MDQ6MzUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICBhdmlkZW11eDogQXNzaWduIHZhcmlhYmxlcyBiZWZvcmUgcHJpbnRpbmcgdGhlbQoKMjAxMC0wNi0xNSAyMDowMDoyOCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzoKCSAgd2F2cGFyc2U6IEluaXRpYWxpemUgdW5pbml0aWFsaXplZCB2YXJpYWJsZQoKMjAxMC0wNi0xNSAxOTo0NzoxNiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIHY0bDI6IEluaXRpYWxpemUgdmFyaWFibGUKCjIwMTAtMDYtMTUgMTk6NDU6MzYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2VuYy5jOgoJICBmbGFjZW5jOiBGaXggTkVXU0VHTUVOVCBwYXJzaW5nIGxvZ2ljIGFuZCBkb24ndCB1c2UgdW5pbml0aWFsaXplZCB2YXJpYWJsZXMKCjIwMTAtMDYtMTUgMTc6MjA6MjAgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvbWF0cm9za2EvZWJtbC1yZWFkLmM6CgkgIG1hdHJvc2thOiBGaXggdW5pdGlhbGl6ZWQgdmFyaWFibGUKCjIwMTAtMDYtMTUgMTY6NDk6NDkgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIDkzMzljY2MgdG8gMzU2MTdjMgoKMjAxMC0wNi0xNSAxNjo1NDowNCArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSA1YWRiMWNhIHRvIDkzMzljY2MKCjIwMTAtMDYtMTUgMTY6MzU6MTggKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gNTdjODliNyB0byA1YWRiMWNhCgoyMDEwLTA2LTE1IDE0OjA4OjI2ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIC5naXRpZ25vcmU6CgkgIC5naXRpZ25vcmU6IGlnbm9yZSBnZW5lcmF0ZWQgdHZ0aW1lLmggZmlsZQoKMjAxMC0wNi0xNSAxNTozNjozMyArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSBjODA0OTg4IHRvIDU3Yzg5YjcKCjIwMTAtMDUtMTcgMTM6NTQ6MDMgKzAyMDAgIE1hcmMtQW5kcsOpIEx1cmVhdSA8bWx1cmVhdUBmbHVtb3Rpb24uY29tPgoKCSogZXh0L3JhdzEzOTQvZ3N0MTM5NGNsb2NrLmM6CgkqIGV4dC9yYXcxMzk0L2dzdDEzOTRjbG9jay5oOgoJICByYXcxMzk0OiByZW1vdmUgdXNlbGVzcyBsYXN0X3RpbWUKCSAgSXQgc2VlbXMgdG8gbWUgdGhpcyBjb2RlIGlzIHVzZWxlc3M6IHJlbW92aW5nIGl0LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjE4ODcxCgoyMDEwLTA2LTE0IDE5OjIxOjIyICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmg6CgkgIHJ0c3BzcmM6IHJlc3BlY3QgYWdncmVnYXRlIGNvbnRyb2wgYXR0cmlidXRlcwoJICB3aGVuIHRoZSBTRFAgc3BlY2lmaWVzIGFuIGFnZ3JlZ2F0ZSBjb250cm9sIHVybCwgdXNlIHRoYXQgZm9yIHBsYXliYWNrCgkgIGNvbnRyb2wuCgkgIEZpeGVzICM2MTk1MzEKCjIwMTAtMDYtMTQgMTU6MzY6MDAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2dvb20vZ3N0Z29vbS5jOgoJICBnb29tOiBDYWxsIG9yY19pbml0KCkgYmVmb3JlIHRyeWluZyB0byBnZXQgdGFyZ2V0IGZsYWdzCgoyMDEwLTA2LTE0IDE1OjM1OjA4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5jOgoJICBkZWludGVybGFjZTogQ2FsbCBvcmNfaW5pdCgpIGJlZm9yZSB0cnlpbmcgdG8gZ2V0IHRhcmdldCBmbGFncwoKMjAxMC0wNi0xNCAxNDoyNjoyMiArMDEwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvbWF0cm9za2FtdXguYzoKCSAgbWF0cm9za2FtdXg6IHJldmVydCBjaGFuZ2UgdGhhdCBzZXQgYSByZXNlcnZlZCBmbGFnIG9uIHRoZSBCbG9jay4KCSAgU28gbWF0cm9za2EncyBCbG9jayBzdHJ1Y3R1cmUgaGFzIG5vIGtleWZyYW1lIGZsYWcsIG9ubHkgdGhlIFNpbXBsZUJsb2NrIGhhcyBpdC4KCSAgVG8gZGV0ZWN0IGtleWZyYW1lcyBpbiBCbG9ja3MsIGl0IGlzIGp1c3QgdGhlIEJsb2NrR3JvdXAgY29udGFpbmVyIHRoYXQgbmVlZHMKCSAgdG8gaGF2ZSBhIFJlZmVyZW5jZUJsb2NrIGF0dGFjaGVkIGlmIGl0IGlzIGEgZGVsdGEgZnJhbWUgaW4gdmlkZW8uCgoyMDEwLTA1LTMxIDEyOjQ1OjAxICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9qcGVnL2dzdGpwZWdkZWMuYzoKCSogZXh0L2pwZWcvZ3N0anBlZ2RlYy5oOgoJICBqcGVnZGVjOiB1c2UgbGlianBlZyBzY2F0dGVyLWdhdGhlciBvcGVyYXRpb24gdG8gYXZvaWQgZGF0YSBjb3B5aW5nCgkgIEZpeGVzICM1ODMwNDcgKG1vcmUpLgoKMjAxMC0wNS0yNyAxNTo0NToyMyArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvanBlZy9nc3RqcGVnZGVjLmM6CgkqIGV4dC9qcGVnL2dzdGpwZWdkZWMuaDoKCSAganBlZ2RlYzogb3B0aW1pemUgYnVmZmVyIGhhbmRsaW5nIHdoZW4gcGFyc2luZwoJICBVc2UgYW4gYWRhcHRlciB0byBjb2xsZWN0IGluY29taW5nIGRhdGEsIGFuZCB1c2UgYWRhcHRlciBBUEkgdG8gc2NhbiBhbmQgcGVlay4KCSAgRml4ZXMgIzU4MzA0Ny4KCjIwMTAtMDYtMTQgMTM6NDg6MjggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL29zczQvb3NzNC1taXhlci5jOgoJICBvc3M0OiBVc2UgZ19hc2NpaV9zdHJjYXNlY21wKCkgaW5zdGVhZCBvZiB0aGUgZGVwcmVjYXRlZCBnX3N0cmNhc2VjbXAoKQoKMjAxMC0wNi0xNCAxMzoyNzozMCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogVXNlIEdMSUJfRVhUUkFfQ0ZMQUdTCgoyMDEwLTA2LTE0IDEzOjAzOjU3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gN2EwZmRmNSB0byBjODA0OTg4CgoyMDEwLTA2LTE0IDExOjQ2OjMyICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2NGRlcGF5LmM6CgkgIHJ0cGgyNjRkZXBheTogYWxzbyBjb25zaWRlciBBVSBhbmQgU0VJIE5BTFVzIGFzIERFTFRBX1VOSVQKCSAgRml4ZXMgIzYyMDE1NC4KCjIwMTAtMDYtMTQgMTE6MzI6NDMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSA2ZGEzYmFiIHRvIDdhMGZkZjUKCjIwMTAtMDYtMTIgMjE6MjY6MTYgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9ydHAvZ3N0cnRwbXBhcm9idXN0ZGVwYXkuYzoKCSAgYnVpbGQ6IGluY2x1ZGUgc3RkaW8uaCBmb3Igc3NjYW5mCgoyMDEwLTA2LTEyIDE0OjEyOjUwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICB0ZXN0czogQWRkIGNsZWFuIHJ1bGUgZm9yIHRoZSBvcmMgdGVzdHMKCjIwMTAtMDYtMTIgMTQ6MTI6MDQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgIHRlc3RzOiBBZGQgYXV0b2dlbmVyYXRlZCBvcmMgdGVzdHMKCjIwMTAtMDYtMTIgMDg6Mjc6NDIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSA3MzNmY2E5IHRvIDZkYTNiYWIKCjIwMTAtMDYtMTEgMTY6MjM6MjkgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJICB2NGwyc3JjOiBGaXggZWxlbWVudCBkZXNjcmlwdGlvbgoKMjAxMC0wNi0xMSAyMToxMzo1OSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cG1wYXJvYnVzdGRlcGF5LmM6CgkgIHJ0cG1wYXJvYnVzdGRlcGF5OiBkb24ndCB0cnkgdG8gdW5yZWYgTlVMTCBidWZmZXJzCgkgIEZpeGVzIGdlbmVyaWMvc3RhdGVzIHVuaXQgdGVzdC4KCjIwMTAtMDYtMTEgMjA6NTA6MjMgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6CgkgIHdhdnBhcnNlOiB1c2UgdHlwZWZpbmQgZnVuY3Rpb25zIHRvIGNoZWNrIGlmIFBDTSBkYXRhIGNvbnRhaW5zIGR0cyBzdHJlYW0KCSAgVXNlIG5ldyBkdHMgYXVkaW8gdHlwZWZpbmRlciBmcm9tIC1iYXNlIHRvIGNoZWNrIGlmIHRoZSBQQ00gZGF0YQoJICBjb250YWlucyBhIGR0cyBzdHJlYW0uIFRoaXMgd2F5IHdlIHJlY29nbmlzZSBtb3JlIHZhcmlldGllcyBtb3JlCgkgIHJlbGlhYmx5IGFuZCBhbHNvIGRldGVjdCB0aGUgZHRzIHN0cmVhbSBpZiB0aGVyZSBpc24ndCBhIGZyYW1lCgkgIHN5bmMgcmlnaHQgYXQgdGhlIHN0YXJ0IG9mIHRoZSBkYXRhLgoJICBGaXhlcyAjNDEzOTQyLgoKMjAxMC0wNi0xMSAyMDo0NzoyMiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzoKCSAgd2F2cGFyc2U6IHNldCBidWZmZXIgb2Zmc2V0cyBiZWZvcmUgdXNpbmcgdGhlIGJ1ZmZlciBmb3IgdGhlIGZpcnN0IHRpbWUKCSAgZ3N0X3R5cGVfZmluZF9oZWxwZXJfZm9yX2J1ZmZlcigpIHdpbGwgbmVlZCB0aGUgY29ycmVjdCBvZmZzZXQKCSAgc2V0IG9uIHRoZSBidWZmZXIgKGllLiAwKSBhbmQgbm90IHRoZSBieXRlIG9mZnNldCB3ZSBzdGFydGVkCgkgIHB1bGxpbmcgdGhlIGRhdGEgZnJvbS4KCjIwMTAtMDYtMTAgMTY6MTQ6NDMgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9NYWtlZmlsZS5hbToKCSogZ3N0L3J0cC9nc3RydHAuYzoKCSogZ3N0L3J0cC9nc3RydHBtcGFyb2J1c3RkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wYXJvYnVzdGRlcGF5Lmg6CgkgIHJ0cDogYWRkIG1wYS1yb2J1c3QgZGVwYXlsb2FkZXIKCSAgRml4ZXMgIzU4OTk5Ny4KCjIwMTAtMDYtMTEgMTA6NTc6NDEgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F2aS9nc3RhdmltdXguYzoKCSAgYXZpbXV4OiBmaXggYXZpIGhlYWRlciBieXRld3JpdGluZwoJICAuLi4gYnkgdXNpbmcgcHJvcGVyIG9mZnNldHMgZm9yIHRhZyBsaXN0IHdyaXRpbmcuCgkgIEFsc28gdXNlIF9yZXNldCByYXRoZXIgdGhhbiBfZnJlZSBhbmQgY29uc2lzdGVudGx5IHVzZSBieXRld3JpdGVyIHBvc2l0aW9uLgoJICBTZWUgIzYxOTI5My4KCjIwMTAtMDYtMTAgMjI6NTg6NDEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogLmdpdGlnbm9yZToKCSAgVXBkYXRlIC5naXRpZ25vcmUKCSAgQWRkIHRoZSBnZW5lcmF0ZWQgb3JjIHNvdXJjZSBmaWxlcwoKMjAxMC0wNi0xMCAyMjo1NToxNyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9tYXRyb3NrYW11eC5jOgoJICBtYXRyb3NrYW11eDogRml4IHVuaXQgdGVzdCBmb3IgY2hhbmdlZCBrZXktZnJhbWUgYmVoYXZpb3VyCgkgIEFsbCBhdWRpbyBmcmFtZXMgYXJlIG1hcmtlZCBhcyBrZXlmcmFtZSBub3cgaW5zdGVhZCBvZiBtYXJraW5nCgkgIHRoZW0gYWxsIGFzIGRlbHRhIHVuaXQuLi4KCjIwMTAtMDYtMTAgMjI6NDU6MTMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvbWl4ZXIvTWFrZWZpbGUuYW06CgkqIGdzdC92aWRlb21peGVyL2JsZW5kLmM6CgkqIGdzdC92aWRlb21peGVyL2JsZW5kX21teC5oOgoJKiBnc3QvdmlkZW9taXhlci9ibGVuZG9yYy1kaXN0LmM6CgkqIGdzdC92aWRlb21peGVyL2JsZW5kb3JjLWRpc3QuaDoKCSogZ3N0L3ZpZGVvbWl4ZXIvYmxlbmRvcmMub3JjOgoJICB2aWRlb21peGVyOiBQb3J0IG1vc3QgYmxlbmRpbmcgcmVsYXRlZCBmdW5jdGlvbnMgdG8gb3JjCgkgIE9ubHkgcmVtYWluaW5nIE1NWCBpbXBsZW1lbnRhdGlvbiBpcyB0aGUgQVJHQi9CR1JBL0FZVVYgYmxlbmRpbmcKCSAgZm9yIHdoaWNoIHdlIGZpcnN0IG5lZWQgdGhlIG9yYyBjb21wb3NpdGluZyBvcGNvZGVzLgoKMjAxMC0wNi0xMCAyMDoxNzowNyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9taXhlci9ibGVuZF9tbXguaDoKCSAgdmlkZW9taXhlcjogUmVwbGFjZSBzb21lIHRhYnMgYnkgc3BhY2VzCgoyMDEwLTA2LTEwIDExOjA0OjM4ICswMTAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPGFtb3JhbGVzQGZsdW1vdGlvbi5jb20+CgoJKiBleHQvcmF3MTM5NC9nc3QxMzk0Y2xvY2suYzoKCSAgZHYxMzk0OiBGaXggdGhlIGludGVybmFsIGNsb2NrIGV2ZW4gbW9yZQoJICBUaGUgY3ljbGVDb3VudCByZWdpc3RlciBpcyAxMyBiaXRzIGxvbmcgYW5kIHRoZSBjeWNsZU9mZnNldCBvbmUKCSAgaXMgMTIgYml0cyBsb25nLiBUbyByZWFkIHRoZSBjeWNsZUNvdW50IHJlZ2lzdGVyIHdlIG5lZWQgdG8gc2hpZnQKCSAgMTIgYml0cyBhbmQgbm90IDEzLiBGaXhlcyAjNjE1NDYxCgoyMDEwLTA2LTA5IDE4OjM3OjI5IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiB1c2UgbTQgbWFjcm8gdG8gY2hlY2sgZm9yIE9yYwoKMjAxMC0wNi0wOSAyMjo0MDoyMyArMDIwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSAgbWF0cm9za2FtdXg6IHNvbWUgbm9uLWRlbHRhIGJ1ZmZlcnMgd2VyZSBub3QgbWFya2VkIGFzIGtleWZyYW1lcwoKMjAxMC0wNi0wOSAyMjowMDoxNiArMDIwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5oOgoJICBtYXRyb3NrYW11eDogY2hhbmdlIDIgc2Vjb25kIGxpbWl0IHBlciBjbHVzdGVyCgkgIFN0YXJ0IGNsdXN0ZXIgYXQgZXZlcnkga2V5ZnJhbWUgb3Igd2hlbiB3ZSB3b3VsZCBvdmVyZmxvdyB0aGUgcHJldmlvdXMKCSAgY2x1c3RlcidzIHJlbGF0aXZlIHRpbWVzdGFtcCBmaWVsZC4gVGhpcyB3b3VsZCBhdm9pZCBhcyBtdWNoIGFzIHBvc3NpYmxlCgkgIHN0YXJ0aW5nIGNsdXN0ZXJzIGF0IG5vbi1rZXlmcmFtZXMuCgoyMDEwLTA2LTA5IDEyOjQwOjA5IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gZmFkMTQ1YiB0byA3MzNmY2E5CgoyMDEwLTA2LTA5IDEyOjM0OjAxIC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gNDc2ODNjMSB0byBmYWQxNDViCgoyMDEwLTA2LTA5IDIwOjUzOjA2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSAgcHVsc2VzaW5rOiBEb24ndCByZXF1ZXN0IG1vcmUgc2hhcmVkIG1lbW9yeSB0aGFuIG5lZWRlZAoKMjAxMC0wNi0wOSAyMDo0NTowNCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZ2NvbmYvZ3N0c3dpdGNoc2luay5jOgoJICBzd2l0Y2hzaW5rOiBTZXQgdGhlIEdTVF9FTEVNRU5UX0lTX1NJTksgZmxhZyBvbiB0aGUgc2luawoKMjAxMC0wNi0wOSAyMDo0Mzo1MCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZ2NvbmYvZ3N0Z2NvbmZ2aWRlb3NpbmsuYzoKCSogZXh0L2djb25mL2dzdGdjb25mdmlkZW9zaW5rLmg6CgkgIGdjb25mdmlkZW9zaW5rOiBVc2UgR3N0U3dpdGNoU2luayBhcyBiYXNlIGNsYXNzCgoyMDEwLTA2LTA5IDIwOjMwOjMxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9nY29uZi9nc3RnY29uZmF1ZGlvc2luay5jOgoJICBnY29uZmF1ZGlvc2luazogVXNlIEdfUEFSQU1fU1RBVElDX1NUUklOR1MKCjIwMTAtMDYtMDkgMjA6Mjk6MDIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2djb25mL2dzdGdjb25mYXVkaW9zaW5rLmM6CgkqIGV4dC9nY29uZi9nc3RnY29uZmF1ZGlvc2luay5oOgoJICBnY29uZmF1ZGlvc2luazogUmVuYW1lIGluc3RhbmNlIHZhcmlhYmxlIHRvIGJlIG1vcmUgZGVzY3JpcHRpdmUKCjIwMTAtMDYtMDkgMjA6MjI6MzAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b2F1ZGlvc2luay5jOgoJKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvdmlkZW9zaW5rLmM6CgkgIGF1dG97YXVkaW8sdmlkZW99c2luazogRG9uJ3QgbG9zZSB0aGUgR1NUX0VMRU1FTlRfSVNfU0lOSyBmbGFnIGFmdGVyIHJlbW92aW5nIHRoZSBjaGlsZAoKMjAxMC0wNi0wOSAyMDowNzowOSArMDIwMCAgSnVsaWVuIE1vdXR0ZSA8anVsaWVuQGZsdWVuZG8uY29tPgoKCSogc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdHNvdW5kc2luay5jOgoJICBkaXJlY3Rzb3VuZHNpbms6IFBsdWcgc29tZSBtZW1sZWFrIGFuZCBzdXBwb3J0IDIyMDUwSHogbW9ubyBzb3VuZC4KCSAgU2VnbWVudCBzaXplIG5lZWRzIHRvIGJlIGEgbXVsdGlwbGUgb2YgdGhlIHNhbXBsZSBzaXplIGluIGJ5dGVzLgoKMjAxMC0wNi0wOSAxNjoyMjoyNyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkgIHB1bHNlc2luazogRmx1c2ggc2htIGJ1ZmZlciBpbW1lZGlhdGVseSBpZiBpdCdzIGZ1bGwKCjIwMTAtMDYtMDkgMTY6MjE6NTUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJICBwdWxzZXNpbms6IEZpeCB3cml0aW5nIG9mIGJ1ZmZlcnMgbGFyZ2VyIHRoYW4gc2Vnc2l6ZQoJICBGaXhlcyBidWcgIzYyMDU0MC4KCjIwMTAtMDYtMDkgMTU6NDI6MzcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJICBwdWxzZXNpbms6IEZpeCBwbGF5YmFjayBpZiBQQSBkb2Vzbid0IGdpdmUgdXMgYSBsYXJnZSBlbm91Z2ggc2hhcmVkIG1lbW9yeSBidWZmZXIKCjIwMTAtMDYtMDkgMTU6NDI6MTkgKzAyMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguaDoKCSAgbWF0cm9za2FtdXg6IGNoYW5nZSBpbmRleGVkIHByb3BlcnR5IHRvIHN0cmVhbWFibGUKCSAgVGhlIHByb3BlcnR5IHN0cmVhbWFibGUgaGFzIHJldmVyc2Ugc2VtYW50aWNzIHRvIGluZGV4ZWQuCgoyMDEwLTA2LTA5IDA5OjEzOjA5IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9mbHYvZ3N0Zmx2bXV4LmM6CgkqIGdzdC9mbHYvZ3N0Zmx2bXV4Lmg6CgkgIGZsdm11eDogUmVuYW1lIHVucmVsZWFzZWQgcHJvcGVydHkgJ2luZGV4ZWQnIHRvICdzdHJlYW1hYmxlJwoJICBSZW5hbWUgJ2luZGV4ZWQnIHRvICdzdHJlYW1hYmxlJyBmb3IgYSBiZXR0ZXIgbmFtZSB3aGlsZSBpdAoJICBoYXNuJ3QgYmVlbiByZWxlYXNlZAoKMjAxMC0wNi0wOCAxNToyMzo1MSAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBSRVFVSVJFTUVOVFM6CgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiByZW1vdmUgbGlib2lsIGNoZWNrCgoyMDEwLTA2LTA4IDE0OjQ0OjE5IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9sZXZlbC9nc3RsZXZlbC5jOgoJICBsZXZlbDogcmVtb3ZlIHVudXNlZCBsaWJvaWwgaW5jbHVkZQoKMjAxMC0wNi0wNCAxODoyMjo0MiAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvdmlkZW9taXhlci9NYWtlZmlsZS5hbToKCSogZ3N0L3ZpZGVvbWl4ZXIvYmxlbmQuYzoKCSAgdmlkZW9taXhlcjogbGlib2lsIHRvIG9yYyBjb252ZXJzaW9uCgoyMDEwLTA2LTA0IDE4OjIxOjIxIC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC92aWRlb2JveC9NYWtlZmlsZS5hbToKCSogZ3N0L3ZpZGVvYm94L2dzdHZpZGVvYm94LmM6CgkqIGdzdC92aWRlb2JveC9nc3R2aWRlb2JveG9yYy1kaXN0LmM6CgkqIGdzdC92aWRlb2JveC9nc3R2aWRlb2JveG9yYy1kaXN0Lmg6CgkqIGdzdC92aWRlb2JveC9nc3R2aWRlb2JveG9yYy5vcmM6CgkgIHZpZGVvYm94OiBsaWJvaWwgdG8gb3JjIGNvbnZlcnNpb24KCjIwMTAtMDYtMDQgMTg6MTY6MjUgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L2dvb20vTWFrZWZpbGUuYW06CgkqIGdzdC9nb29tL1JFQURNRToKCSogZ3N0L2dvb20vZ3N0Z29vbS5jOgoJKiBnc3QvZ29vbS9wbHVnaW5faW5mby5jOgoJICBnb29tOiBsaWJvaWwgdG8gb3JjIGNvbnZlcnNpb24KCjIwMTAtMDYtMDggMTY6MDQ6MjMgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L2RlaW50ZXJsYWNlL01ha2VmaWxlLmFtOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lLWRpc3QuYzoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS1kaXN0Lmg6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUub3JjOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL2xpbmVhci5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL2xpbmVhcmJsZW5kLmM6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvdmZpci5jOgoJICBkZWludGVybGFjZTogb3JjaWZ5IHNvbWUgZGVpbnRlcmxhY2luZyBtZXRob2RzCgoyMDEwLTA2LTA4IDE2OjAzOjM2IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9kZWludGVybGFjZS9NYWtlZmlsZS5hbToKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmM6CgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5oOgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2VtZXRob2QuYzoKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlbWV0aG9kLmg6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvZ3JlZWR5LmM6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvZ3JlZWR5aC5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL2xpbmVhci5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL2xpbmVhcmJsZW5kLmM6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvc2NhbGVyYm9iLmM6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvdG9tc21vY29tcC5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL3ZmaXIuYzoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS93ZWF2ZS5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL3dlYXZlYmZmLmM6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvd2VhdmV0ZmYuYzoKCSAgZGVpbnRlcmxhY2U6IGNvbnZlcnQgZnJvbSBsaWJvaWwgdG8gb3JjCgoyMDEwLTA2LTA4IDE1OjIzOjI4IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIFJFUVVJUkVNRU5UUzoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IEFkZCBvcmMgY2hlY2sKCjIwMTAtMDYtMDggMTQ6MDk6MDAgKzAyMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJKiBnc3QvZmx2L2dzdGZsdm11eC5jOgoJKiBnc3QvZmx2L2dzdGZsdm11eC5oOgoJICBmbHZtdXg6IEFkZCBpbmRleGVkIHByb3BlcnR5IHRvIHJlcGxhY2UgZGlzYWJsZWQgaXMtbGl2ZS4KCSAgQWRkIGluZGV4ZWQgcHJvcGVydHkgdG8gYmUgdGhlIG5lZ2F0aW9uIG9mIHdoYXQgdGhlIGRpc2FibGVkIGlzLWxpdmUgcHJvcGVydHkKCSAgd2FzLiBGaXhlcyBidWcgIzYxMzA2Ni4KCjIwMTAtMDYtMDggMDk6MjI6MzAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICByYXcxMzk0OiBSZXF1aXJlIGxpYnJhdzEzOTQgPj0gMi4wLjAgZm9yIHJhdzEzOTRfcmVhZF9jeWNsZV90aW1lcgoJICBGaXhlcyBidWcgIzYyMDkyOS4KCjIwMTAtMDYtMDggMDc6MzU6MDAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2Fubm9kZXgvZ3N0Y21tbGVuYy5jOgoJICBjbW1sZW5jOiBSZW1vdmUgaGFjayB0byBsZXQgb2dnbXV4IHN0YXJ0IGEgbmV3IHBhZ2UgZm9yIGV2ZXJ5IENNTUwgYnVmZmVyCgkgIG9nZ211eCBkb2VzIHRoaXMgZm9yIENNTUwgYnkgaXRzIG93biBub3cKCjIwMTAtMDYtMDcgMTg6MzI6MTYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOgoJICBmbHZkZW11eDogRG9uJ3QgaGFuZGxlIG5vbi1USU1FIHNlZWtzCgkgIERvbid0IHNlbmQgdGhlbSB1cHN0cmVhbSBiZWNhdXNlIGZvciB1cHN0cmVhbSBhIEJZVEVTIHNlZWsKCSAgbWlnaHQgbWFrZSBzZW5zZSBidXQgaXMgY29tcGxldGVseSB3cm9uZyBiZWNhdXNlIHVwc3RyZWFtCgkgIGNhbid0IHNlZWsgdG8gYSBieXRlIHBvc2l0aW9uIG9mIHRoZSBhdWRpbyBvciB2aWRlbyBzdHJlYW0uCgkgIEFsc28gZG9uJ3QgYnVpbGQgdGhlIGluZGV4IGluIHB1c2ggbW9kZSBmb3Igbm9uLVRJTUUgc2Vla3MsCgkgIHRoaW5ncyB3aWxsIGdvIHdyb25nIGhlcmUgb3RoZXJ3aXNlLgoKMjAxMC0wNi0wNyAxMToxNToyNiAtMDQwMCAgT2xpdmllciBDcsOqdGUgPHRlc3RlckB0ZXN0ZXIuY2E+CgoJKiBnc3QvZHRtZi9nc3RkdG1mZGV0ZWN0LmM6CgkqIGdzdC9kdG1mL2dzdGR0bWZkZXRlY3QuaDoKCSAgZHRtZmRldGVjdDogT25seSB3b3JrcyB3aXRoIHJhdGU9ODAwMCwgZml4IGluIGNhcHMKCjIwMTAtMDYtMDIgMTk6MTY6MjAgKzAxMDAgIFNqb2VyZCBTaW1vbnMgPHNqb2VyZC5zaW1vbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBoMjY0cGF5LmM6CgkgIENvcGUgd2l0aCBzaG9ydCBzdGFydGNvZGVzIGluIHRoZSBoMjY0IGJ5dGVzdHJlYW0KCjIwMTAtMDYtMDYgMTc6MjU6MTYgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJICBwdWxzZTogbG9nIG1lc3NhZ2UgcHJpbnRmIGZvcm1hdCBmaXhlcwoKMjAxMC0wNi0wNiAxODowMDoyMiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZHYvZ3N0ZHZkZW11eC5jOgoJKiBleHQvcHVsc2UvcHVsc2VtaXhlci5jOgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkqIGV4dC9wdWxzZS9wdWxzZXNyYy5jOgoJKiBleHQvc3BlZXgvZ3N0c3BlZXhlbmMuYzoKCSogZXh0L3RhZ2xpYi9nc3R0YWdsaWJtdXguYzoKCSogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2RlYy5jOgoJKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZW5jLmM6CgkqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2twYXJzZS5jOgoJICBleHQ6IERvbid0IHVzZSBHU1RfREVCVUdfRlVOQ1BUUiBmb3IgR09iamVjdCB2ZnVuY3MKCjIwMTAtMDYtMDYgMTc6NTc6MDMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdHNvdW5kc2luay5jOgoJKiBzeXMvb3NzL2dzdG9zc2RtYWJ1ZmZlci5jOgoJKiBzeXMvb3NzL2dzdG9zc3NpbmsuYzoKCSogc3lzL29zcy9nc3Rvc3NzcmMuYzoKCSogc3lzL29zczQvb3NzNC1zaW5rLmM6CgkqIHN5cy9vc3M0L29zczQtc291cmNlLmM6CgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hhdWRpb3NpbmsuYzoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGF1ZGlvc3JjLmM6CgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hyaW5nYnVmZmVyLmM6CgkqIHN5cy9zdW5hdWRpby9nc3RzdW5hdWRpb3NpbmsuYzoKCSogc3lzL3N1bmF1ZGlvL2dzdHN1bmF1ZGlvc3JjLmM6CgkqIHN5cy93YXZlZm9ybS9nc3R3YXZlZm9ybXNpbmsuYzoKCSAgc3lzOiBEb24ndCB1c2UgR1NUX0RFQlVHX0ZVTkNQVFIgZm9yIEdPYmplY3QgdmZ1bmNzCgoyMDEwLTA2LTA2IDE3OjUyOjQwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG9hdWRpb3NpbmsuYzoKCSogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b2F1ZGlvc3JjLmM6CgkqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG92aWRlb3NpbmsuYzoKCSogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b3ZpZGVvc3JjLmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL2JyZWFrbXlkYXRhLmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdHRhZ2luamVjdC5jOgoJKiBnc3QvZGVidWd1dGlscy9ybmRidWZmZXJzaXplLmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL3Rlc3RwbHVnaW4uYzoKCSogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwcHRkZW11eC5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzc3JjZGVtdXguYzoKCSogZ3N0L3ZpZGVvZmlsdGVyL2dzdHZpZGVvYmFsYW5jZS5jOgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyLmM6CgkgIGdzdDogRG9uJ3QgdXNlIEdTVF9ERUJVR19GVU5DUFRSIGZvciBHT2JqZWN0IHZmdW5jcwoKMjAxMC0wNi0wNiAxNToxMjoxNiArMDIwMCAgUGhpbGlwIErDpGdlbnN0ZWR0IDxwaGlsaXBqQG9wZXJhLmNvbT4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYWRlbXV4OiByZWZhY3RvciBkZWx0YSB1bml0IGhhbmRsaW5nCgkgIFRoaXMgYWxsb3dzIHVzIHRvIHNraXAgZGVsdGEgdW5pdHMgZWFybGllciBhbmQgaXMgYSBiaXQgY2xlYXJlciBpbiBteQoJICBvcGluaW9uLiBJdCBhbHNvIG1ha2VzIG9ubHkgdmlkZW8gYnVmZmVycyBldmVyIGJlIGRlbHRhIHVuaXRzLCBub3QKCSAganVzdCBmb3IgU2ltcGxlQmxvY2sgYXMgYmVmb3JlLgoKMjAxMC0wNi0wNiAxNToxNzowMCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6CgkgIGZsdmRlbXV4OiBDbGVhciBhZGFwdGVyIG9uIGRpc2NvbnRpbnVpdGllcwoKMjAxMC0wNi0wNiAxNDowMzo1MyArMDIwMCAgUGhpbGlwIErDpGdlbnN0ZWR0IDxwaGlsaXBqQG9wZXJhLmNvbT4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYWRlbXV4OiBJZ25vcmUga2V5ZnJhbWUgZmxhZyBmb3Igbm9uLXZpZGVvIHN0cmVhbXMKCSAgV2hlbiB0aGUga2V5ZnJhbWUgYml0IG9mIFNpbXBsZUJsb2NrIEZsYWdzIHdhc24ndCBzZXQsIHRoZSBidWZmZXIgd2FzIGJlaW5nCgkgIG1hcmtlZCB3aXRoIEdTVF9CVUZGRVJfRkxBR19ERUxUQV9VTklULCBjYXVzaW5nIGFsbCBidWZmZXJzIHRvIGJlIHNraXBwZWQKCSAgYWZ0ZXIgYSBzZWVrLiBUaGlzIG1heSBiZSBhIHByb2JsZW0gd2l0aCB0aGUgU29yZW5zb24gU3F1aXNoIGVuY29kZXIsIGJ1dAoJICBhcmd1YWJseSB0aGUga2V5ZnJhbWUgYml0IHNob3VsZCBvbmx5IGJlIGFwcGxpZWQgdG8gdmlkZW8uCgkgIEZpeGVzIGJ1ZyAjNjIwMzU4LgoKMjAxMC0wNi0wNiAxNDo1Njo1MiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6CgkgIGZsdmRlbXV4OiBGaXJzdCB0cnkgdXBzdHJlYW0gd2hlbiBoYW5kbGluZyBzZWVrIGV2ZW50cy9xdWVyaWVzCgoyMDEwLTA2LTA0IDE0OjU0OjU5IC0wNDAwICBUcmlzdGFuIE1hdHRoZXdzIDx0cmlzdGFuQHNhdC5xYy5jYT4KCgkqIGdzdC9ydHAvZ3N0cnRwY2VsdHBheS5jOgoJICBnc3RydHBjZWx0cGF5OiBkb24ndCBhbHdheXMgZml4YXRlIHNpbmsgY2FwcyB0byAxIGNoYW5uZWwKCSAgVGhlIGdldGNhcHMgZnVuY3Rpb24gc2hvdWxkIG5vdCBmaXhhdGUgdGhlIGNoYW5uZWxzIGZpZWxkIHVudGlsIHdlCgkgIGdldCB0aGUgZW5jb2RpbmctcGFyYW1zIGZpZWxkIGZyb20gb3VyIHNyY3BhZCdzIGNhcHMuIEZpeGVzICM2MjA1OTEKCjIwMTAtMDYtMDQgMTM6NTc6MjggKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3A6IHRyeSBhbGwgcmFuZ2VzIGZyb20gdGhlIHNkcAoJICBUcnkgYWxsIHJhbmdlcyBpbiB0aGUgU0RQIGJlZm9yZSBnaXZpbmcgdXAuCgoyMDEwLTA2LTA0IDEzOjU2OjA3ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBtYWtlIHBhcnNlX3JhbmdlIHJldHVybiByZXN1bHQKCSAgTWFrZSB0aGUgcGFyc2VfcmFuZ2UgZnVuY3Rpb24gcmV0dXJuIGlmIHRoZSBwYXJzaW5nIHN1Y2NlZWRlZCBvciBmYWlsZWQuCgoyMDEwLTA2LTA0IDExOjQ0OjA5ICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlci5jOgoJICB2aWRlb21peGVyOiBpZiB3ZSdyZSBub3QgbGlua2VkIGRvd25zdHJlYW0sIHdlIGNhbiBkbyBhbnkgZm9ybWF0CgkgIFN0dXBpZCBtZSwgYXNzdW1pbmcgX2dldF9hbGxvd2VkX2NhcHMoKSB3b3VsZCBhY3R1YWxseSByZXR1cm4gdGhlCgkgIHBhZCB0ZW1wbGF0ZXMgaWYgdGhlcmUgd2FzIG5vIHBlZXIuCgoyMDEwLTA1LTMxIDE2OjI2OjE5ICswMTAwICBTam9lcmQgU2ltb25zIDxzam9lcmQuc2ltb25zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwdGhlb3JhcGF5LmM6CgkgIEtlZXAgYW5ub3VuY2luZyB0aGUgZGVsaXZlcnktbWV0aG9kIGluIHRoZSBjYXBhYmlsaXRpZXMKCSAgRXZlbiB0aG91Z2ggd2UgZG9uJ3QgdXNlIGRlbGl2ZXJ5LW1ldGhvZCBpbiBvdXIgcGF5bG9hZGVyLCBvbGRlciB2ZXJzaW9ucyBvZgoJICB0aGUgdGhlb3JhIHBheWxvYWRlciBpbiBnc3RyZWFtZXIgcmVxdWlyZWQgaXQuIEFzIHN1Y2ggd2UgbmVlZCB0byBrZWVwIHRoaXMKCSAgYXJvdW5kIGluIHRoZSBjYXBzIGZvciBiYWNrd2FyZHMtY29tcGF0aWJpbGl0eS4KCSAgVGhpcyByZXZlcnRzIHBhcnQgb2YgNDk0NjNhMzdjYmFhOTUyZTE0MDEyOTFmMGEyNjIzZGU2Y2FiMzg4MAoJICBGaXhlcyAjNjE4OTQwCgoyMDEwLTA2LTAzIDE3OjUyOjExICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHBvL2FmLnBvOgoJKiBwby9hei5wbzoKCSogcG8vYmcucG86CgkqIHBvL2NhLnBvOgoJKiBwby9jcy5wbzoKCSogcG8vZGEucG86CgkqIHBvL2RlLnBvOgoJKiBwby9lbC5wbzoKCSogcG8vZW5fR0IucG86CgkqIHBvL2VzLnBvOgoJKiBwby9ldS5wbzoKCSogcG8vZmkucG86CgkqIHBvL2ZyLnBvOgoJKiBwby9odS5wbzoKCSogcG8vaWQucG86CgkqIHBvL2l0LnBvOgoJKiBwby9qYS5wbzoKCSogcG8vbHQucG86CgkqIHBvL2x2LnBvOgoJKiBwby9tdC5wbzoKCSogcG8vbmIucG86CgkqIHBvL25sLnBvOgoJKiBwby9vci5wbzoKCSogcG8vcGwucG86CgkqIHBvL3B0X0JSLnBvOgoJKiBwby9ydS5wbzoKCSogcG8vc2sucG86CgkqIHBvL3NxLnBvOgoJKiBwby9zci5wbzoKCSogcG8vc3YucG86CgkqIHBvL3RyLnBvOgoJKiBwby91ay5wbzoKCSogcG8vdmkucG86CgkqIHBvL3poX0NOLnBvOgoJKiBwby96aF9ISy5wbzoKCSogcG8vemhfVFcucG86CgkqIHN5cy9vc3M0L29zczQtbWl4ZXIuYzoKCSAgb3NzNDogYWRkIHNvbWUgY29tbWVudHMgZm9yIHRyYW5zbGF0b3JzIHRvIGNsYXJpZnkgbWVhbmluZyBvZiAiTG93IgoJICAiTG93IiBldGMuIGFyZSBxdWFsaXR5IHNldHRpbmdzIGhlcmUgKGUuZy4gZm9yIHRoZSBpbnRlcm5hbCByZXNhbXBsZXIpLgoJICBTb21lIGRheSB3aGVuIHdlIHVzZSBHTGliJ3MgaTE4biBmdW5jdGlvbnMgd2UgbWlnaHQgd2FudCB0byB1c2UKCSAgTkNfKCkgYW5kIGdfZHBnZXR0ZXh0MigpIGhlcmUgaW5zdGVhZCBvZiB0aGUgY29tbWVudHMuCgkgIEZpeGVzICM1NTU5NjcuCgoyMDEwLTA2LTAzIDE5OjIzOjAxICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBtcDRnZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDRnZGVwYXkuaDoKCSAgbXA0Z2RlcGF5OiBjYWxjdWxhdGUgdGhlIGZyYW1lIGR1cmF0aW9uIGNvcnJlY3RseQoJICBXaGVuIHdlIGNhbGN1bGF0ZSB0aGUgZnJhbWUgZHVyYXRpb24sIHdlIG5lZWQgdG8gdXNlIHRoZSBhbW91bnQgb2YKCSAgZnJhbWVzIGluIHRoZSBfcHJldmlvdXNfIHBhY2tldCwgbm90IHRoZSBjdXJyZW50IHBhY2tldC4gVGhlIGZyYW1lIGR1cmF0aW9uIGlzCgkgIG5lZWRlZCB0byBjb3JyZWN0bHkgZGUtaW50ZXJsZWF2ZSBpbnRlcmxlYXZlZCBzdHJlYW1zLiBUaGlzIGZpeGVzIHRoZSBjYXNlIHdoZXJlCgkgIHRoZXJlIGFyZSBhIHZhcmlhYmxlIG51bWJlciBvZiBmcmFtZXMgaW4gYSBwYWNrZXQuCgkgIEZpeGVzICM2MjA0OTQKCjIwMTAtMDYtMDMgMTg6NTg6NDIgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyLmM6CgkgIHZpZGVvbWl4ZXI6IERvbid0IHJldHVybiBjYXBzIGluIGdldF9jYXBzKCkgdGhhdCB3aWxsIGJlIHJlamVjdGVkCgkgIFRoaXMgY29tbWl0IGJhc2ljYWxseSBwdXRzIF9nZXRfY2FwcygpIGluIHN5bmMgd2l0aCBhY2NlcHRfY2FwcygpLgoJICBJZiB3ZSBkb24ndCBoYXZlIGEgbWFzdGVyIHBhZCBPUiB0aGUgbWFzdGVyIHBhZCBjYXBzIGFyZW4ndCBuZWdvdGlhdGVkCgkgIHRoZW4gd2UganVzdCByZXR1cm4gdGhlIGRvd25zdHJlYW0gYWxsb3dlZCBjYXBzLgoJICBJZiB3ZSBoYXZlIGEgbWFzdGVyIHBhZCB3aXRoIG5lZ290aWF0ZWQgY2Fwcywgd2UgcmV0dXJuIHRob3NlIGNhcHMKCSAgd2l0aCBhIGZyZWUgcmFuZ2Ugb2Ygd2lkdGgvaGVpZ2h0L2ZyYW1lcmF0ZQoKMjAxMC0wNi0wMyAxMzo0NTozMiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkgIFJldmVydCAicHVsc2VzaW5rOiBBZGQgY29tbWVudHMgdG8gcmVtb3ZlIHRoZSBwcm92aWRlLWNsb2NrIG1lc3NhZ2UgcG9zdGluZyBvbmNlIHdlIGRlcGVuZCBvbiBiYXNlIDAuMTAuMzAiCgkgIFRoaXMgcmV2ZXJ0cyBjb21taXQgOGYzNzA4ZjM4YWEzODM5YTZhNjI1Y2E3ZDFjMTY2MTAxYzlmYmI3Zi4KCSAgVGhlIGJhc2VhdWRpb3NpbmsgY29tbWl0IHdhcyByZXZlcnRlZAoKMjAxMC0wNi0wMyAxMDoyNzoyNSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkgIHB1bHNlc2luazogQWRkIGNvbW1lbnRzIHRvIHJlbW92ZSB0aGUgcHJvdmlkZS1jbG9jayBtZXNzYWdlIHBvc3Rpbmcgb25jZSB3ZSBkZXBlbmQgb24gYmFzZSAwLjEwLjMwCgkgIGJhc2VhdWRpb3NpbmsgZG9lcyBhbGwgdGhpcyBmb3IgdXMgbm93LgoKMjAxMC0wNS0wNyAxODo0MjowNiAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R0bWYvZ3N0ZHRtZnNyYy5jOgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mc3JjLmM6CgkgIGR0bWY6IFJlbW92ZSBydHBkdG1mbXV4IHN0cmVhbS1sb2NrIGNvZGUKCjIwMTAtMDYtMDIgMTY6MzY6MTEgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOgoJICBmbHZkZW11eDogZGVsYXllZCBzZWVrIGhhbmRsaW5nIGFsc28gZGVzZXJ2ZXMgVFJVRSBldmVudCByZXNwb25zZQoKMjAxMC0wNi0wMiAxNTozMDo0NyArMDIwMCAgVGhpanMgVmVybWVpciA8dGhpanN2ZXJtZWlyQGdtYWlsLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBydHBqaXR0ZXJidWZmZXI6IGZpeCBjb21waWxlciB3YXJuaW5nCgkgIHVudXNlZCB2YXJpYWJsZSDigJhlc3RpbWF0ZWTigJkKCjIwMTAtMDYtMDIgMTU6MDQ6MDAgKzAyMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogY29tbW9uOgoJICBjb21tb246IHJldmVydCB0aGUgY2hhbmdlIGkgZGlkIGluIG15IHByZXZpb3VzIGNvbW1pdAoKMjAxMC0wNi0wMiAxMzozOToxMCArMDIwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBjb21tb246CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBydHBqaXR0ZXJidWZmZXI6IHN0b3AgYnVmZmVyaW5nIGFuZCBlbWl0IEVPUyBhdCB0aGUgZW5kIG9mIGEgc3RyZWFtCgkgIFdoZW4gdXNpbmcgUlRQX0pJVFRFUl9CVUZGRVJfTU9ERV9CVUZGRVIsIG1ha2Ugc3VyZSB0aGF0IHRoZSByaW5nYnVmZmVyIGRvZXNuJ3QKCSAgZ2V0IHN0dWNrIGJ1ZmZlcmluZyBmb3JldmVyIHdoZW4gdGhlcmUgaXNuJ3QgZW5vdWdoIGRhdGEgbGVmdCB0byBmaWxsIHRoZQoJICBidWZmZXIuCgoyMDEwLTA2LTAxIDIxOjUyOjU5ICswMjAwICBCZW5qYW1pbiBPdHRlIDxvdHRlQHJlZGhhdC5jb20+CgoJKiBnc3QvZGVidWd1dGlscy90ZXN0cGx1Z2luLmM6CgkgIGRlYnVndXRpbHM6IERvbid0IGNvbnN1bWUgcHJlcm9sbCBidWZmZXIgdHdpY2UKCjIwMTAtMDYtMDEgMjE6MzI6MTEgKzAyMDAgIEJlbmphbWluIE90dGUgPG90dGVAcmVkaGF0LmNvbT4KCgkqIGV4dC9wdWxzZS9wdWxzZXV0aWwuYzoKCSAgcHVsc2U6IFN0eWxlIGZpeDogdXNlIGdfc3RyZHVwKCkgaW5zdGVhZCBvZiBwcmludGYoKWluZyBhIHNpbXBsZSBzdHJpbmcKCjIwMTAtMDUtMjcgMTY6MDc6MzEgKzAyMDAgIEJlbmphbWluIE90dGUgPG90dGVAcmVkaGF0LmNvbT4KCgkqIGdzdC9kZWJ1Z3V0aWxzL3Rlc3RzLmM6CgkgIGRlYnVndXRpbHM6IFJlcGxhY2UgbWQ1IGltcGxlbWVudGF0aW9uIHdpdGggZ2xpYidzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MTk4MjQKCjIwMTAtMDUtMjIgMTE6NTU6MzcgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F2aS9nc3RhdmltdXguYzoKCSAgYXZpbXV4OiBjbGVhbiB1cCBjb2RlIGZvciBhdmkgaGVhZGVyIHVzaW5nIGEgYnl0ZXdyaXRlcgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjE5MjkzCgoyMDEwLTA2LTAxIDE4OjU0OjQxIC0wNTAwICBQaWVycmUtTG91aXMgQm9zc2FydCA8cGllcnJlLWxvdWlzLmJvc3NhcnRAaW50ZWwuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkgIHB1bHNlc2luazogb3B0aW1pemUgY29tbXVuaWNhdGlvbiB3aXRoIFB1bHNlQXVkaW8gdXNpbmcgcGFfc3RyZWFtX2JlZ2luX3dyaXRlCgoyMDEwLTA2LTAyIDEwOjUyOjU2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSAgcHVsc2VzaW5rOiBQb3N0IHByb3ZpZGUtY2xvY2sgbWVzc2FnZSBvbiB0aGUgYnVzIGlmIHRoZSBjbG9jayBhcHBlYXJzL2Rpc2FwcGVhcnMKCSAgRml4ZXMgYnVnICM2MjAyNzcuCgoyMDEwLTA2LTAxIDIzOjQ5OjE3IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gMTdmODllNSB0byA0NzY4M2MxCgoyMDEwLTA2LTAxIDIyOjU0OjQ5IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gY2RmZjBmYiB0byAxN2Y4OWU1CgoyMDEwLTA2LTAxIDIwOjQ1OjI5ICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlci5jOgoJICB2aWRlb21peGVyOiBmaWx0ZXIgY2FwcyByZXR1cm5lZCBmcm9tIGRvd25zdHJlYW0gd2l0aCBvdXIgcGFkIHRlbXBsYXRlLgoKMjAxMC0wNi0wMSAxNjo1NjozMiArMDEwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSAgbWF0cm9za2FtdXg6IFJlbW92ZSBtb3JlIHVubmVlZGVkIHdhcm5pbmdzCgoyMDEwLTA2LTAxIDE2OjU0OjAzICswMTAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSogZ3N0L21hdHJvc2thL2VibWwtd3JpdGUuYzoKCSAgbWF0cm9za2FtdXg6IHJlbW92ZSB1bm5lZWRlZCB3YXJuaW5nCgoyMDEwLTA2LTAxIDE2OjQ5OjE0ICswMTAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSogZ3N0L21hdHJvc2thL2VibWwtd3JpdGUuYzoKCSAgbWF0cm9za2FtdXg6IHJlbW92ZSB1bm5lZWRlZCBkZWJ1ZyBzdGF0ZW1lbnQKCjIwMTAtMDYtMDEgMTY6MjQ6NTMgKzAxMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguaDoKCSAgbWF0cm9za2FtdXg6IGNoYW5nZSBpcy1saXZlIHByb3BlcnR5IHRvIGluZGV4ZWQKCjIwMTAtMDUtMjMgMTM6NTY6MTYgKzAxMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJICBtYXRyb3NrYTogdXNlIHRoZSB1aW50NjQgc2NhbGluZyBmdW5jdGlvbnMKCSAgSW4gZGVtdXhlciBhbmQgbXV4ZXIgdXNlIHRoZSBnc3RfdXRpbF91aW50NjQgc2NhbGluZyBmdW5jdGlvbnMgcmF0aGVyIHRoYW4KCSAgc3RhbmRhcmQgaW50ZWdlciBkaXZpc2lvbi4gQWRkIHdhcm5pbmdzICh0byBiZSBjaGFuZ2VkIHRvIGRlYnVnKSBmb3IgZGVidWdnaW5nCgkgIHRoZSB0aW1lc3RhbXAgYW5kIGR1cmF0aW9uLgoKMjAxMC0wNS0yMSAxNDozNTozNCArMDEwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkqIGdzdC9tYXRyb3NrYS9lYm1sLXdyaXRlLmM6CgkqIGdzdC9tYXRyb3NrYS9lYm1sLXdyaXRlLmg6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSAgbWF0cm9za2FtdXg6IHNldCBkZWx0YSB1bml0IG9uIGFsbCBidWZmZXJzIGV4Y2VwdCBjbHVzdGVyIHN0YXJ0IG9uZXMKCjIwMTAtMDUtMjEgMTM6Mzg6MTEgKzAxMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJKiBnc3QvbWF0cm9za2EvZWJtbC13cml0ZS5jOgoJKiBnc3QvbWF0cm9za2EvZWJtbC13cml0ZS5oOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkgIG1hdHJvc2thbXV4OiBzdG9yZSBjYXBzIGFuZCBzZXQgb24gYnVmZmVycyByYXRoZXIgdGhhbiB1c2luZyBwYWQgY2FwcwoKMjAxMC0wNS0yMSAxMzoyNToyNCArMDEwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSAgbWF0cm9za2FtdXg6IG1ha2Ugc3VyZSBwYWRzIGNhcHMgYXJlIHNldCBiZWZvcmUgYW55IGJ1ZmZlcnMgcHVzaGVkLgoKMjAxMC0wNS0yMSAxMzoxNDowNCArMDEwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkqIGdzdC9tYXRyb3NrYS9lYm1sLXdyaXRlLmM6CgkqIGdzdC9tYXRyb3NrYS9lYm1sLXdyaXRlLmg6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSAgbWF0cm9za2FtdXg6IGFkZCBzdHJlYW1oZWFkZXJzCgoyMDEwLTA1LTIxIDEyOjIzOjA4ICswMTAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJICBtYXRyb3NrYW11eDogbm8gbmVlZCB0byBzZXQgY2FjaGUgdHdpY2UKCjIwMTAtMDUtMjEgMDE6NTk6NTMgKzAyMDAgIFhhdmllciBRdWVyYWx0IDx4cXVlcmFsdEBnbWFpbC5jb20+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkgIERvIG5vdCBjcmVhdGUgYSBTZWVrSGVhZGVyLCBDdWVzLCAuLiB3aGVuIGRvaW5nIGxpdmUKCjIwMTAtMDUtMjAgMjM6Mzk6NTkgKzAyMDAgIFhhdmllciBRdWVyYWx0IDx4cXVlcmFsdEBnbWFpbC5jb20+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguaDoKCSAgQWRkIGlzLWxpdmUgcHJvcGVydHkKCjIwMTAtMDYtMDEgMTM6MjI6MjYgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2pwZWcvZ3N0anBlZ2RlYy5jOgoJICBqcGVnZGVjOiBmaXggdmFyaWFibGUgaW5pdAoKMjAxMC0wNS0yOCAxNjozNzozMiArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4Lmg6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1pZHMuaDoKCSAgbWF0cm9za2FkZW11eDogaW1wcm92ZSByZXZlcnNlIHBsYXliYWNrCgkgIFNsaWdodGx5IG1vZGlmeSBhcHByb2FjaCB0byBhbHNvIGhhbmRsZSBjYXNlcyB3aGVyZSBjdWUgZW50cmllcyBkbyBub3QgcmVsaWFibHkKCSAgbGVhZCB0byBpbml0aWFsIGtleWZyYW1lcy4KCSAgRml4ZXMgIzYxOTgxNy4KCjIwMTAtMDUtMjQgMTY6MDI6NTggKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlbWV0aG9kLmg6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvbGluZWFyLmM6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvbGluZWFyYmxlbmQuYzoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS9zY2FsZXJib2IuYzoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS90b21zbW9jb21wLmM6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvdmZpci5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL3dlYXZlLmM6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvd2VhdmViZmYuYzoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS93ZWF2ZXRmZi5jOgoJICBkZWludGVybGFjZTogYXZvaWQgZ3RrLWRvYyBjb25mdXNpbmcgY29tbWVudHMKCjIwMTAtMDUtMjEgMTE6MjE6NTggKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL21hdHJvc2thbXV4LmM6CgkgIG1hdHJvc2thbXV4OiBhZGp1c3QgdW5pdCB0ZXN0IHRvIG1vZGlmaWVkIGJlaGF2aW91cgoKMjAxMC0wNS0yMCAxNDozMzo0MSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvZWJtbC13cml0ZS5jOgoJKiBnc3QvbWF0cm9za2EvZWJtbC13cml0ZS5oOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkgIG1hdHJvc2thbXV4OiB1c2Ugd3JpdGUgY2FjaGluZyBhbHNvIHdoZW4gd3JpdGluZyBidWZmZXIgZGF0YQoJICBTcGVjaWZpY2FsbHksIHRoaXMgcmVkdWNlcyBwdXNoaW5nIHNldmVyYWwgc21hbGwgYnVmZmVycyBmb3IgZWFjaAoJICBkYXRhIGJ1ZmZlciBhbmQgYWxzbyBhdm9pZHMgYSBzZWVrIGZvciBlYWNoIGJ1ZmZlciBhbHRvZ2V0aGVyCgkgICh0aG91Z2ggYSBzZWVrIGlzIHN0aWxsIG5lZWRlZCBmb3IgZWFjaCBjbHVzdGVyKS4KCSAgRml4ZXMgIzYxOTI3My4KCjIwMTAtMDUtMjAgMTQ6MjM6MDcgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL2VibWwtd3JpdGUuYzoKCSogZ3N0L21hdHJvc2thL2VibWwtd3JpdGUuaDoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJICBtYXRyb3NrYW11eDogZml4IGVibWwgd3JpdGUgY2FjaGluZyB3aXRoIGJ5dGV3cml0ZXIgaW1wbGVtZW50YXRpb24KCSAgQWxzbyBjYWNoZSBhIGJpdCBtb3JlIGR1cmluZyBoZWFkZXIgd3JpdGluZy4KCSAgRml4ZXMgIzYxOTI3My4KCjIwMTAtMDUtMjAgMTQ6MDg6NDIgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL2VibWwtd3JpdGUuYzoKCSAgbWF0cm9za2FtdXg6IHVzZSBjb25zaXN0ZW50IGRlYnVnIGNhdGVnb3J5IG5hbWUgZm9yIGVibWx3cml0ZQoKMjAxMC0wNS0xOCAxNDo0NDoxNSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvZWJtbC1yZWFkLmM6CgkqIGdzdC9tYXRyb3NrYS9lYm1sLXJlYWQuaDoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5oOgoJICBtYXRyb3NrYWRlbXV4OiB1c2UgYnl0ZXJlYWRlciBiYXNlZCBHc3RFYm1sUmVhZCBhcyBhIGhlbHBlcgoJICAuLi4gcmF0aGVyIHRoYW4gYmFzaW5nIG9uIGl0IGJ5IGluaGVyaXRhbmNlLgoJICBBbHNvIHVzZSBtb3JlIGNvbW1vbiBjb2RlIGZvciBwdXNoIGFuZCBwdWxsIG1vZGUuCgkgIEZpeGVzICM2MTkxOTguCgkgIEZpeGVzICM2MTExMTcuCgoyMDEwLTA2LTAxIDE1OjQ3OjMyICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSAgbWF0cm9za2FtdXg6IF9nZXRfcGFkX3RlbXBsYXRlIHJlc3VsdCBuZWVkcyBubyB1bnJlZgoKMjAxMC0wNS0xOCAxOTo0Mjo1OCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvbGlicG5nL2dzdHBuZ2VuYy5jOgoJICBwbmdlbmM6IFN1cHBvcnQgOCBiaXQgZ3JheXNjYWxlCgkgIEFkZHMgc3VwcG9ydCB0byA4IGJpdCBncmF5c2NhbGUgaW5wdXQKCjIwMTAtMDUtMTggMTQ6NDY6NTQgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2pwZWcvZ3N0anBlZ2RlYy5jOgoJICBqcGVnZGVjOiBBZGRzIDhiaXQgZ3JheXNjYWxlIHN1cHBvcnQKCSAgQWRkcyBkZWNvZGluZyBzdXBwb3J0IGZvciBqcGVnIGltYWdlcyBpbiA4IGJpdCBncmF5c2NhbGUgZm9ybWF0LgoKMjAxMC0wNS0xOCAwMTo1NzoxNCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvanBlZy9nc3RqcGVnZW5jLmM6CgkgIGpwZWdlbmM6IEFjY2VwdCBncmF5c2NhbGUgYXMgaW5wdXQKCSAgQWRkcyB2aWRlby94LXJhdy1ncmF5c2NhbGUgKDggYml0KSBzdXBwb3J0IHRvIGpwZWdlbmMKCjIwMTAtMDUtMzEgMTM6MzA6MDUgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyLmM6CgkgIHZpZGVvbWl4ZXI6IEltcGxlbWVudCBzaW5rcGFkIEdldENhcHNGdW5jdGlvbi4KCSAgVGhpcyBhbGxvd3MgcmV0dXJuaW5nIG9ubHkgdGhlIGZvcm1hdHMsIHdpZHRoLCBoZWlnaHQsIGZyYW1lcmF0ZQoJICBhbmQgcGl4ZWwtYXNwZWN0LXJhdGlvIHRoYXQgZG93bnN0cmVhbSBjYW4gc3VwcG9ydC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYyMDE0OAoKMjAxMC0wNS0zMSAwNzo0OToyMSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2FkZW11eDogRG9uJ3QgY29tcGFyZSBydW5uaW5nIHRpbWVzIHdpdGggc3RyZWFtIHRpbWVzIHdoZW4gZG9pbmcgUW9TCgoyMDEwLTA1LTI3IDIxOjA2OjQzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuaDoKCSAgZGVpbnRlcmxhY2U6IERvbid0IHJlY29uZmlndXJlIHRoZSBjYXBzIHdoZW4gY2hhbmdpbmcgcHJvcGVydGllcwoJICBGaXhlcyBidWcgIzYxOTg0OC4KCjIwMTAtMDUtMjYgMTM6MTM6NDQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2FscGhhL2dzdGFscGhhLmM6CgkqIGdzdC9hbHBoYS9nc3RhbHBoYS5oOgoJICBhbHBoYTogQWRkIHByb3BlcnR5IHRvIGFsbG93IHBhc3N0aHJvdWdoIG1vZGUKCSAgVGhpcyBwYXNzdGhyb3VnaCBtb2RlIGlzIHVzZWQgaWYgdGhlIGFscGhhIG1ldGhvZCBpcyAic2V0IgoJICBhbmQgdGhlIGFscGhhIHZhbHVlIGlzIDEuMC4KCSAgRml4ZXMgYnVnICM2MTc1MTIuCgoyMDEwLTA1LTI1IDE1OjE2OjA2ICsxMDAwICBBbGV4YW5kZXIgS29qZXZuaWtvdiA8YWxleGFuZGVyQGtvamV2bmlrb3YuY29tPgoKCSogZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmM6CgkgIHNwZWN0cnVtOiBzdXBwb3J0IDI0LWJpdCB3aWR0aAoJICBGaXhlcyAjNjE5MDQ1CgoyMDEwLTA1LTI0IDIxOjUwOjU4ICsxMDAwICBBbGV4YW5kZXIgS29qZXZuaWtvdiA8YWxleGFuZGVyQGtvamV2bmlrb3YuY29tPgoKCSogZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmM6CgkgIHNwZWN0cnVtOiBzdXBwb3J0IGFyYml0cmFyeSBiaXQgZGVwdGgKCSAgUGFydGlhbGx5IGZpeGVzICM2MTkwNDUKCjIwMTAtMDUtMjUgMDU6MzY6NDYgKzAyMDAgIFBoaWxpcCBKw6RnZW5zdGVkdCA8cGhpbGlwakBvcGVyYS5jb20+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2FkZW11eDogZml4IGRlYWRsb2NrIGludHJvZHVjZWQgYnkgdmlkZW8ga2V5ZnJhbWUgUW9TCgoyMDEwLTA1LTIzIDA5OjMyOjA4ICswMjAwICBQaGlsaXAgSsOkZ2Vuc3RlZHQgPHBoaWxpcGpAb3BlcmEuY29tPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1pZHMuYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWlkcy5oOgoJICBtYXRyb3NrYWRlbXV4OiBza2lwIGJ1ZmZlcnMgYmVmb3JlIGEgbGF0ZSBrZXlmcmFtZSAoUW9TKQoJICBCZWZvcmUsIHZwOGRlYyBoYWQgbm8gb3B0aW9uIGJ1dCB0byBkZWNvZGUgYWxsIGZyYW1lcyBldmVuIGlmIHNvbWUvYWxsCgkgIG9mIHRoZW0gd291bGQgYmUgbGF0ZS4gV2l0aCB0aGlzIGNoYW5nZSwgcGVyZm9ybWFuY2Ugd2hlbiBrZXlmcmFtZXMgYXJlCgkgIGZyZXF1ZW50IGlzIGhlbHBlZCBhIGdyZWF0IGRlYWwuIE9uIG15IFRoaW5rcGFkIFg2MHMsIGRlY29kaW5nIGEgMjAgcwoJICAxMDgwcCBzdW5mbG93ZXIgZW5jb2RlIHdpdGgga2V5ZnJhbWVzIGV2ZXJ5IDEwIGZyYW1lcyB3ZW50IGZyb20gdGFraW5nCgkgIDQyIHMgd2l0aCA1IGZyYW1lcyBzaG93biB0byAyMSBzIHdpdGggMTUgZnJhbWVzIHNob3duIChzdGlsbCBzbG93CgkgIGVub3VnaCB0byBjb3VudCBieSBoYW5kKS4gV2hlbiBrZXlmcmFtZXMgYXJlIG1vcmUgc3BhcnNlLCB5b3Ugd2lsbAoJICBzdGlsbCBiZSBhYmxlIHRvIGNhdGNoIHVwIGV2ZW50dWFsbHksIGJ1dCB0aGUgcmVzdWx0cyB3b24ndCBiZSBhcwoJICBub3RpY2FibGUuCgoyMDEwLTA1LTE0IDE3OjU3OjU5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIuYzoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlci5oOgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVycGFkLmg6CgkgIHZpZGVvbWl4ZXI6IERvbid0IG1peCBpbnB1dCB3aXRoIGRpZmZlcmVudCBwaXhlbCBhc3BlY3QgcmF0aW9zCgkgIEZpeGVzIGJ1ZyAjNjE4NTMwLgoKMjAxMC0wNS0xNyAxOTo1NDoyMiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL2dyZWVkeWguYXNtOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL2dyZWVkeWguYzoKCSAgZGVpbnRlcmxhY2U6IEFkZCBNTVgvM0ROb3cgaW1wbGVtZW50YXRpb25zIG9mIGdyZWVkeWggZm9yIFVZVlkKCjIwMTAtMDUtMTcgMTk6MTY6NDMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS9ncmVlZHloLmM6CgkgIGRlaW50ZXJsYWNlOiBGaXggVVlWWSBpbXBsZW1lbnRhdGlvbiBvZiBncmVlZHloIHRvIGJlIGFjdHVhbGx5IHVzZWQKCjIwMTAtMDUtMTEgMTE6NDM6MDcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvTWFrZWZpbGUuYW06CgkqIGV4dC9nZGtfcGl4YnVmL01ha2VmaWxlLmFtOgoJKiBleHQvZ2RrX3BpeGJ1Zi9nc3RnZGtwaXhidWYuYzoKCSogZXh0L2dka19waXhidWYvZ3N0Z2RrcGl4YnVmc2luay5jOgoJKiBleHQvZ2RrX3BpeGJ1Zi9waXhidWZzY2FsZS5jOgoJICBnZGtwaXhidWY6IEFkZCBhIGdka3BpeGJ1ZjMgcGx1Z2luIHRoYXQgdXNlcyBnZGtwaXhidWYzCgoyMDEwLTA2LTAxIDEwOjA2OjEwICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIE1ha2VmaWxlLmFtOgoJKiBjb21tb246CgkqIHdpbjMyL2NvbW1vbi9nc3RydHBiaW4tbWFyc2hhbC5jOgoJKiB3aW4zMi9jb21tb24vZ3N0cnRwYmluLW1hcnNoYWwuaDoKCSogd2luMzIvY29tbW9uL2dzdHVkcC1lbnVtdHlwZXMuYzoKCSogd2luMzIvY29tbW9uL2dzdHVkcC1tYXJzaGFsLmM6CgkqIHdpbjMyL2NvbW1vbi9nc3R1ZHAtbWFyc2hhbC5oOgoJICB3aW4zMjogYWRkIG1vcmUgZ2VuZXJhdGVkIG1hcnNoYWwgYW5kIGVudW10eXBlIGZpbGVzIHRvIHdpbjMyLXVwZGF0ZQoKMjAxMC0wNi0wMSAwOToyNzowMCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EuYzoKCSAgUmV2ZXJ0ICJtYXRyb3NrYTogYWRkIHRlbXBvcmFyeSB3ZWJtIHR5cGVmaW5kZXIiCgkgIFRoaXMgcmV2ZXJ0cyBjb21taXQgZDE0OGVjMGFkMjA1M2FiYjBjMzhmYzY4MWE4OTUzMjkyOTg1Mzg4Zi4KCSAgV2UgZGVwZW5kIG9uIC1iYXNlIGdpdCBub3csIHdoaWNoIGhhcyBhIHdlYm0gdHlwZWZpbmRlciBpbiB0aGUgdXN1YWwKCSAgcGxhY2UuCgoyMDEwLTA2LTAxIDA5OjI2OjExICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdmkvZ3N0YXZpbXV4LmM6CgkqIGdzdC9mbHYvZ3N0Zmx2bXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSAgUmV2ZXJ0ICJhdmltdXgsIGZsdm11eCwgbWF0cm9za2FtdXg6IGRvbid0IGNyYXNoIGlmIHRhZ3MgYXJyaXZlIG9uIG11bHRpcGxlIGlucHV0IHBhZHMgYXQgdGhlIHNhbWUgdGltZSIKCSAgVGhpcyByZXZlcnRzIGNvbW1pdCA2YTk5ODNjZDIwYzQ4Yjk2Mzk2MjI5YjNmOTRkMDI1NGEwNWRkZjQ4LgoJICBSZWx5IG9uIGxvY2tpbmcgZG9uZSBpbiBHc3RUYWdTZXR0ZXIgaW4gY29yZSBnaXQuCgoyMDEwLTA2LTAxIDA5OjIzOjE4ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiByZXF1aXJlIGNvcmUvYmFzZSBnaXQKCSAgRm9yIFdlYk0gdHlwZWZpbmRpbmcgYW5kIEdzdFRhZ3NldHRlciBmaXhlcy4KCjIwMTAtMDYtMDEgMDk6MTc6NTIgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tMTM5NC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYWNvbG9yLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFubm9kZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXBldGFnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvZngueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvZGV0ZWN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF2aS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWNhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWlyby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jdXR0ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVpbnRlcmxhY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZlbmNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZmVjdHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXF1YWxpemVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVzZHNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmxhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx4ZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdjb25mZWxlbWVudHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2RrcGl4YnVmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbTJrMS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc3RydHBtYW5hZ2VyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWhhbGVsZW1lbnRzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWljeWRlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlkM2RlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWltYWdlZnJlZXplLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVybGVhdmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanBlZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sZXZlbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tYXRyb3NrYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aWZpbGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlwYXJ0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5hdmlnYXRpb250ZXN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zczQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5nLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXB1bHNlYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcXVpY2t0aW1lLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlcGxheWdhaW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0c3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hhcGV3aXBlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNob3V0MnNlbmQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc21wdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVjdHJ1bS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10YWdsaWIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdWRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvNGxpbnV4Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2JveC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2Nyb3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9maWx0ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9taXhlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14aW1hZ2VzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teTRtZW5jLnhtbDoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICBCYWNrIHRvIGRldmVsb3BtZW50Cgo9PT0gcmVsZWFzZSAwLjEwLjIzID09PQoKMjAxMC0wNS0zMCAxNDowMzo1MyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBDaGFuZ2VMb2c6CgkqIE5FV1M6CgkqIFJFTEVBU0U6CgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLTEzOTQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWFzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGFjb2xvci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbm5vZGV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFwZXRhZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb2Z4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2RldGVjdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdmkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FjYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2Fpcm8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY3V0dGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlaW50ZXJsYWNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZW5jZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmZlY3R2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVxdWFsaXplci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lc2RzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZseGRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nY29uZmVsZW1lbnRzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdka3BpeGJ1Zi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20yazEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3N0cnRwbWFuYWdlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1oYWxlbGVtZW50cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pY3lkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pZDNkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbWFnZWZyZWV6ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlcmxlYXZlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwZWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGV2ZWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWF0cm9za2EueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlmaWxlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpcGFydC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uYXZpZ2F0aW9udGVzdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3M0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zc2F1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBuZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wdWxzZWF1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXF1aWNrdGltZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXBsYXlnYWluLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHNwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNoYXBld2lwZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaG91dDJzZW5kLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNtcHRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlY3RydW0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdGFnbGliLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXVkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlbzRsaW51eDIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9ib3gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9jcm9wLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvZmlsdGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvbWl4ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2ZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teGltYWdlc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXk0bWVuYy54bWw6CgkqIGdzdC1wbHVnaW5zLWdvb2QuZG9hcDoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICBSZWxlYXNlIDAuMTAuMjMKCjIwMTAtMDUtMzAgMTQ6MDI6MDQgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogcG8vYWYucG86CgkqIHBvL2F6LnBvOgoJKiBwby9iZy5wbzoKCSogcG8vY2EucG86CgkqIHBvL2NzLnBvOgoJKiBwby9kYS5wbzoKCSogcG8vZGUucG86CgkqIHBvL2VsLnBvOgoJKiBwby9lbl9HQi5wbzoKCSogcG8vZXMucG86CgkqIHBvL2V1LnBvOgoJKiBwby9maS5wbzoKCSogcG8vZnIucG86CgkqIHBvL2h1LnBvOgoJKiBwby9pZC5wbzoKCSogcG8vaXQucG86CgkqIHBvL2phLnBvOgoJKiBwby9sdC5wbzoKCSogcG8vbHYucG86CgkqIHBvL210LnBvOgoJKiBwby9uYi5wbzoKCSogcG8vbmwucG86CgkqIHBvL29yLnBvOgoJKiBwby9wbC5wbzoKCSogcG8vcHRfQlIucG86CgkqIHBvL3J1LnBvOgoJKiBwby9zay5wbzoKCSogcG8vc3EucG86CgkqIHBvL3NyLnBvOgoJKiBwby9zdi5wbzoKCSogcG8vdHIucG86CgkqIHBvL3VrLnBvOgoJKiBwby92aS5wbzoKCSogcG8vemhfQ04ucG86CgkqIHBvL3poX0hLLnBvOgoJKiBwby96aF9UVy5wbzoKCSAgVXBkYXRlIC5wbyBmaWxlcwoKMjAxMC0wNS0yOSAxMDoyMzo0OCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6CgkgIGZsdmRlbXV4OiBGaXggcG9zaXRpb24gcXVlcnkKCjIwMTAtMDUtMjggMTU6MTQ6MDcgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL3dlYm0tbXV4LmM6CgkgIGRvY3M6IHJlbW92ZSB1bm5lY2Vzc2FyeSB2aWRlb3JhdGUgZWxlbWVudCBmcm9tIHdlYm1tdXggZXhhbXBsZSBwaXBlbGluZQoKMjAxMC0wNS0yOCAxMDo0MzozNiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvanBlZy9nc3RqcGVnZW5jLmM6CgkgIGpwZWdlbmM6IEtlZXAgdmFyaWFibGVzIGluIHNhbmUgc3RhdGUgYWZ0ZXIgX3Jlc2V0CgkgIFdoZW4gcmVzZXRpbmcsIGtlZXAgJ3JvdycgdmFyaWFibGVzIGF0IGEgc2FuZSBzdGF0ZSBhZnRlcgoJICBmcmVlaW5nIHRvIGF2b2lkIGl0IGJlaW5nIGZyZWVkIGFnYWluIG9uIF9yZXN5bmMgcmVhbGxvYwoJICB3aGVuIHRoZSBlbGVtZW50IGlzIHJldXNlZC4KCSAgRml4ZXMgIzYxOTk0MwoKMjAxMC0wNS0yNyAxODowODoxNyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9ib3gvZ3N0dmlkZW9ib3guYzoKCSAgdmlkZW9ib3g6IEZpeCBmbG9hdGluZyBwb2ludCB0byBpbnRlZ2VyIGNvbnZlcnNpb24gZm9yIHRoZSBhbHBoYSB2YWx1ZXMKCSAgRml4ZXMgYnVnICM2MTk4MzUuCgoyMDEwLTA1LTI2IDA4OjU0OjMzICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICAwLjEwLjIyLjMgcHJlLXJlbGVhc2UKCjIwMTAtMDUtMjYgMDA6MzM6NTkgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogcG8vYWYucG86CgkqIHBvL2F6LnBvOgoJKiBwby9iZy5wbzoKCSogcG8vY2EucG86CgkqIHBvL2NzLnBvOgoJKiBwby9kYS5wbzoKCSogcG8vZGUucG86CgkqIHBvL2VsLnBvOgoJKiBwby9lbl9HQi5wbzoKCSogcG8vZXMucG86CgkqIHBvL2V1LnBvOgoJKiBwby9maS5wbzoKCSogcG8vZnIucG86CgkqIHBvL2h1LnBvOgoJKiBwby9pZC5wbzoKCSogcG8vaXQucG86CgkqIHBvL2phLnBvOgoJKiBwby9sdC5wbzoKCSogcG8vbHYucG86CgkqIHBvL210LnBvOgoJKiBwby9uYi5wbzoKCSogcG8vbmwucG86CgkqIHBvL29yLnBvOgoJKiBwby9wbC5wbzoKCSogcG8vcHRfQlIucG86CgkqIHBvL3J1LnBvOgoJKiBwby9zay5wbzoKCSogcG8vc3EucG86CgkqIHBvL3NyLnBvOgoJKiBwby9zdi5wbzoKCSogcG8vdHIucG86CgkqIHBvL3VrLnBvOgoJKiBwby92aS5wbzoKCSogcG8vemhfQ04ucG86CgkqIHBvL3poX0hLLnBvOgoJKiBwby96aF9UVy5wbzoKCSAgcG86IHVwZGF0ZSB0cmFuc2xhdGlvbnMKCjIwMTAtMDUtMjUgMTU6MzQ6MTEgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6CgkgIHdhdnBhcnNlOiBoYW5kbGUgdHJ1bmNhdGVkIGlucHV0IGRhdGEgYXQgRU9TIGluIHB1bGwgbW9kZQoJICBGaXhlcyAjNjE3NzMzLgoKMjAxMC0wNS0yNiAxMTo1NToxMyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIDM1N2IwZGIgdG8gZmQ3Y2EwNAoKMjAxMC0wNS0yNSAyMToxNDowNSArMDIwMCAgUm9iZXJ0IFN3YWluIDxyb2JlcnQuc3dhaW5AY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBSb3VuZCB0aW1lc3RhbXAgdXAgd2hlbiBzY2FsaW5nIHRvIG1vdiBmb3JtYXQKCSAgRml4IHRpbWVzdGFtcCByb3VuZGluZyB0byBhbGxvdyB0aGUgY29ycmVjdCBpbmRleCB0byBiZSBsb2NhdGVkLgoJICBUaGUgaXNzdWUgd2FzIHRoYXQgc2NhbGluZyBmcm9tIEdTdHJlYW1lciB0aW1lIGZvcm1hdCB0byBtb3YgdGltZSBmb3JtYXQgd2FzCgkgIHJvdW5kaW5nIGRvd24gY2F1c2luZyB0aGUgdGltZXN0YW1wIG9mIHRoZSBuZXdzZWdtZW50IGV2ZW50IHJlY2VpdmVkIGFmdGVyIGEKCSAgZmx1c2hpbmcga2V5ZnJhbWUgc2VlayB0byBmaW5kIHRoZSBzYW1wbGUgaW5kZXggYmVmb3JlIHRoZSBvbmUgaXQgc2hvdWxkCgkgIGNhdXNpbmcgZnVydGhlciBiYWNrd2FyZCBzZWVraW5nIHRvIHRoZSBrZXlmcmFtZSBwcmlvciB1bnRpbCBubyByb3VuZGluZyBlcnJvcgoJICBvY2N1cnJlZC4KCSAgUm91bmRpbmcgdXAgd2hlbiBzY2FsaW5nIHRvIG1vdiBmb3JtYXQgaGFzIHRoZSBkZXNpcmVkIGVmZmVjdCwgYW5kIGl0IGlzCgkgIG5vdCBjbGVhciB3aGV0aGVyIGp1c3QgdGhlIF9yb3VuZCAoKSB2YXJpYW50IHdvdWxkIGJlIHN1ZmZpY2llbnQuCgkgIEZpeGVzIGJ1ZyAjNjE5MTA1CgoyMDEwLTA1LTI0IDE3OjI2OjQyICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdmkvZ3N0YXZpbXV4LmM6CgkqIGdzdC9mbHYvZ3N0Zmx2bXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSAgYXZpbXV4LCBmbHZtdXgsIG1hdHJvc2thbXV4OiBkb24ndCBjcmFzaCBpZiB0YWdzIGFycml2ZSBvbiBtdWx0aXBsZSBpbnB1dCBwYWRzIGF0IHRoZSBzYW1lIHRpbWUKCSAgVGhpcyBpcyBhIHRlbXBvcmFyeSBmaXggZm9yIHRoZSByZWxlYXNlIG9ubHkuCgkgIEZpeGVzICM2MTk1MzMuCgoyMDEwLTA1LTI1IDE3OjA1OjEyICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHB0aGVvcmFkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHRoZW9yYXBheS5jOgoJICBydHB0aGVvcmE6IHJlbW92ZSBkZWxpdmVyeS1tZXRob2QgZnJvbSBjYXBzCgkgIFdlIGNhbiBhY2NlcHQgYWxsIGRlbGl2ZXJ5IG1ldGhvZHMgc28gZG9uJ3QgYWR2ZXJ0aXNlIGFueXRoaW5nIG9uIHRoZSBjYXBzIG9yCgkgIHBhcnNlIGFueXRoaW5nLCB3ZSB3aWxsIGhhbmRsZSB3aGF0ZXZlciB3ZSByZWNlaXZlLgoJICBGaXhlcyAjNjE4OTQwCgoyMDEwLTA1LTI1IDE1OjQwOjAxICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS5jOgoJICBtYXRyb3NrYTogYWRkIHRlbXBvcmFyeSB3ZWJtIHR5cGVmaW5kZXIKCSAgQWRkIHdlYm0gdHlwZWZpbmRlciBqdXN0IGZvciB0aGUgcmVsZWFzZSwgc28gd2VibSB3b3JrcyBmb3IKCSAgcGVvcGxlIHdob3NlIGRpc3Ryb3MgZG9uJ3QgcGF0Y2ggZ3N0LXBsdWdpbnMtYmFzZSBhcyB3ZWxsLgoJICBXZSdsbCByZW1vdmUgdGhpcyBhZ2FpbiBhZnRlciB0aGUgcmVsZWFzZS4KCjIwMTAtMDUtMjMgMTE6MTc6MjcgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL3dlYm0tbXV4LmM6CgkgIGRvY3M6IGFkZCBzb21lIHBpcGVsaW5lIGV4YW1wbGVzIHRvIHdlYm1tdXggZG9jcwoKMjAxMC0wNS0yMSAxMjoyNzowNyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5pbnRlcmZhY2VzOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tMTM5NC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYWNvbG9yLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFubm9kZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXBldGFnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvZngueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvZGV0ZWN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF2aS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWNhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWlyby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jdXR0ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVpbnRlcmxhY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZlbmNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZmVjdHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXF1YWxpemVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVzZHNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmxhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx4ZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdjb25mZWxlbWVudHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2RrcGl4YnVmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbTJrMS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc3RydHBtYW5hZ2VyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWhhbGVsZW1lbnRzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWljeWRlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlkM2RlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWltYWdlZnJlZXplLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVybGVhdmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanBlZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sZXZlbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tYXRyb3NrYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aWZpbGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlwYXJ0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5hdmlnYXRpb250ZXN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zczQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5nLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXB1bHNlYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcXVpY2t0aW1lLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlcGxheWdhaW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0c3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hhcGV3aXBlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNob3V0MnNlbmQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc21wdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVjdHJ1bS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10YWdsaWIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdWRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvNGxpbnV4Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2JveC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2Nyb3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9maWx0ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9taXhlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14aW1hZ2VzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teTRtZW5jLnhtbDoKCSAgZG9jczogYWRkIHdlYm1tdXggdG8gZG9jcwoKMjAxMC0wNS0yMSAxMzowMTozMCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWF0cm9za2EueG1sOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLmM6CgkqIGdzdC9tYXRyb3NrYS93ZWJtLW11eC5jOgoJICBtYXRyb3NrYTogZml4IHVwIHBsdWdpbiBhbmQgZWxlbWVudCBkZXNjcmlwdGlvbnMgYSBiaXQKCjIwMTAtMDUtMjEgMTI6NDc6MDMgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL01ha2VmaWxlLmFtOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguaDoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLmM6CgkqIGdzdC9tYXRyb3NrYS93ZWJtLW11eC5jOgoJKiBnc3QvbWF0cm9za2Evd2VibS1tdXguaDoKCSAgbWF0cm9za2E6IG1vdmUgd2VibW11eCBpbnRvIG93biBzb3VyY2UgZmlsZXMKCSAgTWFrZXMgdGhpbmdzIGVhc2llciBmb3IgZ3RrLWRvYy4KCjIwMTAtMDUtMjEgMTI6MjY6MDUgKzA1MDAgIENocmlzdGlhbiBTY2hhbGxlciA8Y2hyaXN0aWFuLnNjaGFsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1wbHVnaW5zLWdvb2Quc3BlYy5pbjoKCSAgVXBkYXRlIHNwZWMgZmlsZSB3aXRoIGxhdGVzdCBjaGFuZ2VzCgoyMDEwLTA1LTIwIDIwOjAxOjU4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtaWRzLmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1pZHMuaDoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJICBtYXRyb3NrYTogUmVtb3ZlIHRoZSBkb2N0eXBlIGVudW0sIGl0J3Mgbm90IG5lZWRlZCBhbnltb3JlCgoyMDEwLTA1LTIwIDE5OjU3OjE0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5oOgoJICB3ZWJtbXV4OiBBZGQgbmV3IHdlYm1tdXggZWxlbWVudCB0aGF0IG9ubHkgc3VwcG9ydHMgbXV4aW5nIG9mIFdlYk0KCSAgLi4uYW5kIHJlbW92ZSB0aGUgZG9jdHlwZSBwcm9wZXJ0eSBmcm9tIG1hdHJvc2thbXV4IGFnYWluLgoKMjAxMC0wNS0yMCAxNzozMTo1OSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9tYXRyb3NrYW11eC5jOgoJICBtYXRyb3NrYW11eDogdW5pdCB0ZXN0IGNoZWNrcyB2ZXJzaW9uIDEgZmlsZXMKCjIwMTAtMDUtMTggMTU6Mjc6MDYgLTA0MDAgIFRyaXN0YW4gTWF0dGhld3MgPHRyaXN0YW5Ac2F0LnFjLmNhPgoKCSogZXh0L3NwZWV4L2dzdHNwZWV4ZW5jLmM6CgkgIHNwZWV4OiBmaXggbGF0ZW5jeSBxdWVyeQoJICBTcGVleCBzaG91bGQgcmVwb3J0IDMwIG1zIGxhdGVuY3kgZm9yIG5hcnJvd2JhbmQgbW9kZSwgMzQgb3RoZXJ3aXNlLgoJICBGaXhlcyAjNjE5MDE4CgoyMDEwLTA1LTE4IDIxOjA0OjMyICswODAwICBQaGlsaXAgPHBoaWxpcGpAb3BlcmEuY29tPgoKCSogZ3N0L21hdHJvc2thL2VibWwtcmVhZC5jOgoJICBlYm1scmVhZDogcm0gZmxvYXRjYXN0LmggaW5jbHVkZSAobm90IHVzZWQpCgoyMDEwLTA1LTE3IDA1OjM2OjAwICswMjAwICBQaGlsaXAgSsOkZ2Vuc3RlZHQgPHBoaWxpcGpAb3BlcmEuY29tPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJICBtYXRyb3NrYW11eDogYnVtcCBkZWZhdWx0IGRvY3R5cGUgdmVyc2lvbiB0byAyCgkgIEluIHRoaXMgZGF5IGFuZCBhZ2UgdGhpcyBzaG91bGQgYmUgc2FmZS4gVGhlcmUncyBvdGhlcndpc2UgYSByaXNrIHBlb3BsZQoJICB3aWxsIGJlIGNyZWF0aW5nIHVubmVjY2Vzc2FyaWx5IGJpZyBXZWJNIGZpbGVzIGFzIHRoZXkgY2FuJ3QgdXNlCgkgIFNpbXBsZUJsb2NrIGluIHYxLgoKMjAxMC0wNS0xNyAwNToyNzo0NCArMDIwMCAgUGhpbGlwIErDpGdlbnN0ZWR0IDxwaGlsaXBqQG9wZXJhLmNvbT4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkgIG1hdHJvc2thOiBoYW5kbGUgbWF0cm9za2EgYW5kIHdlYm0gZG9jdHlwZSB2ZXJzaW9ucyBlcXVhbGx5CgkgIFRoZSBvcmlnaW5hbCBwbGFuIHdhcyB0byBsZXQgV2ViTSB2MSBiZSB0aGUgc2FtZSBhcyBNYXRyb3NrYSB2MiAod2l0aAoJICBleHRyYSBjb25zdHJhaW50cyksIGJ1dCBmb3Igc2ltcGxpY2l0eSBpdCB3YXMgZGVjaWRlZCB0byBoYW5kbGUgdGhlCgkgIHZlcnNpb25zIGVxdWFsbHksIHN1Y2ggdGhhdCBlLmcuIFNpbXBsZUJsb2NrIGlzIG9ubHkgYWxsb3dlZCBpbiBXZWJNIHYyLgoKMjAxMC0wNS0xMyAxMjoxMDo1NCArMDIwMCAgUGhpbGlwIErDpGdlbnN0ZWR0IDxwaGlsaXBqQG9wZXJhLmNvbT4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYWRlbXV4OiBWZXJpZnkgbGFjZSBzaXplIGluIF9wYXJzZV9ibG9ja2dyb3VwX29yX3NpbXBsZWJsb2NrCgkgIEZhaWx1cmUgdG8gZG8gdGhpcyBmb3IgY29ycnVwdCBpbnB1dCBjYW4gY2F1c2UgYSBzdWJidWZmZXIgYmlnZ2VyCgkgIHRoYW4gdGhlIGFjdHVhbCBidWZmZXIgdG8gYmUgY3JlYXRlZCwgcXVpY2tseSBsZWFkaW5nIHRvIHNlZ2ZhdWx0LgoJICBUZXN0IGNhc2U6CgkgIGJ1Z19zMjIyMDA1NzUxX3IwLjAwMV9fX19tZW1jcHkud2VibQoKMjAxMC0wNS0xMyAxMDoyMzoxMCArMDIwMCAgUGhpbGlwIErDpGdlbnN0ZWR0IDxwaGlsaXBqQG9wZXJhLmNvbT4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBlYm1sOiBjcnVkZSBoYWNrIHRvIGF2b2lkIGNyYXNoaW5nIG9uIHVuZXhwZWN0ZWQgbWV0YWRhdGEKCSAgVGhlIGNvbW1lbnQgc2F5cyB0aGlzIGNhbm5vdCBoYXBwZW4sIGJ1dCBpdCBkaWQgYW5kIEkgZG9uJ3Qga25vdwoJICB3aHkuIFRoaXMgaXMgbm90IHRoZSBjb3JyZWN0IGZpeCwgbmVlZHMgaW52ZXN0aWdhdGlvbi4gVGVzdCBjYXNlOgoJICBidWdfczU1NTAxMDA5NF9yMC4wMDA1OjAuMDA4X19fX0lBX19nX2Fzc2VydGlvbl9tZXNzYWdlX2V4cHIud2VibQoKMjAxMC0wNS0xMyAwOToxODo1NiArMDIwMCAgUGhpbGlwIErDpGdlbnN0ZWR0IDxwaGlsaXBqQG9wZXJhLmNvbT4KCgkqIGdzdC9tYXRyb3NrYS9lYm1sLXJlYWQuYzoKCSAgZWJtbDogZG9uJ3QgbW9kaWZ5IG91dCBzdHIgaWYgcmV0dXJuaW5nIGFuIGVycm9yIGluIF9yZWFkX2FzY2lpCgkgIFRoaXMgaXMgYSByZWdyZXNzaW9uIGZyb20gQVNDSUkgdmFsaWRhdGlvbiBjaGFuZ2VzLiBUZXN0IGNhc2U6CgkgIGJ1Z19zNjY4NzYzOTBfcjAuMDAxX19fX21hbGxvY19wcmludGVyci53ZWJtCgoyMDEwLTA1LTEyIDEzOjE2OjI4ICswMjAwICBQaGlsaXAgSsOkZ2Vuc3RlZHQgPHBoaWxpcGpAb3BlcmEuY29tPgoKCSogZ3N0L21hdHJvc2thL2VibWwtcmVhZC5jOgoJICBlYm1sOiBWYWxpZGF0ZSA3LWJpdCBBU0NJSSBpbiBnc3RfZWJtbF9yZWFkX2FzY2lpCgkgIFRoaXMgd2FzIHRyaWdnZXJpbmcgYW4gVVRGLTggYXNzZXJ0aW9uIGluIGdzdF9jYXBzX3NldF9zaW1wbGUgZm9yCgkgIGNvcnJ1cHQgZmlsZXMgd2l0aCBnYXJiYWdlIGFzIGNvZGVjIGlkLiBUZXN0IGNhc2U6CgkgIGdzdHJlYW1lcl9lcnJvcl90cnlpbmdfdG9fc2V0X2ludmFsaWRfdXRmOF9hc19jb2RlY19pZC53ZWJtCgkgIE9sZCBnc3RfZWJtbF9yZWFkX2FzY2lpIHJlbmFtZWQgdG8gZ3N0X2VibWxfcmVhZF9zdHJpbmcsIGFsc28gdXNlZCBieQoJICBnc3RfZWJtbF9yZWFkX3V0ZjguIFVubGlrZSBmb3IgVVRGLTgsIGZhaWx1cmUgdG8gdmFsaWRhdGUgaXMgYW4gZXJyb3IsCgkgIGFzIGdzdF9lYm1sX3JlYWRfYXNjaWkgaXMgdXNlZCBmb3IgcmVhZGluZyBkb2N0eXBlIGFuZCBjb2RlYyBpZCBhbmQgd2UKCSAgbWlnaHQganVzdCBhcyB3ZWxsIGdpdmUgdXAgZWFybHkgaW4gdGhvc2UgY2FzZXMuCgoyMDEwLTA1LTEyIDE0OjMwOjE4ICswMjAwICBQaGlsaXAgSsOkZ2Vuc3RlZHQgPHBoaWxpcGpAb3BlcmEuY29tPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thZGVtdXg6IElnbm9yZSB1bmV4cGVjdGVkIENvZGVjU3RhdGUKCSAgQmVjYXVzZSBHc3RNYXRyb3NrYVRyYWNrQ29udGV4dCAqc3RyZWFtIGlzIHNldCB1cCBpbiB0aGUgZmlyc3QKCSAgU2ltcGxlQmxvY2sgb3IgQmxvY2ssIGEgcm9ndWUgQ29kZWNTdGF0ZSBvdGhlcndpc2UgY2F1c2VzIGEgc2VnZmF1bHQgb24KCSAgZGVyZWZlbmNpbmcgdGhlIE5VTEwgcG9pbnRlci4gVGVzdCBjYXNlOgoJICBidWdfczU1MDYxNjdfcjAuMDAxX19fX2dzdF9tYXRyb3NrYV9kZW11eF9wYXJzZV9ibG9ja2dyb3VwX29yX3NpbXBsZWJsb2NrLndlYm0KCjIwMTAtMDUtMTAgMDY6MDA6NDkgKzAyMDAgIFBoaWxpcCBKw6RnZW5zdGVkdCA8cGhpbGlwakBvcGVyYS5jb20+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2FkZW11eDogQWRkIHZpZGVvL3dlYm0gc2luayBjYXBzCgoyMDEwLTA1LTA5IDE5OjQ2OjUxICswMjAwICBQaGlsaXAgSsOkZ2Vuc3RlZHQgPHBoaWxpcEBmb29saXAub3JnPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJICBtYXRyb3NrYW11eDogVXNlIFNpbXBsZUJsb2NrIGZvciBXZWJNIHdoZW4gcG9zc2libGUKCjIwMTAtMDUtMDkgMTk6Mjg6NTkgKzAyMDAgIFBoaWxpcCBKw6RnZW5zdGVkdCA8cGhpbGlwQGZvb2xpcC5vcmc+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2FkZW11eDogU3VwcG9ydCAid2VibSIgRG9jVHlwZQoKMjAxMC0wNS0wOSAxMjozNToxMCArMDIwMCAgUGhpbGlwIErDpGdlbnN0ZWR0IDxwaGlsaXBAZm9vbGlwLm9yZz4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5oOgoJICBtYXRyb3NrYW11eDogcmVuYW1lIG1hdHJvc2thX3ZlcnNpb24gdG8gZG9jdHlwZV92ZXJzaW9uCgoyMDEwLTA1LTA5IDEyOjA5OjU3ICswMjAwICBQaGlsaXAgSsOkZ2Vuc3RlZHQgPHBoaWxpcEBmb29saXAub3JnPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWlkcy5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtaWRzLmg6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5oOgoJICBtYXRyb3NrYW11eDogU3VwcG9ydCAid2VibSIgRG9jVHlwZQoKMjAxMC0wNS0xMiAxODozODo0OCAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IEFkZCBWUDgKCjIwMTAtMDQtMjcgMTU6MjY6MTMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1pZHMuaDoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJICBtYXRyb3NrYW11eDogQWRkIHN1cHBvcnQgZm9yIE9uMiBWUDgKCSAgLi4ubWF0cm9za2FkZW11eCBhdXRvbWF0aWNhbGx5IHN1cHBvcnRzIGl0IHRocm91Z2ggbGliZ3N0cmlmZi4KCjIwMTAtMDQtMjcgMTU6MjU6MzIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F2aS9nc3RhdmltdXguYzoKCSAgYXZpbXV4OiBBZGQgc3VwcG9ydCBmb3IgT24yIFZQOAoJICAuLi5hdmlkZW11eCBhdXRvbWF0aWNhbGx5IHN1cHBvcnRzIGl0IHRocm91Z2ggbGliZ3N0cmlmZi4KCjIwMTAtMDUtMTcgMTc6MTc6MDEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJKiBleHQvcHVsc2UvcHVsc2VzcmMuYzoKCSAgcHVsc2U6IERvbid0IGxvY2sgdGhlIG1haW5sb29wIGluIE5VTEwKCjIwMTAtMDUtMTUgMjE6MTU6NTIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IFVzZSA9IGluc3RlYWQgb2YgPT0gaW4gc2hlbGwgc2NyaXB0cyBmb3IgZXF1YWxpdHkgY2hlY2tzCgoyMDEwLTA1LTE0IDE4OjMzOjMyICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICAwLjEwLjIyLjIgcHJlLXJlbGVhc2UKCjIwMTAtMDUtMTQgMTg6MjQ6MTQgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSA0ZDY3YmQ2IHRvIDM1N2IwZGIKCjIwMTAtMDUtMTQgMTg6MTY6NDUgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvc291cGh0dHBzcmMuYzoKCSAgdGVzdHM6IGZpeCBsZWFrIGluIHNvdXBodHRwc3JjIHVuaXQgdGVzdAoJICBVbnJlZiBzZXJ2ZXIgb2JqZWN0cyB3aGVuIGRvbmUuIEZpeGVzIGNoZWNrLXZhbGdyaW5kLgoKMjAxMC0wNS0xNCAxNzozMDo0MCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvanBlZy9nc3RqcGVnZW5jLmM6CgkgIGpwZWdlbmM6IGZpeCB0d28gbGVha3MKCSAgRG9uJ3QgbGVhayBvdGhlcmNhcHMgb3IganBlZ2VuYyByZWYuCgoyMDEwLTA1LTEzIDEzOjAxOjI2ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6CgkgIHJ0cGJpbjogZml4IGRvY3MKCSAgRG9jdW1lbnRhdGlvbiBlcnJvciBzcG90dGVkIGJ5IHRvbnkgPGNhaWNhaTAxMTkgYXQgZ21haWwuY29tPgoJICBGaXhlcyAjNjE4NDE5CgoyMDEwLTA1LTExIDEzOjE4OjQyIC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cHRoZW9yYWRlcGF5LmM6CgkgIHJ0cHRoZW9yYWRlcGF5OiBtYWtlIGRlbGl2ZXJ5LW1ldGhvZCBwYXJhbWV0ZXIgb3B0aW9uYWwKCSAgSXQgcHJvYmFibHkgd2lsbCBub3QgYmUgaW4gdGhlIGZpbmFsIFJGQyBhcyBpdCBpcyBub3QgaW4gUkZDIDUyMTUgZm9yIFZvcmJpcy4KCSAgSWYgdGhlcmUgaXMgYSBjb25maWd1cmF0aW9uIHNwZWNpZmllZCwgYXNzdW1lIGl0IGlzIGluLWxpbmUgYW5kIGlmIG5vdGhpbmcgaXMKCSAgc3BlY2lmaWVkLCBhc3N1bWUgaXQgaXMgaW4tYmFuZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYxODM4NgoKMjAxMC0wNS0xMyAxMjoxNjo1OSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9qcGVnL2dzdGpwZWdkZWMuYzoKCSAganBlZ2RlYzogaW5jcmVhc2UgYWNjZXB0YWJsZSBvdXRwdXQgc2l6ZXMKCSAgV2UgY2FuIHBlcmZlY3RseSBkZWNvZGUgMXgxIGltYWdlcyBzbyBsb3dlciB0aGUgbWluIHdpZHRoIGFuZCBoZWlnaHQgdG8gMS4KCSAgRml4ZXMgIzYxODM5MgoKMjAxMC0wNS0xMyAxMTozMDoyNyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwY2VsdHBheS5jOgoJICBjZWx0cGF5OiBmaXggcXVldWUgZHVyYXRpb24gY2FsY3VsYXRpb25zCgkgIERvbid0IGJsaW5kbHkgYWRkIHRoZSBkdXJhdGlvbnMgb2YgaW5jb21taW5nIGJ1ZmZlcnMgdG8gdGhlIHRvdGFsIHF1ZXVlZAoJICBkdXJhdGlvbiBiZWNhdXNlIGl0IG1pZ2h0IGJlIGludmFsaWQuIE1hcmsgdGhlIHRvdGFsIHF1ZXVlZCBkdXJhdGlvbiBpbnZhbGlkCgkgIHdoZW4gd2UgcmVjZWl2ZSBhbiBpbnZhbGlkIGluY29tbWluZyB0aW1lc3RhbXAgYmVjYXVzZSB0aGF0J3Mgd2hlbiB3ZSBsb3NlIHRyYWNrCgkgIG9mIHRoZSB0b3RhbCBxdWV1ZWQgZHVyYXRpb24uCgkgIEZpeGVzICM2MTgzMjQKCjIwMTAtMDUtMTAgMTE6MTQ6MzkgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBoMjY0cGF5LmM6CgkgIHJ0cGgyNjRwYXk6IGV4dHJhY3QgU1BTIGFuZCBQUFMgZnJvbSBwcm9wZXJ0eSBwcm92aWRlZCBwYXJhbWV0ZXIgc2V0CgkgIC4uLiBzbyBpdCBjYW4gYWxzbyBiZSByZWd1bGFybHkgaW5zZXJ0ZWQgaW50byB0aGUgc3RyZWFtIGlmIHNvIGNvbmZpZ3VyZWQuCgkgIEZpeGVzICM2MTcxNjQuCgoyMDEwLTA1LTExIDIyOjI4OjA4ICswMjAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIHN5cy9vc3h2aWRlby9vc3h2aWRlb3NpbmsubToKCSAgb3N4dmlkZW9zaW5rOiBhbGxvdyBzd2l0Y2hpbmcgdmlld3MgYXQgcnVudGltZS4KCjIwMTAtMDUtMTEgMjA6MjY6MzcgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9NYWtlZmlsZS5hbToKCSAgcnRwOiBkaXN0IG1pc3NpbmcgaGVhZGVyIGZpbGUgdG8gZml4IG1ha2UgZGlzdGNoZWNrCgoyMDEwLTA1LTExIDE5OjA1OjA4ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9vc3M0L29zczQtc2luay5jOgoJICBvc3M0OiBtaW5vciBjbGVhbnVwCgkgIFJlbW92ZSBmaXhlZCBGSVhNRSwgY2hhbmdlIGZpbmFsaXNlIHRvIGZpbmFsaXplIGZvciBjb25zaXN0ZW5jeS4KCjIwMTAtMDUtMTEgMTk6MDE6NTEgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaW50ZXJmYWNlczoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zczQueG1sOgoJICBkb2NzOiBhZGQgb3NzNCBlbGVtZW50cyB0byBkb2NzCgoyMDEwLTA1LTExIDE2OjA5OjEwICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHBvL2FmLnBvOgoJKiBwby9hei5wbzoKCSogcG8vYmcucG86CgkqIHBvL2NhLnBvOgoJKiBwby9jcy5wbzoKCSogcG8vZGEucG86CgkqIHBvL2RlLnBvOgoJKiBwby9lbC5wbzoKCSogcG8vZW5fR0IucG86CgkqIHBvL2VzLnBvOgoJKiBwby9ldS5wbzoKCSogcG8vZmkucG86CgkqIHBvL2ZyLnBvOgoJKiBwby9odS5wbzoKCSogcG8vaWQucG86CgkqIHBvL2l0LnBvOgoJKiBwby9qYS5wbzoKCSogcG8va3kucG86CgkqIHBvL2x0LnBvOgoJKiBwby9sdi5wbzoKCSogcG8vbXQucG86CgkqIHBvL25iLnBvOgoJKiBwby9ubC5wbzoKCSogcG8vb3IucG86CgkqIHBvL3BsLnBvOgoJKiBwby9wdF9CUi5wbzoKCSogcG8vcnUucG86CgkqIHBvL3NrLnBvOgoJKiBwby9zcS5wbzoKCSogcG8vc3IucG86CgkqIHBvL3N2LnBvOgoJKiBwby90ci5wbzoKCSogcG8vdWsucG86CgkqIHBvL3ZpLnBvOgoJKiBwby96aF9DTi5wbzoKCSogcG8vemhfSEsucG86CgkqIHBvL3poX1RXLnBvOgoJICBwbzogbW92ZSBvc3M0IHN0cmluZ3MgZnJvbSAtYmFkIHRvIC1nb29kCgoyMDEwLTA1LTExIDE2OjA4OjIxICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0LXBsdWdpbnMtZ29vZC5zcGVjLmluOgoJKiBwby9QT1RGSUxFUy5pbjoKCSogc3lzL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9pY2xlcy8uZ2l0aWdub3JlOgoJKiB0ZXN0cy9pY2xlcy9NYWtlZmlsZS5hbToKCSAgTW92ZSBvc3M0IHBsdWdpbiBmcm9tIC1iYWQgdG8gLWdvb2QKCSAgSG9vayB1cCBidWlsZCBpbmZyYXN0cnVjdHVyZSwgZG9jcyBhbmQgdGVzdHMuCgkgIEZpeGVzICM2MTQzMDUuCgoyMDEwLTA0LTI5IDEzOjE4OjU4ICswMTAwICBCcmlhbiBDYW1lcm9uIDxicmlhbi5jYW1lcm9uQG9yYWNsZS5jb20+CgoJKiBzeXMvb3NzNC9vc3M0LXNpbmsuYzoKCSogc3lzL29zczQvb3NzNC1zaW5rLmg6CgkgIG9zczRzaW5rOiBpbXBsZW1lbnQgR3N0U3RyZWFtVm9sdW1lIGludGVyZmFjZSBhbmQgYWRkIG11dGUgYW5kIHZvbHVtZSBwcm9wZXJ0aWVzCgkgIE9TUzQgc3VwcG9ydHMgcGVyLXN0cmVhbSB2b2x1bWUgY29udHJvbCwgc28gZXhwb3NlIHRoaXMgdXNpbmcgdGhlIHJpZ2h0CgkgIEFQSSwgc28gdGhhdCBwbGF5YmluMiBhbmQgYXBwbGljYXRpb25zIGxpa2UgdG90ZW0gY2FuIG1ha2UgdXNlIG9mIGl0CgkgIChpbnN0ZWFkIG9mIHVzaW5nIGEgdm9sdW1lIGVsZW1lbnQgZm9yIHZvbHVtZSBjb250cm9sKS4KCSAgRml4ZXMgIzYxNDMwNS4KCjIwMTAtMDQtMDggMTA6NDU6MzMgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL29zczQvb3NzNC1hdWRpby5jOgoJICBvc3M0OiA4LWJpdCBQQ00gYXVkaW8gY2FwcyBkb24ndCBuZWVkIGFuIGVuZGlhbm5lc3MgZmllbGQKCjIwMTAtMDQtMDggMTA6NDA6MDIgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL29zczQvb3NzNC1hdWRpby5jOgoJICBvc3M0OiBkb24ndCBpdGVyYXRlIHRoZSBmb3JtYXRzIHRhYmxlIHR3aWNlIGZvciBlYWNoIGVudHJ5CgkgIFdoZW4gaXRlcmF0aW5nIHRoZSBmb3JtYXRzIHRhYmxlLCB3ZSBjYW4ganVzdCBwYXNzIHRoZSB3aG9sZQoJICBlbnRyeSB0byBvdXIgaGVscGVyIGZ1bmN0aW9uLCB3aGljaCBhdm9pZHMgaXRlcmF0aW5nIHRoZSB0YWJsZQoJICBhZ2FpbiB0byBmaW5kIHRoZSBlbnRyeSBzdHJ1Y3R1cmUgZnJvbSB0aGUgcGFzc2VkIGZvcm1hdCBpZC4KCjIwMTAtMDMtMzAgMTE6NDM6MDQgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL29zczQvb3NzNC1hdWRpby5jOgoJICBvc3M0OiBhbHNvIGFjY2VwdCBmb3JtYXRzIG5vdCBuYXRpdmVseSBzdXBwb3J0ZWQKCSAgQWxzbyBhY2NlcHQgZm9ybWF0cyB0aGF0IGFyZSBub3QgbmF0aXZlbHkgc3VwcG9ydGVkIGJ5IHRoZQoJICBoYXJkd2FyZSwgT1NTNCBjYW4gY29udmVydCB0aGVtIGludGVybmFsbHkuIExpc3QgdGhlIG5hdGl2ZQoJICBmb3JtYXRzIGZpcnN0IGluIHRoZSBjYXBzIHRob3VnaCwgdG8gZXhwcmVzcyBvdXIgcHJlZmVyZW5jZQoJICBmb3IgdGhlIG5hdGl2ZSBmb3JtYXRzLiBXZSBuZWVkIHRoaXMgaW4gb3JkZXIgdG8gc3VwcG9ydCB0aGUKCSAgY2FzZSBwcm9wZXJseSB3aGVyZSB0aGUgYXVkaW8gaGFyZHdhcmUgc3VwcG9ydHMgb25seSBlLmcuCgkgIGxpdHRsZSBlbmRpYW4gUENNLCBidXQgdGhlIGhvc3QgaXMgYmlnIGVuZGlhbiwgc2luY2UgbWFueQoJICBhdWRpbyBlbGVtZW50cyBvbmx5IHN1cHBvcnQgbmF0aXZlIGVuZGlhbm5lc3MgYW5kIG1ha2UgdGhlCgkgIHJlYXNvbmFibGUgYXNzdW1wdGlvbiB0aGF0IGFueSBhdWRpb3Npbmsgd2lsbCBiZSBhYmxlIHRvCgkgIGhhbmRsZSBhdWRpbyBpbiBuYXRpdmUgZW5kaWFubmVzcy4KCSAgQmFzZWQgb24gcGF0Y2ggYnkgSmVycnkgVGFuIDxqZXJyeS50YW5Ac3VuLmNvbT4KCSAgRml4ZXMgIzYxNDMxNy4KCjIwMTAtMDMtMzAgMDE6MTQ6NTggKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL29zczQvb3NzNC1taXhlci5jOgoJICBvc3M0OiBhZGQgY29tbWVudCBmb3IgdHJhbnNsYXRvcnMKCSAgTm90IHRoYXQgdGhhdCB3aWxsIG1ha2UgdGhlc2Ugc3RyaW5ncyBtdWNoIGJldHRlci4gQWxzbyByZW1vdmUgaTE4bgoJICBtYXJrZXIgd2hlcmUgaXQgZG9lc24ndCBtYWtlIHNlbnNlLgoKMjAxMC0wMy0yMiAxNjoxMzoxMiArMDEwMCAgQmVuamFtaW4gT3R0ZSA8b3R0ZUByZWRoYXQuY29tPgoKCSogc3lzL29zczQvb3NzNC1taXhlci5jOgoJICBvc3M0OiBSZWZhY3RvciBjb2RlIHRvIG1ha2UgaXQgbG9vayBtb3JlIG1vZGVybgoJICBBIHNpZGUgZWZmZWN0IGlzIHRoYXQgaXQgcGFzc2VzIC1XZm9ybWF0LW5vbmxpdGVyYWwgYW5kIGRvZXNuJ3QgcmVhZAoJICBpbnZhbGlkIG1lbW9yeSBpbiBzb21lIGNhc2VzLCBsaWtlIHdoZW4gdGhlIG1peGVyIHRyYWNrIGNvbnRhaW5zCgkgIGEgJSBzaWduIG9yIHRoZXJlIGlzIGEgbnVtYmVyIGJ1dCBub3QgYSBrbm93biBtaXhlciBuYW1lLgoKMjAxMC0wMy0yMiAxNDowOToyNCArMDEwMCAgQmVuamFtaW4gT3R0ZSA8b3R0ZUByZWRoYXQuY29tPgoKCSogc3lzL29zczQvb3NzNC1taXhlci5jOgoJICBvc3M0OiBBdm9pZCBnX3F1YXJrX3RvX3N0cmluZyAoZ19xdWFya19mcm9tX3N0cmluZyAoKSkgbWFkbmVzcwoJICBXZSB0byB0aGUgc3RyZHVwIGluc2lkZSBnc3Rfb3NzNF9taXhlcl9jb250cm9sX2dldF90cmFuc2xhdGVkX25hbWUoKQoJICBpbnN0ZWFkIG9mIGluIHRoZSBvbmx5IGNhbGxlci4KCjIwMTAtMDMtMjEgMjE6Mzk6MTggKzAxMDAgIEJlbmphbWluIE90dGUgPG90dGVAcmVkaGF0LmNvbT4KCgkqIHN5cy9vc3M0L29zczQtbWl4ZXIuYzoKCSAgQWRkIC1XbWlzc2luZy1kZWNsYXJhdGlvbnMgLVdtaXNzaW5nLXByb3RvdHlwZXMgdG8gY29uZmlndXJlIGZsYWdzCgkgIEFuZCBmaXggYWxsIHdhcm5pbmdzCgoyMDEwLTAxLTIwIDEzOjI5OjUyICswMTAwICBCZW5qYW1pbiBPdHRlIDxvdHRlQHJlZGhhdC5jb20+CgoJKiBzeXMvb3NzNC9vc3M0LW1peGVyLmM6CgkgIEZpeCBjb21waWxlciB3YXJuaW5nIGFib3V0IHVudXNlZCByZXR1cm4gdmFsdWUKCjIwMDktMDgtMjEgMDE6MTc6MTggKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvaWNsZXMvdGVzdC1vc3M0LmM6CgkgIHRlc3RzOiBmaXggdGVzdC1vc3M0IHRvIHRyZWF0IGFuIGVtcHR5IGRldmljZSBuYW1lIHRoZSBzYW1lIGFzIGEgTlVMTCBuYW1lCgoyMDA5LTA3LTE2IDEzOjU1OjE0ICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBzeXMvb3NzNC9vc3M0LW1peGVyLmM6CgkgIG9zczQ6IEF0dGVtcHQgdG8gZml4IGEgY29tcGlsZXIgd2FybmluZwoJICBEb24ndCBzdG9yZSBhIGNvbnN0IGdjaGFyICogaW4gYSBub24tY29uc3QgZ2NoYXIgKiBsb2NhbCB2YXIuCgkgIEFsc28sIG1ha2UgdGhlIHRyYW5zbGF0aW9uIHN0cmluZyBmdW5jdGlvbiBzdGF0aWMgc2luY2UgaXQncyBvbmx5CgkgIHVzZWQgaW4gdGhlIG9uZSBmaWxlLgoKMjAwOS0wNi0xMCAxOToyMToyMSArMDEwMCAgR2FycmV0dCBEJ0Ftb3JlIDxnYXJyZXR0LmRhbW9yZUBzdW4uY29tPgoKCSogc3lzL29zczQvb3NzNC1hdWRpby5jOgoJKiBzeXMvb3NzNC9vc3M0LW1peGVyLXNsaWRlci5jOgoJKiBzeXMvb3NzNC9vc3M0LW1peGVyLXN3aXRjaC5jOgoJKiBzeXMvb3NzNC9vc3M0LW1peGVyLmM6CgkgIG9zczQ6IEVuaGFuY2VtZW50cyB0byB0aGUgbWl4ZXIgYW5kIGF1ZGlvIG91dHB1dAoJICBDb2RlIGNsZWFudXBzLCBnZW5lcmFsIGltcHJvdmVtZW50cywgc3VwcG9ydCBmb3IgdGhlCgkgIG5ldyBtaXhlciBmbGFncyBpbiBsYXRlc3QgZ3N0LXBsdWdpbnMtYmFzZS4KCSAgRml4ZXM6ICM1ODQyNTIKCSAgUGF0Y2ggQnk6IEJyaWFuIENhbWVyb24gPGJyaWFuLmNhbWVyb25Ac3VuLmNvbT4KCSAgUGF0Y2ggQnk6IEdhcnJldHQgRCdBbW9yZSA8Z2FycmV0dC5kYW1vcmVAc3VuLmNvbT4KCjIwMDktMDYtMTkgMTY6MjE6MjggKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL29zczQvb3NzNC1taXhlci5jOgoJICBNYWtlIGJ1aWxkIHdpdGhvdXQgd2FybmluZ3Mgd2l0aCBkZWJ1Z2dpbmcgZGlzYWJsZWQKCjIwMDgtMTEtMDQgMTI6NDI6MzAgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIERvbid0IGluc3RhbGwgc3RhdGljIGxpYnMgZm9yIHBsdWdpbnMuIEZpeGVzICM1NTA4NTEgZm9yIC1iYWQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9hbHNhc3BkaWYvTWFrZWZpbGUuYW06CgkgICogZXh0L2FtcndiL01ha2VmaWxlLmFtOgoJICAqIGV4dC9hcGV4c2luay9NYWtlZmlsZS5hbToKCSAgKiBleHQvYXJ0cy9NYWtlZmlsZS5hbToKCSAgKiBleHQvYXJ0c2QvTWFrZWZpbGUuYW06CgkgICogZXh0L2F1ZGlvZmlsZS9NYWtlZmlsZS5hbToKCSAgKiBleHQvYXVkaW9yZXNhbXBsZS9NYWtlZmlsZS5hbToKCSAgKiBleHQvYnoyL01ha2VmaWxlLmFtOgoJICAqIGV4dC9jZGF1ZGlvL01ha2VmaWxlLmFtOgoJICAqIGV4dC9jZWx0L01ha2VmaWxlLmFtOgoJICAqIGV4dC9kYzEzOTQvTWFrZWZpbGUuYW06CgkgICogZXh0L2RpcmFjL01ha2VmaWxlLmFtOgoJICAqIGV4dC9kaXJlY3RmYi9NYWtlZmlsZS5hbToKCSAgKiBleHQvZGl2eC9NYWtlZmlsZS5hbToKCSAgKiBleHQvZHRzL01ha2VmaWxlLmFtOgoJICAqIGV4dC9mYWFjL01ha2VmaWxlLmFtOgoJICAqIGV4dC9mYWFkL01ha2VmaWxlLmFtOgoJICAqIGV4dC9nc20vTWFrZWZpbGUuYW06CgkgICogZXh0L2hlcm1lcy9NYWtlZmlsZS5hbToKCSAgKiBleHQvaXZvcmJpcy9NYWtlZmlsZS5hbToKCSAgKiBleHQvamFjay9NYWtlZmlsZS5hbToKCSAgKiBleHQvanAyay9NYWtlZmlsZS5hbToKCSAgKiBleHQvbGFkc3BhL01ha2VmaWxlLmFtOgoJICAqIGV4dC9sY3MvTWFrZWZpbGUuYW06CgkgICogZXh0L2xpYmZhbWUvTWFrZWZpbGUuYW06CgkgICogZXh0L2xpYm1tcy9NYWtlZmlsZS5hbToKCSAgKiBleHQvbWV0YWRhdGEvTWFrZWZpbGUuYW06CgkgICogZXh0L21wZWcyZW5jL01ha2VmaWxlLmFtOgoJICAqIGV4dC9tcGxleC9NYWtlZmlsZS5hbToKCSAgKiBleHQvbXVzZXBhY2svTWFrZWZpbGUuYW06CgkgICogZXh0L211c2ljYnJhaW56L01ha2VmaWxlLmFtOgoJICAqIGV4dC9teXRodHYvTWFrZWZpbGUuYW06CgkgICogZXh0L25hcy9NYWtlZmlsZS5hbToKCSAgKiBleHQvbmVvbi9NYWtlZmlsZS5hbToKCSAgKiBleHQvb2ZhL01ha2VmaWxlLmFtOgoJICAqIGV4dC9wb2x5cC9NYWtlZmlsZS5hbToKCSAgKiBleHQvcmVzaW5kdmQvTWFrZWZpbGUuYW06CgkgICogZXh0L3NkbC9NYWtlZmlsZS5hbToKCSAgKiBleHQvc2hvdXQvTWFrZWZpbGUuYW06CgkgICogZXh0L3NuYXBzaG90L01ha2VmaWxlLmFtOgoJICAqIGV4dC9zbmRmaWxlL01ha2VmaWxlLmFtOgoJICAqIGV4dC9zb3VuZHRvdWNoL01ha2VmaWxlLmFtOgoJICAqIGV4dC9zcGMvTWFrZWZpbGUuYW06CgkgICogZXh0L3N3ZmRlYy9NYWtlZmlsZS5hbToKCSAgKiBleHQvdGFya2luL01ha2VmaWxlLmFtOgoJICAqIGV4dC90aGVvcmEvTWFrZWZpbGUuYW06CgkgICogZXh0L3RpbWlkaXR5L01ha2VmaWxlLmFtOgoJICAqIGV4dC90d29sYW1lL01ha2VmaWxlLmFtOgoJICAqIGV4dC94MjY0L01ha2VmaWxlLmFtOgoJICAqIGV4dC94aW5lL01ha2VmaWxlLmFtOgoJICAqIGV4dC94dmlkL01ha2VmaWxlLmFtOgoJICAqIGdzdC1saWJzL2dzdC9hcHAvTWFrZWZpbGUuYW06CgkgICogZ3N0LWxpYnMvZ3N0L2RzaG93L01ha2VmaWxlLmFtOgoJICAqIGdzdC9haWZmcGFyc2UvTWFrZWZpbGUuYW06CgkgICogZ3N0L2FwcC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvYXVkaW9idWZmZXIvTWFrZWZpbGUuYW06CgkgICogZ3N0L2JheWVyL01ha2VmaWxlLmFtOgoJICAqIGdzdC9jZHhhcGFyc2UvTWFrZWZpbGUuYW06CgkgICogZ3N0L2NoYXJ0L01ha2VmaWxlLmFtOgoJICAqIGdzdC9jb2xvcnNwYWNlL01ha2VmaWxlLmFtOgoJICAqIGdzdC9kY2NwL01ha2VmaWxlLmFtOgoJICAqIGdzdC9kZWludGVybGFjZS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL01ha2VmaWxlLmFtOgoJICAqIGdzdC9kdmRzcHUvTWFrZWZpbGUuYW06CgkgICogZ3N0L2Zlc3RpdmFsL01ha2VmaWxlLmFtOgoJICAqIGdzdC9maWx0ZXIvTWFrZWZpbGUuYW06CgkgICogZ3N0L2ZsYWNwYXJzZS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvZmx2L01ha2VmaWxlLmFtOgoJICAqIGdzdC9nYW1lcy9NYWtlZmlsZS5hbToKCSAgKiBnc3QvaDI2NHBhcnNlL01ha2VmaWxlLmFtOgoJICAqIGdzdC9saWJyZmIvTWFrZWZpbGUuYW06CgkgICogZ3N0L21peG1hdHJpeC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvbW9kcGx1Zy9NYWtlZmlsZS5hbToKCSAgKiBnc3QvbXBlZzFzeXMvTWFrZWZpbGUuYW06CgkgICogZ3N0L21wZWc0dmlkZW9wYXJzZS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvbXBlZ2RlbXV4L01ha2VmaWxlLmFtOgoJICAqIGdzdC9tcGVndHNtdXgvTWFrZWZpbGUuYW06CgkgICogZ3N0L21wZWd2aWRlb3BhcnNlL01ha2VmaWxlLmFtOgoJICAqIGdzdC9tdmUvTWFrZWZpbGUuYW06CgkgICogZ3N0L25zZi9NYWtlZmlsZS5hbToKCSAgKiBnc3QvbnV2ZGVtdXgvTWFrZWZpbGUuYW06CgkgICogZ3N0L292ZXJsYXkvTWFrZWZpbGUuYW06CgkgICogZ3N0L3Bhc3N0aHJvdWdoL01ha2VmaWxlLmFtOgoJICAqIGdzdC9wY2FwcGFyc2UvTWFrZWZpbGUuYW06CgkgICogZ3N0L3BsYXlvbmRlbWFuZC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvcmF3cGFyc2UvTWFrZWZpbGUuYW06CgkgICogZ3N0L3JlYWwvTWFrZWZpbGUuYW06CgkgICogZ3N0L3J0anBlZy9NYWtlZmlsZS5hbToKCSAgKiBnc3QvcnRwbWFuYWdlci9NYWtlZmlsZS5hbToKCSAgKiBnc3Qvc2NhbGV0ZW1wby9NYWtlZmlsZS5hbToKCSAgKiBnc3Qvc2RwL01ha2VmaWxlLmFtOgoJICAqIGdzdC9zZWxlY3Rvci9NYWtlZmlsZS5hbToKCSAgKiBnc3Qvc21vb3RoL01ha2VmaWxlLmFtOgoJICAqIGdzdC9zbW9vdGh3YXZlL01ha2VmaWxlLmFtOgoJICAqIGdzdC9zcGVlZC9NYWtlZmlsZS5hbToKCSAgKiBnc3Qvc3BlZXhyZXNhbXBsZS9NYWtlZmlsZS5hbToKCSAgKiBnc3Qvc3RlcmVvL01ha2VmaWxlLmFtOgoJICAqIGdzdC9zdWJlbmMvTWFrZWZpbGUuYW06CgkgICogZ3N0L3R0YS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvdmJpZGVjL01ha2VmaWxlLmFtOgoJICAqIGdzdC92aWRlb2Ryb3AvTWFrZWZpbGUuYW06CgkgICogZ3N0L3ZpZGVvc2lnbmFsL01ha2VmaWxlLmFtOgoJICAqIGdzdC92aXJ0dWFsZHViL01ha2VmaWxlLmFtOgoJICAqIGdzdC92bW5jL01ha2VmaWxlLmFtOgoJICAqIGdzdC95NG0vTWFrZWZpbGUuYW06CgkgICogc3lzL2FjbWVuYy9NYWtlZmlsZS5hbToKCSAgKiBzeXMvY2Ryb20vTWFrZWZpbGUuYW06CgkgICogc3lzL2RzaG93ZGVjd3JhcHBlci9NYWtlZmlsZS5hbToKCSAgKiBzeXMvZHNob3dzcmN3cmFwcGVyL01ha2VmaWxlLmFtOgoJICAqIHN5cy9kdmIvTWFrZWZpbGUuYW06CgkgICogc3lzL2R4cjMvTWFrZWZpbGUuYW06CgkgICogc3lzL2ZiZGV2L01ha2VmaWxlLmFtOgoJICAqIHN5cy9vc3M0L01ha2VmaWxlLmFtOgoJICAqIHN5cy9xY2FtL01ha2VmaWxlLmFtOgoJICAqIHN5cy9xdHdyYXBwZXIvTWFrZWZpbGUuYW06CgkgICogc3lzL3ZjZC9NYWtlZmlsZS5hbToKCSAgKiBzeXMvd2luaW5ldC9NYWtlZmlsZS5hbToKCSAgKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIERvbid0IGluc3RhbGwgc3RhdGljIGxpYnMgZm9yIHBsdWdpbnMuIEZpeGVzICM1NTA4NTEgZm9yIC1iYWQuCgoyMDA4LTEwLTEyIDIxOjUyOjI3ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIHN5cy9vc3M0LzogQWRkIHNvbWUgc3BhY2VzIGluIHRyYW5zbGF0ZWFibGUgc3RyaW5ncy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL29zczQvb3NzNC1taXhlci5jOgoJICAqIHN5cy9vc3M0L29zczQtc2luay5jOgoJICAqIHN5cy9vc3M0L29zczQtc291cmNlLmM6CgkgIEFkZCBzb21lIHNwYWNlcyBpbiB0cmFuc2xhdGVhYmxlIHN0cmluZ3MuCgkgIEZpeGVzOiAjNTU1OTY5ICM1NTU5NjggIzU1NTk2NQoKMjAwOC0wOC0wNyAxNjoyMDozMCArMDAwMCAgRnJlZGVyaWMgQ3JvemF0IDxmY3JvemF0QG1hbmRyaXZhLm9yZz4KCgkgIE1ha2Ugc3VyZSBnZXR0ZXh0IHJldHVybnMgdHJhbnNsYXRpb25zIGluIFVURi04IGVuY29kaW5nIHJhdGhlciB0aGFuIGluIHRoZSBjdXJyZW50IGxvY2FsZSBlbmNvZGluZyAoIzU0NjgyMikuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogRnJlZGVyaWMgQ3JvemF0IDxmY3JvemF0QG1hbmRyaXZhLm9yZz4KCSAgKiBleHQvc25kZmlsZS9nc3RzZi5jOiAocGx1Z2luX2luaXQpOgoJICAqIHN5cy9kdmIvZ3N0ZHZic3JjLmM6IChnc3RfZHZic3JjX3BsdWdpbl9pbml0KToKCSAgKiBzeXMvb3NzNC9vc3M0LWF1ZGlvLmM6IChwbHVnaW5faW5pdCk6CgkgIE1ha2Ugc3VyZSBnZXR0ZXh0IHJldHVybnMgdHJhbnNsYXRpb25zIGluIFVURi04IGVuY29kaW5nIHJhdGhlcgoJICB0aGFuIGluIHRoZSBjdXJyZW50IGxvY2FsZSBlbmNvZGluZyAoIzU0NjgyMikuCgoyMDA4LTA2LTE2IDA3OjMwOjM0ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBGaW5hbCByb3VuZCBvZiBkb2MgdXBkYXRlcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgICogZ3N0L3NwZWVkL2dzdHNwZWVkLmM6CgkgICogZ3N0L3NwZWV4cmVzYW1wbGUvZ3N0c3BlZXhyZXNhbXBsZS5jOgoJICAqIGdzdC92aWRlb3NpZ25hbC9nc3R2aWRlb2FuYWx5c2UuYzoKCSAgKiBnc3QvdmlkZW9zaWduYWwvZ3N0dmlkZW9kZXRlY3QuYzoKCSAgKiBnc3QvdmlkZW9zaWduYWwvZ3N0dmlkZW9tYXJrLmM6CgkgICogc3lzL2R2Yi9nc3RkdmJzcmMuYzoKCSAgKiBzeXMvb3NzNC9vc3M0LW1peGVyLmM6CgkgICogc3lzL29zczQvb3NzNC1zaW5rLmM6CgkgICogc3lzL29zczQvb3NzNC1zb3VyY2UuYzoKCSAgKiBzeXMvd2luaW5ldC9nc3R3aW5pbmV0c3JjLmM6CgkgIEZpbmFsIHJvdW5kIG9mIGRvYyB1cGRhdGVzLgoKMjAwOC0wNi0xMiAxNDo0OToxOCArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgRG8gbm90IHVzZSBzaG9ydF9kZXNjcmlwdGlvbiBpbiBzZWN0aW9uIGRvY3MgZm9yIGVsZW1lbnRzLiBXZSBleHRyYWN0IHRoZW0gZnJvbSBlbGVtZW50IGRldGFpbHMgYW5kIHRoZXJlIHdpbGwgYmUgd2FyLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9kYzEzOTQvZ3N0ZGMxMzk0LmM6CgkgICogZXh0L2l2b3JiaXMvdm9yYmlzZGVjLmM6CgkgICogZXh0L2phY2svZ3N0amFja2F1ZGlvc2luay5jOgoJICAqIGV4dC9tZXRhZGF0YS9nc3RtZXRhZGF0YWRlbXV4LmM6CgkgICogZXh0L215dGh0di9nc3RteXRodHZzcmMuYzoKCSAgKiBleHQvdGhlb3JhL3RoZW9yYWRlYy5jOgoJICAqIGdzdC1saWJzL2dzdC9hcHAvZ3N0YXBwc2luay5jOgoJICAqIGdzdC9iYXllci9nc3RiYXllcjJyZ2IuYzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuYzoKCSAgKiBnc3QvcmF3cGFyc2UvZ3N0YXVkaW9wYXJzZS5jOgoJICAqIGdzdC9yYXdwYXJzZS9nc3R2aWRlb3BhcnNlLmM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwY2xpZW50LmM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwcHRkZW11eC5jOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzc3JjZGVtdXguYzoKCSAgKiBnc3Qvc2VsZWN0b3IvZ3N0aW5wdXRzZWxlY3Rvci5jOgoJICAqIGdzdC9zZWxlY3Rvci9nc3RvdXRwdXRzZWxlY3Rvci5jOgoJICAqIGdzdC92aWRlb3NpZ25hbC9nc3R2aWRlb2FuYWx5c2UuYzoKCSAgKiBnc3QvdmlkZW9zaWduYWwvZ3N0dmlkZW9kZXRlY3QuYzoKCSAgKiBnc3QvdmlkZW9zaWduYWwvZ3N0dmlkZW9tYXJrLmM6CgkgICogc3lzL29zczQvb3NzNC1taXhlci5jOgoJICAqIHN5cy9vc3M0L29zczQtc2luay5jOgoJICAqIHN5cy9vc3M0L29zczQtc291cmNlLmM6CgkgIERvIG5vdCB1c2Ugc2hvcnRfZGVzY3JpcHRpb24gaW4gc2VjdGlvbiBkb2NzIGZvciBlbGVtZW50cy4gV2UgZXh0cmFjdAoJICB0aGVtIGZyb20gZWxlbWVudCBkZXRhaWxzIGFuZCB0aGVyZSB3aWxsIGJlIHdhcm5pbmdzIGlmIHRoZXkgZGlmZmVyLgoJICBBbHNvIGZpeGluZyB1cCB0aGUgQ2hhbmdlTG9nIG9yZGVyLgoKMjAwOC0wNi0xMiAxMzowNjozNyArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgdGVzdHMvaWNsZXMvdGVzdC1vc3M0LmM6IEluY2x1ZGUgc3RkbGliLmguCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2ljbGVzL3Rlc3Qtb3NzNC5jOgoJICBJbmNsdWRlIHN0ZGxpYi5oLgoKMjAwOC0wNS0yMiAxNjozMzoyNSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIHRlc3RzL2ljbGVzLzogU21hbGwgb3NzNCB0ZXN0IHRoYXQgcHJvYmVzIGZvciBhdmFpbGFibGUgZGV2aWNlcyBhbmQgcmV0cmlldmVzIHRoZWlyIGNhcHMgYW5kIG1peGVyIHRyYWNrcyBhbmQgYWxsIHRoYS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9pY2xlcy8uY3ZzaWdub3JlOgoJICAqIHRlc3RzL2ljbGVzL01ha2VmaWxlLmFtOgoJICAqIHRlc3RzL2ljbGVzL3Rlc3Qtb3NzNC5jOiAob3B0X3Nob3dfbWl4ZXJfbWVzc2FnZXMpLCAoV0FJVF9USU1FKSwKCSAgKHNob3dfbWl4ZXJfbWVzc2FnZXMpLCAocHJvYmVfbWl4ZXJfdHJhY2tzKSwgKHByb2JlX3BhZCksCgkgIChwcm9iZV9kZXRhaWxzKSwgKHByb2JlX2VsZW1lbnQpLCAobWFpbik6CgkgIFNtYWxsIG9zczQgdGVzdCB0aGF0IHByb2JlcyBmb3IgYXZhaWxhYmxlIGRldmljZXMgYW5kIHJldHJpZXZlcwoJICB0aGVpciBjYXBzIGFuZCBtaXhlciB0cmFja3MgYW5kIGFsbCB0aGF0LiBBbHNvIGFsbG93cyB0ZXN0aW5nIG9mCgkgIG1peGVyIGNoYW5nZSBtZXNzYWdlcyBvbiB0aGUgYnVzLgoKMjAwOC0wNS0yMiAxNToxNDoyNiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIHN5cy9vc3M0LzogTWFrZSBkZXZpY2UtbmFtZSBwcm9iaW5nIGluIE5VTEwgc3RhdGUgd29yayBiZXR0ZXIgKGUuZy4gZm9yIHRoZSBnbm9tZS1jb250cm9sLWNlbnRlciBzb3VuZCBjYXBwbGV0KS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL29zczQvb3NzNC1taXhlci5jOiAoZ3N0X29zczRfbWl4ZXJfb3Blbik6CgkgICogc3lzL29zczQvb3NzNC1wcm9wZXJ0eS1wcm9iZS5jOgoJICAoZ3N0X29zczRfcHJvcGVydHlfcHJvYmVfZmluZF9kZXZpY2VfbmFtZSksCgkgIChnc3Rfb3NzNF9wcm9wZXJ0eV9wcm9iZV9maW5kX2RldmljZV9uYW1lX25vZmQpOgoJICAqIHN5cy9vc3M0L29zczQtcHJvcGVydHktcHJvYmUuaDoKCSAgKiBzeXMvb3NzNC9vc3M0LXNpbmsuYzogKGdzdF9vc3M0X3NpbmtfZ2V0X3Byb3BlcnR5KToKCSAgKiBzeXMvb3NzNC9vc3M0LXNvdXJjZS5jOiAoZ3N0X29zczRfc291cmNlX2dldF9wcm9wZXJ0eSk6CgkgIE1ha2UgZGV2aWNlLW5hbWUgcHJvYmluZyBpbiBOVUxMIHN0YXRlIHdvcmsgYmV0dGVyIChlLmcuIGZvciB0aGUKCSAgZ25vbWUtY29udHJvbC1jZW50ZXIgc291bmQgY2FwcGxldCkuCgoyMDA4LTA1LTA4IDE5OjE2OjE3ICswMDAwICBDbGl2ZSBXcmlnaHQgPGNsaXZlX3dyaWdodEBudGx3b3JsZC5jb20+CgoJICBzeXMvb3NzNC9vc3M0LW1peGVyLXNsaWRlci5jOiBBcHBhcmVudGx5IG1vbm8gc2xpZGVycyBoYXZlIHRoZSBtb25vIHZhbHVlIHJlcGVhdGVkIGluIHRoZSB1cHBlciBiaXRzLCBzbyBtYXNrIHRob3NlIG8uLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEJhc2VkIG9uIHBhdGNoIGJ5OiBDbGl2ZSBXcmlnaHQgPGNsaXZlX3dyaWdodCBudGx3b3JsZCBjb20+CgkgICogc3lzL29zczQvb3NzNC1taXhlci1zbGlkZXIuYzogKGdzdF9vc3M0X21peGVyX3NsaWRlcl91bnBhY2tfdm9sdW1lKToKCSAgQXBwYXJlbnRseSBtb25vIHNsaWRlcnMgaGF2ZSB0aGUgbW9ubyB2YWx1ZSByZXBlYXRlZCBpbiB0aGUgdXBwZXIgYml0cywKCSAgc28gbWFzayB0aG9zZSBvdXQgd2hlbiByZWFkaW5nIHRoZW0uIFByb2JhYmx5IG1ha2VzIHRoZSBtaXhlciBhcHBsZXQKCSAgd29yayBwcm9wZXJseSBpbiBzb21lIG1vcmUgY2FzZXMuCgoyMDA4LTA0LTExIDA4OjEzOjIyICswMDAwICBKdWxpZW4gTW91dHRlIDxqdWxpZW5AbW91dHRlLm5ldD4KCgkgIHN5cy9vc3M0LzogRml4IGFyZ3VtZW50cyBmb3JtYXQgaW4gZGVidWcgc3RhdGVtZW50cy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDgtMDQtMTEgIEp1bGllbiBNb3V0dGUgIDxqdWxpZW5AZmx1ZW5kby5jb20+CgkgICogc3lzL29zczQvb3NzNC1taXhlci1lbnVtLmM6CgkgIChnc3Rfb3NzNF9taXhlcl9lbnVtX2dldF92YWx1ZXNfbG9ja2VkKToKCSAgKiBzeXMvb3NzNC9vc3M0LXNvdXJjZS5jOiAoZ3N0X29zczRfc291cmNlX2RlbGF5KTogRml4IGFyZ3VtZW50cwoJICBmb3JtYXQgaW4gZGVidWcgc3RhdGVtZW50cy4KCjIwMDgtMDQtMDIgMjA6MTg6NTggKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBBZGQgaW5pdGlhbCBzdXBwb3J0IGZvciBPU1N2NC4gTWl4ZXIgc3RpbGwgbmVlZHMgYSBiaXQgbW9yZSBsb3ZlLCBidXQgZXZlbiBtYWdpYyBoYXMgaXRzIGxpbWl0cy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAqIHN5cy9NYWtlZmlsZS5hbToKCSAgKiBzeXMvb3NzNC9NYWtlZmlsZS5hbToKCSAgKiBzeXMvb3NzNC9vc3M0LWF1ZGlvLmM6CgkgICogc3lzL29zczQvb3NzNC1hdWRpby5oOgoJICAqIHN5cy9vc3M0L29zczQtbWl4ZXItZW51bS5jOgoJICAqIHN5cy9vc3M0L29zczQtbWl4ZXItZW51bS5oOgoJICAqIHN5cy9vc3M0L29zczQtbWl4ZXItc2xpZGVyLmM6CgkgICogc3lzL29zczQvb3NzNC1taXhlci1zbGlkZXIuaDoKCSAgKiBzeXMvb3NzNC9vc3M0LW1peGVyLXN3aXRjaC5jOgoJICAqIHN5cy9vc3M0L29zczQtbWl4ZXItc3dpdGNoLmg6CgkgICogc3lzL29zczQvb3NzNC1taXhlci5jOgoJICAqIHN5cy9vc3M0L29zczQtbWl4ZXIuaDoKCSAgKiBzeXMvb3NzNC9vc3M0LXByb3BlcnR5LXByb2JlLmM6CgkgICogc3lzL29zczQvb3NzNC1wcm9wZXJ0eS1wcm9iZS5oOgoJICAqIHN5cy9vc3M0L29zczQtc2luay5jOgoJICAqIHN5cy9vc3M0L29zczQtc2luay5oOgoJICAqIHN5cy9vc3M0L29zczQtc291bmRjYXJkLmg6CgkgICogc3lzL29zczQvb3NzNC1zb3VyY2UuYzoKCSAgKiBzeXMvb3NzNC9vc3M0LXNvdXJjZS5oOgoJICBBZGQgaW5pdGlhbCBzdXBwb3J0IGZvciBPU1N2NC4gTWl4ZXIgc3RpbGwgbmVlZHMgYSBiaXQgbW9yZSBsb3ZlLAoJICBidXQgZXZlbiBtYWdpYyBoYXMgaXRzIGxpbWl0cy4KCjIwMTAtMDUtMTEgMTA6NTI6NTggKzAyMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogc3lzL29zeHZpZGVvL2NvY29hd2luZG93Lmg6CgkqIHN5cy9vc3h2aWRlby9jb2NvYXdpbmRvdy5tOgoJKiBzeXMvb3N4dmlkZW8vb3N4dmlkZW9zaW5rLmg6CgkqIHN5cy9vc3h2aWRlby9vc3h2aWRlb3NpbmsubToKCSAgb3N4dmlkZW9zaW5rOiBpbXBsZW1lbnQgdGhlIHhvdmVybGF5IGludGVyZmFjZS4gRml4ZXMgIzYxODM0OS4KCjIwMTAtMDUtMTEgMTg6NDI6MzIgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBmaXggcHVzaCBiYXNlZCBzZWVraW5nCgkgIC4uLiB3aGVyZSBpdCBjb21lcyBkb3duIHRvIHRyYW5zZm9ybWluZyBpbmNvbWluZyBCWVRFIHNlZ21lbnQKCSAgdG8gYSBjb3JyZXNwb25kaW5nIFRJTUUgc2VnbWVudC4KCSAgQWxzbyBmaXhlcyAjNjA5NDA1LgoKMjAxMC0wNS0xMSAxNDoyMzo0NyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1kb2NzLnNnbWw6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWltYWdlZnJlZXplLnhtbDoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzLy5naXRpZ25vcmU6CgkgIE1vdmUgaW1hZ2VmcmVlemUgcGx1Z2luIGZyb20gLWJhZCB0byAtZ29vZAoJICBIb29rIHVwIGJ1aWxkIGluZnJhc3RydWN0dXJlLCBkb2NzIGFuZCB1bml0IHRlc3QgZm9yIG5ldyBwbHVnaW4uCgkgIEZpeGVzICM2MTM3ODYuCgoyMDEwLTA1LTA1IDEyOjIzOjU2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pbWFnZWZyZWV6ZS9nc3RpbWFnZWZyZWV6ZS5jOgoJICBpbWFnZWZyZWV6ZTogU2V0IGZpeGVkIGNhcHMgb24gdGhlIGNvcnJlY3QgcGFkCgkgIFRoaXMgbWFrZXMgdGhlIHNpbmsgZ2V0Y2FwcyBmdW5jdGlvbiBhY3R1YWxseSB1c2VkIGluc3RlYWQgb2YgdXNpbmcKCSAgdGhlIGZpeGVkIGNhcHMgZnVuY3Rpb24gZm9yIGl0LgoKMjAxMC0wMy0yMSAyMTozOToxOCArMDEwMCAgQmVuamFtaW4gT3R0ZSA8b3R0ZUByZWRoYXQuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvaW1hZ2VmcmVlemUuYzoKCSAgQWRkIC1XbWlzc2luZy1kZWNsYXJhdGlvbnMgLVdtaXNzaW5nLXByb3RvdHlwZXMgdG8gY29uZmlndXJlIGZsYWdzCgkgIEFuZCBmaXggYWxsIHdhcm5pbmdzCgoyMDEwLTAzLTE1IDExOjU0OjAyICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pbWFnZWZyZWV6ZS9nc3RpbWFnZWZyZWV6ZS5jOgoJICBpbWFnZWZyZWV6ZTogT25seSBzdGFydCB0aGUgdGFzayBhZnRlciBhIHNlZWsgaWYgYSBidWZmZXIgd2FzIHJlY2VpdmVkIGFscmVhZHkKCjIwMTAtMDItMjggMTY6MDg6MTQgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvaW1hZ2VmcmVlemUuYzoKCSAgaW1hZ2VmcmVlemU6IEFkZCBzb21lIHVuaXQgdGVzdHMKCjIwMTAtMDItMjggMTY6MDQ6MzEgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2ltYWdlZnJlZXplL2dzdGltYWdlZnJlZXplLmM6CgkgIGltYWdlZnJlZXplOiBTZXQgdW5kZWZpbmVkIGZyYW1lcmF0ZSBpbiBzaW5rIGdldGNhcHMgZnVuY3Rpb24KCjIwMTAtMDItMjggMTU6MDI6MDIgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2ltYWdlZnJlZXplL2dzdGltYWdlZnJlZXplLmM6CgkgIGltYWdlZnJlZXplOiBJbXBsZW1lbnQgcmV2ZXJzZSBwbGF5YmFjayBhbmQgc2V0IGJ1ZmZlciBvZmZzZXRzCgoyMDEwLTAyLTI3IDE3OjMzOjA1ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pbWFnZWZyZWV6ZS9NYWtlZmlsZS5hbToKCSogZ3N0L2ltYWdlZnJlZXplL2dzdGltYWdlZnJlZXplLmM6CgkqIGdzdC9pbWFnZWZyZWV6ZS9nc3RpbWFnZWZyZWV6ZS5oOgoJICBpbWFnZWZyZWV6ZTogQWRkIHN0aWxsIGZyYW1lIHN0cmVhbSBnZW5lcmF0b3IgZWxlbWVudAoKMjAxMC0wNS0xMSAxMzowNzoxOSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVnLnhtbDoKCSogZ3N0L2RlYnVndXRpbHMvTWFrZWZpbGUuYW06CgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdGRlYnVnLmM6CgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy8uZ2l0aWdub3JlOgoJICBNb3ZlIGNhcHNmaWx0ZXIgZWxlbWVudCBmcm9tIC1iYWQgdG8gLWdvb2QKCSAgSG9vayB1cCBtb3ZlZCBmaWxlcyB0byB0aGUgYnVpbGQgaW5mcmFzdHJ1Y3R1cmUgYW5kIGRvY3MuCgkgIEZpeGVzICM2MTc3MzkuCgoyMDEwLTA1LTA2IDEzOjEyOjMyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdGNhcHNzZXR0ZXIuYzoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0Y2Fwc3NldHRlci5oOgoJICBjYXBzc2V0dGVyOiBTb21lIG1pbm9yIGNsZWFudXAKCjIwMTAtMDMtMjIgMTY6NTY6MDMgKzAxMDAgIEJlbmphbWluIE90dGUgPG90dGVAcmVkaGF0LmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2NhcHNzZXR0ZXIuYzoKCSAgQWRkIC1Xb2xkLXN0eWxlLWRlZmluaXRpb24KCSAgYW5kIGZpeCB0aGUgd2FybmluZ3MKCjIwMTAtMDMtMTggMTc6MzA6MjYgKzAxMDAgIEJlbmphbWluIE90dGUgPG90dGVAcmVkaGF0LmNvbT4KCgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdGNhcHNzZXR0ZXIuYzoKCSAgZ3N0X2VsZW1lbnRfY2xhc3Nfc2V0X2RldGFpbHMgPT4gZ3N0X2VsZW1lbnRfY2xhc3Nfc2V0X2RldGFpbHNfc2ltcGxlCgoyMDA5LTEwLTA4IDE5OjUxOjMxICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2NhcHNzZXR0ZXIuYzoKCSAgY2Fwc3NldHRlcjogYWRkIHVuaXQgdGVzdAoKMjAwOS0wNi0yNSAxNjo0MTo0OSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZGVidWd1dGlscy9nc3RjYXBzc2V0dGVyLmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdGNhcHNzZXR0ZXIuaDoKCSAgY2Fwc3NldHRlcjogaW1wb3J0IGVsZW1lbnQgaW50byAtYmFkCgoyMDEwLTA1LTExIDEyOjA2OjEwICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdmkvZ3N0YXZpbXV4LmM6CgkgIGF2aW11eDogY2hlY2sgdGhhdCBwYWRzIGhhdmUgYmVlbiBuZWdvdGlhdGVkCgkgIEFsc28gc2V0IGZjY19oYW5kbGVyIGZpZWxkIGluIGF1ZGlvIHN0cmVhbSBoZWFkZXIuCgkgIEZpeGVzICM2MTgzNTEuCgoyMDEwLTA1LTEwIDE4OjMzOjAzICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogZml4IHBhcnRpYWwgcGFyc2luZyBvZiBjdHRzIHRhYmxlCgkgIEZpeGVzICM2MTY1MTYuCgoyMDEwLTA1LTEwIDE4OjMyOjE1ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogY2xlYW51cCBhIGNvbW1lbnQgYW5kIGFkZCBzb21lIGRlYnVnIGFuZCBjb25kaXRpb25hbCBjb21waWxhdGlvbgoKMjAxMC0wNS0xMSAxMDowMTo1MiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogQ2hlY2sgZm9yIEdUSysgMy4wIGFuZCBpZiBpdCdzIG5vdCBhdmFpbGFibGUgZm9yIEdUSysgMi4wCgoyMDEwLTA1LTEwIDIyOjExOjEwICswMjAwICBKYW4gVXJiYcWEc2tpIDx3dWxjemVyQHd1bGN6ZXIub3JnPgoKCSogZ3N0L2Zsdi9nc3RmbHZtdXguYzoKCSAgZmx2bXV4OiBvbmx5IHN0b3JlIHRoZSBsYXN0IGJ1ZmZlciB0aW1lc3RhbXAgaWYgaXQncyB2YWxpZAoJICBGaXhlcyBidWcgIzYxODMwNQoKMjAxMC0wMS0wOCAyMjoxMzo1OSAtMDUwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBoMjY0cGF5LmM6CgkgIHJ0cGgyNjRwYXk6IFJlLXNlbmQgU1BTL1BQUyB3aGVuIHJlcXVlc3RlZAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjA2Njg5CgoyMDEwLTA1LTA3IDE3OjA5OjE2ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2NHBheS5jOgoJICBydHBoMjY0cGF5OiBmaXggdHlwbyBpbiBkZWJ1ZyBtZXNzYWdlCgoyMDEwLTA1LTA3IDE1OjQyOjIzICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwdGhlb3JhcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwdGhlb3JhcGF5Lmg6CgkgIHJ0cHRoZW9yYXBheTogYWRkIGNvbmZpZy1pbnRlcnZhbCBwYXJhbWV0ZXIgdG8gcmUtaW5zZXJ0IGNvbmZpZyBpbiBzdHJlYW0KCSAgQWRkIGEgbmV3IGNvbmZpZy1pbnRlcnZhbCBwcm9wZXJ0eSB0byBpbnN0cnVjdCB0aGUgcGF5bG9hZGVyIHRvIGluc2VydAoJICBjb25maWd1cmF0aW9uIGhlYWRlcnMgYXQgcGVyaW9kaWMgaW50ZXJ2YWxzIGluIHRoZSBzdHJlYW0KCSAgKHdoZW4gYSBrZXlmcmFtZSBpcyBjb3VudGVyZWQpLgoKMjAxMC0wNS0wNyAxNTozMTowMyArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cHRoZW9yYWRlcGF5LmM6CgkgIHJ0cHRoZW9yYWRlcGF5OiBmaXggaW4tYmFuZCBjb25maWd1cmF0aW9uIHBhcnNpbmcKCSAgQWxzbyBtYWtlIGNvbmZpZ3VyYXRpb24gaGVhZGVyIHBhcnNpbmcgYSBiaXQgbW9yZSByZWxheGVkIHdpdGggcmVzcGVjdAoJICB0byBsZW5ndGggZmllbGQgaW50ZXJwcmV0YXRpb24uCgoyMDEwLTA1LTA3IDE1OjMwOjMwICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwdm9yYmlzZGVwYXkuYzoKCSAgcnRwdm9yYmlzZGVwYXk6IGZpeCBpbi1saW5lIGNvbmZpZ3VyYXRpb24gcGFyc2luZwoJICBBbHNvIG1ha2UgY29uZmlndXJhdGlvbiBoZWFkZXIgcGFyc2luZyBhIGJpdCBtb3JlIHJlbGF4ZWQgd2l0aCByZXNwZWN0CgkgIHRvIGxlbmd0aCBmaWVsZCBpbnRlcnByZXRhdGlvbi4KCjIwMTAtMDUtMDQgMTY6NTc6MzUgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHB0aGVvcmFwYXkuYzoKCSAgcnRwdGhlb3JhcGF5OiBkbyBub3QgZGlzY2FyZCBkb3duc3RyZWFtIGZsb3cgcmV0dXJuCgoyMDEwLTA1LTA0IDE2OjU3OjExICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwdGhlb3JhcGF5LmM6CgkgIHJ0cHRoZW9yYXBheTogcmVmYWN0b3IgYnVmZmVyIHBheWxvYWRpbmcKCjIwMTAtMDUtMDcgMjA6NDE6MDQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmM6CgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZW1ldGhvZC5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2VtZXRob2QuaDoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS9ncmVlZHkuYzoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS9ncmVlZHloLmM6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvbGluZWFyLmM6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvbGluZWFyYmxlbmQuYzoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS9zY2FsZXJib2IuYzoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS92ZmlyLmM6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvd2VhdmUuYzoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS93ZWF2ZWJmZi5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL3dlYXZldGZmLmM6CgkgIGRlaW50ZXJsYWNlOiBBZGQgc3VwcG9ydCBmb3IgVVlWWQoKMjAxMC0wNS0wNyAxOTowNjozNSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSAgcnRwc2Vzc2lvbjogZml4IHJldHVybiB2YWx1ZQoKMjAxMC0wNS0wNyAxOTowMjoyMSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogZG9uJ3QgbGVhayB0aGUgc2Vzc2lvbgoKMjAxMC0wNS0wNyAxODo1OTo0MiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcDogY29uZmlndXJlIGJhbmR3aWR0aCBwcm9wZXJ0aWVzIGluIHRoZSBzZXNzaW9uCgoyMDEwLTA1LTA3IDE4OjU4OjU4ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOgoJICBydHBzZXNzaW9uOiBhZGQgcHJvcGVydGllcyB0byBjb25maWd1cmUgdGhlIGJhbmR3aWR0aAoJICBBZGQgcHJvcGVydGllcyB0byBwcm94eSB0aGUgYmFuZHdpZHRoIGNvbmZpZ3VyYXRpb24gdG8gdGhlIHNlc3Npb24gb2JqZWN0LgoKMjAxMC0wNS0wNyAxODo1NzoxMyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5oOgoJICBydHBzZXNzaW9uOiBhZGQgcHJvcGVydGllcyB0byBjb25maWd1cmUgYmFuZHdpZHRocwoJICBBZGQgcHJvcGVydGllcyB0byBjb25maWd1cmUgdGhlIHNlbmRlciBhbmQgcmVjZWl2ZXIgYmFuZHdpZHRocy4KCSAgQ29uZmlndXJlIHRoZSBiYW5kd2lkdGhzIGJlZm9yZSBjYWxjdWxhdGluZyB0aGUgUlRDUCB0aW1lb3V0IHdoZW4gd2UgbmVlZCB0by4KCjIwMTAtMDUtMDcgMTg6NTY6MzAgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzdGF0cy5jOgoJICBydHBzdGF0czogYWRkIHNvbWUgZGVidWcgaW5mbwoKMjAxMC0wNS0wNyAxODo1NTozNCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzoKCSAgcnRwc2Vzc2lvbjogc21hbGwgY2xlYW51cHMKCjIwMTAtMDUtMDcgMTY6NTU6MTMgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzdGF0cy5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzdGF0cy5oOgoJICBydHBzdGF0czogbWFrZSBiYW5kd2lkdGhzIG1vcmUgY29uZmlndXJhYmxlCgkgIEFkZCBhIG1ldGhvZCB0byBjb25maWd1cmUgdGhlIHZhcmlvdXMgYmFuZHdpZHRocyBpbiB0aGUgc2Vzc2lvbi4KCjIwMTAtMDUtMDcgMTM6MzI6MzAgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkgIHJ0cHNlc3Npb246IGhhbmRsZSBOT05FIFJUQ1AgaW50ZXJ2YWxzCgkgIFByZXBhcmUgZm9yIGhhbmRsaW5nIFJUQ1AgcmVwb3J0aW5nIGludGVydmFscyBvZiBHU1RfQ0xPQ0tfVElNRV9OT05FLCB3aGljaAoJICBtZWFucyBkb24ndCBzZW5kIFJUQ1AgYXQgYWxsLgoKMjAxMC0wNS0wNyAxMjo1MTowNSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5oOgoJICBydHNwc3JjOiBmYWxsIGJhY2sgdG8gU0RQIHBvcnRzIGluc3RlYWQgb2Ygc2VydmVyX3BvcnQKCSAgSW4gbXVsdGljYXN0LCBmYWxsIGJhY2sgdG8gdGhlIHBvcnRzIGluIHRoZSBTRFAgaW5zdGVhZCBvZiB0aGUgc2VydmVyX3BvcnQKCSAgYXR0cmlidXRlIGFzIHRoaXMgaXMgbW9yZSBpbiBsaW5lIHdpdGggdGhlIFJGQy4KCjIwMTAtMDUtMDcgMTI6MjQ6NTEgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IHJlZmFjdG9yIGNvbGxlY3RpbmcgdGhlIHRyYW5zcG9ydCBpbmZvCgkgIE1ha2UgYSBtZXRob2QgdG8gY29sbGVjdCB0aGUgcG9ydHMgYW5kIGRlc3RpbmF0aW9uIGFkZHJlc3MuCgoyMDEwLTA1LTA3IDExOjI4OjM2ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBoYW5kbGUgc2VydmVycyB0aGF0IHNlbmQgYnJva2VuIFRyYW5zcG9ydHMKCSAgSGFuZGxlIHNlcnZlcnMgdGhhdCBzZW5kIHRoZWlyIHBvcnQgcGFpcnMgd2l0aCB0aGUgd3JvbmcgbmFtZS4KCSAgRml4ZXMgIzYxNzUzNwoKMjAxMC0wNS0wNiAxNjo1MjoyNiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5oOgoJICBydHNwc3JjOiB1c2UgdGhlIFNEUCBjb25uZWN0aW9uIGluZm8gaW4gbXVsdGljYXN0CgkgIFBhcnNlIHRoZSBjb25uZWN0aW9uIGluZm8gZnJvbSB0aGUgU0RQLgoJICBXaGVuIHdlIG5lZWQgdG8gY29uZmlndXJlIHRoZSBtdWx0aWNhc3QgZGVzdGluYXRpb24sIGZhbGwgYmFjayB0byB0aGUgU0RQCgkgIGNvbm5lY3Rpb24gaW5mbyB3aGVuIHRoZSB0cmFuc3BvcnQgZGlkIG5vdCBzcGVjaWZ5IGEgZGVzdGluYXRpb24gYW5kIHR0bC4KCSAgRml4ZXMgIzYxNzUzNwoKMjAxMC0wNS0wNiAxNTo0MjozOCArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2dvb20vZ3N0Z29vbS5jOgoJKiBnc3QvZ29vbTJrMS9nc3Rnb29tLmM6CgkqIGdzdC9tb25vc2NvcGUvZ3N0bW9ub3Njb3BlLmM6CgkgIGdvb20sbW9ub3Njb3BlOiB0cnVuY2F0ZSBvd24gY2FwcywgaW5zdGVhZCBvZiBjb3B5aW5nIGFuZCB1c2luZyB0aGUgZmlyc3Qgb25seQoJICBXZSBnb3QgdGhlIGNhcHMgZnJvbSBhbiBpbnRlcnNlY3QsIGl0IGlzIG91ciBvd24sIGhlbmNlIHdlIGNhbiB0cnVuY2F0ZSBpdC4KCjIwMTAtMDUtMDYgMTU6NDA6MzMgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9wdWxzZS9wdWxzZXNyYy5jOgoJICBwdWxzZXNyYzogcmVmbG93IHRvIHRydW5jYXRlIGNhcHMganVzdCBvbmNlCgkgIFdlIGdldCB3cml0YWJsZSBjcGFzIGZyb20gdGhlIGludGVyc2VjdGlvbiAodW5sZXNzIGl0IGZhaWxlZCkuIEFzIHdlIHRydW5jYXRlCgkgIHRob3NlIGFueXdheSwgd2UgZG9uJ3QgbmVlZCB0byBtYW55YWx5IGNvcHkgdGhlIGZpcnN0IHN0cnVjdHVyZS4KCjIwMTAtMDUtMDYgMTU6Mzk6MzEgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9nZGtfcGl4YnVmL2dzdGdka3BpeGJ1Zi5jOgoJICBnZGtwaXhidWY6IGRvbid0IGxlYWsgdGVtcGxhdGUgY2FwcwoKMjAxMC0wNS0wNiAxNTozODozNSArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b2F1ZGlvc2luay5jOgoJKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvYXVkaW9zcmMuYzoKCSogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b3ZpZGVvc2luay5jOgoJKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvdmlkZW9zcmMuYzoKCSAgYXV0b3thdWRpbyx2aWRlb317c3JjLHNpbmt9OiB1c2UgY2FuX2ludGVyc2VjdCB0byBhdm9pZCBhIGNhcHMgY29weQoKMjAxMC0wNC0yNyAxMzozNjozNSArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOgoJICBmbHZkZW11eDogdGVsbCB3aGF0IHdlIGNhbiBkbwoJICBBbnktY2FwcyBhcmUgYmFkLiBJZiBhcHBzIHNjYW4gdGhlIHJlZ2lzdHJ5LCB0aGV5J2QgbGlrZSB0byBrbm93IHdoYXQgd2UgY2FuCgkgIG91dHB1dC4KCjIwMTAtMDQtMjcgMTM6NDM6MjkgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9qcGVnL2dzdGpwZWdlbmMuYzoKCSAganBlZ2VuYzogYWxzbyBsaWZ0IHRoZSBhcmJpdHJhcnkgcmVzdHJpY3Rpb25zIGZvciB3aWR0aCBhbmQgaGVpZ2h0CgkgIFRoaXMgd2FzIGFscmVhZHkgZG9uZSBmb3IganBlZ2RlYy4KCjIwMTAtMDUtMDYgMTQ6MDM6MTEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3B1bHNlL3B1bHNlc3JjLmM6CgkgIHB1bHNlc3JjOiBBbGxvY2F0ZS9mcmVlIFBBIG1haW5sb29wIGR1cmluZyBzdGF0ZSBjaGFuZ2VzCgkgIC4uLmFsc28gZGVzdHJveSB0aGUgc3RyZWFtIGFuZCBjb250ZXh0IGR1cmluZyBzdGF0ZSBjaGFuZ2VzLgoKMjAxMC0wNS0wNiAxMzo1NzowMSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkgIHB1bHNlc2luazogQWxsb2NhdGUgYW5kIGZyZWUgdGhlIGN1c3RvbSBjbG9jayBpbiBOVUxMPC0+UkVBRFkKCjIwMTAtMDUtMDYgMTM6NTE6NTkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJICBwdWxzZXNpbms6IENyZWF0ZSBhbmQgZnJlZSB0aGUgUEEgbWFpbmxvb3AgaW4gTlVMTC0+UkVBRFkvUkVBRFktPk5VTEwKCSAgVGhpcyBmaXhlcyBhIHJhY2UgY29uZGl0aW9uLCB3aGVuIHN0b3BwaW5nIHRoZSBtYWlubG9vcCBkdXJpbmcgZmluYWxpemF0aW9uCgkgIGlzIGRvbmUgZnJvbSBhIG1haW5sb29wIGNhbGxiYWNrLgoJICBGaXhlcyBidWdzICM2MTQ3NjUgYW5kICM1OTA2NjIuCgoyMDEwLTA1LTA1IDE5OjM1OjQ4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIuYzoKCSAgdmlkZW9taXhlcjogTWFrZSBzZWxlY3Rpb24gb2YgYSBzaW5rcGFkIG51bWJlciB0aHJlYWRzYWZlCgoyMDEwLTA1LTA1IDE3OjM5OjMyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2VtZXRob2QuYzoKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlbWV0aG9kLmg6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvZ3JlZWR5LmM6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvbGluZWFyLmM6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvbGluZWFyYmxlbmQuYzoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS9zY2FsZXJib2IuYzoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS92ZmlyLmM6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvd2VhdmUuYzoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS93ZWF2ZWJmZi5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL3dlYXZldGZmLmM6CgkgIGRlaW50ZXJsYWNlOiBBZGQgc3VwcG9ydCBmb3IgYWxsIGNvbW1vbiBSR0IgZm9ybWF0cwoKMjAxMC0wNS0wNSAxNjowNjo1MSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuYzoKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlbWV0aG9kLmM6CgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZW1ldGhvZC5oOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL2dyZWVkeS5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL2dyZWVkeWguYXNtOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL2dyZWVkeWguYzoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS9saW5lYXIuYzoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS9saW5lYXJibGVuZC5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL3NjYWxlcmJvYi5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL3ZmaXIuYzoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS93ZWF2ZS5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL3dlYXZlYmZmLmM6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvd2VhdmV0ZmYuYzoKCSAgZGVpbnRlcmxhY2U6IEFkZCBzdXBwb3J0IGZvciBBWVVWCgoyMDEwLTA1LTA0IDE2OjM0OjI3ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBtYWtlIHNldHVwIHVybCBpbiBhIHNtYXJ0ZXIgd2F5CgkgIE1ha2Ugc3VyZSB3ZSBhbHdheXMgc2VwYXJhdGUgdGhlIGJhc2UgYW5kIGNvbnRyb2wgdXJsIHBhcnRzIHdpdGggYSAvIHdoZW4KCSAgY3JlYXRpbmcgdGhlIHNldHVwIHVybC4KCjIwMTAtMDUtMDQgMTY6MDQ6MzkgKzAyMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBoYW5kbGUgU0VFS0lORyBxdWVyaWVzLgoKMjAxMC0wNS0wNCAxMToxMzo0NSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cG1wNHZwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDR2cGF5Lmg6CgkgIHJ0cG1wNHZwYXk6IGFkZCBjb25maWctaW50ZXJ2YWwgcGFyYW1ldGVyIHRvIHJlLWluc2VydCBjb25maWcgaW4gc3RyZWFtCgkgIEFkZCBhIG5ldyBjb25maWctaW50ZXJ2YWwgcHJvcGVydHkgdG8gaW5zdHJ1Y3QgdGhlIHBheWxvYWRlciB0byBpbnNlcnQKCSAgY29uZmlnIChWT1NILCBWT1MsIGV0YykgYXQgcGVyaW9kaWMgaW50ZXJ2YWxzIGluIHRoZSBzdHJlYW0KCSAgKHdoZW4gYSBHT1Agb3IgVk9QLUkgaXMgZW5jb3VudGVyZWQpLgoJICBCYXNlZCBvbiBwYXRjaCBieSA8bWFyYy5sZWVtYW4gYXQgZ21haWwuY29tPgoJICBGaXhlcyAjNjA3NDUyLgoKMjAxMC0wNS0wMyAxMzoyNjozMiArMDIwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZGVjaW5hQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBydHBqaXR0ZXJidWZmZXI6IG1vdmUgc29tZSBpbml0aWFsaXphdGlvbiBjb2RlIGZyb20gY2hhbmdlX3N0YXRlIHRvIF9pbml0LgoJICBTZXQgLT5hY3RpdmUgdG8gVFJVRSBpbiBfaW5pdCBzbyBpdCBjYW4gYmUgc2V0IHRvIEZBTFNFIGFmdGVyIGNyZWF0aW5nIHRoZQoJICBqaXR0ZXJidWZmZXIgYW5kIGl0IHdvbid0IGJlIG1pc3Rha2VubHkgcmVzZXQgdG8gVFJVRSBpbiB0aGUgY2hhbmdlX3N0YXRlCgkgIGZ1bmN0aW9uLgoJICBUaGlzIGlzIG5lZWRlZCB0byBzdGFydCB0aGUgaml0dGVyYnVmZmVyIGFzIGluYWN0aXZlIHdoZW4gcnRwYmluIGlzIGJ1ZmZlcmluZy4KCjIwMTAtMDUtMDMgMTE6NTY6NTggKzAyMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRlY2luYUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzoKCSAgcnRwYmluOiBmaXggYSBidWcgaGFuZGxpbmcgQlVGRkVSSU5HIG1lc3NhZ2VzLgoJICBJZiBhIHNlc3Npb24gZXhpc3RzIGJ1dCBoYXMgbm8gc3RyZWFtcywgc2V0IHRoZSBtaW4gYnVmZmVyaW5nIHBlcmNlbnQgdG8gMAoJICBzaW5jZSBpdCBtZWFucyB0aGF0IHdlIGhhdmVuJ3QgcmVjZWl2ZWQgYW55dGhpbmcgZm9yIHRoYXQgc2Vzc2lvbiB5ZXQuCgoyMDEwLTA1LTAzIDExOjUxOjM3ICswMjAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kZWNpbmFAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6CgkgIHJ0cGJpbjogd2hlbiBhIHN0cmVhbSBpcyBjcmVhdGVkLCBwYXVzZSB0aGUgaml0dGVyYnVmZmVyIGlmIHJ0cGJpbiBpcyBidWZmZXJpbmcuCgoyMDEwLTA1LTAzIDExOjIzOjU5ICswMjAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kZWNpbmFAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6CgkgIHJ0cGJpbjogZml4IGEgYnVnIGNhbGN1bGF0aW5nIHN0cmVhbSBvZmZzZXRzLgoKMjAxMC0wNS0wMSAxNDoyMDo1OSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguaDoKCSAgbWF0cm9za2FtdXg6IFdyaXRlIHByZXZpb3VzIGNsdXN0ZXIncyBzaXplCgkgIFRoaXMgaXMgdXNlZnVsIGZvciBiYWNrd2FyZHMgcGxheWJhY2ssIHdoaWNoIHNob3VsZCBiZSBpbXBsZW1lbnRlZAoJICBpbiBtYXRyb3NrYWRlbXV4IGF0IHNvbWUgcG9pbnQuCgoyMDEwLTA1LTAxIDE0OjE1OjQ5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYWRlbXV4OiBTZXQgaW50ZXJsYWNlZCBmbGFnIGluIHRoZSBjYXBzIGlmIHRoZSBmbGFnIGlzIHNldCBpbiB0aGUgTWF0cm9za2EgZmlsZQoKMjAxMC0wNS0wMSAxNDoxMjoyOCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkgIG1hdHJvc2thbXV4OiBXcml0ZSBpbnRlcmxhY2VkIGZsYWcgaWYgdGhlIGlucHV0IHZpZGVvIGNvbnRlbnQgaXMgaW50ZXJsYWNlZAoJICBVbmZvcnR1bmF0ZWx5IE1hdHJvc2thIGhhcyBubyB3YXkgdG8gc3BlY2lmeSBURkYgYW5kIGZyaWVuZHMuLi4KCjIwMTAtMDUtMDEgMTE6MjU6MjYgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHB0aGVvcmFkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHZvcmJpc2RlcGF5LmM6CgkgIHJ0cDogZml4IHByaW50ZiBmb3JtYXQgb2Ygc29tZSBkZWJ1ZyBtZXNzYWdlcwoKMjAxMC0wNS0wMSAxMTowNjo1MyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2E6IGluaXQgdmFyaWFibGUgdG8gYXZvaWQgY29tcGlsZXIgd2FybmluZyBvbiBPU1gKCSAgRml4ZXMgKGJvZ3VzKSAiJ29mZnNldCcgbWF5IGJlIHVzZWQgdW5pbml0aWFsaXplZCBpbiB0aGlzIGZ1bmN0aW9uIgoJICB3YXJuaW5nIG9uIGJ1aWxkIGJvdCAoYWxzbyBzcG90dGVkIGJ5IHBoaWxuKS4KCjIwMTAtMDQtMzAgMTc6MTk6NDQgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBVWVZZIGlzIDQ6MjoyLCBub3QgNDoyOjAKCjIwMTAtMDQtMzAgMjI6MjI6MjUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3B1bHNlL3B1bHNldXRpbC5jOgoJICBwdWxzZTogRG9uJ3QgY29tcGFyZSB2YWx1ZXMgb2YgdHdvIGRpZmZlcmVudCBlbnVtIHR5cGVzCgoyMDEwLTA0LTMwIDIyOjEzOjMwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5jOgoJICBkZWludGVybGFjZTogTWFrZSBhdXRvbWF0aWMgZGV0ZWN0aW9uIG9mIGludGVybGFjaW5nIHRoZSBkZWZhdWx0CgkgIFByZXZpb3VzbHkgImZvcmNlIGRlaW50ZXJsYWNpbmciIHdhcyB0aGUgZGVmYXVsdCwgd2hpY2ggaXMgYSBub3QgdmVyeQoJICBzZW5zaWJsZSBkZWZhdWx0IGZvciB0aGUgbm9ybWFsIHVzZSBjYXNlIHdoZXJlIGRlaW50ZXJsYWNlIHNob3VsZCBhY3QKCSAgaW4gcGFzc3Rocm91Z2ggbW9kZSB1bmxlc3MgaW50ZXJsYWNlZCBjb250ZW50IGlzIHByZXNlbnQuCgoyMDEwLTA0LTI5IDE2OjI2OjQ5ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9qcGVnL2dzdGpwZWdkZWMuYzoKCSogZXh0L2pwZWcvZ3N0anBlZ2RlYy5oOgoJICBqcGVnZGVjOiBvcHRpbWlzZSBidWZmZXIgc2Nhbm5pbmcKCSAgU3BlY2lmaWNhbGx5LCB3aGVuIG5lZWRpbmcgbW9yZSBkYXRhLCBkbyBub3QgcmVzY2FuIGZyb20gc3RhcnQgbmV4dCB0aW1lCgkgIGFyb3VuZCwgYnV0IHJlc3VtZSBmcm9tIGxhc3QgcG9zaXRpb24uCgkgIFNlZSBhbHNvICM1ODMwNDcuCgoyMDEwLTA0LTI5IDE1OjM4OjQ5ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9qcGVnL2dzdGpwZWdkZWMuYzoKCSAganBlZ2RlYzogZGlzcmVnYXJkIHN1cGVyZmx1b3VzIGxpbmVzIHdoZW4gaW5kaXJlY3QgZGVjb2RpbmcKCjIwMTAtMDQtMjcgMTU6NDQ6MzkgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2pwZWcvZ3N0anBlZ2RlYy5jOgoJKiBleHQvanBlZy9nc3RqcGVnZGVjLmg6CgkgIGpwZWdkZWM6IGFkZCBzdXBwb3J0IGZvciBSR0IgYW5kIGdyYXlzY2FsZSBjb2xvciBzcGFjZQoJICBBbHNvIHJlZmFjdG9yIHNyYyBjYXBzIG5lZ290aWF0aW9uIGFuZCBzZXR0aW5nLgoKMjAxMC0wNC0yNyAxMjoxOToyMiArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvanBlZy9NYWtlZmlsZS5hbToKCSogZXh0L2pwZWcvZ3N0anBlZ2VuYy5jOgoJKiBleHQvanBlZy9nc3RqcGVnZW5jLmg6CgkgIGpwZWdlbmM6IHN1cHBvcnQgbW9yZSBjb2xvdXIgc3BhY2VzIGFuZCBzb21lIGNsZWFudXBzCgoyMDEwLTA0LTMwIDEyOjQ3OjAxICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9qcGVnL2dzdGpwZWdlbmMuYzoKCSAganBlZ2VuYzogbW9yZSBnZW5lcmljIHNpbmsgZ2V0Y2FwcwoKMjAxMC0wNC0zMCAxMjo0Mjo0MiArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvanBlZy9nc3RqcGVnZGVjLmM6CgkgIGpwZWdkZWM6IG1vcmUgc2FuaXR5IGNoZWNrcyBvbiBpbnB1dAoJICBTcGVjaWZpY2FsbHksIHZlcmlmeSBpbnB1dCBjb21wb25lbnRzIC8gY29sb3VyIHNwYWNlIGlzIGFzIGNvZGUKCSAgc3Vic2VxdWVudGx5IGV4cGVjdHMsIHRoZXJlYnkgYXZvaWRpbmcgY3Jhc2hlcyBvciBvdGhlcndpc2UgYm9ndXMgb3V0cHV0LgoJICBQcmVzZW50bHksIHRoYXQgbWVhbnMgMyBjb21wb25lbnRzIFlDYkNyIGNvbG91ciBzcGFjZSwgYW5kIHNvbWV3aGF0CgkgIGxpbWl0ZWQgc2FtcGxpbmcgZmFjdG9ycy4KCSAgRml4ZXMgIzYwMDU1My4KCjIwMTAtMDQtMjIgMTI6Mjg6MjIgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHB0aGVvcmFkZXBheS5jOgoJICBydHB0aGVvcmFkZXBheTogYWxzbyBhY2NlcHQgaW4tYmFuZCBjb25maWd1cmF0aW9uCgkgIEZpeGVzICM1NzQ0MTYgKHRoZW9yYSkuCgoyMDEwLTA0LTIyIDEyOjI3OjM1ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwdm9yYmlzZGVwYXkuYzoKCSAgcnRwdm9yYmlzZGVwYXk6IGFsc28gYWNjZXB0IGluLWxpbmUgY29uZmlndXJhdGlvbgoJICBGaXhlcyAjNTc0NDE2ICh2b3JiaXMpLgoKMjAxMC0wNC0wNyAxNzoyMTo1NSAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHB0aGVvcmFkZXBheS5jOgoJICBydHB0aGVvcmFkZXBheTogSWdub3JlIHBhY2tldHMgd2l0aG91dCBhIGtub3duIGNvZGVib29rCgkgIERvbid0IHByb2R1Y2UgYW4gZXJyb3IgaWYgYSBwYWNrZXQgaXMgcmVjZWl2ZWQgd2l0aG91dCBhIHZhbGlkIGNvZGVib29rLAoJICBpdCdzIHBvc3NpYmxlIHRoYXQgdGhlIGNvZGVib29rIHdpbGwganVzdCBiZSBjb21pbmcgbGF0ZXIuCgkgIFNlZSAjNTc0NDE2LgoKMjAxMC0wNC0yMCAxMjoxNzoyNiArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy95NG1lbmMuYzoKCSAgeTRtZW5jOiBhZGp1c3QgdW5pdCB0ZXN0IHRvIGVsZW1lbnQgYmVoYXZpb3VyCgoyMDEwLTAyLTIzIDIyOjE2OjM5IC0wNTAwICBCZW5qYW1pbiBNLiBTY2h3YXJ0eiA8YmVuc0BhbHVtLm1pdC5lZHU+CgoJKiBnc3QveTRtL2dzdHk0bWVuY29kZS5jOgoJKiBnc3QveTRtL2dzdHk0bWVuY29kZS5oOgoJICB5NG1lbmM6IGFkZCA0OjI6MiwgNDoxOjEsIGFuZCA0OjQ6NCBvdXRwdXQgc3VwcG9ydAoJICBGaXhlcyAjNjEwOTAyLgoKMjAxMC0wNC0xNSAxMjoyMTo1NiArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRkZXBheS5oOgoJICBydHBoMjY0ZGVwYXk6IERFTFRBX1VOSVQgbWFya2luZyBvZiBvdXRwdXQgYnVmZmVycwoJICAuLi4gd2hpY2ggZXZpZGVudGx5IG1ha2VzIChtb3N0KSBzZW5zZSBpZiBvdXRwdXQgYnVmZmVycyBhcmUKCSAgYWN0dWFsbHkgZnJhbWVzLgoJICBQYXJ0aWFsbHkgYmFzZWQgb24gYSBwYXRjaCBieQoJICBNaWd1ZWwgQW5nZWwgQ2FicmVyYSA8bWFkX2FsdWNoZSBhdCBob3RtYWlsLmNvbT4KCSAgRml4ZXMgIzYwOTY1OC4KCjIwMTAtMDQtMTYgMTc6MjE6NTAgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBoMjYzZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjYzZGVwYXkuaDoKCSAgcnRwaDI2M2RlcGF5OiBleHRyYSBrZXlmcmFtZSBpbmZvIGZyb20gUFRZUEUgaGVhZGVyCgkgIC4uLiBhcyBvcHBvc2VkIHRvIHRha2luZyBpdCBmcm9tIGgyNjMgcGF5bG9hZCBoZWFkZXIsIHdoaWNoIG5lZWQgbm90CgkgIGJlIHNvIHJlbGlhYmxlLgoJICBGaXhlcyAjNjEwMTcyLgoKMjAxMC0wNC0xNiAxNzowODo0NyArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNkZXBheS5jOgoJICBydHBoMjYzZGVwYXk6IGFsc28gdXNlIFBpY3R1cmUgU3RhcnQgQ29kZSB0byBkZXRlY3QgcGFja2V0IGxvc3MKCSAgVGhpcyBlbnN1cmVzIGEgd2hvbGUgZnJhbWUgaXMgZHJvcHBlZCBpZiBhIChzdGFydCkgcGFja2V0IGlzIGxvc3QsCgkgIHJhdGhlciB0aGFuIHJlbHlpbmcgb25seSBvbiB0aGUgRElTQ09OVCBmbGFnLgoKMjAxMC0wNC0xNiAxNzowNjoxMSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNkZXBheS5jOgoJICBydHBoMjYzZGVwYXk6IGRldGVjdCBmcmFtZSBzdGFydCB1c2luZyBQaWN0dXJlIFN0YXJ0IENvZGUKCSAgU28gd2Ugc3RvcCBkcm9wcGluZyBmcmFnbWVudHMgYXMgc29vbiBhcyB0aGVyZSBpcyBhIHBpY3R1cmUgc3RhcnQgKGNvZGUpLgoJICBJbiBwYXJ0aWN1bGFyLCB0aGlzIHByZXZlbnRzIGRyb3BwaW5nIHRoZSBmaXJzdCBmcmFtZSBmb2xsb3dpbmcKCSAgaW5pdGlhbCBESVNDT05ULgoKMjAxMC0wNC0xNiAxNjozNDowNiArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNkZXBheS5jOgoJICBydHBoMjYzZGVwYXk6IGhhbmRsZSBhIGZldyBGSVhNRXMKCjIwMTAtMDQtMTYgMTY6Mjc6MjUgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBoMjYzZGVwYXkuYzoKCSAgcnRwaDI2M2RlcGF5OiBzbGlnaHRseSByZWZhY3RvciBwYXlsb2FkIGRyb3BwaW5nCgoyMDEwLTA0LTE2IDExOjUzOjE3ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2M3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNwYXkuaDoKCSAgcnRwaDI2M3BheTogdXNlIGZvdW5kIEdPQnMgdG8gYXBwbHkgTW9kZSBBIHBheWxvYWRpbmcKCSAgLi4uIHJhdGhlciB0aGFuIGZhbGxpbmcgYmFjayB0byBzZW5kaW5nIHRoZSB3aG9sZSBmcmFtZSBpbiBvbmUgcGFja2V0CgkgIGlmIG51bWJlciBvZiBHT0Igc3RhcnRjb2RlcyA8IG1heGltdW0uCgkgIE9uZSBtaWdodCB0YWtlIHRoaXMgZnVydGhlciBhbmQgc3RpbGwgcGVyZm9ybSBNb2RlIEIvQyBwYXlsb2FkaW5nLAoJICBidXQgYXQgbGVhc3QgdGhpcyBzaG91bGQgY2F0ZXIgZm9yIGRlY2VudCBmcmFnbWVudHMgaW4gdHlwaWNhbCBjYXNlcy4KCSAgRml4ZXMgIzU5OTU4NS4KCjIwMTAtMDQtMTQgMTE6NTM6NDYgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5oOgoJICBtYXRyb3NrYWRlbXV4OiBpbXBsZW1lbnQgcHVzaCBtb2RlIHNlZWtpbmcKCjIwMTAtMDQtMjkgMjA6MDg6NDMgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1kb2NzLnNnbWw6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWludGVybGFjZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nYW1tYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc21wdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9iYWxhbmNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvYm94LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvZmlsdGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvZmxpcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb21peGVyLnhtbDoKCSogZ3N0L3NtcHRlL2dzdHNtcHRlYWxwaGEuYzoKCSAgZG9jczogdXBkYXRlIGZvciB2aWRlb2ZpbHRlciBwbHVnaW4gbWVyZ2UgYW5kIGFkZCBndGstZG9jIGJsdXJiIGZvciBuZXcgcHJvcGVydHkKCjIwMTAtMDQtMjYgMTg6MTI6NDYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmM6CgkgIGRlaW50ZXJsYWNlOiBJbXByb3ZlIHNlZ21lbnQgaGFuZGxpbmcgYSBiaXQKCjIwMTAtMDQtMjYgMTg6MDU6MDAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmM6CgkgIGRlaW50ZXJsYWNlOiBPcmRlciBjYXBzIGJ5IGFtb3VudCBvZiBjb250YWluZWQgaW5mb3JtYXRpb24KCjIwMTAtMDQtMjYgMTc6MjU6MzggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmM6CgkgIGRlaW50ZXJsYWNlOiBQcm9wZXJseSBzZXQgaW50ZXJsYWNlZCBmaWVsZCBpbiBnZXRjYXBzCgoyMDEwLTA0LTI0IDE2OjI4OjEyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvbGluZWFyLmM6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvbGluZWFyYmxlbmQuYzoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS9zY2FsZXJib2IuYzoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS93ZWF2ZS5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL3dlYXZlYmZmLmM6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvd2VhdmV0ZmYuYzoKCSAgZGVpbnRlcmxhY2U6IEFkZCBwbGFuYXIgWVVWIHN1cHBvcnQgdG8gYWxsIG90aGVyIHNpbXBsZSBtZXRob2RzCgoyMDEwLTA0LTI0IDE2OjEwOjA2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvZ3JlZWR5aC5hc206CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvZ3JlZWR5aC5jOgoJICBkZWludGVybGFjZTogQWRkIHBsYW5hciBZVVYgc3VwcG9ydCB0byBncmVlZHloIG1ldGhvZAoKMjAxMC0wNC0yNCAxNTo0MjowNyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL2dyZWVkeS5jOgoJICBkZWludGVybGFjZTogQWRkIHN1cHBvcnQgZm9yIHBsYW5hciBZVVYgZm9ybWF0cyBpbiBncmVlZHlsIG1ldGhvZAoKMjAxMC0wNC0yNCAxMzo1ODowMyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuYzoKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlbWV0aG9kLmM6CgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZW1ldGhvZC5oOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL3ZmaXIuYzoKCSAgZGVpbnRlcmxhY2U6IEFkZCBzdXBwb3J0IGZvciBZNDQ0LCBZNDJCLCBJNDIwLCBZVjEyIGFuZCBZNDFCCgkgIFRoZSB2ZmlyIG1ldGhvZCBzdXBwb3J0cyB0aGVtIGFuZCB3aWxsIGJlIHVzZWQgdW50aWwgc29tZXRoaW5nIGVsc2UKCSAgc3VwcG9ydHMgaXQuCgoyMDEwLTA0LTI0IDA5OjE2OjIyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZW1ldGhvZC5jOgoJICBkZWludGVybGFjZTogRGVmaW5lIGRlaW50ZXJsYWNlIG1ldGhvZCBiYXNlIGNsYXNzZXMgYXMgYWJzdHJhY3QgdHlwZXMKCjIwMTAtMDQtMjMgMTc6NDA6MTAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2RlaW50ZXJsYWNlL01ha2VmaWxlLmFtOgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuYzoKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmg6CgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZW1ldGhvZC5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2VtZXRob2QuaDoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS9ncmVlZHkuYzoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS9ncmVlZHloLmM6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvbGluZWFyLmM6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvbGluZWFyYmxlbmQuYzoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS9zY2FsZXJib2IuYzoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS90b21zbW9jb21wLmM6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvdmZpci5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL3dlYXZlLmM6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvd2VhdmViZmYuYzoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS93ZWF2ZXRmZi5jOgoJICBkZWludGVybGFjZTogTW92ZSBkZWludGVybGFjaW5nIG1ldGhvZHMgdG8gdGhlaXIgb3duIGZpbGUKCjIwMTAtMDQtMjMgMTc6MjU6MTIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmM6CgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5oOgoJICBkZWludGVybGFjZTogU2ltcGxpZnkgcGFzc3Rocm91Z2ggbW9kZSBkZXRlY3Rpb24KCjIwMTAtMDQtMjMgMTQ6MzU6NDQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZGVpbnRlcmxhY2UuYzoKCSAgZGVpbnRlcmxhY2U6IEZpeCB1bml0IHRlc3QgdGhhdCBjaGVja3MgY2FwcyBoYW5kbGluZwoJICBkZWludGVybGFjZSBub3cgYWx3YXlzIGFkZHMgdGhlIGludGVybGFjZWQgZmllbGQgdG8gdGhlIG91dHB1dCBjYXBzLAoJICBpZiBpdCB3YXNuJ3QgcHJlc2VudCBpbiB0aGUgaW5wdXQgY2FwcyB0aGUgb3V0cHV0IGNhcHMgd2lsbCBzdGlsbAoJICBjb250YWluIGludGVybGFjZWQ9ZmFsc2UuCgoyMDEwLTA0LTIxIDE3OjAwOjA1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kZWludGVybGFjZS9NYWtlZmlsZS5hbToKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmM6CgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5oOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL2dyZWVkeS5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL2dyZWVkeWguYXNtOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL2dyZWVkeWguYzoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS9saW5lYXIuYzoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS9saW5lYXJibGVuZC5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL3NjYWxlcmJvYi5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL3RvbXNtb2NvbXAuYzoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS90b21zbW9jb21wL1RvbXNNb0NvbXBBbGwuaW5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL3ZmaXIuYzoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS93ZWF2ZS5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL3dlYXZlYmZmLmM6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvd2VhdmV0ZmYuYzoKCSAgZGVpbnRlcmxhY2U6IFJlZmFjdG9yIGRlaW50ZXJsYWNpbmcgYXMgcHJlcGFyYXRpb24gZm9yIHN1cHBvcnRpbmcgbW9yZSBjb2xvciBmb3JtYXRzCgoyMDEwLTA0LTIyIDE5OjA1OjM3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb2JveC9nc3R2aWRlb2JveC5jOgoJICB2aWRlb2JveDogQWRkIHN1cHBvcnQgZm9yIFk0NDQsIFk0MkIgYW5kIFk0MUIKCjIwMTAtMDQtMjIgMTU6NTQ6MjEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvYm94L2dzdHZpZGVvYm94LmM6CgkgIHZpZGVvYm94OiBBZGQgc3VwcG9ydCBmb3IgWVZZVSBhbmQgcmVvcmRlciB0ZW1wbGF0ZSBjYXBzCgoyMDEwLTA0LTE4IDIxOjExOjIxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb2JveC9nc3R2aWRlb2JveC5jOgoJICB2aWRlb2JveDogVHJhbnNsYXRlIG5hdmlnYXRpb24gZXZlbnRzIHRvIG1ha2Ugc2Vuc2UgYWdhaW4gdXBzdHJlYW0KCjIwMTAtMDQtMTggMjA6NTg6MTQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvYm94L2dzdHZpZGVvYm94LmM6CgkgIHZpZGVvYm94OiBQcm9wZXJseSBoYW5kbGUgcmFuZ2VzL2xpc3RzIG9mIHdpZHRoIG9yIGhlaWdodCB3aGVuIHRyYW5zZm9ybWluZyBjYXBzCgkgIENvZGUgcGFydGx5IHRha2VuIGZyb20gdGhlIHZpZGVvY3JvcCBlbGVtZW50LgoKMjAxMC0wNC0yMiAxNTo0NToxNSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYWxwaGEvZ3N0YWxwaGEuYzoKCSAgYWxwaGE6IEZpeCBwbGFuYXIgWVVWLT5SR0IgcHJvY2Vzc2luZwoKMjAxMC0wNC0yMiAxNTo0MjowMyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYWxwaGEvZ3N0YWxwaGEuYzoKCSAgYWxwaGE6IENvcnJlY3RseSBjbGFtcCBhZnRlciBZVVYtPlJHQiBjb252ZXJzaW9uCgoyMDEwLTA0LTIyIDE1OjIwOjI0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hbHBoYS9nc3RhbHBoYS5jOgoJICBhbHBoYTogQWRkIHN1cHBvcnQgZm9yIFlVWTIsIFlWWVUgYW5kIFVZVlkKCjIwMTAtMDQtMTggMTU6MDI6NDIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvYm94L2dzdHZpZGVvYm94LmM6CgkgIHZpZGVvYm94OiBTeW5jIHByb3BlcnRpZXMgdG8gdGhlIGNvbnRyb2xsZXIgaW4gYmVmb3JlX3RyYW5zZm9ybQoKMjAxMC0wNC0xNiAxNzowMDowMiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9ib3gvZ3N0dmlkZW9ib3guYzoKCSAgdmlkZW9ib3g6IEFkZCBzdXBwb3J0IGZvciBZVVkyIGFuZCBVWVVWCgoyMDEwLTA0LTIxIDE3OjQxOjQzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hbHBoYS9nc3RhbHBoYS5jOgoJICBhbHBoYTogUmVmYWN0b3IgcHJvY2Vzc2luZyBhbmQgYWRkIHN1cHBvcnQgZm9yIG90aGVyIHBsYW5hciBZVVYgZm9ybWF0cwoJICBUaGlzIHJlZHVjZXMgdGhlIGdlbmVyYXRlZCBjb2RlIHNpemUgYnkgYSBmYWN0b3Igb2YgMi41LgoKMjAxMC0wNC0yMSAxNzoxNTozMyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYWxwaGEvZ3N0YWxwaGEuYzoKCSAgYWxwaGE6IEFkZCBzdXBwb3J0IGZvciBZVjEyIGlucHV0CgoyMDEwLTA0LTIyIDEzOjU2OjU4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb21peGVyL2JsZW5kLmM6CgkqIGdzdC92aWRlb21peGVyL2JsZW5kLmg6CgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIuYzoKCSAgdmlkZW9taXhlcjogQWRkIHN1cHBvcnQgZm9yIFlVWTIsIFlWWVUsIFVZVlkKCjIwMTAtMDQtMjAgMTI6MTg6MTggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvbWl4ZXIvYmxlbmQuYzoKCSogZ3N0L3ZpZGVvbWl4ZXIvYmxlbmQuaDoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlci5jOgoJICB2aWRlb21peGVyOiBBZGQgc3VwcG9ydCBmb3IgWTQ0NCwgWTQyQiwgWTQxQiBhbmQgWVYxMgoKMjAxMC0wNC0yMSAxNzowNzoxMCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9maWx0ZXIvZ3N0Z2FtbWEuYzoKCSogZ3N0L3ZpZGVvZmlsdGVyL2dzdHZpZGVvYmFsYW5jZS5jOgoJKiBnc3QvdmlkZW9maWx0ZXIvZ3N0dmlkZW9mbGlwLmM6CgkgIHZpZGVvZmlsdGVyOiBPcmRlciBjb2xvciBmb3JtYXRzIGJ5IHRoZWlyIGNvbnRhaW5lZCBhbW91bnQgb2YgaW5mb3JtYXRpb24KCjIwMTAtMDQtMjAgMTg6MjI6MTYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvZmlsdGVyL2dzdHZpZGVvZmxpcC5jOgoJICB2aWRlb2ZsaXA6IERyb3AgWTQxQi9ZNDJCIHN1cHBvcnQKCSAgUm90YXRpbmcgOTDCsC8yNzDCsCB3aXRoIHN1YnNhbXBsZWQgWVVWIHdoZXJlIGhvcml6b250YWwKCSAgYW5kIHZlcnRpY2FsIHN1YnNhbXBsaW5nIGFyZSBkaWZmZXJlbnQgZG9lc24ndCByZWFsbHkgd29yay4KCjIwMTAtMDQtMTkgMTQ6Mzc6NTQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvZmlsdGVyL2dzdHZpZGVvZmxpcC5jOgoJICB2aWRlb2ZsaXA6IEFsc28gZmxpcCB0aGUgcGl4ZWwtYXNwZWN0LXJhdGlvIGlmIHdpZHRoL2hlaWdodCBhcmUgZXhjaGFuZ2VkCgoyMDEwLTA0LTE4IDIzOjA4OjE0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy92aWRlb2ZpbHRlci5jOgoJICB2aWRlb2ZpbHRlcjogRXh0ZW5kIHRoZSB1bml0IHRlc3QgdG8gdGVzdCBkaWZmZXJlbnQgY29sb3IgZm9ybWF0cwoKMjAxMC0wNC0xOCAyMjo1NTozNiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy92aWRlb2ZpbHRlci5jOgoJICB2aWRlb2ZpbHRlcjogQWRkIHNvbWUgbW9yZSB0ZXN0cwoJICBUaGVzZSBjaGVjayBkaWZmZXJlbnQgcHJvcGVydHkgY29tYmluYXRpb25zCgoyMDEwLTA0LTE4IDIyOjU0OjIzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb2ZpbHRlci9nc3R2aWRlb2ZsaXAuYzoKCSAgdmlkZW9mbGlwOiBDaGFuZ2UgdGhlIGRlZmF1bHQgbWV0aG9kIHRvIGlkZW50aXR5CgoyMDEwLTA0LTE4IDIyOjUwOjIwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb2ZpbHRlci9nc3R2aWRlb2JhbGFuY2UuYzoKCSogZ3N0L3ZpZGVvZmlsdGVyL2dzdHZpZGVvYmFsYW5jZS5oOgoJICB2aWRlb2JhbGFuY2U6IFJlZHVjZSBudW1iZXIgb2YgYWxsb2NhdGlvbnMgcGVyIGluc3RhbmNlCgoyMDEwLTA0LTE4IDIyOjQ1OjU4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb2ZpbHRlci9nc3RnYW1tYS5jOgoJKiBnc3QvdmlkZW9maWx0ZXIvZ3N0dmlkZW9iYWxhbmNlLmM6CgkqIGdzdC92aWRlb2ZpbHRlci9nc3R2aWRlb2ZsaXAuYzoKCSAgdmlkZW9maWx0ZXI6IFVwZGF0ZSBsYXN0LXJldmlld2VkIGNvbW1lbnRzCgoyMDEwLTA0LTE4IDIyOjQwOjU1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb2ZpbHRlci9nc3R2aWRlb2JhbGFuY2UuYzoKCSAgdmlkZW9iYWxhbmNlOiBBZGQgc3VwcG9ydCBmb3IgYWxsIFJHQiBmb3JtYXRzCgoyMDEwLTA0LTE4IDIyOjI4OjE3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb2ZpbHRlci9nc3R2aWRlb2JhbGFuY2UuYzoKCSAgdmlkZW9iYWxhbmNlOiBBZGQgc3VwcG9ydCBmb3IgWVVZMiwgVVlWWSwgQVlVViBhbmQgWVZZVQoKMjAxMC0wNC0xOCAyMjoyMzowMyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9maWx0ZXIvZ3N0dmlkZW9iYWxhbmNlLmM6CgkgIHZpZGVvYmFsYW5jZTogQWRkIGRlYnVnIGNhdGVnb3J5CgoyMDEwLTA0LTE4IDIyOjE5OjU1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb2ZpbHRlci9nc3R2aWRlb2JhbGFuY2UuYzoKCSAgdmlkZW9iYWxhbmNlOiBNYWtlIHByb3BlcnR5IGFjY2VzcyB0aHJlYWRzYWZlCgoyMDEwLTA0LTE4IDIyOjE4OjI0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb2ZpbHRlci9nc3R2aWRlb2JhbGFuY2UuYzoKCSAgdmlkZW9iYWxhbmNlOiBBZGQgc3VwcG9ydCBmb3IgWTQxQiwgWTQyQiBhbmQgWTQ0NAoKMjAxMC0wNC0xOCAyMjoxNzowMiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9maWx0ZXIvZ3N0dmlkZW9iYWxhbmNlLmM6CgkqIGdzdC92aWRlb2ZpbHRlci9nc3R2aWRlb2JhbGFuY2UuaDoKCSAgdmlkZW9iYWxhbmNlOiBVc2UgbGliZ3N0dmlkZW8gZm9yIGZvcm1hdCBzcGVjaWZpYyB0aGluZ3MKCjIwMTAtMDQtMTggMjI6MDk6MDYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvZmlsdGVyL2dzdHZpZGVvYmFsYW5jZS5jOgoJICB2aWRlb2JhbGFuY2U6IE1ha2UgcHJvcGVydGllcyBjb250cm9sbGFibGUKCjIwMTAtMDQtMTggMjI6MDY6NDQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvZmlsdGVyL2dzdHZpZGVvYmFsYW5jZS5jOgoJICB2aWRlb2JhbGFuY2U6IEVtaXQgInZhbHVlLWNoYW5nZWQiIHNpZ25hbCBvZiBjb2xvciBiYWxhbmNlIGludGVyZmFjZSB3aGVuIHZhbHVlcyBjaGFuZ2UKCjIwMTAtMDQtMTggMjE6NTg6MTMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvZmlsdGVyL2dzdHZpZGVvYmFsYW5jZS5jOgoJKiBnc3QvdmlkZW9maWx0ZXIvZ3N0dmlkZW9iYWxhbmNlLmg6CgkgIHZpZGVvYmFsYW5jZTogU29tZSByYW5kb20gY2xlYW51cAoKMjAxMC0wNC0xOCAyMTozNzoyMyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9maWx0ZXIvZ3N0dmlkZW9iYWxhbmNlLmM6CgkgIHZpZGVvYmFsYW5jZTogU3RvcCB1c2luZyBsaWJvaWwKCSAgVGhlIHVzZWQgbGlib2lsIGZ1bmN0aW9uIGlzIGRlcHJlY2F0ZWQgYW5kIGhhcyBubyBvcHRpbWl6ZWQKCSAgaW1wbGVtZW50YXRpb24gYW55d2F5LgoKMjAxMC0wNC0xOCAyMToxNDoxMSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9maWx0ZXIvZ3N0dmlkZW9mbGlwLmM6CgkgIHZpZGVvZmxpcDogTWFrZSBwcm9wZXJ0eSBhY2Nlc3MgdGhyZWFkc2FmZQoKMjAxMC0wNC0xOCAxNTowMDozNiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9maWx0ZXIvZ3N0Z2FtbWEuYzoKCSAgZ2FtbWE6IFN5bmMgcHJvcGVydGllcyB0byB0aGUgY29udHJvbGxlciBpbiBiZWZvcmVfdHJhbnNmb3JtCgoyMDEwLTA0LTE4IDE0OjQ2OjA5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb2ZpbHRlci9nc3R2aWRlb2ZsaXAuYzoKCSAgdmlkZW9mbGlwOiBBZGQgc3VwcG9ydCBmb3IgYWxsIFJHQiBmb3JtYXRzIGFuZCBBWVVWCgoyMDEwLTA0LTE4IDE0OjMxOjM2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb2ZpbHRlci9nc3R2aWRlb2ZsaXAuYzoKCSAgdmlkZW9mbGlwOiBBZGQgc3VwcG9ydCBmb3IgWTQxQiwgWTQyQiBhbmQgWTQ0NAoKMjAxMC0wNC0xOCAxNDoyOTozMCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9maWx0ZXIvZ3N0dmlkZW9mbGlwLmM6CgkqIGdzdC92aWRlb2ZpbHRlci9nc3R2aWRlb2ZsaXAuaDoKCSAgdmlkZW9mbGlwOiBNYWtlIHByb2Nlc3NpbmcgbW9yZSBnZW5lcmFsIGFuZCB1c2UgbGliZ3N0dmlkZW8gZm9yIGFsbCBmb3JtYXQgc3BlY2lmaWMgdGhpbmdzCgoyMDEwLTA0LTE4IDEzOjEyOjQwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb2ZpbHRlci9nc3R2aWRlb2ZsaXAuYzoKCSAgdmlkZW9mbGlwOiBNYWtlIG1ldGhvZCBwcm9wZXJ0eSBjb250cm9sbGFibGUgYW5kIGltcHJvdmUgZGVidWcgb3V0cHV0CgoyMDEwLTA0LTE4IDEzOjAzOjQ4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb2ZpbHRlci9nc3R2aWRlb2ZsaXAuYzoKCSogZ3N0L3ZpZGVvZmlsdGVyL2dzdHZpZGVvZmxpcC5oOgoJICB2aWRlb2ZsaXA6IFNvbWUgcmFuZG9tIGNsZWFudXAKCjIwMTAtMDQtMTggMTA6MTc6NTIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogTWFrZWZpbGUuYW06CgkqIGdzdC92aWRlb2ZpbHRlci9NYWtlZmlsZS5hbToKCSogZ3N0L3ZpZGVvZmlsdGVyL2dzdGdhbW1hLmM6CgkqIGdzdC92aWRlb2ZpbHRlci9nc3R2aWRlb2JhbGFuY2UuYzoKCSogZ3N0L3ZpZGVvZmlsdGVyL2dzdHZpZGVvZmxpcC5jOgoJKiBnc3QvdmlkZW9maWx0ZXIvcGx1Z2luLmM6CgkgIHZpZGVvZmlsdGVyOiBNb3ZlIGFsbCBlbGVtZW50cyBpbnRvIGEgc2luZ2xlIHBsdWdpbgoJICBIYXZpbmcgYWxsIHRoZXNlIHNtYWxsIGVsZW1lbnRzIGluIGEgc2VwYXJhdGUgcGx1Z2luCgkgIGlzIG5vdCB2ZXJ5IG1lbW9yeSBlZmZlY3RpdmUuLi4KCjIwMTAtMDQtMTggMTA6MDc6MjQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvZmlsdGVyL2dzdGdhbW1hLmM6CgkqIGdzdC92aWRlb2ZpbHRlci9nc3RnYW1tYS5oOgoJICBnYW1tYTogSW1wcm92ZSBkb2NzIGEgYml0CgoyMDEwLTA0LTE4IDA5OjU5OjQzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb2ZpbHRlci9nc3RnYW1tYS5jOgoJICBnYW1tYTogQWRkIHN1cHBvcnQgZm9yIGFsbCBSR0IgZm9ybWF0cwoKMjAxMC0wNC0xOCAwOTo0NjoxNSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9maWx0ZXIvZ3N0Z2FtbWEuYzoKCSAgZ2FtbWE6IEFkZCBzdXBwb3J0IGZvciBtYW55IHBhY2tlZCBZVVYgZm9ybWF0cwoJICBUaGF0IGlzIFlVWTIsIFVZVlksIEFZVVYgYW5kIFlWWVUuCgoyMDEwLTA0LTE4IDA5OjM4OjM2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb2ZpbHRlci9nc3RnYW1tYS5jOgoJICBnYW1tYTogQWRkIHN1cHBvcnQgZm9yIGFsbCBvdGhlciBwbGFuYXIgWVVWIGZvcm1hdHMKCSAgVGhhdCBpcyBZNDFCLCBZNDJCLCBZNDQ0LCBOVjEyIGFuZCBOVjIxLgoKMjAxMC0wNC0xOCAwOTozMzo0OSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9maWx0ZXIvTWFrZWZpbGUuYW06CgkqIGdzdC92aWRlb2ZpbHRlci9nc3RnYW1tYS5jOgoJICBnYW1tYTogU3RvcCB1c2luZyBsaWJvaWwKCSAgVGhlIHVzZWQgbGlib2lsIGZ1bmN0aW9uIGlzIGRlcHJlY2F0ZWQsIG9ubHkgaGFzIGEgcmVmZXJlbmNlIGltcGxlbWVudGF0aW9uCgkgIGFuZCBpcyBtb3JlIGNvbXBsZXggdGhhbiB3aGF0J3MgbmVlZGVkIGhlcmUuCgoyMDEwLTA0LTE3IDE4OjEzOjQ2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb2ZpbHRlci9nc3RnYW1tYS5jOgoJKiBnc3QvdmlkZW9maWx0ZXIvZ3N0Z2FtbWEuaDoKCSAgZ2FtbWE6IFVzZSBsaWJnc3R2aWRlbyBmb3IgZm9ybWF0IHNwZWNpZmljIHZhbHVlcyBhbmQgbWFrZSBnYW1tYSBwcm9jZXNzaW5nIG1vcmUgZ2VuZXJpYwoJICBBbGxvd3MgdXMgdG8gZWFzaWx5IGFkZCBzdXBwb3J0IGZvciBuZXcgY29sb3IgZm9ybWF0cyBsYXRlci4KCjIwMTAtMDQtMTcgMTg6MDE6MDYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvZmlsdGVyL01ha2VmaWxlLmFtOgoJKiBnc3QvdmlkZW9maWx0ZXIvZ3N0Z2FtbWEuYzoKCSAgZ2FtbWE6IE1ha2UgZ2FtbWEgcHJvcGVydHkgY29udHJvbGxhYmxlCgkgIC4uLmFuZCBwcm9wZXJseSB1c2UgbGlib2lsLgoKMjAxMC0wNC0xNyAxNzo1NToyMiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9maWx0ZXIvZ3N0Z2FtbWEuYzoKCSAgZ2FtbWE6IFNvbWUgcmFuZG9tIGNsZWFudXAKCjIwMTAtMDQtMTkgMTQ6NDU6MzMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3NtcHRlL2dzdHNtcHRlYWxwaGEuYzoKCSAgc21wdGVhbHBoYTogU3luYyBwcm9wZXJ0aWVzIHRvIHRoZSBjb250cm9sbGVyIGluIGJlZm9yZV90cmFuc2Zvcm0KCjIwMTAtMDQtMTcgMTc6NDc6MDUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3NtcHRlL2dzdHNtcHRlYWxwaGEuYzoKCSAgc21wdGVhbHBoYTogQWRkIHN1cHBvcnQgZm9yIFlWMTIgKGNvbnZlcnRlZCB0byBBWVVWKQoKMjAxMC0wNC0xNyAxNzo0Mzo1MSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc21wdGUvZ3N0c21wdGVhbHBoYS5jOgoJICBzbXB0ZWFscGhhOiBBZGQgc3VwcG9ydCBmb3IgYWxsIDQgQVJHQiBmb3JtYXRzCgkgIC4uLndpdGhvdXQgZm9ybWF0IGNvbnZlcnNpb24uCgoyMDEwLTA0LTE2IDE3OjI3OjAyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zbXB0ZS9nc3RzbXB0ZWFscGhhLmM6CgkqIGdzdC9zbXB0ZS9nc3RzbXB0ZWFscGhhLmg6CgkgIHNtcHRlYWxwaGE6IE1ha2UgY29sb3IgZm9ybWF0IHN1cHBvcnQgbW9yZSBnZW5lcmljCgkgIFRoaXMgYWxsb3dzIGVhc2llciBhZGRpdGlvbiBvZiBuZXcgZm9ybWF0cyBsYXRlci4KCjIwMTAtMDQtMTYgMTc6MTg6MTUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3NtcHRlL2dzdHNtcHRlYWxwaGEuYzoKCSogZ3N0L3NtcHRlL2dzdHNtcHRlYWxwaGEuaDoKCSAgc21wdGVhbHBoYTogU29tZSByYW5kb20gY2xlYW51cAoKMjAxMC0wNC0xNSAyMjoyODo1OCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc21wdGUvZ3N0bWFzay5jOgoJKiBnc3Qvc21wdGUvZ3N0bWFzay5oOgoJKiBnc3Qvc21wdGUvZ3N0c21wdGUuYzoKCSogZ3N0L3NtcHRlL2dzdHNtcHRlLmg6CgkqIGdzdC9zbXB0ZS9nc3RzbXB0ZWFscGhhLmM6CgkqIGdzdC9zbXB0ZS9nc3RzbXB0ZWFscGhhLmg6CgkgIHNtcHRlOiBBZGQgcHJvcGVydHkgZm9yIGludmVydGluZyB0aGUgdHJhbnNpdGlvbiBtYXNrCgkgIFRoaXMgY29udmVydHMgYSBsZWZ0LXRvLXJpZ2h0IHRyYW5zaXRpb24gdG8gcmlnaHQtdG8tbGVmdCBvcgoJICBjbG9jay13aXNlIHRvIGNvdW50ZXItY2xvY2std2lzZS4KCjIwMTAtMDQtMTUgMjI6Mjc6NTcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3NtcHRlL2dzdHNtcHRlYWxwaGEuYzoKCSAgc21wdGVhbHBoYTogQ29ycmVjdGx5IGRldGVjdCBwcm9wZXJ0eSBjaGFuZ2VzIGFuZCB1cGRhdGUgcHJvcGVydGllcwoKMjAxMC0wNC0xNiAxOTozNToxMiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvTWFrZWZpbGUuYW06CgkqIGdzdC9ydHAvZ3N0cnRwLmM6CgkqIGdzdC9ydHAvZ3N0cnRwcWNlbHBkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHFjZWxwZGVwYXkuaDoKCSAgcWNlbHBkZXBheTogYWRkIGZpcnN0IHZlcnNpb24gb2YgYSBRQ0VMUCBkZXBheWxvYWRlcgoKMjAxMC0wNC0yOSAxNToxODowNyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tMTM5NC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYWNvbG9yLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFubm9kZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXBldGFnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvZngueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvZGV0ZWN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF2aS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWNhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWlyby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jdXR0ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVpbnRlcmxhY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZlbmNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZmVjdHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXF1YWxpemVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVzZHNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmxhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx4ZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdhbW1hLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdjb25mZWxlbWVudHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2RrcGl4YnVmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbTJrMS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc3RydHBtYW5hZ2VyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWhhbGVsZW1lbnRzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWljeWRlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlkM2RlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVybGVhdmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanBlZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sZXZlbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tYXRyb3NrYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tb25vc2NvcGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlmaWxlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpcGFydC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uYXZpZ2F0aW9udGVzdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3NhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbmcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcHVsc2VhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1xdWlja3RpbWUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVwbGF5Z2Fpbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRzcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaGFwZXdpcGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hvdXQyc2VuZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbXB0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWN0cnVtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXRhZ2xpYi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi11ZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW80bGludXgyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvYmFsYW5jZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2JveC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2Nyb3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9mbGlwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvbWl4ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2ZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teGltYWdlc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXk0bWVuYy54bWw6CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgQmFjayB0byBkZXZlbG9wbWVudC4KCj09PSByZWxlYXNlIDAuMTAuMjIgPT09CgoyMDEwLTA0LTI4IDAyOjU4OjAyICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIENoYW5nZUxvZzoKCSogTkVXUzoKCSogUkVMRUFTRToKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5pbnRlcmZhY2VzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLnByZXJlcXVpc2l0ZXM6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi0xMzk0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhY29sb3IueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYW5ub2RleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hcGV0YWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9meC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9kZXRlY3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXZpLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhY2FzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhaXJvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWN1dHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWludGVybGFjZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmVuY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZmZWN0di54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lcXVhbGl6ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXNkc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbGFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHhkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2FtbWEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2NvbmZlbGVtZW50cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZGtwaXhidWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tMmsxLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzdHJ0cG1hbmFnZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taGFsZWxlbWVudHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWN5ZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXJsZWF2ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxldmVsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1hdHJvc2thLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpZmlsZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aXBhcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmF2aWdhdGlvbnRlc3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5nLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXB1bHNlYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcXVpY2t0aW1lLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlcGxheWdhaW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0c3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hhcGV3aXBlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNob3V0MnNlbmQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc21wdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVjdHJ1bS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10YWdsaWIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdWRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvNGxpbnV4Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2JhbGFuY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9ib3gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9jcm9wLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvZmxpcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb21peGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXhpbWFnZXNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi15NG1lbmMueG1sOgoJKiBnc3QtcGx1Z2lucy1nb29kLmRvYXA6CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgUmVsZWFzZSAwLjEwLjIyCgoyMDEwLTA0LTI4IDAyOjU3OjIxICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHBvL2FmLnBvOgoJKiBwby9hei5wbzoKCSogcG8vYmcucG86CgkqIHBvL2NhLnBvOgoJKiBwby9jcy5wbzoKCSogcG8vZGEucG86CgkqIHBvL2RlLnBvOgoJKiBwby9lbC5wbzoKCSogcG8vZW5fR0IucG86CgkqIHBvL2VzLnBvOgoJKiBwby9ldS5wbzoKCSogcG8vZmkucG86CgkqIHBvL2ZyLnBvOgoJKiBwby9odS5wbzoKCSogcG8vaWQucG86CgkqIHBvL2l0LnBvOgoJKiBwby9qYS5wbzoKCSogcG8vbHQucG86CgkqIHBvL2x2LnBvOgoJKiBwby9tdC5wbzoKCSogcG8vbmIucG86CgkqIHBvL25sLnBvOgoJKiBwby9vci5wbzoKCSogcG8vcGwucG86CgkqIHBvL3B0X0JSLnBvOgoJKiBwby9ydS5wbzoKCSogcG8vc2sucG86CgkqIHBvL3NxLnBvOgoJKiBwby9zci5wbzoKCSogcG8vc3YucG86CgkqIHBvL3RyLnBvOgoJKiBwby91ay5wbzoKCSogcG8vdmkucG86CgkqIHBvL3poX0NOLnBvOgoJKiBwby96aF9ISy5wbzoKCSogcG8vemhfVFcucG86CgkgIFVwZGF0ZSAucG8gZmlsZXMKCjIwMTAtMDQtMjUgMjM6MzY6MjkgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIDAuMTAuMjEuMyBwcmUtcmVsZWFzZQoKMjAxMC0wNC0yNSAyMToxOTozMyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZmx2L2dzdGZsdm11eC5jOgoJICBmbHZtdXg6IGhpZGUgaXMtbGl2ZSBwcm9wZXJ0eSBmb3IgcmVsZWFzZQoJICBBdCB0aGUgdmVyeSBsZWFzdCBpdCBuZWVkcyBhIGJldHRlci9sZXNzIHdyb25nIG5hbWUuCgkgIFNlZSAjNjEzMDY2LgoKMjAxMC0wNC0yNSAxNToxMjoyMCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvanBlZy9nc3RqcGVnZGVjLmM6CgkgIGpwZWdkZWM6IGRvbid0IGNyYXNoIGlmIGpwZWcgaW1hZ2UgY29udGFpbnMgbW9yZSB0aGFuIHRocmVlIGNvbXBvbmVudHMKCSAgT3VyIGNvZGUgY3VycmVudGx5IG9ubHkgaGFuZGxlcyBhIG1heGltdW0gb2YgMyBjb21wb25lbnRzLCBzbyBlcnJvcgoJICBvdXQgZm9yIG5vdyBpZiB0aGUgaW1hZ2UgaGFzIG1vcmUgY29tcG9uZW50cyB0aGFuIHRoYXQuCgkgIEZpeGVzICM2MDQxMDYuCgoyMDEwLTA0LTIwIDE3OjIxOjI5ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1wbHVnaW5zLWdvb2QuZG9hcDoKCSAgZG9hcDogdXBkYXRlIHJlcG9zaXRvcnkgaW5mbyBmcm9tIGN2cy0+Z2l0IGFuZCBtYWludGFpbmVycwoKMjAxMC0wNC0yMyAxNDo0MDoyMCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIGZjODU4NjcgdG8gNGQ2N2JkNgoKMjAxMC0wNC0yMiAxMzozMDo1NSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9taXhlci9ibGVuZC5jOgoJICB2aWRlb21peGVyOiBGaXggYnl0ZSBvcmRlciBmb3IgTU1YIEFSR0IvQVlVViBjb2xvciBmaWxsaW5nCgkgIEZpeGVzIGJ1ZyAjNjE2NDA5LgoKMjAxMC0wNC0yMSAxNzo1Mzo0OSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9taXhlci9ibGVuZC5jOgoJICB2aWRlb21peGVyOiBGaXggQVlVViBjaGVja2VyL2NvbG9yIGZpbGxpbmcKCjIwMTAtMDQtMTkgMTY6NDM6MjggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvbWl4ZXIvYmxlbmRfbW14Lmg6CgkgIHZpZGVvbWl4ZXI6IEFkZCBpMzg3IGZsb2F0aW5nIHBvaW50IHJlZ2lzdGVycyB0byB0aGUgY2xvYmJlcmVkIHJlZ2lzdGVycyBsaXN0CgkgIFRoZXkgYXJlIHRoZSBzYW1lIGFzIHRoZSBtbTAtbW03IE1NWCByZWdpc3RlcnMgYW5kIHdpbGwgYmUgb3ZlcndyaXR0ZW4KCSAgYnkgdGhlIGFzc2VtYmx5IGNvZGUgaWYgZ2NjIGRvZXNuJ3Qga25vdyBhYm91dCB0aGUgTU1YIHJlZ2lzdGVycy4KCSAgTm90ZTogVGhleSdyZSBhbGwgYWRkZWQgdG8gdGhlIGxpc3Qgb2YgY2xvYmJlcmVkIHJlZ2lzdGVycyBpbiBhbGwgY2FzZXMKCSAgYW5kIG5vdCBvbmx5IHdoZW4gX19NTVhfXyBpcyBub3QgZGVmaW5lZCBqdXN0IHRvIG1ha2Ugc3VyZSB0aGF0IG5vIG90aGVyCgkgIGJ1Z3MgaGFwcGVuIHdpdGggdGhpcyBjb2RlIGp1c3QgYmVjYXVzZSBzb21lIGNvbXBpbGVyIHZlcnNpb24gZ2V0cyB0aGluZ3MKCSAgd3JvbmcuCgkgIEZpeGVzIGJ1ZyAjNjE0NDY2LgoKMjAxMC0wNC0xOSAxNDowOTozNCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9ib3gvZ3N0dmlkZW9ib3guYzoKCSAgdmlkZW9ib3g6IFVzZSBsaWJnc3R2aWRlbyB0byBnZXQgdGhlIG9yZGVyIG9mIFJHQgoKMjAxMC0wNC0xNyAxMDowNjo0MSArMDEwMCAgQnJpYW4gQ2FtZXJvbiA8YnJpYW4uY2FtZXJvbkBvcmFjbGUuY29tPgoKCSogZ3N0L2dvb20veG1teC5jOgoJICBnb29tOiBhZGQgZWR4IHRvIGNsb2JiZXIgbGlzdCBpbiBpbmxpbmUgYXNzZW1ibHkgY29kZQoJICBtdWxsIG1vZGlmaWVzICVlZHgsIHNvIHNob3VsZCBiZSBtZW50aW9uZWQgaW4gY2xvYmJlciBsaXN0LgoJICBGaXhlcyBjcmFzaCBvbiBTb2xhcmlzICgjNjE1OTk4KS4KCjIwMTAtMDQtMTUgMTM6Mzk6NDEgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvaWNsZXMvTWFrZWZpbGUuYW06CgkgIHRlc3RzOiBkb24ndCB1c2UgR1NUX1BMVUdJTl9MREZMQUdTIHdoZW4gYnVpbGRpbmcgdGVzdCBiaW5hcmllcwoKMjAxMC0wNC0xNiAxNToyNzoxMiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9ib3gvZ3N0dmlkZW9ib3guYzoKCSAgdmlkZW9ib3g6IEZpeCBJNDIwLT5JNDIwIGNvcHlpbmcKCSAgRml4ZXMgYnVnICM2MTUxNDMuCgoyMDEwLTA0LTEzIDE4OjE1OjUwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb2JveC9nc3R2aWRlb2JveC5jOgoJICB2aWRlb2JveDogRml4IEFZVVYtPkk0MjAgY29weWluZwoKMjAxMC0wNC0xNiAxMjoxNDoyNiArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRkZXBheS5jOgoJICBydHBoMjY0ZGVwYXk6IHByb2ZpbGUtbGV2ZWwtaWQgaXMgYW4gb3B0aW9uYWwgcGFyYW1ldGVyCgkgIFNvLCBpZiBuZWVkZWQsIGV4dHJhY3QgdGhlIGNvcnJlc3BvbmRpbmcgaW5mbyBmcm9tCgkgIHNwcm9wLXBhcmFtZXRlci1zZXRzLgoJICBCYXNlZCBvbiBwYXRjaCBwcm92aWRlZCBieSA8ZHhzc3ggYXQgZ21haWwuY29tPgoJICBGaXhlcyAjNjEyNjU3LgoKMjAxMC0wNC0xNSAwNzoxMzo0NiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogRHJvcCAtV2Nhc3QtYWxpZ24KCSAgQ29tbWl0IG1lc3NhZ2UgY29waWVkIGZyb20gY29yZSdzIGNvbW1pdCBmcm9tIEJlbmphbWluIE90dGU6CgkgIDI0NmY1ZGJhOTZhNWI1MGJiNzQ2MjFhZjY3YjMwOTQyY2NhNzJhZjUKCSAgQXBwYXJlbnRseSBnY2Mgd2FybnMgdGhhdCBHc3RNaW5pT2JqZWN0IGlzIG5vdCBjYXN0YWJsZSB0bwoJICBHc3RFdmVudC9NZXNzYWdlL0J1ZmZlciBkdWUgdG8gdGhlbSBjb250YWluaW5nIDY0Yml0IHZhcmlhYmxlcywgZXZlbgoJICB0aG91Z2ggQVJNIGhhY2tlcnMgY2xhaW0gdGhhdCB0aG9zZSBvbmx5IG5lZWQgNGJ5dGUgYWxpZ25tZW50LiBBbmQgYXMKCSAgbG9uZyBhcyBnY2MgYmVoYXZlcyB0aGF0IHdheSwgdGhpcyB3YXJuaW5nIGlzIG5vdCB2ZXJ5IHVzZWZ1bC4KCSAgU28gd2UnbGwgcmVtb3ZlIHRoZSB3YXJuaW5nIHVudGlsIHRoaXMgcHJvYmxlbSBpcyBmaXhlZC4KCSAgRml4ZXMgIzYxNTY5OAoKMjAxMC0wNC0xNCAyMzo0NjowNiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmxhYy9nc3RmbGFjdGFnLmM6CgkgIGZsYWN0YWc6IGZpeCBhZGFwdGVyIGFzc2VydGlvbiB3aGVuIHVzZWQgZGlyZWN0bHkgYWZ0ZXIgZmxhY2VuYwoJICBVbmxpa2UgZmlsZXNyYywgZmxhY2VuYyBvdXRwdXRzIHRoZSBmbGFjIGJsb2NrcyBuZWF0bHkgYWxpZ25lZCBvbmUgaW4KCSAgZWFjaCBidWZmZXIuIFRoaXMgbWVhbnMgdGhhdCB3aGVuIHdlIHN3aXRjaCBmcm9tIG1ldGFkYXRhIG1vZGUgdG8KCSAgYXVkaW8gZGF0YSBwYXNzdGhyb3VnaCBtb2RlLCB0aGVyZSdzIG5vIGRhdGEgbGVmdCBpbiB0aGUgYWRhcHRlciB0bwoJICBwdXNoIG91dCBhdCB0aGlzIHBvaW50LCBzbyBjaGVjayBpZiB0aGVyZSdzIGRhdGEgaW4gdGhlIGFkYXB0ZXIKCSAgYmVmb3JlIHJlcXVlc3RpbmcgYnVmZmVycyBmcm9tIGl0IChhbHNvIG5lZWRlZCBpbiBjYXNlIHdlIGdldCBpbnB1dAoJICBidWZmZXJzIG9mIDAgc2l6ZSkuCgkgIEZpeGVzICM2MTU3OTMuCgoyMDEwLTA0LTE0IDIzOjE4OjI3ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICAwLjEwLjIxLjIgcHJlLXJlbGVhc2UKCjIwMTAtMDQtMTQgMjA6MzE6MzAgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogcG8vYWYucG86CgkqIHBvL2F6LnBvOgoJKiBwby9iZy5wbzoKCSogcG8vY2EucG86CgkqIHBvL2NzLnBvOgoJKiBwby9kYS5wbzoKCSogcG8vZGUucG86CgkqIHBvL2VsLnBvOgoJKiBwby9lbl9HQi5wbzoKCSogcG8vZXMucG86CgkqIHBvL2V1LnBvOgoJKiBwby9maS5wbzoKCSogcG8vZnIucG86CgkqIHBvL2h1LnBvOgoJKiBwby9pZC5wbzoKCSogcG8vaXQucG86CgkqIHBvL2phLnBvOgoJKiBwby9sdC5wbzoKCSogcG8vbHYucG86CgkqIHBvL210LnBvOgoJKiBwby9uYi5wbzoKCSogcG8vbmwucG86CgkqIHBvL29yLnBvOgoJKiBwby9wbC5wbzoKCSogcG8vcHRfQlIucG86CgkqIHBvL3J1LnBvOgoJKiBwby9zay5wbzoKCSogcG8vc3EucG86CgkqIHBvL3NyLnBvOgoJKiBwby9zdi5wbzoKCSogcG8vdHIucG86CgkqIHBvL3VrLnBvOgoJKiBwby92aS5wbzoKCSogcG8vemhfQ04ucG86CgkqIHBvL3poX0hLLnBvOgoJKiBwby96aF9UVy5wbzoKCSAgcG86IHVwZGF0ZQoKMjAxMC0wNC0xNCAyMDowNjowOSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9leGFtcGxlcy9lcXVhbGl6ZXIvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2V4YW1wbGVzL3NoYXBld2lwZS9NYWtlZmlsZS5hbToKCSogdGVzdHMvZXhhbXBsZXMvc3BlY3RydW0vTWFrZWZpbGUuYW06CgkqIHRlc3RzL2V4YW1wbGVzL3Y0bDIvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2ljbGVzL01ha2VmaWxlLmFtOgoJICB0ZXN0czogdXNlIExEQUREIGZvciBsaWJzIHRvIGxpbmsgdG8gaW5zdGVhZCBvZiBMREZMQUdTCgkgIFVzZSBmb29fTERBREQgaW5zdGVhZCBvZiBmb29fTERGTEFHUyB0byBzcGVjaWZ5IHRoZSBsaWJyYXJpZXMgdG8gbGluayB0by4KCSAgVGhpcyBzaG91bGQgbWFrZSBzdXJlIGFyZ3VtZW50cyBhcmUgcGFzc2VkIHRvIHRoZSBsaW5rZXIgaW4gdGhlIHJpZ2h0CgkgIG9yZGVyLCBhbmQgbWFrZXMgTERGTEFHUyB1c2FibGUgYWdhaW4uCgkgIEJhc2VkIG9uIHBhdGNoIGJ5IEJyaWFuIENhbWVyb24gPGJyaWFuLmNhbWVyb25Ab3JhY2xlLmNvbT4KCSAgRml4ZXMgIzYxNTY5Ny4KCjIwMTAtMDQtMTQgMTg6MTM6NTYgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvdmlkZW9ib3gvZ3N0dmlkZW9ib3guYzoKCSAgdmlkZW9ib3g6IHRyYW5zZm9ybV9jYXBzIDogV2UgY2FuIG9ubHkgY29udmVydCBBWVVWIHRvIHhSR0IKCSAgV2Ugd2VyZSBwcmV2aW91c2x5IHN0YXRpbmcgdGhhdCB3ZSBjb3VsZCBjb252ZXJ0IEFZVVYvSTQyMC9ZVjEyIHRvIHhSR0IuCgoyMDEwLTA0LTEzIDAwOjE0OjQ2ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiBhbHNvIHJlbW92ZSAtV2FnZ3JlZ2F0ZS1yZXR1cm4gZnJvbSB3YXJuaW5nIGZsYWdzCgkgIEl0IGNhdXNlcyBwcm9ibGVtcyB3aXRoIE9iamVjdGl2ZS1DIGNvZGUgbGlrZSBpbiBvc3h2aWRlb3NpbmsuCgkgIEZpeGVzICM2MTM2NjMuCgoyMDEwLTA0LTEyIDE4OjIyOjM5ICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgIGNoZWNrOiBJZ25vcmUgb3N4IGF1ZGlvL3ZpZGVvIHNyYy9zaW5rcyBpbiBzdGF0ZSBjaGFuZ2UgdGVzdHMKCSAgQW5kIG1ha2UgdGhlIGxpbmUgcmVhZGFibGUgZm9yIHRob3NlIG1lcmUgbW9ydGFscyB0aGF0IGRvbid0IG93biBhIDMwIiBzY3JlZW4KCjIwMTAtMDQtMTIgMTg6MDM6MjAgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jbW1sZGVjLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2NtbWxlbmMuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvbGV2ZWwuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvbWF0cm9za2FtdXguYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcmdhbmFseXNpcy5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9yZ2xpbWl0ZXIuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcmd2b2x1bWUuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvc3BlY3RydW0uYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvdmlkZW9maWx0ZXIuYzoKCSAgY2hlY2s6IERvbid0IHJlLWRlY2xhcmUgJ0dMaXN0ICpidWZmZXJzJyBpbiB0aGUgdGVzdHMKCSAgSXQncyBhbiBleHRlcm5hbCB3aGljaCBsaXZlcyBpbiBnc3RjaGVjay5jLiBSZWRlY2xhcmluZyBpdCBtYWtlcyBzb21lCgkgIGNvbXBpbGVycy9hcmNoaXRlY3R1cmVzIHRoaW5rIHRoZSAnYnVmZmVycycgaW4gdGhlIGluZGl2aWR1YWwgdGVzdHMgYXJlCgkgIGEgZGlmZmVyZW50IHN5bWJvbC4uLiBhbmQgdGhlcmVmb3JlIHdlIGVuZCB1cCBjb21wYXJpbmcgaG9sb2RlY2tzIHdpdGgKCSAgb3Jhbmdlcy4KCjIwMTAtMDQtMTIgMTQ6NTA6NDYgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgbWF0cm9za2FkZW11eCwgcXRkZW11eDogbWlub3IgY29kZSBjbGVhbnVwIGluIGF2Y19sZXZlbF9pZGNfdG9fc3RyaW5nKCkKCSAgRG8gdGhlIHNhbWUgd2l0aCBzbGlnaHRseSBmZXdlciBMT0MuCgoyMDEwLTA0LTEyIDEyOjQwOjExICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IFJlbW92ZSAtV3VuZGVmIGZsYWcKCSAgRml4ZXMgIzYxNTE2MQoKMjAxMC0wNC0xMiAxMTo0Mzo0OSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9ib3gvZ3N0dmlkZW9ib3guYzoKCSAgdmlkZW9ib3g6IEZpeCBJNDIwLT5BWVVWIGNvcHlpbmcKCjIwMTAtMDQtMTIgMTE6MjU6NTkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvYm94L2dzdHZpZGVvYm94LmM6CgkgIHZpZGVvYm94OiBDb3JyZWN0bHkgY2xhbXAgZnJhbWUvYmFja2dyb3VuZCBhbHBoYXMgdG8gWzAsMjU1XSBiZWZvcmUgd3JpdGluZyB0aGVtCgoyMDEwLTA0LTEyIDExOjE2OjU2ICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvLmdpdGlnbm9yZToKCSAgY2hlY2s6IElnbm9yZSBqcGVnZW5jIHRlc3QKCjIwMTAtMDQtMTEgMTM6MTQ6MzAgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmM6CgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5oOgoJICBkZWludGVybGFjZTogT25seSBjaGVjayBpbnRlcmxhY2VkIGZsYWcgaW4gc2luayBjYXBzCgkgIEZpeGVzICM2MTU0NjAuCgoyMDEwLTA0LTA5IDExOjIxOjQ3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gYmEzM2QxZiB0byBmYzg1ODY3CgoyMDEwLTA0LTA4IDE4OjA1OjQ2ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvbXVsdGlmaWxlL2dzdG11bHRpZmlsZXNpbmsuYzoKCSogZ3N0L211bHRpZmlsZS9nc3RtdWx0aWZpbGVzcmMuYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6CgkgIGRvY3M6IGRvIHByb3BlciBlc2NhcGluZyBmb3IgIiUiCgoyMDEwLTA0LTA4IDE3OjUwOjQ5ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvcnRzcC9nc3RydHNwZ29vZ2xlLmM6CgkqIGdzdC9ydHNwL2dzdHJ0c3Bnb29nbGUuaDoKCSAgcnRzcDogcmVtb3ZlIG9ic29sZXRlIGdvb2dsZSBleHRlbnNpb24KCSAgVGhpcyB3YXMgbm90IGJ1aWxkIGZvciBhIHdoaWxlIGFuZCBjYW4gYmUgcmVtb3ZlZC4KCjIwMTAtMDQtMDggMTc6NDI6NTIgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICBkb2NzOiBtb3ZlIHR3byBzeW1ib2xzIHRvIHByaXZhdGUgc2VjdGlvbgoKMjAxMC0wNC0wOCAxNzozNjozMCArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgIGRvY3M6IGFkZCBmbHhkZWMgZG9jcwoKMjAxMC0wNC0wOCAxNzoxNzowNiArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkqIGdzdC9ydHAvZ3N0cnRwajJrcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwanBlZ3BheS5jOgoJICBkb2NzOiBlbmFibGUgdGhlIDIgb2YgNjUgcnRwIGVsZW1lbnRzIGluIHRoZSBkb2NzCgoyMDEwLTA0LTA4IDExOjU0OjE5ICswMjAwICBCZW5qYW1pbiBPdHRlIDxvdHRlQHJlZGhhdC5jb20+CgoJKiBleHQvc2hvdXQyL2dzdHNob3V0Mi5jOgoJICBzaG91dDI6IERvbid0IHdhaXQgaWYgd2UncmUgbGF0ZQoJICBJbiBmYWN0LCBkdWUgdG8gc2lnbmVkbmVzcyBpc3N1ZXMsIGEgbmVnYXRpdmUgZGVsYXkgd291bGQgYmUgY2hhbmdlZCB0bwoJICBhbiBhbG1vc3QgaW5maW5pdGUgd2FpdCBjYXVzaW5nIHNob3V0MnNlbmQgdG8gImxvY2sgdXAiLgoJICBSZXBvcnRlZCBieSBDaHJpc3RvcGhlciBNb250Z29tZXJ5LgoKMjAxMC0wNC0wOCAxNjo1NjozNyArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuYzoKCSAgZG9jczogdXBkIC0+IHVkcCBhbmQgdm9pbGEgaXQgc2hvd3MgdXAgaW4gdGhlIGRvY3MKCjIwMTAtMDQtMDggMTY6NTE6MjcgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9hbHBoYS9nc3RhbHBoYS5oOgoJICBkb2NzOiBmaXggZG9jIGJsb2Igc3ludGF4CgoyMDEwLTA0LTA4IDE2OjUxOjA1ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgZG9jczogYWRkIChzcGFyc2UpIGRvY3MgZm9yIGF1cGFyc2UgZWxlbWVudAoKMjAxMC0wNC0wOCAxNDo0MDo0MyArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgIGRvY3M6IGFkZCB2aWRlb2JveCBzeW1ib2xzCgoyMDEwLTA0LTA4IDE0OjQwOjE5ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkgIGRvY3M6IHJlbW92ZSBkeW51ZHBzaW5rIHVudGlsIHNvbWVvbmUgZG9jdW1lbnRzIGl0CgoyMDEwLTA0LTA4IDE0OjM0OjU5ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6CgkgIGZsdmRlbXV4OiBtYWtlIGRlYnVnIGNhdGVnb3J5IHN0YXRpYwoKMjAxMC0wNC0wOCAxNDoyOToxOSArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzoKCSogZ3N0L2Zsdi9nc3RmbHZkZW11eC5oOgoJICBmbHhkZW11eDogcmVuYW1lIEdzdEZMVkRlbXV4IGZvciBHc3RGbHZEZW11eAoKMjAxMC0wNC0wOCAxNDoyMzoxOSArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkqIGdzdC9mbHYvTWFrZWZpbGUuYW06CgkqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzoKCSogZ3N0L2Zsdi9nc3RmbHZkZW11eC5oOgoJKiBnc3QvZmx2L2dzdGZsdnBhcnNlLmM6CgkqIGdzdC9mbHYvZ3N0Zmx2cGFyc2UuaDoKCSAgZmx2ZGVtdXg6IG1lcmdlIGZsdnBhcnNlIGludG8gdGhlIGRlbXV4ZXIgYW5kIG1ha2UgZnVuY3Rpb24gc3RhdGljCgkgIE5vIG5lZWQgdG8gaGlkZSBjZXJ0YWluIGZ1bmN0aW9uIGluIHRoZSBkb2NzLiBBbGxvd3MgdG8gZG8gbW9yZSBjbGVhbnVwcy4KCjIwMTAtMDQtMDggMTM6MTM6MzQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1kb2NzLnNnbWw6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJKiBnc3QvYWxwaGEvZ3N0YWxwaGEuYzoKCSogZ3N0L2FscGhhL2dzdGFscGhhLmg6CgkgIGFscGhhOiBBZGQgZG9jdW1lbnRhdGlvbgoKMjAxMC0wNC0wOCAxNDowMDowOCArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgIGRvY3M6IHY0bDJidWZmZXIgcG9vbCBpcyBub3cgYSBzZXBhcmF0ZSBvYmplY3QsIHJlbW92ZSB0aGVtIGZyb20gdjRsMnNyYyBkb2NzCgoyMDEwLTA0LTA4IDEzOjU4OjExICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgZG9jczogcmVtb3ZlIG5vbiBleGlzdGluZyBmbGFncyBhbmQgYWRkIHR3byBpbnRlcm5hbCBtZXRob2RzCgkgIElmIHNvbWVvbmUgY2FyZXMgZmx2cGFyc2UgY291bGQgYmUgbWVyZ2VkIGludG8gZmx2ZGVtdXguCgoyMDEwLTA0LTA4IDEzOjU3OjA5ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmg6CgkgIHJ0cHNlc3Npb246IHJlbW92ZSBwcm90b3R5cGUgZm9yIG5vbiBleGlzdGluZyBmdW5jdGlvbgoJICBUaGVyZSBpcyBubyBmdW5jdGlvbiBieSB0aGF0IG5hbWUgYW55d2hlcmUuCgoyMDEwLTA0LTA4IDEyOjU2OjUwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaW50ZXJmYWNlczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5wcmVyZXF1aXNpdGVzOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tMTM5NC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYWNvbG9yLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9kZXRlY3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXZpLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZseGRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZGtwaXhidWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWN5ZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW9ub3Njb3BlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHNwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNoYXBld2lwZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaG91dDJzZW5kLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXVkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2JveC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb21peGVyLnhtbDoKCSAgZG9jczogVXBkYXRlIGluc3BlY3RlZCBwbHVnaW4gaW5mb3JtYXRpb24KCjIwMTAtMDQtMDggMTI6NTY6MzAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2FscGhhL2dzdGFscGhhY29sb3IuYzoKCSAgYWxwaGFjb2xvcjogSW1wcm92ZSBkb2NzIGEgYml0CgoyMDEwLTA0LTA4IDEzOjQ3OjQyICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgZG9jczogYWRkIGVmZmVjdHR2IGRlZmluZXMgYW5kIHJlb3JkZXIgbGlzdAoKMjAxMC0wNC0wOCAxMzo0MTo0NyArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgIGRvY3M6IHJlbW92ZSB0aHJlZSBlbnRyaWVzIHRoYXQgYXJlIG5vdCBleHBvcnRlZCBmcm9tIHRoZSBoZWFkZXJzIGFueW1vcmUKCjIwMTAtMDQtMDggMTM6NDA6MzYgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9qcGVnL2dzdGpwZWdkZWMuYzoKCSogZXh0L2pwZWcvZ3N0anBlZ2RlYy5oOgoJICBqcGVnZGVjOiBtb3ZlIG1hY3JvIHRvIGMgc291cmNlCgkgIE9uZSBsZXNzIHNlbWkgcHVibGljIHN5bWJvbCB3aXRob3V0IG5hbWVzcGFjZSBwcmVmaXggaW4gdGhlIGhlYWRlcnMuCgoyMDEwLTA0LTA4IDEzOjQwOjA5ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvc3BlZXgvZ3N0c3BlZXhlbmMuaDoKCSAgc3BlZXhlbmM6IHJlbW92ZSB1bnVzZWQgZGVmaW5lcwoKMjAxMC0wNC0wOCAxMzoyMzozOCArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJICBtYXRyb3NrYS1tdXg6IGZpeCBsYXN0IGNvbW1pdAoJICBVc2UgYSBsb2NhbCBkZWZpbmUgZm9yIFdBVkVGT1JNQVRfRVggYmFzZWQgb24gdGhlIHNpemUgb2YgdGhlIHN0cnVjdCArIDIgYnl0ZXMKCSAgZm9yIHRoZSBleHRlbnNpb24gc2l6ZS4KCjIwMTAtMDQtMDggMTM6MTY6NTMgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9zcGVleC9nc3RzcGVleGRlYy5oOgoJICBzcGVleDogcmVtb3ZlIHVudXNlZCBkZWZpbmUKCjIwMTAtMDQtMDggMTM6MDM6NDMgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC93YXZlbmMvTWFrZWZpbGUuYW06CgkqIGdzdC93YXZlbmMvZ3N0d2F2ZW5jLmM6CgkqIGdzdC93YXZlbmMvcmlmZi5oOgoJICB3YXZlbmM6IHJlbW92ZSBpbnRlcm5hbCBjb3B5IG9mIHJpZmYuaCBhbmQgdXNlIHJpZmYtbGlicmFyeSBpbnN0ZWFkLgoJICBXZSBkb24ndCB1c2UgYW55IGZ1bmN0aW9uIHlldCwganVzdCB0aGUgc3RydWN0dXJlcyBhbmQgZGVmaW5lcy4KCjIwMTAtMDQtMDggMTI6NTY6MDkgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5oOgoJICBtYXRyb3NrYW11eDogdXNlIHJpZmYgbGliIG1vcmUKCSAgUmVtb3ZlIEJJVE1BUElORk9IRUFERVIgYW5kIHVzZSB0aGUgb25lIGZyb20gcmlmZi1saWIuIEFsc28gcmVtb3ZlIHRoZQoJICBXQVZFRk9STUFURVhfU0laRSBkZWZpbmUgYW5kIHVzZSBhIHNpemVvZiB0b2dldGhlciB3aXRoIHRoZSByZXNwZWN0aXZlIHN0cnVjdC4KCSAgQmVzaWRlcyBiZXR0ZXIgY29kZSByZXVzZSB0aGlzIGxlc3NlbnMgdGhlIHVudW5zZWQgc3ltYm9scyBpbiB0aGUgZG9jcy4KCjIwMTAtMDQtMDggMTI6MTQ6MDcgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguaDoKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmM6CgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5oOgoJICBkb2NzOiB0cmltIHNlY3Rpb25zIGZpbGUgbW9yZQoJICBSZW5hbWUgc29tZSBkZWZpbmVzIGFuZCBtb3ZlIHNvbWUgaXRlc20gdG8gKi5jIGZpbGVzLiBBZGQgbW9yZSBpdGVtcyB0byBpbnRlcm5hbAoJICBzdWJzZWN0aW9uLgoKMjAxMC0wNC0wOCAxMToxOTo0MyArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgIGRvY3N3OiB0cmltIHRoZSBzZWN0aW9uIGZpbGUKCjIwMTAtMDQtMDggMTA6MjY6MjUgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1kb2NzLnNnbWw6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICBkb2NzOiBhZGQgdjRsMnNpbmsgdG8gZG9jcwoKMjAxMC0wNC0wOCAxMDoxNTowOCArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2F1ZGlvZngvYXVkaW9hbXBsaWZ5LmM6CgkqIGdzdC9tdWx0aWZpbGUvZ3N0bXVsdGlmaWxlc2luay5jOgoJICBkb2NzOiBmaXggeG1sCgkgIFRoZSB0aXRsZSB0YWcgYmVsb25ncyBpbnRvIHRoZSByZWZzZWN0Mi4KCjIwMTAtMDQtMDcgMTc6NDM6NTYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvYm94L2dzdHZpZGVvYm94LmM6CgkgIHZpZGVvYm94OiBBZGQgc3VwcG9ydCBmb3IgWVYxMiwgaW5jbHVkaW5nIGNvbnZlcnNpb24gc3VwcG9ydCBmb3IgSTQyMC9BWVVWCgoyMDEwLTA0LTA3IDE3OjI3OjEyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb2JveC9nc3R2aWRlb2JveC5jOgoJICB2aWRlb2JveDogQWRkIHN1cHBvcnQgZm9yIGdyYXlzY2FsZSBpbnB1dC9vdXRwdXQKCSAgVGhpcyBkb2Vzbid0IGRvIGFueSBjb252ZXJzaW9uIGFuZCBpcyB0aGUgbmV4dCBzdGVwIHRvCgkgIHJlcGxhY2luZyB2aWRlb2Nyb3AgYnkgc3VwcG9ydGluZyBhbGwgcmVtYWluaW5nIGZvcm1hdHMKCSAgaW4gcGFzc3Rocm91Z2ggbW9kZS4KCjIwMTAtMDQtMDcgMTY6MjQ6MzggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvYm94L2dzdHZpZGVvYm94LmM6CgkqIGdzdC92aWRlb2JveC9nc3R2aWRlb2JveC5oOgoJICB2aWRlb2JveDogQWRkIHN1cHBvcnQgZm9yIGZpbGxpbmcgdGhlIGJhY2tncm91bmQgd2l0aCByZWQsIHllbGxvdyBhbmQgd2hpdGUKCjIwMTAtMDQtMDcgMTY6MTE6MTEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvYm94L2dzdHZpZGVvYm94LmM6CgkgIHZpZGVvYm94OiBBZGQgc3VwcG9ydCBmb3IgZGlyZWN0IFJHQjwtPkFZVVYgY29udmVyc2lvbgoKMjAxMC0wNC0wNyAxNjoxMTowMSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9ib3gvZ3N0dmlkZW9ib3guYzoKCSAgdmlkZW9ib3g6IEZpeCBSR0IyNCBmaWxsaW5nCgoyMDEwLTA0LTA3IDE2OjA2OjU0ICswMzAwICBNYXJjbyBCYWxsZXNpbyA8bWFyY28uYmFsbGVzaW9Abm9raWEuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBoMjY0ZGVwYXkuYzoKCSAgaDI2NGRlcGF5OiBoYW5kbGUgcHJvcGVybHkgU1RBUHMKCSAgaW4gcnRwaDI2NGRlcGF5LmMsIGxpbmVzIDU3Ny01NzYsIE5BTFUtdHlwZSAyNCAoU2luZ2xlLVRpbWUgQWdncmVnYXRpb24KCSAgUGFja2V0KSBpcyBoYW5kbGVkIGluIGZhbGwtdGhyb3VnaCBhcyBOQUxVLXR5cGUgMjYgKHVuaGFuZGxlZCkuCgkgIFRoaXMgbGVhZHMgaGlnaCBxdWFsaXR5IGgyNjQgc3RyZWFtcyBzdWNoIGFzOgoJICBydHNwOi8vc3RyZWFtLnlsZS5tb2JpL3lsZS9hcmVlbmEvTUVESUFfRTAzNDI2NTdfcDMubXA0CgkgIHRvIGZhaWwgd2l0aCAiTkFMIHVuaXQgdHlwZSAyNCBub3Qgc3VwcG9ydGVkIHlldCIgKGJ1dCBpdCdzIGFjdHVhbGx5CgkgIHN1cHBvcnRlZCksIGFuZCB0aHVzIHRvIGNsb3NlIGFueSBzdHJlYW0gd2hpY2ggY29udGFpbnMgU1RBUHMuCgkgIFRoZSBwcm9wb3NlZCBvbmUtbGluZXIgcGF0Y2ggZml4ZXMgdGhlIGlzc3VlLgoJICBGaXhlcyAjNjE1MDUxLgoKMjAxMC0wNC0wNyAxMzo0NzowMiArMDIwMCAgVGhpanMgVmVybWVpciA8dGhpanN2ZXJtZWlyQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nc3QtaTE4bi1wbHVnaW4uaDoKCSogZ3N0L2F2aS9nc3RhdmkuYzoKCSAgYnVpbGQ6IGZpeCBjb21waWxlciB3YXJuaW5ncwoJICBmaXggd2FybmluZ3MgZm9yIGFsbCBwbHVnaW5zIHRoYXQgdXNlOiBzZXRsb2NhbGUgKExDX0FMTC4uLgoKMjAxMC0wNC0wNyAxMzozMToxMyArMDIwMCAgVGhpanMgVmVybWVpciA8dGhpanN2ZXJtZWlyQGdtYWlsLmNvbT4KCgkqIGdzdC9hdmkvZ3N0YXZpLmM6CgkgIGF2aTogZml4IGNvbXBpbGVyIHdhcm5pbmcKCjIwMTAtMDMtMzEgMTc6NTQ6MjEgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thZGVtdXg6IHJlc3RyaWN0IHJlc3luY2luZyB0byBzdWJ0aXRsZSB0cmFja3MKCSAgVGhpcyBzaG91bGQgcHJldmVudCBza2lwcGluZyBhdWRpbyBvciB2aWRlbyBpbiBub3Qgc28gd2VsbCBpbnRlcmxlYXZlZAoJICBjYXNlcy4KCSAgRml4ZXMgIzYxNDQ2MC4KCjIwMTAtMDQtMDYgMTM6MjE6NTEgKzA1MzAgIEFydW4gUmFnaGF2YW4gPGZvcmRfcHJlZmVjdEBnZW50b28ub3JnPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4X2ZvdXJjYy5oOgoJICBxdGRlbXV4OiBQb3N0IGF2Zy4vbWF4LiBiaXRyYXRlIHRhZ3MgZm9yIEguMjY0CgkgIFRoaXMgcmVhZHMgdGhlIGF2ZXJhZ2UgYW5kIG1heGltdW0gYml0cmF0ZXMgZnJvbSB0aGUgJ2J0cnQnIGF0b20gaWYKCSAgYXZhaWxhYmxlLCBhbmQgcHVzaGVzIHRoZXNlIGFzIHRhZ3MsCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MTQ5MjcKCjIwMTAtMDQtMDMgMjM6Mzk6MjAgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSAgcHVsc2VzaW5rOiBmaXggcmFjeSBzaHV0ZG93bgoJICBLZWVwIGEgcmVmIG9mIHB1bHNlc2luayBmb3IgZGVmZXJyZWQgbWFpbmxvb3AgaW52b2NhdGlvbi4gRml4ZXMgIzYxNDc2NQoKMjAxMC0wNC0wNSAxNTo0ODoxNyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvanBlZ2VuYy5jOgoJICB0ZXN0czoganBlZ2VuYzogQWRkcyBzb21lIGdldGNhcHMgdGVzdAoJICBBZGRzIHRlc3RzIGZvciB0aGUganBlZ2VuYyBnZXRjYXBzIGZ1bmN0aW9uLCB0byBhdm9pZAoJICBoYXZpbmcgaXQgcmV0dXJuaW5nIG5vbi1zdWJzZXQgY2FwcwoKMjAxMC0wNC0wNSAxNDo1MTo1OCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvanBlZy9nc3RqcGVnZW5jLmM6CgkgIGpwZWdlbmM6IEZpeCBnZXRjYXBzIGZ1bmN0aW9uCgkgIFdoZW4gY3JlYXRpbmcgdGhlIGNhcHMgYWxsb3dlZCB0byB1cHN0cmVhbSB1c2luZyBkb3duc3RyZWFtCgkgIHJlc3RyaWN0aW9ucywgdXNlIGdzdF9wYWRfZ2V0X2FsbG93ZWRfY2FwcyBhcyB0aGF0IGhhcyB0aGUKCSAgdXNhYmxlIGZvcm1hdHMgYW5kIHB1dHMgaW50byBpdCB0aGUgd2lkdGgsIGhlaWdodCBhbmQgZnJhbWVyYXRlCgkgIGZpZWxkcy4gVGhpcyBhdm9pZHMgZ2V0dGluZyBlcnJvcnMgYWJvdXQgZ2V0Y2FwcyByZXR1cm5pbmcKCSAgbm9uIHN1YnNldCBjYXBzIG9mIGl0cyBwYWQgdGVtcGxhdGUuCgkgIFRoaXMgZXJyb3Igc2hvd2VkIHVwIG9uIHRoZSBtZXRhZGF0YSBwbHVnaW4gdW5pdCB0ZXN0IGluIC1iYWQuCgoyMDEwLTA0LTA1IDE3OjMxOjM2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb2JveC9nc3R2aWRlb2JveC5jOgoJICB2aWRlb2JveDogRml4IGNvbnZlcnNpb24gZnJvbSAzIGJ5dGUgUkdCIHRvIEFSR0IKCjIwMTAtMDQtMDUgMTc6MDg6MTUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvYm94L2dzdHZpZGVvYm94LmM6CgkgIHZpZGVvYm94OiBBZGQgc3VwcG9ydCBmb3IgMyBieXRlIFJHQiBmb3JtYXRzIGFuZCByZWZhY3RvciBSR0IgY29kZSBhIGJpdAoKMjAxMC0wNC0wNSAxNTo1MToxMyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9ib3gvZ3N0dmlkZW9ib3guYzoKCSogZ3N0L3ZpZGVvYm94L2dzdHZpZGVvYm94Lmg6CgkgIHZpZGVvYm94OiBBZGQgc3VwcG9ydCBmb3IgYWxsIDMyIGJpdCBSR0IgZm9ybWF0cwoJICAuLi5pbmNsdWRpbmcgY29udmVyc2lvbiBiZXR3ZWVuIHRoZW0uCgoyMDEwLTA0LTA1IDE1OjI2OjAzICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmg6CgkgIHJ0c3BzcmM6IGFkZCBwcm9wZXJ0eSB0byBjb250cm9sIHRoZSBidWZmZXJpbmcgbWV0aG9kCgkgIEFkZCBhIHByb3BlcnR5IHRvIGNvbnRyb2wgaG93IHRoZSBqaXR0ZXJidWZmZXIgcGVyZm9ybXMgdGltZXN0YW1waW5nIGFuZAoJICBidWZmZXJpbmcuCgoyMDEwLTA0LTA0IDE5OjAyOjQxIC0wMzAwICBBbmRyw6kgRGllYiBNYXJ0aW5zIDxhbmRyZS5kaWViQGdtYWlsLmNvbT4KCgkqIGdzdC9hbHBoYS9nc3RhbHBoYWNvbG9yLmM6CgkgIGFscGhhY29sb3I6IFJlbW92aW5nIHVudXNlZCB2YXJpYWJsZQoJICBGaXhlcyBidWcgIzYxNDg0My4KCjIwMTAtMDQtMDQgMjA6MzE6MzggLTAzMDAgIEFuZHLDqSBEaWViIE1hcnRpbnMgPGFuZHJlLmRpZWJAZ21haWwuY29tPgoKCSogZXh0L2pwZWcvZ3N0anBlZ2VuYy5jOgoJICBqcGVnZW5jOiBzaG91bGQgbm90IHJldHVybiBjYXBzIEFOWSBiYXNlZCBvbiBkb3duc3RyZWFtCgkgIFdoZW4gZG93bnN0cmVhbSBoYXMgYSBzaW5rIHBhZCB3aXRoIEFOWSBjYXBzLCBqcGVnZW5jIHNob3VsZAoJICB0cmVhdCBpdCB0aGUgc2FtZSBhcyBOVUxMIGFuZCByZXR1cm4gaXRzIHRlbXBsYXRlIGNhcHMuCgkgIEZpeGVzICM2MTQ4NDIKCjIwMTAtMDQtMDQgMjI6Mjg6MzMgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIHN5cy9vc3MvZ3N0b3NzaGVscGVyLmM6CgkgIG9zczogYWRkIGZpeG1lIGNvbW1lbnQKCjIwMTAtMDQtMDQgMjI6MjY6NTkgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdjb25mL01ha2VmaWxlLmFtOgoJICBidWlsZDogdXNlICQoYnVpbGRkaXIpIGZvciBpbnN0YWxsaW5nIGdlbmVyYXRlZCBmaWxlcwoKMjAxMC0wNC0wNCAyMjowNzozMyArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogY29uZmlndXJlLmFjOgoJICBSZXZlcnQgImNvbmZpZ3VyZTogZml4IG91dCBvZiBzb3VyY2UgZGlyIGJ1aWxkcyIKCSAgVGhpcyByZXZlcnRzIGNvbW1pdCBjYTBiZDNhOGNlYTMxZjllYTBkZjc5OGE4M2QzMDA3ZTY5Njk1OGJhLgoKMjAxMC0wNC0wNCAyMTozNjozNSArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IGZpeCBvdXQgb2Ygc291cmNlIGRpciBidWlsZHMKCSAgUmVtb3ZlIG5vbi1leGlzdGluZyBnc3QtbGlicyBmcm9tIGluY2x1ZGUgYW5kIGxpYnJhcnktcGF0aHMnLgoJICBGaXhlcyAjNjE0MzU0IGV2ZW4gbW9yZS4KCjIwMTAtMDQtMDEgMTA6MTk6MDAgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4X2ZvdXJjYy5oOgoJICBxdGRlbXV4OiBSZWFkIHJlcGxheWdhaW4gcGVhay9nYWluIHRhZ3MKCSAgTWFrZSBxdGRlbXV4IHJlYWQgdGFncyByZXBsYXlnYWluIHRhZ3MgdGhhdCBhcmUgd2l0aGluICctLS0tJyBhdG9tcy4KCSAgRml4ZXMgIzYxNDQ3MQoKMjAxMC0wNC0wMSAxODo0ODo0MyArMDUzMCAgQXJ1biBSYWdoYXZhbiA8Zm9yZF9wcmVmZWN0QGdlbnRvby5vcmc+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBtYXRyb3NrYTogRXhwb3J0IGguMjY0IHByb2ZpbGUgYW5kIGxldmVsIGluIGNhcHMKCSAgVGhpcyByZXBsaWNhdGVzIHRoZSBjb2RlIGluIHF0ZGVtdXggdG8gZXhwb3J0IHRoZSBoLjI2NCBwcm9maWxlIGFuZAoJICBsZXZlbCBpbiB0aGUgc3RyZWFtIGNhcHMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MTQ2NTEKCjIwMTAtMDQtMDIgMTg6NTA6NDUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBGaXggb2ZmLWJ5LW9uZSBpbnRyb2R1Y2VkIGluIGxhc3QgY29tbWl0CgoyMDEwLTA0LTAxIDE4OjM4OjM4ICswNTMwICBBcnVuIFJhZ2hhdmFuIDxmb3JkX3ByZWZlY3RAZ2VudG9vLm9yZz4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogTWlub3IgcmVmYWN0b3Igb2YgdGhlIGNvZGUKCSAgVGhpcyB3aWxsIG1ha2UgaXQgZWFzaWVyIHRvIGNsdW1wIHRvZ2V0aGVyIGNvbW1vbiBjb2RlIHdoZW4gY29weWluZyB0bwoJICBtYXN0cm9za2FkZW11eC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYxNDY1MQoKMjAxMC0wNC0wMSAxODoxNzowOSArMDUzMCAgQXJ1biBSYWdoYXZhbiA8Zm9yZF9wcmVmZWN0QGdlbnRvby5vcmc+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IEV4cG9ydCBoLjI2NCBsZXZlbCBpbiBjYXBzCgkgIFRoaXMgZXhwb3J0cyB0aGUgaC4yNjQgbGV2ZWwgaW4gdGhlIHN0cmVhbSBjYXBzIChhcyBhIHN0cmluZykgd2hpY2ggY2FuCgkgIGJlIHVzZWQgdG8gbWF0Y2ggYSBkZWNvZGVyLCBvciBhcyBtZXRhZGF0YS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYxNDY1MQoKMjAxMC0wNC0wMSAxNjo1ODozMiArMDUzMCAgQXJ1biBSYWdoYXZhbiA8Zm9yZF9wcmVmZWN0QGdlbnRvby5vcmc+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IEV4cG9ydCBoLjI2NCBwcm9maWxlIGluIGNhcHMKCSAgVGhpcyBhZGRzIHRoZSBoLjI2NCBwcm9maWxlIGZvciBhIGdpdmVuIHN0cmVhbSBpbnRvIGNhcHMuIFRoaXMgY2FuCgkgIChldmVudHVhbGx5KSBiZSB1c2VkIHRvIHNlbGVjdCBhbiBhcHByb3ByaWF0ZSBkZWNvZGVyIGFuZCBhcyBtZXRhZGF0YQoJICBmb3IgY2VydGFpbiBhcHBsaWNhdGlvbnMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MTQ2NTEKCjIwMTAtMDMtMzEgMTQ6NDM6MTQgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOgoJICBmbHZkZW11eDogcmVtb3ZlIG9ic29sZXRlIHJldmVyc2UgcGxheWJhY2sgY29kZSBwYXRoCgoyMDEwLTAzLTMxIDE0OjQwOjUwICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzoKCSogZ3N0L2Zsdi9nc3RmbHZkZW11eC5oOgoJKiBnc3QvZmx2L2dzdGZsdnBhcnNlLmM6CgkgIGZsdmRlbXV4OiBzdXBwb3J0IChwdWxsIG1vZGUpIG5lZ2F0aXZlIHNlZWsgcmF0ZQoKMjAxMC0wMy0yOSAxNToyNzozNyArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6CgkgIGZsdmRlbXV4OiBhbHNvIGNoZWNrIGZvciBzZWdtZW50IHN0b3AgZm9yIG5vbi1zZWdtZW50LXNlZWsKCjIwMTAtMDMtMzAgMTY6NTA6MTAgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thZGVtdXg6IHB1c2ggY29ycmVjdGx5IHNpemVkIGZsYWMgaGVhZGVyIGJ1ZmZlcnMKCSAgRml4ZXMgIzYxNDM1My4KCjIwMTAtMDMtMzAgMDc6MzQ6MDcgLTA1MDAgIFJvYiBDbGFyayA8cm9iQHRpLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgYnVpbGQ6IGZpeCBjb21waWxlciB3YXJuaW5nIHdoZW4gc3JjZGlyICE9IGJ1aWxkZGlyCgkgIEZpeGVzICcuLi8uLi9nc3QtbGliczogTm8gc3VjaCBmaWxlIG9yIGRpcmVjdG9yeScgd2FybmluZy9lcnJvciB3aGVuCgkgIHRoZSBidWlsZCBkaXJlY3RvcnkgaXMgbm90IHRoZSBzYW1lIGFzIHRoZSBzb3VyY2UgZGlyZWN0b3J5LgoJICBGaXhlcyAjNjE0MzU0LgoKMjAxMC0wMy0zMCAwMTo1MDozMiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaWQzZGVtdXgvaWQzdjJmcmFtZXMuYzoKCSAgaWQzZGVtdXg6IGZpeCBwYXJzaW5nIG9mIHVuc3luY2VkIGZyYW1lcyB3aXRoIGRhdGEgbGVuZ3RoIGluZGljYXRvcgoJICBGaXhlcyBidWcgIzYxNDE1OC4KCjIwMTAtMDMtMjkgMTE6MDA6MDQgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29tbW9uOgoJKiBleHQvTWFrZWZpbGUuYW06CgkqIGdzdC9NYWtlZmlsZS5hbToKCSogc3lzL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9leGFtcGxlcy9NYWtlZmlsZS5hbToKCSAgYnVpbGQ6IGJ1aWxkIHBsdWdpbnMgYW5kIGV4YW1wbGVzIGluIHBhcmFsbGVsIHdoZXJlIHBvc3NpYmxlCgoyMDEwLTAzLTE4IDE4OjQ5OjI0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9kaXJlY3Rzb3VuZC9nc3RkaXJlY3Rzb3VuZHNpbmsuYzoKCSAgZGlyZWN0c291bmRzaW5rOiBmaXggcmVkdW5kYW50IGZ1bmN0aW9uIHJlZGVjbGFyYXRpb24gY29tcGlsZXIgd2FybmluZ3MKCSAgUmUtYXBwbHkgdGhpcyBhZ2FpbiBhcyB3ZWxsLCBhcyBpdCB3YXMgdW5kb25lIGJ5IHRoZSBwcmV2aW91cyBjb21taXQuLgoKMjAxMC0wMy0xOCAxNDozMTozNSArMDEwMCAgQmVuamFtaW4gT3R0ZSA8b3R0ZUByZWRoYXQuY29tPgoKCSogc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdHNvdW5kc2luay5jOgoJICBnc3RfZWxlbWVudF9jbGFzc19zZXRfZGV0YWlscyA9PiBnc3RfZWxlbWVudF9jbGFzc19zZXRfZGV0YWlsc19zaW1wbGUKCSAgQXBwbHkgdGhpcyBhZ2FpbiwgYXMgaXQgd2FzIG92ZXJ3cml0dGVuIGJ5IHRoZSBwcmV2aW91cyBjb21taXQuIE1lcmdpbmcKCSAgaXMgaGFyZCwgYXBwYXJlbnRseS4KCjIwMTAtMDMtMjYgMjM6MjA6MTAgKzAxMDAgIEp1bGllbiBNb3V0dGUgPGp1bGllbkBmbHVlbmRvLmNvbT4KCgkqIHN5cy9kaXJlY3Rzb3VuZC9nc3RkaXJlY3Rzb3VuZHNpbmsuYzoKCSogc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdHNvdW5kc2luay5oOgoJICBkaXJlY3Rzb3VuZHNpbms6IEltcGxlbWVudCBTUERJRiBzdXBwb3J0IGZvciBBQzMuCgkgIERldGVjdCBpZiB0aGUgc291bmQgY2FyZCBzdXBwb3J0cyBTUERJRiBwYXNzdGhydSBvZiBBQzMgYW5kIGFkZAoJICBuZWNlc3NhcnkgY29kZSB0byBzdXBwb3J0IHRoYXQgbGlrZSBhbHNhc2luay4KCjIwMTAtMDMtMjYgMTc6MDY6NTcgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogTWFrZWZpbGUuYW06CgkgIGJ1aWxkOiBhZGQgY3J1ZnQgYWxlcnQgZm9yIGNvbW1vbi9zaGF2ZSoKCjIwMTAtMDMtMjYgMTY6NTA6MjIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvTWFrZWZpbGUuYW06CgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eF9sYW5nLmM6CgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXhfbGFuZy5oOgoJICBxdGRlbXV4OiBleHRyYWN0IHN0cmVhbSBsYW5ndWFnZSBpbiBtb3JlIGNhc2VzCgkgIFRoZSAxNi1iaXQgbGFuZ3VhZ2UgY29kZSBjYW4gYmUgZWl0aGVyIGEgcGFja2VkIElTTy02MzktMlQgY29kZQoJICBvciBhICdNYWNpbnRvc2ggbGFuZ3VhZ2UgY29kZScuIEhhbmRsZSB0aGUgbGF0dGVyIHR5cGUgb2YgbGFuZ3VhZ2UKCSAgY29kZXMgYXMgd2VsbCwgYW5kIG1hcCB0byB0aGUgbWF0Y2hpbmcgSVNPIGNvZGUuIExhc3RseSwgZml4CgkgIGxhbmd1YWdlIGNvZGUgcG9zdGluZyBmb3IgbGFuZ3VhZ2UgIzAsIHdoaWNoIGlzIHZhbGlkIGFuZCBzdGFuZHMKCSAgZm9yICdFbmdsaXNoJy4KCSAgRml4ZXMgIzYxNDAwMS4KCjIwMTAtMDMtMjYgMTQ6NTU6NTMgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5jOgoJICBmbGFjZGVjOiBJbXByb3ZlIGRlYnVnZ2luZyBhbmQgYWRkIHNvbWUgRklYTUVzCgoyMDEwLTAzLTI2IDE0OjQyOjA2ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mbGFjL2dzdGZsYWNkZWMuYzoKCSAgZmxhY2RlYzogU2FtcGxlIHJhdGUgbWFya2VycyAweDAxLCAweDAyIGFuZCAweDAzIGFyZSB2YWxpZAoJICBUaGV5IGFyZSBmb3IgODguMmtIeiwgMTc2LjRrSHogYW5kIDE5MmtIei4KCjIwMTAtMDMtMjYgMTQ6MTY6MzkgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5jOgoJICBmbGFjZGVjOiBUYWtlIHNhbXBsZXJhdGUsIHdpZHRoIGFuZCBudW1iZXIgb2YgY2hhbm5lbHMgZnJvbSB0aGUgU1RSRUFNSU5GTwoJICAuLi5hbmQgdXBkYXRlIGl0IGZyb20gdGhlIGZyYW1lIGhlYWRlcnMgaWYgaXQgc2hvdWxkIGNoYW5nZSBmb3Igc29tZSByZWFzb24uCgkgIFRoaXMgYWxsb3dzIHBsYXliYWNrIG9mIGZpbGVzIHdpdGggb2RkIHNhbXBsZSByYXRlcy4KCjIwMTAtMDMtMjYgMTM6NDU6NDYgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvYm94L2dzdHZpZGVvYm94LmM6CgkgIHZpZGVvYm94OiBGaXggQVlVVi0+STQyMCBmcmFtZSBjb3B5aW5nCgoyMDEwLTAzLTI2IDEzOjM0OjE3ICswMTAwICBSYWltbyBKw6RydmkgPHJhaW1vLmphcnZpQGdtYWlsLmNvbT4KCgkqIGV4dC9qcGVnL2dzdGpwZWdlbmMuYzoKCSAganBlZ2VuYzogU2V0IGNvcnJlY3QgZ2V0Y2Fwcy9zZXRjYXBzIGZ1bmN0aW9ucyBvbiBzcmNwYWRzIGFuZCBzaW1wbGlmeSB0aGVtCgkgIFRoaXMgZml4ZXMgZG93bnN0cmVhbSBuZWdvdGlhdGlvbiwgdXBzdHJlYW0gbmVnb3RpYXRpb24gaXNuJ3QgcmVhbGx5CgkgIHN1cHBvcnRlZCBieSBqcGVnZW5jIHlldC4KCSAgRml4ZXMgYnVnICM2MTM3ODkuCgoyMDEwLTAzLTI2IDEwOjMxOjIyICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb2JveC9nc3R2aWRlb2JveC5jOgoJKiBnc3QvdmlkZW9ib3gvZ3N0dmlkZW9ib3guaDoKCSAgdmlkZW9ib3g6IEFsd2F5cyBmaWxsIHRoZSBjb21wbGV0ZSBmcmFtZSBpZiBib3JkZXJzIHNob3VsZCBiZSBhZGRlZAoJICBUaGlzIG1ha2VzIHN1cmUgdGhhdCB3ZSBkb24ndCBnZXQgYW55IGdhcHMgYmV0d2VlbiByZWN0YW5nbGVzIGJlY2F1c2UKCSAgb2YgY2hyb21hIHN1YnNhbXBsaW5nIGZvciBleGFtcGxlLgoKMjAxMC0wMy0xOCAyMjoxMjo0MCArMDAwMCAgRGFtaWVuIExlc3BpYXUgPGRhbWllbi5sZXNwaWF1QGludGVsLmNvbT4KCgkqIGF1dG9nZW4uc2g6CgkgIGF1dG9nZW4uc2g6IERvbid0IGNhbGwgY29uZmlndXJlIHdpdGggLS1lbmFibGUtcGx1Z2luLWRvY3MKCSAgY29uZmlndXJlIGdpdmVzIGEgbmljZSB3YXJuaW5nOgoJICBjb25maWd1cmU6IFdBUk5JTkc6IHVucmVjb2duaXplZCBvcHRpb25zOiAtLWVuYWJsZS1wbHVnaW4tZG9jcwoJICBhbmQgaW5kZWVkLCBJIGNvdWxkIG5vdCBmaW5kIGFueXRoaW5nIGluIHRoZSBjb25maWd1cmUuYWMgb3IgdGhlIG00CgkgIG1hY3JvcyB0aGF0IHdvdWxkIGFsbG93IGVuYWJsaW5nIHRoYXQgb3B0aW9uLiBSZW1vdmUgaXQgdGhlbi4KCjIwMTAtMDMtMjIgMTY6NTg6MjYgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvYm94L2dzdHZpZGVvYm94LmM6CgkqIGdzdC92aWRlb2JveC9nc3R2aWRlb2JveC5oOgoJICB2aWRlb2JveDogUmVmYWN0b3IgYm94aW5nIHRvIHJlZHVjZSBjb2RlIGR1cGxpY2F0aW9uCgoyMDEwLTAzLTIyIDEzOjEzOjU5ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hbHBoYS9nc3RhbHBoYS5jOgoJICBhbHBoYTogU2ltcGxpZnkgY2FwcyB0cmFuc2Zvcm1hdGlvbgoKMjAxMC0wMy0yMSAyMDoxNDoxOSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9ib3gvZ3N0dmlkZW9ib3guYzoKCSAgdmlkZW9ib3g6IEFkZCBjb25zdCBxdWFsaWZpZXIgdG8gdGhlIHNvdXJjZSBmcmFtZSBkYXRhCgoyMDEwLTAzLTIzIDE3OjQ3OjQ4ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYWRlbXV4OiBvbmx5IHNlZWsgd2hlbiBpbiBwcm9wZXIgc3RhdGUKCSAgLi4uIGFuZCBkYXRhIHN0cnVjdHVyZXMgY2FuIGJlIHRocmVhZC1zYWZlbHkgYWNjZXNzZWQuCgkgIFNlZSAjNjAxNjE3LgoKMjAxMC0wMy0yMyAxNzozNDo1MCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4Lmg6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1pZHMuaDoKCSAgbWF0cm9za2FkZW11eDogc3VwcG9ydCAocHVsbCBtb2RlKSBuZWdhdGl2ZSBzZWVrIHJhdGUKCjIwMTAtMDMtMTggMTU6Mjk6MDAgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5oOgoJICBtYXRyb3NrYWRlbXV4OiB0cmFjayBjbGlwIGR1cmF0aW9uIGluIHNlZ21lbnQKCjIwMTAtMDMtMTggMTM6Mzk6MDUgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thZGVtdXg6IHByZWZlciBpbmRleCBvZiB2aWRlbyB0cmFjayB0byBwZXJmb3JtIHNlZWtpbmcKCjIwMTAtMDMtMjUgMjI6NTg6NDcgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9kdG1mL2dzdGR0bWZkZXRlY3QuYzoKCSAgZHRtZmRldGVjdDogaWYgd2UgdGVsbCB0aGF0IHdlIGhhbmRsZSBnYXAgZmxhZ3MsIHRoZW4gZG8gc28KCjIwMTAtMDMtMjUgMjI6NTU6MzIgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9kdG1mL2dzdGR0bWZkZXRlY3QuYzoKCSAgZHRtZmRldGVjdDogdXNlIGdsaWIgdHlwZXMKCjIwMTAtMDMtMjUgMjI6NTQ6NDkgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9kdG1mL2dzdGR0bWZkZXRlY3QuYzoKCSAgZHRtZmRldGVjdDogZml4IGNsYXNzaWZpY2F0aW9uCgoyMDEwLTAzLTI1IDIyOjUzOjIwICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvZHRtZi9nc3RkdG1mZGV0ZWN0LmM6CgkgIGR0bWZkZXRlY3Q6IHJlZm9ybWF0IG1lc3NhZ2UgZG9jcwoJICBVc2UgYSBsaXN0IGxpa2UgaW4gb3RoZXIgZWxlbWVudCBkb2NzIGFzIGFuIHVudHdlYWtlZCBkb2Nib29rIHRhYmxlIGxvb2sgdWdseS4KCjIwMTAtMDMtMjQgMTY6MTk6NTMgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICBhdmlkZW11eDogZml4IHR5cG8gaW4gaGVhZGVyIHZhbGlkYXRpb24gY2hlY2sKCjIwMTAtMDMtMjQgMTg6NTM6MjAgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIDU1Y2Q1MTQgdG8gYzFkMDdkZAoKMjAxMC0wMy0yMyAxOTo0Njo0MyArMDEwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9pY3lkZW11eC9nc3RpY3lkZW11eC5jOgoJKiBnc3QvaWN5ZGVtdXgvZ3N0aWN5ZGVtdXguaDoKCSAgaWN5ZGVtdXg6IEhhbmRsZSB1cHN0cmVhbSBDb250ZW50LVR5cGUuCgkgIEFsbG93cyB1cyB0byBoYW5kbGUgU2hvdXRDYXN0IFRWIChOU1YpIHN0cmVhbXMuCgkgIElmIHRoZSB1cHN0cmVhbSBjYXBzIGhhdmUgdGhlICdjb250ZW50LXR5cGUnIGZpZWxkIHNldCB0byB2aWRlby9uc3YsIHRoZW4KCSAgd2Ugc2hvcnRjdXQgdGhlIHR5cGVmaW5kaW5nIGFuZCBzZXQgdmlkZW8veC1uc3YgZGlyZWN0bHkuCgoyMDEwLTAzLTIzIDE5OjMwOjUwICswMTAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzoKCSAgc291cGh0dHBzcmM6IFNldCB0aGUgQ29udGVudC1UeXBlIEhUVFAgaGVhZGVyIG9uIHRoZSBjYXBzLgoJICBGaXJzdCBzdGVwIHRvIGZpeGluZyBTaG91dENhc3QgKE5TVikgc3RyZWFtaW5nLgoKMjAxMC0wMy0yMyAwMjozODo0MyAtMDQwMCAgVHJpc3RhbiBNYXR0aGV3cyA8dHJpc3RhbkBzYXQucWMuY2E+CgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4YXVkaW9lbGVtZW50LmM6CgkqIHN5cy9vc3h2aWRlby9NYWtlZmlsZS5hbToKCSAgb3N4OiBmaXggY29tcGlsZXIgd2FybmluZ3MKCSAgQWRkZWQgdm9pZCBwYXJhbWV0ZXIgdG8gYXZvaWQgb2xkLXN0eWxlIGRlZmluaXRpb24gd2FybmluZy4KCSAgQWRkZWQgLVduby1hZ2dyZWdhdGUtcmV0dXJuIGZsYWcgdG8gYXZvaWQgZXJyb25lb3VzIGFnZ3JlZ2F0ZSByZXR1cm4gd2FybmluZy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYxMzY2MwoKMjAxMC0wMy0yMyAwMDoxNToxNSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy92aWRlb2Nyb3AuYzoKCSAgdGVzdHM6IHVzZSBsb29wIHRlc3QgZm9yIGxvbmctcnVubmluZyB2aWRlb2Nyb3AgY2hlY2sKCSAgVGhpcyBzaG91bGQgYXZvaWQgdGltZW91dHMgb24gc2xvdyBtYWNoaW5lcy4KCSAgRml4ZXMgIzU5NzczOS4KCjIwMTAtMDMtMjIgMTc6MjY6MzcgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9mbGFjL2dzdGZsYWMuYzoKCSogZXh0L3B1bHNlL3BsdWdpbi5jOgoJKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrLmM6CgkqIGdzdC1saWJzL2dzdC9nZXR0ZXh0Lmg6CgkqIGdzdC9tdWx0aWZpbGUvZ3N0bXVsdGlmaWxlc2luay5oOgoJICBpMThuOiBidWlsZCBmaXhlczogI2lmIC0+ICNpZmRlZiBmb3IgRU5BQkxFX05MUwoKMjAxMC0wMy0yMiAxNzoyNTowOSArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0LWxpYnMvZ3N0L2dzdC1pMThuLXBsdWdpbi5oOgoJICBpMThuOiBmaXggdGhlIGJ1aWxkCgkgIERvbid0IGlubGN1ZGUgbG9jYWxlLmggd2hpY2ggd2UgaW5jbHVkZSBpbiBnZXR0ZXh0LmggaWYgbmVlZGVkLiBHdWFyZCB0aGUKCSAgaW5sY3VkZSBsaWtlIHdlIGRvIGluIHRoZSBzaW1pbGxhciBoZWFkZXJzIGluIGNvcmUuCgoyMDEwLTAzLTIyIDEzOjE2OjMzICswMTAwICBCZW5qYW1pbiBPdHRlIDxvdHRlQHJlZGhhdC5jb20+CgoJKiBnc3QvZHRtZi9nc3RkdG1mc3JjLmM6CgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZkZXBheS5jOgoJICBBZGQgLVd3cml0ZS1zdHJpbmdzCgkgIGFuZCBmaXggaXRzIHdhcm5pbmdzCgoyMDEwLTAzLTIyIDEyOjAyOjE2ICswMTAwICBCZW5qYW1pbiBPdHRlIDxvdHRlQHJlZGhhdC5jb20+CgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mc3JjLmM6CgkgIEFkZCAtV3JlZHVuZGFudC1kZWNscyBmbGFnCgkgIGFuZCBmaXggd2FybmluZ3MgZnJvbSBpdAoKMjAxMC0wMy0yMSAyMTozOToxOCArMDEwMCAgQmVuamFtaW4gT3R0ZSA8b3R0ZUByZWRoYXQuY29tPgoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZmRlcGF5Lmg6CgkgIEFkZCAtV21pc3NpbmctZGVjbGFyYXRpb25zIC1XbWlzc2luZy1wcm90b3R5cGVzIHRvIGNvbmZpZ3VyZSBmbGFncwoJICBBbmQgZml4IGFsbCB3YXJuaW5ncwoKMjAxMC0wMy0yMSAxNzo0NjowNiArMDEwMCAgQmVuamFtaW4gT3R0ZSA8b3R0ZUByZWRoYXQuY29tPgoKCSogY29uZmlndXJlLmFjOgoJICAtV29sZC1zdHlsZS1kZWZpbml0aW9uIGlzIG5vdCB2YWxpZCBmb3IgQysrCgoyMDEwLTAzLTIxIDE3OjM2OjI4ICswMTAwICBCZW5qYW1pbiBPdHRlIDxvdHRlQHJlZGhhdC5jb20+CgoJKiBnc3QvbXVsdGlmaWxlL2dzdG11bHRpZmlsZS5jOgoJICBtdWx0aWZpbGU6IEluY2x1ZGUgaGVhZGVycyBpbnN0ZWFkIGZvIGRlZmluaW5nIGZ1bmN0aW9ucwoKMjAxMC0wMy0yMSAxNzoyNDoxNCArMDEwMCAgQmVuamFtaW4gT3R0ZSA8b3R0ZUByZWRoYXQuY29tPgoKCSogY29uZmlndXJlLmFjOgoJICBBZGQgYSBsYXJnZSBzZXQgb2Ygd2FybmluZyBmbGFncy4KCSAgTm9uZSBvZiB0aGVtIHRyaWdnZXIgd2FybmluZ3MgYW55bW9yZSwgc28gbm90aGluZyBuZWVkZWQgdG8gYmUgZml4ZWQuCgoyMDEwLTAzLTIxIDE3OjIzOjQzICswMTAwICBCZW5qYW1pbiBPdHRlIDxvdHRlQHJlZGhhdC5jb20+CgoJKiBnc3QvZ29vbS9jb25maWdfcGFyYW0uYzoKCSogZ3N0L2dvb20vY29udm9sdmVfZnguYzoKCSogZ3N0L2dvb20vZmlsdGVycy5jOgoJKiBnc3QvZ29vbS9mbHlpbmdfc3RhcnNfZnguYzoKCSogZ3N0L2dvb20vZ29vbV9jb25maWdfcGFyYW0uaDoKCSogZ3N0L2dvb20vZ29vbV9jb3JlLmM6CgkqIGdzdC9nb29tL2dvb21fZmlsdGVycy5oOgoJKiBnc3QvZ29vbS9nb29tX2Z4Lmg6CgkqIGdzdC9nb29tL2lmcy5jOgoJKiBnc3QvZ29vbS9pZnMuaDoKCSogZ3N0L2dvb20vcGx1Z2luX2luZm8uYzoKCSogZ3N0L2dvb20vdGVudGFjbGUzZC5jOgoJKiBnc3QvZ29vbS90ZW50YWNsZTNkLmg6CgkgIE1ha2UgZ29vbSBub3QgdXNlIGFnZ3JlZ2F0ZSByZXR1cm5zCgoyMDEwLTAzLTIxIDE1OjE3OjQ2ICswMTAwICBCZW5qYW1pbiBPdHRlIDxvdHRlQHJlZGhhdC5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9hbm5vZGV4L2dzdGNtbWx1dGlscy5jOgoJKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrcGFyc2UuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0d2FycC5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNwYXkuYzoKCSogZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvY21tbGRlYy5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jbW1sZW5jLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2RlaW50ZXJsYWNlLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3JnbGltaXRlci5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHAtcGF5bG9hZGluZy5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy91ZHBzaW5rLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3ZpZGVvZmlsdGVyLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3dhdnBhY2tkZWMuYzoKCSogdGVzdHMvY2hlY2svZ2VuZXJpYy9zdGF0ZXMuYzoKCSogdGVzdHMvaWNsZXMvdjRsMnNyYy10ZXN0LmM6CgkgIEFkZCAtV29sZC1zdHlsZS1kZWZpbml0aW9uIGZsYWcKCSAgQW5kIGZpeCB0aGUgd2FybmluZ3MKCjIwMTAtMDMtMjAgMDA6NTQ6MTQgKzAxMDAgIEJlbmphbWluIE90dGUgPG90dGVAcmVkaGF0LmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L2hhbC9oYWwuYzoKCSogZXh0L3JhdzEzOTQvZ3N0ZHYxMzk0c3JjLmM6CgkqIGV4dC9yYXcxMzk0L2dzdGhkdjEzOTRzcmMuYzoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzoKCSogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2NvbW1vbi5jOgoJKiBnc3QvYXZpL2dzdGF2aW11eC5jOgoJKiBnc3QvZGVidWd1dGlscy9nc3RwdXNoZmlsZXNyYy5jOgoJKiBnc3QvZmx2L2dzdGZsdnBhcnNlLmM6CgkqIGdzdC9nb29tL2NvbmZpZ19wYXJhbS5jOgoJKiBnc3QvZ29vbS9nb29tX2NvbmZpZ19wYXJhbS5oOgoJKiBnc3QvaWQzZGVtdXgvaWQzdGFncy5jOgoJKiBnc3QvbGF3L2FsYXctZGVjb2RlLmM6CgkqIGdzdC9sYXcvYWxhdy1lbmNvZGUuYzoKCSogZ3N0L2xhdy9tdWxhdy1kZWNvZGUuYzoKCSogZ3N0L2xhdy9tdWxhdy1lbmNvZGUuYzoKCSogZ3N0L21hdHJvc2thL2VibWwtd3JpdGUuYzoKCSogZ3N0L21hdHJvc2thL2VibWwtd3JpdGUuaDoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJKiBnc3QvcnRwL2dzdHJ0cGR2cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXA0Z3BheS5jOgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkqIGdzdC91ZHAvZ3N0dWRwc2luay5jOgoJKiBnc3QvdWRwL2dzdHVkcHNyYy5jOgoJKiBnc3QvdmlkZW9maWx0ZXIvZ3N0dmlkZW9iYWxhbmNlLmM6CgkqIHN5cy9vc3MvZ3N0b3NzbWl4ZXJ0cmFjay5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuaDoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdmltdXguYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvbGV2ZWwuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwYmluX2J1ZmZlcl9saXN0LmM6CgkqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy9zaW1wbGUtbGF1bmNoLWxpbmVzLmM6CgkgIEFkZCAtV3dyaXRlLXN0cmluZ3MgdG8gdGhlIGNvbmZpZ3VyZSBmbGFncwoJICAuLi4gYW5kIGZpeCBhbGwgd2FybmluZ3MKCjIwMTAtMDMtMjEgMTE6MTQ6MTIgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3NoYXBld2lwZS9nc3RzaGFwZXdpcGUuYzoKCSAgc2hhcGV3aXBlOiBBZGQgc3VwcG9ydCBmb3IgdGhlIHJlbWFpbmluZyBBUkdCIGZvcm1hdHMKCSAgQW5kIGhhbmRsZSBBWVVWIGxpa2UgQVJHQiwgd2UgbmVlZCBubyBZVVYgc3BlY2lmaWMgaGFuZGxpbmcuCgoyMDEwLTAzLTIwIDIxOjMwOjU4ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hbHBoYS9nc3RhbHBoYS5jOgoJICBhbHBoYTogQWRkIHN1cHBvcnQgZm9yIFJHQiBhbmQgeFJHQiBpbnB1dAoKMjAxMC0wMy0yMCAyMToxMzoyMyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYWxwaGEvZ3N0YWxwaGEuYzoKCSAgYWxwaGE6IEFkZCBzdXBwb3J0IGZvciBBUkdCIGlucHV0CgoyMDEwLTAzLTIwIDIwOjQ2OjE5ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hbHBoYS9nc3RhbHBoYS5jOgoJICBhbHBoYTogQWRkIHN1cHBvcnQgZm9yIGdlbmVyYXRpbmcgQVJHQiBvdXRwdXQKCjIwMTAtMDMtMjAgMTA6NDc6NDIgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvbWl4ZXIvYmxlbmQuYzoKCSogZ3N0L3ZpZGVvbWl4ZXIvYmxlbmQuaDoKCSogZ3N0L3ZpZGVvbWl4ZXIvYmxlbmRfbW14Lmg6CgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIuYzoKCSAgdmlkZW9taXhlcjogQWRkIHN1cHBvcnQgZm9yIEFCR1IgYW5kIFJHQkEKCSAgTm93IGFsbCA0IEFSR0IgdmFyaWFudHMgYXJlIHN1cHBvcnRlZCBieSB2aWRlb21peGVyLgoKMjAxMC0wMy0yMCAxMDoyNDo1NiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYWxwaGEvZ3N0YWxwaGEuYzoKCSAgYWxwaGE6IE1vdmUgY2hyb21hIGtleWluZyBwYXJhbWV0ZXJzIGludG8gc3RhY2sgdmFyaWFibGVzIHRvIHByZXZlbnQgbXVsdGlwbGUgcG9pbnRlciBkZXJlZmVyZW5jZXMgcGVyIHBpeGVsCgoyMDEwLTAzLTIwIDEwOjIwOjUzICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hbHBoYS9nc3RhbHBoYS5jOgoJICBhbHBoYTogTW92ZSBjb2xvciBjb252ZXJzaW9uIG1hdHJpeGVzIGludG8gc3RhY2sgdmFyaWFibGVzIHRvIHNwZWVkIHVwIHByb2Nlc3NpbmcKCjIwMTAtMDMtMjAgMTA6MTg6MDQgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2FscGhhL2dzdGFscGhhLmM6CgkgIGFscGhhOiBVc2UgY29ycmVjdCBtYXRyaXhlcyB0byBjb252ZXJ0IGNocm9tYSBrZXlpbmcgY29sb3IgdG8gWVVWCgoyMDEwLTAzLTE5IDE4OjUxOjU5ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hbHBoYS9nc3RhbHBoYS5jOgoJICBhbHBoYTogQWRkIHN1cHBvcnQgZm9yIGRpZmZlcmVudCBjb2xvciBtYXRyaXhlcwoKMjAxMC0wMy0xOSAxODoyMToxOSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYWxwaGEvZ3N0YWxwaGEuYzoKCSAgYWxwaGE6IFJlbmFtZSBhbmQgbW92ZSBmdW5jdGlvbnMgYXMgZnVydGhlciBwcmVwYXJhdGlvbiBmb3Igc3VwcG9ydGluZyBtb3JlIGNvbG9yIGZvcm1hdHMKCjIwMTAtMDMtMTkgMTg6MTg6MDggKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2FscGhhL2dzdGFscGhhLmM6CgkqIGdzdC9hbHBoYS9nc3RhbHBoYS5oOgoJICBhbHBoYTogUmVtb3ZlIHNvbWUgdW5uZWVkZWQgY2FsY3VsYXRpb25zIGFuZCBpbnN0YW5jZSBzdHJ1Y3QgZmllbGRzCgkgIEFuZCBkb2N1bWVudCB0aGUgaW5zdGFuY2Ugc3RydWN0IGZpZWxkcyBhIGJpdCBiZXR0ZXIKCjIwMTAtMDMtMTkgMTg6MTE6MTIgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2FscGhhL2dzdGFscGhhLmM6CgkqIGdzdC9hbHBoYS9nc3RhbHBoYS5oOgoJICBhbHBoYTogU29tZSBwcmVwYXJhdGlvbnMgZm9yIHN1cHBvcnRpbmcgbW9yZSBjb2xvciBmb3JtYXRzCgoyMDEwLTAzLTE5IDE3OjA5OjA2ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBoMjY0cGF5LmM6CgkgIGgyNjRwYXk6IGZpeCBjb25maWctaW50ZXJ2YWwgcHJvcGVydHkKCSAgVXNlIHRoZSBzYW1lIHVuaXRzIGZvciBjb21wYXJpbmcgdGhlIGVsYXBzZWQgdGltZSBhZ2FpbnN0IHRoZSBpbnRlcnZhbC4KCSAgRml4ZXMgIzYxMzAxMwoKMjAxMC0wMy0xOSAxNjo0NDowMCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYWxwaGEvZ3N0YWxwaGFjb2xvci5jOgoJKiBnc3QvYWxwaGEvZ3N0YWxwaGFjb2xvci5oOgoJICBhbHBoYWNvbG9yOiBJbXBsZW1lbnQgY29sb3ItbWF0cml4IHN1cHBvcnQgYW5kIHVzZSBpbnRlZ2VyIGFyaXRobWV0aWMgb25seQoJICBBbHBoYWNvbG9yIG5vdyB1c2VzIHRoZSBjb3JyZWN0IG1hdHJpeGVzIGZvciBTRFRWIGFuZCBIRFRWIGFuZCBjYW4KCSAgY29udmVydCBiZXR3ZWVuIHRoZW0uCgoyMDEwLTAzLTE5IDE1OjAzOjQzICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3A6IHVzZSBHVHlwZSBmcm9tIC1iYXNlIGFuZCBidW1wIHJlcXVpcmVkIHZlcnNpb24KCSAgVXNlIHRoZSB0cmFuc3BvcnQgZmxhZ3MgR1R5cGUgZnJvbSAtYmFzZSBhbmQgYnVtcCB0aGUgcmVxdWlyZWQgdmVyc2lvbiBvZiAtYmFzZQoJICBiZWNhdXNlIG9mIHRoaXMuCgoyMDEwLTAzLTE5IDAwOjA1OjE5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hcGV0YWcvTWFrZWZpbGUuYW06CgkgIGFwZXRhZzogbWlub3IgTWFrZWZpbGUuYW0gc3VyZ2VyeQoJICAtSSQodG9wX3NyY2RpcikvZ3N0LWxpYnMvIGlzIGFscmVhZHkgaW4gJChHU1RfQ0ZMQUdTKQoKMjAxMC0wMy0xOCAxNzozMDoyNiArMDEwMCAgQmVuamFtaW4gT3R0ZSA8b3R0ZUByZWRoYXQuY29tPgoKCSogZ3N0L2R0bWYvZ3N0ZHRtZmRldGVjdC5jOgoJKiBnc3QvZHRtZi9nc3RkdG1mc3JjLmM6CgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZkZXBheS5jOgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mc3JjLmM6CgkgIGdzdF9lbGVtZW50X2NsYXNzX3NldF9kZXRhaWxzID0+IGdzdF9lbGVtZW50X2NsYXNzX3NldF9kZXRhaWxzX3NpbXBsZQoKMjAxMC0wMy0wNCAyMjoxMjozNSArMDEwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDx5bGF0dXlhQGdtYWlsLmNvbT4KCgkqIGV4dC9yYXcxMzk0L2dzdDEzOTRjbG9jay5jOgoJICBkdjEzOTRzcmM6IEZpeCBpbnRlcm5hbCBjbG9jawoJICBGaXhlcyAjNTkzOTEwLgoKMjAxMC0wMy0xOCAyMToxNDoxNyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZHYvTWFrZWZpbGUuYW06CgkqIGV4dC9lc2QvTWFrZWZpbGUuYW06CgkqIGV4dC9saWJjYWNhL01ha2VmaWxlLmFtOgoJKiBleHQvcHVsc2UvTWFrZWZpbGUuYW06CgkqIGV4dC9zaG91dDIvTWFrZWZpbGUuYW06CgkqIGV4dC9zcGVleC9NYWtlZmlsZS5hbToKCSogZXh0L3dhdnBhY2svTWFrZWZpbGUuYW06CgkqIGdzdC9hdXBhcnNlL01ha2VmaWxlLmFtOgoJKiBnc3QvYXZpL01ha2VmaWxlLmFtOgoJKiBnc3QvZmx4L01ha2VmaWxlLmFtOgoJKiBnc3QvaWN5ZGVtdXgvTWFrZWZpbGUuYW06CgkqIGdzdC9pbnRlcmxlYXZlL01ha2VmaWxlLmFtOgoJKiBnc3QvbWF0cm9za2EvTWFrZWZpbGUuYW06CgkqIGdzdC9xdGRlbXV4L01ha2VmaWxlLmFtOgoJKiBnc3QvcmVwbGF5Z2Fpbi9NYWtlZmlsZS5hbToKCSogZ3N0L3J0cC9NYWtlZmlsZS5hbToKCSogZ3N0L3VkcC9NYWtlZmlsZS5hbToKCSogZ3N0L3ZpZGVvbWl4ZXIvTWFrZWZpbGUuYW06CgkqIGdzdC93YXZwYXJzZS9NYWtlZmlsZS5hbToKCSogc3lzL2RpcmVjdHNvdW5kL01ha2VmaWxlLmFtOgoJKiBzeXMvb3NzL01ha2VmaWxlLmFtOgoJKiBzeXMvd2F2ZWZvcm0vTWFrZWZpbGUuYW06CgkqIHRlc3RzL2V4YW1wbGVzL3Y0bDIvTWFrZWZpbGUuYW06CgkgIGJ1aWxkOiBNYWtlZmlsZS5hbSBjbGVhbnVwcwoJICBNb3N0bHkgYWRkICQoR1NUX0JBU0VfQ0ZMQUdTKSB3aGVyZSBpdCB3YXMgbWlzc2luZywgYnV0IGFsc28gZml4IHVwCgkgIG9yZGVyIG9mIGZsYWdzIGFuZCBsaWJzIGlmIG5lZWRlZCAoc2VlIGRvY3MvcmFuZG9tL21vdmluZy1wbHVnaW5zKS4KCjIwMTAtMDMtMTggMTg6NDk6MjQgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdHNvdW5kc2luay5jOgoJICBkaXJlY3Rzb3VuZHNpbms6IGZpeCByZWR1bmRhbnQgZnVuY3Rpb24gcmVkZWNsYXJhdGlvbiBjb21waWxlciB3YXJuaW5ncwoKMjAxMC0wMy0xOCAxOTowMDowOSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYWxwaGEvZ3N0YWxwaGEuYzoKCSogZ3N0L2FscGhhL2dzdGFscGhhLmg6CgkgIGFscGhhOiBSZW1vdmUgcmVtYWluaW5nIGZsb2F0aW5nIHBvaW50IGFyaXRobWV0aWMgd2hlbiBwcm9jZXNzaW5nIGEgcGl4ZWwKCjIwMTAtMDMtMTggMTg6NTU6MzQgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2FscGhhL2dzdGFscGhhLmM6CgkgIGFscGhhOiBSZWZhY3RvciBjaHJvbWEga2V5aW5nIGludG8gYSBzaW5nbGUgZnVuY3Rpb24KCSAgVGhpcyByZWR1Y2VzIGNvZGUgZHVwbGljYXRpb24gb25jZSB3ZSBhZGQgc3VwcG9ydCBmb3IgbW9yZSBjb2xvciBmb3JtYXRzLgoKMjAxMC0wMy0xOCAxNDozMTozNSArMDEwMCAgQmVuamFtaW4gT3R0ZSA8b3R0ZUByZWRoYXQuY29tPgoKCSogZXh0L2FhbGliL2dzdGFhc2luay5jOgoJKiBleHQvYW5ub2RleC9nc3RjbW1sZGVjLmM6CgkqIGV4dC9hbm5vZGV4L2dzdGNtbWxlbmMuYzoKCSogZXh0L2NhaXJvL2dzdHRleHRvdmVybGF5LmM6CgkqIGV4dC9jYWlyby9nc3R0aW1lb3ZlcmxheS5jOgoJKiBleHQvZHYvZ3N0ZHZkZWMuYzoKCSogZXh0L2R2L2dzdGR2ZGVtdXguYzoKCSogZXh0L2VzZC9lc2Rtb24uYzoKCSogZXh0L2VzZC9lc2RzaW5rLmM6CgkqIGV4dC9nY29uZi9nc3RnY29uZmF1ZGlvc2luay5jOgoJKiBleHQvZ2NvbmYvZ3N0Z2NvbmZhdWRpb3NyYy5jOgoJKiBleHQvZ2NvbmYvZ3N0Z2NvbmZ2aWRlb3NpbmsuYzoKCSogZXh0L2djb25mL2dzdGdjb25mdmlkZW9zcmMuYzoKCSogZXh0L2dka19waXhidWYvZ3N0Z2RrcGl4YnVmLmM6CgkqIGV4dC9nZGtfcGl4YnVmL3BpeGJ1ZnNjYWxlLmM6CgkqIGV4dC9oYWwvZ3N0aGFsYXVkaW9zaW5rLmM6CgkqIGV4dC9oYWwvZ3N0aGFsYXVkaW9zcmMuYzoKCSogZXh0L2pwZWcvZ3N0anBlZ2RlYy5jOgoJKiBleHQvanBlZy9nc3RqcGVnZW5jLmM6CgkqIGV4dC9qcGVnL2dzdHNtb2tlZGVjLmM6CgkqIGV4dC9qcGVnL2dzdHNtb2tlZW5jLmM6CgkqIGV4dC9saWJjYWNhL2dzdGNhY2FzaW5rLmM6CgkqIGV4dC9saWJtbmcvZ3N0bW5nLmg6CgkqIGV4dC9saWJtbmcvZ3N0bW5nZGVjLmM6CgkqIGV4dC9saWJtbmcvZ3N0bW5nZW5jLmM6CgkqIGV4dC9saWJwbmcvZ3N0cG5nLmg6CgkqIGV4dC9saWJwbmcvZ3N0cG5nZGVjLmM6CgkqIGV4dC9saWJwbmcvZ3N0cG5nZW5jLmM6CgkqIGV4dC9taWttb2QvZ3N0bWlrbW9kLmM6CgkqIGV4dC9yYXcxMzk0L2dzdGR2MTM5NHNyYy5jOgoJKiBleHQvcmF3MTM5NC9nc3RoZHYxMzk0c3JjLmM6CgkqIGV4dC9zaG91dDIvZ3N0c2hvdXQyLmM6CgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6CgkqIGV4dC9zcGVleC9nc3RzcGVleGRlYy5jOgoJKiBleHQvc3BlZXgvZ3N0c3BlZXhlbmMuYzoKCSogZ3N0L2FwZXRhZy9nc3RhcGVkZW11eC5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb2FtcGxpZnkuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9keW5hbWljLmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvaW52ZXJ0LmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlva2FyYW9rZS5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb3Bhbm9yYW1hLmM6CgkqIGdzdC9hdXBhcnNlL2dzdGF1cGFyc2UuYzoKCSogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b2F1ZGlvc2luay5jOgoJKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvYXVkaW9zcmMuYzoKCSogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b3ZpZGVvc2luay5jOgoJKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvdmlkZW9zcmMuYzoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJKiBnc3QvYXZpL2dzdGF2aW11eC5jOgoJKiBnc3QvY3V0dGVyL2dzdGN1dHRlci5jOgoJKiBnc3QvZGVidWd1dGlscy9icmVha215ZGF0YS5jOgoJKiBnc3QvZGVidWd1dGlscy9lZmVuY2UuYzoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0bmF2aWdhdGlvbnRlc3QuYzoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0bmF2c2Vlay5jOgoJKiBnc3QvZGVidWd1dGlscy9nc3RwdXNoZmlsZXNyYy5jOgoJKiBnc3QvZGVidWd1dGlscy9uZWdvdGlhdGlvbi5jOgoJKiBnc3QvZGVidWd1dGlscy9wcm9ncmVzc3JlcG9ydC5jOgoJKiBnc3QvZGVidWd1dGlscy90ZXN0cGx1Z2luLmM6CgkqIGdzdC9mbHgvZ3N0Zmx4ZGVjLmM6CgkqIGdzdC9nb29tL2dzdGdvb20uYzoKCSogZ3N0L2dvb20yazEvZ3N0Z29vbS5jOgoJKiBnc3QvaWN5ZGVtdXgvZ3N0aWN5ZGVtdXguYzoKCSogZ3N0L2lkM2RlbXV4L2dzdGlkM2RlbXV4LmM6CgkqIGdzdC9sYXcvbXVsYXctZGVjb2RlLmM6CgkqIGdzdC9sYXcvbXVsYXctZW5jb2RlLmM6CgkqIGdzdC9sZXZlbC9nc3RsZXZlbC5jOgoJKiBnc3QvbWVkaWFuL2dzdG1lZGlhbi5jOgoJKiBnc3QvbW9ub3Njb3BlL2dzdG1vbm9zY29wZS5jOgoJKiBnc3QvbXVsdGlmaWxlL2dzdG11bHRpZmlsZXNpbmsuYzoKCSogZ3N0L211bHRpZmlsZS9nc3RtdWx0aWZpbGVzcmMuYzoKCSogZ3N0L211bHRpcGFydC9tdWx0aXBhcnRkZW11eC5jOgoJKiBnc3QvbXVsdGlwYXJ0L211bHRpcGFydG11eC5jOgoJKiBnc3QvcXRkZW11eC9nc3RydHB4cXRkZXBheS5jOgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkqIGdzdC9yZXBsYXlnYWluL2dzdHJnYW5hbHlzaXMuYzoKCSogZ3N0L3JlcGxheWdhaW4vZ3N0cmdsaW1pdGVyLmM6CgkqIGdzdC9yZXBsYXlnYWluL2dzdHJndm9sdW1lLmM6CgkqIGdzdC9ydHAvZ3N0YXN0ZXJpc2toMjYzLmM6CgkqIGdzdC9ydHAvZ3N0cnRwTDE2ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBMMTZwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBhYzNkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGFtcmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwYW1ycGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwYnZkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGJ2cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwY2VsdGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwY2VsdHBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZHZkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGR2cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZzcyM2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZzcyM3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjZkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjZwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnNzI5ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnNzI5cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZ3NtZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnc21wYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjYzZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjYzcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2M3BkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNwcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2NGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2NHBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGlsYmNkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGlsYmNwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBqMmtkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGoya3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGpwZWdkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGpwZWdwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDFzZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDJ0ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDJ0cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXA0YWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXA0YXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wNGdkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wNGdwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDR2ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDR2cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXBhZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcGFwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcHZkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wdnBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHBjbWFkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHBjbWFwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBwY211ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBwY211cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwcWRtZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBzaXJlbmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwc2lyZW5wYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBzcGVleGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwc3BlZXhwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBzdjN2ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHB0aGVvcmFkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHRoZW9yYXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHZvcmJpc2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwdm9yYmlzcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwdnJhd2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwdnJhd3BheS5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHB0ZGVtdXguYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzc3JjZGVtdXguYzoKCSogZ3N0L3J0c3AvZ3N0cnRwZGVjLmM6CgkqIGdzdC9ydHNwL2dzdHJ0c3Bnb29nbGUuYzoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJKiBnc3Qvc21wdGUvZ3N0c21wdGUuYzoKCSogZ3N0L3NtcHRlL2dzdHNtcHRlYWxwaGEuYzoKCSogZ3N0L3VkcC9nc3RkeW51ZHBzaW5rLmM6CgkqIGdzdC91ZHAvZ3N0bXVsdGl1ZHBzaW5rLmM6CgkqIGdzdC91ZHAvZ3N0dWRwc2luay5jOgoJKiBnc3QvdWRwL2dzdHVkcHNyYy5jOgoJKiBnc3QvdmlkZW9jcm9wL2dzdGFzcGVjdHJhdGlvY3JvcC5jOgoJKiBnc3QvdmlkZW9jcm9wL2dzdHZpZGVvY3JvcC5jOgoJKiBnc3QvdmlkZW9maWx0ZXIvZ3N0Z2FtbWEuYzoKCSogZ3N0L3ZpZGVvZmlsdGVyL2dzdHZpZGVvYmFsYW5jZS5jOgoJKiBnc3QvdmlkZW9maWx0ZXIvZ3N0dmlkZW9mbGlwLmM6CgkqIGdzdC92aWRlb2ZpbHRlci9nc3R2aWRlb3RlbXBsYXRlLmM6CgkqIGdzdC93YXZlbmMvZ3N0d2F2ZW5jLmM6CgkqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOgoJKiBnc3QveTRtL2dzdHk0bWVuY29kZS5jOgoJKiBzeXMvZGlyZWN0c291bmQvZ3N0ZGlyZWN0c291bmRzaW5rLmM6CgkqIHN5cy9vc3MvZ3N0b3NzbWl4ZXJlbGVtZW50LmM6CgkqIHN5cy9vc3MvZ3N0b3Nzc2luay5jOgoJKiBzeXMvb3NzL2dzdG9zc3NyYy5jOgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4YXVkaW9zaW5rLmM6CgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hhdWRpb3NyYy5jOgoJKiBzeXMvb3N4dmlkZW8vb3N4dmlkZW9zaW5rLm06CgkqIHN5cy9zdW5hdWRpby9nc3RzdW5hdWRpb21peGVyLmM6CgkqIHN5cy9zdW5hdWRpby9nc3RzdW5hdWRpb3NpbmsuYzoKCSogc3lzL3N1bmF1ZGlvL2dzdHN1bmF1ZGlvc3JjLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJzaW5rLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzoKCSogc3lzL3dhdmVmb3JtL2dzdHdhdmVmb3Jtc2luay5jOgoJKiBzeXMveGltYWdlL2dzdHhpbWFnZXNyYy5jOgoJICBnc3RfZWxlbWVudF9jbGFzc19zZXRfZGV0YWlscyA9PiBnc3RfZWxlbWVudF9jbGFzc19zZXRfZGV0YWlsc19zaW1wbGUKCjIwMTAtMDMtMTggMTQ6MDI6MzAgKzAxMDAgIEJlbmphbWluIE90dGUgPG90dGVAcmVkaGF0LmNvbT4KCgkqIGdzdC9vbGRjb3JlL01ha2VmaWxlLmFtOgoJKiBnc3Qvb2xkY29yZS9nc3RhZ2dyZWdhdG9yLmM6CgkqIGdzdC9vbGRjb3JlL2dzdGFnZ3JlZ2F0b3IuaDoKCSogZ3N0L29sZGNvcmUvZ3N0ZWxlbWVudHMuYzoKCSogZ3N0L29sZGNvcmUvZ3N0ZmRzaW5rLmM6CgkqIGdzdC9vbGRjb3JlL2dzdGZkc2luay5oOgoJKiBnc3Qvb2xkY29yZS9nc3RtZDVzaW5rLmM6CgkqIGdzdC9vbGRjb3JlL2dzdG1kNXNpbmsuaDoKCSogZ3N0L29sZGNvcmUvZ3N0bXVsdGlmaWxlc3JjLmM6CgkqIGdzdC9vbGRjb3JlL2dzdG11bHRpZmlsZXNyYy5oOgoJKiBnc3Qvb2xkY29yZS9nc3RwaXBlZmlsdGVyLmM6CgkqIGdzdC9vbGRjb3JlL2dzdHBpcGVmaWx0ZXIuaDoKCSogZ3N0L29sZGNvcmUvZ3N0c2hhcGVyLmM6CgkqIGdzdC9vbGRjb3JlL2dzdHNoYXBlci5oOgoJKiBnc3Qvb2xkY29yZS9nc3RzdGF0aXN0aWNzLmM6CgkqIGdzdC9vbGRjb3JlL2dzdHN0YXRpc3RpY3MuaDoKCSAgUmVtb3ZlIG9sZGNvcmUgZGlyZWN0b3J5CgkgIFRoZSBlbGVtZW50cyBoYXZlIGJlZW4gdW51c2VkIGZvciBhZ2VzIGFuZCBhbGwgaW1wb3J0YW50IG9uZXMgaGF2ZSBiZWVuCgkgIHJlcGxhY2VkIG9yIGNvcGllZCBlbHNld2hlcmUuCgoyMDEwLTAzLTE4IDEzOjQ1OjA4ICswMTAwICBCZW5qYW1pbiBPdHRlIDxvdHRlQHJlZGhhdC5jb20+CgoJKiBnc3QvYXZpL2dzdGF2aWRlY29kZXIuYzoKCSAgYXZpOiBSZW1vdmUgb2xkIGZpbGUKCSAgU2VlbXMgdG8gYmUgbGVmdG92ZXIgZnJvbSB0aGUgMC40IGRheXMgb3Igc28uCgoyMDEwLTAzLTE4IDEyOjQ0OjUzICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSogZXh0L3B1bHNlL3B1bHNlc3JjLmM6CgkqIGV4dC9wdWxzZS9wdWxzZXV0aWwuYzoKCSAgcHVsc2U6IHVzZSAjaWZkZWYgcmF0aGVyIHRoYW4gI2lmIGNvbmRpdGlvbmFscwoKMjAxMC0wMy0xOCAxMjoyMDoxNyArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRkZXBheS5jOgoJICBydHBoMjY0ZGVwYXk6IGRvIG5vdCBjYWxsIF9wdXNoX3RzIHdpdGggdW5uZWVkZWQgKGFuZCB3cm9uZykgdGltZSBwYXJhbWV0ZXIKCSAgRml4ZXMgIzYxMzIwNi4KCjIwMTAtMDMtMTggMTE6MzM6NTkgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICBhdmlkZW11eDogZml4IHR5cG8gaW4gaGVhZGVyIHZhbGlkYXRpb24gY2hlY2sKCjIwMTAtMDMtMTggMDE6NTE6MTkgKzAxMDAgIEphbiBVcmJhxYRza2kgPHd1bGN6ZXJAd3VsY3plci5vcmc+CgoJKiBnc3QvZmx2L2dzdGZsdm11eC5jOgoJICBmbHZtdXg6IHB1dCBtb3JlIGluZm9ybWF0aW9uIGluIHRoZSBtZXRhZGF0YQoJICBBZGRpdGlvbmFsIHRhZ3MgYXJlOiBhdWRpb2NvZGVjaWQsIHZpZGVvY29kZWNpZCBmcmFtZXJhdGUgYW5kIChpbiB0aGUKCSAgbm9uLWxpdmUgY2FzZSkgZmlsZXNpemUuCgkgIFdoaWxlIGF0IGl0LCBmaXggaW5kZXggcmV3cml0aW5nIHRvIHVwZGF0ZSBkdXJhdGlvbiBhbmQgZmlsZXNpemUKCSAgdmFsdWVzIGV2ZW4gaWYgdGhlIGluZGV4IGlzIGVtcHR5LgoJICBGaXhlcyAjNjEzMDk0LgoKMjAxMC0wMy0xNyAyMTozMzoyOCArMDEwMCAgQmVuamFtaW4gT3R0ZSA8b3R0ZUByZWRoYXQuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvanBlZy9nc3RqcGVnZW5jLmM6CgkqIGV4dC9zcGVleC9nc3RzcGVleGVuYy5oOgoJKiBnc3QvZ29vbS9nb29tX2NvbmZpZy5oOgoJKiBnc3QvZ29vbS9tYXRodG9vbHMuaDoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvbGV2ZWwuYzoKCSAgQWRkIC1XdW5kZWYgdG8gY29uZmlndXJlIGZsYWdzCgkgIGFuZCBmaXggdGhlIHJlc3VsdGluZyB3YXJuaW5ncwoKMjAxMC0wMy0xNyAyMDowMjoxNiArMDEwMCAgQmVuamFtaW4gT3R0ZSA8b3R0ZUByZWRoYXQuY29tPgoKCSogY29uZmlndXJlLmFjOgoJICAtV21pc3NpbmctcHJvdG90eXBlcyBpcyBub3QgdmFsaWQgZm9yIEMrKwoKMjAxMC0wMy0xNyAxOTozNToxMCArMDEwMCAgQmVuamFtaW4gT3R0ZSA8b3R0ZUByZWRoYXQuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvZmxhYy9nc3RmbGFjZGVjLmM6CgkqIGV4dC9nZGtfcGl4YnVmL2dzdGdka3BpeGJ1Zi5jOgoJKiBleHQvZ2RrX3BpeGJ1Zi9waXhidWZzY2FsZS5jOgoJKiBleHQvanBlZy9nc3RqcGVnLmg6CgkqIGV4dC9qcGVnL2dzdGpwZWdkZWMuYzoKCSogZXh0L2pwZWcvZ3N0anBlZ2VuYy5jOgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOgoJKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZGVjLmM6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvZ3JlZWR5aC5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL3RvbXNtb2NvbXAuYzoKCSogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIuYzoKCSogZ3N0L3JlcGxheWdhaW4vZ3N0cmdhbmFseXNpcy5jOgoJKiBnc3QvcmVwbGF5Z2Fpbi9nc3RyZ2xpbWl0ZXIuYzoKCSogZ3N0L3JlcGxheWdhaW4vZ3N0cmd2b2x1bWUuYzoKCSogZ3N0L3J0cC9nc3RydHBnNzIzcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZzcyOXBheS5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyLmM6CgkqIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuYzoKCSAgQWRkIC1XcmVkdW5kYW50LWRlY2xzIHdhcm5pbmcgZmxhZwoJICBBbHNvIGZpeCBjb21waWxlIGlzc3VlcwoKMjAxMC0wMy0xNyAxODo0OToxMSArMDEwMCAgQmVuamFtaW4gT3R0ZSA8b3R0ZUByZWRoYXQuY29tPgoKCSogZ3N0L21vbm9zY29wZS9nc3Rtb25vc2NvcGUuaDoKCSAgRml4IHdhcm5pbmdzIGluIGV4cGVyaW1lbnRhbCBwbHVnaW5zLCB0b28KCjIwMTAtMDMtMTcgMTg6MjM6MDAgKzAxMDAgIEJlbmphbWluIE90dGUgPG90dGVAcmVkaGF0LmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L2Fubm9kZXgvZ3N0YW5ub2RleC5jOgoJKiBleHQvYW5ub2RleC9nc3RjbW1sZGVjLmg6CgkqIGV4dC9hbm5vZGV4L2dzdGNtbWxlbmMuaDoKCSogZXh0L2Fubm9kZXgvZ3N0Y21tbHBhcnNlci5jOgoJKiBleHQvYW5ub2RleC9nc3RjbW1sdXRpbHMuYzoKCSogZXh0L2R2L2dzdGR2ZGVjLmM6CgkqIGV4dC9mbGFjL2dzdGZsYWNlbmMuYzoKCSogZXh0L2dka19waXhidWYvZ3N0Z2RrcGl4YnVmLmM6CgkqIGV4dC9nZGtfcGl4YnVmL3BpeGJ1ZnNjYWxlLmg6CgkqIGV4dC9qcGVnL01ha2VmaWxlLmFtOgoJKiBleHQvanBlZy9nc3RqcGVnLmM6CgkqIGV4dC9qcGVnL2dzdGpwZWcuaDoKCSogZXh0L2pwZWcvZ3N0anBlZ2RlYy5jOgoJKiBleHQvanBlZy9nc3RqcGVnZW5jLmM6CgkqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tzdHJlYW1yZWFkZXIuYzoKCSogZXh0L3dhdnBhY2svZ3N0d2F2cGFja3N0cmVhbXJlYWRlci5oOgoJKiBnc3QvZGVidWd1dGlscy9icmVha215ZGF0YS5jOgoJKiBnc3QvZGVidWd1dGlscy9nc3RuYXZzZWVrLmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL3JuZGJ1ZmZlcnNpemUuYzoKCSogZ3N0L2RlYnVndXRpbHMvdGVzdHBsdWdpbi5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL2dyZWVkeWguYXNtOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL2dyZWVkeWguYzoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS9tbXguaDoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS90b21zbW9jb21wL1RvbXNNb0NvbXBBbGwuaW5jOgoJKiBnc3QvZ29vbS9nb29tX2Z4Lmg6CgkqIGdzdC9nb29tMmsxL2ZpbHRlcnMuYzoKCSogZ3N0L2dvb20yazEvZmlsdGVycy5oOgoJKiBnc3QvbGF3L211bGF3LWNvbnZlcnNpb24uYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSogZ3N0L211bHRpcGFydC9tdWx0aXBhcnQuYzoKCSogZ3N0L211bHRpcGFydC9tdWx0aXBhcnRkZW11eC5jOgoJKiBnc3QvbXVsdGlwYXJ0L211bHRpcGFydGRlbXV4Lmg6CgkqIGdzdC9tdWx0aXBhcnQvbXVsdGlwYXJ0bXV4LmM6CgkqIGdzdC9tdWx0aXBhcnQvbXVsdGlwYXJ0bXV4Lmg6CgkqIGdzdC9xdGRlbXV4L2dzdHJ0cHhxdGRlcGF5LmM6CgkqIGdzdC9ydHAvZm52MWhhc2guYzoKCSogZ3N0L3J0cC9mbnYxaGFzaC5oOgoJKiBnc3QvcnRwL2dzdGFzdGVyaXNraDI2My5oOgoJKiBnc3QvcnRwL2dzdHJ0cEwxNmRlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwTDE2cGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwYWMzZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBhbXJkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGFtcnBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGJ2ZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBidnBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGJ2cGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwY2VsdGRlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwY2VsdHBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGR2ZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBkdnBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjNkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjNwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBnNzI2ZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBnNzI2cGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwZzcyOWRlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwZzcyOXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGdzbWRlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwZ3NtcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2M2RlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2M3BheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNwZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBoMjYzcHBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBpbGJjZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBpbGJjcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaWxiY3BheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGoya2RlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwajJrcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwanBlZ2RlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwanBlZ3BheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cG1wMXNkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cG1wMnRkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cG1wMnRwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBtcDRhZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBtcDRhcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwbXA0Z2RlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwbXA0Z3BheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cG1wNHZkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cG1wNHZwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBtcGFkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cG1wYXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cG1wdmRlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwbXB2cGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwcGNtYWRlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwcGNtYXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cHBjbXVkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cHBjbXVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBxZG1kZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cHNpcmVuZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBzaXJlbnBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHNpcmVucGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwc3BlZXhkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cHNwZWV4cGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwc3YzdmRlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwdGhlb3JhZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHB0aGVvcmFwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHB2b3JiaXNkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cHZvcmJpc3BheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cHZyYXdkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cHZyYXdwYXkuaDoKCSogZ3N0L3J0c3AvZ3N0cnRwZGVjLmM6CgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSogZ3N0L3NtcHRlL2dzdG1hc2suYzoKCSogZ3N0L3NtcHRlL2dzdG1hc2suaDoKCSogZ3N0L3ZpZGVvYm94L2dzdHZpZGVvYm94Lmg6CgkqIGdzdC92aWRlb2Nyb3AvZ3N0dmlkZW9jcm9wLmg6CgkqIGdzdC92aWRlb2ZpbHRlci9nc3RnYW1tYS5jOgoJKiBnc3QvdmlkZW9maWx0ZXIvZ3N0dmlkZW9iYWxhbmNlLmM6CgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIuYzoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlci5oOgoJKiBnc3Qvd2F2ZW5jL2dzdHdhdmVuYy5oOgoJKiBzeXMvdjRsMi9nc3R2NGwyY29sb3JiYWxhbmNlLmg6CgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnNpbmsuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJKiBzeXMvdjRsMi9nc3R2NGwydHVuZXIuaDoKCSogc3lzL3Y0bDIvZ3N0djRsMnZpZG9yaWVudC5oOgoJKiBzeXMveGltYWdlL3hpbWFnZXV0aWwuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXNwZWN0cmF0aW9jcm9wLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvYW1wbGlmeS5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdWRpb2NoZWJiYW5kLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvY2hlYmxpbWl0LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvZHluYW1pYy5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdWRpb2VjaG8uYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXVkaW9pbnZlcnQuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXVkaW9wYW5vcmFtYS5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdWRpb3dzaW5jYmFuZC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdWRpb3dzaW5jbGltaXQuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXZpbXV4LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F2aXN1YnRpdGxlLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2NtbWxkZWMuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZXF1YWxpemVyLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2xldmVsLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL21hdHJvc2thbXV4LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL211bHRpZmlsZS5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9yZ2FuYWx5c2lzLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3JnbGltaXRlci5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9yZ3ZvbHVtZS5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9zaGFwZXdpcGUuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvc291cGh0dHBzcmMuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvc3BlY3RydW0uYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvdmlkZW9maWx0ZXIuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvd2F2cGFja2RlYy5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy93YXZwYWNrZW5jLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3dhdnBhY2twYXJzZS5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy95NG1lbmMuYzoKCSogdGVzdHMvY2hlY2svZ2VuZXJpYy9zdGF0ZXMuYzoKCSogdGVzdHMvY2hlY2svcGlwZWxpbmVzL3NpbXBsZS1sYXVuY2gtbGluZXMuYzoKCSogdGVzdHMvY2hlY2svcGlwZWxpbmVzL3dhdnBhY2suYzoKCSogdGVzdHMvZXhhbXBsZXMvZXF1YWxpemVyL2RlbW8uYzoKCSogdGVzdHMvZXhhbXBsZXMvbGV2ZWwvbGV2ZWwtZXhhbXBsZS5jOgoJKiB0ZXN0cy9leGFtcGxlcy9zcGVjdHJ1bS9zcGVjdHJ1bS1leGFtcGxlLmM6CgkqIHRlc3RzL2ljbGVzL3Y0bDJzcmMtdGVzdC5jOgoJICBBZGQgLVdtaXNzaW5nLWRlY2xhcmF0aW9ucyAtV21pc3NpbmctcHJvdG90eXBlcyB3YXJuaW5nIGZsYWdzCgkgIEFuZCBmaXggYWxsIHRoZSB3YXJuaW5ncy4KCjIwMTAtMDMtMTcgMTY6MjM6MjQgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cG1wNGdkZXBheS5jOgoJICBtcDRnZGVwYXk6IGltcHJvdmUgY29uc3RhbnREdXJhdGlvbiBndWVzc2luZwoJICBXaGVuIG5vIGNvbnN0YW50RHVyYXRpb24gaGFzIGJlZW4gZ2l2ZW4gaW4gdGhlIGNhcHMsIHRyeSB0byBkZXJpdmUgb25lIGZyb20gdGhlCgkgIHRpbWVzdGFtcCBkaWZmZXJlbmNlIGJldHdlZW4gcGFja2V0cy4gQWxzbyBrZWVwIGRvaW5nIHRoaXMgZm9yIGVhY2ggcGFja2V0CgkgIGJlY2F1c2Ugc29tZSBicm9rZW4gc3RyZWFtcyBtaWdodCBzaW1wbHkgcHJvdmlkZSB3cm9uZyB0aW1lc3RhbXBzLgoKMjAxMC0wMy0xNiAyMzo0MzozOSArMDEwMCAgSmFuIFVyYmHFhHNraSA8d3VsY3plckB3dWxjemVyLm9yZz4KCgkqIGdzdC9mbHYvZ3N0Zmx2bXV4LmM6CgkgIGZsdm11eDogUHV0IHdpZHRoIGFuZCBoZWlnaHQgaW4gdGhlIG1ldGFkYXRhCgkgIFNvbWUgcGxheWVycyB1c2UgdGhhdCBpbmZvIHRvIHNjYWxlIHRoZWlyIGRpc3BsYXkuCgkgIFNlZSAjNjEzMDk0LgoKMjAxMC0wMy0xNiAyMzozMjo0NSArMDEwMCAgSmFuIFVyYmHFhHNraSA8d3VsY3plckB3dWxjemVyLm9yZz4KCgkqIGdzdC9mbHYvZ3N0Zmx2bXV4LmM6CgkgIGZsdm11eDogZG9uJ3QgcHV0IHRpbWVzdGFtcHMgbGFyZ2VyIHRoYW4gR19NQVhJTlQzMiBpbiB0aGUgRkxWIHRhZ3MKCSAgRm9yIG5vbi1saXZlIGlucHV0IHJlc3BvbmQgYnkgcHVzaGluZyBFT1MsIGZvciBsaXZlIHdyYXAgdGhlCgkgIHRpbWVzdGFtcHMgZXZlcnkgR19NQVhJTlQzMiBtaWxpc2Vjb25kcy4KCSAgRml4ZXMgIzYxMzAwMy4KCjIwMTAtMDMtMTYgMjM6NDA6MTIgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6CgkgIHNvdXA6IGFsc28gdXNlIGdfdmFsdWVfc2V0X3N0YXRpY19zdHJpbmcoKSBoZXJlIGZvciBzdGF0aWMgc3RyaW5ncwoKMjAxMC0wMy0xNiAyMToyMzoxMSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYWxwaGEvZ3N0YWxwaGFjb2xvci5jOgoJICBhbHBoYWNvbG9yOiBGaXggUkdCQTwtPkFZVVYgY29udmVyc2lvbgoKMjAxMC0wMy0xNiAyMToxNjoyNiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYWxwaGEvZ3N0YWxwaGEuYzoKCSogZ3N0L2FscGhhL2dzdGFscGhhLmg6CgkgIGFscGhhOiBSZW1vdmUgcmVkdW5kYW50IGluc3RhbmNlIGZpZWxkCgoyMDEwLTAzLTE2IDIxOjEwOjA4ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hbHBoYS9nc3RhbHBoYS5jOgoJICBhbHBoYTogUHJvdGVjdCBwcm9wZXJ0eSB2YWx1ZXMgZnJvbSBjaGFuZ2VzIGR1cmluZyBmcmFtZSBwcm9jZXNzaW5nCgoyMDEwLTAzLTE1IDIzOjI5OjU1ICswMzAwICDQoNGD0YHQu9Cw0L0g0JjQttCx0YPQu9Cw0YLQvtCyIDxscm4xOTg2QGdtYWlsLmNvbT4KCgkqIGV4dC9saWJwbmcvZ3N0cG5nZGVjLmM6CgkgIHBuZ2VuYzogVXNlIHBuZ19nZXRfaW9fcHRyKCkgaW5zdGVhZCBvZiBhY2Nlc3NpbmcgaW9fcHRyIGRpcmVjdGx5CgkgIEZpeGVzICM2MTI3MDAgKGZvciB0aGUgbGFzdCB0aW1lISkKCjIwMTAtMDMtMTUgMjM6Mjk6MDYgKzAzMDAgINCg0YPRgdC70LDQvSDQmNC20LHRg9C70LDRgtC+0LIgPGxybjE5ODZAZ21haWwuY29tPgoKCSogY29uZmlndXJlLmFjOgoJICBwbmc6IENoZWNrIGZvciBsaWJwbmcgPj0gMS4yIGluc3RlYWQgb2YgbGlicG5nMTIKCjIwMTAtMDMtMTYgMDE6Mjk6MzYgKzAxMDAgIEphbiBVcmJhxYRza2kgPHd1bGN6ZXJAd3VsY3plci5vcmc+CgoJKiBnc3QvZmx2L2dzdGZsdm11eC5jOgoJKiBnc3QvZmx2L2dzdGZsdm11eC5oOgoJICBmbHZtdXg6IEFsd2F5cyBwdXQgYSBkdXJhdGlvbiB0YWcgaW4gdGhlIG1ldGFkYXRhCgkgIFNvbWUgRmxhc2ggcGxheWVycyAoZm9yIGluc3RhbmNlIEpXIFBsYXllcikgYWx3YXlzIGV4cGVjdCBhIGR1cmF0aW9uCgkgIHRhZywgb3RoZXJ3aXNlIHRoZXkgZG9uJ3Qgc3RhcnQgcGxheWJhY2suCgkgIElmIGR1cmF0aW9uIGNhbiBiZSBxdWVyaWVkIGZyb20gdGhlIHNpbmsgcGFkcyBvciBpcyBwcm92aWRlZCBhcyBhIHRhZywKCSAgdXNlIGl0LiBPdGhlcndpc2UgdHJ5IHRvIGRldGVybWluZSBpdCBmcm9tIHRoZSBsYXN0IHNlZW4gdGltZXN0YW1wIG9mCgkgIHRoZSBzaW5rIHBhZHMgYWZ0ZXIgRU9TIGFuZCByZXdyaXRlIGl0IGluIHRoZSBoZWFkZXIgYmVmb3JlIHdyaXRpbmcKCSAgdGhlIGluZGV4LgoKMjAxMC0wMy0xNiAwMDozNTo0NiArMDEwMCAgSmFuIFVyYmHFhHNraSA8d3VsY3plckB3dWxjemVyLm9yZz4KCgkqIGdzdC9mbHYvZ3N0Zmx2bXV4LmM6CgkqIGdzdC9mbHYvZ3N0Zmx2bXV4Lmg6CgkgIGZsdm11eDogUmVtb3ZlIHRoZSBzZW5kX2NvZGVjX2RhdGEgZmllbGQgZnJvbSBHc3RGbHZQYWQKCSAgVGhhdCBmaWVsZCBpcyBub3QgdXNlZCBhbnltb3JlIGFmdGVyIHRoZSBjaGFuZ2VzIGluCgkgIDlmZGVjYmMxYzExZjRlNWFmNjU3OGJiYTMyYTliMzI3NzEwMjlkMzMuCgoyMDEwLTAzLTE2IDEzOjUzOjI2ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuYzoKCSAgbXVsdGl1ZHBzaW5rOiBnZXQgZmFtaWx5IG9mIGV4dGVybmFsIHNvY2tldHMgdG9vCgkgIEdldCB0aGUgZmFtaWx5IG9mIGV4dGVybmFsbHkgY29uZmlndXJlZCBzb2NrZXRzIHNvIHRoYXQgd2UgY2FuIGNvbmZpZ3VyZSBpdAoJICBjb3JyZWN0bHkuCgoyMDEwLTAzLTE1IDIwOjM3OjUxICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hbHBoYS9nc3RhbHBoYWNvbG9yLmM6CgkgIGFscGhhY29sb3I6IEFkZCBzdXBwb3J0IGZvciB0aGUgcmVtYWluaW5nIEFSR0IgZm9ybWF0cwoKMjAxMC0wMy0xNSAxOToxNjoxOCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYWxwaGEvZ3N0YWxwaGFjb2xvci5jOgoJICBhbHBoYWNvbG9yOiBTaW1wbGlmeSBBUkdCPC0+QVlVViBjb252ZXJzaW9ucyBieSBjb2RlIGdlbmVyYXRpb24gbWFjcm9zCgoyMDEwLTAzLTE1IDE5OjA3OjI4ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSogZ3N0L2FscGhhL01ha2VmaWxlLmFtOgoJKiBnc3QvYWxwaGEvZ3N0YWxwaGEuYzoKCSogZ3N0L2FscGhhL2dzdGFscGhhLmg6CgkgIGFscGhhOiBNaW5vciBjbGVhbnVwcyBhbmQgbW92ZSBkZWNsYXJhdGlvbnMgaW50byBhIHNlcGFyYXRlIGhlYWRlciBmaWxlCgoyMDEwLTAzLTE1IDE4OjU4OjUxICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hbHBoYS9NYWtlZmlsZS5hbToKCSogZ3N0L2FscGhhL2dzdGFscGhhLmM6CgkgIGFscGhhOiBVc2UgR3N0VmlkZW9GaWx0ZXIgYXMgYmFzZSBjbGFzcyBmb3IgYXV0b21hdGljIFFvUyBzdXBwb3J0CgoyMDEwLTAzLTE1IDE4OjUwOjExICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hbHBoYS9nc3RhbHBoYWNvbG9yLmM6CgkqIGdzdC9hbHBoYS9nc3RhbHBoYWNvbG9yLmg6CgkgIGFscGhhY29sb3I6IEFkZCBzdXBwb3J0IGZvciBpbnBsYWNlIGNvbnZlcnNpb25zIGZyb20gQVlVViB0byBBUkdCCgoyMDEwLTAzLTE1IDE4OjE0OjE5ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hbHBoYS9nc3RhbHBoYWNvbG9yLmM6CgkqIGdzdC9hbHBoYS9nc3RhbHBoYWNvbG9yLmg6CgkgIGFscGhhY29sb3I6IFVzZSBsaWJnc3R2aWRlbyBmb3IgY2FwcyBwYXJzaW5nCgoyMDEwLTAzLTE1IDE4OjA5OjU1ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hbHBoYS9NYWtlZmlsZS5hbToKCSogZ3N0L2FscGhhL2dzdGFscGhhY29sb3IuYzoKCSogZ3N0L2FscGhhL2dzdGFscGhhY29sb3IuaDoKCSAgYWxwaGFjb2xvcjogVXNlIEdzdFZpZGVvRmlsdGVyIGFzIGJhc2UgY2xhc3MgZm9yIGF1dG9tYXRpYyBRb1Mgc3VwcG9ydAoKMjAxMC0wMy0xNSAxODowNzoyOSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYWxwaGEvZ3N0YWxwaGFjb2xvci5jOgoJICBhbHBoYWNvbG9yOiBTb21lIG1pbm9yIGNsZWFudXAKCjIwMTAtMDMtMTUgMTQ6MTY6NTggKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3NwZWV4L2dzdHNwZWV4ZGVjLmM6CgkqIGV4dC9zcGVleC9nc3RzcGVleGRlYy5oOgoJICBzcGVleGRlYzogVXNlIHNwZWV4X3N0ZXJlb19zdGF0ZV9pbml0KCkgaW5zdGVhZCBvZiB0aGUgZGVwcmVjYXRlZCBpbml0aWFsaXphdGlvbiBtYWNybwoJICBGaXhlcyBidWcgIzYxMjc3Ny4KCjIwMTAtMDMtMTUgMDE6MDk6NDkgKzAxMDAgIEphbiBVcmJhxYRza2kgPHd1bGN6ZXJAd3VsY3plci5vcmc+CgoJKiBnc3QvZmx2L2dzdGZsdm11eC5jOgoJICBmbHZtdXg6IENvcnJlY3RseSBtYXJrIGJ1ZmZlcnMgYXMgZGVsdGEgdW5pdHMKCSAgTWFyayB2aWRlbyBpbnRlcmZyYW1lcywgdmlkZW8gY29kZWMgZGF0YSBidWZmZXJzIGFuZCBhdWRpbyBidWZmZXJzIChpZgoJICBpdCdzIG5vdCBhbiBhdWRpby1vbmx5IHN0cmVhbSkgYXMgZGVsdGEgdW5pdHMuCgoyMDEwLTAzLTE0IDE5OjMyOjIwICswMTAwICBKYW4gVXJiYcWEc2tpIDx3dWxjemVyQHd1bGN6ZXIub3JnPgoKCSogZ3N0L2Zsdi9nc3RmbHZtdXguYzoKCSAgZmx2bXV4OiBTdXBwb3J0IHN0cmVhbWhlYWRlcnMKCSAgUHV0IHRoZSBGTFYgaGVhZGVyLCB0aGUgbWV0YWRhdGEgdGFnIGFuZCAoaWYgcHJlc2VudCkgY29kZWMKCSAgaW5mb3JtYXRpb24gaW4gdGhlIHN0cmVhbWhlYWRlciB0byBhbGxvdyB0aGUgbXV4ZXIgdG8gYmUgdXNlZCBmb3IKCSAgc3RyZWFtaW5nLgoKMjAxMC0wMy0xNCAwMTozODoyMSArMDEwMCAgSmFuIFVyYmHFhHNraSA8d3VsY3plckB3dWxjemVyLm9yZz4KCgkqIGdzdC9mbHYvZ3N0Zmx2bXV4LmM6CgkgIGZsdm11eDogUHJlYWxsb2NhdGUgaW5kZXggc3BhY2UgYW5kIGZpbGwgaXQgYWZ0ZXIgZmluaXNoaW5nIG91dHB1dAoJICBNYWtlIHRoZSBpbmRleCBhcHBlYXIgYXQgdGhlIGJlZ2lubmluZyBvZiB0aGUgZmlsZSwgd2hpY2ggaXMgd2hhdCBtb3N0CgkgIHBsYXllcnMgYXJlIGV4cGVjdGluZy4KCSAgRml4ZXMgIzYwMTIzNi4KCjIwMTAtMDMtMTUgMTM6NDc6MTMgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2Zsdi9nc3RmbHZtdXguYzoKCSAgZmx2bXV4OiBNaW5vciBjb2Rpbmcgc3R5bGUgZml4ZXMgYW5kIGNsZWFudXAKCjIwMTAtMDMtMTQgMDE6MzQ6MDIgKzAxMDAgIEphbiBVcmJhxYRza2kgPHd1bGN6ZXJAd3VsY3plci5vcmc+CgoJKiBnc3QvZmx2L2dzdGZsdm11eC5jOgoJKiBnc3QvZmx2L2dzdGZsdm11eC5oOgoJICBmbHZtdXg6IEFkZCBhIGlzLWxpdmUgcHJvcGVydHkKCSAgSWYgaXQgaXMgc2V0LCB0aGUgbXV4ZXIgd2lsbCBub3Qgd3JpdGUgdGhlIGluZGV4LiBEZWZhdWx0cyB0byBmYWxzZS4KCjIwMTAtMDMtMTQgMDE6MjU6NDIgKzAxMDAgIEphbiBVcmJhxYRza2kgPHd1bGN6ZXJAd3VsY3plci5vcmc+CgoJKiBnc3QvZmx2L2dzdGZsdm11eC5jOgoJICBmbHZtdXg6IE9ubHkgcHV0IHZhbGlkIHNlZWsgcG9pbnRzIGluIHRoZSBpbmRleAoJICBGb3IgZmlsZXMgY29udGFpbmluZyB2aWRlbyBvbmx5IHZpZGVvIGtleWZyYW1lcyBhcmUgdmFsaWQgcG9pbnRzIHRvCgkgIHdoaWNoIGEgcGxheWVyIGNhbiBzZWVrLiBGb3IgYXVkaW8tb25seSBmaWxlcyBhbnkgdGFnIHN0YXJ0IGlzIGEgdmFsaWQKCSAgc2VlayBwb2ludC4KCSAgU2VlICM2MDEyMzYuCgoyMDEwLTAzLTE0IDAxOjA5OjM3ICswMTAwICBKYW4gVXJiYcWEc2tpIDx3dWxjemVyQHd1bGN6ZXIub3JnPgoKCSogZ3N0L2Zsdi9nc3RmbHZtdXguYzoKCSAgZmx2bXV4OiBGaXggaW5kZXggYnVpbGRpbmcgdG8gbWFrZSBlbnRyaWVzIHBvaW50IHRvIHRhZydzIHN0YXJ0IG9mZnNldAoJICBQcmV2aW91cyBjb2Rpbmcgd2FzIHdyb25nbHkgaW5jcmVtZW50aW5nIHRoZSB0b3RhbCBieXRlIGNvdW50IGJlZm9yZQoJICBhZGRpbmcgYW4gaW5kZXggZW50cnkuCgoyMDEwLTAzLTE1IDEzOjQwOjM4ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9jYWlyby9nc3R0ZXh0b3ZlcmxheS5jOgoJICBjYWlyb3RleHRvdmVybGF5OiBEb24ndCByZW5kZXIgdGV4dCBvdXRzaWRlIHRoZSBmcmFtZSBib3VuZGFyaWVzCgkgIEZpeGVzIGJ1ZyAjNjExOTg2LgoKMjAxMC0wMy0xNSAxMTozODoyMyArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogZG9uJ3QgZm9yZ2V0IHRvIHNlbmQga2VlcGFsaXZlIG1lc3NhZ2VzCgkgIFdoZW4gd2Ugb3BlcmF0ZSBpbiBUQ1AgbW9kZSwgc3RpbGwgc2VuZCBrZWVwYWxpdmUgbWVzc2FnZXMgd2hlbiB3ZQoJICBuZWVkIHRvLgoJICBGaXhlcyAjNjEyNjk2CgoyMDEwLTAzLTEzIDIzOjE5OjM1ICswMzAwICDQoNGD0YHQu9Cw0L0g0JjQttCx0YPQu9Cw0YLQvtCyIDxscm4xOTg2QGdtYWlsLmNvbT4KCgkqIGV4dC9saWJwbmcvZ3N0cG5nZW5jLmM6CgkgIHBuZ2VuYzogQ2FsbCBwbmdfam1wYnVmKCkgaW5zdGVhZCBvZiBhY2Nlc3NpbmcgcG5nX3N0cnVjdF9wdHIgZGlyZWN0bHkKCSAgRml4ZXMgIzYxMjcwMCAoYWdhaW4pCgoyMDEwLTAzLTEyIDE2OjQ0OjMwICswMzAwICDQoNGD0YHQu9Cw0L0g0JjQttCx0YPQu9Cw0YLQvtCyIDxscm4xOTg2QGdtYWlsLmNvbT4KCgkqIGV4dC9saWJwbmcvZ3N0cG5nZW5jLmM6CgkgIHBuZ2VuYzogQ2FsbCBwbmdfZXJyb3IoKSBpbnN0ZWFkIG9mIHVzaW5nIGxvbmdqbXAoKSBkaXJlY3RseS4KCSAgRml4ZXMgIzYxMjcwMAoKMjAxMC0wMy0xMiAxMzo1NzoyOCArMDEwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gZTI3MmY3MSB0byA1NWNkNTE0CgoyMDEwLTAzLTA1IDExOjA2OjQ3IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eF9mb3VyY2MuaDoKCSAgcXRkZW11eDogYWRkIFhNUCBwYXJzaW5nIHN1cHBvcnQKCSAgVXNlIHhtcCBoZWxwZXJzIHRvIHBhcnNlIFhNUCBtZXRhZGF0YSBpbiB1ZHRhIGF0b20uCgkgIEZpeGVzICM2MDk1MzkKCjIwMTAtMDMtMTEgMTI6MzI6NTYgLTA4MDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEBzb25nYmlyZG5lc3QuY29tPgoKCSogZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuaDoKCSogZ3N0L3VkcC9nc3R1ZHBuZXR1dGlscy5jOgoJKiBnc3QvdWRwL2dzdHVkcG5ldHV0aWxzLmg6CgkgIHVkcDogZml4IGNvbXBpbGF0aW9uIGVycm9ycyBvbiBub24td2luZG93cy4KCjIwMTAtMDMtMTAgMjI6MjM6NDMgKzAxMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8eWxhdHV5YUBnbWFpbC5jb20+CgoJKiBnc3QvdWRwL2dzdG11bHRpdWRwc2luay5jOgoJKiBnc3QvdWRwL2dzdG11bHRpdWRwc2luay5oOgoJKiBnc3QvdWRwL2dzdHVkcG5ldHV0aWxzLmM6CgkqIGdzdC91ZHAvZ3N0dWRwbmV0dXRpbHMuaDoKCSAgbXVsdGl1ZHBzaW5rOiBhdm9pZCBnZXR0aW5nIHRoZSBzb2NrZXQgZmFtaWx5IHVzaW5nIGdldHNvY2tuYW1lKCkKCjIwMTAtMDMtMTEgMTc6Mjg6NDcgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IEZpeCBwcmludCBzdGF0ZW1lbnRzIGZvciBwb2ludGVyIGRpZmZlcmVuY2VzLgoJICBUaGlzIGZpeGVzIGl0IGZvciBib3RoIDMyIGFuZCA2NCBiaXQKCjIwMTAtMDMtMTEgMTc6Mjg6MzUgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IEZpeCB1bml0aWFsaXplZCB2YXJpYWJsZXMKCjIwMTAtMDMtMTEgMTc6MDM6NDcgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6CgkgIGZsdmRlbXV4OiBGaXggcHJpbnRmIGZvcm1hdHRpbmcgZm9yIG1hY29zeAoKMjAxMC0wMy0xMSAxNzowMzowNSArMDEwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzoKCSAgZmx2ZGVtdXg6IEZpeCB1bml0aWFsaXplZCB2YXJpYWJsZXMKCjIwMTAtMDMtMTEgMTc6MDI6NDQgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIGF2aWRlbXV4OiBGaXggdW5pdGlhbGl6ZWQgdmFyaWFibGUuCgoyMDEwLTAyLTE5IDEzOjM5OjA0ICswMTAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L2Zsdi9nc3RmbHZwYXJzZS5jOgoJICBmbHZwYXJzZTogTWFrZSBzY3JpcHQgdGFnIHBhcnNpbmcgbW9yZSBmbGV4aWJsZS4KCSAgKiBUaGUgbmJfZWxlbWVudHMgZm9yIGFycmF5cyBpcyBqdXN0IGFuIGluZGljYXRpb24sIHdlIGNhbiB0aGVyZWZvcmUgaWdub3JlCgkgIGl0IGFuZCBjYXJyeSBvbiBwYXJzaW5nIG1ldGFkYXRhIGl0ZW1zIHVudGlsIHdlIHJlYWNoIHRoZSBlbmQgbWFya2VyLgoJICAqIElmIHR5cGUgPT0gMywgdGhlbiB0aGUgc2NyaXB0IHRhZyBjb250YWlucyBhIGxpc3Qgb2Ygb2JqZWN0IGZvbGxvd2VkCgkgIGJ5IHRoZSBlbmQgbWFya2VyLgoJICBSZWZhY3RvciBjb2RlIHNsaWdodGx5IHRvIGhhbmRsZSBib3RoIGNhc2VzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MTA0NDcKCjIwMTAtMDMtMTEgMTU6NTE6NDAgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZGVpbnRlcmxlYXZlLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2ludGVybGVhdmUuYzoKCSAgdGVzdHM6IGZpeCBtZXRhZGF0YSBub3Qgd3JpdGFibGUgd2FybmluZ3MgaW4gaW50ZXJsZWF2ZSBhbmQgZGVpbnRlcmxlYXZlIHRlc3RzCgoyMDEwLTAzLTExIDE1OjM4OjE5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2FwZXYybXV4LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2lkM3YybXV4LmM6CgkgIHRlc3RzOiBmaXggbWV0YWRhdGEgbm90IHdyaXRhYmxlIHdhcm5pbmdzIHdpdGggYXBldjJtdXggYW5kIGlkM3YybXV4IHRlc3RzCgoyMDEwLTAzLTExIDE1OjI0OjIwICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6CgkgIHNvdXBodHRwc3JjOiBmaXggbWV0YWRhdGEgd3JpdGFibGUgd2FybmluZ3MKCSAgU2V0IG1ldGFkYXRhIG9uIGJ1ZmZlciBmaXJzdCwgd2hlbiB0aGUgcmVmY291bnQgaXMgc3RpbGwgMSwgYW5kIG9ubHkKCSAgcmVmIGFnYWluIGFmdGVyd2FyZHMuCgoyMDEwLTAzLTExIDE1OjAyOjQ4ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgYXZpZGVtdXg6IGlnbm9yZSBzdHJlYW0gd2l0aCBpbnZhbGlkIGhlYWRlciB0aW1lIG1ldGFkYXRhCgoyMDEwLTAzLTA4IDE0OjU3OjE3IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogU2V0IHN0cmVhbS1mb3JtYXQ9cmF3IG9uIEFBQyBjYXBzCgkgIFNldCBzdHJlYW0tZm9ybWF0PXJhdyBmb3IgQUFDIGNhcHMsIGFzIHRoYXQgaXMgdGhlCgkgIGV4cGVjdGVkIEFBQyBmb3JtYXQgdG8gYmUgaW4gdGhpcyBjb250YWluZXIgZmFtaWx5LgoJICBGaXhlcyAjNTY2MjUwCgoyMDEwLTAzLTExIDEyOjU2OjExICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBjaGVjayBmb3IgTlVMTCBiZWZvcmUgZG9pbmcgc3RyY21wCgkgIENoZWNrIHRoZSBjb25uZWN0aW9uIGFuZCBhZGRyZXNzIHR5cGUgZm9yIE5VTEwgYmVmb3JlIGRvaW5nIHN0cmNtcCBhbmQKCSAgY3Jhc2hpbmcuCgkgIEZpeGVzICM2MTI1NTMKCjIwMTAtMDMtMTEgMTE6MjA6NTkgKzAxMDAgIEJlbmphbWluIE90dGUgPG90dGVAcmVkaGF0LmNvbT4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gZGY4YTdjOCB0byBlMjcyZjcxCgoyMDEwLTAzLTExIDExOjA5OjU1ICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvdWRwL2dzdHVkcG5ldHV0aWxzLmM6CgkgIGJ1aWxkOiBpbmNsdWRlIHN0ZGxpYi5oIGZvciBhdG9pKCkKCjIwMTAtMDMtMTEgMTA6MzM6MDAgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9hdWRpb2Z4L2F1ZGlvcGFub3JhbWEuYzoKCSAgYXVkaW9wYW5vcmFtYTogbW92ZSBpbnZhcmlhbnQgY2hlY2sgb3V0IG9mIHRoZSBpbm5lciBsb29wCgkgIEltcHJvdmVzIHBlcmZvcm1hbmNlIGZvciBzaW1wbGUgbWV0aG9kLgoKMjAxMC0wMy0xMCAyMjoxNTowNCArMDEwMCAgQmVuamFtaW4gT3R0ZSA8b3R0ZUByZWRoYXQuY29tPgoKCSogY29uZmlndXJlLmFjOgoJICBVcGRhdGUgQ1hYRkxBR1MsIHRvbywganVzdCBsaWtlIENGTEFHUwoKMjAxMC0wMy0xMCAyMTowMToyMCArMDEwMCAgQmVuamFtaW4gT3R0ZSA8b3R0ZUByZWRoYXQuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QvcnRwbWFuYWdlci9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgIFVwZGF0ZSBmb3IgcmVjZW50IGNoYW5nZXMgdG8gY29tbW9uIHN1Ym1vZHVsZQoJICBUaGlzIGp1c3QgcmVwbGFjZXMgZXZlcnkgIiRFUlJPUl9DRkxBR1MiIHVzYWdlIHdpdGggYSB1c2FnZSBvZgoJICAiJFdBUk5JTkdfQ0ZMQUdTICRFUlJPUl9DRkxBR1MiIHRvIGdldCB0aGUgc2FtZSBmdW5jdGlvbmFsaXR5IGFzCgkgIHByZXZpb3VzbHkuCgkgIEFjdHVhbGx5IHVzaW5nIHRoYXQgc2VwYXJhdGlvbiB3aWxsIGhhcHBlbiBsYXRlci4KCjIwMTAtMDMtMTAgMjE6NTI6MDkgKzAxMDAgIEJlbmphbWluIE90dGUgPG90dGVAcmVkaGF0LmNvbT4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gOTcyMGE3ZCB0byBkZjhhN2M4CgoyMDEwLTAzLTEwIDIwOjQzOjU3ICswMTAwICBCZW5qYW1pbiBPdHRlIDxvdHRlQHJlZGhhdC5jb20+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIDBiNmUwNzIgdG8gOTcyMGE3ZAoKMjAxMC0wMy0xMCAxMDo1MToyOCAtMDgwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDxhbW9yYWxlc0BmbHVtb3Rpb24uY29tPgoKCSogZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuYzoKCSAgbXVsdGl1ZHBzaW5rOiBSZXNldCB3aW5kb3dzIGVycm9yIGNvZGUgYWZ0ZXIgZ2V0dGluZyBjb3JyZXNwb25kaW5nIGVycm9yIG1lc3NhZ2UuCgoyMDEwLTAzLTA5IDE3OjMyOjI3IC0wODAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAc29uZ2JpcmRuZXN0LmNvbT4KCgkqIGdzdC9hdmkvZ3N0YXZpbXV4LmM6CgkqIGdzdC9hdmkvZ3N0YXZpbXV4Lmg6CgkgIGF2aW11eDogcHV0IHRoZSBjb2RlY19kYXRhIGJsb2IgaW50byB0aGUgYWN0dWFsIGRhdGEgZm9yIE1QRUc0IHZpZGVvLCB0byBtYXRjaCBvdGhlciBpbXBsZW1lbnRhdGlvbnMgaW4gdGhlIHdpbGQuCgoyMDEwLTAzLTEwIDE2OjA5OjU2ICswMTAwICBCZW5qYW1pbiBPdHRlIDxvdHRlQHJlZGhhdC5jb20+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIDdjYzVlYjQgdG8gMGI2ZTA3MgoKMjAxMC0wMi0yMyAyMTowNjo1NSAtMDMwMCAgVGhhZGV1IExpbWEgZGUgU291emEgQ2FzY2FyZG8gPGNhc2NhcmRvQGhvbG9zY29waW8uY29tPgoKCSogc3lzL3hpbWFnZS9nc3R4aW1hZ2VzcmMuYzoKCSAgeGltYWdlc3JjOiBzZW5kIG5ld19zZWdtZW50IHdpdGggR1NUX0ZPUk1BVF9USU1FIGZvcm1hdAoJICBJbnN0ZWFkIG9mIHVzaW5nIEJhc2VTcmMgZGVmYXVsdCBmb3JtYXQgR1NUX0ZPUk1BVF9CWVRFUywgc2VuZCBpdCBpbgoJICBHU1RfRk9STUFUX1RJTUUuCgkgIFNpZ25lZC1vZmYtYnk6IFRoYWRldSBMaW1hIGRlIFNvdXphIENhc2NhcmRvIDxjYXNjYXJkb0Bob2xvc2NvcGlvLmNvbT4KCSAgRml4ZXMgIzYxMTY1OQoKMjAxMC0wMy0xMCAxMTo0NjowNiArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIGF2aWRlbXV4OiBwdXNoIG1vZGU7IGFsc28gcmVwb3J0IHNlZWthYmxlIHdpdGhvdXQgYW4gZWxlbWVudCBpbmRleAoJICAuLi4gc2luY2UgcmVjZW50IGNvZGUgYWxzbyBzZWVrcyBhcm91bmQgdG8gb2J0YWluIHJlcXVpcmVkIGRhdGEKCSAgZnJvbSBhdmkgaW5kZXguCgoyMDEwLTAzLTA5IDE4OjA2OjUyICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgYXZpZGVtdXg6IGFkZCBzb21lIGNoZWNrIGFuZCBzdGFuZGFyZGl6ZWQgc2VlayBldmVudCBoYW5kbGluZyBpbiBwdXNoIG1vZGUKCjIwMTAtMDMtMDkgMTg6MDU6MjkgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICBhdmlkZW11eDogZml4IG9mZnNldCBoYW5kbGluZyBpbiBwdXNoIG1vZGUgc2Vla2luZwoJICBQdXNoIG1vZGUgc2Vla2luZyB1c2VzIHNhbWUgaW5kZXggZGF0YSBhcyBwdWxsIG1vZGUsIGFuZCBzdG9yZXMKCSAgb2Zmc2V0IHRvIGRhdGEgaW4gY2h1bmssIHdoZXJlYXMgcHVzaCBtb2RlIG9wZXJhdGVzIGluIGNodW5rcywKCSAgYW5kIGFzIHN1Y2ggbmVlZHMgb2Zmc2V0IGNvbnNpc3RlbnRseSBjb3JyZXNwb25kaW5nIHRvIGNodW5rIGhlYWRlcnMuCgkgIEFsc28gZml4IGRldGVybWluaW5nIGJlc3QgbWF0Y2hpbmcgc3RyZWFtIGZvciBpbmNvbWluZyBuZXdzZWdtZW50IGV2ZW50LAoJICBhcyB3ZWxsIGFzIHNldHRpbmcgc29tZSBzdHJlYW0gc3RhdGUgYWNjb3JkaW5nbHkuCgoyMDEwLTAyLTI2IDIxOjI5OjQ5ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzoKCSogZ3N0L2Zsdi9nc3RmbHZkZW11eC5oOgoJICBmbHZkZW11eDogY29uZHVjdCBpbmRleCBzY2FuIGluIHRhc2sgdGhyZWFkCgkgIC4uLiByYXRoZXIgdGhhbiBpbiBzZWVraW5nIHRocmVhZCwgd2hpY2ggbWlnaHQgdGhlbiBvY2N1cHkgbWFpbmxvb3AKCSAgZm9yIHNvbWUgdGltZSB3aXRoIHBvc3NpYmxlIHVucmVzcG9uc2l2ZSBzaWRlLWVmZmVjdHMuCgoyMDEwLTAyLTI2IDIxOjI3OjMzICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9mbHYvZ3N0Zmx2cGFyc2UuYzoKCSAgZmx2ZGVtdXg6IGF2b2lkIGluZGVmaW5pdGUgaW5kZXggZ3Jvd3RoCgkgIFRoYXQgaXMsIGNoZWNrIGZvciBhbmQgZG8gbm90IGFkZCBhbiBpbmRleCBlbnRyeSB0aGF0IGhhcyBhbHJlYWR5CgkgIGJlZW4gYWRkZWQuCgoyMDEwLTAyLTE4IDE0OjU3OjM5ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9mbHYvZ3N0Zmx2cGFyc2UuYzoKCSAgZmx2ZGVtdXg6IGFsc28gY29sbGVjdCBpbmRleCBpbmZvIG9uLXRoZS1mbHkgaW4gcHVsbCBtb2RlCgoyMDEwLTAyLTE4IDEyOjQyOjMxICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzoKCSogZ3N0L2Zsdi9nc3RmbHZkZW11eC5oOgoJKiBnc3QvZmx2L2dzdGZsdnBhcnNlLmM6CgkqIGdzdC9mbHYvZ3N0Zmx2cGFyc2UuaDoKCSAgZmx2ZGVtdXg6IGluY3JlbWVudGFsbHkgYnVpbGQgaW5kZXggaW4gcHVsbCBtb2RlCgkgIFNjYW4gZm9yIG5lZWRlZCBwYXJ0IHVwb24gYSBzZWVrIGFzIG9wcG9zZWQgdG8gZG9pbmcgYSBjb21wbGV0ZSBzY2FuCgkgIGF0IHN0YXJ0dXAsIHdoaWNoIG1heSB0YWtlIHNvbWUgdGltZSBkZXBlbmRpbmcgb24gZmlsZSBhbmQvb3IgcGxhdGZvcm0uCgkgIEFsc28gYWNjZXB0IGluZGV4IG1ldGFkYXRhIGluIHB1bGwgbW9kZSBhbmQgcGVlayBmb3Igc29tZSBtZXRhZGF0YQoJICBhdCB0aGUgZW5kIG9mIHRoZSBmaWxlIHdoZW4gZGVlbWVkIGFwcHJvcHJpYXRlLgoKMjAxMC0wMi0xOCAxMjoyNjo0NiArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6CgkgIGZsdmRlbXV4OiBzb21lIG1vcmUgdmFyaWFibGUgY2xlYW51cAoKMjAxMC0wMy0wOSAxODoyNToyMyArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZmx2L2dzdGZsdnBhcnNlLmM6CgkgIGZsdmRlbXV4OiByZWZhY3RvciBhZGRpbmcgaW5kZXggZW50cnkKCjIwMTAtMDItMTcgMTE6MzY6MTMgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2Zsdi9nc3RmbHZwYXJzZS5jOgoJICBmbHZkZW11eDogZml4IHNldHRpbmcgREVMVEFfVU5JVCBmbGFnIG9uIG91dGdvaW5nIGJ1ZmZlcnMKCSAgLi4uIHdoaWNoIHNob3VsZCBub3QgZGVwZW5kIG9uIGhhdmluZyBpbmRleCBhdmFpbGFibGUgb3Igbm90LgoJICBBbHNvIHJlZmFjdG9yIHJlc3VsdGluZyBjb2xsYXBzZWQgY29kZS4KCjIwMTAtMDItMTEgMTk6NDM6NDcgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBhdm9pZCBlcnJvbmVvdXMgY29kZWMtZGF0YSBvdmVycmlkaW5nIG9mIHN0c2QgaW5mb3JtYXRpb24KCjIwMTAtMDItMDEgMjI6Mzc6MzAgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3NwZWV4L2dzdHNwZWV4ZGVjLmM6CgkgIHNwZWV4ZGVjOiBhZGFwdCB0byBuZXcgb2dnZGVtdXgKCSAgUmVtb3ZlIGFsbCBncmFudWxlcG9zIGhhY2tzIGFuZCBzaW1wbHkgdXNlIHVwc3RyZWFtIHRpbWVzdGFtcHMuCgoyMDEwLTAyLTAxIDIyOjM2OjAyICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9zcGVleC9nc3RzcGVleGRlYy5jOgoJKiBleHQvc3BlZXgvZ3N0c3BlZXhkZWMuaDoKCSAgc3BlZXhkZWM6IHJlZmFjdG9yIGdyYW51bGVwb3MgaGFja3MKCjIwMTAtMDMtMTAgMTE6MTk6NDYgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IHBhcnNlIGNvbm5lY3Rpb24gaW5mb3JtYXRpb24KCSAgUGFyc2UgdGhlIGNvbm5lY3Rpb24gaW5mb3JtYXRpb24gZnJvbSB0aGUgU0RQIGFuZCB1c2UgaXQgdG8gZmlndXJlIG91dCBpZiB3ZSBhcmUKCSAgZGVhbGluZyB3aXRoIGlwdjQgb3IgaXB2NiBjb25uZWN0aW9ucy4KCjIwMTAtMDMtMDkgMTc6NTM6MzIgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IHJlcXVpcmUgYSBkZXN0aW5hdGlvbiBmb3IgbXVsdGljYXN0CgkgIFdoZW4gc2V0dGluZyB1cCB0aGUgbXVsdGljYXN0IHNvY2tldHMsIHdlIG5lZWQgYSBkZXN0aW5hdGlvbiBhZGRyZXNzIHRvIGxpc3RlbgoJICBvbiBvciBlbHNlIHdlIGVycm9yLgoKMjAxMC0wMy0wOSAxNzo1MjozNSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5oOgoJICBydHNwc3JjOiBoYW5kbGUgaXB2NiBsaXN0ZW5pbmcgcG9ydHMgd2hlbiBuZWVkZWQKCSAgQWRkIHNvbWUgY29kZSB0byBtYWtlIHVkcHNyYyBsaXN0ZW4gb24gYW4gaXB2NiBhZGRyZXNzIHdoZW4gbmVlZGVkLiBUaGUKCSAgZGV0ZWN0aW9uIG9mIElQVjYgaXMgbm90IHlldCBpbXBsZW1lbnRlZC4KCjIwMTAtMDMtMDkgMTc6MTU6MTYgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdWRwL2dzdHVkcHNpbmsuYzoKCSogZ3N0L3VkcC9nc3R1ZHBzaW5rLmg6CgkqIGdzdC91ZHAvZ3N0dWRwc3JjLmM6CgkqIGdzdC91ZHAvZ3N0dWRwc3JjLmg6CgkgIHVkcDogdXNlIHVyaSBwYXJzaW5nIGNvZGUKCSAgVXNlIHRoZSB1cmkgcGFyc2luZyBoZWxwZXIgZnVuY3Rpb25zIHRvIG1hbmFnZSB0aGUgaG9zdCBhbmQgcG9ydCBwYWlycy4gVGhpcwoJICBhZGRzIHN1cHBvcnQgZm9yIElQVjYuCgoyMDEwLTAzLTA5IDE3OjEzOjMxICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3VkcC9nc3R1ZHBuZXR1dGlscy5jOgoJKiBnc3QvdWRwL2dzdHVkcG5ldHV0aWxzLmg6CgkgIHVkcG5ldHV0aWxzOiBhZGQgaGVscGVyIGZ1bmN0aW9ucyBmb3IgdWRwIHVyaSBoYW5kbGluZwoJICBBZGQgc29tZSBoZWxwZXJzIHRvIHBhcnNlIHVkcCB1cmlzLiBNYWtlIHN1cmUgSVBWNiBpcyBzdXBwb3J0ZWQgdG9vLgoKMjAxMC0wMy0wNSAxNjowODo0NSArMDEwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmg6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuaDoKCSAgcnRwc2Vzc2lvbjogTWFrZSBpdCBwb3NzaWJsZSB0byBmYXZvciBuZXcgc291cmNlcyBpbiBjYXNlIG9mIFNTUkMgY29uZmxpY3QKCSAgQWRkIGEgImZhdm9yLW5ldyIgcHJvcGVydHkgdGhhdCB0ZWxscyB0aGUgc2Vzc2lvbiB0byBmYXZvciBuZXcgc291cmNlcyB3aGVuCgkgIHRoZXJlIGlzIGEgU1NSQyBjb25mbGljdC4gVGhpcyBpcyB1c2VmdWwgZm9yIFNJUCBjYWxscyBhbmQgb3RoZXIgc3VjaCBjYXNlcwoJICB3aGVyZSBhIHJlbW90ZSBsb29wIGlzIGV4dHJlbWVseSB1bmxpa2VseS4KCSAgRml4ZXMgIzYwNzYxNQoKMjAxMC0wMy0wNSAxNTo0Njo0OCArMDEwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmg6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuaDoKCSAgcnRwc2Vzc2lvbjogTW92ZSBTU1JDIGNvbmZsaWN0cyBsaXN0cyBpbnRvIFJUUFNvdXJjZQoJICBXZSB3aWxsIGFsc28gbmVlZCB0byB0cmFjayBTU1JDIGNvbmZsaWN0cyBpbiByZW1vdGUgc291cmNlcy4KCSAgU2VlICM2MDc2MTUKCjIwMTAtMDItMjYgMTc6MTM6NDkgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IHNlbmQga2VlcCBhbGl2ZSB3aGVuIHBhdXNlZAoJICBXaGVuIHdlIGFyZSBwYXVzZWQsIHNlbmQga2VlcCBhbGl2ZSBtZXNzYWdlcyB0byB0aGUgc2VydmVyIHNvIHRoYXQgb3VyIHNlc3Npb24KCSAgZG9lc24ndCB0aW1lIG91dCB3aGVuIHdlIGdvIGJhY2sgdG8gcGxheWluZyBsYXRlci4KCjIwMTAtMDMtMTAgMDE6MTA6MDcgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSA3YWE2NWI1IHRvIDdjYzVlYjQKCjIwMTAtMDItMjMgMTk6NDg6MTAgLTA4MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L211bHRpZmlsZS9nc3RtdWx0aWZpbGVzaW5rLmM6CgkqIGdzdC9tdWx0aWZpbGUvZ3N0bXVsdGlmaWxlc2luay5oOgoJICBtdWx0aWZpbGVzaW5rOiBBZGQga2V5LWZyYW1lIG9wdGlvbiB0byBuZXh0LWZpbGUKCSAgVGhpcyBhbGxvd3Mgc2VnbWVudGluZyBvZiBNUEVHLVRTIGZpbGVzIGF0IGtleSBmcmFtZXMsIHdoaWNoIGlzCgkgIGV4YWN0bHkgd2hhdCBpcyBuZWVkZWQgZm9yIEFwcGxlJ3MgSFRUUCBzdHJlYW1pbmcuCgoyMDEwLTAzLTA5IDIxOjMyOjQ3ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gNDRlY2NlNyB0byA3YWE2NWI1CgoyMDEwLTAzLTA4IDIwOjE3OjU4ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb2JveC9nc3R2aWRlb2JveC5jOgoJICB2aWRlb2JveDogRml4IGF1dG9jcm9wcGluZyBmb3Igb2RkIHdpZHRoL2hlaWdodCBkaWZmZXJlbmNlcwoKMjAxMC0wMy0wOCAyMDowMjoxOSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9ib3gvTWFrZWZpbGUuYW06CgkqIGdzdC92aWRlb2JveC9nc3R2aWRlb2JveC5jOgoJKiBnc3QvdmlkZW9ib3gvZ3N0dmlkZW9ib3guaDoKCSAgdmlkZW9ib3g6IFVzZSBsaWJnc3R2aWRlbyBmb3IgZm9ybWF0IHNwZWNpZmljIHN0dWZmCgoyMDEwLTAzLTA4IDE5OjI4OjQ3ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb2Z4L2F1ZGlvYW1wbGlmeS5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb2R5bmFtaWMuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9lY2hvLmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvZnhiYXNlZmlyZmlsdGVyLmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvZnhiYXNlaWlyZmlsdGVyLmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvaW52ZXJ0LmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlva2FyYW9rZS5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb3Bhbm9yYW1hLmM6CgkgIGF1ZGlvZng6IFN5bmMgcHJvcGVydGllcyB0byB0aGUgc3RyZWFtIHRpbWUKCjIwMTAtMDMtMDggMTk6MjA6NTkgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvYm94L01ha2VmaWxlLmFtOgoJKiBnc3QvdmlkZW9ib3gvZ3N0dmlkZW9ib3guYzoKCSAgdmlkZW9ib3g6IE1ha2UgcHJvcGVydGllcyBjb250cm9sbGFibGUKCjIwMTAtMDMtMDggMTk6MDk6MDEgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvYm94L2dzdHZpZGVvYm94LmM6CgkgIHZpZGVvYm94OiBTb21lIGNsZWFudXAKCjIwMTAtMDItMjggMTU6NDc6NTAgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2VmZmVjdHYvZ3N0YWdpbmcuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0ZGljZS5jOgoJKiBnc3QvZWZmZWN0di9nc3RlZGdlLmM6CgkqIGdzdC9lZmZlY3R2L2dzdG9wLmM6CgkqIGdzdC9lZmZlY3R2L2dzdHF1YXJrLmM6CgkqIGdzdC9lZmZlY3R2L2dzdHJhZGlvYWMuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0cmV2LmM6CgkqIGdzdC9lZmZlY3R2L2dzdHJpcHBsZS5jOgoJKiBnc3QvZWZmZWN0di9nc3RzaGFnYWRlbGljLmM6CgkqIGdzdC9lZmZlY3R2L2dzdHN0cmVhay5jOgoJKiBnc3QvZWZmZWN0di9nc3R2ZXJ0aWdvLmM6CgkqIGdzdC9lZmZlY3R2L2dzdHdhcnAuYzoKCSAgZWZmZWN0djogVXNlIGNvbnRyb2xsZXIgd2hlcmUgcG9zc2libGUsIG9wdGltaXplIGEgYml0IGFuZCBtYWtlIHByb3BlcnRpZXMgdGhyZWFkc2FmZQoKMjAxMC0wMi0yNiAxNjozNToxNyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBwa2djb25maWcvTWFrZWZpbGUuYW06CgkgIGJ1aWxkOiBNYWtlIHNvbWUgbW9yZSBydWxlcyBzaWxlbnQgaWYgcmVxdWVzdGVkCgoyMDEwLTAyLTI2IDE1OjQxOjUyICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiBVc2UgYXV0b21ha2UgMS4xMSBzaWxlbnQgcnVsZXMgaW5zdGVhZCBvZiBzaGF2ZSBpZiBhdmFpbGFibGUKCSAgVGhpcyBtYWtlcyBzdXJlIHRoYXQgd2UgdXNlIHNvbWV0aGluZyB0aGF0IGlzIHN0aWxsIG1haW50YWluZWQgYW5kCgkgIGFsc28gYnJpbmdzIGJhY2sgbGlidG9vbCAxLjUgc3VwcG9ydC4KCjIwMTAtMDMtMDggMjI6NTc6MzQgKzAxMDAgIEJlbmphbWluIE90dGUgPG90dGVAcmVkaGF0LmNvbT4KCgkqIGV4dC9saWJwbmcvZ3N0cG5nZW5jLmM6CgkgIHBuZzogZnJhY3Rpb25zIGRvbid0IGFsbG93IGRvdWJsZXMKCjIwMTAtMDMtMDEgMTI6MDM6NTYgKzAxMDAgIEJlbmphbWluIE90dGUgPG90dGVAcmVkaGF0LmNvbT4KCgkqIGdzdC9mbHgvZ3N0Zmx4ZGVjLmM6CgkgIGZseDogZml4IGRlc2NyaXB0aW9uCgkgIEl0J3MgdmlkZW8sIG5vdCBhdWRpbwoKMjAxMC0wMy0wOSAxNzo0NToyNyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi0xMzk0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhY29sb3IueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYW5ub2RleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hcGV0YWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9meC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9kZXRlY3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXZpLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhY2FzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhaXJvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWN1dHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWludGVybGFjZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmVuY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZmZWN0di54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lcXVhbGl6ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXNkc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbGFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHhkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2FtbWEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2NvbmZlbGVtZW50cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZGtwaXhidWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tMmsxLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzdHJ0cG1hbmFnZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taGFsZWxlbWVudHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWN5ZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXJsZWF2ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxldmVsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1hdHJvc2thLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpZmlsZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aXBhcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmF2aWdhdGlvbnRlc3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5nLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXB1bHNlYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcXVpY2t0aW1lLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlcGxheWdhaW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0c3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hhcGV3aXBlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNob3V0MnNlbmQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc21wdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVjdHJ1bS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10YWdsaWIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdWRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvNGxpbnV4Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2JhbGFuY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9ib3gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9jcm9wLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvZmxpcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb21peGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXhpbWFnZXNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi15NG1lbmMueG1sOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIEJhY2sgdG8gZGV2ZWxvcG1lbnQKCj09PSByZWxlYXNlIDAuMTAuMjEgPT09CgoyMDEwLTAzLTA5IDAwOjI4OjE2ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIENoYW5nZUxvZzoKCSogTkVXUzoKCSogUkVMRUFTRToKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tMTM5NC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYWNvbG9yLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFubm9kZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXBldGFnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvZngueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvZGV0ZWN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF2aS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWNhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWlyby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jdXR0ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVpbnRlcmxhY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZlbmNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZmVjdHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXF1YWxpemVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVzZHNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmxhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx4ZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdhbW1hLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdjb25mZWxlbWVudHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2RrcGl4YnVmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbTJrMS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc3RydHBtYW5hZ2VyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWhhbGVsZW1lbnRzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWljeWRlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlkM2RlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVybGVhdmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanBlZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sZXZlbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tYXRyb3NrYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aWZpbGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlwYXJ0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5hdmlnYXRpb250ZXN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zc2F1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBuZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wdWxzZWF1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXF1aWNrdGltZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXBsYXlnYWluLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHNwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNoYXBld2lwZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaG91dDJzZW5kLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNtcHRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlY3RydW0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdGFnbGliLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXVkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlbzRsaW51eDIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9iYWxhbmNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvYm94LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvY3JvcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2ZsaXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9taXhlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14aW1hZ2VzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teTRtZW5jLnhtbDoKCSogZ3N0LXBsdWdpbnMtZ29vZC5kb2FwOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIFJlbGVhc2UgMC4xMC4yMQoKMjAxMC0wMy0wOSAwMDoyNDo0NSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBwby9hZi5wbzoKCSogcG8vYXoucG86CgkqIHBvL2JnLnBvOgoJKiBwby9jYS5wbzoKCSogcG8vY3MucG86CgkqIHBvL2RhLnBvOgoJKiBwby9kZS5wbzoKCSogcG8vZWwucG86CgkqIHBvL2VuX0dCLnBvOgoJKiBwby9lcy5wbzoKCSogcG8vZXUucG86CgkqIHBvL2ZpLnBvOgoJKiBwby9mci5wbzoKCSogcG8vaHUucG86CgkqIHBvL2lkLnBvOgoJKiBwby9pdC5wbzoKCSogcG8vamEucG86CgkqIHBvL2x0LnBvOgoJKiBwby9sdi5wbzoKCSogcG8vbXQucG86CgkqIHBvL25iLnBvOgoJKiBwby9ubC5wbzoKCSogcG8vb3IucG86CgkqIHBvL3BsLnBvOgoJKiBwby9wdF9CUi5wbzoKCSogcG8vcnUucG86CgkqIHBvL3NrLnBvOgoJKiBwby9zcS5wbzoKCSogcG8vc3IucG86CgkqIHBvL3N2LnBvOgoJKiBwby90ci5wbzoKCSogcG8vdWsucG86CgkqIHBvL3ZpLnBvOgoJKiBwby96aF9DTi5wbzoKCSogcG8vemhfSEsucG86CgkqIHBvL3poX1RXLnBvOgoJICBVcGRhdGUgLnBvIGZpbGVzCgoyMDEwLTAzLTA5IDAwOjA5OjM0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC95NG0vZ3N0eTRtZW5jb2RlLmM6CgkqIGdzdC95NG0vZ3N0eTRtZW5jb2RlLmg6CgkgIFJldmVydCAiQWRkIDQ6MjoyLCA0OjE6MSwgYW5kIDQ6NDo0IG91dHB1dCBzdXBwb3J0IgoJICBUaGlzIHJldmVydHMgY29tbWl0IDYzN2MyNmY2MWEyYmQ4ZDdiMDFmOGI2ZDA4MWQ5NGRhNjVmNzQ1NTcuCgo9PT0gcmVsZWFzZSAwLjEwLjIwID09PQoKMjAxMC0wMy0wOCAyMzo0Mjo1MSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBDaGFuZ2VMb2c6CgkqIE5FV1M6CgkqIFJFTEVBU0U6CgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLTEzOTQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWFzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGFjb2xvci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbm5vZGV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFwZXRhZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb2Z4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2RldGVjdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdmkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FjYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2Fpcm8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY3V0dGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlaW50ZXJsYWNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZW5jZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmZlY3R2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVxdWFsaXplci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lc2RzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZseGRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nYW1tYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nY29uZmVsZW1lbnRzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdka3BpeGJ1Zi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20yazEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3N0cnRwbWFuYWdlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1oYWxlbGVtZW50cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pY3lkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pZDNkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlcmxlYXZlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwZWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGV2ZWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWF0cm9za2EueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlmaWxlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpcGFydC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uYXZpZ2F0aW9udGVzdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3NhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbmcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcHVsc2VhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1xdWlja3RpbWUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVwbGF5Z2Fpbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRzcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaGFwZXdpcGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hvdXQyc2VuZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbXB0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWN0cnVtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXRhZ2xpYi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi11ZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW80bGludXgyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvYmFsYW5jZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2JveC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2Nyb3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9mbGlwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvbWl4ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2ZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teGltYWdlc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXk0bWVuYy54bWw6CgkqIGdzdC1wbHVnaW5zLWdvb2QuZG9hcDoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICBSZWxlYXNlIDAuMTAuMjAKCjIwMTAtMDMtMDggMjM6NDI6MDYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogcG8vYWYucG86CgkqIHBvL2F6LnBvOgoJKiBwby9iZy5wbzoKCSogcG8vY2EucG86CgkqIHBvL2NzLnBvOgoJKiBwby9kYS5wbzoKCSogcG8vZGUucG86CgkqIHBvL2VsLnBvOgoJKiBwby9lbl9HQi5wbzoKCSogcG8vZXMucG86CgkqIHBvL2V1LnBvOgoJKiBwby9maS5wbzoKCSogcG8vZnIucG86CgkqIHBvL2h1LnBvOgoJKiBwby9pZC5wbzoKCSogcG8vaXQucG86CgkqIHBvL2phLnBvOgoJKiBwby9sdC5wbzoKCSogcG8vbHYucG86CgkqIHBvL210LnBvOgoJKiBwby9uYi5wbzoKCSogcG8vbmwucG86CgkqIHBvL29yLnBvOgoJKiBwby9wbC5wbzoKCSogcG8vcHRfQlIucG86CgkqIHBvL3J1LnBvOgoJKiBwby9zay5wbzoKCSogcG8vc3EucG86CgkqIHBvL3NyLnBvOgoJKiBwby9zdi5wbzoKCSogcG8vdHIucG86CgkqIHBvL3VrLnBvOgoJKiBwby92aS5wbzoKCSogcG8vemhfQ04ucG86CgkqIHBvL3poX0hLLnBvOgoJKiBwby96aF9UVy5wbzoKCSAgVXBkYXRlIC5wbyBmaWxlcwoKMjAxMC0wMy0wOCAxNjo0NzowNCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmxhYy9nc3RmbGFjZGVjLmM6CgkgIGZsYWNkZWM6IGRvbid0IHNlbmQgc2Vjb25kIG5ld3NlZ21lbnQgZXZlbnQgaW4gZnJhbWVkIG1vZGUsIGZpeGVzIGxvbmcgcGxheWJhY2sgZGVsYXkKCSAgRG9uJ3Qgc2VuZCBhbm90aGVyIG5ld3NlZ21lbnQgZXZlbnQgaWYgdGhlIHVwc3RyZWFtIG11eGVyL3BhcnNlciBoYXMgYWxyZWFkeQoJICBzZW50IG9uZSAob3RoZXJ3aXNlIHRoZSBzaW5rIHdpbGwgd2FpdCBmb3IgJGR1cmF0aW9uIGJlZm9yZSBzdGFydGluZyBwbGF5YmFjaykuCgkgIEZpeGVzIGxvbmcgZGVsYXkgdW50aWwgcGxheWJhY2sgc3RhcnRzIHdpdGggZmxhYy1pbi1vZ2cgZmlsZXMuCgkgIEZpeGVzICM2MTA5NTkuCgoyMDEwLTAzLTA1IDEzOjQ5OjMxICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBjb25maWd1cmUgbXVsdGljYXN0IGNvcnJlY3RseQoJICBUYWtlIHRoZSB0cmFuc3BvcnQgZGVzdGluYXRpb24gZm9yIG11bHRpY2FzdC4KCSAgRGlzYWJsZSBsb29wIGFuZCBhdXRvam9pbiBmb3IgbXVsdGljYXN0IG9uIHRoZSB1ZHBzaW5rcy4KCjIwMTAtMDMtMDUgMTM6NDc6MzMgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdWRwL2dzdG11bHRpdWRwc2luay5jOgoJICBtdWx0aWNhc3Q6IGFsd2F5cyBjb25maWd1cmUgbG9vcCBhbmQgdHRsCgkgIEFsc28gY29uZmlndXJlIFRUTCBhbmQgbG9vcCBwYXJhbWV0ZXJzIHdoZW4gd2UgYWRkIGEgY2xpZW50IGFmdGVyIGluaXRpYWxpemluZwoJICB0aGUgc2VuZGVyLgoKMjAxMC0wMy0wOCAxMjoxMzozMiArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2M2RlcGF5LmM6CgkgIFJldmVydCAicnRwaDI2M2RlcGF5OiBiYXNlY2xhc3MgaGFuZGxlcyB0aW1lc3RhbXBzIGZvciB1cyIKCSAgVGhpcyByZXZlcnRzIGNvbW1pdCA1NjQ1ODFlMWI4OGVjZDVlYzVkYTgyYzNjYWZiMGU3YTJkNThiMzAyLgoJICBJZiB3ZSBkb24ndCBjYWxsIHB1c2hfdHMsIHRoZXJlIHdpbGwgYmUgbm8gdGltZXN0YW1wIGF0IGFsbCBvbiB0aGUgb3V0Z29pbmcKCSAgYnVmZmVyLgoJICBGaXhlcyAjNjEyMTU0CgoyMDEwLTAyLTIzIDIyOjE2OjM5IC0wNTAwICBCZW5qYW1pbiBNLiBTY2h3YXJ0eiA8YmVuc0BhbHVtLm1pdC5lZHU+CgoJKiBnc3QveTRtL2dzdHk0bWVuY29kZS5jOgoJKiBnc3QveTRtL2dzdHk0bWVuY29kZS5oOgoJICBBZGQgNDoyOjIsIDQ6MToxLCBhbmQgNDo0OjQgb3V0cHV0IHN1cHBvcnQKCjIwMTAtMDMtMDIgMTM6MjE6MjQgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuYzoKCSAgcnRwc291cmNlOiB1c2UgcGF5bG9hZCBzaXplIHRvIGVzdGltYXRlIGJpdHJhdGUKCSAgVXNlIHRoZSBsZW5ndGggb2YgdGhlIHBheWxvYWQgZm9yIGVzdGltYXRpbmcgdGhlIHJlY2VpdmVyIGJpdHJhdGUgc28gdGhhdCBpdAoJICBtYXRjaGVzIHRoZSBjYWxjdWxhdGlvbnMgZG9uZSBvbiB0aGUgc2VuZGVyIHNpZGUuIFRvZ2V0aGVyIHdpdGggdGhlIG51bWJlciBvZgoJICBwYWNrZXRzIG9uZSBjYW4gc2NhbGUgdGhlIGJpdHJhdGUgd2l0aCB0aGUgaGVhZGVyIG92ZXJoZWFkIG9mIHRoZSBsb3dlcgoJICB0cmFuc3BvcnQuCgoyMDEwLTAzLTAyIDEyOjM5OjIwICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5oOgoJICBydHBzb3VyY2U6IHJlZmFjdG9yIGJpdHJhdGUgZXN0aW1hdGlvbgoJICBEb24ndCByZXVzZSB0aGUgc2FtZSB2YXJpYWJsZSB3ZSBuZWVkIGZvciBzdGF0cyBmb3IgdGhlIGJpdHJhdGUgZXN0aW1hdGlvbgoJICBiZWNhdXNlIHdlJ3JlIHVwZGF0aW5nIGl0LgoJICBSZWZhY3RvciB0aGUgYml0cmF0ZSBlc3RpbWF0aW9uIGNvZGUgc28gdGhhdCBib3RoIHNlbmRlciBhbmQgcmVjZWl2ZXJzIHVzZSB0aGUKCSAgc2FtZSBjb2RlIHBhdGguCgoyMDEwLTAzLTAxIDE2OjQwOjI3IC0wNTAwICBUcmlzdGFuIE1hdHRoZXdzIDx0cmlzdGFuQHNhdC5xYy5jYT4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5jOgoJICBhZGRlZCBiaXRyYXRlIGVzdGltYXRpb24gdG8gcmVjZWl2ZXItc2lkZSBzdGF0cywgZml4ZXMgIzYxMTIxMwoKMjAxMC0wMy0wMSAxNjowMToyNCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2M3BheS5jOgoJICBoMjYzcGF5OiBmaXggdHlwbyBpbiBkZWJ1ZwoKPT09IHJlbGVhc2UgMC4xMC4xOSA9PT0KCjIwMTAtMDMtMDYgMDA6NDM6MDMgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogQ2hhbmdlTG9nOgoJKiBORVdTOgoJKiBSRUxFQVNFOgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaW50ZXJmYWNlczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5wcmVyZXF1aXNpdGVzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLnNpZ25hbHM6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi0xMzk0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhY29sb3IueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYW5ub2RleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hcGV0YWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9meC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9kZXRlY3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXZpLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhY2FzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhaXJvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWN1dHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWludGVybGFjZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmVuY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZmZWN0di54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lcXVhbGl6ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXNkc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbGFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHhkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2FtbWEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2NvbmZlbGVtZW50cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZGtwaXhidWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tMmsxLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzdHJ0cG1hbmFnZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taGFsZWxlbWVudHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWN5ZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXJsZWF2ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxldmVsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1hdHJvc2thLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpZmlsZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aXBhcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmF2aWdhdGlvbnRlc3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5nLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXB1bHNlYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcXVpY2t0aW1lLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlcGxheWdhaW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0c3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hhcGV3aXBlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNob3V0MnNlbmQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc21wdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVjdHJ1bS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10YWdsaWIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdWRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvNGxpbnV4Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2JhbGFuY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9ib3gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9jcm9wLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvZmxpcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb21peGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXhpbWFnZXNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi15NG1lbmMueG1sOgoJKiBnc3QtcGx1Z2lucy1nb29kLmRvYXA6CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgUmVsZWFzZSAwLjEwLjE5CgoyMDEwLTAzLTA2IDAwOjQyOjA5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHBvL2FmLnBvOgoJKiBwby9hei5wbzoKCSogcG8vYmcucG86CgkqIHBvL2NhLnBvOgoJKiBwby9jcy5wbzoKCSogcG8vZGEucG86CgkqIHBvL2RlLnBvOgoJKiBwby9lbC5wbzoKCSogcG8vZW5fR0IucG86CgkqIHBvL2VzLnBvOgoJKiBwby9ldS5wbzoKCSogcG8vZmkucG86CgkqIHBvL2ZyLnBvOgoJKiBwby9odS5wbzoKCSogcG8vaWQucG86CgkqIHBvL2l0LnBvOgoJKiBwby9qYS5wbzoKCSogcG8vbHQucG86CgkqIHBvL2x2LnBvOgoJKiBwby9tdC5wbzoKCSogcG8vbmIucG86CgkqIHBvL25sLnBvOgoJKiBwby9vci5wbzoKCSogcG8vcGwucG86CgkqIHBvL3B0X0JSLnBvOgoJKiBwby9ydS5wbzoKCSogcG8vc2sucG86CgkqIHBvL3NxLnBvOgoJKiBwby9zci5wbzoKCSogcG8vc3YucG86CgkqIHBvL3RyLnBvOgoJKiBwby91ay5wbzoKCSogcG8vdmkucG86CgkqIHBvL3poX0NOLnBvOgoJKiBwby96aF9ISy5wbzoKCSogcG8vemhfVFcucG86CgkgIFVwZGF0ZSAucG8gZmlsZXMKCjIwMTAtMDMtMDMgMjA6Mjk6MzAgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIDAuMTguNCBwcmUtcmVsZWFzZQoKMjAxMC0wMy0wMiAxODoyOTo0MSArMDEwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYWRlbXV4OiBNYWtlIHN1cmUgd2UgZG9uJ3Qgc2VuZCBpbnZhbGlkIG5ld3NlZ21lbnRzCgkgIEZpeGVzICM2MTE1MDEKCjIwMTAtMDMtMDIgMTQ6MDk6MTQgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWlkcy5oOgoJICBtYXRyb3NrYWRlbXV4OiBNYXJrIHN0cmVhbXMgYXMgYmVpbmcgRU9TIGF0IHRoZSByaWdodCB0aW1lLgoJICBUaGlzIGFsbG93cyB1cyB0byBzdG9wIHN0cmVhbWluZyBvbmx5IHdoZW4gYWxsIHN0cmVhbXMgaGF2ZSBnb25lIHBhc3QgdGhlCgkgIHNlZ21lbnQuc3RvcCBhbmQgbm90IGJlZm9yZS4KCSAgRml4ZXMgIzYxMTUwMQoKMjAxMC0wMi0yNiAxODoxMDozMiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2FkZW11eDogQWR2YW5jZSBzcGFyc2Ugc3RyZWFtcyBvbmx5IGFzIG11Y2ggYXMgcmVxdWlyZWQgdG8ga2VlcCB0aGUgZ2FwIHNtYWxsZXIgdGhhbiA1MDBtcwoJICBDaGFuZ2luZyBpdCB0byB0aGUgbmV3ZXN0IHRpbWVzdGFtcCB0aGF0IHdhcyBldmVyIHB1c2hlZCB3aWxsCgkgIGluY3JlYXNlIHRoZSBzZWdtZW50IHN0YXJ0IGluIDUwMG1zIGp1bXBzLCB3aGljaCBjb3VsZCBiZSBqdXN0CgkgIGFmdGVyIHRoZSBuZXh0IHNwYXJzZSBzdHJlYW0gYnVmZmVyLiBFLmcuCgkgIFZpZGVvIGF0IDEuMHMsIHNwYXJzZSBzdHJlYW0gYXQgMC41cyB3b3VsZCBqdW1wIHRoZQoJICBzcGFyc2Ugc3RyZWFtIHRvIDEuMHMuIE5vdyBhIG5ldyBzcGFyc2Ugc3RyZWFtIGJ1ZmZlciBjb3VsZAoJICBhcHBlYXIgdGhhdCBoYXMgYSB0aW1lc3RhbXAgb2YgMC45cyBhbmQgdGhpcyB3b3VsZCBiZQoJICBkcm9wcGVkIGZvciBubyBnb29kIHJlYXNvbiBiZWNhdXNlIG9mIGJhZCBsdWNrLgoKMjAxMC0wMi0yNCAwMTozNjowNyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIHBvL2VzLnBvOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIDAuMTAuMTguMyBwcmUtcmVsZWFzZQoKMjAxMC0wMi0yNCAwMjowNTo0OSArMDEwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZGVjaW5hQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIuYzoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlci5oOgoJICBNYWtlIHN1cmUgRkxVU0hfU1RPUCBpcyBzZW50IHNvIG5vdCB0byBsZWF2ZSBkb3duc3RyZWFtIGZsdXNoaW5nLgoKMjAxMC0wMi0yMyAxNzoyNTo1NCArMDEwMCAgVm9sa2VyIEdyYWJzY2ggPGJ1Z3ppbGxhLmdub21lLm9yZ0B2Lm5vdGp1c3Rob3N0aW5nLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiBVc2UgJFBLR19DT05GSUcgaW5zdGVhZCBvZiBwa2ctY29uZmlnIHRvIGZpeCBjcm9zcyBjb21waWxhdGlvbgoJICBGaXhlcyBidWcgIzYxMDgzOS4KCjIwMTAtMDItMjMgMTc6MjQ6MDMgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIHJ0cGppdHRlcmJ1ZmZlcjogUmVzZXQgc2tldyBkZXRlY3Rpb24gYWZ0ZXIgaW5zdGFudGlhdGluZyB0aGUgaml0dGVyYnVmZmVyCgkgIC4uLm5vdCBvbmx5IHdoZW4gZ29pbmcgdG8gUkVBRFkuIFRoaXMgc2V0cyBoaWdoX2xldmVsIGFuZCBmcmllbmRzIHRvCgkgIGEgbW9yZSB1c2VmdWwgdmFsdWUuCgoyMDEwLTAyLTIzIDE3OjE5OjE0ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cGppdHRlcmJ1ZmZlci5jOgoJICBydHBqaXR0ZXJidWZmZXI6IFJldHVybiAxMDAgaWYgaGlnaC1sZXZlbCBpcyAwIGluc3RlYWQgb2YgZGl2aWRpbmcgYnkgemVybwoKMjAxMC0wMi0yMiAxMjoyNDoxNCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwbXA0Z2RlcGF5LmM6CgkgIHJ0cG1wNGdkZXBheTogYXZvaWQgZGl2aXNpb24gYnkgMAoJICBBdm9pZCBhIGRpdmlzaW9uIGJ5IDAgd2hlbiBubyBjb25zdGFudER1cmF0aW9uIHdhcyBzcGVjaWZpZWQgYW5kIHdoZW4gb3V0IHR3bwoJICB0aW1lc3RhbXBzIGFyZSBlcXVhbC4KCSAgRml4ZXMgIzYxMDI2NQoKMjAxMC0wMi0yMiAxODoyMDo0NiArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwZHZkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGR2ZGVwYXkuaDoKCSAgZHZkZXBheTogZG9uJ3Qgb3V0cHV0IGZyYW1lcyB1bnRpbCB3ZSBoYXZlIGEgaGVhZGVyCgkgIFdhaXQgZm9yIHRoZSBjb21wbGV0ZSBmaXJzdCA2IGhlYWRlciBESUYgcGFja2V0cyBiZWZvcmUgb3V0cHV0dGluZyBhIGZyYW1lLgoJICBEZWNvZGVycyBuZWVkIHRoaXMgaW5mbyB0byBjb3JyZWN0bHkgZGVjb2RlIHRoZSBkYXRhLgoJICBGaXhlcyAjNjEwNTU2CgoyMDEwLTAyLTIyIDIwOjU1OjI5ICswMTAwICBEYXZpZCBIb3l0IDxkaG95dEBsbG5sLmdvdj4KCgkqIGV4dC9qcGVnL2dzdGpwZWdkZWMuYzoKCSAganBlZ2RlYzogRml4IGludmFsaWQgbWVtb3J5IGFjY2VzcyBieSBmaXJzdCBjaGVja2luZyBhbmQgdGhlbiByZWFkaW5nCgkgIEZpeGVzIGJ1ZyAjNjEwNDgzLgoKMjAxMC0wMi0xOCAwOTowNTo1MCArMDEwMCAgUGhpbGlwcGUgTm9ybWFuZCA8cGhpbEBiYXNlLWFydC5uZXQ+CgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkgIHB1bHNlc2luazogZ3N0X3B1bHNlc2lua19nZXRfbXV0ZTogc2V0IHJlc3VsdCBlYXJsaWVyLgoJICBJbiB0aGUgY2FzZXMgd2hlcmUgbm8gYnVmZmVyIHdhcyBwcm9jZXNzIHlldCBvciB0aGUgaW5kZXggaXMgbm90CgkgIGF2YWlsYWJsZSwgZ2V0X3B1bHNlc2lua19nZXRfbXV0ZSgpIHdvdWxkIHVuY29uZGl0aW9uYWxseSByZXR1cm4KCSAgRkFMU0UuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MTAzMzcKCjIwMTAtMDItMTkgMTI6MzU6MjkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogcGtnY29uZmlnL2dzdHJlYW1lci1wbHVnaW5zLWdvb2QtdW5pbnN0YWxsZWQucGMuaW46CgkgIHBrZ2NvbmZpZzogZml4IGdzdHJlYW1lci1wbHVnaW5zLWdvb2QgdW5pbnN0YWxsZWQgLnBjIGZpbGUKCSAgRml4IGdzdC1wbHVnaW5zLWJhc2UgcmVmZXJlbmNlL3JlcXVpcmVtZW50LiBUaGlzIGNhdXNlZCBzcHVyaW91cwoJICBwcm9ibGVtcyB3aXRoIHVuaW5zdGFsbGVkIC11Z2x5Ly1iYWQgbm90IGZpbmRpbmcgLWdvb2QgcGx1Z2lucyBpbgoJICB0aGVpciB1bml0IHRlc3RzICh3aGVuIGRpc3RjaGVja2luZykuCgoyMDEwLTAyLTE5IDAxOjAzOjMxICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogcG8vbHYucG86CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgMC4xMC4xOC4yIHByZS1yZWxlYXNlCgoyMDEwLTAyLTE5IDAwOjU0OjEzICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzLy5naXRpZ25vcmU6CgkqIHRlc3RzL2V4YW1wbGVzL3NoYXBld2lwZS8uZ2l0aWdub3JlOgoJICBNYWtlIGdpdCBpZ25vcmUgc2hhcGV3aXBlIGV4YW1wbGVzIGFuZCB0ZXN0cwoKMjAxMC0wMi0xOSAwMDo0Njo0MCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZmx2L2dzdGZsdnBhcnNlLmM6CgkgIGZsdmRlbXV4OiBtaW5vciBtaWNyby1vcHRpbWlzYXRpb24KCSAgV2Uga25vdyB0aGVzZSB2YWx1ZXMgZG9uJ3QgY2hhbmdlIGR1cmluZyB0aGUgbG9vcCwgYnV0IHRoZSBjb21waWxlcgoJICBkb2Vzbid0IGFuZCBoYXMgdG8gcmUtY2hlY2sgdGhlbSBmb3IgZXZlcnkgaXRlcmF0aW9uLgoKMjAxMC0wMi0xOSAwMDozOTo1MCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZmx2L2dzdGZsdnBhcnNlLmM6CgkgIGZsdmRlbXV4OiByZW1vdmUgc3RhdGljIGtleXdvcmQgZnJvbSB2YXJpYWJsZXMgdGhhdCBzaG91bGRuJ3QgYmUgc3RhdGljCgkgIE11bHRpcGxlIGZsdnBhcnNlL2ZsdmRlbXV4IGluc3RhbmNlcyBzaG91bGQgYmUgYWJsZSB0byBvcGVyYXRlIHdpdGhvdXQKCSAgdHJhbXBsaW5nIG92ZXIgZWFjaCBvdGhlciBieSBhY2NpZGVudGFsbHkgcmUtdXNpbmcgdGhlIHNhbWUgKHN0YXRpYykKCSAgdmFyaWFibGVzLiAoU3BvdHRlZCBieSBNYXJrIE5hdXdlbGFlcnRzKQoKMjAxMC0wMi0xNiAwMjowNzowNyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgZG9jczogYWRkIFNpbmNlOiBtYXJrZXJzIGZvciBuZXcgaml0dGVyYnVmZmVyIHByb3BlcnRpZXMKCjIwMTAtMDItMTggMTg6MjA6MjQgKzAxMDAgIFJvYmVydCBTd2FpbiA8cm9iZXJ0LnN3YWluQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogRml4IG9mZi1ieS1vbmUgbG9naWMgZXJyb3IgaW4gZnJhbWUgcmF0ZSBjYXAgcmVncmVzc2lvbiBjb21taXQKCjIwMTAtMDItMTcgMTY6Mjc6MzMgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBVc2UgdGhlIGNvcnJlY3QgZHVyYXRpb24gd2hlbiBjb21wYXJpbmcgc2VnbWVudHMKCSAgRG8gbm90IGNvbmZ1c2UgUXREZW11eFNlZ21lbnRzIHdpdGggR3N0U2VnbWVudHMgd2hlbgoJICBjb21wYXJpbmcgdGhlIHRvdGFsIGZpbGUgZHVyYXRpb24gd2l0aCB0aGUgc2VnbWVudCBkdXJhdGlvbgoJICBGaXhlcyAjNjEwMjk2CgoyMDEwLTAyLTE3IDE4OjA2OjI5ICswMTAwICBSb2JlcnQgU3dhaW4gPHJvYmVydC5zd2FpbkBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IGFkZCBkdXJhdGlvbnMgbW9kdWxvIDE8PDMyCgkgIEZvciBjYWxjdWxhdGluZyB0aGUgZHVyYXRpb25zIG9mIGVhY2ggc2FtcGxlLCB3ZSBhcmUgc3VwcG9zZWQgdG8gYWRkIGVhY2gKCSAgZHVyYXRpb24gbW9kdWxvIDE8PDMyIHNvIG1ha2UgdGhlIGVsYXBzZWQgdGltZSBjb3VudGVyIGEgdWludDMyLgoJICBGaXhlcyAjNjEwMjgwCgoyMDEwLTAyLTE2IDIxOjA1OjI0ICswMTAwICBBbmRlcnMgU2thcmdyZW4gPGFuZGVycy5za2FyZ3JlbiBhdCBheGlzLmNvbT4KCgkqIGdzdC9tdWx0aXBhcnQvbXVsdGlwYXJ0ZGVtdXguYzoKCSAgbXVsdGlwYXJ0ZGVtdXg6IGltcHJvdmUgaGVhZGVyIG1pbWUtdHlwZSBwYXJzaW5nCgkgIE1ha2UgdGhlIGhhbmRpbmcgb2YgdGhlIG1pbWUgdHlwZSB3aXRoaW4gdGhlICJib3VuZGFyeSIgYSBiaXQgbGVzcyBuYWl2ZS4KCSAgVGhlIHN0YW5kYXJkIGZvciBNSU1FIGFsbG93cyBwYXJhbWV0ZXJzIHRvIGZvbGxvdyB0aGUgInR5cGUiIC8gInN1YnR5cGUiCgkgIGNsYXVzZSBzZXBhcmF0ZWQgZnJvbSB0aGUgbWltZSB0eXBlIGJ5ICc7Jy4KCSAgTW9kaWZpZXMgdGhlIG11bHRpcGFydGRlbXV4ZXIncyBoZWFkZXIgcGFyc2luZyBzbyBpdCBkb2VzbnQgYXNzdW1lCgkgIHRoZSB3aG9sZSBsaW5lIGFmdGVyICJjb250ZW50LXR5cGU6IiBpcyB0aGUgbWltZSB0eXBlIGFuZCB0aHVzIG1ha2VzIGl0IGEgYml0CgkgIG1vcmUgcmVzaWxpZW50IHRvIGZpbmRpbmcgYWJzdXJkIG1pbWUgdHlwZXMgaW4gdGhlIGNhc2Ugd2hlcmUgcGFyYW1ldGVycyBhcmUKCSAgYWRkZWQuCgkgIEZpeGVzICM2MDQ3MTEKCjIwMTAtMDItMTYgMTk6NTM6MDkgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IGF2b2lkIHN0b3BwaW5nIE5VTEwgdGFza3MKCSAgQ2hlY2sgdGhlIHRhc2sgZm9yIE5VTEwsIGl0IGNvdWxkIGJlIHBhdXNlZCBhbmQgc2V0IHRvIE5VTEwgYmVmb3JlLgoKMjAxMC0wMi0xNiAxNjoyMjoyOCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IGZpeCBBTEFDIGNvZGVjLWRhdGEgaGFuZGxpbmcKCSAgQUxBQyBjb2RlYy1kYXRhIGFwcGFyZW50bHkgY29tZXMgaW4gKGF0IGxlYXN0KSB0d28gZmxhdm91cnMgKG1vdiwgbXA0KSwKCSAgc28gdXNlIGF0b20gYmFzZWQgcGFyc2luZyB0byByZXRyaWV2ZSByZXF1aXJlZCBkYXRhLCByYXRoZXIgdGhhbgoJICBhaW1pbmcgZm9yIGEgc3BlY2lmaWMgb2Zmc2V0LgoJICBTZWUgYWxzbyAjNTgwNzMxLgoKMjAxMC0wMi0xNiAxNTo1MDoyMyArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IGZpeCBkZWJ1ZyBtZXNzYWdlCgoyMDEwLTAyLTExIDE5OjM5OjA0ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eF90eXBlcy5oOgoJICBxdGRlbXV4OiBoYW5kbGUgc2lnbmVkIHZhbHVlcyBpbiAzR1BQIGxvY2F0aW9uIHRhZwoKMjAxMC0wMi0wOCAyMTozNTo1MyArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IGZpeCB0eXBvIGluIGRlYnVnIG1lc3NhZ2UKCjIwMTAtMDItMTYgMTU6MDA6MTMgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICBhdmlkZW11eDogcmVzZXQgc29tZSBtb3JlIHN0cmVhbSBzdGF0ZSBhZnRlciBzZWVrCgkgIEluIHBhcnRpY3VsYXIsIGZpeGVzIG5vbi1mbHVzaGluZyBzZWVrLgoKMjAxMC0wMi0xNiAxNDo0NDoxMSArMDEwMCAgUm9iZXJ0IFN3YWluIDxyb2JlcnQuc3dhaW5AY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBGaXggZnJhbWUgcmF0ZSBjYXAgcmVncmVzc2lvbgoJICBMb29rIGZvciBhIG5vbi16ZXJvIG1pbl9kdXJhdGlvbiBkdXJpbmcgaW5pdGlhbGlzYXRpb24gdG8gYXZvaWQKCSAgaW5jb3JyZWN0IGZyYW1lIHJhdGUgY2Fwcy4KCjIwMTAtMDItMTYgMTA6MTM6MTcgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkgIHY0bDI6IGxvZyBtb3JlIGRldGFpbHMgaW4gYnVmZmVyIHBvb2wgZmluYWxpemUKCSAgSGVscHMgdG8gYWxpZ24gd2l0aCB0aGUgbG9nZ2luIGZyb20gbGlidjRsLgoKMjAxMC0wMi0xNiAxMDoxMTo0MCArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICB2NGwyOiBpbml0IGRhdGFzdHJ1Y3R1cmVzIGFmdGVyIHByZS1jb25kaXRpb25zIGNoZWNrcwoKMjAxMC0wMi0xNiAxMDoxMDo0NSArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L2pwZWcvZ3N0anBlZ2VuYy5jOgoJICBqcGVnZW5jOiBhZGQgYSBmaXhtZSBmb3IgaGFuZGxpbmcgb3RoZXIgWVVWIHZhcmlhbnRzCgoyMDEwLTAyLTE2IDAxOjQwOjE5ICswMDAwICBCcmlhbiBDYW1lcm9uIDxicmlhbi5jYW1lcm9uQHN1bi5jb20+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2E6IGZpeCBHU1RfRUxFTUVOVF9FUlJPUiB1c2FnZQoJICBGaXhlcyAjNjEwMDUzLgoKMjAxMC0wMi0xNiAwMDo1MDoxNSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogZml4IHVwIEdTVF9DWFhGTEFHUyBwcm9wZXJseQoJICBXZSBkb24ndCB3YW50IEMgc3BlY2lmaWMgZmxhZ3MgaW4gR1NUX0NYWEZMQUdTLCBzbyBiYXNlIGl0IG9uIHRoZQoJICBHU1RfQ0ZMQUdTIHRoYXQgb25seSBjb250YWlucyB0aGUgcGtnLWNvbmZpZyBDRkxBR1MgYnV0IG5vbmUgb2YKCSAgdGhlIEdTVF9PUFRJT05fQ0ZMQUdTLiBBbHNvLCB3ZSBvbmx5IG5lZWQgdGhlIGxvY2FsIGluY2x1ZGVzIG9uY2UuCgkgIEZpeCB0eXBvIGFzIHdlbGwgKEdTVF9GTEFHUyAtPiBHU1RfQ0ZMQUdTKS4KCjIwMTAtMDItMTUgMjM6MTM6NDYgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiBiYXNlIEdTVF9DWFhGTEFHUyBvbiAtLWNmbGFncyBmcm9tIHBrZy1jb25maWcKCSAgcGtnLWNvbmZpZyBzZXRzIEdTVF9DRkxBR1MgYW5kIEdTVF9MSUJTLiBXZSBuZWVkIHRvIHVzZSBDRkxBR1MgYXMgYSBzdGFydGluZwoJICBwb2ludCBmb3IgZm9yIGJvdGggQyBhbmQgQ1hYIHNldHRpbmdzLgoKMjAxMC0wMS0yMCAxODo1Mjo1MSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6CgkgIHJ0cGJpbjogcmVtb3ZlIHVzZSBvZiBudHBfbnNfYmFzZQoKMjAxMC0wMS0yMCAxODoyMjoyMCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmg6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHN0YXRzLmg6CgkgIHJ0cGJpbjogcmVtb3ZlIG1vcmUgbnRwbnN0aW1lIGFuZCBjbGVhbnVwcwoJICBSZW1vdmUgc29tZSBjb2RlIHdoZXJlIHdlIHBhc3MgbnRwbnN0aW1lIGFyb3VuZCwgd2UgY2FuIGRvIG1vc3QgdGhpbmdzIHdpdGggdGhlCgkgIHJ1bm5pbmdfdGltZSBqdXN0IGZpbmUuCgkgIFJlbmFtZSBhIHZhcmlhYmxlIGluIHRoZSBBcnJpdmFsU3RhdHMgc3RydWN0IHNvIHRoYXQgaXQncyBjbGVhciB0aGF0IHRoaXMgaXMgdGhlCgkgIGN1cnJlbnQgc3lzdGVtIHRpbWUuCgoyMDEwLTAxLTIwIDE4OjE5OjM0ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmM6CgkgIHJ0cHNvdXJjZTogdXNlIHJ1bm5pbmdfdGltZSBmb3Igaml0dGVyCgkgIFVzZSB0aGUgcnVubmluZ190aW1lIHRvIGNhbGN1bGF0ZSB0aGUgaml0dGVyIGluc3RlYWQgb2YgdGhlIG50cCB0aW1lLiBQYXJ0IG9mCgkgIHRoZSBwbGFuIHRvIGdldCByaWQgb2YgbnRwbnNiYXNlLgoKMjAxMC0wMS0yMCAxNzowNDowMyArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmg6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuaDoKCSAgcnRwYmluOiBjaGFuZ2UgaG93IE5UUCB0aW1lIGlzIGNhbGN1bGF0ZWQgaW4gUlRDUAoJICBEb24ndCBjYWxjdWxhdGUgdGhlIE5UUCB0aW1lIGJhc2VkIG9uIHRoZSBydW5uaW5nX3RpbWUgb2YgdGhlIHBpcGVsaW5lIGJ1dCBmcm9tCgkgIHRoZSBzeXN0ZW1jbG9jay4gVGhpcyBhbGxvd3MgdXMgdG8gZ2VuZXJhdGUgbW9yZSBhY2N1cmF0ZSBOVFAgdGltZXN0YW1wcyBpbiBjYXNlCgkgIHRoZSBzeXN0ZW1jbG9jayBpcyBzeW5jaHJvbml6ZWQgd2l0aCBOVFAgb3Igc2ltaWxhci4KCjIwMTAtMDItMTUgMTI6MTI6MzYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvdjRsMl9jYWxscy5jOgoJICB2NGwyOiBwcmludGYgZm9ybWF0IHN0cmluZyBmaXgKCSAgVGhlIGNvbXBpbGVyIHdhbnRzIGEgY2FzdCBoZXJlIGV2ZW4gdGhvdWdoIHRoZSB0eXBlIGlzIGFscmVhZHkKCSAgdHlwZWRlZmVkIGFzIDY0LWJpdCBpbnRlZ2VyIChwcmVzdW1hYmx5IGJlY2F1c2UgZ2xpYiBoYXMgdHlwZWRlZmVkCgkgIGd1aW50NjQgdG8gdW5zaWduZWQgbG9uZyBoZXJlKS4KCjIwMTAtMDItMTUgMTA6MzM6MDIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thOiBmaXggcHJpbnRmIGZvcm1hdCBzdHJpbmcKCjIwMTAtMDItMTUgMDA6NTA6MTAgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3JhdzEzOTQvZ3N0MTM5NGNsb2NrLmg6CgkqIGdzdC9tYXRyb3NrYS9lYm1sLXdyaXRlLmg6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5oOgoJICByYXcxMzk0LCBtYXRyb3NrYSwgcnRwbWFuYWdlcjogcmVtb3ZlIHBhZGRpbmcgZnJvbSBzdHJ1Y3R1cmVzCgkgIE5vbmUgb2YgdGhlc2UgZWxlbWVudCBhbmQgY2xhc3Mgc3RydWN0dXJlcyBhcmUgaW4gcHVibGljIGhlYWRlcnMsCgkgIHNvIGRvbid0IG5lZWQgcGFkZGluZy4KCjIwMTAtMDItMTUgMDA6NDc6MTEgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogcG8vYWYucG86CgkqIHBvL2F6LnBvOgoJKiBwby9iZy5wbzoKCSogcG8vY2EucG86CgkqIHBvL2NzLnBvOgoJKiBwby9kYS5wbzoKCSogcG8vZGUucG86CgkqIHBvL2VsLnBvOgoJKiBwby9lbl9HQi5wbzoKCSogcG8vZXMucG86CgkqIHBvL2V1LnBvOgoJKiBwby9maS5wbzoKCSogcG8vZnIucG86CgkqIHBvL2h1LnBvOgoJKiBwby9pZC5wbzoKCSogcG8vaXQucG86CgkqIHBvL2phLnBvOgoJKiBwby9sdC5wbzoKCSogcG8vbHYucG86CgkqIHBvL210LnBvOgoJKiBwby9uYi5wbzoKCSogcG8vbmwucG86CgkqIHBvL29yLnBvOgoJKiBwby9wbC5wbzoKCSogcG8vcHRfQlIucG86CgkqIHBvL3J1LnBvOgoJKiBwby9zay5wbzoKCSogcG8vc3EucG86CgkqIHBvL3NyLnBvOgoJKiBwby9zdi5wbzoKCSogcG8vdHIucG86CgkqIHBvL3VrLnBvOgoJKiBwby92aS5wbzoKCSogcG8vemhfQ04ucG86CgkqIHBvL3poX0hLLnBvOgoJKiBwby96aF9UVy5wbzoKCSAgcG86IHVwZGF0ZSBmb3IgbmV3IHRyYW5zbGF0b3IgY29tbWVudAoKMjAxMC0wMi0xNSAwMDo0NTo1MSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkgIHB1bHNlc2luazogYWRkIGNvbW1lbnQgZm9yIHRyYW5zbGF0b3JzIGZvciAneCBieSB5JyBtZXNzYWdlCgkgIEZpeGVzICM2MDk3MjQuCgoyMDEwLTAyLTE1IDAxOjI4OjQ0ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9jYWlyby9nc3RjYWlyb3JlbmRlci5jOgoJICBjYWlyb3JlbmRlcjogRml4IGxlYWtpbmcgb2YgcGFkIHRlbXBsYXRlcwoKMjAxMC0wMi0xNSAwMDo1MDoyNyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9zaGFwZXdpcGUuYzoKCSAgc2hhcGV3aXBlOiBGaXggdW5pdCB0ZXN0IGZvciBsYXRlc3QgY2hhbmdlcwoJICBOb3cgdGhlIGFscGhhIGlzIG11bHRpcGxpZWQgd2l0aCB0aGUgYWxyZWFkeSBleGlzdGluZyBhbHBoYQoJICB2YWx1ZSBpbnN0ZWFkIG9mIHNpbXBseSBpZ25vcmluZyBpdCBhbmQgdGhlIGx1bWEvY2hyb21hIHZhbHVlcwoJICBhcmUga2VwdCwgZXZlbiBpZiB0aGUgb3V0cHV0IGlzIDEwMCUgdHJhbnNwYXJlbnQuCgoyMDEwLTAyLTE1IDAwOjQ3OjA4ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3NoYXBld2lwZS5jOgoJICBzaGFwZXdpcGU6IEltcHJvdmUgdW5pdCB0ZXN0IG91dHB1dCBvbiBlcnJvcnMKCjIwMTAtMDItMTQgMjM6MTc6MjAgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSA5NmRjNzkzIHRvIDQ0ZWNjZTcKCjIwMTAtMDItMTMgMjM6Mjg6MDYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IGJ1bXAgLWJhc2UgcmVxdWlyZW1lbnQgdG8gZ2l0CgkgIEZvciBHU1RfUklGRl9UQUdfSlVOUS4KCjIwMTAtMDItMTIgMTY6MTE6MzAgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMi5jOgoJICB2NGwyc2luazogY2hhbmdlIHJhbmsgdG8gTk9ORSBzbyBpdCBpcyBuZXZlciBhdXRvcGx1Z2dlZAoKMjAxMC0wMi0xMyAxODoxODo0MiArMDEwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9mbHYvZ3N0Zmx2cGFyc2UuYzoKCSAgZmx2ZGVtdXg6IEF1ZGlvIHRhZ3Mgd2l0aG91dCBhbnkgY29udGVudCBhcmUgdmFsaWQuCgkgIFdlIHNpbGVudGx5IGlnbm9yZSB0aGVtIGluc3RlYWQgb2YgZXJyb3Jpbmcgb3V0LgoKMjAxMC0wMi0xMyAxODowNzo1MCArMDEwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9mbHYvZ3N0Zmx2cGFyc2UuYzoKCSAgZmx2ZGVtdXg6IEZpeCBHU1RfQ0xPQ0tfRElGRiB1c2FnZS4KCSAgSXQgd2FzIHByZXZpb3VzbHkgY2hlY2tpbmcgZm9yIERJRkYoYSwgYiA+IDYgKiBHU1RfU0VDT05EKSBpbnN0ZWFkIG9mCgkgIHRoZSBwcm9wZXIgRElGRihhLGIpID4gNiAqIEdTVF9TRUNPTkQKCjIwMTAtMDItMTMgMTY6Mjc6MDcgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6CgkgIGZsdmRlbXV4OiBEb24ndCBmb3JnZXQgdG8gcmVzZXQgdGhlIGluZGV4ZWQgdmFyaWFibGUgd2hlbiBjbGVhbmluZyB1cAoKMjAxMC0wMi0xMyAxMTowMTo1MyArMDEwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9mbHYvZ3N0Zmx2cGFyc2UuYzoKCSAgZmx2ZGVtdXg6IFNwZWVkdXAgR3N0SW5kZXggdXNhZ2UKCSAgVXNlZCB0aGUgX2FkZF9hc3NvY2lhdGlvbnYgdmFyaWFudCBvZiBHc3RJbmRleCBzaW5jZSB3ZSBrbm93IGhvdyBtYW55CgkgIGFzc29jaWF0aW9ucyB3ZSdyZSBhZGRpbmcuIFRyaW1zIHVwIHRvIDUwJSBmcm9tIGluZGV4IGdlbmVyYXRpb24gdGltZS4KCSAgTm90ZSA6IEl0IHdvdWxkIGJlIGdyZWF0IGlmIHRoZSBpbmRleCBjb3VsZCBiZSBnZW5lcmF0ZWQgb24gdGhlIGZseSBvcgoJICBvbiByZXF1ZXN0IGFzIG9wcG9zZWQgdG8gYmVpbmcgZnVsbHkgY3JlYXRlZCBhdCBzdGFydHVwLgoKMjAxMC0wMi0xMiAxOTozMjoyNyArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cGppdHRlcmJ1ZmZlci5jOgoJICBqaXR0ZXJidWZmZXI6IGRvbid0IHJlc3luYyB0byBpbnZhbGlkIHRpbWVzdGFtcHMKCSAgSWYgd2UgZGV0ZWN0IGJhY2t3YXJkIHRpbWVzdGFtcHMgb24gdGhlIHNlcnZlciwgZG9uJ3QgdHJ5IHRvIHJlc3luYyB3aGVuIHdlCgkgIGRvbid0IGhhdmUgYW4gaW5wdXQgdGltZXN0YW1wIChzdWNoIGFzIHdoZW4gdXNpbmcgUlRTUCBvdmVyIFRDUCkgaW5zdGVhZCwgZG8KCSAgbm90aGluZyBidXQgYXNzdW1lIHRoZSB0aW1lc3RhbXAgd2FzIG9rLCBpdCB3aWxsIGNvcnJlY3QgaXRzZWxmIHdoZW4gdGltZSBnb2VzCgkgIGZvcndhcmRzLgoKMjAxMC0wMi0xMiAxNzoyMTo0MyArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOgoJICBydHBiaW46IGZpeCB0eXBvCgoyMDEwLTAyLTEyIDE2OjQ3OjI5ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIGppdHRlcmJ1ZmZlcjogc3RhcnQgb3V0IGFjdGl2ZSBhbmQgbm90IGJ1ZmZlcmluZwoJICBUaGVyZSBpcyBubyBuZWVkIHRvIHNldCB0aGUgbGF0ZW5jeSBpbiB0aGUgaml0dGVidWZmZXIgaW4gX2luaXQsIHdlIHdpbGwgc2V0CgkgIHRoYXQgbGF0ZXIgd2hlbiBnb2luZyB0byBQQVVTRUQuCgkgIFNldCB0aGUgaml0dGVyYnVmZmVyIGFjdGl2ZSBhbmQgbm90IGJ1ZmZlcmluZyB3aGVuIHN0YXJ0aW5nLgoKMjAxMC0wMS0yNyAxNzo1Nzo1NSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwaml0dGVyYnVmZmVyLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cGppdHRlcmJ1ZmZlci5oOgoJICBydHBiaW46IG1vcmUgYnVmZmVyaW5nIHdvcmsKCSAgV2hlbiBkZWFjdGl2YXRpbmcgaml0dGVyYnVmZmVycyB3aGVuIHRoZSBidWZmZXJpbmcgc3RhcnRzLCBrZWVwIHRoZSBjdXJyZW50CgkgIHBlcmNlbnQgb2YgdGhlIGppdHRlcmJ1ZmZlciBhbmQgYWxzbyBzZXQgdGhlIGppdHRlcmJ1ZmZlciBpbiB0aGUgYnVmZmVyaW5nIHN0YXRlCgkgIHNvIHRoYXQgd2Uga25vdyB3aGVuIGl0J3MgZmlsbGVkIGFnYWluLgoJICBBZGQgcHJvcGVydHkgdG8gZ2V0IHRoZSBidWZmZXJpbmcgcGVyY2VudGFnZSBvZiB0aGUgaml0dGVyYnVmZmVyLgoKMjAwOS0xMC0xNCAxNjoyOTozNSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBydHBqaXR0ZXJidWZmZXI6IGFkanVzdCBsYXRlbmN5IGluIGJ1ZmZlciBtb2RlCgkgIFdoZW4gd2UgYXJlIGluIGJ1ZmZlciBtb2RlLCBhZGp1c3QgdGhlIGJ1ZmZlcmluZyBsb3cvaGlnaCB0aHJlc2hvbGRzIGJhc2VkIG9uCgkgIHRoZSB0b3RhbCBjb25maWd1cmVkIGxhdGVuY3kuIElmIHdlIGRvbid0IGFuZCB0aGVyZSBpcyBhIGh1Z2UgcXVldWUgb3IgZWxlbWVudAoJICB3aXRoIGEgYmlnIGxhdGVuY3kgZG93bnN0cmVhbSB3ZSBtaWdodCBkcmFpbiB0aGUgY29tcGxldGUgcXVldWUgaW1tZWRpYXRlbHkgYW5kCgkgIHN0YXJ0IGJ1ZmZlcmluZyBhZ2Fpbi4KCjIwMDktMTAtMTIgMTE6NTQ6MDcgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgaml0dGVyYnVmZmVyOiBhZGQgdHMtb2Zmc2V0IHRvIHRpbWVzdGFtcAoJICBBZGQgdGhlIHRzLW9mZnNldCB0byB0aGUgYnVmZmVyIHRpbWVzdGFtcCB0byBnZXQgdGhlIGZpbmFsIG91dHB1dCB0aW1lc3RhbXAgb2YKCSAgdGhlIGJ1ZmZlci4KCjIwMDktMTAtMDggMTk6MjM6NTMgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4tbWFyc2hhbC5saXN0OgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5oOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBqaXR0ZXJidWZmZXIuYzoKCSAgcnRwYmluOiBkbyBtb3JlIGFjY3VyYXRlIGJ1ZmZlciBvZmZzZXRzCgkgIFJldHVybiB0aGUgbmV4dCB0aW1lc3RhbXAgaW4gdGhlIGppdHRlcmJ1ZmZlci4KCSAgVXNlIHRoZSBtaW4tdGltZXN0YW1wIG9mIHRoZSBqaXR0ZXJidWZmZXJzIHRvIGNhbGN1bGF0ZSBhbiBvZmZzZXQgc28gdGhhdCB0aGUKCSAgbmV4dCB0aW1lc3RhbXAgaXMgcHVzaGVkIHdpdGggYSB0aW1lc3RhbXAgZXF1YWwgdG8gcnVubmluZ190aW1lLgoJICBTdGFydCBwcm9kdWNpbmcgdGltZXN0YW1wcyBmcm9tIDAgaW4gdGhlIGJ1ZmZlcmluZyBjYXNlIHRvby4KCjIwMDktMTAtMDggMTg6NDI6MTEgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzoKCSAgcnRwYmluOiBvbmx5IHN0YXJ0IGJ1ZmZlcmluZyB3aGVuIDwgMTAwJQoJICBPbmx5IHN0YXJ0IGJ1ZmZlcmluZyB3aGVuIHRoZSBwZXJjZW50YWdlIG1lc3NhZ2UgaXMgPCAxMDAgJS4KCjIwMDktMTAtMDYgMTM6MzQ6MzQgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmg6CgkgIHJ0cGJpbjoga2VlcCB0cmFjayBvZiBlbGFwc2VkIHBhdXNlIHRpbWUKCSAgS2VlcCB0cmFjayBvZiB0aGUgdGltZSB3ZSBzcGVuZCBwYXVzaW5nIHRoZSBqaXR0ZXJidWZmZXJzIHdoZW4gdGhleSB3ZXJlCgkgIGJ1ZmZlcmluZyBhbmQgZGlzdHJpYnV0ZSB0aGlzIGVsYXBzZWQgdGltZSB0byB0aGUgaml0dGVyYnVmZmVycy4KCSAgQWxzbyBrZWVwIHRoZSBsYXRlbmN5IGluIG5hbm9zZWNvbmQgcHJlY2lzaW9uLgoKMjAwOS0xMC0wNiAxMzozMzoxNSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuaDoKCSAgaml0dGVyYnVmZmVyOiBrZWVwIHRyYWNrIG9mIG9mZnNldAoJICBLZWVwIHRyYWNrIG9mIGFuIG91dGdvaW5nIG9mZnNldCB0aGF0IHdlIGFkZCB0byBlYWNoIG91dGdvaW5nIGJ1ZmZlciB0bwoJICBjb21wZW5zYXRlIGZvciBQQVVTRSB3aGVuIGJ1ZmZlcmluZy4KCSAgQWRqdXN0IHRoZSBvZmZzZXQgd2hlbiBhY3RpdmF0aW5nLgoKMjAwOS0xMC0wNiAxMzozMDo1NCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cGppdHRlcmJ1ZmZlci5jOgoJICBqaXR0ZXJidWZmZXI6IHJlcG9ydCBsZXZlbCB1c2luZyBoaWdoIHdhdGVybWFyawoKMjAwOS0xMC0wNSAyMTozMTo1OSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uaDoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwaml0dGVyYnVmZmVyLmM6CgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRwYmluOiBwYXNzIHJ1bm5pbmdfdGltZSB0byBqaXR0ZXJidWZmZXIgcGF1c2UKCSAgUGFzcyB0aGUgY3VycmVudCBydW5uaW5nIHRpbWUgdG8gdGhlIGppdHRlcmJ1ZmZlciB3aGVuIHBhdXNpbmcgb3IgcmVzdW1pbmcgc28KCSAgdGhhdCBpdCBjYWxjdWxhdGUgdGhlIHJpZ2h0IG9mZnNldHMuCgkgIFNtYWxsIGNsZWFudXBzIGFuZCBjb21tZW50cy4KCSAgU2V0IHRoZSBkZWZhdWx0IHJ0c3BzcmMgbGF0ZW5jeSB0byAyIHNlY29uZHMuCgoyMDA5LTEwLTA1IDIwOjA5OjMwICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cGppdHRlcmJ1ZmZlci5jOgoJICBydHBiaW46IGFkZCBzb21lIGNvbW1lbnRzCgoyMDA5LTEwLTA1IDE5OjQ1OjM1ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLW1hcnNoYWwubGlzdDoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5oOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmg6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cGppdHRlcmJ1ZmZlci5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBqaXR0ZXJidWZmZXIuaDoKCSAgcnRwYmluOiBtb3JlIGJ1ZmZlcmluZyB1cGRhdGVzCgkgIEFkZCBzaWduYWwgdG8gcGF1c2UgdGhlIGppdHRlcmJ1ZmZlci4gVGhpcyB3aWxsIGJlIGVtaXR0ZWQgZnJvbSBnc3RydHBiaW4gd2hlbgoJICBvbmUgb2YgdGhlIGppdHRlcmJ1ZmZlcnMgaXMgYnVmZmVyaW5nLgoJICBNYWtlIHJ0cGJpbiBjb2xsZWN0IHRoZSBidWZmZXJpbmcgbWVzc2FnZXMgYW5kIHBvc3QgYSBuZXcgYnVmZmVyaW5nIG1lc3NhZ2Ugd2l0aAoJICB0aGUgbWluIHZhbHVlLgoJICBSZW1vdmUgdGhlIHN0YXRzIGNhbGxiYWNrIGZyb20gaml0dGVyYnVmZmVyIGJ1dCBwYXNzIGEgcGVyY2VudCBpbnRlZ2VyIHRvCgkgIGZ1bmN0aW9ucyB0aGF0IGFmZmVjdCB0aGUgYnVmZmVyaW5nIHN0YXRlIG9mIHRoZSBqaXR0ZXJidWZmZXIuIFRoaXMgYWxsb3dzIHVzCgkgIHRoZW4gdG8gcG9zdCBidWZmZXJpbmcgbWVzc2FnZXMgZnJvbSBvdXRzaWRlIG9mIHRoZSBqaXR0ZXJidWZmZXIgbG9jay4KCjIwMDktMTAtMDUgMTM6MzI6MTcgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmg6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBqaXR0ZXJidWZmZXIuYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwaml0dGVyYnVmZmVyLmg6CgkgIHJ0cGJpbjogcHJvcGFnYXRlIGJ1ZmZlci1tb2RlIHByb3BlcnR5CgkgIFByb3BhZ2F0ZSBidWZmZXItbW9kZSBwcm9wZXJ0eSB0byB0aGUgaml0dGVyYnVmZmVycy4KCSAgSW50ZXJjZXB0IEJVRkZFUklORyBtZXNzYWdlcyBpbiBydHBiaW4KCjIwMDktMTAtMDEgMTc6MTQ6MDkgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwaml0dGVyYnVmZmVyLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cGppdHRlcmJ1ZmZlci5oOgoJICBqaXR0ZXJidWZmZXI6IGRvIG1vcmUgYnVmZmVyaW5nIGltcGxlbWVudGF0aW9uCgkgIEFkZCBjYWxsYmFjayBmb3IgYnVmZmVyaW5nIHN0YXRzLgoJICBDb25maWd1cmUgdGhlIGxhdGVuY3kgaW4gdGhlIGppdHRlcmJ1ZmZlciBpbnN0ZWFkIG9mIHBhc3NpbmcgaXQgd2l0aCBfaW5zZXJ0LgoJICBDYWxjdWxhdGUgYnVmZmVyaW5nIGxldmVscyB3aGVuIHB1c2hpbmcgYW5kIHBvcHBpbmcKCSAgUG9zdCBidWZmZXJpbmcgbWVzc2FnZXMuCgoyMDA5LTEwLTAxIDEyOjQ2OjIxICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cGppdHRlcmJ1ZmZlci5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBqaXR0ZXJidWZmZXIuaDoKCSAgaml0dGVyYnVmZmVyOiBmbGVzaCBvdXQgYnVmZmVyaW5nIG1vZGUgc29tZSBtb3JlCgkgIEFkZCBhIGJ1ZmZlcmluZyBzdGF0ZSB0byB0aGUgaml0dGVyYnVmZmVyIGFuZCB3YWl0IHVudGlsIGJ1ZmZlcmluZyBlbmRzIGJlZm9yZQoJICBwdXNoaW5nIG91dCBwYWNrZXRzLgoKMjAwOS0xMC0wMSAxMjowOTo1OCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBqaXR0ZXJidWZmZXIuYzoKCSAgaml0dGVyYnVmZmVyOiBob29rIHVwIHRoZSBtb2RlIHByb3BlcnR5CgkgIEV4cG9zZSBhIG1vZGUgcHJvcGVydHkgb24gdGhlIGppdHRlcmJ1ZmZlci4KCSAgRml4IHRoZSBjYXNlIHdoZXJlIHRpbWVzdGFtcHMgYXJlIC0xIGluIHRoZSBjaGVjayBmb3Igb3V0Z29pbmcgdGltZXN0YW1wcy4KCjIwMDktMTAtMDEgMTE6MjA6MDggKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBqaXR0ZXJidWZmZXIuYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwaml0dGVyYnVmZmVyLmg6CgkgIGppdHRlcmJ1ZmZlcjogYWRkIGJ1ZmZlcmluZyBtb2RlIG9wdGlvbnMKCSAgQWRkIGdldHRlcnMgYW5kIHNldHRlcnMgZm9yIGRpZmZlcmVudCBidWZmZXJpbmcgbW9kZXMgdGhhdCB0aGUgaml0dGVyYnVmZmVyIHdpbGwKCSAgc3VwcG9ydC4gRGVmYXVsdCB0byB0aGUgY3VycmVudCBzbGF2ZSBtb2RlLgoKMjAxMC0wMi0xMiAxNTo1NDozNyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyLmM6CgkgIHY0bHNpbms6IGxvd2VyIHJhbmsgdG8gTUFSR0lOQUwKCjIwMTAtMDItMTIgMTY6MDY6NDUgKzAxMDAgIFJvYmVydCBTd2FpbiA8cm9iZXJ0LnN3YWluQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzoKCSogZ3N0L2Zsdi9nc3RmbHZkZW11eC5oOgoJKiBnc3QvZmx2L2dzdGZsdnBhcnNlLmM6CgkgIGZsdmRlbXV4OiBPYnRhaW4gdGhlIGluZGV4IGZyb20gdGhlIGVuZCBvZiBhbiBmbHYgZmlsZSBpbiBwdXNoIG1vZGUKCSAgQWxsb3dzIGZvciBiZXR0ZXIgc3VwcG9ydCBvZiBzZWVraW5nIGluIGZsdiBmaWxlcyB3aGVuIGluIHB1c2ggbW9kZQoKMjAxMC0wMS0yMSAxMTo1NToxNSArMDEwMCAgUm9iZXJ0IFN3YWluIDxyb2JlcnQuc3dhaW5AY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4Lmg6CgkgIGF2aWRlbXV4OiBEcm9wIHZpZGVvIGZyYW1lcyB1cCB0byB0aGUgZGVzaXJlZCBrZXlmcmFtZSBhZnRlciBhIHNlZWsKCSAgVGhlIGF1ZGlvIHBhY2tldHMgaW4gQVZJIGFyZSBnZW5lcmFsbHkgbXV4ZWQgfjAuNXMgYmVmb3JlIHRoZQoJICBjb3JyZXNwb25kaW5nIHZpZGVvIHBhY2tldC4gVGhpcyBjaGFuZ2VzIGNhdXNlcyBkb3duc3RyZWFtIHRvIG9ubHkKCSAgcmVjZWl2ZSBwYWNrZXRzIHdpdGggcm91Z2hseSBjb3JyZXNwb25kaW5nIHRpbWVzdGFtcHMuCgoyMDEwLTAxLTE5IDE4OjM1OjQ5ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICBhdmlkZW11eDogbW9yZSBESVNDT05UIGhhbmRsaW5nCgkgIEFkZCBzb21lIGRlYnVnIGluIHRoZSBESVNDT05UIGhhbmRsaW5nIGNvZGUuCgkgIFdoZW4gd2UgcmVjZWl2ZSBhIERJU0NPTlQgaW4gcHVzaCBtb2RlLCBtYXJrIGFsbCBzdHJlYW1zIGFzIERJU0NPTlQuCgoyMDEwLTAxLTE5IDEwOjUxOjA4ICswMTAwICBSb2JlcnQgU3dhaW4gPHJvYmVydC5zd2FpbkBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIGF2aWRlbXV4OiBGaXggX2hhbmRsZV9zZWVrX3B1c2ggKCkgYW5kIG5ldyBzZWdlbWVudCBiZWhhdmlvdXIKCjIwMTAtMDEtMTggMTc6MTM6MDYgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIGF2aWRlbXV4OiBjbGVhbnVwcwoJICBNYWtlIHN1cmUgd2UgcmVzZXQgdGhlIGRlbXV4ZXIgY29ycmVjdGx5IHdydCBwYXJzaW5nIHRoZSBpbmRleC4KCSAgRG9uJ3QgbGVhayBwZW5kaW5nIHNlZWsgZXZlbnRzLgoJICBSZW5hbWUgc29tZSBtZXRob2RzIHRvIHJlZmxlY3Qgd2hhdCB0aGV5IGRvIGFuZCB0byBhdm9pZCBjb25mdXNpb24gd2l0aCBzaW1pbGFyCgkgIG1ldGhvZCBuYW1lcy4KCSAgVHJ5IHRvIG1ha2UgdGhlIHNlZWtpbmcgdGhyZWFkc2FmZSBieSBwcm90ZWN0aW5nIHRoZSBzZXR1cCBjb2RlIHdpdGggYSBsb2NrLgoJICBNYWtlIHN1cmUgd2UgcG9zdCBlcnJvcnMgd2hlbiBhIHNlZWsgZmFpbHMuCgoyMDEwLTAxLTE4IDExOjQ1OjM4ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4Lmg6CgkgIGF2aWRlbXV4OiByZW5hbWUgc29tZSB2YXJpYWJsZXMKCSAgc2Vla19ldmVudCAtPiBzZWdfZXZlbnQKCSAgZXZlbnRfc2VlayAtPiBzZWVrX2V2ZW50CgoyMDEwLTAxLTE1IDE4OjAwOjQ2ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICBhdmlkZW11eDogdGFrZSBmYWxsYmFjayBkdXJhdGlvbiBmcm9tIGF2aWgKCSAgV2hlbiB3ZSBoYXZlIG5vdCBwYXJzZWQgYW55IGluZGV4ZXMgeWV0LCB3ZSBkb24ndCBrbm93IHRoZSBsZW5ndGggb2YgdGhlIHN0cmVhbXMKCSAgYW5kIHdlIG11c3QgdGFrZSB0aGUgbGVuZ3RoIGdpdmVuIGluIHRoZSBhdmloIGFzIGEgZmFsbGJhY2suCgkgIEF2b2lkIHNvbWUgdHlwZWNoZWNraW5nLgoKMjAwOS0xMi0wNCAxNToxMzoxMiArMDEwMCAgUm9iZXJ0IFN3YWluIDxyb2JlcnQuc3dhaW5AY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4Lmg6CgkgIGF2aWRlbXV4OiBQdXNoIG1vZGUgc2Vla2luZyBzdXBwb3J0CgoyMDEwLTAyLTAxIDE2OjA0OjQxICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBjbGVhbnVwIHByb3BlcnRpZXMKCSAgVXNlIG1vcmUgZGVmYXVsdCBjb25zdGFudHMuCgkgIFVzZSBzdGF0aWMgc3RyaW5ncyBwYXJhbSBmbGFnLgoJICBJbml0IHByb3BlcnRpZXMgZXhwbGljaXRseSBpbnN0ZWFkIG9mIGxldHRpbmcgZ29iamVjdCBkbyB0aGlzLgoKMjAxMC0wMi0xMiAxNTozNDozOCArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L3NwZWV4L2dzdHNwZWV4ZGVjLmM6CgkgIHNwZWV4OiBhZGQgbWlzc2luZyBpbmNsdWRlCgoyMDEwLTAyLTA1IDEzOjI4OjUzICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvZGVidWd1dGlscy9nc3R0YWdpbmplY3QuYzoKCSAgdGFnaW5qZWN0OiBmaXggbXVsdGktdmFsdWUgdGFnIGV4YW1wbGUKCSAgV2UgbmVlZCB0byB1c2Uge30gdG8gc3BlY2lmeSBhIGxpc3QuCgoyMDEwLTAyLTAxIDE0OjQzOjA0ICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOgoJICBhdmksd2F2OiBhbHNvIGhhbmRsZSBKVU5RIGNodW5rIGluIGFkZGl0aW9uIHRvIEpVTksKCjIwMTAtMDItMDQgMTU6NTk6MjUgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGFtcnBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGR2cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZzcyNnBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGoya3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGpwZWdwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDJ0cGF5LmM6CgkgIHJ0cHBheTogZG9uJ3QgaWdub3JlIHJlc3VsdCBmcm9tIHNldF9vdXRjYXBzCgkgIHNldF9vdXRjYXBzIGNhbiBmYWlsIGFuZCB3ZSBuZWVkIHRvIHByb3BhZ2F0ZSB0aGUgcmVzdWx0IHVwc3RyZWFtLgoKMjAxMC0wMi0wNCAxNTozNjoyNCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9mbHYvZ3N0Zmx2cGFyc2UuYzoKCSAgZmx2cGFyc2U6IGZpeCBjb25mdXNpbmcgZGVidWcgbWVzc2FnZXMKCjIwMTAtMDEtMjcgMTM6Mjg6MTMgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgaml0dGVyYnVmZmVyOiBhZGQgc29tZSBtb3JlIGRlYnVnIGluZm8KCjIwMTAtMDEtMjcgMTM6MjY6NDYgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkgIHB1bHNlc2luazogYXZvaWQgc2VnZmF1bHQgd2hlbiBzaHV0dGluZyBkb3duCgkgIHdoZW4gd2UgYXJlIHNodXR0aW5nIGRvd24sIHdlIG1pZ2h0IHN0aWxsIHJlY2VpdmUgc3RhdGUgdXBkYXRlcyBmcm9tIHB1bHNlYXVkaW8KCSAgYnV0IHNpbmNlIHdlIGFyZSB1bnBhcmVudGVkIHdlIHNob3VsZCBub3QgZG8gYW55dGhpbmcgd2l0aCB0aGUgTlVMTCBwYXJlbnQKCSAgYW55bW9yZS4KCjIwMTAtMDEtMjYgMTg6MzM6MjcgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyLmM6CgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIuaDoKCSAgdmlkZW9taXhlcjogZml4IHRpbWVzdGFtcCBwcm9ibGVtcwoJICBXaGVuIHRoZSBwYWQgd2l0aCB0aGUgaGlnaGVzdCBmcmFtZXJhdGUgZ29lcyBFT1MsIGluc3RlYWQgb2Ygbm90IHRpbWVzdGFtcGluZwoJICBvdXRwdXQgYnVmZmVycywgaW50ZXBvbGxhdGUgdGltZXN0YW1wcyBhbmQgZHVyYXRpb25zIGZyb20gdGhlIGxhc3Qgc2VlbiBvbmVzLgoJICBGaXhlcyAjNjA4MDI2CgoyMDEwLTAyLTEyIDExOjMyOjQwICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaW50ZXJmYWNlczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5wcmVyZXF1aXNpdGVzOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tMTM5NC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYWNvbG9yLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFubm9kZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXBldGFnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvZngueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvZGV0ZWN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF2aS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWNhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWlyby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jdXR0ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVpbnRlcmxhY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZlbmNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZmVjdHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXF1YWxpemVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVzZHNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmxhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx4ZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdhbW1hLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdjb25mZWxlbWVudHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2RrcGl4YnVmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbTJrMS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc3RydHBtYW5hZ2VyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWhhbGVsZW1lbnRzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWljeWRlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlkM2RlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVybGVhdmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanBlZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sZXZlbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tYXRyb3NrYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tb25vc2NvcGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlmaWxlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpcGFydC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uYXZpZ2F0aW9udGVzdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3NhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbmcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcHVsc2VhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1xdWlja3RpbWUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVwbGF5Z2Fpbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRzcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaG91dDJzZW5kLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNtcHRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlY3RydW0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdGFnbGliLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXVkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlbzRsaW51eDIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9iYWxhbmNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvYm94LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvY3JvcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2ZsaXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9taXhlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14aW1hZ2VzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teTRtZW5jLnhtbDoKCSAgZG9jczogVXBkYXRlIGRvY3VtZW50YXRpb24KCjIwMTAtMDItMTIgMTE6MTg6MjYgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNoYXBld2lwZS54bWw6CgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9leGFtcGxlcy9NYWtlZmlsZS5hbToKCSAgTW92ZWQgJ3NoYXBld2lwZScgZnJvbSAtYmFkIHRvIC1nb29kCgkgIEZpeGVzIGJ1ZyAjNTg0NTM2LgoKMjAxMC0wMi0xMCAxMDo1Mjo1MyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc2hhcGV3aXBlL2dzdHNoYXBld2lwZS5jOgoJICBbTU9WRUQgRlJPTSBCQUQgMjkvMjldIHNoYXBld2lwZTogUHJlc2VydmUgdGhlIGlucHV0IGNvbG9yIHZhbHVlcyBpbiBhbGwgY2FzZXMKCjIwMTAtMDItMTAgMTA6NTA6NDkgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3NoYXBld2lwZS9nc3RzaGFwZXdpcGUuYzoKCSAgW01PVkVEIEZST00gQkFEIDI4LzI5XSBzaGFwZXdpcGU6IFNjYWxlIG1hc2sgYWxwaGEgdmFsdWVzIGJ5IHRoZSBzb3VyY2UgYWxwaGEgdmFsdWVzCgoyMDEwLTAyLTEwIDEwOjQyOjMyICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zaGFwZXdpcGUvZ3N0c2hhcGV3aXBlLmM6CgkgIFtNT1ZFRCBGUk9NIEJBRCAyNy8yOV0gc2hhcGV3aXBlOiBGaXggQVJHQiBwcm9jZXNzaW5nCgoyMDEwLTAyLTEwIDEwOjM0OjI0ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2V4YW1wbGVzL3NoYXBld2lwZS9zaGFwZXdpcGUtZXhhbXBsZS5jOgoJICBbTU9WRUQgRlJPTSBCQUQgMjYvMjldIHNoYXBld2lwZTogUHJpbnQgc29tZSBtb3JlIGRldGFpbHMgb24gZXJyb3Ivd2FybmluZyBtZXNzYWdlcwoKMjAxMC0wMi0wOCAwODoyNjozMyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc2hhcGV3aXBlL2dzdHNoYXBld2lwZS5jOgoJICBbTU9WRUQgRlJPTSBCQUQgMjUvMjldIHNoYXBld2lwZTogSW1wcm92ZS9hZGQgZGVidWcgb3V0cHV0CgoyMDEwLTAyLTA4IDA4OjIwOjQ0ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zaGFwZXdpcGUvZ3N0c2hhcGV3aXBlLmM6CgkgIFtNT1ZFRCBGUk9NIEJBRCAyNC8yOV0gc2hhcGV3aXBlOiBBbHdheXMgaG9sZCB0aGUgbWFzayBtdXRleCBiZWZvcmUgc2lnbmFsbGluZyB0aGUgR0NvbmQKCjIwMTAtMDItMDggMDg6MTk6NDggKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3NoYXBld2lwZS9nc3RzaGFwZXdpcGUuYzoKCSAgW01PVkVEIEZST00gQkFEIDIzLzI5XSBzaGFwZXdpcGU6IE1vdmUgY2hhaW4gZnVuY3Rpb24gZXJyb3IgY2FzZXMgYXQgdGhlIGVuZCBvZiB0aGUgZnVuY3Rpb24gYW5kIGFkZCB1c2VmdWwgZGVidWcgb3V0cHV0CgoyMDEwLTAyLTA4IDA4OjEyOjExICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zaGFwZXdpcGUvZ3N0c2hhcGV3aXBlLmM6CgkqIGdzdC9zaGFwZXdpcGUvZ3N0c2hhcGV3aXBlLmg6CgkgIFtNT1ZFRCBGUk9NIEJBRCAyMi8yOV0gc2hhcGV3aXBlOiBGaXggcmFjZSBjb25kaXRpb24gZHVyaW5nIHNodXRkb3duIHRoYXQgY2FuIGxlYWQgdG8gYSBkZWFkbG9jawoKMjAxMC0wMi0wOCAwODoxMTozMyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc2hhcGV3aXBlL2dzdHNoYXBld2lwZS5jOgoJICBbTU9WRUQgRlJPTSBCQUQgMjEvMjldIHNoYXBld2lwZTogRHJvcCBtYXNrIGJ1ZmZlciBvbiBGTFVTSCBldmVudHMKCjIwMTAtMDItMDggMDg6MDk6NTUgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3NoYXBld2lwZS9nc3RzaGFwZXdpcGUuYzoKCSogZ3N0L3NoYXBld2lwZS9nc3RzaGFwZXdpcGUuaDoKCSAgW01PVkVEIEZST00gQkFEIDIwLzI5XSBzaGFwZXdpcGU6IFVwZGF0ZSBjb3B5cmlnaHQgeWVhcgoKMjAxMC0wMi0wOCAwODowODo0NCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc2hhcGV3aXBlL2dzdHNoYXBld2lwZS5jOgoJICBbTU9WRUQgRlJPTSBCQUQgMTkvMjldIHNoYXBld2lwZTogRG9uJ3QgcmVzZXQgcHJvcGVydGllcyB3aGVuIGdvaW5nIFBBVVNFRC0+UkVBRFkKCSAgQWxzbyB1c2UgZGVmaW5lcyBmb3IgdGhlIGRlZmF1bHQgdmFsdWVzIG9mIHRoZSBwcm9wZXJ0aWVzLgoKMjAxMC0wMS0xNiAxNjo1MjoxMSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc2hhcGV3aXBlL2dzdHNoYXBld2lwZS5jOgoJICBbTU9WRUQgRlJPTSBCQUQgMTgvMjldIHNoYXBld2lwZTogUmVwbGFjZSBmbG9hdGluZyBwb2ludCBhcml0aG1ldGljIGluIHRoZSBpbm5lciBwcm9jZXNzaW5nIGxvb3BzIGJ5IGludGVnZXIgYXJpdGhtZXRpYwoKMjAwOS0xMi0xMCAxMDo0MDoxMCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc2hhcGV3aXBlL2dzdHNoYXBld2lwZS5jOgoJICBbTU9WRUQgRlJPTSBCQUQgMTcvMjldIHNoYXBld2lwZTogRG9uJ3QgZG8gcG9pbnRlciBkZXJlZmVyZW5jZXMgaW4gdGhlIHByb2Nlc3NpbmcgbG9vcAoJICBMb3dlcnMgdGhlIHRpbWUgdGFrZW4gdGhlcmUgaW4gbXkgdGVzdGNhc2UgZnJvbSA2LjkxJSB0byA2LjIwJQoJICBhcyBtZWFzdXJlZCBieSBjYWxsZ3JpbmQuCgoyMDA5LTA3LTA4IDE3OjU5OjI5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zaGFwZXdpcGUvZ3N0c2hhcGV3aXBlLmM6CgkgIFtNT1ZFRCBGUk9NIEJBRCAxNi8yOV0gc2hhcGV3aXBlOiBBZGQgQkdSQSBzdXBwb3J0IGZvciB2aWRlbyBpbi9vdXRwdXQKCjIwMDktMDctMDIgMTE6MjQ6NDggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3NoYXBld2lwZS9nc3RzaGFwZXdpcGUuYzoKCSogZ3N0L3NoYXBld2lwZS9nc3RzaGFwZXdpcGUuaDoKCSAgW01PVkVEIEZST00gQkFEIDE1LzI5XSBzaGFwZXdpcGU6IEFkZCBzdXBwb3J0IGZvciBBUkdCIHZpZGVvIGlucHV0L291dHB1dAoKMjAwOS0wNi0yMyAxODoyMzoxMyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc2hhcGV3aXBlL2dzdHNoYXBld2lwZS5jOgoJICBbTU9WRUQgRlJPTSBCQUQgMTQvMjldIHNoYXBld2lwZTogQ29ycmVjdGx5IGhhbmRsZSAwLzEgZnBzCgoyMDA5LTA2LTA5IDE5OjE0OjQxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zaGFwZXdpcGUvZ3N0c2hhcGV3aXBlLmM6CgkqIGdzdC9zaGFwZXdpcGUvZ3N0c2hhcGV3aXBlLmg6CgkgIFtNT1ZFRCBGUk9NIEJBRCAxMy8yOV0gc2hhcGV3aXBlOiBJbXBsZW1lbnQgYmFzaWMgUW9TCgkgIFRoaXMgY2hhbmdlIGlzIGJhc2VkIG9uIFRpbSdzIFFvUyBpbXBsZW1lbnRhdGlvbgoJICBmb3IganBlZ2RlYy4KCjIwMDktMDYtMDkgMTg6NDU6MTkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3NoYXBld2lwZS9nc3RzaGFwZXdpcGUuYzoKCSAgW01PVkVEIEZST00gQkFEIDEyLzI5XSBzaGFwZXdpcGU6IFByb3h5IHF1ZXJpZXMgb24gdGhlIHZpZGVvIHBhZHMgdG8gdGhlIGNvcnJlY3QgcGVlcnMKCjIwMDktMDYtMDkgMTg6Mzc6NDMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3NoYXBld2lwZS9nc3RzaGFwZXdpcGUuYzoKCSAgW01PVkVEIEZST00gQkFEIDExLzI5XSBzaGFwZXdpcGU6IFByb3h5IGJ1ZmZlcmFsbG9jIG9uIHRoZSB2aWRlbyBzaW5rcGFkCgoyMDA5LTA2LTA5IDE4OjI1OjEzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zaGFwZXdpcGUvZ3N0c2hhcGV3aXBlLmM6CgkgIFtNT1ZFRCBGUk9NIEJBRCAxMC8yOV0gc2hhcGV3aXBlOiBUcnkgdG8gd29yayBpbnBsYWNlIGlmIHBvc3NpYmxlCgkgIFRoaXMgc2F2ZXMgb25lIG5ldywgbGFyZ2UgYWxsb2NhdGlvbiBwZXIgZnJhbWUgZm9yIHRoZQoJICBtb3N0IGNhc2VzLgoKMjAwOS0wNi0wNCAwODo1NjoxNCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9zaGFwZXdpcGUuYzoKCSAgW01PVkVEIEZST00gQkFEIDA5LzI5XSBzaGFwZXdpcGU6IEluY3JlYXNlIHRpbWVvdXQgb2YgdGhlIHVuaXQgdGVzdAoKMjAwOS0wNi0wMSAyMToyNDoyNyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc2hhcGV3aXBlL2dzdHNoYXBld2lwZS5jOgoJICBbTU9WRUQgRlJPTSBCQUQgMDgvMjldIHNoYXBld2lwZTogRml4IHNvbWUgaXNzdWVzIHRoYXQgd2VyZSBleHBvc2VkIGJ5IHRoZSBuZXcgdW5pdCB0ZXN0CgoyMDA5LTA2LTAxIDIxOjI0OjEyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3NoYXBld2lwZS5jOgoJICBbTU9WRUQgRlJPTSBCQUQgMDcvMjldIHNoYXBld2lwZTogQWRkIHVuaXQgdGVzdCBmb3Igc2hhcGV3aXBlCgoyMDA5LTA1LTMxIDIxOjMzOjAxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zaGFwZXdpcGUvZ3N0c2hhcGV3aXBlLmM6CgkgIFtNT1ZFRCBGUk9NIEJBRCAwNi8yOV0gc2hhcGV3aXBlOiBBZGQgZG9jdW1lbnRhdGlvbiBhbmQgaW50ZWdyYXRlIGludG8gdGhlIGJ1aWxkIHN5c3RlbQoKMjAwOS0wNS0yOSAyMTowNzoyNiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc2hhcGV3aXBlL2dzdHNoYXBld2lwZS5jOgoJICBbTU9WRUQgRlJPTSBCQUQgMDUvMjldIHNoYXBld2lwZTogQWRqdXN0IGJvcmRlciB0byBzdGlsbCBoYXZlIGV2ZXJ5dGhpbmcgdHJhbnNwYXJlbnQgYXQgMS4wIGFuZCB0aGUgb3RoZXIgd2F5IGFyb3VuZAoKMjAwOS0wNS0yOSAxNjo1NToyNSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc2hhcGV3aXBlL2dzdHNoYXBld2lwZS5jOgoJKiB0ZXN0cy9leGFtcGxlcy9zaGFwZXdpcGUvc2hhcGV3aXBlLWV4YW1wbGUuYzoKCSAgW01PVkVEIEZST00gQkFEIDA0LzI5XSBzaGFwZXdpcGU6IERpdmlkZSB0aGUgYm9yZGVyIHZhbHVlIGJ5IHR3bywgb3RoZXJ3aXNlIHdlIHVzZSBhIHR3aWNlIGEgd2lkZSBib3JkZXIKCjIwMDktMDUtMjkgMTY6NTE6NTAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3NoYXBld2lwZS9nc3RzaGFwZXdpcGUuYzoKCSogZ3N0L3NoYXBld2lwZS9nc3RzaGFwZXdpcGUuaDoKCSogdGVzdHMvZXhhbXBsZXMvc2hhcGV3aXBlL3NoYXBld2lwZS1leGFtcGxlLmM6CgkgIFtNT1ZFRCBGUk9NIEJBRCAwMy8yOV0gc2hhcGV3aXBlOiBBZGQgYm9yZGVyIHByb3BlcnR5IHRvIGFsbG93IHNtb290aCBib3JkZXJzCgkgIC4uLmFuZCB1c2UgYSBib3JkZXIgb2YgMC4wMSBpbiB0aGUgZXhhbXBsZSBhcHBsaWNhdGlvbi4KCjIwMDktMDUtMjkgMTY6MDA6MTYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvZXhhbXBsZXMvc2hhcGV3aXBlL01ha2VmaWxlLmFtOgoJICBbTU9WRUQgRlJPTSBCQUQgMDIvMjldIHNoYXBld2lwZTogRml4IE1ha2VmaWxlIG9mIHRoZSBleGFtcGxlIGFwcGxpY2F0aW9uCgoyMDA5LTA1LTI5IDE1OjMyOjI0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zaGFwZXdpcGUvTWFrZWZpbGUuYW06CgkqIGdzdC9zaGFwZXdpcGUvZ3N0c2hhcGV3aXBlLmM6CgkqIGdzdC9zaGFwZXdpcGUvZ3N0c2hhcGV3aXBlLmg6CgkqIHRlc3RzL2V4YW1wbGVzL3NoYXBld2lwZS9NYWtlZmlsZS5hbToKCSogdGVzdHMvZXhhbXBsZXMvc2hhcGV3aXBlL3NoYXBld2lwZS1leGFtcGxlLmM6CgkgIFtNT1ZFRCBGUk9NIEJBRCAwMS8yOV0gc2hhcGV3aXBlOiBBZGQgYSBzaW1wbGUgc2hhcGV3aXBlIHRyYW5zaXRpb24gZmlsdGVyICYgZXhhbXBsZSBhcHBsaWNhdGlvbgoKMjAxMC0wMi0wNiAxODoxOToyNyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmxhYy9nc3RmbGFjZGVjLmM6CgkgIGZsYWNkZWM6IE9ubHkgZmx1c2ggdGhlIEZMQUMgZGVjb2RlciBpZiBpdCB3YXNuJ3QgY3JlYXRlZCByaWdodCBiZWZvcmUKCSAgSWYgdGhlIEZMQUMgZGVjb2RlciBpcyBmbHVzaGVkLCBpdHMgc3RhdGUgd2lsbCBiZSBzZXQgdG8gZnJhbWUtc3luYyBtb2RlLAoJICB3aGljaCB3aWxsIHN5bmMgdG8gdGhlIG5leHQgKmF1ZGlvKiBmcmFtZSBhbmQgbWFrZXMgaXQgaWdub3JlIGFsbCBoZWFkZXJzLgoJICBUaGlzIHByZXZlbnRlZCB0YWdzIGFuZCBldmVyeXRoaW5nIGVsc2UgdG8gc2hvdyB1cCB3aGVuIHVzaW5nIGZsYWNkZWMKCSAgaW4gcHVzaCBtb2RlLgoJICBGaXhlcyBidWcgIzYwODg0My4KCjIwMTAtMDItMTEgMDE6MTI6MTUgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogTUFJTlRBSU5FUlM6CgkgIFVwZGF0ZSBNQUlOVEFJTkVSUwoKMjAxMC0wMi0xMiAwMDowMzowOSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogYmFjayB0byBkZXZlbG9wbWVudAoJICBTbHVzaHkgZnJlZXplIHJlbWFpbnMgaW4gZWZmZWN0LgoKPT09IHJlbGVhc2UgMC4xMC4xOCA9PT0KCjIwMTAtMDItMTAgMjM6MTg6MjIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogQ2hhbmdlTG9nOgoJKiBORVdTOgoJKiBSRUxFQVNFOgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaW50ZXJmYWNlczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5wcmVyZXF1aXNpdGVzOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tMTM5NC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYWNvbG9yLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFubm9kZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXBldGFnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvZngueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvZGV0ZWN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF2aS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWNhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWlyby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jdXR0ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVpbnRlcmxhY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZlbmNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZmVjdHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXF1YWxpemVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVzZHNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmxhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx4ZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdhbW1hLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdjb25mZWxlbWVudHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2RrcGl4YnVmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbTJrMS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc3RydHBtYW5hZ2VyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWhhbGVsZW1lbnRzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWljeWRlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlkM2RlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVybGVhdmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanBlZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sZXZlbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tYXRyb3NrYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tb25vc2NvcGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlmaWxlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpcGFydC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uYXZpZ2F0aW9udGVzdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3NhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbmcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcHVsc2VhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1xdWlja3RpbWUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVwbGF5Z2Fpbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRzcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaG91dDJzZW5kLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNtcHRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlY3RydW0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdGFnbGliLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXVkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlbzRsaW51eDIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9iYWxhbmNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvYm94LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvY3JvcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2ZsaXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9taXhlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14aW1hZ2VzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teTRtZW5jLnhtbDoKCSogZ3N0LXBsdWdpbnMtZ29vZC5kb2FwOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIFJlbGVhc2UgMC4xMC4xOAoKMjAxMC0wMi0xMCAyMzoxNzoyMSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBwby9hZi5wbzoKCSogcG8vYXoucG86CgkqIHBvL2JnLnBvOgoJKiBwby9jYS5wbzoKCSogcG8vY3MucG86CgkqIHBvL2RhLnBvOgoJKiBwby9kZS5wbzoKCSogcG8vZWwucG86CgkqIHBvL2VuX0dCLnBvOgoJKiBwby9lcy5wbzoKCSogcG8vZXUucG86CgkqIHBvL2ZpLnBvOgoJKiBwby9mci5wbzoKCSogcG8vaHUucG86CgkqIHBvL2lkLnBvOgoJKiBwby9pdC5wbzoKCSogcG8vamEucG86CgkqIHBvL2x0LnBvOgoJKiBwby9sdi5wbzoKCSogcG8vbXQucG86CgkqIHBvL25iLnBvOgoJKiBwby9ubC5wbzoKCSogcG8vb3IucG86CgkqIHBvL3BsLnBvOgoJKiBwby9wdF9CUi5wbzoKCSogcG8vcnUucG86CgkqIHBvL3NrLnBvOgoJKiBwby9zcS5wbzoKCSogcG8vc3IucG86CgkqIHBvL3N2LnBvOgoJKiBwby90ci5wbzoKCSogcG8vdWsucG86CgkqIHBvL3ZpLnBvOgoJKiBwby96aF9DTi5wbzoKCSogcG8vemhfSEsucG86CgkqIHBvL3poX1RXLnBvOgoJICBVcGRhdGUgLnBvIGZpbGVzCgoyMDEwLTAyLTEwIDIwOjM2OjU2ICswMDAwICBSb2JlcnQgU3dhaW4gPHJvYmVydC5zd2FpbkBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IHRlbXBvcmFyeSBzYWZldHkgY2hlY2sgdG8gYXZvaWQgY3Jhc2hlcyB3aXRoIGEgY2VydGFpbiBmaWxlCgkgIEFkZCB0ZW1wb3JhcnkgY2hlY2sgdG8gYXZvaWQgY3Jhc2hlcyB3aXRoIGEgY2VydGFpbiBmaWxlIHdoZW4gc2Vla2luZwoJICB1bnRpbCB0aGUgcmVhbCBjYXVzZSBvZiB0aGlzIGlzIGZpZ3VyZWQgb3V0LiBTZWUgIzYwOTQwNS4KCjIwMTAtMDItMDUgMTg6MDU6MzkgKzAxMDAgIFJvYmVydCBTd2FpbiA8cm9iZXJ0LnN3YWluQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5oOgoJICBxdGRlbXV4OiBza2lwIHVua25vd24gYXRvbXMgd2hlbiBsb29raW5nIGZvciBtb292CgkgIEZpeGVzIGJ1ZyAjNjA5MTA3CgoyMDEwLTAyLTA1IDAyOjEzOjMzICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICAwLjEwLjE3LjMgcHJlLXJlbGVhc2UKCjIwMTAtMDItMDQgMTk6MTA6MzYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogcG8vYmcucG86CgkqIHBvL2h1LnBvOgoJICBwbzogdXBkYXRlIHRyYW5zbGF0aW9ucwoKMjAxMC0wMi0wNCAxNDo0Njo1NiArMDEwMCAgUm9iZXJ0IFN3YWluIDxyb2JlcnQuc3dhaW5AY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4Lmg6CgkgIHF0ZGVtdXg6IFNldCB0aGUgc2VnbWVudCBzdGFydCB0aW1lIHRvIHRoZSByZXF1ZXN0ZWQgc2VlayB0aW1lIGZvciBub24ta2V5ZnJhbWUgc2Vla3MKCjIwMTAtMDItMDQgMTI6MDA6MDMgKzAxMDAgIFJvYmVydCBTd2FpbiA8cm9iZXJ0LnN3YWluQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogRml4IHRpbWUgcmV0dXJuZWQgZm9yIGluZGV4IGF0IGEgYnl0ZSBvZmZzZXQKCSAgVGhlIGxvZ2ljIGZvciBzZWFyY2hpbmcgZm9yd2FyZHMvYmFja3dhcmRzIHdhcyBzd2FwcGVkCgoyMDEwLTAyLTAxIDE5OjIyOjI0ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9zcGVleC9nc3RzcGVleGRlYy5jOgoJICBzcGVleGRlYzogaW5pdGlhbGl6ZSBzdGVyZW8gZGVjb2Rpbmcgc3RhdGUKCjIwMTAtMDEtMjggMTg6NTg6MDggKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thZGVtdXg6IGltcHJvdmUgc3RyZWFtIHN5bmNocm9uaXphdGlvbgoJICBJbiBwYXJ0aWN1bGFyLCBkbyBub3QgbWFrZSBpdCBzZW5kIG5ld3NlZ21lbnQgdXBkYXRlcyB0aGF0CgkgIHNvcnQtb2YgY29udHJhZGljdCB0aGUgaW5kZW50ZWQgcGxheWJhY2sgc2VnbWVudCAoZS5nLiBzdGFydCB0aW1lKS4KCjIwMTAtMDEtMjggMTg6NTM6MTggKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thZGVtdXg6IGZpeCBicmlkZ2luZyAodGltZSkgZ2FwcyBpbiBzdHJlYW1zCgkgIEFzIGEgc2lkZSBlZmZlY3QsIGF2b2lkIHNlbmRpbmcgbmV3c2VnbWVudCB1cGRhdGVzIHdpdGggc3RhcnQgdGltZXMKCSAgdGhhdCBnbyBiYWNrIGFuZCBmb3J0aCwgd2hpY2ggbGVhZHMgdG8gYm9ndXMgZG93bnN0cmVhbSBydW5uaW5nX3RpbWUuCgkgIEFsc28gZml4ZXMgc2Vla2luZyBpbiBidWcgIzYwNjc0NC4KCjIwMTAtMDEtMjggMTg6NDk6NTcgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thZGVtdXg6IGZpeCBzdHJlYW0gc3luY2hyb25pemF0aW9uCgkgIC4uIGJ5IGluaXRpYWxpemluZyBzdHJlYW1zIHN0YXJ0aW5nIGF0IDAsIGFzIHRoYXQgaXMgYmFzaWNhbGx5CgkgIHdoZXJlIHdlICdzZWVrIHRvJyBhdCB0aGUgc3RhcnQgYW5kIGFzc3VtZSBzdHJlYW1zIHRvIHN0YXJ0IGVsc2V3aGVyZS4KCSAgQWxzbyBlbmFibGVzIG5ld3NlZ21lbnQgdXBkYXRlIGV2ZW50cyBmb3Igc3VidGl0bGUgc3RyZWFtcy4KCjIwMTAtMDItMDIgMTM6NDE6MDMgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9qcGVnL2dzdGpwZWdkZWMuYzoKCSAganBlZzogZG9uJ3QgZGlyZWN0bHkgYWNjZXNzIG1lc3NhZ2UsIHNvbWUgbWVzc2FnZSBoYXZlIGFyZ3MKCSAgVGhpcyBjYXVzZWQgYm9ndXMgbWVzc2FnZXMsIHN1Y2ggYXMgcmVwb3J0ZWQgaW4gYnVnICM2MDc0NzEuCgoyMDEwLTAyLTAyIDAwOjAyOjM0ICswMDAwICBEYXZpZCBIb3l0IDxkaG95dEBsbG5sLmdvdj4KCgkqIGV4dC9saWJwbmcvZ3N0cG5nZGVjLmM6CgkgIHBuZzogZml4IGNvbXBpbGF0aW9uIHdpdGggbGlicG5nIDEuNAoJICBwbmdfc2V0X2dyYXlfMV8yXzRfdG9fOCgpIGhhcyBiZWVuIGRlcHJlY2F0ZWQgZm9yIGEgd2hpbGUgYW5kIHdhcwoJICBmaW5hbGx5IHJlbW92ZWQgaW4gbGlicG5nIDEuNC54LiBVc2UgcG5nX3NldF9leHBhbmRfZ3JheV8xXzJfNF90b184KCkKCSAgaW5zdGVhZC4KCSAgRml4ZXMgIzYwODYyOS4KCjIwMTAtMDItMDEgMTY6NDY6MzYgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IGZyZWUgdHJhbnNwb3J0cyBvbiBlcnJvcnMKCSAgU2VlICM2MDg1NjQKCjIwMTAtMDItMDEgMDk6MTg6NTMgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvdjRsMl9jYWxscy5jOgoJICB2NGwyOiBmaXggdW5wb3J0YWJsZSBwcmludGYgZm9ybWF0CgoyMDEwLTAxLTMwIDE1OjE4OjQ4ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gMTVkNDdhNiB0byA5NmRjNzkzCgoyMDEwLTAxLTI3IDE3OjUzOjA3ICswMTAwICBSb2JlcnQgU3dhaW4gPHJvYmVydC5zd2FpbkBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZmx2L2dzdGZsdm11eC5jOgoJICBmbHZtdXg6IGluZGV4IHRpbWVzdGFtcHMgc2hvdWxkIGJlIGluIHNlY29uZHMsIG5vdCBtaWxsaXNlY29uZHMKCjIwMTAtMDEtMjcgMTU6MjQ6NTIgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3NwZWV4L2dzdHNwZWV4ZGVjLmM6CgkgIHNwZWV4ZGVjOiBmcmVlIHNvbWUgbW9yZSB3aGVuIHJlc2V0dGluZwoJICBGaXhlcyAjNjA4MjU1LgoKMjAxMC0wMS0yNyAxNToyNDoyNCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cHNwZWV4cGF5LmM6CgkgIHJ0cHNwZWV4cGF5OiBmaXggb2NjYXNpb25hbCBidWZmZXIgbGVhawoJICBGaXhlcyAjNjA4MjU1LgoKMjAxMC0wMS0yNyAxNToyMjo0NiArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvc3BlZXgvZ3N0c3BlZXhlbmMuYzoKCSAgc3BlZXhlbmM6IHByZXZlbnQgaW52YWxpZCBhcml0aG1ldGljIGlmIG5vdCBzZXR1cCB5ZXQKCSAgRml4ZXMgIzYwODI1NS4KCjIwMTAtMDEtMjcgMTY6MzQ6MjEgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvbWl4ZXIvYmxlbmRfbW14Lmg6CgkgIHZpZGVvbWl4ZXI6IEZpeCBhc3NlbWJseSByZWdpc3RlciBjb25zdHJhaW50cwoJICBGaXhlcyBidWcgIzYwODIwOS4KCjIwMTAtMDEtMjcgMDE6NTY6MDMgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIDAuMTAuMTcuMiBwcmUtcmVsZWFzZQoKMjAxMC0wMS0yNyAwMTo1Mjo1OSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBwby9MSU5HVUFTOgoJKiBwby9hZi5wbzoKCSogcG8vYXoucG86CgkqIHBvL2JnLnBvOgoJKiBwby9jYS5wbzoKCSogcG8vY3MucG86CgkqIHBvL2RhLnBvOgoJKiBwby9kZS5wbzoKCSogcG8vZWwucG86CgkqIHBvL2VuX0dCLnBvOgoJKiBwby9lcy5wbzoKCSogcG8vZXUucG86CgkqIHBvL2ZpLnBvOgoJKiBwby9mci5wbzoKCSogcG8vaHUucG86CgkqIHBvL2lkLnBvOgoJKiBwby9pdC5wbzoKCSogcG8vamEucG86CgkqIHBvL2x0LnBvOgoJKiBwby9sdi5wbzoKCSogcG8vbXQucG86CgkqIHBvL25iLnBvOgoJKiBwby9ubC5wbzoKCSogcG8vb3IucG86CgkqIHBvL3BsLnBvOgoJKiBwby9wdF9CUi5wbzoKCSogcG8vcnUucG86CgkqIHBvL3NrLnBvOgoJKiBwby9zcS5wbzoKCSogcG8vc3IucG86CgkqIHBvL3N2LnBvOgoJKiBwby90ci5wbzoKCSogcG8vdWsucG86CgkqIHBvL3ZpLnBvOgoJKiBwby96aF9DTi5wbzoKCSogcG8vemhfSEsucG86CgkqIHBvL3poX1RXLnBvOgoJICBwbzogdXBkYXRlIHRyYW5zbGF0aW9ucwoKMjAxMC0wMS0yNyAwMTo0OTo0OSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy8uZ2l0aWdub3JlOgoJICBjaGVja3M6IGlnbm9yZSBkZWludGVybGFjZSBjaGVjayBiaW5hcnkKCjIwMTAtMDEtMjcgMDE6MTg6NTEgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IHB1cmdlIGFsbCBtZW50aW9uIG9mIENWUwoKMjAxMC0wMS0yNiAxMToxODoyOCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgYXZpZGVtdXg6IGlnbm9yZSBzdHJlYW1zIHRoYXQgZmluaXNoZWQKCSAgV2hlbiB3ZSByZWNlaXZlIGFuIFVORVhQRUNURUQgZnJvbSBhIHN0cmVhbSwgbW92ZSB0byB0aGUgbmV4dCBzdHJlYW0gYW5kIG9ubHkgZ28KCSAgRU9TIHdoZW4gYWxsIHN0cmVhbXMgYXJlIEVPUy4gV2hlbiBzZWxlY3RpbmcgYSBzdHJlYW0gdG8gcHVzaCwgaWdub3JlIHN0cmVhbXMKCSAgdGhhdCB3ZW50IEVPUy4KCSAgRml4ZXMgIzYwNzk0OQoKMjAxMC0wMS0yNSAxNzoyMzo0MyArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5jOgoJICB2NGwyc3JjOiBkb24ndCBkZXJlZiBOVUxMCgkgIEVycm9yIG91dCB3aGVuIHRoZSBwb29sIGdldHMgc2h1dGRvd24uCgoyMDEwLTAxLTI1IDE3OjIxOjEzICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvanBlZy9nc3RqcGVnZW5jLmM6CgkqIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuYzoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgIFJldmVydCAidjRsMnNyYzogZG9uJ3QgZGVyZWYgTlVMTCIKCSAgVGhpcyByZXZlcnRzIGNvbW1pdCAzZDlkMzRiZDYwZmFlYjk0MGIzNmQ5OTJhNDcxNjhmYzg5NTAzNmJhLgoKMjAxMC0wMS0yNSAxNDoxNjoyMiArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L2pwZWcvZ3N0anBlZ2VuYy5jOgoJKiBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmM6CgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICB2NGwyc3JjOiBkb24ndCBkZXJlZiBOVUxMCgkgIEVycm9yIG91dCB3aGVuIHRoZSBwb29sIGdldHMgc2h1dGRvd24uCgoyMDEwLTAxLTIzIDE1OjMyOjQ4IC0wODAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAeGlwaC5vcmc+CgoJKiBleHQvanBlZy9nc3RqcGVnZW5jLmM6CgkgIGpwZWdlbmM6IHdoZW4gY3JlYXRpbmcgYW4gb3ZlcmZsb3cgYnVmZmVyLCBjb3B5IHRpbWVzdGFtcHMuCgoyMDEwLTAxLTIzIDE0OjQ3OjU1ICswMTAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBkbWIxIGlzIGEgdmFsaWQgZm91cmNjIGZvciBNb3Rpb24tSlBFRwoKMjAxMC0wMS0yMyAxNDoyMDowMiArMDEwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZXV4OiBJVjMyIGlzIGFsc28gdXNlZCBmb3IgSW5kZW8gMyB2aWRlbyBzdHJlYW1zCgoyMDEwLTAxLTIyIDE2OjQ4OjAxICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiB0ZXN0cy9pY2xlcy94aW1hZ2VzcmMtdGVzdC5jOgoJICBidWlsZDogbm8gdW51c2VkIHZhcmlhYmxlcyB3aGVuIGRpc2FibGluZyBhc3NlcnRzCgoyMDEwLTAxLTIxIDIzOjE3OjQwIC0wMzAwICBSb2xhbmQgS3Jpa2F2YSA8cmtyaWthdmFAZ21haWwuY29tPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBBdm9pZCBuZWdhdGl2ZSBvdmVyZmxvdyBvbiBrZXlmcmFtZSBzZWFyY2gKCSAgRG8gbm90IG92ZXJmbG93IG5lZ2F0aXZlbHkgd2hlbiBzZWFyY2hpbmcgYSBwcmV2aW91cwoJICAia2V5ZnJhbWUiIG9uIGF1ZGlvIHN0cmVhbXMuIENvdWxkIGNhdXNlIGluZmluaXRlIGxvb3BzCgkgIG9uIGJhY2t3YXJkcyBwbGF5YmFjawoJICBGaXhlcyAjNjA3NzE4CgoyMDEwLTAxLTIxIDE3OjIyOjM4IC0wODAwICBQZXRlciB2YW4gSGFyZGVuYmVyZyA8cHZoQHNvbmdiaXJkbmVzdC5jb20+CgoJKiBleHQvanBlZy9nc3RqcGVnZW5jLmM6CgkqIGV4dC9qcGVnL2dzdGpwZWdlbmMuaDoKCSAganBlZ2VuYzogZW5sYXJnZSBidWZmZXIgaWYgbGlianBlZyB0ZWxscyB1cyBpdCdzIG91dCBvZiBzcGFjZS4gRml4ZXMgYnVmZmVyIG92ZXJmbG93IG9uIHNvbWUgaGlnaC1xdWFsaXR5LCBsb3ctcmVzb2x1dGlvbiBqcGVnIGVuY29kZXMuCgoyMDEwLTAxLTIxIDE5OjI0OjIyICswMTAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogZml4IGNvbXBpbGVyIHdhcm5pbmdzIHVuZGVyIE9TIFguCgoyMDEwLTAxLTIxIDE3OjU3OjM2ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICBhdmlkZW11eDogZG9uJ3QgcGFyc2UgTlVMTCBpbmRleGVzCgkgIGZvciBzb21lIHN0cmVhbXMgd2UgbWlnaHQgZmFpbCB0byBmZXRjaCB0aGUgaW5kZXggb2Zmc2V0cy4gRG9uJ3QgdHJ5IHRvIHBhcnNlCgkgIE5VTEwgaW5kZXhlcyBpbiB0aG9zZSBjYXNlcy4KCjIwMTAtMDEtMTggMjE6MTU6NTEgLTA1MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwZzcyOXBheS5jOgoJICBydHBnNzI5cGF5OiBwdGltZSBzaG91bGQgaXMgaW4gbmFub3NlY29uZHMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYwNzQwMwoKMjAxMC0wMS0yMCAxNToxMToxNSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvd2F2ZW5jL2dzdHdhdmVuYy5jOgoJKiBnc3Qvd2F2ZW5jL2dzdHdhdmVuYy5oOgoJICB3YXZlbmM6IFBvc3Qgd2FybmluZyBpZiBmaWxlIGlzbnQgZmluaXNoZWQgcHJvcGVybHkKCSAgV2hlbiB0aGUgcGlwZWxpbmUgaXMgc2h1dCBkb3duIGFuZCB0aGUgZmlsZSBpc24ndAoJICBmaW5pc2hlZCBwcm9wZXJseSwgd2F2ZW5jIHNob3VsZCBwb3N0IGEgd2FybmluZy4KCSAgRml4ZXMgIzYwNzQ0MAoKMjAwOS0wNS0yNyAxMzo1MTo0NCArMDIwMCAgQXJub3V0IFZhbmRlY2FwcGVsbGUgPGFybm91dEBtaW5kLmJlPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4Lmg6CgkgIG1hdHJvc2thbXV4OiBtYWtlIGluZGV4IHNpemUgY29uZmlndXJhYmxlLgoJICBBZGRlZCB0aGUgJ21pbi1pbmRleC1pbnRlcnZhbCcgcHJvcGVydHkgdG8gbWF0cm9za2FtdXgsCgkgIHdoaWNoIGRldGVybWluZXMgaG93IG11Y2ggdGltZSAobmFub3NlY29uZHMpIGlzIGxlZnQKCSAgYmV0d2VlbiBrZXlmcmFtZXMgc3RvcmVkIGluIHRoZSBpbmRleC4KCSAgRml4ZXMgIzU4Mzk4NS4KCjIwMTAtMDEtMjAgMTY6Mjg6MzEgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRwYXkuYzoKCSAgcnRwaDI2NHBheTogc2NhbGUgc3BzcHBzX2ludGVydmFsIHRvIG1pbGxpc2Vjb25kcwoJICBUaGUgc3BzcHBzX2ludGVydmFsIGlzIGtlcHQgaW4gc2Vjb25kcy4gQ29udmVydCBpdCB0byBtaWxsaXNlY29uZHMgYmVmb3JlCgkgIGNvbXBhcmluZyBpdCB0byBhbm90aGVyIHZhbHVlIGluIG1pbGxpc2Vjb25kcy4KCjIwMTAtMDEtMjAgMTU6MTg6NDcgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBhbHdheXMga2VlcCBtZWRpYSBzZWdtZW50cyB3aXRoaW4gdG90YWwgZHVyYXRpb24KCSAgLi4uIGFzIG9wcG9zZWQgdG8gb25seSBkb2luZyBzbyBmb2xsb3dpbmcgYSBzZWVrLgoKMjAxMC0wMS0yMCAxNTo0NDo0MCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2NHBheS5jOgoJICBydHBoMjY0cGF5OiByZW5hbWUgc3BzcHBzLWludGVydmFsIHByb3BlcnR5CgkgIFJlbmFtZSB0aGUgc3BzcHBzLWludGVydmFsIHByb3BlcnR5IHRvIGNvbmZpZy1pbnRlcnZhbCBiZWNhdXNlIGl0IGlzIG5pY2VyLgoKMjAxMC0wMS0xOSAxODozNzozMSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgYXZpZGVtdXg6IHNraXAgUklGRiBhbmQgaW5kZXggaW4gcHVzaCBtb2RlCgkgIFdoZW4gd2UgYXJlIGluIHB1c2ggbW9kZSwgd2UgY2FuIGVuY291bnRlciBSSUZGIGFuZCBpZHggdGFncyBpbiB0aGUgZGF0YSBjaHVuawoJICB3aGVuIHdlIGFyZSBkZWFsaW5nIHdpdGggT0RNTCBmaWxlcy4gSW4gdGhlc2UgY2FzZXMsIHNpbXBseSBza2lwIHRoZSBjaHVua3MgYW5kCgkgIGNvbnRpbnVlIHN0cmVhbWluZyBpbnN0ZWFkIG9mIGdvaW5nIEVPUy4KCjIwMTAtMDEtMjAgMTE6Mjc6MjMgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIGF2aWRlbXV4OiBtb3JlIERJU0NPTlQgaGFuZGxpbmcKCSAgQWRkIHNvbWUgZGVidWcgaW4gdGhlIERJU0NPTlQgaGFuZGxpbmcgY29kZS4KCSAgV2hlbiB3ZSByZWNlaXZlIGEgRElTQ09OVCBpbiBwdXNoIG1vZGUsIG1hcmsgYWxsIHN0cmVhbXMgYXMgRElTQ09OVC4KCjIwMTAtMDEtMjAgMTE6MjY6MzQgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIGF2aWRlbXV4OiByZXNldCBvbiBmbHVzaCBldmVudHMKCSAgV2hlbiB3ZSByZWNlaXZlIGEgZmx1c2ggZXZlbnQgb24gdGhlIHNpbmtwYWQsIHJlc2V0IHRoZSBFT1Mgc3RhdGUgYW5kIHRoZQoJICBmbG93cmV0dXJuIG9mIGFsbCBzdHJlYW1zLiBBbHNvIG1hcmsgdGhlIHN0cmVhbXMgd2l0aCBhIERJU0NPTlQuCgoyMDEwLTAxLTIwIDExOjIyOjA0ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4Lmg6CgkgIGF2aWRlbXV4OiByZW5hbWUgc29tZSB2YXJpYWJsZQoJICBSZW5hbWUgdGhlIHNlZWtfZXZlbnQgdmFyaWFibGUgdG8gc2VnX2V2ZW50IGJlY2F1c2UgaXQgcmVhbGx5IGNvbnRhaW5zIHRoZQoJICBuZXdzZWdtZW50IGV2ZW50IHRoYXQgbmVlZHMgdG8gYmUgcHVzaGVkLgoKMjAxMC0wMS0yMCAwMDo1NDowMyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIDE0Y2VjODkgdG8gMTVkNDdhNgoKMjAxMC0wMS0xOCAxNDo0OToyNiAtMDUwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBoMjY0cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2NHBheS5oOgoJICBydHBoMjY0cGF5OiBEb24ndCBzZXQgcHJvZmlsZS1sZXZlbC1pZCBpbiBvdXQgY2FwcwoJICBUaGUgcHJvZmlsZS1sZXZlbC1pZCByZXByZXNlbnRzIHJlc3RyaWN0aW9ucyBvbiB3aGF0IGNhbiBiZSBzZW50LCBpdCBkb2VzIG5vdAoJICBkZXNjcmliZSB0aGUgc3RyZWFtLiBTbyBpdCBzaG91bGQgYmUgcmVmbGVjdGVkIGluIHRoZSBzaW5rIGNhcHMgb2YgdGhlCgkgIHBheWxvYWRlciwgbm90IHRoZSBzcmMgY2Fwcy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYwNzM1MwoKMjAxMC0wMS0xOCAxNDo0MToxMCAtMDUwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBoMjY0cGF5LmM6CgkgIHJ0cGgyNjRwYXk6IERvbid0IGlnbm9yZSB0aGUgcmV0dXJuIHZhbHVlIGZyb20gc2V0X291dGNhcHMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYwNzM1MwoKMjAxMC0wMS0xOCAxNzo0Mzo0MSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL2dyZWVkeWhtYWNyb3MuaDoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS9saW5lYXIuYzoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS9saW5lYXJibGVuZC5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL3RvbXNtb2NvbXAuYzoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS93ZWF2ZS5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL3dlYXZlYmZmLmM6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvd2VhdmV0ZmYuYzoKCSAgZGVpbnRlcmxhY2U6IEZpeCBsaWNlbnNlIGFuZCBjb3B5cmlnaHQgaGVhZGVycwoKMjAxMC0wMS0xOCAxNDo1Nzo0MiArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuaDoKCSAgdjRsMjogbW92ZSBHX0VORF9ERUNMUyB0byB0aGUgZW5kCgoyMDEwLTAxLTE4IDE0OjU1OjM4ICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5oOgoJICB2NGwyOiBmaXggYnVmZmVycG9vbCBmaWxlIG5hbWVzIGluIGhlYWRlciBjb21tZW50CgoyMDEwLTAxLTE1IDE4OjE1OjE0ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICBhdmlkZW11eDogYXZvaWQgc29tZSB0eXBlY2FzdGluZwoKMjAxMC0wMS0xNSAxODoxMzoyNCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgYXZpZGVtdXg6IGF2b2lkIHNvbWUgdHlwZSBjaGVja3MKCjIwMTAtMDEtMTUgMTg6MDk6MTUgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguaDoKCSAgYXZpZGVtdXg6IGZhbGxiYWNrIHRvIGF2aWggZHVyYXRpb24KCSAgd2hlbiB3ZSBoYXZlIG5vdCB5ZXQgcGFyc2VkIHRoZSBpbmRleGVzIChpbiBwdXNoIG1vZGUsIGZvciBleGFtcGxlKSB1c2UKCSAgdGhlIGR1cmF0aW9uIGFzIGdpdmVuIGluIHRoZSBhdmloIGhlYWRlciBpbnN0ZWFkIG9mIC0xLgoKMjAxMC0wMS0xNSAxMzozMjozMiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IGdfZnJlZSBpcyBOVUxMIHNhZmUKCjIwMTAtMDEtMTUgMTM6Mjc6NDAgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiB1c2UgREVNVVggZXJyb3JzLCBpbnN0ZWFkIG9mIERFQ09ERQoJICBxdGRlbXV4IHNob3VsZCB1c2UgREVNVVggZXJyb3JzLCBhbmQgbm90IERFQ09ERQoJICBDb25mbGljdHM6CgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYwoKMjAxMC0wMS0xNCAxOToxNjoxOSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IE1pbm9yIHJlZmFjdG9yCgkgIFJlcGxhY2UgcmVwZWF0ZWQgY29kZSB3aXRoIGEgZnVuY3Rpb24gY2FsbAoKMjAxMC0wMS0xNCAxNzoxMToxMyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXhfZm91cmNjLmg6CgkgIHF0ZGVtdXg6IEhhbmRsZSBhbm90aGVyIGtpbmQgb2YgcmVkaXJlY3QgdHJhawoJICBTb21lIHRyYWtzIG1pZ2h0IGNvbnRhaW4gYSByZWRpcmVjdCBydHNwIHVyaSBpbnNpZGUKCSAgaG5kbCBhdG9tICh3aGljaCBpcyBhIGRyZWYgYXRvbSBlbnRyeSkuIFRoaXMgY29tbWl0IG1ha2VzIHF0ZGVtdXgKCSAgcG9zdCBhIG1lc3NhZ2Ugd2hlbiBpdCBmaW5kcyBvbmUgb2YgdGhlc2UgdHJha3MgYW5kIHRoZXJlIGFyZQoJICBubyBvdGhlciB0cmFrcy4KCSAgRml4ZXMgIzU5NzQ5NwoKMjAxMC0wMS0xNCAxNjoxMzowOCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguaDoKCSAgcXRkZW11eDogUG9zdCBlcnJvciB3aGVuIHJlYWNoaW5nIEVPUyB3aXRob3V0IHBhZHMKCSAgUG9zdCBhbiBlcnJvciB3aGVuIEVPUyBpcyByZWFjaGVkIGFuZCB0aGVyZSBhcmUgbm8gc3JjIHBhZHMKCjIwMTAtMDEtMTQgMTQ6MTM6NTAgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBEbyBub3QgcG9zdCBlbXB0eSByZWRpcmVjdCBtZXNzYWdlcwoJICBTb21lIG1pc2ludGVycHJldGVkIGRhdGEgY291bGQgcmVzdWx0IGluIHBvc3RpbmcgcmVkaXJlY3QgbWVzc2FnZXMKCSAgd2l0aCBlbXB0eSByZWRpcmVjdCBzdHJpbmdzLiBJdCBpcyBiZXR0ZXIgbm90IHRvIHBvc3QgdGhlbS4KCSAgQW4gZXhhbXBsZSBpcyB0aGUgZmlsZSBvbiBidWcgIzU5NzQ5NwoKMjAxMC0wMS0xNCAxODoxOToyNSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2FkZW11eDogcG9saXNoIGxhc3QgYnVmZmVyIGVuZCB0aW1lIHVzYWdlCgkgIFRoYXQgaXMsIHJlc2V0IGl0IHVwb24gc2VlaywgYW5kIG5vdGUgdGhhdCAocmFyZWx5KSBsYXN0IHB1c2hlZCBidWZmZXIKCSAgdGltZSBtaWdodCBwcmVjZWRlIHNlZ21lbnQgc3RhcnQuCgoyMDEwLTAxLTEzIDE2OjQ4OjQ2ICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvdmlkZW9taXhlci9ibGVuZF9tbXguaDoKCSAgdmlkZW9taXhlcjogdXNlICdxJyBjb25zdHJhaW50IGluc3RlYWQgb2YgJ3InCgkgIFRoaXMgYXZvaWRzIHRoZSAiYmFkIHJlZ2lzdGVyIG5hbWUgYCVkaWwnIiBjb21waWxhdGlvbiBlcnJvcnMgb24gMzJiaXQgd2hlcmUKCSAgYmVjYXVzZSBvZiAncicgZ2NjIHB1dHMgdGhlIHZhbHVlIGluIGEgZ2VuZXJhbCBwdXJwb3NlIHJlZ2lzdGVyIGFuZCB0aGVuIHRyaWVzCgkgIHRvIGFjY2VzcyB0aGUgbG93ZXIgcGFydCBhcyAlZGlsLyVzaWwgd2hpY2ggaXMgbm90IGV4aXN0aW5nIG9uIDMyYml0LiAncScgcmVxdWVzdHMKCSAgYS1kIHJlZ2lzdGVycwoKMjAxMC0wMS0xMyAxNjo0NDo1OCArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICBhdmk6IGFkZCBtaXNzaW5nIGluY2x1ZGUgZm9yIHNzY2FuZgoKMjAxMC0wMS0xMyAwOTozNjowMyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplcjEwYmFuZHMuYzoKCSAgZXF1YWxpemVyOiBGaXggcHJvcGVydHkgZGVzY3JpcHRpb24gZm9yIHRoZSAzcmQgYmFuZCBvZiB0aGUgMTBiYW5kIGVxdWFsaXplcgoJICBUaGUgZnJlcXVlbmN5IGlzIGFjdHVhbGx5IDIzNyBIeiwgbm90IDIyNyBIei4KCSAgRml4ZXMgYnVnICM2MDY2OTIuCgoyMDEwLTAxLTEzIDA5OjIyOjIwICswMTAwICBLaXBwIENhbm5vbiA8a2Nhbm5vbkBsaWdvLmNhbHRlY2guZWR1PgoKCSogZ3N0L2F1ZGlvZngvYXVkaW9hbXBsaWZ5LmM6CgkgIGF1ZGlvYW1wbGlmeTogQWxsb3cgbmVnYXRpdmUgYW1wbGlmaWNhdGlvbnMKCSAgRml4ZXMgYnVnICM2MDY4MDcuCgoyMDEwLTAxLTEzIDA5OjE3OjA1ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC90YWdsaWIvZ3N0YXBldjJtdXguY2M6CgkgIGFwZXYybXV4OiBEb24ndCBjYWxsIGNvbnN0cnVjdG9ycyBkaXJlY3RseSwgdGhpcyBsZWFkcyB0byBjb21waWxlciBlcnJvcnMgd2l0aCBnY2MgNC41CgoyMDEwLTAxLTEyIDE3OjM5OjA1ICswMTAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiB1c2UgR19HU0laRV9GT1JNQVQgZm9yIHBsYXRmb3JtIGluZGVwZW5kZW50IGdzaXplIHF1YWxpZmllcgoJICBGaXhlcyBidWlsZCBvbiBtYWNvc3gKCjIwMTAtMDEtMTEgMTk6MDI6MzQgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thZGVtdXg6IHJlZmFjdG9yIGVvcyBzZW5kaW5nIHdoZW4gcGF1c2luZyBsb29wCgkgIEFsc28sIHByZXZlbnQgaGFuZ2luZyBpZiBubyBwYWRzIHlldCBvbiB3aGljaCB0byBzZW5kIGVvcyBieQoJICBwb3N0aW5nIGEgbWVzc2FnZSBpbnN0ZWFkLgoKMjAxMC0wMS0xMSAxNzo1MDozNSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2FkZW11eDogc3RhbmRhcmRpemUgc2VlayBoYW5kbGluZwoJICAuLi4gd2hpY2ggaW1wbGllcyBmaXhpbmcgc29tZSBjb3JuZXIgY2FzZXMuCgoyMDEwLTAxLTExIDE1OjE0OjA2ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSAgbWF0cm9za2FtdXg6IHVzZSBtb3JlIGdlbmVyaWMgeGlwaE5fc3RyZWFtaGVhZGVyX3RvX2NvZGVjZGF0YSBoZWxwZXIKCjIwMTAtMDEtMTEgMTc6NTA6MDQgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJICBtYXRyb3NrYW11eDogcmVmbG93IGF1ZGlvIGFuZCB2aWRlbyBzZXRjYXBzIGFuZCBpbXByb3ZlIGxvZ2dpbmcKCSAgQWxzbyBlbnN1cmUgd2lkdGggYW5kIGhlaWdodCBhcmUgYXZhaWxhYmxlIGFzIHRoZXkgYXJlIG1hbmRhdG9yeQoJICBpbiBtYXRyb3NrYSBzcGVjcy4KCjIwMTAtMDEtMTEgMTE6NDI6NDMgLTA4MDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEBzb25nYmlyZG5lc3QuY29tPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBmaXggb2Zmc2V0IGZvciB0eXBlIDIgbXA0YSBzb3VuZCBzYW1wbGUgZGVzY3JpcHRpb25zLgoJICBBbGxvd3MgdXMgdG8gY29ycmVjdGx5IGZpbmQgdGhlIGVzZHMgKGFuZCB0aHVzIHRoZSBjb2RlYyBkYXRhKSBmb3Igc3VjaAoJICBtcDRhIGZpbGVzLgoKMjAxMC0wMS0xMSAxNTo0NTo0OSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cG1wNGdkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wNGdwYXkuYzoKCSAgcnRwbXA0ZyhkZSlwYXk6IE9ubHkgaGFuZGxlIHJhdyBhYWMKCSAgcnRwbXA0ZyhkZSlwYXkgc2hvdWxkIG9ubHkgaGFuZGxlIHJhdyBBQUMgc3RyZWFtcwoKMjAxMC0wMS0xMSAxODo1OTo0MyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyLmM6CgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIuaDoKCSAgdmlkZW9taXhlcjogSW1wbGVtZW50IGJhc2ljIFFvUwoJICBUaGlzIGRyb3BzIGZyYW1lcyBpZiB0aGV5J3JlIHRvbyBsYXRlIGFueXdheSBiZWZvcmUgYmxlbmRpbmcgYW5kIGFsbAoJICB0aGF0IHN0YXJ0cyBidXQgUW9TIGV2ZW50cyBhcmUgbm90IGZvcndhcmRlZCB1cHN0cmVhbS4gSW4gdGhlIGZ1dHVyZQoJICB0aGUgUW9TIGV2ZW50cyBzaG91bGQgYmUgdHJhbnNmb3JtZWQgc29tZWhvdyBhbmQgZm9yd2FyZGVkIHVwc3RyZWFtLgoKMjAxMC0wMS0xMSAxNDo0ODoyNiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cG1wNGFkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wNGFwYXkuYzoKCSAgcnRwbXA0YShkZSlwYXk6IE9ubHkgYWNjZXB0IHJhdyBhYWMKCSAgcnRwbXA0YShkZSlwYXkgc2hvdWxkIG9ubHkgaGFuZGxlIHJhdyBhYWMgdG8gY29uZm9ybSB0byB0aGUgUkZDCgoyMDEwLTAxLTExIDE4OjM1OjQ3ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb21peGVyL2JsZW5kLmM6CgkqIGdzdC92aWRlb21peGVyL2JsZW5kX21teC5oOgoJICB2aWRlb21peGVyOiBBZGQgTU1YIGltcGxlbWVudGF0aW9ucyBmb3IgSTQyMCBhbmQgYWxsIG5vbi1hbHBoYSBSR0IgZm9ybWF0cwoKMjAxMC0wMS0wNCAxMDoyNDo0NSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9taXhlci9NYWtlZmlsZS5hbToKCSogZ3N0L3ZpZGVvbWl4ZXIvYmxlbmQuYzoKCSogZ3N0L3ZpZGVvbWl4ZXIvYmxlbmQuaDoKCSogZ3N0L3ZpZGVvbWl4ZXIvYmxlbmRfYXl1di5jOgoJKiBnc3QvdmlkZW9taXhlci9ibGVuZF9iZ3JhLmM6CgkqIGdzdC92aWRlb21peGVyL2JsZW5kX2k0MjAuYzoKCSogZ3N0L3ZpZGVvbWl4ZXIvYmxlbmRfbW14Lmg6CgkqIGdzdC92aWRlb21peGVyL2JsZW5kX3JnYi5jOgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyLmM6CgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIuaDoKCSAgdmlkZW9taXhlcjogUmVmYWN0b3IgcHJvY2Vzc2luZyBmdW5jdGlvbnMKCSAgVGhpcyBhbGxvd3MgZWFzaWVyIHBsdWdnaW5nIG9mIG9wdGltaXplZCBwcm9jZXNzaW5nIGZ1bmN0aW9ucwoJICBpbiB0aGUgZnV0dXJlLCBsaWtlIGZvciBTU0Ugb3IgQWx0aVZlYy4KCjIwMTAtMDEtMTEgMTM6MjY6MzIgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F2aS9nc3RhdmltdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJICBhdmltdXg6IG1hdHJvc2thbXV4OiByZW5hbWUgYWFjJ3Mgc3RyZWFtLWZvcm1hdCB0byByYXcKCSAgQUFDJ3Mgbm9uZSBzdHJlYW0tZm9ybWF0IGhhcyBiZWVuIHJlbmFtZWQgdG8gcmF3LCByZW5hbWUKCSAgb24gYXZpbXV4IGFuZCBtYXRyb3NrYW11eCBhcyB3ZWxsCgoyMDEwLTAxLTExIDEyOjA3OjI5IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSAgbWF0cm9za2FtdXg6IE9ubHkgYWNjZXB0IHJhdyBhYWMKCSAgbWFrZXMgbWF0cm9za2FtdXggcmVqZWN0IGFhYyBzdHJlYW1zIHRoYXQgYXJlIG5vdAoJICBpbiByYXcgZm9ybWF0IChzdHJlYW0tZm9ybWF0PW5vbmUpCgkgIEZpeGVzICM1OTgzNTAKCjIwMTAtMDEtMTEgMTI6MDg6NTUgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F2aS9nc3RhdmltdXguYzoKCSAgYXZpbXV4OiBPbmx5IGFjY2VwdCByYXcgYWFjCgkgIG1ha2VzIGF2aW11eCByZWplY3QgYWFjIHN0cmVhbXMgdGhhdCBhcmUgbm90CgkgIGluIHJhdyBmb3JtYXQgKHN0cmVhbS1mb3JtYXQ9bm9uZSkKCSAgRml4ZXMgIzU5ODM1MAoKMjAxMC0wMS0xMSAxMDozODoxMCArMDEwMCAgUm9iZXJ0IFN3YWluIDxyb2JlcnQuc3dhaW5AY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBPb3BzLiBUaGUgZ3BvaW50ZXIgY2FzdCBpcyBuZWVkZWQgYmVjYXVzZSBvZiB0aGUgY29uc3QgcXVhbGlmaWVycyBvbiB0aGUgZGF0YSBlbGVtZW50cwoKMjAxMC0wMS0xMSAxMDoxNzo1NCArMDEwMCAgUm9iZXJ0IFN3YWluIDxyb2JlcnQuc3dhaW5AY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBEZWJ1ZyAtPiBpbmZvIGxldmVsIGZvciBhIG1lc3NhZ2UgZm9yIGJlbmNobWFya2luZyBpbmRleCBwYXJzaW5nCgkgIFRoZSBleHRyYSBtZXNzYWdlIG91dHB1dCBhdCBoaWdoZXIgbGV2ZWxzIGFmZmVjdHMgdGhlIGFjY3VyYWN5IG9mIHRoZQoJICBiZW5jaG1hcmsuCgoyMDEwLTAxLTExIDEwOjA1OjEwICswMTAwICBSb2JlcnQgU3dhaW4gPHJvYmVydC5zd2FpbkBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IERvbid0IGNoZWNrIGZvciBOVUxMIHBvaW50ZXJzIG9yIGNhc3QgdG8gZ3BvaW50ZXIgYXMgdGhpcyBpcyBub3QgbmVlZGVkCgoyMDEwLTAxLTA4IDEzOjU1OjA1ICswMTAwICBSb2JlcnQgU3dhaW4gPHJvYmVydC5zd2FpbkBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IFJlZmFjdG9yIHN0Ymwgc3ViLWF0b20gZnJlZWluZy4gRnJlZSB3aGVuIGluZGV4IGhhcyBiZWVuIGNvbXBsZXRlbHkgcGFyc2VkLgoKMjAxMC0wMS0wOCAxNDozMjowNiArMDEwMCAgUm9iZXJ0IFN3YWluIDxyb2JlcnQuc3dhaW5AY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBBdm9pZCB3aGl0ZXNwYWNlIGNvbW1pdHMgZHVlIHRvIGluY29uc2lzdGVudCBHTlUgaW5kZW50IGJlaGF2aW91cgoKMjAxMC0wMS0xMSAwMDoxMDozNCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IHJlbW92ZSBuZXdsaW5lIGF0IGVuZCBvZiBkZWJ1ZyBzdGF0ZW1lbnQKCjIwMTAtMDEtMDggMTk6MjY6MjEgKzAxMDAgIEhhdmFyZCBHcmFmZiA8aGF2YXJkLmdyYWZmQHRhbmRiZXJnLmNvbT4KCgkqIGdzdC91ZHAvZ3N0bXVsdGl1ZHBzaW5rLmM6CgkgIG11bHRpdWRwc2luazogQ29tcGlsZXIgd2FybmluZyBmaXhlcyBmb3IgV2luZG93cwoJICBKdXN0IHNpbXBsZSBtaXNzaW5nIGNhc3RzCgkgIEZpeGVzIGJ1ZyAjNjA2NDM4LgoKMjAxMC0wMS0wOCAxODowNDoxNCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmxhYy9nc3RmbGFjZW5jLmM6CgkgIGZsYWNlbmM6IGZpeCBzZWVrcG9pbnRzIHByb3BlcnR5IGNvcHktYW5kLXBhc3RlIGRvY3VtZW50YXRpb24KCjIwMTAtMDEtMDYgMTc6MDY6NTMgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2VuYy5jOgoJKiBleHQvZmxhYy9nc3RmbGFjZW5jLmg6CgkgIGZsYWNlbmM6IG9wdGlvbmFsbHkgYWRkIGEgc2VlayB0YWJsZQoJICBBUEk6IEdzdEZsYWNFbmM6c2Vla3BvaW50cwoJICBGaXhlcyAjMzUxNTk1LgoKMjAxMC0wMS0wOCAxMTozMzowMiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIGF2aWRlbXV4OiBVc2UgbW9yZSBnbGliIGFuZCBiZSBzYWZlcgoJICBCZSBzYWZlciBvbiBzc2NhbmYgYnkgbGltaXRpbmcgc3RyaW5nIGZvcm1hdCBzaXplcy4KCSAgUmVtb3ZlIHVzZWxlc3MgcGFyYW1ldGVyIGFuZCB1c2UgZ19zdHJuZHVwLgoKMjAxMC0wMS0wOCAxMDo0NDo0NCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIGF2aWRlbXV4OiBTaW1wbGlmeWluZyBjb2RlCgkgIEdyZWF0bHkgc2ltcGxpZnkgdGhlIElESVQgY2h1bmsgaGFuZGxpbmcgYnkgdXNpbmcgc3NjYW5mCgkgIGluc3RlYWQgb2YgJ21hbnVhbGx5JyBwYXJzaW5nLiBBbHNvIHJlcGxhY2VzIHN0cm5jYXNlY21wIGFuZAoJICBpc19hbHBoYS9pc19kaWdpdCB3aXRoIGdsaWIgdmVyc2lvbnMuCgoyMDEwLTAxLTA4IDEwOjE4OjMwIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgYXZpZGVtdXg6IGl0J3MgZmViIGZvciBmZWJydWFyeQoJICBGaXggdHlwbyBpbiBsYXN0IGNvbW1pdC4KCjIwMTAtMDEtMDggMDk6MTc6MjIgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICBhdmlkZW11eDogUGFyc2UgYW5kIHBvc3QgSURJVCBkYXRlcwoJICBQYXJzZXMgYW5kIHBvc3QgZGF0ZSB0YWdzIGNvbnRhaW5lZCBpbiBJRElUIGNodW5rcy4KCSAgRml4ZXMgIzUwMzU4MgoKMjAxMC0wMS0wNyAxNzoyNTowNSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9meC9hdWRpb2ZpcmZpbHRlci5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb2Z4YmFzZWZpcmZpbHRlci5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb2Z4YmFzZWZpcmZpbHRlci5oOgoJICBhdWRpb2Z4YmFzZWZpcmZpbHRlcjogQWRkIHByb3BlcnR5IGZvciBub3QgZHJhaW5pbmcgdGhlIGhpc3Rvcnkgb24ga2VybmVsIGNoYW5nZXMKCSAgQ3VycmVudGx5IHRoaXMgb25seSB3b3JrcyBpZiB0aGUga2VybmVsIHNpemUgZG9lc24ndCBjaGFuZ2UsIGluIHRoZSBmdXR1cmUKCSAgaXQgd2lsbCBiZSBwb3NzaWJsZSB0byBjaGFuZ2UgdGhlIGtlcm5lbCBzaXplIHRvbyB3aXRob3V0IGRyYWluaW5nCgkgIHRoZSBjb21wbGV0ZSBoaXN0b3J5IGFuZCB3aXRob3V0IGxvb3NpbmcgYW55dGhpbmcuCgkgIFBhcnRpYWxseSBiYXNlZCBvbiBhIHBhdGNoIGJ5CgkgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKMjAxMC0wMS0wNyAxNjo1ODo1NSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2NHBheS5jOgoJICBydHBoMjY0cGF5OiByZW1vdmUgd2VpcmQgbWVtY21wIGNvZGUKCSAgVXNlIHBsYWluIG1lbWNtcCBmb3IgY29tcGFyaW5nIG1lbW9yeSBpbnN0ZWFkIG9mIHRoZSBjdXN0b20gYnVnZ3kgb25lLgoJICBGaXhlcyAjNjA2MTk4CgoyMDEwLTAxLTA3IDE1OjM4OjM2ICswMTAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L2xldmVsL2dzdGxldmVsLmM6CgkgIGxldmVsOiBmaXggdHlwbyBpbiAnbWVzc2FnZScgcHJvcGVydHkgZGVzY3JpcHRpb24KCjIwMTAtMDEtMDYgMTQ6MDY6MTQgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5jOgoJICBmbGFjZGVjOiByZWFsbHkgdXNlIHVwc3RyZWFtIHRpbWVzdGFtcCBpZiB0aGVyZSBpcyBvbmUKCSAgU2VlL2ZpeGVzICM2MDM0NzEuCgoyMDEwLTAxLTA2IDEzOjQ1OjU5ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBnNzI5cGF5LmM6CgkgIHJ0cGc3MjhwYXk6IHJlbW92ZSB1bnVzZWQgYWRhcHRlciBwZWVrCgoyMDEwLTAxLTA1IDE5OjAwOjM1IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2RlaW50ZXJsYWNlLmM6CgkgIGRlaW50ZXJsYWNlOiBJbXByb3ZlIHBhc3N0aHJvdWdoIHRlc3RzCgkgIEltcHJvdmUgcGFzc3Rocm91Z2ggdGVzdHMgYnkgZm9yY2luZyBtb3JlIHNwZWNpZmljCgkgIGludGVybGFjZWQvZGVpbnRlcmxhY2VkIGNhcHMgdG8gYmUgdGVzdGVkCgoyMDEwLTAxLTA1IDE4OjIyOjQ5IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2RlaW50ZXJsYWNlLmM6CgkgIGRlaW50ZXJsYWNlOiBBZGRzIHNvbWUgZG9jcyB0byB0aGUgbmV3IHRlc3RzCgkgIEFkZHMgc29tZSBkb2NzIGV4cGxhaW5pbmcgdGhlIHV0aWxpdHkgZnVuY3Rpb25zIG9mIHRoZSBjaGVjawoJICB0ZXN0cyBvZiBkZWludGVybGFjZQoKMjAxMC0wMS0wNSAxODoxNDowOCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9kZWludGVybGFjZS5jOgoJICBkZWludGVybGFjZTogQWRkcyB0ZXN0cyBmb3IgcGFzc3Rocm91Z2gKCSAgQWRkcyB0ZXN0cyBmb3IgY2hlY2tpbmcgaWYgdGhlIGVsZW1lbnQgcmVhbGx5IGRvZXMKCSAgcGFzc3Rocm91Z2ggaW4gZGlzYWJsZWQgbW9kZSBhbmQgaW4gYXV0byAoaWYgdGhlIGlucHV0IGlzCgkgIG5vdCBpbnRlcmxhY2VkKQoKMjAxMC0wMS0wNSAwNzo1MDo1MSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZGVpbnRlcmxhY2UuYzoKCSAgZGVpbnRlcmxhY2U6IEFkZHMgdGVzdHMgZm9yIGNhcHMgYWNjZXB0YW5jZQoJICBBZGRzIGNoZWNrIHVuaXQgdGVzdHMgZm9yIGRlaW50ZXJsYWNlIGZvciB2YWxpZGF0aW5nCgkgIGNhcHMgYWNjZXB0aW5nIGFuZCB0aGUgZXhwZWN0ZWQgY2FwcyBvdXRwdXQgb24gdGhlCgkgIG90aGVyIHBhZAoKMjAxMC0wMS0wNCAxMzo0MzowMCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZGVpbnRlcmxhY2UuYzoKCSAgZGVpbnRlcmxhY2U6IEFkZHMgYmFzaWMgY2hlY2sgdGVzdAoJICBBZGRzIGEgYmFzaWMgY2hlY2sgdGVzdCBmb3IgZGVpbnRlcmxhY2UgZWxlbWVudAoKMjAxMC0wMS0wNCAxNTo0NDoyOCAtMDgwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHNvbmdiaXJkbmVzdC5jb20+CgoJKiBnc3QvcXRkZW11eC9NYWtlZmlsZS5hbToKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBBZGQgc3VwcG9ydCBmb3Igd2F2ZS1zdHlsZSBhdWRpbyBpbiBxdC4KCSAgVXNlcyBnc3RyaWZmIHRvIHBhcnNlIHRoZSB3YXZlIGhlYWRlcnMgYXBwcm9wcmlhdGVseS4gVGVzdGVkIHdpdGggTVMtQURQQ00KCSAgY29udGVudC4KCjIwMDktMTItMzEgMTc6MDk6MDMgLTA1MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cC1wYXlsb2FkaW5nLmM6CgkgIHRlc3RzOiBBZGQgRy43MjkgUlRQIHBheWxvYWRlci9kZXBheWxvYWRlciB0ZXN0CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MDYwNTAKCjIwMDktMTItMzEgMTY6NTI6MzAgLTA1MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwZzcyOXBheS5jOgoJICBydHBnNzI5cGF5OiBTaW1wbGlmeSBhZGFwdGVyIHVzYWdlCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MDYwNTAKCjIwMDktMTItMzEgMTY6Mjc6MzAgLTA1MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwZzcyOXBheS5jOgoJICBydHBnNzI5cGF5OiBTdXBwb3J0IHB0aW1lIGZyb20gY2FwcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjA2MDUwCgoyMDA5LTEyLTAyIDE5OjM1OjIxICswNTMwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL1JFQURNRToKCSAgcnRwOiBBZGQgbWF4cHRpbWUgdG8gdGhlIFJFQURNRQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjA2MDUwCgoyMDEwLTAxLTA1IDE5OjAzOjA2ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9NYWtlZmlsZS5hbToKCSogZ3N0L3J0cC9nc3RydHAuYzoKCSogZ3N0L3J0cC9nc3RydHBnNzIzZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnNzIzZGVwYXkuaDoKCSAgcnRwZzcyM2RlcGF5OiBhZGQgRzcyMyBkZXBheWxvYWRlcgoKMjAxMC0wMS0wNSAxOTowMjozOSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwZzcyOWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZzcyOWRlcGF5Lmg6CgkgIHJ0cGc3MjlkZXBheTogcmVtb3ZlIHVudXNlZCB2YXJpYWJsZQoKMjAxMC0wMS0wNSAxODozMzoyNSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwZzcyM3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjNwYXkuaDoKCSAgcnRwZzcyM3BheTogcmV3cml0ZSBwYXlsb2FkZXIKCSAgSGFuZGxlIGFsbCAzIHBhY2tldCBzaXplcyBhY2NvcmRpbmcgdG8gUkZDIDM1NTEuCgkgIFRvdGFsbHkgdW50ZXN0ZWQsIHdlIGRvbid0IGhhdmUgYSBHNzIzIGVuY29kZXIuCgkgIEZpeGVzICM2MDU4ODIKCjIwMTAtMDEtMDUgMTE6NDc6MjAgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IGZpeCBjaHVuayBjb3VudGVyCgoyMDEwLTAxLTA0IDE5OjQ0OjUzICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBtb3JlIHdvcmsgYXQgcmVkdWNpbmcgbG9vcCBvdmVyaGVhZAoJICBUcnkgdG8gYXZvaWQgZGVyZWZzIHdoZW4gcGFyc2luZyB0aGUgaW5kZXguIFNhdmUgdGhlIHN0YXRlIGludG8gdGhlIHN0cnVjdHVyZXMKCSAgd2hlbiB3ZSBleGl0IHRoZSBsb29wIGluc3RlYWQgb2YgZm9yIGVhY2ggaXRlcmF0aW9uLgoKMjAxMC0wMS0wNCAxNjozMzozMCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogY2xlYW51cHMgYW5kIG1ha2UgZHVyYXRpb24gbW9yZSBhY2N1cmF0ZQoJICBNYWtlIHRoZSBRdERlbXV4U2FtcGxlIHN0cnVjdCBzbWFsbGVyIGJ5IGtlZXBpbmcgdGhlIGR1cmF0aW9uIGFuZCB0aGUgcHRzX29mZnNldAoJICBhcyB0aGVpciAzMiBiaXQgdmFsdWVzLgoJICBNYWtlIHNvbWUgbWFjcm9zIHRvIGNhbGN1bGF0ZSBQVFMsIERUUyBhbmQgZHVyYXRpb24gb2YgYSBzYW1wbGUuCgkgIERlcmVmIHRoZSBzYW1wbGUgaW5kZXggbGVzcyBvZnRlbiBieSBrZWVwaW5nIGEgcmVmIHRvIHRoZSBzYW1wbGUgd2UncmUgZGVhbGluZwoJICB3aXRoLgoKMjAxMC0wMS0wNCAxMzo0MToxOCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogc2ltcGxpZnkgbG9naWMgdG8gY2FsY3VsYXRlIGR1cmF0aW9uCgkgIFNpbmNlIHdlIG5vIGxvbmdlciBzdG9yZSB0aGUgdGltZXN0YW1wIGFuZCBkdXJhdGlvbiBpbiBuYW5vc2Vjb25kcywgd2UgY2FuIG5vdwoJICBzaW1wbHkgc3RvcmUgdGhlIGR1cmF0aW9uIGFzLWlzLgoKMjAxMC0wMS0wMSAxNjo0Mjo1NyArMDEwMCAgUm9iZXJ0IFN3YWluIDxyb2JlcnQuc3dhaW5AY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBTdG9yZSB0aW1lc3RhbXBzIGluIG1vdiBmb3JtYXQgaW4gdGhlIGluZGV4CgkgIFRoaXMgYWxsb3dzIGZhc3RlciBidWlsZGluZyBvZiB0aGUgaW5kZXggdXBvbiBzZWVrcyBzbyB0aGF0IHNjYWxpbmcgb2YKCSAgdGltZXN0YW1wcyBvbmx5IG9jY3VycyB3aGVuIGFjdHVhbGx5IG5lZWRlZC4KCjIwMDktMTItMTggMTM6NTQ6NDYgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IG1ha2Ugc2Vla2luZyBpbiBwdXNoIG1vZGUgd29yawoJICBNb3ZlIHNhbXBsZSBwb3NpdGlvbiBjaGVja3MgaW50byBxdGRlbXV4X3BhcnNlX3NhbXBsZXMgd2hlcmUgd2UgY2FuIHByb3RlY3QgaXQKCSAgd2l0aCBhIGxvY2suCgkgIFJlZmFjdG9yIGFuZCBtYWtlIGFuIHF0ZGVtdXhfZW5zdXJlX2luZGV4IGZ1bmN0aW9uLgoJICBSZW5hbWUgcXRkZW11eF9kb19wdXNoX3NlZWsgdG8gcXRkZW11eF9zZWVrX29mZnNldCBpbiBvcmRlciB0byBhdm9pZCBjb25mdXNpb24KCSAgd2l0aCBnc3RfcXRkZW11eF9kb19wdXNoX3NlZWsuCgoyMDA5LTEyLTE4IDEyOjQ0OjI3ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBtb3ZlIGVycm9yIGNvZGUgb3V0IG9mIG5vcm1hbCBmbG93CgoyMDA5LTExLTI0IDE2OjI3OjI2ICswMTAwICBSb2JlcnQgU3dhaW4gPHJvYmVydC5zd2FpbkBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguaDoKCSAgcXRkZW11eDogQWRkIHB1c2ggbW9kZSBzZWVrIHN1cHBvcnQgZm9yIHNlZWtpbmcgdG8gb2J0YWluIHRoZSBtb292IGF0b20KCjIwMTAtMDEtMDUgMTI6MjI6MDkgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IGZpeCBvbi1ucHQtc3RvcCBzaWduYWwgd2FybmluZ3MgZm9yIFJEVAoJICBUaGUgUkRUIG1hbmFnZXIgZG9lcyBub3QgaW1wbGVtZW50IHRoaXMgc2lnbmFsIHNvIHdlIG5lZWQgdG8gY2hlY2sgZm9yIGl0IGJlZm9yZQoJICB0cnlpbmcgdG8gY29ubmVjdCB0byBpdC4KCjIwMTAtMDEtMDUgMDk6NDc6MDAgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJICB2NGwyc3JjOiBmaXggbWVtb3J5IGxlYWsgaW4gbmV3IHVyaSBoYW5kbGVyIGNvZGUKCSAgRG9uJ3QgbGVhayBhIHN0cmluZyBldmVyeXRpbWUgZ2V0X3VyaSgpIGlzIGNhbGxlZCBhbmQgYSBkZXZpY2UKCSAgaGFzIGJlZW4gc2V0LiBUaGVyZSdzIGEgbGltaXRlZCBudW1iZXIgb2YgZGV2aWNlcywgc28ganVzdAoJICBpbnRlcm4gdGhlIHN0cmluZyBpbnN0ZWFkIG9mIGRvaW5nIG1vcmUgZWxhYm9yYXRlIGhvdXNla2VlcGluZwoJICBhbmQgc3RvcmluZyBpdCBpbiB0aGUgaW5zdGFuY2Ugc3RydWN0IG9yIHNvLgoKMjAxMC0wMS0wMSAxNDoxMDo0OSArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2F2aS9nc3RhdmltdXguYzoKCSAgYXZpbXV4OiBmaXggdHlwbyBpbiB3YXJuaW5nIG1lc3NhZ2UKCjIwMTAtMDEtMDQgMDk6Mjg6MzYgLTAzMDAgIFJvYmVydCBXZWlkbGljaCA8Z25vbWVidWd6aWxsYUByb2JlcnQud2VpZGxpY2guY2M+CgoJKiBleHQvc2hvdXQyL2dzdHNob3V0Mi5jOgoJKiBleHQvc2hvdXQyL2dzdHNob3V0Mi5oOgoJICBzaG91dDJzZW5kOiBBZGQgJ3B1YmxpYycgcHJvcGVydHkKCSAgQWRkcyBhIHByb3BlcnR5IHRvIHNldCAncHVibGljJyBmbGFnIG9uIGxpYnNob3V0LCBtYWtpbmcKCSAgdGhlIHN0cmVhbSBsaXN0ZWQgb24gdGhlIHNlcnZlcidzIHN0cmVhbSBkaXJlY3RvcnkuCgkgIEZpeGVzICM2MDUyNjkKCjIwMDktMTItMzAgMTQ6MTQ6NTUgKzA1MzAgIEFydW4gUmFnaGF2YW4gPGFydW4ucmFnaGF2YW5AY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBBZGQgdGFncyBmb3IgYXZlcmFnZSBhbmQgbWF4aW11bSBiaXRyYXRlCgkgIEZpeGVzICM1OTkzMDAuCgoyMDA5LTEyLTI2IDE2OjU5OjE0IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb2Z4L2F1ZGlvZnhiYXNlZmlyZmlsdGVyLmM6CgkgIGF1ZGlvZnhiYXNlZmlyZmlsdGVyOiBkbyBub3QgdHJ5IHRvIGFsbG9jIHJlYWxseSBsYXJnZSBidWZmZXJzCgkgIFdoZW4gbnNhbXBsZXNfb3V0IGlzIGxhcmdlciB0aGFuIG5zYW1wbGVzX2luLCB1c2luZyB1bnNpZ25lZAoJICBpbnRzIGxlYWQgdG8gYSBvdmVyZmxvdyBhbmQgdGhlIHJlc3VsdGluZyB2YWx1ZSBpcyB3cm9uZyBhbmQKCSAgd2F5IHRvbyBsYXJnZSBmb3IgYWxsb2NhdGluZyBhIGJ1ZmZlci4gVXNlIHNpZ25lZCBpbnRlZ2VycwoJICBhbmQgcmV0dXJuaW5nIGltbWVkaWF0ZWxseSB3aGVuIHRoYXQgaGFwcGVucy4KCjIwMDktMTItMjUgMTI6Mzg6MzUgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9taXhlci9ibGVuZF9heXV2LmM6CgkgIHZpZGVvbWl4ZXI6IG9wdGltaXplIGJsZW5kIGNvZGUgc29tZSBtb3JlCgkgIFVzZSBtb3JlIGVmZmljaWVudCBmb3JtdWxhIHRoYXQgdXNlcyBsZXNzIG11bHRpcGxpZXMuCgkgIFJlZHVjZSB0aGUgYW1vdW50IG9mIHNjYWxhciBjb2RlLCB1c2UgTU1YIHRvIGNhbGN1bGF0ZSB0aGUgZGVzaXJlZAoJICBhbHBoYSB2YWx1ZS4KCSAgVW5yb2xsIGFuZCBoYW5kbGUgMiBwaXhlbHMgaW4gb25lIGl0ZXJhdGlvbiBmb3IgaW1wcm92ZWQgcGFpcmluZy4KCjIwMDktMTItMjQgMjI6NTk6MDkgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9taXhlci9ibGVuZF9heXV2LmM6CgkqIGdzdC92aWRlb21peGVyL2JsZW5kX2JncmEuYzoKCSogZ3N0L3ZpZGVvbWl4ZXIvYmxlbmRfaTQyMC5jOgoJKiBnc3QvdmlkZW9taXhlci9ibGVuZF9yZ2IuYzoKCSAgdmlkZW9taXhlcjogc2NhbGUgYW5kIGNsYW1wCgkgIFNjYWxlIGFuZCBjbGFtcCB0byB0aGUgbWF4IGFscGhhIHZhbHVlcy4KCjIwMDktMTItMjQgMjI6NTA6MzEgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYWxwaGEvZ3N0YWxwaGEuYzoKCSAgYWxwaGE6IHNjYWxlIGFuZCBjbGFtcCBhbHBoYSB0byBpdHMgZnVsbCBleHRlbmQKCSAgQ29udmVydCB0aGUgYWxwaGEgdmFsdWUgdG8gMC0+MjU1IHdoZW4gc2V0dGluZyBhbmQgdG8gMC0+MjU2IHdoZW4gdXNpbmcgYXMKCSAgYSBzY2FsaW5nIGZhY3Rvci4gVGhpcyBtYWtlcyBzdXJlIHdlIGNhbiByZWFjaCB0aGUgZnVsbCBvcGFjaXR5IHZhbHVlIG9mIDB4ZmYgaW4KCSAgYWxsIGNhc2VzLgoKMjAwOS0xMi0yNCAyMjoyMzowMSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogZml4IHNvbWUgY29tbWVudHMsIHJlbW92ZSBwcm9wZXJ0eSBjaGVjawoJICBGaXggc29tZSBjb21tZW50cywgY2xhcmlmeSBzb21lIEZJWE1FcwoJICBSZW1vdmUgdGhlIG9uLW50cC1zdG9wIHNpZ25hbCBjaGVjayBub3cgdGhhdCB0aGUgaml0dGVyYnVmZmVyIGlzIGluCgkgIC1nb29kIGFuZCB3ZSBrbm93IHRoYXQgaXQgc3VwcG9ydHMgdGhpcyBzaWduYWwuCgoyMDA5LTEyLTI0IDIwOjI3OjU3ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlci5jOgoJICB2aWRlb21peGVyOiBzb21lIHRyaXZpYWwgY2xlYW51cHMKCjIwMDktMTItMjQgMTc6MDQ6MjggLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBQYXJzZSBhbGwgcnRwaW5mbyBlbnRyaWVzCgkgIERvIG5vdCBmb3JnZXQgdG8gcGFyc2UgYWxsIHJ0cC1pbmZvIGVudHJpZXMsIGluc3RlYWQgb2YKCSAgcGFyc2luZyB0aGUgZmlyc3Qgb25lIG9ubHkuCgkgIEZpeGVzICM2MDUyMjIKCjIwMDktMTItMjIgMTI6NDQ6NTAgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBwZXJmIHRhZyBzaG91bGQgbWFwIHRvIEdTVF9UQUdfQVJUSVNUCgoyMDA5LTEyLTI0IDE3OjAzOjAyICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2ludGVybGVhdmUvaW50ZXJsZWF2ZS5jOgoJICBpbnRlcmxlYXZlOiBmaXggd2VpcmQgaW5kZW50YXRpb24KCjIwMDktMTItMjQgMTc6MDE6NTQgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNwcGF5LmM6CgkgIHJ0cGgyNjNwcGF5OiB1c2UgZmFzdGVyIF9hZGFwdGVyX2NvcHkoKSB3aGVtIHBvc3NpYmxlCgoyMDA5LTEyLTI0IDE3OjAxOjE1ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvZXhhbXBsZXMvYXVkaW9meC9maXJmaWx0ZXItZXhhbXBsZS5jOgoJICB0ZXN0czogdXNlIHJpZ2h0IHR5cGUgd2hlbiBwYXNzaW5nIHZhcmFyZyB2YWx1ZQoKMjAwOS0xMi0yMyAxNzo1MDozNCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmxhYy9nc3RmbGFjZGVjLmM6CgkqIGV4dC9mbGFjL2dzdGZsYWNkZWMuaDoKCSAgZmxhY2RlYzogdXNlIGEgc2luZ2xlIGRlY29kZXIgZmllbGQgZm9yIGJvdGggcHVzaCBhbmQgcHVsbCBtb2RlCgoyMDA5LTEyLTIzIDE3OjAzOjMyICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mbGFjL2dzdGZsYWNkZWMuYzoKCSAgZmxhY2RlYzogZml4IHBvc3NpYmxlIGhhbmdpbmcgaW4gcHVsbCBtb2RlIHNlZWtpbmcKCSAgQSBzZWVrIGluIG11bHRpLXNpbmsgcGlwZWxpbmUgdHlwaWNhbGx5IGxlYWRzIHRvIHNldmVyYWwgc2VlayBldmVudHMgaW4gYSByb3csCgkgIHdoaWNoIGNvdWxkIGxlYWQgdG8gc2VuZGluZyBzZXZlcmFsIG5ld3NlZ21lbnRzIGluIGEgcm93IHdpdGhvdXQgaW50ZXJtZWRpYXRlCgkgIGZsdXNoaW5nLiAgVGhlc2Ugd291bGQgdGhlbiBhY2N1bXVsYXRlLCBkaXN0b3J0IHJlbmRlcmluZyB0aW1lcyBhbmQgYXMgc3VjaAoJICBsZWFkIHRvICdoYW5naW5nJy4KCjIwMDktMTItMjMgMTk6Mzk6MDUgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBoMjY0cGF5LmM6CgkgIHJ0cGgyNjRwYXk6IGZpeCB1bmluaXRpYWxpemVkIHZhcmlhYmxlCgoyMDA5LTEyLTIzIDEzOjA5OjU0ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3Rhc3Rlcmlza2gyNjMuYzoKCSogZ3N0L3J0cC9nc3RydHBMMTZkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGFjM2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwYW1yZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBhbXJwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBidnBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZzcyOWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZ3NtZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnc21wYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjYzZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjYzcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2M3BkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNwcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaWxiY3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGpwZWdkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wMXNkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wMnRkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wNGFwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDRnZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDRncGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXA0dnBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wYWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXBhcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXB2ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBwY21hZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBwY211ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBwY211cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwcWRtZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBzaXJlbnBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHN2M3ZkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHRoZW9yYXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHZvcmJpc3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHZyYXdkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHZyYXdwYXkuYzoKCSAgcnRwOiB1c2UgYm9pbGVycGxhdGUKCjIwMDktMTItMjMgMDA6Mzg6MDUgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cEwxNnBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cEwxNnBheS5oOgoJICBydHBMMTZwYXk6IGNvbnZlcnQgdG8gYmFzZWF1ZGlvcGF5bG9hZAoJICBVc2UgR3N0UlRQQmFzZUF1ZGlvUGF5bG9hZCBhcyB0aGUgYmFzZSBjbGFzcy4gVGhpcyBzYXZlcyBhIGxvdCBvZiBjb2RlIGFuZCBmaXhlcwoJICBhIGJ1bmNoIG9mIHByb2JsZW1zIHRoYXQgd2VyZSBhbHJlYWR5IHNvbHZlZCBpbiB0aGUgYmFzZSBjbGFzcy4KCSAgRml4ZXMgIzg1MzM2NwoKMjAwOS0xMi0yMyAwMDozMDo0OSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwcGNtYXBheS5jOgoJICBydHBwY21hcGF5OiB0aGUgYm9pbGVycGxhdGUgbWFjcm8gc2V0cyBwYXJlbnRfY2xhc3MKCjIwMDktMTItMjIgMjI6Mjc6MjEgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuaDoKCSAgcnRwYmluOiBhdm9pZCBzb21lIHN0cnVjdHVyZSBjb3BpZXMKCSAgRG9uJ3QgbWFrZSBjb3BpZWQgaW4gdGhlIGdldHRlciBhbmQgc2V0dGVyIGZvciBTREVTIGluIHRoZSBSVFBTb3VyY2UuIFRoaXMKCSAgYXZvaWRzIGEgY291cGxlIG9mIGNvcGllcyBvZiB0aGUgU0RFUyBzdHJ1Y3R1cmUgd2hlbiBnZW5lcmF0aW5nIFJUQ1AKCSAgcGFja2V0cy4KCjIwMDktMDgtMzEgMTg6NDI6MjUgKzAyMDAgIFBhc2NhbCBCdWhsZXIgPHBhc2NhbC5idWhsZXJAdGFuZGJlcmcuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmg6CgkgIHJ0cG1hbmFnZXI6IGltcHJvdmUgU0RFUyBoYW5kbGluZwoJICBTdG9yZSBTREVTIGludGVybmFsbHkgYXMgYSBzdHJ1Y3QgdG8gc3VwcG9ydCBtdWx0aXBsZSBQUklWIHZhbHVlcy4KCSAgSW5jbHVkZSBhbGwgdmFsdWVzIHNldCBpbiBTREVTIHN0cnVjdCB3aGVuIHNlbmRpbmcgUlRDUCBTREVTLgoKMjAwOS0xMi0yMiAxNDo0MTozNSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2M2RlcGF5LmM6CgkgIHJ0cGgyNjNkZXBheTogYWRkIHNvbWUgZml4bWVzCgoyMDA5LTEyLTIyIDE0OjM1OjEzICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBoMjYzZGVwYXkuYzoKCSAgcnRwaDI2M2RlcGF5OiBiYXNlY2xhc3MgaGFuZGxlcyB0aW1lc3RhbXBzIGZvciB1cwoKMjAwOS0xMi0yMiAxNDoyNzo0MCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2M2RlcGF5LmM6CgkgIHJ0cGgyNjNkZXBheTogcmVzZXQgc3RhcnQgdmFyaWFibGUgcHJvcGVybHkKCjIwMDktMDUtMjkgMTU6NDk6MjcgKzAzMDAgIE1hcmNvIEJhbGxlc2lvIDxtYXJjby5iYWxsZXNpb0Bub2tpYS5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNkZXBheS5oOgoJICBEcm9wIHRoZSB3aG9sZSBmcmFtZSBpZiBhIHBhY2tldCBpcyBsb3N0LgoJICBGaXhlcyAjNTgyNTc1CgoyMDA5LTEyLTIxIDIwOjM5OjUzICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBoMjY0cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2NHBheS5oOgoJICBydHBoMjY0cGF5OiBhZGQgb3B0aW9uIHRvIGluc2VydCBQUFMvU1BTIGluIHN0cmVhbXMKCSAgQWRkIGEgbmV3IHNwc3Bwcy1pbnRlcnZhbCBwcm9wZXJ0eSB0byBpbnN0cnVjdCB0aGUgcGF5bG9hZGVyIHRvIGluc2VydAoJICBTUFMgYW5kIFBQUyBhdCBwZXJpb2RpYyBpbnRlcnZhbHMgaW4gdGhlIHN0cmVhbS4KCSAgUmV3b3JrIHRoZSBTUFMvUFBTIGhhbmRsaW5nIHNvIHRoYXQgYnl0ZXN0cmVhbSBhbmQgQVZDIHNhbXBsZSBjb2RlIGJvdGggdXNlIHRoZQoJICBzYW1lIGNvZGUgcGF0aHMgdG8gaGFuZGxlIHNwcm9wLXBhcmFtZXRlci1zZXRzLiBUaGlzIGFsc28gYWxsb3dzIHRvIGhhdmUgdGhlIEFWQwoJICBjb2RlIHRvIGluc2VydCBTUFMvUFBTIGxpa2UgdGhlIGJ5dGVzdHJlYW0gY29kZS4KCSAgRml4ZXMgIzYwNDkxMwoKMjAwOS0xMi0yMSAxOToxMjoyMiArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIDQ3Y2IyM2EgdG8gMTRjZWM4OQoKMjAwOS0xMi0yMSAxMjowMTo1MyAtMDMwMCAgSm9uYXRoYW4gQ29uZGVyIDxqQHNrdXJ2eS5uby1pcC5vcmc+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXhfZm91cmNjLmg6CgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXhfdHlwZXMuYzoKCSAgcXRkZW11eDogQWRkcyBuZXcgdGFncwoJICBBZGRzIHNvbWUgbmV3IHRhZ3MgbWFwcGluZyB0byBxdGRlbXV4LgoJICBGaXhlcyAjNTk5NzU5CgoyMDA5LTEyLTIxIDE1OjA1OjA5ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6CgkgIHJ0cGJpbjogYWRkIHByb3BlcnR5IHRvIHJlbW92ZSBwYWRzIGF1dG9tYXRpY2FsbHkKCSAgQWRkIGEgcHJvcGVydHkgY2FsbGVkIGF1dG9yZW1vdmUgdG8gYXV0b21hdGljYWxseSByZW1vdmUgdGhlIHBhZHMgb2Ygc291cmNlcwoJICB0aGF0IHRpbWVkIG91dC4KCSAgRml4ZXMgIzU1NDgzOQoKMjAwOS0xMi0yMSAxNDo1NToxNiArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNzcmNkZW11eC5jOgoJICBzc3JjZGVtdXg6IGZpeCBjb21wYXJpc29uCgkgIEEgTlVMTCBtZWFucyBubyBwYWQgd2FzIGZvdW5kLgoKMjAwOS0xMS0wOCAxMTo0OToxNCArMDEwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzoKCSAgdjRsMnNyYzogQWRkIEdzdFVSSUhhbmRsZXIgaW50ZXJmYWNlLiBGaXhlcyAjNjAxMTQzCgkgIFRoaXMgYWxsb3dzIHVzaW5nIHY0bDI6Ly9bPGRldmljZT5dCgoyMDA5LTEyLTIwIDE3OjI0OjQ3IC0wODAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAeGlwaC5vcmc+CgoJKiBnc3QvdWRwL2dzdG11bHRpdWRwc2luay5jOgoJICBtdWx0aXVkcHNpbms6IHBhc3MgbGVuZ3RoIHBhcmFtZXRlciB0byBnX2NvbnZlcnQKCjIwMDktMTItMTggMTI6NDQ6NTAgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2E6IEZpeCB1bml0aWFsaXplZCB2YXJpYWJsZS4KCSAgWWVzLCBpdCdzIHN0dXBpZCwgYnV0IG1hY29zeCBjb21waWxlcnMgYXJlIGV2ZW4gbW9yZSBzdHVwaWQuCgoyMDA5LTEyLTE3IDE2OjAxOjI1ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb21peGVyL2JsZW5kX2F5dXYuYzoKCSAgdmlkZW9taXhlcjogRml4IGFzc2VtYmx5IGNvbXBpbGF0aW9uIG9uIHg4NgoJICBGaXhlcyBidWcgIzYwNDgxNC4KCjIwMDktMTItMTcgMTc6Mzc6MDMgKzAxMDAgIEJyYW5rbyDEjGliZWogPGJyYW5lIGF0IHhiYy5udT4KCgkqIGdzdC9yZXBsYXlnYWluL3JnYW5hbHlzaXMuYzoKCSAgcmdhbmFseXNpczogZml4IHRpbWVzdGFtcCByb3VuZGluZwoJICBVc2Ugc2NhbGluZyBmdW5jdGlvbiB0byByb3VuZCBhbmQgYXZvaWQgb3ZlcmZsb3dzLgoJICBGaXhlcyAjNjA0MzUyCgoyMDA5LTEyLTE3IDE3OjI3OjQyICswMTAwICBUaWFnbyBLYXRjaXBpcyA8dGlhZ28ua2F0Y2lwaXNAZGlnaXRyby5jb20uYnI+CgoJKiBnc3QvcnRwL01ha2VmaWxlLmFtOgoJKiBnc3QvcnRwL2dzdHJ0cC5jOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjNwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnNzIzcGF5Lmg6CgkgIHJ0cDogYWRkIEc3MjMgcGF5bG9hZGVyCgkgIEZpeGVzICM1OTc4MjMKCjIwMDktMTItMTcgMTY6MjI6NTYgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXhfdHlwZXMuYzoKCSAgcXRkZW11eDogRml4IEFMQUMgY29kZWNfZGF0YSBwYXJzaW5nCgkgIEZpeGVzICM2MDQ2MTEKCjIwMDktMTItMTYgMTc6Mjg6MzAgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBSZW1vdmUgY3BwIHN0eWxlIGNvbWVudHMKCSAgUmVtb3ZlcyAvLyBjb21tZW50cyBhbmQgcmVwbGFjZSB0aGVtIHdpdGggLyogKi8gY29tbWVudHMKCjIwMDktMTItMTYgMTI6NDg6MDIgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5oOgoJICBtYXRyb3NrYWRlbXV4OiBhbHNvIGNvbnNpZGVyIEJsb2NrTnVtYmVyIGluZGljYXRlZCBpbiBpbmRleCB3aGVuIHNlZWtpbmcKCjIwMDktMTItMTYgMTI6NDM6MjcgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL2VibWwtcmVhZC5jOgoJKiBnc3QvbWF0cm9za2EvZWJtbC1yZWFkLmg6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguaDoKCSAgbWF0cm9za2FkZW11eDogc3VwcG9ydCBwdXNoIGJhc2VkIG1vZGUKCSAgRml4ZXMgIzU5ODYxMC4KCjIwMDktMTItMTYgMTI6NDQ6MzYgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL2VibWwtcmVhZC5jOgoJICBtYXRyb3NrYWRlbXV4OiBmaXggZWJtbCByZWFkIGNhY2hlIHVzYWdlCgoyMDA5LTEyLTE2IDEwOjUwOjMyICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb21peGVyL2JsZW5kX2F5dXYuYzoKCSAgdmlkZW9taXhlcjogVXNlIG1vdnpibCBpbnN0ZWFkIG9mIG1vdnp4YiBmb3IgbW92aW5nIG9uZSBieXRlIHRvIGEgbCByZWdpc3RlcgoJICBGb3Igc29tZSByZWFzb24gbGF0ZXN0IGdjYy9iaW51dGlscyBhY2NlcHQgbW92enhiIGhlcmUgd2hpbGUKCSAgbW92emJsIHdvdWxkIGJlIGNvcnJlY3QgYW5kIGlzIHRoZSBvbmx5IHRoaW5nIGFjY2VwdGVkIGJ5IG9sZGVyCgkgIGdjYy9iaW51dGlscy4KCSAgRml4ZXMgYnVnICM2MDQ2NzkuCgoyMDA5LTEyLTE2IDA2OjU5OjAxICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb21peGVyL2JsZW5kX2F5dXYuYzoKCSAgdmlkZW9taXhlcjogc3JjL2Rlc3QgYXJlIGlucHV0IGFuZCBvdXRwdXQgb2YgdGhlIEFZVVYgYmxlbmRpbmcgTU1YIGFzc2VtYmxlcgoKMjAwOS0xMi0xNSAxODoxODo1NCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9meC9hdWRpb3dzaW5jYmFuZC5jOgoJICBhdWRpb3dzaW5jYmFuZDogVXNlIHRoZSBzYW1lIHVwcGVyIGxlbmd0aCBsaW1pdCBhcyBhdWRpb3dzaW5jbGltaXQKCjIwMDktMTItMTIgMTc6MDA6NTAgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvZngvYXVkaW93c2luY2JhbmQuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW93c2luY2xpbWl0LmM6CgkgIGF1ZGlvd3NpbmN7bGltaXQsYmFuZH06IEFsbG93IG11Y2ggbGFyZ2VyIGZpbHRlciBsZW5ndGhzIG5vdwoKMjAwOS0xMi0xMSAxMjoyNzozMiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9meC9hdWRpb2Z4YmFzZWZpcmZpbHRlci5jOgoJICBhdWRpb2Z4YmFzZWZpcmZpbHRlcjogRml4IGZyZXF1ZW5jeSByZXNwb25zZSBjYWxjdWxhdGlvbgoKMjAwOS0xMi0wOCAxNDo1NzowMiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9meC9hdWRpb2Z4YmFzZWZpcmZpbHRlci5jOgoJICBhdWRpb2Z4YmFzZWZpcmZpbHRlcjogUmVtb3ZlIGRlYWQgYXNzaWdubWVudHMKCjIwMDktMTItMDYgMTY6NTg6NTEgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvZngvYXVkaW9meGJhc2VmaXJmaWx0ZXIuYzoKCSAgYXVkaW9meGJhc2VmaXJmaWx0ZXI6IEFkZCBzcGVjaWFsIHByb2Nlc3NpbmcgZnVuY3Rpb25zIGZvciBNb25vL1N0ZXJlbwoJICBUaGlzIHByb3ZpZGVzIGFub3RoZXIgNyUgc3BlZWR1cCBmb3IgdGhlIHRpbWUgZG9tYWluIGNvbnZvbHV0aW9uIGFuZCAxLjUlCgkgIHNwZWVkdXAgZm9yIHRoZSBGRlQgY29udm9sdXRpb24gb24gTW9ubyBpbnB1dC4KCSAgVGhpcyBvcHRpbWl6YXRpb24gYXNzdW1lcyB0aGF0IHRoZSBjb21waWxlciBzaW1wbGlmaWVzIGNhbGN1bGF0aW9ucwoJICBhbmQgY29uZGl0aW9ucyBvbiBjb25zdGFudCBudW1iZXJzIGFuZCB1bnJvbGxzIGxvb3BzIHdpdGggYSBjb25zdGFudAoJICBudW1iZXIgb2YgcmVwZWF0cy4KCjIwMDktMTItMDQgMDk6MjU6NDkgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvZngvYXVkaW9meGJhc2VmaXJmaWx0ZXIuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9meGJhc2VmaXJmaWx0ZXIuaDoKCSAgYXVkaW9meGJhc2VmaXJmaWx0ZXI6IEFkZCBhICJsb3ctbGF0ZW5jeSIgbW9kZQoJICBUaGlzIHdpbGwgYWx3YXlzIHVzZSB0aW1lLWRvbWFpbiBjb252b2x1dGlvbiwgd2hpY2ggbG93ZXJzIHRoZSBsYXRlbmN5LgoJICBXaXRoIEZGVCBjb252b2x1dGlvbiBpdCdzIGFsd2F5cyBhIG11bHRpcGxlIG9mIHRoZSBrZXJuZWwgbGVuZ3RoLAoJICB3aXRoIHRpbWUgZG9tYWluIGNvbnZvbHV0aW9uIGl0J3Mgb25seSB0aGUgcHJlLWxhdGVuY3kgb2YgdGhlIGZpbHRlciBrZXJuZWwuCgoyMDA5LTEyLTA0IDA5OjAwOjIyICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb2Z4L2F1ZGlvZnhiYXNlZmlyZmlsdGVyLmM6CgkgIGF1ZGlvZnhiYXNlZmlyZmlsdGVyOiBSZW1vdmUgb2Jzb2xldGUgVE9ETyBjb21tZW50cwoKMjAwOS0xMi0wMyAyMDoxMjowMSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9meC9hdWRpb2Z4YmFzZWZpcmZpbHRlci5jOgoJICBhdWRpb2Z4YmFzZWZpcmZpbHRlcjogVXNlIHNhbXBsZXMgZXZlcnl3aGVyZSBpbnN0ZWFkIG9mIHNhbXBsZXMqY2hhbm5lbHMgc29tZXRpbWVzCgoyMDA5LTEyLTAzIDE3OjI3OjEzICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb2Z4L01ha2VmaWxlLmFtOgoJKiBnc3QvYXVkaW9meC9hdWRpb2Z4YmFzZWZpcmZpbHRlci5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb2Z4YmFzZWZpcmZpbHRlci5oOgoJICBhdWRpb2Z4YmFzZWZpcmZpbHRlcjogRkZUIGNvbnZvbHV0aW9uIGltcGxlbWVudGF0aW9uCgkgIFRoaXMgcHJvdmlkZXMgYSBncmVhdCBzcGVlZHVwLCBlc3BlY2lhbGx5IHRoZSByZWxhdGlvbnNoaXAgYmV0d2VlbiBrZXJuZWwKCSAgbGVuZ3RoIGFuZCBwcm9jZXNzaW5nIHNpemUgaXMgbm93IGxvZ2FyaXRobWljIGluc3RlYWQgb2YgbGluZWFyLiBCZWxvdyBhCgkgIGtlcm5lbCBzaXplIG9mIDMyIGl0J3MgYSBiaXQgc2xvd2VyLCBhZnRlcndhcmRzIGl0J3MgbXVjaCBmYXN0ZXI6CgkgIDE3ICAgICAwLjc4ODAwMCAtPiAwLjk1MDAwMAoJICAzMyAgICAgMS4yMDgwMDAgLT4gMS4xNDYwMDAKCSAgNjUgICAgIDIuMTY2MDAwIC0+IDEuMTQ2MDAwCgkgIC4uLgoJICA0MDk3IDEwNy40NDQwMDAgLT4gMS41MDgwMDAKCSAgRm9yIHNpemVzIHNtYWxsZXIgMzIgdGhlIG5vcm1hbCB0aW1lLWRvbWFpbiBjb252b2x1dGlvbiBpcyBjaG9zZW4sCgkgIGZvciBsYXJnZXIgc2l6ZXMgdGhlIEZGVCBjb252b2x1dGlvbiBpcyBhdXRvbWF0aWNhbGx5IHVzZWQuCgkgIEZpeGVzIGJ1ZyAjNTk0MzgxLgoKMjAwOS0xMS0yNyAyMDozMzoxNCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9meC9hdWRpb2Z4YmFzZWZpcmZpbHRlci5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb2Z4YmFzZWZpcmZpbHRlci5oOgoJICBhdWRpb2Z4YmFzZWZpcmZpbHRlcjogTWFrZSBtb3N0IGNvZGUgcGFydHMgaW5kZXBlbmRlbnQgb2YgdGhlIHByb2Nlc3NpbmcgZnVuY3Rpb25zIGFuZCB1c2VkIGNvbnZvbHV0aW9uIGFsZ29yaXRobQoJICBPbmx5IHJlbWFpbmluZyBwYXJ0IGlzIHRoZSByZXNpZHVlIHB1c2hpbmcsIHdoaWNoIHdpbGwgYmUgZml4ZWQgbGF0ZXIuCgoyMDA5LTExLTI2IDE1OjE3OjI3ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb2Z4L2F1ZGlvZnhiYXNlZmlyZmlsdGVyLmM6CgkgIGF1ZGlvZnhiYXNlZmlyZmlsdGVyOiBPcHRpbWl6ZSB0aW1lLWRvbWFpbiBjb252b2x1dGlvbgoJICBSZW1vdmUgc29tZSByZWR1bmRhbnQgY2FsY3VsYXRpb25zLCBtb3ZlIGNvbXBhcmlzaW9ucyBvdXQgb2YKCSAgaW5uZXIgbG9vcHMsIGV0Yy4KCSAgVGhpcyBtYWtlcyB0aGUgY29udm9sdXRpb24gYWJvdXQgMyAoISkgdGltZXMgZmFzdGVyIGJ1dAoJICBwcm9jZXNzaW5nIHRpbWUgaXMgb2YgY291cnNlIHN0aWxsIHByb3BvcnRpb25hbCB0byB0aGUKCSAgZmlsdGVyIHNpemUuCgoyMDA5LTExLTI2IDEwOjQ1OjM3ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb2Z4L2F1ZGlvZnhiYXNlZmlyZmlsdGVyLmM6CgkgIGF1ZGlvZnhiYXNlZmlyZmlsdGVyOiBVc2UgX0NBU1QgbWFjcm9zIGluIHNvbWUgcGxhY2VzIGFuZCBkbyBzb21lIGNhbGN1bGF0aW9ucyBvbmx5IG9uY2UKCjIwMDktMTEtMjUgMTg6MTI6MDUgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvZngvYXVkaW9meGJhc2VmaXJmaWx0ZXIuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9meGJhc2VmaXJmaWx0ZXIuaDoKCSAgYXVkaW9meGJhc2VmaXJmaWx0ZXI6IFJld3JpdGUgdGltZXN0YW1wIHRyYWNraW5nCgkgIEl0J3MgbXVjaCBzaW1wbGVyIG5vdyBhbmQgZG9lc24ndCBpbnRyb2R1Y2UgYWNjdW11bGF0aW5nIHJvdW5kaW5nCgkgIGVycm9ycy4KCjIwMDktMTEtMjUgMTc6Mzk6NTMgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvZngvYXVkaW9meGJhc2VmaXJmaWx0ZXIuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9meGJhc2VmaXJmaWx0ZXIuaDoKCSAgYXVkaW9meGJhc2VmaXJmaWx0ZXI6IFJlbmFtZSBzb21lIHZhcmlhYmxlcyBhbmQgY2hhbmdlIGNvbW1lbnRzCgoyMDA5LTExLTI0IDIwOjA2OjI1ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb2Z4L2F1ZGlvZnhiYXNlZmlyZmlsdGVyLmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvZnhiYXNlZmlyZmlsdGVyLmg6CgkgIGF1ZGlvZnhiYXNlZmlyZmlsdGVyOiBBZGQgY29uc3QgcXVhbGlmaWVyIHRvIHRoZSBzb3VyY2UgZGF0YSBhcnJheQoKMjAwOS0xMi0xNCAyMDowODowNiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9taXhlci9NYWtlZmlsZS5hbToKCSogZ3N0L3ZpZGVvbWl4ZXIvYmxlbmRfYXl1di5jOgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyLmM6CgkgIHZpZGVvbWl4ZXI6IEFkZCBNTVggaW1wbGVtZW50YXRpb25zIG9mIHRoZSBBWVVWIGJsZW5kaW5nIGFuZCBjb2xvciBmaWxsaW5nIGZ1bmN0aW9ucwoJICBUaGlzIHByb3ZpZGVzIGEgMjAlIHNwZWVkdXAgZm9yIGJsZW5kaW5nIGFuZCAxMDAlIGZvciBjb2xvciBmaWxsaW5nLgoJICBUaGUgYmxlbmRpbmcgY2FuIHByb2JhYmx5IGJlIG9wdGltaXplZCBldmVuIG1vcmUuCgoyMDA5LTEyLTEzIDEzOjE5OjQzICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pZDNkZW11eC9pZDN2MmZyYW1lcy5jOgoJICBpZDNkZW11eDogcHJlZmVyIHR3byBsZXR0ZXIgSVNPIDYzOS0xIGNvZGUgZm9yIGV4dGVuZGVkIGNvbW1lbnQKCjIwMDktMTItMTMgMTM6MTA6MTIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBmaXggdXAgbGFuZ3VhZ2UgY29kZSBleHRyYWN0aW9uIHNvbWUgbW9yZQoJICBRdWlja3RpbWUgdXNlcyBJU08gNjM5LTIgZm9yIGxhbmd1YWdlIGNvZGVzLCBidXQgR1NUX1RBR19MQU5HVUFHRQoJICBpcyBzdXBwb3NlZCB0byBob2xkIGEgSVNPIDYzOS0xIGNvZGUsIHNvIGNvbnZlcnQgYXMgbmVlZGVkIHVzaW5nCgkgIHRoZSBuZXcgQVBJIGZyb20gLWJhc2UuCgkgIFNlZSAjNjAyMTI2LgoKMjAwOS0xMi0xMyAxMjo0NToyMiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJICBtYXRyb3NrYTogZml4IGxhbmd1YWdlIGNvZGUgd3JpdGluZyBhbmQgZXh0cmFjdGlvbgoJICBNYXRyb3NrYSB1c2VzIHRocmVlLWxldHRlciBJU08gNjM5LTJCIGNvZGVzLCBidXQgR1NUX1RBR19MQU5HVUFHRSBpcwoJICBzdXBwb3NlZCB0byBjb250YWluIHR3by1sZXR0ZXIgSVNPIDYzOS0xIGNvZGVzLCBzbyB1c2UgbmV3IGxhbmd1YWdlCgkgIGNvZGUgbWFwcGluZyBmdW5jdGlvbnMgaW4gLWJhc2UgdG8gY29udmVydCBiZXR3ZWVuIHRob3NlIHR3byBhcwoJICBuZWVkZWQuCgkgIEZpeGVzICM1MDU4MjMuCgoyMDA5LTEyLTA3IDIwOjU0OjA3ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgYXZpZGVtdXg6IG1pbm9yIGRlYnVnIG1lc3NhZ2UgY2hhbmdlcwoJICBGaXggdXAgYSBmZXcgZGVidWcgbWVzc2FnZXMgc28gdGhhdCBpdCdzIGNsZWFyZXIgd2hhdCB0aGV5IG1lYW4uCgoyMDA5LTEyLTEyIDE3OjQ0OjA0IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgUmV2ZXJ0ICJxdGRlbXV4OiBDb3JyZWN0bHkgcGFyc2UgY2xhc3NpZmljYXRpb24gdGFncyIKCSAgVGhpcyByZXZlcnRzIGNvbW1pdCBjZDg4M2FhNjBjMTEzMzE5NmE2YWUwNTI4ODRkMTVjMjk1YzM3ZGRlLgoJICBQcmV2aW91cyBjb2RlIHdhcyBjb3JyZWN0LCA0IGlzIGR1ZSB0byB0YWJsZSBhbmQgbGFuZ3VhZ2UgY29kZSwKCSAgbm90IG9ubHkgbGFuZ3VhZ2UgY29kZQoKMjAwOS0xMi0xMiAxNjoyODozNiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IENvcnJlY3RseSBwYXJzZSBjbGFzc2lmaWNhdGlvbiB0YWdzCgkgIEluIGNsc2YgYXRvbXMsIHRoZSBsYW5ndWFnZSBjb2RlIGlzIDIgYnl0ZXMgbG9uZywgbm90IDQuCgoyMDA5LTEyLTEyIDE2OjU1OjEzICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIuYzoKCSAgdmlkZW9taXhlcjogRGVxdWV1ZSBjdXJyZW50IGJ1ZmZlciBvbiBGTFVTSF9TVE9QIGFuZCBkb24ndCB1bnJlZiBOVUxMIGJ1ZmZlcnMKCSAgLi4uIE5VTEwgYnVmZmVycyBzaG91bGRuJ3QgcmVhbGx5IGhhcHBlbiBhbnltb3JlIHdoZW4gcG9wcGluZyB0aGUKCSAgYnVmZmVyIGZyb20gR3N0Q29sbGVjdFBhZHMgYnV0IGJldHRlciBjaGVjayBmb3IgdGhpcyBhbmQgcHJpbnQgYSB3YXJuaW5nLgoKMjAwOS0xMi0xMSAxMzoxMToxMiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9taXhlci9ibGVuZF9pNDIwLmM6CgkgIHZpZGVvbWl4ZXI6IEZpeCBzdHVwaWQgbWlzdGFrZSBpbiBsYXN0IGNvbW1pdAoKMjAwOS0xMi0xMSAxMjozNTo1OSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9taXhlci9ibGVuZF9pNDIwLmM6CgkgIHZpZGVvbWl4ZXI6IERvbid0IGRvIGZsb2F0aW5nIHBvaW50IG1hdGggaW4gdGhlIGlubmVyIHByb2Nlc3NpbmcgbG9vcCBmb3IgSTQyMCBibGVuZGluZwoKMjAwOS0xMi0xMCAxODo0Mzo0NCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogaGFuZGxlIE5VTEwgYW5kIGVtcHR5IHRyYW5zcG9ydCBzdHJpbmdzCgkgIFdoZW4gYW4gUlRTUCBleHRlbnNpb24gcmV0dXJucyBOVUxMIG9yIGFuIGVtcHR5IHRyYW5zcG9ydCBzdHJpbmcsIGp1c3QgaWdub3JlIGl0CgkgIGFuZCB0cnkgdG8gZ2V0IHRoZSBuZXh0IHBvc3NpYmxlIHRyYW5zcG9ydC4gRml4ZXMgcGxheWJhY2sgb2YgUmVhbE1lZGlhIHN0cmVhbXMuCgoyMDA5LTEyLTEwIDE4OjQyOjUxICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBpbnN0YWxsIGV2ZW50IGZ1bmN0aW9uIG9uIGludGVybmFsIFJUQ1AgcGFkCgkgIEluc3RhbGwgYSBjdXN0b20gZXZlbnQgZnVuY3Rpb24gb24gdGhlIGludGVybmFsIFJUQ1AgcGFkIHNvIHRoYXQgd2UgY2FuIHJlcGx5CgkgIFRSVUUgdG8gYSBsYXRlbmN5IGV2ZW50LgoKMjAwOS0xMi0xMCAxMDo0ODo0OSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9taXhlci9ibGVuZF9heXV2LmM6CgkqIGdzdC92aWRlb21peGVyL2JsZW5kX2JncmEuYzoKCSogZ3N0L3ZpZGVvbWl4ZXIvYmxlbmRfcmdiLmM6CgkgIHZpZGVvbWl4ZXI6IFJlbW92ZSB3cm9uZyBjb21tZW50cywgY29waWVkIGZyb20gdGhlIEk0MjAgYmxlbmQgZnVuY3Rpb24KCjIwMDktMTItMDkgMjE6MTU6MDcgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlci5jOgoJICB2aWRlb21peGVyOiBUaGUgcXVldWVkIGR1cmF0aW9uIGlzIGEgc2lnbmVkIGludGVnZXIKCSAgLi4uYW5kIGl0IHdpbGwgcmVhbGx5IGJlIG5lZ2F0aXZlIHNvbWV0aW1lcy4KCjIwMDktMTItMDkgMjE6MDM6NTcgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlci5jOgoJICB2aWRlb21peGVyOiBPbmx5IHBvcCBidWZmZXJzIGZyb20gY29sbGVjdHBhZHMgYWZ0ZXIgdGhleSdyZSBmdWxseSBjb25zdW1lZAoJICBUaGlzIGRlY3JlYXNlcyBsYXRlbmN5IGFuZCBtZW1vcnkgdXNhZ2UgYmVjYXVzZSBuZXcgYnVmZmVycyBhcmUgb25seQoJICBhY2NlcHRlZCBieSBjb2xsZWN0cGFkcyBpZiB0aGVyZSdzIG5vIHF1ZXVlZCBidWZmZXIuCgoyMDA5LTEyLTA5IDIwOjQyOjQ0ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguaDoKCSAgbWF0cm9za2FkZW11eDogQ2xlYW4gdXAgcG9zaXRpb24vZHVyYXRpb24gaGFuZGxpbmcKCSAgQWxzbyB1c2UgdGhlIGxhc3QgZW5kIHRpbWUgZm9yIGNsb3NpbmcgdGhlIHNlZ21lbnQsIG5vdCB0aGUKCSAgc3RhcnQgdGltZSBvZiB0aGUgbGFzdCBidWZmZXIuCgoyMDA5LTEyLTA5IDE2OjUwOjAyICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYWRlbXV4OiBDbG9zZSB0aGUgc2VnbWVudCBvbiBFT1MgaWYgdGhlIHJlYWwgZHVyYXRpb24gaXMga25vd24KCjIwMDktMTItMDkgMTY6NDY6MTggKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thZGVtdXg6IFVwZGF0ZSBkdXJhdGlvbiBpZiBjdXJyZW50IGJ1ZmZlciBpcyBhbHJlYWR5IGFmdGVyIHRoZSBvbGQgZHVyYXRpb24KCjIwMDktMTItMDkgMTY6NDM6NDEgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thZGVtdXg6IERyb3AgYnVmZmVycyB0aGF0IGFyZSBhZnRlciBzZWdtZW50IHN0b3AKCSAgLi4uYW5kIGlmIHRoaXMgaGFwcGVuZWQgZm9yIGFsbCBzdHJlYW1zIGdvIEVPUy4KCjIwMDktMTItMDkgMTY6NDE6MDQgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thZGVtdXg6IEZpeCBwb3NpdGlvbiB0cmFja2luZyBhbmQgc2VuZGluZyBvZiBmaWxsZXIgc2VnbWVudHMKCjIwMDktMTItMDkgMTY6MTU6MDkgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlci5jOgoJICB2aWRlb21peGVyOiBVc2UgZ3N0X3V0aWxfdWludDY0X3NjYWxlX2ludCgpIGZvciBmcHMgdG8gc2Vjb25kcyBwZXIgZnJhbWUgY2FsY3VsYXRpb25zCgoyMDA5LTEyLTA4IDE3OjM0OjE1ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYWRlbXV4OiBLZWVwIHRoZSBzZWdtZW50IHN0b3AgcG9zaXRpb24gZm9yIHVwZGF0ZSBuZXdzZWdtZW50IGV2ZW50cwoKMjAwOS0xMi0wNCAxNDo0Mjo0OSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9NYWtlZmlsZS5hbToKCSogZXh0L2xhZHNwYS9NYWtlZmlsZS5hbToKCSogZXh0L2xhZHNwYS9nc3RsYWRzcGEuYzoKCSogZXh0L2xhZHNwYS9nc3RsYWRzcGEuaDoKCSogZXh0L2xhZHNwYS9nc3RzaWduYWxwcm9jZXNzb3IuYzoKCSogZXh0L2xhZHNwYS9nc3RzaWduYWxwcm9jZXNzb3IuaDoKCSogZXh0L2xhZHNwYS9sb2FkLmM6CgkqIGV4dC9sYWRzcGEvc2VhcmNoLmM6CgkqIGV4dC9sYWRzcGEvdXRpbHMuaDoKCSAgbGFkc3BhOiBSZW1vdmUgdGhlIHNvdXJjZXMgZnJvbSBnc3QtcGx1Z2lucy1nb29kCgkgIEl0J3MgZGlzYWJsZWQgYW55d2F5IGFuZCB0aGUgbGF0ZXN0IHZlcnNpb24gb2YgaXQgaXMgaW4KCSAgZ3N0LXBsdWdpbnMtYmFkLiBGaXhlcyBidWcgIzYwMzc3OS4KCjIwMDktMTItMDQgMTM6NTA6NTkgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIGF2aWRlbXV4OiBpbml0IGN1cnJlbnRfZW50cnkgaW4gcHVzaCBtb2RlCgkgIFNldCB0aGUgY3VycmVudF9lbnRyeSB0byAwIChpbnN0ZWFkIG9mIC0xKSBpbiBwdXNoIG1vZGUgc28gdGhhdCB3ZSBjb3JyZWN0bHkKCSAgY2FsY3VsYXRlIHRoZSBjdXJyZW50IGZyYW1lIG51bWJlciBhbmQgdGltZXN0YW1wLgoJICBBZGQgc29tZSBtb3JlIGRlYnVnIGluZm8gYW5kIGZpYyB0aGUgZHVyYXRpb24gZGVidWcuCgoyMDA5LTEyLTA0IDExOjE0OjAzICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogZml4IG1ham9yIG1lbW9yeSBsZWFrIHdoZW4gcGxheWluZyBiYWNrIHJ0c3AgdmlkZW8gc3RyZWFtcwoJICBEb24ndCBmb3JnZXQgdG8gdW5yZWYgUW9TLCBuYXZpZ2F0aW9uIGFuZCBsYXRlbmN5IGV2ZW50cyB3aGVuCgkgIGRyb3BwaW5nIHRoZW0uCgoyMDA5LTEyLTAzIDA4OjU4OjA4ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYWRlbXV4OiBvbmx5IHNlbmQgcGVuZGluZyB0YWdzIHdpdGggbmV3c2VnbWVudCBldmVudHMKCSAgU2VuZCBwZW5kaW5nIHRhZ3Mgb25seSBmcm9tIHRoZSBzdHJlYW1pbmcgdGhyZWFkLCBqdXN0IGFmdGVyIHdlJ3ZlIHNlbnQKCSAgdGhlIG5ld3NlZ21lbnQgZXZlbnQsIG5vdCB3aXRoIGUuZy4gZmx1c2gtc3RhcnQuIFRoaXMgbm90IG9ubHkgZG9lcyB0aGUKCSAgcmlnaHQgdGhpbmcsIGJ1dCBhbHNvIG1ha2VzIHN1cmUgd2UncmUgbm90IHRyYW1wbGluZyBvdmVyIHZhcmlhYmxlcyBzZXQKCSAgdXAgaW4gdGhlIHN0cmVhbWluZyB0aHJlYWQgZnJvbSB0aGUgc2Vla2luZyB0aHJlYWQgaW4gY2FzZSBzb21lb25lIHRyaWVzCgkgIHRvIGlzc3VlIGEgc2VlayBqdXN0IGFzIHRoZSBkZW11eGVyIGlzIHBhcnNpbmcgdGhlIGhlYWRlcnMuCgkgIEZpeGVzICM2MDE2MTcuIFNwb3R0ZWQgYnkgT2dueWFuIFRvbmNoZXYuCgoyMDA5LTEyLTAzIDE3OjQ5OjU1IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogZml4IGRlYnVnIG1lc3NhZ2UgcHJpbnRmIGFyZ3MKCSAgRml4ZXMgZGVidWcgbWVzc2FnZSBwcmludGYgZm9ybWF0IHRvIG1ha2UgaXQgYnVpbGQgaW4gbWFjJ3MgZ2NjCgoyMDA5LTEyLTAyIDEzOjMzOjIwIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9zaG91dDIvZ3N0c2hvdXQyLmM6CgkgIHNob3V0MjogQ29udmVydCBkZWxheSBjb3JyZWN0bHkKCSAgVXNlIEdTVF9NU0VDT05EIHRvIGNvbnZlcnQgZGVsYXkgaW4gbXNlY3MgdG8gbmFub3NlY3MKCSAgRml4ZXMgIzYwMzU0NwoKMjAwOS0xMi0wMSAxOToyNDowMiArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9qcGVnL2dzdGpwZWdkZWMuYzoKCSAganBlZ2RlYzogcmVzZXQgc2VnbWVudCBpbmZvIGFmdGVyIGZsdXNoCgkgIFJlc2V0IHRoZSBzZWdtZW50IGluZm8gYWZ0ZXIgYSBmbHVzaC4gV2UgdXNlIHRoZSBzZWdtZW50IGZvciBoYW5kbGluZyBRb1MgYW5kIGlmCgkgIHdlIGRvbid0IHJlc2V0IHRoZSBzZWdtZW50LCBRb1MgaXMgYmFzaWNhbGx5IGRpc2FibGVkIGFmdGVyIGEgZmx1c2hpbmcgc2Vlay4KCjIwMDktMTItMDEgMTU6MDc6MDYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSA4N2JmNDI4IHRvIDQ3Y2IyM2EKCjIwMDktMTItMDEgMTQ6MTU6NDYgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSBkYTRjNzVjIHRvIDg3YmY0MjgKCjIwMDktMTEtMzAgMTU6NTk6NTAgKzAxMDAgIEF1cmVsaWVuIEdyaW1hdWQgPGdzdGVsenogYXQgeWFob28gZG90IGZyPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJICBydHBzZXNzaW9uOiBhdm9pZCBidWZmZXIgcmVmL3VucmVmIHBhaXJzIGZvciBDU1JDcwoJICBXZSByZWYgdGhlIGJ1ZmZlciBiZWZvcmUgcHVzaGluZyBpdCBkb3duc3RyZWFtIGluIG9yZGVyIHRvIGdldCB0aGUgQ1NSQ3Mgb2YgaXQKCSAgYWZ0ZXIgcHVzaGluZy4gVGhpcyBjYXVzZXMgcGVyZm9ybWFuY2UgcHJvYmxlbXMgd2hlbiBkb3duc3RyZWFtIGVsZW1lbnRzIHdhbnQgdG8KCSAgY2hhbmdlIHRoZSBtZXRhZGF0YSBiZWNhdXNlIHRoZSBidWZmZXIgbmVlZHMgdG8gYmUgc3ViYnVmZmVyZWQuCgkgIEluc3RlYWQsIHJlYWQgYW5kIHN0b3JlIHRoZSBDU1JDcyBvZiB0aGUgYnVmZmVyIGluIGFuIGFycmF5IGJlZm9yZSBwdXNoaW5nIGl0CgkgIGFuZCBwcm9jZXNzIHRoZSBhcnJheSBhZnRlciBwdXNoaW5nIHRoZSBidWZmZXIuIFRoaXMgYWxsb3dzIHVzIHRvIHJlbW92ZSB0aGUKCSAgcmVmL3VucmVmIHBhaXIuCgkgIEZpeGVzICM2MDMzNzYKCjIwMDktMTEtMjggMTk6MjM6MjYgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvc2hvdXQyL2dzdHNob3V0Mi5jOgoJKiBleHQvc2hvdXQyL2dzdHNob3V0Mi5oOgoJICBzaG91dDI6IHVzZSBnc3Rwb2xsIGZvciB0aW1lb3V0cwoJICBVc2Ugb3VyIG93biBHc3RQb2xsIGJhc2VkIHRpbWVvdXQgaW5zdGVhZCBvZiB0aGUgc2hvdXQgc2xlZXAgc28gdGhhdCB3ZSBjYW4KCSAgaW50ZXJydXB0IHdoZW4gZG9pbmcgYSBzdGF0ZSBjaGFuZ2UgYW5kIHNodXR0aW5nIGRvd24uCgkgIEZpeGVzICM2MDI4ODcKCjIwMDktMTEtMjggMTI6MjU6MDYgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHBqaXR0ZXJidWZmZXIuYzoKCSAgY2hlY2s6IGZpeCBqaXR0ZXJidWZmZXIgY2hlY2sKCSAgTWFrZSBzdXJlIHdlIHNldCBhIGJhc2VfdGltZSBvbiB0aGUgZWxlbWVudC4KCSAgRml4IHRoZSB0aW1lb3V0IHRvIGF0IGxlYXN0IHR3aWNlIHRoZSBqaXR0ZXJidWZmZXIgbGF0ZW5jeS4KCSAgRW5hYmxlIHByZXZpb3VzbHkgZmFpbGluZyB0ZXN0cy4KCSAgUmVtb3ZlIGltcG9zc2libGUgY2hlY2tzLgoKMjAwOS0xMS0yNyAxODo1NToyMCArMDEwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gNTNhMjQ4NSB0byBkYTRjNzVjCgoyMDA5LTExLTI2IDE2OjE0OjMwICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2NGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2NGRlcGF5Lmg6CgkgIHJ0cGgyNjRkZXBheTogb3B0aW9uYWxseSBtZXJnZSBOQUxVcyBpbnRvIEFjY2VzcyBVbml0cwoJICAuLi4gd2hpY2ggbWF5IGJlIGV4cGVjdGVkL2Rlc2lyZWQgYnkgc29tZSBkb3duc3RyZWFtIGRlY29kZXJzCgkgIChhbmQgc3BlYy13aXNlIGhpZ2hseSByZWNvbW1lbmRlZCBmb3IgYXQgbGVhc3Qgbm9uLWJ5dGVzdHJlYW0gbW9kZSkuCgoyMDA5LTExLTI2IDE3OjI5OjAzICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogZml4IHRpbWVzdGFtcCBkYXRhdHlwZQoKMjAwOS0xMS0yNSAxMDozODoyMyAtMDYwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBqaXR0ZXJidWZmZXI6IGF2b2lkIHVzaW5nIHdyb25nIGNsb2NrLXJhdGUKCSAgQ2hlY2sgZm9yIGEgdmFsaWQgY2xvY2stcmF0ZSBiZWZvcmUgYXR0ZW1wdGluZyB0byBlc3RpbWF0ZSB0aGUgbnB0CgkgIHN0b3AgdGltZS4KCjIwMDktMTEtMjUgMTA6Mzc6MzAgLTA2MDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzoKCSAgcnRwYmluOiBmaXggdHlwbyBpbiBjb21tZW50cwoKMjAwOS0xMS0yNSAxNjowNToxMCArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwaml0dGVyYnVmZmVyLmM6CgkgIHJ0cGppdHRlcmJ1ZmZlcnRlc3Q6IGFkZCBvbmUgbW9yZSB0ZXN0IGFuZCBmaWxlIGEgYnVnIG5vdwoJICBDSGFuZ2UgdGhlIGJhY2t3YXJkcyB0ZXN0IHRvIGFsd2F5cyBzZW5kIGZpcnN0IGJ1ZmZlciBmaXJzdCB0byBoYXZlIGEgZGVmaW5lCgkgIGJhc2V0aW1lLiBBZGQgYW5vdGhlciB0ZXN0IHRoYXQgc2VuZHMgYnVmZmVycyBiYWNrd2FyZHMgdG8gYXNzZXJ0IHRoYXQgb25seQoJICBmaXJzdCBzZW50IGJ1ZmZlciBpcyBrZWVwIGFuZCB1c2VkIGFzIGJhc2V0aW1lLiBEaXNhYmxlZCB0aG9zZSB0ZXN0cyBzdGlsbCwKCSAgYXMgaXRzIG5vdCBwYXNzaW5nL2ZhaWxpbmcgY29uc2l0ZW50bHkgYW5kIGZpbGUgYSBidWcgZm9yIGppdHRlcmJ1ZmZlci4KCjIwMDktMTEtMjUgMTA6MTc6MzQgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cGppdHRlcmJ1ZmZlci5jOgoJICBqaXR0ZXJidWZmZXJ0ZXN0OiBpbXByb3ZlIHRoZSB0ZXN0CgkgIHRoZSB0ZXN0cyBhcmUgYSBiaXQgbW9yZSBzb2xpZCBub3cgYnV0IHN0aWxsIG5vdCBwcm9kdWNlIHJlbGlhYmxlIHJlc3VsdHMuCgkgIFdvbmRlciBpZiB0aGV5IGFyZSBzdGlsbCBmbGF3a3kgb3IgaWYgaXRzIGEgYnVnIGluIGppdHRlcmJ1ZmZlci4KCjIwMDktMTEtMjQgMTE6MTM6MDYgLTA4MDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEBzb25nYmlyZG5lc3QuY29tPgoKCSogZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuYzoKCSAgbXVsdGl1ZHBzaW5rOiByZXR1cm4gZXJyb3IgbWVzc2FnZSBvbiB3aW5kb3dzIHRvby4KCjIwMDktMTEtMjQgMTA6NTg6NDkgLTA4MDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEBzb25nYmlyZG5lc3QuY29tPgoKCSogZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuYzoKCSAgbXVsdGl1ZHBzaW5rOiBmaXJzdCBwaGFzZSBvZiBmaXhpbmcgdXAgZXJyb3IgcmVwb3J0aW5nIGZvciB3aW5kb3dzLgoKMjAwOS0xMC0zMCAwMzoxMzo1NCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXZpL2dzdGF2aW11eC5jOgoJICBhdmltdXg6IGFsc28gc2V0IHRoZSBzdWdnZXN0ZWQgYnVmIHNpemUgZm9yIGF1ZGlvCgkgIFdlIHdlcmUgb25seSBzZXR0aW5nIHRoZSBzdWdnZXN0ZWQgYnVmIHNpemUgZm9yIHZpZGVvLAoJICB3ZSBjYW4gc2V0IGl0IGZvciBhdWRpbyBhcyB3ZWxsLgoJICBUaGlzIGFuZCAxOTVlMTQ1MjlkODBlZjMxOGNlM2E3NzhjMTk5NWVmYjExZjI2NmNkCgkgIGZpeCBhbiBpc3N1ZSB0aGF0IHByZXZlbnRlZCBzZWVraW5nIG9uIGxhcmdlIGF2aSBmaWxlcwoJICBvbiBXTVAgKG5vbi1yZWNlbnQgdmVyc2lvbnMpLgoKMjAwOS0xMS0wNCAxNjoxMDoyMyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXZpL2dzdGF2aW11eC5jOgoJKiBnc3QvYXZpL2dzdGF2aW11eC5oOgoJICBhdmltdXg6IGZpeCBpbmR4IGR1cmF0aW9uIGZvciBQQ00gYXVkaW8KCSAgR3N0QnVmZmVycyBmb3IgUENNIGF1ZGlvIHVzdWFsbHkgY29udGFpbnMgbW9yZSB0aGFuCgkgIDEgc2FtcGxlLCB3ZSBuZWVkIHRvIGdldCB0aGUgdG90YWwgbnVtYmVyIG9mIHNhbXBsZXMgdG8gc2V0CgkgIHRoZSBpbmR4IGR1cmF0aW9uLgoKMjAwOS0xMS0wNCAxNjowNDoxMCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXZpL2dzdGF2aW11eC5jOgoJICBhdmltdXg6IEF1ZGlvIGJ1ZmZlcnMgc2hvdWxkIGJlIHBpY2tlZCBlYXJsaWVyCgkgIEFkZHMgYSAwLjVzIGFkdmFudGFnZSBmb3IgYXVkaW8gYnVmZmVycyB0byBiZWluZwoJICBwaWNrZWQgZWFybGllciBmb3IgbXV4aW5nLgoKMjAwOS0xMS0yNCAxNjo0MDoxOSArMDEwMCAgUm9iZXJ0IFN3YWluIDxyb2JlcnQuc3dhaW5AY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBGaXggcHVzaCBtb2RlIGJ5IG1ha2luZyBzdXJlIHN0YmwgaW5mb3JtYXRpb24gaXMgYXZhaWxhYmxlIGluIG5leHRfZW50cnlfc2l6ZSAoKQoKMjAwOS0xMS0yNCAxNjozNToyMCArMDEwMCAgUm9iZXJ0IFN3YWluIDxyb2JlcnQuc3dhaW5AY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBGaXggb3JkZXIgb2YgYXJndW1lbnRzIGluIGxvZyBtZXNzYWdlCgoyMDA5LTExLTI0IDE1OjUxOjIxICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvanBlZy9nc3RqcGVnZW5jLmM6CgkgIGpwZWdlbmM6IGZpeCBzcGVsbGluZyBpbiBjb21tZW50CgoyMDA5LTExLTIzIDE3OjU4OjE3ICswMTAwICBSb2JlcnQgU3dhaW4gPHJvYmVydC5zd2FpbkBjb2xsYWJvcmEuY28udWs+CgoJKiBjb21tb246CgkgIGJ1aWxkIHN5c3RlbTogRml4IHdyb25nbHkgY29tbWl0dGVkIGNoYW5nZSB0byBjb21tb24vCgoyMDA5LTExLTEwIDEwOjI2OjA3ICswMTAwICBSb2JlcnQgU3dhaW4gPHJvYmVydC5zd2FpbkBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IEVhc2UgZGVidWdnaW5nIGJ5IHJlbW92aW5nIGEgZ290byBmb3IgYW4gZXJyb3IgbWVzc2FnZQoKMjAwOS0xMS0xNCAxNTo1MjowOSArMDEwMCAgUm9iZXJ0IFN3YWluIDxyb2JlcnQuc3dhaW5AY29sbGFib3JhLmNvLnVrPgoKCSogY29tbW9uOgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IFBhcnNlIHBlciBzYW1wbGUgcmF0aGVyIHRoYW4gYWxsIGF0IG9uY2UgYnV0IGJ1aWxkIGNvbXBsZXRlIGluZGV4IHdoZW4gc2Vla2luZwoKMjAwOS0xMS0wNCAxNzozMToxNSArMDEwMCAgUm9iZXJ0IFN3YWluIDxyb2JlcnQuc3dhaW5AY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBTYXZlIGF0b20gZGF0YSBmb3IgbGF0ZXIgdXNlIHNvIGl0IGRvZXNuJ3QgZ2V0IGZyZWVkIGFmdGVyIGluaXRpYWwgcGFyc2luZwoKMjAwOS0xMS0wNiAxMTowMDowNCArMDEwMCAgUm9iZXJ0IFN3YWluIDxyb2JlcnQuc3dhaW5AY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBQYXJzZSBmcm9tIHRoZSBwcmV2aW91c2x5IHBhcnNlZCBzYW1wbGUgdXAgdG8gc2FtcGxlIG4KCjIwMDktMTEtMDQgMTc6MDQ6MjIgKzAxMDAgIFJvYmVydCBTd2FpbiA8cm9iZXJ0LnN3YWluQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogTWFrZSBxdGRlbXV4X3BhcnNlX3NhbXBsZXMgKCkgcGFyc2UgdXAgdG8gbiBzYW1wbGVzCgoyMDA5LTEwLTI4IDE3OjQ5OjAyICswMDAwICBSb2JlcnQgU3dhaW4gPHJvYmVydC5zd2FpbkBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IFNlcGFyYXRlIG9mZiBzdGJsIHN1Yi1hdG9tIGluaXRpYWxpc2F0aW9uCgoyMDA5LTEwLTI2IDIyOjQyOjM2ICswMDAwICBSb2JlcnQgU3dhaW4gPHJvYmVydC5zd2FpbkBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IE1vdmUgdmFyaWFibGVzIGludG8gY29udGV4dCBpbiBwcmVwYXJhdGlvbiBmb3IgcmVmYWN0b3Jpc2F0aW9uCgoyMDA5LTEwLTI2IDIwOjM2OjA4ICswMDAwICBSb2JlcnQgU3dhaW4gPHJvYmVydC5zd2FpbkBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IEZpeCBidWcgd2hlcmUgc3RwcyBpcyBuZXZlciBwYXJzZWQgZHVlIHRvIGxvZ2ljIGVycm9yCgoyMDA5LTExLTA0IDE3OjMxOjE1ICswMTAwICBSb2JlcnQgU3dhaW4gPHJvYmVydC5zd2FpbkBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IFBvcnQgY3R0cyBmcm9tIEdub2RlICogdG8gR3N0Qnl0ZVJlYWRlcgoKMjAwOS0xMC0yMyAxMzowNjo0NCArMDEwMCAgUm9iZXJ0IFN3YWluIDxyb2JlcnQuc3dhaW5AZ21haWwuY29tPgoKCSogZ3N0L3F0ZGVtdXgvcXRhdG9tcGFyc2VyLmg6CgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eF9kdW1wLmM6CgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXhfZHVtcC5oOgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4X3R5cGVzLmg6CgkgIHF0ZGVtdXg6IFN3aXRjaCBmcm9tIFF0QXRvbVBhcnNlciB0byBHc3RCeXRlUmVhZGVyCgoyMDA5LTExLTIzIDEyOjUzOjUwICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBmaXggdHlwbyBhbmQgZ3JhbW1hcgoKMjAwOS0xMS0yMiAxOTozMDo1OCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHRtZi9NYWtlZmlsZS5hbToKCSAgQ2xlYW4gdXAgTERGTEFHUywgTElCUywgQ0ZMQUdTCgkgIEZpeCBvcmRlciwgZml4IHZhcmlhYmxlcyB0aGF0IGRvbid0IGV4aXN0LCBsaWtlIEdTVF9MSUJTX0xJQlMsCgkgIHVzZSAkKExJQk0pIGluc3RlYWQgb2YgLWxtLCBhbmQgbW92ZSBfTElCUyBmcm9tIExERkxBR1MgdG8gTElCQURELgoJICBTcG90dGVkIGJ5IEhhdmFyZCBHcmFmZi4KCjIwMDktMTEtMjAgMTA6MzE6NDcgLTA1MDAgIE9saXZpZXIgQ3LDqnRlIDx0ZXN0ZXJAdGVzdGVyLmNhPgoKCSogZ3N0L2R0bWYvdG9uZV9kZXRlY3QuaDoKCSAgZHRtZjogVXNlIF9zdGRpbnQuaCBmcm9tIGNvbmZpZ3VyZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjAyNDY1CgoyMDA5LTExLTIwIDEwOjMwOjAwICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5jOgoJICBkZWludGVybGFjZTogZml4IHR5cG8gaW4gbW9kZSBlbnVtIGRlc2NyaXB0aW9uCgoyMDA5LTExLTIwIDExOjI1OjQ5ICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzoKCSAgZG9jczogbW9yZSBsaW5rcyBhbmQgYmV0dGVyIHNob3J0IGRlc2NyaXB0aW9uCgkgIEZpeCBzcGVsbGluZyBvZiBHc3RSdHBTc3JjRGVtdXggdG8gZ2V0IGl0IGxpbmtlZC4gQWRkIG1vcmUgbGlua3MuIENoYW5nZQoJICB0aGUgc2hvcnQgZGVzY3JpcHRpb24gdG8gYmUgbW9yZSBtZWFuaW5nZnVsLgoKMjAwOS0xMS0yMCAwOTo1ODoyNiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy93YXZwYWNrcGFyc2UuYzoKCSAgd2F2cGFja3BhcnNlOiBGaXggdW5pdCB0ZXN0IGZvciByZWNlbnQgcG9zaXRpb24gcmVwb3J0aW5nIGNoYW5nZXMKCjIwMDktMTEtMTkgMjA6MzM6MDcgLTA1MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdG1mL3RvbmVfZGV0ZWN0LmM6CgkqIGdzdC9kdG1mL3RvbmVfZGV0ZWN0Lmg6CgkgIGR0bWY6IFVwZGF0ZSBkdG1mZGV0ZWN0IHRvIG1ha2UgaXQgTVNWQyBmcmllbmRseQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjAyNDY1CgoyMDA5LTExLTE5IDE2OjA5OjM4ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2twYXJzZS5jOgoJICB3YXZwYWNrcGFyc2U6IEFmdGVyIHB1c2hpbmcgYSBmcmFtZSwgdXBkYXRlIGxhc3Rfc3RvcCB0byB0aGUgZW5kIG9mIHRoZSBmcmFtZQoJICBUaGlzIGltcHJvdmVzIHBvc2l0aW9uIHJlcG9ydGluZywgZXNwZWNpYWxseSBiZWNhdXNlIG9mIHRoZSBmYWN0IHRoYXQKCSAgV2F2UGFjayBmcmFtZXMgYXJlIHVzdWFsbHkgMC41LTEuMCBzZWNvbmRzIGxvbmcuCgoyMDA5LTExLTE5IDE2OjA4OjMzICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2twYXJzZS5jOgoJICB3YXZwYWNrcGFyc2U6IEFsbG93IHB1bGxpbmcgdGhlIGxhc3QgV2F2UGFjayBmcmFtZSBvZiBhIGZpbGUKCSAgQmVjYXVzZSBvZiBhID49IGluc3RlYWQgb2YgYSA+LCB0aGF0IGxhc3QgZnJhbWUgb2YgYSBXYXZQYWNrIGZpbGUKCSAgd291bGQgbmV2ZXIgYmUgcGFyc2VkIGluIHB1bGwgbW9kZS4KCjIwMDktMTEtMTkgMTA6MzA6NDMgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSAwNzAyZmUxIHRvIDUzYTI0ODUKCjIwMDktMTAtMjkgMDg6Mjk6MzggLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4X2ZvdXJjYy5oOgoJICBxdGRlbXV4OiBBZGQgbW9yZSBmaWVsZHMgdG8gU1ZRMyBjYXBzCgkgIHF0ZGVtdXggb25seSBhZGRlZCB0aGUgd2hvbGUgc3RzZCBhdG9tIGFzICdjb2RlY19kYXRhJwoJICBpbiBpdHMgb3V0cHV0IGNhcHMgZm9yIFNWUTMuIFRoaXMgcGF0Y2ggbWFrZXMgaXQgYWRkCgkgIHRoZSBTRVFIIChpbnNpZGUgYSBTTUkgYXRvbSkgYW5kIGEgZ2FtbWEgZmllbGQgKHRha2VuCgkgIGZyb20gdGhlIGdhbWEgYXRvbSkgaWYgYXZhaWxhYmxlLgoJICBGaXhlcyAjNTg3OTIyCgoyMDA5LTExLTE4IDE3OjU1OjQyICswMTAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L3dhdmVuYy9nc3R3YXZlbmMuYzoKCSAgd2F2ZW5jOiBSYWlzZSByYW5rIG9mIG11eGVyIHRvIFBSSU1BUlkKCjIwMDktMTEtMTggMTc6NTQ6MTYgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QveTRtL2dzdHk0bWVuY29kZS5jOgoJICB5NG06IFJhaXNlIHJhbmsgb2YgZW5jb2RlciB0byBQUklNQVJZCgoyMDA5LTExLTE4IDE3OjU0OjAyICswMTAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L2xhdy9hbGF3LmM6CgkqIGdzdC9sYXcvbXVsYXcuYzoKCSAgbGF3OiBSYWlzZSByYW5rIG9mIGVuY29kZXJzIHRvIFBSSU1BUlkKCjIwMDktMTEtMTIgMTk6MTE6MTggKzAwMDAgIEJhc3RpZW4gTm9jZXJhIDxoYWRlc3NAaGFkZXNzLm5ldD4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5oOgoJICBBZGQgdXNlci1pZCBhbmQgdXNlci1wdyBwcm9wZXJ0aWVzCgkgIFNvIHRoYXQgb25lIGRvZXNuJ3QgbmVlZCB0byBtb2RpZnkgdGhlIFVSTCB0byBoYXZlIGFjY2VzcwoJICB0byBhdXRoZW50aWNhdGVkIFJUU1Agc3RyZWFtcy4KCSAgZml4ZXMgIzYwMTcyOAoKMjAwOS0xMS0xOCAxMjoyMjoxMCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSAgcHVsc2VzaW5rOiB1c2UgYWNxdWlyZWQgZmxhZyB3aGVuIGNoZWNraW5nIHZhbGlkIHN0YXRlCgkgIFVzZSB0aGUgYWNxdWlyZWQgZmllbGQgb2YgdGhlIHJpbmdidWZmZXIgaW4gZ2V0X3RpbWUgdG8ga25vdyB3aGVuIHdlIGFyZSBpbiBhbgoJICBpbnZhbGlkIHN0YXRlLiBXZSBkb24ndCBjbGVhciB0aGUgcmF0ZSBmbGFnIHdoZW4gcmVsZWFzaW5nIHRoZSByaW5nYnVmZmVyIHNvCgkgIHRoaXMgdmFsdWVzIGlzIG5vdCB1c2FibGUuCgkgIEF2b2lkcyBzb21lIGVycm9yIG1lc3NhZ2VzIGJlaW5nIHBvc3RlZCBiZWNhdXNlIHRoZSBwdWxzZWF1ZGlvIGNvbm5lY3Rpb24gaXMKCSAgZG93bi4KCjIwMDktMTEtMTggMTA6MTc6MDIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IGJ1bXAgY29yZSByZXF1aXJlbWVudCB0byAwLjEwLjI1LjEgYXMgd2VsbAoJICBNYWtlIGltcGxpY2l0IHJlcXVpcmVtZW50IGV4cGxpY2l0LgoKMjAwOS0xMS0xOCAxMjo1Mzo0NCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IGZpeCBib2d1cyBtZW1vcnkgY2h1bmsgc2l6ZSBjaGVjawoKMjAwOS0xMS0xOCAxMjowMTo1MiArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSAgcHVsc2VzaW5rOiBpbXBsZW1lbnQgc29tZSBtb3JlIGNhbGxiYWNrcwoJICBJbXBsZW1lbnQgc29tZSBtb3JlIGNhbGxiYWNrcyBmb3IgZGVidWdnaW5nIHB1cnBvc2VzLgoKMjAwOS0xMS0xMSAxNTo1MDoxOSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBqaXR0ZXJidWZmZXI6IHJlbGVhc2UgbG9jayBiZWZvcmUgZW1pdGluZyBzaWduYWxzCgkgIFJlbGVhc2UgdGhlIGpidWYgbG9jayBiZWZvcmUgZW1pdGluZyB0aGUgcmVxdWVzdC1wdC1tYXAgc2lnbmFsIHRvIGF2b2lkCgkgIGRlYWRsb2Nrcy4gV2UgYWxzbyBuZWVkIHRvIGNhdGNoIHRoZSBzaHV0ZG93biBjYXNlIHdoZW4gbG9ja2luZyBhZ2Fpbi4KCSAgRml4ZXMgIzU5MzM1NAoKMjAwOS0xMS0xMSAxMTo1OToxNiArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvTWFrZWZpbGUuYW06CgkqIGdzdC9ydHAvZ3N0cnRwLmM6CgkqIGdzdC9ydHAvZ3N0cnRwYnZkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGJ2ZGVwYXkuaDoKCSAgcnRwOiBhZGQgQnJvYWRjb21Wb2ljZSBkZXBheWxvYWRlcgoKMjAwOS0xMS0xMSAxMTozODozNiArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwYnZwYXkuYzoKCSAgcnRwYnZwYXk6IGFkZCByZmMgcmVmZXJlbmNlCgoyMDA5LTExLTExIDExOjM3OjA3ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9NYWtlZmlsZS5hbToKCSogZ3N0L3J0cC9nc3RydHAuYzoKCSogZ3N0L3J0cC9nc3RydHBidnBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGJ2cGF5Lmg6CgkgIHJ0cDogYWRkIEJyb2FkY29tVm9pY2UgcGF5bG9hZGVyCgoyMDA5LTExLTA5IDEyOjE3OjM0ICswMTAwICBKYW4gVXJiYcWEc2tpIDx3dWxjemVyQHd1bGN6ZXIub3JnPgoKCSogZ3N0L2Zsdi9nc3RmbHZtdXguYzoKCSAgZmx2bXV4OiBwcm9wZXJseSBmaW5pc2ggdGhlIEVDTUEgYXJyYXkKCSAgVGhlIEVDTUEgYXJyYXkgd2l0aCB0aGUgZmlsZSBpbmRleCB3YXMgbWlzc2luZyBhIG1hbmRhdG9yeSBlbmQgbWFya2VyLgoJICBGaXhlcyBidWcgIzYwMTI0Mi4KCjIwMDktMTEtMTggMDI6MTU6MTUgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5jOgoJICBVc2UgbmV3IHN0aWxsLWZyYW1lIEFQSSBmcm9tIGdzdC1wbHVnaW5zLWJhc2UKCjIwMDktMTEtMTggMDI6MTQ6NDYgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgQnVtcCBnc3QtcGx1Z2lucy1iYXNlIHJlcXVpcmVtZW50IHRvIDAuMTAuMjUuMQoKMjAwOS0xMS0xNyAxNzo1OToxMyAtMDgwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHNvbmdiaXJkbmVzdC5jb20+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IGlkZW50aWZ5IElNQSBhZHBjbSBpbiBxdCBwcm9wZXJseS4KCjIwMDktMTEtMTggMDE6Mjc6MzcgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICBCYWNrIHRvIGRldmVsb3BtZW50IC0+IDAuMTAuMTcuMQoKMjAwOS0xMS0xNyAwMTo1MzowOCArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZ3N0LXBsdWdpbnMtZ29vZC5kb2FwOgoJICBBZGQgcmVsZWFzZSAwLjEwLjE3IHRvIHRoZSBkb2FwIGZpbGUKCj09PSByZWxlYXNlIDAuMTAuMTcgPT09CgoyMDA5LTExLTE3IDAxOjI1OjMwICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBDaGFuZ2VMb2c6CgkqIE5FV1M6CgkqIFJFTEVBU0U6CgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5pbnRlcmZhY2VzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLnByZXJlcXVpc2l0ZXM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuc2lnbmFsczoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLTEzOTQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWFzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGFjb2xvci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbm5vZGV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFwZXRhZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb2Z4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2RldGVjdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdmkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FjYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2Fpcm8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY3V0dGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlaW50ZXJsYWNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZW5jZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmZlY3R2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVxdWFsaXplci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lc2RzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZseGRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nYW1tYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nY29uZmVsZW1lbnRzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdka3BpeGJ1Zi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20yazEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3N0cnRwbWFuYWdlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1oYWxlbGVtZW50cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pY3lkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pZDNkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlcmxlYXZlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwZWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGV2ZWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWF0cm9za2EueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW9ub3Njb3BlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpZmlsZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aXBhcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmF2aWdhdGlvbnRlc3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5nLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXB1bHNlYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcXVpY2t0aW1lLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlcGxheWdhaW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0c3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hvdXQyc2VuZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbXB0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWN0cnVtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXRhZ2xpYi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi11ZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW80bGludXgyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvYmFsYW5jZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2JveC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2Nyb3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9mbGlwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvbWl4ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2ZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teGltYWdlc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXk0bWVuYy54bWw6CgkgIFJlbGVhc2UgMC4xMC4xNwoKMjAwOS0xMS0xNyAwMDoxODoyMiArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogcG8vYWYucG86CgkqIHBvL2F6LnBvOgoJKiBwby9iZy5wbzoKCSogcG8vY2EucG86CgkqIHBvL2NzLnBvOgoJKiBwby9kYS5wbzoKCSogcG8vZGUucG86CgkqIHBvL2VuX0dCLnBvOgoJKiBwby9lcy5wbzoKCSogcG8vZXUucG86CgkqIHBvL2ZpLnBvOgoJKiBwby9mci5wbzoKCSogcG8vaHUucG86CgkqIHBvL2lkLnBvOgoJKiBwby9pdC5wbzoKCSogcG8vamEucG86CgkqIHBvL2x0LnBvOgoJKiBwby9sdi5wbzoKCSogcG8vbXQucG86CgkqIHBvL25iLnBvOgoJKiBwby9ubC5wbzoKCSogcG8vb3IucG86CgkqIHBvL3BsLnBvOgoJKiBwby9wdF9CUi5wbzoKCSogcG8vcnUucG86CgkqIHBvL3NrLnBvOgoJKiBwby9zcS5wbzoKCSogcG8vc3IucG86CgkqIHBvL3N2LnBvOgoJKiBwby90ci5wbzoKCSogcG8vdWsucG86CgkqIHBvL3ZpLnBvOgoJKiBwby96aF9DTi5wbzoKCSogcG8vemhfSEsucG86CgkqIHBvL3poX1RXLnBvOgoJICBVcGRhdGUgLnBvIGZpbGVzCgoyMDA5LTExLTEzIDAyOjA3OjI1ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBjb25maWd1cmUuYWM6CgkqIHBvL2FmLnBvOgoJKiBwby9hei5wbzoKCSogcG8vYmcucG86CgkqIHBvL2NhLnBvOgoJKiBwby9jcy5wbzoKCSogcG8vZGEucG86CgkqIHBvL2RlLnBvOgoJKiBwby9lbl9HQi5wbzoKCSogcG8vZXMucG86CgkqIHBvL2V1LnBvOgoJKiBwby9maS5wbzoKCSogcG8vZnIucG86CgkqIHBvL2h1LnBvOgoJKiBwby9pZC5wbzoKCSogcG8vaXQucG86CgkqIHBvL2phLnBvOgoJKiBwby9sdC5wbzoKCSogcG8vbHYucG86CgkqIHBvL210LnBvOgoJKiBwby9uYi5wbzoKCSogcG8vbmwucG86CgkqIHBvL29yLnBvOgoJKiBwby9wbC5wbzoKCSogcG8vcHRfQlIucG86CgkqIHBvL3J1LnBvOgoJKiBwby9zay5wbzoKCSogcG8vc3EucG86CgkqIHBvL3NyLnBvOgoJKiBwby9zdi5wbzoKCSogcG8vdHIucG86CgkqIHBvL3VrLnBvOgoJKiBwby92aS5wbzoKCSogcG8vemhfQ04ucG86CgkqIHBvL3poX0hLLnBvOgoJKiBwby96aF9UVy5wbzoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICAwLjEwLjE2LjMgcHJlLXJlbGVhc2UKCjIwMDktMTEtMTAgMTE6NTI6MjQgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICB2NGwyOiBNYWtlIHN1cmUgdG8gaW5pdGlhbGl6ZSB2YXJpYWJsZXMgYmVmb3JlIHVzaW5nIHRoZW0KCjIwMDktMTEtMDkgMjA6MDY6MDMgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIENoYW5nZUxvZzoKCSogY29uZmlndXJlLmFjOgoJKiBwby9hZi5wbzoKCSogcG8vYXoucG86CgkqIHBvL2JnLnBvOgoJKiBwby9jYS5wbzoKCSogcG8vY3MucG86CgkqIHBvL2RhLnBvOgoJKiBwby9kZS5wbzoKCSogcG8vZW5fR0IucG86CgkqIHBvL2VzLnBvOgoJKiBwby9ldS5wbzoKCSogcG8vZmkucG86CgkqIHBvL2ZyLnBvOgoJKiBwby9odS5wbzoKCSogcG8vaWQucG86CgkqIHBvL2l0LnBvOgoJKiBwby9qYS5wbzoKCSogcG8vbHQucG86CgkqIHBvL2x2LnBvOgoJKiBwby9tdC5wbzoKCSogcG8vbmIucG86CgkqIHBvL25sLnBvOgoJKiBwby9vci5wbzoKCSogcG8vcGwucG86CgkqIHBvL3B0X0JSLnBvOgoJKiBwby9ydS5wbzoKCSogcG8vc2sucG86CgkqIHBvL3NxLnBvOgoJKiBwby9zci5wbzoKCSogcG8vc3YucG86CgkqIHBvL3RyLnBvOgoJKiBwby91ay5wbzoKCSogcG8vdmkucG86CgkqIHBvL3poX0NOLnBvOgoJKiBwby96aF9ISy5wbzoKCSogcG8vemhfVFcucG86CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgMC4xMC4xNi4yIHByZS1yZWxlYXNlCgoyMDA5LTExLTA5IDE1OjIwOjAwICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9qcGVnL2dzdGpwZWdkZWMuYzoKCSAganBlZ2RlYzogZnJlZSB0ZW1wb3JhcnkgYnVmZmVyIHdoZW4gY2hhbmdpbmcgc3RhdGUgdG8gTlVMTAoJICBGcmVlIHRlbXBvcmFyeSBhbGxvY2F0aW9ucyBpbiB0aGUgc3RhdGUgY2hhbmdlIGZ1bmN0aW9uIGFuZCBub3QKCSAgb25seSB3aGVuIHRoZSBvYmplY3QgaXMgZmluYWxpc2VkLgoKMjAwOS0xMS0wOSAxMTo0MDoyNSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvanBlZy9nc3RqcGVnZGVjLmM6CgkqIGV4dC9qcGVnL2dzdGpwZWdkZWMuaDoKCSAganBlZ2RlYzogb25seSBhbGxvY2F0ZSBhcyBtdWNoIHRlbXBvcmFyeSBtZW1vcnkgYXMgbmVlZGVkIGZvciBpbmRpcmVjdCBkZWNvZGluZwoJICBXaGVuIHdlIGNhbid0IGRlY29kZSBkaXJlY3RseSBpbnRvIHRoZSBvdXRwdXQgYnVmZmVyLCBtYWtlIG91ciB0ZW1wIGJ1ZmZlcnMKCSAgb25seSBhcyBiaWcgYXMgbmVlZGVkIGluc3RlYWQgb2YgYWxsb2NhdGluZyBmb3IgdGhlIHdvcnN0IGNhc2Ugc2NlbmFyaW8gKHdlbGwsCgkgIHdlIHN0aWxsIGFsbG9jIG1vcmUgdGhhbiBzdHJpY3RseSBuZWVkZWQgZm9yIHNvbWUgY2FzZXMsIGJ1dCBzaWduaWZpY2FudGx5CgkgIGxlc3MgdGhhbiBiZWZvcmUpLgoKMjAwOS0xMS0wNSAyMzo0Njo1OCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkgIHB1bHNlc2luazogcHJpbnRmIGZvcm1hdCBmaXgKCjIwMDktMTEtMDUgMjM6NDQ6MjcgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3JhdzEzOTQvZ3N0MTM5NGNsb2NrLmM6CgkqIGV4dC9yYXcxMzk0L2dzdGhkdjEzOTRzcmMuYzoKCSAgcmF3MTM5NDogcHJpbnRmIGZvcm1hdCBmaXhlcwoKMjAwOS0xMS0wNSAyMzo0MDoxNSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplci5jOgoJICBlcXVhbGl6ZXI6IHByaW50ZiBmb3JtYXQgZml4CgoyMDA5LTExLTA0IDIyOjE5OjU4IC0wNTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHRtZi9NYWtlZmlsZS5hbToKCSogZ3N0L2R0bWYvZ3N0ZHRtZi5jOgoJKiBnc3QvZHRtZi9nc3RkdG1mZGV0ZWN0LmM6CgkqIGdzdC9kdG1mL2dzdGR0bWZkZXRlY3QuaDoKCSogZ3N0L2R0bWYvdG9uZV9kZXRlY3QuYzoKCSogZ3N0L2R0bWYvdG9uZV9kZXRlY3QuaDoKCSAgZHRtZmRldGVjdDogQWRkIERUTUYgdG9uZSBkZXRlY3RvcgoJICBJdCBsb29rcyBhdCByYXcgYXVkaW8gZGF0YSBhbmQgZW1pdHMgbWVzc2FnZXMgd2hlbiBEVE1GIGlzIGRldGVjdGVkLgoJICBUaGUgZHRtZiBkZXRlY3RvciBpcyB0aGUgc2FtZSBHb2VydHplbCBpbXBsZW1lbnRhdGlvbiB1c2VkIGluIEZyZWVTd2l0Y2gKCSAgYW5kIEFzdGVyaXNrLiBJdCBpcyBpbiB0aGUgcHVibGljIGRvbWFpbi4KCjIwMDktMTEtMDUgMTI6MTM6NDQgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F2aS9nc3RhdmltdXguYzoKCSAgYXZpbXV4OiBkbyBub3Qgd3JpdGUgZW1wdHkgSU5GTyBsaXN0CgkgIGF2b2lkIHdyaXRpbmcgYW4gZW1wdHkgSU5GTyBsaXN0IGNodW5rLCBib3RoIGJlY2F1c2UKCSAgaXQgaXMgdXNlbGVzcyBhbmQgYmVjYXVzZSB2bGMgcmVmdXNlcyB0byBwbGF5IHRoZQoJICByZXN1bHRpbmcgZmlsZS4KCjIwMDktMTEtMDUgMTA6NTQ6MTIgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIuYzoKCSAgZXF1YWxpemVyOiBOb3RpZnkgYWJvdXQgYmFuZCBwcm9wZXJ0eSBjaGFuZ2VzIGNhdXNlZCBieSBjaGFuZ2luZyBudW1iZXIgb2YgYmFuZHMKCjIwMDktMTEtMDUgMTA6NDU6NTkgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIuYzoKCSogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIuaDoKCSogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXJuYmFuZHMuYzoKCSAgZXF1YWxpemVyOiBNYWtlIGNoYW5nZXMgdG8gYmFuZCBwcm9wZXJ0aWVzIGFuZCB0aGUgbnVtYmVyIG9mIGJhbmRzIHRocmVhZHNhZmUKCjIwMDktMTEtMDUgMTA6MzA6NDYgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIuYzoKCSAgZXF1YWxpemVyOiBGaXggc3R1cGlkIG9mZiBieSB0d28gYnVnCgoyMDA5LTExLTA1IDA4OjE4OjA1ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyLmM6CgkgIGVxdWFsaXplcjogQWRkIGJhbmQgcHJvcGVydHkgdG8gc2VsZWN0IHRoZSBiYW5kIGZpbHRlciB0eXBlCgkgIFRoaXMgYWxsb3dzIHBlciBiYW5kIGNvbmZpZ3VyYXRpb24gb2YgYSBwZWFrLCBsb3cgc2hlbGYgb3IKCSAgaGlnaCBzaGVsZiBmaWx0ZXIsIHdoaWNoIGNhbiBiZSB2ZXJ5IHVzZWZ1bCBpZiB0aGUgYmFuZCBmcmVxdWVuY2llcwoJICBhbmQgd2lkdGhzIGFyZSBtYW51YWxseSBjb25maWd1cmVkLgoKMjAwOS0xMS0wNSAwODoxNzo1MyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplci5jOgoJICBlcXVhbGl6ZXI6IEZpeCBjb2RlIHN0eWxlCgoyMDA5LTExLTA1IDA4OjAzOjEzICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyLmM6CgkqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyMTBiYW5kcy5jOgoJKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplcjNiYW5kcy5jOgoJKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplcm5iYW5kcy5jOgoJICBlcXVhbGl6ZXI6IFNvbWUgY2xlYW51cAoKMjAwOS0xMS0wNCAyMjoyMTozNSAtMDUwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R0bWYvZ3N0ZHRtZnNyYy5jOgoJICBkdG1mc3JjOiBSZWplY3QgZW1wdHkgY2FwcwoKMjAwOS0xMS0wNCAyMjoyMToyMiAtMDUwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R0bWYvZ3N0ZHRtZnNyYy5jOgoJICBkdG1mc3JjOiBVc2UgbG9nIGxldmVsIGZvciByZXBlYXRlZCBkZWJ1ZyBtZXNzYWdlcwoKMjAwOS0xMS0wNCAyMDowNToxNyAtMDUwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R0bWYvZ3N0ZHRtZnNyYy5jOgoJICBkdG1mc3JjOiBBbGxvdyBmb3IgYW55IHNhbXBsZXJhdGUKCjIwMDktMTAtMDcgMDk6MzE6MTkgLTA0MDAgIEdhYnJpZWwgTWlsbGFpcmUgPGdhYnJpZWwubWlsbGFpcmVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBjZWx0ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBjZWx0cGF5LmM6CgkgIGNlbHRwYXkvZGVwYXkgOiBjaGFuZ2UgR1NUX0RFQlVHX09CSkVDVCB0byBHU1RfTE9HX09CSkVDVCBpbiBwYXlfaGFuZGxlX2J1ZmZlciBhbmQgZGVwYXlfcHJvY2VzcwoKMjAwOS0xMC0wMiAxNzowNDo0MyAtMDQwMCAgR2FicmllbCBNaWxsYWlyZSA8Z2FicmllbC5taWxsYWlyZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGNlbHRkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGNlbHRkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGNlbHRwYXkuYzoKCSAgY2VsdHBheS9kZXBheTogTmVnb3RpYXRlIHBhcmFtZXRlcnMgdGhyb3VnaCBjYXBzCgkgIGNlbHRkZXBheSA6IGFkZGVkIGRlZmF1bHQgZnJhbWVzaXplKDQ4MCkgY2hhbm5lbHMoMSkgYW5kIGNsb2NrcmF0ZSgzMjAwMCkKCSAgZGVwYXlfc2V0Y2FwcyA6IG5vdyBnZXRzIGNoYW5uZWxzIGFuZCBmcmFtZXNpemUgZnJvbSBzdHJpbmcgd2l0aCBkZWZhdWx0IHZhbHVlCgkgIGRlcGF5X3Byb2Nlc3MgOiBub3cgYWRkcyB0aW1lc3RhbXAgdG8gb3V0YnVmCgkgIEFkZGVkIGZyYW1lX3NpemUgdG8gR3N0UnRwQ2VsdERlcGF5CgkgIENoYW5nZWQgc29tZSBHU1RfREVCVUcgdG8gR1NUX0RFQlVHX09CSkVDVCBvciBHU1RfTE9HX09CSkVDVAoJICBjZWx0cGF5IDogZ2V0Y2FwcyA6IGdldHMgY2hhbm5lbCBhbmQgZnJhbWVzaXplIGFuZCBzZXRzIGNhcHMKCSAgQWRkZWQgZnJhbWUtc2l6ZSB0byBzdGF0aWMgY2FwcyBmb3IgYXVkaW8veC1jZWx0CgoyMDA5LTExLTA0IDE1OjU4OjM0ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBnc3QvZGVpbnRlcmxhY2UvTWFrZWZpbGUuYW06CgkgIGRlaW50ZXJsYWNlOiBQdWxsIGluIENGTEFHUyBhbmQgTElCUyBmbGFncyBmcm9tIC1iYXNlIGJlZm9yZSBjb3JlIGJlZm9yZSBzeXN0ZW0uCgoyMDA5LTEwLTE1IDE2OjMzOjI0ICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBwby9NYWtldmFyczoKCSAgcG86IERvbid0IGNyZWF0ZSBiYWNrdXAgLnBvIGZpbGVzCgkgIEFzIHdlbGwgYXMgcHJldmVudGluZyBjcmVhdGlvbiBvZiB1c2VsZXNzIGJhY2t1cCBmaWxlcywgaXQgd29ya3MKCSAgYXJvdW5kIGEgYnVnIGluIGdldHRleHQgMC4xNyBvbiBPUy9YCgoyMDA5LTExLTA0IDE2OjQ3OjQyICswMTAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGloYXRlc3RldmUubG9jYWw+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4X2R1bXAuYzoKCSAgcXRkZW11eDogaW5pdCB2YXJpYWJsZXMgdG8gbWFrZSBjb21waWxlciBvbiBvc3ggYnVpbGQgYm90IGhhcHB5CgoyMDA5LTExLTAzIDE2OjA0OjM3ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXhfZHVtcC5jOgoJICBxdGRlbXV4OiBpbml0IHZhcmlhYmxlcyB0byBtYWtlIGNvbXBpbGVyIG9uIG9zeCBidWlsZCBib3QgaGFwcHkKCjIwMDktMTEtMDMgMTc6MzU6MTUgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9qcGVnL2dzdGpwZWdkZWMuYzoKCSogZXh0L2pwZWcvZ3N0anBlZ2RlYy5oOgoJICBqcGVnZGVjOiBkb24ndCBhbGxvY2F0ZSBiaWcgYXJyYXlzIG9uIHRoZSBzdGFjawoJICBBZGQgdGhlIGFycmF5cyB0byB0aGUgaW5zdGFuY2UgZGF0YSBhbmQgYWxsb2NhdGUgb24gZmlyc3QgdXNlLgoKMjAwOS0xMS0wMSAxNTo1Nzo0NCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuYzoKCSAgZGVpbnRlcmxhY2U6IHJlbW92ZSBwb2ludGxlc3MgY2FsbCB0byBnc3RfZWxlbWVudF9ub19tb3JlX3BhZHMoKQoKMjAwOS0xMS0wMSAwMDoyOTo1NyArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2xldmVsL2dzdGxldmVsLmM6CgkgIGxldmVsOiBmaXggZGVjYXkgdG8gYmUgc21vb3RoCgkgIFRoZSBsZW5ndGggbm90IGhhdmluZyBhbnkgZnJhY3Rpb25hbCBwYXJ0IGFzIGl0IHdhcyBwcm9tb3RlZCB0byBnZG91YmxlIGFmdGVyCgkgIGRpdmlkaW5nIHR3byBndWludDY0LgoKMjAwOS0xMS0wMSAwMDoyOToyNCArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2xldmVsL2dzdGxldmVsLmM6CgkqIGdzdC9sZXZlbC9nc3RsZXZlbC5oOgoJICBsZXZlbDogY2FsY3VsYXRlIHRoZSBtZXNzYWdlLWludGVydmFsbCB3aGVuIGl0IGNoYW5nZXMKCjIwMDktMTEtMDEgMDA6MTQ6MDggKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9sZXZlbC9nc3RsZXZlbC5jOgoJICBsZXZlbDogY2xvY2t0aW1lIGlzIGEgZ3VpbnQ2NCwgdXNlIHJpZ2h0IG1hY3JvIHRvIGluaXQgZmllbGRzCgoyMDA5LTExLTAxIDAwOjEwOjAxICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvbGV2ZWwvZ3N0bGV2ZWwuYzoKCSAgbGV2ZWw6IHVzZSBtb3JlIGctc3R5bGUgdHlwZXMKCjIwMDktMTAtMzAgMDk6Mjc6NTkgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkgIHB1bHNlc2luazogT25seSBzZXQgdGhlIHZvbHVtZSBvbiBzdHJlYW0gY29ubmVjdGlvbiBpZiBwdWxzZSA+PSAwLjkuMjAgaXMgYXZhaWxhYmxlCgkgIEluIG9sZGVyIHZlcnNpb25zIHRoZSB2b2x1bWUgc2V0IGR1cmluZyBzdHJlYW0gY29ubmVjdGlvbiBoYWQKCSAgbm8gZGVmaW5lZCBzZW1hdGljIGFuZCB1c3VhbGx5IGl0IHdhcyBhIHJlbGF0aXZlIHZvbHVtZS4gV2hhdAoJICB3YXMgbmVlZGVkIGZvciBvdXIgdXNlIGNhc2UgaXMgYW4gYWJzb2x1dGUgdm9sdW1lIHRob3VnaCwgb3RoZXJ3aXNlCgkgIHRoZSB2b2x1bWUgd2lsbCBiZSBhbHdheXMgZGVjcmVhc2VkIG9uIHN0cmVhbSBjb25uZWN0aW9uIGlmIGl0J3MKCSAgbGVzcyB0aGFuIDEwMCUuCgkgIFNpbmNlIHB1bHNlIDAuOS4yMCB0aGF0IHZvbHVtZSBpcyBhbHdheXMgYW4gYWJzb2x1dGUgdm9sdW1lIGlmCgkgIGZsYXQgdm9sdW1lcyBhcmUgdXNlZCBhbmQgcmVsYXRpdmUgb3RoZXJ3aXNlLCB3aGljaCBpcyB0aGUgc2FtZQoJICBhcyBmb3IgcGFfY29udGV4dF9zZXRfc2lua19pbnB1dF92b2x1bWUoKS4KCSAgUmVsZXZhbnQgcHVsc2UgY2hhbmdlc2V0czoKCSAgaHR0cDovL2dpdC4wcG9pbnRlci5kZS8/cD1wdWxzZWF1ZGlvLmdpdDthPWNvbW1pdDtoPWYyN2E1MDY5MWM4ZmU0NWJhYzdkZDZiMjFmYWM5MWEzNTlkZWYzYTEKCSAgaHR0cDovL2dpdC4wcG9pbnRlci5kZS8/cD1wdWxzZWF1ZGlvLmdpdDthPWNvbW1pdDtoPTI1MDE2ODc1NzllMzU5ZDUwMzJhNGQxNjViMmZmYzhmNWIxYjhiYTYKCjIwMDktMTAtMjcgMTg6MDc6MTggKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIGF2aWRlbXV4OiB1c2Ugc2VnbWVudF9mdWxsIHdoZW4gd2UgY2FuCgkgIFVzZSBzZWdtZW50X2Z1bGwgc28gdGhhdCB3ZSBjYW4gcGFzcyB0aGUgYXBwbGllZCByYXRlIHRvIHRoZSBzZWdtZW50IHZhbHVlcy4gV2UKCSAgd2lsbCBjaGFuZ2UgdGhlIGFwcGxpZWQgcmF0ZSB3aGVuIHdlIGltcGxlbWVudCBza2lwIG1vZGUuCgoyMDA5LTEwLTE4IDAwOjE2OjA2ICswMTAwICBSb2JlcnQgU3dhaW4gPHJvYmVydC5zd2FpbkBnbWFpbC5jb20+CgoJKiBnc3Qvd2F2ZW5jL2dzdHdhdmVuYy5jOgoJICB3YXZlbmM6IEZpeCBidWZmZXIgb2Zmc2V0IGJ5IG1vdmluZyBsZW5ndGggaW5jcmVtZW50YXRpb24KCjIwMDktMTAtMjMgMTg6MzE6MTQgLTA3MDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEBzb25nYmlyZG5lc3QuY29tPgoKCSogc3lzL29zeHZpZGVvL29zeHZpZGVvc2luay5tOgoJICBvc3h2aWRlb3Npbms6IENyZWF0ZSB0aGUgdmlkZW8gTlNWaWV3IGluIFJFQURZLT5QQVVTRUQgcmF0aGVyIHRoYW4gTlVMTC0+UkVBRFkKCjIwMDktMTAtMjMgMTg6Mjg6MjIgLTA3MDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEBzb25nYmlyZG5lc3QuY29tPgoKCSogc3lzL29zeHZpZGVvL01ha2VmaWxlLmFtOgoJICBvc3h2aWRlbzogZXhwbGljaXRseSBsaW5rIHRvIEdTVF9MSUJTCgoyMDA5LTEwLTIzIDE4OjA5OjQzIC0wNzAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAc29uZ2JpcmRuZXN0LmNvbT4KCgkqIGdzdC9hdmkvTWFrZWZpbGUuYW06CgkqIGdzdC9tYXRyb3NrYS9NYWtlZmlsZS5hbToKCSogZ3N0L3dhdnBhcnNlL01ha2VmaWxlLmFtOgoJICBBZGQgZGVwZW5kZW5jaWVzIG9mIGdzdHJpZmYgdG8gdGhpbmdzIHRoYXQgbGluayB0byBnc3RyaWZmLCBuZWVkZWQgb24gV2luMzIuCgoyMDA5LTEwLTIzIDE3OjI1OjE3IC0wNzAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAc29uZ2JpcmRuZXN0LmNvbT4KCgkqIHRlc3RzL2V4YW1wbGVzL3J0cC9jbGllbnQtUENNQS5jOgoJKiB0ZXN0cy9leGFtcGxlcy9ydHAvc2VydmVyLWFsc2FzcmMtUENNQS5jOgoJICBydHAgZXhhbXBsZXM6IHJlbW92ZSBleGVjdXRhYmxlIGJpdHMgZnJvbSBDIGZpbGVzLgoKMjAwOS0xMC0yMyAxMToyMTo0NCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHBqaXR0ZXJidWZmZXIuYzoKCSAgdGVzdHM6IGRpc2FibGUgYWxsIGppdHRlcmJ1ZmZlciB0ZXN0cyBmb3Igbm93CgkgIFNpbmNlIGV2ZW4gdGhlIG9uZSBlbmFibGVkIHNlZW1zIHRvIGZhaWwuCgoyMDA5LTEwLTIyIDEzOjM5OjU4ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHBqaXR0ZXJidWZmZXIuYzoKCSAgdGVzdHM6IGFsc28gaW5jbHVkZSB0aGUgbmV3IHRlc3QgZm9yIHByZXYgY29tbWl0CgoyMDA5LTEwLTIyIDEzOjE5OjA3ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzLy5naXRpZ25vcmU6CgkgIHRlc3RzOiBhZGQgYSBqaXR0ZXJidWZmZXIgdGVzdAoJICBUZXN0cyBwdXNoaW5nIGEgZmV3IGJ1ZmZlcnMgaW4gdmFyaW91cyBvcmRlciBhbmQgYXNzZXJ0aW5nIHRoZSBvcmRlciBzZW50IGJ5IHRoZQoJICBqaXR0ZXJidWZmZXIuIENvbnRhaW5zIHR3byBkaXNhYmxlZCB0ZXN0cyB0aGF0IG5lZWQgbW9yZSB3b3JrLgoKMjAwOS0xMC0yMiAxMjozMDoxNCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkgIG1hdHJvc2thbXV4OiBEaXJhYyAibXV4aW5nIiB1bml0cyBlbmQgb24gRU9TIHRvbwoJICBBIERpcmFjIG11eGluZyB1bml0IGFyZSBhbGwgbm9uLXBpY3R1cmUsIG5vbi1lbmQtb2Ytc2VxdWVuY2UKCSAgcGFja2V0cyB1cCB0byBhbmQgaW5jbHVkaW5nIHRoZSBmaXJzdCBwaWN0dXJlIG9yIGVvcyBwYWNrZXQuCgkgIFNlZSBodHRwOi8vd3d3LmRpcmFjdmlkZW8ub3JnL3dpa2kvaW5kZXgucGhwL0NvbnRhaW5lckZvcm1hdE1hcHBpbmdHdWlkZWxpbmVzCgoyMDA5LTEwLTIyIDAyOjA5OjA4ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgYXZpZGVtdXg6IGZpeCBjb21waWxhdGlvbiB3aXRoIGRlYnVnZ2luZyBkaXNhYmxlZAoJICB0b3RhbF9pZHggaXMgYWx3YXlzIGV2YWx1YXRlZC4KCjIwMDktMTAtMTkgMjE6NTk6NDYgKzAzMDAgIFByaWl0IExhZXMgPHBsYWVzQHBsYWVzLm9yZz4KCgkqIGV4dC9saWJjYWNhL2dzdGNhY2FzaW5rLmg6CgkgIGNhY2FzaW5rOiBtaW5vciBjbGVhbnVwcyBmb3IgaGVhZGVyLgoJICBVc2UgR19CRUdJTl9ERUNMUyBtYWNyb3MsIHJlbW92ZSB1bnVzZWQgdmFyaWFibGVzIGFuZCBmaXggdHlwby4KCSAgU2VlICM1OTkwMTguCgoyMDA5LTEwLTE5IDIxOjU5OjIzICswMzAwICBQcmlpdCBMYWVzIDxwbGFlc0BwbGFlcy5vcmc+CgoJKiBleHQvbGliY2FjYS9nc3RjYWNhc2luay5jOgoJICBjYWNhc2luazogZXhpdCBwcm9wZXJseSB3aGVuIGludmFsaWQgZHJpdmVyIGhhcyBiZWVuIHNlbGVjdGVkLgoJICBTZWUgIzU5OTAxOC4KCjIwMDktMTAtMjAgMTg6MjM6MjggKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIGF2aWRlbXV4OiBTdG9wIHNjYW5uaW5nIGF0IHRoZSBsYXN0IGVudHJ5Li4uIGFuZCBub3QgdGhlIG9uZSBiZWZvcmUgOikKCSAgVGhpcyBlbnN1cmVzIHdlIGFjdHVhbGx5IHB1c2ggb3V0IGV2ZXJ5dGhpbmcKCjIwMDktMTAtMjAgMTc6MjA6NTUgKzAyMDAgIEFuZHkgV2luZ28gPHdpbmdvQG9ibG9uZy5uZXQ+CgoJICBxdGRlbXV4OiB1bnBhY2sgbW9yZSBpbmZvcm1hdGlvbiBpbnRvIGltYWdlL3gtajJjIGNhcHMKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4X2ZvdXJjYy5oOiBBZGQgbmV3IGZvdXJjY3MgZm9yIHVzZSBieSB0aGUgbWoyCgkgIHVucGFja2VyLgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYyAocXRkZW11eF9wYXJzZV90cmFrKTogVW5wYWNrIEpQRUcyMDAwIGNvbXBvbmVudAoJICBtYXBwaW5nIGFuZCBjaGFubmVsIGRlZmluaXRpb25zIGZyb20gdGhlIGpwMmggaGVhZGVyLiBXaWxsIGFkZAoJICBjb21wb25lbnQtbWFwIGFuZCBjaGFubmVsLWRlZmluaXRpb25zIGVsZW1lbnRzIHRvIHRoZSBjYXBzIGlmIHRoZQoJICBjb21wb25lbnQgbWFwcyBvciBjaGFubmVsIGRlZmluaXRpb25zIGFyZSBub25zdGFuZGFyZCwgd2hlcmUgc3RhbmRhcmQKCSAgb3JkZXIgbWVhbnMgUkdCLCA0NDQgcGFja2VkIFlVViwgb3IgZ3JleXNjYWxlLCB3aXRoIG5vIGFscGhhIGNoYW5uZWwuCgkgIEZpeGVzICM1OTg5MTUuCgoyMDA5LTEwLTIwIDE3OjMzOjQxICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9kZWludGVybGVhdmUuYzoKCSAgdGVzdHM6IGluY2x1ZGUgc3RkaW8uaCBmb3Igc3NjYW5mCgoyMDA5LTEwLTE5IDE1OjIxOjU3ICswMTAwICBCYXN0aWVuIE5vY2VyYSA8aGFkZXNzQGhhZGVzcy5uZXQ+CgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkgIEZpeCB0aGUgU3RyZWFtVm9sdW1lIGludGVyZmFjZSBub3QgYmVpbmcgYWR2ZXJ0aXNlZAoJICBnc3RfcHVsc2VzaW5rX2ludGVyZmFjZV9zdXBwb3J0ZWQoKSB3YXMgbWlzc2luZyBhIGNoZWNrIGZvciBpdC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTU5ODkzMwoKMjAwOS0xMC0xNiAyMToxNDoxNCArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2xldmVsL2dzdGxldmVsLmM6CgkgIGxldmVsOiBjb2RlIGNsZWFudXAKCSAgVXNlIGdkb3VibGUgaW5zdGVhZCBvZiBkb3VibGUuIENhbGN1bGF0ZSBmYWxsb2ZmX3RpbWUgb25jZSBpbnN0ZWFkIG9mIHR3aWNlLgoKMjAwOS0xMC0xOCAxNTo1MjowMiArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgYXZpZGVtdXg6IE1FTURVTVAgdGhlIGp1bmsgYmxvYnMKCSAgSXQgd2lsbCBvbmx5IGFjdHVhbGx5IHB1bGwgdGhlIGp1bmsgYmxvYnMgZnJvbSB1cHN0cmVhbSBpZiB0aGUgbWVtZHVtcAoJICBsZXZlbCBpcyBhY3RpdmF0ZWQKCjIwMDktMTAtMTggMTU6NTE6MzQgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIGF2aWRlbXV4OiBTb21lIGF2aSBmaWxlcyBoYXZlIElORk8gbGlzdHMgaW4gdGhlIGhlYWRlcnMuCgoyMDA5LTEwLTE4IDE2OjAyOjAxICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICBhdmlkZW11eDogRG9uJ3Qgc2VlayBvbiBlbXB0eSBzdHJlYW1zCgoyMDA5LTEwLTE4IDE1OjUwOjM5ICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICBhdmlkZW11eDogRW5zdXJlIF9jYWxjdWxhdGVfZHVyYXRpb25zX2Zyb21faW5kZXggb25seSB1c2VzIHZhbGlkIHN0cmVhbXMKCjIwMDktMTAtMTggMTU6NDk6MjkgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIGF2aWRlbXV4OiBPbmx5IGNhbGwgY29udmVydCBmdW5jdGlvbiBpZiB3ZSBoYXZlIHN0cmYuYXVkcwoKMjAwOS0xMC0xOCAxNTo0ODowNiArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5oOgoJICBhdmlkZW11eDogVXNlIGZpcnN0IGluZGV4ZWQgc3RyZWFtIGZvciBzZWVraW5nLgoJICBJbiB0aGUgZnV0dXJlLCBtYWluX3N0cmVhbSBjYW4gYmUgYWRqdXN0ZWQgdG8gY29udGFpbiB0aGUgb3B0aW1hbCBzdHJlYW0KCSAgYXMgbWVudGlvbm5lZCBpbiB0aGUgRklYTUUgbGluZSAzNDQwCgoyMDA5LTEwLTE4IDE1OjQ2OjQ4ICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4Lmg6CgkgIGF2aWRlbXV4OiBPbmx5IGV4cG9zZSBzdHJlYW1zIHRoYXQgYWN0dWFsbHkgaGF2ZSBzb21ldGhpbmcgaW4gaXQuCgkgIFRoaXMgZ3VhcmFudGVlcyB0aGF0IGluIHB1bGwtbW9kZSwgYWxsIHN0cmVhbXMgaGF2ZSBhIHZhbGlkIGluZGV4IHRvCgkgIHdvcmsgd2l0aC4KCjIwMDktMTAtMTggMTU6NDA6MzcgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIGF2aWRlbXV4OiBQcm9wZXJseSBtYXJrIHByZXNlbmNlIG9mIGluZGV4LgoJICBJbnN0ZWFkIG9mIGJsaW5kbHkgc2F5aW5nIHdlIGhhdmUgYW4gaW5kZXgsIG9ubHkgZG8gc28gaWYgd2UgaGF2ZSBhCgkgIG5vbi1lbXB0eSBpbmRleC4KCjIwMDktMTAtMTcgMDI6MTg6NTMgKzAyMDAgIExlbm5hcnQgUG9ldHRlcmluZyA8bGVubmFydEBwb2V0dGVyaW5nLm5ldD4KCgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSAgcHVsc2U6IG5ldmVyIGFwcGx5IHZvbHVtZSBtb3JlIHRoYW4gb25jZQoJICBHZW5lcmFsbHkgZGVjaXNpb25zIG9uIHRoZSB2b2x1bWUgb2YgdGhlIHN0cmVhbSBzaG91bGQgYmUgZG9uZSBpbnNpZGUgb2YKCSAgUEEsIG5vdCBpbnNpZGUgb2YgR3N0LiBPbmx5IFBBIGtub3dzIGhvdyB2b2x1bWVzIHRyYW5zbGF0ZSBiZXR3ZWVuCgkgIGRldmljZXMgYW5kIHMgb24uCgkgIFRoaXMgcGF0Y2ggbWFrZXMgc3VyZSB0aGF0IGFsbCB2b2x1bWVzIHNldCB2aWEgdGhlIHZvbHVtZSBwcm9wZXJ0eSBhcmUKCSAgb25seSBhcHBsaWVkICpvbmNlKiB0byB0aGUgdW5kZXJseWluZyBzdHJlYW0uIEFmdGVyIGFwcGx5aW5nIHRoZW0gdGhlCgkgIGNsaWVudCBzaWRlIHdpbGwgbm90IHN0b3JlIHRoZW0gYW55bW9yZS4gVGhpcyBzaG91bGQgbWFrZSBzdXJlIHRoYXQKCSAgcmVhbGx5IG9ubHkgdXNlci10cmlnZ2VyZWQgdm9sdW1lIGNoYW5nZXMgYXJlIGZvcndhcmRlZCB0byBzZXJ2ZXIsIGJ1dAoJICB0aGUgY2xpZW50IG5ldmVyIHRyaWVzIHRvIHNhdmUvcmVzdG9yZSB0aGUgdm9sdW1lIGludGVybmFsbHkuCgkgIEZpeGVzIGJ1ZyAjNTk1MjMxLgoKMjAwOS0xMC0xNyAwODo1NToxNiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcHVsc2UvcGx1Z2luLmM6CgkgIHB1bHNlc2luazogSW5pdGlhbGl6ZSBnZXR0ZXh0IGZvciB0aGUgdHJhbnNsYXRlZCBzdHJpbmdzIGluIHBsdWdpbl9pbml0KCkKCjIwMDktMTAtMTcgMDA6MTA6MzAgKzAyMDAgIExlbm5hcnQgUG9ldHRlcmluZyA8bGVubmFydEBwb2V0dGVyaW5nLm5ldD4KCgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSAgcHVsc2U6IHVzZSAncGVyZm9ybWVyJyBhcyBhIGZhbGxiYWNrIGZvciAnYXJ0aXN0JyB0YWcKCjIwMDktMTAtMTcgMDA6MDk6MzYgKzAyMDAgIExlbm5hcnQgUG9ldHRlcmluZyA8bGVubmFydEBwb2V0dGVyaW5nLm5ldD4KCgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSogcG8vUE9URklMRVMuaW46CgkgIHB1bHNlOiB3aGVuIGNvbnN0cnVjdGluZyBhIHN0cmVhbSB0aXRsZSBmcm9tIHRhZyBkYXRhIG1ha2Ugc3VyZSBpdCBpcyB0cmFuc2xhdGFibGUKCjIwMDktMTAtMTcgMDA6MDY6MTUgKzAyMDAgIExlbm5hcnQgUG9ldHRlcmluZyA8bGVubmFydEBwb2V0dGVyaW5nLm5ldD4KCgkqIGV4dC9wdWxzZS9wdWxzZW1peGVyY3RybC5jOgoJICBwdWxzZTogbG9vcCB3aGlsZSBjb25uZWN0aW5nIHRvIHNlcnZlcgoJICBwdGhyZWFkIGRvZXMgbm90IGd1YXJhbnRlZSB0aGF0IHRoZXJlIGFyZSBubyBzcHVyaW91cyBjb25kaXRpb24gdmFyaWFibGUKCSAgd2FrZXVwcywgbmVpdGhlciBkb2VzIHBhX3RocmVhZGVkX21haW5sb29wX3h4eCgpIHdoaWNoIGlzIGEgd3JhcHBlcgoJICBhcm91bmQgaXQuIFNvIHdlIG5lZWQgdG8gbG9vcCBhcm91bmQgdGhlIF93YWl0KCkgZnVuY3Rpb24gdG8gbWFrZSBzdXJlCgkgIHdlIGdldCB0aGUgcmlnaHQgd2FrZXVwLgoJICBBbHNvLCB1bmlmeSB0aGUgb3JkZXIgb2YgdGhlIHdhaXQgbG9vcHMgYWNyb3NzIHRoZSBmaWxlLgoKMjAwOS0xMC0xNyAwMDowNToxMCArMDIwMCAgTGVubmFydCBQb2V0dGVyaW5nIDxsZW5uYXJ0QHBvZXR0ZXJpbmcubmV0PgoKCSogZXh0L3B1bHNlL3B1bHNlbWl4ZXJjdHJsLmM6CgkqIGV4dC9wdWxzZS9wdWxzZXByb2JlLmM6CgkgIHB1bHNlOiBtYWlubG9vcCBjcmVhdGlvbiBjYW4gZmFpbCB0b28sIHNvIGhhbmRsZSB0aGF0CgoyMDA5LTEwLTE3IDAwOjAzOjA2ICswMjAwICBMZW5uYXJ0IFBvZXR0ZXJpbmcgPGxlbm5hcnRAcG9ldHRlcmluZy5uZXQ+CgoJKiBleHQvcHVsc2UvcHVsc2VtaXhlcmN0cmwuYzoKCSAgcHVsc2U6IGFkanVzdCBDSEVDS19ERUFEX0dPVE8gbWFjcm8gdG8gZ2xpYiBzdHlsZQoKMjAwOS0xMC0xNiAxNzoyODo0MiArMDIwMCAgTGVubmFydCBQb2V0dGVyaW5nIDxsZW5uYXJ0QHBvZXR0ZXJpbmcubmV0PgoKCSogZXh0L3B1bHNlL3B1bHNlbWl4ZXJjdHJsLmM6CgkqIGV4dC9wdWxzZS9wdWxzZW1peGVyY3RybC5oOgoJKiBleHQvcHVsc2UvcHVsc2Vwcm9iZS5jOgoJKiBleHQvcHVsc2UvcHVsc2Vwcm9iZS5oOgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuaDoKCSogZXh0L3B1bHNlL3B1bHNlc3JjLmg6CgkgIHB1bHNlOiBtYWtlIGEgZmV3IHRoaW5ncyBzbWFsbGVyIGJ5IG1ha2luZyB0aGVtIGJpdGZpZWxkcwoKMjAwOS0xMC0xNiAxNzoyNjo0MSArMDIwMCAgTGVubmFydCBQb2V0dGVyaW5nIDxsZW5uYXJ0QHBvZXR0ZXJpbmcubmV0PgoKCSogY29uZmlndXJlLmFjOgoJICBwdWxzZTogYnVtcCBtaW5pbXVtIGxpYnB1bHNlIHZlcnNpb24gdG8gMC45LjEwCgkgIE9sZGVyIHZlcnNpb25zIHRoYW4gMC45LjEwIGFyZSByZWFsbHkgcmVhbGx5IG9sZCBhbmQgYnVnZ3kuIERyb3AKCSAgY29tcGF0aWJpbGl0eSB3aXRoIHRoZW0uIE5vYm9keSBzaG91bGQgcnVuIGFueXRoaW5nIHRoYXQgb2xkLgoJICBBbHNvIHNlZTogaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTU5NTAyOQoKMjAwOS0xMC0xNiAxODoxODozMSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZGVidWd1dGlscy9nc3RkZWJ1Zy5jOgoJICBkZWJ1Z3V0aWxzOiByZWdpc3RlciBwdXNoZmlsZXNyYyBlbGVtZW50CgoyMDA5LTEwLTE2IDE3OjI4OjA5ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdmkvZ3N0YXZpbXV4LmM6CgkqIGdzdC9hdmkvZ3N0YXZpbXV4Lmg6CgkgIGF2aW11eDogc3VwcG9ydCAoc29tZSkgVkJSIGF1ZGlvIG11eGluZwoJICBBVkkgZm9ybWF0IGNhbiBoYW5kbGUgVkJSIGF1ZGlvIHByb3ZpZGVkIGF1ZGlvIGNodW5rcyBhcmUgb2YgZml4ZWQgZHVyYXRpb24KCSAgKGNmciBmaXhlZCBkdXJhdGlvbiB2aWRlbyBmcmFtZXMpLiAgQXBwbHkgdGhpcyBhcHByb2FjaCB0byAoYWx3YXlzKSBwYXJzZWQKCSAgcmF3IEFBQyBhbmQgKGlmIHBhcnNlZCkgdG8gTVBFRy0xLzIgYXVkaW8uCgkgIFNlZSAjMzY4NjgxLgoKMjAwOS0xMC0xNiAxMzo0MTo0NSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvanBlZy9nc3RqcGVnZGVjLmM6CgkgIGpwZWdkZWM6IGZpeCBicmFuY2ggaGludHMKCSAgUmVtb3ZlIGluYXBwcm9wcmlhdGUgYnJhbmNoaW5nIGhpbnRzIGFuZCBhZGQgc29tZSBuZXcgb25lcy4KCjIwMDktMTAtMTYgMTI6MzM6MDQgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2pwZWcvZ3N0anBlZ2RlYy5jOgoJICBqcGVnZGVjOiBmaXggcmVncmVzc2lvbiBpbiBpbmRpcmVjdCBkZWNvZGUgcGF0aAoJICBSZXZlcnQgdmFyaWFibGUgbmFtZSBiYWNrIHRvIHdoYXQgaXQgd2FzIGJlZm9yZSB0aGUgR19MSUtFTFkgd2FzCgkgIGFkZGVkIChpbiBjb21taXQgNjljMjRmYjkpLiBUaGUgY29kZSB3b3JrcyBiZXR0ZXIgdGhhdCB3YXkuCgoyMDA5LTEwLTE2IDAyOjQ3OjM4ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9qcGVnL2dzdGpwZWdkZWMuYzoKCSAganBlZ2RlYzogZml4IHJlZ3Jlc3Npb24gd2l0aCBjZXJ0YWluIGZvcm1hdHMKCSAgRml4IHJlZ3Jlc3Npb24gaW50cm9kdWNlZCBieSBwcmV2aW91cyBjb21taXQgKCM1OTg1MTcpLgoKMjAwOS0xMC0xNSAxOTo0OTo1NSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvanBlZy9nc3RqcGVnZGVjLmM6CgkgIGpwZWdkZWM6IGRvbid0IHVzZSBkZWNvbXByZXNzIHN0cnVjdHVyZSBtZW1iZXJzIHdlIHNob3VsZG4ndCBiZSB1c2luZwoKMjAwOS0xMC0xNCAxNzo1Mzo1MiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvanBlZy9nc3RqcGVnZGVjLmg6CgkgIGpwZWdkZWM6IHJlbW92ZSBzb21lIHVudXNlZCBtZW1iZXJzIGZyb20ganBlZ2RlYyBpbnN0YW5jZSBzdHJ1Y3R1cmUKCjIwMDktMTAtMTYgMTE6NTM6MzggKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9ydHBtYW5hZ2VyL01ha2VmaWxlLmFtOgoJKiBnc3QvdWRwL01ha2VmaWxlLmFtOgoJICBidWlsZDogdXNlIGdzdC1nbGliLWdlbi5tYWsgdG8gZml4IHRoZSBnbGliIGJ1aWxkIHJ1bGVzLgoJICBUaGUgYnVpbGQgcnVsZXMgaW4gZ2xpYi1nZW4ubWFrIHdlcmUgdXNpbmcgcGF0dGVybiBydWxlcyBpbiBhIG5vbiBzYXZlIHdheS4KCjIwMDktMTAtMTYgMTA6MTU6MzUgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gODVkMTUzMCB0byAwNzAyZmUxCgoyMDA5LTEwLTE1IDIxOjA0OjAyICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgYXZpZGVtdXg6IGFkanVzdCBmbG93IHJldHVybiBhZ2dyZWdhdGlvbiB0byB1cGRhdGVkIGxvb3BfZGF0YQoJICBJbiBwYXJ0aWN1bGFyLCBlYWNoIHN0cmVhbSBpcyBub3cgdHJlYXRlZCBzZXBhcmF0ZWx5LCBhbmQgb25lIHN0cmVhbSdzCgkgIEVPUyBzaG91bGQgbm90IGxlYWQgdG8gb3ZlcmFsbCBFT1MuCgoyMDA5LTEwLTE1IDExOjUyOjM1ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogY2hlY2sgc29tZSBtb3JlIGF0b20gc2l6ZXMgcHJpb3IgdG8gcGFyc2luZwoKMjAwOS0xMC0xNSAxMzoxOToxMyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcDogaGFuZGxlIGV2ZW50cyBpbiBUQ1AgbW9kZQoJICBXZSBuZWVkIHRvIGhhbmRsZSBldmVudHMgaW4gVENQIG1vZGUgc28gdGhhdCB3ZSBjYW4gcmVwbHkgdG8gdGhlIExBVEVOQ1kgZXZlbnQKCSAgd2l0aCBUUlVFLgoKMjAwOS0xMC0xNSAxMToyNDo0NSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIGF2aWRlbXV4OiBhZGQgbWlzc2luZyBhcmd1bWVudCBpbiBkZWJ1ZyBtZXNzYWdlCgoyMDA5LTEwLTE0IDE4OjU4OjA2ICswMjAwICBNYXJ2aW4gU2NobWlkdCA8bWFydkBleGhlcmJvLm9yZz4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2Zsdm11eC5jOgoJICBmbHZtdXg6IFVzZSBsb29wIHRlc3QgdG8gcHJldmVudCB0aW1lb3V0IG9uIHNsb3cgbWFjaGluZXMKCSAgUGFydGlhbGx5IGZpeGVzIGJ1ZyAjNTk3NzM5LgoKMjAwOS0xMC0xNCAxNjoxNTo0OCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogZm9yd2FyZCBldmVudHMgaW50byB0aGUgcnRwYmluCgkgIE9ubHkgY2F0Y2ggdGhlIFNFRUsgZXZlbnQgb24gdGhlIHNyY3BhZCBhbmQgbGV0IG90aGVyIGV2ZW50cyBlbnRlciB0aGUgcnRwYmluLgoKMjAwOS0xMC0xNCAxMTozMzoyNCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAZW1iZWRkZWQudWZjZy5lZHUuYnI+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2FkZW11eDogRml4IGxhdGUgdGFncyBmaW5kaW5nCgkgIFVzZSB0aGUgY29ycmVjdCB0YWdsaXN0IHZhcmlhYmxlIHdoZW4gbm90aWZ5aW5nIG9mIGxhdGUgdGFncy4KCjIwMDktMTAtMTQgMTM6MDk6MDMgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4Lmg6CgkgIGF2aWRlbXV4OiB1c2UgR3N0SW5kZXggZm9yIChsaW1pdGVkKSBzZWVraW5nIGluIHB1c2ggbW9kZQoJICAuLi4gYnV0IGRpc2FibGUgdGhpcyBmb3Igbm93LiAgQWx0aG91Z2ggaXQgYmFzaWNhbGx5IHdvcmtzIGZpbmUsCgkgIHVzZXIgZXhwZXJpZW5jZSBtaWdodCBiZSBzaGFreSAoZGVwZW5kaW5nIG9uIHRhc3RlKSwgc2luY2UgdGhlcmUKCSAgaXMgbm8ga2V5ZnJhbWUgaW5mbyBpbiBwdXNoIG1vZGUuCgoyMDA5LTEwLTE0IDEzOjA4OjQ3ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5oOgoJICBhdmlkZW11eDogYWRkIEdzdEluZGV4IHN1cHBvcnQKCjIwMDktMTAtMTQgMTE6NTU6MzMgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICBhdmlkZW11eDogYWxzbyBkZXRlcm1pbmUgZHVyYXRpb24gaW4gcHVzaCBtb2RlCgoyMDA5LTEwLTE0IDExOjU0OjQ0ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5oOgoJICBxdGRlbXV4OiBhZGQgR3N0SW5kZXggc3VwcG9ydAoKMjAwOS0xMC0xNCAwNzozODoyNiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAZW1iZWRkZWQudWZjZy5lZHUuYnI+CgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkgIHY0bDJzcmM6IFNldCBkdXJhdGlvbiBvbiBidWZmZXJzCgkgIFVzZSBmcmFtZXJhdGUgdG8gZXN0aW1hdGUgZHVyYXRpb24gb2YgYnVmZmVycy4KCSAgRml4ZXMgIzU5MDM2MgoKMjAwOS0xMC0xNCAxMjoyODo1NSArMDIwMCAgSMOldmFyZCBHcmFmZiA8aGF2YXJkLmdyYWZmIGF0IHRhbmRiZXJnLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHB0ZGVtdXguYzoKCSAgcnRwcHRkZW11eDogb25seSBmb3J3YXJkIHRoZSBsb3N0LWV2ZW50IHRvIHRoZSBsYXN0IHNlZW4gcHQtbnVtYmVyCgkgIGZvcndhcmQgYWxsIGV2ZW50cyBvbiBhbGwgcGFkcyBleGNlcHQgZm9yIHRoZSBQYWNrZXRMb3N0IGV2ZW50LCB3aGljaCB3ZSB3YW50IHRvCgkgIGZvcndhcmQgdG8gdGhlIGxhc3Qgc2VlbiBwdCBwYWQuCgkgIEZpeGVzICM1OTgzNzcKCjIwMDktMTAtMDYgMjI6Mjg6NTAgKzAzMDAgIFJlbsOpIFN0YWRsZXIgPG1haWxAcmVuZXN0YWRsZXIuZGU+CgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkgIHB1bHNlc2luazogc2V0IGRlc2lyZWQgbWlucmVxIHZhbHVlIHRvIHNlZ3NpemUvbGF0ZW5jeS10aW1lCgkgIElmIHdlIGxldCB0aGUgZGFlbW9uIGRlY2lkZSBmcmVlbHkgYnkgcGFzc2luZyAtMSwgd2UgZW5kIHVwIGFsd2F5cyBnZXR0aW5nIDIwbXMuCgkgIFdlIHdhbnQgdG8gc2V0IHRoaXMgdmFsdWUgYmVjYXVzZSBpbiBzb21lIGNhc2VzIHdlIHdhbnQgdG8gc2VsZWN0IGEgaGlnaGVyCgkgIGxhdGVuY3ktdGltZSBpbiBvcmRlciB0byBzYXZlIHBvd2VyLgoJICBGaXhlcyAjNTk3NjAxCgoyMDA5LTEwLTE0IDEwOjQxOjIxICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSBhM2UzY2U0IHRvIDg1ZDE1MzAKCjIwMDktMTAtMTMgMTg6MzM6MzQgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvZmxhY2RlYy5jOgoJICB0ZXN0cy9waXBlbGluZS9mbGFjOiBGaXggYnVpbGQgb24gbWFjb3N4IDEwLjUKCjIwMDktMTAtMTMgMTg6MTk6MzIgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIGF2aWRlbXV4OiBkZW1vdGUgc29tZSB3YXJuaW5ncyB0byBkZWJ1ZwoKMjAwOS0xMC0xMyAxNzo0Nzo0MCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdmkvYXZpLWlkcy5oOgoJICBhdmk6IGFkZCBuZXcgYXZpIGZsYWcgd2UgbWlnaHQgd2FudCB0byB1c2UKCjIwMDktMTAtMTMgMTc6NDY6MjIgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXZpL2dzdGF2aW11eC5jOgoJICBhdmltdXg6IGNhbGN1bGF0ZSBzdWdnZXN0ZWQgYnVmZmVyIHNpemUKCSAgQ2FsY3VsYXRlIHRoZSBzdWdnZXN0ZWQgYnVmZmVyIHNpemUgYmFzZWQgb24gdGhlIGxhcmdlc3QgY2h1bmsgaW4gdGhlIGZpbGUuCgkgIFNlZSAjNTk3ODQ3CgoyMDA5LTEwLTEzIDE3OjQ1OjE0ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F2aS9nc3RhdmltdXguYzoKCSAgYXZpbXV4OiBhZGQganBlZzIwMDAgdG8gYWxsb3dlZCBjYXBzCgoyMDA5LTEwLTEzIDE3OjQxOjEzICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICBhdmlkZW11eDogYWRkIGRlYnVnIGZvciB0aGUgc3VwZXJpbmRleCBvZmZzZXRzCgoyMDA5LTEwLTEzIDE2OjAyOjM3ICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IEZpeCB1bmluaXRpYWxpemVkIHZhcmlhYmxlIHdhcm5pbmcKCSAgRml4IGFub3RoZXIgYm9ndXMgbWF5LWJlLXVzZWQtdW5pbml0aWFsaXplZCB3YXJuaW5nIGluIHF0ZGVtdXgKCjIwMDktMTAtMTMgMTM6MDg6MzMgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXZpL2dzdGF2aW11eC5jOgoJKiBnc3QvYXZpL2dzdGF2aW11eC5oOgoJICBhdmk6IGxvd2VyIG1heCBmaWxlIHNpemUKCSAgTWFrZSBhIGNvbnN0YW50IG9mIHRoZSBtYXggZmlsZSBzaXplIGFuZCBsb3dlciB0aGUgdmFsdWUgdG8gd2hhdCBmZm1wZWcgZG9lcywKCSAgaG9wZWZ1bGx5IGltcHJvdmluZyBjb21wYXRpYmlsaXR5IHdpdGggd2luZG93cyBtZWRpYSBwbGF5ZXIuCgkgIFNlZSAjNTk3ODQ3CgoyMDA5LTEwLTEzIDAxOjAyOjE1ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9qcGVnL2dzdGpwZWdkZWMuYzoKCSAganBlZ2RlYzogZml4IGJvZ3VzIHdhcm5pbmcgYWJvdXQgZGlzY29udCBmbGFnIG9uIGZpcnN0IGJ1ZmZlcgoJICBUaGUgdmVyeSBmaXJzdCBidWZmZXIgc2hvdWxkIGFsd2F5cyBoYXZlIHRoZSBESVNDT05UIGZsYWcgc2V0LCBubwoJICBuZWVkIHRvIHdhcm4gYWJvdXQgdGhhdC4gT25seSB3YXJuIGlmIHdlIGdldCBhIERJU0NPTlQgYnVmZmVyIGluCgkgIG5vbi1wYWNrZXRpc2VkIG1vZGUgYW5kIHdlIGFscmVhZHkgaGF2ZSBzb21lIGRhdGEuCgoyMDA5LTEwLTEzIDAwOjQxOjU3ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9qcGVnL2dzdGpwZWdkZWMuYzoKCSAganBlZ2RlYzogZml4IGNyYXNoIGZvciB1bnVzdWFsIHZlcnRpY2FsIGNocm9tYSBzdWJzYW1wbGluZyBmYWN0b3JzCgkgIEZpeGVzICM1OTczNTEuCgoyMDA5LTEwLTEzIDAwOjEyOjQyICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IEZpeCB1bmluaXRpYWxpemVkIHZhcmlhYmxlIHdhcm5pbmdzCgkgIFRoZSBnY2Mgb24gdGhlIE9TL1ggYnVpbGRib3QgY29tcGxhaW5zIGFib3V0IHRoZXNlIHZhcmlhYmxlcyBub3QgYmVpbmcKCSAgaW5pdGlhbGl6ZWQsIGV2ZW4gdGhvdWdoIHRoZXkgY2FuJ3QgcG9zc2libHkgYWN0dWFsbHkgYmUgdXNlZAoJICB1bmluaXRpYWxpemVkLgoKMjAwOS0xMC0xMSAxMTozNToyMyArMDIwMCAgSm9zZXAgVG9ycmEgPG43NzBnYWxheHlAZ21haWwuY29tPgoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZmRlcGF5LmM6CgkgIGR0bWY6IGZpeCB3YXJuaW5ncyBpbiBtYWNvc3ggc25vdyBsZW9wYXJkCgoyMDA5LTEwLTEwIDAwOjM3OjA4ICswMjAwICBKb3NlcCBUb3JyYSA8bjc3MGdhbGF4eUBnbWFpbC5jb20+CgoJKiBleHQvanBlZy9nc3RqcGVnZGVjLmM6CgkgIGpwZWdkZWM6IGZpeGVzIHdhcm5pbmcgYnVpbGRpbmcgaW4gc25vdyBsZW9wYXJkCgoyMDA5LTEwLTA5IDE3OjEyOjQ2ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogYWxzbyBjb25zaWRlciBRdWlja3RpbWUgdGV4dCBzdWJ0aXRsZXMKCjIwMDktMTAtMDkgMTc6MDI6NTcgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBwcm92aWRlIGxhbmd1YWdlIHRhZyBmb3Igc3RyZWFtCgoyMDA5LTEwLTA5IDE2OjMwOjU3ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogcmVmYWN0b3IgY29tbW9uIHBhcnRzIGluIHRyYWNrIHBhcnNpbmcKCjIwMDktMTAtMDkgMTY6MjE6MDMgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4Lmg6CgkgIHF0ZGVtdXg6IHJlZmFjdG9yIGJ1ZmZlciBwcm9jZXNzaW5nIGFuZCBzZW5kaW5nCgkgIC4uLiBzbyBpdCBjYW4gYmUgdXNlZCBpbiBib3RoIHB1bGwgYW5kIHB1c2ggYmFzZWQgbW9kZS4KCjIwMDktMTAtMDggMTM6Mzk6MjUgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBleHRyYWN0IHBhbGV0dGUgZGF0YSBmb3IgZHZkIHN1YnBpY3R1cmUgc3RyZWFtcwoJICAuLi4gYW5kIHNlbmQgaXQgZG93bnN0cmVhbSB1c2luZyBjdXN0b20gZHZkIGV2ZW50CgoyMDA5LTEwLTA3IDE0OjAzOjE3ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5oOgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4X2ZvdXJjYy5oOgoJICBxdGRlbXV4OiBzdXBwb3J0IDNHUFAgdGltZWQgdGV4dCBzdWJ0aXRsZXMKCSAgSW4gcGFydGljdWxhciwgYWxzbyBtYWtlIHN1YnRpdGxlIHN1cHBvcnQgbGVzcyBzdWJwKGljdHVyZSktY2VudHJpYy4KCjIwMDktMTAtMDcgMTY6MTU6NTUgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBOVUxMIGlzIG5vdCBhIHZhbGlkIHRhZ2xpc3QKCjIwMDktMDktMjMgMTc6MjA6MjUgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4X2ZvdXJjYy5oOgoJICBxdGRlbXV4OiByZWNvZ25pemUgc29tZSBtb3JlIGVuY3lwdGVkIHRyYWNrIGNhc2VzCgoyMDA5LTEwLTA5IDE1OjU5OjI1ICswMjAwICBKb3NlcCBUb3JyYSA8bjc3MGdhbGF4eUBnbWFpbC5jb20+CgoJKiBnc3QvaWQzZGVtdXgvaWQzdGFncy5jOgoJICBpZDM6IGZpeGVzIHdhcm5pbmdzIGJ1aWxkaW5nIG9uIG1hY29zeAoJICBBbm90aGVyIHJvdW5kIG9uIHRoZSBmb3JtYXRpbmcgb2YgdGhhdCBkZWJ1ZyBsaW5lLgoKMjAwOS0xMC0wOSAxNDo0NDowMiArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2lkM2RlbXV4L2lkM3RhZ3MuYzoKCSAgaWQzOiBjYXN0IHBvaW50ZXIgbWF0aCByZXN1bHRzIHRvIGdsb25nCgoyMDA5LTEwLTA5IDE0OjM3OjMyICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvZmxhYy9nc3RmbGFjZGVjLmM6CgkgIGZsYWM6IGFwcGFyZW50bHkgb24gc29tZSBwbGF0Zm9ybXMgYSBGTEFDX191aW50NjQhPWd1aW50NjQKCjIwMDktMTAtMDkgMTQ6MjE6MDkgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2M3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHZyYXdwYXkuYzoKCSAgYnVpa2Q6IGV4cGxpY2l0ZWx5IGNhc3QsIHRvIHRlbGwgc29tZSBjb21waWxlcnMgdGhhdCB0aGlzIGlzIG5vdCBsb25nIGludAoKMjAwOS0xMC0wOSAxMzozODoxNyArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5jOgoJKiBnc3QvaWQzZGVtdXgvaWQzdGFncy5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHB2cmF3cGF5LmM6CgkgIGJ1aWxkOiBkb24ndCBjYXN0LCBidXQgdXNlIHRoZSByaWdodCBmb3JtYXQgc3BlY2lmaWVkIGluc3RlYWQKCSAgVGhpcyBjb3JyZWN0IHNvbWUgb2YgdGhlIHByZXZpb3VzIG1hY29zIGZpeGVzLgoKMjAwOS0xMC0wOSAxMjo0MDo0NyArMDIwMCAgSm9zZXAgVG9ycmEgPG43NzBnYWxheHlAZ21haWwuY29tPgoKCSogZXh0L2R2L2dzdGR2ZGVtdXguYzoKCSAgZHY6IGZpeCB3YXJuaW5ncyBvbiBtYWNvc3gKCjIwMDktMTAtMDkgMTI6MjU6MTkgKzAyMDAgIEpvc2VwIFRvcnJhIDxuNzcwZ2FsYXh5QGdtYWlsLmNvbT4KCgkqIGV4dC9mbGFjL2dzdGZsYWNkZWMuYzoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2VuYy5jOgoJICBmbGFjOiBmaXggd2FybmluZ3Mgb24gbWFjb3N4CgoyMDA5LTEwLTA5IDEyOjE5OjM1ICswMjAwICBKb3NlcCBUb3JyYSA8bjc3MGdhbGF4eUBnbWFpbC5jb20+CgoJKiBleHQvYW5ub2RleC9nc3RjbW1sZGVjLmM6CgkqIGV4dC9hbm5vZGV4L2dzdGNtbWxlbmMuYzoKCSAgYW5ub2RleDogZml4IHdhcm5pbmdzIGluIG1hY29zeAoKMjAwOS0xMC0wOSAxMjoxNDoyMiArMDIwMCAgSm9zZXAgVG9ycmEgPG43NzBnYWxheHlAZ21haWwuY29tPgoKCSogc3lzL29zeHZpZGVvL2NvY29hd2luZG93Lm06CgkgIG9zeHZpZGVvOiBmaXggYSB3YXJuaW5nIGRvaW5nIGEgY2FzdAoKMjAwOS0xMC0wOSAxMjoxMToxMiArMDIwMCAgSm9zZXAgVG9ycmEgPG43NzBnYWxheHlAZ21haWwuY29tPgoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeHJpbmdidWZmZXIuYzoKCSAgb3N4YXVkaW86IGZpeCB3YXJuaW5ncyBvbiBtYWNvc3gKCjIwMDktMTAtMDkgMTI6MDE6MTAgKzAyMDAgIEpvc2VwIFRvcnJhIDxuNzcwZ2FsYXh5QGdtYWlsLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwdnJhd3BheS5jOgoJICBydHB2cmF3cGF5OiBmaXggd2FybmluZyBvbiBtYWNvc3gKCjIwMDktMTAtMDkgMTE6NTc6NTkgKzAyMDAgIEpvc2VwIFRvcnJhIDxuNzcwZ2FsYXh5QGdtYWlsLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2M3BheS5jOgoJICBydHBoMjYzcGF5OiBmaXggd2FybmluZyBvbiBtYWNvc3gKCjIwMDktMTAtMDkgMTE6NTQ6MDMgKzAyMDAgIEpvc2VwIFRvcnJhIDxuNzcwZ2FsYXh5QGdtYWlsLmNvbT4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogZml4IHdhcm5pbmdzIGJ1aWxkaW5nIG9uIG1hY29zeAoKMjAwOS0xMC0wOSAxMTo0MjozNiArMDIwMCAgSm9zZXAgVG9ycmEgPG43NzBnYWxheHlAZ21haWwuY29tPgoKCSogZ3N0L2lkM2RlbXV4L2lkM3RhZ3MuYzoKCSAgaWQzZGVtdXg6IGZpeCBwcmludGYgd2FybmluZ3Mgb24gbWFjb3N4CgoyMDA5LTEwLTA5IDExOjMwOjAwICswMjAwICBKb3NlcCBUb3JyYSA8bjc3MGdhbGF4eUBnbWFpbC5jb20+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIGF2aWRlbXV4OiBmaXggd2FybmluZyBpbiBtYWNvc3ggbWFraW5nIHRoZSBmb3JtYXQgcG9ydGFibGUKCjIwMDktMTAtMDkgMTA6NTE6MjkgKzAyMDAgIEpvc2VwIFRvcnJhIDxuNzcwZ2FsYXh5QGdtYWlsLmNvbT4KCgkqIGdzdC9hdWRpb2Z4L2F1ZGlvZnhiYXNlZmlyZmlsdGVyLmM6CgkgIGF1ZGlvZng6IHVzZSBHX0dVSU5UNjRfRk9STUFUIHRvIGZpeCB3YXJuaW5ncyBvbiBPU1gKCjIwMDktMTAtMDkgMTA6MTE6MzggKzAyMDAgIEpvc2VwIFRvcnJhIDxuNzcwZ2FsYXh5QGdtYWlsLmNvbT4KCgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hyaW5nYnVmZmVyLmM6CgkgIG9zeGF1ZGlvOiBGaXhlcyBidWlsZCBvbiBtYWNvc3ggc25vdyBsZW9wYXJkLgoKMjAwOS0xMC0wOSAxMTozNDoxNiArMDIwMCAgUGF1IEdhcmNpYSBpIFF1aWxlcyA8cGdxdWlsZXNAZWxwYXVlci5vcmc+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0Lmg6CgkgIHY0bDI6IEluY2x1ZGUgc3lzL2lvY3RsLmggZm9yIHRoZSBWNEwgaW9jdGwgcmVxdWVzdHMKCSAgT2xkIHZpZGVvZGV2aWNlMi5oIGtlcm5lbCBoZWFkZXJzIHVzZWQgaW9jdGwgc3R1ZmYgd2l0aG91dAoJICBpbmNsdWRpbmcgaW9jdGwuaCwgbWFraW5nIGNvbXBpbGF0aW9uIGZhaWwgb24gb2xkZXIgc3lzdGVtcy4KCSAgTm90ZTogSW5jbHVkaW5nIGlvY3RsLmggaGVyZSBpcyBvbmx5IGEgd29ya2Fyb3VuZCBmb3Igb2xkIGtlcm5lbAoJICBoZWFkZXJzLCBzaG91bGQgYmUgcmVtb3ZlZCBvbmNlIGV2ZXJ5Ym9keSBoYXMgbmV3IGVub3VnaCBoZWFkZXJzLgoJICBGaXhlcyBidWcgIzU5Nzg2Ny4KCjIwMDktMTAtMDkgMDA6MTQ6MDcgKzAxMDAgIEphbiBTY2htaWR0IDxqYW4uc2NobWlkdEBzdW4uY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9sZXZlbC5jOgoJICBjaGVjazogTWFrZSB0aGUgbGV2ZWwgdW5pdCB0ZXN0IHN1Y2NlZWQgb24gU29sYXJpcyAxMAoJICBBZGQgYSBjb25maWd1cmUgY2hlY2sgZm9yIGZ1bmN0aW9uYWwgaXNpbmYoKSBhbmQgZnBjbGFzcygpLCBhbmQKCSAgdXNlIGZwY2xhc3MoKSB3aGVyZSBwb3NzaWJsZSB3aGVuIGlzaW5mKCkgaXMgbm90IGF2YWlsYWJsZS4KCjIwMDktMDUtMTYgMTM6NTI6NTAgKzAzMDAgIFJlbsOpIFN0YWRsZXIgPHJlbmUuc3RhZGxlckBub2tpYS5jb20+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2FkZW11eDogZml4IHN0cnN0cigpIHVzYWdlIG9uIHBvc3NpYmx5IHVudGVybWluYXRlZCBzdHJpbmcKCjIwMDktMTAtMDggMTY6MTY6MTQgKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9sZXZlbC5jOgoJICBjaGVjazogTGluayBhZ2FpbnN0IExJQk0gYW5kIGluY2x1ZGUgbWF0aC5oIGZvciBpc2luZigpCgoyMDA5LTEwLTA3IDIxOjUxOjM4ICswMTAwICBTam9lcmQgU2ltb25zIDxzam9lcmQuc2ltb25zQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9vc3MvZ3N0b3NzYXVkaW8uYzoKCSAgb3NzOiBEb3duZ3JhZGUgdGhlIHJhbmsgb2Ygb3Nzc3JjIHRvIFNFQ09OREFSWQoJICB3aGljaCBpcyB0aGUgc2FtZSByYW5rIGFzIG9zc3NpbmsgaGFzLgoJICBGaXhlcyBidWcgIzU5NzczMC4KCjIwMDktMTAtMDggMTA6NTk6NTMgKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gMTlmYTRmMyB0byBhM2UzY2U0CgoyMDA5LTEwLTA4IDEwOjIwOjA5ICswMTAwICBKYW4gU2NobWlkdCA8amFuLnNjaG1pZHRAc3VuLmNvbT4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6CgkgIGF2aS93YXY6IEZpeCBzb21lIGNvbXBpbGVyIHdhcm5pbmdzIGFib3V0IGluY29tcGF0aWJsZSBwb2ludGVycy4KCjIwMDktMTAtMDUgMTc6MzY6NTUgKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGdzdC9tdWx0aWZpbGUvZ3N0bXVsdGlmaWxlLmM6CgkgIG11bHRpZmlsZTogRml4IHBsdWdpbiBkZXNjcmlwdGlvbgoKMjAwOS0xMC0wNyAxNDowMzoyMCArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L2Fubm9kZXgvZ3N0Y21tbHV0aWxzLmM6CgkqIGV4dC9qcGVnL2dzdGpwZWdkZWMuaDoKCSogZXh0L2pwZWcvZ3N0anBlZ2VuYy5oOgoJKiBnc3QvYXBldGFnL2dzdGFwZWRlbXV4LmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL3Rlc3RzLmM6CgkqIGdzdC9pZDNkZW11eC9pZDN2MmZyYW1lcy5jOgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2NGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwanBlZ2RlcGF5LmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOgoJKiBnc3QvcnRzcC9nc3RydHBkZWMuYzoKCSogdGVzdHMvZXhhbXBsZXMvc3BlY3RydW0vZGVtby1hdWRpb3Rlc3QuYzoKCSogdGVzdHMvZXhhbXBsZXMvc3BlY3RydW0vZGVtby1vc3NzcmMuYzoKCSogdGVzdHMvZXhhbXBsZXMvc3BlY3RydW0vc3BlY3RydW0tZXhhbXBsZS5jOgoJICBidWlsZDogZnByaW50Ziwgc3ByaW50Ziwgc3NjYW5mIG5lZWQgc3RkaW8uaAoKMjAwOS0xMC0wNyAwMDozMzo0OSArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIuYzoKCSAgZXF1YWxpemVyOiB1c2Ugc2hlbGZpbmcgZmlsdGVycyBmb3IgZmlyc3QgYW5kIGxhc3QgYmFuZAoJICBSZWZhY3RvciB0aGUgZmlsdGVyIHNldHVwLiBBZGQgdHdvIG5ldyBmaWx0ZXJzIHdpdGggc2hlbGYgY2hhcmFjdGVyaXN0aWNzIGZvcgoJICBmaXJzdCBhbmQgbGFzdCBiYW5kLiBDaGFuZ2UgZ2FpbiBjYWxjdWxhdGlvbiBhcyByZWNvbW1lbmRlZCBpbiB0aGUgcXVvdGVkCgkgIGRvY3VtZW50IChubyBxcnQgbmVlZGVkKS4gUmVuYW1lIHZhcmlhYmxlcyB0byBtYXRjaCB0aGUgZm9ybXVsYXMgaW4gdGhlCgkgIGRvY3VtZW50LgoKMjAwOS0xMC0wMiAyMzo1MToyOSArMDMwMCAgUmVuw6kgU3RhZGxlciA8bWFpbEByZW5lc3RhZGxlci5kZT4KCgkqIGV4dC9wdWxzZS9wdWxzZXNyYy5jOgoJICBwdWxzZXNyYzogZ3VhcmQgZnJhZ21lbnQgc2l6ZSB3aXRoIGEgbG93ZXIgbGltaXQgYmFzZWQgb24gbGF0ZW5jeS10aW1lCgkgIEluIGNhc2UgdGhhdCB0aGUgcHVsc2UgZGFlbW9uIHJ1bnMgdGhlIHNvdXJjZSBkZXZpY2UgYXQgYSByZWxhdGl2ZWx5IGxvdyBmaXhlZAoJICBmcmFnbWVudCBzaXplIGNvbXBhcmVkIHRvIHRoZSByZXF1ZXN0ZWQgbGF0ZW5jeS10aW1lLCBjb25maWd1cmUgdGhlIHJpbmcgYnVmZmVyCgkgIHNlZ3NpemUgdG8gdGhlIGxhcmdlc3QgaW50ZWdlciBtdWx0aXBsZSBvZiB0aGUgZnJhZ21lbnQgc2l6ZSB0aGF0IGlzIHN0aWxsCgkgIHNtYWxsZXIgdGhhbiBvciBlcXVhbCB0byB0aGUgcmVxdWVzdGVkIGxhdGVuY3ktdGltZS4KCSAgRml4ZXMgYnVnICM1OTc0NjMuCgoyMDA5LTEwLTA2IDE3OjQwOjQ3ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvanBlZy9nc3RqcGVnZGVjLmM6CgkgIGpwZWdkZWM6IGNvbW1lbnQvbG9nZ2luZyBjbGVhbnVwcyBhbmQgbW9yZSBicmFuY2ggZ3VpZGVzCgoyMDA5LTEwLTA1IDIyOjQzOjExICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplci5jOgoJICBlcXVhbGl6ZXI6IGZpeCBmaWx0ZXIgaGlzdG9yeSB1c2FnZS4gRml4ZXMgIzU5NzM5NwoJICBUaGUgcHJvY2VzcyBmdW5jdGlvbnMgd2hlcmUgb3ZlcndyaXRpbmcgdGhlIGhpc3RvcnkgZm9yIGVhY2ggY2hhbm5lbC4gQWxzbyBwdWxsCgkgIHNvbWUgc3RhdGljIHRoaW5ncyBvdXQgb2YgdGhlIGlubmVyIGxvb3AuCgoyMDA5LTEwLTA1IDE2OjA3OjI0ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6CgkgIHJ0cGJpbjogdXNlIGxvY2tpbmcgYXJvdW5kIHRoZSBzZXNzaW9ucwoKMjAwOS0xMC0wNSAxMTo0NjowOCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IG1ha2Ugc3VyZSBjb21wYXRpYmxlIGJyYW5kcyBidWZmZXIgZXhpc3RzIGJlZm9yZSBkZXJlZmVyZW5jaW5nIGl0CgoyMDA5LTEwLTA0IDIxOjU5OjI0ICswMjAwICBSb2JlcnQgU3dhaW4gPHJvYmVydC5zd2FpbkBnbWFpbC5jb20+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IGZpeCBwcmludGYgd2FybmluZ3Mgb24gT1NYCgkgIENhc3QgdmFyaWFibGVzIHBhc3NlZCB0byBwcmludGYgdG8gYXZvaWQgd2FybmluZ3MgYWJvdXQgaW5jb3JyZWN0CgkgIGZvcm1hdHMgKG1vc3QgbGlrZWx5IGNhdXNlZCBieSBzaXplb2YgcmV0dXJuaW5nIGEgc2l6ZV90KS4KCSAgRml4ZXMgIzU5NzM0OC4KCjIwMDktMTAtMDIgMDA6MjM6MzQgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiByZW1vdmUgaW50ZXJuYWwgZ2VucmUgdGFibGUKCSAgTm8gbmVlZCB0byBtYWludGFpbiBvdXIgb3duIGdlbnJlIHRhYmxlIGluIHF0ZGVtdXguIFRoZSBnZW5yZXMgYXJlCgkgIGlkZW50aWNhbCB0byB0aGUgSUQzIGdlbnJlcywgc28gd2UgY2FuIGp1c3QgdXNlIGxpYmdzdHRhZydzCgkgIGdzdF90YWdfaWQzX2dlbnJlX2dldCgpIHRvIGxvb2sgdGhlbSB1cC4KCjIwMDktMTAtMDMgMTc6MTg6MjggKzAyMDAgIFJvYmVydCBTd2FpbiA8cm9iZXJ0LnN3YWluQGdtYWlsLmNvbT4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgRml4IHByaW50ZiBmb3JtYXRzIHRvIGF2b2lkIHdhcm5pbmdzIGluIGF2aWRlbXV4LiBGaXhlcyAjNTk3MjE0CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD01OTcyMTQKCjIwMDktMTAtMDMgMDk6NTI6NTcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thZGVtdXg6IENoYW5nZSBvbmUgR1NUX1dBUk5JTkcgdG8gYSBHU1RfREVCVUcKCjIwMDktMTAtMDIgMTQ6Mzc6NTQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOgoJKiBnc3QvZmx2L2dzdGZsdmRlbXV4Lmg6CgkqIGdzdC9mbHYvZ3N0Zmx2cGFyc2UuYzoKCSAgZmx2ZGVtdXg6IElmIHRoZXJlJ3Mgbm8gYXVkaW8gc3RyZWFtIGFmdGVyIDYgc2Vjb25kcyBvZiB2aWRlbyBzaWduYWwgbm8tbW9yZS1wYWRzCgkgIC4uLmFuZCB0aGUgb3RoZXIgd2F5IGFyb3VuZC4gQWxzbyBpZ25vcmUgYW55IGF1ZGlvL3ZpZGVvIHN0cmVhbXMgdGhhdCBhcHBlYXIKCSAgYWZ0ZXIgbm8tbW9yZS1wYWRzLgoJICBGaXhlcyBidWcgIzU5NzA5MS4KCjIwMDktMTAtMDIgMTQ6Mzc6NDAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOgoJKiBnc3QvZmx2L2dzdGZsdmRlbXV4Lmg6CgkqIGdzdC9mbHYvZ3N0Zmx2cGFyc2UuYzoKCSAgZmx2ZGVtdXg6IE1ha2Ugc3VyZSB0byBvbmx5IHNpZ25hbCBuby1tb3JlLXBhZHMgYSBzaW5nbGUgdGltZQoKMjAwOS0xMC0wMiAyMjo1NTo0NSArMDMwMCAgUmVuw6kgU3RhZGxlciA8bWFpbEByZW5lc3RhZGxlci5kZT4KCgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSogZXh0L3B1bHNlL3B1bHNlc3JjLmM6CgkgIHB1bHNlOiByZW5hbWUgcGFfYnVmZmVyX2F0dHIgdmFyaWFibGVzCgkgIE1ha2VzIGl0IG11Y2ggZWFzaWVyIHRvIHNlZSB3aGF0IGlzIGdvaW5nIG9uIGFuZCBpcyBhIGxvdCBsZXNzIGVycm9yIHByb25lLgoKMjAwOS0xMC0wMiAxODoyNToxNiArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L3J0cC9nc3RydHBqcGVnZGVwYXkuYzoKCSAgcnRwOiBhZGQgbWlzc2luZyBpbmNsdWRlIHRvIGZpeCB0aGUgYnVpbGQKCjIwMDktMTAtMDIgMTM6MTU6NTkgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC92aWRlb2ZpbHRlci9nc3RnYW1tYS5jOgoJKiBnc3QvdmlkZW9maWx0ZXIvZ3N0dmlkZW9iYWxhbmNlLmM6CgkgIHZpZGVvZmlsdGVyOiBhZGQgR19PQkpFQ1RfV0FSTl9JTlZBTElEX1BST1BFUlRZX0lEIHRvIHByb3BlcnR5IHNldHRlcgoKMjAwOS0xMC0wMiAxMzoxMDo0NCArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2xldmVsL2dzdGxldmVsLmM6CgkgIGxldmVsOiBkb24ndCBnaXZlIHdyb25nIG51bWJlciBvZiBmaWVsZHMgaW4gdGhlIG1lc3NhZ2UgZG9jcwoKMjAwOS0xMC0wMSAxMjo1Mjo0MCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBqaXR0ZXJidWZmZXI6IGNhY2hlIGxhdGVuY3kgaW4gbmFub3NlY29uZHMKCSAgQ2FjaGUgdGhlIGxhdGVuY3kgaW4gbmFub3NlY29uZHMgdW5pdHMgdG8gYXZvaWQgaGF2aW5nIHRvIGNvbnZlcnQgdGhlCgkgIG1pbGxpc2Vjb25kcyB2YWx1ZSB0byBuYW5vc2Vjb25kcyBhbGwgdGhlIHRpbWUuCgoyMDA5LTEwLTAxIDEyOjEyOjA5ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwaml0dGVyYnVmZmVyLmM6CgkgIGppdHRlcmJ1ZmZlcjogaGFuZGxlIC0xIGlucHV0IHRpbWVzdGFtcHMKCSAgRG9uJ3QgdHJ5IHRvIGNoZWNrIGEgLTEgdGltZXN0YW1wIGFnYWluc3QgdGhlIG1heCBkZWxheS4KCjIwMDktMTAtMDEgMTA6NTQ6NTUgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgYXZpOiBkb24ndCBtaXN1ZXMgcGVyZi1jYXRlZ29yeSBhbmQgcmVtb3ZlIHVudXNlZCBleHQgY2F0ZWdvcnkKCSAgVGhlIHBlcmZvcm1hbmNlIGNhdGVnb3J5IGlzIG1lYW50IHRvIGJlIHVzZWQgdG8gYXVkaXQgY29kZXBhdGhzIHRoYXQgbGVhZCB0byBiYWQKCSAgcGVyZm9ybWFuY2UgKGUuZy4gY29waWVzLCBjb252ZXJzaW9uIHRoYXQgY2FuIGJlIGF2b2lkZWQpLgoJICBSZW1vdmUgdGhlIGV2ZW50IGNhdGVnb3J5IHdoaWNoIGlzIG5vdCB1c2VkLgoKMjAwOS0wOS0xNiAxNDoyMzoyNCAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBnNzI5ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnNzI5cGF5LmM6CgkgIHJ0cGc3MjlwYXkvZGVwYXk6IERlbW90ZSBwZXItYnVmZmVyIGRlYnVnIG1lc3NhZ2VzIHRvIGxvZyBsZXZlbAoKMjAwOS0wOS0xNiAxNDoxNjoyNyAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBnNzI5cGF5LmM6CgkgIHJ0cGc3MjlwYXk6IERvbid0IGxlYWsgaW5jb21pbmcgYnVmZmVycyBhZnRlciBzdWJidWZmZXJpbmcgdGhlbQoKMjAwOS0wOS0xNiAxMzo1NzowNSAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBnNzI5ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnNzI5cGF5LmM6CgkgIHJ0cGc3MjlwYXkvZGVwYXk6IEFkZCBkZWJ1ZyBjYXRlZ29yaWVzCgoyMDA5LTA5LTE2IDEzOjU1OjE5IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjlwYXkuYzoKCSAgcnRwZzcyOXBheTogUmVtb3ZlIGxvbmcgdW5uZWVkZWQgZGVmaW5lIHJlcGxhY2VtZW50CgoyMDA5LTA5LTMwIDE4OjA2OjA3ICswMTAwICBDaHJpc3RpYW4gRi5LLiBTY2hhbGxlciA8Y2hyaXN0aWFuLnNjaGFsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9kdi9NYWtlZmlsZS5hbToKCSAgVXBkYXRlIG1ha2VmaWxlIHdpdGggbWlzc2luZyBoZWFkZXIgZmlsZQoKMjAwOS0wOS0zMCAxODo0NToxNyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9leGFtcGxlcy9ydHAvY2xpZW50LUgyNjNwLUFNUi5zaDoKCSogdGVzdHMvZXhhbXBsZXMvcnRwL2NsaWVudC1IMjYzcC1QQ01BLnNoOgoJKiB0ZXN0cy9leGFtcGxlcy9ydHAvY2xpZW50LUgyNjQtUENNQS5zaDoKCSogdGVzdHMvZXhhbXBsZXMvcnRwL2NsaWVudC1QQ01BLnNoOgoJKiB0ZXN0cy9leGFtcGxlcy9ydHAvc2VydmVyLWFsc2FzcmMtUENNQS5zaDoKCSogdGVzdHMvZXhhbXBsZXMvcnRwL3NlcnZlci12NGwyLUgyNjNwLWFsc2FzcmMtQU1SLnNoOgoJKiB0ZXN0cy9leGFtcGxlcy9ydHAvc2VydmVyLXY0bDItSDI2NC1hbHNhc3JjLVBDTUEuc2g6CgkgIHJ0cDogVXNlIGF1dG9hdWRpb3tzaW5rLHNyY30gaW5zdGVhZCBvZiBhbHNhIGluIHRoZSBleGFtcGxlcwoKMjAwOS0wOS0yOSAxNzo1MTowNCArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L2pwZWcvZ3N0anBlZ2RlYy5jOgoJICBqcGVnZGVjOiBkb24ndCBsZWFrIG91dHB1dCBidWZmZXJzIG9uIGRlY29kaW5nIGVycm9ycwoJICBUaGUgc2V0am1wIGhhbmRsZXMgbGlianBlZyBlcnJvci4gRnJlZSB0aGUgb3V0cHV0YmZmZXIgaWYgd2UgZG9uJ3QgbmVlZCBpdC4KCjIwMDktMDktMjkgMDA6MDE6NTkgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2pwZWcvZ3N0anBlZ2RlYy5jOgoJICBqcGVnZGVjOiBmaXggJ3VudXNlZCB2YXJpYWJsZScgY29tcGlsZXIgd2FybmluZyB3aGVuIGNvbXBpbGluZyB3aXRoIEdTVF9ESVNBQkxFX0dTVF9ERUJVRwoKMjAwOS0wOS0yMyAxNDoyNTowOCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgYXZpOiBzbWFsbCBjbGVhbnVwcwoKMjAwOS0wOS0yMyAxMzo1NzowMiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgYXZpOiBmaXggdGltZXN0YW1waW5nIGluIHNvbWUgYXVkaW8gc3RyZWFtcwoJICBGb3IgdmJyIGF1ZGlvIHN0cmVhbXMgd2UgbmVlZCB0byB1c2UgdGhlIG51bWJlciBvZiBibG9ja3MgdG8gY2FsY3VsYXRlIHRoZQoJICB0aW1lc3RhbXBzLgoJICBXaGVuIHRoZSBhbGxvY2F0aW9uIG9mIGFkZGl0aW9uYWwgaW5kZXggbWVtb3J5IGZhaWxzLCBkb24ndCB0aHJvdyBhd2F5IHdoYXQKCSAgd2UgaGFkIGJlZm9yZS4KCSAgVmFyaW91cyBjbGVhbnVwcy4KCjIwMDktMDktMjMgMTI6NTY6MDcgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIGF2aTogYWRkIHN1cHBvcnQgZm9yIE9ETUwgaW5kZXhlcyBhZ2FpbgoKMjAwOS0wOS0yMiAyMjoxMjo1OCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5oOgoJICBhdmk6IGltcGxlbWVudCBpbmRleCBzY2FubmluZwoJICBJbXBsZW1lbnQgc2Nhbm5pbmcgb2YgdGhlIGZpbGUgd2hlbiB3ZSBjYW4gcGFyc2UgdGhlIGluZGV4LgoJICBTb21lIHJlZmFjdG9yaW5nIG9mIGNvbW1vbiBjb2RlLgoJICBDbGVhbnVwcyBhbmQgY29tbWVudHMuCgkgIFJlbW92ZSBzb21lIHJlaW1wbGVtZW50ZWQgY29kZS4KCSAgUmVtb3ZlIGluZGV4IG1hc3NhZ2UgY29kZSBhbmQgcHV0IGEgRklYTUUgd2hlcmUgd2Ugc2hvdWxkIGRvIHNvbWV0aGluZwoJICBlcXVpdmFsZW50IGxhdGVyLgoKMjAwOS0wOS0yMiAxODoxODoyMCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgYXZpOiBmaXggcmV2ZXJzZSBwbGF5YmFjawoKMjAwOS0wOS0yMiAxNzo0Mjo0OCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgYXZpOiBmaXggcHJldiBrZXlmcmFtZSBzZWFyY2ggYW5kIGNsZWFudXBzCgoyMDA5LTA5LTIyIDE0OjUxOjMwICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICBhdmk6IHJlbW92ZSBjb2RlIHRoYXQgZ290IGNvbnZlcnRlZAoKMjAwOS0wOS0yMiAxNDo0NDo0MiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5oOgoJICBhdmk6IG1vcmUgY2xlYW51cHMKCSAgUmVtb3ZlIHNvbWUgZHVwbGljYXRlIGNvdW50ZXJzLgoJICBCZSBzbWFydGVyIHdoZW4gdXBkYXRlaW5nIHRoZSBjdXJyZW50IHRoZSB0aW1lc3RhbXAgYW5kIG9mZnNldCBpbiB0aGUgc3RyZWFtCgkgIGJlY2F1c2Ugd2UgY2FuIHJldXNlIHByZXZpb3VzbHkgY2FsY3VsYXRlZCB2YWx1ZXMgd2hlbiBzaW1wbHkgZ28gZm9yd2FyZCBvbmUKCSAgc3RlcC4KCSAgQ29ycmVjdGx5IHNldCBtZXRhZGF0YSBvbiBvdXRnb2luZyBidWZmZXJzLgoKMjAwOS0wOS0yMiAxMjozNTozMCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5oOgoJICBhdmlkZW11eDogc21hbGwgY2xlYW51cHMKCjIwMDktMDktMjIgMDE6Mjg6NTQgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIGF2aTogZml4IHJlYWQgb2Zmc2V0IGFuZCBjbGVhbnVwcwoKMjAwOS0wOS0yMSAxODowNDoyNSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5oOgoJICBhdmk6IHJld3JpdGUgaW5kZXggcGxheWJhY2sKCSAgZGlzYWJsZSBjb2RlLCBzdGFydCBvbiByZWltcGxlbWVudGluZyBsb29wIGJhc2VkIG9wZXJhdGlvbi4KCSAgUmV3cml0ZSB0aGUgaW5kZXggaGFuZGxpbmcgc28gdGhhdCBhbGwgc3RyZWFtcyB1c2UgdGhlaXIgb3duIGluZGV4IGZvciBkZWNvZGluZwoJICBtZWRpYS4KCjIwMDktMDktMjEgMTU6MzU6NTUgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguaDoKCSAgYXZpZGVtdXg6IGFkZCBuZXcgaW5kZXggcGFyc2luZyBjb2RlCgkgIEFkZCBhIG5ldyBmdW5jdGlvbiBhbmQgZGF0YXN0cnVjdHVyZSB0byBwYXJzZSBhbmQgaG9sZCB0aGUgaW5kZXggZW50cmllcyBvbiBhCgkgIHBlciBzdHJlYW0gYmFzZS4gQWxzbyBhdm9pZCBkb2luZyB0b28gbXVjaCB3b3JrIHRyeWluZyB0byBmaWd1cmUgb3V0IHRoZQoJICB0aW1lc3RhbXBzIGFuZCBkdXJhdGlvbnMgYXMgd2UgY2FuIHRyaXZpYWxseSBkbyB0aGF0IGxhdGVyLgoJICBMZXNzIGluZm9ybWF0aW9uIGluIHRoZSBlbnRyaWVzIG1ha2VzIHRoZW0gMiB0aW1lcyBzbWFsbGVyIGFuZCBub3QgZG9pbmcgdG9vCgkgIG11Y2ggd29yayBtYWtlcyB0aGlzIGNvZGUgYWJvdXQgMTIgdGltZXMgZmFzdGVyIHRoYW4gdGhlIHJlZ3VsYXIgY2FzZS4KCSAgSG9vayBpbiB0aGUgbmV3IGZ1bmN0aW9uIGFsb25nc2lkZSB0aGUgZXhpc3RpbmcgZnVuY3Rpb24gZm9yIGNvbXBhcmlzb24gdW50aWwKCSAgdGhlIHJlc3Qgb2YgdGhlIGNvZGUgaXMgdXBkYXRlZCB0byBoYW5kbGUgdGhlIG5ldyBpbmRleCBkYXRhc3RydWN0dXJlLgoKMjAwOS0wOS0yOCAxNjoyOTo0NSArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L2pwZWcvZ3N0anBlZ2RlYy5jOgoJICBqcGVnOiBoYW5kbGUgbW9yZSBsaWJqcGVnIHJldHVybiB2YWx1ZXMsIGFkZCBzb21lIG1vcmUgYnJhbmNoIGhpbnRzCgkgIEFsc28gcmVtb3ZlIHVudXNlZCBzaXplIHZhcmlhYmxlIGluIF9jaGFpbigpLgoKMjAwOS0wOS0yNSAxOToyMTozMiArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IHNvbWUgb3B0aW9uYWwgUVQgc3BlY2lmaWVkIHN0c2QgTVBFRy00IGF0b21zIGFsc28gYXBwbHkgdG8gSDI2NAoJICBGaXhlcyAjNTk2MzE5LgoKMjAwOS0wOS0yNSAxNjo0MDozMSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IG9ubHkgc2VuZCB0YWcgZXZlbnRzIGRvd25zdHJlYW0gYWZ0ZXIgbmV3c2VnbWVudAoKMjAwOS0wOS0yNSAxNDoxNDowMyArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IGlmIHRyYW5zcG9ydCBwcm90b2NvbCB1bnN1cHBvcnRlZCwgdHJ5IGFub3RoZXIgb25lCgkgIEFsc28gY2hhbmdlIGVycm9yIG1lc3NhZ2UgdG8gbW9yZSBhY2N1cmF0ZWx5IHJlZmxlY3QgY2FzZXMgaW4gd2hpY2gKCSAgaXQgY2FuIG9jY3VyLgoKMjAwOS0wOS0yNSAxMTo1NDowNiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogYWRkIGR1cmF0aW9ucyBtb2R1bG8gMTw8MzIKCSAgRm9yIGNhbGN1bGF0aW5nIHRoZSBkdXJhdGlvbnMgb2YgZWFjaCBzYW1wbGUsIHdlIGFyZSBzdXBwb3NlZCB0byBhZGQgZWFjaAoJICBkdXJhdGlvbiBtb2R1bG8gMTw8MzIgc28gbWFrZSB0aGUgZWxhcHNlZCB0aW1lIGNvdW50ZXIgYSB1aW50MzIuCgkgIEZpeGVzICM1OTU5NDIKCjIwMDktMDktMjQgMjA6Mzg6NTQgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IHNtYWxsIGNsZWFudXAKCjIwMDktMDktMjQgMTk6MzM6MzkgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRhdG9tcGFyc2VyLmg6CgkgIHF0ZGVtdXg6IGRvbid0IHVzZSBjb3JlIEFQSSB0aGF0IGRvZXNuJ3QgZXhpc3QgeWV0CgkgIFRoZXJlJ3Mgbm8gZ3N0X2J5dGVfcmVhZGVyX2hhc19yZW1haW5pbmcoKSB5ZXQuIEZpeGVzIGJ1aWxkLgoKMjAwOS0wOS0yNCAxMzoyMDo1MCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGF0b21wYXJzZXIuaDoKCSAgcXRkZW11eDogbWFwIHNvbWUgYXRvbXBhcnNlciBmdW5jdGlvbnMgdG8gdGhlaXIgbmV3IGJ5dGVyZWFkZXIgZXF1aXZhbGVudHMKCSAgTm93IHRoYXQgR3N0Qnl0ZVJlYWRlciBoYXMgdW5jaGVja2VkIGFuZCBpbmxpbmVkIHZhcmlhbnRzIGFzIHdlbGwsIG1hcAoJICBhdG9tcGFyc2VyIGZ1bmN0aW9ucyB0byB0aGVpciByZXNwZWN0aXZlIGJ5dGVyZWFkZXIgZXF1aXZhbGVudHMuCgoyMDA5LTA4LTI1IDEyOjExOjI4ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0YXRvbXBhcnNlci5oOgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXhfZHVtcC5jOgoJICBxdGRlbXV4OiBhZGQgcXRfYXRvbV9wYXJzZXJfaGFzX2NodW5rcygpIGFuZCBmaXggaW5kZW50YXRpb24KCjIwMDktMDgtMjAgMTg6MjE6NTkgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBiYWlsIG91dCBpbnN0ZWFkIG9mIHRyeWluZyB0byBhbGxvYyBzaWxseSBpbmRleCBzaXplcwoJICBJZiBpdCBsb29rcyBsaWtlIHdlIHdvdWxkIGJlIGFsbG9jYXRpbmcgYSBzaWxseSBzaXplIGZvciBvdXIgc2FtcGxlCgkgIGluZGV4LCBqdXN0IGJhaWwgb3V0IGluc3RlYWQgb2YgdHJ5aW5nIHRvIGFsbG9jYXRlIGl0LiBIZWxwcyB3aXRoCgkgIGJyb2tlbiBvciBmdXp6ZWQgZmlsZXMgd2hlcmUgd2UgbWlnaHQgZW5kIHVwIHRyeWluZyB0byBtYWxsb2MgYQoJICBjb3VwbGUgb2YgaHVuZHJlZCBNQnMgb3RoZXJ3aXNlLgoKMjAwOS0wOC0yMCAxNjo0NzoyNSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IGVycm9yIG91dCBjb3JyZWN0bHkgaWYgd2UgZG9uJ3QgZXZlbiBoYXZlIGVub3VnaCBieXRlcyBmb3IgYW4gYXRvbSBoZWFkZXIKCjIwMDktMDgtMjAgMTU6Mzk6MDAgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBpbml0IGZvdXJjYyB0byAwIGFzIHdlbGwgdG8gYXZvaWQgaW52YWxpZCByZWFkcyB3aGVuIHByaW50ZidpbmcgZXJyb3IgbWVzc2FnZQoKMjAwOS0wOC0yMCAwMTozOToxNyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGF0b21wYXJzZXIuaDoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4X2R1bXAuYzoKCSAgcXRkZW11eDogYWRkIHF0X2F0b21fcGFyc2VfaGFzX3JlbWFpbmluZygpIHRvIGF2b2lkIG92ZXJmbG93cyB3aXRoIF9nZXRfcmVtYWluaW5nKCkKCjIwMDktMDgtMjAgMDE6MjE6MDQgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiB1c2UgR3N0Qnl0ZVJlYWRlciB3aGVuIHBhcnNpbmcgdGtoZCBhdG9tCgoyMDA5LTA4LTE5IDE5OjEzOjM4ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogdXNlIHVuc2lnbmVkIGludHMgZm9yIG5vZGUgbGVuZ3RoIGFuZCBkbyBtb3JlIHNhbml0eSBjaGVja2luZyBvZiB0aGUgYXRvbSBsZW5ndGgKCjIwMDktMDgtMTkgMDE6MzY6MzMgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRhdG9tcGFyc2VyLmg6CgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXhfZHVtcC5jOgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4X2R1bXAuaDoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eF90eXBlcy5oOgoJICBxdGRlbXV4OiB1c2UgR3N0Qnl0ZVJlYWRlciBmb3IgYXRvbSBkdW1waW5nIGFuZCBmaXggYSBmZXcgYnVncwoKMjAwOS0wOC0yMSAxNDoyMTowOCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IG1vdmUgc3Rjbywgc3R0cywgc3RzcyBhbmQgc3RwcyBhdG9tIHBhcnNpbmcgb3ZlciB0byBHc3RCeXRlUmVhZGVyCgkgIE1ha2Ugc3VyZSB3ZSBkb24ndCByZWFkIGJleW9uZCB0aGUgYXRvbSBib3VuZGFyeS4gTm90ZSB0aGF0IHRoZSBjb2RlCgkgIGJlaGF2ZXMgc2xpZ2h0bHkgZGlmZmVyZW50bHkgaW4gdGhlIGNvcm5lciBjYXNlIHdoZXJlIHRoZXJlIGlzIG5vdAoJICBlbm91Z2ggYXRvbSBkYXRhIGZvciB0aGUgc3BlY2lmaWVkIG51bWJlciBvZiBzYW1wbGVzIChuX3NhbXBsZXNfdGltZSkKCSAgaW4gdGhlIGF0b20sIGJ1dCBzdGlsbCBlbm91Z2ggZGF0YSB0byBmaWxsIHRoZSBwcmUtYWxsb2NhdGVkIGluZGV4IG9mCgkgIG5fc2FtcGxlcyBlbnRyaWVzOiBiZWZvcmUgd2Ugd291bGQganVzdCBzdG9wIHBhcnNpbmcgdGhlIHN0dHMgZGF0YQoJICBhbmQgY29udGludWUsIHdoZXJlYXMgbm93IHdlIHdpbGwgbGlrZWx5IGVycm9yIG91dC4gVGhpcyBzaG91bGQgbm90CgkgIGJlIGEgcHJvYmxlbSBpbiBwcmFjdGljZSB0aG91Z2guIFdlIGNvdWxkIG1haW50YWluIHRoZSBvbGQgYmVoYXZpb3VyCgkgIGJ5IGRvaW5nIHJlYWRzIHdpdGggYSBzaXplIGNoZWNrIGluc2lkZSB0aGUgbG9vcCBpZiBuZWVkZWQuCgoyMDA5LTA2LTMwIDE5OjUxOjE1ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogdXNlIGJ5dGVyZWFkZXIgdG8gcGFyc2Ugc3RzeiBhbmQgc3RzYyBhdG9tcwoJICBVc2UgR3N0Qnl0ZVJlYWRlciB0byBwYXJzZSBzdHN6IGFuZCBzdHNjIGNodW5rcywgYW5kIGNoZWNrIHNpemUgb2YKCSAgYXZhaWxhYmxlIGRhdGEgYmVmb3JlIHBhcnNpbmcgaXQsIGluc3RlYWQgb2YgYmxpbmRseSBhc3N1bWluZyB0aGVyZQoJICB3aWxsIGJlIGVub3VnaCBkYXRhLiBGaXhlcyBjcmFzaGVzIHdpdGggc29tZSBmdXp6ZWQvYnJva2VuIGZpbGVzLgoKMjAwOS0wOC0xNSAyMDozODo0MCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGF0b21wYXJzZXIuaDoKCSAgcXRkZW11eDogYWRkIHF0X2F0b21fcGFyc2VyX2dldF9vZmZzZXQoKSBhbmQgb3B0aW1pc2UgX3BlZWtfc3ViKCkKCjIwMDktMDctMDEgMTM6NDk6NTcgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvTWFrZWZpbGUuYW06CgkqIGdzdC9xdGRlbXV4L3F0YXRvbXBhcnNlci5oOgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IGFkZCBRdEF0b21QYXJzZXIsIGFuIGlubGluZWQgR3N0Qnl0ZVJlYWRlciB2YXJpYW50CgoyMDA5LTA5LTIzIDE3OjE5OjM0ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguaDoKCSAgbWF0cm9za2FkZW11eDogdXNlIHByb3BlciBvcmRlciBmb3Igbm8tbW9yZS1wYWRzIGFuZCBuZXdzZWdtZW50IGFuZCB0YWcgc2VuZGluZwoKMjAwOS0wOS0yMyAwOTo1MDozNyArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2FkZW11eDogc3ByaW5rbGUgYSBmZXcgYnJhbmNoIHByZWRpY3Rpb24gbWFjcm9zCgoyMDA5LTA5LTIyIDE1OjAzOjIwICswMjAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIGV4dC9qcGVnL2dzdGpwZWdkZWMuYzoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJKiBnc3QvZmx2L2dzdGZsdnBhcnNlLmM6CgkqIGdzdC9pZDNkZW11eC9pZDN2MmZyYW1lcy5jOgoJICBGaXggY29tcGlsZSB3YXJuaW5ncyB3aXRoIGdjYyA0LjAuMS4KCjIwMDktMDktMjIgMTE6NDg6NTAgKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSAgbWF0cm9za2FtdXg6IERvbid0IGdldCBzdHVjayBpbiBhbiBpbmZpbml0ZSBsb29wIHdpdGggRGlyYWMKCSAgQXQgdGhlIGVuZCwgRGlyYWMgc3RyZWFtcyBoYXZlIGFuIEVPUyBwYWNrZXQgd2l0aCAwIGxlbmd0aC4KCSAgRG9uJ3QgZXZlciBzaXQgaW4gYW4gaW5maW5pdGUgbG9vcCB3aGVuIHByb2Nlc3Npbmcgb25lLiBBbGxvd3MKCSAgbXV4aW5nIERpcmFjIGludG8gbWt2IHRvIGNvbXBsZXRlIHN1Y2Nlc3NmdWxseS4KCjIwMDktMDktMjIgMTE6MDM6NDYgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogLmdpdGlnbm9yZToKCSAgVXBkYXRlIC5naXRpZ25vcmUKCjIwMDktMDktMjIgMTE6MDI6MDIgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvbWl4ZXIvTWFrZWZpbGUuYW06CgkgIHZpZGVvbWl4ZXI6IGZpeCB1cCBNYWtlZmlsZSBzb21lIG1vcmUKCSAgUmVtb3ZlIENGTEFHUyBmcm9tIExJQkFERCBhbmQgbWFrZSBvcmRlciBvZiB0aGUgdmFyaW91cyBDRkxBR1MgYW5kCgkgIExJQlMgYXQgbGVhc3QgY29uc2lzdGVudCB3aXRoIGVhY2ggb3RoZXIuCgoyMDA5LTA5LTIyIDA4OjAyOjQ4ICswMjAwICBCcmlhbiBDYW1lcm9uIDxicmlhbi5jYW1lcm9uQHN1bi5jb20+CgoJKiBnc3QvdmlkZW9taXhlci9NYWtlZmlsZS5hbToKCSAgdmlkZW9taXhlcjogQWRkICQoR1NUX1BMVUdJTlNfQkFTRV9MSUJTKSB0byBMREZMQUdTIGZvciBsaW5raW5nIGxpYmdzdHZpZGVvCgkgIEZpeGVzIGJ1ZyAjNTk1ODk3LgoKMjAwOS0wOS0yMSAxODowOToxMiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgYXZpOiBmaXggdGltZXN0YW1wcyBpbiBwdXNoIG1vZGUKCjIwMDktMDktMTggMTc6MjY6NDIgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9qcGVnL2dzdGpwZWdkZWMuYzoKCSAganBlZ2RlYzogYWRkIGEgR19VTkxJS0VMWSBhbmQgcHV0IHBlcmYtY2F0IGxvZyB0byBjb2RlIHBhdGggdGhhdCBjb3BpZXMKCjIwMDktMDktMjEgMTI6MzI6NTEgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIGF2aTogYWRkIHNvbWUgcGVyZm9ybWFuY2UgbWVhc3VyZW1lbnRzCgkgIE1lYXN1cmUgdGhlIHBlcmZvcm1hbmNlIG9mIHZhcmlvdXMgaW5kZXggYW5kIGhlYWRlciBwYXJzaW5nIHN0ZXBzIHRvIHRoZQoJICBQRVJGT1JNQU5DRSBkZWJ1ZyBjYXRlZ29yeS4KCjIwMDktMDktMTggMTE6NTM6MTIgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3NwZWV4L2dzdHNwZWV4ZGVjLmM6CgkgIHNwZWV4ZGVjOiBhbGxvdyBmb3IgdW5rbm93biB2YXJ5aW5nIG51bWJlciBvZiBmcmFtZXMgcGVyIGJ1ZmZlcgoJICBJbiBwYXJ0aWN1bGFyLCB0aGlzIGNhdGVycyBmb3IgUlRQIHBheWxvYWRzIHdpdGggbXVsdGlwbGUgZnJhbWVzCgkgIHBlciBwYWNrZXQuCgoyMDA5LTA5LTE4IDExOjQ1OjA2ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9zcGVleC9nc3RzcGVleGRlYy5jOgoJICBzcGVleGRlYzogdXNlIGNvcnJlY3Qgc2FtcGxlIHNpemUgaW4gY29udmVyc2lvbnMKCjIwMDktMDktMTggMTE6NDM6NDYgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3NwZWV4L2dzdHNwZWV4ZW5jLmM6CgkgIHNwZWV4ZW5jOiBmaXggYnVmZmVyIHRpbWUgYW5kIGR1cmF0aW9uIGZvciBtdWx0aXBsZSBmcmFtZXMgcGVyIHBhY2tldAoKMjAwOS0wOS0xOCAxNDoyMjowMiArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICBhdmlkZW11eDogc29tZSBsb2dnaW5nIGNsZWFudXAgdG8gaGVscCB1bmRlcnN0YW5kaW5nIHRoZSBpbmRleCBwYXJzaW5nIG92ZXJoZWFkCgoyMDA5LTA5LTE2IDEzOjI4OjI3IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIHN5cy9vc3hhdWRpby9NYWtlZmlsZS5hbToKCSAgb3N4YXVkaW86IGxpbmsgYWdhaW5zdCBHU1RfQkFTRV9MSUJTCgoyMDA5LTA5LTE1IDE3OjI0OjI0IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjlwYXkuYzoKCSAgcnRwZzcyOXBheTogRml4IGFkYXB0ZXIgbGVhawoJICBUaGUgYWRhcHRlciB3b3VsZCBiZSBsZWFrZWQgaWYgaXQgd2FzIGVtcHR5IGFuZCB0aGUgZGF0YSBjb3VsZCBiZSBwdXNoZWQgb3V0IGRpcmVjdGx5LgoKMjAwOS0wOS0xNSAxMDowNDozMCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcHVsc2UvcHVsc2VzcmMuYzoKCSAgcHVsc2VzcmM6IERvbid0IGRlcmVmZXJlbmNlIE5VTEwgcG9pbnRlcnMKCSAgcGFfc3RyZWFtX2dldF90aW1pbmdfaW5mbygpIGNhbiByZXR1cm4gTlVMTC4KCSAgRml4ZXMgYnVnICM1OTUyMjAuCgoyMDA5LTA5LTE1IDEwOjAxOjU0ICswMjAwICBEYXZpZCBIZW5uaW5nc3NvbiA8Z25vbWUud2ViQGVwb3N0LmRpd2ljLnNlPgoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJICBwdWxzZXNpbms6IERvbid0IGRlcmVmZXJlbmNlIE5VTEwgcG9pbnRlcnMKCSAgcGFfc3RyZWFtX2dldF90aW1pbmdfaW5mbygpIGNhbiByZXR1cm4gTlVMTC4KCSAgRml4ZXMgYnVnICM1OTUyMjAuCgoyMDA5LTA5LTE0IDE2OjA1OjMwICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJICBwdWxzZXNpbms6IGhhbmRsZSBzdHJlYW0gZXZlbnRzCgkgIEhhbmRsZSBzdHJlYW0gZXZlbnRzIGFuZCByZXF1ZXN0IGEgUEFVU0UvUExBWSBzdGF0ZSBjaGFuZ2UgZnJvbSB0aGUgYXBwbGljYXRpb24KCSAgd2hlbiB3ZSByZWNlaXZlIGEgQ09SSy9VTkNPUksgZXZlbnQuCgoyMDA5LTA5LTEzIDEyOjMwOjM0IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9tdWx0aWZpbGUvZ3N0bXVsdGlmaWxlc2luay5jOgoJKiBnc3QvbXVsdGlmaWxlL2dzdG11bHRpZmlsZXNpbmsuaDoKCSAgbXVsdGlmaWxlc2luazogQWRkIG5leHQtZmlsZSBwcm9wZXJ0eQoJICBBZGQgYSBwcm9wZXJ0eSB0byBhbGxvdyBjb250cm9sIG92ZXIgd2hhdCBldmVudCBjYXVzZXMgYSBmaWxlCgkgIHRvIGZpbmlzaCBiZWluZyB3cml0dGVuIGFuZCBhIG5ldyBmaWxlIHN0YXJ0LiAgVGhlIGRlZmF1bHQgaXMKCSAgdGhlIHNhbWUgYXMgYmVmb3JlIC0tIGVhY2ggYnVmZmVyIGNhdXNlcyBhIG5ldyBmaWxlIHRvIGJlCgkgIHdyaXR0ZW4uICBBZGRlZCBpcyBhIGNhc2Ugd2hlcmUgYnVmZmVycyBhcmUgd3JpdHRlbiB0byB0aGUKCSAgc2FtZSBmaWxlIHVudGlsIGEgZGlzY29udGludWl0eSBpbiB0aGUgc3RyZWFtLgoKMjAwOS0wOS0xMyAxNTo1NTowMiAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBleHQvZHYvZ3N0ZHZkZW11eC5jOgoJKiBleHQvZHYvZ3N0ZHZkZW11eC5oOgoJICBkdmRlbXV4OiBVc2UgdmFsdWVzIGZyb20gZGVjb2RlciBzdHJ1Y3R1cmUgZGlyZWN0bHkKCSAgRG9uJ3Qgc3RvcmUgdGhlIHNhbWUgdmFsdWVzIGluIHRoZSBHc3REdkRlbXV4LiAgVGhpcwoJICBmaXhlcyBhIGJ1ZyB3aGVyZSBkdmRlbXV4IHdvdWxkIGRldGVjdCBhIHN0cmVhbSBhcyBQQUwKCSAgaW5zdGVhZCBvZiBOVFNDLCBhbmQgc2lsZW50bHkgcGFyc2UgaXQgd3JvbmcuCgoyMDA5LTA5LTEzIDEyOjIwOjIzIC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGV4dC9kdi9NYWtlZmlsZS5hbToKCSogZXh0L2R2L2dzdHNtcHRldGltZWNvZGUuYzoKCSogZXh0L2R2L2dzdHNtcHRldGltZWNvZGUuaDoKCSogZXh0L2R2L3NtcHRlX3Rlc3QuYzoKCSAgZHZkZW11eDogQWRkIGNvZGUgdG8gcGFyc2UgU01QVEUgdGltZSBjb2RlcwoJICBDb2RlIHRvIGNvbnZlcnQgdGltZSBjb2RlcyB0by9mcm9tIHRpbWVzdGFtcHMgYW5kIGZyYW1lIG51bWJlcnMuCgoyMDA5LTA5LTEzIDEyOjAxOjI3IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGV4dC9kdi9nc3RkdmRlbXV4LmM6CgkqIGV4dC9kdi9nc3RkdmRlbXV4Lmg6CgkgIGR2ZGVtdXg6IEZpeCBkZXRlY3Rpb24gb2YgbmV3IG1lZGlhCgkgIFRoZXJlIGFyZSA1IG9yIDYgQUFVWCBzb3VyY2UgY29udHJvbCBwYWNrcyBpbiBhIGZyYW1lLCBhbmQgYW55CgkgIG9mIHRoZW0gY291bGQgaGF2ZSBSRUNfU1QgY2xlYXJlZCwgaW5kaWNhdGluZyBhIHJlY29yZGluZyBzdGFydAoJICBwb2ludC4gIGxpYmR2IG9ubHkgY2hlY2tzIHRoZSBmaXJzdC4KCjIwMDktMDktMTIgMTk6MjU6MzYgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBleHQvZHYvZ3N0ZHZkZW11eC5jOgoJICBkdmRlbXV4OiBTZXQgRElTQ09OVCBmbGFnIG9uIGJ1ZmZlcnMgd2hlbiBSRUNfU1QgZmxhZyBpcyBzZXQuCgkgIEFsc28gYWRkIGEgZmV3IGJyYW5jaCBwcmVkaWN0aW9uIG1hY3JvcwoKMjAwOS0wOS0xMiAwMDoxMzowNCArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvc291cGh0dHBzcmMuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMveTRtZW5jLmM6CgkgIGNoZWNrOiBGaXggYSBjb3VwbGUgb2YgdGVzdHMuCgkgIFRoZSBzb3VwaHR0cHNyYyB0ZXN0IHdhc24ndCBjb21waWxpbmcuIFRoZSBzb3VwLW1pc2MuaCBoZWFkZXIgaXMgbmVlZGVkIGZvcgoJICBzb3VwX3NzbF9zdXBwb3J0ZWQuCgkgIEZpeCB0aGUgeTRtZW5jIHRlc3QgdG8gdXNlIGEgJ3Byb2dyZXNzaXZlJyBoZWFkZXIgZm9yIHRoZSB0ZXN0IGRhdGEgbm93IHRoYXQKCSAgdGhlIGVsZW1lbnQgb3V0cHV0cyBjb3JyZWN0IGludGVybGFjaW5nIGluZm8uCgoyMDA5LTA5LTExIDEzOjMyOjM5IC0wNzAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAc29uZ2JpcmRuZXN0LmNvbT4KCgkqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOgoJICB3YXZwYXJzZTogdHJlYXQgYSB6ZXJvLXNpemVkIGRhdGEgY2h1bmsgYXMgZXh0ZW5kaW5nIHRvIHRoZSBlbmQgb2YgdGhlIGZpbGUuCgkgIFRoaXMgZml4ZXMgcGxheWJhY2sgb2Ygc29tZSBmaWxlcyB0aGF0IGRvbid0IGhhdmUgYSB2YWxpZCBkYXRhIGNodW5rIGxlbmd0aCwKCSAgYXBwYXJlbnRseSBzb21lIHByb2dyYW0gY3JlYXRlcyB0aGVzZS4KCjIwMDktMDktMTEgMjI6MjQ6NDcgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5oOgoJICB2NGwyc3JjOiBhZGQgYSBmdW5jdGlvbiBwb2ludGVyIGZvciBnZXRfZnJhbWUgZnVuY3Rpb24gYW5kIG9wdGltaXplIGEgYml0CgkgIFVzZSBhIGZ1bmN0aW9uLXBvaW50ZXIgZm9yIG1tYXAvcmVhZCwgYXMgdGhpcyBjYW4ndCBjaGFuZ2UgZHVyaW5nIGNhcHR1cmUuIEFsc28KCSAgc3ByaW5rbGUgYSBmZXcgR19MSUtFTFkvVU5MSUtFTFkgdG8gaW1wcm92ZSB0aGUgZXJyb3ItbGVzcyBjb2RlIHBhdGguCgoyMDA5LTA5LTExIDIyOjE1OjAxICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBzeXMvdjRsMi9nc3R2NGwyLmM6CgkqIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuYzoKCSAgdjRsMjogbG9nIGJ1ZmZlciBjb3BpZXMgb24gcXVldWUgdW5kZXJydW4gaW4gcGVyZiBjYXRlZ29yeQoJICB2NGwyc3JjIGhhcyBhIHNsb3cgcGF0aCB3aGVyZSBpdCBkb2VzIGJ1ZmZlci1jb3BpZXMgd2hlbiBpdCBydW5zIG91dCBvZiBxdWV1ZWQKCSAgYnVmZmVycy4gTG9nIHRoaXMgdG8gcGVyZm9ybWFuY2UgY2F0ZWdvcnkgdG8gaGVscCBtb25pdG9yaW5nIGl0LgoKMjAwOS0wOS0xMSAxNToxNDoxNSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkgIHB1bHNlc2luazogSW1wbGVtZW50IEdzdFN0cmVhbVZvbHVtZSBpbnRlcmZhY2UKCjIwMDktMDktMTEgMTY6MDk6NDAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmg6CgkgIHB1bHNlc2luazogSW1wbGVtZW50IG11dGUgcHJvcGVydHkKCjIwMDktMDktMTEgMTM6MzM6MzEgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZ2RrX3BpeGJ1Zi9nc3RnZGtwaXhidWZzaW5rLmM6CgkgIGdka3BpeGJ1ZnNpbms6IGZpeCBkb2NzIHJlZmVyaW5nIHRvIHNlbmQtbWVzc2FnZXMKCjIwMDktMDktMTEgMTM6Mjg6MzUgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uYzoKCSogZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmg6CgkgIHNwZWN0cnVtOiBhZGQgcG9zdC1tZXNzYWdlcyBwcm9wZXJ0eQoJICBBZGQgYSBwb3N0LW1lc3NhZ2VzIHByb3BlcnR5IGFuZCBkZXByZWNhdGUgdGhlIGxlc3MgZGVzY3JpcHRpdmUgbWVzc2FnZQoJICBwcm9wZXJ0eS4KCjIwMDktMDktMTEgMTM6MjA6MDYgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZ2RrX3BpeGJ1Zi9nc3RnZGtwaXhidWZzaW5rLmM6CgkqIGV4dC9nZGtfcGl4YnVmL2dzdGdka3BpeGJ1ZnNpbmsuaDoKCSAgcGl4YnVmc2luazogYWRkIHBvc3QtbWVzc2FnZXMgcHJvcGVydHkKCSAgQWRkIHBvc3QtbWVzc2FnZXMgYW5kIGRlcHJlY2F0ZSBzZW5kLW1lc3NhZ2VzIGFzIHRoZSBmb3JtZXIgaXMgbW9yZQoJICBkZXNjcmlwdGl2ZSBvZiB3aGF0IGFjdHVhbGx5IGhhcHBlbnMuCgoyMDA5LTA5LTExIDEzOjEyOjU0ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L211bHRpZmlsZS9nc3RtdWx0aWZpbGVzaW5rLmM6CgkqIGdzdC9tdWx0aWZpbGUvZ3N0bXVsdGlmaWxlc2luay5oOgoJICBtdWx0aWZpbGVzaW5rOiByZW5hbWUgc2lsZW50IHRvIHBvc3QtbWVzc2FnZXMKCSAgVXNlIHRoZSBwb3N0LW1lc3NhZ2VzIHByb3BlcnR5IG5hbWUgaW5zdGVhZCBvZiBzaWxlbnQgYXMgaXQgaXMgbW9yZQoJICBkZXNjcmlwdGl2ZS4KCjIwMDktMDktMTEgMTI6MTY6MTggKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXVsdGlmaWxlL2dzdG11bHRpZmlsZXNpbmsuYzoKCSogZ3N0L211bHRpZmlsZS9nc3RtdWx0aWZpbGVzaW5rLmg6CgkgIG11bHRpZmlsZXNpbms6IHBvc3QgbWVzc2FnZXMgZm9yIGVhY2ggYnVmZmVyCgkgIEFkZCBhIHNpbGVudCBwcm9wZXJ0eSB0aGF0IGNhbiBiZSBzZXQgdG8gRkFMU0UgdG8gcG9zdCBtZXNzYWdlcyBvbiB0aGUgYnVzIGZvcgoJICBlYWNoIHdyaXR0ZW4gZmlsZS4KCSAgRG8gc29tZSBtb3JlIGNsZWFudXBzLgoJICBBZGQgc29tZSBkb2NzLgoJICBGaXhlcyAjNTk0NjYzCgoyMDA5LTA5LTA5IDE4OjEzOjI5IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNwYXkuYzoKCSAgcnRwaDI2M3BheTogQWxsb2NhdGUgQm91bmRyeSBzdHJ1Y3RzIG9uIHRoZSBzdGFjayBpbnN0ZWFkIG9mIHRoZSBoZWFwIHRvIGF2b2lkIGxlYWtzCgkgIEZpeGVzIGJ1ZyAjNTk0NjkxLgoKMjAwOS0wOS0xMCAxMDoyODo0OCArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHB0ZGVtdXguYzoKCSAgZG9jczogZml4IGd0ay1kb2Mgd2FybmluZ3MKCjIwMDktMDktMTAgMTA6MjY6MjMgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIHN5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnNpbmsuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnNpbmsuaDoKCSAgZG9jczogZml4IGd0ay1kb2Mgd2FybmluZ3MKCjIwMDktMDktMDkgMTc6NTE6MTkgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZXh0L3JhdzEzOTQvTWFrZWZpbGUuYW06CgkqIGV4dC9yYXcxMzk0L2dzdDEzOTRjbG9jay5jOgoJKiBleHQvcmF3MTM5NC9nc3QxMzk0Y2xvY2suaDoKCSogZXh0L3JhdzEzOTQvZ3N0ZHYxMzk0c3JjLmM6CgkqIGV4dC9yYXcxMzk0L2dzdGR2MTM5NHNyYy5oOgoJICBkdjEzOTRzcmM6IEFkZCBhIGNsb2NrIGJhc2VkIG9uIGlzb2Nocm9ub3VzIGN5Y2xlIGNvdW50ZXIKCSAgUGFydGlhbCBmaXggZm9yICMxNjkzODMuCgoyMDA5LTA5LTA5IDE2OjAyOjAzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb2JveC9nc3R2aWRlb2JveC5jOgoJICB2aWRlb2JveDogRml4IEFZVVYtPkk0MjAgY29udmVyc2lvbgoJICBGb3IgdGhpcyBmaXggdGhlIGF2ZXJhZ2luZyBvZiB0aGUgY2hyb21hIHZhbHVlcy4gSXQgc2hvdWxkJ3QgYmUgKGEvMiArIGIpLzIKCSAgYnV0IGp1c3QgKGEgKyBiKS8yLgoJICBGaXhlcyBidWcgIzU5NDU5OS4KCjIwMDktMDktMDkgMTY6MjU6MDYgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSAgcHVsc2VzaW5rOiByZW1vdmUgcmluZ2J1ZmZlciByZXNldCBjb21wZW5zYXRpb24KCSAgUmVtb3ZlIHRoZSBjb2RlIHRvIGRlYWwgd2l0aCBhIHJpbmdidWZmZXIgcmVzZXQgYXMgdGhpcyBjb2RlIGlzIG5vdyBpbiB0aGUgYmFzZQoJICBjbGFzcy4KCSAgQnVtcCB0aGUgLWJhc2UgcmVxdWlyZW1lbnQgYXMgd2UgbmVlZCB0aGUgbmV3IGJhc2VhdWRpb3NpbmsgY29kZSB0byBmdW5jdGlvbgoJICBwcm9wZXJseS4KCjIwMDktMDktMDkgMTY6MjQ6NDkgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmg6CgkgIHB1bHNlc2luazogd2hpdGVzcGFjZSBmaXhlcwoKMjAwOS0wOS0wOSAxMDoyNzo1NSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJjb2xvcmJhbGFuY2UuaDoKCSAgd2hpdGVzcGFjZSBmaXhlcwoKMjAwOS0wOS0wOCAxOTozNDowOSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9wdWxzZS9wdWxzZW1peGVyLmM6CgkqIGV4dC9wdWxzZS9wdWxzZW1peGVyY3RybC5jOgoJKiBleHQvcHVsc2UvcHVsc2Vwcm9iZS5jOgoJICBwdWxzZTogc21hbGwgY2xlYW51cHMKCSAgQWRkIHNvbWUgZGVidWcgaW5mbwoJICBGaXggdGhlIHN0YXRlIGNoYW5nZXMKCjIwMDktMDktMDggMTg6Mjk6MzUgKzAyMDAgIE1hcmMtQW5kcsOpIEx1cmVhdSA8bWx1cmVhdUBmbHVtb3Rpb24uY29tPgoKCSogZ3N0L211bHRpcGFydC9tdWx0aXBhcnRtdXguYzoKCSAgbXVsdGlwYXJ0bXV4OiBtYXJrIGRhdGEgYnVmZmVyIGFzIGRlbHRhLXVuaXQKCSAgU28gdGhhdCBtdWx0aWZkc2luayBhbHdheXMgc3RhcnQgc2VuZGluZyBoZWFkZXIgYnVmZmVyIGZpcnN0CgkgIEZpeGVzICM1OTQ1MjAKCjIwMDktMDktMDggMTc6Mzc6MTUgKzAyMDAgIE1hcmMgTGVlbWFuIDxtYXJjLmxlZW1hbkBnbWFpbC5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmg6CgkgIHJ0cGJpbjogYWRkIGlnbm9yZS1wdCBwYXJhbWV0ZXIKCSAgQWRkIGEgcGFyYW1ldGVyICdpZ25vcmUtcHQnIHRoYXQgZGlzYWJsZXMgY3JlYXRpbmcgYSBnc3RydHBwdGRlbXV4IG1vZHVsZSBhbmQKCSAgZ2hvc3RzIHRoZSBwYWRzIG9mIGdzdHJ0cGppdHRlcmJ1ZmZlciBpbnN0ZWFkIG9mIHRoZSBvbmVzIG9mIGdzdHJ0cHB0ZGVtdXguCgkgIEZpeGVzICM1OTQ0OTAKCjIwMDktMDktMDQgMTM6NTE6MzcgKzAyMDAgIE1hcnZpbiBTY2htaWR0IDxtYXJ2aW5fc2NobWlkdEBnbXgubmV0PgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvc291cGh0dHBzcmMuYzoKCSAgY2hlY2tzOiBvbmx5IHJ1biBIVFRQUyB0ZXN0IGlmIGxpYnNvdXAgaGFzIFNTTCBzdXBwb3J0CgoyMDA5LTA5LTA4IDEzOjU5OjU2ICswMjAwICBIw6V2YXJkIEdyYWZmIDxoYXZhcmQuZ3JhZmZAdGFuZGJlcmcuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5oOgoJICBydHBiaW46IHByb3BhZ2F0ZSBwYXlsb2FkLXR5cGUtY2hhbmdlIHNpZ25hbCBmcm9tIGRlbXV4ZXIKCSAgZml4ZXMgIzU5NDI1NAoKMjAwOS0wOC0zMSAxODo0NjoyNSArMDIwMCAgSGF2YXJkIEdyYWZmIDxoYXZhcmQuZ3JhZmZAdGFuZGJlcmcuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwaml0dGVyYnVmZmVyLmM6CgkgIGppdHRlcmJ1ZmZlcjogY2hhbmdlIHNldmVyaXR5IG9mIGNsb2NrLXJhdGUgY2hhbmdlIGRlYnVnCgkgIE1ha2UgbG9nIEdTVF9ERUJVRyB1bmRlciBub3JtYWwgY2lyY3Vtc3RhbmNlcywgR1NUX1dBUk5JTkcgb3RoZXJ3aXNlLgoJICBGaXhlcyAjNTk0MjUzCgoyMDA5LTA5LTA4IDEzOjM5OjMxICswMjAwICBIw6V2YXJkIEdyYWZmIDxoYXZhcmQuZ3JhZmZAdGFuZGJlcmcuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIGppdHRlcmJ1ZmZlcjogYXZvaWQgdGhyb3dpbmcgcmVvcmRlcmVkIGJ1ZmZlcnMgd2l0aCBzYW1lIHRpbWVzdGFtcHMKCSAgV2hlbiB3ZSByZWNlaXZlIGEgcmVvcmRlcmVkIHBhY2tldCB3aXRoIHRoZSBzYW1lIHRpbWVzdGFtcCBhcyB0aGUgcHJldmlvdXMgb25lCgkgICh3aGljaCBjYW4gaGFwcGVuIGZvciBmcmFnbWVudGVkIHBhY2tldHMpIGRvbid0IGNvbnNpZGVyIHRoZSBwYWNrZXQgYXMgbG9zdCBidXQKCSAgaW5zdGVhZCB3YWl0IGZvciB0aGUgcmVvcmRlcmVkIHBhY2tldCB0byBhcnJpdmUuCgkgIFN3aXRjaCB0aGUgd2FybmluZy1sZXZlbCwgc28gdGhhdCBhIHJlb3JkZXJpbmcgZG9lcyBub3QgZ2V0IGEgd2FybmluZywgb25seQoJICBhbiBhY3R1YWwgcHJvZHVjZWQgbG9zdC1wYWNrZXQuCgkgIEZpeGVzICM1OTQyNTEKCjIwMDktMDgtMzEgMjE6MTY6NTQgKzAyMDAgIEhhdmFyZCBHcmFmZiA8aGF2YXJkLmdyYWZmQHRhbmRiZXJnLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwanBlZ2RlcGF5LmM6CgkgIHJ0cGpwZWdkZXBheTogYWRkIG1pc3NpbmcgbWF0aC5oIGluY2x1ZGUKCSAgRml4ZXMgIzU5NDI0NwoKMjAwOS0wOS0wOCAxMzozMDoyOSArMDIwMCAgQXJub3V0IFZhbmRlY2FwcGVsbGUgPGFybm91dEBtaW5kLmJlPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBmaXggbWVtb3J5IGxlYWsKCSAgSW4gZ3N0X3J0c3BzcmNfcGFyc2VfZGlnZXN0X2NoYWxsZW5nZSgpLCBydHNwc3JjIGRvZXMgYSBnX3N0cm5kdXAgb2YgdGhlIGF1dGgKCSAgaGVhZGVyIGl0ZW1zIGFuZCB0aGVuIHBhc3NlcyB0aGVtIHRvIGdzdF9ydHNwX2Nvbm5lY3Rpb25fc2V0X2F1dGhfcGFyYW0oKQoJICB3aXRob3V0IGZyZWVpbmcuCgkgIEZpeGVzICM1OTQxMzMKCjIwMDktMDktMDggMTM6MTg6MjkgKzAyMDAgIFN0aWcgU2FuZG5lcyA8c3RpZy5zYW5kbmVzQHRhbmRiZXJnLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOgoJICBydHBiaW46IG1ha2UgZnJlZV9zZXNzaW9uKCkgcmVtb3ZlIHN0cmVhbSByZWZlcmVuY2VzCgkgIFdoZW4gcmVjZWl2aW5nIGEgc3luYy1wYWNrZXQsIGFsbCBzZXNzaW9ucyB3aXRoIHRoZSBzYW1lIGNuYW1lIHdpbGwgYmUgY29tcGFyZWQKCSAgYW5kIHN5bmNlZCB0b2dldGhlci4gSW4gdGhpcyBwcm9jZXNzLCB0aGVyZSBjb3VsZCBzdGlsbCBiZSByZWZlcmVuY2VzIHRvIGEKCSAgc2Vzc2lvbiB0aGF0IGhhcyBiZWVuIHNodXQgZG93biBpbiB0aGUgbWVhbndoaWxlLgoJICBUaGlzIHBhdGNoIG1ha2VzIHN1cmUgdGhhdCB0aGVzZSByZWZlcmVuY2VzIGFyZSByZW1vdmVkIHdoZW4gc2h1dHRpbmcgZG93biBhCgkgIHNlc3Npb24sIHNvIHRoYXQgdGhlIHN5bmNpbmcgY2FuIGJlIGRvbmUgc2FmZWx5LgoJICBGaXhlcyAjNTk0MjgzCgoyMDA5LTA4LTMxIDE4OjQ2OjUxICswMjAwICBIYXZhcmQgR3JhZmYgPGhhdmFyZC5ncmFmZkB0YW5kYmVyZy5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzoKCSAgcnRwYmluOiB1c2UgbG9ja2VkIHN0YXRlIG9uIGludGVybmFsIGJpbnMKCSAgU2V0IHRoZSBsb2NrZWQgc3RhdGUgb24gaW50ZXJuYWwgZWxlbWVudHMgdG8gbWFrZSBzdXJlIHRoYXQgdGhleSBkb24ndCBjaGFuZ2UKCSAgYmFjayB0byBhbm90aGVyIHN0YXRlIHdoZW4gc2h1dHRpbmcgZG93bi4KCSAgRml4ZXMgIzU5NDI0OAoKMjAwOS0wOS0wNyAxODoyODo1MSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSogc3lzL3Y0bDIvdjRsMl9jYWxscy5jOgoJKiBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmM6CgkgIHY0bDJzcmM6IGFkZCBzdXBwb3J0IGZvciBtcGVnIGZvcm1hdHMKCjIwMDktMDktMDUgMjA6NTE6MTQgLTA3MDAgIFphaGVlciBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJKiBnc3QveTRtL2dzdHk0bWVuY29kZS5jOgoJKiBnc3QveTRtL2dzdHk0bWVuY29kZS5oOgoJICB5NG1lbmM6IEFkZCBpbnRlcmxhY2VkIHN1cHBvcnQKCSAgRml4ZXMgIzU5MTcxMwoJICBTaWduZWQtb2ZmLWJ5OiBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCjIwMDktMDgtMjQgMTM6NDI6NDIgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZXh0L2djb25mL2dzdGdjb25mYXVkaW9zaW5rLmM6CgkqIGV4dC9nY29uZi9nc3RnY29uZmF1ZGlvc3JjLmM6CgkqIGV4dC9nY29uZi9nc3RnY29uZnZpZGVvc2luay5jOgoJKiBleHQvZ2NvbmYvZ3N0Z2NvbmZ2aWRlb3NyYy5jOgoJKiBnc3QvYXBldGFnL2dzdGFwZWRlbXV4LmM6CgkqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG9hdWRpb3NpbmsuYzoKCSogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b2F1ZGlvc3JjLmM6CgkqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG92aWRlb3NpbmsuYzoKCSogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b3ZpZGVvc3JjLmM6CgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSogZ3N0L2F2aS9nc3RhdmltdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJICBSZW1vdmUgUm9uYWxkIEJ1bHRqZSBmcm9tIEF1dGhvcnMgZmllbGQKCSAgUmVwbGFjZWQgd2l0aCAiR1N0cmVhbWVyIG1haW50YWluZXJzCgkgIDxnc3RyZWFtZXItZGV2ZWxAbGlzdHMuc291cmNlZm9yZ2UubmV0PiIgb3IganVzdCByZW1vdmVkLAoJICBkZXBlbmRpbmcgb24gdGhlIG51bWJlciBvZiBvdGhlciBhdXRob3JzLgoKMjAwOS0wOS0wNSAxMDoyMTozMSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIDAwYTg1OWUgdG8gMTlmYTRmMwoKMjAwOS0wOS0wNCAxMzo0Mjo0MyArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IHByZXZlbnQgYSBzcHVyaW91cyBkZWJ1ZyB3YXJuaW5nCgoyMDA5LTA5LTA0IDA5OjMyOjQyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgdjRsMjogRGVmaW5lIFY0TDJfRk1UX0ZMQUdfRU1VTEFURUQgaWYgaXQncyBub3QgZGVmaW5lZCB5ZXQKCSAgbGlidjRsMiBhbHJlYWR5IHVzZXMgdGhpcyBmbGFnLCBldmVuIG9uIExpbnV4IGtlcm5lbCB2ZXJzaW9ucwoJICBiZWZvcmUgMi42LjMyLgoKMjAwOS0wOS0wNCAwNzoxMDowMyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2FkZW11eDogQ29ycmVjdGx5IGhhbmRsZSBOVUxMIEdzdEluZGV4CgoyMDA5LTA5LTAzIDIwOjQwOjE3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgdjRsMjogRml4IHN0dXBpZCB0eXBvIGluIGxhc3QgY29tbWl0CgoyMDA5LTA5LTAzIDIwOjM4OjUwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgdjRsMjogUHV0IGVtdWxhdGVkIGZvcm1hdHMgYmVoaW5kIG5hdGl2ZSBmb3JtYXRzCgkgIEZpeGVzIGJ1ZyAjNTkzNzY0LgoKMjAwOS0wOS0wMyAxOTozNzoxMCArMDIwMCAgTGF1cmVudCBHbGF5YWwgPHNwZ2xlZ2xlIGF0IHlhaG9vLmZyPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmM6CgkgIHJ0cHNvdXJjZTogZml4IG1lbWxlYWsKCSAgRG9uJ3QgbGVhayB0aGUgaW5wdXQgYnVmZmVyIHdoZW4gdGhlIHJlY2VpdmVkIGFuZCBleHBlY3RlZCBzZXFudW0gYXJlIGRpZmZlcmVudCB3aGVuCgkgIGluIHByb2JhdGlvbi4KCSAgZml4ZXMgIzU5NDAzOQoKMjAwOS0wOS0wMiAxNToyMTowMiAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIHJ0cGppdHRlcmJ1ZmZlcjogTG9jayBjbG9ja19yYXRlIHZhcmlhYmxlCgkgIFRoZSBwcml2LT5jbG9ja19yYXRlIHZhcmlhYmxlIGNvdWxkIGJlY29tZSAtMSBiZXR3ZWVuIHdoZW4gaXRzIGNoZWNrZWQgdG8gbm90CgkgIGJlIC0xIGFuZCB3aGVuIGl0cyB1c2VkLCBjYXVzaW5nIGFuIGFzc2VydGlvbi4gRml4ZWQgYnkgdGFraW5nIHRoZSBtdXRleAoJICBlYXJsaWVyIGluIHRoZSBjaGFpbigpIGZ1bmN0aW9uLgoJICBGaXhlcyAjNTkzOTU1CgoyMDA5LTA5LTAzIDE5OjEyOjM5ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmM6CgkgIHJ0cHNvdXJjZTogd2hpdGVzcGFjZSBmaXhlcwoKMjAwOS0wOS0wMyAxOTowOToxMiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwbXBhcGF5LmM6CgkgIHJ0cG1wYXBheTogd2hpdGVzcGFjZSBmaXhlcwoKMjAwOS0wOS0wMyAxOTowODo1MyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSAgcnRwc2Vzc2lvbjogd2hpdGVzcGFjZSBmaXhlcwoKMjAwOS0wOS0wMyAxNzozMzoyOCArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGV4dC9qcGVnL2dzdGpwZWdkZWMuYzoKCSAganBlZ2RlYzogQXZvaWQgdW5uZWNlc3NhcnkgcHJvY2Vzc2luZyB1bnRpbCB3ZSBoYXZlIGEgZnVsbCBwaWN0dXJlLgoJICBUaGlzIGlzIGZvciBub24tcGFja2V0aXplZCBtb2RlLCB3aGVuIHdlIGtub3cgdGhlIHVwc3RyZWFtIHNpemUgaW4gYnl0ZXMuCgoyMDA5LTA5LTAzIDE0OjQwOjIwICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvZmx2L2dzdGZsdm11eC5jOgoJICBmbHZtdXg6IGZ1bGx5IHVzZSB0YWdzZXR0ZXIgdG8gbWFuYWdlIHRoZSB0YWdzLiBGaXhlcyAjNTYzMjIxCgkgIFRoZXJlIGlzIG5vIG5lZWQgdG8gbWFuYWdlIGEgc2VwYXJhdGUgdGFnbGlzdC4KCjIwMDktMDktMDMgMTQ6MTM6NDMgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9zcGVleC9nc3RzcGVleGVuYy5jOgoJICBzcGVleGVuYzogc21hbGwgdGFnbGlzdCBoYW5kbGluZyBjbGVhbnVwCgkgIERvbid0IGV2ZW50dWFseSBsZWFrIHRoZSBsaXN0IGFuZCBpbnN0ZWFkIGFzc2VydCAobGlrZSBpbiBvdGhlciBlbGVtZW50cykuCgoyMDA5LTA5LTAyIDIzOjEyOjQxICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkgIHB1bHNlc2luazogYWxzbyBndWFyZCByZXNldGluZyBzdWJzY3JpYmUgY2FsbGJhY2sgd2l0aCBpZmRlZnMKCSAgSXQgaXMgY29uZGl0aW9uYWx5IHNldCwgc28gZG8gdGhlIHNhbWUgd2hlbiB1bnNldHRpbmcuCgoyMDA5LTA5LTAxIDE1OjA2OjQ2ICswMjAwICBQZXRlciBLamVsbGVyc3RlZHQgPHBrakBheGlzLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzoKCSAgcnRwbWFuYWdlcjogRml4ZWQgYSBjb3B5ICYgcGFzdGUgZXJyb3IKCjIwMDktMDktMDEgMTM6MjE6MjMgKzAyMDAgIFBldGVyIEtqZWxsZXJzdGVkdCA8cGtqQGF4aXMuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOgoJICBydHBtYW5hZ2VyOiBSZW1vdmVkIHVudXNlZCB2YXJpYWJsZSBwcml2CgkgIFRoZSB2YXJpYWJsZSBwcml2IHdhcyBpbml0aWFsaXplZCBpbiBhIGxvdCBvZiBmdW5jdGlvbnMgYnV0IHRoZW4gbmV2ZXIKCSAgdXNlZCBmb3IgYW55dGhpbmcuCgoyMDA5LTA5LTAxIDEzOjAzOjU3ICswMjAwICBQZXRlciBLamVsbGVyc3RlZHQgPHBrakBheGlzLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzoKCSAgcnRwbWFuYWdlcjogQSBsaXR0bGUgY2xlYW4gdXAKCSAgTWFrZSB0aGUgY29kZSBmbG93IG9mIGdzdF9ydHBfc2Vzc2lvbl9zZW5kX3J0Y3AoKSBhbmQKCSAgZ3N0X3J0cF9zZXNzaW9uX3N5bmNfcnRjcCgpIGlkZW50aWNhbC4KCjIwMDktMDktMDEgMTI6NDc6NTEgKzAyMDAgIFBldGVyIEtqZWxsZXJzdGVkdCA8cGtqQGF4aXMuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOgoJICBydHBtYW5hZ2VyOiBNYWtlIHN1cmUgdGhhdCB1c2VkIGNhcHMgYXJlIG5vdCBmcmVlZCBhbHJlYWR5ICh0YWtlIDIpCgkgIFRoaXMgcmVpbnRyb2R1Y2VzIHRoZSBmaXggZm9yIGJ1ZyAjNTkzMzkxLiBJdCBhbHNvIGFwcGxpZXMgaXQgaW4KCSAgZ3N0X3J0cF9zZXNzaW9uX3N5bmNfcnRjcCgpIHdoaWNoIGhhcyB2ZXJ5IHNpbWlsYXIgY29kZSB0bwoJICBnc3RfcnRwX3Nlc3Npb25fc2VuZF9ydGNwKCkuCgoyMDA5LTA5LTAxIDEyOjQxOjM2ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cGppdHRlcmJ1ZmZlci5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBqaXR0ZXJidWZmZXIuaDoKCSAgaml0dGVyYnVmZmVyOiBtYWtlIHN1cmUgdGltZSBkb2VzIG5vdCBnbyBiYWNrd2FyZHMKCSAgV2hlbiB3ZSBjb25zdHJ1Y3QgYSB0aW1lc3RhbXAgdGhhdCB3b3VsZCByZXN1bHQgaW4gYSB0aW1lc3RhbXAgdGhhdCBpcyBlYXJsaWVyCgkgIHRoYW4gd2hlbiB0aGUgcGFja2V0IHdhcyByZWNlaXZlZCwgcmVzZXQgdGhlIHNrZXcgY2FsY3VsYXRpb24gYXMgdGhpcyBpcwoJICBwcm9iYWJseSBhIHNpZ24gdGhhdCB0aGUgc2VuZGVyIHJlc3RhcnRlZCBvciBwYXVzZWQuCgkgIEZpeGVzICM1OTMzNTQKCjIwMDktMDktMDEgMTE6MzI6NDEgKzAyMDAgIFBldGVyIEtqZWxsZXJzdGVkdCA8cGtqQGF4aXMuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOgoJICBydHBtYW5hZ2VyOiBTZXQgY2FwcyBpbiBnc3RfcnRwX3Nlc3Npb25fc2VuZF9ydGNwKCkgY29ycmVjdGx5IGFnYWluCgkgIFRoZSB0ZXN0IGZvciB3aGVuIHRvIHNldCBhbiBSVENQIGNhcHMgb24gdGhlIG91dHB1dCBwYWQgaW4KCSAgZ3N0X3J0cF9zZXNzaW9uX3NlbmRfcnRjcCgpIGFjY2lkZW50YWxseSBnb3QgaW52ZXJ0ZWQgaW4gdGhlIGxhc3QgY29tbWl0LgoKMjAwOS0wOS0wMSAxMDoyNjo0NiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IEFkZCBzdXBwb3J0IGZvciBRQ0VMUCBhdWRpbwoJICBGaXhlcyBidWcgIzU5Mzc1Ny4KCjIwMDktMDgtMzEgMTg6MTA6MTEgKzAyMDAgIFBldGVyIEtqZWxsZXJzdGVkdCA8cGtqQGF4aXMuY29tPgoKCSogZ3N0L2VmZmVjdHYvZ3N0YWdpbmcuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0ZWRnZS5jOgoJKiBnc3QvZWZmZWN0di9nc3RvcC5jOgoJKiBnc3QvZWZmZWN0di9nc3RyYWRpb2FjLmM6CgkqIGdzdC9lZmZlY3R2L2dzdHJldi5jOgoJKiBnc3QvZWZmZWN0di9nc3RzaGFnYWRlbGljLmM6CgkqIGdzdC9lZmZlY3R2L2dzdHZlcnRpZ28uYzoKCSAgZWZmZWN0djogRml4IGNvbXBpbGF0aW9uIHdpdGggZ2NjIDMKCSAgUmVjZW50IGNoYW5nZXMgaW4gZ3N0LXBsdWdpbnMtZ29vZC9nc3QvZWZmZWN0diBwcmV2ZW50cyBpdCBmcm9tIGJlaW5nIGNvbXBpbGVkCgkgIHdpdGggZ2NjIDMuIFRoZSBwcm9ibGVtIGlzIHRoYXQgdGhlIG5ldyBjb2RlIHVzZXMgcHJlcHJvY2Vzc29yIGNvbmRpdGlvbmFscwoJICB3aXRoaW4gYSBtYWNybyBjYWxsIHdoaWNoIGRvZXMgbm90IHdvcmsgd2l0aCBvbGRlciB2ZXJzaW9ucyBvZiBnY2MuCgkgIEZpeGVzIGJ1ZyAjNTkzNjg4LgoKMjAwOS0wOC0zMSAxNjoyMDo1OSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgZG9jczogc21hbGwgY2xlYW4tdXBzIGluIC1zZWN0aW9ucy50eHQKCSAgUmVtb3ZlIGR1cGxpY2F0ZSBlbnRyeSBmb3Igd2FycHR2OyB0aGVyZSBpcyBubyB0YWdsaWJtdXggZWxlbWVudC4KCjIwMDktMDgtMjcgMTU6NDY6NTIgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBtcDRnZGVwYXkuYzoKCSAgcnRwbXA0Z2RlcGF5OiBjb25zaWRlciAob3B0aW9uYWwpIGF1eGlsaWFyeSBkYXRhIHdoZW4gcGFyc2luZwoKMjAwOS0wOC0yNyAxNTo0NjoxNSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cG1wNGdkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wNGdkZXBheS5oOgoJICBydHBtcDRnZGVwYXk6IGhhbmRsZSBicm9rZW4gQVUtSW5kZXggaW4gbm9uLWludGVybGVhdmVkIHN0cmVhbXMKCSAgSW4gY2FzZSBvZiBub24taW50ZXJsZWF2ZWQgKD0gc2VxdWVudGlhbGx5IHBheWxvYWRlZCkgc3RyZWFtcywKCSAgdGhlIEFVLUluZGV4IHNlcnZlcyBsaXR0bGUgcHVycG9zZSAodGhhdCBpcyBub3QgYWxyZWFkeSBjb3ZlcmVkIGJ5CgkgIFJUUCBmaWVsZHMpLiAgKEJyb2tlbikgUGF5bG9hZGVycyBtaWdodCBjb25zaWRlciB0aGlzIGZpZWxkIHRoZW4KCSAgdG8gYmUgZGlzcmVnYXJkZWQgYW5kIGhhdmUgbm9uIHNwZWMgY29tcGxpYW50IHZhbHVlcywgZS5nLiBlYWNoCgkgIFJUUCBwYWNrZXQgaGF2aW5nIEFVLUluZGV4IDIgKHJhdGhlciB0aGFuIDApLiAgQXMgc3VjaCwgZW5zdXJlL2ZvcmNlCgkgIHNpbXBsZSBzZXF1ZW50aWFsIHNlbmRpbmcgb2Ygbm9uLWludGVybGVhdmVkIHN0cmVhbXMuCgoyMDA5LTA4LTE4IDE3OjE3OjI4ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogYWxzbyBleHRyYWN0IGZ0eXAgaW5mbyBpbiBwdXNoIG1vZGUKCjIwMDktMDgtMTMgMTY6MTE6NTkgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4Lmg6CgkgIHF0ZGVtdXg6IGNvbnNpZGVyIDNncHAgc3R5bGUgdGFnIHBhcnNpbmcgaW4gc29tZSBtb3JlIGNhc2VzCgkgIDNHUFAgc3BlY3MgZGVmaW5lIGEgbnVtYmVyIG9mIHRhZ3MgYWxvbmcgd2l0aCBwcmVjaXNlIGxheW91dC4gV2hpbGUgdGhlc2UKCSAgYXJlIG5vcm1hbGx5IGV4cGVjdGVkIHRvIGJlIGZvdW5kIGluIGEgY29udGFpbmVyIHdob3NlIG1ham9yIGJyYW5kIGlzIGEKCSAgM0dQUCBicmFuZCwgdGhpcyBtYXkgYWxzbyBoYXBwZW4gd2hlbiBhIDNHUFAgYnJhbmQgaXMgb25seSBtZW50aW9uZWQgYXMgYQoJICBjb21wYXRpYmxlIGJyYW5kLiAgQXBwbHkgc29tZSBjaGVja3MsIGhldXJpc3RpYyBhbmQgZmFsbGJhY2tzIHRvIGV4dHJhY3QKCSAgc3VjaCB0YWdzIGFzIHdlbGwuCgoyMDA5LTA4LTExIDEzOjU2OjQzICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOgoJICB3YXZwYXJzZTogcmVmbG93IGV4aXQsIGFuZCBmaXggc29tZSBsZWFrcwoKMjAwOS0wOC0xMSAxMzo1NDo1NiArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzoKCSAgd2F2cGFyc2U6IHB1c2ggbW9kZTsgYWRkIHBhZCBpZiBuZWVkZWQgc28gZG93bnN0cmVhbSBnZXRzIEVPUwoKMjAwOS0wOC0xMCAxNjoxOTowMyArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzoKCSogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmg6CgkgIHdhdnBhcnNlOiBwdXNoIG1vZGU7IGZpeC9pbXByb3ZlIGNodW5rIGhhbmRsaW5nCgkgIEhhbmRsZSBsYXJnZSwgaW52YWxpZCBvciBvdGhlcndpc2UgdW51c3VhbCBjaHVuayBzaXplcy4KCSAgVmVyaWZ5IHNvbWUgY2h1bmsgc2l6ZXMgdG8gYmUgYXQgbGVhc3QgdGhlIHNpemUgdGhleSBhcmUKCSAgZXhwZWN0ZWQgdG8gYmUgYW5kIHJvdW5kIHVwIHNvbWUgc2l6ZXMgdG8gZXZlbiBudW1iZXIgZm9yCgkgIGUuZy4gb2Zmc2V0IGFkbWluaXN0cmF0aW9uLCB3aGljaCBtdXN0IGFsc28gYmUgcHJvcGVybHkKCSAgdHJhY2tlZCBpbiBwdXNoIG1vZGUuCgoyMDA5LTA4LTA4IDIxOjU0OjAwICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5oOgoJICBhdmlkZW11eDogcHVzaCBtb2RlOyBjYXRlciBmb3IgdW51c3VhbCBjaHVuayBzaXplcwoKMjAwOS0wOC0zMSAxNjozNDoxNCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzoKCSAgcnRwc2Vzc2lvbjogdXNlIHByb3BlciBsb2NraW5nIGZvciBwYWRzIGFuZCBjYXBzCgkgIFVzZSB0aGUgc2VzaW9uIGxvY2sgYW5kIHNob3Rkb3duIHZhcmlhYmxlIHRvIHByb3RlY3QgYW5kIHJlZiB0aGUgcGFkcyB3ZSBhcmUKCSAgZ29pbmcgdG8gcHVzaCBvbi4KCSAgZml4ZXMgIzU2MTgyNQoKMjAwOS0wOC0zMSAxNjozMzoyNiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOgoJICBydHBiaW46IHdoaXRlc3BhY2UgZml4ZXMKCjIwMDktMDgtMzEgMTM6Mzg6MDggKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6CgkgIHdhdnBhcnNlOiBjbGVhbiB1cCBhZGFwdGVyIHByb3Blcmx5CgkgIFJlZmxvdyBjb2RlIHNvIHdlIGRvbid0IHRyeSB0byBjbGVhciBvciByZS11c2UgYW4gYWxyZWFkeS1mcmVlZCBhZGFwdGVyLgoKMjAwOS0wOC0zMSAxMzowNzo1MyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmxhYy9nc3RmbGFjdGFnLmM6CgkqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOgoJICBmbGFjdGFnLCB3YXZwYXJzZTogR3N0QWRhcHRlciBpcyBub3QgYSBHc3RPYmplY3QKCjIwMDktMDgtMzEgMTI6Mjg6NTIgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLTEzOTQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWFzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGFjb2xvci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbm5vZGV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFwZXRhZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb2Z4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2RldGVjdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdmkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FjYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2Fpcm8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY3V0dGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlaW50ZXJsYWNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZW5jZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmZlY3R2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVxdWFsaXplci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lc2RzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZseGRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nYW1tYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nY29uZmVsZW1lbnRzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdka3BpeGJ1Zi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20yazEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3N0cnRwbWFuYWdlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1oYWxlbGVtZW50cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pY3lkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pZDNkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlcmxlYXZlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwZWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGV2ZWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWF0cm9za2EueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW9ub3Njb3BlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpZmlsZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aXBhcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmF2aWdhdGlvbnRlc3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5nLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXB1bHNlYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcXVpY2t0aW1lLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlcGxheWdhaW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0c3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hvdXQyc2VuZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbXB0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWN0cnVtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXRhZ2xpYi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi11ZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW80bGludXgyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvYmFsYW5jZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2JveC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2Nyb3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9mbGlwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvbWl4ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2ZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teGltYWdlc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXk0bWVuYy54bWw6CgkgIGRvY3M6IHVwZGF0ZSBwbHVnaW4gZG9jcyB0byBnaXQgdmVyc2lvbgoKMjAwOS0wOC0zMSAxMTozMjozOSArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOgoJICBmbHZkZW11eDogRml4IHRlc3RzIHdhcm5pbmcgZnJvbSBzZXR0aW5nIGEgTlVMTCBpbmRleAoJICBTZXR0aW5nIGEgbnVsbCBpbmRleCBpbiB0aGUgdGVzdHMgd2FzIGNhdXNpbmcgd2FybmluZ3MgYnkgdW5yZWZmaW5nCgkgIE5VTEwgcG9pbnRlcnMuIFRoaXMgaXMgYSBidWcgZXhwb3NlZCBieSBhIHJlY2VudCBjaGFuZ2UgaW4gY29yZSwgaXQKCSAgc2VlbXMuCgoyMDA5LTA4LTMxIDEzOjAyOjE2ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwaml0dGVyYnVmZmVyLmM6CgkgIGppdHRlcmJ1ZmZlcjogYWRkIHNsb3BlIGVzdGltYXRpb24gY29kZSBhbmQgZGVidWcKCSAgQWRkIHNvbWUgY29kZSB0byBtZWFzdXJlIHRoZSBzZW5kZXIgc3BlZWQgdnMgdGhlIHJlY2VpdmVyIHNwZWVkLiBUaGlzIGNhbiBiZQoJICB1c2VkIHRvIGRldGVjdCBidXJzdHMuCgoyMDA5LTA4LTMxIDEyOjU3OjMyICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwaml0dGVyYnVmZmVyLmM6CgkgIGppdHRlcmJ1ZmZlcjogcmVzZXQgc2tldyB3aGVuIHRpbWVzdGFtcHMgY2hhbmdlCgkgIFJlZmFjdG9yIHRoZSBqaXR0ZXJidWZmZXIgcmVzeW5jIGNvZGUuCgkgIFJlc2V0IHRoZSBza2V3IGNvcnJlY3Rpb24gd2hlbiB3ZSBkZXRlY3QgYSBiaWcgdGltZXN0YW1wIGRpc2NvbnQuCgkgIFNlZSAjNTkzMzU0CgoyMDA5LTA4LTMxIDEyOjQ3OjE1ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwaml0dGVyYnVmZmVyLmM6CgkgIGppdHRlcmJ1ZmZlcjogbWFrZSBzdXJlIHRpbWUgbmV2ZXIgZ29lcyBpbnZhbGlkCgkgIFNpbmNlIHRoZSBza2V3IGNhbiBiZSBuZWdhdGl2ZSwgd2UgbWlnaHQgZW5kIHVwIHdpdGggaW52YWxpZCB0aW1lc3RhbXBzLiBDaGVjawoJICBmb3IgbmVnYXRpdmUgcmVzdWx0cyBhbmQgY2xhbXAgdG8gMC4KCSAgU2VlICM1OTMzNTQKCjIwMDktMDgtMzEgMTI6MTY6MDEgKzAyMDAgIEphcmtrbyBQYWx2aWFpbmVuIDxqYXJra28ucGFsdmlhaW5lbiBhdCBzZXNjYS5jb20+CgoJKiBnc3QvdWRwL2dzdG11bHRpdWRwc2luay5jOgoJKiBnc3QvdWRwL2dzdG11bHRpdWRwc2luay5oOgoJKiBnc3QvdWRwL2dzdHVkcG5ldHV0aWxzLmM6CgkgIHVkcHNpbms6IEFkZCB0dGwgbXVsdGljYXN0IHByb3BlcnR5CgkgIEFkZCBhIG5ldyB0dGwtbWMgcHJvcGVydHkgdG8gY29udHJvbCB0aGUgVFRMIG9uIG11bHRpY2FzdCBhZGRyZXNzZXMuCgkgIEZpeGVzICM1ODgyNDUKCjIwMDktMDgtMzEgMTI6MTM6MDcgKzAyMDAgIEphcmtrbyBQYWx2aWFpbmVuIDxqYXJra28ucGFsdmlhaW5lbiBhdCBzZXNjYS5jb20+CgoJKiBnc3QvdWRwL2dzdG11bHRpdWRwc2luay5jOgoJKiBnc3QvdWRwL2dzdHVkcG5ldHV0aWxzLmM6CgkqIGdzdC91ZHAvZ3N0dWRwbmV0dXRpbHMuaDoKCSAgdWRwOiBzcGxpdCBvdXQgVFRMIGFuZCBsb29wIG9wdGlvbnMKCSAgU3BsaXQgc2V0dGluZyB0aGUgVFRMIGFuZCBsb29wIHBhcmFtZXRlcnMgaW4gMiBtZXRob2RzIGFzIHRoZXkgYXJlIG5vdCByZWxhdGVkLgoJICBGaXggc2V0dGluZyB0aGUgVFRMIGNvcnJlY3RseSBmb3IgbXVsdGljYXN0IHN0cmVhbXMuCgkgIFNlZSAjNTg4MjQ1CgoyMDA5LTA4LTI3IDEyOjM2OjM3ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBhbXJkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGFtcnBheS5jOgoJICBydHA6IHdoaXRlc3BhY2UgZml4ZXMKCjIwMDktMDgtMTQgMTM6NDU6MjIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmFyZ3M6CgkgIHZpZGVvYm94OiBDb3JyZWN0bHkgYWRkIHRvIHRoZSBkb2NzCgoyMDA5LTA4LTE0IDEzOjQwOjIxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb2JveC9NYWtlZmlsZS5hbToKCSogZ3N0L3ZpZGVvYm94L2dzdHZpZGVvYm94LmM6CgkqIGdzdC92aWRlb2JveC9nc3R2aWRlb2JveC5oOgoJICB2aWRlb2JveDogU3BsaXQgZGVjbGFyYXRpb25zIGludG8gYSBoZWFkZXIgZmlsZSBhbmQgYWRkIGF1dG9jcm9wIHN0dWZmIHRvIHRoZSBkb2NzCgoyMDA5LTA4LTE0IDEzOjI2OjM2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb2JveC9nc3R2aWRlb2JveC5jOgoJICB2aWRlb2JveDogUmVjb25maWd1cmUgYmFzZXRyYW5zZm9ybSBpZiBzb21ldGhpbmcgY2hhbmdlcyBhZ2FpbgoJICBGb3IgdGhpcyBpbnZlbnQgYSBuZXcgbG9jayBhbmQgZG9uJ3QgYWJ1c2UgdGhlIGJhc2V0cmFuc2Zvcm0gbG9jaywKCSAgb3RoZXJ3aXNlIHdlJ2xsIGVuZCB1cCBpbiBkZWFkbG9ja3MuCgoyMDA5LTA4LTE0IDEzOjE1OjU3ICswMjAwICBTdGVwaGVuIEp1bmdlbHMgPHN0ZXBoZW5AanVuZ2Vscy5uZXQ+CgoJKiBnc3QvdmlkZW9ib3gvZ3N0dmlkZW9ib3guYzoKCSAgdmlkZW9ib3g6IEFkZCBzdXBwb3J0IGZvciBhdXRvY3JvcHBpbmcgYWNjb3JkaW5nIHRvIHRoZSBjYXBzCgkgIEZpeGVzIGJ1ZyAjNTgyMjM4LgoKMjAwOS0wOC0zMCAyMTo1Nzo1NyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6CgkgIHJ0cHNlc3Npb246IE1ha2Ugc3VyZSB0aGF0IHVzZWQgY2FwcyBhcmUgbm90IGZyZWVkIGFscmVhZHkKCSAgRml4ZXMgYnVnICM1OTMzOTEuCgoyMDA5LTA4LTI2IDE3OjAyOjQ1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc3NyY2RlbXV4LmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHN0YXRzLmM6CgkgIHJ0cDogVXNlIG5ldyBnc3RfaXRlcmF0b3JfbmV3X3NpbmdsZSgpIGZvciB0aGUgaW50ZXJuYWwgbGlua2VkIHBhZHMgaXRlcmF0aW9uCgoyMDA5LTA4LTE5IDE2OjU3OjA1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzoKCSAgcnRwc2Vzc2lvbjogVXNlIGl0ZXJhdGUgaW50ZXJuYWwgbGlua3MgaW5zdGVhZCBvZiBkZXByZWNhdGVkIGdldCBpbnRlcm5hbCBsaW5rcwoKMjAwOS0wOC0xOSAxNjo0ODoyNSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgaml0dGVyYnVmZmVyOiBVc2UgaXRlcmF0ZSBpbnRlcm5hbCBsaW5rcyBpbnN0ZWFkIG9mIGRlcHJlY2F0ZWQgZ2V0IGludGVybmFsIGxpbmtzCgoyMDA5LTA4LTE5IDE2OjM3OjExICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNzcmNkZW11eC5jOgoJICBydHBzc3JjZGVtdXg6IFVzZSBpdGVyYXRlIGludGVybmFsIGxpbmtzIGluc3RlYWQgb2YgZGVwcmVjYXRlZCBnZXQgaW50ZXJuYWwgbGlua3MKCjIwMDktMDgtMzAgMjM6Mjc6MDkgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29tbW9uOgoJICBVcGRhdGUgY29tbW9uCgoyMDA5LTA4LTMwIDIzOjI2OjQ4ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgQmFjayB0byBoYWNraW5nIC0+IDAuMTAuMTYuMQoKPT09IHJlbGVhc2UgMC4xMC4xNiA9PT0KCjIwMDktMDgtMjkgMTI6MDU6NDAgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogQ2hhbmdlTG9nOgoJKiBORVdTOgoJKiBSRUxFQVNFOgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi0xMzk0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhY29sb3IueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYW5ub2RleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hcGV0YWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9meC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9kZXRlY3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXZpLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhY2FzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhaXJvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWN1dHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWludGVybGFjZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmVuY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZmZWN0di54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lcXVhbGl6ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXNkc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbGFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHhkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2FtbWEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2NvbmZlbGVtZW50cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZGtwaXhidWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tMmsxLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzdHJ0cG1hbmFnZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taGFsZWxlbWVudHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWN5ZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXJsZWF2ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxldmVsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1hdHJvc2thLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpZmlsZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aXBhcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmF2aWdhdGlvbnRlc3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5nLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXB1bHNlYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcXVpY2t0aW1lLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlcGxheWdhaW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0c3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hvdXQyc2VuZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbXB0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWN0cnVtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXRhZ2xpYi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi11ZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW80bGludXgyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvYmFsYW5jZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2JveC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2Nyb3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9mbGlwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvbWl4ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2ZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teGltYWdlc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXk0bWVuYy54bWw6CgkqIGdzdC1wbHVnaW5zLWdvb2QuZG9hcDoKCSogcG8vYWYucG86CgkqIHBvL2F6LnBvOgoJKiBwby9iZy5wbzoKCSogcG8vY2EucG86CgkqIHBvL2NzLnBvOgoJKiBwby9kYS5wbzoKCSogcG8vZGUucG86CgkqIHBvL2VuX0dCLnBvOgoJKiBwby9lcy5wbzoKCSogcG8vZXUucG86CgkqIHBvL2ZpLnBvOgoJKiBwby9mci5wbzoKCSogcG8vaHUucG86CgkqIHBvL2lkLnBvOgoJKiBwby9pdC5wbzoKCSogcG8vamEucG86CgkqIHBvL2x0LnBvOgoJKiBwby9sdi5wbzoKCSogcG8vbXQucG86CgkqIHBvL25iLnBvOgoJKiBwby9ubC5wbzoKCSogcG8vb3IucG86CgkqIHBvL3BsLnBvOgoJKiBwby9wdF9CUi5wbzoKCSogcG8vcnUucG86CgkqIHBvL3NrLnBvOgoJKiBwby9zcS5wbzoKCSogcG8vc3IucG86CgkqIHBvL3N2LnBvOgoJKiBwby90ci5wbzoKCSogcG8vdWsucG86CgkqIHBvL3ZpLnBvOgoJKiBwby96aF9DTi5wbzoKCSogcG8vemhfSEsucG86CgkqIHBvL3poX1RXLnBvOgoJICBSZWxlYXNlIDAuMTAuMTYKCjIwMDktMDgtMjYgMDA6NTg6NDUgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICAwLjEwLjE1LjUgcHJlLXJlbGVhc2UKCjIwMDktMDgtMjUgMTY6NTM6MjkgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkgIHB1bHNlc2luazogZG9uJ3QgdXNlIHJlbGF0aXZlIHNlZWtzCgkgIERvbid0IHVzZSByZWxhdGl2ZSBzZWVrcywgaXQncyB0b28gaGFyZCB0byB0cmFjayB3aGVyZSB3ZSBhcmUgYWZ0ZXIgYSBmbHVzaAoJICBldGMuCgkgIGZpeGVzICM1OTMwMTUKCjIwMDktMDgtMjQgMTc6NTA6MjkgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBwby9MSU5HVUFTOgoJKiBwby9hZi5wbzoKCSogcG8vYXoucG86CgkqIHBvL2JnLnBvOgoJKiBwby9jYS5wbzoKCSogcG8vY3MucG86CgkqIHBvL2RhLnBvOgoJKiBwby9kZS5wbzoKCSogcG8vZW5fR0IucG86CgkqIHBvL2VzLnBvOgoJKiBwby9ldS5wbzoKCSogcG8vZmkucG86CgkqIHBvL2ZyLnBvOgoJKiBwby9odS5wbzoKCSogcG8vaWQucG86CgkqIHBvL2l0LnBvOgoJKiBwby9qYS5wbzoKCSogcG8vbHQucG86CgkqIHBvL2x2LnBvOgoJKiBwby9tdC5wbzoKCSogcG8vbmIucG86CgkqIHBvL25sLnBvOgoJKiBwby9vci5wbzoKCSogcG8vcGwucG86CgkqIHBvL3B0X0JSLnBvOgoJKiBwby9ydS5wbzoKCSogcG8vc2sucG86CgkqIHBvL3NxLnBvOgoJKiBwby9zci5wbzoKCSogcG8vc3YucG86CgkqIHBvL3RyLnBvOgoJKiBwby91ay5wbzoKCSogcG8vdmkucG86CgkqIHBvL3poX0NOLnBvOgoJKiBwby96aF9ISy5wbzoKCSogcG8vemhfVFcucG86CgkgIDAuMTAuMTUuNCBwcmUtcmVsZWFzZQoKMjAwOS0wOC0yNCAxNjoyMjo0NyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9wdWxzZS9wdWxzZXNyYy5jOgoJICBwdWxzZXNyYzogZG9uJ3QgZGlzY2FyZCB0aGUgcmVzdWx0IG9mIF9zZXRfY2FwcygpCgkgIFVzZSB0aGUgcmVzdWx0IG9mIGdzdF9wYWRfc2V0X2NhcHMoKSBpbnN0ZWFkIG9mIGFzc3VtaW5nIHN1Y2Nlc3MuCgkgIFNlZSAjNTkwNjc4CgoyMDA5LTA4LTIxIDExOjQ0OjQzICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4X2ZvdXJjYy5oOgoJICBxdGRlbXV4OiBhZGQgc3VwcG9ydCBmb3IgYWdzbQoJICBGaXhlcyAjNTkyNTMwCgoyMDA5LTA4LTE4IDE3OjE2OjExICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogZml4IHF0IHN0eWxlIHN0cmluZyB0YWcgZXh0cmFjdGlvbgoJICBRVCBzdHlsZSB0YWdzIGFyZSB0ZXN0ZWQgb24gc3RhcnRpbmcgd2l0aCAoQykgc3ltYm9sIHVzaW5nID4+LAoJICBhbmQgKHVuc2lnbmVkKSBpbnQgKG1heSkgaGF2ZSBkaWZmZXJlbnQgPj4gYmVoYXZpb3VyLgoJICBGaXhlcyAjNTkyMjMyLgoKMjAwOS0wOC0xNyAxNTo0ODoyMCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvanBlZy9zbW9rZWNvZGVjLmM6CgkgIHNtb2tlZW5jOiBkb24ndCBjcmFzaCB3aGVuIGNvbXBpbGVkIGFnYWluc3QgbGlianBlZzcKCSAgU2V0IHBhcmFtZXRlcnMgc28gdGhhdCB3ZSBkb24ndCBjcmFzaCB3aXRoIGxpYmpwZWc3LiBCYXNlZCBvbgoJICBTdGVmYW4gS29zdCdzIGZpeCBmb3IganBlZ2VuYy4gRml4ZXMgIzU5MTk1MS4KCjIwMDktMDgtMTQgMjA6MTg6MDQgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBwby9hZi5wbzoKCSogcG8vYXoucG86CgkqIHBvL2JnLnBvOgoJKiBwby9jYS5wbzoKCSogcG8vY3MucG86CgkqIHBvL2RhLnBvOgoJKiBwby9kZS5wbzoKCSogcG8vZW5fR0IucG86CgkqIHBvL2VzLnBvOgoJKiBwby9ldS5wbzoKCSogcG8vZmkucG86CgkqIHBvL2ZyLnBvOgoJKiBwby9odS5wbzoKCSogcG8vaWQucG86CgkqIHBvL2l0LnBvOgoJKiBwby9qYS5wbzoKCSogcG8vbHQucG86CgkqIHBvL210LnBvOgoJKiBwby9uYi5wbzoKCSogcG8vbmwucG86CgkqIHBvL29yLnBvOgoJKiBwby9wbC5wbzoKCSogcG8vcHRfQlIucG86CgkqIHBvL3J1LnBvOgoJKiBwby9zay5wbzoKCSogcG8vc3EucG86CgkqIHBvL3NyLnBvOgoJKiBwby9zdi5wbzoKCSogcG8vdHIucG86CgkqIHBvL3VrLnBvOgoJKiBwby92aS5wbzoKCSogcG8vemhfQ04ucG86CgkqIHBvL3poX0hLLnBvOgoJKiBwby96aF9UVy5wbzoKCSAgMC4xMC4xNS4zIHByZS1yZWxlYXNlCgoyMDA5LTA4LTE0IDEzOjQ1OjA4ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cGJpbi5jOgoJICBjaGVja3M6IGFkZCB0ZXN0IGZvciBsZWFrIHRvIHJ0cGJpbiB1bml0IHRlc3QKCSAgU2VlICM1OTE0NzYuCgoyMDA5LTA4LTExIDE0OjQ3OjEyIC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzoKCSAgcnRwYmluOiBGaXggcmVmZXJlbmNlIGxlYWsKCSAgRml4ZXMgIzU5MTQ3Ni4KCjIwMDktMDgtMTQgMTM6MzQ6NTMgKzAxMDAgIFphaGVlciBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJKiBleHQvZHYvZ3N0ZHZkZWMuYzoKCSAgZHZkZWM6IHNldCBib3R0b20gZmllbGQgZmlyc3Qgb24gUEFMIGludGVybGFjZWQgY29udGVudCwgbm90IHRvcCBmaWVsZCBmaXJzdAoJICBEViBpbnRlcmxhY2VkIGNvbnRlbnQgaXMgYWx3YXlzIGJvdHRvbSBmaWVsZCBmaXJzdC4gRml4ZXMgIzU5MTcxMi4KCjIwMDktMDgtMTQgMTI6NDQ6MDYgKzAxMDAgIEhhbnMgZGUgR29lZGUgPGp3cmRlZ29lZGVAZmVkb3JhcHJvamVjdC5vcmc+CgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkgIHY0bDJzcmM6IGZpeCAnaGFuZycgd2l0aCBzb21lIGNhbWVyYXMgY2F1c2VkIGJ5IGJhZCB0aW1lc3RhbXBpbmcgaWYgbm8gZnJhbWVyYXRlIGlzIGF2YWlsYWJsZQoJICBGb3IgY2FtZXJhcy9kcml2ZXJzIHRoYXQgZG9uJ3Qgc3VwcG9ydCBlLmcuIFZJRElPQ19HX1BBUk0gd2UnZCBlbmQgdXAgd2l0aG91dAoJICBhIGZyYW1lcmF0ZSBhbmQgd291bGQgdHJ5IHRvIGRpdmlkZSBieSAwLCBjYXVzaW5nIHJ1bi10aW1lIHdhcm5pbmdzIGFuZCBhbGwKCSAgZnJhbWVzIHRvIGJlIHRpbWVzdGFtcGVkIHdpdGggMCwgd2hpY2ggbWFrZXMgc2lua3MgdGhhdCBzeW5jIGFnYWluc3QgdGhlIGNsb2NrCgkgIGRyb3AgdGhlbSwgY2F1c2luZyAnaGFuZ3MnIChvYnNlcnZlZCB3aXRoIHRoZSBwd2MgZHJpdmVyIGFuZCBhIExvZ2l0ZWNoIFF1aWNrQ2FtCgkgIFBybyA0MDAwKS4gU28gaWYgd2UgZG8gbm90IGtub3cgdGhlIGZyYW1lcmF0ZSwgc2ltcGx5IGRvbid0IGFkanVzdCB0aGUKCSAgdGltZXN0YW1wcy4gRml4ZXMgIzU5MTQ1MS4KCjIwMDktMDgtMTQgMTA6MTE6MjUgKzAyMDAgIEZpbGlwcG8gQXJnaW9sYXMgPGZpbGlwcG8uYXJnaW9sYXNAZ21haWwuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkgIHY0bDJzcmM6IGNsZWFyIGZvcm1hdCBsaXN0IGluIFJFQURZLT5OVUxMCgkgIENsZWFyIGZvcm1hdCBsaXN0IGFuZCBwcm9iZWQgY2FwcyB3aGVuIGdvaW5nIHRvIE5VTEwgc28gaWYgYSBuZXcgZGV2aWNlCgkgIGlzIHNldCB3ZSdsbCBwcm9iZSB0aGUgZm9ybWF0cyBhZ2FpbiBpbnN0ZWFkIG9mIHVzaW5nIHByZXZpb3VzbHkKCSAgZGV0ZWN0ZWQgb25lcy4gRml4ZXMgYnVnICM1OTE3NDcuCgoyMDA5LTA4LTExIDE2OjQyOjUxIC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHRtZi9nc3RkdG1mc3JjLmM6CgkgIGR0bWZzcmM6IEVtcHR5IGV2ZW50IHF1ZXVlIG9uIGZpbmFsaXplCgoyMDA5LTA4LTExIDE2OjM5OjQyIC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHRtZi9nc3RkdG1mc3JjLmM6CgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZzcmMuYzoKCSAgZHRtZjogVXNlIEdTbGljZSBmb3IgaW50ZXJuYWwgZXZlbnQgc3RydWN0dXJlcwoKMjAwOS0wOC0xMSAxNjoyMzoyMCAtMDQwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mc3JjLmM6CgkgIHJ0cGR0bWZzcmM6IENsZWFudXAgZXZlbnRzIG9uIGZpbmFsaXplCgkgIFByb2JsZW0gZm91bmQgYnkgTGF1cmVudCBHbGF5YWwKCSAgRml4ZXMgYnVnICM1OTE0NDAKCjIwMDktMDgtMTEgMTY6MjM6MjAgLTA0MDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZnNyYy5jOgoJICBydHBkdG1mc3JjOiBDbGVhbnVwIGV2ZW50cyBvbiBmaW5hbGl6ZQoJICBQcm9ibGVtIGZvdW5kIGJ5IExhdXJlbnQgR2xheWFsCgkgIEZpeGVzIGJ1ZyAjNTkxNDQwCgoyMDA5LTA4LTExIDE3OjMwOjQxICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogcG8vTElOR1VBUzoKCSogcG8vYWYucG86CgkqIHBvL2F6LnBvOgoJKiBwby9iZy5wbzoKCSogcG8vY2EucG86CgkqIHBvL2NzLnBvOgoJKiBwby9kYS5wbzoKCSogcG8vZGUucG86CgkqIHBvL2VuX0dCLnBvOgoJKiBwby9lcy5wbzoKCSogcG8vZXUucG86CgkqIHBvL2ZpLnBvOgoJKiBwby9mci5wbzoKCSogcG8vaHUucG86CgkqIHBvL2lkLnBvOgoJKiBwby9pdC5wbzoKCSogcG8vamEucG86CgkqIHBvL2x0LnBvOgoJKiBwby9tdC5wbzoKCSogcG8vbmIucG86CgkqIHBvL25sLnBvOgoJKiBwby9vci5wbzoKCSogcG8vcGwucG86CgkqIHBvL3B0X0JSLnBvOgoJKiBwby9ydS5wbzoKCSogcG8vc2sucG86CgkqIHBvL3NxLnBvOgoJKiBwby9zci5wbzoKCSogcG8vc3YucG86CgkqIHBvL3RyLnBvOgoJKiBwby91ay5wbzoKCSogcG8vdmkucG86CgkqIHBvL3poX0NOLnBvOgoJKiBwby96aF9ISy5wbzoKCSogcG8vemhfVFcucG86CgkgIDAuMTAuMTUuMiBwcmUtcmVsZWFzZQoKMjAwOS0wOC0xMSAxNToyNTozOSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBNQUlOVEFJTkVSUzoKCSAgQWRkIG15c2VsZiB0byBNQUlOVEFJTkVSUyBmaWxlIGFuZCB1cGRhdGUgV2ltJ3MgZS1tYWlsLgoKMjAwOS0wOC0xMSAwMzowODowMSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9NYWtlZmlsZS5hbToKCSAgdjRsMjogZml4IG1ha2UgZGlzdGNoZWNrIGJ5IGRpc3Rpbmcgc29tZSBtb3JlIGhlYWRlcnMKCjIwMDktMDgtMTEgMDI6NDI6MTYgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5pbnRlcmZhY2VzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLnByZXJlcXVpc2l0ZXM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuc2lnbmFsczoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF2aS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWlyby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tYXRyb3NrYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wdWxzZWF1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlbzRsaW51eDIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFyc2UueG1sOgoJICBkb2NzOiB1cGRhdGUKCjIwMDktMDgtMTEgMDI6MzE6NDQgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzdHJ0cG1hbmFnZXIueG1sOgoJKiBnc3QtcGx1Z2lucy1nb29kLnNwZWMuaW46CgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy8uZ2l0aWdub3JlOgoJKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvLmdpdGlnbm9yZToKCSAgTW92ZSBydHBtYW5hZ2VyIGZyb20gLWJhZCB0byAtZ29vZC4KCSAgSG9vayB1cCBidWlsZCBpbmZyYXN0cnVjdHVyZSAoYXV0b3Rvb2xzLCBkb2NzLCB1bml0IHRlc3QpLgoKMjAwOS0wOC0wNiAxOToyNjoyMSArMDIwMCAgcmljIDxjc3huanUgYXQgc29nb3UuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmM6CgkgIHJ0cHNvdXJjZTogYXZvaWQgYnVmZmVyIGxlYWsgb24gYmFkIHNlcW51bQoJICBGaXhlcyAjNTkwNzk3CgoyMDA5LTA3LTI4IDE4OjE4OjIwICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmM6CgkgIHJ0cHNvdXJjZTogYWxsb3cgZm9yIE5VTEwgY2FwcyBvbiBidWZmZXJzCgkgIEFkZCB0aGUgTlVMTCBjYXBzIGNoZWNrIHdoZXJlIGl0IG1hdHRlcnMgYW5kIGFsc28gY292ZXIgYW5vdGhlciBjYXNlIG9mCgkgIHBvdGVudGlhbCBOVUxMIGNhcHMuCgkgIEZpeGVzICM1OTAwMzAKCjIwMDktMDctMjggMTE6NTk6NTYgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5jOgoJICBydHBzb3VyY2U6IEluY29taW5nIGJ1ZmZlcnMgZG8gbm90IGFsd2F5cyBoYXZlIGNhcHMKCjIwMDktMDctMjcgMTU6NDY6MjMgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkgIHJ0cHNlc3Npb246IGF2b2lkIGRvaW5nIGxpcC1zeW5jIGluIEJZRQoJICBXaGVuIHdlIGdldCBhIEJZRSBwYWNrZXQsIGRvbid0IGRvIGxpcC1zeW5jIHdpdGggdGhlIFNSIGluc2lkZSBiZWNhdXNlIHNvbWUKCSAgc2VuZGVycyBoYXZlIHRyb3VibGUgY29uc3RydWN0aW5nIHZhbGlkIFNSIHBhY2tldHMgYWZ0ZXIgQllFLgoKMjAwOS0wNy0yNyAxMzoxNzoyMCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSAgcnRwYmluOiBkb24ndCBkbyBsaXAtc3luYyBhZnRlciBhIEJZRQoJICBBZnRlciBhIEJZRSBwYWNrZXQgZnJvbSBhIHNvdXJjZSwgc3RvcCBmb3J3YXJkaW5nIHRoZSBTUiBwYWNrZXRzIGZvciBsaXAtc3luYwoJICB0byBydHBiaW4uIFNvbWUgc2VuZGVycyBkb24ndCB1cGRhdGUgdGhlaXIgU1IgcGFja2V0cyBjb3JyZWN0bHkgYWZ0ZXIgc2VuZGluZyBhCgkgIEJZRSBhbmQgdGhlbiB3ZSBicmVhayBsaXAtc3luYy4gV2UgcHJlZmVyIHRvIGxldCB0aGUgaml0dGVyYnVmZmVycyBkcmFpbiB3aXRoCgkgIHRoZSBjdXJyZW50IGxpcC1zeW5jIGluc3RlYWQuCgoyMDA5LTA3LTI3IDEyOjQzOjAyICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJICBydHBiaW46IG9ubHkgcmVjb25zaWRlciBvbmNlIGZvciBCWUUKCSAgV2hlbiBpdGVyYXRpbmcgdGhlIHNvdXJjZXMgb2YgYSBCWUUgcGFja2V0LCBkb24ndCBzaWduYWwgYSByZWNvbnNpZGVyYXRpb24gZm9yCgkgIGVhY2ggb2YgdGhlbSBidXQgc2lnbmFsIGFmdGVyIHdlIGhhbmRsZWQgYWxsIHNvdXJjZXMuCgoyMDA5LTA3LTIxIDE1OjMzOjQxIC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkgIHJ0cHNlc3Npb246IEZyZWUgY29uZmxpY3RpbmcgYWRkcmVzc2VzIG9uIGZpbmFsaXplCgoyMDA5LTA3LTAxIDEyOjU1OjAzICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmM6CgkgIHJ0cGJpbjogdXNlIG5ldyBtZXRob2QgZm9yIG5ldGFkZHJlc3MgdG8gc3RyaW5nCgoyMDA5LTA2LTI5IDE4OjQ4OjMzICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cGJpbi5jOgoJICBydHBiaW46IGRvIGJldHRlciBjbGVhbnVwIG9mIHRoZSBzcmMgZ2hvc3RwYWRzCgkgIENvbm5lY3QgdG8gdGhlIHBhZC1yZW1vdmVkIHNpZ25hbCBvZiB0aGUgcHRkZW11eCBlbGVtZW50cyBzbyB0aGF0IHdlIHJlbW92ZSB0aGUKCSAgZ2hvc3RwYWRzIGZvciB0aGVtLiBGaXhlcyBjbGVhbnVwIHdoZW4gZ29pbmcgdG8gTlVMTCBhcyB3ZWxsIGFzIHdoZW4gcmVsZWFzaW5nCgkgIHRoZSBzaW5rcGFkcy4KCSAgRml4ZXMgIzU2MTc1MgoKMjAwOS0wNS0yOCAxOTowODo0MCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSAgcnRwc2Vzc2lvbjogYWRkIGEgY29tbWVudAoKMjAwOS0wNi0yOSAxNjozNzo1NCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uaDoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOgoJICBydHBiaW46IGFkZCBTREVTIHByb3BlcnR5CgkgIFJlbW92ZSBhbGwgaW5kaXZpZHVhbCBTREVTIHByb3BlcnRpZXMgYW5kIHVzZSBvbmUgc2RlcyBwcm9wZXJ0eSB0aGF0IHRha2VzIGEKCSAgR3N0U3RydWN0dXJlIGluc3RlYWQuIFRoaXMgd2lsbCBhbGxvdyB1cyB0byBhZGQgbW9yZSBjdXN0b20gc3R1ZmYgdG8gdGhlIFNERVMKCSAgbWVzc2FnZXMgbGF0ZXIuCgoyMDA5LTA2LTI5IDE2OjIxOjA1ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmg6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuaDoKCSAgcnRwYmluOiBhZGQgU0RFUyBwcm9wZXJ0eSB0aGF0IHRha2VzIEdzdFN0cnVjdHVyZQoJICBSZW1vdmUgYWxsIGluZGl2aWR1YWwgU0RFUyBwcm9wZXJ0aWVzIGFuZCB1c2Ugb25lIHNkZXMgcHJvcGVydHkgdGhhdCB0YWtlcyBhCgkgIEdzdFN0cnVjdHVyZSBpbnN0ZWFkLiBUaGlzIHdpbGwgYWxsb3cgdXMgdG8gYWRkIG1vcmUgY3VzdG9tIHN0dWZmIHRvIHRoZSBTREVTCgkgIG1lc3NhZ2VzIGxhdGVyLgoKMjAwOS0wNi0wMiAxNzo0NjowOCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL01ha2VmaWxlLmFtOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBjbGllbnQuYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwY2xpZW50Lmg6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cG1hbmFnZXIuYzoKCSAgcnRwYmluOiByZW1vdmVkIG9sZCBnc3RydHBjbGllbnQKCjIwMDktMDYtMTkgMTk6MDk6MTkgKzAyMDAgIEJyYW5rbyBTdWJhc2ljIDxicmFua28uc3ViYXNpYyBhdCBheGlzLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmg6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuaDoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwYmluX2J1ZmZlcl9saXN0LmM6CgkgIHJ0cGJpbjogYWRkIHN1cHBvcnQgZm9yIGJ1ZmZlci1saXN0CgkgIEFkZCBzdXBwb3J0IGZvciBzZW5kaW5nIGJ1ZmZlci1saXN0cy4KCSAgQWRkIHVuaXQgdGVzdCBmb3IgdGVzdGluZyB0aGF0IHRoZSBidWZmZXItbGlzdCBwYXNzZWQgdGhyb3VnaCBydHBiaW4uCgkgIGZpeGVzICM1ODU4MzkKCjIwMDktMDYtMTkgMTY6MjE6MjggKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIE1ha2UgYnVpbGQgd2l0aG91dCB3YXJuaW5ncyB3aXRoIGRlYnVnZ2luZyBkaXNhYmxlZAoKMjAwOS0wNS0yOCAxNzozNzo0NCAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6CgkgIHJ0cGJpbjogVHJhbnNmb3JtIHRoZSByaWdodCBzZXNzaW9uIHNkZXMgbWVzc2FnZQoJICBGaXhlcyAjNTg0MTY1CgoyMDA5LTA1LTI4IDE3OjMzOjEwIC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuYzoKCSAgQWRkIHNzcmMgdG8gYXBwbGljYXRpb24veC1ydHAtc291cmNlLXNkZXMgc3RydWN0dXJlCgoyMDA5LTA1LTI3IDExOjAzOjE0ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmM6CgkgIHJ0cHNvdWNlOiB0aGUgbmV0d29yayBhZGRyZXNzIGlzIGluIG5ldHdvcmsgb3JkZXIKCSAgQnJpbmcgdGhlIG5ldHdvcmsgYWRkcmVzcyBpbiBuZXRvd2tyIGJ5dGUgb3JkZXIgdG8gdGhlIGhvc3Qgb3JkZXIuCgoyMDA5LTA1LTI2IDE1OjQwOjUyICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmM6CgkgIHJ0cHNvdXJjZTogYnl0ZXN3YXAgdGhlIHBvcnQgZnJvbSBHc3ROZXRBZGRyZXNzCgkgIFNpbmNlIHRoZSBwb3J0IGluIEdzdE5ldEFkZHJlc3MgaXMgaW4gbmV0d29yayBvcmRlciB3ZSBtaWdodCBuZWVkIHRvIGJ5dGVzd2FwIGl0CgkgIGJlZm9yZSBhZGRpbmcgaXQgdG8gdGhlIHNvdXJjZSBzdGF0aXN0aWNzLgoKMjAwOS0wNS0yNSAxMzo0NjoyOSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOgoJICBydHBiaW46IHJlbW92ZSBwdGRlbXV4IGdob3N0cGFkcwoKMjAwOS0wNS0yNSAxMzozMzoyMCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cGJpbi5jOgoJICB0ZXN0czogYWRkIHJlY2VpdmUgcnRwYmluIHVuaXQgdGVzdAoKMjAwOS0wNS0yMiAxNjo0MToxOSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOgoJICBydHBiaW46IGFkZCB0byBuZXcgc2lnbmFsIHRvIHJlbW92ZSBTU1JDIHBhZHMKCjIwMDktMDUtMjIgMTY6MzU6MjAgKzAyMDAgIEFsaSBTYWJpbCA8YWxpLnNhYmlsIGF0IGdtYWlsLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi1tYXJzaGFsLmxpc3Q6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNzcmNkZW11eC5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzc3JjZGVtdXguaDoKCSAgc3NyY2RlbXV4OiBlbWl0IHNpZ25hbCB3aGVuIHBhZHMgYXJlIHJlbW92ZWQKCSAgQWRkIGFjdGlvbiBzaWduYWwgdG8gY2xlYXIgYW4gU1NSQyBpbiB0aGUgc3NyYyBkZW11eGVyLgoJICBBZGQgc2lnbmFsIHRvIG5vdGlmeSBvZiByZW1vdmVkIHNzcmMuCgkgIFNlZSAjNTU0ODM5CgoyMDA5LTA1LTIyIDE1OjQ1OjE5ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6CgkgIHJ0cGJpbjogdXNlIG91ciBnaG9zdHBhZHMgaW5zdGVhZCBvZiBpdHMgdGFyZ2V0CgkgIFNpbmNlIHdlIGtlZXAgYSByZWZlcmVuY2UgdG8gb3VyIGdob3N0cGFkcywgd2UgY2FuIHVzZSB0aGVtIHRvIHRyYWNrIHNlc3Npb25zLgoJICBUaGlzIGF2b2lkIHVzIGhhdmluZyB0byBtZXNzIHdpdGggdGhlIHRhcmdldCBvZiB0aGUgZ2hvc3RwYWQuCgoyMDA5LTA1LTIyIDE1OjM3OjI5ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwYmluLmM6CgkgIHRlc3RzOiBtb3JlIHJ0cGJpbiBjaGVja3MKCjIwMDktMDUtMjIgMTU6MzY6MTcgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzoKCSAgcnRwYmluOiBkb24ndCB3YXJuIHdoZW4gZ2V0dGluZyByZXF1ZXN0IHBhZHMgdHdpY2UKCSAgQWxsb3cgZ2V0dGluZyB0aGUgcmVxdWVzdCBwYWRzIG11bHRpcGxlIHRpbWVzLCBqdXN0IHJldHVybiB0aGUgcHJldmlvdXNseQoJICBjcmVhdGVkIHBhZHMuCgoyMDA5LTA1LTIyIDEzOjQ3OjMwICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmM6CgkgIHJ0cHNvdXJjZTogYWRkIFJUUCBhbmQgUlRDUCBzb3VyY2UgYWRkcmVzcwoJICBBZGQgdGhlIFJUUCBhbmQgUlRDUCBzZW5kZXIgYWRkcmVzc2VzIGluIHRoZSBzdGF0cyBzdHJ1Y3R1cmUuCgoyMDA5LTA1LTIyIDEzOjQ1OjE1ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOgoJICBydHBzZXNzaW9uOiByZXVzZSBzb3VyY2UgY29kZSBmb3IgU0RFUwoJICBSZXVzZSB0aGUgUlRQU291cmNlIG9iamVjdCBwcm9wZXJ0eSBpbnN0ZWFkIG9mIGR1cGxpY2F0aW5nIGNvZGUuCgoyMDA5LTA1LTIyIDEzOjQ0OjE3ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwYmluLmM6CgkgIHRlc3RzOiBhZGQgbW9yZSBydHBiaW4gdGVzdHMKCjIwMDktMDUtMjIgMTI6MjM6MjcgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHBiaW4uYzoKCSAgdGVzdHM6IGFkZCBydHBiaW4gdW5pdCB0ZXN0CgkgIEFkZCB0aGUgYmVnaW5uaW5ncyBvZiBhbiBydHBiaW4gdW5pdCB0ZXN0CgkgIEFkZCBzb21lIG1vcmUgc3R1ZmYgdG8gLmdpdGlnbm9yZQoKMjAwOS0wNS0yMiAxMjoyMDoxMyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOgoJICBydHBiaW46IHNldCB0YXJnZXQgc3RhdGUgb24gbmV3IGVsZW1lbnRzCgkgIFNldCB0aGUgc3RhdGUgb24gbmV3bHkgYWRkZWQgZWxlbWVudHMgdG8gdGhlIHN0YXRlIG9mIHRoZSBwYXJlbnQuCgkgIEFkZCBzb21lIGRlYnVnIGluZm8gYW5kIGRvIHNvbWUgY2xlYW51cHMKCjIwMDktMDUtMjIgMTE6NTk6MTcgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzoKCSAgcnRwYmluOiB1bnJlZiByZXF1ZXN0cyBwYWRzIGFmdGVyIHJlbGVhc2luZwoKMjAwOS0wNS0yMiAwMTo0Mzo1MCArMDIwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6CgkgIHJ0cGJpbjogSW1wbGVtZW50IHJlbGVhc2luZyB0aGUgc3RyZWFtcwoJICBTZWUgIzU2MTc1MgoKMjAwOS0wNS0yMiAwMToxNjoxMSArMDIwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6CgkgIHJ0cGJpbjogS2VlcCBqYiBzaWduYWxzIGhhbmRsZXIKCSAgS2VlcCB0aGUgc2lnbmFsIGhhbmRsZXJzIHNvIHRoZXkgY2FuIGJlIGRpc2Nvbm5lY3RlZCBhdCByZWxlYXNlIHRpbWUKCSAgU2VlICM1NjE3NTIKCjIwMDktMDUtMjIgMDE6MTI6NTcgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzoKCSAgcnRwYmluOiB1c2UgdGhlIHJpZ2h0IGxvY2sgZm9yIHRoZSBzZXNzaW9ucwoJICBVc2UgdGhlIHJpZ2h0IGxvY2sgd2hlbiBpdGVyYXRpbmcgdGhlIHNlc3Npb25zLgoKMjAwOS0wNS0yMiAwMTowMzo1NSArMDIwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6CgkgIHJ0cGJpbjogRnJlZSBzZXNzaW9uIGlmIHJlcXVlc3QgcGFkcyBhcmUgcmVsZWFzZWQKCSAgRnJlZSB0aGUgc2Vzc2lvbiB3aGVuIGFsbCB0aGUgcmVxdWVzdCBwYWRzIGFyZSByZWxlYXNlZC4KCSAgRG9uJ3QgbWVzcyB3aXRoIHRoZSBzZXNzaW9uIGxpc3QgaW4gZnJlZV9zZXNzaW9uIGFzIGl0IGlzIGNhbGxlZCBmcm9tIGEgZm9yZWFjaAoJICBvbiB0aGF0IGxpc3QuCgkgIFNldCB0aGUgc3RhdGUgb2YgdGhlIHVwc3RyZWFtIGVsZW1lbnQgdG8gTlVMTCBmaXJzdC4KCSAgU2VlICM1NjE3NTIKCjIwMDktMDUtMjIgMDA6NTE6NTMgKzAyMDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOgoJICBydHBiaW46IEltcGxlbWVudCByZWxhc2luZyBvZiB0aGUgcnRwIHJlY3YgcGFkCgoyMDA5LTA1LTIyIDAwOjQ0OjUxICswMjAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzoKCSAgcnRwYmluOiBJbXBsZW1lbnQgcmVsZWFzaW5nIG9mIHJ0cCBzZW5kIHBhZHMKCjIwMDktMDUtMjIgMDA6MzQ6MzYgKzAyMDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOgoJICBydHBiaW46IEltcGxlbWVudCByZWxlYXNlIG9mIHRoZSByZWN2IHJ0Y3AgcGFkCgkgIFNlZSAjNTYxNzUyCgoyMDA5LTA1LTIyIDAwOjE2OjE5ICswMjAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzoKCSAgcnRwYmluOiBJbXBsZW1lbnQgcmVsZWFzaW5nIG9mIHJ0Y3Agc3JjIHBhZAoJICBTZWUgIzU2MTc1MgoKMjAwOS0wNS0wNSAxNjo0ODozNyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNzcmNkZW11eC5jOgoJICBydHBzc3JjZGVtdXg6IGRyb3AgdW5leHBlY3RlZCBSVENQIHBhY2tldHMKCSAgV2UgdXN1YWxseSBvbmx5IGdldCBTUiBwYWNrZXRzIGluIG91ciBjaGFpbiBmdW5jdGlvbiBidXQgaWYgYW4gaW52YWxpZCBwYWNrZXQKCSAgY29udGFpbnMgdGhlIFNSIHBhY2tldCBhZnRlciB0aGUgUlIgcGFja2V0LCB3ZSBtdXN0IG5vdCBmYWlsIGJ1dCBzaW1wbHkgaWdub3JlCgkgIHRoZSBtYWxmb3JtZWQgcGFja2V0LgoJICBGaXhlcyAjNTgxMzc1CgoyMDA5LTA0LTI3IDExOjA5OjA4ICswMjAwICBPbGl2aWVyIENyZXRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5jOgoJICBydHBzb3VjZTogbWFrZSBXQVJOSU5HIGludG8gTE9HCgkgIFNpbmNlIG5laXRoZXIgcnRwbWFuYWdlciBub3IgYW55IG9mIHRoZSBwYXlsb2FkZXJzIHByb3Blcmx5IGltcGxlbWVudAoJICBwYWQgYWxsb2NhdGlvbiwgdGhlcmUgaXMgbm8gd2F5IGZvciB0aGUgcnRwbWFuYWdlciB0byBpbmZvcm0gZG93bnN0cmVhbSBlbGVtZW50cwoJICBvZiB0aGUgbmV3IFNTUkMgaWYgdGhlcmUgaXMgYW4gU1NSQyBjb2xsaXNpb24uIFNvIHRoZSB3YXJuaW5nIGlzIGVtaXR0ZWQgYWxsIHRoZQoJICB0aW1lIGFuZCBpdCBpcyBjb25mdXNpbmcuCgkgIEZpeGVzICM1ODAxNDQKCjIwMDktMDQtMjcgMTE6MDY6MDEgKzAyMDAgIE9saXZpZXIgQ3JldGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJICBydHBzZXNzaW9uOiBub3RpZnkgd2hlbiBTU1JDIGNoYW5nZXMKCSAgRW1pdCBhIGdfb2JqZWN0X25vdGlmeSB3aGVuIHRoZSBTU1JjIGNoYW5nZXMgYmVjYXVzZSBvZiBhIGNvbGxpc2lvbi4KCSAgRml4ZXMgIzU4MDE0NAoKMjAwOS0wNC0xNyAxNjoxNjoyOSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzoKCSAgcnRwc2Vzc2lvbjogam9pbiB0aGUgUlRDUCB0aHJlYWQKCSAgQXZvaWQgYSBjYXNlIHdoZXJlIGEgam9pbmFibGUgdGhyZWFkIHdvdWxkIGJlIGxlZnQgdW5qb2luZWQsIHdoaWNoIGxlYWtlZCB0aGUKCSAgdGhyZWFkIHN0cnVjdHVyZS4KCSAgRml4ZXMgIzU3NzMxOC4KCjIwMDktMDQtMTUgMTg6MTQ6NDggKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgaml0dGVyYnVmZmVyOiBwcmV2ZW50IG92ZXJmbG93IGluIEVPUyBlc3RpbWF0aW9uCgkgIFVzZSBhIGd1aW50NjQgaW5zdGVhZCBvZiBhIGd1aW50IHRvIGhvbGQgYSA2NGJpdCB2YWx1ZSB0byBwcmV2ZW50IGNvbXBsZXRlbHkKCSAgYm9ndWVzIEVPUyBlc3RpbWF0aW9uIHZhbHVlcyBkdWUgdG8gb3ZlcmZsb3dzLgoKMjAwOS0wNC0xNSAxNzo0NDoxNyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uaDoKCSAgcnRwYmluOiB3ZSBzaG91bGQgbm90IHByb3ZpZGUgYSBjbG9jawoJICBUaGVyZSBpcyBubyBuZWVkIHRvIHByb3ZpZGUgYSBjbG9jay4KCjIwMDktMDQtMTUgMTc6Mjg6NTYgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgaml0dGVyYnVmZmVyOiBtb3JlIGVzdGltYXRlZCBFT1MgZml4ZXMKCSAgRG8gbW9yZSBhY2N1cmF0ZSBFT1MgZXN0aW1hdGUgYW5kIGd1YXJkIGFnYWluc3QgYmFja3dhcmQgdGltZXN0YW1wcy4KCjIwMDktMDQtMTUgMTc6MjU6MDIgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgaml0dGVyYnVmZmVyOiByZWxlYXNlIGxvY2sgYmVmb3JlIHB1c2hpbmcgRU9TCgkgIE1ha2Ugc3VyZSB3ZSByZWxlYXNlIHRoZSBqaXR0ZXJidWZmZXIgbG9jayBiZWZvcmUgd2Ugc3RhcnQgcHVzaGluZyBvdXQgZGF0YQoJICBiZWNhdXNlIGVsc2Ugd2UgbWlnaHQgZGVhZGxvY2suCgoyMDA5LTAzLTI3IDE3OjQ0OjU3ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5oOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmg6CgkgIHJ0cGJpbjogYWRkIG9uX25wdF9zdG9wIHNpZ25hbAoJICBBZGQgdGhlIG9uX25wdF9zdG9wIHNpZ25hbCB0byBydHBiaW4gYW5kIHJ0cGppdHRlcmJ1ZmZlciB0byBub3RpZnkgdGhlCgkgIGFwcGxpY2F0aW9uIHRoYXQgdGhlIE5QVCBzdG9wIHBvc2l0aW9uIGhhcyBiZWVuIHJlYWNoZWQuCgoyMDA5LTAzLTEzIDE1OjU5OjM3ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOgoJICBydHBiaW46IGRvbid0IHJldHVybiBGQUxTRSBvbiBzZWVrIGV2ZW50cwoJICBTaWxlbnRseSBpZ25vcmUgdGhlIHNlZWsgZXZlbnQgaW5zdGVhZCBvZiByZXR1cm5pbmcgRkFMU0UuCgoyMDA5LTAyLTI2IDEzOjEwOjI5ICswMTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6CgkgIGdzdHJ0cGJpbjogRG9uJ3QgZm9yd2FyZCByZXZjIGV2ZW50cyB0byBzZW5kZXIKCSAgRG9uJ3Qgc2VuZCBldmVudHMgZnJvbSB0aGUgcmVjZWl2ZXIgdG8gdGhlIHNlbmRlciBzaWRlLgoJICBGaXhlcyAjNTcyOTAwLgoKMjAwOS0wMi0yNSAxMTo0NTowNSArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwaml0dGVyYnVmZmVyLmM6CgkgIGRvY3M6IHZhcmlvdXMgZG9jIGZpeGVzCgkgIE5vIHNob3J0LWRlc2MgYXMgd2UgaGF2ZSB0aGVtIGluIHRoZSBlbGVtZW50IGRldGFpbHMuCgkgIEFsc28ga2VlcCB0aGluZ3MgKE1ha2VmaWxlLmFtIGFuZCBzZWN0aW9ucy50eHQpIHNvcnRlZC4KCSAgUmV3b3JkIGFtYmlnb3VzIHJldHVybnMuIE5vIHRleHQgYWZ0ZXIgc2luY2UgcGxlYXNlLgoKMjAwOS0wMS0yMyAxMjoxMzowMCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHN0YXRzLmM6CgkgIFNlbmQgQllFIHBhY2tldHMgaW1tZWRpYXRseSBmb3Igc21hbGwgc2Vzc2lvbnMKCSAgV2hlbiB0aGUgbnVtYmVyIG9mIHBhcnRpY2lwYW50cyBpcyBsZXNzIHRoYW4gNTAsIHRoZSBSRkMgYWxsb3dzIGZvciBzZW5kaW5nIHRoZQoJICBCWUUgcGFja2V0IGltbWVkaWF0bHkgaW5zdGVhZCBvZiB1c2luZyB0aGUgcmVndWxhciBCWUUgdGltZW91dC4KCSAgRml4ZXMgIzU2NzgyOC4KCjIwMDktMDEtMjIgMTM6MzM6MTQgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgVW5sb2NrIHRoZSBqaXR0ZXJidWZmZXIgYmVmb3JlIHB1c2hpbmcgb3V0IHRoZSBwYWNrZXQtbG9zdCBldmVudHMuIE1vdmUgc29tZSBjb2RlIGJlZm9yZSB3ZSBkbyB0aGUgdW5sb2NrIHRvIG1ha2UgdGhlIGppdHRlcmJ1ZmZlciBzdGF0ZSBjb25zaXN0ZW50IHdoaWxlIHdlIGFyZSB1bmxvY2tlZC4KCjIwMDktMDEtMDIgMTc6NDA6MDYgKzAwMDAgIE9saXZpZXIgQ3JldGUgPHRlc3RlckB0ZXN0ZXIuY2E+CgoJICBnc3QvcnRwbWFuYWdlci86IFdoZW4gYW4gU1NSQyBpcyBmb3VuZCBvbiB0aGUgY2FwcyBvZiB0aGUgc2VuZGVyIFJUUCwgdXNlIHRoaXMgYXMgdGhlIGludGVybmFsIFNTUkMuIEZpeGVzICM1NjU5MTAuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogT2xpdmllciBDcmV0ZSA8dGVzdGVyIGF0IHRlc3RlciBkb3QgY2E+CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOgoJICAoZ3N0X3J0cF9zZXNzaW9uX3NldGNhcHNfc2VuZF9ydHApLCAoY3JlYXRlX3NlbmRfcnRwX3NpbmspOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzogKHJ0cF9zZXNzaW9uX3NldF9pbnRlcm5hbF9zc3JjKToKCSAgV2hlbiBhbiBTU1JDIGlzIGZvdW5kIG9uIHRoZSBjYXBzIG9mIHRoZSBzZW5kZXIgUlRQLCB1c2UgdGhpcyBhcyB0aGUKCSAgaW50ZXJuYWwgU1NSQy4gRml4ZXMgIzU2NTkxMC4KCjIwMDktMDEtMDIgMTY6NTA6NTMgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci86IFJlbmFtZSBhIG1ldGhvZCB0byBiZXR0ZXIgcmVmbGVjdCB3aGF0IGl0IHJlYWxseSBkb2VzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6CgkgIChnc3RfcnRwX3Nlc3Npb25fZXZlbnRfc2VuZF9ydHBfc2luayksCgkgIChnc3RfcnRwX3Nlc3Npb25fZ2V0Y2Fwc19zZW5kX3J0cCk6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOiAoY2hlY2tfY29sbGlzaW9uKSwKCSAgKHJ0cF9zZXNzaW9uX3NjaGVkdWxlX2J5ZV9sb2NrZWQpLCAocnRwX3Nlc3Npb25fc2NoZWR1bGVfYnllKToKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmg6CgkgIFJlbmFtZSBhIG1ldGhvZCB0byBiZXR0ZXIgcmVmbGVjdCB3aGF0IGl0IHJlYWxseSBkb2VzLgoKMjAwOC0xMi0yOSAxNTo0OTozNyArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzogVXNlIG1ldGhvZCB0byBnZXQgdGhlIGludGVybmFsIFNTUkMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzoKCSAgKGdzdF9ydHBfc2Vzc2lvbl9nZXRjYXBzX3NlbmRfcnRwKToKCSAgVXNlIG1ldGhvZCB0byBnZXQgdGhlIGludGVybmFsIFNTUkMuCgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOiAocnRwX3Nlc3Npb25fY2xhc3NfaW5pdCksCgkgIChydHBfc2Vzc2lvbl9zZXRfcHJvcGVydHkpLCAocnRwX3Nlc3Npb25fZ2V0X3Byb3BlcnR5KToKCSAgQWRkIHByb3BlcnR5IHRvIGNvbmdpdXJlIHRoZSBpbnRlcm5hbCBTU1JDIG9mIHRoZSBzZXNzaW9uLgoJICBGaXhlcyAjNTY1OTEwLgoKMjAwOC0xMi0yOSAxNToyMTo1OCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzogT25seSBjaGFuZ2UgdGhlIFNTUkMgb2YgdGhlIHNlc3Npb24gYW5kIHJlc2V0IHRoZSBpbnRlcm5hbCBzb3VyY2Ugd2hlbiB0aGUgU1NSQyBhY3R1YWxseS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6IChydHBfc2Vzc2lvbl9zZXRfaW50ZXJuYWxfc3NyYyk6CgkgIE9ubHkgY2hhbmdlIHRoZSBTU1JDIG9mIHRoZSBzZXNzaW9uIGFuZCByZXNldCB0aGUgaW50ZXJuYWwgc291cmNlIHdoZW4KCSAgdGhlIFNTUkMgYWN0dWFsbHkgY2hhbmdlZC4gU2VlICM1NjU5MTAuCgoyMDA4LTEyLTI5IDE0OjIxOjQ3ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLio6IFdoZW4gbm8gcGF5bG9hZCB3YXMgc3BlY2lmaWVkIG9uIHRoZSBjYXBzIGJ1dCB0aGVyZSB3YXMgYSBjbG9jay1yYXRlLCBhc3N1bWUgdGhlIGNsb2NrLXJhLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5jOiAocnRwX3NvdXJjZV9pbml0KSwKCSAgKHJ0cF9zb3VyY2VfdXBkYXRlX2NhcHMpLCAoZ2V0X2Nsb2NrX3JhdGUpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5oOgoJICBXaGVuIG5vIHBheWxvYWQgd2FzIHNwZWNpZmllZCBvbiB0aGUgY2FwcyBidXQgdGhlcmUgd2FzIGEgY2xvY2stcmF0ZSwKCSAgYXNzdW1lIHRoZSBjbG9jay1yYXRlIGNvcnJlc3BvbmRzIHRvIHRoZSBmaXJzdCBwYXlsb2FkIHR5cGUgZm91bmQgaW4gdGhlCgkgIFJUUCBwYWNrZXRzLiBGaXhlcyAjNTY1NTA5LgoKMjAwOC0xMi0yMyAxMTozOTo1OSArMDAwMCAgQXJub3V0IFZhbmRlY2FwcGVsbGUgPGFybm91dEBtaW5kLmJlPgoKCSAgZ3N0L3J0cG1hbmFnZXIvcnRwaml0dGVyYnVmZmVyLio6IEtlZXAgdHJhY2sgb2YgdGhlIGxhc3Qgb3V0Z29pbmcgdGltZXN0YW1wIGFuZCBvZiB0aGUgbGFzdCBzZW5kZXItc2lkZSB0aW1lLiAgVGltZXN0Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogQXJub3V0IFZhbmRlY2FwcGVsbGUgPGFybm91dCBhdCBtaW5kIGRvdCBiZT4KCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBqaXR0ZXJidWZmZXIuYzogKHJ0cF9qaXR0ZXJfYnVmZmVyX3Jlc2V0X3NrZXcpLAoJICAoY2FsY3VsYXRlX3NrZXcpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cGppdHRlcmJ1ZmZlci5oOgoJICBLZWVwIHRyYWNrIG9mIHRoZSBsYXN0IG91dGdvaW5nIHRpbWVzdGFtcCBhbmQgb2YgdGhlIGxhc3Qgc2VuZGVyLXNpZGUKCSAgdGltZS4gIFRpbWVzdGFtcHMgY2FuIG9ubHkgZ28gZm9yd2FyZCBpZiB0aGV5IGRvIGF0IHRoZSBzZW5kZXIKCSAgc2lkZSwgY2FuIG9ubHkgZ28gYmFjayBpZiB0aGV5IGRvIGF0IHRoZSBzZW5kZXIgc2lkZSwgYW5kIHJlbWFpbiB0aGUKCSAgc2FtZSBpZiB0aGV5IHJlbWFpbiB0aGUgc2FtZSBhdCB0aGUgc2VuZGVyIHNpZGUuIEZpeGVzICM1NjUzMTkuCgoyMDA4LTExLTI2IDEyOjQwOjE4ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOiBNYWtlIG9idGFpbl9zb3VyY2UgcmV0dXJuIGFuIGFkaXRpb25hbCByZWYgc28gdGhhdCB3ZSBkb24ndCBsb3NlIG91ciByZWYgdG8gaXQgd2hlbiBhIHNlLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzogKG9idGFpbl9zb3VyY2UpLAoJICAocnRwX3Nlc3Npb25fY3JlYXRlX3NvdXJjZSksIChydHBfc2Vzc2lvbl9wcm9jZXNzX3J0cCksCgkgIChydHBfc2Vzc2lvbl9wcm9jZXNzX3NyKSwgKHJ0cF9zZXNzaW9uX3Byb2Nlc3NfcnIpLAoJICAocnRwX3Nlc3Npb25fcHJvY2Vzc19zZGVzKSwgKHJ0cF9zZXNzaW9uX3Byb2Nlc3NfYnllKToKCSAgTWFrZSBvYnRhaW5fc291cmNlIHJldHVybiBhbiBhZGl0aW9uYWwgcmVmIHNvIHRoYXQgd2UgZG9uJ3QgbG9zZSBvdXIgcmVmCgkgIHRvIGl0IHdoZW4gYSBzZXNzaW9uIGNsZWFudXAgb2NjdXJzIHdoZW4gd2UgYXJlIGVtaXRpbmcgYSBzaWduYWwuCgkgIEVtaXQgdGhlIG9uX25ld19zc3JjIHNpZ25hbCBmb3IgdGhlIENTUkMsIG5vdCB0aGUgU1NSQy4KCSAgRml4ZXMgIzU2MjMxOS4KCjIwMDgtMTEtMjYgMTI6MDI6MjEgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzogUmVzZXQgdGhlIHN5bmMgcGFyYW1ldGVycyB3aGVuIGNsZWFyaW5nIHRoZSBwYXlsb2FkIHR5cGUgbWFwIHRvby4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6IChnc3RfcnRwX2Jpbl9yZXNldF9zeW5jKSwKCSAgKGdzdF9ydHBfYmluX2NsZWFyX3B0X21hcCk6CgkgIFJlc2V0IHRoZSBzeW5jIHBhcmFtZXRlcnMgd2hlbiBjbGVhcmluZyB0aGUgcGF5bG9hZCB0eXBlIG1hcCB0b28uCgkgIEZpeGVzICM1NjIzMTIuCgoyMDA4LTExLTI2IDExOjQ0OjM3ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLio6IFJlbW92ZSBhIGxvdCBvZiBwZXIgc3RyZWFtIHN0YXRlIHRoYXQgaXMgbm90IG5lZWRlZCBhbmQgcGFzcyBuZXcgaW5mbyBpbiB0aGUgbWV0aG9kIGNhbGwuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOiAoZ2V0X2NsaWVudCksCgkgIChnc3RfcnRwX2Jpbl9yZXNldF9zeW5jKSwgKGdzdF9ydHBfYmluX2Fzc29jaWF0ZSksCgkgIChnc3RfcnRwX2Jpbl9oYW5kbGVfc3luYyksIChjcmVhdGVfc3RyZWFtKSwKCSAgKGdzdF9ydHBfYmluX2NsYXNzX2luaXQpLCAobmV3X3NzcmNfcGFkX2ZvdW5kKToKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uaDoKCSAgUmVtb3ZlIGEgbG90IG9mIHBlciBzdHJlYW0gc3RhdGUgdGhhdCBpcyBub3QgbmVlZGVkIGFuZCBwYXNzIG5ldyBpbmZvIGluCgkgIHRoZSBtZXRob2QgY2FsbC4KCSAgQWRkIHNpZ25hbCB0byByZXNldCBzeW5jIHBhcmFtZXRlcnMuCgkgIEF2b2lkIHBhcnNpbmcgdGhlIGNhcHMgdG8gZ2V0IGEgY2xvY2tfYmFzZSwgd2UgZ2V0IHRoaXMgZnJvbSB0aGUgc3luYwoJICBzaWduYWwgbm93LgoKMjAwOC0xMS0yNSAxNToxMjowNiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzogRml4IGV2ZW50IGxlYWsuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzoKCSAgKGdzdF9ydHBfc2Vzc2lvbl9ldmVudF9zZW5kX3J0Y3Bfc3JjKToKCSAgRml4IGV2ZW50IGxlYWsuCgoyMDA4LTExLTIyIDE1OjMxOjM2ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOiBBZGQgcHJvcGVydHkgdG8gY29uZmlndXJlIHRoZSBSVENQIE1UVS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOiAocnRwX3Nlc3Npb25fY2xhc3NfaW5pdCksCgkgIChydHBfc2Vzc2lvbl9pbml0KSwgKHJ0cF9zZXNzaW9uX3NldF9wcm9wZXJ0eSksCgkgIChydHBfc2Vzc2lvbl9nZXRfcHJvcGVydHkpOgoJICBBZGQgcHJvcGVydHkgdG8gY29uZmlndXJlIHRoZSBSVENQIE1UVS4KCjIwMDgtMTEtMjIgMTU6MjQ6NDcgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6IEFkZCBHX1BBUkFNX1NUQVRJQ19TVFJJTkdTLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6IChydHBfc2Vzc2lvbl9jbGFzc19pbml0KSwKCSAgKGNvcHlfc291cmNlKSwgKHJ0cF9zZXNzaW9uX2NyZWF0ZV9zb3VyY2VzKSwKCSAgKHJ0cF9zZXNzaW9uX2dldF9wcm9wZXJ0eSk6CgkgIEFkZCBHX1BBUkFNX1NUQVRJQ19TVFJJTkdTLgoJICBBZGQgcHJvcGVydHkgdG8gcmV0dXJuIGEgR1ZhbHVlQXJyYXkgb2YgYWxsIGtub3duIFJUUFNvdXJjZXMgaW4gdGhlCgkgIHNlc3Npb24uCgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmM6IChydHBfc291cmNlX2NsYXNzX2luaXQpLAoJICAocnRwX3NvdXJjZV9jcmVhdGVfc2RlcyksIChydHBfc291cmNlX3NldF9wcm9wZXJ0eSksCgkgIChydHBfc291cmNlX2dldF9wcm9wZXJ0eSk6CgkgIFJlbW92ZSBwcm9wZXJ0aWVzIHRvIHNldCB0aGUgdmFyaW91cyBTREVTIGl0ZW1zLCBhbiBhcHBsaWNhdGlvbiBpcyBuZXZlcgoJICBzdXBwb3NlZCB0byBjaGFuZ2UgdGhlIFJUUFNvdXJjZSBkYXRhLgoJICBDaGFuZ2UgdGhlIFNERVMgZ2V0dGVyIHByb3BlcnRpZXMgdG8gb25lIFNERVMgcHJvcGVydHkgdGhhdCByZXR1cm5zIGFsbAoJICBTREVTIGl0ZW1zIGluIGEgR3N0U3RydWN0dXJlLgoKMjAwOC0xMS0yMiAxMzoxNzoyNCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOiBBbHNvIHVucmVmIHRoZSB0YXJnZXQgcGFkIGZvciB1bmtub3duIHBhZHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOiAoZ3N0X3J0cF9iaW5fcmVsZWFzZV9wYWQpOgoJICBBbHNvIHVucmVmIHRoZSB0YXJnZXQgcGFkIGZvciB1bmtub3duIHBhZHMuCgoyMDA4LTExLTIxIDE2OjE3OjIyICswMDAwICBPbGl2aWVyIENyZXRlIDx0ZXN0ZXJAdGVzdGVyLmNhPgoKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6IFJlbGVhc2UgdGhlIHJpZ2h0IHBhZHMgb24gcnRwYmluLiBGaXhlcyAjNTYxNzUyLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IE9saXZpZXIgQ3JldGUgPHRlc3RlciBhdCB0ZXN0ZXIgZG90IGNhPgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOiAoZ3N0X3J0cF9iaW5fcmVsZWFzZV9wYWQpOgoJICBSZWxlYXNlIHRoZSByaWdodCBwYWRzIG9uIHJ0cGJpbi4gRml4ZXMgIzU2MTc1Mi4KCjIwMDgtMTEtMjAgMTg6NDE6MzQgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6IFBhc3MgdGhlIHJ1bm5pbmcgdGltZSB0byB0aGUgc2Vzc2lvbiB3aGVuIHByb2Nlc3NpbmcgUlRQIHBhY2tldHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzogKGdldF9jdXJyZW50X3RpbWVzKSwKCSAgKHJ0Y3BfdGhyZWFkKSwgKGdzdF9ydHBfc2Vzc2lvbl9jaGFpbl9yZWN2X3J0cCk6CgkgIFBhc3MgdGhlIHJ1bm5pbmcgdGltZSB0byB0aGUgc2Vzc2lvbiB3aGVuIHByb2Nlc3NpbmcgUlRQIHBhY2tldHMuCgkgIEltcHJvdmUgdGhlIHRpbWUgZnVuY3Rpb24gdG8gcHJvdmlkZSBtb3JlIGluZm8uCgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOiAocnRwX3Nlc3Npb25fY2xhc3NfaW5pdCksCgkgIChydHBfc2Vzc2lvbl9pbml0KSwgKHVwZGF0ZV9hcnJpdmFsX3N0YXRzKSwKCSAgKHJ0cF9zZXNzaW9uX3Byb2Nlc3NfcnRwKSwgKHJ0cF9zZXNzaW9uX3Byb2Nlc3Nfc2RlcyksCgkgIChydHBfc2Vzc2lvbl9wcm9jZXNzX3J0Y3ApLCAoc2Vzc2lvbl9zdGFydF9ydGNwKSwKCSAgKHJ0cF9zZXNzaW9uX29uX3RpbWVvdXQpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uaDoKCSAgTWFyayB0aGUgaW50ZXJuYWwgc291cmNlIHdpdGggYSBmbGFnLgoJICBVc2UgcnVubmluZ190aW1lIGluc3RlYWQgb2YgdGhlIG1vcmUgdXNlbGVzcyB0aW1lc3RhbXAuCgkgIFZhbGlkYXRlIGEgc291cmNlIHdoZW4gYSB2YWxpZCBTREVTIGhhcyBiZWVuIHJlY2VpdmVkLgoJICBQYXNzIHRoZSBjdXJyZW50IHN5c3RlbSB0aW1lIHdoZW4gcHJvY2Vzc2luZyBTUiBwYWNrZXRzLgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5jOiAocnRwX3NvdXJjZV9jbGFzc19pbml0KSwKCSAgKHJ0cF9zb3VyY2VfaW5pdCksIChydHBfc291cmNlX2NyZWF0ZV9zdGF0cyksCgkgIChydHBfc291cmNlX2dldF9wcm9wZXJ0eSksIChydHBfc291cmNlX3NlbmRfcnRwKSwKCSAgKHJ0cF9zb3VyY2VfcHJvY2Vzc19yYiksIChydHBfc291cmNlX2dldF9uZXdfcmIpLAoJICAocnRwX3NvdXJjZV9nZXRfbGFzdF9yYik6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmg6CgkgIEFkZCBwcm9wZXJ0eSB0byBnZXQgc291cmNlIHN0YXRzLgoJICBNYXJrIHBhcmFtcyBhcyBTVEFUSUNfU1RSSU5HUy4KCSAgQ2FsY3VsYXRlIHRoZSBiaXRyYXRlIGF0IHRoZSBzZW5kZXIgU1NSQy4KCSAgQXZvaWQgbmVnYXRpdmUgdmFsdWVzIGluIHRoZSByb3VuZCB0cmlwIHRpbWUgY2FsY3VsYXRpb25zLgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHN0YXRzLmg6CgkgIFVwZGF0ZSBzb21lIGRvY3MgYW5kIGNoYW5nZSBzb21lIHZhcmlhYmxlIG5hbWUgdG8gbW9yZSBjbG9zZWx5IHJlZmxlY3QKCSAgd2hhdCBpdCBjb250YWlucy4KCjIwMDgtMTEtMjAgMDg6MTk6MTUgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOiBJbml0aWFsaXplIHJldHVybiB2YWx1ZSB0byBmaXggY29tcGlsZXIgd2FybmluZyBhYm91dCB1bmluaXRpYWxpemVkIHZhcmlhYmxlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9jaGFpbl9ydGNwKToKCSAgSW5pdGlhbGl6ZSByZXR1cm4gdmFsdWUgdG8gZml4IGNvbXBpbGVyIHdhcm5pbmcgYWJvdXQgdW5pbml0aWFsaXplZAoJICB2YXJpYWJsZS4KCjIwMDgtMTEtMTkgMTY6NDg6MzggKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzogTWFyayBzaWduYWwgYXJnIGFzIHN0YXRpYyBzY29wZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfY2xhc3NfaW5pdCk6CgkgIE1hcmsgc2lnbmFsIGFyZyBhcyBzdGF0aWMgc2NvcGUuCgoyMDA4LTExLTE5IDA5OjA2OjI5ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6IFJlbW92ZSBpbnRlcm5hbCBzeW5jIHBhZCwgdXNlIHNpZ25hbHMgaW5zdGVhZCB0byBnZXQgbGlwLXN5bmMgbm90aWZpY2F0aW9ucy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6IChnc3RfcnRwX2Jpbl9hc3NvY2lhdGUpLAoJICAoZ3N0X3J0cF9iaW5faGFuZGxlX3N5bmMpLCAoY3JlYXRlX3N0cmVhbSksIChmcmVlX3N0cmVhbSksCgkgIChuZXdfc3NyY19wYWRfZm91bmQpOgoJICBSZW1vdmUgaW50ZXJuYWwgc3luYyBwYWQsIHVzZSBzaWduYWxzIGluc3RlYWQgdG8gZ2V0IGxpcC1zeW5jCgkgIG5vdGlmaWNhdGlvbnMuCgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfYmFzZV9pbml0KSwKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9jbGFzc19pbml0KSwKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9pbnRlcm5hbF9saW5rcyksIChjcmVhdGVfcnRjcF9zaW5rKSwKCSAgKHJlbW92ZV9ydGNwX3NpbmspLCAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX3JlcXVlc3RfbmV3X3BhZCksCgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfcmVsZWFzZV9wYWQpLAoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX3NpbmtfcnRjcF9ldmVudCksCgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfY2hhaW5fcnRjcCksCgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfZ2V0X3Byb3BlcnR5KToKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuaDoKCSAgTWFrZSBpdCBwb3NzaWJsZSB0byBzZW5kIFNSIHBhY2tldHMgdG8gdGhlIGppdHRlcmJ1ZmZlci4KCSAgQ2hlY2sgaWYgdGhlIFNSIHRpbWVzdGFtcHMgYXJlIHZhbGlkIGJ5IGNvbXBhcmluZyB0aGVtIHRvIHRoZSBSVFAKCSAgdGltZXN0YW1wcy4KCSAgU2lnbmFsIHRoZSBTUiBwYWNrZXQgYW5kIHRoZSB0aW1pbmcgaW5mb3JtYXRpb24gdG8gbGlzdGVuZXJzLgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNzcmNkZW11eC5jOiAoY3JlYXRlX2RlbXV4X3BhZF9mb3Jfc3NyYyksCgkgIChnc3RfcnRwX3NzcmNfZGVtdXhfcnRjcF9jaGFpbiksIChnc3RfcnRwX3NzcmNfZGVtdXhfc3JjX3F1ZXJ5KToKCSAgUmVtb3ZlIHNvbWUgdW51c2VkIGNvZGUuCgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwaml0dGVyYnVmZmVyLmM6IChydHBfaml0dGVyX2J1ZmZlcl9yZXNldF9za2V3KSwKCSAgKGNhbGN1bGF0ZV9za2V3KSwgKHJ0cF9qaXR0ZXJfYnVmZmVyX2dldF9zeW5jKToKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBqaXR0ZXJidWZmZXIuaDoKCSAgS2VlcCB0cmFjayBvZiB0aGUgbGFzdCBzZWVuIFJUUCB0aW1lc3RhbXAgc28gdGhhdCB3ZSBjYW4gZmlsdGVyIG91dAoJICBpbnZhbGlkIFNSIHBhY2tldHMuCgoyMDA4LTExLTE3IDE5OjQ3OjMyICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuYzogRml4IEdTVF9ERUJVRyBjYWxsIHRvIG9ubHkgaGF2ZSBhcyBtYW55IGFyZ3VtZW50cyBhcyByZXF1aXJlZCBieSB0aGUgZm9ybWF0IHN0cmluZy4gRml4ZXMuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmM6IChnZXRfY2xvY2tfcmF0ZSk6CgkgIEZpeCBHU1RfREVCVUcgY2FsbCB0byBvbmx5IGhhdmUgYXMgbWFueSBhcmd1bWVudHMgYXMgcmVxdWlyZWQKCSAgYnkgdGhlIGZvcm1hdCBzdHJpbmcuIEZpeGVzIGEgY29tcGlsZXIgd2FybmluZy4KCjIwMDgtMTEtMTcgMTU6MTc6NTIgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzogRG8gbm90IHRyeSB0byBrZWVwIHRyYWNrIG9mIHRoZSBjbG9jay1yYXRlIG91cnNlbHZlcyBidXQgc2ltcGx5IGdldCB0aGUgdmFsdWUgZnJvbSB0aGUgamkuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6IChnc3RfcnRwX2Jpbl9hc3NvY2lhdGUpLAoJICAoZ3N0X3J0cF9iaW5fc3luY19jaGFpbiksIChjcmVhdGVfc3RyZWFtKSwgKG5ld19zc3JjX3BhZF9mb3VuZCk6CgkgIERvIG5vdCB0cnkgdG8ga2VlcCB0cmFjayBvZiB0aGUgY2xvY2stcmF0ZSBvdXJzZWx2ZXMgYnV0IHNpbXBseSBnZXQgdGhlCgkgIHZhbHVlIGZyb20gdGhlIGppdHRlcmJ1ZmZlci4KCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgKGdzdF9qaXR0ZXJfYnVmZmVyX3NpbmtfcGFyc2VfY2FwcyksIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfY2hhaW4pLAoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2dldF9zeW5jKToKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuaDoKCSAgQWRkIHNvbWUgZGVidWcgaW5mby4KCSAgUGFzcyB0aGUgY2xvY2stcmF0ZSB0byB0aGUgaml0dGVyYnVmZmVyLgoJICBBbHNvIHBhc3MgdGhlIGNsb2NrLXJhdGUgYWxvbmcgd2l0aCB0aGUgcnRwIHRpbWVzdGFtcCB3aGVuIGdldHRpbmcgdGhlCgkgIHN5bmMgcGFyYW1ldGVycy4KCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBwdGRlbXV4LmM6IChnc3RfcnRwX3B0X2RlbXV4X2NoYWluKToKCSAgRml4IHNvbWUgZGVidWcuCgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwaml0dGVyYnVmZmVyLmM6IChydHBfaml0dGVyX2J1ZmZlcl9yZXNldF9za2V3KSwKCSAgKGNhbGN1bGF0ZV9za2V3KSwgKHJ0cF9qaXR0ZXJfYnVmZmVyX2dldF9zeW5jKToKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBqaXR0ZXJidWZmZXIuaDoKCSAgS2VlcCB0cmFjayBvZiBjbG9jay1yYXRlIGNoYW5nZXMgYW5kIHJldHVybiB0aGUgY2xvY2stcmF0ZSB0b2dldGhlciB3aXRoCgkgIHRoZSBydHAgdGltZXN0YW1wcyB1c2VkIGZvciBzeW5jLgoJICBEb24ndCB0cnkgdG8gY29uc3RydWN0IHRpbWVzdGFtcHMgd2hlbiB3ZSBoYXZlIG5vIGJhc2VfdGltZS4KCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuYzogKGdldF9jbG9ja19yYXRlKToKCSAgUmVxdWVzdCBhIG5ldyBjbG9jay1yYXRlIHdoZW4gdGhlIHBheWxvYWQgdHlwZSBjaGFuZ2VzLgoJICBSZXNldCB0aGUgaml0dGVyIGNhbGN1bGF0aW9uIHdoZW4gdGhlIGNsb2NrLXJhdGUgY2hhbmdlcy4KCjIwMDgtMTEtMTMgMTU6NDg6NTQgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci86IFNtYWxsIGNsZWFudXBzIGFuZCBzb21lIG1vcmUgZGVidWcgaW5mby4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIChnc3Rfaml0dGVyX2J1ZmZlcl9zaW5rX3BhcnNlX2NhcHMpLAoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2ZsdXNoX3N0b3ApLCAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2NoYWluKToKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBqaXR0ZXJidWZmZXIuYzogKHJ0cF9qaXR0ZXJfYnVmZmVyX3Jlc2V0X3NrZXcpLAoJICAoY2FsY3VsYXRlX3NrZXcpOgoJICBTbWFsbCBjbGVhbnVwcyBhbmQgc29tZSBtb3JlIGRlYnVnIGluZm8uCgoyMDA4LTExLTEwIDE1OjI2OjQwICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6IEFsc28gY29uZmlndXJlIHRoZSBuZXh0IGV4cGVjdGVkIG91dHB1dCBzZXFudW0gd2hlbiB3ZSBnZXQgYSBzZXFudW0tYmFzZSBvbiB0aGUgLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICAoZ3N0X2ppdHRlcl9idWZmZXJfc2lua19wYXJzZV9jYXBzKSwgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9jaGFpbik6CgkgIEFsc28gY29uZmlndXJlIHRoZSBuZXh0IGV4cGVjdGVkIG91dHB1dCBzZXFudW0gd2hlbiB3ZSBnZXQgYSBzZXFudW0tYmFzZQoJICBvbiB0aGUgY2Fwcy4KCjIwMDgtMTEtMDQgMTI6NDI6MzAgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIERvbid0IGluc3RhbGwgc3RhdGljIGxpYnMgZm9yIHBsdWdpbnMuIEZpeGVzICM1NTA4NTEgZm9yIC1iYWQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9hbHNhc3BkaWYvTWFrZWZpbGUuYW06CgkgICogZXh0L2FtcndiL01ha2VmaWxlLmFtOgoJICAqIGV4dC9hcGV4c2luay9NYWtlZmlsZS5hbToKCSAgKiBleHQvYXJ0cy9NYWtlZmlsZS5hbToKCSAgKiBleHQvYXJ0c2QvTWFrZWZpbGUuYW06CgkgICogZXh0L2F1ZGlvZmlsZS9NYWtlZmlsZS5hbToKCSAgKiBleHQvYXVkaW9yZXNhbXBsZS9NYWtlZmlsZS5hbToKCSAgKiBleHQvYnoyL01ha2VmaWxlLmFtOgoJICAqIGV4dC9jZGF1ZGlvL01ha2VmaWxlLmFtOgoJICAqIGV4dC9jZWx0L01ha2VmaWxlLmFtOgoJICAqIGV4dC9kYzEzOTQvTWFrZWZpbGUuYW06CgkgICogZXh0L2RpcmFjL01ha2VmaWxlLmFtOgoJICAqIGV4dC9kaXJlY3RmYi9NYWtlZmlsZS5hbToKCSAgKiBleHQvZGl2eC9NYWtlZmlsZS5hbToKCSAgKiBleHQvZHRzL01ha2VmaWxlLmFtOgoJICAqIGV4dC9mYWFjL01ha2VmaWxlLmFtOgoJICAqIGV4dC9mYWFkL01ha2VmaWxlLmFtOgoJICAqIGV4dC9nc20vTWFrZWZpbGUuYW06CgkgICogZXh0L2hlcm1lcy9NYWtlZmlsZS5hbToKCSAgKiBleHQvaXZvcmJpcy9NYWtlZmlsZS5hbToKCSAgKiBleHQvamFjay9NYWtlZmlsZS5hbToKCSAgKiBleHQvanAyay9NYWtlZmlsZS5hbToKCSAgKiBleHQvbGFkc3BhL01ha2VmaWxlLmFtOgoJICAqIGV4dC9sY3MvTWFrZWZpbGUuYW06CgkgICogZXh0L2xpYmZhbWUvTWFrZWZpbGUuYW06CgkgICogZXh0L2xpYm1tcy9NYWtlZmlsZS5hbToKCSAgKiBleHQvbWV0YWRhdGEvTWFrZWZpbGUuYW06CgkgICogZXh0L21wZWcyZW5jL01ha2VmaWxlLmFtOgoJICAqIGV4dC9tcGxleC9NYWtlZmlsZS5hbToKCSAgKiBleHQvbXVzZXBhY2svTWFrZWZpbGUuYW06CgkgICogZXh0L211c2ljYnJhaW56L01ha2VmaWxlLmFtOgoJICAqIGV4dC9teXRodHYvTWFrZWZpbGUuYW06CgkgICogZXh0L25hcy9NYWtlZmlsZS5hbToKCSAgKiBleHQvbmVvbi9NYWtlZmlsZS5hbToKCSAgKiBleHQvb2ZhL01ha2VmaWxlLmFtOgoJICAqIGV4dC9wb2x5cC9NYWtlZmlsZS5hbToKCSAgKiBleHQvcmVzaW5kdmQvTWFrZWZpbGUuYW06CgkgICogZXh0L3NkbC9NYWtlZmlsZS5hbToKCSAgKiBleHQvc2hvdXQvTWFrZWZpbGUuYW06CgkgICogZXh0L3NuYXBzaG90L01ha2VmaWxlLmFtOgoJICAqIGV4dC9zbmRmaWxlL01ha2VmaWxlLmFtOgoJICAqIGV4dC9zb3VuZHRvdWNoL01ha2VmaWxlLmFtOgoJICAqIGV4dC9zcGMvTWFrZWZpbGUuYW06CgkgICogZXh0L3N3ZmRlYy9NYWtlZmlsZS5hbToKCSAgKiBleHQvdGFya2luL01ha2VmaWxlLmFtOgoJICAqIGV4dC90aGVvcmEvTWFrZWZpbGUuYW06CgkgICogZXh0L3RpbWlkaXR5L01ha2VmaWxlLmFtOgoJICAqIGV4dC90d29sYW1lL01ha2VmaWxlLmFtOgoJICAqIGV4dC94MjY0L01ha2VmaWxlLmFtOgoJICAqIGV4dC94aW5lL01ha2VmaWxlLmFtOgoJICAqIGV4dC94dmlkL01ha2VmaWxlLmFtOgoJICAqIGdzdC1saWJzL2dzdC9hcHAvTWFrZWZpbGUuYW06CgkgICogZ3N0LWxpYnMvZ3N0L2RzaG93L01ha2VmaWxlLmFtOgoJICAqIGdzdC9haWZmcGFyc2UvTWFrZWZpbGUuYW06CgkgICogZ3N0L2FwcC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvYXVkaW9idWZmZXIvTWFrZWZpbGUuYW06CgkgICogZ3N0L2JheWVyL01ha2VmaWxlLmFtOgoJICAqIGdzdC9jZHhhcGFyc2UvTWFrZWZpbGUuYW06CgkgICogZ3N0L2NoYXJ0L01ha2VmaWxlLmFtOgoJICAqIGdzdC9jb2xvcnNwYWNlL01ha2VmaWxlLmFtOgoJICAqIGdzdC9kY2NwL01ha2VmaWxlLmFtOgoJICAqIGdzdC9kZWludGVybGFjZS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL01ha2VmaWxlLmFtOgoJICAqIGdzdC9kdmRzcHUvTWFrZWZpbGUuYW06CgkgICogZ3N0L2Zlc3RpdmFsL01ha2VmaWxlLmFtOgoJICAqIGdzdC9maWx0ZXIvTWFrZWZpbGUuYW06CgkgICogZ3N0L2ZsYWNwYXJzZS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvZmx2L01ha2VmaWxlLmFtOgoJICAqIGdzdC9nYW1lcy9NYWtlZmlsZS5hbToKCSAgKiBnc3QvaDI2NHBhcnNlL01ha2VmaWxlLmFtOgoJICAqIGdzdC9saWJyZmIvTWFrZWZpbGUuYW06CgkgICogZ3N0L21peG1hdHJpeC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvbW9kcGx1Zy9NYWtlZmlsZS5hbToKCSAgKiBnc3QvbXBlZzFzeXMvTWFrZWZpbGUuYW06CgkgICogZ3N0L21wZWc0dmlkZW9wYXJzZS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvbXBlZ2RlbXV4L01ha2VmaWxlLmFtOgoJICAqIGdzdC9tcGVndHNtdXgvTWFrZWZpbGUuYW06CgkgICogZ3N0L21wZWd2aWRlb3BhcnNlL01ha2VmaWxlLmFtOgoJICAqIGdzdC9tdmUvTWFrZWZpbGUuYW06CgkgICogZ3N0L25zZi9NYWtlZmlsZS5hbToKCSAgKiBnc3QvbnV2ZGVtdXgvTWFrZWZpbGUuYW06CgkgICogZ3N0L292ZXJsYXkvTWFrZWZpbGUuYW06CgkgICogZ3N0L3Bhc3N0aHJvdWdoL01ha2VmaWxlLmFtOgoJICAqIGdzdC9wY2FwcGFyc2UvTWFrZWZpbGUuYW06CgkgICogZ3N0L3BsYXlvbmRlbWFuZC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvcmF3cGFyc2UvTWFrZWZpbGUuYW06CgkgICogZ3N0L3JlYWwvTWFrZWZpbGUuYW06CgkgICogZ3N0L3J0anBlZy9NYWtlZmlsZS5hbToKCSAgKiBnc3QvcnRwbWFuYWdlci9NYWtlZmlsZS5hbToKCSAgKiBnc3Qvc2NhbGV0ZW1wby9NYWtlZmlsZS5hbToKCSAgKiBnc3Qvc2RwL01ha2VmaWxlLmFtOgoJICAqIGdzdC9zZWxlY3Rvci9NYWtlZmlsZS5hbToKCSAgKiBnc3Qvc21vb3RoL01ha2VmaWxlLmFtOgoJICAqIGdzdC9zbW9vdGh3YXZlL01ha2VmaWxlLmFtOgoJICAqIGdzdC9zcGVlZC9NYWtlZmlsZS5hbToKCSAgKiBnc3Qvc3BlZXhyZXNhbXBsZS9NYWtlZmlsZS5hbToKCSAgKiBnc3Qvc3RlcmVvL01ha2VmaWxlLmFtOgoJICAqIGdzdC9zdWJlbmMvTWFrZWZpbGUuYW06CgkgICogZ3N0L3R0YS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvdmJpZGVjL01ha2VmaWxlLmFtOgoJICAqIGdzdC92aWRlb2Ryb3AvTWFrZWZpbGUuYW06CgkgICogZ3N0L3ZpZGVvc2lnbmFsL01ha2VmaWxlLmFtOgoJICAqIGdzdC92aXJ0dWFsZHViL01ha2VmaWxlLmFtOgoJICAqIGdzdC92bW5jL01ha2VmaWxlLmFtOgoJICAqIGdzdC95NG0vTWFrZWZpbGUuYW06CgkgICogc3lzL2FjbWVuYy9NYWtlZmlsZS5hbToKCSAgKiBzeXMvY2Ryb20vTWFrZWZpbGUuYW06CgkgICogc3lzL2RzaG93ZGVjd3JhcHBlci9NYWtlZmlsZS5hbToKCSAgKiBzeXMvZHNob3dzcmN3cmFwcGVyL01ha2VmaWxlLmFtOgoJICAqIHN5cy9kdmIvTWFrZWZpbGUuYW06CgkgICogc3lzL2R4cjMvTWFrZWZpbGUuYW06CgkgICogc3lzL2ZiZGV2L01ha2VmaWxlLmFtOgoJICAqIHN5cy9vc3M0L01ha2VmaWxlLmFtOgoJICAqIHN5cy9xY2FtL01ha2VmaWxlLmFtOgoJICAqIHN5cy9xdHdyYXBwZXIvTWFrZWZpbGUuYW06CgkgICogc3lzL3ZjZC9NYWtlZmlsZS5hbToKCSAgKiBzeXMvd2luaW5ldC9NYWtlZmlsZS5hbToKCSAgKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIERvbid0IGluc3RhbGwgc3RhdGljIGxpYnMgZm9yIHBsdWdpbnMuIEZpeGVzICM1NTA4NTEgZm9yIC1iYWQuCgoyMDA4LTEwLTE2IDEzOjA1OjM3ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6IEZpeCBwcm9ibGVtIHdpdGggdXNpbmcgdGhlIG91dHB1dCBzZXFudW0gY291bnRlciB0byBjaGVjayBmb3IgaW5wdXQgc2VxbnVtIGRpc2NvLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICAoZ3N0X2ppdHRlcl9idWZmZXJfc2lua19wYXJzZV9jYXBzKSwKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9mbHVzaF9zdGFydCksCgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfZmx1c2hfc3RvcCksIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfY2hhaW4pLAoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2xvb3ApOgoJICBGaXggcHJvYmxlbSB3aXRoIHVzaW5nIHRoZSBvdXRwdXQgc2VxbnVtIGNvdW50ZXIgdG8gY2hlY2sgZm9yIGlucHV0CgkgIHNlcW51bSBkaXNjb250aW51aXRpZXMuCgkgIEltcHJvdmUgZ2FwIGRldGVjdGlvbiBhbmQgcmVjb3ZlcnksIHJlc2V0IGFuZCBmbHVzaCB0aGUgaml0dGVyYnVmZmVyIG9uCgkgIHNlcW51bSByZXN0YXJ0LiBGaXhlcyAjNTU2NTIwLgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cGppdHRlcmJ1ZmZlci5jOiAocnRwX2ppdHRlcl9idWZmZXJfaW5zZXJ0KToKCSAgRml4IHdyb25nIEdfTElLRUxZLgoKMjAwOC0xMC0xNiAwOTo1MToyOCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzogSW5zdGFsbCBldmVudCBoYW5kbGVyIG9uIHRoZSBydGNwX3NyYyBwYWQsIG1ha2UgTEFURU5DWSBldmVudCByZXR1cm4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOgoJICAoZ3N0X3J0cF9zZXNzaW9uX2V2ZW50X3NlbmRfcnRjcF9zcmMpLCAoY3JlYXRlX3NlbmRfcnRjcF9zcmMpOgoJICBJbnN0YWxsIGV2ZW50IGhhbmRsZXIgb24gdGhlIHJ0Y3Bfc3JjIHBhZCwgbWFrZSBMQVRFTkNZIGV2ZW50IHJldHVybgoJICBUUlVFLgoKMjAwOC0xMC0wNyAxODo1NDo0MSArMDAwMCAgSMOldmFyZCBHcmFmZiA8aGF2YXJkLmdyYWZmQHRhbmRiZXJnLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi1tYXJzaGFsLmxpc3Q6IEFkZCBtYXJzaGFsbGVyIGZvciBuZXcgYWN0aW9uIHNpZ25hbC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBIw6V2YXJkIEdyYWZmIDxoYXZhcmQgZG90IGdyYWZmIGF0IHRhbmRiZXJnIGRvdCBjb20+CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLW1hcnNoYWwubGlzdDoKCSAgQWRkIG1hcnNoYWxsZXIgZm9yIG5ldyBhY3Rpb24gc2lnbmFsLgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOiAoZ3N0X3J0cF9iaW5fZ2V0X2ludGVybmFsX3Nlc3Npb24pLAoJICAoZ3N0X3J0cF9iaW5fY2xhc3NfaW5pdCk6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmg6CgkgIEFkZCBhY3Rpb24gc2lnbmFsIHRvIHJldHJpZXZlIHRoZSBpbnRlcm5hbCBSVFBTZXNzaW9uIG9iamVjdC4KCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6IChnc3RfcnRwX3Nlc3Npb25fY2xhc3NfaW5pdCksCgkgIChnc3RfcnRwX3Nlc3Npb25fZ2V0X3Byb3BlcnR5KSwgKGdzdF9ydHBfc2Vzc2lvbl9yZWxlYXNlX3BhZCk6CgkgIEFkZCBwcm9wZXJ0eSB0byBhY2Nlc3MgdGhlIGludGVybmFsIFJUUFNlc3Npb24gb2JqZWN0LgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzogKHJ0cF9zZXNzaW9uX2NsYXNzX2luaXQpLAoJICAoY2hlY2tfY29sbGlzaW9uKToKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmg6CgkgIEFkZCBhY3Rpb24gc2lnbmFsIHRvIHJldHJpZXZlIGFuIFJUUFNvdXJjZSBvYmplY3QgYnkgU1NSQy4KCSAgU2VlICM1NTUzOTYuCgoyMDA4LTEwLTA3IDExOjMzOjEwICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6IFJlbGVhc2UgcGFkcyBvZiB0aGUgc2Vzc2lvbiBtYW5hZ2VyLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzogKGZpbmRfc2Vzc2lvbl9ieV9wYWQpLAoJICAoZnJlZV9zZXNzaW9uKSwgKGdzdF9ydHBfYmluX2Rpc3Bvc2UpLCAocmVtb3ZlX3JlY3ZfcnRwKSwKCSAgKHJlbW92ZV9yZWN2X3J0Y3ApLCAocmVtb3ZlX3NlbmRfcnRwKSwgKHJlbW92ZV9ydGNwKSwKCSAgKGdzdF9ydHBfYmluX3JlbGVhc2VfcGFkKToKCSAgUmVsZWFzZSBwYWRzIG9mIHRoZSBzZXNzaW9uIG1hbmFnZXIuCgkgIFN0YXJ0IGltcGxlbWVudGluZyByZWxlYXNpbmcgcGFkcyBvZiBnc3RydHBiaW4uCgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOiAocmVtb3ZlX3JlY3ZfcnRwX3NpbmspLAoJICAocmVtb3ZlX3JlY3ZfcnRjcF9zaW5rKSwgKHJlbW92ZV9zZW5kX3J0cF9zaW5rKSwKCSAgKHJlbW92ZV9zZW5kX3J0Y3Bfc3JjKSwgKGdzdF9ydHBfc2Vzc2lvbl9yZWxlYXNlX3BhZCk6CgkgIEltcGxlbWVudCByZWxlYXNpbmcgcGFkcyBpbiBnc3RydHBzZXNzaW9uLgoKMjAwOC0xMC0wNyAxMDowMjoyMCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOiBPbmx5IHVwZGF0ZSB0aGUgc2VxbnVtLWJhc2Ugd2hlbiBpdCB3YXMgbm90IGFscmVhZHkgY29uZmlndXJlZCBmb3IgdGhlIHN0cmVhbXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICAoZ3N0X2ppdHRlcl9idWZmZXJfc2lua19wYXJzZV9jYXBzKToKCSAgT25seSB1cGRhdGUgdGhlIHNlcW51bS1iYXNlIHdoZW4gaXQgd2FzIG5vdCBhbHJlYWR5IGNvbmZpZ3VyZWQgZm9yIHRoZQoJICBzdHJlYW1zLgoKMjAwOC0wOS0zMCAxNTowODo1MiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzogUmVmIHRoZSBydHBzb3VyY2Ugb2JqZWN0IGJlZm9yZSB3ZSByZWxlYXNlIHRoZSBzZXNzaW9uIGxvY2sgd2hlbiB3ZSBlbWl0IHRoZSBzaWduYWxzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6IChvbl9uZXdfc3NyYyksIChvbl9zc3JjX2NvbGxpc2lvbiksCgkgIChvbl9zc3JjX3ZhbGlkYXRlZCksIChvbl9zc3JjX2FjdGl2ZSksIChvbl9zc3JjX3NkZXMpLAoJICAob25fYnllX3NzcmMpLCAob25fYnllX3RpbWVvdXQpLCAob25fdGltZW91dCksIChvbl9zZW5kZXJfdGltZW91dCk6CgkgIFJlZiB0aGUgcnRwc291cmNlIG9iamVjdCBiZWZvcmUgd2UgcmVsZWFzZSB0aGUgc2Vzc2lvbiBsb2NrIHdoZW4gd2UgZW1pdAoJICB0aGUgc2lnbmFscy4KCjIwMDgtMDktMjMgMTg6MTM6MzEgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci86IEZpeCBzb21lIGRvY3MuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cGppdHRlcmJ1ZmZlci5jOiAocnRwX2ppdHRlcl9idWZmZXJfaW5zZXJ0KSwKCSAgKHJ0cF9qaXR0ZXJfYnVmZmVyX2dldF9zeW5jKToKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6IChvbl9zZW5kZXJfdGltZW91dCksCgkgIChzZXNzaW9uX2NsZWFudXApOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5jOgoJICBGaXggc29tZSBkb2NzLgoKMjAwOC0wOS0xNyAxMzo1OToyMSArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBGaXggY29tcGlsZXIgd2FybmluZ3Mgb24gT1MvWAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvamFjay9nc3RqYWNrYXVkaW9zaW5rLmM6IChqYWNrX3Byb2Nlc3NfY2IpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cGppdHRlcmJ1ZmZlci5jOiAoY2FsY3VsYXRlX3NrZXcpOgoJICBGaXggY29tcGlsZXIgd2FybmluZ3Mgb24gT1MvWAoKMjAwOC0wOS0xMyAwMTozNzo1MCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOiBEbyBub3QgdHJ5IHRvIGFkanVzdCB0aGUgb2Zmc2V0IG9mIHN0cmVhbXMgZm9yIHdoaWNoIHdlIGhhdmUgbm90IHlldCBzZWVuIGFuIFNSIHBhY2tldC4gQS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzogKGNyZWF0ZV9zZXNzaW9uKSwKCSAgKGdzdF9ydHBfYmluX2Fzc29jaWF0ZSksIChnc3RfcnRwX2Jpbl9zeW5jX2NoYWluKToKCSAgRG8gbm90IHRyeSB0byBhZGp1c3QgdGhlIG9mZnNldCBvZiBzdHJlYW1zIGZvciB3aGljaCB3ZSBoYXZlIG5vdCB5ZXQKCSAgc2VlbiBhbiBTUiBwYWNrZXQuIEF2b2lkcyBsYXJnZSB0cy1vZmZzZXRzIGluIHNvbWUgY2FzZXMuCgoyMDA4LTA5LTA1IDEzOjUyOjM0ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLio6IEFkZCBzaWduYWwgdG8gbm90aWZ5IGxpc3RlbmVycyB3aGVuIGEgc2VuZGVyIGJlY29tZXMgYSByZWNlaXZlci4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6IChvbl9zZW5kZXJfdGltZW91dCksCgkgIChjcmVhdGVfc2Vzc2lvbiksIChnc3RfcnRwX2Jpbl9hc3NvY2lhdGUpLAoJICAoZ3N0X3J0cF9iaW5fc3luY19jaGFpbiksIChnc3RfcnRwX2Jpbl9jbGFzc19pbml0KSwKCSAgKGdzdF9ydHBfYmluX3JlcXVlc3RfbmV3X3BhZCk6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmg6CgkgIEFkZCBzaWduYWwgdG8gbm90aWZ5IGxpc3RlbmVycyB3aGVuIGEgc2VuZGVyIGJlY29tZXMgYSByZWNlaXZlci4KCSAgVHdlYWsgbGlwLXN5bmMgY29kZSwgZG9uJ3Qgc3RvcmUgb3VyIG93biBjb3B5IG9mIHRoZSB0cy1vZmZzZXQgb2YgdGhlCgkgIGppdHRlcmJ1ZmZlciwgZG9uJ3QgYWRqdXN0IHN5bmMgaWYgdGhlIGNoYW5nZSBpcyBsZXNzIHRoYW4gNG1zZWMuCgkgIEdldCB0aGUgUlRQIHRpbWVzdGFtcCA8LT4gR1N0cmVhbWVyIHRpbWVzdGFtcCByZWxhdGlvbiBkaXJlY3RseSBmcm9tCgkgIHRoZSBqaXR0ZXJidWZmZXIgaW5zdGVhZCBvZiBvdXIgaW5hY2N1cmF0ZSB2ZXJzaW9uIGZyb20gdGhlIHNvdXJjZS4KCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9jaGFpbiksIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfbG9vcCksCgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfZ2V0X3N5bmMpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5oOgoJICBBZGQgR19MSUtFTFkgbWFjcm9zLCB1c2UgZ2xvYmFsIGRlZmluZXMgZm9yIG1heCBwYWNrZXQgcmVvcmRlciBhbmQKCSAgZHJvcG91dHMuCgkgIFJlc2V0IHRoZSBqaXR0ZXJidWZmZXIgY2xvY2sgc2tldyBkZXRlY3Rpb24gd2hlbiBwYWNrZXRzIHNlcW51bXMgYXJlCgkgIGNoYW5nZWQgdW5leHBlY3RlZGx5LgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzogKG9uX3NlbmRlcl90aW1lb3V0KSwKCSAgKGdzdF9ydHBfc2Vzc2lvbl9jbGFzc19pbml0KSwgKGdzdF9ydHBfc2Vzc2lvbl9pbml0KToKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmg6CgkgIEFkZCBzZW5kZXIgdGltZW91dCBzaWduYWwuCgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwaml0dGVyYnVmZmVyLmM6IChydHBfaml0dGVyX2J1ZmZlcl9yZXNldF9za2V3KSwKCSAgKGNhbGN1bGF0ZV9za2V3KSwgKHJ0cF9qaXR0ZXJfYnVmZmVyX2luc2VydCksCgkgIChydHBfaml0dGVyX2J1ZmZlcl9nZXRfc3luYyk6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwaml0dGVyYnVmZmVyLmg6CgkgIEFkZCBzb21lIEdfTElLRUxZIG1hY3Jvcy4KCSAgS2VlcCB0cmFjayBvZiB0aGUgZXh0ZW5kZWQgUlRQIHRpbWVzdGFtcCBzbyB0aGF0IHdlIGNhbiByZXBvcnQgdGhlIFJUUAoJICB0aW1lc3RhbXAgPC0+IEdTdHJlYW1lciB0aW1lc3RhbXAgcmVsYXRpb24gZm9yIGxpcC1zeW5jLgoJICBSZW1vdmUgc2VydmVyIHRpbWVzdGFtcCBnYXAgZGV0ZWN0aW9uIGNvZGUsIHRoZSBzZXJ2ZXIgY2FuIHNvbWV0aW1lcwoJICBtYWtlIGEgaHVnZSBnYXAgaW4gdGltZXN0YW1wcyAodGFsayBzcHVydHMsLi4uKSBzZWUgIzU0OTc3NC4KCSAgRGV0ZWN0IHRpbWV0YW1wIHdlaXJkbmVzcyBpbnN0ZWFkIGJ5IG9ic2VydmluZyB0aGUgc2VuZGVyL3JlY2VpdmVyCgkgIHRpbWVzdGFtcCByZWxhdGlvbiBhbmQgcmVzeW5jIGlmIGl0IGNoYW5nZXMgbW9yZSB0aGFuIDEgc2Vjb25kLgoJICBBZGQgbWV0aG9kIHRvIHJlcG9ydCBhYm91dCB0aGUgY3VycmVudCBydHAgPC0+IGdzdCB0aW1lc3RhbXAgcmVsYXRpb24KCSAgd2hpY2ggaXMgbmVlZGVkIGZvciBsaXAtc3luYy4KCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6IChydHBfc2Vzc2lvbl9jbGFzc19pbml0KSwKCSAgKG9uX3NlbmRlcl90aW1lb3V0KSwgKGNoZWNrX2NvbGxpc2lvbiksIChydHBfc2Vzc2lvbl9wcm9jZXNzX3NyKSwKCSAgKHNlc3Npb25fY2xlYW51cCk6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5oOgoJICBBZGQgc2VuZGVyIHRpbWVvdXQgc2lnbmFsLgoJICBSZW1vdmUgaW5hY2N1cmF0ZSBydHAgPC0+IGdzdCB0aW1lc3RhbXAgcmVsYXRpb24gY29kZSwgdGhlCgkgIGppdHRlcmJ1ZmZlciBjYW4gbm93IGRvIGFuIGFjY3VyYXRlIHJlcG9ydGluZyBhYm91dCB0aGlzLgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5jOiAocnRwX3NvdXJjZV9pbml0KSwKCSAgKHJ0cF9zb3VyY2VfdXBkYXRlX2NhcHMpLCAoY2FsY3VsYXRlX2ppdHRlciksCgkgIChydHBfc291cmNlX3Byb2Nlc3NfcnRwKToKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuaDoKCSAgUmVtb3ZlIGluYWNjdXJhdGUgcnRwIDwtPiBnc3QgdGltZXN0YW1wIHJlbGF0aW9uIGNvZGUuCgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc3RhdHMuaDoKCSAgRGVmaW5lIGdsb2JhbCBtYXgtcmVvcmRlciBhbmQgbWF4LWRyb3BvdXQgY29uc3RhbnRzIGZvciB1c2UgaW4gdmFyaW91cwoJICBzdWJzeXN0ZW1zLgoKMjAwOC0wOC0yOCAxNToyMTo0NSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzogU2VuZCBFT1Mgd2hlbiB0aGUgc2Vzc2lvbiBvYmplY3QgaW5zdHJ1Y3RzIHVzIHRvLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6IChnc3RfcnRwX3Nlc3Npb25fc2VuZF9ydGNwKSwKCSAgKGdzdF9ydHBfc2Vzc2lvbl9ldmVudF9zZW5kX3J0cF9zaW5rKToKCSAgU2VuZCBFT1Mgd2hlbiB0aGUgc2Vzc2lvbiBvYmplY3QgaW5zdHJ1Y3RzIHVzIHRvLgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzogKHJ0cF9zZXNzaW9uX29uX3RpbWVvdXQpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uaDoKCSAgTWFrZSBpdCBwb3NzaWJsZSBmb3IgdGhlIHNlc3Npb24gbWFuYWdlciB0byBpbnN0cnVjdCB1cyB0byBzZW5kIEVPUy4gV2UKCSAgY3VycmVudGx5IHdpbGwgRU9TIHdoZW4gdGhlIHNlc3Npb24gaXMgYSBzZW5kZXIgYW5kIHdoZW4gdGhlIHNlbmRlciBwYXJ0CgkgIGdvZXMgRU9TLiBUaGlzIGlzIG5vdCBlbnRpcmVseSBjb3JyZWN0IGJlaGF2aW91ciBiZWNhdXNlIHRoZSBzZXNzaW9uCgkgIGNvdWxkIHN0aWxsIHBhcnRpY2lwYXRlIGFzIGEgcmVjZWl2ZXIuCgkgIEZpeGVzICM1NDk0MDkuCgoyMDA4LTA4LTEzIDE0OjMxOjAyICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6IFJlc2V0IHJ0cCB0aW1lc3RhbXAgaW50ZXJwb2xsYXRpb24gd2hlbiB3ZSBkZXRlY3QgYSBnYXAgd2hlbiB0aGUgY2xvY2tfYmFzZSBjaGFuZ2VkLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzogKGdzdF9ydHBfYmluX2Fzc29jaWF0ZSksCgkgIChnc3RfcnRwX2Jpbl9zeW5jX2NoYWluKSwgKG5ld19zc3JjX3BhZF9mb3VuZCk6CgkgIFJlc2V0IHJ0cCB0aW1lc3RhbXAgaW50ZXJwb2xsYXRpb24gd2hlbiB3ZSBkZXRlY3QgYSBnYXAgd2hlbiB0aGUKCSAgY2xvY2tfYmFzZSBjaGFuZ2VkLgoJICBEb24ndCB0cnkgdG8gYWRqdXN0IHRoZSB0cy1vZmZzZXQgd2hlbiBpdCdzIHRvbyBiaWcgKD4gM3NlY29uZHMpCgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOiAoZ3N0X3J0cF9zZXNzaW9uX3NldF9zc3JjKToKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmg6CgkgIEFkZCBtZXRob2QgdG8gc2V0IHNlc3Npb24gU1NSQy4KCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6IChjaGVja19jb2xsaXNpb24pLAoJICAocnRwX3Nlc3Npb25fc2V0X2ludGVybmFsX3NzcmMpLCAocnRwX3Nlc3Npb25fZ2V0X2ludGVybmFsX3NzcmMpLAoJICAocnRwX3Nlc3Npb25fb25fdGltZW91dCk6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5oOgoJICBBZGRlZCBkZWJ1Z2dpbmcgZm9yIHRoZSBjb2xsaXNpb24gY2hlY2tzLgoJICBBZGQgbWV0aG9kIHRvIGNoYW5nZSB0aGUgaW50ZXJuYWwgU1NSQyBvZiB0aGUgc2Vzc2lvbi4KCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuYzogKHJ0cF9zb3VyY2VfcHJvY2Vzc19ydHApOgoJICBSZXNldCB0aGUgY2xvY2sgYmFzZSB3aGVuIHdlIGRldGVjdCBsYXJnZSBqdW1wcyBpbiB0aGUgc2VxbnVtcy4KCjIwMDgtMDgtMTEgMDc6MjA6MTUgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOiBQcmludCB0aGUgcGFkLW5hbWUgaW4gZGVidWcgbG9nLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzoKCSAgUHJpbnQgdGhlIHBhZC1uYW1lIGluIGRlYnVnIGxvZy4KCSAgKiBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93YXVkaW9zcmMuYzoKCSAgKiBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93dmlkZW9zcmMuYzoKCSAgVXNlICItIiBpbnN0ZWFkIG9mICJfIiBpbiBwcm9wZXJ0eSBuYW1lcy4gQ2FuIHdlIGNhbGwgdGhlbSBqdXN0CgkgICJkZXZpY2UiIGxpa2UgZXZlcnl3aGVyZSBlbHNlPwoKMjAwOC0wOC0wNSAwOTo0Mjo1MyArMDAwMCAgT2xpdmllciBDcmV0ZSA8dGVzdGVyQHRlc3Rlci5jYT4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOiBNYWtlIHRoZSBidWZmZXIgbWV0YWRhdGEgd3JpdGFibGUgYmVmb3JlIGluc2VydGluZyBpdCBpbiB0aGUgaml0dGVyYnVmZmVyIGJlY2F1cy4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgQmFzZWQgb24gcGF0Y2ggYnk6IE9saXZpZXIgQ3JldGUgPHRlc3RlciBhdCB0ZXN0ZXIgZG90IGNhPgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2NoYWluKSwgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9sb29wKToKCSAgTWFrZSB0aGUgYnVmZmVyIG1ldGFkYXRhIHdyaXRhYmxlIGJlZm9yZSBpbnNlcnRpbmcgaXQgaW4gdGhlCgkgIGppdHRlcmJ1ZmZlciBiZWNhdXNlIHRoZSBqaXR0ZXJidWZmZXIgd2lsbCBtb2RpZnkgdGhlIHRpbWVzdGFtcHMuCgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwaml0dGVyYnVmZmVyLmM6CgkgIFVwZGF0ZSBtZXRob2QgY29tbWVudCBhYm91dCByZXF1aXJpbmcgd3JpdGFibGUgbWV0YWRhdGEgb24gYnVmZmVycy4KCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6IChydHBfc2Vzc2lvbl9wcm9jZXNzX3NyKSwKCSAgKHJ0cF9zZXNzaW9uX3Byb2Nlc3NfcnRjcCk6CgkgIE1ha2UgdGhlIFJUQ1AgYnVmZmVyIG1ldGFkYXRhIHdyaXRhYmxlIGJlY2F1c2Ugd2Ugd2FudCB0byBtb2RpZnkgdGhlCgkgIG1ldGFkYXRhLgoJICBGaXhlcyAjNTQ2MzEyLgoKMjAwOC0wOC0wNSAwOTowMDo1MCArMDAwMCAgSMOldmFyZCBHcmFmZiA8aGF2YXJkLmdyYWZmQHRhbmRiZXJnLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOiBGaXggZGVidWcgYnkgbG9nZ2luZyB0aGUgcmlnaHQgc2VxbnVtLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IEjDpXZhcmQgR3JhZmYgPGhhdmFyZCBkb3QgZ3JhZmYgYXQgdGFuZGJlcmcgZG90IGNvbT4KCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9jaGFpbik6CgkgIEZpeCBkZWJ1ZyBieSBsb2dnaW5nIHRoZSByaWdodCBzZXFudW0uCgoyMDA4LTA4LTA1IDA4OjU4OjI3ICswMDAwICBPbGl2aWVyIENyZXRlIDx0ZXN0ZXJAdGVzdGVyLmNhPgoKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6IFJlbGVhc2UgbG9jayBiZWZvcmUgZW1pdHRpbmcgdGhlIHJlcXVlc3QtcHQtbWFwIHNpZ25hbC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBPbGl2aWVyIENyZXRlIDx0ZXN0ZXIgYXQgdGVzdGVyIGRvdCBjYT4KCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzogKGdldF9wdF9tYXApOgoJICBSZWxlYXNlIGxvY2sgYmVmb3JlIGVtaXR0aW5nIHRoZSByZXF1ZXN0LXB0LW1hcCBzaWduYWwuCgkgIEZpeGVzICM1NDM0ODAuCgoyMDA4LTA3LTAzIDE0OjQ0OjUxICswMDAwICBQZXRlciBLamVsbGVyc3RlZHQgPHBrakBheGlzLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyLzogQ29ycmVjdGVkIGEgdHlwbyAoaW50ZXJwb2xsYXRlIC0+IGludGVycG9sYXRlKS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogQ2hhbmdlTG9nOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOiAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2xvb3ApOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5jOiAocnRwX3NvdXJjZV9nZXRfbmV3X3NyKToKCSAgQ29ycmVjdGVkIGEgdHlwbyAoaW50ZXJwb2xsYXRlIC0+IGludGVycG9sYXRlKS4KCjIwMDgtMDctMDMgMTQ6MzE6MTAgKzAwMDAgIFBldGVyIEtqZWxsZXJzdGVkdCA8cGtqQGF4aXMuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvOiBDaGFuZ2VkIHNvbWUgR1NUX0RFQlVHKCkgdG8gR1NUX0xPRygpIHRvIHJlZHVjZSB0aGUgc3BhbSB3aGVuIGEgcGlwZWxpbmUgaXMgcnVubmluZyBub3JtYWxseS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOiAoZ3N0X3J0cF9zZXNzaW9uX3Byb2Nlc3NfcnRwKSwKCSAgKGdzdF9ydHBfc2Vzc2lvbl9zZW5kX3J0cCksIChnc3RfcnRwX3Nlc3Npb25fc2VuZF9ydGNwKSwKCSAgKGdzdF9ydHBfc2Vzc2lvbl9zeW5jX3J0Y3ApLCAoZ3N0X3J0cF9zZXNzaW9uX2NoYWluX3JlY3ZfcnRwKSwKCSAgKGdzdF9ydHBfc2Vzc2lvbl9jaGFpbl9yZWN2X3J0Y3ApLCAoZ3N0X3J0cF9zZXNzaW9uX2NoYWluX3NlbmRfcnRwKToKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6IChzb3VyY2VfcHVzaF9ydHApLAoJICAocnRwX3Nlc3Npb25fc2VuZF9ydHApOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5jOiAocHVzaF9wYWNrZXQpLCAoY2FsY3VsYXRlX2ppdHRlciksCgkgIChydHBfc291cmNlX3Byb2Nlc3NfcnRwKSwgKHJ0cF9zb3VyY2Vfc2VuZF9ydHApOgoJICBDaGFuZ2VkIHNvbWUgR1NUX0RFQlVHKCkgdG8gR1NUX0xPRygpIHRvIHJlZHVjZSB0aGUgc3BhbSB3aGVuIGEKCSAgcGlwZWxpbmUgaXMgcnVubmluZyBub3JtYWxseS4KCjIwMDgtMDctMDMgMTM6NDc6MTkgKzAwMDAgIFBldGVyIEtqZWxsZXJzdGVkdCA8cGtqQGF4aXMuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvOiBEbyBub3QgbWl4IHRoZSB1c2Ugb2YgZ19nZXRfY3VycmVudF90aW1lKCkgd2l0aCBnc3RfY2xvY2tfZ2V0X3RpbWUoKS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOiAoZ3N0X3J0cF9zZXNzaW9uX2luaXQpLAoJICAoZ3N0X3J0cF9zZXNzaW9uX2ZpbmFsaXplKSwgKHJ0Y3BfdGhyZWFkKSwKCSAgKGdzdF9ydHBfc2Vzc2lvbl9jaGFpbl9yZWN2X3J0cCksIChnc3RfcnRwX3Nlc3Npb25fY2hhaW5fcmVjdl9ydGNwKSwKCSAgKGdzdF9ydHBfc2Vzc2lvbl9ldmVudF9zZW5kX3J0cF9zaW5rKSwKCSAgKGdzdF9ydHBfc2Vzc2lvbl9jaGFpbl9zZW5kX3J0cCk6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOiAoY2hlY2tfY29sbGlzaW9uKSwKCSAgKHVwZGF0ZV9hcnJpdmFsX3N0YXRzKSwgKHJ0cF9zZXNzaW9uX3Byb2Nlc3NfcnRwKSwKCSAgKHJ0cF9zZXNzaW9uX3Byb2Nlc3NfcnRjcCksIChydHBfc2Vzc2lvbl9zZW5kX3J0cCksCgkgIChydHBfc2Vzc2lvbl9zZW5kX2J5ZV9sb2NrZWQpLCAocnRwX3Nlc3Npb25fc2VuZF9ieWUpLAoJICAocnRwX3Nlc3Npb25fbmV4dF90aW1lb3V0KSwgKHNlc3Npb25fcmVwb3J0X2Jsb2NrcyksIChzZXNzaW9uX2NsZWFudXApLAoJICAoaXNfcnRjcF90aW1lKSwgKHJ0cF9zZXNzaW9uX29uX3RpbWVvdXQpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uaDoKCSAgRG8gbm90IG1peCB0aGUgdXNlIG9mIGdfZ2V0X2N1cnJlbnRfdGltZSgpIHdpdGggZ3N0X2Nsb2NrX2dldF90aW1lKCkuCgoyMDA4LTA2LTE2IDA3OjMwOjM0ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBGaW5hbCByb3VuZCBvZiBkb2MgdXBkYXRlcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgICogZ3N0L3NwZWVkL2dzdHNwZWVkLmM6CgkgICogZ3N0L3NwZWV4cmVzYW1wbGUvZ3N0c3BlZXhyZXNhbXBsZS5jOgoJICAqIGdzdC92aWRlb3NpZ25hbC9nc3R2aWRlb2FuYWx5c2UuYzoKCSAgKiBnc3QvdmlkZW9zaWduYWwvZ3N0dmlkZW9kZXRlY3QuYzoKCSAgKiBnc3QvdmlkZW9zaWduYWwvZ3N0dmlkZW9tYXJrLmM6CgkgICogc3lzL2R2Yi9nc3RkdmJzcmMuYzoKCSAgKiBzeXMvb3NzNC9vc3M0LW1peGVyLmM6CgkgICogc3lzL29zczQvb3NzNC1zaW5rLmM6CgkgICogc3lzL29zczQvb3NzNC1zb3VyY2UuYzoKCSAgKiBzeXMvd2luaW5ldC9nc3R3aW5pbmV0c3JjLmM6CgkgIEZpbmFsIHJvdW5kIG9mIGRvYyB1cGRhdGVzLgoKMjAwOC0wNi0xNiAwNzowMzo1OCArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0LzogTW9yZSBkb2MgdXBkYXRlcy4gTW9yZSB4cmVmcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwY2xpZW50LmM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwcHRkZW11eC5jOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzc3JjZGVtdXguYzoKCSAgKiBnc3Qvc2RwL2dzdHNkcGRlbXV4LmM6CgkgIE1vcmUgZG9jIHVwZGF0ZXMuIE1vcmUgeHJlZnMuCgoyMDA4LTA2LTEyIDE0OjQ5OjE4ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBEbyBub3QgdXNlIHNob3J0X2Rlc2NyaXB0aW9uIGluIHNlY3Rpb24gZG9jcyBmb3IgZWxlbWVudHMuIFdlIGV4dHJhY3QgdGhlbSBmcm9tIGVsZW1lbnQgZGV0YWlscyBhbmQgdGhlcmUgd2lsbCBiZSB3YXIuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2RjMTM5NC9nc3RkYzEzOTQuYzoKCSAgKiBleHQvaXZvcmJpcy92b3JiaXNkZWMuYzoKCSAgKiBleHQvamFjay9nc3RqYWNrYXVkaW9zaW5rLmM6CgkgICogZXh0L21ldGFkYXRhL2dzdG1ldGFkYXRhZGVtdXguYzoKCSAgKiBleHQvbXl0aHR2L2dzdG15dGh0dnNyYy5jOgoJICAqIGV4dC90aGVvcmEvdGhlb3JhZGVjLmM6CgkgICogZ3N0LWxpYnMvZ3N0L2FwcC9nc3RhcHBzaW5rLmM6CgkgICogZ3N0L2JheWVyL2dzdGJheWVyMnJnYi5jOgoJICAqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5jOgoJICAqIGdzdC9yYXdwYXJzZS9nc3RhdWRpb3BhcnNlLmM6CgkgICogZ3N0L3Jhd3BhcnNlL2dzdHZpZGVvcGFyc2UuYzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBjbGllbnQuYzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBwdGRlbXV4LmM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNzcmNkZW11eC5jOgoJICAqIGdzdC9zZWxlY3Rvci9nc3RpbnB1dHNlbGVjdG9yLmM6CgkgICogZ3N0L3NlbGVjdG9yL2dzdG91dHB1dHNlbGVjdG9yLmM6CgkgICogZ3N0L3ZpZGVvc2lnbmFsL2dzdHZpZGVvYW5hbHlzZS5jOgoJICAqIGdzdC92aWRlb3NpZ25hbC9nc3R2aWRlb2RldGVjdC5jOgoJICAqIGdzdC92aWRlb3NpZ25hbC9nc3R2aWRlb21hcmsuYzoKCSAgKiBzeXMvb3NzNC9vc3M0LW1peGVyLmM6CgkgICogc3lzL29zczQvb3NzNC1zaW5rLmM6CgkgICogc3lzL29zczQvb3NzNC1zb3VyY2UuYzoKCSAgRG8gbm90IHVzZSBzaG9ydF9kZXNjcmlwdGlvbiBpbiBzZWN0aW9uIGRvY3MgZm9yIGVsZW1lbnRzLiBXZSBleHRyYWN0CgkgIHRoZW0gZnJvbSBlbGVtZW50IGRldGFpbHMgYW5kIHRoZXJlIHdpbGwgYmUgd2FybmluZ3MgaWYgdGhleSBkaWZmZXIuCgkgIEFsc28gZml4aW5nIHVwIHRoZSBDaGFuZ2VMb2cgb3JkZXIuCgoyMDA4LTA2LTA2IDEzOjAxOjA1ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6IEZpeCBkZWFkbG9jayB3aGVuIHNodXR0aW5nIGRvd24sIHVzZSBhIG5ldyBsb2NrIGluc3RlYWQgdG8gcHJvcGVybHkgc2h1dGRvd24uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOiAoZ3N0X3J0cF9iaW5faW5pdCksCgkgIChnc3RfcnRwX2Jpbl9maW5hbGl6ZSksIChnc3RfcnRwX2Jpbl9jaGFuZ2Vfc3RhdGUpOgoJICBGaXggZGVhZGxvY2sgd2hlbiBzaHV0dGluZyBkb3duLCB1c2UgYSBuZXcgbG9jayBpbnN0ZWFkIHRvIHByb3Blcmx5CgkgIHNodXRkb3duLgoKMjAwOC0wNS0yNyAxNjo0ODoxMCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOiBCcmVhayBvdXQgb2YgY2FsbGJhY2tzIHdoZW4gd2UgYXJlIHNodXR0aW5nIGRvd24uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOgoJICAoZ3N0X3J0cF9iaW5fcHJvcGFnYXRlX3Byb3BlcnR5X3RvX2ppdHRlcmJ1ZmZlciksCgkgIChnc3RfcnRwX2Jpbl9jaGFuZ2Vfc3RhdGUpLCAobmV3X3BheWxvYWRfZm91bmQpLAoJICAobmV3X3NzcmNfcGFkX2ZvdW5kKToKCSAgQnJlYWsgb3V0IG9mIGNhbGxiYWNrcyB3aGVuIHdlIGFyZSBzaHV0dGluZyBkb3duLgoJICBNYWtlIHN1cmUgbm8gc3RhdGUgY2hhbmdlcyBjYW4gaGFwcGVuIHdoZW4gd2UgcmVjb25maWd1cmUuCgoyMDA4LTA1LTI2IDEwOjA5OjI5ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6IFdoZW4gY2hlY2tpbmcgdGhlIHNlcW51bSwgcmVzZXQgdGhlIGppdHRlcmJ1ZmZlciBpZiB0aGUgZ2FwIGlzIHRvbyBiaWcsIHdlIG5lZWQgLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2NoYWluKSwgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9sb29wKToKCSAgV2hlbiBjaGVja2luZyB0aGUgc2VxbnVtLCByZXNldCB0aGUgaml0dGVyYnVmZmVyIGlmIHRoZSBnYXAgaXMgdG9vIGJpZywKCSAgd2UgbmVlZCB0byBkbyB0aGlzIHNvIHRoYXQgd2UgY2FuIGJldHRlciBoYW5kbGUgYSByZXN0YXJ0ZWQgc291cmNlLgoJICBGaXggc29tZSBjb21tZW50cy4KCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBqaXR0ZXJidWZmZXIuYzogKGNhbGN1bGF0ZV9za2V3KSwKCSAgKHJ0cF9qaXR0ZXJfYnVmZmVyX2luc2VydCk6CgkgIFR3ZWFrIHRoZSBza2V3IHJlc3luYyBkaWZmLgoJICBVc2Ugb3VyIHdvcmtpbmcgc2VxbnVtIGNvbXBhcmUgZnVuY3Rpb24gaW4gLWJhc2UuCgkgIFJld29yayB0aGUgaml0dGVyYnVmZmVyIGluc2VydCBjb2RlIHRvIG1ha2UgaXQgY2xlYXJlciBhbmQgbW9yZQoJICBwZXJmb3JtYW50IGJ5IG9ubHkgcmV0cmlldmluZyB0aGUgc2VxbnVtIG9mIHRoZSBpbnB1dCBidWZmZXIgb25jZSBhbmQgYnkKCSAgYWRkaW5nIHNvbWUgR19MSUtFTFkgY29tcGlsZXIgaGludHMuCgkgIEltcHJvdmUgZGVidWdnaW5nIGZvciBkdXBsaWNhdGUgcGFja2V0cy4KCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuYzogKHJ0cF9zb3VyY2VfcHJvY2Vzc19ydHApOgoJICBGaXggYSBjb21tZW50LCB3ZSBkb24ndCBkbyBza2V3IGNvcnJlY3Rpb24gaGVyZS4uCgoyMDA4LTA1LTI2IDEwOjAwOjI0ICswMDAwICBIw6V2YXJkIEdyYWZmIDxoYXZhcmQuZ3JhZmZAdGFuZGJlcmcuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6IFByb3BhZ2F0ZSB0aGUgZG8tbG9zdCBhbmQgbGF0ZW5jeSBwcm9wZXJ0aWVzIHRvIHRoZSBqaXR0ZXJidWZmZXJzIHdoZW4gdGhleSBhcmUgY2hhbmdlZCBvLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogSMOldmFyZCBHcmFmZiA8aGF2YXJkIGRvdCBncmFmZiBhdCB0YW5kYmVyZyBkb3QgY29tPgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOgoJICAoZ3N0X3J0cF9iaW5fcHJvcGFnYXRlX3Byb3BlcnR5X3RvX2ppdHRlcmJ1ZmZlciksCgkgIChnc3RfcnRwX2Jpbl9zZXRfcHJvcGVydHkpOgoJICBQcm9wYWdhdGUgdGhlIGRvLWxvc3QgYW5kIGxhdGVuY3kgcHJvcGVydGllcyB0byB0aGUgaml0dGVyYnVmZmVycyB3aGVuCgkgIHRoZXkgYXJlIGNoYW5nZWQgb24gcnRwYmluLgoKMjAwOC0wNS0yNiAwOTo1Nzo0MCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIERvbid0IHVzZSBfZ3N0X3BhZCgpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleGFtcGxlcy9zd2l0Y2gvc3dpdGNoZXIuYzogKHN3aXRjaF90aW1lcik6CgkgICogZ3N0L3JlcGxheWdhaW4vZ3N0cmd2b2x1bWUuYzogKGdzdF9yZ192b2x1bWVfaW5pdCk6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwY2xpZW50LmM6IChjcmVhdGVfc3RyZWFtKToKCSAgKiBnc3Qvc2RwL2dzdHNkcGRlbXV4LmM6IChnc3Rfc2RwX2RlbXV4X3N0cmVhbV9jb25maWd1cmVfdWRwKSwKCSAgKGdzdF9zZHBfZGVtdXhfc3RyZWFtX2NvbmZpZ3VyZV91ZHBfc2luayk6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvZGVpbnRlcmxlYXZlLmM6IChHU1RfU1RBUlRfVEVTVCksCgkgIChwYWRfYWRkZWRfc2V0dXBfZGF0YV9jaGVja19mbG9hdDMyXzhjaF9jYik6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvcmdhbmFseXNpcy5jOiAoc2VuZF9lb3NfZXZlbnQpLAoJICAoc2VuZF90YWdfZXZlbnQpOgoJICBEb24ndCB1c2UgX2dzdF9wYWQoKS4KCjIwMDgtMDUtMTYgMTk6NTY6MzAgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgZG9jcy9NYWtlZmlsZS5hbTogRG9uJ3QgYXR0ZW1wdCB0byBidWlsZCBwbHVnaW4gZG9jcyB3aGVuIHRoZXkncmUgZGlzYWJsZWQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGRvY3MvTWFrZWZpbGUuYW06CgkgIERvbid0IGF0dGVtcHQgdG8gYnVpbGQgcGx1Z2luIGRvY3Mgd2hlbiB0aGV5J3JlIGRpc2FibGVkLgoJICAqIGdzdC9iYXllci9NYWtlZmlsZS5hbToKCSAgQWRkIGxpYmdzdHZpZGVvIHRvIHRoZSBsaW5rLgoJICAqIGdzdC9ydHBtYW5hZ2VyL01ha2VmaWxlLmFtOgoJICBGaXggbGluayBvcmRlciwgYW5kIG1vdmUgTElCUyB0aGluZ3MgdG8gX0xJQlMKCjIwMDgtMDUtMTQgMjE6MDI6MTkgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzogU2ltcGx5IGRyb3AgYmFkIFJUUCBwYWNrZXRzIHdpdGggYSB3YXJuaW5nIGluc3RlYWQgb2YganVzdCBwb3N0aW5nIGFuIGVycm9yIGFuZCAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfY2hhaW4pOgoJICBTaW1wbHkgZHJvcCBiYWQgUlRQIHBhY2tldHMgd2l0aCBhIHdhcm5pbmcgaW5zdGVhZCBvZiBqdXN0IHBvc3RpbmcgYW4KCSAgZXJyb3IgYW5kIHN0b3BwaW5nLiBUaGlzIGlzIGEgcGVyZmVjdGx5IHJlY292ZXJhYmxlIGV2ZW50IGFuZCB3ZSBkb24ndAoJICBmb3JjZSBwZW9wbGUgdG8gdXNlIGFuIHJ0cGJpbiB0byBmaWx0ZXIgb3V0IGJhZCBwYWNrZXRzIGZpcnN0LgoKMjAwOC0wNS0xMyAwOTowNjo1MSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOiBBY3R1YWxseSBhZGQgdGhlIGRvLWxvc3QgcHJvcGVydHkgdG8gdGhlIG9iamVjdC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6IChnc3RfcnRwX2Jpbl9jbGFzc19pbml0KToKCSAgQWN0dWFsbHkgYWRkIHRoZSBkby1sb3N0IHByb3BlcnR5IHRvIHRoZSBvYmplY3QuCgoyMDA4LTA1LTEyIDE4OjQzOjQxICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6IEF2b2lkIHdhaXRpbmcgZm9yIGEgbmVnYXRpdmUgKGh1Z2UpIGR1cmF0aW9uIHdoZW4gdGhlIGxhc3QgcGFja2V0IGhhcyBhIGxvd2VyIHRpLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2xvb3ApOgoJICBBdm9pZCB3YWl0aW5nIGZvciBhIG5lZ2F0aXZlIChodWdlKSBkdXJhdGlvbiB3aGVuIHRoZSBsYXN0IHBhY2tldCBoYXMgYQoJICBsb3dlciB0aW1lc3RhbXAgdGhhbiB0aGUgY3VycmVudCBwYWNrZXQuCgoyMDA4LTA1LTEyIDE0OjI4OjA5ICswMDAwICBQZXRlciBLamVsbGVyc3RlZHQgPHBrakBheGlzLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzogTWFrZSBzdXJlIHRvIHVucmVmIHRoZSBydHBzZXNzaW9uIHJldHVybmVkIGJ5IGdzdF9wYWRfZ2V0X3BhcmVudCgpIHRvIHByZXZlbnQgYSBtZW1vci4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6IChnc3RfcnRwX3Nlc3Npb25fcXVlcnlfc2VuZF9ydGNwX3NyYyk6CgkgIE1ha2Ugc3VyZSB0byB1bnJlZiB0aGUgcnRwc2Vzc2lvbiByZXR1cm5lZCBieSBnc3RfcGFkX2dldF9wYXJlbnQoKSB0bwoJICBwcmV2ZW50IGEgbWVtb3J5IGxlYWsuCgoyMDA4LTA1LTEyIDE0OjEyOjA4ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOiBJbml0aWFsaXNlIHdpdGggR1NUX0NMT0NLX1RJTUVfTk9ORSB0byBhdm9pZCBjb21waWxlciB3YXJuaW5nLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9sb29wKToKCSAgSW5pdGlhbGlzZSB3aXRoIEdTVF9DTE9DS19USU1FX05PTkUgdG8gYXZvaWQgY29tcGlsZXIgd2FybmluZy4KCjIwMDgtMDUtMDkgMDc6NDE6NTggKzAwMDAgIFBldGVyIEtqZWxsZXJzdGVkdCA8cGtqQGF4aXMuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmM6IE1ha2Ugc3VyZSB0byB1bnJlZiB0aGUgY2FwcyB1c2VkIGJ5IFJUUFNvdXJjZSB0byBwcmV2ZW50IGEgbWVtb3J5IGxlYWsuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5jOiAocnRwX3NvdXJjZV9maW5hbGl6ZSk6CgkgIE1ha2Ugc3VyZSB0byB1bnJlZiB0aGUgY2FwcyB1c2VkIGJ5IFJUUFNvdXJjZSB0byBwcmV2ZW50IGEgbWVtb3J5IGxlYWsuCgoyMDA4LTA1LTA4IDA5OjQzOjMzICswMDAwICBPbGl2aWVyIENyZXRlIDx0ZXN0ZXJAdGVzdGVyLmNhPgoKCSAgZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOiBVbmxvY2sgdGhlIHNlc3Npb24gbG9jayB3aGVuIGNhbGxpbmcgb25lIG9mIG91ciBjYWxsYmFja3MuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogT2xpdmllciBDcmV0ZSA8dGVzdGVyIGF0IHRlc3RlciBkb3QgY2E+CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOiAoc291cmNlX2Nsb2NrX3JhdGUpLAoJICAocnRwX3Nlc3Npb25fcHJvY2Vzc19ieWUpLCAocnRwX3Nlc3Npb25fc2VuZF9ieWVfbG9ja2VkKToKCSAgVW5sb2NrIHRoZSBzZXNzaW9uIGxvY2sgd2hlbiBjYWxsaW5nIG9uZSBvZiBvdXIgY2FsbGJhY2tzLgoJICBGaXhlcyAjNTMyMDExLgoKMjAwOC0wNS0wOCAwNjoyMzozOSArMDAwMCAgU2pvZXJkIFNpbW9ucyA8c2pvZXJkQGx1b24ubmV0PgoKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOiBTZW5kIFJUUCBCWUUgY29tbWFuZCBvbiBFT1MuIEZpeGVzIGJ1ZyAjNTMxOTU1LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFNqb2VyZCBTaW1vbnMgPHNqb2VyZCBhdCBsdW9uIGRvdCBuZXQ+CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOgoJICAoZ3N0X3J0cF9zZXNzaW9uX2V2ZW50X3NlbmRfcnRwX3NpbmspOgoJICBTZW5kIFJUUCBCWUUgY29tbWFuZCBvbiBFT1MuIEZpeGVzIGJ1ZyAjNTMxOTU1LgoKMjAwOC0wNC0yNSAxMTozMjowOSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi4qOiBFeHBvc2UgbmV3IGppdHRlcmJ1ZmZlciBwcm9wZXJ0eSBpbiBydHBiaW4gdG9vLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzogKGNyZWF0ZV9zdHJlYW0pLCAoZ3N0X3J0cF9iaW5faW5pdCksCgkgIChnc3RfcnRwX2Jpbl9zZXRfcHJvcGVydHkpLCAoZ3N0X3J0cF9iaW5fZ2V0X3Byb3BlcnR5KToKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uaDoKCSAgRXhwb3NlIG5ldyBqaXR0ZXJidWZmZXIgcHJvcGVydHkgaW4gcnRwYmluIHRvby4KCjIwMDgtMDQtMjUgMTE6MjI6MTMgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzogRGlzYWJsZSBzZW5kaW5nIG91dCBydHAgcGFja2V0IGxvc3QgZXZlbnRzIGJ5IGRlZmF1bHQgYW5kIG1ha2UgYSBwcm9wZXJ0eSB0byBlbmEuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfY2xhc3NfaW5pdCksIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfaW5pdCksCgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfbG9vcCksIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9nZXRfcHJvcGVydHkpOgoJICBEaXNhYmxlIHNlbmRpbmcgb3V0IHJ0cCBwYWNrZXQgbG9zdCBldmVudHMgYnkgZGVmYXVsdCBhbmQgbWFrZSBhCgkgIHByb3BlcnR5IHRvIGVuYWJlIGl0LiBXZSB3aWxsIGxpa2VseSBlbmFibGUgaXQgYnkgZGVmYXVsdCB3aGVuIHRoZSBiYXNlCgkgIGRlcGF5bG9hZGVycyBoYXZlIGEgZGVmYXVsdCBoYW5kbGVyIGZvciB0aGVtIHNvIHRoYXQgd2UgZG9uJ3Qgc2VuZCB0aGVzZQoJICBldmVudHMgYWxsIHRocm91Z2ggdGhlIHBpcGVsaW5lIGZvciBub3cuCgoyMDA4LTA0LTI1IDA5OjM1OjQzICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6IFJlbW92ZSBwcml2YXRlIHZlcnNpb24gb2YgYSBmdW5jdGlvbiB0aGF0IGlzIGluIC1iYXNlIG5vdy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfaW5pdCksIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfZmx1c2hfc3RvcCksCgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfc3JjX2V2ZW50KSwgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9jaGFpbiksCgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfbG9vcCk6CgkgIFJlbW92ZSBwcml2YXRlIHZlcnNpb24gb2YgYSBmdW5jdGlvbiB0aGF0IGlzIGluIC1iYXNlIG5vdy4KCSAgQWRkIHNyYyBldmVudCBoYW5kbGVyLgoJICBSZXdvcmsgdGhlIGppdHRlcmJ1ZmZlciBwdXNoaW5nIGxvb3Agc28gdGhhdCBpdCBjYW4gcXVpY2tseSByZWFjdCB0bwoJICBsb3N0IHBhY2tldHMgYW5kIGluc3RydWN0IHRoZSBkZXBheWxvYWRlciBvZiB0aGVtLiBUaGlzIGNhbiB0aGVuIGJlIHVzZWQKCSAgdG8gaW1wbGVtZW50IGVycm9yIGNvbmNlYWxtZW50IGRhdGEuCgoyMDA4LTA0LTI1IDA4OjIxOjA2ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOiBTZXQgdXAgc29tZSBpbnRlcm5hbCBsaW5rcyBmdW5jdGlvbnMgZm9yIHRoZSBSVENQIGFuZCBzeW5jIHBhZHMgYmVjYXVzZSB0aGUgZGVmYXVsdHMgLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzoKCSAgKGdzdF9ydHBfc2Vzc2lvbl9xdWVyeV9zZW5kX3J0Y3Bfc3JjKSwgKGNyZWF0ZV9yZWN2X3J0Y3Bfc2luayksCgkgIChjcmVhdGVfc2VuZF9ydGNwX3NyYyk6CgkgIFNldCB1cCBzb21lIGludGVybmFsIGxpbmtzIGZ1bmN0aW9ucyBmb3IgdGhlIFJUQ1AgYW5kIHN5bmMgcGFkcyBiZWNhdXNlCgkgIHRoZSBkZWZhdWx0cyBhcmUgcmVhbGx5IG5vdCBjb3JyZWN0LgoJICBJbXBsZW1lbnQgYSBxdWVyeSBoYW5kbGVyIGZvciB0aGUgUlRDUCBzcmMgcGFkLCBtb3N0bHkgdG8gY29ycmVjdGx5CgkgIHJlcG9ydCBhYm91dCB0aGUgbGF0ZW5jeS4KCjIwMDgtMDQtMjUgMDg6MTU6NTggKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci86IEFsc28ga2VlcCB0cmFjayBvZiB0aGUgZmlyc3QgYnVmZmVyIHRpbWVzdGFtcCB0b2dldGhlciB3aXRoIHRoZSBmaXJzdAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzogKGdzdF9ydHBfYmluX2Fzc29jaWF0ZSksCgkgIChnc3RfcnRwX2Jpbl9zeW5jX2NoYWluKToKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6ICh1cGRhdGVfYXJyaXZhbF9zdGF0cyksCgkgIChydHBfc2Vzc2lvbl9wcm9jZXNzX3NyKSwgKHJ0cF9zZXNzaW9uX29uX3RpbWVvdXQpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5jOiAocnRwX3NvdXJjZV9pbml0KSwKCSAgKGNhbGN1bGF0ZV9qaXR0ZXIpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5oOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHN0YXRzLmg6CgkgIEFsc28ga2VlcCB0cmFjayBvZiB0aGUgZmlyc3QgYnVmZmVyIHRpbWVzdGFtcCB0b2dldGhlciB3aXRoIHRoZSBmaXJzdAoJICBSVFAgdGltZXN0YW1wIGFzIHRoZXkgYm90aCBhcmUgbmVlZGVkIHRvIGNvbnN0cnVjdCB0aGUgdGltaW5nIG9mCgkgIG91dGdvaW5nIHBhY2tldHMgaW4gdGhlIGppdHRlcmJ1ZmZlciBhbmQgYXJlIHRoZXJlZm9yZSBhbHNvIG5lZWRlZCB0bwoJICBtYW5hZ2UgbGlwLXN5bmMuIFRoaXMgZml4ZXMgbGlwLXN5bmMgaWYgdGhlIGZpcnN0IFJUUCBwYWNrZXRzIGFycml2ZQoJICB3aXRoIGEgd2lsZGx5IGRpZmZlcmVudCBnYXAuCgoyMDA4LTA0LTIxIDA4OjI2OjM3ICswMDAwICBPbGl2aWVyIENyZXRlIDx0ZXN0ZXJAdGVzdGVyLmNhPgoKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6IFJlZiBjYXBzIHdoZW4gaW5zZXJ0aW5nIGludG8gdGhlIGNhY2hlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IE9saXZpZXIgQ3JldGUgPHRlc3RlciBhdCB0ZXN0ZXIgZG90IGNhPgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOiAoY3JlYXRlX3Nlc3Npb24pLCAoZ2V0X3B0X21hcCksCgkgIChuZXdfc3NyY19wYWRfZm91bmQpOgoJICBSZWYgY2FwcyB3aGVuIGluc2VydGluZyBpbnRvIHRoZSBjYWNoZS4KCSAgRG9uJ3QgbGVhayBwYWRzLgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2dldF9jbG9ja19yYXRlKSwKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9xdWVyeSk6CgkgIEF2b2lkIGEgY2FwcyBsZWFrLgoJICBEb24ndCBsZWFrIHJlZmNvdW50IGluIHF1ZXJ5LgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHB0ZGVtdXguYzogKGdzdF9ydHBfcHRfZGVtdXhfZ2V0X2NhcHMpLAoJICAoZ3N0X3J0cF9wdF9kZW11eF9jaGFpbik6CgkgIEF2b2lkIGNhcHMgbGVha3MuCgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOiAoc291cmNlX2dldF9zZGVzX3N0cnVjdHVyZSksCgkgIChnc3RfcnRwX3Nlc3Npb25faW5pdCksIChyZXR1cm5fdHJ1ZSksCgkgIChnc3RfcnRwX3Nlc3Npb25fY2xlYXJfcHRfbWFwKSwgKGdzdF9ydHBfc2Vzc2lvbl9jYWNoZV9jYXBzKSwKCSAgKGdzdF9ydHBfc2Vzc2lvbl9jbG9ja19yYXRlKToKCSAgUmVmIGNhcHMgd2hlbiBpbnNlcnRpbmcgaW50byB0aGUgY2FjaGUuCgkgIEZpeCBzb21lIG1vcmUgY2FwcyBsZWFrcy4gRml4ZXMgIzUyODI0NS4KCjIwMDgtMDQtMTcgMDc6MzE6NDQgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci86IFVuc2V0IEdWYWx1ZXMgYWZ0ZXIgZ19zaWduYWxfZW1pdHYgc28gdGhhdCB3ZSBhdm9pZCBhIHJlZmNvdW50IGxlYWsuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOiAoZ2V0X3B0X21hcCksIChmcmVlX2NsaWVudCksCgkgIChnc3RfcnRwX2Jpbl9hc3NvY2lhdGUpLCAoZ3N0X3J0cF9iaW5fZ2V0X2ZyZWVfcGFkX25hbWUpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2dldF9jbG9ja19yYXRlKToKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBwdGRlbXV4LmM6IChnc3RfcnRwX3B0X2RlbXV4X2dldF9jYXBzKToKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6IChnc3RfcnRwX3Nlc3Npb25fY2xvY2tfcmF0ZSk6CgkgIFVuc2V0IEdWYWx1ZXMgYWZ0ZXIgZ19zaWduYWxfZW1pdHYgc28gdGhhdCB3ZSBhdm9pZCBhIHJlZmNvdW50IGxlYWsuCgkgIERvbid0IGxlYWsgYSBwYWRuYW1lLgoJICBEb24ndCBsZWFrIGNsaWVudCBzdHJlYW1zIGxpc3QuCgkgIExvY2sgcnRwYmluIHdoZW4gYXNzb2NpYXRpbmcgc3RyZWFtcy4gRml4ZXMgIzUyODI0NS4KCjIwMDgtMDQtMDkgMjI6Mjc6NTAgKzAwMDAgIFBldGVyIEtqZWxsZXJzdGVkdCA8cGtqQGF4aXMuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvOiBBdm9pZCBsZWFraW5nIHBhZHMgaW4gdGhlIFJUUCBtYW5hZ2VyLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzogKGZyZWVfc2Vzc2lvbik6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOiAoZ3N0X3J0cF9zZXNzaW9uX2ZpbmFsaXplKToKCSAgQXZvaWQgbGVha2luZyBwYWRzIGluIHRoZSBSVFAgbWFuYWdlci4KCjIwMDgtMDMtMTEgMTI6NDA6NTggKzAwMDAgIE9saXZpZXIgQ3JldGUgPHRlc3RlckB0ZXN0ZXIuY2E+CgoJICBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLio6IEltcGxlbWVudCBjb2xsaXNpb24gYW5kIGxvb3AgZGV0ZWN0aW9uIGluIHJ0cG1hbmFnZXIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogT2xpdmllciBDcmV0ZSA8dGVzdGVyIGF0IHRlc3RlciBkb3QgY2E+CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOiAoZmluZF9hZGRfY29uZmxpY3RpbmdfYWRkcmVzc2VzKSwKCSAgKGNoZWNrX2NvbGxpc2lvbiksIChvYnRhaW5fc291cmNlKSwgKHJ0cF9zZXNzaW9uX2NyZWF0ZV9uZXdfc3NyYyksCgkgIChydHBfc2Vzc2lvbl9jcmVhdGVfc291cmNlKSwgKHJ0cF9zZXNzaW9uX3Byb2Nlc3NfcnRwKSwKCSAgKHJ0cF9zZXNzaW9uX3Byb2Nlc3Nfc3IpLCAocnRwX3Nlc3Npb25fcHJvY2Vzc19yciksCgkgIChydHBfc2Vzc2lvbl9wcm9jZXNzX3NkZXMpLCAocnRwX3Nlc3Npb25fcHJvY2Vzc19ieWUpLAoJICAocnRwX3Nlc3Npb25fc2VuZF9ieWVfbG9ja2VkKSwgKHJ0cF9zZXNzaW9uX3NlbmRfYnllKSwKCSAgKHJ0cF9zZXNzaW9uX29uX3RpbWVvdXQpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uaDoKCSAgSW1wbGVtZW50IGNvbGxpc2lvbiBhbmQgbG9vcCBkZXRlY3Rpb24gaW4gcnRwbWFuYWdlci4KCSAgRml4ZXMgIzUyMDYyNi4KCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuYzogKHJ0cF9zb3VyY2VfcmVzZXQpLAoJICAocnRwX3NvdXJjZV9pbml0KToKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuaDoKCSAgQWRkIG1ldGhvZCB0byByZXNldCBzdGF0cy4KCjIwMDgtMDMtMTEgMTE6MzY6MDMgKzAwMDAgIE9sZSBBbmRyw6kgVmFkbGEgUmF2bsOlcyA8b2xlLmFuZHJlLnJhdm5hc0B0YW5kYmVyZy5jb20+CgoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6IEF2b2lkIGEgZGVhZGxvY2sgd2hlbiBqb2luaW5nIHRoZSBSVENQIHRocmVhZCBpbiBQQVVTRUQgYmVjYXVzZSBpdCBtaWdodCBiZSBibG9ja2VkIGQuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEJhc2VkIG9uIHBhdGNoIGJ5OiBPbGUgQW5kcsOpIFZhZGxhIFJhdm7DpXMgIDxvbGUuYW5kcmUucmF2bmFzQHRhbmRiZXJnLmNvbT4KCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6IChnc3RfcnRwX3Nlc3Npb25faW5pdCksCgkgIChydGNwX3RocmVhZCksIChzdGFydF9ydGNwX3RocmVhZCksIChzdG9wX3J0Y3BfdGhyZWFkKSwKCSAgKGpvaW5fcnRjcF90aHJlYWQpLCAoZ3N0X3J0cF9zZXNzaW9uX2NoYW5nZV9zdGF0ZSk6CgkgIEF2b2lkIGEgZGVhZGxvY2sgd2hlbiBqb2luaW5nIHRoZSBSVENQIHRocmVhZCBpbiBQQVVTRUQgYmVjYXVzZSBpdCBtaWdodAoJICBiZSBibG9ja2VkIGRvd25zdHJlYW0uIEFsc28gYXZvaWQgc3Bhd25pbmcgbXVsdGlwbGUgcnRjcCB0aHJlYWRzLgoJICBGaXhlcyAjNTIwODk0LgoKMjAwOC0wMy0xMSAxMDo0MzozMiArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSAgZ3N0L3J0cG1hbmFnZXIvcnRwaml0dGVyYnVmZmVyLmM6IERvbid0IHRyeSB0byByZXNldCB0aGUgY2xvY2sgc2tldyB3aGVuIHdlIGhhdmUgbm8gdGltZXN0YW1wcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwaml0dGVyYnVmZmVyLmM6IChjYWxjdWxhdGVfc2tldyk6CgkgIERvbid0IHRyeSB0byByZXNldCB0aGUgY2xvY2sgc2tldyB3aGVuIHdlIGhhdmUgbm8gdGltZXN0YW1wcy4KCSAgRml4ZXMgIzUxOTAwNS4KCjIwMDgtMDItMjAgMDk6MzM6MjUgKzAwMDAgIE9saXZpZXIgQ3JldGUgPHRlc3RlckB0ZXN0ZXIuY2E+CgoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzogRml4IHNtYWxsIG1lbW9yeSBsZWFrLCBsZWFraW5nIGNhcHMuIEZpeGVzICNidWcgNTE3NTcxLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IE9saXZpZXIgQ3JldGUgPHRlc3RlciBhdCB0ZXN0ZXIgZG90IGNhPgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOiAobmV3X3NzcmNfcGFkX2ZvdW5kKToKCSAgRml4IHNtYWxsIG1lbW9yeSBsZWFrLCBsZWFraW5nIGNhcHMuIEZpeGVzICNidWcgNTE3NTcxLgoKMjAwOC0wMi0xNCAxNjoyNTo1MSArMDAwMCAgT2xpdmllciBDcmV0ZSA8dGVzdGVyQHRlc3Rlci5jYT4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOiBJZ25vcmUgc3RyZWFtcyB0aGF0IGRpZCBub3QgcmVjZWl2ZSBhbiBTUiBwYWNrZXQgd2hlbiBkb2luZyBzeW5jaHJvbmlzYXRpb24uIEZpeGVzICM1MTYxNjAuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogT2xpdmllciBDcmV0ZSA8dGVzdGVyQHRlc3Rlci5jYT4KCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzogKGdzdF9ydHBfYmluX2Fzc29jaWF0ZSk6CgkgIElnbm9yZSBzdHJlYW1zIHRoYXQgZGlkIG5vdCByZWNlaXZlIGFuIFNSIHBhY2tldCB3aGVuIGRvaW5nCgkgIHN5bmNocm9uaXNhdGlvbi4gRml4ZXMgIzUxNjE2MC4KCjIwMDgtMDEtMjkgMTg6NTc6MjcgKzAwMDAgIFRoaWpzIFZlcm1laXIgPHRoaWpzdmVybWVpckBnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzogVHJ5IHRvIGdldCB0aGUgbmV3IGNsb2NrLXJhdGUgZnJvbSB0aGUgYnVmZmVyIGNhcHMgd2hlbiB3ZSByZWNlaXZlIGEgbmV3IHBheWxvYWQuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBUaGlqcyBWZXJtZWlyICA8dGhpanN2ZXJtZWlyIGF0IGdtYWlsIGRvdCBjb20+CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfY2hhaW4pOgoJICBUcnkgdG8gZ2V0IHRoZSBuZXcgY2xvY2stcmF0ZSBmcm9tIHRoZSBidWZmZXIgY2FwcyB3aGVuIHdlIHJlY2VpdmUgYSBuZXcKCSAgcGF5bG9hZCB0eXBlIGluc3RlYWQgb2YgYWx3YXlzIGZpcmluZyB0aGUgc2lnbmFsLiBGaXhlcyAjNTEyNzc0LgoKMjAwOC0wMS0yNSAxNjo1ODowMCArMDAwMCAgT2xpdmllciBDcmV0ZSA8dGVzdGVyQHRlc3Rlci5jYT4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOiBBbHNvIGhhbmRsZSBsaXAtc3luYyB3aGVuIHRoZSBjbG9jay1yYXRlIGlzIG5vdCBwcm92aWRlZCB3aXRoIGNhcHMgYnV0IHdpdGggYSBzaWduYWwuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogT2xpdmllciBDcmV0ZSA8dGVzdGVyQHRlc3Rlci5jYT4KCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzogKGdzdF9ydHBfYmluX2Fzc29jaWF0ZSksCgkgIChjcmVhdGVfc3RyZWFtKSwgKHBheWxvYWRfdHlwZV9jaGFuZ2UpLCAobmV3X3NzcmNfcGFkX2ZvdW5kKToKCSAgQWxzbyBoYW5kbGUgbGlwLXN5bmMgd2hlbiB0aGUgY2xvY2stcmF0ZSBpcyBub3QgcHJvdmlkZWQgd2l0aCBjYXBzIGJ1dAoJICB3aXRoIGEgc2lnbmFsLgoKMjAwOC0wMS0yNSAxNjowMDo1MiArMDAwMCAgT2xpdmllciBDcmV0ZSA8dGVzdGVyQHRlc3Rlci5jYT4KCgkgIGdzdC9ydHBtYW5hZ2VyLzogUmVtb3ZlIHRoZSBmaXhlZCBjbG9jay1yYXRlIGZyb20gdGhlIGppdHRlcmJ1ZmZlciBhbmQgZXh0ZW5kIGl0IHNvIHRoYXQgYSBjbG9jay1yYXRlIGNhbiBiZSBwcm92aWRlZC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IE9saXZpZXIgQ3JldGUgPHRlc3RlckB0ZXN0ZXIuY2E+CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIChnc3Rfaml0dGVyX2J1ZmZlcl9zaW5rX3BhcnNlX2NhcHMpLCAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2NoYWluKToKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBqaXR0ZXJidWZmZXIuYzogKGNhbGN1bGF0ZV9za2V3KSwKCSAgKHJ0cF9qaXR0ZXJfYnVmZmVyX2luc2VydCk6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwaml0dGVyYnVmZmVyLmg6CgkgIFJlbW92ZSB0aGUgZml4ZWQgY2xvY2stcmF0ZSBmcm9tIHRoZSBqaXR0ZXJidWZmZXIgYW5kIGV4dGVuZCBpdCBzbyB0aGF0CgkgIGEgY2xvY2stcmF0ZSBjYW4gYmUgcHJvdmlkZWQgd2l0aCBlYWNoIGJ1ZmZlciBpbnN0ZWFkLiBGaXhlcyAjNTExNjg2LgoKMjAwOC0wMS0yNSAxNTo0OTo1NSArMDAwMCAgT2xpdmllciBDcmV0ZSA8dGVzdGVyQHRlc3Rlci5jYT4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOiBSZW1vdmUgb2xkIHVudXNlZCB2YXJpYWJsZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBPbGl2aWVyIENyZXRlIDx0ZXN0ZXJAdGVzdGVyLmNhPgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2luaXQpLCAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2NoYW5nZV9zdGF0ZSksCgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfY2hhaW4pLCAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2xvb3ApOgoJICBSZW1vdmUgb2xkIHVudXNlZCB2YXJpYWJsZS4KCSAgVHJhY2sgcHQgb24gaW5wdXQgYnVmZmVycyBhbmQgZ2V0IHRoZSBjbG9jay1yYXRlIHdoZW4gaXQgY2hhbmdlcy4KCSAgSWdub3JlIHBhY2tldHMgd2l0aCB1bmtub3duIGNsb2NrLXJhdGUuIFNlZSAjNTExNjg2LgoKMjAwOC0wMS0yNSAwMTo0NDoyNyArMDAwMCAgT2xpdmllciBDcmV0ZSA8dGVzdGVyQHRlc3Rlci5jYT4KCgkgIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5jOiBGaXggdW5yZWYgb2YgYnVmZmVyIHVzaW5nIHRoZSB3cm9uZyBmdW5jdGlvbi4gIEZpeGVzICM1MTE5MjAKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBPbGl2aWVyIENyZXRlIDx0ZXN0ZXJAdGVzdGVyLmNhPgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5jOiBGaXggdW5yZWYgb2YgYnVmZmVyIHVzaW5nIHRoZQoJICB3cm9uZyBmdW5jdGlvbi4gIEZpeGVzICM1MTE5MjAKCjIwMDgtMDEtMTEgMTc6MDI6MzAgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6IElmIHdlIGZpbmQgdGhlIGNhcHMgaW4gdGhlIGNhY2hlLCB1c2UgaXQgdG8gcGFyc2UgdGhlIGNsb2NrLXJhdGUgaW5zdGVhZCBvZiByZXR1cm5pbmcuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOiAoZ3N0X3J0cF9zZXNzaW9uX2Nsb2NrX3JhdGUpOgoJICBJZiB3ZSBmaW5kIHRoZSBjYXBzIGluIHRoZSBjYWNoZSwgdXNlIGl0IHRvIHBhcnNlIHRoZSBjbG9jay1yYXRlIGluc3RlYWQKCSAgb2YgcmV0dXJuaW5nIGFuIGVycm9yLiBGaXhlcyBhIFRPRE8gYXMgZm91bmQgYnkgWW91bmVzcyBBbGFvdWkuCgoyMDA4LTAxLTExIDE2OjQ1OjU3ICswMDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSAgZ3N0L3J0cG1hbmFnZXIvOiBNYWtlIGl0IHBvc3NpYmxlIHRvIHVzZSBkaWZmZXJlbnQgdXNlcl9kYXRhIGZvciBlYWNoIG9mIHRoZSBjYWxsYmFja3MuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MgZG90IGFsYW91aSBhdCBjb2xsYWJvcmEgZG90IGNvIGRvdCB1az4KCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6IChnc3RfcnRwX3Nlc3Npb25fY2xvY2tfcmF0ZSk6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOiAocnRwX3Nlc3Npb25fc2V0X2NhbGxiYWNrcyksCgkgIChydHBfc2Vzc2lvbl9zZXRfcHJvY2Vzc19ydHBfY2FsbGJhY2spLAoJICAocnRwX3Nlc3Npb25fc2V0X3NlbmRfcnRwX2NhbGxiYWNrKSwKCSAgKHJ0cF9zZXNzaW9uX3NldF9zZW5kX3J0Y3BfY2FsbGJhY2spLAoJICAocnRwX3Nlc3Npb25fc2V0X3N5bmNfcnRjcF9jYWxsYmFjayksCgkgIChydHBfc2Vzc2lvbl9zZXRfY2xvY2tfcmF0ZV9jYWxsYmFjayksCgkgIChydHBfc2Vzc2lvbl9zZXRfcmVjb25zaWRlcl9jYWxsYmFjayksIChzb3VyY2VfcHVzaF9ydHApLAoJICAoc291cmNlX2Nsb2NrX3JhdGUpLCAocnRwX3Nlc3Npb25fcHJvY2Vzc19ieWUpLAoJICAocnRwX3Nlc3Npb25fcHJvY2Vzc19ydGNwKSwgKHJ0cF9zZXNzaW9uX3NlbmRfYnllKSwKCSAgKHJ0cF9zZXNzaW9uX29uX3RpbWVvdXQpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uaDoKCSAgTWFrZSBpdCBwb3NzaWJsZSB0byB1c2UgZGlmZmVyZW50IHVzZXJfZGF0YSBmb3IgZWFjaCBvZiB0aGUgY2FsbGJhY2tzLgoJICBGaXhlcyAjNTA4NTg3LgoKMjAwOC0wMS0xMCAyMDo1NzoxNyArMDAwMCAgVGhpanMgVmVybWVpciA8dGhpanN2ZXJtZWlyQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOiBGaXggZG9jdW1lbnRhdGlvbiBmb3IgbGF0ZXN0IHBhdGNoCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOgoJICBGaXggZG9jdW1lbnRhdGlvbiBmb3IgbGF0ZXN0IHBhdGNoCgoyMDA4LTAxLTEwIDE0OjM0OjMwICswMDAwICBUaGlqcyBWZXJtZWlyIDx0aGlqc3Zlcm1laXJAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6IEFsbG93IHJlcXVlc3RfbmV3X3BhZCB3aXRoIG5hbWUgTlVMTCAoYnVnICM1MDg1MTUpCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOgoJICBBbGxvdyByZXF1ZXN0X25ld19wYWQgd2l0aCBuYW1lIE5VTEwgKGJ1ZyAjNTA4NTE1KQoKMjAwOC0wMS0wOSAxNDozOTo0NCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzogRG9uJ3Qgc2V0IGZpeGVkIGNhcHMsIHdlIGNhbiBiYXNpY2FsbHkgZG8gZXZlcnl0aGluZyB0aGUgdXBzdGVhbSBwZWVyIHBhZCBjYW4gcmVuZWdvdC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6IChjcmVhdGVfc2VuZF9ydHBfc2luayk6CgkgIERvbid0IHNldCBmaXhlZCBjYXBzLCB3ZSBjYW4gYmFzaWNhbGx5IGRvIGV2ZXJ5dGhpbmcgdGhlIHVwc3RlYW0gcGVlcgoJICBwYWQgY2FuIHJlbmVnb3RpYXRlIHRvLiBGaXhlcyAjNTA3OTQwLgoKMjAwOC0wMS0wNCAxODo0Nzo1NyArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOiBEb24ndCB1bnJlZiB0aGUgcG9wcGVkIGJ1ZmZlciB3aGVuIHdlIGRvbid0IGhhdmUgb3duZXJzaGlwLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9sb29wKToKCSAgRG9uJ3QgdW5yZWYgdGhlIHBvcHBlZCBidWZmZXIgd2hlbiB3ZSBkb24ndCBoYXZlIG93bmVyc2hpcC4KCSAgRml4ZXMgIzUwNzAyMC4KCjIwMDctMTItMzEgMTM6MTI6MDYgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBzc3JjZGVtdXguYzogRG9uJ3QgY2xlYW4gdXAgcGFkcyB3aGVuIGdvaW5nIHRvIFBBVVNFRC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc3NyY2RlbXV4LmM6CgkgIChnc3RfcnRwX3NzcmNfZGVtdXhfY2hhbmdlX3N0YXRlKToKCSAgRG9uJ3QgY2xlYW4gdXAgcGFkcyB3aGVuIGdvaW5nIHRvIFBBVVNFRC4KCjIwMDctMTItMTIgMTY6NTk6MDMgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci86IENsZWFuIHVwIHRoZSBkeW5hbWljIHBhZHMgd2hlbiBnb2luZyB0byBSRUFEWS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwcHRkZW11eC5jOiAoZ3N0X3J0cF9wdF9kZW11eF9maW5hbGl6ZSksCgkgIChnc3RfcnRwX3B0X2RlbXV4X3NldHVwKSwgKGdzdF9ydHBfcHRfZGVtdXhfcmVsZWFzZSksCgkgIChnc3RfcnRwX3B0X2RlbXV4X2NoYW5nZV9zdGF0ZSk6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc3NyY2RlbXV4LmM6IChnc3RfcnRwX3NzcmNfZGVtdXhfcmVzZXQpLAoJICAoZ3N0X3J0cF9zc3JjX2RlbXV4X2Rpc3Bvc2UpLCAoZ3N0X3J0cF9zc3JjX2RlbXV4X3NyY19xdWVyeSksCgkgIChnc3RfcnRwX3NzcmNfZGVtdXhfY2hhbmdlX3N0YXRlKToKCSAgQ2xlYW4gdXAgdGhlIGR5bmFtaWMgcGFkcyB3aGVuIGdvaW5nIHRvIFJFQURZLgoKMjAwNy0xMi0xMiAxMjoxMTo1MyArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyLzogRml4IHNvbWUgbGVha3MuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOiAoZ3N0X3J0cF9iaW5fZmluYWxpemUpLAoJICAoZ3N0X3J0cF9iaW5fc2V0X3NkZXNfc3RyaW5nKSwgKGdzdF9ydHBfYmluX2dldF9zZGVzX3N0cmluZyksCgkgIChnc3RfcnRwX2Jpbl9oYW5kbGVfbWVzc2FnZSk6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOiAocnRwX3Nlc3Npb25fZmluYWxpemUpLAoJICAocnRwX3Nlc3Npb25fc2VuZF9ieWUpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5jOiAocnRwX3NvdXJjZV9maW5hbGl6ZSk6CgkgIEZpeCBzb21lIGxlYWtzLgoKMjAwNy0xMi0xMCAxODozNjowNCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyLzogUG9zdCBhIG1lc3NhZ2Ugd2hlbiB0aGUgU0RFUyBpbmZvciBjaGFuZ2VzIGZvciBhIHNvdXJjZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6IChnc3RfcnRwX2Jpbl9jbGFzc19pbml0KSwKCSAgKGdzdF9ydHBfYmluX2hhbmRsZV9tZXNzYWdlKToKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6IChzb3VyY2VfZ2V0X3NkZXNfc3RydWN0dXJlKSwKCSAgKG9uX3NzcmNfc2Rlcyk6CgkgIFBvc3QgYSBtZXNzYWdlIHdoZW4gdGhlIFNERVMgaW5mb3IgY2hhbmdlcyBmb3IgYSBzb3VyY2UuCgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5jOgoJICBVcGRhdGUgc29tZSBjb21tZW50cy4KCjIwMDctMTItMTAgMTU6MzQ6MTkgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci86IEFkZCBzaWduYWwgdG8gbm90aWZ5IG9mIGFuIFNERVMgY2hhbmdlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzogKG9uX3NzcmNfc2RlcyksIChjcmVhdGVfc2Vzc2lvbiksCgkgIChnc3RfcnRwX2Jpbl9jbGFzc19pbml0KToKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uaDoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBjbGllbnQuYzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBjbGllbnQuaDoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuaDoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBtYW5hZ2VyLmM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwcHRkZW11eC5jOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHB0ZGVtdXguaDoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6IChvbl9zc3JjX3NkZXMpLAoJICAoZ3N0X3J0cF9zZXNzaW9uX2NsYXNzX2luaXQpLCAoZ3N0X3J0cF9zZXNzaW9uX2luaXQpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uaDoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzc3JjZGVtdXguYzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzc3JjZGVtdXguaDoKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBqaXR0ZXJidWZmZXIuYzoKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBqaXR0ZXJidWZmZXIuaDoKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6IChydHBfc2Vzc2lvbl9jbGFzc19pbml0KSwKCSAgKG9uX3NzcmNfc2RlcyksIChydHBfc2Vzc2lvbl9wcm9jZXNzX3NkZXMpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uaDoKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuYzoKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuaDoKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzdGF0cy5jOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHN0YXRzLmg6CgkgIEFkZCBzaWduYWwgdG8gbm90aWZ5IG9mIGFuIFNERVMgY2hhbmdlLgoJICBGaXggb2JqZWN0IHR5cGUgaW4gdGhlIHNpZ25hbCBjYWxsYmFja3MuCgoyMDA3LTEyLTEwIDE0OjAzOjMyICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLio6IEV4cG9zZSBTREVTIGl0ZW1zIGFzIHByb3BlcnRpZXMgYW5kIGNvbmZpZ3VyZSB0aGUgc2Vzc2lvbiBtYW5hZ2VycyB3aXRoIHRoZW0uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOiAoY3JlYXRlX3Nlc3Npb24pLAoJICAoZ3N0X3J0cF9iaW5fY2xhc3NfaW5pdCksIChnc3RfcnRwX2Jpbl9pbml0KSwgKHNkZXNfdHlwZV90b19uYW1lKSwKCSAgKGdzdF9ydHBfYmluX3NldF9zZGVzX3N0cmluZyksIChnc3RfcnRwX2Jpbl9nZXRfc2Rlc19zdHJpbmcpLAoJICAoZ3N0X3J0cF9iaW5fc2V0X3Byb3BlcnR5KSwgKGdzdF9ydHBfYmluX2dldF9wcm9wZXJ0eSk6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmg6CgkgIEV4cG9zZSBTREVTIGl0ZW1zIGFzIHByb3BlcnRpZXMgYW5kIGNvbmZpZ3VyZSB0aGUgc2Vzc2lvbiBtYW5hZ2VycyB3aXRoCgkgIHRoZW0uCgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmM6IChydHBfc291cmNlX2NsYXNzX2luaXQpLAoJICAocnRwX3NvdXJjZV9zZXRfcHJvcGVydHkpOgoJICBGaXggU1NSQyBwcm9wZXJ0eS4KCjIwMDctMTItMTAgMTE6MDg6MTEgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci86IFVwZGF0ZSBjb21tZW50LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzogKGNyZWF0ZV9zZXNzaW9uKToKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBqaXR0ZXJidWZmZXIuYzoKCSAgVXBkYXRlIGNvbW1lbnQuCgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOiAoZ3N0X3J0cF9zZXNzaW9uX2NsYXNzX2luaXQpLAoJICAoZ3N0X3J0cF9zZXNzaW9uX3NldF9wcm9wZXJ0eSksIChnc3RfcnRwX3Nlc3Npb25fZ2V0X3Byb3BlcnR5KToKCSAgRGVmaW5lIHNvbWUgR09iamVjdCBwcm9wZXJ0aWVzIHRvIHNldCBTREVTIGFuZCBvdGhlciBjb25maWd1cmF0aW9uLgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzogKHJ0cF9zZXNzaW9uX2NsYXNzX2luaXQpLAoJICAocnRwX3Nlc3Npb25faW5pdCksIChydHBfc2Vzc2lvbl9maW5hbGl6ZSksCgkgIChydHBfc2Vzc2lvbl9zZXRfcHJvcGVydHkpLCAocnRwX3Nlc3Npb25fZ2V0X3Byb3BlcnR5KSwKCSAgKG9uX3NzcmNfc2RlcyksIChydHBfc2Vzc2lvbl9zZXRfYmFuZHdpZHRoKSwKCSAgKHJ0cF9zZXNzaW9uX2dldF9iYW5kd2lkdGgpLCAocnRwX3Nlc3Npb25fc2V0X3J0Y3BfZnJhY3Rpb24pLAoJICAocnRwX3Nlc3Npb25fZ2V0X3J0Y3BfZnJhY3Rpb24pLCAocnRwX3Nlc3Npb25fc2V0X3NkZXNfc3RyaW5nKSwKCSAgKHJ0cF9zZXNzaW9uX2dldF9zZGVzX3N0cmluZyksIChvYnRhaW5fc291cmNlKSwKCSAgKHJ0cF9zZXNzaW9uX2dldF9pbnRlcm5hbF9zb3VyY2UpLCAocnRwX3Nlc3Npb25fcHJvY2Vzc19zZGVzKSwKCSAgKHJ0cF9zZXNzaW9uX3NlbmRfcnRwKSwgKHJ0cF9zZXNzaW9uX25leHRfdGltZW91dCksIChzZXNzaW9uX3NkZXMpLAoJICAoaXNfcnRjcF90aW1lKToKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmg6CgkgIEFkZCBzaWduYWwgd2hlbiBuZXcgU0RFUyBpbmZvciBoYXMgYmVlbiBmb3VuZCBmb3IgYSBzb3VyY2UuCgkgIENyZWF0ZSBwcm9wZXJ0aWVzIGZvciBTREVTIGFuZCBvdGhlciBpbmZvLgoJICBTaW1wbGlmeSB0aGUgU0RFUyBBUEkuCgkgIEFkZCBtZXRob2QgZm9yIGdldHRpbmcgdGhlIGludGVybmFsIHNvdXJjZSBvYmplY3Qgb2YgdGhlIHNlc3Npb24uCgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmM6IChydHBfc291cmNlX2NsYXNzX2luaXQpLAoJICAocnRwX3NvdXJjZV9maW5hbGl6ZSksIChydHBfc291cmNlX3NldF9wcm9wZXJ0eSksCgkgIChydHBfc291cmNlX2dldF9wcm9wZXJ0eSksIChydHBfc291cmNlX3NldF9jYWxsYmFja3MpLAoJICAocnRwX3NvdXJjZV9nZXRfc3NyYyksIChydHBfc291cmNlX3NldF9hc19jc3JjKSwKCSAgKHJ0cF9zb3VyY2VfaXNfYXNfY3NyYyksIChydHBfc291cmNlX2lzX2FjdGl2ZSksCgkgIChydHBfc291cmNlX2lzX3ZhbGlkYXRlZCksIChydHBfc291cmNlX2lzX3NlbmRlciksCgkgIChydHBfc291cmNlX3JlY2VpdmVkX2J5ZSksIChydHBfc291cmNlX2dldF9ieWVfcmVhc29uKSwKCSAgKHJ0cF9zb3VyY2Vfc2V0X3NkZXMpLCAocnRwX3NvdXJjZV9zZXRfc2Rlc19zdHJpbmcpLAoJICAocnRwX3NvdXJjZV9nZXRfc2RlcyksIChydHBfc291cmNlX2dldF9zZGVzX3N0cmluZyksCgkgIChydHBfc291cmNlX2dldF9uZXdfc3IpLCAocnRwX3NvdXJjZV9nZXRfbmV3X3JiKToKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuaDoKCSAgQWRkIEdPYmplY3QgcHJvcGVydGllcyBmb3IgdmFyaW91cyB0aGluZ3MuCgkgIERvbid0IGxlYWsgdGhlIGJ5ZSByZWFzb24uCgoyMDA3LTExLTIyIDA5OjA4OjI3ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6IGppdHRlcmJ1ZmZlciBjYW4gYnVmZmVyIGFuIHVubGltaXRlZCBhbW91bnQgb2YgdGltZSBhbmQgdGh1cyBoYXMgbm8gbWF4X2xhdGVuY3kgLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX3F1ZXJ5KToKCSAgaml0dGVyYnVmZmVyIGNhbiBidWZmZXIgYW4gdW5saW1pdGVkIGFtb3VudCBvZiB0aW1lIGFuZCB0aHVzIGhhcyBubwoJICBtYXhfbGF0ZW5jeSByZXF1aXJlbWVudHMuCgoyMDA3LTExLTAyIDIxOjQ1OjM4ICswMDAwICBPbGUgQW5kcsOpIFZhZGxhIFJhdm7DpXMgPG9sZS5hbmRyZS5yYXZuYXNAdGFuZGJlcmcuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOiBGaXggYmFkIGZ1bmN0aW9uIHNpZ25hdHVyZXMgKCM0OTI3OTgpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IE9sZSBBbmRyw6kgVmFkbGEgUmF2bsOlcyAgPG9sZS5hbmRyZS5yYXZuYXNAdGFuZGJlcmcuY29tPgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzoKCSAgRml4IGJhZCBmdW5jdGlvbiBzaWduYXR1cmVzICgjNDkyNzk4KS4KCjIwMDctMTAtMDkgMTA6MDE6MzkgKzAwMDAgIExhdXJlbnQgR2xheWFsIDxzcGdsZWdsZUB5YWhvby5mcj4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOiBGaXggbWVtbGVhay4gRml4ZXMgIzQ4NDk5MC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBMYXVyZW50IEdsYXlhbCA8c3BnbGVnbGUgYXQgeWFob28gZG90IGZyPgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOiAoY3JlYXRlX3N0cmVhbSksCgkgIChnc3RfcnRwX2Jpbl9jbGFzc19pbml0KToKCSAgRml4IG1lbWxlYWsuIEZpeGVzICM0ODQ5OTAuCgoyMDA3LTEwLTA4IDE3OjQ2OjQ1ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGdzdC86IEZpeCBjb21waWxlciB3YXJuaW5ncyBzaG93biBieSBGb3J0ZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2xpYnJmYi9yZmJidWZmZXIuYzogKHJmYl9idWZmZXJfbmV3X2FuZF9hbGxvYyk6CgkgICogZ3N0L2xpYnJmYi9yZmJidWZmZXIuaDoKCSAgKiBnc3QvbGlicmZiL3JmYmRlY29kZXIuYzogKHJmYl9zb2NrZXRfZ2V0X2J1ZmZlcik6CgkgICogZ3N0L21wZWd2aWRlb3BhcnNlL21wZWd2aWRlb3BhcnNlLmM6IChnc3RfbXBlZ3ZpZGVvcGFyc2VfY2hhaW4pOgoJICAqIGdzdC9uc2YvbmVzNjUwMi5jOiAobmVzNjUwMl9leGVjdXRlKToKCSAgKiBnc3QvcmVhbC9nc3RyZWFsYXVkaW9kZWMuYzogKGdzdF9yZWFsX2F1ZGlvX2RlY19zZXRjYXBzKToKCSAgKiBnc3QvcmVhbC9nc3RyZWFsdmlkZW9kZWMuYzogKG9wZW5fbGlicmFyeSk6CgkgICogZ3N0L3JlYWwvZ3N0cmVhbHZpZGVvZGVjLmg6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOiAoY3JlYXRlX3JlY3ZfcnRwX3NpbmspLAoJICAoY3JlYXRlX3JlY3ZfcnRjcF9zaW5rKSwgKGNyZWF0ZV9zZW5kX3J0cF9zaW5rKToKCSAgRml4IGNvbXBpbGVyIHdhcm5pbmdzIHNob3duIGJ5IEZvcnRlLgoKMjAwNy0xMC0wOCAxMDozOTozNSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOiBGaXggY2FwcyByZWZjb3VudGluZyBmb3IgcGF5bG9hZCBtYXBzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzogKGdldF9wdF9tYXApLAoJICAoZ3N0X3J0cF9iaW5fY2xlYXJfcHRfbWFwKSwgKGdzdF9ydHBfYmluX2NsYXNzX2luaXQpOgoJICBGaXggY2FwcyByZWZjb3VudGluZyBmb3IgcGF5bG9hZCBtYXBzLgoJICBXaGVuIGNsZWFyaW5nIHBheWxvYWQgbWFwcywgYWxzbyBjbGVhciBzZXNzaW9ucyBhbmQgc3RyZWFtcyBwYXlsb2FkCgkgIG1hcHMuCgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwcHRkZW11eC5jOiAoZ3N0X3J0cF9wdF9kZW11eF9nZXRfY2FwcyksCgkgIChnc3RfcnRwX3B0X2RlbXV4X2NsZWFyX3B0X21hcCksIChnc3RfcnRwX3B0X2RlbXV4X2NoYWluKSwKCSAgKGZpbmRfcGFkX2Zvcl9wdCk6CgkgIEltcGxlbWVudCBjbGVhcmluZyB0aGUgcGF5bG9hZCBtYXAuCgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOgoJICAoZ3N0X3J0cF9zZXNzaW9uX2V2ZW50X3NlbmRfcnRwX3NpbmspOgoJICBGb3J3YXJkIGZsdXNoIGV2ZW50cyBpbnN0ZWFkIG9mIGxlYWtpbmcgdGhlbS4KCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzc3JjZGVtdXguYzoKCSAgKGdzdF9ydHBfc3NyY19kZW11eF9ydGNwX3NpbmtfZXZlbnQpOgoJICBDb3JyZWN0bHkgcmVmY291bnQgZXZlbnRzIGJlZm9yZSBwdXNoaW5nIHRoZW0uCgoyMDA3LTEwLTA1IDE3OjI2OjE0ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOiBXaGVuIHJlY29uc2lkZXJpbmcgUlRDUCB0aW1lb3V0cywgc2V0IHRoZSBuZXh0IHRpbWVvdXQgYWdhaW5zdCB0aGUgbGFzdCByZXBvcnQgdGltZSBpbnN0Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzogKHJ0cF9zZXNzaW9uX25leHRfdGltZW91dCksCgkgIFdoZW4gcmVjb25zaWRlcmluZyBSVENQIHRpbWVvdXRzLCBzZXQgdGhlIG5leHQgdGltZW91dCBhZ2FpbnN0IHRoZSBsYXN0CgkgIHJlcG9ydCB0aW1lIGluc3RlYWQgb2YgdGhlIGN1cnJlbnQgY2xvY2sgdGltZSBzbyB0aGF0IHdlIGRvbid0IGVuZCB1cAoJICByZWNvbnNpZGVyaW5nIGZvcmV2ZXIuCgoyMDA3LTEwLTA1IDEyOjA3OjM3ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6IE9ubHkgcGVlayBhdCB0aGUgdGFpbCBlbGVtZW50IGluc3RlYWQgb2YgcG9wcGluZyBpdCBvZmYsIHdoaWNoIGFsbG93cyB1cyB0byBncmVhLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2NoYWluKSwgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9sb29wKToKCSAgT25seSBwZWVrIGF0IHRoZSB0YWlsIGVsZW1lbnQgaW5zdGVhZCBvZiBwb3BwaW5nIGl0IG9mZiwgd2hpY2ggYWxsb3dzCgkgIHVzIHRvIGdyZWF0bHkgc2ltcGxpZnkgdGhpbmdzIHdoZW4gdGhlIHRhaWwgZWxlbWVudCBjaGFuZ2VzLgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzoKCSAgKGdzdF9ydHBfc2Vzc2lvbl9ldmVudF9yZWN2X3J0cF9zaW5rKToKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzc3JjZGVtdXguYzoKCSAgKGdzdF9ydHBfc3NyY19kZW11eF9zaW5rX2V2ZW50KToKCSAgRm9yd2FyZCBGTFVTSCBldmVudHMgaW5zdGVhZCBvZiBsZWFraW5nIHRoZW0uCgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwaml0dGVyYnVmZmVyLmM6IChydHBfaml0dGVyX2J1ZmZlcl9yZXNldF9za2V3KSwKCSAgKGNhbGN1bGF0ZV9za2V3KSwgKHJ0cF9qaXR0ZXJfYnVmZmVyX2luc2VydCk6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwaml0dGVyYnVmZmVyLmg6CgkgIFJlbW92ZSB0aGUgdGFpbC1jaGFuZ2VkIGNhbGxiYWNrIGluIGZhdm91ciBvZiBhIHNpbXBsZSBib29sZWFuIHdoZW4gd2UKCSAgaW5zZXJ0IGEgYnVmZmVyIGluIHRoZSBxdWV1ZS4KCSAgQWRkIG1ldGhvZCB0byBwZWVrIHRoZSB0YWlsIG9mIHRoZSBidWZmZXIuCgoyMDA3LTEwLTAyIDEwOjI3OjQ1ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6IFJlbW92ZSBzb21lIG9sZCB1bnVzZWQgdmFyaWFibGVzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9mbHVzaF9zdGFydCksCgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfZmx1c2hfc3RvcCksCgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfY2hhbmdlX3N0YXRlKSwgKGFwcGx5X29mZnNldCksCgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfbG9vcCk6CgkgIFJlbW92ZSBzb21lIG9sZCB1bnVzZWQgdmFyaWFibGVzLgoJICBEb24ndCBhZGQgdGhlIGxhdGVuY3kgdG8gdGhlIHNrZXcgY29ycmVjdGVkIHRpbWVzdGFtcCwgbGF0ZW5jeSBpcyBvbmx5CgkgIHVzZWQgdG8gc3luYyBhZ2FpbnN0IHRoZSBjbG9jay4KCSAgSW1wcm92ZSBkZWJ1Z2dpbmcuCgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwaml0dGVyYnVmZmVyLmM6IChydHBfaml0dGVyX2J1ZmZlcl9pbml0KSwKCSAgKHJ0cF9qaXR0ZXJfYnVmZmVyX3Jlc2V0X3NrZXcpLCAoY2FsY3VsYXRlX3NrZXcpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cGppdHRlcmJ1ZmZlci5oOgoJICBIYW5kbGUgY2FzZSB3aGVyZSBzZXJ2ZXIgdGltZXN0YW1wIGdvZXMgYmFja3dhcmRzIG9yIHdpbGRseSBqdW1wcyBieQoJICB0ZW1wb3JhcmlseSBwYXVzaW5nIHRoZSBza2V3IGNvcnJlY3Rpb24uCgkgIEltcHJvdmUgZGVidWdnaW5nLgoKMjAwNy0wOS0yOCAxNDo1MTo1OCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOiBGaXggY3Jhc2hlciBpbiBkaXNwb3NlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzogKGZyZWVfY2xpZW50KToKCSAgRml4IGNyYXNoZXIgaW4gZGlzcG9zZS4KCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBqaXR0ZXJidWZmZXIuYzogKGNhbGN1bGF0ZV9za2V3KToKCSAgSGFuZGxlIGNhc2VzIHdoZXJlIGlucHV0IGJ1ZmZlcnMgaGF2ZSBubyB0aW1lc3RhbXBzIHNvIHRoYXQgbm8gY2xvY2sKCSAgc2tldyBjYW4gYmUgY2FsY3VsYXRlZCwgaW4gdGhpcyBjYXNlIGludGVycG9sbGF0ZSB0aW1lc3RhbXBzIGJhc2VkIG9uCgkgIHJ0cCB0aW1lc3RhbXAgYW5kIGFzc3VtZSBhIDAgY2xvY2sgc2tldy4KCjIwMDctMDktMjggMTE6MTc6MzUgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzogUmVtb3ZlIGppdHRlciBjb3JyZWN0aW9uIGNvZGUsIGl0J3Mgbm93IGluIHRoZSBsb3dlciBsZXZlbCBvYmplY3QuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOiAoYXBwbHlfbGF0ZW5jeSksCgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfbG9vcCksIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfcXVlcnkpOgoJICBSZW1vdmUgaml0dGVyIGNvcnJlY3Rpb24gY29kZSwgaXQncyBub3cgaW4gdGhlIGxvd2VyIGxldmVsIG9iamVjdC4KCSAgVXNlIG5ldyAtY29yZSBtZXRob2QgZm9yIGRvaW5nIGEgcGVlciBxdWVyeS4KCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBqaXR0ZXJidWZmZXIuYzogKHJ0cF9qaXR0ZXJfYnVmZmVyX2luaXQpLAoJICAoY2FsY3VsYXRlX3NrZXcpLCAocnRwX2ppdHRlcl9idWZmZXJfaW5zZXJ0KToKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBqaXR0ZXJidWZmZXIuaDoKCSAgTW92ZSBqaXR0ZXIgY29ycmVjdGlvbiB0byB0aGUgbG93bGV2ZWwgaml0dGVyYnVmZmVyLgoJICBJbmNyZWFzZSB0aGUgbWF4IHdpbmRvdyBzaXplLgoJICBXaGVuIGZpbGxpbmcgdGhlIHdpbmRvdywgYWxyZWFkeSBzdGFydCBlc3RpbWF0aW5nIHRoZSBza2V3IHVzaW5nIGEKCSAgcGFyYWJvbGljIHdlaWdodGluZyBmYWN0b3Igc28gdGhhdCB3ZSBoYXZlIGEgbXVjaCBiZXR0ZXIgc3RhcnR1cAoJICBiZWhhdmlvdXIgdGhhdCBnZXRzIG1vcmUgYWNjdXJhdGUgd2l0aCB0aGUgbW9yZSBzYW1wbGVzIHdlIGhhdmUuCgkgIEluY3JlYXNlIHRoZSBkZWZhdWx0IHdlaWdodGluZyBmYWN0b3IgZm9yIHRoZSBzdGVhZHkgc3RhdGUgdG8gZ2V0CgkgIHNtb290aGVyIHRpbWVzdGFtcHMuCgoyMDA3LTA5LTI2IDIwOjA4OjI4ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6IEZpeCBjbGVhbnVwIGNyYXNoZXIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOiAoZ3N0X3J0cF9iaW5fZGlzcG9zZSksCgkgIChnc3RfcnRwX2Jpbl9maW5hbGl6ZSk6CgkgIEZpeCBjbGVhbnVwIGNyYXNoZXIuCgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwaml0dGVyYnVmZmVyLmM6IChydHBfaml0dGVyX2J1ZmZlcl9pbml0KSwKCSAgKGNhbGN1bGF0ZV9za2V3KToKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBqaXR0ZXJidWZmZXIuaDoKCSAgRHluYW1pY2FsbHkgYWRqdXN0IHRoZSBza2V3IGNhbGN1bGF0aW9uIHdpbmRvdyBzbyB0aGF0IHdlIGNhbGN1bGF0ZSBpdAoJICBvdmVyIGEgcGVyaW9kIG9mIGFyb3VuZCAyIHNlY29uZHMuCgoyMDA3LTA5LTIwIDE0OjM0OjU3ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvOiBBZGQgbm90aWZpY2F0aW9uIG9mIGFjdGl2ZSBTU1JDcyB0byB2YXJpb3VzIFJUUCBlbGVtZW50cy4gRml4ZXMgIzQ3ODU2Ni4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6IChvbl9zc3JjX2FjdGl2ZSksIChjcmVhdGVfc2Vzc2lvbiksCgkgIChnc3RfcnRwX2Jpbl9jbGFzc19pbml0KToKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uaDoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6IChvbl9zc3JjX2FjdGl2ZSksCgkgIChnc3RfcnRwX3Nlc3Npb25fY2xhc3NfaW5pdCksIChnc3RfcnRwX3Nlc3Npb25faW5pdCksCgkgIChnc3RfcnRwX3Nlc3Npb25fZXZlbnRfc2VuZF9ydHBfc2luayk6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5oOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzogKHJ0cF9zZXNzaW9uX2NsYXNzX2luaXQpLAoJICAob25fc3NyY19hY3RpdmUpLCAocnRwX3Nlc3Npb25fcHJvY2Vzc19yYik6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5oOgoJICBBZGQgbm90aWZpY2F0aW9uIG9mIGFjdGl2ZSBTU1JDcyB0byB2YXJpb3VzIFJUUCBlbGVtZW50cy4gRml4ZXMgIzQ3ODU2Ni4KCjIwMDctMDktMTcgMDI6MDE6NDEgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzogTGluayB0byB0aGUgcmlnaHQgcGFkcyByZWdhcmRsZXNzIG9mIHdoaWNoIG9uZSB3YXMgY3JlYXRlZCBmaXJzdCBpbiB0aGUgc3NyYyBkZW11eGVyLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzogKG5ld19zc3JjX3BhZF9mb3VuZCk6CgkgIExpbmsgdG8gdGhlIHJpZ2h0IHBhZHMgcmVnYXJkbGVzcyBvZiB3aGljaCBvbmUgd2FzIGNyZWF0ZWQgZmlyc3QgaW4gdGhlCgkgIHNzcmMgZGVtdXhlci4KCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9jaGFpbiksIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfbG9vcCk6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOiAoZ3N0X3J0cF9zZXNzaW9uX3Byb2Nlc3NfcnRwKSwKCSAgKGdzdF9ydHBfc2Vzc2lvbl9jaGFpbl9yZWN2X3J0cCksIChnc3RfcnRwX3Nlc3Npb25fY2hhaW5fc2VuZF9ydHApOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5jOiAoY2FsY3VsYXRlX2ppdHRlcik6CgkgIEltcHJvdmUgZGVidWdnaW5nLgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNzcmNkZW11eC5jOiAoY3JlYXRlX2RlbXV4X3BhZF9mb3Jfc3NyYyksCgkgIChnc3RfcnRwX3NzcmNfZGVtdXhfaW5pdCksIChnc3RfcnRwX3NzcmNfZGVtdXhfZmluYWxpemUpLAoJICAoZ3N0X3J0cF9zc3JjX2RlbXV4X3NpbmtfZXZlbnQpLAoJICAoZ3N0X3J0cF9zc3JjX2RlbXV4X3J0Y3Bfc2lua19ldmVudCksIChnc3RfcnRwX3NzcmNfZGVtdXhfY2hhaW4pLAoJICAoZ3N0X3J0cF9zc3JjX2RlbXV4X3J0Y3BfY2hhaW4pLAoJICAoZ3N0X3J0cF9zc3JjX2RlbXV4X2ludGVybmFsX2xpbmtzKToKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzc3JjZGVtdXguaDoKCSAgRml4IHJhY2UgaW4gY3JlYXRpbmcgdGhlIFJUUCBhbmQgUlRDUCBwYWRzIHdoZW4gYSBuZXcgU1NSQyBpcyBkZXRlY3RlZC4KCjIwMDctMDktMTYgMTk6NDA6MzEgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzogVXNlIGxvY2sgdG8gcHJvdGVjdCB2YXJpYWJsZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6IChnc3RfcnRwX2Jpbl9zZXRfcHJvcGVydHkpLAoJICAoZ3N0X3J0cF9iaW5fZ2V0X3Byb3BlcnR5KToKCSAgVXNlIGxvY2sgdG8gcHJvdGVjdCB2YXJpYWJsZS4KCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9jbGFzc19pbml0KSwKCSAgKGdzdF9qaXR0ZXJfYnVmZmVyX3NpbmtfcGFyc2VfY2FwcyksIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfY2hhaW4pLAoJICAoY29udmVydF9ydHB0aW1lX3RvX2dzdHRpbWUpLCAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2xvb3ApOgoJICBSZWNvbnN0cnVjdCBHU1QgdGltZXN0YW1wIGZyb20gUlRQIHRpbWVzdGFtcHMgYmFzZWQgb24gbWVhc3VyZWQgY2xvY2sKCSAgc2tldyBhbmQgc3luYyBvZmZzZXQuCgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwaml0dGVyYnVmZmVyLmM6IChydHBfaml0dGVyX2J1ZmZlcl9pbml0KSwKCSAgKHJ0cF9qaXR0ZXJfYnVmZmVyX3NldF90YWlsX2NoYW5nZWQpLAoJICAocnRwX2ppdHRlcl9idWZmZXJfc2V0X2Nsb2NrX3JhdGUpLAoJICAocnRwX2ppdHRlcl9idWZmZXJfZ2V0X2Nsb2NrX3JhdGUpLCAoY2FsY3VsYXRlX3NrZXcpLAoJICAocnRwX2ppdHRlcl9idWZmZXJfaW5zZXJ0KSwgKHJ0cF9qaXR0ZXJfYnVmZmVyX3BlZWspOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cGppdHRlcmJ1ZmZlci5oOgoJICBNZWFzdXJlIGNsb2NrIHNrZXcuCgkgIEFkZCBjYWxsYmFjayB0byBiZSBub3RmaWVkIHdoZW4gYSBuZXcgcGFja2V0IHdhcyBpbnNlcnRlZCBhdCB0aGUgdGFpbC4KCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuYzogKHJ0cF9zb3VyY2VfaW5pdCksCgkgIChjYWxjdWxhdGVfaml0dGVyKSwgKHJ0cF9zb3VyY2Vfc2VuZF9ydHApOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5oOgoJICBSZW1vdmUgY2xvY2sgc2tldyBkZXRlY3Rpb24sIGl0J3MgbW92ZSB0byB0aGUgaml0dGVyYnVmZmVyIG5vdy4KCjIwMDctMDktMTUgMTg6NDg6MDMgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzogQWxzbyBzZXQgTlRQIGJhc2UgdGltZSBvbiBuZXcgc2Vzc2lvbnMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOiAoY3JlYXRlX3Nlc3Npb24pOgoJICBBbHNvIHNldCBOVFAgYmFzZSB0aW1lIG9uIG5ldyBzZXNzaW9ucy4KCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9sb29wKSwgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9xdWVyeSksCgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9nZXRfcHJvcGVydHkpOgoJICBVc2UgdGhlIHJpZ2h0IGxvY2sgdG8gcHJvdGVjdCBvdXIgdmFyaWFibGVzLgoJICBGaXggc29tZSBjb21tZW50LgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzoKCSAgKGdzdF9ydHBfc2Vzc2lvbl9nZXRjYXBzX3NlbmRfcnRwKSwKCSAgKGdzdF9ydHBfc2Vzc2lvbl9jaGFpbl9zZW5kX3J0cCksIChjcmVhdGVfc2VuZF9ydHBfc2luayk6CgkgIEltcGxlbWVudCBnZXRjYXBzIG9uIHRoZSBzZW5kZXIgc2lua3BhZCBzbyB0aGF0IHBheWxvYWRlcnMgY2FuIG5lZ290aWF0ZQoJICB0aGUgcmlnaHQgU1NSQy4KCjIwMDctMDktMTIgMjE6MjM6NDcgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci86IFZhcmlvdXMgbGVhayBmaXhlcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6IChjcmVhdGVfc2Vzc2lvbiksIChmcmVlX3Nlc3Npb24pLAoJICAoZ2V0X2NsaWVudCksIChmcmVlX2NsaWVudCksIChnc3RfcnRwX2Jpbl9hc3NvY2lhdGUpLAoJICAoZnJlZV9zdHJlYW0pLCAoZ3N0X3J0cF9iaW5fY2xhc3NfaW5pdCksIChnc3RfcnRwX2Jpbl9kaXNwb3NlKSwKCSAgKGdzdF9ydHBfYmluX2ZpbmFsaXplKToKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9jbGFzc19pbml0KSwKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9maW5hbGl6ZSk6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwcHRkZW11eC5jOiAoZ3N0X3J0cF9wdF9kZW11eF9yZWxlYXNlKToKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6IChnc3RfcnRwX3Nlc3Npb25fZmluYWxpemUpLAoJICAoZ3N0X3J0cF9zZXNzaW9uX3NldF9wcm9wZXJ0eSksIChnc3RfcnRwX3Nlc3Npb25fY2hhaW5fcmVjdl9ydHApLAoJICAoZ3N0X3J0cF9zZXNzaW9uX2NoYWluX3NlbmRfcnRwKToKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzc3JjZGVtdXguYzoKCSAgKGdzdF9ydHBfc3NyY19kZW11eF9jbGFzc19pbml0KSwgKGdzdF9ydHBfc3NyY19kZW11eF9kaXNwb3NlKToKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6IChydHBfc2Vzc2lvbl9maW5hbGl6ZSk6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5oOgoJICBWYXJpb3VzIGxlYWsgZml4ZXMuCgoyMDA3LTA5LTEyIDE4OjA0OjMyICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6IENhbGN1bGF0ZSBhbmQgY29uZmlndXJlIHRoZSBOVFAgYmFzZSB0aW1lIHNvIHRoYXQgd2UgY2FuIGdlbmVyYXRlIGJldHRlcgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzogKGNhbGNfbnRwX25zX2Jhc2UpLAoJICAoZ3N0X3J0cF9iaW5fY2hhbmdlX3N0YXRlKSwgKG5ld19wYXlsb2FkX2ZvdW5kKSwgKGNyZWF0ZV9zZW5kX3J0cCk6CgkgIENhbGN1bGF0ZSBhbmQgY29uZmlndXJlIHRoZSBOVFAgYmFzZSB0aW1lIHNvIHRoYXQgd2UgY2FuIGdlbmVyYXRlIGJldHRlcgoJICBOVFAgdGltZXMgaW4gU1IgcGFja2V0cy4KCSAgU2V0IGNhcHMgb24gbmV3IGdob3N0cGFkLgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2xvb3ApOgoJICBDbGVhbiBkZWJ1ZyBzdGF0ZW1lbnQuCgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOiAoZ3N0X3J0cF9zZXNzaW9uX2NsYXNzX2luaXQpLAoJICAoZ3N0X3J0cF9zZXNzaW9uX2luaXQpLCAoZ3N0X3J0cF9zZXNzaW9uX3NldF9wcm9wZXJ0eSksCgkgIChnc3RfcnRwX3Nlc3Npb25fZ2V0X3Byb3BlcnR5KSwgKGdldF9jdXJyZW50X250cF9uc190aW1lKSwKCSAgKHJ0Y3BfdGhyZWFkKSwgKGdzdF9ydHBfc2Vzc2lvbl9ldmVudF9yZWN2X3J0cF9zaW5rKSwKCSAgKGdzdF9ydHBfc2Vzc2lvbl9pbnRlcm5hbF9saW5rcyksIChnc3RfcnRwX3Nlc3Npb25fY2hhaW5fcmVjdl9ydHApLAoJICAoZ3N0X3J0cF9zZXNzaW9uX2V2ZW50X3NlbmRfcnRwX3NpbmspLAoJICAoZ3N0X3J0cF9zZXNzaW9uX2NoYWluX3NlbmRfcnRwKSwgKGNyZWF0ZV9yZWN2X3J0cF9zaW5rKSwKCSAgKGNyZWF0ZV9zZW5kX3J0cF9zaW5rKToKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmg6CgkgIEFkZCBudHAtbnMtYmFzZSBwcm9wZXJ0eSB0byBjb252ZXJ0IHJ1bm5pbmdfdGltZSB0byBOVFAgdGltZS4KCSAgSGFuZGxlIE5FV1NFR01FTlQgZXZlbnRzIG9uIHNlbmQgYW5kIHJlY3YgUlRQIHBhZHMgc28gdGhhdCB3ZSBjYW4KCSAgY2FsY3VsYXRlIHRoZSBydW5uaW5nIHRpbWUgYW5kIHRodXMgTlRQIHRpbWUgb2YgdGhlIHBhY2tldHMuCgkgIFNpbXBsaWZ5IGdldHRpbmcgdGhlIGN1cnJlbnQgTlRQIHRpbWUgdXNpbmcgdGhlIHBpcGVsaW5lIGNsb2NrLgoJICBJbXBsZW1lbnQgaW50ZXJuYWwgbGlua3MgZnVuY3Rpb25zLgoJICBVc2UgdGhlIGJ1ZmZlciB0aW1lc3RhbXAgdG8gY2FsY3VsYXRlIHRoZSBOVFAgdGltZSBpbnN0ZWFkIG9mIHRoZSBjbG9jay4KCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzc3JjZGVtdXguYzogKGNyZWF0ZV9kZW11eF9wYWRfZm9yX3NzcmMpLAoJICAoZ3N0X3J0cF9zc3JjX2RlbXV4X2luaXQpLCAoZ3N0X3J0cF9zc3JjX2RlbXV4X3NpbmtfZXZlbnQpLAoJICAoZ3N0X3J0cF9zc3JjX2RlbXV4X2NoYWluKSwgKGdzdF9ydHBfc3NyY19kZW11eF9ydGNwX2NoYWluKSwKCSAgKGdzdF9ydHBfc3NyY19kZW11eF9pbnRlcm5hbF9saW5rcyksCgkgIChnc3RfcnRwX3NzcmNfZGVtdXhfc3JjX3F1ZXJ5KToKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzc3JjZGVtdXguaDoKCSAgSW1wbGVtZW50IGludGVybmFsIGxpbmtzIGZ1bmN0aW9uLgoJICBDYWxjdWxhdGUgdGhlIGRpZmYgYmV0d2VlbiBkaWZmZXJlbnQgc3RyZWFtcywgdGhpcyBtaWdodCBiZSB1c2VkIGxhdGVyCgkgIHRvIGdldCB0aGUgaW50ZXIgc3RyZWFtIGxhdGVuY3kuCgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOiAocnRwX3Nlc3Npb25fc2VuZF9ydHApOgoJICBTaW1wbGUgY2xlYW51cC4KCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuYzogKHJ0cF9zb3VyY2VfaW5pdCksCgkgIChjYWxjdWxhdGVfaml0dGVyKSwgKHJ0cF9zb3VyY2Vfc2VuZF9ydHApLCAocnRwX3NvdXJjZV9nZXRfbmV3X3NyKToKCSAgTWFrZSB0aGUgY2xvY2sgc2tldyB3aW5kb3cgYSBsaXR0bGUgYmlnZ2VyLgoJICBBcHBseSB0aGUgY2xvY2sgc2tldyB0byBhbGwgYnVmZmVycywgbm90IGp1c3Qgb25lIHdpdGggYSBuZXcgdGltZXN0YW1wLgoJICBDYWxjdWxhdGUgYW5kIGRlYnVnIHNlbmRlciBjbG9jayBkcmlmdC4KCSAgVXNlIGV4dGVuZGVkIGxhc3QgdGltZXN0YW1wIHRvIGludGVycG9sbGF0ZSBmb3IgU1IgcmVwb3J0cy4KCjIwMDctMDktMDQgMTU6MjM6MzQgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6IE1ha2UgY29tcGlsZXIgaGFwcHk6IGZpeCBjb21waWxhdGlvbiB3aXRoIC1XYWxsIC1XZXJyb3IgKCM0NzM1NjIpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6CgkgIE1ha2UgY29tcGlsZXIgaGFwcHk6IGZpeCBjb21waWxhdGlvbiB3aXRoIC1XYWxsIC1XZXJyb3IKCSAgKCM0NzM1NjIpLgoKMjAwNy0wOS0wMyAyMToxOTozNCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyLzogVXBkYXRlZCBleGFtcGxlIHBpcGVsaW5lcyBpbiBkb2NzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4tbWFyc2hhbC5saXN0OgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOiAoZ3N0X3J0cF9iaW5fZ2V0X2NsaWVudCksCgkgIChnc3RfcnRwX2Jpbl9hc3NvY2lhdGUpLCAoZ3N0X3J0cF9iaW5fc3luY19jaGFpbiksIChjcmVhdGVfc3RyZWFtKSwKCSAgKGdzdF9ydHBfYmluX2luaXQpLCAoY2Fwc19jaGFuZ2VkKSwgKG5ld19zc3JjX3BhZF9mb3VuZCksCgkgIChjcmVhdGVfcmVjdl9ydHApLCAoY3JlYXRlX3JlY3ZfcnRjcCksIChjcmVhdGVfc2VuZF9ydHApOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5oOgoJICBVcGRhdGVkIGV4YW1wbGUgcGlwZWxpbmVzIGluIGRvY3MuCgkgIEhhbmRsZSBzeW5jX3J0Y3AgYnVmZmVycyBmcm9tIHRoZSBTU1JDIGRlbXV4ZXIgdG8gcGVyZm9ybSBsaXAtc3luYy4KCSAgU2V0IHRoZSBkZWZhdWx0IGxhdGVuY3kgY29ycmVjdGx5LgoJICBBZGQgc29tZSBtb3JlIHBvaW50cyB3aGVyZSB3ZSBjYW4gZ2V0IGNhcHMuCgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfY2xhc3NfaW5pdCksCgkgIChnc3Rfaml0dGVyX2J1ZmZlcl9zaW5rX3BhcnNlX2NhcHMpLCAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2xvb3ApLAoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX3F1ZXJ5KSwKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9zZXRfcHJvcGVydHkpLAoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2dldF9wcm9wZXJ0eSk6CgkgIEFkZCB0cy1vZmZzZXQgcHJvcGVydHkgdG8gY29udHJvbCB0aW1lc3RhbXBpbmcuCgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOiAoZ3N0X3J0cF9zZXNzaW9uX2NsYXNzX2luaXQpLAoJICAoZ3N0X3J0cF9zZXNzaW9uX2luaXQpLCAoZ3N0X3J0cF9zZXNzaW9uX3NldF9wcm9wZXJ0eSksCgkgIChnc3RfcnRwX3Nlc3Npb25fZ2V0X3Byb3BlcnR5KSwgKGdldF9jdXJyZW50X250cF9uc190aW1lKSwKCSAgKHJ0Y3BfdGhyZWFkKSwgKHN0b3BfcnRjcF90aHJlYWQpLCAoZ3N0X3J0cF9zZXNzaW9uX2NoYW5nZV9zdGF0ZSksCgkgIChnc3RfcnRwX3Nlc3Npb25fc2VuZF9ydGNwKSwgKGdzdF9ydHBfc2Vzc2lvbl9zeW5jX3J0Y3ApLAoJICAoZ3N0X3J0cF9zZXNzaW9uX2NhY2hlX2NhcHMpLCAoZ3N0X3J0cF9zZXNzaW9uX2Nsb2NrX3JhdGUpLAoJICAoZ3N0X3J0cF9zZXNzaW9uX3Npbmtfc2V0Y2FwcyksIChnc3RfcnRwX3Nlc3Npb25fY2hhaW5fcmVjdl9ydHApLAoJICAoZ3N0X3J0cF9zZXNzaW9uX2V2ZW50X3NlbmRfcnRwX3NpbmspLAoJICAoZ3N0X3J0cF9zZXNzaW9uX2NoYWluX3NlbmRfcnRwKSwgKGNyZWF0ZV9yZWN2X3J0cF9zaW5rKSwKCSAgKGNyZWF0ZV9yZWN2X3J0Y3Bfc2luayksIChjcmVhdGVfc2VuZF9ydHBfc2luayksCgkgIChjcmVhdGVfc2VuZF9ydGNwX3NyYyk6CgkgIFZhcmlvdXMgY2xlYW51cHMuCgkgIEZlZWQgcnRwc2Vzc2lvbiBtYW5hZ2VyIHdpdGggTlRQIHRpbWUgYmFzZWQgb24gcGlwZWxpbmUgY2xvY2sgd2hlbgoJICBoYW5kbGluZyBSVFAgcGFja2V0cyBhbmQgUlRDUCB0aW1lb3V0cy4KCSAgUGVyZm9ybSBhbGwgUlRDUCB3aXRoIHRoZSBzeXN0ZW0gY2xvY2suCgkgIFNldCBjYXBzIG9uIFJUQ1Agb3V0Z29pbmcgYnVmZmVycy4KCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzc3JjZGVtdXguYzogKGZpbmRfZGVtdXhfcGFkX2Zvcl9zc3JjKSwKCSAgKGNyZWF0ZV9kZW11eF9wYWRfZm9yX3NzcmMpLCAoZ3N0X3J0cF9zc3JjX2RlbXV4X2Jhc2VfaW5pdCksCgkgIChnc3RfcnRwX3NzcmNfZGVtdXhfaW5pdCksIChnc3RfcnRwX3NzcmNfZGVtdXhfc2lua19ldmVudCksCgkgIChnc3RfcnRwX3NzcmNfZGVtdXhfcnRjcF9zaW5rX2V2ZW50KSwgKGdzdF9ydHBfc3NyY19kZW11eF9jaGFpbiksCgkgIChnc3RfcnRwX3NzcmNfZGVtdXhfcnRjcF9jaGFpbik6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc3NyY2RlbXV4Lmg6CgkgIEFsc28gZGVtdXggUlRDUCBtZXNzYWdlcy4KCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6IChydHBfc2Vzc2lvbl9zZXRfY2FsbGJhY2tzKSwKCSAgKHVwZGF0ZV9hcnJpdmFsX3N0YXRzKSwgKHJ0cF9zZXNzaW9uX3Byb2Nlc3NfcnRwKSwKCSAgKHJ0cF9zZXNzaW9uX3Byb2Nlc3NfcmIpLCAocnRwX3Nlc3Npb25fcHJvY2Vzc19zciksCgkgIChydHBfc2Vzc2lvbl9wcm9jZXNzX3JyKSwgKHJ0cF9zZXNzaW9uX3Byb2Nlc3NfcnRjcCksCgkgIChydHBfc2Vzc2lvbl9zZW5kX3J0cCksIChydHBfc2Vzc2lvbl9zZW5kX2J5ZSksCgkgIChzZXNzaW9uX3N0YXJ0X3J0Y3ApLCAoc2Vzc2lvbl9yZXBvcnRfYmxvY2tzKSwgKHNlc3Npb25fY2xlYW51cCksCgkgIChydHBfc2Vzc2lvbl9vbl90aW1lb3V0KToKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmg6CgkgIFJlbW92ZSB0aGUgZ2V0X3RpbWUgY2FsbGJhY2ssIHRoZSBHU3RyZWFtZXIgcGFydCB3aWxsIGZlZWQgdXMgd2l0aAoJICBlbm91Z2ggdGltaW5nIGluZm9ybWF0aW9uLgoJICBTcGxpdCBzeW5jIHRpbWluZyBhbmQgUlRDUCB0aW1pbmcgaW5mb3JtYXRpb24uCgkgIEZhY3RvciBvdXQgY29tbW9uIFJCIGhhbmRsaW5nIGZvciBTUiBhbmQgUlIuCgkgIFNlbmQgb3V0IFNSIFJUQ1AgcGFja2V0cyBmb3IgbGlwLXN5bmMuCgkgIE1vdmUgU1IgYW5kIFJSIHBhY2tldCBpbmZvIGdlbmVyYXRpb24gdG8gdGhlIHNvdXJjZS4KCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuYzogKHJ0cF9zb3VyY2VfaW5pdCksCgkgIChydHBfc291cmNlX3VwZGF0ZV9jYXBzKSwgKGdldF9jbG9ja19yYXRlKSwgKGNhbGN1bGF0ZV9qaXR0ZXIpLAoJICAocnRwX3NvdXJjZV9wcm9jZXNzX3J0cCksIChydHBfc291cmNlX3NlbmRfcnRwKSwKCSAgKHJ0cF9zb3VyY2VfcHJvY2Vzc19zciksIChydHBfc291cmNlX3Byb2Nlc3NfcmIpLAoJICAocnRwX3NvdXJjZV9nZXRfbmV3X3NyKSwgKHJ0cF9zb3VyY2VfZ2V0X25ld19yYiksCgkgIChydHBfc291cmNlX2dldF9sYXN0X3NyKToKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuaDoKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzdGF0cy5oOgoJICBVc2UgY2FwcyBvbiBpbmNvbW1pbmcgYnVmZmVycyB0byBnZXQgdGltaW5nIGluZm9ybWF0aW9uIHdoZW4gdGhleSBhcmUKCSAgdGhlcmUuCgkgIENhbGN1bGF0ZSBjbG9jayBzY2V3IG9mIHRoZSByZWNlaXZlciBjb21wYXJlZCB0byB0aGUgc2VuZGVyIGFuZCBhZGp1c3QKCSAgdGhlIHJ0cCB0aW1lc3RhbXBzLgoJICBDYWxjdWxhdGUgdGhlIHJvdW5kIHRyaXAgaW4gc291cmNlcy4KCSAgRG8gU1IgYW5kIFJSIGNhbGN1bGF0aW9ucyBpbiB0aGUgc291cmNlLgoKMjAwNy0wOC0zMSAxNToyNjoxNCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOiBVc2UgZXh0ZW5kZWQgdGltZXN0YW1wIHRvIHJlbGVhc2UgYnVmZmVycyBmcm9tIHRoZSBqaXR0ZXJidWZmZXIgc28gdGhhdCB3ZSBjYW4gaC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9mbHVzaF9zdG9wKSwKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9jaGFuZ2Vfc3RhdGUpLCAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2xvb3ApOgoJICBVc2UgZXh0ZW5kZWQgdGltZXN0YW1wIHRvIHJlbGVhc2UgYnVmZmVycyBmcm9tIHRoZSBqaXR0ZXJidWZmZXIgc28gdGhhdAoJICB3ZSBjYW4gaGFuZGxlIHRoZSBydHAgd3JhcGFyb3VuZCBjb3JyZWN0bHkuCgoyMDA3LTA4LTI5IDE2OjU2OjI3ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6IEltcHJvdmUgQ29tbWVudHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2xvb3ApOgoJICBJbXByb3ZlIENvbW1lbnRzLgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzogKHN0b3BfcnRjcF90aHJlYWQpLAoJICAoZ3N0X3J0cF9zZXNzaW9uX2NoYW5nZV9zdGF0ZSksIChnc3RfcnRwX3Nlc3Npb25fcGFyc2VfY2FwcyksCgkgIChnc3RfcnRwX3Nlc3Npb25fY2xvY2tfcmF0ZSksIChnc3RfcnRwX3Nlc3Npb25fc2lua19zZXRjYXBzKSwKCSAgKGdzdF9ydHBfc2Vzc2lvbl9ldmVudF9zZW5kX3J0cF9zaW5rKSwgKGNyZWF0ZV9yZWN2X3J0cF9zaW5rKSwKCSAgKGNyZWF0ZV9zZW5kX3J0cF9zaW5rKToKCSAgQWxzbyBwYXJzZSB0aGUgc2luayBjYXBzIGZvciBjbG9jay1yYXRlIGluc3RlYWQgb2Ygb25seSByZWx5aW5nIG9uIHRoZQoJICByZXN1bHQgb2YgdGhlIHNpZ25hbC4KCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuYzogKHJ0cF9zb3VyY2Vfc2VuZF9ydHApOgoJICBNYWtlIHN1cmUgd2UgZmV0Y2ggdGhlIGNsb2NrIHJhdGUgZm9yIHBheWxvYWRzIHdlIGFyZSBzZW5kaW5nIG91dCBzbwoJICB0aGF0IHdlIGNhbiB1c2UgaXQgZm9yIFNSIHJlcG9ydHMuCgoyMDA3LTA4LTI5IDAxOjIyOjQzICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi4qOiBEaXN0cmlidXRlIHN5bmNocm9uaXNhdGlvbiBwYXJhbWV0ZXJzIHRvIHRoZSBzZXNzaW9uIG1hbmFnZXIgc28gdGhhdCBpdCBjYW4gZ2VuZXJhdGUgLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzogKHN0b3BfcnRjcF90aHJlYWQpLAoJICAoZ3N0X3J0cF9zZXNzaW9uX2NoYW5nZV9zdGF0ZSksCgkgIChnc3RfcnRwX3Nlc3Npb25fZXZlbnRfc2VuZF9ydHBfc2luayk6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5oOgoJICBEaXN0cmlidXRlIHN5bmNocm9uaXNhdGlvbiBwYXJhbWV0ZXJzIHRvIHRoZSBzZXNzaW9uIG1hbmFnZXIgc28gdGhhdCBpdAoJICBjYW4gZ2VuZXJhdGUgY29ycmVjdCBTUiBwYWNrZXRzIGZvciBsaXAtc3luYy4KCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6IChydHBfc2Vzc2lvbl9zZXRfYmFzZV90aW1lKSwKCSAgKHJ0cF9zZXNzaW9uX3NldF90aW1lc3RhbXBfc3luYyksIChzZXNzaW9uX3N0YXJ0X3J0Y3ApOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uaDoKCSAgQWRkIG1ldGhvZHMgZm9yIHNldHRpbmcgc3luYyBwYXJhbWV0ZXJzLgoJICBTZXQgY29ycmVjdCBSVFAgdGltZSBpbiBTUiBwYWNrZXRzIHVzaW5nIHRoZSBzeW5jIHBhcmFtcy4KCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuYzogKHJ0cF9zb3VyY2Vfc2VuZF9ydHApOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5oOgoJICBSZWNvcmQgbGFzdCBSVFAgPC0+IEdTVCB0aW1lc3RhbXAgc28gdGhhdCB3ZSBjYW4gdXNlIHRoZW0gdG8gY29udmVydCBOVFAKCSAgdG8gUlRQIHRpbWVzdGFtcHMgaW4gU1IgcGFja2V0cy4KCjIwMDctMDgtMjggMjA6MzA6MTYgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzogQWRkIHNvbWUgbW9yZSBhZHZhbmNlZCBleGFtcGxlIHBpcGVsaW5lcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6IChnc3RfcnRwX2Jpbl9jbGVhcl9wdF9tYXApOgoJICBBZGQgc29tZSBtb3JlIGFkdmFuY2VkIGV4YW1wbGUgcGlwZWxpbmVzLgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzogKHJ0Y3BfdGhyZWFkKSwKCSAgKHN0b3BfcnRjcF90aHJlYWQpLCAoZ3N0X3J0cF9zZXNzaW9uX3NlbmRfcnRjcCk6CgkgIEFkZCBzb21lIGRlYnVnIGFuZCBGSVhNRS4KCSAgUmVsZWFzZSBMT0NLIHdoZW4gcGVyZm9ybWluZyBzZXNzaW9uIGNsZWFudXAuCgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOiAoc2Vzc2lvbl9yZXBvcnRfYmxvY2tzKToKCSAgQWRkIHNvbWUgZGVidWcuCgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmM6IChjYWxjdWxhdGVfaml0dGVyKSwKCSAgKHJ0cF9zb3VyY2Vfc2VuZF9ydHApOgoJICBNYWtlIHN1cmUgd2UgYWx3YXlzIHNlbmQgUlRQIHBhY2tldHMgd2l0aCB0aGUgc2Vzc2lvbiBTU1JDLgoKMjAwNy0wOC0yNyAyMToxNzoyMSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOiBXaGVuIHN5bmNocm9uaXppbmcgYnVmZmVycywgdGFrZSBwZWVyIGxhdGVuY3kgaW50byBhY2NvdW50LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9jaGFuZ2Vfc3RhdGUpLCAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2xvb3ApLAoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX3F1ZXJ5KToKCSAgV2hlbiBzeW5jaHJvbml6aW5nIGJ1ZmZlcnMsIHRha2UgcGVlciBsYXRlbmN5IGludG8gYWNjb3VudC4KCSAgRG9uJ3QgdHJ5IHRvIGFkZCBvdXIgbGF0ZW5jeSB0byBpbnZhbGlkIHBlZXIgbWF4IGxhdGVuY3kgdmFsdWVzLgoKMjAwNy0wOC0yMyAyMTozOTo1OCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIFJlbmFtZSBhbGwgR3N0UlRQRm9vIHN0cnVjdHMgdG8gR3N0UnRwRm9vIHNvIHRoYXQgR1NUX0JPSUxFUlBMQVRFIHJlZ2lzdGVycyBhIEdUeXBlIHRoYXQncyBkaWZmZXJlbnQgdGhhbiB0aGUgR3N0UlRQRi4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5oaWVyYXJjaHk6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmludGVyZmFjZXM6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLnNpZ25hbHM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmg6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwY2xpZW50LmM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwY2xpZW50Lmg6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmg6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwcHRkZW11eC5jOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHB0ZGVtdXguaDoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5oOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNzcmNkZW11eC5jOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNzcmNkZW11eC5oOgoJICBSZW5hbWUgYWxsIEdzdFJUUEZvbyBzdHJ1Y3RzIHRvIEdzdFJ0cEZvbyBzbyB0aGF0IEdTVF9CT0lMRVJQTEFURQoJICByZWdpc3RlcnMgYSBHVHlwZSB0aGF0J3MgZGlmZmVyZW50IHRoYW4gdGhlIEdzdFJUUEZvbyB0eXBlcyB0aGF0CgkgIGZhcnNpZ2h0IHJlZ2lzdGVycyAobHVja2lseSBHVHlwZSBuYW1lcyBhcmUgY2FzZSBzZW5zaXRpdmUpLiBTaG91bGQKCSAgZmluYWxseSBmaXggIzQzMDY2NC4KCjIwMDctMDgtMjEgMTc6MTg6MjkgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzogV2hlbiBkcm9wLW9uLWxhdGVuY3kgaXMgc2V0IGJ1dCB3ZSBoYXZlIG5vIGxhdGVuY3kgY29uZmlndXJlZCwganVzdCBwdXNoIHRoZSBidWYuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfY2hhaW4pLAoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX3NldF9wcm9wZXJ0eSk6CgkgIFdoZW4gZHJvcC1vbi1sYXRlbmN5IGlzIHNldCBidXQgd2UgaGF2ZSBubyBsYXRlbmN5IGNvbmZpZ3VyZWQsIGp1c3QgcHVzaAoJICB0aGUgYnVmZmVyIGFzIGZhc3QgYXMgcG9zc2libGUuCgkgIEZpeCB0eXBvIGluIGNvbW1lbnQuCgoyMDA3LTA4LTIxIDE2OjA0OjQ3ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvcnRwaml0dGVyYnVmZmVyLio6IEZpeCB1bmRlZmluZWQgb3ZlcmZsb3cgcHJvbmUgdHNfZGlmZiBoYW5kbGluZy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwaml0dGVyYnVmZmVyLmM6CgkgIChydHBfaml0dGVyX2J1ZmZlcl9nZXRfdHNfZGlmZik6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwaml0dGVyYnVmZmVyLmg6CgkgIEZpeCB1bmRlZmluZWQgb3ZlcmZsb3cgcHJvbmUgdHNfZGlmZiBoYW5kbGluZy4KCjIwMDctMDgtMTYgMTE6NDA6MTYgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzogRml4IEVPUyBoYW5kbGluZy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfc2lua19ldmVudCksIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfY2hhaW4pLAoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2xvb3ApOgoJICBGaXggRU9TIGhhbmRsaW5nLgoJICBDb252ZXJ0IHNvbWUgREVCVUcgaW50byBXQVJOSU5Hcy4KCSAgUGF1c2UgdGFzayB3aGVuIGZsdXNoaW5nLgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzogKGdzdF9ydHBfc2Vzc2lvbl9jbGFzc19pbml0KSwKCSAgKHJ0Y3BfdGhyZWFkKSwgKGdzdF9ydHBfc2Vzc2lvbl9ldmVudF9yZWN2X3J0Y3Bfc2luayk6CgkgIFVzZSBzeXN0ZW0gY2xvY2sgZm9yIFJUQ1Agc2Vzc2lvbiBtYW5hZ2VtZW50IHRpbWVvdXRzLgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzogKG9uX25ld19zc3JjKSwgKG9uX3NzcmNfY29sbGlzaW9uKSwKCSAgKG9uX3NzcmNfdmFsaWRhdGVkKSwgKG9uX2J5ZV9zc3JjKSwgKG9uX2J5ZV90aW1lb3V0KSwgKG9uX3RpbWVvdXQpOgoJICBSZWxlYXNlIHRoZSBzZXNzaW9uIGxvY2sgd2hlbiBlbWl0aW5nIHNpZ25hbHMuCgoyMDA3LTA4LTEzIDA2OjE2OjQwICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3QvcnRwbWFuYWdlci9ydHBqaXR0ZXJidWZmZXIuYzogSW5jbHVkZSBzdGRsaWIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cGppdHRlcmJ1ZmZlci5jOgoJICBJbmNsdWRlIHN0ZGxpYi4KCjIwMDctMDgtMTAgMTc6MTY6NTMgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci86IFJlbW92ZSBjb21wbGljYXRlZCBhc3luYyBxdWV1ZSBhbmQgcmVwbGFjZSB3aXRoIG1vcmUgc2ltcGxlIGppdHRlcmJ1ZmZlciBjb2RlIHdoaWxlIGFsc28gZml4aW5nIHNvbWUuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvTWFrZWZpbGUuYW06CgkgICogZ3N0L3J0cG1hbmFnZXIvYXN5bmNfaml0dGVyX3F1ZXVlLmM6CgkgICogZ3N0L3J0cG1hbmFnZXIvYXN5bmNfaml0dGVyX3F1ZXVlLmg6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwaml0dGVyYnVmZmVyLmM6IChydHBfaml0dGVyX2J1ZmZlcl9jbGFzc19pbml0KSwKCSAgKHJ0cF9qaXR0ZXJfYnVmZmVyX2luaXQpLCAocnRwX2ppdHRlcl9idWZmZXJfZmluYWxpemUpLAoJICAocnRwX2ppdHRlcl9idWZmZXJfbmV3KSwgKGNvbXBhcmVfc2VxbnVtKSwKCSAgKHJ0cF9qaXR0ZXJfYnVmZmVyX2luc2VydCksIChydHBfaml0dGVyX2J1ZmZlcl9wb3ApLAoJICAocnRwX2ppdHRlcl9idWZmZXJfZmx1c2gpLCAocnRwX2ppdHRlcl9idWZmZXJfbnVtX3BhY2tldHMpLAoJICAocnRwX2ppdHRlcl9idWZmZXJfZ2V0X3RzX2RpZmYpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cGppdHRlcmJ1ZmZlci5oOgoJICBSZW1vdmUgY29tcGxpY2F0ZWQgYXN5bmMgcXVldWUgYW5kIHJlcGxhY2Ugd2l0aCBtb3JlIHNpbXBsZSBqaXR0ZXJidWZmZXIKCSAgY29kZSB3aGlsZSBhbHNvIGZpeGluZyBzb21lIGJ1Z3MuCgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLW1hcnNoYWwubGlzdDoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzogKG9uX25ld19zc3JjKSwgKG9uX3NzcmNfY29sbGlzaW9uKSwKCSAgKG9uX3NzcmNfdmFsaWRhdGVkKSwgKG9uX2J5ZV9zc3JjKSwgKG9uX2J5ZV90aW1lb3V0KSwgKG9uX3RpbWVvdXQpLAoJICAoY3JlYXRlX3Nlc3Npb24pLCAoZ3N0X3J0cF9iaW5fY2xhc3NfaW5pdCksIChjcmVhdGVfcmVjdl9ydHApLAoJICAoY3JlYXRlX3NlbmRfcnRwKToKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uaDoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9pbml0KSwgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9kaXNwb3NlKSwKCSAgKGdzdF9qaXR0ZXJfYnVmZmVyX3NpbmtfcGFyc2VfY2FwcyksCgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfZmx1c2hfc3RhcnQpLAoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2ZsdXNoX3N0b3ApLAoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2NoYW5nZV9zdGF0ZSksCgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfc2lua19ldmVudCksIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfY2hhaW4pLAoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2xvb3ApLCAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX3NldF9wcm9wZXJ0eSk6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOiAob25fbmV3X3NzcmMpLAoJICAob25fc3NyY19jb2xsaXNpb24pLCAob25fc3NyY192YWxpZGF0ZWQpLCAob25fYnllX3NzcmMpLAoJICAob25fYnllX3RpbWVvdXQpLCAob25fdGltZW91dCksIChnc3RfcnRwX3Nlc3Npb25fY2xhc3NfaW5pdCksCgkgIChnc3RfcnRwX3Nlc3Npb25faW5pdCk6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5oOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzogKG9uX2J5ZV9zc3JjKSwgKHNlc3Npb25fY2xlYW51cCk6CgkgIFVzZSBuZXcgaml0dGVyYnVmZmVyIGNvZGUuCgkgIEV4cG9zZSBzb21lIG5ldyBzaWduYWxzIGluIHByZXBhcmF0aW9uIGZvciBoYW5kbGluZyBFT1MuCgoyMDA3LTA3LTE4IDA3OjM1OjMyICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBBZGQgc3RkbGliIGluY2x1ZGUgKGZyZWUsIGF0b2ksIGV4aXQpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleGFtcGxlcy9hcHAvYXBwc3JjX2V4LmM6CgkgICogZXhhbXBsZXMvc3dpdGNoL3N3aXRjaGVyLmM6CgkgICogZXh0L25lb24vZ3N0bmVvbmh0dHBzcmMuYzoKCSAgKiBleHQvdGltaWRpdHkvZ3N0d2lsZG1pZGkuYzoKCSAgKiBleHQveDI2NC9nc3R4MjY0ZW5jLmM6CgkgICogZ3N0L212ZS9tdmVhdWRpb2VuYy5jOiAobXZlX2NvbXByZXNzX2F1ZGlvKToKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBjbGllbnQuYzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgKiBnc3Qvc3BlY3RydW0vZGVtby1hdWRpb3Rlc3QuYzoKCSAgKiBnc3Qvc3BlY3RydW0vZGVtby1vc3NzcmMuYzoKCSAgKiBzeXMvZHZiL2dzdGR2YnNyYy5jOgoJICBBZGQgc3RkbGliIGluY2x1ZGUgKGZyZWUsIGF0b2ksIGV4aXQpLgoKMjAwNy0wNi0yMiAyMDoyMzoxOCArMDAwMCAgSmVucyBHcmFuc2V1ZXIgPGplbnNnckBnbXgubmV0PgoKCSAgZ3N0LzogQnVpbGQgZml4ZXMgZm9yIGdjYy0yLjl4IChubyBtaWQtYmxvY2sgdmFyaWFibGUgZGVjbGFyYXRpb25zIGV0Yy4pLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IEplbnMgR3JhbnNldWVyICA8amVuc2dyIGF0IGdteCBuZXQ+CgkgICogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIuYzoKCSAgKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplcjEwYmFuZHMuYzoKCSAgKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplcjNiYW5kcy5jOgoJICAqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVybmJhbmRzLmM6CgkgICogZ3N0L3J0cG1hbmFnZXIvYXN5bmNfaml0dGVyX3F1ZXVlLmM6CgkgIChhc3luY19qaXR0ZXJfcXVldWVfcHVzaF9zb3J0ZWQpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2NoYWluKToKCSAgKiBnc3Qvc3dpdGNoL2dzdHN3aXRjaC5jOiAoZ3N0X3N3aXRjaF9jaGFpbik6CgkgIEJ1aWxkIGZpeGVzIGZvciBnY2MtMi45eCAobm8gbWlkLWJsb2NrIHZhcmlhYmxlIGRlY2xhcmF0aW9ucyBldGMuKS4KCSAgRml4ZXMgIzQ1MDE4NS4KCjIwMDctMDUtMjggMTY6Mzc6NDcgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBSZW5hbWUgZWxlbWVudHMgdG8gYXZvaWQgY29uZmxpY3Qgd2l0aCBmYXJzaWdodCBlbGVtZW50cyB3aXRoIHRoZSBzYW1lIG5hbWUuIEZpeGVzICM0MzA2NjQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzogKGNyZWF0ZV9zZXNzaW9uKSwgKGNyZWF0ZV9zdHJlYW0pLAoJICAoZ3N0X3J0cF9iaW5fY2xhc3NfaW5pdCksIChjcmVhdGVfcmVjdl9ydHApLCAoY3JlYXRlX3JlY3ZfcnRjcCksCgkgIChjcmVhdGVfc2VuZF9ydHApLCAoY3JlYXRlX3J0Y3ApLCAoZ3N0X3J0cF9iaW5fcmVxdWVzdF9uZXdfcGFkKToKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBjbGllbnQuYzogKGNyZWF0ZV9zdHJlYW0pLAoJICAoZ3N0X3J0cF9jbGllbnRfcmVxdWVzdF9uZXdfcGFkKToKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9jbGVhcl9wdF9tYXApLCAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2xvb3ApOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cG1hbmFnZXIuYzogKHBsdWdpbl9pbml0KToKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBwdGRlbXV4LmM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOiAoZ3N0X3J0cF9zZXNzaW9uX2NsYXNzX2luaXQpLAoJICAoZ3N0X3J0cF9zZXNzaW9uX3JlcXVlc3RfbmV3X3BhZCk6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc3NyY2RlbXV4LmM6CgkgIFJlbmFtZSBlbGVtZW50cyB0byBhdm9pZCBjb25mbGljdCB3aXRoIGZhcnNpZ2h0IGVsZW1lbnRzIHdpdGggdGhlIHNhbWUKCSAgbmFtZS4gRml4ZXMgIzQzMDY2NC4KCjIwMDctMDUtMjMgMTM6MDg6NTIgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBEb2N1bWVudCBzdHVmZi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzogKGdzdF9ydHBfYmluX2NsYXNzX2luaXQpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5oOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGNsaWVudC5jOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2NsYXNzX2luaXQpLAoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2NsZWFyX3B0X21hcCksIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfbG9vcCk6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmg6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwcHRkZW11eC5jOiAoZ3N0X3J0cF9wdF9kZW11eF9jbGFzc19pbml0KSwKCSAgKGdzdF9ydHBfcHRfZGVtdXhfY2xlYXJfcHRfbWFwKToKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBwdGRlbXV4Lmg6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOiAoZ3N0X3J0cF9zZXNzaW9uX2NsYXNzX2luaXQpLAoJICAocnRjcF90aHJlYWQpLCAoZ3N0X3J0cF9zZXNzaW9uX2NsZWFyX3B0X21hcCk6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5oOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNzcmNkZW11eC5jOgoJICAoZ3N0X3J0cF9zc3JjX2RlbXV4X2NsYXNzX2luaXQpOgoJICBEb2N1bWVudCBzdHVmZi4KCSAgQWRkIGNsZWFyLXB0LW1hcCBhY3Rpb24gc2lnbmFsIHdoZXJlIG5lZWRlZC4KCjIwMDctMDUtMTUgMTM6Mjk6NTMgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBwdGRlbXV4LmM6IFdlIGFsd2F5cyB1c2UgZml4ZWQgY2Fwcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwcHRkZW11eC5jOiAoZ3N0X3J0cF9wdF9kZW11eF9jaGFpbik6CgkgIFdlIGFsd2F5cyB1c2UgZml4ZWQgY2Fwcy4KCjIwMDctMDUtMTUgMDM6NDU6NDUgKzAwMDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6IGdfaGFzaF90YWJsZV9yZW1vdmVfYWxsKCkgb25seSBleGlzdHMgaW4gMi4xMi4gIFdvcmsgYXJvdW5kLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzoKCSAgZ19oYXNoX3RhYmxlX3JlbW92ZV9hbGwoKSBvbmx5IGV4aXN0cyBpbiAyLjEyLiAgV29yayBhcm91bmQuCgoyMDA3LTA1LTE0IDE1OjI4OjM2ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvYXN5bmNfaml0dGVyX3F1ZXVlLmM6IEZpeCBsZWFrIHdoZW4gZmx1c2hpbmcuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2FzeW5jX2ppdHRlcl9xdWV1ZS5jOgoJICAoYXN5bmNfaml0dGVyX3F1ZXVlX3NldF9mbHVzaGluZ191bmxvY2tlZCk6CgkgIEZpeCBsZWFrIHdoZW4gZmx1c2hpbmcuCgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6IChnc3RfcnRwX2Jpbl9jbGVhcl9wdF9tYXApLAoJICAoZ3N0X3J0cF9iaW5fY2xhc3NfaW5pdCk6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmg6CgkgIEFkZCBjbGVhci1wdC1tYXAgc2lnbmFsLgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2ZsdXNoX3N0b3ApLAoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX3NpbmtfZXZlbnQpLCAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2xvb3ApOgoJICBJbml0IGNsb2NrLXJhdGUgdG8gLTEgdG8gbWFyayB1bmtub3cgY2xvY2sgcmF0ZS4KCSAgRml4IGZsdXNoaW5nLgoKMjAwNy0wNS0xMCAxNDowMjowNyArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jIChnc3RfcXRkZW11eF9tb3ZlX3N0cmVhbSwgZ3N0X3F0ZGVtdXhfbG9vcF9zdGF0ZV9oZWFkZXIsIGdzdF9xdGRlbXV4X2FjdGl2YXRlX3NlZ21lbnQsIGdzdF9xdGRlLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYyAoZ3N0X3F0ZGVtdXhfbW92ZV9zdHJlYW0sCgkgIGdzdF9xdGRlbXV4X2xvb3Bfc3RhdGVfaGVhZGVyLCBnc3RfcXRkZW11eF9hY3RpdmF0ZV9zZWdtZW50LAoJICBnc3RfcXRkZW11eF9wcmVwYXJlX2N1cnJlbnRfc2FtcGxlLCBnc3RfcXRkZW11eF9jb21iaW5lX2Zsb3dzLAoJICBnc3RfcXRkZW11eF9sb29wX3N0YXRlX21vdmllLCBnc3RfcXRkZW11eF9sb29wLAoJICBxdGRlbXV4X3BhcnNlX3NlZ21lbnRzLCBxdGRlbXV4X3BhcnNlX3RyYWspOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYyAocnRwX3Nlc3Npb25fZ2V0X2JhbmR3aWR0aCwKCSAgcnRwX3Nlc3Npb25fZ2V0X3J0Y3BfYmFuZHdpZHRoLCBydHBfc2Vzc2lvbl9nZXRfY25hbWUsCgkgIHJ0cF9zZXNzaW9uX2dldF9uYW1lLCBydHBfc2Vzc2lvbl9nZXRfZW1haWwsIHJ0cF9zZXNzaW9uX2dldF9waG9uZSwKCSAgcnRwX3Nlc3Npb25fZ2V0X2xvY2F0aW9uLCBydHBfc2Vzc2lvbl9nZXRfdG9vbCwKCSAgcnRwX3Nlc3Npb25fcHJvY2Vzc19ieWUsIHNlc3Npb25fcmVwb3J0X2Jsb2Nrcyk6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmMgKHJ0cF9zb3VyY2VfcHJvY2Vzc19ydHAsCgkgIHJ0cF9zb3VyY2Vfc2VuZF9ydHAsIHJ0cF9zb3VyY2VfcHJvY2Vzc19zciwgcnRwX3NvdXJjZV9wcm9jZXNzX3JiKToKCSAgTW9yZSBmb3JtYXQgYXJnIGZpeGluZyAoc3BvdHRlZCBieSBBbGkgU2FiaWwgPGFsaS5zYWJpbEBnbWFpbC5jb20+KS4KCSAgKiBnc3Qvc3dpdGNoL01ha2VmaWxlLmFtOgoJICBBZGQgcmVxdWlyZSBsaWJyYXJpZXMoc3BvdHRlZCBieSBBbGkgU2FiaWwgPGFsaS5zYWJpbEBnbWFpbC5jb20+KS4KCjIwMDctMDUtMTAgMTI6Mzg6NDkgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkqIGdzdC9ydHBtYW5hZ2VyL2FzeW5jX2ppdHRlcl9xdWV1ZS5jOgoJICBnc3QvcnRwbWFuYWdlci9hc3luY19qaXR0ZXJfcXVldWUuYyAodGFpbF9idWZmZXJfZHVyYXRpb24sIGFzeW5jX2ppdHRlcl9xdWV1ZV9yZWYsIGFzeW5jX2ppdHRlcl9xdWV1ZV9yZWZfdW5sb2NrZWQsIGEuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvYXN5bmNfaml0dGVyX3F1ZXVlLmMgKHRhaWxfYnVmZmVyX2R1cmF0aW9uLAoJICBhc3luY19qaXR0ZXJfcXVldWVfcmVmLCBhc3luY19qaXR0ZXJfcXVldWVfcmVmX3VubG9ja2VkLAoJICBhc3luY19qaXR0ZXJfcXVldWVfc2V0X2xvd190aHJlc2hvbGQsCgkgIGFzeW5jX2ppdHRlcl9xdWV1ZV9sZW5ndGhfdHNfdW5pdHNfdW5sb2NrZWQsCgkgIGFzeW5jX2ppdHRlcl9xdWV1ZV91bnJlZl9hbmRfdW5sb2NrLCBhc3luY19qaXR0ZXJfcXVldWVfdW5yZWYsCgkgIGFzeW5jX2ppdHRlcl9xdWV1ZV9sb2NrLCBhc3luY19qaXR0ZXJfcXVldWVfcHVzaCwKCSAgYXN5bmNfaml0dGVyX3F1ZXVlX3B1c2hfdW5sb2NrZWQsIGFzeW5jX2ppdHRlcl9xdWV1ZV9wdXNoX3NvcnRlZCwKCSAgYXN5bmNfaml0dGVyX3F1ZXVlX3BvcF9pbnRlcm5fdW5sb2NrZWQsIGFzeW5jX2ppdHRlcl9xdWV1ZV9wb3AsCgkgIGFzeW5jX2ppdHRlcl9xdWV1ZV9wb3BfdW5sb2NrZWQsIGFzeW5jX2ppdHRlcl9xdWV1ZV9sZW5ndGhfdW5sb2NrZWQsCgkgIGFzeW5jX2ppdHRlcl9xdWV1ZV9zZXRfZmx1c2hpbmdfdW5sb2NrZWQsCgkgIGFzeW5jX2ppdHRlcl9xdWV1ZV91bnNldF9mbHVzaGluZ191bmxvY2tlZCk6CgkgIEZvcm1hdCBhcmcgZml4IChzcG90dGVkIGJ5IEFsaSBTYWJpbCA8YWxpLnNhYmlsQGdtYWlsLmNvbT4pCgoyMDA3LTA1LTA5IDExOjI0OjIyICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6IFBhc3MgcXVlcmllcyB1cHN0cmVhbS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfcXVlcnkpOgoJICBQYXNzIHF1ZXJpZXMgdXBzdHJlYW0uCgoyMDA3LTA1LTA0IDEyOjMyOjI3ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6IEFkZCBzb21lIGRlYnVnIGluZm8uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX3F1ZXJ5KToKCSAgQWRkIHNvbWUgZGVidWcgaW5mby4KCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6IChydHBfc2Vzc2lvbl9pbml0KSwKCSAgKHJ0cF9zZXNzaW9uX3NlbmRfcnRwKToKCSAgU3RvcmUgcmVhbCB1c2VyIG5hbWUgaW4gdGhlIHNlc3Npb24uCgoyMDA3LTA0LTMwIDEzOjQxOjMwICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvYXN5bmNfaml0dGVyX3F1ZXVlLmM6IEZpeCB0aGUgY2FzZSB3aGVyZSB0aGUgYnVmZmVyIHVuZGVycnVucyBhbmQgZG9lcyBub3QgYmxvY2suCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2FzeW5jX2ppdHRlcl9xdWV1ZS5jOiAoc2lnbmFsX3dhaXRpbmdfdGhyZWFkcyksCgkgIChhc3luY19qaXR0ZXJfcXVldWVfcG9wX2ludGVybl91bmxvY2tlZCk6CgkgIEZpeCB0aGUgY2FzZSB3aGVyZSB0aGUgYnVmZmVyIHVuZGVycnVucyBhbmQgZG9lcyBub3QgYmxvY2suCgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6IChnc3RfcnRwX2Jpbl9iYXNlX2luaXQpLAoJICAoY3JlYXRlX3JlY3ZfcnRjcCksIChjcmVhdGVfc2VuZF9ydHApLCAoY3JlYXRlX3J0Y3ApLAoJICAoZ3N0X3J0cF9iaW5fcmVxdWVzdF9uZXdfcGFkKToKCSAgUmVuYW1lIFJUQ1Agc2VuZCBwYWQsIGxpa2UgaW4gdGhlIHNlc3Npb24gbWFuYWdlci4KCSAgQWxsb3cgZ2V0dGluZyBhbiBSVENQIHBhZCBmb3IgcmVjZWl2aW5nIGV2ZW4gaWYgd2UgZG9uJ3QgcmVjZWl2ZSBSVFAuCgkgIGZpeCBoYW5kbGluZyBvZiBzZW5kX3J0cF9zcmMgcGFkLgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHB0ZGVtdXguYzogKGdzdF9ydHBfcHRfZGVtdXhfY2hhaW4pOgoJICBXaGVuIG5vIHB0IG1hcCBjb3VsZCBiZSBmb3VuZCwgZmFsbCBiYWNrIHRvIHRoZSBzaW5rcGFkIGNhcHMuCgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOiAoZ3N0X3J0cF9zZXNzaW9uX3Byb2Nlc3NfcnRwKSwKCSAgKGdzdF9ydHBfc2Vzc2lvbl9zZW5kX3J0cCksIChjcmVhdGVfcmVjdl9ydHBfc2luayksCgkgIChjcmVhdGVfcmVjdl9ydGNwX3NpbmspLCAoY3JlYXRlX3NlbmRfcnRwX3NpbmspLAoJICAoY3JlYXRlX3NlbmRfcnRjcF9zcmMpOgoJICBGaXggcGFkIG5hbWVzLgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzogKHNvdXJjZV9wdXNoX3J0cCksCgkgIChydHBfc2Vzc2lvbl9jcmVhdGVfc291cmNlKSwgKHJ0cF9zZXNzaW9uX3Byb2Nlc3Nfc3IpLAoJICAocnRwX3Nlc3Npb25fc2VuZF9ydHApLCAoc2Vzc2lvbl9zdGFydF9ydGNwKToKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmg6CgkgIFVubG9jayBzZXNzaW9uIHdoZW4gcGVyZm9ybWluZyBhIGNhbGxiYWNrLgoJICBBZGQgY2FsbGJhY2tzIGZvciB0aGUgaW50ZXJuYWwgc2Vzc2lvbiBvYmplY3QuCgkgIEZpeCBzZW5kaW5nIG9mIFJUUCBwYWNrZXRzLgoJICBmaXJzdCBhdHRlbXB0IGF0IGFkZGluZyBOVFAgdGltZXMgaW4gdGhlIFNSIHBhY2tldHMuCgkgIFNtYWxsIGRlYnVnIGFuZCBkb2MgaW1wcm92ZW1lbnRzLgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5jOiAocnRwX3NvdXJjZV9zZW5kX3J0cCk6CgkgIFVwZGF0ZSBzdGF0cyBmb3IgU1IgcmVwb3J0cy4KCjIwMDctMDQtMjkgMTQ6NDY6MjcgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6IFJlbW92ZSBkZWJ1Zy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOiAoZ3N0X3J0cF9zZXNzaW9uX3NlbmRfcnRjcCk6CgkgIFJlbW92ZSBkZWJ1Zy4KCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6IChydHBfc2Vzc2lvbl9wcm9jZXNzX3NyKSwKCSAgKHJ0cF9zZXNzaW9uX3Byb2Nlc3Nfc2RlcyksIChjYWxjdWxhdGVfcnRjcF9pbnRlcnZhbCksCgkgIChydHBfc2Vzc2lvbl9uZXh0X3RpbWVvdXQpLCAoc2Vzc2lvbl9yZXBvcnRfYmxvY2tzKToKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzdGF0cy5jOiAocnRwX3N0YXRzX2NhbGN1bGF0ZV9ydGNwX2ludGVydmFsKToKCSAgSW1wcm92ZSBkZWJ1Z2dpbmcKCSAgRml4IGludGVydmFsIGZvciBCWUUvUlRDUCBwYWNrZXRzLgoKMjAwNy0wNC0yNyAxNTowOToxMiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzogTW92ZSByZWNvbnNpZGVyYXRpb24gY29kZSB0byB0aGUgcnRwc2Vzc2lvbiBvYmplY3QuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzogKHJ0Y3BfdGhyZWFkKSwKCSAgKGdzdF9ydHBfc2Vzc2lvbl9zZW5kX3J0Y3ApLCAoZ3N0X3J0cF9zZXNzaW9uX3JlY29uc2lkZXIpOgoJICBNb3ZlIHJlY29uc2lkZXJhdGlvbiBjb2RlIHRvIHRoZSBydHBzZXNzaW9uIG9iamVjdC4KCSAgU2ltcGxpZnkgdGltb3V0IGhhbmRsaW5nIGFuZCBhZGQgcmVjb25zaWRlcmF0aW9uLgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzogKHJ0cF9zZXNzaW9uX2NsYXNzX2luaXQpLAoJICAocnRwX3Nlc3Npb25faW5pdCksIChydHBfc2Vzc2lvbl9maW5hbGl6ZSksIChvbl9ieWVfc3NyYyksCgkgIChvbl9ieWVfdGltZW91dCksIChvbl90aW1lb3V0KSwgKHJ0cF9zZXNzaW9uX3NldF9jYWxsYmFja3MpLAoJICAob2J0YWluX3NvdXJjZSksIChydHBfc2Vzc2lvbl9jcmVhdGVfc291cmNlKSwKCSAgKHVwZGF0ZV9hcnJpdmFsX3N0YXRzKSwgKHJ0cF9zZXNzaW9uX3Byb2Nlc3NfcnRwKSwKCSAgKHJ0cF9zZXNzaW9uX3Byb2Nlc3Nfc3IpLCAocnRwX3Nlc3Npb25fcHJvY2Vzc19yciksCgkgIChydHBfc2Vzc2lvbl9wcm9jZXNzX2J5ZSksIChydHBfc2Vzc2lvbl9wcm9jZXNzX3J0Y3ApLAoJICAoY2FsY3VsYXRlX3J0Y3BfaW50ZXJ2YWwpLCAocnRwX3Nlc3Npb25fc2VuZF9ieWUpLAoJICAocnRwX3Nlc3Npb25fbmV4dF90aW1lb3V0KSwgKHNlc3Npb25fc3RhcnRfcnRjcCksCgkgIChzZXNzaW9uX3JlcG9ydF9ibG9ja3MpLCAoc2Vzc2lvbl9jbGVhbnVwKSwgKHNlc3Npb25fc2RlcyksCgkgIChzZXNzaW9uX2J5ZSksIChpc19ydGNwX3RpbWUpLCAocnRwX3Nlc3Npb25fb25fdGltZW91dCk6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5oOgoJICBIYW5kbGUgdGltZW91dCBvZiBpbmFjdGl2ZSBzb3VyY2VzIGFuZCBzZW5kZXJzLgoJICBJbXBsZW1lbnQgQllFIHNjaGVkdWxpbmcuCgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmM6IChjYWxjdWxhdGVfaml0dGVyKSwKCSAgKHJ0cF9zb3VyY2VfcHJvY2Vzc19zciksIChydHBfc291cmNlX2dldF9sYXN0X3NyKSwKCSAgKHJ0cF9zb3VyY2VfZ2V0X2xhc3RfcmIpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5oOgoJICBBZGQgbWVtYmVycyB0byBjaGVjayBmb3IgdGltZW91dHMuCgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc3RhdHMuYzogKHJ0cF9zdGF0c19pbml0X2RlZmF1bHRzKSwKCSAgKHJ0cF9zdGF0c19jYWxjdWxhdGVfcnRjcF9pbnRlcnZhbCksIChydHBfc3RhdHNfYWRkX3J0Y3Bfaml0dGVyKSwKCSAgKHJ0cF9zdGF0c19jYWxjdWxhdGVfYnllX2ludGVydmFsKToKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzdGF0cy5oOgoJICBVc2UgUkZDIGFsZ29yaXRobSBmb3IgY2FsY3VsYXRpbmcgdGhlIHJlcG9ydGluZyBpbnRlcnZhbC4KCjIwMDctMDQtMjUgMTY6Mzg6MDMgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6IEltcGxlbWVudCBmb3J3YXJkIGFuZCByZXZlcnNlIHJlY29uc2lkZXJhdGlvbi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOiAocnRjcF90aHJlYWQpOgoJICBJbXBsZW1lbnQgZm9yd2FyZCBhbmQgcmV2ZXJzZSByZWNvbnNpZGVyYXRpb24uCgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOiAocnRwX3Nlc3Npb25fZ2V0X251bV9zb3VyY2VzKSwKCSAgKHJ0cF9zZXNzaW9uX2dldF9udW1fYWN0aXZlX3NvdXJjZXMpLCAocnRwX3Nlc3Npb25fcHJvY2Vzc19zciksCgkgIChzZXNzaW9uX3JlcG9ydF9ibG9ja3MpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uaDoKCSAgU21hbGwgY2xlYW51cHMuCgoyMDA3LTA0LTI1IDE1OjQ4OjQ2ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLio6IE1ha2UgZGVmYXVsdCBqaXR0ZXJidWZmZXIgbGF0ZW5jeSBjb25maWd1cmFibGUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICByZXZpZXdlZCBieTogPGRlbGV0ZSBpZiBub3QgdXNpbmcgYSBidWRkeT4KCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzogKGNyZWF0ZV9zdHJlYW0pLAoJICAoZ3N0X3J0cF9iaW5fY2xhc3NfaW5pdCksIChnc3RfcnRwX2Jpbl9zZXRfcHJvcGVydHkpLAoJICAoZ3N0X3J0cF9iaW5fZ2V0X3Byb3BlcnR5KToKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uaDoKCSAgTWFrZSBkZWZhdWx0IGppdHRlcmJ1ZmZlciBsYXRlbmN5IGNvbmZpZ3VyYWJsZS4KCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9jbGFzc19pbml0KSwKCSAgKGdzdF9qaXR0ZXJfYnVmZmVyX3NpbmtfcGFyc2VfY2FwcyksIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfbG9vcCksCgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9nZXRfcHJvcGVydHkpOgoJICBEZWJ1Z2luZyBjbGVhbnVwcy4KCjIwMDctMDQtMjUgMTM6MTk6MzYgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzogUmVwb3J0IE5PX1BSRVJPTEwgd2hlbiBnb2luZyB0byBQQVVTRUQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2NoYW5nZV9zdGF0ZSk6CgkgIFJlcG9ydCBOT19QUkVST0xMIHdoZW4gZ29pbmcgdG8gUEFVU0VELgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzogKHJ0Y3BfdGhyZWFkKToKCSAgRG9uJ3Qgc2VuZCBSVENQIHJpZ2h0IGJlZm9yZSB3ZSBhcmUgc2h1dHRpbmcgZG93bi4KCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6IChydHBfc2Vzc2lvbl9wcm9jZXNzX3J0cCksCgkgIChydHBfc2Vzc2lvbl9wcm9jZXNzX3NyKSwgKHNlc3Npb25fcmVwb3J0X2Jsb2NrcyksCgkgIChydHBfc2Vzc2lvbl9wZXJmb3JtX3JlcG9ydGluZyk6CgkgIEltcHJvdmUgcmVwb3J0IGJsb2Nrcy4KCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuYzogKGNhbGN1bGF0ZV9qaXR0ZXIpLCAoaW5pdF9zZXEpLAoJICAocnRwX3NvdXJjZV9wcm9jZXNzX3J0cCksIChydHBfc291cmNlX3Byb2Nlc3Nfc3IpLAoJICAocnRwX3NvdXJjZV9wcm9jZXNzX3JiKSwgKHJ0cF9zb3VyY2VfZ2V0X2xhc3Rfc3IpLAoJICAocnRwX3NvdXJjZV9nZXRfbGFzdF9yYik6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmg6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc3RhdHMuaDoKCSAgQ2xlYW51cHMsIGFkZCBtZXRob2RzIHRvIGFjY2VzcyBzdGF0cy4KCjIwMDctMDQtMjUgMDg6MzA6NDggKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzogZml4IGZvciBwYWQgbmFtZSBjaGFuZ2UKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6IChjcmVhdGVfcnRjcCk6CgkgIGZpeCBmb3IgcGFkIG5hbWUgY2hhbmdlCgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOiAocnRjcF90aHJlYWQpLAoJICAoZ3N0X3J0cF9zZXNzaW9uX3NlbmRfcnRjcCksIChnc3RfcnRwX3Nlc3Npb25fY2xvY2tfcmF0ZSk6CgkgIEZpeCBmb3IgcmVuYW1lZCBtZXRob2RzLgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzogKHJ0cF9zZXNzaW9uX2luaXQpLAoJICAocnRwX3Nlc3Npb25fZmluYWxpemUpLCAocnRwX3Nlc3Npb25fc2V0X2NuYW1lKSwKCSAgKHJ0cF9zZXNzaW9uX2dldF9jbmFtZSksIChydHBfc2Vzc2lvbl9zZXRfbmFtZSksCgkgIChydHBfc2Vzc2lvbl9nZXRfbmFtZSksIChydHBfc2Vzc2lvbl9zZXRfZW1haWwpLAoJICAocnRwX3Nlc3Npb25fZ2V0X2VtYWlsKSwgKHJ0cF9zZXNzaW9uX3NldF9waG9uZSksCgkgIChydHBfc2Vzc2lvbl9nZXRfcGhvbmUpLCAocnRwX3Nlc3Npb25fc2V0X2xvY2F0aW9uKSwKCSAgKHJ0cF9zZXNzaW9uX2dldF9sb2NhdGlvbiksIChydHBfc2Vzc2lvbl9zZXRfdG9vbCksCgkgIChydHBfc2Vzc2lvbl9nZXRfdG9vbCksIChydHBfc2Vzc2lvbl9zZXRfbm90ZSksCgkgIChydHBfc2Vzc2lvbl9nZXRfbm90ZSksIChzb3VyY2VfcHVzaF9ydHApLCAob2J0YWluX3NvdXJjZSksCgkgIChydHBfc2Vzc2lvbl9hZGRfc291cmNlKSwgKHJ0cF9zZXNzaW9uX2dldF9zb3VyY2VfYnlfc3NyYyksCgkgIChydHBfc2Vzc2lvbl9jcmVhdGVfc291cmNlKSwgKHJ0cF9zZXNzaW9uX3Byb2Nlc3NfcnRwKSwKCSAgKHJ0cF9zZXNzaW9uX3Byb2Nlc3Nfc3IpLCAocnRwX3Nlc3Npb25fcHJvY2Vzc19zZGVzKSwKCSAgKHJ0cF9zZXNzaW9uX3Byb2Nlc3NfcnRjcCksIChydHBfc2Vzc2lvbl9zZW5kX3J0cCksCgkgIChydHBfc2Vzc2lvbl9nZXRfcmVwb3J0aW5nX2ludGVydmFsKSwgKHNlc3Npb25fcmVwb3J0X2Jsb2NrcyksCgkgIChzZXNzaW9uX3NkZXMpLCAocnRwX3Nlc3Npb25fcGVyZm9ybV9yZXBvcnRpbmcpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uaDoKCSAgUHJlcGFyZSBmb3IgaW1wbGVtZW50aW5nIFNTUkMgc2FtcGxpbmcuCgkgIENyZWF0ZSBTU1JDIGZvciB0aGUgc2Vzc2lvbi4KCSAgQWRkIG1ldGhvZHMgdG8gc2V0IHRoZSBTREVTIGVudHJpZXMuCgkgIGZpeCBhY2NvdW50aW5nIG9mIHNlbmRlcnMvcmVjZWl2ZXJzLgoJICBJbXBsZW1lbnQgU1IvUlIvU0RFUyBSVENQIHJlcG9ydGluZy4KCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuYzogKHJ0cF9zb3VyY2VfaW5pdCksIChpbml0X3NlcSksCgkgIChydHBfc291cmNlX3Byb2Nlc3NfcnRwKSwgKHJ0cF9zb3VyY2VfcHJvY2Vzc19zcik6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmg6CgkgIEltcGxlbWVudCBleHRlbmRlZCBzZXF1ZW5jZSBudW1iZXIuCgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc3RhdHMuYzogKHJ0cF9zdGF0c19jYWxjdWxhdGVfcnRjcF9pbnRlcnZhbCk6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc3RhdHMuaDoKCSAgUmVuYW1lIHNvbWUgZmllbGRzLgoKMjAwNy0wNC0yMSAxOToyMTo0OSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzogRG9uJ3QgdXNlIEdMaWItMi4xMCBBUEksIHdlIG9ubHkgcmVxdWlyZSBHTGliIDIuOCBhdCB0aGUgbW9tZW50LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6IChydHBfc2Vzc2lvbl9maW5hbGl6ZSk6CgkgIERvbid0IHVzZSBHTGliLTIuMTAgQVBJLCB3ZSBvbmx5IHJlcXVpcmUgR0xpYiAyLjggYXQgdGhlIG1vbWVudC4KCjIwMDctMDQtMTggMTg6NTg6NTMgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBjb25maWd1cmUuYWM6IERpc2FibGUgcnRwbWFuYWdlciBmb3Igbm93IGJlY2F1c2UgaXQgZGVwZW5kcyBvbiBDVlMgLWJhc2UuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgRGlzYWJsZSBydHBtYW5hZ2VyIGZvciBub3cgYmVjYXVzZSBpdCBkZXBlbmRzIG9uIENWUyAtYmFzZS4KCSAgKiBnc3QvcnRwbWFuYWdlci9NYWtlZmlsZS5hbToKCSAgQWRkZWQgbmV3IGZpbGVzIGZvciBzZXNzaW9uIG1hbmFnZXIuCgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmg6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6IChjcmVhdGVfc2Vzc2lvbiksIChnZXRfcHRfbWFwKSwKCSAgKGNyZWF0ZV9zdHJlYW0pLCAocHRfbWFwX3JlcXVlc3RlZCksIChuZXdfc3NyY19wYWRfZm91bmQpOgoJICBTb21lIGNsZWFudXBzLgoJICB0aGUgc2Vzc2lvbiBtYW5hZ2VyIGNhbiBub3cgYWxzbyByZXF1ZXN0IGEgcHQtbWFwLgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzogKGdzdF9ydHBfc2Vzc2lvbl9iYXNlX2luaXQpLAoJICAoZ3N0X3J0cF9zZXNzaW9uX2NsYXNzX2luaXQpLCAoZ3N0X3J0cF9zZXNzaW9uX2luaXQpLAoJICAoZ3N0X3J0cF9zZXNzaW9uX2ZpbmFsaXplKSwgKHJ0Y3BfdGhyZWFkKSwgKHN0YXJ0X3J0Y3BfdGhyZWFkKSwKCSAgKHN0b3BfcnRjcF90aHJlYWQpLCAoZ3N0X3J0cF9zZXNzaW9uX2NoYW5nZV9zdGF0ZSksCgkgIChnc3RfcnRwX3Nlc3Npb25fcHJvY2Vzc19ydHApLCAoZ3N0X3J0cF9zZXNzaW9uX3NlbmRfcnRwKSwKCSAgKGdzdF9ydHBfc2Vzc2lvbl9zZW5kX3J0Y3ApLCAoZ3N0X3J0cF9zZXNzaW9uX2Nsb2NrX3JhdGUpLAoJICAoZ3N0X3J0cF9zZXNzaW9uX2dldF90aW1lKSwgKGdzdF9ydHBfc2Vzc2lvbl9ldmVudF9yZWN2X3J0cF9zaW5rKSwKCSAgKGdzdF9ydHBfc2Vzc2lvbl9jaGFpbl9yZWN2X3J0cCksCgkgIChnc3RfcnRwX3Nlc3Npb25fZXZlbnRfcmVjdl9ydGNwX3NpbmspLAoJICAoZ3N0X3J0cF9zZXNzaW9uX2NoYWluX3JlY3ZfcnRjcCksCgkgIChnc3RfcnRwX3Nlc3Npb25fZXZlbnRfc2VuZF9ydHBfc2luayksCgkgIChnc3RfcnRwX3Nlc3Npb25fY2hhaW5fc2VuZF9ydHApLCAoY3JlYXRlX3NlbmRfcnRjcF9zcmMpLAoJICAoZ3N0X3J0cF9zZXNzaW9uX3JlcXVlc3RfbmV3X3BhZCk6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5oOgoJICBXZSBjYW4gYXNrIGZvciBwdC1tYXAgbm93IHRvbyB3aGVuIHRoZSBzZXNzaW9uIG1hbmFnZXIgbmVlZHMgaXQuCgkgIEhvb2sgdXAgdG8gdGhlIG5ldyBzZXNzaW9uIG1hbmFnZXIsIGltcGxlbWVudCB0aGUgbmVlZGVkIGNhbGxiYWNrcyBmb3IKCSAgcHVzaGluZyBkYXRhLCBnZXR0aW5nIGNsb2NrIHRpbWUgYW5kIHJlcXVlc3RpbmcgY2xvY2stcmF0ZXMuCgkgIFJlbmFtZSBydGNwX3NyYyB0byBzZW5kX3J0Y3Bfc3JjIHRvIG1ha2UgaXQgY2xlYXIgdGhhdCB0aGlzIFJUQ1AgaXMgdG8KCSAgYmUgc2VuZCB0byBjbGllbnRzLgoJICBBZGQgY29kZSB0byBzdGFydCBhbmQgc3RvcCB0aGUgdGhyZWFkIHRoYXQgd2lsbCBzY2hlZHVsZSBSVENQIHRocm91Z2gKCSAgdGhlIHNlc3Npb24gbWFuYWdlci4KCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6IChydHBfc2Vzc2lvbl9jbGFzc19pbml0KSwKCSAgKHJ0cF9zZXNzaW9uX2luaXQpLCAocnRwX3Nlc3Npb25fZmluYWxpemUpLAoJICAocnRwX3Nlc3Npb25fc2V0X3Byb3BlcnR5KSwgKHJ0cF9zZXNzaW9uX2dldF9wcm9wZXJ0eSksCgkgIChvbl9uZXdfc3NyYyksIChvbl9zc3JjX2NvbGxpc2lvbiksIChvbl9zc3JjX3ZhbGlkYXRlZCksCgkgIChvbl9ieWVfc3NyYyksIChydHBfc2Vzc2lvbl9uZXcpLCAocnRwX3Nlc3Npb25fc2V0X2NhbGxiYWNrcyksCgkgIChydHBfc2Vzc2lvbl9zZXRfYmFuZHdpZHRoKSwgKHJ0cF9zZXNzaW9uX2dldF9iYW5kd2lkdGgpLAoJICAocnRwX3Nlc3Npb25fc2V0X3J0Y3BfYmFuZHdpZHRoKSwgKHJ0cF9zZXNzaW9uX2dldF9ydGNwX2JhbmR3aWR0aCksCgkgIChzb3VyY2VfcHVzaF9ydHApLCAoc291cmNlX2Nsb2NrX3JhdGUpLCAoY2hlY2tfY29sbGlzaW9uKSwKCSAgKG9idGFpbl9zb3VyY2UpLCAocnRwX3Nlc3Npb25fYWRkX3NvdXJjZSksCgkgIChydHBfc2Vzc2lvbl9nZXRfbnVtX3NvdXJjZXMpLAoJICAocnRwX3Nlc3Npb25fZ2V0X251bV9hY3RpdmVfc291cmNlcyksCgkgIChydHBfc2Vzc2lvbl9nZXRfc291cmNlX2J5X3NzcmMpLAoJICAocnRwX3Nlc3Npb25fZ2V0X3NvdXJjZV9ieV9jbmFtZSksIChydHBfc2Vzc2lvbl9jcmVhdGVfc291cmNlKSwKCSAgKHVwZGF0ZV9hcnJpdmFsX3N0YXRzKSwgKHJ0cF9zZXNzaW9uX3Byb2Nlc3NfcnRwKSwKCSAgKHJ0cF9zZXNzaW9uX3Byb2Nlc3Nfc3IpLCAocnRwX3Nlc3Npb25fcHJvY2Vzc19yciksCgkgIChydHBfc2Vzc2lvbl9wcm9jZXNzX3NkZXMpLCAocnRwX3Nlc3Npb25fcHJvY2Vzc19ieWUpLAoJICAocnRwX3Nlc3Npb25fcHJvY2Vzc19hcHApLCAocnRwX3Nlc3Npb25fcHJvY2Vzc19ydGNwKSwKCSAgKHJ0cF9zZXNzaW9uX3NlbmRfcnRwKSwgKHJ0cF9zZXNzaW9uX2dldF9ydGNwX2ludGVydmFsKSwKCSAgKHJ0cF9zZXNzaW9uX3Byb2R1Y2VfcnRjcCk6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5oOgoJICBUaGUgYWR2YW5jZWQgYmVnaW5uaW5ncyBvZiB0aGUgbWFpbiBzZXNzaW9uIG1hbmFnZXIgdGhhdCBoYW5kbGVzIHRoZQoJICBwYXJ0aWNpcGFudCBkYXRhYmFzZSBvZiBSVFBTb3VyY2VzLCBTU1JDIHByb2JhdGlvbiwgU1NSQyBjb2xsaXNpb25zLAoJICBwYXJzZSBSVENQIHRvIHVwZGF0ZSBzb3VyY2Ugc3RhdHMuIGV0Yy4uCgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmM6IChydHBfc291cmNlX2NsYXNzX2luaXQpLAoJICAocnRwX3NvdXJjZV9pbml0KSwgKHJ0cF9zb3VyY2VfZmluYWxpemUpLCAocnRwX3NvdXJjZV9uZXcpLAoJICAocnRwX3NvdXJjZV9zZXRfY2FsbGJhY2tzKSwgKHJ0cF9zb3VyY2Vfc2V0X2FzX2NzcmMpLAoJICAocnRwX3NvdXJjZV9zZXRfcnRwX2Zyb20pLCAocnRwX3NvdXJjZV9zZXRfcnRjcF9mcm9tKSwKCSAgKHB1c2hfcGFja2V0KSwgKGdldF9jbG9ja19yYXRlKSwgKGNhbGN1bGF0ZV9qaXR0ZXIpLAoJICAocnRwX3NvdXJjZV9wcm9jZXNzX3J0cCksIChydHBfc291cmNlX3Byb2Nlc3NfYnllKSwKCSAgKHJ0cF9zb3VyY2Vfc2VuZF9ydHApLCAocnRwX3NvdXJjZV9wcm9jZXNzX3NyKSwKCSAgKHJ0cF9zb3VyY2VfcHJvY2Vzc19yYik6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmg6CgkgIE9iamVjdCB0aGF0IGVuY2Fwc3VsYXRlcyBhbiBTU1JDIGFuZCBpdHMgc3RhdGUgaW4gdGhlIGRhdGFiYXNlLgoJICBDYWxjdWxhdGVzIHRoZSBqaXR0ZXIgYW5kIHRyYW5zaXQgdGltZXMgb2YgZGF0YSBwYWNrZXRzLgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHN0YXRzLmM6IChydHBfc3RhdHNfaW5pdF9kZWZhdWx0cyksCgkgIChydHBfc3RhdHNfY2FsY3VsYXRlX3J0Y3BfaW50ZXJ2YWwpLCAocnRwX3N0YXRzX2FkZF9ydGNwX2ppdHRlcik6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc3RhdHMuaDoKCSAgVmFyaW91cyBzdGF0cyByZWdhcmRpbmcgdGhlIHNlc3Npb24gYW5kIHNvdXJjZXMuCgkgIFVzZWQgdG8gY2FsY3VsYXRlIHRoZSBSVENQIGludGVydmFsLgoKMjAwNy0wNC0xMyAwOToyMDo1NSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyLzogUHJvdGVjdCBsaXN0cyBhbmQgc3RydWN0dXJlcyB3aXRoIGxvY2tzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzogKGNyZWF0ZV9zZXNzaW9uKSwgKGdldF9wdF9tYXApLAoJICAoZ3N0X3J0cF9iaW5faW5pdCksIChnc3RfcnRwX2Jpbl9maW5hbGl6ZSksIChuZXdfc3NyY19wYWRfZm91bmQpLAoJICAoY3JlYXRlX3JlY3ZfcnRwKSwgKGdzdF9ydHBfYmluX3JlcXVlc3RfbmV3X3BhZCk6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmg6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwY2xpZW50LmM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOiAoZ3N0X3J0cF9zZXNzaW9uX2NsYXNzX2luaXQpLAoJICAoZ3N0X3J0cF9zZXNzaW9uX2luaXQpLCAoZ3N0X3J0cF9zZXNzaW9uX2ZpbmFsaXplKSwKCSAgKGdzdF9ydHBfc2Vzc2lvbl9ldmVudF9yZWN2X3J0cF9zaW5rKSwKCSAgKGdzdF9ydHBfc2Vzc2lvbl9ldmVudF9yZWN2X3J0Y3Bfc2luayksCgkgIChnc3RfcnRwX3Nlc3Npb25fY2hhaW5fcmVjdl9ydGNwKSwKCSAgKGdzdF9ydHBfc2Vzc2lvbl9yZXF1ZXN0X25ld19wYWQpOgoJICBQcm90ZWN0IGxpc3RzIGFuZCBzdHJ1Y3R1cmVzIHdpdGggbG9ja3MuCgkgIFJldHVybiBGTE9XX09LIGZyb20gUlRDUCBtZXNzYWdlcyBmb3Igbm93LgoKMjAwNy0wNC0xMiAwODoxODozMiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOiBFbWl0IHB0IG1hcCByZXF1ZXN0cyBhbmQgY2FjaGUgcmVzdWx0cy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6IChjcmVhdGVfc2Vzc2lvbiksIChnZXRfcHRfbWFwKSwKCSAgKGNyZWF0ZV9zdHJlYW0pLCAoZ3N0X3J0cF9iaW5fY2xhc3NfaW5pdCksIChwdF9tYXBfcmVxdWVzdGVkKToKCSAgRW1pdCBwdCBtYXAgcmVxdWVzdHMgYW5kIGNhY2hlIHJlc3VsdHMuCgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfY2xhc3NfaW5pdCksCgkgIChnc3Rfaml0dGVyX2J1ZmZlcl9zaW5rX3BhcnNlX2NhcHMpLAoJICAoZ3N0X2ppdHRlcl9idWZmZXJfc2lua19zZXRjYXBzKSwKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9nZXRfY2xvY2tfcmF0ZSksCgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfY2hhaW4pLCAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2xvb3ApOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5oOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHB0ZGVtdXguYzogKGdzdF9ydHBfcHRfZGVtdXhfY2hhaW4pOgoJICBFbWl0IHJlcXVlc3QtcHQtbWFwIHNpZ25hbHMuCgoyMDA3LTA0LTExIDEzOjQ5OjU0ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLW1hcnNoYWwubGlzdDogU29tZSBtb3JlIGN1c3RvbSBtYXJzaGFsbGVycy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLW1hcnNoYWwubGlzdDoKCSAgU29tZSBtb3JlIGN1c3RvbSBtYXJzaGFsbGVycy4KCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzogKGNyZWF0ZV9zZXNzaW9uKSwgKGdldF9wdF9tYXApLAoJICAoY2xvY2tfcmF0ZV9yZXF1ZXN0KSwgKGNyZWF0ZV9zdHJlYW0pLCAoZ3N0X3J0cF9iaW5fY2xhc3NfaW5pdCksCgkgIChwdF9tYXBfcmVxdWVzdGVkKSwgKG5ld19zc3JjX3BhZF9mb3VuZCksIChjcmVhdGVfcmVjdl9ydHApOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5oOgoJICBQcmVwYXJlIGZvciBjYWNoaW5nIHB0IG1hcHMuCgkgIENvbm5lY3QgdG8gc2lnbmFscyB0byBjb2xsZWN0IHB0IG1hcHMuCgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfY2xhc3NfaW5pdCksCgkgIChnc3Rfaml0dGVyX2J1ZmZlcl9zaW5rX3NldGNhcHMpLCAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2xvb3ApOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5oOgoJICBBZGQgcmVxdWVzdF9jbG9ja19yYXRlIHNpZ25hbC4KCSAgVXNlIHNjYWxlIGluc3RlYXQgb2Ygc2NhbGVfaW50IGJlY2F1c2UgdGhlIGxhdGVyIGRvZXMgbm90IGRlYWwgd2l0aAoJICBuZWdhdGl2ZSBudW1iZXJzLgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHB0ZGVtdXguYzogKGdzdF9ydHBfcHRfZGVtdXhfY2xhc3NfaW5pdCksCgkgIChnc3RfcnRwX3B0X2RlbXV4X2NoYWluKToKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBwdGRlbXV4Lmg6CgkgIEltcGxlbWVudCByZXF1ZXN0LXB0LW1hcCBzaWduYWwuCgoyMDA3LTA0LTEwIDA5OjE0OjA3ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvOiBBZGRlZCBjdXN0b20gbWFyc2hhbGxlcnMgZm9yIHNpZ25hbHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyLy5jdnNpZ25vcmU6CgkgICogZ3N0L3J0cG1hbmFnZXIvTWFrZWZpbGUuYW06CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLW1hcnNoYWwubGlzdDoKCSAgQWRkZWQgY3VzdG9tIG1hcnNoYWxsZXJzIGZvciBzaWduYWxzLgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOiAoZ3N0X3J0cF9iaW5fY2xhc3NfaW5pdCk6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmg6CgkgIFByZXBhcmUgZm9yIGVtaXRpbmcgcHQgbWFwIHNpZ25hbHMuCgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwcHRkZW11eC5jOiAoZ3N0X3J0cF9wdF9kZW11eF9jbGFzc19pbml0KToKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzc3JjZGVtdXguYzoKCSAgKGdzdF9ydHBfc3NyY19kZW11eF9jbGFzc19pbml0KToKCSAgRml4IHNpZ25hbHMuCgoyMDA3LTA0LTA2IDEyOjI4OjI5ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLio6IFByb3ZpZGUgYSBjbG9jay4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6IChnc3RfcnRwX2Jpbl9jbGFzc19pbml0KSwKCSAgKGdzdF9ydHBfYmluX2luaXQpLCAoZ3N0X3J0cF9iaW5fcHJvdmlkZV9jbG9jayk6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmg6CgkgIFByb3ZpZGUgYSBjbG9jay4KCjIwMDctMDQtMDYgMTI6MDc6MzAgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzogRml4IHBhZCB0ZW1wbGF0ZSBuYW1lIHBhcnNpbmcuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOiAoY3JlYXRlX3J0Y3ApOgoJICBGaXggcGFkIHRlbXBsYXRlIG5hbWUgcGFyc2luZy4KCjIwMDctMDQtMDUgMTY6MTA6MjQgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzogQWRkIHNvbWUgZGVidWcgYW5kIGNvbW1lbnRzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgKGdzdF9qaXR0ZXJfYnVmZmVyX3Npbmtfc2V0Y2FwcyksIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfY2hhaW4pLAoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2xvb3ApOgoJICBBZGQgc29tZSBkZWJ1ZyBhbmQgY29tbWVudHMuCgkgIEZpeCBkb3VibGUgdW5yZWYoKSBpbiBlcnJvciBjYXNlcy4KCjIwMDctMDQtMDUgMTM6NTQ6MjMgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uKjogQWRkIGRlYnVnZ2luZyBjYXRlZ29yeS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6IChmaW5kX3Nlc3Npb25fYnlfaWQpLAoJICAoY3JlYXRlX3Nlc3Npb24pLCAoZmluZF9zdHJlYW1fYnlfc3NyYyksIChjcmVhdGVfc3RyZWFtKSwKCSAgKGdzdF9ydHBfYmluX2NsYXNzX2luaXQpLCAobmV3X3BheWxvYWRfZm91bmQpLAoJICAobmV3X3NzcmNfcGFkX2ZvdW5kKSwgKGNyZWF0ZV9yZWN2X3J0cCksIChjcmVhdGVfcmVjdl9ydGNwKSwKCSAgKGNyZWF0ZV9zZW5kX3J0cCksIChjcmVhdGVfcnRjcCk6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmg6CgkgIEFkZCBkZWJ1Z2dpbmcgY2F0ZWdvcnkuCgkgIEFkZGVkIFJUUFN0cmVhbSB0byBtYW5hZ2Ugc3RyZWFtIHBlciBTU1JDLCBlYWNoIHdpdGggaXRzIG93bgoJICBqaXR0ZXJidWZmZXIgYW5kIHB0ZGVtdXguCgkgIEFkZGVkIFNTUkNEZW11eC4KCSAgQ29ubmVjdCB0byB2YXJpb3VzIFNTUkMgYW5kIFBUIHNpZ25hbHMgYW5kIGNyZWF0ZSBnaG9zdHBhZHMsIGxpbmsgc3R1ZmYuCgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwbWFuYWdlci5jOiAocGx1Z2luX2luaXQpOgoJICBBZGRlZCBydHBiaW4gdG8gZWxlbWVudHMuCgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwcHRkZW11eC5jOiAoZ3N0X3J0cF9wdF9kZW11eF9jaGFpbik6CgkgIEZpeCBjYXBzIGFuZCBmb3J3YXJkIEdzdEZsb3dSZXR1cm4KCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6IChnc3RfcnRwX3Nlc3Npb25fY2xhc3NfaW5pdCksCgkgIChnc3RfcnRwX3Nlc3Npb25fZXZlbnRfcmVjdl9ydHBfc2luayksCgkgIChnc3RfcnRwX3Nlc3Npb25fY2hhaW5fcmVjdl9ydHApLAoJICAoZ3N0X3J0cF9zZXNzaW9uX2V2ZW50X3JlY3ZfcnRjcF9zaW5rKSwKCSAgKGdzdF9ydHBfc2Vzc2lvbl9jaGFpbl9yZWN2X3J0Y3ApLAoJICAoZ3N0X3J0cF9zZXNzaW9uX2V2ZW50X3NlbmRfcnRwX3NpbmspLAoJICAoZ3N0X3J0cF9zZXNzaW9uX2NoYWluX3NlbmRfcnRwKSwgKGNyZWF0ZV9yZWN2X3J0cF9zaW5rKSwKCSAgKGNyZWF0ZV9yZWN2X3J0Y3Bfc2luayksIChjcmVhdGVfc2VuZF9ydHBfc2luayksIChjcmVhdGVfcnRjcF9zcmMpLAoJICAoZ3N0X3J0cF9zZXNzaW9uX3JlcXVlc3RfbmV3X3BhZCk6CgkgIEFkZCBkZWJ1ZyBjYXRlZ29yeS4KCSAgQWRkIGV2ZW50IGhhbmRsaW5nCgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc3NyY2RlbXV4LmM6IChmaW5kX3J0cF9wYWRfZm9yX3NzcmMpLAoJICAoY3JlYXRlX3J0cF9wYWRfZm9yX3NzcmMpLCAoZ3N0X3J0cF9zc3JjX2RlbXV4X2NsYXNzX2luaXQpLAoJICAoZ3N0X3J0cF9zc3JjX2RlbXV4X2luaXQpLCAoZ3N0X3J0cF9zc3JjX2RlbXV4X2NoYWluKSwKCSAgKGdzdF9ydHBfc3NyY19kZW11eF9jaGFuZ2Vfc3RhdGUpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNzcmNkZW11eC5oOgoJICBBZGQgZGVidWcgY2F0ZWdvcnkuCgkgIEFkZCBuZXctcHQtcGFkIHNpZ25hbC4KCjIwMDctMDQtMDQgMTA6MjM6MTUgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci86IEFkZGVkIHNpbXBsZSBTU1JDIGRlbXV4ZXIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL01ha2VmaWxlLmFtOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cG1hbmFnZXIuYzogKHBsdWdpbl9pbml0KToKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzc3JjZGVtdXguYzogKGZpbmRfcGFkX2Zvcl9zc3JjKSwKCSAgKGNyZWF0ZV9wYWRfZm9yX3NzcmMpLCAoZ3N0X3J0cF9zc3JjX2RlbXV4X2Jhc2VfaW5pdCksCgkgIChnc3RfcnRwX3NzcmNfZGVtdXhfY2xhc3NfaW5pdCksIChnc3RfcnRwX3NzcmNfZGVtdXhfaW5pdCksCgkgIChnc3RfcnRwX3NzcmNfZGVtdXhfZmluYWxpemUpLCAoZ3N0X3J0cF9zc3JjX2RlbXV4X3NpbmtfZXZlbnQpLAoJICAoZ3N0X3J0cF9zc3JjX2RlbXV4X2NoYWluKSwgKGdzdF9ydHBfc3NyY19kZW11eF9zcmNfZXZlbnQpLAoJICAoZ3N0X3J0cF9zc3JjX2RlbXV4X2NoYW5nZV9zdGF0ZSk6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc3NyY2RlbXV4Lmg6CgkgIEFkZGVkIHNpbXBsZSBTU1JDIGRlbXV4ZXIuCgoyMDA3LTA0LTAzIDExOjM1OjM5ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvOiBTb21lIG1vcmUgZ2hvc3RwYWQgbWFnaWMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOiAoZmluZF9zZXNzaW9uX2J5X2lkKSwKCSAgKGNyZWF0ZV9zZXNzaW9uKSwgKGdzdF9ydHBfYmluX2Jhc2VfaW5pdCksIChjcmVhdGVfcmVjdl9ydHApLAoJICAoY3JlYXRlX3JlY3ZfcnRjcCksIChjcmVhdGVfc2VuZF9ydHApLCAoY3JlYXRlX3J0Y3ApLAoJICAoZ3N0X3J0cF9iaW5fcmVxdWVzdF9uZXdfcGFkKToKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uaDoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBjbGllbnQuYzoKCSAgU29tZSBtb3JlIGdob3N0cGFkIG1hZ2ljLgoKMjAwNy0wNC0wMyAwOTo1MToxMyArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyL01ha2VmaWxlLmFtOiBBZGQgLmggZmlsZSBzbyBpdCBjYW4gYmUgZGlzdGVkIHByb3Blcmx5LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9NYWtlZmlsZS5hbToKCSAgQWRkIC5oIGZpbGUgc28gaXQgY2FuIGJlIGRpc3RlZCBwcm9wZXJseS4KCjIwMDctMDQtMDMgMDk6MTM6MTcgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBBZGQgUlRQIHNlc3Npb24gbWFuYWdlbWVudCBlbGVtZW50cy4gU3RpbGwgaW4gcHJvZ3Jlc3MuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBnc3QvcnRwbWFuYWdlci9NYWtlZmlsZS5hbToKCSAgKiBnc3QvcnRwbWFuYWdlci9hc3luY19qaXR0ZXJfcXVldWUuYzogKGFzeW5jX2ppdHRlcl9xdWV1ZV9uZXcpLAoJICAoc2lnbmFsX3dhaXRpbmdfdGhyZWFkcyksIChhc3luY19qaXR0ZXJfcXVldWVfcmVmKSwKCSAgKGFzeW5jX2ppdHRlcl9xdWV1ZV9yZWZfdW5sb2NrZWQpLAoJICAoYXN5bmNfaml0dGVyX3F1ZXVlX3NldF9sb3dfdGhyZXNob2xkKSwKCSAgKGFzeW5jX2ppdHRlcl9xdWV1ZV9zZXRfaGlnaF90aHJlc2hvbGQpLAoJICAoYXN5bmNfaml0dGVyX3F1ZXVlX3NldF9tYXhfcXVldWVfbGVuZ3RoKSwKCSAgKGFzeW5jX2ppdHRlcl9xdWV1ZV9nZXRfZ19xdWV1ZSksIChjYWxjdWxhdGVfdHNfZGlmZiksCgkgIChhc3luY19qaXR0ZXJfcXVldWVfbGVuZ3RoX3RzX3VuaXRzX3VubG9ja2VkKSwKCSAgKGFzeW5jX2ppdHRlcl9xdWV1ZV91bnJlZl9hbmRfdW5sb2NrKSwgKGFzeW5jX2ppdHRlcl9xdWV1ZV91bnJlZiksCgkgIChhc3luY19qaXR0ZXJfcXVldWVfbG9jayksIChhc3luY19qaXR0ZXJfcXVldWVfdW5sb2NrKSwKCSAgKGFzeW5jX2ppdHRlcl9xdWV1ZV9wdXNoKSwgKGFzeW5jX2ppdHRlcl9xdWV1ZV9wdXNoX3VubG9ja2VkKSwKCSAgKGFzeW5jX2ppdHRlcl9xdWV1ZV9wdXNoX3NvcnRlZCksCgkgIChhc3luY19qaXR0ZXJfcXVldWVfcHVzaF9zb3J0ZWRfdW5sb2NrZWQpLAoJICAoYXN5bmNfaml0dGVyX3F1ZXVlX2luc2VydF9hZnRlcl91bmxvY2tlZCksCgkgIChhc3luY19qaXR0ZXJfcXVldWVfcG9wX2ludGVybl91bmxvY2tlZCksIChhc3luY19qaXR0ZXJfcXVldWVfcG9wKSwKCSAgKGFzeW5jX2ppdHRlcl9xdWV1ZV9wb3BfdW5sb2NrZWQpLCAoYXN5bmNfaml0dGVyX3F1ZXVlX2xlbmd0aCksCgkgIChhc3luY19qaXR0ZXJfcXVldWVfbGVuZ3RoX3VubG9ja2VkKSwKCSAgKGFzeW5jX2ppdHRlcl9xdWV1ZV9zZXRfZmx1c2hpbmdfdW5sb2NrZWQpLAoJICAoYXN5bmNfaml0dGVyX3F1ZXVlX3Vuc2V0X2ZsdXNoaW5nX3VubG9ja2VkKSwKCSAgKGFzeW5jX2ppdHRlcl9xdWV1ZV9zZXRfYmxvY2tpbmdfdW5sb2NrZWQpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2FzeW5jX2ppdHRlcl9xdWV1ZS5oOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOiAoZ3N0X3J0cF9iaW5fYmFzZV9pbml0KSwKCSAgKGdzdF9ydHBfYmluX2NsYXNzX2luaXQpLCAoZ3N0X3J0cF9iaW5faW5pdCksCgkgIChnc3RfcnRwX2Jpbl9maW5hbGl6ZSksIChnc3RfcnRwX2Jpbl9zZXRfcHJvcGVydHkpLAoJICAoZ3N0X3J0cF9iaW5fZ2V0X3Byb3BlcnR5KSwgKGdzdF9ydHBfYmluX2NoYW5nZV9zdGF0ZSksCgkgIChnc3RfcnRwX2Jpbl9yZXF1ZXN0X25ld19wYWQpLCAoZ3N0X3J0cF9iaW5fcmVsZWFzZV9wYWQpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5oOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGNsaWVudC5jOiAobmV3X3BhZCksIChjcmVhdGVfc3RyZWFtKSwKCSAgKGZyZWVfc3RyZWFtKSwgKGZpbmRfc3RyZWFtX2J5X3NzcmMpLCAoZ3N0X3J0cF9jbGllbnRfYmFzZV9pbml0KSwKCSAgKGdzdF9ydHBfY2xpZW50X2NsYXNzX2luaXQpLCAoZ3N0X3J0cF9jbGllbnRfaW5pdCksCgkgIChnc3RfcnRwX2NsaWVudF9maW5hbGl6ZSksIChnc3RfcnRwX2NsaWVudF9zZXRfcHJvcGVydHkpLAoJICAoZ3N0X3J0cF9jbGllbnRfZ2V0X3Byb3BlcnR5KSwgKGdzdF9ydHBfY2xpZW50X2NoYW5nZV9zdGF0ZSksCgkgIChnc3RfcnRwX2NsaWVudF9yZXF1ZXN0X25ld19wYWQpLCAoZ3N0X3J0cF9jbGllbnRfcmVsZWFzZV9wYWQpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGNsaWVudC5oOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2Jhc2VfaW5pdCksCgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfY2xhc3NfaW5pdCksIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfaW5pdCksCgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfZGlzcG9zZSksIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfZ2V0Y2FwcyksCgkgIChnc3Rfaml0dGVyX2J1ZmZlcl9zaW5rX3NldGNhcHMpLCAoZnJlZV9mdW5jKSwKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9mbHVzaF9zdGFydCksCgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfZmx1c2hfc3RvcCksCgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfc3JjX2FjdGl2YXRlX3B1c2gpLAoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2NoYW5nZV9zdGF0ZSksIChwcml2X2NvbXBhcmVfcnRwX3NlcV9sdCksCgkgIChjb21wYXJlX3J0cF9idWZmZXJzX3NlcV9udW0pLCAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX3NpbmtfZXZlbnQpLAoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2NoYWluKSwgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9sb29wKSwKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9xdWVyeSksCgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9nZXRfcHJvcGVydHkpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5oOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cG1hbmFnZXIuYzogKHBsdWdpbl9pbml0KToKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBwdGRlbXV4LmM6IChnc3RfcnRwX3B0X2RlbXV4X2Jhc2VfaW5pdCksCgkgIChnc3RfcnRwX3B0X2RlbXV4X2NsYXNzX2luaXQpLCAoZ3N0X3J0cF9wdF9kZW11eF9pbml0KSwKCSAgKGdzdF9ydHBfcHRfZGVtdXhfZmluYWxpemUpLCAoZ3N0X3J0cF9wdF9kZW11eF9jaGFpbiksCgkgIChnc3RfcnRwX3B0X2RlbXV4X2dldGNhcHMpLCAoZmluZF9wYWRfZm9yX3B0KSwKCSAgKGdzdF9ydHBfcHRfZGVtdXhfc2V0dXApLCAoZ3N0X3J0cF9wdF9kZW11eF9yZWxlYXNlKSwKCSAgKGdzdF9ydHBfcHRfZGVtdXhfY2hhbmdlX3N0YXRlKToKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBwdGRlbXV4Lmg6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOiAoZ3N0X3J0cF9zZXNzaW9uX2Jhc2VfaW5pdCksCgkgIChnc3RfcnRwX3Nlc3Npb25fY2xhc3NfaW5pdCksIChnc3RfcnRwX3Nlc3Npb25faW5pdCksCgkgIChnc3RfcnRwX3Nlc3Npb25fZmluYWxpemUpLCAoZ3N0X3J0cF9zZXNzaW9uX3NldF9wcm9wZXJ0eSksCgkgIChnc3RfcnRwX3Nlc3Npb25fZ2V0X3Byb3BlcnR5KSwgKGdzdF9ydHBfc2Vzc2lvbl9jaGFuZ2Vfc3RhdGUpLAoJICAoZ3N0X3J0cF9zZXNzaW9uX2NoYWluX3JlY3ZfcnRwKSwKCSAgKGdzdF9ydHBfc2Vzc2lvbl9jaGFpbl9yZWN2X3J0Y3ApLAoJICAoZ3N0X3J0cF9zZXNzaW9uX2NoYWluX3NlbmRfcnRwKSwgKGNyZWF0ZV9yZWN2X3J0cF9zaW5rKSwKCSAgKGNyZWF0ZV9yZWN2X3J0Y3Bfc2luayksIChjcmVhdGVfc2VuZF9ydHBfc2luayksIChjcmVhdGVfcnRjcF9zcmMpLAoJICAoZ3N0X3J0cF9zZXNzaW9uX3JlcXVlc3RfbmV3X3BhZCksIChnc3RfcnRwX3Nlc3Npb25fcmVsZWFzZV9wYWQpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uaDoKCSAgQWRkIFJUUCBzZXNzaW9uIG1hbmFnZW1lbnQgZWxlbWVudHMuIFN0aWxsIGluIHByb2dyZXNzLgoKMjAwOS0wOC0xMCAxMzozMDoyMyArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIGF2aWRlbXV4OiBwdXNoIG1vZGU7IGNhdGVyIGZvciBjaHVuayBwYWRkaW5nCgoyMDA5LTA4LTA0IDE5OjQ1OjQzICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgYXZpZGVtdXg6IG9ubHkgdXNlIHN0cmVhbSdzIHBhZCBhZnRlciBoYXZpbmcgY2hlY2tlZCBpdCBleGlzdHMKCjIwMDktMDgtMDQgMTM6Mzg6MDkgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICBhdmlkZW11eDogc3ByaW5rbGUgc29tZSBtb3JlIEdTVF9ERUJVR19GVU5DUFRSCgoyMDA5LTA4LTA0IDEzOjM2OjM2ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgYXZpZGVtdXg6IHBvc3QgZXJyb3IgbWVzc2FnZSBpZiBubyBwYWRzIHRvIHB1c2ggRU9TIGV2ZW50IG9uCgoyMDA5LTA4LTA0IDExOjM5OjU5ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgYXZpZGVtdXg6IGZpeCB0eXBvIGluIHdhcm5pbmcgbWVzc2FnZQoKMjAwOS0wOC0wNCAxMTozOTozOSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIGF2aWRlbXV4OiBmaXggc29tZSBidWZmZXIgcmVmIGhhbmRsaW5nCgoyMDA5LTA4LTA0IDExOjM3OjE2ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgYXZpZGVtdXg6IGRvIG5vdCBleGNlZWQgbWF4aW11bSBudW1iZXIgb2Ygc3VwcG9ydGVkIHN0cmVhbXMKCjIwMDktMDgtMDQgMTE6MzU6MTggKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICBhdmlkZW11eDogcHJldmVudCBkb3VibGUgdW5yZWY7IGdzdF9hdmlfZGVtdXhfcGFyc2VfYXZpaCBhbHJlYWR5IHVucmVmcwoKMjAwOS0wOC0wNCAxMTozMjoyNyArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIGF2aWRlbXV4OiB2ZXJpZnkgc2l6ZSBvZiBJTkZPIExJU1QgdG8gc2F0aXNmeSBzdWJzZXF1ZW50IGV4cGVjdGF0aW9ucwoKMjAwOS0wNy0yOSAxNToyNTozOCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIGF2aWRlbXV4OiBjaGVjayB2aWRlbyBzdHJlYW0gZnJhbWVyYXRlIGFnYWluc3QgYXZpIGhlYWRlciBmcmFtZSBkdXJhdGlvbgoJICBUaGUgZm9ybWVyIG1pZ2h0IGJlIGJvZ3VzIGluIHNpbGx5IGNhc2VzLCBhbmQgdGhlIGxhdHRlciBzZWVtcyB0bwoJICBjYXJyeSBtb3JlIHdlaWdodC4KCjIwMDktMDgtMDQgMTI6MTY6MTMgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICBhdmlkZW11eDogc3RyZWFtbGluZSBzdHJlYW0gZHVyYXRpb24gY2FsY3VsYXRpb24KCjIwMDktMDctMDMgMTQ6MDQ6MTMgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBleHQvcmF3MTM5NC9nc3RkdjEzOTRzcmMuYzoKCSAgZHYxMzk0c3JjOiBGaXggZWxlbWVudCBmb3IgbGl2ZSB1c2FnZS4uLiB3aGljaCBoYXMgYmVlbiBicm9rZW4gZm9yIDIgeWVhcnMgOigKCSAgVGhpcyBpcyBhIGxpdmUgc291cmNlLCB0aGVyZWZvcmU6CgkgICogVXNlIEdTVF9GT1JNQVRfVElNRSBhcyB0aGUgZGVmYXVsdCBmb3JtYXQKCSAgKiBzZXRfdGltZXN0YW1wIHRvIFRydWUKCSAgKiBwcm9wZXJseSBpbXBsZW1lbnQgcXVlcnkgbGF0ZW5jeS4KCSAgVGhpcyBhbGxvd3MgZXhwZWN0ZWQgbGl2ZSB1c2FnZSBsaWtlIDogcGxheWJpbjIgdXJpPWR2Oi8vCgoyMDA5LTA4LTA5IDA5OjQzOjQxICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZXh0L3JhdzEzOTQvZ3N0ZHYxMzk0c3JjLmM6CgkgIHJhdzEzOTQ6IFJlbW92ZSB1bm5lZWRlZCB2YXJpYWJsZQoKMjAwOS0wOC0wOSAwOTo0MzoyOSArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYTogcmVtb3ZlIGRlYWQgYXNzaWdubWVudHMKCjIwMDktMDgtMDkgMDk6NDM6MDAgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGFjM2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwY2VsdGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwajJrZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBqMmtwYXkuYzoKCSAgcnRwOiBSZW1vdmUgZGVhZCBhc3NpZ25tZW50cyBhbmQgcmVzdWx0aW5nIHVubmVlZGVkIHZhcmlhYmxlcy4KCjIwMDktMDgtMTAgMDk6NTM6MjggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvd2F2cGFjay9NYWtlZmlsZS5hbToKCSogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2VuYy5jOgoJKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZW5jLmg6CgkqIGV4dC93YXZwYWNrL21kNS5jOgoJKiBleHQvd2F2cGFjay9tZDUuaDoKCSAgd2F2cGFjazogVXNlIEdMaWIgR0NoZWNrc3VtIGluc3RlYWQgb2Ygb3VyIG93biBNRDUgaW1wbGVtZW50YXRpb24KCSAgVGhpcyByZXF1aXJlcyBHTGliIDIuMTYgYnV0IHRoYXQgdmVyc2lvbiBpcyBhbHJlYWR5IHJlcXVpcmVkIGJ5IGNvcmUgYW55d2F5LgoKMjAwOS0wOC0wOCAwMDo0Nzo0OCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAZW1iZWRkZWQudWZjZy5lZHUuYnI+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4Lmg6CgkgIG1hdHJvc2thOiBBZGRzIHN1cHBvcnQgdG8gbXV4aW5nL2RlbXV4aW5nIFdNQQoJICBBZGRzIHN1cHBvcnQgZm9yIG11eGluZyB3bWEgYXVkaW8gZmFtaWx5IGFuZCBmaXhlcwoJICBkZW11eGluZyBvZiB3bWEgZmFtaWx5IGluIG1hdHJvc2thZGVtdXguIG1hdHJvc2thZGVtdXgKCSAgd2FzIGJyb2tlbiBiZWNhdXNlIGl0IG1pc3NlZCBjb2RlY19kYXRhLgoKMjAwOS0wOC0wNiAyMDoxNToxNyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAZW1iZWRkZWQudWZjZy5lZHUuYnI+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkgIG1hdHJvc2thbXV4OiBhZGRzIHN1cHBvcnQgZm9yIHdtdiBmYW1pbHkKCSAgQWRkcyBzdXBwb3J0IHRvIFdNVjEsIFdNVjIsIFdNVjMgYW5kIG90aGVyIGZhbWlseSBmb3JtYXRzIHRoYXQKCSAgYXJlIHNpZ25hbGVkIGJ5IHRoZSAnZm9ybWF0JyBmaWVsZCBpbiB0aGUgY2FwcyAoaS5lLiBXVkMxKS4KCSAgUGFydGlhbGx5IGZpeGVzICM1NzYzNzgKCjIwMDktMDgtMDkgMTQ6MTk6NDIgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICB2NGwyc3JjOiBpZiBtYXggPT0gbWluIHdpZHRoL2hlaWdodCBwdXQgYW4gaW50IGluIHRoZSBwcm9iZWQgY2Fwcywgbm90IGFuIGludCByYW5nZQoJICBGaXhlcyAjNTYwMDMzLgoKMjAwOS0wOC0wOSAxMzo1ODowNyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4YXVkaW9zcmMuYzoKCSAgb3N4YXVkaW9zcmM6IGlmIG1heF9jaGFubmVscyA9PSBtaW5fY2hhbm5lbHMsIHVzZSBhbiBpbnQgaW5zdGVhZCBvZiBhbiBpbnQgcmFuZ2UgaW4gdGhlIGNhcHMKCjIwMDktMDgtMDkgMTI6NTI6MTcgKzAyMDAgIExvbmVTdGFyIDxsb25lQGF1dnRlY2guY29tPgoKCSogZ3N0L2lkM2RlbXV4L2lkM3YyZnJhbWVzLmM6CgkgIGlkM2RlbXV4OiBUcnkgR1NUXypfVEFHX0VOQ09ESU5HIGFuZCBsb2NhbGUgZW5jb2RpbmcgaWYgdGFncyBhcmUgbm90IFVURjgKCSAgRml4ZXMgYnVnICM0OTkyNDIuCgoyMDA5LTA4LTA5IDAxOjI5OjUwICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiBidW1wIGNvcmUvYmFzZSByZXF1aXJlbWVudHMgdG8gbGF0ZXN0IHJlbGVhc2UKCSAgVG8gYXZvaWQgY29uZnVzaW9uLgoKMjAwOS0wOC0wOSAwMToyNzowMSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9mbHZtdXguYzoKCSAgY2hlY2s6IGZpeCBmbHZtdXggdW5pdCB0ZXN0IG9uIGJpZyBlbmRpYW4gbWFjaGluZXMKCSAgZmx2bXV4IG9ubHkgYWNjZXB0cyByYXcgYXVkaW8gaW4gbGl0dGxlIGVuZGlhbiwgYnV0IGF1ZGlvdGVzdHNyYwoJICBwcm9kdWNlcyBhdWRpbyBpbiB0aGUgbmF0aXZlIGVuZGlhbm5lc3MsIHdoaWNoIG1ha2VzIGxpbmtpbmcKCSAgYmV0d2VlbiBhdWRpb3Rlc3RzcmMgYW5kIGZsdm11eCBmYWlsIG9uIGJpZyBlbmRpYW4gbWFjaGluZXMuIEFkZAoJICBhbiBhdWRpb2NvbnZlcnQgZWxlbWVudCBpbiBiZXR3ZWVuIHRoZSB0d28gdG8gZml4IHRoaXMuCgoyMDA5LTAyLTE1IDE4OjQ5OjQ0ICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPG9nZy5rLm9nZy5rQGdvb2dsZW1haWwuY29tPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1pZHMuaDoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJICBtYXRyb3NrYTogYWRkIGthdGUgc3VidGl0bGUgc3VwcG9ydCB0byBtYXRyb3NrYSBtdXhlciBhbmQgZGVtdXhlcgoJICBTZWUgIzUyNTc0My4KCjIwMDktMDgtMDcgMTY6NTE6NDUgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2lkM2RlbXV4L2lkM3YyLjMuMC5odG1sOgoJICBpZDNkZW11eDogYWRkIElEMyB2Mi4zIHNwZWMgYXMgd2VsbAoKMjAwOS0wOC0wNyAxNjo0MjozOSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaWQzZGVtdXgvaWQzdjJmcmFtZXMuYzoKCSAgaWQzZGVtdXg6IHNpemVzIGluIElEMyB2Mi4zIGFyZSB1bmxpa2VseSB0byBiZSBzeW5jLXNhZmUgaW50ZWdlcnMKCSAgSW4gSUQzIHYyLjMgY29tcHJlc3NlZCBmcmFtZXMgd2lsbCBoYXZlIGEgNC1ieXRlIGRhdGEgbGVuZ3RoIGluZGljYXRvcgoJICBhZnRlciB0aGUgZnJhbWUgaGVhZGVyIHRvIGluZGljYXRlIHRoZSBzaXplIG9mIHRoZSBkZWNvbXByZXNzZWQgZGF0YS4KCSAgVGhpcyBpbnRlZ2VyIGlzIHVubGlrZWx5IHRvIGJlIGEgc3luYy1zYWZlIGludGVnZXIgZm9yIHYyLjMgdGFncywKCSAgb25seSBpbiB2Mi40IGl0J3Mgc3luYy1zYWZlLgoKMjAwOS0wOC0wNyAxNjozNjo1NSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaWQzZGVtdXgvaWQzdGFncy5jOgoJICBpZDNkZW11eDogZml4IHR5cG8gaW4gZGVidWcgbWVzc2FnZQoKMjAwOS0wOC0wNyAxNjowMjoyMyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaWQzZGVtdXgvaWQzdGFncy5jOgoJKiBnc3QvaWQzZGVtdXgvaWQzdGFncy5oOgoJKiBnc3QvaWQzZGVtdXgvaWQzdjJmcmFtZXMuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvaWQzZGVtdXguYzoKCSogdGVzdHMvZmlsZXMvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2ZpbGVzL2lkMy01ODgxNDgtdW5zeW5jZWQtdjI0LnRhZzoKCSAgaWQzZGVtdXg6IGZpeCBwYXJzaW5nIG9mIHVuc3luYydlZCBJRDMgdjIuNCB0YWdzIGFuZCBmcmFtZXMKCSAgUmV2ZXJzaW5nIHRoZSB1bnN5bmNocm9uaXNhdGlvbiBzZWVtcyB0byB3b3JrIHNsaWdodGx5IGRpZmZlcmVudGx5CgkgIGZvciBJRDMgdjIuMyB0YWdzIGFuZCB2Mi40IHRhZ3M6IHYyLjMgdGFncyBkb24ndCBoYXZlIHN5bmNzYWZlIGZyYW1lCgkgIHNpemVzIGluIHRoZSBmcmFtZSBoZWFkZXIsIHNvIHRoZSB1bnN5bmNocm9uaXNhdGlvbiBpcyBhcHBsaWVkIHRvCgkgIHRoZSB3aG9sZSBmcmFtZSBkYXRhIGluY2x1ZGluZyBhbGwgdGhlIGZyYW1lIGhlYWRlcnMuIHYyLjQgZnJhbWVzCgkgIGhhdmUgc3luYy1zYWZlIHNpemVzLCBob3dldmVyLCBzbyB0aGUgdW5zeW5jaHJvbmlzYXRpb24gb25seSBuZWVkcwoJICB0byBiZSBhcHBsaWVkIHRvIHRoZSBhY3R1YWwgZnJhbWUgZGF0YSwgYW5kIGl0IHNlZW1zIHRoYXQncyB3aGF0J3MKCSAgYmVpbmcgZG9uZSBhcyB3ZWxsLiBTbyB3ZSBuZWVkIHRvIHVuZG8gdGhlIHVuc3luY2hyb25pc2F0aW9uIG9uIGEKCSAgcGVyLWZyYW1lIGJhc2lzIGZvciB2Mi40IHRhZ3MgZm9yIHRoaW5ncyB0byB3b3JrIHByb3Blcmx5LgoJICBGaXhlcyBleHRyYWN0aW9uIG9mIGNvdmVyYXJ0L2ltYWdlcyBmcm9tIEFQSUMgZnJhbWVzIGluIElEMyB2Mi40CgkgIHRhZ3MgKCM1ODgxNDgpLgoJICBBZGQgdW5pdCB0ZXN0IGZvciB0aGlzIGFzIHdlbGwuCgoyMDA5LTA4LTA2IDIxOjI0OjE0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6CgkgIHNvdXBodHRwc3JjOiBVc2UgU09VUF9NRVRIT0RfR0VUIGluc3RlYWQgb2YgIkdFVCIgc3RyaW5nCgkgIEZpeGVzIGJ1ZyAjNTkwOTcwLgoKMjAwOS0wOC0wNiAxMzowMDo1OSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9wdWxzZS9wdWxzZXNyYy5jOgoJICBwdWxzZXNyYzogc2V0IHRoZSBkZWZhdWx0IHNsYXZlIG1ldGhvZCB0byBza2V3CgkgIFNldCB0aGUgZGVmYXVsdCBzbGF2ZSBtZXRob2QgdG8gdGhlIG11Y2ggYmV0dGVyIHNrZXcgYWxnb3JpdGhtLiBUaGlzIGlzIHRoZQoJICBkZWZhdWx0IGluIHRoZSBuZXcgYmFzZSBjbGFzcyBidXQgd2Ugb3ZlcnJpZGUgdGhpcyBoZXJlIGFzIHdlbGwgZm9yIHRoZQoJICB1cGNvbW1pbmcgcmVsZWFzZS4KCjIwMDktMDgtMDYgMTA6MjA6MzQgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3B1bHNlL3B1bHNlc3JjLmM6CgkgIHB1bHNlc3JjOiBmaXggY29tcGlsYXRpb24gd2l0aCAtLWRpc2FibGUtZ3N0LWRlYnVnCgoyMDA5LTA4LTAzIDE4OjU5OjMyICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBoMjY0cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2NHBheS5oOgoJICBydHBoMjY0cGF5OiB1c2UgYXJyYXkgaW5zdGVhZCBvZiBxdWV1ZQoKMjAwOS0wOC0wMyAxODo1NToxOSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjY0cGF5Lmg6CgkgIHJ0cGgyNjRwYXk6IHB1c2ggTkFMcyBvbmx5IGFmdGVyIFNQUy9QUFMKCSAgcGFyc2UgY29tcGxldGUgKGJ5dGVzdHJlYW0pIGJ1ZmZlciBmb3IgU1BTL1BQUyBiZWZvcmUgcHVzaGluZyBOQUxzLgoJICBGaXhlcyAjNTY0NTAxLgoKMjAwOS0wOC0wNCAxNDo0NDozNiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi92NGwyX2NhbGxzLmg6CgkgIHY0bDI6IERpcmVjdGx5IHVzZSBHU1RfUFRSX0ZPUk1BVCBmb3IgcHJpbnRpbmcgY2FwcyB3aXRoIHRoZSBMT0dfQ0FQUyBtYWNybwoKMjAwOS0wOC0wNCAxMToxNzoxNyArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwcWRtZGVwYXkuYzoKCSAgcnRwcWRtMmRlcGF5OiBGaXggZGVidWcgc3RhdGVtZW50LgoKMjAwOS0wOC0wNCAwOTozMjowNyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyc2luay5jOgoJKiBzeXMvdjRsMi92NGwyX2NhbGxzLmg6CgkgIHY0bDI6IFJlbW92ZSBzb21lIE9NQVAgc3BlY2lmaWMgaGFja3MKCSAgVGhleSByZXF1aXJlIHNwZWNpYWwgYnVpbGQgZmxhZ3MgYW5kIGFyZSBub3QgdXNlZnVsIGluIGdlbmVyYWwuCgoyMDA5LTA4LTA0IDA5OjIyOjI5ICswMjAwICBSb2IgQ2xhcmsgPHJvYkB0aS5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5oOgoJKiBzeXMvdjRsMi9nc3R2NGwyc2luay5jOgoJKiBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmM6CgkgIHY0bDJzaW5rOiBjaGFuZ2Ugd2hlcmUgYnVmZmVycyBnZXQgZGVxdWV1ZWQKCSAgSXQgc2VlbXMgdG8gY2F1c2Ugc3RyYW5nZSBvY2Nhc2lvbmFsIGhpZ2ggbGF0ZW5jaWVzIChhbG1vc3QgMjAwbXMpIHdoZW4gZGVxdWV1aW5nIGJ1ZmZlcnMgZnJvbSBfYnVmZmVyX2FsbG9jKCkuICBJdCBpcyBzaW1wbGVyIGFuZCBzZWVtcyB0byB3b3JrIG11Y2ggYmV0dGVyIHRvIGRxYnVmIGZyb20gdGhlIHNhbWUgdGhyZWFkIHRoYXQgaXMgcXVldWluZyB0aGUgbmV4dCBidWZmZXIuCgoyMDA5LTA4LTA0IDA5OjE0OjIwICswMjAwICBSb2IgQ2xhcmsgPHJvYkB0aS5jb20+CgoJKiBzeXMvdjRsMi9NYWtlZmlsZS5hbToKCSogc3lzL3Y0bDIvZ3N0djRsMi5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5oOgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuaDoKCSogc3lzL3Y0bDIvZ3N0djRsMnNpbmsuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnNpbmsuaDoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmg6CgkqIHN5cy92NGwyL3Y0bDJfY2FsbHMuYzoKCSogc3lzL3Y0bDIvdjRsMl9jYWxscy5oOgoJKiBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmM6CgkqIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuaDoKCSAgdjRsMjogQWRkIHY0bDJzaW5rIGVsZW1lbnQKCSAgVGhpcyBhbHNvIGRvZXMgdGhlIGZvbGxvd2luZyBjaGFuZ2VzOgoJICAoMSkgcHVsbCB0aGUgYnVmZmVycG9vbCBjb2RlIG91dCBpbnRvIGdzdHY0bDJidWZmZXJwb29sLmMsIGFuZCBtYWtlIGEKCSAgYml0IG1vcmUgZ2VuZXJpYyBzbyBpdCBjYW4gYmUgdXNlZCBib3RoIGZvciB2NGwyc3JjIGFuZCB2NGwyc2luawoJICAoMikgbW92ZSBzb21lIG9mIHRoZSBkZXZpY2UgcHJvYmluZy9jb25maWd1cmF0aW9uL2NhcHMgc3R1ZmYgaW50bwoJICBnc3R2NGwyb2JqZWN0LmMgc28gaXQgZG9lcyBub3QgaGF2ZSB0byBiZSBkdXBsaWNhdGVkIGJldHdlZW4KCSAgdjRsMnNyYyBhbmQgdjRsMnNpbmsKCSAgRml4ZXMgYnVnICM1OTAyODAuCgoyMDA5LTA4LTA0IDA3OjA3OjQ1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICBmbHZtdXg6IEVuYWJsZSB1bml0IHRlc3Qgbm93IHRoYXQgaXQgcGFzc2VzCgoyMDA5LTA4LTAzIDIxOjIxOjM5ICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBxZG1kZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHN2M3ZkZXBheS5jOgoJICBydHBxZG0yZGVwYXkscnRwc3YzdmRlcGF5OiBBZGQgZGVidWdnaW5nIGNhdGVnb3J5LgoKMjAwOS0wOC0wMyAyMToyMjo0OCArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwcWRtZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBxZG1kZXBheS5oOgoJICBydHBxZG0yZGVwYXk6IEhhbmRsZSBnYXBzIGluIGluY29taW5nIHBhY2tldHMuCgkgIFdoZW5ldmVyIHdlIHNlZSBhIGdhcCwgd2UgZmx1c2ggdGhlIHRlbXBvcmFyeSBwYWNrZXRzIChidXQgbm90IHRoZSBhZGFwdGVyKS4gSWYgd2UKCSAgaGFkIHNvbWUgZGF0YSB0ZW1wb3JhcmlseSBzdG9yZWQgaXQgd2lsbCBiZSBvdXRwdXR0ZWQgKHRoZSBzb3VuZCB3aWxsIHNvdW5kIGEgYml0CgkgIGdhcmJsZWQuLi4gYnV0IHRoYXQncyBob3cgaXQgc291bmRzIG9uIE1hY09TWCA6KQoKMjAwOS0wOC0wMyAxOTowMTowNyArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwcWRtZGVwYXkuYzoKCSAgcnRwcWRtZGVwYXk6IEZpeCBDUkMgY2FsY3VsYXRpb24gYW5kIHJlbW92ZSBjb21tZW50ZWQgY29kZS4KCjIwMDktMDgtMDIgMTM6NDI6MTIgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvcnRwL01ha2VmaWxlLmFtOgoJKiBnc3QvcnRwL2dzdHJ0cC5jOgoJKiBnc3QvcnRwL2dzdHJ0cHFkbWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwcWRtZGVwYXkuaDoKCSAgcnRwOiBOZXcgUURNMiBydHAgZGVwYXlsb2FkZXIuCgkgIFJldmVyc2UtZW5naW5lZXJlZCBieSBjb21wYXJpbmc6CgkgICogQSBydHAgaGludGVkIGZpbGUgcHJvdmlkZWQgYnkgRGFyd2luU3RyZWFtaW5nU2VydmVyCgkgICogVGhlIG91dHB1dCBwcm9jdWVkIGJ5IERTUyBmb3IgdGhhdCBzYW1lIGZpbGUKCSAgQWxzbyB1c2VkIHZhcmlvdXMgc3RyZWFtaW5nIHNvdXJjZXMgYXZhaWxhYmxlIG9uIHRoZSBpbnRlcm5ldCB0byBmaW5lLXR1bmUKCSAgdGhlIGNvZGUuCgkgIFRoZSBoZWFkZXIvY29kZWNfZGF0YSBleHRyYWN0aW9uIG1ldGhvZHMgYXJlIGZyb20gRkZNcGVnIChMR1BMKS4KCjIwMDktMDgtMDMgMjE6MjQ6NDQgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cHN2M3ZkZXBheS5jOgoJICBydHBzdjN2ZGVwYXk6IFByb3Blcmx5IGZpbGwgY29kZWNfZGF0YSBhbmQgY2xlYW51cCBjb2RlIGEgYml0ZSBtb3JlLgoKMjAwOS0wOC0wMyAxOTowMjoxNyArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwc3YzdmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwc3YzdmRlcGF5Lmg6CgkgIHJ0cHN2M3ZkZXBheTogT25seSBvdXRwdXQgYnVmZmVycyBvbmNlIHdlJ3JlIGNvbmZpZ3VyZWQuCgoyMDA5LTA4LTAzIDE5OjAyOjAwICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBzdjN2ZGVwYXkuYzoKCSAgcnRwc3YzdmRlcGF5OiBBZGQgbW9yZSBlbmNvZGluZy1uYW1lIHZhcmlhbnRzCgoyMDA5LTA4LTAzIDIwOjA4OjMzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2Zsdm11eC5jOgoJICBmbHZtdXg6IEZpeCB1bml0IHRlc3QgdG8gY29ycmVjdGx5IGhhbmRsZSByZXF1ZXN0IHBhZHMKCSAgUmVxdWVzdCBwYWRzIGFyZSByZW1vdmVkIGJ5IHRoZSBlbGVtZW50IGluc3RhbmNlIGluIFBBVVNFRC0+UkVBRFkKCSAgc28gd2UgbmVlZCB0byByZS1yZXF1ZXN0IHBhZHMgZm9yIGV2ZXJ5IHJ1biBhbmQgbGluayB0aGVtIGFnYWluLgoJICBMYXN0IGZpeCBmb3IgYnVnICM1OTA0NDcuCgoyMDA5LTA4LTAzIDIwOjA4OjAwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9mbHYvZ3N0Zmx2bXV4LmM6CgkgIGZsdm11eDogRml4IHdyaXRpbmcgb2YgdGhlIGluZGV4IGZvciA8IDEyOCBidWZmZXJzCgkgIFBhcnRpYWxseSBmaXhlcyBidWcgIzU5MDQ0Ny4KCjIwMDktMDgtMDMgMjA6MDc6MDAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2Zsdi9nc3RmbHZtdXguYzoKCSAgZmx2bXV4OiBGaXggcmVzZXR0aW5nIG9mIHRoZSBlbGVtZW50CgkgIFJlc2V0IHRoZSBoYXZlX3ZpZGVvL2hhdmVfYXVkaW8gZmxhZ3MgYW5kIG1ha2Ugc3VyZSB0bwoJICBwcm9wZXJseSByZWxlYXNlIHRoZSByZXF1ZXN0IHBhZHMuCgkgIFBhcnRpYWxseSBmaXhlcyBidWcgIzU5MDQ0Ny4KCjIwMDktMDgtMDMgMTg6MTM6NDYgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IGRvbid0IGFkZCBub24tdXRmOCBjaGFycyB0byBzdHJ1Y3R1cmVzCgoyMDA5LTA4LTAzIDE4OjAyOjMxICswMjAwICBMdWMgRGVzY2hlbmF1eCA8bHVjLmRlc2NoZW5hdXggYXQgZnJlZXN1cmYuY2g+CgoJKiBnc3QvcnRwL2dzdHJ0cGpwZWdkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGpwZWdkZXBheS5oOgoJICBqcGVnZGVwYXk6IHVzZSBhdHRyaWJ1dGVzIGZvciBleHRyYSBwcm9wZXJ0aWVzCgkgIFVzZSBzb21lIG9mIHRoZSBTRFAgYXR0cmlidXRlcyB3aGVuIHRoZXkgYXJlIHByZXNlbnQgdG8gc3BlY2lmeSB0aGUgb3V0cHV0CgkgIGRpbWVuc2lvbiBhbmQgZnJhbWVyYXRlLiBUaGlzIGFsbG93cyB1cyB0byByZWNlaXZlIGpwZWcgZnJhbWVzIGxhcmdlciB0aGFuCgkgIDIwNDAgd2lkdGgvaGVpZ2h0LgoJICBGaXhlcyAjNTY0NDM3CgoyMDA5LTA4LTAzIDE4OjAxOjI3ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9SRUFETUU6CgkgIFJUUCBkb2NzOiB1cGRhdGUgd2l0aCBhdHRyaWJ1dGVzIGluIGNhcHMKCjIwMDktMDgtMDMgMTc6MjE6NDQgKzAyMDAgIEx1YyBEZXNjaGVuYXV4IDxsdWMuZGVzY2hlbmF1eCBhdCBmcmVlc3VyZi5jaD4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogcHV0IGFsbCBTRFAgYXR0cmlidXRlcyBvbiBjYXBzCgkgIFB1dCB0aGUgU0RQIGF0dHJpYnV0ZXMgb24gdGhlIGNhcHMgdG9vIHNvIHRoYXQgdGhleSBjYW4gYmUgdXNlZCBieQoJICBkZXBheWxvYWRlcnMuCgkgIFNlZSAjNTY0NDM3CgoyMDA5LTA4LTAzIDEzOjMyOjEyICswMjAwICBKb25hdGhhbiBUZWxsaWVyIDxqb25hdGhhbi50ZWxsaWVyIGF0IGdtYWlsLmNvbT4KCgkqIGV4dC9wdWxzZS9wdWxzZXNyYy5jOgoJICBwdWxzZXNyYzogaW5pdGlhbGl6ZSB0aGUgcHJvYmUgd2l0aCB0aGUgc2VydmVyCgkgIFdoZW4gY3JlYXRpbmcgYSBuZXcgcHJvYmUsIHBhc3MgdGhlIHNlcnZlciBpbnN0ZWFkIG9mIHRoZSBkZXZpY2Ugc3RyaW5nLgoJICBmaXhlcyAjNTkwNDAxCgoyMDA5LTA4LTAyIDExOjQ0OjAzICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC91ZHAvZ3N0bXVsdGl1ZHBzaW5rLmM6CgkgIG11bHRpdWRwc2luazogZG9uJ3QgZG8gdGhpbmdzIHdpdGggc2lkZS1lZmZlY3RzIGluc2lkZSBnX3JldHVybl92YWxfaWZfZmFpbCgpCgkgIFNvbWVvbmUgbWlnaHQgY29tcGlsZSB0aGlzIGNvZGUgd2l0aCAtREdfRElTQUJMRV9BU1NFUlQgc29tZSBkYXkuCgoyMDA5LTA4LTAxIDIxOjM5OjMwICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSAgcHVsc2VzaW5rOiBkb24ndCBkbyBsb2dpYyB3aXRoaW4gZ19hc3NlcnQoKSBzdGF0ZW1lbnRzCgkgIE90aGVyd2lzZSB0aGF0IGNvZGUgd2lsbCBqdXN0IGJlIGV4cGFuZGVkIHRvIG5vdGhpbmcgd2hlbiBjb21waWxlZAoJICAtREdfRElTQUJMRV9BU1NFUlQgKFBTOiB3aHkgaXMgbWFpbmxvb3Bfc3RhcnQoKSBjYWxsZWQgaW4gdGhlIGluaXQKCSAgZnVuY3Rpb24gYW5kIG5vdCB3aGVuIGNoYW5naW5nIHN0YXRlIHRvIFJFQURZPykKCjIwMDktMDgtMDEgMTc6MDc6NDIgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5jOgoJICBmbGFjZGVjOiBzZW5kIG5ld3NlZ21lbnQgZXZlbnQgd2hlbiBvcGVyYXRpbmcgcHVzaC1iYXNlZCBhbmQgdW5mcmFtZWQKCSAgRm9yIHNvbWUgcmVhc29uIGZsYWMgZG9lc24ndCBjYWxsIG91ciBtZXRhZGF0YSBjYWxsYmFjayB3aGVuIHdlIG9wZXJhdGUKCSAgaW4gcHVzaCBtb2RlIHdpdGggdW5mcmFtZWQgaW5wdXQsIGJ1dCB0aGF0J3Mgd2hlcmUgd2Ugc2V0IHVwIHRoZQoJICBuZXdzZWdtZW50IGV2ZW50IChzaW5jZSB0aGF0J3Mgd2hlcmUgd2UnZCBnZXQgdGhlIGR1cmF0aW9uIGZyb20gdGhlCgkgIHN0cmVhbSBpbmZvIGhlYWRlciksIHNvIHdlIGRpZG4ndCBzZW5kIGEgbmV3c2VnbWVudCBldmVudCBhdCBhbGwgaW4gdGhpcwoJICBjYXNlLiBIYWNrIGFyb3VuZCB0aGlzIGJ5IHN0b3JpbmcgYSBnZW5lcmljIG5ld3NlZ21lbnQgZXZlbnQgZm9yIG5vdwoJICB3aGljaCB3aWxsIGJlIHVzZWQgaWYgd2UgZG9uJ3QgcmVwbGFjZSBpdCB3aXRoIGEgYmV0dGVyIG9uZSB0aGF0CgkgIGluY2x1ZGVzIHRoZSBkdXJhdGlvbi4KCjIwMDktMDgtMDEgMTY6NDg6MzYgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5jOgoJICBmbGFjZGVjOiBzbWFsbCBjbGVhbnVwcwoJICBSZW1vdmUgc29tZSBjYWxsYmFjayBpbmRpcmVjdGlvbnMgd2hpY2ggYXJlIG5vIGxvbmdlciBuZWVkZWQgYmVjYXVzZQoJICB0aGVyZSdzIG9ubHkgb25lIGRlY29kZXIgb2JqZWN0IHR5cGUgbm93LiBBbHNvIHJlbW92ZSB1bnVzZWQgdmFyaWFibGUuCgoyMDA5LTA4LTAxIDE1OjIyOjQ5ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mbGFjL2dzdGZsYWNkZWMuYzoKCSAgZmxhY2RlYzogdXNlIGdzdF9hZGFwdGVyX2NvcHkoKSB0byBhdm9pZCB1bm5lY2Vzc2FyeSBidWZmZXIgbWVyZ2VzCgkgIGdzdF9hZGFwdGVyX3BlZWsoKSB3aWxsIG1lcmdlIGJ1ZmZlcnMgYXMgbmVlZGVkLCB3aGljaCB3ZSBjYW4gYXZvaWQKCSAgaGVyZSBzaW5jZSB3ZSdyZSBkb2luZyBhIG1lbWNweSBhbnl3YXkgYW5kIHRoZW4gZmx1c2ggdGhlIGNvcGllZAoJICBkYXRhIGZyb20gdGhlIGFkYXB0ZXIgcmlnaHQgYXdheS4KCjIwMDktMDgtMDEgMDA6MDA6NDEgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5jOgoJICBmbGFjZGVjOiByZXBhaXIgc29tZSBicm9rZW4gaW5kZW50aW5nCgoyMDA5LTA4LTAxIDEyOjE5OjQxICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy8uZ2l0aWdub3JlOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9mbHZtdXguYzoKCSAgY2hlY2tzOiBhZGQgYmFzaWMgdW5pdCB0ZXN0IGZvciBmbHZtdXgsIGJ1dCBkaXNhYmxlIGl0IGZvciBub3cKCSAgQmFzaWMgdW5pdCB0ZXN0IGZvciBmbHZtdXguIEZhaWxzIG1pc2VyYWJseSwgaGVuY2UgZGlzYWJsZWQgZm9yIG5vdy4KCjIwMDktMDctMzEgMjM6Mjg6MTIgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzLy5naXRpZ25vcmU6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2ZsdmRlbXV4LmM6CgkqIHRlc3RzL2ZpbGVzL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9maWxlcy9wY20xNnNpbmUuZmx2OgoJICBjaGVjazogYWRkIGJhc2ljIHVuaXQgdGVzdCBmb3IgZmx2ZGVtdXgKCSAgSW4gcGFydGljdWxhciwgdGVzdCByZS11c2Ugb2YgZmx2ZGVtdXggaW4gYm90aCBwdWxsIGFuZCBwdXNoIG1vZGUKCSAgKHNlZSAjNTgzMDMwKS4KCjIwMDktMDctMzEgMjA6MjU6MTcgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2Zsdi9nc3RmbHZtdXguYzoKCSAgZmx2bXV4OiBmaXggaW52YWxpZCB3cml0ZSBjYXVzZWQgYnkgdXNpbmcgc2l6ZW9mKCJzdHJpbmciKSBhcyBsZW5ndGgKCSAgc2l6ZW9mKCJmb28iKSBpbmNsdWRlcyB0aGUgc3RyaW5nJ3MgTlVMLXRlcm1pbmF0b3IgaW4gdGhlIHNpemUgcmV0dXJuZWQsCgkgIGJ1dCB3ZSdyZSB3cml0aW5nIHN0cmluZ3MgaGVyZSB3aXRoIGFuIGV4cGxpY2l0IHNpemUgYXQgdGhlIGJlZ2lubmluZwoJICBhbmQgbm8gTlVMLXRlcm1pbmF0b3IuIEluIG1vc3QgY2FzZXMgdXNpbmcgc2l6ZW9mKCJmb28iKSBhcyBsZW5ndGggaW4KCSAgbWVtY3B5IGlzIG5vdCBoYXJtZnVsLCBidXQgaXQgaXMgd2hlcmUgdGhlIHN0cmluZyBnb2VzIHJpZ2h0IGF0IHRoZQoJICBlbmQgb2Ygb3VyIGJ1ZmZlciB0byB3cml0ZSwgc2luY2Ugd2UgZG9uJ3QgYWxsb2NhdGUgc3BhY2UgZm9yIHRoYXQKCSAgTlVMIHRlcm1pbmF0b3IuCgoyMDA5LTA3LTI3IDE4OjQ0OjQ1ICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzoKCSAgc291cDogVXNlICJHRVQiIGluc3RlYWQgb2YgU09VUF9NRVRIT0RfR0VULiBGaXhlcyBidWlsZCB3aXRoIGxpYnNvdXAtMi43LioKCSAgVGhpcyBpcyBkdWUgdG8gYSBxdWFsaXR5IEFQSSBjaGFuZ2UgaW4gbGlic291cCAyLjcuIFNPVVBfTUVUSE9EXyogYXJlIG5vdwoJICBpbnRlZ2VycyBhbmQgbm90IHN0cmluZ3MuLi4gdGhleSBjb3VsZCBoYXZlIGNoYW5nZWQgdGhlIG5hbWVzLgoKMjAwOS0wNy0zMCAxNzo1Nzo1MyArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L2pwZWcvZ3N0anBlZ2RlYy5jOgoJKiBleHQvanBlZy9nc3RqcGVnZW5jLmM6CgkgIGpwZWc6IHVzZSBsb25nZXIgbWFjcm8gbmFtZXMgdG8gbm90IGNsYXNoIHdpdGggc29tZSBzdHVwaWQgd2luZG93cyBkZWZpbmVzCgkgIGxpYmpwZWcgaGVhZGVycyBwdWxsIHNvbWUgd2luZG93cyBzeXN0ZW0gaW5sY3VkZXMgKG9uIHdpbmRvd3MpIHRoYXQgY29udGFpbiBhCgkgIGRlZmluZSBmb3IgREVGQVVMVF9RVUFMSVRZLgoKMjAwOS0wNy0yOSAxNDozMTo0OCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIGF2aWRlbXV4OiBGaXggbGFzdCBjb21taXQgYW5kIGltcHJvdmUgcmVhZGFiaWxpdHkKCjIwMDktMDctMjQgMTk6MDQ6MzEgKzA0MDAgINCg0YPRgdC70LDQvSDQmNC20LHRg9C70LDRgtC+0LIgPGxybjE5ODZAZ21haWwuY29tPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICBGaXhlZCB0aGUgZml4IGZvciBUSU1FLT5ERUZBVUxUIGNvbnZlcnNpb24uCgkgIEZpeGVzIGJ1ZyAjNTc4MDUyIGFnYWluLgoKMjAwOS0wNy0yOSAxMzozODowMyArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwc3YzdmRlcGF5LmM6CgkgIHJ0cHN2M2RlcGF5OiBGaXggd2lkdGgvaGVpZ2h0IGNhbGN1bGF0aW9uLCBicmluZyB1cCB0byBtYXJnaW5hbCByYW5rLgoJICBCYXNlZCBvbiBkb2N1bWVudGF0aW9uIGZvdW5kIG9uIGh0dHA6Ly93aWtpLm11bHRpbWVkaWEuY3gvCgoyMDA5LTA3LTI5IDEyOjEzOjIwICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJKiBleHQvcHVsc2UvcHVsc2VzcmMuYzoKCSAgcHVsc2U6IGNvbmRpdGlvbmFsbHkgY29tcGlsZSBuZXdlciBzdHVmZgoJICBjb25maWd1cmVkX3Npbmsvc291cmNlX3VzZWMgaW4gdGhlIHRpbWluZ19pbmZvIGlzIG9ubHkgc2luY2UgMC45LjExIHNvCgkgIGNvbmRpdGlvbmFsbHkgY29tcGlsZSB0aGlzIGluZm9ybWF0aW9uLgoJICBmaXhlcyAjNTkwMDM4CgoyMDA5LTA3LTI4IDE4OjI5OjA3ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3B1bHNlL3B1bHNlc3JjLmM6CgkqIGV4dC9wdWxzZS9wdWxzZXNyYy5oOgoJICBwdWxzZXNyYzogY2xlYW51cHMKCSAgS2VlcCB0cmFjayBvZiB0aGUgcGF1c2VkIHN0YXRlIG9mIHRoZSBzb3VyY2UgYW5kIGxlYXZlIHRoZSByZWFkIGZ1bmN0aW9uIHdoZW4KCSAgcGF1c2VkLgoJICBkb24ndCB3YWl0IGZvciBhIGxhdGVuY3kgdXBkYXRlIHdoZW4gdGhlIGRlbGF5IGlzIG5vdCB5ZXQga25vd24gYnV0IHNpbXBseQoJICByZXR1cm4gMCBpbnN0ZWFkIG9mIGJsb2NraW5nLgoJICBLZWVwIHRyYWNrIG9mIHRoZSBjb3JrZWQgc3RhdGUgb2YgdGhlIHN0cmVhbS4KCSAgRml4IHRoZSBzdGF0ZSBjaGFuZ2VzLgoKMjAwOS0wNy0yOCAxNjoxMToxOCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9wdWxzZS9wdWxzZXNyYy5jOgoJICBwdWxzZXNyYzogc2V0IG1heGxlbmd0aCBhbHdheXMgdG8gLTEKCjIwMDktMDctMjggMTU6NTM6NTcgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcHVsc2UvcHVsc2VzcmMuYzoKCSogZXh0L3B1bHNlL3B1bHNlc3JjLmg6CgkgIHB1bHNlc3JjOyBjbGVhbnVwcywgcmVwb3J0IHJlYWwgbGF0ZW5jeQoJICBBZGQgc29tZSBtb3JlIGRlYnVnIGluZm8KCSAgQXZvaWQgc29tZSB0eXBlIGNhc3RzCgkgIFJlcG9ydCB0aGUgcmVhbCBsYXRlbmN5IHRvIHRoZSBhcHBsaWNhdGlvbi4KCjIwMDktMDctMjggMTY6MTE6MzYgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2pwZWcvZ3N0anBlZ2RlYy5jOgoJICBqcGVnZGVjOiB3aGVuIHNjYW5uaW5nIGZvciAweGZmIG1hcmtlciBlbmRzLCBlbnN1cmUgZGVzaXJlZCByZXN1bHQKCSAgT3RoZXJ3aXNlLCBhbnkgbm9uIDB4ZmYgYnl0ZSBhdCBlbmQgb2YgZGF0YSB3b3VsZCBiZSBtaXN0YWtlbiBmb3IKCSAgYSB0YWcgYnl0ZSwgYW5kIGluIGNhc2Ugb2YgYSBmcmFtZV9sZW4gMCB0YWcgc3Vic2VxdWVudGx5IGxlYWQgdG8gYW4KCSAgaW5maW5pdGUgbG9vcC4KCjIwMDktMDctMjggMDA6MzA6NDMgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQGVtYmVkZGVkLnVmY2cuZWR1LmJyPgoKCSogZ3N0L2F2aS9nc3RhdmltdXguYzoKCSAgYXZpbXV4OiBhZGRzIHN1cHBvcnQgdG8gd21hCgoyMDA5LTA3LTI4IDAwOjA3OjE1IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0BlbWJlZGRlZC51ZmNnLmVkdS5icj4KCgkqIGdzdC9hdmkvZ3N0YXZpbXV4LmM6CgkgIGF2aW11eDogYWRkcyBzdXBwb3J0IHRvIHdtdgoKMjAwOS0wNy0yNyAyMTozNDoyMiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAZW1iZWRkZWQudWZjZy5lZHUuYnI+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IERvd25ncmFkZSB3YXJuaW5nIG1lc3NhZ2UgdG8gZGVidWcKCjIwMDktMDctMjcgMTE6NTE6MzkgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkgIHB1bHNlc2luazogYXZvaWQgdXNpbmcgaXZhbGlkIHN0cmVhbSBpbmRleGVzCgkgIHdoZW4gd2UgZ2V0IGFuIGludmFsaWQgc3RyZWFtIGluZGV4IGZyb20gcHVsc2UgYmVjYXVzZSB3ZSB3ZXJlIGp1c3Qgc3RhcnRpbmcsCgkgIGF2b2lkIHVzaW5nIGl0IGZvciBnZXR0aW5nIGFuZCBzZXR0aW5nIHRoZSB2b2x1bWUuCgkgIEZpeGVzICM1ODkzNjUKCjIwMDktMDctMjQgMTk6Mzg6MDcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2VmZmVjdHYvZ3N0YWdpbmcuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0ZGljZS5jOgoJKiBnc3QvZWZmZWN0di9nc3RxdWFyay5jOgoJKiBnc3QvZWZmZWN0di9nc3RyYWRpb2FjLmM6CgkqIGdzdC9lZmZlY3R2L2dzdHJpcHBsZS5jOgoJKiBnc3QvZWZmZWN0di9nc3RzaGFnYWRlbGljLmM6CgkqIGdzdC9lZmZlY3R2L2dzdHN0cmVhay5jOgoJKiBnc3QvZWZmZWN0di9nc3R2ZXJ0aWdvLmM6CgkqIGdzdC9lZmZlY3R2L2dzdHdhcnAuYzoKCSAgZWZmZWN0djogRG9uJ3QgYWxsb3cgY2FwcyBjaGFuZ2VzIGZvciBzb21lIGVmZmVjdHYgZmlsdGVycwoJICBUaGVzZSBmaWx0ZXJzIHVzZSBpbmZvcm1hdGlvbiBmcm9tIHByZXZpb3VzIGZyYW1lcyB0bwoJICBnZW5lcmF0ZSB0aGUgY3VycmVudCBmcmFtZSBhbmQgYSBjYXBzIGNoYW5nZSB3aWxsIG1ha2UKCSAgdGhlIGVmZmVjdCBzdGFydCBmcm9tIHRoZSBiZWdpbm5pbmcgYWdhaW4uCgoyMDA5LTA3LTI0IDE5OjM3OjA5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9lZmZlY3R2L2dzdHdhcnAuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0d2FycC5oOgoJICB3YXJwdHY6IE1ha2UgdGhlIHNpbmUgdGFibGUgZ2xvYmFsIGluc3RlYWQgb2YgaGF2aW5nIGl0IGluIGV2ZXJ5IGluc3RhbmNlCgoyMDA5LTA3LTI0IDEwOjQ3OjQ0ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvanBlZy9nc3RqcGVnZW5jLmM6CgkgIGpwZWc6IG1ha2UgZW5jb2RlciB3b3JrIHdpdGggbGlianBlZyB2NwoJICBXZSBoYXZlIHRvIHNwZWNpZnkgZG9fZmFuY3lfZG93bnNhbXBsaW5nID0gRkFMU0UgaW4gdGhlIGVuY29kZXIgd2l0aCBkaWQgbm90IGV4aXN0IGJlZm9yZS4KCjIwMDktMDctMjQgMDA6NDI6MzMgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gZmVkYWFlZSB0byA5NGY5NWUzCgoyMDA5LTA3LTIzIDEyOjA2OjI3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mbGFjL2dzdGZsYWNkZWMuYzoKCSAgZmxhY2RlYzogSW1wbGVtZW50IFNFRUtJTkcgcXVlcnkKCSAgRml4ZXMgYnVnICM1ODk0MjMuCgoyMDA5LTA3LTIyIDExOjE2OjA2ICswMTAwICBDb2xpbiBHdXRocmllIDxjZ3V0aHJpZUBtYW5kcml2YS5vcmc+CgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkgIHB1bHNlc2luazogRml4IGEgY291cGxlIGVycm9yIG1lc3NhZ2VzIHRoYXQgbWVudGlvbmVkIGluY29ycmVjdCBmdW5jdGlvbiBuYW1lcy4KCSAgRml4ZXMgIzU4OTQ1OS4KCjIwMDktMDctMjMgMTE6NTA6MTYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOgoJKiBnc3QvZmx2L2dzdGZsdnBhcnNlLmM6CgkgIGZsdmRlbXV4OiBJbXBsZW1lbnQgU0VFS0lORyBxdWVyeQoJICBBbHNvIGFkZCBzb21lIG1vcmUgcXVlcnkgdHlwZXMgdG8gdGhlIGFuc3dlciBvZiB0aGUgcXVlcnkgdHlwZSBmdW5jdGlvbi4KCSAgRml4ZXMgYnVnICM1ODk0MjQuCgoyMDA5LTA3LTIxIDE5OjQ2OjU1ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mbGFjL2dzdGZsYWNkZWMuYzoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5oOgoJICBmbGFjZGVjOiBmaXggaW50ZXJtaXR0ZW50IEZMQUNfX1NUUkVBTV9ERUNPREVSX0FCT1JURUQgZXJyb3JzIHdoZW4gc2Vla2luZwoJICBXaGVuIHNlZWtpbmcgaW4gYSBsb2NhbCBmbGFjIGZpbGUgKGllLiBvcGVyYXRpbmcgcHVsbC1iYXNlZCksIHRoZSBkZWNvZGVyCgkgIHdvdWxkIG9mdGVuIGp1c3QgZXJyb3Igb3V0IGFmdGVyIHRoZSBsb29wIGZ1bmN0aW9uIHNlZXMgYSBERUNPREVSX0FCT1JURUQKCSAgc3RhdHVzLiBUaGlzLCBob3dldmVyLCBpcyB0aGUgcmVhZCBjYWxsYmFjaydzIHdheSBvZiB0ZWxsaW5nIG91ciBsb29wCgkgIGZ1bmN0aW9uIHRoYXQgcHVsbF9yYW5nZSBmYWlsZWQgYW5kIHN0cmVhbWluZyBzaG91bGQgc3RvcCwgaW4gdGhpcyBjYXNlCgkgIGJlY2F1c2Ugb2YgdGhlIGZsdXNoLXN0YXJ0IGV2ZW50IHRoYXQgdGhlIHNlZWsgaGFuZGxlciBwdXNoZWQgdXBzdHJlYW0KCSAgZnJvbSB0aGUgc2Vla2luZyB0aHJlYWQuIEhhbmRsZSB0aGlzIHNsaWdodGx5IGJldHRlciBieSBzdG9yaW5nIHRoZSBsYXN0CgkgIGZsb3cgcmV0dXJuIGZyb20gcHVsbF9yYW5nZSwgc28gdGhlIGxvb3AgZnVuY3Rpb24gY2FuIGV2YWx1YXRlIGl0IHByb3Blcmx5CgkgIHdoZW4gaXQgZW5jb3VudGVycyBhIERFQ09ERVJfQUJPUlRFRCBhbmQgdGFrZSB0aGUgcmlnaHQgYWN0aW9uLgoJICBGaXhlcyAjNTc4NjEyLgoKMjAwOS0wNy0yMSAxMDowNzowMCArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2ludGVybGVhdmUvaW50ZXJsZWF2ZS5jOgoJICBpbnRlcmxlYXZlOiBmaXggaW5kZW50aW5nIGFuZCB1cGdyYWRlIHR3byBkZWJ1Z3MgdG8gd2FybmluZ3MuCgkgIEZpeCBuZXdsaW5lcyBpbiB2YXJpYWJsZSBkZWNscy4gQ2hhbmdlIHR3byBkZWJ1Z3MgdG8gYmVjb21lIHdhcm5pbmdzIGFzIHRoZXkKCSAgaW5kaWNhdGUgdGhhdCB0aGluZ3Mgd2lsbCBub3Qgd29yay4KCjIwMDktMDctMjEgMTA6MDQ6MzYgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9qcGVnL2dzdGpwZWcuYzoKCSogZXh0L2pwZWcvZ3N0anBlZ2RlYy5jOgoJKiBleHQvanBlZy9nc3RqcGVnZW5jLmM6CgkqIGV4dC9qcGVnL2dzdGpwZWdlbmMuaDoKCSAganBlZzogY29kZSBjbGVhbnVwcyBmb3IgZW5jb2RlcgoJICBSZW1vdmUgc29tZSBkaXNhYmxlZCBjb2RlIGluIGVuY29kZXIuIFRyeSAjaWYgMCdlZCBjb2RlIGFuZCBhZGQgY29tbWVudHMgYWJvdXQKCSAgd2h5IGl0IGlzIGRpc2FibGVkLiBNb3ZlIGlkY3QtbWV0aG9kIGVudW0gdG8ganBlZy5jIGFuZCB1c2UgaW4gYm90aCBlbmNvZGVyIGFuZAoJICBkZWNvZGVyLiBBZGQgaWRjdC1tZXRob2QgcHJvcGVydHkgdG8gZW5jb2Rlci4KCjIwMDktMDctMjEgMDc6NTA6NDYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thZGVtdXg6IEFuc3dlciBTRUVLSU5HIHF1ZXJpZXMgaW4gdGhlIG9yaWdpbmFsIGZvcm1hdAoKMjAwOS0wNy0yMSAwMToxMjo0NCArMDIwMCAgSm9zZXAgVG9ycmEgPG43NzBnYWxheHlAZ21haWwuY29tPgoKCSogZ3N0L3VkcC9nc3R1ZHBuZXR1dGlscy5jOgoJICB1ZHB1dGlsczogaW5pdGlhbGl6ZSBzdHJ1Y3QgY29udGVudCB3aXRoIDAuCgkgIEZpeGVzIHNvbWUgcmFuZG9tIGNyYXNoZXMuCgoyMDA5LTA3LTIwIDE5OjA5OjE5ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJICBwdWxzZXNpbms6IHNldCBzb21lIHZhbHVlcyB0byB0aGVpciBkZWZhdWx0cwoJICBTZXQgdGhlIG1pbnJlcSBhbmQgbWF4bGVuZ3RoIGJ1ZmZlciBhdHRyaWJ1dGVzIHRvIC0xIHRvIGxldCBwdWxlc2VhdWRpbyBzZWxlY3QgYQoJICBzZW5zaWJsZSB2YWx1ZS4KCjIwMDktMDctMjAgMTk6MDQ6MDkgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkgIHB1bHNlc2luazogZG9uJ3Qgd2FpdCBmb3IgcG9zdGVkIG1lc3NhZ2UKCSAgV2UgY2FuJ3Qgd2FpdCBmb3IgdGhlIEVOVEVSL0xFQVZFIG1lc3NhZ2VzIHRvIGJlIGJlIHBvc3RlZCBiZWNhdXNlIHRoZSBiYXNlCgkgIGNsYXNzIHNvbWV0aW1lcyBjYWxscyB0aGUgc3RhcnQgbWV0aG9kIHdpdGggdGhlIG9iamVjdCBsb2NrLCB3aGljaCB3b3VsZCBibG9jawoJICB0aGUgbWVzc2FnZSBwb3N0aW5nLgoJICBJbnN0ZWFkLCBqdXN0IGFzc3VtZSB0aGF0IHRoZSBtZXNzYWdlIHdpbGwgYmUgcG9zdGVkIHNvb24gYW5kIGNvbnRpbnVlLiBXZSdsbAoJICBoYXZlIHRvIGZpeCB0aGlzIGluIHRoZSBiYXNlIGNsYXNzLgoKMjAwOS0wNy0yMCAxODoxMTozMyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSAgcHVsc2VzaW5rOiB1c2UgcmVsYXRpdmUgc2Vla3MKCSAgVXNlIHJlbGF0aXZlIHNlZWtzIGJlY2F1c2UgSSB3YXMgdG9sZCB0aGF0IGFic29sdXRlIHNlZWtzIGRvbid0IHdvcmsuCgoyMDA5LTA3LTIwIDE2OjUyOjE5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYWRlbXV4OiBJbXBsZW1lbnQgU0VFS0lORyBxdWVyeQoKMjAwOS0wNy0yMCAwODowNzoxMyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvY2Fpcm8vZ3N0Y2Fpcm9yZW5kZXIuYzoKCSAgY2Fpcm9yZW5kZXI6IEFkZCBzdXBwb3J0IGZvciBBUkdCL0JHUkEgaW5wdXQKCSAgTm90ZSB0aGF0IHZpZGVvdGVzdHNyYyBvdXRwdXRzIDEwMCUgdHJhbnNwYXJlbnQgdmlkZW8KCSAgd2hpY2ggd2lsbCByZXN1bHQgaW4gd2hpdGUgb3V0cHV0IGZyb20gY2Fpcm9yZW5kZXIuCgoyMDA5LTA3LTE3IDEzOjIyOjU3ICswMTAwICBFbGFpbmUgWGlvbmcgPEVsYWluZS5YaW9uZ0BTdW4uQ09NPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5oOgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkqIHN5cy92NGwyL3Y0bDJfY2FsbHMuYzoKCSogc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5jOgoJICB2NGwyOiBGaXggdjRsMnNyYyBvbiBPcGVuU29sYXJpcwoJICBUaGUgdjRsMiBkcml2ZXIgZm9yIFVTQiB3ZWJjYW1zIG9uIE9wZW5Tb2xhcmlzIGRvZXMgbm90IHN1cHBvcnQgc2VsZWN0KCkKCSAgY2FsbHMuIERldGVjdCB3aGVuIHNlbGVjdCgpIGZhaWxzLCBhbmQgc2tpcCBwb2xsaW5nIHRoZSBkZXZpY2UgYWZ0ZXJ3YXJkLAoJICB3aGljaCByZXN0b3JlcyB0aGUgcHJlIDAuMTAuMTQgYmVoYXZpb3VyIG9uIE9wZW5Tb2xhcmlzLgoJICBTaWduZWQtb2ZmLWJ5OiBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoyMDA5LTA3LTE3IDExOjIyOjA2ICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy8uZ2l0aWdub3JlOgoJKiB0ZXN0cy9leGFtcGxlcy92NGwyLy5naXRpZ25vcmU6CgkgIGdpdGlnbm9yZTogSWdub3JlIHNvbWUgbmV3IGJpbmFyaWVzCgoyMDA5LTA3LTE3IDEzOjQ5OjIxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1kb2NzLnNnbWw6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2Fpcm8ueG1sOgoJKiBleHQvY2Fpcm8vZ3N0Y2Fpcm9yZW5kZXIuYzoKCSAgY2Fpcm9yZW5kZXI6IEFkZCB0byB0aGUgZG9jdW1lbnRhdGlvbgoKMjAwOS0wNy0xNyAxMzo0Mjo0OSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvY2Fpcm8vZ3N0Y2Fpcm9yZW5kZXIuYzoKCSAgY2Fpcm9yZW5kZXI6IFJldHVybiBub3QtbmVnb3RpYXRlZCBpZiB3ZSBoYXZlIG5vIGNhcHMKCjIwMDktMDctMTcgMTM6NDE6MTkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2NhaXJvL2dzdGNhaXJvcmVuZGVyLmM6CgkqIGV4dC9jYWlyby9nc3RjYWlyb3JlbmRlci5oOgoJICBjYWlyb3JlbmRlcjogRml4IGNhcHMgYW5kIGNvbG9yc3BhY2UgaGFuZGxpbmcKCjIwMDktMDctMTcgMTM6MzA6MDIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2NhaXJvL2dzdGNhaXJvcmVuZGVyLmM6CgkgIGNhaXJvcmVuZGVyOiBVc2UgY29ycmVjdCBtaW1ldHlwZXMgZm9yIFBERiBhbmQgU1ZHCgoyMDA5LTA3LTE3IDEzOjI0OjI4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9jYWlyby9nc3RjYWlyb3JlbmRlci5jOgoJICBjYWlyb3JlbmRlcjogUmVtb3ZlIHB1bGwgbW9kZSwgaXQgb25seSBhZGRzIGNvbXBsZXhpdHkgYnV0IG5vdCBhZHZhbnRhZ2VzCgoyMDA5LTA3LTE2IDIxOjU1OjMxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9jYWlyby9nc3RjYWlyb3JlbmRlci5jOgoJICBjYWlyb3JlbmRlcjogRml4IGNhcHMgbmVnb3RpYXRpb24gYW5kIGNhaXJvIHN1cmZhY2UgY3JlYXRpb24KCjIwMDktMDctMTYgMjE6NDI6MjEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2NhaXJvL2dzdGNhaXJvcmVuZGVyLmM6CgkgIGNhaXJvcmVuZGVyOiBDb3JyZWN0bHkgc2V0IHNyY2NhcHMKCjIwMDktMDctMTYgMjE6MzE6NDMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2NhaXJvL2dzdGNhaXJvcmVuZGVyLmM6CgkqIGV4dC9jYWlyby9nc3RjYWlyb3JlbmRlci5oOgoJICBjYWlyb3JlbmRlcjogTW92ZSBpbnN0YW5jZS9jbGFzcyBzdHJ1Y3QgZGVmaW5pdGlvbnMgdG8gdGhlIGhlYWRlcgoKMjAwOS0wNy0xNiAyMTozMDowMCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvY2Fpcm8vZ3N0Y2Fpcm9yZW5kZXIuYzoKCSogZXh0L2NhaXJvL2dzdGNhaXJvcmVuZGVyLmg6CgkgIGNhaXJvcmVuZGVyOiBBZGQgTHV0eicgY29weXJpZ2h0IHRvIHRoZSBmaWxlIGhlYWRlcgoKMjAwOS0wNy0xNiAyMToyNzo0NSArMDIwMCAgTHV0eiBNdWVsbGVyIDxsdXR6QHRvcGZyb3NlLmRlPgoKCSogZXh0L2NhaXJvL01ha2VmaWxlLmFtOgoJKiBleHQvY2Fpcm8vZ3N0Y2Fpcm8uYzoKCSogZXh0L2NhaXJvL2dzdGNhaXJvcmVuZGVyLmM6CgkqIGV4dC9jYWlyby9nc3RjYWlyb3JlbmRlci5oOgoJICBjYWlybzogQWRkIGNhaXJvLWJhc2VkIFBERi9QUy9TVkcgZW5jb2RlciBlbGVtZW50CgkgIEZpeGVzIGJ1ZyAjMzMxNDIwLgoKMjAwOS0wNy0xNiAyMDo0NDo0MCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmxhYy9nc3RmbGFjZW5jLmM6CgkqIGV4dC9mbGFjL2dzdGZsYWNlbmMuaDoKCSAgZmxhY2VuYzogT3B0aW9uYWxseSB3cml0ZSBhIFBBRERJTkcgYmxvY2sKCSAgVGhlIHNpemUgb2YgdGhlIFBBRERJTkcgYmxvY2sgaXMgc3BlY2lmaWVkIGJ5IGEgbmV3CgkgICJwYWRkaW5nIiBwcm9wZXJ0eS4KCSAgRml4ZXMgYnVnICM1ODg0ODMuCgoyMDA5LTA3LTE2IDE5OjM1OjQ0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6CgkgIHNvdXBodHRwc3JjOiBPbmx5IGFzc3VtZSBzZWVrYWJpbGl0eSBpZiB0aGUgc2VydmVyIHByb3ZpZGVzIENvbnRlbnQtTGVuZ3RoCgkgIFByZXZpb3VzbHkgc2Vla2FiaWxpdHkgd2F5IGFsd2F5cyBhc3N1bWVkIHVudGlsIHRoZSBmaXJzdCBzZWVrIGFjdHVhbGx5CgkgIGZhaWxlZC4gTm93IHdlIGFzc3VtZSB0aGF0IGFsbCBzZXJ2ZXJzIGFyZSBub3Qgc2Vla2FibGUgdW5sZXNzIHRoZXkgcHJvdmlkZQoJICBhIENvbnRlbnQtTGVuZ3RoIGhlYWRlci4gSWYgYSBzZWVrIGZhaWxzIGFmdGVyIHRoYXQgd2UgY29udGludWUgdG8KCSAgYXNzdW1lIG5vIHNlZWthYmlsaXR5LiBGaXhlcyBidWcgIzU4NTU3Ni4KCjIwMDktMDctMTYgMTU6MTQ6NDMgKzAyMDAgIEFybm91dCBWYW5kZWNhcHBlbGxlIDxhcm5vdXRAbWluZC5iZT4KCgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6CgkgIHNvdXBodHRwc3JjOiBkb24ndCB0cnkgdG8gYXV0aGVudGljYXRlIGlmIG5vIHVzZXJuYW1lL3Bhc3N3b3JkIGlzIHNldC4KCjIwMDktMDctMTYgMTc6MTA6MjEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2VmZmVjdHYvZ3N0d2FycC5jOgoJICBlZmZlY3R2OiBDaGFpbiB1cCBmaW5hbGl6ZSB0byB0aGUgcGFyZW50IGNsYXNzIGluIHdhcnB0dgoJICBGaXhlcyBhIG1lbW9yeSBsZWFrLgoKMjAwOS0wNy0xNiAxMjo1NTo0OSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svcGlwZWxpbmVzL2VmZmVjdHYuYzoKCSAgZWZmZWN0djogQWRkIHVuaXQgdGVzdCBmb3IgYWxsIGVmZmVjdHYgZWxlbWVudHMKCjIwMDktMDctMTYgMTI6MTc6MzIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvZngueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZmZWN0di54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb21peGVyLnhtbDoKCSAgZWZmZWN0djogQWRkIG5ldyBlZmZlY3R2IGVsZW1lbnRzIHRvIHRoZSBkb2NzCgoyMDA5LTA3LTE1IDE0OjM3OjE5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9lZmZlY3R2L01ha2VmaWxlLmFtOgoJKiBnc3QvZWZmZWN0di9nc3RlZmZlY3R2LmM6CgkqIGdzdC9lZmZlY3R2L2dzdHJpcHBsZS5jOgoJKiBnc3QvZWZmZWN0di9nc3RyaXBwbGUuaDoKCSAgZWZmZWN0djogQWRkIHJpcHBsZXR2IGVsZW1lbnQKCSAgVGhpcyBwcm9kdWNlcyBhIHdhdGVyIHJpcHBsZSBlZmZlY3Qgb24gdGhlIHZpZGVvIGlucHV0LAoJICBiYXNlZCBvbiBtb3Rpb24gb3IgYSByYWluIGRyb3AgYWxnb3JpdGhtLgoJICBLaW5kbHkgcmVsaWNlbnNlZCB0byBMR1BMMisgYnkgS2VudGFybyBGdWt1Y2hpIDxmdWt1Y2hpQG1lZ2F1aS5uZXQ+LgoJICBGaXhlcyBidWcgIzU4ODY5NS4KCjIwMDktMDctMTIgMTU6NDI6MzUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2VmZmVjdHYvTWFrZWZpbGUuYW06CgkqIGdzdC9lZmZlY3R2L2dzdGVmZmVjdHYuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0c3RyZWFrLmM6CgkqIGdzdC9lZmZlY3R2L2dzdHN0cmVhay5oOgoJICBlZmZlY3R2OiBBZGQgc3RyZWFrdHYgZWZmZWN0IGZpbHRlciBlbGVtZW50CgkgIFRoaXMgY29tYmluZXMgdGhlIFN0cmVha1RWIGFuZCBCYWx0YW5UViBmaWx0ZXJzIGZyb20gdGhlCgkgIGVmZmVjdHYgcHJvamVjdC4KCSAgS2luZGx5IHJlbGljZW5zZWQgdG8gTEdQTDIrIGJ5IEtlbnRhcm8gRnVrdWNoaSA8ZnVrdWNoaUBtZWdhdWkubmV0Pi4KCSAgRml4ZXMgYnVnICM1ODgzNjguCgoyMDA5LTA3LTEyIDEyOjMxOjE1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9lZmZlY3R2L2dzdGFnaW5nLmM6CgkqIGdzdC9lZmZlY3R2L2dzdGVkZ2UuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0b3AuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0cXVhcmsuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0cmFkaW9hYy5jOgoJKiBnc3QvZWZmZWN0di9nc3RyZXYuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0c2hhZ2FkZWxpYy5jOgoJKiBnc3QvZWZmZWN0di9nc3R2ZXJ0aWdvLmM6CgkgIGVmZmVjdHY6IEZpeCBwcm9jZXNzaW5nIG9uIGJpZyBlbmRpYW4gYXJjaGl0ZWN0dXJlcwoKMjAwOS0wNy0xMiAxMTo1MjowNCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZWZmZWN0di9NYWtlZmlsZS5hbToKCSogZ3N0L2VmZmVjdHYvZ3N0ZWZmZWN0di5jOgoJKiBnc3QvZWZmZWN0di9nc3RyYWRpb2FjLmM6CgkqIGdzdC9lZmZlY3R2L2dzdHJhZGlvYWMuaDoKCSAgZWZmZWN0djogQWRkIHJhZGlvYWN0diBlZmZlY3QgZmlsdGVyCgkgIFRoaXMgZmlsdGVyIGFkZHMgYSByYWRpYXRpb24tbGlrZSBtb3Rpb24gYmx1ciBlZmZlY3QKCSAgdG8gdGhlIHZpZGVvIHN0cmVhbS4KCSAgS2luZGx5IHJlbGljZW5zZWQgdG8gTEdQTDIrIGJ5IEtlbnRhcm8gRnVrdWNoaSA8ZnVrdWNoaUBtZWdhdWkubmV0Pi4KCSAgRml4ZXMgYnVnICM1ODgzNTkuCgoyMDA5LTA3LTEyIDExOjI2OjU3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9lZmZlY3R2L2dzdG9wLmM6CgkqIGdzdC9lZmZlY3R2L2dzdG9wLmg6CgkgIGVmZmVjdHY6IE1ha2UgdGhlIG9wdHYgdGhyZXNob2xkIHByb3BlcnR5IGFuIHVpbnQKCjIwMDktMDctMTIgMTA6Mzk6MDIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2VmZmVjdHYvTWFrZWZpbGUuYW06CgkqIGdzdC9lZmZlY3R2L2dzdGVmZmVjdHYuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0b3AuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0b3AuaDoKCSAgZWZmZWN0OiBBZGQgb3B0diBlZmZlY3QgZmlsdGVyIGZyb20gdGhlIGVmZmVjdHYgcHJvamVjdAoJICBUaGlzIGZpbHRlciBiaW5hcml6ZXMgaW5wdXQgZnJhbWVzIGFuZCBjb21iaW5lcyB0aGVtIHdpdGggdmFyaW91cwoJICBvcHRpY2FsIHBhdHRlcm4uCgkgIEtpbmRseSByZWxpY2Vuc2VkIHRvIExHUEwyKyBieSBLZW50YXJvIEZ1a3VjaGkgPGZ1a3VjaGlAbWVnYXVpLm5ldD4uCgkgIEZpeGVzIGJ1ZyAjNTg4MzQ5LgoKMjAwOS0wNy0wMyAwNToxMToyNiAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJICBwdWxzZXNpbms6IEVtaXQgc3RyZWFtLXN0YXR1cyBsZWF2ZSBtZXNzYWdlCgkgIEZpeGVzICM1ODc2OTUKCjIwMDktMDctMDMgMDU6MDY6NDUgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5oOgoJICBwdWxzZXNpbms6IEVtaXQgc3RyZWFtLXN0YXR1cyBlbnRlciBtZXNzYWdlCgkgIEVtaXQgc3RyZWFtLXN0YXR1cyBtZXNzYWdlcyBmb3IgdGhlIHB1bHNlIHRocmVhZC4KCSAgRG9uJ3QgdXNlIG91ciBvd24gR0NvbmQgZm9yIHNpZ25hbGluZyBidXQgc2ltcGx5IHVzZSB0aGUgcHVsc2UgbWFpbmxvb3AKCSAgbWVjaGFuaXNtcyBmb3Igc3luY2hyb25pc2F0aW9uLgoJICBTZWUgIzU4NzY5NQoKMjAwOS0wNy0xNCAxODoxNTo1OSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSAgcHVsc2VzaW5rOiBkZWJ1ZyB0aGUgbGF0ZW5jeSB1cGRhdGUgdmFsdWVzCgoyMDA5LTA3LTE0IDE2OjEyOjU1ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkqIGV4dC9wdWxzZS9wdWxzZXV0aWwuYzoKCSAgcHVsc2VzaW5rOiBhZGQgMjRiaXQgc2FtcGxlIGZvcm1hdHMKCSAgQWRkIGNoZWNrIGZvciBwdWxzZWF1ZGlvIDAuOS4xNSBhbmQgZW5hYmxlIDI0Yml0cyBzYW1wbGVzIGluIHRoYXQgY2FzZS4KCjIwMDktMDctMTMgMTI6MjM6MzcgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gNTg0NWI2MyB0byBmZWRhYWVlCgoyMDA5LTA3LTEzIDE3OjUzOjI1ICswMjAwICBNYXJjIExlZW1hbiA8bWFyYy5sZWVtYW4gYXQgZ21haWwuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBtcHZwYXkuYzoKCSAgbXB2cGF5OiBSZXdvcmsgdGhlIHRpbWVzdGFtcGluZwoJICBSZXdvcmsgdGhlIHRpbWVzdGFtcGluZyBpbiB0aGUgbXB2IHBheWxvYWRlciBzbyB0aGF0IHRoZSB0aW1lc3RhbXBzIGFyZSBtb3JlCgkgIGFjY3VyYXRlLgoJICBGaXhlcyAjNTg3NjgwCgoyMDA5LTA3LTAzIDA4OjQ3OjEyICswMjAwICBGaWxpcHBvIEFyZ2lvbGFzIDxmaWxpcHBvLmFyZ2lvbGFzQGdtYWlsLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogdGVzdHMvZXhhbXBsZXMvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2V4YW1wbGVzL3Y0bDIvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2V4YW1wbGVzL3Y0bDIvcHJvYmUuYzoKCSAgdjRsMnNyYzogYWRkIGEgc2ltcGxlIHRlc3QgY2FzZSBmb3IgZGV2aWNlIHByb2JpbmcKCjIwMDktMDctMDMgMDg6Mzg6NDMgKzAyMDAgIEZpbGlwcG8gQXJnaW9sYXMgPGZpbGlwcG8uYXJnaW9sYXNAZ21haWwuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBzeXMvdjRsMi9NYWtlZmlsZS5hbToKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICB2NGwyc3JjOiBvcHRpb25hbCBzdXBwb3J0IGZvciBkZXZpY2UgcHJvYmluZyB3aXRoIGd1ZGV2CgkgIEVudW1lcmF0ZSB2NGwyIGRldmljZXMgdXNpbmcgZ3VkZXYgaWYgYXZhaWxhYmxlLgoJICBGaXhlcyBidWcgIzU4MzY0MC4KCjIwMDktMDctMTAgMTk6NTQ6MjUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlci5jOgoJICB2aWRlb21peGVyOiBSYW5kb20gY2xlYW51cAoKMjAwOS0wNy0xMCAxOTo1NDoxMyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyLmM6CgkgIHZpZGVvbWl4ZXI6IFNlbmQgcXVlcmllcyB0byB0aGUgbWFzdGVyIHBhZCBieSBkZWZhdWx0IGluc3RlYWQgb2YgYWxsIHBhZHMKCjIwMDktMDctMTAgMTk6MzQ6NDEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvbWl4ZXIvTWFrZWZpbGUuYW06CgkqIGdzdC92aWRlb21peGVyL2JsZW5kX3JnYi5jOgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyLmM6CgkgIHZpZGVvbWl4ZXI6IEFkZCBSR0IsIEJHUiwgeFJHQiwgUkdCeCwgeEJHUiwgQkdSeCBzdXBwb3J0CgoyMDA5LTA3LTEwIDE3OjQzOjA3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIuYzoKCSAgdmlkZW9taXhlcjogQ2xlYW4gdXAgZGVidWdnaW5nIGEgYml0CgoyMDA5LTA3LTEwIDE3OjI1OjQ4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIuYzoKCSAgdmlkZW9taXhlcjogUmVtb3ZlIHNvbWUgcmVkdW5kYW50IGNoZWNrcyBhbmQgZXJyb3Igb3V0IGltbWVkaWF0ZWx5IGlmIG5vdCBuZWdvdGlhdGVkCgkgIEFsc28gc3RvcCBsZWFraW5nIHRoZSBvdXRwdXQgYnVmZmVyIGluIHNvbWUgZXJyb3IgY2FzZXMuCgoyMDA5LTA3LTEwIDE3OjIzOjAzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb21peGVyL2JsZW5kX2F5dXYuYzoKCSogZ3N0L3ZpZGVvbWl4ZXIvYmxlbmRfYmdyYS5jOgoJKiBnc3QvdmlkZW9taXhlci9ibGVuZF9pNDIwLmM6CgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIuYzoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlci5oOgoJICB2aWRlb21peGVyOiBSZW1vdmUgdGhlIGNhbGN1bGF0ZV9mcmFtZV9zaXplKCkgZnVuY3Rpb24gYW5kIHVzZSBsaWJnc3R2aWRlbyBpbnN0ZWFkCgoyMDA5LTA2LTMwIDE1OjEzOjQ0ICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlci5jOgoJICB2aWRlb21peGVyOiBSZW1vdmUgdW51c2VkIGxpbmsvdW5saW5rIHBhZCBtZXRob2RzCgoyMDA5LTA2LTMwIDEyOjQzOjA0ICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L3ZpZGVvbWl4ZXIvYmxlbmRfaTQyMC5jOgoJICB2aWRlb21peGVyOiBJNDIwIG1vZGU6IEFkZCBmYXN0IHBhdGggZm9yIDAuMCBhbmQgMS4wIGFscGhhCgkgIElmIHRoZSBzb3VyY2UgYWxwaGEgaXMgMC4wLCB3ZSB0YWtlIG5vdGhpbmcuCgkgIElmIHRoZSBzb3VyY2UgYWxwaGEgaXMgMS4wLCB3ZSBvdmVyd3JpdGUgZXZlcnl0aGluZy4KCjIwMDktMDYtMzAgMTI6NDA6MDIgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvdmlkZW9taXhlci9ibGVuZF9pNDIwLmM6CgkgIHZpZGVvbWl4ZXI6IEk0MjAgYmxlbmRpbmcgOiBGaXggbWFpbiBhbGdvcml0aG0uCgkgIFdoZW4gYmxlbmRpbmcgYSBzb3VyY2UgbGF5ZXIgd2l0aCBhbiBhbHBoYSBvZiAnYScgb24gdG9wIG9mIGFub3RoZXIKCSAgZGVzdGluYXRpb24gbGF5ZXIgd2UgdGFrZSB0aGUgc3VtIG9mOgoJICAqICdhJyBwZXJjZW50IG9mIHRoZSBzb3VyY2UgbGF5ZXIKCSAgKiAoMTAwIC0gJ2EnKSBwZXJjZW50IG9mIHRoZSBkZXN0aW5hdGlvbiBsYXllciAodGhlIHJlbWFpbmRlcikKCjIwMDktMDYtMzAgMTI6Mzk6MTkgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvdmlkZW9taXhlci9ibGVuZF9pNDIwLmM6CgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIuYzoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlci5oOgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVycGFkLmg6CgkgIHZpZGVvbWl4ZXI6IE1ha2UgZGVidWdnaW5nIGNhdGVnb3J5IGdsb2JhbCB0byBhbGwgdGhlIGNvZGUuCgoyMDA5LTA2LTI5IDE5OjIzOjQxICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlci5jOgoJICB2aWRlb21peGVyOiBpbXByb3ZlIHJlYWRhYmlsaXR5IG9mIGRlYnVnZ2luZyBzdGF0ZW1lbnRzLgoKMjAwOS0wNy0wOCAxMzozODo1MyArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IGRvIG5vdCBsZWFrIHRpbWVvdXQgbWVzc2FnZQoKMjAwOS0wNy0wOSAwNzoxNDoyMyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIGF2aTogRG9uJ3QgZm9yd2FyZCBORVdTRUdNRU5UIGV2ZW50cyBmcm9tIHVwc3RyZWFtCgkgIE5ldyBvbmVzIGFyZSBnZW5lcmF0ZWQgbGF0ZXIgYW5kIHNpbXBseSBmb3J3YXJkaW5nIHRoZW0gY2FuCgkgIHJlc3VsdCBpbiBORVdTRUdNRU5UIGV2ZW50cyBvZiBkaWZmZXJlbnQgZm9ybWF0IGdvaW5nIGRvd25zdHJlYW0uCgkgIEZpeGVzIGJ1ZyAjNTg3OTgzLgoKMjAwOS0wNy0wOCAxODoxOTo0NSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9taXhlci9ibGVuZF9heXV2LmM6CgkqIGdzdC92aWRlb21peGVyL2JsZW5kX2k0MjAuYzoKCSAgdmlkZW9taXhlcjogTWFrZSBjaGVja2VyIHBhdHRlcm4gbG9va3VwIHRhYmxlIGNvbnN0YW50CgoyMDA5LTA3LTA4IDE4OjE3OjQ4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb21peGVyL01ha2VmaWxlLmFtOgoJKiBnc3QvdmlkZW9taXhlci9ibGVuZF9iZ3JhLmM6CgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIuYzoKCSAgdmlkZW9taXhlcjogQWRkIHN1cHBvcnQgZm9yIEFSR0IKCSAgQW5kIGNsZWFuIHVwIHRoZSBjYXBzIHBhcnNpbmcuCgoyMDA5LTA3LTA4IDE1OjE3OjQxICswMjAwICBCZW5qYW1pbiBHYWlnbmFyZCA8YmVuamFtaW5AZ2FpZ25hcmQubmV0PgoKCSogZ3N0L3VkcC9nc3R1ZHBuZXR1dGlscy5jOgoJICB1ZHA6IEluaXRpYWxpemUgcG9pbnRlciB0byBOVUxMCgkgIE90aGVyd2lzZSB3ZSdyZSBjYWxsaW5nIGZyZWUoKSB3aXRoIHNvbWUgcmFuZG9tCgkgIG1lbW9yeSBhZGRyZXNzIGluIGVycm9yIGNhc2VzLgoJICBGaXhlcyBidWcgIzU4Nzk4Mi4KCjIwMDktMDctMDcgMTY6MzU6MjQgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBzcHJpbmtsZSBzb21lIG1vcmUgY29uc3QKCjIwMDktMDctMDcgMTU6NTc6NTUgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBwZXJmb3JtIHNvbWUgbW9yZSAoY2FyZWZ1bCkgZGF0YSBidWZmZXJpbmcKCSAgT25jZSBidWZmZXJpbmcgaGFzIHN0YXJ0ZWQgKHdpdGggYW4gbWRhdCBhdG9tKSwgY29udGludWUgYnVmZmVyaW5nCgkgIHVudGlsIG1vb3YgYXRvbSBpcyByZWFjaGVkLCB3aGljaCBoYW5kbGVzIGNhc2VzIHdpdGggbXVsdGlwbGUKCSAgbWRhdCBhdG9tcy4gIEFsc28ga2VlcCBhZGFwdGVyL29mZnNldCBiZXR0ZXIgaW4gc3luYyB3aXRoIHVwc3RyZWFtCgkgIGFuZCBmaXggc29tZSBkZWJ1ZyBzdGF0ZW1lbnRzLiAgRml4ZXMgIzU4NzQyNi4KCjIwMDktMDctMDYgMTA6NDA6MzEgKzAyMDAgIFBoaWxpcCBK5GdlbnN0ZWR0IDxwaGlsaXBqQG9wZXJhLmNvbT4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgYXZpZGVtdXg6IFJlcGxhY2UgZGVwcmVjYXRlZCBHU1RfRElTQUJMRV9ERUJVRyB3aXRoIGNvcnJlY3QgbWFjcm8uIEZpeGVzICM1ODc4MjYKCjIwMDktMDctMDEgMTM6MDc6NDggKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBlcnJvciBvdXQgaW5zdGVhZCBvZiBkaXZpZGluZyBieSAwCgkgIEVycm9yIG91dCBpZiB0aW1lc2NhbGUgaXMgMC4KCjIwMDktMDctMDEgMDk6MzI6NDIgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBSZXZlcnQgInF0ZGVtdXg6IE1ha2Ugc3VyZSB3ZSBkb24ndCBibGFja2xpc3Qgc3RyZWFtcyBieSB3cm9uZ2x5IGNvbXBhcmluZyB0aGVpciIKCSAgVGhpcyByZXZlcnRzIGNvbW1pdCA1NTAzYTU5YTU3NzliNjc0NTFkOGEyNzEwMDAxODE3OTBlZTc2YmM3LgoJICBSZXZlcnRpbmcgdGhpcyBzaW5jZSBpdCBjYXVzZXMgcmVncmVzc2lvbnMgd2l0aCBhIGxvdCBvZiBzYW1wbGUgZmlsZXMKCSAgSSBoYXZlLCBhbGwgb2Ygd2hpY2ggd29ya2VkIGZpbmUgd2l0aCB0aGUgbGFzdCAtZ29vZCByZWxlYXNlICgjNTg2ODkxKS4KCjIwMDktMDYtMzAgMTU6NTQ6NDcgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBjb21tZW50IG91dCB1bnVzZWQgc3RydWN0dXJlCgoyMDA5LTA2LTMwIDEzOjEyOjA5ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogbW9yZSBzaXplIGNoZWNrcywgYW5kIHVzZSBnX3RyeV9uZXcwKCkgaW5zdGVhZCBvZiBnX25ldzAoKQoJICBXaGVuZXZlciB3ZSBhbGxvYyBzb21ldGhpbmcgYmFzZWQgb24gYSB1c2VyLXN1cHBsaWVkIHNpemUsIHdlIHNob3VsZAoJICByZWFsbHkgdXNlIGdfdHJ5X25ldygpLCBvdGhlcndpc2Ugd2UgY2FuIGVhc2lseSBiZSBtYWRlIHRvIGFib3J0IGJ5CgkgIHBhc3NpbmcgYSByaWRpY3Vsb3VzbHkgbGFyZ2UgbnVtYmVyIHRvIHVzIGZvciBhbGxvY2luZy4gRml4ZXMKCSAgcHJvYmxlbXMgd2l0aCBzb21lIGZ1enplZCBmaWxlcy4KCjIwMDktMDYtMjkgMTg6NTg6MzMgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBndWFyZCBhZ2FpbnN0IGJvZ3VzIGF0b20gc2l6ZXMgYW5kIHNob3J0IHJlYWRzCgkgIENoZWNrIHRoZSBwb3NzaWJseSA2NC1iaXQgYXRvbSBzaXplIG1vcmUgY2FyZWZ1bGx5IGJlZm9yZSBjYXN0aW5nIGl0CgkgIHRvIGFuIGludCBhbmQgcGFzc2luZyBpdCB0byBnc3RfcGFkX3B1bGxfcmFuZ2UoKSwgb3RoZXJ3aXNlIHdlIG1pZ2h0CgkgIGVuZCB1cCBwdWxsaW5nIDAgYnl0ZXMsIGdldHRpbmcgYW4gZW1wdHkgYnVmZmVyIGFzIHJlcXVlc3RlZCBhbmQKCSAgZGVyZWZlcmVuY2luZyBub3QgYXZhaWxhYmxlIGRhdGEgd2hpbHN0IHRoaW5raW5nIHdlIGFjdHVhbGx5IGFza2VkCgkgIGZvciBhbmQgZ290IDB4MTAwMDAwMDAwMDAwMCBieXRlcy4gU2ltaWxhciBmaXggZm9yIHB1c2ggbW9kZSBvcGVyYXRpb24KCSAgd2hlcmUgbmVlZGVkYnl0ZXMgZW5kcyB1cCBiZWluZyAwIGJ5dGVzLCB3aGljaCBtYWtlcyB1cyBhc3NlcnQuIEZpeGVzCgkgIGNyYXNoIHdpdGggYnJva2VuIG9yIGZ1enplZCBmaWxlIChOQiAjMTIyMzc4KS4KCjIwMDktMDYtMjkgMTY6NTI6NDEgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiB1c2UgMHggcHJlZml4IHdoZW4gbG9nZ2luZyBudW1iZXJzIGluIGhleAoKMjAwOS0wNy0wMSAwODo0MDo0MCArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGV4dC9mbGFjL2dzdGZsYWNkZWMuYzoKCSAgZmxhY2RlYzogRG9uJ3Qgc2VuZCBlbXB0eSBzdHJpbmcgdGFncwoKMjAwOS0wNi0zMCAyMTozNTozNyArMDQwMCAgTFJOIDxscm4xOTg2IGF0IGdtYWlsLmNvbT4KCgkqIGdzdC91ZHAvZ3N0bXVsdGl1ZHBzaW5rLmM6CgkgIERvbid0IHVzZSBzZW5kbXNnKCktZGVwZW5kZW50IGNvZGUgb24gV2luZG93cwoJICBGaXhlcyAjNTg1ODQyCgoyMDA5LTA2LTMwIDE1OjU5OjIwICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2xhdy9hbGF3LWRlY29kZS5jOgoJKiBnc3QvbGF3L2FsYXctZW5jb2RlLmM6CgkqIGdzdC9sYXcvYWxhdy5jOgoJKiBnc3QvbGF3L211bGF3LWRlY29kZS5jOgoJKiBnc3QvbGF3L211bGF3LWVuY29kZS5jOgoJKiBnc3QvbGF3L211bGF3LmM6CgkgIGxhdzogZml4IGNhcHMgYW5kIG5lZ290aWF0aW9uCgkgIEZpeCB0aGUgY2FwcyB0byBpbmNsdWRlIHRoZSBkZXB0aCAoaW5zdGVhZCBvZiB3aWR0aCB0d2ljZSkgaW4gdGhlIGNhcHMgb2YKCSAgYXVkaW8veC1yYXctaW50LgoJICBGaXggbmVnb3RpYXRpb24gdG8gbm90IG9ubHkgY29weSB0aGUgcmF0ZS9jaGFubmVscyBvZiB0aGUgZmlyc3Qgc3RydWN0dXJlLgoKMjAwOS0wNi0zMCAxNDo0ODowOSArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJICBwdWxzZXNpbms6IGluY2x1ZGUgIjEuMD0xMDAlIiBpbiB2b2x1bWUgYW5kIGNoYW5nZSB1cHBlciBsaW1pdAoJICBVcHBlciB2b2x1bWUgbGltbWl0IHdhcyAxMDAwLiBUaGF0IGFwcGVhciB1bm5lY2Vhc3JpbHkgaGlnaC4gSXQgd291bGQgYWxzbyBjYXVzZQoJICBzZXZlciBkaXN0b3J0aW9uIGlmIGFjY2lkZW50aWFseSB1c2VkLiBOb3cgaXRzIDEwICh+ICsxNWRiKSB3aGljaCBpcyBhbHNvIGluCgkgIHN5bmMgd2l0aCB2b2x1bWUgYW5kIHBsYXliaW4yLgoKMjAwOS0wNi0yOSAxNTozOTo0MyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9wdWxzZS9wdWxzZXNyYy5jOgoJICBwdWxzZTogc29tZSBtb3JlIHRyaXZpYWwgY2xlYW51cHMKCjIwMDktMDYtMjkgMTU6Mzg6NDkgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcHVsc2UvcHVsc2VtaXhlci5jOgoJICBwdWxzZTogdHJpdmlhbCBjbGVhbnVwcwoKMjAwOS0wNi0yOSAxNToyMDozMSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSAgcHVsc2VzaW5rOiBjbGVhciByaW5nYnVmZmVyIHdoZW4gYXNrZWQgdG8KCSAgU2luY2Ugd2UgbWFwIHRoZSByaW5nYnVmZmVyIHRvIHRoZSBwdWxzZWF1ZGlvIGludGVybmFsIHJpbmdidWZmZXIsIGZsdXNoIHRoZQoJICBwdWxzZWF1ZGlvIGJ1ZmZlciB3aGVuIHdlIGFyZSBhc2tlZCB0byBjbGVhciB0aGUgcmluZ2J1ZmZlci4KCSAgVGhpcyBhdm9pZHMgc29tZSBsZWZ0b3ZlciBhdWRpbyBhZnRlciBhIHNlZWsuCgoyMDA5LTA2LTI2IDE1OjAwOjE0ICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBhdXRvZ2VuLnNoOgoJICBhdXRvZ2VuLnNoOiBBY3R1YWxseSBkbyB0aGUgJ2VjaG8gLW4nIC0+IHByaW50ZiBjaGFuZ2UuCgoyMDA5LTA2LTI2IDE0OjQwOjE0ICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBhdXRvZ2VuLnNoOgoJICBhdXRvZ2VuLnNoOiBVc2UgcHJpbnRmIGluc3RlYWQgb2YgJ2VjaG8gLW4nLiBDaGVjayBmb3IgYXV0b21ha2UtMS4xWzAxXQoJICBDaGVjayBmb3IgbW9yZSBhdXRvbWFrZSBjb21tYW5kIHZhcmlhbnRzLiBVc2UgcHJpbnRmIGluc3RlYWQgb2YgJ2VjaG8gLW4nCgkgIGZvciBwb3J0YWJpbGl0eQoKMjAwOS0wNi0yNiAxMzo0MjowOSArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSBmODEwMDMwIHRvIDU4NDViNjMKCjIwMDktMDYtMjYgMTM6MTk6MDQgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBkb24ndCBwcm9jZXNzIHRyYWNrX251bS90cmFja19jb3VudCB0YWdzIHdpdGggYSAwIHZhbHVlCgkgIE51bWJlci9jb3VudCB2YWx1ZXMgb2YgMCBtZWFuIHRoZXkncmUgbm90IHNldC4gRG9uJ3QgcHV0IHRob3NlIGluIHRoZQoJICB0YWdsaXN0LgoKMjAwOS0wNi0yNSAxODo1MToxMiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvd2F2ZWZvcm0vZ3N0d2F2ZWZvcm1zaW5rLmM6CgkgIHdhdmVmb3Jtc2luazogdXNlICdndWludDgnIGluc3RlYWQgb2YgJ2J5dGUnIHRvIGZpeCBjb21waWxhdGlvbiB3aXRoIE1TVkM4CgkgIFdlIG5lZWQgYSBjYXN0IGhlcmUgZm9yIHBvaW50ZXIgYXJpdGhtZXRpYyB0byB3b3JrIGNvcnJlY3RseSwgYnV0IHNvbWUKCSAgTVNWQyB2ZXJzaW9ucyBkb24ndCBzZWVtIHRvIGxpa2UgJ2J5dGUnLCBzbyB1c2UgZ3VpbnQ4IGhlcmUuIEhvcGVmdWxseQoJICBmaXhlcyAjNTg1MzYxLgoKMjAwOS0wNi0yNSAxOTozOTozNyArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogc3lzL3Y0bDIvdjRsMl9jYWxscy5jOgoJICB2NGwyc3JjOiBzZXQgc3RydWN0cyB0byB6ZXJvIGJlZm9yZSB1c2luZyB0aGVtIGluIGlvY3RscwoJICBUaGlzIGZpeGVzIHZhbGdyaW5kIHdhcm5pbmdzLgoKMjAwOS0wNi0yNSAxMzoyMzo0MCArMDIwMCAgSnVsaWVuIE1vdXR0ZSA8anVsaWVuQGZsdWVuZG8uY29tPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBNYWtlIHN1cmUgd2UgZG9uJ3QgYmxhY2tsaXN0IHN0cmVhbXMgYnkgd3JvbmdseSBjb21wYXJpbmcgdGhlaXIgZHVyYXRpb24gd2l0aCBlbnRpcmUgY2xpcCBkdXJhdGlvbi4KCjIwMDktMDYtMjUgMTM6MTg6MTQgKzAyMDAgIEtyenlzenRvZiBCxYJhc3prb3dza2kgPGtiIGF0IHN5c21pa3JvLmNvbS5wbD4KCgkqIGdzdC9ydHNwL2dzdHJ0cGRlYy5jOgoJICBydHBkZWM6IGZpeCBzb21lIGJ1ZmZlciBsZWFrcwoKMjAwOS0wNi0yNSAwODoxMTowOSArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9mbHYvZ3N0Zmx2cGFyc2UuYzoKCSAgZmx2cGFyc2U6IEFkZCBtaXNzaW5nIGJyZWFrIGluIHN3aXRjaC9jYXNlLgoKMjAwOS0wNi0yNSAwODoxMDozOCArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzoKCSAgZmx2ZGVtdXg6IFJlbW92ZSB1bnVzZWQgdmFyaWFibGUsIGhpbnQgYnJhbmNoIGxpa2VsaW5lc3MsIGFkZCBjb21tZW50cy4KCjIwMDktMDYtMjUgMDg6MDk6NTcgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIGF2aWRlbXV4OiBSZW1vdmVkIHVudXNlZCB2YXJpYWJsZQoKMjAwOS0wNi0yNSAwNzo0MTowNyArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogUmVtb3ZlIGRlYWQgYXNzaWdubWVudHMgYW5kIHVudXNlZCB2YXJpYWJsZXMuCgkgIEFsc28gYWRkIGJyYW5jaCBsaWtlbGluZXNzIG1hY3Jvcy4KCjIwMDktMDYtMjUgMDc6NDA6MjYgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IEZpeCB1bmluaXRpYWxpemVkIHZhcmlhYmxlcy4gRml4ZXMgYnVpbGQgb24gbWFjb3N4CgoyMDA5LTA2LTI0IDE3OjQzOjI1ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOgoJICBzb3VwaHR0cHNyYzogZnJlZSBtZW1vcnkgaW4gZmluYWxpemUKCSAgZmluYWxpemUgaXMgY2FsbGVkIG9ubHkgb25jZS4gbm8gbmVlZCB0byBjbGVhciBwb2ludGVycyB0aGVyZS4gZGlzcG9zZSBpcyBmb3IKCSAgdW5yZWZmaW5nLgoKMjAwOS0wNi0yNCAxNToxNDoxNCArMDEwMCAgSmFuIFNjaG1pZHQgPGphbi5zY2htaWR0QHN1bi5jb20+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIDZhYjExZDEgdG8gZjgxMDAzMAoKMjAwOS0wNi0wOCAxNDo0Njo0OCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIGF2aWRlbXV4OiBzaG9ydC1jaXJjdWl0IGdzdF9hdmlfZGVtdXhfc3JjX2NvbnZlcnQoKSB3aGVuIHBhcnNpbmcgdGhlIGluZGV4CgkgIERvbid0IGNhbGwgZ3N0X2F2aV9kZW11eF9zcmNfY29udmVydCgpIGZvciBlYWNoIHNpbmdsZSBpbmRleCBlbnRyeS4gTm90CgkgIG9ubHkgZG8gd2UgYWxyZWFkeSBoYXZlIHRoZSBwb2ludGVyIHRvIHRoZSBzdHJlYW0gY29udGV4dCwgd2UgYWxzbyBrbm93CgkgIHRoZSBmb3JtYXRzIHdlIHdhbnQgdG8gY29udmVydCBmcm9tIGFuZCB0byBhbHJlYWR5LCBzbyB3ZSBtYXkganVzdCBhcwoJICB3ZWxsIHVzZSBvcHRpbWlzZWQgY29udmVyc2lvbiByb3V0aW5lcyB0aGF0IGJ5cGFzcyBzb21lIG9mIHRoZSBjaGVja3MKCSAgYW5kIGxvb2t1cHMgbWFkZSBpbiBnc3RfYXZpX2RlbXV4X3NyY19jb252ZXJ0KCkuCgoyMDA5LTA2LTE3IDE2OjM5OjM2ICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBBbm90aGVyIHJvdW5kIG9mIEdfKkxJS0VMWSBtaWNyby1vcHRpbWlzYXRpb25zLgoKMjAwOS0wNi0xNyAxNjoyMDoyNSArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogVGFrZSBsYXN0IHNhbXBsZSBkdXJhdGlvbiBmb3IgZHVtbXkgc2VnbWVudCBjYWxjdWxhdGlvbi4KCSAgVGhpcyBmaXhlcyB0aGUgY2FzZXMgd2hlcmUgZmlsZXMgd2l0aG91dCBFREwgd291bGRuJ3Qgb3V0cHV0IHRoZWlyCgkgIGxhc3QgYnVmZmVyLgoKMjAwOS0wNi0yNCAxMjozNjozMSArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgYXZpZGVtdXg6IFNwcmlua2xlIGJyYW5jaCBsaWtlbGluZXNzIG1hY3JvcyBvdmVyIHRoZSBjb2RlLgoKMjAwOS0wNi0yMyAxNjo1NDozMiArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGV4dC9yYXcxMzk0L2dzdGR2MTM5NHNyYy5jOgoJKiBleHQvcmF3MTM5NC9nc3RoZHYxMzk0c3JjLmM6CgkgIHJhdzEzOTQ6IHNwcmlua2xlIGJyYW5jaCBsaWtlbGluZXNzIG1hY3JvcyBhY2Nyb3NzIHRoZSBjb2RlLgoKMjAwOS0wNi0xNCAxMDozNjoxNyArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogQWRkIEdTVF9NRU1EVU1QIHN0YXRlbWVudHMgZm9yIHVua25vd24gYXRvbXMuCgkgIFRoaXMgaXMgdG8gaGVscCBkZXZlbG9wZXJzIHRyYWNrIGRvd24gYW5kIGltcGxlbWVudCB1bmhhbmRsZWQgYXRvbXMgZmFzdGVyLgoKMjAwOS0wNi0yMyAxNzo1MTozMiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuYzoKCSAgZGVpbnRlcmxhY2U6IFJlbW92ZSB0aGUgaW50ZXJsYWNlZCBmaWVsZCBmcm9tIHRoZSBvdXRwdXQgY2FwcyBpZiBkZWludGVybGFjaW5nIGlzIGVuYWJsZWQKCjIwMDktMDYtMjMgMTc6NDg6NDcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS9ncmVlZHloLmM6CgkgIGRlaW50ZXJsYWNlOiBDb3B5IHRoZSBjb3JyZWN0IGxpbmUgZnJvbSBjb3JyZWN0IHBsYWNlIGluIHRoZSBoaXN0b3J5CgoyMDA5LTA2LTIzIDE2OjM1OjM2ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiB1c2Ugc2FtZSBwcm90b2NvbHMgYWZ0ZXIgcmVkaXJlY3QKCSAgQWZ0ZXIgYSByZWRpcmVjdCB3ZSB3YW50IHRvIHVzZSB0aGUgc2FtZSBwcm90b2NvbHMgdGhhdCB3ZSB3ZXJlIHVzaW5nIGZvciB0aGUKCSAgY3VycmVudCB1cmwuCgoyMDA5LTA2LTIzIDE1OjM1OjM3ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogZG9uJ3QgbGVhayBjb3ZlciBhcnQKCjIwMDktMDYtMjMgMTQ6MTA6MTAgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3VkcC9nc3R1ZHBuZXR1dGlscy5jOgoJICB1ZHA6IGZpeCBjb21waWxlciB3YXJuaW5nIGFib3V0IEVBSV9BRERSRkFNSUxZIGdldHRpbmcgcmVkZWZpbmVkIGluIHNvbWUgY2FzZXMKCSAgSW5jbHVkZSB0aGUgaGVhZGVyIGZyb20gd2hlcmUgd2UgaW5jbHVkZSBhbGwgdGhlIHN5c3RlbSBoZWFkZXJzIHdpdGggdGhlCgkgIHNvY2tldCBzdHVmZiBiZWZvcmUgd2UgdHJ5IHRvIGRlZmluZSBFQUlfQUREUkZBTUlMWSBvdXJzZWx2ZXMsIG90aGVyd2lzZQoJICB3ZSBkZWZpbmUgaXQgb3Vyc2VsdmVzIGFuZCB0aGVuIGdldCBhIGNvbXBpbGVyIHdhcm5pbmcgaWYgYSBzeXN0ZW0gaGVhZGVyCgkgIGRlZmluZXMgaXQgYXMgd2VsbCB3aXRob3V0IGd1YXJkaW5nIGFnYWluc3QgaXQgYmVpbmcgZGVmaW5lZCBhbHJlYWR5LgoKMjAwOS0wNi0yMyAxNDozOTo1NiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1pZHMuaDoKCSAgbWF0cm9za2E6IGFuZCB0aGUgbmV3IGhlYWRlcnMgdG9vCgoyMDA5LTA2LTIzIDE0OjMyOjQzICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2tlOiBmaXggY29tcGlsZXIgZXJyb3IKCSAgY2hhbmdlIGdwb2ludGVyIHRvIGd1aW50OCAqIGZvciBjb2RlY19zdGF0ZSBhbmQgY29kZWNfcHJpdiBhcyBzb21lCgkgIGZ1bmN0aW9ucyBvcGVyYXRlIG9uIHRob3NlIHR5cGVzIGFuZCBpdCBhdm9pZHMgYnJlYWtpbmcgc3RyaWN0LWFsaWFzaW5nCgkgIHJ1bGVzLgoKMjAwOS0wNi0yMyAxMjo0MjozMyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYWRlbXV4OiBhdm9pZCBsZWFraW5nIGJ1ZmZlcnMKCSAgRG9uJ3QgbGVhayBidWZmZXJzIHdoZW4gcmVzeW5jaW5nIHRvIGEga2V5ZnJhbWUuCgkgIEF2b2lkIGxlYWtpbmcgYnVmZmVycyB3aGVuIGV4aXRpbmcgdGhlIGxvb3Agb24gZXJyb3IgY29uZGl0aW9ucy4KCSAgQWRkIHNvbWUgbW9yZSBkZWJ1ZyBpbmZvLgoJICBGaXhlcyAjNTg1OTExCgoyMDA5LTA2LTIyIDE1OjU2OjU4ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkgIHY0bDI6IG9wZW4vY2xvc2UgdGhlIGRldmljZSBpbiBSRUFEWQoJICBUaGlzIGFsbG93cyB0byBxdWVyeSB0aGUgZGV2aWNlIGluIFJFQURZLiBCZWZvcmUgb25lIG5lZWQgdG8gc3dpdGNoIGl0IHRvIFBBVVNFRAoJICBhbmQgdGhhdCBhbHNvIHN0YXJ0cyBzdHJlYW1pbmcuCgoyMDA5LTA2LTIwIDE1OjQxOjQ0ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eF9kdW1wLmM6CgkgIHF0ZGVtdXg6IHVzZSBHU1RfTUVNRFVNUAoKMjAwOS0wNi0xOSAwMDoxNjo0MSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXBldGFnL01ha2VmaWxlLmFtOgoJKiBnc3QvYXBldGFnL2dzdGFwZWRlbXV4LmM6CgkgIGFwZWRlbXV4OiBhZGQgY29udGFpbmVyLWZvcm1hdCB0YWcKCSAgVXNlIHBidXRpbHMgaGVyZSBiZWNhdXNlIHRoZSBzdHJpbmcgaXMgdHJhbnNsYXRlZC4KCjIwMDktMDYtMTkgMDA6MTU6NTEgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2lkM2RlbXV4L01ha2VmaWxlLmFtOgoJKiBnc3QvaWQzZGVtdXgvZ3N0aWQzZGVtdXguYzoKCSAgaWQzZGVtdXg6IGFkZCBjb250YWluZXItZm9ybWF0IHRhZwoJICBVc2luZyBwYnV0aWxzIGhlcmUgYmVjYXVzZSB0aGUgc3RyaW5nIGlzIHRyYW5zbGF0ZWQuCgoyMDA5LTA2LTE4IDIzOjUxOjUyICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9kdi9nc3RkdmRlbXV4LmM6CgkgIGR2ZGVtdXg6IHBvc3QgY29udGFpbmVyLWZvcm1hdCB0YWcKCSAgQWxzbyBtZXJnZSB0aGUgdHdvIGFsbW9zdCBpZGVudGljYWwgX2FkZF8qX3BhZCgpIGZ1bmN0aW9ucyBpbnRvIG9uZS4KCjIwMDktMDYtMTggMjM6NDM6NDkgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2R2L2dzdGR2ZGVtdXguYzoKCSAgZHZkZW11eDogZG9uJ3Qgc2NyZXcgdXAgZmlyc3QgYXVkaW8gYnVmZmVyCgkgIFF1ZXJ5IHRoZSBhdWRpbyBmb3JtYXQsIGVzcC4gZHZkZW11eC0+bnVtX2NoYW5uZWxzLCBiZWZvcmUgd2UgdXNlIHRoYXQKCSAgdmFyaWFibGUgdG8gYWxsb2NhdGUgdGhlIGluaXRpYWwgYnVmZmVyLiBUaGF0IHdheSB3ZSBkb24ndCBhY2NpZGVudGFsbHkKCSAgcHVzaCBhIHplcm8tc2l6ZWQgYnVmZmVyIGFzIGZpcnN0IGF1ZGlvIGJ1ZmZlci4KCjIwMDktMDYtMTggMjM6Mzg6MzAgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L211bHRpcGFydC9tdWx0aXBhcnRkZW11eC5jOgoJICBtdWx0aXBhcnRkZW11eDogcG9zdCBjb250YWluZXItZm9ybWF0IHRhZwoKMjAwOS0wNi0xOCAyMzozNzoxMSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2EtZGVtdXg6IHBvc3QgY29udGFpbmVyLWZvcm1hdCB0YWdzCgoyMDA5LTA2LTE4IDIzOjM2OjI4ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgYXZpZGVtdXg6IHBvc3QgY29udGFpbmVyLWZvcm1hdCB0YWcKCjIwMDktMDYtMTggMjM6MzU6MjkgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBwb3N0IGNvbnRhaW5lci1mb3JtYXQgdGFncwoKMjAwOS0wNi0yMSAxNzoxMzo0MyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9meC9hdWRpb2FtcGxpZnkuYzoKCSAgYXVkaW9hbXBsaWZ5OiBGaXggaW50ZWdlciBvdmVyZmxvd3Mgb24gMzIgYml0IGFyY2hpdGVjdHVyZXMKCjIwMDktMDYtMjEgMDk6NTA6NTQgKzAyMDAgIEtpcHAgQ2Fubm9uIDxrY2Fubm9uQGxpZ28uY2FsdGVjaC5lZHU+CgoJKiBnc3QvYXVkaW9meC9hdWRpb2FtcGxpZnkuYzoKCSAgYXVkaW9hbXBsaWZ5OiBEb24ndCBkZWNsYXJlIGEgbG9vcCBpbmRleCBzdGF0aWMKCSAgVGhlIHByZXZpb3VzIHBhdGNoIHRvIGFkZCBzdXBwb3J0IGZvciBhZGRpdGlvbmFsIHNhbXBsZSBmb3JtYXRzIHBvc3NpYmx5CgkgIGludHJvZHVjZWQgYSByZWVudHJhbmN5IGJ1ZzogIGEgdmFyaWFibGUgdXNlZCBmb3IgYSBsb29wIGluZGV4IHdhcyBkZWNsYXJlZAoJICBzdGF0aWMuICBUaGlzIHBhdGNoIGZpeGVzIHRoYXQsIGFuZCBhbHNvIGFkZHMgYSAiLyogKklOREVOVC1PTiogKi8iIGFubm90YXRpb24KCSAgZm9sbG93aW5nIHRoZSBtYWNybyBibG9jay4gIChJIGRvbid0IGtub3cgd2hhdCB0aGUgYW5ub3RhdGlvbiBpcyBmb3IsIGJ1dCB0aGUKCSAgYWRkZXIsIHdoZXJlIEkgY29waWVkIHRoaXMgZnJvbSwgaGFzIGl0KS4KCjIwMDktMDYtMTkgMjI6Mzc6MjcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvZngvYXVkaW9hbXBsaWZ5LmM6CgkgIGF1ZGlvYW1wbGlmeTogRml4IG9mZi1ieS1vbmUgaW4gd3JhcC1wb3NpdGl2ZSBtb2RlCgoyMDA5LTA2LTE5IDIyOjIwOjQ1ICswMjAwICBLaXBwIENhbm5vbiA8a2Nhbm5vbkBsaWdvLmNhbHRlY2guZWR1PgoKCSogZ3N0L2F1ZGlvZngvYXVkaW9hbXBsaWZ5LmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvYW1wbGlmeS5oOgoJICBhdWRpb2FtcGxpZnk6IEFkZCBub2NsaXAgbWV0aG9kIGFuZCBzdXBwb3J0IGZvciBtb3JlIGZvcm1hdHMKCSAgRml4ZXMgYnVnICM1ODU4MjggYW5kICM1ODU4MzEuCgoyMDA5LTA2LTE5IDIxOjQ2OjQxICswMjAwICBLb29wIE1hc3QgPGt3bUBmcmVlYnNkLm9yZz4KCgkqIGdzdC91ZHAvZ3N0dWRwbmV0dXRpbHMuaDoKCSAgdWRwOiBGaXggYnVpbGQgb24gRnJlZUJTRAoJICBGaXhlcyBidWcgIzU4NjM5Ny4KCjIwMDktMDYtMTkgMTg6MTI6MjcgKzAyMDAgIE9nbnlhbiBUb25jaGV2IDxvZ255YW4udG9uY2hldiBhdCBheGlzLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cC1wYXlsb2FkaW5nLmM6CgkgIHRlc3RzOiBhZGQgdW5pdCB0ZXN0cyBmb3IgYnVmZmVyLWxpc3QgcGF5bG9hZGVycwoJICBTZWUgIzU4NTU1OQoKMjAwOS0wNi0xOSAxODowMDozNSArMDIwMCAgT2dueWFuIFRvbmNoZXYgPG9nbnlhbi50b25jaGV2IGF0IGF4aXMuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBtcDR2cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXA0dnBheS5oOgoJICBydHBtcDR2cGF5OiBhZGQgc3VwcG9ydCBmb3IgYnVmZmVyLWxpc3QKCSAgU2VlICM1ODU1NTkKCjIwMDktMDYtMTkgMTc6NTc6MTIgKzAyMDAgIE9nbnlhbiBUb25jaGV2IDxvZ255YW4udG9uY2hldiBhdCBheGlzLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwanBlZ3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGpwZWdwYXkuaDoKCSAgcnRwanBlZ3BheTogYWRkIHN1cHBvcnQgZm9yIGJ1ZmZlci1saXN0cwoJICBTZWUgIzU4NTU1OQoKMjAwOS0wNi0xOSAxNzo1MzozMiArMDIwMCAgT2dueWFuIFRvbmNoZXYgPG9nbnlhbi50b25jaGV2IGF0IGF4aXMuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBoMjY0cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2NHBheS5oOgoJICBydHBoMjY0cGF5OiBhZGQgc3VwcG9ydCBmb3IgYnVmZmVyLWxpc3RzCgkgIFNlZSAjNTg1NTU5CgoyMDA5LTA2LTE4IDExOjU0OjIyICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3VkcC9nc3R1ZHBuZXR1dGlscy5jOgoJICB1ZHB1dGlsczogZG9uJ3QgZnJlZSBpbnZhbGlkIG1lbW9yeQoJICBBcyBzcG90dGVkIGJ5IGJlbmppRyBpbiBJUkMuCgkgIGRvbid0IGZyZWUgaW52YWxpZCBtZW1vcnkgd2hlbiBnZXRhZGRyaW5mbyBmYWlsZWQuCgoyMDA5LTA2LTE3IDE3OjQ4OjMxICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJICBwdWxzZWluazogZG9uJ3QgbGVhayBkZXZpY2VfZGVzY3JpcHRpb24KCSAgZG9uJ3QgbGVhayB0aGUgZGV2aWNlX2Rlc2NyaXB0aW9uLgoJICBzb21lIGNsZWFudXBzLgoKMjAwOS0wNi0xOSAxNDo0NDo0MCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBwby9hZi5wbzoKCSogcG8vYXoucG86CgkqIHBvL2JnLnBvOgoJKiBwby9jYS5wbzoKCSogcG8vY3MucG86CgkqIHBvL2RhLnBvOgoJKiBwby9lbl9HQi5wbzoKCSogcG8vZXMucG86CgkqIHBvL2V1LnBvOgoJKiBwby9maS5wbzoKCSogcG8vZnIucG86CgkqIHBvL2h1LnBvOgoJKiBwby9pZC5wbzoKCSogcG8vaXQucG86CgkqIHBvL2phLnBvOgoJKiBwby9sdC5wbzoKCSogcG8vbXQucG86CgkqIHBvL25iLnBvOgoJKiBwby9ubC5wbzoKCSogcG8vb3IucG86CgkqIHBvL3BsLnBvOgoJKiBwby9wdF9CUi5wbzoKCSogcG8vcnUucG86CgkqIHBvL3NrLnBvOgoJKiBwby9zcS5wbzoKCSogcG8vc3IucG86CgkqIHBvL3N2LnBvOgoJKiBwby91ay5wbzoKCSogcG8vdmkucG86CgkqIHBvL3poX0NOLnBvOgoJKiBwby96aF9ISy5wbzoKCSogcG8vemhfVFcucG86CgkgIHBvOiB1cGRhdGUgLnBvIGZpbGVzIGZvciBzdW5hdWRpb21peGVyIHN0cmluZyBjaGFuZ2VzCgoyMDA5LTA2LTE4IDE2OjU4OjI2ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgYXZpZGVtdXg6IHN0cmVhbWluZzsgYWRqdXN0IHNpemVzIHRvIGNhdGVyIGZvciBwYWRkaW5nIGluIGNodW5rcwoKMjAwOS0wNi0xNyAxMTo1NDo1MyArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIGF2aWRlbXV4OiBzdHJlYW1pbmcgbW9kZTsgaGFuZGxlIGRhdGEgY2h1bmtzIGdyb3VwZWQgaW4gcmVjIGxpc3RzLgoJICBGaXhlcyAjNTY3OTgzLgoKMjAwOS0wNi0xMCAxMjozNjo1MCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IG1hcCBzb21lIHRhZ3MgdG8gQ09NUE9TRVIgcmF0aGVyIHRoYW4gQVJUSVNUCgoyMDA5LTA2LTEwIDEyOjM0OjQzICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogZml4IHNvbWUgM0dQIHRhZyBleHRyYWN0aW9uIChrZXl3b3JkcywgZ2VucmUsIGxvY2F0aW9uKQoKMjAwOS0wNi0wOSAxNTozNjo1MCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXhfZm91cmNjLmg6CgkgIHF0ZGVtdXg6IGV4dHJhY3QgcGl4ZWwtYXNwZWN0LXJhdGlvIGluZm9ybWF0aW9uCgoyMDA5LTA2LTE3IDA3OjE0OjA5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYWRlbXV4OiBGaXggbGVha2luZyBvZiB0aGUgTWF0cm9za2EgVElUTEUgZWxlbWVudAoKMjAwOS0wNi0xNiAyMDozODo0MiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5pbnRlcmZhY2VzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLnByZXJlcXVpc2l0ZXM6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi0xMzk0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhY29sb3IueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYW5ub2RleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hcGV0YWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9meC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9kZXRlY3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXZpLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhY2FzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhaXJvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWN1dHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWludGVybGFjZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmVuY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZmZWN0di54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lcXVhbGl6ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXNkc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbGFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHhkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2FtbWEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2NvbmZlbGVtZW50cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZGtwaXhidWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tMmsxLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWhhbGVsZW1lbnRzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWljeWRlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlkM2RlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVybGVhdmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanBlZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sZXZlbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tYXRyb3NrYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tb25vc2NvcGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlmaWxlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpcGFydC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uYXZpZ2F0aW9udGVzdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3NhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbmcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcHVsc2VhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1xdWlja3RpbWUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVwbGF5Z2Fpbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRzcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaG91dDJzZW5kLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNtcHRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlY3RydW0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdGFnbGliLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXVkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlbzRsaW51eDIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9iYWxhbmNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvYm94LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvY3JvcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2ZsaXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9taXhlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14aW1hZ2VzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teTRtZW5jLnhtbDoKCSogZ3N0L2VmZmVjdHYvZ3N0YWdpbmcuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0YWdpbmcuaDoKCSogZ3N0L2VmZmVjdHYvZ3N0ZGljZS5jOgoJKiBnc3QvZWZmZWN0di9nc3RkaWNlLmg6CgkqIGdzdC9lZmZlY3R2L2dzdGVkZ2UuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0ZWRnZS5oOgoJKiBnc3QvZWZmZWN0di9nc3RxdWFyay5jOgoJKiBnc3QvZWZmZWN0di9nc3RxdWFyay5oOgoJKiBnc3QvZWZmZWN0di9nc3RyZXYuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0cmV2Lmg6CgkqIGdzdC9lZmZlY3R2L2dzdHNoYWdhZGVsaWMuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0c2hhZ2FkZWxpYy5oOgoJKiBnc3QvZWZmZWN0di9nc3R2ZXJ0aWdvLmM6CgkqIGdzdC9lZmZlY3R2L2dzdHZlcnRpZ28uaDoKCSogZ3N0L2VmZmVjdHYvZ3N0d2FycC5jOgoJKiBnc3QvZWZmZWN0di9nc3R3YXJwLmg6CgkgIGVmZmVjdHY6IEFkZCBiYXNpYyBkb2N1bWVudGF0aW9uIGZvciB0aGUgZWZmZWN0diBlbGVtZW50cwoKMjAwOS0wNi0xNiAyMDoxNjoxMyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZWZmZWN0di9nc3RhZ2luZy5jOgoJKiBnc3QvZWZmZWN0di9nc3RkaWNlLmM6CgkqIGdzdC9lZmZlY3R2L2dzdGVmZmVjdHYuaDoKCSogZ3N0L2VmZmVjdHYvZ3N0cXVhcmsuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0c2hhZ2FkZWxpYy5jOgoJICBlZmZlY3R2OiBEZWZpbmUgdGhlIGZhc3QgUFJORyBmdW5jdGlvbiBhdCBhIGNlbnRyYWwgcGxhY2UKCjIwMDktMDYtMTYgMjA6MTM6MzUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2VmZmVjdHYvTWFrZWZpbGUuYW06CgkqIGdzdC9lZmZlY3R2L2dzdGFnaW5nLmM6CgkqIGdzdC9lZmZlY3R2L2dzdGFnaW5nLmg6CgkqIGdzdC9lZmZlY3R2L2dzdGRpY2UuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0ZGljZS5oOgoJKiBnc3QvZWZmZWN0di9nc3RlZGdlLmM6CgkqIGdzdC9lZmZlY3R2L2dzdGVkZ2UuaDoKCSogZ3N0L2VmZmVjdHYvZ3N0ZWZmZWN0di5jOgoJKiBnc3QvZWZmZWN0di9nc3RlZmZlY3R2Lmg6CgkqIGdzdC9lZmZlY3R2L2dzdHF1YXJrLmM6CgkqIGdzdC9lZmZlY3R2L2dzdHF1YXJrLmg6CgkqIGdzdC9lZmZlY3R2L2dzdHJldi5jOgoJKiBnc3QvZWZmZWN0di9nc3RyZXYuaDoKCSogZ3N0L2VmZmVjdHYvZ3N0c2hhZ2FkZWxpYy5jOgoJKiBnc3QvZWZmZWN0di9nc3RzaGFnYWRlbGljLmg6CgkqIGdzdC9lZmZlY3R2L2dzdHZlcnRpZ28uYzoKCSogZ3N0L2VmZmVjdHYvZ3N0dmVydGlnby5oOgoJKiBnc3QvZWZmZWN0di9nc3R3YXJwLmM6CgkqIGdzdC9lZmZlY3R2L2dzdHdhcnAuaDoKCSAgZWZmZWN0djogTW92ZSB0eXBlIGRlZmluaXRpb25zIGludG8gc2VwYXJhdGUgaGVhZGVycwoJICBUaGlzIGlzIG5lZWRlZCBmb3IgdGhlIGRvY3MgbGF0ZXIuCgoyMDA5LTA2LTE2IDE5OjQxOjAyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9lZmZlY3R2L2dzdGFnaW5nLmM6CgkqIGdzdC9lZmZlY3R2L2dzdGRpY2UuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0ZWRnZS5jOgoJKiBnc3QvZWZmZWN0di9nc3RxdWFyay5jOgoJKiBnc3QvZWZmZWN0di9nc3RyZXYuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0c2hhZ2FkZWxpYy5jOgoJKiBnc3QvZWZmZWN0di9nc3R2ZXJ0aWdvLmM6CgkqIGdzdC9lZmZlY3R2L2dzdHdhcnAuYzoKCSAgZWZmZWN0djogUmVtb3ZlIGdldF91bml0X3NpemUgaW1wbGVtZW50YXRpb25zCgkgIFRoZSBkZWZhdWx0IG9uIGZyb20gR3N0VmlkZW9GaWx0ZXIgaGFuZGxlcyB0aGlzIGFscmVhZHkuCgoyMDA5LTA2LTE2IDE0OjU0OjM0ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiBidW1wIGNvcmUvYmFzZSByZXF1aXJlbWVudHMgdG8gZ2l0CgkgIE5lZWQgZ2l0IGNvcmUgZm9yIGJhc2VzaW5rIGJ1ZmZlcmxpc3QgYWRkaXRpb25zOyAtYmFzZSByZXF1aXJlbWVudAoJICBidW1wZWQgZ3JhdHVpdG91c2x5LgoKMjAwOS0wNi0xNiAxNToyNTo1NCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3VkcHNpbmsuYzoKCSAgdGVzdHM6IGFkZCBzb21lIGRlYnVnLCBzZW5kIG5ld3NlZ21lbnQKCjIwMDktMDYtMTYgMTU6MDY6NTAgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdWRwL2dzdHVkcHNyYy5jOgoJICB1ZHBzcmM6IGFkZCBkZWJ1ZyBsaW5lIGZvciB0aGUgc29ja2V0CgoyMDA5LTA2LTE2IDE1OjA2OjI1ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svcGlwZWxpbmVzL2ZsYWNkZWMuYzoKCSAgdGVzdHM6IHR1cm4gZ19wcmludCBpbnRvIGRlYnVnCgoyMDA5LTA2LTE2IDE1OjA0OjE1ICswMjAwICBPZ255YW4gVG9uY2hldiA8b2dueWFuQGF4aXMuY29tPgoKCSogZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuYzoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3VkcHNpbmsuYzoKCSAgbXVsdGl1ZHBzaW5rOiBhZGQgc3VwcG9ydCBmb3IgYnVmZmVyIGxpc3RzCgkgIEFkZCBzdXBwb3J0IGZvciBCdWZmZXJMaXN0IGFuZCBhZGQgYSB1bml0IHRlc3QuCgkgIEZpeGVzICM1ODU4NDIKCjIwMDktMDYtMTYgMDA6MDI6NDIgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzoKCSAgc291cGh0dHBzcmM6IHJlc2V0IHNlc3Npb24gc3RhdGUgd2hlbiBzdG9wcGluZwoJICBJbmNyZWFzZXMgdGhlIGNoYW5jZXMgdGhhdCB0aGUgZWxlbWVudCBpcyBhY3R1YWxseSByZXVzYWJsZS4KCjIwMDktMDYtMTUgMjM6NDk6NDggKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzoKCSAgc291cGh0dHBzcmM6IGxvZyByZXNwb25zZSBhbmQgcmVxdWVzdCBoZWFkZXJzIGFuZCBmaXggc29tZSBicm9rZW4gaW5kZW50aW5nCgoyMDA5LTA2LTE1IDIyOjQwOjM1ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBtcDRnZGVwYXkuYzoKCSAgbXA0Z2RlcGF5OiBndWVzcyBjb25zdGFudER1cmF0aW9uIGJldHRlcgoJICBEbyBhIGJldHRlciBqb2IgYXQgZ3Vlc3NpbmcgdGhlIGNvbnN0YW50RHVyYXRpb24gcGFyYW1ldGVyIHdoZW4gaXQgaXMgbm90CgkgIHByZXNlbnQgaW4gdGhlIGNhcHMuCgkgIEZpeGVzICM1ODUyMDUKCjIwMDktMDYtMTUgMjE6MDk6NDcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2VmZmVjdHYvZ3N0d2FycC5jOgoJICB3YXJwdHY6IENsZWFuIHVwIHdhcnB0diBlbGVtZW50IGFuZCBmaXggc29tZSBtaW5vciBidWdzIGFuZCBsZWFrcwoKMjAwOS0wNi0xNSAyMDo1MzoyMyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZWZmZWN0di9nc3R2ZXJ0aWdvLmM6CgkgIHZlcnRpZ290djogQ2xlYW4gdXAgdmVydGlnb3R2IGVsZW1lbnQgYW5kIGZpeCBzb21lIG1pbm9yIGJ1Z3MgYW5kIGxlYWtzCgoyMDA5LTA2LTE1IDIwOjM4OjAxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9lZmZlY3R2L2dzdGRpY2UuYzoKCSAgZGljZXR2OiBVc2UgZ3VpbnQ4IGluc3RlYWQgb2YgY2hhciAod2hpY2ggY2FuIGJlIHNpZ25lZCBvciB1bnNpZ25lZCkKCjIwMDktMDYtMTUgMjA6MzY6MzkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2VmZmVjdHYvZ3N0c2hhZ2FkZWxpYy5jOgoJICBzaGFnYWRlbGljdHY6IFVzZSBndWludDgvZ2ludDggaW5zdGVhZCBvZiBjaGFyICh3aGljaCBjYW4gYmUgc2lnbmVkIG9yIHVuc2lnbmVkKQoKMjAwOS0wNi0xNSAyMDozMTozMCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZWZmZWN0di9nc3RzaGFnYWRlbGljLmM6CgkgIHNoYWdhZGVsaWN0djogQ2xlYW4gdXAgZWxlbWVudCBhbmQgZnJlZSBhbGwgbWVtb3J5IGluIGZpbmFsaXplCgoyMDA5LTA2LTE1IDIwOjIxOjU4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9lZmZlY3R2L2dzdHJldi5jOgoJICByZXZ0djogQ2xlYW4gdXAgcmV2dHYgZWxlbWVudAoKMjAwOS0wNi0xNSAyMDowNzo0MiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZWZmZWN0di9nc3RxdWFyay5jOgoJICBxdWFya3R2OiBTaW1wbGlmeSBzb21lIGNvZGUKCjIwMDktMDYtMTUgMjA6MDc6MTAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2VmZmVjdHYvZ3N0cXVhcmsuYzoKCSAgcXVhcmt0djogVXNlIHRoZSBpbnB1dCBkYXRhIGlmIGEgTlVMTCBidWZmZXIgaXMgY2hvc2VuIGluc3RlYWQgb2YgdGhlIHZhbHVlIDAKCjIwMDktMDYtMTUgMjA6MDA6NDMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2VmZmVjdHYvZ3N0cXVhcmsuYzoKCSAgcXVhcmt0djogRml4IHNldHRpbmcgdGhlIHBsYW5lcyBwcm9wZXJ0eSBvZiBxdWFya3R2CgkgIFNldHRpbmcgaXQgdG8gYSB2YWx1ZTwxNiB3b3VsZCBjYXVzZSBjcmFzaGVzIGJlZm9yZSBiZWNhdXNlCgkgIGN1cnJlbnRfcGxhbmUgd2FzIHNldCB0byB0aGUgb2xkIG51bWJlciBvZiBwbGFuZXMtMS4gQWxzbwoJICBmaXggY2FsY3VsYXRpb25zIGZvciBub24tMl5uIHBsYW5lcyB2YWx1ZXMuCgoyMDA5LTA2LTE1IDE3OjUwOjQxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9lZmZlY3R2L2dzdHF1YXJrLmM6CgkgIHF1YXJrdHY6IENsZWFuIHVwIHRoZSBxdWFya3R2IGVsZW1lbnQKCjIwMDktMDYtMTUgMTc6Mzk6MjAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2VmZmVjdHYvZ3N0ZWZmZWN0di5jOgoJICBlZmZlY3R2OiBNYWtlIGVsZW1lbnRzIGxpc3QgY29uc3RhbnQKCjIwMDktMDYtMTUgMTc6Mzc6NTMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2VmZmVjdHYvZ3N0ZWRnZS5jOgoJICBlZGdldHY6IENsZWFuIHVwIGVkZ2V0diBlbGVtZW50IGFuZCBmaXggbWVtb3J5IGxlYWsKCjIwMDktMDYtMTUgMTc6MjE6NTggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2VmZmVjdHYvZ3N0ZGljZS5jOgoJICBkaWNldHY6IENsZWFuIHVwIGRpY2V0diBlbGVtZW50IGFuZCBmaXggc29tZSBzbWFsbGVyIGlzc3VlcwoJICBUaGlzIGZpeGVzIGEgbWVtb3J5IGxlYWsgKHRoZSBkaWNlIG1hcCkgYW5kIGEgY3Jhc2ggd2hlbgoJICBzZXR0aW5nIHRoZSBzcXVhcmUtYml0cyBwcm9wZXJ0eSBiZWZvcmUgY2FwcyBhcmUgc2V0LgoKMjAwOS0wNi0xNSAxNzoyMDoyMSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZWZmZWN0di9NYWtlZmlsZS5hbToKCSogZ3N0L2VmZmVjdHYvZ3N0YWdpbmcuYzoKCSAgYWdpbmd0djogQWN0dWFsbHkgdXNlIEdzdENvbnRyb2xsZXIgZm9yIHN5bmNpbmcgdGhlIHByb3BlcnRpZXMgdG8gdGltZXN0YW1wcwoKMjAwOS0wNi0xNSAxNzowMzozOCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZWZmZWN0di9nc3RhZ2luZy5jOgoJICBhZ2luZ3R2OiBFeHBvcnQgc29tZSBtb3JlIGFnaW5ndHYgcHJvcGVydGllcyB2aWEgR09iamVjdCBwcm9wZXJ0aWVzCgoyMDA5LTA2LTE1IDE1OjA2OjU2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9lZmZlY3R2L2dzdGFnaW5nLmM6CgkgIGFnaW5ndHY6IEdlbmVyYWwgY2xlYW51cCBhbmQgdXBkYXRpbmcgb2YgY29weXJpZ2h0CgkgIEFsc28gbWFrZSB0aGUgc2NyYXRjaC1saW5lcyBwcm9wZXJ0eSBleHBvcnRlZCB2aWEgYSBHT2JqZWN0CgkgIHByb3BlcnR5IGFuZCBpbml0aWFsaXplL3Jlc2V0IHRoZSBpbnRlcm5hbCBzdGF0ZSBjb3JyZWN0bHkuCgoyMDA5LTA2LTE1IDE1OjA1OjU4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9lZmZlY3R2L2dzdGFnaW5nLmM6CgkgIGFnaW5ndHY6IFN0b3JlIGFuZCB1cGRhdGUgc3RhdGUgaW5zaWRlIHRoZSBpbnN0YW5jZSBzdHJ1Y3QKCSAgVGhpcyBtYWtlcyB0aGUgY29sb3JhZ2luZyBlZmZlY3QgYW5kIHBpdHMgZWZmZWN0IHZpc2libGUuCgoyMDA5LTA2LTE1IDE1OjUxOjMyICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSAgcHVsc2VzaW5rOiByZWYgY3VzdG9tIHJpbmcgYnVmZmVyIGNsYXNzIGFuZCB0eXBlIGluIGNsYXNzX2luaXQKCSAgSGFjayBhcm91bmQgdGhyZWFkLXNhZmV0eSBpc3N1ZXMgaW4gR09iamVjdCBhbmQgb3VyIHJhY3kgX2dldF90eXBlKCkKCSAgZnVuY3Rpb25zICh3ZSBjb3VsZCBlYXNpbHkgZml4IHRoZSBfZ2V0X3R5cGUoKSBmdW5jdGlvbnMsIGJ1dCB3ZSBzdGlsbAoJICBuZWVkIHRvIGhhY2sgYXJvdW5kIHRoZSBHT2JqZWN0IGNsYXNzIHJhY2VzIHVudGlsIHdlIHJlcXVpcmUgYSBuZXdlcgoJICBHTGliIHZlcnNpb24sIEkgdGhpbmspLgoKMjAwOS0wNi0xNCAxOToxOToxOSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZHYvZGVtby1wbGF5LmM6CgkqIHRlc3RzL29sZC9leGFtcGxlcy9NYWtlZmlsZS5hbToKCSogdGVzdHMvb2xkL2V4YW1wbGVzL2xldmVsL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9vbGQvZXhhbXBsZXMvbGV2ZWwvUkVBRE1FOgoJKiB0ZXN0cy9vbGQvZXhhbXBsZXMvbGV2ZWwvZGVtby5jOgoJKiB0ZXN0cy9vbGQvZXhhbXBsZXMvbGV2ZWwvcGxvdC5jOgoJKiB0ZXN0cy9vbGQvZXhhbXBsZXMvc3dpdGNoLy5naXRpZ25vcmU6CgkqIHRlc3RzL29sZC9leGFtcGxlcy9zd2l0Y2gvTWFrZWZpbGUuYW06CgkqIHRlc3RzL29sZC9leGFtcGxlcy9zd2l0Y2gvc3dpdGNoZXIuYzoKCSAgUmVtb3ZlIGEgZmV3IG9sZCBleGFtcGxlIGFwcHMgZnJvbSB0aGUgMC44IGRheXMKCSAgU29tZSBoYXZlIGJlZW4gcmVwbGFjZWQgYnkgbmV3ZXIgb25lcywgb3RoZXJzIGFyZSBkZW1vaW5nIGVsZW1lbnRzIHRoYXQKCSAgZG9uJ3QgZXhpc3QgYW55IGxvbmdlciAobm90IGluIC1nb29kIGFueXdheSksIGFuZCBvdGhlcnMgaGF2ZSBub3QgYmVlbgoJICB0b3VjaGVkIGluIG1hbnkgeWVhcnMgYW5kIGl0IHNlZW0gcG9pbnRsZXNzIHRvIGtlZXAgdGhlbSBhcm91bmQuCgkgIFJlbW92aW5nIHRoZXNlIGZpbGVzIG1ha2VzIHN1cmUgd2UgZG9uJ3QgaGF2ZSBhbnkgY29kZSBpbiBvdXIgcmVwb3NpdG9yeQoJICB0aGF0IHVzZXMgR3RrKyBzeW1ib2xzIHdoaWNoIGFyZSB0byBiZSByZW1vdmVkIGZvciBHTk9NRTMsIGFuZCBhcyBzdWNoCgkgIHdpbGwgbWFrZSBzb21lIHNjcmlwdCB0aGF0IGdyZXBzIGZvciB0aGlzIGtpbmQgb2Ygc3R1ZmYgZ2l2ZSB1cyBhIGNsZWFuCgkgIGJpbGwgb2YgY29kZSBoZWFsdGguIEZpeGVzICM1ODU3NTcuCgoyMDA5LTA2LTEzIDIxOjAyOjQ1IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8dGVzdGVyQHRlc3Rlci5jYT4KCgkqIGNvbW1vbjoKCSogZ3N0L3J0cC9nc3RydHBzaXJlbnBheS5jOgoJICBydHBzaXJlbnBheTogUmVtb3ZlIGRlcHJlY2F0ZWQgc3ltYm9sCgkgIFBhdGNoIGJ5OiBMdWlzIE1lbmluYQoKMjAwOS0wNi0xMyAxMDo0Mzo1NSArMDIwMCAgTWFydmluIFNjaG1pZHQgPG1hcnZpbl9zY2htaWR0QGdteC5uZXQ+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgdGVzdHM6IERvbid0IHJ1biB0aGUgZmxhY2RlYyB0ZXN0IGlmIHRoZSBwbHVnaW4gaXNuJ3QgYnVpbHQuIEZpeGVzICM1ODU2MzAKCjIwMDktMDYtMTIgMTY6MDY6MjggKzAyMDAgIFBhdHJpY2sgUmFkaXppIDxwYXRyaWNrLnJhZGl6aSBhdCBheGlzLmNvbT4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5oOgoJICBydHNwc3JjOiBBZGQgUlRQIGJsb2Nrc2l6ZSBmdW5jdGlvbmFsaXR5CgkgIEFkZCBwcm9wZXJ0eSB0byBtYWtlIHRoZSBjbGllbnQgc3VnZ2VzdCBhIGJsb2Nrc2l6ZSB0byB0aGUgc2VydmVyLgoJICBGaXhlcyAjNTg1NTQ5CgoyMDA5LTA2LTExIDIyOjMwOjA2ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9SRUFETUU6CgkgIHJ0cDogdXBkYXRlIFJFQURNRSwgZml4IHNvbWUgdHlwb3MsIG1lbnRpb24gZ3N0cnRwYmluCgoyMDA5LTA2LTExIDE5OjEwOjUzICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJICBwdWxzZXNpbms6IGhhbmRsZSBib3JkZXIgY2FzZXMgaW4gcmVzYW1wbGVyCgoyMDA5LTA2LTExIDEzOjMyOjIyICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBjb21tb246CgkqIGRvY3MvTWFrZWZpbGUuYW06CgkqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSogZG9jcy91cGxvYWQubWFrOgoJICBkb2NzOiBCdW1wIGNvbW1vbi4gVXNlIHVwbG9hZC1kb2MubWFrIGluc3RlYWQgb2YgdXBsb2FkLm1hawoJICBSZW1vdmUgdGhlIGxvY2FsIGNvcHkgb2YgdXBsb2FkLm1hayBpbiBmYXZvdXIgb2YgdXNpbmcgdGhlIHNoYXJlZAoJICB1cGxvYWQtZG9jLm1ha2UgaW4gY29tbW9uLwoKMjAwOS0wNi0xMSAxMTozOToyNSArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZ3N0L2dvb20vZ29vbV9jb25maWdfcGFyYW0uaDoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlci5jOgoJICBkb2NzOiBRdWlldGVuIGEgY291cGxlIG1vcmUgZG9jcyB3YXJuaW5ncwoKMjAwOS0wNi0xMSAxMToyNzoyNiArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZ3N0L21hdHJvc2thL2x6by5jOgoJICBkb2NzOiBSZW1vdmUgZ3RrLWRvYyBjb21tZW50IG1hcmtlcgoJICBUaGVzZSBjb21tZW50IGJsb2NrcyBhcmVuJ3QgZ3RrLWRvYyBjb21tZW50cyBhbmQgY2F1c2UgYW5ub3lpbmcgbm9pc2UgaW4KCSAgdGhlIGRvY3MgYnVpbGQuCgoyMDA5LTA2LTExIDEwOjA1OjMyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuaDoKCSAgZGVpbnRlcmxhY2U6IEltcGxlbWVudCB1cHN0cmVhbSBuZWdvdGF0aW9uCgoyMDA5LTA2LTEwIDIxOjQ3OjQwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5jOgoJICBkZWludGVybGFjZTogSW1wcm92ZSBkZWJ1Z2dpbmcgYW5kIGNsZWFuIHVwIHNvbWUgY29kZQoKMjAwOS0wNi0xMCAxNDo1NToxOCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuYzoKCSAgZGVpbnRlcmxhY2U6IENsaXAgYnVmZmVycyB0byB0aGUgY3VycmVudCBzZWdtZW50IGlmIHBvc3NpYmxlCgoyMDA5LTA2LTEwIDE0OjQ1OjA2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuaDoKCSAgZGVpbnRlcmxhY2U6IENsZWFuIHVwIGluY2x1ZGVzIGFuZCBjbGVhbiB1cCBvcmRlciBvZiBpbnN0YW5jZSBzdHJ1Y3QgZmllbGRzCgoyMDA5LTA2LTEwIDE2OjA5OjU2IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNwYXkuaDoKCSAgcnRwaDI2M3BheTogRGVmYXVsdCB0byBkb2luZyBBLCBCIGFuZCBDIG1vZGVzLCBub3Qgb25seSBBCgoyMDA5LTA2LTEwIDA5OjU2OjExICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5jOgoJICBkZWludGVybGFjZTogRml4IFFvUyBjYWxjdWxhdGlvbnMKCSAgVGhlIGRpZmYgaXMgYSBzaWduZWQgaW50ZWdlciwgbm90IGFuIHVuc2lnbmVkIG9uZSBvZiBjb3Vyc2UuCgkgIEluIG1vZGVzIG90aGVyIHRoYW4gR1NUX0RFSU5URVJMQUNFX0FMTCBldmVyeSBmcmFtZSBoYXMgdHdpY2UgdGhlCgkgIGR1cmF0aW9uIG9mIHRoZSBmaWVsZCBkdXJhdGlvbi4KCjIwMDktMDYtMDkgMTQ6MTM6MzEgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwc2lyZW5wYXkuYzoKCSAgcnRwc2lyZW5wYXk6IFB1dCB0aGUgYml0cmF0ZSBpbiB0aGUgUlRQIGNhcHMKCSAgVGhlIE1TIGNvZGUgc2VlbXMgdG8gcmVxdWlyZSB0aGUgYml0cmF0ZSB0byBpbnRlcm9wZXJhdGUgYW5kCgkgIGRyYWZ0LWlldGYtYXZ0LXJ0cC1nNzIyMS0wMCBhbHNvIGhhcyBpdC4KCjIwMDktMDYtMDkgMTk6NTU6MzYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmM6CgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5oOgoJICBkZWludGVybGFjZTogSW1wbGVtZW50IGJhc2ljIFFvUwoJICBUaGlzIGNoYW5nZSBpcyBiYXNlZCBvbiBUaW0ncyBRb1MgaW1wbGVtZW50YXRpb24KCSAgZm9yIGpwZWdkZWMuCgoyMDA5LTA2LTA5IDE5OjI5OjUxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5jOgoJICBkZWludGVybGFjZTogRGlyZWN0bHkgcHJveHkgZXZlbnRzL3F1ZXJpZXMgdG8gdGhlIHBlZXIgcGFkcwoJICBUaGlzIHJlbW92ZXMgc29tZSBvdmVyaGVhZCBpbnRyb2R1Y2VkIGJ5IHRoZSBkZWZhdWx0IGhhbmRsZXJzCgkgIHRoYXQgbmVlZCB0byBpdGVyYXRlIG92ZXIgdGhlIG90aGVyIHBhZHMuCgoyMDA5LTA2LTA5IDEwOjM4OjUyICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICBhdmlkZW11eDogZGVidWdfbWVtZHVtcCgpIHVua25vd24gdGFncy4gUmVmYWN0b3IganVuayBwYXJzaW5nIGNvZGUuCgkgIFRoaXMgbWFrZXMgbGlmZSBzbGlnaHRseSBlYXNpZXIgd2hlbiBkZWJ1Z2dpbmcgYXZpIGZpbGVzLgoKMjAwOS0wNi0wOCAwODoyMTo0MyArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9ydHAvTWFrZWZpbGUuYW06CgkgIHJ0cDogRG9uJ3QgZm9yZ2V0IHRvIGRpc3QgdGhlIGhlYWRlcnMgZm9yIHRoZSBDRUxUIChkZSlwYXlsb2FkZXJzLgoKMjAwOS0wNi0wNyAyMDo1NDowNiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgUmV2ZXJ0ICJSZXZlcnQgInF0ZGVtdXg6IGZpbGwgdGltZXN0YW1wIHRhYmxlIGNvbXBsZXRlbHkiIgoJICBUaGlzIHJldmVydHMgY29tbWl0IDlmMDIyYzhhODUwM2MyY2UwZmE2MTdmZGI1MGU0MTcwNmRkNDEyZjUuCgkgIFNvcnJ5LCBJIHdhcyB0aGlua2luZyBhYm91dCB0aGUgd3JvbmcgbW9kdWxlLgoKMjAwOS0wNi0wNyAyMDo0OTo1MCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgUmV2ZXJ0ICJxdGRlbXV4OiBmaWxsIHRpbWVzdGFtcCB0YWJsZSBjb21wbGV0ZWx5IgoJICBUaGlzIHJldmVydHMgY29tbWl0IDc5MGIwNTBmYzUzMDJjYWU4OWNkZGNkMjNiMjU4MDkzOTY3ZDA1YTkuCgkgIEkgZm9yZ290IHdlIHdlcmUgZnJvemVuLgoKMjAwOS0wNi0wNyAyMDo0Njo0NSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogZmlsbCB0aW1lc3RhbXAgdGFibGUgY29tcGxldGVseQoJICBXaGVuIHRoZXJlIGFyZSBsZXNzIHRpbWVzdGFtcHMgdGhhdCB0aGVyZSBhcmUgc2FtcGxlcywgZmlsbCB1cCB0aGUgc2FtcGxlIHRhYmxlCgkgIHdpdGggdGhlIGxhc3Qga25vdyB0aW1lc3RhbXAuIFRoaXMgc2l0dWF0aW9uIGNhbiBoYXBwZW4gd2hlbiB0aGUgbGFzdCBzYW1wbGUKCSAgZG9lcyBub3QgZGVjb2RlIGFuZCBkb2Vzbid0IG5lZWQgYSB0aW1lc3RhbXAuIFdlIGhvd2V2ZXIgY2FsY3VsYXRlIHRoZSB0b3RhbAoJICB0cmFjayBsZW5ndGggdXNpbmcgdGhlIGxhc3Qgc2FtcGxlIHRpbWVzdGFtcCBzbyB3ZSBuZWVkIHRvIGhhdmUgc29tZXRoaW5nCgkgIHNlbnNpYmxlIGluIHRoZXJlLgoJICBGaXhlcyAjNTg1MDU2CgoyMDA5LTA2LTA3IDEzOjM3OjA0ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6CgkgIHdhdnBhcnNlOiBoYW5kbGUgTElTVCBJTkZPIG9mIDAgc2l6ZQoJICBIYW5kbGUgTElTVCBJTkZPIGNodW5rcyBvZiAwIHNpemUgaW5zdGVhZCBvZiBjYXVzaW5nIGVycm9ycy4KCSAgRml4ZXMgIzU4NDk4MQoKMjAwOS0wNi0wNyAxMzoyNDo0NSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOgoJICBSZXZlcnQgIndhdnBhcnNlOiBSZW1vdmUgZGVhZCBhc3NpZ25tZW50cywgbW92ZSB2YXJpYWJsZSB0byB3aGVyZSBpdCdzIG5lZWRlZC4iCgkgIFJldmVydHMgY29tbWl0IDQ0MjU2YTc4ZjhkZDc5YTkxZjNiYjJhYjdjM2FhNjIzYzA5N2JiOGEgYW5kIHVzZSB0aGUgcmVzdWx0IGluCgkgIGVycm9yIHJlcG9ydGluZyBzbyB0aGF0IHdlIGNhbiBzZWUgd2hhdCdzIGdvaW5nIG9uLgoKMjAwOS0wNi0wNSAxODo1NTowMiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvTWFrZWZpbGUuYW06CgkqIGdzdC9ydHAvZ3N0cnRwLmM6CgkqIGdzdC9ydHAvZ3N0cnRwY2VsdGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwY2VsdGRlcGF5Lmg6CgkgIGNlbHRkZXBheTogYWRkIENFTFQgZGVwYXlsb2FkZXIKCjIwMDktMDYtMDUgMTU6MzA6NTEgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL01ha2VmaWxlLmFtOgoJKiBnc3QvcnRwL2dzdHJ0cC5jOgoJKiBnc3QvcnRwL2dzdHJ0cGNlbHRwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBjZWx0cGF5Lmg6CgkgIHJ0cGNlbHRwYXk6IGFkZCBDRUxUIFJUUCBwYXlsb2FkZXIKCjIwMDktMDYtMDUgMTY6NTQ6NDggKzAxMDAgIEphbiBTY2htaWR0IDxqYW4uc2NobWlkdEBzdW4uY29tPgoKCSogc3lzL3N1bmF1ZGlvL2dzdHN1bmF1ZGlvbWl4ZXJjdHJsLmM6CgkqIHN5cy9zdW5hdWRpby9nc3RzdW5hdWRpb21peGVyb3B0aW9ucy5jOgoJKiBzeXMvc3VuYXVkaW8vZ3N0c3VuYXVkaW9taXhlcnRyYWNrLmM6CgkgIHN1bmF1ZGlvOiBGaXggc3dpdGNoIHNldHRpbmcgb24gc29tZSBkZXZpY2VzLiBBZGQgZGVidWcuIEZpeCBhIEZJWE1FLgoJICBGaXggdGhlIHNldHRpbmcgb2YgdG9nZ2xlIHN3aXRjaGVzIG9uIHNvbWUgYnJva2VuIGF1ZGlvIGRyaXZlcnMgd2hpY2gKCSAgcmVwb3J0IHRoYXQgbm8gYXVkaW8gcG9ydHMgYXJlIHNldHRhYmxlIGJ5IGlnbm9yaW5nIHRoZSBtb2RfcG9ydCBmaWVsZAoJICB0aGVyZS4KCSAgQWRkIHNvbWUgZGVidWcgc3RhdGVtZW50cy4KCSAgRml4IGEgRklYTUUgbm93IHRoYXQgR29vZCByZWxpZXMgb24gYSBuZXcgZW5vdWdoIGdzdC1wbHVnaW5zLWJhc2UuCgoyMDA5LTA2LTA0IDEyOjI3OjE5ICswMTAwICBKYW4gU2NobWlkdCA8amFuLnNjaG1pZHRAc3VuLmNvbT4KCgkqIHN5cy9zdW5hdWRpby9NYWtlZmlsZS5hbToKCSogc3lzL3N1bmF1ZGlvL2dzdHN1bmF1ZGlvbWl4ZXJjdHJsLmM6CgkqIHN5cy9zdW5hdWRpby9nc3RzdW5hdWRpb21peGVyY3RybC5oOgoJKiBzeXMvc3VuYXVkaW8vZ3N0c3VuYXVkaW9taXhlcm9wdGlvbnMuYzoKCSogc3lzL3N1bmF1ZGlvL2dzdHN1bmF1ZGlvbWl4ZXJvcHRpb25zLmg6CgkqIHN5cy9zdW5hdWRpby9nc3RzdW5hdWRpb21peGVydHJhY2suYzoKCSogc3lzL3N1bmF1ZGlvL2dzdHN1bmF1ZGlvbWl4ZXJ0cmFjay5oOgoJICBzdW5hdWRpbzogU3VwcG9ydCBuZXcgZmxhZ3MgZm9yIG9wdGlvbnMgYW5kIGFjdGlvbnMKCSAgVXNlIG5ldyBhdWRpbyBtaXhlciBmbGFncyBhZGRlZCBpbiBCYXNlIDAuMTAuMjMgdG8gZXhwb3NlIGZsYWdzIGFuZCBvcHRpb25zCgkgIG9uIHRoZSBTdW5BdWRpbyBkZXZpY2VzLgoJICBGaXhlczogIzU4MzU5MwoJICBQYXRjaCBCeTogQnJpYW4gQ2FtZXJvbiA8YnJpYW4uY2FtZXJvbkBzdW4uY29tPgoJICBQYXRjaCBCeTogR2FycmV0dCBEJ0Ftb3JlIDxnYXJyZXR0LmRhbW9yZUBzdW4uY29tPgoKMjAwOS0wNS0xNSAxMTo1MDozOCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuYzoKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmg6CgkgIGRlaW50ZXJsYWNlOiBGaXJzdCB0cnkgdG8gaGFuZGxlIERWRCBzdGlsbCBmcmFtZXMgY29ycmVjdGx5CgkgIFRoaXMgaGVscHMgYSBiaXQgd2l0aCBidWcgIzU4Mjc0MCBidXQgc3RpbGwgZG9lc24ndCBtYWtlIGl0IHdvcmsuCgoyMDA5LTA2LTA0IDE3OjM3OjAzICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkgIHB1bHNlc2luazogb25seSBub3RpZnkgaWYgYWxsIGNoZWNrcyBwYXNzZWQKCSAgUmVwbGFjZSBnb3RvIGRvbmU6IHdpdGggcmV0dXJuLCBhcyB0aG9zZSBhcmUgY2hlY2tzIHdoZW4gd2UgZG9uJ3Qgd2FudCB0byBmbGFnIGEKCSAgcGVuZGluZyBub3RpZnkuCgoyMDA5LTA2LTA0IDE1OjE5OjA1ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBzZXQgdGhlIHJpZ2h0IHN0YXRlIG9uIHJ0cGJpbgoJICBXZSBuZWVkIHRvIHNldCB0aGUgc3RhdGUgb2YgZ3N0cnRwYmluIHRvIHRoZSBzYW1lIHN0YXRlIGFzIG91ciBzb3VyY2UgZWxlbWVudHMuCgkgIFRoaXMgZml4ZXMgZmFsbGJhY2sgdG8gVENQIGFnYWluLgoKMjAwOS0wNi0wMyAxODoyMzo1MyArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJICBwdWxzZXNpbms6IGNoZWNrIHBvaW50ZXIgYmVmb3JlIGFjY2Vzc2luZwoJICBNb3ZlIGV4aXN0aW5nIGNoZWNrIGEgZmV3IGxpbmVzIHVwLCBzbyB0aGF0IHdlIGNoZWNrIGJlZm9yZSBhY2Nlc3NpbmcgZmllbGRzLgoKMjAwOS0wNi0wMyAxODoyMToxMiArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJICBwdWxzZXNpbms6IHJlbmFtZSBnc3RfcHVsc2Vfc2lua19nZXRfdGltZSB0byBnc3RfcHVsc2VzaW5rX2dldF90aW1lCgkgIFJlbmFtZSBpbnRlcm5hbCBtZXRob2QgZm9yIGNvbnNpc3RlbmN5LgoKMjAwOS0wNi0wMyAxODoxOToyMiArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJICBwdWxzZXNpbms6IHVzZSB2YWx1ZXMgZnJvbSBwYV9zdHJlYW1fZ2V0X2J1ZmZlcl9hdHRyKCkKCSAgV2Ugd2VyZSBwdXR0aW5nIHRoZSByZXF1ZXN0ZWQgdmFsdWVzIGJhY2sgaW50byByaW5nYnVmZmVyIHNwZWMsIGluc3RlYWQgb2YKCSAgdXNpbmcgdGhlIHF1ZXJpZWQgdmFsdWVzLgoKMjAwOS0wNi0wMiAxOTozMjoyMSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwdnJhd3BheS5jOgoJICB2cmF3cGF5OiB0cmltIG91dHB1dCBidWZmZXJzCgkgIFJlbW92ZSB0aGUgbGVmdG92ZXIgdW51c2VkIGJ5dGVzIGluIHRoZSBvdXRwdXQgYnVmZmVyLgoJICBGaXhlcyAjNTg0NjEzCgoyMDA5LTA2LTAyIDE5OjMwOjMwICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHB2cmF3ZGVwYXkuYzoKCSAgdnJhd2RlcGF5OiBmaXggcGFyc2luZyBvZiBzYW1wbGluZyBmaWVsZAoJICBjb21taXQgYTEyZDlhODBmMjI1YmU5N2IzNjc0YjFhMDUwNmFjNjY1NDRkYmY0OSBicm9rZSB0aGUgcGFyc2luZyBvZiB0aGUKCSAgc2FtcGxpbmcuCgoyMDA5LTA1LTI3IDE3OjA2OjM0ICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBleHQvbGlicG5nL2dzdHBuZ2RlYy5jOgoJICBwbmdkZWM6IEF2b2lkIHBvc3NpYmxlIG92ZXJmbG93IGluIGNhbGN1bGF0aW9ucwoJICBBIG1hbGZvcm1lZCAob3Igc2ltcGx5IGh1Z2UpIFBORyBmaWxlIGNhbiBsZWFkIHRvIGludGVnZXIgb3ZlcmZsb3cgaW4KCSAgY2FsY3VsYXRpbmcgdGhlIHNpemUgb2YgdGhlIG91dHB1dCBidWZmZXIsIGxlYWRpbmcgdG8gY3Jhc2hlcyBvciBidWZmZXIKCSAgb3ZlcmZsb3dzIGxhdGVyLiBGaXhlcyBTQTM1MjA1IHNlY3VyaXR5IGFkdmlzb3J5LgoKMjAwOS0wNi0wMiAwMDo0ODowMCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmxhYy9nc3RmbGFjZW5jLmM6CgkgIGZsYWNlbmM6IHNvbWUgbW9yZSBsb2dnaW5nIC0gZHVtcCBoZWFkZXIgcGFja2V0cwoJICBBbHNvLCB0aGUgZmluYWwgZml4aW5nIHVwIG9mIHRoZSBoZWFkZXJzIGlzIGV4cGVjdGVkIGFuZCBub3Qgc29tZXRoaW5nCgkgIHdlIHNob3VsZCB3YXJuIGFib3V0LgoKMjAwOS0wNi0wMiAwMDozNzoxNSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmxhYy9nc3RmbGFjZW5jLmM6CgkgIGZsYWNlbmM6IG5ldmVyIGV2ZXIgcGFzcyB2YWx1ZXMgPjM2Yml0cyB0byBfc2V0X3RvdGFsX3NhbXBsZXNfZXN0aW1hdGUoKQoJICBMZXQncyBiZSBwYXJhbm9pZCBhbmQgbWFrZSBzdXJlIHdlIG5ldmVyIHBhc3MgYSBudW1iZXIgdGhhdCB0YWtlcyB1cAoJICBtb3JlIHRoYW4gMzYgYml0cyB0byBfc2V0X3RvdGFsX3NhbXBsZXNfZXN0aW1hdGUoKSwgc2luY2UgbGliRkxBQwoJICBleHBlY3RzIGFsbCB0aGUgb3RoZXIgYml0cyB0byBiZSB6ZXJvLCBhbmQgaWYgdGhpcyBpcyBub3QgdGhlIGNhc2UKCSAgbmVpZ2hib3VyaW5nIGZpZWxkcyBpbiB0aGUgZ2xvYmFsIHN0cmVhbSBpbmZvIGhlYWRlciBtYXkgZ2V0IG1lc3NlZAoJICB1cCBpbmFkdmVydGVudGx5LCBzbyB0aGF0IGZsYWMgLWQgcmVmdXNlcyB0byBkZWNvZGUgdGhlIHN0cmVhbS4KCSAgU2VlICM1ODQ0NTUuCgoyMDA5LTA2LTAxIDIyOjMzOjAyICswMjAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXMgKGF0KSBhcGVzdGFhcnQgKGRvdCkgb3JnPgoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2VuYy5jOgoJICBBZGRyZXNzIGJhZCBGTEFDIHNhbXBsZSBsZW5ndGggZW5jb2Rpbmcgb2YgIzU4NDQ0NTUKCSAgQ29tbWl0IGRmNzA3YzY2NjQzM2E3OGQzODc4YWY2ZjA1NTY5OGQ1NzU2MjI2YzQKCSAgaW50cm9kdWNlZCBhbiBvYnZpb3VzIGJ1ZyBpbiB0aGUgc2FtcGxlIGxlbmd0aCBjYWxjdWxhdGlvbiwKCSAgdXNpbmcgdGhlIHdyb25nIG1hY3JvIGZvciBjb252ZXJzaW9uLgoKMjAwOS0wNi0wMSAxMTo1ODoyMSAtMDcwMCAgQnJpYW4gQ2FtZXJvbiA8YnJpYW4uY2FtZXJvbkBzdW4uY29tPgoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS9tbXguaDoKCSAgZGVpbnRlcmxhY2U6IEZpeCBzcHVyaW91cyBjb2xvbnMgaW4gYXNtIGNvZGUKCSAgRml4ZXMgIzU4NDE3NC4KCSAgU2lnbmVkLW9mZi1ieTogRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoyMDA5LTA2LTAxIDAwOjQwOjU1ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgYXZpZGVtdXg6IHNraXAgSlVOSyBjaHVua3MgaW4gZGF0YSBzZWN0aW9uIGluIHN0cmVhbWluZyBtb2RlCgkgIFNraXAgSlVOSyB0YWdzIGluIHN0cmVhbWluZyBtb2RlIGFzIHdlbGwgaW5zdGVhZCBvZiBFT1NpbmcKCSAgcHJlbWF0dXJlbHkuIEZpeGVzICM1NjQxMDAuCgoyMDA5LTA1LTI4IDE0OjAxOjE3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb21peGVyL2JsZW5kX2JncmEuYzoKCSogZ3N0L3ZpZGVvbWl4ZXIvYmxlbmRfaTQyMC5jOgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyLmM6CgkgIHZpZGVvbWl4ZXI6IERvbid0IHVzZSAvLyBjb21tZW50cwoKMjAwOS0wNS0yOCAxMzo1NjoxNSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9taXhlci9ibGVuZF9iZ3JhLmM6CgkgIHZpZGVvbWl4ZXI6IEZpeCBiYWNrZ3JvdW5kIGJsaXR0aW5nIHdoZW4gYSBjb2xvciBtb2RlIGlzIHNlbGVjdGVkIHdpdGggQkdSQQoKMjAwOS0wNS0yOCAxMzo1NDoxNCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9taXhlci9ibGVuZF9heXV2LmM6CgkqIGdzdC92aWRlb21peGVyL2JsZW5kX2JncmEuYzoKCSogZ3N0L3ZpZGVvbWl4ZXIvYmxlbmRfaTQyMC5jOgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyLmM6CgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIuaDoKCSAgdmlkZW9taXhlcjogU29tZSBjbGVhbnVwIGFuZCBmaXggdGhlIGNhbGN1bGF0aW9uIG9mIHRoZSBmcmFtZSBzaXplIGluIGJ5dGVzCgoyMDA5LTA1LTI4IDEzOjM1OjUyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb21peGVyL2JsZW5kX2k0MjAuYzoKCSAgdmlkZW9taXhlcjogRml4IEk0MjAgYmxlbmRpbmcgdG8gYWN0dWFsbHkgZG8gc29tZXRoaW5nCgkgIEZvciB0aGlzIHdlIGEpIGltcGxlbWVudCB0aGUgY2hlY2tlcnMgZmlsbGluZyBhbmQgYikKCSAgYWN0dWFsbHkgYmxlbmQgdGhlIHNyYy9kZXN0IGJ5IHVzaW5nIHRoZSBzcmMgYWxwaGEgdmFsdWUKCSAgZnJvbSB0aGUgcGFkLgoKMjAwOS0wNS0yOCAxMzoxNDoxMyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9taXhlci9ibGVuZF9iZ3JhLmM6CgkgIHZpZGVvbWl4ZXI6IEZpeCBBUkdCIGJsZW5kaW5nIHRvIGFjdHVhbGx5IHdvcmsKCjIwMDktMDUtMjggMTM6MDQ6NTEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvbWl4ZXIvTWFrZWZpbGUuYW06CgkqIGdzdC92aWRlb21peGVyL2JsZW5kX2JncmEuYzoKCSAgdmlkZW9taXhlcjogQmxlbmQgQkdSQSBvdXJzZWx2ZXMgaW5zdGVhZCBvZiB1c2luZyBDYWlybwoKMjAwOS0wNS0yOCAxMjo1NToxNiArMDIwMCAgQWxleCBVZ2FydGUgPGFsZXh1Z2FydGVAZ21haWwuY29tPgoKCSogZ3N0L3ZpZGVvbWl4ZXIvTWFrZWZpbGUuYW06CgkqIGdzdC92aWRlb21peGVyL2JsZW5kX2F5dXYuYzoKCSogZ3N0L3ZpZGVvbWl4ZXIvYmxlbmRfYmdyYS5jOgoJKiBnc3QvdmlkZW9taXhlci9ibGVuZF9pNDIwLmM6CgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIuYzoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlci5oOgoJICB2aWRlb21peGVyOiBBZGQgc3VwcG9ydCBmb3IgYmxlbmRpbmcgQkdSQSBhbmQgQVlVVgoJICBGaXhlcyBidWcgIzU3NzAxNy4KCjIwMDktMDUtMjggMTI6Mzk6NDYgKzAyMDAgIEdoaXNsYWluICdBdXMnIExhY3JvaXggPGF1c0Bzb25nYmlyZG5lc3QuY29tPgoKCSogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIuYzoKCSAgZXF1YWxpemVyOiBVc2UgZmxvYXRpbmcgcG9pbnQgYXJpdGhtZXRpYyBpbnRlcm5hbGx5IGZvciB0aGUgaW50MTYgbW9kZQoJICBCeSB1c2luZyBpbnQzMiBhcml0aG1ldGljIHdlIHdpbGwgaW50cm9kdWNlIGRpc3RvcnRpb25zIGFzIHRoZQoJICBJSVIgZmlsdGVyIGlzIHZlcnkgc2Vuc2l0aXZlIHRvIHJvdW5kaW5nIGVycm9ycy4gRml4ZXMgYnVnICM1ODAyMTQuCgoyMDA5LTA1LTI4IDEwOjU1OjE2ICswMTAwICBDaHJpc3RpYW4gU2NoYWxsZXIgPGNocmlzdGlhbi5zY2hhbGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtcGx1Z2lucy1nb29kLnNwZWMuaW46CgkgIFVwZGF0ZSBzcGVjIGZpbGUgd2l0aCBsYXRlc3QgcGx1Z2lucwoKMjAwOS0wNS0yNiAxNzoxOTowOCArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSA4ODhlMGEyIHRvIGM1NzI3MjEKCjIwMDktMDUtMjYgMTY6MjA6MzUgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5oOgoJICB2NGwyOiBjbGVhbnVwIGFuZCBjb21tZW50aW5nCgkgIFJlbW92ZSBuZXdsaW5lcyBpbnNlcnRlZCBieSBnc3QtaW5kZW50IG9uY2UuIFJlbW92ZSB1bnVzZWQgdmFyIGZyb20gaW5zdGFuY2UKCSAgc3RydWN0LiBBZGQgY29tbWVudHMuIEFkZCBhbm90aGVyICNkZWZpbmUgZm9yIGRlZmF1bHQgcHJvcGVydHkgdmFsdWUuCgoyMDA5LTA1LTA2IDEyOjQzOjM1ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgbWFrZWZpbGU6IGlkZWEgYWJvdXQgbWFrZWluZyBtb3JlIHNvdXJjZXMvc2lua3MgdGVzdGFibGUgYWdhaW4KCjIwMDktMDUtMjUgMTY6MzM6MzUgKzAyMDAgIEpvaG4gS2VlcGluZyA8am9obi5rZWVwaW5nIGF0IGxpbmVvbmUubmV0PgoKCSogZXh0L2xpYnBuZy9nc3RwbmdkZWMuYzoKCSAgcG5nZGVjOiBtYXRjaCBnX21hbGxvYygpIHdpdGggZ19mcmVlKCkKCSAgTWF0Y2hpbmcgZ19tYWxsb2MoKSB3aXRoIGEgZ19mcmVlKCkgaXMgaW1wb3J0YW50IHdoZW4gYSBjdXN0b20gYWxsb2NhdG9yIGlzCgkgIGluc3RhbGxlZC4KCSAgRml4ZXMgIzU4MzgwMwoKMjAwOS0wNS0xMiAxODozOToyOCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwbXA0dnBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wNHZwYXkuaDoKCSAgcnRwbXA0dnBheTogZG9uJ3QgbG9vayBmb3IgaGVhZGVycyBpbiBzb21lIGNhc2VzCgkgIEluIHNvbWUgc3RyZWFtcyAoc3RhcnRpbmcgd2l0aCAwMDAwMDEwMCkgZG9uJ3QgbG9vayBmb3IgdGhlIGhlYWRlcnMgYnV0IHB1c2gKCSAgZGF0YSBhcyBpdCBpcy4KCSAgRml4ZXMgIzU4MjE1MwoKMjAwOS0wNS0xMyAxMTo1MDoyMiArMDIwMCAgUGF0cmljayBSYWRpemkgPHBhdHJpY2sucmFkaXppIGF0IGF4aXMuY29tPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBmaXggbWVtb3J5IGxlYWsgb2YgbWVzc2FnZXMKCSAgRnJlZSBtZXNzYWdlcyBjb3JyZWN0bHkuCgkgIEZpeGVzICM1NzczMTgKCjIwMDktMDUtMjQgMTk6MzI6MTcgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IG1ha2UgZmFrZXNyYyBzaWxlbnQKCSAgTWFrZSB0aGUgZmFrZXNyYyB0aGF0IGlzIHJlc3BvbnNpYmxlIGZvciBzZW5kaW5nIGR1bW15IHBhY2tldHMgc2lsZW50LgoKMjAwOS0wNS0yNCAxNjozMzo0MiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogZG9uJ3Qgc2VuZCB0ZWFyZG93biBiZWZvcmUgc2V0dXAKCSAgRG9uJ3Qgc2VuZCBhIFRFQVJET1dOIHJlcXVlc3Qgd2hlbiB3ZSBkaWQgbm90IG1hbmFnZSB0byBzdWNjZXNzZnVsbHkgc2V0dXAgYQoJICBzdHJlYW0uCgoyMDA5LTA1LTE0IDE0OjQ2OjE0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguaDoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWlkcy5oOgoJICBtYXRyb3NrYWRlbXV4OiBQb3B1bGF0ZSBhIEdzdEluZGV4IHRoYXQgaXMgc2V0IG9uIG1hdHJvc2thZGVtdXgKCjIwMDktMDUtMTQgMTA6MzU6MjIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2Zsdi9nc3RmbHZtdXguYzoKCSAgZmx2bXV4OiBHZXQgdGhlIG1heCBkdXJhdGlvbiBmcm9tIHVwc3RyZWFtIGlmIHRoZXJlJ3Mgbm8gZHVyYXRpb24gdGFnCgoyMDA5LTA1LTE0IDEwOjI5OjQ5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9mbHYvZ3N0Zmx2bXV4LmM6CgkqIGdzdC9mbHYvZ3N0Zmx2bXV4Lmg6CgkgIGZsdm11eDogV3JpdGUgYW4gaW5kZXggdGFibGUgdG8gdGhlIGVuZCBvZiB0aGUgZmlsZQoKMjAwOS0wNS0yMiAwMToxMjozNSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBhdXRvZ2VuLnNoOgoJKiBjb25maWd1cmUuYWM6CgkgIGF1dG90b29sczogbW92ZSB0aGUgLVduby1wb3J0YWJpbGl0eSBmcm9tIGF1dG9nZW4uc2ggdG8gY29uZmlndXJlLmFjCgkgIElmIHdlJ3JlIGx1Y2t5IGl0J2xsIGdldCB1c2VkIG9uIGF1dG9tYXRpYyByZWJ1aWxkcyBhcyB3ZWxsIHRoYXQgd2F5LgoKMjAwOS0wNS0yMiAwMToxMDoxMiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb21tb246CgkqIGNvbmZpZ3VyZS5hYzoKCSogbTQvZ3N0LWZpb25yZWFkLm00OgoJICBtNDogZml4ICdzdXNwaWNpb3VzIGNhY2hlIGlkJyB3YXJuaW5ncwoJICBhbmQgdXBkYXRlIGNvbW1vbiB0byBwdWxsIGluIGEgc2ltaWxhciBmaXguIEFsc28gY2hlY2sgaW4gY29uZmlndXJlCgkgIHdoZXRoZXIgdGhlIGNvbXBpbGVyIHN1cHBvcnRzIGRvIHdoaWxlIG1hY3JvcyAoR0xpYiB3YW50cyB0aGlzCgkgIGRlZmluZWQgYW5kIGl0IGlzIG5lZWRlZCB0byBhdm9pZCB3YXJuaW5ncyB3aXRoIHNvbWUgYysrIGNvbXBpbGVycwoJICBhcHBhcmVudGx5KS4KCjIwMDktMDUtMjIgMDE6Mzk6MzMgKzAzMDAgIFplZXNoYW4gQWxpIChLaGF0dGFrKSA8emVlc2hhbmFrQGdub21lLm9yZz4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgc291cGh0dHBzcmM6IEJ1bXAtdXAgbGlic291cC0yLjI0IGRlcCB0byA+PSAyLjI2CgkgIFRoZSBoZWxwZXIgZnVuY3Rpb24gc291cF9tZXNzYWdlX2hlYWRlcnNfZ2V0X2NvbnRlbnRfdHlwZSB0aGF0IHdlIG5vdyB1c2UKCSAgd2FzIGFkZGVkIGluIDIuMjYuCgoyMDA5LTA1LTIwIDE3OjU3OjU5ICswMzAwICBaZWVzaGFuIEFsaSAoS2hhdHRhaykgPHplZXNoYW5ha0Bnbm9tZS5vcmc+CgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOgoJICBzb3VwaHR0cHNyYzogU2V0IGNhcHMgZm9yIGF1ZGlvL0wxNiBjb250ZW50LXR5cGUKCSAgV2hlbiAiQ29udGVudC1UeXBlIiBoZWFkZXIgaXMgImF1ZGlvL0wxNiIsIHdlIG5lZWQgdG8gc2V0IHRoZSBjYXBzIG9uIHRoZQoJICBvdXRnb2luZyBidWZmZXJzIHNvIHRoYXQgZG93bnN0cmVhbSBlbGVtZW50cyBjYW4gaGF2ZSBtZWFucyB0byBkZXRlY3QgdGhlCgkgIHN0cmVhbSB0eXBlIGFuZCBoYW5kbGUgaXQgYXBwcm9wcmlhdGVseS4gVGVzdGVkIHdpdGggSFRUUCBzdHJlYW0gcHJvdmlkZWQKCSAgYnkgcHVsc2UtYXVkaW8ncyBodHRwIG1vZHVsZSAoZ2l0IG1hc3RlcikuCgoyMDA5LTA1LTIwIDE1OjA2OjI1ICswMzAwICBaZWVzaGFuIEFsaSAoS2hhdHRhaykgPHplZXNoYW5ha0Bnbm9tZS5vcmc+CgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5oOgoJICBzb3VwaHR0cHNyYzogUmVuYW1lIGljeV9jYXBzIHRvIHNyY19jYXBzCgoyMDA5LTA1LTIxIDIzOjM5OjEzICswMjAwICBQaGlsaXBwZSBOb3JtYW5kIDxwaGlsaXBwZSBhdCBmbHVlbmRvLmNvbT4KCgkqIGV4dC9qcGVnL2dzdGpwZWdkZWMuYzoKCSAganBlZ2RlYzogYnVtcCBtYXggc2l6ZSB0byA2NTUzNXg2NTUzNQoJICBSZW1vdmUgYXJ0aWZpY2lhbCBqcGVnIGltYWdlIGxpbWl0cy4KCSAgRml4ZXMgIzU4MzA0OC4KCjIwMDktMDUtMjEgMjE6MzY6MDIgKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgd2luMzI6IFVwZGF0ZSB0aGUgd2luMzIgY29uZmlnLmgKCjIwMDktMDUtMTkgMTU6MTI6MDkgKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtaWRzLmg6CgkgIG1hdHJvc2thZGVtdXg6IFJlY29nbmlzZSBQR1Mgc3VicGljdHVyZSBzdHJlYW1zIC0gdGhlIGJsdXJheSBmb3JtYXQuCgkgIFJlY29nbmlzZSBhbmQgYXBwbHkgYXBwcm9wcmlhdGUgY2FwcyB0byBQR1MgKFByZXNlbnRhdGlvbiBHcmFwaGljIFN0cmVhbSkKCSAgc3VicGljdHVyZSBzdHJlYW1zLgoKMjAwOS0wNS0xNSAxMDo0MjoxOSArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJICBwdWxzZXNpbms6IENvbnZlcnQgYW4gZXJyb25lb3VzIGFzc2VydGlvbgoJICBPY2Nhc2lvbmFsbHksIHdlIGdldCBhIGNoYW5nZSBjYWxsYmFjayBmb3IgYW4gb2xkIHN0cmVhbSwgdHJpZ2dlcmluZwoJICB0aGUgYXNzZXJ0aW9uIHVubmVjZXNzYXJpbHkuIEp1c3QgaWdub3JlIHN1Y2ggY2FsbGJhY2tzLgoKMjAwOS0wNS0yMCAxNjoxNDo0MCAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJICBwdWxzZTogUHJpbnQgYSB3YXJuaW5nIG9uIHVuZGVyL292ZXJmbG93cwoKMjAwOS0wNS0yMCAxODo0NTo0NSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eF9mb3VyY2MuaDoKCSAgcXRkZW11eDogcGFyc2UgaW4yNCBib3hlcyB0byBnZXQgZW5kaWFubmVzcwoJICBpbjI0IHNhbXBsZXMgYXJlIG5vcm1hbGx5IGJpZy1lbmRpYW4gYnV0IGFuIGVuZGEgYm94IGNhbiBjaGFuZ2UgdGhpcyB0bwoJICBsaXR0bGUtZW5kaWFuLiBSZWN1cnNlIGludG8gdGhlIGluMjQgYm94IGFuZCBmaW5kIHRoZSBlbmRhIGJveCBzbyB0aGF0IHdlIGdldAoJICB0aGUgZW5kaWFubmVzcyByaWdodC4KCSAgRml4ZXMgIzU4MjUxNQoKMjAwOS0wNS0yMCAxNDoxNDozMSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tdWx0aXBhcnQvbXVsdGlwYXJ0ZGVtdXguYzoKCSAgbXVsdGlwYXJ0ZGVtdXg6IGFkZCBwcm9wZXIgcGFkdGVtcGxhdGUKCjIwMDktMDUtMjAgMTQ6MDI6NDMgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXVsdGlwYXJ0L211bHRpcGFydGRlbXV4LmM6CgkgIG11bHRpcGFydGRlbXV4OiBhZGQgbW9yZSBtaW1lIHR5cGVzCgkgIEFkZCBtaW1lLXR5cGUgZm9yIFBhbmFzb25pYyBnNzI2IGFuZCBhZGQgbW9yZSByZXF1aXJlZCBjYXBzIHByb3BlcnRpZXMgZm9yIG90aGVyCgkgIEc3MjYgbWltZS10eXBlcy4KCSAgTWFrZSBtaW1lLXR5cGVzIGNhc2UgaW5zZW5zaXRpdmUuCgkgIFNlZSAjNTgyMTY5CgoyMDA5LTA1LTIwIDEzOjQ3OjUyICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L211bHRpcGFydC9tdWx0aXBhcnRkZW11eC5jOgoJKiBnc3QvbXVsdGlwYXJ0L211bHRpcGFydGRlbXV4Lmg6CgkgIG11bHRpcGFydGRlbXV4OiBhZGQgZmxvdyBhZ2dyZWdhdGlvbgoKMjAwOS0wNS0yMCAxMzoyOTowMiArMDIwMCAgQXJub3V0IFZhbmRlY2FwcGVsbGUgPGFybm91dEBtaW5kLmJlPgoKCSogZ3N0L211bHRpcGFydC9tdWx0aXBhcnRkZW11eC5jOgoJICBtdWx0aXBhcnRkZW11eDogYWxsb3cgY29udGVudCB0byBiZSBlbXB0eS4KCSAgZ3N0X2FkYXB0ZXJfdGFrZV9idWZmZXIgZG9lc24ndCBhbGxvdyBidWZmZXIgdG8gYmUgZW1wdHkuCgkgIFNpbXBseSBza2lwIGFueSBwYXJ0IHdoZXJlIHRoZSBjb250ZW50IGlzIGVtcHR5LiAgRG9uJ3QKCSAgY3JlYXRlIGEgcGFkIGZvciBpdCBlaXRoZXIuCgkgIFNlZSAjNTgyMTY5CgoyMDA5LTA1LTE4IDIyOjE5OjM5ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBjaGFubmVscy5oOgoJICBydHA6IGZpeCBjaGFubmVsIHBvc2l0aW9ucyBmb3IgbW9ubwoKMjAwOS0wNS0yMSAyMTowMjoxMSArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogY29uZmlndXJlLmFjOgoJICBCYWNrIHRvIGhhY2tpbmcgLT4gMC4xMC4xNS4xCgo9PT0gcmVsZWFzZSAwLjEwLjE1ID09PQoKMjAwOS0wNS0yMCAyMjozNDoxOCArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogQ2hhbmdlTG9nOgoJKiBORVdTOgoJKiBSRUxFQVNFOgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaW50ZXJmYWNlczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5wcmVyZXF1aXNpdGVzOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tMTM5NC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYWNvbG9yLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFubm9kZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXBldGFnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvZngueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvZGV0ZWN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF2aS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWNhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWlyby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jdXR0ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVpbnRlcmxhY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZlbmNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZmVjdHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXF1YWxpemVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVzZHNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmxhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx4ZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdhbW1hLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdjb25mZWxlbWVudHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2RrcGl4YnVmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbTJrMS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1oYWxlbGVtZW50cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pY3lkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pZDNkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlcmxlYXZlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwZWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGV2ZWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWF0cm9za2EueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW9ub3Njb3BlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpZmlsZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aXBhcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmF2aWdhdGlvbnRlc3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5nLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXB1bHNlYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcXVpY2t0aW1lLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlcGxheWdhaW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0c3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hvdXQyc2VuZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbXB0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWN0cnVtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXRhZ2xpYi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi11ZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW80bGludXgyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvYmFsYW5jZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2JveC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2Nyb3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9mbGlwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvbWl4ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2ZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teGltYWdlc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXk0bWVuYy54bWw6CgkqIGdzdC1wbHVnaW5zLWdvb2QuZG9hcDoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICBSZWxlYXNlIDAuMTAuMTUKCjIwMDktMDUtMjAgMjI6MDM6MjEgKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIHBvL2FmLnBvOgoJKiBwby9hei5wbzoKCSogcG8vYmcucG86CgkqIHBvL2NhLnBvOgoJKiBwby9jcy5wbzoKCSogcG8vZGEucG86CgkqIHBvL2VuX0dCLnBvOgoJKiBwby9lcy5wbzoKCSogcG8vZXUucG86CgkqIHBvL2ZpLnBvOgoJKiBwby9mci5wbzoKCSogcG8vaHUucG86CgkqIHBvL2lkLnBvOgoJKiBwby9pdC5wbzoKCSogcG8vamEucG86CgkqIHBvL2x0LnBvOgoJKiBwby9tdC5wbzoKCSogcG8vbmIucG86CgkqIHBvL25sLnBvOgoJKiBwby9vci5wbzoKCSogcG8vcGwucG86CgkqIHBvL3B0X0JSLnBvOgoJKiBwby9ydS5wbzoKCSogcG8vc2sucG86CgkqIHBvL3NxLnBvOgoJKiBwby9zci5wbzoKCSogcG8vc3YucG86CgkqIHBvL3VrLnBvOgoJKiBwby92aS5wbzoKCSogcG8vemhfQ04ucG86CgkqIHBvL3poX0hLLnBvOgoJKiBwby96aF9UVy5wbzoKCSAgVXBkYXRlIC5wbyBmaWxlcwoKMjAwOS0wNS0xNiAwMjo1OToxNCArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogQ2hhbmdlTG9nOgoJKiBjb25maWd1cmUuYWM6CgkqIHBvL2FmLnBvOgoJKiBwby9hei5wbzoKCSogcG8vYmcucG86CgkqIHBvL2NhLnBvOgoJKiBwby9jcy5wbzoKCSogcG8vZGEucG86CgkqIHBvL2VuX0dCLnBvOgoJKiBwby9lcy5wbzoKCSogcG8vZXUucG86CgkqIHBvL2ZpLnBvOgoJKiBwby9mci5wbzoKCSogcG8vaHUucG86CgkqIHBvL2lkLnBvOgoJKiBwby9pdC5wbzoKCSogcG8vamEucG86CgkqIHBvL2x0LnBvOgoJKiBwby9tdC5wbzoKCSogcG8vbmIucG86CgkqIHBvL25sLnBvOgoJKiBwby9vci5wbzoKCSogcG8vcGwucG86CgkqIHBvL3B0X0JSLnBvOgoJKiBwby9ydS5wbzoKCSogcG8vc2sucG86CgkqIHBvL3NxLnBvOgoJKiBwby9zci5wbzoKCSogcG8vc3YucG86CgkqIHBvL3VrLnBvOgoJKiBwby92aS5wbzoKCSogcG8vemhfQ04ucG86CgkqIHBvL3poX0hLLnBvOgoJKiBwby96aF9UVy5wbzoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICAwLjEwLjE0LjMgcHJlLXJlbGVhc2UKCjIwMDktMDUtMTYgMDI6Mzc6MDYgKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy9mbGFjZGVjLmM6CgkgIGNoZWNrOiBEb24ndCBjaGFuZ2UgZGlyZWN0b3J5IGluIHRoZSB0ZXN0CgkgIENoYW5naW5nIGRpcmVjdG9yeSBpbnZhbGlkYXRlcyB0aGUgcGF0aHMgdGhlIHJlZ2lzdHJ5IGhhcyBwaWNrZWQKCSAgdXAgZm9yIG91ciBwbHVnaW5zLCBiZWNhdXNlIHRoZSB0ZXN0IGVudmlyb25tZW50IHNwZWNpZmllcyByZWxhdGl2ZQoJICBwYXRocy4gRml4aW5nIHRoYXQgaXMgYSBzZXBhcmF0ZSBwcm9ibGVtLCBpbiB0aGUgbWVhbnRpbWUsIGJ1aWxkIGEKCSAgcGF0aCB0byB0aGUgdGVzdCBmaWxlcyBpbnN0ZWFkIG9mIGNoYW5naW5nIGRpcmVjdG9yeS4gRml4ZXMgdGhlCgkgIGRpc3RjaGVjay4KCjIwMDktMDUtMTYgMDE6NTM6NDYgKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIHdpbjMyL01BTklGRVNUOgoJICB3aW4zMjogUmVtb3ZlIGRpcmVjdGRyYXcgcHJvamVjdCBmaWxlcyBmcm9tIHRoZSB3aW4zMiBtYW5pZmVzdAoKMjAwOS0wNS0xNiAwMToyMTozNCArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcmdhbmFseXNpcy5jOgoJICBjaGVjazogUmVtb3ZlIGFzc2VydGlvbiB0aGF0IGJyZWFrcyBjaGVjayBhZ2FpbiBnaXQgbWFzdGVyCgkgIFJlbW92ZSB0aGUgYXNzZXJ0aW9uIHRoYXQgdGhlIHNlbmRlciBvZiB0aGUgdGFncyBtZXNzYWdlIGlzIHRoZQoJICBlbGVtZW50IHVudGlsIHdlIGRlY2lkZSB3aGV0aGVyIHRoYXQncyBnb2luZyB0byBiZSB0cnVlIG9yIG5vdC4KCjIwMDktMDUtMTYgMDE6MTE6MzMgKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kaXJlY3RkcmF3LnhtbDoKCSogc3lzL01ha2VmaWxlLmFtOgoJKiBzeXMvZGlyZWN0ZHJhdy9NYWtlZmlsZS5hbToKCSogc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3BsdWdpbi5jOgoJKiBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5jOgoJKiBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5oOgoJKiB3aW4zMi92czYvbGliZ3N0ZGlyZWN0ZHJhdy5kc3A6CgkqIHdpbjMyL3ZzNy9saWJnc3RkaXJlY3RkcmF3LnZjcHJvajoKCSogd2luMzIvdnM4L2xpYmdzdGRpcmVjdGRyYXcudmNwcm9qOgoJICBNb3ZlZCAnZGlyZWN0ZHJhdycgZnJvbSAtZ29vZCB0byAtYmFkCgoyMDA5LTA1LTE2IDAwOjE4OjM0ICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvLmdpdGlnbm9yZToKCSAgaWdub3JlczogSWdub3JlIHRoZSBmbGFjZGVjIGNoZWNrIGJpbmFyeQoKMjAwOS0wNS0xNiAwMDoxNzo1NyArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF2aS54bWw6CgkgIGRvY3M6IFVwZGF0ZSBpbnNwZWN0aW9uIGRldGFpbHMgZm9yIHRoZSBhdmkgcGx1Z2luCgoyMDA5LTA1LTE2IDAwOjAwOjA3ICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1kb2NzLnNnbWw6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teTRtZW5jLnhtbDoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzLy5naXRpZ25vcmU6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3k0bWVuYy5jOgoJICBNb3ZlZCAneTRtZW5jJyBmcm9tIC1iYWQgdG8gLWdvb2QKCjIwMDktMDUtMTMgMTc6NTU6NDYgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QveTRtL2dzdHk0bWVuY29kZS5jOgoJICBbTU9WRUQgRlJPTSBCQURdIHk0bWVuYzogY2hhbmdlIG15IGVtYWlsCgkgIGNoYW5nZSBteSBlbWFpbCB0byBzb21ldGhpbmcgbW9yZSBjdXJyZW50CgkgIFNlZSAjNTgwNzgzCgoyMDA5LTA1LTEzIDE3OjU0OjQ3ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3k0bS9nc3R5NG1lbmNvZGUuYzoKCSAgW01PVkVEIEZST00gQkFEXSB5NG1lbmM6IGRvbid0IHN0cmlwIHRpbWVzdGFtcHMKCSAgRml4ZXMgIzU4MjQ4MwoKMjAwOC0xMS0wNCAxMjo0MjozMCArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgW01PVkVEIEZST00gQkFEXSBEb24ndCBpbnN0YWxsIHN0YXRpYyBsaWJzIGZvciBwbHVnaW5zLiBGaXhlcyAjNTUwODUxIGZvciAtYmFkLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvYWxzYXNwZGlmL01ha2VmaWxlLmFtOgoJICAqIGV4dC9hbXJ3Yi9NYWtlZmlsZS5hbToKCSAgKiBleHQvYXBleHNpbmsvTWFrZWZpbGUuYW06CgkgICogZXh0L2FydHMvTWFrZWZpbGUuYW06CgkgICogZXh0L2FydHNkL01ha2VmaWxlLmFtOgoJICAqIGV4dC9hdWRpb2ZpbGUvTWFrZWZpbGUuYW06CgkgICogZXh0L2F1ZGlvcmVzYW1wbGUvTWFrZWZpbGUuYW06CgkgICogZXh0L2J6Mi9NYWtlZmlsZS5hbToKCSAgKiBleHQvY2RhdWRpby9NYWtlZmlsZS5hbToKCSAgKiBleHQvY2VsdC9NYWtlZmlsZS5hbToKCSAgKiBleHQvZGMxMzk0L01ha2VmaWxlLmFtOgoJICAqIGV4dC9kaXJhYy9NYWtlZmlsZS5hbToKCSAgKiBleHQvZGlyZWN0ZmIvTWFrZWZpbGUuYW06CgkgICogZXh0L2RpdngvTWFrZWZpbGUuYW06CgkgICogZXh0L2R0cy9NYWtlZmlsZS5hbToKCSAgKiBleHQvZmFhYy9NYWtlZmlsZS5hbToKCSAgKiBleHQvZmFhZC9NYWtlZmlsZS5hbToKCSAgKiBleHQvZ3NtL01ha2VmaWxlLmFtOgoJICAqIGV4dC9oZXJtZXMvTWFrZWZpbGUuYW06CgkgICogZXh0L2l2b3JiaXMvTWFrZWZpbGUuYW06CgkgICogZXh0L2phY2svTWFrZWZpbGUuYW06CgkgICogZXh0L2pwMmsvTWFrZWZpbGUuYW06CgkgICogZXh0L2xhZHNwYS9NYWtlZmlsZS5hbToKCSAgKiBleHQvbGNzL01ha2VmaWxlLmFtOgoJICAqIGV4dC9saWJmYW1lL01ha2VmaWxlLmFtOgoJICAqIGV4dC9saWJtbXMvTWFrZWZpbGUuYW06CgkgICogZXh0L21ldGFkYXRhL01ha2VmaWxlLmFtOgoJICAqIGV4dC9tcGVnMmVuYy9NYWtlZmlsZS5hbToKCSAgKiBleHQvbXBsZXgvTWFrZWZpbGUuYW06CgkgICogZXh0L211c2VwYWNrL01ha2VmaWxlLmFtOgoJICAqIGV4dC9tdXNpY2JyYWluei9NYWtlZmlsZS5hbToKCSAgKiBleHQvbXl0aHR2L01ha2VmaWxlLmFtOgoJICAqIGV4dC9uYXMvTWFrZWZpbGUuYW06CgkgICogZXh0L25lb24vTWFrZWZpbGUuYW06CgkgICogZXh0L29mYS9NYWtlZmlsZS5hbToKCSAgKiBleHQvcG9seXAvTWFrZWZpbGUuYW06CgkgICogZXh0L3Jlc2luZHZkL01ha2VmaWxlLmFtOgoJICAqIGV4dC9zZGwvTWFrZWZpbGUuYW06CgkgICogZXh0L3Nob3V0L01ha2VmaWxlLmFtOgoJICAqIGV4dC9zbmFwc2hvdC9NYWtlZmlsZS5hbToKCSAgKiBleHQvc25kZmlsZS9NYWtlZmlsZS5hbToKCSAgKiBleHQvc291bmR0b3VjaC9NYWtlZmlsZS5hbToKCSAgKiBleHQvc3BjL01ha2VmaWxlLmFtOgoJICAqIGV4dC9zd2ZkZWMvTWFrZWZpbGUuYW06CgkgICogZXh0L3Rhcmtpbi9NYWtlZmlsZS5hbToKCSAgKiBleHQvdGhlb3JhL01ha2VmaWxlLmFtOgoJICAqIGV4dC90aW1pZGl0eS9NYWtlZmlsZS5hbToKCSAgKiBleHQvdHdvbGFtZS9NYWtlZmlsZS5hbToKCSAgKiBleHQveDI2NC9NYWtlZmlsZS5hbToKCSAgKiBleHQveGluZS9NYWtlZmlsZS5hbToKCSAgKiBleHQveHZpZC9NYWtlZmlsZS5hbToKCSAgKiBnc3QtbGlicy9nc3QvYXBwL01ha2VmaWxlLmFtOgoJICAqIGdzdC1saWJzL2dzdC9kc2hvdy9NYWtlZmlsZS5hbToKCSAgKiBnc3QvYWlmZnBhcnNlL01ha2VmaWxlLmFtOgoJICAqIGdzdC9hcHAvTWFrZWZpbGUuYW06CgkgICogZ3N0L2F1ZGlvYnVmZmVyL01ha2VmaWxlLmFtOgoJICAqIGdzdC9iYXllci9NYWtlZmlsZS5hbToKCSAgKiBnc3QvY2R4YXBhcnNlL01ha2VmaWxlLmFtOgoJICAqIGdzdC9jaGFydC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvY29sb3JzcGFjZS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvZGNjcC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvZGVpbnRlcmxhY2UvTWFrZWZpbGUuYW06CgkgICogZ3N0L2RlaW50ZXJsYWNlMi9NYWtlZmlsZS5hbToKCSAgKiBnc3QvZHZkc3B1L01ha2VmaWxlLmFtOgoJICAqIGdzdC9mZXN0aXZhbC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvZmlsdGVyL01ha2VmaWxlLmFtOgoJICAqIGdzdC9mbGFjcGFyc2UvTWFrZWZpbGUuYW06CgkgICogZ3N0L2Zsdi9NYWtlZmlsZS5hbToKCSAgKiBnc3QvZ2FtZXMvTWFrZWZpbGUuYW06CgkgICogZ3N0L2gyNjRwYXJzZS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvbGlicmZiL01ha2VmaWxlLmFtOgoJICAqIGdzdC9taXhtYXRyaXgvTWFrZWZpbGUuYW06CgkgICogZ3N0L21vZHBsdWcvTWFrZWZpbGUuYW06CgkgICogZ3N0L21wZWcxc3lzL01ha2VmaWxlLmFtOgoJICAqIGdzdC9tcGVnNHZpZGVvcGFyc2UvTWFrZWZpbGUuYW06CgkgICogZ3N0L21wZWdkZW11eC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvbXBlZ3RzbXV4L01ha2VmaWxlLmFtOgoJICAqIGdzdC9tcGVndmlkZW9wYXJzZS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvbXZlL01ha2VmaWxlLmFtOgoJICAqIGdzdC9uc2YvTWFrZWZpbGUuYW06CgkgICogZ3N0L251dmRlbXV4L01ha2VmaWxlLmFtOgoJICAqIGdzdC9vdmVybGF5L01ha2VmaWxlLmFtOgoJICAqIGdzdC9wYXNzdGhyb3VnaC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvcGNhcHBhcnNlL01ha2VmaWxlLmFtOgoJICAqIGdzdC9wbGF5b25kZW1hbmQvTWFrZWZpbGUuYW06CgkgICogZ3N0L3Jhd3BhcnNlL01ha2VmaWxlLmFtOgoJICAqIGdzdC9yZWFsL01ha2VmaWxlLmFtOgoJICAqIGdzdC9ydGpwZWcvTWFrZWZpbGUuYW06CgkgICogZ3N0L3J0cG1hbmFnZXIvTWFrZWZpbGUuYW06CgkgICogZ3N0L3NjYWxldGVtcG8vTWFrZWZpbGUuYW06CgkgICogZ3N0L3NkcC9NYWtlZmlsZS5hbToKCSAgKiBnc3Qvc2VsZWN0b3IvTWFrZWZpbGUuYW06CgkgICogZ3N0L3Ntb290aC9NYWtlZmlsZS5hbToKCSAgKiBnc3Qvc21vb3Rod2F2ZS9NYWtlZmlsZS5hbToKCSAgKiBnc3Qvc3BlZWQvTWFrZWZpbGUuYW06CgkgICogZ3N0L3NwZWV4cmVzYW1wbGUvTWFrZWZpbGUuYW06CgkgICogZ3N0L3N0ZXJlby9NYWtlZmlsZS5hbToKCSAgKiBnc3Qvc3ViZW5jL01ha2VmaWxlLmFtOgoJICAqIGdzdC90dGEvTWFrZWZpbGUuYW06CgkgICogZ3N0L3ZiaWRlYy9NYWtlZmlsZS5hbToKCSAgKiBnc3QvdmlkZW9kcm9wL01ha2VmaWxlLmFtOgoJICAqIGdzdC92aWRlb3NpZ25hbC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvdmlydHVhbGR1Yi9NYWtlZmlsZS5hbToKCSAgKiBnc3Qvdm1uYy9NYWtlZmlsZS5hbToKCSAgKiBnc3QveTRtL01ha2VmaWxlLmFtOgoJICAqIHN5cy9hY21lbmMvTWFrZWZpbGUuYW06CgkgICogc3lzL2Nkcm9tL01ha2VmaWxlLmFtOgoJICAqIHN5cy9kc2hvd2RlY3dyYXBwZXIvTWFrZWZpbGUuYW06CgkgICogc3lzL2RzaG93c3Jjd3JhcHBlci9NYWtlZmlsZS5hbToKCSAgKiBzeXMvZHZiL01ha2VmaWxlLmFtOgoJICAqIHN5cy9keHIzL01ha2VmaWxlLmFtOgoJICAqIHN5cy9mYmRldi9NYWtlZmlsZS5hbToKCSAgKiBzeXMvb3NzNC9NYWtlZmlsZS5hbToKCSAgKiBzeXMvcWNhbS9NYWtlZmlsZS5hbToKCSAgKiBzeXMvcXR3cmFwcGVyL01ha2VmaWxlLmFtOgoJICAqIHN5cy92Y2QvTWFrZWZpbGUuYW06CgkgICogc3lzL3dpbmluZXQvTWFrZWZpbGUuYW06CgkgICogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICBEb24ndCBpbnN0YWxsIHN0YXRpYyBsaWJzIGZvciBwbHVnaW5zLiBGaXhlcyAjNTUwODUxIGZvciAtYmFkLgoKMjAwOC0wNi0yNiAxNTo1Mjo0MCArMDAwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJICBbTU9WRUQgRlJPTSBCQURdIEFkZCBkb2N1bWVudGF0aW9uIGZvciBZVVY0TVBFRzIgZW5jb2RlciBlbGVtZW50LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICAqIGdzdC95NG0vZ3N0eTRtZW5jb2RlLmM6CgkgIEFkZCBkb2N1bWVudGF0aW9uIGZvciBZVVY0TVBFRzIgZW5jb2RlciBlbGVtZW50LgoKMjAwNy0wNC0yNCAxNTo0OToxOCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIFtNT1ZFRCBGUk9NIEJBRF0gUGx1ZyBzb21lIGxlYWtzOyB0cnkgdG8gbWFrZSBidWlsZCBib3QgaGFwcHkgYWdhaW4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC95NG0vZ3N0eTRtZW5jb2RlLmM6IChnc3RfeTRtX2VuY29kZV9pbml0KSwKCSAgKGdzdF95NG1fZW5jb2RlX3NldGNhcHMpOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3k0bWVuYy5jOiAoR1NUX1NUQVJUX1RFU1QpOgoJICBQbHVnIHNvbWUgbGVha3M7IHRyeSB0byBtYWtlIGJ1aWxkIGJvdCBoYXBweSBhZ2Fpbi4KCjIwMDYtMTEtMTMgMTg6NTU6NTcgKzAwMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hbmF1d0Bza3luZXQuYmU+CgoJICBbTU9WRUQgRlJPTSBCQURdIGNvbmZpZ3VyZS5hYzogRW5hYmxlIGNkYXVkaW8gYW5kIHk0bS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBNYXJrIE5hdXdlbGFlcnRzIDxtYW5hdXcgYXQgc2t5bmV0IGJlPgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgRW5hYmxlIGNkYXVkaW8gYW5kIHk0bS4KCSAgKiBnc3QveTRtL01ha2VmaWxlLmFtOgoJICAqIGdzdC95NG0vZ3N0eTRtZW5jb2RlLmM6IChnc3RfeTRtX2VuY29kZV9iYXNlX2luaXQpLAoJICAoZ3N0X3k0bV9lbmNvZGVfY2xhc3NfaW5pdCksIChnc3RfeTRtX2VuY29kZV9pbml0KSwKCSAgKGdzdF95NG1fZW5jb2RlX3Jlc2V0KSwgKGdzdF95NG1fZW5jb2RlX3NldGNhcHMpLAoJICAoZ3N0X3k0bV9lbmNvZGVfZ2V0X3N0cmVhbV9oZWFkZXIpLAoJICAoZ3N0X3k0bV9lbmNvZGVfZ2V0X2ZyYW1lX2hlYWRlciksIChnc3RfeTRtX2VuY29kZV9jaGFpbiksCgkgIChnc3RfeTRtX2VuY29kZV9zZXRfcHJvcGVydHkpLCAoZ3N0X3k0bV9lbmNvZGVfZ2V0X3Byb3BlcnR5KSwKCSAgKGdzdF95NG1fZW5jb2RlX2NoYW5nZV9zdGF0ZSksIChwbHVnaW5faW5pdCk6CgkgICogZ3N0L3k0bS9nc3R5NG1lbmNvZGUuaDoKCSAgUG9ydCBvZiB5NG1lbmNvZGUgdG8gMC4xMC4KCjIwMDYtMDQtMjUgMjE6NTY6MzggKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIFtNT1ZFRCBGUk9NIEJBRF0gRGVmaW5lIEdzdEVsZW1lbnREZXRhaWxzIGFzIGNvbnN0IGFuZCBhbHNvIHN0YXRpYyAod2hlbiBkZWZpbmVkIGFzIGdsb2JhbCkKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2FtcndiL2dzdGFtcndiZGVjLmM6CgkgICogZXh0L2FtcndiL2dzdGFtcndiZW5jLmM6CgkgICogZXh0L2FtcndiL2dzdGFtcndicGFyc2UuYzoKCSAgKiBleHQvYXJ0cy9nc3RfYXJ0cy5jOgoJICAqIGV4dC9hcnRzZC9nc3RhcnRzZHNpbmsuYzoKCSAgKiBleHQvYXVkaW9maWxlL2dzdGFmcGFyc2UuYzoKCSAgKiBleHQvYXVkaW9maWxlL2dzdGFmc2luay5jOgoJICAqIGV4dC9hdWRpb2ZpbGUvZ3N0YWZzcmMuYzoKCSAgKiBleHQvYXVkaW9yZXNhbXBsZS9nc3RhdWRpb3Jlc2FtcGxlLmM6CgkgICogZXh0L2J6Mi9nc3RiejJkZWMuYzoKCSAgKiBleHQvYnoyL2dzdGJ6MmVuYy5jOgoJICAqIGV4dC9jZGF1ZGlvL2dzdGNkYXVkaW8uYzoKCSAgKiBleHQvZGlyZWN0ZmIvZGZidmlkZW9zaW5rLmM6CgkgICogZXh0L2RpdngvZ3N0ZGl2eGRlYy5jOgoJICAqIGV4dC9kaXZ4L2dzdGRpdnhlbmMuYzoKCSAgKiBleHQvZHRzL2dzdGR0c2RlYy5jOiAoZ3N0X2R0c2RlY19iYXNlX2luaXQpOgoJICAqIGV4dC9mYWFjL2dzdGZhYWMuYzogKGdzdF9mYWFjX2Jhc2VfaW5pdCk6CgkgICogZXh0L2ZhYWQvZ3N0ZmFhZC5jOgoJICAqIGV4dC9nc20vZ3N0Z3NtZGVjLmM6CgkgICogZXh0L2dzbS9nc3Rnc21lbmMuYzoKCSAgKiBleHQvaGVybWVzL2dzdGhlcm1lc2NvbG9yc3BhY2UuYzoKCSAgKiBleHQvaXZvcmJpcy92b3JiaXNmaWxlLmM6CgkgICogZXh0L2xjcy9nc3Rjb2xvcnNwYWNlLmM6CgkgICogZXh0L2xpYmZhbWUvZ3N0bGliZmFtZS5jOgoJICAqIGV4dC9saWJtbXMvZ3N0bW1zLmM6IChnc3RfbW1zX2Jhc2VfaW5pdCk6CgkgICogZXh0L211c2VwYWNrL2dzdG11c2VwYWNrZGVjLmM6IChnc3RfbXVzZXBhY2tkZWNfYmFzZV9pbml0KToKCSAgKiBleHQvbXVzaWNicmFpbnovZ3N0dHJtLmM6IChnc3RfbXVzaWNicmFpbnpfYmFzZV9pbml0KToKCSAgKiBleHQvbmFzL25hc3NpbmsuYzogKGdzdF9uYXNzaW5rX2Jhc2VfaW5pdCk6CgkgICogZXh0L25lb24vZ3N0bmVvbmh0dHBzcmMuYzoKCSAgKiBleHQvc2RsL3NkbGF1ZGlvc2luay5jOgoJICAqIGV4dC9zZGwvc2RsdmlkZW9zaW5rLmM6CgkgICogZXh0L3Nob3V0L2dzdHNob3V0LmM6CgkgICogZXh0L3NuYXBzaG90L2dzdHNuYXBzaG90LmM6CgkgICogZXh0L3NuZGZpbGUvZ3N0c2YuYzoKCSAgKiBleHQvc3dmZGVjL2dzdHN3ZmRlYy5jOgoJICAqIGV4dC90YXJraW4vZ3N0dGFya2luZGVjLmM6CgkgICogZXh0L3Rhcmtpbi9nc3R0YXJraW5lbmMuYzoKCSAgKiBleHQvdGhlb3JhL3RoZW9yYWRlYy5jOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tkZWMuYzogKGdzdF93YXZwYWNrX2RlY19iYXNlX2luaXQpOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2twYXJzZS5jOiAoZ3N0X3dhdnBhY2tfcGFyc2VfYmFzZV9pbml0KToKCSAgKiBleHQveHZpZC9nc3R4dmlkZGVjLmM6CgkgICogZXh0L3h2aWQvZ3N0eHZpZGVuYy5jOgoJICAqIGdzdC9jZHhhcGFyc2UvZ3N0Y2R4YXBhcnNlLmM6IChnc3RfY2R4YV9wYXJzZV9iYXNlX2luaXQpOgoJICAqIGdzdC9jZHhhcGFyc2UvZ3N0Y2R4YXN0cmlwLmM6IChnc3RfY2R4YXN0cmlwX2Jhc2VfaW5pdCk6CgkgICogZ3N0L2NoYXJ0L2dzdGNoYXJ0LmM6CgkgICogZ3N0L2NvbG9yc3BhY2UvZ3N0Y29sb3JzcGFjZS5jOgoJICAqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5jOgoJICAqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyLmM6IChnc3RfaWlyX2VxdWFsaXplcl9iYXNlX2luaXQpOgoJICAqIGdzdC9mZXN0aXZhbC9nc3RmZXN0aXZhbC5jOgoJICAqIGdzdC9maWx0ZXIvZ3N0YnB3c2luYy5jOgoJICAqIGdzdC9maWx0ZXIvZ3N0aWlyLmM6CgkgICogZ3N0L2ZpbHRlci9nc3RscHdzaW5jLmM6CgkgICogZ3N0L2ZyZWV6ZS9nc3RmcmVlemUuYzoKCSAgKiBnc3QvZ2FtZXMvZ3N0cHV6emxlLmM6IChnc3RfcHV6emxlX2Jhc2VfaW5pdCk6CgkgICogZ3N0L2xpYnJmYi9nc3RyZmJzcmMuYzoKCSAgKiBnc3QvbWl4bWF0cml4L21peG1hdHJpeC5jOgoJICAqIGdzdC9tcGVnMXN5cy9nc3RtcGVnMXN5c3RlbWVuY29kZS5jOgoJICAqIGdzdC9tcGVnMXZpZGVvcGFyc2UvZ3N0bXAxdmlkZW9wYXJzZS5jOgoJICAqIGdzdC9tcGVnMnN1Yi9nc3RtcGVnMnN1YnQuYzoKCSAgKiBnc3QvbXBlZ2F1ZGlvcGFyc2UvZ3N0bXBlZ2F1ZGlvcGFyc2UuYzoKCSAgKiBnc3QvbXVsdGlmaWxlc2luay9nc3RtdWx0aWZpbGVzaW5rLmM6CgkgICogZ3N0L292ZXJsYXkvZ3N0b3ZlcmxheS5jOgoJICAqIGdzdC9wYXNzdGhyb3VnaC9nc3RwYXNzdGhyb3VnaC5jOgoJICAqIGdzdC9wbGF5b25kZW1hbmQvZ3N0cGxheW9uZGVtYW5kLmM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICAqIGdzdC9ydGpwZWcvZ3N0cnRqcGVnZGVjLmM6CgkgICogZ3N0L3J0anBlZy9nc3RydGpwZWdlbmMuYzoKCSAgKiBnc3Qvc21vb3RoL2dzdHNtb290aC5jOgoJICAqIGdzdC9zbW9vdGh3YXZlL2dzdHNtb290aHdhdmUuYzoKCSAgKiBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uYzoKCSAgKiBnc3Qvc3BlZWQvZ3N0c3BlZWQuYzoKCSAgKiBnc3Qvc3RlcmVvL2dzdHN0ZXJlby5jOgoJICAqIGdzdC9zd2l0Y2gvZ3N0c3dpdGNoLmM6CgkgICogZ3N0L3R0YS9nc3R0dGFkZWMuYzogKGdzdF90dGFfZGVjX2Jhc2VfaW5pdCk6CgkgICogZ3N0L3R0YS9nc3R0dGFwYXJzZS5jOiAoZ3N0X3R0YV9wYXJzZV9iYXNlX2luaXQpOgoJICAqIGdzdC92YmlkZWMvZ3N0dmJpZGVjLmM6CgkgICogZ3N0L3ZpZGVvY3JvcC9nc3R2aWRlb2Nyb3AuYzoKCSAgKiBnc3QvdmlkZW9kcm9wL2dzdHZpZGVvZHJvcC5jOgoJICAqIGdzdC92aXJ0dWFsZHViL2dzdHhzaGFycGVuLmM6CgkgICogZ3N0L3hpbmdoZWFkZXIvZ3N0eGluZ211eC5jOiAoZ3N0X3hpbmdfbXV4X2Jhc2VfaW5pdCk6CgkgICogZ3N0L3k0bS9nc3R5NG1lbmNvZGUuYzoKCSAgKiBzeXMvY2Ryb20vZ3N0Y2RwbGF5ZXIuYzoKCSAgKiBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5jOgoJICAqIHN5cy9kaXJlY3Rzb3VuZC9nc3RkaXJlY3Rzb3VuZHNpbmsuYzoKCSAgKiBzeXMvZ2xzaW5rL2dsaW1hZ2VzaW5rLmM6CgkgICogc3lzL3FjYW0vZ3N0cWNhbXNyYy5jOgoJICAqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzoKCSAgKiBzeXMvdmNkL3ZjZHNyYy5jOiAoZ3N0X3ZjZHNyY19iYXNlX2luaXQpOgoJICAqIHN5cy94aW1hZ2VzcmMveGltYWdlc3JjLmM6CgkgIERlZmluZSBHc3RFbGVtZW50RGV0YWlscyBhcyBjb25zdCBhbmQgYWxzbyBzdGF0aWMgKHdoZW4gZGVmaW5lZCBhcwoJICBnbG9iYWwpCgoyMDA2LTA0LTA4IDIxOjQ4OjAxICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBbTU9WRUQgRlJPTSBCQURdIEZpeCAjMzM3MzY1IChnX3R5cGVfY2xhc3NfcmVmIDwtPiBnX3R5cGVfY2xhc3NfcGVla19wYXJlbnQpCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9hbXJ3Yi9nc3RhbXJ3YmRlYy5jOiAoZ3N0X2FtcndiZGVjX2NsYXNzX2luaXQpOgoJICAqIGV4dC9hbXJ3Yi9nc3RhbXJ3YmVuYy5jOiAoZ3N0X2FtcndiZW5jX2NsYXNzX2luaXQpOgoJICAqIGV4dC9hbXJ3Yi9nc3RhbXJ3YnBhcnNlLmM6IChnc3RfYW1yd2JwYXJzZV9jbGFzc19pbml0KToKCSAgKiBleHQvYXJ0cy9nc3RfYXJ0cy5jOiAoZ3N0X2FydHNfY2xhc3NfaW5pdCk6CgkgICogZXh0L2FydHNkL2dzdGFydHNkc2luay5jOiAoZ3N0X2FydHNkc2lua19jbGFzc19pbml0KToKCSAgKiBleHQvYXVkaW9maWxlL2dzdGFmc2luay5jOiAoZ3N0X2Fmc2lua19jbGFzc19pbml0KToKCSAgKiBleHQvYXVkaW9maWxlL2dzdGFmc3JjLmM6IChnc3RfYWZzcmNfY2xhc3NfaW5pdCk6CgkgICogZXh0L2F1ZGlvcmVzYW1wbGUvZ3N0YXVkaW9yZXNhbXBsZS5jOgoJICAqIGV4dC9jZGF1ZGlvL2dzdGNkYXVkaW8uYzogKGdzdF9jZGF1ZGlvX2NsYXNzX2luaXQpOgoJICAqIGV4dC9kaXJlY3RmYi9kZmJ2aWRlb3NpbmsuYzogKGdzdF9kZmJ2aWRlb3NpbmtfY2xhc3NfaW5pdCk6CgkgICogZXh0L2RpdngvZ3N0ZGl2eGRlYy5jOiAoZ3N0X2RpdnhkZWNfY2xhc3NfaW5pdCk6CgkgICogZXh0L2hlcm1lcy9nc3RoZXJtZXNjb2xvcnNwYWNlLmM6CgkgIChnc3RfaGVybWVzX2NvbG9yc3BhY2VfY2xhc3NfaW5pdCk6CgkgICogZXh0L2l2b3JiaXMvdm9yYmlzZmlsZS5jOiAoZ3N0X2l2b3JiaXNmaWxlX2NsYXNzX2luaXQpOgoJICAqIGV4dC9qYWNrL2dzdGphY2suYzogKGdzdF9qYWNrX2NsYXNzX2luaXQpOgoJICAqIGV4dC9qYWNrL2dzdGphY2tiaW4uYzogKGdzdF9qYWNrX2Jpbl9jbGFzc19pbml0KToKCSAgKiBleHQvbGNzL2dzdGNvbG9yc3BhY2UuYzogKGdzdF9jb2xvcnNwYWNlX2NsYXNzX2luaXQpOgoJICAqIGV4dC9saWJmYW1lL2dzdGxpYmZhbWUuYzogKGdzdF9mYW1lZW5jX2NsYXNzX2luaXQpOgoJICAqIGV4dC9tdXNpY2JyYWluei9nc3R0cm0uYzogKGdzdF9tdXNpY2JyYWluel9jbGFzc19pbml0KToKCSAgKiBleHQvbmFzL25hc3NpbmsuYzogKGdzdF9uYXNzaW5rX2NsYXNzX2luaXQpOgoJICAqIGV4dC9zaG91dC9nc3RzaG91dC5jOiAoZ3N0X2ljZWNhc3RzZW5kX2NsYXNzX2luaXQpOgoJICAqIGV4dC9zbmFwc2hvdC9nc3RzbmFwc2hvdC5jOiAoZ3N0X3NuYXBzaG90X2NsYXNzX2luaXQpOgoJICAqIGV4dC9zbmRmaWxlL2dzdHNmLmM6IChnc3Rfc2ZfY2xhc3NfaW5pdCk6CgkgICogZXh0L3N3ZmRlYy9nc3Rzd2ZkZWMuYzogKGdzdF9zd2ZkZWNidWZmZXJfY2xhc3NfaW5pdCksCgkgIChnc3Rfc3dmZGVjX2NsYXNzX2luaXQpOgoJICAqIGV4dC90YXJraW4vZ3N0dGFya2luZGVjLmM6IChnc3RfdGFya2luZGVjX2NsYXNzX2luaXQpOgoJICAqIGV4dC90YXJraW4vZ3N0dGFya2luZW5jLmM6IChnc3RfdGFya2luZW5jX2NsYXNzX2luaXQpOgoJICAqIGdzdC9jZHhhcGFyc2UvZ3N0Y2R4YXN0cmlwLmM6IChnc3RfY2R4YXN0cmlwX2NsYXNzX2luaXQpOgoJICAqIGdzdC9jaGFydC9nc3RjaGFydC5jOiAoZ3N0X2NoYXJ0X2NsYXNzX2luaXQpOgoJICAqIGdzdC9jb2xvcnNwYWNlL2dzdGNvbG9yc3BhY2UuYzogKGdzdF9jb2xvcnNwYWNlX2NsYXNzX2luaXQpOgoJICAqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5jOiAoZ3N0X2RlaW50ZXJsYWNlX2NsYXNzX2luaXQpOgoJICAqIGdzdC9mZXN0aXZhbC9nc3RmZXN0aXZhbC5jOiAoZ3N0X2Zlc3RpdmFsX2NsYXNzX2luaXQpOgoJICAqIGdzdC9maWx0ZXIvZ3N0YnB3c2luYy5jOiAoZ3N0X2Jwd3NpbmNfY2xhc3NfaW5pdCk6CgkgICogZ3N0L2ZpbHRlci9nc3RpaXIuYzogKGdzdF9paXJfY2xhc3NfaW5pdCk6CgkgICogZ3N0L2ZpbHRlci9nc3RscHdzaW5jLmM6IChnc3RfbHB3c2luY19jbGFzc19pbml0KToKCSAgKiBnc3QvbGlicmZiL2dzdHJmYnNyYy5jOiAoZ3N0X3JmYnNyY19jbGFzc19pbml0KToKCSAgKiBnc3QvbWl4bWF0cml4L21peG1hdHJpeC5jOiAoZ3N0X21peG1hdHJpeF9jbGFzc19pbml0KToKCSAgKiBnc3QvbXBlZzFzeXMvZ3N0bXBlZzFzeXN0ZW1lbmNvZGUuYzoKCSAgKGdzdF9zeXN0ZW1fZW5jb2RlX2NsYXNzX2luaXQpOgoJICAqIGdzdC9tcGVnMXZpZGVvcGFyc2UvZ3N0bXAxdmlkZW9wYXJzZS5jOgoJICAoZ3N0X21wMXZpZGVvcGFyc2VfY2xhc3NfaW5pdCk6CgkgICogZ3N0L21wZWcyc3ViL2dzdG1wZWcyc3VidC5jOiAoZ3N0X21wZWcyc3VidF9jbGFzc19pbml0KToKCSAgKiBnc3QvbXBlZ2F1ZGlvcGFyc2UvZ3N0bXBlZ2F1ZGlvcGFyc2UuYzoKCSAgKGdzdF9tcDNwYXJzZV9jbGFzc19pbml0KToKCSAgKiBnc3Qvb3ZlcmxheS9nc3RvdmVybGF5LmM6IChnc3Rfb3ZlcmxheV9jbGFzc19pbml0KToKCSAgKiBnc3QvcGFzc3Rocm91Z2gvZ3N0cGFzc3Rocm91Z2guYzogKHBhc3N0aHJvdWdoX2NsYXNzX2luaXQpOgoJICAqIGdzdC9wbGF5b25kZW1hbmQvZ3N0cGxheW9uZGVtYW5kLmM6IChwbGF5X29uX2RlbWFuZF9jbGFzc19pbml0KToKCSAgKiBnc3QvcnRqcGVnL2dzdHJ0anBlZ2RlYy5jOiAoZ3N0X3J0anBlZ2RlY19jbGFzc19pbml0KToKCSAgKiBnc3QvcnRqcGVnL2dzdHJ0anBlZ2VuYy5jOiAoZ3N0X3J0anBlZ2VuY19jbGFzc19pbml0KToKCSAgKiBnc3Qvc21vb3RoL2dzdHNtb290aC5jOiAoZ3N0X3Ntb290aF9jbGFzc19pbml0KToKCSAgKiBnc3Qvc21vb3Rod2F2ZS9nc3RzbW9vdGh3YXZlLmM6IChnc3Rfc21vb3Rod2F2ZV9jbGFzc19pbml0KToKCSAgKiBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uYzogKGdzdF9zcGVjdHJ1bV9jbGFzc19pbml0KToKCSAgKiBnc3Qvc3RlcmVvL2dzdHN0ZXJlby5jOiAoZ3N0X3N0ZXJlb19jbGFzc19pbml0KToKCSAgKiBnc3Qvc3dpdGNoL2dzdHN3aXRjaC5jOiAoZ3N0X3N3aXRjaF9jbGFzc19pbml0KToKCSAgKiBnc3QvdHRhL2dzdHR0YWRlYy5jOiAoZ3N0X3R0YV9kZWNfY2xhc3NfaW5pdCk6CgkgICogZ3N0L3R0YS9nc3R0dGFwYXJzZS5jOiAoZ3N0X3R0YV9wYXJzZV9jbGFzc19pbml0KToKCSAgKiBnc3QvdmJpZGVjL2dzdHZiaWRlYy5jOiAoZ3N0X3ZiaWRlY19jbGFzc19pbml0KToKCSAgKiBnc3QvdmlkZW9jcm9wL2dzdHZpZGVvY3JvcC5jOiAoZ3N0X3ZpZGVvX2Nyb3BfY2xhc3NfaW5pdCk6CgkgICogZ3N0L3ZpcnR1YWxkdWIvZ3N0eHNoYXJwZW4uYzogKGdzdF94c2hhcnBlbl9jbGFzc19pbml0KToKCSAgKiBnc3QveTRtL2dzdHk0bWVuY29kZS5jOiAoZ3N0X3k0bWVuY29kZV9jbGFzc19pbml0KToKCSAgKiBzeXMvY2Ryb20vZ3N0Y2RwbGF5ZXIuYzogKGNkcGxheWVyX2NsYXNzX2luaXQpOgoJICAqIHN5cy9kaXJlY3Rzb3VuZC9nc3RkaXJlY3Rzb3VuZHNpbmsuYzoKCSAgKGdzdF9kaXJlY3Rzb3VuZHNpbmtfY2xhc3NfaW5pdCk6CgkgICogc3lzL2R4cjMvZHhyM2F1ZGlvc2luay5jOiAoZHhyM2F1ZGlvc2lua19jbGFzc19pbml0KToKCSAgKiBzeXMvZHhyMy9keHIzc3B1c2luay5jOiAoZHhyM3NwdXNpbmtfY2xhc3NfaW5pdCk6CgkgICogc3lzL2R4cjMvZHhyM3ZpZGVvc2luay5jOiAoZHhyM3ZpZGVvc2lua19jbGFzc19pbml0KToKCSAgKiBzeXMvcWNhbS9nc3RxY2Ftc3JjLmM6IChnc3RfcWNhbXNyY19jbGFzc19pbml0KToKCSAgKiBzeXMvdjRsMi9nc3R2NGwyY29sb3JiYWxhbmNlLmM6CgkgIChnc3RfdjRsMl9jb2xvcl9iYWxhbmNlX2NoYW5uZWxfY2xhc3NfaW5pdCk6CgkgICogc3lzL3Y0bDIvZ3N0djRsMnR1bmVyLmM6IChnc3RfdjRsMl90dW5lcl9jaGFubmVsX2NsYXNzX2luaXQpLAoJICAoZ3N0X3Y0bDJfdHVuZXJfbm9ybV9jbGFzc19pbml0KToKCSAgKiBzeXMveGltYWdlc3JjL3hpbWFnZXNyYy5jOiAoZ3N0X3hpbWFnZXNyY19jbGFzc19pbml0KToKCSAgRml4ICMzMzczNjUgKGdfdHlwZV9jbGFzc19yZWYgPC0+IGdfdHlwZV9jbGFzc19wZWVrX3BhcmVudCkKCjIwMDYtMDQtMDggMTk6MDQ6MDEgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIFtNT1ZFRCBGUk9NIEJBRF0gZ3N0LzogRml4IG1vcmUgYnJva2VuIEdPYmplY3QgbWFjcm9zCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9jb2xvcnNwYWNlL2dzdGNvbG9yc3BhY2UuaDoKCSAgKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuaDoKCSAgKiBnc3QvcGFzc3Rocm91Z2gvZ3N0cGFzc3Rocm91Z2guaDoKCSAgKiBnc3QveTRtL2dzdHk0bWVuY29kZS5oOgoJICBGaXggbW9yZSBicm9rZW4gR09iamVjdCBtYWNyb3MKCjIwMDYtMDQtMDYgMTE6MzU6MjYgKzAwMDAgIGpAYm9vdGxhYi5vcmcgPGpAYm9vdGxhYi5vcmc+CgoJICBbTU9WRUQgRlJPTSBCQURdIFVuaWZ5IHRoZSBsb25nIGRlc2NyaXB0aW9ucyBpbiB0aGUgcGx1Z2luIGRldGFpbHMgKCMzMzcyNjMpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IGpeICA8aiBhdCBib290bGFiIGRvdCBvcmc+CgkgICogZXh0L2FtcndiL2dzdGFtcndiZGVjLmM6CgkgICogZXh0L2FtcndiL2dzdGFtcndiZW5jLmM6CgkgICogZXh0L2FtcndiL2dzdGFtcndicGFyc2UuYzoKCSAgKiBleHQvYXJ0cy9nc3RfYXJ0cy5jOgoJICAqIGV4dC9hcnRzZC9nc3RhcnRzZHNpbmsuYzoKCSAgKiBleHQvYXVkaW9maWxlL2dzdGFmcGFyc2UuYzoKCSAgKiBleHQvYXVkaW9maWxlL2dzdGFmc2luay5jOgoJICAqIGV4dC9hdWRpb2ZpbGUvZ3N0YWZzcmMuYzoKCSAgKiBleHQvY2RhdWRpby9nc3RjZGF1ZGlvLmM6CgkgICogZXh0L2RpcmVjdGZiL2RmYnZpZGVvc2luay5jOgoJICAqIGV4dC9kaXZ4L2dzdGRpdnhkZWMuYzoKCSAgKiBleHQvZGl2eC9nc3RkaXZ4ZW5jLmM6CgkgICogZXh0L2R0cy9nc3RkdHNkZWMuYzogKGdzdF9kdHNkZWNfYmFzZV9pbml0KToKCSAgKiBleHQvZmFhYy9nc3RmYWFjLmM6IChnc3RfZmFhY19iYXNlX2luaXQpOgoJICAqIGV4dC9mYWFkL2dzdGZhYWQuYzoKCSAgKiBleHQvZ3NtL2dzdGdzbWRlYy5jOgoJICAqIGV4dC9nc20vZ3N0Z3NtZW5jLmM6CgkgICogZXh0L2hlcm1lcy9nc3RoZXJtZXNjb2xvcnNwYWNlLmM6CgkgICogZXh0L2l2b3JiaXMvdm9yYmlzZmlsZS5jOgoJICAqIGV4dC9sY3MvZ3N0Y29sb3JzcGFjZS5jOgoJICAqIGV4dC9saWJmYW1lL2dzdGxpYmZhbWUuYzoKCSAgKiBleHQvbGlibW1zL2dzdG1tcy5jOiAoZ3N0X21tc19iYXNlX2luaXQpOgoJICAqIGV4dC9tdXNpY2JyYWluei9nc3R0cm0uYzogKGdzdF9tdXNpY2JyYWluel9iYXNlX2luaXQpOgoJICAqIGV4dC9uYXMvbmFzc2luay5jOiAoZ3N0X25hc3NpbmtfYmFzZV9pbml0KToKCSAgKiBleHQvbmVvbi9nc3RuZW9uaHR0cHNyYy5jOgoJICAqIGV4dC9wb2x5cC9wb2x5cHNpbmsuYzogKGdzdF9wb2x5cHNpbmtfYmFzZV9pbml0KToKCSAgKiBleHQvc2RsL3NkbGF1ZGlvc2luay5jOgoJICAqIGV4dC9zZGwvc2RsdmlkZW9zaW5rLmM6CgkgICogZXh0L3Nob3V0L2dzdHNob3V0LmM6CgkgICogZXh0L3NuYXBzaG90L2dzdHNuYXBzaG90LmM6CgkgICogZXh0L3NuZGZpbGUvZ3N0c2YuYzoKCSAgKiBleHQvdGFya2luL2dzdHRhcmtpbmRlYy5jOgoJICAqIGV4dC90YXJraW4vZ3N0dGFya2luZW5jLmM6CgkgICogZXh0L3RoZW9yYS90aGVvcmFkZWMuYzoKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZGVjLmM6IChnc3Rfd2F2cGFja19kZWNfYmFzZV9pbml0KToKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrcGFyc2UuYzogKGdzdF93YXZwYWNrX3BhcnNlX2Jhc2VfaW5pdCk6CgkgICogZXh0L3h2aWQvZ3N0eHZpZGRlYy5jOgoJICAqIGV4dC94dmlkL2dzdHh2aWRlbmMuYzoKCSAgKiBnc3QvY2R4YXBhcnNlL2dzdGNkeGFwYXJzZS5jOiAoZ3N0X2NkeGFfcGFyc2VfYmFzZV9pbml0KToKCSAgKiBnc3QvY2R4YXBhcnNlL2dzdGNkeGFzdHJpcC5jOiAoZ3N0X2NkeGFzdHJpcF9iYXNlX2luaXQpOgoJICAqIGdzdC9jaGFydC9nc3RjaGFydC5jOgoJICAqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyLmM6IChnc3RfaWlyX2VxdWFsaXplcl9iYXNlX2luaXQpOgoJICAqIGdzdC9mZXN0aXZhbC9nc3RmZXN0aXZhbC5jOgoJICAqIGdzdC9maWx0ZXIvZ3N0aWlyLmM6CgkgICogZ3N0L2ZpbHRlci9nc3RscHdzaW5jLmM6CgkgICogZ3N0L2ZyZWV6ZS9nc3RmcmVlemUuYzoKCSAgKiBnc3QvZ2FtZXMvZ3N0cHV6emxlLmM6IChnc3RfcHV6emxlX2Jhc2VfaW5pdCk6CgkgICogZ3N0L21peG1hdHJpeC9taXhtYXRyaXguYzoKCSAgKiBnc3QvbXBlZzFzeXMvZ3N0bXBlZzFzeXN0ZW1lbmNvZGUuYzoKCSAgKiBnc3QvbXBlZzF2aWRlb3BhcnNlL2dzdG1wMXZpZGVvcGFyc2UuYzoKCSAgKiBnc3QvbXBlZzJzdWIvZ3N0bXBlZzJzdWJ0LmM6CgkgICogZ3N0L21wZWdhdWRpb3BhcnNlL2dzdG1wZWdhdWRpb3BhcnNlLmM6CgkgICogZ3N0L211bHRpZmlsZXNpbmsvZ3N0bXVsdGlmaWxlc2luay5jOgoJICAqIGdzdC9vdmVybGF5L2dzdG92ZXJsYXkuYzoKCSAgKiBnc3QvcGFzc3Rocm91Z2gvZ3N0cGFzc3Rocm91Z2guYzoKCSAgKiBnc3QvcGxheW9uZGVtYW5kL2dzdHBsYXlvbmRlbWFuZC5jOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgKiBnc3QvcnRqcGVnL2dzdHJ0anBlZ2RlYy5jOgoJICAqIGdzdC9ydGpwZWcvZ3N0cnRqcGVnZW5jLmM6CgkgICogZ3N0L3Ntb290aC9nc3RzbW9vdGguYzoKCSAgKiBnc3QvdHRhL2dzdHR0YWRlYy5jOiAoZ3N0X3R0YV9kZWNfYmFzZV9pbml0KToKCSAgKiBnc3QvdHRhL2dzdHR0YXBhcnNlLmM6IChnc3RfdHRhX3BhcnNlX2Jhc2VfaW5pdCk6CgkgICogZ3N0L3ZpZGVvY3JvcC9nc3R2aWRlb2Nyb3AuYzoKCSAgKiBnc3QvdmlkZW9kcm9wL2dzdHZpZGVvZHJvcC5jOgoJICAqIGdzdC92aXJ0dWFsZHViL2dzdHhzaGFycGVuLmM6CgkgICogZ3N0L3hpbmdoZWFkZXIvZ3N0eGluZ211eC5jOiAoZ3N0X3hpbmdfbXV4X2Jhc2VfaW5pdCk6CgkgICogZ3N0L3k0bS9nc3R5NG1lbmNvZGUuYzoKCSAgVW5pZnkgdGhlIGxvbmcgZGVzY3JpcHRpb25zIGluIHRoZSBwbHVnaW4gZGV0YWlscyAoIzMzNzI2MykuCgoyMDA2LTA0LTAxIDEwOjA5OjExICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIGdzdC95NG0vZ3N0eTRtZW5jb2RlLmM6CgkgIFtNT1ZFRCBGUk9NIEJBRF0gcmV3b3JrIGJ1aWxkOyBhZGQgdHJhbnNsYXRpb25zIGZvciB2NGwyCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICByZXdvcmsgYnVpbGQ7IGFkZCB0cmFuc2xhdGlvbnMgZm9yIHY0bDIKCjIwMDUtMDktMDUgMTc6MjA6MjkgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSogZ3N0L3k0bS9nc3R5NG1lbmNvZGUuYzoKCSAgW01PVkVEIEZST00gQkFEXSBGaXggdXAgYWxsIHRoZSBzdGF0ZSBjaGFuZ2UgZnVuY3Rpb25zLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgRml4IHVwIGFsbCB0aGUgc3RhdGUgY2hhbmdlIGZ1bmN0aW9ucy4KCjIwMDUtMDctMDUgMTA6NTE6NDkgKzAwMDAgIEFuZHkgV2luZ28gPHdpbmdvQHBvYm94LmNvbT4KCgkgIFtNT1ZFRCBGUk9NIEJBRF0gV2F5LCB3YXksIHdheSB0b28gbWFueSBmaWxlczogUmVtb3ZlIGNyYWNrIGNvbW1lbnQgZnJvbSB0aGUgMjAwMCBlcmEuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA1LTA3LTA1ICBBbmR5IFdpbmdvICA8d2luZ29AcG9ib3guY29tPgoJICAqIFdheSwgd2F5LCB3YXkgdG9vIG1hbnkgZmlsZXM6CgkgIFJlbW92ZSBjcmFjayBjb21tZW50IGZyb20gdGhlIDIwMDAgZXJhLgoKMjAwNS0wMS0xNCAxODozNjo0MiArMDAwMCAgU3TDqXBoYW5lIExvZXVpbGxldCA8Z3N0cmVhbWVyQGxlcm91dGllci5uZXQ+CgoJICBbTU9WRUQgRlJPTSBCQURdIEknbSBhIGJhZCBib3kuIHVzaW5nIC8xMDAxLiB0byBmb3JjZSBDIHRvIGRvIGZsb2F0IGRpdmlzaW9uIGFuZCBub3QgaW50ZWdlciBkaXZpc2lvbiAoYXMgaXQgZGlkIGluIG15IGxhc3QgY29tbWl0KQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZHYvZ3N0ZHZkZWMuYzoKCSAgKiBnc3Qvc3VicGFyc2UvZ3N0c3VicGFyc2UuYzogKHBhcnNlX21kdmRzdWIpOgoJICAqIGdzdC95NG0vZ3N0eTRtZW5jb2RlLmM6IChnc3RfeTRtZW5jb2RlX3Npbmtjb25uZWN0KToKCSAgSSdtIGEgYmFkIGJveS4gdXNpbmcgLzEwMDEuIHRvIGZvcmNlIEMgdG8gZG8gZmxvYXQgZGl2aXNpb24KCSAgYW5kIG5vdCBpbnRlZ2VyIGRpdmlzaW9uIChhcyBpdCBkaWQgaW4gbXkgbGFzdCBjb21taXQpCgkgIFRoYW5rcyB0byBEYXZpZCBJLiBMZWhuIGZvciBwb2ludGluZyB0aGlzIG1pc3Rha2UuCgoyMDA1LTAxLTE0IDEyOjI3OjIyICswMDAwICBTdMOpcGhhbmUgTG9ldWlsbGV0IDxnc3RyZWFtZXJAbGVyb3V0aWVyLm5ldD4KCgkgIFtNT1ZFRCBGUk9NIEJBRF0gcmVwbGFjZSBmcmFtZXJhdGUgYXByb3hpbWF0aW9ucyBieSB0aGVpciByZWFsIHZhbHVlICgyNDAwMC8xMDAxLCAzMDAwMC8xMDAxLCA2MDAwMC8xMDAxKQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZHYvZ3N0ZHZkZWMuYzoKCSAgKiBleHQvbGliZmFtZS9nc3RsaWJmYW1lLmM6CgkgICogZ3N0L3N1YnBhcnNlL2dzdHN1YnBhcnNlLmM6IChwYXJzZV9tZHZkc3ViKToKCSAgKiBnc3QveTRtL2dzdHk0bWVuY29kZS5jOiAoZ3N0X3k0bWVuY29kZV9zaW5rY29ubmVjdCk6CgkgIHJlcGxhY2UgZnJhbWVyYXRlIGFwcm94aW1hdGlvbnMgYnkgdGhlaXIgcmVhbCB2YWx1ZQoJICAoMjQwMDAvMTAwMSwgMzAwMDAvMTAwMSwgNjAwMDAvMTAwMSkKCSAgRmluaXNoIGZpeGluZyBidWcgIzE2NDA0OQoKMjAwNC0wNy0yNyAyMTo0MTozMCArMDAwMCAgU3RldmUgTGhvbW1lIDxzdGV2ZS5saG9tbWVAZnJlZS5mcj4KCgkqIGdzdC95NG0veTRtZW5jLnZjcHJvajoKCSAgW01PVkVEIEZST00gQkFEXSBtb3JlIHdvcmtpbmcgcGx1Z2lucwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgbW9yZSB3b3JraW5nIHBsdWdpbnMKCjIwMDQtMDctMjcgMDk6NTc6MzMgKzAwMDAgIFN0ZXZlIExob21tZSA8c3RldmUubGhvbW1lQGZyZWUuZnI+CgoJKiBnc3QveTRtL3k0bWVuYy52Y3Byb2o6CgkgIFtNT1ZFRCBGUk9NIEJBRF0gcmVuYW1lIEdTdHJlYW1lci0wLjgubGliIHRvIGxpYmdzdHJlYW1lci5saWIKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHJlbmFtZSBHU3RyZWFtZXItMC44LmxpYiB0byBsaWJnc3RyZWFtZXIubGliCgoyMDA0LTA3LTI3IDA5OjQ4OjUxICswMDAwICBTdGV2ZSBMaG9tbWUgPHN0ZXZlLmxob21tZUBmcmVlLmZyPgoKCSogZ3N0L3k0bS95NG1lbmMudmNwcm9qOgoJICBbTU9WRUQgRlJPTSBCQURdIGF2b2lkIHByb2JsZW1zIHdpdGggbWF0aC5oLCBmaXggcmVsZWFzZSBkZXBlbmRhbmN5CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBhdm9pZCBwcm9ibGVtcyB3aXRoIG1hdGguaCwgZml4IHJlbGVhc2UgZGVwZW5kYW5jeQoKMjAwNC0wNy0yNiAxMzoyMDoxMSArMDAwMCAgU3RldmUgTGhvbW1lIDxzdGV2ZS5saG9tbWVAZnJlZS5mcj4KCgkqIGdzdC95NG0veTRtZW5jLnZjcHJvajoKCSAgW01PVkVEIEZST00gQkFEXSBtb3JlIHBsdWdpbnMgc3VwcG9ydGVkIHVuZGVyIHdpbmRvd3MKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIG1vcmUgcGx1Z2lucyBzdXBwb3J0ZWQgdW5kZXIgd2luZG93cwoKMjAwNC0wNC0wMSAxMTo0ODoyNyArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJKiBnc3QveTRtL2dzdHk0bWVuY29kZS5jOgoJICBbTU9WRUQgRlJPTSBCQURdIGE1MmRlYzogICBVc2UgYSBkZWJ1ZyBjYXRlZ29yeSwgT3V0cHV0IHRpbWVzdGFtcHMgY29ycmVjdGx5CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBhNTJkZWM6ICAgVXNlIGEgZGVidWcgY2F0ZWdvcnksIE91dHB1dCB0aW1lc3RhbXBzIGNvcnJlY3RseQoJICBFbWl0IHRhZyBpbmZvLCBIYW5kbGUgZXZlbnRzLCB0ZWxsIGxpYmE1MmRlYyBhYm91dCBjcHUKCSAgY2FwYWJpbGl0aWVzIHNvIGl0IGNhbiB1c2UgTU1YIGV0Yy4KCSAgZHZkZWM6ICAgIEZpeCBhIGNyYXNoZXIgYWNjZXNzaW5nIGludmFsaWQgbWVtb3J5CgkgIGR2ZG5hdnNyYzpTb21lIHN1cHBvcnQgZm9yIGJ5dGUtZm9ybWF0IHNlZWtpbmcuCgkgIFNtYWxsIGZpeGVzIGZvciBzdGlsbCBmcmFtZXMgYW5kIG1lbnUgYnV0dG9uIG92ZXJsYXlzCgkgIG1wZWcyZGVjOiBVc2UgYSBkZWJ1ZyBjYXRlZ29yeS4gQWRqdXN0IHRoZSByZXBvcnQgbGV2ZWwgb2Ygc2V2ZXJhbCBpdGVtcyB0bwoJICBMT0cuIENhbGwgbXBlZzJfY3VzdG9tX2ZidWYgdG8gbWFyayBvdXIgYnVmZmVycyBhcyAnY3VzdG9tIGJ1ZmZlcnMnCgkgIHNvIGl0IGRvZXNuJ3QgbG9zZSB0aGUgR3N0QnVmZmVyIHBvaW50ZXIKCSAgbmF2c2VlazogIEFkZCB0aGUgbmF2c2VlayBkZWJ1ZyBlbGVtZW50IGZvciBzZWVraW5nIGJhY2sgYW5kIGZvcnRoIGluIGEKCSAgdmlkZW8gc3RyZWFtIHVzaW5nIGFycm93IGtleXMuCgkgIG1wZWcyc3VidDpQcmV0dHkgbXVjaCBhIGNvbXBsZXRlIHJld3JpdGUuIE5vdyBhIGxvb3BiYXNlZCBlbGVtZW50LiBNYXkgc3RpbGwKCSAgcmVxdWlyZSB3b3JrIHRvIHByb3Blcmx5IHN5bmNocm9uaXNlIHN1YnRpdGxlIGJ1ZmZlcnMuCgkgIG1wZWdkZW11eDoKCSAgZHZkZGVtdXg6IERvbid0IGF0dGVtcHQgdG8gY3JlYXRlIHN1YmJ1ZmZlcnMgb2Ygc2l6ZSAwCgkgIFJlZHVjZSBhIGNvdXBsZSBvZiBlcnJvciBvdXRwdXRzIHRvIHdhcm5pbmdzLgoJICB5NG1lbmNvZGU6T3V0cHV0IHRoZSB5NG0gZnJhbWUgaGVhZGVyIGNvcnJlY3RseQoKMjAwNC0wMy0xNSAxOTozMjoyNyArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBnc3QveTRtL2dzdHk0bWVuY29kZS5jOgoJICBbTU9WRUQgRlJPTSBCQURdIGRvbid0IG1peCB0YWJzIGFuZCBzcGFjZXMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGRvbid0IG1peCB0YWJzIGFuZCBzcGFjZXMKCjIwMDQtMDMtMTUgMTY6MzI6NTQgKzAwMDAgIEpvaGFuIERhaGxpbiA8am9oYW5AZ25vbWUub3JnPgoKCSAgW01PVkVEIEZST00gQkFEXSAqLmg6IFJldmVydCBpbmRlbnRpbmcKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogKi5oOiBSZXZlcnQgaW5kZW50aW5nCgoyMDA0LTAzLTE0IDIyOjM0OjMzICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIGdzdC95NG0vZ3N0eTRtZW5jb2RlLmM6CgkqIGdzdC95NG0vZ3N0eTRtZW5jb2RlLmg6CgkgIFtNT1ZFRCBGUk9NIEJBRF0gZ3N0LWluZGVudAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgZ3N0LWluZGVudAoKMjAwNC0wMS0xMiAwMjowMTo1MiArMDAwMCAgQmVuamFtaW4gT3R0ZSA8b3R0ZUBnbm9tZS5vcmc+CgoJICBbTU9WRUQgRlJPTSBCQURdIGdzdC1saWJzL2dzdC92aWRlby92aWRlby5oOiBGaXggY2FwcyB0ZW1wbGF0ZSBuYW1lcyB0byBiZSB1bmRlcnN0YW5kYWJsZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDQtMDEtMTIgIEJlbmphbWluIE90dGUgIDxpbjd5MTE4QHB1YmxpYy51bmktaGFtYnVyZy5kZT4KCSAgKiBnc3QtbGlicy9nc3QvdmlkZW8vdmlkZW8uaDoKCSAgRml4IGNhcHMgdGVtcGxhdGUgbmFtZXMgdG8gYmUgdW5kZXJzdGFuZGFibGUuCgkgIFByZWZpeCBldmVyeXRoaW5nIHdpdGggR1NUX1ZJREVPLgoJICAqIGV4dC9hYWxpYi9nc3RhYXNpbmsuYzoKCSAgKiBleHQvZGl2eC9nc3RkaXZ4ZGVjLmM6CgkgICogZXh0L2RpdngvZ3N0ZGl2eGVuYy5jOgoJICAqIGV4dC9nZGtfcGl4YnVmL2dzdGdka3BpeGJ1Zi5jOgoJICAqIGV4dC9oZXJtZXMvZ3N0Y29sb3JzcGFjZS5jOiAoZ3N0X2NvbG9yc3BhY2VfYmFzZV9pbml0KToKCSAgKiBleHQvanBlZy9nc3RqcGVnZGVjLmM6IChyYXdfY2Fwc19mYWN0b3J5KToKCSAgKiBleHQvanBlZy9nc3RqcGVnZW5jLmM6IChyYXdfY2Fwc19mYWN0b3J5KToKCSAgKiBleHQvbGliY2FjYS9nc3RjYWNhc2luay5jOgoJICAqIGV4dC9saWJwbmcvZ3N0cG5nZW5jLmM6IChyYXdfY2Fwc19mYWN0b3J5KToKCSAgKiBleHQvc25hcHNob3QvZ3N0c25hcHNob3QuYzoKCSAgKiBleHQvc3dmZGVjL2dzdHN3ZmRlYy5jOgoJICAqIGV4dC94dmlkL2dzdHh2aWRkZWMuYzoKCSAgKiBleHQveHZpZC9nc3R4dmlkZW5jLmM6CgkgICogZ3N0L2NoYXJ0L2dzdGNoYXJ0LmM6CgkgICogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmM6CgkgICogZ3N0L2VmZmVjdHYvZ3N0ZWZmZWN0di5jOgoJICAqIGdzdC9mbHgvZ3N0Zmx4ZGVjLmM6IChnc3RfZmx4ZGVjX2xvb3ApOgoJICAqIGdzdC9nb29tL2dzdGdvb20uYzoKCSAgKiBnc3QvbWVkaWFuL2dzdG1lZGlhbi5jOgoJICAqIGdzdC9tb25vc2NvcGUvZ3N0bW9ub3Njb3BlLmM6IChnc3RfbW9ub3Njb3BlX2luaXQpLAoJICAoZ3N0X21vbm9zY29wZV9zcmNjb25uZWN0KSwgKGdzdF9tb25vc2NvcGVfY2hhaW4pOgoJICAqIGdzdC9vdmVybGF5L2dzdG92ZXJsYXkuYzoKCSAgKiBnc3Qvc21vb3RoL2dzdHNtb290aC5jOgoJICAqIGdzdC9zbXB0ZS9nc3RzbXB0ZS5jOgoJICAqIGdzdC9zeW5hZXN0aGVzaWEvZ3N0c3luYWVzdGhlc2lhLmM6CgkgICogZ3N0L3ZpZGVvY3JvcC9nc3R2aWRlb2Nyb3AuYzoKCSAgKiBnc3QvdmlkZW9kcm9wL2dzdHZpZGVvZHJvcC5jOgoJICAqIGdzdC95NG0vZ3N0eTRtZW5jb2RlLmM6CgkgICogc3lzL3FjYW0vZ3N0cWNhbXNyYy5jOgoJICAqIHN5cy92NGwvZ3N0djRsc3JjLmM6IChnc3RfdjRsc3JjX3BhbGV0dGVfdG9fY2Fwcyk6CgkgIE1ha2UgdGhlbSB3b3JrIHdpdGggbmV3IHZpZGVvLmggZmlsZS4KCSAgKiBzeXMveGltYWdlL3hpbWFnZXNpbmsuYzogKGdzdF94aW1hZ2VzaW5rX2NoYWluKSwKCSAgKGdzdF94aW1hZ2VzaW5rX2J1ZmZlcl9mcmVlKSwgKGdzdF94aW1hZ2VzaW5rX2J1ZmZlcl9hbGxvYyk6CgkgICogc3lzL3h2aW1hZ2UveHZpbWFnZXNpbmsuYzogKGdzdF94dmltYWdlc2lua19jaGFpbiksCgkgIChnc3RfeHZpbWFnZXNpbmtfYnVmZmVyX2ZyZWUpLCAoZ3N0X3h2aW1hZ2VzaW5rX2J1ZmZlcl9hbGxvYyk6CgkgIE1ha2UgaXQgd29yayB3aXRoIG5ldyBidWZmZXIgYWxsb2NhdGlvbiBzeXN0ZW0uCgoyMDAzLTEyLTIyIDAxOjQ3OjA5ICswMDAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC95NG0vZ3N0eTRtZW5jb2RlLmM6CgkgIFtNT1ZFRCBGUk9NIEJBRF0gTWVyZ2UgQ0FQUyBicmFuY2gKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIE1lcmdlIENBUFMgYnJhbmNoCgoyMDAzLTEyLTA0IDEwOjM3OjM4ICswMDAwICBBbmR5IFdpbmdvIDx3aW5nb0Bwb2JveC5jb20+CgoJKiBnc3QveTRtL2dzdHk0bWVuY29kZS5jOgoJICBbTU9WRUQgRlJPTSBCQURdIHJlbW92ZSBjb3B5cmlnaHQgZmllbGQgZnJvbSBwbHVnaW5zCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICByZW1vdmUgY29weXJpZ2h0IGZpZWxkIGZyb20gcGx1Z2lucwoKMjAwMy0xMS0xNiAyMjowMjoyMyArMDAwMCAgTGVpZiBKb2huc29uIDxsZWlmQGFtYmllbnQuMnkubmV0PgoKCSogZ3N0L3k0bS9nc3R5NG1lbmNvZGUuYzoKCSAgW01PVkVEIEZST00gQkFEXSArIGNoZWNraW5nIGluIHBsdWdpbiBjYXRlZ29yeSBjaGFuZ2VzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICArIGNoZWNraW5nIGluIHBsdWdpbiBjYXRlZ29yeSBjaGFuZ2VzCgoyMDAzLTExLTA3IDEyOjQ3OjAyICswMDAwICBSb25hbGQgUy4gQnVsdGplIDxyYnVsdGplQHJvbmFsZC5iaXRmcmVhay5uZXQ+CgoJKiBnc3QveTRtL2dzdHk0bWVuY29kZS5oOgoJICBbTU9WRUQgRlJPTSBCQURdIFJlbW92ZSBhbGwgY29uZmlnLmggaW5jbHVkZXMgZnJvbSBoZWFkZXIgZmlsZXMsIGFkZCBpdCB0byBlYWNoIHNvdXJjZSBmaWxlIGFuZCByZW1vdmUgZHVwbGljYXRlIGNvbmZpZy5oIGluY2x1ZGVzIGZyby4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUmVtb3ZlIGFsbCBjb25maWcuaCBpbmNsdWRlcyBmcm9tIGhlYWRlciBmaWxlcywgYWRkIGl0IHRvIGVhY2ggc291cmNlIGZpbGUgYW5kIHJlbW92ZSBkdXBsaWNhdGUgY29uZmlnLmggaW5jbHVkZXMgZnJvbSBzZXZlcmFsIHNvdXJjZSBmaWxlcwoKMjAwMy0xMS0wMiAxOToxNzoyNyArMDAwMCAgQmVuamFtaW4gT3R0ZSA8b3R0ZUBnbm9tZS5vcmc+CgoJKiBnc3QveTRtL2dzdHk0bWVuY29kZS5jOgoJICBbTU9WRUQgRlJPTSBCQURdIGZpeCB0byBuZXcgcGx1Z2luIHN5c3RlbQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgZml4IHRvIG5ldyBwbHVnaW4gc3lzdGVtCgoyMDAzLTEwLTA4IDE2OjA4OjE5ICswMDAwICBBbmR5IFdpbmdvIDx3aW5nb0Bwb2JveC5jb20+CgoJKiBnc3QveTRtL2dzdHk0bWVuY29kZS5jOgoJICBbTU9WRUQgRlJPTSBCQURdIC9Hc3RCdWZmZXIvR3N0RGF0YS8gaW4gdGhlIEFQSSB3aGVyZSB5b3UgY2FuIHBhc3MgZXZlbnRzLiBGaXggdGhlIHBsdWdpbnMgdG8gZGVhbCB3aXRoIHRoYXQuIEZpeGVzICMxMTM0ODguCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAvR3N0QnVmZmVyL0dzdERhdGEvIGluIHRoZSBBUEkgd2hlcmUgeW91IGNhbiBwYXNzIGV2ZW50cy4gRml4IHRoZSBwbHVnaW5zIHRvIGRlYWwgd2l0aCB0aGF0LiBGaXhlcyAjMTEzNDg4LgoKMjAwMy0wOC0xMCAwMDowMTo1OCArMDAwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QveTRtL01ha2VmaWxlLmFtOgoJICBbTU9WRUQgRlJPTSBCQURdIFJlbW92ZSByZWR1bmRhbnQgcGx1Z2luZGlyIGRlZmluaXRpb24KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFJlbW92ZSByZWR1bmRhbnQgcGx1Z2luZGlyIGRlZmluaXRpb24KCjIwMDMtMDctMDYgMjA6NDk6NTIgKzAwMDAgIFJvbmFsZCBTLiBCdWx0amUgPHJidWx0amVAcm9uYWxkLmJpdGZyZWFrLm5ldD4KCgkqIGdzdC95NG0vZ3N0eTRtZW5jb2RlLmM6CgkqIGdzdC95NG0vZ3N0eTRtZW5jb2RlLmg6CgkgIFtNT1ZFRCBGUk9NIEJBRF0gTmV3IG1pbWV0eXBlcyBnb25lIGludG8gZWZmZWN0IHRvZGF5IC0gdGhpcyBjb21taXQgY2hhbmdlcyBhbGwgb2xkIG1pbWV0eXBlcyBvdmVyIHRvIHRoZSBuZXcgbWltZXR5cGVzIHNwZWMgYXMgZGVzY3JpLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBOZXcgbWltZXR5cGVzIGdvbmUgaW50byBlZmZlY3QgdG9kYXkgLSB0aGlzIGNvbW1pdCBjaGFuZ2VzIGFsbCBvbGQgbWltZXR5cGVzIG92ZXIgdG8gdGhlIG5ldyBtaW1ldHlwZXMgc3BlYyBhcyBkZXNjcmliZWQgaW4gdGhlIHByZXZpb3VzIGNvbW1pdCdzIGRvY3VtZW50LiBOb3RlOiBzb21lIHBsdWdpbnMgd2lsbCBicmVhaywgc29tZSBwaXBlbGluZXMgd2lsbCBicmVhaywgZXhwZWN0IEhFQUQgdG8gYmUgYnJva2VuIG9yIGF0IGxlYXN0IG5vdCAxMDAlIHdvcmtpbmcgZm9yIGEgZmV3IGRheXMsIGJ1dCBkb24ndCBmb3JnZXQgdG8gcmVwb3J0IGJ1Z3MKCjIwMDMtMDYtMjkgMTk6NDY6MTMgKzAwMDAgIEJlbmphbWluIE90dGUgPG90dGVAZ25vbWUub3JnPgoKCSogZ3N0L3k0bS9nc3R5NG1lbmNvZGUuYzoKCSAgW01PVkVEIEZST00gQkFEXSBjb21wYXRpYmlsaXR5IGZpeCBmb3IgbmV3IEdTVF9ERUJVRyBzdHVmZi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGNvbXBhdGliaWxpdHkgZml4IGZvciBuZXcgR1NUX0RFQlVHIHN0dWZmLgoJICBJbmNsdWRlcyBmaXhlcyBmb3IgbWlzc2luZyBpbmNsdWRlcyBmb3IgY29uZmlnLmggYW5kIHVuaXN0ZC5oCgkgIEkgb25seSBlbnN1cmVkIGZvciBwbHVnaW5zIEkgY2FuIGJ1aWxkIHRoYXQgdGhleSB3b3JrLCBzbyBpZiBzb21lIG9mIHRoZW0gYXJlIHN0aWxsIGJyb2tlbiwgeW91IGdvdHRhIGZpeCB0aGVtIHlvdXJzZWx2ZXMgdW5mb3J0dW5hdGVseS4KCjIwMDMtMDEtMTAgMTM6Mzg6MzIgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogZ3N0L3k0bS9nc3R5NG1lbmNvZGUuYzoKCSAgW01PVkVEIEZST00gQkFEXSBQYWRDb25uZWN0IC0+IFBhZExpbmsKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhZENvbm5lY3QgLT4gUGFkTGluawoKMjAwMy0wMS0xMCAxMDoyMjoyNSArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBnc3QveTRtL2dzdHk0bWVuY29kZS5jOgoJICBbTU9WRUQgRlJPTSBCQURdIGFub3RoZXIgYmF0Y2ggb2YgY29ubmVjdC0+bGluayBmaXhlcyBwbGVhc2UgbGV0IG1lIGtub3cgYWJvdXQgaXNzdWVzIGFuZCBwbGVhc2UgcmVmcmFpbiBvZiBtYWtpbmcgdGhlbSB5b3Vyc2VsZiwgc28gdC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgYW5vdGhlciBiYXRjaCBvZiBjb25uZWN0LT5saW5rIGZpeGVzCgkgIHBsZWFzZSBsZXQgbWUga25vdyBhYm91dCBpc3N1ZXMKCSAgYW5kIHBsZWFzZSByZWZyYWluIG9mIG1ha2luZyB0aGVtIHlvdXJzZWxmLCBzbyB0aGF0IEkgZG9uJ3Qgc3BlbmQgZG91YmxlCgkgIHRoZSB0aW1lIHJlc29sdmluZyBjb25mbGljdHMKCjIwMDItMTItMDggMTQ6NTA6MTAgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogZ3N0L3k0bS9NYWtlZmlsZS5hbToKCSAgW01PVkVEIEZST00gQkFEXSBwYXJhbGxlbCBpbnN0YWxsIGZpeGVzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBwYXJhbGxlbCBpbnN0YWxsIGZpeGVzCgoyMDAyLTA5LTE4IDE5OjAyOjUyICswMDAwICBDaHJpc3RpYW4gU2NoYWxsZXIgPHVyYWV1c0Bnbm9tZS5vcmc+CgoJKiBnc3QveTRtL2dzdHk0bWVuY29kZS5jOgoJICBbTU9WRUQgRlJPTSBCQURdIHBsdWdpbnMgcGFydCBvZiBsaWNlbnNlIGZpZWxkIHBhdGNoCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBwbHVnaW5zIHBhcnQgb2YgbGljZW5zZSBmaWVsZCBwYXRjaAoKMjAwMi0wNi0xNyAxMDoyOTozMCArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBnc3QveTRtL01ha2VmaWxlLmFtOgoJICBbTU9WRUQgRlJPTSBCQURdIGNvc21ldGljIGNoYW5nZQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgY29zbWV0aWMgY2hhbmdlCgoyMDAyLTA1LTAzIDA5OjU5OjEwICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIGdzdC95NG0vZ3N0eTRtZW5jb2RlLmM6CgkgIFtNT1ZFRCBGUk9NIEJBRF0gdmFyaW91cyBuYW1lIGZpeGVzIGFuZCBzdW5kcnkKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHZhcmlvdXMgbmFtZSBmaXhlcyBhbmQgc3VuZHJ5CgoyMDAyLTA0LTIwIDIxOjQyOjUxICswMDAwICBBbmR5IFdpbmdvIDx3aW5nb0Bwb2JveC5jb20+CgoJKiBnc3QveTRtL2dzdHk0bWVuY29kZS5jOgoJICBbTU9WRUQgRlJPTSBCQURdIGEgaGFjayB0byB3b3JrIGFyb3VuZCBpbnRsdG9vbCdzIGJyb2tlbm5lc3MgYSBjdXJyZW50IGNoZWNrIGZvciBtcGVnMmRlYyBkZXRhaWxzLT5rbGFzcyByZW9yZ2FuaXphdGlvbnMgYW4gZWxlbWVudCBici4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBhIGhhY2sgdG8gd29yayBhcm91bmQgaW50bHRvb2wncyBicm9rZW5uZXNzCgkgICogYSBjdXJyZW50IGNoZWNrIGZvciBtcGVnMmRlYwoJICAqIGRldGFpbHMtPmtsYXNzIHJlb3JnYW5pemF0aW9ucwoJICAqIGFuIGVsZW1lbnQgYnJvd3NlciB0aGF0IHVzZXMgZGV0YWlscy0+a2xhc3MKCSAgKiBzZXBhcmF0ZWQgY2R4YSBwYXJzZSBvdXQgZnJvbSB0aGUgYXZpIGRpcmVjdG9yeQoKMjAwMi0wNC0xMSAyMDo0MjoyNiArMDAwMCAgQW5keSBXaW5nbyA8d2luZ29AcG9ib3guY29tPgoKCSogZ3N0L3k0bS9nc3R5NG1lbmNvZGUuYzoKCSAgW01PVkVEIEZST00gQkFEXSBHc3RQYWRUZW1wbGF0ZSA8LT4gZ3N0X3BhZF90ZW1wbGF0ZSA8LT4gR1NUX1BBRF9URU1QTEFURSBzYW1lIHdpdGggKmZhY3RvcnkgYW5kIHR5cGVmaW5kLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgR3N0UGFkVGVtcGxhdGUgPC0+IGdzdF9wYWRfdGVtcGxhdGUgPC0+IEdTVF9QQURfVEVNUExBVEUKCSAgc2FtZSB3aXRoICpmYWN0b3J5IGFuZCB0eXBlZmluZC4KCSAgYWxzbywgc29tZSAtV2Vycm9yIGZpeGVzLgoKMjAwMi0wMy0zMCAxNzowNjoyNiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkqIGdzdC95NG0vZ3N0eTRtZW5jb2RlLmM6CgkgIFtNT1ZFRCBGUk9NIEJBRF0gQ2hhbmdlZCB0byB0aGUgbmV3IHByb3BzIEFQSQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgQ2hhbmdlZCB0byB0aGUgbmV3IHByb3BzIEFQSQoJICBPdGhlciBzbWFsbCB0dWZmLgoKMjAwMi0wMy0yMCAyMTo0NTowNCArMDAwMCAgQW5keSBXaW5nbyA8d2luZ29AcG9ib3guY29tPgoKCSogZ3N0L3k0bS9nc3R5NG1lbmNvZGUuYzoKCSogZ3N0L3k0bS9nc3R5NG1lbmNvZGUuaDoKCSAgW01PVkVEIEZST00gQkFEXSBzL0dub21lLVN0cmVhbWVyL0dTdHJlYW1lci8KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHMvR25vbWUtU3RyZWFtZXIvR1N0cmVhbWVyLwoKMjAwMi0wMy0xOSAwNDoxMDowNiArMDAwMCAgQW5keSBXaW5nbyA8d2luZ29AcG9ib3guY29tPgoKCSogZ3N0L3k0bS9NYWtlZmlsZS5hbToKCSogZ3N0L3k0bS9nc3R5NG1lbmNvZGUuYzoKCSogZ3N0L3k0bS9nc3R5NG1lbmNvZGUuaDoKCSAgW01PVkVEIEZST00gQkFEXSByZW1vdmFsIG9mIC8vLXN0eWxlIGNvbW1lbnRzIGRvbid0IGxpbmsgcGx1Z2lucyB0byBjb3JlIGxpYnMgLS0gdGhlIHZlcnNpb25pbmcgaXMgZG9uZSBpbnRlcm5hbGx5IHRvIHRoZSBwbHVnaW5zIHdpdGguLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogcmVtb3ZhbCBvZiAvLy1zdHlsZSBjb21tZW50cwoJICAqIGRvbid0IGxpbmsgcGx1Z2lucyB0byBjb3JlIGxpYnMgLS0gdGhlIHZlcnNpb25pbmcgaXMgZG9uZSBpbnRlcm5hbGx5IHRvIHRoZSBwbHVnaW5zIHdpdGggdGhlIHBsdWdpbl9pbmZvIHN0cnVjdCwKCSAgYW5kIHN5bWJvbCByZXNvbHV0aW9uIGlzIGxhenksIHNvIHdlIGNhbiBhbHdheXMga25vdyBpZiBhIHBsdWdpbiBjYW4gYmUgbG9hZGVkIGJ5IHRoZSBwbHVnaW5faW5mbyBkYXRhLiBpbiB0aGVvcnkuCgoyMDAyLTAzLTE5IDAxOjM5OjQzICswMDAwICBBbmR5IFdpbmdvIDx3aW5nb0Bwb2JveC5jb20+CgoJKiBnc3QveTRtL01ha2VmaWxlLmFtOgoJICBbTU9WRUQgRlJPTSBCQURdIHMvQEdTVF9QTFVHSU5fTERGTEFHU0AvJChHU1RfUExVR0lOX0xERkxBR1MpLyBALXN1YnN0aXR1ZWQgdmFyaWFibGVzIHZhcmlhYmxlcyBhcmUgZGVmaW5lZCBhcyBtYWtlIHZhcmlhYmxlcyBhdXRvbWFnaS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgcy9AR1NUX1BMVUdJTl9MREZMQUdTQC8kKEdTVF9QTFVHSU5fTERGTEFHUykvCgkgIEAtc3Vic3RpdHVlZCB2YXJpYWJsZXMgdmFyaWFibGVzIGFyZSBkZWZpbmVkIGFzIG1ha2UgdmFyaWFibGVzIGF1dG9tYWdpY2FsbHksCgkgIGFuZCB0aGlzIGdpdmVzIHRoZSB1c2VyIHRoZSBmcmVlZG9tIHRvIHNheSBtYWtlIEdTVF9QTFVHSU5fTERGTEFHUz0tbXlmbGFnCgoyMDAyLTAxLTE4IDExOjM3OjE5ICswMDAwICBXcm9iZWxsIDx3cm9iZWxsQGl0ZS5wbD4KCgkqIGdzdC95NG0vTWFrZWZpbGUuYW06CgkgIFtNT1ZFRCBGUk9NIEJBRF0gLSBwbHVnaW5zIGFyZSBidWlsdCB3aXRob3V0IHZlcnNpb25pbmcgaW5mbwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgLSBwbHVnaW5zIGFyZSBidWlsdCB3aXRob3V0IHZlcnNpb25pbmcgaW5mbwoKMjAwMi0wMS0xMyAyMjoyNzoyNSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkqIGdzdC95NG0vZ3N0eTRtZW5jb2RlLmM6CgkgIFtNT1ZFRCBGUk9NIEJBRF0gQnJpbmcgdGhlIHBsdWdpbnMgaW4gc3luYyB3aXRoIHRoZSBuZXcgY29yZSBjYXBzbmVnbyBzeXN0ZW0uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBCcmluZyB0aGUgcGx1Z2lucyBpbiBzeW5jIHdpdGggdGhlIG5ldyBjb3JlIGNhcHNuZWdvIHN5c3RlbS4KCSAgQWRkZWQgc29tZSBmZWF0dXJlcywgZW5oYW5jZW1lbnRzLi4uCgoyMDAyLTAxLTEyIDAzOjM0OjI3ICswMDAwICBEYXZpZCBJLiBMZWhuIDxkbGVobkB1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJKiBnc3QveTRtL01ha2VmaWxlLmFtOgoJICBbTU9WRUQgRlJPTSBCQURdIHMvZmlsdGVyL3BsdWdpbi8gbGluayBwbHVnaW5zIHRvIEdTVF9MSUJTIHJlYXJyYW5nZSBydWxlcyB0byBhIGNvbW1vbiBmb3JtYXQKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogcy9maWx0ZXIvcGx1Z2luLwoJICAqIGxpbmsgcGx1Z2lucyB0byBHU1RfTElCUwoJICAqIHJlYXJyYW5nZSBydWxlcyB0byBhIGNvbW1vbiBmb3JtYXQKCjIwMDEtMTItMjMgMjA6MjE6MjAgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogZ3N0L3k0bS9NYWtlZmlsZS5hbToKCSogZ3N0L3k0bS9nc3R5NG1lbmNvZGUuYzoKCSAgW01PVkVEIEZST00gQkFEXSBtb3JlIGZpeGVzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBtb3JlIGZpeGVzCgoyMDAxLTEyLTIzIDEzOjE3OjM2ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIGdzdC95NG0vTWFrZWZpbGUuYW06CgkqIGdzdC95NG0vZ3N0eTRtZW5jb2RlLmM6CgkqIGdzdC95NG0vZ3N0eTRtZW5jb2RlLmg6CgkgIFtNT1ZFRCBGUk9NIEJBRF0gQkJCIGFza2VkIG1lIHRvIHJlbmFtZSBsYXYgdG8geTRtIGNhbiBzb21lb25lIHdobyBrbm93cyB0aGUgcGx1Z2luIGRvIHRoaXMgaW4gdGhlIHNvdXJjZSBhcyB3ZWxsID8KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEJCQiBhc2tlZCBtZSB0byByZW5hbWUgbGF2IHRvIHk0bQoJICBjYW4gc29tZW9uZSB3aG8ga25vd3MgdGhlIHBsdWdpbiBkbyB0aGlzIGluIHRoZSBzb3VyY2UgYXMgd2VsbCA/CgoyMDA5LTA1LTE1IDE4OjE3OjM1ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHBvL01ha2V2YXJzOgoJICBwbzogYWRkIE1ha2V2YXJzIG1hZ2ljIHNvIHdlIGRvbid0IGdldCBsaW5lIG51bWJlcnMgaW4gKi5wbyBmaWxlcwoJICBUaGlzIGF2b2lkcyB0aGUgbnVtYmVyIG9uZSByZWFzb24gZm9yIGxvY2FsIG1vZGlmaWNhdGlvbnMgaW4gKi5wbwoJICBmaWxlcyBhbmQgYW5kIG1ha2VzIHRoaW5ncyBsZXNzIGFubm95aW5nIHdoZW4gd29ya2luZyB3aXRoIGdpdCAob3IKCSAgYW55IG90aGVyIFZDUyBmb3IgdGhhdCBtYXR0ZXIpLgoKMjAwOS0wNS0xNSAxNzoxMToyNyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svYXVkaW90ZXN0c3JjLmZsYWM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2lkM2RlbXV4LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3NvdXBodHRwc3JjLmM6CgkqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy9mbGFjZGVjLmM6CgkqIHRlc3RzL2NoZWNrL3Rlc3QtY2VydC5wZW06CgkqIHRlc3RzL2NoZWNrL3Rlc3Qta2V5LnBlbToKCSogdGVzdHMvZmlsZXMvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2ZpbGVzL2F1ZGlvdGVzdHNyYy5mbGFjOgoJKiB0ZXN0cy9maWxlcy90ZXN0LWNlcnQucGVtOgoJKiB0ZXN0cy9maWxlcy90ZXN0LWtleS5wZW06CgkgIGNoZWNrczogbW92ZSBmaWxlcyByZXF1aXJlZCBieSB1bml0IHRlc3RzIGludG8gdGVzdHMvZmlsZXMgYW5kIG1ha2Ugc3VyZSB0aGV5J3JlIGRpc3RlZAoJICBNb3ZlIHVuaXQgdGVzdCBkYXRhIGludG8gdGhlIGRpcmVjdG9yeSB3aGVyZSBpdCBiZWxvbmdzIGFuZCBtYWtlIGluIHBhcnRpY3VsYXIKCSAgdGhlIGZsYWNkZWMgdW5pdCB0ZXN0IGNkIGludG8gdGhlIGRpcmVjdG9yeSB3aXRoIHRoZSB0ZXN0IGZpbGVzIGluc3RlYWQgb2YgbWFraW5nCgkgIGFzc3VtcHRpb25zIGFib3V0IHRoZSBjdXJyZW50IHdvcmtpbmcgZGlyZWN0b3J5IGluIHRoYXQgdW5pdCB0ZXN0LiBBcyBhIHNpZGUgZWZmZWN0CgkgIG9mIG1vdm5nIHRob3NlIGZpbGVzLCB0aGVyZSdzIG9ubHkgb25lIEVYVFJBX0RJU1QgaW4gdGVzdHMvY2hlY2svTWFrZWZpbGUuYW0gbm93LAoJICB3aGljaCBpcyBsaWtlbHkgdG8gd29yayBiZXR0ZXIgdGhhbiBoYXZpbmcgdHdvLiBIb3BlZnVsbHkgZml4ZXMgIzU4Mjc1My4KCjIwMDktMDUtMTQgMjE6NDM6MTQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmM6CgkgIGRlaW50ZXJsYWNlOiBJZiB0aGUgdXBzdHJlYW0gbWF4IGxhdGVuY3kgaXMgdW5ib3VuZCByZXR1cm4gdW5ib3VuZCBtYXggbGF0ZW5jeQoJICBGaXhlcyBidWcgIzU4MjY2MS4KCjIwMDktMDUtMTUgMDg6NDQ6MzkgKzAyMDAgIEphbWVzIEFuZHJld2FydGhhIDx0cnM4MEB1Y2MuZ3UudXdhLmVkdS5hdT4KCgkqIGdzdC9mbHYvZ3N0Zmx2bXV4LmM6CgkqIHN5cy9zdW5hdWRpby9nc3RzdW5hdWRpb21peGVyY3RybC5jOgoJKiBzeXMvc3VuYXVkaW8vZ3N0c3VuYXVkaW9taXhlcnRyYWNrLmM6CgkqIHN5cy9zdW5hdWRpby9nc3RzdW5hdWRpb3NyYy5jOgoJKiBzeXMvdjRsMi92NGwyX2NhbGxzLmM6CgkgIEZpeCBjb21waWxlciB3YXJuaW5ncwoJICBGaXhlcyBidWcgIzU4MjcxNS4KCjIwMDktMDUtMTMgMjI6NDY6NDQgKzAyMDAgIEpvc2VwIFRvcnJhIDxuNzcwZ2FsYXh5QGdtYWlsLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgUmVjb3ZlcmVkIGRlYnVndXRpbHMgbGluZSBhY2NpZGVudGFsbHkgcmVtb3ZlZCBpbiBkZWludGVybGFjZTIgbW92ZS4KCjIwMDktMDUtMTMgMTA6NDY6NDAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5pbnRlcmZhY2VzOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVpbnRlcmxhY2UueG1sOgoJKiBnc3QvZGVpbnRlcmxhY2UvTWFrZWZpbGUuYW06CgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuaDoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS9ncmVlZHkuYzoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS9ncmVlZHloLmFzbToKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS9ncmVlZHloLmM6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvZ3JlZWR5aG1hY3Jvcy5oOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL2xpbmVhci5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL2xpbmVhcmJsZW5kLmM6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvbW14Lmg6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvcGx1Z2lucy5oOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL3NjYWxlcmJvYi5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL3NzZS5oOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL3RvbXNtb2NvbXAuYzoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS90b21zbW9jb21wL1NlYXJjaExvb3AwQS5pbmM6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvdG9tc21vY29tcC9TZWFyY2hMb29wQm90dG9tLmluYzoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS90b21zbW9jb21wL1NlYXJjaExvb3BFZGdlQS5pbmM6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvdG9tc21vY29tcC9TZWFyY2hMb29wRWRnZUE4LmluYzoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS90b21zbW9jb21wL1NlYXJjaExvb3BPZGRBLmluYzoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS90b21zbW9jb21wL1NlYXJjaExvb3BPZGRBMi5pbmM6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvdG9tc21vY29tcC9TZWFyY2hMb29wT2RkQTYuaW5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL3RvbXNtb2NvbXAvU2VhcmNoTG9vcE9kZEFILmluYzoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS90b21zbW9jb21wL1NlYXJjaExvb3BPZGRBSDIuaW5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL3RvbXNtb2NvbXAvU2VhcmNoTG9vcFRvcC5pbmM6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvdG9tc21vY29tcC9TZWFyY2hMb29wVkEuaW5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL3RvbXNtb2NvbXAvU2VhcmNoTG9vcFZBSC5pbmM6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvdG9tc21vY29tcC9TdHJhbmdlQm9iLmluYzoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS90b21zbW9jb21wL1RvbXNNb0NvbXBBbGwuaW5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL3RvbXNtb2NvbXAvVG9tc01vQ29tcEFsbDIuaW5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL3RvbXNtb2NvbXAvV2llcmRCb2IuaW5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL3RvbXNtb2NvbXAvdG9tc21vY29tcG1hY3Jvcy5oOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL3ZmaXIuYzoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS93ZWF2ZS5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvdHZ0aW1lL3dlYXZlYmZmLmM6CgkqIGdzdC9kZWludGVybGFjZS90dnRpbWUvd2VhdmV0ZmYuYzoKCSogZ3N0L2RlaW50ZXJsYWNlL3R2dGltZS94ODYtNjRfbWFjcm9zLmluYzoKCSogZ3N0L2RlaW50ZXJsYWNlMi9NYWtlZmlsZS5hbToKCSogZ3N0L2RlaW50ZXJsYWNlMi9nc3RkZWludGVybGFjZTIuYzoKCSogZ3N0L2RlaW50ZXJsYWNlMi9nc3RkZWludGVybGFjZTIuaDoKCSogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvZ3JlZWR5LmM6CgkqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL2dyZWVkeWguYXNtOgoJKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9ncmVlZHloLmM6CgkqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL2dyZWVkeWhtYWNyb3MuaDoKCSogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvbGluZWFyLmM6CgkqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL2xpbmVhcmJsZW5kLmM6CgkqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL21teC5oOgoJKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9wbHVnaW5zLmg6CgkqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3NjYWxlcmJvYi5jOgoJKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9zc2UuaDoKCSogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC5jOgoJKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wL1NlYXJjaExvb3AwQS5pbmM6CgkqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAvU2VhcmNoTG9vcEJvdHRvbS5pbmM6CgkqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAvU2VhcmNoTG9vcEVkZ2VBLmluYzoKCSogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC9TZWFyY2hMb29wRWRnZUE4LmluYzoKCSogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC9TZWFyY2hMb29wT2RkQS5pbmM6CgkqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAvU2VhcmNoTG9vcE9kZEEyLmluYzoKCSogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC9TZWFyY2hMb29wT2RkQTYuaW5jOgoJKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wL1NlYXJjaExvb3BPZGRBSC5pbmM6CgkqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAvU2VhcmNoTG9vcE9kZEFIMi5pbmM6CgkqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAvU2VhcmNoTG9vcFRvcC5pbmM6CgkqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAvU2VhcmNoTG9vcFZBLmluYzoKCSogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC9TZWFyY2hMb29wVkFILmluYzoKCSogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC9TdHJhbmdlQm9iLmluYzoKCSogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC9Ub21zTW9Db21wQWxsLmluYzoKCSogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC9Ub21zTW9Db21wQWxsMi5pbmM6CgkqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAvV2llcmRCb2IuaW5jOgoJKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wL3RvbXNtb2NvbXBtYWNyb3MuaDoKCSogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdmZpci5jOgoJKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS93ZWF2ZS5jOgoJKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS93ZWF2ZWJmZi5jOgoJKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS93ZWF2ZXRmZi5jOgoJKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS94ODYtNjRfbWFjcm9zLmluYzoKCSAgTW92ZWQgJ2RlaW50ZXJsYWNlMicgZnJvbSAtYmFkIHRvIC1nb29kCgkgIEFuZCByZW5hbWUgaXQgdG8gZGVpbnRlcmxhY2UuCgoyMDA5LTA1LTA4IDE1OjM5OjI0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kZWludGVybGFjZTIvZ3N0ZGVpbnRlcmxhY2UyLmM6CgkqIGdzdC9kZWludGVybGFjZTIvZ3N0ZGVpbnRlcmxhY2UyLmg6CgkgIFtNT1ZFRCBGUk9NIEJBRCA1Ni81Nl0gZGVpbnRlcmxhY2UyOiBBZGQgYSBkaXNhYmxlZCBtb2RlIGZvciBwYXNzdGhyb3VnaCBvcGVyYXRpb24KCSAgQWxzbyBhbGxvdyB0byBjaGFuZ2UgdGhlIG1vZGUgaW4gUEFVU0VEIGFuZCBQTEFZSU5HIGJ5IHVwZGF0aW5nCgkgIHRoZSBjYXBzIGlmIG5lY2Vzc2FyeS4KCjIwMDktMDQtMjIgMTk6NDM6MjIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2RlaW50ZXJsYWNlMi9nc3RkZWludGVybGFjZTIuYzoKCSogZ3N0L2RlaW50ZXJsYWNlMi9nc3RkZWludGVybGFjZTIuaDoKCSAgW01PVkVEIEZST00gQkFEIDU1LzU2XSBkZWludGVybGFjZTI6IEFkZCBkb2N1bWVudGF0aW9uIGFuZCBpbnRlZ3JhdGUgaW50byB0aGUgYnVpbGQgc3lzdGVtCgoyMDA5LTA0LTE5IDE3OjE4OjM1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kZWludGVybGFjZTIvZ3N0ZGVpbnRlcmxhY2UyLmM6CgkgIFtNT1ZFRCBGUk9NIEJBRCA1NC81Nl0gZGVpbnRlcmxhY2UyOiBNYWtlIGl0IHBvc3NpYmxlIHRvIHNlbGVjdCBpbnRlcmxhY2luZyBhdXRvZGV0ZWN0aW9uIG9yIHRvIGVuZm9yZSBkZWludGVybGFjaW5nCgkgIEZvciB0aGlzIGFkZCBhICJtb2RlIiBwcm9wZXJ0eSB0aGF0IGRlZmF1bHRzIHRvICJpbnRlcmxhY2VkIiBmb3Igbm93IGFzCgkgIG1vc3QgZGVjb2RlcnMvZGVtdXhlcnMgZG9uJ3QgcHJvcGVybHkgc2V0IHRoZSAiaW50ZXJsYWNlZCIgZmllbGQgb24gdGhlCgkgIGNhcHMgeWV0LgoJICBJZiB0aGlzIHByb3BlcnR5IGlzIHNldCB0byAiYXV0byIgdGhlIGVsZW1lbnQgd2lsbCB3b3JrIGluIHBhc3N0aHJvdWdoCgkgIG1vZGUgdW5sZXNzIHRoZSBjYXBzIGNvbnRhaW4gdGhlICJpbnRlcmxhY2VkIiBmaWVsZC4KCjIwMDktMDQtMTcgMTU6Mzk6NTkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2RlaW50ZXJsYWNlMi9nc3RkZWludGVybGFjZTIuYzoKCSAgW01PVkVEIEZST00gQkFEIDUzLzU2XSBkZWludGVybGFjZTI6IFVzZSBHU1RfKERFQlVHfFdBUk5JTkd8RVJST1IpX09CSkVDVCBpbnN0ZWFkIG9mIHRoZSBub24tT0JKRUNUIG9uZXMKCjIwMDktMDQtMTcgMTU6Mzk6MzYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2RlaW50ZXJsYWNlMi9nc3RkZWludGVybGFjZTIuYzoKCSAgW01PVkVEIEZST00gQkFEIDUyLzU2XSBkZWludGVybGFjZTI6IFJlc2V0IGhpc3RvcnkgaWYgRElTQ09OVCBpcyBzZXQgb24gdGhlIGluY29taW5nIGJ1ZmZlcgoKMjAwOS0wNC0xNyAxNTozOToxMCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZGVpbnRlcmxhY2UyL2dzdGRlaW50ZXJsYWNlMi5jOgoJICBbTU9WRUQgRlJPTSBCQUQgNTEvNTZdIGRlaW50ZXJsYWNlMjogRml4IHRpbWVzdGFtcHMgZm9yIGJ1ZmZlcnMgd2l0aCBSRkYgZmxhZyBzZXQKCjIwMDktMDQtMTYgMTc6NDE6MzcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2RlaW50ZXJsYWNlMi9nc3RkZWludGVybGFjZTIuYzoKCSogZ3N0L2RlaW50ZXJsYWNlMi9nc3RkZWludGVybGFjZTIuaDoKCSogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvZ3JlZWR5LmM6CgkqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL2dyZWVkeWguYzoKCSogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvc2NhbGVyYm9iLmM6CgkqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAvVG9tc01vQ29tcEFsbC5pbmM6CgkqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3dlYXZlLmM6CgkqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3dlYXZlYmZmLmM6CgkqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3dlYXZldGZmLmM6CgkgIFtNT1ZFRCBGUk9NIEJBRCA1MC81Nl0gZGVpbnRlcmxhY2UyOiBSZW5hbWUgbGluZV9sZW5ndGggdG8gcm93X3N0cmlkZSBhbmQgcmVtb3ZlIG91dHB1dF9zdHJpZGUKCjIwMDktMDQtMTYgMTU6NTI6MzkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2RlaW50ZXJsYWNlMi9nc3RkZWludGVybGFjZTIuYzoKCSAgW01PVkVEIEZST00gQkFEIDQ5LzU2XSBkZWludGVybGFjZTI6IEltcGxlbWVudCBzdXBwb3J0IGZvciBSRkYgYW5kIE9ORUZJRUxEIGJ1ZmZlciBmbGFncwoKMjAwOS0wNC0xNSAxNTo0Njo0NCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZGVpbnRlcmxhY2UyL2dzdGRlaW50ZXJsYWNlMi5jOgoJKiBnc3QvZGVpbnRlcmxhY2UyL2dzdGRlaW50ZXJsYWNlMi5oOgoJKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9ncmVlZHkuYzoKCSogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvZ3JlZWR5aC5jOgoJKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wL1RvbXNNb0NvbXBBbGwuaW5jOgoJICBbTU9WRUQgRlJPTSBCQUQgNDgvNTZdIGRlaW50ZXJsYWNlMjogTW92ZSBvdXRwdXQgYnVmZmVyIGZyb20gdGhlIGluc3RhbmNlIHN0cnVjdCB0byBhIGZ1bmN0aW9uIHBhcmFtZXRlcgoKMjAwOS0wNC0xNSAxNTozMzoxNyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZGVpbnRlcmxhY2UyL2dzdGRlaW50ZXJsYWNlMi5jOgoJKiBnc3QvZGVpbnRlcmxhY2UyL2dzdGRlaW50ZXJsYWNlMi5oOgoJICBbTU9WRUQgRlJPTSBCQUQgNDcvNTZdIGRlaW50ZXJsYWNlMjogQWRkIGluaXRpYWwgc3VwcG9ydCBmb3IgYXV0b21hdGljIGRldGVjdGlvbiBvZiB0aGUgZmllbGQgb3JkZXIKCjIwMDktMDQtMTUgMTQ6NDc6NDkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2RlaW50ZXJsYWNlMi9nc3RkZWludGVybGFjZTIuYzoKCSAgW01PVkVEIEZST00gQkFEIDQ2LzU2XSBkZWludGVybGFjZTI6IEFkZCBzdXBwb3J0IGZvciBZVllVIGNvbG9yc3BhY2UKCSAgVGhpcyBpcyB0aGUgc2FtZSBhcyBZVVkyIHdpdGgganVzdCBDciBhbmQgQ2Igc3dhcHBlZC4gQXMKCSAgd2UgZG9uJ3QgbWFrZSBhIGRpZmZlcmVuY2UgYmV0d2VlbiB0aGVtIHdoZW4gZGVpbnRlcmxhY2luZwoJICB0aGlzIHdvcmtzLgoKMjAwOC0xMS0wNiAxNDowNTo1NSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIFtNT1ZFRCBGUk9NIEJBRCA0NS81Nl0gZ3N0L2RlaW50ZXJsYWNlMi9nc3RkZWludGVybGFjZTIuYzogQnJpbmcgcHJvcGVydGllcyBpbnRvIHRoaXMgY2VudHVyeS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi9nc3RkZWludGVybGFjZTIuYzoKCSAgKGdzdF9kZWludGVybGFjZTJfY2xhc3NfaW5pdCksIChnc3RfZGVpbnRlcmxhY2UyX2luaXQpLAoJICAoZ3N0X2RlaW50ZXJsYWNlMl9zZXRfcHJvcGVydHkpLCAoZ3N0X2RlaW50ZXJsYWNlMl9nZXRfcHJvcGVydHkpOgoJICBCcmluZyBwcm9wZXJ0aWVzIGludG8gdGhpcyBjZW50dXJ5LgoKMjAwOC0xMS0wNCAxMjo0MjozMCArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgW01PVkVEIEZST00gQkFEIDQ0LzU2XSBEb24ndCBpbnN0YWxsIHN0YXRpYyBsaWJzIGZvciBwbHVnaW5zLiBGaXhlcyAjNTUwODUxIGZvciAtYmFkLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvYWxzYXNwZGlmL01ha2VmaWxlLmFtOgoJICAqIGV4dC9hbXJ3Yi9NYWtlZmlsZS5hbToKCSAgKiBleHQvYXBleHNpbmsvTWFrZWZpbGUuYW06CgkgICogZXh0L2FydHMvTWFrZWZpbGUuYW06CgkgICogZXh0L2FydHNkL01ha2VmaWxlLmFtOgoJICAqIGV4dC9hdWRpb2ZpbGUvTWFrZWZpbGUuYW06CgkgICogZXh0L2F1ZGlvcmVzYW1wbGUvTWFrZWZpbGUuYW06CgkgICogZXh0L2J6Mi9NYWtlZmlsZS5hbToKCSAgKiBleHQvY2RhdWRpby9NYWtlZmlsZS5hbToKCSAgKiBleHQvY2VsdC9NYWtlZmlsZS5hbToKCSAgKiBleHQvZGMxMzk0L01ha2VmaWxlLmFtOgoJICAqIGV4dC9kaXJhYy9NYWtlZmlsZS5hbToKCSAgKiBleHQvZGlyZWN0ZmIvTWFrZWZpbGUuYW06CgkgICogZXh0L2RpdngvTWFrZWZpbGUuYW06CgkgICogZXh0L2R0cy9NYWtlZmlsZS5hbToKCSAgKiBleHQvZmFhYy9NYWtlZmlsZS5hbToKCSAgKiBleHQvZmFhZC9NYWtlZmlsZS5hbToKCSAgKiBleHQvZ3NtL01ha2VmaWxlLmFtOgoJICAqIGV4dC9oZXJtZXMvTWFrZWZpbGUuYW06CgkgICogZXh0L2l2b3JiaXMvTWFrZWZpbGUuYW06CgkgICogZXh0L2phY2svTWFrZWZpbGUuYW06CgkgICogZXh0L2pwMmsvTWFrZWZpbGUuYW06CgkgICogZXh0L2xhZHNwYS9NYWtlZmlsZS5hbToKCSAgKiBleHQvbGNzL01ha2VmaWxlLmFtOgoJICAqIGV4dC9saWJmYW1lL01ha2VmaWxlLmFtOgoJICAqIGV4dC9saWJtbXMvTWFrZWZpbGUuYW06CgkgICogZXh0L21ldGFkYXRhL01ha2VmaWxlLmFtOgoJICAqIGV4dC9tcGVnMmVuYy9NYWtlZmlsZS5hbToKCSAgKiBleHQvbXBsZXgvTWFrZWZpbGUuYW06CgkgICogZXh0L211c2VwYWNrL01ha2VmaWxlLmFtOgoJICAqIGV4dC9tdXNpY2JyYWluei9NYWtlZmlsZS5hbToKCSAgKiBleHQvbXl0aHR2L01ha2VmaWxlLmFtOgoJICAqIGV4dC9uYXMvTWFrZWZpbGUuYW06CgkgICogZXh0L25lb24vTWFrZWZpbGUuYW06CgkgICogZXh0L29mYS9NYWtlZmlsZS5hbToKCSAgKiBleHQvcG9seXAvTWFrZWZpbGUuYW06CgkgICogZXh0L3Jlc2luZHZkL01ha2VmaWxlLmFtOgoJICAqIGV4dC9zZGwvTWFrZWZpbGUuYW06CgkgICogZXh0L3Nob3V0L01ha2VmaWxlLmFtOgoJICAqIGV4dC9zbmFwc2hvdC9NYWtlZmlsZS5hbToKCSAgKiBleHQvc25kZmlsZS9NYWtlZmlsZS5hbToKCSAgKiBleHQvc291bmR0b3VjaC9NYWtlZmlsZS5hbToKCSAgKiBleHQvc3BjL01ha2VmaWxlLmFtOgoJICAqIGV4dC9zd2ZkZWMvTWFrZWZpbGUuYW06CgkgICogZXh0L3Rhcmtpbi9NYWtlZmlsZS5hbToKCSAgKiBleHQvdGhlb3JhL01ha2VmaWxlLmFtOgoJICAqIGV4dC90aW1pZGl0eS9NYWtlZmlsZS5hbToKCSAgKiBleHQvdHdvbGFtZS9NYWtlZmlsZS5hbToKCSAgKiBleHQveDI2NC9NYWtlZmlsZS5hbToKCSAgKiBleHQveGluZS9NYWtlZmlsZS5hbToKCSAgKiBleHQveHZpZC9NYWtlZmlsZS5hbToKCSAgKiBnc3QtbGlicy9nc3QvYXBwL01ha2VmaWxlLmFtOgoJICAqIGdzdC1saWJzL2dzdC9kc2hvdy9NYWtlZmlsZS5hbToKCSAgKiBnc3QvYWlmZnBhcnNlL01ha2VmaWxlLmFtOgoJICAqIGdzdC9hcHAvTWFrZWZpbGUuYW06CgkgICogZ3N0L2F1ZGlvYnVmZmVyL01ha2VmaWxlLmFtOgoJICAqIGdzdC9iYXllci9NYWtlZmlsZS5hbToKCSAgKiBnc3QvY2R4YXBhcnNlL01ha2VmaWxlLmFtOgoJICAqIGdzdC9jaGFydC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvY29sb3JzcGFjZS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvZGNjcC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvZGVpbnRlcmxhY2UvTWFrZWZpbGUuYW06CgkgICogZ3N0L2RlaW50ZXJsYWNlMi9NYWtlZmlsZS5hbToKCSAgKiBnc3QvZHZkc3B1L01ha2VmaWxlLmFtOgoJICAqIGdzdC9mZXN0aXZhbC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvZmlsdGVyL01ha2VmaWxlLmFtOgoJICAqIGdzdC9mbGFjcGFyc2UvTWFrZWZpbGUuYW06CgkgICogZ3N0L2Zsdi9NYWtlZmlsZS5hbToKCSAgKiBnc3QvZ2FtZXMvTWFrZWZpbGUuYW06CgkgICogZ3N0L2gyNjRwYXJzZS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvbGlicmZiL01ha2VmaWxlLmFtOgoJICAqIGdzdC9taXhtYXRyaXgvTWFrZWZpbGUuYW06CgkgICogZ3N0L21vZHBsdWcvTWFrZWZpbGUuYW06CgkgICogZ3N0L21wZWcxc3lzL01ha2VmaWxlLmFtOgoJICAqIGdzdC9tcGVnNHZpZGVvcGFyc2UvTWFrZWZpbGUuYW06CgkgICogZ3N0L21wZWdkZW11eC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvbXBlZ3RzbXV4L01ha2VmaWxlLmFtOgoJICAqIGdzdC9tcGVndmlkZW9wYXJzZS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvbXZlL01ha2VmaWxlLmFtOgoJICAqIGdzdC9uc2YvTWFrZWZpbGUuYW06CgkgICogZ3N0L251dmRlbXV4L01ha2VmaWxlLmFtOgoJICAqIGdzdC9vdmVybGF5L01ha2VmaWxlLmFtOgoJICAqIGdzdC9wYXNzdGhyb3VnaC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvcGNhcHBhcnNlL01ha2VmaWxlLmFtOgoJICAqIGdzdC9wbGF5b25kZW1hbmQvTWFrZWZpbGUuYW06CgkgICogZ3N0L3Jhd3BhcnNlL01ha2VmaWxlLmFtOgoJICAqIGdzdC9yZWFsL01ha2VmaWxlLmFtOgoJICAqIGdzdC9ydGpwZWcvTWFrZWZpbGUuYW06CgkgICogZ3N0L3J0cG1hbmFnZXIvTWFrZWZpbGUuYW06CgkgICogZ3N0L3NjYWxldGVtcG8vTWFrZWZpbGUuYW06CgkgICogZ3N0L3NkcC9NYWtlZmlsZS5hbToKCSAgKiBnc3Qvc2VsZWN0b3IvTWFrZWZpbGUuYW06CgkgICogZ3N0L3Ntb290aC9NYWtlZmlsZS5hbToKCSAgKiBnc3Qvc21vb3Rod2F2ZS9NYWtlZmlsZS5hbToKCSAgKiBnc3Qvc3BlZWQvTWFrZWZpbGUuYW06CgkgICogZ3N0L3NwZWV4cmVzYW1wbGUvTWFrZWZpbGUuYW06CgkgICogZ3N0L3N0ZXJlby9NYWtlZmlsZS5hbToKCSAgKiBnc3Qvc3ViZW5jL01ha2VmaWxlLmFtOgoJICAqIGdzdC90dGEvTWFrZWZpbGUuYW06CgkgICogZ3N0L3ZiaWRlYy9NYWtlZmlsZS5hbToKCSAgKiBnc3QvdmlkZW9kcm9wL01ha2VmaWxlLmFtOgoJICAqIGdzdC92aWRlb3NpZ25hbC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvdmlydHVhbGR1Yi9NYWtlZmlsZS5hbToKCSAgKiBnc3Qvdm1uYy9NYWtlZmlsZS5hbToKCSAgKiBnc3QveTRtL01ha2VmaWxlLmFtOgoJICAqIHN5cy9hY21lbmMvTWFrZWZpbGUuYW06CgkgICogc3lzL2Nkcm9tL01ha2VmaWxlLmFtOgoJICAqIHN5cy9kc2hvd2RlY3dyYXBwZXIvTWFrZWZpbGUuYW06CgkgICogc3lzL2RzaG93c3Jjd3JhcHBlci9NYWtlZmlsZS5hbToKCSAgKiBzeXMvZHZiL01ha2VmaWxlLmFtOgoJICAqIHN5cy9keHIzL01ha2VmaWxlLmFtOgoJICAqIHN5cy9mYmRldi9NYWtlZmlsZS5hbToKCSAgKiBzeXMvb3NzNC9NYWtlZmlsZS5hbToKCSAgKiBzeXMvcWNhbS9NYWtlZmlsZS5hbToKCSAgKiBzeXMvcXR3cmFwcGVyL01ha2VmaWxlLmFtOgoJICAqIHN5cy92Y2QvTWFrZWZpbGUuYW06CgkgICogc3lzL3dpbmluZXQvTWFrZWZpbGUuYW06CgkgICogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICBEb24ndCBpbnN0YWxsIHN0YXRpYyBsaWJzIGZvciBwbHVnaW5zLiBGaXhlcyAjNTUwODUxIGZvciAtYmFkLgoKMjAwOC0xMC0wOSAxOTozODo1MiArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgW01PVkVEIEZST00gQkFEIDQzLzU2XSBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wLmM6IEZpeCB1bnVzZWQgdmFyaWFibGUgY29tcGlsZXIgd2FybmluZyB3aGVuIG5vdCBidWlsZGluZwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wLmM6CgkgIChnc3RfZGVpbnRlcmxhY2VfbWV0aG9kX3RvbXNtb2NvbXBfY2xhc3NfaW5pdCk6CgkgIEZpeCB1bnVzZWQgdmFyaWFibGUgY29tcGlsZXIgd2FybmluZyB3aGVuIG5vdCBidWlsZGluZwoJICBYODYgYXNzZW1ibHkuCgoyMDA4LTA4LTI4IDE3OjE2OjUxICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIFtNT1ZFRCBGUk9NIEJBRCA0Mi81Nl0gZ3N0L2RjY3AvOiBGaXggY29tcGlsYXRpb24gb24gU29sYXJpcyBieSBpbmNsdWRpbmcgZmlsaW8uaCBhcyBuZWVkZWQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9kY2NwL2dzdGRjY3AuYzoKCSAgKiBnc3QvZGNjcC9nc3RkY2NwY2xpZW50c3JjLmM6CgkgIEZpeCBjb21waWxhdGlvbiBvbiBTb2xhcmlzIGJ5IGluY2x1ZGluZyBmaWxpby5oIGFzIG5lZWRlZC4KCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wL1RvbXNNb0NvbXBBbGwuaW5jOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAvVG9tc01vQ29tcEFsbDIuaW5jOgoJICBGaXggY29tcGlsYXRpb24gd2l0aCBGb3J0ZSAtIGFwcGFyZW50bHkgaXQgaGF0ZXMgY29uY2F0ZW5hdGluZyBhCgkgIG1hY3JvIGFyZ3VtZW50IHRoYXQgc3RhcnRzIHdpdGggYW4gdW5kZXJzY29yZT8/CgoyMDA4LTA4LTI2IDEyOjMzOjE2ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBbTU9WRUQgRlJPTSBCQUQgNDEvNTZdIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAvOiBVbnJvbGwgdGhlIGxvb3AgdG8gaGFuZGxlIHR3byBieXRlcyBhdCBvbmNlLiBUaGlzIHNob3VsZCBnaXZlIGEgc21hbGwgc3BlZWR1cCBhbi4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wL1NlYXJjaExvb3BCb3R0b20uaW5jOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAvU2VhcmNoTG9vcFRvcC5pbmM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC9TdHJhbmdlQm9iLmluYzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wL1dpZXJkQm9iLmluYzoKCSAgVW5yb2xsIHRoZSBsb29wIHRvIGhhbmRsZSB0d28gYnl0ZXMgYXQgb25jZS4gVGhpcyBzaG91bGQgZ2l2ZQoJICBhIHNtYWxsIHNwZWVkdXAgYW5kIG1ha2VzIGl0IHBvc3NpYmxlIHRvIGhhbmRsZSBjaHJvbWEgYW5kIGx1bWEKCSAgZGlmZmVyZW50IHdoaWNoIGlzIG5lZWRlZCBsYXRlci4KCjIwMDgtMDgtMjUgMTQ6Mzc6NDUgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIFtNT1ZFRCBGUk9NIEJBRCA0MC81Nl0gZ3N0L2RlaW50ZXJsYWNlMi86IEZpcnN0IHBhcnQgb2YgdGhlIEMgaW1wbGVtZW50YXRpb24gb2YgdGhlIHRvbXNtb2NvbXAgZGVpbnRlcmxhY2luZyBhbGdvcml0aG0uIFRoaXMgb25seSBzdXBwb3J0cyBzLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9kZWludGVybGFjZTIvZ3N0ZGVpbnRlcmxhY2UyLmM6CgkgIChnc3RfZGVpbnRlcmxhY2VfbWV0aG9kX2NsYXNzX2luaXQpOgoJICAqIGdzdC9kZWludGVybGFjZTIvZ3N0ZGVpbnRlcmxhY2UyLmg6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC5jOgoJICAoZ3N0X2RlaW50ZXJsYWNlX21ldGhvZF90b21zbW9jb21wX2NsYXNzX2luaXQpOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAvU2VhcmNoTG9vcEJvdHRvbS5pbmM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC9TZWFyY2hMb29wVG9wLmluYzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wL1N0cmFuZ2VCb2IuaW5jOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAvVG9tc01vQ29tcEFsbC5pbmM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC9Ub21zTW9Db21wQWxsMi5pbmM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC9XaWVyZEJvYi5pbmM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC90b21zbW9jb21wbWFjcm9zLmg6CgkgIEZpcnN0IHBhcnQgb2YgdGhlIEMgaW1wbGVtZW50YXRpb24gb2YgdGhlIHRvbXNtb2NvbXAgZGVpbnRlcmxhY2luZwoJICBhbGdvcml0aG0uIFRoaXMgb25seSBzdXBwb3J0cyBzZWFyY2gtZWZmb3J0PTAgY3VycmVudGx5LCBpcyBwYWluZnVsbHkKCSAgc2xvdyBhbmQgbmVlZHMgc29tZSBjbGVhbnVwIGxhdGVyIHdoZW4gYWxsIHNlYXJjaC1lZmZvcnQgc2V0dGluZ3MKCSAgYXJlIGltcGxlbWVudGVkIGluIEMuCgoyMDA4LTA4LTAyIDE4OjQ4OjE3ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBbTU9WRUQgRlJPTSBCQUQgMzkvNTZdIGdzdC9kZWludGVybGFjZTIvOiBVc2Ugb2lsX21lbWNweSgpIGluc3RlYWQgb2YgbWVtY3B5KCkgYXMgaXQncyBmYXN0ZXIgZm9yIHRoZSBzaXplcyB0aGF0IGFyZSB1c3VhbGx5IHVzZWQgaGVyZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi9nc3RkZWludGVybGFjZTIuYzoKCSAgKGdzdF9kZWludGVybGFjZV9zaW1wbGVfbWV0aG9kX2ludGVycG9sYXRlX3NjYW5saW5lKSwKCSAgKGdzdF9kZWludGVybGFjZV9zaW1wbGVfbWV0aG9kX2NvcHlfc2NhbmxpbmUpLAoJICAoZ3N0X2RlaW50ZXJsYWNlX3NpbXBsZV9tZXRob2RfZGVpbnRlcmxhY2VfZnJhbWUpOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL2dyZWVkeS5jOiAoZGVpbnRlcmxhY2VfZnJhbWVfZGlfZ3JlZWR5KToKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9ncmVlZHloLmM6CgkgIChkZWludGVybGFjZV9mcmFtZV9kaV9ncmVlZHloKToKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9zY2FsZXJib2IuYzoKCSAgKGRlaW50ZXJsYWNlX3NjYW5saW5lX3NjYWxlcl9ib2IpOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAuYzogKEZpZWxkY29weSk6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvd2VhdmUuYzogKGRlaW50ZXJsYWNlX3NjYW5saW5lX3dlYXZlKSwKCSAgKGNvcHlfc2NhbmxpbmUpOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3dlYXZlYmZmLmM6IChkZWludGVybGFjZV9zY2FubGluZV93ZWF2ZSksCgkgIChjb3B5X3NjYW5saW5lKToKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS93ZWF2ZXRmZi5jOiAoZGVpbnRlcmxhY2Vfc2NhbmxpbmVfd2VhdmUpLAoJICAoY29weV9zY2FubGluZSk6CgkgIFVzZSBvaWxfbWVtY3B5KCkgaW5zdGVhZCBvZiBtZW1jcHkoKSBhcyBpdCdzIGZhc3RlciBmb3IgdGhlIHNpemVzIHRoYXQKCSAgYXJlIHVzdWFsbHkgdXNlZCBoZXJlLgoKMjAwOC0wOC0wMiAxODozNjoxMSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgW01PVkVEIEZST00gQkFEIDM4LzU2XSBnc3QvZGVpbnRlcmxhY2UyLzogQWRkIHRoZSByZW1haW5pbmcgdHZ0aW1lIGRlaW50ZXJsYWNpbmcgbWV0aG9kcyBhbmQgZml4IHRoZSBkZWludGVybGFjZV9mcmFtZSgpIGltcGxlbWVudGF0aW9uIG9mIEcuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi9NYWtlZmlsZS5hbToKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL2dzdGRlaW50ZXJsYWNlMi5jOgoJICAoZ3N0X2RlaW50ZXJsYWNlX3NpbXBsZV9tZXRob2RfZGVpbnRlcmxhY2VfZnJhbWUpLAoJICAoZ3N0X2RlaW50ZXJsYWNlMl9tZXRob2RzX2dldF90eXBlKSwgKGdzdF9kZWludGVybGFjZTJfc2V0X21ldGhvZCk6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi9nc3RkZWludGVybGFjZTIuaDoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9saW5lYXIuYzoKCSAgKGRlaW50ZXJsYWNlX3NjYW5saW5lX2xpbmVhcl9jKSwgKGRlaW50ZXJsYWNlX3NjYW5saW5lX2xpbmVhcl9tbXgpLAoJICAoZGVpbnRlcmxhY2Vfc2NhbmxpbmVfbGluZWFyX21teGV4dCksCgkgIChnc3RfZGVpbnRlcmxhY2VfbWV0aG9kX2xpbmVhcl9jbGFzc19pbml0KSwKCSAgKGdzdF9kZWludGVybGFjZV9tZXRob2RfbGluZWFyX2luaXQpOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL2xpbmVhcmJsZW5kLmM6CgkgIChkZWludGVybGFjZV9zY2FubGluZV9saW5lYXJfYmxlbmRfYyksCgkgIChkZWludGVybGFjZV9zY2FubGluZV9saW5lYXJfYmxlbmQyX2MpLAoJICAoZGVpbnRlcmxhY2Vfc2NhbmxpbmVfbGluZWFyX2JsZW5kX21teCksCgkgIChkZWludGVybGFjZV9zY2FubGluZV9saW5lYXJfYmxlbmQyX21teCksCgkgIChnc3RfZGVpbnRlcmxhY2VfbWV0aG9kX2xpbmVhcl9ibGVuZF9jbGFzc19pbml0KSwKCSAgKGdzdF9kZWludGVybGFjZV9tZXRob2RfbGluZWFyX2JsZW5kX2luaXQpOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3BsdWdpbnMuaDoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9zY2FsZXJib2IuYzoKCSAgKGRlaW50ZXJsYWNlX3NjYW5saW5lX3NjYWxlcl9ib2IpLAoJICAoZ3N0X2RlaW50ZXJsYWNlX21ldGhvZF9zY2FsZXJfYm9iX2NsYXNzX2luaXQpLAoJICAoZ3N0X2RlaW50ZXJsYWNlX21ldGhvZF9zY2FsZXJfYm9iX2luaXQpOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3dlYXZlLmM6IChkZWludGVybGFjZV9zY2FubGluZV93ZWF2ZSksCgkgIChjb3B5X3NjYW5saW5lKSwgKGdzdF9kZWludGVybGFjZV9tZXRob2Rfd2VhdmVfY2xhc3NfaW5pdCksCgkgIChnc3RfZGVpbnRlcmxhY2VfbWV0aG9kX3dlYXZlX2luaXQpOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3dlYXZlYmZmLmM6IChkZWludGVybGFjZV9zY2FubGluZV93ZWF2ZSksCgkgIChjb3B5X3NjYW5saW5lKSwgKGdzdF9kZWludGVybGFjZV9tZXRob2Rfd2VhdmVfYmZmX2NsYXNzX2luaXQpLAoJICAoZ3N0X2RlaW50ZXJsYWNlX21ldGhvZF93ZWF2ZV9iZmZfaW5pdCk6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvd2VhdmV0ZmYuYzogKGRlaW50ZXJsYWNlX3NjYW5saW5lX3dlYXZlKSwKCSAgKGNvcHlfc2NhbmxpbmUpLCAoZ3N0X2RlaW50ZXJsYWNlX21ldGhvZF93ZWF2ZV90ZmZfY2xhc3NfaW5pdCksCgkgIChnc3RfZGVpbnRlcmxhY2VfbWV0aG9kX3dlYXZlX3RmZl9pbml0KToKCSAgQWRkIHRoZSByZW1haW5pbmcgdHZ0aW1lIGRlaW50ZXJsYWNpbmcgbWV0aG9kcyBhbmQgZml4IHRoZQoJICBkZWludGVybGFjZV9mcmFtZSgpIGltcGxlbWVudGF0aW9uIG9mIEdzdERlaW50ZXJsYWNlU2ltcGxlTWV0aG9kLgoKMjAwOC0wOC0wMiAxODozMDo1NiArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgW01PVkVEIEZST00gQkFEIDM3LzU2XSBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS92ZmlyLmM6IEltcGxlbWVudCB0aGUgVkZJUiBkZWludGVybGFjaW5nIG1ldGhvZCBhcyBzaW1wbGUgbWV0aG9kLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS92ZmlyLmM6IChkZWludGVybGFjZV9saW5lX2MpLAoJICAoZGVpbnRlcmxhY2VfbGluZV9tbXgpLCAoZ3N0X2RlaW50ZXJsYWNlX21ldGhvZF92ZmlyX2NsYXNzX2luaXQpOgoJICBJbXBsZW1lbnQgdGhlIFZGSVIgZGVpbnRlcmxhY2luZyBtZXRob2QgYXMgc2ltcGxlIG1ldGhvZC4KCjIwMDgtMDgtMDIgMTg6MTg6NTQgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIFtNT1ZFRCBGUk9NIEJBRCAzNi81Nl0gZ3N0L2RlaW50ZXJsYWNlMi9nc3RkZWludGVybGFjZTIuKjogQWRkIGEgR3N0RGVpbnRlcmxhY2VTaW1wbGVNZXRob2Qgc3ViY2xhc3Mgb2YgR3N0RGVpbnRlcmxhY2VNZXRob2QgdGhhdCBjYW4gYmUgdXNlLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9kZWludGVybGFjZTIvZ3N0ZGVpbnRlcmxhY2UyLmM6CgkgIChnc3RfZGVpbnRlcmxhY2Vfc2ltcGxlX21ldGhvZF9pbnRlcnBvbGF0ZV9zY2FubGluZSksCgkgIChnc3RfZGVpbnRlcmxhY2Vfc2ltcGxlX21ldGhvZF9jb3B5X3NjYW5saW5lKSwKCSAgKGdzdF9kZWludGVybGFjZV9zaW1wbGVfbWV0aG9kX2RlaW50ZXJsYWNlX2ZyYW1lKSwKCSAgKGdzdF9kZWludGVybGFjZV9zaW1wbGVfbWV0aG9kX2NsYXNzX2luaXQpLAoJICAoZ3N0X2RlaW50ZXJsYWNlX3NpbXBsZV9tZXRob2RfaW5pdCk6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi9nc3RkZWludGVybGFjZTIuaDoKCSAgQWRkIGEgR3N0RGVpbnRlcmxhY2VTaW1wbGVNZXRob2Qgc3ViY2xhc3Mgb2YgR3N0RGVpbnRlcmxhY2VNZXRob2QgdGhhdAoJICBjYW4gYmUgdXNlZCBieSBzaW1wbGUgZGVpbnRlcmxhY2luZyBtZXRob2RzLiBUaGV5IG9ubHkgaGF2ZSB0byBwcm92aWRlCgkgIGEgZnVuY3Rpb24gZm9yIGludGVycG9sYXRpbmcgYSBzY2FubGluZSBvciBjb3B5aW5nIGEgc2NhbmxpbmUuCgoyMDA4LTA4LTAyIDE4OjE1OjQ5ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBbTU9WRUQgRlJPTSBCQUQgMzUvNTZdIGdzdC9kZWludGVybGFjZTIvZ3N0ZGVpbnRlcmxhY2UyLmM6IFJlc3BlY3QgdGhlIGxhdGVuY3kgb2YgdGhlIGRlaW50ZXJsYWNpbmcgYWxnb3JpdGhtIGZvciB0aGUgdGltZXN0YW1wcyBvZiBldmVyeSBidS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL2dzdGRlaW50ZXJsYWNlMi5jOiAoZ3N0X2RlaW50ZXJsYWNlMl9jaGFpbik6CgkgIFJlc3BlY3QgdGhlIGxhdGVuY3kgb2YgdGhlIGRlaW50ZXJsYWNpbmcgYWxnb3JpdGhtIGZvciB0aGUgdGltZXN0YW1wcwoJICBvZiBldmVyeSBidWZmZXIuCgoyMDA4LTA4LTAyIDE4OjEzOjIwICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBbTU9WRUQgRlJPTSBCQUQgMzQvNTZdIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lLzogQWRkIHRoZSBNTVggcmVnaXN0ZXJzIHRvIHRoZSBjbG9iYmVyZWQgcmVnaXN0ZXJzIG9ubHkgaWYgX19NTVhfXyBpcyBkZWZpbmVkLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9ncmVlZHloLmFzbToKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wL1NlYXJjaExvb3BCb3R0b20uaW5jOgoJICBBZGQgdGhlIE1NWCByZWdpc3RlcnMgdG8gdGhlIGNsb2JiZXJlZCByZWdpc3RlcnMgb25seSBpZiBfX01NWF9fIGlzCgkgIGRlZmluZWQuCgoyMDA4LTA4LTAyIDE4OjA5OjU2ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBbTU9WRUQgRlJPTSBCQUQgMzMvNTZdIGdzdC9kZWludGVybGFjZTIvOiBFbmFibGUgdG9tc21vY29tcCBhZ2FpbiBhcyB0aGUgQyBwb3J0IHdpbGwgYmUgcmVhZHkgZm9yIHRoZSBuZXh0IHJlbGVhc2UuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9kZWludGVybGFjZTIvTWFrZWZpbGUuYW06CgkgICogZ3N0L2RlaW50ZXJsYWNlMi9nc3RkZWludGVybGFjZTIuYzoKCSAgKGdzdF9kZWludGVybGFjZTJfbWV0aG9kc19nZXRfdHlwZSksIChnc3RfZGVpbnRlcmxhY2UyX3NldF9tZXRob2QpLAoJICAoZ3N0X2RlaW50ZXJsYWNlMl9jbGFzc19pbml0KToKCSAgRW5hYmxlIHRvbXNtb2NvbXAgYWdhaW4gYXMgdGhlIEMgcG9ydCB3aWxsIGJlIHJlYWR5IGZvciB0aGUgbmV4dAoJICByZWxlYXNlLgoKMjAwOC0wOC0wMiAxODowMjo0NCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgW01PVkVEIEZST00gQkFEIDMyLzU2XSBnc3QvZGVpbnRlcmxhY2UyL2dzdGRlaW50ZXJsYWNlMi5jOiBEb24ndCB1c2UgcHJveHlfZ2V0Y2FwcygpIGJ1dCBpbXBsZW1lbnQgb3VyIG93biBnZXRjYXBzKCkgZnVuY3Rpb24gdGhhdCBkb3VibGVzL2guLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi9nc3RkZWludGVybGFjZTIuYzogKGdzdF9kZWludGVybGFjZTJfaW5pdCksCgkgIChnc3RfZ3JlYXRlc3RfY29tbW9uX2Rpdmlzb3IpLCAoZ3N0X2ZyYWN0aW9uX2RvdWJsZSksCgkgIChnc3RfZGVpbnRlcmxhY2UyX2dldGNhcHMpLCAoZ3N0X2RlaW50ZXJsYWNlMl9zZXRjYXBzKToKCSAgRG9uJ3QgdXNlIHByb3h5X2dldGNhcHMoKSBidXQgaW1wbGVtZW50IG91ciBvd24gZ2V0Y2FwcygpIGZ1bmN0aW9uCgkgIHRoYXQgZG91Ymxlcy9oYWxmcyB0aGUgZnJhbWVyYXRlIGlmIGFsbCBmaWVsZHMgc2hvdWxkIGJlIHNlbnQgb3V0LgoKMjAwOC0wNy0xOCAwODozNDowNiArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgW01PVkVEIEZST00gQkFEIDMxLzU2XSBEaXNhYmxlIHRoZSB0b21zbW9jb21wIGFsZ29yaXRobSBmb3IgdGhpcyByZWxlYXNlIGFzIGl0J3MgYnVnZ3kgYW5kIGhhcyBubyBDIGltcGxlbWVudGF0aW9uIHlldC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAqIGdzdC9kZWludGVybGFjZTIvTWFrZWZpbGUuYW06CgkgICogZ3N0L2RlaW50ZXJsYWNlMi9nc3RkZWludGVybGFjZTIuYzoKCSAgKGdzdF9kZWludGVybGFjZTJfbWV0aG9kc19nZXRfdHlwZSksIChnc3RfZGVpbnRlcmxhY2UyX3NldF9tZXRob2QpLAoJICAoZ3N0X2RlaW50ZXJsYWNlMl9jbGFzc19pbml0KSwgKGdzdF9kZWludGVybGFjZTJfaW5pdCk6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi9nc3RkZWludGVybGFjZTIuaDoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9ncmVlZHkuYzoKCSAgKGdzdF9kZWludGVybGFjZV9tZXRob2RfZ3JlZWR5X2xfY2xhc3NfaW5pdCk6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvZ3JlZWR5aC5jOgoJICAoZ3N0X2RlaW50ZXJsYWNlX21ldGhvZF9ncmVlZHlfaF9jbGFzc19pbml0KToKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS92ZmlyLmM6CgkgIChnc3RfZGVpbnRlcmxhY2VfbWV0aG9kX3ZmaXJfY2xhc3NfaW5pdCk6CgkgIERpc2FibGUgdGhlIHRvbXNtb2NvbXAgYWxnb3JpdGhtIGZvciB0aGlzIHJlbGVhc2UgYXMgaXQncyBidWdneQoJICBhbmQgaGFzIG5vIEMgaW1wbGVtZW50YXRpb24geWV0LgoJICBCdWlsZCB0aGUgZGVpbnRlcmxhY2UyIHBsdWdpbiBvbiBhbGwgYXJjaGl0ZWN0dXJlcyBidXQgc3RpbGwgbWFyayBpdAoJICBhcyBleHBlcmltZW50YWwuCgkgIEJ1aWxkIHRoZSB4ODYgaW5saW5lIGFzc2VtYmx5IG9ubHkgaWYgR0NDIGlubGluZSBhc3NlbWJseSBpcyBzdXBwb3J0ZWQKCSAgYW5kIG9ubHkgb24geDg2IG9yIGFtZDY0LiBGaXhlcyBidWcgIzU0MzI4Ni4KCjIwMDgtMDctMTQgMTQ6MTM6NTQgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBbTU9WRUQgRlJPTSBCQUQgMzAvNTZdIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lLzogRml4IGJ1aWxkIG9uIHg4Nl82NAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9ncmVlZHkuYzoKCSAgKGdzdF9kZWludGVybGFjZV9tZXRob2RfZ3JlZWR5X2xfY2xhc3NfaW5pdCk6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvZ3JlZWR5aC5jOgoJICAoZ3N0X2RlaW50ZXJsYWNlX21ldGhvZF9ncmVlZHlfaF9jbGFzc19pbml0KToKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS92ZmlyLmM6CgkgIChnc3RfZGVpbnRlcmxhY2VfbWV0aG9kX3ZmaXJfY2xhc3NfaW5pdCk6CgkgIEZpeCBidWlsZCBvbiB4ODZfNjQKCjIwMDgtMDctMTMgMTA6NTY6NDUgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIFtNT1ZFRCBGUk9NIEJBRCAyOS81Nl0gZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvZ3JlZWR5aC5hc206IEFsd2F5cyB1c2UgdGhlIEMgaW1wbGVtZW50YXRpb24gaWYgd2lkdGggaXMgbm90IGEgbXVsdGlwbGUgb2YgNC4gVGhlIGFzc2VtYmx5IG9wLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL2dyZWVkeWguYXNtOgoJICBBbHdheXMgdXNlIHRoZSBDIGltcGxlbWVudGF0aW9uIGlmIHdpZHRoIGlzIG5vdCBhIG11bHRpcGxlIG9mIDQuIFRoZQoJICBhc3NlbWJseSBvcHRpbWl6ZWQgdmVyc2lvbiBvbmx5IGhhbmRsZSB0aGlzIGFuZCBjYWxsaW5nIHRoZSBDCgkgIGltcGxlbWVudGF0aW9uIGZvciB0aGUgcmVtYWluaW5nIHBhcnQgZG9lc24ndCB3b3JrIGJlY2F1c2UgaXQgbmVlZHMKCSAgcHJldmlvdXMgY2FsY3VsYXRpb25zLgoKMjAwOC0wNy0xMyAxMDo1MjowMyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgW01PVkVEIEZST00gQkFEIDI4LzU2XSBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS86IFNvbWUgY2xlYW51cCwgdXNlIDNETk9XIGluc3RlYWQgb2YgVEROT1cgaW4gbWFjcm9zLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9ncmVlZHloLmFzbToKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9ncmVlZHloLmM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvZ3JlZWR5aG1hY3Jvcy5oOgoJICBTb21lIGNsZWFudXAsIHVzZSAzRE5PVyBpbnN0ZWFkIG9mIFRETk9XIGluIG1hY3Jvcy4KCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wLmM6CgkgIChnc3RfZGVpbnRlcmxhY2VfbWV0aG9kX3RvbXNtb2NvbXBfY2xhc3NfaW5pdCk6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC9Ub21zTW9Db21wQWxsLmluYzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wL3RvbXNtb2NvbXBtYWNyb3MuaDoKCSAgVGhlIFNTRSBtZXRob2QgaW4gZmFjdCBvbmx5IG5lZWRzIE1NWEVYVCwgZGVjbGFyZSBpdCBhcyBzdWNoLgoKMjAwOC0wNy0wOCAxMzozMTozNyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgW01PVkVEIEZST00gQkFEIDI3LzU2XSBEb24ndCB1c2UgZGVjbGFyYXRpb25zIGFmdGVyIHN0YXRlbWVudHMgaW4gdGhlIHJlbWFpbmluZyBjb2RlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvc3BjL2dzdHNwYy5jOiAoc3BjX3NldHVwKToKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wL1NlYXJjaExvb3BUb3AuaW5jOgoJICBEb24ndCB1c2UgZGVjbGFyYXRpb25zIGFmdGVyIHN0YXRlbWVudHMgaW4gdGhlIHJlbWFpbmluZyBjb2RlLgoKMjAwOC0wNy0wNiAyMDo0Mzo1OCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgW01PVkVEIEZST00gQkFEIDI2LzU2XSBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wL1RvbXNNb0NvbXBBbGwyLmluYzogTWFyayBpbnRlcm5hbCBwcm9jZXNzaW5nIGZ1bmN0aW9ucyBhcyBzdGF0aWMgaW5saW5lIGZvciBxdWl0ZSAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC9Ub21zTW9Db21wQWxsMi5pbmM6CgkgIE1hcmsgaW50ZXJuYWwgcHJvY2Vzc2luZyBmdW5jdGlvbnMgYXMgc3RhdGljIGlubGluZSBmb3IgcXVpdGUgc29tZQoJICBzcGVlZHVwIGFzIHRoZXkncmUgdXNlZCBvbmx5IG9uY2UgYW5kIG5lZWQgdG8gZ2V0IG1hbnkgbG9jYWwgdmFyaWFibGVzCgkgIHBhc3NlZCBhcyBwYXJhbWV0ZXIuCgoyMDA4LTA3LTA1IDE5OjIwOjMwICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBbTU9WRUQgRlJPTSBCQUQgMjUvNTZdIGdzdC9kZWludGVybGFjZTIvZ3N0ZGVpbnRlcmxhY2UyLio6IENhbGwgdGhlIGN1cnJlbnQgaW5zdGFuY2UgInNlbGYiIGluc3RlYWQgb2YgIm9iamVjdCIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9kZWludGVybGFjZTIvZ3N0ZGVpbnRlcmxhY2UyLmM6CgkgIChnc3RfZGVpbnRlcmxhY2VfbWV0aG9kX2RlaW50ZXJsYWNlX2ZyYW1lKSwKCSAgKGdzdF9kZWludGVybGFjZTJfc2V0X21ldGhvZCksIChnc3RfZGVpbnRlcmxhY2UyX2luaXQpLAoJICAoZ3N0X2RlaW50ZXJsYWNlMl9yZXNldF9oaXN0b3J5KSwgKGdzdF9kZWludGVybGFjZTJfcmVzZXQpLAoJICAoZ3N0X2RlaW50ZXJsYWNlMl9zZXRfcHJvcGVydHkpLCAoZ3N0X2RlaW50ZXJsYWNlMl9nZXRfcHJvcGVydHkpLAoJICAoZ3N0X2RlaW50ZXJsYWNlMl9wb3BfaGlzdG9yeSksIChnc3RfZGVpbnRlcmxhY2UyX2hlYWRfaGlzdG9yeSksCgkgIChnc3RfZGVpbnRlcmxhY2UyX3B1c2hfaGlzdG9yeSksIChnc3RfZGVpbnRlcmxhY2UyX2NoYWluKSwKCSAgKGdzdF9kZWludGVybGFjZTJfc2V0Y2FwcyksIChnc3RfZGVpbnRlcmxhY2UyX3NpbmtfZXZlbnQpLAoJICAoZ3N0X2RlaW50ZXJsYWNlMl9jaGFuZ2Vfc3RhdGUpLCAoZ3N0X2RlaW50ZXJsYWNlMl9zcmNfZXZlbnQpLAoJICAoZ3N0X2RlaW50ZXJsYWNlMl9zcmNfcXVlcnkpOgoJICAqIGdzdC9kZWludGVybGFjZTIvZ3N0ZGVpbnRlcmxhY2UyLmg6CgkgIENhbGwgdGhlIGN1cnJlbnQgaW5zdGFuY2UgInNlbGYiIGluc3RlYWQgb2YgIm9iamVjdCIuCgoyMDA4LTA3LTA1IDE5OjExOjU2ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBbTU9WRUQgRlJPTSBCQUQgMjQvNTZdIGdzdC9kZWludGVybGFjZTIvZ3N0ZGVpbnRlcmxhY2UyLio6IEluY2x1ZGUgbGF0ZW5jeSBvZiB0aGUgbWV0aG9kIGluIHRoZSByZXR1cm5lZCBsYXRlbmN5LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL2dzdGRlaW50ZXJsYWNlMi5jOgoJICAoZ3N0X2RlaW50ZXJsYWNlX21ldGhvZF9nZXRfbGF0ZW5jeSksCgkgIChnc3RfZGVpbnRlcmxhY2UyX3NldF9tZXRob2QpLCAoZ3N0X2RlaW50ZXJsYWNlMl9jbGFzc19pbml0KSwKCSAgKGdzdF9kZWludGVybGFjZTJfcHVzaF9oaXN0b3J5KSwgKGdzdF9kZWludGVybGFjZTJfY2hhaW4pLAoJICAoZ3N0X2RlaW50ZXJsYWNlMl9zZXRjYXBzKSwgKGdzdF9kZWludGVybGFjZTJfc3JjX3F1ZXJ5KToKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL2dzdGRlaW50ZXJsYWNlMi5oOgoJICBJbmNsdWRlIGxhdGVuY3kgb2YgdGhlIG1ldGhvZCBpbiB0aGUgcmV0dXJuZWQgbGF0ZW5jeS4KCSAgRml4IG91dHB1dHRpbmcgb2YgYWxsIGZpZWxkcywgaS5lLiBkb3VibGluZyBvZiB0aGUgZnJhbWVyYXRlLgoKMjAwOC0wNy0wNSAxNjo0NzozMiArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgW01PVkVEIEZST00gQkFEIDIzLzU2XSBnc3QvZGVpbnRlcmxhY2UyLzogVXNlIGEgR3N0T2JqZWN0IHN1YnR5cGUgZm9yIHRoZSBkZWludGVybGFjaW5nIG1ldGhvZHMgYW5kIGV4cG9ydCB0aGUgZGlmZmVyZW50IHNldHRpbmdzIGZvciBlYWNoIGQuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi9NYWtlZmlsZS5hbToKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL2dzdGRlaW50ZXJsYWNlMi5jOgoJICAoZ3N0X2RlaW50ZXJsYWNlX21ldGhvZF9jbGFzc19pbml0KSwgKGdzdF9kZWludGVybGFjZV9tZXRob2RfaW5pdCksCgkgIChnc3RfZGVpbnRlcmxhY2VfbWV0aG9kX2RlaW50ZXJsYWNlX2ZyYW1lKSwKCSAgKGdzdF9kZWludGVybGFjZV9tZXRob2RfZ2V0X2ZpZWxkc19yZXF1aXJlZCksCgkgIChnc3RfZGVpbnRlcmxhY2UyX21ldGhvZHNfZ2V0X3R5cGUpLCAoX2RvX2luaXQpLAoJICAoZ3N0X2RlaW50ZXJsYWNlMl9zZXRfbWV0aG9kKSwgKGdzdF9kZWludGVybGFjZTJfY2xhc3NfaW5pdCksCgkgIChnc3RfZGVpbnRlcmxhY2UyX2NoaWxkX3Byb3h5X2dldF9jaGlsZF9ieV9pbmRleCksCgkgIChnc3RfZGVpbnRlcmxhY2UyX2NoaWxkX3Byb3h5X2dldF9jaGlsZHJlbl9jb3VudCksCgkgIChnc3RfZGVpbnRlcmxhY2UyX2NoaWxkX3Byb3h5X2ludGVyZmFjZV9pbml0KSwKCSAgKGdzdF9kZWludGVybGFjZTJfaW5pdCksIChnc3RfZGVpbnRlcmxhY2UyX2ZpbmFsaXplKSwKCSAgKGdzdF9kZWludGVybGFjZTJfY2hhaW4pLCAoZ3N0X2RlaW50ZXJsYWNlMl9zcmNfcXVlcnkpOgoJICAqIGdzdC9kZWludGVybGFjZTIvZ3N0ZGVpbnRlcmxhY2UyLmg6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvZ3JlZWR5LmM6CgkgIChkZWludGVybGFjZV9ncmVlZHlfcGFja2VkNDIyX3NjYW5saW5lX2MpLAoJICAoZGVpbnRlcmxhY2VfZ3JlZWR5X3BhY2tlZDQyMl9zY2FubGluZV9tbXgpLAoJICAoZGVpbnRlcmxhY2VfZ3JlZWR5X3BhY2tlZDQyMl9zY2FubGluZV9tbXhleHQpLAoJICAoZGVpbnRlcmxhY2VfZnJhbWVfZGlfZ3JlZWR5KSwKCSAgKGdzdF9kZWludGVybGFjZV9tZXRob2RfZ3JlZWR5X2xfc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9kZWludGVybGFjZV9tZXRob2RfZ3JlZWR5X2xfZ2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9kZWludGVybGFjZV9tZXRob2RfZ3JlZWR5X2xfY2xhc3NfaW5pdCksCgkgIChnc3RfZGVpbnRlcmxhY2VfbWV0aG9kX2dyZWVkeV9sX2luaXQpOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL2dyZWVkeWguYXNtOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL2dyZWVkeWguYzogKGdyZWVkeURTY2FsZXJfQyksCgkgIChkZWludGVybGFjZV9mcmFtZV9kaV9ncmVlZHloKSwKCSAgKGdzdF9kZWludGVybGFjZV9tZXRob2RfZ3JlZWR5X2hfc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9kZWludGVybGFjZV9tZXRob2RfZ3JlZWR5X2hfZ2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9kZWludGVybGFjZV9tZXRob2RfZ3JlZWR5X2hfY2xhc3NfaW5pdCksCgkgIChnc3RfZGVpbnRlcmxhY2VfbWV0aG9kX2dyZWVkeV9oX2luaXQpOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL2dyZWVkeWguaDoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9wbHVnaW5zLmg6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC5jOgoJICAoZ3N0X2RlaW50ZXJsYWNlX21ldGhvZF90b21zbW9jb21wX3NldF9wcm9wZXJ0eSksCgkgIChnc3RfZGVpbnRlcmxhY2VfbWV0aG9kX3RvbXNtb2NvbXBfZ2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9kZWludGVybGFjZV9tZXRob2RfdG9tc21vY29tcF9jbGFzc19pbml0KSwKCSAgKGdzdF9kZWludGVybGFjZV9tZXRob2RfdG9tc21vY29tcF9pbml0KToKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wLmg6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC9Ub21zTW9Db21wQWxsLmluYzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS92ZmlyLmM6IChkZWludGVybGFjZV9mcmFtZV92ZmlyKSwKCSAgKGdzdF9kZWludGVybGFjZV9tZXRob2RfdmZpcl9jbGFzc19pbml0KSwKCSAgKGdzdF9kZWludGVybGFjZV9tZXRob2RfdmZpcl9pbml0KToKCSAgVXNlIGEgR3N0T2JqZWN0IHN1YnR5cGUgZm9yIHRoZSBkZWludGVybGFjaW5nIG1ldGhvZHMgYW5kIGV4cG9ydAoJICB0aGUgZGlmZmVyZW50IHNldHRpbmdzIGZvciBlYWNoIGRlaW50ZXJsYWNpbmcgbWV0aG9kIHZpYSBHT2JqZWN0CgkgIHByb3BlcnRpZXMuCgkgIEltcGxlbWVudCBHc3RDaGlsZFByb3h5IGludGVyZmFjZSB0byBhbGxvdyBhY2Nlc3MgdG8gdGhlIHVzZWQKCSAgZGVpbnRlcmxhY2luZyBtZXRob2QgYW5kIHRvIGFsbG93IGFkanVzdGluZyB0aGUgZGlmZmVyZW50IHNldHRpbmdzLgoJICBNb3ZlIGdsb2JhbCB2YXJpYWJsZXMgb2YgdGhlIHRvbXNtb2NvbXAgZGVpbnRlcmxhY2luZyBtZXRob2QgaW50bwoJICBmdW5jdGlvbiBsb2NhbCB2YXJpYWJsZXMgdG8gbWFrZSBpdCBwb3NzaWJsZSB0byB1c2UgdGhpcyBkZWludGVybGFjaW5nCgkgIG1ldGhvZCBmcm9tIGRpZmZlcmVudCBpbnN0YW5jZXMuCgoyMDA4LTA3LTA1IDEyOjIyOjM3ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBbTU9WRUQgRlJPTSBCQUQgMjIvNTZdIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL2dyZWVkeWguYXNtOiBTdXBwb3J0IHdpZHRocyB0aGF0IGFyZSBub3QgYSBtdWx0aXBseSBvZiA0IHdoZW4gdXNpbmcgdGhlIGFzc2VtYmx5IG9wdGltaXplZCBnci4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9ncmVlZHloLmFzbToKCSAgU3VwcG9ydCB3aWR0aHMgdGhhdCBhcmUgbm90IGEgbXVsdGlwbHkgb2YgNCB3aGVuIHVzaW5nIHRoZSBhc3NlbWJseQoJICBvcHRpbWl6ZWQgZ3JlZWR5aCBpbXBsZW1lbnRhdGlvbnMuCgoyMDA4LTA3LTA0IDE4OjU0OjE1ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBbTU9WRUQgRlJPTSBCQUQgMjEvNTZdIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL2dyZWVkeWguYzogT25seSBidWlsZCB0aGUgYXNzZW1ibHkgb3B0aW1pemVkIGltcGxlbWVudGF0aW9ucyBvbiB4ODYuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL2dyZWVkeWguYzoKCSAgKGRlaW50ZXJsYWNlX2ZyYW1lX2RpX2dyZWVkeWgpOgoJICBPbmx5IGJ1aWxkIHRoZSBhc3NlbWJseSBvcHRpbWl6ZWQgaW1wbGVtZW50YXRpb25zIG9uIHg4Ni4KCjIwMDgtMDYtMzAgMDc6NTE6MDcgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIFtNT1ZFRCBGUk9NIEJBRCAyMC81Nl0gZ3N0L2RlaW50ZXJsYWNlMi86IFJlbW92ZSB1c2VsZXNzIGZpbGUgYW5kIG1hcmsgZXZlcnl0aGluZyBwb3NzaWJsZSBhcyBzdGF0aWMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9kZWludGVybGFjZTIvTWFrZWZpbGUuYW06CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC5jOiAodG9tc21vY29tcF9pbml0KSwKCSAgKHRvbXNtb2NvbXBfZmlsdGVyX21teCksICh0b21zbW9jb21wX2ZpbHRlcl8zZG5vdyksCgkgICh0b21zbW9jb21wX2ZpbHRlcl9zc2UpLCAoZGVpbnRlcmxhY2VfZnJhbWVfZGlfdG9tc21vY29tcCk6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC5oOgoJICBSZW1vdmUgdXNlbGVzcyBmaWxlIGFuZCBtYXJrIGV2ZXJ5dGhpbmcgcG9zc2libGUgYXMgc3RhdGljLgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL2dyZWVkeS5jOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL2dyZWVkeWguYzoKCSAgVXNlICJfc3RkaW50LmgiIGluc3RlYWQgb2YgPHN0ZGludC5oPi4KCjIwMDgtMDYtMjkgMTA6NTY6NDcgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIFtNT1ZFRCBGUk9NIEJBRCAxOS81Nl0gZ3N0L2RlaW50ZXJsYWNlMi86IEdldCByaWQgb2Ygc3BlZWR5LltjaF0gYXMgd2UgZG9uJ3QgdXNlIG1vc3Qgb2YgaXQncyBjb2RlIGFueXdheSBhbmQgaXQgZG9lc24ndCBzZWVtIHRvIGJlIHJlbGljZW5zLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9kZWludGVybGFjZTIvTWFrZWZpbGUuYW06CgkgICogZ3N0L2RlaW50ZXJsYWNlMi9nc3RkZWludGVybGFjZTIuYzogKGdzdF9kZWludGVybGFjZTJfaW5pdCk6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvZ3JlZWR5LmM6IChkZWludGVybGFjZV9mcmFtZV9kaV9ncmVlZHkpOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL2dyZWVkeWguYzoKCSAgKGRlaW50ZXJsYWNlX2ZyYW1lX2RpX2dyZWVkeWgpOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3NwZWVkdG9vbHMuaDoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9zcGVlZHkuYzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9zcGVlZHkuaDoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wLmM6IChGaWVsZGNvcHkpOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAvVG9tc01vQ29tcEFsbC5pbmM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdmZpci5jOiAoZGVpbnRlcmxhY2VfZnJhbWVfdmZpcik6CgkgIEdldCByaWQgb2Ygc3BlZWR5LltjaF0gYXMgd2UgZG9uJ3QgdXNlIG1vc3Qgb2YgaXQncyBjb2RlIGFueXdheQoJICBhbmQgaXQgZG9lc24ndCBzZWVtIHRvIGJlIHJlbGljZW5zZWQgdG8gTEdQTC4gVXNlIG1lbWNweSgpIGluc3RlYWQKCSAgb2YgdGhlIHNwZWVkeSBtZW1jcHkgZXZlcnl3aGVyZSBpbnN0ZWFkLgoJICAqIGdzdC9kZWludGVybGFjZTIvZ3N0ZGVpbnRlcmxhY2UyLmg6CgkgIFJlbW92ZSBtYW55IHVudXNlZCBkZWNsYXJhdGlvbnMuCgoyMDA4LTA2LTI4IDE4OjEzOjA4ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBbTU9WRUQgRlJPTSBCQUQgMTgvNTZdIGdzdC9kZWludGVybGFjZTIvZ3N0ZGVpbnRlcmxhY2UyLmM6IERpdmlkZSBsYXRlbmN5IGJlIDIgdG8gY29udmVydCBmcm9tIGZpZWxkcyB0byBmcmFtZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9kZWludGVybGFjZTIvZ3N0ZGVpbnRlcmxhY2UyLmM6IChnc3RfZGVpbnRlcmxhY2UyX3NyY19xdWVyeSk6CgkgIERpdmlkZSBsYXRlbmN5IGJlIDIgdG8gY29udmVydCBmcm9tIGZpZWxkcyB0byBmcmFtZXMuCgoyMDA4LTA2LTI4IDE4OjEwOjUyICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBbTU9WRUQgRlJPTSBCQUQgMTcvNTZdIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL2dyZWVkeS5jOiBEb24ndCB1c2Ugc2NhbmxpbmVzIGZ1bmN0aW9uIGZyb20gZ3N0ZGVpbnRlcmxhY2UyIGFzIGl0J3Mgbm90IGFwcHJvcGlhdGUgZm9yIHRoaXMgbS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9ncmVlZHkuYzoKCSAgKGRlaW50ZXJsYWNlX2dyZWVkeV9wYWNrZWQ0MjJfc2NhbmxpbmVfYyksCgkgIChkZWludGVybGFjZV9ncmVlZHlfcGFja2VkNDIyX3NjYW5saW5lX21teCksCgkgIChkZWludGVybGFjZV9ncmVlZHlfcGFja2VkNDIyX3NjYW5saW5lX21teGV4dCksCgkgIChkZWludGVybGFjZV9mcmFtZV9kaV9ncmVlZHkpOgoJICBEb24ndCB1c2Ugc2NhbmxpbmVzIGZ1bmN0aW9uIGZyb20gZ3N0ZGVpbnRlcmxhY2UyIGFzIGl0J3MKCSAgbm90IGFwcHJvcGlhdGUgZm9yIHRoaXMgbWV0aG9kLiBJbnN0ZWFkIGltcGxlbWVudCBkZWludGVybGFjZV9mcmFtZQoJICBmdW5jdGlvbiBieSB0YWtpbmcgdGhlIG9uZSBmcm9tIGdyZWVkeWguCgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvZ3JlZWR5aC5jOiAoZ3JlZWR5RFNjYWxlcl9DKToKCSAgU21hbGwgZml4IGZvciB0aGUgQyBpbXBsZW1lbnRhdGlvbi4KCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS92ZmlyLmM6IChkZWludGVybGFjZV9mcmFtZV92ZmlyKToKCSAgRG9uJ3QgdXNlIHRoZSBzY2FubGluZXMgZnVuY3Rpb24gZnJvbSBnc3RkZWludGVybGFjZTIgYXMgaXQncyBvbmx5CgkgIHVzZWQgZm9yIHRoaXMgbWV0aG9kIGFuZCB3aWxsIGJlIHJlbW92ZWQuIEluc3RlYWQgaW1wbGVtZW50CgkgIGRlaW50ZXJsYWNlX2ZyYW1lIGZ1bmN0aW9uIGFuZCBtYWtlIGl0IGEgYml0IG1vcmUgZWZmaWNpZW50LgoJICAqIGdzdC9kZWludGVybGFjZTIvZ3N0ZGVpbnRlcmxhY2UyLmM6CgkgIChnc3RfZGVpbnRlcmxhY2UyX2NsYXNzX2luaXQpLCAoZ3N0X2RlaW50ZXJsYWNlMl9zZXRfbWV0aG9kKSwKCSAgKGdzdF9kZWludGVybGFjZTJfcHVzaF9oaXN0b3J5KSwgKGdzdF9kZWludGVybGFjZTJfY2hhaW4pLAoJICAoZ3N0X2RlaW50ZXJsYWNlMl9zZXRjYXBzKSwgKGdzdF9kZWludGVybGFjZTJfc2lua19ldmVudCksCgkgIChnc3RfZGVpbnRlcmxhY2UyX2NoYW5nZV9zdGF0ZSksIChnc3RfZGVpbnRlcmxhY2UyX3NyY19ldmVudCksCgkgIChnc3RfZGVpbnRlcmxhY2UyX3NyY19xdWVyeSk6CgkgIEZpeCBjb2Rpbmcgc3R5bGUgYW5kIHJlbW92ZSBzY2FubGluZXMgZnVuY3Rpb24gYXMgaXQncyB1bnVzZWQgbm93LgoKMjAwOC0wNi0yOCAxNzoyNTo1NiArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgW01PVkVEIEZST00gQkFEIDE2LzU2XSBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS86IEFkZCBhIEMgaW1wbGVtZW50YXRpb24gZm9yIHRoZSBncmVlZHloIGRlaW50ZXJsYWNpbmcgbWV0aG9kLCBjbGVhbiB1cCB0aGUgY29kZSBhIGJpdCBhbmQgbWEuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvZ3JlZWR5aC5hc206CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvZ3JlZWR5aC5jOiAoZ3JlZWR5RFNjYWxlcl9DKSwKCSAgKGRlaW50ZXJsYWNlX2ZyYW1lX2RpX2dyZWVkeWgpLCAoZHNjYWxlcl9ncmVlZHloX2dldF9tZXRob2QpOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL2dyZWVkeWhtYWNyb3MuaDoKCSAgQWRkIGEgQyBpbXBsZW1lbnRhdGlvbiBmb3IgdGhlIGdyZWVkeWggZGVpbnRlcmxhY2luZyBtZXRob2QsIGNsZWFuCgkgIHVwIHRoZSBjb2RlIGEgYml0IGFuZCBtYXJrIHRoZSBTU0UgdmVyc2lvbiBhcyBNTVhFWFQgYXMgaXQgZG9lc24ndAoJICByZXF1aXJlIGFueSBTU0UgaW5zdHJ1Y3Rpb25zLgoKMjAwOC0wNi0yNyAxMzoyMjozNCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgW01PVkVEIEZST00gQkFEIDE1LzU2XSBnc3QvZGVpbnRlcmxhY2UyL2dzdGRlaW50ZXJsYWNlMi5jOiBJZiB3ZSdyZSBvdXRwdXR0aW5nIGFsbCBmaWVsZHMgdGhlIGZyYW1lcmF0ZSBoYXMgdG8gYmUgZG91YmxlZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi9nc3RkZWludGVybGFjZTIuYzoKCSAgKGdzdF9kZWludGVybGFjZTJfc2V0X3Byb3BlcnR5KSwgKGdzdF9kZWludGVybGFjZTJfY2hhaW4pLAoJICAoZ3N0X2RlaW50ZXJsYWNlMl9zZXRjYXBzKToKCSAgSWYgd2UncmUgb3V0cHV0dGluZyBhbGwgZmllbGRzIHRoZSBmcmFtZXJhdGUgaGFzIHRvIGJlIGRvdWJsZWQuCgkgIFNldCBkdXJhdGlvbiBvbiB0aGUgb3V0Z29pbmcgYnVmZmVycy4KCjIwMDgtMDYtMjUgMTY6MDU6MDggKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBbTU9WRUQgRlJPTSBCQUQgMTQvNTZdIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAvdG9tc21vY29tcG1hY3Jvcy5oOiBSZW1vdmUgdW5uZWVkZWQgbWFjcm9zIHRoYXQgYnJlYWsgYnVpbGQgb24gbWFjb3N4LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wL3RvbXNtb2NvbXBtYWNyb3MuaDoKCSAgUmVtb3ZlIHVubmVlZGVkIG1hY3JvcyB0aGF0IGJyZWFrIGJ1aWxkIG9uIG1hY29zeC4KCjIwMDgtMDYtMjQgMTI6MDg6NDcgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIFtNT1ZFRCBGUk9NIEJBRCAxMy81Nl0gZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvZ3JlZWR5LmM6IE9wdGltaXplIE1NWC9NTVhFWFQgaW1wbGVtZW50YXRpb25zIGEgYml0IGJ5IHJlcXVpcmluZyB0d28gbGVzcyBtZW1vcnkgYWNjZXNzZXMgYW5kLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL2dyZWVkeS5jOgoJICAoZGVpbnRlcmxhY2VfZ3JlZWR5X3BhY2tlZDQyMl9zY2FubGluZV9tbXgpLAoJICAoZGVpbnRlcmxhY2VfZ3JlZWR5X3BhY2tlZDQyMl9zY2FubGluZV9tbXhleHQpOgoJICBPcHRpbWl6ZSBNTVgvTU1YRVhUIGltcGxlbWVudGF0aW9ucyBhIGJpdCBieSByZXF1aXJpbmcgdHdvIGxlc3MKCSAgbWVtb3J5IGFjY2Vzc2VzIGFuZCBmaXggdGhlIHdvcmthcm91bmQgZm9yIHRoZSBtaXNzaW5nIHJpZ2h0IHNoaWZ0CgkgIG9uIGJ5dGVzIHRvIHVuc2V0IHRoZSBoaWdoZXN0IGJpdCBvZiBldmVyeSBieXRlLgoKMjAwOC0wNi0yNCAxMDoxNTo0MSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgW01PVkVEIEZST00gQkFEIDEyLzU2XSBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9ncmVlZHkuYzogUmVtb3ZlIHNmZW5jZSBpbnN0cnVjdGlvbiBhcyBpdCdzIG5vdCBuZWVkZWQgYW5kIGFjdHVhbGx5IGlzIGFuIFNTRSBpbnN0cnVjdGlvbi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvZ3JlZWR5LmM6CgkgIChkZWludGVybGFjZV9ncmVlZHlfcGFja2VkNDIyX3NjYW5saW5lX21teGV4dCk6CgkgIFJlbW92ZSBzZmVuY2UgaW5zdHJ1Y3Rpb24gYXMgaXQncyBub3QgbmVlZGVkIGFuZCBhY3R1YWxseSBpcyBhbiBTU0UKCSAgaW5zdHJ1Y3Rpb24uCgoyMDA4LTA2LTI0IDEwOjEyOjA4ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBbTU9WRUQgRlJPTSBCQUQgMTEvNTZdIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL2dyZWVkeS5jOiBBZGQgcGxhaW4gTU1YIGltcGxlbWVudGF0aW9uIGZvciB0aGUgZ3JlZWR5bCBtZXRob2QuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL2dyZWVkeS5jOgoJICAoZGVpbnRlcmxhY2VfZ3JlZWR5X3BhY2tlZDQyMl9zY2FubGluZV9tbXgpLAoJICAoZGVpbnRlcmxhY2VfZ3JlZWR5X3BhY2tlZDQyMl9zY2FubGluZSk6CgkgIEFkZCBwbGFpbiBNTVggaW1wbGVtZW50YXRpb24gZm9yIHRoZSBncmVlZHlsIG1ldGhvZC4KCjIwMDgtMDYtMjQgMDk6NDA6MDMgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIFtNT1ZFRCBGUk9NIEJBRCAxMC81Nl0gZ3N0L2RlaW50ZXJsYWNlMi9NYWtlZmlsZS5hbTogTW92ZSB0aGUgYXNzZW1ibHkgaW5jbHVkZXMgdG8gbm9pbnN0X0hFQURFUlMgd2hlcmUgdGhleSBiZWxvbmcuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9kZWludGVybGFjZTIvTWFrZWZpbGUuYW06CgkgIE1vdmUgdGhlIGFzc2VtYmx5IGluY2x1ZGVzIHRvIG5vaW5zdF9IRUFERVJTIHdoZXJlIHRoZXkgYmVsb25nLgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3ZmaXIuYzogKGRlaW50ZXJsYWNlX2xpbmVfYyksCgkgIChkZWludGVybGFjZV9saW5lX21teCk6CgkgIEZpeCBDIGFuZCBNTVggaW1wbGVtZW50YXRpb25zIGEgYml0IG1vcmUuCgoyMDA4LTA2LTI0IDA5OjEwOjQ2ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBbTU9WRUQgRlJPTSBCQUQgMDkvNTZdIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL2dyZWVkeS5jOiBGaXggdGhlIEMgaW1wbGVtZW50YXRpb24gdG8gcHJvZHVjZSBjb3JyZWN0IHJlc3VsdHMgYW5kIG9wdGltaXplIHRoZQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9ncmVlZHkuYzoKCSAgKGRlaW50ZXJsYWNlX2dyZWVkeV9wYWNrZWQ0MjJfc2NhbmxpbmVfYyksCgkgIChkZWludGVybGFjZV9ncmVlZHlfcGFja2VkNDIyX3NjYW5saW5lX21teGV4dCksCgkgIChkZWludGVybGFjZV9ncmVlZHlfcGFja2VkNDIyX3NjYW5saW5lKToKCSAgRml4IHRoZSBDIGltcGxlbWVudGF0aW9uIHRvIHByb2R1Y2UgY29ycmVjdCByZXN1bHRzIGFuZCBvcHRpbWl6ZSB0aGUKCSAgTU1YRVhUIGltcGxlbWVudGF0aW9uLgoJICBIYW5kbGUgb2RkIHdpZHRocyBhbmQgZG9uJ3QgcmVhZCBvdmVyIGFycmF5IGJvdW5kYXJpZXMgaW4gdGhlIE1NWEVYVAoJICBpbXBsZW1lbnRhdGlvbi4KCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS92ZmlyLmM6IChkZWludGVybGFjZV9saW5lX2MpLAoJICAoZGVpbnRlcmxhY2VfbGluZV9tbXgpLCAoZGVpbnRlcmxhY2Vfc2NhbmxpbmVfdmZpcik6CgkgIEZpeCBhIHNtYWxsIHJvdW5kaW5nIGJ1ZyBpbiB0aGUgTU1YIGltcGxlbWVudGF0aW9uLCB0aGUgTU1YCgkgIGltcGxlbWVudGF0aW9uIGRvZXNuJ3QgYWN0dWFsbHkgbmVlZCBNTVhFWFQgaW5zdHJ1Y3Rpb25zIHNvIGRvbid0IG1hcmsKCSAgaXQgYXMgc3VjaC4KCSAgSGFuZGxlIG9kZCB3aWR0aHMgaW4gYm90aCBpbXBsZW1lbnRhdGlvbnMuCgoyMDA4LTA2LTIxIDA5OjA1OjAwICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBbTU9WRUQgRlJPTSBCQUQgMDgvNTZdIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL2dyZWVkeS5jOiBJbXBsZW1lbnQgYSBDIHZlcnNpb24gb2YgdGhlIGdyZWVkeSBsb3cgbW90aW9uIGFsZ29yaXRobSBhbmQgbWFyayB0aGUgYXNzZW1ibHkgb3B0aS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9ncmVlZHkuYzoKCSAgKGRlaW50ZXJsYWNlX2dyZWVkeV9wYWNrZWQ0MjJfc2NhbmxpbmVfc3NlKSwKCSAgKGRlaW50ZXJsYWNlX2dyZWVkeV9wYWNrZWQ0MjJfc2NhbmxpbmVfYyksCgkgIChkZWludGVybGFjZV9ncmVlZHlfcGFja2VkNDIyX3NjYW5saW5lKToKCSAgSW1wbGVtZW50IGEgQyB2ZXJzaW9uIG9mIHRoZSBncmVlZHkgbG93IG1vdGlvbiBhbGdvcml0aG0gYW5kIG1hcmsgdGhlCgkgIGFzc2VtYmx5IG9wdGltaXplZCB2ZXJzaW9uIGFzIFNTRSBhcyBpdCB1c2VzIFNTRSBpbnN0cnVjdGlvbnMKCSAgYWRkaXRpb25hbCB0byBNTVggaW5zdHJ1Y3Rpb25zLgoKMjAwOC0wNi0yMCAxNDo0ODo0MCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgW01PVkVEIEZST00gQkFEIDA3LzU2XSBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS92ZmlyLmM6IE1ha2UgaXQgcG9zc2libGUgdG8gdXNlIHRoZSB2ZmlyIG1ldGhvZCBvbiBYODYgQ1BVcyB3aXRob3V0IE1NWEVYVCB0b28gYnV0IHVzZSB0aGUgTU0uLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdmZpci5jOiAoZGVpbnRlcmxhY2VfbGluZV9tbXhleHQpLAoJICAoZGVpbnRlcmxhY2VfbGluZV9jKSwgKGRlaW50ZXJsYWNlX3NjYW5saW5lX3ZmaXIpOgoJICBNYWtlIGl0IHBvc3NpYmxlIHRvIHVzZSB0aGUgdmZpciBtZXRob2Qgb24gWDg2IENQVXMgd2l0aG91dCBNTVhFWFQgdG9vCgkgIGJ1dCB1c2UgdGhlIE1NWEVYVCBvcHRpbWl6ZWQgY29kZSB3aGVuZXZlciBwb3NzaWJsZS4KCjIwMDgtMDYtMjAgMTQ6MzU6MjUgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIFtNT1ZFRCBGUk9NIEJBRCAwNi81Nl0gZ3N0L2RlaW50ZXJsYWNlMi9nc3RkZWludGVybGFjZTIuKjogUmVzZXQgZWxlbWVudCBzdGF0ZSBvbiBQQVVTRUQtPlJFQURZIHByb3Blcmx5LCBkb24ndCBsZWFrIGFueSBidWZmZXJzIHdoZW4gZmluYWxpLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9kZWludGVybGFjZTIvZ3N0ZGVpbnRlcmxhY2UyLmM6CgkgIChnc3RfZGVpbnRlcmxhY2UyX2NsYXNzX2luaXQpLCAoZ3N0X2RlaW50ZXJsYWNlMl9pbml0KSwKCSAgKGdzdF9kZWludGVybGFjZTJfcmVzZXRfaGlzdG9yeSksIChnc3RfZGVpbnRlcmxhY2UyX3Jlc2V0KSwKCSAgKGdzdF9kZWludGVybGFjZTJfZmluYWxpemUpLCAoZ3N0X2RlaW50ZXJsYWNlMl9jaGFpbiksCgkgIChnc3RfZGVpbnRlcmxhY2UyX3NpbmtfZXZlbnQpLCAoZ3N0X2RlaW50ZXJsYWNlMl9jaGFuZ2Vfc3RhdGUpLAoJICAoZ3N0X2RlaW50ZXJsYWNlMl9zcmNfcXVlcnkpOgoJICAqIGdzdC9kZWludGVybGFjZTIvZ3N0ZGVpbnRlcmxhY2UyLmg6CgkgIFJlc2V0IGVsZW1lbnQgc3RhdGUgb24gUEFVU0VELT5SRUFEWSBwcm9wZXJseSwgZG9uJ3QgbGVhayBhbnkgYnVmZmVycwoJICB3aGVuIGZpbmFsaXppbmcsIGFsbG9jYXRlIGJ1ZmZlcnMgd2l0aCBnc3RfcGFkX2FsbG9jX2J1ZmZlcigpIGFuZAoJICBwcm9wZXJseSByZXR1cm4gZmxvdyByZXR1cm5zIGZyb20gZ3N0X3BhZF9wdXNoKCkgaW5zdGVhZCBvZiBpZ25vcmluZyB0aGVtLgoKMjAwOC0wNi0yMCAxMzo0NTowOCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgW01PVkVEIEZST00gQkFEIDA1LzU2XSBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wL3RvbXNtb2NvbXBtYWNyb3MuaDogQWRkIG1pc3NpbmcgaGVhZGVyLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wL3RvbXNtb2NvbXBtYWNyb3MuaDoKCSAgQWRkIG1pc3NpbmcgaGVhZGVyLgoKMjAwOC0wNi0yMCAxMzoyNDoyOSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgW01PVkVEIEZST00gQkFEIDA0LzU2XSBGaXggY29tcGlsYXRpb24gb24gZ2VuZXJpYyB4ODYvYW1kNjQgYW5kIGluY2x1ZGUgZGVpbnRlcmxhY2UyIGluIHRoZSBidWlsZCBzeXN0ZW0uIEJlY2F1c2Ugb2Ygc2V2ZXJhbCBidWdzIGl0J3Mgc3RpbGwuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAqIGdzdC9kZWludGVybGFjZTIvTWFrZWZpbGUuYW06CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvZ3JlZWR5aC5hc206CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC9TZWFyY2hMb29wQm90dG9tLmluYzoKCSAgRml4IGNvbXBpbGF0aW9uIG9uIGdlbmVyaWMgeDg2L2FtZDY0IGFuZCBpbmNsdWRlIGRlaW50ZXJsYWNlMiBpbiB0aGUKCSAgYnVpbGQgc3lzdGVtLiBCZWNhdXNlIG9mIHNldmVyYWwgYnVncyBpdCdzIHN0aWxsIGVuYWJsZWQgb25seQoJICBieSAtLWVuYWJsZS1leHBlcmltZW50YWwuCgoyMDA4LTA2LTE4IDA2OjMxOjEzICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBbTU9WRUQgRlJPTSBCQUQgMDMvNTZdIEZpeCBndGstZG9jIHdhcm5pbmdzLiBBbHNvIGRvbid0IG1pc3VzZSBhcGktZG9jIGNvbW1lbnRzIGZvciBub3JtYWwgY29tbWVudHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgICogZXhhbXBsZXMvYXBwL2FwcHNyYy1yYS5jOgoJICAqIGV4YW1wbGVzL2FwcC9hcHBzcmMtc2Vla2FibGUuYzoKCSAgKiBleGFtcGxlcy9hcHAvYXBwc3JjLXN0cmVhbS5jOgoJICAqIGV4YW1wbGVzL2FwcC9hcHBzcmMtc3RyZWFtMi5jOgoJICAqIGV4dC9kaXJlY3RmYi9kZmJ2aWRlb3NpbmsuaDoKCSAgKiBleHQvbWV0YWRhdGEvZ3N0YmFzZW1ldGFkYXRhLmM6CgkgICogZXh0L21ldGFkYXRhL2dzdGJhc2VtZXRhZGF0YS5oOgoJICAqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YS5jOgoJICAqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YWV4aWYuYzoKCSAgKiBleHQvdGhlb3JhL3RoZW9yYWRlYy5oOgoJICAqIGdzdC9kZWludGVybGFjZTIvZ3N0ZGVpbnRlcmxhY2UyLmg6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvc3BlZWR5LmM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvc3BlZWR5Lmg6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdmZpci5jOgoJICBGaXggZ3RrLWRvYyB3YXJuaW5ncy4gQWxzbyBkb24ndCBtaXN1c2UgYXBpLWRvYyBjb21tZW50cyBmb3Igbm9ybWFsCgkgIGNvbW1lbnRzLgoKMjAwOC0wNi0xMSAxMToxMjo0OSArMDAwMCAgTWFydGluIEVpa2VybWFubiA8bWVpa2VyQHVwYi5kZT4KCgkgIFtNT1ZFRCBGUk9NIEJBRCAwMi81Nl0gZ3N0L2RlaW50ZXJsYWNlMi86IEFkZCBhIGRlaW50ZXJsYWNlciBwbHVnaW4gYmFzZWQgb24gdGhlIHR2dGltZS9EU2NhbGVyIGRlaW50ZXJsYWNlciwgd2hpY2ggd2FzIHJlbGljZW5zZWQgdG8gTEdQTCBmLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBCYXNlZCBvbiBhIHBhdGNoIGJ5OiBNYXJ0aW4gRWlrZXJtYW5uIDxtZWlrZXIgYXQgdXBiIGRvdCBkZT4KCSAgKiBnc3QvZGVpbnRlcmxhY2UyL01ha2VmaWxlLmFtOgoJICAqIGdzdC9kZWludGVybGFjZTIvZ3N0ZGVpbnRlcmxhY2UyLmM6CgkgIChnc3RfZGVpbnRlcmxhY2UyX21ldGhvZF9nZXRfdHlwZSksCgkgIChnc3RfZGVpbnRlcmxhY2UyX2ZpZWxkc19nZXRfdHlwZSksCgkgIChnc3RfZGVpbnRlcmxhY2UyX2ZpZWxkX2xheW91dF9nZXRfdHlwZSksCgkgIChnc3RfZGVpbnRlcmxhY2UyX2Jhc2VfaW5pdCksIChnc3RfZGVpbnRlcmxhY2UyX2NsYXNzX2luaXQpLAoJICAoZ3N0X2RlaW50ZXJsYWNlMl9pbml0KSwgKGdzdF9kZWludGVybGFjZTJfc2V0X21ldGhvZCksCgkgIChnc3RfZGVpbnRlcmxhY2UyX3NldF9wcm9wZXJ0eSksIChnc3RfZGVpbnRlcmxhY2UyX2dldF9wcm9wZXJ0eSksCgkgIChnc3RfZGVpbnRlcmxhY2UyX2ZpbmFsaXplKSwgKGdzdF9kZWludGVybGFjZTJfcG9wX2hpc3RvcnkpLAoJICAoZ3N0X2RlaW50ZXJsYWNlMl9oZWFkX2hpc3RvcnkpLCAoZ3N0X2RlaW50ZXJsYWNlMl9wdXNoX2hpc3RvcnkpLAoJICAoZ3N0X2RlaW50ZXJsYWNlMl9kZWludGVybGFjZV9zY2FubGluZXMpLCAoZ3N0X2RlaW50ZXJsYWNlMl9jaGFpbiksCgkgIChnc3RfZGVpbnRlcmxhY2UyX3NldGNhcHMpLCAoZ3N0X2RlaW50ZXJsYWNlMl9zaW5rX2V2ZW50KSwKCSAgKGdzdF9kZWludGVybGFjZTJfY2hhbmdlX3N0YXRlKSwgKGdzdF9kZWludGVybGFjZTJfc3JjX2V2ZW50KSwKCSAgKGdzdF9kZWludGVybGFjZTJfc3JjX3F1ZXJ5KSwgKGdzdF9kZWludGVybGFjZTJfc3JjX3F1ZXJ5X3R5cGVzKSwKCSAgKHBsdWdpbl9pbml0KToKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL2dzdGRlaW50ZXJsYWNlMi5oOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL2dyZWVkeS5jOiAoY29weV9zY2FubGluZSksCgkgIChkZWludGVybGFjZV9ncmVlZHlfcGFja2VkNDIyX3NjYW5saW5lX21teGV4dCksCgkgIChkc2NhbGVyX2dyZWVkeWxfZ2V0X21ldGhvZCk6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvZ3JlZWR5aC5hc206CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvZ3JlZWR5aC5jOgoJICAoZGVpbnRlcmxhY2VfZnJhbWVfZGlfZ3JlZWR5aCksIChkc2NhbGVyX2dyZWVkeWhfZ2V0X21ldGhvZCksCgkgIChncmVlZHloX2luaXQpLCAoZ3JlZWR5aF9maWx0ZXJfbW14KSwgKGdyZWVkeWhfZmlsdGVyXzNkbm93KSwKCSAgKGdyZWVkeWhfZmlsdGVyX3NzZSk6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvZ3JlZWR5aC5oOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL2dyZWVkeWhtYWNyb3MuaDoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9tbXguaDoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9wbHVnaW5zLmg6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvc3BlZWR0b29scy5oOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3NwZWVkeS5jOiAobXVsdGlwbHlfYWxwaGEpLCAoY2xpcDI1NSksCgkgIChjb21iX2ZhY3Rvcl9wYWNrZWQ0MjJfc2NhbmxpbmVfbW14KSwKCSAgKGRpZmZfZmFjdG9yX3BhY2tlZDQyMl9zY2FubGluZV9jKSwKCSAgKGRpZmZfZmFjdG9yX3BhY2tlZDQyMl9zY2FubGluZV9tbXgpLAoJICAoZGlmZl9wYWNrZWQ0MjJfYmxvY2s4eDhfbW14KSwgKGRpZmZfcGFja2VkNDIyX2Jsb2NrOHg4X2MpLAoJICAocGFja2VkNDQ0X3RvX3BhY2tlZDQyMl9zY2FubGluZV9jKSwKCSAgKHBhY2tlZDQyMl90b19wYWNrZWQ0NDRfc2NhbmxpbmVfYyksCgkgIChwYWNrZWQ0MjJfdG9fcGFja2VkNDQ0X3JlYzYwMV9zY2FubGluZV9jKSwKCSAgKHZmaWx0ZXJfY2hyb21hXzEyMV9wYWNrZWQ0MjJfc2NhbmxpbmVfbW14KSwKCSAgKHZmaWx0ZXJfY2hyb21hXzEyMV9wYWNrZWQ0MjJfc2NhbmxpbmVfYyksCgkgICh2ZmlsdGVyX2Nocm9tYV8zMzJfcGFja2VkNDIyX3NjYW5saW5lX21teCksCgkgICh2ZmlsdGVyX2Nocm9tYV8zMzJfcGFja2VkNDIyX3NjYW5saW5lX2MpLAoJICAoa2lsbF9jaHJvbWFfcGFja2VkNDIyX2lucGxhY2Vfc2NhbmxpbmVfbW14KSwKCSAgKGtpbGxfY2hyb21hX3BhY2tlZDQyMl9pbnBsYWNlX3NjYW5saW5lX2MpLAoJICAoaW52ZXJ0X2NvbG91cl9wYWNrZWQ0MjJfaW5wbGFjZV9zY2FubGluZV9tbXgpLAoJICAoaW52ZXJ0X2NvbG91cl9wYWNrZWQ0MjJfaW5wbGFjZV9zY2FubGluZV9jKSwKCSAgKG1pcnJvcl9wYWNrZWQ0MjJfaW5wbGFjZV9zY2FubGluZV9jKSwKCSAgKGludGVycG9sYXRlX3BhY2tlZDQyMl9zY2FubGluZV9jKSwKCSAgKGNvbnZlcnRfdXl2eV90b195dXl2X3NjYW5saW5lX21teCksCgkgIChjb252ZXJ0X3V5dnlfdG9feXV5dl9zY2FubGluZV9jKSwKCSAgKGludGVycG9sYXRlX3BhY2tlZDQyMl9zY2FubGluZV9tbXgpLAoJICAoaW50ZXJwb2xhdGVfcGFja2VkNDIyX3NjYW5saW5lX21teGV4dCksCgkgIChibGl0X2NvbG91cl9wYWNrZWQ0MjJfc2NhbmxpbmVfYyksCgkgIChibGl0X2NvbG91cl9wYWNrZWQ0MjJfc2NhbmxpbmVfbW14KSwKCSAgKGJsaXRfY29sb3VyX3BhY2tlZDQyMl9zY2FubGluZV9tbXhleHQpLAoJICAoYmxpdF9jb2xvdXJfcGFja2VkNDQ0NF9zY2FubGluZV9jKSwKCSAgKGJsaXRfY29sb3VyX3BhY2tlZDQ0NDRfc2NhbmxpbmVfbW14KSwKCSAgKGJsaXRfY29sb3VyX3BhY2tlZDQ0NDRfc2NhbmxpbmVfbW14ZXh0KSwgKHNtYWxsX21lbWNweSksCgkgIChzcGVlZHlfbWVtY3B5X2MpLCAoc3BlZWR5X21lbWNweV9tbXgpLCAoc3BlZWR5X21lbWNweV9tbXhleHQpLAoJICAoYmxpdF9wYWNrZWQ0MjJfc2NhbmxpbmVfYyksIChibGl0X3BhY2tlZDQyMl9zY2FubGluZV9tbXgpLAoJICAoYmxpdF9wYWNrZWQ0MjJfc2NhbmxpbmVfbW14ZXh0KSwKCSAgKGNvbXBvc2l0ZV9jb2xvdXI0NDQ0X2FscGhhX3RvX3BhY2tlZDQyMl9zY2FubGluZV9jKSwKCSAgKGNvbXBvc2l0ZV9jb2xvdXI0NDQ0X2FscGhhX3RvX3BhY2tlZDQyMl9zY2FubGluZV9tbXhleHQpLAoJICAoY29tcG9zaXRlX3BhY2tlZDQ0NDRfYWxwaGFfdG9fcGFja2VkNDIyX3NjYW5saW5lX2MpLAoJICAoY29tcG9zaXRlX3BhY2tlZDQ0NDRfYWxwaGFfdG9fcGFja2VkNDIyX3NjYW5saW5lX21teGV4dCksCgkgIChjb21wb3NpdGVfcGFja2VkNDQ0NF90b19wYWNrZWQ0MjJfc2NhbmxpbmVfYyksCgkgIChjb21wb3NpdGVfcGFja2VkNDQ0NF90b19wYWNrZWQ0MjJfc2NhbmxpbmVfbW14ZXh0KSwKCSAgKGNvbXBvc2l0ZV9hbHBoYW1hc2tfdG9fcGFja2VkNDQ0NF9zY2FubGluZV9jKSwKCSAgKGNvbXBvc2l0ZV9hbHBoYW1hc2tfdG9fcGFja2VkNDQ0NF9zY2FubGluZV9tbXhleHQpLAoJICAoY29tcG9zaXRlX2FscGhhbWFza19hbHBoYV90b19wYWNrZWQ0NDQ0X3NjYW5saW5lX2MpLAoJICAocHJlbXVsdGlwbHlfcGFja2VkNDQ0NF9zY2FubGluZV9jKSwKCSAgKHByZW11bHRpcGx5X3BhY2tlZDQ0NDRfc2NhbmxpbmVfbW14ZXh0KSwKCSAgKGJsZW5kX3BhY2tlZDQyMl9zY2FubGluZV9jKSwgKGJsZW5kX3BhY2tlZDQyMl9zY2FubGluZV9tbXhleHQpLAoJICAocXVhcnRlcl9ibGl0X3ZlcnRpY2FsX3BhY2tlZDQyMl9zY2FubGluZV9tbXhleHQpLAoJICAocXVhcnRlcl9ibGl0X3ZlcnRpY2FsX3BhY2tlZDQyMl9zY2FubGluZV9jKSwKCSAgKHN1YnBpeF9ibGl0X3ZlcnRpY2FsX3BhY2tlZDQyMl9zY2FubGluZV9jKSwKCSAgKGE4X3N1YnBpeF9ibGl0X3NjYW5saW5lX2MpLCAobXlyb3VuZCksIChpbml0X1JHQl90b19ZQ2JDcl90YWJsZXMpLAoJICAoaW5pdF9ZQ2JDcl90b19SR0JfdGFibGVzKSwgKHJnYjI0X3RvX3BhY2tlZDQ0NF9yZWM2MDFfc2NhbmxpbmVfYyksCgkgIChyZ2JhMzJfdG9fcGFja2VkNDQ0NF9yZWM2MDFfc2NhbmxpbmVfYyksCgkgIChwYWNrZWQ0NDRfdG9fcmdiMjRfcmVjNjAxX3NjYW5saW5lX2MpLAoJICAocGFja2VkNDQ0X3RvX25vbnByZW11bHRpcGxpZWRfcGFja2VkNDQ0NF9zY2FubGluZV9jKSwKCSAgKGFzcGVjdF9hZGp1c3RfcGFja2VkNDQ0NF9zY2FubGluZV9jKSwgKHNldHVwX3NwZWVkeV9jYWxscyksCgkgIChzcGVlZHlfZ2V0X2FjY2VsKToKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9zcGVlZHkuaDoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9zc2UuaDoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wLmM6IChGaWVsZGNvcHkpLAoJICAoZGVpbnRlcmxhY2VfZnJhbWVfZGlfdG9tc21vY29tcCksIChkc2NhbGVyX3RvbXNtb2NvbXBfZ2V0X21ldGhvZCksCgkgICh0b21zbW9jb21wX2luaXQpLCAodG9tc21vY29tcF9maWx0ZXJfbW14KSwKCSAgKHRvbXNtb2NvbXBfZmlsdGVyXzNkbm93KSwgKHRvbXNtb2NvbXBfZmlsdGVyX3NzZSk6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC5oOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAvU2VhcmNoTG9vcDBBLmluYzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wL1NlYXJjaExvb3BCb3R0b20uaW5jOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAvU2VhcmNoTG9vcEVkZ2VBLmluYzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wL1NlYXJjaExvb3BFZGdlQTguaW5jOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAvU2VhcmNoTG9vcE9kZEEuaW5jOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAvU2VhcmNoTG9vcE9kZEEyLmluYzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wL1NlYXJjaExvb3BPZGRBNi5pbmM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC9TZWFyY2hMb29wT2RkQUguaW5jOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAvU2VhcmNoTG9vcE9kZEFIMi5pbmM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC9TZWFyY2hMb29wVG9wLmluYzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wL1NlYXJjaExvb3BWQS5pbmM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC9TZWFyY2hMb29wVkFILmluYzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wL1N0cmFuZ2VCb2IuaW5jOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAvVG9tc01vQ29tcEFsbC5pbmM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC9Ub21zTW9Db21wQWxsMi5pbmM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC9XaWVyZEJvYi5pbmM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdmZpci5jOiAoZGVpbnRlcmxhY2VfbGluZSksCgkgIChkZWludGVybGFjZV9zY2FubGluZV92ZmlyKSwgKGNvcHlfc2NhbmxpbmUpLAoJICAoZHNjYWxlcl92ZmlyX2dldF9tZXRob2QpOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3g4Ni02NF9tYWNyb3MuaW5jOgoJICBBZGQgYSBkZWludGVybGFjZXIgcGx1Z2luIGJhc2VkIG9uIHRoZSB0dnRpbWUvRFNjYWxlciBkZWludGVybGFjZXIsCgkgIHdoaWNoIHdhcyByZWxpY2Vuc2VkIHRvIExHUEwgZm9yIEdTdHJlYW1lciBhbmQgaW4gdGhlb3J5IHByb3ZpZGVzCgkgIGJldHRlciBhbmQgZmFzdGVyIHJlc3VsdHMgdGhhbiB0aGUgc2ltcGxlIGRlaW50ZXJsYWNlIGVsZW1lbnQuCgkgIEZpeGVzIGJ1ZyAjMTYzNTc4LgoJICBQb3J0ZWQgdG8gR1N0cmVhbWVyIDAuMTAgYnV0IHN0aWxsIG5vdCBlbmFibGVkIG9yIGluY2x1ZGVkIGluIHRoZQoJICBidWlsZCBzeXN0ZW0gYnkgZGVmYXVsdCBiZWNhdXNlIG9mIGJhZCBhcnRlZmFjdHMgY2F1c2VkIGJ5IGEgYnVnCgkgIHNvbWV3aGVyZSBhbmQgYXMgaXQgY2FuIGJlIG9ubHkgYnVpbGQgb24geDg2L2FtZDY0IEFUTSBhbmQgcmVxdWlyZXMKCSAgc3BlY2lhbCBDRkxBR1MuIFdpbGwgYmUgZml4ZWQgc29vbi4KCjIwMDgtMDYtMTEgMTE6MTI6MTQgKzAwMDAgIE1hcnRpbiBFaWtlcm1hbm4gPG1laWtlckB1cGIuZGU+CgoJICBbTU9WRUQgRlJPTSBCQUQgMDEvNTZdIGdzdC9kZWludGVybGFjZTIvOiBBZGQgYSBkZWludGVybGFjZXIgcGx1Z2luIGJhc2VkIG9uIHRoZSB0dnRpbWUvRFNjYWxlciBkZWludGVybGFjZXIsIHdoaWNoIHdhcyByZWxpY2Vuc2VkIHRvIExHUEwgZi4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgQmFzZWQgb24gYSBwYXRjaCBieTogTWFydGluIEVpa2VybWFubiA8bWVpa2VyIGF0IHVwYiBkb3QgZGU+CgkgICogZ3N0L2RlaW50ZXJsYWNlMi9NYWtlZmlsZS5hbToKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL2dzdGRlaW50ZXJsYWNlMi5jOgoJICAoZ3N0X2RlaW50ZXJsYWNlMl9tZXRob2RfZ2V0X3R5cGUpLAoJICAoZ3N0X2RlaW50ZXJsYWNlMl9maWVsZHNfZ2V0X3R5cGUpLAoJICAoZ3N0X2RlaW50ZXJsYWNlMl9maWVsZF9sYXlvdXRfZ2V0X3R5cGUpLAoJICAoZ3N0X2RlaW50ZXJsYWNlMl9iYXNlX2luaXQpLCAoZ3N0X2RlaW50ZXJsYWNlMl9jbGFzc19pbml0KSwKCSAgKGdzdF9kZWludGVybGFjZTJfaW5pdCksIChnc3RfZGVpbnRlcmxhY2UyX3NldF9tZXRob2QpLAoJICAoZ3N0X2RlaW50ZXJsYWNlMl9zZXRfcHJvcGVydHkpLCAoZ3N0X2RlaW50ZXJsYWNlMl9nZXRfcHJvcGVydHkpLAoJICAoZ3N0X2RlaW50ZXJsYWNlMl9maW5hbGl6ZSksIChnc3RfZGVpbnRlcmxhY2UyX3BvcF9oaXN0b3J5KSwKCSAgKGdzdF9kZWludGVybGFjZTJfaGVhZF9oaXN0b3J5KSwgKGdzdF9kZWludGVybGFjZTJfcHVzaF9oaXN0b3J5KSwKCSAgKGdzdF9kZWludGVybGFjZTJfZGVpbnRlcmxhY2Vfc2NhbmxpbmVzKSwgKGdzdF9kZWludGVybGFjZTJfY2hhaW4pLAoJICAoZ3N0X2RlaW50ZXJsYWNlMl9zZXRjYXBzKSwgKGdzdF9kZWludGVybGFjZTJfc2lua19ldmVudCksCgkgIChnc3RfZGVpbnRlcmxhY2UyX2NoYW5nZV9zdGF0ZSksIChnc3RfZGVpbnRlcmxhY2UyX3NyY19ldmVudCksCgkgIChnc3RfZGVpbnRlcmxhY2UyX3NyY19xdWVyeSksIChnc3RfZGVpbnRlcmxhY2UyX3NyY19xdWVyeV90eXBlcyksCgkgIChwbHVnaW5faW5pdCk6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi9nc3RkZWludGVybGFjZTIuaDoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9ncmVlZHkuYzogKGNvcHlfc2NhbmxpbmUpLAoJICAoZGVpbnRlcmxhY2VfZ3JlZWR5X3BhY2tlZDQyMl9zY2FubGluZV9tbXhleHQpLAoJICAoZHNjYWxlcl9ncmVlZHlsX2dldF9tZXRob2QpOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL2dyZWVkeWguYXNtOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL2dyZWVkeWguYzoKCSAgKGRlaW50ZXJsYWNlX2ZyYW1lX2RpX2dyZWVkeWgpLCAoZHNjYWxlcl9ncmVlZHloX2dldF9tZXRob2QpLAoJICAoZ3JlZWR5aF9pbml0KSwgKGdyZWVkeWhfZmlsdGVyX21teCksIChncmVlZHloX2ZpbHRlcl8zZG5vdyksCgkgIChncmVlZHloX2ZpbHRlcl9zc2UpOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL2dyZWVkeWguaDoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9ncmVlZHlobWFjcm9zLmg6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvbW14Lmg6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvcGx1Z2lucy5oOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3NwZWVkdG9vbHMuaDoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9zcGVlZHkuYzogKG11bHRpcGx5X2FscGhhKSwgKGNsaXAyNTUpLAoJICAoY29tYl9mYWN0b3JfcGFja2VkNDIyX3NjYW5saW5lX21teCksCgkgIChkaWZmX2ZhY3Rvcl9wYWNrZWQ0MjJfc2NhbmxpbmVfYyksCgkgIChkaWZmX2ZhY3Rvcl9wYWNrZWQ0MjJfc2NhbmxpbmVfbW14KSwKCSAgKGRpZmZfcGFja2VkNDIyX2Jsb2NrOHg4X21teCksIChkaWZmX3BhY2tlZDQyMl9ibG9jazh4OF9jKSwKCSAgKHBhY2tlZDQ0NF90b19wYWNrZWQ0MjJfc2NhbmxpbmVfYyksCgkgIChwYWNrZWQ0MjJfdG9fcGFja2VkNDQ0X3NjYW5saW5lX2MpLAoJICAocGFja2VkNDIyX3RvX3BhY2tlZDQ0NF9yZWM2MDFfc2NhbmxpbmVfYyksCgkgICh2ZmlsdGVyX2Nocm9tYV8xMjFfcGFja2VkNDIyX3NjYW5saW5lX21teCksCgkgICh2ZmlsdGVyX2Nocm9tYV8xMjFfcGFja2VkNDIyX3NjYW5saW5lX2MpLAoJICAodmZpbHRlcl9jaHJvbWFfMzMyX3BhY2tlZDQyMl9zY2FubGluZV9tbXgpLAoJICAodmZpbHRlcl9jaHJvbWFfMzMyX3BhY2tlZDQyMl9zY2FubGluZV9jKSwKCSAgKGtpbGxfY2hyb21hX3BhY2tlZDQyMl9pbnBsYWNlX3NjYW5saW5lX21teCksCgkgIChraWxsX2Nocm9tYV9wYWNrZWQ0MjJfaW5wbGFjZV9zY2FubGluZV9jKSwKCSAgKGludmVydF9jb2xvdXJfcGFja2VkNDIyX2lucGxhY2Vfc2NhbmxpbmVfbW14KSwKCSAgKGludmVydF9jb2xvdXJfcGFja2VkNDIyX2lucGxhY2Vfc2NhbmxpbmVfYyksCgkgIChtaXJyb3JfcGFja2VkNDIyX2lucGxhY2Vfc2NhbmxpbmVfYyksCgkgIChpbnRlcnBvbGF0ZV9wYWNrZWQ0MjJfc2NhbmxpbmVfYyksCgkgIChjb252ZXJ0X3V5dnlfdG9feXV5dl9zY2FubGluZV9tbXgpLAoJICAoY29udmVydF91eXZ5X3RvX3l1eXZfc2NhbmxpbmVfYyksCgkgIChpbnRlcnBvbGF0ZV9wYWNrZWQ0MjJfc2NhbmxpbmVfbW14KSwKCSAgKGludGVycG9sYXRlX3BhY2tlZDQyMl9zY2FubGluZV9tbXhleHQpLAoJICAoYmxpdF9jb2xvdXJfcGFja2VkNDIyX3NjYW5saW5lX2MpLAoJICAoYmxpdF9jb2xvdXJfcGFja2VkNDIyX3NjYW5saW5lX21teCksCgkgIChibGl0X2NvbG91cl9wYWNrZWQ0MjJfc2NhbmxpbmVfbW14ZXh0KSwKCSAgKGJsaXRfY29sb3VyX3BhY2tlZDQ0NDRfc2NhbmxpbmVfYyksCgkgIChibGl0X2NvbG91cl9wYWNrZWQ0NDQ0X3NjYW5saW5lX21teCksCgkgIChibGl0X2NvbG91cl9wYWNrZWQ0NDQ0X3NjYW5saW5lX21teGV4dCksIChzbWFsbF9tZW1jcHkpLAoJICAoc3BlZWR5X21lbWNweV9jKSwgKHNwZWVkeV9tZW1jcHlfbW14KSwgKHNwZWVkeV9tZW1jcHlfbW14ZXh0KSwKCSAgKGJsaXRfcGFja2VkNDIyX3NjYW5saW5lX2MpLCAoYmxpdF9wYWNrZWQ0MjJfc2NhbmxpbmVfbW14KSwKCSAgKGJsaXRfcGFja2VkNDIyX3NjYW5saW5lX21teGV4dCksCgkgIChjb21wb3NpdGVfY29sb3VyNDQ0NF9hbHBoYV90b19wYWNrZWQ0MjJfc2NhbmxpbmVfYyksCgkgIChjb21wb3NpdGVfY29sb3VyNDQ0NF9hbHBoYV90b19wYWNrZWQ0MjJfc2NhbmxpbmVfbW14ZXh0KSwKCSAgKGNvbXBvc2l0ZV9wYWNrZWQ0NDQ0X2FscGhhX3RvX3BhY2tlZDQyMl9zY2FubGluZV9jKSwKCSAgKGNvbXBvc2l0ZV9wYWNrZWQ0NDQ0X2FscGhhX3RvX3BhY2tlZDQyMl9zY2FubGluZV9tbXhleHQpLAoJICAoY29tcG9zaXRlX3BhY2tlZDQ0NDRfdG9fcGFja2VkNDIyX3NjYW5saW5lX2MpLAoJICAoY29tcG9zaXRlX3BhY2tlZDQ0NDRfdG9fcGFja2VkNDIyX3NjYW5saW5lX21teGV4dCksCgkgIChjb21wb3NpdGVfYWxwaGFtYXNrX3RvX3BhY2tlZDQ0NDRfc2NhbmxpbmVfYyksCgkgIChjb21wb3NpdGVfYWxwaGFtYXNrX3RvX3BhY2tlZDQ0NDRfc2NhbmxpbmVfbW14ZXh0KSwKCSAgKGNvbXBvc2l0ZV9hbHBoYW1hc2tfYWxwaGFfdG9fcGFja2VkNDQ0NF9zY2FubGluZV9jKSwKCSAgKHByZW11bHRpcGx5X3BhY2tlZDQ0NDRfc2NhbmxpbmVfYyksCgkgIChwcmVtdWx0aXBseV9wYWNrZWQ0NDQ0X3NjYW5saW5lX21teGV4dCksCgkgIChibGVuZF9wYWNrZWQ0MjJfc2NhbmxpbmVfYyksIChibGVuZF9wYWNrZWQ0MjJfc2NhbmxpbmVfbW14ZXh0KSwKCSAgKHF1YXJ0ZXJfYmxpdF92ZXJ0aWNhbF9wYWNrZWQ0MjJfc2NhbmxpbmVfbW14ZXh0KSwKCSAgKHF1YXJ0ZXJfYmxpdF92ZXJ0aWNhbF9wYWNrZWQ0MjJfc2NhbmxpbmVfYyksCgkgIChzdWJwaXhfYmxpdF92ZXJ0aWNhbF9wYWNrZWQ0MjJfc2NhbmxpbmVfYyksCgkgIChhOF9zdWJwaXhfYmxpdF9zY2FubGluZV9jKSwgKG15cm91bmQpLCAoaW5pdF9SR0JfdG9fWUNiQ3JfdGFibGVzKSwKCSAgKGluaXRfWUNiQ3JfdG9fUkdCX3RhYmxlcyksIChyZ2IyNF90b19wYWNrZWQ0NDRfcmVjNjAxX3NjYW5saW5lX2MpLAoJICAocmdiYTMyX3RvX3BhY2tlZDQ0NDRfcmVjNjAxX3NjYW5saW5lX2MpLAoJICAocGFja2VkNDQ0X3RvX3JnYjI0X3JlYzYwMV9zY2FubGluZV9jKSwKCSAgKHBhY2tlZDQ0NF90b19ub25wcmVtdWx0aXBsaWVkX3BhY2tlZDQ0NDRfc2NhbmxpbmVfYyksCgkgIChhc3BlY3RfYWRqdXN0X3BhY2tlZDQ0NDRfc2NhbmxpbmVfYyksIChzZXR1cF9zcGVlZHlfY2FsbHMpLAoJICAoc3BlZWR5X2dldF9hY2NlbCk6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvc3BlZWR5Lmg6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvc3NlLmg6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC5jOiAoRmllbGRjb3B5KSwKCSAgKGRlaW50ZXJsYWNlX2ZyYW1lX2RpX3RvbXNtb2NvbXApLCAoZHNjYWxlcl90b21zbW9jb21wX2dldF9tZXRob2QpLAoJICAodG9tc21vY29tcF9pbml0KSwgKHRvbXNtb2NvbXBfZmlsdGVyX21teCksCgkgICh0b21zbW9jb21wX2ZpbHRlcl8zZG5vdyksICh0b21zbW9jb21wX2ZpbHRlcl9zc2UpOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAuaDoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wL1NlYXJjaExvb3AwQS5pbmM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC9TZWFyY2hMb29wQm90dG9tLmluYzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wL1NlYXJjaExvb3BFZGdlQS5pbmM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC9TZWFyY2hMb29wRWRnZUE4LmluYzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wL1NlYXJjaExvb3BPZGRBLmluYzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wL1NlYXJjaExvb3BPZGRBMi5pbmM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC9TZWFyY2hMb29wT2RkQTYuaW5jOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAvU2VhcmNoTG9vcE9kZEFILmluYzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wL1NlYXJjaExvb3BPZGRBSDIuaW5jOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAvU2VhcmNoTG9vcFRvcC5pbmM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC9TZWFyY2hMb29wVkEuaW5jOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAvU2VhcmNoTG9vcFZBSC5pbmM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC9TdHJhbmdlQm9iLmluYzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wL1RvbXNNb0NvbXBBbGwuaW5jOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAvVG9tc01vQ29tcEFsbDIuaW5jOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAvV2llcmRCb2IuaW5jOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3ZmaXIuYzogKGRlaW50ZXJsYWNlX2xpbmUpLAoJICAoZGVpbnRlcmxhY2Vfc2NhbmxpbmVfdmZpciksIChjb3B5X3NjYW5saW5lKSwKCSAgKGRzY2FsZXJfdmZpcl9nZXRfbWV0aG9kKToKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS94ODYtNjRfbWFjcm9zLmluYzoKCSAgQWRkIGEgZGVpbnRlcmxhY2VyIHBsdWdpbiBiYXNlZCBvbiB0aGUgdHZ0aW1lL0RTY2FsZXIgZGVpbnRlcmxhY2VyLAoJICB3aGljaCB3YXMgcmVsaWNlbnNlZCB0byBMR1BMIGZvciBHU3RyZWFtZXIgYW5kIGluIHRoZW9yeSBwcm92aWRlcwoJICBiZXR0ZXIgYW5kIGZhc3RlciByZXN1bHRzIHRoYW4gdGhlIHNpbXBsZSBkZWludGVybGFjZSBlbGVtZW50LgoJICBGaXhlcyBidWcgIzE2MzU3OC4KCSAgUG9ydGVkIHRvIEdTdHJlYW1lciAwLjEwIGJ1dCBzdGlsbCBub3QgZW5hYmxlZCBvciBpbmNsdWRlZCBpbiB0aGUKCSAgYnVpbGQgc3lzdGVtIGJ5IGRlZmF1bHQgYmVjYXVzZSBvZiBiYWQgYXJ0ZWZhY3RzIGNhdXNlZCBieSBhIGJ1ZwoJICBzb21ld2hlcmUgYW5kIGFzIGl0IGNhbiBiZSBvbmx5IGJ1aWxkIG9uIHg4Ni9hbWQ2NCBBVE0gYW5kIHJlcXVpcmVzCgkgIHNwZWNpYWwgQ0ZMQUdTLiBXaWxsIGJlIGZpeGVkIHNvb24uCgoyMDA5LTA1LTEzIDEwOjMwOjM1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgZmx2OiBBY3R1YWxseSBhZGQgdGhlIGZsdiBwbHVnaW4gdG8gY29uZmlndXJlLmFjCgoyMDA5LTA1LTEzIDA5OjI0OjI2ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy9mbGFjZGVjLmM6CgkgIGNoZWNrczogZml4IGZsYWNkZWMgdW5pdCB0ZXN0cyBvbiBiaWctZW5kaWFuIG1hY2hpbmVzIGFuZCB1bmRlciB2YWxncmluZAoJICBGbGFjZGVjIG91dHB1dHMgMTYtYml0IHNhbXBsZXMsIHNvIGxldCdzIGNoZWNrIGlmIHRoZSB2YWx1ZSBvZiB0aGUgZmlyc3QKCSAgc2FtcGxlIGlzIHdoYXQgd2UgZXhwZWN0IHJhdGhlciB0aGFuIGp1c3QgdGhlIGZpcnN0IGJ5dGUsIHdoaWNoIG1heSBiZQoJICBkaWZmZXJlbnQgZnJvbSB3aGF0IHdlIGV4cGVjdCBkZXBlbmRpbmcgb24gdGhlIGhvc3QncyBlbmRpYW5uZXNzLiBGaXhlcwoJICB0aGUgZmxhY2RlYyB1bml0IHRlc3RzIG9uIFBQQy4gQWxzbyBmaXggYSBidW5jaCBvZiBsZWFrcyBpbiB0aGUgdW5pdAoJICB0ZXN0cyB0byBtYWtlIHZhbGdyaW5kIGhhcHB5LiBGaXhlcyAjNTgyNDIwLgoKMjAwOS0wNS0xMyAwOToxODowNyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmxhYy9nc3RmbGFjZGVjLmM6CgkgIGZsYWNkZWM6IGZpeCBidWZmZXIgbGVhawoJICBnc3RfYnVmZmVyX3JlcGxhY2UoKSB3aWxsIHRha2UgaXRzIG93biByZWYsIHNvIHdlIHN0aWxsIGhhdmUKCSAgdG8gdW5yZWYgdGhlIGJ1ZmZlciBpZiB3ZSBkb24ndCBuZWVkIGl0IGFueSBsb25nZXIuCgoyMDA5LTA1LTEyIDIxOjIwOjA0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgYXZpZGVtdXg6IEZpeCBwb2ludGVyIGFyaXRobWV0aWMKCSAgVGhpcyBmaXhlcyBhIHNlZWtpbmcgcmVncmVzc2lvbiwgYnVnICMxMzQ1MjIuCgoyMDA5LTA1LTEyIDIxOjM2OjMxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1kb2NzLnNnbWw6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmludGVyZmFjZXM6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi0xMzk0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhY29sb3IueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYW5ub2RleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hcGV0YWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9meC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9kZXRlY3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXZpLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhY2FzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhaXJvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWN1dHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmVuY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZmZWN0di54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lcXVhbGl6ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXNkc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbGFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHhkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2FtbWEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2NvbmZlbGVtZW50cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZGtwaXhidWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tMmsxLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWhhbGVsZW1lbnRzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWljeWRlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlkM2RlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVybGVhdmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanBlZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sZXZlbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tYXRyb3NrYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tb25vc2NvcGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlmaWxlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpcGFydC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uYXZpZ2F0aW9udGVzdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3NhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbmcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcHVsc2VhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1xdWlja3RpbWUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVwbGF5Z2Fpbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRzcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaG91dDJzZW5kLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNtcHRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlY3RydW0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdGFnbGliLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXVkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlbzRsaW51eDIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9iYWxhbmNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvYm94LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvY3JvcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2ZsaXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9taXhlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14aW1hZ2VzcmMueG1sOgoJICBNb3ZlZCAnZmx2JyBmcm9tIC1iYWQgdG8gLWdvb2QKCjIwMDktMDUtMDcgMTc6NTM6NDIgKzAxMDAgIENocmlzdGlhbiBTY2hhbGxlciA8Y2hyaXN0aWFuLnNjaGFsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzoKCSAgW01PVkVEIEZST00gQkFEIDU3LzU3XSBBZGQgcmFua3MgdG8gdmFyaW91cyBtdXhlcnMgYW5kIGVuY29kZXJzIGluIC1iYWQKCjIwMDktMDQtMjkgMTg6NTI6MjAgKzAxMDAgIFRyaXN0YW4gTWF0dGhld3MgPGxlLmJ1c2luZXNzbWFuQGdtYWlsLmNvbT4KCgkqIGdzdC9mbHYvZ3N0Zmx2bXV4LmM6CgkgIFtNT1ZFRCBGUk9NIEJBRCA1Ni81N10gZmx2bXV4OiBpbml0IHZhcmlhYmxlIHRvIE5VTEwgdG8gZml4IGNvbXBpbGVyIHdhcm5pbmcKCSAgRml4ZXMgIzU4MDc4Ni4KCjIwMDktMDQtMjkgMTM6NTY6MDcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2Zsdi9nc3RmbHZtdXguYzoKCSogZ3N0L2Zsdi9nc3RmbHZwYXJzZS5jOgoJICBbTU9WRUQgRlJPTSBCQUQgNTUvNTddIGZsdjogU2V0L3JlcXVpcmUgdGhlIGZyYW1lZC9wYXJzZWQgZmllbGRzIG9mIHRoZSBhdWRpby9tcGVnIGNhcHMgdG8gVFJVRQoKMjAwOS0wNC0yOSAxMzoxNjoyNSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZmx2L2dzdGZsdm11eC5jOgoJICBbTU9WRUQgRlJPTSBCQUQgNTQvNTddIGZsdjogQWx3YXlzIHdyaXRlIGF0IGxlYXN0IHRoZSBtaW5pbWFsIHRhZ3MgYW5kIHdyaXRlIHRoZSBQQVIgYXMgdGFncwoKMjAwOS0wNC0yOSAxMzowMzo0NiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZmx2L2dzdGZsdm11eC5jOgoJKiBnc3QvZmx2L2dzdGZsdm11eC5oOgoJICBbTU9WRUQgRlJPTSBCQUQgNTMvNTddIGZsdjogQWRkIHN1cHBvcnQgZm9yIG11eGluZyBzb21lIHRhZ3MKCjIwMDktMDQtMjkgMTM6MDM6MjcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2Zsdi9nc3RmbHZwYXJzZS5jOgoJICBbTU9WRUQgRlJPTSBCQUQgNTIvNTddIGZsdjogQWRkIHN1cHBvcnQgZm9yIHRpdGxlIHRhZwoKMjAwOS0wNC0yOSAwOTo0MDo0MSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZmx2L2dzdGZsdnBhcnNlLmM6CgkgIFtNT1ZFRCBGUk9NIEJBRCA1MS81N10gZmx2OiBGaXggcGFyc2luZyBvZiB0YWdzIGFuZCBhZGQgbmV3IG1hcHBpbmdzCgkgIFdlIHNob3VsZG4ndCByZWdpc3RlciBhIG5ldyBHc3RUYWcgZm9yIGV2ZXJ5IHVua25vd24gdGFnCgkgIHdlIGZpbmQgYXMgdGhpcyBtaWdodCBsZWFkIHRvIGNvbmZsaWN0cyBhbmQgYWxzbyB0aG9zZQoJICB0YWdzIGFyZSBlc3NlbnRpYWxseSB1bmtub3duLgoJICBBZGQgbWFwcGluZ3MgZm9yIHNvbWUga25vd24gdGFncyBhbmQgYWxzbyBjb252ZXJ0IHN0cmluZwoJICBkYXRlcyB0byBHRGF0ZSwgYXMgZm91bmQgaW4gbWFueSBGTFYgZmlsZXMuCgoyMDA5LTA0LTIyIDE5OjUyOjA1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzoKCSogZ3N0L2Zsdi9nc3RmbHZkZW11eC5oOgoJKiBnc3QvZmx2L2dzdGZsdm11eC5jOgoJKiBnc3QvZmx2L2dzdGZsdm11eC5oOgoJICBbTU9WRUQgRlJPTSBCQUQgNTAvNTddIGZsdjogQWRkIGRvY3VtZW50YXRpb24gdG8gZmx2bXV4IGFuZCBmbHZkZW11eAoJICBQYXJ0aWFsbHkgZml4ZXMgYnVnICM1NzM3MzcuCgoyMDA5LTAxLTIyIDEzOjM5OjM0ICswMTAwICBKYW4gVXJiYW5za2kgPGoudXJiYW5za2lAc3R1ZGVudHMubWltdXcuZWR1LnBsPgoKCSogZ3N0L2Zsdi9nc3RmbHZwYXJzZS5jOgoJICBbTU9WRUQgRlJPTSBCQUQgNDkvNTddIEFkZCBzdXBwb3J0IGZvciBFQ01BIGFycmF5cyBpbiBzY3JpcHQgdGFncy4gRml4ZXMgYnVnICM1Njc5NjUuCgkgIEFkZCBzdXBwb3J0IGZvciBFQ01BIGFycmF5cyBpbiBzY3JpcHQgdGFncy4gVGhpcyBmaXhlcwoJICBzZWVraW5nIG9uIHNvbWUgZmlsZXMgdGhhdCBoYXZlIHRoZSBzZWVrIHRhYmxlIHN0b3JlZAoJICBpbnNpZGUgYW4gRUNNQSBhcnJheSBpbnN0ZWFkIG9mIHRoZSBub3JtYWwgYXJyYXkuCgoyMDA4LTEyLTAzIDExOjQzOjAwICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBbTU9WRUQgRlJPTSBCQUQgNDgvNTddIGdzdC9mbHYvZ3N0Zmx2cGFyc2UuYzogQ2hlY2sgaWYgc3RyaW5ncyBhcmUgdmFsaWQgVVRGOCBiZWZvcmUgdXNpbmcgdGhlbS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2Zsdi9nc3RmbHZwYXJzZS5jOiAoRkxWX0dFVF9TVFJJTkcpOgoJICBDaGVjayBpZiBzdHJpbmdzIGFyZSB2YWxpZCBVVEY4IGJlZm9yZSB1c2luZyB0aGVtLgoKMjAwOC0xMS0yNCAxMToxNzoxOSArMDAwMCAgSnVsaWVuIE1vdXR0ZSA8anVsaWVuQG1vdXR0ZS5uZXQ+CgoJICBbTU9WRUQgRlJPTSBCQUQgNDcvNTddIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzogRml4IG5vbiBrZXkgdW5pdCBzZWVraW5nIGJ5IGFsd2F5cyBnb2luZyB0byB0aGUgcHJldmlvdXMga2V5ZnJhbWUuIE1hcmsgdGhlIGRpc2NvbnQgZmxhZyB3aGVuIC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwOC0xMS0yNCAgSnVsaWVuIE1vdXR0ZSAgPGp1bGllbkBmbHVlbmRvLmNvbT4KCSAgKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6IChnc3RfZmx2X2RlbXV4X2ZpbmRfb2Zmc2V0KSwKCSAgKGdzdF9mbHZfZGVtdXhfaGFuZGxlX3NlZWtfcHVzaCksCgkgIChnc3RfZmx2X2RlbXV4X2hhbmRsZV9zZWVrX3B1bGwpOgoJICBGaXggbm9uIGtleSB1bml0IHNlZWtpbmcgYnkgYWx3YXlzIGdvaW5nIHRvIHRoZSBwcmV2aW91cwoJICBrZXlmcmFtZS4gTWFyawoJICB0aGUgZGlzY29udCBmbGFnIHdoZW4gd2UndmUgbW92ZWQgaW4gdGhlIGZpbGUuCgkgICogZ3N0L2Zsdi9nc3RmbHZwYXJzZS5jOiAoZ3N0X2Zsdl9wYXJzZV9hdWRpb19uZWdvdGlhdGUpOiBNUDMKCSAgc3RyZWFtcwoJICBhcmUgcGFyc2VkIGFscmVhZHksIG1ha2VzIGF1dG9wbHVnZ2VkIHBpcGVsaW5lcyBzaG9ydGVyLgoKMjAwOC0xMS0wNCAxMjo0MjozMCArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgW01PVkVEIEZST00gQkFEIDQ2LzU3XSBEb24ndCBpbnN0YWxsIHN0YXRpYyBsaWJzIGZvciBwbHVnaW5zLiBGaXhlcyAjNTUwODUxIGZvciAtYmFkLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvYWxzYXNwZGlmL01ha2VmaWxlLmFtOgoJICAqIGV4dC9hbXJ3Yi9NYWtlZmlsZS5hbToKCSAgKiBleHQvYXBleHNpbmsvTWFrZWZpbGUuYW06CgkgICogZXh0L2FydHMvTWFrZWZpbGUuYW06CgkgICogZXh0L2FydHNkL01ha2VmaWxlLmFtOgoJICAqIGV4dC9hdWRpb2ZpbGUvTWFrZWZpbGUuYW06CgkgICogZXh0L2F1ZGlvcmVzYW1wbGUvTWFrZWZpbGUuYW06CgkgICogZXh0L2J6Mi9NYWtlZmlsZS5hbToKCSAgKiBleHQvY2RhdWRpby9NYWtlZmlsZS5hbToKCSAgKiBleHQvY2VsdC9NYWtlZmlsZS5hbToKCSAgKiBleHQvZGMxMzk0L01ha2VmaWxlLmFtOgoJICAqIGV4dC9kaXJhYy9NYWtlZmlsZS5hbToKCSAgKiBleHQvZGlyZWN0ZmIvTWFrZWZpbGUuYW06CgkgICogZXh0L2RpdngvTWFrZWZpbGUuYW06CgkgICogZXh0L2R0cy9NYWtlZmlsZS5hbToKCSAgKiBleHQvZmFhYy9NYWtlZmlsZS5hbToKCSAgKiBleHQvZmFhZC9NYWtlZmlsZS5hbToKCSAgKiBleHQvZ3NtL01ha2VmaWxlLmFtOgoJICAqIGV4dC9oZXJtZXMvTWFrZWZpbGUuYW06CgkgICogZXh0L2l2b3JiaXMvTWFrZWZpbGUuYW06CgkgICogZXh0L2phY2svTWFrZWZpbGUuYW06CgkgICogZXh0L2pwMmsvTWFrZWZpbGUuYW06CgkgICogZXh0L2xhZHNwYS9NYWtlZmlsZS5hbToKCSAgKiBleHQvbGNzL01ha2VmaWxlLmFtOgoJICAqIGV4dC9saWJmYW1lL01ha2VmaWxlLmFtOgoJICAqIGV4dC9saWJtbXMvTWFrZWZpbGUuYW06CgkgICogZXh0L21ldGFkYXRhL01ha2VmaWxlLmFtOgoJICAqIGV4dC9tcGVnMmVuYy9NYWtlZmlsZS5hbToKCSAgKiBleHQvbXBsZXgvTWFrZWZpbGUuYW06CgkgICogZXh0L211c2VwYWNrL01ha2VmaWxlLmFtOgoJICAqIGV4dC9tdXNpY2JyYWluei9NYWtlZmlsZS5hbToKCSAgKiBleHQvbXl0aHR2L01ha2VmaWxlLmFtOgoJICAqIGV4dC9uYXMvTWFrZWZpbGUuYW06CgkgICogZXh0L25lb24vTWFrZWZpbGUuYW06CgkgICogZXh0L29mYS9NYWtlZmlsZS5hbToKCSAgKiBleHQvcG9seXAvTWFrZWZpbGUuYW06CgkgICogZXh0L3Jlc2luZHZkL01ha2VmaWxlLmFtOgoJICAqIGV4dC9zZGwvTWFrZWZpbGUuYW06CgkgICogZXh0L3Nob3V0L01ha2VmaWxlLmFtOgoJICAqIGV4dC9zbmFwc2hvdC9NYWtlZmlsZS5hbToKCSAgKiBleHQvc25kZmlsZS9NYWtlZmlsZS5hbToKCSAgKiBleHQvc291bmR0b3VjaC9NYWtlZmlsZS5hbToKCSAgKiBleHQvc3BjL01ha2VmaWxlLmFtOgoJICAqIGV4dC9zd2ZkZWMvTWFrZWZpbGUuYW06CgkgICogZXh0L3Rhcmtpbi9NYWtlZmlsZS5hbToKCSAgKiBleHQvdGhlb3JhL01ha2VmaWxlLmFtOgoJICAqIGV4dC90aW1pZGl0eS9NYWtlZmlsZS5hbToKCSAgKiBleHQvdHdvbGFtZS9NYWtlZmlsZS5hbToKCSAgKiBleHQveDI2NC9NYWtlZmlsZS5hbToKCSAgKiBleHQveGluZS9NYWtlZmlsZS5hbToKCSAgKiBleHQveHZpZC9NYWtlZmlsZS5hbToKCSAgKiBnc3QtbGlicy9nc3QvYXBwL01ha2VmaWxlLmFtOgoJICAqIGdzdC1saWJzL2dzdC9kc2hvdy9NYWtlZmlsZS5hbToKCSAgKiBnc3QvYWlmZnBhcnNlL01ha2VmaWxlLmFtOgoJICAqIGdzdC9hcHAvTWFrZWZpbGUuYW06CgkgICogZ3N0L2F1ZGlvYnVmZmVyL01ha2VmaWxlLmFtOgoJICAqIGdzdC9iYXllci9NYWtlZmlsZS5hbToKCSAgKiBnc3QvY2R4YXBhcnNlL01ha2VmaWxlLmFtOgoJICAqIGdzdC9jaGFydC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvY29sb3JzcGFjZS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvZGNjcC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvZGVpbnRlcmxhY2UvTWFrZWZpbGUuYW06CgkgICogZ3N0L2RlaW50ZXJsYWNlMi9NYWtlZmlsZS5hbToKCSAgKiBnc3QvZHZkc3B1L01ha2VmaWxlLmFtOgoJICAqIGdzdC9mZXN0aXZhbC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvZmlsdGVyL01ha2VmaWxlLmFtOgoJICAqIGdzdC9mbGFjcGFyc2UvTWFrZWZpbGUuYW06CgkgICogZ3N0L2Zsdi9NYWtlZmlsZS5hbToKCSAgKiBnc3QvZ2FtZXMvTWFrZWZpbGUuYW06CgkgICogZ3N0L2gyNjRwYXJzZS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvbGlicmZiL01ha2VmaWxlLmFtOgoJICAqIGdzdC9taXhtYXRyaXgvTWFrZWZpbGUuYW06CgkgICogZ3N0L21vZHBsdWcvTWFrZWZpbGUuYW06CgkgICogZ3N0L21wZWcxc3lzL01ha2VmaWxlLmFtOgoJICAqIGdzdC9tcGVnNHZpZGVvcGFyc2UvTWFrZWZpbGUuYW06CgkgICogZ3N0L21wZWdkZW11eC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvbXBlZ3RzbXV4L01ha2VmaWxlLmFtOgoJICAqIGdzdC9tcGVndmlkZW9wYXJzZS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvbXZlL01ha2VmaWxlLmFtOgoJICAqIGdzdC9uc2YvTWFrZWZpbGUuYW06CgkgICogZ3N0L251dmRlbXV4L01ha2VmaWxlLmFtOgoJICAqIGdzdC9vdmVybGF5L01ha2VmaWxlLmFtOgoJICAqIGdzdC9wYXNzdGhyb3VnaC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvcGNhcHBhcnNlL01ha2VmaWxlLmFtOgoJICAqIGdzdC9wbGF5b25kZW1hbmQvTWFrZWZpbGUuYW06CgkgICogZ3N0L3Jhd3BhcnNlL01ha2VmaWxlLmFtOgoJICAqIGdzdC9yZWFsL01ha2VmaWxlLmFtOgoJICAqIGdzdC9ydGpwZWcvTWFrZWZpbGUuYW06CgkgICogZ3N0L3J0cG1hbmFnZXIvTWFrZWZpbGUuYW06CgkgICogZ3N0L3NjYWxldGVtcG8vTWFrZWZpbGUuYW06CgkgICogZ3N0L3NkcC9NYWtlZmlsZS5hbToKCSAgKiBnc3Qvc2VsZWN0b3IvTWFrZWZpbGUuYW06CgkgICogZ3N0L3Ntb290aC9NYWtlZmlsZS5hbToKCSAgKiBnc3Qvc21vb3Rod2F2ZS9NYWtlZmlsZS5hbToKCSAgKiBnc3Qvc3BlZWQvTWFrZWZpbGUuYW06CgkgICogZ3N0L3NwZWV4cmVzYW1wbGUvTWFrZWZpbGUuYW06CgkgICogZ3N0L3N0ZXJlby9NYWtlZmlsZS5hbToKCSAgKiBnc3Qvc3ViZW5jL01ha2VmaWxlLmFtOgoJICAqIGdzdC90dGEvTWFrZWZpbGUuYW06CgkgICogZ3N0L3ZiaWRlYy9NYWtlZmlsZS5hbToKCSAgKiBnc3QvdmlkZW9kcm9wL01ha2VmaWxlLmFtOgoJICAqIGdzdC92aWRlb3NpZ25hbC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvdmlydHVhbGR1Yi9NYWtlZmlsZS5hbToKCSAgKiBnc3Qvdm1uYy9NYWtlZmlsZS5hbToKCSAgKiBnc3QveTRtL01ha2VmaWxlLmFtOgoJICAqIHN5cy9hY21lbmMvTWFrZWZpbGUuYW06CgkgICogc3lzL2Nkcm9tL01ha2VmaWxlLmFtOgoJICAqIHN5cy9kc2hvd2RlY3dyYXBwZXIvTWFrZWZpbGUuYW06CgkgICogc3lzL2RzaG93c3Jjd3JhcHBlci9NYWtlZmlsZS5hbToKCSAgKiBzeXMvZHZiL01ha2VmaWxlLmFtOgoJICAqIHN5cy9keHIzL01ha2VmaWxlLmFtOgoJICAqIHN5cy9mYmRldi9NYWtlZmlsZS5hbToKCSAgKiBzeXMvb3NzNC9NYWtlZmlsZS5hbToKCSAgKiBzeXMvcWNhbS9NYWtlZmlsZS5hbToKCSAgKiBzeXMvcXR3cmFwcGVyL01ha2VmaWxlLmFtOgoJICAqIHN5cy92Y2QvTWFrZWZpbGUuYW06CgkgICogc3lzL3dpbmluZXQvTWFrZWZpbGUuYW06CgkgICogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICBEb24ndCBpbnN0YWxsIHN0YXRpYyBsaWJzIGZvciBwbHVnaW5zLiBGaXhlcyAjNTUwODUxIGZvciAtYmFkLgoKMjAwOC0xMC0yOCAxODo0NDo0NCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgW01PVkVEIEZST00gQkFEIDQ1LzU3XSBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6IEltcGxlbWVudCBwb3NpdGlvbiBxdWVyeSBpbiB0aW1lIGZvcm1hdC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOiAoZ3N0X2Zsdl9kZW11eF9xdWVyeSk6CgkgIEltcGxlbWVudCBwb3NpdGlvbiBxdWVyeSBpbiB0aW1lIGZvcm1hdC4KCjIwMDgtMTAtMjggMTg6NDE6MTkgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIFtNT1ZFRCBGUk9NIEJBRCA0NC81N10gZ3N0L2Zsdi86IFB1dCB0aGUgR3N0U2VnbWVudCBkaXJlY3RseSBpbnRvIHRoZSBpbnN0YW5jZSBzdHJ1Y3QgaW5zdGVhZCBvZiBhbGxvY2F0aW5nIGFuZCBmcmVlJ2luZyBpdCBhZ2Fpbi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOiAoZ3N0X2Zsdl9kZW11eF9jbGVhbnVwKSwKCSAgKGdzdF9mbHZfZGVtdXhfbG9vcCksIChnc3RfZmx2X2RlbXV4X2hhbmRsZV9zZWVrX3B1c2gpLAoJICAoZ3N0X2Zsdl9kZW11eF9oYW5kbGVfc2Vla19wdWxsKSwgKGdzdF9mbHZfZGVtdXhfc2lua19ldmVudCksCgkgIChnc3RfZmx2X2RlbXV4X2Rpc3Bvc2UpLCAoZ3N0X2Zsdl9kZW11eF9pbml0KToKCSAgKiBnc3QvZmx2L2dzdGZsdmRlbXV4Lmg6CgkgICogZ3N0L2Zsdi9nc3RmbHZwYXJzZS5jOiAoZ3N0X2Zsdl9wYXJzZV90YWdfYXVkaW8pLAoJICAoZ3N0X2Zsdl9wYXJzZV90YWdfdmlkZW8pLCAoZ3N0X2Zsdl9wYXJzZV90YWdfdGltZXN0YW1wKToKCSAgUHV0IHRoZSBHc3RTZWdtZW50IGRpcmVjdGx5IGludG8gdGhlIGluc3RhbmNlIHN0cnVjdCBpbnN0ZWFkIG9mCgkgIGFsbG9jYXRpbmcgYW5kIGZyZWUnaW5nIGl0IGFnYWluLgoJICBQdXNoIHRhZ3MgYWxyZWFkeSBpZiBvbmx5IG9uZSBwYWQgd2FzIGFkZGVkLCBubyBuZWVkIHRvIHdhaXQgZm9yCgkgIHRoZSBzZWNvbmQgb25lLgoJICBXaGVuIGdlbmVyYXRpbmcgb3VyIGluZGV4IHNldCBoYXNfdmlkZW8gYW5kIGhhc19hdWRpbyBpZiB3ZSBmaW5kCgkgIHZpZGVvIG9yIGF1ZGlvIGluIGNhc2UgdGhlIEZMViBoZWFkZXIgaGFzIGluY29ycmVjdCBkYXRhLgoKMjAwOC0xMC0yNyAwOTo0NTowNCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgW01PVkVEIEZST00gQkFEIDQzLzU3XSBnc3QvZmx2LzogRG9uJ3QgbWVtY3B5KCkgYWxsIGRhdGEgd2Ugd2FudCB0byBwdXNoIGRvd25zdHJlYW0sIGluc3RlYWQganVzdCBjcmVhdGUgc3ViYnVmZmVycyBhbmQgcHVzaCB0aGVtIGRvd25zdHJlYW0uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzogKGdzdF9mbHZfZGVtdXhfY2hhaW4pLAoJICAoZ3N0X2Zsdl9kZW11eF9wdWxsX3RhZyksIChnc3RfZmx2X2RlbXV4X3B1bGxfaGVhZGVyKSwKCSAgKGdzdF9mbHZfZGVtdXhfY3JlYXRlX2luZGV4KToKCSAgKiBnc3QvZmx2L2dzdGZsdnBhcnNlLmM6IChnc3RfZmx2X3BhcnNlX3RhZ19zY3JpcHQpLAoJICAoZ3N0X2Zsdl9wYXJzZV90YWdfYXVkaW8pLCAoZ3N0X2Zsdl9wYXJzZV90YWdfdmlkZW8pLAoJICAoZ3N0X2Zsdl9wYXJzZV90YWdfdGltZXN0YW1wKSwgKGdzdF9mbHZfcGFyc2VfdGFnX3R5cGUpLAoJICAoZ3N0X2Zsdl9wYXJzZV9oZWFkZXIpOgoJICAqIGdzdC9mbHYvZ3N0Zmx2cGFyc2UuaDoKCSAgRG9uJ3QgbWVtY3B5KCkgYWxsIGRhdGEgd2Ugd2FudCB0byBwdXNoIGRvd25zdHJlYW0sIGluc3RlYWQganVzdAoJICBjcmVhdGUgc3ViYnVmZmVycyBhbmQgcHVzaCB0aGVtIGRvd25zdHJlYW0uCgkgIEZpeCBzb21lIG1pbm9yIG1lbW9yeSBsZWFrcy4KCjIwMDgtMTAtMjcgMDk6NDE6MTggKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIFtNT1ZFRCBGUk9NIEJBRCA0Mi81N10gZ3N0L2Zsdi9NYWtlZmlsZS5hbTogRml4IChub24tY3JpdGljYWwpIHN5bnRheCBlcnJvciBhbmQgYWRkIGFsbCByZXF1aXJlZCBDRkxBR1MgYW5kIExJQlMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9mbHYvTWFrZWZpbGUuYW06CgkgIEZpeCAobm9uLWNyaXRpY2FsKSBzeW50YXggZXJyb3IgYW5kIGFkZCBhbGwgcmVxdWlyZWQgQ0ZMQUdTIGFuZCBMSUJTLgoJICAqIGdzdC9mbHYvZ3N0Zmx2cGFyc2UuYzogKEZMVl9HRVRfU1RSSU5HKSwKCSAgKGdzdF9mbHZfcGFyc2VfbWV0YWRhdGFfaXRlbSksIChnc3RfZmx2X3BhcnNlX3RhZ19zY3JpcHQpLAoJICAoZ3N0X2Zsdl9wYXJzZV90YWdfYXVkaW8pLCAoZ3N0X2Zsdl9wYXJzZV90YWdfdmlkZW8pLAoJICAoZ3N0X2Zsdl9wYXJzZV90YWdfdGltZXN0YW1wKSwgKGdzdF9mbHZfcGFyc2VfdGFnX3R5cGUpOgoJICBSZXdyaXRlIHRoZSBzY3JpcHQgdGFnIHBhcnNpbmcgdG8gbWFrZSBzdXJlIHdlIGRvbid0IHRyeSB0byByZWFkCgkgIG1vcmUgZGF0YSB0aGFuIHdlIGhhdmUuIEFsc28gdXNlIEdTVF9SRUFEX1VJTlQyNF9CRSBkaXJlY3RseSBhbmQKCSAgZml4IHNvbWUgbWlub3IgbWVtb3J5IGxlYWtzLgoJICBUaGlzIHNob3VsZCBtYWtlIGFsbCBjcmFzaGVzIG9uIGZ1enplZCBGTFYgZmlsZXMgZGlzYXBwZWFyLgoKMjAwOC0xMC0yNyAwOTozNzoyMSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgW01PVkVEIEZST00gQkFEIDQxLzU3XSBnc3QvZmx2L2dzdGZsdnBhcnNlLmM6IFByb3Blcmx5IGNoZWNrIGV2ZXJ5d2hlcmUgdGhhdCB3ZSBoYXZlIGVub3VnaCBkYXRhIHRvIHBhcnNlIGFuZCBkb24ndCByZWFkIG91dHNpZGUgdGhlIGFsbG9jYXQuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2Zsdi9nc3RmbHZwYXJzZS5jOiAoRkxWX0dFVF9TVFJJTkcpLAoJICAoZ3N0X2Zsdl9wYXJzZV90YWdfYXVkaW8pLCAoZ3N0X2Zsdl9wYXJzZV90YWdfdmlkZW8pLAoJICAoZ3N0X2Zsdl9wYXJzZV90YWdfdHlwZSksIChnc3RfZmx2X3BhcnNlX2hlYWRlcik6CgkgIFByb3Blcmx5IGNoZWNrIGV2ZXJ5d2hlcmUgdGhhdCB3ZSBoYXZlIGVub3VnaCBkYXRhIHRvIHBhcnNlIGFuZAoJICBkb24ndCByZWFkIG91dHNpZGUgdGhlIGFsbG9jYXRlZCBtZW1vcnkgcmVnaW9uLgoKMjAwOC0xMC0yNyAwOTozNTozNCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgW01PVkVEIEZST00gQkFEIDQwLzU3XSBnc3QvZmx2L2dzdGZsdnBhcnNlLmM6IElmIHRoZSBjYXBzIGNoYW5nZSBkdXJpbmcgcGxheWJhY2sgYW5kIG5lZ290aWF0aW9uIGZhaWxzIGVycm9yIG91dCBpbnN0ZWFkIG9mIHRyeWluZyB0byBjb250aW51ZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2Zsdi9nc3RmbHZwYXJzZS5jOiAoZ3N0X2Zsdl9wYXJzZV90YWdfYXVkaW8pLAoJICAoZ3N0X2Zsdl9wYXJzZV90YWdfdmlkZW8pOgoJICBJZiB0aGUgY2FwcyBjaGFuZ2UgZHVyaW5nIHBsYXliYWNrIGFuZCBuZWdvdGlhdGlvbiBmYWlscyBlcnJvciBvdXQKCSAgaW5zdGVhZCBvZiB0cnlpbmcgdG8gY29udGludWUuCgoyMDA4LTEwLTI3IDA5OjMzOjQwICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBbTU9WRUQgRlJPTSBCQUQgMzkvNTddIGdzdC9mbHYvOiBBZGQgc3VwcG9ydCBmb3IgU3BlZXggYXVkaW8gYW5kIGFsbG93IGJ1ZmZlcnMgd2l0aG91dCB2YWxpZCB0aW1lc3RhbXAgaW4gdGhlIG11eGVyLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZmx2L2dzdGZsdm11eC5jOiAoZ3N0X2Zsdl9tdXhfYXVkaW9fcGFkX3NldGNhcHMpLAoJICAoZ3N0X2Zsdl9tdXhfcmVxdWVzdF9uZXdfcGFkKSwgKGdzdF9mbHZfbXV4X3dyaXRlX2J1ZmZlciksCgkgIChnc3RfZmx2X211eF9jb2xsZWN0ZWQpOgoJICAqIGdzdC9mbHYvZ3N0Zmx2bXV4Lmg6CgkgICogZ3N0L2Zsdi9nc3RmbHZwYXJzZS5jOiAoZ3N0X2Zsdl9wYXJzZV9hdWRpb19uZWdvdGlhdGUpOgoJICBBZGQgc3VwcG9ydCBmb3IgU3BlZXggYXVkaW8gYW5kIGFsbG93IGJ1ZmZlcnMgd2l0aG91dCB2YWxpZAoJICB0aW1lc3RhbXAgaW4gdGhlIG11eGVyLgoKMjAwOC0xMC0yNyAwOTozMjowMyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgW01PVkVEIEZST00gQkFEIDM4LzU3XSBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6IERvbid0IHBvc3QgYW4gZXJyb3IgbWVzc2FnZSBvbiB0aGUgYnVzIGlmIHNlbmRpbmcgRU9TIGRvd25zdHJlYW0gZGlkbid0IHdvcmsuIEZpeGVzIGJ1ZyAjNTUwNDU0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6IChnc3RfZmx2X2RlbXV4X2xvb3ApLAoJICAoZ3N0X2Zsdl9kZW11eF9maW5kX29mZnNldCksIChnc3RfZmx2X2RlbXV4X2hhbmRsZV9zZWVrX3B1c2gpLAoJICAoZ3N0X2Zsdl9kZW11eF9oYW5kbGVfc2Vla19wdWxsKToKCSAgRG9uJ3QgcG9zdCBhbiBlcnJvciBtZXNzYWdlIG9uIHRoZSBidXMgaWYgc2VuZGluZyBFT1MgZG93bnN0cmVhbQoJICBkaWRuJ3Qgd29yay4gRml4ZXMgYnVnICM1NTA0NTQuCgkgIEZpeCBzZWVrIGV2ZW50IGhhbmRsaW5nIHRvIGxvb2sgYXQgdGhlIGZsYWdzIG9mIHRoZSBzZWVrIGV2ZW50CgkgIGluc3RlYWQgb2YgYXNzdW1pbmcgc29tZSByYW5kb20gZmxhZ3MsIGRvbid0IHNlbmQgc2VnbWVudC1zdGFydAoJICBtZXNzYWdlcyB3aGVuIG9wZXJhdGluZyBpbiBwdXNoIG1vZGUgYW5kIHB1c2ggc2VlayBldmVudHMgdXBzdHJlYW0KCSAgaWYgd2UgY291bGRuJ3QgaGFuZGxlIHRoZW0uCgoyMDA4LTEwLTI3IDA5OjI3OjE4ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBbTU9WRUQgRlJPTSBCQUQgMzcvNTddIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzogRXJyb3Igb3V0IGVhcmx5IGlmIHB1bGxpbmcgYSB0YWcgZmFpbGVkLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6IChnc3RfZmx2X2RlbXV4X3B1bGxfdGFnKToKCSAgRXJyb3Igb3V0IGVhcmx5IGlmIHB1bGxpbmcgYSB0YWcgZmFpbGVkLgoKMjAwOC0xMC0yNyAwOToyNToxMSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgW01PVkVEIEZST00gQkFEIDM2LzU3XSBnc3QvZmx2LzogSW4gcHVsbCBtb2RlIHdlIGNyZWF0ZSBvdXIgb3duIGluZGV4IGJlZm9yZSBkb2luZyBhbnl0aGluZyBlbHNlIGFuZCBkb24ndCB1c2UgdGhlIGluZGV4IHByb3ZpZGVkIGJ5IHNvbWUgZmkuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOiAoZ3N0X2Zsdl9kZW11eF9jcmVhdGVfaW5kZXgpLAoJICAoZ3N0X2Zsdl9kZW11eF9sb29wKToKCSAgKiBnc3QvZmx2L2dzdGZsdnBhcnNlLmM6IChnc3RfZmx2X3BhcnNlX3RhZ19zY3JpcHQpLAoJICAoZ3N0X2Zsdl9wYXJzZV90YWdfYXVkaW8pLCAoZ3N0X2Zsdl9wYXJzZV90YWdfdmlkZW8pLAoJICAoZ3N0X2Zsdl9wYXJzZV90YWdfdGltZXN0YW1wKToKCSAgKiBnc3QvZmx2L2dzdGZsdnBhcnNlLmg6CgkgIEluIHB1bGwgbW9kZSB3ZSBjcmVhdGUgb3VyIG93biBpbmRleCBiZWZvcmUgZG9pbmcgYW55dGhpbmcgZWxzZQoJICBhbmQgZG9uJ3QgdXNlIHRoZSBpbmRleCBwcm92aWRlZCBieSBzb21lIGZpbGVzICh3aGljaCBhcmUgbW9yZSB0aGFuCgkgIG9mdGVuIGluY29ycmVjdCBhbmQgY2F1c2UgZmFpbGVkIHNlZWtzKS4KCSAgRm9yIHB1c2ggbW9kZSB3ZSBzdGlsbCB1c2UgdGhlIGluZGV4IHByb3ZpZGVkIGJ5IHRoZSBmaWxlIGFuZCBleHRlbmQgaXQKCSAgd2hpbGUgZG9pbmcgdGhlIHBsYXliYWNrLgoKMjAwOC0xMC0yNyAwOToyMDowMSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgW01PVkVEIEZST00gQkFEIDM1LzU3XSBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6IEluc3RlYWQgb2YgdXNpbmcgZ3N0X3BhZF9ldmVudF9kZWZhdWx0KCkgdXNlIGEgc21hbGwgZ3N0X3BhZF9wdXNoX2V2ZW50KCkgd3JhcHBlciB0aGF0IG9ubHkgZG8uLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOiAoZ3N0X2Zsdl9kZW11eF9wdXNoX3NyY19ldmVudCksCgkgIChnc3RfZmx2X2RlbXV4X2xvb3ApLCAoZ3N0X2Zsdl9kZW11eF9oYW5kbGVfc2Vla19wdWxsKSwKCSAgKGdzdF9mbHZfZGVtdXhfc2lua19ldmVudCk6CgkgIEluc3RlYWQgb2YgdXNpbmcgZ3N0X3BhZF9ldmVudF9kZWZhdWx0KCkgdXNlIGEgc21hbGwKCSAgZ3N0X3BhZF9wdXNoX2V2ZW50KCkgd3JhcHBlciB0aGF0IG9ubHkgZG9lcyB3aGF0IHdlIHdhbnQgYW5kIGlzIG11Y2gKCSAgbW9yZSBzaW1wbGUuCgoyMDA4LTEwLTI3IDA5OjE0OjQ1ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBbTU9WRUQgRlJPTSBCQUQgMzQvNTddIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguKjogSWYgb3VyIGluZGV4IHdhcyBjcmVhdGVkIGJ5IHRoZSBlbGVtZW50IGFuZCBub3QgcHJvdmlkZWQgZnJvbSB0aGUgb3V0c2lkZSB3ZSBzaG91bGQgZGVzdHJveSBpdC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6IChnc3RfZmx2X2RlbXV4X2NoYW5nZV9zdGF0ZSksCgkgIChnc3RfZmx2X2RlbXV4X3NldF9pbmRleCksIChnc3RfZmx2X2RlbXV4X2luaXQpOgoJICAqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguaDoKCSAgSWYgb3VyIGluZGV4IHdhcyBjcmVhdGVkIGJ5IHRoZSBlbGVtZW50IGFuZCBub3QgcHJvdmlkZWQgZnJvbSB0aGUKCSAgb3V0c2lkZSB3ZSBzaG91bGQgZGVzdHJveSBpdCB3aGVuIHN0YXJ0aW5nIGEgbmV3IHN0cmVhbSB0byBnZXQKCSAgYWxsIG9sZCBlbnRyaWVzIHJlbW92ZWQuCgoyMDA4LTEwLTI3IDA5OjEyOjMzICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBbTU9WRUQgRlJPTSBCQUQgMzMvNTddIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzogSW1wcm92ZSBkZWJ1Z2dpbmcgYSBiaXQgd2hlbiBwdWxsaW5nIGEgYnVmZmVyIGZyb20gdXBzdHJlYW0gZmFpbHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzogKGdzdF9mbHZfZGVtdXhfcHVsbF9yYW5nZSk6CgkgIEltcHJvdmUgZGVidWdnaW5nIGEgYml0IHdoZW4gcHVsbGluZyBhIGJ1ZmZlciBmcm9tIHVwc3RyZWFtIGZhaWxzLgoKMjAwOC0xMC0yNyAwOToxMDo1NCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgW01PVkVEIEZST00gQkFEIDMyLzU3XSBnc3QvZmx2LzogQ2xvc2UgdGhlIGN1cnJlbnRseSBwbGF5aW5nIHNlZ21lbnQgZnJvbSB0aGUgc3RyZWFtaW5nIHRocmVhZCBpbnN0ZWFkIG9mIHRoZSB0aHJlYWQgd2hlcmUgdGhlIHNlZWsgZXZlbnQgaXMuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOiAoZ3N0X2Zsdl9kZW11eF9jbGVhbnVwKSwKCSAgKGdzdF9mbHZfZGVtdXhfaGFuZGxlX3NlZWtfcHVsbCksIChnc3RfZmx2X2RlbXV4X2Rpc3Bvc2UpOgoJICAqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguaDoKCSAgKiBnc3QvZmx2L2dzdGZsdnBhcnNlLmM6IChnc3RfZmx2X3BhcnNlX3RhZ19hdWRpbyksCgkgIChnc3RfZmx2X3BhcnNlX3RhZ192aWRlbyk6CgkgIENsb3NlIHRoZSBjdXJyZW50bHkgcGxheWluZyBzZWdtZW50IGZyb20gdGhlIHN0cmVhbWluZyB0aHJlYWQKCSAgaW5zdGVhZCBvZiB0aGUgdGhyZWFkIHdoZXJlIHRoZSBzZWVrIGV2ZW50IGlzIGhhbmRsZWQuCgoyMDA4LTEwLTE2IDE1OjIxOjE1ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBbTU9WRUQgRlJPTSBCQUQgMzEvNTddIGdzdC9mbHYvZ3N0Zmx2bXV4LmM6IERvbid0IHNldCB2aWRlb19jb2RlYyB0byB0aGUgdmFsdWUgdGhhdCBhY3R1YWxseSBzaG91bGQgZ28gaW50byBhdWRpbyBjb2RlYywgb3RoZXJ3aXNlIHdlIGNyZWF0ZS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZmx2L2dzdGZsdm11eC5jOiAoZ3N0X2Zsdl9tdXhfYXVkaW9fcGFkX3NldGNhcHMpLAoJICAoZ3N0X2Zsdl9tdXhfd3JpdGVfYnVmZmVyKToKCSAgRG9uJ3Qgc2V0IHZpZGVvX2NvZGVjIHRvIHRoZSB2YWx1ZSB0aGF0IGFjdHVhbGx5IHNob3VsZCBnbwoJICBpbnRvIGF1ZGlvIGNvZGVjLCBvdGhlcndpc2Ugd2UgY3JlYXRlIGludmFsaWQgZmlsZXMuCgkgIEZpeGVzIGJ1ZyAjNTU2NTY0LgoKMjAwOC0xMC0xMiAxNzowODoxMCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgW01PVkVEIEZST00gQkFEIDMwLzU3XSBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6IEZpeCByZWdyZXNzaW9uIG9mIGhhbmRsaW5nIGZsb3cgcmV0dXJucyBpbiBwdWxsIG1vZGUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzogKGdzdF9mbHZfZGVtdXhfcHVsbF90YWcpLAoJICAoZ3N0X2Zsdl9kZW11eF9wdWxsX2hlYWRlcik6CgkgIEZpeCByZWdyZXNzaW9uIG9mIGhhbmRsaW5nIGZsb3cgcmV0dXJucyBpbiBwdWxsIG1vZGUuCgkgIEZpeGVzIGJ1ZyAjNTU2MDAzLgoKMjAwOC0xMC0xMCAxNjozMzozNiArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgW01PVkVEIEZST00gQkFEIDI5LzU3XSBnc3QvZmx2L2dzdGZsdnBhcnNlLmM6IFVzZSBnc3RfcGFkX2FsbG9jX2J1ZmZlcl9hbmRfc2V0X2NhcHMoKSB0byBtYWtlIHN1cmUgd2UgZ2V0IGEgYnVmZmVyIHdpdGggY2FwcyB0aGF0IHdlIGNhbiB3b3IuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2Zsdi9nc3RmbHZwYXJzZS5jOiAoZ3N0X2Zsdl9wYXJzZV90YWdfYXVkaW8pLAoJICAoZ3N0X2Zsdl9wYXJzZV90YWdfdmlkZW8pOgoJICBVc2UgZ3N0X3BhZF9hbGxvY19idWZmZXJfYW5kX3NldF9jYXBzKCkgdG8gbWFrZSBzdXJlIHdlIGdldAoJICBhIGJ1ZmZlciB3aXRoIGNhcHMgdGhhdCB3ZSBjYW4gd29yayB3aXRoIChpLmUuIHRoZSBwYWQncyBjYXBzKS4KCSAgQWRkIG5vbi1rZXlmcmFtZSB2aWRlbyBmcmFtZXMgdG8gdGhlIGluZGV4IHRvbyBidXQgd2l0aG91dCB0aGUKCSAga2V5ZnJhbWUgZmxhZy4KCSAgQWRkIGF1ZGlvIGZyYW1lcyB0byB0aGUgaW5kZXggb25seSBpZiB3ZSBoYXZlIG5vIHZpZGVvIHN0cmVhbS4KCjIwMDgtMTAtMTAgMTY6MTU6MDkgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIFtNT1ZFRCBGUk9NIEJBRCAyOC81N10gZ3N0L2Zsdi9nc3RmbHZwYXJzZS5jOiBDcmVhdGUgcGFkcyBmcm9tIHRoZSBwYWQgdGVtcGxhdGVzLCB1c2UgZml4ZWQgY2FwcyBvbiB0aGVtIGFuZCBvbmx5IGFjdGl2YXRlIHRoZW0gYWZ0ZXIgdGhlIGNhLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9mbHYvZ3N0Zmx2cGFyc2UuYzogKGdzdF9mbHZfcGFyc2VfdGFnX2F1ZGlvKSwKCSAgKGdzdF9mbHZfcGFyc2VfdGFnX3ZpZGVvKToKCSAgQ3JlYXRlIHBhZHMgZnJvbSB0aGUgcGFkIHRlbXBsYXRlcywgdXNlIGZpeGVkIGNhcHMgb24gdGhlbQoJICBhbmQgb25seSBhY3RpdmF0ZSB0aGVtIGFmdGVyIHRoZSBjYXBzIGFyZSBzZXQuCgoyMDA4LTEwLTA5IDE2OjIwOjI2ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBbTU9WRUQgRlJPTSBCQUQgMjcvNTddIGdzdC9mbHYvOiBHZXQgYW4gYXBwcm94aW1hdGUgZHVyYXRpb24gb2YgdGhlIGZpbGUgYnkgbG9va2luZyBhdCB0aGUgdGltZXN0YW1wIG9mIHRoZSBsYXN0IHRhZyBpbiBwdWxsIG1vZGUuIElmIHdlIGdldC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6IChnc3RfZmx2X2RlbXV4X2xvb3ApOgoJICAqIGdzdC9mbHYvZ3N0Zmx2cGFyc2UuYzogKGdzdF9mbHZfcGFyc2VfdGFnX3RpbWVzdGFtcCk6CgkgICogZ3N0L2Zsdi9nc3RmbHZwYXJzZS5oOgoJICBHZXQgYW4gYXBwcm94aW1hdGUgZHVyYXRpb24gb2YgdGhlIGZpbGUgYnkgbG9va2luZyBhdCB0aGUgdGltZXN0YW1wCgkgIG9mIHRoZSBsYXN0IHRhZyBpbiBwdWxsIG1vZGUuIElmIHdlIGdldCAobWF5YmUgYmV0dGVyKSBkdXJhdGlvbiBmcm9tCgkgIG1ldGFkYXRhIGxhdGVyIHdlJ2xsIHVzZSB0aGF0IGluc3RlYWQuCgoyMDA4LTEwLTA5IDE1OjQzOjAyICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBbTU9WRUQgRlJPTSBCQUQgMjYvNTddIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzogUmVmYWN0b3IgX3B1bGxfcmFuZ2UoKSBsb2dpYyB3aXRoIGNoZWNrcyBpbnRvIGEgc2VwZXJhdGUgZnVuY3Rpb24gdG8gbWFrZSB0aGluZ3MgYSBiaXQgbW9yZSByZS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6IChnc3RfZmx2X2RlbXV4X3B1bGxfcmFuZ2UpLAoJICAoZ3N0X2Zsdl9kZW11eF9wdWxsX3RhZyksIChnc3RfZmx2X2RlbXV4X3B1bGxfaGVhZGVyKToKCSAgUmVmYWN0b3IgX3B1bGxfcmFuZ2UoKSBsb2dpYyB3aXRoIGNoZWNrcyBpbnRvIGEgc2VwZXJhdGUgZnVuY3Rpb24KCSAgdG8gbWFrZSB0aGluZ3MgYSBiaXQgbW9yZSByZWFkYWJsZS4KCjIwMDgtMTAtMDkgMTU6MjY6NTYgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIFtNT1ZFRCBGUk9NIEJBRCAyNS81N10gZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOiBVc2UgZ3N0X2VsZW1lbnRfY2xhc3Nfc2V0X2RldGFpbHNfc2ltcGxlKCkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzogKGdzdF9mbHZfZGVtdXhfY2hhaW4pLAoJICAoZ3N0X2Zsdl9kZW11eF9iYXNlX2luaXQpOgoJICBVc2UgZ3N0X2VsZW1lbnRfY2xhc3Nfc2V0X2RldGFpbHNfc2ltcGxlKCkuCgkgIElmIHdlIGdldCBHU1RfRkxPV19OT1RfTElOS0VEIGluIHRoZSBwYXJzZSBsb29wIGJ1dCBhdCBsZWFzdAoJICBvbmUgb2YgdGhlIHBhZHMgaXMgbGlua2VkIGNvbnRpbnVlIHRoZSBsb29wLgoKMjAwOC0xMC0wOSAxMDowMDo1MSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgW01PVkVEIEZST00gQkFEIDI0LzU3XSBnc3QvZmx2L2dzdGZsdnBhcnNlLmM6IENvcnJlY3QgY2FwcyBmb3IgdmlkZW8gY29kZWMgaWQgNTogSXQncyBPbjIgVlA2IHdpdGggYWxwaGEgY2hhbm5lbCB3aGljaCBuZWVkcyBhIGRpZmZlcmVudCBkZWMuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2Zsdi9nc3RmbHZwYXJzZS5jOiAoZ3N0X2Zsdl9wYXJzZV9hdWRpb19uZWdvdGlhdGUpLAoJICAoZ3N0X2Zsdl9wYXJzZV90YWdfYXVkaW8pLCAoZ3N0X2Zsdl9wYXJzZV92aWRlb19uZWdvdGlhdGUpOgoJICBDb3JyZWN0IGNhcHMgZm9yIHZpZGVvIGNvZGVjIGlkIDU6IEl0J3MgT24yIFZQNiB3aXRoIGFscGhhIGNoYW5uZWwKCSAgd2hpY2ggbmVlZHMgYSBkaWZmZXJlbnQgZGVjb2RlciBhbmQgaGFzIGRpZmZlcmVudCBjYXBzLgoJICBBZGQgc3VwcG9ydCBmb3IgYXVkaW8gY29kZWMgaWQgMTQsIHdoaWNoIGlzIE1QMyB3aXRoIDhrSHogc2FtcGxpbmcKCSAgcmF0ZS4KCSAgRml4IGVuZGlhbm5lc3MgYW5kIHNpZ25lZG5lc3MgZm9yIHJhdyBhdWRpbyBjb2RlYyBpZHMuCgkgIEFkZCBzdXBwb3J0IGZvciBhbGF3IGFuZCBtdWxhdyBhdWRpby4KCjIwMDgtMTAtMDkgMDk6NDg6NDYgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIFtNT1ZFRCBGUk9NIEJBRCAyMy81N10gZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOiBHbyBvdXQgb2YgdGhlIHBhcnNlIGxvb3AgYXMgc29vbiBhcyB3ZSBnZXQgYW4gZXJyb3IgaW5zdGVhZCBvZiBwYXJzaW5nIHVudGlsIHRoZSBHc3RBZGFwdGVyIGlzLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzogKGdzdF9mbHZfZGVtdXhfY2hhaW4pOgoJICBHbyBvdXQgb2YgdGhlIHBhcnNlIGxvb3AgYXMgc29vbiBhcyB3ZSBnZXQgYW4gZXJyb3IgaW5zdGVhZAoJICBvZiBwYXJzaW5nIHVudGlsIHRoZSBHc3RBZGFwdGVyIGlzIGVtcHR5LgoJICBBZGQgc29tZSBleHBsYW5hdGlvbnMgYWJvdXQgdGhlIGhlYWRlciBhbmQgdGFnIHNpemUuCgkgIERvbid0IHByaW50IHN5bmNocm9uaXppbmcgbWVzc2FnZSBpZiBldmVyeXRoaW5nIGlzIGZpbmUuCgoyMDA4LTEwLTA5IDA5OjI2OjU4ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBbTU9WRUQgRlJPTSBCQUQgMjIvNTddIGdzdC9mbHYvOiBBZGQgZmlyc3QgdmVyc2lvbiBvZiBhIEZMViBtdXhlci4gVGhlIG9ubHkgbWlzc2luZyBmZWF0dXJlIGlzIHdyaXRpbmcgb2Ygc3RyZWFtIG1ldGFkYXRhLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZmx2L01ha2VmaWxlLmFtOgoJICAqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzogKHBsdWdpbl9pbml0KToKCSAgKiBnc3QvZmx2L2dzdGZsdm11eC5jOiAoZ3N0X2Zsdl9tdXhfYmFzZV9pbml0KSwKCSAgKGdzdF9mbHZfbXV4X2NsYXNzX2luaXQpLCAoZ3N0X2Zsdl9tdXhfaW5pdCksCgkgIChnc3RfZmx2X211eF9maW5hbGl6ZSksIChnc3RfZmx2X211eF9yZXNldCksCgkgIChnc3RfZmx2X211eF9oYW5kbGVfc3JjX2V2ZW50KSwgKGdzdF9mbHZfbXV4X2hhbmRsZV9zaW5rX2V2ZW50KSwKCSAgKGdzdF9mbHZfbXV4X3ZpZGVvX3BhZF9zZXRjYXBzKSwgKGdzdF9mbHZfbXV4X2F1ZGlvX3BhZF9zZXRjYXBzKSwKCSAgKGdzdF9mbHZfbXV4X3JlcXVlc3RfbmV3X3BhZCksIChnc3RfZmx2X211eF9yZWxlYXNlX3BhZCksCgkgIChnc3RfZmx2X211eF93cml0ZV9oZWFkZXIpLCAoZ3N0X2Zsdl9tdXhfd3JpdGVfYnVmZmVyKSwKCSAgKGdzdF9mbHZfbXV4X2NvbGxlY3RlZCksIChnc3RfZmx2X211eF9jaGFuZ2Vfc3RhdGUpOgoJICAqIGdzdC9mbHYvZ3N0Zmx2bXV4Lmg6CgkgIEFkZCBmaXJzdCB2ZXJzaW9uIG9mIGEgRkxWIG11eGVyLiBUaGUgb25seSBtaXNzaW5nIGZlYXR1cmUgaXMgd3JpdGluZwoJICBvZiBzdHJlYW0gbWV0YWRhdGEuCgoyMDA4LTA2LTEzIDIyOjQ2OjQzICswMDAwICBKdWxpZW4gTW91dHRlIDxqdWxpZW5AbW91dHRlLm5ldD4KCgkgIFtNT1ZFRCBGUk9NIEJBRCAyMS81N10gZ3N0L2Zsdi86IEludHJvZHVjZSBkZW11eGluZyBzdXBwb3J0IGZvciBBQUMgYW5kCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA4LTA2LTE0ICBKdWxpZW4gTW91dHRlICA8anVsaWVuQGZsdWVuZG8uY29tPgoJICAqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzogKGdzdF9mbHZfZGVtdXhfY2xlYW51cCksCgkgIChnc3RfZmx2X2RlbXV4X2Rpc3Bvc2UpOgoJICAqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguaDoKCSAgKiBnc3QvZmx2L2dzdGZsdnBhcnNlLmM6IChnc3RfZmx2X3BhcnNlX2F1ZGlvX25lZ290aWF0ZSksCgkgIChnc3RfZmx2X3BhcnNlX3RhZ19hdWRpbyksIChnc3RfZmx2X3BhcnNlX3ZpZGVvX25lZ290aWF0ZSksCgkgIChnc3RfZmx2X3BhcnNlX3RhZ192aWRlbyk6IEludHJvZHVjZSBkZW11eGluZyBzdXBwb3J0IGZvciBBQUMKCSAgYW5kCgkgIEguMjY0L0FWQyBpbnNpZGUgRkxWLgoJICAqIHN5cy9kc2hvd2RlY3dyYXBwZXIvZ3N0ZHNob3dhdWRpb2RlYy5jOgoJICAoZ3N0X2RzaG93YXVkaW9kZWNfaW5pdCksCgkgIChnc3RfZHNob3dhdWRpb2RlY19jaGFpbiksIChnc3RfZHNob3dhdWRpb2RlY19wdXNoX2J1ZmZlciksCgkgIChnc3RfZHNob3dhdWRpb2RlY19zaW5rX2V2ZW50KSwgKGdzdF9kc2hvd2F1ZGlvZGVjX3NldHVwX2dyYXBoKToKCSAgKiBzeXMvZHNob3dkZWN3cmFwcGVyL2dzdGRzaG93YXVkaW9kZWMuaDoKCSAgKiBzeXMvZHNob3dkZWN3cmFwcGVyL2dzdGRzaG93dmlkZW9kZWMuYzoKCSAgKGdzdF9kc2hvd3ZpZGVvZGVjX2luaXQpLAoJICAoZ3N0X2RzaG93dmlkZW9kZWNfc2lua19ldmVudCksIChnc3RfZHNob3d2aWRlb2RlY19jaGFpbiksCgkgIChnc3RfZHNob3d2aWRlb2RlY19wdXNoX2J1ZmZlciksCgkgIChnc3RfZHNob3d2aWRlb2RlY19zcmNfZ2V0Y2Fwcyk6CgkgICogc3lzL2RzaG93ZGVjd3JhcHBlci9nc3Rkc2hvd3ZpZGVvZGVjLmg6IExvdCBvZiByYW5kb20gZml4ZXMKCSAgdG8gaW1wcm92ZSBzdGFiaWxpdHkgKHJlZiBjb3VudGluZywgc2FmZXR5IGNoZWNrcy4uLikKCjIwMDgtMDQtMjUgMDg6MDc6MzYgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBbTU9WRUQgRlJPTSBCQUQgMjAvNTddIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzogRm9yd2FyZCB1bmtub3duIHF1ZXJpZXMgdXBzdHJlYW0gaW5zdGVhZCBvZiByZXR1cm5pbmcgRkFMU0Ugb24gdGhlbS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOiAoZ3N0X2Zsdl9kZW11eF9xdWVyeSk6CgkgIEZvcndhcmQgdW5rbm93biBxdWVyaWVzIHVwc3RyZWFtIGluc3RlYWQgb2YgcmV0dXJuaW5nIEZBTFNFIG9uIHRoZW0uCgoyMDA4LTA0LTExIDIzOjE5OjIxICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgW01PVkVEIEZST00gQkFEIDE5LzU3XSBnc3QvZmx2L2dzdGZsdnBhcnNlLmM6IEhhbmRsZSBOVUxMIHJldHVybnMgZnJvbSBGTFZfR0VUX1NUUklORygpIG1vcmUgZ3JhY2VmdWxseS4gRml4ZXMgY3Jhc2ggY2F1c2VkIGJ5IGEgc3RybGVuIG9uIGEuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2Zsdi9nc3RmbHZwYXJzZS5jOiAoZ3N0X2Zsdl9wYXJzZV9tZXRhZGF0YV9pdGVtKSwKCSAgKGdzdF9mbHZfcGFyc2VfdGFnX3NjcmlwdCk6CgkgIEhhbmRsZSBOVUxMIHJldHVybnMgZnJvbSBGTFZfR0VUX1NUUklORygpIG1vcmUgZ3JhY2VmdWxseS4gRml4ZXMKCSAgY3Jhc2ggY2F1c2VkIGJ5IGEgc3RybGVuIG9uIGEgTlVMTCBzdHJpbmcgKCM1Mjc2MjIpLgoKMjAwNy0xMi0xMSAxMTo1NDo0MyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIFtNT1ZFRCBGUk9NIEJBRCAxOC81N10gZ3N0L2Zsdi9nc3RmbHZwYXJzZS5jOiBEb24ndCBzdHJkdXAgKGFuZCB0aHVzIGxlYWspIGNvZGVjIG5hbWUgc3RyaW5ncyB3aGVuIHBhc3NpbmcgdGhlbSB0byBnc3RfdGFnX2xpc3RfYWRkKCkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9mbHYvZ3N0Zmx2cGFyc2UuYzogKGdzdF9mbHZfcGFyc2VfdGFnX2F1ZGlvKSwKCSAgKGdzdF9mbHZfcGFyc2VfdGFnX3ZpZGVvKToKCSAgRG9uJ3Qgc3RyZHVwIChhbmQgdGh1cyBsZWFrKSBjb2RlYyBuYW1lIHN0cmluZ3Mgd2hlbiBwYXNzaW5nCgkgIHRoZW0gdG8gZ3N0X3RhZ19saXN0X2FkZCgpLgoKMjAwNy0xMi0wOSAxOTozNzo1MyArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIFtNT1ZFRCBGUk9NIEJBRCAxNy81N10gZ3N0L2Zsdi9nc3RmbHZwYXJzZS5jOiBGaXggbGlzdCBvZiBzdXBwb3J0ZWQgYW5kIGtub3duIGNvZGVjcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2Zsdi9nc3RmbHZwYXJzZS5jOiAoZ3N0X2Zsdl9wYXJzZV90YWdfYXVkaW8pLAoJICAoZ3N0X2Zsdl9wYXJzZV90YWdfdmlkZW8pOgoJICBGaXggbGlzdCBvZiBzdXBwb3J0ZWQgYW5kIGtub3duIGNvZGVjcy4KCSAgRW1pdCB0YWcgd2l0aCB0aGUgY29kZWMgbmFtZSBzbyBpdCBnZXRzIHByb3Blcmx5IHJlcG9ydGVkIGluIHRvdGVtIGFuZAoJICBvdGhlciBhcHBsaWNhdGlvbnMuCgoyMDA3LTExLTI1IDEwOjQ1OjA5ICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgW01PVkVEIEZST00gQkFEIDE2LzU3XSBnc3QvZmx2L2dzdGZsdnBhcnNlLmM6IE91dHB1dCBzZWdtZW50IHdpdGggcHJvcGVyICdzdG9wJyB2YWx1ZSwgbWFrZXMgZmx2ZGVtdXggMTAwJSBjb21wYXRpYmxlIHdpdGggZ25vbmxpbi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2Zsdi9nc3RmbHZwYXJzZS5jOiAoZ3N0X2Zsdl9wYXJzZV90YWdfYXVkaW8pLAoJICAoZ3N0X2Zsdl9wYXJzZV90YWdfdmlkZW8pOgoJICBPdXRwdXQgc2VnbWVudCB3aXRoIHByb3BlciAnc3RvcCcgdmFsdWUsIG1ha2VzIGZsdmRlbXV4IDEwMCUgY29tcGF0aWJsZQoJICB3aXRoIGdub25saW4uCgoyMDA3LTExLTEyIDE5OjIyOjI0ICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgW01PVkVEIEZST00gQkFEIDE1LzU3XSBnc3QvZmx2L2dzdGZsdnBhcnNlLmM6IEFkZCBtYXBwaW5nIGZvciBOZWxseW1vc2VyIEFTQU8gYXVkaW8gY29kZWMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9mbHYvZ3N0Zmx2cGFyc2UuYzoKCSAgQWRkIG1hcHBpbmcgZm9yIE5lbGx5bW9zZXIgQVNBTyBhdWRpbyBjb2RlYy4KCSAgKGdzdF9mbHZfcGFyc2VfdGFnX2F1ZGlvKSwgKGdzdF9mbHZfcGFyc2VfdGFnX3ZpZGVvKTogTWFrZSBzdXJlIHdlCgkgIGFjdHVhbGx5IGhhdmUgZGF0YSB0byByZWFkIGF0IHRoZSBlbmQgb2YgdGhlIHRhZy4gVGhpcyBhdm9pZHMgdHJ5aW5nCgkgIHRvIGFsbG9jYXRlIG5lZ2F0aXZlIGJ1ZmZlcnMuCgoyMDA3LTEwLTIyIDE1OjQ1OjQ5ICswMDAwICBKdWxpZW4gTW91dHRlIDxqdWxpZW5AbW91dHRlLm5ldD4KCgkgIFtNT1ZFRCBGUk9NIEJBRCAxNC81N10gZ3N0L2Zsdi9nc3RmbHZwYXJzZS5jOiBEb24ndCBlbWl0IG5vLW1vcmUtcGFkcyBmb3Igc2luZ2xlIHBhZCBzY2VuYXJpb3MgYXMgdGhlIGhlYWRlciBpcyBkZWZpbml0ZWx5IG5vdCByZWxpYWJsZS4gV2UgLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA3LTEwLTIyICBKdWxpZW4gTU9VVFRFICA8anVsaWVuQG1vdXR0ZS5uZXQ+CgkgICogZ3N0L2Zsdi9nc3RmbHZwYXJzZS5jOiAoZ3N0X2Zsdl9wYXJzZV90YWdfYXVkaW8pLAoJICAoZ3N0X2Zsdl9wYXJzZV90YWdfdmlkZW8pLCAoZ3N0X2Zsdl9wYXJzZV90YWdfdHlwZSk6IERvbid0CgkgIGVtaXQgbm8tbW9yZS1wYWRzIGZvciBzaW5nbGUgcGFkIHNjZW5hcmlvcyBhcyB0aGUgaGVhZGVyCgkgIGlzIGRlZmluaXRlbHkgbm90IHJlbGlhYmxlLiBXZSBlbWl0IHRoZW0gZm9yIDIgcGFkcyBzY2VuYXJpb3MKCSAgdGhvdWdoIHRvIHNwZWVkIHVwIG1lZGlhIGRpc2NvdmVyeS4KCjIwMDctMDktMjcgMTA6MDY6MjMgKzAwMDAgIEp1bGllbiBNb3V0dGUgPGp1bGllbkBtb3V0dGUubmV0PgoKCSAgW01PVkVEIEZST00gQkFEIDEzLzU3XSBnc3QvZmx2L2dzdGZsdnBhcnNlLmM6IEkgZ290IGl0IHdyb25nIGFnYWluLCBhdWRpbyByYXRlIHdhcyBub3QgZGV0ZWN0ZWQgY29ycmVjdGx5IGluIGFsbCBjYXNlcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDctMDktMjcgIEp1bGllbiBNT1VUVEUgIDxqdWxpZW5AbW91dHRlLm5ldD4KCSAgKiBnc3QvZmx2L2dzdGZsdnBhcnNlLmM6IChnc3RfZmx2X3BhcnNlX3RhZ19hdWRpbyksCgkgIChnc3RfZmx2X3BhcnNlX3RhZ192aWRlbyk6IEkgZ290IGl0IHdyb25nIGFnYWluLCBhdWRpbyByYXRlCgkgIHdhcyBub3QgZGV0ZWN0ZWQgY29ycmVjdGx5IGluIGFsbCBjYXNlcy4KCjIwMDctMDktMjYgMTY6MzA6NTAgKzAwMDAgIEp1bGllbiBNb3V0dGUgPGp1bGllbkBtb3V0dGUubmV0PgoKCSAgW01PVkVEIEZST00gQkFEIDEyLzU3XSBnc3QvZmx2L2dzdGZsdnBhcnNlLmM6IGNvZGVjX2RhdGEgaXMgbmVlZGVkIGZvciBldmVyeSB0YWcgbm90IGp1c3QgdGhlIGZpcnN0IG9uZS4gKEZpeCBhIHN0dXBpZCBidWcgaSBpbnRyb2R1Y2VkIHdpdGguLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDctMDktMjYgIEp1bGllbiBNT1VUVEUgIDxqdWxpZW5AbW91dHRlLm5ldD4KCSAgKiBnc3QvZmx2L2dzdGZsdnBhcnNlLmM6IChnc3RfZmx2X3BhcnNlX3RhZ19hdWRpbyksCgkgIChnc3RfZmx2X3BhcnNlX3RhZ192aWRlbyk6IGNvZGVjX2RhdGEgaXMgbmVlZGVkIGZvciBldmVyeSB0YWcKCSAgbm90IGp1c3QgdGhlIGZpcnN0IG9uZS4gKEZpeCBhIHN0dXBpZCBidWcgaSBpbnRyb2R1Y2VkIHdpdGhvdXQKCSAgdGVzdGluZykKCjIwMDctMDktMjYgMTE6MTc6MDggKzAwMDAgIEp1bGllbiBNb3V0dGUgPGp1bGllbkBtb3V0dGUubmV0PgoKCSAgW01PVkVEIEZST00gQkFEIDExLzU3XSBnc3QvZmx2L2dzdGZsdnBhcnNlLmM6IEZpeCBiaXQgbWFza3Mgb3BlcmF0aW9ucyB0byBiZSBzdXJlIHdlIGRldGVjdCB0aGUgY29kZWNfdGFncyBhbmQgc2FtcGxlIHJhdGVzIGNvcnJlY3RseS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDctMDktMjYgIEp1bGllbiBNT1VUVEUgIDxqdWxpZW5AbW91dHRlLm5ldD4KCSAgKiBnc3QvZmx2L2dzdGZsdnBhcnNlLmM6IChnc3RfZmx2X3BhcnNlX3RhZ19hdWRpbyksCgkgIChnc3RfZmx2X3BhcnNlX3RhZ192aWRlbyk6IEZpeCBiaXQgbWFza3Mgb3BlcmF0aW9ucyB0byBiZQoJICBzdXJlIHdlIGRldGVjdCB0aGUgY29kZWNfdGFncyBhbmQgc2FtcGxlIHJhdGVzIGNvcnJlY3RseS4KCSAgRml4IHJhdyBhdWRpbyBjYXBzIGdlbmVyYXRpb24uCgoyMDA3LTA5LTEyIDA4OjM4OjIyICswMDAwICBQZXRlciBLamVsbGVyc3RlZHQgPHBrakBheGlzLmNvbT4KCgkgIFtNT1ZFRCBGUk9NIEJBRCAxMC81N10gZ3N0LzogUHJpbnRmIGZvcm1hdCBmaXhlcyAoIzQ3NjEyOCkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogUGV0ZXIgS2plbGxlcnN0ZWR0ICA8cGtqIGF0IGF4aXMgY29tPgoJICAqIGdzdC1saWJzL2dzdC9hcHAvZ3N0YXBwc2luay5jOgoJICAqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzoKCSAgKiBnc3QvZmx2L2dzdGZsdnBhcnNlLmM6CgkgICogZ3N0L2ludGVybGVhdmUvZGVpbnRlcmxlYXZlLmM6CgkgICogZ3N0L3N3aXRjaC9nc3Rzd2l0Y2guYzoKCSAgUHJpbnRmIGZvcm1hdCBmaXhlcyAoIzQ3NjEyOCkuCgoyMDA3LTA4LTI3IDE0OjU2OjA1ICswMDAwICBKdWxpZW4gTW91dHRlIDxqdWxpZW5AbW91dHRlLm5ldD4KCgkgIFtNT1ZFRCBGUk9NIEJBRCAwOS81N10gZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOiBNYWtlIHN1cmUgd2UgaW5pdGlhbGl6ZSB0aGUgc2VlayByZXN1bHQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA3LTA4LTI3ICBKdWxpZW4gTU9VVFRFICA8anVsaWVuQG1vdXR0ZS5uZXQ+CgkgICogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOiAoZ3N0X2Zsdl9kZW11eF9oYW5kbGVfc2Vla19wdWxsKToKCSAgTWFrZSBzdXJlIHdlIGluaXRpYWxpemUgdGhlIHNlZWsgcmVzdWx0LgoKMjAwNy0wOC0yNCAxNzowMzoxNSArMDAwMCAgSnVsaWVuIE1vdXR0ZSA8anVsaWVuQG1vdXR0ZS5uZXQ+CgoJICBbTU9WRUQgRlJPTSBCQUQgMDgvNTddIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzogUmVtb3ZlIHNvbWUgdXNlbGVzcyBpZmRlZi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDctMDgtMjQgIEp1bGllbiBNT1VUVEUgIDxqdWxpZW5AbW91dHRlLm5ldD4KCSAgKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6IChnc3RfZmx2X2RlbXV4X2ZsdXNoKSwKCSAgKGdzdF9mbHZfZGVtdXhfY2hhaW4pLCAoZ3N0X2Zsdl9kZW11eF9wdWxsX3RhZyksCgkgIChnc3RfZmx2X2RlbXV4X2ZpbmRfb2Zmc2V0KSwgKGdzdF9mbHZfZGVtdXhfaGFuZGxlX3NlZWtfcHVzaCksCgkgIChnc3RfZmx2X2RlbXV4X2hhbmRsZV9zZWVrX3B1bGwpLCAoZ3N0X2Zsdl9kZW11eF9zaW5rX2V2ZW50KSwKCSAgKGdzdF9mbHZfZGVtdXhfc3JjX2V2ZW50KTogUmVtb3ZlIHNvbWUgdXNlbGVzcyBpZmRlZi4KCjIwMDctMDgtMjQgMTU6MzE6MjYgKzAwMDAgIEp1bGllbiBNb3V0dGUgPGp1bGllbkBtb3V0dGUubmV0PgoKCSAgW01PVkVEIEZST00gQkFEIDA3LzU3XSBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6IEltcGxlbWVudCBzZWVraW5nIGluIHB1c2ggbW9kZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDctMDgtMjQgIEp1bGllbiBNT1VUVEUgIDxqdWxpZW5AbW91dHRlLm5ldD4KCSAgKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6IChnc3RfZmx2X2RlbXV4X2ZsdXNoKSwKCSAgKGdzdF9mbHZfZGVtdXhfY2xlYW51cCksIChnc3RfZmx2X2RlbXV4X2NoYWluKSwKCSAgKGdzdF9mbHZfZGVtdXhfcHVsbF90YWcpLCAoZ3N0X2Zsdl9kZW11eF9maW5kX29mZnNldCksCgkgIChnc3RfZmx2X2RlbXV4X2hhbmRsZV9zZWVrX3B1c2gpLAoJICAoZ3N0X2Zsdl9kZW11eF9oYW5kbGVfc2Vla19wdWxsKSwKCSAgKGdzdF9mbHZfZGVtdXhfc2lua19ldmVudCksIChnc3RfZmx2X2RlbXV4X3NyY19ldmVudCk6IEltcGxlbWVudAoJICBzZWVraW5nIGluIHB1c2ggbW9kZS4KCSAgKiBnc3QvZmx2L2dzdGZsdmRlbXV4Lmg6CgoyMDA3LTA4LTIyIDE0OjUwOjUxICswMDAwICBKdWxpZW4gTW91dHRlIDxqdWxpZW5AbW91dHRlLm5ldD4KCgkgIFtNT1ZFRCBGUk9NIEJBRCAwNi81N10gZ3N0L2Zsdi86IEhhbmRsZSBwaXhlbCBhc3BlY3QgcmF0aW8gdGhyb3VnaCBtZXRhZGF0YSB0YWdzIGxpa2UgQVNGIGRvZXMuIEZsdWVuZG8gbXV4ZXIgc3VwcG9ydHMgdGhpcyBhbmQKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDctMDgtMjIgIEp1bGllbiBNT1VUVEUgIDxqdWxpZW5AbW91dHRlLm5ldD4KCSAgKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6IChnc3RfZmx2X2RlbXV4X2NsZWFudXApLAoJICAoZ3N0X2Zsdl9kZW11eF9wdWxsX3RhZyk6CgkgICogZ3N0L2Zsdi9nc3RmbHZkZW11eC5oOgoJICAqIGdzdC9mbHYvZ3N0Zmx2cGFyc2UuYzogKGdzdF9mbHZfcGFyc2VfbWV0YWRhdGFfaXRlbSksCgkgIChnc3RfZmx2X3BhcnNlX3RhZ19zY3JpcHQpLCAoZ3N0X2Zsdl9wYXJzZV90YWdfYXVkaW8pLAoJICAoZ3N0X2Zsdl9wYXJzZV90YWdfdmlkZW8pOiBIYW5kbGUgcGl4ZWwgYXNwZWN0IHJhdGlvIHRocm91Z2gKCSAgbWV0YWRhdGEgdGFncyBsaWtlIEFTRiBkb2VzLiBGbHVlbmRvIG11eGVyIHN1cHBvcnRzIHRoaXMgYW5kCgkgIEZsYXNoIHBsYXllcnMgY2FuIHN1cHBvcnQgaXQgYXMgd2VsbCB0aGlzIHdheS4KCjIwMDctMDgtMjIgMTQ6MDM6NDIgKzAwMDAgIEp1bGllbiBNb3V0dGUgPGp1bGllbkBtb3V0dGUubmV0PgoKCSAgW01PVkVEIEZST00gQkFEIDA1LzU3XSBnc3QvZmx2LzogTWFrZSBzdXJlIHdlIGRvbid0IHRyeSBmaWxsaW5nIHVwIHRoZSBpbmRleCBpZiBubyB0aW1lcyBvYmplY3Qgd2FzIHBhcnNlZC4gRml4IHRoZSB3YXkgd2UgZGVjaWRlIHRvIHB1c2ggdGEuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDctMDgtMjIgIEp1bGllbiBNT1VUVEUgIDxqdWxpZW5AbW91dHRlLm5ldD4KCSAgKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6IChnc3RfZmx2X2RlbXV4X3B1bGxfdGFnKToKCSAgKiBnc3QvZmx2L2dzdGZsdnBhcnNlLmM6IChnc3RfZmx2X3BhcnNlX21ldGFkYXRhX2l0ZW0pLAoJICAoZ3N0X2Zsdl9wYXJzZV90YWdfc2NyaXB0KSwgKGdzdF9mbHZfcGFyc2VfdGFnX2F1ZGlvKSwKCSAgKGdzdF9mbHZfcGFyc2VfdGFnX3ZpZGVvKTogTWFrZSBzdXJlIHdlIGRvbid0IHRyeSBmaWxsaW5nIHVwIHRoZQoJICBpbmRleCBpZiBubyB0aW1lcyBvYmplY3Qgd2FzIHBhcnNlZC4gRml4IHRoZSB3YXkgd2UgZGVjaWRlIHRvCgkgIHB1c2gKCSAgdGFncyBhbmQgZW1pdCBuby1tb3JlLXBhZHMuIEZpeCBzb21lIHByaW50ZiB0eXBpbmcgaW4gZGVidWdnaW5nLgoKMjAwNy0wOC0xNCAxNDo1NjoyMCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIFtNT1ZFRCBGUk9NIEJBRCAwNC81N10gZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOiBGaXggbG9ja2luZyBhbmQgcmVmY291bnRpbmcgb24gdGhlIGluZGV4LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6IChnc3RfZmx2X2RlbXV4X3NldF9pbmRleCksCgkgIChnc3RfZmx2X2RlbXV4X2dldF9pbmRleCk6CgkgIEZpeCBsb2NraW5nIGFuZCByZWZjb3VudGluZyBvbiB0aGUgaW5kZXguCgoyMDA3LTA4LTE0IDE0OjIyOjA5ICswMDAwICBKdWxpZW4gTW91dHRlIDxqdWxpZW5AbW91dHRlLm5ldD4KCgkgIFtNT1ZFRCBGUk9NIEJBRCAwMy81N10gZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOiBGaXJzdCBtZXRob2QgZm9yIHNlZWtpbmcgaW4gcHVsbCBtb2RlIHVzaW5nIHRoZSBpbmRleCBidWlsdCBzdGVwIGJ5IHN0ZXAgb3IgY29taW5nIGZyb20gbWV0YWRhdGEuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA3LTA4LTE0ICBKdWxpZW4gTU9VVFRFICA8anVsaWVuQG1vdXR0ZS5uZXQ+CgkgICogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOiAoZ3N0X2Zsdl9kZW11eF9jbGVhbnVwKSwKCSAgKGdzdF9mbHZfZGVtdXhfYWRhcHRlcl9mbHVzaCksIChnc3RfZmx2X2RlbXV4X2NoYWluKSwKCSAgKGdzdF9mbHZfZGVtdXhfcHVsbF90YWcpLCAoZ3N0X2Zsdl9kZW11eF9kb19zZWVrKSwKCSAgKGdzdF9mbHZfZGVtdXhfaGFuZGxlX3NlZWspLCAoZ3N0X2Zsdl9kZW11eF9zaW5rX2V2ZW50KSwKCSAgKGdzdF9mbHZfZGVtdXhfc3JjX2V2ZW50KSwgKGdzdF9mbHZfZGVtdXhfcXVlcnkpLAoJICAoZ3N0X2Zsdl9kZW11eF9jaGFuZ2Vfc3RhdGUpLCAoZ3N0X2Zsdl9kZW11eF9zZXRfaW5kZXgpLAoJICAoZ3N0X2Zsdl9kZW11eF9nZXRfaW5kZXgpLCAoZ3N0X2Zsdl9kZW11eF9kaXNwb3NlKSwKCSAgKGdzdF9mbHZfZGVtdXhfY2xhc3NfaW5pdCk6IEZpcnN0IG1ldGhvZCBmb3Igc2Vla2luZyBpbiBwdWxsCgkgIG1vZGUgdXNpbmcgdGhlIGluZGV4IGJ1aWx0IHN0ZXAgYnkgc3RlcCBvciBjb21pbmcgZnJvbSBtZXRhZGF0YS4KCSAgKiBnc3QvZmx2L2dzdGZsdmRlbXV4Lmg6CgkgICogZ3N0L2Zsdi9nc3RmbHZwYXJzZS5jOiAoRkxWX0dFVF9TVFJJTkcpLAoJICAoZ3N0X2Zsdl9wYXJzZV9tZXRhZGF0YV9pdGVtKSwgKGdzdF9mbHZfcGFyc2VfdGFnX3NjcmlwdCksCgkgIChnc3RfZmx2X3BhcnNlX3RhZ19hdWRpbyksIChnc3RfZmx2X3BhcnNlX3RhZ192aWRlbyk6IFBhcnNlCgkgIG1vcmUgbWV0YWRhdGEgdHlwZXMgYW5kIGtleWZyYW1lcyBpbmRleC4KCjIwMDctMDctMjUgMTM6Mjk6MDQgKzAwMDAgIEp1bGllbiBNb3V0dGUgPGp1bGllbkBtb3V0dGUubmV0PgoKCSAgW01PVkVEIEZST00gQkFEIDAyLzU3XSBnc3QvZmx2LzogSGFuZGxlIG5vdCBsaW5rZWQgcGFkcywgdHJ5IHRvIG1ha2UgaXQgcmV1c2FibGUsIG1vcmUgc2FmZXR5IGNoZWNrcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDctMDctMjUgIEp1bGllbiBNT1VUVEUgIDxqdWxpZW5AbW91dHRlLm5ldD4KCSAgKGdzdF9mbHZfZGVtdXhfY2hhaW4pLCAoZ3N0X2Zsdl9kZW11eF9wdWxsX3RhZyksCgkgIChnc3RfZmx2X2RlbXV4X2NoYW5nZV9zdGF0ZSksIChnc3RfZmx2X2RlbXV4X2Rpc3Bvc2UpLAoJICAoZ3N0X2Zsdl9kZW11eF9pbml0KToKCSAgKiBnc3QvZmx2L2dzdGZsdmRlbXV4Lmg6CgkgICogZ3N0L2Zsdi9nc3RmbHZwYXJzZS5jOiAoRkxWX0dFVF9TVFJJTkcpLAoJICAoZ3N0X2Zsdl9wYXJzZV9tZXRhZGF0YV9pdGVtKSwgKGdzdF9mbHZfcGFyc2VfdGFnX3NjcmlwdCksCgkgIChnc3RfZmx2X3BhcnNlX3RhZ19hdWRpbyksIChnc3RfZmx2X3BhcnNlX3RhZ192aWRlbyksCgkgIChnc3RfZmx2X3BhcnNlX2hlYWRlcik6CgkgICogZ3N0L2Zsdi9nc3RmbHZwYXJzZS5oOiBIYW5kbGUgbm90IGxpbmtlZCBwYWRzLCB0cnkgdG8gbWFrZSBpdAoJICByZXVzYWJsZSwgbW9yZSBzYWZldHkgY2hlY2tzLgoKMjAwNy0wNy0xOSAxNTowNTozMCArMDAwMCAgSnVsaWVuIE1vdXR0ZSA8anVsaWVuQG1vdXR0ZS5uZXQ+CgoJICBbTU9WRUQgRlJPTSBCQUQgMDEvNTddIEFkZHMgYSBmaXJzdCBkcmFmdCBvZiBhbiBGTFYgZGVtdXhlci4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDctMDctMTkgIEp1bGllbiBNT1VUVEUgIDxqdWxpZW5AbW91dHRlLm5ldD4KCSAgKiBjb25maWd1cmUuYWM6CgkgICogZ3N0L2Zsdi9NYWtlZmlsZS5hbToKCSAgKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6IChnc3RfZmx2X2RlbXV4X2ZsdXNoKSwKCSAgKGdzdF9mbHZfZGVtdXhfY2xlYW51cCksIChnc3RfZmx2X2RlbXV4X2NoYWluKSwKCSAgKGdzdF9mbHZfZGVtdXhfcHVsbF90YWcpLCAoZ3N0X2Zsdl9kZW11eF9wdWxsX2hlYWRlciksCgkgIChnc3RfZmx2X2RlbXV4X3NlZWtfdG9fcHJldl9rZXlmcmFtZSksIChnc3RfZmx2X2RlbXV4X2xvb3ApLAoJICAoZ3N0X2Zsdl9kZW11eF9zaW5rX2FjdGl2YXRlKSwKCSAgKGdzdF9mbHZfZGVtdXhfc2lua19hY3RpdmF0ZV9wdXNoKSwKCSAgKGdzdF9mbHZfZGVtdXhfc2lua19hY3RpdmF0ZV9wdWxsKSwgKGdzdF9mbHZfZGVtdXhfc2lua19ldmVudCksCgkgIChnc3RfZmx2X2RlbXV4X2NoYW5nZV9zdGF0ZSksIChnc3RfZmx2X2RlbXV4X2Rpc3Bvc2UpLAoJICAoZ3N0X2Zsdl9kZW11eF9iYXNlX2luaXQpLCAoZ3N0X2Zsdl9kZW11eF9jbGFzc19pbml0KSwKCSAgKGdzdF9mbHZfZGVtdXhfaW5pdCksIChwbHVnaW5faW5pdCk6CgkgICogZ3N0L2Zsdi9nc3RmbHZkZW11eC5oOgoJICAqIGdzdC9mbHYvZ3N0Zmx2cGFyc2UuYzogKEZMVl9HRVRfQkVVSTI0KSwgKEZMVl9HRVRfU1RSSU5HKSwKCSAgKGdzdF9mbHZfZGVtdXhfcXVlcnlfdHlwZXMpLCAoZ3N0X2Zsdl9kZW11eF9xdWVyeSksCgkgIChnc3RfZmx2X3BhcnNlX21ldGFkYXRhX2l0ZW0pLCAoZ3N0X2Zsdl9wYXJzZV90YWdfc2NyaXB0KSwKCSAgKGdzdF9mbHZfcGFyc2VfdGFnX2F1ZGlvKSwgKGdzdF9mbHZfcGFyc2VfdGFnX3ZpZGVvKSwKCSAgKGdzdF9mbHZfcGFyc2VfdGFnX3R5cGUpLCAoZ3N0X2Zsdl9wYXJzZV9oZWFkZXIpOgoJICAqIGdzdC9mbHYvZ3N0Zmx2cGFyc2UuaDogQWRkcyBhIGZpcnN0IGRyYWZ0IG9mIGFuIEZMViBkZW11eGVyLgoJICBJdCBkb2VzIG5vdCBkbyBzZWVraW5nIHlldCwgaXQgc3VwcG9ydHMgcHVsbCBhbmQgcHVzaCBtb2RlIHNvCgkgIFlFUwoJICB5b3UgY2FuIHVzZSBpdCB0byBwbGF5IHlvdXR1YmUgdmlkZW9zIGRpcmVjdGx5IGZyb20gYW4gSFRUUCB1cmkuCgkgIE5vdCBzbyBtdWNoIHRlc3RpbmcgZG9uZSB5ZXQgYnV0IGl0IHBhcnNlcyBtZXRhZGF0YSwgcmVwbHkgdG8KCSAgZHVyYXRpb24gcXVlcmllcywgZXRjLi4uCgoyMDA5LTA1LTEyIDEzOjAwOjQ2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvTWFrZWZpbGUuYW06CgkgIHJ0cDogTGluayB0byAtbG0KCSAgRml4ZXMgYnVnICM1ODIyODEuCgoyMDA5LTA1LTEyIDExOjE2OjQ4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3JnYW5hbHlzaXMuYzoKCSAgcmdhbmFseXNpczogUmVtb3ZlIGludmFsaWQgdW5pdCB0ZXN0CgkgIFRoZSB0ZXN0IGNyZWF0ZXMgYnVmZmVycyB3aXRoIG5vbi1zaWxlbmNlLCBzZXRzIHRoZSBHQVAKCSAgZmxhZyBvbiBpdCBhbmQgZXhwZWN0cyByZ2FuYWx5c2lzIHRvIGlnbm9yZSB0aGUgY29udGVudCBhbmQgYXNzdW1lIHNpbGVuY2UuCgkgIFRoYXQncyBub3QgdGhlIHdheSBob3cgR0FQIGJ1ZmZlcnMgc2hvdWxkIGJlIHVzZWQsIGlmIHRoZSBHQVAgZmxhZyBpcyBzZXQKCSAgZWxlbWVudHMgKmNhbiogYXNzdW1lIHRoYXQgdGhleSBvbmx5IGNvbnRhaW4gc2lsZW5jZSBidXQgdGhleSdyZSBub3QgKnJlcXVpcmVkKgoJICB0byBhc3N1bWUgdGhhdC4gVGhlIEdBUCBmbGFnIG11c3Qgb25seSBiZSBzZXQgb24gc2lsZW5jZSBidWZmZXJzLgoJICBGaXhlcyBidWcgIzU4MjI1Mi4KCjIwMDktMDUtMTIgMDA6NDg6NDkgKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIENoYW5nZUxvZzoKCSogY29uZmlndXJlLmFjOgoJKiBwby9hZi5wbzoKCSogcG8vYXoucG86CgkqIHBvL2JnLnBvOgoJKiBwby9jYS5wbzoKCSogcG8vY3MucG86CgkqIHBvL2RhLnBvOgoJKiBwby9lbl9HQi5wbzoKCSogcG8vZXMucG86CgkqIHBvL2V1LnBvOgoJKiBwby9maS5wbzoKCSogcG8vZnIucG86CgkqIHBvL2h1LnBvOgoJKiBwby9pZC5wbzoKCSogcG8vaXQucG86CgkqIHBvL2phLnBvOgoJKiBwby9sdC5wbzoKCSogcG8vbXQucG86CgkqIHBvL25iLnBvOgoJKiBwby9ubC5wbzoKCSogcG8vb3IucG86CgkqIHBvL3BsLnBvOgoJKiBwby9wdF9CUi5wbzoKCSogcG8vcnUucG86CgkqIHBvL3NrLnBvOgoJKiBwby9zcS5wbzoKCSogcG8vc3IucG86CgkqIHBvL3N2LnBvOgoJKiBwby91ay5wbzoKCSogcG8vdmkucG86CgkqIHBvL3poX0NOLnBvOgoJKiBwby96aF9ISy5wbzoKCSogcG8vemhfVFcucG86CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgMC4xMC4xNC4yIHByZS1yZWxlYXNlCgoyMDA5LTA1LTExIDIzOjEzOjIwICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiB0ZXN0cy9maWxlcy9NYWtlZmlsZS5hbToKCSAgY2hlY2tzOiBkaXN0IGlkMy01Nzc0NjgtdW5zeW5jZWQtdGFnLnRhZyB0ZXN0IGZpbGUKCjIwMDktMDUtMTEgMjE6MDI6MjcgKzAyMDAgIFRyaXN0YW4gTWF0dGhld3MgPGxlLmJ1c2luZXNzbWFuIGF0IGdtYWlsLmNvbT4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgYXZpZGVtdXg6IGluaXRpYWxpemUgdmFyaWFibGUgdG8gMAoJICBGaXhlcyAjNTgyMjE4LgoKMjAwOS0wNS0xMSAxODoyMToxMyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2FkZW11eDogT25seSBzZWFyY2ggZm9yIHRoZSBpbmRleCBlbnRyeSBvbmNlCgoyMDA5LTA1LTExIDE4OjE4OjM2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYWRlbXV4OiBVc2UgdGhlIGZpcnN0IGluZGV4IGVudHJ5IGlmIGl0J3MgYWZ0ZXIgdGhlIHNlZWsgcG9zaXRpb24KCjIwMDktMDUtMTEgMTg6MTU6MjIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICBhdmlkZW11eDogVXNlIHRoZSBmaXJzdCBlbnRyeSBmb3IgYSBnaXZlbiBzdHJlYW0gaWYgdGhlIGZpcnN0IGVudHJ5IGlzIGFmdGVyIHRoZSBzZWVrIHBvc2l0aW9uCgoyMDA5LTA1LTExIDE2OjUwOjQ4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgYXZpZGVtdXg6IFVzZSBiaW5hcnkgc2VhcmNoIGZvciBmaW5kaW5nIHRoZSByZXF1ZXN0ZWQgaW5kZXggZW50cnkgd2hlbiBzZWVraW5nCgoyMDA5LTA1LTExIDE1OjM2OjQ2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtaWRzLmg6CgkgIG1hdHJvc2thZGVtdXg6IEltcHJvdmUvb3B0aW1pemUgc2Vla2luZwoJICBGaXJzdCBvZiBhbGwgYSBrZXlmcmFtZSBzZWVrIHNob3VsZCBiZSBkb25lIHRvIHRoZQoJICBrZXlmcmFtZSByaWdodCBiZWZvcmUgdGhlIHJlcXVlc3RlZCBwb3NpdGlvbiBhbmQgbm90CgkgIHRvIHRoZSBrZXlmcmFtZSB0aGF0IGlzIG5lYXJlc3QgdG8gdGhlIHJlcXVlc3RlZCBwb3NpdGlvbi4KCSAgVXNlIHBlciB0cmFjayBpbmRleCBhcnJheXMgYW5kIHVzZSBvdXIgbmV3IGJpbmFyeSBzZWFyY2ggZnVuY3Rpb24KCSAgZnJvbSBjb3JlIHRvIHNwZWVkIHVwIHRoZSBzZWFyY2guCgoyMDA5LTA1LTExIDE1OjM2OjM2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgUmVxdWlyZSByZWxlYXNlZCB2ZXJzaW9ucyBvZiBjb3JlL2Jhc2UKCjIwMDktMDUtMTEgMTA6MTU6MDAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgIGdka3BpeGJ1ZjogVXNlIHRoZSBsaWJzIGFuZCBjZmxhZ3Mgb2YgZ2RrIHBpeGJ1ZiBpbnN0ZWFkIG9mIGd0awoJICBUaGlzIGZpeGVzIHRoZSBidWlsZCBpZiBnZGstcGl4YnVmIGlzIGZvdW5kIGJ1dCBndGsgaXNuJ3QKCjIwMDktMDUtMTEgMDk6NTg6NDggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBBbHdheXMgZGVmaW5lIHRoZSBjb25kaXRpb25hbCBIQVZFX0dUSyB0byBmaXggY29uZmlndXJlIGluIHNvbWUgY2FzZXMKCjIwMDktMDUtMTAgMTE6MTc6MjMgKzAyMDAgIE1hcmMtQW5kcmUgTHVyZWF1IDxtYXJjYW5kcmUubHVyZWF1QGdtYWlsLmNvbT4KCgkqIGF1dG9nZW4uc2g6CgkgIFJ1biBsaWJ0b29saXplIGJlZm9yZSBhY2xvY2FsCgkgIFRoaXMgdW5icmVha3MgdGhlIGJ1aWxkIGluIHNvbWUgY2FzZXMuIEZpeGVzIGJ1ZyAjNTgyMDIxCgoyMDA5LTA1LTA5IDEwOjUwOjQ1IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYTogZml4IHByaW50ZiBmb3JtYXQgdG8gYWdyZWUgd2l0aCBhcmd1bWVudAoKMjAwOS0wNS0wOCAxOTo0MjoxMCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcmF3MTM5NC9nc3RkdjEzOTRzcmMuYzoKCSogZXh0L3JhdzEzOTQvZ3N0aGR2MTM5NHNyYy5jOgoJICByYXcxMzk0OiBpbmNsdWRlIHN0ZGxpYi5oIGZvciBzdHJ0b2woKQoJICBGaXhlcyBjb21waWxlciB3YXJuaW5nIHdoZW4gY29tcGlsaW5nIHdpdGggeG1sIHN0dWZmIGluIGNvcmUgZGlzYWJsZWQuCgoyMDA5LTA1LTA4IDE2OjQwOjU3ICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5jOgoJICBmbGFjZGVjOiBBY3R1YWxseSBvdXRwdXQgdGhlIHBlbmRpbmcgYnVmZmVyLi4gYW5kIG5vdCBhIGJsYW5rIG9uZS4KCSAgSXQgd2FzIHByZXZpb3VzbHkgc2VuZGluZyB0aGUgYm9ndXMgYnVmZmVyIHdoaWNoIHdhcyByZXR1cm5lZCBmcm9tCgkgIHRoZSBidWZmZXJhbGxvYyAocmVxdWlyZWQgZm9yIHJldmVyc2UgbmVnb3RpYXRpb24gYXBwYXJlbnRseSkgaW5zdGVhZAoJICBvZiB0aGUgcGVuZGluZyBidWZmZXIuCgoyMDA5LTA1LTA4IDEyOjAwOjU3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6CgkgIHNvdXBodHRwc3JjOiBBbGxvdyBub24tc3RyaW5nIGZpZWxkcyBpbiB0aGUgZXh0cmEtaGVhZGVycyBwcm9wZXJ0eQoKMjAwOS0wNS0wOCAxMTozNTowMiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvTWFrZWZpbGUuYW06CgkqIGdzdC9ydHAvZ3N0cnRwLmM6CgkqIGdzdC9ydHAvZ3N0cnRwajJrZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBqMmtkZXBheS5oOgoJICBydGoya2RlcGF5OiBhZGQgYmFzaWMgSlBFRyAyMDAwIGRlcGF5bG9hZGVyCgoyMDA5LTA1LTA4IDExOjMxOjAyICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBqMmtwYXkuYzoKCSAgcnRwajJrcGF5OiBzZXQgbWFya2VyIGJpdCBjb3JyZWN0bHkKCjIwMDktMDUtMDggMTE6Mjk6MDQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzoKCSogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuaDoKCSAgc291cGh0dHBzcmM6IEFkZCBzdXBwb3J0IGZvciBleHRyYS1oZWFkZXJzIGFwcGVuZGVkIHRvIHRoZSBIVFRQIHJlcXVlc3QKCSAgVGhpcyBhbGxvd3MgdG8gc2V0IHRoZSBSZWZlcmVyIGhlYWRlciBhbW9uZyBvdGhlciB0aGluZ3MgYnkKCSAgYWRkaW5nIGEgImV4dHJhLWhlYWRlcnMiIHByb3BlcnR5IHRoYXQgdGFrZXMgYSBHc3RTdHJ1Y3R1cmUKCSAgd2l0aCBmaWVsZD1zdHJpbmcgcGFpcnMuCgkgIEZpeGVzIGJ1ZyAjNTgxODA2LgoKMjAwOS0wNS0wOCAxMDozODo0MiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvTWFrZWZpbGUuYW06CgkqIGdzdC9ydHAvZ3N0cnRwLmM6CgkqIGdzdC9ydHAvZ3N0cnRwajJrcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwajJrcGF5Lmg6CgkgIHJ0cGoya3BheTogYWRkIGEgc2ltcGxlIEpQRUcgMjAwMCBwYXlsb2FkZXIKCjIwMDktMDUtMDggMTA6MzE6MTIgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGpwZWdwYXkuYzoKCSAgcnRwanBlZ3BheTogd2Ugb25seSBuZWVkIHRvIHN3YXAgYml0cyBvbiBMRQoKMjAwOS0wNS0wNyAxODoxMDowOCArMDEwMCAgQ2hyaXN0aWFuIFNjaGFsbGVyIDxjaHJpc3RpYW4uc2NoYWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZsYWMvZ3N0ZmxhYy5jOgoJKiBleHQvanBlZy9nc3RqcGVnLmM6CgkqIGV4dC9saWJwbmcvZ3N0cG5nLmM6CgkqIGV4dC9zcGVleC9nc3RzcGVleC5jOgoJKiBnc3QvYXZpL2dzdGF2aS5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkgIEFkZCBSQU5LUyBmb3IgdmFyaW91cyBlbmNvZGVycyBhbmQgbXV4ZXJzCgoyMDA5LTA1LTA3IDE3OjA5OjQ0ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIG1hdHJvc2thZGVtdXg6IGFkZCBzb21lIGRlYnVnZ2luZwoKMjAwOS0wNS0wNyAxNTo1ODo0MyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYWRlbXV4OiBwYXJzZSB4aXBoIGhlYWRlcnMgbGVuZ3RoIGNvcnJlY3RseQoJICBTZWUgIzU4MDk4MAoKMjAwOS0wNS0wNyAxNjoyNTo0MSArMDIwMCAgR2FicmllbCBCb3V2aWduZSA8Ym91dmlnbmVAbXAzLXRlY2gub3JnPgoKCSogZ3N0L3JlcGxheWdhaW4vZ3N0cmdhbmFseXNpcy5jOgoJKiBnc3QvcmVwbGF5Z2Fpbi9nc3RyZ2FuYWx5c2lzLmg6CgkqIGdzdC9yZXBsYXlnYWluL3JnYW5hbHlzaXMuYzoKCSogZ3N0L3JlcGxheWdhaW4vcmdhbmFseXNpcy5oOgoJICByZ2FuYWx5c2lzOiBBZGQgYWJpbGl0eSB0byBwb3N0IGxldmVsIG1lc3NhZ2VzCgkgIEZpeGVzIGJ1ZyAjNTgxNTY4LgoKMjAwOS0wNS0wNiAyMzo1Njo0NCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwanBlZ3BheS5jOgoJICBydHBqcGVncGF5OiByZWZ1c2Ugc29tZSB1bnN1cHBvcnRlZCBqcGVnIGZvcm1hdHMKCjIwMDktMDUtMDYgMTg6MDY6NDkgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cHRoZW9yYXBheS5jOgoJICBydHB0aGVvcmFwYXk6IGZpeCBkZXNjcmlwdGlvbgoKMjAwOS0wNS0wNiAxNjowOToxMyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwanBlZ3BheS5jOgoJICBydHBqcGVncGF5OiByZXdyaXRlIHF1YW50IHRhYmxlIGhhbmRsaW5nCgkgIFJld3JpdGUgdGhlIHF1YW50IHRhYmxlIHBhcnNpbmcgdG8gYWxzbyBoYW5kbGUgbXVsdGlwbGUgdGFibGVzIGluIG9uZSBKUEVHIEhEUQoJICBzZWdtZW50LgoJICBIYW5kbGUgbW9yZSBqcGVnIHR5cGVzIGJ5IGtlZXBpbmcgdHJhY2sgb2YgdGhlIHRhYmxlcyB1c2VkIHBlciBjb21wb25lbnQgYW5kCgkgIHB1dHRpbmcgdGhlIHVzZWQgb25lcyBpbiB0aGUgcXVhbnQgaGVhZGVycy4KCjIwMDktMDQtMTggMTc6MjM6NTEgKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2lkM3YybXV4LmM6CgkgIGlkM3YybXV4OiBNYWtlIHRoZSB0ZXN0IGZhaWx1cmUgc2xpZ2h0bHkgbW9yZSBpbmZvcm1hdGl2ZQoKMjAwOS0wNC0yMCAxODozMzowOSArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5jOgoJICBmbGFjOiBNYWtlIGJ1ZmZlcnMgY3JlYXRlZCBkdXJpbmcgc2VlayBhY3QgbGlrZSBub3JtYWwgYnVmZmVycy4KCSAgU3RvcmUgdGhlIG9mZnNldCBhbmQgY2FwcyB3aGVuIGFsbG9jYXRpbmcgYSBidWZmZXIgZHVyaW5nIHNlZWtpbmcsIGFuZCB0aGVuCgkgIGFsbG9jYXRlIGEgbmV3IGJ1ZmZlciB3aXRoIGJ1ZmZlcl9hbGxvYyBiZWZvcmUgd2UgcHVzaCBpdCBvdXQuIFRoaXMgZW5zdXJlcwoJICB0aGF0IGluIGFsbCByZXNwZWN0cyB0aGUgZmlyc3QgYnVmZmVyIGRlY29kZWQgZHVyaW5nIHNlZWtpbmcgYmVoYXZlcyBsaWtlCgkgIGFsbCBvdGhlciBidWZmZXJzLCBpbmNsdWRpbmcgYWxsb3dpbmcgZG93bnN0cmVhbSByZS1uZWdvdGlhdGlvbi4KCjIwMDktMDQtMTggMTg6MDA6NTQgKzAyMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5jOgoJICBmbGFjZGVjOiBkb24ndCB1c2UgcGFkX2FsbG9jIHdoZW4gZGVjb2Rpbmcgd2hpbGUgc2Vla2luZy4gRml4ZXMgIzU3OTQyMgoKMjAwOS0wNS0wNiAxMzoyMjo1MSArMDIwMCAgQXJub3V0IFZhbmRlY2FwcGVsbGUgPGFybm91dEBtaW5kLmJlPgoKCSogZXh0L2pwZWcvZ3N0anBlZ2RlYy5jOgoJICBqcGVnZGVjOiByZWZhY3RvcmVkIGdzdF9qcGVnX2RlY19wYXJzZV9pbWFnZV9kYXRhCgkgIEZpeGVzICM1Nzk4MDgKCjIwMDktMDUtMDYgMTM6MTE6NTMgKzAyMDAgIEFybm91dCBWYW5kZWNhcHBlbGxlIDxhcm5vdXRAbWluZC5iZT4KCgkqIGV4dC9qcGVnL2dzdGpwZWdkZWMuYzoKCSAganBlZ2RlYzogc3VwcG9ydCBhZGRpdGlvbmFsIDB4ZmYgYmVmb3JlIGVuZCBtYXJrZXIuCgkgIEpQRUcgbWFya2VycyBtYXkgYmUgcHJlY2VkZWQgYnkgYWRkaXRpb25hbCAweGZmLiAganBlZ2RlYyBzaG91bGQKCSAgc2tpcCBvdmVyIHRoZXNlLCBldmVuIGJlZm9yZSB0aGUgZW5kIG1hcmtlci4KCSAgU2VlICM1Nzk4MDgKCjIwMDktMDUtMDYgMTI6NTQ6MjIgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGpwZWdwYXkuYzoKCSAgcnRwanBlZ3BheTogaGFuZGxlIGlucHV0IHdpdGggMSBxdWFudCB0YWJsZQoJICBBbHNvIGhhbmRsZSBpbnB1dCB3aXRoIGp1c3Qgb25lIHF1YW50IHRhYmxlLCBzaW1wbHkgZHVwbGljYXRlIHRoZSBxdWFudCB0YWJsZS4KCSAgSGFuZGxlIGludmFsaWQgU09GIGNvcnJlY3RseSBhbmQgc29tZSBzbWFsbCBjbGVhbnVwcy4KCSAgRml4ZXMgIzU3ODI1NwoKMjAwOS0wNC0yOSAxNTo1ODoxMCArMDMwMCAgTWFyY28gQmFsbGVzaW8gPG1hcmNvLmJhbGxlc2lvQG5va2lhLmNvbT4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogZml4IGJ5dGUgb3JkZXIgc3dhcHBpbmcgaW4gM0dQUCBjbGFzc2lmaWNhdGlvbiBlbnRpdHkgdGFnCgkgIEZpeGVzICM1ODA3NDYuCgoyMDA5LTA1LTA1IDE3OjA3OjEzICswMjAwICBBcm5vdXQgVmFuZGVjYXBwZWxsZSA8YXJub3V0QG1pbmQuYmU+CgoJKiBnc3QvbXVsdGlwYXJ0L211bHRpcGFydGRlbXV4LmM6CgkgIG11bHRpcGFydGRlbXV4OiBhdm9pZCByZWFkaW5nIGZyb20gaW5hdmxpZCBtZW1vcnkKCSAgUmVhZCB0aGUgdGltZXN0YW1wIG9mIHRoZSBpbmNvbW1pbmcgYnVmZmVyIGJlZm9yZSB3ZSBwdXNoIGl0IGluIHRoZSBhZGFwdGVyIGFuZAoJICBmbHVzaCBpdCBvdXQgYWdhaW4gYXMgdGhlIGJ1ZmZlciBtaWdodCBiZSB1bnJlZmZlZCB0aGVuIGFuZCB3ZSByZWFkIGZyb20gaW52YWxpZAoJICBtZW1vcnkuCgkgIEZpeGVzICM1ODE0NDQuCgoyMDA5LTA1LTA1IDE3OjAzOjI5ICswMjAwICBBcm5vdXQgVmFuZGVjYXBwZWxsZSA8YXJub3V0QG1pbmQuYmU+CgoJKiBnc3QvbXVsdGlwYXJ0L211bHRpcGFydGRlbXV4LmM6CgkgIG11bHRpcGFydGRlbXV4OiBkb24ndCBsZWFrIGR5bmFtaWMgcGFkcwoJICBGcmVlIHRoZSBkeW5hbWljIHBhZHMgZGF0YSBpbiBmaW5hbGl6ZS4KCSAgRml4ZXMgIzU4MTQzMgoKMjAwOS0wNS0wNSAxNjozMjoxNyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwanBlZ3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGpwZWdwYXkuaDoKCSAgcnRwanBlZ3BheTogY29ycmVjdGx5IHNldCB0aGUgdHlwZSBoZWFkZXIKCSAgRG9uJ3QgcmVxdWlyZSB3aWR0aC9oZWlnaHQgb24gdGhlIGNhcHMuIFVzZSB0aGUgU09GIGhlYWRlciB0byBmaW5kIHdpZHRoL2hlaWdodAoJICBhbmQgZmFsbCBiYWNrIHRvIHRoZSBjYXBzIGlmIHRoZXJlIGlzIG5vIFNPRi4gQWxzbyB1c2UgdGhlIFNPRiBpbmZvIHRvIGZpbmQgdGhlCgkgIHN1YnNhbXBsaW5nIGFuZCBxdWFudGl6YXRpb24gdGFibGVzIHVzZWQuIFRoaXMgYWxsb3dzIHVzIHRvIHNldCB0aGUgcmlnaHQgdHlwZQoJICB2YWx1ZSBpbiB0aGUgSlBFRyBydHAgaGVhZGVyLgoJICBEZXByZWNhdGUgdGhlIHF1YWxpdHkgcHJvcGVydHksIGl0J3MgdW51c2VkIG5vdyBhbmQgaXQgd2FzIHVzZWQgd3JvbmdseSBiZWZvcmUuCgkgIEFsd2F5cyBzZW5kIGZ1bGwgcXVhbnQgdGFibGVzIGZvciBub3cgdW50aWwgd2UgaGF2ZSBzb21lIGNvZGUgdG8gZGV0ZWN0IGRlZmF1bHQKCSAgb25lcy4KCSAgRml4ZXMgIzU4MDg4MAoKMjAwOS0wNS0wNSAxNjoyODo0NCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwanBlZ2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwanBlZ2RlcGF5Lmg6CgkgIHJ0cGpwZWdkZXBheTogdXNlIHdpZHRoL2hlaWdodCBmcm9tIHBheWxvYWQKCSAgVXNlIHRoZSB3aWR0aCBhbmQgdGhlIGhlaWdodCBmcm9tIHRoZSBwYXlsb2FkIGhlYWRlcnMgYW5kIHNldCB0aGVtIG9uIHRoZQoJICBvdXRwdXQgY2FwcyBmb3IgYWRkZWQgYXdlc29tZW5lc3MuCgkgIEZpeCBxdWFudCBwYXJzaW5nLCB3ZSBuZWVkIHRvIGNoZWNrIHRoZSB0eXBlIGluIHRoZSBsb3dlciA2IGJpdHMuCgkgIEFkZCBmaXJzdCBiaXRzIG9mIGNhY2hpbmcgcXVhbnRpemF0aW9uIHRhYmxlcy4KCjIwMDktMDUtMDUgMTY6MjQ6MTYgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvanBlZy9nc3RqcGVnZW5jLmM6CgkgIGpwZWdlbmM6IHNldCBjb2xvcnNwYWNlIGJlZm9yZSBfc2V0X2RlZmF1bHRzKCkKCSAgVGhlIGxpYmpwZWcgYXBpIHNheXMgdGhhdCB3ZSBuZWVkIHRvIHNldCB0aGUgY29sb3JzcGFjZSBiZWZvcmUgd2UgY2FsbAoJICBfc2V0X2RlZmF1bHRzKCkuIEluZGVlZCwgaWYgd2UgZG9uJ3QgZG8gdGhhdCB3ZSBlbmQgdXAgd2l0aCBzb21lIHZlcnkgZnJlYWt5CgkgIG5vbi1zdGFuZGFyZCBxdWFudCB0YWJsZSBhbmQgaHVmZm1hbiB0YWJsZSBpbmRleGVzLgoKMjAwOS0wNS0wNSAxMzoxOToxOSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9NYWtlZmlsZS5hbToKCSAgdGVzdHM6IGRvbid0IGJ1aWxkIGV4YW1wbGVzIGlmIC0tZGlzYWJsZS1leGFtcGxlcyB3YXMgcGFzc2VkIHRvIGNvbmZpZ3VyZQoKMjAwOS0wNS0wNSAxMjozMzo1NyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogY2xlYW4gdXAgbWVzcyBhcm91bmQgZ3RrKyBjaGVja2luZwoJICBBbmQgZG9uJ3QgY2hlY2sgZm9yIGd0aysgd2hlbiBpdCdzIG5vdCBuZWVkZWQgKGllLiBpZiBleGFtcGxlcyBhcmUgZGlzYWJsZWQpCgoyMDA5LTA1LTA1IDEyOjI3OjIxICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L2dka19waXhidWYvTWFrZWZpbGUuYW06CgkqIGV4dC9nZGtfcGl4YnVmL3BpeGJ1ZnNjYWxlLmg6CgkgIGNvbmZpZ3VyZTogbWFrZSBnZGstcGl4YnVmIHBsdWdpbiBkZXBlbmQgb25seSBvbiBnZGstcGl4YnVmLCBub3QgZ3RrKwoKMjAwOS0wNS0wNCAxODo1NToxMiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogRml4IGZpbmRfc3RyZWFtX2J5XyogZnVuY3Rpb25zCgkgIEZpeCB2YXJpb3VzIHZlcnNpb24gb2YgZmluZF9zdHJlYW1fYnlfKiBieSBub3QgdHJ5aW5nIHRvIGNvbnZlcnQgYW4gaW50IHRvIGEKCSAgcG9pbnRlciBhbmQgdmljZSB2ZXJzYSwgZm9yIHBvcnRhYmlsaXR5IHJlYXNvbnMuCgkgIEZpeGVzICM1ODEzMzMKCjIwMDktMDUtMDQgMTg6MzI6MDUgKzAyMDAgIENocmlzIFdpbnRlciA8ZWx3aW50cm8gYXQgZ21haWwuY29tPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBmaXggZHVtbXkgbmF0IHBhY2tldCBsb2dpYwoJICBGaXggYSB0eXBvIGluIHRoZSBkdW1teSBOQVQgcGFja2V0IHNlbmRpbmcgY29kZS4KCSAgRml4ZXMgIzU4MTMyOQoKMjAwOS0wNC0zMCAxMDoyNDoyNyArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IGF2b2lkIGVycm9ycyBhZnRlciBzZXJ2ZXIgZW9mCgkgIFNlcnZlciBlb2YgKGUuZy4gY29ubmVjdGlvbiBjbG9zZWQpIGlzIGFubm91bmNlZCBhcyBjb25uZWN0aW9uIGNsb3NlZCwKCSAgc28gYmV0dGVyIHJlY29yZCBzdGF0ZSBhbmQgYWN0IGFjY29yZGluZ2x5IHRvIHByZXZlbnQgKHJlYWQvd3JpdGUpCgkgIGVycm9ycyBkdXJpbmcgc3Vic2VxdWVudCB0ZWFyZG93bi9jbGVhbnVwIHNlcXVlbmNlcy4gICNGaXhlcyA1ODA4NTEuKGMpLgoKMjAwOS0wNC0zMCAxMDoxOToyNyArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IGFsc28gc2V0IGJhc2VfdGltZSBvbiBzcmMgYWZ0ZXIgZmx1c2gKCSAgdGltZXN0YW1wcyBmb2xsb3dpbmcgZmx1c2gvc2VlayBzaG91bGQgYmUgY29uc2lzdGVudCBiZXR3ZWVuCgkgIFVEUCBhbmQgVENQIGludGVybGVhdmVkIGNhc2UuICBGaXhlcyAjNTgwODUxLihiKS4KCjIwMDktMDQtMzAgMTA6MTc6MjMgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBzYW5pdHkgY2hlY2tzIG9uIHJhbmdlIGluZm8KCSAgQSBtYXggcmFuZ2UgdGhhdCBvdmVyZmxvd3Mgc2hvdWxkIG5vdCBiZSB0cnVzdGVkLAoJICBub3Igc2hvdWxkIGEgbWF4IHJhbmdlIHRoYXQgZXF1YWxzIHRoZSBtaW4gcmFuZ2UuCgkgIEZpeGVzICM1ODA4NTEuKGEpLgoKMjAwOS0wNS0wNCAxNjoxNjo1NCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5oOgoJICBydHNwc3JjOiB1c2UgU0tJUCBmbGFnIHRvIHVzZSBTQ0FMRSBoZWFkZXJzCgkgIFdlIGNhbiB1c2UgdGhlIFNLSVAgc2VlayBmbGFnIHRvIGluc3RydWN0IHRoZSBzZXJ2ZXIgdG8gc2VuZCBkYXRhIGZhc3RlciB0aGVuCgkgIG5vcm1hbCBidXQgd2l0aCB0aGUgc2FtZSBiYW5kd2lkdGguCgkgIEZpeGVzICM1Mzc2MDkKCjIwMDktMDUtMDQgMTQ6MTk6MjIgKzAyMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogZXh0L3NwZWV4L2dzdHNwZWV4ZGVjLmM6CgkgIHNwZWV4ZGVjOiBtYWtlIHNwZWV4X2RlY19jb252ZXJ0IHdvcmsgd2l0aCBzYW1lLWZvcm1hdCB2YWx1ZXMgd2hlbiBubyBkYXRhIGhhcyBiZWVuIGRlY29kZWQuCgoyMDA5LTA1LTA0IDEyOjQzOjQyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mbGFjL2dzdGZsYWNlbmMuYzoKCSAgZmxhYzogSW1wbGVtZW50IHByZXNldCBpbnRlcmZhY2UKCjIwMDktMDUtMDQgMTI6NDE6NTYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3NwZWV4L2dzdHNwZWV4ZW5jLmM6CgkgIHNwZWV4OiBJbXBsZW1lbnQgcHJlc2V0IGludGVyZmFjZQoKMjAwOS0wNS0wNCAxMjo0MDoxMiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZW5jLmM6CgkgIHdhdnBhY2s6IEltcGxlbWVudCBwcmVzZXQgaW50ZXJmYWNlCgoyMDA5LTA1LTA0IDEyOjM1OjE5ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiB1c2UgYmluYXJ5IHNlYXJjaCBmb3IgaW5kZXgKCSAgVXNlIHRoZSBuZXcgYmluYXJ5IHNlYXJjaCBtZXRob2QgZm9yIGZpbmRpbmcgdGhlIHJpZ2h0IGluZGV4IGVudHJ5IGZhc3Rlci4KCjIwMDktMDUtMDQgMTE6MjY6NTYgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9ib3gvZ3N0dmlkZW9ib3guYzoKCSAgdmlkZW9ib3g6IGRyYXcgdGhlIGNvbXBsZXRlIFUgYW5kIFYgcGxhbmVzCgkgIFJvdW5kIHVwIHRoZSBzY2FsZWQgVSBhbmQgViB3aWR0aCBhbmQgaGVpZ2h0IHNvIHRoYXQgd2UgYWx3YXlzIGRyYXcgdGhlIGNvcnJlY3QKCSAgYW1vdW50IG9mIHBpeGVscyB0byBmaWxsIHRoZSBjb21wbGV0ZSBpbWFnZS4KCSAgRml4ZXMgIzU2OTYxMQoKMjAwOS0wNS0wMSAxOTozNToxMSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogYWRkIHNvbWUgbW9yZSBtaWNybyBvcHRpbWlzYXRpb25zCgoyMDA5LTA0LTMwIDE4OjQxOjQ0ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4X2R1bXAuYzoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eF90eXBlcy5jOgoJICBxdGRlbXV4OiBtaWNybyBvcHRpbWl6ZSBxdGRlbXV4IGEgbGl0dGxlCgkgIFNwcmlua2xlIHNvbWUgR19MSUtFTFkgYXJvdW5kLgoJICBBdm9pZCB0cmF2ZXJzaW5nIGFuZCBkdW1waW5nIHRoZSB0cmVlIHdoZW4gZGVidWdnaW5nIGlzIG5vdCBhY3RpdmF0ZWQuCgoyMDA5LTA0LTMwIDE0OjIyOjI3ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4Lmg6CgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXhfZm91cmNjLmg6CgkgIHF0ZGVtdXg6IGFkZCBzdXBwb3J0IGZvciBzdWJ0aXRsZSBwaWN0dXJlcwoJICBBZGQgc3VwcG9ydCBmb3Igc3VidGl0bGUgcGljdHVyZXMuCgkgIEZpeGVzICM1NjgyNzguCgoyMDA5LTA0LTMwIDEwOjMyOjM5ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJICBwdWxzZXNpbms6IG1ha2Ugc3VyZSB3ZSBhbHdheXMgc2lnbmFsIHdhaXRlcnMKCSAgQWx3YXlzIHNpZ25hbCB0aGUgd2FpdGVycyBpbiB0aGUgYXN5bmMgY2FsbGJhY2tzLiBFc3BlY2lhbGx5IGZvciB0aGUgdm9sdW1lCgkgIGNhbGxiYWNrcyBzaW5jZSB0aGlzIG1pZ2h0IGNhdXNlIGRlYWRsb2Nrcy4KCjIwMDktMDQtMjkgMTg6MDk6MDcgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IHJlbGVhc2Ugc3RhdGUgbG9jayBiZWZvcmUgc3RvcHBpbmcgdGFzawoJICBXZSBuZWVkIHRvIHJlbGVhc2UgdGhlIHN0YXRlIGxvY2sgYmVmb3JlIHRyeWluZyB0byB3YWl0IGZvciB0aGUgdGFzayB0byBlbmQKCSAgYmVjYXVzZSB0aGUgdGFzayBtaWdodCBhbHNvIHRha2UgdGhlIGxvY2suCgkgIEZpeGVzICM1Nzc2NzEKCjIwMDktMDQtMjkgMTI6MTk6MjcgKzAyMDAgIEhhbnMgZGUgR29lZGUgPGp3cmRlZ29lZGUgYXQgZmVkb3JhcHJvamVjdC5vcmc+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IGhhbmRsZSBhYy0zIGF1ZGlvCgkgIGZpeCBkZW11eGluZyBvZiBtNHYgc3RyZWFtcyB3aXRoIGFjLTMgYXVkaW8KCSAgRml4ZXMgIzU4MDU1NAoKMjAwOS0wNC0yOSAxMToxMjozNiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmxhYy9nc3RmbGFjZW5jLmM6CgkgIGZsYWNlbmM6IFVzZSB0aGUgdGFnIG1lcmdlIG1vZGUgdGhhdCB3YXMgc2V0IG9uIHRoZSBpbnRlcmZhY2UgZm9yIG1lcmdpbmcgdGFnIGV2ZW50cwoKMjAwOS0wNC0yNSAwOTo0MzozOCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC91ZHAvZ3N0dWRwc3JjLmM6CgkgIHVkcHNyYzogZml4IGdldGFkZHJpbmZvIGVycm9yIHJlcG9ydGluZwoJICBnZXRhZGRyaW5mbyBlcnJvcnMgc2hvdWxkIGJlIHJlcG9ydGVkIHdpdGggZ2FpX3N0cmVycm9yIGluc3RlYWQgb2YgZXJybm8gYXMKCSAgc3BvdHRlZCBieSBNaWtlUy4KCjIwMDktMDQtMjcgMTA6MDg6MzkgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGc3MjZwYXkuYzoKCSAgZzcyNnBheTogZml4IGNvbXBpbGF0aW9uCgoyMDA5LTA0LTI3IDEwOjAyOjA2ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBnNzI2cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZzcyNnBheS5oOgoJICBnNzI2cGF5OiBhZGQgUkZDIGNvbXBsaWFudCBwYWNrZXRpemluZwoJICBTaHVmZmxlIHRoZSBpbnB1dCBiaXRzIGFjY29yZGluZyB0byBSRkMgMzU1MSBmb3IgRzcyNiBwYXlsb2Fkcy4KCSAgQWRkIG9wdGlvbiB0byBmb3JjZSB0aGUgcHJldmlvdXMgYmVoYXZpb3VyLgoJICBGaXhlcyAjNTY3MTQwCgoyMDA5LTA0LTI3IDA5OjU5OjU0ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBnNzI2ZGVwYXkuYzoKCSAgZzcyNmRlcGF5OiBhZGQgZGVidWcgY2F0ZWdvcnkKCSAgQWRkIGEgZGVidWdnaW5nIGNhdGVnb3J5LCBhZGQgc29tZSBjb21tZW50cyBhbmQgcmVtb3ZlIF9wZWVrX3BhcmVudCgpLgoKMjAwOS0wNC0yNiAxNTo1OTo1MCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIGlkM3YybXV4OiB3ZSBuZWVkIHRhZ2xpYiAxLjUgZm9yIElEM3YyOjpSZWxhdGl2ZVZvbHVtZUZyYW1lOjpzZXRJZGVudGlmaWNhdGlvbgoJICBCdW1wIHRhZ2xpYiByZXF1aXJlbWVudC4KCjIwMDktMDQtMjQgMDI6MTE6MjggKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvaWQzZGVtdXguYzoKCSogdGVzdHMvZmlsZXMvaWQzLTU3NzQ2OC11bnN5bmNlZC10YWcudGFnOgoJICBpZDNkZW11eDogYWRkIHVuaXQgdGVzdCBmaWxlIGZvciB1bnN5bmNlZCBpZDMgdGFncwoKMjAwOS0wNC0yNCAwMTo1MTozNSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaWQzZGVtdXgvaWQzdGFncy5jOgoJICBpZDNkZW11eDogcGFyc2UgdW5zeW5jaHJvbmlzZWQgdGFncyBwcm9wZXJseQoJICBXZSBkaWRuJ3QgaGFuZGxlIHVuc3luY2hyb25pemF0aW9uIGF0IGFsbCB1cCB0byBub3csIHdoaWNoIG1pZ2h0IGhhdmUKCSAgY2F1c2VkIGZyYW1lcyB0byBub3QgYmUgZXh0cmFjdGVkIC0gZXNwLiBmcmFtZXMgYWZ0ZXIgYW4gQVBJQyBwaWN0dXJlCgkgIGZyYW1lLiBGaXhlcyAjNTc3NDY4LgoKMjAwOS0wNC0yNCAwMTowMTo1MyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaWQzZGVtdXgvaWQzdGFncy5jOgoJICBpZDNkZW11eDogcGFzcyB0aGUgcmlnaHQgc2l6ZSB2YWx1ZSBmb3Igc2l6ZSBvZiBhbGwgZnJhbWVzIHRvIHRoZSBwYXJzZXIKCSAgRnJhbWUgZGF0YSBzaXplIGlzIHRhZyBzaXplIGFkanVzdGVkIGZvciBzaXplIG9mIHRoZSB0YWcgaGVhZGVyIGFuZAoJICBmb290ZXIsIG5vdCB0YWcgc2l6ZSBpbmNsdWRpbmcgaGVhZGVyIGFuZCBmb290ZXIuCgoyMDA5LTA0LTIyIDE1OjI0OjU1ICswMjAwICBQYXRyaWNrIFJhZGl6aSA8cGF0cmljay5yYWRpemkgYXQgYXhpcy5jb20+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IGZpeCBzb21lIG1vcmUgcGFkIGxlYWtzCgkgIEZpeCBzb21lIHBhZCBsZWFrcy4KCSAgU2VlICM1NzczMTguCgoyMDA5LTA0LTIxIDIyOjEyOjQ1ICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIGIzOTQxZWEgdG8gNmFiMTFkMQoKMjAwOS0wNC0yMSAxNDowMjowMSAtMDcwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHNvbmdiaXJkbmVzdC5jb20+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IG92ZXJyaWRlIGNhcHMgYmFzZWQgb24gZGF0YSBmcm9tIEVTRFMgYXRvbXMgaW4gbXBlZzQuCgkgIElmIHRoZSBjb2RlYyBpcyBhY3R1YWxseSBzb21ldGhpbmcgZWxzZSAoZS5nLiBtanBlZykgY2hhbmdlIHRoZSBjYXBzIHRvCgkgIG1hdGNoIHdoZW4gcGFyc2luZyB0aGUgRVNEUyBhdG9tLgoJICBBbHNvLCBmb3IgQUFDLCBvdmVycmlkZSByYXRlIGFuZCBjaGFubmVscyB3aXRoIGNvcnJlY3QgdmFsdWVzIHJlYWQgZnJvbQoJICBFU0RTLCBzaW5jZSB0aGUgcmF0ZS9jaGFubmVscyB2YWx1ZXMgZWxzZXdoZXJlIGFyZSBvZnRlbiB3cm9uZy4KCjIwMDktMDQtMjAgMTk6MzI6MDAgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2pwZWcvZ3N0anBlZ2RlYy5jOgoJICBqcGVnZGVjOiBmaXggd2FybmluZyBmb3Igc3RpbGwgaW1hZ2VzIGJ5IG5vdCB0cnlpbmcgdG8gZGl2aWRlIGJ5IDAKCSAgRG9uJ3QgcGFzcyBhIDAgZGl2aXNvciB0byBnc3RfdXRpbF91aW50NjRfc2NhbGUoKSwgb3IgaXQgd2lsbCBjb21wbGFpbgoJICBpbiB0aGUgc2luZ2xlIGltYWdlIGNhc2Ugd2hlcmUgZnBzPTAvMSAoYXJlIHdlIHN1cHBvc2VkIHRvIGRpZmZlcmVudGlhdGUKCSAgYmV0d2VlbiBubyBmcHM9c3RpbGwgaW1hZ2UgYW5kIGZwcz0wLzE9dmFyaWFibGUgcmF0ZSBoZXJlIGJ0dz8pCgoyMDA5LTA0LTIwIDE3OjI1OjM0ICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBnc3QvdWRwL2dzdHVkcG5ldHV0aWxzLmM6CgkgIHVkcDogRml4IGEgc2ltcGxlIHR5cG8gaW4gdGhlIHByZXZpb3VzIGNvbW1pdAoJICBVc2UgI2lmZGVmIGluc3RlYWQgb2YgI2lmLCB0byBmaXggdGhlIGJ1aWxkCgoyMDA5LTA0LTIwIDE1OjQ4OjIxICswMjAwICBBbmR5IFdpbmdvIDx3aW5nb0B3aW5nb21hYy5iY24ub2Jsb25nLm5ldD4KCgkgIGZpeCBmb3JtYXQgc3RyaW5nIGluIHBuZ2RlYwoJICAqIGV4dC9saWJwbmcvZ3N0cG5nZGVjLmM6IEZpeCBzaXplX3QgdnMgdW5zaWduZWQgaW50IGZvcm1hdCBpbiBlcnJvciBtZXNzYWdlLgoKMjAwOS0wNC0yMCAxNTo0NjowMyArMDIwMCAgQW5keSBXaW5nbyA8d2luZ29Ad2luZ29tYWMuYmNuLm9ibG9uZy5uZXQ+CgoJICBvbmx5IHVzZSBzdHJ1Y3QgaXBfbXJlcW4gaWYgaXQgaXMgZGV0ZWN0ZWQKCSAgKiBjb25maWd1cmUuYWM6IE1ha2UgYW4gZXhwbGljaXQgY2hlY2sgZm9yIHN0cnVjdCBpcF9tcmVxbi4KCSAgKiBnc3QvdWRwL2dzdHVkcG5ldHV0aWxzLmM6IFVzZSBIQVZFX0lQX01SRVFOIGluc3RlYWQgb2YgdGhlIGFkLWhvYyBjaGVja3MuCgoyMDA5LTA0LTIwIDEzOjQ1OjMyICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgRml4IHB1c2ggbW9kZSBidWZmZXJpbmcgc2FuaXR5IGNoZWNrIHRvIGFjdHVhbGx5IGZpdCB0aGUgZGVzY3JpcHRpb24uCgoyMDA5LTA0LTE4IDE5OjExOjA2ICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBoMjYzcGF5LmM6CgkgIHJ0cGgyNjNwYXk6IEFuZCBsZXQncyBub3QgZm9yZ2V0IHRvIHJlbW92ZSB0aGUgdW51c2VkIHZhcmlhYmxlLgoKMjAwOS0wNC0xOCAxODo1MDozMiArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2M3BheS5jOgoJICBydHBoMjYzcGF5OiBSZW1vdmUgZGVhZCBhc3NpZ25tZW50cywgdGhlIHZhcmlhYmxlcyBhcmUgbmV2ZXIgcmVhZCBhZnRlci4KCjIwMDktMDQtMTggMTg6NDk6NDkgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cG1wNHZwYXkuYzoKCSAgcnRwbXA0dnBheTogUmVtb3ZlIGRlYWQgYXNzaWdubWVudC4gVGhlIHZhbHVlIGlzIG5ldmVyIHJlYWQgYWZ0ZXIuCgoyMDA5LTA0LTE4IDE4OjQ4OjU1ICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBSZW1vdmUgZGVhZCBhc3NpZ25tZW50LgoJICB0IGlzIGJlaW5nIG92ZXJ3cml0dGVuIGFmdGVyLCBiZWZvcmUgaXQncyB1c2VkLgoKMjAwOS0wNC0xOCAxODo0ODowNiArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwYW1yZGVwYXkuYzoKCSAgcnRwYW1yZGVwYXk6IFJlbW92ZSB1bm5lZWRlZCB2YXJpYWJsZSwgdGhlIHZhbHVlIGlzIG9ubHkgcmVhZCBvbmNlLgoKMjAwOS0wNC0xOCAxODo0NzowNSArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwYW1ycGF5LmM6CgkgIHJ0cGFtcnBheTogUmVtb3ZlIHVubmVlZGVkIHZhcmlhYmxlLCB0aGUgdmFsdWUgaXMgb25seSByZWFkIG9uY2UuCgoyMDA5LTA0LTE4IDE4OjQ2OjEyICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L2dvb20vZmlsdGVycy5jOgoJICBnb29tL2ZpbHRlcnM6IFJlbW92ZSBkZWFkIGFzc2lnbm1lbnQuIFZhbHVlIG92ZXJ3cml0dGVuIGp1c3QgYWZ0ZXIuCgoyMDA5LTA0LTE4IDE4OjQ1OjMyICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L3J0cC9nc3RydHB2b3JiaXNwYXkuYzoKCSAgcnRwdm9yYmlzcGF5OiBSZW1vdmUgZGVhZCBhc3NpZ25tZW50LiBWYWx1ZSBuZXZlciByZWFkIGFmdGVyLgoKMjAwOS0wNC0xOCAxODo0NTowNyArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwdGhlb3JhcGF5LmM6CgkgIHJ0cHRoZW9yYXBheTogUmVtb3ZlIGRlYWQgYXNzaWdubWVudC4gVmFsdWUgbmV2ZXIgcmVhZCBhZnRlci4KCjIwMDktMDQtMTggMTg6NDM6MzEgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cHRoZW9yYWRlcGF5LmM6CgkgIHJ0cHRoZW9yYWRlcGF5OiBSZW1vdmUgdW51c2VkIHZhcmlhYmxlLCBpdCdzIG5ldmVyIGJlaW5nIHJlYWQuCgoyMDA5LTA0LTE4IDE4OjQyOjQ1ICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBSZW1vdmUgZGVhZCBhc3NpZ25tZW50LiAncmVzJyBpc24ndCByZWFkIGFmdGVyLgoKMjAwOS0wNC0xOCAxODo0MTo1OCArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogUmVtb3ZlIHVudXNlZCB2YXJpYWJsZS4gJ3JlcycgaXMgbmV2ZXIgcmVhZC4KCjIwMDktMDQtMTggMTg6NDA6NDggKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IFJlbW92ZSBkZWFkIHZhcmlhYmxlLiAnc3RyZWFtJyBpcyBuZXZlciByZWFkIGFmdGVyLgoKMjAwOS0wNC0xOCAxODozOTo0OCArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC92aWRlb2JveC9nc3R2aWRlb2JveC5jOgoJICB2aWRlYm94OiBSZW1vdmUgZGVhZCBhc3NpZ25tZW50cy4KCSAgVGhlc2UgdmFyaWFibGVzIGFyZSBuZXZlciByZWFkIGFmdGVyIHRoaXMgcG9pbnQuCgoyMDA5LTA0LTE4IDE4OjM4OjI5ICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L2dvb20vY29udm9sdmVfZnguYzoKCSAgZ29vbTogZmYgYW5kIGlmZiBhcmUgb25seSB1c2VkIGluIGEgJyNpZmRlZiBEUkFXX01PVElGJyBibG9jay4KCjIwMDktMDQtMTggMTg6MzQ6MTEgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzoKCSAgd2F2cGFyc2U6IFJlbW92ZSBkZWFkIGFzc2lnbm1lbnQuCgkgIHJlcyBpc24ndCByZWFkIGFmdGVyIHRoaXMuCgoyMDA5LTA0LTE4IDE4OjMyOjAzICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6CgkgIHdhdnBhcnNlOiBSZW1vdmUgZGVhZCBhc3NpZ25tZW50cywgbW92ZSB2YXJpYWJsZSB0byB3aGVyZSBpdCdzIG5lZWRlZC4KCSAgVGhlIGhlYWRlcl9yZWFkX2Vycm9yIGxhYmVsIHdpbGwgcmV0dXJuIEdTVF9GTE9XX0VSUk9SCgoyMDA5LTA0LTE4IDE4OjIxOjIyICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L3J0cC9nc3RydHB2cmF3ZGVwYXkuYzoKCSAgcnRwdnJhd2RlcGF5OiBSZW1vdmUgZGVhZCBhc3NpZ25tZW50LgoJICBUaGUgdmFsdWUgb2YgJ3N0cicgd2lsbCBuZXZlciBiZSB1c2VkIGluIHRoZXNlIGNhc2VzLgoKMjAwOS0wNC0xOCAxODoxOToxMiArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYWRlbXV4OiBSZW1vdmUgdXNlbGVzcyB2YXJpYWJsZS4KCSAgaXJldCB3YXMgbmV2ZXIgcmVhZCBvdXRzaWRlIG9mIHRoYXQgbG9vcCwgYW5kIGlzIGFsd2F5cyBiZWluZyBleGl0ZWQgaWYKCSAgaXJldCB3YXMgIT0gR1NUX0ZMT1dfT0sgYW55d2F5LgoKMjAwOS0wNC0xOCAxODoxNzozNSArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgYXZpZGVtdXg6IE1vdmUgJ3JlcycgdG8gd2hlcmUgaXQncyBhY3R1YWxseSBiZWluZyB1c2VkLgoJICByZXMgd2FzIG5ldmVyIHVzZWQgb3V0c2lkZSBvZiB0aGF0IGJsb2NrIGV4Y2VwdCBmb3IgYSBkZWFkIGFzc2lnbm1lbnQuCgoyMDA5LTA0LTE4IDE4OjE2OjMzICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L2F1ZGlvZngvYXVkaW9jaGViYmFuZC5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb2NoZWJsaW1pdC5jOgoJICBhdWRpb2Z4OiBSZW1vdmUgdW51c2VkIHZhcmlhYmxlLgoJICByeiBpcyBuZXZlciB1c2VkIGluIHRoZXNlIG1ldGhvZHMuCgoyMDA5LTA0LTE4IDE4OjE1OjM5ICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeHJpbmdidWZmZXIuYzoKCSAgb3N4cmluZ2J1ZmZlcjogUnVuIGdzdC1pbmRlbnQuCgoyMDA5LTA0LTE4IDE4OjE0OjQ5ICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogc3lzL3hpbWFnZS9nc3R4aW1hZ2VzcmMuYzoKCSAgeGltYWdlOiBSZW1vdmUgZGVhZCBhc3NpZ25tZW50cy4KCSAgVGhvc2UgdmFyaWFibGVzIGFyZSBub3QgcmVhZCBhZnRlciB0aGF0IHBvaW50LgoKMjAwOS0wNC0xOCAxODoxMTowMCArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGV4dC9kdi9nc3RkdmRlbXV4LmM6CgkqIGV4dC9nZGtfcGl4YnVmL2dzdGdka3BpeGJ1Zi5jOgoJKiBleHQvZ2RrX3BpeGJ1Zi9waXhidWZzY2FsZS5jOgoJKiBleHQvbGliY2FjYS9nc3RjYWNhc2luay5jOgoJKiBleHQvbGlicG5nL2dzdHBuZ2RlYy5jOgoJKiBleHQvcmF3MTM5NC9nc3RkdjEzOTRzcmMuYzoKCSogZXh0L3JhdzEzOTQvZ3N0aGR2MTM5NHNyYy5jOgoJKiBleHQvc3BlZXgvZ3N0c3BlZXhlbmMuYzoKCSogZ3N0L2FscGhhL2dzdGFscGhhLmM6CgkqIGdzdC9hbHBoYS9nc3RhbHBoYWNvbG9yLmM6CgkqIGdzdC9hcGV0YWcvZ3N0YXBlZGVtdXguYzoKCSogZ3N0L2F1cGFyc2UvZ3N0YXVwYXJzZS5jOgoJKiBnc3QvZWZmZWN0di9nc3RxdWFyay5jOgoJKiBnc3QvZmx4L2dzdGZseGRlYy5jOgoJKiBnc3QvaWN5ZGVtdXgvZ3N0aWN5ZGVtdXguYzoKCSogZ3N0L2ludGVybGVhdmUvaW50ZXJsZWF2ZS5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkqIGdzdC9tdWx0aWZpbGUvZ3N0bXVsdGlmaWxlc2luay5jOgoJKiBnc3QvbXVsdGlmaWxlL2dzdG11bHRpZmlsZXNyYy5jOgoJKiBnc3QvcXRkZW11eC9nc3RydHB4cXRkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGFjM2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZHZwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjYzcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2M3BwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBpbGJjZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBqcGVnZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDFzZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDJ0ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDJ0cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXA0Z3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wNHZkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wYWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXB2ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcHZwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBzaXJlbnBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHZvcmJpc2RlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwdnJhd2RlcGF5LmM6CgkqIGdzdC9ydHNwL2dzdHJ0cGRlYy5jOgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkqIGdzdC9zbXB0ZS9nc3RzbXB0ZWFscGhhLmM6CgkqIGdzdC9zbXB0ZS9wYWludC5jOgoJKiBnc3QvdWRwL2dzdGR5bnVkcHNpbmsuYzoKCSogZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuYzoKCSogZ3N0L3ZpZGVvYm94L2dzdHZpZGVvYm94LmM6CgkqIGdzdC92aWRlb2ZpbHRlci9nc3R2aWRlb2JhbGFuY2UuYzoKCSogZ3N0L3ZpZGVvZmlsdGVyL2dzdHZpZGVvZmxpcC5jOgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyLmM6CgkqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOgoJKiBzeXMveGltYWdlL2dzdHhpbWFnZXNyYy5jOgoJICBSZW1vdmUgdHJpdmlhbCB1bnVzZWQgdmFyaWFibGVzIGRldGVjdGVkIGJ5IENMYW5nIHN0YXRpYyBhbmFseXplci4KCjIwMDktMDQtMTggMTc6NTI6MDAgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBleHQvZ2NvbmYvZ3N0c3dpdGNoc2luay5jOgoJKiBnc3QvcXRkZW11eC9nc3RydHB4cXRkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cEwxNmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwYWMzZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjRwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBqcGVnZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDFzZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDJ0ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDRhcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXA0Z3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wYWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXB2ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHB0aGVvcmFkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHZyYXdwYXkuYzoKCSAgUmVtb3ZlIGJsYW5rIHtzZXR8Z2V0fV9wcm9wZXJ0eS9jaGFuZ2Vfc3RhdGUvZmluYWxpemUgbWV0aG9kcy4KCjIwMDktMDQtMTggMTc6NDI6NTUgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBleHQvY2Fpcm8vZ3N0dGltZW92ZXJsYXkuYzoKCSogZXh0L2VzZC9lc2RzaW5rLmM6CgkqIGV4dC9saWJwbmcvZ3N0cG5nZGVjLmM6CgkqIGV4dC9saWJwbmcvZ3N0cG5nZW5jLmM6CgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSogZ3N0L2FscGhhL2dzdGFscGhhY29sb3IuYzoKCSogZ3N0L2N1dHRlci9nc3RjdXR0ZXIuYzoKCSogZ3N0L2RlYnVndXRpbHMvZWZlbmNlLmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdG5hdmlnYXRpb250ZXN0LmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdHRhZ2luamVjdC5jOgoJKiBnc3QvZWZmZWN0di9nc3RhZ2luZy5jOgoJKiBnc3QvZWZmZWN0di9nc3RkaWNlLmM6CgkqIGdzdC9lZmZlY3R2L2dzdGVkZ2UuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0cmV2LmM6CgkqIGdzdC9lZmZlY3R2L2dzdHNoYWdhZGVsaWMuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0dmVydGlnby5jOgoJKiBnc3QvZWZmZWN0di9nc3R3YXJwLmM6CgkqIGdzdC9ydHAvZ3N0cnRwTDE2cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwYW1yZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBhbXJwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBkdmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZHZwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnNzI2ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnNzI2cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZzcyOWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZ3NtZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnc21wYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjYzcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2M3BwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBpbGJjZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBpbGJjcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXAydHBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wNHZwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcGFwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcHZwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBwY21hZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBwY21hcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwcGNtdWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwcGNtdXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHNpcmVuZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBzaXJlbnBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHNwZWV4ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBzcGVleHBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHRoZW9yYXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHZvcmJpc3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHZyYXdkZXBheS5jOgoJKiBnc3Qvc21wdGUvZ3N0c21wdGVhbHBoYS5jOgoJKiBnc3QvdWRwL2dzdHVkcHNpbmsuYzoKCSogZ3N0L3ZpZGVvZmlsdGVyL2dzdHZpZGVvYmFsYW5jZS5jOgoJKiBzeXMvb3NzL2dzdG9zc3NpbmsuYzoKCSogc3lzL29zcy9nc3Rvc3NzcmMuYzoKCSAgUmVtb3ZlIHVudXNlZCB2YXJpYWJsZXMgaW4gX2NsYXNzX2luaXQKCSAgRGV0ZWN0ZWQgYnkgTExWTSdzIENMYW5nIHN0YXRpYyBhbmFseXplcgoKMjAwOS0wNC0xOCAxMzo1NDowOCArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvc291cGh0dHBzcmMuYzoKCSAgY2hlY2s6IENoZWNrIHdoZXRoZXIgdGhyZWFkcyBhcmUgYWxyZWFkeSBpbml0aWFsaXNlZCBiZWZvcmUgZ190aHJlYWRfaW5pdCgpCgoyMDA5LTA0LTE4IDE0OjMyOjQwICswMjAwICBKb3NlcCBUb3JyYSA8bjc3MGdhbGF4eUBnbWFpbC5jb20+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IG1hcmsgZGlzY29udCBvbiB0aGUgc3RyZWFtcyBhcyB3YXMgc2FpZCB0aGUgZGVidWcgbGluZQoJICBBZnRlciBhIHNlZWsgbWFyayBhbGwgc3RyZWFtcyB3aXRoIGRpc2NvbnQgYXMgaXQgd2FzIHNhaWQgaW4gdGhlIGRlYnVnIGxpbmUuCgkgIEZpeGVzIHRoYXQgYnVmZmVycyBhZnRlciBhIHNlZWsgYXJlIGdlbmVyYXRlZCB3aXRob3V0IGEgdmFsaWQgdGltZXN0YW1wLgoKMjAwOS0wNC0xOCAwODo0NToxOCArMDIwMCAgSm9zZXAgVG9ycmEgPG43NzBnYWxheHlAZ21haWwuY29tPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBtYXAgR1NUX1JUU1BfRUVPRiB0byBFT1Mgb24gc2VydmVyIHJlcXVlc3RzCgkgIFBlcm1pdCBwcm9wZXJseSBoYW5kbGUgdGhlIEVPUyBjb25kaXRpb24gd2hlbiBzZXJ2ZXIgcmVwb3J0IGl0IGluIGEgcmVxdWVzdC4KCjIwMDktMDQtMTggMDg6Mzk6NTcgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cHRoZW9yYWRlcGF5LmM6CgkgIHJ0cHRoZW9yYWRlcGF5OiBGaXggYnVpbGQgb24gbWFjb3N4LgoJICBVc2UgR19HU0laRV9GT1JNQVQgaW5zdGVhZCBvZiB1LgoKMjAwOS0wNC0xNiAyMjo1MDo1OSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSAgcHVsc2VzaW5rOiBmaXggc2FtcGxlIG9mZnNldCBjYWxjdWxhdGlvbiBhZ2FpbgoKMjAwOS0wNC0xNSAxOTozMjoxOCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvc3VuYXVkaW8vZ3N0c3VuYXVkaW9taXhlcmN0cmwuYzoKCSAgc3VuYXVkaW86IGZpeCBicm9rZW4gaW5kZW50YXRpb24gb2YgdmFyaWFibGUgZGVjbGFyYXRpb25zCgoyMDA5LTA0LTE1IDE5OjI4OjUzICswMTAwICBKYW1lcyBBbmRyZXdhcnRoYSA8dHJzODBAdWNjLmd1LnV3YS5lZHUuYXU+CgoJKiBzeXMvc3VuYXVkaW8vZ3N0c3VuYXVkaW9taXhlcmN0cmwuYzoKCSogc3lzL3N1bmF1ZGlvL2dzdHN1bmF1ZGlvc2luay5jOgoJICBzdW5hdWRpbzogcmVtb3ZlIHNvbWUgdW51c2VkIHZhcmlhYmxlcyBhbmQgZ290byBsYWJlbHMKCSAgRml4ZXMgIzU3OTA3MC4KCjIwMDktMDQtMTUgMTk6MjQ6NDkgKzAyMDAgIEphbWVzIEFuZHJld2FydGhhIDx0cnM4MCBhdCB1Y2MuZ3UudXdhLmVkdS5hdT4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2M3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNwYXkuaDoKCSAgcnRwaDI2M3BheTogZml4IGNvbXBpbGF0aW9uIG9uIGJpZy1lbmRpYW4KCSAgU29tZSBzZW1pY29sb25zIHdlcmUgbWlzc2luZyBmcm9tIHRoZSBiaWctZW5kaWFuIHN0cnVjdHMgaW4gZ3N0cnRwaDI2M3BheS5oLgoJICBBIEdTVF9ERUJVRyBjYWxsIHdhcyBtaXNzaW5nIGEgZm9ybWF0IHNwZWNpZmllci4KCSAgRml4ZXMgIzU3OTA2OQoKMjAwOS0wNC0xNSAyMDoxMDowNCArMDMwMCAgTWFyY28gQmFsbGVzaW8gPG1hcmNvLmJhbGxlc2lvQG5va2lhLmNvbT4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5oOgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4X2ZvdXJjYy5oOgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4X3R5cGVzLmM6CgkqIGdzdC9xdGRlbXV4L3F1aWNrdGltZS5jOgoJICBxdGRlbXV4OiBpbXBsZW1lbnQgM0dQUCAoVFMgMjYuMjQ0IFY4LjAuMCkgQXNzZXQgbWV0YWRhdGEgaGFuZGxpbmcsIEZpeGVzICMxMzIxOTMKCSAgSW1wbGVtZW50cyAzZ3BwIGlzbyBtZXRhZGF0YSB0YWdzIHdoaWNoIGFyZSBkaWZmZXJlbnQgZnJvbSBtb3YgdWR0YSBhdG9tcy4KCjIwMDktMDQtMTUgMTU6NTE6MjQgKzAyMDAgIFBldGVyIEtqZWxsZXJzdGVkdCA8cGtqQGF4aXMuY29tPgoKCSogZ3N0L2RlYnVndXRpbHMvZWZlbmNlLmg6CgkgIGRlYnVndXRpbHM6IFVzZSBHX0JFR0lOX0RFQ0xTL0dfRU5EX0RFQ0xTLgoJICBVc2UgR19CRUdJTl9ERUNMUy9HX0VORF9ERUNMUyB0byBhdm9pZCBnc3QtaW5kZW50IG1lc3NpbmcgdXAgdGhlCgkgIGluZGVudGF0aW9uIGR1ZSB0byBleHRlcm4gIkMiIHsgfS4KCjIwMDktMDQtMTUgMTY6MDM6MjcgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJKiBnc3QvZGVidWcvTWFrZWZpbGUuYW06CgkqIGdzdC9kZWJ1Zy9icmVha215ZGF0YS5jOgoJKiBnc3QvZGVidWcvZGVidWcudmNwcm9qOgoJKiBnc3QvZGVidWcvZWZlbmNlLmM6CgkqIGdzdC9kZWJ1Zy9lZmVuY2UuaDoKCSogZ3N0L2RlYnVnL2VmZW5jZS52Y3Byb2o6CgkqIGdzdC9kZWJ1Zy9nc3RkZWJ1Zy5jOgoJKiBnc3QvZGVidWcvZ3N0bmF2aWdhdGlvbnRlc3QuYzoKCSogZ3N0L2RlYnVnL2dzdG5hdmlnYXRpb250ZXN0Lmg6CgkqIGdzdC9kZWJ1Zy9nc3RuYXZzZWVrLmM6CgkqIGdzdC9kZWJ1Zy9nc3RuYXZzZWVrLmg6CgkqIGdzdC9kZWJ1Zy9nc3RwdXNoZmlsZXNyYy5jOgoJKiBnc3QvZGVidWcvZ3N0cHVzaGZpbGVzcmMuaDoKCSogZ3N0L2RlYnVnL2dzdHRhZ2luamVjdC5jOgoJKiBnc3QvZGVidWcvZ3N0dGFnaW5qZWN0Lmg6CgkqIGdzdC9kZWJ1Zy9uYXZpZ2F0aW9udGVzdC52Y3Byb2o6CgkqIGdzdC9kZWJ1Zy9uZWdvdGlhdGlvbi5jOgoJKiBnc3QvZGVidWcvcHJvZ3Jlc3NyZXBvcnQuYzoKCSogZ3N0L2RlYnVnL3Byb2dyZXNzcmVwb3J0Lmg6CgkqIGdzdC9kZWJ1Zy9ybmRidWZmZXJzaXplLmM6CgkqIGdzdC9kZWJ1Zy90ZXN0cGx1Z2luLmM6CgkqIGdzdC9kZWJ1Zy90ZXN0cy5jOgoJKiBnc3QvZGVidWcvdGVzdHMuaDoKCSogZ3N0L2RlYnVndXRpbHMvTWFrZWZpbGUuYW06CgkqIGdzdC9kZWJ1Z3V0aWxzL2JyZWFrbXlkYXRhLmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL2RlYnVnLnZjcHJvajoKCSogZ3N0L2RlYnVndXRpbHMvZWZlbmNlLmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL2VmZW5jZS5oOgoJKiBnc3QvZGVidWd1dGlscy9lZmVuY2UudmNwcm9qOgoJKiBnc3QvZGVidWd1dGlscy9nc3RkZWJ1Zy5jOgoJKiBnc3QvZGVidWd1dGlscy9nc3RuYXZpZ2F0aW9udGVzdC5jOgoJKiBnc3QvZGVidWd1dGlscy9nc3RuYXZpZ2F0aW9udGVzdC5oOgoJKiBnc3QvZGVidWd1dGlscy9nc3RuYXZzZWVrLmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdG5hdnNlZWsuaDoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0cHVzaGZpbGVzcmMuYzoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0cHVzaGZpbGVzcmMuaDoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0dGFnaW5qZWN0LmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdHRhZ2luamVjdC5oOgoJKiBnc3QvZGVidWd1dGlscy9uYXZpZ2F0aW9udGVzdC52Y3Byb2o6CgkqIGdzdC9kZWJ1Z3V0aWxzL25lZ290aWF0aW9uLmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL3Byb2dyZXNzcmVwb3J0LmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL3Byb2dyZXNzcmVwb3J0Lmg6CgkqIGdzdC9kZWJ1Z3V0aWxzL3JuZGJ1ZmZlcnNpemUuYzoKCSogZ3N0L2RlYnVndXRpbHMvdGVzdHBsdWdpbi5jOgoJKiBnc3QvZGVidWd1dGlscy90ZXN0cy5jOgoJKiBnc3QvZGVidWd1dGlscy90ZXN0cy5oOgoJICBkZWJ1ZzogcmVuYW1lIGRlYnVnIHRvIGRlYnVndXRpbHMgdG8gYXZvaWQgY2xhc2ggd2l0aCAtLWRpc2FibGUtZGVidWcuIEZpeGVzICM1NjIxNjgKCjIwMDktMDQtMTUgMTU6NDM6MDQgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9kZWJ1Zy9lZmVuY2UuYzoKCSogZ3N0L2RlYnVnL2VmZW5jZS5oOgoJKiBnc3QvZGVidWcvZ3N0bmF2aWdhdGlvbnRlc3QuaDoKCSogZ3N0L2RlYnVnL2dzdG5hdnNlZWsuaDoKCSogZ3N0L2RlYnVnL2dzdHB1c2hmaWxlc3JjLmg6CgkqIGdzdC9kZWJ1Zy9nc3R0YWdpbmplY3QuaDoKCSogZ3N0L2RlYnVnL3Byb2dyZXNzcmVwb3J0Lmg6CgkqIGdzdC9kZWJ1Zy90ZXN0cy5oOgoJICBkZWJ1ZzogaW5kZW50IGJlZm9yZSByZW5hbWluZwoKMjAwOS0wNC0xNSAxNDowNzo1NyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwZzcyNmRlcGF5LmM6CgkgIGc3MjZkZXBheTogYWRkIHByb3BlcnR5IGZvciBhYWwyIGZvcmNlCgoyMDA5LTA0LTE1IDEzOjU2OjE3ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBnNzI2ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnNzI2ZGVwYXkuaDoKCSAgZzcyNmRlcGF5OiBpbXBsZW1lbnQgUkZDMzU1MSBwYWNraW5nCgkgIFdlIGltcGxlbWVudGVkIHRoZSBBQUwyIHBhY2tpbmcsIGFkZCB0aGUgZW5jb2RpbmctbmFtZSBmb3IgdGhvc2UgdG8gdGhlIGNhcHMgYW5kCgkgIGEgcHJvcGVydHkgdG8gZm9yY2UgQUFMMiBkZWNvZGluZyAoYWx3YXlzIFRSVUUgZm9yIG5vdykuCgkgIEltcGxlbWVudCBSRkMzNTUxIHVucGFja2luZyBmb3IgcmVndWxhciBHNzI2LgoJICBTZWUgIzU2NzE0MC4KCjIwMDktMDQtMTUgMDA6MjI6NDMgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNwYXkuaDoKCSAgcnRwaDI2M3BheTogZml4IGJ1aWxkCgoyMDA5LTA0LTE0IDE4OjUyOjQ4ICswMjAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWkgYXQgY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBoMjYzcGF5LmM6CgkgIGgyNjNwYXk6IHZhcmlvdXMgZml4ZXMKCSAgUmUtZW5hYmxlIG1vZGUgQSBzdXBwb3J0IGFuZCBhIHByb3BlcnR5IHRvIGNvbnRyb2wgaXQuCgkgIEZpeCBtZW1vcnkgbGVhayBvZiBHc3RSdHBIMjYzUGF5Qm91bmRyeSBvYmplY3RzLgoJICBGaXggbWFya2VyLgoJICBGaXhlcyAjNTA5MzExCgoyMDA5LTA0LTE0IDE4OjQ0OjUxICswMjAwICBKYW5pbiBLb2xlbmMgPGphbmluLmtvbGVuYyBhdCBtYXJhbmQuc2k+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjYzcGF5Lmg6CgkgIGgyNjNwYXk6IEZpeCB0aGUgcGF5bG9hZGVyCgkgIEZpeCB0aGUgSDI2MyBwYXlsb2FkZXIgdG8gYmUgbW9yZSBSRkMgMjE5MCBjb21wbGlhbnQuCgkgIFNlZSAjNTA5MzExCgoyMDA5LTA0LTE0IDE3OjI3OjA1ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICBhdmlkZW11eDogZG9uJ3QgcHVzaCBFT1MgaW4gc3RyZWFtaW5nIG1vZGUKCSAgSW4gc3RyZWFtaW5nIG1vZGUsIGF2aWRlbXV4IGlzIG5vdCBzdXBwb3NlZCB0byBzZW5kIGFuIEVPUyBldmVudCBkb3duc3RyZWFtIGJ1dAoJICBpdCBpcyBzdXBwb3NlZCB0byByZXR1cm4gVU5FWFBFQ1RFRCBmcm9tIHRoZSBjaGFpbiBmdW5jdGlvbiBpbnN0ZWFkIHNvIHRoYXQKCSAgdXBzdHJlYW0gY2FuIGRvIHRoZSByaWdodCBFT1MgaGFuZGxpbmcuCgoyMDA5LTA0LTEzIDE0OjAzOjAzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtaWRzLmg6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSAgQWRkIGluaXRpYWwgc3VwcG9ydCBmb3IgbXV4aW5nL2RlbXV4aW5nIFNwZWV4IGF1ZGlvCgkgIE5vdGU6IFRoaXMgaXMgbm90IGluIHRoZSBNYXRyb3NrYSBzcGVjIHlldAoJICBGaXhlcyBidWcgIzU3ODMxMC4KCjIwMDktMDQtMTAgMjE6MzE6MDYgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkgIHB1bHNlc2luazogaGFuZGxlIE5VTEwgdGltaW5nIGluZm8KCSAgRG9uJ3QgY3Jhc2ggd2hlbiB0aGUgdGltaW5nIGluZm8gaXMgbm90IHlldCBhdmFpbGFibGUuCgoyMDA5LTA0LTEwIDIxOjQyOjEzICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuaDoKCSAgcHVsc2U6IG1ha2UgaXQgd29yayBvbiAwLjkuMTIKCSAgRmlyc3Qgd2UgaWdub3JlIHJlcXVlc3QgdG8gZmlsbCB0aGUgcmluZ2J1ZmZlciB3aGljaCBhcmUgbGVzcyB0aGVuIGEgc2VnbWVudC4KCSAgVGhlIHNtYWxsIHJlcXVlc3Qgd2hlcmUgY2F1c2luZyBzdHV0dGVyLgoJICBUaGVuIHdlIGRpc2FibGUgZmx1c2hpbmcgdGhlIHN0cmVhbSB3aGVuIHJ1bm5pbmcgYWdhaW5zdCBwYSAwLjkuMTIgYXMgdGhpcwoJICB0cmlnZ2VycyBhbiBhc3NlcnRpb25nIGluIHRoZSBzb3VuZCBzZXJ2ZXIgYW5kIHRlcm1pbmF0ZXMgaXQuIEl0IGRvZXMgbm90IGhhcHBlbgoJICB3aXRoIDAuOS4xMCBhbmQgMC45LjE0LgoKMjAwOS0wNC0xMCAxNDoxODo0OCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSAgcHVsc2VzaW5rOiBoYW5kbGUgc2VydmVyIGRpc2Nvbm5lY3QgaW4gZ2V0X3RpbWUKCSAgV2hlbiB0aGUgc2VydmVyIGlzIGRpc2Nvbm5lY3RlZCBvciB3aGVuIHdlIGFyZSBzaHV0IGRvd24sIG1ha2Ugb3VyIGNsb2NrIHJldHVybgoJICBhbiBpbnZhbGlkIHRpbWUgaW5zdGVhZCBvZiBlcnJvcmluZyBvdXQuCgoyMDA5LTA0LTEwIDEyOjAxOjI3ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJICBwdWxzZXNpbms6IGJwcyBpcyBzaWduZWQgaW50IHRvIGF2b2lkIG92ZXJmbG93CgkgIEtlZXAgYnBzIGFzIGdpbnQgaW5zdGVhZCBvZiBndWludCBiZWNhdXNlIHdlIHdpbGwgYmUgZG9pbmcgc2lnbmVkIG1hdGggd2l0aCBpdAoJICBsYXRlciBvbiBhbmQgd2UgZG9uJ3Qgd2FudCB3ZWlyZCByZXN1bHRzLgoKMjAwOS0wNC0xMCAwMDoyNjo0NCArMDIwMCAgTFJOIDxscm4xOTg2IGF0IGdtYWlsLmNvbT4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgYXZpZGVtdXg6IGFkZCBjb252ZXJ0IHF1ZXJ5LCBmaXggZHVyYXRpb24gcXVlcnkKCSAgRml4IHRoZSBkdXJhdGlvbiBxdWVyeSBzbyB0aGF0IGl0IGFsc28gd29ya3Mgd2l0aCBmb3JtYXRzIG90aGVyIHRoYW4KCSAgVElNRSwgc3VjaCBhcyBERUZBVUxUIHRvIGdldCB0aGUgbnVtYmVyIG9mIGZyYW1lcy4KCSAgQWRkIGEgY29udmVydCBmdW5jdGlvbi4KCSAgRml4ZXMgIzU3ODA1Mi4KCjIwMDktMDQtMDkgMjM6NDM6NTggKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkgIHB1bHNlc2luazogY2hlY2sgZm9yIGEgc3RyZWFtCgkgIERvbid0IHRyeSB0byBjaGFuZ2UgdGhlIHN0cmVhbSB2b2x1bWUgKGFuZCBvdGhlciB0aGluZ3MpIHdoZW4gd2UgZG9uJ3QgaGF2ZSBhCgkgIHN0cmVhbSB5ZXQuIEp1c3Qgc3RvcmUgdGhlIHZhbHVlcyBmb3IgbGF0ZXIuCgoyMDA5LTA0LTA5IDE4OjA3OjM4ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJICBwdWxzZXNpbms6IGZpeCBjb21waWxhdGlvbiBmb3IgbmV3ZXIgcHVsc2VhdWRpbwoKMjAwOS0wNC0wOSAxNzoxODo1NCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSAgcHVsc2VzaW5rOiB1bmNvcmsgZml4ZXMgYW5kIHVzZSBwcmVidWYgPSAwCgkgIFdlIGNhbiB1c2UgcHJlYnVmID0gMCB0byBpbnN0cnVjdCBwdWxzZSB0byBub3QgcGF1c2UgdGhlIHN0cmVhbSBvbiB1bmRlcmZsb3dzLgoJICBUaGlzIHdheSB3ZSBjYW4gcmVtb3ZlIHRoZSB1bmRlcmZsb3cgY2FsbGJhY2suIFdlIGhvd2V2ZXIgaGF2ZSB0byBtYW51YWxseQoJICB1bmNvcmsgdGhlIHN0cmVhbSBub3cgd2hlbiB3ZSBoYXZlIG5vIGF2YWlsYWJsZSBzcGFjZSBpbiB0aGUgYnVmZmVyIG9yIHdoZW4gd2UKCSAgYXJlIHdyaXRpbmcgdG9vIGZhciBhd2F5IGZyb20gdGhlIGN1cnJlbnQgcmVhZF9pbmRleC4KCjIwMDktMDQtMDkgMTQ6Mzg6MTcgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkgIHB1bHNlc2luazogaGFuZGxlIHdyaXRlIGVycm9ycwoKMjAwOS0wNC0wOSAxNDoxNjozNSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSAgcHVsc2VzaW5rOiB3cml0ZSBzaWxlbmNlIG9uIHVuZGVyZmxvdwoJICBTdGFydCBmaWxsaW5nIHVwIHRoZSBidWZmZXIgd2l0aCBlbXB0eSBzYW1wbGVzIHdoZW4gYW4gdW5kZXJmbG93IGhhcHBlbnMuIFdlCgkgIG5lZWQgdG8gZG8gdGhpcyB0byBrZWVwIHB1bHNlYXVkaW8gcmVwb3J0aW5nIHRoZSByaWdodCB0aW1lIGZvciB1cy4KCjIwMDktMDQtMDkgMTM6MTQ6MTQgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkgIHB1bHNlc2luazogaGFuZGxlIHB1bGwtYmFzZWQgc2NoZWR1bGluZwoJICBVc2UgdGhlIGRlZmF1bHQgYmFzZXNpbmsgbWV0aG9kcyBmb3IgaW1wbGVtZW50aW5nIHB1bGwgYmFzZWQgc2NoZWR1bGluZywgaXQKCSAgd29ya3MgZmluZSBmb3IgdXMuCgoyMDA5LTA0LTA5IDEyOjEzOjQ0ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJICBwdWxzZXNpbms6IGFkZCBiZWdpbm5pbmdzIG9mIHB1bGwtYmFzZWQgc2NoZWR1bGluZwoKMjAwOS0wNC0wOCAxODoxNzoxMCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSAgcHVsc2VzaW5rOiBrZWVwIHRyYWNrIG9mIGNsb2NrIHJlc2V0CgkgIHdoZW4gd2Ugc3dpdGNoIHN0cmVhbXMsIHRoZSBjbG9jayB3aWxsIHJlc2V0IHRvIDAuIE1ha2Ugc3VyZSB0aGF0IHRoZSBwcm92aWRlZAoJICBjbG9jayBkb2Vzbid0IGdldCBzdHVjayB3aGVuIHRoaXMgaGFwcGVucyBieSBrZWVwaW5nIGFuIGluaXRpYWwgb2Zmc2V0LiBXZSBhbHNvCgkgIG5lZWQgdG8gbWFrZSBzdXJlIHRoYXQgd2Ugc3VidHJhY3QgdGhpcyBvZmZzZXQgaW4gc2FtcGxlcyB3aGVuIHdyaXRpbmcgdG8gdGhlCgkgIHJpbmdidWZmZXIuCgoyMDA5LTA0LTA4IDEzOjUyOjQxICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmg6CgkgIHB1bHNlc2luazogcmV3cml0ZSBwdWxzZXNpbmsKCSAgRGVyaXZlIGZyb20gQmFzZUF1ZGlvU2luayBhbmQgaW1wbGVtZW50IG91ciBjdXN0b20gcmluZ2J1ZmZlciB0aGF0IG1hcHMgdG8gdGhlCgkgIGludGVybmFsIHB1bHNlYXVkaW8gcmluZ2J1ZmZlci4KCjIwMDktMDQtMDggMTM6NTI6MDAgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcHVsc2UvcHVsc2V1dGlsLmM6CgkgIHB1bHNlOiByZW1vdmUgc29tZSBzdHJheSBkZWJ1ZyBsaW5lcwoKMjAwOS0wNC0wOSAxMTozMDo1OSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvanBlZy9nc3RqcGVnZGVjLmM6CgkqIGV4dC9qcGVnL2dzdGpwZWdkZWMuaDoKCSAganBlZ2RlYzogdXNlIHNsaWdodGx5IG1vcmUgYWRhcHRpdmUgZm9ybXVsYSBmb3IgUW9TCgkgIFNob3VsZCB3b3JrIGF0IGxlYXN0IGEgdGFkIGJldHRlciBpZiB0aGUgZGVjb2RlciBjYW4ndCBrZWVwIHVwLCBhbmQKCSAgc2hvdWxkIGFsc28gc3ByZWFkIGRyb3BwZWQgZnJhbWVzIGEgYml0IG1vcmUgZXZlbmx5IG92ZXIgdGltZS4KCjIwMDktMDQtMDcgMjI6MzU6MzEgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOgoJICB3YXZwYXJzZTogZG9uJ3QgbGVhayBwYWQtdGVtcGxhdGUKCSAgZ3N0X2VsZW1lbnRfY2xhc3NfYWRkX3BhZF90ZW1wbGF0ZSgpIGRvZXMgbm90IHRha2Ugb3duZXJzaGlwLgoKMjAwOS0wNC0wNCAyMToxODo1NSArMDMwMCAgRmVsaXBlIENvbnRyZXJhcyA8ZmVsaXBlLmNvbnRyZXJhc0BnbWFpbC5jb20+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIGQwZWE4OWUgdG8gYjM5NDFlYQoKMjAwOS0wNC0wMSAwMToxNTozMSArMDIwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzIChhdCkgYXBlc3RhYXJ0IChkb3QpIG9yZz4KCgkqIGV4dC9mbGFjL2dzdGZsYWNkZWMuYzoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5oOgoJICBhZGQgcGVuZGluZ19zYW1wbGVzIHNvIHRoYXQgd2Ugb25seSB1cGRhdGUgc2VnbWVudCdzIGxhc3Qgc3RvcCBhZnRlciByZWFsbHkgc2VuZGluZyB0aGUgc2FtcGxlcwoKMjAwOS0wMy0xNSAyMTozMTo0OSArMDEwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzIChhdCkgYXBlc3RhYXJ0IChkb3QpIG9yZz4KCgkqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy9mbGFjZGVjLmM6CgkgIGFkZCBkZWJ1ZyBhbmQgYW4gYXNzZXJ0CgoyMDA5LTAzLTE1IDIxOjMwOjMyICswMTAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXMgKGF0KSBhcGVzdGFhcnQgKGRvdCkgb3JnPgoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5jOgoJICBhZGQgZGVidWdnaW5nCgoyMDA5LTAzLTAzIDEwOjE0OjAyICswMTAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXMgKGF0KSBhcGVzdGFhcnQgKGRvdCkgb3JnPgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2F1ZGlvdGVzdHNyYy5mbGFjOgoJKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvZmxhY2RlYy5jOgoJICBhZGQgYSB0ZXN0IHRvIGNoZWNrIHRoYXQgd2UgZ2V0IGFsbCBkZWNvZGVkIGJ5dGVzIGZyb20gYSAxMC1idWZmZXIgYXVkaW90ZXN0c3JjIGZsYWMsIGluIHRoZSBjYXNlIG9mOiAgLSBhIGZ1bGwgZGVjb2RlICAtIGEgZGVjb2RlIG9mIGEgc2VlayBmb3IgdGhlIGZ1bGwgZmlsZSAgLSBhIGRlY29kZSBvZiBhIHNlZWsgZm9yIGEgc21hbGwgcGFydCwgc21hbGxlciB0aGFuIHRoZSBmaXJzdCBidWZmZXIKCSAgVGhlIHRlc3QgZmFpbHMgYmVjYXVzZSBmbGFjZGVjIGRyb3BzIHRoZSBmaXJzdCBvdXRnb2luZyBidWZmZXIgb24gYSBzZWVrCgoyMDA5LTAzLTAzIDEwOjA2OjUyICswMTAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXMgKGF0KSBhcGVzdGFhcnQgKGRvdCkgb3JnPgoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5jOgoJICBjbGlwcGluZyBzaG91bGQgYWxzbyB3b3JrIGlmIGl0J3MgZG9uZSBvbiB0aGUgZmlyc3QgYnVmZmVyIHN0YXJ0aW5nIGF0IDAKCjIwMDktMDQtMDQgMTQ6NTQ6MDEgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIGY4YjNkOTEgdG8gZDBlYTg5ZQoKMjAwOS0wNC0wMyAwOTo1NzoxNSArMDEwMCAgWmFoZWVyIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkqIGdzdC9xdGRlbXV4L0xFR0FMOgoJICBGaXggZ3JhbW1hci4KCjIwMDktMDQtMDIgMjI6NDE6MDEgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IGFsbG93IGh0dHA6Ly8gb24gdGhlIHByb3h5IHNldHRpbmcKCSAgQWxsb3cgYW5kIGlnbm9yZSBodHRwOi8vIGF0IHRoZSBzdGFydCBvZiB0aGUgcHJveHkgc2V0dGluZywgbGlrZQoJICBzb3VwaHR0cHNyYy4KCSAgRml4ZXMgIzU3MzE3MwoKMjAwOS0wNC0wMiAyMTowODo0OCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogZG9uJ3QgbGVhayB0aGUgdWRwc3JjIHBhZAoJICBGaXggbWVtb3J5IGxlYWsgaW4gcnRzcHNyYyBiZWNhdXNlIHdlIGRpZG4ndCB1bnJlZiB0aGUgdWRwc3JjIHBhZC4KCSAgU2VlICM1NzczMTgKCjIwMDktMDQtMDEgMTc6MzE6MTggLTA3MDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEBzb25nYmlyZG5lc3QuY29tPgoKCSogZ3N0L3J0cC9nc3RydHB0aGVvcmFwYXkuYzoKCSAgcnRwdGhlb3JhcGF5OiBmaXggbGVuZ3RoIGVuY29kaW5nIGluIHBhY2tlZCBoZWFkZXJzLgoJICBBcyBmb3Igdm9yYmlzIHBheWxvYWRlcjsgdGhpcyBieSBpbnNwZWN0aW9uIGhhZCB0aGUgc2FtZSBidWcuCgoyMDA5LTA0LTAxIDE3OjIzOjMzIC0wNzAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAc29uZ2JpcmRuZXN0LmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwdm9yYmlzcGF5LmM6CgkgIHJ0cHZvcmJpc3BheTogaW4gcGFja2VkIGhlYWRlcnMsIHByb3Blcmx5IGZsYWcgbXVsdGlieXRlIGxlbmd0aHMuCgkgIEluIHRoZSBzZXF1ZW5jZSBvZiBoZWFkZXIgbGVuZ3RocywgZm9yIGhlYWRlcnMgPjEyNyBieXRlcywgd2UgdXNlCgkgIG11bHRpcGxlIGJ5dGVzIHRvIGVuY29kZSB0aGUgbGVuZ3RoLiBCeXRlcyBvdGhlciB0aGFuIHRoZSBsYXN0IG11c3QgaGF2ZQoJICB0aGUgdG9wIChmbGFnKSBiaXQgc2V0LgoKMjAwOS0wNC0wMiAwMDoyMDowMiArMDEwMCAgSm9uYXRoYW4gTWF0dGhldyA8am9uYXRoYW5AZDE0bi5vcmc+CgoJKiBleHQvdGFnbGliL2dzdGlkM3YybXV4LmNjOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9pZDN2Mm11eC5jOgoJICBpZDN2Mm11eDogd3JpdGUgUlZBMiBmcmFtZXMgY29udGFpbmluZyBwZWFrL2dhaW4gdm9sdW1lIGRhdGEKCjIwMDktMDQtMDIgMDA6MDU6MTQgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2pwZWcvZ3N0anBlZ2RlYy5jOgoJKiBleHQvanBlZy9nc3RqcGVnZGVjLmg6CgkgIGpwZWdkZWM6IGRlbW90ZSBzb21lIGxvZyBtZXNzYWdlIGZyb20gREVCVUcgdG8gTE9HCgkgIEFuZCBsb2cgZGVjb2RlciBvYmplY3QuCgoyMDA5LTA0LTAxIDIxOjE1OjAyICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9qcGVnL2dzdGpwZWdkZWMuYzoKCSogZXh0L2pwZWcvZ3N0anBlZ2RlYy5oOgoJICBqcGVnZGVjOiBpbXBsZW1lbnQgYmFzaWMgUW9TCgkgIERvbid0IGRlY29kZSBmcmFtZXMgdGhhdCBhcmUgZ29pbmcgdG8gYmUgdG9vIGxhdGUgYW55d2F5LgoKMjAwOS0wNC0wMSAxMjoyNjoxMiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IGRvbid0IGVtaXQgdWdseSB3YXJuaW5ncyB3aXRoIG9sZGVyIHJ0cGppdHRlcmJ1ZmZlciB2ZXJzaW9ucwoJICBUaGUgb24tbnB0LXN0b3Agc2lnbmFscyB3YXMgYWRkZWQgb25seSByZWNlbnRseSB0byBydHBqaXR0ZXJidWZmZXIgaW4KCSAgLWJhZCwgc28gY2hlY2sgaWYgdGhlIHNpZ25hbCBleGlzdHMgYmVmb3JlIGdfc2lnbmFsX2Nvbm5lY3QoKWluZyB0bwoJICBpdCwgdG8gYXZvaWQgd2FybmluZ3MuCgoyMDA5LTAzLTMxIDE5OjA4OjM3ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmg6CgkgIHJ0c3BzcmM6IGFkZCBwcm94eSBzdXBwb3J0CgoyMDA5LTAzLTMxIDE3OjE2OjA0ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkgIG1hdHJvc2thOiBkb24ndCBsZWFrIHNlcmlhbGl6ZWQgdmFsdWVzIHdoZW4gd3JpdGluZyB0YWdzCgoyMDA5LTAzLTMxIDE3OjA2OjUwICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2E6IGRvbid0IGFsdGVyIHBhc3NlZCBkYXRhIGFuZCBlc3BlY2lhbHkgZG9uJ3QgbGVhay4KCSAgSWYgd2UgbmVlZCBkaWZmZXJlbnQgc2l6ZSwgTWFrZSBhIGNvcHksIHdvcmsgd2l0aCB0aGF0IGFuZCBmcmVlIGl0LgoKMjAwOS0wMy0zMSAxNjo0MjoxNSArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2dvb20vcGx1Z2luX2luZm8uYzoKCSAgZ29vbTogdGhlIHN0cnVjdHVyZSBpcyBub3QgZnVsbHkgaW5pdGlhbGl6ZWQsIGJ1dCB0aGUgY29waWVkLgoJICBTZXQgdG8gZnVsbHkgdG8gMCB0byBhdm9pZCBjcmVlcCBvZiB1bmluaXRpYWxpemVkIHZhbHVlcy4KCjIwMDktMDMtMzEgMTY6MjU6NTggKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSAgbWF0cm9za2E6IGluaXQgZW5kaWFuZXNzIGFzIHN1Y2ggYW5kIHNpZ25lZG5lc3MgYXMgYm9vbGVhbi4KCjIwMDktMDMtMzEgMTY6MjI6NDIgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogZG9uJ3QgdXNlIGluaW5pdGlhbGl6ZWQgdmFyIGluIGRlYnVnIGxvZyBzdGF0ZW1lbnQKCSAgQWxzbyBtYWtlIHRoZSBsb2cgc3RhdGVtZW50IHVzZWZ1bCBieSBwcmludGluZyB0aGUgaHVtYW4gcmVhZGFibGUgZm9ybWF0IG5hbWUuCgoyMDA5LTAzLTMxIDEyOjAxOjIxICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IGRvbid0IGxlYWsgYXRvbSBkYXRhIGluIGNhc2Ugb2YgYSB3cm9uZyBmb3VyY2MKCjIwMDktMDMtMzEgMTE6NTc6MzYgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYTogZG9uJ3QgbGVhayByZWFkIGRhdGEgaW4gZGVtdXhlcgoKMjAwOS0wMy0zMSAxMTo1MDo0MSArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L3VkcC9nc3R1ZHBzaW5rLmM6CgkqIGdzdC91ZHAvZ3N0dWRwc3JjLmM6CgkgIHVkcDogZG9uJ3QgdXNlIHByb3RvY29sIGluIGRlYnVnIG1lc3NhZ2UgYWZ0ZXIgZnJlZWluZwoKMjAwOS0wMy0zMCAxNDoxMDoxNSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cG1wNGFkZXBheS5jOgoJICBydHBtcDRhZGVwYXk6IG91dHB1dCBzaG91bGQgYmUgZnJhbWVkIGFscmVhZHkKCjIwMDktMDMtMjcgMjE6MTc6MDUgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5jOgoJKiBleHQvZmxhYy9nc3RmbGFjZGVjLmg6CgkqIGV4dC9mbGFjL2dzdGZsYWNlbmMuYzoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2VuYy5oOgoJICBmbGFjOiByZXF1aXJlIGEgJ25ld2VyJyBmbGFjIGFuZCByZW1vdmUgc3VwcG9ydCBmb3IgdGhlIGxlZ2FjeSBmbGFjIEFQSQoKMjAwOS0wMy0yNyAxNzo0ODoxMyArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogbGluayB0byB0aGUgb25fbnB0X3N0b3Agc2lnbmFsIHRvIEVPUwoJICBDb25uZWN0IHRvIHRoZSBvbl9ucHRfc3RvcCBzaWduYWwgb2YgdGhlIHNlc3Npb24gbWFuYWdlciB0byBzY2hlZHVsZSB0aGUgRU9TCgkgIGFjdGlvbnMuCgoyMDA5LTAzLTI2IDE0OjM5OjA2ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcXRkZW11eDogc29tZSBzdHJlYW0gc3luY2hyb25pemF0aW9uIHRvIGFpZCBzZWVraW5nIGluIHVuYmFsYW5jZWQgY2xpcHMKCSAgU29tZSBjbGlwcyAodHJhaWxlcnMpIG1heSBoYXZlIChsZW5ndGgtd2lzZSkgdW5iYWxhbmNlZCBzdHJlYW1zLAoJICB3aGljaCBzdGFsbHMgdGhlIHBpcGVsaW5lIGlmIHNlZWtpbmcgaW50byB0aGF0IHJlZ2lvbi4KCSAgQWRkaXRpb25hbCBzdHJlYW0gc3luY2hyb25pemF0aW9uIGNhbiBoYW5kbGUgdGhpcywgYXMgd2VsbCBhcwoJICBzcGFyc2UgKHN1YnRpdGxlKSBzdHJlYW1zIChhdCBzb21lIGxhdGVyIHRpbWUgPykKCjIwMDktMDMtMjYgMTA6MzE6MTggKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBhZGRpdGlvbmFsIHNhZmV0eSBhbmQgc2FuaXR5IGNoZWNrcyAocHVzaCBiYXNlZCBtb2RlKQoKMjAwOS0wMy0yNiAxMDoxODozMSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIuYzoKCSAgdmlkZW9taXhlcjogc29tZSBtb3JlIGluZGVudCBmaXhlcwoKMjAwOS0wMy0yNCAxNjowMDo1OCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIuYzoKCSAgdmlkZW9taXhlcjogZml4IGdzdC1pbmRlbnQgc2NyZXd1cAoKMjAwOS0wMy0yNSAxNzo1NDozNSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHNwLmM6CgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSogcG8vUE9URklMRVMuaW46CgkgIHJ0c3BzcmM6IGJldHRlciBlcnJvciBtZXNzYWdlIHdoZW4gdGhlIFJUU1AgZXh0ZW5zaW9uIGZvciBSZWFsIHN0cmVhbXMgaXMgbWlzc2luZwoJICBUcnkgdG8gcG9zdCBhIGRlY2VudCBlcnJvciBtZXNzYWdlIHdoZW4gaXQgbG9va3MgbGlrZSB3ZSdyZSBmYWlsaW5nCgkgIGJlY2F1c2UgdGhlIFJlYWwgUlRTUCBleHRlbnNpb24gcGx1Z2luIGlzIG1pc3NpbmcuIEFsc28gYWRkIGkxOG4KCSAgYml0cyBmb3IgcnRzcHNyYyBzbyBvdXIgZXJyb3IgbWVzc2FnZXMgZ2V0IHRyYW5zbGF0ZWQuCgoyMDA5LTAzLTI1IDE1OjQyOjE1ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdmkvZ3N0YXZpLmM6CgkqIGdzdC9xdGRlbXV4L3F1aWNrdGltZS5jOgoJICBpMThuOiBtYWtlIHN1cmUgZ2V0dGV4dCBnaXZlcyB1cyBVVEYtOCBhdCBhbGwgdGltZXMKCjIwMDktMDMtMjUgMDE6Mjg6MzggKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBtcDRhZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDRhcGF5LmM6CgkgIHJ0cG1wNGFwYXkscnRwbXA0ZGVwYXk6IGZpeCBidWZmZXIgbGVha3MgaW4gQUFDIHBheWxvYWRlciBhbmQgZGVwYXlsb2FkZXIKCjIwMDktMDMtMjUgMDE6MjI6MTcgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBtcDRhcGF5LmM6CgkgIHJ0cG1wNGFwYXk6IHdhcm4gaWYgaW5wdXQgaXMgdW5mcmFtZWQKCjIwMDktMDMtMjIgMjE6MjA6NTcgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2pwZWcvZ3N0anBlZ2RlYy5jOgoJKiBleHQvanBlZy9nc3RqcGVnZGVjLmg6CgkgIGpwZWdkZWM6IHB1dCBHc3RTZWdtZW50IGluc2lkZSB0aGUgZWxlbWVudCBzdHJ1Y3QgaW5zdGVhZCBvZiBhbGxvY2F0aW5nIGl0IHNlcGFyYXRlbHkKCjIwMDktMDMtMjUgMTA6MDg6NDEgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzoKCSogc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5jOgoJICB2NGwyc3JjOiBtb3ZlIGR1cGxpY2F0ZWQgdGltZXN0YW1waW5nIGFuZCBidWZmZXIgbWV0YWRhdGEgY29kZSB0byBfY3JlYXRlKCkKCSAgVGhpcyB3aWxsIGluY2x1ZGUgdGhlIGxhdGVuY3kgY2hhbmdlcyBhbHNvIGluIHRoZSBtbWFwIGNhc2UuCgoyMDA5LTAzLTI1IDEwOjA2OjQ4ICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkqIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuYzoKCSAgdjRsMnNyYzogcmVtb3ZlIHdpbjMyIGlmZGVmcyBpbnRyb2R1Y2VkIGJ5IGNvbW1pdCBjZmYzZjQ2NzYwZWFjNzRjOWJiZDdhMzZhY2E0NGZlZGYzMjc0MjRiCgkgIFY0bDJzcmMgaXMgdW5kZXIgc3lzIGFuZCBkb2VzIG5vdCBleGlzdHMvcnVuIHVuZGVyIHdpbmRvd3MgYW55d2F5LgoKMjAwOS0wMy0yNCAxNTo0NDo0MiArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IGhhbmRsZSBGTFVTSF9TVE9QIGV2ZW50CgkgIENsZWFuIHVwIHNvbWUgc3RhdGUgKG1vc3Qgbm90YWJseSBwYWQgZmxvdyByZXR1cm5zKSB0byByZXN1bWUKCSAgcHJvcGVyIHN0cmVhbWluZyBmb2xsb3dpbmcgZmx1c2hpbmcgc2Vlay4KCjIwMDktMDMtMjQgMTI6NDI6MTMgKzAxMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRlY2luYUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIGF2aWRlbXV4OiBkb24ndCBwb3N0IGFuIGVycm9yIGlmIEVPUyBjYW4ndCBiZSBwdXNoZWQgZG93bnN0cmVhbS4KCSAgVGhpcyBhbGlnbnMgYXZpZGVtdXggd2l0aCBvdGhlciBkZW11eGVycyBhbmQgZml4ZXMgYSBidWcgdXNpbmcgYXZpZGVtdXgKCSAgd2l0aCBhIHJlY2VudCBnbm9ubGluLgoKMjAwOS0wMy0yMyAxMToyMjowOCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSAgcHVsc2VzaW5rOiBjbGVhbiB1cCB0aGUgc3RhdGUgY2hhbmdlIGZ1bmN0aW9uCgkgIE1ha2UgdGhlIHN0YXRlIGNoYW5nZSBmdW5jdGlvbiBhIGJpdCBtb3JlIHJlYWRhYmxlIGFuZCBvbmx5IHBhdXNlIGFmdGVyIHRoZQoJICBwYXJlbnQgaGFkIGEgY2hhbmdlIHRvIHBhdXNlIGZpcnN0LgoKMjAwOS0wMy0wOSAyMzo0Mzo1NSArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2R0bWYvTWFrZWZpbGUuYW06CgkgIE1ha2VmaWxlLmFtOiBubyBzdGF0aWMgbGlicyBmb3IgcGx1Z2lucwoKMjAwOS0wMy0yMCAxNzoyMjozMiArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IHN1cHBvcnQgc2Vla2luZyBpbiBwdXNoIGJhc2VkIG1vZGUKCjIwMDktMDMtMjAgMTc6MTE6MzkgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBhbGlnbiBwdXNoIGJhc2VkIGJlaGF2aW91ciBtb3JlIHdpdGggcHVsbCBiYXNlZAoJICBDYXRlciBmb3IgREVMVEFfVU5JVCBmbGFnIG9uIGJ1ZmZlcnMsIGtlZXAgdHJhY2sgb2YgY3VycmVudAoJICBwb3NpdGlvbiwgcmVtb3ZlIGFuZCB3YXJuIGFib3V0IGVkaXQgbGlzdHMgaWYgYW55IChhcyB0aG9zZQoJICBhcyBhcmUgZGUgZmFjdG8gZGlzY2FyZGVkIGFueXdheSksIGFkZCBzb21lIGRlYnVnIHN0YXRlbWVudHMKCSAgYW5kIGluZGVudCBmaXhlcy4KCjIwMDktMDMtMjAgMTc6MDM6MDMgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBxdGRlbXV4OiBmaXggbWVtIGxlYWtzIGFuZCBwcmV2ZW50IGV4Y2Vzc2l2ZSBidWZmZXJpbmcgaW4gcHVzaCBiYXNlZCBtb2RlCgoyMDA5LTAzLTIwIDEzOjI3OjU5ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuaDoKCSAgcHVsc2VzaW5rOiBUcmFjayB0aGUgY29ya2VkL3VuY29ya2VkIHN0YXRlIG91cnNlbHZlcwoJICBVc2UgYW4gaW5zdGFuY2UgdmFyaWFibGUgdG8gdHJhY2sgd2hldGhlciB0aGUgc3RyZWFtIGlzIGNvcmtlZCBvciBub3QsCgkgIGluc3RlYWQgb2YgdXNpbmcgUEEgQVBJIHRoYXQgd2FzIG9ubHkgaW50cm9kdWNlZCBpbiAwLjkuMTEKCjIwMDktMDMtMTkgMTg6Mzk6MDQgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSAgcHVsc2U6IE1ha2Ugc3VyZSB0aGUgc3RyZWFtIGlzIHVuY29ya2VkIGluIHRoZSB3cml0ZSBmdW5jdGlvbgoJICBJZiB0aGUgY2FwcyBjaGFuZ2VzLCB0aGUgc2luayBpcyByZXNldCB3aXRob3V0IHRyYW5zaXRpb25pbmcgdGhyb3VnaAoJICBhIFBBVVNFRC0+UExBWUlORyBzdGF0ZSBjaGFuZ2UsIHJlc3VsdGluZyBpbiBhIGNvcmtlZCBzdHJlYW0uIFRoaXMgYXZvaWRzCgkgIHRoZSBwcm9ibGVtIGJ5IGNoZWNraW5nIHRoYXQgdGhlIHN0cmVhbSBpcyB1bmNvcmtlZCB3aGVuIHdyaXRpbmcgc2FtcGxlcwoJICB0byBpdC4KCjIwMDktMDMtMjAgMDE6MDI6MjYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3NwZWV4L2dzdHNwZWV4ZW5jLmM6CgkgIHNwZWV4ZW5jOiBmaXggZGlyZWN0aW9uIG9mIGxhdGVuY3kgcXVlcnkgYW5kIG90aGVyIHVwc3RyZWFtIHF1ZXJpZXMKCSAgRG9uJ3Qgc2VuZCBxdWVyaWVzIGJhY2sgdG8gdGhlIGVsZW1lbnQgdGhleSBqdXN0IGNhbWUgZnJvbSBieSBzZW5kaW5nCgkgIHRoZW0gdG8gdGhlIHBlZXIgb2YgdGhlIHdyb25nIHBhZC4KCjIwMDktMDMtMTkgMTE6MTA6NDAgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogLmdpdGlnbm9yZToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvLmdpdGlnbm9yZToKCSAgLmdpdGlnbm9yZTogaWdub3JlIG1vcmUKCjIwMDktMDMtMTggMTY6NTU6MjcgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBtcDRhZGVwYXkuYzoKCSAgcnRwbXA0YWRlcGF5OiBkb24ndCBhcHBlbmQgYW4gZXh0cmEgMCBieXRlIHRvIHRoZSBjb2RlYyBkYXRhCgkgIFRoZSBhdWRpb011eFZlcnNpb24gc3RydWN0dXJlIGlzIHBhY2tlZCBpbiBzdWNoIGEgd2F5IHRoYXQgdGhlIGNvZGVjCgkgIGRhdGEgZG9lcyBub3Qgc3RhcnQgYnl0ZS1hbGlnbmVkLCB3aGljaCBtZWFucyB0aGVyZSdzIGFuIGV4dHJhIGJpdCBvZgoJICBwYWRkaW5nIGF0IHRoZSBlbmQuIFdlIGRvbid0IHdhbnQgdGhhdCBiaXQgaW4gdGhlIGNvZGVjIGRhdGEsIHNpbmNlCgkgIHNvbWUgZGVjb2RlcnMgc2VlbSBnZXQgY29uZnVzZWQgd2hlbiB0aGV5J3JlIGZlZCB3aXRoIGFuIGV4dHJhIGNvZGVjCgkgIGRhdGEgYnl0ZSAoYWxzbyBpdCdzIGp1c3Qgbm90IHJpZ2h0IG9mIGNvdXJzZSkuCgoyMDA5LTAzLTE5IDEzOjI1OjU3ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBoMjY0ZGVwYXkuYzoKCSAgcnRwaDI2NGRlcGF5OiBmaXggYmFzZTY0IGRlY29kaW5nCgkgIFdlIGNhbid0IHBhc3MgLTEgdG8gX2RlY29kZV9zdGVwLCB0aGF0IGZ1bmN0aW9ucyByZXR1cm5zIDAgcmlnaHQgYXdheSBpbnN0ZWFkIG9mCgkgIGRlY29kaW5nIHVwIHRvIHRoZSBzdHJpbmcgZW5kLgoKMjAwOS0wMy0xOSAxMzoyNDowMiArMDEwMCAgRGF2aWQgQWRhbSA8emFuY2hleSBhdCB1Y2MuZ3UudXdhLmVkdS5hdT4KCgkqIGdzdC91ZHAvZ3N0dWRwbmV0dXRpbHMuYzoKCSAgdWRwOiBGaXggYnVpbGQgaWYgb24gU29sYXJpcwoJICBUaGlzIHBhdGNoIGNoZWNrcyBmb3IgU29sYXJpcyBhbmQgdXNlcyBpcF9tcmVxIGluc3RlYWQgb2YgaXBfbXJlcW4gaWYgb24gdGhpcwoJICBwbGF0Zm9ybS4KCSAgRml4ZXMgIzU3NTkzNy4KCjIwMDktMDMtMTggMTQ6NTA6MTcgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHBoMjY0ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjY0cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwdGhlb3JhZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHB0aGVvcmFwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHB2b3JiaXNwYXkuYzoKCSAgcnRwOiBVc2UgR0xpYiBmdW5jdGlvbnMgZm9yIGVuY29kaW5nL2RlY29kaW5nIGJhc2U2NAoKMjAwOS0wMy0xNiAxOToxNzoyNCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogYWRkIHNvbWUgZGVidWcgZm9yIHRoZSB0aW1lc3RhbXBzCgkgIFdoZW4gdGltZXN0YW1waW5nIGluIFRDUCBtb2RlLCBsb2cgdGhlIGZpcnN0IHRpbWVzdGFtcCB3ZSBwdXQgb24gdGhlIGJ1ZmZlcnMuCgoyMDA5LTAzLTE1IDIzOjI2OjU2ICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmM6CgkgIHY0bDJzcmM6IGxvZyBkZXRhaWxzIGlmIHdlIGhhdmUgdGhlbSwgbmVlZGVkIGZvciAjNTc1MzkxCgoyMDA5LTAzLTEzIDE4OjMyOjQ3ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3VkcC9nc3R1ZHBzcmMuYzoKCSAgdWRwc3JjOiBjb252ZXJ0IF8gaW4gcHJvcGVydGllcyB0byAtCgkgIC0tCgoyMDA5LTAzLTEzIDE4OjI4OjU5ICswMTAwICBFZGdhciBFLiBJZ2xlc2lhcyA8ZWRnYXIuaWdsZXNpYXNAZ21haWwuY29tPgoKCSogZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuYzoKCSogZ3N0L3VkcC9nc3R1ZHBuZXR1dGlscy5jOgoJKiBnc3QvdWRwL2dzdHVkcG5ldHV0aWxzLmg6CgkqIGdzdC91ZHAvZ3N0dWRwc3JjLmM6CgkqIGdzdC91ZHAvZ3N0dWRwc3JjLmg6CgkgIHVkcHNyYzogQWRkIG5ldHdvcmsgaW50ZXJmYWNlIHNlbGVjdGlvbgoJICBBZGQgbmV0d29yayBpbnRlcmZhY2Ugc2VsZWN0aW9uIHdoZW4gam9pbmluZyBtdWx0aWNhc3QgZ3JvdXBzLgoJICBVc2VmdWwgd2hlbiB1c2luZyB0aGUgdWRwc3JjIG9uIG11bHRpaG9tZWQgaG9zdHMuCgkgIEZpeGVzICM1NzUyMzQuCgkgIEFQSTogR3N0VURQU3JjOjptdWx0aWNhc3QtaWZhY2UKCjIwMDktMDMtMTMgMTU6NDM6NTIgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIHN5cy92NGwyL3Y0bDJfY2FsbHMuYzoKCSAgdjRsMnNyYzogUHJlcGVuZCB0byBsaXN0cyBhbmQgcmV2ZXJzZSB0aGVtIGF0IHRoZSBlbmQuCgkgIEdyYXR1aXRvdXMgbWljcm8tb3B0aW1pc2F0aW9uIC0gcHJlcGVuZCB0byBsaXN0cyBhbmQgcmV2ZXJzZSB0aGVtLCByYXRoZXIKCSAgdGhhbiBhcHBlbmRpbmcgdG8gdGhlbSBlYWNoIHRpbWUuCgoyMDA5LTAzLTEzIDE1OjQwOjUwICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkgIHB1bHNlc2luazogV2FpdCB1bnRpbCB0aGVyZSBpcyBlbm91Z2ggcm9vbSB0byB3cml0ZSBhbiBlbnRpcmUgc2VnbWVudAoJICBXaGVuIHRyeWluZyB0byB3cml0ZSBvdXQgYSBzZWdtZW50LCB3YWl0IHVudGlsIHRoZXJlIGlzIGVub3VnaCBmcmVlIHNwYWNlCgkgIGZvciB0aGUgZW50aXJlIHNlZ21lbnQuIFRoaXMgaGVscHMgdG8gcmVkdWNlIHJpcHBsZSBpbiB0aGUgY2xvY2sgcmVwb3J0aW5nLAoJICB3aGVyZSB0aGUgYXBwIG1pZ2h0IHF1ZXJ5IHRoZSBwbGF5YmFjayBwb3NpdGlvbiB3aGlsZSBvbmx5IGhhbGYgYSBzZWdtZW50CgkgIGhhcyBiZWVuIHdyaXR0ZW4gKGFuZCBpcyB0aGVyZWZvcmUgcmVwb3J0ZWQgYnkgX2RlbGF5KCksIGV2ZW4gdGhvdWdoCgkgIHRoZSByaW5nIGJ1ZmZlciBoYXMgbm90IHlldCBiZWVuIGFkdmFuY2VkKQoKMjAwOS0wMy0xMiAyMDozODo0MiArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogZG9uJ3Qgc2VuZCBQQVVTRSB3aGVuIG5vdCBjb25uZWN0ZWQKCSAgZG9uJ3Qgc2VuZCBhIFBBVVNFIHJlcXVlc3Qgd2hlbiB3ZSBhcmUgbm8gbG9uZ2VyIGNvbm5lY3RlZC4KCjIwMDktMDMtMTIgMTY6MTA6MjUgKzAxMDAgIExhc3psbyBQYW5keSA8bGFzemxvazJAZ21haWwuY29tPgoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5jOgoJICBEb24ndCBjYWxsIEZMQUNfXyBtZXRob2RzIGJlZm9yZSBpdCdzIGluaXRpYWxpemVkLiBGaXhlcyAjNTE2MDMxCgkgIEluIHRoZSBldmVudCBoYW5kbGVyLCBnc3RfZmxhY19kZWNfc2lua19ldmVudCgpLCB0d28gZnVuY3Rpb25zIGFyZSBjYWxsZWQgb24KCSAgdGhlIEZMQUMgc3RyZWFtIHdpdGhvdXQgY2hlY2tpbmcgaWYgaXQgaGFzIGJlZW4gaW5pdGlhbGl6ZWQ6CgkgIEZMQUNfX3N0cmVhbV9kZWNvZGVyX2ZsdXNoKCkKCSAgRkxBQ19fc3RyZWFtX2RlY29kZXJfcHJvY2Vzc191bnRpbF9lbmRfb2Zfc3RyZWFtKCkKCSAgQm90aCB0aGVzZSBGTEFDX18qKCkgZnVuY3Rpb25zIG1vZGlmeSB0aGUgaW50ZXJuYWwgc3RhdGUgb2YgdGhlIEZMQUMgc3RyZWFtLgoJICBMYXRlciwgd2hlbiB0aGUgYnVmZmVycyBzdGFydCBmbG93aW5nLCBnc3RfZmxhY19kZWNfY2hhaW4oKSB0cmllcyB0byBpbml0aWFsaXplCgkgIHRoZSBzdHJlYW0uIHRoZSBGTEFDX19zdHJlYW1fZGVjb2Rlcl9pbml0X3N0cmVhbSgpIGNhbGwgd2lsbCBmYWlsIGJlY2F1c2UgdGhlCgkgIHByZXZpb3VzIGNhbGxzIHRvIEZMQUNfXyooKSBjaGFuZ2VkIHRoZSBzdHJlYW0gc3RhdGUgc28gaXQgaXMgbm8gbG9uZ2VyIGluIHRoZQoJICBpbml0aWFsaXplZCBzdGF0ZS4KCjIwMDktMDMtMTEgMTc6NTk6MDAgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IGZpeCB0aW1lb3V0IGNoZWNrCgkgIC0tLQoKMjAwOS0wMy0xMSAxMjo0ODowMyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiB3aW4zMi9NQU5JRkVTVDoKCSAgd2luMzI6IHVwZGF0ZSBNQU5JRkVTVCwgZml4aW5nICdtYWtlIGRpc3QnCgkgIGNvbmZpZy5oLmluIG5vIGxvbmdlciBleGlzdHMuCgoyMDA5LTAzLTEwIDIxOjE0OjQzICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvbXVsdGlwYXJ0L01ha2VmaWxlLmFtOgoJICBtYWtlZmlsZTogZml4IHR5cG8gaW4gbm8tc3RhdGljIHBsdWdpbnMgcnVsZQoKMjAwOS0wMy0xMCAxMTowMToxNiArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9saWJwbmcvZ3N0cG5nZGVjLmM6CgkgIHBuZ2RlYzogdmFyaW91cyBjbGVhbnVwcy4KCSAgTWFrZSBzb21lIGNvZGUgbW9yZSByZWFkYWJsZS4KCSAgRml4IGEgbGVhayB3aGVuIHB1bGwgcmFuZ2UgcmV0dXJucyBhIHNob3QgYnVmZmVyLgoJICBQdXNoIEVPUyBhZnRlciBwb3N0aW5nIHRoZSBlcnJvci4KCjIwMDktMDMtMTAgMTA6MTY6MjcgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cHZvcmJpc2RlcGF5LmM6CgkgIGdzdHJ0cHZvcmJpc2RlcGF5OiBGaXggYnVpbGQgb24gbWFjb3N4CgoyMDA5LTAzLTAxIDE3OjM3OjU2ICswMTAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogLmdpdGlnbm9yZToKCSAgLmdpdGlnbm9yZTogSWdub3JlIG00IGRpcmVjdG9yeQoKMjAwOS0wMy0wOSAyMzoxMjozMyArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSA3MDMyMTYzIHRvIGY4YjNkOTEKCjIwMDktMDMtMDkgMTg6MDc6MjAgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cHZvcmJpc2RlcGF5LmM6CgkgIHZvcmJpc2RlcGF5OiBmaXggc29tZSBsZWFrcwoJICBBbmQgbGVhayB0aGUgY29kZWJvb2tzLgoJICBVc2UgZ2xpYiBiYXNlNjQgZGVjb2RlcnMuCgkgIFVzZSBzdWJidWZmZXJzIHRvIGF2b2lkIGEgbWVtY3B5IG9mIHRoZSBoZWFkZXJzLgoKMjAwOS0wMy0wOSAxNzoxNDoxMiArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mbGFjL2dzdGZsYWNkZWMuYzoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5oOgoJICBmbGFjZGVjOiBkb24ndCBsb3NlIHRoZSBmaXJzdCBidWZmZXIgYWZ0ZXIgYSBzZWVrCgkgIFRoZSBmbGFjZGVjIEFQSSBjYWxscyB0aGUgd3JpdGUgY2FsbGJhY2sgd2hlbiBwZXJmb3JtaW5nIGEgc2Vlay4gV2UgY2Fubm90IHlldAoJICBwdXNoIG91dCBhIGJ1ZmZlciBhdCB0aGF0IHRpbWUgc28gd2UgbXVzdCBrZWVwIGl0IGFuZCBwdXNoIGl0IG91dCBsYXRlci4KCSAgRmx1c2ggb3V0IHRoZSB1cHN0cmVhbSBwYXJ0IG9mIHRoZSBwaXBlbGluZSB3aGVuIGRvaW5nIGEgc2Vlay4KCSAgRml4ZXMgIzU3NDI3NS4KCjIwMDktMDMtMDkgMTU6MjA6MDUgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHF0ZGVtdXg6IHNhbml0aXplIHRhZyBuYW1lcwoJICBTYW5pdGl6ZSB0aGUgdGFnIG5hbWVzIGJlZm9yZSB0dXJuaW5nIHRoZW0gaW50byBhIHN0cnVjdHVyZSBuYW1lLiBXZSBjYW4gb25seQoJICBhZGQgYWxwaGFudW1lcmljIHZhbHVlcyBhcyB0aGUgc3RydWN0dXJlIG5hbWUuCgoyMDA5LTAzLTA4IDEyOjA0OjIyICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gZmZhNzM4ZCB0byA3MDMyMTYzCgoyMDA5LTAzLTA4IDExOjE5OjU2ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gM2YxM2U0ZSB0byBmZmE3MzhkCgoyMDA5LTAzLTA3IDExOjQ1OjM1ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gM2M3NDU2YiB0byAzZjEzZTRlCgoyMDA5LTAzLTA3IDEwOjQ1OjQwICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gNTdjODNmMiB0byAzYzc0NTZiCgoyMDA5LTAzLTA2IDIxOjU2OjI2ICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmM6CgkgIHY0bDJzcmM6IGZpeCBwYWRzLCBzbyB0aGF0IHRoZXkgYXJlIHN1YnNldCBvZiB0ZW1wbGF0ZSBjYXBzCgkgIERvIG5vdCBhZGQgdz0wIHwgaD0wLiBXaGVuIHdlIGNhbid0IGdldCBhIGZyYW1lcmF0ZSBhZGQgZnJhY3Rpb24gcmFuZ2UuCgoyMDA5LTAzLTA1IDE0OjA4OjE0ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmg6CgkgIHJ0c3BzcmM6IGZpeCByYW5nZSBwYXJzaW5nCgkgIEZpeCBwYXJzaW5nIG9mIHRoZSByYW5nZSBoZWFkZXJzLgoKMjAwOS0wMi0xMCAxNzoyMDo1NyArMDAwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9NYWtlZmlsZS5hbToKCSogZ3N0L3J0cC9nc3RydHAuYzoKCSogZ3N0L3J0cC9nc3RydHBzaXJlbmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwc2lyZW5kZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cHNpcmVucGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwc2lyZW5wYXkuaDoKCSAgTW92ZSBzaXJlbiBydHAgcGF5L2RlcGF5IGZyb20gZ3N0LXBsdWdpbnMtZmFyc2lnaHQKCjIwMDktMDMtMDQgMTY6MjU6MzQgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IGZpeCBtZW1vcnkgbGVhayBpbiBjbG9zZQoJICBDbG9zZSB0aGUgY29ubmVjdGlvbiBldmVuIHdoZW4gd2UgZmFpbCB0byBzZW5kIHRoZSB0ZWFyZG93biBtZXNzYWdlLgoJICBVc2UgdGhlIGNvbm5lY3Rpb24gdXJsICh3aGljaCBpcyBhIGNvcHkgb2YgdGhlIHNyYyB1cmwpLgoKMjAwOS0wMy0wNCAxNjoxNTowNSArMDEwMCAgUGV0ZXIgS2plbGxlcnN0ZWR0IDxwa2pAYXhpcy5jb20+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgY2hlY2s6IGdzdC1wbHVnaW5zLWdvb2Quc3VwcCBuZWVkcyB0byBiZSBkaXN0cmlidXRlZC4KCjIwMDktMDMtMDQgMTI6Mjk6NTAgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIHJ0c3BzcmM6IGZpeCBkby1ydGNwIHByb3BlcnR5IGRlc2NyaXB0aW9uCgkgIC0tLQoKMjAwOS0wMy0wMyAxMjoyMDoyNyArMDEwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6CgkqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmg6CgkgIHNvdXBodHRwc3JjOiBFeHBvc2UgdGhlIFNvdXBTZXNzaW9uICd0aW1lb3V0JyBwcm9wZXJ0eS4KCjIwMDktMDMtMDIgMTU6MDc6MjQgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiAuZ2l0aWdub3JlOgoJICAuZ2l0aWdub3JlOiBJZ25vcmUgdGhlIG00LyBkaXJlY3RvcnkKCjIwMDktMDMtMDIgMTc6MTg6NTUgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwL2dzdHJ0cG1wNHZwYXkuYzoKCSAgcnRwbXA0dnBheTogQWRkIHN1cHBvcnQgZm9yIG1vcmUgZm9ybWF0cwoJICBIYWNrIGFyb3VuZCBzaG9ydCBoZWFkZXIgbXBlZzQgdmlkZW8gZmlsZXMgYW5kIHB1dCB0aGUgc2hvcnQgaGVhZGVyIGFzIHRoZQoJICBjb25maWcgc3RyaW5nLgoJICBGaXhlcyAjNTcyNTUxLgoKMjAwOS0wMy0wMiAxNjowODoyMyArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogYWRkIHN1cHBvcnQgZm9yIGh0dHAgdHVubmVsaW5nCgkgIEFkZCBzdXBwb3J0IGZvciBodHRwIHR1bm5lbGluZyBhbmQgYSBuZXcgcnRzcGg6Ly8gdXJpIGZvciBpdC4KCSAgU2VlICM1NzMxNzMuCgoyMDA5LTAzLTAyIDA5OjQzOjMwICswMTAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXMgKGF0KSBhcGVzdGFhcnQgKGRvdCkgb3JnPgoKCSAgTWVyZ2UgYnJhbmNoICdtYXN0ZXInIG9mIHNzaDovL3Rob21hc3ZzQGdpdC5mcmVlZGVza3RvcC5vcmcvZ2l0L2dzdHJlYW1lci9nc3QtcGx1Z2lucy1nb29kCgoyMDA5LTAzLTAyIDA4OjQxOjE1ICswMTAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXMgKGF0KSBhcGVzdGFhcnQgKGRvdCkgb3JnPgoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5jOgoJICBBZGQvY2xhcmlmeS9maXggc29tZSBsb2dnaW5nLgoKMjAwOS0wMy0wMSAxMjo0NzozNyAtMDgwMCAgRGF2aWQgU2NobGVlZiA8ZHNAaHV0Y2gtMi5sb2NhbD4KCgkqIHN5cy9vc3h2aWRlby9NYWtlZmlsZS5hbToKCSAgUmVtb3ZlIGhhcmRjb2RlZCBkZWZpbml0aW9uIG9mIE9CSkMKCjIwMDktMDMtMDEgMTk6NTU6MjYgKzAxMDAgIFNqb2VyZCBTaW1vbnMgPHNqb2VyZC5zaW1vbnNAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0Lmg6CgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzoKCSogc3lzL3Y0bDIvdjRsMl9jYWxscy5jOgoJKiBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmM6CgkgIFdhaXQgZm9yIGEgZnJhbWUgdG8gYmVjb21lIGF2YWlsYWJsZSBiZWZvcmUgY2FwdHVyaW5nIGl0CgkgIFVzZSBHc3RQb2xsIHRvIHdhaXQgZm9yIHRoZSBmZCBvZiB0aGUgdmlkZW8gZGV2aWNlIHRvIGJlY29tZSByZWFkYWJsZSBiZWZvcmUKCSAgdHJ5aW5nIHRvIGNhcHR1cmUgYSBmcmFtZS4gVGhpcyBzcGVlZHMgdXAgc3RvcHBpbmcgdjRsMnNyYyBhIGxvdCBhcyBpdCBubwoJICBsb25nZXIgaGFzIHRvIHdhaXQgZm9yIHRoZSBuZXh0IGZyYW1lLCBlc3BlY2lhbGx5IHdoZW4gY2FwdHVyaW5nIHdpdGggbG93CgkgIGZyYW1lcmF0ZXMgb3Igd2hlbiB0aGUgdmlkZW8gZGV2aWNlIGp1c3QgbmV2ZXIgZ2VuZXJhdGVzIGEgZnJhbWUgKHdoaWNoIHNlZW1zIGEKCSAgY29tbW9uIGlzc3VlIGZvciB1dmN2aWRlbyBkZXZpY2VzKQoJICBGaXhlcyBidWcgIzU2MzU3NC4KCjIwMDktMDItMTQgMTc6NTY6MDUgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2xhdy9hbGF3LWRlY29kZS5jOgoJKiBnc3QvbGF3L211bGF3LWRlY29kZS5jOgoJICBhbGF3ZGVjLCBtdWxhd2RlYzogZGVtb3RlIHNvbWUgZGVidWcgbWVzc2FnZXMgZnJvbSBFUlJPUiB0byBXQVJOSU5HIG9yIERFQlVHCgkgIE5vbi1vayBmbG93IHJldHVybnMgbWF5IGhhcHBlbiBmb3IgYSB2YXJpZXR5IG9mIHBlcmZlY3RseSBsZWdpdGltYXRlIGFuZCBleHBlY3RlZCByZWFzb25zCgkgICh0ZW1wb3JhcmlseSBub3QgbGlua2VkLCBzZWVraW5nLCBwaXBlbGluZSBzaHV0ZG93biksIHNvIHdlIHJlYWxseSBzaG91bGRuJ3Qgc3BldyBFUlJPUgoJICBkZWJ1ZyBtZXNzYWdlcyB0byBzdGRlcnIgaW4gdGhvc2UgY2FzZXMuIEZpeGVzICM1NzA3ODEuIChTZWVtcyBsaWtlIHNvbWVvbmUgYWxyZWFkeSB0b29rCgkgIGNhcmUgb2Ygc29tZSBvZiB0aGVzZS4pCgoyMDA5LTAyLTI4IDE1OjI2OjAwICswMjAwICBSZW7DqSBTdGFkbGVyIDxtYWlsQHJlbmVzdGFkbGVyLmRlPgoKCSogZ3N0L3JlcGxheWdhaW4vZ3N0cmd2b2x1bWUuYzoKCSAgcmd2b2x1bWU6IEltcHJvdmUgbG9nIG1lc3NhZ2UgZm9yIHBlYWsgdmFsdWVzID4xLjAgYnkgY2xhbXBpbmcgZXhwbGljaXRseS4KCjIwMDktMDItMjcgMjM6MjU6MzIgLTA4MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZXh0L2R2L2dzdGR2ZGVjLmM6CgkgIEZpeCB0aGUgZmllbGQgZG9taW5hbmNlCgkgIFBBTCBpcyBURkYsIE5UU0MgaXMgQkZGLiAgU29tZSBkYXkgSSB3aWxsIGxlYXJuIHRvIGtlZXAgdGhpcwoJICBzdHJhaWdodC4KCjIwMDktMDItMjcgMjA6NDA6MzEgKzAxMDAgIExSTiA8bHJuMTk4NkBnbWFpbC5jb20+CgoJKiBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5jOgoJICBkaXJlY3RkcmF3c2luazogRml4IHR5cGUgbWlzbWF0Y2hlcwoJICBGaXhlcyBidWcgIzU3MzM0My4KCjIwMDktMDItMjcgMjA6Mjg6MjcgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSAgTWVyZ2UgYnJhbmNoICdtYXN0ZXInIG9mIHNzaDovL2dpdC5mcmVlZGVza3RvcC5vcmcvZ2l0L2dzdHJlYW1lci9nc3QtcGx1Z2lucy1nb29kCgoyMDA5LTAyLTI3IDIwOjI0OjUzICswMTAwICBMUk4gPGxybjE5ODZAZ21haWwuY29tPgoKCSogZ3N0L3VkcC9nc3R1ZHBuZXR1dGlscy5jOgoJICB1ZHA6IERvbid0IHNldCBlcnJubyB0byBFQUZOT1NVUFBPUlQgdW5jb25kaXRpb25hbGx5CgkgIEZpeGVzIGJ1ZyAjNTczMzQyLgoKMjAwOS0wMi0yNyAxMToxNzo1MCAtMDgwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHNvbmdiaXJkbmVzdC5jb20+CgoJKiBnc3QvcmVwbGF5Z2Fpbi9nc3RyZ3ZvbHVtZS5jOgoJICByZ3ZvbHVtZTogaWdub3JlIG91dC1vZi1yYW5nZSBwZWFrIHZhbHVlcwoJICBJZiB0aGUgcGVhayB2YWx1ZSBpcyA+IDEgKGFuZCB0aHVzIG5vbnNlbnNpY2FsKSBpZ25vcmUgaXQuIFByZXZlbnRzCgkgIHJndm9sdW1lIHJlZHVjaW5nIHZvbHVtZSB0byBlZmZlY3RpdmVseSBzaWxlbnQgb24gZmlsZXMgd2l0aCBib2d1cyBwZWFrCgkgIHZhbHVlcy4KCjIwMDktMDItMjcgMTM6Mjk6NDEgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6CgkgIHdhdnBhcnNlOiBGaXggU0VFSyBldmVudCBoYW5kbGluZyBpbiBwdXNoIG1vZGUsIGFuZCBTRUVLQUJMWSBxdWVyeSBoYW5kbGluZwoJICBTdGFuZGFyZCBwdWxsIG1vZGUgbG9vcCBiYXNlZCBTRUVLIGhhbmRsaW5nIGZhaWxzIGluIHB1c2ggbW9kZSwKCSAgc28gY29udmVydCB0aGUgU0VFSyBldmVudCBhcHByb3ByaWF0ZWx5IGFuZCBkaXNwYXRjaCB0byB1cHN0cmVhbS4KCSAgQWxzbyBjYXRlciBmb3IgTkVXU0VHTUVOVCBldmVudCBoYW5kbGluZywgYW5kIHByb3Blcmx5IGluZm9ybQoJICBkb3duc3RyZWFtIGFuZCBhcHBsaWNhdGlvbiBvZiBTRUVLQUJMRSBjYXBhYmlsaXRpZXMsIGRlcGVuZGluZwoJICBvbiBzY2hlZHVsaW5nIG1vZGUgYW5kIHVwc3RyZWFtLgoKMjAwOS0wMi0yNyAxMTowNDowOCArMDEwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBtYXRyb3NrYWRlbXV4OiBSZW1vdmUgZ3N0X3V0aWxfZHVtcF9tZW0oKSBjYWxscy4KCjIwMDktMDItMjYgMTk6MDc6MzUgKzAxMDAgIEp1bGllbiBNb3V0dGUgPGp1bGllbkBmbHVlbmRvLmNvbT4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgYXZpZGVtdXg6IGZpeCBTRUVLIGV2ZW50IGhhbmRsaW5nIGluIHB1c2ggbW9kZQoJICBXaGVuIGluIHB1c2ggbW9kZSB3ZSBzaG91bGQgbm90IHRyeSB0byBoYW5kbGUgdGhlIFNFRUsgZXZlbnQgYXMgdGhlcmUncwoJICBubyBjb2RlIHRvIGhhbmRsZSBpdCBwcm9wZXJseS4gUHJvcGFnYXRlIHVwc3RyZWFtLgoKMjAwOS0wMi0yNiAxOTowNTowNiArMDEwMCAgUGF0cmljayBSYWRpemkgPHBhdHJpY2sgZG90IHJhZGl6aSBhdCBheGlzIGRvdCBjb20+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmg6CgkgIHJ0c3BzcmM6IGFkZCB0aGUgLmggZmlsZSBjaGFuZ2UgdG9vCgkgIEFkZCB0aGUgLmggZmlsZSBjaGFuZ2UgZm9yIHRoZSBuZXcgcHJvcGVydHkuCgoyMDA5LTAyLTI2IDE5OjAzOjUyICswMTAwICBQYXRyaWNrIFJhZGl6aSA8cGF0cmljayBkb3QgcmFkaXppIGF0IGF4aXMgZG90IGNvbT4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgcnRzcHNyYzogYWRkIHByb3BlcnR5IHRvIGRpc2FibGUgUlRDUAoJICBTb21lIG9sZCBzZXJ2ZXJzIGRvbid0IGxpa2UgdXMgZG9pbmcgUlRDUCBhbmQgdGh1cyB3ZSBuZWVkIGEgcHJvcGVydHkgdG8gZGlzYWJsZQoJICBpdC4gU2VlICM1NzMxNzMuCgoyMDA5LTAyLTI2IDEzOjE5OjMxICswMTAwICBKYW4gU21vdXQgPGphbiBkb3Qgc21vdXQgYXQgZ21haWwgZG90IGNvbT4KCgkqIGdzdC91ZHAvZ3N0dWRwbmV0dXRpbHMuYzoKCSAgdWRwOiBmaXggZ3N0X3VkcF9zZXRfbG9vcF90dGwoKSBhZ2FpbgoJICBGaXggdGhlIGdzdF91ZHBfc2V0X2xvb3BfdHRsKCkgZnVuY3Rpb24gdGhhdCB3YXMgY29tbWVudGVkIG91dCBpbiBhCgkgIHByZXZpb3VzIGNvbW1pdC4gU2VlICM1NzMxMTUuCgoyMDA5LTAyLTI2IDEzOjA2OjE3ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHB2cmF3ZGVwYXkuYzoKCSAgcnRwdnJhd2RlcGF5OiBmYWlsIG9uIGludGVybGFjZWQgdmlkZW8KCSAgRmFpbCBvbiBpbnRlcmxhY2VkIHZpZGVvIHVudGlsIHdlIHN1cHBvcnQgaXQuCgoyMDA5LTAyLTI2IDEzOjAwOjU4ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cC9nc3RydHB2cmF3cGF5LmM6CgkgIHJ0cHZyYXdwYXk6IGZhaWwgb24gaW50ZXJsYWNlZCB2aWRlbwoJICBEZXRlY3QgYW5kIGZhaWwgd2hlbiB0cnlpbmcgdG8gcGF5bG9hZCBpbnRlcmxhY2VkIHZpZGVvLgoKMjAwOS0wMi0yNSAyMDo0NzoxNSAtMDgwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBNYWtlZmlsZS5hbToKCSogY29uZmlndXJlLmFjOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmguaW46CgkgIENoYW5nZSBob3cgd2luMzIvY29tbW9uL2NvbmZpZy5oIGlzIHVwZGF0ZWQKCSAgR2VuZXJhdGUgd2luMzIvY29tbW9uL2NvbmZpZy5oLW5ldyBkaXJlY3RseSBmcm9tIGNvbmZpZy5oLmluLAoJICB1c2luZyBzaGVsbCB2YXJpYWJsZXMgaW4gY29uZmlndXJlIGFuZCBzb21lIGhhcmQtY29kZWQgaW5mb3JtYXRpb24uCgkgIENoYW5nZSB0b3AtbGV2ZWwgbWFrZWZpbGUgc28gdGhhdCAnbWFrZSB3aW4zMi11cGRhdGUnIGNvcGllcyB0aGUKCSAgZ2VuZXJhdGVkIGZpbGUgdG8gd2luMzIvY29tbW9uL2NvbmZpZy5oLCB3aGljaCB3ZSBrZWVwIGluIHNvdXJjZQoJICBjb250cm9sLiAgSXQncyBrZXB0IGluIHNvdXJjZSBjb250cm9sIHNvIHRoYXQgdGhlIGdpdCB0cmVlIGlzCgkgIGJ1aWxkYWJsZSBmcm9tIFZTLgoJICBUaGlzIGNoYW5nZSBpcyBzaW1pbGFyIHRvIHRoZSBvbmUgcmVjZW50bHkgYXBwbGllZCB0byBHU3RyZWFtZXIKCSAgYW5kIGdzdC1wbHVnaW5zLWdvb2QuICBUaGUgcHJldmlvdXMgY29uZmlnLmggZmlsZSBpbiAtZ29vZCB3YXMgaW4KCSAgcHJldHR5IGJhZCBzaGFwZSwgc28gdW5saWtlIGNvcmUgYW5kIGJhc2UsIEkgZGlkbid0IGF0dGVtcHQgdG8KCSAgbGVhdmUgaXQgc3RyaWN0bHkgdGhlIHNhbWUsIGJ1dCBmaXhlZCBpdCBhcyBuZWNlc3NhcnkuICBOZWVkcwoJICB0ZXN0aW5nIEkgY2Fubm90IGRvIG15c2VsZi4KCjIwMDktMDItMjUgMTk6NTg6MjkgLTA4MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZXh0L2R2L2dzdGR2ZGVjLmM6CgkqIGV4dC9kdi9nc3RkdmRlYy5oOgoJICBkdmRlYzogQWRkIGludGVybGFjaW5nIGluZm8gdG8gY2FwcyBhbmQgYnVmZmVycwoKMjAwOS0wMi0yNSAxNDo1NzozMyArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogY29tbW9uOgoJKiBjb25maWd1cmUuYWM6CgkgIGJ1aWxkOiBVcGRhdGUgc2hhdmUgaW5pdCBzdGF0ZW1lbnQgZm9yIGNoYW5nZXMgaW4gY29tbW9uLiBCdW1wIGNvbW1vbi4KCjIwMDktMDItMjUgMTQ6MDE6MjYgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdWRwL2dzdHVkcHNyYy5jOgoJICB1ZHBzcmM6IGZpeCBjb21waWxhdGlvbgoJICBGaXggY29tcGlsYXRpb24gb24gc3lzdGVtcyBNU0dfRVJSUVVFVUUgYW5kIElQX1JFQ1ZFUlIuCgoyMDA5LTAyLTE5IDIwOjE0OjEwICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9qcGVnL2dzdGpwZWdlbmMuYzoKCSAganBlZ2VuYzogZXJyb3Igb3V0IGluc3RlYWQgb2YgY3Jhc2hpbmcgaWYgbm8gY2FwcyBoYXZlIGJlZW4gc2V0CgkgIERvbid0IGNyYXNoIGlmIHdlIHJlY2VpdmUgYSBidWZmZXIgd2l0aG91dCBjYXBzLiBGaXhlcyAjNTcyNDEzLgoKMjAwOS0wMi0yNSAxMTozNTozMSArMDEwMCAgUGV0ZXIgS2plbGxlcnN0ZWR0IDxwa2pAYXhpcy5jb20+CgoJKiBnc3QvdWRwL2dzdHVkcHNyYy5jOgoJICB1ZHBzcmM6IE1ha2Ugc3VyZSB0aGUgc29ja2FkZHIgbGVuZ3RoIHVzZWQgZm9yIHJlY3Zmcm9tKCkgaXMgYmlnIGVub3VnaC4KCSAgUHJldmlvdXNseSB0aGUgc29ja2FkZHIgbGVuZ3RoIHVzZWQgZm9yIHJlY3Zmcm9tKCkgd2FzIGNhbGN1bGF0ZWQgYXMKCSAgc2l6ZW9mIChzdHJ1Y3Qgc29ja2FkZHIpLiBIb3dldmVyLCB0aGlzIGlzIHRvbyBsaXR0bGUgdG8gaG9sZCBhbiBJUHY2CgkgIGFkZHJlc3MsIHNvIHRoZSBmdWxsIHNpemUgb2YgdGhlIGdzdF9zb2NrYWRkciB1bmlvbiBzaG91bGQgYmUgdXNlZAoJICBpbnN0ZWFkLgoKMjAwOS0wMi0yNSAxMTozMjoyOCArMDEwMCAgUGV0ZXIgS2plbGxlcnN0ZWR0IDxwa2pAYXhpcy5jb20+CgoJKiBnc3QvdWRwL2dzdHVkcHNyYy5jOgoJICB1ZHBzcmM6IFVuaWZ5IHRoZSB1c2Ugb2YgdW5pb24gZ3N0X3NvY2thZGRyLgoKMjAwOS0wMi0yNSAxMTozMjowNyArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSA5Y2Y4YzliIHRvIGE2Y2U1YzYKCjIwMDktMDItMjUgMTI6MDU6MjIgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIGF2aWRlbXV4OiBhdm9pZCBjcmFzaGluZyBvbiBzdWJ0aXRsZXMKCSAgQXZvaWQgYSBjcmFzaCBpbiBhdmkgd2l0aCBzdWJ0aXRsZXMgYnkgb25seSBkZXJlZmVyZW5jaW5nIHRoZSB2aWRlbyBkZXNjcmlwdGlvbgoJICB3aGVuIHdlIGFjdHVhbGx5IGFyZSBkZWFsaW5nIHdpdGggdmlkZW8gaW4gdGhlIF9pbnZlcnQgZnVuY3Rpb24uCgoyMDA5LTAyLTI1IDExOjQ1OjA1ICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvZHRtZi9nc3RkdG1mc3JjLmM6CgkqIGdzdC9kdG1mL2dzdGR0bWZzcmMuaDoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZmRlcGF5LmM6CgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZzcmMuYzoKCSAgZG9jczogdmFyaW91cyBkb2MgZml4ZXMKCSAgTm8gc2hvcnQtZGVzYyBhcyB3ZSBoYXZlIHRoZW0gaW4gdGhlIGVsZW1lbnQgZGV0YWlscy4KCSAgQWxzbyBrZWVwIHRoaW5ncyAoTWFrZWZpbGUuYW0gYW5kIHNlY3Rpb25zLnR4dCkgc29ydGVkLgoJICBSZXdvcmQgYW1iaWdvdXMgcmV0dXJucy4gTm8gdGV4dCBhZnRlciBzaW5jZSBwbGVhc2UuCgoyMDA5LTAyLTI0IDE3OjU4OjMyICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBnc3QvdWRwL2dzdHVkcHNyYy5jOgoJICB1ZHA6IEZpeCBzdHJpY3QtYWxpYXNpbmcgd2FybmluZ3MgZnJvbSBnY2MgNC40LjAKCSAgRml4IHN0cmljdCBhbGlhc2luZyB3YXJuaW5ncyBieSBkZWZpbmluZyBhIHVuaW9uIG9uIHRoZSBkaWZmZXJlbnQKCSAgc29ja2FkZHIgc3RydWN0cyB0aGF0IHdlIG5lZWQuCgoyMDA5LTAyLTI0IDE3OjM1OjQ2ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2NHBheS5jOgoJICBydHA6IEZpeCBjb21waWxlciB3YXJuaW5nIGluIGgyNjQgcGF5bG9hZGVyCgkgIEZpeCBhbiB1bmRlZmluZWQgYmVoYXZpb3VyIHdhcm5pbmcgZnJvbSBnY2MgNC40LjAKCSAgUGF0Y2ggQnk6IFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoJICBGaXhlczogIzU3MDk5NQoJICBTaWduZWQtT2ZmLUJ5OiBKYW4gU2NobWlkdCA8amFuLnNjaG1pZHRAc3VuLmNvbT4KCjIwMDktMDItMjIgMTc6MjM6MDkgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJICBVc2Ugc2hhdmUgZm9yIHRoZSBidWlsZCBvdXRwdXQKCjIwMDktMDItMjQgMTQ6NTU6MjggKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2djb25mL01ha2VmaWxlLmFtOgoJKiBleHQvZ2NvbmYvZ2NvbmYuYzoKCSogZXh0L2djb25mL2djb25mLmg6CgkqIGV4dC9nY29uZi9nc3RnY29uZi5jOgoJKiBleHQvZ2NvbmYvZ3N0Z2NvbmYuaDoKCSogZXh0L2djb25mL2dzdGdjb25mZWxlbWVudHMuaDoKCSAgZ2NvbmY6IFJlbmFtZSBnY29uZi5bY2hdIHRvIGdzdGdjb25mLltjaF0gdG8gcHJldmVudCBuYW1lIGNvbmZsaWN0cwoKMjAwOS0wMi0yNCAxNDo0MToyNiArMDEwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eF9mb3VyY2MuaDoKCSAgcXRkZW11eDogQWxzbyB1c2UgIihjKWluZiIgdG8gZmlsbCB0aGUgY29tbWVudCB0YWcKCjIwMDktMDEtMjYgMTE6MDY6MTMgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBydHNwc3JjOiBwZXJmb3JtIFVEUCBTRVRVUCBhY2NvcmRpbmcgdG8gTVMgUlRTUCBzcGVjCgkgIE1TIFJUU1Agc3BlYyBzdGF0ZXMgdGhhdCB0aGUgVURQIHBvcnQgcGFpciB1c2VkIGluIHN1YnNlcXVlbnQgU0VUVVAKCSAgcmVxdWVzdHMgZm9yIHZhcmlvdXMgc3RyZWFtcyBtdXN0IGJlIGlkZW50aWNhbCAoc2luY2UgdGhlcmUgd2lsbCBhY3R1YWxseQoJICBiZSBvbmx5IDEgc3RyZWFtIG9mIG11eGVkIGFzZiBwYWNrZXRzKS4gIEZvbGxvd2luZyB0cmFkaXRpb25hbCBzcGVjcyBhbmQKCSAgdXNpbmcgZGlmZmVyZW50IHBvcnQgcGFpcnMgaW4gdGhlIFNFVFVQcyBmb3Igc2VwYXJhdGUgc3RyZWFtcyB3aWxsIHJlc3VsdAoJICBpbiBhbGwgYnV0IHRoZSBmaXJzdCBvbmUgZmFpbGluZyBhbmQgb25seSBvbmUgc3RyZWFtIGJlaW5nIHN0cmVhbWVkLgoJICBTbywgaW4gYXBwcm9wcmlhdGUgY2lyY3Vtc3RhbmNlcywgcmV0cnkgVURQIFNFVFVQIHVzaW5nIHByZXZpb3VzbHkgdXNlZAoJICBwb3J0IHBhaXIuICBGaXhlcyAjNTUyNjUwLgoKMjAwOS0wMi0yMyAyMDo0OTozNyArMDEwMCAgQXVyZWxpZW4gR3JpbWF1ZCA8Z3N0ZWx6eiBhdCB5YWhvbyBkb3QgZnI+CgoJKiBnc3QvdWRwL2dzdHVkcHNyYy5jOgoJICBSZWFkIElDTVAgZXJyb3IgbWVzc2FnZXMgaW5zdGVhZCBvZiBsb29waW5nCgkgIFdoZW4gd2UgYXJlIGRlYWxpbmcgd2l0aCBjb25uZWN0ZWQgc29ja2V0cyBzaGFyZWQgYmV0d2VlbiBhIHVkcHNyYyBhbmQgYSB1ZHBzaW5rCgkgIHdlIG1pZ2h0IHJlY2VpdmUgSUNNUCBjb25uZWN0aW9uIHJlZnVzZWQgZXJyb3IgbWVzc2FnZXMgaW4gdWRwc3JjIHRoYXQgd2lsbAoJICBjYXVzZSBpdCB0byBnbyBpbnRvIGEgYnVyc3R5IGxvb3AgYmVjYXVzZSB0aGUgcG9sbCByZXR1cm5zIHJpZ2h0IGF3YXkgd2l0aG91dCBhCgkgIG1lc3NhZ2UgdG8gcmVhZC4KCSAgSW5zdGVhZCBvZiBsb29waW5nLCByZWFkIHRoZSBlcnJvciBtZXNzYWdlIGZyb20gdGhlIGVycm9yIHF1ZXVlIGluIHVkcHNyYy4KCSAgRml4ZXMgIzU2Nzg1Ny4KCjIwMDktMDItMjMgMTk6NTM6NTggKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkgIENvbmRpdGlvbmFsbHkgY29tcGlsZSBjb2RlIGZvciBZVllVCgkgIE9ubHkgY29tcGlsZSB0aGUgY29kZSBmb3IgdGhlIFlWWVUgZm9ybWF0IHdoZW4gdGhlIGZvcm1hdCBpcyBhY3R1YWxseSBkZWZpbmVkLgoJICBTcG90dGVkIGJ5IHRtYXR0aCBvbiBJUkMuCgoyMDA5LTAyLTE3IDExOjAxOjQ3IC0wODAwICBMZXZlbnRlIEZhcmthcyA8bGZhcmthc0BsZmFya2FzLm9yZz4KCgkqIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuYzoKCSAgdjRsMnNyYzogTWFrZSBzb3J0X2J5X2ZyYW1lX3NpemUgY29uZGl0aW9uYWxseSBjb21waWxlZAoJICBzb3J0X2J5X2ZyYW1lX3NpemUgaXMgZGVjbGFyZWQgc3RhdGljIGFuZCBvbmx5IHVzZWQgaW5zaWRlCgkgIGFuIGlmZGVmLCBzbyB1c2UgdGhlIHNhbWUgaWZkZWYgdG8gZGVmaW5lIHRoZSBmdW5jdGlvbi4gIEZpeGVzICM1NzIxODUKCSAgU2lnbmVkLW9mZi1ieTogRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoyMDA5LTAyLTIzIDE3OjA1OjQzICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJICBBZGQgWVZZVSBmb3JtYXQgdG8gY2FwcwoJICBBZGQgWVZZVSBmb3JtYXQgdG8gdGhlIGNhcHMuIFdlIGRvbid0IGhhdmUgYW55dGhpbmcgdG8gaGFuZGxlIHRoZXNlIGNhcHMgeWV0LAoJICB0aG91Z2guCgoyMDA5LTAyLTIzIDE1OjQ4OjQxICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2pwZWcvZ3N0anBlZ2VuYy5jOgoJKiBleHQvanBlZy9nc3RqcGVnZW5jLmg6CgkgIFNvbWUgY2xlYW51cHMKCSAgUmVtb3ZlIHNvbWUgdW51c2VkIHZhcmlhYmxlcy4KCSAgQXZvaWQgYSB1c2VsZXNzIF9yZXN5bmMgY2FsbC4KCSAgQ29ycmVjdGx5IHVzZSBhIGdib29sZWFuLgoKMjAwOS0wMi0yMyAxNTo0Mzo1MSArMDEwMCAgV2FpLU1pbmcgSG8gPHdhaW1pbmcgYXQgYWlsdXJvcG9kYSBkb3QgbmV0PgoKCSogZ3N0L3J0cC9nc3RydHBoMjY0cGF5LmM6CgkgIEFsd2F5cyBhZGQgUFBTIHRvIHRoZSBzcHJvcC1wYXJhbWV0ZXJzLXNldAoJICBSZXdvcmsgdGhlIHBhcnNpbmcgY29kZSB0aGF0IHVuZGVyIGNlcnRhaW4gY2lyY3Vtc3RhbmNlcyBkcm9wcGVkIHRoZSBQUFMgZnJvbQoJICB0aGUgc3Byb3AtcGFyYW1ldGVycy1zZXQuCgkgIEZpeGVzICM1NzI4NTQuCgoyMDA5LTAyLTIzIDEyOjE0OjIzICswMTAwICBBcm5vdXQgVmFuZGVjYXBwZWxsZSA8YXJub3V0IGF0IG1pbmQgZG90IGJlPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJICBEb24ndCBkbyBjcmF6eSB0aGluZ3Mgd2l0aCAwLzEgZnJhbWVyYXRlcwoJICBXZSB1c2UgMC8xIGZyYW1lcmF0ZXMgdG8gbWFyayB2YXJpYWJsZSBmcmFtZXJhdGVzIGFuZCBtYXRyb3NrYW11eCBzaG91bGQgbm90IHRyeQoJICB0byBjYWxjdWxhdGUgYSBmcmFtZSBkdXJhdGlvbiBmb3IgaXQuCgkgIEZpeGVzICM1NzEyOTQuCgoyMDA5LTAyLTIzIDExOjQ1OjUwICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBSZXF1aXJlIG5ld2VyIGdzdC1wLWIgZm9yIHRoZSBSVFNQIGV4dGVuc2lvbnMuCgkgIC0tCgoyMDA5LTAyLTIzIDExOjQyOjUzICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBDYWxsIG5ldyByZWNlaXZlX3JlcXVlc3QgbWV0aG9kCgkgIENhbGwgdGhlIHJlY2VpdmVfcmVxdWVzdCBleHRlbnNpb24gbWV0aG9kcyBzbyB0aGF0IGV4dGVuc2lvbnMgY2FuIGhhbmRsZSB0aGUKCSAgc2VydmVyIHJlcXVlc3QgaWYgdGhleSB3YW50LgoKMjAwOS0wMi0yMyAxMToxMzozMCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHNwL2dzdHJ0c3BleHQuYzoKCSogZ3N0L3J0c3AvZ3N0cnRzcGV4dC5oOgoJICBBZGQgbWV0aG9kIGZvciBoYWRsaW5nIHNlcnZlciByZXF1ZXN0cwoJICBBZGQgbWV0aG9kIHRvIGhhbmRsZSBzZXJ2ZXIgcmVxdWVzdHMgb24gdGhlIGxpc3Qgb2YgUlRTUCBleHRlbnNpb25zLgoKMjAwOS0wMi0xMyAxNDozOToyOSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9sYXcvYWxhdy1kZWNvZGUuYzoKCSogZ3N0L2xhdy9tdWxhdy1kZWNvZGUuYzoKCSAgRG9uJ3QgdXNlIEdTVF9FUlJPUiBmb3Igbm9uLWVycm9yIGNhc2VzLgoJICBUdXJuIGEgR1NUX0VSUk9SIGxpbmUgaW50byBhIEdTVF9ERUJVRyBsaW5lIHNvIHRoYXQgd2UgZG9uJ3Qgc3BhbSB0aGUgbG9nIHdpdGgKCSAgZXJyb3JzLiBGaXhlcyAjNTcwNzgxLgoKMjAwOS0wMi0yMiAxOTozMDozMiArMDEwMCAgU2pvZXJkIFNpbW9ucyA8c2pvZXJkQGx1b24ubmV0PgoKCSogZXh0L2djb25mL2dzdGdjb25mdmlkZW9zaW5rLmM6CgkqIGV4dC9nY29uZi9nc3RnY29uZnZpZGVvc2luay5oOgoJKiBleHQvZ2NvbmYvZ3N0Z2NvbmZ2aWRlb3NyYy5jOgoJKiBleHQvZ2NvbmYvZ3N0Z2NvbmZ2aWRlb3NyYy5oOgoJICBnY29uZnZpZGVvKHNyY3xzaW5rKTogRGlzY29ubmVjdCBHQ29uZiBub3RpZmljYXRpb25zCgkgIEZpeGVzIGJ1ZyAjNTcxMzIxLgoKMjAwOS0wMi0yMiAxOToyNTozOSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgbWF0cm9za2FkZW11eDogVW5yZWYgdGhlIGJ1ZmZlciBhbmQgbm90IHRoZSBtZW1vcnkgYWRkcmVzcyBvZiB0aGUgYnVmZmVyCgoyMDA5LTAyLTIyIDE4OjQ3OjM1ICswMTAwICBPbGl2aWVyIENyZXRlIDx0ZXN0ZXJAdGVzdGVyLmNhPgoKCSogZ3N0L2xhdy9hbGF3LWRlY29kZS5jOgoJKiBnc3QvbGF3L211bGF3LWRlY29kZS5jOgoJICBhbGF3L211bGF3OiBJbXBsZW1lbnQgX2dldGNhcHMgZnVuY3Rpb24gZm9yIGFsYXcvbXVsYXcgZGVjb2RlcnMKCSAgRml4ZXMgYnVnICM1NzIzNTguCgoyMDA5LTAyLTIyIDE4OjQ2OjAzICswMTAwICBPbGl2aWVyIENyZXRlIDx0ZXN0ZXJAdGVzdGVyLmNhPgoKCSogZ3N0L2xhdy9hbGF3LWVuY29kZS5jOgoJKiBnc3QvbGF3L211bGF3LWVuY29kZS5jOgoJICBhbGF3L211bGF3OiBEb24ndCByZXF1aXJlIGJvdGgsIHJhdGUgYW5kIGNoYW5uZWwsIHRvIGJlIHNldCBpbiBfZ2V0Y2FwcwoJICBGaXhlcyBidWcgIzU3MjM1OC4KCjIwMDktMDItMjIgMTg6MzI6MDIgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICBhdmlkZW11eDogRml4IGFsaWdubWVudCBpc3N1ZXMgYnkgdXNpbmcgR1NUX1JFQURfKgoJICBSZWFkaW5nIGludGVnZXJzIGZyb20gcmFuZG9tIG1lbW9yeSBhZGRyZXNzZXMgd2lsbCByZXN1bHQKCSAgaW4gU0lHQlVTIG9uIHNvbWUgYXJjaGl0ZWN0dXJlcyBpZiB0aGUgbWVtb3J5IGFkZHJlc3MKCSAgaXMgbm90IGNvcnJlY3RseSBhbGlnbmVkLiBUaGlzIGNhbiBoYXBwZW4gYXQgdHdvCgkgIHBsYWNlcyBpbiBhdmlkZW11eCBzbyB3ZSBzaG91bGQgdXNlIEdTVF9SRUFEX1VJTlQzMl9MRQoJICBhbmQgZnJpZW5kcyBoZXJlLiBGaXhlcyBidWcgIzU3MjI1Ni4KCjIwMDktMDItMjIgMTg6MDg6NTkgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3B1bHNlL3B1bHNlbWl4ZXJjdHJsLmM6CgkgIHB1bHNlbWl4ZXI6IERvbid0IHVzZSBnX2F0b21pY19pbnRfKGdldHxzZXQpIGZvciBhY2Nlc3NpbmcgdGhlIG1peGVyIHRyYWNrIGZsYWdzCgkgIGdfYXRvbWljX2ludF8oZ2V0fHNldCkgb25seSB3b3JrIG9uIGludHMgYW5kIHRoZSBmbGFncyBhcmUKCSAgYW4gZW51bSAod2hpY2ggb24gbW9zdCBhcmNoaXRlY3R1cmVzIGlzIHN0b3JlZCBhcyBhbiBpbnQpLgoJICBBbHNvIHRoZSB3YXkgdGhlIGZsYWdzIHdlcmUgYWNjZXNzZWQgYXRvbWljYWxseSB3b3VsZCBzdGlsbAoJICBsZWF2ZSBhIHBvc3NpYmxlIHJhY2UgY29uZGl0aW9uIGFuZCB3ZSBkb24ndCBkbyBpdCBpbiBhbnkKCSAgb3RoZXIgbWl4ZXIgdHJhY2sgaW1wbGVtZW50YXRpb24sIGxldCBhbG9uZSBhdCBhbnkgb3RoZXIKCSAgcGxhY2Ugd2hlcmUgYW4gaW50ZWdlciBjb3VsZCBiZSBjaGFuZ2VkIGZyb20gZGlmZmVyZW50CgkgIHRocmVhZHMuIFJlbW92aW5nIHRoZSBnX2F0b21pY19pbnRfKGdldHxzZXQpIHdpbGwgb25seQoJICBpbnRyb2R1Y2UgYSBuZXcgcmFjZSBjb25kaXRpb24gb24gYXJjaGl0ZWN0dXJlcyB3aGVyZQoJICBpbnRlZ2VycyBjb3VsZCBiZSBoYWxmLXdyaXR0ZW4gd2hpbGUgcmVhZGluZyB0aGVtCgkgIHdoaWNoIHNob3VsZG4ndCBiZSB0aGUgY2FzZSBmb3IgYW55IG1vZGVybiBhcmNoaXRlY3R1cmUKCSAgYW5kIGlmIHdlIHJlYWxseSBjYXJlIGFib3V0IHRoaXMgd2UgbmVlZCB0byB1c2UKCSAgZ19hdG9taWNfaW50XyhnZXR8c2V0KSBhdCBtYW55IG90aGVyIHBsYWNlcyB0b28uCgkgIEFwYXJ0IGZyb20gdGhhdCBnX2F0b21pY19pbnRfKHNldHxnZXQpIHdpbGwgcmVzdWx0IGluCgkgIGFsaWFzaW5nIHdhcm5pbmdzIGlmIHRoZWlyIGFyZ3VtZW50IGlzIGV4cGxpY2l0ZWx5CgkgIGNhc3RlZCB0byBhbiBpbnQgKi4gRml4ZXMgYnVnICM1NzExNTMuCgoyMDA5LTAyLTIyIDE1OjUyOjA2ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIDVkN2M5Y2MgdG8gOWNmOGM5YgoKMjAwOS0wMi0yMiAxMjo0MTo1MyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcmF3MTM5NC9nc3RoZHYxMzk0c3JjLmM6CgkgIGhkdjEzOTRzcmM6IERvbid0IHVzZSB2b2lkICogcG9pbnRlciBhcml0aG1ldGljCgoyMDA5LTAyLTIxIDExOjEzOjQzIC0wODAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gODBjNjI3ZCB0byA1ZDdjOWNjCgoyMDA5LTAyLTIxIDE4OjQyOjQ2ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBjb25maWd1cmUuYWM6CgkgIEJhY2sgdG8gZGV2ZWxvcG1lbnQgLT4gMC4xMC4xNC4xCgoyMDA5LTAyLTIwIDE4OjE2OjAyIC0wNTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHRtZi9nc3RkdG1mc3JjLmM6CgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZkZXBheS5jOgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mc3JjLmM6CgkgIERvY3VtZW50IHJ0cGR0bWZkZXBheSBhIGJpdAoKMjAwOS0wMi0yMCAxNzo0MTozNyAtMDUwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R0bWYvZ3N0ZHRtZi5jOgoJICBNb3ZlZCBkdG1mIGVsZW1lbnRzIGZyb20gZ3N0LXBsdWdpbnMtZmFyc2lnaHQgdG8gLWJhZAoKMjAwOS0wMi0yMCAxNzo0MDo1NyAtMDUwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R0bWYvZ3N0ZHRtZnNyYy5jOgoJKiBnc3QvZHRtZi9nc3RkdG1mc3JjLmg6CgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZkZXBheS5oOgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mc3JjLmM6CgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZzcmMuaDoKCSAgRml4IHVwIGRvY3VtZW50YXRpb24gYmxvYnMgU0dNTAoKMjAwOS0wMi0yMCAxNzozNzo0MyAtMDUwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R0bWYvZ3N0ZHRtZi5jOgoJKiBnc3QvZHRtZi9nc3RkdG1mc3JjLmM6CgkqIGdzdC9kdG1mL2dzdGR0bWZzcmMuaDoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZmNvbW1vbi5oOgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mZGVwYXkuYzoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZmRlcGF5Lmg6CgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZzcmMuYzoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZnNyYy5oOgoJICBSZS1pbmRlbnQgdG8gR3N0IHN0eWxlCgoyMDA5LTAyLTE4IDEzOjMwOjQ0IC0wNTAwICBMYXVyZW50IEdsYXlhbCA8c3BnbGVnbGVAeWFob28uZnI+CgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mc3JjLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBNaXNzaW5nIGZvcm1hdCBkaXJlY3RpdmUKCjIwMDgtMTItMDQgMjE6MjE6NDQgLTA1MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZkZXBheS5jOgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mZGVwYXkuaDoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIEFsbG93IHNldHRpbmcgYSBtYXhpbXVtIGR1cmF0aW9uIHRvIGEgUlRQIERUTUYgZXZlbnQKCjIwMDgtMTItMDQgMjE6MTE6MTcgLTA1MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZkZXBheS5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gSW1wcm92ZSB0aGUgbWluaW11bSBxdWFudGEgdG8gbWFrZSBpdCBpbXBvc3NpYmxlIGZvciB0aGUgZHVyYXRpb24gdG8gZmFsbCBkb3duIHRvIDAKCjIwMDgtMTItMDEgMTg6MzE6NDggLTA1MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZkZXBheS5jOgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mZGVwYXkuaDoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIEFsbG93IHNldHRpbmcgYSBtaW5pbXVtIHNpemUgb2YgYSBzb3VuZCBxdWFudGEgaW4gdGhlIGR0bWYgZGVwYXlsb2FkZXIKCjIwMDgtMTItMTEgMTc6NTQ6MTggLTA1MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdG1mLy5naXQtZGFyY3MtZGlyOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gUmVtb3ZlIC5naXQtZGFyY3MtZGlyIGZpbGVzCgoyMDA4LTEyLTAxIDE3OjM3OjEwIC0wNTAwICBIw6V2YXJkIEdyYWZmIDxoYXZhcmQuZ3JhZmZAdGFuZGJlcmcuY29tPgoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZmRlcGF5LmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBEbyB3aWVyZCBjYXN0aW5nIG9mIHRoZSB2b2x1bWUgdG8gbWFrZSBNU1ZDIGhhcHB5CgoyMDA4LTEwLTE1IDE2OjIxOjUwIC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHRtZi9nc3RkdG1mc3JjLmM6CgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZzcmMuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIENsYXJpZnkgdGhlIGRvY3VtZW50YXRpb24gb2YgdGhlICJldmVudC10eXBlIiBmaWVsZCB3aGVuIHNwZWNpZnlpbmcgZHRtZiBldmVudHMKCjIwMDgtMDctMjIgMjE6Mzk6MzggKzAwMDAgIE9saXZpZXIgQ3JldGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R0bWYvZ3N0ZHRtZnNyYy5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gUmVtb3ZlIGdfZGVidWdzCgkgIDIwMDgwNzIyMjEzOTM4LTNlMmRjLTQ0YTgyZDAxN2ZlNjZmMzExMjMwMWM0MTBhYTBiNTQzZGU2MTU2YWQuZ3oKCjIwMDgtMDYtMTMgMjM6NTc6MjMgKzAwMDAgIE9saXZpZXIgQ3JldGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R0bWYvZ3N0ZHRtZnNyYy5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gVGFrZSByYXRlIGZyb20gdGhlIHBlZXJzIGNhcHMgaWYgcG9zc2libGUKCSAgMjAwODA2MTMyMzU3MjMtM2UyZGMtMTU2OTBlZTQyNzA4YzUzOWUxYmUxMmUyMGUwNzZhNTYxM2ZhZWE5Ni5negoKMjAwOC0wNi0xMyAyMzo0MTo0NCArMDAwMCAgT2xpdmllciBDcmV0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHRtZi9nc3RkdG1mc3JjLmM6CgkqIGdzdC9kdG1mL2dzdGR0bWZzcmMuaDoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIFB1dCB0aGUgc2FtcGxlIHJhdGUgaW4gZHRtZnNyYyBpbnRvIGEgdmFyaWFibGUKCSAgMjAwODA2MTMyMzQxNDQtM2UyZGMtZTYwMDcwOTQzYmVjODI5YjcwM2I4ODIxYzdhYTQzNTFhMDJkZWViZS5negoKMjAwOC0wNi0xMyAyMzozMDowNiArMDAwMCAgT2xpdmllciBDcmV0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mc3JjLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBUYWtlIHRoZSBjbG9jay1yYXRlIGZyb20gdGhlIGNhcHMgaW4gcnRwZHRtZnNyYwoJICAyMDA4MDYxMzIzMzAwNi0zZTJkYy1hN2Q0ZTkxODY0M2Y0ZjhjMWJiMmNjMjY3ODU1OGM2NTQwMjU5MjBlLmd6CgoyMDA4LTA0LTI4IDIyOjIyOjM3ICswMDAwICBPbGl2aWVyIENyZXRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdG1mL01ha2VmaWxlLmFtOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gTGluayBtb2R1bGVzIHdpdGggbGlibSB3aGVyZSByZXF1aXJlZAoJICAyMDA4MDQyODIyMjIzNy0zZTJkYy1iMWU5MTIwYzFlOWNhMWE1MTBiZmQ3YzI3ZTJkNDVmMGQ0YTEyNTA0Lmd6CgoyMDA4LTA0LTEyIDIzOjQ0OjE4ICswMDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R0bWYvZ3N0ZHRtZnNyYy5jOgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mZGVwYXkuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIEZpeCBieXRlIG9yZGVyaW5nIGlzc3VlcyB3aXRoIGR0bWZzcmMgYW5kIHJ0cGR0bWZkZXBheS4uIHVzZSBvZiBHX1NUUklOR0lGWSB0byBhdm9pZCBlcnJvciBvbiBNU1ZDCgkgIDIwMDgwNDEyMjM0NDE4LTRmMGY2LTQ4MjhkMTYxM2RmY2Q1NjRhZmQyMzZkZmM4ZmI1N2EyOTkwOTJmODMuZ3oKCjIwMDgtMDMtMjAgMTk6MTQ6MzggKzAwMDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mZGVwYXkuYzoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZmRlcGF5Lmg6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBGaXggY29weXJpZ2h0cyBhZ2FpbiwgcGVyIHNtY3YncyBhZHZpY2UuLgoJICAyMDA4MDMyMDE5MTQzOC00ZjBmNi02NzFjOWRiNWQ5OTZhNDYwMWRmMDE3Y2VhYjRhZjZkMTY0NjljOTY2Lmd6CgoyMDA4LTAzLTE5IDIxOjE3OjMxICswMDAwICBPbGl2aWVyIENyZXRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdG1mL2dzdGR0bWZzcmMuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIE1ha2UgaXQgY2xlYXIgdGhhdCBkdG1mc3JjIGFsc28gdGFrZXMgbmFtZWQgZXZlbnRzIGFzIGlucHV0CgkgIDIwMDgwMzE5MjExNzMxLTNlMmRjLTI2YzcyOWY2ZGM4ZGIyN2U3MWNmNmIyMjY0NmE4MTUzMGRiZjg2MmYuZ3oKCjIwMDgtMDMtMjAgMTg6NDg6NDEgKzAwMDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mZGVwYXkuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIGRlYnVnIG1lc3NhZ2UgbWFkZSBpbnRvIGVycm9ycyBiZWNhdXNlIHRoYXQncyB3aGF0IHRoZXkgYXJlLi4uCgkgIDIwMDgwMzIwMTg0ODQxLTRmMGY2LThhMmQyODMyOTdiMDI3MTNkYWRlMGFlNGFjYWE1ZjZlMGY2N2VhY2UuZ3oKCjIwMDgtMDMtMjAgMTg6Mzk6MzcgKzAwMDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mZGVwYXkuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIENsZWFuIHVudXNlZCBzdHVmZi4uLgoJICAyMDA4MDMyMDE4MzkzNy00ZjBmNi1iY2I4NDFjZGMwN2Y5ZTk2Nzc1MTJmNGI1MGI0YjY1OWE1OGM2NzgzLmd6CgoyMDA4LTAzLTIwIDE4OjM5OjEyICswMDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZmRlcGF5LmM6CgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZkZXBheS5oOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gRml4IGNvcHlyaWdodHMKCSAgMjAwODAzMjAxODM5MTItNGYwZjYtNjg5MzY1ZDVhNDA2NjMyZTNkMDg4ZmFjNzRlNGZiNmY4YTRlYjBlYS5negoKMjAwOC0wMy0yMCAwMToxMzowMSArMDAwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdG1mL01ha2VmaWxlLmFtOgoJKiBnc3QvZHRtZi9nc3RkdG1mLmM6CgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZzcmMuaDoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIEFkZGluZyBzdXBwb3J0IGZvciBydHBkdG1mZGVwYXkKCSAgMjAwODAzMjAwMTEzMDEtNGYwZjYtZDM2YTVkMjRiZTIwMzM2ZTM2YzQ3OTZkNzU0NzZjOWI1ZWUxYTdlMS5negoKMjAwOC0wMy0xOSAxOTozMjo1MSArMDAwMCAgT2xpdmllciBDcmV0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mc3JjLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBlbmNvZGluZyBuYW1lIGhhcyB0byBiZSB1cHBlci1jYXNlCgkgIDIwMDgwMzE5MTkzMjUxLTNlMmRjLTE1ODFiMzNiZTliNDg2ZTM1ZWM0OTQ4MDA5Njc3Y2NkNWZmZGMwOTguZ3oKCjIwMDgtMDMtMjAgMDA6NTE6NDcgKzAwMDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mY29tbW9uLmg6CgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZkZXBheS5jOgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mZGVwYXkuaDoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIEFkZGluZyBuZWNlc3NhcnkgZmlsZXMgZm9yIHJ0cGR0bWZkZXBheQoJICAyMDA4MDMyMDAwNTE0Ny00ZjBmNi01NTBmZTIyZjcwMTUyZjNhYWIzZGNkN2E2YjAyY2JmODFlODkyMzJkLmd6CgoyMDA4LTAzLTIwIDAwOjUwOjQxICswMDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZnNyYy5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gRml4IHR5cG9zCgkgIDIwMDgwMzIwMDA1MDQxLTRmMGY2LTlkMjJmYTVkMTU1ZTM1YjYwNWVhODViMWZkOWU3MTk3YTg4MmExZjAuZ3oKCjIwMDgtMDItMTYgMTM6NDE6NDAgKzAwMDAgIFNqb2VyZCBTaW1vbnMgPHNqb2VyZEBsdW9uLm5ldD4KCgkqIGdzdC9kdG1mL2dzdGR0bWZzcmMuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIGR0bWZzcmM6IENvcnJlY3RseSBzZXQgdGhlIGVuZGlhbmVzcyBpbiB0aGUgY2FwcyB0byB0aGUgbWFjaGluZXMgZW5kaWFuZXNzCgkgIDIwMDgwMjE2MTM0MTQwLTkzYjlhLTQwYTNhOWQ3YWMxNjc5YzVlMGRmZDI0YTZiOTFlNGFiYTZjYzY0OTYuZ3oKCjIwMDctMDktMTcgMTc6NTI6MzMgKzAwMDAgIE9saXZpZXIgQ3JldGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZnNyYy5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gU2VhcmNoJlJlcGxhY2Ugb29wcwoJICAyMDA3MDkxNzE3NTIzMy0zZTJkYy01N2Y1NzljNGI4OTA5OTNmNDlmYThlOWU2NDcwYTNlYjc5ZDJiOTIyLmd6CgoyMDA3LTA5LTE3IDE3OjUxOjMzICswMDAwICBPbGl2aWVyIENyZXRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZzcmMuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIGV2ZW50cyBkb250IHlldCBiZWxvbmcgaW4gdGhlIGNhcHMKCSAgMjAwNzA5MTcxNzUxMzMtM2UyZGMtZmQxZDgzYjc4MjZiODk4MTEwZmM1NzFhZTdjMzQ0MGYxODg3NDM0ZC5negoKMjAwNy0wOS0xNyAxNjowODoyMCArMDAwMCAgT2xpdmllciBDcmV0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHRtZi9nc3RkdG1mc3JjLmM6CgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZzcmMuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIEFkZCBwYXRjaCB0byBtYWtlIGl0IHdvcmsgd2l0aCBtYWVtbyBkc3Agc291cmNlcyB0aGF0IHBheWxvYWQgaW5jb3JyZWN0bHkKCSAgMjAwNzA5MTcxNjA4MjAtM2UyZGMtMDZiMWIxZDFiMDkxOGIzMGRhYmVhNWEwNzE0Y2I3MzJiM2I4ZDhkZC5negoKMjAwNy0wOS0xNyAwNDoyNjo0OSArMDAwMCAgT2xpdmllciBDcmV0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHRtZi9nc3RkdG1mc3JjLmM6CgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZzcmMuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIE9vcHMsIHNldCB0byBubyBwcmVyb2xsIHdoZW4gcGxheWluZy0+cGF1c2VkIHRvbwoJICAyMDA3MDkxNzA0MjY0OS0zZTJkYy05NGFkYjZhYTA2MTdlODE1YTZlMjMzMjMyZGFiYjRiYmM0OGRjODJjLmd6CgoyMDA3LTA5LTE3IDAwOjM2OjU0ICswMDAwICBPbGl2aWVyIENyZXRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZzcmMuYzoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZnNyYy5oOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gQ29tcGxldGUgcG9ydCB0byBiYXNlc3JjCgkgIDIwMDcwOTE3MDAzNjU0LTNlMmRjLWRiMGY4NGRhYmQ5ZGQxYWM5MjlhMDQ2MTg2NWI4YWFhOGVmOTFhNzcuZ3oKCjIwMDctMDktMTcgMDA6MjQ6MTIgKzAwMDAgIE9saXZpZXIgQ3JldGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZnNyYy5jOgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mc3JjLmg6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBBZGQgY2FwcyBuZWdvdGlhdGlvbiBmdW5jdGlvbgoJICAyMDA3MDkxNzAwMjQxMi0zZTJkYy1jYTI2NjgxNmU5NjI5NzQ2ZTkwODNjNWJiOGI3ZjczYjk0YTliMmIwLmd6CgoyMDA3LTA5LTE3IDAwOjE2OjU5ICswMDAwICBPbGl2aWVyIENyZXRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdG1mL2dzdGR0bWZzcmMuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIFByb3Blcmx5IGZyZWUgbm9uLXN0YXJ0IGV2ZW50cwoJICAyMDA3MDkxNzAwMTY1OS0zZTJkYy1hNTcxNzc3ZTNlY2ZiOTA5ODlmODc0MTJmNTU0YWExMGEzMWNjMmNhLmd6CgoyMDA3LTA5LTE3IDAwOjE1OjUyICswMDAwICBPbGl2aWVyIENyZXRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdG1mL2dzdGR0bWZzcmMuYzoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZnNyYy5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gTWFrZSBpbnRlcnZhbCBhbmQgcGFja2V0X3JlZHVuZGFuY3kgaW50byB1aW50CgkgIDIwMDcwOTE3MDAxNTUyLTNlMmRjLTYwMDMyZTU0N2IzNjY5Yjg3MzE3Yzk4MWQ5ODVjMTU2YWFiOTFiNDAuZ3oKCjIwMDctMDktMTYgMTk6NDQ6MDggKzAwMDAgIE9saXZpZXIgQ3JldGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZnNyYy5jOgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mc3JjLmg6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBNYWtlIHRoZSBydHAgZHRtZiBzcmMgdXNlIGJhc2VzcmMKCSAgMjAwNzA5MTYxOTQ0MDgtM2UyZGMtNzM0MDAwMTMwZGNlMjQzNGEwMTRhY2Y4NDNkNjQxZmYwZTYwYWE1YS5negoKMjAwNy0wOS0xNiAxOTo0MTowMSArMDAwMCAgT2xpdmllciBDcmV0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHRtZi9nc3RkdG1mc3JjLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBNYWtlIGR0bWYgc3JjIGNvZGUgbmljZXIKCSAgMjAwNzA5MTYxOTQxMDEtM2UyZGMtYThiZThjNTA5YzY1NDAwZDFkMzk2MmRhMDJlNjdkMTVkMjA1NDMxNi5negoKMjAwNy0wOS0xNCAwNDoyMDo0MiArMDAwMCAgT2xpdmllciBDcmV0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHRtZi9nc3RkdG1mc3JjLmM6CgkqIGdzdC9kdG1mL2dzdGR0bWZzcmMuaDoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIEltcGxlbWVudCBzdG9wcGluZyBpbiBhIG5pY2UgdGhyZWFkIHNhZmUgd2F5CgkgIDIwMDcwOTE0MDQyMDQyLTNlMmRjLTFmZTI1N2ZmNGI3MmFjYTRiMGViNWYyODVhMTQ2NTBiOGRmMjY4YzMuZ3oKCjIwMDctMDktMTQgMDQ6MTg6MzQgKzAwMDAgIE9saXZpZXIgQ3JldGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R0bWYvZ3N0ZHRtZnNyYy5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gUmVtb3ZlIGdldF90aW1lcyAoV2ltIHNheXMgaXRzIG9ubHkgZ29vZCBmb3IgcmVhbGx5IGZha2Ugc291cmNlcykKCSAgMjAwNzA5MTQwNDE4MzQtM2UyZGMtZmZmNGQ1ZGEyYTE0NWYxOWU3YjYxMGExMDI3ZDJjNGQ0YmM1ZWFlMC5negoKMjAwNy0wOS0xMyAyMToyMTo0NSArMDAwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdG1mL2dzdGR0bWZzcmMuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIHVzaW5nIHRoZSB1bmxvY2sgbWV0aG9kIG9mIGJhc2VzcmMKCSAgMjAwNzA5MTMyMTIxNDUtNGYwZjYtMGU0MzhhNjgxYmYxNjUxYzBjYzBkOGZhMzI2OWFlZDNmMTY2OGI2Yi5negoKMjAwNy0wOS0xMyAyMToxMjoyNiArMDAwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdG1mL2dzdGR0bWZzcmMuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIG1vcmUgZGVidWcKCSAgMjAwNzA5MTMyMTEyMjYtNGYwZjYtYmMzMmI1ODI4ZmM4ZTAzMjNjOGE2ZWVlNzc5YTM4MTQ1YWFjZDU5My5negoKMjAwNy0wOS0xMyAyMDo0NjoxNCArMDAwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdG1mL2dzdGR0bWZzcmMuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIGFkZGVkIGRlYnVncwoJICAyMDA3MDkxMzIwNDYxNC00ZjBmNi02OGMyYTY5YWU3YTFlZmNhNmUxM2MxMTZkYmFkN2Y5YjY4NmYwMjQyLmd6CgoyMDA3LTA5LTEzIDE5OjIwOjUzICswMDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R0bWYvZ3N0ZHRtZnNyYy5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gTWFrZSBzdXJlIHRvIHVubG9jayB0aGUgdGhyZWFkIHdoZW4gZ29pbmcgdG8gcmVhZHkgYW5kIHRvIGZsdXNoIHRoZSBxdWV1ZSB3aGVuIG1vdmluZyB0byBwYXVzZWQgb3IgcGxheWluZwoJICAyMDA3MDkxMzE5MjA1My00ZjBmNi03NmMzOTI1MzgwZDFhMzA5ODgyODYxNzA1MzVhNjVkZWE2NGE1NTgzLmd6CgoyMDA3LTA5LTEzIDE3OjU1OjIwICswMDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R0bWYvZ3N0ZHRtZnNyYy5jOgoJKiBnc3QvZHRtZi9nc3RkdG1mc3JjLmg6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBDaGFuZ2VkIGR0bWZzcmMgaW50byBhIHN1YmNsYXNzIG9mIEdzdEJhc2VTcmMKCSAgMjAwNzA5MTMxNzU1MjAtNGYwZjYtMTZjYTRiZjkzNjkwMDcyZjNlODM2ZDFjOGE1YjUyY2Y3YTQyMTkxNi5negoKMjAwNy0wOS0wNCAyMjo1Nzo1MyArMDAwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdG1mL2dzdGR0bWZzcmMuYzoKCSogZ3N0L2R0bWYvZ3N0ZHRtZnNyYy5oOgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mc3JjLmM6CgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZzcmMuaDoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIEFkZCBhbm90aGVyIGZpeCBmb3IgYSBwb3NzaWJsZSByYWNlIGNvbmRpdGlvbgoJICAyMDA3MDkwNDIyNTc1My00ZjBmNi01YmE4YzQyNjBjMDAyYmIyN2ViOThlOWZhYmEzYzE1Nzk5MzU3YjU3Lmd6CgoyMDA3LTA5LTA0IDIxOjUyOjI0ICswMDAwICBPbGl2aWVyIENyZXRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdG1mL2dzdGR0bWZzcmMuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIEFkZCBjb21tZW50IHRvIGV4cGxhaW4gcHVzaCBiYWNrCgkgIDIwMDcwOTA0MjE1MjI0LTNlMmRjLWQ5MmFjMWY0MDNkY2Y1NzE1NDZhN2M1M2YxODgwOWY4NDBlZWE1MWQuZ3oKCjIwMDctMDktMDQgMjA6NTU6MDkgKzAwMDAgIE9saXZpZXIgQ3JldGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R0bWYvZ3N0ZHRtZnNyYy5jOgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mc3JjLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBQcm9wZXJseSBkbyB0aGUgbG9ja2luZyB0byBhdm9pZCByYWNlIGNvbmRpdGlvbnMgd2l0aCBjbG9jayB1bnNjaGVkdWxpbmcKCSAgMjAwNzA5MDQyMDU1MDktM2UyZGMtZGExOTkwMGI1MWFmNmFlZGI2NTQ3ZjRmMzkyYmVmNGQxMDYxZGVjMi5negoKMjAwNy0wOS0wMSAwMDowMzoyNCArMDAwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdG1mL2dzdGR0bWZzcmMuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIG91cHMsIEkgZGlkIGl0IGFnYWluLi4uCgkgIDIwMDcwOTAxMDAwMzI0LTRmMGY2LTNkOGI0NjY5MWVlNTIwNTM3YjA2YzUxMWE1ZTczMmY1YjgxMmI4NDQuZ3oKCjIwMDctMDgtMzEgMjM6NTQ6MjggKzAwMDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHRtZi9nc3RkdG1mc3JjLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBvdXBzLCBzb3JyeS4uIERUTUYsIG5vdCBSVFBfRFRNRiBmb3IgdGhpcyBmaWxlLi4uCgkgIDIwMDcwODMxMjM1NDI4LTRmMGY2LTAwYjYwNmJmYjQ4OTJlNGYyMTdjNDQwYjYxMWNjNzk0YWIwZGU1NWEuZ3oKCjIwMDctMDgtMzEgMjM6NDQ6MTMgKzAwMDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHRtZi9nc3RkdG1mc3JjLmM6CgkqIGdzdC9kdG1mL2dzdGR0bWZzcmMuaDoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZnNyYy5jOgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mc3JjLmg6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBGaXhlcyB0aGUgZGVhZGxvY2sgd2hlbiBwYXVzaW5nIHRoZSBkdG1mc3JjIGFuZCBydHBkdG1mc3JjLiBIYWQgdG8gcHVzaCBzb21ldGhpbmcgb24gdGhlIGFzeW5jIHF1ZXVlIHRvIHJlbGVhc2UgdGhlIGJsb2NraW5nIGFzeW5jX3F1ZXVlX3BvcCgpLiBUaGFua3MgdG8gT2xpdmllciBmb3IgdGhlIHNvbHV0aW9uLgoJICAyMDA3MDgzMTIzNDQxMy00ZjBmNi03OTNjZjM1ZmM0MzYzNmU3Mjc1MjU4Y2M3MDYzZmMwNjhmNWVmYTBhLmd6CgoyMDA3LTA4LTI4IDIyOjE1OjM0ICswMDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R0bWYvZ3N0ZHRtZnNyYy5jOgoJKiBnc3QvZHRtZi9nc3RkdG1mc3JjLmg6CgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZzcmMuYzoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZnNyYy5oOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gQ2xvY2tJRCB3aGVuIHdhaXRpbmcgZm9yIGJ1ZmZlciBpcyBub3cgdW5zY2hlZHVsZWQgd2hlbiBzdG9wcGluZyB0aGUgdGFzay4gVmFyaW91cyBmaXhlcyB0byBhdm9pZCBidWdzICh0aGFua3MgdG8gLVdhbGwgLVdlcnJvcikuIEZpeGVzIHRvIGFsbG93IHRoZSBtZXJnZSBvZiB0aGUgYnJhbmNoLgoJICAyMDA3MDgyODIyMTUzNC00ZjBmNi1iMGQ2YTRmZTQ4YzRlMmExNmI5ZmY2OWNiMzEwMDg3Yzk3MGNlNDhlLmd6CgoyMDA3LTA4LTI4IDE3OjE1OjQ2ICswMDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R0bWYvZ3N0ZHRtZnNyYy5jOgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mc3JjLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBDbGVhbmVkIHVwIHRoZSBjb2RlIGEgYml0LCBubyB1c2Ugb2YgR1NUXyogYW5kIHJldHVybiB2YWx1ZSB2ZXJpZmljYXRpb24gZnJvbSBnc3RfKgoJICAyMDA3MDgyODE3MTU0Ni00ZjBmNi1iZGViNGIxYjdmOTlmOTQ2NGFhYmU1YzQzYmQ0YTRkMjAyNTI2MmI2Lmd6CgoyMDA3LTA4LTI3IDE5OjU2OjEwICswMDAwICBPbGl2aWVyIENyZXRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdG1mL2dzdGR0bWZzcmMuYzoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZnNyYy5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gRml4IG92ZXJseSBsb25nIGxpbmVzIGFuZCB0YWJzCgkgIDIwMDcwODI3MTk1NjEwLTNlMmRjLTM5NmEzZmEwMWUxNmYxODRlNDEwOWM3MWZlMmRlYjZlNTE2YmRmMGQuZ3oKCjIwMDctMDgtMjcgMTk6MjY6MTggKzAwMDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHRtZi9nc3RkdG1mc3JjLmM6CgkqIGdzdC9kdG1mL2dzdGR0bWZzcmMuaDoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIHVudGFiYmlmaWVkIGR0bWZzcmMKCSAgMjAwNzA4MjcxOTI2MTgtNGYwZjYtNzdkNjgwNzA0NjRmMWI1ZjlhNDZjYjZlZWMyZDkyMjM0MDE0M2MwNC5negoKMjAwNy0wOC0yNyAxNzoyNDoyNCArMDAwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdG1mL2dzdGR0bWZzcmMuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIEZpeCBSVFAgdGltZXN0YW1wcyBieSBzZW5kaW5nIGEgbmV3X3NlZ21lbnQgZXZlbnQgdG8gdGhlIHBheWxvYWRlcgoJICAyMDA3MDgyNzE3MjQyNC00ZjBmNi1kMjA5MDdlM2Q0MzZkNTBiZmU3NGViNGZjM2QyZDZkN2I2YjZkYmM1Lmd6CgoyMDA3LTA4LTI3IDE3OjIzOjM5ICswMDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R0bWYvZ3N0ZHRtZnNyYy5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gQmV0dGVyIGhhbmRsaW5nIG9mIHBhY2tldHMsIHdlIHNlbmQgdGhlIHNhbWUgZHVyYXRpb24gZm9yIGFsbCBwYWNrZXRzIHRvIGF2b2lkIGh1Z2UgcGFja2V0cyB3aGVuIG1pbiBkdXJhdGlvbiBkZWZpbmVzIGFyZSBtb2RpZmllZC4KCSAgMjAwNzA4MjcxNzIzMzktNGYwZjYtY2M5MzMwNDQzN2VhMzc2ZmZmNjQ1OGM3NGM0NmMxOWY2OTIwZDMyOS5negoKMjAwNy0wOC0yNyAxNzoyMzoyMiArMDAwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdG1mL2dzdGR0bWZzcmMuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIENoYW5naW5nIG1pbmltdW0gdmFsdWVzIHRvIHdvcmsgYmV0dGVyIG9uIHNvbWUgZ2F0ZXdheXMKCSAgMjAwNzA4MjcxNzIzMjItNGYwZjYtNWJmMmJmZmE1OWE4MjQ0NTM4ZGNlZDc5NWZhN2Q3NjQ5NDUyY2E5MS5negoKMjAwNy0wOC0yMiAyMDoxNjo1MyArMDAwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdG1mL2dzdGR0bWZzcmMuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIFRoZSBEVE1GIHRvbmUgZ2VuZXJhdG9yIG5vdyByZXNwZWN0cyB0aGUgdm9sdW1lIGFyZ3VtZW50IHBhc3NlZCBpbiB0aGUgZXZlbnQKCSAgMjAwNzA4MjIyMDE2NTMtNGYwZjYtOGI3ZmY4NzQwMDZlMTFmNWE3NGQwZmQ5MWU1YTlhNDNjZDA4MmFkYS5negoKMjAwNy0wOC0yMiAxODowMTozMyArMDAwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdG1mL2dzdGR0bWZzcmMuaDoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIGRvbid0IGtub3cgd2h5IEkgZGlkIHRoYXQuLi4KCSAgMjAwNzA4MjIxODAxMzMtNGYwZjYtNmE3MzgyZjZjN2QzNjMwZjkxZGEzODRlMTkwNDc2M2M3ZWE2ZmExYS5negoKMjAwNy0wOC0yMiAxNzo1NTozMyArMDAwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZzcmMuYzoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZnNyYy5oOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gUG9ydGVkIHRoZSBldmVudCBxdWV1ZSB3b3JrIGZyb20gZHRtZnNyYyB0byBydHBkdG1mc3JjCgkgIEFkZGVkIGEgcXVldWUgYmFzZWQgc3lzdGVtIGZvciB0aGUgcnRwZHRtZnNyYy4gTm93IGl0IHdhaXRzIGZvciBzdGFydC9zdG9wIG1lc3NhZ2VzIG9uIHRoZSBxdWV1ZSwgYW5kIG1ha2VzIHN1cmUgdGhhdCB0aGUgbWluaW11bSBkdXR5IGN5Y2xlICgxMjBtcykgaXMgcmVzcGVjdGVkIGJldHdlZW4gZWFjaAoJICB0b25lLCBpbmNsdWRpbmcgaW50ZXItZGlnaXQgc2lsZW5jZS4KCSAgMjAwNzA4MjIxNzU1MzMtNGYwZjYtZjI3NDE0YzQwNmYxZjdiMDBjOWE5MDg0YTk4OGNmM2E3OTMwZmU1Yy5negoKMjAwNy0wOC0yMiAxNzo1NDo0NCArMDAwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdG1mL2dzdGR0bWZzcmMuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIG91Y2gsIHByaW50aW5nIHdpdGggYXJndW1lbnRzIGJ1dCB3aXRob3V0ICVzLi4gdGhhdCBtYWRlIGl0IHNlZ2ZhdWx0IGEgZmV3IHRpbWVzLi4uCgkgIDIwMDcwODIyMTc1NDQ0LTRmMGY2LTQ0NWVhNmNlN2E5NjY4ZDA0Y2Y5OTlhZjc3MmE1MDRlYzc0ZmI2N2EuZ3oKCjIwMDctMDgtMjIgMTc6NTE6MjYgKzAwMDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHRtZi9nc3RkdG1mc3JjLmM6CgkqIGdzdC9kdG1mL2dzdGR0bWZzcmMuaDoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIE1vdmVkIHRoZSB0aW1lc3RhbXAgZnJvbSB0aGUgZXZlbnQgdG8gZHRtZnNyYyBzdHJ1Y3R1cmUgc2luY2Ugd2UgaGF2ZSBvbmx5IG9uZSBldmVudCBhdCBhIHRpbWUsIHNvIGxldCdzIGtlZXAgaXQgc3RvcmVkIGluIHRoZSBkdG1mc3JjIHN0cnVjdAoJICAyMDA3MDgyMjE3NTEyNi00ZjBmNi01M2JjZGEyYmQ4YWU4YzU2ZDI5ZTYyZTY5YWMxOWEzMGUwOGFkMzUwLmd6CgoyMDA3LTA4LTIwIDIwOjM4OjI2ICswMDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R0bWYvZ3N0ZHRtZnNyYy5jOgoJKiBnc3QvZHRtZi9nc3RkdG1mc3JjLmg6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBBZGRlZCBhIHF1ZXVlIGJhc2VkIHN5c3RlbSBmb3IgdGhlIGR0bWZzcmMuIE5vdyBpdCB3YWl0cyBmb3Igc3RhcnQvc3RvcCBtZXNzYWdlcyBvbiB0aGUgcXVldWUsIGFuZCBtYWtlcyBzdXJlIHRoYXQgdGhlIG1pbmltdW0gZHV0eSBjeWNsZSAoMTIwbXMpIGlzIHJlc3BlY3RlZCBiZXR3ZWVuIGVhY2ggdG9uZSwgaW5jbHVkaW5nIGludGVyLWRpZ2l0IHNpbGVuY2UuCgkgIDIwMDcwODIwMjAzODI2LTRmMGY2LTc1MGEyMmI2MTJhNWU0OTVlNzY3NjY2OTM0NDY1YzM0ZmUzMjA3NGIuZ3oKCjIwMDctMDgtMjAgMTg6NDg6NTIgKzAwMDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHRtZi9NYWtlZmlsZS5hbToKCSogZ3N0L2R0bWYvZ3N0ZHRtZi5jOgoJKiBnc3QvZHRtZi9nc3RkdG1mc3JjLmM6CgkqIGdzdC9kdG1mL2dzdGR0bWZzcmMuaDoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZnNyYy5jOgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mc3JjLmg6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBBZGRlZCBkdG1mc3JjLCBhIERUTUYgVG9uZSBHZW5lcmF0b3IsIGFuZCBtYWRlIGl0IHBhcnQgb2YgdGhlICdkdG1mJyBwbHVnaW4uCgkgIDIwMDcwODIwMTg0ODUyLTRmMGY2LWEwZDg1ZTY3NzA4MjkwYWViYWZhODlhYjc5ZDNjZWRkNTgxNWI2MjAuZ3oKCjIwMDctMDgtMjAgMTg6NDg6MDAgKzAwMDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHRtZi8uZ2l0LWRhcmNzLWRpcjoKCSogZ3N0L2R0bWYvTWFrZWZpbGUuYW06CgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZzcmMuYzoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZnNyYy5oOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gTW92ZWQgcnRwZHRtZiB0byBkdG1mIGRpcmVjdG9yeQoJICAyMDA3MDgyMDE4NDgwMC00ZjBmNi1mYTMzZWE5NzQ1MTAxNjFkZThjOTk1MWMzOTA4N2FmMzYxM2I2NWE0Lmd6CgoyMDA5LTAyLTIxIDEyOjQ3OjAwICswMTAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXMgKGF0KSBhcGVzdGFhcnQgKGRvdCkgb3JnPgoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5jOgoJICByZXNwZWN0IERFRkFVTFQgc2VnbWVudCBieSBjbGlwcGluZyB0aGUgbGFzdCBidWZmZXIgdG8gYmUgc2VudAoKPT09IHJlbGVhc2UgMC4xMC4xNCA9PT0KCjIwMDktMDItMTkgMjA6MDk6MDcgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIENoYW5nZUxvZzoKCSogTkVXUzoKCSogUkVMRUFTRToKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmludGVyZmFjZXM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMucHJlcmVxdWlzaXRlczoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLTEzOTQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWFzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGFjb2xvci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbm5vZGV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFwZXRhZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb2Z4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2RldGVjdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdmkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FjYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2Fpcm8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY3V0dGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZW5jZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmZlY3R2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVxdWFsaXplci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lc2RzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx4ZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdhbW1hLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdjb25mZWxlbWVudHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2RrcGl4YnVmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbTJrMS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1oYWxlbGVtZW50cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pY3lkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pZDNkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlcmxlYXZlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwZWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGV2ZWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWF0cm9za2EueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW9ub3Njb3BlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpZmlsZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aXBhcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmF2aWdhdGlvbnRlc3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5nLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXB1bHNlYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcXVpY2t0aW1lLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlcGxheWdhaW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0c3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hvdXQyc2VuZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbXB0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWN0cnVtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXRhZ2xpYi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi11ZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW80bGludXgyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvYmFsYW5jZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2JveC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2Nyb3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9mbGlwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvbWl4ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2ZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teGltYWdlc3JjLnhtbDoKCSogZ3N0LXBsdWdpbnMtZ29vZC5kb2FwOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIFJlbGVhc2UgMC4xMC4xNAoKMjAwOS0wMi0xOSAyMDowNzo0MSArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogcG8vYWYucG86CgkqIHBvL2F6LnBvOgoJKiBwby9iZy5wbzoKCSogcG8vY2EucG86CgkqIHBvL2NzLnBvOgoJKiBwby9kYS5wbzoKCSogcG8vZW5fR0IucG86CgkqIHBvL2VzLnBvOgoJKiBwby9ldS5wbzoKCSogcG8vZmkucG86CgkqIHBvL2ZyLnBvOgoJKiBwby9odS5wbzoKCSogcG8vaWQucG86CgkqIHBvL2l0LnBvOgoJKiBwby9qYS5wbzoKCSogcG8vbHQucG86CgkqIHBvL210LnBvOgoJKiBwby9uYi5wbzoKCSogcG8vbmwucG86CgkqIHBvL29yLnBvOgoJKiBwby9wbC5wbzoKCSogcG8vcHRfQlIucG86CgkqIHBvL3J1LnBvOgoJKiBwby9zay5wbzoKCSogcG8vc3EucG86CgkqIHBvL3NyLnBvOgoJKiBwby9zdi5wbzoKCSogcG8vdWsucG86CgkqIHBvL3ZpLnBvOgoJKiBwby96aF9DTi5wbzoKCSogcG8vemhfSEsucG86CgkqIHBvL3poX1RXLnBvOgoJICBVcGRhdGUgLnBvIGZpbGVzCgoyMDA5LTAyLTE5IDEzOjE2OjM5ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBnc3QvYXVkaW9meC9hdWRpb2VjaG8uYzoKCSogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b2F1ZGlvc3JjLmM6CgkqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG92aWRlb3NyYy5jOgoJICBVcGRhdGUgU2luY2U6IHRhZ3MgaW4gYXV0b2RldGVjdCBzcmNzIGFuZCBhdWRpb2VjaG8KCjIwMDktMDItMTkgMTE6MTI6NTggKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIENoYW5nZUxvZzoKCSAgVXBkYXRlIENoYW5nZUxvZyBmb3IgMC4xMC4xMy4zCgoyMDA5LTAyLTE5IDExOjA5OjAzICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBjb25maWd1cmUuYWM6CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgMC4xMC4xMy4zIHByZS1yZWxlYXNlCgoyMDA5LTAyLTEwIDExOjI1OjQ5ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9wdWxzZS9wdWxzZW1peGVyY3RybC5jOgoJICBwdWxzZW1peGVyOiBGaXggY29tcGlsZXIgd2FybmluZ3MuCgkgIENhc3QgKGVudW0gKikgdG8gKGludCAqKSwgbm90IG5lY2Vzc2FyaWx5IHRlY2huaWNhbGx5IHJpZ2h0LAoJICBidXQgcGx1Z3MgIzU3MTE1My4KCjIwMDktMDItMTMgMTg6MDM6MTQgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmg6CgkgIHB1bHNlc2luazogSXNzdWUgcHJvcGVydHkgY2hhbmdlIG5vdGlmaWNhdGlvbiBpbiBzdHJlYW1pbmcgdGhyZWFkLCByYXRoZXIgdGhhbiBQQSB0aHJlYWQuCgkgIHBhX3RocmVhZGVkX21haW5sb29wX2xvY2soKSAoYS5vLikgYW5kIGJ5IGV4dGVuc2lvbiBnZXRfcHJvcGVydHkgc2hvdWxkCgkgIG5vdCBiZSBkb25lIGZyb20gYSBQQSB0aHJlYWQsIGJ1dCB0aGUgbGF0dGVyIG1heSBvY2N1ciBhcyBhIHJlc3VsdCBvZiBhCgkgIHByb3BlcnR5IGNoYW5nZSBub3RpZmljYXRpb24uICBGaXhlcyAjNTcxMjA0ICh0aG91Z2ggY3VycmVudCBzaXR1YXRpb24KCSAgbm90IGlkZWFsLCBlLmcuIHBvc3QgbWVzc2FnZSByYXRoZXIgdGhhbiBzaWduYWwpLgoKMjAwOS0wMi0xMCAxMToyNzo1MSArMDEwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC92aWRlb2Nyb3AvZ3N0YXNwZWN0cmF0aW9jcm9wLmM6CgkgIGFzcGVjdHJhdGlvY3JvcDogRG9uJ3QgZm9yZ2V0IHRvIGNhbGwgcGFyZW50IGZpbmFsaXplIGltcGxlbWVudGF0aW9uLgoJICBUaGlzIGZpeGVzIGEgbWVtb3J5IGxlYWsgKGxlYWtpbmcgdGhlIGNvbnRhaW5lZCBlbGVtZW50cyBvZiB0aGUgYmluKS4KCjIwMDktMDItMTAgMDg6NDM6NTkgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBzeXMvb3N4dmlkZW8vb3N4dmlkZW9zaW5rLm06CgkgIG9zeHZpZGVvc2luazogRml4IGJ1aWxkLiBGaXhlcyAjNTcxMDM4CgoyMDA5LTAyLTA5IDEyOjE4OjM2ICswMTAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogY29tbW9uOgoJICBCdW1wIHJldmlzaW9uIHRvIHVzZSBmb3IgY29tbW9uIHN1Ym1vZHVsZS4KCjIwMDktMDItMDcgMTY6MDA6NDkgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIENoYW5nZUxvZzoKCSAgQ2hhbmdlTG9nOiBVcGRhdGUgQ2hhbmdlTG9nIGZvciAwLjEwLjEzLjIKCjIwMDktMDItMDcgMTU6NTg6NTUgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIHBvL2FmLnBvOgoJKiBwby9hei5wbzoKCSogcG8vYmcucG86CgkqIHBvL2NhLnBvOgoJKiBwby9jcy5wbzoKCSogcG8vZGEucG86CgkqIHBvL2VuX0dCLnBvOgoJKiBwby9lcy5wbzoKCSogcG8vZXUucG86CgkqIHBvL2ZpLnBvOgoJKiBwby9mci5wbzoKCSogcG8vaHUucG86CgkqIHBvL2lkLnBvOgoJKiBwby9pdC5wbzoKCSogcG8vamEucG86CgkqIHBvL2x0LnBvOgoJKiBwby9tdC5wbzoKCSogcG8vbmIucG86CgkqIHBvL25sLnBvOgoJKiBwby9vci5wbzoKCSogcG8vcGwucG86CgkqIHBvL3B0X0JSLnBvOgoJKiBwby9ydS5wbzoKCSogcG8vc2sucG86CgkqIHBvL3NxLnBvOgoJKiBwby9zci5wbzoKCSogcG8vc3YucG86CgkqIHBvL3VrLnBvOgoJKiBwby92aS5wbzoKCSogcG8vemhfQ04ucG86CgkqIHBvL3poX0hLLnBvOgoJKiBwby96aF9UVy5wbzoKCSAgcG86IFVwZGF0ZSB0cmFuc2xhdGlvbnMgZm9yIDAuMTAuMTMuMgoKMjAwOS0wMi0wNyAxNTo0NjowNyArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogY29uZmlndXJlLmFjOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIFJlbGVhc2UgMC4xMC4xMy4yCgoyMDA5LTAyLTA3IDE1OjQwOjUzICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBwby9MSU5HVUFTOgoJKiBwby9tdC5wbzoKCSAgcG86IEFkZCBNYWx0ZXNlIHRyYW5zbGF0aW9uCgoyMDA5LTAyLTA2IDE2OjE2OjA1IC0wODAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eF9kdW1wLmM6CgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXhfZHVtcC5oOgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4X2ZvdXJjYy5oOgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4X3R5cGVzLmM6CgkgIHF0ZGVtdXg6IEFkZCBoYW5kbGluZyBmb3Igc3RwcyBhdG9tcwoJICBzdHBzIGF0b21zIGNvbnRhaW4gInBhcnRpYWwgc3luYyIgaW5mb3JtYXRpb24sIHdoaWNoIG1lYW5zIHRoYXQgaXQncwoJICBhIHN5bmMgcG9pbnQgd2hlcmUgcHRzICE9IGR0cy4gIFRoaXMgaXMgbmVlZGVkIHRvIHByb3Blcmx5IGhhbmRsZQoJICBNUEVHMiwgSC4yNjQsIERpcmFjLCBldGMuLCBpbiBxdWlja3RpbWUuCgoyMDA5LTAyLTA1IDE1OjUxOjQyIC0wODAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAc29uZ2JpcmRuZXN0LmNvbT4KCgkqIGV4dC9mbGFjL2dzdGZsYWNkZWMuYzoKCSAgZmxhY2RlYzogaWYgd2UgYWJvcnRlZCByZWFkaW5nLCBkb24ndCBkbyBpbnRvIGFuIGluZmluaXRlIGxvb3AuCgkgIElmIG91ciByZWFkIGNhbGxiYWNrIHJhbiBvdXQgb2YgZGF0YSwgc28gaGFkIHRvIGFib3J0IHJlYWRpbmcsIHdlIHJldHVybgoJICBHU1RfRkxPV19FUlJPUiBpbnN0ZWFkIG9mIGdvaW5nIGludG8gYW4gaW5maW5pdGUgbG9vcC4KCjIwMDktMDItMDUgMTA6MTk6MzcgLTA4MDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEBzb25nYmlyZG5lc3QuY29tPgoKCSogc3lzL29zeHZpZGVvL29zeHZpZGVvc2luay5oOgoJKiBzeXMvb3N4dmlkZW8vb3N4dmlkZW9zaW5rLm06CgkgIG9zeHZpZGVvc2luazogcmVtb3ZlIG5vbi1lbWJlZGRlZCBtb2RlIGFuZCBmaXggbWVtb3J5IG1hbmFnZW1lbnQuCgkgIFJlbW92ZSBub24tZW1iZWRkZWQgbW9kZS4gRW1iZWQgbW9kZSBiZWNvbWVzIGRlZmF1bHQgYW5kIG9ubHkgbW9kZS4KCSAgZW1iZWQgcHJvcGVydHkgaXMgcmV0YWluZWQgZm9yIGJpbmFyeSBjb21wYXRpYmlsaXR5LgoJICBBZGRlZCBhdXRvcmVsZWFzZSBwb29scyBhcm91bmQgYWxsIG9iamMgZnVuY3Rpb25zIHRoYXQgbWlnaHQgYmUgY2FsbGVkCgkgIGZyb20gYSBub24tbWFpbiB0aHJlYWQuCgoyMDA5LTAyLTA1IDIwOjAyOjAxICswMTAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXMgKGF0KSBhcGVzdGFhcnQgKGRvdCkgb3JnPgoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5jOgoJICBkZWJ1ZyBvbiB0aGUgb2JqZWN0CgoyMDA5LTAyLTA0IDE2OjQwOjEzIC0wODAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAc29uZ2JpcmRuZXN0LmNvbT4KCgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hyaW5nYnVmZmVyLmM6CgkgIG9zeGF1ZGlvIGZpeGVzOiBtdWx0aWNoYW5uZWwgYW5kIGNoYW5naW5nIGNhcHMuCgkgIEVuc3VyZSB3ZSBjcmVhdGUgdGhlIHJpbmdidWZmZXIgc2VnbWVudCBzaXplIGFzIGEgbXVsdGlwbGUgb2YgdGhlCgkgIGJ5dGVzIHBlciBzYW1wbGUgKGZpeGVzIDYtY2hhbm5lbCBvdXRwdXQpLgoJICBSZXNldCB0aGUgc2Vnb2Zmc2V0IHdoZW4gYWNxdWlyaW5nIHRoZSByaW5nYnVmZmVyLCBzbyB3ZSBkb24ndCByZXRhaW4KCSAgYSBib2d1cyBvZmZzZXQgd2hlbiBjYXBzIGNoYW5nZS4KCjIwMDktMDItMDQgMTE6Mzg6MzAgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuaDoKCSAgcnRzcHNyYzogS2VlcCB0cmFjayBvZiBjb25uZWN0ZWQgc3RhdGUKCSAgS2VlcCB0cmFjayBvZiB0aGUgc3RhdGUgb2YgdGhlIGNvbm5lY3Rpb24gYW5kIGRvbid0IHRyeSB0byBzZW5kIFRFQVJET1dOIHdoZW4KCSAgdGhlIHNlcnZlciBoYXMgY2xvc2VkIHRoZSBjb25uZWN0aW9uLgoKMjAwOS0wMi0wNCAwOToyMDoyOCArMDEwMCAgUm9iaW4gU3RvY2tlciA8cm9iaW5Abmlib3Iub3JnPgoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIFJlYWQgTWF0cm9za2EgVGl0bGUgZWxlbWVudCBmb3IgdGhlIFRJVExFIHRhZwoJICBOb3QgYWxsIE1hdHJvc2thIGZpbGVzIGhhdmUgYSBUYWdzIGVsZW1lbnQgd2hpY2ggY29udGFpbnMKCSAgaW5mb3JtYXRpb24gYWJvdXQgdGhlIHRpdGxlIGFtb25nIG90aGVyIHRoaW5ncy4gTW9zdCB2aWRlbwoJICBNYXRyb3NrYSBmaWxlcyBvbmx5IGNvbnRhaW4gdGhlIFRpdGxlIGVsZW1lbnQgc28gd2UKCSAgc2hvdWxkIHBhcnNlIHRoaXMgdG9vLiBGaXhlcyBidWcgIzU3MDQzNS4KCjIwMDktMDItMDMgMjI6MzQ6MzggKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmUuYWM6IGJ1bXAgY29yZS9iYXNlIHJlcXVpcmVtZW50cyB0byByZWxlYXNlZCB2ZXJzaW9ucwoKMjAwOS0wMi0wMyAxNzoxMDozMCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdWRpb2VjaG8uYzoKCSAgRml4IGF1ZGlvZWNobyB1bml0IHRlc3Qgb24gMzIgYml0IHN5c3RlbXMKCSAgQ2FzdCB0aGUgbmV3IHZhbHVlIGZvciB0aGUgImRlbGF5IiBwcm9wZXJ0eSB0byBHc3RDbG9ja1RpbWUuCgkgIEludGVnZXJzIHdpdGhvdXQgdHlwZSBhcmUgcGFzc2VkIHRvIHZhcmFyZyBmdW5jdGlvbnMgd2l0aAoJICBhbiBpbnRlZ2VyIHR5cGUgdGhhdCBjYW4gaG9sZCBhIHBvaW50ZXIuCgoyMDA5LTAyLTAzIDE0OjA5OjI2ICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplci5jOgoJICBlcXVhbGl6ZXI6IERvbid0IHJlc2V0IGZyZXF1ZW5jeSBiYW5kcyBmcm9tIHVzZXIgc2V0dGluZ3MuIEZpeGVzICM1NzAzNDMuCgkgIE1vdmUgcmVhbGxvY2F0aW5nIHRoZSBoaXN0b3J5IGJ1ZmZlciBvdXQgb2YgX2NvbXB1dGVfZnJlcXVlbmNpZXMoKSBhbmQgY2FsbCB0aGUKCSAgcmlnaHQgZnVuY3Rpb24gYXMgbmVlZGVkLiBBZGQgc29tZSBsb2dnaW5nIGFuZCB0d2VhayB0aGUgZm9ybWF0dGluZyBvZiBleGlzdGluZwoJICBsb2dnaW5nLiBTaW1wbGlmeSBzZXR0aW5nIG5lZWRfbmV3X2NvZWZmaWNpZW50cyB3aGVuIGNoYW5naW5nIHByb3BlcnRpZXMuCgoyMDA5LTAyLTAzIDExOjUyOjE1ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb2Z4L2F1ZGlvZWNoby5jOgoJICBVc2UgZ3VpbnQ2NCBpbnN0ZWFkIG9mIGd1aW50IGZvciBzdG9yaW5nIGd1aW50NjQKCjIwMDktMDItMDIgMTg6Mzc6MzUgKzAxMDAgIEpvbmF0aGFuIE1hdHRoZXcgPG5vdHZlcnlzbWFydEBnbWFpbC5jb20+CgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOgoJICBVc2UgY29ycmVjdCBmbGFnIGZvciB0aGUgR05PTUUgcHJveHkgY29uZmlndXJhdGlvbgoJICBGaXhlcyBidWcgIzU1MjE0MC4KCjIwMDktMDItMDIgMTM6MDg6MTQgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9pY2xlcy92NGwyc3JjLXRlc3QuYzoKCSAgRml4IGNvbXBpbGVyIHdhcm5pbmdzCgkgIGZpeCBjb21waWxlciB3YXJuaW5ncyBkdWUgdG8gdW51c2VkIHJldHVybiB2YWx1ZXMgb2Ygc2NhbmYuCgoyMDA5LTAxLTMxIDExOjA4OjMwICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2ljbGVzL3Y0bDJzcmMtdGVzdC5jOgoJICBGaXggZm9ybWF0IHN0cmluZyBjb21waWxlciB3YXJuaW5nCgoyMDA5LTAxLTMwIDIyOjI0OjE0ICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSAgQWRkIHJlbGVhc2VpbmZvIHdpdGggb25saW5lIHVybC4KCjIwMDktMDEtMzAgMTg6MDQ6MTEgKzAwMDAgIEphbiBTY2htaWR0IDxqYW4uc2NobWlkdEBzdW4uY29tPgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2ljbGVzL01ha2VmaWxlLmFtOgoJICBGaXggdXAgc29tZSBjb21waWxlIGZsYWdzCgoyMDA5LTAxLTMwIDE3OjM1OjQ5ICswMDAwICBKYW4gU2NobWlkdCA8amFuLnNjaG1pZHRAc3VuLmNvbT4KCgkqIGdzdC92aWRlb2Nyb3AvZ3N0dmlkZW9jcm9wLmM6CgkgIERvbid0IHVzZSBHbGliIDIuMTYgZnVuY3Rpb24gZ19zdHJjbXAwLgoKMjAwOS0wMS0zMCAxNzozNDo0NSArMDAwMCAgSmFuIFNjaG1pZHQgPGphbi5zY2htaWR0QHN1bi5jb20+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIERvbid0IGRvIHZvaWQgcG9pbnRlciBhcml0aG1ldGljCgoyMDA5LTAxLTMwIDE3OjI2OjE5ICswMDAwICBKYW4gU2NobWlkdCA8amFuLnNjaG1pZHRAc3VuLmNvbT4KCgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkgIEZpeCBGb3J0ZSBjb21waWxlciB3YXJuaW5ncy4KCSAgRG9uJ3QgZG8gdm9pZCBwb2ludGVyIGFyaXRobWV0aWMuIERvbid0IGhhdmUgYW4gdW5yZWFjaGFibGUgc3RhdGVtZW50LgoKMjAwOS0wMS0zMCAxNzoyOTo0NSArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogY29tbW9uOgoJICBCdW1wIGNvbW1vbgoKMjAwOS0wMS0yNiAxMDozMzo1NSArMDEwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgUmVtb3ZlIHVzZWxlc3MgcHJvY2Vzc2luZyBmb3Igbm9uLXJhdyBmb3JtYXRzCgoyMDA5LTAxLTMwIDE1OjM0OjMxICswMTAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4X2ZvdXJjYy5oOgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4X3R5cGVzLmM6CgkgIEFkZCBzdXBwb3J0IGZvciB0aGUgJ1JlcXVpcmVtZW50JyBhbmQgJ0VuY29kZXInIHRhZ3MKCjIwMDktMDEtMzAgMTU6MzM6MTkgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIE1vZGlmeSBwcml2YXRlLXRhZyBuYW1lIGZvcm1hdHRlciBzbyB0aGF0IGl0IGRvZXNuJ3QgZ28gbWFkIGF0IGZvdXJjYyBzdGFydGluZyB3aXRoICcoYyknLgoKMjAwOS0wMS0zMCAxNDo0MDo1MSArMDEwMCAgQnJpamVzaCBTaW5naCA8YnJpamVzaC5rc2luZ2hAZ21haWwuY29tPgoKCSogc3lzL3Y0bDIvZ3N0djRsMnR1bmVyLmM6CgkgIEZpeCBjb21wYXJpc29uIG9mIHRoZSB0dW5lciBub3JtcwoJICBUaGUgVjRMMiB0dW5lciBub3JtcyB0aGF0IGEgZGV2aWNlIHN1cHBvcnRzIGNvdWxkCgkgIGJlIGEgc3Vic2V0IG9mIHNvbWUgbm9ybSAoZS5nLiBOVFNDIGluc3RlYWQgb2YgTlRTQ19NKS4KCSAgVGhlIGNvbXBhcmlzb24gc2hvdWxkIGJlIGRvbmUgYnkgJiBpbnN0ZWFkIG9mID09LgoJICBTZWUgaHR0cDovL3d3dy5saW51eHR2Lm9yZy9kb3dubG9hZHMvdmlkZW80bGludXgvQVBJL1Y0TDJfQVBJL3NwZWMtc2luZ2xlL3Y0bDIuaHRtbCNTVEFOREFSRAoJICBGaXhlcyBidWcgIzU2OTgyMC4KCjIwMDktMDEtMzAgMDg6NTM6MDYgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBhdXRvZ2VuLnNoOgoJKiBjb21tb246CgkgIFVzZSBhIHN5bWJvbGljIGxpbmsgZm9yIHRoZSBwcmUtY29tbWl0IGNsaWVudC1zaWRlIGhvb2sKCjIwMDktMDEtMjkgMTQ6MDg6NTYgKzAxMDAgIFRoaWpzIFZlcm1laXIgPHRoaWpzdmVybWVpckBnbWFpbC5jb20+CgoJKiBnc3QvdmlkZW9jcm9wL2dzdGFzcGVjdHJhdGlvY3JvcC5jOgoJICBPbmx5IHVucmVmIHRoZSBwZWVyIHdoZW4gdGhlcmUgaXMgb25lLgoKMjAwOS0wMS0yOSAxMTowNzo1OSArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2F2aS9nc3RhdmltdXguYzoKCSogZ3N0L2ludGVybGVhdmUvZGVpbnRlcmxlYXZlLmM6CgkqIGdzdC9pbnRlcmxlYXZlL2ludGVybGVhdmUuYzoKCSogc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuYzoKCSogc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdHNvdW5kc2luay5jOgoJKiBzeXMvb3N4dmlkZW8vb3N4dmlkZW9zaW5rLm06CgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzoKCSogc3lzL3dhdmVmb3JtL2dzdHdhdmVmb3Jtc2luay5jOgoJICBSZW1vdmUgdmVyc2lvbiBudW1iZXJzIGZyb20gYSBmZXcgZ3N0LWxhdW5jaCBleGFtcGxlcy4KCSAgVGhlIG1ham9yaXR5IG9mIHRoZSBleGFtcGxlcyBkb2Ugbm90IHVzZSAtMC4xMCBhbmQgdGhpcyB3aWxsIGFsc28gaGVscCB1cyB0byBtYWludGFpbiB0aGUgZG9jcy4KCjIwMDktMDEtMjkgMTA6MTA6MDggKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmM6CgkqIHN5cy9kaXJlY3Rzb3VuZC9nc3RkaXJlY3Rzb3VuZHNpbmsuYzoKCSogc3lzL29zcy9nc3Rvc3NtaXhlcmVsZW1lbnQuYzoKCSogc3lzL29zcy9nc3Rvc3NzaW5rLmM6CgkqIHN5cy9vc3MvZ3N0b3Nzc3JjLmM6CgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hhdWRpby5jOgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4YXVkaW9zaW5rLmM6CgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hhdWRpb3NyYy5jOgoJKiBzeXMvb3N4dmlkZW8vb3N4dmlkZW9zaW5rLm06CgkqIHN5cy9zdW5hdWRpby9nc3RzdW5hdWRpb21peGVyLmM6CgkqIHN5cy9zdW5hdWRpby9nc3RzdW5hdWRpb3NpbmsuYzoKCSogc3lzL3N1bmF1ZGlvL2dzdHN1bmF1ZGlvc3JjLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzoKCSogc3lzL3dhdmVmb3JtL2dzdHdhdmVmb3Jtc2luay5jOgoJKiBzeXMveGltYWdlL2dzdHhpbWFnZXNyYy5jOgoJICBVcGRhdGUgYW5kIGFkZCBkb2N1bWVudGF0aW9uIGZvciBwbGF0Zm9ybSBzcGVjaWZpYyBwbHVnaW5zIChzeXMpLgoJICBMaW5rIHRvIHByb3BlcnRpZXMuIENvcnJlY3QgdGl0bGVzIGZvciBleGFtcGxlcy4gRml4IGV4YW1wbGVzLgoKMjAwOS0wMS0yOSAwOTo0NToyNSArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L211bHRpcGFydC9tdWx0aXBhcnRtdXguYzoKCSAgQWRkICcgdG8gZnJhbWVyYXRlIGFyZ3VtZW50IGFuZCByZW1vdmUgdGhlIHdvcmQgJ3NpbXBsZScgYXMgYWxsIG91ciBwaXBlbGluZXMgYXJlIGFwcGFyZW50bHkgc2ltcGxlLgoKMjAwOS0wMS0yOSAwOTo0Mjo1NiArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L2pwZWcvZ3N0anBlZ2RlYy5jOgoJKiBleHQvanBlZy9nc3RqcGVnZW5jLmM6CgkgIEFkZCBleGFtcGxlcyBmb3IgdGhlIGpwZWcgZWxlbWVudHMuCgoyMDA5LTAxLTI4IDIxOjQwOjExICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkgIEZpeCBjb21waWxlIGVycm9yIGluIHRoZSBsYXN0IGNvbW1pdAoKMjAwOS0wMS0yOCAyMDozNDo0MCArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvcHVsc2UvcHVsc2Vwcm9iZS5jOgoJKiBleHQvcHVsc2UvcHVsc2Vwcm9iZS5oOgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkqIGV4dC9wdWxzZS9wdWxzZXNpbmsuaDoKCSogZXh0L3B1bHNlL3B1bHNlc3JjLmM6CgkqIGV4dC9wdWxzZS9wdWxzZXNyYy5oOgoJKiBleHQvcHVsc2UvcHVsc2V1dGlsLmM6CgkqIGV4dC9wdWxzZS9wdWxzZXV0aWwuaDoKCSAgUmV3cml0ZSB0aGUgcHVsc2UgcGx1Z2luLCBjb25kaXRpb25hbGx5IGVuYWJsaW5nIG5ldyBiZWhhdmlvdXIgd2l0aCBuZXdlciBwdWxzZWF1ZGlvLgoJICBGaXhlczogIzU2Nzc5NAoJICAqIEhvb2sgcHVsc2VzaW5rJ3Mgdm9sdW1lIHByb3BlcnR5IHVwIHdpdGggdGhlIHN0cmVhbSB2b2x1bWUgLS0gbm90IHRoZQoJICBzaW5rIHZvbHVtZSBpbiBQQS4KCSAgKiBSZWFkIHRoZSBkZXZpY2UgZGVzY3JpcHRpb24gZGlyZWN0bHkgZnJvbSB0aGUgc2luayBpbnN0ZWFkIG9mIGdvaW5nCgkgIHZpYSB0aGUgbWl4ZXIuCgkgICogUHJvcGVybHkgaW1wbGVtZW50IF9yZXNldCgpIG1ldGhvZHMgZm9yIGJvdGggc2luayBhbmQgc291cmNlIHRvIGF2b2lkCgkgIGRlYWRsb2NrcyB3aGVuIHNodXR0aW5nIGRvd24gYSBwaXBlbGluZS4KCSAgKiBSZXBsYWNlIGFsbCBzaW1wbGUgcGFfdGhyZWFkZWRfbWFpbmxvb3Bfd2FpdCgpIGJ5IHByb3BlciBsb29wcyB0bwoJICBndWFyYW50ZWUgdGhhdCB3ZSB3YWl0IGZvciB0aGUgcmlnaHQgZXZlbnQgaW4gY2FzZSBtdWx0aXBsZSBldmVudHMgYXJlCgkgIGZpcmVkLiAgV2hpbGUgdGhpcyBpcyBub3Qgc3RyaWN0bHkgbmVjZXNzYXJ5IGluIG1hbnkgY2FzZXMgaXQKCSAgY2VydGFpbmx5IGlzIG1vcmUgY29ycmVjdCBhbmQgbWFrZXMgbWUgc2xlZXAgYmV0dGVyIGF0IG5pZ2h0LgoJICAqIFJlcGxhY2UgQ0hFQ0tfREVBRF9HT1RPIG1hY3JvcyB3aXRoIHByb3BlciBmdW5jdGlvbnMKCSAgKiBFeHRlbmQgdGhlIG51bWJlciBvZiBzdXBwb3J0ZWQgY2hhbm5lbHMgdG8gMzIgc2luY2UgdGhhdCBpcyB0aGUgYWN0dWFsCgkgIGxpbWl0IGluIFBBLgoJICAqIEdldCByaWQgb2YgX2Rpc3Bvc2UoKSBtZXRob2RzIHNpbmNlIHdlIGRvbid0IG5lZWQgdGhlbS4KCSAgKiBJbmNyZWFzZSB0aGUgdm9sdW1lIHByb3BlcnR5IHVwcGVyIGxpbWl0IG9mIHRoZSBzaW5rIHRvIDEwMDAuCgkgICogUmVzZXQgZnVuY3Rpb24gcG9pbnRlcnMgYWZ0ZXIgd2UgZGlzY29ubmVjdCBhIHN0cmVhbS9jb250ZXh0LiBCZXR0ZXIKCSAgZml4IGZvciBidWcgNTU2OTg2LgoJICAqIFJlc2V0IHRoZSBzdGF0ZSBvZiB0aGUgZWxlbWVudCBwcm9wZXJseSBpZiBvcGVuL3ByZXBhcmUgZmFpbHMKCSAgKiBDb3JrIHRoZSBQQSBzdHJlYW0gd2hlbiB0aGUgcGlwZWxpbmUgaXMgcGF1c2VkLiBUaGlzIGFsbG93cyB0aGUgUEEKCSAgKiBkYWVtb24gdG8KCSAgY2xvc2UgYXVkaW8gZGV2aWNlIG9uIHBhdXNlIGFuZCB0aHVzIHNhdmUgYSBiaXQgb2YgcG93ZXIuCgkgICogU2V0IFBBIHN0cmVhbSBwcm9wZXJ0aWVzIGJhc2VkIG9uIEdTVCB0YWdzIHN1Y2ggYXMgR1NUX1RBR19USVRMRSwKCSAgR1NUX1RBR19BUlRJU1QsIGFuZCBzbyBvbi4KCSAgU2lnbmVkLW9mZi1ieTogTGVubmFydCBQb2V0dGVyaW5nIDxsZW5uYXJ0QHBvZXR0ZXJpbmcubmV0PgoKMjAwOS0wMS0yOCAxNzo0NjowNiArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkqIGV4dC9hYWxpYi9nc3RhYXNpbmsuYzoKCSogZXh0L2Fubm9kZXgvZ3N0Y21tbGRlYy5jOgoJKiBleHQvYW5ub2RleC9nc3RjbW1sZW5jLmM6CgkqIGV4dC9jYWlyby9nc3R0ZXh0b3ZlcmxheS5jOgoJKiBleHQvY2Fpcm8vZ3N0dGltZW92ZXJsYXkuYzoKCSogZXh0L2R2L2dzdGR2ZGVjLmM6CgkqIGV4dC9kdi9nc3RkdmRlbXV4LmM6CgkqIGV4dC9lc2QvZXNkbW9uLmM6CgkqIGV4dC9lc2QvZXNkc2luay5jOgoJKiBleHQvZmxhYy9nc3RmbGFjZGVjLmM6CgkqIGV4dC9mbGFjL2dzdGZsYWNlbmMuYzoKCSogZXh0L2djb25mL2dzdGdjb25mYXVkaW9zaW5rLmM6CgkqIGV4dC9nY29uZi9nc3RnY29uZmF1ZGlvc3JjLmM6CgkqIGV4dC9nY29uZi9nc3RnY29uZnZpZGVvc2luay5jOgoJKiBleHQvZ2NvbmYvZ3N0Z2NvbmZ2aWRlb3NyYy5jOgoJKiBleHQvZ2RrX3BpeGJ1Zi9nc3RnZGtwaXhidWZzaW5rLmM6CgkqIGV4dC9oYWwvZ3N0aGFsYXVkaW9zaW5rLmM6CgkqIGV4dC9oYWwvZ3N0aGFsYXVkaW9zcmMuYzoKCSogZXh0L2hhbC9oYWwuYzoKCSogZXh0L2pwZWcvZ3N0anBlZ2VuYy5jOgoJKiBleHQvanBlZy9nc3RzbW9rZWRlYy5jOgoJKiBleHQvanBlZy9nc3RzbW9rZWVuYy5jOgoJKiBleHQvbGliY2FjYS9nc3RjYWNhc2luay5jOgoJKiBleHQvbGliY2FjYS9nc3RjYWNhc2luay5oOgoJKiBleHQvbGlicG5nL2dzdHBuZ2RlYy5jOgoJKiBleHQvbGlicG5nL2dzdHBuZ2VuYy5jOgoJKiBleHQvcHVsc2UvcHVsc2VtaXhlci5jOgoJKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6CgkqIGV4dC9wdWxzZS9wdWxzZXNyYy5jOgoJKiBleHQvcmF3MTM5NC9nc3RkdjEzOTRzcmMuYzoKCSogZXh0L3JhdzEzOTQvZ3N0aGR2MTM5NHNyYy5jOgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOgoJKiBleHQvc3BlZXgvZ3N0c3BlZXhkZWMuYzoKCSogZXh0L3NwZWV4L2dzdHNwZWV4ZW5jLmM6CgkqIGV4dC90YWdsaWIvZ3N0YXBldjJtdXguY2M6CgkqIGV4dC90YWdsaWIvZ3N0aWQzdjJtdXguY2M6CgkqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tkZWMuYzoKCSogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2VuYy5jOgoJKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrcGFyc2UuYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5oOgoJKiBnc3QvdWRwL2dzdHVkcHNyYy5jOgoJICBVcGRhdGUgYW5kIGFkZCBkb2N1bWVudGF0aW9uIGZvciBwbHVnaW5zIHdpdGggZGVwcyAoZXh0KS4KCSAgTGluayB0byBwcm9wZXJ0aWVzLiBDb3JyZWN0IHRpdGxlcyBmb3IgZXhhbXBsZXMuIERvY3VtZW50IGEgZmV3IHRyaXZpYWwgY2FzZXMuIEtlZXAgbGlzdHMgaW4gc2VjdGlvbiBmaWxlIGFuZCBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW0gYWxwaGFiZXRpY2FsbHkgb3JkZXJlZC4gRml4IHdhcm5pbmdzIHRoYXQgZ3RrLWRvYyBwb2ludHMgb3V0LgoKMjAwOS0wMS0yOCAxNTo1NzoyMCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9meC9hdWRpb2VjaG8uYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9lY2hvLmg6CgkgIExpbWl0IHRoZSBkZWxheSBieSBhIG5ldyBtYXgtZGVsYXkgcHJvcGVydHkKCSAgSW50cm9kdWNlIGEgbmV3IG1heC1kZWxheSBwcm9wZXJ0eSB0aGF0IGNhbiBvbmx5CgkgIGJlIHNldCBiZWZvcmUgZ29pbmcgdG8gUExBWUlORyBvciBQQVVTRUQuIFRoaXMKCSAgaXMgdXNlZCB0byBsaW1pdCB0aGUgbWF4aW11bSBkZWxheSBhbmQgaXMgc2V0CgkgIHRvIHRoZSBjdXJyZW50IGRlbGF5IGJ5IGRlZmF1bHQuCgkgIFVzaW5nIHRoaXMgd2lsbCBtYWtlIHN1cmUgdGhhdCB3ZSBoYXZlIGVub3VnaCBkYXRhCgkgIGluIG91ciBpbnRlcm5hbCByaW5nYnVmZmVyIGZvciB0aGUgZWNoby4gV2l0aCBkeW5hbWljCgkgIHJlYWxsb2NhdGlvbiBvZiB0aGUgcmluZ2J1ZmZlciBhcyB1c2VkIGJlZm9yZSBzaWxlbmNlCgkgIGNvdWxkJ3ZlIGJlZW4gdXNlZCBhcyB0aGUgZWNobyBkaXJlY3RseSBhZnRlciBzZXR0aW5nCgkgIGEgbmV3IGRlbGF5LgoKMjAwOS0wMS0yOCAxMTo1ODo0MiArMDEwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgUmV2ZXJ0IHByZXZpb3VzIGJvZ3VzIGNvbW1pdAoKMjAwOS0wMS0yOCAxMjoyOTo0MiArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaW50ZXJmYWNlczoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhY29sb3IueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYW5ub2RleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hcGV0YWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9meC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9kZXRlY3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXZpLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhY2FzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhaXJvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWN1dHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmVuY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZmZWN0di54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lcXVhbGl6ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXNkc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbGFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZseGRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nYW1tYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nY29uZmVsZW1lbnRzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdka3BpeGJ1Zi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20yazEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taGFsZWxlbWVudHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWN5ZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXJsZWF2ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxldmVsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1hdHJvc2thLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1vbm9zY29wZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aWZpbGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlwYXJ0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5hdmlnYXRpb250ZXN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zc2F1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBuZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wdWxzZWF1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXF1aWNrdGltZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXBsYXlnYWluLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHNwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNtcHRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlY3RydW0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdGFnbGliLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXVkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlbzRsaW51eDIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9iYWxhbmNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvYm94LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvY3JvcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2ZsaXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9taXhlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14aW1hZ2VzcmMueG1sOgoJKiBnc3QvYWxwaGEvZ3N0YWxwaGFjb2xvci5jOgoJKiBnc3QvYXBldGFnL2dzdGFwZWRlbXV4LmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvYW1wbGlmeS5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb2NoZWJiYW5kLmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvY2hlYmxpbWl0LmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvZHluYW1pYy5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb2VjaG8uYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9maXJmaWx0ZXIuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9paXJmaWx0ZXIuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9pbnZlcnQuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW9rYXJhb2tlLmM6CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvcGFub3JhbWEuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW93c2luY2JhbmQuYzoKCSogZ3N0L2F1ZGlvZngvYXVkaW93c2luY2xpbWl0LmM6CgkqIGdzdC9hdXBhcnNlL2dzdGF1cGFyc2UuYzoKCSogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJKiBnc3QvYXZpL2dzdGF2aW11eC5jOgoJKiBnc3QvY3V0dGVyL2dzdGN1dHRlci5jOgoJKiBnc3QvZGVidWcvZ3N0cHVzaGZpbGVzcmMuYzoKCSogZ3N0L2RlYnVnL2dzdHRhZ2luamVjdC5jOgoJKiBnc3QvZGVidWcvcHJvZ3Jlc3NyZXBvcnQuYzoKCSogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIxMGJhbmRzLmM6CgkqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyM2JhbmRzLmM6CgkqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVybmJhbmRzLmM6CgkqIGdzdC9mbHgvZ3N0Zmx4ZGVjLmM6CgkqIGdzdC9nb29tL2dzdGdvb20uYzoKCSogZ3N0L2dvb20yazEvZ3N0Z29vbS5jOgoJKiBnc3QvaWN5ZGVtdXgvZ3N0aWN5ZGVtdXguYzoKCSogZ3N0L2lkM2RlbXV4L2dzdGlkM2RlbXV4LmM6CgkqIGdzdC9sYXcvYWxhdy1kZWNvZGUuYzoKCSogZ3N0L2xhdy9hbGF3LWVuY29kZS5jOgoJKiBnc3QvbGF3L211bGF3LWRlY29kZS5jOgoJKiBnc3QvbGF3L211bGF3LWVuY29kZS5jOgoJKiBnc3QvbGF3L211bGF3LmM6CgkqIGdzdC9sZXZlbC9nc3RsZXZlbC5jOgoJKiBnc3QvbW9ub3Njb3BlL2dzdG1vbm9zY29wZS5jOgoJKiBnc3QvbXVsdGlmaWxlL2dzdG11bHRpZmlsZXNpbmsuYzoKCSogZ3N0L211bHRpZmlsZS9nc3RtdWx0aWZpbGVzcmMuYzoKCSogZ3N0L211bHRpcGFydC9tdWx0aXBhcnRkZW11eC5jOgoJKiBnc3QvbXVsdGlwYXJ0L211bHRpcGFydG11eC5jOgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkqIGdzdC9ydHAvZ3N0cnRwanBlZ3BheS5jOgoJKiBnc3QvcnRzcC9nc3RydHBkZWMuYzoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJKiBnc3Qvc21wdGUvZ3N0c21wdGUuYzoKCSogZ3N0L3NtcHRlL2dzdHNtcHRlYWxwaGEuYzoKCSogZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmM6CgkqIGdzdC91ZHAvZ3N0bXVsdGl1ZHBzaW5rLmM6CgkqIGdzdC91ZHAvZ3N0dWRwc2luay5jOgoJKiBnc3QvdWRwL2dzdHVkcHNyYy5jOgoJKiBnc3QvdmlkZW9ib3gvZ3N0dmlkZW9ib3guYzoKCSogZ3N0L3ZpZGVvY3JvcC9nc3Rhc3BlY3RyYXRpb2Nyb3AuYzoKCSogZ3N0L3ZpZGVvY3JvcC9nc3R2aWRlb2Nyb3AuYzoKCSogZ3N0L3ZpZGVvZmlsdGVyL2dzdGdhbW1hLmM6CgkqIGdzdC92aWRlb2ZpbHRlci9nc3R2aWRlb2JhbGFuY2UuYzoKCSogZ3N0L3ZpZGVvZmlsdGVyL2dzdHZpZGVvZmxpcC5jOgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyLmM6CgkqIGdzdC93YXZlbmMvZ3N0d2F2ZW5jLmM6CgkqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIFVwZGF0ZSBhbmQgYWRkIGRvY3VtZW50YXRpb24gZm9yIHBsdWdpbnMgd2l0aCBubyBkZXBzIChnc3QpLgoJICBMaW5rIHRvIHByb3BlcnRpZXMuIENvcnJlY3QgdGl0bGVzIGZvciBleGFtcGxlcy4gRG9jdW1lbnQgYSBmZXcgdHJpdmlhbCBjYXNlcy4gS2VlcCBsaXN0cyBpbiBzZWN0aW9uIGZpbGUgYW5kIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbSBhbHBoYWJldGljYWxseSBvcmRlcmVkLgoKMjAwOS0wMS0yNyAyMzowOTowNSArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogdGVzdHMvZXhhbXBsZXMvc3BlY3RydW0vZGVtby1hdWRpb3Rlc3QuYzoKCSogdGVzdHMvZXhhbXBsZXMvc3BlY3RydW0vZGVtby1vc3NzcmMuYzoKCSAgRml4IGV4YW1wbGUgYXBwcyBieSBkcmF3aW5nIGluIHRoZSBtYWluLWxvb3AuCgoyMDA5LTAxLTI3IDIwOjMzOjAyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICB0ZXN0czogZml4IGJ1aWxkIG9mIGFzcGVjdHJhdGlvIGNyb3AgdW5pdCB0ZXN0IGluIHVuaW5zdGFsbGVkIGVudmlyb25tZW50LgoKMjAwOS0wMS0yNyAyMDozMDowMiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiAuZ2l0aWdub3JlOgoJICBNYWtlIGdpdCBpZ25vcmUgYmFja3VwIGZpbGVzCgoyMDA5LTAxLTI2IDE2OjE0OjQ3ICswMTAwICBQZXRlciBLamVsbGVyc3RlZHQgPHBrakBheGlzLmNvbT4KCgkqIGdzdC9tdWx0aXBhcnQvbXVsdGlwYXJ0ZGVtdXguYzoKCSAgUGx1ZyBhIG1lbW9yeSBsZWFrIGluIGEgZGVidWcgbWVzc2FnZS4KCjIwMDktMDEtMjIgMTU6NTk6NDAgKzAxMDAgIFBldGVyIEtqZWxsZXJzdGVkdCA8cGtqQGF4aXMuY29tPgoKCSogZ3N0L3VkcC9nc3R1ZHBuZXR1dGlscy5jOgoJICBDb3JyZWN0IHJldHVybiB2YWx1ZSBmcm9tIGdzdF91ZHBfZ2V0X2FkZHIoKSB3aGVuIG5vIGtub3duIGZhbWlseSBpcyBmb3VuZC4KCjIwMDktMDEtMjYgMDk6NTE6MzYgKzAxMDAgIEpvbmF0aGFuIE1hdHRoZXcgPGpvbmF0aGFuQGQxNG4ub3JnPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOgoJICBVc2UgbGlic291cC1nbm9tZSBmb3IgcHJveHkgY29uZmlndXJhdGlvbiBpZiBhdmFpbGFibGUKCSAgSWYgbGlic291cC1nbm9tZSBpcyBmb3VuZCB1c2UgdGhpcyBhcyBpdCB3aWxsIGdpdmUgdXMKCSAgdGhlIEdOT01FIHByb3h5IGNvbmZpZ3VyYXRpb24uIE90aGVyd2lzZSB1c2Ugbm9ybWFsCgkgIGxpYnNvdXAuCgkgIFRoZSBHTk9NRSBwcm94eSBjb25maWd1cmF0aW9uIHdpbGwgb25seSBiZSB1c2VkIGlmCgkgIHRoZSBwcm94eSBwcm9wZXJ0aWVzIGFyZSBub3Qgc2V0IG9uIHNvdXBodHRwc3JjCgkgIGFuZCBpZiB0aGUgaHR0cF9wcm94eSBlbnZpcm9ubWVudCB2YXJpYWJsZSBpcyBub3QKCSAgc2V0LgoJICBGaXhlcyBidWcgIzU1MjE0MC4KCjIwMDktMDEtMjUgMTk6MjY6NDYgLTA4MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBBZGQgYSBmZXcgbW9yZSB2aWRlbyBmb3VyY2MncwoKMjAwOS0wMS0yNCAxNDo0ODowMCArMDEwMCAgVGhpanMgVmVybWVpciA8dGhpanN2ZXJtZWlyQGdtYWlsLmNvbT4KCgkqIGdzdC92aWRlb2Nyb3AvZ3N0YXNwZWN0cmF0aW9jcm9wLmM6CgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hc3BlY3RyYXRpb2Nyb3AuYzoKCSAgQWRkIHVuaXQgdGVzdCBmb3IgYXNwZWN0cmF0aW9jcm9wIEZpeGVzIGJ1ZyAjNTI3OTUxCgkgIEFkZCB1bml0IHRlc3QgZm9yIGFzcGVjdHJhdGlvY3JvcCBhbmQgcmVmYWN0b3IgdGhpcyBlbGVtZW50LiBBZGRlZAoJICBmaW5hbGl6ZSBmdW5jdGlvbiB0byBjbGVhbnVwIGxlYWtpbmcgbXV0ZXguCgoyMDA5LTAxLTI1IDE0OjM0OjA5ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy8uZ2l0aWdub3JlOgoJICBJZ25vcmUgY2hlY2sgYmluYXJpZXMKCjIwMDktMDEtMjQgMTg6Mjg6MDYgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvZngvYXVkaW9lY2hvLmM6CgkgIFNhdmUgc29tZSBhbGxvY2F0aW9ucyBpZiB0aGUgZWNobyBkZWxheSBpcyBpbmNyZWFzZWQgb2Z0ZW4KCSAgU2F2ZSBzb21lIGFsbG9jYXRpb25zIGlmIHRoZSBlY2hvIGRlbGF5IGlzIGluY3JlYXNlZCBvZnRlbgoJICBkdXJpbmcgcGxheWJhY2sgYnkgYWx3YXlzIGFsbG9jYXRpbmcgZW5vdWdoIG1lbW9yeSB0byBob2xkCgkgIGRhdGEgdXAgdG8gdGhlIG5leHQgY29tcGxldGUgc2Vjb25kLCBpLmUuIGluIHRoZSB3b3JzdCBjYXNlCgkgIGFsbG9jYXRlIG1lbW9yeSBmb3Igb25lIGFkZGl0aW9uYWwgc2Vjb25kLgoKMjAwOS0wMS0yNCAxNDoyNTowOCArMDEwMCAgVGhpanMgVmVybWVpciA8dGhpanN2ZXJtZWlyQGdtYWlsLmNvbT4KCgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi0xMzk0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhY29sb3IueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYW5ub2RleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hcGV0YWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9meC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9kZXRlY3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXZpLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhY2FzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhaXJvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWN1dHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmVuY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZmZWN0di54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lcXVhbGl6ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXNkc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbGFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZseGRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nYW1tYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nY29uZmVsZW1lbnRzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdka3BpeGJ1Zi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20yazEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taGFsZWxlbWVudHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWN5ZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXJsZWF2ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxldmVsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1hdHJvc2thLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpZmlsZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aXBhcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmF2aWdhdGlvbnRlc3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5nLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXB1bHNlYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcXVpY2t0aW1lLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlcGxheWdhaW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0c3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hvdXQyc2VuZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbXB0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWN0cnVtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXRhZ2xpYi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi11ZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW80bGludXgyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvYmFsYW5jZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2JveC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2ZsaXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9taXhlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14aW1hZ2VzcmMueG1sOgoJICBVcGRhdGUgcGx1Z2luIHZlcnNpb24gaW4gZG9jdW1lbnRhdGlvbgoKMjAwOS0wMS0yMyAyMTo0Nzo0MCArMDEwMCAgVGhpanMgVmVybWVpciA8dGhpanN2ZXJtZWlyQGdtYWlsLmNvbT4KCgkqIGdzdC92aWRlb2Nyb3AvZ3N0dmlkZW9jcm9wLmM6CgkgIEZpeCBsaW5rIGluIGRvY3VtZW50YXRpb24gb2YgdmlkZW9jcm9wIGVsZW1lbnQKCjIwMDktMDEtMjMgMjE6NDY6MTMgKzAxMDAgIFRoaWpzIFZlcm1laXIgPHRoaWpzdmVybWVpckBnbWFpbC5jb20+CgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5pbnRlcmZhY2VzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLnByZXJlcXVpc2l0ZXM6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2Nyb3AueG1sOgoJKiBnc3QvdmlkZW9jcm9wL2dzdGFzcGVjdHJhdGlvY3JvcC5jOgoJICBBZGQgZG9jdW1lbnRhdGlvbiBmb3IgYXNwZWN0cmF0aW9jcm9wCgoyMDA5LTAxLTI0IDEzOjIxOjM5ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgVXBkYXRlIHdpbjMyL2NvbW1vbi9jb25maWcuaCBmb3IgdGhlIG5ldyBkZXZlbG9wbWVudCBjeWNsZQoKMjAwOS0wMS0yNCAxMTo1Mzo0MCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9meC9hdWRpb2VjaG8uYzoKCSAgQWRkIG5vdGUgdGhhdCBhdWRpb2VjaG8ncyByZXZlcmIgc291bmRzIG1ldGFsbGljCgkgIEFkZCBhIG5vdGUgdG8gdGhlIGRvY3MgdGhhdCBhdWRpb2VjaG8ncyByZXZlcmIgd2lsbAoJICBzb3VuZCBtZXRhbGxpYy4gVGhpcyBoYXBwZW5zIGJlY2F1c2UgZm9yIGEgcmVhbAoJICByZXZlcmIgZmlsdGVyIGFkZGl0aW9uYWwgZmlsdGVyaW5nIGlzIG5lY2Vzc2FyeS4KCSAgQWxzbyBub3RlIHdoaWNoIHZhbHVlcyBzaG91bGQgYmUgdXNlZCBmb3IgdGhlIGRlbGF5CgkgIHByb3BlcnR5IHRvIGdldCBhbiBlY2hvIGVmZmVjdC4KCjIwMDktMDEtMjMgMjM6Mzg6MTAgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIC5naXRpZ25vcmU6CgkqIGRvY3MvcGx1Z2lucy8uZ2l0aWdub3JlOgoJKiBwby8uZ2l0aWdub3JlOgoJKiB0ZXN0cy9leGFtcGxlcy9hdWRpb2Z4Ly5naXRpZ25vcmU6CgkgIE1vcmUgZW50cmllcyBmb3IgdGhlIGdpdGlnbm9yZXMKCjIwMDktMDEtMjMgMjA6MzY6MjcgKzAxMDAgIFRoaWpzIFZlcm1laXIgPHRoaWpzdmVybWVpckBnbWFpbC5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy92aWRlb2Nyb3AuYzoKCSAgc2tpcCB2aWRlby94LXJhdy1ncmF5IGluIHZpZGVvY3JvcCB1bml0IHRlc3QKCSAgQSByZWNlbnQgY29tbWl0IGFkZGVkIHZpZGVvL3gtcmF3LWdyYXkgc3VwcG9ydCB0byB2aWRlb2Nyb3AuIEhvd2V2ZXIKCSAgdGhpcyBsZXRzIHRoZSB2aWRlb2Nyb3AgdW5pdCB0ZXN0IGZhaWwuIEJlY2F1c2UgdmlkZW90ZXN0c3JjIGNhbid0CgkgIGdlbmVyYXRlIHRoaXMgZm9ybWF0LgoKMjAwOS0wMS0yMyAxNTozOTo0NiArMDEwMCAgVGhpanMgVmVybWVpciA8dGhpanN2ZXJtZWlyQGdtYWlsLmNvbT4KCgkqIGdzdC92aWRlb2Nyb3AvTWFrZWZpbGUuYW06CgkqIGdzdC92aWRlb2Nyb3AvZ3N0YXNwZWN0cmF0aW9jcm9wLmM6CgkqIGdzdC92aWRlb2Nyb3AvZ3N0YXNwZWN0cmF0aW9jcm9wLmg6CgkqIGdzdC92aWRlb2Nyb3AvZ3N0dmlkZW9jcm9wLmM6CgkgIEFkZCBhc3BlY3RyYXRpb2Nyb3AgZWxlbWVudC4gRml4ZXMgYnVnICM1Mjc5NTEKCSAgQWRkIG5ldyBhc3BlY3RyYXRpb2Nyb3AgZWxlbWVudCB0aGF0IGNyb3BzIHRoZSB2aWRlbwoJICB0byBhIHNwZWNpZmllZCBhc3BlY3QgcmF0aW8gdXNpbmcgdmlkZW9jcm9wLgoKMjAwOS0wMS0yMyAxMDo0OToyOCArMDEwMCAgVGhpanMgVmVybWVpciA8dGhpanN2ZXJtZWlyQGdtYWlsLmNvbT4KCgkqIGdzdC92aWRlb2Nyb3AvZ3N0dmlkZW9jcm9wLmM6CgkgIEZpeCBuYXZpZ2F0aW9uIGV2ZW50IGZvcndhcmRpbmcgd2hpbGUgY3JvcHBpbmcuIEZpeGVzIGJ1ZyAjNTY3OTkyLgoJICBGaXggdGhlIG5hdmlnYXRpb24gZXZlbnQgZm9yd2FyZGluZyB3aGlsZSBjcm9wcGluZyBieSBhZGp1c3RpbmcKCSAgdGhlIG1vdXNlIHBvc2l0aW9uIGJ5IHRoZSBhbW91bnQgb2YgY3JvcHBlZCBwaXhlbHMuCgoyMDA5LTAxLTIzIDEwOjA0OjM5ICswMTAwICBCcmlhbiBDYW1lcm9uIDxicmlhbi5jYW1lcm9uQHN1bi5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkgIEZpeCBsaW5raW5nIG9uIFNvbGFyaXMuIEZpeGVzIGJ1ZyAjNTY4ODA5LgoJICBDaGVjayBmb3IgdGhlIHNvY2tldCBsaWJyYXJ5IHdoaWNoIGlzIG5lZWRlZAoJICBmb3Igc29ja2V0KCkgb24gU29sYXJpcy4KCjIwMDktMDEtMjIgMjI6NDE6NDMgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgQnVtcCB2ZXJzaW9uIG51bWJlciBhZ2FpbiAtPiAwLjEwLjEzLjEKCjIwMDktMDEtMjIgMjI6NDE6MDEgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGdzdC1wbHVnaW5zLWdvb2QuZG9hcDoKCSAgQWRkIHJlbGVhc2VzIDAuMTAuMTIgYW5kIDAuMTAuMTMgdG8gdGhlIGRvYXAgZmlsZQoKMjAwOS0wMS0yMiAxODowODo1MCArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogY29tbW9uOgoJICBVcGRhdGUgY29tbW9uIHNuYXBzaG90LgoKMjAwOS0wMS0yMiAxNDoyNTowNyArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogY29uZmlndXJlLmFjOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIEJhY2sgdG8gZGV2ZWwgLT4gMC4xMC4xMi4xCgoyMDA5LTAxLTIyIDAxOjI5OjQwICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBjb25maWd1cmUuYWM6CgkgIFJlbGVhc2UgMC4xMC4xMgoKMjAwOS0wMS0yMSAxNzoyMjozOSAtMDgwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIEZpeCBmb3Igc2VjdXJpdHkgYWR2aXNvcnkgVEtBRFYyMDA5LTB4eAoJICBGaXggcG90ZW50aWFsIGJ1ZmZlciBvdmVyZmxvd3Mgd2hpbGUgcmVhZGluZyBxdWlja3RpbWUgaGVhZGVycy4KCSAgU2VjdXJpdHkgaXNzdWUgbm90aWNlZCBieSBUb2JpYXMgS2xlaW4uCgoyMDA5LTAxLTIxIDEyOjU2OjU1ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBleHQvZmxhYy9nc3RmbGFjZGVjLmM6CgkgIEZpeCB0eXBvIGFuZCBzbWFsbCBmbGF3IGluIGZsYWMgZGVjb2RlcgoKMjAwOS0wMS0yMiAxMzo0OTozNSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogY29tbW9uOgoJICBGaXggcHJlLWNvbW1pdCBob29rCgoyMDA5LTAxLTIyIDEwOjQwOjM0ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvZngueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9jcm9wLnhtbDoKCSogZ3N0L2F1ZGlvZngvTWFrZWZpbGUuYW06CgkqIGdzdC9hdWRpb2Z4L2F1ZGlvZWNoby5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb2VjaG8uaDoKCSogZ3N0L2F1ZGlvZngvYXVkaW9meC5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb3JldmVyYi5jOgoJKiBnc3QvYXVkaW9meC9hdWRpb3JldmVyYi5oOgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXVkaW9lY2hvLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvcmV2ZXJiLmM6CgkgIFJlbmFtZSBhdWRpb3JldmVyYiB0byBhdWRpb2VjaG8uIEZpeGVzIGJ1ZyAjNTY4Mzk1LgoJICBUaGUgZWxlbWVudCBjYW4gYWRkIGFuIGVjaG8gYW5kIGEgc2ltcGxlIHJldmVyYiBlZmZlY3QgdG8KCSAgYW4gYXVkaW8gc3RyZWFtIGJ1dCBmb3IgYSByZWFsIHJldmVyYiBmaWx0ZXIgaXQgd291bGQgbmVlZAoJICBzb21lIGFkZGl0aW9uYWwgZmlsdGVyaW5nIHRvIHByZXZlbnQgYSBtZXRhbGxpYy1zb3VuZGluZwoJICByZXN1bHQuCgoyMDA5LTAxLTIyIDEyOjIxOjI5ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICBGcmVlIGxlZnRvdmVyIHVkcCBwb3J0cyAoaWYgYW55KSB3aGVuIGEgc2V0dXAgcmVxdWVzdCBmYWlscy4KCjIwMDktMDEtMjIgMDY6MDU6MjYgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBhdXRvZ2VuLnNoOgoJKiBjb21tb246CgkgIEluc3RhbGwgYW5kIHVzZSBwcmUtY29tbWl0IGluZGVudGF0aW9uIGhvb2sgZnJvbSBjb21tb24KCjIwMDktMDEtMjEgMTM6MjU6MDYgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmxhYy9nc3RmbGFjZGVjLmM6CgkgIFdoaXRlc3BhY2UgZml4ZXMgYW5kIHNvbWUgaW1wcm92ZWQgZGVidWcgbGluZXMuCgoyMDA5LTAxLTIxIDA0OjMxOjU4ICswMTAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogYXV0b2dlbi5zaDoKCSAgYXV0b2dlbi5zaCA6IFVzZSBnaXQgc3VibW9kdWxlCgoyMDA5LTAxLTIwIDE1OjMzOjA1ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOiBGaXggZXJyb3IgY29kZSAodGhlIG1lc3NhZ2Ugc3RyaW5nIGFsc28gbmVlZHMgbG92ZSwgYnV0IG5vdCB0b2RheSkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzogKGdzdF92NGwyc3JjX2dldF9yZWFkKToKCSAgRml4IGVycm9yIGNvZGUgKHRoZSBtZXNzYWdlIHN0cmluZyBhbHNvIG5lZWRzIGxvdmUsIGJ1dCBub3QgdG9kYXkpLgoKMjAwOS0wMS0xOSAxMTo0NDozNiArMDAwMCAgTHVvdGFvIEZ1IDxsLmZ1QHBlbmd1dHJvbml4LmRlPgoKCSAgZ3N0L3ZpZGVvY3JvcC9nc3R2aWRlb2Nyb3AuYzogQWRkIDhiaXQgZ3JheXNjYWxlIHN1cHBvcnQgdG8gdmlkZW9jcm9wIHBsdWdpbi4gRml4ZXMgIzU2Nzk1Mi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBMdW90YW8gRnUgPGwgZG90IGZ1IGF0IHBlbmd1dHJvbml4IGRvdCBkZT4KCSAgKiBnc3QvdmlkZW9jcm9wL2dzdHZpZGVvY3JvcC5jOgoJICAoZ3N0X3ZpZGVvX2Nyb3BfZ2V0X2ltYWdlX2RldGFpbHNfZnJvbV9jYXBzKToKCSAgQWRkIDhiaXQgZ3JheXNjYWxlIHN1cHBvcnQgdG8gdmlkZW9jcm9wIHBsdWdpbi4gRml4ZXMgIzU2Nzk1Mi4KCjIwMDktMDEtMTkgMTE6MjI6MDYgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9hdWRpb2Z4L2F1ZGlvcmV2ZXJiLmM6IFNldCB0aGUgZGVmYXVsdCB2YWx1ZSBpbiB0aGUgaW5zdGFuY2UgaW5pdCBmdW5jdGlvbi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2F1ZGlvZngvYXVkaW9yZXZlcmIuYzogKGdzdF9hdWRpb19yZXZlcmJfaW5pdCk6CgkgIFNldCB0aGUgZGVmYXVsdCB2YWx1ZSBpbiB0aGUgaW5zdGFuY2UgaW5pdCBmdW5jdGlvbi4KCjIwMDktMDEtMTkgMTE6MTk6MDggKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIEFkZCBhbiBlY2hvL3JldmVyYiBmaWx0ZXIgdG8gdGhlIGF1ZGlvZnggcGx1Z2luLCB3aXRoIGNvbmZpZ3VyYWJsZSBlY2hvIGRlbGF5LCBpbnRlbnNpdHkgYW5kIGZlZWRiYWNrLiBGaXhlcyBidWcgIzU2Ny4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1kb2NzLnNnbWw6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5hcmdzOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaGllcmFyY2h5OgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb2Z4LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlY3RydW0ueG1sOgoJICAqIGdzdC9hdWRpb2Z4L01ha2VmaWxlLmFtOgoJICAqIGdzdC9hdWRpb2Z4L2F1ZGlvZnguYzogKHBsdWdpbl9pbml0KToKCSAgKiBnc3QvYXVkaW9meC9hdWRpb3JldmVyYi5jOiAoZ3N0X2F1ZGlvX3JldmVyYl9iYXNlX2luaXQpLAoJICAoZ3N0X2F1ZGlvX3JldmVyYl9jbGFzc19pbml0KSwgKGdzdF9hdWRpb19yZXZlcmJfaW5pdCksCgkgIChnc3RfYXVkaW9fcmV2ZXJiX2ZpbmFsaXplKSwgKGdzdF9hdWRpb19yZXZlcmJfc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9hdWRpb19yZXZlcmJfZ2V0X3Byb3BlcnR5KSwgKGdzdF9hdWRpb19yZXZlcmJfc2V0dXApLAoJICAoZ3N0X2F1ZGlvX3JldmVyYl9zdG9wKSwgKGdzdF9hdWRpb19yZXZlcmJfdHJhbnNmb3JtX2lwKToKCSAgKiBnc3QvYXVkaW9meC9hdWRpb3JldmVyYi5oOgoJICAqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvcmV2ZXJiLmM6IChzZXR1cF9yZXZlcmIpLAoJICAoY2xlYW51cF9yZXZlcmIpLCAoR1NUX1NUQVJUX1RFU1QpLCAoYXVkaW9yZXZlcmJfc3VpdGUpOgoJICBBZGQgYW4gZWNoby9yZXZlcmIgZmlsdGVyIHRvIHRoZSBhdWRpb2Z4IHBsdWdpbiwgd2l0aCBjb25maWd1cmFibGUKCSAgZWNobyBkZWxheSwgaW50ZW5zaXR5IGFuZCBmZWVkYmFjay4gRml4ZXMgYnVnICM1Njc4NzQuCgoyMDA5LTAxLTE5IDEwOjEzOjUzICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uKjogSW1wbGVtZW50IGEgc2ltcGxlIGNvbXBlbnNhdGlvbiBhbGdvcml0aG0gZm9yIHJvdW5kaW5nIGVycm9ycy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmM6IChnc3Rfc3BlY3RydW1fcmVzZXRfc3RhdGUpLAoJICAoZ3N0X3NwZWN0cnVtX3RyYW5zZm9ybV9pcCk6CgkgICogZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmg6CgkgIEltcGxlbWVudCBhIHNpbXBsZSBjb21wZW5zYXRpb24gYWxnb3JpdGhtIGZvciByb3VuZGluZyBlcnJvcnMuCgkgIFRoaXMgbWFrZXMgc3VyZSB0aGF0IGEgc3BlY3RydW0gbWVzc2FnZSBpcyBwb3N0ZWQgb24gdGhlIGJ1cwoJICBldmVyeSBpbnRlcnZhbCBuYW5vc2Vjb25kcy4gRml4ZXMgYnVnICM1Njc5NTUuCgoyMDA5LTAxLTE1IDIxOjE2OjQ1ICswMDAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAeGlwaC5vcmc+CgoJICBzeXMvb3N4YXVkaW8vTWFrZWZpbGUuYW06IExpbmsgYWdhaW5zdCBDb3JlU2VydmljZXMgKG5lZWRlZCBmb3Igb3N4IDEwLjQpIGFuZCBmaXggdXAgdGhlIGxpbmtlciBmbGFncy4gRml4ZXMgIzU2Nzg1My4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL29zeGF1ZGlvL01ha2VmaWxlLmFtOgoJICBMaW5rIGFnYWluc3QgQ29yZVNlcnZpY2VzIChuZWVkZWQgZm9yIG9zeCAxMC40KSBhbmQgZml4IHVwIHRoZSBsaW5rZXIKCSAgZmxhZ3MuIEZpeGVzICM1Njc4NTMuCgoyMDA5LTAxLTE1IDE0OjUzOjE4ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBDYXRjaCBpbnZhbGlkIGFuZCBjb21tb25seSB3cm9uZyBwbGF5YmFjayByYXRlcyBpbiB0aGUgZWxzdCBhdG9tcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAocXRkZW11eF9wYXJzZV9zZWdtZW50cyk6CgkgIENhdGNoIGludmFsaWQgYW5kIGNvbW1vbmx5IHdyb25nIHBsYXliYWNrIHJhdGVzIGluIHRoZSBlbHN0IGF0b21zLgoJICBGaXhlcyAjNTY3ODAwLgoKMjAwOS0wMS0xNSAxMTo0MDoyMyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmM6IERvbid0IGNhbGwgZ3N0X2ZmdF9mMzJfZnJlZSgpIHdpdGggTlVMTCB0byBwcmV2ZW50IGEgY3Jhc2guIEZpeGVzIGJ1ZyAjNTY3NjQyLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uYzogKGdzdF9zcGVjdHJ1bV9yZXNldF9zdGF0ZSk6CgkgIERvbid0IGNhbGwgZ3N0X2ZmdF9mMzJfZnJlZSgpIHdpdGggTlVMTCB0byBwcmV2ZW50IGEKCSAgY3Jhc2guIEZpeGVzIGJ1ZyAjNTY3NjQyLgoKMjAwOS0wMS0xNCAxNTo0NDoxOCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLio6IFVzZSBjb3JyZWN0IHR5cGVzIGZvciBmcmFtZS9mZnQgY291bnRlcnMgYW5kIHNvbWUgbWlub3IgY2xlYW51cC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmM6IChnc3Rfc3BlY3RydW1fdHJhbnNmb3JtX2lwKToKCSAgKiBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uaDoKCSAgVXNlIGNvcnJlY3QgdHlwZXMgZm9yIGZyYW1lL2ZmdCBjb3VudGVycyBhbmQgc29tZSBtaW5vcgoJICBjbGVhbnVwLgoKMjAwOS0wMS0xNCAxNTozNzowNyArMDAwMCAgTGVubmFydCBQb2V0dGVyaW5nIDxsZW5uYXJ0QHBvZXR0ZXJpbmcubmV0PgoKCSAgZXh0L3B1bHNlL3B1bHNlcHJvYmUuYzogRml4IHJlZmNvdW50IGxvb3AsIHJlc3VsdGluZyBpbiBhIHRocmVhZCBsZWFrLiBGaXhlcyBidWcgIzU2Nzc0Ni4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBMZW5uYXJ0IFBvZXR0ZXJpbmcgPGxlbm5hcnQgYXQgcG9ldHRlcmluZyBkb3QgbmV0PgoJICAqIGV4dC9wdWxzZS9wdWxzZXByb2JlLmM6IChnc3RfcHVsc2Vwcm9iZV9uZXcpLAoJICAoZ3N0X3B1bHNlcHJvYmVfZnJlZSk6CgkgIEZpeCByZWZjb3VudCBsb29wLCByZXN1bHRpbmcgaW4gYSB0aHJlYWQgbGVhay4gRml4ZXMgYnVnICM1Njc3NDYuCgoyMDA5LTAxLTE0IDEwOjQ2OjU0ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3Qvc3BlY3RydW0vOiBQb3N0IGEgc3BlY3RydW0gbWVzc2FnZSBvbiB0aGUgYnVzIGZvciBldmVyeSBpbnRlcnZhbCwgZXZlbiBpZiB0aGUgaW50ZXJ2YWwgaXMgc21hbGwgdGhhbiB0aGUgbGVuZ3RoIG8uLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3NwZWN0cnVtL01ha2VmaWxlLmFtOgoJICAqIGdzdC9zcGVjdHJ1bS9SRUFETUU6CgkgICogZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmM6IChnc3Rfc3BlY3RydW1fYmFzZV9pbml0KSwKCSAgKGdzdF9zcGVjdHJ1bV9jbGFzc19pbml0KSwgKGdzdF9zcGVjdHJ1bV9pbml0KSwKCSAgKGdzdF9zcGVjdHJ1bV9yZXNldF9zdGF0ZSksIChnc3Rfc3BlY3RydW1fZmluYWxpemUpLAoJICAoZ3N0X3NwZWN0cnVtX3NldF9wcm9wZXJ0eSksIChnc3Rfc3BlY3RydW1fc3RhcnQpLAoJICAoZ3N0X3NwZWN0cnVtX3N0b3ApLCAoZ3N0X3NwZWN0cnVtX3NldHVwKSwKCSAgKGdzdF9zcGVjdHJ1bV90cmFuc2Zvcm1faXApOgoJICAqIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5oOgoJICBQb3N0IGEgc3BlY3RydW0gbWVzc2FnZSBvbiB0aGUgYnVzIGZvciBldmVyeSBpbnRlcnZhbCwgZXZlbgoJICBpZiB0aGUgaW50ZXJ2YWwgaXMgc21hbGwgdGhhbiB0aGUgbGVuZ3RoIG9mIHRoZSBGRlQuCgkgIEZpeGVzIGJ1ZyAjNTY3NjQyLgoJICBNYWpvciBjbGVhbnVwIG9mIHRoZSBzcGVjdHJ1bSBlbGVtZW50LgoKMjAwOS0wMS0xMyAxOToyMzo1NyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgQWRkIGF1ZGlvaWlyZmlsdGVyIGFuZCBhdWRpb2ZpcmZpbHRlciBlbGVtZW50cyB3aGljaCBhbGxvdyBnZW5lcmljIElJUi9GSVIgZmlsdGVycyB0byBiZSBpbXBsZW1lbnRlZCBieSBwcm92aWRpbmcgdGhlLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBnc3QvYXVkaW9meC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvYXVkaW9meC9hdWRpb2ZpcmZpbHRlci5jOiAoZ3N0X2F1ZGlvX2Zpcl9maWx0ZXJfYmFzZV9pbml0KSwKCSAgKGdzdF9hdWRpb19maXJfZmlsdGVyX2NsYXNzX2luaXQpLAoJICAoZ3N0X2F1ZGlvX2Zpcl9maWx0ZXJfdXBkYXRlX2tlcm5lbCksIChnc3RfYXVkaW9fZmlyX2ZpbHRlcl9pbml0KSwKCSAgKGdzdF9hdWRpb19maXJfZmlsdGVyX3NldHVwKSwgKGdzdF9hdWRpb19maXJfZmlsdGVyX2ZpbmFsaXplKSwKCSAgKGdzdF9hdWRpb19maXJfZmlsdGVyX3NldF9wcm9wZXJ0eSksCgkgIChnc3RfYXVkaW9fZmlyX2ZpbHRlcl9nZXRfcHJvcGVydHkpOgoJICAqIGdzdC9hdWRpb2Z4L2F1ZGlvZmlyZmlsdGVyLmg6CgkgICogZ3N0L2F1ZGlvZngvYXVkaW9meC5jOiAocGx1Z2luX2luaXQpOgoJICAqIGdzdC9hdWRpb2Z4L2F1ZGlvaWlyZmlsdGVyLmM6IChnc3RfYXVkaW9faWlyX2ZpbHRlcl9iYXNlX2luaXQpLAoJICAoZ3N0X2F1ZGlvX2lpcl9maWx0ZXJfY2xhc3NfaW5pdCksCgkgIChnc3RfYXVkaW9faWlyX2ZpbHRlcl91cGRhdGVfY29lZmZpY2llbnRzKSwKCSAgKGdzdF9hdWRpb19paXJfZmlsdGVyX2luaXQpLCAoZ3N0X2F1ZGlvX2lpcl9maWx0ZXJfc2V0dXApLAoJICAoZ3N0X2F1ZGlvX2lpcl9maWx0ZXJfZmluYWxpemUpLAoJICAoZ3N0X2F1ZGlvX2lpcl9maWx0ZXJfc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9hdWRpb19paXJfZmlsdGVyX2dldF9wcm9wZXJ0eSk6CgkgICogZ3N0L2F1ZGlvZngvYXVkaW9paXJmaWx0ZXIuaDoKCSAgQWRkIGF1ZGlvaWlyZmlsdGVyIGFuZCBhdWRpb2ZpcmZpbHRlciBlbGVtZW50cyB3aGljaCBhbGxvdwoJICBnZW5lcmljIElJUi9GSVIgZmlsdGVycyB0byBiZSBpbXBsZW1lbnRlZCBieSBwcm92aWRpbmcgdGhlCgkgIGZpbHRlciBjb2VmZmljaWVudHMuIEZpeGVzIGJ1ZyAjNTY3NTc3LgoJICAqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmFyZ3M6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5oaWVyYXJjaHk6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5zaWduYWxzOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbGF3LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9meC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF2aS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsYWMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWxhdy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvNGxpbnV4Mi54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhcnNlLnhtbDoKCSAgQWRkIGRvY3VtZW50YXRpb24gZm9yIHRoZSBhdWRpb2lpcmZpbHRlciBhbmQgYXVkaW9maXJmaWx0ZXIKCSAgZWxlbWVudHMuCgkgICogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvYXVkaW9maXJmaWx0ZXIuYzogKG9uX21lc3NhZ2UpLAoJICAob25fcmF0ZV9jaGFuZ2VkKSwgKG9uX2hhbmRvZmYpLCAoR1NUX1NUQVJUX1RFU1QpLAoJICAoYXVkaW9maXJmaWx0ZXJfc3VpdGUpOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvaWlyZmlsdGVyLmM6IChvbl9tZXNzYWdlKSwKCSAgKG9uX3JhdGVfY2hhbmdlZCksIChvbl9oYW5kb2ZmKSwgKEdTVF9TVEFSVF9URVNUKSwKCSAgKGF1ZGlvaWlyZmlsdGVyX3N1aXRlKToKCSAgKiB0ZXN0cy9leGFtcGxlcy9NYWtlZmlsZS5hbToKCSAgKiB0ZXN0cy9leGFtcGxlcy9hdWRpb2Z4L01ha2VmaWxlLmFtOgoJICAqIHRlc3RzL2V4YW1wbGVzL2F1ZGlvZngvZmlyZmlsdGVyLWV4YW1wbGUuYzogKG9uX21lc3NhZ2UpLAoJICAob25fcmF0ZV9jaGFuZ2VkKSwgKG1haW4pOgoJICAqIHRlc3RzL2V4YW1wbGVzL2F1ZGlvZngvaWlyZmlsdGVyLWV4YW1wbGUuYzogKG9uX21lc3NhZ2UpLAoJICAob25fcmF0ZV9jaGFuZ2VkKSwgKG1haW4pOgoJICBBZGQgdW5pdCB0ZXN0cyBhbmQgZXhhbXBsZSBhcHBsaWNhdGlvbnMgZm9yIHRoZSB0d28gZmlsdGVyCgkgIGVsZW1lbnRzLgoKMjAwOS0wMS0xMyAxOTowOToxOSArMDAwMCAgVGhpYWdvIFNvdXNhIFNhbnRvcyA8dGhpYWdvc3NAZW1iZWRkZWQudWZjZy5lZHUuYnI+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IEZpeCBmb3JtYXQgc3RyaW5nIGZvciBndWludDY0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFRoaWFnbyBTb3VzYSBTYW50b3MgPHRoaWFnb3NzQGVtYmVkZGVkLnVmY2cuZWR1LmJyPgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgRml4IGZvcm1hdCBzdHJpbmcgZm9yIGd1aW50NjQuCgoyMDA5LTAxLTEzIDE5OjA0OjA5ICswMDAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAeGlwaC5vcmc+CgoJICBzeXMvb3N4YXVkaW8vTWFrZWZpbGUuYW06IG9zeGF1ZGlvIHBsdWdpbiBub3cgcmVxdWlyZXMgQXVkaW9Vbml0IGZyYW1ld29yaywgc28gbGluayBhZ2FpbnN0IHRoYXQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy9vc3hhdWRpby9NYWtlZmlsZS5hbToKCSAgb3N4YXVkaW8gcGx1Z2luIG5vdyByZXF1aXJlcyBBdWRpb1VuaXQgZnJhbWV3b3JrLCBzbyBsaW5rIGFnYWluc3QgdGhhdC4KCSAgQ2xlYW4gdXAgdGFicyB2IHNwYWNlcyB3aGlsZSBJJ20gdGhlcmUuCgoyMDA5LTAxLTEzIDE3OjQ5OjA3ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgdGVzdHMvZXhhbXBsZXMvcnRwL3NlcnZlci1hbHNhc3JjLVBDTUEuYzogQWRkIHNvbWUgZXhhbXBsZSBjb2RlIGZvciBwcmludGluZyB0aGUgUlRQIG1hbmFnZXIgc3RhdHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2V4YW1wbGVzL3J0cC9zZXJ2ZXItYWxzYXNyYy1QQ01BLmM6IChwcmludF9zb3VyY2Vfc3RhdHMpLAoJICAocHJpbnRfc3RhdHMpLCAobWFpbik6CgkgIEFkZCBzb21lIGV4YW1wbGUgY29kZSBmb3IgcHJpbnRpbmcgdGhlIFJUUCBtYW5hZ2VyIHN0YXRzLgoKMjAwOS0wMS0xMyAwODoyNDoyNSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2F1ZGlvZngvOiBVc2UgYSBjdXN0b20gbXV0ZXggZm9yIHByb3RlY3RpbmcgdGhlIGluc3RhbmNlIGZpZWxkcyBpbnN0ZWFkIG9mIHRoZSBHc3RPYmplY3QgbG9jay4gVXNpbmcgdGhlIGxhdHRlciBjLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdWRpb2Z4L2F1ZGlvY2hlYmJhbmQuYzogKGdzdF9hdWRpb19jaGViX2JhbmRfY2xhc3NfaW5pdCksCgkgIChnc3RfYXVkaW9fY2hlYl9iYW5kX2luaXQpLCAoZ3N0X2F1ZGlvX2NoZWJfYmFuZF9maW5hbGl6ZSksCgkgIChnc3RfYXVkaW9fY2hlYl9iYW5kX3NldF9wcm9wZXJ0eSk6CgkgICogZ3N0L2F1ZGlvZngvYXVkaW9jaGViYmFuZC5oOgoJICAqIGdzdC9hdWRpb2Z4L2F1ZGlvY2hlYmxpbWl0LmM6IChnc3RfYXVkaW9fY2hlYl9saW1pdF9jbGFzc19pbml0KSwKCSAgKGdzdF9hdWRpb19jaGViX2xpbWl0X2luaXQpLCAoZ3N0X2F1ZGlvX2NoZWJfbGltaXRfZmluYWxpemUpLAoJICAoZ3N0X2F1ZGlvX2NoZWJfbGltaXRfc2V0X3Byb3BlcnR5KToKCSAgKiBnc3QvYXVkaW9meC9hdWRpb2NoZWJsaW1pdC5oOgoJICAqIGdzdC9hdWRpb2Z4L2F1ZGlvd3NpbmNiYW5kLmM6IChnc3RfYXVkaW9fd3NpbmNiYW5kX2NsYXNzX2luaXQpLAoJICAoZ3N0X2F1ZGlvX3dzaW5jYmFuZF9pbml0KSwgKGdzdF9hdWRpb193c2luY2JhbmRfZmluYWxpemUpLAoJICAoZ3N0X2F1ZGlvX3dzaW5jYmFuZF9zZXRfcHJvcGVydHkpOgoJICAqIGdzdC9hdWRpb2Z4L2F1ZGlvd3NpbmNiYW5kLmg6CgkgICogZ3N0L2F1ZGlvZngvYXVkaW93c2luY2xpbWl0LmM6IChnc3RfYXVkaW9fd3NpbmNsaW1pdF9jbGFzc19pbml0KSwKCSAgKGdzdF9hdWRpb193c2luY2xpbWl0X2luaXQpLCAoZ3N0X2F1ZGlvX3dzaW5jbGltaXRfZmluYWxpemUpLAoJICAoZ3N0X2F1ZGlvX3dzaW5jbGltaXRfc2V0X3Byb3BlcnR5KToKCSAgKiBnc3QvYXVkaW9meC9hdWRpb3dzaW5jbGltaXQuaDoKCSAgVXNlIGEgY3VzdG9tIG11dGV4IGZvciBwcm90ZWN0aW5nIHRoZSBpbnN0YW5jZSBmaWVsZHMgaW5zdGVhZCBvZgoJICB0aGUgR3N0T2JqZWN0IGxvY2suIFVzaW5nIHRoZSBsYXR0ZXIgY2FuIGxlYWQgdG8gZGVhZGxvY2tzLCBlc3BlY2lhbGx5CgkgIHdpdGggdGhlIEZJUiBmaWx0ZXJzIHdoZW4gdXBkYXRpbmcgdGhlIGxhdGVuY3kuCgoyMDA5LTAxLTExIDE5OjAzOjM4ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvYXVkaW9meC86IEltcGxlbWVudCBhIGJhc2UgY2xhc3MgZm9yIGdlbmVyaWMgYXVkaW8gRklSIGZpbHRlcnMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdWRpb2Z4L01ha2VmaWxlLmFtOgoJICAqIGdzdC9hdWRpb2Z4L2F1ZGlvZnhiYXNlZmlyZmlsdGVyLmM6CgkgIChnc3RfYXVkaW9fZnhfYmFzZV9maXJfZmlsdGVyX2Rpc3Bvc2UpLAoJICAoZ3N0X2F1ZGlvX2Z4X2Jhc2VfZmlyX2ZpbHRlcl9iYXNlX2luaXQpLAoJICAoZ3N0X2F1ZGlvX2Z4X2Jhc2VfZmlyX2ZpbHRlcl9jbGFzc19pbml0KSwKCSAgKGdzdF9hdWRpb19meF9iYXNlX2Zpcl9maWx0ZXJfaW5pdCksCgkgIChnc3RfYXVkaW9fZnhfYmFzZV9maXJfZmlsdGVyX3B1c2hfcmVzaWR1ZSksCgkgIChnc3RfYXVkaW9fZnhfYmFzZV9maXJfZmlsdGVyX3NldHVwKSwKCSAgKGdzdF9hdWRpb19meF9iYXNlX2Zpcl9maWx0ZXJfdHJhbnNmb3JtKSwKCSAgKGdzdF9hdWRpb19meF9iYXNlX2Zpcl9maWx0ZXJfc3RhcnQpLAoJICAoZ3N0X2F1ZGlvX2Z4X2Jhc2VfZmlyX2ZpbHRlcl9zdG9wKSwKCSAgKGdzdF9hdWRpb19meF9iYXNlX2Zpcl9maWx0ZXJfcXVlcnkpLAoJICAoZ3N0X2F1ZGlvX2Z4X2Jhc2VfZmlyX2ZpbHRlcl9xdWVyeV90eXBlKSwKCSAgKGdzdF9hdWRpb19meF9iYXNlX2Zpcl9maWx0ZXJfZXZlbnQpLAoJICAoZ3N0X2F1ZGlvX2Z4X2Jhc2VfZmlyX2ZpbHRlcl9zZXRfa2VybmVsKToKCSAgKiBnc3QvYXVkaW9meC9hdWRpb2Z4YmFzZWZpcmZpbHRlci5oOgoJICAqIGdzdC9hdWRpb2Z4L2F1ZGlvZnhiYXNlaWlyZmlsdGVyLmM6CgkgIEltcGxlbWVudCBhIGJhc2UgY2xhc3MgZm9yIGdlbmVyaWMgYXVkaW8gRklSIGZpbHRlcnMuCgkgICogZ3N0L2F1ZGlvZngvYXVkaW93c2luY2JhbmQuYzoKCSAgKGdzdF9nc3RfYXVkaW9fd3NpbmNiYW5kX21vZGVfZ2V0X3R5cGUpLAoJICAoZ3N0X2dzdF9hdWRpb193c2luY2JhbmRfd2luZG93X2dldF90eXBlKSwKCSAgKGdzdF9hdWRpb193c2luY2JhbmRfYmFzZV9pbml0KSwgKGdzdF9hdWRpb193c2luY2JhbmRfY2xhc3NfaW5pdCksCgkgIChnc3RfYXVkaW9fd3NpbmNiYW5kX2luaXQpLCAoZ3N0X2F1ZGlvX3dzaW5jYmFuZF9idWlsZF9rZXJuZWwpLAoJICAoZ3N0X2F1ZGlvX3dzaW5jYmFuZF9zZXR1cCksIChnc3RfYXVkaW9fd3NpbmNiYW5kX3NldF9wcm9wZXJ0eSksCgkgIChnc3RfYXVkaW9fd3NpbmNiYW5kX2dldF9wcm9wZXJ0eSk6CgkgICogZ3N0L2F1ZGlvZngvYXVkaW93c2luY2JhbmQuaDoKCSAgKiBnc3QvYXVkaW9meC9hdWRpb3dzaW5jbGltaXQuYzoKCSAgKGdzdF9hdWRpb193c2luY2xpbWl0X21vZGVfZ2V0X3R5cGUpLAoJICAoZ3N0X2F1ZGlvX3dzaW5jbGltaXRfd2luZG93X2dldF90eXBlKSwKCSAgKGdzdF9hdWRpb193c2luY2xpbWl0X2Jhc2VfaW5pdCksCgkgIChnc3RfYXVkaW9fd3NpbmNsaW1pdF9jbGFzc19pbml0KSwgKGdzdF9hdWRpb193c2luY2xpbWl0X2luaXQpLAoJICAoZ3N0X2F1ZGlvX3dzaW5jbGltaXRfYnVpbGRfa2VybmVsKSwgKGdzdF9hdWRpb193c2luY2xpbWl0X3NldHVwKSwKCSAgKGdzdF9hdWRpb193c2luY2xpbWl0X3NldF9wcm9wZXJ0eSksCgkgIChnc3RfYXVkaW9fd3NpbmNsaW1pdF9nZXRfcHJvcGVydHkpOgoJICAqIGdzdC9hdWRpb2Z4L2F1ZGlvd3NpbmNsaW1pdC5oOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvd3NpbmNiYW5kLmM6IChHU1RfU1RBUlRfVEVTVCk6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvYXVkaW93c2luY2xpbWl0LmM6IChHU1RfU1RBUlRfVEVTVCk6CgkgIFVzZSB0aGlzIG5ldyBiYXNlIGNsYXNzIGZvciBhdWRpb3dzaW5jYmFuZCBhbmQgYXVkaW93c2luY2xpbWl0LgoJICBBbHNvIGNsZWFudXAgYm90aCBlbGVtZW50cy4KCjIwMDktMDEtMDggMTg6MTc6MTMgKzAwMDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEB4aXBoLm9yZz4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogSW4gcHVzaCBtb2RlLCBlcnJvciBvdXQgaWYgd2UgZ2V0IEVPUyBiZWZvcmUgd2UndmUgY3JlYXRlZCBhbnkgc3JjcGFkcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBJbiBwdXNoIG1vZGUsIGVycm9yIG91dCBpZiB3ZSBnZXQgRU9TIGJlZm9yZSB3ZSd2ZSBjcmVhdGVkIGFueSBzcmNwYWRzLgoJICBIYW5kbGUgKGluIHB1bGwgbW9kZSkgc29tZSBmaWxlcyB0aGF0IGhhdmUgYSB0cnVuY2F0ZWQgbW9vdiBhdG9tIHdoZXJlCgkgIHRoZSBmaW5hbCBzdWItYXRvbSBpcyBhICdmcmVlJyBhdG9tIGFuZCB0aGUgY29udGVudHMgb2YgdGhhdCBhcmUgbm90CgkgIHByZXNlbnQgaW4gdGhlIGZpbGUuCgoyMDA5LTAxLTA4IDE1OjU2OjQ2ICswMDAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkgIGdzdC9tYXRyb3NrYS86IFNvbWUgY2xlYW51cHMsIHJlZmFjdG9yaW5nIGFuZCBtaW5vciBlbmhhbmNlbWVudHMgaW4gY2FwcyBoYW5kbGluZy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6IChnc3RfbWF0cm9za2FfZGVtdXhfdmlkZW9fY2Fwcyk6CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOiAoZ3N0X21hdHJvc2thX211eF92aWRlb19wYWRfc2V0Y2Fwcyk6CgkgIFNvbWUgY2xlYW51cHMsIHJlZmFjdG9yaW5nIGFuZCBtaW5vciBlbmhhbmNlbWVudHMgaW4gY2FwcyBoYW5kbGluZy4KCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6IChnc3RfbWF0cm9za2FfbXV4X2NsYXNzX2luaXQpLAoJICAoZ3N0X21hdHJvc2thX211eF9pbml0KSwgKGdzdF9tYXRyb3NrYV9wYWRfcmVzZXQpLAoJICAoZ3N0X21hdHJvc2thX3BhZF9mcmVlKSwgKGdzdF9tYXRyb3NrYV9tdXhfcmVzZXQpLAoJICAoZ3N0X21hdHJvc2thX211eF92aWRlb19wYWRfc2V0Y2FwcyksCgkgIChnc3RfbWF0cm9za2FfbXV4X3JlcXVlc3RfbmV3X3BhZCk6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvbWF0cm9za2FtdXguYzogKHRlYXJkb3duX3NyY19wYWQpOgoJICBPbmx5IHJlbW92ZSwgcmVsZWFzZSBvciByZXNldCB3aGF0IGlzIGFwcHJvcHJpYXRlIHVwb24gc3RhdGUgY2hhbmdlLgoKMjAwOS0wMS0wNyAyMDozODo1MCArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBleHQvcHVsc2UvcHVsc2VzaW5rLio6IFVzZSBhIG11dGV4IHRvIHByb3RlY3QgdGhlIGN1cnJlbnQgc3RyZWFtIHBvaW50ZXIsIGFuZCBpZ25vcmUgY2FsbGJhY2tzIGZvciBzdHJlYW0gb2JqZWN0cyB0aGEuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJICAqIGV4dC9wdWxzZS9wdWxzZXNpbmsuaDoKCSAgVXNlIGEgbXV0ZXggdG8gcHJvdGVjdCB0aGUgY3VycmVudCBzdHJlYW0gcG9pbnRlciwgYW5kIGlnbm9yZQoJICBjYWxsYmFja3MgZm9yIHN0cmVhbSBvYmplY3RzIHRoYXQgaGF2ZSBiZWVuIGRlc3Ryb3llZCBhbHJlYWR5LgoJICBGaXhlcyBwcm9ibGVtcyB3aXRoIHVucHJlcGFyZS9wcmVwYXJlIGN5Y2xlcyBjYXVzZWQgYnkgdGhlIGlucHV0CgkgIGNhcHMgY2hhbmdpbmcsIHdpdGhvdXQgcmVpbnRyb2R1Y2luZyBidWcgIzU1Njk4Ni4KCjIwMDktMDEtMDcgMTY6MDk6NDcgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOiBSZW1vdmUgKCkgZnJvbSB0cmFuc2xhdGVhYmxlIHN0cmluZywgc28gdGhhdCBpdCBtYWtlcyBtb3JlIHNlbnNlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkgIFJlbW92ZSAoKSBmcm9tIHRyYW5zbGF0ZWFibGUgc3RyaW5nLCBzbyB0aGF0IGl0IG1ha2VzIG1vcmUgc2Vuc2UuCgoyMDA5LTAxLTA3IDA5OjQzOjEzICswMDAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkgIGdzdC9hdmkvZ3N0YXZpbXV4LmM6IE1pbm9yIGZpeC9jbGVhbnVwIGluIGhlYWRlciBmaWVsZCBjYWxjdWxhdGlvbi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2F2aS9nc3RhdmltdXguYzogKGdzdF9hdmlfbXV4X2F1ZHNpbmtfc2V0X2NhcHMpOgoJICBNaW5vciBmaXgvY2xlYW51cCBpbiBoZWFkZXIgZmllbGQgY2FsY3VsYXRpb24uCgoyMDA5LTAxLTA2IDE3OjQ4OjEwICswMDAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkgIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguKjogUmVtb3ZlIGludGVybmFsIHRhZ2xpc3QgYW5kIGZ1bGx5IHVzZSB0YWdzZXR0ZXIgaW50ZXJmYWNlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6IChnc3RfbWF0cm9za2FfbXV4X3Jlc2V0KSwKCSAgKGdzdF9tYXRyb3NrYV9tdXhfaGFuZGxlX3NpbmtfZXZlbnQpLCAoZ3N0X21hdHJvc2thX211eF9maW5pc2gpOgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguaDoKCSAgUmVtb3ZlIGludGVybmFsIHRhZ2xpc3QgYW5kIGZ1bGx5IHVzZSB0YWdzZXR0ZXIgaW50ZXJmYWNlLgoKMjAwOS0wMS0wNiAxNDo1MDoyOSArMDAwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJICBnc3QvYXZpL2dzdGF2aW11eC4qOiBFbnN1cmUgaGVhZGVyIHNpemUgaW52YXJpYW5jZSBkdXJpbmcgc3Vic2VxdWVudCByZXdyaXRlIGJ5IHVzaW5nIHRhZ3Mgc25hcHNob3QuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdmkvZ3N0YXZpbXV4LmM6IChnc3RfYXZpX211eF9yZXNldCksCgkgIChnc3RfYXZpX211eF9yaWZmX2dldF9hdmlfaGVhZGVyKToKCSAgKiBnc3QvYXZpL2dzdGF2aW11eC5oOgoJICBFbnN1cmUgaGVhZGVyIHNpemUgaW52YXJpYW5jZSBkdXJpbmcgc3Vic2VxdWVudCByZXdyaXRlIGJ5IHVzaW5nCgkgIHRhZ3Mgc25hcHNob3QuCgoyMDA5LTAxLTA1IDE3OjMxOjEzICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBleHQvcHVsc2UvcHVsc2VzaW5rLmM6IERvbid0IHdhaXQgZm9yIHRoZSBwdWxzZSBtYWlubG9vcCB3aGVuIGRlc3Ryb3lpbmcgdGhlIHN0cmVhbS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3B1bHNlL3B1bHNlc2luay5jOiAoZ3N0X3B1bHNlc2lua19kZXN0cm95X3N0cmVhbSk6CgkgIERvbid0IHdhaXQgZm9yIHRoZSBwdWxzZSBtYWlubG9vcCB3aGVuIGRlc3Ryb3lpbmcgdGhlIHN0cmVhbS4KCSAgRml4ZXMgYSBkZWFkbG9jayB3aGVuIHRoZSBwdWxzZWRhZW1vbiBnb2VzIGF3YXkgd2hpbGUgcHVsc2VzaW5rCgkgIGlzIFBMQVlJTkcuIEZpeGVzIGJ1ZyAjNTU2OTg2LgoKMjAwOS0wMS0wNSAxMjozMDo0MCArMDAwMCAgU2FzY2hhIEhhdWVyIDxzLmhhdWVyQHBlbmd1dHJvbml4LmRlPgoKCSAgc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOiBBZGQgc3VwcG9ydCBmb3IgZ3JheXNjYWxlIHY0bDIgZGV2aWNlcy4gRml4ZXMgYnVnICM1NjY2MTYuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogU2FzY2hhIEhhdWVyIDxzIGRvdCBoYXVlciBhdCBwZW5ndXRyb25peCBkb3QgZGU+CgkgIEx1b3RhbyBGdSA8bCBkb3QgZnUgYXQgcGVuZ3V0cm9uaXggZG90IGRlPgoJICAqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzogKGdzdF92NGwyc3JjX3Y0bDJmb3VyY2NfdG9fc3RydWN0dXJlKSwKCSAgKGdzdF92NGwyX2dldF9jYXBzX2luZm8pOgoJICBBZGQgc3VwcG9ydCBmb3IgZ3JheXNjYWxlIHY0bDIgZGV2aWNlcy4gRml4ZXMgYnVnICM1NjY2MTYuCgoyMDA5LTAxLTA1IDExOjQyOjA5ICswMDAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkgIGdzdC9xdGRlbXV4LzogU3RyZWFtbGluZSB0YWcgaGFuZGxpbmcgYW5kIHBhc3MgdW5wYXJzZWQgdGFncyBhcyBiaW5hcnkgYmxvYiBpbiBwcml2YXRlIHRhZy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAocXRkZW11eF90YWdfYWRkX3N0ciksCgkgIChxdGRlbXV4X3RhZ19hZGRfdG1wbyksIChxdGRlbXV4X3RhZ19hZGRfY292ciksCgkgIChxdGRlbXV4X3RhZ19hZGRfZGF0ZSksIChxdGRlbXV4X3RhZ19hZGRfZ25yZSksCgkgIChxdGRlbXV4X3RhZ19hZGRfYmxvYiksIChxdGRlbXV4X3BhcnNlX3VkdGEpOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguaDoKCSAgKiBnc3QvcXRkZW11eC9xdWlja3RpbWUuYzogKHBsdWdpbl9pbml0KToKCSAgU3RyZWFtbGluZSB0YWcgaGFuZGxpbmcgYW5kIHBhc3MgdW5wYXJzZWQgdGFncyBhcyBiaW5hcnkgYmxvYgoJICBpbiBwcml2YXRlIHRhZy4KCjIwMDktMDEtMDUgMTA6MTM6MjkgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9hdWRpb2Z4LzogSW1wbGVtZW50IGEgYmFzZSBjbGFzcyBmb3IgSUlSIGZpbHRlcnMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdWRpb2Z4L01ha2VmaWxlLmFtOgoJICAqIGdzdC9hdWRpb2Z4L2F1ZGlvZnhiYXNlaWlyZmlsdGVyLmM6CgkgIChnc3RfYXVkaW9fZnhfYmFzZV9paXJfZmlsdGVyX2Jhc2VfaW5pdCksCgkgIChnc3RfYXVkaW9fZnhfYmFzZV9paXJfZmlsdGVyX2Rpc3Bvc2UpLAoJICAoZ3N0X2F1ZGlvX2Z4X2Jhc2VfaWlyX2ZpbHRlcl9jbGFzc19pbml0KSwKCSAgKGdzdF9hdWRpb19meF9iYXNlX2lpcl9maWx0ZXJfaW5pdCksCgkgIChnc3RfYXVkaW9fZnhfYmFzZV9paXJfZmlsdGVyX2NhbGN1bGF0ZV9nYWluKSwKCSAgKGdzdF9hdWRpb19meF9iYXNlX2lpcl9maWx0ZXJfc2V0X2NvZWZmaWNpZW50cyksCgkgIChnc3RfYXVkaW9fZnhfYmFzZV9paXJfZmlsdGVyX3NldHVwKSwgKHByb2Nlc3MpLAoJICAoZ3N0X2F1ZGlvX2Z4X2Jhc2VfaWlyX2ZpbHRlcl90cmFuc2Zvcm1faXApLAoJICAoZ3N0X2F1ZGlvX2Z4X2Jhc2VfaWlyX2ZpbHRlcl9zdG9wKToKCSAgKiBnc3QvYXVkaW9meC9hdWRpb2Z4YmFzZWlpcmZpbHRlci5oOgoJICBJbXBsZW1lbnQgYSBiYXNlIGNsYXNzIGZvciBJSVIgZmlsdGVycy4KCSAgKiBnc3QvYXVkaW9meC9hdWRpb2NoZWJiYW5kLmM6IChnc3RfYXVkaW9fY2hlYl9iYW5kX2Jhc2VfaW5pdCksCgkgIChnc3RfYXVkaW9fY2hlYl9iYW5kX2NsYXNzX2luaXQpLCAoZ3N0X2F1ZGlvX2NoZWJfYmFuZF9pbml0KSwKCSAgKGdlbmVyYXRlX2NvZWZmaWNpZW50cyksIChnc3RfYXVkaW9fY2hlYl9iYW5kX3NldF9wcm9wZXJ0eSksCgkgIChnc3RfYXVkaW9fY2hlYl9iYW5kX3NldHVwKToKCSAgKiBnc3QvYXVkaW9meC9hdWRpb2NoZWJiYW5kLmg6CgkgICogZ3N0L2F1ZGlvZngvYXVkaW9jaGVibGltaXQuYzogKGdzdF9hdWRpb19jaGViX2xpbWl0X2Jhc2VfaW5pdCksCgkgIChnc3RfYXVkaW9fY2hlYl9saW1pdF9jbGFzc19pbml0KSwgKGdzdF9hdWRpb19jaGViX2xpbWl0X2luaXQpLAoJICAoZ2VuZXJhdGVfY29lZmZpY2llbnRzKSwgKGdzdF9hdWRpb19jaGViX2xpbWl0X3NldF9wcm9wZXJ0eSksCgkgIChnc3RfYXVkaW9fY2hlYl9saW1pdF9zZXR1cCk6CgkgICogZ3N0L2F1ZGlvZngvYXVkaW9jaGVibGltaXQuaDoKCSAgVXNlIHRoZSBJSVIgZmlsdGVyIGJhc2UgY2xhc3MgZm9yIHRoZSBjaGVieXNoZXYgZmlsdGVycy4KCjIwMDktMDEtMDIgMjA6Mzk6MzQgKzAwMDAgIEp1c3RpbiBLYXJuZWdhcyA8anVzdGluQGFmZmluaXguY29tPgoKCSAgc3lzL29zeGF1ZGlvLzogUmV3cml0ZSBvc3hhdWRpbyB0byB3b3JrIG1vcmUgZmxleGlibHkgYW5kIG1vcmUgcmVsaWFibHksIHVzaW5nIGEgZGlmZmVyZW50IGFic3RyYWN0aW9uIGxheWVyIG9mIGNvcmVhLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogSnVzdGluIEthcm5lZ2FzIDxqdXN0aW5AYWZmaW5peC5jb20+IGFuZAoJICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAc29uZ2JpcmRuZXN0LmNvbT4KCSAgKiBzeXMvb3N4YXVkaW8vZ3N0b3N4YXVkaW8uYzoKCSAgKiBzeXMvb3N4YXVkaW8vZ3N0b3N4YXVkaW9lbGVtZW50LmM6CgkgICogc3lzL29zeGF1ZGlvL2dzdG9zeGF1ZGlvZWxlbWVudC5oOgoJICAqIHN5cy9vc3hhdWRpby9nc3Rvc3hhdWRpb3NpbmsuYzoKCSAgKiBzeXMvb3N4YXVkaW8vZ3N0b3N4YXVkaW9zaW5rLmg6CgkgICogc3lzL29zeGF1ZGlvL2dzdG9zeGF1ZGlvc3JjLmM6CgkgICogc3lzL29zeGF1ZGlvL2dzdG9zeGF1ZGlvc3JjLmg6CgkgICogc3lzL29zeGF1ZGlvL2dzdG9zeHJpbmdidWZmZXIuYzoKCSAgKiBzeXMvb3N4YXVkaW8vZ3N0b3N4cmluZ2J1ZmZlci5oOgoJICBSZXdyaXRlIG9zeGF1ZGlvIHRvIHdvcmsgbW9yZSBmbGV4aWJseSBhbmQgbW9yZSByZWxpYWJseSwgdXNpbmcgYQoJICBkaWZmZXJlbnQgYWJzdHJhY3Rpb24gbGF5ZXIgb2YgY29yZWF1ZGlvIHRoYXQgaXMgdGhlIHJlY29tbWVuZGVkIHdheSBvZgoJICBkb2luZyBsb3ctbGV2ZWwgYXVkaW8gSS9PIG9uIE9TWC4KCSAgRml4ZXMgYnlnICM1NjQ5NDguCgoyMDA5LTAxLTAyIDE2OjMxOjEzICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgdGVzdHMvZXhhbXBsZXMvcnRwL3NlcnZlci1kZWNvZGViaW4tSDI2M3AtQU1SLnNoOiBBZGQgZXhhbXBsZSBSVFAgdHJhbnNjb2RpbmcgcGlwZWxpbmUgZnJvbSBhbnkgZmlsZSBkZWNvZGVkYWJsZSB3aXRoLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2V4YW1wbGVzL3J0cC9zZXJ2ZXItZGVjb2RlYmluLUgyNjNwLUFNUi5zaDoKCSAgQWRkIGV4YW1wbGUgUlRQIHRyYW5zY29kaW5nIHBpcGVsaW5lIGZyb20gYW55IGZpbGUgZGVjb2RlZGFibGUgd2l0aAoJICB1cmlkZWNvZGViaW4uCgoyMDA5LTAxLTAyIDE1OjIwOjQ4ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgdGVzdHMvZXhhbXBsZXMvcnRwLzogQWRkIHR3byBDIGV4YW1wbGVzIG9mIHVzaW5nIGdzdHJ0cGJpbiBhcyBhIHNlbmRlciBhbmQgYSByZWNlaXZlci4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvZXhhbXBsZXMvcnRwLy5jdnNpZ25vcmU6CgkgICogdGVzdHMvZXhhbXBsZXMvcnRwL01ha2VmaWxlLmFtOgoJICAqIHRlc3RzL2V4YW1wbGVzL3J0cC9jbGllbnQtUENNQS5jOiAocGFkX2FkZGVkX2NiKSwgKG1haW4pOgoJICAqIHRlc3RzL2V4YW1wbGVzL3J0cC9zZXJ2ZXItYWxzYXNyYy1QQ01BLmM6IChtYWluKToKCSAgQWRkIHR3byBDIGV4YW1wbGVzIG9mIHVzaW5nIGdzdHJ0cGJpbiBhcyBhIHNlbmRlciBhbmQgYSByZWNlaXZlci4KCjIwMDgtMTItMzEgMTE6MjA6NTUgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgQ2hhbmdlTG9nOiBSZW1vdmUgY29uZmxpY3QgbWFya2VyIGZyb20gQ2hhbmdlTG9nCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIENoYW5nZUxvZzoKCSAgUmVtb3ZlIGNvbmZsaWN0IG1hcmtlciBmcm9tIENoYW5nZUxvZwoKMjAwOC0xMi0yOCAwOTo1MDozMSArMDAwMCAgal4gPGpAb2lsMjEub3JnPgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBBZGQgY29kZWMgbWFwcGluZyBmb3IgeHZpZCwgZm1wNCBhbmQgYWMzIHRyYWNrcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBqXiA8aiBhdCBvaWwyMS5vcmc+CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAocXRkZW11eF92aWRlb19jYXBzKSwKCSAgKHF0ZGVtdXhfYXVkaW9fY2Fwcyk6CgkgIEFkZCBjb2RlYyBtYXBwaW5nIGZvciB4dmlkLCBmbXA0IGFuZCBhYzMgdHJhY2tzLgoJICBGaXhlcyAjNTY1ODUwCgoyMDA4LTEyLTIzIDEyOjEwOjQxICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZXh0L2pwZWcvZ3N0c21va2VlbmMuKjogSW1wbGVtZW50IGdldGNhcHMgZnVuY3Rpb24uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9qcGVnL2dzdHNtb2tlZW5jLmM6IChnc3Rfc21va2VlbmNfaW5pdCksCgkgIChnc3Rfc21va2VlbmNfZ2V0Y2FwcyksIChnc3Rfc21va2VlbmNfc2V0Y2FwcyksCgkgIChnc3Rfc21va2VlbmNfY2hhaW4pLCAoZ3N0X3Ntb2tlZW5jX2NoYW5nZV9zdGF0ZSk6CgkgICogZXh0L2pwZWcvZ3N0c21va2VlbmMuaDoKCSAgSW1wbGVtZW50IGdldGNhcHMgZnVuY3Rpb24uCgkgIFNldCBjYXBzIG9uIHRoZSBwYWQgYW5kIG9uIGFsbCBvdXRnb2luZyBidWZmZXJzLgoJICBGaXhlcyAjNTY1NDQxLgoKMjAwOC0xMi0xOSAwOTozNjo0NSArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZXh0L3B1bHNlL3B1bHNlbWl4ZXJjdHJsLmM6IEFuZCByZW1vdmUgdGVtcG9yYXJ5IGNvbW1lbnQgcG9pbnRpbmcgdG8gdGhlIGJ1ZyB0aWNrZXQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9wdWxzZS9wdWxzZW1peGVyY3RybC5jOgoJICBBbmQgcmVtb3ZlIHRlbXBvcmFyeSBjb21tZW50IHBvaW50aW5nIHRvIHRoZSBidWcgdGlja2V0LgoJICAqIGdzdC9hdmkvZ3N0YXZpbXV4LmM6CgkgIE1vdmUgcmVvY2N1cmluZyBsb2dnaW5nIHRvIExPRyBhbmQgbG9nIGluc3RhbmNlIHRvby4KCjIwMDgtMTItMTcgMTc6Mjg6MzkgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGV4dC9wdWxzZS9wdWxzZW1peGVyY3RybC5jOiBEb24ndCBsZWFrIHRoZSBwYV9vcGVyYXRpb24uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9wdWxzZS9wdWxzZW1peGVyY3RybC5jOgoJICBEb24ndCBsZWFrIHRoZSBwYV9vcGVyYXRpb24uCgoyMDA4LTEyLTE2IDE2OjE5OjI2ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBjb25maWd1cmUuYWM6IFJlcXVpcmUgY29yZSBjdnMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgUmVxdWlyZSBjb3JlIGN2cy4KCjIwMDgtMTItMTYgMTY6MDc6NDggKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC9hdmkvZ3N0YXZpbXV4LmM6IFJlbmFtZSBhcGkgZnJvbSBfZmx1c2ggdG8gX3Jlc2V0X3RhZ3MuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdmkvZ3N0YXZpbXV4LmM6CgkgIFJlbmFtZSBhcGkgZnJvbSBfZmx1c2ggdG8gX3Jlc2V0X3RhZ3MuCgoyMDA4LTEyLTE2IDE0OjIyOjUxICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3QvYXZpL2dzdGF2aW11eC5jOiBVc2UgbmV3IHRhZ3NldHRlciBhcGkgdG8gZmx1c2ggdGFncy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2F2aS9nc3RhdmltdXguYzoKCSAgVXNlIG5ldyB0YWdzZXR0ZXIgYXBpIHRvIGZsdXNoIHRhZ3MuCgoyMDA4LTEyLTE2IDEzOjE0OjM5ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICB0ZXN0cy9jaGVjay9lbGVtZW50cy9kZWludGVybGVhdmUuYzogSW5jcmVhc2UgdGltZW91dCB0byAzIG1pbnV0ZXMgdG8gcHJldmVudCB0aW1lb3V0cy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvZGVpbnRlcmxlYXZlLmM6IChkZWludGVybGVhdmVfc3VpdGUpOgoJICBJbmNyZWFzZSB0aW1lb3V0IHRvIDMgbWludXRlcyB0byBwcmV2ZW50IHRpbWVvdXRzLgoKMjAwOC0xMi0xNiAxMjo1MjoyNCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgdGVzdHMvY2hlY2svZWxlbWVudHMvaW50ZXJsZWF2ZS5jOiBJbmNyZWFzZSB0aW1lb3V0IHRvIDMgbWludXRlcyB0byBwcmV2ZW50IHRpbWVvdXRzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9pbnRlcmxlYXZlLmM6IChpbnRlcmxlYXZlX3N1aXRlKToKCSAgSW5jcmVhc2UgdGltZW91dCB0byAzIG1pbnV0ZXMgdG8gcHJldmVudCB0aW1lb3V0cy4KCjIwMDgtMTItMTYgMTE6NTc6MDEgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC9hdmkvZ3N0YXZpbXV4Lio6IFRvdGFsbHkgcmVtb3ZlIHRoZSBpbnRlcm5hbCB0YWdsaXN0cyBhbmQgZnVsbHkgdXNlIHRhZ3NldHRlci4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2F2aS9nc3RhdmltdXguYzoKCSAgKiBnc3QvYXZpL2dzdGF2aW11eC5oOgoJICBUb3RhbGx5IHJlbW92ZSB0aGUgaW50ZXJuYWwgdGFnbGlzdHMgYW5kIGZ1bGx5IHVzZSB0YWdzZXR0ZXIuCgoyMDA4LTEyLTE1IDE1OjU5OjUzICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3QvYXZpL2dzdGF2aW11eC5jOiBJbnN0ZWFkIG9mIGZpbHRlcmluZyB3cm9uZ2x5IGp1c3QgdXNlIHRoZSBtZXJnZW1vZGUuIEFwcGxpY2F0aW9ucyBpcyB1c2UgS0VFUF9BTEwgaWYgdGhleSB3YW50IHQuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2F2aS9nc3RhdmltdXguYzoKCSAgSW5zdGVhZCBvZiBmaWx0ZXJpbmcgd3JvbmdseSBqdXN0IHVzZSB0aGUgbWVyZ2Vtb2RlLiBBcHBsaWNhdGlvbnMgaXMKCSAgdXNlIEtFRVBfQUxMIGlmIHRoZXkgd2FudCB0byBzdXByZXNzIHRhZy1ldmVudHMuIEZpeGVzICM1NjMyMjEgZm9yCgkgIGF2aSBmb3IgcmVhbCAoSSBob3BlKS4gRXZlcnlvbmUgY2hpbWUgaW4sIGJlZm9yZSBJIGZpeCB0aGUgb3RoZXJzLgoKMjAwOC0xMi0xNSAxMjo0NTozNSArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZXh0L3B1bHNlL3B1bHNlbWl4ZXJjdHJsLmM6IEFkZCBub3RlIGFib3V0IG1lbWxlYWsuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9wdWxzZS9wdWxzZW1peGVyY3RybC5jOgoJICBBZGQgbm90ZSBhYm91dCBtZW1sZWFrLgoKMjAwOC0xMi0xMyAxNjoyMzowOSArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIG00L01ha2VmaWxlLmFtOiBBIGNvdXBsZSBtb3JlIC5tNCB0aGF0IGFyZW4ndCBzaGlwcGVkIGFueW1vcmUgd2l0aCBnZXR0ZXh0IDAuMTcuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIG00L01ha2VmaWxlLmFtOgoJICBBIGNvdXBsZSBtb3JlIC5tNCB0aGF0IGFyZW4ndCBzaGlwcGVkIGFueW1vcmUgd2l0aCBnZXR0ZXh0IDAuMTcuCgoyMDA4LTEyLTEzIDE1OjM0OjAxICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgU3dpdGNoIHRvIHVzaW5nIEdzdFN0YXRpY1BhZFRlbXBsYXRlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZmxhYy9nc3RmbGFjZGVjLmM6IChnc3RfZmxhY19kZWNfYmFzZV9pbml0KSwKCSAgKGdzdF9mbGFjX2RlY19pbml0KToKCSAgKiBnc3QvbGF3L2FsYXctZGVjb2RlLmM6IChnc3RfYWxhd19kZWNfYmFzZV9pbml0KSwKCSAgKGdzdF9hbGF3X2RlY19pbml0KToKCSAgKiBnc3QvbGF3L2FsYXctZW5jb2RlLmM6IChnc3RfYWxhd19lbmNfYmFzZV9pbml0KSwKCSAgKGdzdF9hbGF3X2VuY19pbml0KToKCSAgKiBnc3QvbGF3L2FsYXcuYzogKHBsdWdpbl9pbml0KToKCSAgKiBnc3QvbGF3L211bGF3LWRlY29kZS5jOiAoZ3N0X211bGF3ZGVjX2Jhc2VfaW5pdCksCgkgIChnc3RfbXVsYXdkZWNfaW5pdCk6CgkgICogZ3N0L2xhdy9tdWxhdy1lbmNvZGUuYzogKGdzdF9tdWxhd2VuY19iYXNlX2luaXQpLAoJICAoZ3N0X211bGF3ZW5jX2luaXQpOgoJICAqIGdzdC9sYXcvbXVsYXcuYzogKHBsdWdpbl9pbml0KToKCSAgU3dpdGNoIHRvIHVzaW5nIEdzdFN0YXRpY1BhZFRlbXBsYXRlLgoJICAqIGdzdC91ZHAvZ3N0dWRwbmV0dXRpbHMuYzogKGdzdF91ZHBfZ2V0X2FkZHIpOgoJICBEb24ndCBmb3JnZXQgdG8gZnJlZSB0aGUgYWRkcmluZm8gc3RydWN0dXJlLgoJICAqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOiAoZ3N0X3dhdnBhcnNlX3Jlc2V0KSwKCSAgKGdzdF93YXZwYXJzZV9zaW5rX2FjdGl2YXRlKToKCSAgRG9uJ3QgZm9yZ2V0IHRvIHVucmVmIHRoZSBHc3RBZGFwdGVyLgoKMjAwOC0xMi0xMyAxMjo1ODoyNCArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIG00L01ha2VmaWxlLmFtOiBpbnR0eXBlcy5tNCBoYXNuJ3QgYmVlbiBhdmFpbGFibGUgc2luY2UgZ2V0dGV4dC0wLjE1LCBhbmQgc2luY2Ugd2Ugbm93IHJlcXVpcmUgZ2V0dGV4dCA+PSAwLjE3IC4uLiB3ZS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBtNC9NYWtlZmlsZS5hbToKCSAgaW50dHlwZXMubTQgaGFzbid0IGJlZW4gYXZhaWxhYmxlIHNpbmNlIGdldHRleHQtMC4xNSwgYW5kIHNpbmNlIHdlIG5vdwoJICByZXF1aXJlIGdldHRleHQgPj0gMC4xNyAuLi4gd2UgY2FuIHJlbW92ZSBpdCBmcm9tIHRoZSBsaXN0IG9mIGZpbGVzIHRvCgkgIGRpc3QuCgoyMDA4LTEyLTEwIDE1OjAzOjIzICswMDAwICBDaHJpc3RpYW4gU2NoYWxsZXIgPHVyYWV1c0Bnbm9tZS5vcmc+CgoJKiBnc3QtcGx1Z2lucy1nb29kLnNwZWMuaW46CgkgIHNtYWxsZXIgc3BlYyBmaWxlIHVwZGF0ZXMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHNtYWxsZXIgc3BlYyBmaWxlIHVwZGF0ZXMKCjIwMDgtMTItMDkgMTc6NTU6MjIgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzogTW9yZSBsb2dnaW5nLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIE1vcmUgbG9nZ2luZy4KCSAgKiBnc3QvYXZpL2dzdGF2aW11eC5jOgoJICBIYW5kbGUgbW9yZSBtZXRhZGF0YSBmaWVsZHMuIEJldHRlciBlc3RpbWF0ZSBvZiBtZXRhZGF0YSBzaXplLiBEb24ndAoJICBtZXJnZSByZWNlaXZlZCB0YWdzLCBpZiBhcHBsaWNhdGlvbiBoYXMgc3BlY2lmaWVkIHRhZ3MgdXNpbmcKCSAgR1NUX1RBR19NRVJHRV9SRVBMQUNFX0FMTC4gRml4ZXMgIzU2MzIyMSBmb3IgYXZpLgoKMjAwOC0xMi0wOSAxNDozMDowMyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06IEFsc28gaWdub3JlIHB1bHNlbWl4ZXIgZm9yIHRoZSBzdGF0ZXMgdW5pdCB0ZXN0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgQWxzbyBpZ25vcmUgcHVsc2VtaXhlciBmb3IgdGhlIHN0YXRlcyB1bml0IHRlc3QuCgoyMDA4LTEyLTA5IDE0OjE5OjE2ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cC9nc3RydHBqcGVnZGVwYXkuYzogQWRkIGFuIEVPSSBtYXJrZXIgYXQgdGhlIGVuZCBvZiB0aGUganBlZyBmcmFtZSB3aGVuIGl0J3MgbWlzc2luZy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cC9nc3RydHBqcGVnZGVwYXkuYzogKGdzdF9ydHBfanBlZ19kZXBheV9wcm9jZXNzKToKCSAgQWRkIGFuIEVPSSBtYXJrZXIgYXQgdGhlIGVuZCBvZiB0aGUganBlZyBmcmFtZSB3aGVuIGl0J3MgbWlzc2luZy4KCSAgRml4ZXMgIzU2MzA1Ni4KCjIwMDgtMTItMDkgMTA6NDc6MTQgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3ZpZGVvY3JvcC5jOiBVcGRhdGUgdGhlIHVuaXQgdGVzdCBmb3IgdGhlIG5ldyBjb2xvciB2YWx1ZXMgZm9yIEJULjYwMSByZWQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3ZpZGVvY3JvcC5jOiAoY2hlY2tfMXgxX2J1ZmZlcik6CgkgIFVwZGF0ZSB0aGUgdW5pdCB0ZXN0IGZvciB0aGUgbmV3IGNvbG9yIHZhbHVlcyBmb3IgQlQuNjAxIHJlZC4KCSAgRml4ZXMgYnVnICM1NjM1MTAuCgoyMDA4LTEyLTA5IDEwOjI4OjExICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L2R2L2dzdGR2ZGVtdXguYzogUmVzdG9yZSBwcmV2aW91cyBiZWhhdmlvdXIgb2Ygbm90IHBhc3NpbmcgUW9TIGFuZCBuYXZpZ2F0aW9uIGV2ZW50cyB1cHN0cmVhbSwgd2hpY2ggcHJlc3VtYWJseSB3Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9kdi9nc3RkdmRlbXV4LmM6IChnc3RfZHZkZW11eF9oYW5kbGVfc3JjX2V2ZW50KToKCSAgUmVzdG9yZSBwcmV2aW91cyBiZWhhdmlvdXIgb2Ygbm90IHBhc3NpbmcgUW9TIGFuZCBuYXZpZ2F0aW9uCgkgIGV2ZW50cyB1cHN0cmVhbSwgd2hpY2ggcHJlc3VtYWJseSB3YXNuJ3QgbWVhbnQgdG8gYmUgY2hhbmdlZC4KCjIwMDgtMTItMDkgMDk6Mzk6NTMgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGV4dC9kdi9nc3RkdmRlbXV4LmM6IEFkZCBzcmNwYWRzIG9ubHkgd2hlbiBuZWVkZWQgYW5kIHJlbW92ZSB0aGVtIGFnYWluIHdoZW4gZ29pbmcgYmFjayB0byBSRUFEWS4gVGhpcyBwcmV2ZW50cyBzdGFsbC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZHYvZ3N0ZHZkZW11eC5jOiAoZ3N0X2R2ZGVtdXhfYWRkX3ZpZGVvX3BhZCksCgkgIChnc3RfZHZkZW11eF9hZGRfYXVkaW9fcGFkKSwgKGdzdF9kdmRlbXV4X3JlbW92ZV9wYWRzKSwKCSAgKGdzdF9kdmRlbXV4X2RlbXV4X2F1ZGlvKSwgKGdzdF9kdmRlbXV4X2RlbXV4X3ZpZGVvKSwKCSAgKGdzdF9kdmRlbXV4X2NoYWluKSwgKGdzdF9kdmRlbXV4X2xvb3ApLAoJICAoZ3N0X2R2ZGVtdXhfY2hhbmdlX3N0YXRlKToKCSAgQWRkIHNyY3BhZHMgb25seSB3aGVuIG5lZWRlZCBhbmQgcmVtb3ZlIHRoZW0gYWdhaW4gd2hlbiBnb2luZwoJICBiYWNrIHRvIFJFQURZLiBUaGlzIHByZXZlbnRzIHN0YWxsZWQgcGlwZWxpbmVzIGlmIHRoZXJlJ3Mgbm8KCSAgYXVkaW8gaW5zaWRlIHRoZSBEViBzdHJlYW0sIHdoaWNoIGhhcHBlbnMgZm9yIG1hbnkgTVhGIGZpbGVzLgoKMjAwOC0xMi0wOSAwOTowOToyNSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgdGVzdHMvY2hlY2svZWxlbWVudHMvc291cGh0dHBzcmMuYzogVGhlIHBvcnRzIGluIGxpYnNvdXAgYXJlIHVuc2lnbmVkIGludGVnZXJzIGFuZCBub3Qgc2lnbmVkIGludGVnZXJzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9zb3VwaHR0cHNyYy5jOiAoR1NUX1NUQVJUX1RFU1QpLAoJICAocnVuX3NlcnZlcik6CgkgIFRoZSBwb3J0cyBpbiBsaWJzb3VwIGFyZSB1bnNpZ25lZCBpbnRlZ2VycyBhbmQgbm90IHNpZ25lZAoJICBpbnRlZ2Vycy4KCjIwMDgtMTItMDggMTg6MzE6MDAgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGV4dC9kdi9nc3RkdmRlbXV4LmM6IEZvcndhcmQgYWxsIGV2ZW50cyB1cHN0cmVhbSB1bmxlc3MgaXQncyBzb21ldGhpbmcgd2UgcmVhbGx5IGRvbid0IGhhbmRsZS4gVGhpcyBmaXhlcyBsYXRlbmN5IGNvbi4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZHYvZ3N0ZHZkZW11eC5jOiAoZ3N0X2R2ZGVtdXhfaGFuZGxlX3NyY19ldmVudCk6CgkgIEZvcndhcmQgYWxsIGV2ZW50cyB1cHN0cmVhbSB1bmxlc3MgaXQncyBzb21ldGhpbmcgd2UgcmVhbGx5CgkgIGRvbid0IGhhbmRsZS4gVGhpcyBmaXhlcyBsYXRlbmN5IGNvbmZpZ3VyYXRpb24gb2YgcGlwZWxpbmVzLgoKMjAwOC0xMi0wOCAxODoyNDoyMSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZXh0L2R2LzogUmVhbGx5IGNhbGwgZHZfaW5pdCgpIGV4YWN0bHkgb25lIHRpbWUsIG5vdCBvbmUgdGltZSBmb3IgdGhlIGRlbXV4ZXIgYW5kIG9uZSB0aW1lIGZvciB0aGUgZGVjb2Rlci4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2R2L2dzdGR2LmM6IChwbHVnaW5faW5pdCk6CgkgICogZXh0L2R2L2dzdGR2ZGVjLmM6IChnc3RfZHZkZWNfY2xhc3NfaW5pdCk6CgkgICogZXh0L2R2L2dzdGR2ZGVtdXguYzogKGdzdF9kdmRlbXV4X2NsYXNzX2luaXQpOgoJICBSZWFsbHkgY2FsbCBkdl9pbml0KCkgZXhhY3RseSBvbmUgdGltZSwgbm90IG9uZSB0aW1lIGZvcgoJICB0aGUgZGVtdXhlciBhbmQgb25lIHRpbWUgZm9yIHRoZSBkZWNvZGVyLgoKMjAwOC0xMi0wOCAxMjozNzo0NSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHAvZ3N0cnRwbXA0YXBheS5jOiBDb3B5IGluY29tbWluZyB0aW1lc3RhbXAgdG8gb3V0Z29pbmcgcGFja2V0cy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cC9nc3RydHBtcDRhcGF5LmM6IChnc3RfcnRwX21wNGFfcGF5X2hhbmRsZV9idWZmZXIpOgoJICBDb3B5IGluY29tbWluZyB0aW1lc3RhbXAgdG8gb3V0Z29pbmcgcGFja2V0cy4KCjIwMDgtMTItMDggMTI6MzY6MjEgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwL2dzdHJ0cG1wNHZwYXkuYzogRG9uJ3QgdHJ5IHRvIHB1c2ggcGFja2V0cyBiZWZvcmUgd2UgY291bGQgZmluZCBhIHZhbGlkIGNvbmZpZyBzdGFydGNvZGUuIEZpeGVzICM1NjM1MDkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHAvZ3N0cnRwbXA0dnBheS5jOiAoZ3N0X3J0cF9tcDR2X3BheV9mbHVzaCksCgkgIChnc3RfcnRwX21wNHZfcGF5X2V2ZW50KToKCSAgRG9uJ3QgdHJ5IHRvIHB1c2ggcGFja2V0cyBiZWZvcmUgd2UgY291bGQgZmluZCBhIHZhbGlkIGNvbmZpZwoJICBzdGFydGNvZGUuIEZpeGVzICM1NjM1MDkuCgoyMDA4LTEyLTA3IDE5OjIyOjQ4ICswMDAwICBCcmlhbiBDYW1lcm9uIDxicmlhbi5jYW1lcm9uQHN1bi5jb20+CgoJICBzeXMvc3VuYXVkaW8vZ3N0c3VuYXVkaW9taXhlcmN0cmwuYzogU2V0IHRoZSBtaXhlciBmZCBiZWZvcmUgY2FsbGluZyBpb2N0bCgpIG9uIGl0LiBGaXhlcyBidWcgIzU2MzQxNC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBCcmlhbiBDYW1lcm9uIDxicmlhbi5jYW1lcm9uIGF0IHN1biBkb3QgY29tPgoJICAqIHN5cy9zdW5hdWRpby9nc3RzdW5hdWRpb21peGVyY3RybC5jOgoJICAoZ3N0X3N1bmF1ZGlvbWl4ZXJfY3RybF9vcGVuKToKCSAgU2V0IHRoZSBtaXhlciBmZCBiZWZvcmUgY2FsbGluZyBpb2N0bCgpIG9uIGl0LiBGaXhlcyBidWcgIzU2MzQxNC4KCjIwMDgtMTItMDcgMTk6MDE6MzUgKzAwMDAgIEFsZXhhbmRyZSBSb3N0b3Z0c2V2IDx0ZXRyb21pbm9AZ21haWwuY29tPgoKCSAgY29uZmlndXJlLmFjOiBNYWtlIHVzYWdlIG9mIGxpYnY0bCBvcHRpb25hbCBieSBhIGNvbmZpZ3VyZSBwYXJhbWV0ZXIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogQWxleGFuZHJlIFJvc3RvdnRzZXYgPHRldHJvbWlubyBhdCBnbWFpbCBkb3QgY29tPgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgTWFrZSB1c2FnZSBvZiBsaWJ2NGwgb3B0aW9uYWwgYnkgYSBjb25maWd1cmUgcGFyYW1ldGVyLgoJICBGaXhlcyBidWcgIzU2MzUwNC4KCjIwMDgtMTItMDUgMDk6MjQ6MTggKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIEFkZCBkb2N1bWVudGF0aW9uIGZvciBtYXRyb3NrYW11eCBhbmQgbWF0cm9za2FkZW11eCBhbmQgdXBkYXRlIHRoZSBpbnNwZWN0aW9uIHhtbCBmaWxlcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtZG9jcy5zZ21sOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuYXJnczoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmhpZXJhcmNoeToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmludGVyZmFjZXM6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLTEzOTQueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hYXNpbmsueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbGF3LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGEueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYWNvbG9yLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYW5ub2RleC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFwZXRhZy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvZngueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXBhcnNlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2RldGVjdC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF2aS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhY2FzaW5rLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2Fpcm8ueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jdXR0ZXIueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Zy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZlbmNlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZmZWN0di54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVxdWFsaXplci54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVzZHNpbmsueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbGFjLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx4ZGVjLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2FtbWEueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nY29uZmVsZW1lbnRzLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2RrcGl4YnVmLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20yazEueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1oYWxlbGVtZW50cy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWljeWRlbXV4LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzZGVtdXgueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlcmxlYXZlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanBlZy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxldmVsLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWF0cm9za2EueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tb25vc2NvcGUueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWxhdy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpZmlsZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpcGFydC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5hdmlnYXRpb250ZXN0LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzYXVkaW8ueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbmcueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wdWxzZWF1ZGlvLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcXVpY2t0aW1lLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVwbGF5Z2Fpbi54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0c3AueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaG91dDJzZW5kLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc21wdGUueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VwLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlY3RydW0ueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVleC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXRhZ2xpYi54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXVkcC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvNGxpbnV4Mi54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvYmFsYW5jZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvYm94LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9jcm9wLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9mbGlwLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9taXhlci54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdmVuYy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhY2sueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYXJzZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXhpbWFnZXNyYy54bWw6CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4Lmg6CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguaDoKCSAgQWRkIGRvY3VtZW50YXRpb24gZm9yIG1hdHJvc2thbXV4IGFuZCBtYXRyb3NrYWRlbXV4IGFuZAoJICB1cGRhdGUgdGhlIGluc3BlY3Rpb24geG1sIGZpbGVzLgoKMjAwOC0xMi0wNCAyMDoxMDo1OCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgY29uZmlndXJlLmFjOiBBcHBhcmVudGx5IEFDX0NPTkZJR19NQUNST19ESVIgYnJlYWtzIHdoZW4gdXNpbmcgbW9yZSB0aGFuIG9uZSBtYWNybyBkaXJlY3RvcnksIHJldmVydGluZyBsYXN0IGNoYW5nZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICBBcHBhcmVudGx5IEFDX0NPTkZJR19NQUNST19ESVIgYnJlYWtzIHdoZW4gdXNpbmcgbW9yZQoJICB0aGFuIG9uZSBtYWNybyBkaXJlY3RvcnksIHJldmVydGluZyBsYXN0IGNoYW5nZS4KCjIwMDgtMTItMDQgMTk6NDc6MjEgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGNvbmZpZ3VyZS5hYzogU2V0IEFDX0NPTkZJR19NQUNST19ESVIgdG8gY29tbW9uL200IHRvIHBvaW50IGF1dG9jb25mIHRvIG91ciBNNCBtYWNyb3MuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgU2V0IEFDX0NPTkZJR19NQUNST19ESVIgdG8gY29tbW9uL200IHRvIHBvaW50IGF1dG9jb25mIHRvCgkgIG91ciBNNCBtYWNyb3MuCgoyMDA4LTExLTMwIDE2OjI0OjQ1ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvdWRwL2dzdG11bHRpdWRwc2luay5jOiBQcm92aWRlIHRoZSBwYXJhbWV0ZXJzIHRoYXQgYXJlIHJlcXVpcmVkIGZvciB0aGUgZm9ybWF0IHN0cmluZyB0byBmaXggYSBjb21waWxlciB3YXJuaW5nLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvdWRwL2dzdG11bHRpdWRwc2luay5jOiAoZ3N0X211bHRpdWRwc2lua19yZW5kZXIpOgoJICBQcm92aWRlIHRoZSBwYXJhbWV0ZXJzIHRoYXQgYXJlIHJlcXVpcmVkIGZvciB0aGUgZm9ybWF0IHN0cmluZwoJICB0byBmaXggYSBjb21waWxlciB3YXJuaW5nLgoKMjAwOC0xMS0yOSAyMDowNTo0MSArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b2F1ZGlvc3JjLmM6IEZpeCBjbGFzc2lmaWNhdGlvbi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b2F1ZGlvc3JjLmM6CgkgIEZpeCBjbGFzc2lmaWNhdGlvbi4KCjIwMDgtMTEtMjkgMTM6MzE6NTUgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIFJlcXVpcmUgZ2V0dGV4dCAwLjE3IGJlY2F1c2Ugb2xkZXIgdmVyc2lvbnMgZG9uJ3QgbWl4IHdpdGggbGlidG9vbCAyLjIuIEF0IGJ1aWxkIHRpbWUgYW4gb2xkZXIgZ2V0dGV4dCB2ZXJzaW9uIHdpbGwgcy4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IEN5Z3dpbiBQb3J0cyBtYWludGFpbmVyCgkgIDx5c2Vsa293aXR6IGF0IHVzZXJzIGRvdCBzb3VyY2Vmb3JnZSBkb3QgbmV0PgoJICAqIGF1dG9nZW4uc2g6CgkgICogY29uZmlndXJlLmFjOgoJICBSZXF1aXJlIGdldHRleHQgMC4xNyBiZWNhdXNlIG9sZGVyIHZlcnNpb25zIGRvbid0IG1peCB3aXRoIGxpYnRvb2wKCSAgMi4yLiBBdCBidWlsZCB0aW1lIGFuIG9sZGVyIGdldHRleHQgdmVyc2lvbiB3aWxsIHN0aWxsIHdvcmsuCgkgIEZpeGVzIGJ1ZyAjNTU2MDkxLgoKMjAwOC0xMS0yOCAxNToxMDo1MCArMDAwMCAgUGV0ZXIgS2plbGxlcnN0ZWR0IDxwa2pAYXhpcy5jb20+CgoJICBnc3QvdWRwL2dzdG11bHRpdWRwc2luay5jOiBNYWtlIGdzdF9tdWx0aXVkcHNpbmtfcmVuZGVyKCkgaWdub3JlIGVycm9ycyBmcm9tIHNlbmR0bygpIGluc3RlYWQgb2YgYnJlYWtpbmcgc3RyZWFtaW5nLiAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBQZXRlciBLamVsbGVyc3RlZHQgPHBraiBhdCBheGlzIGNvbT4KCSAgKiBnc3QvdWRwL2dzdG11bHRpdWRwc2luay5jOiAoZ3N0X211bHRpdWRwc2lua19yZW5kZXIpOgoJICBNYWtlIGdzdF9tdWx0aXVkcHNpbmtfcmVuZGVyKCkgaWdub3JlIGVycm9ycyBmcm9tIHNlbmR0bygpIGluc3RlYWQgb2YKCSAgYnJlYWtpbmcgc3RyZWFtaW5nLiBFbWl0IGEgd2FybmluZyBpbnN0ZWFkLiBGaXhlcyAjNTYyNTcyLgoKMjAwOC0xMS0yNyAxNjo0MzoyNCArMDAwMCAgUm9uIE1jT3VhdCA8cm1jb3VhdEBzbWFydHQuY29tPgoKCSAgQWRkIHN1cHBvcnQgZm9yIGJhc2ljIGFuZCBkaWdlc3QgYXV0aGVudGljYXRpb24gaW4gc291cGh0dHBzcmMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogUm9uIE1jT3VhdCA8cm1jb3VhdCBhdCBzbWFydHQgZG90IGNvbT4KCSAgKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOiAoZ3N0X3NvdXBfaHR0cF9zcmNfY2xhc3NfaW5pdCksCgkgIChnc3Rfc291cF9odHRwX3NyY19pbml0KSwgKGdzdF9zb3VwX2h0dHBfc3JjX2Rpc3Bvc2UpLAoJICAoZ3N0X3NvdXBfaHR0cF9zcmNfc2V0X3Byb3BlcnR5KSwgKGdzdF9zb3VwX2h0dHBfc3JjX2dldF9wcm9wZXJ0eSksCgkgIChnc3Rfc291cF9odHRwX3NyY19hdXRoZW50aWNhdGVfY2IpLCAoZ3N0X3NvdXBfaHR0cF9zcmNfc3RhcnQpOgoJICAqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmg6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvc291cGh0dHBzcmMuYzogKGJhc2ljX2F1dGhfY2IpLAoJICAoZGlnZXN0X2F1dGhfY2IpLCAocnVuX3Rlc3QpLCAoR1NUX1NUQVJUX1RFU1QpLAoJICAoc291cGh0dHBzcmNfc3VpdGUpLCAocnVuX3NlcnZlcik6CgkgIEFkZCBzdXBwb3J0IGZvciBiYXNpYyBhbmQgZGlnZXN0IGF1dGhlbnRpY2F0aW9uIGluIHNvdXBodHRwc3JjLgoJICBGaXhlcyBidWcgIzU2MTc3NS4KCjIwMDgtMTEtMjcgMTI6MTM6MzkgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC93YXZlbmMvOiBBZGQgc3VwcG9ydCBmb3IgYS1sYXcgYW5kIG11LWxhdyBlbmNvZGVkIHdhdiBmaWxlcy4gRml4ZXMgYnVnICM1NjI0MzQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogUGVwaWpuIFZhbiBFZWNraG91ZHQKCSAgPHBlcGlqbiBkb3QgdmFuZWVja2hvdWR0IGF0IGx1Y2lhZCBkb3QgY29tPgoJICAqIGdzdC93YXZlbmMvZ3N0d2F2ZW5jLmM6IChnc3Rfd2F2ZW5jX2NyZWF0ZV9oZWFkZXJfYnVmKSwKCSAgKGdzdF93YXZlbmNfc2lua19zZXRjYXBzKSwgKGdzdF93YXZlbmNfY2hhbmdlX3N0YXRlKToKCSAgKiBnc3Qvd2F2ZW5jL2dzdHdhdmVuYy5oOgoJICAqIGdzdC93YXZlbmMvcmlmZi5oOgoJICBBZGQgc3VwcG9ydCBmb3IgYS1sYXcgYW5kIG11LWxhdyBlbmNvZGVkIHdhdiBmaWxlcy4gRml4ZXMgYnVnICM1NjI0MzQuCgoyMDA4LTExLTI3IDExOjIyOjU2ICswMDAwICDsnbTrrLjtmJUgPGl3aW5nc0BnbWFpbC5jb20+CgoJICBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IFByZXZlbnQgZnVydGhlciByZWFkL3dyaXRlIGFjdGlvbnMgdGFrZW4gdG8gdGhlIGNvbm5lY3QtZmFpbGVkIHNvY2tldCBieSBlcnJvcmluZyBvdXQgcXVpY2tseS4uLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiDsnbTrrLjtmJUgPGl3aW5ncyBhdCBnbWFpbCBkb3QgY29tPgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogKGdzdF9ydHNwc3JjX2xvb3BfdWRwKToKCSAgUHJldmVudCBmdXJ0aGVyIHJlYWQvd3JpdGUgYWN0aW9ucyB0YWtlbiB0byB0aGUgY29ubmVjdC1mYWlsZWQgc29ja2V0IGJ5CgkgIGVycm9yaW5nIG91dCBxdWlja2x5LiBTZWUgIzU2MjI1OC4KCjIwMDgtMTEtMjYgMjE6MTk6NDcgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIHRlc3RzL2V4YW1wbGVzL2xldmVsL2xldmVsLWV4YW1wbGUuYzogU2V0IGZha2VzaW5rIHRvIHN5bmMuIE90aGVyd2lzZSBwZW9wbGUgbWlnaHQgcXVlc3Rpb24gdGhlIG1lc3NhZ2UgaW50ZXJ2YWwuIE5ldi4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9leGFtcGxlcy9sZXZlbC9sZXZlbC1leGFtcGxlLmM6CgkgIFNldCBmYWtlc2luayB0byBzeW5jLiBPdGhlcndpc2UgcGVvcGxlIG1pZ2h0IHF1ZXN0aW9uIHRoZSBtZXNzYWdlCgkgIGludGVydmFsLiBOZXZlcnRoZWxlc3MgdGhlIHRpbWVzdGFtcCBpbiB0aGUgbWVzc2FnZSBpcyB3aGF0IG1hdHRlcnMuCgoyMDA4LTExLTI1IDE4OjEzOjI1ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgdGVzdHMvaWNsZXMvLmN2c2lnbm9yZTogY3ZzaWdub3JlIG5ld2x5IGdlbmVyYXRlZCBmaWxlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9pY2xlcy8uY3ZzaWdub3JlOgoJICBjdnNpZ25vcmUgbmV3bHkgZ2VuZXJhdGVkIGZpbGUuCgoyMDA4LTExLTI1IDE4OjAzOjAyICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cC86IEZpeCB0aGUgZGVzY3JpcHRpb25zIGFuZCBmaXggc29tZSBlbWFpbCBhZGRyZXNzZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHAvZ3N0YXN0ZXJpc2toMjYzLmM6CgkgICogZ3N0L3J0cC9nc3Rhc3Rlcmlza2gyNjMuaDoKCSAgKiBnc3QvcnRwL2dzdHJ0cEwxNmRlcGF5LmM6IChnc3RfcnRwX0wxNl9kZXBheV9zZXRjYXBzKToKCSAgKiBnc3QvcnRwL2dzdHJ0cEwxNmRlcGF5Lmg6CgkgICogZ3N0L3J0cC9nc3RydHBMMTZwYXkuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cEwxNnBheS5oOgoJICAqIGdzdC9ydHAvZ3N0cnRwYWMzZGVwYXkuYzogKGdzdF9ydHBfYWMzX2RlcGF5X3NldGNhcHMpOgoJICAqIGdzdC9ydHAvZ3N0cnRwYWMzZGVwYXkuaDoKCSAgKiBnc3QvcnRwL2dzdHJ0cGFtcmRlcGF5LmM6CgkgICogZ3N0L3J0cC9nc3RydHBhbXJkZXBheS5oOgoJICAqIGdzdC9ydHAvZ3N0cnRwYW1ycGF5LmM6CgkgICogZ3N0L3J0cC9nc3RydHBhbXJwYXkuaDoKCSAgKiBnc3QvcnRwL2dzdHJ0cGRlcGF5LmM6CgkgICogZ3N0L3J0cC9nc3RydHBkZXBheS5oOgoJICAqIGdzdC9ydHAvZ3N0cnRwZHZkZXBheS5jOiAoZ3N0X3J0cF9kdl9kZXBheV9zZXRjYXBzKToKCSAgKiBnc3QvcnRwL2dzdHJ0cGc3MjZkZXBheS5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwZzcyNnBheS5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwZzcyOWRlcGF5LmM6CgkgICogZ3N0L3J0cC9nc3RydHBnNzI5cGF5LmM6CgkgICogZ3N0L3J0cC9nc3RydHBnc21kZXBheS5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwZ3NtcGF5LmM6IChnc3RfcnRwX2dzbV9wYXlfc2V0Y2Fwcyk6CgkgICogZ3N0L3J0cC9nc3RydHBoMjYzZGVwYXkuYzogKGdzdF9ydHBfaDI2M19kZXBheV9zZXRjYXBzKToKCSAgKiBnc3QvcnRwL2dzdHJ0cGgyNjNkZXBheS5oOgoJICAqIGdzdC9ydHAvZ3N0cnRwaDI2M3BheS5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwaDI2M3BheS5oOgoJICAqIGdzdC9ydHAvZ3N0cnRwaDI2M3BkZXBheS5jOiAoZ3N0X3J0cF9oMjYzcF9kZXBheV9zZXRjYXBzKToKCSAgKiBnc3QvcnRwL2dzdHJ0cGgyNjNwZGVwYXkuaDoKCSAgKiBnc3QvcnRwL2dzdHJ0cGgyNjNwcGF5LmM6CgkgICogZ3N0L3J0cC9nc3RydHBoMjYzcHBheS5oOgoJICAqIGdzdC9ydHAvZ3N0cnRwaDI2NGRlcGF5LmM6CgkgICogZ3N0L3J0cC9nc3RydHBoMjY0ZGVwYXkuaDoKCSAgKiBnc3QvcnRwL2dzdHJ0cGgyNjRwYXkuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cGgyNjRwYXkuaDoKCSAgKiBnc3QvcnRwL2dzdHJ0cGlsYmNkZXBheS5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwaWxiY3BheS5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwanBlZ2RlcGF5Lmg6CgkgICogZ3N0L3J0cC9nc3RydHBtcDFzZGVwYXkuYzogKGdzdF9ydHBfbXAxc19kZXBheV9zZXRjYXBzKToKCSAgKiBnc3QvcnRwL2dzdHJ0cG1wMXNkZXBheS5oOgoJICAqIGdzdC9ydHAvZ3N0cnRwbXAydGRlcGF5LmM6IChnc3RfcnRwX21wMnRfZGVwYXlfc2V0Y2Fwcyk6CgkgICogZ3N0L3J0cC9nc3RydHBtcDJ0ZGVwYXkuaDoKCSAgKiBnc3QvcnRwL2dzdHJ0cG1wMnRwYXkuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cG1wMnRwYXkuaDoKCSAgKiBnc3QvcnRwL2dzdHJ0cG1wNGFkZXBheS5jOiAoZ3N0X3J0cF9tcDRhX2RlcGF5X3NldGNhcHMpOgoJICAqIGdzdC9ydHAvZ3N0cnRwbXA0YXBheS5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwbXA0YXBheS5oOgoJICAqIGdzdC9ydHAvZ3N0cnRwbXA0Z2RlcGF5LmM6IChnc3RfcnRwX21wNGdfZGVwYXlfc2V0Y2Fwcyk6CgkgICogZ3N0L3J0cC9nc3RydHBtcDRnZGVwYXkuaDoKCSAgKiBnc3QvcnRwL2dzdHJ0cG1wNGdwYXkuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cG1wNGdwYXkuaDoKCSAgKiBnc3QvcnRwL2dzdHJ0cG1wNHZkZXBheS5jOiAoZ3N0X3J0cF9tcDR2X2RlcGF5X3NldGNhcHMpOgoJICAqIGdzdC9ydHAvZ3N0cnRwbXA0dmRlcGF5Lmg6CgkgICogZ3N0L3J0cC9nc3RydHBtcDR2cGF5LmM6IChnc3RfcnRwX21wNHZfcGF5X2V2ZW50KToKCSAgKiBnc3QvcnRwL2dzdHJ0cG1wNHZwYXkuaDoKCSAgKiBnc3QvcnRwL2dzdHJ0cG1wYWRlcGF5LmM6CgkgICogZ3N0L3J0cC9nc3RydHBtcGFkZXBheS5oOgoJICAqIGdzdC9ydHAvZ3N0cnRwbXBhcGF5LmM6CgkgICogZ3N0L3J0cC9nc3RydHBtcGFwYXkuaDoKCSAgKiBnc3QvcnRwL2dzdHJ0cG1wdmRlcGF5LmM6CgkgICogZ3N0L3J0cC9nc3RydHBtcHZkZXBheS5oOgoJICAqIGdzdC9ydHAvZ3N0cnRwcGNtYWRlcGF5LmM6IChnc3RfcnRwX3BjbWFfZGVwYXlfcHJvY2Vzcyk6CgkgICogZ3N0L3J0cC9nc3RydHBwY21hcGF5LmM6CgkgICogZ3N0L3J0cC9nc3RydHBwY211ZGVwYXkuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cHBjbXVwYXkuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cHNwZWV4ZGVwYXkuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cHNwZWV4cGF5LmM6CgkgICogZ3N0L3J0cC9nc3RydHBzdjN2ZGVwYXkuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cHN2M3ZkZXBheS5oOgoJICAqIGdzdC9ydHAvZ3N0cnRwdGhlb3JhZGVwYXkuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cHRoZW9yYWRlcGF5Lmg6CgkgICogZ3N0L3J0cC9nc3RydHB0aGVvcmFwYXkuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cHRoZW9yYXBheS5oOgoJICAqIGdzdC9ydHAvZ3N0cnRwdm9yYmlzZGVwYXkuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cHZvcmJpc2RlcGF5Lmg6CgkgICogZ3N0L3J0cC9nc3RydHB2b3JiaXNwYXkuYzogKGdzdF9ydHBfdm9yYmlzX3BheV9maW5pc2hfaGVhZGVycyk6CgkgICogZ3N0L3J0cC9nc3RydHB2b3JiaXNwYXkuaDoKCSAgKiBnc3QvcnRwL2dzdHJ0cHZyYXdkZXBheS5jOiAoZ3N0X3J0cF92cmF3X2RlcGF5X3NldGNhcHMpOgoJICAqIGdzdC9ydHAvZ3N0cnRwdnJhd3BheS5jOgoJICBGaXggdGhlIGRlc2NyaXB0aW9ucyBhbmQgZml4IHNvbWUgZW1haWwgYWRkcmVzc2VzLgoKMjAwOC0xMS0yNSAxNzo0NzoyNCArMDAwMCAgSnVsaWVuIE1vdXR0ZSA8anVsaWVuQG1vdXR0ZS5uZXQ+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IEFkZCBNUEcxIGFuZCBNUEcyIGZvdXJjYyB0byBzdXBwb3J0ZWQgcXRkZW11eCB2aWRlbyBjb2RlY3MgYXMgSSBmb3VuZCBzb21lIHZpZGVvIGNsaXBzIHVzaW5nIHQuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDgtMTEtMjUgIEp1bGllbiBNb3V0dGUgIDxqdWxpZW5AZmx1ZW5kby5jb20+CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAocXRkZW11eF92aWRlb19jYXBzKTogQWRkIE1QRzEgYW5kIE1QRzIKCSAgZm91cmNjCgkgIHRvIHN1cHBvcnRlZCBxdGRlbXV4IHZpZGVvIGNvZGVjcyBhcyBJIGZvdW5kIHNvbWUgdmlkZW8gY2xpcHMKCSAgdXNpbmcKCSAgdGhvc2UuCgoyMDA4LTExLTI1IDE2OjI2OjE2ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L2F1dG9kZXRlY3QvOiBQb3N0IGFuIGVycm9yIHdoZW4gd2UgY2FuJ3Qgc2V0IHRoZSBpbnRlcm5hbCBnaG9zdHBhZCB0YXJnZXQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG9hdWRpb3NpbmsuYzogKGdzdF9hdXRvX2F1ZGlvX3NpbmtfZGV0ZWN0KToKCSAgKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvYXVkaW9zcmMuYzogKGdzdF9hdXRvX2F1ZGlvX3NyY19kZXRlY3QpOgoJICAqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG92aWRlb3NpbmsuYzogKGdzdF9hdXRvX3ZpZGVvX3NpbmtfcmVzZXQpLAoJICAoZ3N0X2F1dG9fdmlkZW9fc2lua19kZXRlY3QpOgoJICAqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG92aWRlb3NyYy5jOiAoZ3N0X2F1dG9fdmlkZW9fc3JjX2RldGVjdCk6CgkgIFBvc3QgYW4gZXJyb3Igd2hlbiB3ZSBjYW4ndCBzZXQgdGhlIGludGVybmFsIGdob3N0cGFkIHRhcmdldC4KCjIwMDgtMTEtMjUgMTY6MDY6MjIgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvdmlkZW9jcm9wL2dzdHZpZGVvY3JvcC4qOiBGaXggcmVuZWdvdGlhdGlvbiB3aGVuIGNoYW5naW5nIHByb3BlcnRpZXMgdXNpbmcgdGhlIG5ldyBiYXNldHJhbnNmb3JtIGZlYXR1cmVzLiBGaXhlcyAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3ZpZGVvY3JvcC9nc3R2aWRlb2Nyb3AuYzogKGdzdF92aWRlb19jcm9wX2luaXQpLAoJICAoZ3N0X3ZpZGVvX2Nyb3BfdHJhbnNmb3JtKSwgKGdzdF92aWRlb19jcm9wX3RyYW5zZm9ybV9jYXBzKSwKCSAgKGdzdF92aWRlb19jcm9wX3NldF9jYXBzKSwgKGdzdF92aWRlb19jcm9wX3NldF9wcm9wZXJ0eSk6CgkgICogZ3N0L3ZpZGVvY3JvcC9nc3R2aWRlb2Nyb3AuaDoKCSAgRml4IHJlbmVnb3RpYXRpb24gd2hlbiBjaGFuZ2luZyBwcm9wZXJ0aWVzIHVzaW5nIHRoZSBuZXcgYmFzZXRyYW5zZm9ybQoJICBmZWF0dXJlcy4gRml4ZXMgIzU2MTUwMi4KCSAgKiB0ZXN0cy9pY2xlcy9NYWtlZmlsZS5hbToKCSAgKiB0ZXN0cy9pY2xlcy92aWRlb2Nyb3AyLXRlc3QuYzogKG1ha2VfcGlwZWxpbmUpLCAobWFpbik6CgkgIEFkZCBjcmF6eSBpbnRlcmFjdGl2ZSB0ZXN0IHVuaXQgZm9yIGR5bmFtaWNhbGx5IGNoYW5naW5nIHByb3BlcnRpZXMuCgoyMDA4LTExLTI0IDEyOjIwOjI5ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiBBZGQgc29tZSBtb3JlIGRlYnVnZ2luZy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiAobmV3X3Nlc3Npb25fcGFkKSwKCSAgKGdzdF9ydHNwc3JjX3BhcnNlX3JhbmdlKToKCSAgQWRkIHNvbWUgbW9yZSBkZWJ1Z2dpbmcuCgkgIFVzZSB0aGUgcmVhbmdlcyByZWNlaXZlZCBmcm9tIHRoZSBzZXJ2ZXIgdW5jb25kaXRpb25hbGx5LgoJICBGaXhlcyAjNTYxNjI1LgoKMjAwOC0xMS0yMyAxNTowODo0NSArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZXh0L3B1bHNlL3B1bHNlc2luay5jOiBDaGFuZ2UgI2lmIDAgdG8gc29tZXRoaW5nIG1vcmUgZXhwcmVzaXZlIGFuZCBhZGQgcG9pbnRlciB0byByZWxhdGVkIGJ1ZyB0aWNrZXQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSAgQ2hhbmdlICNpZiAwIHRvIHNvbWV0aGluZyBtb3JlIGV4cHJlc2l2ZSBhbmQgYWRkIHBvaW50ZXIgdG8gcmVsYXRlZAoJICBidWcgdGlja2V0LgoKMjAwOC0xMS0yMyAxMToxNzowMSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogQ2hhbmdlTG9nOgoJICBDaGFuZ2VMb2cgc3VyZ2VyeQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgQ2hhbmdlTG9nIHN1cmdlcnkKCjIwMDgtMTEtMjMgMTE6MTQ6NDIgKzAwMDAgIFRhbCBTaGFsaWYgPHRzaGFsaWZAbmFyZ2lsYS5vcmc+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IFVzZSBHX3tCSUcsTElUVExFfV9FTkRJQU4gaW5zdGVhZCBvZiB0aGUgbm9uLUdMaWIgdmFyaWFudHMgYXMgdGhlIGxhdHRlciBkb24ndCBleGlzdCBvbiBzb21lIHMuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBUYWwgU2hhbGlmIDx0c2hhbGlmIGF0IG5hcmdpbGEgZG90IG9yZz4KCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChxdGRlbXV4X2F1ZGlvX2NhcHMpOgoJICBVc2UgR197QklHLExJVFRMRX1fRU5ESUFOIGluc3RlYWQgb2YgdGhlIG5vbi1HTGliIHZhcmlhbnRzIGFzCgkgIHRoZSBsYXR0ZXIgZG9uJ3QgZXhpc3Qgb24gc29tZSBzeXN0ZW1zIChtaW5ndykuIEZpeGVzIGJ1ZyAjNTYxOTkyLgoKMjAwOC0xMS0yMSAxMzo0MzoyOSArMDAwMCAgWmVlc2hhbiBBbGkgPHplZXNoYW5ha0Bnbm9tZS5vcmc+CgoJICBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOiBBZGQgdHJhbnNmZXJNb2RlLmRubGEub3JnIGhlYWRlciB0byBIVFRQIHJlcXVlc3RzIGFzIHRoaXMgaXMgcmVxdWlyZWQgYnkgdGhlIERMTkEgc3BlY3MgYW4uLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBaZWVzaGFuIEFsaSA8emVlc2hhbmFrIGF0IGdub21lIGRvdCBvcmc+CgkgICogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzogKGdzdF9zb3VwX2h0dHBfc3JjX2J1aWxkX21lc3NhZ2UpOgoJICBBZGQgdHJhbnNmZXJNb2RlLmRubGEub3JnIGhlYWRlciB0byBIVFRQIHJlcXVlc3RzIGFzIHRoaXMgaXMKCSAgcmVxdWlyZWQgYnkgdGhlIERMTkEgc3BlY3MgYW5kIGRvZXNuJ3QgaHVydCBpbiBvdGhlciBzaXR1YXRpb25zLgoJICBGaXhlcyBidWcgIzU2MTgwMi4KCjIwMDgtMTEtMjAgMjM6NTk6MDcgKzAwMDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEB4aXBoLm9yZz4KCgkgIHN5cy9vc3h2aWRlby9vc3h2aWRlb3NpbmsuKjogSGFuZGxlIHZpZGVvIHdpbmRvdyByZXNpemluZyBtb3JlIGNvcnJlY3RseSwgYXZvaWRpbmcgY3Jhc2hlcyB3aGVuIGVtYmVkZGluZyB0aGUgd2luZG93IC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvb3N4dmlkZW8vb3N4dmlkZW9zaW5rLmg6CgkgICogc3lzL29zeHZpZGVvL29zeHZpZGVvc2luay5tOgoJICBIYW5kbGUgdmlkZW8gd2luZG93IHJlc2l6aW5nIG1vcmUgY29ycmVjdGx5LCBhdm9pZGluZyBjcmFzaGVzIHdoZW4KCSAgZW1iZWRkaW5nIHRoZSB3aW5kb3cgYW5kIHJlc2l6aW5nIGl0LgoKMjAwOC0xMS0yMCAyMjo1Njo1OCArMDAwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHhpcGgub3JnPgoKCSAgZ3N0L3VkcC86IEZpeCBtdWx0aXVkcHNpbmsgb24gT1NYIGJ5IHBhc3NpbmcgdGhlIHNwZWNpZmljIGxlbmd0aCBvZiB0aGUgc29ja2V0LCByZWZhY3RvciB0aGF0IGludG8gYSBmdW5jdGlvbiBzaGFyZWQgLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC91ZHAvZ3N0bXVsdGl1ZHBzaW5rLmM6CgkgICogZ3N0L3VkcC9nc3R1ZHBuZXR1dGlscy5jOgoJICAqIGdzdC91ZHAvZ3N0dWRwbmV0dXRpbHMuaDoKCSAgKiBnc3QvdWRwL2dzdHVkcHNyYy5jOgoJICBGaXggbXVsdGl1ZHBzaW5rIG9uIE9TWCBieSBwYXNzaW5nIHRoZSBzcGVjaWZpYyBsZW5ndGggb2YgdGhlIHNvY2tldCwKCSAgcmVmYWN0b3IgdGhhdCBpbnRvIGEgZnVuY3Rpb24gc2hhcmVkIHdpdGggdGhlIHNhbWUgdGhpbmcgaW4gdWRwc3JjLgoKMjAwOC0xMS0yMCAyMDowNzoyNiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOiBGaXggdGhlIHNjYWxpbmcgY29kZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6ICh1aW50NjRfY2VpbGluZ19zY2FsZV9pbnQpLAoJICAodWludDY0X2NlaWxpbmdfc2NhbGUpLCAoZ3N0X3dhdnBhcnNlX2NhbGN1bGF0ZV9kdXJhdGlvbiksCgkgIChnc3Rfd2F2cGFyc2Vfc3RyZWFtX2hlYWRlcnMpOgoJICBGaXggdGhlIHNjYWxpbmcgY29kZS4KCSAgRml4IHBhcnNpbmcgb2YgdGhlIElORk8gY2h1bmtzLCB3ZSB3ZXJlIHJlYWRpbmcgdGhlIHdyb25nIG51bWJlciBvZgoJICBieXRlcy4gIEZpeGVzICM1NjE1ODAuCgoyMDA4LTExLTIwIDE0OjMwOjQwICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzogRml4IE5VTEwgcG9pbnRlciBkZXJlZmVyZW5jZSBvZiBhbiB1bnNldCBjb2RlY19pZCBpbiB0aGUgcmVjZW50bHkgYWRkZWQgRGlyYWMgcGF0aHMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJICBGaXggTlVMTCBwb2ludGVyIGRlcmVmZXJlbmNlIG9mIGFuIHVuc2V0IGNvZGVjX2lkIGluIHRoZSByZWNlbnRseQoJICBhZGRlZCBEaXJhYyBwYXRocwoKMjAwOC0xMS0yMCAxMzo1ODo0MyArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbTogSnVzdCBrZWVwIGRpc2FibGluZyBlbGVtZW50cyB0aGF0IGhhbmcgdGhlIHN0YXRlcyB0ZXN0IHVudGlsIGl0IHdvcmtzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgSnVzdCBrZWVwIGRpc2FibGluZyBlbGVtZW50cyB0aGF0IGhhbmcgdGhlIHN0YXRlcyB0ZXN0IHVudGlsIGl0CgkgIHdvcmtzLgoKMjAwOC0xMS0yMCAxMzo0Njo0NyArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBleHQvbGlicG5nL2dzdHBuZ2VuYy5jOiBEb24ndCBmbHVzaCBkb3duc3RyZWFtIGFmdGVyIGV2ZXJ5IGJ1ZmZlciAtIHRoYXQncyBub3Qgd2hhdCB0aGlzIGxpYnBuZyBjYWxsYmFjayBpcyBmb3IgYXQgYWxsIQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvbGlicG5nL2dzdHBuZ2VuYy5jOgoJICBEb24ndCBmbHVzaCBkb3duc3RyZWFtIGFmdGVyIGV2ZXJ5IGJ1ZmZlciAtIHRoYXQncyBub3Qgd2hhdAoJICB0aGlzIGxpYnBuZyBjYWxsYmFjayBpcyBmb3IgYXQgYWxsIQoKMjAwOC0xMS0xNyAxNDowNDoyMCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuYzogVHVybnMgb3V0IHdlIGRvbid0IGFsd2F5cyBnZXQgdGhlIGZyYW1lIHNpemVzIGluIGEgcHJlZGVmaW5lZCBvcmRlciBmcm9tIGxvd2VzdCB0byBoaWdoZXN0IC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmM6CgkgIChnc3RfdjRsMnNyY19wcm9iZV9jYXBzX2Zvcl9mb3JtYXRfYW5kX3NpemUpLCAoc29ydF9ieV9mcmFtZV9zaXplKSwKCSAgKGdzdF92NGwyc3JjX3Byb2JlX2NhcHNfZm9yX2Zvcm1hdCk6CgkgIFR1cm5zIG91dCB3ZSBkb24ndCBhbHdheXMgZ2V0IHRoZSBmcmFtZSBzaXplcyBpbiBhIHByZWRlZmluZWQKCSAgb3JkZXIgZnJvbSBsb3dlc3QgdG8gaGlnaGVzdCByZXNvbHV0aW9uLCBzbyBsZXQncyBqdXN0IHNvcnQgdGhlCgkgIGxpc3QgYnkgZnJhbWUgc2l6ZSBvbmNlIHdlJ3ZlIHF1ZXJpZWQgdGhlIHBvc3NpYmxlIHJlc29sdXRpb25zCgkgIHJhdGhlciB0aGFuIGFzc3VtZSBhbnkgcGFydGljdWxhciBvcmRlci4gRml4ZXMgcHJvYmVkIGNhcHMgZm9yCgkgIHRoZSBjYW1lcmEgaW4gbXkgSFAyMTMzIG1pbmkgbm90ZWJvb2sgYW5kIG1ha2VzIHY0bDJzcmMgZGVmYXVsdAoJICB0byBhIGRlY2VudCBzaXplLgoKMjAwOC0xMS0xNiAxNDo0MTozMiArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIGdzdC9tYXRyb3NrYS86IE1ha2UgbWt2ZGVtdXggYXdhcmUgb2YgRS1BQzMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOiAoZ3N0X21hdHJvc2thX2RlbXV4X2F1ZGlvX2NhcHMpOgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1pZHMuaDoKCSAgTWFrZSBta3ZkZW11eCBhd2FyZSBvZiBFLUFDMy4KCjIwMDgtMTEtMTQgMTg6NDE6MjkgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwLzogQWRkIGEganBlZyBkZXBheWxvYWRlci4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvcnRwL2dzdHJ0cC5jOiAocGx1Z2luX2luaXQpOgoJICAqIGdzdC9ydHAvZ3N0cnRwanBlZ2RlcGF5LmM6IChnc3RfcnRwX2pwZWdfZGVwYXlfYmFzZV9pbml0KSwKCSAgKGdzdF9ydHBfanBlZ19kZXBheV9jbGFzc19pbml0KSwgKGdzdF9ydHBfanBlZ19kZXBheV9pbml0KSwKCSAgKGdzdF9ydHBfanBlZ19kZXBheV9maW5hbGl6ZSksIChNYWtlVGFibGVzKSwgKE1ha2VRdWFudEhlYWRlciksCgkgIChNYWtlSHVmZm1hbkhlYWRlciksIChNYWtlRFJJSGVhZGVyKSwgKE1ha2VIZWFkZXJzKSwKCSAgKGdzdF9ydHBfanBlZ19kZXBheV9zZXRjYXBzKSwgKGdzdF9ydHBfanBlZ19kZXBheV9wcm9jZXNzKSwKCSAgKGdzdF9ydHBfanBlZ19kZXBheV9jaGFuZ2Vfc3RhdGUpLAoJICAoZ3N0X3J0cF9qcGVnX2RlcGF5X3BsdWdpbl9pbml0KToKCSAgKiBnc3QvcnRwL2dzdHJ0cGpwZWdkZXBheS5oOgoJICBBZGQgYSBqcGVnIGRlcGF5bG9hZGVyLgoJICAqIGdzdC9ydHAvZ3N0cnRwanBlZ3BheS5jOgoJICBTZXQgdGhlIGRlZmF1bHQgcHJvcGVydGllcyBvbiB0aGUgcGF5bG9hZGVyIHRvIGJldHRlciBkZWZhdWx0cy4KCjIwMDgtMTEtMTQgMTU6NDI6MzIgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIHN5cy92NGwyL2dzdHY0bDIuYzogR2l2ZSBpdCBhIHByaW1hcnkgcmFuayBmb3IgYXV0b3ZpZGVvc3JjLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvdjRsMi9nc3R2NGwyLmM6CgkgIEdpdmUgaXQgYSBwcmltYXJ5IHJhbmsgZm9yIGF1dG92aWRlb3NyYy4KCjIwMDgtMTEtMTQgMTE6NDE6NTUgKzAwMDAgIEJqb3JuIE9zdGJ5IDxiam9ybm9zQGF4aXMuY29tPgoKCSAgZ3N0L3J0cC86IEFkZCBKUEVHIHBheWxvYWRlci4gRml4ZXMgIzU2MDc1Ni4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBCam9ybiBPc3RieSA8Ympvcm5vcyBhdCBheGlzIGRvdCBjb20+CgkgICogZ3N0L3J0cC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvcnRwL2dzdHJ0cC5jOiAocGx1Z2luX2luaXQpOgoJICAqIGdzdC9ydHAvZ3N0cnRwanBlZ3BheS5jOiAoZ3N0X3J0cF9qcGVnX3BheV9iYXNlX2luaXQpLAoJICAoZ3N0X3J0cF9qcGVnX3BheV9jbGFzc19pbml0KSwgKGdzdF9ydHBfanBlZ19wYXlfaW5pdCksCgkgIChnc3RfcnRwX2pwZWdfcGF5X3NldGNhcHMpLCAoZ3N0X3J0cF9qcGVnX3BheV9oZWFkZXJfc2l6ZSksCgkgIChnc3RfcnRwX2pwZWdfcGF5X3JlYWRfcXVhbnRfdGFibGUpLAoJICAoZ3N0X3J0cF9qcGVnX3BheV9zY2FuX21hcmtlciksIChnc3RfcnRwX2pwZWdfcGF5X2hhbmRsZV9idWZmZXIpLAoJICAoZ3N0X3J0cF9qcGVnX3BheV9zZXRfcHJvcGVydHkpLCAoZ3N0X3J0cF9qcGVnX3BheV9nZXRfcHJvcGVydHkpLAoJICAoZ3N0X3J0cF9qcGVnX3BheV9wbHVnaW5faW5pdCk6CgkgICogZ3N0L3J0cC9nc3RydHBqcGVncGF5Lmg6CgkgIEFkZCBKUEVHIHBheWxvYWRlci4gRml4ZXMgIzU2MDc1Ni4KCjIwMDgtMTEtMTMgMTc6NDU6NTkgKzAwMDAgIEZhYnJpY2lvIEdvZG95IDxza2FybGxvdEBnbWFpbC5jb20+CgoJICBzeXMvOiBGaXggc29tZSBzcGVsbGluZyBtaXN0YWtlcy4gRml4ZXMgIzU1NjgwMi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBGYWJyaWNpbyBHb2RveSA8c2thcmxsb3QgYXQgZ21haWwgZG90IGNvbT4KCSAgKiBzeXMvb3NzL2dzdG9zc3NpbmsuYzogKGdzdF9vc3Nfc2lua19vcGVuKToKCSAgKiBzeXMvb3NzL2dzdG9zc3NyYy5jOiAoZ3N0X29zc19zcmNfb3Blbik6CgkgICogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOiAoZ3N0X3Y0bDJzcmNfZ2V0X21tYXApOgoJICAqIHN5cy92NGwyL3Y0bDJfY2FsbHMuYzogKGdzdF92NGwyX2ZpbGxfbGlzdHMpOgoJICBGaXggc29tZSBzcGVsbGluZyBtaXN0YWtlcy4gRml4ZXMgIzU1NjgwMi4KCjIwMDgtMTEtMTMgMTY6MjQ6NTkgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC9lcXVhbGl6ZXIvOiBBZGQgcHJlc2V0cyBmb3IgZXF1YWxpemVyLiBGaXhlcyAjNTIyMTgzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZXF1YWxpemVyL0dzdElpckVxdWFsaXplcjEwQmFuZHMucHJzOgoJICAqIGdzdC9lcXVhbGl6ZXIvR3N0SWlyRXF1YWxpemVyM0JhbmRzLnByczoKCSAgKiBnc3QvZXF1YWxpemVyL01ha2VmaWxlLmFtOgoJICAqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyMTBiYW5kcy5jOgoJICAqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyM2JhbmRzLmM6CgkgIEFkZCBwcmVzZXRzIGZvciBlcXVhbGl6ZXIuIEZpeGVzICM1MjIxODMuCgoyMDA4LTExLTEzIDE2OjE3OjM4ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0c3AvOiBSZW1vdmUgZ29vZ2xlIGV4dGVuc2lvbiBhZ2FpbiwgaXQncyBub3QgbmVlZGVkIGFueW1vcmUgYmVjYXVzZSB3ZSBuZXZlciBzZW5kIG11bHRpcGxlIHRyYW5zcG9ydHMgYW55bW9yZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0c3AvTWFrZWZpbGUuYW06CgkgICogZ3N0L3J0c3AvZ3N0cnRzcC5jOiAocGx1Z2luX2luaXQpOgoJICAqIGdzdC9ydHNwL2dzdHJ0c3Bnb29nbGUuYzoKCSAgKiBnc3QvcnRzcC9nc3RydHNwZ29vZ2xlLmg6CgkgIFJlbW92ZSBnb29nbGUgZXh0ZW5zaW9uIGFnYWluLCBpdCdzIG5vdCBuZWVkZWQgYW55bW9yZSBiZWNhdXNlIHdlIG5ldmVyCgkgIHNlbmQgbXVsdGlwbGUgdHJhbnNwb3J0cyBhbnltb3JlLgoKMjAwOC0xMS0xMyAxNjoxMToxNiArMDAwMCAgRXJpYyBaaGFuZyA8Y2hhby56aGFuZ0BhY2Nlc3MtY29tcGFueS5jb20+CgoJICBnc3QvcnRzcC9nc3RydHNwc3JjLio6IEFkZCBwcm9wZXJ0eSB0byBjb25maWd1cmUgTkFUIHRyYXZlcnNhbCBtZXRob2QuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBCYXNlZCBvbiBwYXRjaCBieTogRXJpYyBaaGFuZyA8Y2hhby56aGFuZyBhdCBhY2Nlc3MtY29tcGFueSBkb3QgY29tPgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogKGdzdF9ydHNwX25hdF9tZXRob2RfZ2V0X3R5cGUpLAoJICAoZ3N0X3J0c3BzcmNfY2xhc3NfaW5pdCksIChnc3RfcnRzcHNyY19zZXRfcHJvcGVydHkpLAoJICAoZ3N0X3J0c3BzcmNfZ2V0X3Byb3BlcnR5KSwgKGdzdF9ydHNwc3JjX2NyZWF0ZV9zdHJlYW0pLAoJICAoZ3N0X3J0c3BzcmNfc3RyZWFtX2ZyZWUpLAoJICAoZ3N0X3J0c3BzcmNfc3RyZWFtX2NvbmZpZ3VyZV91ZHBfc2lua3MpLAoJICAoZ3N0X3J0c3BzcmNfc3RyZWFtX2NvbmZpZ3VyZV90cmFuc3BvcnQpLAoJICAoZ3N0X3J0c3BzcmNfc2VuZF9kdW1teV9wYWNrZXRzKSwKCSAgKGdzdF9ydHNwc3JjX2NyZWF0ZV90cmFuc3BvcnRzX3N0cmluZyksCgkgIChnc3RfcnRzcHNyY19oYW5kbGVfbWVzc2FnZSksIChnc3RfcnRzcHNyY19jaGFuZ2Vfc3RhdGUpOgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuaDoKCSAgQWRkIHByb3BlcnR5IHRvIGNvbmZpZ3VyZSBOQVQgdHJhdmVyc2FsIG1ldGhvZC4KCSAgSWdub3JlIEVPUyBmcm9tIHRoZSBpbnRlcm5hbCBzaW5rcy4KCSAgSW1wbGVtZW50IHNlbmRpbmcgZHVtbXkgcGFja2V0cyBhcyBhIChzaW1wbGUpIG1ldGhvZCB0byBvcGVuIHVwCgkgIHNvbWUgZmlyZXdhbGxzLgoJICBTZW5kIFBMQVkgcmVxdWVzdCB0byB0aGUgc2VydmVyIGFmdGVyIHdlIHN0YXJ0ZWQgdGhlIHVkcCBzb3VyY2VzLgoJICBGaXhlcyAjNTU5NTQ1LgoKMjAwOC0xMS0xMyAxNDowNDo0MCArMDAwMCAgWW90YW0gPHNoLnlvdGFtQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHAvZ3N0cnRwbXA0dnBheS5jOiBGbHVzaCB0aGUgcmVtYWluaW5nIGZyYW1lcyBvbiBFT1MuIEZpeGVzICM1NjA2NDEuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogWW90YW0gPHNoIGRvdCB5b3RhbSBhdCBnbWFpbCBkb3QgY29tPgoJICAqIGdzdC9ydHAvZ3N0cnRwbXA0dnBheS5jOiAoZ3N0X3J0cF9tcDR2X3BheV9ldmVudCk6CgkgIEZsdXNoIHRoZSByZW1haW5pbmcgZnJhbWVzIG9uIEVPUy4gRml4ZXMgIzU2MDY0MS4KCjIwMDgtMTEtMTIgMTY6Mzc6MDYgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgZ3N0L3J0cC9nc3RydHBnNzI5cGF5LmM6IEZpeCBjb21waWxlciB3YXJuaW5nIGFib3V0IHByaW50ZiBmb3JtYXR0aW5nLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwL2dzdHJ0cGc3MjlwYXkuYzogKGdzdF9ydHBfZzcyOV9wYXlfaGFuZGxlX2J1ZmZlcik6CgkgIEZpeCBjb21waWxlciB3YXJuaW5nIGFib3V0IHByaW50ZiBmb3JtYXR0aW5nLgoKMjAwOC0xMS0xMiAxMTo1NToxNCArMDAwMCAgQW5keSBXaW5nbyA8d2luZ29AcG9ib3guY29tPgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC4qOiBRdWV1ZSB1cCBuZXcgc2VnbWVudCBldmVudHMgaW5zdGVhZCBvZiBzZW5kaW5nIHRoZW0gZnJvbSB0aGUgc2Vla2luZyB0aHJlYWQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguaCAoc3RydWN0IF9Hc3RRVERlbXV4KToKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmMgKGdzdF9xdGRlbXV4X2RvX3NlZWspOiBRdWV1ZSB1cCBuZXcKCSAgc2VnbWVudCBldmVudHMgaW5zdGVhZCBvZiBzZW5kaW5nIHRoZW0gZnJvbSB0aGUgc2Vla2luZyB0aHJlYWQuCgkgIEZpeGVzICM1NTkyODguCgkgIChnc3RfcXRkZW11eF9wdXNoX3BlbmRpbmdfbmV3c2VnbWVudCk6IE5ldyBoZWxwZXIsIHNlbmRzIG91dAoJICBxdWV1ZWQgbmV3c2VnbWVudCBldmVudHMuCgkgIChnc3RfcXRkZW11eF9sb29wX3N0YXRlX21vdmllKTogVm9pbMOgLCBjYWxsIGl0IGhlcmUuIE9ubHkgbmVlZCB0bwoJICBjYWxsIGl0IGhlcmUsIGFzIHdlIG9ubHkgc2VlayB3aGVuIGxvb3BpbmcsIGFuZCBvbmx5IHB1c2ggaW4gdGhlCgkgIG1vdmllIHN0YXRlLgoKMjAwOC0xMS0xMSAxOTo1MjowNSArMDAwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJICBnc3QvcXRkZW11eC86IEFkZCBjb3ZlciBhbmQgYWx0ZXJuYXRpdmUgY29weXJpZ2h0IHRhZywgYW5kIGVuaGFuY2Ugc29tZSBleGlzdGluZyBvbmVzIGJ5IG1hcmtpbmcgdGhlbSBhcyBjb250YWluZXIgYXQuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAocXRkZW11eF90YWdfYWRkX3RtcG8pLAoJICAocXRkZW11eF90YWdfYWRkX2NvdnIpLCAocXRkZW11eF9wYXJzZV91ZHRhKToKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4X2ZvdXJjYy5oOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXhfdHlwZXMuYzoKCSAgQWRkIGNvdmVyIGFuZCBhbHRlcm5hdGl2ZSBjb3B5cmlnaHQgdGFnLCBhbmQgZW5oYW5jZSBzb21lIGV4aXN0aW5nCgkgIG9uZXMgYnkgbWFya2luZyB0aGVtIGFzIGNvbnRhaW5lciBhdG9tcy4KCjIwMDgtMTEtMTEgMTc6MzM6MDAgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwL2dzdHJ0cGc3MjlwYXkuYzogRG9uJ3QgaWdub3JlIHRoZSByZXR1cm4gdmFsdWUgb2Ygc2V0Y2Fwcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cC9nc3RydHBnNzI5cGF5LmM6IChnc3RfcnRwX2c3MjlfcGF5X3NldF9jYXBzKToKCSAgRG9uJ3QgaWdub3JlIHRoZSByZXR1cm4gdmFsdWUgb2Ygc2V0Y2Fwcy4KCjIwMDgtMTEtMTEgMTc6Mjk6MDMgKzAwMDAgIE9saXZpZXIgQ3JldGUgPHRlc3RlckB0ZXN0ZXIuY2E+CgoJICBnc3QvcnRwL2dzdHJ0cGc3MjlwYXkuKjogUmVwbGFjZSBHNzI5IHBheWxvYWRlciB3aXRoIGFuIGltcHJvdmVkIHZlcnNpb24uIEZpeGVzICM1MzI0MDkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogT2xpdmllciBDcmV0ZSA8dGVzdGVyIGF0IHRlc3RlciBkb3QgY2E+CgkgICogZ3N0L3J0cC9nc3RydHBnNzI5cGF5LmM6IChnc3RfcnRwX2c3MjlfcGF5X2Jhc2VfaW5pdCksCgkgIChnc3RfcnRwX2c3MjlfcGF5X2NsYXNzX2luaXQpLCAoZ3N0X3J0cF9nNzI5X3BheV9pbml0KSwKCSAgKGdzdF9ydHBfZzcyOV9wYXlfc2V0X2NhcHMpLCAoZ3N0X3J0cF9nNzI5X3BheV9oYW5kbGVfYnVmZmVyKToKCSAgKiBnc3QvcnRwL2dzdHJ0cGc3MjlwYXkuaDoKCSAgUmVwbGFjZSBHNzI5IHBheWxvYWRlciB3aXRoIGFuIGltcHJvdmVkIHZlcnNpb24uIEZpeGVzICM1MzI0MDkuCgoyMDA4LTExLTExIDE2OjAwOjQ4ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiBPbmx5IHNlbmQgb25lIHRyYW5zcG9ydCBhdCBhIHRpbWUgZm9yIGltcHJvdmVkIGNvbXBhdGliaWxpdHkgd2l0aCBzb21lIGJyb2tlbiBzZXJ2ZXJzLiBTZWUgIzUzLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogKGdzdF9ydHNwc3JjX2NyZWF0ZV90cmFuc3BvcnRzX3N0cmluZyksCgkgIChnc3RfcnRzcHNyY19jaGFuZ2Vfc3RhdGUpOgoJICBPbmx5IHNlbmQgb25lIHRyYW5zcG9ydCBhdCBhIHRpbWUgZm9yIGltcHJvdmVkIGNvbXBhdGliaWxpdHkgd2l0aCBzb21lCgkgIGJyb2tlbiBzZXJ2ZXJzLiBTZWUgIzUzNzgzMi4KCjIwMDgtMTEtMTEgMTU6MTY6MzEgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IE9ubHkgcGF1c2UvcGxheSBpbiB0aGUgc2VlayBoYW5kbGVyIHdoZW4gdGhlIHNvdXJjZSB3YXMgcGxheWluZy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiAoZ3N0X3J0c3BzcmNfZG9fc2VlayksCgkgIChnc3RfcnRzcHNyY19wZXJmb3JtX3NlZWspOgoJICBPbmx5IHBhdXNlL3BsYXkgaW4gdGhlIHNlZWsgaGFuZGxlciB3aGVuIHRoZSBzb3VyY2Ugd2FzIHBsYXlpbmcuCgkgIEZpeGVzICM1MjkzNzkuCgoyMDA4LTExLTExIDEyOjE4OjIzICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6IEZpeCBtdXhpbmcgb2YgRGlyYWMgc3RyZWFtcyBpZiB0aGUgaW5wdXQgYWxyZWFkeSBoYXMgdGhlIGZvcm1hdCB3ZSBuZWVkLCBpLmUuIGlzIHRoZSBvdXQuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJICAoZ3N0X21hdHJvc2thX211eF9oYW5kbGVfZGlyYWNfcGFja2V0KToKCSAgRml4IG11eGluZyBvZiBEaXJhYyBzdHJlYW1zIGlmIHRoZSBpbnB1dCBhbHJlYWR5IGhhcyB0aGUgZm9ybWF0CgkgIHdlIG5lZWQsIGkuZS4gaXMgdGhlIG91dHB1dCBvZiBtYXRyb3NrYWRlbXV4LgoKMjAwOC0xMS0xMSAxMDowNjowMSArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L2F2aS9nc3RhdmltdXguYzogRG9uJ3Qgc2VnZmF1bHQgb24gc3RyaW5nIHR5cGVkIHRhZ3MgYmVpbmcgTlVMTC4gRml4ZXMgIzU2MDE1NS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2F2aS9nc3RhdmltdXguYzoKCSAgRG9uJ3Qgc2VnZmF1bHQgb24gc3RyaW5nIHR5cGVkIHRhZ3MgYmVpbmcgTlVMTC4gRml4ZXMgIzU2MDE1NS4KCjIwMDgtMTEtMTAgMTY6NDQ6NDUgKzAwMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSAgZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOiBGaXggbWFwcGluZyBBQUMgcHJvZmlsZSB0byBNYXRyb3NrYSBjb2RlYyBpZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOiAoYWFjX2NvZGVjX2RhdGFfdG9fY29kZWNfaWQpLAoJICAoZ3N0X21hdHJvc2thX211eF9hdWRpb19wYWRfc2V0Y2Fwcyk6CgkgIEZpeCBtYXBwaW5nIEFBQyBwcm9maWxlIHRvIE1hdHJvc2thIGNvZGVjIGlkLgoKMjAwOC0xMS0xMCAxNjozNjowOSArMDAwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IFJlZmFjdG9yIHNvbWUgcmF3IGF1ZGlvIGNhcHMgYnVpbGRpbmcsIGFuZCBoYW5kbGUgPjE2LWJpdCBjYXNlcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAocXRkZW11eF9wYXJzZV90cmFrKSwKCSAgKHF0ZGVtdXhfdmlkZW9fY2FwcyksIChxdGRlbXV4X2F1ZGlvX2NhcHMpOgoJICBSZWZhY3RvciBzb21lIHJhdyBhdWRpbyBjYXBzIGJ1aWxkaW5nLCBhbmQgaGFuZGxlID4xNi1iaXQgY2FzZXMuCgkgIEZpeC9yZXBsYWNlIGJ1aWxkaW5nIGNhcHMgZnJvbSBhIHN0cmluZyBkZXNjcmlwdGlvbi4KCjIwMDgtMTEtMTAgMTM6NTk6MjcgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSAgZ3N0LzogTWFrZSBhdXRob3IgbmFtZSBjb25zaXN0ZW50IHdpdGggb3RoZXJzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXVkaW9meC9hdWRpb3dzaW5jYmFuZC5jOgoJICAqIGdzdC9hdWRpb2Z4L2F1ZGlvd3NpbmNsaW1pdC5jOgoJICAqIGdzdC9jdXR0ZXIvZ3N0Y3V0dGVyLmM6CgkgIE1ha2UgYXV0aG9yIG5hbWUgY29uc2lzdGVudCB3aXRoIG90aGVycy4KCjIwMDgtMTEtMTAgMTI6MTM6MjEgKzAwMDAgIEVyaWMgWmhhbmcgPGNoYW8uemhhbmdAYWNjZXNzLWNvbXBhbnkuY29tPgoKCSAgZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiBQYXVzZSB0aGUgUlRTUCBzdHJlYW0gYmVmb3JlIGRvaW5nIGEgbmV3IHBsYXkgcmVxdWVzdC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEJhc2VkIG9uIHBhdGNoIGJ5OiBFcmljIFpoYW5nIDxjaGFvLnpoYW5nIGF0IGFjY2Vzcy1jb21wYW55IGRvdCBjb20+CgkgICogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiAoZ3N0X3J0c3BzcmNfcGVyZm9ybV9zZWVrKSwKCSAgKGdzdF9ydHNwc3JjX3N0cmVhbV9jb25maWd1cmVfdWRwX3NpbmspOgoJICBQYXVzZSB0aGUgUlRTUCBzdHJlYW0gYmVmb3JlIGRvaW5nIGEgbmV3IHBsYXkgcmVxdWVzdC4KCSAgTWFrZSBzdXJlIHRoYXQgYWRkaW5nIHRoZSB1ZHBzaW5rcyBkb2VzIG5vdCBjYXVzZSB0aGUgcnRzcHNyYyB0byBiZWNvbWUKCSAgYSBzaW5rLiBGaXhlcyAjNTU5NTQ3LgoKMjAwOC0xMS0wNSAxNDo0MjozNSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L21hdHJvc2thLzogSW1wbGVtZW50IERpcmFjIG11eGluZyBpbnRvIE1hdHJvc2thIGNvbWZvcm1pbmcgdG8gdGhlIHNwZWMsIGkuZS4gcHV0IGFsbCBEaXJhYyBwYWNrYWdlcyB1cCB0byBhIHBpY3R1Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1pZHMuaDoKCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6IChnc3RfbWF0cm9za2FfcGFkX2ZyZWUpLAoJICAoZ3N0X21hdHJvc2thX211eF9oYW5kbGVfZGlyYWNfcGFja2V0KSwKCSAgKGdzdF9tYXRyb3NrYV9tdXhfd3JpdGVfZGF0YSk6CgkgIEltcGxlbWVudCBEaXJhYyBtdXhpbmcgaW50byBNYXRyb3NrYSBjb21mb3JtaW5nIHRvIHRoZSBzcGVjLCBpLmUuCgkgIHB1dCBhbGwgRGlyYWMgcGFja2FnZXMgdXAgdG8gYSBwaWN0dXJlIGludG8gYSBNYXRyb3NrYSBibG9jay4KCSAgVE9ETzogSW1wbGVtZW50IHdyaXRpbmcgb2YgdGhlIFJlZmVyZW5jZUJsb2NrIE1hdHJvc2thIGVsZW1lbnRzLAoJICBjdXJyZW50bHkgdGhlIERpcmFjIG11eGluZyBpcyBvbmx5IDEwMCUgY29ycmVjdCBpZiBNYXRyb3NrYSB2ZXJzaW9uIDIKCSAgaXMgc2VsZWN0ZWQgZm9yIG11eGluZy4KCjIwMDgtMTEtMDQgMTI6MzI6NDggKzAwMDAgIEJhc3RpZW4gTm9jZXJhIDxoYWRlc3NAaGFkZXNzLm5ldD4KCgkgIE9wdGlvbmFsbHkgdXNlIGxpYnY0bCB0byBhY2Nlc3MgdjRsMiBkZXZpY2VzLiBGaXhlcyBidWcgIzU0NTAzMy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBCYXN0aWVuIE5vY2VyYSA8aGFkZXNzIGF0IGhhZGVzcyBkb3QgbmV0PiwKCSAgSGFucyBkZSBHb2VkZSA8andyZGVnb2VkZSBhdCBmZWRvcmFwcm9qZWN0IGRvdCBvcmc+CgkgICogY29uZmlndXJlLmFjOgoJICAqIHN5cy92NGwyL01ha2VmaWxlLmFtOgoJICAqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzogKGdzdF92NGwyc3JjX2dldF9yZWFkKToKCSAgKiBzeXMvdjRsMi92NGwyX2NhbGxzLmM6IChnc3RfdjRsMl9nZXRfY2FwYWJpbGl0aWVzKSwKCSAgKGdzdF92NGwyX2ZpbGxfbGlzdHMpLCAoZ3N0X3Y0bDJfb3BlbiksIChnc3RfdjRsMl9jbG9zZSksCgkgIChnc3RfdjRsMl9nZXRfbm9ybSksIChnc3RfdjRsMl9zZXRfbm9ybSksIChnc3RfdjRsMl9nZXRfZnJlcXVlbmN5KSwKCSAgKGdzdF92NGwyX3NldF9mcmVxdWVuY3kpLCAoZ3N0X3Y0bDJfc2lnbmFsX3N0cmVuZ3RoKSwKCSAgKGdzdF92NGwyX2dldF9hdHRyaWJ1dGUpLCAoZ3N0X3Y0bDJfc2V0X2F0dHJpYnV0ZSksCgkgIChnc3RfdjRsMl9nZXRfaW5wdXQpLCAoZ3N0X3Y0bDJfc2V0X2lucHV0KToKCSAgKiBzeXMvdjRsMi92NGwyX2NhbGxzLmg6CgkgICogc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5jOiAoZ3N0X3Y0bDJfYnVmZmVyX2ZpbmFsaXplKSwKCSAgKGdzdF92NGwyX2J1ZmZlcl9uZXcpLCAoZ3N0X3Y0bDJfYnVmZmVyX3Bvb2xfZmluYWxpemUpLAoJICAoZ3N0X3Y0bDJfYnVmZmVyX3Bvb2xfbmV3KSwgKGdzdF92NGwyX2J1ZmZlcl9wb29sX2FjdGl2YXRlKSwKCSAgKGdzdF92NGwyc3JjX2ZpbGxfZm9ybWF0X2xpc3QpLAoJICAoZ3N0X3Y0bDJzcmNfcHJvYmVfY2Fwc19mb3JfZm9ybWF0X2FuZF9zaXplKSwKCSAgKGdzdF92NGwyc3JjX3Byb2JlX2NhcHNfZm9yX2Zvcm1hdCksIChnc3RfdjRsMnNyY19ncmFiX2ZyYW1lKSwKCSAgKGdzdF92NGwyc3JjX3NldF9jYXB0dXJlKSwgKGdzdF92NGwyc3JjX2NhcHR1cmVfaW5pdCksCgkgIChnc3RfdjRsMnNyY19jYXB0dXJlX3N0YXJ0KSwgKGdzdF92NGwyc3JjX2NhcHR1cmVfc3RvcCksCgkgIChnc3RfdjRsMnNyY19nZXRfbmVhcmVzdF9zaXplKToKCSAgT3B0aW9uYWxseSB1c2UgbGlidjRsIHRvIGFjY2VzcyB2NGwyIGRldmljZXMuIEZpeGVzIGJ1ZyAjNTQ1MDMzLgoKMjAwOC0xMS0wNCAxMjoyODozNCArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgRG9uJ3QgaW5zdGFsbCBzdGF0aWMgbGlicyBmb3IgcGx1Z2lucy4gRml4ZXMgIzU1MDg1MSBmb3IgLWdvb2QuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9hYWxpYi9NYWtlZmlsZS5hbToKCSAgKiBleHQvYW5ub2RleC9NYWtlZmlsZS5hbToKCSAgKiBleHQvY2Fpcm8vTWFrZWZpbGUuYW06CgkgICogZXh0L2R2L01ha2VmaWxlLmFtOgoJICAqIGV4dC9lc2QvTWFrZWZpbGUuYW06CgkgICogZXh0L2ZsYWMvTWFrZWZpbGUuYW06CgkgICogZXh0L2djb25mL01ha2VmaWxlLmFtOgoJICAqIGV4dC9nZGtfcGl4YnVmL01ha2VmaWxlLmFtOgoJICAqIGV4dC9oYWwvTWFrZWZpbGUuYW06CgkgICogZXh0L2pwZWcvTWFrZWZpbGUuYW06CgkgICogZXh0L2xhZHNwYS9NYWtlZmlsZS5hbToKCSAgKiBleHQvbGliY2FjYS9NYWtlZmlsZS5hbToKCSAgKiBleHQvbGlibW5nL01ha2VmaWxlLmFtOgoJICAqIGV4dC9saWJwbmcvTWFrZWZpbGUuYW06CgkgICogZXh0L21pa21vZC9NYWtlZmlsZS5hbToKCSAgKiBleHQvcHVsc2UvTWFrZWZpbGUuYW06CgkgICogZXh0L3JhdzEzOTQvTWFrZWZpbGUuYW06CgkgICogZXh0L3Nob3V0Mi9NYWtlZmlsZS5hbToKCSAgKiBleHQvc291cC9NYWtlZmlsZS5hbToKCSAgKiBleHQvc3BlZXgvTWFrZWZpbGUuYW06CgkgICogZXh0L3RhZ2xpYi9NYWtlZmlsZS5hbToKCSAgKiBleHQvd2F2cGFjay9NYWtlZmlsZS5hbToKCSAgKiBnc3QvYWxwaGEvTWFrZWZpbGUuYW06CgkgICogZ3N0L2FwZXRhZy9NYWtlZmlsZS5hbToKCSAgKiBnc3QvYXVkaW9meC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvYXVwYXJzZS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvYXV0b2RldGVjdC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvYXZpL01ha2VmaWxlLmFtOgoJICAqIGdzdC9jdXR0ZXIvTWFrZWZpbGUuYW06CgkgICogZ3N0L2RlYnVnL01ha2VmaWxlLmFtOgoJICAqIGdzdC9lZmZlY3R2L01ha2VmaWxlLmFtOgoJICAqIGdzdC9lcXVhbGl6ZXIvTWFrZWZpbGUuYW06CgkgICogZ3N0L2ZseC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvZ29vbS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvZ29vbTJrMS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvaWN5ZGVtdXgvTWFrZWZpbGUuYW06CgkgICogZ3N0L2lkM2RlbXV4L01ha2VmaWxlLmFtOgoJICAqIGdzdC9pbnRlcmxlYXZlL01ha2VmaWxlLmFtOgoJICAqIGdzdC9sYXcvTWFrZWZpbGUuYW06CgkgICogZ3N0L2xldmVsL01ha2VmaWxlLmFtOgoJICAqIGdzdC9tYXRyb3NrYS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvbWVkaWFuL01ha2VmaWxlLmFtOgoJICAqIGdzdC9tb25vc2NvcGUvTWFrZWZpbGUuYW06CgkgICogZ3N0L211bHRpZmlsZS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvbXVsdGlwYXJ0L01ha2VmaWxlLmFtOgoJICAqIGdzdC9vbGRjb3JlL01ha2VmaWxlLmFtOgoJICAqIGdzdC9xdGRlbXV4L01ha2VmaWxlLmFtOgoJICAqIGdzdC9yZXBsYXlnYWluL01ha2VmaWxlLmFtOgoJICAqIGdzdC9ydHAvTWFrZWZpbGUuYW06CgkgICogZ3N0L3J0c3AvTWFrZWZpbGUuYW06CgkgICogZ3N0L3NtcHRlL01ha2VmaWxlLmFtOgoJICAqIGdzdC9zcGVjdHJ1bS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvdWRwL01ha2VmaWxlLmFtOgoJICAqIGdzdC92aWRlb2JveC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvdmlkZW9jcm9wL01ha2VmaWxlLmFtOgoJICAqIGdzdC92aWRlb2ZpbHRlci9NYWtlZmlsZS5hbToKCSAgKiBnc3QvdmlkZW9taXhlci9NYWtlZmlsZS5hbToKCSAgKiBnc3Qvd2F2ZW5jL01ha2VmaWxlLmFtOgoJICAqIGdzdC93YXZwYXJzZS9NYWtlZmlsZS5hbToKCSAgKiBzeXMvZGlyZWN0ZHJhdy9NYWtlZmlsZS5hbToKCSAgKiBzeXMvZGlyZWN0c291bmQvTWFrZWZpbGUuYW06CgkgICogc3lzL29zcy9NYWtlZmlsZS5hbToKCSAgKiBzeXMvb3N4YXVkaW8vTWFrZWZpbGUuYW06CgkgICogc3lzL29zeHZpZGVvL01ha2VmaWxlLmFtOgoJICAqIHN5cy9zdW5hdWRpby9NYWtlZmlsZS5hbToKCSAgKiBzeXMvdjRsMi9NYWtlZmlsZS5hbToKCSAgKiBzeXMvd2F2ZWZvcm0vTWFrZWZpbGUuYW06CgkgICogc3lzL3hpbWFnZS9NYWtlZmlsZS5hbToKCSAgRG9uJ3QgaW5zdGFsbCBzdGF0aWMgbGlicyBmb3IgcGx1Z2lucy4gRml4ZXMgIzU1MDg1MSBmb3IgLWdvb2QuCgoyMDA4LTEwLTMxIDE4OjE3OjUwICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBleHQvZmxhYy9NYWtlZmlsZS5hbTogSW5jbHVkZSAkKEZMQUNfQ0ZMQUdTKSBpbiBDRkxBR1MgdG8gbWFrZSBzdXJlIHRvIGZpbmQgdGhlIEZMQUMgaGVhZGVycy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2ZsYWMvTWFrZWZpbGUuYW06CgkgIEluY2x1ZGUgJChGTEFDX0NGTEFHUykgaW4gQ0ZMQUdTIHRvIG1ha2Ugc3VyZSB0byBmaW5kIHRoZSBGTEFDIGhlYWRlcnMuCgkgIFRoaXMgZml4ZXMgY29tcGlsYXRpb24gaWYgRkxBQyBpcyBpbnN0YWxsZWQgaW4gYW4gdW5jb21tb24gbG9jYXRpb24KCSAgdGhhdCBpcyBub3QgYWxyZWFkeSBoYW5kbGVkIGJ5IG90aGVyIENGTEFHUy4gRml4ZXMgYnVnICM1NTg3MTEuCgoyMDA4LTEwLTMxIDEwOjA4OjUwICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5jOiBHdWFyZCBtb3JlIHVuY29tbW9uIGZvcm1hdHMgd2l0aCBpZmRlZnMgc28gdGhhdCB3ZSBjYW4gY29tcGlsZSBvbiBvbGRlciB2ZXJzaW9ucy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5jOiAoZ3N0X3Y0bDJzcmNfZm9ybWF0X2dldF9yYW5rKToKCSAgR3VhcmQgbW9yZSB1bmNvbW1vbiBmb3JtYXRzIHdpdGggaWZkZWZzIHNvIHRoYXQgd2UgY2FuIGNvbXBpbGUgb24gb2xkZXIKCSAgdmVyc2lvbnMuCgoyMDA4LTEwLTMxIDEwOjAwOjE4ICswMDAwICBOaWNrIEhhZGRhZCA8bmlja0BoYWRkYWRzLm5ldD4KCgkgIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzogSW52ZXJ0IG90aGVyIHVuY29tcHJlc3NlZCBSR0IgZm9ybWF0cy4gRml4ZXMgIzU1ODU1NC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBOaWNrIEhhZGRhZCA8bmljayBhdCBoYWRkYWRzIGRvdCBuZXQ+CgkgICogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOiAoZ3N0X2F2aV9kZW11eF9pc191bmNvbXByZXNzZWQpLAoJICAoZ3N0X2F2aV9kZW11eF9pbnZlcnQpLCAoZ3N0X2F2aV9kZW11eF9wcm9jZXNzX25leHRfZW50cnkpLAoJICAoZ3N0X2F2aV9kZW11eF9zdHJlYW1fZGF0YSk6CgkgIEludmVydCBvdGhlciB1bmNvbXByZXNzZWQgUkdCIGZvcm1hdHMuIEZpeGVzICM1NTg1NTQuCgoyMDA4LTEwLTMwIDE1OjA4OjQ5ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3Qvd2F2ZW5jL2dzdHdhdmVuYy4qOiBBZGQgc3VwcG9ydCBmb3IgZmxvYXQvZG91YmxlIGFzIGlucHV0IGFuZCByZW1vdmUgdGhlIChub3dhZGF5cykgdXNlbGVzcyBwYXJzaW5nIG9mIHRoZSBkZXB0aCAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3dhdmVuYy9nc3R3YXZlbmMuYzogKGdzdF93YXZlbmNfY3JlYXRlX2hlYWRlcl9idWYpLAoJICAoZ3N0X3dhdmVuY19zaW5rX3NldGNhcHMpLCAoZ3N0X3dhdmVuY19jaGFuZ2Vfc3RhdGUpOgoJICAqIGdzdC93YXZlbmMvZ3N0d2F2ZW5jLmg6CgkgIEFkZCBzdXBwb3J0IGZvciBmbG9hdC9kb3VibGUgYXMgaW5wdXQgYW5kIHJlbW92ZSB0aGUgKG5vd2FkYXlzKQoJICB1c2VsZXNzIHBhcnNpbmcgb2YgdGhlIGRlcHRoIGFzIHdlIHJlcXVpcmUgd2lkdGg9PWRlcHRoLgoKMjAwOC0xMC0zMCAxMDozMTozNSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHAvOiBOYXJyb3cgZG93biB0aGUgY2FwcyBvZiB0aGUgbXBlZyBhdWRpbyBwYXkvZGVwYXlsb2FkZXJzIHRvIG9ubHkgYWNjZXB0IG1wZWcgdmVyc2lvbiAxLiBGaXhlcyAjNTU4NDI3LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwL2dzdHJ0cG1wYWRlcGF5LmM6IChnc3RfcnRwX21wYV9kZXBheV9zZXRjYXBzKToKCSAgKiBnc3QvcnRwL2dzdHJ0cG1wYXBheS5jOgoJICBOYXJyb3cgZG93biB0aGUgY2FwcyBvZiB0aGUgbXBlZyBhdWRpbyBwYXkvZGVwYXlsb2FkZXJzIHRvIG9ubHkgYWNjZXB0CgkgIG1wZWcgdmVyc2lvbiAxLiBGaXhlcyAjNTU4NDI3LgoKMjAwOC0xMC0yOSAxODoyODoyNSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHAvZ3N0cnRwTDE2cGF5LmM6IE9ubHkgcHV0IGFuIGludGVncmFsIGFtb3VudCBvZiBzYW1wbGVzIGluIHRoZSBSVFAgcGFja2V0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwL2dzdHJ0cEwxNnBheS5jOiAoZ3N0X3J0cF9MMTZfcGF5X2ZsdXNoKSwKCSAgKGdzdF9ydHBfTDE2X3BheV9nZXRjYXBzKToKCSAgT25seSBwdXQgYW4gaW50ZWdyYWwgYW1vdW50IG9mIHNhbXBsZXMgaW4gdGhlIFJUUCBwYWNrZXQuCgkgIEZpeGVzICM1NTY2NDEuCgoyMDA4LTEwLTI4IDE3OjQyOjAyICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cC9nc3RydHBjaGFubmVscy4qOiBBZGQgbWV0aG9kIHRvIGdldCBwb3NzaWJsZSBjaGFubmVsIHBvc2l0aW9ucy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cC9nc3RydHBjaGFubmVscy5jOiAoZ3N0X3J0cF9jaGFubmVsc19nZXRfYnlfaW5kZXgpOgoJICAqIGdzdC9ydHAvZ3N0cnRwY2hhbm5lbHMuaDoKCSAgQWRkIG1ldGhvZCB0byBnZXQgcG9zc2libGUgY2hhbm5lbCBwb3NpdGlvbnMuCgoyMDA4LTEwLTI4IDE3OjM5OjQ4ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cC9NYWtlZmlsZS5hbTogQWxzbyBjb21taXQgdXBkYXRlZCBtYWtlZmlsZQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwL01ha2VmaWxlLmFtOgoJICBBbHNvIGNvbW1pdCB1cGRhdGVkIG1ha2VmaWxlCgoyMDA4LTEwLTI4IDE0OjU2OjA4ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3Qvd2F2ZW5jL2dzdHdhdmVuYy5jOiBEb24ndCBhbGxvdyB3aWR0aD0zMixkZXB0aD0yNCBhcyBpbnB1dC4gV0FWIHJlcXVpcmVzIHRoYXQgdGhlIHdpZHRoIGlzIHRoZSBuZXh0IGludGVnZXIgbXVsdGkuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3dhdmVuYy9nc3R3YXZlbmMuYzogKGdzdF93YXZlbmNfY2hhaW4pOgoJICBEb24ndCBhbGxvdyB3aWR0aD0zMixkZXB0aD0yNCBhcyBpbnB1dC4gV0FWIHJlcXVpcmVzIHRoYXQgdGhlIHdpZHRoCgkgIGlzIHRoZSBuZXh0IGludGVnZXIgbXVsdGlwbHkgb2YgOCBmcm9tIHRoZSBkZXB0aC4KCjIwMDgtMTAtMjggMTA6MDE6NDkgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwLzogQWRkIG1hcHBpbmdzIGZvciBtdWx0aWNoYW5uZWwgc3VwcG9ydC4gRG9lcyBub3QgY29tcGxldGVseSBqdXN0IHdvcmsgYmVjYXVzZSB0aGUgZ2V0Y2FwcyBmdW5jdGlvbiBkb2VzIG5vdCAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cC9nc3RydHBMMTZkZXBheS5jOiAoZ3N0X3J0cF9MMTZfZGVwYXlfc2V0Y2Fwcyk6CgkgICogZ3N0L3J0cC9nc3RydHBMMTZwYXkuYzogKGdzdF9ydHBfTDE2X3BheV9zZXRjYXBzKSwKCSAgKGdzdF9ydHBfTDE2X3BheV9nZXRjYXBzKToKCSAgKiBnc3QvcnRwL2dzdHJ0cGNoYW5uZWxzLmM6IChjaGVja19jaGFubmVscyksCgkgIChnc3RfcnRwX2NoYW5uZWxzX2dldF9ieV9wb3MpLCAoZ3N0X3J0cF9jaGFubmVsc19nZXRfYnlfb3JkZXIpLAoJICAoZ3N0X3J0cF9jaGFubmVsc19jcmVhdGVfZGVmYXVsdCk6CgkgICogZ3N0L3J0cC9nc3RydHBjaGFubmVscy5oOgoJICBBZGQgbWFwcGluZ3MgZm9yIG11bHRpY2hhbm5lbCBzdXBwb3J0LiBEb2VzIG5vdCBjb21wbGV0ZWx5IGp1c3Qgd29yawoJICBiZWNhdXNlIHRoZSBnZXRjYXBzIGZ1bmN0aW9uIGRvZXMgbm90IHlldCByZXR1cm4gdGhlIGFsbG93ZWQgY2hhbm5lbAoJICBtYXBwaW5ncy4gU2VlICM1NTY2NDEuCgoyMDA4LTEwLTI4IDA2OjUwOjU3ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3QvZ29vbS86IEFkZCBsaWNlbnNlIGhlYWRlcnMgaW4gYWxsIHNvdXJjZSBmaWxlcy4gUmVtb3ZlIGZpbHRlci5jIGZyb20KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2dvb20vTWFrZWZpbGUuYW06CgkgICogZ3N0L2dvb20vUkVBRE1FOgoJICAqIGdzdC9nb29tL2NvbmZpZ19wYXJhbS5jOgoJICAqIGdzdC9nb29tL2NvbnZvbHZlX2Z4LmM6CgkgICogZ3N0L2dvb20vZHJhd21ldGhvZHMuYzoKCSAgKiBnc3QvZ29vbS9kcmF3bWV0aG9kcy5oOgoJICAqIGdzdC9nb29tL2ZpbHRlcnMuYzoKCSAgKiBnc3QvZ29vbS9maWx0ZXJzX21teC5zOgoJICAqIGdzdC9nb29tL2ZseWluZ19zdGFyc19meC5jOgoJICAqIGdzdC9nb29tL2dvb20uaDoKCSAgKiBnc3QvZ29vbS9nb29tX2NvbmZpZy5oOgoJICAqIGdzdC9nb29tL2dvb21fY29uZmlnX3BhcmFtLmg6CgkgICogZ3N0L2dvb20vZ29vbV9jb3JlLmM6CgkgICogZ3N0L2dvb20vZ29vbV9maWx0ZXJzLmg6CgkgICogZ3N0L2dvb20vZ29vbV9meC5oOgoJICAqIGdzdC9nb29tL2dvb21fZ3JhcGhpYy5oOgoJICAqIGdzdC9nb29tL2dvb21fcGx1Z2luX2luZm8uaDoKCSAgKiBnc3QvZ29vbS9nb29tX3Rvb2xzLmM6CgkgICogZ3N0L2dvb20vZ29vbV90b29scy5oOgoJICAqIGdzdC9nb29tL2dvb21fdHlwZWRlZnMuaDoKCSAgKiBnc3QvZ29vbS9nb29tX3Zpc3VhbF9meC5oOgoJICAqIGdzdC9nb29tL2dyYXBoaWMuYzoKCSAgKiBnc3QvZ29vbS9pZnMuYzoKCSAgKiBnc3QvZ29vbS9pZnMuaDoKCSAgKiBnc3QvZ29vbS9saW5lcy5jOgoJICAqIGdzdC9nb29tL2xpbmVzLmg6CgkgICogZ3N0L2dvb20vbWF0aHRvb2xzLmM6CgkgICogZ3N0L2dvb20vbWF0aHRvb2xzLmg6CgkgICogZ3N0L2dvb20vbW14LmM6CgkgICogZ3N0L2dvb20vbW90aWZfZ29vbTEuaDoKCSAgKiBnc3QvZ29vbS9tb3RpZl9nb29tMi5oOgoJICAqIGdzdC9nb29tL3BsdWdpbl9pbmZvLmM6CgkgICogZ3N0L2dvb20vcHBjX2RyYXdpbmdzLmg6CgkgICogZ3N0L2dvb20vcHBjX3pvb21fdWx0aW1hdGUuaDoKCSAgKiBnc3QvZ29vbS9zb3VuZF90ZXN0ZXIuYzoKCSAgKiBnc3QvZ29vbS9zb3VuZF90ZXN0ZXIuaDoKCSAgKiBnc3QvZ29vbS9zdXJmM2QuYzoKCSAgKiBnc3QvZ29vbS9zdXJmM2QuaDoKCSAgKiBnc3QvZ29vbS90ZW50YWNsZTNkLmM6CgkgICogZ3N0L2dvb20vdGVudGFjbGUzZC5oOgoJICAqIGdzdC9nb29tL3YzZC5jOgoJICAqIGdzdC9nb29tL3YzZC5oOgoJICAqIGdzdC9nb29tL3htbXguYzoKCSAgQWRkIGxpY2Vuc2UgaGVhZGVycyBpbiBhbGwgc291cmNlIGZpbGVzLiBSZW1vdmUgZmlsdGVyLmMgZnJvbQoJICBFWFRSQV9ESVNULCBhcyBpdHMgaW4gU09VUkNFUyBhbHJlYWR5LiBNZW50aW9uIHRoZSBmaWxlcyBpbiB0aGUgUkVETUUKCSAgd2hpY2ggYXJlIG5vdCB1c2VkIHJpZ2h0IG5vdy4gRml4ZXMgIzU1NzcwOS4KCjIwMDgtMTAtMjcgMTE6Mjg6MzAgKzAwMDAgIE9saXZpZXIgQ3JldGUgPHRlc3RlckB0ZXN0ZXIuY2E+CgoJICBnc3QvcnRwL2dzdHJ0cEwxNnBheS5jOiBJbXBsZW1lbnQgZ2V0Y2FwcyBpbiBydHBMMTZwYXkuIEZpeGVzICM1NTY0ODQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogT2xpdmllciBDcmV0ZSA8dGVzdGVyIGF0IHRlc3RlciBkb3QgY2E+CgkgICogZ3N0L3J0cC9nc3RydHBMMTZwYXkuYzogKGdzdF9ydHBfTDE2X3BheV9jbGFzc19pbml0KSwKCSAgKGdzdF9ydHBfTDE2X3BheV9zZXRjYXBzKSwgKGdzdF9ydHBfTDE2X3BheV9nZXRjYXBzKToKCSAgSW1wbGVtZW50IGdldGNhcHMgaW4gcnRwTDE2cGF5LiBGaXhlcyAjNTU2NDg0LgoKMjAwOC0xMC0yNyAxMTowMzo1MyArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHAvZ3N0cnRwTDE2ZGVwYXkuYzogQ2hlY2sgaWYgY2xvY2stcmF0ZSBhbmQgY2hhbm5lbHMgYXJlIHZhbGlkLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwL2dzdHJ0cEwxNmRlcGF5LmM6IChnc3RfcnRwX0wxNl9kZXBheV9zZXRjYXBzKSwKCSAgKGdzdF9ydHBfTDE2X2RlcGF5X3Byb2Nlc3MpOgoJICBDaGVjayBpZiBjbG9jay1yYXRlIGFuZCBjaGFubmVscyBhcmUgdmFsaWQuCgkgIERvbid0IGlnbm9yZSB0aGUgcmV0dXJuIHZhbHVlIG9mIHNldGNhcHMuCgkgIE5vIG5lZWQgdG8gdmFsaWRhdGUgdGhlIGJ1ZmZlciwgdGhlIGJhc2UgY2xhc3MgZG9lcyB0aGF0IGZvciB1cy4KCSAgVXNlIHRoZSBtYXJrZXIgYml0IHRvIHNldCB0aGUgRElTQ09OVCBmbGFnIG9uIG91dGdvaW5nIGJ1ZmZlcnMuCgkgICogZ3N0L3J0cC9nc3RydHBMMTZwYXkuYzogKGdzdF9ydHBfTDE2X3BheV9zZXRjYXBzKToKCSAgRG9uJ3QgaWdub3JlIHRoZSByZXR1cm4gdmFsdWUgb2Ygc2V0X291dGNhcHMuCgkgICogZ3N0L3J0cC9nc3RydHBhYzNkZXBheS5jOiAoZ3N0X3J0cF9hYzNfZGVwYXlfc2V0Y2FwcyksCgkgIChnc3RfcnRwX2FjM19kZXBheV9wcm9jZXNzKToKCSAgRG9uJ3QgaWdub3JlIHRoZSByZXR1cm4gdmFsdWUgb2Ygc2V0X2NhcHMuCgkgIE5vIG5lZWQgdG8gdmFsaWRhdGUgdGhlIGJ1ZmZlciwgdGhlIGJhc2UgY2xhc3MgZG9lcyB0aGF0IGZvciB1cy4KCSAgKiBnc3QvcnRwL2dzdHJ0cGFtcmRlcGF5LmM6IChnc3RfcnRwX2Ftcl9kZXBheV9zZXRjYXBzKSwKCSAgKGdzdF9ydHBfYW1yX2RlcGF5X3Byb2Nlc3MpOgoJICAqIGdzdC9ydHAvZ3N0cnRwYW1yZGVwYXkuaDoKCSAgRG9uJ3QgaWdub3JlIHRoZSByZXR1cm4gdmFsdWUgb2Ygc2V0Y2Fwcy4KCSAgTm8gbmVlZCB0byB2YWxpZGF0ZSB0aGUgYnVmZmVyLCB0aGUgYmFzZSBjbGFzcyBkb2VzIHRoYXQgZm9yIHVzLgoJICBObyBuZWVkIHRvIHNldCBvdXRwdXQgY2FwcyBvbiB0aGUgYnVmZmVycywgdGhlIGJhc2UgY2xhc3MgZG9lcyB0aGF0IGZvcgoJICB1cy4KCSAgVGhlIHN1YmNsYXNzIHdpbGwgbWFrZSBzdXJlIHdlIGFyZSBuZWdvdGlhdGVkLgoJICAqIGdzdC9ydHAvZ3N0cnRwZHZkZXBheS5jOiAoZ3N0X3J0cF9kdl9kZXBheV9zZXRjYXBzKSwKCSAgKGdzdF9ydHBfZHZfZGVwYXlfcHJvY2VzcyksIChnc3RfcnRwX2R2X2RlcGF5X3Jlc2V0KToKCSAgKiBnc3QvcnRwL2dzdHJ0cGR2ZGVwYXkuaDoKCSAgQ2xlYW4gdXAgY2FwcyBuZWdvdGlhdGlvbi4KCSAgVGhlIHN1YmNsYXNzIHdpbGwgbWFrZSBzdXJlIHdlIGFyZSBuZWdvdGlhdGVkLgoJICAqIGdzdC9ydHAvZ3N0cnRwZzcyNmRlcGF5LmM6IChnc3RfcnRwX2c3MjZfZGVwYXlfc2V0Y2FwcyksCgkgIChnc3RfcnRwX2c3MjZfZGVwYXlfcHJvY2Vzcyk6CgkgIENsZWFuIHVwIGNhcHMgbmVnb3RpYXRpb24uCgkgIFVzZSB0aGUgbWFya2VyIGJpdCB0byBzZXQgdGhlIERJU0NPTlQgZmxhZyBvbiBvdXRnb2luZyBidWZmZXJzLgoJICAqIGdzdC9ydHAvZ3N0cnRwZzcyOWRlcGF5LmM6IChnc3RfcnRwX2c3MjlfZGVwYXlfaW5pdCksCgkgIChnc3RfcnRwX2c3MjlfZGVwYXlfc2V0Y2FwcyksIChnc3RfcnRwX2c3MjlfZGVwYXlfcHJvY2Vzcyk6CgkgICogZ3N0L3J0cC9nc3RydHBnNzI5ZGVwYXkuaDoKCSAgVGhlIHN1YmNsYXNzIHdpbGwgbWFrZSBzdXJlIHdlIGFyZSBuZWdvdGlhdGVkLgoJICBVc2UgdGhlIG1hcmtlciBiaXQgdG8gc2V0IHRoZSBESVNDT05UIGZsYWcgb24gb3V0Z29pbmcgYnVmZmVycy4KCSAgKiBnc3QvcnRwL2dzdHJ0cGdzbWRlcGF5LmM6IChnc3RfcnRwX2dzbV9kZXBheV9zZXRjYXBzKSwKCSAgKGdzdF9ydHBfZ3NtX2RlcGF5X3Byb2Nlc3MpOgoJICBDbGVhbiB1cCBjYXBzIG5lZ290aWF0aW9uLgoJICBVc2UgdGhlIG1hcmtlciBiaXQgdG8gc2V0IHRoZSBESVNDT05UIGZsYWcgb24gb3V0Z29pbmcgYnVmZmVycy4KCSAgKiBnc3QvcnRwL2dzdHJ0cGdzbXBheS5jOiAoZ3N0X3J0cF9nc21fcGF5X3NldGNhcHMpOgoJICBDbGVhbiB1cCBjYXBzIG5lZ290aWF0aW9uLgoJICBEb24ndCBpZ25vcmUgdGhlIHJldHVybiB2YWx1ZSBvZiBzZXRfb3V0Y2Fwcy4KCSAgKiBnc3QvcnRwL2dzdHJ0cGgyNjNkZXBheS5jOiAoZ3N0X3J0cF9oMjYzX2RlcGF5X3NldGNhcHMpLAoJICAoZ3N0X3J0cF9oMjYzX2RlcGF5X3Byb2Nlc3MpOgoJICBDbGVhbiB1cCBjYXBzIG5lZ290aWF0aW9uLgoJICBObyBuZWVkIHRvIHZhbGlkYXRlIHRoZSBidWZmZXIsIHRoZSBiYXNlIGNsYXNzIGRvZXMgdGhhdCBmb3IgdXMuCgkgICogZ3N0L3J0cC9nc3RydHBoMjYzcGF5LmM6IChnc3RfcnRwX2gyNjNfcGF5X3NldGNhcHMpLAoJICAoZ3N0X3J0cF9oMjYzX3BheV9mbHVzaCksIChnc3RfcnRwX2gyNjNfcGF5X2hhbmRsZV9idWZmZXIpOgoJICAqIGdzdC9ydHAvZ3N0cnRwaDI2M3BheS5oOgoJICBEb24ndCBpZ25vcmUgdGhlIHJldHVybiB2YWx1ZSBvZiBzZXRfb3V0Y2Fwcy4KCSAgRG8gc29tZSBtb3JlIHRpbWVzdGFtcHMuCgkgICogZ3N0L3J0cC9nc3RydHBoMjYzcGRlcGF5LmM6IChnc3RfcnRwX2gyNjNwX2RlcGF5X3NldGNhcHMpLAoJICAoZ3N0X3J0cF9oMjYzcF9kZXBheV9wcm9jZXNzKToKCSAgQ2xlYW4gdXAgY2FwcyBuZWdvdGlhdGlvbi4KCSAgRG9uJ3QgaWdub3JlIHRoZSByZXR1cm4gdmFsdWUgb2Ygc2V0Y2Fwcy4KCSAgTm8gbmVlZCB0byB2YWxpZGF0ZSB0aGUgYnVmZmVyLCB0aGUgYmFzZSBjbGFzcyBkb2VzIHRoYXQgZm9yIHVzLgoJICAqIGdzdC9ydHAvZ3N0cnRwaDI2M3BwYXkuYzogKGdzdF9ydHBfaDI2M3BfcGF5X2NsYXNzX2luaXQpLAoJICAoZ3N0X3J0cF9oMjYzcF9wYXlfc2V0Y2FwcyksIChnc3RfcnRwX2gyNjNwX3BheV9mbHVzaCksCgkgIChnc3RfcnRwX2gyNjNwX3BheV9oYW5kbGVfYnVmZmVyKToKCSAgKiBnc3QvcnRwL2dzdHJ0cGgyNjNwcGF5Lmg6CgkgIERvbid0IGlnbm9yZSB0aGUgcmV0dXJuIHZhbHVlIG9mIHNldF9vdXRjYXBzLgoJICBEbyBzb21lIG1vcmUgdGltZXN0YW1wcy4KCSAgKiBnc3QvcnRwL2dzdHJ0cGgyNjRkZXBheS5jOiAoZ3N0X3J0cF9oMjY0X2RlcGF5X3NldGNhcHMpLAoJICAoZ3N0X3J0cF9oMjY0X2RlcGF5X3Byb2Nlc3MpOgoJICBDbGVhbiB1cCBjYXBzIG5lZ290aWF0aW9uLgoJICBEb24ndCBpZ25vcmUgdGhlIHJldHVybiB2YWx1ZSBvZiBzZXRjYXBzLgoJICBGaXggcG9zc2libGUgY2FwcyBsZWFrLgoJICBObyBuZWVkIHRvIHZhbGlkYXRlIHRoZSBidWZmZXIsIHRoZSBiYXNlIGNsYXNzIGRvZXMgdGhhdCBmb3IgdXMuCgkgICogZ3N0L3J0cC9nc3RydHBoMjY0cGF5LmM6IChnc3RfcnRwX2gyNjRfcGF5X3NldGNhcHMpOgoJICBBZGQgc29tZSBtb3JlIGRlYnVnIGluZm8uCgkgICogZ3N0L3J0cC9nc3RydHBpbGJjZGVwYXkuYzogKGdzdF9ydHBfaWxiY19kZXBheV9zZXRjYXBzKSwKCSAgKGdzdF9ydHBfaWxiY19kZXBheV9wcm9jZXNzKToKCSAgQ2xlYW4gdXAgY2FwcyBuZWdvdGlhdGlvbi4KCSAgVXNlIHRoZSBtYXJrZXIgYml0IHRvIHNldCB0aGUgRElTQ09OVCBmbGFnIG9uIG91dGdvaW5nIGJ1ZmZlcnMuCgkgICogZ3N0L3J0cC9nc3RydHBpbGJjcGF5LmM6IChnc3RfcnRwaWxiY3BheV9zaW5rX3NldGNhcHMpOgoJICBDbGVhbiB1cCBjYXBzIG5lZ290aWF0aW9uLgoJICAqIGdzdC9ydHAvZ3N0cnRwbXAxc2RlcGF5LmM6IChnc3RfcnRwX21wMXNfZGVwYXlfc2V0Y2FwcyksCgkgIChnc3RfcnRwX21wMXNfZGVwYXlfcHJvY2Vzcyk6CgkgIENsZWFuIHVwIGNhcHMgbmVnb3RpYXRpb24uCgkgIERvbid0IGlnbm9yZSB0aGUgcmV0dXJuIHZhbHVlIG9mIHNldGNhcHMuCgkgIE5vIG5lZWQgdG8gdmFsaWRhdGUgdGhlIGJ1ZmZlciwgdGhlIGJhc2UgY2xhc3MgZG9lcyB0aGF0IGZvciB1cy4KCSAgTm8gbmVlZCB0byBzZXQgY2FwcyBvbiBidWZmZXJzLCBzdWJjbGFzcyBkb2VzIHRoYXQgZm9yIHVzLgoJICAqIGdzdC9ydHAvZ3N0cnRwbXAydGRlcGF5LmM6IChnc3RfcnRwX21wMnRfZGVwYXlfc2V0Y2FwcyksCgkgIChnc3RfcnRwX21wMnRfZGVwYXlfcHJvY2Vzcyk6CgkgIENsZWFuIHVwIGNhcHMgbmVnb3RpYXRpb24uCgkgIERvbid0IGlnbm9yZSB0aGUgcmV0dXJuIHZhbHVlIG9mIHNldGNhcHMuCgkgIE5vIG5lZWQgdG8gdmFsaWRhdGUgdGhlIGJ1ZmZlciwgdGhlIGJhc2UgY2xhc3MgZG9lcyB0aGF0IGZvciB1cy4KCSAgTm8gbmVlZCB0byBzZXQgY2FwcyBvbiBidWZmZXJzLCBzdWJjbGFzcyBkb2VzIHRoYXQgZm9yIHVzLgoJICAqIGdzdC9ydHAvZ3N0cnRwbXA0YWRlcGF5LmM6IChnc3RfcnRwX21wNGFfZGVwYXlfc2V0Y2FwcyksCgkgIChnc3RfcnRwX21wNGFfZGVwYXlfcHJvY2Vzcyk6CgkgIENsZWFuIHVwIGNhcHMgbmVnb3RpYXRpb24uCgkgIERvbid0IGlnbm9yZSB0aGUgcmV0dXJuIHZhbHVlIG9mIHNldGNhcHMuCgkgIE5vIG5lZWQgdG8gdmFsaWRhdGUgdGhlIGJ1ZmZlciwgdGhlIGJhc2UgY2xhc3MgZG9lcyB0aGF0IGZvciB1cy4KCSAgKiBnc3QvcnRwL2dzdHJ0cG1wNGFwYXkuYzogKGdzdF9ydHBfbXA0YV9wYXlfbmV3X2NhcHMpLAoJICAoZ3N0X3J0cF9tcDRhX3BheV9zZXRjYXBzKToKCSAgRG9uJ3QgaWdub3JlIHRoZSByZXR1cm4gdmFsdWUgb2Ygc2V0X291dGNhcHMuCgkgICogZ3N0L3J0cC9nc3RydHBtcDRnZGVwYXkuYzogKGdzdF9ydHBfbXA0Z19kZXBheV9zZXRjYXBzKSwKCSAgKGdzdF9ydHBfbXA0Z19kZXBheV9wcm9jZXNzKToKCSAgQ2xlYW4gdXAgY2FwcyBuZWdvdGlhdGlvbi4KCSAgRG9uJ3QgaWdub3JlIHRoZSByZXR1cm4gdmFsdWUgb2Ygc2V0Y2Fwcy4KCSAgTm8gbmVlZCB0byB2YWxpZGF0ZSB0aGUgYnVmZmVyLCB0aGUgYmFzZSBjbGFzcyBkb2VzIHRoYXQgZm9yIHVzLgoJICBObyBuZWVkIHRvIHNldCBjYXBzIG9uIGJ1ZmZlcnMsIHN1YmNsYXNzIGRvZXMgdGhhdCBmb3IgdXMuCgkgICogZ3N0L3J0cC9nc3RydHBtcDRncGF5LmM6IChnc3RfcnRwX21wNGdfcGF5X2ZpbmFsaXplKSwKCSAgKGdzdF9ydHBfbXA0Z19wYXlfbmV3X2NhcHMpLCAoZ3N0X3J0cF9tcDRnX3BheV9zZXRjYXBzKToKCSAgRG9uJ3QgaWdub3JlIHRoZSByZXR1cm4gdmFsdWUgb2Ygc2V0X291dGNhcHMuCgkgICogZ3N0L3J0cC9nc3RydHBtcDR2ZGVwYXkuYzogKGdzdF9ydHBfbXA0dl9kZXBheV9zZXRjYXBzKSwKCSAgKGdzdF9ydHBfbXA0dl9kZXBheV9wcm9jZXNzKToKCSAgQ2xlYW4gdXAgY2FwcyBuZWdvdGlhdGlvbi4KCSAgRG9uJ3QgaWdub3JlIHRoZSByZXR1cm4gdmFsdWUgb2Ygc2V0Y2Fwcy4KCSAgTm8gbmVlZCB0byB2YWxpZGF0ZSB0aGUgYnVmZmVyLCB0aGUgYmFzZSBjbGFzcyBkb2VzIHRoYXQgZm9yIHVzLgoJICBObyBuZWVkIHRvIHNldCBjYXBzIG9uIGJ1ZmZlcnMsIHN1YmNsYXNzIGRvZXMgdGhhdCBmb3IgdXMuCgkgICogZ3N0L3J0cC9nc3RydHBtcDR2cGF5LmM6IChnc3RfcnRwX21wNHZfcGF5X25ld19jYXBzKSwKCSAgKGdzdF9ydHBfbXA0dl9wYXlfc2V0Y2Fwcyk6CgkgIERvbid0IGlnbm9yZSB0aGUgcmV0dXJuIHZhbHVlIG9mIHNldF9vdXRjYXBzLgoJICAqIGdzdC9ydHAvZ3N0cnRwbXBhZGVwYXkuYzogKGdzdF9ydHBfbXBhX2RlcGF5X3NldGNhcHMpLAoJICAoZ3N0X3J0cF9tcGFfZGVwYXlfcHJvY2Vzcyk6CgkgIENsZWFuIHVwIGNhcHMgbmVnb3RpYXRpb24uCgkgIERvbid0IGlnbm9yZSB0aGUgcmV0dXJuIHZhbHVlIG9mIHNldGNhcHMuCgkgIE5vIG5lZWQgdG8gdmFsaWRhdGUgdGhlIGJ1ZmZlciwgdGhlIGJhc2UgY2xhc3MgZG9lcyB0aGF0IGZvciB1cy4KCSAgVXNlIHRoZSBtYXJrZXIgYml0IHRvIHNldCB0aGUgRElTQ09OVCBmbGFnIG9uIG91dGdvaW5nIGJ1ZmZlcnMuCgkgICogZ3N0L3J0cC9nc3RydHBtcGFwYXkuYzogKGdzdF9ydHBfbXBhX3BheV9zZXRjYXBzKToKCSAgRG9uJ3QgaWdub3JlIHRoZSByZXR1cm4gdmFsdWUgb2Ygc2V0X291dGNhcHMuCgkgICogZ3N0L3J0cC9nc3RydHBtcHZkZXBheS5jOiAoZ3N0X3J0cF9tcHZfZGVwYXlfc2V0Y2FwcyksCgkgIChnc3RfcnRwX21wdl9kZXBheV9wcm9jZXNzKToKCSAgQ2xlYW4gdXAgY2FwcyBuZWdvdGlhdGlvbi4KCSAgQWN0dWFsbHkgc2V0IG91dHB1dCBjYXBzLgoJICBObyBuZWVkIHRvIHZhbGlkYXRlIHRoZSBidWZmZXIsIHRoZSBiYXNlIGNsYXNzIGRvZXMgdGhhdCBmb3IgdXMuCgkgICogZ3N0L3J0cC9nc3RydHBtcHZwYXkuYzogKGdzdF9ydHBfbXB2X3BheV9zZXRjYXBzKToKCSAgRG9uJ3QgaWdub3JlIHRoZSByZXR1cm4gdmFsdWUgb2Ygc2V0X291dGNhcHMuCgkgICogZ3N0L3J0cC9nc3RydHBwY21hZGVwYXkuYzogKGdzdF9ydHBfcGNtYV9kZXBheV9zZXRjYXBzKSwKCSAgKGdzdF9ydHBfcGNtYV9kZXBheV9wcm9jZXNzKToKCSAgQ2xlYW4gdXAgY2FwcyBuZWdvdGlhdGlvbi4KCSAgU2V0IG91dHB1dCBidWZmZXIgZHVyYXRpb24gYmVjYXVzZSB3ZSBjYW4uCgkgIFVzZSB0aGUgbWFya2VyIGJpdCB0byBzZXQgdGhlIERJU0NPTlQgZmxhZyBvbiBvdXRnb2luZyBidWZmZXJzLgoJICAqIGdzdC9ydHAvZ3N0cnRwcGNtYXBheS5jOiAoZ3N0X3J0cF9wY21hX3BheV9zZXRjYXBzKToKCSAgRG9uJ3QgaWdub3JlIHRoZSByZXR1cm4gdmFsdWUgb2Ygc2V0X291dGNhcHMuCgkgICogZ3N0L3J0cC9nc3RydHBwY211ZGVwYXkuYzogKGdzdF9ydHBfcGNtdV9kZXBheV9zZXRjYXBzKSwKCSAgKGdzdF9ydHBfcGNtdV9kZXBheV9wcm9jZXNzKToKCSAgQ2xlYW4gdXAgY2FwcyBuZWdvdGlhdGlvbi4KCSAgVXNlIHRoZSBtYXJrZXIgYml0IHRvIHNldCB0aGUgRElTQ09OVCBmbGFnIG9uIG91dGdvaW5nIGJ1ZmZlcnMuCgkgICogZ3N0L3J0cC9nc3RydHBwY211cGF5LmM6IChnc3RfcnRwX3BjbXVfcGF5X3NldGNhcHMpOgoJICBEb24ndCBpZ25vcmUgdGhlIHJldHVybiB2YWx1ZSBvZiBzZXRfb3V0Y2Fwcy4KCSAgKiBnc3QvcnRwL2dzdHJ0cHNwZWV4ZGVwYXkuYzogKGdzdF9ydHBfc3BlZXhfZGVwYXlfaW5pdCksCgkgIChnc3RfcnRwX3NwZWV4X2RlcGF5X3NldGNhcHMpLCAoZ3N0X3J0cF9zcGVleF9kZXBheV9wcm9jZXNzKToKCSAgQ2xlYW4gdXAgY2FwcyBuZWdvdGlhdGlvbi4KCSAgU2V0IG91dHB1dCBjYXBzIG9uIHRoZSBwYWQgYW5kIGhlYWRlciBidWZmZXJzLgoJICBTZXQgZHVyYXRpb24gb24gb3V0cHV0IGJ1ZmZlcnMgYmVjYXVzZSB3ZSBjYW4uCgkgICogZ3N0L3J0cC9nc3RydHBzcGVleHBheS5jOiAoZ3N0X3J0cF9zcGVleF9wYXlfcGFyc2VfaWRlbnQpOgoJICBEb24ndCBpZ25vcmUgdGhlIHJldHVybiB2YWx1ZSBvZiBzZXRfb3V0Y2Fwcy4KCSAgKiBnc3QvcnRwL2dzdHJ0cHN2M3ZkZXBheS5jOiAoZ3N0X3J0cF9zdjN2X2RlcGF5X3NldGNhcHMpLAoJICAoZ3N0X3J0cF9zdjN2X2RlcGF5X3Byb2Nlc3MpOgoJICBDbGVhbiB1cCBjYXBzIG5lZ290aWF0aW9uLgoJICBObyBuZWVkIHRvIHZhbGlkYXRlIHRoZSBidWZmZXIsIHRoZSBiYXNlIGNsYXNzIGRvZXMgdGhhdCBmb3IgdXMuCgkgIE5vIG5lZWQgdG8gc2V0IGNhcHMgb3V0IG91dHB1dCBidWZmZXJzLCBzdWJjbGFzcyBkb2VzIHRoYXQuCgkgICogZ3N0L3J0cC9nc3RydHB0aGVvcmFkZXBheS5jOiAoZ3N0X3J0cF90aGVvcmFfZGVwYXlfc2V0Y2FwcyksCgkgIChnc3RfcnRwX3RoZW9yYV9kZXBheV9wcm9jZXNzKToKCSAgRG9uJ3QgaWdub3JlIHRoZSByZXR1cm4gdmFsdWUgb2Ygc2V0Y2Fwcy4KCSAgTm8gbmVlZCB0byB2YWxpZGF0ZSB0aGUgYnVmZmVyLCB0aGUgYmFzZSBjbGFzcyBkb2VzIHRoYXQgZm9yIHVzLgoJICAqIGdzdC9ydHAvZ3N0cnRwdGhlb3JhcGF5LmM6IChnc3RfcnRwX3RoZW9yYV9wYXlfY2xhc3NfaW5pdCksCgkgIChnc3RfcnRwX3RoZW9yYV9wYXlfZmx1c2hfcGFja2V0KSwgKGVuY29kZV9iYXNlNjQpLAoJICAoZ3N0X3J0cF90aGVvcmFfcGF5X2ZpbmlzaF9oZWFkZXJzKSwgKGdzdF9ydHBfdGhlb3JhX3BheV9wYXJzZV9pZCksCgkgIChnc3RfcnRwX3RoZW9yYV9wYXlfaGFuZGxlX2J1ZmZlcik6CgkgIERvbid0IGlnbm9yZSB0aGUgcmV0dXJuIHZhbHVlIG9mIHNldF9vdXRjYXBzLgoJICAqIGdzdC9ydHAvZ3N0cnRwdm9yYmlzZGVwYXkuYzogKGdzdF9ydHBfdm9yYmlzX2RlcGF5X3NldGNhcHMpLAoJICAoZ3N0X3J0cF92b3JiaXNfZGVwYXlfcHJvY2Vzcyk6CgkgIERvbid0IGlnbm9yZSB0aGUgcmV0dXJuIHZhbHVlIG9mIHNldGNhcHMuCgkgIE5vIG5lZWQgdG8gdmFsaWRhdGUgdGhlIGJ1ZmZlciwgdGhlIGJhc2UgY2xhc3MgZG9lcyB0aGF0IGZvciB1cy4KCSAgKiBnc3QvcnRwL2dzdHJ0cHZvcmJpc3BheS5jOiAoZ3N0X3J0cF92b3JiaXNfcGF5X2ZpbmlzaF9oZWFkZXJzKToKCSAgRG9uJ3QgaWdub3JlIHRoZSByZXR1cm4gdmFsdWUgb2Ygc2V0X291dGNhcHMuCgkgICogZ3N0L3J0cC9nc3RydHB2cmF3ZGVwYXkuYzogKGdzdF9ydHBfdnJhd19kZXBheV9zZXRjYXBzKToKCSAgQ2xlYW4gdXAgY2FwcyBuZWdvdGlhdGlvbiwgZG9uJ3QgaWdub3JlIHNldGNhcHMgcmV0dXJuLgoJICAqIGdzdC9ydHAvZ3N0cnRwdnJhd3BheS5jOiAoZ3N0X3J0cF92cmF3X3BheV9zZXRjYXBzKToKCSAgRG9uJ3QgaWdub3JlIHRoZSByZXR1cm4gdmFsdWUgb2Ygc2V0X291dGNhcHMuCgoyMDA4LTEwLTI3IDEwOjM1OjA3ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6IEZvcndhcmQgdW5rbm93biBldmVudHMgdXBzdHJlYW0uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICAoZ3N0X21hdHJvc2thX2RlbXV4X2hhbmRsZV9zcmNfZXZlbnQpOgoJICBGb3J3YXJkIHVua25vd24gZXZlbnRzIHVwc3RyZWFtLgoKMjAwOC0xMC0yNyAxMDozMzoyMCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2ljeWRlbXV4LmM6IEFkZCBzb21lIHJlZmNvdW50IGNoZWNrCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2ljeWRlbXV4LmM6IChpY3lkZW11eF9mb3VuZF9wYWQpOgoJICBBZGQgc29tZSByZWZjb3VudCBjaGVjawoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cC1wYXlsb2FkaW5nLmM6IChydHBfcGlwZWxpbmVfcnVuKToKCSAgRG9uJ3QgaWdub3JlIHRoZSByZXN1bHQgb2Ygd3JpdGUoKSwgZml4ZXMgYSAgY29tcGlsZXIgd2FybmluZyBmb3IgbWUuCgkgICogdGVzdHMvaWNsZXMvdmlkZW9ib3gtdGVzdC5jOiAobWFpbik6CgkgIE1ha2UgdGhlIG91dHB1dCBhIGxpdHRsZSBtb3JlIHByZXR0eS4KCjIwMDgtMTAtMjcgMDk6MjY6MTkgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGV4dC9lc2QvZXNkbW9uLmM6IEFkZCBkb2MgYmxvYi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2VzZC9lc2Rtb24uYzoKCSAgQWRkIGRvYyBibG9iLgoKMjAwOC0xMC0yNyAwOToyMTo0NCArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZG9jcy9wbHVnaW5zLzogQWRkIHRoZSBkb2NzIG9mIHRoZSBuZXcgZWxlbWVudHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmFyZ3M6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5oaWVyYXJjaHk6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5pbnRlcmZhY2VzOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvZGV0ZWN0LnhtbDoKCSAgQWRkIHRoZSBkb2NzIG9mIHRoZSBuZXcgZWxlbWVudHMuCgoyMDA4LTEwLTI3IDA5OjA0OjM3ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvYXV0b2RldGVjdC86IEZpeCAiU2luY2UiIHRhZ3MgaW4gdGhlIGRvY3VtZW50YXRpb24uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG9hdWRpb3NyYy5jOgoJICAoZ3N0X2F1dG9fYXVkaW9fc3JjX2NsYXNzX2luaXQpOgoJICAqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG92aWRlb3NyYy5jOgoJICAoZ3N0X2F1dG9fdmlkZW9fc3JjX2NsYXNzX2luaXQpOgoJICBGaXggIlNpbmNlIiB0YWdzIGluIHRoZSBkb2N1bWVudGF0aW9uLgoKMjAwOC0xMC0yNyAwOTowMDoyOSArMDAwMCAgU2pvZXJkIFNpbW9ucyA8c2pvZXJkQGx1b24ubmV0PgoKCSAgZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzogQWRkIHN1cHBvcnQgZm9yIHNvdXBodHRwc3JjIHRvIGFjdCBhcyBhIGxpdmUgc291cmNlLiBUaGlzIG1ha2VzIGl0IHBvc3NpYmxlIHRvIGdldCB0aW1lc3RhLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogU2pvZXJkIFNpbW9ucyA8c2pvZXJkIGF0IGx1b24gZG90IG5ldD4KCSAgKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOiAoZ3N0X3NvdXBfaHR0cF9zcmNfY2xhc3NfaW5pdCksCgkgIChnc3Rfc291cF9odHRwX3NyY19zZXRfcHJvcGVydHkpLCAoZ3N0X3NvdXBfaHR0cF9zcmNfZ2V0X3Byb3BlcnR5KToKCSAgQWRkIHN1cHBvcnQgZm9yIHNvdXBodHRwc3JjIHRvIGFjdCBhcyBhIGxpdmUgc291cmNlLiBUaGlzIG1ha2VzIGl0CgkgIHBvc3NpYmxlIHRvIGdldCB0aW1lc3RhbXBlZCBidWZmZXJzIGluIGNvbWJpbmF0aW9uIHdpdGggdGhlCgkgICJkby10aW1lc3RhbXAiIHByb3BlcnR5LiBGaXhlcyBidWcgIzU1NjAxOS4KCjIwMDgtMTAtMjcgMDg6NTQ6MzAgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC9hdXRvZGV0ZWN0LzogSW1wbGVtZW50IHNyYyBwbHVnaW5zLiBMaXR0bGUgY29kZS9zdHJpbmcgY2xlYW51cCBpbiB0aGUgc2lua3MuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdXRvZGV0ZWN0L01ha2VmaWxlLmFtOgoJICAqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG9hdWRpb3NpbmsuYzoKCSAgKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvYXVkaW9zcmMuYzoKCSAgKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvYXVkaW9zcmMuaDoKCSAgKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvZGV0ZWN0LmM6CgkgICogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b3ZpZGVvc2luay5jOgoJICAqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG92aWRlb3NyYy5jOgoJICAqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG92aWRlb3NyYy5oOgoJICBJbXBsZW1lbnQgc3JjIHBsdWdpbnMuIExpdHRsZSBjb2RlL3N0cmluZyBjbGVhbnVwIGluIHRoZSBzaW5rcy4KCSAgRml4ZXMgIzUyMzgxMy4KCjIwMDgtMTAtMjcgMDg6NDU6MTEgKzAwMDAgIFBldGVyIEtqZWxsZXJzdGVkdCA8cGtqQGF4aXMuY29tPgoKCSAgZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOiBGaXggYSBtZW1vcnkgbGVhayB3aGVuIHBhZHMgYXJlIHJlcXVlc3RlZCBidXQgdGhlIHBpcGVsaW5lIG5ldmVyIGdvZXMgaW50byBQTEFZSU5HLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFBldGVyIEtqZWxsZXJzdGVkdCA8cGtqIGF0IGF4aXMgY29tPgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzogKGdzdF9tYXRyb3NrYV9tdXhfcmVzZXQpLAoJICAoZ3N0X21hdHJvc2thX211eF9yZXF1ZXN0X25ld19wYWQpLCAoZ3N0X21hdHJvc2thX211eF9yZWxlYXNlX3BhZCk6CgkgIEZpeCBhIG1lbW9yeSBsZWFrIHdoZW4gcGFkcyBhcmUgcmVxdWVzdGVkIGJ1dCB0aGUgcGlwZWxpbmUgbmV2ZXIKCSAgZ29lcyBpbnRvIFBMQVlJTkcuCgkgIENvcnJlY3RseSByZW1vdmUgcmVxdWVzdCBwYWRzLCBubyBtYXR0ZXIgaWYgdGhleSBoYXZlIGNvbGxlY3RlZAoJICBkYXRhIG9yIG5vdC4KCSAgRml4ZXMgYnVnICM1NTc3MTAuCgoyMDA4LTEwLTI3IDA4OjQwOjAyICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvdWRwL2dzdHVkcG5ldHV0aWxzLmg6IERlZmluZSB0aGUgY29ycmVjdCBXSU5WRVIgc28gZ2V0YWRkaW5mbygpIGNhbiBiZSB1c2VkIHdoZW4gdXNpbmcgbWluZ3czMi4gRml4ZXMgYnVnICM1NTcyOTQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogPGxybjE5ODYgYXQgZ21haWwgZG90IGNvbT4KCSAgKiBnc3QvdWRwL2dzdHVkcG5ldHV0aWxzLmg6CgkgIERlZmluZSB0aGUgY29ycmVjdCBXSU5WRVIgc28gZ2V0YWRkaW5mbygpIGNhbiBiZSB1c2VkIHdoZW4gdXNpbmcKCSAgbWluZ3czMi4gRml4ZXMgYnVnICM1NTcyOTQuCgoyMDA4LTEwLTI3IDA4OjM2OjQzICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvdWRwLzogRml4ICJhcmd1bWVudCB0eXBlIG1pc21hdGNoIiBjb21waWxlciB3YXJuaW5ncyBvbiBXaW5kb3dzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IDxscm4xOTg2IGF0IGdtYWlsIGRvdCBjb20+CgkgICogZ3N0L3VkcC9nc3RkeW51ZHBzaW5rLmM6IChnc3RfZHludWRwc2lua19yZW5kZXIpOgoJICAqIGdzdC91ZHAvZ3N0bXVsdGl1ZHBzaW5rLmM6IChnc3RfbXVsdGl1ZHBzaW5rX3JlbmRlcik6CgkgICogZ3N0L3VkcC9nc3R1ZHBzcmMuYzogKGdzdF91ZHBzcmNfY3JlYXRlKToKCSAgRml4ICJhcmd1bWVudCB0eXBlIG1pc21hdGNoIiBjb21waWxlciB3YXJuaW5ncyBvbiBXaW5kb3dzLgoJICBGaXhlcyBidWcgIzU1NzI5My4KCjIwMDgtMTAtMjcgMDg6MzA6NTEgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyLmM6IERvbid0IGNhbGN1bGF0ZSB0aGUgZmlsdGVyIGNvZWZmaWNpZW50cyBmb3IgZXZlcnkgc2luZ2xlIGJ1ZmZlciBidXQgb25seSB3aGVuIGl0J3Mgbi4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplci5jOiAodXBkYXRlX2NvZWZmaWNpZW50cyk6CgkgIERvbid0IGNhbGN1bGF0ZSB0aGUgZmlsdGVyIGNvZWZmaWNpZW50cyBmb3IgZXZlcnkgc2luZ2xlIGJ1ZmZlcgoJICBidXQgb25seSB3aGVuIGl0J3MgbmVlZGVkLiBGaXhlcyBidWcgIzU1NzI2MC4KCjIwMDgtMTAtMjYgMjA6MDU6NDMgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgY29uZmlndXJlLmFjOiBCYWNrIHRvIGRldmVsb3BtZW50IC0+IDAuMTAuMTEuMQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIEJhY2sgdG8gZGV2ZWxvcG1lbnQgLT4gMC4xMC4xMS4xCgoyMDA4LTEwLTI2IDIwOjA0OjIxICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGdzdC1wbHVnaW5zLWdvb2QuZG9hcDogRml4IHZlcnNpb24gbnVtYmVyIG9mIDAuMTAuMTEgcmVsZWFzZSBpbiBkb2FwIGZpbGUKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0LXBsdWdpbnMtZ29vZC5kb2FwOgoJICBGaXggdmVyc2lvbiBudW1iZXIgb2YgMC4xMC4xMSByZWxlYXNlIGluIGRvYXAgZmlsZQoKPT09IHJlbGVhc2UgMC4xMC4xMSA9PT0KCjIwMDgtMTAtMjQgMjI6NDE6MTggKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSogQ2hhbmdlTG9nOgoJKiBORVdTOgoJKiBSRUxFQVNFOgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaW50ZXJmYWNlczoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLTEzOTQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWFzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGFjb2xvci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbm5vZGV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFwZXRhZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb2Z4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2RldGVjdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdmkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FjYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2Fpcm8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY3V0dGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZW5jZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmZlY3R2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVxdWFsaXplci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lc2RzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx4ZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdhbW1hLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdjb25mZWxlbWVudHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2RrcGl4YnVmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbTJrMS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1oYWxlbGVtZW50cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pY3lkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pZDNkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlcmxlYXZlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwZWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGV2ZWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWF0cm9za2EueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW9ub3Njb3BlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpZmlsZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aXBhcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmF2aWdhdGlvbnRlc3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5nLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXB1bHNlYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcXVpY2t0aW1lLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlcGxheWdhaW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0c3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hvdXQyc2VuZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbXB0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWN0cnVtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXRhZ2xpYi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi11ZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW80bGludXgyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvYmFsYW5jZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2JveC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2Nyb3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9mbGlwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvbWl4ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2ZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teGltYWdlc3JjLnhtbDoKCSogZ3N0LXBsdWdpbnMtZ29vZC5kb2FwOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIFJlbGVhc2UgMC4xMC4xMQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUmVsZWFzZSAwLjEwLjExCgoyMDA4LTEwLTI0IDIyOjIwOjQ3ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkqIHBvL2FmLnBvOgoJKiBwby9hei5wbzoKCSogcG8vYmcucG86CgkqIHBvL2NhLnBvOgoJKiBwby9jcy5wbzoKCSogcG8vZGEucG86CgkqIHBvL2VuX0dCLnBvOgoJKiBwby9lcy5wbzoKCSogcG8vZXUucG86CgkqIHBvL2ZpLnBvOgoJKiBwby9mci5wbzoKCSogcG8vaHUucG86CgkqIHBvL2lkLnBvOgoJKiBwby9pdC5wbzoKCSogcG8vamEucG86CgkqIHBvL2x0LnBvOgoJKiBwby9uYi5wbzoKCSogcG8vbmwucG86CgkqIHBvL29yLnBvOgoJKiBwby9wbC5wbzoKCSogcG8vcHRfQlIucG86CgkqIHBvL3J1LnBvOgoJKiBwby9zay5wbzoKCSogcG8vc3EucG86CgkqIHBvL3NyLnBvOgoJKiBwby9zdi5wbzoKCSogcG8vdWsucG86CgkqIHBvL3ZpLnBvOgoJKiBwby96aF9DTi5wbzoKCSogcG8vemhfSEsucG86CgkqIHBvL3poX1RXLnBvOgoJICBVcGRhdGUgLnBvIGZpbGVzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBVcGRhdGUgLnBvIGZpbGVzCgoyMDA4LTEwLTI0IDE2OjMwOjUzICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGNvbmZpZ3VyZS5hYzogQ29tbWl0IDAuMTAuMTAuNCBwcmUtcmVsZWFzZQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIENvbW1pdCAwLjEwLjEwLjQgcHJlLXJlbGVhc2UKCjIwMDgtMTAtMjEgMTI6NDI6NDUgKzAwMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSAgZ3N0L2F2aS9nc3RhdmltdXguYzogRml4IFZQUlAgY2h1bmsgc2V0dXAgaW4gYXZpbXV4LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXZpL2dzdGF2aW11eC5jOgoJICBGaXggVlBSUCBjaHVuayBzZXR1cCBpbiBhdmltdXguCgkgIEZpeGVzOiAjNTU2MDEwCgkgIFBhdGNoIEJ5OiBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCjIwMDgtMTAtMjEgMTI6Mzg6MzUgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJICBnc3QvdmlkZW9ib3gvZ3N0dmlkZW9ib3guYzogc3VwcG9ydCBkeW5hbWljYWxseSBjaGFuZ2luZyBwcm9wZXJ0aWVzIGluIHZpZGVvYm94CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC92aWRlb2JveC9nc3R2aWRlb2JveC5jOgoJICBzdXBwb3J0IGR5bmFtaWNhbGx5IGNoYW5naW5nIHByb3BlcnRpZXMgaW4gdmlkZW9ib3gKCSAgRml4ZWQ6ICM1NTcwODUKCSAgUGF0Y2ggQnk6IFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoyMDA4LTEwLTE2IDE3OjEwOjQyICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGNvbmZpZ3VyZS5hYzogMC4xMC4xMC4zIHByZS1yZWxlYXNlCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgMC4xMC4xMC4zIHByZS1yZWxlYXNlCgoyMDA4LTEwLTE2IDE1OjMwOjIyICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOiBEb24ndCBydW4gdGhlIHN0YXRlcyB0ZXN0IG9uIHB1bHNlc3JjIGFuZCBwdWxzZXNpbmsKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgIERvbid0IHJ1biB0aGUgc3RhdGVzIHRlc3Qgb24gcHVsc2VzcmMgYW5kIHB1bHNlc2luawoKMjAwOC0xMC0xNiAxMTo1Mjo0NCArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBjb25maWd1cmUuYWM6IENvbW1pdCAwLjEwLjEwLjIgcHJlLXJlbGVhc2UgYnVtcCB0aGF0IGFjdHVhbGx5IHdlbnQgb3V0IG9uIDIwMDgtMTAtMTEKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICBDb21taXQgMC4xMC4xMC4yIHByZS1yZWxlYXNlIGJ1bXAgdGhhdCBhY3R1YWxseSB3ZW50CgkgIG91dCBvbiAyMDA4LTEwLTExCgoyMDA4LTEwLTE1IDE1OjQyOjI5ICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgZ3N0L2F2aS9nc3RhdmlkZW11eC5jOiBTa2lwIGVudHJpZXMgZm9yIHN0cmVhbXMgdGhhdCBkb24ndCBoYXZlIGEgb3V0cHV0IHBhZCB5ZXQsIHRoZXJlYnkgYXZvaWRpbmcgY2FsbGluZyBwYWQgZnVuY3RpLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzogKGdzdF9hdmlfZGVtdXhfc3RyZWFtX3NjYW4pOgoJICBTa2lwIGVudHJpZXMgZm9yIHN0cmVhbXMgdGhhdCBkb24ndCBoYXZlIGEgb3V0cHV0IHBhZCB5ZXQsIHRoZXJlYnkKCSAgYXZvaWRpbmcgY2FsbGluZyBwYWQgZnVuY3Rpb25zIHdpdGggYSBOVUxMIHBhZC4KCSAgRml4ZXMgIzU1NjQyNAoKMjAwOC0xMC0xNSAwOTozOToyNyArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogUmVtb3ZlIHByZXZpb3VzIHdyb25nIGNvbW1pdAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IFJlbW92ZSBwcmV2aW91cyB3cm9uZyBjb21taXQKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9pY3lkZW11eC5jOiAoaWN5ZGVtdXhfZm91bmRfcGFkKToKCSAgUmVtb3ZlIHByb2JsZW1hdGljIGFuZCB1c2VsZXNzIHJlZmNvdW50IGNoZWNrLgoJICBGaXhlcyAjNTU2MzgxCgoyMDA4LTEwLTE1IDA5OjI3OjI3ICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBSZW1vdmUgcHJvYmxlbWF0aWMgYW5kIHVzZWxlc3MgcmVmY291bnQgY2hlY2suCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKHF0ZGVtdXhfcGFyc2Vfbm9kZSk6CgkgIFJlbW92ZSBwcm9ibGVtYXRpYyBhbmQgdXNlbGVzcyByZWZjb3VudCBjaGVjay4KCSAgRml4ZXMgIzU1NjM4MQoKMjAwOC0xMC0xMCAxMjoyODozNCArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBleHQvZmxhYy86IENhc3Qgc29tZSBzaXplX3QgYXJndW1lbnRzIHRvIGd1aW50IHRvIGF2b2lkIGNvbXBpbGVyIHdhcm5pbmdzIG9uIDY0LWJpdCBzeXN0ZW1zLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZmxhYy9nc3RmbGFjZGVjLmMgKGdzdF9mbGFjX2RlY19yZWFkX3N0cmVhbSk6CgkgICogZXh0L2ZsYWMvZ3N0ZmxhY2VuYy5jIChnc3RfZmxhY19lbmNfd3JpdGVfY2FsbGJhY2spOgoJICBDYXN0IHNvbWUgc2l6ZV90IGFyZ3VtZW50cyB0byBndWludCB0byBhdm9pZCBjb21waWxlcgoJICB3YXJuaW5ncyBvbiA2NC1iaXQgc3lzdGVtcy4KCjIwMDgtMTAtMDkgMTQ6Mjc6MTIgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IFJldHVybiBUUlVFIGluc3RlYWQgb2YgRkFMU0UgZnJvbSB0aGUgZXZlbnQgaGFuZGxlciB3aGVuIHdlIHN3YWxsb3dlZCB0aGUgZXZlbnQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogKGdzdF9ydHNwc3JjX2hhbmRsZV9zcmNfZXZlbnQpOgoJICBSZXR1cm4gVFJVRSBpbnN0ZWFkIG9mIEZBTFNFIGZyb20gdGhlIGV2ZW50IGhhbmRsZXIgd2hlbiB3ZSBzd2FsbG93ZWQgdGhlCgkgIGV2ZW50LgoKMjAwOC0xMC0wOCAxNTo1OTo1NiArMDAwMCAgQ2hyaXN0aWFuIFNjaGFsbGVyIDx1cmFldXNAZ25vbWUub3JnPgoKCSogZ3N0LXBsdWdpbnMtZ29vZC5zcGVjLmluOgoJICByZW1vdmUgb2xkIENESU8gcGx1Z2luIG5vdyBpbiB1Z2x5CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICByZW1vdmUgb2xkIENESU8gcGx1Z2luIG5vdyBpbiB1Z2x5CgoyMDA4LTEwLTA4IDE0OjQ3OjE0ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L2F2aS9nc3RhdmlkZW11eC5jOiBSZXNldCBoZWFkZXIgc3RhdGUuIEZpeGVzICM1NTUzMjEuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzogKGdzdF9hdmlfZGVtdXhfcmVzZXQpLAoJICAoZ3N0X2F2aV9kZW11eF9wYXJzZV9zdWJpbmRleCksIChnc3RfYXZpX2RlbXV4X3BhcnNlX2luZGV4KToKCSAgUmVzZXQgaGVhZGVyIHN0YXRlLiBGaXhlcyAjNTU1MzIxLgoKMjAwOC0xMC0wOCAxMzozMTo0NCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9hdmkvZ3N0YXZpZGVtdXguKjogRm9yIHRpbWVzdGFtcGluZyBhdWRpbyBwYWNrZXRzIHdlIG5lZWQgdG8gdGFrZSBpbnRvIGFjY291bnQgdGhlIGFtb3VudCBvZiBibG9ja3MgaW4gb25lIGVudHJ5IC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6IChnc3RfYXZpX2RlbXV4X3BhcnNlX3N1YmluZGV4KSwKCSAgKGdzdF9hdmlfZGVtdXhfcGFyc2Vfc3RyZWFtKSwgKGdzdF9hdmlfZGVtdXhfcGFyc2VfaW5kZXgpOgoJICAqIGdzdC9hdmkvZ3N0YXZpZGVtdXguaDoKCSAgRm9yIHRpbWVzdGFtcGluZyBhdWRpbyBwYWNrZXRzIHdlIG5lZWQgdG8gdGFrZSBpbnRvIGFjY291bnQgdGhlCgkgIGFtb3VudCBvZiBibG9ja3MgaW4gb25lIGVudHJ5IHVzaW5nIHRoZSBibG9ja2FsaWduLiBGaXhlcyBzb21lIHN5bmMKCSAgaXNzdWVzIHdpdGggemVyby1wYWRkZWQgYXVkaW8gYmxvY2tzIGluIHRoZSBiZWdpbm5pbmcgb2YgYXZpIGZpbGVzLgoKMjAwOC0xMC0wOCAxMDo0MjoyNiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9tdWx0aWZpbGUvZ3N0bXVsdGlmaWxlc3JjLmM6IEltcGxlbWVudCBERUZBVUxUIGFuZCBCVUZGRVIgcG9zaXRpb24gcXVlcmllcy4gU2VlICM1NTUyNjAuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tdWx0aWZpbGUvZ3N0bXVsdGlmaWxlc3JjLmM6IChnc3RfbXVsdGlfZmlsZV9zcmNfY2xhc3NfaW5pdCksCgkgIChnc3RfbXVsdGlfZmlsZV9zcmNfcXVlcnkpOgoJICBJbXBsZW1lbnQgREVGQVVMVCBhbmQgQlVGRkVSIHBvc2l0aW9uIHF1ZXJpZXMuIFNlZSAjNTU1MjYwLgoKMjAwOC0xMC0wOCAwOToyOTowMCArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIHN5cy94aW1hZ2UvZ3N0eGltYWdlc3JjLmM6IEZpeCBidWlsZCBmb3Igc3lzdGVtcyB0aGF0IGRvbid0IGhhdmUgWERhbWFnZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL3hpbWFnZS9nc3R4aW1hZ2VzcmMuYzogKGdzdF94aW1hZ2Vfc3JjX3N0b3ApOgoJICBGaXggYnVpbGQgZm9yIHN5c3RlbXMgdGhhdCBkb24ndCBoYXZlIFhEYW1hZ2UuCgoyMDA4LTEwLTA3IDA5OjU4OjEzICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgdGVzdHMvZXhhbXBsZXMvcnRwLzogQWRkIHNvbWUgbW9yZSBIMjYzcCBzZXJ2ZXIgYW5kIGNsaWVudCBleGFtcGxlcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvZXhhbXBsZXMvcnRwL2NsaWVudC1IMjYzcC5zZHA6CgkgICogdGVzdHMvZXhhbXBsZXMvcnRwL2NsaWVudC1IMjYzcC5zaDoKCSAgKiB0ZXN0cy9leGFtcGxlcy9ydHAvc2VydmVyLVZUUy1IMjYzcC5zaDoKCSAgQWRkIHNvbWUgbW9yZSBIMjYzcCBzZXJ2ZXIgYW5kIGNsaWVudCBleGFtcGxlcy4KCjIwMDgtMTAtMDMgMTc6MDM6MDcgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBjb25maWd1cmUuYWM6IERlcGVuZCBvbiByZWxlYXNlZCB2ZXJzaW9ucyBvZiBjb3JlIGFuZCBiYXNlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6OgoJICBEZXBlbmQgb24gcmVsZWFzZWQgdmVyc2lvbnMgb2YgY29yZSBhbmQgYmFzZS4KCjIwMDgtMTAtMDMgMTY6MTM6MzIgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBleHQvcHVsc2UvOiBSZXR1cm4gLTEgaW5zdGVhZCBvZiAwIGluIGVycm9yIGNhc2VzLiBGaXhlcyAjNTU0NzcxLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6IChnc3RfcHVsc2VzaW5rX3dyaXRlKToKCSAgKiBleHQvcHVsc2UvcHVsc2VzcmMuYzogKGdzdF9wdWxzZXNyY19yZWFkKToKCSAgUmV0dXJuIC0xIGluc3RlYWQgb2YgMCBpbiBlcnJvciBjYXNlcy4gRml4ZXMgIzU1NDc3MS4KCjIwMDgtMTAtMDMgMTU6NTQ6MDcgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBzeXMveGltYWdlL2dzdHhpbWFnZXNyYy5jOiBTdG9wIGxlYWtpbmcgdGhlIGN1cnNvciBpbWFnZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL3hpbWFnZS9nc3R4aW1hZ2VzcmMuYzogKGdzdF94aW1hZ2Vfc3JjX3N0YXJ0KSwKCSAgKGdzdF94aW1hZ2Vfc3JjX3N0b3ApLCAoZ3N0X3hpbWFnZV9zcmNfeGltYWdlX2dldCk6CgkgIFN0b3AgbGVha2luZyB0aGUgY3Vyc29yIGltYWdlLgoJICBVbnJlZiB0aGUgbGFzdF94aW1hZ2UgYW5kIHRoZSBjYWNoZWQgY3Vyc29yIGltYWdlIG9uIHNodXRkb3duLgoJICBGaXhlcyAjNTUxNTcwLgoKMjAwOC0xMC0wMyAxMTozMjo0NyArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuaDogR2V0dGluZyB0aGUgQ2xhc3MgZnJvbSBhbiBpbnN0YW5jZSBpcyBub3QganVzdCBhIG1hdHRlciBvZiBjYXN0aW5nIGl0IHRvIHRoZSBjbGFzcyBzdHJ1Y3QgYi4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0Lmg6CgkgIEdldHRpbmcgdGhlIENsYXNzIGZyb20gYW4gaW5zdGFuY2UgaXMgbm90IGp1c3QgYSBtYXR0ZXIgb2YgY2FzdGluZyBpdCB0bwoJICB0aGUgY2xhc3Mgc3RydWN0IGJ1dCBpdCBpbnZvbHZlcyBjYWxsaW5nIEdfT0JKRUNUX0dFVF9DTEFTUyBvbiB0aGUKCSAgaW5zdGFuY2UuIEZpeGVzICM1NDk3ODQuCgoyMDA4LTEwLTAxIDIxOjIyOjI2ICswMDAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAeGlwaC5vcmc+CgoJICBjb25maWd1cmUuYWM6IEZpeCBsaWJzIGZvciBsaW5raW5nIGRpcmVjdHNvdW5kLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIEZpeCBsaWJzIGZvciBsaW5raW5nIGRpcmVjdHNvdW5kLgoJICAqIHN5cy9kaXJlY3Rzb3VuZC9nc3RkaXJlY3Rzb3VuZHNpbmsuYzoKCSAgRml4IGJ1ZmZlciBzaXppbmcgdG8gcHJldmVudCByYWNpbmcgdGhlIHJpbmdidWZmZXIgYXQgc3RhcnR1cC4KCSAgQWRkIHZvbHVtZSBwcm9wZXJ0eS4KCjIwMDgtMDktMjcgMDA6NDM6MDcgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgZXh0L3B1bHNlL3B1bHNlc2luay5jOiBGaXggcHJvYmxlbXMgd2l0aCBwdWxzZXNpbmsgcmFuZG9tbHkgZXJyb3Jpbmcgd2l0aCBjb2RlICdPSycgYWZ0ZXIgYSBmb3JtYXQgY2hhbmdlIG9uIHRoZSBzdHJlLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzoKCSAgRml4IHByb2JsZW1zIHdpdGggcHVsc2VzaW5rIHJhbmRvbWx5IGVycm9yaW5nIHdpdGggY29kZSAnT0snIGFmdGVyIGEKCSAgZm9ybWF0IGNoYW5nZSBvbiB0aGUgc3RyZWFtIGJ5IHdhaXRpbmcgd2hlbiBkaXNjb25uZWN0aW5nIHRoZSBzdHJlYW0uCgoyMDA4LTA5LTI2IDE0OjQ0OjQ5ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cC9nc3RydHBhbXJkZXBheS5jOiBNYXJrIERJU0NPTlQgb24gb3V0cHV0IGJ1ZmZlcnMgd2hlbiB0aGUgbWFya2VyIGJpdCBzaWduYWxzIGEgbmV3IHRhbGsgc3B1cnQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHAvZ3N0cnRwYW1yZGVwYXkuYzogKGdzdF9ydHBfYW1yX2RlcGF5X2NsYXNzX2luaXQpLAoJICAoZ3N0X3J0cF9hbXJfZGVwYXlfcHJvY2Vzcyk6CgkgIE1hcmsgRElTQ09OVCBvbiBvdXRwdXQgYnVmZmVycyB3aGVuIHRoZSBtYXJrZXIgYml0IHNpZ25hbHMgYSBuZXcgdGFsawoJICBzcHVydC4KCSAgKiBnc3QvcnRwL2dzdHJ0cGFtcnBheS5jOiAoZ3N0X3J0cF9hbXJfcGF5X2hhbmRsZV9idWZmZXIpOgoJICBTZXQgdGhlIG1hcmtlciBiaXQgZm9yIGJ1ZmZlcnMgd2l0aCBhIERJU0NPTlQgZmxhZyB0byBzaWduYWwgYSB0YWxrCgkgIHNwdXJ0LgoKMjAwOC0wOS0yNiAxMzo1NTo0OCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHAvOiBBZGRlZCBNUDRBLUxBVE0gcGF5bG9hZGVyIHRvIG1hdGNoIHRoZSBkZXBheWxvYWRlci4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvcnRwL2dzdHJ0cC5jOiAocGx1Z2luX2luaXQpOgoJICAqIGdzdC9ydHAvZ3N0cnRwbXA0YXBheS5jOiAoZ3N0X3J0cF9tcDRhX3BheV9nZXRfdHlwZSksCgkgIChnc3RfcnRwX21wNGFfcGF5X2Jhc2VfaW5pdCksIChnc3RfcnRwX21wNGFfcGF5X2NsYXNzX2luaXQpLAoJICAoZ3N0X3J0cF9tcDRhX3BheV9pbml0KSwgKGdzdF9ydHBfbXA0YV9wYXlfZmluYWxpemUpLAoJICAoZ3N0X3J0cF9tcDRhX3BheV9wYXJzZV9hdWRpb19jb25maWcpLCAoZ3N0X3J0cF9tcDRhX3BheV9uZXdfY2FwcyksCgkgIChnc3RfcnRwX21wNGFfcGF5X3NldGNhcHMpLCAoZ3N0X3J0cF9tcDRhX3BheV9oYW5kbGVfYnVmZmVyKSwKCSAgKGdzdF9ydHBfbXA0YV9wYXlfY2hhbmdlX3N0YXRlKSwgKGdzdF9ydHBfbXA0YV9wYXlfcGx1Z2luX2luaXQpOgoJICAqIGdzdC9ydHAvZ3N0cnRwbXA0YXBheS5oOgoJICBBZGRlZCBNUDRBLUxBVE0gcGF5bG9hZGVyIHRvIG1hdGNoIHRoZSBkZXBheWxvYWRlci4KCjIwMDgtMDktMjUgMTU6MTE6MTYgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvdmlkZW9taXhlci92aWRlb21peGVyLmM6IEhhbmRsZSBzZWdtZW50cyBhIGxpdHRsZSBiZXR0ZXIuIEZpeGVzICM1MzczNjEuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIuYzogKGdzdF92aWRlb21peGVyX2ZpbGxfcXVldWVzKSwKCSAgKGdzdF92aWRlb21peGVyX3NpbmtfZXZlbnQpOgoJICBIYW5kbGUgc2VnbWVudHMgYSBsaXR0bGUgYmV0dGVyLiBGaXhlcyAjNTM3MzYxLgoKMjAwOC0wOS0yNSAxMjowNzo0NiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogRG9uJ3QgYXNzdW1lIHRoZSBzZXJ2ZXIgc3VwcG9ydHMgUEFVU0UgYnkgZGVmYXVsdC4gRml4ZXMgIzU1MTA0OC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiAoZ3N0X3J0c3BzcmNfcGFyc2VfbWV0aG9kcyk6CgkgIERvbid0IGFzc3VtZSB0aGUgc2VydmVyIHN1cHBvcnRzIFBBVVNFIGJ5IGRlZmF1bHQuIEZpeGVzICM1NTEwNDguCgoyMDA4LTA5LTI1IDExOjMwOjM1ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3VkcC9nc3R1ZHBzcmMuYzogU3dpdGNoIG9uIHRoZSBzb2NrZXQgZmFtaWx5IHRvIGdldCB0aGUgYWRkcmxlbiBzaXplIHJpZ2h0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvdWRwL2dzdHVkcHNyYy5jOiAoZ3N0X3VkcHNyY19jbGFzc19pbml0KSwKCSAgKGdzdF91ZHBzcmNfc2V0X3VyaSksIChnc3RfdWRwc3JjX3N0YXJ0KToKCSAgU3dpdGNoIG9uIHRoZSBzb2NrZXQgZmFtaWx5IHRvIGdldCB0aGUgYWRkcmxlbiBzaXplIHJpZ2h0LgoKMjAwOC0wOS0yNSAxMDozNDozOSArMDAwMCAgRGFuaWVsIEZyYW5rZSA8ZGZAZGZyYW5rZS51cz4KCgkgIGdzdC91ZHAvZ3N0dWRwc3JjLmM6IE9TIFgncyBiaW5kKCkgaW1wbGVtZW50YXRpb24gaXMgcGlja3kgYWJvdXQgaXRzIGFkZHJsZW4gcGFyYW1ldGVyIGFuZCBmYWlscyB3aXRoIEVJTlZBTCBpZiBpdCBpcy4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IERhbmllbCBGcmFua2UgPGRmIGF0IGRmcmFua2UgZG90IHVzPgoJICAqIGdzdC91ZHAvZ3N0dWRwc3JjLmM6IChnc3RfdWRwc3JjX2NyZWF0ZSksIChnc3RfdWRwc3JjX3N0YXJ0KToKCSAgT1MgWCdzIGJpbmQoKSBpbXBsZW1lbnRhdGlvbiBpcyBwaWNreSBhYm91dCBpdHMgYWRkcmxlbiBwYXJhbWV0ZXIgYW5kCgkgIGZhaWxzIHdpdGggRUlOVkFMIGlmIGl0IGlzIGxhcmdlciB0aGFuIGV4cGVjdGVkIGZvciB0aGUgc29ja2V0J3MgYWRkcmVzcwoJICBmYW1pbHkuIFNldCB0aGUgbGVuZ3RoIHRvIHRoZSBleHBlY3RlZCBsZW5ndGggaW5zdGVhZC4gRml4ZXMgIzU1MzE5MS4KCjIwMDgtMDktMjMgMTg6MDg6NTYgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IEhhbmRsZSB0aGUgY2FzZSB3aGVyZSB3ZSBjYW5ub3QgZG8gZGVzcmliZSBvciB3aGVuIHRoZSBkZXNjcmliZSByZXN1bHQgZG9lcyBub3QgY29udGFpbiBhIHZhbGkuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiAoZ3N0X3J0c3BzcmNfb3Blbik6CgkgIEhhbmRsZSB0aGUgY2FzZSB3aGVyZSB3ZSBjYW5ub3QgZG8gZGVzcmliZSBvciB3aGVuIHRoZSBkZXNjcmliZSByZXN1bHQKCSAgZG9lcyBub3QgY29udGFpbiBhIHZhbGlkIFNEUCBtZXNzYWdlLgoKMjAwOC0wOS0yMyAxNzozMToyMiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC91ZHAvZ3N0bXVsdGl1ZHBzaW5rLmM6IEZpeCBzZXR0aW5nIHRoZSBxb3MuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC91ZHAvZ3N0bXVsdGl1ZHBzaW5rLmM6IChnc3RfbXVsdGl1ZHBzaW5rX3NldF9wcm9wZXJ0eSk6CgkgIEZpeCBzZXR0aW5nIHRoZSBxb3MuCgoyMDA4LTA5LTE3IDE0OjUwOjQyICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBTb21lICdicm9rZW4nIGZpbGVzIG91dCB0aGVyZSBoYXZlIGF0b20gbGVuZ3RocyBvZiB6ZXJvLi4uIHdoaWNoIGJhc2ljYWxseSByZXN1bHRzIGluIHF0ZGVtdXggLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKGdzdF9xdGRlbXV4X2xvb3Bfc3RhdGVfaGVhZGVyKSwKCSAgKGdzdF9xdGRlbXV4X2NoYWluKToKCSAgU29tZSAnYnJva2VuJyBmaWxlcyBvdXQgdGhlcmUgaGF2ZSBhdG9tIGxlbmd0aHMgb2YgemVyby4uLgoJICB3aGljaCBiYXNpY2FsbHkgcmVzdWx0cyBpbiBxdGRlbXV4IGNvbnN1bWluZyB0aGF0IGF0b20gYWdhaW4gYW5kIGFnYWluCgkgIHVudGlsIHRoZSAqZW5kIG9mIG5pZ2h0KiAhCgkgIERldGVjdCB0aGF0IGFuZCBlbWl0cyBhbiBhZGVxdWF0ZSBlbGVtZW50IGVycm9yIG1lc3NhZ2UuCgoyMDA4LTA5LTE3IDEzOjQ5OjA0ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGdzdC86IEZpeCBidWlsZCBmbGFncyBvcmRlci4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2ludGVybGVhdmUvTWFrZWZpbGUuYW06CgkgICogZ3N0L21hdHJvc2thL01ha2VmaWxlLmFtOgoJICBGaXggYnVpbGQgZmxhZ3Mgb3JkZXIuCgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvYXVkaW9hbXBsaWZ5LmM6IChHU1RfU1RBUlRfVEVTVCk6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvYXVkaW9keW5hbWljLmM6IChHU1RfU1RBUlRfVEVTVCk6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvYXVkaW9pbnZlcnQuYzogKEdTVF9TVEFSVF9URVNUKToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdWRpb3Bhbm9yYW1hLmM6IChHU1RfU1RBUlRfVEVTVCk6CgkgIEZvcm1hdCBmaXhlcy4KCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9tdWx0aWZpbGUuYzoKCSAgUHVsbCBpbiB1bmlzdGQuaAoKMjAwOC0wOS0xNSAyMToxMDoyMyArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHAvZ3N0cnRwbXA0Z2RlcGF5Lio6IEhhbmRsZSBpbnRlcmxlYXZlZCBzdHJlYW1zIGJ5IHJlb3JkZXJpbmcgQVUgaW4gYSBxdWV1ZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cC9nc3RydHBtcDRnZGVwYXkuYzogKGdzdF9ydHBfbXA0Z19kZXBheV9pbml0KSwKCSAgKGdzdF9ydHBfbXA0Z19kZXBheV9maW5hbGl6ZSksIChnc3RfcnRwX21wNGdfZGVwYXlfc2V0Y2FwcyksCgkgIChnc3RfcnRwX21wNGdfZGVwYXlfY2xlYXJfcXVldWUpLCAoZ3N0X3J0cF9tcDRnX2RlcGF5X2ZsdXNoX3F1ZXVlKSwKCSAgKGdzdF9ydHBfbXA0Z19kZXBheV9xdWV1ZSksIChnc3RfcnRwX21wNGdfZGVwYXlfcHJvY2VzcyksCgkgIChnc3RfcnRwX21wNGdfZGVwYXlfY2hhbmdlX3N0YXRlKToKCSAgKiBnc3QvcnRwL2dzdHJ0cG1wNGdkZXBheS5oOgoJICBIYW5kbGUgaW50ZXJsZWF2ZWQgc3RyZWFtcyBieSByZW9yZGVyaW5nIEFVIGluIGEgcXVldWUuCgoyMDA4LTA5LTE1IDE2OjA0OjI2ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cC9nc3RydHBtcDRnZGVwYXkuYzogQ2hhbmdlIHNvbWUgb2YgdGhlIHJhbmdlcyBpbiB0aGUgY2FwcywgbW9zdGx5IGZvciB0aGUgYW1vdW50IG9mIGJpdHMgd2UgY2FuIHVzZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cC9nc3RydHBtcDRnZGVwYXkuYzogKGdzdF9ic19wYXJzZV9pbml0KSwKCSAgKGdzdF9ic19wYXJzZV9yZWFkKSwgKGdzdF9ydHBfbXA0Z19kZXBheV9wcm9jZXNzKToKCSAgQ2hhbmdlIHNvbWUgb2YgdGhlIHJhbmdlcyBpbiB0aGUgY2FwcywgbW9zdGx5IGZvciB0aGUgYW1vdW50IG9mIGJpdHMgd2UKCSAgY2FuIHVzZS4KCSAgQWRkZWQgYSBsaXR0bGUgYml0c3RyZWFtIHBhcnNlIGFuZCB1c2UgaXQgdG8gcGFyc2UgdGhlIEFVIGhlYWRlciBmaWVsZHMuCgkgIENoZWNrIGZvciBtYWxmb3JtZWQgYW5kIHdyb25nbHkgc2l6ZWQgcGFja2V0cyBiZXR0ZXIuCgkgIEltcGxlbWVudCBtb3JlIGhlYWRlciBmaWVsZCBwYXJzaW5nLgoJICBIYW5kbGUgdGhlIHNpemUgb2YgZnJhZ21lbnRlZCBwYWNrZXRzIGNvcnJlY3RseS4KCjIwMDgtMDktMTQgMTE6MzI6MTUgKzAwMDAgIEpvbmF0aGFuIE1hdHRoZXcgPG5vdHZlcnlzbWFydEBnbWFpbC5jb20+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IEFkZCBtYXBwaW5nIGZvciAndGlmZicgPT4gaW1hZ2UvdGlmZgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IEpvbmF0aGFuIE1hdHRoZXcgPG5vdHZlcnlzbWFydEBnbWFpbC5jb20+CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAocXRkZW11eF92aWRlb19jYXBzKToKCSAgQWRkIG1hcHBpbmcgZm9yICd0aWZmJyA9PiBpbWFnZS90aWZmCgkgIEZpeGVzICM1NTIyMTMKCjIwMDgtMDktMTEgMTE6MjY6MDYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvcmF3MTM5NC86IFByZXRlbmQgdG8gY2FyZSBhYm91dCB0aGUgcmVzdWx0IG9mIHdyaXRlKCkgd2hpY2ggd29ya3MgYXJvdW5kIGNvbXBpbGVyIHdhcm5pbmdzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvcmF3MTM5NC9nc3RkdjEzOTRzcmMuYzogKFNFTkRfQ09NTUFORCk6CgkgICogZXh0L3JhdzEzOTQvZ3N0aGR2MTM5NHNyYy5jOiAoU0VORF9DT01NQU5EKToKCSAgUHJldGVuZCB0byBjYXJlIGFib3V0IHRoZSByZXN1bHQgb2Ygd3JpdGUoKSB3aGljaCB3b3JrcyBhcm91bmQKCSAgY29tcGlsZXIgd2FybmluZ3MuCgoyMDA4LTA5LTA0IDA5OjI1OjU5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L2ZsYWMvZ3N0ZmxhY2VuYy5jOiBNYWtlIHN1cmUgdGhlIGRlc2lyZWQgZGVmYXVsdCB2YWx1ZXMgYXJlIGFjdHVhbGx5IHNldCwgbm90IG9ubHkgcmVnaXN0ZXJlZCBhcyBkZWZhdWx0cyAoYWN0dWFsLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9mbGFjL2dzdGZsYWNlbmMuYzogKGdzdF9mbGFjX2VuY19jbGFzc19pbml0KToKCSAgTWFrZSBzdXJlIHRoZSBkZXNpcmVkIGRlZmF1bHQgdmFsdWVzIGFyZSBhY3R1YWxseSBzZXQsIG5vdCBvbmx5CgkgIHJlZ2lzdGVyZWQgYXMgZGVmYXVsdHMgKGFjdHVhbCBwcm9ibGVtIGlzIHRoYXQgdGhlIHN0ZXJlby1zcGVjaWZpYwoJICB2YWx1ZXMgYXJlIG9ubHkgdXBkYXRlZCBpZiBjaGFubmVscz09Miwgd2hpY2ggaXMgbm90IHRoZSBjYXNlIHlldAoJICB3aGVuIHRoZSBvYmplY3QgaXMgY3JlYXRlZCwgc28gdGhlIGRlZmF1bHQgdmFsdWVzIGZvciB0aGUKCSAgbWlkLXNpZGUtc3RlcmVvIGFuZCBsb29zZS1taWQtc2lkZS1zdGVyZW8gc2V0dGluZ3MgYXJlIG5ldmVyCgkgIHNldCBpbiBfdXBkYXRlX3F1YWxpdHkoKSkuIE1ha2VzIGZsYWNlbmMgY3JlYXRlIHNtYWxsZXIgZmlsZXMgYnkKCSAgZGVmYXVsdCAoZm9yIHN0ZXJlbyBpbnB1dCksIGFuZCBmaXhlcyAjNTUwNzkxLgoKMjAwOC0wOS0wMyAxMjozOTozNSArMDAwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJICBnc3QvcXRkZW11eC86IEFkZCBzdXBwb3J0IGZvciB2aWRlby9tajIgbWltZS10eXBlIGFuZCBpdHMgYWRkaXRpb25hbCBhdG9tcy9ib3hlcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAoZ3N0X3F0ZGVtdXhfY2hhbmdlX3N0YXRlKSwKCSAgKGdzdF9xdGRlbXV4X2xvb3Bfc3RhdGVfaGVhZGVyKSwgKHF0ZGVtdXhfcGFyc2Vfbm9kZSksCgkgIChxdGRlbXV4X3BhcnNlX3RyYWspLCAocXRkZW11eF92aWRlb19jYXBzKToKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4Lmg6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eF9mb3VyY2MuaDoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4X3R5cGVzLmM6CgkgIEFkZCBzdXBwb3J0IGZvciB2aWRlby9tajIgbWltZS10eXBlIGFuZCBpdHMgYWRkaXRpb25hbCBhdG9tcy9ib3hlcy4KCSAgRml4ZXMgIzU1MDY0Ni4KCjIwMDgtMDktMDMgMTE6MTA6MjUgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC9kZWJ1Zy9nc3R0YWdpbmplY3QuYzogQWRkIHdhcm5pbmcgd2hlbiB0YWdzIHBhcmFtZXRlciBpcyB1bnBhcnNhYmxlIGFuZCBnaXZlIGV4YW1wbGUgZm9yIHF1b3RpbmcgaW4gdGhlIGRvY3MuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9kZWJ1Zy9nc3R0YWdpbmplY3QuYzoKCSAgQWRkIHdhcm5pbmcgd2hlbiB0YWdzIHBhcmFtZXRlciBpcyB1bnBhcnNhYmxlIGFuZCBnaXZlIGV4YW1wbGUgZm9yCgkgIHF1b3RpbmcgaW4gdGhlIGRvY3MuCgoyMDA4LTA5LTAyIDE1OjI3OjQ5ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBBZGQgbWFwcGluZyBmb3IgSU1BIExva2kgU0RMIE1KUEVHIEFEUENNIGNvZGVjLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChxdGRlbXV4X2F1ZGlvX2NhcHMpOgoJICBBZGQgbWFwcGluZyBmb3IgSU1BIExva2kgU0RMIE1KUEVHIEFEUENNIGNvZGVjLgoJICBBZGQgc29tZSBhbHRlcm5hdGl2ZSBieXRlc3dhcHBlZCBtYXBwaW5ncyB0aGF0IHNlZW0gdG8gcG9wIHVwIHNvbWV0aW1lcy4KCSAgRml4ZXMgIzU1MDI4OC4KCjIwMDgtMDktMDIgMDk6NDA6MzggKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBwby86IEFkZCAnY2EnIHRvIExJTkdVQVM7IGFkZCBzb21lIG1vcmUgZmlsZXMgd2l0aCB0cmFuc2xhdGlvbnMgYW5kIHNvbWUgZmlsZXMgd2hpY2ggc2hvdWxkIGJlIGlnbm9yZWQgYnkgdHJhbnNsYXRpb24uLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogcG8vTElOR1VBUzoKCSAgKiBwby9QT1RGSUxFUy5pbjoKCSAgKiBwby9QT1RGSUxFUy5za2lwOgoJICBBZGQgJ2NhJyB0byBMSU5HVUFTOyBhZGQgc29tZSBtb3JlIGZpbGVzIHdpdGggdHJhbnNsYXRpb25zIGFuZCBzb21lCgkgIGZpbGVzIHdoaWNoIHNob3VsZCBiZSBpZ25vcmVkIGJ5IHRyYW5zbGF0aW9uIHRvb2xzLgoKMjAwOC0wOS0wMiAwODo1MTowNCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZXh0L3NwZWV4LzogVXNlIGludGVnZXIgZW5jb2RpbmcgYW5kIGRlY29kaW5nIGZ1bmN0aW9ucyBpbnN0ZWFkIG9mIGNvbnZlcnRpbmcgdGhlIGludGVnZXIgaW5wdXQgdG8gZmxvYXQgaW4gdGhlIGVsZW1lLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9zcGVleC9nc3RzcGVleGRlYy5jOiAoc3BlZXhfZGVjX2NoYWluX3BhcnNlX2RhdGEpOgoJICAqIGV4dC9zcGVleC9nc3RzcGVleGRlYy5oOgoJICAqIGV4dC9zcGVleC9nc3RzcGVleGVuYy5jOiAoZ3N0X3NwZWV4X2VuY19lbmNvZGUpOgoJICAqIGV4dC9zcGVleC9nc3RzcGVleGVuYy5oOgoJICBVc2UgaW50ZWdlciBlbmNvZGluZyBhbmQgZGVjb2RpbmcgZnVuY3Rpb25zIGluc3RlYWQgb2YgY29udmVydGluZwoJICB0aGUgaW50ZWdlciBpbnB1dCB0byBmbG9hdCBpbiB0aGUgZWxlbWVudC4gVGhlIGxpYnNwZWV4IGludGVnZXIKCSAgZnVuY3Rpb25zIGFyZSBkb2luZyB0aGlzIGZvciB1cyBhbHJlYWR5IG9yLCBpZiBsaWJzcGVleCB3YXMgY29tcGlsZWQKCSAgaW4gaW50ZWdlciBtb2RlLCB0aGV5J3JlIGRvaW5nIGV2ZXJ5dGhpbmcgdXNpbmcgaW50ZWdlciBhcml0aG1ldGljcy4KCSAgQWxzbyBzYXZlcyBzb21lIGNvcHlpbmcgYXJvdW5kLgoKMjAwOC0wOS0wMSAxMzoyOToyOSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGNvbmZpZ3VyZS5hYzogRml4IC0tZGlzYWJsZS1leHRlcm5hbAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIEZpeCAtLWRpc2FibGUtZXh0ZXJuYWwKCjIwMDgtMDgtMzEgMTc6MDk6MTggKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tlbmMuKjogSGFuZGxlIG5vbi16ZXJvIHN0YXJ0IHRpbWVzdGFtcHMgYW5kIHN0cmVhbSBkaXNjb250aW51aXRpZXMgY29ycmVjdGx5LiBUaGlzIG9ubHkgaGFzIGFuIC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZW5jLmM6IChnc3Rfd2F2cGFja19lbmNfcmVzZXQpLAoJICAoZ3N0X3dhdnBhY2tfZW5jX3B1c2hfYmxvY2spLCAoZ3N0X3dhdnBhY2tfZW5jX2NoYWluKToKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZW5jLmg6CgkgIEhhbmRsZSBub24temVybyBzdGFydCB0aW1lc3RhbXBzIGFuZCBzdHJlYW0gZGlzY29udGludWl0aWVzCgkgIGNvcnJlY3RseS4gVGhpcyBvbmx5IGhhcyBhbiBlZmZlY3QgaWYgd2UncmUgbXV4aW5nIGludG8KCSAgYSBjb250YWluZXIgZm9ybWF0IGFzIHRoZSByYXcgV2F2UGFjayBzdHJlYW0gbXVzdCBjb250YWluCgkgIGNvbnRpbm91cyBzYW1wbGUgbnVtYmVycy4KCjIwMDgtMDgtMzEgMTU6MDI6MDkgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGV4dC9zcGVleC9nc3RzcGVleGVuYy5jOiBDb3JyZWN0IHRoZSB0aW1lc3RhbXAgYW5kIGdyYW51bGVwb3MgY2FsY3VsYXRpb24gYnkgb25lIFNwZWV4IGZyYW1lLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvc3BlZXgvZ3N0c3BlZXhlbmMuYzogKGdzdF9zcGVleF9lbmNfZW5jb2RlKToKCSAgQ29ycmVjdCB0aGUgdGltZXN0YW1wIGFuZCBncmFudWxlcG9zIGNhbGN1bGF0aW9uIGJ5IG9uZSBTcGVleAoJICBmcmFtZS4KCjIwMDgtMDgtMzEgMTQ6Mzk6NTcgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGV4dC9zcGVleC9nc3RzcGVleGRlYy5jOiBDb3JyZWN0bHkgdGFrZSB0aGUgZ3JhbnVsZXBvcyBmcm9tIHVwc3RyZWFtIGlmIHBvc3NpYmxlIGFuZCBjb3JyZWN0bHkgaGFuZGxlIHRoZSBncmFudWxlcG9zIC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvc3BlZXgvZ3N0c3BlZXhkZWMuYzogKHNwZWV4X2RlY19jaGFpbl9wYXJzZV9kYXRhKToKCSAgQ29ycmVjdGx5IHRha2UgdGhlIGdyYW51bGVwb3MgZnJvbSB1cHN0cmVhbSBpZiBwb3NzaWJsZSBhbmQKCSAgY29ycmVjdGx5IGhhbmRsZSB0aGUgZ3JhbnVsZXBvcyBpbiB2YXJpb3VzIGNhbGN1bGF0aW9uczogdGhlCgkgIGdyYW51bGVwb3MgaXMgdGhlIHNhbXBsZSBudW1iZXIgb2YgdGhlIF9sYXN0XyBzYW1wbGUgaW4gYSBmcmFtZSwgbm90CgkgIHRoZSBmaXJzdC4KCSAgKiBleHQvc3BlZXgvZ3N0c3BlZXhlbmMuYzogKGdzdF9zcGVleF9lbmNfc2lua2V2ZW50KSwKCSAgKGdzdF9zcGVleF9lbmNfZW5jb2RlKSwgKGdzdF9zcGVleF9lbmNfY2hhaW4pLAoJICAoZ3N0X3NwZWV4X2VuY19jaGFuZ2Vfc3RhdGUpOgoJICAqIGV4dC9zcGVleC9nc3RzcGVleGVuYy5oOgoJICBIYW5kbGUgbm9uLXplcm8gc3RhcnQgdGltZXN0YW1wcyBpbiB0aGUgZW5jb2RlciBhbmQgZGV0ZWN0L2hhbmRsZQoJICBzdHJlYW0gZGlzY29udGludWl0aWVzLiBGaXhlcyBidWcgIzU0NzA3NS4KCjIwMDgtMDgtMzEgMDg6MzI6NDUgKzAwMDAgIENyYWlnIEtlb2doIDxjc2tlb2doQGFkYW0uY29tLmF1PgoKCSAgZXh0L2Fubm9kZXgvZ3N0Y21tbHBhcnNlci5jOiBGaXggY29tcGlsZXIgd2FybmluZ3MgY2F1c2VkIGJ5IHBhc3NpbmcgYSBzdHJpbmcgYXMgZm9ybWF0IHN0cmluZyBpbnN0ZWFkIG9mICIlcyIgYW5kIHRoLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogQ3JhaWcgS2VvZ2ggPGNza2VvZ2ggYXQgYWRhbSBkb3QgY29tIGRvdCBhdT4KCSAgKiBleHQvYW5ub2RleC9nc3RjbW1scGFyc2VyLmM6IChnc3RfY21tbF9wYXJzZXJfcGFyc2VfY2h1bmspOgoJICBGaXggY29tcGlsZXIgd2FybmluZ3MgY2F1c2VkIGJ5IHBhc3NpbmcgYSBzdHJpbmcgYXMgZm9ybWF0IHN0cmluZwoJICBpbnN0ZWFkIG9mICIlcyIgYW5kIHRoZW4gdGhlIHN0cmluZy4gVGhpcyBpcyBvbmx5IGV4cG9zZWQgYnkgLVdmb3JtYXQ9MgoJICBhcyB1c2VkIGJ5IGRlZmF1bHQgb24gVWJ1bnR1LiBGaXhlcyBidWcgIzU1MDAxNS4KCjIwMDgtMDgtMzAgMTQ6MTU6MDMgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBNYWtlIHN0dWZmIGNvbXBpbGUgd2l0aCBHU1RfRElTQUJMRV9HU1RfREVCVUcuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9yYXcxMzk0L2dzdGhkdjEzOTRzcmMuYzogKGdzdF9oZHYxMzk0c3JjX2NyZWF0ZSk6CgkgICogZ3N0L2FscGhhL2dzdGFscGhhLmM6IChnc3RfYWxwaGFfZ2V0X3VuaXRfc2l6ZSk6CgkgICogZ3N0L2F1ZGlvZngvYXVkaW9jaGVibGltaXQuYzogKGdlbmVyYXRlX2NvZWZmaWNpZW50cyk6CgkgICogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOiAoZ3N0X2F2aV9kZW11eF9zcmNfY29udmVydCk6CgkgICogZ3N0L21hdHJvc2thL2VibWwtcmVhZC5jOiAoZ3N0X2VibWxfcmVhZF9lbGVtZW50X2lkKSwKCSAgKGdzdF9lYm1sX3JlYWRfZWxlbWVudF9sZW5ndGgpOgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICAoZ3N0X21hdHJvc2thX2RlbXV4X2NoZWNrX3N1YnRpdGxlX2J1ZmZlcik6CgkgIE1ha2Ugc3R1ZmYgY29tcGlsZSB3aXRoIEdTVF9ESVNBQkxFX0dTVF9ERUJVRy4KCjIwMDgtMDgtMjkgMDA6Mjg6NTUgKzAwMDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEB4aXBoLm9yZz4KCgkgIGdzdC9sYXcvOiBSZWYgY2FwcyBiZWZvcmUgcGFzc2luZyB0byBnc3RfcGFkX3RlbXBsYXRlX25ldygpLCBzaW5jZSB0aGF0IHRha2VzIG93bmVyc2hpcC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2xhdy9hbGF3LmM6CgkgICogZ3N0L2xhdy9tdWxhdy5jOgoJICBSZWYgY2FwcyBiZWZvcmUgcGFzc2luZyB0byBnc3RfcGFkX3RlbXBsYXRlX25ldygpLCBzaW5jZSB0aGF0IHRha2VzCgkgIG93bmVyc2hpcC4KCjIwMDgtMDgtMjggMTA6MDk6MTYgKzAwMDAgIE1lcnNhZCBKZWxhY2ljIDxtZXJzYWRAYXhpcy5jb20+CgoJICBnc3QvbXVsdGlwYXJ0LzogQ29udmVydCBhdWRpby94LWFkcGNtIHRvIGFuZCBmcm9tIHRoZSBhdWRpby9HNzI2LVggaW4gdGhlIG11eGVyIGFuZCBkZW11eGVyLiBGaXhlcyAjNTQ5NTUxLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IE1lcnNhZCBKZWxhY2ljIDxtZXJzYWQgYXQgYXhpcyBkb3QgY29tPgoJICAqIGdzdC9tdWx0aXBhcnQvbXVsdGlwYXJ0ZGVtdXguYzoKCSAgKiBnc3QvbXVsdGlwYXJ0L211bHRpcGFydG11eC5jOiAoZ3N0X211bHRpcGFydF9tdXhfZ2V0X21pbWUpOgoJICBDb252ZXJ0IGF1ZGlvL3gtYWRwY20gdG8gYW5kIGZyb20gdGhlIGF1ZGlvL0c3MjYtWCBpbiB0aGUgbXV4ZXIgYW5kCgkgIGRlbXV4ZXIuIEZpeGVzICM1NDk1NTEuCgoyMDA4LTA4LTI3IDE2OjEyOjM5ICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgc3lzL29zeGF1ZGlvLzogRml4IHRoZSBidWlsZCBvbiBtYWNvc3guCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy9vc3hhdWRpby9nc3Rvc3hhdWRpb3NpbmsuYzoKCSAgKGdzdF9vc3hfYXVkaW9fc2lua19zZWxlY3RfZGV2aWNlKToKCSAgKiBzeXMvb3N4YXVkaW8vZ3N0b3N4YXVkaW9zcmMuYzoKCSAgKGdzdF9vc3hfYXVkaW9fc3JjX2NyZWF0ZV9yaW5nYnVmZmVyKSwKCSAgKGdzdF9vc3hfYXVkaW9fc3JjX3NlbGVjdF9kZXZpY2UpOgoJICAqIHN5cy9vc3hhdWRpby9nc3Rvc3hyaW5nYnVmZmVyLmM6IChnc3Rfb3N4X3JpbmdfYnVmZmVyX2FjcXVpcmUpOgoJICBGaXggdGhlIGJ1aWxkIG9uIG1hY29zeC4KCjIwMDgtMDgtMjcgMTU6NDI6MTEgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvaWN5ZGVtdXgvZ3N0aWN5ZGVtdXguYzogU21hbGwgZG9jcyBmaXg6IGluIHRoZSBleGFtcGxlIHBpcGVsaW5lLCB3ZSBuZWVkIHRvIHBhc3MgaXJhZGlvLW1vZGU9dHJ1ZSB0byB0aGUgc291cmNlLCAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2ljeWRlbXV4L2dzdGljeWRlbXV4LmM6CgkgIFNtYWxsIGRvY3MgZml4OiBpbiB0aGUgZXhhbXBsZSBwaXBlbGluZSwgd2UgbmVlZCB0byBwYXNzCgkgIGlyYWRpby1tb2RlPXRydWUgdG8gdGhlIHNvdXJjZSwgc28gdGhlIHNlcnZlciBhY3R1YWxseSBzZW5kcwoJICBhbiBJQ1kgc3RyZWFtLgoKMjAwOC0wOC0yNyAwMDowODoyMCArMDAwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHhpcGgub3JnPgoKCSAgc3lzL29zeGF1ZGlvL2dzdG9zeGF1ZGlvLmM6IE9vcHMuIFJldmVydCBtb3JlIGNvbXBsZXRlbHkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy9vc3hhdWRpby9nc3Rvc3hhdWRpby5jOgoJICBPb3BzLiBSZXZlcnQgbW9yZSBjb21wbGV0ZWx5LgoKMjAwOC0wOC0yNiAyMzo1NzowNSArMDAwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHhpcGgub3JnPgoKCSAgc3lzL29zeGF1ZGlvL2dzdG9zeGF1ZGlvLmM6IFJldmVydCBhY2NpZGVudGFsIGVsZW1lbnQgcmVuYW1lIGZyb20gdGVzdGluZy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL29zeGF1ZGlvL2dzdG9zeGF1ZGlvLmM6CgkgIFJldmVydCBhY2NpZGVudGFsIGVsZW1lbnQgcmVuYW1lIGZyb20gdGVzdGluZy4KCjIwMDgtMDgtMjYgMjM6NTM6NDAgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgZ3N0LXBsdWdpbnMtZ29vZC5kb2FwOiBQdWxsIGluIDAuMTAuMTAgZG9hcCBlbnRyeSBmcm9tIHJlbGVhc2UgYnJhbmNoCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC1wbHVnaW5zLWdvb2QuZG9hcDoKCSAgUHVsbCBpbiAwLjEwLjEwIGRvYXAgZW50cnkgZnJvbSByZWxlYXNlIGJyYW5jaAoKMjAwOC0wOC0yNiAyMzowNTo1NyArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBjb25maWd1cmUuYWM6IFVwZGF0ZSB2ZXJzaW9uIG51bWJlciB0byByZWZsZWN0IDAuMTAuMTAgcmVsZWFzZSBmcm9tIGJyYW5jaC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICBVcGRhdGUgdmVyc2lvbiBudW1iZXIgdG8gcmVmbGVjdCAwLjEwLjEwIHJlbGVhc2UgZnJvbQoJICBicmFuY2guCgoyMDA4LTA4LTI2IDIxOjEzOjA4ICswMDAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAeGlwaC5vcmc+CgoJICBzeXMvb3N4YXVkaW8vOiBSZXdyaXRlIGNhcHMgc2V0dGluZyBhbmQgcmluZyBidWZmZXIgaW5pdGlhbGlzYXRpb24uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy9vc3hhdWRpby9NYWtlZmlsZS5hbToKCSAgKiBzeXMvb3N4YXVkaW8vZ3N0b3N4YXVkaW8uYzoKCSAgKiBzeXMvb3N4YXVkaW8vZ3N0b3N4YXVkaW9zaW5rLmM6CgkgICogc3lzL29zeGF1ZGlvL2dzdG9zeGF1ZGlvc2luay5oOgoJICAqIHN5cy9vc3hhdWRpby9nc3Rvc3hhdWRpb3NyYy5jOgoJICAqIHN5cy9vc3hhdWRpby9nc3Rvc3hhdWRpb3NyYy5oOgoJICAqIHN5cy9vc3hhdWRpby9nc3Rvc3hyaW5nYnVmZmVyLmM6CgkgICogc3lzL29zeGF1ZGlvL2dzdG9zeHJpbmdidWZmZXIuaDoKCSAgUmV3cml0ZSBjYXBzIHNldHRpbmcgYW5kIHJpbmcgYnVmZmVyIGluaXRpYWxpc2F0aW9uLgoJICBQcmV2aW91c2x5IHdlIG5ldmVyIHRvbGQgQ29yZUF1ZGlvIHdoYXQgZm9ybWF0IHdlIHdlcmUgZ29pbmcgdG8gc2VuZCBpdCwKCSAgc28gaXQgb25seSB3b3JrZWQgZHVlIHRvIGx1Y2ssIGFuZCBub3QgYXQgYWxsIG9uIHNvbWUgaGFyZHdhcmUuCgkgIE5vdyB3ZSBleHBsaWNpdGx5IGFkdmVydGlzZSB3aGF0IGZvcm1hdHMgdGhlIGhhcmR3YXJlIHN1cHBvcnRzLCBhbmQgdGhlbgoJICBjb25maWd1cmUgdGhlIHNlbGVjdGVkIG9uZSBjb3JyZWN0bHkuCgoyMDA4LTA4LTI2IDEyOjI3OjExICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBzeXMvdjRsMi86IEZpeCBtZW1vcnkgbGVha3MuIFNtYWxsIGNvZGUgY2xlYW51cHMgOiBObyBuZWVkIGZvciBlbXB0eSBfaW5pdCgpLiBObyBuZWVkIHRvIG1lbXNldCBpbnN0YW5jZSBzdHJ1Y3R1cmVzLiAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICAqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzoKCSAgKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmg6CgkgICogc3lzL3Y0bDIvdjRsMl9jYWxscy5jOgoJICAqIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuYzoKCSAgRml4IG1lbW9yeSBsZWFrcy4gU21hbGwgY29kZSBjbGVhbnVwcyA6IE5vIG5lZWQgZm9yIGVtcHR5IF9pbml0KCkuIE5vCgkgIG5lZWQgdG8gbWVtc2V0IGluc3RhbmNlIHN0cnVjdHVyZXMuIFNvbWUgbW9yZSBGSVhNRSdzLgoKMjAwOC0wOC0yNiAwODoxMToyNiArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgdGVzdHMvaWNsZXMvLmN2c2lnbm9yZTogSWdub3JlIG1vcmUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2ljbGVzLy5jdnNpZ25vcmU6CgkgIElnbm9yZSBtb3JlLgoKMjAwOC0wOC0yNiAwODowMDo1NyArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0LzogSWdub3JlIGZpbGVzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZ29vbS8uY3ZzaWdub3JlOgoJICAqIGdzdC9nb29tMmsxLy5jdnNpZ25vcmU6CgkgIElnbm9yZSBmaWxlcy4KCjIwMDgtMDgtMjYgMDc6NTE6NDIgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGV4dC9jYWlyby9nc3R0ZXh0b3ZlcmxheS5jOiBGaXggY29tcGlsZXIgd2FybmluZy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2NhaXJvL2dzdHRleHRvdmVybGF5LmM6CgkgIEZpeCBjb21waWxlciB3YXJuaW5nLgoKMjAwOC0wOC0yNiAwNTo0MjoxNSArMDAwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJICBleHQvY2Fpcm8vZ3N0dGV4dG92ZXJsYXkuYzogRml4IG9idmlvdXMgbWVtbGVhay4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2NhaXJvL2dzdHRleHRvdmVybGF5LmM6IEZpeCBvYnZpb3VzIG1lbWxlYWsuCgoyMDA4LTA4LTI1IDE0OjE1OjQzICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgZ3N0L21hdHJvc2thLzogQWRkIFJlYWxbQXVkaW98VmlkZW9dIHN1cHBvcnQgdG8gTWF0cm9za2EgY29udGFpbmVycy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6IChnc3RfbWF0cm9za2FfZGVtdXhfc2VuZF9ldmVudCksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfdmlkZW9fY2FwcyksIChnc3RfbWF0cm9za2FfZGVtdXhfYXVkaW9fY2Fwcyk6CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJICAoZ3N0X21hdHJvc2thX211eF92aWRlb19wYWRfc2V0Y2FwcyksCgkgIChnc3RfbWF0cm9za2FfbXV4X2F1ZGlvX3BhZF9zZXRjYXBzKSwgKGdzdF9tYXRyb3NrYV9tdXhfZmluaXNoKToKCSAgQWRkIFJlYWxbQXVkaW98VmlkZW9dIHN1cHBvcnQgdG8gTWF0cm9za2EgY29udGFpbmVycy4KCSAgSXQgd29ya3MgZmluZSBmb3I6CgkgICogZGVjb2RpbmcgcmVhbCBhdWRpby92aWRlbyBzdHJlYW1zIGNvbnRhaW5lZCBpbiBta3YKCSAgKiAndHJhbnNtdXhpbmcnIHJlYWwgKC5ybSkgZmlsZXMgaW50byAubWt2IGZpbGVzCgkgIEl0IHdpbGwgbm90IHdvcmsgdGhvdWdoIGZvciBlbmNvZGluZyByZWFsW2F1ZGlvL3ZpZGVvXSBzdHJlYW1zIHRoYXQKCSAgZG9uJ3QgY29udGFpbiB0aGUgJ21kcHJfZGF0YScgZXh0cmEgZGF0YSBvbiB0aGUgY2Fwcy4KCSAgVGhlIHJlYXNvbiB3aHkgdGhpcyB3aWxsIG5vdCB3b3JrIGlzIGJlY2F1c2UgSSBuZXZlciBpbnRlbmRlZCB0bwoJICBkdXBsaWNhdGUgdmlydHVhbGx5IGFsbCB0aGUgJ21kcHInIGJsb2NrIGNyZWF0aW9uIGludG8gbWt2bXV4LgoJICBGaXhlcyAjNTM2MDY3CgoyMDA4LTA4LTI1IDA5OjQ4OjA2ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L2xhdy86IFRoZSBlbmNvZGVyIGNhbid0IHJlYWxseSByZW5lZ290aWF0ZSBhdCB0aGUgdGltZSB0aGV5IHBlcmZvcm0gYSBwYWQtYWxsb2Mgc28gbWFrZSB0aGUgc3JjcGFkcyB1c2UgZml4ZWQgY2Fwcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2xhdy9hbGF3LWVuY29kZS5jOiAoZ3N0X2FsYXdfZW5jX2luaXQpLCAoZ3N0X2FsYXdfZW5jX2NoYWluKToKCSAgKiBnc3QvbGF3L211bGF3LWNvbnZlcnNpb24uYzoKCSAgKiBnc3QvbGF3L211bGF3LWVuY29kZS5jOiAoZ3N0X211bGF3ZW5jX2luaXQpLAoJICAoZ3N0X211bGF3ZW5jX2NoYWluKToKCSAgVGhlIGVuY29kZXIgY2FuJ3QgcmVhbGx5IHJlbmVnb3RpYXRlIGF0IHRoZSB0aW1lIHRoZXkgcGVyZm9ybSBhCgkgIHBhZC1hbGxvYyBzbyBtYWtlIHRoZSBzcmNwYWRzIHVzZSBmaXhlZCBjYXBzLgoJICBDaGVjayB0aGUgYnVmZmVyIHNpemUgYWZ0ZXIgYSBwYWQtYWxsb2MgYmVjYXVzZSB0aGUgcmV0dXJuZWQgc2l6ZSBtaWdodAoJICBub3QgYmUgcmlnaHQgd2hlbiB0aGUgZG93bnN0cmVhbSBlbGVtZW50IGRvZXMgbm90IGtub3cgdGhlIHNpemUgb2YgdGhlCgkgIG5ldyBidWZmZXIgKGNhcHNmaWx0ZXIpLiBGaXhlcyAjNTQ5MDczLgoKMjAwOC0wOC0yMyAxNTo0Mzo0OSArMDAwMCAgRmlsaXBwbyBBcmdpb2xhcyA8ZmlsaXBwby5hcmdpb2xhc0BnbWFpbC5jb20+CgoJICBzeXMvdjRsMi9nc3R2NGwydHVuZXIuYzogdjRsMnNyYyBkb2Vzbid0IGhhdmUgYSBwcm9wZXJ0eSBuYW1lZCAibm9ybSIgc28gZG9uJ3QgdHJ5IHRvIG5vdGlmeSBhYm91dCBjaGFuZ2VzIHRvIHRoYXQgcHIuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBGaWxpcHBvIEFyZ2lvbGFzIDxmaWxpcHBvIGRvdCBhcmdpb2xhcyBhdCBnbWFpbCBkb3QgY29tPgoJICAqIHN5cy92NGwyL2dzdHY0bDJ0dW5lci5jOiAoZ3N0X3Y0bDJfdHVuZXJfc2V0X25vcm1fYW5kX25vdGlmeSk6CgkgIHY0bDJzcmMgZG9lc24ndCBoYXZlIGEgcHJvcGVydHkgbmFtZWQgIm5vcm0iIHNvIGRvbid0IHRyeSB0byBub3RpZnkKCSAgYWJvdXQgY2hhbmdlcyB0byB0aGF0IHByb3BlcnR5LiBUaGUgIm5vcm0iIHByb3BlcnR5IGFuZCByZWxhdGVkCgkgIGNvZGUgYXJlIGNvbW1lbnRlZCBvdXQgY3VycmVudGx5LiBGaXhlcyBidWcgIzU0OTA5MC4KCjIwMDgtMDgtMjMgMTU6MzM6NDkgKzAwMDAgIE1pa2UgUnVwcmVjaHQgPGNtYWlrdUBnbWFpbC5jb20+CgoJICBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6IFJlcHJvYmUgZGV2aWNlcyBhZ2FpbiBpbnN0ZWFkIG9mIHRha2luZyBhIGNhY2hlZCBsaXN0IGFzIG5ldyBkZXZpY2VzIGNvdWxkJ3ZlIGJlZW4gcGx1Z2dlZCAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBNaWtlIFJ1cHJlY2h0IDxjbWFpa3UgYXQgZ21haWwgZG90IGNvbT4KCSAgKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6IChnc3RfdjRsMl9jbGFzc19wcm9iZV9kZXZpY2VzKToKCSAgUmVwcm9iZSBkZXZpY2VzIGFnYWluIGluc3RlYWQgb2YgdGFraW5nIGEgY2FjaGVkIGxpc3QgYXMgbmV3CgkgIGRldmljZXMgY291bGQndmUgYmVlbiBwbHVnZ2VkIGluLiBGaXhlcyBidWcgIzU0OTA2Mi4KCjIwMDgtMDgtMjIgMTY6MDQ6MDIgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9hdXRvZGV0ZWN0L01ha2VmaWxlLmFtOiBEb24ndCBsaW5rIHRoZSBhdXRvZGV0ZWN0IHBsdWdpbiB3aXRoIEdDb25mIGFzIGl0IGRvZXNuJ3QgdXNlIEdDb25mLiBGaXhlcyBidWcgIzU0NTQ2My4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2F1dG9kZXRlY3QvTWFrZWZpbGUuYW06CgkgIERvbid0IGxpbmsgdGhlIGF1dG9kZXRlY3QgcGx1Z2luIHdpdGggR0NvbmYgYXMgaXQgZG9lc24ndAoJICB1c2UgR0NvbmYuIEZpeGVzIGJ1ZyAjNTQ1NDYzLgoKMjAwOC0wOC0yMiAxMjoyNDoyMyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L21hdHJvc2thL2VibWwtcmVhZC5jOiBDaGFuZ2Ugc29tZSBHU1RfRUxFTUVOVF9FUlJPUnMgdG8gR1NUX0VSUk9SX09CSkVDVCB0byBtYWtlIGl0IHBvc3NpYmxlIHRvIGlnbm9yZSBlcnJvcnMgYW5kLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tYXRyb3NrYS9lYm1sLXJlYWQuYzogKGdzdF9lYm1sX3JlYWRfZWxlbWVudF9pZCksCgkgIChnc3RfZWJtbF9yZWFkX2VsZW1lbnRfbGVuZ3RoKSwgKGdzdF9lYm1sX3JlYWRfdWludCksCgkgIChnc3RfZWJtbF9yZWFkX3NpbnQpLCAoZ3N0X2VibWxfcmVhZF9mbG9hdCksCgkgIChnc3RfZWJtbF9yZWFkX2hlYWRlcik6CgkgIENoYW5nZSBzb21lIEdTVF9FTEVNRU5UX0VSUk9ScyB0byBHU1RfRVJST1JfT0JKRUNUIHRvIG1ha2UgaXQKCSAgcG9zc2libGUgdG8gaWdub3JlIGVycm9ycyBhbmQgbm90IHBvc3QgYW55IEVSUk9SIG1lc3NhZ2VzIG9uCgkgIHRoZSBidXMuCgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIChnc3RfbWF0cm9za2FfZGVtdXhfcGFyc2VfY29udGVudHMpOgoJICBJZ25vcmUgYW55IGVycm9ycyBhbmQgbm90IGp1c3QgRU9TIHdoZW4gcGFyc2luZyB0aGUgY29udGVudHMgb2YKCSAgYSBTZWVrSGVhZC4gRXJyb3JzIGhlcmUgYXJlIHVzdWFsbHkgY2F1c2VkIGJ5IHRydW5jYXRlZCBmaWxlcwoJICBhbmQgcGxheWJhY2sgb2YgdGhlIGZpbGUgd29ya3MgZmluZS4gRml4ZXMgcGxheWJhY2sgb2YgdGhlCgkgIGF1ZGlvX29ubHlfY2hhcHRlcl9zZWVrYnJva2VuLm1rYSBmaWxlIGZyb20gdGhlIE1QbGF5ZXIgc2FtcGxlcwoJICBhcmNoaXZlLgoKMjAwOC0wOC0yMiAxMToyOToyNiArMDAwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkgIGdzdC9tdWx0aXBhcnQvOiBDb25mb3JtIHRvIFJGQzIwNDYuIGF1ZGlvL2Jhc2ljIGlzIG11bGF3IDgwMDBIeiBtb25vLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbXVsdGlwYXJ0L211bHRpcGFydGRlbXV4LmM6CgkgICogZ3N0L211bHRpcGFydC9tdWx0aXBhcnRtdXguYzoKCSAgQ29uZm9ybSB0byBSRkMyMDQ2LiBhdWRpby9iYXNpYyBpcyBtdWxhdyA4MDAwSHogbW9uby4KCjIwMDgtMDgtMjEgMjE6NTY6MTkgKzAwMDAgIE9sZSBBbmRyw6kgVmFkbGEgUmF2bsOlcyA8b2xlLmFuZHJlLnJhdm5hc0B0YW5kYmVyZy5jb20+CgoJKiBDaGFuZ2VMb2c6CgkqIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmM6CgkgIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmMgKGdzdF9kaXJlY3RkcmF3X3NpbmtfYnVmZmVyX2FsbG9jLCBnc3RfZGlyZWN0ZHJhd19zaW5rX2J1ZmZlcnBvb2xfY2xlYXIpOgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5jIChnc3RfZGlyZWN0ZHJhd19zaW5rX2J1ZmZlcl9hbGxvYywKCSAgZ3N0X2RpcmVjdGRyYXdfc2lua19idWZmZXJwb29sX2NsZWFyKToKCSAgRml4IHR3byBtb3JlIGJ1ZmZlciByZWYgbGVha3MuCgoyMDA4LTA4LTIxIDE1OjI4OjA5ICswMDAwICBPbGUgQW5kcsOpIFZhZGxhIFJhdm7DpXMgPG9sZS5hbmRyZS5yYXZuYXNAdGFuZGJlcmcuY29tPgoKCSAgc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuYzogRml4IGJ1ZmZlciByZWYgbGVhay4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBPbGUgQW5kcsOpIFZhZGxhIFJhdm7DpXMgIDxvbGUuYW5kcmUucmF2bmFzIGF0IHRhbmRiZXJnIGNvbT4KCSAgKiBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5jOgoJICAoZ3N0X2RpcmVjdGRyYXdfc2lua19zaG93X2ZyYW1lKToKCSAgRml4IGJ1ZmZlciByZWYgbGVhay4KCjIwMDgtMDgtMjEgMTM6Mjc6MTIgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC93YXZlbmMvZ3N0d2F2ZW5jLmM6IFJldmVydCB0aGUgbGFzdCBjb21taXQuIHdhdmVuYyBzdGlsbCBzdXBwb3J0cyB3aWR0aCE9ZGVwdGggZm9yIDMyIGJpdCB3aWR0aC4gVGhhbmtzIFRpbS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3dhdmVuYy9nc3R3YXZlbmMuYzogKGdzdF93YXZlbmNfY2hhaW4pOgoJICBSZXZlcnQgdGhlIGxhc3QgY29tbWl0LiB3YXZlbmMgc3RpbGwgc3VwcG9ydHMgd2lkdGghPWRlcHRoIGZvciAzMiBiaXQKCSAgd2lkdGguIFRoYW5rcyBUaW0uCgoyMDA4LTA4LTIxIDEzOjIyOjA2ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzogSWYgdGhlIGR1cmF0aW9uIG9mIGEgYmxvY2sgaXMgdW5rbm93biBvbmx5IHVzZSB0aGUgdGltZXN0YW1wIGZvciB0aGUgZmlyc3QgbGFjZSBhbmQgdXMuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIChnc3RfbWF0cm9za2FfZGVtdXhfcGFyc2VfYmxvY2tncm91cF9vcl9zaW1wbGVibG9jayk6CgkgIElmIHRoZSBkdXJhdGlvbiBvZiBhIGJsb2NrIGlzIHVua25vd24gb25seSB1c2UgdGhlIHRpbWVzdGFtcCBmb3IgdGhlCgkgIGZpcnN0IGxhY2UgYW5kIHVzZSBHU1RfQ0xPQ0tfVElNRV9OT05FIGFzIGR1cmF0aW9uIGZvciB0aGUgZm9sbG93aW5nCgkgIGxhY2VzLiBPdGhlcndpc2UgZXZlcnkgbGFjZSBoYXMgdGhlIHNhbWUgdGltZXN0YW1wIHdoaWNoIGxlYWRzIHRvCgkgIHZhcmlvdXMgcHJvYmxlbXMuIFJlYWxseSBmaXhlcyBidWcgIzU0ODgzMS4KCjIwMDgtMDgtMjEgMTI6NTY6MDEgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC93YXZlbmMvZ3N0d2F2ZW5jLmM6IElmIHdlJ3JlIG5vdCBhbGxvd2luZyB3aWR0aCE9ZGVwdGggaW4gd2F2ZW5jIHdlIHNob3VsZCBhbHNvIGRpc2FibGUgdGhlIGNvZGUgdGhhdCB3YXMgYWRkZWQgdC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvd2F2ZW5jL2dzdHdhdmVuYy5jOiAoZ3N0X3dhdmVuY19jaGFpbik6CgkgIElmIHdlJ3JlIG5vdCBhbGxvd2luZyB3aWR0aCE9ZGVwdGggaW4gd2F2ZW5jIHdlIHNob3VsZCBhbHNvIGRpc2FibGUKCSAgdGhlIGNvZGUgdGhhdCB3YXMgYWRkZWQgdG8gc3VwcG9ydCB3aWR0aCE9ZGVwdGguCgoyMDA4LTA4LTIxIDEyOjUyOjQ3ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzogRG9uJ3QgY2FsY3VsYXRlIHRoZSBkZWZhdWx0IGR1cmF0aW9uIG9mIGEgZnJhbWUgZnJvbSB0aGUgYXVkaW8gc2FtcGxpbmcgcmF0ZS4gVGhpcyBvbmwuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6IChnc3RfbWF0cm9za2FfZGVtdXhfYWRkX3N0cmVhbSk6CgkgIERvbid0IGNhbGN1bGF0ZSB0aGUgZGVmYXVsdCBkdXJhdGlvbiBvZiBhIGZyYW1lIGZyb20gdGhlIGF1ZGlvIHNhbXBsaW5nCgkgIHJhdGUuIFRoaXMgb25seSB3b3JrcyBmb3IgcmF3IGF1ZGlvIGlmIGV2ZXJ5IGZyYW1lIGNvbnRhaW5zIGEgc2luZ2xlCgkgIHNhbXBsZSBhbmQgcmVzdWx0cyBpbiBicm9rZW4gYnVmZmVyIGR1cmF0aW9ucyBmb3Igb3RoZXIgZm9ybWF0cwoJICBpZiBubyBzcGVjaWZpZWQgZGVmYXVsdCBkdXJhdGlvbiBpcyBnaXZlbiBvciB0aGUgYmxvY2tzIGhhdmUgbm8KCSAgZHVyYXRpb24uIEZpeGVzIGJ1ZyAjNTQ4ODMxLgoKMjAwOC0wOC0yMSAxMjozNDozMyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6IEFsbG93IHplcm8gc2l6ZWQgYmxvY2tzIGluc3RlYWQgb2YgcmV0dXJuaW5nIEdTVF9GTE9XX09LLiBTdWNoIGJsb2NrcyBhcmUgdXNlZCBmb3IgdGV4Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICAoZ3N0X21hdHJvc2thX2RlbXV4X3BhcnNlX2Jsb2NrZ3JvdXBfb3Jfc2ltcGxlYmxvY2spOgoJICBBbGxvdyB6ZXJvIHNpemVkIGJsb2NrcyBpbnN0ZWFkIG9mIHJldHVybmluZyBHU1RfRkxPV19PSy4gU3VjaCBibG9ja3MKCSAgYXJlIHVzZWQgZm9yIHRleHQvcGxhaW4gc3VidGl0bGVzIGFzIGEgZ2FwLWZpbGxlciBpbiBzb21lIGZpbGVzLgoKMjAwOC0wOC0yMSAxMjoxMjowMCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIHN5cy92NGwyL2dzdHY0bDJzcmMuYzogQWRkIFM5MTAgYW5kIFBXQyBmb3JtYXRzIHdpdGggYSBsb3cgcHJpb3JpdHkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzogKGdzdF92NGwyc3JjX3Y0bDJmb3VyY2NfdG9fc3RydWN0dXJlKSwKCSAgKGdzdF92NGwyX2dldF9jYXBzX2luZm8pOgoJICBBZGQgUzkxMCBhbmQgUFdDIGZvcm1hdHMgd2l0aCBhIGxvdyBwcmlvcml0eS4KCSAgKiBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmM6IChnc3RfdjRsMnNyY19mb3JtYXRfZ2V0X3JhbmspLAoJICAoZ3N0X3Y0bDJzcmNfcHJvYmVfY2Fwc19mb3JfZm9ybWF0KToKCSAgQWRkIG1vcmUgZGVidWdnaW5nLgoKMjAwOC0wOC0yMCAyMTo1NDozNSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC9mbGFjL2dzdGZsYWNlbmMuYzogRml4IGNvbXBpbGF0aW9uIGFnYWluc3Qgb2xkZXIgbGliZmxhYyB2ZXJzaW9ucy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2ZsYWMvZ3N0ZmxhY2VuYy5jOgoJICBGaXggY29tcGlsYXRpb24gYWdhaW5zdCBvbGRlciBsaWJmbGFjIHZlcnNpb25zLgoKMjAwOC0wOC0yMCAxNzo0Njo0OCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZXh0L3B1bHNlLzogVXNlIEdTVF9CT0lMRVJQTEFURSBldmVyeXdoZXJlIGFuZCBmaXggY29kaW5nIHN0eWxlIGF0IHNvbWUgcGxhY2VzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvcHVsc2UvcHVsc2VtaXhlci5jOiAoZ3N0X3B1bHNlbWl4ZXJfY2xhc3NfaW5pdCksCgkgIChnc3RfcHVsc2VtaXhlcl9zZXRfcHJvcGVydHkpLCAoZ3N0X3B1bHNlbWl4ZXJfZ2V0X3Byb3BlcnR5KToKCSAgKiBleHQvcHVsc2UvcHVsc2VtaXhlcmN0cmwuYzogKGdzdF9wdWxzZW1peGVyX2N0cmxfc3Vic2NyaWJlX2NiKSwKCSAgKGdzdF9wdWxzZW1peGVyX2N0cmxfb3BlbiksIChnc3RfcHVsc2VtaXhlcl9jdHJsX3RpbWVvdXRfZXZlbnQpLAoJICAoZ3N0X3B1bHNlbWl4ZXJfY3RybF9zZXRfdm9sdW1lKToKCSAgKiBleHQvcHVsc2UvcHVsc2VtaXhlcnRyYWNrLmM6IChnc3RfcHVsc2VtaXhlcl90cmFja19uZXcpOgoJICAqIGV4dC9wdWxzZS9wdWxzZXByb2JlLmM6IChnc3RfcHVsc2Vwcm9iZV9vcGVuKToKCSAgKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6IChnc3RfcHVsc2VzaW5rX2NsYXNzX2luaXQpLAoJICAoZ3N0X3B1bHNlc2lua19pbml0KSwgKGdzdF9wdWxzZXNpbmtfb3BlbiksCgkgIChnc3RfcHVsc2VzaW5rX3ByZXBhcmUpLCAoZ3N0X3B1bHNlc2lua193cml0ZSksCgkgIChnc3RfcHVsc2VzaW5rX2RlbGF5KSwgKGdzdF9wdWxzZXNpbmtfcmVzZXQpOgoJICAqIGV4dC9wdWxzZS9wdWxzZXNyYy5jOiAoZ3N0X3B1bHNlc3JjX2NsYXNzX2luaXQpLAoJICAoZ3N0X3B1bHNlc3JjX2luaXQpOgoJICBVc2UgR1NUX0JPSUxFUlBMQVRFIGV2ZXJ5d2hlcmUgYW5kIGZpeCBjb2Rpbmcgc3R5bGUgYXQgc29tZSBwbGFjZXMuCgkgIEZpeCBhIGxvY2tpbmcgaXNzdWUgaW4gcHVsc2VzaW5rJ3MgcHJlcGFyZSBmdW5jdGlvbi4KCSAgKiBleHQvcHVsc2UvcHVsc2V1dGlsLmM6IChnc3RfcHVsc2VfY2hhbm5lbF9tYXBfdG9fZ3N0KToKCSAgQ2hlY2sgaWYgdGhlIGNyZWF0ZWQgY2hhbm5lbCBsYXlvdXQgaXMgdmFsaWQgZm9yIEdTdHJlYW1lci4KCjIwMDgtMDgtMjAgMTc6NDI6MjEgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRzcC9nc3RydHNwZ29vZ2xlLmM6IFRoaW5ncyB0aGF0IGNhbiBoYXBwZW4gd2hlbiB5b3VyIGJyYWluIGlzIGluIGdvb2dsZSBtb2RlIHRyeWluZyB0byBkZWFsIHdpdGggdGhlaXIgZ29vZ2xlIHIuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0c3AvZ3N0cnRzcGdvb2dsZS5jOgoJICBUaGluZ3MgdGhhdCBjYW4gaGFwcGVuIHdoZW4geW91ciBicmFpbiBpcyBpbiBnb29nbGUgbW9kZSB0cnlpbmcgdG8KCSAgZGVhbCB3aXRoIHRoZWlyIGdvb2dsZSBydHNwIHNlcnZlciBleHRlbnNpb25zIGFuZCB0cnlpbmcgdG8gdHlwZSB5b3VyCgkgIGdvb2dsZSBtYWlsIGFjY291bnQuCgoyMDA4LTA4LTIwIDE3OjMwOjE5ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0c3AvOiBBZGQgZ29vZ2xlIFJUU1AgZXh0ZW5zaW9uLCBpdCBjYW4gb25seSBoYW5kbGUgdWRwIGFuZCByZXNwb25kcyB3aXRoIHVuc3VwcG9ydGVkIGlmIHdlIGRvIGFueXRoaW5nIGVsc2UuIEZpLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHNwL01ha2VmaWxlLmFtOgoJICAqIGdzdC9ydHNwL2dzdHJ0c3AuYzogKHBsdWdpbl9pbml0KToKCSAgKiBnc3QvcnRzcC9nc3RydHNwZ29vZ2xlLmM6IChnc3RfcnRzcF9nb29nbGVfYmVmb3JlX3NlbmQpLAoJICAoZ3N0X3J0c3BfZ29vZ2xlX2FmdGVyX3NlbmQpLCAoZ3N0X3J0c3BfZ29vZ2xlX2dldF90cmFuc3BvcnRzKSwKCSAgKF9kb19pbml0KSwgKGdzdF9ydHNwX2dvb2dsZV9iYXNlX2luaXQpLAoJICAoZ3N0X3J0c3BfZ29vZ2xlX2NsYXNzX2luaXQpLCAoZ3N0X3J0c3BfZ29vZ2xlX2luaXQpLAoJICAoZ3N0X3J0c3BfZ29vZ2xlX2ZpbmFsaXplKSwgKGdzdF9ydHNwX2dvb2dsZV9jaGFuZ2Vfc3RhdGUpLAoJICAoZ3N0X3J0c3BfZ29vZ2xlX2V4dGVuc2lvbl9pbml0KToKCSAgKiBnc3QvcnRzcC9nc3RydHNwZ29vZ2xlLmg6CgkgIEFkZCBnb29nbGUgUlRTUCBleHRlbnNpb24sIGl0IGNhbiBvbmx5IGhhbmRsZSB1ZHAgYW5kIHJlc3BvbmRzIHdpdGgKCSAgdW5zdXBwb3J0ZWQgaWYgd2UgZG8gYW55dGhpbmcgZWxzZS4gRml4ZXMgIzU0NjQ2NS4KCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IChnc3RfcnRzcHNyY19jb25uZWN0aW9uX3NlbmQpLAoJICAoZ3N0X3J0c3BzcmNfY29ubmVjdGlvbl9yZWNlaXZlKSwgKGdzdF9ydHNwc3JjX2xvb3Bfc2VuZF9jbWQpLAoJICAoZ3N0X3J0c3BzcmNfY3JlYXRlX3RyYW5zcG9ydHNfc3RyaW5nKSwKCSAgKGdzdF9ydHNwc3JjX3NldHVwX3N0cmVhbXMpLCAoZ3N0X3J0c3BzcmNfb3BlbiksCgkgIChnc3RfcnRzcHNyY19jbG9zZSksIChnc3RfcnRzcHNyY19wYXVzZSk6CgkgIE1ha2UgdHJhbnNwb3J0IHNldHVwIGNvZGUgYSBiaXQgYmV0dGVyIHVzaW5nIEdTdHJpbmcuCgkgIEFkZCBzb21lIG1vcmUgZGVidWcuCgkgIENoZWNrIGZvciBjbG9zZWQgY29ubmVjdGlvbnMgYmVmb3JlIGRvaW5nIGFueXRoaW5nIG9uIHRoZW0uCgoyMDA4LTA4LTIwIDE3OjE3OjU1ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBleHQvcHVsc2UvOiBJZiBkb3duc3RyZWFtIHByb3ZpZGVzIG5vIGNoYW5uZWwgbGF5b3V0IGFuZCA+MiBjaGFubmVscyBzaG91bGQgYmUgdXNlZCB1c2UgdGhlIGRlZmF1bHQgbGF5b3V0IHRoYXQgcHVsc2UuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3B1bHNlL3B1bHNlc3JjLmM6IChnc3RfcHVsc2VzcmNfY2xhc3NfaW5pdCksCgkgIChnc3RfcHVsc2VzcmNfY3JlYXRlX3N0cmVhbSksIChnc3RfcHVsc2VzcmNfbmVnb3RpYXRlKSwKCSAgKGdzdF9wdWxzZXNyY19wcmVwYXJlKToKCSAgKiBleHQvcHVsc2UvcHVsc2V1dGlsLmM6IChnc3RfcHVsc2VfZ3N0X3RvX2NoYW5uZWxfbWFwKSwKCSAgKGdzdF9wdWxzZV9jaGFubmVsX21hcF90b19nc3QpOgoJICAqIGV4dC9wdWxzZS9wdWxzZXV0aWwuaDoKCSAgSWYgZG93bnN0cmVhbSBwcm92aWRlcyBubyBjaGFubmVsIGxheW91dCBhbmQgPjIgY2hhbm5lbHMgc2hvdWxkIGJlCgkgIHVzZWQgdXNlIHRoZSBkZWZhdWx0IGxheW91dCB0aGF0IHB1bHNlYXVkaW8gY2hvb3NlcyBhbmQgYWxzbwoJICBhZGQgdGhpcyBsYXlvdXQgdG8gdGhlIGNhcHMuIEZpeGVzIGJ1ZyAjNTQ3MjU4LgoKMjAwOC0wOC0yMCAxMTo1MTozOCArMDAwMCAgUGV0ZXIgS2plbGxlcnN0ZWR0IDxwa2pAYXhpcy5jb20+CgoJICBnc3QvdWRwLzogQXZvaWQgbGVha2luZyBpbnRlcm5hbGx5IGFsbG9jYXRlZCBmaWxlIGRlc2NyaXB0b3JzIHdoZW4gc2V0dGluZyBjdXN0b20gZmlsZSBkZXNjcmlwdG9ycy4gRml4ZXMgIzU0MzEwMS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBQZXRlciBLamVsbGVyc3RlZHQgPHBraiBhdCBheGlzIGNvbT4KCSAgKiBnc3QvdWRwL2dzdGR5bnVkcHNpbmsuYzogKGdzdF9keW51ZHBzaW5rX2luaXQpLAoJICAoZ3N0X2R5bnVkcHNpbmtfZmluYWxpemUpLCAoZ3N0X2R5bnVkcHNpbmtfc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9keW51ZHBzaW5rX2luaXRfc2VuZCksIChnc3RfZHludWRwc2lua19jbG9zZSk6CgkgICogZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuYzogKGdzdF9tdWx0aXVkcHNpbmtfaW5pdCksCgkgIChnc3RfbXVsdGl1ZHBzaW5rX2ZpbmFsaXplKSwgKGdzdF9tdWx0aXVkcHNpbmtfc2V0X3Byb3BlcnR5KToKCSAgKiBnc3QvdWRwL2dzdHVkcHNyYy5jOiAoZ3N0X3VkcHNyY19maW5hbGl6ZSksCgkgIChnc3RfdWRwc3JjX3NldF9wcm9wZXJ0eSk6CgkgIEF2b2lkIGxlYWtpbmcgaW50ZXJuYWxseSBhbGxvY2F0ZWQgZmlsZSBkZXNjcmlwdG9ycyB3aGVuIHNldHRpbmcKCSAgY3VzdG9tIGZpbGUgZGVzY3JpcHRvcnMuIEZpeGVzICM1NDMxMDEuCgoyMDA4LTA4LTIwIDExOjQ4OjQ2ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiBEb24ndCB0cnkgdG8gY29uZmlndXJlIFJUQ1AgYmFjayB0byB0aGUgc2VydmVyIHdoZW4gdGhlIHNlcnZlciBkaWQgbm90IGdpdmUgdXMgYSB2YWxpZCBwb3J0IG51Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogKGdzdF9ydHNwc3JjX3N0cmVhbV9jb25maWd1cmVfdWRwX3NpbmspOgoJICBEb24ndCB0cnkgdG8gY29uZmlndXJlIFJUQ1AgYmFjayB0byB0aGUgc2VydmVyIHdoZW4gdGhlIHNlcnZlciBkaWQgbm90CgkgIGdpdmUgdXMgYSB2YWxpZCBwb3J0IG51bWJlci4KCjIwMDgtMDgtMjAgMTA6NTk6NTIgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvdmlkZW9ib3gvZ3N0dmlkZW9ib3guYzogVXNlIG5ldyBiYXNldHJhbnNmb3JtIG1ldGhvZCB0byByZW5lZ290aWF0ZS4gRml4ZXMgIzU0NDk1Ni4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3ZpZGVvYm94L2dzdHZpZGVvYm94LmM6IChnc3RfdmlkZW9fYm94X3NldF9wcm9wZXJ0eSk6CgkgIFVzZSBuZXcgYmFzZXRyYW5zZm9ybSBtZXRob2QgdG8gcmVuZWdvdGlhdGUuIEZpeGVzICM1NDQ5NTYuCgkgICogdGVzdHMvaWNsZXMvTWFrZWZpbGUuYW06CgkgICogdGVzdHMvaWNsZXMvdmlkZW9ib3gtdGVzdC5jOiAobWFrZV9waXBlbGluZSksIChtYWluKToKCSAgQWRkIHZpZGVvYm94IHJlbmVnb3RpYXRpb24gZXhhbXBsZS4KCjIwMDgtMDgtMTkgMjE6MDM6MjIgKzAwMDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSAgZ3N0L3dhdmVuYy9nc3R3YXZlbmMuYzogUmVtb3ZlIGRlcHRoIHJhbmdlcyBhbmQgcmVwbGFjZSB3aXRoIHNhbmUgdmFsdWVzLiAgRml4ZXMgIzU0ODUzMC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3dhdmVuYy9nc3R3YXZlbmMuYzogUmVtb3ZlIGRlcHRoIHJhbmdlcyBhbmQgcmVwbGFjZQoJICB3aXRoIHNhbmUgdmFsdWVzLiAgRml4ZXMgIzU0ODUzMC4KCjIwMDgtMDgtMTggMTU6MDU6MzIgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGV4dC9wdWxzZS86IFRoZSBieXRlc19wZXJfc2FtcGxlIGFuZCBzaWxlbmNlX3NhbXBsZSBmaWVsZHMgb2YgdGhlIEdzdFJpbmdCdWZmZXJTcGVjIGFyZSBhbHJlYWR5IGZpbGxlZCB3aXRoIHRoZSBjb3JyZS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6IChnc3RfcHVsc2VzaW5rX3ByZXBhcmUpOgoJICAqIGV4dC9wdWxzZS9wdWxzZXNyYy5jOiAoZ3N0X3B1bHNlc3JjX3ByZXBhcmUpOgoJICBUaGUgYnl0ZXNfcGVyX3NhbXBsZSBhbmQgc2lsZW5jZV9zYW1wbGUgZmllbGRzIG9mIHRoZSBHc3RSaW5nQnVmZmVyU3BlYwoJICBhcmUgYWxyZWFkeSBmaWxsZWQgd2l0aCB0aGUgY29ycmVjdCB2YWx1ZXMgYnkKCSAgZ3N0X3JpbmdfYnVmZmVyX3BhcnNlX2NhcHMoKSBzbyB0aGVyZSdzIG5vIG5lZWQgdG8gc2V0IHRoZW0gYWdhaW4KCSAgd2l0aCB3cm9uZyB2YWx1ZXMuCgoyMDA4LTA4LTE2IDE0OjU0OjU2ICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgZ3N0L2F2aS9nc3RhdmlkZW11eC5jOiBTb21lIEFWSSAyLjAgKE9ETUwpIGZpbGVzIGRvbid0IHJlc3BlY3QgdGhlICdzcGVjaWZpY2F0aW9ucycgY29tcGxldGVseSBhbmQgaW5zdGVhZCBvZiB1c2luZyB0Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzogKGdzdF9hdmlfZGVtdXhfcmVhZF9zdWJpbmRleGVzX3B1bGwpLAoJICAoZ3N0X2F2aV9kZW11eF9yZWFkX3N1YmluZGV4ZXNfcHVzaCk6CgkgIFNvbWUgQVZJIDIuMCAoT0RNTCkgZmlsZXMgZG9uJ3QgcmVzcGVjdCB0aGUgJ3NwZWNpZmljYXRpb25zJyBjb21wbGV0ZWx5CgkgIGFuZCBpbnN0ZWFkIG9mIHVzaW5nIHRoZSAnaXgjIycgbm9tZW5jbGF0dXJlLCB1c2UgJyMjaXgnLgoJICBUaGV5J3JlIHN0aWxsIHZhbGlkIHRob3VnaCwgdGhpcyBmaXhlcyB0aGUgZHVyYXRpb24gYW5kIGluZGV4ZXMgZm9yCgkgIHZpcnR1YWxseSBhbGwgdGhlIE9ETUwgZmlsZXMgSSBoYXZlLgoKMjAwOC0wOC0xNSAxNzoyNjoxOCArMDAwMCAgT2xpdmllciBDcmV0ZSA8dGVzdGVyQHRlc3Rlci5jYT4KCgkgIGdzdC9ydHAvOiBVcGRhdGUgdGhlIHZvcmJpcyBSVFAgcGF5L2RlcGF5IHRvIFJGQyA1MjE1LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IE9saXZpZXIgQ3JldGUgPHRlc3RlciBhdCB0ZXN0ZXIgZG90IGNhPgoJICAqIGdzdC9ydHAvZ3N0cnRwdm9yYmlzZGVwYXkuYzogKGdzdF9ydHBfdm9yYmlzX2RlcGF5X3NldGNhcHMpLAoJICAoZ3N0X3J0cF92b3JiaXNfZGVwYXlfcHJvY2Vzcyk6CgkgICogZ3N0L3J0cC9nc3RydHB2b3JiaXNwYXkuYzogKGdzdF9ydHBfdm9yYmlzX3BheV9maW5pc2hfaGVhZGVycyk6CgkgIFVwZGF0ZSB0aGUgdm9yYmlzIFJUUCBwYXkvZGVwYXkgdG8gUkZDIDUyMTUuCgkgIEZpeGVzICM1NDc4NDIuCgoyMDA4LTA4LTE0IDIyOjA3OjAyICswMDAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogQWRkICdoZHY2JyBhcyBhIEhEViBmb3JtYXQgZm9yIDEwODBpLzYwIHdpdGggMzoyIHB1bGxkb3duLCBpLmUuLCAyNHAuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogQWRkICdoZHY2JyBhcyBhIEhEViBmb3JtYXQgZm9yIDEwODBpLzYwCgkgIHdpdGggMzoyIHB1bGxkb3duLCBpLmUuLCAyNHAuCgoyMDA4LTA4LTE0IDEyOjQ3OjA5ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgdGVzdHMvY2hlY2svZWxlbWVudHMvbGV2ZWwuYzogRml4IGNvbXBpbGF0aW9uIHNvbWUgbW9yZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvbGV2ZWwuYzogKEdTVF9TVEFSVF9URVNUKToKCSAgRml4IGNvbXBpbGF0aW9uIHNvbWUgbW9yZS4KCjIwMDgtMDgtMTQgMTE6NDQ6NTkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBjb25maWd1cmUuYWM6IFJlcXVpcmUgLWJhc2UgQ1ZTIGZvciB3YXZwYXJzZSBhY2lkIGNodW5rIHBhcnNpbmcuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzo6CgkgIFJlcXVpcmUgLWJhc2UgQ1ZTIGZvciB3YXZwYXJzZSBhY2lkIGNodW5rIHBhcnNpbmcuCgoyMDA4LTA4LTEzIDEzOjU3OjAxICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBleHQvcHVsc2UvcHVsc2VzaW5rLio6IEFkZCAiZGV2aWNlLW5hbWUiIHByb3BlcnR5IHRvIHB1bHNlc2luayB0b28gYW5kIGN1cnJlbnRseSBjb21tZW50ZWQgb3V0IGFuZCBub3Qgd29ya2luZyBzdXBwb3IuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3B1bHNlL3B1bHNlc2luay5jOiAoZ3N0X3B1bHNlc2lua19jbGFzc19pbml0KSwKCSAgKGdzdF9wdWxzZXNpbmtfaW5pdCksIChnc3RfcHVsc2VzaW5rX2ZpbmFsaXplKSwKCSAgKGdzdF9wdWxzZXNpbmtfc2V0X3ZvbHVtZSksIChnc3RfcHVsc2VzaW5rX2dldF92b2x1bWUpLAoJICAoZ3N0X3B1bHNlc2lua19zZXRfcHJvcGVydHkpLCAoZ3N0X3B1bHNlc2lua19nZXRfcHJvcGVydHkpLAoJICAoZ3N0X3B1bHNlc2lua19wcmVwYXJlKSwgKGdzdF9wdWxzZXNpbmtfY2hhbmdlX3N0YXRlKToKCSAgKiBleHQvcHVsc2UvcHVsc2VzaW5rLmg6CgkgIEFkZCAiZGV2aWNlLW5hbWUiIHByb3BlcnR5IHRvIHB1bHNlc2luayB0b28gYW5kIGN1cnJlbnRseSBjb21tZW50ZWQKCSAgb3V0IGFuZCBub3Qgd29ya2luZyBzdXBwb3J0IGZvciBhICJ2b2x1bWUiIHByb3BlcnR5LgoKMjAwOC0wOC0xMyAxMzoxNzoxNSArMDAwMCAgVGhpanMgVmVybWVpciA8dGhpanN2ZXJtZWlyQGdtYWlsLmNvbT4KCgkgIGNvbmZpZ3VyZS5hYzogUmVtb3ZlIG1vcmUgY2RpbyBzdHVmZiAobW92ZWQgdG8gdWdseSkKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICBSZW1vdmUgbW9yZSBjZGlvIHN0dWZmIChtb3ZlZCB0byB1Z2x5KQoKMjAwOC0wOC0xMyAxMjozNzoyNiArMDAwMCAgTGFzemxvIFBhbmR5IDxsYXN6bG9rMkBnbWFpbC5jb20+CgoJICBleHQvcHVsc2UvcHVsc2VzcmMuYzogQWRkICJkZXZpY2UtbmFtZSIgcHJvcGVydHksIHdoaWNoIHByb3ZpZGVzIGEgaHVtYW4gcmVhZGFibGUgc3RyaW5nIGZvciB0aGUgYXVkaW8gZGV2aWNlLCB0byBtYWsuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBMYXN6bG8gUGFuZHkgPGxhc3psb2syIGF0IGdtYWlsIGRvdCBjb20+CgkgICogZXh0L3B1bHNlL3B1bHNlc3JjLmM6IChnc3RfcHVsc2VzcmNfY2xhc3NfaW5pdCksCgkgIChnc3RfcHVsc2VzcmNfZ2V0X3Byb3BlcnR5KToKCSAgQWRkICJkZXZpY2UtbmFtZSIgcHJvcGVydHksIHdoaWNoIHByb3ZpZGVzIGEgaHVtYW4gcmVhZGFibGUgc3RyaW5nCgkgIGZvciB0aGUgYXVkaW8gZGV2aWNlLCB0byBtYWtlIGl0IG1vcmUgY29uc2lzdGVuIHdpdGggb3RoZXIgYXVkaW8KCSAgc291cmNlcy4gRml4ZXMgYnVnICM1NDc1MTkuCgoyMDA4LTA4LTEzIDEyOjM0OjEzICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBleHQvcHVsc2UvOiBJbXByb3ZlIGRlYnVnZ2luZyBhIGJpdCBieSBpbmNsdWRpbmcgdGhlIHBhcmVudCBvYmplY3QgaW4gcHVsc2VtaXhlcmN0cmwgYW5kIHB1bHNlcHJvYmUgb2JqZWN0cyBhbmQgdXNpbmcuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3B1bHNlL3B1bHNlbWl4ZXIuYzogKGdzdF9wdWxzZW1peGVyX2NoYW5nZV9zdGF0ZSk6CgkgICogZXh0L3B1bHNlL3B1bHNlbWl4ZXJjdHJsLmM6IChnc3RfcHVsc2VtaXhlcl9jdHJsX3N1YnNjcmliZV9jYiksCgkgIChnc3RfcHVsc2VtaXhlcl9jdHJsX29wZW4pLCAoZ3N0X3B1bHNlbWl4ZXJfY3RybF9uZXcpLAoJICAoZ3N0X3B1bHNlbWl4ZXJfY3RybF9mcmVlKSwgKGdzdF9wdWxzZW1peGVyX2N0cmxfdGltZW91dF9ldmVudCk6CgkgICogZXh0L3B1bHNlL3B1bHNlbWl4ZXJjdHJsLmg6CgkgICogZXh0L3B1bHNlL3B1bHNlcHJvYmUuYzogKGdzdF9wdWxzZXByb2JlX29wZW4pLAoJICAoZ3N0X3B1bHNlcHJvYmVfZW51bWVyYXRlKSwgKGdzdF9wdWxzZXByb2JlX25ldyksCgkgIChnc3RfcHVsc2Vwcm9iZV9mcmVlKSwgKGdzdF9wdWxzZXByb2JlX25lZWRzX3Byb2JlKSwKCSAgKGdzdF9wdWxzZXByb2JlX3Byb2JlX3Byb3BlcnR5KSwgKGdzdF9wdWxzZXByb2JlX2dldF92YWx1ZXMpOgoJICAqIGV4dC9wdWxzZS9wdWxzZXByb2JlLmg6CgkgICogZXh0L3B1bHNlL3B1bHNlc2luay5jOiAoZ3N0X3B1bHNlc2lua19pbml0KToKCSAgKiBleHQvcHVsc2UvcHVsc2VzcmMuYzogKGdzdF9wdWxzZXNyY19pbml0KSwgKGdzdF9wdWxzZXNyY19kZWxheSksCgkgIChnc3RfcHVsc2VzcmNfY2hhbmdlX3N0YXRlKToKCSAgSW1wcm92ZSBkZWJ1Z2dpbmcgYSBiaXQgYnkgaW5jbHVkaW5nIHRoZSBwYXJlbnQgb2JqZWN0IGluIHB1bHNlbWl4ZXJjdHJsCgkgIGFuZCBwdWxzZXByb2JlIG9iamVjdHMgYW5kIHVzaW5nIEdTVF9XQVJOSU5HX09CSkVDVCBpbnN0ZWFkIG9mCgkgIEdTVF9XQVJOSU5HLgoJICBVc2UgdGhlIHBhcmVudCBHT2JqZWN0IHN1YmNsYXNzIGluc3RlYWQgb2YgYSByYW5kb20gc3RydWN0IGFzIEdPYmplY3QKCSAgcGFyYW1ldGVyIGZvciBHX09CSkVDVF9XQVJOX0lOVkFMSURfUFJPUEVSVFlfSUQuIFRoaXMgZml4ZXMgYSBjcmFzaAoJICB3aGVuIHByb2JpbmcgZm9yIGFub3RoZXIgcHJvcGVydHkgdGhhbiAiZGV2aWNlIi4KCjIwMDgtMDgtMTMgMTI6MjE6MjIgKzAwMDAgIExhc3psbyBQYW5keSA8bGFzemxvazJAZ21haWwuY29tPgoKCSAgZXh0L3B1bHNlL3B1bHNlbWl4ZXIuYzogRml4IHByb3BlcnR5IHByb2JpbmcgYWZ0ZXIgdGhlIGRldmljZSBwcm9wZXJ0eSBpcyBzZXQgYnkgY2FsbGluZyBzZXRfc2VydmVyIHdoZW4gdGhlIHNlcnZlciBwLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogTGFzemxvIFBhbmR5IDxsYXN6bG9rMiBhdCBnbWFpbCBkb3QgY29tPgoJICAqIGV4dC9wdWxzZS9wdWxzZW1peGVyLmM6IChnc3RfcHVsc2VtaXhlcl9zZXRfcHJvcGVydHkpOgoJICBGaXggcHJvcGVydHkgcHJvYmluZyBhZnRlciB0aGUgZGV2aWNlIHByb3BlcnR5IGlzIHNldCBieSBjYWxsaW5nCgkgIHNldF9zZXJ2ZXIgd2hlbiB0aGUgc2VydmVyIHByb3BlcnR5IGNoYW5nZXMuIEZpeGVzIGJ1ZyAjNTQ3NTE4LgoKMjAwOC0wOC0xMyAxMjoxMTozNCArMDAwMCAgTGFzemxvIFBhbmR5IDxsYXN6bG9rMkBnbWFpbC5jb20+CgoJICBleHQvcHVsc2UvcHVsc2VtaXhlci5jOiBGaXggcHJvcGVydHkgcHJvYmluZyBhZnRlciB0aGUgZGV2aWNlIHByb3BlcnR5IGlzIHNldCBieSBjYWxsaW5nIHNldF9zZXJ2ZXIgd2hlbiB0aGUgc2VydmVyIHAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBMYXN6bG8gUGFuZHkgPGxhc3psb2syIGF0IGdtYWlsIGRvdCBjb20+CgkgICogZXh0L3B1bHNlL3B1bHNlbWl4ZXIuYzogKGdzdF9wdWxzZW1peGVyX3NldF9wcm9wZXJ0eSk6CgkgIEZpeCBwcm9wZXJ0eSBwcm9iaW5nIGFmdGVyIHRoZSBkZXZpY2UgcHJvcGVydHkgaXMgc2V0IGJ5IGNhbGxpbmcKCSAgc2V0X3NlcnZlciB3aGVuIHRoZSBzZXJ2ZXIgcHJvcGVydHkgY2hhbmdlcy4gRml4ZXMgYnVnICM1NDc1MTguCgoyMDA4LTA4LTEzIDEyOjAxOjAxICswMDAwICBMYXN6bG8gUGFuZHkgPGxhc3psb2syQGdtYWlsLmNvbT4KCgkgIGV4dC9wdWxzZS86IEltcGxlbWVudCBHc3RQcm9wZXJ0eVByb2JlIGludGVyZmFjZSBvbiBwdWxzZXNpbmsgZm9yIGRldGVjdGluZyBzaW5rIGRldmljZXMgYW5kIG9uIHB1bHNlc3JjIGZvciBkZXRlY3Rpbi4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IExhc3psbyBQYW5keSA8bGFzemxvazIgYXQgZ21haWwgZG90IGNvbT4KCSAgKiBleHQvcHVsc2UvcHVsc2VzaW5rLmM6IChnc3RfcHVsc2VzaW5rX2ludGVyZmFjZV9zdXBwb3J0ZWQpLAoJICAoZ3N0X3B1bHNlc2lua19pbXBsZW1lbnRzX2ludGVyZmFjZV9pbml0KSwKCSAgKGdzdF9wdWxzZXNpbmtfaW5pdF9pbnRlcmZhY2VzKSwgKGdzdF9wdWxzZXNpbmtfaW5pdCksCgkgIChnc3RfcHVsc2VzaW5rX2ZpbmFsaXplKSwgKGdzdF9wdWxzZXNpbmtfc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9wdWxzZXNpbmtfZ2V0X3R5cGUpOgoJICAqIGV4dC9wdWxzZS9wdWxzZXNpbmsuaDoKCSAgKiBleHQvcHVsc2UvcHVsc2VzcmMuYzogKGdzdF9wdWxzZXNyY19pbnRlcmZhY2Vfc3VwcG9ydGVkKSwKCSAgKGdzdF9wdWxzZXNyY19pbml0X2ludGVyZmFjZXMpLCAoZ3N0X3B1bHNlc3JjX2luaXQpLAoJICAoZ3N0X3B1bHNlc3JjX2ZpbmFsaXplKSwgKGdzdF9wdWxzZXNyY19zZXRfcHJvcGVydHkpOgoJICAqIGV4dC9wdWxzZS9wdWxzZXNyYy5oOgoJICBJbXBsZW1lbnQgR3N0UHJvcGVydHlQcm9iZSBpbnRlcmZhY2Ugb24gcHVsc2VzaW5rIGZvciBkZXRlY3RpbmcKCSAgc2luayBkZXZpY2VzIGFuZCBvbiBwdWxzZXNyYyBmb3IgZGV0ZWN0aW5nIHNvdXJjZSBkZXZpY2VzLgoJICBGaXhlcyBidWdzICM1NDcyMjcgYW5kICM1NDcyMTcuCgoyMDA4LTA4LTEzIDA5OjE3OjIwICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uYzogRG9uJ3QgdGVybWluYXRlIG9uIGZhYnMoaW4pPjEuMC4gSW5pdCBkb3VibGVzIGFzIGRvdWJsZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5jOgoJICBEb24ndCB0ZXJtaW5hdGUgb24gZmFicyhpbik+MS4wLiBJbml0IGRvdWJsZXMgYXMgZG91Ymxlcy4KCjIwMDgtMDgtMTMgMDg6MzM6NTcgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6IFByb3Blcmx5IHNldCB0aGUgbWF4aW11bSBsYXRlbmN5IHZhbHVlLCBpbiB0aGUgc2FtZSB3YXkgaXQgaXMgZG9uZSBpbiB2NGxzcmMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzogKGdzdF92NGwyc3JjX3F1ZXJ5KToKCSAgUHJvcGVybHkgc2V0IHRoZSBtYXhpbXVtIGxhdGVuY3kgdmFsdWUsIGluIHRoZSBzYW1lIHdheSBpdCBpcyBkb25lIGluCgkgIHY0bHNyYy4KCSAgKiBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmM6CgkgIFNpbXBsaWZ5IGZyYWN0aW9uIGVxdWFsaXR5IGNoZWNrLCBubyBuZWVkIHRvIHVzZSBHVmFsdWVzIGZvciB0aGlzLgoKMjAwOC0wOC0xMiAxMjowNDoyNCArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIHN5cy92NGwyL2dzdHY0bDJzcmMuYzogQWRkIHdhcm5pbmcgbWVzc2FnZXMgc3RhdGluZyBleGFjdGx5IHdoeSB0aGUgbGF0ZW5jeSBxdWVyeSBmYWlsZWQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzogKGdzdF92NGwyc3JjX3F1ZXJ5KToKCSAgQWRkIHdhcm5pbmcgbWVzc2FnZXMgc3RhdGluZyBleGFjdGx5IHdoeSB0aGUgbGF0ZW5jeSBxdWVyeSBmYWlsZWQuCgkgICogc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5jOiAoZ3N0X3Y0bDJzcmNfc2V0X2NhcHR1cmUpOgoJICBJbiBzb21lIGNhc2VzLCB0aGUgbmVnb3RpYXRlZCBmcmFtZXJhdGUgbWlnaHQgYmUgdGhlIGRlZmF1bHQgb25lIHdoaWNoCgkgIGlzIGFscmVhZHkgc2V0IGludGVybmFsbHkuIEJ1dCB3ZSBzdGlsbCBuZWVkIHRvIG1hcmsgaXQgZG93biBpbiBmcHNfbgoJICBhbmQgZnBzX2Qgc28gdGhhdCB0aGUgbGF0ZW5jeSBxdWVyeSBjYW4gaGFwcGVuIHByb3Blcmx5LgoKMjAwOC0wOC0xMiAxMToyODo0NyArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi0xMzk0LnhtbDogV2hvb3BzLCBmb3Jnb3Qgb25lIGRvYyBmaWxlIGZvciBwZW9wbGUgd2hvIGNhbid0L2Rvbid0IGJ1aWxkIHRoZSByYXcxMzk0IHBsdWdpbi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLTEzOTQueG1sOgoJICBXaG9vcHMsIGZvcmdvdCBvbmUgZG9jIGZpbGUgZm9yIHBlb3BsZSB3aG8gY2FuJ3QvZG9uJ3QgYnVpbGQgdGhlCgkgIHJhdzEzOTQgcGx1Z2luLgoKMjAwOC0wOC0xMiAwOToyMjoyOSArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBQdWxsIGNoYW5nZXMgZnJvbSAwLjEwLjkuMiBwcmUtcmVsZWFzZSBicmFuY2ggbW92aW5nIHRoZSBsaWJjZGlvCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2Rpby54bWw6CgkgICogZXh0L01ha2VmaWxlLmFtOgoJICAqIGV4dC9jZGlvL01ha2VmaWxlLmFtOgoJICAqIGV4dC9jZGlvL2dzdGNkaW8uYzoKCSAgKiBleHQvY2Rpby9nc3RjZGlvLmg6CgkgICogZXh0L2NkaW8vZ3N0Y2Rpb2NkZGFzcmMuYzoKCSAgKiBleHQvY2Rpby9nc3RjZGlvY2RkYXNyYy5oOgoJICBQdWxsIGNoYW5nZXMgZnJvbSAwLjEwLjkuMiBwcmUtcmVsZWFzZSBicmFuY2ggbW92aW5nIHRoZSBsaWJjZGlvCgkgIENEREEgc291cmNlIHRvIC11Z2x5LgoJICAqIHBvL0xJTkdVQVM6CgkgICogcG8vUE9URklMRVMuaW46CgkgICogcG8vaWQucG86CgkgIFB1bGwgaW4gbmV3IHRyYW5zbGF0aW9uIGZyb20gMC4xMC45LjIgcmVsZWFzZSBicmFuY2guCgoyMDA4LTA4LTExIDE1OjA1OjEzICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgZG9jcy9wbHVnaW5zLzogSW50ZWdyYXRlIGRvY3VtZW50YXRpb24gZm9yIG5ldyBoZHYxMzk0c3JjIGVsZW1lbnQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmFyZ3M6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5oaWVyYXJjaHk6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5pbnRlcmZhY2VzOgoJICBJbnRlZ3JhdGUgZG9jdW1lbnRhdGlvbiBmb3IgbmV3IGhkdjEzOTRzcmMgZWxlbWVudC4KCjIwMDgtMDgtMTEgMTQ6MzY6MTMgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBleHQvcmF3MTM5NC86IG1wZWcyLXRzIChIRFYpIHZhcmlhbnQgb2YgZmlyZXdpcmUgY2FwdHVyZSBlbGVtZW50LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvcmF3MTM5NC9NYWtlZmlsZS5hbToKCSAgKiBleHQvcmF3MTM5NC9nc3QxMzk0LmM6IChwbHVnaW5faW5pdCk6CgkgICogZXh0L3JhdzEzOTQvZ3N0aGR2MTM5NHNyYy5jOiAoX2RvX2luaXQpLAoJICAoZ3N0X2hkdjEzOTRzcmNfYmFzZV9pbml0KSwgKGdzdF9oZHYxMzk0c3JjX2NsYXNzX2luaXQpLAoJICAoZ3N0X2hkdjEzOTRzcmNfaW5pdCksIChnc3RfaGR2MTM5NHNyY19kaXNwb3NlKSwKCSAgKGdzdF9oZHYxMzk0c3JjX3NldF9wcm9wZXJ0eSksIChnc3RfaGR2MTM5NHNyY19nZXRfcHJvcGVydHkpLAoJICAoZ3N0X2hkdjEzOTRzcmNfZnJvbV9yYXcxMzk0aGFuZGxlKSwKCSAgKGdzdF9oZHYxMzk0c3JjX2llYzYxODgzX3JlY2VpdmUpLCAoZ3N0X2hkdjEzOTRzcmNfYnVzX3Jlc2V0KSwKCSAgKGdzdF9oZHYxMzk0c3JjX2NyZWF0ZSksIChnc3RfaGR2MTM5NHNyY19kaXNjb3Zlcl9hdmNfbm9kZSksCgkgIChnc3RfaGR2MTM5NHNyY19zdGFydCksIChnc3RfaGR2MTM5NHNyY19zdG9wKSwKCSAgKGdzdF9oZHYxMzk0c3JjX3VubG9jayksIChnc3RfaGR2MTM5NHNyY191cGRhdGVfZGV2aWNlX25hbWUpLAoJICAoZ3N0X2hkdjEzOTRzcmNfdXJpX2dldF90eXBlKSwgKGdzdF9oZHYxMzk0c3JjX3VyaV9nZXRfcHJvdG9jb2xzKSwKCSAgKGdzdF9oZHYxMzk0c3JjX3VyaV9nZXRfdXJpKSwgKGdzdF9oZHYxMzk0c3JjX3VyaV9zZXRfdXJpKSwKCSAgKGdzdF9oZHYxMzk0c3JjX3VyaV9oYW5kbGVyX2luaXQpOgoJICAqIGV4dC9yYXcxMzk0L2dzdGhkdjEzOTRzcmMuaDoKCSAgbXBlZzItdHMgKEhEVikgdmFyaWFudCBvZiBmaXJld2lyZSBjYXB0dXJlIGVsZW1lbnQuCgkgIEZpeGVzICMzNTA4MzAKCjIwMDgtMDgtMTEgMTA6NTM6MDYgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBnc3QvbGV2ZWwvZ3N0bGV2ZWwuYzogRml4IGNvbXBpbGF0aW9uIChhbHNvIGtub3duIGFzIHRoZSBjbGFzc2ljICdmaXggY29kZSB0aGF0IHNvbWVvbmUgY29tbWl0dGVkIHdpdGhvdXQgY29tcGlsaW5nIGkuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2xldmVsL2dzdGxldmVsLmM6IChnc3RfbGV2ZWxfbWVzc2FnZV9uZXcpOgoJICBGaXggY29tcGlsYXRpb24gKGFsc28ga25vd24gYXMgdGhlIGNsYXNzaWMgJ2ZpeCBjb2RlIHRoYXQgc29tZW9uZQoJICBjb21taXR0ZWQgd2l0aG91dCBjb21waWxpbmcgaXQgZmlyc3QnKS4KCjIwMDgtMDgtMTAgMTk6NDA6MjcgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2xldmVsLmM6IEFkZCBhIHRlc3QgZm9yIGxldmVsIGluIHN0ZXJlbyBtb2RlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9sZXZlbC5jOgoJICBBZGQgYSB0ZXN0IGZvciBsZXZlbCBpbiBzdGVyZW8gbW9kZS4KCjIwMDgtMDgtMTAgMTk6MzU6MDUgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIHRlc3RzL2V4YW1wbGVzL3NwZWN0cnVtLzogRGVtbyBob3cgdG8gZHJhdyBhbmFseXplciByZXN1bHRzIHN5bmNlZCB0byB0aGUgY2xvY2suCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2V4YW1wbGVzL3NwZWN0cnVtL2RlbW8tYXVkaW90ZXN0LmM6CgkgICogdGVzdHMvZXhhbXBsZXMvc3BlY3RydW0vZGVtby1vc3NzcmMuYzoKCSAgRGVtbyBob3cgdG8gZHJhdyBhbmFseXplciByZXN1bHRzIHN5bmNlZCB0byB0aGUgY2xvY2suCgoyMDA4LTA4LTEwIDE1OjUyOjQyICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3QvbGV2ZWwvZ3N0bGV2ZWwuYzogTGl0dGxlIHJlbmFtaW5nIChsIC0+IGxldmVsKS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2xldmVsL2dzdGxldmVsLmM6CgkgIExpdHRsZSByZW5hbWluZyAobCAtPiBsZXZlbCkuCgkgICogZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmM6CgkgICogZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmg6CgkgIEFsc28gc2VuZCBmdWxsIHRpbWVzdGFtcC9kdXJhdGlvbiBkZXRhaWxzIGhlcmUuCgoyMDA4LTA4LTEwIDExOjMyOjAzICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3QvbGV2ZWwvZ3N0bGV2ZWwuKjogU2VuZCBzYW1lIHRpbWVzdGFtcC9kdXJhdGlvbiBkZXRhaWxzIGFzIHZpZGVvYW5hbHlzaXMuIFRoaXMgZ2l2ZXMgYXBwbGljYXRpb25zIGJldHRlciBjaGFuY2UgdG8uLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2xldmVsL2dzdGxldmVsLmM6CgkgICogZ3N0L2xldmVsL2dzdGxldmVsLmg6CgkgIFNlbmQgc2FtZSB0aW1lc3RhbXAvZHVyYXRpb24gZGV0YWlscyBhcyB2aWRlb2FuYWx5c2lzLiBUaGlzIGdpdmVzCgkgIGFwcGxpY2F0aW9ucyBiZXR0ZXIgY2hhbmNlIHRvIHN5bmMgYW5hbHlzaXMgcmVzdWx0cyB3aXRoIHBsYXliYWNrLgoKMjAwOC0wOC0wOSAxNDowMjoyNyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOiBXZSBuZWVkIHRvIGRyb3Agb25lIGFkZGl0aW9uYWwgYnVmZmVyIGZvciBGTEFDIGFzIHRoZSBmTGFDIG1hcmtlciBhbmQgU1RSRUFNSU5GTyBibG9jayBhLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSAgKGdzdF9tYXRyb3NrYV9tdXhfaGFuZGxlX3NpbmtfZXZlbnQpLAoJICAoZmxhY19zdHJlYW1oZWFkZXJfdG9fY29kZWNkYXRhKToKCSAgV2UgbmVlZCB0byBkcm9wIG9uZSBhZGRpdGlvbmFsIGJ1ZmZlciBmb3IgRkxBQyBhcyB0aGUgZkxhQwoJICBtYXJrZXIgYW5kIFNUUkVBTUlORk8gYmxvY2sgYXJlIG1lcmdlZCBpbnRvIG9uZSBidWZmZXIgaW4gdGhlIGNhcHMuCgkgIEFsc28gZG9uJ3QgcHJldGVuZCB0byBzdXBwb3J0IE5FV1NFR01FTlQgZXZlbnRzLCBvdGhlcndpc2Ugd2UKCSAgd2lsbCBtb3N0IHByb2JhYmx5IHdyaXRlIHNvbWUgaW52YWxpZCBkYXRhLgoKMjAwOC0wOC0wOSAxMzo0ODoyMiArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOiBBZGQgc3VwcG9ydCBmb3IgbXV4aW5nIEZMQUMgaW50byBNYXRyb3NrYSBjb250YWluZXJzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6IChmbGFjX3N0cmVhbWhlYWRlcl90b19jb2RlY2RhdGEpLAoJICAoZ3N0X21hdHJvc2thX211eF9hdWRpb19wYWRfc2V0Y2Fwcyk6CgkgIEFkZCBzdXBwb3J0IGZvciBtdXhpbmcgRkxBQyBpbnRvIE1hdHJvc2thIGNvbnRhaW5lcnMuCgkgIEZpeGVzIGJ1ZyAjMzExNTg2LgoKMjAwOC0wOC0wOSAwODo1ODoyNiArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZXh0L2ZsYWMvZ3N0ZmxhY2VuYy5jOiBBY3R1YWxseSBwcm92aWRlIHRoZSB2YXJpYWJsZXMgcmVxdWlyZWQgZm9yIHRoZSBmb3JtYXQgc3RyaW5nLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZmxhYy9nc3RmbGFjZW5jLmM6IChnc3RfZmxhY19lbmNfY2hlY2tfZGlzY29udCk6CgkgIEFjdHVhbGx5IHByb3ZpZGUgdGhlIHZhcmlhYmxlcyByZXF1aXJlZCBmb3IgdGhlIGZvcm1hdCBzdHJpbmcuCgoyMDA4LTA4LTA4IDE2OjIwOjI2ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguKjogQ2xvc2UgdGhlIGN1cnJlbnQgc2VnbWVudCBpZiB3ZSdyZSBkb2luZyBhIG5vbi1mbHVzaGluZyBzZWVrIGFuZCBzZW5kIHRoZSBjbG9zZS1zZWdtZW4uLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6IChnc3RfbWF0cm9za2FfZGVtdXhfcmVzZXQpLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X2VsZW1lbnRfc2VuZF9ldmVudCksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfaGFuZGxlX3NlZWtfZXZlbnQpLCAoZ3N0X21hdHJvc2thX2RlbXV4X2xvb3ApOgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5oOgoJICBDbG9zZSB0aGUgY3VycmVudCBzZWdtZW50IGlmIHdlJ3JlIGRvaW5nIGEgbm9uLWZsdXNoaW5nIHNlZWsgYW5kIHNlbmQKCSAgdGhlIGNsb3NlLXNlZ21lbnQgYW5kIHRoZSBuZXcgc2VnbWVudCBvZiB0aGUgc2VlayBmcm9tIHRoZSBzdHJlYW1pbmcKCSAgdGhyZWFkLgoKMjAwOC0wOC0wOCAxNToyMDoyNCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZXh0L2ZsYWMvZ3N0ZmxhY2VuYy4qOiBIYW5kbGUgbm9uLXplcm8gc3RhcnQgdGltZXN0YW1wcyBjb3JyZWN0bHksIG1hcmsgaGVhZGVyIHBhY2tldHMgYXMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2ZsYWMvZ3N0ZmxhY2VuYy5jOiAoZ3N0X2ZsYWNfZW5jX3dyaXRlX2NhbGxiYWNrKSwKCSAgKGdzdF9mbGFjX2VuY19jaGVja19kaXNjb250KSwgKGdzdF9mbGFjX2VuY19jaGFpbiksCgkgIChnc3RfZmxhY19lbmNfY2hhbmdlX3N0YXRlKToKCSAgKiBleHQvZmxhYy9nc3RmbGFjZW5jLmg6CgkgIEhhbmRsZSBub24temVybyBzdGFydCB0aW1lc3RhbXBzIGNvcnJlY3RseSwgbWFyayBoZWFkZXIgcGFja2V0cyBhcwoJICBJTl9DQVBTIGFuZCBwcmludCBhIHdhcm5pbmcgYW5kIHN1Z2dlc3QgdXNpbmcgYXVkaW9yYXRlIGlmIHN0cmVhbQoJICBkaXNjb250aW51aXRpZXMgYXJlIGRldGVjdGVkLiBXaGVuIEZMQUMgc3VwcG9ydHMgZmx1c2hpbmcgdGhlIGVuY29kZXIKCSAgc29tZWhvdyB0aGlzIHNob3VsZCBiZSBkb25lIGZvciBkaXNjb250aW51aXRpZXMgaW5zdGVhZC4KCSAgUmVtb3ZlIHNvbWUgdW51c2VkIHZhcmlhYmxlcyBmcm9tIHRoZSBpbnN0YW5jZSBzdHJ1Y3QuCgoyMDA4LTA4LTA3IDE3OjE0OjM5ICswMDAwICBDaHJpc3RpYW4gU2NoYWxsZXIgPHVyYWV1c0Bnbm9tZS5vcmc+CgoJKiBnc3QtcGx1Z2lucy1nb29kLnNwZWMuaW46CgkgIGFkZCBwdWxzZWF1ZGlvIHRvIHBsdWdpbnMgbGlzdCBpbiBzcGVjIGZpbGUKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGFkZCBwdWxzZWF1ZGlvIHRvIHBsdWdpbnMgbGlzdCBpbiBzcGVjIGZpbGUKCjIwMDgtMDgtMDcgMTY6MTM6NDEgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGV4dC9mbGFjL2dzdGZsYWNlbmMuYzogSWYgc2Vla2luZyBmYWlsZWQgcmV0dXJuIHRoZSBhcHByb3BpYXRlIHJldHVybiB2YWx1ZSB0byBGTEFDLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZmxhYy9nc3RmbGFjZW5jLmM6IChnc3RfZmxhY19lbmNfc2Vla19jYWxsYmFjayk6CgkgIElmIHNlZWtpbmcgZmFpbGVkIHJldHVybiB0aGUgYXBwcm9waWF0ZSByZXR1cm4gdmFsdWUgdG8gRkxBQy4KCSAgT3RoZXJ3aXNlIGl0IHRoaW5rcyBzZWVraW5nIHdhcyBzdWNjZXNzZnVsbCBhbmQgdHJpZXMgdG8gcmV3cml0ZQoJICBwYXJ0cyBvZiB0aGUgaGVhZGVycyB3aGljaCB0aGVuIGdldCBhcHBlbmRlZCB0byB0aGUgb3V0cHV0LgoKMjAwOC0wOC0wNyAxNjoxMTowMCArMDAwMCAgRnJlZGVyaWMgQ3JvemF0IDxmY3JvemF0QG1hbmRyaXZhLm9yZz4KCgkgIE1ha2Ugc3VyZSBnZXR0ZXh0IHJldHVybnMgdHJhbnNsYXRpb25zIGluIFVURi04IGVuY29kaW5nIHJhdGhlciB0aGFuIGluIHRoZSBjdXJyZW50IGxvY2FsZSBlbmNvZGluZyAoIzU0NjgyMikuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogRnJlZGVyaWMgQ3JvemF0IDxmY3JvemF0QG1hbmRyaXZhLm9yZz4KCSAgKiBleHQvZXNkL2dzdGVzZC5jOiAocGx1Z2luX2luaXQpOgoJICAqIGV4dC9mbGFjL2dzdGZsYWMuYzogKHBsdWdpbl9pbml0KToKCSAgKiBleHQvc2hvdXQyL2dzdHNob3V0Mi5jOiAocGx1Z2luX2luaXQpOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2suYzogKHBsdWdpbl9pbml0KToKCSAgKiBzeXMvb3NzL2dzdG9zc2F1ZGlvLmM6IChwbHVnaW5faW5pdCk6CgkgICogc3lzL3Y0bDIvZ3N0djRsMi5jOiAocGx1Z2luX2luaXQpOgoJICBNYWtlIHN1cmUgZ2V0dGV4dCByZXR1cm5zIHRyYW5zbGF0aW9ucyBpbiBVVEYtOCBlbmNvZGluZyByYXRoZXIKCSAgdGhhbiBpbiB0aGUgY3VycmVudCBsb2NhbGUgZW5jb2RpbmcgKCM1NDY4MjIpLgoKMjAwOC0wOC0wNyAxNDo0MDoxMyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5jOiBBZGQgRklYTUUgZm9yIDAuMTEgdG8gc2ltcGx5IG91dHB1dCBldmVyeXRoaW5nIHdpdGggd2lkdGg9MzIgYXMgZ2l2ZW4gYnkgRkxBQyBhbmQgbGV0IGF1ZGlvY29uLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9mbGFjL2dzdGZsYWNkZWMuYzoKCSAgQWRkIEZJWE1FIGZvciAwLjExIHRvIHNpbXBseSBvdXRwdXQgZXZlcnl0aGluZyB3aXRoIHdpZHRoPTMyIGFzIGdpdmVuCgkgIGJ5IEZMQUMgYW5kIGxldCBhdWRpb2NvbnZlcnQgaGFuZGxlIHRoZSBjb252ZXJzaW9ucyBpbnN0ZWFkIG9mIGRvaW5nCgkgIHRoZW0gaW4gZmxhY2RlYy4KCjIwMDgtMDgtMDcgMTA6MjI6MzIgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5jOiBXaGVuIG91dHB1dHRpbmcgYSBwYWQgdGVtcGxhdGUgcmFuZ2UgZm9yIHRoZSBzaXplLCBpbmNsdWRlIGEgZnJhbWVyYXRlIHJhbmdlIHRvbywgdG8gYXZvaWQgLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuYzogKGdzdF92NGwyc3JjX3Byb2JlX2NhcHNfZm9yX2Zvcm1hdCk6CgkgIFdoZW4gb3V0cHV0dGluZyBhIHBhZCB0ZW1wbGF0ZSByYW5nZSBmb3IgdGhlIHNpemUsIGluY2x1ZGUgYSBmcmFtZXJhdGUKCSAgcmFuZ2UgdG9vLCB0byBhdm9pZCAnbm90IGEgcmVhbCBzdWJzZXQgb2YgdGVtcGxhdGUgY2FwcycgZXJyb3JzLgoKMjAwOC0wOC0wNiAxNTozNDo1NSArMDAwMCAgSm9uYXRoYW4gTWF0dGhldyA8bm90dmVyeXNtYXJ0QGdtYWlsLmNvbT4KCgkgIGV4dC9mbGFjLzogUG9ydCBmbGFjdGFnIHRvIDAuMTAsIGFkZCBkb2N1bWVudGF0aW9uIGZvciBpdCBhbmQgY2xlYW4gaXQgdXAgYSBiaXQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBCYXNlZCBvbiBhIHBhdGNoIGJ5OiBKb25hdGhhbiBNYXR0aGV3IDxub3R2ZXJ5c21hcnQgYXQgZ21haWwgZG90IGNvbT4KCSAgKiBleHQvZmxhYy9NYWtlZmlsZS5hbToKCSAgKiBleHQvZmxhYy9nc3RmbGFjLmM6IChwbHVnaW5faW5pdCk6CgkgICogZXh0L2ZsYWMvZ3N0ZmxhY3RhZy5jOiAoZ3N0X2ZsYWNfdGFnX3NldHVwX2ludGVyZmFjZXMpLAoJICAoZ3N0X2ZsYWNfdGFnX2Jhc2VfaW5pdCksIChnc3RfZmxhY190YWdfY2xhc3NfaW5pdCksCgkgIChnc3RfZmxhY190YWdfZGlzcG9zZSksIChnc3RfZmxhY190YWdfaW5pdCksCgkgIChnc3RfZmxhY190YWdfc2lua19zZXRjYXBzKSwgKGdzdF9mbGFjX3RhZ19jaGFpbiksCgkgIChnc3RfZmxhY190YWdfY2hhbmdlX3N0YXRlKToKCSAgKiBleHQvZmxhYy9nc3RmbGFjdGFnLmg6CgkgIFBvcnQgZmxhY3RhZyB0byAwLjEwLCBhZGQgZG9jdW1lbnRhdGlvbiBmb3IgaXQgYW5kIGNsZWFuIGl0IHVwIGEgYml0LgoJICBGaXhlcyBidWcgIzQxMzg0MS4KCSAgKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1kb2NzLnNnbWw6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5oaWVyYXJjaHk6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5pbnRlcmZhY2VzOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMucHJlcmVxdWlzaXRlczoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmxhYy54bWw6CgkgICogZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5jOiAoZ3N0X2ZsYWNfZGVjX2Jhc2VfaW5pdCk6CgkgICogZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5oOgoJICAqIGV4dC9mbGFjL2dzdGZsYWNlbmMuYzogKGdzdF9mbGFjX2VuY19iYXNlX2luaXQpOgoJICAqIGV4dC9mbGFjL2dzdGZsYWNlbmMuaDoKCSAgQWRkIGZsYWN0YWcgYW5kIGZsYWNlbmMgdG8gdGhlIGRvY3VtZW50YXRpb24gYW5kIG1hcmsKCSAgdGhlIHByaXZhdGUgcGFydHMgb2YgdGhlIGZsYWNkZWMgaW5zdGFuY2Ugc3RydWN0dXJlIGFzIHByaXZhdGUuCgkgIEFsc28gdXNlIGdzdF9lbGVtZW50X2NsYXNzX3NldF9kZXRhaWxzX3NpbXBsZSgpIGluIGZsYWNkZWMgYW5kCgkgIGZsYWNlbmMuCgoyMDA4LTA4LTA2IDEzOjEyOjA3ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IFVzZSBhdWRpby94LXFkbSBmb3IgY2Fwcy4gQ29sbGVjdCBzb21lIGluZm8gLSBtcGxheWVyIGhhcyBhIGRlY29kZXIgZm9yIGl0IGJ1dCBmZm1wZWcgZG9lcyBub3QuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgVXNlIGF1ZGlvL3gtcWRtIGZvciBjYXBzLiBDb2xsZWN0IHNvbWUgaW5mbyAtIG1wbGF5ZXIgaGFzIGEgZGVjb2RlcgoJICBmb3IgaXQgYnV0IGZmbXBlZyBkb2VzIG5vdC4KCjIwMDgtMDgtMDUgMTU6MDU6NDQgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOiBIYW5kbGUgdGhlIGxpc3QgY2h1bmsgYW5kIHVzZSBnc3RfcmlmZl9wYXJzZV9pbmZvKCkgdG8gcGFyc2UgdGhlIGluZm8gc3ViLWNodW5rLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzoKCSAgSGFuZGxlIHRoZSBsaXN0IGNodW5rIGFuZCB1c2UgZ3N0X3JpZmZfcGFyc2VfaW5mbygpIHRvIHBhcnNlIHRoZSBpbmZvCgkgIHN1Yi1jaHVuay4KCjIwMDgtMDgtMDUgMTQ6MjI6MTIgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOiBIYW5kbGUgdGhlIGFjaWQgY2h1bmsgYW5kIHNlbmQgdGVtcG8gYXMgcGFydCBvZiB0YWdzLiBPdGhlciBmaWVsZHMgYXJlIGludGVyZXN0aW5nIHRvbywgYi4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzoKCSAgSGFuZGxlIHRoZSBhY2lkIGNodW5rIGFuZCBzZW5kIHRlbXBvIGFzIHBhcnQgb2YgdGFncy4gT3RoZXIgZmllbGRzIGFyZQoJICBpbnRlcmVzdGluZyB0b28sIGJ1dCBuZWVkIG1vcmUgdGFnLWRlZmluaXRpb25zLiBGaXhlcyAjNTQ1NDMzLgoKMjAwOC0wOC0wNSAxNDoxNjozMiArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6IFJlZmFjdG9yIHdhdnBhcnNlLiBDYWxsIF9yZXNldCgpIGZyb20gZGlzcG9zZSgpIGFuZCBtb3ZlIG9sZCBjb2RlIGZyb20gZGlzcG9zZSBpbnRvIHJlc2V0Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOgoJICBSZWZhY3RvciB3YXZwYXJzZS4gQ2FsbCBfcmVzZXQoKSBmcm9tIGRpc3Bvc2UoKSBhbmQgbW92ZSBvbGQgY29kZSBmcm9tCgkgIGRpc3Bvc2UgaW50byByZXNldC4gVGhpcyB3YXkgd2UgZG9uJ3QgbGVhayB0YWdsaXN0cyB3aGVuIHdlIGFib3J0CgkgIHBhcnNpbmcuIEZpeCBzb21lIGNvbW1lbnRzLiBNb3ZlIGNvZGUgZm9yIHNraXBwaW5nIGEgY2h1bmsgaW50byBleHRyYQoJICBmdW5jdGlvbi4gUmVwbGFjZSBjaHVuayBzaXplcyB3aXRoIGEgY29uc3QgdG8gZWFzZSByZWFkYWJpbGl0eS4KCjIwMDgtMDgtMDUgMTM6NTc6NTcgKzAwMDAgIEF1cmVsaWVuIEdyaW1hdWQgPGdzdGVsenpAeWFob28uZnI+CgoJICBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IEltcHJvdmUgdWRwIHBvcnQgc2V0dXAuIEZpeGVzICM1NDU3MTAuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogQXVyZWxpZW4gR3JpbWF1ZCA8Z3N0ZWx6eiBhdCB5YWhvbyBkb3QgZnI+CgkgICogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiAoZ3N0X3J0c3BzcmNfYWxsb2NfdWRwX3BvcnRzKToKCSAgSW1wcm92ZSB1ZHAgcG9ydCBzZXR1cC4gRml4ZXMgIzU0NTcxMC4KCjIwMDgtMDgtMDUgMTM6NTQ6MTggKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwLzogQWRkIE1QMVMgZGVwYXlsb2FkZXIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHAvTWFrZWZpbGUuYW06CgkgICogZ3N0L3J0cC9nc3RydHAuYzogKHBsdWdpbl9pbml0KToKCSAgKiBnc3QvcnRwL2dzdHJ0cG1wMXNkZXBheS5jOiAoZ3N0X3J0cF9tcDFzX2RlcGF5X2Jhc2VfaW5pdCksCgkgIChnc3RfcnRwX21wMXNfZGVwYXlfY2xhc3NfaW5pdCksIChnc3RfcnRwX21wMXNfZGVwYXlfaW5pdCksCgkgIChnc3RfcnRwX21wMXNfZGVwYXlfc2V0Y2FwcyksIChnc3RfcnRwX21wMXNfZGVwYXlfcHJvY2VzcyksCgkgIChnc3RfcnRwX21wMXNfZGVwYXlfc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9ydHBfbXAxc19kZXBheV9nZXRfcHJvcGVydHkpLAoJICAoZ3N0X3J0cF9tcDFzX2RlcGF5X2NoYW5nZV9zdGF0ZSksCgkgIChnc3RfcnRwX21wMXNfZGVwYXlfcGx1Z2luX2luaXQpOgoJICAqIGdzdC9ydHAvZ3N0cnRwbXAxc2RlcGF5Lmg6CgkgIEFkZCBNUDFTIGRlcGF5bG9hZGVyLgoJICAqIGdzdC9ydHNwL1VSTFM6CgkgIFNvbWUgbW9yZSBzYW1wbGUgcnRzcCBzdHJlYW1zLgoKMjAwOC0wOC0wNSAwODo0Mzo0NSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHNwL1VSTFM6IEFkZCBhbm90aGVyIFVSTC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0c3AvVVJMUzoKCSAgQWRkIGFub3RoZXIgVVJMLgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2lkM3YybXV4LmM6ICh0ZXN0X3RhZ2xpYl9pZDNtdXhfd2l0aF90YWdzKToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9yZ2xpbWl0ZXIuYzogKEdTVF9TVEFSVF9URVNUKToKCSAgQWRkIHNvbWUgbW9yZSBkZWJ1ZyBpbmZvLgoKMjAwOC0wOC0wNCAwOToxNjo0MCArMDAwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJICBnc3QvYXZpL2dzdGF2aW11eC5jOiBQcm92aWRlIGNiU2l6ZSBmaWVsZCBmb3IgYXVkaW8gZXh0cmFfZGF0YSBzaXplLCBhbmQgdGFrZSBjYXJlIHRvIHBhZCBleHRyYV9kYXRhLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXZpL2dzdGF2aW11eC5jOiAoZ3N0X2F2aV9tdXhfcmlmZl9nZXRfYXZpX2hlYWRlcik6CgkgIFByb3ZpZGUgY2JTaXplIGZpZWxkIGZvciBhdWRpbyBleHRyYV9kYXRhIHNpemUsIGFuZCB0YWtlIGNhcmUgdG8KCSAgcGFkIGV4dHJhX2RhdGEuCgoyMDA4LTA4LTA0IDA3OjIzOjA3ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IFJldHVybiB0aGUgcmVzdWx0IG9mIGdzdF9wYWRfe3N0YXJ0LHN0b3B9X3Rhc2sgaW5zdGVhZCBvZiBoYXJkLWNvZGVkCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgUmV0dXJuIHRoZSByZXN1bHQgb2YgZ3N0X3BhZF97c3RhcnQsc3RvcH1fdGFzayBpbnN0ZWFkIG9mIGhhcmQtY29kZWQKCSAgVFJVRS4KCjIwMDgtMDgtMDQgMDc6MTc6MzggKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC9xdGRlbXV4LzogQWRkIGtleXdvcmQgdGFnIHN1cHBvcnQuIEZpeGVzICM1MjA2OTQgZm9yIHF0ZGVtdXguCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4X2ZvdXJjYy5oOgoJICBBZGQga2V5d29yZCB0YWcgc3VwcG9ydC4gRml4ZXMgIzUyMDY5NCBmb3IgcXRkZW11eC4KCjIwMDgtMDgtMDQgMDc6MDU6MzMgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogQWRkIHN1cHBvcnQgZm9yIHRtcG8gdGFnIChCUE0pLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIEFkZCBzdXBwb3J0IGZvciB0bXBvIHRhZyAoQlBNKS4KCjIwMDgtMDgtMDMgMTI6MjM6NDkgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGV4dC9mbGFjL2dzdGZsYWNlbmMuYzogU2V0IGFuIGVzdGltYXRlIGZvciB0aGUgdG90YWwgbnVtYmVyIG9mIHNhbXBsZXMgdGhhdCB3aWxsIGJlIGVuY29kZWQgaWYgcG9zc2libGUgdG8gaGVscCBkZWNvZC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZmxhYy9nc3RmbGFjZW5jLmM6IChnc3RfZmxhY19lbmNfcXVlcnlfcGVlcl90b3RhbF9zYW1wbGVzKSwKCSAgKGdzdF9mbGFjX2VuY19zaW5rX3NldGNhcHMpLCAoZ3N0X2ZsYWNfZW5jX3dyaXRlX2NhbGxiYWNrKToKCSAgU2V0IGFuIGVzdGltYXRlIGZvciB0aGUgdG90YWwgbnVtYmVyIG9mIHNhbXBsZXMgdGhhdCB3aWxsIGJlIGVuY29kZWQKCSAgaWYgcG9zc2libGUgdG8gaGVscCBkZWNvZGVycyBpZiB0aGUgc3RyZWFtaW5mbyBjYW4ndCBiZSByZXdyaXR0ZW4KCSAgbGF0ZXIgKGxpa2Ugd2hlbiBtdXhpbmcgaW50byBPZ2cgY29udGFpbmVycykuCgkgIEFkZCBhIHdhcm5pbmcgaWYgd2UgZ2V0IGhlYWRlciBwYWNrZXRzIGFmdGVyIGRhdGEgcGFja2V0cyBhcyB0aG9zZQoJICB3aWxsIGdldCBsb3N0IHdoZW4gbXV4aW5nIGludG8gT2dnLCBpLmUuIHJld3JpdGluZyB0aGUgaGVhZGVycyBkb2Vzbid0CgkgIHdvcmsuCgoyMDA4LTA4LTAzIDExOjM4OjIyICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBleHQvZmxhYy9nc3RmbGFjZGVjLmM6IFN1cHBvcnQgZGVjb2Rpbmcgb2YgYWxsIGRlcHRocyBiZXR3ZWVuIDQgYW5kIDMyIGJpdHMgYW5kIHJlYWQgdGhlIGRlcHRoIGZyb20gdGhlIHN0cmVhbWluZm8gaGUuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5jOiAoZ3N0X2ZsYWNfZGVjX21ldGFkYXRhX2NhbGxiYWNrKSwKCSAgKGdzdF9mbGFjX2RlY193cml0ZSk6CgkgIFN1cHBvcnQgZGVjb2Rpbmcgb2YgYWxsIGRlcHRocyBiZXR3ZWVuIDQgYW5kIDMyIGJpdHMgYW5kIHJlYWQgdGhlCgkgIGRlcHRoIGZyb20gdGhlIHN0cmVhbWluZm8gaGVhZGVyIGlmIG5lZWRlZC4gQWxzbyBzdXBwb3J0IGFsbCBzYW1wbGluZwoJICByYXRlcyBiZXR3ZWVuIDEgYW5kIDY1NTM1MCBIei4KCSAgKiBleHQvZmxhYy9nc3RmbGFjZW5jLmM6CgkgIChnc3RfZmxhY19lbmNfY2Fwc19hcHBlbmRfc3RydWN0dXJlX3dpdGhfd2lkdGhzKSwKCSAgKGdzdF9mbGFjX2VuY19zaW5rX2dldGNhcHMpLCAoZ3N0X2ZsYWNfZW5jX3Npbmtfc2V0Y2FwcyksCgkgIChnc3RfZmxhY19lbmNfY2hhaW4pOgoJICAqIGV4dC9mbGFjL2dzdGZsYWNlbmMuaDoKCSAgU3VwcG9ydCBlbmNvZGluZyBpbiBhbGwgYml0IGRlcHRocyBzdXBwb3J0ZWQgYnkgdGhlIHN0cmVhbWFibGUKCSAgc3ViZm9ybWF0IChpLmUuIDgsIDEyLCAxNiwgMjAgYW5kIDI0IGJpdHMpIGFuZCBhbGwgc2FtcGxpbmcgcmF0ZXMKCSAgYmV0d2VlbiAxIEh6IGFuZCA2NTUzNTAgSHouCgoyMDA4LTA4LTAzIDA5OjIzOjE0ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBleHQvZmxhYy9nc3RmbGFjZW5jLmM6IFN1cHBvcnQgZW5jb2Rpbmcgb2YgdXAgdG8gOCBjaGFubmVscy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2ZsYWMvZ3N0ZmxhY2VuYy5jOiAoZ3N0X2ZsYWNfZW5jX2luaXQpLAoJICAoZ3N0X2ZsYWNfZW5jX3NpbmtfZ2V0Y2Fwcyk6CgkgIFN1cHBvcnQgZW5jb2Rpbmcgb2YgdXAgdG8gOCBjaGFubmVscy4KCjIwMDgtMDgtMDIgMjE6Mzk6MDEgKzAwMDAgIFdvdXRlciBDbG9ldGVucyA8d291dGVyQG1pbmQuYmU+CgoJICBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy4qOiBGaXggc2Vla2luZyByYWNlIGNvbmRpdGlvbiBpbiAjNTQwMzAwCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6CgkgICogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuaDoKCSAgRml4IHNlZWtpbmcgcmFjZSBjb25kaXRpb24gaW4gIzU0MDMwMAoJICBQYXRjaCBCeTogV291dGVyIENsb2V0ZW5zICA8d291dGVyIGF0IG1pbmQgYmU+CgoyMDA4LTA4LTAyIDE4OjM1OjIxICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzogV2hlbiByZWNlaXZpbmcgYSBTRUVLIGV2ZW50IG9uIGEgc3BlY2lmaWMgcGFkIGZpcnN0IHNlYXJjaCBmb3IgYSBzZWVrIHRhYmxlIGVudHJ5IGZvciAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6IChnc3RfbWF0cm9za2FkZW11eF9kb19pbmRleF9zZWVrKSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9lbGVtZW50X3NlbmRfZXZlbnQpLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X2hhbmRsZV9zZWVrX2V2ZW50KSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9oYW5kbGVfc3JjX2V2ZW50KToKCSAgV2hlbiByZWNlaXZpbmcgYSBTRUVLIGV2ZW50IG9uIGEgc3BlY2lmaWMgcGFkIGZpcnN0IHNlYXJjaCBmb3IgYSBzZWVrCgkgIHRhYmxlIGVudHJ5IGZvciB0aGUgc3RyZWFtIG9mIHRoZSBwYWQgYW5kIHRoZW4gZmFsbCBiYWNrIHRvIGFuIGVudHJ5CgkgIGZvciBhIGRpZmZlcmVudCBzdHJlYW0uCgoyMDA4LTA4LTAyIDE4OjIwOjQ0ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBCdWlsZCBkZXBlbmQgb24gY29yZSBDVlMgZm9yIHRoZSBhdHRhY2htZW50IHRhZy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1pZHMuYzogKGdzdF9tYXRyb3NrYV9yZWdpc3Rlcl90YWdzKToKCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtaWRzLmg6CgkgIEJ1aWxkIGRlcGVuZCBvbiBjb3JlIENWUyBmb3IgdGhlIGF0dGFjaG1lbnQgdGFnLgoKMjAwOC0wOC0wMiAxODoxODowNSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgRGVjb2RlIHRoZSBjb2RlYyBwcml2YXRlIGRhdGEgYW5kIGZvbGxvd2luZyBDb250ZW50RW5jb2RpbmcgaWYgbmVjZXNzYXJ5LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgICogZ3N0L21hdHJvc2thL01ha2VmaWxlLmFtOgoJICAqIGdzdC9tYXRyb3NrYS9sem8uYzogKGdldF9ieXRlKSwgKGdldF9sZW4pLCAoY29weSksCgkgIChjb3B5X2JhY2twdHIpLCAobHpvMXhfZGVjb2RlKSwgKG1haW4pOgoJICAqIGdzdC9tYXRyb3NrYS9sem8uaDoKCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9yZWFkX3RyYWNrX2VuY29kaW5nKSwKCSAgKGdzdF9tYXRyb3NrYV9kZWNvbXByZXNzX2RhdGEpLCAoZ3N0X21hdHJvc2thX2RlY29kZV9kYXRhKSwKCSAgKGdzdF9tYXRyb3NrYV9kZWNvZGVfYnVmZmVyKSwKCSAgKGdzdF9tYXRyb3NrYV9kZWNvZGVfY29udGVudF9lbmNvZGluZ3MpLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X3JlYWRfdHJhY2tfZW5jb2RpbmdzKSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9hZGRfc3RyZWFtKSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9wYXJzZV9ibG9ja2dyb3VwX29yX3NpbXBsZWJsb2NrKToKCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtaWRzLmg6CgkgIERlY29kZSB0aGUgY29kZWMgcHJpdmF0ZSBkYXRhIGFuZCBmb2xsb3dpbmcgQ29udGVudEVuY29kaW5nIGlmCgkgIG5lY2Vzc2FyeS4KCSAgU3VwcG9ydCBiemlwMiwgbHpvIGFuZCBoZWFkZXIgc3RyaXBwZWQgY29tcHJlc3Npb24uIEZvciBsem8gdXNlIHRoZQoJICBmZm1wZWcgbHpvIGltcGxlbWVudGF0aW9uIGFzIGxpYmx6byBpcyBHUEwgbGljZW5zZWQuCgkgIEZpeCB6bGliIGRlY29tcHJlc3Npb24uCgoyMDA4LTA4LTAyIDE4OjExOjMyICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6IEZpeCBtdXhpbmcgb2YgTVAzL01QMiB3aXRoIGRpZmZlcmVudCBNUEVHIHZlcnNpb25zIGJ5IGNhbGN1bGF0aW5nIHRoZSBkdXJhdGlvbiBvZiBhIGZyYW0uLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJICAoZ3N0X21hdHJvc2thX211eF9hdWRpb19wYWRfc2V0Y2Fwcyk6CgkgIEZpeCBtdXhpbmcgb2YgTVAzL01QMiB3aXRoIGRpZmZlcmVudCBNUEVHIHZlcnNpb25zIGJ5IGNhbGN1bGF0aW5nIHRoZQoJICBkdXJhdGlvbiBvZiBhIGZyYW1lIHdpdGggdGhlIG5ldyBtcGVnYXVkaW92ZXJzaW9uIGNhcHMgZmllbGQuCgoyMDA4LTA4LTAyIDE4OjA2OjIwICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguKjogQWxsb3cgYW4gaW5maW5pdGUgbnVtYmVyIG9mIHN0cmVhbSBpbnNpZGUgTWF0cm9za2EgY29udGFpbmVycyBhbmQgdXNlIGEgR1B0ckFycmF5IGZvciAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6IChnc3RfbWF0cm9za2FfZGVtdXhfZmluYWxpemUpLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X2NsYXNzX2luaXQpLCAoZ3N0X21hdHJvc2thX2RlbXV4X2luaXQpLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X2NvbWJpbmVfZmxvd3MpLCAoZ3N0X21hdHJvc2thX2RlbXV4X3Jlc2V0KSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9zdHJlYW1fZnJvbV9udW0pLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X3RyYWNrbnVtYmVyX3VuaXF1ZSksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfYWRkX3N0cmVhbSksIChnc3RfbWF0cm9za2FfZGVtdXhfc2VuZF9ldmVudCksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfaGFuZGxlX3NlZWtfZXZlbnQpLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X3N5bmNfc3RyZWFtcyksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfcGFyc2VfYmxvY2tncm91cF9vcl9zaW1wbGVibG9jayksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfbG9vcCk6CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4Lmg6CgkgIEFsbG93IGFuIGluZmluaXRlIG51bWJlciBvZiBzdHJlYW0gaW5zaWRlIE1hdHJvc2thIGNvbnRhaW5lcnMgYW5kIHVzZQoJICBhIEdQdHJBcnJheSBmb3Igc3RvcmluZyB0aGVtIGluc3RlYWQgb2YgYWxsb3dpbmcgIm9ubHkiIDEyNyBzdHJlYW1zLgoKMjAwOC0wOC0wMiAxODowMTozNiArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L21hdHJvc2thLzogRml4IGluZGVudGlvbiBldmVyeXdoZXJlLiBBIGJyb2tlbiBpbmRlbnQgdmVyc2lvbiBoYXMgYWRkZWQgbmV3bGluZXMgYWZ0ZXIgZXZlcnkgc2luZ2xlIGRlY2xhcmF0aW9uIHNvLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tYXRyb3NrYS9lYm1sLXJlYWQuYzogKGdzdF9lYm1sX3JlYWRfY2xhc3NfaW5pdCksCgkgIChnc3RfZWJtbF9yZWFkX2NoYW5nZV9zdGF0ZSksIChnc3RfZWJtbF9yZWFkX2VsZW1lbnRfbGV2ZWxfdXApLAoJICAoZ3N0X2VibWxfcmVhZF9wZWVrX2J5dGVzKSwgKGdzdF9lYm1sX3JlYWRfZWxlbWVudF9pZCksCgkgIChnc3RfZWJtbF9yZWFkX2VsZW1lbnRfbGVuZ3RoKSwgKGdzdF9lYm1sX3BlZWtfaWQpLAoJICAoZ3N0X2VibWxfcmVhZF9nZXRfbGVuZ3RoKSwgKGdzdF9lYm1sX3JlYWRfc2tpcCksCgkgIChnc3RfZWJtbF9yZWFkX2J1ZmZlciksIChnc3RfZWJtbF9yZWFkX2J5dGVzKSwKCSAgKGdzdF9lYm1sX3JlYWRfdWludCksIChnc3RfZWJtbF9yZWFkX3NpbnQpLCAoX2V4dDJkYmwpLAoJICAoZ3N0X2VibWxfcmVhZF9mbG9hdCksIChnc3RfZWJtbF9yZWFkX2FzY2lpKSwgKGdzdF9lYm1sX3JlYWRfZGF0ZSksCgkgIChnc3RfZWJtbF9yZWFkX21hc3RlciksIChnc3RfZWJtbF9yZWFkX2JpbmFyeSksCgkgIChnc3RfZWJtbF9yZWFkX2hlYWRlcik6CgkgICogZ3N0L21hdHJvc2thL2VibWwtd3JpdGUuYzogKGdzdF9lYm1sX3dyaXRlX2VsZW1lbnRfaWQpLAoJICAoZ3N0X2VibWxfd3JpdGVfZWxlbWVudF9zaXplKSwgKGdzdF9lYm1sX3dyaXRlX3VpbnQpLAoJICAoZ3N0X2VibWxfd3JpdGVfc2ludCksIChnc3RfZWJtbF93cml0ZV9hc2NpaSksCgkgIChnc3RfZWJtbF93cml0ZV9tYXN0ZXJfc3RhcnQpLCAoZ3N0X2VibWxfd3JpdGVfbWFzdGVyX2ZpbmlzaCksCgkgIChnc3RfZWJtbF9yZXBsYWNlX3VpbnQpOgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOiAoZ3N0X21hdHJvc2thX2RlbXV4X3Jlc2V0KSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9yZWFkX3RyYWNrX2VuY29kaW5nKSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9yZWFkX3RyYWNrX2VuY29kaW5ncyksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfYWRkX3N0cmVhbSksIChnc3RfbWF0cm9za2FkZW11eF9kb19pbmRleF9zZWVrKSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9zZW5kX2V2ZW50KSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9lbGVtZW50X3NlbmRfZXZlbnQpLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X2hhbmRsZV9zZWVrX2V2ZW50KSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9oYW5kbGVfc3JjX2V2ZW50KSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9pbml0X3N0cmVhbSksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfcGFyc2VfdHJhY2tzKSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9wYXJzZV9pbmRleF9jdWV0cmFjayksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfcGFyc2VfaW5kZXhfcG9pbnRlbnRyeSksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfcGFyc2VfaW5kZXgpLCAoZ3N0X21hdHJvc2thX2RlbXV4X3BhcnNlX2luZm8pLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X3BhcnNlX21ldGFkYXRhX2lkX3NpbXBsZV90YWcpLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X3BhcnNlX21ldGFkYXRhX2lkX3RhZyksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfcGFyc2VfbWV0YWRhdGEpLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X3BhcnNlX2F0dGFjaGVkX2ZpbGUpLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X3BhcnNlX2F0dGFjaG1lbnRzKSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9wYXJzZV9jaGFwdGVycyksIChnc3RfbWF0cm9za2FfZWJtbG51bV91aW50KSwKCSAgKGdzdF9tYXRyb3NrYV9lYm1sbnVtX3NpbnQpLCAoZ3N0X21hdHJvc2thX2RlbXV4X3B1c2hfaGRyX2J1ZiksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfcHVzaF9mbGFjX2NvZGVjX3ByaXZfZGF0YSksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfcHVzaF94aXBoX2NvZGVjX3ByaXZfZGF0YSksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfcHVzaF9kdmRfY2x1dF9jaGFuZ2VfZXZlbnQpLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X2FkZF9tcGVnX3NlcV9oZWFkZXIpLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X2FkZF93dnBrX2hlYWRlciksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfY2hlY2tfc3VidGl0bGVfYnVmZmVyKSwKCSAgKGdzdF9tYXRyb3NrYV9kZWNvZGVfYnVmZmVyKSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9wYXJzZV9ibG9ja2dyb3VwX29yX3NpbXBsZWJsb2NrKSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9wYXJzZV9jbHVzdGVyKSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9wYXJzZV9jb250ZW50c19zZWVrZW50cnkpLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X3BhcnNlX2NvbnRlbnRzKSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9sb29wX3N0cmVhbV9wYXJzZV9pZCksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfbG9vcF9zdHJlYW0pLCAoZ3N0X21hdHJvc2thX2RlbXV4X2xvb3ApLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X3ZpZGVvX2NhcHMpLCAoZ3N0X21hdHJvc2thX2RlbXV4X2F1ZGlvX2NhcHMpLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X3N1YnRpdGxlX2NhcHMpLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X2NoYW5nZV9zdGF0ZSk6CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLWlkcy5jOgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzogKGdzdF9tYXRyb3NrYV9tdXhfY2xhc3NfaW5pdCksCgkgIChnc3RfbWF0cm9za2FfbXV4X3Jlc2V0KSwgKGdzdF9tYXRyb3NrYV9tdXhfaGFuZGxlX3NpbmtfZXZlbnQpLAoJICAoZ3N0X21hdHJvc2thX211eF92aWRlb19wYWRfc2V0Y2FwcyksCgkgICh4aXBoM19zdHJlYW1oZWFkZXJfdG9fY29kZWNkYXRhKSwKCSAgKHZvcmJpc19zdHJlYW1oZWFkZXJfdG9fY29kZWNkYXRhKSwKCSAgKHRoZW9yYV9zdHJlYW1oZWFkZXJfdG9fY29kZWNkYXRhKSwKCSAgKGdzdF9tYXRyb3NrYV9tdXhfYXVkaW9fcGFkX3NldGNhcHMpLAoJICAoZ3N0X21hdHJvc2thX211eF9yZXF1ZXN0X25ld19wYWQpLCAoZ3N0X21hdHJvc2thX211eF9yZWxlYXNlX3BhZCksCgkgIChnc3RfbWF0cm9za2FfbXV4X3RyYWNrX2hlYWRlciksIChnc3RfbWF0cm9za2FfbXV4X3N0YXJ0KSwKCSAgKGdzdF9tYXRyb3NrYV9tdXhfd3JpdGVfc2ltcGxlX3RhZyksIChnc3RfbWF0cm9za2FfbXV4X2ZpbmlzaCksCgkgIChnc3RfbWF0cm9za2FfbXV4X2Jlc3RfcGFkKSwgKGdzdF9tYXRyb3NrYV9tdXhfd3JpdGVfZGF0YSksCgkgIChnc3RfbWF0cm9za2FfbXV4X2NvbGxlY3RlZCksIChnc3RfbWF0cm9za2FfbXV4X2NoYW5nZV9zdGF0ZSk6CgkgIEZpeCBpbmRlbnRpb24gZXZlcnl3aGVyZS4gQSBicm9rZW4gaW5kZW50IHZlcnNpb24gaGFzIGFkZGVkIG5ld2xpbmVzCgkgIGFmdGVyIGV2ZXJ5IHNpbmdsZSBkZWNsYXJhdGlvbiBzb21lIHRpbWUgYWdvLgoKMjAwOC0wOC0wMiAxNzo1OTowNSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6IElmIG5vIFRyYWNrcyBhcmUgZm91bmQgZXJyb3Igb3V0IGluc3RlYWQgb2YgdHJ5aW5nIGl0IGFnYWluIHVudGlsIHRoZSBlbmQgb2YgdGltZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIChnc3RfbWF0cm9za2FfZGVtdXhfbG9vcF9zdHJlYW1fcGFyc2VfaWQpOgoJICBJZiBubyBUcmFja3MgYXJlIGZvdW5kIGVycm9yIG91dCBpbnN0ZWFkIG9mIHRyeWluZyBpdCBhZ2FpbiB1bnRpbCB0aGUKCSAgZW5kIG9mIHRpbWUuCgoyMDA4LTA4LTAyIDE3OjU3OjMxICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzogRml4IGRlbXV4aW5nIG9mIHJhdyBpbnRlZ2VyIGF1ZGlvLiBUaGUgc2FtcGxlcyBhcmUgdW5zaWduZWQgb25seSBmb3IgOCBiaXQgYW5kIHNpZ25lZCAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6IChnc3RfbWF0cm9za2FfZGVtdXhfYXVkaW9fY2Fwcyk6CgkgIEZpeCBkZW11eGluZyBvZiByYXcgaW50ZWdlciBhdWRpby4gVGhlIHNhbXBsZXMgYXJlIHVuc2lnbmVkIG9ubHkgZm9yIDgKCSAgYml0IGFuZCBzaWduZWQgb3RoZXJ3aXNlLCBub3QgdGhlIG90aGVyIHdheSBhcm91bmQuCgoyMDA4LTA4LTAyIDE3OjU0OjA0ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6IEFkZCBtb3JlIHJhdyBZVVYgZm9ybWF0cyB0byB0aGUgbGlzdCBvZiBzdXBwb3J0ZWQgZm9ybWF0cy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJICBBZGQgbW9yZSByYXcgWVVWIGZvcm1hdHMgdG8gdGhlIGxpc3Qgb2Ygc3VwcG9ydGVkIGZvcm1hdHMuCgoyMDA4LTA4LTAyIDE3OjUyOjE2ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6IEFkZCBzdXBwb3J0IGZvciBtdXhpbmcgcmF3IGZsb2F0IGF1ZGlvIG5vdyB0aGF0IHRoZSBzcGVjIGRlZmluZXMgdGhlIGVuZGlhbm5lc3MgYW5kIGFkZCAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJICAoZ3N0X21hdHJvc2thX211eF9hdWRpb19wYWRfc2V0Y2Fwcyk6CgkgIEFkZCBzdXBwb3J0IGZvciBtdXhpbmcgcmF3IGZsb2F0IGF1ZGlvIG5vdyB0aGF0IHRoZSBzcGVjIGRlZmluZXMgdGhlCgkgIGVuZGlhbm5lc3MgYW5kIGFkZCBzdXBwb3J0IGZvciBtdXhpbmcgcmF3IGludGVnZXIgYXVkaW8gd2l0aCAyNCBhbmQKCSAgMzIgYml0cy4KCSAgQWxsb3cgbXV4aW5nIG9mIG1vcmUgdGhhbiA4IGF1ZGlvIGNoYW5uZWxzLgoKMjAwOC0wOC0wMiAxNzo0NzozMiArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOiBBZGQgbG9ja2luZyB0byB0aGUgZ2xvYmFsIGFycmF5IG9mIHVzZWQgdHJhY2sgVUlEcyB0byBwcmV2ZW50IHJhbmRvbSBjcmFzaGVzIGlmIG1vcmUgdGhhLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzogKGdzdF9tYXRyb3NrYV9tdXhfY3JlYXRlX3VpZCksCgkgIChnc3RfbWF0cm9za2FfbXV4X3Jlc2V0KSwgKGdzdF9tYXRyb3NrYV9tdXhfc3RhcnQpOgoJICBBZGQgbG9ja2luZyB0byB0aGUgZ2xvYmFsIGFycmF5IG9mIHVzZWQgdHJhY2sgVUlEcyB0byBwcmV2ZW50IHJhbmRvbQoJICBjcmFzaGVzIGlmIG1vcmUgdGhhbiBhIHNpbmdsZSBtYXRyb3NtdXggaW5zdGFuY2UgaXMgdXNlZC4KCSAgVXNlIDY0IGJpdCB2YWx1ZXMgZm9yIHRoZSB0cmFjayBVSURzLgoJICBVc2UgdGhlIGdsb2JhbCBHUmFuZG9tIG9mIEdMaWIgaW5zdGVhZCBvZiBjcmVhdGluZyBvdXIgb3duIG9uZQoJICBmb3IgdGhlIGZldyByYW5kb20gbnVtYmVycyB3ZSBuZWVkIGV2ZXJ5IHNpbmdsZSB0aW1lLgoKMjAwOC0wOC0wMiAxNzoxODo0NyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5jOiBBbHdheXMgcG9zdCB0aGUgYXVkaW8tY29kZWMgdGFnLCBub3Qgb25seSBpZiBvdGhlciB0YWdzIGFyZSBwcmVzZW50LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZmxhYy9nc3RmbGFjZGVjLmM6IChnc3RfZmxhY19kZWNfc2V0dXBfc2Vla2FibGVfZGVjb2RlciksCgkgIChnc3RfZmxhY19kZWNfc2V0dXBfc3RyZWFtX2RlY29kZXIpLAoJICAoZ3N0X2ZsYWNfZGVjX3VwZGF0ZV9tZXRhZGF0YSk6CgkgIEFsd2F5cyBwb3N0IHRoZSBhdWRpby1jb2RlYyB0YWcsIG5vdCBvbmx5IGlmIG90aGVyIHRhZ3MgYXJlIHByZXNlbnQuCgoyMDA4LTA4LTAxIDIzOjI2OjUwICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGNvbmZpZ3VyZS5hYzogQmFjayB0byBkZXZlbG9wbWVudCAtPiAwLjEwLjkuMQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIEJhY2sgdG8gZGV2ZWxvcG1lbnQgLT4gMC4xMC45LjEKCjIwMDgtMDgtMDEgMTU6NTg6NDcgKzAwMDAgIENocmlzdGlhbiBTY2hhbGxlciA8dXJhZXVzQGdub21lLm9yZz4KCgkqIGdzdC1wbHVnaW5zLWdvb2Quc3BlYy5pbjoKCSAgYWRkIG1pc3NpbmcgZ3N0cmVhbWVyIHBsdWdpbnMgdG8gc3BlYyBmaWxlCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBhZGQgbWlzc2luZyBnc3RyZWFtZXIgcGx1Z2lucyB0byBzcGVjIGZpbGUKCj09PSByZWxlYXNlIDAuMTAuOSA9PT0KCjIwMDgtMDctMzEgMjI6MTA6MTcgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSogQ2hhbmdlTG9nOgoJKiBORVdTOgoJKiBSRUxFQVNFOgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaW50ZXJmYWNlczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5wcmVyZXF1aXNpdGVzOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tMTM5NC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYWNvbG9yLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFubm9kZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXBldGFnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvZngueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvZGV0ZWN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF2aS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWNhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWlyby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWN1dHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmVuY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZmZWN0di54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lcXVhbGl6ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXNkc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbGFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZseGRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nYW1tYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nY29uZmVsZW1lbnRzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdka3BpeGJ1Zi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20yazEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taGFsZWxlbWVudHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWN5ZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXJsZWF2ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxldmVsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1hdHJvc2thLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1vbm9zY29wZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aWZpbGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlwYXJ0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5hdmlnYXRpb250ZXN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zc2F1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBuZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wdWxzZWF1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXF1aWNrdGltZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXBsYXlnYWluLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHNwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNob3V0MnNlbmQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc21wdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVjdHJ1bS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10YWdsaWIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdWRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvNGxpbnV4Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2JhbGFuY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9ib3gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9jcm9wLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvZmxpcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb21peGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXhpbWFnZXNyYy54bWw6CgkqIGdzdC1wbHVnaW5zLWdvb2QuZG9hcDoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICBSZWxlYXNlIDAuMTAuOQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUmVsZWFzZSAwLjEwLjkKCjIwMDgtMDctMzEgMjE6NTA6NDQgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSogcG8vYWYucG86CgkqIHBvL2F6LnBvOgoJKiBwby9iZy5wbzoKCSogcG8vY3MucG86CgkqIHBvL2RhLnBvOgoJKiBwby9lbl9HQi5wbzoKCSogcG8vZXMucG86CgkqIHBvL2V1LnBvOgoJKiBwby9maS5wbzoKCSogcG8vZnIucG86CgkqIHBvL2h1LnBvOgoJKiBwby9pdC5wbzoKCSogcG8vamEucG86CgkqIHBvL2x0LnBvOgoJKiBwby9uYi5wbzoKCSogcG8vbmwucG86CgkqIHBvL29yLnBvOgoJKiBwby9wbC5wbzoKCSogcG8vcHRfQlIucG86CgkqIHBvL3J1LnBvOgoJKiBwby9zay5wbzoKCSogcG8vc3EucG86CgkqIHBvL3NyLnBvOgoJKiBwby9zdi5wbzoKCSogcG8vdWsucG86CgkqIHBvL3ZpLnBvOgoJKiBwby96aF9DTi5wbzoKCSogcG8vemhfSEsucG86CgkqIHBvL3poX1RXLnBvOgoJICBVcGRhdGUgLnBvIGZpbGVzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBVcGRhdGUgLnBvIGZpbGVzCgoyMDA4LTA3LTMxIDIxOjI2OjQ4ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6IERvbid0IHRocm93IGFuIGVycm9yIHdoZW4gc291cCBjb21wbGV0ZXMgYSBtc2cgd2l0aCBzdGF0dXMgJ2NhbmNlbGxlZCcsIGFzIHRoYXQgaW5kaWNhdGVzIC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOgoJICBEb24ndCB0aHJvdyBhbiBlcnJvciB3aGVuIHNvdXAgY29tcGxldGVzIGEgbXNnIHdpdGggc3RhdHVzCgkgICdjYW5jZWxsZWQnLCBhcyB0aGF0IGluZGljYXRlcyB3ZSBjYW5jZWxsZWQgYSByZXF1ZXN0IHdoaWxlCgkgIHNodXR0aW5nIGRvd24gb3Igc2Vla2luZywgYW5kIGl0J3Mgbm90IGFuIGVycm9yLgoJICBGaXhlczogIzU0MDMwMCBhZ2Fpbi4KCjIwMDgtMDctMjggMjA6MTc6NDYgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgY29uZmlndXJlLmFjOiAwLjEwLjguNCBwcmUtcmVsZWFzZQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIDAuMTAuOC40IHByZS1yZWxlYXNlCgoyMDA4LTA3LTI1IDE0OjUwOjAzICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBGaXggc2VnbWVudC1zdG9wIHJlZ3Jlc3Npb24uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKGdzdF9xdGRlbXV4X2FjdGl2YXRlX3NlZ21lbnQpOgoJICBGaXggc2VnbWVudC1zdG9wIHJlZ3Jlc3Npb24uCgkgIEFkZCBkb2N1bWVudGF0aW9uIHJlZ2FyZGluZyBzZWdtZW50cyBpbiBxdWlja3RpbWUgZmlsZXMgYnkgV2ltIFRheW1hbnMuCgkgIEZpeGVzICM1NDQ1MDkKCjIwMDgtMDctMjQgMjM6NTU6NTggKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgY29uZmlndXJlLmFjOiAwLjEwLjguMyBwcmUtcmVsZWFzZQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIDAuMTAuOC4zIHByZS1yZWxlYXNlCgkgICogcG8vTElOR1VBUzoKCSAgKiBwby9wdF9CUi5wbzoKCSAgQWRkIHB0X0JSIHRyYW5zbGF0aW9uCgoyMDA4LTA3LTIzIDIyOjAxOjIwICswMDAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAeGlwaC5vcmc+CgoJICBnc3QvZ29vbS86IEZpeCBidWlsZCB3aXRoIE1TVkM6IGluY2x1ZGUgZ2xpYi5oIHRvIGRlZmluZSBpbmxpbmUgYXBwcm9wcmlhdGVseSwgdXNlIGhlYWRlciBndWFyZHMgd2hlcmUgbmVlZGVkLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZ29vbS9jb252b2x2ZV9meC5jOgoJICAqIGdzdC9nb29tL2ZpbHRlcnMuYzoKCSAgKiBnc3QvZ29vbS9nb29tX2NvbmZpZy5oOgoJICAqIGdzdC9nb29tL2dvb21fY29yZS5jOgoJICAqIGdzdC9nb29tL2dvb21fdG9vbHMuaDoKCSAgRml4IGJ1aWxkIHdpdGggTVNWQzogaW5jbHVkZSBnbGliLmggdG8gZGVmaW5lIGlubGluZSBhcHByb3ByaWF0ZWx5LAoJICB1c2UgaGVhZGVyIGd1YXJkcyB3aGVyZSBuZWVkZWQuCgkgICogZ3N0L3VkcC9nc3R1ZHBuZXR1dGlscy5jOgoJICAqIGdzdC91ZHAvZ3N0dWRwc3JjLmM6CgkgIEZpeCBidWlsZCB3aXRoIE1TVkM6IHVzZSBXU0EqIGNvbnN0YW50cy9mdW5jdGlvbnMgd2hlcmUgYXBwcm9wcmlhdGUsIHVzZQoJICBnX3NucHJpbnRmIHJhdGhlciB0aGFuIHNucHJpbnRmLgoJICBGaXhlcyAjNTQ0NDMzLgoKMjAwOC0wNy0yMiAwNjozMjowMyArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L2RlYnVnL2dzdHRhZ2luamVjdC4qOiBTZW50IHRhZ3MgaW4gX3RyYW5zZm9ybV9pcCgpIGluc3RlYWQgb2YgX3N0YXJ0KCkuIEZpeGVzICM1NDM0MDQgcGFydGlhbGx5LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZGVidWcvZ3N0dGFnaW5qZWN0LmM6CgkgICogZ3N0L2RlYnVnL2dzdHRhZ2luamVjdC5oOgoJICBTZW50IHRhZ3MgaW4gX3RyYW5zZm9ybV9pcCgpIGluc3RlYWQgb2YgX3N0YXJ0KCkuIEZpeGVzICM1NDM0MDQKCSAgcGFydGlhbGx5LgoKMjAwOC0wNy0xOSAxNDoxMjozOSArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBjb25maWd1cmUuYWM6IDAuMTAuOC4yIHByZS1yZWxlYXNlCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgMC4xMC44LjIgcHJlLXJlbGVhc2UKCjIwMDgtMDctMTkgMTM6NTA6NTMgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgZXh0L01ha2VmaWxlLmFtOiBGaW5pc2ggaG9va2luZyB1cCBwdWxzZWF1ZGlvIHBsdWdpbiB0byB0aGUgYnVpbGQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9NYWtlZmlsZS5hbToKCSAgRmluaXNoIGhvb2tpbmcgdXAgcHVsc2VhdWRpbyBwbHVnaW4gdG8gdGhlIGJ1aWxkLgoJICAqIGV4dC9wdWxzZS9wdWxzZW1peGVyY3RybC5jOgoJICBGaXggY29tcGlsYXRpb24gZXJyb3IuCgoyMDA4LTA3LTE5IDEzOjIzOjI5ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIHBvLzogQWRkIG5ldyBsaXRodW5pYW4gdHJhbnNsYXRpb24sIGFuZCBhZGQgZnJlbmNoIHRvIHRoZSBMSU5HVUFTIGZpbGUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHBvL0xJTkdVQVM6CgkgICogcG8vbHQucG86CgkgIEFkZCBuZXcgbGl0aHVuaWFuIHRyYW5zbGF0aW9uLCBhbmQgYWRkIGZyZW5jaCB0byB0aGUgTElOR1VBUwoJICBmaWxlLgoKMjAwOC0wNy0xOSAxMzowODo0MiArMDAwMCAgV291dGVyIENsb2V0ZW5zIDx3b3V0ZXJAbWluZC5iZT4KCgkgIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6IEZpeCBTb3VwIEhUVFAgc291cmNlIHNlZWtpbmcuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6CgkgIEZpeCBTb3VwIEhUVFAgc291cmNlIHNlZWtpbmcuCgkgIFBhdGNoIEJ5OiBXb3V0ZXIgQ2xvZXRlbnMgIDx3b3V0ZXIgYXQgbWluZCBiZT4KCSAgRml4ZXM6ICM1NDAzMDAKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy8uY3ZzaWdub3JlOgoJICBJZ25vcmUgbmV3IGNoZWNrIHByb2dyYW1zLgoKMjAwOC0wNy0xOSAwMTowMToxMyArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBNb3ZlIHJlcGxheWdhaW4gYW5kIGludGVybGVhdmUgcGx1Z2lucyBmcm9tIC1iYWQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1kb2NzLnNnbWw6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5hcmdzOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaGllcmFyY2h5OgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaW50ZXJmYWNlczoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLnByZXJlcXVpc2l0ZXM6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVybGVhdmUueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXBsYXlnYWluLnhtbDoKCSAgKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgTW92ZSByZXBsYXlnYWluIGFuZCBpbnRlcmxlYXZlIHBsdWdpbnMgZnJvbSAtYmFkLgoJICBGaXhlczogIzU0MzQwNgoJICBGaXhlczogIzUzNjIyOAoKMjAwOC0wNy0xOCAyMDowMzowNyArMDAwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IFJldmVydCBJU08gYmFzZSBtZWRpYSBzcGVjIGJhc2VkIHBpeGVsLWFzcGVjdC1yYXRpbyBjYWxjdWxhdGlvbi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAoZ3N0X3F0ZGVtdXhfYWRkX3N0cmVhbSksCgkgIChxdGRlbXV4X3BhcnNlX3RyYWspOgoJICBSZXZlcnQgSVNPIGJhc2UgbWVkaWEgc3BlYyBiYXNlZCBwaXhlbC1hc3BlY3QtcmF0aW8gY2FsY3VsYXRpb24uCgkgIEZpeGVzICM1NDMzMDAuCgoyMDA4LTA3LTE3IDE2OjQyOjUzICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgc3lzL29zeHZpZGVvL29zeHZpZGVvc2luay5tOiBGaXggbWlub3IgYnVpbGQgaXNzdWVzIG9uIG1hY29zeC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL29zeHZpZGVvL29zeHZpZGVvc2luay5tOgoJICBGaXggbWlub3IgYnVpbGQgaXNzdWVzIG9uIG1hY29zeC4KCSAgRml4ZXMgIzU0MzA1NAoKMjAwOC0wNy0xNyAxNDo0MDo1MSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIE9ubHkgdXNlIC1Xbm8tYXR0cmlidXRlcyAod2hpY2ggaXMgdGhlcmUgdG8gd29yayBhcm91bmQgYSBidWcgaW4gdGhlIHRhZ2xpYiAxLjUgaGVhZGVycykgaWYgdGhlIGMrKyBjb21waWxlciBhY3R1YWxseS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6OgoJICAqIGV4dC90YWdsaWIvTWFrZWZpbGUuYW06OgoJICBPbmx5IHVzZSAtV25vLWF0dHJpYnV0ZXMgKHdoaWNoIGlzIHRoZXJlIHRvIHdvcmsgYXJvdW5kIGEKCSAgYnVnIGluIHRoZSB0YWdsaWIgMS41IGhlYWRlcnMpIGlmIHRoZSBjKysgY29tcGlsZXIgYWN0dWFsbHkKCSAgc3VwcG9ydHMgaXQgKCM1NDMyNTUpLgoKMjAwOC0wNy0xNyAxMzo1NDozOCArMDAwMCAgQmVub2l0IEZvdWV0IDxiZW5vaXQuZm91ZXRAcHVycGxlbGFicy5jb20+CgoJICBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6IEF2b2lkIGNvbXBpbGVyIHdhcm5pbmcgYnkgaW5pdGlhbGlzaW5nIHZhcmlhYmxlIHRvIE5VTEwgKCM1NDMyNTkpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IEJlbm9pdCBGb3VldCA8YmVub2l0LmZvdWV0IHB1cnBsZWxhYnMgY29tPgoJICAqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzogKGdzdF92NGwyc3JjX25lZ290aWF0ZSk6CgkgIEF2b2lkIGNvbXBpbGVyIHdhcm5pbmcgYnkgaW5pdGlhbGlzaW5nIHZhcmlhYmxlIHRvIE5VTEwgKCM1NDMyNTkpLgoKMjAwOC0wNy0xNCAxNzoxNzo0NyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2RlYnVnL2dzdHRhZ2luamVjdC5jOiBEb24ndCBwYXNzIE5VTEwgdGFnbGlzdHMgdG8gZ3N0X3RhZ19saXN0X2lzX2VtcHR5KCkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9kZWJ1Zy9nc3R0YWdpbmplY3QuYzogKGdzdF90YWdfaW5qZWN0X3N0YXJ0KToKCSAgRG9uJ3QgcGFzcyBOVUxMIHRhZ2xpc3RzIHRvIGdzdF90YWdfbGlzdF9pc19lbXB0eSgpLgoKMjAwOC0wNy0xNCAxNzoxNTo0MiArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgdGVzdHMvY2hlY2svZWxlbWVudHMvOiBEb24ndCB1c2UgZGVjbGFyYXRpb25zIGFmdGVyIHN0YXRlbWVudHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2NtbWxkZWMuYzogKEdTVF9TVEFSVF9URVNUKToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHAtcGF5bG9hZGluZy5jOiAocnRwX3BpcGVsaW5lX2NyZWF0ZSksCgkgIChydHBfcGlwZWxpbmVfcnVuKToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9zb3VwaHR0cHNyYy5jOiAoc291cGh0dHBzcmNfc3VpdGUpOgoJICBEb24ndCB1c2UgZGVjbGFyYXRpb25zIGFmdGVyIHN0YXRlbWVudHMuCgoyMDA4LTA3LTE0IDE2OjI4OjI1ICswMDAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkgIGV4dC9qcGVnL2dzdGpwZWdkZWMuYzogQWxpZ24gZG9jdW1lbnRhdGlvbiB3aXRoIHJlYWxpdHkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9qcGVnL2dzdGpwZWdkZWMuYzoKCSAgQWxpZ24gZG9jdW1lbnRhdGlvbiB3aXRoIHJlYWxpdHkuCgoyMDA4LTA3LTE0IDEzOjExOjE0ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvdWRwL2dzdHVkcG5ldHV0aWxzLmM6IEVBSV9BRERSRkFNSUxZIHdhcyBvYnNvbGV0ZWQgaW4gQlNEIGF0IHNvbWUgcG9pbnQuIERlZmluZSBpdCB0byB0aGUgb2xkIHZhbHVlICgxKSBpZiBpdCdzIG4uLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3VkcC9nc3R1ZHBuZXR1dGlscy5jOgoJICBFQUlfQUREUkZBTUlMWSB3YXMgb2Jzb2xldGVkIGluIEJTRCBhdCBzb21lIHBvaW50LiBEZWZpbmUgaXQgdG8gdGhlCgkgIG9sZCB2YWx1ZSAoMSkgaWYgaXQncyBub3QgZGVmaW5lZCB3aGljaCBzaG91bGQgbm90IGNhdXNlIGFueSBwcm9ibGVtcwoJICBhcyB3ZSdyZSB1c2luZyBpdCBpbnRlcm5hbCBvbmx5IGFueXdheS4KCjIwMDgtMDctMTQgMTM6MDI6NDggKzAwMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvQG5udmEub3JnPgoKCSAgZ3N0L2F2aS9nc3RhdmlkZW11eC5jOiBGaXggYnVpbGQgb2YgYXZpZGVtdXggb24gYmlnIGVuZGlhbiBhcmNoaXRlY3R1cmVzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvIGF0IG5udmEgZG90IG9yZz4KCSAgKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6IChnc3RfYXZpX2RlbXV4X3JpZmZfcGFyc2VfdnBycCk6CgkgIEZpeCBidWlsZCBvZiBhdmlkZW11eCBvbiBiaWcgZW5kaWFuIGFyY2hpdGVjdHVyZXMuCgoyMDA4LTA3LTEwIDIwOjQ3OjU2ICswMDAwICBUaGlhZ28gU291c2EgU2FudG9zIDx0aGlhZ29zc0BsY2MudWZjZy5lZHUuYnI+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IENvcnJlY3RseSBkaXN0aW5ndWlzaCA4Yml0IHZzIDE2Yml0IHJhdyBhdWRpby4gIEZpeGVzICM1NDI0MTAuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogVGhpYWdvIFNvdXNhIFNhbnRvcyA8dGhpYWdvc3MgYXQgbGNjIGRvdCB1ZmNnIGRvdCBlZHUgZG90IGJyPgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKHF0ZGVtdXhfYXVkaW9fY2Fwcyk6CgkgIENvcnJlY3RseSBkaXN0aW5ndWlzaCA4Yml0IHZzIDE2Yml0IHJhdyBhdWRpby4gIEZpeGVzICM1NDI0MTAuCgoyMDA4LTA3LTA4IDIxOjA1OjE4ICswMDAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogU2V0IHBpeGVsLWFzcGVjdC1yYXRpbyBpbiBjYXBzIHVzaW5nIGRpc3BsYXkgd2lkdGggYW5kIGhlaWdodCBwcm92aWRlZCBpbiB0cmFjay4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAoZ3N0X3F0ZGVtdXhfYWRkX3N0cmVhbSksCgkgIChxdGRlbXV4X3BhcnNlX3RyYWspOgoJICBTZXQgcGl4ZWwtYXNwZWN0LXJhdGlvIGluIGNhcHMgdXNpbmcgZGlzcGxheSB3aWR0aCBhbmQgaGVpZ2h0CgkgIHByb3ZpZGVkIGluIHRyYWNrLgoKMjAwOC0wNy0wOCAxMzo1OTo1MSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgY29uZmlndXJlLmFjOiBEb24ndCBpbmNsdWRlIEVSUk9SX0NGTEFHUyBpbiBHU1RfQ1hYRkxBR1MgYXMgaXQgbWlnaHQgaW5jbHVkZSBmbGFncyB0aGF0IGFyZSBpbnZhbGlkIGZvciBDKysuIEZpeGVzIGJ1Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgRG9uJ3QgaW5jbHVkZSBFUlJPUl9DRkxBR1MgaW4gR1NUX0NYWEZMQUdTIGFzIGl0IG1pZ2h0IGluY2x1ZGUKCSAgZmxhZ3MgdGhhdCBhcmUgaW52YWxpZCBmb3IgQysrLiBGaXhlcyBidWcgIzUxNjUwOS4KCjIwMDgtMDctMDggMTI6NTE6MzQgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIERvbid0IHVzZSBkZWNsYXJhdGlvbnMgYWZ0ZXIgc3RhdGVtZW50cyBhbmQgdmFyaWFibGUgbGVuZ3RoIGFycmF5cy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3JhdzEzOTQvZ3N0ZHYxMzk0c3JjLmM6IChnc3RfZHYxMzk0c3JjX3VyaV9zZXRfdXJpKToKCSAgKiBleHQvc3BlZXgvZ3N0c3BlZXhlbmMuYzogKGdzdF9zcGVleF9lbmNfc2lua19nZXRjYXBzKToKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZW5jLmM6IChnc3Rfd2F2cGFja19lbmNfc2V0X3dwX2NvbmZpZyk6CgkgICogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOiAoZ3N0X3Y0bDJzcmNfZml4YXRlKToKCSAgKiBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmM6IChnc3RfdjRsMnNyY19wcm9iZV9jYXBzX2Zvcl9mb3JtYXQpOgoJICAqIHRlc3RzL2V4YW1wbGVzL2VxdWFsaXplci9kZW1vLmM6IChtZXNzYWdlX2hhbmRsZXIpOgoJICAqIHRlc3RzL2V4YW1wbGVzL3NwZWN0cnVtL2RlbW8tYXVkaW90ZXN0LmM6IChtZXNzYWdlX2hhbmRsZXIpOgoJICAqIHRlc3RzL2V4YW1wbGVzL3NwZWN0cnVtL2RlbW8tb3Nzc3JjLmM6IChtZXNzYWdlX2hhbmRsZXIpOgoJICBEb24ndCB1c2UgZGVjbGFyYXRpb25zIGFmdGVyIHN0YXRlbWVudHMgYW5kIHZhcmlhYmxlIGxlbmd0aCBhcnJheXMuCgoyMDA4LTA3LTA3IDIxOjI4OjU4ICswMDAwICBEYW5pZWwgRHJha2UgPGRzZEBnZW50b28ub3JnPgoKCSAgc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5jOiBUcnkgcHJvZ3Jlc3NpdmUgdmlkZW8gaWYgaW50ZXJsYWNlZCBmYWlscy4gRml4ZXMgYnVnICM1NDE5NTYgYW5kIHRoZSB1c2FnZSBvZiB2NGwyc3JjIG9uIE9MUEMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogRGFuaWVsIERyYWtlIDxkc2QgYXQgZ2VudG9vIGRvdCBvcmc+CgkgICogc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5jOiAoZ3N0X3Y0bDJzcmNfc2V0X2NhcHR1cmUpLAoJICAoZ3N0X3Y0bDJzcmNfZ2V0X25lYXJlc3Rfc2l6ZSk6CgkgIFRyeSBwcm9ncmVzc2l2ZSB2aWRlbyBpZiBpbnRlcmxhY2VkIGZhaWxzLiBGaXhlcyBidWcgIzU0MTk1NgoJICBhbmQgdGhlIHVzYWdlIG9mIHY0bDJzcmMgb24gT0xQQy4KCjIwMDgtMDctMDcgMTU6MzQ6MTIgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9ydHAvZ3N0cnRwc3BlZXhkZXBheS4qOiBSZXZlcnQgbGFzdCBjaGFuZ2U6IE9ubHkgdGhlIGppdHRlcmJ1ZmZlciBpcyBhYmxlIHRvIGNvbnZlcnQgUlRQIHRvCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHAvZ3N0cnRwc3BlZXhkZXBheS5jOiAoZ3N0X3J0cF9zcGVleF9kZXBheV9pbml0KSwKCSAgKGdzdF9ydHBfc3BlZXhfZGVwYXlfcHJvY2Vzcyk6CgkgICogZ3N0L3J0cC9nc3RydHBzcGVleGRlcGF5Lmg6CgkgIFJldmVydCBsYXN0IGNoYW5nZTogT25seSB0aGUgaml0dGVyYnVmZmVyIGlzIGFibGUgdG8gY29udmVydCBSVFAgdG8KCSAgR3N0cmVhbWVyIHRpbWVzdGFtcHMgYW5kIG5vcm1hbCAoZGUpcGF5bG9hZGVycyBzaG91bGQgc2ltcGx5IGNvcHkgaXQuCgkgIFJlb3BlbnMgYnVnICM1NDE3ODcuCgoyMDA4LTA3LTA3IDEwOjMwOjUxICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3QvcnRwL2dzdHJ0cHZyYXdkZXBheS5jOiBJbmNsdWRlIHN0ZGxpYi5oIGZvciBhdG9pKCkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHAvZ3N0cnRwdnJhd2RlcGF5LmM6CgkgIEluY2x1ZGUgc3RkbGliLmggZm9yIGF0b2koKS4KCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIFVzZSBmbG9hdGluZyBwb2ludCBtYXRoIGZvciBsYXRlbmNpZXMgPCAwIHNlYyBpbiBsb2cgb3V0cHV0LgoKMjAwOC0wNy0wNyAxMDoxNjowNyArMDAwMCAgVG9tYXN6IEdyb2JlbG55IDx0b21hc3pAZ3JvYmVsbnkub3N3aWVjZW5pYS5uZXQ+CgoJICBnc3QvcnRwL2dzdHJ0cHNwZWV4ZGVwYXkuKjogVGFrZSB0aW1lc3RhbXAgZnJvbSB0aGUgUlRQIHBhY2tldCBhcyBhIGZpcnN0IHN0ZXAgdG8gZml4IHByb2JsZW1zIHdpdGggdHJhbnNtaXNzaW9uIG92ZXIuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBUb21hc3ogR3JvYmVsbnkgPHRvbWFzeiBhdCBncm9iZWxueSBkb3Qgb3N3aWVjZW5pYSBkb3QgbmV0PgoJICAqIGdzdC9ydHAvZ3N0cnRwc3BlZXhkZXBheS5jOiAoZ3N0X3J0cF9zcGVleF9kZXBheV9pbml0KSwKCSAgKGdzdF9ydHBfc3BlZXhfZGVwYXlfcHJvY2Vzcyk6CgkgICogZ3N0L3J0cC9nc3RydHBzcGVleGRlcGF5Lmg6CgkgIFRha2UgdGltZXN0YW1wIGZyb20gdGhlIFJUUCBwYWNrZXQgYXMgYSBmaXJzdCBzdGVwIHRvIGZpeCBwcm9ibGVtcwoJICB3aXRoIHRyYW5zbWlzc2lvbiBvdmVyIFJUUCB3aGVuIHRoZSBuZXR3b3JrIGlzIG5vdCByZWxpYWJsZS4KCSAgRml4ZXMgYnVnICM1NDE3ODcuCgoyMDA4LTA3LTA1IDE5OjAxOjI4ICswMDAwICBUZXJvIFNhYXJuaSA8dGVyby5zYWFybmlAZ21haWwuY29tPgoKCSAgZ3N0L3VkcC9nc3R1ZHBzcmMuYzogRml4IHBhcnNpbmcgb2YgdWRwOi8vIFVSSXMgY29udGFpbmluZyBJUHY2IGFkZHJlc3Nlcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBUZXJvIFNhYXJuaSA8dGVybyBkb3Qgc2Fhcm5pIGF0IGdtYWlsIGRvdCBjb20+CgkgICogZ3N0L3VkcC9nc3R1ZHBzcmMuYzogKGdzdF91ZHBzcmNfc2V0X3VyaSk6CgkgIEZpeCBwYXJzaW5nIG9mIHVkcDovLyBVUklzIGNvbnRhaW5pbmcgSVB2NiBhZGRyZXNzZXMuCgkgIEZpeGVzIGJ1ZyAjNTQxNjUwLgoKMjAwOC0wNy0wNCAyMDo0MzowNyArMDAwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJICBleHQvZ2RrX3BpeGJ1Zi9nc3RnZGtwaXhidWYuYzogRG8gbm90IGxlYWsgaW5jb21pbmcgYnVmZmVycy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2dka19waXhidWYvZ3N0Z2RrcGl4YnVmLmM6IChnc3RfZ2RrX3BpeGJ1Zl9jaGFpbik6CgkgIERvIG5vdCBsZWFrIGluY29taW5nIGJ1ZmZlcnMuCgoyMDA4LTA3LTAzIDE5OjI3OjUzICswMDAwICBEYW1pZW4gTGVzcGlhdSA8ZGFtaWVuLmxlc3BpYXVAZ21haWwuY29tPgoKCSAgY29uZmlndXJlLmFjOiBGaXggYnVpbGQgb2YgdGhlIFJUUCBwbHVnaW4gd2l0aCBtaW5ndzMyIGJ5IGxpbmtpbmcgdG8gd3MyXzMyIGZvciBodG9ucygpIGFuZCBodG9ubCgpLiBGaXhlcyBidWcgIzU0MTQxMi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBEYW1pZW4gTGVzcGlhdSA8ZGFtaWVuIGRvdCBsZXNwaWF1IGF0IGdtYWlsIGRvdCBjb20+CgkgICogY29uZmlndXJlLmFjOgoJICBGaXggYnVpbGQgb2YgdGhlIFJUUCBwbHVnaW4gd2l0aCBtaW5ndzMyIGJ5IGxpbmtpbmcgdG8gd3MyXzMyCgkgIGZvciBodG9ucygpIGFuZCBodG9ubCgpLiBGaXhlcyBidWcgIzU0MTQxMi4KCjIwMDgtMDctMDIgMDk6NTE6MTYgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOiBIYW5kbGUgcG9zaXRpb24gYW5kIGR1cmF0aW9uIHF1ZXJ5IGluIERFRkFVTFQgZm9ybWF0IGlmIHRoZSBwYWQncyB0cmFjayBoYXMgYSBkZWZhdWx0IC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzogKGdzdF9tYXRyb3NrYV9kZW11eF9jbGFzc19pbml0KSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9hZGRfc3RyZWFtKSwgKGdzdF9tYXRyb3NrYV9kZW11eF9xdWVyeSksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfZWxlbWVudF9xdWVyeSksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfaGFuZGxlX3NyY19xdWVyeSksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfaGFuZGxlX3NlZWtfZXZlbnQpOgoJICBIYW5kbGUgcG9zaXRpb24gYW5kIGR1cmF0aW9uIHF1ZXJ5IGluIERFRkFVTFQgZm9ybWF0IGlmIHRoZQoJICBwYWQncyB0cmFjayBoYXMgYSBkZWZhdWx0IGZyYW1lIGR1cmF0aW9uIHNldC4KCSAgRml4IHNlZWtpbmcgbm93IHRoYXQgdGhlIHNlZ21lbnQncyBkdXJhdGlvbiBkb2Vzbid0IGNvbnRhaW4gdGhlCgkgIChwb3NzaWJseSB3cm9uZyBvciBpbmFjY3VyYXRlKSBkdXJhdGlvbiBvZiB0aGUgTWF0cm9za2EgZmlsZS4KCjIwMDgtMDctMDIgMDk6MDQ6NTAgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9tYXRyb3NrYS9lYm1sLXJlYWQuYzogVXNlIE5BTiBjb25zdGFudCBpbnN0ZWFkIG9mIDAuMC8wLjAgaWYgcG9zc2libGUuIE5BTiBpcyBkZWZpbmVkIGluIG1hdGguaCBleGNlcHQgb24gTVNWQyB3aC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbWF0cm9za2EvZWJtbC1yZWFkLmM6IChfZXh0MmRibCk6CgkgIFVzZSBOQU4gY29uc3RhbnQgaW5zdGVhZCBvZiAwLjAvMC4wIGlmIHBvc3NpYmxlLiBOQU4gaXMgZGVmaW5lZAoJICBpbiBtYXRoLmggZXhjZXB0IG9uIE1TVkMgd2hlcmUgaXQgaXMgZGVmaW5lZCBpbiB4bWF0aC5oLgoJICBGaXhlcyBjb21waWxhdGlvbiB3aXRoIE1TVkMuCgoyMDA4LTA3LTAyIDA4OjU3OjA0ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguKjogRG9uJ3Qgc2V0IHRoZSBzZWdtZW50IGR1cmF0aW9uIHRvIHRoZSBkdXJhdGlvbiBmcm9tIHRoZSBNYXRyb3NrYSBoZWFkZXIgYXMgdGhpcyB2YWx1ZSAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6IChnc3RfbWF0cm9za2FfZGVtdXhfcmVzZXQpLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X2hhbmRsZV9zcmNfcXVlcnkpLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X3BhcnNlX2luZm8pLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X2xvb3Bfc3RyZWFtX3BhcnNlX2lkKToKCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguaDoKCSAgRG9uJ3Qgc2V0IHRoZSBzZWdtZW50IGR1cmF0aW9uIHRvIHRoZSBkdXJhdGlvbiBmcm9tIHRoZSBNYXRyb3NrYQoJICBoZWFkZXIgYXMgdGhpcyB2YWx1ZSBjb3VsZCBiZSB3cm9uZyBhbmQgaXMganVzdCBpbmZvcm1hdGlvbmFsLgoKMjAwOC0wNy0wMiAwODo0NzowMCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6IElmIG5vIFRyYWNrcyBlbGVtZW50IGlzIGZvdW5kIHVudGlsIHRoZSBmaXJzdCBDbHVzdGVyIGlzIGZvdW5kIHNlYXJjaCBpdCBhbmQgZXJyb3Igb3V0Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICAoZ3N0X21hdHJvc2thX2RlbXV4X2xvb3Bfc3RyZWFtX3BhcnNlX2lkKToKCSAgSWYgbm8gVHJhY2tzIGVsZW1lbnQgaXMgZm91bmQgdW50aWwgdGhlIGZpcnN0IENsdXN0ZXIgaXMgZm91bmQKCSAgc2VhcmNoIGl0IGFuZCBlcnJvciBvdXQgaWYgbm9uZSBpcyBmb3VuZCBpbiB0aGUgY29tcGxldGUgZmlsZS4KCjIwMDgtMDctMDIgMDg6MTQ6MzUgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOiBSZXN5bmMgbm9uLXN1YnRpdGxlIHRyYWNrcyB0b28gaWYgYSB0b28gbGFyZ2UgZ2FwIGNvbXBhcmVkIHRvIG90aGVyIHRyYWNrcyBpcyBkZXRlY3RlZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6IChnc3RfbWF0cm9za2FfZGVtdXhfc3luY19zdHJlYW1zKToKCSAgUmVzeW5jIG5vbi1zdWJ0aXRsZSB0cmFja3MgdG9vIGlmIGEgdG9vIGxhcmdlIGdhcCBjb21wYXJlZCB0byBvdGhlcgoJICB0cmFja3MgaXMgZGV0ZWN0ZWQuCgoyMDA4LTA3LTAxIDEzOjI4OjAyICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cC86IEFkZCByYXcgdmlkZW8gcGF5IGFuZCBkZXBheWxvYWRlcnMsIHNlZSBSRkM0MTc1LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwL01ha2VmaWxlLmFtOgoJICAqIGdzdC9ydHAvZ3N0cnRwLmM6IChwbHVnaW5faW5pdCk6CgkgICogZ3N0L3J0cC9nc3RydHB2cmF3ZGVwYXkuYzogKGdzdF9ydHBfdnJhd19kZXBheV9iYXNlX2luaXQpLAoJICAoZ3N0X3J0cF92cmF3X2RlcGF5X2NsYXNzX2luaXQpLCAoZ3N0X3J0cF92cmF3X2RlcGF5X2luaXQpLAoJICAoZ3N0X3J0cF92cmF3X2RlcGF5X3NldGNhcHMpLCAoZ3N0X3J0cF92cmF3X2RlcGF5X3Byb2Nlc3MpLAoJICAoZ3N0X3J0cF92cmF3X2RlcGF5X2NoYW5nZV9zdGF0ZSksCgkgIChnc3RfcnRwX3ZyYXdfZGVwYXlfcGx1Z2luX2luaXQpOgoJICAqIGdzdC9ydHAvZ3N0cnRwdnJhd2RlcGF5Lmg6CgkgICogZ3N0L3J0cC9nc3RydHB2cmF3cGF5LmM6IChnc3RfcnRwX3ZyYXdfcGF5X2dldF90eXBlKSwKCSAgKGdzdF9ydHBfdnJhd19wYXlfYmFzZV9pbml0KSwgKGdzdF9ydHBfdnJhd19wYXlfY2xhc3NfaW5pdCksCgkgIChnc3RfcnRwX3ZyYXdfcGF5X2luaXQpLCAoZ3N0X3J0cF92cmF3X3BheV9maW5hbGl6ZSksCgkgIChnc3RfcnRwX3ZyYXdfcGF5X3NldGNhcHMpLCAoZ3N0X3J0cF92cmF3X3BheV9oYW5kbGVfYnVmZmVyKSwKCSAgKGdzdF9ydHBfdnJhd19wYXlfcGx1Z2luX2luaXQpOgoJICAqIGdzdC9ydHAvZ3N0cnRwdnJhd3BheS5oOgoJICBBZGQgcmF3IHZpZGVvIHBheSBhbmQgZGVwYXlsb2FkZXJzLCBzZWUgUkZDNDE3NS4KCjIwMDgtMDYtMzAgMjI6NTM6MzkgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgZXh0L2xpYnBuZy9nc3RwbmdkZWMuYzogRG9uJ3QgcmV0dXJuIEdTVF9GTE9XX0VSUk9SIHdoZW4gYnVmZmVyX2FsbG9jIGZhaWxzIC0gcmV0dXJuIHdoYXRldmVyIGl0IHJldHVybmVkLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvbGlicG5nL2dzdHBuZ2RlYy5jOgoJICBEb24ndCByZXR1cm4gR1NUX0ZMT1dfRVJST1Igd2hlbiBidWZmZXJfYWxsb2MgZmFpbHMgLSByZXR1cm4KCSAgd2hhdGV2ZXIgaXQgcmV0dXJuZWQuCgoyMDA4LTA2LTI5IDE5OjUyOjUxICswMDAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkgIGdzdC9hdmkvYXZpLWlkcy5oOiBBZGQgdnBycCBjaHVuayByZWxhdGVkIHN0cnVjdHVyZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdmkvYXZpLWlkcy5oOgoJICBBZGQgdnBycCBjaHVuayByZWxhdGVkIHN0cnVjdHVyZXMuCgkgICogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOiAoZ3N0X2F2aV9kZW11eF9yaWZmX3BhcnNlX3ZwcnApLAoJICAoZ3N0X2F2aV9kZW11eF9wYXJzZV9zdHJlYW0pOgoJICBQYXJzZSBvcHRpb25hbCB2cHJwIGNodW5rIGFuZCBhZGQgY2FsY3VsYXRlZCBwaXhlbC1hc3BlY3QtcmF0aW8KCSAgdG8gY2Fwcy4gIEZpeGVzICM1Mzk0ODIuCgkgICogZ3N0L2F2aS9nc3RhdmltdXguaDoKCSAgKiBnc3QvYXZpL2dzdGF2aW11eC5jOiAoZ3N0X2F2aV9tdXhfcGFkX3Jlc2V0KSwKCSAgKGdzdF9hdmlfbXV4X3ZpZHNpbmtfc2V0X2NhcHMpLCAoZ3N0X2F2aV9tdXhfcmlmZl9nZXRfYXZpX2hlYWRlcik6CgkgIEFkZCBhIHZwcnAgY2h1bmsgaWYgbm9uLXRyaXZhbCBwaXhlbC1hc3BlY3QtcmF0aW8gcHJvdmlkZWQgaW4gY2Fwcy4KCjIwMDgtMDYtMjggMTk6MzE6NDYgKzAwMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSAgdGVzdHMvY2hlY2svZWxlbWVudHMvYXZpbXV4LmM6IEFkanVzdCBhdmltdXggdW5pdCB0ZXN0IGFjY29yZGluZyB0byBpbmNyZWFzZWQgc3RyZWFtaGVhZGVyIHNpemUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F2aW11eC5jOiAoY2hlY2tfYXZpbXV4X3BhZCk6CgkgIEFkanVzdCBhdmltdXggdW5pdCB0ZXN0IGFjY29yZGluZyB0byBpbmNyZWFzZWQgc3RyZWFtaGVhZGVyIHNpemUuCgoyMDA4LTA2LTI3IDE4OjExOjAxICswMDAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogQWRkIERpcmFjIHN0cmVhbSB0eXBlCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogQWRkIERpcmFjIHN0cmVhbSB0eXBlCgoyMDA4LTA2LTI3IDE1OjI1OjAwICswMDAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkgIGdzdC9hdmkvZ3N0YXZpbXV4Lio6IEFkZCA4IGJ5dGVzIHRvIGN1cnJlbnQgc3RyZWFtaGVhZGVyIHRvIG1ha2UgZm9yIGEgY29tcGxldGUgb25lIGFuZCB0byBtYWtlIG1vcmUgcGxheWVycyBoYXBweS4gIC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXZpL2dzdGF2aW11eC5jOiAoZ3N0X2F2aV9tdXhfcmlmZl9nZXRfYXZpX2hlYWRlcik6CgkgICogZ3N0L2F2aS9nc3RhdmltdXguaDoKCSAgQWRkIDggYnl0ZXMgdG8gY3VycmVudCBzdHJlYW1oZWFkZXIgdG8gbWFrZSBmb3IgYSBjb21wbGV0ZSBvbmUKCSAgYW5kIHRvIG1ha2UgbW9yZSBwbGF5ZXJzIGhhcHB5LiAgRml4ZXMgIzUxOTQ2MC4KCjIwMDgtMDYtMjYgMTY6MzY6NDcgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBzeXMvdjRsMi92NGwyX2NhbGxzLmM6IERvbid0IGluY2x1ZGUgdW51c2VkIGdzdHY0bDJ4b3ZlcmxheS5oLiBGaXhlcyBidWlsZCBpbiBjYXNlIHdoZXJlIFgxMSBoZWFkZXJzIGFyZSBub3QgaW5zdGFsbGVkLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvdjRsMi92NGwyX2NhbGxzLmM6OgoJICBEb24ndCBpbmNsdWRlIHVudXNlZCBnc3R2NGwyeG92ZXJsYXkuaC4gRml4ZXMgYnVpbGQKCSAgaW4gY2FzZSB3aGVyZSBYMTEgaGVhZGVycyBhcmUgbm90IGluc3RhbGxlZC4KCjIwMDgtMDYtMjYgMTA6MDc6NDYgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBleHQvZHYvZ3N0ZHYuYzogRml4IGNvbXBpbGF0aW9uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZHYvZ3N0ZHYuYzogKHBsdWdpbl9pbml0KToKCSAgRml4IGNvbXBpbGF0aW9uLgoKMjAwOC0wNi0yNiAwOTozNzoyMyArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIGV4dC9kdi9nc3Rkdi5jOiBNYXJraW5nIHJhbmsgb2YgZHZkZWMgYXMgR1NUX1JBTktfTUFSR0lOQUwgc2luY2UgaXQncyB0aGUgc2xvd2VzdAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZHYvZ3N0ZHYuYzogKHBsdWdpbl9pbml0KToKCSAgTWFya2luZyByYW5rIG9mIGR2ZGVjIGFzIEdTVF9SQU5LX01BUkdJTkFMIHNpbmNlIGl0J3MgdGhlIHNsb3dlc3QKCSAgRFYgZGVjb2RlciBhdmFpbGFibGUuCgkgIEZpeGVzICM1MzIzOTMKCjIwMDgtMDYtMjUgMDg6MTI6MTggKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC91ZHAvZ3N0dWRwc3JjLmM6IENhbGwgZ2V0c29ja25hbWUoKSBhZnRlciB0aGUgY2FsbCB0byBiaW5kKCkgdG8gZ2V0IHVwZGF0ZWQgdmFsdWVzIGZvciB0aGUgcG9ydCwgZXRjLiBUaGlzIGZpeGVzIC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvdWRwL2dzdHVkcHNyYy5jOiAoZ3N0X3VkcHNyY19zdGFydCk6CgkgIENhbGwgZ2V0c29ja25hbWUoKSBhZnRlciB0aGUgY2FsbCB0byBiaW5kKCkgdG8gZ2V0IHVwZGF0ZWQgdmFsdWVzCgkgIGZvciB0aGUgcG9ydCwgZXRjLiBUaGlzIGZpeGVzIHRoZSB1c2FnZSBvZiB1ZHBzcmMgb24gYW5vbnltb3VzCgkgIGJpbmRpbmcgYW5kIGl0J3MgdXNhZ2UgYnkgcnRzcHNyYy4gRml4ZXMgYnVncyAjNTM5MzcyLCAjNTM5NTQ4LgoJICBUaGFua3MgdG8gQXVyZWxpZW4gR3JpbWF1ZCBmb3IgcG9pbnRpbmcgb3V0IHRoZSBvYnZpb3VzIGZpeC4KCjIwMDgtMDYtMjUgMDc6NTc6MjYgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy93YXZwYWNrLmM6IFJlbW92ZSB3b3JrYXJvdW5kIGZvciBhIGJ1ZyBpbiBpZGVudGl0eSB0aGF0IGlzIGZpeGVkIGluIDAuMTAuMjAuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy93YXZwYWNrLmM6IChidXNfaGFuZGxlcik6CgkgIFJlbW92ZSB3b3JrYXJvdW5kIGZvciBhIGJ1ZyBpbiBpZGVudGl0eSB0aGF0IGlzIGZpeGVkIGluIDAuMTAuMjAuCgoyMDA4LTA2LTI1IDA2OjM2OjU4ICswMDAwICBKYXNvbiBEb25lbmZlbGQgPEJ1Z1ppbGxhQHp4MmM0LmNvbT4KCgkgIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6IEZpeCBIVFRQIGF1dGggc3VwcG9ydCB3aXRoIHVzZXIvcGFzc3dvcmQgcGFzc2VkIHZpYSB0aGUgVVJJLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IEphc29uIERvbmVuZmVsZCA8QnVnWmlsbGEgYXQgengyYzQgZG90IGNvbT4KCSAgKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOiAoZ3N0X3NvdXBfaHR0cF9zcmNfZ290X2hlYWRlcnNfY2IpOgoJICBGaXggSFRUUCBhdXRoIHN1cHBvcnQgd2l0aCB1c2VyL3Bhc3N3b3JkIHBhc3NlZCB2aWEgdGhlIFVSSS4KCSAgRml4ZXMgYnVnICM1NDAwNjcuCgoyMDA4LTA2LTI0IDE1OjQyOjMzICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgY29uZmlndXJlLmFjOiBEZXBlbmQgb24gcmVsZWFzZWQgdmVyc2lvbnMgb2YgY29yZSBhbmQgLWJhc2UuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgRGVwZW5kIG9uIHJlbGVhc2VkIHZlcnNpb25zIG9mIGNvcmUgYW5kIC1iYXNlLgoKMjAwOC0wNi0yMyAxNjoxMzo0MCArMDAwMCAgSnVsaWVuIE1vdXR0ZSA8anVsaWVuQG1vdXR0ZS5uZXQ+CgoJICBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzogRml4IGJ1Z2d5IGZvcm1hdCBzdHJpbmdzIGluIG1hY3Jvcy4gKG1ha2VzIGl0IGJ1aWxkIG9uIE9TIFggYWdhaW4uLi4pCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA4LTA2LTIzICBKdWxpZW4gTW91dHRlICA8anVsaWVuQGZsdWVuZG8uY29tPgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICAoZ3N0X21hdHJvc2thX2RlbXV4X3JlYWRfdHJhY2tfZW5jb2RpbmcpLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X3BhcnNlX2Jsb2NrZ3JvdXBfb3Jfc2ltcGxlYmxvY2spOiBGaXggYnVnZ3kKCSAgZm9ybWF0IHN0cmluZ3MgaW4gbWFjcm9zLiAobWFrZXMgaXQgYnVpbGQgb24gT1MgWCBhZ2Fpbi4uLikKCjIwMDgtMDYtMjAgMTY6MjQ6MTEgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSAgZ3N0LzogQWRkZWQgZGVidWcuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHAvZ3N0cnRwdGhlb3JhcGF5LmM6CgkgICogZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuYzoKCSAgQWRkZWQgZGVidWcuCgoyMDA4LTA2LTIwIDE1OjIxOjU5ICswMDAwICBDaHJpc3RpYW4gU2NoYWxsZXIgPHVyYWV1c0Bnbm9tZS5vcmc+CgoJKiBDaGFuZ2VMb2c6CgkqIGNvbW1vbjoKCSogY29uZmlndXJlLmFjOgoJICBzd2l0Y2ggdjRsMnNyYyBmcm9tIGV4cGVyaW1lbnRhbCB0byBub3JtYWwgYnVpbGQuIEZpeGVzICM1MzY4MzEKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHN3aXRjaCB2NGwyc3JjIGZyb20gZXhwZXJpbWVudGFsIHRvIG5vcm1hbCBidWlsZC4gRml4ZXMgIzUzNjgzMQoKMjAwOC0wNi0xOSAxMToyNDo1NCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHAvZ3N0cnRwZzcyNnBheS5jOiBSZW1vdmUgdW51c2VkIHZhcmlhYmxlIHNvIHRoYXQgd2UgY2FuIGNvbXBpbGUgYWdhaW4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHAvZ3N0cnRwZzcyNnBheS5jOiAoZ3N0X3J0cF9nNzI2X3BheV9zZXRjYXBzKToKCSAgUmVtb3ZlIHVudXNlZCB2YXJpYWJsZSBzbyB0aGF0IHdlIGNhbiBjb21waWxlIGFnYWluLgoKMjAwOC0wNi0xOSAxMTowNjoyOSArMDAwMCAgUGV0ZXIgS2plbGxlcnN0ZWR0IDxwa2pAYXhpcy5jb20+CgoJICBnc3QvcnRwL2dzdHJ0cGc3MjZwYXkuYzogTm8gbmVlZCB0byBjaGVjayBmb3IgYXVkaW8vRzcyMyBhbmQgYXVkaW8vMzJLQURQQ00gaGVyZSBhcyB0aGV5IGFyZSBubyBsb25nZXIgc3VwcG9ydGVkLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwL2dzdHJ0cGc3MjZwYXkuYzogKGdzdF9ydHBfZzcyNl9wYXlfc2V0Y2Fwcyk6CgkgIE5vIG5lZWQgdG8gY2hlY2sgZm9yIGF1ZGlvL0c3MjMgYW5kIGF1ZGlvLzMyS0FEUENNIGhlcmUgYXMgdGhleSBhcmUKCSAgbm8gbG9uZ2VyIHN1cHBvcnRlZC4KCjIwMDgtMDYtMTkgMTA6NTg6NTcgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGV4dC93YXZwYWNrL2dzdHdhdnBhY2twYXJzZS5jOiBVc2UgR19HSU5UNjRfQ09OU1RBTlQsIHRoaXMgZml4ZXMgdGhlIGR1cmF0aW9uIHF1ZXJ5IG9uIGZpbGVzIHdpdGhvdXQga25vd24gbGVuZ3RoLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrcGFyc2UuYzogKGdzdF93YXZwYWNrX3BhcnNlX3Jlc2V0KSwKCSAgKGdzdF93YXZwYWNrX3BhcnNlX3NyY19xdWVyeSksIChnc3Rfd2F2cGFja19wYXJzZV9jcmVhdGVfc3JjX3BhZCk6CgkgIFVzZSBHX0dJTlQ2NF9DT05TVEFOVCwgdGhpcyBmaXhlcyB0aGUgZHVyYXRpb24gcXVlcnkgb24gZmlsZXMgd2l0aG91dAoJICBrbm93biBsZW5ndGguCgoyMDA4LTA2LTE5IDEwOjQ4OjU3ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvbWF0cm9za2EvOiBGaXggZGVtdXhpbmcgb2YgV2F2UGFjayBmaWxlcy4gTXV4aW5nIGlzIHN0aWxsIGJyb2tlbi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIChnc3RfbWF0cm9za2FfZGVtdXhfYWRkX3d2cGtfaGVhZGVyKSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9hdWRpb19jYXBzKToKCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtaWRzLmg6CgkgIEZpeCBkZW11eGluZyBvZiBXYXZQYWNrIGZpbGVzLiBNdXhpbmcgaXMgc3RpbGwgYnJva2VuLgoKMjAwOC0wNi0xOSAwOToxMjo1NSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L21hdHJvc2thLzogQWRkIGEgInZmdW5jIiB0byB0aGUgdHJhY2sgY29udGV4dCBmb3IgcG9zdHByb2Nlc3NpbmcgZnJhbWVzIGFuZCBjb252ZXJ0IHRoZSB3YXZwYWNrIGFuZCBzdWJ0aXRsZSBwb3N0Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOiAoZ3N0X21hdHJvc2thX3RyYWNrX2ZyZWUpLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X2FkZF9tcGVnX3NlcV9oZWFkZXIpLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X2FkZF93dnBrX2hlYWRlciksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfY2hlY2tfc3VidGl0bGVfYnVmZmVyKSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9wYXJzZV9ibG9ja2dyb3VwX29yX3NpbXBsZWJsb2NrKSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF92aWRlb19jYXBzKSwgKGdzdF9tYXRyb3NrYV9kZW11eF9hdWRpb19jYXBzKSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9zdWJ0aXRsZV9jYXBzKToKCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtaWRzLmg6CgkgIEFkZCBhICJ2ZnVuYyIgdG8gdGhlIHRyYWNrIGNvbnRleHQgZm9yIHBvc3Rwcm9jZXNzaW5nIGZyYW1lcyBhbmQKCSAgY29udmVydCB0aGUgd2F2cGFjayBhbmQgc3VidGl0bGUgcG9zdHByb2Nlc3NpbmcgdG8gdGhpcyB2ZnVuYy4KCSAgQ29weSBidWZmZXIgZmxhZ3MgaW4gdGhvc2UgZnVuY3Rpb25zIHRvIHRoZSBuZXcgYnVmZmVycyB0b28uCgkgIFBhcnNlIENvZGVjU3RhdGUgZWxlbWVudHMgb2YgQmxvY2tzLgoJICBBZGQgYSBwb3N0cHJvY2Vzc2luZyBmdW5jdGlvbiBmb3IgTVBFRyB2aWRlbyB0aGF0IGFkZHMgdGhlIHNlcXVlbmNlCgkgIGhlYWRlciBmcm9tIHRoZSBjb2RlYyBwcml2YXRlIGRhdGEgb3IgY29kZWMgc3RhdGUgdG8gdGhlIGZyYW1lcyBpZgoJICBpdCdzIG5vdCBhbHJlYWR5IHRoZXJlLgoKMjAwOC0wNi0xOSAwODoyMjoxNiArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6IElmIGEgZ2FwIG9mIG1vcmUgdGhhbiAxLzIgc2Vjb25kIGlzIGZvdW5kIGluIG9uZSBzdHJlYW0gc2VuZCBhCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICAoZ3N0X21hdHJvc2thX2RlbXV4X3BhcnNlX2Jsb2NrZ3JvdXBfb3Jfc2ltcGxlYmxvY2spOgoJICBJZiBhIGdhcCBvZiBtb3JlIHRoYW4gMS8yIHNlY29uZCBpcyBmb3VuZCBpbiBvbmUgc3RyZWFtIHNlbmQgYQoJICBORVdTRUdNRU5UIGV2ZW50IHRvIG5vdCBzdGFsbCB0aGUgcGlwZWxpbmUgaWYgdGhlIGdhcCBpcyB0b28gbGFyZ2UuCgkgIFRoaXMgYWxzbyBmaXhlcyBNYXRyb3NrYSBmaWxlcyB3aGVyZSB0aGUgZmlyc3QgYnVmZmVyIGRvZXNuJ3Qgc3RhcnQKCSAgYXQgdGltZXN0YW1wIDAuIEZpeGVzIGJ1ZyAjNDI5MzIyLgoJICBUaGUgZHVyYXRpb24gb2YgYSBibG9jayBpcyB0aGUgZGVmYXVsdCBkdXJhdGlvbiBtdWx0aXBsaWVkIHdpdGggdGhlCgkgIG51bWJlciBvZiBsYWNlcy4gRXZlcnkgbGFjZSBpcyBvbmUgZnJhbWUgYW5kIHRoZSBkZWZhdWx0IGR1cmF0aW9uCgkgIGlzIHRoZSBkdXJhdGlvbiBvZiBvbmUgZnJhbWUuIFRoaXMgZml4ZXMgcGxheWJhY2sgb2YgZmlsZXMgdGhhdCB1c2UKCSAgbGFjaW5nIGZvciBzb21lIHRyYWNrcy4KCjIwMDgtMDYtMTggMjA6MDk6MjggKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOiBVcGRhdGUgRklYTUUvVE9ET3MgYW5kIG9ubHkgaWdub3JlIEVPUyBhdCB0aGUgY2VudHJhbCwgaW1wb3J0YW50IHBsYWNlIGluc3RlYWQgb2Ygc2V2ZS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9wYXJzZV9jb250ZW50c19zZWVrZW50cnkpOgoJICBVcGRhdGUgRklYTUUvVE9ET3MgYW5kIG9ubHkgaWdub3JlIEVPUyBhdCB0aGUgY2VudHJhbCwgaW1wb3J0YW50IHBsYWNlCgkgIGluc3RlYWQgb2Ygc2V2ZXJhbCBwbGFjZXMuCgoyMDA4LTA2LTE4IDE2OjU1OjA1ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cC9nc3RydHBnNzI2cGF5LmM6IEZpeCBjYXBzLCBTZWUgIzUzODg5MS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cC9nc3RydHBnNzI2cGF5LmM6CgkgIEZpeCBjYXBzLCBTZWUgIzUzODg5MS4KCjIwMDgtMDYtMTggMTA6Mjg6MjAgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOiBJbXByb3ZlIGRlYnVnIG91dHB1dCBldmVyeXdoZXJlIGFuZCBmaXggdGhlIEVPUyBsb2dpYy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6IChnc3RfbWF0cm9za2FfZGVtdXhfcmVzZXQpLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X3N0cmVhbV9mcm9tX251bSksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfZW5jb2RpbmdfY21wKSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9lbmNvZGluZ19vcmRlcl91bmlxdWUpLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X3JlYWRfdHJhY2tfZW5jb2RpbmcpLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X3JlYWRfdHJhY2tfZW5jb2RpbmdzKSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF90cmFja251bWJlcl91bmlxdWUpLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X2FkZF9zdHJlYW0pLCAoZ3N0X21hdHJvc2thX2RlbXV4X2luaXRfc3RyZWFtKSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9wYXJzZV90cmFja3MpLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X3BhcnNlX2luZGV4X2N1ZXRyYWNrKSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9wYXJzZV9pbmRleF9wb2ludGVudHJ5KSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9wYXJzZV9pbmRleCksIChnc3RfbWF0cm9za2FfZGVtdXhfcGFyc2VfaW5mbyksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfcGFyc2VfbWV0YWRhdGFfaWRfc2ltcGxlX3RhZyksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfcGFyc2VfbWV0YWRhdGFfaWRfdGFnKSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9wYXJzZV9tZXRhZGF0YSksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfcGFyc2VfYXR0YWNoZWRfZmlsZSksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfcGFyc2VfYXR0YWNobWVudHMpLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X3BhcnNlX2NoYXB0ZXJzKSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9zeW5jX3N0cmVhbXMpLCAoZ3N0X21hdHJvc2thX2RlY29kZV9idWZmZXIpLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X3BhcnNlX2Jsb2NrZ3JvdXBfb3Jfc2ltcGxlYmxvY2spLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X3BhcnNlX2NsdXN0ZXIpLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X3BhcnNlX2NvbnRlbnRzX3NlZWtlbnRyeSksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfcGFyc2VfY29udGVudHMpLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X2xvb3Bfc3RyZWFtX3BhcnNlX2lkKSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9sb29wKToKCSAgSW1wcm92ZSBkZWJ1ZyBvdXRwdXQgZXZlcnl3aGVyZSBhbmQgZml4IHRoZSBFT1MgbG9naWMuCgkgIENoZWNrIHRoZSB2YWx1ZXMgb2YgdGhlIENvbnRlbnRFbmNvZGluZyBlbGVtZW50cyBtb3JlIHN0cmljdGx5IGFuZAoJICBkb24ndCB1c2UgdHJhY2tzIGZvciB3aGljaCBpdCdzIGludmFsaWQuCgkgIENoZWNrIHRoYXQgdGhlIHRyYWNrIG51bWJlciBpcyB1bmlxdWUgZm9yIHRoaXMgc3RyZWFtLgoJICBDaGVjayB0aGF0IHNlZWsgcG9zaXRpb25zIGFyZSBiZWxvdyBHX01BWElOVDY0IGFzIG91ciBzZWVrcyBhcmUKCSAgaW50NjQtYmFzZWQgYW5kIG92ZXJmbG93cyB3aWxsIGZhaWwgYmFkbHkuCgkgIEFmdGVyIHNlZWtzIGFsc28gZG9uJ3QgcHVzaCBTaW1wbGVCbG9ja3MgdW50aWwgdGhlIGZpcnN0IG9uZQoJICBjb250YWluaW5nIGEga2V5ZnJhbWUgaXMgZm91bmQuIEJlZm9yZSB0aGlzIHdhcyBkb25lIG9ubHkgZm9yIG5vcm1hbAoJICBCbG9ja3MuCgkgIFVwZGF0ZSBzb21lIEZJWE1FL1RPRE9zLgoJICAqIGdzdC9tYXRyb3NrYS9lYm1sLXJlYWQuYzogKGdzdF9lYm1sX3JlYWRfcGVla19ieXRlcyksCgkgIChnc3RfZWJtbF9yZWFkX3V0ZjgpLCAoZ3N0X2VibWxfcmVhZF9oZWFkZXIpOgoJICBJbXByb3ZlIGRlYnVnIG91dHB1dC4KCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtaWRzLmM6CgkgIChnc3RfbWF0cm9za2FfdHJhY2tfaW5pdF92aWRlb19jb250ZXh0KToKCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtaWRzLmg6CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJICAoZ3N0X21hdHJvc2thX211eF92aWRlb19wYWRfc2V0Y2Fwcyk6CgkgIFJlbW92ZSBleWUgbW9kZSBhbmQgZG9uJ3QgcGFyc2UgaXQgYW55bW9yZS4gV2UgY2FuJ3QgdXNlIHRoYXQKCSAgaW5mb3JtYXRpb24gaW4gR1N0cmVhbWVyIHlldCBzbyBpdCdzIHVzZWxlc3MuCgoyMDA4LTA2LTE4IDEwOjEyOjU3ICswMDAwICBtZXJzYWQgPG1lcnNhZEBheGlzLmNvbT4KCgkgIGdzdC9ydHAvOiBBZGRlZCBHNzI2IHBheS9kZXBheWxvYWRlcnMuIEZpeGVzICM1Mzg4OTEuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogbWVyc2FkIDxtZXJzYWQgYXQgYXhpcyBkb3QgY29tPgoJICAqIGdzdC9ydHAvTWFrZWZpbGUuYW06CgkgICogZ3N0L3J0cC9nc3RydHAuYzogKHBsdWdpbl9pbml0KToKCSAgKiBnc3QvcnRwL2dzdHJ0cGc3MjZkZXBheS5jOiAoZ3N0X3J0cF9nNzI2X2RlcGF5X2Jhc2VfaW5pdCksCgkgIChnc3RfcnRwX2c3MjZfZGVwYXlfY2xhc3NfaW5pdCksIChnc3RfcnRwX2c3MjZfZGVwYXlfaW5pdCksCgkgIChnc3RfcnRwX2c3MjZfZGVwYXlfc2V0Y2FwcyksIChnc3RfcnRwX2c3MjZfZGVwYXlfcHJvY2VzcyksCgkgIChnc3RfcnRwX2c3MjZfZGVwYXlfcGx1Z2luX2luaXQpOgoJICAqIGdzdC9ydHAvZ3N0cnRwZzcyNmRlcGF5Lmg6CgkgICogZ3N0L3J0cC9nc3RydHBnNzI2cGF5LmM6IChnc3RfcnRwX2c3MjZfcGF5X2Jhc2VfaW5pdCksCgkgIChnc3RfcnRwX2c3MjZfcGF5X2NsYXNzX2luaXQpLCAoZ3N0X3J0cF9nNzI2X3BheV9pbml0KSwKCSAgKGdzdF9ydHBfZzcyNl9wYXlfc2V0Y2FwcyksIChnc3RfcnRwX2c3MjZfcGF5X3BsdWdpbl9pbml0KToKCSAgKiBnc3QvcnRwL2dzdHJ0cGc3MjZwYXkuaDoKCSAgQWRkZWQgRzcyNiBwYXkvZGVwYXlsb2FkZXJzLiBGaXhlcyAjNTM4ODkxLgoKMjAwOC0wNi0xNyAxMDoxNDo0NyArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHNwL1VSTFM6IFNvbWUgbW9yZSB1cmxzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRzcC9VUkxTOgoJICBTb21lIG1vcmUgdXJscy4KCSAgKiBnc3Qvc21wdGUvYmFyYm94d2lwZXMuYzoKCSAgQWRkIGEgY29tbWVudAoJICAqIHRlc3RzL2V4YW1wbGVzL3J0cC9zZXJ2ZXItdjRsMi1IMjY0LWFsc2FzcmMtUENNQS5zaDoKCSAgRml4IHR5cG8sIGFkZCBhdWRpb3Jlc2FtcGxlIHRvIHRoZSBwaXBlbGluZS4KCjIwMDgtMDYtMTcgMTA6MDU6NTUgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBleHQvbGlibW5nLzogU29tZXdoYXQgcG9ydCBtbmdlbmMgYW5kIG1uZ2RlYyB0byAwLjEwLiBEb2VzIG5vdCB3b3JrIHlldCBhbmQgaGFzIG1hbnkgYml0cyBpZmRlZmZlZCBvdXQgc3RpbGwuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9saWJtbmcvTWFrZWZpbGUuYW06CgkgICogZXh0L2xpYm1uZy9nc3RtbmcuYzogKHBsdWdpbl9pbml0KToKCSAgKiBleHQvbGlibW5nL2dzdG1uZ2RlYy5jOiAoZ3N0X21uZ19kZWNfYmFzZV9pbml0KSwKCSAgKGdzdF9tbmdfZGVjX2NsYXNzX2luaXQpLCAoZ3N0X21uZ19kZWNfc2lua19zZXRjYXBzKSwKCSAgKGdzdF9tbmdfZGVjX2luaXQpLCAoZ3N0X21uZ19kZWNfc3JjX2dldGNhcHMpLCAoZ3N0X21uZ19kZWNfbG9vcCksCgkgIChnc3RfbW5nX2RlY19nZXRfcHJvcGVydHkpLCAoZ3N0X21uZ19kZWNfc2V0X3Byb3BlcnR5KSwKCSAgKG1uZ2RlY19lcnJvciksIChtbmdkZWNfb3BlbnN0cmVhbSksIChtbmdkZWNfY2xvc2VzdHJlYW0pLAoJICAoZ3N0X21uZ19kZWNfc2lua19ldmVudCksIChtbmdkZWNfcmVhZGRhdGEpLCAobW5nZGVjX3NldHRpbWVyKSwKCSAgKG1uZ2RlY19wcm9jZXNzaGVhZGVyKSwgKG1uZ2RlY19nZXRjYW52YXNsaW5lKSwgKG1uZ2RlY19yZWZyZXNoKSwKCSAgKGdzdF9tbmdfZGVjX2NoYW5nZV9zdGF0ZSk6CgkgICogZXh0L2xpYm1uZy9nc3RtbmdkZWMuaDoKCSAgKiBleHQvbGlibW5nL2dzdG1uZ2VuYy5jOiAoZ3N0X21uZ19lbmNfYmFzZV9pbml0KSwKCSAgKGdzdF9tbmdfZW5jX2NsYXNzX2luaXQpLCAoZ3N0X21uZ19lbmNfc2lua19zZXRjYXBzKSwKCSAgKGdzdF9tbmdfZW5jX2luaXQpLCAoZ3N0X21uZ19lbmNfY2hhaW4pLAoJICAoZ3N0X21uZ19lbmNfZ2V0X3Byb3BlcnR5KSwgKGdzdF9tbmdfZW5jX3NldF9wcm9wZXJ0eSk6CgkgICogZXh0L2xpYm1uZy9nc3RtbmdlbmMuaDoKCSAgU29tZXdoYXQgcG9ydCBtbmdlbmMgYW5kIG1uZ2RlYyB0byAwLjEwLiBEb2VzIG5vdCB3b3JrIHlldCBhbmQgaGFzIG1hbnkKCSAgYml0cyBpZmRlZmZlZCBvdXQgc3RpbGwuCgoyMDA4LTA2LTE2IDExOjM0OjU0ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzogV2hlbiBjb21wYXJpbmcgaW5kZXggZWxlbWVudHMgd2l0aCB0aGUgc2FtZSB0aW1lIGNvbXBhcmUgdGhlaXIgYmxvY2sgbnVtYmVyLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzogKGdzdF9tYXRyb3NrYV9pbmRleF9jb21wYXJlKToKCSAgV2hlbiBjb21wYXJpbmcgaW5kZXggZWxlbWVudHMgd2l0aCB0aGUgc2FtZSB0aW1lIGNvbXBhcmUgdGhlaXIKCSAgYmxvY2sgbnVtYmVyLgoKMjAwOC0wNi0xNiAxMTozMTowNiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOiAoZ3N0X21hdHJvc2thX2RlbXV4X3BhcnNlX2F0dGFjaGVkX2ZpbGUpCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICAoZ3N0X21hdHJvc2thX2RlbXV4X3BhcnNlX2F0dGFjaGVkX2ZpbGUpCgkgIEluaXQgdmFyaWFibGUgdG8gTlVMTCB0byBhdm9pZCBjb21waWxlciB3YXJuaW5nLgoKMjAwOC0wNi0xNiAxMDo1OTozOSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L21hdHJvc2thLzogUGFyc2UgQXR0YWNobWVudHMgYW5kIHBvc3QgdGhlbSBhcyBHU1RfVEFHX0lNQUdFIGlmIHdlIGRldGVjdCBpdCBhcyBpbWFnZSBhbmQgb3RoZXJ3aXNlIGFzIEdTVF9UQUdfQVRULi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tYXRyb3NrYS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzogKGdzdF9tYXRyb3NrYV9kZW11eF9yZXNldCksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfcGFyc2VfYXR0YWNoZWRfZmlsZSksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfcGFyc2VfYXR0YWNobWVudHMpLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X3BhcnNlX2NvbnRlbnRzX3NlZWtlbnRyeSksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfbG9vcF9zdHJlYW1fcGFyc2VfaWQpOgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5oOgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1pZHMuYzogKGdzdF9tYXRyb3NrYV9yZWdpc3Rlcl90YWdzKToKCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtaWRzLmg6CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLmM6IChwbHVnaW5faW5pdCk6CgkgIFBhcnNlIEF0dGFjaG1lbnRzIGFuZCBwb3N0IHRoZW0gYXMgR1NUX1RBR19JTUFHRSBpZiB3ZSBkZXRlY3QKCSAgaXQgYXMgaW1hZ2UgYW5kIG90aGVyd2lzZSBhcyBHU1RfVEFHX0FUVEFDSE1FTlQuIEluY2x1ZGUgZmlsZW5hbWUKCSAgYW5kIGRlc2NyaXB0aW9uIG9mIHRoZSBhdHRhY2htZW50cyBpbiB0aGUgY2Fwcy4gRml4ZXMgYnVnICM1Mzc2MjIuCgoyMDA4LTA2LTE2IDEwOjA5OjAzICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZXh0L3NwZWV4L2dzdHNwZWV4ZW5jLmM6IEFkZCBtb2RlIHByb3BlcnR5LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvc3BlZXgvZ3N0c3BlZXhlbmMuYzogKGdzdF9zcGVleF9lbmNfbW9kZV9nZXRfdHlwZSksCgkgIChnc3Rfc3BlZXhfZW5jX2NsYXNzX2luaXQpLCAoZ3N0X3NwZWV4X2VuY19zaW5rX2dldGNhcHMpLAoJICAoZ3N0X3NwZWV4X2VuY19nZXRfbGF0ZW5jeSksIChnc3Rfc3BlZXhfZW5jX2dldF9xdWVyeV90eXBlcyksCgkgIChnc3Rfc3BlZXhfZW5jX3NyY19xdWVyeSksIChnc3Rfc3BlZXhfZW5jX2luaXQpLAoJICAoZ3N0X3NwZWV4X2VuY19zZXR1cCksIChnc3Rfc3BlZXhfZW5jX3B1c2hfYnVmZmVyKSwKCSAgKGdzdF9zcGVleF9lbmNfY2hhaW4pLCAoZ3N0X3NwZWV4X2VuY19nZXRfcHJvcGVydHkpLAoJICAoZ3N0X3NwZWV4X2VuY19zZXRfcHJvcGVydHkpOgoJICBBZGQgbW9kZSBwcm9wZXJ0eS4KCSAgU29tZSBjbGVhbnVwcywgYWRkIG1vcmUgZGVidWcgaW5mby4KCSAgQWRkIGxhdGVuY3kgcXVlcnkuCgoyMDA4LTA2LTE2IDA5OjU0OjI3ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvbWF0cm9za2EvZWJtbC1yZWFkLmM6IFJldHVybiBHU1RfRkxPV19VTkVYUEVDVEVEIGluc3RlYWQgb2YgR1NUX0ZMT1dfRVJST1Igb24gc2hvcnQgcmVhZHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tYXRyb3NrYS9lYm1sLXJlYWQuYzogKGdzdF9lYm1sX3JlYWRfcGVla19ieXRlcyk6CgkgIFJldHVybiBHU1RfRkxPV19VTkVYUEVDVEVEIGluc3RlYWQgb2YgR1NUX0ZMT1dfRVJST1Igb24gc2hvcnQgcmVhZHMuCgkgIElmIHdlIGdldCBsZXNzIGJ5dGVzIHRoYW4gcmVxdWVzdGVkIHdlIGNhbid0IGRvIGFueXRoaW5nIGV4Y2VwdCBkb2luZwoJICBvdXIgRU9TIGxvZ2ljLgoKMjAwOC0wNi0xNSAxOTowOTo1NCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L21hdHJvc2thLzogVXNlIGEgR0FycmF5IGZvciBzdG9yaW5nIHRoZSBDdWUgKGkuZS4gc2VlaykgaW5mb3JtYXRpb24sIHN0b3JlIHRoZSBDdWVUcmFja1Bvc2l0aW9ucyBmb3IgZXZlcnkgdHJhY2ssLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOiAoZ3N0X21hdHJvc2thX2RlbXV4X3Jlc2V0KSwKCSAgKGdzdF9tYXRyb3NrYWRlbXV4X2RvX2luZGV4X3NlZWspLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X3BhcnNlX2luZGV4X2N1ZXRyYWNrKSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9wYXJzZV9pbmRleF9wb2ludGVudHJ5KSwKCSAgKGdzdF9tYXRyb3NrYV9pbmRleF9jb21wYXJlKSwgKGdzdF9tYXRyb3NrYV9kZW11eF9wYXJzZV9pbmRleCksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfcGFyc2VfbWV0YWRhdGEpOgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5oOgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1pZHMuaDoKCSAgVXNlIGEgR0FycmF5IGZvciBzdG9yaW5nIHRoZSBDdWUgKGkuZS4gc2VlaykgaW5mb3JtYXRpb24sIHN0b3JlCgkgIHRoZSBDdWVUcmFja1Bvc2l0aW9ucyBmb3IgZXZlcnkgdHJhY2ssIHN0b3JlIHRoZSBibG9jayBudW1iZXIKCSAgYW5kIG9wdGltaXplIHNlYXJjaGluZyBpbiB0aGUgYXJyYXkgYnkgc29ydGluZyBpdCBhZnRlciB0aGUgbGFzdAoJICBlbGVtZW50IHdhcyBhZGRlZC4KCSAgRml4IGEgc21hbGwgbWVtb3J5IGxlYWsgd2hlbiB0cnlpbmcgdG8gcGFyc2UgYSB0YWdzIGVsZW1lbnQgdGhhdCB3YXMKCSAgYWxyZWFkeSBwYXJzZWQuCgoyMDA4LTA2LTE1IDE1OjI5OjI5ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4Lio6IERvbid0IHdyaXRlIGFub3RoZXIgU2Vla0hlYWQgd2hpY2ggaW5kZXhlcyBhbGwgQ2x1c3RlcnMgdG8gdGhlIGVuZCBvZiB0aGUgZmlsZS4gVGhpcyBpc24uLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOiAoZ3N0X21hdHJvc2thX211eF9yZXNldCksCgkgIChnc3RfbWF0cm9za2FfbXV4X3N0YXJ0KSwgKGdzdF9tYXRyb3NrYV9tdXhfZmluaXNoKSwKCSAgKGdzdF9tYXRyb3NrYV9tdXhfd3JpdGVfZGF0YSk6CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5oOgoJICBEb24ndCB3cml0ZSBhbm90aGVyIFNlZWtIZWFkIHdoaWNoIGluZGV4ZXMgYWxsIENsdXN0ZXJzIHRvIHRoZSBlbmQgb2YKCSAgdGhlIGZpbGUuIFRoaXMgaXNuJ3QgdXNlZnVsIGZvciBhbnl0aGluZyBhbmQganVzdCBpbmNyZWFzZXMgZmlsZXNpemUuCgoyMDA4LTA2LTE1IDE1OjAxOjMwICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvbWF0cm9za2EvZWJtbC1yZWFkLmM6IFByZXZlbnQgdW5hbGlnbmVkIG1lbW9yeSBhY2Nlc3Mgd2hlbiByZWFkaW5nIGZsb2F0cy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L21hdHJvc2thL2VibWwtcmVhZC5jOiAoX2V4dDJkYmwpLCAoZ3N0X2VibWxfcmVhZF9mbG9hdCk6CgkgIFByZXZlbnQgdW5hbGlnbmVkIG1lbW9yeSBhY2Nlc3Mgd2hlbiByZWFkaW5nIGZsb2F0cy4KCjIwMDgtMDYtMTUgMTQ6MDg6NDEgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9tYXRyb3NrYS86IE1ha2Ugc3VyZSB0aGF0IGV2ZXJ5IFRhZ3MgZWxlbWVudCBpcyBvbmx5IHBhcnNlZCBvbmNlIGFuZCBpdCdzIGNvbnRhaW5pbmcgdGFncyBhcmUgb25seSBwb3N0ZWQgb25jZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L21hdHJvc2thL2VibWwtcmVhZC5jOgoJICAqIGdzdC9tYXRyb3NrYS9lYm1sLXJlYWQuaDoKCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzogKGdzdF9tYXRyb3NrYV9kZW11eF9yZXNldCksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfcGFyc2VfbWV0YWRhdGEpOgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5oOgoJICBNYWtlIHN1cmUgdGhhdCBldmVyeSBUYWdzIGVsZW1lbnQgaXMgb25seSBwYXJzZWQgb25jZSBhbmQgaXQncwoJICBjb250YWluaW5nIHRhZ3MgYXJlIG9ubHkgcG9zdGVkIG9uY2UuCgoyMDA4LTA2LTE1IDA5OjQzOjI1ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvbWF0cm9za2EvOiBIYW5kbGUgRUJNTCBlbGVtZW50cyBsaWtlIFZvaWQgb3IgQ1JDMzIgaW4gdGhlIEVibWxSZWFkIGJhc2UgY2xhc3MgYWxyZWFkeS4gVGhleSdyZSBub3QgdXNlZnVsIGluIHRoZSAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L21hdHJvc2thL2VibWwtcmVhZC5jOiAoZ3N0X2VibWxfcGVla19pZCksCgkgIChnc3RfZWJtbF9yZWFkX2hlYWRlcik6CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6IChnc3RfbWF0cm9za2FfZGVtdXhfYWRkX3N0cmVhbSksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfcGFyc2VfdHJhY2tzKSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9wYXJzZV9pbmRleF9jdWV0cmFjayksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfcGFyc2VfaW5kZXhfcG9pbnRlbnRyeSksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfcGFyc2VfaW5kZXgpLCAoZ3N0X21hdHJvc2thX2RlbXV4X3BhcnNlX2luZm8pLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X3BhcnNlX21ldGFkYXRhX2lkX3NpbXBsZV90YWcpLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X3BhcnNlX21ldGFkYXRhX2lkX3RhZyksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfcGFyc2VfbWV0YWRhdGEpLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X3BhcnNlX2F0dGFjaG1lbnRzKSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9wYXJzZV9jaGFwdGVycyksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfcGFyc2VfYmxvY2tncm91cF9vcl9zaW1wbGVibG9jayksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfcGFyc2VfY2x1c3RlciksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfcGFyc2VfY29udGVudHNfc2Vla2VudHJ5KSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9wYXJzZV9jb250ZW50cyksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfbG9vcF9zdHJlYW1fcGFyc2VfaWQpOgoJICBIYW5kbGUgRUJNTCBlbGVtZW50cyBsaWtlIFZvaWQgb3IgQ1JDMzIgaW4gdGhlIEVibWxSZWFkIGJhc2UgY2xhc3MKCSAgYWxyZWFkeS4gVGhleSdyZSBub3QgdXNlZnVsIGluIHRoZSBtYXRyb3NrYSBwYXJzZXIgYW5kIG9ubHkgY2F1c2UKCSAgYWRkaXRpb25hbCBjb2RlLgoKMjAwOC0wNi0xNCAxNTo1MToyNSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L21hdHJvc2thLzogUmV2ZXJzZSB0aGUgbGV2ZWwgbGlzdCBhcyB3ZSB1c3VhbGx5IGFyZSBvbmx5IGludGVyZXN0ZWQgaW4gdGhlIGZpcnN0IGVsZW1lbnQgb3Igd2FudCB0byBhZGQgYSBuZXcgZmlyLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tYXRyb3NrYS9lYm1sLXJlYWQuYzogKGdzdF9lYm1sX2xldmVsX2ZyZWUpLAoJICAoZ3N0X2VibWxfZmluYWxpemUpLCAoZ3N0X2VibWxfcmVhZF9jaGFuZ2Vfc3RhdGUpLAoJICAoZ3N0X2VibWxfcmVhZF9lbGVtZW50X2xldmVsX3VwKSwgKGdzdF9lYm1sX3JlYWRfbWFzdGVyKToKCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9wYXJzZV9jb250ZW50c19zZWVrZW50cnkpOgoJICBSZXZlcnNlIHRoZSBsZXZlbCBsaXN0IGFzIHdlIHVzdWFsbHkgYXJlIG9ubHkgaW50ZXJlc3RlZCBpbiB0aGUKCSAgZmlyc3QgZWxlbWVudCBvciB3YW50IHRvIGFkZCBhIG5ldyBmaXJzdCBlbGVtZW50LiBIYXZpbmcgdGhlCgkgIGZpcnN0IGVsZW1lbnQgc3RvcmVkIGF0IHRoZSBlbmQgYW5kIGNhbGxpbmcgZ19saXN0X2xhc3QoKSBhbmQKCSAgZ19saXN0X2FwcGVuZCgpIGlzIG1vcmUgZXhwZW5zaXZlLgoJICBBbHNvIHVzZSBHU2xpY2UgZm9yIGFsbG9jYXRpbmcgdGhlIEdzdEVibWxMZXZlbCBzdHJ1Y3RzLgoKMjAwOC0wNi0xMyAyMToxMzo0NiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9kZWJ1Zy9nc3R0YWdpbmplY3QuYzogRG9uJ3QgdW5yZWYgTlVMTCB0YWdsaXN0IGluIGZpbmFsaXplLiBEb24ndCB1c2UgYysrIHN0eWxlIGNvbW1lbnRzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZGVidWcvZ3N0dGFnaW5qZWN0LmM6IChnc3RfdGFnX2luamVjdF9maW5hbGl6ZSksCgkgIChnc3RfdGFnX2luamVjdF9jbGFzc19pbml0KSwgKGdzdF90YWdfaW5qZWN0X2luaXQpOgoJICBEb24ndCB1bnJlZiBOVUxMIHRhZ2xpc3QgaW4gZmluYWxpemUuIERvbid0IHVzZSBjKysgc3R5bGUKCSAgY29tbWVudHMuCgoyMDA4LTA2LTEzIDE5OjE0OjQxICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvbWF0cm9za2EvOiBVc2UgZ3N0X3ZhbHVlX3NlcmlhbGl6ZSgpIGFuZCBnc3RfdmFsdWVfZGVzZXJpYWxpemUoKSBmb3IgdHJhbnNmb3JtaW5nIHRhZ3MgZnJvbSBzb21lIEdUeXBlIHRvIGEgc3RyaW4uLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIChnc3RfbWF0cm9za2FfZGVtdXhfcGFyc2VfbWV0YWRhdGFfaWRfc2ltcGxlX3RhZyk6CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOiAoZ3N0X21hdHJvc2thX211eF93cml0ZV9zaW1wbGVfdGFnKSwKCSAgKGdzdF9tYXRyb3NrYV9tdXhfd3JpdGVfZGF0YSk6CgkgIFVzZSBnc3RfdmFsdWVfc2VyaWFsaXplKCkgYW5kIGdzdF92YWx1ZV9kZXNlcmlhbGl6ZSgpIGZvciB0cmFuc2Zvcm1pbmcKCSAgdGFncyBmcm9tIHNvbWUgR1R5cGUgdG8gYSBzdHJpbmcgYW5kIHRoZSBvdGhlciB3YXkgYXJvdW5kLiBUaGUgZGVmYXVsdAoJICB0cmFuc2Zvcm1hdGlvbnMgaW4gR0xpYiBkb24ndCBpbmNsdWRlIHRyYW5zZm9ybWF0aW9ucyBmcm9tIHN0cmluZyB0bwoJICBudW1iZXIgdHlwZXMuCgoyMDA4LTA2LTEzIDE5OjA3OjAzICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguKjogT25seSBwYXJzZSBUcmFja3MsIFNlZWtIZWFkIGFuZCBTZWdtZW50SW5mbyBlbGVtZW50cyBvbmNlIGJ1dCBhbGxvdwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzogKGdzdF9tYXRyb3NrYV9kZW11eF9yZXNldCksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfcGFyc2VfdHJhY2tzKSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9wYXJzZV9pbmRleCksIChnc3RfbWF0cm9za2FfZGVtdXhfcGFyc2VfaW5mbyksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfcGFyc2VfYXR0YWNobWVudHMpLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X3BhcnNlX2NoYXB0ZXJzKSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9wYXJzZV9jb250ZW50c19zZWVrZW50cnkpLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X2xvb3Bfc3RyZWFtX3BhcnNlX2lkKToKCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguaDoKCSAgT25seSBwYXJzZSBUcmFja3MsIFNlZWtIZWFkIGFuZCBTZWdtZW50SW5mbyBlbGVtZW50cyBvbmNlIGJ1dCBhbGxvdwoJICBUYWdzIG11bHRpcGxlIHRpbWVzLiBUaGUgZmlyc3Qgb25lcyBjYW4gYXBwZWFyIG1vcmUgdGhhbiBvbmNlIGJ1dCBtdXN0CgkgIGNvbnRhaW4gdGhlIHNhbWUgY29udGVudCBhcyB0aGUgZmlyc3QgZm9yIGJhY2t1cCBwdXJwb3NlcyBzbyB3ZSBpZ25vcmUKCSAgYWxsIGJ1dCB0aGUgZmlyc3Qgb25lLiBUYWdzIGNhbiBhcHBlYXIgbXVsdGlwbGUgdGltZXMgd2l0aCBkaWZmZXJlbnQKCSAgY29udGVudC4KCSAgSnVtcCB0byBhbGwgZWxlbWVudHMgZXhjZXB0IENsdXN0ZXJzIHRoYXQgYXJlIGF2YWlsYWJsZSBmcm9tIGEKCSAgU2Vla0hlYWQgdG8gbWFrZSBpdCBtb3JlIGxpa2VseSB0byBoYXZlIGFsbCByZXF1aXJlZCBpbmZvcm1hdGlvbnMKCSAgYmVmb3JlIGdldHRpbmcgdG8gdGhlIGZpcnN0IENsdXN0ZXJzLgoJICBBZGQgZHVtbXkgZnVuY3Rpb25zIGZvciBwYXJzaW5nIEF0dGFjaG1lbnRzIGFuZCBDaGFwdGVycy4KCjIwMDgtMDYtMTMgMTQ6MzM6NTIgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC9yZXBsYXlnYWluLzogTW9yZSBkb2MgdXBkYXRlcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3JlcGxheWdhaW4vZ3N0cmdhbmFseXNpcy5jOgoJICAqIGdzdC9yZXBsYXlnYWluL2dzdHJnbGltaXRlci5jOgoJICAqIGdzdC9yZXBsYXlnYWluL2dzdHJndm9sdW1lLmM6CgkgIE1vcmUgZG9jIHVwZGF0ZXMuCgoyMDA4LTA2LTEzIDExOjU5OjIzICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBkb2NzL3BsdWdpbnMvOiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXl0aHR2LnhtbAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5oaWVyYXJjaHk6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmludGVyZmFjZXM6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLnByZXJlcXVpc2l0ZXM6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLnNpZ25hbHM6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFsc2FzcGRpZi54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFtcndiLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXBwLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYmF5ZXIueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iejIueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZGF1ZGlvLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2R4YXBhcnNlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRzZGVjLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZiLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZkc3B1LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhYy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWQueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYmRldnNpbmsueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mZXN0aXZhbC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZpbHRlci54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsdmRlbXV4LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZnJlZXplLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3NtLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3N0aW50ZXJsYWNlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3N0cnRwbWFuYWdlci54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWgyNjRwYXJzZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVybGVhdmUueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qYWNrLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGFkc3BhLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWV0YWRhdGEueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tbXMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tb2RwbHVnLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZzJlbmMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVnNHZpZGVvcGFyc2UueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndHNwYXJzZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd2aWRlb3BhcnNlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVzZXBhY2sueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdXNpY2JyYWluei54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW12ZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW15dGh0di54bWwKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmFzLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmVvbi54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5zZmRlYy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW51dmRlbXV4LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzNC54bWwKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmF3cGFyc2UueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZWFsLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVwbGF5Z2Fpbi54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJmYnNyYy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNkbC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNkcC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNlbGVjdG9yLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc25kZmlsZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdW5kdG91Y2gueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGNkZWMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVlZC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWV4cmVzYW1wbGUueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zdGVyZW8ueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zdWJlbmMueG1sCgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXRpbWlkaXR5LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdHRhLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmNkc3JjLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9zaWduYWwueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12bW5jLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2lsZG1pZGkueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14MjY0LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teHZpZC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXk0bWVuYy54bWw6CgkgICogZXh0L2FtcndiL2dzdGFtcndiZGVjLmM6CgkgICogZXh0L2FtcndiL2dzdGFtcndiZW5jLmM6CgkgICogZXh0L2FtcndiL2dzdGFtcndicGFyc2UuYzoKCSAgKiBleHQvZGMxMzk0L2dzdGRjMTM5NC5jOgoJICAqIGV4dC9kaXJlY3RmYi9kZmJ2aWRlb3NpbmsuYzoKCSAgKiBleHQvaXZvcmJpcy92b3JiaXNkZWMuYzoKCSAgKiBleHQvamFjay9nc3RqYWNrYXVkaW9zaW5rLmM6CgkgICogZXh0L21wZWcyZW5jL2dzdG1wZWcyZW5jLmNjOgoJICAqIGV4dC9tcGxleC9nc3RtcGxleC5jYzoKCSAgKiBleHQvbXVzaWNicmFpbnovZ3N0dHJtLmM6CgkgICogZXh0L215dGh0di9nc3RteXRodHZzcmMuYzoKCSAgKiBleHQvdGhlb3JhL3RoZW9yYWRlYy5jOgoJICAqIGV4dC90aW1pZGl0eS9nc3R0aW1pZGl0eS5jOgoJICAqIGV4dC90aW1pZGl0eS9nc3R3aWxkbWlkaS5jOgoJICAqIGdzdC1saWJzL2dzdC9hcHAvZ3N0YXBwc2luay5jOgoJICAqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5jOgoJICAqIGdzdC9kdmRzcHUvZ3N0ZHZkc3B1LmM6CgkgICogZ3N0L2Zlc3RpdmFsL2dzdGZlc3RpdmFsLmM6CgkgICogZ3N0L2ZyZWV6ZS9nc3RmcmVlemUuYzoKCSAgKiBnc3QvaW50ZXJsZWF2ZS9kZWludGVybGVhdmUuYzoKCSAgKiBnc3QvaW50ZXJsZWF2ZS9pbnRlcmxlYXZlLmM6CgkgICogZ3N0L21vZHBsdWcvZ3N0bW9kcGx1Zy5jYzoKCSAgKiBnc3QvbnV2ZGVtdXgvZ3N0bnV2ZGVtdXguYzoKCSAgQWRkIG1pc3NpbmcgZWxlbWVudHMgdG8gZG9jcy4gRml4IGRvYy1tYXJrdXA6IHVzZSBjb252aW5pZW5jZSBzeW50YXgKCSAgZm9yIGV4YW1wbGVzIChwcm9kdWNlcyB2YWxpZCBkb2Nib29rKSwgYWRkIHNldmVyYWwgcmVmc2VjMiB3aGVuIHdlCgkgIGhhdmUgc2V2ZXJhbCB0aXRsZXMuIEZpeCBzb21lIHR5cGVzLgoKMjAwOC0wNi0xMyAxMTo1NDowNSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC91ZHAvZ3N0dWRwc3JjLio6IEFkZCBwcm9wZXJ0eSB0byBjb250cm9sIGF1dG9tYXRpYyBqb2luL2xlYXZlIG9mIG11bHRpY2FzdCBncm91cHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC91ZHAvZ3N0dWRwc3JjLmM6IChnc3RfdWRwc3JjX2NsYXNzX2luaXQpLCAoZ3N0X3VkcHNyY19pbml0KSwKCSAgKGdzdF91ZHBzcmNfY3JlYXRlKSwgKGdzdF91ZHBzcmNfc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF91ZHBzcmNfZ2V0X3Byb3BlcnR5KSwgKGdzdF91ZHBzcmNfc3RhcnQpLCAoZ3N0X3VkcHNyY19zdG9wKToKCSAgKiBnc3QvdWRwL2dzdHVkcHNyYy5oOgoJICBBZGQgcHJvcGVydHkgdG8gY29udHJvbCBhdXRvbWF0aWMgam9pbi9sZWF2ZSBvZiBtdWx0aWNhc3QgZ3JvdXBzLgoJICBBZGQgR19MSUtFTFkuCgkgIFJlbW92ZSBzZXR0aW5nIGNhcHMgb24gYnVmZmVycyBleHBsaWNpdGx5LCBiYXNlc3JjIGRvZXMgdGhhdCBmb3IgdXMgbm93LgoJICBJbXByb3ZlIGRlYnVnIGluZm8uCgkgIENvbnZlcnQgc29tZSBub24tZmF0YWwgZXJyb3IgaW50byB3YXJuaW5ncy4KCSAgVXNlIGdfbnRvaHMgZm9yIGJldHRlciBwb3J0YWJpbGl0eS4KCSAgTGVhdmUgbXVsdGljYXN0IGdyb3VwcyB3aGVuIHN0b3BwaW5nLgoJICBXaGVuIHVzaW5nIGV4dGVybmFsIHNvY2tldHMsIHVzZSBnZXRzb2NrbmFtZSgpIG9uIHRoZW0gdG8gZmlsbCB1cCB0aGUKCSAgYWRkciBzdHJ1Y3R1cmUgYmVmb3JlIGNhbGxpbmcgbWV0aG9kcyB0aGF0IHVzZSB0aGUgc3RydWN0dXJlLgoJICBTaG91bGQgYWxsIGZpeCAjNTM2OTAzLgoJICBBUEk6IEdzdFVEUFNyYzo6YXV0by1tdWx0aWNhc3QgcHJvcGVydHkKCjIwMDgtMDYtMTMgMTE6NDc6MjggKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvdWRwL2dzdHVkcG5ldHV0aWxzLmM6IFVzZSBnX250b2hsIGZvciBiZXR0ZXIgcG9ydGFiaWxpdHkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC91ZHAvZ3N0dWRwbmV0dXRpbHMuYzogKGdzdF91ZHBfaXNfbXVsdGljYXN0KToKCSAgVXNlIGdfbnRvaGwgZm9yIGJldHRlciBwb3J0YWJpbGl0eS4KCjIwMDgtMDYtMTMgMTE6NDU6NTQgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvdWRwL2dzdG11bHRpdWRwc2luay5jOiBGaXggYSB0eXBvIGFuZCBkbyBzb21lIHNtYWxsIGNsZWFudXBzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvdWRwL2dzdG11bHRpdWRwc2luay5jOiAoZ3N0X211bHRpdWRwc2lua19pbml0X3NlbmQpLAoJICAoZ3N0X211bHRpdWRwc2lua19yZW1vdmUpOgoJICBGaXggYSB0eXBvIGFuZCBkbyBzb21lIHNtYWxsIGNsZWFudXBzLgoKMjAwOC0wNi0xMyAwOTozOTo0MSArMDAwMCAgT2xpdmllciBDcmV0ZSA8dGVzdGVyQHRlc3Rlci5jYT4KCgkgIGdzdC9ydHAvZ3N0cnRwdGhlb3JhZGVwYXkuYzogTWFrZSB0aGUgZGVsaXZlcnktbWV0aG9kIG1hbmRhdG9yeSBvbiB0aGUgY2FwcyBhbmQgb25seSBhY2NlcHQgaW5saW5lIGZvciBub3cuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogT2xpdmllciBDcmV0ZSA8dGVzdGVyIGF0IHRlc3RlciBkb3QgY2E+CgkgICogZ3N0L3J0cC9nc3RydHB0aGVvcmFkZXBheS5jOiAoZ3N0X3J0cF90aGVvcmFfZGVwYXlfc2V0Y2Fwcyk6CgkgIE1ha2UgdGhlIGRlbGl2ZXJ5LW1ldGhvZCBtYW5kYXRvcnkgb24gdGhlIGNhcHMgYW5kIG9ubHkgYWNjZXB0IGlubGluZQoJICBmb3Igbm93LgoJICBSZXZlcnNlIHN0cmNtcCBjaGVja3MgZm9yIGRlbGl2ZXJ5LW1ldGhvZC4KCSAgKiBnc3QvcnRwL2dzdHJ0cHZvcmJpc2RlcGF5LmM6IChnc3RfcnRwX3ZvcmJpc19kZXBheV9zZXRjYXBzKToKCSAgTWFrZSBkZWxpdmVyeSBtZXRob2Qgb3B0aW9uYWwgd2hlbiBwYXJzaW5nIGNhcHMgYW5kIG5vdGUgdGhpcyBpbiB0aGUKCSAgY2Fwcy4KCSAgUmV2ZXJzZSBzdHJjbXAgY2hlY2tzIGZvciBkZWxpdmVyeS1tZXRob2QuCgkgICogZ3N0L3J0cC9nc3RydHB2b3JiaXNwYXkuYzoKCSAgVXBkYXRlIGEgY29tbWVudCB0byBub3RlIHRoYXQgdGhlIGRlbGl2ZXJ5LW1ldGhvZCBpcyBvcHRpb25hbCwKCSAgRml4ZXMgIzUzNzY3NS4KCjIwMDgtMDYtMTIgMTc6MzA6MDYgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IFNldCB1ZHBzcmMgZm9yIHJlY2VpdmluZyBkYXRhIGZyb20gbXVsdGljYXN0IGdyb3VwcyB0byBQQVVTRUQgaW5zdGVhZCBvZiBsZWF2aW5nIHRoZW0gaW4gUkVBRFkuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiAoZ3N0X3J0c3BzcmNfc3RyZWFtX2NvbmZpZ3VyZV9tY2FzdCk6CgkgIFNldCB1ZHBzcmMgZm9yIHJlY2VpdmluZyBkYXRhIGZyb20gbXVsdGljYXN0IGdyb3VwcyB0byBQQVVTRUQgaW5zdGVhZCBvZgoJICBsZWF2aW5nIHRoZW0gaW4gUkVBRFkuIEZpeGVzICM1Mzc4MzIuCgoyMDA4LTA2LTEyIDEyOjE0OjM4ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3QvYXZpL2dzdGF2aW11eC5jOiBTaW1wbGlmeSBjb2RlLiBnc3RfdGFnX2xpc3RfbWVyZ2UoKSBkb2VzIHRoZSBOVUxMIGNoZWNrcy4gQWRkIGEgRklYTUUgZm9yIGEgcmFuZG9tIGNvbnN0YW50IGluIHQuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2F2aS9nc3RhdmltdXguYzoKCSAgU2ltcGxpZnkgY29kZS4gZ3N0X3RhZ19saXN0X21lcmdlKCkgZG9lcyB0aGUgTlVMTCBjaGVja3MuIEFkZCBhIEZJWE1FCgkgIGZvciBhIHJhbmRvbSBjb25zdGFudCBpbiB0YWdtdXhpbmcgY29kZS4KCjIwMDgtMDYtMTEgMTQ6Mjg6NDQgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC9kZWJ1Zy9nc3R0YWdpbmplY3QuKjogTm93IGFjdHVhbGx5IGFkZGluZyB0aGUgbmV3IGVsZW1lbnQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9kZWJ1Zy9nc3R0YWdpbmplY3QuYzoKCSAgKiBnc3QvZGVidWcvZ3N0dGFnaW5qZWN0Lmg6CgkgIE5vdyBhY3R1YWxseSBhZGRpbmcgdGhlIG5ldyBlbGVtZW50LgoKMjAwOC0wNi0xMSAxNDoxMToxNiArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgUmVtb3ZlIGR1bW15IHBsdWdpbl9pbml0LiBSZW1vdmUgc29tZSB1bmRlZmluZWQgZW50cmllcyBmcm9tIGRvYy0gc2VjdGlvbiBmaWxlLiBBZGQgdGFnaW5qZWN0IGVsZW1lbnQgYW5kIHJlYnVpbGQgZG9jLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmFyZ3M6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5oaWVyYXJjaHk6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5pbnRlcmZhY2VzOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMucHJlcmVxdWlzaXRlczoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWFzaW5rLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxhdy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGFjb2xvci54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFubm9kZXgueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hcGV0YWcueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb2Z4LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVwYXJzZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9kZXRlY3QueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdmkueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWNhc2luay54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhaXJvLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2Rpby54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWN1dHRlci54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVnLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHYueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmVuY2UueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmZlY3R2LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXF1YWxpemVyLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXNkc2luay54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsYWMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHhkZWMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nYW1tYS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdjb25mZWxlbWVudHMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZGtwaXhidWYueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbTJrMS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWhhbGVsZW1lbnRzLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWN5ZGVtdXgueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pZDNkZW11eC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwZWcueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sZXZlbC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1hdHJvc2thLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW9ub3Njb3BlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsYXcueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aWZpbGUueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aXBhcnQueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uYXZpZ2F0aW9udGVzdC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zc2F1ZGlvLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5nLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcXVpY2t0aW1lLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRzcC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNtcHRlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291cC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWN0cnVtLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZXgueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10YWdsaWIueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi11ZHAueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlbzRsaW51eDIueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2JhbGFuY2UueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2JveC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvY3JvcC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvZmxpcC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvbWl4ZXIueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZlbmMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYWNrLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFyc2UueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14aW1hZ2VzcmMueG1sOgoJICAqIGdzdC9kZWJ1Zy9NYWtlZmlsZS5hbToKCSAgKiBnc3QvZGVidWcvYnJlYWtteWRhdGEuYzoKCSAgKiBnc3QvZGVidWcvZWZlbmNlLmM6CgkgICogZ3N0L2RlYnVnL2dzdGRlYnVnLmM6CgkgICogZ3N0L2RlYnVnL2dzdG5hdnNlZWsuYzoKCSAgKiBnc3QvZGVidWcvZ3N0cHVzaGZpbGVzcmMuYzoKCSAgKiBnc3QvZGVidWcvZ3N0cHVzaGZpbGVzcmMuaDoKCSAgKiBnc3QvZGVidWcvbmVnb3RpYXRpb24uYzoKCSAgKiBnc3QvZGVidWcvcHJvZ3Jlc3NyZXBvcnQuYzoKCSAgKiBnc3QvZGVidWcvcHJvZ3Jlc3NyZXBvcnQuaDoKCSAgKiBnc3QvZGVidWcvcm5kYnVmZmVyc2l6ZS5jOgoJICAqIGdzdC9kZWJ1Zy90ZXN0cGx1Z2luLmM6CgkgIFJlbW92ZSBkdW1teSBwbHVnaW5faW5pdC4gUmVtb3ZlIHNvbWUgdW5kZWZpbmVkIGVudHJpZXMgZnJvbSBkb2MtCgkgIHNlY3Rpb24gZmlsZS4gQWRkIHRhZ2luamVjdCBlbGVtZW50IGFuZCByZWJ1aWxkIGRvY3MgZm9yIGl0LgoKMjAwOC0wNi0xMSAxMToyNzo0NiArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOiBVcGRhdGUgdGhlIGNvdW50ZXIgZm9yIHRoZSBudW1iZXIgb2Ygc3RyZWFtcyB3aGVuIHBhZHMgYXJlIGFkZGVkIG9yIHJlbW92ZWQuIFRoaXMgd2lsbCBtLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzogKGdzdF9tYXRyb3NrYV9tdXhfcmVxdWVzdF9uZXdfcGFkKSwKCSAgKGdzdF9tYXRyb3NrYV9tdXhfcmVsZWFzZV9wYWQpLCAoZ3N0X21hdHJvc2thX211eF93cml0ZV9kYXRhKToKCSAgVXBkYXRlIHRoZSBjb3VudGVyIGZvciB0aGUgbnVtYmVyIG9mIHN0cmVhbXMgd2hlbiBwYWRzIGFyZSBhZGRlZCBvcgoJICByZW1vdmVkLiBUaGlzIHdpbGwgbWFrZSBzdXJlIHRoYXQgYSBzZWVrIHRhYmxlIGlzIGdlbmVyYXRlZCBmb3IKCSAgZmlsZXMgd2l0aCBqdXN0IG9uZSBhdWRpbyBzdHJlYW0uCgoyMDA4LTA2LTExIDExOjE4OjIzICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvbWF0cm9za2EvOiBBZGQgc29tZSBtb3JlIHRhZ3MsIGltcHJvdmUgZGVidWdnaW5nIGEgYml0IGFuZCBtYWtlIHN1cmUgdGhhdAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9wYXJzZV9tZXRhZGF0YV9pZF9zaW1wbGVfdGFnKToKCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtaWRzLmg6CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOiAoZ3N0X21hdHJvc2thX211eF93cml0ZV9zaW1wbGVfdGFnKToKCSAgQWRkIHNvbWUgbW9yZSB0YWdzLCBpbXByb3ZlIGRlYnVnZ2luZyBhIGJpdCBhbmQgbWFrZSBzdXJlIHRoYXQKCSAgR1ZhbHVlIHRyYW5zZm9ybWF0aW9uIGhhcyBzdWNjZWVkZWQgYmVmb3JlIHVzaW5nIHRoZSByZXN1bHQKCSAgYXMgYSB0YWcuCgoyMDA4LTA2LTExIDA4OjU2OjE2ICswMDAwICBPbGl2aWVyIENyZXRlIDx0ZXN0ZXJAdGVzdGVyLmNhPgoKCSAgZ3N0L3J0cC9nc3RydHB0aGVvcmFwYXkuYzogVGhlIFRoZW9yYSBSVFAgcGF5bG9hZGVyIG9ubHkgc3VwcG9ydHMgdGhlICJpbmxpbmUiIGRlbGlldmVyeSBtZXRob2Qgc28gbGV0J3MgZGVjbGFyZSB0aGlzLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogT2xpdmllciBDcmV0ZSA8dGVzdGVyIGF0IHRlc3RlciBkb3QgY2E+CgkgICogZ3N0L3J0cC9nc3RydHB0aGVvcmFwYXkuYzoKCSAgVGhlIFRoZW9yYSBSVFAgcGF5bG9hZGVyIG9ubHkgc3VwcG9ydHMgdGhlICJpbmxpbmUiIGRlbGlldmVyeSBtZXRob2QKCSAgc28gbGV0J3MgZGVjbGFyZSB0aGlzIG9uIHRoZSBjYXBzIG9mIHRoZSBzdGF0aWMgcGFkIHRlbXBsYXRlLgoJICBGaXhlcyBidWcgIzUzNzY3NS4KCjIwMDgtMDYtMTAgMTc6MjA6NDUgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvdmlkZW9taXhlci92aWRlb21peGVyLmM6IFJlbW92ZSBib2d1cyBjaGVjay4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlci5jOiAoZ3N0X3ZpZGVvbWl4ZXJfZmlsbF9xdWV1ZXMpLAoJICAoZ3N0X3ZpZGVvbWl4ZXJfYmxlbmRfYnVmZmVycyksIChnc3RfdmlkZW9taXhlcl91cGRhdGVfcXVldWVzKToKCSAgUmVtb3ZlIGJvZ3VzIGNoZWNrLgoKMjAwOC0wNi0xMCAxNjoyNToyNCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIuYzogVXNlIHN0cmVhbV90aW1lIHRvIHN5bmNocm9uaXplIHRoZSBvYmplY3QgcHJvcGVydGllcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlci5jOiAoZ3N0X3ZpZGVvbWl4ZXJfZmlsbF9xdWV1ZXMpLAoJICAoZ3N0X3ZpZGVvbWl4ZXJfYmxlbmRfYnVmZmVycyk6CgkgIFVzZSBzdHJlYW1fdGltZSB0byBzeW5jaHJvbml6ZSB0aGUgb2JqZWN0IHByb3BlcnRpZXMuCgkgIFVzZSBydW5uaW5nX3RpbWUgb2YgdGhlIG1hc3RlciBwYWQgdG8gdGltZXN0YW1wIG91dGdvaW5nIGJ1ZmZlcnMuCgkgIEZpeCB0aGUgaW5pdGlhbCBzZWdtZW50IGV2ZW50IHRvIGV4dGVuZCBhbiB1bmtub3duIGFtb3VudCBvZiB0aW1lLgoJICBGaXhlcyAjNTM3MzYxLgoKMjAwOC0wNi0xMCAxMTowNTozMCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzogVHJ5IHRvIGlnbm9yZSB1bnBhcnNhYmxlL3Vua25vd24gc3RyZWFtcyBhbmQgZ2l2ZSBhIHdhcm5pbmcgaW5zdGVhZCBvZiBlcnJvcmluZyBvdXQuIEZpeGVzICM1My4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6IChnc3RfYXZpX2RlbXV4X3BhcnNlX3N0cmVhbSksCgkgIChnc3RfYXZpX2RlbXV4X3BhcnNlX2luZGV4KSwgKGdzdF9hdmlfZGVtdXhfbWFzc2FnZV9pbmRleCksCgkgIChnc3RfYXZpX2RlbXV4X2NhbGN1bGF0ZV9kdXJhdGlvbnNfZnJvbV9pbmRleCksCgkgIChnc3RfYXZpX2RlbXV4X3N0cmVhbV9oZWFkZXJfcHVzaCksCgkgIChnc3RfYXZpX2RlbXV4X3N0cmVhbV9oZWFkZXJfcHVsbCk6CgkgIFRyeSB0byBpZ25vcmUgdW5wYXJzYWJsZS91bmtub3duIHN0cmVhbXMgYW5kIGdpdmUgYSB3YXJuaW5nIGluc3RlYWQgb2YKCSAgZXJyb3Jpbmcgb3V0LiBGaXhlcyAjNTM3Mzc3LgoKMjAwOC0wNi0xMCAxMDo0NDo1MyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L21hdHJvc2thL2VibWwtd3JpdGUuYzogVXNlIEdET1VCTEVfVE9fQkUoKSBpbnN0ZWFkIG9mIChwcm9iYWJseSBzbG93ZXIpIGN1c3RvbSBjb2RlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbWF0cm9za2EvZWJtbC13cml0ZS5jOiAoZ3N0X2VibWxfd3JpdGVfZmxvYXQpOgoJICBVc2UgR0RPVUJMRV9UT19CRSgpIGluc3RlYWQgb2YgKHByb2JhYmx5IHNsb3dlcikgY3VzdG9tIGNvZGUuCgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6IChnc3RfbWF0cm9za2FfZGVtdXhfYmFzZV9pbml0KSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9jbGFzc19pbml0KSwgKGdzdF9tYXRyb3NrYV9kZW11eF9pbml0KSwKCSAgKGdzdF9tYXRyb3NrYV90cmFja19mcmVlKSwgKGdzdF9tYXRyb3NrYV9kZW11eF9lbmNvZGluZ19jbXApLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X3JlYWRfdHJhY2tfZW5jb2RpbmdzKSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9hZGRfc3RyZWFtKSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9oYW5kbGVfc3JjX3F1ZXJ5KSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9pbml0X3N0cmVhbSksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfcGFyc2VfaW5kZXhfY3VldHJhY2spLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X3BhcnNlX2luZGV4X3BvaW50ZW50cnkpLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X3BhcnNlX2luZm8pLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X3BhcnNlX21ldGFkYXRhX2lkX3NpbXBsZV90YWcpLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X3BhcnNlX21ldGFkYXRhKSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9hZGRfd3Zwa19oZWFkZXIpLCAoZ3N0X21hdHJvc2thX2RlY29kZV9idWZmZXIpLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X3BhcnNlX2Jsb2NrZ3JvdXBfb3Jfc2ltcGxlYmxvY2spLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X3BhcnNlX2NsdXN0ZXIpLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X3BhcnNlX2NvbnRlbnRzX3NlZWtlbnRyeSksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfbG9vcF9zdHJlYW1fcGFyc2VfaWQpLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X2xvb3ApLCAoZ3N0X21hdHJvc2thX2RlbXV4X3ZpZGVvX2NhcHMpLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X2F1ZGlvX2NhcHMpLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X3N1YnRpdGxlX2NhcHMpOgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5oOgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1pZHMuYzoKCSAgKGdzdF9tYXRyb3NrYV90cmFja19pbml0X3N1YnRpdGxlX2NvbnRleHQpOgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1pZHMuaDoKCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6IChnc3RfbWF0cm9za2FfbXV4X2Jhc2VfaW5pdCksCgkgIChnc3RfbWF0cm9za2FfbXV4X2NsYXNzX2luaXQpLCAoZ3N0X21hdHJvc2thX211eF9pbml0KSwKCSAgKGdzdF9tYXRyb3NrYV9tdXhfY3JlYXRlX3VpZCksIChnc3RfbWF0cm9za2FfbXV4X3Jlc2V0KSwKCSAgKGdzdF9tYXRyb3NrYV9tdXhfdmlkZW9fcGFkX3NldGNhcHMpLAoJICAoZ3N0X21hdHJvc2thX211eF9hdWRpb19wYWRfc2V0Y2FwcyksCgkgIChnc3RfbWF0cm9za2FfbXV4X3N1YnRpdGxlX3BhZF9zZXRjYXBzKSwKCSAgKGdzdF9tYXRyb3NrYV9tdXhfcmVxdWVzdF9uZXdfcGFkKSwKCSAgKGdzdF9tYXRyb3NrYV9tdXhfdHJhY2tfaGVhZGVyKSwgKGdzdF9tYXRyb3NrYV9tdXhfc3RhcnQpLAoJICAoZ3N0X21hdHJvc2thX211eF93cml0ZV9zaW1wbGVfdGFnKSwgKGdzdF9tYXRyb3NrYV9tdXhfZmluaXNoKSwKCSAgKGdzdF9tYXRyb3NrYV9tdXhfd3JpdGVfZGF0YSksIChnc3RfbWF0cm9za2FfbXV4X2NvbGxlY3RlZCksCgkgIChnc3RfbWF0cm9za2FfbXV4X3NldF9wcm9wZXJ0eSk6CgkgIEFkZCBtYW55IEZJWE1Fcy9UT0RPcyBhbGwgb3ZlciB0aGUgbWF0cm9za2EgbXV4ZXIgYW5kIGRlbXV4ZXIKCSAgZWxlbWVudHMsIGRvIHNvbWUgY2hlY2tzIGZvciB2YWxpZCB2YWx1ZXMgaW4gdGhlIGRlbXV4ZXIsIGhhbmRsZQoJICB0cmFja3RpbWVjb2Rlc2NhbGUgaW4gdGhlIGRlbXV4ZXIsIHNldCBjb3JyZWN0IGRlZmF1bHQgdmFsdWVzIGZvciBhbGwKCSAgc2V0dGluZ3MgaW4gdGhlIGRlbXV4ZXIsIHJldmlldyBhbmQgYWRkIGFsbCBtaXNzaW5nIG1hdHJvc2thCgkgIElEcyBhbmQgc29tZSBtb3JlIHJhdyBZVVYgZm9ybWF0cywgYW5kIHNvbWUgdHJpdmlhbCBjbGVhbnVwLgoKMjAwOC0wNi0xMCAwODo1OToxNyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZXh0L3B1bHNlLzogU29tZSBzbWFsbGVyIGNsZWFudXAuIFVzZSBHX1BBUkFNX1NUQVRJQ19TVFJJTkdTLCBnc3RfZWxlbWVudF9jbGFzc19zZXRfZGV0YWlsc19zaW1wbGUoKSBhbmQgZml4IGNvZGluZyBzLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9wdWxzZS9wdWxzZW1peGVyLmM6IChnc3RfcHVsc2VtaXhlcl9iYXNlX2luaXQpLAoJICAoZ3N0X3B1bHNlbWl4ZXJfY2xhc3NfaW5pdCk6CgkgICogZXh0L3B1bHNlL3B1bHNlc2luay5jOiAoZ3N0X3B1bHNlc2lua19iYXNlX2luaXQpLAoJICAoZ3N0X3B1bHNlc2lua19jbGFzc19pbml0KSwgKGdzdF9wdWxzZXNpbmtfcHJlcGFyZSk6CgkgICogZXh0L3B1bHNlL3B1bHNlc3JjLmM6IChnc3RfcHVsc2VzcmNfaW50ZXJmYWNlX3N1cHBvcnRlZCksCgkgIChnc3RfcHVsc2VzcmNfYmFzZV9pbml0KSwgKGdzdF9wdWxzZXNyY19jbGFzc19pbml0KSwKCSAgKGdzdF9wdWxzZXNyY19wcmVwYXJlKToKCSAgU29tZSBzbWFsbGVyIGNsZWFudXAuIFVzZSBHX1BBUkFNX1NUQVRJQ19TVFJJTkdTLAoJICBnc3RfZWxlbWVudF9jbGFzc19zZXRfZGV0YWlsc19zaW1wbGUoKSBhbmQgZml4IGNvZGluZyBzdHlsZSBhIGJpdAoJICBtb3JlLgoKMjAwOC0wNi0xMCAwODoyMjoxNyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgQWRkIGRvY3VtZW50YXRpb24gdG8gdGhlIHB1bHNlYXVkaW8gcGx1Z2luIGFuZCBydW4gbWFrZSB1cGRhdGUgaW4gZG9jcy9wbHVnaW5zLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1kb2NzLnNnbWw6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5hcmdzOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaGllcmFyY2h5OgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaW50ZXJmYWNlczoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLnByZXJlcXVpc2l0ZXM6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFhc2luay54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFsYXcueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhY29sb3IueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbm5vZGV4LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXBldGFnLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9meC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1cGFyc2UueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvZGV0ZWN0LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXZpLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FjYXNpbmsueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWlyby54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNkaW8ueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jdXR0ZXIueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Zy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZlbmNlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZmZWN0di54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVxdWFsaXplci54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVzZHNpbmsueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbGFjLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx4ZGVjLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2FtbWEueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nY29uZmVsZW1lbnRzLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2RrcGl4YnVmLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20yazEueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1oYWxlbGVtZW50cy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWljeWRlbXV4LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzZGVtdXgueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGV2ZWwueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tYXRyb3NrYS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1vbm9zY29wZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bGF3LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlmaWxlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlwYXJ0LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmF2aWdhdGlvbnRlc3QueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3NhdWRpby54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBuZy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXB1bHNlYXVkaW8ueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1xdWlja3RpbWUueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHAueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHNwLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc21wdGUueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VwLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlY3RydW0ueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVleC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXRhZ2xpYi54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXVkcC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvNGxpbnV4Mi54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvYmFsYW5jZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvYm94LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9jcm9wLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9mbGlwLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9taXhlci54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdmVuYy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhY2sueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYXJzZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXhpbWFnZXNyYy54bWw6CgkgICogZXh0L3B1bHNlL3BsdWdpbi5jOgoJICAqIGV4dC9wdWxzZS9wdWxzZW1peGVyLmM6CgkgICogZXh0L3B1bHNlL3B1bHNlc2luay5jOgoJICAqIGV4dC9wdWxzZS9wdWxzZXNyYy5jOgoJICBBZGQgZG9jdW1lbnRhdGlvbiB0byB0aGUgcHVsc2VhdWRpbyBwbHVnaW4gYW5kIHJ1biBtYWtlIHVwZGF0ZQoJICBpbiBkb2NzL3BsdWdpbnMuCgoyMDA4LTA2LTEwIDA2OjUyOjQ0ICswMDAwICBCcmlhbiBDYW1lcm9uIDxicmlhbi5jYW1lcm9uQHN1bi5jb20+CgoJICBzeXMvc3VuYXVkaW8vZ3N0c3VuYXVkaW9taXhlcmN0cmwuYzogSW1wcm92ZW1lbnRzIGZvciB0aGUgU3VuQXVkaW8gbWl4ZXIgYnkgaGFuZGxpbmcgbXV0ZSBhcyBubyBnYWluIGZvciB0cmFja3MgdGhhdCAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBCcmlhbiBDYW1lcm9uIDxicmlhbi5jYW1lcm9uIGF0IHN1biBkb3QgY29tPgoJICAqIHN5cy9zdW5hdWRpby9nc3RzdW5hdWRpb21peGVyY3RybC5jOgoJICAoZ3N0X3N1bmF1ZGlvbWl4ZXJfY3RybF9nZXRfdm9sdW1lKSwKCSAgKGdzdF9zdW5hdWRpb21peGVyX2N0cmxfc2V0X3ZvbHVtZSk6CgkgIEltcHJvdmVtZW50cyBmb3IgdGhlIFN1bkF1ZGlvIG1peGVyIGJ5IGhhbmRsaW5nIG11dGUgYXMgbm8gZ2FpbgoJICBmb3IgdHJhY2tzIHRoYXQgaGF2ZSBhIGdhaW4gcHJvcGVydHkgYnV0IG5vIG11dGUgcHJvcGVydHkuCgkgIEZpeGVzIGJ1ZyAjNTM2MDY3LgoKMjAwOC0wNi0xMCAwNjo0NTozMyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgQWRkIHB1bHNlYXVkaW8gR1N0cmVhbWVyIGVsZW1lbnQgZnJvbSBnc3QtcHVsc2UuIERldmVsb3BtZW50IHdpbGwgY29udGludWUgaGVyZSBpbnN0ZWFkIG9mIHB1bHNlYXVkaW8gU1ZOLiBGaXhlcyBidWcgLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBleHQvcHVsc2UvTWFrZWZpbGUuYW06CgkgICogZXh0L3B1bHNlL3BsdWdpbi5jOiAocGx1Z2luX2luaXQpOgoJICAqIGV4dC9wdWxzZS9wdWxzZW1peGVyLmM6IChnc3RfcHVsc2VtaXhlcl9pbnRlcmZhY2Vfc3VwcG9ydGVkKSwKCSAgKGdzdF9wdWxzZW1peGVyX2ltcGxlbWVudHNfaW50ZXJmYWNlX2luaXQpLAoJICAoZ3N0X3B1bHNlbWl4ZXJfaW5pdF9pbnRlcmZhY2VzKSwgKGdzdF9wdWxzZW1peGVyX2Jhc2VfaW5pdCksCgkgIChnc3RfcHVsc2VtaXhlcl9jbGFzc19pbml0KSwgKGdzdF9wdWxzZW1peGVyX2luaXQpLAoJICAoZ3N0X3B1bHNlbWl4ZXJfZmluYWxpemUpLCAoZ3N0X3B1bHNlbWl4ZXJfc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9wdWxzZW1peGVyX2dldF9wcm9wZXJ0eSksIChnc3RfcHVsc2VtaXhlcl9jaGFuZ2Vfc3RhdGUpOgoJICAqIGV4dC9wdWxzZS9wdWxzZW1peGVyLmg6CgkgICogZXh0L3B1bHNlL3B1bHNlbWl4ZXJjdHJsLmM6CgkgIChnc3RfcHVsc2VtaXhlcl9jdHJsX2NvbnRleHRfc3RhdGVfY2IpLAoJICAoZ3N0X3B1bHNlbWl4ZXJfY3RybF9zaW5rX2luZm9fY2IpLAoJICAoZ3N0X3B1bHNlbWl4ZXJfY3RybF9zb3VyY2VfaW5mb19jYiksCgkgIChnc3RfcHVsc2VtaXhlcl9jdHJsX3N1YnNjcmliZV9jYiksCgkgIChnc3RfcHVsc2VtaXhlcl9jdHJsX3N1Y2Nlc3NfY2IpLCAoZ3N0X3B1bHNlbWl4ZXJfY3RybF9vcGVuKSwKCSAgKGdzdF9wdWxzZW1peGVyX2N0cmxfY2xvc2UpLCAoZ3N0X3B1bHNlbWl4ZXJfY3RybF9uZXcpLAoJICAoZ3N0X3B1bHNlbWl4ZXJfY3RybF9mcmVlKSwgKGdzdF9wdWxzZW1peGVyX2N0cmxfbGlzdF90cmFja3MpLAoJICAoZ3N0X3B1bHNlbWl4ZXJfY3RybF90aW1lb3V0X2V2ZW50KSwgKHJlc3RhcnRfdGltZV9ldmVudCksCgkgIChnc3RfcHVsc2VtaXhlcl9jdHJsX3NldF92b2x1bWUpLCAoZ3N0X3B1bHNlbWl4ZXJfY3RybF9nZXRfdm9sdW1lKSwKCSAgKGdzdF9wdWxzZW1peGVyX2N0cmxfc2V0X3JlY29yZCksIChnc3RfcHVsc2VtaXhlcl9jdHJsX3NldF9tdXRlKToKCSAgKiBleHQvcHVsc2UvcHVsc2VtaXhlcmN0cmwuaDoKCSAgKiBleHQvcHVsc2UvcHVsc2VtaXhlcnRyYWNrLmM6IChnc3RfcHVsc2VtaXhlcl90cmFja19jbGFzc19pbml0KSwKCSAgKGdzdF9wdWxzZW1peGVyX3RyYWNrX2luaXQpLCAoZ3N0X3B1bHNlbWl4ZXJfdHJhY2tfbmV3KToKCSAgKiBleHQvcHVsc2UvcHVsc2VtaXhlcnRyYWNrLmg6CgkgICogZXh0L3B1bHNlL3B1bHNlcHJvYmUuYzogKGdzdF9wdWxzZXByb2JlX2NvbnRleHRfc3RhdGVfY2IpLAoJICAoZ3N0X3B1bHNlcHJvYmVfc2lua19pbmZvX2NiKSwgKGdzdF9wdWxzZXByb2JlX3NvdXJjZV9pbmZvX2NiKSwKCSAgKGdzdF9wdWxzZXByb2JlX2ludmFsaWRhdGUpLCAoZ3N0X3B1bHNlcHJvYmVfb3BlbiksCgkgIChnc3RfcHVsc2Vwcm9iZV9lbnVtZXJhdGUpLCAoZ3N0X3B1bHNlcHJvYmVfY2xvc2UpLAoJICAoZ3N0X3B1bHNlcHJvYmVfbmV3KSwgKGdzdF9wdWxzZXByb2JlX2ZyZWUpLAoJICAoZ3N0X3B1bHNlcHJvYmVfZ2V0X3Byb3BlcnRpZXMpLCAoZ3N0X3B1bHNlcHJvYmVfbmVlZHNfcHJvYmUpLAoJICAoZ3N0X3B1bHNlcHJvYmVfcHJvYmVfcHJvcGVydHkpLCAoZ3N0X3B1bHNlcHJvYmVfZ2V0X3ZhbHVlcyksCgkgIChnc3RfcHVsc2Vwcm9iZV9zZXRfc2VydmVyKToKCSAgKiBleHQvcHVsc2UvcHVsc2Vwcm9iZS5oOgoJICAqIGV4dC9wdWxzZS9wdWxzZXNpbmsuYzogKGdzdF9wdWxzZXNpbmtfYmFzZV9pbml0KSwKCSAgKGdzdF9wdWxzZXNpbmtfY2xhc3NfaW5pdCksIChnc3RfcHVsc2VzaW5rX2luaXQpLAoJICAoZ3N0X3B1bHNlc2lua19kZXN0cm95X3N0cmVhbSksIChnc3RfcHVsc2VzaW5rX2Rlc3Ryb3lfY29udGV4dCksCgkgIChnc3RfcHVsc2VzaW5rX2ZpbmFsaXplKSwgKGdzdF9wdWxzZXNpbmtfZGlzcG9zZSksCgkgIChnc3RfcHVsc2VzaW5rX3NldF9wcm9wZXJ0eSksIChnc3RfcHVsc2VzaW5rX2dldF9wcm9wZXJ0eSksCgkgIChnc3RfcHVsc2VzaW5rX2NvbnRleHRfc3RhdGVfY2IpLCAoZ3N0X3B1bHNlc2lua19zdHJlYW1fc3RhdGVfY2IpLAoJICAoZ3N0X3B1bHNlc2lua19zdHJlYW1fcmVxdWVzdF9jYiksCgkgIChnc3RfcHVsc2VzaW5rX3N0cmVhbV9sYXRlbmN5X3VwZGF0ZV9jYiksIChnc3RfcHVsc2VzaW5rX29wZW4pLAoJICAoZ3N0X3B1bHNlc2lua19jbG9zZSksIChnc3RfcHVsc2VzaW5rX3ByZXBhcmUpLAoJICAoZ3N0X3B1bHNlc2lua191bnByZXBhcmUpLCAoZ3N0X3B1bHNlc2lua193cml0ZSksCgkgIChnc3RfcHVsc2VzaW5rX2RlbGF5KSwgKGdzdF9wdWxzZXNpbmtfc3VjY2Vzc19jYiksCgkgIChnc3RfcHVsc2VzaW5rX3Jlc2V0KSwgKGdzdF9wdWxzZXNpbmtfY2hhbmdlX3RpdGxlKSwKCSAgKGdzdF9wdWxzZXNpbmtfZXZlbnQpLCAoZ3N0X3B1bHNlc2lua19nZXRfdHlwZSk6CgkgICogZXh0L3B1bHNlL3B1bHNlc2luay5oOgoJICAqIGV4dC9wdWxzZS9wdWxzZXNyYy5jOiAoZ3N0X3B1bHNlc3JjX2ludGVyZmFjZV9zdXBwb3J0ZWQpLAoJICAoZ3N0X3B1bHNlc3JjX2ltcGxlbWVudHNfaW50ZXJmYWNlX2luaXQpLAoJICAoZ3N0X3B1bHNlc3JjX2luaXRfaW50ZXJmYWNlcyksIChnc3RfcHVsc2VzcmNfYmFzZV9pbml0KSwKCSAgKGdzdF9wdWxzZXNyY19jbGFzc19pbml0KSwgKGdzdF9wdWxzZXNyY19pbml0KSwKCSAgKGdzdF9wdWxzZXNyY19kZXN0cm95X3N0cmVhbSksIChnc3RfcHVsc2VzcmNfZGVzdHJveV9jb250ZXh0KSwKCSAgKGdzdF9wdWxzZXNyY19maW5hbGl6ZSksIChnc3RfcHVsc2VzcmNfZGlzcG9zZSksCgkgIChnc3RfcHVsc2VzcmNfc2V0X3Byb3BlcnR5KSwgKGdzdF9wdWxzZXNyY19nZXRfcHJvcGVydHkpLAoJICAoZ3N0X3B1bHNlc3JjX2NvbnRleHRfc3RhdGVfY2IpLCAoZ3N0X3B1bHNlc3JjX3N0cmVhbV9zdGF0ZV9jYiksCgkgIChnc3RfcHVsc2VzcmNfc3RyZWFtX3JlcXVlc3RfY2IpLCAoZ3N0X3B1bHNlc3JjX29wZW4pLAoJICAoZ3N0X3B1bHNlc3JjX2Nsb3NlKSwgKGdzdF9wdWxzZXNyY19wcmVwYXJlKSwKCSAgKGdzdF9wdWxzZXNyY191bnByZXBhcmUpLCAoZ3N0X3B1bHNlc3JjX3JlYWQpLAoJICAoZ3N0X3B1bHNlc3JjX2RlbGF5KSwgKGdzdF9wdWxzZXNyY19jaGFuZ2Vfc3RhdGUpLAoJICAoZ3N0X3B1bHNlc3JjX2dldF90eXBlKToKCSAgKiBleHQvcHVsc2UvcHVsc2VzcmMuaDoKCSAgKiBleHQvcHVsc2UvcHVsc2V1dGlsLmM6IChnc3RfcHVsc2VfZmlsbF9zYW1wbGVfc3BlYyksCgkgIChnc3RfcHVsc2VfY2xpZW50X25hbWUpLCAoZ3N0X3B1bHNlX2dzdF90b19jaGFubmVsX21hcCk6CgkgICogZXh0L3B1bHNlL3B1bHNldXRpbC5oOgoJICBBZGQgcHVsc2VhdWRpbyBHU3RyZWFtZXIgZWxlbWVudCBmcm9tIGdzdC1wdWxzZS4gRGV2ZWxvcG1lbnQgd2lsbAoJICBjb250aW51ZSBoZXJlIGluc3RlYWQgb2YgcHVsc2VhdWRpbyBTVk4uIEZpeGVzIGJ1ZyAjNDAwNjc5LgoJICBPbmx5IGNoYW5nZXMgb3ZlciBnc3QtcHVsc2UgU1ZOIGFyZSBhZGRlZCBjb3B5cmlnaHQgdG8gdGhlIHRvcCBvZgoJICBmaWxlcyBhbmQgY29kaW5nIHN0eWxlIGNoYW5nZXMuCgoyMDA4LTA2LTA5IDIwOjAyOjA1ICswMDAwICBCZW5qYW1pbiBLYW1wbWFubiA8YmVuamFtaW5AZmx1ZW5kby5jb20+CgoJICBleHQvY2Rpby86IEFsc28gZXh0cmFjdCBhbGJ1bSB0aXRsZSBhbmQgYWxidW0gZ2VucmUgZnJvbSBDRC1URVhUIGlmIGF2YWlsYWJsZSAoIzUzNzAyMSkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogQmVuamFtaW4gS2FtcG1hbm4gIDxiZW5qYW1pbiBhdCBmbHVlbmRvIGRvdCBjb20+CgkgICogZXh0L2NkaW8vZ3N0Y2Rpby5jOiAoZ3N0X2NkaW9fZ2V0X2NkdGV4dCksCgkgIChnc3RfY2Rpb19hZGRfY2R0ZXh0X2FsYnVtX3RhZ3MpOgoJICAqIGV4dC9jZGlvL2dzdGNkaW8uaDoKCSAgKiBleHQvY2Rpby9nc3RjZGlvY2RkYXNyYy5jOiAoZ3N0X2NkaW9fY2RkYV9zcmNfb3Blbik6CgkgIEFsc28gZXh0cmFjdCBhbGJ1bSB0aXRsZSBhbmQgYWxidW0gZ2VucmUgZnJvbSBDRC1URVhUIGlmCgkgIGF2YWlsYWJsZSAoIzUzNzAyMSkuCgoyMDA4LTA2LTA5IDA4OjUyOjA0ICswMDAwICBTam9lcmQgU2ltb25zIDxzam9lcmRAbHVvbi5uZXQ+CgoJICBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6IEltcHJvdmUgbmVnb3RpYXRpb24gYSBiaXQgbW9yZSBieSBwaWNraW5nIHRoZSBzbWFsbGVzdCBwb3NzaWJsZSByZXNvbHV0aW9uIHRoYXQgaXMgbGFyZ2VyIHRoYW4uLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBTam9lcmQgU2ltb25zIDxzam9lcmQgYXQgbHVvbiBkb3QgbmV0PgoJICAqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzogKGdzdF92NGwyc3JjX25lZ290aWF0ZSk6CgkgIEltcHJvdmUgbmVnb3RpYXRpb24gYSBiaXQgbW9yZSBieSBwaWNraW5nIHRoZSBzbWFsbGVzdCBwb3NzaWJsZQoJICByZXNvbHV0aW9uIHRoYXQgaXMgbGFyZ2VyIHRoYW4gdGhlIHJlc29sdXRpb24gc3BlY2lmaWVkIGluIHRoZQoJICBmaXJzdCBjYXBzIGVudHJ5IG9mIHRoZSBwZWVyIGNhcHMuIEZpeGVzIGJ1ZyAjNTM2OTk0LgoKMjAwOC0wNi0wOSAwODo0Mjo0OSArMDAwMCAgQmFzdGllbiBOb2NlcmEgPGhhZGVzc0BoYWRlc3MubmV0PgoKCSAgc3lzL3Y0bDIvOiBGaXggY29tcGlsYXRpb24gd2l0aCBuZXdlciBHSVQga2VybmVscyB0aGF0IGRlcHJlY2F0ZWQKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBCYXN0aWVuIE5vY2VyYSA8aGFkZXNzIGF0IGhhZGVzcyBkb3QgbmV0PgoJICAqIHN5cy92NGwyL2dzdHY0bDJ2aWRvcmllbnQuYzoKCSAgKiBzeXMvdjRsMi92NGwyX2NhbGxzLmM6IChnc3RfdjRsMl9maWxsX2xpc3RzKToKCSAgRml4IGNvbXBpbGF0aW9uIHdpdGggbmV3ZXIgR0lUIGtlcm5lbHMgdGhhdCBkZXByZWNhdGVkCgkgIFY0TDJfQ0lEX0hDRU5URVIgYW5kIFY0TDJfQ0lEX1ZDRU5URVIuIEZpeGVzIGJ1ZyAjNTM2MzE3LgoKMjAwOC0wNi0wNyAxODo0ODo1NCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIFJlcXVpcmUgbGliY2RpbyA+PSAwLjc2LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgICogZXh0L2NkaW8vZ3N0Y2Rpby5jOgoJICAqIGV4dC9jZGlvL2dzdGNkaW8uaDoKCSAgKiBleHQvY2Rpby9nc3RjZGlvY2RkYXNyYy5jOiAoZ3N0X2NkaW9fY2RkYV9zcmNfb3Blbik6CgkgIFJlcXVpcmUgbGliY2RpbyA+PSAwLjc2LgoKMjAwOC0wNi0wNSAxMTowNzoxNyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2ludGVybGVhdmUvOiBQcm9wZXJseSBpbXBsZW1lbnQgZHVyYXRpb24gYW5kIHBvc2l0aW9uIHF1ZXJpZXMgaW4gYnl0ZXMgZm9ybWF0LiBXZSBoYXZlIHRvIHRha2UgdGhlIHVwc3RyZWFtIHJlcGx5Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9pbnRlcmxlYXZlL2RlaW50ZXJsZWF2ZS5jOiAoZ3N0X2RlaW50ZXJsZWF2ZV9hZGRfbmV3X3BhZHMpLAoJICAoZ3N0X2RlaW50ZXJsZWF2ZV9zcmNfcXVlcnkpOgoJICAqIGdzdC9pbnRlcmxlYXZlL2ludGVybGVhdmUuYzogKGdzdF9pbnRlcmxlYXZlX3NyY19xdWVyeV9kdXJhdGlvbiksCgkgIChnc3RfaW50ZXJsZWF2ZV9zcmNfcXVlcnkpOgoJICBQcm9wZXJseSBpbXBsZW1lbnQgZHVyYXRpb24gYW5kIHBvc2l0aW9uIHF1ZXJpZXMgaW4gYnl0ZXMgZm9ybWF0LiBXZQoJICBoYXZlIHRvIHRha2UgdGhlIHVwc3RyZWFtIHJlcGx5IGFuZCBkaXZpZGUvbXVsdGlwbHkgaXQgYnkgdGhlIG51bWJlcgoJICBvZiBjaGFubmVscyB0byBnZXQgdGhlIGNvcnJlY3QgcmVzdWx0LgoKMjAwOC0wNi0wNSAwOTo0NTowMCArMDAwMCAgVGhpanMgVmVybWVpciA8dGhpanN2ZXJtZWlyQGdtYWlsLmNvbT4KCgkgIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzogQ2F0Y2ggVU5FWFBFQ1RFRCB3aGVuIGRvd25zdHJlYW0gaGFzIHJlYWNoZWQgZW5kIG9mIHNlZ21lbnQgaW4gcmV2ZXJzZSBtb2RlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIENhdGNoIFVORVhQRUNURUQgd2hlbiBkb3duc3RyZWFtIGhhcyByZWFjaGVkIGVuZCBvZgoJICBzZWdtZW50IGluIHJldmVyc2UgbW9kZS4KCjIwMDgtMDYtMDQgMTg6MDg6MzUgKzAwMDAgIFRoaWpzIFZlcm1laXIgPHRoaWpzdmVybWVpckBnbWFpbC5jb20+CgoJICBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6IEZpeCB0eXBvIGluIGNvbW1lbnQKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICBGaXggdHlwbyBpbiBjb21tZW50CgoyMDA4LTA2LTA0IDE4OjAzOjI0ICswMDAwICBUaGlqcyBWZXJtZWlyIDx0aGlqc3Zlcm1laXJAZ21haWwuY29tPgoKCSAgZ3N0L2F2aS9nc3RhdmlkZW11eC5jOiBCZWNhdXNlIHdlIGRvbid0IGtub3cgdGhlIGZyYW1lIG9yZGVyIHdlIG5lZWQgdG8gcHVzaCB0aWxsIHRoZSBuZXh0IGtleWZyYW1lCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgQmVjYXVzZSB3ZSBkb24ndCBrbm93IHRoZSBmcmFtZSBvcmRlciB3ZSBuZWVkIHRvIHB1c2ggdGlsbAoJICB0aGUgbmV4dCBrZXlmcmFtZQoKMjAwOC0wNi0wNCAxNzozOTozMSArMDAwMCAgU2pvZXJkIFNpbW9ucyA8c2pvZXJkQGx1b24ubmV0PgoKCSAgc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOiBQcm92aWRlIGEgY3VzdG9tIG5lZ290aWF0aW9uIGZ1bmN0aW9uIHRvIG1ha2Ugc3VyZSB0byBwaWNrIHRoZSBoaWdoZXN0IHBvc3NpYmxlIGZyYW1lcmF0ZSBhbmQgLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogU2pvZXJkIFNpbW9ucyA8c2pvZXJkIGF0IGx1b24gZG90IG5ldD4KCSAgKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6IChnc3RfdjRsMnNyY19jbGFzc19pbml0KSwKCSAgKGdzdF92NGwyc3JjX2ZpeGF0ZSksIChnc3RfdjRsMnNyY19uZWdvdGlhdGUpOgoJICBQcm92aWRlIGEgY3VzdG9tIG5lZ290aWF0aW9uIGZ1bmN0aW9uIHRvIG1ha2Ugc3VyZSB0byBwaWNrIHRoZSBoaWdoZXN0CgkgIHBvc3NpYmxlIGZyYW1lcmF0ZSBhbmQgcmVzb2x1dGlvbi4gRml4ZXMgYnVnICM1MzY2NDYuCgoyMDA4LTA2LTA0IDE2OjQ5OjI2ICswMDAwICBUaGlqcyBWZXJtZWlyIDx0aGlqc3Zlcm1laXJAZ21haWwuY29tPgoKCSAgZ3N0L2F2aS9nc3RhdmlkZW11eC5jOiBTZXQgRU9TIHdoZW4gZ29pbmcgb3V0IG9mIHRoZSBzZWdtZW50IGluIHJldmVyc2UgcGxheWJhY2sKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICBTZXQgRU9TIHdoZW4gZ29pbmcgb3V0IG9mIHRoZSBzZWdtZW50IGluIHJldmVyc2UgcGxheWJhY2sKCjIwMDgtMDYtMDQgMTU6MTk6NDYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvdGFnbGliL01ha2VmaWxlLmFtOiBBZGQgLVduby1hdHRyaWJ1dGVzIHRvIENYWEZMQUdTIHRvIHN1cHByZXNzIHdhcm5pbmcgY2F1c2VkIGJ5IHRhZ2xpYiBoZWFkZXJzICh3aXRoIGdjYyA0LjMuMSkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC90YWdsaWIvTWFrZWZpbGUuYW06OgoJICBBZGQgLVduby1hdHRyaWJ1dGVzIHRvIENYWEZMQUdTIHRvIHN1cHByZXNzIHdhcm5pbmcgY2F1c2VkIGJ5CgkgIHRhZ2xpYiBoZWFkZXJzICh3aXRoIGdjYyA0LjMuMSkuCgoyMDA4LTA2LTA0IDExOjU5OjE4ICswMDAwICBQZXRlciBLamVsbGVyc3RlZHQgPHBrakBheGlzLmNvbT4KCgkgIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogVXNlIHRoZSBuZXcgZ3N0X3J0c3BfY29ubmVjdGlvbl9nZXRfaXAoKSB0byBhY2Nlc3MgdGhlIElQIGFkZHJlc3Mgb2YgYSBHc3RSVFNQQ29ubmVjdGlvbiBzaW5jZS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IChnc3RfcnRzcHNyY19zdHJlYW1fY29uZmlndXJlX3VkcF9zaW5rKToKCSAgVXNlIHRoZSBuZXcgZ3N0X3J0c3BfY29ubmVjdGlvbl9nZXRfaXAoKSB0byBhY2Nlc3MgdGhlIElQIGFkZHJlc3MKCSAgb2YgYSBHc3RSVFNQQ29ubmVjdGlvbiBzaW5jZSBpdCBpcyBhIHByaXZhdGUgbWVtYmVyLgoKMjAwOC0wNi0wNCAxMDo0Mjo0NiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIFVzZSBuZXcgdXRpbGl0eSBmdW5jdGlvbnMgaW4gbGliZ3N0dGFnIHRvIHByb2Nlc3MgY292ZXJhcnQgKCM1MTIzMzMpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZmxhYy9nc3RmbGFjZGVjLmM6IChnc3RfZmxhY19leHRyYWN0X3BpY3R1cmVfYnVmZmVyKToKCSAgKiBnc3QvaWQzZGVtdXgvaWQzdjJmcmFtZXMuYzogKHBhcnNlX3BpY3R1cmVfZnJhbWUpOgoJICBVc2UgbmV3IHV0aWxpdHkgZnVuY3Rpb25zIGluIGxpYmdzdHRhZyB0byBwcm9jZXNzIGNvdmVyYXJ0ICgjNTEyMzMzKS4KCjIwMDgtMDYtMDQgMDg6NTQ6MDkgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGV4dC9mbGFjL2dzdGZsYWNkZWMuYzogV2UgYWN0dWFsbHkgc3VwcG9ydCBsZWZ0L3NpZGUsIHJpZ2h0L3NpZGUgYW5kIG1pZC9zaWRlIGZpbGVzLiBUaGUgY29udmVyc2lvbiB0byBub3JtYWwsIGludGVybC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZmxhYy9nc3RmbGFjZGVjLmM6IChnc3RfZmxhY19kZWNfd3JpdGUpOgoJICBXZSBhY3R1YWxseSBzdXBwb3J0IGxlZnQvc2lkZSwgcmlnaHQvc2lkZSBhbmQgbWlkL3NpZGUgZmlsZXMuIFRoZQoJICBjb252ZXJzaW9uIHRvIG5vcm1hbCwgaW50ZXJsZWF2ZWQgc3RlcmVvIGlzIGRvbmUgYnkgbGliZmxhYy4KCjIwMDgtMDYtMDQgMDc6MzY6MDcgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9tYXRyb3NrYS9lYm1sLXdyaXRlLmM6IFVucmVmIHRoZSB3cml0ZSBjYWNoZSBpbiBmaW5hbGl6ZSBpZiBpdCB3YXMgc2V0IGFuZCBhZGQgYWRkICJGSVhNRSIgdG8gYSBjb21tZW50IHRoYXQgbmVlZC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbWF0cm9za2EvZWJtbC13cml0ZS5jOiAoZ3N0X2VibWxfd3JpdGVfZmluYWxpemUpLAoJICAoZ3N0X2VibWxfd3JpdGVfc2V0X2NhY2hlKToKCSAgVW5yZWYgdGhlIHdyaXRlIGNhY2hlIGluIGZpbmFsaXplIGlmIGl0IHdhcyBzZXQgYW5kIGFkZCBhZGQgIkZJWE1FIgoJICB0byBhIGNvbW1lbnQgdGhhdCBuZWVkcyBpdC4KCjIwMDgtMDYtMDQgMDY6NDg6NDYgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9pbnRlcmxlYXZlL2ludGVybGVhdmUuKjogVXNlIGFuIGFsd2F5cyBpbmNyZWFzaW5nIGludGVnZXIgZm9yIHRoZSBudW1iZXIgaW4gdGhlIG5hbWUgb2YgdGhlIHJlcXVlc3RlZCBzaW5rIHBhZHMgdC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvaW50ZXJsZWF2ZS9pbnRlcmxlYXZlLmM6IChnc3RfaW50ZXJsZWF2ZV9wYWRfZ2V0X3R5cGUpLAoJICAoZ3N0X2ludGVybGVhdmVfcGFkX2dldF9wcm9wZXJ0eSksIChnc3RfaW50ZXJsZWF2ZV9wYWRfY2xhc3NfaW5pdCksCgkgIChnc3RfaW50ZXJsZWF2ZV9yZXF1ZXN0X25ld19wYWQpLCAoZ3N0X2ludGVybGVhdmVfcmVsZWFzZV9wYWQpOgoJICAqIGdzdC9pbnRlcmxlYXZlL2ludGVybGVhdmUuaDoKCSAgVXNlIGFuIGFsd2F5cyBpbmNyZWFzaW5nIGludGVnZXIgZm9yIHRoZSBudW1iZXIgaW4gdGhlIG5hbWUgb2YgdGhlCgkgIHJlcXVlc3RlZCBzaW5rIHBhZHMgdG8gZ3VhcmFudHVlZSBhIHVuaXF1ZSBuYW1lLiBBZGQgYSAiY2hhbm5lbCIKCSAgcHJvcGVydHkgdG8gR3N0SW50ZXJsZWF2ZVBhZCB0byBtYWtlIGl0IHBvc3NpYmxlIGZvciBhcHBsaWNhdGlvbnMKCSAgdG8gcmV0cmlldmUgdGhlIGNoYW5uZWwgbnVtYmVyIGluIHRoZSBvdXRwdXQgZm9yIGV2ZXJ5IHBhZC4KCSAgVXNlIGdfdHlwZV9yZWdpc3Rlcl9zdGF0aWNfc2ltcGxlKCkgaW5zdGVhZCBvZgoJICBnX3R5cGVfcmVnaXN0ZXJfc3RhdGljKCkgdG8gc2F2ZSBzb21lIHJlbG9jYXRpb25zLgoKMjAwOC0wNi0wMyAxNDozNTo1OSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2ludGVybGVhdmUvaW50ZXJsZWF2ZS5jOiBTdG9wIEdzdENvbGxlY3RQYWRzIGJlZm9yZSBjYWxsaW5nIHRoZSBwYXJlbnQncyBzdGF0ZSBjaGFuZ2UgZnVuY3Rpb24gd2hlbiBnb2luZyBmcm9tIFBBLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9pbnRlcmxlYXZlL2ludGVybGVhdmUuYzogKGdzdF9pbnRlcmxlYXZlX3BhZF9nZXRfdHlwZSksCgkgIChnc3RfaW50ZXJsZWF2ZV9jaGFuZ2Vfc3RhdGUpOgoJICBTdG9wIEdzdENvbGxlY3RQYWRzIGJlZm9yZSBjYWxsaW5nIHRoZSBwYXJlbnQncyBzdGF0ZSBjaGFuZ2UgZnVuY3Rpb24KCSAgd2hlbiBnb2luZyBmcm9tIFBBVVNFRCB0byBSRUFEWSBhcyB3ZSBvdGhlcndpc2UgZGVhZGxvY2suCgkgIEZpeGVzIGJ1ZyAjNTM2MjU4LgoKMjAwOC0wNi0wMyAwOTowMzoxOSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2ludGVybGVhdmUvaW50ZXJsZWF2ZS5jOiBVc2UgbmV3IGdzdF9hdWRpb19jaGVja19jaGFubmVsX3Bvc2l0aW9ucygpIGZ1bmN0aW9uIGFuZCByZWdpc3RlciB0aGUgR3N0SW50ZXJsZWF2ZVBhZCB0Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9pbnRlcmxlYXZlL2ludGVybGVhdmUuYzoKCSAgKGdzdF9pbnRlcmxlYXZlX2NoZWNrX2NoYW5uZWxfcG9zaXRpb25zKSwKCSAgKGdzdF9pbnRlcmxlYXZlX3NldF9jaGFubmVsX3Bvc2l0aW9ucyksCgkgIChnc3RfaW50ZXJsZWF2ZV9jbGFzc19pbml0KToKCSAgVXNlIG5ldyBnc3RfYXVkaW9fY2hlY2tfY2hhbm5lbF9wb3NpdGlvbnMoKSBmdW5jdGlvbiBhbmQgcmVnaXN0ZXIKCSAgdGhlIEdzdEludGVybGVhdmVQYWQgdHlwZSBmcm9tIGEgdGhyZWFkc2FmZSBjb250ZXh0LgoKMjAwOC0wNi0wMiAxNjoxMDowMCArMDAwMCAgVGhpanMgVmVybWVpciA8dGhpanN2ZXJtZWlyQGdtYWlsLmNvbT4KCgkgIGdzdC9hdmkvZ3N0YXZpZGVtdXguKjogSW1wbGVtZW50IHJldmVyc2UgcGxheWJhY2suIEZpeGVzICM1MzUzMDAuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogVGhpanMgVmVybWVpciA8dGhpanN2ZXJtZWlyIGF0IGdtYWlsIGRvdCBjb20+CgkgICogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOiAoZ3N0X2F2aV9kZW11eF9pbmRleF9uZXh0KSwKCSAgKGdzdF9hdmlfZGVtdXhfaW5kZXhfcHJldiksIChnc3RfYXZpX2RlbXV4X2luZGV4X2VudHJ5X2Zvcl90aW1lKSwKCSAgKGdzdF9hdmlfZGVtdXhfZG9fc2VlayksIChnc3RfYXZpX2RlbXV4X2hhbmRsZV9zZWVrKSwKCSAgKGdzdF9hdmlfZGVtdXhfcHJvY2Vzc19uZXh0X2VudHJ5KToKCSAgKiBnc3QvYXZpL2dzdGF2aWRlbXV4Lmg6CgkgIEltcGxlbWVudCByZXZlcnNlIHBsYXliYWNrLiBGaXhlcyAjNTM1MzAwLgoJICBTbWFsbCBjbGVhbnVwcy4KCjIwMDgtMDYtMDIgMTI6NDI6MTQgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9pbnRlcmxlYXZlL2ludGVybGVhdmUuKjogQWxsb3cgc2V0dGluZyBjaGFubmVsIHBvc2l0aW9ucyB2aWEgYSBwcm9wZXJ0eSBhbmQgYWxsb3cgdXNpbmcgdGhlIGNoYW5uZWwgcG9zaXRpb25zIG9uIC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvaW50ZXJsZWF2ZS9pbnRlcmxlYXZlLmM6IChnc3RfaW50ZXJsZWF2ZV9wYWRfZ2V0X3R5cGUpLAoJICAoZ3N0X2ludGVybGVhdmVfZmluYWxpemUpLCAoZ3N0X2F1ZGlvX2NoZWNrX2NoYW5uZWxfcG9zaXRpb25zKSwKCSAgKGdzdF9pbnRlcmxlYXZlX3NldF9jaGFubmVsX3Bvc2l0aW9ucyksCgkgIChnc3RfaW50ZXJsZWF2ZV9jbGFzc19pbml0KSwgKGdzdF9pbnRlcmxlYXZlX2luaXQpLAoJICAoZ3N0X2ludGVybGVhdmVfc2V0X3Byb3BlcnR5KSwgKGdzdF9pbnRlcmxlYXZlX2dldF9wcm9wZXJ0eSksCgkgIChnc3RfaW50ZXJsZWF2ZV9yZXF1ZXN0X25ld19wYWQpLCAoZ3N0X2ludGVybGVhdmVfcmVsZWFzZV9wYWQpLAoJICAoZ3N0X2ludGVybGVhdmVfc2lua19zZXRjYXBzKSwgKGdzdF9pbnRlcmxlYXZlX3NyY19xdWVyeV9kdXJhdGlvbiksCgkgIChnc3RfaW50ZXJsZWF2ZV9zcmNfcXVlcnlfbGF0ZW5jeSksIChnc3RfaW50ZXJsZWF2ZV9jb2xsZWN0ZWQpOgoJICAqIGdzdC9pbnRlcmxlYXZlL2ludGVybGVhdmUuaDoKCSAgQWxsb3cgc2V0dGluZyBjaGFubmVsIHBvc2l0aW9ucyB2aWEgYSBwcm9wZXJ0eSBhbmQgYWxsb3cgdXNpbmcgdGhlCgkgIGNoYW5uZWwgcG9zaXRpb25zIG9uIHRoZSBpbnB1dCBhcyB0aGUgY2hhbm5lbCBwb3NpdGlvbnMgb2YgdGhlIG91dHB1dC4KCSAgRml4IHNvbWUgYnJva2VuIGxvZ2ljIGFuZCBtZW1vcnkgbGVha3MuCgkgICogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvaW50ZXJsZWF2ZS5jOiAoc3JjX2hhbmRvZmZfZmxvYXQzMiksCgkgIChzaW5rX2hhbmRvZmZfZmxvYXQzMiksIChHU1RfU1RBUlRfVEVTVCksIChpbnRlcmxlYXZlX3N1aXRlKToKCSAgQWRkIHVuaXQgdGVzdHMgZm9yIGNoZWNraW5nIGNvcnJlY3QgaGFuZGxpbmcgb2YgY2hhbm5lbCBwb3NpdGlvbnMuCgoyMDA4LTA2LTAyIDEyOjIyOjU2ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvdmlkZW9taXhlci92aWRlb21peGVyLmM6IFdoZW4gdXNpbmcgZ3N0X2VsZW1lbnRfaXRlcmF0ZV9wYWRzKCkgb25lIGhhcyB0byB1bnJlZiBldmVyeSBwYWQgYWZ0ZXIgdXNhZ2UuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIuYzogKGdzdF92aWRlb21peGVyX3F1ZXJ5X2R1cmF0aW9uKSwKCSAgKGdzdF92aWRlb21peGVyX3F1ZXJ5X2xhdGVuY3kpOgoJICBXaGVuIHVzaW5nIGdzdF9lbGVtZW50X2l0ZXJhdGVfcGFkcygpIG9uZSBoYXMgdG8gdW5yZWYgZXZlcnkgcGFkCgkgIGFmdGVyIHVzYWdlLgoKMjAwOC0wNS0zMSAxNjo1MzoyMyArMDAwMCAgQmFzdGllbiBOb2NlcmEgPGhhZGVzc0BoYWRlc3MubmV0PgoKCSAgZ3N0L3F0ZGVtdXgvOiBJbXByb3ZlIG1ldGEtZGF0YSBoYW5kbGluZywgYWRkICdjb21tZW50JywgJ2Rlc2NyaXB0aW9uJyBhbmQgJ2NvcHlyaWdodCcgdGFnIGhhbmRsaW5nLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IEJhc3RpZW4gTm9jZXJhIDxoYWRlc3MgYXQgaGFkZXNzIGRvdCBuZXQ+CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAocXRkZW11eF90YWdfYWRkX3N0ciksCgkgIChxdGRlbXV4X3BhcnNlX3VkdGEpOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXhfZm91cmNjLmg6CgkgIEltcHJvdmUgbWV0YS1kYXRhIGhhbmRsaW5nLCBhZGQgJ2NvbW1lbnQnLCAnZGVzY3JpcHRpb24nIGFuZAoJICAnY29weXJpZ2h0JyB0YWcgaGFuZGxpbmcuCgkgIEZpeGVzICM1MzU5MzUKCjIwMDgtMDUtMzEgMTU6MzA6NDEgKzAwMDAgIEp1bGllbiBNb3V0dGUgPGp1bGllbkBtb3V0dGUubmV0PgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBNYWtlIHN1cmUgd2Ugd2UgZG9uJ3QgY2xpcCB0aGUgc2VnbWVudCdzIHN0b3AgdXNpbmcgdGhlIG1haW4gc2VnbWVudCBkdXJhdGlvbiBhcyB0aGF0IGNvdWxkIGNyLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA4LTA1LTMxICBKdWxpZW4gTW91dHRlICA8anVsaWVuQGZsdWVuZG8uY29tPgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKGdzdF9xdGRlbXV4X2ZpbmRfa2V5ZnJhbWUpLAoJICAoZ3N0X3F0ZGVtdXhfZmluZF9zZWdtZW50KSwgKGdzdF9xdGRlbXV4X3BlcmZvcm1fc2VlayksCgkgIChnc3RfcXRkZW11eF9zZWVrX3RvX3ByZXZpb3VzX2tleWZyYW1lKSwKCSAgKGdzdF9xdGRlbXV4X2FjdGl2YXRlX3NlZ21lbnQpLCAoZ3N0X3F0ZGVtdXhfbG9vcCk6IE1ha2Ugc3VyZSB3ZQoJICB3ZSBkb24ndCBjbGlwIHRoZSBzZWdtZW50J3Mgc3RvcCB1c2luZyB0aGUgbWFpbiBzZWdtZW50IGR1cmF0aW9uCgkgIGFzCgkgIHRoYXQgY291bGQgY3JvcCBxdWl0ZSBzb21lIHZpZGVvIGZyYW1lcy4gTWFrZSByZXZlcnNlIHBsYXliYWNrCgkgIHN1cHBvcnQKCSAgbW9yZSByb2J1c3QgYW5kIHN1cHBvcnQgZWRpdCBsaXN0cy4gU3VwcG9ydCBzZWVraW5nIHRvIHRoZSBsYXN0CgkgIGZyYW1lLAoJICBhbmQgZml4IHJldmVyc2UgbG9vcGluZyBwbGF5YmFjay4gQWRkIHNvbWUgZGVidWdnaW5nLgoJICAqIHdpbjMyL2NvbW1vbi9jb25maWcuaDogVXBkYXRlZC4KCjIwMDgtMDUtMzEgMDg6Mzc6MDAgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyLmM6IERvbid0IGNsaXAgZmxvYXQvZG91YmxlIHNhbXBsZXMsIGNvcnJlY3RseSB1bnNldCBwYXNzdGhyb3VnaCBtb2RlIGFuZCB1c2UgYmV0dGVyIHJvdS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplci5jOgoJICAoZ3N0X2lpcl9lcXVhbGl6ZXJfdHJhbnNmb3JtX2lwKToKCSAgRG9uJ3QgY2xpcCBmbG9hdC9kb3VibGUgc2FtcGxlcywgY29ycmVjdGx5IHVuc2V0IHBhc3N0aHJvdWdoIG1vZGUKCSAgYW5kIHVzZSBiZXR0ZXIgcm91bmRpbmcgZm9yIGludGVnZXIgc2FtcGxlcy4KCjIwMDgtMDUtMzAgMTE6MDM6NTcgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyLio6IFVwZGF0ZSB0aGUgZmlsdGVyIGNvZWZmaWNpZW50cyBvbmx5IHdoZW4gbmVlZGVkIGluIHRoZSB0cmFuc2Zvcm1faXAgZnVuY3Rpb24gYW5kIGNvci4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplci5jOgoJICAoZ3N0X2lpcl9lcXVhbGl6ZXJfYmFuZF9zZXRfcHJvcGVydHkpLCAoZ3N0X2lpcl9lcXVhbGl6ZXJfaW5pdCksCgkgIChzZXR1cF9maWx0ZXIpLCAoc2V0X3Bhc3N0aHJvdWdoKSwgKHVwZGF0ZV9jb2VmZmljaWVudHMpLAoJICAoZ3N0X2lpcl9lcXVhbGl6ZXJfY29tcHV0ZV9mcmVxdWVuY2llcyksCgkgIChnc3RfaWlyX2VxdWFsaXplcl90cmFuc2Zvcm1faXApOgoJICAqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyLmg6CgkgIFVwZGF0ZSB0aGUgZmlsdGVyIGNvZWZmaWNpZW50cyBvbmx5IHdoZW4gbmVlZGVkIGluIHRoZSB0cmFuc2Zvcm1faXAKCSAgZnVuY3Rpb24gYW5kIGNvcnJlY3RseSBzZXQgdGhlIGVsZW1lbnQgaW50byBwYXNzdGhyb3VnaCBtb2RlIGlmIHRoZQoJICBnYWluIG9mIGFsbCBiYW5kcyBpcyAwLgoKMjAwOC0wNS0yOSAxMTozMDoxNiArMDAwMCAgU2ViYXN0aWFuIEtlbGxlciA8c2ViYXN0aWFuLWtlbGxlckBnbXguZGU+CgoJICBnc3QvYWxwaGEvZ3N0YWxwaGEuYzogVHJ5IHRvIHNraXAgcGl4ZWxzIG9yIGFyZWFzIHRoYXQgYXJlIHRvbyBkYXJrIG9yIHRvbyBicmlnaHQgZm9yIHVzIHRvIGRvIG1lYW5pbmdmdWxsIGNvbG9yIGRldGUuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEJhc2VkIG9uIHBhdGNoIGJ5OiBTZWJhc3RpYW4gS2VsbGVyIDxzZWJhc3RpYW4ta2VsbGVyIGF0IGdteCBkb3QgZGU+CgkgICogZ3N0L2FscGhhL2dzdGFscGhhLmM6IChnc3RfYWxwaGFfY2xhc3NfaW5pdCksIChnc3RfYWxwaGFfaW5pdCksCgkgIChnc3RfYWxwaGFfc2V0X3Byb3BlcnR5KSwgKGdzdF9hbHBoYV9nZXRfcHJvcGVydHkpLAoJICAoZ3N0X2FscGhhX2Nocm9tYV9rZXlfYXl1diksIChnc3RfYWxwaGFfY2hyb21ha2V5X3Jvd19pNDIwKToKCSAgVHJ5IHRvIHNraXAgcGl4ZWxzIG9yIGFyZWFzIHRoYXQgYXJlIHRvbyBkYXJrIG9yIHRvbyBicmlnaHQgZm9yIHVzIHRvIGRvCgkgIG1lYW5pbmdmdWxsIGNvbG9yIGRldGVjdGlvbi4KCSAgQWRkZWQgcHJvcGVydGllcyB0byBjb250cm9sIHRoZSBzZW5zaXRpdml0eSB0byBsaWdodCBhbmQgZGFya25lc3MuCgkgIEFkZGVkIHNvbWUgc21hbGwgY2xlYW51cHMuIEZpeGVzICM1MTIzNDUuCgoyMDA4LTA1LTI4IDIwOjAxOjMyICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIElnbm9yZSBzb21lIG1vcmUgZ2VuZXJhdGVkIHRoaW5ncwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL3BsdWdpbnMvLmN2c2lnbm9yZToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy8uY3ZzaWdub3JlOgoJICBJZ25vcmUgc29tZSBtb3JlIGdlbmVyYXRlZCB0aGluZ3MKCSAgKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgSWdub3JlIE9TUyBlbGVtZW50cyBpbiB0aGUgc3RhdGUgY2hhbmdlcyB0ZXN0IHRvby4KCjIwMDgtMDUtMjggMTY6MjI6MzYgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBkb2NzL3BsdWdpbnMvOiBBZGQgU01QVEUgZWZmZWN0IGVsZW1lbnRzIHRvIGRvY3MuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgQWRkIFNNUFRFIGVmZmVjdCBlbGVtZW50cyB0byBkb2NzLgoKMjAwOC0wNS0yOCAxNDozMTowNSArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgRG9jdW1lbnQgd2hhdHMgZmlyc3Qgc2hvd24gb24gdGhlIGZkbyBwbHVnaW4gZG9jcyBwYWdlIDopCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgKiBleHQvcmF3MTM5NC9nc3RkdjEzOTRzcmMuYzoKCSAgRG9jdW1lbnQgd2hhdHMgZmlyc3Qgc2hvd24gb24gdGhlIGZkbyBwbHVnaW4gZG9jcyBwYWdlIDopCgoyMDA4LTA1LTI4IDE0OjA3OjIxICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBSZW5hbWUgYXVkaW92b2ljZSB0byBhdWRpb2thcmFva2UgYW5kIGFkZCBpdCB0byB0aGUgZG9jcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtZG9jcy5zZ21sOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuYXJnczoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmhpZXJhcmNoeToKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9meC54bWw6CgkgICogZ3N0L2F1ZGlvZngvTWFrZWZpbGUuYW06CgkgICogZ3N0L2F1ZGlvZngvYXVkaW9meC5jOgoJICAqIGdzdC9hdWRpb2Z4L2F1ZGlva2FyYW9rZS5jOgoJICAqIGdzdC9hdWRpb2Z4L2F1ZGlva2FyYW9rZS5oOgoJICAqIGdzdC9hdWRpb2Z4L2F1ZGlvdm9pY2UuYzoKCSAgKiBnc3QvYXVkaW9meC9hdWRpb3ZvaWNlLmg6CgkgIFJlbmFtZSBhdWRpb3ZvaWNlIHRvIGF1ZGlva2FyYW9rZSBhbmQgYWRkIGl0IHRvIHRoZSBkb2NzLgoKMjAwOC0wNS0yOCAxMzoyODoyMCArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgRG9jdW1lbnQgYWFzaW5rIGFuZCBjYWNhc2luay4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogUkVRVUlSRU1FTlRTOgoJICAqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmFyZ3M6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5oaWVyYXJjaHk6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5pbnRlcmZhY2VzOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMucHJlcmVxdWlzaXRlczoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWFzaW5rLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxhdy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGFjb2xvci54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFubm9kZXgueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hcGV0YWcueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb2Z4LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVwYXJzZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9kZXRlY3QueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdmkueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWNhc2luay54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhaXJvLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2Rpby54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWN1dHRlci54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVnLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHYueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmVuY2UueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmZlY3R2LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXF1YWxpemVyLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXNkc2luay54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsYWMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHhkZWMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nYW1tYS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdjb25mZWxlbWVudHMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZGtwaXhidWYueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbTJrMS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWhhbGVsZW1lbnRzLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWN5ZGVtdXgueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pZDNkZW11eC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwZWcueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sZXZlbC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1hdHJvc2thLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW9ub3Njb3BlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsYXcueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aWZpbGUueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aXBhcnQueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uYXZpZ2F0aW9udGVzdC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zc2F1ZGlvLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5nLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcXVpY2t0aW1lLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRzcC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNtcHRlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291cC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWN0cnVtLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZXgueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10YWdsaWIueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi11ZHAueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlbzRsaW51eDIueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2JhbGFuY2UueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2JveC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvY3JvcC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvZmxpcC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvbWl4ZXIueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZlbmMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYWNrLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFyc2UueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14aW1hZ2VzcmMueG1sOgoJICAqIGV4dC9hYWxpYi9nc3RhYXNpbmsuYzoKCSAgKiBleHQvbGliY2FjYS9nc3RjYWNhc2luay5jOgoJICBEb2N1bWVudCBhYXNpbmsgYW5kIGNhY2FzaW5rLgoKMjAwOC0wNS0yOCAwODozNjo0NCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlci4qOiBkdXJhdGlvbiBhbmQgbGF0ZW5jeSBxdWVyaWVzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyLmM6IChnc3RfdmlkZW9taXhlcl9yZXNldCksCgkgIChnc3RfdmlkZW9taXhlcl9pbml0KSwgKGdzdF92aWRlb21peGVyX3F1ZXJ5X2R1cmF0aW9uKSwKCSAgKGdzdF92aWRlb21peGVyX3F1ZXJ5X2xhdGVuY3kpLCAoZ3N0X3ZpZGVvbWl4ZXJfcXVlcnkpLAoJICAoZ3N0X3ZpZGVvbWl4ZXJfYmxlbmRfYnVmZmVycyk6CgkgICogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlci5oOgoJICBJbXBsZW1lbnQgcG9zaXRpb24gKGluIHRpbWUpLCBkdXJhdGlvbiBhbmQgbGF0ZW5jeSBxdWVyaWVzLgoKMjAwOC0wNS0yOCAwODoxNDoxNiArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2ludGVybGVhdmUvaW50ZXJsZWF2ZS5jOiBJbXBsZW1lbnQgbGF0ZW5jeSBxdWVyeS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2ludGVybGVhdmUvaW50ZXJsZWF2ZS5jOiAoZ3N0X2ludGVybGVhdmVfc3JjX3F1ZXJ5X2R1cmF0aW9uKSwKCSAgKGdzdF9pbnRlcmxlYXZlX3NyY19xdWVyeV9sYXRlbmN5KSwgKGdzdF9pbnRlcmxlYXZlX3NyY19xdWVyeSk6CgkgIEltcGxlbWVudCBsYXRlbmN5IHF1ZXJ5LgoKMjAwOC0wNS0yNyAxNzo1NTozMCArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIuKjogSW1wbGVtZW50IHByb3BlciBzZWVrL25ld3NlZ21lbnQgaGFuZGxpbmcuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIuYzogKGdzdF92aWRlb21peGVyX3Jlc2V0KSwKCSAgKGdzdF92aWRlb21peGVyX2luaXQpLCAoZ3N0X3ZpZGVvbWl4ZXJfcmVxdWVzdF9uZXdfcGFkKSwKCSAgKGdzdF92aWRlb21peGVyX2ZpbGxfcXVldWVzKSwgKGZvcndhcmRfZXZlbnRfZnVuYyksCgkgIChmb3J3YXJkX2V2ZW50KSwgKGdzdF92aWRlb21peGVyX3NyY19ldmVudCksCgkgIChnc3RfdmlkZW9taXhlcl9zaW5rX2V2ZW50KToKCSAgKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyLmg6CgkgIEltcGxlbWVudCBwcm9wZXIgc2Vlay9uZXdzZWdtZW50IGhhbmRsaW5nLgoJICBCYXNlZCBvbiBhZGRlcidzIGltcGxlbWVudGF0aW9uLgoJICBGaXhlcyAjNTM1MTIxCgoyMDA4LTA1LTI2IDE2OjI1OjE1ICswMDAwICBqXiA8akBvaWwyMS5vcmc+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IEFkZCBjYXBzIGZvciBEVkNQUk81MCBhbmQgRFZDUFJPIEhEIFBBTC9OVFNDLiBTZWUgIzUyNjQ4MS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBqXiA8aiBhdCBvaWwyMSBkb3Qgb3JnPgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKHF0ZGVtdXhfdmlkZW9fY2Fwcyk6CgkgIEFkZCBjYXBzIGZvciBEVkNQUk81MCBhbmQgRFZDUFJPIEhEIFBBTC9OVFNDLiBTZWUgIzUyNjQ4MS4KCjIwMDgtMDUtMjYgMTU6NTE6NDEgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvYXVkaW9meC86IEFkZCBzaW1wbGUgdm9pY2UgcmVtb3ZhbCBlbGVtZW50LiBZYXkga2FyYW9rZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2F1ZGlvZngvTWFrZWZpbGUuYW06CgkgICogZ3N0L2F1ZGlvZngvYXVkaW9meC5jOiAocGx1Z2luX2luaXQpOgoJICAqIGdzdC9hdWRpb2Z4L2F1ZGlvdm9pY2UuYzogKGdzdF9hdWRpb192b2ljZV9iYXNlX2luaXQpLAoJICAoZ3N0X2F1ZGlvX3ZvaWNlX2NsYXNzX2luaXQpLCAoZ3N0X2F1ZGlvX3ZvaWNlX2luaXQpLAoJICAodXBkYXRlX2ZpbHRlciksIChnc3RfYXVkaW9fdm9pY2Vfc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9hdWRpb192b2ljZV9nZXRfcHJvcGVydHkpLCAoZ3N0X2F1ZGlvX3ZvaWNlX3NldHVwKSwKCSAgKGdzdF9hdWRpb192b2ljZV90cmFuc2Zvcm1faW50KSwgKGdzdF9hdWRpb192b2ljZV90cmFuc2Zvcm1fZmxvYXQpLAoJICAoZ3N0X2F1ZGlvX3ZvaWNlX3RyYW5zZm9ybV9pcCk6CgkgICogZ3N0L2F1ZGlvZngvYXVkaW92b2ljZS5oOgoJICBBZGQgc2ltcGxlIHZvaWNlIHJlbW92YWwgZWxlbWVudC4gWWF5IGthcmFva2UuCgoyMDA4LTA1LTI2IDE1OjM5OjI2ICswMDAwICBXaWxsaWFtIE0uIEJyYWNrIDx3YnJhY2tAbW1tLmNvbS5oaz4KCgkgIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuYzogRml4IHBvdGVudGlhbCBjYXBzIGxlYWsuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogV2lsbGlhbSBNLiBCcmFjayA8d2JyYWNrIGF0IG1tbSBkb3QgY29tIGRvdCBoaz4KCSAgKiBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmM6IChnc3RfdjRsMnNyY19wcm9iZV9jYXBzX2Zvcl9mb3JtYXQpOgoJICBGaXggcG90ZW50aWFsIGNhcHMgbGVhay4KCSAgSWYgd2UgY2FuJ3QgZ2V0IHRoZSBmcmFtZXJhdGUgd2l0aCBhbiBpb2N0bCwgdHJ5IHRvIGdldCBpdCB3aXRoIHRoZQoJICBjdXJyZW50IG5vcm0uIEZpeGVzICM1MjAwOTIuCgoyMDA4LTA1LTI2IDE1OjE0OjU1ICswMDAwICBXaWxsaWFtIE0uIEJyYWNrIDx3YnJhY2tAbW1tLmNvbS5oaz4KCgkgIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuYzogSWYgd2UgZmFpbCB0byBnZXQgdGhlIGZyYW1lIGludGVydmFscywgc2ltcGx5IGRvbid0IHRvdWNoIHRoZSBmcmFtZXJhdGVzIG9uIHRoZSB0ZW1wbGF0ZSBjYS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFdpbGxpYW0gTS4gQnJhY2sgPHdicmFjayBhdCBtbW0gZG90IGNvbSBkb3QgaGs+CgkgICogc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5jOgoJICAoZ3N0X3Y0bDJzcmNfcHJvYmVfY2Fwc19mb3JfZm9ybWF0X2FuZF9zaXplKToKCSAgSWYgd2UgZmFpbCB0byBnZXQgdGhlIGZyYW1lIGludGVydmFscywgc2ltcGx5IGRvbid0IHRvdWNoIHRoZSBmcmFtZXJhdGVzCgkgIG9uIHRoZSB0ZW1wbGF0ZSBjYXBzIGluc3RlYWQgb2YgZGlzY2FyZGluZyB0aGUgZm9ybWF0LiBTZWUgIzUyMDA5Mi4KCjIwMDgtMDUtMjYgMTQ6NTI6NTEgKzAwMDAgIFdpbGxpYW0gTS4gQnJhY2sgPHdicmFja0BtbW0uY29tLmhrPgoKCSAgc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOiBBZGQgTlYxMiwgTlYyMSBhbmQgYmF5ZXIgc3VwcG9ydC4gU2VlICM1MjAwOTIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogV2lsbGlhbSBNLiBCcmFjayA8d2JyYWNrIGF0IG1tbSBkb3QgY29tIGRvdCBoaz4KCSAgKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6IChnc3RfdjRsMnNyY192NGwyZm91cmNjX3RvX3N0cnVjdHVyZSksCgkgIChnc3RfdjRsMl9nZXRfY2Fwc19pbmZvKToKCSAgQWRkIE5WMTIsIE5WMjEgYW5kIGJheWVyIHN1cHBvcnQuIFNlZSAjNTIwMDkyLgoKMjAwOC0wNS0yNiAxMzo1MTozOCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogVW5icmVhayBzZWdtZW50IGFjdGl2YXRpb24gYWdhaW4uIEZpeGVzICM1MzE2NzIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKGdzdF9xdGRlbXV4X2ZpbmRfc2VnbWVudCksCgkgIChnc3RfcXRkZW11eF9hY3RpdmF0ZV9zZWdtZW50KToKCSAgVW5icmVhayBzZWdtZW50IGFjdGl2YXRpb24gYWdhaW4uIEZpeGVzICM1MzE2NzIuCgoyMDA4LTA1LTI2IDEwOjI4OjQ3ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvaW50ZXJsZWF2ZS9kZWludGVybGVhdmUuYzogQWRkIGFub3RoZXIgZXhhbXBsZSBsYXVuY2ggbGluZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2ludGVybGVhdmUvZGVpbnRlcmxlYXZlLmM6CgkgIEFkZCBhbm90aGVyIGV4YW1wbGUgbGF1bmNoIGxpbmUuCgkgICogZ3N0L2ludGVybGVhdmUvaW50ZXJsZWF2ZS5jOiAoaW50ZXJsZWF2ZV8yNCksCgkgIChnc3RfaW50ZXJsZWF2ZV9maW5hbGl6ZSksIChnc3RfaW50ZXJsZWF2ZV9iYXNlX2luaXQpLAoJICAoZ3N0X2ludGVybGVhdmVfY2xhc3NfaW5pdCksIChnc3RfaW50ZXJsZWF2ZV9pbml0KSwKCSAgKGdzdF9pbnRlcmxlYXZlX3JlcXVlc3RfbmV3X3BhZCksIChnc3RfaW50ZXJsZWF2ZV9yZWxlYXNlX3BhZCksCgkgIChnc3RfaW50ZXJsZWF2ZV9jaGFuZ2Vfc3RhdGUpLCAoX19yZW1vdmVfY2hhbm5lbHMpLAoJICAoX19zZXRfY2hhbm5lbHMpLCAoZ3N0X2ludGVybGVhdmVfc2lua19nZXRjYXBzKSwKCSAgKGdzdF9pbnRlcmxlYXZlX3NldF9wcm9jZXNzX2Z1bmN0aW9uKSwKCSAgKGdzdF9pbnRlcmxlYXZlX3Npbmtfc2V0Y2FwcyksIChnc3RfaW50ZXJsZWF2ZV9zaW5rX2V2ZW50KSwKCSAgKGdzdF9pbnRlcmxlYXZlX3NyY19xdWVyeV9kdXJhdGlvbiksIChnc3RfaW50ZXJsZWF2ZV9zcmNfcXVlcnkpLAoJICAoZm9yd2FyZF9ldmVudF9mdW5jKSwgKGZvcndhcmRfZXZlbnQpLCAoZ3N0X2ludGVybGVhdmVfc3JjX2V2ZW50KSwKCSAgKGdzdF9pbnRlcmxlYXZlX2NvbGxlY3RlZCk6CgkgICogZ3N0L2ludGVybGVhdmUvaW50ZXJsZWF2ZS5oOgoJICBNYWpvciByZXdyaXRlIG9mIGludGVybGVhdmUgdXNpbmcgR3N0Q29sbGVjdHBhZHMuIFRoaXMgbmV3IHZlcnNpb24KCSAgYWxzbyBzdXBwb3J0cyBhbG1vc3QgYWxsIHJhdyBhdWRpbyBmb3JtYXRzIGFuZCBoYXMgYmV0dGVyIGNhcHMKCSAgbmVnb3RpYXRpb24uIEZpeGVzIGJ1ZyAjNTA2NTk0LgoJICBBbHNvIHVwZGF0ZSBkb2NzIGFuZCBhZGQgc29tZSBtb3JlIGV4YW1wbGVzLgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2ludGVybGVhdmUuYzogKGludGVybGVhdmVfY2hhaW5fZnVuYyksCgkgIChHU1RfU1RBUlRfVEVTVCksIChzcmNfaGFuZG9mZl9mbG9hdDMyKSwgKHNpbmtfaGFuZG9mZl9mbG9hdDMyKSwKCSAgKGludGVybGVhdmVfc3VpdGUpOgoJICBBZGQgc29tZSBtb3JlIGV4dGVuc2l2ZSB1bml0IHRlc3RzIGZvciBpbnRlcmxlYXZlLgoKMjAwOC0wNS0yNiAwOTo1Nzo0MCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIERvbid0IHVzZSBfZ3N0X3BhZCgpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleGFtcGxlcy9zd2l0Y2gvc3dpdGNoZXIuYzogKHN3aXRjaF90aW1lcik6CgkgICogZ3N0L3JlcGxheWdhaW4vZ3N0cmd2b2x1bWUuYzogKGdzdF9yZ192b2x1bWVfaW5pdCk6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwY2xpZW50LmM6IChjcmVhdGVfc3RyZWFtKToKCSAgKiBnc3Qvc2RwL2dzdHNkcGRlbXV4LmM6IChnc3Rfc2RwX2RlbXV4X3N0cmVhbV9jb25maWd1cmVfdWRwKSwKCSAgKGdzdF9zZHBfZGVtdXhfc3RyZWFtX2NvbmZpZ3VyZV91ZHBfc2luayk6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvZGVpbnRlcmxlYXZlLmM6IChHU1RfU1RBUlRfVEVTVCksCgkgIChwYWRfYWRkZWRfc2V0dXBfZGF0YV9jaGVja19mbG9hdDMyXzhjaF9jYik6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvcmdhbmFseXNpcy5jOiAoc2VuZF9lb3NfZXZlbnQpLAoJICAoc2VuZF90YWdfZXZlbnQpOgoJICBEb24ndCB1c2UgX2dzdF9wYWQoKS4KCjIwMDgtMDUtMjUgMTY6MDk6MzkgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGV4dC9mbGFjLzogU2V0IHRoZSBjaGFubmVsIGxheW91dCB3aGVuIGRlY29kaW5nIEZMQUMgZmlsZXMgd2l0aCBtb3JlIHRoYW4gMiBjaGFubmVscyBhcyBkZWZpbmVkIGJ5IHRoZSBGTEFDIHNwZWMuIEZpeC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZmxhYy9NYWtlZmlsZS5hbToKCSAgKiBleHQvZmxhYy9nc3RmbGFjZGVjLmM6IChnc3RfZmxhY19kZWNfd3JpdGUpOgoJICBTZXQgdGhlIGNoYW5uZWwgbGF5b3V0IHdoZW4gZGVjb2RpbmcgRkxBQyBmaWxlcyB3aXRoIG1vcmUgdGhhbiAyCgkgIGNoYW5uZWxzIGFzIGRlZmluZWQgYnkgdGhlIEZMQUMgc3BlYy4gRml4ZXMgYnVnICM1MzQ1NzAuCgkgIEFsc28gZG9uJ3QgdHJ5IHRvIGRlY29kZSBsZWZ0L3NpZGUsIHJpZ2h0L3NpZGUgYW5kIG1pZC9zaWRlIGZpbGVzCgkgIGFzIHdlIGRvbid0IHN1cHBvcnQgdGhpcyBhdCBhbGwuCgoyMDA4LTA1LTI0IDEyOjU1OjM5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgY29uZmlndXJlLmFjOiBXZSBuZWVkIC1iYXNlIENWUyAocnRzcCkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgV2UgbmVlZCAtYmFzZSBDVlMgKHJ0c3ApLgoKMjAwOC0wNS0yMiAxOTo0Nzo1MyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZG9jcy9wbHVnaW5zLzogQWRkIGludGVybGVhdmUvZGVpbnRlcmxlYXZlIHRvIHRoZSBkb2NzIGFuZCB3aGlsZSBhdCB0aGF0IHJ1biBtYWtlIHVwZGF0ZSBpbiBkb2NzL3BsdWdpbnMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3M6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmhpZXJhcmNoeToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaW50ZXJmYWNlczoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMucHJlcmVxdWlzaXRlczoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuc2lnbmFsczoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxzYXNwZGlmLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYW1yd2IueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hcHAueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iYXllci54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJ6Mi54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNkYXVkaW8ueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZHhhcGFyc2UueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZmJ2aWRlb3NpbmsueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdHNkZWMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmIueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmRzcHUueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFjLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhZC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZiZGV2c2luay54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZlc3RpdmFsLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmlsdGVyLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx2ZGVtdXgueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mcmVlemUueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc20ueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc3RydHBtYW5hZ2VyLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taDI2NHBhcnNlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXJsZWF2ZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWphY2sueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sYWRzcGEueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tZXRhZGF0YS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1tcy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1vZHBsdWcueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVnMmVuYy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWc0dmlkZW9wYXJzZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd0c3BhcnNlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3ZpZGVvcGFyc2UueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdXNlcGFjay54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11c2ljYnJhaW56LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXZlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmFzLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmVvbi54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5zZmRlYy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW51dmRlbXV4LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmF3cGFyc2UueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZWFsLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVwbGF5Z2Fpbi54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJmYnNyYy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNkbC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNkcC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNlbGVjdG9yLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc25kZmlsZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdW5kdG91Y2gueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGNkZWMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVlZC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWV4cmVzYW1wbGUueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zdGVyZW8ueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10dGEueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12Y2RzcmMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb3NpZ25hbC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZtbmMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13aWxkbWlkaS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXgyNjQueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14dmlkLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teTRtZW5jLnhtbDoKCSAgQWRkIGludGVybGVhdmUvZGVpbnRlcmxlYXZlIHRvIHRoZSBkb2NzIGFuZCB3aGlsZSBhdCB0aGF0CgkgIHJ1biBtYWtlIHVwZGF0ZSBpbiBkb2NzL3BsdWdpbnMuCgkgICogZ3N0L2ludGVybGVhdmUvZGVpbnRlcmxlYXZlLmM6CgkgIEFkZCBhIHBhcmFwcmFwaCBhYm91dCB1c2luZyBhIHF1ZXVlIGFuZCBhdWRpb2NvbnZlcnQgYWZ0ZXIgdGhlIHNvdXJjZQoJICBwYWRzIHRvIHRoZSBkb2NzLgoKMjAwOC0wNS0yMiAxODo1NTowOSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2ludGVybGVhdmUvZGVpbnRlcmxlYXZlLio6IERvbid0IHNldCBhIGdldGNhcHMoKSBmdW5jdGlvbiBvbiB0aGUgc3JjIHBhZHMgYXMgaXQncyBub3QgcmVxdWlyZWQgYW5kIHRoZSBkZWZhdWx0IGdlLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9pbnRlcmxlYXZlL2RlaW50ZXJsZWF2ZS5jOiAoZ3N0X2RlaW50ZXJsZWF2ZV9iYXNlX2luaXQpLAoJICAoZ3N0X2RlaW50ZXJsZWF2ZV9jbGFzc19pbml0KSwgKGdzdF9kZWludGVybGVhdmVfaW5pdCksCgkgIChnc3RfZGVpbnRlcmxlYXZlX2FkZF9uZXdfcGFkcyksIChnc3RfZGVpbnRlcmxlYXZlX3NpbmtfZ2V0Y2Fwcyk6CgkgICogZ3N0L2ludGVybGVhdmUvZGVpbnRlcmxlYXZlLmg6CgkgIERvbid0IHNldCBhIGdldGNhcHMoKSBmdW5jdGlvbiBvbiB0aGUgc3JjIHBhZHMgYXMgaXQncyBub3QgcmVxdWlyZWQKCSAgYW5kIHRoZSBkZWZhdWx0IGdldGNhcHMoKSBmdW5jdGlvbiByZXR1cm5zIHRoZSBjb3JyZWN0IHJlc3VsdHMgZm9yCgkgIG91ciBzcmMgcGFkcy4KCSAgQ29tcGxldGUgZG9jdW1lbnRhdGlvbiBhbmQgYWRkIG15c2VsZiB0byB0aGUgYXV0aG9ycyBvZiB0aGUgZWxlbWVudC4KCjIwMDgtMDUtMjIgMTQ6NDk6MDggKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvdWRwL01ha2VmaWxlLmFtOiBBZGQgLURfR05VX1NPVVJDRSB0byBDRkxBR1Mgc28gd2UgZ2V0IHRoaW5ncyBsaWtlIEVBSV9BRERSRkFNSUxZIHdoZW4gaW5jbHVkaW5nIG5ldGRiLmggd2hlbiBidWkuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3VkcC9NYWtlZmlsZS5hbToKCSAgQWRkIC1EX0dOVV9TT1VSQ0UgdG8gQ0ZMQUdTIHNvIHdlIGdldCB0aGluZ3MgbGlrZSBFQUlfQUREUkZBTUlMWQoJICB3aGVuIGluY2x1ZGluZyBuZXRkYi5oIHdoZW4gYnVpbGRpbmcgYWdhaW5zdCBnbGliYyA+PSAyLjguCgoyMDA4LTA1LTIyIDExOjE5OjAzICswMDAwICBKdWxpZW4gTW91dHRlIDxqdWxpZW5AbW91dHRlLm5ldD4KCgkgIGdzdC9zbXB0ZS9nc3RzbXB0ZWFscGhhLmM6IEZpeCBkZWJ1ZyBzdGF0ZW1lbnQgYXJndW1lbnRzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwOC0wNS0yMiAgSnVsaWVuIE1vdXR0ZSAgPGp1bGllbkBmbHVlbmRvLmNvbT4KCSAgKiBnc3Qvc21wdGUvZ3N0c21wdGVhbHBoYS5jOiAoZ3N0X3NtcHRlX2FscGhhX3NldGNhcHMpOiBGaXgKCSAgZGVidWcgc3RhdGVtZW50IGFyZ3VtZW50cy4KCSAgKiBnc3QvdWRwL2dzdG11bHRpdWRwc2luay5jOiAoZ3N0X211bHRpdWRwc2lua19zZXR1cF9xb3NfZHNjcCk6CgkgICogZ3N0L3VkcC9nc3R1ZHBuZXR1dGlscy5jOiAoZ3N0X3VkcF9qb2luX2dyb3VwKSwKCSAgKGdzdF91ZHBfbGVhdmVfZ3JvdXApOiBGaXggSVAgYW5kIElQVjYgb3B0aW9ucyB0byBtYWtlIGl0IHdvcmsKCSAgb24gbW9yZSBwbGF0Zm9ybXMuCgoyMDA4LTA1LTIxIDE3OjUxOjA5ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgdGVzdHMvY2hlY2svZWxlbWVudHMvOiBEb24ndCB1c2UgZ3N0X2VsZW1lbnRfZ2V0X3BhZCgpLCBpdCdzIGEgYmFkLCBiYWQgbWV0aG9kLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdmltdXguYzogKHNldHVwX3NyY19wYWQpLAoJICAodGVhcmRvd25fc3JjX3BhZCk6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvaWN5ZGVtdXguYzogKGljeWRlbXV4X2ZvdW5kX3BhZCksCgkgIChHU1RfU1RBUlRfVEVTVCk6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvbWF0cm9za2FtdXguYzogKHNldHVwX3NyY19wYWQpLAoJICAodGVhcmRvd25fc3JjX3BhZCksIChzZXR1cF9zaW5rX3BhZCksICh0ZWFyZG93bl9zaW5rX3BhZCk6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvdmlkZW9jcm9wLmM6ICh2aWRlb19jcm9wX2dldF90ZXN0X2NhcHMpLAoJICAoR1NUX1NUQVJUX1RFU1QpOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3dhdnBhY2twYXJzZS5jOiAod2F2cGFja3BhcnNlX2ZvdW5kX3BhZCksCgkgIChzZXR1cF93YXZwYWNrcGFyc2UpLCAoY2xlYW51cF93YXZwYWNrcGFyc2UpOgoJICBEb24ndCB1c2UgZ3N0X2VsZW1lbnRfZ2V0X3BhZCgpLCBpdCdzIGEgYmFkLCBiYWQgbWV0aG9kLgoKMjAwOC0wNS0yMSAxNzozOTozOCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIERvbid0IHVzZSBnc3RfZWxlbWVudF9nZXRfcGFkKCksIGl0J3MgYSBiYWQgbWV0aG9kLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZ2NvbmYvZ3N0Z2NvbmZhdWRpb3NyYy5jOiAoZ3N0X2djb25mX2F1ZGlvX3NyY19yZXNldCksCgkgIChkb190b2dnbGVfZWxlbWVudCk6CgkgICogZXh0L2djb25mL2dzdGdjb25mdmlkZW9zaW5rLmM6IChnc3RfZ2NvbmZfdmlkZW9fc2lua19yZXNldCksCgkgIChkb190b2dnbGVfZWxlbWVudCk6CgkgICogZXh0L2djb25mL2dzdGdjb25mdmlkZW9zcmMuYzogKGdzdF9nY29uZl92aWRlb19zcmNfcmVzZXQpLAoJICAoZG9fdG9nZ2xlX2VsZW1lbnQpOgoJICAqIGV4dC9nY29uZi9nc3Rzd2l0Y2hzaW5rLmM6IChnc3Rfc3dpdGNoX2NvbW1pdF9uZXdfa2lkKToKCSAgKiBleHQvaGFsL2dzdGhhbGF1ZGlvc2luay5jOiAoZ3N0X2hhbF9hdWRpb19zaW5rX3Jlc2V0KSwKCSAgKGRvX3RvZ2dsZV9lbGVtZW50KToKCSAgKiBleHQvaGFsL2dzdGhhbGF1ZGlvc3JjLmM6IChnc3RfaGFsX2F1ZGlvX3NyY19yZXNldCksCgkgIChkb190b2dnbGVfZWxlbWVudCk6CgkgICogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b2F1ZGlvc2luay5jOiAoZ3N0X2F1dG9fYXVkaW9fc2lua19yZXNldCksCgkgIChnc3RfYXV0b19hdWRpb19zaW5rX2RldGVjdCk6CgkgICogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b3ZpZGVvc2luay5jOiAoZ3N0X2F1dG9fdmlkZW9fc2lua19yZXNldCksCgkgIChnc3RfYXV0b192aWRlb19zaW5rX2RldGVjdCk6CgkgICogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiAoZ3N0X3J0c3BzcmNfaW5pdCksCgkgIChnc3RfcnRzcHNyY19zdHJlYW1fZnJlZSksIChnc3RfcnRzcHNyY19zdHJlYW1fY29uZmlndXJlX3VkcCksCgkgIChnc3RfcnRzcHNyY19zdHJlYW1fY29uZmlndXJlX3VkcF9zaW5rKSwgKGdzdF9ydHNwc3JjX3NraXBfbHdzKSwKCSAgKGdzdF9ydHNwc3JjX3Vuc2tpcF9sd3MpLCAoZ3N0X3J0c3BzcmNfc2tpcF9jb21tYXMpLAoJICAoZ3N0X3J0c3BzcmNfc2tpcF9pdGVtKSwgKGdzdF9ydHNwX2RlY29kZV9xdW90ZWRfc3RyaW5nKSwKCSAgKGdzdF9ydHNwc3JjX3BhcnNlX2RpZ2VzdF9jaGFsbGVuZ2UpLCAoZ3N0X3J0c3BzcmNfcGFyc2VfYXV0aF9oZHIpOgoJICAqIHRlc3RzL2ljbGVzL3ZpZGVvY3JvcC10ZXN0LmM6ICh0ZXN0X3dpdGhfY2FwcyksCgkgICh2aWRlb19jcm9wX2dldF90ZXN0X2NhcHMpOgoJICBEb24ndCB1c2UgZ3N0X2VsZW1lbnRfZ2V0X3BhZCgpLCBpdCdzIGEgYmFkIG1ldGhvZC4KCjIwMDgtMDUtMjEgMTc6MzU6NTAgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvdWRwLzogSm9pbmluZyBhIG11bHRpY2FzdCBncm91cCBhbmQgc2V0dGluZyB0aGUgbG9vcC90dGwgcHJvcGVydGllcyBhcmUgdG90YWxseSB1bnJlbGF0ZWQgdGFza3MgYXJlIG11c3QgYmUgc2VwYXIuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuYzogKGdzdF9tdWx0aXVkcHNpbmtfaW5pdF9zZW5kKSwKCSAgKGdzdF9tdWx0aXVkcHNpbmtfYWRkX2ludGVybmFsKToKCSAgKiBnc3QvdWRwL2dzdHVkcG5ldHV0aWxzLmM6IChnc3RfdWRwX3NldF9sb29wX3R0bCksCgkgIChnc3RfdWRwX2pvaW5fZ3JvdXApOgoJICAqIGdzdC91ZHAvZ3N0dWRwbmV0dXRpbHMuaDoKCSAgKiBnc3QvdWRwL2dzdHVkcHNyYy5jOiAoZ3N0X3VkcHNyY19zdGFydCk6CgkgIEpvaW5pbmcgYSBtdWx0aWNhc3QgZ3JvdXAgYW5kIHNldHRpbmcgdGhlIGxvb3AvdHRsIHByb3BlcnRpZXMgYXJlCgkgIHRvdGFsbHkgdW5yZWxhdGVkIHRhc2tzIGFyZSBtdXN0IGJlIHNlcGFyYXRlZC4KCjIwMDgtMDUtMjEgMTQ6MDk6NDEgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC9hdmkvZ3N0YXZpbXV4LmM6IEFsc28gc3VwcG9ydCBhbGF3L211bGF3LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXZpL2dzdGF2aW11eC5jOgoJICBBbHNvIHN1cHBvcnQgYWxhdy9tdWxhdy4KCjIwMDgtMDUtMjEgMTM6NDc6NDMgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvdWRwL2dzdG11bHRpdWRwc2luay4qOiBBZGQgYSBmaXhtZSBmb3IgdGhlIGF1dG8tbXVsdGljYXN0IHByb3BlcnR5LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvdWRwL2dzdG11bHRpdWRwc2luay5jOiAoZ3N0X211bHRpdWRwc2lua19jbGFzc19pbml0KSwKCSAgKGdzdF9tdWx0aXVkcHNpbmtfc2V0dXBfcW9zX2RzY3ApLCAoZ3N0X211bHRpdWRwc2lua19hZGRfaW50ZXJuYWwpOgoJICAqIGdzdC91ZHAvZ3N0bXVsdGl1ZHBzaW5rLmg6CgkgIEFkZCBhIGZpeG1lIGZvciB0aGUgYXV0by1tdWx0aWNhc3QgcHJvcGVydHkuCgkgIEZpeCBzb21lIGNvbmZ1c2luZyBkZWJ1ZyBtZXNzYWdlcy4KCSAgRGlzYWJsZSBzZXR0aW5nIGEgcW9zIHZhbHVlIGJ5IGRlZmF1bHQuCgoyMDA4LTA1LTIxIDExOjM4OjE3ICswMDAwICBHdXN0YWYgUsOkbnRpbMOkIDxnLnJhbnRpbGFAZ21haWwuY29tPgoKCSAgZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuYzogSWdub3JlIEVQRVJNIGVycm9ycyBmcm9tIHNlbmR0by4gRml4ZXMgIzUzMzYxOS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBHdXN0YWYgUsOkbnRpbMOkIDxnIGRvdCByYW50aWxhIGF0IGdtYWlsIGRvdCBjb20+CgkgICogZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuYzogKGdzdF9tdWx0aXVkcHNpbmtfcmVuZGVyKToKCSAgSWdub3JlIEVQRVJNIGVycm9ycyBmcm9tIHNlbmR0by4gRml4ZXMgIzUzMzYxOS4KCjIwMDgtMDUtMjEgMTA6NTE6NTIgKzAwMDAgIEhlbnJpayBFcmlrc3NvbiA8aGVucmlrZW5AYXhpcy5jb20+CgoJICBnc3QvdWRwL2dzdG11bHRpdWRwc2luay4qOiBBZGQgcW9zLWRzY3AgcHJvcGVydHkgdG8gbWFuYWdlIHRoZSBRdWFsaXR5IG9mIHNlcnZpY2UuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogSGVucmlrIEVyaWtzc29uIDxoZW5yaWtlbiBhdCBheGlzIGRvdCBjb20+CgkgICogZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuYzogKGdzdF9tdWx0aXVkcHNpbmtfY2xhc3NfaW5pdCksCgkgIChnc3RfbXVsdGl1ZHBzaW5rX2luaXQpLCAoZ3N0X211bHRpdWRwc2lua19zZXR1cF9xb3NfZHNjcCksCgkgIChnc3RfbXVsdGl1ZHBzaW5rX3NldF9wcm9wZXJ0eSksIChnc3RfbXVsdGl1ZHBzaW5rX2dldF9wcm9wZXJ0eSksCgkgIChnc3RfbXVsdGl1ZHBzaW5rX2luaXRfc2VuZCksIChnc3RfbXVsdGl1ZHBzaW5rX2FkZF9pbnRlcm5hbCk6CgkgICogZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuaDoKCSAgQWRkIHFvcy1kc2NwIHByb3BlcnR5IHRvIG1hbmFnZSB0aGUgUXVhbGl0eSBvZiBzZXJ2aWNlLgoKMjAwOC0wNS0yMSAxMDowOToyMyArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHAvZ3N0cnRwdGhlb3JhZGVwYXkuYzogSW1wcm92ZSBkZWJ1Z2dpbmcgb2YgdGhlIGlkZW50LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwL2dzdHJ0cHRoZW9yYWRlcGF5LmM6IChnc3RfcnRwX3RoZW9yYV9kZXBheV9wcm9jZXNzKToKCSAgSW1wcm92ZSBkZWJ1Z2dpbmcgb2YgdGhlIGlkZW50LgoKMjAwOC0wNS0yMSAwOTo1NjowMiArMDAwMCAgQnJ1bm8gU2FudG9zIDxicnVub2ZAdWEucHQ+CgoJICBnc3QvdWRwL2dzdHVkcG5ldHV0aWxzLio6IFByb3ZpZGUgYSBidW5jaCBvZiBoZWxwZXIgbWV0aG9kcyB0byBkZWFsIHdpdGggSVB2NCBhbmQgSVB2NiB0cmFuc3BhcmVudGx5LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IEJydW5vIFNhbnRvcyA8YnJ1bm9mIGF0IHVhIGRvdCBwdD4KCSAgKiBnc3QvdWRwL2dzdHVkcG5ldHV0aWxzLmM6IChnc3RfdWRwX2dldF9hZGRyKSwKCSAgKGdzdF91ZHBfam9pbl9ncm91cCksIChnc3RfdWRwX2xlYXZlX2dyb3VwKSwKCSAgKGdzdF91ZHBfaXNfbXVsdGljYXN0KToKCSAgKiBnc3QvdWRwL2dzdHVkcG5ldHV0aWxzLmg6CgkgIFByb3ZpZGUgYSBidW5jaCBvZiBoZWxwZXIgbWV0aG9kcyB0byBkZWFsIHdpdGggSVB2NCBhbmQgSVB2NgoJICB0cmFuc3BhcmVudGx5LgoJICAqIGdzdC91ZHAvZ3N0bXVsdGl1ZHBzaW5rLmM6IChnc3RfbXVsdGl1ZHBzaW5rX2NsYXNzX2luaXQpLAoJICAoZ3N0X211bHRpdWRwc2lua19pbml0KSwgKGdzdF9tdWx0aXVkcHNpbmtfc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9tdWx0aXVkcHNpbmtfZ2V0X3Byb3BlcnR5KSwgKGpvaW5fbXVsdGljYXN0KSwKCSAgKGdzdF9tdWx0aXVkcHNpbmtfaW5pdF9zZW5kKSwgKGdzdF9tdWx0aXVkcHNpbmtfYWRkX2ludGVybmFsKSwKCSAgKGdzdF9tdWx0aXVkcHNpbmtfcmVtb3ZlKToKCSAgKiBnc3QvdWRwL2dzdG11bHRpdWRwc2luay5oOgoJICBBZGQgbXVsdGljYXN0IFRUTCBhbmQgbG9vcGJhY2sgcHJvcGVydGllcy4KCSAgVXNlIHRoZSBoZWxwZXIgbWV0aG9kcyB0byBpbXBsZW1lbnQgaXA0IGFuZCBpcDYuCgkgICogZ3N0L3VkcC9nc3R1ZHBzcmMuYzogKGdzdF91ZHBzcmNfY3JlYXRlKSwgKGdzdF91ZHBzcmNfc3RhcnQpOgoJICAqIGdzdC91ZHAvZ3N0dWRwc3JjLmg6CgkgIFVzZSB0aGUgaGVscGVyIG1ldGhvZHMgdG8gaW1wbGVtZW50IGlwNCBhbmQgaXA2LgoJICBGaXhlcyAjNTE1OTYyLgoKMjAwOC0wNS0yMSAwOTozODo0OCArMDAwMCAgUGF0cmljayBSYWRpemkgPHBhdHJpY2sucmFkaXppQGF4aXMuY29tPgoKCSAgZ3N0L211bHRpcGFydC9tdWx0aXBhcnRkZW11eC4qOiBEb24ndCBibGluZGx5IGNvcHkgdGhlIG1pbWUtdHlwZSBhcyB0aGUgY2FwcyBuYW1lIGJlY2F1c2UgdGhleSBub3QgYWx3YXlzIG1hcCBkaXJlY3RsLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogUGF0cmljayBSYWRpemkgPHBhdHJpY2sgZG90IHJhZGl6aSBhdCBheGlzIGRvdCBjb20+CgkgICogZ3N0L211bHRpcGFydC9tdWx0aXBhcnRkZW11eC5jOiAoZ3N0X211bHRpcGFydF9kZW11eF9jbGFzc19pbml0KSwKCSAgKGdzdF9tdWx0aXBhcnRfZGVtdXhfZ2V0X2dzdG5hbWUpLAoJICAoZ3N0X211bHRpcGFydF9maW5kX3BhZF9ieV9taW1lKSwgKGdzdF9tdWx0aXBhcnRfZGVtdXhfY2hhaW4pOgoJICAqIGdzdC9tdWx0aXBhcnQvbXVsdGlwYXJ0ZGVtdXguaDoKCSAgRG9uJ3QgYmxpbmRseSBjb3B5IHRoZSBtaW1lLXR5cGUgYXMgdGhlIGNhcHMgbmFtZSBiZWNhdXNlIHRoZXkgbm90CgkgIGFsd2F5cyBtYXAgZGlyZWN0bHkuIEluc3RlYWQgdXNlIGEgaGFzaHRhYmxlIHdpdGggY29tbW9uIG1hcHBpbmdzLgoJICBGaXhlcyAjNTMzMjg3LgoKMjAwOC0wNS0yMCAxNzoyNzozNSArMDAwMCAgTWljaGFlbCBNZWVrcyA8bW1lZWtzQHhpbWlhbi5vcmc+CgoJICBleHQvZXNkL2VzZHNpbmsuYzogV2hlbiB3ZSBwb3N0IGFuIGVycm9yLCB3ZSBtdXN0IHJldHVybiAtMSB0byBsZXQgdGhlIHBhcmVudCBrbm93IHRoYXQgd2UgY2Fubm90IHdyaXRlIHRoZSBzZWdtZW50IGUuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2VzZC9lc2RzaW5rLmM6IChnc3RfZXNkc2lua193cml0ZSk6CgkgIFdoZW4gd2UgcG9zdCBhbiBlcnJvciwgd2UgbXVzdCByZXR1cm4gLTEgdG8gbGV0IHRoZSBwYXJlbnQga25vdyB0aGF0IHdlCgkgIGNhbm5vdCB3cml0ZSB0aGUgc2VnbWVudCBlbHNlIGl0IHdpbGwgbG9vcCBhbmQgY29udGludWUgdG8gY2FsbCB1cyBhZ2FpbgoJICBmb3JldmVyLiBQYXRjaCBieSBNaWNoYWVsIE1lZWtzLgoKMjAwOC0wNS0yMCAxNDoyNDoyMSArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlci5jOiBBZGQgbWlzc2luZyBpbmN1ZGVzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyLmM6CgkgIEFkZCBtaXNzaW5nIGluY3VkZXMuCgoyMDA4LTA1LTIwIDEzOjU3OjQ0ICswMDAwICBQZXRlciBLamVsbGVyc3RlZHQgPHBrakBheGlzLmNvbT4KCgkgIGdzdC9ydHAvZ3N0cnRwaDI2NHBheS4qOiBDb3JyZWN0IGEgdHlwbyAoc2lubGUgLT4gc2luZ2xlKS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cC9nc3RydHBoMjY0cGF5LmM6IChnc3RfaDI2NF9zY2FuX21vZGVfZ2V0X3R5cGUpLAoJICAoZ3N0X3J0cF9oMjY0X3BheV9oYW5kbGVfYnVmZmVyKToKCSAgKiBnc3QvcnRwL2dzdHJ0cGgyNjRwYXkuaDoKCSAgQ29ycmVjdCBhIHR5cG8gKHNpbmxlIC0+IHNpbmdsZSkuCgoyMDA4LTA1LTIwIDExOjMzOjA1ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cC9nc3RydHBoMjY0ZGVwYXkuKjogQWRkIGV4cGVyaW1lbnRhbCBzdXBwb3J0IGZvciBvdXRwdXR0aW5nIHF1aWNrdGltZS1saWtlIEFWQyBvdXRwdXQgaW4gYWRkaXRpb24gdG8gdGhlIGV4aXN0Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHAvZ3N0cnRwaDI2NGRlcGF5LmM6IChnc3RfcnRwX2gyNjRfZGVwYXlfY2xhc3NfaW5pdCksCgkgIChnc3RfcnRwX2gyNjRfZGVwYXlfaW5pdCksIChnc3RfcnRwX2gyNjRfZGVwYXlfc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9ydHBfaDI2NF9kZXBheV9nZXRfcHJvcGVydHkpLCAoZ3N0X3J0cF9oMjY0X2RlcGF5X3NldGNhcHMpLAoJICAoZ3N0X3J0cF9oMjY0X2RlcGF5X3Byb2Nlc3MpOgoJICAqIGdzdC9ydHAvZ3N0cnRwaDI2NGRlcGF5Lmg6CgkgIEFkZCBleHBlcmltZW50YWwgc3VwcG9ydCBmb3Igb3V0cHV0dGluZyBxdWlja3RpbWUtbGlrZSBBVkMgb3V0cHV0IGluCgkgIGFkZGl0aW9uIHRvIHRoZSBleGlzdGluZyBieXRlc3RyZWFtIG91dHB1dC4KCSAgKiBnc3QvcnRwL2dzdHJ0cGgyNjRwYXkuYzogKGdzdF9oMjY0X3NjYW5fbW9kZV9nZXRfdHlwZSksCgkgIChnc3RfcnRwX2gyNjRfcGF5X2NsYXNzX2luaXQpLCAoZ3N0X3J0cF9oMjY0X3BheV9pbml0KSwKCSAgKGdzdF9ydHBfaDI2NF9wYXlfc2V0Y2FwcyksIChnc3RfcnRwX2gyNjRfcGF5X3BheWxvYWRfbmFsKSwKCSAgKGdzdF9ydHBfaDI2NF9wYXlfaGFuZGxlX2J1ZmZlciksIChnc3RfcnRwX2gyNjRfcGF5X3NldF9wcm9wZXJ0eSksCgkgIChnc3RfcnRwX2gyNjRfcGF5X2dldF9wcm9wZXJ0eSk6CgkgICogZ3N0L3J0cC9nc3RydHBoMjY0cGF5Lmg6CgkgIE1ha2UgdGhlIHBhcnNpbmcgbW9kZSBjb25maWd1cmFibGUsIGZvciBzb21lIGlucHV0cyB3ZSBkb24ndCBuZWVkIHRvCgkgIHNjYW4gZXZlcnkgYnl0ZSBmb3Igc3RhcnQgY29kZXMuCgkgIE9ubHkgc2V0IHRoZSBtYXJrZXIgYml0IG9uIEFDQ0VTUyB1bml0cy4KCjIwMDgtMDUtMjAgMTA6NDc6MTAgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyLmM6IFVzZSBhIGJpZ2dlciB0eXBlIGluIGludGVnZXIgbW9kZSBmb3IgdGhlIGludGVybWVkaWF0ZSByZXN1bHRzIHRvIHByZXZlbnQgb3ZlcmZsb3dzLi4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplci5jOgoJICBVc2UgYSBiaWdnZXIgdHlwZSBpbiBpbnRlZ2VyIG1vZGUgZm9yIHRoZSBpbnRlcm1lZGlhdGUgcmVzdWx0cyB0bwoJICBwcmV2ZW50IG92ZXJmbG93cy4gVGhpcyBmaXhlcyB0aGUgY3JpcHBsZWQgc291bmQgd2hlbiB1c2luZyB0aGUKCSAgZXF1YWxpemVyIGluIGludGVnZXIgbW9kZS4gRml4ZXMgYnVnICM1MTA4NjUuCgoyMDA4LTA1LTIwIDEwOjQyOjMzICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIuKjogSW5zdGVhZCBvZiBhIHJhbmRvbSBudW1iZXIgZm9yIHRoZSByZXF1ZXN0IHBhZCBpZCdzLCB1c2UgYSBjb3VudGVyLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyLmM6CgkgICogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlci5oOgoJICBJbnN0ZWFkIG9mIGEgcmFuZG9tIG51bWJlciBmb3IgdGhlIHJlcXVlc3QgcGFkIGlkJ3MsCgkgIHVzZSBhIGNvdW50ZXIuCgkgIFJlZ2lzdGVyIHRoZSB2aWRlb21peGVycGFkIGNsYXNzIGZyb20gdGhlIGVsZW1lbnQncyBjbGFzc19pbml0CgkgIHdoZXJlIGl0J3Mgc2FmZXIsIGFuZCBhbGxvd3MgdGhlIGRvY3MgZ2VuZXJhdG9yIHRvIHNjYW4gaXQuCgoyMDA4LTA1LTIwIDA5OjI5OjI4ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3NtcHRlLzogQWRkIG5ldyBwbHVnaW4gdGhhdCBhZGRzIHRoZSBTTVBURSB0cmFuc2l0aW9uIGluIHRoZSBhbHBoYSBjaGFubmVsIG9mCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9zbXB0ZS9NYWtlZmlsZS5hbToKCSAgKiBnc3Qvc21wdGUvZ3N0c21wdGUuYzogKGdzdF9zbXB0ZV9wbHVnaW5faW5pdCk6CgkgICogZ3N0L3NtcHRlL2dzdHNtcHRlLmg6CgkgICogZ3N0L3NtcHRlL2dzdHNtcHRlYWxwaGEuYzoKCSAgKGdzdF9zbXB0ZV9hbHBoYV90cmFuc2l0aW9uX3R5cGVfZ2V0X3R5cGUpLAoJICAoZ3N0X3NtcHRlX2FscGhhX2dldF90eXBlKSwgKGdzdF9zbXB0ZV9hbHBoYV9iYXNlX2luaXQpLAoJICAoZ3N0X3NtcHRlX2FscGhhX2NsYXNzX2luaXQpLCAoZ3N0X3NtcHRlX2FscGhhX3VwZGF0ZV9tYXNrKSwKCSAgKGdzdF9zbXB0ZV9hbHBoYV9zZXRjYXBzKSwgKGdzdF9zbXB0ZV9hbHBoYV9nZXRfdW5pdF9zaXplKSwKCSAgKGdzdF9zbXB0ZV9hbHBoYV9pbml0KSwgKGdzdF9zbXB0ZV9hbHBoYV9maW5hbGl6ZSksCgkgIChnc3Rfc21wdGVfYWxwaGFfZG9fYXl1diksIChnc3Rfc21wdGVfYWxwaGFfZG9faTQyMCksCgkgIChnc3Rfc21wdGVfYWxwaGFfdHJhbnNmb3JtKSwgKGdzdF9zbXB0ZV9hbHBoYV9zZXRfcHJvcGVydHkpLAoJICAoZ3N0X3NtcHRlX2FscGhhX2dldF9wcm9wZXJ0eSksIChnc3Rfc21wdGVfYWxwaGFfcGx1Z2luX2luaXQpOgoJICAqIGdzdC9zbXB0ZS9nc3RzbXB0ZWFscGhhLmg6CgkgICogZ3N0L3NtcHRlL3BsdWdpbi5jOiAocGx1Z2luX2luaXQpOgoJICBBZGQgbmV3IHBsdWdpbiB0aGF0IGFkZHMgdGhlIFNNUFRFIHRyYW5zaXRpb24gaW4gdGhlIGFscGhhIGNoYW5uZWwgb2YKCSAgSTQyMCBhbmQgQVlVViBmcmFtZXMgc28gdGhhdCB0aGV5IGNhbiBiZSBibGVuZGVkIHdpdGggdmlkZW9taXhlciBsYXRlcgoJICBvbi4gVXNlcyBhbGwgbmljZXRpZXMgc3VjaCBhcyB1c2luZyBiYXNlIHRyYW5zZm9ybSBmb3IgZWZmaWNpZW50IGFsbG9jCgkgIGFuZCBuZWdvdGlhdGlvbi4gSXQgY3VycmVudGx5IHJlcXVpcmVzIEdzdENvbnRyb2xsZXIgdG8gY29udHJvbCB0aGUKCSAgcG9zaXRpb24gaW4gdGhlIHRyYW5zaXRpb24gZWZmZWN0LgoKMjAwOC0wNS0xOSAyMTowNTowMyArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgVHJ5IHVzaW5nIHRoYXl0YW5zIG5ldyBtZWNoYW5pc20gdG8gZ2V0IGV4dHJhIGNsYXNzZXMgaW50byBwbHVnaW4gZG9jcy4gQXBhcmVudGx5IHdvcmtzIGZvciB0aGUgRXEuIEZvciBWaWRlb01peGVyIHRoLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtZG9jcy5zZ21sOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuYXJnczoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmhpZXJhcmNoeToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmludGVyZmFjZXM6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy50eXBlczoKCSAgKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyLmM6CgkgIFRyeSB1c2luZyB0aGF5dGFucyBuZXcgbWVjaGFuaXNtIHRvIGdldCBleHRyYSBjbGFzc2VzIGludG8gcGx1Z2luCgkgIGRvY3MuIEFwYXJlbnRseSB3b3JrcyBmb3IgdGhlIEVxLiBGb3IgVmlkZW9NaXhlciB0aGUgR09iamVjdCBzdHVmZiBpcwoJICBtaXNzaW5nIHN0aWxsLgoKMjAwOC0wNS0xOSAxMjozMjowNiArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgdGVzdHMvY2hlY2svZWxlbWVudHMvZGVpbnRlcmxlYXZlLmM6IFNldCBrZWVwLXBvc2l0aW9ucyBwcm9wZXJ0eSB0byBUUlVFIGZvciB0aGUgOCBjaGFubmVsIHRlc3QgdG8gZW5zdXJlIHRoYXQgdGhlIG9yLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2RlaW50ZXJsZWF2ZS5jOiAoR1NUX1NUQVJUX1RFU1QpOgoJICBTZXQga2VlcC1wb3NpdGlvbnMgcHJvcGVydHkgdG8gVFJVRSBmb3IgdGhlIDggY2hhbm5lbCB0ZXN0IHRvIGVuc3VyZQoJICB0aGF0IHRoZSBvcmlnaW5hbCBjaGFubmVsIHBvc2l0aW9uIGlzIHNldCBvbiB0aGUgb3V0cHV0LgoKMjAwOC0wNS0xOSAwNzo0NjowNSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2ludGVybGVhdmUvZGVpbnRlcmxlYXZlLio6IEFkZCBhIHByb3BlcnR5IHRvIHNlbGVjdCB3aGV0aGVyIGNoYW5uZWwgcG9zaXRpb25zIHNob3VsZCBiZSBrZXB0IG9uIHRoZSBtb25vIG91dHB1dCBiLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9pbnRlcmxlYXZlL2RlaW50ZXJsZWF2ZS5jOiAoZ3N0X2RlaW50ZXJsZWF2ZV9jbGFzc19pbml0KSwKCSAgKGdzdF9kZWludGVybGVhdmVfaW5pdCksIChnc3RfZGVpbnRlcmxlYXZlX2FkZF9uZXdfcGFkcyksCgkgIChnc3RfZGVpbnRlcmxlYXZlX3NldF9wYWRzX2NhcHMpLCAoZ3N0X2RlaW50ZXJsZWF2ZV9zZXRfcHJvcGVydHkpLAoJICAoZ3N0X2RlaW50ZXJsZWF2ZV9nZXRfcHJvcGVydHkpOgoJICAqIGdzdC9pbnRlcmxlYXZlL2RlaW50ZXJsZWF2ZS5oOgoJICBBZGQgYSBwcm9wZXJ0eSB0byBzZWxlY3Qgd2hldGhlciBjaGFubmVsIHBvc2l0aW9ucyBzaG91bGQgYmUga2VwdCBvbgoJICB0aGUgbW9ubyBvdXRwdXQgYnVmZmVycyBvciBzaG91bGQgYmUgZHJvcHBlZC4KCjIwMDgtMDUtMTggMTk6Mjc6NTkgKzAwMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSAgZ3N0L2F2aS9nc3RhdmltdXguYzogU2V0IHByb3BlciByYXRlIGluIGF2aSBzdHJlYW0gaGVhZGVyIGZvciBQQ00gYXVkaW8sIGFuZCBhbHNvIGRvIHNvbWUgbW9yZSBzYW5pdHkgY2hlY2tzIG9uIGNhcHMgLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdmkvZ3N0YXZpbXV4LmM6IChnc3RfYXZpX211eF9hdWRzaW5rX3NldF9jYXBzKToKCSAgU2V0IHByb3BlciByYXRlIGluIGF2aSBzdHJlYW0gaGVhZGVyIGZvciBQQ00gYXVkaW8sIGFuZCBhbHNvIGRvIHNvbWUKCSAgbW9yZSBzYW5pdHkgY2hlY2tzIG9uIGNhcHMgaW4gdGhpcyBjYXNlLiAgRml4ZXMgIzUxMTQ4OS4KCjIwMDgtMDUtMTcgMTk6Mzk6NTMgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9pbnRlcmxlYXZlL2RlaW50ZXJsZWF2ZS4qOiBRdWV1ZSBldmVudHMgdW50aWwgc3JjIHBhZHMgd2VyZSBhZGRlZCBhbmQgdGhleSBjYW4gYmUgc2VudC4gT3RoZXJ3aXNlIGRvd25zdHJlYW0gd2lsbC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvaW50ZXJsZWF2ZS9kZWludGVybGVhdmUuYzogKGdzdF9kZWludGVybGVhdmVfZmluYWxpemUpLAoJICAoZ3N0X2RlaW50ZXJsZWF2ZV9pbml0KSwgKGdzdF9kZWludGVybGVhdmVfc2lua19ldmVudCksCgkgIChnc3RfZGVpbnRlcmxlYXZlX3Byb2Nlc3MpLCAoZ3N0X2RlaW50ZXJsZWF2ZV9zaW5rX2FjdGl2YXRlX3B1c2gpOgoJICAqIGdzdC9pbnRlcmxlYXZlL2RlaW50ZXJsZWF2ZS5oOgoJICBRdWV1ZSBldmVudHMgdW50aWwgc3JjIHBhZHMgd2VyZSBhZGRlZCBhbmQgdGhleSBjYW4gYmUgc2VudC4gT3RoZXJ3aXNlCgkgIGRvd25zdHJlYW0gd2lsbCBuZXZlciBnZXQgdGhlIGZpcnN0IG5ld3NlZ21lbnQgZXZlbnQuCgoyMDA4LTA1LTE3IDE0OjA1OjAzICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvaW50ZXJsZWF2ZS9kZWludGVybGVhdmUuYzogQWx3YXlzIHNldCB0aGUgY2hhbm5lbCBwb3NpdGlvbnMgd2hlbiBnc3RfYXVkaW9fZ2V0X2NoYW5uZWxfcG9zaXRpb25zKCkgcmV0dXJucyBzb21ldGguLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2ludGVybGVhdmUvZGVpbnRlcmxlYXZlLmM6IChnc3RfZGVpbnRlcmxlYXZlX3Npbmtfc2V0Y2FwcyksCgkgIChnc3RfZGVpbnRlcmxlYXZlX2dldGNhcHMpOgoJICBBbHdheXMgc2V0IHRoZSBjaGFubmVsIHBvc2l0aW9ucyB3aGVuIGdzdF9hdWRpb19nZXRfY2hhbm5lbF9wb3NpdGlvbnMoKQoJICByZXR1cm5zIHNvbWV0aGluZywgZXZlbiBpZiB0aGV5J3JlIG5vdCBzZXQgaW4gdGhlIGNhcHMuIFRoaXMgbWFrZXMKCSAgc3VyZSB0aGF0IHRoZSBvdXRwdXQgY2hhbm5lbHMgY2FuIGJlIGludGVybGVhdmVkIGFnYWluIGNvcnJlY3RseQoJICBpbiB0aGUgbW9uby9zdGVyZW8gY2FzZXMgdG9vLgoJICBEb24ndCBhc2sgZm9yIHRoZSBwZWVyY2FwcyBvZiB0aGUgY3VycmVudCBwYWQgaW4gZ2V0Y2FwcygpIGFzIHRoaXMKCSAgbWlnaHQgY2FsbCBnZXRjYXBzKCkgYWdhaW4gYW5kIGRlYWRsb2NrLgoKMjAwOC0wNS0xNyAxMDozODoxOCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOiBEb24ndCBpbmNsdWRlIHRoZSBnc3R2NGwyeG92ZXJsYXkuaCBoZWFkZXIgYXMgdGhlIFhPdmVybGF5IHN1cHBvcnQgaXNuJ3QgaW1wbGVtZW50ZWQgYXQgYWxsIHllLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzoKCSAgRG9uJ3QgaW5jbHVkZSB0aGUgZ3N0djRsMnhvdmVybGF5LmggaGVhZGVyIGFzIHRoZSBYT3ZlcmxheSBzdXBwb3J0CgkgIGlzbid0IGltcGxlbWVudGVkIGF0IGFsbCB5ZXQgYW5kIHRoaXMgcmVxdWlyZXMgWCBoZWFkZXJzIHRvIGJlCgkgIGluc3RhbGxlZC4gRml4ZXMgYnVnICM1MzMyNjQuCgoyMDA4LTA1LTE2IDIxOjU2OjI0ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvaW50ZXJsZWF2ZS86IEFkZCBzdXBwb3J0IGZvciBhbGwgcmF3IGF1ZGlvIGZvcm1hdHMgYW5kIHByb3ZpZGUgYmV0dGVyIG5lZ290aWF0aW9uIGlmIHRoZSBjYXBzIGFyZSBjaGFuZ2luZy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2ludGVybGVhdmUvTWFrZWZpbGUuYW06CgkgICogZ3N0L2ludGVybGVhdmUvZGVpbnRlcmxlYXZlLmM6IChkZWludGVybGVhdmVfMjQpLAoJICAoZ3N0X2RlaW50ZXJsZWF2ZV9maW5hbGl6ZSksIChnc3RfZGVpbnRlcmxlYXZlX2Jhc2VfaW5pdCksCgkgIChnc3RfZGVpbnRlcmxlYXZlX2NsYXNzX2luaXQpLCAoZ3N0X2RlaW50ZXJsZWF2ZV9pbml0KSwKCSAgKGdzdF9kZWludGVybGVhdmVfYWRkX25ld19wYWRzKSwgKGdzdF9kZWludGVybGVhdmVfc2V0X3BhZHNfY2FwcyksCgkgIChnc3RfZGVpbnRlcmxlYXZlX3NldF9wcm9jZXNzX2Z1bmN0aW9uKSwKCSAgKGdzdF9kZWludGVybGVhdmVfc2lua19zZXRjYXBzKSwgKF9fcmVtb3ZlX2NoYW5uZWxzKSwKCSAgKF9fc2V0X2NoYW5uZWxzKSwgKGdzdF9kZWludGVybGVhdmVfZ2V0Y2FwcyksCgkgIChnc3RfZGVpbnRlcmxlYXZlX3Byb2Nlc3MpLCAoZ3N0X2RlaW50ZXJsZWF2ZV9jaGFpbiksCgkgIChnc3RfZGVpbnRlcmxlYXZlX3NpbmtfYWN0aXZhdGVfcHVzaCk6CgkgICogZ3N0L2ludGVybGVhdmUvZGVpbnRlcmxlYXZlLmg6CgkgIEFkZCBzdXBwb3J0IGZvciBhbGwgcmF3IGF1ZGlvIGZvcm1hdHMgYW5kIHByb3ZpZGUgYmV0dGVyIG5lZ290aWF0aW9uCgkgIGlmIHRoZSBjYXBzIGFyZSBjaGFuZ2luZy4KCSAgRG9uJ3QgYWxsb3cgY2hhbmdlcyBvZiB0aGUgY2hhbm5lbCBwb3NpdGlvbnMgYW5kIHNldCB0aGUgcG9zaXRpb24gb2YKCSAgdGhlIGNvcnJlc3BvbmRpbmcgY2hhbm5lbCBvbiB0aGUgc3JjIHBhZCBjYXBzLgoJICBHZW5lcmFsIGNsZWFudXAgYW5kIHNtYWxsZXIgYnVnZml4ZXMuCgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvZGVpbnRlcmxlYXZlLmM6IChmbG9hdF9idWZmZXJfY2hlY2tfcHJvYmUpOgoJICBDaGVjayB0aGUgY2hhbm5lbCBwb3NpdGlvbnMgb24gdGhlIG91dHB1dCBidWZmZXIgY2Fwcy4KCjIwMDgtMDUtMTYgMTc6NTA6MjAgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgRml4IHNvbWUgY29tcGlsZXIgd2FybmluZ3MuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tzdHJlYW1yZWFkZXIuYzoKCSAgKiB0ZXN0cy9leGFtcGxlcy9zcGVjdHJ1bS9kZW1vLWF1ZGlvdGVzdC5jOgoJICAqIHRlc3RzL2V4YW1wbGVzL3NwZWN0cnVtL2RlbW8tb3Nzc3JjLmM6CgkgIEZpeCBzb21lIGNvbXBpbGVyIHdhcm5pbmdzLgoKMjAwOC0wNS0xNCAxODoyODo0NiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHAvZ3N0cnRwaDI2NGRlcGF5LmM6IFNtYWxsIGNvbW1lbnQgYWRkZWQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHAvZ3N0cnRwaDI2NGRlcGF5LmM6IChnc3RfcnRwX2gyNjRfZGVwYXlfcHJvY2Vzcyk6CgkgIFNtYWxsIGNvbW1lbnQgYWRkZWQuCgkgICogZ3N0L3J0cC9nc3RydHBoMjY0cGF5LmM6IChnc3RfcnRwX2gyNjRfcGF5X2NsYXNzX2luaXQpLAoJICAoZ3N0X3J0cF9oMjY0X3BheV9kZWNvZGVfbmFsKSwgKGdzdF9ydHBfaDI2NF9wYXlfcGFyc2Vfc3BzX3BwcyksCgkgIChnc3RfcnRwX2gyNjRfcGF5X3BheWxvYWRfbmFsKSwgKGdzdF9ydHBfaDI2NF9wYXlfaGFuZGxlX2J1ZmZlcik6CgkgIERlYnVnIHN0cmluZyBjbGVhbnVwcyAocmVtb3ZlIHRyYWlsaW5nIFxuKQoJICBSZWZhY3RvciBhbmQgY2xlYW4gdXAgdGhlIHBheWxvYWRlciBhIGJpdCBhbmQgbWFrZSBzdXJlIHRoYXQgd2Ugb25seQoJICBwdXQgb25lIE5BTCB1bml0IGluIGFuIFJUUCBwYWNrZXQgZXZlbiBpZiB0aGUgaW5wdXQgYnVmZmVyIGNvbnRhaW5zCgkgIG11bHRpcGxlIE5BTCB1bml0cy4KCSAgQWRkIHN1cG9ydCBmb3IgQVZDIGZvcm1hdCBpbnB1dC4KCjIwMDgtMDUtMTQgMTc6NTg6NTAgKzAwMDAgIFBldGVyIEtqZWxsZXJzdGVkdCA8cGtqQGF4aXMuY29tPgoKCSAgZ3N0L3J0cC9nc3RydHBoMjY0cGF5Lio6IE1ha2UgaXQgcG9zc2libGUgdG8gc3BlY2lmeSBwcm9maWxlLWxldmVsLWlkIGFuZCBzcHJvcC1wYXJhbWV0ZXItc2V0cyB1c2luZyBwcm9wZXJ0aWVzIGluIGNhLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHAvZ3N0cnRwaDI2NHBheS5jOiAoZ3N0X3J0cF9oMjY0X3BheV9jbGFzc19pbml0KSwKCSAgKGdzdF9ydHBfaDI2NF9wYXlfZmluYWxpemUpLCAoZ3N0X3J0cF9oMjY0X3BheV9oYW5kbGVfYnVmZmVyKSwKCSAgKGdzdF9ydHBfaDI2NF9wYXlfc2V0X3Byb3BlcnR5KSwgKGdzdF9ydHBfaDI2NF9wYXlfZ2V0X3Byb3BlcnR5KToKCSAgKiBnc3QvcnRwL2dzdHJ0cGgyNjRwYXkuaDoKCSAgTWFrZSBpdCBwb3NzaWJsZSB0byBzcGVjaWZ5IHByb2ZpbGUtbGV2ZWwtaWQgYW5kIHNwcm9wLXBhcmFtZXRlci1zZXRzCgkgIHVzaW5nIHByb3BlcnRpZXMgaW4gY2FzZSB0aGV5IGFyZSBub3QgYXZhaWxhYmxlIGluLXN0cmVhbS4KCjIwMDgtMDUtMTQgMTQ6MTk6NDcgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbTogQWRkIGRlaW50ZXJsZWF2ZSB1bml0IHRlc3QgdG8gVkFMR1JJTkRfVE9fRklYLCBzaW5jZSBpdCBjYXVzZXMgd2VpcmQgaW52YWxpZCBmcmVlIGVycm9ycyBpbiAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgIEFkZCBkZWludGVybGVhdmUgdW5pdCB0ZXN0IHRvIFZBTEdSSU5EX1RPX0ZJWCwgc2luY2UgaXQgY2F1c2VzCgkgIHdlaXJkIGludmFsaWQgZnJlZSBlcnJvcnMgaW4gdmFsZ3JpbmQvbGliYyBhZnRlciBfZXhpdCBmb3Igc29tZQoJICByZWFzb24uCgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvZGVpbnRlcmxlYXZlLmM6IChwYWRzX2NyZWF0ZWQpLAoJICAoc2V0X2NoYW5uZWxfcG9zaXRpb25zKSwgKHNyY19oYW5kb2ZmX2Zsb2F0MzJfOGNoKSwKCSAgKGZsb2F0X2J1ZmZlcl9jaGVja19wcm9iZSksCgkgIChwYWRfYWRkZWRfc2V0dXBfZGF0YV9jaGVja19mbG9hdDMyXzhjaF9jYiksCgkgIChtYWtlX2Zha2Vfc3JjXzhjaGFuc19mbG9hdDMyKSwgKEdTVF9TVEFSVF9URVNUKSwKCSAgKGRlaW50ZXJsZWF2ZV9zdWl0ZSk6CgkgIEFkZCBzb21lIG1vcmUgZGVpbnRlcmxlYXZlIHVuaXQgdGVzdCBiaXRzIEkgaGFkIGxvY2FsbHkuCgoyMDA4LTA1LTE0IDEyOjUyOjE1ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBkb2NzL3BsdWdpbnMvOiBSZW1vdmUgbGFkc3BhIGZybyBwbHVnaW4tZG9jcywgaXRzIGluIGdzdC1wbHVnaW5zLWJhZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1kb2NzLnNnbWw6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5hcmdzOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sYWRzcGEueG1sOgoJICBSZW1vdmUgbGFkc3BhIGZybyBwbHVnaW4tZG9jcywgaXRzIGluIGdzdC1wbHVnaW5zLWJhZC4KCjIwMDgtMDUtMTQgMDc6MzI6NDQgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9pbnRlcmxlYXZlLzogU3BsaXQgZGVmaW5pdGlvbnMgaW50byBzZXBhcmF0ZSBoZWFkZXIgZmlsZXMgZm9yIGJldHRlciBkb2N1bWVudGF0aW9uIGdlbmVyYXRpb24uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9pbnRlcmxlYXZlL01ha2VmaWxlLmFtOgoJICAqIGdzdC9pbnRlcmxlYXZlL2RlaW50ZXJsZWF2ZS5oOgoJICAqIGdzdC9pbnRlcmxlYXZlL2ludGVybGVhdmUuaDoKCSAgKiBnc3QvaW50ZXJsZWF2ZS9wbHVnaW4uaDoKCSAgU3BsaXQgZGVmaW5pdGlvbnMgaW50byBzZXBhcmF0ZSBoZWFkZXIgZmlsZXMgZm9yIGJldHRlciBkb2N1bWVudGF0aW9uCgkgIGdlbmVyYXRpb24uCgkgICogZ3N0L2ludGVybGVhdmUvZGVpbnRlcmxlYXZlLmM6IChnc3RfZGVpbnRlcmxlYXZlX2Jhc2VfaW5pdCksCgkgIChnc3RfZGVpbnRlcmxlYXZlX2NsYXNzX2luaXQpLCAoZ3N0X2RlaW50ZXJsZWF2ZV9zaW5rX3NldGNhcHMpLAoJICAoZ3N0X2RlaW50ZXJsZWF2ZV9wcm9jZXNzKToKCSAgRG9uJ3QgdXNlIGFsbG9jYSwgYWxsb3cgY2FwcyBjaGFuZ2VzIGFzIGxvbmcgYXMgdGhlIG51bWJlciBvZiBjaGFubmVscwoJICBkb2VzIG5vdCBjaGFuZ2UsIGRvbid0IHVzZSBnX3dhcm5pbmcsIHJldHVybiBOT1RfTkVHT1RJQVRFRCBhcyBlYXJseQoJICBhcyBwb3NzaWJsZSBhbmQgc29tZSBvdGhlciBjbGVhbnVwLgoJICAqIGdzdC9pbnRlcmxlYXZlL2ludGVybGVhdmUuYzogKGdzdF9pbnRlcmxlYXZlX2Jhc2VfaW5pdCksCgkgIChnc3RfaW50ZXJsZWF2ZV9jbGFzc19pbml0KToKCSAgRG8gc29tZSByYW5kb20gY2xlYW51cC4KCSAgKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9kZWludGVybGVhdmUuYzogKEdTVF9TVEFSVF9URVNUKSwKCSAgKGRlaW50ZXJsZWF2ZV9jaGFpbl9mdW5jKSwgKGRlaW50ZXJsZWF2ZV9wYWRfYWRkZWQpLAoJICAoZGVpbnRlcmxlYXZlX3N1aXRlKToKCSAgQWRkIHVuaXQgdGVzdHMgZm9yIHRoZSBkZWludGVybGVhdmUgZWxlbWVudC4KCjIwMDgtMDUtMTMgMjA6MjU6MjAgKzAwMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSAgZ3N0L2F2aS9nc3RhdmltdXguYzogU2VuZCBhbiBpbml0aWFsIEJZVEUgc2VnbWVudCB0byBpbmZvcm0gZG93bnN0cmVhbSBvZiBsYXRlciBzZWVraW5nLCBhbmQgdG8gZm9yZWdvIHN5bmMgYXR0ZW1wdHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdmkvZ3N0YXZpbXV4LmM6IChnc3RfYXZpX211eF9zdGFydF9maWxlKToKCSAgU2VuZCBhbiBpbml0aWFsIEJZVEUgc2VnbWVudCB0byBpbmZvcm0gZG93bnN0cmVhbSBvZiBsYXRlciBzZWVraW5nLAoJICBhbmQgdG8gZm9yZWdvIHN5bmMgYXR0ZW1wdHMuCgoyMDA4LTA1LTEzIDA4OjU5OjQxICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cC9nc3RydHBnNzI5ZGVwYXkuYzogRml4IHdyb25nIGNhcHMgc3RyaW5nLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwL2dzdHJ0cGc3MjlkZXBheS5jOiAoZ3N0X3J0cF9nNzI5X2RlcGF5X3NldGNhcHMpOgoJICBGaXggd3JvbmcgY2FwcyBzdHJpbmcuCgoyMDA4LTA1LTEzIDA4OjM1OjU1ICswMDAwICBPbGl2aWVyIENyZXRlIDx0ZXN0ZXJAdGVzdGVyLmNhPgoKCSAgZ3N0L3J0cC86IEFkZGVkIEc3MjkgcGF5IGFuZCBkZXBheWxvYWRlcnMuIEZpeGVzICM1MzI0MDkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBCYXNlZCBvbiBwYXRjaCBieTogT2xpdmllciBDcmV0ZSA8dGVzdGVyIGF0IHRlc3RlciBkb3QgY2E+CgkgICogZ3N0L3J0cC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvcnRwL2dzdHJ0cC5jOiAocGx1Z2luX2luaXQpOgoJICAqIGdzdC9ydHAvZ3N0cnRwZzcyOWRlcGF5LmM6IChnc3RfcnRwX2c3MjlfZGVwYXlfYmFzZV9pbml0KSwKCSAgKGdzdF9ydHBfZzcyOV9kZXBheV9jbGFzc19pbml0KSwgKGdzdF9ydHBfZzcyOV9kZXBheV9pbml0KSwKCSAgKGdzdF9ydHBfZzcyOV9kZXBheV9zZXRjYXBzKSwgKGdzdF9ydHBfZzcyOV9kZXBheV9wcm9jZXNzKSwKCSAgKGdzdF9ydHBfZzcyOV9kZXBheV9wbHVnaW5faW5pdCk6CgkgICogZ3N0L3J0cC9nc3RydHBnNzI5ZGVwYXkuaDoKCSAgKiBnc3QvcnRwL2dzdHJ0cGc3MjlwYXkuYzogKGdzdF9ydHBnNzI5cGF5X2Jhc2VfaW5pdCksCgkgIChnc3RfcnRwZzcyOXBheV9jbGFzc19pbml0KSwgKGdzdF9ydHBnNzI5cGF5X2luaXQpLAoJICAoZ3N0X3J0cGc3MjlwYXlfc2V0Y2FwcyksIChnc3RfcnRwX2c3MjlfcGF5X3BsdWdpbl9pbml0KToKCSAgKiBnc3QvcnRwL2dzdHJ0cGc3MjlwYXkuaDoKCSAgQWRkZWQgRzcyOSBwYXkgYW5kIGRlcGF5bG9hZGVycy4gRml4ZXMgIzUzMjQwOS4KCjIwMDgtMDUtMTMgMDg6MjE6MjYgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBleHQvc3BlZXgvZ3N0c3BlZXhkZWMuYzogRml4IHRoZSBjYWxjdWxhdGlvbiBvZiB0aGUgZHVyYXRpb24gb2YgdGhlIGNvbmNlYWxtZW50IHBhY2tldHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9zcGVleC9nc3RzcGVleGRlYy5jOiAoc3BlZXhfZGVjX3NpbmtfZXZlbnQpOgoJICBGaXggdGhlIGNhbGN1bGF0aW9uIG9mIHRoZSBkdXJhdGlvbiBvZiB0aGUgY29uY2VhbG1lbnQgcGFja2V0cy4KCjIwMDgtMDUtMTIgMTg6Mjc6MjQgKzAwMDAgIE9saXZpZXIgQ3JldGUgPHRlc3RlckB0ZXN0ZXIuY2E+CgoJICBnc3QvcnRwLzogQWRkIERWIHBheSBhbmQgZGVwYXlsb2FkZXJzLiBGaXhlcyAjNTMyNDIzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgQmFzZWQgb24gcGF0Y2ggYnk6IE9saXZpZXIgQ3JldGUgPHRlc3RlciBhdCB0ZXN0ZXIgZG90IGNhPgoJICAqIGdzdC9ydHAvTWFrZWZpbGUuYW06CgkgICogZ3N0L3J0cC9nc3RydHAuYzogKHBsdWdpbl9pbml0KToKCSAgKiBnc3QvcnRwL2dzdHJ0cGR2ZGVwYXkuYzogKGdzdF9ydHBfZHZfZGVwYXlfYmFzZV9pbml0KSwKCSAgKGdzdF9ydHBfZHZfZGVwYXlfY2xhc3NfaW5pdCksIChnc3RfcnRwX2R2X2RlcGF5X2luaXQpLAoJICAocGFyc2VfZW5jb2RlKSwgKGdzdF9ydHBfZHZfZGVwYXlfc2V0Y2FwcyksCgkgIChjYWxjdWxhdGVfZGlmYmxvY2tfbG9jYXRpb24pLCAoZ3N0X3J0cF9kdl9kZXBheV9wcm9jZXNzKSwKCSAgKGdzdF9ydHBfZHZfZGVwYXlfcmVzZXQpLCAoZ3N0X3J0cF9kdl9kZXBheV9jaGFuZ2Vfc3RhdGUpLAoJICAoZ3N0X3J0cF9kdl9kZXBheV9wbHVnaW5faW5pdCk6CgkgICogZ3N0L3J0cC9nc3RydHBkdmRlcGF5Lmg6CgkgICogZ3N0L3J0cC9nc3RydHBkdnBheS5jOiAoZ3N0X2R2X3BheV9tb2RlX2dldF90eXBlKSwKCSAgKGdzdF9ydHBfZHZfcGF5X2Jhc2VfaW5pdCksIChnc3RfcnRwX2R2X3BheV9jbGFzc19pbml0KSwKCSAgKGdzdF9ydHBfZHZfcGF5X2luaXQpLCAoZ3N0X2R2X3BheV9zZXRfcHJvcGVydHkpLAoJICAoZ3N0X2R2X3BheV9nZXRfcHJvcGVydHkpLCAoZ3N0X3J0cF9kdl9wYXlfc2V0Y2FwcyksCgkgIChnc3RfZHZfcGF5X25lZ290aWF0ZSksIChpbmNsdWRlX2RpZiksCgkgIChnc3RfcnRwX2R2X3BheV9oYW5kbGVfYnVmZmVyKSwgKGdzdF9ydHBfZHZfcGF5X3BsdWdpbl9pbml0KToKCSAgKiBnc3QvcnRwL2dzdHJ0cGR2cGF5Lmg6CgkgIEFkZCBEViBwYXkgYW5kIGRlcGF5bG9hZGVycy4gRml4ZXMgIzUzMjQyMy4KCjIwMDgtMDUtMTIgMTY6MzU6MzkgKzAwMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSAgZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6IENvbnZlcnQgc3VidGl0bGUgcGFsZXR0ZSBpbmZvIGluIFZvYlN1YiBwcml2YXRlIGRhdGEgZnJvbSBWb2JTdWIncyAoYnVnZ3kpIFJHQiB0byBZVVYuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICAoZ3N0X21hdHJvc2thX2RlbXV4X3B1c2hfZHZkX2NsdXRfY2hhbmdlX2V2ZW50KToKCSAgQ29udmVydCBzdWJ0aXRsZSBwYWxldHRlIGluZm8gaW4gVm9iU3ViIHByaXZhdGUgZGF0YSBmcm9tIFZvYlN1YidzCgkgIChidWdneSkgUkdCIHRvIFlVVi4KCjIwMDgtMDUtMTIgMTU6MjY6MDEgKzAwMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSAgZ3N0L2F2aS9nc3RhdmltdXguYzogRG8gbm90IGxlYXZlIGZvdXJjYyBzdHJlYW0gaGVhZGVyIGZpZWxkIGVtcHR5IHVwb24gcmVzZXQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdmkvZ3N0YXZpbXV4LmM6IChnc3RfYXZpX211eF9wYWRfcmVzZXQpOgoJICBEbyBub3QgbGVhdmUgZm91cmNjIHN0cmVhbSBoZWFkZXIgZmllbGQgZW1wdHkgdXBvbiByZXNldC4KCSAgRml4ZXMgIzUxOTMwMS4KCjIwMDgtMDUtMTEgMTQ6NDM6MjYgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgQWRkIGdvb20yazEgaW50byB0aGUgZG9jcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1kb2NzLnNnbWw6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20ueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tMmsxLnhtbDoKCSAgKiBnc3QvZ29vbS9nc3Rnb29tLmM6CgkgICogZ3N0L2dvb20yazEvZ3N0Z29vbS5jOgoJICBBZGQgZ29vbTJrMSBpbnRvIHRoZSBkb2NzLgoKMjAwOC0wNS0wOCAxNjo1ODowMiArMDAwMCAgV291dGVyIENsb2V0ZW5zIDx3b3V0ZXJAbWluZC5iZT4KCgkgIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogU3VwcG9ydCBEaWdlc3QgYXV0aGVudGljYXRpb24uIEZpeGVzICM1MzIwNjUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBCYXNlZCBvbiBwYXRjaCBieTogV291dGVyIENsb2V0ZW5zICA8d291dGVyIGF0IG1pbmQgYmU+CgkgICogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiAoZ3N0X3J0c3BzcmNfaW5pdCksCgkgIChnc3RfcnRzcHNyY19za2lwX2x3cyksIChnc3RfcnRzcHNyY191bnNraXBfbHdzKSwKCSAgKGdzdF9ydHNwc3JjX3NraXBfY29tbWFzKSwgKGdzdF9ydHNwc3JjX3NraXBfaXRlbSksCgkgIChnc3RfcnRzcF9kZWNvZGVfcXVvdGVkX3N0cmluZyksCgkgIChnc3RfcnRzcHNyY19wYXJzZV9kaWdlc3RfY2hhbGxlbmdlKSwgKGdzdF9ydHNwc3JjX3BhcnNlX2F1dGhfaGRyKSwKCSAgKGdzdF9ydHNwc3JjX3NldHVwX2F1dGgpOgoJICBTdXBwb3J0IERpZ2VzdCBhdXRoZW50aWNhdGlvbi4gRml4ZXMgIzUzMjA2NS4KCjIwMDgtMDUtMDggMTA6MjA6NTIgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC9sZXZlbC9nc3RsZXZlbC5jOiBBbHNvIHN1cHBvcnQgMzJiaXQgKGUuZy4gd2hlIGhhdmluZyBpdCBhZnRlciAnbWFkJykuIEFkZCBtb3JlIG5vdGVzIGFib3V0IHdoYXRzIG5lZWRlZCBmb3IgbGliby4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbGV2ZWwvZ3N0bGV2ZWwuYzoKCSAgQWxzbyBzdXBwb3J0IDMyYml0IChlLmcuIHdoZSBoYXZpbmcgaXQgYWZ0ZXIgJ21hZCcpLiBBZGQgbW9yZSBub3RlcwoJICBhYm91dCB3aGF0cyBuZWVkZWQgZm9yIGxpYm9pbCBhY2NlbGVyYXRpb24uIFNpbXBsaWZ5IGRvY3MgYSBiaXQuCgoyMDA4LTA1LTA4IDA4OjE1OjM0ICswMDAwICBTam9lcmQgU2ltb25zIDxzam9lcmRAbHVvbi5uZXQ+CgoJICBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6IFVwZGF0ZSB0aGUgdHJhY2sgZHVyYXRpb24gaWYgdGhlIG9sZCBvbmUgd2FzIGludmFsaWQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogU2pvZXJkIFNpbW9ucyA8c2pvZXJkIGF0IGx1b24gZG90IG5ldD4KCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6IChnc3RfbWF0cm9za2FfbXV4X2NvbGxlY3RlZCk6CgkgIFVwZGF0ZSB0aGUgdHJhY2sgZHVyYXRpb24gaWYgdGhlIG9sZCBvbmUgd2FzIGludmFsaWQuCgkgIEZpeGVzIGJ1ZyAjNTMyMTE3LgoKMjAwOC0wNS0wNyAxNjozNjowNCArMDAwMCAgT2xlIEFuZHLDqSBWYWRsYSBSYXZuw6VzIDxvbGUuYW5kcmUucmF2bmFzQHRhbmRiZXJnLmNvbT4KCgkgIGdzdC9ydHAvZ3N0cnRwaDI2NHBheS5jIChnc3RfcnRwX2gyNjRfcGF5X3BhcnNlX3Nwc19wcHMpOiBVc2UgR1NUX1NUUl9OVUxMIHdoZW4gdHJ5aW5nIHRvIHByaW50IHNwcyBhbmQgcHBzIHN0cmluZ3MgdC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwL2dzdHJ0cGgyNjRwYXkuYyAoZ3N0X3J0cF9oMjY0X3BheV9wYXJzZV9zcHNfcHBzKToKCSAgVXNlIEdTVF9TVFJfTlVMTCB3aGVuIHRyeWluZyB0byBwcmludCBzcHMgYW5kIHBwcyBzdHJpbmdzIHRoYXQgY291bGQKCSAgYmUgTlVMTCwgYXMgdGhpcyBtaWdodCBjcmFzaCBvbiBzb21lIHBsYXRmb3Jtcy4KCjIwMDgtMDUtMDcgMTU6MzM6NTIgKzAwMDAgIEhhYWtvbiBTcG9yc2hlaW0gPGhhYWtvbi5zcG9yc2hlaW1AdGFuZGJlcmcuY29tPgoKCSAgc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuYyAoZ3N0X2RpcmVjdGRyYXdfc2lua19zZXR1cF9kZHJhdyk6IERvIElEaXJlY3REcmF3Q2xpcHBlcl9TZXRIV25kKCkgaWYgdGhlIHdpbmRvdyBJLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBwYXRjaCBieTogSGFha29uIFNwb3JzaGVpbSA8aGFha29uLnNwb3JzaGVpbSBhdCB0YW5kYmVyZyBjb20+CgkgICogc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuYyAoZ3N0X2RpcmVjdGRyYXdfc2lua19zZXR1cF9kZHJhdyk6CgkgIERvIElEaXJlY3REcmF3Q2xpcHBlcl9TZXRIV25kKCkgaWYgdGhlIHdpbmRvdyBJRCBoYXMgYWxyZWFkeSBiZWVuCgkgIHNldCBhZnRlciBjcmVhdGluZyB0aGUgY2xpcHBlci4KCjIwMDgtMDUtMDcgMTU6Mjg6MDYgKzAwMDAgIEhhYWtvbiBTcG9yc2hlaW0gPGhhYWtvbi5zcG9yc2hlaW1AdGFuZGJlcmcuY29tPgoKCSAgc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuYyAoZ3N0X2RpcmVjdGRyYXdfc2lua19zaG93X2ZyYW1lKTogQWRkZWQgY2hlY2tpbmcgb2Ygc3VyZmFjZSBsb3N0IGNhc2UgYWZ0ZXIgYW4gdW5zLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBwYXRjaCBieTogSGFha29uIFNwb3JzaGVpbSA8aGFha29uLnNwb3JzaGVpbSBhdCB0YW5kYmVyZyBjb20+CgkgICogc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuYyAoZ3N0X2RpcmVjdGRyYXdfc2lua19zaG93X2ZyYW1lKToKCSAgQWRkZWQgY2hlY2tpbmcgb2Ygc3VyZmFjZSBsb3N0IGNhc2UgYWZ0ZXIgYW4gdW5zdWNjZXNzZnVsCgkgIElEaXJlY3REcmF3U3VyZmFjZTdfTG9jaygpIGNhbGwuCgkgIElmIHN1cmZhY2UgaXMgbG9zdCwgcmV0dXJuIEdTVF9GTE9XX09LLgoKMjAwOC0wNS0wNyAxNToxOTo0NyArMDAwMCAgSGFha29uIFNwb3JzaGVpbSA8aGFha29uLnNwb3JzaGVpbUB0YW5kYmVyZy5jb20+CgoJKiBDaGFuZ2VMb2c6CgkqIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmM6CgkgIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmMgKGdzdF9kaXJlY3RkcmF3X3Npbmtfc2hvd19mcmFtZSwKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHBhdGNoIGJ5OiBIYWFrb24gU3BvcnNoZWltIDxoYWFrb24uc3BvcnNoZWltIGF0IHRhbmRiZXJnIGNvbT4KCSAgKiBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5jIChnc3RfZGlyZWN0ZHJhd19zaW5rX3Nob3dfZnJhbWUsCgkgIFduZFByb2MsIGdzdF9kaXJlY3RkcmF3X3Npbmtfd2luZG93X3RocmVhZCk6CgkgIEltcHJvdmVkIFdpbmRvd3MgbWVzc2FnZSBsb29wIGFuZCBmaXhlZCB3aW5kb3cgZGVzdHJ1Y3Rpb24gaXNzdWUuCgkgIFdoZW4gdGhlIHdpbmRvdyB3aGljaCBEaXJlY3REcmF3IGlzIHJlbmRlcmluZyB0byBpcyBkZXN0cm95ZWQsIHRoZQoJICByZW5kZXIvc2hvd19mcmFtZSBmdW5jdGlvbiB3aWxsIHJldHVybiBHU1RfRkxPV19FUlJPUi4KCSAgUGFydGlhbGx5IGZpeGVzICM1MjA4ODUuCgoyMDA4LTA1LTA3IDE1OjA5OjEwICswMDAwICBIYWFrb24gU3BvcnNoZWltIDxoYWFrb24uc3BvcnNoZWltQHRhbmRiZXJnLmNvbT4KCgkgIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmMgKGdzdF9kaXJlY3RkcmF3X3Npbmtfc2V0X2NhcHMpOiBGaXhlZCBtaWQgc3RyZWFtIHJlc29sdXRpb24gY2hhbmdlIGJ1ZywgdGhlIG9mZnNjci4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgcGF0Y2ggYnk6IEhhYWtvbiBTcG9yc2hlaW0gPGhhYWtvbi5zcG9yc2hlaW0gYXQgdGFuZGJlcmcgY29tPgoJICAqIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmMgKGdzdF9kaXJlY3RkcmF3X3Npbmtfc2V0X2NhcHMpOgoJICBGaXhlZCBtaWQgc3RyZWFtIHJlc29sdXRpb24gY2hhbmdlIGJ1ZywgdGhlIG9mZnNjcmVlbiBzdXJmYWNlIGlzIG5vdwoJICByZWxlYXNlZCB3aGVuIHNldF9jYXBzIGlzIGNhbGxlZC4KCSAgUGFydGlhbGx5IGZpeGVzICM1MjA4ODUuCgoyMDA4LTA1LTA3IDE0OjU2OjIyICswMDAwICBPbGUgQW5kcsOpIFZhZGxhIFJhdm7DpXMgPG9sZS5hbmRyZS5yYXZuYXNAdGFuZGJlcmcuY29tPgoKCSogQ2hhbmdlTG9nOgoJKiBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5jOgoJICBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5jCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmMKCSAgKGdzdF9kaXJlY3RkcmF3X3NpbmtfYnVmZmVyX2FsbG9jKToKCSAgTWFrZSBpdCBzbyB0aGF0IGdzdF9kaXJlY3RkcmF3X3NpbmtfYnVmZmVyX2FsbG9jIHVzZXMgdGhlIHJpZ2h0CgkgIHdpZHRoL2hlaWdodC4KCSAgRXNwZWNpYWxseSB3aGVuIGxvb2tpbmcgdGhyb3VnaCB0aGUgcG9vbCBvZiBidWZmZXJzLCBtYWtlIHN1cmUgdGhhdAoJICB0aGUgd2lkdGgvaGVpZ2h0IG9mIGNhcHMgaXMgdXNlZCBpbnN0ZWFkIG9mIHRoZSBhbHJlYWR5IG5lZ290aWF0ZWQKCSAgZGltZW5zaW9ucy4KCSAgRm9yIGV4YW1wbGUgaWYgYSBidWZmZXIgd2l0aCBkaWZmZXJlbnQgY2FwcyBpcyByZXF1ZXN0ZWQsIGkuZS4KCSAgaGlnaGVyIHJlc29sdXRpb24sIHRoZSBjYWxsZXIgd291bGQgZ2V0IGEgYnVmZmVyIHdpdGggdGhlIG9sZAoJICBkaW1lbnNpb25zIGFuZCB0aHVzIGNvcnJ1cHQgdGhlIGhlYXAuCgoyMDA4LTA1LTA3IDE0OjQzOjM5ICswMDAwICBPbGUgQW5kcsOpIFZhZGxhIFJhdm7DpXMgPG9sZS5hbmRyZS5yYXZuYXNAdGFuZGJlcmcuY29tPgoKCSogc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuYzoKCSAgc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuYwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5jCgkgIChnc3RfZGlyZWN0ZHJhd19zaW5rX2J1ZmZlcl9hbGxvYyk6CgkgIENsZWFyIHRoZSBmbGFncyBvbiByZWN5Y2xlZCBidWZmZXJzIGZyb20gYnVmZmVyX2FsbG9jLgoJICBQYXJ0aWFsbHkgZml4ZXMgIzUyMDg4NS4KCSAgVGhlIHJpZ2h0IGZpeCB0aGlzIHRpbWUuCgoyMDA4LTA1LTA3IDE0OjM5OjQ1ICswMDAwICBPbGUgQW5kcsOpIFZhZGxhIFJhdm7DpXMgPG9sZS5hbmRyZS5yYXZuYXNAdGFuZGJlcmcuY29tPgoKCSogc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuYzoKCSAgc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuYwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5jCgkgIChnc3RfZGlyZWN0ZHJhd19zaW5rX2J1ZmZlcl9hbGxvYyk6CgkgIFJldmVydGluZyBwcmV2aW91cyBjb21taXQsIGl0IGhhZCBpdCBhbGwgbWl4ZWQgdXAsIHdhcyBmb3IgYSBkaWZmZXJlbnQKCSAgcGF0Y2ggKG1ham9yIGF1dG9tYXRpb24gc2NyZXctdXApLiBTb3JyeSEKCjIwMDgtMDUtMDcgMTM6NDg6MjggKzAwMDAgIE9sZSBBbmRyw6kgVmFkbGEgUmF2bsOlcyA8b2xlLmFuZHJlLnJhdm5hc0B0YW5kYmVyZy5jb20+CgoJKiBDaGFuZ2VMb2c6CgkqIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmM6CgkgIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuYwoJICAoZ3N0X2RpcmVjdGRyYXdfc2lua19idWZmZXJfYWxsb2MpOgoJICBDbGVhciB0aGUgZmxhZ3Mgb24gcmVjeWNsZWQgYnVmZmVycyBmcm9tIGJ1ZmZlcl9hbGxvYy4KCSAgUGFydGlhbGx5IGZpeGVzICM1MjA4ODUuCgoyMDA4LTA1LTA3IDExOjIyOjUxICswMDAwICBPbGUgQW5kcsOpIFZhZGxhIFJhdm7DpXMgPG9sZS5hbmRyZS5yYXZuYXNAdGFuZGJlcmcuY29tPgoKCSAgZ3N0L3J0cC9nc3RydHBpbGJjcGF5LmM6IEFkZGVkIG1pc3Npbmcgc3RkbGliLmggaW5jbHVkZSBmb3Igc3RydG9sKCksIGFuZCBtYWRlIGluY2x1ZGUgb3JkZXJpbmcgYW5kIHN0eWxlIGNvbnNpc3RlbnQgLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHAvZ3N0cnRwaWxiY3BheS5jOgoJICBBZGRlZCBtaXNzaW5nIHN0ZGxpYi5oIGluY2x1ZGUgZm9yIHN0cnRvbCgpLCBhbmQgbWFkZSBpbmNsdWRlIG9yZGVyaW5nIGFuZAoJICBzdHlsZSBjb25zaXN0ZW50IHdpdGggdGhlIGNvcnJlc3BvbmRpbmcgZGVwYXlsb2FkZXIuCgoyMDA4LTA1LTA3IDA5OjUyOjM0ICswMDAwICBPbGUgQW5kcsOpIFZhZGxhIFJhdm7DpXMgPG9sZS5hbmRyZS5yYXZuYXNAdGFuZGJlcmcuY29tPgoKCSAgZ3N0L3J0cC9nc3RydHBpbGJjcGF5LmM6IEFkZGVkIG1pc3Npbmcgc3RkbGliLmggaW5jbHVkZSBmb3Igc3RydG9sKCksIGFuZCBtYWRlIGluY2x1ZGUgb3JkZXJpbmcgYW5kIHN0eWxlIGNvbnNpc3RlbnQgLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHAvZ3N0cnRwaWxiY3BheS5jOgoJICBBZGRlZCBtaXNzaW5nIHN0ZGxpYi5oIGluY2x1ZGUgZm9yIHN0cnRvbCgpLCBhbmQgbWFkZSBpbmNsdWRlIG9yZGVyaW5nIGFuZAoJICBzdHlsZSBjb25zaXN0ZW50IHdpdGggdGhlIGNvcnJlc3BvbmRpbmcgZGVwYXlsb2FkZXIuCgoyMDA4LTA1LTA3IDA4OjAzOjUxICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgY29uZmlndXJlLmFjOiBFcnJvciBvdXQgaWYgd2UgZG9uJ3QgaGF2ZSB0aGUgcmVxdWlyZWQgY29yZS9iYXNlIHZlcnNpb25zLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIEVycm9yIG91dCBpZiB3ZSBkb24ndCBoYXZlIHRoZSByZXF1aXJlZCBjb3JlL2Jhc2UgdmVyc2lvbnMuCgoyMDA4LTA1LTA2IDA5OjMzOjQ2ICswMDAwICBUaGlqcyBWZXJtZWlyIDx0aGlqc3Zlcm1laXJAZ21haWwuY29tPgoKCSAgc3lzL29zeHZpZGVvL2NvY29hd2luZG93Lm06IEZpeCBjb21waWxlciB3YXJuaW5ncyBvbiBQUEM2NC4gRml4ZXMgYnVnICM0OTkzMTguCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogVGhpanMgVmVybWVpciA8dGhpanN2ZXJtZWlyIGF0IGdtYWlsIGRvdCBjb20+CgkgICogc3lzL29zeHZpZGVvL2NvY29hd2luZG93Lm06CgkgIEZpeCBjb21waWxlciB3YXJuaW5ncyBvbiBQUEM2NC4gRml4ZXMgYnVnICM0OTkzMTguCgoyMDA4LTA1LTA1IDExOjE5OjEzICswMDAwICBTam9lcmQgU2ltb25zIDxzam9lcmRAbHVvbi5uZXQ+CgoJICBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IERvbid0IGxlYWsgZmlsZSBkZXNjcmlwdG9ycyBvbiBlcnJvci4gRml4ZXMgIzUzMTUzMi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBTam9lcmQgU2ltb25zIDxzam9lcmQgYXQgbHVvbiBkb3QgbmV0PgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogKGdzdF9ydHNwc3JjX2luaXQpLCAoZ3N0X3J0c3BzcmNfb3Blbik6CgkgIERvbid0IGxlYWsgZmlsZSBkZXNjcmlwdG9ycyBvbiBlcnJvci4gRml4ZXMgIzUzMTUzMi4KCjIwMDgtMDUtMDMgMDk6MTg6MjIgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGV4dC9nY29uZi86IFdoZW4gd2UgY2FuJ3QgY3JlYXRlIGEgZmFrZXNpbmsvZmFrZXNyYyBjb21wbGFpbiBpbnN0ZWFkIG9mIHVucmVmZmluZwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZ2NvbmYvZ3N0Z2NvbmZhdWRpb3NyYy5jOiAoZ3N0X2djb25mX2F1ZGlvX3NyY19yZXNldCksCgkgIChnc3RfZ2NvbmZfYXVkaW9fc3JjX2NoYW5nZV9zdGF0ZSk6CgkgICogZXh0L2djb25mL2dzdGdjb25mdmlkZW9zaW5rLmM6IChnc3RfZ2NvbmZfdmlkZW9fc2lua19yZXNldCksCgkgIChnc3RfZ2NvbmZfdmlkZW9fc2lua19jaGFuZ2Vfc3RhdGUpOgoJICAqIGV4dC9nY29uZi9nc3RnY29uZnZpZGVvc3JjLmM6IChnc3RfZ2NvbmZfdmlkZW9fc3JjX3Jlc2V0KSwKCSAgKGdzdF9nY29uZl92aWRlb19zcmNfY2hhbmdlX3N0YXRlKToKCSAgKiBleHQvZ2NvbmYvZ3N0c3dpdGNoc2luay5jOiAoZ3N0X3N3aXRjaF9zaW5rX3Jlc2V0KSwKCSAgKGdzdF9zd2l0Y2hfY29tbWl0X25ld19raWQpLCAoZ3N0X3N3aXRjaF9zaW5rX2NoYW5nZV9zdGF0ZSk6CgkgIFdoZW4gd2UgY2FuJ3QgY3JlYXRlIGEgZmFrZXNpbmsvZmFrZXNyYyBjb21wbGFpbiBpbnN0ZWFkIG9mIHVucmVmZmluZwoJICBOVUxMIHBvaW50ZXJzIGFuZCBjcmFzaGluZyBsYXRlci4gU2VlIGJ1ZyAjNTMwNTM1LgoKMjAwOC0wNS0wMiAxMjo0NDoxOCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHAvZ3N0cnRwaDI2M3BkZXBheS5jOiBBZGQgc29tZSBtb3JlIGRlYnVnIGluZm8gYW5kIGd1YXJkIGFnYWluc3Qgc21hbGwgcGF5bG9hZHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHAvZ3N0cnRwaDI2M3BkZXBheS5jOiAoZ3N0X3J0cF9oMjYzcF9kZXBheV9wcm9jZXNzKToKCSAgQWRkIHNvbWUgbW9yZSBkZWJ1ZyBpbmZvIGFuZCBndWFyZCBhZ2FpbnN0IHNtYWxsIHBheWxvYWRzLgoJICAqIGdzdC9ydHAvZ3N0cnRwcGNtdWRlcGF5LmM6IChnc3RfcnRwX3BjbXVfZGVwYXlfcHJvY2Vzcyk6CgkgIFNldCBkdXJhdGlvbiBvbiBvdXRnb2luZyBidWZmZXJzIGJlY2F1c2Ugd2UgY2FuLgoKMjAwOC0wNS0wMiAxMjozOTowMyArMDAwMCAgT2xpdmllciBDcmV0ZSA8dGVzdGVyQHRlc3Rlci5jYT4KCgkgIGV4dC9zcGVleC9nc3RzcGVleGVuYy5jOiBBZGQgbmVnb3RpYXRpb24gZm9yIHRoZSBzcGVleCBjaGFubmVscyBhbmQgcmF0ZS4gRml4ZXMgIzQ2NTE0Ni4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBPbGl2aWVyIENyZXRlIDx0ZXN0ZXIgYXQgdGVzdGVyIGRvdCBjYT4KCSAgKiBleHQvc3BlZXgvZ3N0c3BlZXhlbmMuYzogKGdzdF9zcGVleF9lbmNfc2lua19nZXRjYXBzKSwKCSAgKGdzdF9zcGVleF9lbmNfaW5pdCksIChnc3Rfc3BlZXhfZW5jX2NoYWluKToKCSAgQWRkIG5lZ290aWF0aW9uIGZvciB0aGUgc3BlZXggY2hhbm5lbHMgYW5kIHJhdGUuIEZpeGVzICM0NjUxNDYuCgoyMDA4LTA1LTAyIDEyOjM0OjIyICswMDAwICBPbGl2aWVyIENyZXRlIDx0ZXN0ZXJAdGVzdGVyLmNhPgoKCSAgZ3N0L3J0cC9nc3RydHBzcGVleHBheS5jOiBBZGQgbmVnb3RpYXRpb24gZm9yIHRoZSBzcGVlYyBjaGFubmVscyBhbmQgcmF0ZS4gU2VlICM0NjUxNDYuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogT2xpdmllciBDcmV0ZSA8dGVzdGVyIGF0IHRlc3RlciBkb3QgY2E+CgkgICogZ3N0L3J0cC9nc3RydHBzcGVleHBheS5jOiAoZ3N0X3J0cF9zcGVleF9wYXlfY2xhc3NfaW5pdCksCgkgIChnc3RfcnRwX3NwZWV4X3BheV9nZXRjYXBzKToKCSAgQWRkIG5lZ290aWF0aW9uIGZvciB0aGUgc3BlZWMgY2hhbm5lbHMgYW5kIHJhdGUuIFNlZSAjNDY1MTQ2LgoKMjAwOC0wNS0wMiAxMjoyNDo1NSArMDAwMCAgT2xpdmllciBDcmV0ZSA8dGVzdGVyQHRlc3Rlci5jYT4KCgkgIGdzdC9ydHAvZ3N0cnRwaWxiY3BheS5jOiBBZGQgbmVnb3RpYXRpb24gZm9yIHRoZSBJTEJDIG1vZGUuIFNlZSAjNDY1MTQ2LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IE9saXZpZXIgQ3JldGUgPHRlc3RlciBhdCB0ZXN0ZXIgZG90IGNhPgoJICAqIGdzdC9ydHAvZ3N0cnRwaWxiY3BheS5jOiAoZ3N0X3J0cGlsYmNwYXlfY2xhc3NfaW5pdCksCgkgIChnc3RfcnRwaWxiY3BheV9zaW5rX3NldGNhcHMpLCAoZ3N0X3J0cGlsYmNwYXlfc2lua19nZXRjYXBzKToKCSAgQWRkIG5lZ290aWF0aW9uIGZvciB0aGUgSUxCQyBtb2RlLiBTZWUgIzQ2NTE0Ni4KCjIwMDgtMDUtMDIgMTE6MzI6MzEgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6IEluY2x1ZGUgc3RkbGliIHRvIGZpeCB0aGUgYnVpbGQuIFVzZSBnX2ZyZWUgaW5zdGVhZCBvZiBmcmVlLCBsaWJzb3VwIHVzZXMgZ2xpYi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzoKCSAgSW5jbHVkZSBzdGRsaWIgdG8gZml4IHRoZSBidWlsZC4gVXNlIGdfZnJlZSBpbnN0ZWFkIG9mIGZyZWUsIGxpYnNvdXAKCSAgdXNlcyBnbGliLgoKMjAwOC0wNS0wMiAwOTowOTo1OCArMDAwMCAgal4gPGpAYm9vdGxhYi5vcmc+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IEFkZCBtb3JlIG1wZWcyIHZhcmlhbnRzLiBGaXhlcyAjNTMwODg2LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IGpeIDxqQGJvb3RsYWIub3JnPgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKHF0ZGVtdXhfdmlkZW9fY2Fwcyk6CgkgIEFkZCBtb3JlIG1wZWcyIHZhcmlhbnRzLiBGaXhlcyAjNTMwODg2LgoKMjAwOC0wNS0wMSAxMDo1MjoxMSArMDAwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkgIGdzdC91ZHAvZ3N0dWRwc3JjLmM6IERvbid0IGVycm9yIG91dCBpZiB3ZSBnZXQgYW4gSUNNUCBkZXN0aW5hdGlvbi11bnJlYWNoYWJsZSBtZXNzYWdlIHdoZW4gdHJ5aW5nIHRvIHJlYWQgcGFja2V0cyBvbi4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aSBhdCBjb2xsYWJvcmEgY28gdWs+CgkgICogZ3N0L3VkcC9nc3R1ZHBzcmMuYzogKGdzdF91ZHBzcmNfY3JlYXRlKToKCSAgRG9uJ3QgZXJyb3Igb3V0IGlmIHdlIGdldCBhbiBJQ01QIGRlc3RpbmF0aW9uLXVucmVhY2hhYmxlCgkgIG1lc3NhZ2Ugd2hlbiB0cnlpbmcgdG8gcmVhZCBwYWNrZXRzIG9uIHdpbjMyICgjNTI5NDU0KS4KCjIwMDgtMDQtMzAgMTI6MTg6NDEgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBVc2UgbmV3IGVycm9yIGNvZGUgZm9yIGVuY3J5cHRlZCBzdHJlYW1zICh3aGljaCByZXF1aXJlcyBjb3JlIENWUykuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChxdGRlbXV4X3BhcnNlX3RyYWspOgoJICBVc2UgbmV3IGVycm9yIGNvZGUgZm9yIGVuY3J5cHRlZCBzdHJlYW1zICh3aGljaCByZXF1aXJlcyBjb3JlIENWUykuCgoyMDA4LTA0LTMwIDEyOjEwOjAyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBGaXggc3dhcHBlZCBwYWQgdGVtcGxhdGUgbmFtZXMsIHNwb3R0ZWQgYnkgVGhpYWdvIFNvdXNhIFNhbnRvcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAoZ3N0X3F0ZGVtdXhfdmlkZW9zcmNfdGVtcGxhdGUpLAoJICAoZ3N0X3F0ZGVtdXhfYXVkaW9zcmNfdGVtcGxhdGUpOgoJICBGaXggc3dhcHBlZCBwYWQgdGVtcGxhdGUgbmFtZXMsIHNwb3R0ZWQgYnkgVGhpYWdvIFNvdXNhIFNhbnRvcy4KCjIwMDgtMDQtMzAgMDk6NDg6MTEgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBleHQvc3BlZXgvZ3N0c3BlZXhkZWMuYzogUHJvZHVjZSBjb25jZWFsbWVudCBkYXRhIHdoZW4gdGltZSBwcm9ncmVzc2VzIGluIGEgc2VnbWVudCB1cGRhdGUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9zcGVleC9nc3RzcGVleGRlYy5jOiAoc3BlZXhfZGVjX3NpbmtfZXZlbnQpLAoJICAoc3BlZXhfZGVjX2NoYWluX3BhcnNlX2RhdGEpOgoJICBQcm9kdWNlIGNvbmNlYWxtZW50IGRhdGEgd2hlbiB0aW1lIHByb2dyZXNzZXMgaW4gYSBzZWdtZW50IHVwZGF0ZS4KCjIwMDgtMDQtMjkgMTQ6MTE6NDUgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBleHQvc3BlZXgvZ3N0c3BlZXhkZWMuYzogVHJ5IHRvIHByZXNlcnZlIGlucHV0IHRpbWVzdGFtcHMgd2hlbiB3ZSBjYW4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9zcGVleC9nc3RzcGVleGRlYy5jOiAoc3BlZXhfZGVjX2NoYWluX3BhcnNlX2RhdGEpLAoJICAoc3BlZXhfZGVjX2NoYWluKToKCSAgVHJ5IHRvIHByZXNlcnZlIGlucHV0IHRpbWVzdGFtcHMgd2hlbiB3ZSBjYW4uCgkgIERvIGJlZ2lubmluZ3Mgb2YgZXJyb3IgY29uY2VhbG1lbnQuCgoyMDA4LTA0LTI4IDIyOjM4OjExICswMDAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAeGlwaC5vcmc+CgoJICBnc3QvZGVidWcvZ3N0bmF2aWdhdGlvbnRlc3QuYzogTVNWQyBkb2Vzbid0IHByb3ZpZGUgcmludCgpLCBkZWZpbmUgYW4gYWRlcXVhdGUgcmVwbGFjZW1lbnQgbG9jYWxseSBhcyBlbHNld2hlcmUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9kZWJ1Zy9nc3RuYXZpZ2F0aW9udGVzdC5jOgoJICBNU1ZDIGRvZXNuJ3QgcHJvdmlkZSByaW50KCksIGRlZmluZSBhbiBhZGVxdWF0ZSByZXBsYWNlbWVudCBsb2NhbGx5IGFzCgkgIGVsc2V3aGVyZS4KCjIwMDgtMDQtMjggMTE6MTY6MzIgKzAwMDAgIEp1bGllbiBNb3V0dGUgPGp1bGllbkBtb3V0dGUubmV0PgoKCSAgZ3N0L2RlYnVnL3JuZGJ1ZmZlcnNpemUuYzogRml4IHByaW50ZiBmb3JtYXQgdG8gcGFjaWZ5IE1hYyBPU1gncyBnY2MuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA4LTA0LTI4ICBKdWxpZW4gTW91dHRlICA8anVsaWVuQGZsdWVuZG8uY29tPgoJICAqIGdzdC9kZWJ1Zy9ybmRidWZmZXJzaXplLmM6IChnc3Rfcm5kX2J1ZmZlcl9zaXplX2xvb3ApOiBGaXggcHJpbnRmCgkgIGZvcm1hdCB0byBwYWNpZnkgTWFjIE9TWCdzIGdjYy4KCjIwMDgtMDQtMjUgMTk6MzQ6MzEgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvZGVidWcvcm5kYnVmZmVyc2l6ZS5jOiBCcmluZyBybmRidWZmZXJzaXplIGVsZW1lbnQgaW50byBhIHN0YXRlIHRoYXQgZG9lc24ndCByZXF1aXJlIHVzIHRvIG1vdmUgaXQgdG8gLWJhZCBpbW1lZGkuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2RlYnVnL3JuZGJ1ZmZlcnNpemUuYzogKERFRkFVTFRfU0VFRCksIChERUZBVUxUX01JTiksCgkgIChERUZBVUxUX01BWCksIChzcmNfdGVtcGxhdGUpLCAoc2lua190ZW1wbGF0ZSksCgkgIChnc3Rfcm5kX2J1ZmZlcl9zaXplX2Jhc2VfaW5pdCksIChnc3Rfcm5kX2J1ZmZlcl9zaXplX2NsYXNzX2luaXQpLAoJICAoZ3N0X3JuZF9idWZmZXJfc2l6ZV9pbml0KSwgKGdzdF9ybmRfYnVmZmVyX3NpemVfYWN0aXZhdGUpLAoJICAoZ3N0X3JuZF9idWZmZXJfc2l6ZV9sb29wKSwgKGdzdF9ybmRfYnVmZmVyX3NpemVfcGx1Z2luX2luaXQpOgoJICBCcmluZyBybmRidWZmZXJzaXplIGVsZW1lbnQgaW50byBhIHN0YXRlIHRoYXQgZG9lc24ndCByZXF1aXJlIHVzCgkgIHRvIG1vdmUgaXQgdG8gLWJhZCBpbW1lZGlhdGVseS4gRm9yIG9uZSwgZml4IHVwIGRlZmF1bHQgbWluL21heAoJICB2YWx1ZXMgc28gdGhhdCB0aGUgZWxlbWVudCBhY3R1YWxsIHdvcmtzIHVzaW5nIHRoZSBkZWZhdWx0IHZhbHVlcy4KCSAgQWxzbywgZG9uJ3QgaWdub3JlIGZsb3cgcmV0dXJuIHZhbHVlcyBhbmQgZG8gc29tZSBraW5kIG9mIG1pbmltYWwKCSAgZW9zIGxvZ2ljLiBBbGxvdyBtaW49bWF4IHRvIHB1bGwgZml4ZWQtc2l6ZWQgYnVmZmVycy4gQnVuY2ggb2YKCSAgb3RoZXIgZ3JhdHVpdGlvdXMgY2xlYW4tdXBzLgoKMjAwOC0wNC0yNSAxOToyNDowMCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGRvY3MvcGx1Z2lucy86IEFkZCBkb2NzIGZvciBnZGtwaXhidWZzaW5rOyB1cGRhdGUgZG9jcyB0byBDVlMgdmVyc2lvbi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtZG9jcy5zZ21sOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuYXJnczoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmhpZXJhcmNoeToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmludGVyZmFjZXM6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5wcmVyZXF1aXNpdGVzOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi0xMzk0LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWFzaW5rLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxhdy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGFjb2xvci54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFubm9kZXgueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hcGV0YWcueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb2Z4LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVwYXJzZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9kZXRlY3QueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdmkueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWNhc2luay54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhaXJvLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2Rpby54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWN1dHRlci54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVnLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHYueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmVuY2UueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmZlY3R2LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXF1YWxpemVyLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXNkc2luay54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsYWMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHhkZWMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nYW1tYS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdjb25mZWxlbWVudHMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZGtwaXhidWYueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taGFsZWxlbWVudHMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pY3lkZW11eC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlkM2RlbXV4LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanBlZy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxldmVsLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWF0cm9za2EueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tb25vc2NvcGUueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWxhdy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpZmlsZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpcGFydC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5hdmlnYXRpb250ZXN0LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzYXVkaW8ueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbmcueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1xdWlja3RpbWUueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHAueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHNwLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hvdXQyc2VuZC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNtcHRlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlY3RydW0ueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVleC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXRhZ2xpYi54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXVkcC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvNGxpbnV4Mi54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvYmFsYW5jZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvYm94LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9jcm9wLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9mbGlwLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9taXhlci54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdmVuYy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhY2sueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYXJzZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXhpbWFnZXNyYy54bWw6CgkgIEFkZCBkb2NzIGZvciBnZGtwaXhidWZzaW5rOyB1cGRhdGUgZG9jcyB0byBDVlMgdmVyc2lvbi4KCjIwMDgtMDQtMjUgMTg6NDU6MzMgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICB0ZXN0cy9leGFtcGxlcy9ydHAvc2VydmVyLXY0bDItSDI2NC1hbHNhc3JjLVBDTUEuc2g6IFJlbW92ZSB0ZXN0IHN5bmMtb2Zmc2V0IGJ5IGRlZmF1bHQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2V4YW1wbGVzL3J0cC9zZXJ2ZXItdjRsMi1IMjY0LWFsc2FzcmMtUENNQS5zaDoKCSAgUmVtb3ZlIHRlc3Qgc3luYy1vZmZzZXQgYnkgZGVmYXVsdC4KCjIwMDgtMDQtMjUgMTM6MzE6NDggKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvOiBVc2UgR0xpYiB2ZXJzaW9ucyBvZiBodG9ubCwgaHRvbnMsIG50b2hsIGFuZCBudG9ocyBpbiBvcmRlciB0byBhdm9pZCBwcm9ibGVtcyBvbiB3aW4zMiAoIzUyOTcwNykuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHAvZ3N0YXN0ZXJpc2toMjYzLmM6IChnc3RfYXN0ZXJpc2toMjYzX2NoYWluKToKCSAgKiBnc3QvdWRwL2dzdG11bHRpdWRwc2luay5jOiAoZ3N0X211bHRpdWRwc2lua19hZGRfaW50ZXJuYWwpOgoJICAqIGdzdC91ZHAvZ3N0dWRwc3JjLmM6IChnc3RfdWRwc3JjX3N0YXJ0KToKCSAgVXNlIEdMaWIgdmVyc2lvbnMgb2YgaHRvbmwsIGh0b25zLCBudG9obCBhbmQgbnRvaHMgaW4gb3JkZXIKCSAgdG8gYXZvaWQgcHJvYmxlbXMgb24gd2luMzIgKCM1Mjk3MDcpLgoKMjAwOC0wNC0yNSAxMjo1Mjo0NCArMDAwMCAgSmVzw7pzIENvcnJpdXMgPGplc3VzQHNvZnRjYXRhbGEub3JnPgoKCSAgZ3N0L2dvb20vOiBGaXggYnVpbGQgd2l0aCBtaW5ndzMyOiB1c2UgcmFuZCgpIGluc3RlYWQgb2YgcmFuZG9tKCkgYW5kIHJlcGxhY2UgYnplcm8oKSB3aXRoIG1lbXNldCgpLiBGaXhlcyAjNTI5NjkyLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IEplc8O6cyBDb3JyaXVzIDxqZXN1cyBhdCBzb2Z0Y2F0YWxhIG9yZz4KCSAgKiBnc3QvZ29vbS9maWx0ZXJzLmM6ICh6b29tVmVjdG9yKToKCSAgKiBnc3QvZ29vbS9nb29tX2NvcmUuYzogKGluaXRfYnVmZmVycyk6CgkgIEZpeCBidWlsZCB3aXRoIG1pbmd3MzI6IHVzZSByYW5kKCkgaW5zdGVhZCBvZiByYW5kb20oKSBhbmQKCSAgcmVwbGFjZSBiemVybygpIHdpdGggbWVtc2V0KCkuIEZpeGVzICM1Mjk2OTIuCgoyMDA4LTA0LTI1IDA3OjU2OjEyICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L2F2aS9nc3RhdmlkZW11eC5jOiBGaXggdHlwbyBpbiBjb21tZW50cy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOiAoZ3N0X2F2aV9kZW11eF9jb21iaW5lX2Zsb3dzKToKCSAgRml4IHR5cG8gaW4gY29tbWVudHMuCgkgICogdGVzdHMvZXhhbXBsZXMvcnRwL2NsaWVudC1IMjYzcC1QQ01BLnNkcDoKCSAgKiB0ZXN0cy9leGFtcGxlcy9ydHAvY2xpZW50LUgyNjNwLVBDTUEuc2g6CgkgICogdGVzdHMvZXhhbXBsZXMvcnRwL2NsaWVudC1IMjY0LVBDTUEuc2RwOgoJICAqIHRlc3RzL2V4YW1wbGVzL3J0cC9jbGllbnQtSDI2NC1QQ01BLnNoOgoJICAqIHRlc3RzL2V4YW1wbGVzL3J0cC9jbGllbnQtSDI2NC5zZHA6CgkgICogdGVzdHMvZXhhbXBsZXMvcnRwL2NsaWVudC1IMjY0LnNoOgoJICAqIHRlc3RzL2V4YW1wbGVzL3J0cC9jbGllbnQtUENNQS5zZHA6CgkgICogdGVzdHMvZXhhbXBsZXMvcnRwL2NsaWVudC1QQ01BLnNoOgoJICAqIHRlc3RzL2V4YW1wbGVzL3J0cC9zZXJ2ZXItYWxzYXNyYy1QQ01BLnNoOgoJICAqIHRlc3RzL2V4YW1wbGVzL3J0cC9zZXJ2ZXItdjRsMi1IMjYzcC1hbHNhc3JjLUFNUi5zaDoKCSAgKiB0ZXN0cy9leGFtcGxlcy9ydHAvc2VydmVyLXY0bDItSDI2NC1hbHNhc3JjLVBDTUEuc2g6CgkgIEFkZCBzb21lIG1vcmUgZG9jcyBhbmQgZml4IGV4YW1wbGVzLgoKMjAwOC0wNC0yNCAyMjowNDo1NyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgdGVzdHMvY2hlY2svZWxlbWVudHMvbXVsdGlmaWxlLmM6IEluY2x1ZGUgc3RkbGliLmggYW5kIHVuaXN0ZC5oIGZvciBta2R0ZW1wLiBTb21lIHBsYXRmb3JtcyBoYXZlIGl0IGRlY2xhcmVkIGluIHRoZSBmLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL211bHRpZmlsZS5jOgoJICBJbmNsdWRlIHN0ZGxpYi5oIGFuZCB1bmlzdGQuaCBmb3IgbWtkdGVtcC4gU29tZSBwbGF0Zm9ybXMgaGF2ZSBpdAoJICBkZWNsYXJlZCBpbiB0aGUgZm9ybWVyLCBzb21lIGhhdmUgaXQgZGVjbGFyZWQgaW4gdGhlIGxhdHRlci4KCjIwMDgtMDQtMjQgMjI6MDE6NTIgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIFN0b3AgdXNpbmcgZGVwcmVjYXRlZCBHTGliIGZ1bmN0aW9ucy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2NhaXJvL2dzdHRleHRvdmVybGF5LmM6IChnc3RfdGV4dF9vdmVybGF5X3NldF9wcm9wZXJ0eSk6CgkgICogZ3N0L2RlYnVnL3Rlc3RzLmM6IChtZDVfZ2V0X3ZhbHVlKToKCSAgKiBnc3QvcnRwL2dzdHJ0cGgyNjNwZGVwYXkuYzogKGdzdF9ydHBfaDI2M3BfZGVwYXlfc2V0Y2Fwcyk6CgkgICogZ3N0L3J0cC9nc3RydHBpbGJjcGF5LmM6IChnc3RfcnRwaWxiY3BheV9zZXRjYXBzKToKCSAgKiBnc3QvcnRwL2dzdHJ0cHRoZW9yYWRlcGF5LmM6IChnc3RfcnRwX3RoZW9yYV9kZXBheV9zZXRjYXBzKToKCSAgKiBnc3QvcnRwL2dzdHJ0cHZvcmJpc2RlcGF5LmM6IChnc3RfcnRwX3ZvcmJpc19kZXBheV9zZXRjYXBzKToKCSAgU3RvcCB1c2luZyBkZXByZWNhdGVkIEdMaWIgZnVuY3Rpb25zLgoKMjAwOC0wNC0yNCAyMToxNzo0MiArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBjb25maWd1cmUuYWM6IEJhY2sgdG8gZGV2ZWxvcG1lbnQgLT4gMC4xMC44LjEKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICBCYWNrIHRvIGRldmVsb3BtZW50IC0+IDAuMTAuOC4xCgkgID09PSByZWxlYXNlIDAuMTAuOCA9PT0KCj09PSByZWxlYXNlIDAuMTAuOCA9PT0KCjIwMDgtMDQtMjMgMjM6NDA6NDggKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSogTkVXUzoKCSogUkVMRUFTRToKCSAgUmVsZWFzZSAwLjEwLjggYSBsaXR0bGUgaGFyZGVyIChlZGl0ZWQgdGhlIHJlbGVhc2Ugbm90ZXMpCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBSZWxlYXNlIDAuMTAuOCBhIGxpdHRsZSBoYXJkZXIgKGVkaXRlZCB0aGUgcmVsZWFzZSBub3RlcykKCjIwMDgtMDQtMjMgMjM6MjY6MjQgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSogQ2hhbmdlTG9nOgoJKiBORVdTOgoJKiBSRUxFQVNFOgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaW50ZXJmYWNlczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5wcmVyZXF1aXNpdGVzOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tMTM5NC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYWNvbG9yLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFubm9kZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXBldGFnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvZngueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvZGV0ZWN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF2aS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWNhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWlyby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWN1dHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmVuY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZmZWN0di54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lcXVhbGl6ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXNkc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbGFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZseGRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nYW1tYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nY29uZmVsZW1lbnRzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdka3BpeGJ1Zi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWhhbGVsZW1lbnRzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWljeWRlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlkM2RlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwZWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGV2ZWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWF0cm9za2EueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlmaWxlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpcGFydC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uYXZpZ2F0aW9udGVzdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3NhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbmcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcXVpY2t0aW1lLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHNwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNob3V0MnNlbmQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc21wdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVjdHJ1bS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10YWdsaWIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdWRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvYmFsYW5jZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2JveC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2Nyb3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9mbGlwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvbWl4ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2ZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teGltYWdlc3JjLnhtbDoKCSogZ3N0LXBsdWdpbnMtZ29vZC5kb2FwOgoJKiBwby9MSU5HVUFTOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIFJlbGVhc2UgMC4xMC44CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBSZWxlYXNlIDAuMTAuOAoKMjAwOC0wNC0yMyAyMzoxODo0NCArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJKiBjb21tb246CgkqIHBvL2FmLnBvOgoJKiBwby9hei5wbzoKCSogcG8vYmcucG86CgkqIHBvL2NzLnBvOgoJKiBwby9kYS5wbzoKCSogcG8vZW5fR0IucG86CgkqIHBvL2VzLnBvOgoJKiBwby9ldS5wbzoKCSogcG8vZmkucG86CgkqIHBvL2ZyLnBvOgoJKiBwby9odS5wbzoKCSogcG8vaXQucG86CgkqIHBvL2phLnBvOgoJKiBwby9uYi5wbzoKCSogcG8vbmwucG86CgkqIHBvL29yLnBvOgoJKiBwby9wbC5wbzoKCSogcG8vcnUucG86CgkqIHBvL3NrLnBvOgoJKiBwby9zcS5wbzoKCSogcG8vc3IucG86CgkqIHBvL3N2LnBvOgoJKiBwby91ay5wbzoKCSogcG8vdmkucG86CgkqIHBvL3poX0NOLnBvOgoJKiBwby96aF9ISy5wbzoKCSogcG8vemhfVFcucG86CgkgIFVwZGF0ZSAucG8gZmlsZXMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFVwZGF0ZSAucG8gZmlsZXMKCjIwMDgtMDQtMjIgMDA6Mjk6MDAgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgY29uZmlndXJlLmFjOiAwLjEwLjcuNCBwcmUtcmVsZWFzZQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIDAuMTAuNy40IHByZS1yZWxlYXNlCgoyMDA4LTA0LTIyIDAwOjE4OjUyICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGdzdC9nb29tLzogRnJlZSBhIGJ1bmNoIG9mIHN0dWZmLCBhbmQgaW5pdGlhbGlzZSB0aGluZ3MgdG8gZml4IGxlYWtzIGFuZCB2YWxncmluZCB3YXJuaW5ncyBpbiB0aGUgdGVzdHN1aXRlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZ29vbS9jb25maWdfcGFyYW0uYzogKGdvb21fcGx1Z2luX3BhcmFtZXRlcnNfZnJlZSk6CgkgICogZ3N0L2dvb20vY29udm9sdmVfZnguYzogKGNvbnZvbHZlX2luaXQpLCAoY29udm9sdmVfZnJlZSk6CgkgICogZ3N0L2dvb20vZmlsdGVycy5jOiAoem9vbUZpbHRlclZpc3VhbEZYV3JhcHBlcl9mcmVlKToKCSAgKiBnc3QvZ29vbS9mbHlpbmdfc3RhcnNfZnguYzogKGZzX2ZyZWUpOgoJICAqIGdzdC9nb29tL2dvb21fY29uZmlnX3BhcmFtLmg6CgkgICogZ3N0L2dvb20vZ29vbV9jb3JlLmM6IChnb29tX2luaXQpLCAoZ29vbV9jbG9zZSk6CgkgICogZ3N0L2dvb20vZ29vbV9wbHVnaW5faW5mby5oOgoJICAqIGdzdC9nb29tL2dzdGdvb20uYzogKGdzdF9nb29tX2ZpbmFsaXplKToKCSAgKiBnc3QvZ29vbS9saW5lcy5jOiAoZ29vbV9saW5lc19mcmVlKToKCSAgKiBnc3QvZ29vbS9wbHVnaW5faW5mby5jOiAocGx1Z2luX2luZm9faW5pdCksIChwbHVnaW5faW5mb19mcmVlKToKCSAgKiBnc3QvZ29vbS9zdXJmM2QuYzogKGdyaWQzZF9mcmVlKToKCSAgKiBnc3QvZ29vbS9zdXJmM2QuaDoKCSAgKiBnc3QvZ29vbS90ZW50YWNsZTNkLmM6ICh0ZW50YWNsZV9mcmVlKToKCSAgRnJlZSBhIGJ1bmNoIG9mIHN0dWZmLCBhbmQgaW5pdGlhbGlzZSB0aGluZ3MgdG8gZml4IGxlYWtzCgkgIGFuZCB2YWxncmluZCB3YXJuaW5ncyBpbiB0aGUgdGVzdHN1aXRlLgoJICBGaXhlczogIzUyOTI2OAoKMjAwOC0wNC0yMSAyMTo1NDoxMSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgdGVzdHMvY2hlY2svZWxlbWVudHMvcmdhbmFseXNpcy5jOiBEb24ndCBsZWFrIGEgdGFnIGxpc3QuIEZpeGVzIGJ1ZyAjNTI5Mjg1LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9yZ2FuYWx5c2lzLmM6IChHU1RfU1RBUlRfVEVTVCk6CgkgIERvbid0IGxlYWsgYSB0YWcgbGlzdC4gRml4ZXMgYnVnICM1MjkyODUuCgoyMDA4LTA0LTIxIDA4OjIxOjE0ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiBSZWYgY2FwcyBhcyB0aGUgcmV0dXJuIHZhbHVlIGZvciB0aGUgcmVxdWVzdF9wdF9tYXAgc2lnbmFsLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IChnc3RfcnRzcHNyY19pbml0KSwgKHJlcXVlc3RfcHRfbWFwKSwKCSAgKGdzdF9ydHNwc3JjX2NvbmZpZ3VyZV9jYXBzKToKCSAgUmVmIGNhcHMgYXMgdGhlIHJldHVybiB2YWx1ZSBmb3IgdGhlIHJlcXVlc3RfcHRfbWFwIHNpZ25hbC4KCSAgUmVtb3ZlIHNvbWUgY2FwcyB3ZWlyZG5lc3Mgd2hlbiBjb25maWd1cmluZyBhIHN0cmVhbS4gU2VlICM1MjgyNDUuCgoyMDA4LTA0LTE4IDE4OjQ3OjQzICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgdGVzdHMvaWNsZXMvZ2RrcGl4YnVmc2luay10ZXN0LmM6IEFkZCBjYXN0IHRvIHBsYWNhdGUgZ2NjIDQuMS4yLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9pY2xlcy9nZGtwaXhidWZzaW5rLXRlc3QuYzoKCSAgQWRkIGNhc3QgdG8gcGxhY2F0ZSBnY2MgNC4xLjIuCgoyMDA4LTA0LTE3IDIzOjAwOjI5ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGNvbmZpZ3VyZS5hYzogMC4xMC43LjMgcHJlLXJlbGVhc2UKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAwLjEwLjcuMyBwcmUtcmVsZWFzZQoKMjAwOC0wNC0xNyAyMjozMjoxNiArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbTogRGlzYWJsZSBzb21lIG1vcmUgZWxlbWVudHMgaW4gdGhlIHN0YXRlIHRlc3QuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICBEaXNhYmxlIHNvbWUgbW9yZSBlbGVtZW50cyBpbiB0aGUgc3RhdGUgdGVzdC4KCSAgQWRkIGEgZGVmaW5lIHNvIHRoZSBzb3VwIHRlc3QgY2FuIGZpbmQgdGhlIHRlc3QgZmlsZXMKCSAgaXQgbmVlZHMgYXQgcnVudGltZS4KCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9zb3VwaHR0cHNyYy5jOiAocnVuX3NlcnZlcik6CgkgIEFkZCBhIGRlZmluZSBzbyB0aGUgc291cCB0ZXN0IGNhbiBmaW5kIHRoZSB0ZXN0IGZpbGVzCgkgIGl0IG5lZWRzIGF0IHJ1bnRpbWUuCgoyMDA4LTA0LTE3IDE4OjA4OjUzICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGdzdC9nb29tL2NvbnZvbHZlX2Z4LmM6IERvbid0IGV2ZXIgZHJhdyB0aGUgR09PTSBsb2dvLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZ29vbS9jb252b2x2ZV9meC5jOiAoY29udm9sdmVfYXBwbHkpOgoJICBEb24ndCBldmVyIGRyYXcgdGhlIEdPT00gbG9nby4KCSAgRml4ZXM6ICM1Mjg2MTUKCjIwMDgtMDQtMTcgMTA6MjQ6MzIgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBleHQvOiBnc3RfYXRvbWljX2ludF9zZXQgPT0+IGdfYXRvbWljX2ludF9zZXQKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2NkaW8vZ3N0Y2Rpb2NkZGFzcmMuYzoKCSAgKiBleHQvZHYvZ3N0ZHZkZW11eC5jOgoJICBnc3RfYXRvbWljX2ludF9zZXQgPT0+IGdfYXRvbWljX2ludF9zZXQKCjIwMDgtMDQtMTYgMTA6MzE6MTcgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBTdHJpcCBvdXQgdGhlIGNvbmZpZy9zY3JpcHQgcGFyc2luZyBzdHVmZiwgd2UgZG9uJ3QgbmVlZCBpdC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAqIGdzdC9nb29tL01ha2VmaWxlLmFtOgoJICAqIGdzdC9nb29tL2NvbnZvbHZlX2Z4LmM6CgkgICogZ3N0L2dvb20vZGVmYXVsdF9zY3JpcHRzLmg6CgkgICogZ3N0L2dvb20vZ29vbS5oOgoJICAqIGdzdC9nb29tL2dvb21fY29yZS5jOiAoY2hvb3NlX2FfZ29vbV9saW5lKToKCSAgKiBnc3QvZ29vbS9nb29tX3BsdWdpbl9pbmZvLmg6CgkgICogZ3N0L2dvb20vZ29vbXNsLmM6CgkgICogZ3N0L2dvb20vZ29vbXNsLmg6CgkgICogZ3N0L2dvb20vZ29vbXNsX2hhc2guYzoKCSAgKiBnc3QvZ29vbS9nb29tc2xfaGFzaC5oOgoJICAqIGdzdC9nb29tL2dvb21zbF9oZWFwLmM6CgkgICogZ3N0L2dvb20vZ29vbXNsX2hlYXAuaDoKCSAgKiBnc3QvZ29vbS9nb29tc2xfcHJpdmF0ZS5oOgoJICAqIGdzdC9nb29tL3BsdWdpbl9pbmZvLmM6CgkgIFN0cmlwIG91dCB0aGUgY29uZmlnL3NjcmlwdCBwYXJzaW5nIHN0dWZmLCB3ZSBkb24ndCBuZWVkIGl0LgoJICBGaXhlcyAjNTI3OTk5LgoKMjAwOC0wNC0xNSAxNjo1ODozNiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9nb29tL3BsdWdpbl9pbmZvLmM6IERpc2FibGUgYWx0aXZlYyBvcHRpbWlzYXRpb25zIGZvciAzMi1iaXQgUFBDIGFzIHdlbGwgdG8gbWFrZSB0aGluZ3MgYnVpbGQgcHJvcGVybHkgb24gYWxsIFBQQy4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZ29vbS9wbHVnaW5faW5mby5jOiAoc2V0T3B0aW1pemVkTWV0aG9kcyk6CgkgIERpc2FibGUgYWx0aXZlYyBvcHRpbWlzYXRpb25zIGZvciAzMi1iaXQgUFBDIGFzIHdlbGwgdG8gbWFrZQoJICB0aGluZ3MgYnVpbGQgcHJvcGVybHkgb24gYWxsIFBQQyBzeXN0ZW1zLiBGaXhlcyAjNTI4MTQzCgoyMDA4LTA0LTE0IDIwOjAxOjQ0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0LXBsdWdpbnMtZ29vZC5zcGVjLmluOiBVcGRhdGUgZm9yIHNvdXBodHRwc3JjIHBsdWdpbiB3aGljaCBoYXMgbW92ZWQgdG8gLWdvb2QuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC1wbHVnaW5zLWdvb2Quc3BlYy5pbjoKCSAgVXBkYXRlIGZvciBzb3VwaHR0cHNyYyBwbHVnaW4gd2hpY2ggaGFzIG1vdmVkIHRvIC1nb29kLgoKMjAwOC0wNC0xNCAxMzozODozMiArMDAwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFuYXV3QHNreW5ldC5iZT4KCgkgIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOiBGaXggb3Blbi1lbmRlZCBzZWVrcyBpbiBtYXRyb3NrYWRlbXV4CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICAoZ3N0X21hdHJvc2thX2RlbXV4X2hhbmRsZV9zZWVrX2V2ZW50KToKCSAgRml4IG9wZW4tZW5kZWQgc2Vla3MgaW4gbWF0cm9za2FkZW11eAoJICBQYXRjaCBieTogTWFyayBOYXV3ZWxhZXJ0cyA8bWFuYXV3IHNreW5ldCBiZT4KCSAgRml4ZXM6ICM1MjY1NTcKCjIwMDgtMDQtMTMgMjM6MTM6MzIgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06IEFkZCBzb3VwIHRlc3QgY2VydGlmaWNhdGVzIHRvIHRoZSBkaXN0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgQWRkIHNvdXAgdGVzdCBjZXJ0aWZpY2F0ZXMgdG8gdGhlIGRpc3QuCgoyMDA4LTA0LTEzIDE3OjQzOjUyICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGV4dC9NYWtlZmlsZS5hbTogUmVtb3ZlIExBRFNQQSByZWZlcmVuY2UgSSBtaXNzZWQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9NYWtlZmlsZS5hbToKCSAgUmVtb3ZlIExBRFNQQSByZWZlcmVuY2UgSSBtaXNzZWQuCgoyMDA4LTA0LTEzIDEzOjA2OjM5ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOiBHaXZlIHNvdXBodHRwc3JjIEdTVF9SQU5LX1BSSU1BUlkgdG8gbWFrZSBpdCB0aGUgZGVmYXVsdCBIVFRQIHNvdXJjZSBvdmVyIGdub21lLXZmcyBhbmQgZXYuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzogKHBsdWdpbl9pbml0KToKCSAgR2l2ZSBzb3VwaHR0cHNyYyBHU1RfUkFOS19QUklNQVJZIHRvIG1ha2UgaXQgdGhlIGRlZmF1bHQgSFRUUCBzb3VyY2UKCSAgb3ZlciBnbm9tZS12ZnMgYW5kIGV2ZXJ5dGhpbmcgZWxzZS4gRml4ZXMgYnVnICM1Mjc4NDguCgoyMDA4LTA0LTEyIDIzOjQ3OjIzICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIFJlbW92ZSBMQURTUEEgcGx1Z2luLiBGaXhlczogIzUxNTk3OAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgICogZXh0L01ha2VmaWxlLmFtOgoJICBSZW1vdmUgTEFEU1BBIHBsdWdpbi4gRml4ZXM6ICM1MTU5NzgKCjIwMDgtMDQtMTIgMjM6MzA6NTQgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgTW92ZSBzb3VwIHBsdWdpbiBmcm9tIC1iYWQgKEZpeGVzOiAjNTIzMTI0KQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgICogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtZG9jcy5zZ21sOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuYXJnczoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291cC54bWw6CgkgICogZXh0L01ha2VmaWxlLmFtOgoJICAqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICBNb3ZlIHNvdXAgcGx1Z2luIGZyb20gLWJhZCAoRml4ZXM6ICM1MjMxMjQpCgoyMDA4LTA0LTExIDExOjA4OjM1ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkqIENoYW5nZUxvZzoKCSAgRml4IHRoZSBDaGFuZ2Vsb2cgLSBhY3R1YWxseSBzcGVleCA8PSAxLjEuMTIgYXJlIHZ1bG5lcmFibGUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBGaXggdGhlIENoYW5nZWxvZyAtIGFjdHVhbGx5IHNwZWV4IDw9IDEuMS4xMiBhcmUgdnVsbmVyYWJsZS4KCjIwMDgtMDQtMTEgMTA6MzI6MjAgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgZXh0L3NwZWV4L2dzdHNwZWV4ZGVjLmM6IEZpeCBib3VuZHMgY2hlY2tpbmcgb2YgbW9kZSBpbiBTcGVleCBoZWFkZXIsIHdoaWNoIG1heSBwcm9kdWNlIG5lZ2F0aXZlIG51bWJlcnMgaW4gc3BlZXggPCAxLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9zcGVleC9nc3RzcGVleGRlYy5jOiAoc3BlZXhfZGVjX2NoYWluX3BhcnNlX2hlYWRlcik6CgkgIEZpeCBib3VuZHMgY2hlY2tpbmcgb2YgbW9kZSBpbiBTcGVleCBoZWFkZXIsIHdoaWNoIG1heQoJICBwcm9kdWNlIG5lZ2F0aXZlIG51bWJlcnMgaW4gc3BlZXggPCAxLjEuMTIKCjIwMDgtMDQtMTAgMDc6MTE6NTEgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3NvdXBodHRwc3JjLmM6IEluY3JlYXNlIHRoZSB0aW1lb3V0IGZvciB0aGUgaW50ZXJuZXQgdGVzdHMgdG8gMjUwIHNlY29uZHMgYW5kIGNoZWNrIGZvciBOVUxMIGNhcC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9zb3VwaHR0cHNyYy5jOiAoZ290X2J1ZmZlciksCgkgIChzb3VwaHR0cHNyY19zdWl0ZSk6CgkgIEluY3JlYXNlIHRoZSB0aW1lb3V0IGZvciB0aGUgaW50ZXJuZXQgdGVzdHMgdG8gMjUwIHNlY29uZHMKCSAgYW5kIGNoZWNrIGZvciBOVUxMIGNhcHMgaW5zdGVhZCBvZiBqdXN0IGNyYXNoaW5nLgoJICBUaGUgcmVhbCBmaXggd291bGQgYmUgdG8gaW1wbGVtZW50IGFuIHNob3V0Y2FzdCBzZXJ2ZXIgZm9yIHRoZSB1bml0IHRlc3QKCSAgaW5zdGVhZCBvZiByZWx5aW5nIG9uIGEgd29ya2luZyBpbnRlcm5ldCBjb25uZWN0aW9uLgoJICBGaXhlcyBidWcgIzUyMTc0OS4KCjIwMDgtMDQtMDkgMTY6MTE6NDAgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvZ29vbS86IFJlbW92ZSBhIGJ1bmNoIG9mIGZvbnQvdGV4dCByZWxhdGVkIGNvZGUgdGhhdCB3ZSBkb24ndCBuZWVkLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZ29vbS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvZ29vbS9nZm9udGxpYi5jOgoJICAqIGdzdC9nb29tL2dmb250bGliLmg6CgkgICogZ3N0L2dvb20vZ2ZvbnRybGUuYzoKCSAgKiBnc3QvZ29vbS9nZm9udHJsZS5oOgoJICAqIGdzdC9nb29tL2dvb20uaDoKCSAgKiBnc3QvZ29vbS9nb29tX2NvcmUuYzogKGdvb21fdXBkYXRlKToKCSAgKiBnc3QvZ29vbS9nb29tX3BsdWdpbl9pbmZvLmg6CgkgICogZ3N0L2dvb20vZ3N0Z29vbS5jOiAoZ3N0X2dvb21fY2hhaW4pOgoJICAqIGdzdC9nb29tL3BsdWdpbl9pbmZvLmM6CgkgIFJlbW92ZSBhIGJ1bmNoIG9mIGZvbnQvdGV4dCByZWxhdGVkIGNvZGUgdGhhdCB3ZSBkb24ndCBuZWVkLgoKMjAwOC0wNC0wOSAxNDowMjozNyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9nb29tLzogQ2hhbmdlIGxpY2Vuc2Ugb2YgdGhlc2UgZmlsZXMgdG8gTEdQTCwgYXMgcGVybWl0dGVkIGJ5IHRoZSBhdXRob3IsIEd1aWxsYXVtZSBCb3Jpb3MuIFNlZSAjNTE1MDczLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZ29vbS9wcGNfZHJhd2luZ3MuczoKCSAgKiBnc3QvZ29vbS9wcGNfem9vbV91bHRpbWF0ZS5zOgoJICBDaGFuZ2UgbGljZW5zZSBvZiB0aGVzZSBmaWxlcyB0byBMR1BMLCBhcyBwZXJtaXR0ZWQgYnkgdGhlCgkgIGF1dGhvciwgR3VpbGxhdW1lIEJvcmlvcy4gU2VlICM1MTUwNzMuCgoyMDA4LTA0LTA5IDEzOjMxOjIyICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3QvZ29vbS86IEFzIGhpbnRlZCBpbiBCdWcgIzUxODIxMywgcmV2ZXJ0IG9uZSBjaGFuZ2UgYW5kIGZpeCB3YXJuaW5ncyBwcm9wZXJseS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2dvb20vY29udm9sdmVfZnguYzoKCSAgKiBnc3QvZ29vbS9tb3RpZl9nb29tMS5oOgoJICAqIGdzdC9nb29tL21vdGlmX2dvb20yLmg6CgkgIEFzIGhpbnRlZCBpbiBCdWcgIzUxODIxMywgcmV2ZXJ0IG9uZSBjaGFuZ2UgYW5kIGZpeCB3YXJuaW5ncyBwcm9wZXJseS4KCSAgVGhpcyBmaXhlcyBib3RoICM1MTgyMTMgYW5kICM1MjAwNzMgZm9yIG1lLgoKMjAwOC0wNC0wOSAxMjowMjo1NSArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBnc3QvbWF0cm9za2EvOiBGaXggdGhlIEZvcnRlIGJ1aWxkIGJ5IG1ha2luZyBmdW5jdGlvbiBkZWNsYXJhdGlvbiBzaWduYXR1cmVzIG1hdGNoIHRoZSBpbXBsZW1lbnRhdGlvbnMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tYXRyb3NrYS9lYm1sLXJlYWQuYzogKGdzdF9lYm1sX3JlYWRfc2Vlayk6CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIChnc3RfbWF0cm9za2FfZGVtdXhfaGFuZGxlX3NlZWtfZXZlbnQpLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X3BhcnNlX2NvbnRlbnRzX3NlZWtlbnRyeSksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfbG9vcCk6CgkgIEZpeCB0aGUgRm9ydGUgYnVpbGQgYnkgbWFraW5nIGZ1bmN0aW9uIGRlY2xhcmF0aW9uIHNpZ25hdHVyZXMKCSAgbWF0Y2ggdGhlIGltcGxlbWVudGF0aW9ucy4KCjIwMDgtMDQtMDggMTk6NDk6MzQgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBzeXMvb3NzLzogTW9yZSBsb2dnaW5nIHdoZW4gcHJvYmluZyAoc2VlICM1MTg0NzQpLCBzb21lIGNvbW1lbnRzIGluIF9yZXNldCgpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvb3NzL2dzdG9zc2hlbHBlci5jOiAoZ3N0X29zc19oZWxwZXJfcmF0ZV9jaGVja19yYXRlKToKCSAgKiBzeXMvb3NzL2dzdG9zc3NpbmsuYzogKGdzdF9vc3Nfc2lua19yZXNldCk6CgkgICogc3lzL29zcy9nc3Rvc3NzcmMuYzogKGdzdF9vc3Nfc3JjX3Jlc2V0KToKCSAgTW9yZSBsb2dnaW5nIHdoZW4gcHJvYmluZyAoc2VlICM1MTg0NzQpLCBzb21lIGNvbW1lbnRzIGluIF9yZXNldCgpLgoKMjAwOC0wNC0wNyAxNzoxODo0OCArMDAwMCAgSnVsaWVuIE1vdXR0ZSA8anVsaWVuQG1vdXR0ZS5uZXQ+CgoJICBnc3QvcnRwL2dzdHJ0cGgyNjRwYXkuYzogRml4IGJ1aWxkIGJlY2F1c2Ugb2YgYSBiYWQgYXJndW1lbnQgbnVtYmVyLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwOC0wNC0wNyAgSnVsaWVuIE1vdXR0ZSAgPGp1bGllbkBmbHVlbmRvLmNvbT4KCSAgKiBnc3QvcnRwL2dzdHJ0cGgyNjRwYXkuYzogKGdzdF9ydHBfaDI2NF9wYXlfc2V0Y2Fwcyk6IEZpeCBidWlsZAoJICBiZWNhdXNlIG9mIGEgYmFkIGFyZ3VtZW50IG51bWJlci4KCjIwMDgtMDQtMDYgMTg6Mjg6MDkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICB0ZXN0cy9pY2xlcy86IEludGVyYWN0aXZlIHRlc3QgYXBwIGZvciBnZGtwaXhidWZzaW5rLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9pY2xlcy8uY3ZzaWdub3JlOgoJICAqIHRlc3RzL2ljbGVzL01ha2VmaWxlLmFtOgoJICAqIHRlc3RzL2ljbGVzL2dka3BpeGJ1ZnNpbmstdGVzdC5jOgoJICBJbnRlcmFjdGl2ZSB0ZXN0IGFwcCBmb3IgZ2RrcGl4YnVmc2luay4KCjIwMDgtMDQtMDYgMDk6MDE6NDIgKzAwMDAgIFNqb2VyZCBTaW1vbnMgPHNqb2VyZEBsdW9uLm5ldD4KCgkgIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6IE9ubHkgaWdub3JlIGFjdHVhbCByZWRpcmVjdHMgbm90IGFsbCByZXNwb25zZXMgd2hlbiBpbiBzdGF0ZQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFNqb2VyZCBTaW1vbnMgPHNqb2VyZCBhdCBsdW9uIGRvdCBuZXQ+CgkgICogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzogKGdzdF9zb3VwX2h0dHBfc3JjX3Jlc3BvbnNlX2NiKToKCSAgT25seSBpZ25vcmUgYWN0dWFsIHJlZGlyZWN0cyBub3QgYWxsIHJlc3BvbnNlcyB3aGVuIGluIHN0YXRlCgkgIEdTVF9TT1VQX0hUVFBfU1JDX1NFU1NJT05fSU9fU1RBVFVTX1JVTk5JTkcuIEZpeGVzIGJ1ZyAjNTI2MzM3LgoKMjAwOC0wNC0wNiAwODo1Nzo1OSArMDAwMCAgRGFtaWVuIExlc3BpYXUgPGRhbWllbi5sZXNwaWF1QGdtYWlsLmNvbT4KCgkgIGNvbmZpZ3VyZS5hYzogQWN0dWFsbHkgYnVpbGQgZGxscyB3aGVuIGNyb3NzLWNvbXBpbGluZyB3aXRoIG1pbmd3MzIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogRGFtaWVuIExlc3BpYXUgPGRhbWllbiBkb3QgbGVzcGlhdSBhdCBnbWFpbCBkb3QgY29tPgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgQWN0dWFsbHkgYnVpbGQgZGxscyB3aGVuIGNyb3NzLWNvbXBpbGluZyB3aXRoIG1pbmd3MzIuCgkgIEZpeGVzIGJ1ZyAjNTI2MjQ3LgoKMjAwOC0wNC0wNSAxMjowMDo0NiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC9oYWwvaGFsLmM6IERvbid0IG11bmdlIGRldmljZSBzdHJpbmcgdG8gJ2RlZmF1bHQ6eCcgZm9yIGNhcHR1cmUgZGV2aWNlcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2hhbC9oYWwuYzogKGdzdF9oYWxfZ2V0X2Fsc2FfZWxlbWVudCk6CgkgIERvbid0IG11bmdlIGRldmljZSBzdHJpbmcgdG8gJ2RlZmF1bHQ6eCcgZm9yIGNhcHR1cmUgZGV2aWNlcy4KCSAgRml4ZXMgIzUyNTgzMy4KCjIwMDgtMDQtMDQgMTk6MDA6MTkgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGV4dC93YXZwYWNrL2dzdHdhdnBhY2twYXJzZS5jOiBBbHdheXMgdXNlIEdTbGljZSBhcyB3ZSBhY3R1YWxseSBkZXBlbmQgb24gR0xpYiAyLjEyIGFscmVhZHkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2twYXJzZS5jOgoJICAoZ3N0X3dhdnBhY2tfcGFyc2VfaW5kZXhfZW50cnlfZnJlZSk6CgkgIEFsd2F5cyB1c2UgR1NsaWNlIGFzIHdlIGFjdHVhbGx5IGRlcGVuZCBvbiBHTGliIDIuMTIgYWxyZWFkeS4KCjIwMDgtMDQtMDQgMTE6MjY6NDAgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBjb25maWd1cmUuYWM6IFJlcXVpcmUgY29yZS9iYXNlIDAuMTAuMTggZm9yIEFSR0IgY2FwcyBwYXJzaW5nIGZpeGVzIGluIGxpYmdzdHZpZGVvLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIFJlcXVpcmUgY29yZS9iYXNlIDAuMTAuMTggZm9yIEFSR0IgY2FwcyBwYXJzaW5nIGZpeGVzIGluIGxpYmdzdHZpZGVvLgoJICBBbHNvIGJ1bXAgdGhlIEdMaWIgcmVxdWlyZW1lbnQgdG8gdGhlIGN1cnJlbnQgZGUtZmFjdG8gcmVxdWlyZW1lbnQKCSAgKGllLiAyLjEyKS4KCjIwMDgtMDQtMDQgMTA6MzI6MjEgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwL2dzdHJ0cGgyNjRwYXkuKjogUGFyc2UgY29kZWNfZGF0YSBmb3IgZnV0dXJlIEFWQyBjb21wYXRpYmlsaXR5LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwL2dzdHJ0cGgyNjRwYXkuYzogKGVuY29kZV9iYXNlNjQpLAoJICAoZ3N0X3J0cF9oMjY0X3BheV9zZXRjYXBzKSwgKGdzdF9ydHBfaDI2NF9wYXlfaGFuZGxlX2J1ZmZlcik6CgkgICogZ3N0L3J0cC9nc3RydHBoMjY0cGF5Lmg6CgkgIFBhcnNlIGNvZGVjX2RhdGEgZm9yIGZ1dHVyZSBBVkMgY29tcGF0aWJpbGl0eS4KCSAgRmFpbCB3aGVuIHdlIGVuY291bnRlciBBVkMgZGF0YSBmb3Igbm93LgoKMjAwOC0wNC0wNCAwOTo1MDoxMCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5jOiBSZW5hbWUgcHJvcGVydHkgZW51bXMgYW5kIGRlZmF1bHQgZGVmaW5lcyBmb3IgdGhlIHByb3BlcnRpZXMgdG8gbWF0Y2ggdGhlIHByb3BlcnR5IG5hbWVzIC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uYzogKGdzdF9zcGVjdHJ1bV9jbGFzc19pbml0KSwKCSAgKGdzdF9zcGVjdHJ1bV9pbml0KSwgKGdzdF9zcGVjdHJ1bV9zZXRfcHJvcGVydHkpLAoJICAoZ3N0X3NwZWN0cnVtX2dldF9wcm9wZXJ0eSksIChnc3Rfc3BlY3RydW1fbWVzc2FnZV9uZXcpOgoJICBSZW5hbWUgcHJvcGVydHkgZW51bXMgYW5kIGRlZmF1bHQgZGVmaW5lcyBmb3IgdGhlIHByb3BlcnRpZXMgdG8gbWF0Y2gKCSAgdGhlIHByb3BlcnR5IG5hbWVzIGFuZCByZXBocmFzZSBwcm9wZXJ0eSBkZXNjcmlwdGlvbnMgdG8gbWFrZSB0aGVtIGEKCSAgYml0IGNsZWFyZXIgKGhvcGVmdWxseSkuIFNlZSAjNTE4MTg4LgoKMjAwOC0wNC0wMyAyMjo1OTo0NCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIHRlc3RzL2NoZWNrLzogQWRkIHVuaXQgdGVzdCBmb3IgZ2RrcGl4YnVmc2luayBlbGVtZW50LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy8uY3ZzaWdub3JlOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2dka3BpeGJ1ZnNpbmsuYzoKCSAgQWRkIHVuaXQgdGVzdCBmb3IgZ2RrcGl4YnVmc2luayBlbGVtZW50LgoKMjAwOC0wNC0wMyAyMjo1MDo0OCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC9nZGtfcGl4YnVmLzogQWRkIGdka3BpeGJ1ZnNpbmsgZWxlbWVudCBmb3IgZWFzeSBzbmFwc2hvdHRpbmcgKCM1MjU5NDYpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZ2RrX3BpeGJ1Zi9NYWtlZmlsZS5hbToKCSAgKiBleHQvZ2RrX3BpeGJ1Zi9nc3RnZGtwaXhidWYuYzogKHBsdWdpbl9pbml0KToKCSAgKiBleHQvZ2RrX3BpeGJ1Zi9nc3RnZGtwaXhidWZzaW5rLmM6CgkgIChnc3RfZ2RrX3BpeGJ1Zl9zaW5rX2Jhc2VfaW5pdCksCgkgIChnc3RfZ2RrX3BpeGJ1Zl9zaW5rX2NsYXNzX2luaXQpLCAoZ3N0X2dka19waXhidWZfc2lua19pbml0KSwKCSAgKGdzdF9nZGtfcGl4YnVmX3Npbmtfc3RhcnQpLCAoZ3N0X2dka19waXhidWZfc2lua19zdG9wKSwKCSAgKGdzdF9nZGtfcGl4YnVmX3Npbmtfc2V0X2NhcHMpLAoJICAoZ3N0X2dka19waXhidWZfc2lua19waXhidWZfZGVzdHJveV9ub3RpZnkpLAoJICAoZ3N0X2dka19waXhidWZfc2lua19nZXRfcGl4YnVmX2Zyb21fYnVmZmVyKSwKCSAgKGdzdF9nZGtfcGl4YnVmX3NpbmtfaGFuZGxlX2J1ZmZlciksIChnc3RfZ2RrX3BpeGJ1Zl9zaW5rX3ByZXJvbGwpLAoJICAoZ3N0X2dka19waXhidWZfc2lua19yZW5kZXIpLCAoZ3N0X2dka19waXhidWZfc2lua19zZXRfcHJvcGVydHkpLAoJICAoZ3N0X2dka19waXhidWZfc2lua19nZXRfcHJvcGVydHkpOgoJICAqIGV4dC9nZGtfcGl4YnVmL2dzdGdka3BpeGJ1ZnNpbmsuaDoKCSAgQWRkIGdka3BpeGJ1ZnNpbmsgZWxlbWVudCBmb3IgZWFzeSBzbmFwc2hvdHRpbmcgKCM1MjU5NDYpLgoKMjAwOC0wNC0wMyAyMDoyNTozNCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgdGVzdHMvY2hlY2svcGlwZWxpbmVzL3dhdnBhY2suYzogQnVtcCB0aW1lb3V0IGZyb20gMyB0byA2MCBzZWNvbmRzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvd2F2cGFjay5jOiAod2F2cGFja19zdWl0ZSk6CgkgIEJ1bXAgdGltZW91dCBmcm9tIDMgdG8gNjAgc2Vjb25kcy4KCjIwMDgtMDQtMDMgMjA6MjE6MTUgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy8uY3ZpZ25vcmU6IFJlbW92ZSB1c2VsZXNzIGZpbGUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy8uY3ZpZ25vcmU6CgkgIFJlbW92ZSB1c2VsZXNzIGZpbGUuCgkgICogdGVzdHMvY2hlY2svcGlwZWxpbmVzLy5jdnNpZ25vcmU6CgkgIEFkZCBuZXcgdGVzdCB0byAuY3ZzaWdub3JlLgoKMjAwOC0wNC0wMyAyMDowNTozMSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgdGVzdHMvY2hlY2svOiBBZGQgdW5pdCB0ZXN0IHRoYXQgZW5jb2RlcyBhbmQgZGVjb2RlcyBzb21lIGRhdGEsIGNoZWNrcyB0aGF0IGl0IGlzIHN0aWxsIHRoZSBzYW1lIGFuZCB0aGF0IGFsbCB0aW1lc3RhLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICAqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy93YXZwYWNrLmM6IChidXNfaGFuZGxlciksCgkgIChpZGVudGl0eV9oYW5kb2ZmKSwgKGZha2VzaW5rX2hhbmRvZmYpLCAoR1NUX1NUQVJUX1RFU1QpLAoJICAod2F2cGFja19zdWl0ZSksIChtYWluKToKCSAgQWRkIHVuaXQgdGVzdCB0aGF0IGVuY29kZXMgYW5kIGRlY29kZXMgc29tZSBkYXRhLCBjaGVja3MgdGhhdCBpdAoJICBpcyBzdGlsbCB0aGUgc2FtZSBhbmQgdGhhdCBhbGwgdGltZXN0YW1wcy9vZmZzZXRzIGFyZSBwZXJmZWN0LgoKMjAwOC0wNC0wMyAxODoyODoyOCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZXh0L3dhdnBhY2svOiBVc2UgR1NsaWNlIGZvciBhbGxvY2F0aW5nIGluZGV4IGVudHJpZXMgYW5kIHVzZSBnc3RfZWxlbWVudF9jbGFzc19zZXRfZGV0YWlsc19zaW1wbGUoKS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2RlYy5jOiAoZ3N0X3dhdnBhY2tfZGVjX2Jhc2VfaW5pdCk6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2VuYy5jOiAoZ3N0X3dhdnBhY2tfZW5jX2Jhc2VfaW5pdCk6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja3BhcnNlLmM6CgkgIChnc3Rfd2F2cGFja19wYXJzZV9pbmRleF9lbnRyeV9uZXcpLAoJICAoZ3N0X3dhdnBhY2tfcGFyc2VfaW5kZXhfZW50cnlfZnJlZSksCgkgIChnc3Rfd2F2cGFja19wYXJzZV9iYXNlX2luaXQpLAoJICAoZ3N0X3dhdnBhY2tfcGFyc2VfaW5kZXhfYXBwZW5kX2VudHJ5KSwgKGdzdF93YXZwYWNrX3BhcnNlX3Jlc2V0KToKCSAgVXNlIEdTbGljZSBmb3IgYWxsb2NhdGluZyBpbmRleCBlbnRyaWVzIGFuZCB1c2UKCSAgZ3N0X2VsZW1lbnRfY2xhc3Nfc2V0X2RldGFpbHNfc2ltcGxlKCkuCgoyMDA4LTA0LTAyIDIyOjM3OjI5ICswMDAwICBCcmlhbiBDYW1lcm9uIDxicmlhbi5jYW1lcm9uQHN1bi5jb20+CgoJICBzeXMvc3VuYXVkaW8vOiBGaXggdXAgY29weXJpZ2h0cyAoIzUyNTg2MCkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogQnJpYW4gQ2FtZXJvbiA8YnJpYW4uY2FtZXJvbiBhdCBzdW4gZG90IGNvbT4KCSAgKiBzeXMvc3VuYXVkaW8vZ3N0c3VuYXVkaW8uYzoKCSAgKiBzeXMvc3VuYXVkaW8vZ3N0c3VuYXVkaW9taXhlci5jOgoJICAqIHN5cy9zdW5hdWRpby9nc3RzdW5hdWRpb21peGVyLmg6CgkgICogc3lzL3N1bmF1ZGlvL2dzdHN1bmF1ZGlvbWl4ZXJjdHJsLmM6CgkgICogc3lzL3N1bmF1ZGlvL2dzdHN1bmF1ZGlvbWl4ZXJjdHJsLmg6CgkgICogc3lzL3N1bmF1ZGlvL2dzdHN1bmF1ZGlvbWl4ZXJ0cmFjay5jOgoJICAqIHN5cy9zdW5hdWRpby9nc3RzdW5hdWRpb21peGVydHJhY2suaDoKCSAgKiBzeXMvc3VuYXVkaW8vZ3N0c3VuYXVkaW9zaW5rLmM6CgkgICogc3lzL3N1bmF1ZGlvL2dzdHN1bmF1ZGlvc2luay5oOgoJICAqIHN5cy9zdW5hdWRpby9nc3RzdW5hdWRpb3NyYy5jOgoJICAqIHN5cy9zdW5hdWRpby9nc3RzdW5hdWRpb3NyYy5oOgoJICBGaXggdXAgY29weXJpZ2h0cyAoIzUyNTg2MCkuCgoyMDA4LTA0LTAyIDE2OjEwOjMzICswMDAwICBDaHJpc3RpYW4gU2NoYWxsZXIgPHVyYWV1c0Bnbm9tZS5vcmc+CgoJKiBnc3QtcGx1Z2lucy1nb29kLnNwZWMuaW46CgkgIGFkZCBuZXcgZ29vbSBwbHVnaW4gdG8gc3BlYyBmaWxlCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBhZGQgbmV3IGdvb20gcGx1Z2luIHRvIHNwZWMgZmlsZQoKMjAwOC0wNC0wMiAxNTo0MjoyNyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9nb29tL2dvb21zbC5jOiBDaGVjayByZXR1cm4gdmFsdWUgb2YgZnJlYWQoKSB0byBhdm9pZCBjb21waWxlciB3YXJuaW5ncy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2dvb20vZ29vbXNsLmM6IChnc2xfcmVhZF9maWxlKToKCSAgQ2hlY2sgcmV0dXJuIHZhbHVlIG9mIGZyZWFkKCkgdG8gYXZvaWQgY29tcGlsZXIgd2FybmluZ3MuCgoyMDA4LTA0LTAxIDExOjAwOjQzICswMDAwICBtZXJzYWQgPG1lcnNhZEBheGlzLmNvbT4KCgkgIGdzdC9sYXcvOiBNYWtlIG5lZ290aWF0aW9uIGEgYml0IG1vZGVybi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEJhc2VkIG9uIHBhdGNoIGJ5OiBtZXJzYWQgPG1lcnNhZCBhdCBheGlzIGRvdCBjb20+CgkgICogZ3N0L2xhdy9hbGF3LWRlY29kZS5jOiAoZ3N0X2FsYXdfZGVjX3Npbmtfc2V0Y2FwcyksCgkgIChnc3RfYWxhd19kZWNfY2hhaW4pLCAoZ3N0X2FsYXdfZGVjX2NoYW5nZV9zdGF0ZSk6CgkgICogZ3N0L2xhdy9hbGF3LWRlY29kZS5oOgoJICAqIGdzdC9sYXcvYWxhdy1lbmNvZGUuYzogKGdzdF9hbGF3X2VuY19jaGFpbik6CgkgICogZ3N0L2xhdy9tdWxhdy1kZWNvZGUuYzogKG11bGF3ZGVjX3Npbmtfc2V0Y2FwcyksCgkgIChnc3RfbXVsYXdkZWNfY2hhaW4pLCAoZ3N0X211bGF3ZGVjX2NoYW5nZV9zdGF0ZSk6CgkgICogZ3N0L2xhdy9tdWxhdy1kZWNvZGUuaDoKCSAgKiBnc3QvbGF3L211bGF3LWVuY29kZS5jOiAoZ3N0X211bGF3ZW5jX2NoYWluKToKCSAgTWFrZSBuZWdvdGlhdGlvbiBhIGJpdCBtb2Rlcm4uCgkgIFVzZSBwYWRfYWxsb2MuIEZpeGVzICM1MjUzNTkuCgoyMDA4LTAzLTMxIDIyOjA2OjE0ICswMDAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkgIGdzdC9nb29tL3htbXguYzogRml4IGNvbnN0cmFpbnRzIG9uIGFzbSBjb2RlIHNvIHRoYXQgaXQgY29tcGlsZXMgY29uc2lzdGVudGx5LiAgRml4ZXMgIzUyMjI3OC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2dvb20veG1teC5jOiBGaXggY29uc3RyYWludHMgb24gYXNtIGNvZGUgc28gdGhhdCBpdAoJICBjb21waWxlcyBjb25zaXN0ZW50bHkuICBGaXhlcyAjNTIyMjc4LgoKMjAwOC0wMy0yNyAwOTozNjo1OCArMDAwMCAgQnJpYW4gQ2FtZXJvbiA8YnJpYW4uY2FtZXJvbkBzdW4uY29tPgoKCSAgc3lzL3N1bmF1ZGlvLzogRml4IHVwIHRoZSBtaXhlciB0cmFja3MgdG8gdXNlIGEgdm9sdW1lIHJhbmdlIG9mIDAtMjU1LCB3aGljaCBpcyB3aGF0IHRoZSBzdW4gYXVkaW8gQVBJIHVzZXMuIFRoaXMgc2ltLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogQnJpYW4gQ2FtZXJvbiA8YnJpYW4uY2FtZXJvbiBhdCBzdW4gZG90IGNvbT4KCSAgKiBzeXMvc3VuYXVkaW8vZ3N0c3VuYXVkaW9taXhlcmN0cmwuYzoKCSAgKGdzdF9zdW5hdWRpb21peGVyX2N0cmxfZ2V0X3ZvbHVtZSksCgkgIChnc3Rfc3VuYXVkaW9taXhlcl9jdHJsX3NldF92b2x1bWUpOgoJICAqIHN5cy9zdW5hdWRpby9nc3RzdW5hdWRpb21peGVydHJhY2suYzogKGdzdF9zdW5hdWRpb21peGVyX3RyYWNrX25ldyk6CgkgIEZpeCB1cCB0aGUgbWl4ZXIgdHJhY2tzIHRvIHVzZSBhIHZvbHVtZSByYW5nZSBvZiAwLTI1NSwgd2hpY2ggaXMgd2hhdAoJICB0aGUgc3VuIGF1ZGlvIEFQSSB1c2VzLiBUaGlzIHNpbXBsaWZpZXMgdGhlIGNvZGUgYW5kIGF2b2lkcyByb3VuZGluZwoJICBlcnJvcnMuIEZpeGVzICM1MjQ1OTMuCgoyMDA4LTAzLTI2IDE1OjEwOjA4ICswMDAwICBFZGdhcmQgTGltYSA8ZWRnYXJkLmxpbWFAaW5kdC5vcmcuYnI+CgoJKiBDaGFuZ2VMb2c6CgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5oOgoJICBBZGQgZGV2aWNlLWZkIHByb3BlcnR5IHRvIG1ha2UgaXQgcG9zc2libGUgdG8gYXBwcyB0byBjYWxsIGlvY3RsJ3MuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBBZGQgZGV2aWNlLWZkIHByb3BlcnR5IHRvIG1ha2UgaXQgcG9zc2libGUgdG8gYXBwcyB0byBjYWxsIGlvY3RsJ3MuCgoyMDA4LTAzLTI1IDE2OjQ0OjIwICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBVbmJyZWFrIHN0cmVhbWluZyBtb2RlIGFnYWluLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChuZXh0X2VudHJ5X3NpemUpOgoJICBVbmJyZWFrIHN0cmVhbWluZyBtb2RlIGFnYWluLgoKMjAwOC0wMy0yNSAxMjozOToyMiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuYzogUmVtb3ZlIHN1cGVyZmx1b3VzIERFQlVHIG1hY3JvLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmM6IChnc3RfdjRsMnNyY19zZXRfY2FwdHVyZSk6CgkgIFJlbW92ZSBzdXBlcmZsdW91cyBERUJVRyBtYWNyby4KCjIwMDgtMDMtMjUgMTI6MzM6MDkgKzAwMDAgIFdpbGxpYW0gTS4gQnJhY2sgPHdicmFja0BtbW0uY29tLmhrPgoKCSAgc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5jOiBDaGVjayB3aGV0aGVyIHRoZSBkZXZpY2Ugc3VwcG9ydHMgc2V0dGluZyB0aGUgZnJhbWVyYXRlIGJlZm9yZSB0cnlpbmcgdG8gc2V0IGl0IGFuZCB0aGVuIHBvLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBCYXNlZCBvbiBwYXRjaCBieTogV2lsbGlhbSBNLiBCcmFjayA8d2JyYWNrIGF0IG1tbSBjb20gaGs+CgkgICogc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5jOiAoZnJhY3Rpb25zX2FyZV9lcXVhbCksCgkgIChnc3RfdjRsMnNyY19zZXRfY2FwdHVyZSk6CgkgIENoZWNrIHdoZXRoZXIgdGhlIGRldmljZSBzdXBwb3J0cyBzZXR0aW5nIHRoZSBmcmFtZXJhdGUgYmVmb3JlCgkgIHRyeWluZyB0byBzZXQgaXQgYW5kIHRoZW4gcG9zdGluZyBhIHdhcm5pbmcgb3IgZXJyb3IgaWYgaXQgZG9lc24ndAoJICB3b3JrICgjNTE2NjQ5LCAjNTIwMDkyKS4gQWxzbyBjb21wYXJlIGZyYWN0aW9ucyBtb3JlIGNvcnJlY3RseS4KCjIwMDgtMDMtMjQgMTI6MzI6NTkgKzAwMDAgIFJlbmUgU3RhZGxlciA8bWFpbEByZW5lc3RhZGxlci5kZT4KCgkgIE1ha2UgcmdhbmFseXNpcyBhbmQgcmdsaW1pdGVyIGVsZW1lbnRzIEdBUC1mbGFnIGF3YXJlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcmVwbGF5Z2Fpbi9nc3RyZ2FuYWx5c2lzLmMgKGdzdF9yZ19hbmFseXNpc19pbml0KSwKCSAgKGdzdF9yZ19hbmFseXNpc190cmFuc2Zvcm1faXApOgoJICAqIGdzdC9yZXBsYXlnYWluL2dzdHJnbGltaXRlci5jIChnc3RfcmdfbGltaXRlcl9pbml0KSwKCSAgKGdzdF9yZ19saW1pdGVyX3RyYW5zZm9ybV9pcCk6CgkgIE1ha2UgcmdhbmFseXNpcyBhbmQgcmdsaW1pdGVyIGVsZW1lbnRzIEdBUC1mbGFnIGF3YXJlLgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3JnYW5hbHlzaXMuYzogKHRlc3RfZ2FwX2J1ZmZlcnMpLAoJICAocmdhbmFseXNpc19zdWl0ZSk6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvcmdsaW1pdGVyLmMgKHRlc3RfZ2FwKSwgKHJnbGltaXRlcl9zdWl0ZSk6CgkgIEFkZCB0ZXN0cyB0byB2ZXJpZnkgZ2FwLWF3YXJlbmVzcy4KCjIwMDgtMDMtMjMgMTM6MzE6MTUgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvZ29vbS9NYWtlZmlsZS5hbTogUmVtb3ZlIHBwYyBhc3NlbWJsZXIgb3B0aW1pc2F0aW9ucyBmcm9tIHRoZSBidWlsZCB1bnRpbCB0aGV5IGFjdHVhbGx5IGJ1aWxkICh0aGV5IGFsc28gc2VlbSB0byAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2dvb20vTWFrZWZpbGUuYW06CgkgIFJlbW92ZSBwcGMgYXNzZW1ibGVyIG9wdGltaXNhdGlvbnMgZnJvbSB0aGUgYnVpbGQgdW50aWwgdGhleQoJICBhY3R1YWxseSBidWlsZCAodGhleSBhbHNvIHNlZW0gdG8gaGF2ZSBHUEwgaGVhZGVycykuCgoyMDA4LTAzLTIzIDEyOjQ4OjQ0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgbTQvTWFrZWZpbGUuYW06IEJldHRlciBub3QgZGlzdCBmaWxlcyB0aGF0IGRvbid0IGV4aXN0IGFueSBsb25nZXIgKGxyaW50Km00KS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogbTQvTWFrZWZpbGUuYW06CgkgIEJldHRlciBub3QgZGlzdCBmaWxlcyB0aGF0IGRvbid0IGV4aXN0IGFueSBsb25nZXIgKGxyaW50Km00KS4KCjIwMDgtMDMtMjIgMTk6MjY6MDQgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6IERvbid0IGF1dG9wbHVnIHNvdXBodHRwc3JjIGZvciBkYXYvZGF2cy4gVGhpcyBpcyBiZXR0ZXIgaGFuZGxlZCBieQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOiAoZ3N0X3NvdXBfaHR0cF9zcmNfZ290X2hlYWRlcnNfY2IpLAoJICAoZ3N0X3NvdXBfaHR0cF9zcmNfY2h1bmtfYWxsb2NhdG9yKSwKCSAgKGdzdF9zb3VwX2h0dHBfc3JjX2dvdF9jaHVua19jYiksCgkgIChnc3Rfc291cF9odHRwX3NyY191cmlfZ2V0X3Byb3RvY29scyk6CgkgIERvbid0IGF1dG9wbHVnIHNvdXBodHRwc3JjIGZvciBkYXYvZGF2cy4gVGhpcyBpcyBiZXR0ZXIgaGFuZGxlZCBieQoJICBHSU8gYW5kIEdub21lVkZTIGFzIHRoZXkgcHJvdmlkZSBhdXRoZW50aWNhdGlvbi4KCSAgRG9uJ3QgbGVhayB0aGUgaWN5IGNhcHMgaWYgd2UgYWxyZWFkeSBzZXQgdGhlbSBhbmQgZ2V0IGEgbmV3CgkgIGljeS1tZXRhaW50IGhlYWRlci4KCSAgVHJ5IGhhcmRlciB0byBzZXQgdGhlIGljeSBjYXBzIG9uIHRoZSBvdXRwdXQgYnVmZmVyIHRvIGhhdmUgY29ycmVjdAoJICBjYXBzIGZvciB0aGUgZmlyc3QgYnVmZmVyIGFscmVhZHkuCgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvc291cGh0dHBzcmMuYzogKGdvdF9idWZmZXIpLAoJICAoR1NUX1NUQVJUX1RFU1QpOgoJICBDaGVjayB0aGF0IHdlIGdldCBhIGJ1ZmZlciB3aXRoIGFwcGxpY2F0aW9uL3gtaWN5IGNhcHMgaWYgaXJhZGlvLW1vZGUKCSAgaXMgZW5hYmxlZCBhbmQgd2UgaGF2ZSBhbiBpY2VjYXN0IFVSTC4KCjIwMDgtMDMtMjIgMTg6MTg6NDYgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6IEFjdHVhbGx5IHNldCB0aGUgaWN5IGNhcHMgb24gb3VyIHNyYyBwYWQgaWYgd2UgaGF2ZSBpY2VjYXN0IGRhdGEuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6IChnc3Rfc291cF9odHRwX3NyY19jaHVua19hbGxvY2F0b3IpOgoJICBBY3R1YWxseSBzZXQgdGhlIGljeSBjYXBzIG9uIG91ciBzcmMgcGFkIGlmIHdlIGhhdmUgaWNlY2FzdCBkYXRhLgoJICBGaXhlcyBidWcgIzUyMzg1NC4KCjIwMDgtMDMtMjEgMTM6MzY6MjcgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIFJlbW92ZSBscmludC9scmludGYgY2hlY2tzLiBXZSBkb24ndCB1c2UgaXQgYW55d2hlcmUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBtNC9scmludC5tNDoKCSAgKiBtNC9scmludGYubTQ6CgkgIFJlbW92ZSBscmludC9scmludGYgY2hlY2tzLiBXZSBkb24ndCB1c2UgaXQgYW55d2hlcmUuCgoyMDA4LTAzLTE5IDE5OjU2OjU5ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3QvZnJlZXplLzogQWRkIGV4YW1wbGUgdG8gc291cmNlIGNvZGUgZG9jdW1lbnRhdGlvbiBibG9iIGFuZCByZW1vdmUgdGhlIDMgbGluZQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZnJlZXplL0ZBUToKCSAgKiBnc3QvZnJlZXplL01ha2VmaWxlLmFtOgoJICAqIGdzdC9mcmVlemUvZ3N0ZnJlZXplLmM6CgkgIEFkZCBleGFtcGxlIHRvIHNvdXJjZSBjb2RlIGRvY3VtZW50YXRpb24gYmxvYiBhbmQgcmVtb3ZlIHRoZSAzIGxpbmUKCSAgRkFRLgoJICAqIGdzdC9pbnRlcmxlYXZlL2ludGVybGVhdmUuYzoKCSAgQWRkIGEgc291cmNlIGNvZGUgZG9jdW1lbnRhdGlvbiBibG9iLgoKMjAwOC0wMy0xOCAxNTowMzowNiArMDAwMCAgQW5keSBXaW5nbyA8d2luZ29AcG9ib3guY29tPgoKCSogQ2hhbmdlTG9nOgoJKiBzeXMvb3N4dmlkZW8vb3N4dmlkZW9zaW5rLmg6CgkqIHN5cy9vc3h2aWRlby9vc3h2aWRlb3NpbmsubToKCSAgc3lzL29zeHZpZGVvL29zeHZpZGVvc2luay5tIChnc3Rfb3N4X3ZpZGVvX3Npbmtfb3N4d2luZG93X2Rlc3Ryb3kpCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA4LTAzLTE4ICBBbmR5IFdpbmdvICA8d2luZ29AcG9ib3guY29tPgoJICAqIHN5cy9vc3h2aWRlby9vc3h2aWRlb3NpbmsubQoJICAoZ3N0X29zeF92aWRlb19zaW5rX29zeHdpbmRvd19kZXN0cm95KQoJICAoZ3N0X29zeF92aWRlb19zaW5rX29zeHdpbmRvd19uZXcpOiBBY3R1YWxseSBzZXQgYSBsb2NrIG9uIHRoZQoJICB0YXNrLCB3aG9vcGRlZS4KCSAgKGNvY29hX2V2ZW50X2xvb3ApOiBQYWNpZnkgdGhlIHRheW1hbnMgYnkgdXBwaW5nIHRoZSB1c2xlZXBhZ2UgdG8KCSAgMiBtcy4KCjIwMDgtMDMtMTggMTE6NTA6MDggKzAwMDAgIEFuZHkgV2luZ28gPHdpbmdvQHBvYm94LmNvbT4KCgkgIHN5cy9vc3h2aWRlby9vc3h2aWRlb3NpbmsubSAoZ3N0X29zeF92aWRlb19zaW5rX29zeHdpbmRvd19kZXN0cm95KQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwOC0wMy0xOCAgQW5keSBXaW5nbyAgPHdpbmdvQHBvYm94LmNvbT4KCSAgKiBzeXMvb3N4dmlkZW8vb3N4dmlkZW9zaW5rLm0gKGdzdF9vc3hfdmlkZW9fc2lua19vc3h3aW5kb3dfZGVzdHJveSkKCSAgKGdzdF9vc3hfdmlkZW9fc2lua19vc3h3aW5kb3dfbmV3LCBjb2NvYV9ldmVudF9sb29wKToKCSAgKiBzeXMvb3N4dmlkZW8vb3N4dmlkZW9zaW5rLmggKHN0cnVjdCBfR3N0T1NYVmlkZW9TaW5rKTogSWYgd2UKCSAgbmVlZCB0byBydW4gYW4gZXZlbnQgbG9vcCwgZG8gc28gaW4gYSB0YXNrIGluc3RlYWQgb2YgYXNzdW1pbmcKCSAgdGhhdCB0aGVyZSB3aWxsIGJlIGEgR01haW5Mb29wLiBGaXhlcyAjNTIzMTM0LgoKMjAwOC0wMy0xNyAxOTo1MDo1OCArMDAwMCAgV2lsbGlhbSBNLiBCcmFjayA8d2JyYWNrQG1tbS5jb20uaGs+CgoJICBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmM6IE1ha2Ugc3VyZSB0aGUgcHJvYmVkIGZyYW1lIHNpemVzIGFyZSByZXZlcnNlZCBpbiB0aGUgcmVzdWx0aW5nIGNhcHMgYWxzbyB3aGVuIHVzaW5nIFY0TDJfRlIuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBXaWxsaWFtIE0uIEJyYWNrIDx3YnJhY2sgYXQgbW1tIGNvbSBoaz4KCSAgKiBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmM6CgkgIChnc3RfdjRsMnNyY19wcm9iZV9jYXBzX2Zvcl9mb3JtYXRfYW5kX3NpemUpLAoJICAoZ3N0X3Y0bDJzcmNfcHJvYmVfY2Fwc19mb3JfZm9ybWF0KToKCSAgTWFrZSBzdXJlIHRoZSBwcm9iZWQgZnJhbWUgc2l6ZXMgYXJlIHJldmVyc2VkIGluIHRoZSByZXN1bHRpbmcKCSAgY2FwcyBhbHNvIHdoZW4gdXNpbmcgVjRMMl9GUk1TSVpFX1NURVBXSVNFIChzbyB0aGV5IGVuZCB1cAoJICBoaWdoZXN0IHJlc29sdXRpb24gZmlyc3QpOyBhbHNvIHJlbW92ZSB1bnVzZWQgdmFyaWFibGUuCgkgIChQYXJ0bHkgZml4ZXMgIzUyMDA5MikKCjIwMDgtMDMtMTcgMTU6NTY6MDEgKzAwMDAgIE9sZSBBbmRyw6kgVmFkbGEgUmF2bsOlcyA8b2xlLmFuZHJlLnJhdm5hc0B0YW5kYmVyZy5jb20+CgoJICBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IENhbGwgV1NBU3RhcnR1cCgpIGFuZCBXU0FDbGVhbnVwIGJlZm9yZSB1c2luZyB0aGUgV2luc29jayBBUEkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogT2xlIEFuZHLDqSBWYWRsYSBSYXZuw6VzICA8b2xlLmFuZHJlLnJhdm5hc0B0YW5kYmVyZy5jb20+CgkgICogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiAoZ3N0X3J0c3BzcmNfaW5pdCksCgkgIChnc3RfcnRzcHNyY19maW5hbGl6ZSk6CgkgIENhbGwgV1NBU3RhcnR1cCgpIGFuZCBXU0FDbGVhbnVwIGJlZm9yZSB1c2luZyB0aGUgV2luc29jayBBUEkuCgkgIFNlZSAjNTIwODA4LgoKMjAwOC0wMy0xNiAxNTowMTowNyArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L2F2aS9nc3RhdmlkZW11eC5jOiBFcm0sIHRoZSBidWZmZXItc2l6ZSBpcyBqdXN0IGd1aW50LCBubyBuZWVkIGZvciB0aGUgc3BlY2lhbCBmb3JtYXQgc3BlY2lmaWVyLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIEVybSwgdGhlIGJ1ZmZlci1zaXplIGlzIGp1c3QgZ3VpbnQsIG5vIG5lZWQgZm9yIHRoZSBzcGVjaWFsIGZvcm1hdAoJICBzcGVjaWZpZXIuCgoyMDA4LTAzLTE2IDE0OjM0OjQ1ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L2dvb20vOiBTbWFsbCBmaXhlcyB0byBidWlsZCBtb3JlIG9uIFBQQzogaWZkZWYgb3V0IGNvZGUgdGhhdCB1c2VzIHVua25vd24gZGVmaW5lOyBhZGQgbmV3bGluZSBhdCBlbmQgb2YgaGVhZGVyIGZpLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9nb29tL3BsdWdpbl9pbmZvLmM6CgkgICogZ3N0L2dvb20vcHBjX3pvb21fdWx0aW1hdGUuaDoKCSAgU21hbGwgZml4ZXMgdG8gYnVpbGQgbW9yZSBvbiBQUEM6IGlmZGVmIG91dCBjb2RlIHRoYXQgdXNlcyB1bmtub3duCgkgIGRlZmluZTsgYWRkIG5ld2xpbmUgYXQgZW5kIG9mIGhlYWRlciBmaWxlIHRvIGF2b2lkIGNvbXBpbGVyIHdhcm5pbmcuCgkgIEFzc2VtYmxlciBjb2RlIHN0aWxsIGRvZXNuJ3QgYnVpbGQgdGhvdWdoLgoKMjAwOC0wMy0xNiAxNDowNDoxNiArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L2F2aS9nc3RhdmlkZW11eC5jOiBGaXggdXAgbXkgbGFzdCBjb21taXQuIFVzZSBHX0dVSU5UMzJfRk9STUFUIGZvciB0aGUgZ3VpbnQzMiBkZWJ1ZyBsb2cuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgRml4IHVwIG15IGxhc3QgY29tbWl0LiBVc2UgR19HVUlOVDMyX0ZPUk1BVCBmb3IgdGhlIGd1aW50MzIgZGVidWcgbG9nLgoJICBBbHNvIGRvd25ncmFkZSBhIEdTVF9XQVJOSU5HIHRvIEdTVF9ERUJVRyBhbmQgYWRkIGEgY29tbWVudC4KCjIwMDgtMDMtMTUgMjI6MTA6MzggKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzogQ2h1bmtzaXplIGlzIHVpbnQzMi4gRml4IGZvcm1hdCBzcGVjaWZpZXIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgQ2h1bmtzaXplIGlzIHVpbnQzMi4gRml4IGZvcm1hdCBzcGVjaWZpZXIuCgoyMDA4LTAzLTE0IDE1OjUzOjAxICswMDAwICBDaHJpc3RpYW4gU2NoYWxsZXIgPHVyYWV1c0Bnbm9tZS5vcmc+CgoJKiBDaGFuZ2VMb2c6CgkqIGdzdC9ydHNwL0NPUFlJTkcuTUlUOgoJICBmaXggbGljZW5zZSBmaWxlLCByZW1vdmUgZXh0cmEgbGluZSBjb3BpZWQgb3ZlciBieSBtaXN0YWtlCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBmaXggbGljZW5zZSBmaWxlLCByZW1vdmUgZXh0cmEgbGluZSBjb3BpZWQgb3ZlciBieSBtaXN0YWtlCgoyMDA4LTAzLTEzIDE0OjMwOjQ1ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvYXVkaW9meC9hdWRpb2Z4LmM6IFVzZSBHU1RfTElDRU5TRSwgR1NUX1BBQ0tBR0VfTkFNRSBhbmQgR1NUX1BBQ0tBR0VfT1JJR0lOIGluc3RlYWQgb2YgaGFyZGNvZGluZyB2YWx1ZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdWRpb2Z4L2F1ZGlvZnguYzoKCSAgVXNlIEdTVF9MSUNFTlNFLCBHU1RfUEFDS0FHRV9OQU1FIGFuZCBHU1RfUEFDS0FHRV9PUklHSU4gaW5zdGVhZAoJICBvZiBoYXJkY29kaW5nIHZhbHVlcy4KCjIwMDgtMDMtMTMgMDk6NDU6MDkgKzAwMDAgIFdvdXRlciBDbG9ldGVucyA8d291dGVyQG1pbmQuYmU+CgoJICBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy4qOiBUcnkgdG8gcmVzdW1lIG9uIHNlcnZlciBkaXNjb25uZWN0LiBGaXhlcyBidWcgIzUyMjEzNC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBXb3V0ZXIgQ2xvZXRlbnMgPHdvdXRlciBhdCBtaW5kIGRvdCBiZT4KCSAgKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOiAoZ3N0X3NvdXBfaHR0cF9zcmNfaW5pdCksCgkgIChnc3Rfc291cF9odHRwX3NyY19maW5pc2hlZF9jYiksIChnc3Rfc291cF9odHRwX3NyY19yZXNwb25zZV9jYiksCgkgIChnc3Rfc291cF9odHRwX3NyY19idWlsZF9tZXNzYWdlKSwgKGdzdF9zb3VwX2h0dHBfc3JjX2NyZWF0ZSk6CgkgICogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuaDoKCSAgVHJ5IHRvIHJlc3VtZSBvbiBzZXJ2ZXIgZGlzY29ubmVjdC4gRml4ZXMgYnVnICM1MjIxMzQuCgoyMDA4LTAzLTExIDIzOjEyOjA0ICswMDAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYW5hdXdAc2t5bmV0LmJlPgoKCSAgc3lzL29zcy9nc3Rvc3NzcmMuKjogQ2FjaGUgcHJvYmVkIGNhcHMsIHNvIF9nZXRfY2FwcygpIGR1cmluZyByZWNvcmRpbmcgZG9lc24ndCBjYXVzZSBpb2N0bCBjYWxscyB3aGljaCBtYXkgZGlzcnVwdCB0Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogTWFyayBOYXV3ZWxhZXJ0cyA8bWFuYXV3IHNreW5ldCBiZT4KCSAgKiBzeXMvb3NzL2dzdG9zc3NyYy5jOiAoZ3N0X29zc19zcmNfaW5pdCksIChnc3Rfb3NzX3NyY19nZXRjYXBzKSwKCSAgKGdzdF9vc3Nfc3JjX2Nsb3NlKToKCSAgKiBzeXMvb3NzL2dzdG9zc3NyYy5oOgoJICBDYWNoZSBwcm9iZWQgY2Fwcywgc28gX2dldF9jYXBzKCkgZHVyaW5nIHJlY29yZGluZyBkb2Vzbid0IGNhdXNlCgkgIGlvY3RsIGNhbGxzIHdoaWNoIG1heSBkaXNydXB0IHRoZSByZWNvcmRpbmcgKGZpeGVzICM1MjE4NzUpLgoKMjAwOC0wMy0xMSAxNjoyMzowNCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogTWFrZSBzdXJlIHdlIGFsd2F5cyBzZW5kIGEgRElTQ09OVCBhZnRlciBhIHNlZWsgYnkgc2V0dGluZyB0aGUgc2FtcGxlIGluZGV4IHRvIGFuIHVuZGVmaW5lZCB2YS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChnc3RfcXRkZW11eF9wZXJmb3JtX3NlZWspLAoJICAoZ3N0X3F0ZGVtdXhfYWN0aXZhdGVfc2VnbWVudCksCgkgIChnc3RfcXRkZW11eF9wcmVwYXJlX2N1cnJlbnRfc2FtcGxlKSwKCSAgKGdzdF9xdGRlbXV4X2xvb3Bfc3RhdGVfbW92aWUpLCAocXRkZW11eF9wYXJzZV90cmFrKToKCSAgTWFrZSBzdXJlIHdlIGFsd2F5cyBzZW5kIGEgRElTQ09OVCBhZnRlciBhIHNlZWsgYnkgc2V0dGluZyB0aGUgc2FtcGxlCgkgIGluZGV4IHRvIGFuIHVuZGVmaW5lZCB2YWx1ZSBhZnRlciBhIHNlZWsuCgoyMDA4LTAzLTExIDE1OjE4OjQzICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L2F2aS9nc3RhdmlzdWJ0aXRsZS5oOiBGaXggdXAgSVNfRk9PIG1hY3Jvcywgd2hpY2ggbWFrZXMgZ3RrLWRvYyBtdWNoIGhhcHBpZXIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdmkvZ3N0YXZpc3VidGl0bGUuaDogKEdTVF9JU19BVklfU1VCVElUTEUpLAoJICAoR1NUX0lTX0FWSV9TVUJUSVRMRV9DTEFTUyk6CgkgIEZpeCB1cCBJU19GT08gbWFjcm9zLCB3aGljaCBtYWtlcyBndGstZG9jIG11Y2ggaGFwcGllci4KCjIwMDgtMDMtMDggMTk6Mjk6MjAgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICB0ZXN0cy9pY2xlcy9NYWtlZmlsZS5hbTogTW92ZSB0aGUgLWxnc3Rmb28gd2hlcmUgaXQgYmVsb25ncy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvaWNsZXMvTWFrZWZpbGUuYW06CgkgIE1vdmUgdGhlIC1sZ3N0Zm9vIHdoZXJlIGl0IGJlbG9uZ3MuCgoyMDA4LTAzLTA4IDE5OjE0OjIyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogQ2hhbmdlTG9nOgoJICBDaGFuZ2VMb2cgc3VyZ2VyeQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgQ2hhbmdlTG9nIHN1cmdlcnkKCjIwMDgtMDMtMDggMDQ6NDA6MzIgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9tYXRyb3NrYS9lYm1sLWlkcy5oOiBBZGQgSUQgZm9yIEVCTUwgQ1JDMzIgZWxlbWVudHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tYXRyb3NrYS9lYm1sLWlkcy5oOgoJICBBZGQgSUQgZm9yIEVCTUwgQ1JDMzIgZWxlbWVudHMuCgkgICogZ3N0L21hdHJvc2thL01ha2VmaWxlLmFtOgoJICAqIGdzdC9tYXRyb3NrYS9lYm1sLXJlYWQuYzogKGdzdF9lYm1sX2ZpbmFsaXplKSwKCSAgKGdzdF9lYm1sX3JlYWRfY2xhc3NfaW5pdCksIChnc3RfZWJtbF9yZWFkX3BlZWtfYnl0ZXMpLAoJICAoZ3N0X2VibWxfcmVhZF9nZXRfbGVuZ3RoKSwgKF9leHQyZGJsKSwgKGdzdF9lYm1sX3JlYWRfZmxvYXQpLAoJICAoZ3N0X2VibWxfcmVhZF9oZWFkZXIpOgoJICBTdXBwb3J0IHJlYWRpbmcgODBiaXQgZmxvYXRzLCBhZGQgZmluYWxpemUgbWV0aG9kIHRvIGNsZWFuIHVwCgkgIGluIGFueSBjYXNlLCBzdXBwb3J0IHJlYWRpbmcgbGVuZ3RoL2lkIGVsZW1lbnRzIHdpdGggYW55IGxlbmd0aAoJICBhcyBsb25nIGFzIGl0J3Mgc21hbGxlciB0aGFuIG91ciBzdXBwb3J0ZWQgbWF4aW11bSwgZG9uJ3QgbGVhawoJICBidWZmZXJzIGlmIHJlYWRpbmcgYXMgbXVjaCBkYXRhIGFzIHdlIHdhbnRlZCBmYWlsZWQgYW5kIHNvbWUKCSAgc21hbGxlciBjbGVhbnVwLgoKMjAwOC0wMy0wOCAwNDoyMTozNCArMDAwMCAgT2xpdmllciBDcmV0ZSA8dGVzdGVyQHRlc3Rlci5jYT4KCgkgIGdzdC9ydHAvZ3N0cnRwaDI2M3BkZXBheS5jOiBDaGVjayB0aGF0IGEgYnVmZmVyIGlzIGxhcmdlIGVub3VnaCBiZWZvcmUgcmVhZGluZyBmcm9tIGl0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IE9saXZpZXIgQ3JldGUgPHRlc3RlciBhdCB0ZXN0ZXIgZG90IGNhPgoJICAqIGdzdC9ydHAvZ3N0cnRwaDI2M3BkZXBheS5jOiAoZ3N0X3J0cF9oMjYzcF9kZXBheV9wcm9jZXNzKToKCSAgQ2hlY2sgdGhhdCBhIGJ1ZmZlciBpcyBsYXJnZSBlbm91Z2ggYmVmb3JlIHJlYWRpbmcgZnJvbSBpdC4KCSAgRml4ZXMgYnVnICM1MjExMDIuCgoyMDA4LTAzLTA3IDE1OjU0OjA5ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3VkcC9nc3R1ZHBzcmMuYzogRml4IGNvbXBpbGF0aW9uIGFmdGVyIHJlbW92aW5nIHRoZSBHc3RQb2xsTW9kZSBmcm9tIHRoZSBjb25zdHJ1Y3Rvci4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3VkcC9nc3R1ZHBzcmMuYzogKGdzdF91ZHBzcmNfc3RhcnQpOgoJICBGaXggY29tcGlsYXRpb24gYWZ0ZXIgcmVtb3ZpbmcgdGhlIEdzdFBvbGxNb2RlIGZyb20gdGhlCgkgIGNvbnN0cnVjdG9yLgoKMjAwOC0wMy0wNyAxMzowODo0MiArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgQ2hlY2sgZm9yIHNpbmgoKSwgY29zaCgpIGFuZCBhc2luaCgpIGFuZCBkZWZpbmUgb3VyIG93biBpbXBsZW1lbnRhdGlvbnMgaWYgdGhleSdyZSBub3QgYXZhaWxhYmxlLiBGaXhlcyBidWcgIzUyMDg4MC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAqIGdzdC9hdWRpb2Z4L01ha2VmaWxlLmFtOgoJICAqIGdzdC9hdWRpb2Z4L2F1ZGlvY2hlYmJhbmQuYzoKCSAgKiBnc3QvYXVkaW9meC9hdWRpb2NoZWJsaW1pdC5jOgoJICAqIGdzdC9hdWRpb2Z4L21hdGhfY29tcGF0Lmg6CgkgIENoZWNrIGZvciBzaW5oKCksIGNvc2goKSBhbmQgYXNpbmgoKSBhbmQgZGVmaW5lIG91ciBvd24KCSAgaW1wbGVtZW50YXRpb25zIGlmIHRoZXkncmUgbm90IGF2YWlsYWJsZS4gRml4ZXMgYnVnICM1MjA4ODAuCgoyMDA4LTAzLTA3IDEyOjQwOjE4ICswMDAwICBPbGl2aWVyIENyZXRlIDx0ZXN0ZXJAdGVzdGVyLmNhPgoKCSAgZXh0L3NwZWV4L2dzdHNwZWV4ZW5jLmM6IFVucmVmIHRoZSBidWZmZXJzIG9ubHkgb25jZSB3aGVuIGhhbmRsaW5nIG5vdC1uZWdvdGlhdGVkIGVycm9ycy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBPbGl2aWVyIENyZXRlIDx0ZXN0ZXIgYXQgdGVzdGVyIGRvdCBjYT4KCSAgKiBleHQvc3BlZXgvZ3N0c3BlZXhlbmMuYzogKGdzdF9zcGVleF9lbmNfY2hhaW4pOgoJICBVbnJlZiB0aGUgYnVmZmVycyBvbmx5IG9uY2Ugd2hlbiBoYW5kbGluZyBub3QtbmVnb3RpYXRlZCBlcnJvcnMuCgkgIEZpeGVzIGJ1ZyAjNTIwNzY0LgoKMjAwOC0wMy0wNyAxMDowMTo0MCArMDAwMCAgT2xlIEFuZHLDqSBWYWRsYSBSYXZuw6VzIDxvbGUuYW5kcmUucmF2bmFzQHRhbmRiZXJnLmNvbT4KCgkgIGdzdC91ZHAvZ3N0dWRwc3JjLmM6IFByb3Blcmx5IGJhbGFuY2UgV1NBX0NsZWFudXAgd2l0aCBXU0FfU3RhcnR1cC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBPbGUgQW5kcsOpIFZhZGxhIFJhdm7DpXMgIDxvbGUuYW5kcmUucmF2bmFzQHRhbmRiZXJnLmNvbT4KCSAgKiBnc3QvdWRwL2dzdHVkcHNyYy5jOiAoZ3N0X3VkcHNyY19maW5hbGl6ZSksIChnc3RfdWRwc3JjX3N0YXJ0KSwKCSAgKGdzdF91ZHBzcmNfc3RvcCk6CgkgIFByb3Blcmx5IGJhbGFuY2UgV1NBX0NsZWFudXAgd2l0aCBXU0FfU3RhcnR1cC4KCSAgQWxzbyBtYWtlIHRoZSBwb2xsIGNvbnRyb2xsYWJsZSBvbiB3aW5kb3dzLiBGaXhlcyAjNTIwODg4LgoKMjAwOC0wMy0wNiAxOTo0Nzo0OCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9tYXRyb3NrYS86IEhhbmRsZSByZXR1cm4gdmFsdWVzIGZyb20gcHVsbF9yYW5nZSBpbiBhIG1vcmUgZ3JhbnVsYXIgd2F5IHRvIHByb3Blcmx5IHNodXQgZG93biBvbiBzZWVrcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L21hdHJvc2thL2VibWwtcmVhZC5jOiAoZ3N0X2VibWxfcmVhZF9wZWVrX2J5dGVzKSwKCSAgKGdzdF9lYm1sX3JlYWRfcHVsbF9ieXRlcyksIChnc3RfZWJtbF9yZWFkX2VsZW1lbnRfaWQpLAoJICAoZ3N0X2VibWxfcmVhZF9lbGVtZW50X2xlbmd0aCksIChnc3RfZWJtbF9wZWVrX2lkKSwKCSAgKGdzdF9lYm1sX3JlYWRfc2tpcCksIChnc3RfZWJtbF9yZWFkX2J1ZmZlciksCgkgIChnc3RfZWJtbF9yZWFkX2J5dGVzKSwgKGdzdF9lYm1sX3JlYWRfdWludCksIChnc3RfZWJtbF9yZWFkX3NpbnQpLAoJICAoZ3N0X2VibWxfcmVhZF9mbG9hdCksIChnc3RfZWJtbF9yZWFkX2FzY2lpKSwgKGdzdF9lYm1sX3JlYWRfdXRmOCksCgkgIChnc3RfZWJtbF9yZWFkX2RhdGUpLCAoZ3N0X2VibWxfcmVhZF9tYXN0ZXIpLAoJICAoZ3N0X2VibWxfcmVhZF9iaW5hcnkpLCAoZ3N0X2VibWxfcmVhZF9oZWFkZXIpOgoJICAqIGdzdC9tYXRyb3NrYS9lYm1sLXJlYWQuaDoKCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9jb21iaW5lX2Zsb3dzKSwgKGdzdF9tYXRyb3NrYV9kZW11eF9yZXNldCksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfcmVhZF90cmFja19lbmNvZGluZ3MpLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X2FkZF9zdHJlYW0pLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X2hhbmRsZV9zcmNfcXVlcnkpLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X2hhbmRsZV9zZWVrX2V2ZW50KSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9pbml0X3N0cmVhbSksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfcGFyc2VfdHJhY2tzKSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9wYXJzZV9pbmRleF9jdWV0cmFjayksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfcGFyc2VfaW5kZXhfcG9pbnRlbnRyeSksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfcGFyc2VfaW5kZXgpLCAoZ3N0X21hdHJvc2thX2RlbXV4X3BhcnNlX2luZm8pLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X3BhcnNlX21ldGFkYXRhX2lkX3NpbXBsZV90YWcpLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X3BhcnNlX21ldGFkYXRhX2lkX3RhZyksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfcGFyc2VfbWV0YWRhdGEpLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X3N5bmNfc3RyZWFtcyksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfcHVzaF9oZHJfYnVmKSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9wdXNoX2ZsYWNfY29kZWNfcHJpdl9kYXRhKSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9wdXNoX3hpcGhfY29kZWNfcHJpdl9kYXRhKSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9hZGRfd3Zwa19oZWFkZXIpLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X2NoZWNrX3N1YnRpdGxlX2J1ZmZlciksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfcGFyc2VfYmxvY2tncm91cF9vcl9zaW1wbGVibG9jayksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfcGFyc2VfY2x1c3RlciksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfcGFyc2VfY29udGVudHNfc2Vla2VudHJ5KSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9wYXJzZV9jb250ZW50cyksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfbG9vcF9zdHJlYW1fcGFyc2VfaWQpLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X2xvb3Bfc3RyZWFtKSwgKGdzdF9tYXRyb3NrYV9kZW11eF9sb29wKToKCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguaDoKCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtaWRzLmg6CgkgIEhhbmRsZSByZXR1cm4gdmFsdWVzIGZyb20gcHVsbF9yYW5nZSBpbiBhIG1vcmUgZ3JhbnVsYXIgd2F5IHRvIHByb3Blcmx5CgkgIHNodXQgZG93biBvbiBzZWVrcy4KCSAgQ29tYmluZSByZXR1cm4gdmFsdWVzIGZyb20gcHVzaC4KCSAgSW1wbGVtZW50IHByb3BlciBlcnJvciBoYW5kbGluZy4KCSAgUHJlcGFyZSBmb3IgaGFuZGxpbmcgc2Vla2luZyBjb3JyZWN0bHkuCgoyMDA4LTAzLTAzIDIyOjAxOjU2ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGdzdC9tYXRyb3NrYS9lYm1sLXJlYWQuYzogVXNlIEdJTlQ2NCBmb3JtYXR0aW5nIGNvbnN0YW50cyBmcm9tIEdMSUIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tYXRyb3NrYS9lYm1sLXJlYWQuYzoKCSAgVXNlIEdJTlQ2NCBmb3JtYXR0aW5nIGNvbnN0YW50cyBmcm9tIEdMSUIuCgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIEFkZCBzb21lIGd1YXJkcyB0byBhdm9pZCBhIHBvc3NpYmxlIGRpdmlzaW9uIGJ5IDAgYW5kIGNyYXNoaW5nCgkgIHdpdGggTlVMTCBldmVudHMgb24gc29tZSBzeXN0ZW1zLgoJICBVc2UgZ3N0X2dkb3VibGVfdG9fZ3VpbnQ2NCBzb21ld2hlcmUgaW5zdGVhZCBvZiBhbiBpbXBsaWNpdAoJICBjb252ZXJzaW9uLgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSAgQ2hlY2sgZm9yIGludmFsaWQgdGltZXN0YW1wcyBpbiBhIGJ1bmNoIG9mIHBsYWNlcyB0byBhdm9pZAoJICB3cml0aW5nIGJvZ3VzIGR1cmF0aW9ucyBpbnRvIHRoZSBvdXRwdXQgZmlsZS4KCSAgRml4IHNvbWUgZG91YmxlPC0+Z2ludDY0IGNvbnZlcnNpb25zIHRoYXQgd2VyZW4ndCB1c2luZwoJICBnc3RfZ3VpbnQ2NF90b19nZG91YmxlCgoyMDA4LTAzLTAzIDEzOjAzOjQzICswMDAwICBQZXRlciBLamVsbGVyc3RlZHQgPHBrakBheGlzLmNvbT4KCgkgIGNvbmZpZ3VyZS5hYzogTW92ZSB0aGUgY2hlY2tzIGZvciBiaXNvbiwgZmxleCBhbmQgYXMgdG8gdGhlIHByb2dyYW0gc2VjdGlvbiBhbmQgdGhlIGNoZWNrIGZvciBnY2MgaW5saW5lIGFzbSB0byB0aGUgYy4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIE1vdmUgdGhlIGNoZWNrcyBmb3IgYmlzb24sIGZsZXggYW5kIGFzIHRvIHRoZSBwcm9ncmFtIHNlY3Rpb24gYW5kIHRoZQoJICBjaGVjayBmb3IgZ2NjIGlubGluZSBhc20gdG8gdGhlIGNvbXBpbGVyIGNoYXJhY3RlcmlzdGljcyBzZWN0aW9uLgoKMjAwOC0wMy0wMyAxMjoxMDo1NSArMDAwMCAgUGV0ZXIgS2plbGxlcnN0ZWR0IDxwa2pAYXhpcy5jb20+CgoJICBjb25maWd1cmUuYWM6IFVzZSBBR19HU1RfQ0hFQ0tfUExVR0lOIGFuZCBBR19HU1RfRElTQUJMRV9QTFVHSU4gdG8gc2ltcGxpZnkgd2hpY2ggcGx1Zy1pbnMgYXJlIGluY2x1ZGVkL2V4Y2x1ZGVkLiAoIzQuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICBVc2UgQUdfR1NUX0NIRUNLX1BMVUdJTiBhbmQgQUdfR1NUX0RJU0FCTEVfUExVR0lOIHRvIHNpbXBsaWZ5IHdoaWNoCgkgIHBsdWctaW5zIGFyZSBpbmNsdWRlZC9leGNsdWRlZC4gKCM0OTgyMjIpCgoyMDA4LTAyLTI5IDEyOjM1OjI0ICswMDAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAeGlwaC5vcmc+CgoJICBnc3QvdmlkZW9taXhlci92aWRlb21peGVyLmM6IERvbid0IGNhbGwgZ3N0X29iamVjdF9zeW5jX3ZhbHVlcygpIHVubGVzcyB3ZSBoYXZlIGEgdmFsaWQgdGltZXN0YW1wLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyLmM6IChnc3RfdmlkZW9taXhlcl9ibGVuZF9idWZmZXJzKToKCSAgRG9uJ3QgY2FsbCBnc3Rfb2JqZWN0X3N5bmNfdmFsdWVzKCkgdW5sZXNzIHdlIGhhdmUgYSB2YWxpZCB0aW1lc3RhbXAuCgoyMDA4LTAyLTI5IDA2OjE4OjU1ICswMDAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkgIGdzdC9tYXRyb3NrYS86IEZpeCBEaXJhYyBtYXBwaW5nLiAgSSBoYWQgcHJldmlvdXNseSBhZGRlZCBhIFZmVy10eXBlIG1hcHBpbmcsIGJ1dCBpdCBsb29rcyBsaWtlIERpcmFjIHdpbGwgZ2V0IGEgbmF0aS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtaWRzLmg6CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJICBGaXggRGlyYWMgbWFwcGluZy4gIEkgaGFkIHByZXZpb3VzbHkgYWRkZWQgYSBWZlctdHlwZQoJICBtYXBwaW5nLCBidXQgaXQgbG9va3MgbGlrZSBEaXJhYyB3aWxsIGdldCBhIG5hdGl2ZSBNYXRyb3NrYQoJICBtYXBwaW5nLCBhbmQgdGhpcyBpcyB0aGUgbW9zdCBsaWtlbHkgbWV0aG9kLgoKMjAwOC0wMi0yOCAyMzo1NjozMCArMDAwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJICBnc3QvYXZpL2dzdGF2aW11eC5jOiBBZGQgRGlyYWMgZW5jb2RpbmcKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2F2aS9nc3RhdmltdXguYzogQWRkIERpcmFjIGVuY29kaW5nCgoyMDA4LTAyLTI4IDExOjUxOjI0ICswMDAwICBQZXRlciBLamVsbGVyc3RlZHQgPHBrakBheGlzLmNvbT4KCgkgIGdzdC91ZHAvZ3N0dWRwc3JjLio6IFBvcnQgdG8gR3N0UG9sbC4gU2VlICM1MDU0MTcuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogUGV0ZXIgS2plbGxlcnN0ZWR0IDxwa2ogYXQgYXhpcyBjb20+CgkgICogZ3N0L3VkcC9nc3R1ZHBzcmMuYzogKGdzdF91ZHBzcmNfaW5pdCksIChnc3RfdWRwc3JjX2NyZWF0ZSksCgkgIChnc3RfdWRwc3JjX2dldF9wcm9wZXJ0eSksIChnc3RfdWRwc3JjX3N0YXJ0KSwgKGdzdF91ZHBzcmNfdW5sb2NrKSwKCSAgKGdzdF91ZHBzcmNfdW5sb2NrX3N0b3ApLCAoZ3N0X3VkcHNyY19zdG9wKToKCSAgKiBnc3QvdWRwL2dzdHVkcHNyYy5oOgoJICBQb3J0IHRvIEdzdFBvbGwuIFNlZSAjNTA1NDE3LgoKMjAwOC0wMi0yOCAwODozNzo0NCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2xhdy9tdWxhdy1kZWNvZGUuYzogUmV0dXJuIEdTVF9GTE9XX05PVF9ORUdPVElBVEVEIHdoZW4gdGhlIGNhcHMgYXJlIG5vdCBzZXQgeWV0IG9uIHRoZSBzcmNwYWQuIFdlIG5lZWQgcmF0ZSBhbmQgLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9sYXcvbXVsYXctZGVjb2RlLmM6IChnc3RfbXVsYXdkZWNfY2hhaW4pOgoJICBSZXR1cm4gR1NUX0ZMT1dfTk9UX05FR09USUFURUQgd2hlbiB0aGUgY2FwcyBhcmUgbm90IHNldAoJICB5ZXQgb24gdGhlIHNyY3BhZC4gV2UgbmVlZCByYXRlIGFuZCBjaGFubmVscyBiZWZvcmUgd2UKCSAgY2FuIGRvIGFueSBwcm9jZXNzaW5nLiBGaXhlcyBidWcgIzUxOTA4OC4KCjIwMDgtMDItMjYgMTA6MDk6MzggKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgY29uZmlndXJlLmFjOiBEZXRlY3QgYW5kIGluZGljYXRlIGlmIEdDQyBpbmxpbmUgYXNzZW1ibHkgc3ludGF4IGlzIGF2YWlsYWJsZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICBEZXRlY3QgYW5kIGluZGljYXRlIGlmIEdDQyBpbmxpbmUgYXNzZW1ibHkgc3ludGF4IGlzCgkgIGF2YWlsYWJsZS4KCSAgKiBnc3QvZ29vbS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvZ29vbS9jb252b2x2ZV9meC5jOgoJICAqIGdzdC9nb29tL2ZseWluZ19zdGFyc19meC5jOgoJICAqIGdzdC9nb29tL2dvb21fY29uZmlnLmg6CgkgICogZ3N0L2dvb20vZ29vbV9jb3JlLmM6CgkgICogZ3N0L2dvb20vZ29vbXNsLmM6CgkgICogZ3N0L2dvb20vaWZzLmM6CgkgICogZ3N0L2dvb20vbW14LmM6CgkgICogZ3N0L2dvb20vcGx1Z2luX2luZm8uYzoKCSAgKiBnc3QvZ29vbS94bW14LmM6CgkgIEZpeCB2YXJpb3VzIEdDQy1pc21zLCBhbmQgb25seSBidWlsZCB0aGUgaW5saW5lIGFzc2VtYmx5CgkgIHdpdGggY29tcGlsZXJzIHRoYXQgc3VwcG9ydCBHQ0MgaW5saW5lIGFzc2VtYmx5LgoJICBGaXggYSBjb3VwbGUgb2Ygb3RoZXIgd2FybmluZ3Mgc2hvd24gd2l0aCBGb3J0ZS4KCjIwMDgtMDItMjYgMDU6MzY6MTcgKzAwMDAgIFdvdXRlciBDbG9ldGVucyA8d291dGVyQG1pbmQuYmU+CgoJICBBZGQgc3VwcG9ydCBmb3Igc3BlY2lmeWluZyBhIGxpc3Qgb2YgY29va2llcyB0byBiZSBwYXNzZWQgaW4gdGhlIEhUVFAgcmVxdWVzdC4gRml4ZXMgYnVnICM1MTg3MjIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogV291dGVyIENsb2V0ZW5zIDx3b3V0ZXIgYXQgbWluZCBkb3QgYmU+CgkgICogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzogKGdzdF9zb3VwX2h0dHBfc3JjX2NsYXNzX2luaXQpLAoJICAoZ3N0X3NvdXBfaHR0cF9zcmNfaW5pdCksIChnc3Rfc291cF9odHRwX3NyY19kaXNwb3NlKSwKCSAgKGdzdF9zb3VwX2h0dHBfc3JjX3NldF9wcm9wZXJ0eSksIChnc3Rfc291cF9odHRwX3NyY19nZXRfcHJvcGVydHkpLAoJICAoZ3N0X3NvdXBfaHR0cF9zcmNfY3JlYXRlKToKCSAgKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5oOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3NvdXBodHRwc3JjLmM6IChydW5fdGVzdCksIChHU1RfU1RBUlRfVEVTVCksCgkgIChzb3VwaHR0cHNyY19zdWl0ZSk6CgkgIEFkZCBzdXBwb3J0IGZvciBzcGVjaWZ5aW5nIGEgbGlzdCBvZiBjb29raWVzIHRvIGJlIHBhc3NlZCBpbgoJICB0aGUgSFRUUCByZXF1ZXN0LiBGaXhlcyBidWcgIzUxODcyMi4KCjIwMDgtMDItMjUgMTI6MDM6NDYgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC9nb29tL3htbXguYzogVXNlICdlbW1zJyBpbnN0ZWFkIG9mICdmZW1tcycgdG8gbm90IGNyYXNoIG9uIGNwdXMgdGhhdCBkbyBub3QgaW1wbGVtZW50IHRoaXMgM2Rub3cgc3BlY2lmaWMgaW5zdHJ1Yy4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZ29vbS94bW14LmM6CgkgIFVzZSAnZW1tcycgaW5zdGVhZCBvZiAnZmVtbXMnIHRvIG5vdCBjcmFzaCBvbiBjcHVzIHRoYXQgZG8gbm90CgkgIGltcGxlbWVudCB0aGlzIDNkbm93IHNwZWNpZmljIGluc3RydWN0aW9uLgoKMjAwOC0wMi0yNSAxMDozMjozNSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2dvb20vcGx1Z2luX2luZm8uYzogVXNlIGV4dGVuZGVkIE1NWCBmb3IgZHJhd19saW5lKCkgdG9vIGlmIGF2YWlsYWJsZSwgbm90IG9ubHkgbm9ybWFsIE1NWC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2dvb20vcGx1Z2luX2luZm8uYzogKHNldE9wdGltaXplZE1ldGhvZHMpOgoJICBVc2UgZXh0ZW5kZWQgTU1YIGZvciBkcmF3X2xpbmUoKSB0b28gaWYgYXZhaWxhYmxlLCBub3Qgb25seQoJICBub3JtYWwgTU1YLgoKMjAwOC0wMi0yNSAwNjo1MDozMSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZXh0L2pwZWcvZ3N0anBlZy5jOiBSZW1vdmUgKGNvbW1lbnRlZCBvdXQpIHNtb2tlIHR5cGVmaW5kZXIuIFRoaXMgaXMgaW4gYmFzZSBub3cuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9qcGVnL2dzdGpwZWcuYzogKHBsdWdpbl9pbml0KToKCSAgUmVtb3ZlIChjb21tZW50ZWQgb3V0KSBzbW9rZSB0eXBlZmluZGVyLiBUaGlzIGlzIGluIGJhc2Ugbm93LgoKMjAwOC0wMi0yMyAxNTowMjoxNSArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBnc3QvZ29vbTJrMS86IFJlbmFtZSB0aGUgaW5zdGFsbGVkIGxpYnJhcnksIGFuZCBkb24ndCByZWdpc3RlciB0aGUgc2FtZQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZ29vbTJrMS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvZ29vbTJrMS9nc3Rnb29tLmM6CgkgIFJlbmFtZSB0aGUgaW5zdGFsbGVkIGxpYnJhcnksIGFuZCBkb24ndCByZWdpc3RlciB0aGUgc2FtZQoJICBHVHlwZSBuYW1lIGFzIHRoZSBuZXcgZ29vbS4KCjIwMDgtMDItMjMgMTI6MjM6MzggKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBDaGVjayBmb3IgYW5kIGRlZmluZSBFUlJPUl9DWFhGTEFHUyBhbmQgdXNlIHRoZW0gd2hlbiBidWlsZGluZwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgICogZXh0L3RhZ2xpYi9NYWtlZmlsZS5hbToKCSAgQ2hlY2sgZm9yIGFuZCBkZWZpbmUgRVJST1JfQ1hYRkxBR1MgYW5kIHVzZSB0aGVtIHdoZW4gYnVpbGRpbmcKCSAgQysrIGNvZGUgKCM1MTY1MDkpLgoKMjAwOC0wMi0yMyAxMjoxMDoxNiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9nb29tLzogQ2FsbCBvaWxfaW5pdCgpLCBvdGhlcndpc2Ugb2lsX2dldF9jcHVfZmxhZ3MoKSB3b24ndCByZXR1cm4gYW55dGhpbmcgdXNlZnVsLiBFeHBvcnQgZ29vbSBkZWJ1ZyBjYXRlZ29yeSBzby4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZ29vbS9nc3Rnb29tLmM6IChnb29tX2RlYnVnKSwgKHBsdWdpbl9pbml0KToKCSAgKiBnc3QvZ29vbS9wbHVnaW5faW5mby5jOiAoZ29vbV9kZWJ1ZyksIChHU1RfQ0FUX0RFRkFVTFQpLAoJICAoc2V0T3B0aW1pemVkTWV0aG9kcyk6CgkgIENhbGwgb2lsX2luaXQoKSwgb3RoZXJ3aXNlIG9pbF9nZXRfY3B1X2ZsYWdzKCkgd29uJ3QgcmV0dXJuCgkgIGFueXRoaW5nIHVzZWZ1bC4gRXhwb3J0IGdvb20gZGVidWcgY2F0ZWdvcnkgc28gd2UgY2FuIGdldAoJICByaWQgb2YgdGhlIFZFUkJPU0UgZGVmaW5lIGFuZCB0aGUgcHJpbnRmcy4KCjIwMDgtMDItMjMgMTE6NTM6MjcgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvZ29vbS86IENvbXBpbGUgZml4ZXMgZm9yIHg4Ni02NC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2dvb20vZ29vbXNsX2hlYXAuYzogKGFsaWduX2l0KToKCSAgKiBnc3QvZ29vbS9wbHVnaW5faW5mby5jOiAoc2V0T3B0aW1pemVkTWV0aG9kcyk6CgkgIENvbXBpbGUgZml4ZXMgZm9yIHg4Ni02NC4KCjIwMDgtMDItMjMgMDM6MTA6NTUgKzAwMDAgIEJhc3RpZW4gTm9jZXJhIDxoYWRlc3NAaGFkZXNzLm5ldD4KCgkgIGdzdC9nb29tL01ha2VmaWxlLmFtOiBEb24ndCBjb21waWxlIGxleCBvciB5YWNjIG91dHB1dHMgd2l0aCB3YXJuaW5ncywgYnV0IGFkZCBvdGhlciBDRkxBR1MKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2dvb20vTWFrZWZpbGUuYW06IERvbid0IGNvbXBpbGUgbGV4IG9yIHlhY2Mgb3V0cHV0cwoJICB3aXRoIHdhcm5pbmdzLCBidXQgYWRkIG90aGVyIENGTEFHUwoJICAqIGdzdC9nb29tL2dvb21zbC5jIChnc2xfaW5zdHJfc2V0X25hbWVzcGFjZSksCgkgIChnc2xfaW5zdHJfYWRkX3BhcmFtKSwgKGlmbG93X2V4ZWN1dGUpLCAoZ3NsX2VudGVybmFtZXNwYWNlKSwKCSAgKGNhbGN1bGF0ZV9sYWJlbHMpLCAoZ3NsX3JlYWRfZmlsZSk6CgkgICogZ3N0L2dvb20vZ29vbXNsX2xleC5sOgoJICAqIGdzdC9nb29tL2dvb21zbF95YWNjLnk6CgkgICogZ3N0L2dvb20vcGx1Z2luX2luZm8uYzogUmVtb3ZlIGEgZmV3IGxpdmUgcHJpbnRmLCBhbmQKCSAgZnByaW50ZiwgcmVwbGFjZSBleGl0KCkgY2FsbHMgd2l0aCBnX2Fzc2VydF9ub3RfcmVhY2hlZCgpCgkgIGlmIGl0IG5vdCBvcHRpbWFsIGZvciBhIGxpYnJhcnkKCjIwMDgtMDItMjMgMDI6Mzg6MDMgKzAwMDAgIEJhc3RpZW4gTm9jZXJhIDxoYWRlc3NAaGFkZXNzLm5ldD4KCgkgIGdzdC9nb29tL01ha2VmaWxlLmFtOiBSZW1vdmUgdGhlIHdhcm5pbmdzIGJlaW5nIGRpc2FibGVkLCBmaXggbGlua2FnZSBvbiB4ODYsIHNwb3R0ZWQgYnkgU2ViYXN0aWFuIERyw7ZnZQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZ29vbS9NYWtlZmlsZS5hbTogUmVtb3ZlIHRoZSB3YXJuaW5ncyBiZWluZyBkaXNhYmxlZCwKCSAgZml4IGxpbmthZ2Ugb24geDg2LCBzcG90dGVkIGJ5IFNlYmFzdGlhbiBEcsO2Z2UKCSAgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCSAgKiBnc3QvZ29vbS9jb252b2x2ZV9meC5jIChjb252b2x2ZV9pbml0KSwKCSAgKGNyZWF0ZV9vdXRwdXRfd2l0aF9icmlnaHRuZXNzKSwgKGNvbnZvbHZlX2FwcGx5KToKCSAgKiBnc3QvZ29vbS9maWx0ZXJzLmMgKHpvb21GaWx0ZXJWaXN1YWxGWFdyYXBwZXJfY3JlYXRlKToKCSAgKiBnc3QvZ29vbS9nb29tc2wuYzoKCSAgKiBnc3QvZ29vbS9pZnMuYyAoaWZzX3VwZGF0ZSksIChpZnNfdmlzdWFsZnhfY3JlYXRlKToKCSAgKiBnc3QvZ29vbS9wbHVnaW5faW5mby5jOgoJICAqIGdzdC9nb29tL3RlbnRhY2xlM2QuYyAodGVudGFjbGVfZnhfY3JlYXRlKToKCSAgRml4IHdhcm5pbmdzLCBhbmQgZGlzYWJsZSB0aGUgbW90aWZzIGluIHRoZSBjb252b2x2ZV9meAoJICBwbHVnaW4gKHRoZXkgd2VyZSBjYXVzaW5nIHdhcm5pbmdzLCBhbmQgdGhleSB3ZXJlIGp1c3QKCSAgIkdvb20iIGluIGZ1bm55IGxldHRlcnJpbmcpCgoyMDA4LTAyLTIzIDAxOjUxOjM3ICswMDAwICBCYXN0aWVuIE5vY2VyYSA8aGFkZXNzQGhhZGVzcy5uZXQ+CgoJICBjb25maWd1cmUuYWM6IEFkZCBjaGVja3MgZm9yIEZsZXgvWWFjYy9CaXNvbiBhbmQgb3RoZXIgZnVycnkgYW5pbWFscywgZm9yIHRoZSBuZXcgZ29vbSAyazQgYmFzZWQgcGx1Z2luCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA4LTAyLTIzICBCYXN0aWVuIE5vY2VyYSAgPGhhZGVzc0BoYWRlc3MubmV0PgoJICAqIGNvbmZpZ3VyZS5hYzogQWRkIGNoZWNrcyBmb3IgRmxleC9ZYWNjL0Jpc29uIGFuZCBvdGhlcgoJICBmdXJyeSBhbmltYWxzLCBmb3IgdGhlIG5ldyBnb29tIDJrNCBiYXNlZCBwbHVnaW4KCSAgKiBnc3QvZ29vbS8qOiBVcGRhdGUgdG8gdXNlIGdvb20gMms0LCB1c2VzIGxpYm9pbCB0byBkZXRlY3QKCSAgQ1BVIG9wdGltaXNhdGlvbnMgKG5vdCB3b3JraW5nIHlldCksIG1vdmUgdGhlIG9sZCBwbHVnaW4gdG8uLi4KCSAgKiBnc3QvZ29vbTJrMS8qOiAuLi4gaGVyZSwgaW4gY2FzZSBzb21lYm9keSBpcyBzaWNrIGVub3VnaAoJICBGaXhlcyAjNTE1MDczCgoyMDA4LTAyLTIyIDA5OjU2OjAzICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiBQb3N0IHRoZSBzZXJ2ZXIgcmVzcG9uc2UgY29kZSBpbiBhbiBlcnJvciBtZXNzYWdlIGluc3RlYWQgb2YgYSBnZW5lcmljICdlcnJvcicgbWVzc2FnZS4gRml4ZXMgLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogKGdzdF9ydHNwc3JjX3NldHVwX3N0cmVhbXMpOgoJICBQb3N0IHRoZSBzZXJ2ZXIgcmVzcG9uc2UgY29kZSBpbiBhbiBlcnJvciBtZXNzYWdlIGluc3RlYWQgb2YgYSBnZW5lcmljCgkgICdlcnJvcicgbWVzc2FnZS4gRml4ZXMgIzUxNzIzNy4KCjIwMDgtMDItMjIgMDc6MjA6MDMgKzAwMDAgIFdvdXRlciBDbG9ldGVucyA8d291dGVyQG1pbmQuYmU+CgoJICBJbXBsZW1lbnQgemVyby1jb3B5IGFuZCBtYWtlIHRoZSBidWZmZXIgc2l6ZSBjb25maWd1cmFibGUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogV291dGVyIENsb2V0ZW5zIDx3b3V0ZXIgYXQgbWluZCBkb3QgYmU+CgkgICogY29uZmlndXJlLmFjOgoJICAqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6IChnc3Rfc291cF9odHRwX3NyY19jYW5jZWxfbWVzc2FnZSksCgkgIChnc3Rfc291cF9odHRwX3NyY19maW5pc2hlZF9jYiksIChnc3Rfc291cF9odHRwX3NyY19jaHVua19mcmVlKSwKCSAgKGdzdF9zb3VwX2h0dHBfc3JjX2NodW5rX2FsbG9jYXRvciksCgkgIChnc3Rfc291cF9odHRwX3NyY19nb3RfY2h1bmtfY2IpLCAoZ3N0X3NvdXBfaHR0cF9zcmNfY3JlYXRlKSwKCSAgKGdzdF9zb3VwX2h0dHBfc3JjX3N0YXJ0KSwgKGdzdF9zb3VwX2h0dHBfc3JjX3NldF9wcm94eSk6CgkgICogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuaDoKCSAgSW1wbGVtZW50IHplcm8tY29weSBhbmQgbWFrZSB0aGUgYnVmZmVyIHNpemUgY29uZmlndXJhYmxlLgoJICBQcmVmaXggcHJveHkgVVJJcyB3aXRoICJodHRwOi8vIiBpZiB0aGV5IGRvbid0IHN0YXJ0IHdpdGggaXQKCSAgYWxyZWFkeSBhbmQgY2F0Y2ggZXJyb3JzIGVhcmxpZXIsIGZpeGVzIGhhbmdpbmcgaW4gc29tZSBzaXR1YXRpb25zLgoJICBGaXhlcyBidWcgIzUxNDk0OC4KCjIwMDgtMDItMjIgMDY6MjI6MzkgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOiBJZ25vcmUgZ2NvbmZhdWRpb3NyYyBmb3IgdGhlIHN0YXRlcyB1bml0IHRlc3QgdG9vLiBJdCB3aWxsIGZhbGxiYWNrIHRvIGFsc2FzcmMgaWYgdGhlIGdjb25mIC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgSWdub3JlIGdjb25mYXVkaW9zcmMgZm9yIHRoZSBzdGF0ZXMgdW5pdCB0ZXN0IHRvby4gSXQgd2lsbCBmYWxsYmFjawoJICB0byBhbHNhc3JjIGlmIHRoZSBnY29uZiBzZXR0aW5ncyBjYW4ndCBiZSByZWFkIGFuZCBub3QgZXZlcnlib2R5IGhhcwoJICBhbHNhLgoKMjAwOC0wMi0yMiAwNjowNjowNiArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZXh0L3dhdnBhY2svZ3N0d2F2cGFja3BhcnNlLio6IEFsd2F5cyByZXBvcnQgdGhlIGR1cmF0aW9uIGlmIHdlIGtub3cgaXQgaW4gcHVzaCBtb2RlIGFuZCBkb24ndCByZXR1cm4gMCBqdXN0IHRvIG1ha2UgLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2twYXJzZS5jOiAoZ3N0X3dhdnBhY2tfcGFyc2Vfc3JjX3F1ZXJ5KSwKCSAgKGdzdF93YXZwYWNrX3BhcnNlX2NyZWF0ZV9zcmNfcGFkKToKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrcGFyc2UuaDoKCSAgQWx3YXlzIHJlcG9ydCB0aGUgZHVyYXRpb24gaWYgd2Uga25vdyBpdCBpbiBwdXNoIG1vZGUgYW5kIGRvbid0CgkgIHJldHVybiAwIGp1c3QgdG8gbWFrZSB0b3RlbSBiZWxpZXZlIHdlIGNhbid0IHNlZWsgaW4gcHVzaCBtb2RlLgoJICBOZXdlciB0b3RlbSB2ZXJzaW9uIHVzZSB0aGUgU0VFS0lORyBxdWVyeSB3aGljaCBwcm9wZXJseSByZXBvcnRzCgkgIGlmIHdlIGNhbiBzZWVrIG9yIG5vdC4KCjIwMDgtMDItMjIgMDU6Mzk6MDEgKzAwMDAgIEplbnMgR3JhbnNldWVyIDxqZW5zZ3JAZ214Lm5ldD4KCgkgIHRlc3RzL2V4YW1wbGVzL2VxdWFsaXplci9kZW1vLmM6IEM4OSBmaXgsIG1vdmluZyB2YXJpYWJsZSBkZWNsYXJhdGlvbnMgdG8gdGhlIGJlZ2lubmluZyBvZiB0aGUgYmxvY2suIEZpeGVzIGJ1ZyAjNTE3OTMzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IEplbnMgR3JhbnNldWVyIDxqZW5zZ3IgYXQgZ214IGRvdCBuZXQ+CgkgICogdGVzdHMvZXhhbXBsZXMvZXF1YWxpemVyL2RlbW8uYzogKG1haW4pOgoJICBDODkgZml4LCBtb3ZpbmcgdmFyaWFibGUgZGVjbGFyYXRpb25zIHRvIHRoZSBiZWdpbm5pbmcgb2YKCSAgdGhlIGJsb2NrLiBGaXhlcyBidWcgIzUxNzkzMy4KCjIwMDgtMDItMjEgMjM6NDc6MzcgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgY29uZmlndXJlLmFjOiBCYWNrIHRvIGRldmVsb3BtZW50Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgQmFjayB0byBkZXZlbG9wbWVudC4uLgoKPT09IHJlbGVhc2UgMC4xMC43ID09PQoKMjAwOC0wMi0yMSAwMDowOTowNyArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJKiBDaGFuZ2VMb2c6CgkqIE5FV1M6CgkqIFJFTEVBU0U6CgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5pbnRlcmZhY2VzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLnByZXJlcXVpc2l0ZXM6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi0xMzk0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhY29sb3IueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYW5ub2RleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hcGV0YWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9meC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9kZXRlY3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXZpLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhY2FzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhaXJvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY3V0dGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZW5jZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmZlY3R2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVxdWFsaXplci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lc2RzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx4ZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdhbW1hLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdjb25mZWxlbWVudHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2RrcGl4YnVmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taGFsZWxlbWVudHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWN5ZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanBlZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sZXZlbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tYXRyb3NrYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tb25vc2NvcGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlmaWxlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpcGFydC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uYXZpZ2F0aW9udGVzdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3NhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbmcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcXVpY2t0aW1lLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHNwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNob3V0MnNlbmQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc21wdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlY3RydW0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdGFnbGliLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXVkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlbzRsaW51eDIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9iYWxhbmNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvYm94LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvY3JvcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2ZsaXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9taXhlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14aW1hZ2VzcmMueG1sOgoJKiBnc3QtcGx1Z2lucy1nb29kLmRvYXA6CgkqIHBvL0xJTkdVQVM6CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgUmVsZWFzZSAwLjEwLjcgLSBSZWQgRG9vciBCbGFjawoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUmVsZWFzZSAwLjEwLjcgLSBSZWQgRG9vciBCbGFjawoKMjAwOC0wMi0yMCAyMjo1MTowOCArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJKiBwby9hZi5wbzoKCSogcG8vYXoucG86CgkqIHBvL2JnLnBvOgoJKiBwby9jYS5wbzoKCSogcG8vY3MucG86CgkqIHBvL2RhLnBvOgoJKiBwby9lbl9HQi5wbzoKCSogcG8vZXMucG86CgkqIHBvL2V1LnBvOgoJKiBwby9maS5wbzoKCSogcG8vaHUucG86CgkqIHBvL2l0LnBvOgoJKiBwby9qYS5wbzoKCSogcG8vbmIucG86CgkqIHBvL25sLnBvOgoJKiBwby9vci5wbzoKCSogcG8vcGwucG86CgkqIHBvL3NrLnBvOgoJKiBwby9zcS5wbzoKCSogcG8vc3IucG86CgkqIHBvL3N2LnBvOgoJKiBwby91ay5wbzoKCSogcG8vdmkucG86CgkqIHBvL3poX0NOLnBvOgoJKiBwby96aF9ISy5wbzoKCSogcG8vemhfVFcucG86CgkgIFVwZGF0ZSAucG8gZmlsZXMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFVwZGF0ZSAucG8gZmlsZXMKCjIwMDgtMDItMTkgMTA6NDc6MjAgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9hbHBoYS9NYWtlZmlsZS5hbTogTGluayBhbHBoYSBwbHVnaW4gd2l0aCBsaWJnc3RiYXNlLiBGaXhlcyBidWcgIzUxNzM4Ni4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2FscGhhL01ha2VmaWxlLmFtOgoJICBMaW5rIGFscGhhIHBsdWdpbiB3aXRoIGxpYmdzdGJhc2UuIEZpeGVzIGJ1ZyAjNTE3Mzg2LgoKMjAwOC0wMi0xOCAxMToxMzozNSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogSW5pdCB2YWx1ZXMgdG8gLTEgaW5zdGVhZCBvZiB0aGUgZGVmYXVsdCAwIHZhbHVlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IChnc3RfcnRzcHNyY19jcmVhdGVfc3RyZWFtKToKCSAgSW5pdCB2YWx1ZXMgdG8gLTEgaW5zdGVhZCBvZiB0aGUgZGVmYXVsdCAwIHZhbHVlLgoJICBGaXhlcyAjNTE2NTI0LgoKMjAwOC0wMi0xNCAxNDo1MDozMCArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgdGVzdHMvZXhhbXBsZXMvc3BlY3RydW0vc3BlY3RydW0tZXhhbXBsZS5jOiBBZGQgbWlzc2luZyBpbmNsdWRlIHRvIGZpeCBjb21waWxhdGlvbiB3aGVuIGxpYnhtbCB1c2FnZSBpcyBkaXNhYmxlZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvZXhhbXBsZXMvc3BlY3RydW0vc3BlY3RydW0tZXhhbXBsZS5jOgoJICBBZGQgbWlzc2luZyBpbmNsdWRlIHRvIGZpeCBjb21waWxhdGlvbiB3aGVuIGxpYnhtbCB1c2FnZSBpcyBkaXNhYmxlZC4KCSAgRml4ZXM6ICM1MTYzNzEKCjIwMDgtMDItMTIgMjM6Mzg6MTkgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJICBmaXhlczogIzUxNDg4OQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgcGF0Y2ggYnk6ICBXaW0gVGF5bWFucyAgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCSAgZml4ZXM6ICM1MTQ4ODkKCSAgKiBnc3QvcnRwL2dzdHJ0cGgyNjRwYXkuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cG1wNGdkZXBheS5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwbXA0Z3BheS5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwbXA0Z3BheS5oOgoJICAqIGdzdC9ydHAvZ3N0cnRwdGhlb3JhcGF5LmM6CgkgICogZ3N0L3J0cC9nc3RydHB2b3JiaXNwYXkuYzoKCSAgRml4IHZhcmlvdXMgbGVha3Mgc2hvd24gdXAgaW4gdmFsZ3JpbmQKCSAgLSBmcmVlIHNwcm9wcyBhbmQgYnVmZmVyIGluIGVycm9yIGNhc2VzIGluIEgyNjQgcGF5bG9hZGVyCgkgIC0gZml4IGxlYWsgaW4gbXA0ZyBkZXBheWxvYWRlciB3aGVuIGNvbnN0cnVjdGlvbiB0aGUgY2FwcwoJICAtIGRvbid0IGxlYWsgY29uZmlnIHN0cmluZyBpbiB0aGUgbXA0ZyBwYXlsb2FkZXIKCSAgLSBkb24ndCBsZWFrIGJ1ZmZlcnMgYW5kIGhlYWRlcnMgaW4gdGhlb3JhIGFuZCB2b3JiaXMgcGF5bG9hZGVycwoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cC1wYXlsb2FkaW5nLmM6CgkgIEZpeCB0aGUgUlRQIGRhdGEgdGVzdAoJICAtIEFjdHVhbGx5IHNlbmQgdmFsaWQgYW1yIGRhdGEgdG8gdGhlIHBheWxvYWRlciBpbnN0ZWFkIG9mIDIwCgkgIHplcm8tYnl0ZXMKCSAgLSBUaGUgbXA0ZyBwYXlsb2FkZXIgZXhwZWN0cyBjb2RlY19kYXRhIG9uIHRoZSBjYXBzCgoyMDA4LTAyLTEyIDIxOjM2OjQwICswMDAwICBTw6liYXN0aWVuIE1vdXR0ZSA8c2ViYXN0aWVuQG1vdXR0ZS5uZXQ+CgoJICB3aW4zMi9NQU5JRkVTVDogQWRkIGxpYmdzdHBuZy5kc3AgdG8gTUFOSUZFU1QuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHdpbjMyL01BTklGRVNUOgoJICBBZGQgbGliZ3N0cG5nLmRzcCB0byBNQU5JRkVTVC4KCSAgKiB3aW4zMi92czYvbGliZ3N0YXVkaW9meC5kc3A6CgkgIEFkZCBuZXcgc291cmNlIGZpbGVzIHRvIFZTIHByb2plY3QgZmlsZS4KCjIwMDgtMDItMTIgMTM6MzQ6NTIgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgc3lzL3hpbWFnZS9nc3R4aW1hZ2VzcmMuYzogSW5pdGlhbGlzZSB2YXJpYWJsZXMgd2hlbiBvcGVuaW5nIHRoZSBYIGRpc3BsYXkgcmF0aGVyIHRoYW4gaW4gX3N0YXJ0KCksIGFzIHRoZSBkaXNwbGF5IGNhLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy94aW1hZ2UvZ3N0eGltYWdlc3JjLmM6CgkgIEluaXRpYWxpc2UgdmFyaWFibGVzIHdoZW4gb3BlbmluZyB0aGUgWCBkaXNwbGF5IHJhdGhlcgoJICB0aGFuIGluIF9zdGFydCgpLCBhcyB0aGUgZGlzcGxheSBjYW4gYmUgb3BlbmVkIGJlZm9yZSB0aGF0LgoJICBGaXhlczogIzUxNTk4NQoKMjAwOC0wMi0xMiAxMjoyMjo0OCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuYzogUHJvcGVybHkgY2hhaW4gdXAgZmluYWxpemUgZnVuY3Rpb25zLiBGaXhlcyBidWcgIzUxNTk4MC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuYzoKCSAgKGdzdF9kZHJhd3N1cmZhY2VfY2xhc3NfaW5pdCksIChnc3RfZGRyYXdzdXJmYWNlX2ZpbmFsaXplKSwKCSAgKGdzdF9kaXJlY3RkcmF3X3NpbmtfZmluYWxpemUpOgoJICBQcm9wZXJseSBjaGFpbiB1cCBmaW5hbGl6ZSBmdW5jdGlvbnMuIEZpeGVzIGJ1ZyAjNTE1OTgwLgoKMjAwOC0wMi0xMiAxMTozODo1NCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5jOiBDaGFpbiB1cCB0aGUgZmluYWxpemUgZnVuY3Rpb25zLiBGaXhlcyBidWcgIzUxNTk4NC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5jOiAoZ3N0X3Y0bDJfYnVmZmVyX2ZpbmFsaXplKSwKCSAgKGdzdF92NGwyX2J1ZmZlcl9jbGFzc19pbml0KSwgKGdzdF92NGwyX2J1ZmZlcl9wb29sX2ZpbmFsaXplKSwKCSAgKGdzdF92NGwyX2J1ZmZlcl9wb29sX2NsYXNzX2luaXQpOgoJICBDaGFpbiB1cCB0aGUgZmluYWxpemUgZnVuY3Rpb25zLiBGaXhlcyBidWcgIzUxNTk4NC4KCjIwMDgtMDItMTIgMTE6MTQ6MzYgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIHN5cy94aW1hZ2UveGltYWdldXRpbC5jOiBDaGFpbiB1cCBpbiB0aGUgZmluYWxpemUgZnVuY3Rpb24gZm9yIG91ciBjdXN0b20gYnVmZmVyIHN1Yi1jbGFzcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL3hpbWFnZS94aW1hZ2V1dGlsLmM6CgkgIENoYWluIHVwIGluIHRoZSBmaW5hbGl6ZSBmdW5jdGlvbiBmb3Igb3VyIGN1c3RvbQoJICBidWZmZXIgc3ViLWNsYXNzLgoJICBQYXRjaCBieTogU2ViYXN0aWFuIERyw7ZnZSAgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCSAgRml4ZXM6ICM1MTU3MDYKCjIwMDgtMDItMTIgMTE6MTI6NDMgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9kZWJ1Zy9lZmVuY2UuYzogUHJvcGVybHkgY2hhaW4gdXAgZmluYWxpemUgbWV0aG9kLiBGaXhlcyBidWcgIzUxNTk3OS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2RlYnVnL2VmZW5jZS5jOiAoZ3N0X2ZlbmNlZF9idWZmZXJfZmluYWxpemUpLAoJICAoZ3N0X2ZlbmNlZF9idWZmZXJfY2xhc3NfaW5pdCk6CgkgIFByb3Blcmx5IGNoYWluIHVwIGZpbmFsaXplIG1ldGhvZC4gRml4ZXMgYnVnICM1MTU5NzkuCgoyMDA4LTAyLTEyIDExOjA5OjA4ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIHN5cy94aW1hZ2UvZ3N0eGltYWdlc3JjLmM6IEZyZWUgYWxsb2NhdGVkIERhbWFnZSBtZW1vcnkgYmVmb3JlIGNsb3Npbmcgb3VyIGNvbm5lY3Rpb24gdG8gdGhlCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy94aW1hZ2UvZ3N0eGltYWdlc3JjLmM6CgkgIEZyZWUgYWxsb2NhdGVkIERhbWFnZSBtZW1vcnkgYmVmb3JlIGNsb3Npbmcgb3VyIGNvbm5lY3Rpb24gdG8gdGhlCgkgIFggc2VydmVyLiBGaXhlczogIzUxNTcwNgoKMjAwOC0wMi0xMiAwNToyMTo0NiArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgdGVzdHMvY2hlY2svZWxlbWVudHMvc291cGh0dHBzcmMuYzogSW5jbHVkZSBnbGliL2dwcmludGYuaCBmb3IgZ192YXNwcmludGYoKS4gRml4ZXMgYnVnICM1MTU1NjQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3NvdXBodHRwc3JjLmM6CgkgIEluY2x1ZGUgZ2xpYi9ncHJpbnRmLmggZm9yIGdfdmFzcHJpbnRmKCkuIEZpeGVzIGJ1ZyAjNTE1NTY0LgoKMjAwOC0wMi0xMiAwNToxNDoxNiArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgQWRkIGEgZmV3IGxpYmpwZWcgc3VwcHJlc3Npb25zIGFuZCBpbml0aWFsaXplIGEgdmFyaWFibGUgdG8gbWFrZSBzbW9rZWVuYyB2YWxncmluZCBjbGVhbi4gRml4ZXMgYnVnICM1MTU3MDEuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9qcGVnL2dzdHNtb2tlZW5jLmM6IChnc3Rfc21va2VlbmNfY2hhaW4pOgoJICAqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICAqIHRlc3RzL2NoZWNrL2dzdC1wbHVnaW5zLWdvb2Quc3VwcDoKCSAgQWRkIGEgZmV3IGxpYmpwZWcgc3VwcHJlc3Npb25zIGFuZCBpbml0aWFsaXplIGEgdmFyaWFibGUgdG8KCSAgbWFrZSBzbW9rZWVuYyB2YWxncmluZCBjbGVhbi4gRml4ZXMgYnVnICM1MTU3MDEuCgoyMDA4LTAyLTExIDIxOjI0OjMwICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzogUmV2ZXJ0IHBhdGNoIHdoaWNoIHNlbmRzIHRpbWVzdGFtcHMgb25seSBvbiBrZXlmcmFtZXMsIGFzIGl0IGJyZWFrcyBwbGF5YmFjayB3aXRoIGN1cnJlbnQgZ3N0LS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgIFJldmVydCBwYXRjaCB3aGljaCBzZW5kcyB0aW1lc3RhbXBzIG9ubHkgb24ga2V5ZnJhbWVzLCBhcyBpdAoJICBicmVha3MgcGxheWJhY2sgd2l0aCBjdXJyZW50IGdzdC1mZm1wZWcuCgkgIEZpeGVzOiAjNTE1NTYyCgoyMDA4LTAyLTExIDE0OjAxOjUyICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBDbG9zZSBzb21lIG1lbW9yeSBsZWFrcyBzcG90dGVkIGJ5IHRoZSB1bml0IHRlc3QuIEZpeGVzIGJ1ZyAjNTE1Njk3LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbXVsdGlmaWxlL2dzdG11bHRpZmlsZXNyYy5jOiAoZ3N0X211bHRpX2ZpbGVfc3JjX2NyZWF0ZSk6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvbXVsdGlmaWxlLmM6IChHU1RfU1RBUlRfVEVTVCk6CgkgIENsb3NlIHNvbWUgbWVtb3J5IGxlYWtzIHNwb3R0ZWQgYnkgdGhlIHVuaXQgdGVzdC4gRml4ZXMgYnVnICM1MTU2OTcuCgoyMDA4LTAyLTExIDEzOjQ4OjAzICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBleHQvZ2NvbmYvZ2NvbmYuYzogVXNlIGFuZCB1bnNldCB0aGUgR0Vycm9yIHdoZW4gcGlwZWxpbmUgY3JlYXRpb24gZmFpbHMgaW5zdGVhZCBvZiBzaW1wbHkgbGVha2luZyBpdC4gRml4ZXMgYnVnICM1MTUuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2djb25mL2djb25mLmM6IChnc3RfZ2NvbmZfcmVuZGVyX2Jpbl93aXRoX2RlZmF1bHQpOgoJICBVc2UgYW5kIHVuc2V0IHRoZSBHRXJyb3Igd2hlbiBwaXBlbGluZSBjcmVhdGlvbiBmYWlscyBpbnN0ZWFkIG9mCgkgIHNpbXBseSBsZWFraW5nIGl0LiBGaXhlcyBidWcgIzUxNTcwNC4KCjIwMDgtMDItMTAgMTA6NDY6MTMgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9hdWRpb2Z4LzogRml4IGxvbmcgZGVzY3JpcHRpb24gb2YgYXVkaW9meCBlbGVtZW50cy4gRml4ZXMgYnVnICM1MTU0NTcuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdWRpb2Z4L2F1ZGlvYW1wbGlmeS5jOgoJICAqIGdzdC9hdWRpb2Z4L2F1ZGlvY2hlYmJhbmQuYzoKCSAgKiBnc3QvYXVkaW9meC9hdWRpb2NoZWJsaW1pdC5jOgoJICAqIGdzdC9hdWRpb2Z4L2F1ZGlvZHluYW1pYy5jOgoJICAqIGdzdC9hdWRpb2Z4L2F1ZGlvaW52ZXJ0LmM6CgkgICogZ3N0L2F1ZGlvZngvYXVkaW9wYW5vcmFtYS5jOgoJICAqIGdzdC9hdWRpb2Z4L2F1ZGlvd3NpbmNiYW5kLmM6CgkgICogZ3N0L2F1ZGlvZngvYXVkaW93c2luY2xpbWl0LmM6CgkgIEZpeCBsb25nIGRlc2NyaXB0aW9uIG9mIGF1ZGlvZnggZWxlbWVudHMuIEZpeGVzIGJ1ZyAjNTE1NDU3LgoKMjAwOC0wMi0wOSAwMTo0NTozMiArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBBZGQgYSBzaW1wbGUgZXhhbXBsZSBhcHBsaWNhdGlvbiBmb3IgdGhlIHNwZWN0cnVtIGVsZW1lbnQsIGluY2x1ZGUgaXQgaW4gdGhlIGRvY3MsIGFuZCBmaXggc29tZSBkb2N1bWVudGF0aW9uIGFtYmlndWkuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJICAqIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5jOgoJICAqIHRlc3RzL2V4YW1wbGVzL3NwZWN0cnVtLy5jdnNpZ25vcmU6CgkgICogdGVzdHMvZXhhbXBsZXMvc3BlY3RydW0vTWFrZWZpbGUuYW06CgkgICogdGVzdHMvZXhhbXBsZXMvc3BlY3RydW0vc3BlY3RydW0tZXhhbXBsZS5jOgoJICBBZGQgYSBzaW1wbGUgZXhhbXBsZSBhcHBsaWNhdGlvbiBmb3IgdGhlIHNwZWN0cnVtIGVsZW1lbnQsIGluY2x1ZGUgaXQKCSAgaW4gdGhlIGRvY3MsIGFuZCBmaXggc29tZSBkb2N1bWVudGF0aW9uIGFtYmlndWl0aWVzLgoJICBGaXhlczogIzM0ODA4NQoKMjAwOC0wMi0wOSAwMDoxNToyNSArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBnc3QvOiBGaXggaW5jbHVkZXMgb3JkZXIKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2VxdWFsaXplci9NYWtlZmlsZS5hbToKCSAgKiBnc3Qvc3BlY3RydW0vTWFrZWZpbGUuYW06CgkgIEZpeCBpbmNsdWRlcyBvcmRlcgoJICAqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICBFeGNsdWRlIHY0bDJzcmMgZnJvbSB0aGUgc3RhdGVzIHRlc3QgLSBpdCB0YWtlcyB0b28gbG9uZyB0byBzdGFydC4KCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9zcGVjdHJ1bS5jOgoJICBNYWtlIHRoZSB0ZXN0IHJ1biBwcm9wZXJseSB3aXRoIENLX0ZPUks9bm8KCjIwMDgtMDItMDggMTU6MzI6MzYgKzAwMDAgIENocmlzdGlhbiBTY2hhbGxlciA8dXJhZXVzQGdub21lLm9yZz4KCgkqIGdzdC1wbHVnaW5zLWdvb2Quc3BlYy5pbjoKCSAgYWRkIDMgbmV3IHBsdWdpbnMgdG8gc3BlYyBmaWxlCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBhZGQgMyBuZXcgcGx1Z2lucyB0byBzcGVjIGZpbGUKCjIwMDgtMDItMDggMTU6Mjc6NTEgKzAwMDAgIENocmlzdGlhbiBTY2hhbGxlciA8dXJhZXVzQGdub21lLm9yZz4KCgkqIENoYW5nZUxvZzoKCSogZ3N0L2F1ZGlvZngvTWFrZWZpbGUuYW06CgkgIGFkZCBtaXNzaW5nIGhlYWRlciBmaWxlcyBmb3IgZGlzdGluZwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgYWRkIG1pc3NpbmcgaGVhZGVyIGZpbGVzIGZvciBkaXN0aW5nCgoyMDA4LTAyLTA4IDE1OjIwOjMxICswMDAwICBKdWxpZW4gTW91dHRlIDxqdWxpZW5AbW91dHRlLm5ldD4KCgkgIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOiBGbGFnIGtleWZyYW1lIGFuZCBkZWx0YSB1bml0cyBjb3JyZWN0bHkgd2hlbiBkZWFsaWduIHdpdGggYQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwOC0wMi0wOCAgSnVsaWVuIE1vdXR0ZSAgPGp1bGllbkBmbHVlbmRvLmNvbT4KCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9wYXJzZV9ibG9ja2dyb3VwX29yX3NpbXBsZWJsb2NrKTogRmxhZwoJICBrZXlmcmFtZSBhbmQgZGVsdGEgdW5pdHMgY29ycmVjdGx5IHdoZW4gZGVhbGlnbiB3aXRoIGEKCSAgQmxvY2tHcm91cC4KCSAgRml4ZXM6ICM1MTQzOTcKCjIwMDgtMDItMDggMTA6MTk6MzMgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgdGVzdHMvY2hlY2svZWxlbWVudHMvLmN2c2lnbm9yZTogU3BlbGwgdGhlIG5ldyB0ZXN0cyBjb3JyZWN0bHkgaW4gLmN2c2lnbm9yZQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy8uY3ZzaWdub3JlOgoJICBTcGVsbCB0aGUgbmV3IHRlc3RzIGNvcnJlY3RseSBpbiAuY3ZzaWdub3JlCgoyMDA4LTAyLTA4IDEwOjA5OjMzICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L211bHRpZmlsZS9nc3RtdWx0aWZpbGVzcmMuYzogTmVlZCB0byB1c2UgZ3NpemUgaGVyZSBmb3IgdGhlIHNpemUsIGZpeGVzIGNvbXBpbGVyIHdhcm5pbmcuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tdWx0aWZpbGUvZ3N0bXVsdGlmaWxlc3JjLmM6IChnc3RfbXVsdGlfZmlsZV9zcmNfY3JlYXRlKToKCSAgTmVlZCB0byB1c2UgZ3NpemUgaGVyZSBmb3IgdGhlIHNpemUsIGZpeGVzIGNvbXBpbGVyIHdhcm5pbmcuCgkgICogdGVzdHMvZXhhbXBsZXMvZXF1YWxpemVyLy5jdnNpZ25vcmU6CgkgICogdGVzdHMvZXhhbXBsZXMvZXF1YWxpemVyL01ha2VmaWxlLmFtOgoJICAqIHRlc3RzL2V4YW1wbGVzL3NwZWN0cnVtLy5jdnNpZ25vcmU6CgkgICogdGVzdHMvZXhhbXBsZXMvc3BlY3RydW0vTWFrZWZpbGUuYW06CgkgIEFkZCBtaXNzaW5nIGZpbGVzIHRvIGZpeCB0aGUgYnVpbGQuCgoyMDA4LTAyLTA4IDA0OjI1OjMyICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIE1vdmUgbXVsdGlmaWxlIHBsdWdpbiBmcm9tIC1iYWQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1kb2NzLnNnbWw6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5hcmdzOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaGllcmFyY2h5OgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aWZpbGUueG1sOgoJICAqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzLy5jdnNpZ25vcmU6CgkgIE1vdmUgbXVsdGlmaWxlIHBsdWdpbiBmcm9tIC1iYWQuCgkgIEZpeGVzOiAjNDkwMjgzCgoyMDA4LTAyLTA4IDAzOjQ0OjEyICswMDAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkgIGdzdC9tdWx0aWZpbGUvOiBVc2UgZ19maWxlX1tzZ11ldF9jb250ZW50cygpIGluc3RlYWQgb2YgdXNpbmcgc3RkaW8gZnVuY3Rpb25zLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbXVsdGlmaWxlL2dzdG11bHRpZmlsZXNpbmsuYzoKCSAgKiBnc3QvbXVsdGlmaWxlL2dzdG11bHRpZmlsZXNyYy5jOgoJICBVc2UgZ19maWxlX1tzZ11ldF9jb250ZW50cygpIGluc3RlYWQgb2YgdXNpbmcgc3RkaW8gZnVuY3Rpb25zLgoJICBTaG91bGQgYmUgbGVzcyBlcnJvciBwcm9uZS4KCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9tdWx0aWZpbGUuYzoKCSAgQ3JlYXRlIGEgdGVtcG9yYXJ5IGRpcmVjdG9yeSB1c2luZyBzdGFuZGFyZCBmdW5jdGlvbnMgaW5zdGVhZCBvZgoJICBjcmVhdGluZyBhIGRpcmVjdG9yeSBpbiB0aGUgY3VycmVudCBkaXIuCgoyMDA4LTAyLTA4IDAzOjI4OjU3ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIE1vdmUgc3BlY3RydW0gcGx1Z2luIGZyb20gLWJhZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmFyZ3M6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5oaWVyYXJjaHk6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWN0cnVtLnhtbDoKCSAgKiBnc3Qvc3BlY3RydW0vTWFrZWZpbGUuYW06CgkgICogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvLmN2c2lnbm9yZToKCSAgKiB0ZXN0cy9leGFtcGxlcy9NYWtlZmlsZS5hbToKCSAgTW92ZSBzcGVjdHJ1bSBwbHVnaW4gZnJvbSAtYmFkLgoJICBNb3ZlIGV4YW1wbGVzIGludG8gdGVzdHMvZXhhbXBsZXMvc3BlY3RydW0uCgoyMDA4LTAyLTA4IDAyOjU2OjEyICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkqIENoYW5nZUxvZzoKCSAgTWVudGlvbiBidWcgNDE1NjI3IGZpeGVkIHdpdGggcHJldmlvdXMgY29tbWl0CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBNZW50aW9uIGJ1ZyA0MTU2MjcgZml4ZWQgd2l0aCBwcmV2aW91cyBjb21taXQKCjIwMDgtMDItMDggMDI6NDk6MjAgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgTW92ZSB0aGUgZXF1YWxpemVyIHBsdWdpbiBhY3Jvc3MgZnJvbSAtYmFkCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1kb2NzLnNnbWw6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5hcmdzOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaGllcmFyY2h5OgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaW50ZXJmYWNlczoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXF1YWxpemVyLnhtbDoKCSAgKiBnc3QvZXF1YWxpemVyL01ha2VmaWxlLmFtOgoJICAqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICAqIHRlc3RzL2V4YW1wbGVzL01ha2VmaWxlLmFtOgoJICBNb3ZlIHRoZSBlcXVhbGl6ZXIgcGx1Z2luIGFjcm9zcyBmcm9tIC1iYWQKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy8uY3ZzaWdub3JlOgoJICBBZGQgZXF1YWxpemVyLCBhdWRpb3NpbmN3YmFuZCBhbmQgYXVkaW9zaW5jd2xpbWl0CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvZXF1YWxpemVyLmM6CgkgIEZpeCBjb21waWxlciB3YXJuaW5ncwoKMjAwOC0wMi0wOCAwMjo0ODo1NCArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuKjogUmVtb3ZlIGVxdWFsaXplciBwbHVnaW4gZG9jcwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaGllcmFyY2h5OgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5pbnRlcmZhY2VzOgoJICBSZW1vdmUgZXF1YWxpemVyIHBsdWdpbiBkb2NzCgkgICogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgIEFkZCBHU1RfT1BUSU9OX0NGTEFHUywgdG8gZ2V0IC1XZXJyb3IgLVdhbGwgaW50byB0aGUgdGVzdHMgYXMgZm9yCgkgIG90aGVyIG1vZHVsZXMuCgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvbXVsdGlmaWxlLmM6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvcmdhbmFseXNpcy5jOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3JnbGltaXRlci5jOgoJICBGaXggY29tcGlsZXIgd2FybmluZ3MgZnJvbSAtV2FsbCAtV2Vycm9yCgoyMDA4LTAyLTA4IDAxOjA3OjAyICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGNvbmZpZ3VyZS5hYzogT25seSBidWlsZCB3aXRoIERJU0FCTEVfREVQUkVDQVRFRCBkdXJpbmcgdGhlIENWUyBjeWNsZS4gUHJlLXJlbGVhc2VzIGFyZSB0cmVhdGVkIGxpa2UgcmVsZWFzZXMgYW5kIGJ1aS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIE9ubHkgYnVpbGQgd2l0aCBESVNBQkxFX0RFUFJFQ0FURUQgZHVyaW5nIHRoZSBDVlMgY3ljbGUuIFByZS1yZWxlYXNlcwoJICBhcmUgdHJlYXRlZCBsaWtlIHJlbGVhc2VzIGFuZCBidWlsZCB3aXRob3V0IGl0LgoKMjAwOC0wMi0wNyAyMTo1Nzo1NCArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBNb3ZlIHRoZSBscHdzaW5jIGFuZCBicHdzaW5jIGVsZW1lbnRzIGZyb20gZ3N0LXBsdWdpbnMtYmFkIGludG8gdGhlIGF1ZGlvZnggcGx1Z2luLCBhbmQgcmVuYW1lIHRvIGF1ZGlvd3NpbmNsaW1pdCBhbmQuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtZG9jcy5zZ21sOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuYXJnczoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9meC54bWw6CgkgICogZ3N0L2F1ZGlvZngvTWFrZWZpbGUuYW06CgkgICogZ3N0L2F1ZGlvZngvYXVkaW9meC5jOgoJICAqIGdzdC9hdWRpb2Z4L2F1ZGlvd3NpbmNiYW5kLmM6CgkgICogZ3N0L2F1ZGlvZngvYXVkaW93c2luY2JhbmQuaDoKCSAgKiBnc3QvYXVkaW9meC9hdWRpb3dzaW5jbGltaXQuYzoKCSAgKiBnc3QvYXVkaW9meC9hdWRpb3dzaW5jbGltaXQuaDoKCSAgKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdWRpb3dzaW5jYmFuZC5jOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvd3NpbmNsaW1pdC5jOgoJICBNb3ZlIHRoZSBscHdzaW5jIGFuZCBicHdzaW5jIGVsZW1lbnRzIGZyb20gZ3N0LXBsdWdpbnMtYmFkIGludG8KCSAgdGhlIGF1ZGlvZnggcGx1Z2luLCBhbmQgcmVuYW1lIHRvIGF1ZGlvd3NpbmNsaW1pdCBhbmQgYXVkaW93c2luY2JhbmQKCSAgcmVzcGVjdGl2ZWx5LgoJICBGaXhlczogIzQ2NzY2NgoKMjAwOC0wMi0wNyAyMToxNzozNiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIFJldHVybiBHU1RfRkxPV19OT1RfTkVHT1RJQVRFRCBpZiB3ZSBnZXQgYSBidWZmZXIgd2l0aG91dCBjYXBzLCBhbmQgYWRkIGEgc29tZXdoYXQgdXNlZnVsIGRlYnVnIG1lc3NhZ2UuIFBsdXMgdGVzdC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2ljeWRlbXV4L2dzdGljeWRlbXV4LmM6IChnc3RfaWN5ZGVtdXhfY2hhaW4pOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2ljeWRlbXV4LmM6CgkgIFJldHVybiBHU1RfRkxPV19OT1RfTkVHT1RJQVRFRCBpZiB3ZSBnZXQgYSBidWZmZXIgd2l0aG91dAoJICBjYXBzLCBhbmQgYWRkIGEgc29tZXdoYXQgdXNlZnVsIGRlYnVnIG1lc3NhZ2UuIFBsdXMgdGVzdC4KCjIwMDgtMDItMDcgMTk6MTM6NTYgKzAwMDAgIFPDqWJhc3RpZW4gTW91dHRlIDxzZWJhc3RpZW5AbW91dHRlLm5ldD4KCgkgIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogSW5jbHVkZSB1bmlzdGQuaCBvbmx5IGlmIEhBVkVfVU5JU1REX0ggaXMgZGVmaW5lZAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgIEluY2x1ZGUgdW5pc3RkLmggb25seSBpZiBIQVZFX1VOSVNURF9IIGlzIGRlZmluZWQKCSAgKiB3aW4zMi9jb21tb24vY29uZmlnLmguaW46CgkgICogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICBEZWZpbmUgc29ja2xlbl90IGFzIGl0IHNlZW1zIGl0J3Mgbm90IGRlZmluZWQgaW4gZGVmYXVsdAoJICBWaXN1YWwgU3R1ZGlvIGhlYWRlcnMuCgkgICogd2luMzIvdnM2L2xpYmdzdGFscGhhLmRzcDoKCSAgKiB3aW4zMi92czYvbGliZ3N0YXBldGFnLmRzcDoKCSAgKiB3aW4zMi92czYvbGliZ3N0YXZpLmRzcDoKCSAgKiB3aW4zMi92czYvbGliZ3N0cnRwLmRzcDoKCSAgKiB3aW4zMi92czYvbGliZ3N0cnRzcC5kc3A6CgkgICogd2luMzIvdnM2L2xpYmdzdHZpZGVvbWl4ZXIuZHNwOgoJICBVcGRhdGUgcHJvamVjdCBmaWxlIGRlcGVuZGVuY2llcyBhbmQgYWRkIG5ldyBzb3VyY2UgZmlsZXMKCjIwMDgtMDItMDcgMTY6Mzg6NTUgKzAwMDAgIEJqYXJuZSBSb3NlbmdyZW4gPGJqYXJuZUBheGlzLmNvbT4KCgkgIGdzdC9tYXRyb3NrYS9lYm1sLXdyaXRlLmM6IERvbid0IGxlYWsgYnVmZmVycyB3aGVuIHdlIGRvbid0IHB1c2ggdGhlbSBkb3duc3RyZWFtLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IEJqYXJuZSBSb3NlbmdyZW4gPGJqYXJuZSBhdCBheGlzIGRvdCBjb20+CgkgICogZ3N0L21hdHJvc2thL2VibWwtd3JpdGUuYzogKGdzdF9lYm1sX3dyaXRlX2VsZW1lbnRfcHVzaCk6CgkgIERvbid0IGxlYWsgYnVmZmVycyB3aGVuIHdlIGRvbid0IHB1c2ggdGhlbSBkb3duc3RyZWFtLgoJICBGaXhlcyBidWcgIzUxNDk2NS4KCjIwMDgtMDItMDcgMTM6NDg6MjAgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC9tdWx0aWZpbGUvZ3N0bXVsdGlmaWxlc2luay5jOiBBZGQgYSBmaXhtZSBjb21tZW50LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbXVsdGlmaWxlL2dzdG11bHRpZmlsZXNpbmsuYzoKCSAgQWRkIGEgZml4bWUgY29tbWVudC4KCSAgKiBnc3Qvc2VsZWN0b3IvZ3N0b3V0cHV0c2VsZWN0b3IuYzoKCSAgRml4IHNhbWUgbGVhayBhcyBpbiBpbnB1dC1zZWxlY3Rvci4KCSAgKiB0ZXN0cy9pY2xlcy9vdXRwdXQtc2VsZWN0b3ItdGVzdC5jOgoJICBJbXByb3ZlIHRoZSB0ZXN0LgoKMjAwOC0wMi0wNyAxMzo0MToxMSArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmM6IEltcHJvdmUgdGhlIGRvY3MuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5jOgoJICBJbXByb3ZlIHRoZSBkb2NzLgoKMjAwOC0wMi0wNyAxMDoxNzoxNCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGNvbmZpZ3VyZS5hYzogQnVtcCByZXF1aXJlbWVudHMgdG8gKGdvb2QpIHJlbGVhc2VkIHZlcnNpb25zIHRvIGF2b2lkIGNvbmZ1c2lvbiBhbmQgbWFrZSBpbXBsaWNpdCBjb3JlIHJlcXVpcmVtZW50IGV4cC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIEJ1bXAgcmVxdWlyZW1lbnRzIHRvIChnb29kKSByZWxlYXNlZCB2ZXJzaW9ucyB0byBhdm9pZAoJICBjb25mdXNpb24gYW5kIG1ha2UgaW1wbGljaXQgY29yZSByZXF1aXJlbWVudCBleHBsaWNpdC4KCjIwMDgtMDItMDcgMTA6MDQ6MDEgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9maWx0ZXIvZ3N0bHB3c2luYy5jOiBGaXggdHlwbyBpbiB0aGUgbG9uZyBkZXNjcmlwdGlvbiBvZiB0aGUgZWxlbWVudC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2ZpbHRlci9nc3RscHdzaW5jLmM6CgkgIEZpeCB0eXBvIGluIHRoZSBsb25nIGRlc2NyaXB0aW9uIG9mIHRoZSBlbGVtZW50LgoKMjAwOC0wMi0wNiAyMzo0NDo0MyArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBSZW5hbWUgYXVkaW9jaGVieXNoZXZmcmVxYmFuZCAtPiBhdWRpb2NoZWJiYW5kIGFuZCBhdWRpb2NoZWJ5c2hldmZyZXFsaW1pdCAtPiBhdWRpb2NoZWJsaW1pdCBhbmQgZG8gdGhlIHJlcXVpc2l0ZSBDVlMuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtZG9jcy5zZ21sOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuYXJnczoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9meC54bWw6CgkgICogZ3N0L2F1ZGlvZngvTWFrZWZpbGUuYW06CgkgICogZ3N0L2F1ZGlvZngvYXVkaW9jaGViYmFuZC5jOgoJICAqIGdzdC9hdWRpb2Z4L2F1ZGlvY2hlYmJhbmQuaDoKCSAgKiBnc3QvYXVkaW9meC9hdWRpb2NoZWJsaW1pdC5jOgoJICAqIGdzdC9hdWRpb2Z4L2F1ZGlvY2hlYmxpbWl0Lmg6CgkgICogZ3N0L2F1ZGlvZngvYXVkaW9jaGVieXNoZXZmcmVxYmFuZC5jOgoJICAqIGdzdC9hdWRpb2Z4L2F1ZGlvY2hlYnlzaGV2ZnJlcWJhbmQuaDoKCSAgKiBnc3QvYXVkaW9meC9hdWRpb2NoZWJ5c2hldmZyZXFsaW1pdC5jOgoJICAqIGdzdC9hdWRpb2Z4L2F1ZGlvY2hlYnlzaGV2ZnJlcWxpbWl0Lmg6CgkgICogZ3N0L2F1ZGlvZngvYXVkaW9meC5jOgoJICAqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzLy5jdnNpZ25vcmU6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvYXVkaW9jaGViYmFuZC5jOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvY2hlYmxpbWl0LmM6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvYXVkaW9jaGVieXNoZXZmcmVxYmFuZC5jOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvY2hlYnlzaGV2ZnJlcWxpbWl0LmM6CgkgIFJlbmFtZSBhdWRpb2NoZWJ5c2hldmZyZXFiYW5kIC0+IGF1ZGlvY2hlYmJhbmQgYW5kCgkgIGF1ZGlvY2hlYnlzaGV2ZnJlcWxpbWl0IC0+IGF1ZGlvY2hlYmxpbWl0IGFuZCBkbyB0aGUgcmVxdWlzaXRlIENWUwoJICBzdXJnZXJ5LgoJICBDbG9zZXM6ICM0OTE4MTEKCjIwMDgtMDItMDYgMTE6MDc6NDcgKzAwMDAgIFdvdXRlciBDbG9ldGVucyA8d291dGVyQG1pbmQuYmU+CgoJICBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOiBGaXggbWVtb3J5IGxlYWsgYW5kIGltcHJvdmUgZGVidWdnaW5nIGEgYml0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFdvdXRlciBDbG9ldGVucyA8d291dGVyIGF0IG1pbmQgZG90IGJlPgoJICAqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6IChnc3Rfc291cF9odHRwX3NyY19nb3RfY2h1bmtfY2IpLAoJICAoZ3N0X3NvdXBfaHR0cF9zcmNfY3JlYXRlKToKCSAgRml4IG1lbW9yeSBsZWFrIGFuZCBpbXByb3ZlIGRlYnVnZ2luZyBhIGJpdC4KCjIwMDgtMDItMDUgMTc6NTk6MjQgKzAwMDAgIG9yamFuIDxvcmphbmZAYXhpcy5jb20+CgoJICBnc3QvbXVsdGlwYXJ0L211bHRpcGFydG11eC5jOiBGaXggY2FwcyBtZW1vcnkgbGVhay4gRml4ZXMgIzUxNDU3My4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBvcmphbiA8b3JqYW5mIGF0IGF4aXMgZG90IGNvbT4KCSAgKiBnc3QvbXVsdGlwYXJ0L211bHRpcGFydG11eC5jOiAoZ3N0X211bHRpcGFydF9tdXhfY29sbGVjdGVkKToKCSAgRml4IGNhcHMgbWVtb3J5IGxlYWsuIEZpeGVzICM1MTQ1NzMuCgoyMDA4LTAyLTA0IDEyOjA3OjE0ICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgZ3N0L2F2aS9nc3RhdmlkZW11eC5jOiBJZiB0aGVyZSdzIG5vIGVudHJpZXMgaW4gdGhlIHN1YmluZGV4LCBkb24ndCB0cnkgdG8gZG8gYW55dGhpbmcgc3R1cGlkLCBqdXN0IHJldHVybi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOiAoZ3N0X2F2aV9kZW11eF9wYXJzZV9zdWJpbmRleCk6CgkgIElmIHRoZXJlJ3Mgbm8gZW50cmllcyBpbiB0aGUgc3ViaW5kZXgsIGRvbid0IHRyeSB0byBkbyBhbnl0aGluZyBzdHVwaWQsCgkgIGp1c3QgcmV0dXJuLgoKMjAwOC0wMi0wMiAxOTo0Nzo1MCArMDAwMCAgSm9obiBNaWxsaWtpbiA8am1pbGxpa2luQGdtYWlsLmNvbT4KCgkgIGV4dC9mbGFjL2dzdGZsYWNkZWMuYzogRml4IGV4dHJhY3Rpb24gb2YgcGljdHVyZSBibG9ja3Mgd2l0aCBuZXdlciBsaWJmbGFjIHZlcnNpb25zIGFnYWluOgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IEpvaG4gTWlsbGlraW4gPGptaWxsaWtpbiBhdCBnbWFpbCBkb3QgY29tPgoJICAqIGV4dC9mbGFjL2dzdGZsYWNkZWMuYzogKGdzdF9mbGFjX2RlY19zY2FuX2Zvcl9sYXN0X2Jsb2NrKSwKCSAgKGdzdF9mbGFjX2V4dHJhY3RfcGljdHVyZV9idWZmZXIpLCAoZ3N0X2ZsYWNfZGVjX21ldGFkYXRhX2NhbGxiYWNrKToKCSAgRml4IGV4dHJhY3Rpb24gb2YgcGljdHVyZSBibG9ja3Mgd2l0aCBuZXdlciBsaWJmbGFjIHZlcnNpb25zIGFnYWluOgoJICBGTEFDX19NRVRBREFUQV9UWVBFX1BJQ1RVUkUgaXMgYW4gZW51bSwgbm90IGEgZGVmaW5lICgjNTEzNjI4KS4KCjIwMDgtMDItMDIgMTg6MDY6MTkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbTogQWRkIHJ0cC1wYXlsb2FkaW5nIHRlc3QgdG8gVkFMR1JJTkRfVE9fRklYLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgQWRkIHJ0cC1wYXlsb2FkaW5nIHRlc3QgdG8gVkFMR1JJTkRfVE9fRklYLgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cC1wYXlsb2FkaW5nLmM6CgkgIEFkZCBzZW1pY29sb25zIGFmdGVyIEdTVF9URVNUX0VORCBzbyBnc3QtaW5kZW50IGdldHMgdGhlCgkgIGZvcm1hdHRpbmcgcmlnaHQ7IG1ha2UgdGVzdCBsZXNzIHZlcmJvc2UgaW4gZ2VuZXJhbCwgYnV0CgkgIG1vcmUgdmVyYm9zZSBpbiB0aGUgZXJyb3IgY2FzZSAod2hpY2ggc2hvdWxkIHByb2JhYmx5CgkgIG1ha2UgdGhlIHRlc3QgZmFpbCBhbnl3YXkpLgoKMjAwOC0wMi0wMSAxODoyOToyMSArMDAwMCAgVGhpanMgVmVybWVpciA8dGhpanN2ZXJtZWlyQGdtYWlsLmNvbT4KCgkgIEFkZCBkb2N1bWVudGF0aW9uIGZvciBhdmlzdWJ0aXRsZSBhbmQgY2hhbmdlIGNsYXNzIHRvCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgKiBnc3QvYXZpL2dzdGF2aXN1YnRpdGxlLmM6CgkgIEFkZCBkb2N1bWVudGF0aW9uIGZvciBhdmlzdWJ0aXRsZSBhbmQgY2hhbmdlIGNsYXNzIHRvCgkgIENvZGVjL1BhcnNlci9TdWJ0aXRsZQoKMjAwOC0wMS0zMSAxNjoxMjoyOCArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBzeXMvdjRsMi92NGwyX2NhbGxzLmM6IFRyZWF0IEVOT1RUWSAoZHJpdmVyIGRvZXMgbm90IGltcGxlbWVudCBpb2N0bCkgdGhlIHNhbWUgYXMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL3Y0bDIvdjRsMl9jYWxscy5jOiAoZ3N0X3Y0bDJfZmlsbF9saXN0cyk6CgkgIFRyZWF0IEVOT1RUWSAoZHJpdmVyIGRvZXMgbm90IGltcGxlbWVudCBpb2N0bCkgdGhlIHNhbWUgYXMKCSAgRUlOVkFMIHNpbmNlIGl0IGltcGxpZXMgdGhlcmUgYXJlIG5vIGF2YWlsYWJsZSBzdGFuZGFyZHMuCgkgICogc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5jOiAoZ3N0X3Y0bDJzcmNfcHJvYmVfY2Fwc19mb3JfZm9ybWF0KSwKCSAgKGdzdF92NGwyc3JjX2dldF9uZWFyZXN0X3NpemUpOgoJICBSZXBsYWNlIGdzdF92NGwyc3JjX2dldF9zaXplX2xpbWl0cyB3aXRoIDIgY2FsbHMgdG8gbmV3IGZ1bmN0aW9uCgkgIGdzdF92NGwyc3JjX2dldF9uZWFyZXN0X3NpemUsIGFuZCBnZXQgaXQgdG8gdXNlIFZJRElPQ19TX0ZNVCB0bwoJICBwcm9iZSBpZiB0aGUgZHJpdmVyIGRvZXMgbm90IHN1cHBvcnQgVklESU9DX1RSWV9GTVQgZm9yIHdoYXRldmVyCgkgIHJlYXNvbiwgYW5kIGlmIHdlIGFyZW4ndCB5ZXQgYWN0aXZlbHkgY2FwdHVyaW5nLgoJICAqIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuaDoKCSAgUmVtb3ZlIHJlcGxhY2VkIGZ1bmN0aW9uIGRlY2xhcmF0aW9uLgoKMjAwOC0wMS0zMSAxNjowMzo0OCArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBjb25maWd1cmUuYWM6IEJ1bXAgcGx1Z2lucy1iYXNlIHJlcXVpcmVtZW50IHRvIDAuMTAuMTYgZm9yIHRoZSBnc3RfdmlkZW9fZm9ybWF0XyoKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICBCdW1wIHBsdWdpbnMtYmFzZSByZXF1aXJlbWVudCB0byAwLjEwLjE2IGZvciB0aGUgZ3N0X3ZpZGVvX2Zvcm1hdF8qCgkgIEFQSS4KCjIwMDgtMDEtMzEgMDk6NTA6MzEgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6IEFkZCBjaGFuZ2VzIHRvIGdzdHNvdXBodHRwc3JjLmMgdGhhdCB3ZXJlIG1pc3NpbmcgZnJvbSBsYXN0IGNvbW1pdC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzogKF9kb19pbml0KSwKCSAgKGdzdF9zb3VwX2h0dHBfc3JjX2Jhc2VfaW5pdCksIChnc3Rfc291cF9odHRwX3NyY19jbGFzc19pbml0KSwKCSAgKGdzdF9zb3VwX2h0dHBfc3JjX2luaXQpLCAoZ3N0X3NvdXBfaHR0cF9zcmNfZGlzcG9zZSksCgkgIChnc3Rfc291cF9odHRwX3NyY19zZXRfcHJvcGVydHkpLCAoZ3N0X3NvdXBfaHR0cF9zcmNfZ2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9zb3VwX2h0dHBfc3JjX3VuaWNvZGlmeSksIChnc3Rfc291cF9odHRwX3NyY19jYW5jZWxfbWVzc2FnZSksCgkgIChnc3Rfc291cF9odHRwX3NyY19xdWV1ZV9tZXNzYWdlKSwKCSAgKGdzdF9zb3VwX2h0dHBfc3JjX2FkZF9yYW5nZV9oZWFkZXIpLAoJICAoZ3N0X3NvdXBfaHR0cF9zcmNfc2Vzc2lvbl91bnBhdXNlX21lc3NhZ2UpLAoJICAoZ3N0X3NvdXBfaHR0cF9zcmNfc2Vzc2lvbl9wYXVzZV9tZXNzYWdlKSwKCSAgKGdzdF9zb3VwX2h0dHBfc3JjX3Nlc3Npb25fY2xvc2UpLAoJICAoZ3N0X3NvdXBfaHR0cF9zcmNfZ290X2hlYWRlcnNfY2IpLAoJICAoZ3N0X3NvdXBfaHR0cF9zcmNfZ290X2JvZHlfY2IpLCAoZ3N0X3NvdXBfaHR0cF9zcmNfZmluaXNoZWRfY2IpLAoJICAoZ3N0X3NvdXBfaHR0cF9zcmNfZ290X2NodW5rX2NiKSwgKGdzdF9zb3VwX2h0dHBfc3JjX3Jlc3BvbnNlX2NiKSwKCSAgKGdzdF9zb3VwX2h0dHBfc3JjX3BhcnNlX3N0YXR1cyksIChnc3Rfc291cF9odHRwX3NyY19jcmVhdGUpLAoJICAoZ3N0X3NvdXBfaHR0cF9zcmNfc3RhcnQpLCAoZ3N0X3NvdXBfaHR0cF9zcmNfc3RvcCksCgkgIChnc3Rfc291cF9odHRwX3NyY191bmxvY2spLCAoZ3N0X3NvdXBfaHR0cF9zcmNfdW5sb2NrX3N0b3ApLAoJICAoZ3N0X3NvdXBfaHR0cF9zcmNfZ2V0X3NpemUpLCAoZ3N0X3NvdXBfaHR0cF9zcmNfaXNfc2Vla2FibGUpLAoJICAoZ3N0X3NvdXBfaHR0cF9zcmNfZG9fc2VlayksIChnc3Rfc291cF9odHRwX3NyY19zZXRfbG9jYXRpb24pLAoJICAoZ3N0X3NvdXBfaHR0cF9zcmNfc2V0X3Byb3h5KSwgKGdzdF9zb3VwX2h0dHBfc3JjX3VyaV9nZXRfdHlwZSksCgkgIChnc3Rfc291cF9odHRwX3NyY191cmlfZ2V0X3Byb3RvY29scyksCgkgIChnc3Rfc291cF9odHRwX3NyY191cmlfZ2V0X3VyaSksIChnc3Rfc291cF9odHRwX3NyY191cmlfc2V0X3VyaSksCgkgIChnc3Rfc291cF9odHRwX3NyY191cmlfaGFuZGxlcl9pbml0KSwgKHBsdWdpbl9pbml0KToKCSAgQWRkIGNoYW5nZXMgdG8gZ3N0c291cGh0dHBzcmMuYyB0aGF0IHdlcmUgbWlzc2luZyBmcm9tIGxhc3QgY29tbWl0LgoKMjAwOC0wMS0zMSAwODo1NzoxNiArMDAwMCAgV291dGVyIENsb2V0ZW5zIDx3b3V0ZXJAbWluZC5iZT4KCgkgIE1ha2UgY29kaW5nIHN0eWxlIG1vcmUgY29uc2lzdGVudCwgaW5jbHVkaW5nIGNsYXNzIHJlbmFtaW5nLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFdvdXRlciBDbG9ldGVucyA8d291dGVyIGF0IG1pbmQgZG90IGJlPgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3M6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmhpZXJhcmNoeToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaW50ZXJmYWNlczoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291cC54bWw6CgkgIChnc3Rfc291cF9odHRwX3NyY19iYXNlX2luaXQpLCAoZ3N0X3NvdXBfaHR0cF9zcmNfY2xhc3NfaW5pdCksCgkgIChnc3Rfc291cF9odHRwX3NyY19pbml0KSwgKGdzdF9zb3VwX2h0dHBfc3JjX2Rpc3Bvc2UpLAoJICAoZ3N0X3NvdXBfaHR0cF9zcmNfc2V0X3Byb3BlcnR5KSwgKGdzdF9zb3VwX2h0dHBfc3JjX2dldF9wcm9wZXJ0eSksCgkgIChnc3Rfc291cF9odHRwX3NyY191bmljb2RpZnkpLCAoZ3N0X3NvdXBfaHR0cF9zcmNfY2FuY2VsX21lc3NhZ2UpLAoJICAoZ3N0X3NvdXBfaHR0cF9zcmNfcXVldWVfbWVzc2FnZSksCgkgIChnc3Rfc291cF9odHRwX3NyY19hZGRfcmFuZ2VfaGVhZGVyKSwKCSAgKGdzdF9zb3VwX2h0dHBfc3JjX3Nlc3Npb25fdW5wYXVzZV9tZXNzYWdlKSwKCSAgKGdzdF9zb3VwX2h0dHBfc3JjX3Nlc3Npb25fcGF1c2VfbWVzc2FnZSksCgkgIChnc3Rfc291cF9odHRwX3NyY19zZXNzaW9uX2Nsb3NlKSwKCSAgKGdzdF9zb3VwX2h0dHBfc3JjX2dvdF9oZWFkZXJzX2NiKSwKCSAgKGdzdF9zb3VwX2h0dHBfc3JjX2dvdF9ib2R5X2NiKSwgKGdzdF9zb3VwX2h0dHBfc3JjX2ZpbmlzaGVkX2NiKSwKCSAgKGdzdF9zb3VwX2h0dHBfc3JjX2dvdF9jaHVua19jYiksIChnc3Rfc291cF9odHRwX3NyY19yZXNwb25zZV9jYiksCgkgIChnc3Rfc291cF9odHRwX3NyY19wYXJzZV9zdGF0dXMpLCAoZ3N0X3NvdXBfaHR0cF9zcmNfY3JlYXRlKSwKCSAgKGdzdF9zb3VwX2h0dHBfc3JjX3N0YXJ0KSwgKGdzdF9zb3VwX2h0dHBfc3JjX3N0b3ApLAoJICAoZ3N0X3NvdXBfaHR0cF9zcmNfdW5sb2NrKSwgKGdzdF9zb3VwX2h0dHBfc3JjX3VubG9ja19zdG9wKSwKCSAgKGdzdF9zb3VwX2h0dHBfc3JjX2dldF9zaXplKSwgKGdzdF9zb3VwX2h0dHBfc3JjX2lzX3NlZWthYmxlKSwKCSAgKGdzdF9zb3VwX2h0dHBfc3JjX2RvX3NlZWspLCAoZ3N0X3NvdXBfaHR0cF9zcmNfc2V0X2xvY2F0aW9uKSwKCSAgKGdzdF9zb3VwX2h0dHBfc3JjX3NldF9wcm94eSksIChnc3Rfc291cF9odHRwX3NyY191cmlfZ2V0X3R5cGUpLAoJICAoZ3N0X3NvdXBfaHR0cF9zcmNfdXJpX2dldF9wcm90b2NvbHMpLAoJICAoZ3N0X3NvdXBfaHR0cF9zcmNfdXJpX2dldF91cmkpLCAoZ3N0X3NvdXBfaHR0cF9zcmNfdXJpX3NldF91cmkpLAoJICAoZ3N0X3NvdXBfaHR0cF9zcmNfdXJpX2hhbmRsZXJfaW5pdCksIChwbHVnaW5faW5pdCk6CgkgICogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuaDoKCSAgTWFrZSBjb2Rpbmcgc3R5bGUgbW9yZSBjb25zaXN0ZW50LCBpbmNsdWRpbmcgY2xhc3MgcmVuYW1pbmcuCgoyMDA4LTAxLTMxIDAwOjAzOjI2ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGNvbmZpZ3VyZS5hYzogRml4IHR5cG8uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgRml4IHR5cG8uCgoyMDA4LTAxLTMxIDAwOjAwOjIzICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGdzdC9hbHBoYS86IFJlLXdyaXRlIHRoZSAnYWxwaGEnIHBsdWdpbiB0byBiZSBCYXNlVHJhbnNmb3JtIGJhc2VkLCBzaW1wbGlmeWluZyBzb21lIHN0dWZmLCBhbmQgbWFraW5nIGJ1ZmZlci1hbGxvYyBhbi4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYWxwaGEvTWFrZWZpbGUuYW06CgkgICogZ3N0L2FscGhhL2dzdGFscGhhLmM6CgkgIFJlLXdyaXRlIHRoZSAnYWxwaGEnIHBsdWdpbiB0byBiZSBCYXNlVHJhbnNmb3JtIGJhc2VkLCBzaW1wbGlmeWluZwoJICBzb21lIHN0dWZmLCBhbmQgbWFraW5nIGJ1ZmZlci1hbGxvYyBhbmQgcmVzaXppbmcgd29yayBhdXRvbWF0aWNhbGx5LgoJICBObyBsb25nZXIgY3Jhc2hlcyBvbiBvZGQgZnJhbWUgd2lkdGhzIGFuZCBoZWlnaHRzLCBhbHRob3VnaCB0aGVyZQoJICBzZWVtcyB0byBiZSBhIGRpc2FncmVlbWVudCB3aXRoIGZmbXBlZ2NvbG9yc3BhY2UgYWJvdXQgd2hhdCBzaXplCgkgIGFuIEFZVVYgZnJhbWUgd2l0aCBvZGQgaGVpZ2h0IHNob3VsZCBiZS4KCjIwMDgtMDEtMzAgMTU6NDA6MzYgKzAwMDAgIFdvdXRlciBDbG9ldGVucyA8d291dGVyQG1pbmQuYmU+CgoJICBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOiBVcGRhdGUgZG9jdW1lbnRhdGlvbiBhIGJpdC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBXb3V0ZXIgQ2xvZXRlbnMgPHdvdXRlciBhdCBtaW5kIGRvdCBiZT4KCSAgKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOgoJICBVcGRhdGUgZG9jdW1lbnRhdGlvbiBhIGJpdC4KCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaGllcmFyY2h5OgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5pbnRlcmZhY2VzOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5wcmVyZXF1aXNpdGVzOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHNhc3BkaWYueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmIueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1maWx0ZXIueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nbGltYWdlc2luay54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd2aWRlb3BhcnNlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcXVpY2t0aW1lLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmF3cGFyc2UueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXBsYXlnYWluLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2RsLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291bmR0b3VjaC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdXAueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGNkZWMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVjdHJ1bS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWVkLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZXhyZXNhbXBsZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXN3aXRjaC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvY3JvcC54bWw6CgkgIFJlZ2VuZXJhdGUgZXZlcnl0aGluZyBmb3IgdGhlIGRvY3VtZW50YXRpb24gY2hhbmdlcyB3ZSBoYWQuCgoyMDA4LTAxLTMwIDEzOjI5OjE1ICswMDAwICBXb3V0ZXIgQ2xvZXRlbnMgPHdvdXRlckBtaW5kLmJlPgoKCSAgZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzogTGV0IHRoZSBwcm94eSBwcm9wZXJ0eSBkZWZhdWx0IHRvIHRoZSBjb250ZW50IG9mIHRoZSAkaHR0cF9wcm94eSBlbnZpcm9ubWVudCB2YXJpYWJsZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBXb3V0ZXIgQ2xvZXRlbnMgPHdvdXRlciBhdCBtaW5kIGRvdCBiZT4KCSAgKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOiAoZ3N0X3NvdXBodHRwX3NyY19pbml0KToKCSAgTGV0IHRoZSBwcm94eSBwcm9wZXJ0eSBkZWZhdWx0IHRvIHRoZSBjb250ZW50IG9mIHRoZSAkaHR0cF9wcm94eQoJICBlbnZpcm9ubWVudCB2YXJpYWJsZS4KCjIwMDgtMDEtMzAgMTM6MDg6NDUgKzAwMDAgIFdvdXRlciBDbG9ldGVucyA8d291dGVyQG1pbmQuYmU+CgoJICB0ZXN0cy9jaGVjay86IEFkZCBtaXNzaW5nIGZpbGVzIGZvciB0aGUgdW5pdCB0ZXN0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFdvdXRlciBDbG9ldGVucyA8d291dGVyIGF0IG1pbmQgZG90IGJlPgoJICAqIHRlc3RzL2NoZWNrL3Rlc3QtY2VydC5wZW06CgkgICogdGVzdHMvY2hlY2svdGVzdC1rZXkucGVtOgoJICBBZGQgbWlzc2luZyBmaWxlcyBmb3IgdGhlIHVuaXQgdGVzdC4KCjIwMDgtMDEtMzAgMTM6MDY6MDEgKzAwMDAgIFdvdXRlciBDbG9ldGVucyA8d291dGVyQG1pbmQuYmU+CgoJICBkb2NzL3BsdWdpbnMvOiBBZGQgc291cGh0dHBzcmMgdG8gdGhlIGRvY3MuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogV291dGVyIENsb2V0ZW5zIDx3b3V0ZXIgYXQgbWluZCBkb3QgYmU+CgkgICogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgQWRkIHNvdXBodHRwc3JjIHRvIHRoZSBkb2NzLgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOiAoZ3N0X3NvdXBodHRwX3NyY19jbGFzc19pbml0KSwKCSAgKGdzdF9zb3VwaHR0cF9zcmNfaW5pdCksIChnc3Rfc291cGh0dHBfc3JjX2Rpc3Bvc2UpLAoJICAoZ3N0X3NvdXBodHRwX3NyY19zZXRfcHJvcGVydHkpLCAoZ3N0X3NvdXBodHRwX3NyY19nZXRfcHJvcGVydHkpLAoJICAoZ3N0X3NvdXBodHRwX3NyY19jYW5jZWxfbWVzc2FnZSksCgkgIChnc3Rfc291cGh0dHBfc3JjX3F1ZXVlX21lc3NhZ2UpLAoJICAoZ3N0X3NvdXBodHRwX3NyY19hZGRfcmFuZ2VfaGVhZGVyKSwKCSAgKGdzdF9zb3VwaHR0cF9zcmNfc2Vzc2lvbl91bnBhdXNlX21lc3NhZ2UpLAoJICAoZ3N0X3NvdXBodHRwX3NyY19zZXNzaW9uX3BhdXNlX21lc3NhZ2UpLAoJICAoZ3N0X3NvdXBodHRwX3NyY19zZXNzaW9uX2Nsb3NlKSwKCSAgKGdzdF9zb3VwaHR0cF9zcmNfZ290X2hlYWRlcnNfY2IpLCAoZ3N0X3NvdXBodHRwX3NyY19nb3RfYm9keV9jYiksCgkgIChnc3Rfc291cGh0dHBfc3JjX2ZpbmlzaGVkX2NiKSwgKGdzdF9zb3VwaHR0cF9zcmNfZ290X2NodW5rX2NiKSwKCSAgKGdzdF9zb3VwaHR0cF9zcmNfcmVzcG9uc2VfY2IpLCAoZ3N0X3NvdXBodHRwX3NyY19wYXJzZV9zdGF0dXMpLAoJICAoZ3N0X3NvdXBodHRwX3NyY19jcmVhdGUpLCAoZ3N0X3NvdXBodHRwX3NyY19zdGFydCksCgkgIChnc3Rfc291cGh0dHBfc3JjX3N0b3ApLCAoZ3N0X3NvdXBodHRwX3NyY191bmxvY2spLAoJICAoZ3N0X3NvdXBodHRwX3NyY191bmxvY2tfc3RvcCksIChnc3Rfc291cGh0dHBfc3JjX2dldF9zaXplKSwKCSAgKGdzdF9zb3VwaHR0cF9zcmNfaXNfc2Vla2FibGUpLCAoZ3N0X3NvdXBodHRwX3NyY19kb19zZWVrKSwKCSAgKGdzdF9zb3VwaHR0cF9zcmNfc2V0X2xvY2F0aW9uKSwgKGdzdF9zb3VwaHR0cF9zcmNfc2V0X3Byb3h5KSwKCSAgKHBsdWdpbl9pbml0KToKCSAgKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5oOgoJICBBZGQgc3VwcG9ydCBmb3IgbGlic291cDIuNCBhbmQgcmVxdWlyZSBpdC4gQWxzbyBpbXBsZW1lbnQgcmVkaXJlY3Rpb24KCSAgYW5kIG1hbnVhbCBwcm94eSBzcGVjaWZpY2F0aW9uLiBGaXhlcyBidWcgIzUxMDcwOC4KCSAgKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy8uY3ZzaWdub3JlOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3NvdXBodHRwc3JjLmM6CgkgIEFkZCB1bml0IHRlc3QgZm9yIHNvdXBodHRwc3JjLgoKMjAwOC0wMS0yOSAxODo0MzozMiArMDAwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm9Abm52YS5vcmc+CgoJICBleHQvbGlicG5nL2dzdHBuZ2VuYy4qOiBQcmVhbGxvY2F0ZSB0aGUgb3V0cHV0IGJ1ZmZlciBzbyB0aGF0IGdfbWVtZHVwKCkgYW5kIGdzdF9idWZmZXJfbWVyZ2UoKSBhcmVuJ3QgbmVlZGVkIGFueW1vcmUuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRybyBhdCBubnZhIGRvdCBvcmc+CgkgICogZXh0L2xpYnBuZy9nc3RwbmdlbmMuYzogKHVzZXJfd3JpdGVfZGF0YSksIChnc3RfcG5nZW5jX2NoYWluKToKCSAgKiBleHQvbGlicG5nL2dzdHBuZ2VuYy5oOgoJICBQcmVhbGxvY2F0ZSB0aGUgb3V0cHV0IGJ1ZmZlciBzbyB0aGF0IGdfbWVtZHVwKCkgYW5kCgkgIGdzdF9idWZmZXJfbWVyZ2UoKSBhcmVuJ3QgbmVlZGVkIGFueW1vcmUuIFRoaXMgZ3JlYXRseSBpbXByb3ZlcwoJICBwZXJmb3JtYW5jZXMgYW5kIGZpeGVzICM1MTI1NDQuCgoyMDA4LTAxLTI5IDE4OjI0OjI4ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L2F2aS9nc3RhdmlkZW11eC5jOiBHU3RyZWFtZXIgdGltZXN0YW1wcyBhcmUgUFRTIHZhbHVlcyB3aGlsZSBBVkkgb25seSBrbm93cyBhYm91dCBEVFMgdGltZXN0YW1wcy4gTWFrZSBzdXJlIHdlIG9uLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzogKGdzdF9hdmlfZGVtdXhfcHJvY2Vzc19uZXh0X2VudHJ5KSwKCSAgKGdzdF9hdmlfZGVtdXhfc3RyZWFtX2RhdGEpOgoJICBHU3RyZWFtZXIgdGltZXN0YW1wcyBhcmUgUFRTIHZhbHVlcyB3aGlsZSBBVkkgb25seSBrbm93cyBhYm91dCBEVFMKCSAgdGltZXN0YW1wcy4gTWFrZSBzdXJlIHdlIG9ubHkgY29weSB0aGUgRFRTIGFzIHRoZSBidWZmZXIgdGltZXN0YW1wIHdoZW4KCSAgd2UgYXJlIGRlYWxpbmcgd2l0aCBhIGtleSBmcmFtZS4KCjIwMDgtMDEtMjkgMTU6NDU6NDggKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIHRlc3RzL2NoZWNrLzogQWRkIGFkZCB0ZXN0c3VpdGUgZm9yIHRoZSBydHAtcGF5bG9hZGVyIHRoYXQgdHJpZXMgc2ltdWxhdGluZyBkYXRhZmxvdy4gTmVlZHMgbW9yZSB0ZXN0IGRhdGEuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzLy5jdnNpZ25vcmU6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwLXBheWxvYWRpbmcuYzoKCSAgQWRkIGFkZCB0ZXN0c3VpdGUgZm9yIHRoZSBydHAtcGF5bG9hZGVyIHRoYXQgdHJpZXMgc2ltdWxhdGluZwoJICBkYXRhZmxvdy4gTmVlZHMgbW9yZSB0ZXN0IGRhdGEuCgoyMDA4LTAxLTI5IDE1OjI3OjAyICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICB0ZXN0cy9jaGVjay9lbGVtZW50cy9hbHBoYWNvbG9yLmM6IFJlbW92ZSB0d28gdW51c2VkIHZhcmlhYmxlcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvYWxwaGFjb2xvci5jOgoJICBSZW1vdmUgdHdvIHVudXNlZCB2YXJpYWJsZXMuCgoyMDA4LTAxLTI4IDEyOjE3OjAyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiBVc2UgZ19hc2NpaV9zdHJ0b2xsKCkgaW5zdGVhZCBvZiBhdG9sbCwgd2hpY2ggaXMgb25seSBhdmFpbGFibGUgaW4gQzk5LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IChnc3RfcnRzcHNyY19wYXJzZV9ydHBpbmZvKToKCSAgVXNlIGdfYXNjaWlfc3RydG9sbCgpIGluc3RlYWQgb2YgYXRvbGwsIHdoaWNoIGlzIG9ubHkKCSAgYXZhaWxhYmxlIGluIEM5OS4KCjIwMDgtMDEtMjYgMTY6MTk6MjYgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9maWx0ZXIvOiBEb24ndCBpbXBsZW1lbnQgZ2V0X3VuaXRfc2l6ZSgpIG91cnNlbHZlcywgdGhlIEdzdEF1ZGlvRmlsdGVyIGJhc2UgY2xhc3MgYWxyZWFkeSBkb2VzIHRoaXMgZm9yIHVzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZmlsdGVyL2dzdGJwd3NpbmMuYzogKGdzdF9icHdzaW5jX2NsYXNzX2luaXQpOgoJICAqIGdzdC9maWx0ZXIvZ3N0bHB3c2luYy5jOiAoZ3N0X2xwd3NpbmNfY2xhc3NfaW5pdCk6CgkgIERvbid0IGltcGxlbWVudCBnZXRfdW5pdF9zaXplKCkgb3Vyc2VsdmVzLCB0aGUgR3N0QXVkaW9GaWx0ZXIgYmFzZQoJICBjbGFzcyBhbHJlYWR5IGRvZXMgdGhpcyBmb3IgdXMuCgoyMDA4LTAxLTI1IDEwOjUzOjE3ICswMDAwICBUaGlqcyBWZXJtZWlyIDx0aGlqc3Zlcm1laXJAZ21haWwuY29tPgoKCSAgZ3N0L3J0cC86IEFkZCBNUEVHMiB2aWRlbyBwYXlsb2FkZXIKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvcnRwL2dzdHJ0cC5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwbXB2cGF5LmM6CgkgICogZ3N0L3J0cC9nc3RydHBtcHZwYXkuaDoKCSAgQWRkIE1QRUcyIHZpZGVvIHBheWxvYWRlcgoKMjAwOC0wMS0yMyAxNzowNTozMiArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2xldmVsL2dzdGxldmVsLmM6IFVzZSAjaW5jbHVkZSA8bWF0aC5oPiBpbnN0ZWFkIG9mICNpbmNsdWRlICJtYXRoLmgiLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbGV2ZWwvZ3N0bGV2ZWwuYzoKCSAgVXNlICNpbmNsdWRlIDxtYXRoLmg+IGluc3RlYWQgb2YgI2luY2x1ZGUgIm1hdGguaCIuCgoyMDA4LTAxLTIxIDE5OjQxOjQ1ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOiBGaXggdXAgc29tZSBDRkxBR1Mgc2V0cy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgIEZpeCB1cCBzb21lIENGTEFHUyBzZXRzLgoJICBEb24ndCBpbmNsdWRlIGdjb25mdmlkZW9zcmMgaW4gdGhlIHN0YXRlcyB0ZXN0LgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1dG9kZXRlY3QuYzogKEdTVF9TVEFSVF9URVNUKToKCSAgQWRkIHNvbWUgZXJyb3Igc3RyaW5ncyB0byBmYWlsX3VubGVzcyBhcmd1bWVudHMgdG8gZml4IHNvbWUgd2VpcmQKCSAgY29tcGlsZXIgZXJyb3JzIG9uIFNvbGFyaXMuCgoyMDA4LTAxLTIxIDE5OjM1OjU4ICswMDAwICBCcmlhbiBDYW1lcm9uIDxicmlhbi5jYW1lcm9uQHN1bi5jb20+CgoJICBjb25maWd1cmUuYWM6IERldGVjdCB2aWRlbzRsaW51eCBoZWFkZXJzIG9uIFNvbGFyaXMgdG9vLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIERldGVjdCB2aWRlbzRsaW51eCBoZWFkZXJzIG9uIFNvbGFyaXMgdG9vLgoJICAqIHN5cy92NGwyL2dzdHY0bDJjb2xvcmJhbGFuY2UuaDoKCSAgKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0Lmg6CgkgICogc3lzL3Y0bDIvdjRsMl9jYWxscy5jOgoJICAqIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuYzogKGdzdF92NGwyX2J1ZmZlcl9maW5hbGl6ZSksCgkgIChnc3RfdjRsMl9idWZmZXJfbmV3KToKCSAgTWFrZSB2NGwyIGJ1aWxkIG9uIFNvbGFyaXMuCgkgIFBhdGNoIGJ5OiBCcmlhbiBDYW1lcm9uICA8YnJpYW4uY2FtZXJvbiBhdCBzdW4gZG90IGNvbT4KCSAgRml4ZXM6ICM1MTA1MDUKCjIwMDgtMDEtMjEgMTE6NDY6MTkgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtZG9jcy5zZ21sOiBVcGRhdGUgbGlzdCBmcm9tIChzdGlsbCBsb2NhbCkgc2Nhbm5pbmcgc2NyaXB0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSAgVXBkYXRlIGxpc3QgZnJvbSAoc3RpbGwgbG9jYWwpIHNjYW5uaW5nIHNjcmlwdC4KCjIwMDgtMDEtMjEgMDk6NTc6MDcgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGRvY3MvcGx1Z2lucy86IEFkZCBzeW1ib2xzIGZyb20gLXVudXNlZC50eHQgdG8gdGhlIHJpZ2h0IHBsYWNlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgQWRkIHN5bWJvbHMgZnJvbSAtdW51c2VkLnR4dCB0byB0aGUgcmlnaHQgcGxhY2UuCgkgICogZ3N0L2R2ZHNwdS9nc3RkdmRzcHUuYzoKCSAgKiBnc3QvZHZkc3B1L2dzdGR2ZHNwdS5oOgoJICBDb2hlcmVudCBuYW1lc3BhY2UgdXNhZ2UuCgkgICogZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmM6CgkgIEZpeCBicm9rZW4gWE1MIGZyYWdtZW50IGluIGRvYyBzbmlwcGV0IGV2ZW4gbW9yZS4KCjIwMDgtMDEtMjEgMDc6NTQ6MDIgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbTogVXBkYXRlIGluY2x1ZGUgbGlzdC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJICBVcGRhdGUgaW5jbHVkZSBsaXN0LgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkgIFVwZGF0ZSB4bWwgaW5jbHVkZXMuCgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFsc2FzcGRpZi54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFtcndiLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYmF5ZXIueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iejIueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZHhhcGFyc2UueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdHNkZWMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmJzcmMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmRzcHUueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lcXVhbGl6ZXIueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFjLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhZC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZiZGV2c2luay54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZlc3RpdmFsLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmlsdGVyLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx2ZGVtdXgueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mcmVlemUueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc20ueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc3RpbnRlcmxhY2UueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc3RydHBtYW5hZ2VyLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taDI2NHBhcnNlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXJsZWF2ZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxhZHNwYS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1ldGFkYXRhLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW9kcGx1Zy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWc0dmlkZW9wYXJzZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd0c3BhcnNlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3ZpZGVvcGFyc2UueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdXNpY2JyYWluei54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW12ZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5zZmRlYy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW51dmRlbXV4LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcXRkZW11eC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXF1aWNrdGltZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlYWwueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXBsYXlnYWluLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2RsLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2RwLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlY3RydW0ueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVlZC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWV4cmVzYW1wbGUueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zdGVyZW8ueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zd2l0Y2gueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10aW1pZGl0eS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXR0YS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvY3JvcC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvcGFyc2UueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb3NpZ25hbC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZtbmMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13aWxkbWlkaS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXgyNjQueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14aW5naGVhZGVyLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teHZpZC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXk0bWVuYy54bWw6CgkgIFJlZ2VuZXJhdGUgZmlsZXMuCgkgICogZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmM6CgkgIEZpeCBicm9rZW4gWE1MIGZyYWdtZW50IGluIGRvYyBzbmlwcGV0LgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzLy5jdnNpZ25vcmU6CgkgIEFkZCB0ZXN0IGJpbmFyeSB0byBpZ25vcmVzLgoKMjAwOC0wMS0yMCAwNTowNzo1MiArMDAwMCAgV291dGVyIENsb2V0ZW5zIDx3b3V0ZXJAbWluZC5iZT4KCgkgIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6IFJlcG9ydCB0aGUgc2l6ZSBvZiB0aGUgc3RyZWFtIGFzIHRoZSB0b3RhbCBzaXplIGluc3RlYWQgb2YgdGhlIHJlbWFpbmluZyBDb250ZW50LUxlbmd0aCwgdy4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFdvdXRlciBDbG9ldGVucyA8d291dGVyIGF0IG1pbmQgZG90IGJlPgoJICAqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6IChzb3VwX2dvdF9oZWFkZXJzKToKCSAgUmVwb3J0IHRoZSBzaXplIG9mIHRoZSBzdHJlYW0gYXMgdGhlIHRvdGFsIHNpemUgaW5zdGVhZCBvZgoJICB0aGUgcmVtYWluaW5nIENvbnRlbnQtTGVuZ3RoLCB3aGljaCBpcyB3cm9uZyBhZnRlciBhIHNlZWsuCgoyMDA4LTAxLTE5IDE0OjU5OjA4ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBDaGFuZ2VMb2c6CgkgIEFkZCBidWcgbnVtYmVyIHRvIHRoZSBsYXRlc3QgZW50cnkKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEFkZCBidWcgbnVtYmVyIHRvIHRoZSBsYXRlc3QgZW50cnkKCjIwMDgtMDEtMTkgMTQ6NTM6NTggKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOiBTZXQgdmFyaWFibGUgdG8gTlVMTCBhZnRlciBmcmVlaW5nIGl0IHRvIHByZXZlbnQgZG91YmxlIGZyZWVzIG9yIG1ha2UgZmFpbHVyZXMgYnkgYW5vdGhlci4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgQmFzZWQgb24gYSBwYXRjaCBieToKCSAgVmljdG9yIFNUSU5ORVIgPHZpY3RvciBkb3Qgc3Rpbm5lciBhdCBoYXlwb2NhbGMgZG90IGNvbT4KCSAgKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzogKGdzdF93YXZwYXJzZV9zdHJlYW1faGVhZGVycyk6CgkgIFNldCB2YXJpYWJsZSB0byBOVUxMIGFmdGVyIGZyZWVpbmcgaXQgdG8gcHJldmVudCBkb3VibGUgZnJlZXMKCSAgb3IgbWFrZSBmYWlsdXJlcyBieSBhbm90aGVyIHVzZSBvZiBpdCBhZnRlcndhcmRzIG1vcmUgb2J2aW91cwoJICBhbmQgZml4IHVzZSBvZiBpdCBhZnRlciB0aGUgZnJlZWluZy4KCjIwMDgtMDEtMTkgMTQ6MzQ6NTAgKzAwMDAgIFdvdXRlciBDbG9ldGVucyA8d291dGVyQG1pbmQuYmU+CgoJICBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOiBDb3JyZWN0bHkgc2V0IGR1cmF0aW9uIG9uIHRoZSBHc3RCYXNlU3JjIHNlZ21lbnQgd2hlbiB3ZSBrbm93IGl0IHRvIGZpeCBmYWlsaW5nIHRoZSBkdXJhdGkuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBXb3V0ZXIgQ2xvZXRlbnMgPHdvdXRlciBhdCBtaW5kIGRvdCBiZT4KCSAgKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOiAoc291cF9nb3RfaGVhZGVycyk6CgkgIENvcnJlY3RseSBzZXQgZHVyYXRpb24gb24gdGhlIEdzdEJhc2VTcmMgc2VnbWVudCB3aGVuIHdlIGtub3cgaXQKCSAgdG8gZml4IGZhaWxpbmcgdGhlIGR1cmF0aW9uIHF1ZXJ5LgoKMjAwOC0wMS0xOCAxMzo0MDozOCArMDAwMCAgVGhpanMgVmVybWVpciA8dGhpanN2ZXJtZWlyQGdtYWlsLmNvbT4KCgkgIGdzdC91ZHAvZ3N0bXVsdGl1ZHBzaW5rLmM6IHVzZSBHU1RfV0FSTklORyBmb3IgbG9nZ2luZwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvdWRwL2dzdG11bHRpdWRwc2luay5jOgoJICB1c2UgR1NUX1dBUk5JTkcgZm9yIGxvZ2dpbmcKCjIwMDgtMDEtMTggMTA6MDU6NTMgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9tdWx0aWZpbGUvZ3N0bXVsdGlmaWxlc3JjLmM6IEZpeCBtZW1vcnkgbGVhayBzcG90dGVkIGJ5IHRoZSB1bml0IHRlc3QuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tdWx0aWZpbGUvZ3N0bXVsdGlmaWxlc3JjLmM6IChnc3RfbXVsdGlfZmlsZV9zcmNfY3JlYXRlKToKCSAgRml4IG1lbW9yeSBsZWFrIHNwb3R0ZWQgYnkgdGhlIHVuaXQgdGVzdC4KCjIwMDgtMDEtMTggMTA6MDQ6MjUgKzAwMDAgIFRoaWpzIFZlcm1laXIgPHRoaWpzdmVybWVpckBnbWFpbC5jb20+CgoJICBnc3QvdWRwL2dzdG11bHRpdWRwc2luay5jOiBEb24ndCB0cnkgdG8gbGVhdmUgYSBtdWx0aWNhc3QgZ3JvdXAgd2l0aCBhbiBpbnZhbGlkIHNvY2tldAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvdWRwL2dzdG11bHRpdWRwc2luay5jOgoJICBEb24ndCB0cnkgdG8gbGVhdmUgYSBtdWx0aWNhc3QgZ3JvdXAgd2l0aCBhbiBpbnZhbGlkIHNvY2tldAoKMjAwOC0wMS0xOCAwODo0OTo1OSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgdGVzdHMvY2hlY2svOiBBZGQgc29tZSBtaW5pbWFsIHRlc3RzIGZvciB0aGUgZXF1YWxpemVyIHBsdWdpbi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvLmN2c2lnbm9yZToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9lcXVhbGl6ZXIuYzogKHNldHVwX2VxdWFsaXplciksCgkgIChjbGVhbnVwX2VxdWFsaXplciksIChHU1RfU1RBUlRfVEVTVCksIChlcXVhbGl6ZXJfc3VpdGUpLCAobWFpbik6CgkgIEFkZCBzb21lIG1pbmltYWwgdGVzdHMgZm9yIHRoZSBlcXVhbGl6ZXIgcGx1Z2luLgoKMjAwOC0wMS0xOCAwNzowMzoyMyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIuYzogVW5wYXJlbnQgYWxsIGJhbmRzIGZyb20gdGhlIGVxdWFsaXplciB3aGVuIGZpbmFsaXppbmcgdG8gc3RvcCBsZWFraW5nCXRoZW0uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyLmM6IChnc3RfaWlyX2VxdWFsaXplcl9maW5hbGl6ZSk6CgkgIFVucGFyZW50IGFsbCBiYW5kcyBmcm9tIHRoZSBlcXVhbGl6ZXIgd2hlbiBmaW5hbGl6aW5nIHRvIHN0b3AKCSAgbGVha2luZwl0aGVtLgoKMjAwOC0wMS0xOCAwNTozMjoyNiArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzogQWRkIHN1cHBvcnQgZm9yIFdlYkRBVi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzogKGdzdF9zb3VwaHR0cF9zcmNfdXJpX2dldF9wcm90b2NvbHMpOgoJICBBZGQgc3VwcG9ydCBmb3IgV2ViREFWLgoKMjAwOC0wMS0xOCAwNToyNDozOSArMDAwMCAgV291dGVyIENsb2V0ZW5zIDx3b3V0ZXJAbWluZC5iZT4KCgkgIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLio6IEFkZCBzdXBwb3J0IGZvciBzZWVraW5nIHRvIHNvdXBodHRwc3JjLiBGaXhlcyBidWcgIzUwMjMzNS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBXb3V0ZXIgQ2xvZXRlbnMgPHdvdXRlciBhdCBtaW5kIGRvdCBiZT4KCSAgKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOiAoZ3N0X3NvdXBodHRwX3NyY19jbGFzc19pbml0KSwKCSAgKGdzdF9zb3VwaHR0cF9zcmNfaW5pdCksIChnc3Rfc291cGh0dHBfc3JjX2NyZWF0ZSksCgkgIChnc3Rfc291cGh0dHBfc3JjX2lzX3NlZWthYmxlKSwgKGdzdF9zb3VwaHR0cF9zcmNfZG9fc2VlayksCgkgIChzb3VwX2FkZF9yYW5nZV9oZWFkZXIpLCAoc291cF9nb3RfaGVhZGVycyksIChzb3VwX2dvdF9jaHVuayk6CgkgICogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuaDoKCSAgQWRkIHN1cHBvcnQgZm9yIHNlZWtpbmcgdG8gc291cGh0dHBzcmMuIEZpeGVzIGJ1ZyAjNTAyMzM1LgoKMjAwOC0wMS0xNyAyMToyMzozMiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC9mbGFjL2dzdGZsYWNkZWMuYzogd2hlcmUgdGhlIHBpY3R1cmUgbWV0YWRhdGEgZGVmaW5lcyBhbmQgc3RydWN0cyBkb24ndCBleGlzdCB5ZXQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9mbGFjL2dzdGZsYWNkZWMuYzoKCSAgRml4IGNvbXBpbGF0aW9uIGFnYWluc3QgZmxhYyAxLjEuMiAoYXMgb24gZGViaWFuIHN0YWJsZSksIHdoZXJlCgkgIHRoZSBwaWN0dXJlIG1ldGFkYXRhIGRlZmluZXMgYW5kIHN0cnVjdHMgZG9uJ3QgZXhpc3QgeWV0LgoJICBGaXhlcyAjNTA5MzAxLgoKMjAwOC0wMS0xNyAxMToxMzoxNiArMDAwMCAgT2xpdmllciBDcmV0ZSA8dGVzdGVyQHRlc3Rlci5jYT4KCgkgIGdzdC91ZHAvZ3N0bXVsdGl1ZHBzaW5rLio6IEFkZCBwcm9wZXJ0eSB0byBhdXRvbWF0aWNhbGx5IGpvaW4gYSBtdWx0aWNhc3QgZ3JvdXAgb3Igbm90LiBUaGlzIGNhbiBiZSB1c2VmdWwgd2hlbiBzaGFyaS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IE9saXZpZXIgQ3JldGUgPHRlc3RlciBhdCB0ZXN0ZXIgZG90IGNhPgoJICAqIGdzdC91ZHAvZ3N0bXVsdGl1ZHBzaW5rLmM6IChnc3RfbXVsdGl1ZHBzaW5rX2NsYXNzX2luaXQpLAoJICAoZ3N0X211bHRpdWRwc2lua19pbml0KSwgKGdzdF9tdWx0aXVkcHNpbmtfc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9tdWx0aXVkcHNpbmtfZ2V0X3Byb3BlcnR5KSwgKGdzdF9tdWx0aXVkcHNpbmtfaW5pdF9zZW5kKSwKCSAgKGdzdF9tdWx0aXVkcHNpbmtfYWRkX2ludGVybmFsKSwgKGdzdF9tdWx0aXVkcHNpbmtfcmVtb3ZlKToKCSAgKiBnc3QvdWRwL2dzdG11bHRpdWRwc2luay5oOgoJICBBZGQgcHJvcGVydHkgdG8gYXV0b21hdGljYWxseSBqb2luIGEgbXVsdGljYXN0IGdyb3VwIG9yIG5vdC4gVGhpcyBjYW4gYmUKCSAgdXNlZnVsIHdoZW4gc2hhcmluZyBhIHNvY2tldCBiZXR3ZWVuIG11bHRpcGxlIGVsZW1lbnRzLgoJICBGaXhlcyAjNTA5NTMxLgoKMjAwOC0wMS0xNiAyMTo1Mzo0MSArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L3ZpZGVvbWl4ZXIvTWFrZWZpbGUuYW06IEFkZCBjb250cm9sbGVyIGZsYWdzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvdmlkZW9taXhlci9NYWtlZmlsZS5hbToKCSAgQWRkIGNvbnRyb2xsZXIgZmxhZ3MuCgoyMDA4LTAxLTE2IDIwOjE3OjA4ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3QvdmlkZW9taXhlci92aWRlb21peGVyLmM6IEFsc28gY29tbWl0IHRoZSBtaXNzaW5nIGdzdF9vYmplY3Rfc3luY192YWx1ZXMoKS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlci5jOgoJICBBbHNvIGNvbW1pdCB0aGUgbWlzc2luZyBnc3Rfb2JqZWN0X3N5bmNfdmFsdWVzKCkuCgoyMDA4LTAxLTE2IDA4OjExOjQ2ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06IFJlbW92ZSBkdXBsaWNhdGUgZW50cnkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSAgUmVtb3ZlIGR1cGxpY2F0ZSBlbnRyeS4KCjIwMDgtMDEtMTUgMTY6NTI6MTAgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGRvY3MvcGx1Z2lucy86IEFkZCAzIG1vcmUgcGx1Z2lucyB0byBkb2NzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1kb2NzLnNnbWw6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdhbW1hLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW9ub3Njb3BlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW80bGludXgyLnhtbDoKCSAgQWRkIDMgbW9yZSBwbHVnaW5zIHRvIGRvY3MuCgoyMDA4LTAxLTE1IDE2OjA0OjQ0ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBSZXZlcnQgcHJldmlvdXMgY2hhbmdlIGNhdXNlZCBieSBhIGZpbGUgdGhhdCBnb3Qgc3R1Y2sgb24gYW4gb2xkIHJldmlzaW9uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgKiBzeXMvb3N4dmlkZW8vb3N4dmlkZW9zaW5rLmg6CgkgIFJldmVydCBwcmV2aW91cyBjaGFuZ2UgY2F1c2VkIGJ5IGEgZmlsZSB0aGF0IGdvdCBzdHVjayBvbiBhbiBvbGQKCSAgcmV2aXNpb24uCgoyMDA4LTAxLTE1IDE1OjQwOjU4ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBSZS1hZGQgbXVsdGlwYXJ0ZGVtdXggdG8gdGhlIGRvY3MuIExhc3Qgcm91bmQgb2Ygc2VjdGlvbiBjbGVhbnVwLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgKiBnc3QvbXVsdGlwYXJ0L01ha2VmaWxlLmFtOgoJICAqIGdzdC9tdWx0aXBhcnQvbXVsdGlwYXJ0ZGVtdXguYzoKCSAgKiBnc3QvbXVsdGlwYXJ0L211bHRpcGFydGRlbXV4Lmg6CgkgICogZ3N0L211bHRpcGFydC9tdWx0aXBhcnRtdXguYzoKCSAgKiBnc3QvbXVsdGlwYXJ0L211bHRpcGFydG11eC5oOgoJICBSZS1hZGQgbXVsdGlwYXJ0ZGVtdXggdG8gdGhlIGRvY3MuIExhc3Qgcm91bmQgb2Ygc2VjdGlvbiBjbGVhbnVwLgoKMjAwOC0wMS0xNSAxNToyMjo0MSArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgTWFuYWdlZCB0byByZXNvbHZlIG1vc3QgdW51c2VkIGRlY2xhcmF0aW9ucy4gRmlsZWQgYSBidWcgZm9yIG9uZSBsZWZ0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgICogc3lzL29zeGF1ZGlvL2dzdG9zeGF1ZGlvc2luay5oOgoJICAqIHN5cy9vc3h2aWRlby9vc3h2aWRlb3NpbmsuaDoKCSAgTWFuYWdlZCB0byByZXNvbHZlIG1vc3QgdW51c2VkIGRlY2xhcmF0aW9ucy4gRmlsZWQgYSBidWcgZm9yIG9uZSBsZWZ0LgoKMjAwOC0wMS0xNSAwODowMzo0OSArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1zZWN0aW9ucy50eHQ6IENsZWFudXAgc2VjdGlvbiBmaWxlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgQ2xlYW51cCBzZWN0aW9uIGZpbGUuCgoyMDA4LTAxLTE1IDA3OjQyOjUxICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBkb2NzL3BsdWdpbnMvOiBVcGRhdGUgcGx1Z2luIGRvY3MuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmFyZ3M6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5zaWduYWxzOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbGF3LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGEueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYWNvbG9yLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYW5ub2RleC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFwZXRhZy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvZngueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXBhcnNlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2RldGVjdC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF2aS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhaXJvLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2Rpby54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWN1dHRlci54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVnLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHYueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmVuY2UueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmZlY3R2LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmxhYy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZseGRlYy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdjb25mZWxlbWVudHMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZGtwaXhidWYueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taGFsZWxlbWVudHMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pY3lkZW11eC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlkM2RlbXV4LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanBlZy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxhZHNwYS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxldmVsLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWF0cm9za2EueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWxhdy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpcGFydC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5hdmlnYXRpb250ZXN0LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5nLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcXVpY2t0aW1lLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRzcC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNob3V0MnNlbmQueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbXB0ZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWV4LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdGFnbGliLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdWRwLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9iYWxhbmNlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9ib3gueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2Nyb3AueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2ZsaXAueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb21peGVyLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2ZW5jLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFjay54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhcnNlLnhtbDoKCSAgVXBkYXRlIHBsdWdpbiBkb2NzLgoJICAqIGdzdC92aWRlb21peGVyL01ha2VmaWxlLmFtOgoJICAqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIuYzoKCSAgKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyLmg6CgkgICogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlcnBhZC5oOgoJICBTcGxpdCBvdXQgaGVhZGVyIHRvIGZpeCB3YXJuaW5ncyBmcm9tIHRoZSBkb2MtYnVpbGQuCgoyMDA4LTAxLTE0IDEyOjM1OjIzICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgQXMgZm91bmQgYnk6IFRvbW1pIE15w7Zow6RuZW4gPGV4dC10b21taS5teW9oYW5lbiBub2tpYSBjb20+CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBBcyBmb3VuZCBieTogVG9tbWkgTXnDtmjDpG5lbiA8ZXh0LXRvbW1pLm15b2hhbmVuIG5va2lhIGNvbT4KCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IChnc3RfcnRzcHNyY19wYXJzZV9ydHBpbmZvKToKCSAgVXNlIGF0b2xsIHRvIHBhcnNlIHRoZSBydHB0aW1lIHdpdGggZW5vdWdoIHByZWNpc2lvbi4gRml4ZXMgIzUwOTMyOS4KCjIwMDgtMDEtMTQgMTI6MTE6NDMgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvOiBJbml0aWFsaXNlIHZhcmlhYmxlcyB0byB3b3JrIGFyb3VuZCAoZmFsc2UpICdmb28gbWlnaHQgYmUgdXNlZCB1bmluaXRpYWxpemVkIGluIHRoaXMgZnVuY3Rpb24nIHdhcm5pbmdzIGJ5IGdjYy0uLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2F2aS9nc3RhdmlzdWJ0aXRsZS5jOiAoZ3N0X2F2aV9zdWJ0aXRsZV9leHRyYWN0X2ZpbGUpOgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogKGdzdF9ydHNwc3JjX3NlbmQpOgoJICBJbml0aWFsaXNlIHZhcmlhYmxlcyB0byB3b3JrIGFyb3VuZCAoZmFsc2UpICdmb28gbWlnaHQgYmUgdXNlZAoJICB1bmluaXRpYWxpemVkIGluIHRoaXMgZnVuY3Rpb24nIHdhcm5pbmdzIGJ5IGdjYy0zLjMuMyAoIzUwOTI5OCkuCgoyMDA4LTAxLTEyIDAyOjMyOjM1ICswMDAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkgIElnbm9yZSBtb3JlIGZpbGVzIGZvciB0aGUgYnVpbGRib3QuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGRvY3MvcGx1Z2lucy8uY3ZzaWdub3JlOgoJICAqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy8uY3ZzaWdub3JlOgoJICBJZ25vcmUgbW9yZSBmaWxlcyBmb3IgdGhlIGJ1aWxkYm90LgoKMjAwOC0wMS0xMSAyMTowODo1OSArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBHZW5lcmF0ZSB0aGUgaW1hZ2UtdHlwZSB2YWx1ZXMgY29ycmVjdGx5LiBMZWF2ZSB0aGVtIG91dCBvZiB0aGUgY2FwcyB3aGVuIG91dHB1dHRpbmcgYSAicHJldmlldyBpbWFnZSIgdGFnLCBzaW5jZSBpdCAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5jOiAoZ3N0X2ZsYWNfZXh0cmFjdF9waWN0dXJlX2J1ZmZlcik6CgkgICogZ3N0L2lkM2RlbXV4L2lkM3YyZnJhbWVzLmM6IChwYXJzZV9waWN0dXJlX2ZyYW1lKToKCSAgR2VuZXJhdGUgdGhlIGltYWdlLXR5cGUgdmFsdWVzIGNvcnJlY3RseS4gTGVhdmUgdGhlbSBvdXQgb2YgdGhlIGNhcHMKCSAgd2hlbiBvdXRwdXR0aW5nIGEgInByZXZpZXcgaW1hZ2UiIHRhZywgc2luY2UgaXQgb25seSBtYWtlcyBzZW5zZQoJICB0byBoYXZlIG9uZSBvZiB0aG9zZSAtIHRoZSB0eXBlIGlzIGlycmVsZXZhbnQuCgkgICogc3lzL3N1bmF1ZGlvL2dzdHN1bmF1ZGlvbWl4ZXJjdHJsLmM6CgkgIChnc3Rfc3VuYXVkaW9taXhlcl9jdHJsX29wZW4pOgoJICBJZiB3ZSBjYW4sIG1hcmsgdGhlIG1peGVyIG11bHRpcGxlIG9wZW4gd2hlbiB3ZSB1c2UgaXQsIGluIGNhc2UKCSAgKGZvciBzb21lIHJlYXNvbikgdGhlIHByb2Nlc3Mgd2FudHMgdG8gb3BlbiBpdCBhZ2FpbiBlbHNld2hlcmUuCgoyMDA4LTAxLTExIDE5OjE2OjUzICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgdGVzdHMvY2hlY2svZWxlbWVudHMvOiBJdCdzICJlbmRpYW5uZXNzIiwgbm90ICJlbmRpYW5lc3MiLiBGaXhlcyB1bml0IHRlc3RzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9yZ2FuYWx5c2lzLmM6ICh0ZXN0X2J1ZmZlcl9jb25zdF9mbG9hdF9tb25vKSwKCSAgKHRlc3RfYnVmZmVyX2NvbnN0X2Zsb2F0X3N0ZXJlbyksICh0ZXN0X2J1ZmZlcl9jb25zdF9pbnQxNl9tb25vKSwKCSAgKHRlc3RfYnVmZmVyX2NvbnN0X2ludDE2X3N0ZXJlbyksICh0ZXN0X2J1ZmZlcl9zcXVhcmVfZmxvYXRfbW9ubyksCgkgICh0ZXN0X2J1ZmZlcl9zcXVhcmVfZmxvYXRfc3RlcmVvKSwgKHRlc3RfYnVmZmVyX3NxdWFyZV9pbnQxNl9tb25vKSwKCSAgKHRlc3RfYnVmZmVyX3NxdWFyZV9pbnQxNl9zdGVyZW8pOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3JnbGltaXRlci5jOiAoY3JlYXRlX3Rlc3RfYnVmZmVyKToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9yZ3ZvbHVtZS5jOiAodGVzdF9idWZmZXJfbmV3KToKCSAgSXQncyAiZW5kaWFubmVzcyIsIG5vdCAiZW5kaWFuZXNzIi4gRml4ZXMgdW5pdCB0ZXN0cy4KCjIwMDgtMDEtMTEgMTg6NTY6MDYgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvLmN2aWdub3JlOgoJICBpZ25vcmUgc29tZSBtb3JlCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBpZ25vcmUgc29tZSBtb3JlCgoyMDA4LTAxLTExIDE4OjU0OjMxICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvLmdpdGlnbm9yZToKCSAgaWdub3JlIHNvbWUgbW9yZQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgaWdub3JlIHNvbWUgbW9yZQoKMjAwOC0wMS0xMSAxNzoyMTozMCArMDAwMCAgT2xpdmllciBDcmV0ZSA8dGVzdGVyQHRlc3Rlci5jYT4KCgkgIGdzdC9ydHAvOiBGaXggdGhlIGNsb2NrIHJhdGUgdG8gOTAwMDAgYXMgcmVxdWlyZWQgYnkgdGhlIFJGQy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBPbGl2aWVyIENyZXRlIDx0ZXN0ZXIgYXQgdGVzdGVyIGRvdCBjYT4KCSAgKiBnc3QvcnRwL2dzdHJ0cHRoZW9yYWRlcGF5LmM6IChnc3RfcnRwX3RoZW9yYV9kZXBheV9zZXRjYXBzKToKCSAgKiBnc3QvcnRwL2dzdHJ0cHRoZW9yYXBheS5jOgoJICBGaXggdGhlIGNsb2NrIHJhdGUgdG8gOTAwMDAgYXMgcmVxdWlyZWQgYnkgdGhlIFJGQy4KCSAgRml4ZXMgIzUwODY0NC4KCjIwMDgtMDEtMTEgMTc6MTI6MzcgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICB0ZXN0cy9jaGVjay9lbGVtZW50cy9pY3lkZW11eC5jOiBEb24ndCB1c2UgZGVwcmVjYXRlZCBHU1RfUExVR0lOX0RFRklORV9TVEFUSUMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2ljeWRlbXV4LmM6IChHU1RfU1RBUlRfVEVTVCksIChpY3lkZW11eF9zdWl0ZSk6CgkgIERvbid0IHVzZSBkZXByZWNhdGVkIEdTVF9QTFVHSU5fREVGSU5FX1NUQVRJQy4KCjIwMDgtMDEtMTAgMTI6MjU6NDQgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGF1dG9nZW4uc2g6IEFkZCAtV25vLXBvcnRhYmlsaXR5IHRvIHRoZSBhdXRvbWFrZSBwYXJhbWV0ZXJzIHRvIHN0b3Agd2FybmluZ3MgYWJvdXQgR05VIG1ha2UgZXh0ZW5zaW9ucyBiZWluZyB1c2VkLiBXZS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBhdXRvZ2VuLnNoOgoJICBBZGQgLVduby1wb3J0YWJpbGl0eSB0byB0aGUgYXV0b21ha2UgcGFyYW1ldGVycyB0byBzdG9wIHdhcm5pbmdzCgkgIGFib3V0IEdOVSBtYWtlIGV4dGVuc2lvbnMgYmVpbmcgdXNlZC4gV2UgcmVxdWlyZSBHTlUgbWFrZSBpbiBhbG1vc3QKCSAgZXZlcnkgTWFrZWZpbGUgYW55d2F5LgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgVXNlIEFNX1BST0dfQ0NfQ19PIGFzIGEgY29tcGlsZXIgdGhhdCBhY2NlcHRzIGJvdGggLWMgYW5kIC1vCgkgIGF0IHRoZSBzYW1lIHRpbWUgaXMgcmVxdWlyZWQgZm9yIHBlciB0YXJnZXQgZmxhZ3MuCgoyMDA4LTAxLTA5IDE1OjI4OjI5ICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlci5jOiBGaXggZXJyb3IgZnJvbSBteSBsYXN0IGNvbW1pdC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlci5jOiAoZ3N0X3ZpZGVvbWl4ZXJfaW5pdCk6CgkgIEZpeCBlcnJvciBmcm9tIG15IGxhc3QgY29tbWl0LgoKMjAwOC0wMS0wOSAxNToyMDoxOSArMDAwMCAgVG9tbWkgTXnDtmjDpG5lbiA8ZXh0LXRvbW1pLm15b2hhbmVuQG5va2lhLmNvbT4KCgkgIGdzdC9pZDNkZW11eC9pZDN2MmZyYW1lcy5jOiBNYWtlIHN1cmUgdGhlIElTTyA2MzktWCBsYW5ndWFnZSBjb2RlIGluIElEM3YyIENPTU0gZnJhbWVzIHNvIHdlIGRvbid0IGVuZCB1cCB3aXRoIG5vbi1VVC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgQmFzZWQgb24gcGF0Y2ggYnk6IFRvbW1pIE15w7Zow6RuZW4gPGV4dC10b21taS5teW9oYW5lbiBub2tpYSBjb20+CgkgICogZ3N0L2lkM2RlbXV4L2lkM3YyZnJhbWVzLmM6IChwYXJzZV9jb21tZW50X2ZyYW1lKToKCSAgTWFrZSBzdXJlIHRoZSBJU08gNjM5LVggbGFuZ3VhZ2UgY29kZSBpbiBJRDN2MiBDT01NIGZyYW1lcwoJICBpcyBhY3R1YWxseSB2YWxpZCBVVEYtOCAob3IgcmF0aGVyOiBBU0NJSSksIHNvIHdlIGRvbid0IGVuZAoJICB1cCB3aXRoIG5vbi1VVEY4IHN0cmluZ3MgaW4gdGFncyBpZiB0aGVyZSdzIGdhcmJhZ2UgaW4gdGhlCgkgIGxhbmd1YWdlIGZpZWxkLiBBbHNvIG1ha2Ugc3VyZSB0aGUgbGFuZ3VhZ2UgY29kZSBpcyBhbHdheXMKCSAgbG93ZXIgY2FzZS4gRml4ZXM6ICM1MDgyOTEuCgoyMDA4LTAxLTA5IDEzOjU1OjI4ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBDaGFuZ2VMb2c6IEZpeCBDaGFuZ2VMb2cgdHlwby4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogQ2hhbmdlTG9nOgoJICBGaXggQ2hhbmdlTG9nIHR5cG8uCgoyMDA4LTAxLTA5IDEzOjUwOjA5ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBNYWtlZmlsZS5hbTogSW5jbHVkZSBsY292Lm1hayB0byBhbGxvdyBidWlsZ2luZyBjb3ZlcmFnZSByZXBvcnRzLiBHdWFyZCBjaGVjay10b3J0dXJlIHRhcmdldCBsaWtlIGluIHRoZSBvdGhlciBwYWNrYWdlcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogTWFrZWZpbGUuYW06CgkgIEluY2x1ZGUgbGNvdi5tYWsgdG8gYWxsb3cgYnVpbGdpbmcgY292ZXJhZ2UgcmVwb3J0cy4gR3VhcmQKCSAgY2hlY2stdG9ydHVyZSB0YXJnZXQgbGlrZSBpbiB0aGUgb3RoZXIgcGFja2FnZXMuCgoyMDA4LTAxLTA5IDEyOjMzOjU4ICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlci5jOiBJbXBsZW1lbnQgR3N0Q2hpbGRQcm94eSBpbnRlcmZhY2UuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICByZXZpZXdlZCBieTogRWR3YXJkIEhlcnZleSAgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoJICAqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIuYzoKCSAgKGdzdF92aWRlb21peGVyX3NldF9tYXN0ZXJfZ2VvbWV0cnkpLCAoX2RvX2luaXQpLAoJICAoZ3N0X3ZpZGVvbWl4ZXJfY2hpbGRfcHJveHlfZ2V0X2NoaWxkX2J5X2luZGV4KSwKCSAgKGdzdF92aWRlb21peGVyX2NoaWxkX3Byb3h5X2dldF9jaGlsZHJlbl9jb3VudCksCgkgIChnc3RfdmlkZW9taXhlcl9jaGlsZF9wcm94eV9pbml0KSwgKGdzdF92aWRlb21peGVyX3Jlc2V0KSwKCSAgKGdzdF92aWRlb21peGVyX2luaXQpLCAoZ3N0X3ZpZGVvbWl4ZXJfcmVxdWVzdF9uZXdfcGFkKSwKCSAgKGdzdF92aWRlb21peGVyX3JlbGVhc2VfcGFkKSwgKGdzdF92aWRlb21peGVyX2ZpbGxfcXVldWVzKToKCSAgSW1wbGVtZW50IEdzdENoaWxkUHJveHkgaW50ZXJmYWNlLgoJICBTZW5kIG5ld3NlZ21lbnQgYXQgdGhlIHJpZ2h0IG1vbWVudAoJICBGaXhlcyAjNDg4ODc5CgoyMDA4LTAxLTA5IDEyOjAxOjE0ICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgZ3N0L2FscGhhLzogTWFrZSB0aGUgdmFyaW91cyBwcm9wZXJ0aWVzIG9mICdhbHBoYScgY29udHJvbGxhYmxlLiBUaGlzIGFsbG93cyBkb2luZyBuaWNldGllcyBsaWtlIGZhZGUtaW4vZmFkZS1vdXQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hbHBoYS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvYWxwaGEvZ3N0YWxwaGEuYzogKGdzdF9hbHBoYV9jbGFzc19pbml0KSwgKGdzdF9hbHBoYV9pbml0KSwKCSAgKGdzdF9hbHBoYV9zaW5rX2V2ZW50KSwgKGdzdF9hbHBoYV9jaGFpbiksCgkgIChnc3RfYWxwaGFfY2hhbmdlX3N0YXRlKSwgKHBsdWdpbl9pbml0KToKCSAgTWFrZSB0aGUgdmFyaW91cyBwcm9wZXJ0aWVzIG9mICdhbHBoYScgY29udHJvbGxhYmxlLiBUaGlzIGFsbG93cyBkb2luZwoJICBuaWNldGllcyBsaWtlIGZhZGUtaW4vZmFkZS1vdXQuCgoyMDA4LTAxLTA5IDExOjExOjAxICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3QvcnRwLzogUmVtb3ZlIGNvcHkvcGFzdGUgdW51c2VkIGNvZGUgKHByb3BlcnR5IHNldHRlcnMgYW5kIGdldHRlcikgZm91bmQgYnkgdGhlIGNvdmVyYWdlIHN1aXRlICh5YXksIHNhdmVzIH4yMGsgb24uLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cC9nc3Rhc3Rlcmlza2gyNjMuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cEwxNmRlcGF5LmM6CgkgICogZ3N0L3J0cC9nc3RydHBhYzNkZXBheS5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwYW1ycGF5LmM6CgkgICogZ3N0L3J0cC9nc3RydHBkZXBheS5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwZ3NtZGVwYXkuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cGgyNjNkZXBheS5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwaDI2M3BkZXBheS5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwaDI2M3BwYXkuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cGgyNjRkZXBheS5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwaDI2NHBheS5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwbXAydGRlcGF5LmM6CgkgICogZ3N0L3J0cC9nc3RydHBtcDRhZGVwYXkuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cG1wNGdkZXBheS5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwbXA0Z3BheS5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwbXA0dmRlcGF5LmM6CgkgICogZ3N0L3J0cC9nc3RydHBtcGFkZXBheS5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwbXB2ZGVwYXkuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cHN2M3ZkZXBheS5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwdGhlb3JhZGVwYXkuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cHRoZW9yYXBheS5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwdm9yYmlzZGVwYXkuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cHZvcmJpc3BheS5jOgoJICBSZW1vdmUgY29weS9wYXN0ZSB1bnVzZWQgY29kZSAocHJvcGVydHkgc2V0dGVycyBhbmQgZ2V0dGVyKSBmb3VuZCBieQoJICB0aGUgY292ZXJhZ2Ugc3VpdGUgKHlheSwgc2F2ZXMgfjIwayBvbiBkaXNrKS4KCjIwMDgtMDEtMDggMjA6MDM6MzAgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6IEFsc28gZml4IHVwIHBhZCB0ZW1wbGF0ZXMgdG8gaW5kaWNhdGUgdGhhdCBpbWFnZS9qcGVnIGRvZXNuJ3QgYWJzb2x1dGVseSByZXF1aXJlIHRoZSBmcmEuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOiAoQ09NTU9OX1ZJREVPX0NBUFNfTk9fRlJBTUVSQVRFKSwKCSAgKHZpZGVvc2lua190ZW1wbCk6CgkgIEFsc28gZml4IHVwIHBhZCB0ZW1wbGF0ZXMgdG8gaW5kaWNhdGUgdGhhdCBpbWFnZS9qcGVnIGRvZXNuJ3QKCSAgYWJzb2x1dGVseSByZXF1aXJlIHRoZSBmcmFtZXJhdGUgcHJvcGVydHkgdG8gYmUgc2V0ICgjNTA0MDgxKS4KCjIwMDgtMDEtMDggMTk6NTc6MjMgKzAwMDAgIFdvdXRlciBDbG9ldGVucyA8d291dGVyQG1pbmQuYmU+CgoJICBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4Lio6IEtlZXAgdHJhY2sgb2YgZmlyc3QgYW5kIGxhc3QgdGltZXN0YW1wcyBmb3IgZWFjaCBpbmNvbWluZyBzdHJlYW0sIHNvIHdlIGNhbiBjYWxjdWxhdGUgdGguLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEJhc2VkIG9uIHBhdGNoIGJ5OiBXb3V0ZXIgQ2xvZXRlbnMgIDx3b3V0ZXIgYXQgbWluZCBiZT4KCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6IChnc3RfbWF0cm9za2FfbXV4X3ZpZGVvX3BhZF9zZXRjYXBzKSwKCSAgKGdzdF9tYXRyb3NrYV9tdXhfcmVxdWVzdF9uZXdfcGFkKSwgKGdzdF9tYXRyb3NrYV9tdXhfcmVsZWFzZV9wYWQpLAoJICAoZ3N0X21hdHJvc2thX211eF9maW5pc2gpLCAoZ3N0X21hdHJvc2thX211eF9jb2xsZWN0ZWQpOgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguaDoKCSAgS2VlcCB0cmFjayBvZiBmaXJzdCBhbmQgbGFzdCB0aW1lc3RhbXBzIGZvciBlYWNoIGluY29taW5nIHN0cmVhbSwKCSAgc28gd2UgY2FuIGNhbGN1bGF0ZSB0aGUgdG90YWwgZHVyYXRpb24gZm9yIGxpdmUgc291cmNlcyBhbmQgb3RoZXIKCSAgaW5wdXQgd2hlcmUgd2UgY2FuJ3QgcXVlcnkgdGhlIGR1cmF0aW9uIGZyb20gdGhlIHN0YXJ0IG9yIHdoZXJlCgkgIHRoZXJlJ3Mgbm8gY29uc3RhbnQgZnJhbWVyYXRlIGZyb20gd2hpY2ggd2UgY2FuIGRlZHVjZSB0aGUKCSAgZHVyYXRpb247IGFsc28gdXNlIGNhbGN1bGF0ZWQvb2JzZXJ2ZWQgZHVyYXRpb24gaWYgaXQgaXMgYmlnZ2VyCgkgIHRoYW4gdGhlIHByZXZpb3VzbHkgcXVlcmllZCBkdXJhdGlvbi4gRnVydGhlcm1vcmUsIHVzZQoJICBnc3RfcGFkX3F1ZXJ5X3BlZXJfZHVyYXRpb24oKSBhbmQgdGFrZSBpbnRvIGFjY291bnQgdGhhdCBpdCBtYXkKCSAgcmV0dXJuIFRSVUUgYnV0IHN0aWxsIGEgZHVyYXRpb24gb2YgQ0xPQ0tfVElNRV9OT05FLCB3aGljaCBlYXNpbHkKCSAgc2NyZXdzIHVwIGNvbXBhcmlzb25zIHdoZW4gdXNpbmcgdW5zaWduZWQgaW50ZWdlcnMuIEZpeGVzICM1MDQwODEuCgoyMDA4LTAxLTA4IDE0OjU4OjE4ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBNYWtlIGVsZW1lbnRzIEdTVF9CVUZGRVJfRkxBR19HQVAgYXdhcmUgYW5kIGNhbGwgZ3N0X2Jhc2VfdHJhbnNmb3JtX3NldF9nYXBfYXdhcmUgZm9yIHRoaXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBnc3QvYXVkaW9meC9hdWRpb2FtcGxpZnkuYzoKCSAgKGdzdF9hdWRpb19hbXBsaWZ5X2NsaXBwaW5nX21ldGhvZF9nZXRfdHlwZSksCgkgIChnc3RfYXVkaW9fYW1wbGlmeV9pbml0KSwgKGdzdF9hdWRpb19hbXBsaWZ5X3RyYW5zZm9ybV9pcCk6CgkgICogZ3N0L2F1ZGlvZngvYXVkaW9keW5hbWljLmM6IChnc3RfYXVkaW9fZHluYW1pY19pbml0KSwKCSAgKGdzdF9hdWRpb19keW5hbWljX3RyYW5zZm9ybV9pcCk6CgkgICogZ3N0L2F1ZGlvZngvYXVkaW9pbnZlcnQuYzogKGdzdF9hdWRpb19pbnZlcnRfaW5pdCksCgkgIChnc3RfYXVkaW9faW52ZXJ0X3RyYW5zZm9ybV9pcCk6CgkgICogZ3N0L2F1ZGlvZngvYXVkaW9wYW5vcmFtYS5jOiAoZ3N0X2F1ZGlvX3Bhbm9yYW1hX2luaXQpLAoJICAoZ3N0X2F1ZGlvX3Bhbm9yYW1hX3RyYW5zZm9ybSk6CgkgICogZ3N0L2xldmVsL2dzdGxldmVsLmM6IChnc3RfbGV2ZWxfaW5pdCk6CgkgIE1ha2UgZWxlbWVudHMgR1NUX0JVRkZFUl9GTEFHX0dBUCBhd2FyZSBhbmQgY2FsbAoJICBnc3RfYmFzZV90cmFuc2Zvcm1fc2V0X2dhcF9hd2FyZSBmb3IgdGhpcy4KCSAgQnVtcCBjb3JlIHJlcXVpcmVtZW50IHRvIENWUy4KCSAgKiBnc3QvYXVkaW9meC9hdWRpb2NoZWJ5c2hldmZyZXFiYW5kLmM6CgkgIChnc3RfYXVkaW9fY2hlYnlzaGV2X2ZyZXFfYmFuZF90cmFuc2Zvcm1faXApOgoJICAqIGdzdC9hdWRpb2Z4L2F1ZGlvY2hlYnlzaGV2ZnJlcWxpbWl0LmM6CgkgIChnc3RfYXVkaW9fY2hlYnlzaGV2X2ZyZXFfbGltaXRfdHJhbnNmb3JtX2lwKToKCSAgQWxzbyBzeW5jIEdPYmplY3QgcHJvcGVydGllcyB0byB0aGUgY29udHJvbGxlciBpZiBvcGVyYXRpbmcKCSAgaW4gcGFzc3Rocm91Z2ggbW9kZS4KCjIwMDgtMDEtMDcgMTY6NDE6MDAgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5jOiBGQUxTRSBpcyBub3QgYSBncG9pbnRlci4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuYzoKCSAgKGdzdF9kaXJlY3RkcmF3X3Npbmtfd2luZG93X3RocmVhZCk6CgkgIEZBTFNFIGlzIG5vdCBhIGdwb2ludGVyLgoKMjAwOC0wMS0wNSAyMToyMDowOCArMDAwMCAgSnVsaWVuIE1vdXR0ZSA8anVsaWVuQG1vdXR0ZS5uZXQ+CgoJICBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5jOiBNYWtlIHN1cmUgd2UgY3JlYXRlIG91ciBpbnRlcm5hbCB3aW5kb3cgb25seSB3aGVuIHdlIG5lZWQgaXQuIFRoYXQgd2lsbCBnaXZlIGEgY2guLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDgtMDEtMDUgIEp1bGllbiBNb3V0dGUgIDxqdWxpZW5AZmx1ZW5kby5jb20+CgkgICogc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuYzoKCSAgKGdzdF9kaXJlY3RkcmF3X3Npbmtfc2V0X3dpbmRvd19pZCksCgkgIChnc3RfZGlyZWN0ZHJhd19zaW5rX3NldF9jYXBzKSwKCSAgKGdzdF9kaXJlY3RkcmF3X3NpbmtfY2hhbmdlX3N0YXRlKSwKCSAgKGdzdF9kaXJlY3RkcmF3X3NpbmtfYnVmZmVyX2FsbG9jKSwKCSAgKGdzdF9kaXJlY3RkcmF3X3NpbmtfZHJhd19ib3JkZXJzKSwKCSAgKGdzdF9kaXJlY3RkcmF3X3Npbmtfc2hvd19mcmFtZSksCgkgIChnc3RfZGlyZWN0ZHJhd19zaW5rX3NldHVwX2RkcmF3KSwKCSAgKGdzdF9kaXJlY3RkcmF3X3Npbmtfd2luZG93X3RocmVhZCksCgkgIChnc3RfZGlyZWN0ZHJhd19zaW5rX2dldF9kZHJhd2NhcHMpLAoJICAoZ3N0X2RpcmVjdGRyYXdfc2lua19zdXJmYWNlX2NyZWF0ZSk6IE1ha2Ugc3VyZSB3ZSBjcmVhdGUgb3VyCgkgIGludGVybmFsIHdpbmRvdyBvbmx5IHdoZW4gd2UgbmVlZCBpdC4gVGhhdCB3aWxsIGdpdmUgYSBjaGFuY2UgdG8KCSAgdGhlIGFwcGxpY2F0aW9uIHRvIGdldCB0aGUgcHJlcGFyZS14d2luZG93LWlkIGJ1cyBtZXNzYWdlLiBEcmF3CgkgIGJsYWNrIGJvcmRlcnMgd2hlbiBrZWVwaW5nIGFzcGVjdCByYXRpby4gSGFuZGxlIHRoZSBjYXNlIHdoZXJlCgkgIG91cgoJICByZW5kZXJpbmcgd2luZG93IGRpc2FwcGVhcnMgKGNsb3NlZCBvciBlcnJvcnMpIGxpa2Ugb3RoZXIgc2lua3MKCSAgZG8uIFZhcmlvdXMgODAgY29sdW1ucyBmaXhlcywgaW1wcm92ZSBzdGF0ZSBjaGFuZ2Ugb3JkZXIuIFRoYXQKCSAgZWxlbWVudCBjb3VsZCBuZWVkIHNvbWUgbW9yZSBsb3ZlLgoKMjAwOC0wMS0wNCAxODozMDoyMSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZXh0L3RhZ2xpYi86IFJlbW92ZSB1c2VsZXNzIHR5cGVkZWZzIHdpdGhvdXQgbmV3IHR5cGUgbmFtZS4gRml4ZXMgYSB3YXJuaW5nIHdpdGggZ2NjIDQuMy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3RhZ2xpYi9nc3RhcGV2Mm11eC5oOgoJICAqIGV4dC90YWdsaWIvZ3N0aWQzdjJtdXguaDoKCSAgUmVtb3ZlIHVzZWxlc3MgdHlwZWRlZnMgd2l0aG91dCBuZXcgdHlwZSBuYW1lLiBGaXhlcyBhIHdhcm5pbmcgd2l0aAoJICBnY2MgNC4zLgoKMjAwOC0wMS0wMyAxMjoyNjowMyArMDAwMCAgSm9obiBNaWxsaWtpbiA8am1pbGxpa2luQGdtYWlsLmNvbT4KCgkgIGV4dC9mbGFjL2dzdGZsYWNkZWMuYzogRW1pdCBtZXRhZGF0YSBtZXNzYWdlcyB3aGVuIGEgUElDVFVSRSBibG9jayBpcyBlbmNvdW50ZXJlZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBKb2huIE1pbGxpa2luIDxqbWlsbGlraW4gYXQgZ21haWwgZG90IGNvbT4KCSAgKiBleHQvZmxhYy9nc3RmbGFjZGVjLmM6IChnc3RfZmxhY19kZWNfc2V0dXBfc2Vla2FibGVfZGVjb2RlciksCgkgIChnc3RfZmxhY19kZWNfc2V0dXBfc3RyZWFtX2RlY29kZXIpLAoJICAoZ3N0X2ZsYWNfbm9ybWFsaXplX3BpY3R1cmVfbWltZV90eXBlKSwKCSAgKGdzdF9mbGFjX2V4dHJhY3RfcGljdHVyZV9idWZmZXIpLAoJICAoZ3N0X2ZsYWNfZGVjX21ldGFkYXRhX2NhbGxiYWNrKToKCSAgRW1pdCBtZXRhZGF0YSBtZXNzYWdlcyB3aGVuIGEgUElDVFVSRSBibG9jayBpcyBlbmNvdW50ZXJlZC4KCSAgRml4ZXMgIzUwNjcxNS4KCjIwMDgtMDEtMDIgMTM6NTQ6MTAgKzAwMDAgIFRoaWpzIFZlcm1laXIgPHRoaWpzdmVybWVpckBnbWFpbC5jb20+CgoJICBnc3QvYXZpL2dzdGF2aS5jOiBpbmNyZWFzZSByYW5rIGJlY2F1c2Ugbm8ga25vd24gaXNzdWVzIGFueW1vcmUgLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdmkvZ3N0YXZpLmM6CgkgIGluY3JlYXNlIHJhbmsgYmVjYXVzZSBubyBrbm93biBpc3N1ZXMgYW55bW9yZSAuLi4KCSAgKiBnc3QvYXZpL2dzdGF2aXN1YnRpdGxlLmM6CgkgIHNlbmQgc3VidGl0bGUgbmFtZSB0byB0aGUgc3JjcGFkCgoyMDA3LTEyLTMxIDEzOjI3OjMyICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0c3AvZ3N0cnRzcHNyYy4qOiBJbXBsZW1lbnQgcmVkaXJlY3QgZm9yIHRoZSBERVNDUklCRSByZXBseS4gRml4ZXMgIzUwNjAyNS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiAoZ3N0X3J0c3BzcmNfc2VuZCksIChnc3RfcnRzcHNyY19vcGVuKToKCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmg6CgkgIEltcGxlbWVudCByZWRpcmVjdCBmb3IgdGhlIERFU0NSSUJFIHJlcGx5LiBGaXhlcyAjNTA2MDI1LgoKMjAwNy0xMi0yOSAxNjo0ODozMyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5jOiBGaXggJ3h5eiBtYXkgYmUgdXNlZCB1bmluaXRpYWxpemVkJyBjb21waWxlciB3YXJuaW5ncyBjYXVzZWQgYnkgYnJva2VuIGdfYXNzZXJ0X25vdF9yZWFjaGVkKCkgLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9mbGFjL2dzdGZsYWNkZWMuYzogKGdzdF9mbGFjX2RlY193cml0ZSk6CgkgIEZpeCAneHl6IG1heSBiZSB1c2VkIHVuaW5pdGlhbGl6ZWQnIGNvbXBpbGVyIHdhcm5pbmdzIGNhdXNlZAoJICBieSBicm9rZW4gZ19hc3NlcnRfbm90X3JlYWNoZWQoKSBtYWNybyBpbiBHTGliLTIuMTUueCBhbmQgZG9uJ3QKCSAgYWJvcnQoKSBpbiBhbnkgY2FzZSBidXQgcHJvcGVybHkgcmVwb3J0IHRoZSBlcnJvci4KCjIwMDctMTItMjggMTE6NDQ6MjggKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvc291cC86IFVzZSBnc3RfdGFnX2ZyZWVmb3JtX3N0cmluZ190b191dGY4KCkgYW5kIHBvc3QgcmFkaW8gc3RhdGlvbiBpbmZvIGFzIHRhZ3Mgb24gdGhlIGJ1cy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3NvdXAvTWFrZWZpbGUuYW06CgkgICogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzogKGdzdF9zb3VwaHR0cF9zcmNfZ2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9zb3VwaHR0cF9zcmNfdW5pY29kaWZ5KSwgKHNvdXBfZ290X2hlYWRlcnMpOgoJICBVc2UgZ3N0X3RhZ19mcmVlZm9ybV9zdHJpbmdfdG9fdXRmOCgpIGFuZCBwb3N0IHJhZGlvIHN0YXRpb24KCSAgaW5mbyBhcyB0YWdzIG9uIHRoZSBidXMuCgoyMDA3LTEyLTI2IDE2OjAzOjU3ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgRml4ICd4eXogbWF5IGJlIHVzZWQgdW5pbml0aWFsaXplZCcgY29tcGlsZXIgd2FybmluZ3MgY2F1c2VkIGJ5IGJyb2tlbiBnX2Fzc2VydF9ub3RfcmVhY2hlZCgpIG1hY3JvIGluIEdMaWItMi4xNS54IChpLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzogKGdzdF9hdmlfZGVtdXhfbG9vcCk6CgkgICogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6IChnc3Rfd2F2cGFyc2VfY2hhaW4pOgoJICAqIHN5cy94aW1hZ2UvZ3N0eGltYWdlc3JjLmM6IChjb21wb3NpdGVfcGl4ZWwpOgoJICBGaXggJ3h5eiBtYXkgYmUgdXNlZCB1bmluaXRpYWxpemVkJyBjb21waWxlciB3YXJuaW5ncyBjYXVzZWQKCSAgYnkgYnJva2VuIGdfYXNzZXJ0X25vdF9yZWFjaGVkKCkgbWFjcm8gaW4gR0xpYi0yLjE1LnggKGl0J3MKCSAgbm90IHJlYWxseSBuaWNlIHRvIGFib3J0IGluIGFueSBjYXNlKS4gRml4ZXMgIzUwNTc0NS4KCjIwMDctMTItMjAgMTc6MDc6MjIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvOiBJZ25vcmUgbW9yZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2VxdWFsaXplci8uY3ZzaWdub3JlOgoJICAqIGdzdC9zd2l0Y2gvLmN2c2lnbm9yZToKCSAgSWdub3JlIG1vcmUuCgoyMDA3LTEyLTE4IDIzOjE3OjE0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgdGVzdHMvY2hlY2svZWxlbWVudHMvYXZpc3VidGl0bGUuYzogU21hbGwgdW5pdCB0ZXN0IGZpeCAoaGFzIG5vIHByYWN0aWNhbCBpbXBhY3QgYXQgdGhlIG1vbWVudCwgc2luY2Ugd2UncmUgb25seSBmZWVkLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F2aXN1YnRpdGxlLmM6IChjaGVja19jb3JyZWN0X2J1ZmZlcik6CgkgIFNtYWxsIHVuaXQgdGVzdCBmaXggKGhhcyBubyBwcmFjdGljYWwgaW1wYWN0IGF0IHRoZSBtb21lbnQsCgkgIHNpbmNlIHdlJ3JlIG9ubHkgZmVlZGluZyB1dGY4IGFuZCBoZW5jZSBqdXN0IGNyZWF0ZSBhIHN1Yi0KCSAgYnVmZmVyIGZvciB0aGUgb3V0cHV0KS4KCjIwMDctMTItMTggMjE6MTM6MDUgKzAwMDAgIFRoaWpzIFZlcm1laXIgPHRoaWpzdmVybWVpckBnbWFpbC5jb20+CgoJICBBZGQgc2Vla2luZyBzdXBwb3J0IGZvciBhdmkgc3VidGl0bGUKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2F2aS9nc3RhdmlzdWJ0aXRsZS5jOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F2aXN1YnRpdGxlLmM6CgkgIEFkZCBzZWVraW5nIHN1cHBvcnQgZm9yIGF2aSBzdWJ0aXRsZQoKMjAwNy0xMi0xOCAxNzo0MDozNCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGV4dC9mbGFjL2dzdGZsYWNkZWMuKjogUmVtb3ZlIHNvbWUgdW51c2VkIHZhcnMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9mbGFjL2dzdGZsYWNkZWMuYzogKGdzdF9mbGFjX2RlY19yZXNldF9kZWNvZGVycyksCgkgIChnc3RfZmxhY19kZWNfdXBkYXRlX21ldGFkYXRhKSwgKGdzdF9mbGFjX2RlY19tZXRhZGF0YV9jYWxsYmFjayksCgkgIChnc3RfZmxhY19kZWNfd3JpdGUpOgoJICAqIGV4dC9mbGFjL2dzdGZsYWNkZWMuaDoKCSAgUmVtb3ZlIHNvbWUgdW51c2VkIHZhcnMuCgkgIERvIG1vcmUgY2xlYW51cCBvZiBsZWZ0b3ZlciBldmVudHMgYW5kIHRhZ3MuCgkgIE91dHB1dCB0YWdzIGFmdGVyIHRoZSBzZWdtZW50IGV2ZW50LiBGaXhlcyAjNTA0MDE4LgoKMjAwNy0xMi0xOCAxNDozMTozNiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9hdmkvZ3N0YXZpc3VidGl0bGUuYzogRGV0ZWN0IG90aGVyIFVURiBieXRlIG9yZGVyIG1hcmtlcnMgYW5kIGNvbnZlcnQgdG8gVVRGLTggYXMgYXBwcm9wcmlhdGUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdmkvZ3N0YXZpc3VidGl0bGUuYzogKElTX0JPTV9VVEY4KSwgKElTX0JPTV9VVEYxNl9CRSksCgkgIChJU19CT01fVVRGMTZfTEUpLCAoSVNfQk9NX1VURjMyX0JFKSwgKElTX0JPTV9VVEYzMl9MRSksCgkgIChnc3RfYXZpX3N1YnRpdGxlX2V4dHJhY3RfZmlsZSksIChnc3RfYXZpX3N1YnRpdGxlX3BhcnNlX2dhYjJfY2h1bmspOgoJICBEZXRlY3Qgb3RoZXIgVVRGIGJ5dGUgb3JkZXIgbWFya2VycyBhbmQgY29udmVydCB0byBVVEYtOCBhcwoJICBhcHByb3ByaWF0ZS4KCjIwMDctMTItMTggMTM6MzA6MTUgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvYXZpL2dzdGF2aXN1YnRpdGxlLio6IFJlZmFjdG9yIGEgYml0OyBmaXggbmFtZSBleHRyYWN0aW9uOyBkb24ndCBhc3N1bWUgYWxsIHRoZSBkYXRhIGluIHRoZSBjaHVuayBpcyBhY3R1YWxseSBzdWIuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2F2aS9nc3RhdmlzdWJ0aXRsZS5jOiAoc3JjX3RlbXBsYXRlKSwKCSAgKGdzdF9hdmlfc3VidGl0bGVfZXh0cmFjdF91dGY4X2ZpbGUpLAoJICAoZ3N0X2F2aV9zdWJ0aXRsZV9wYXJzZV9nYWIyX2NodW5rKSwgKGdzdF9hdmlfc3VidGl0bGVfY2hhaW4pLAoJICAoZ3N0X2F2aV9zdWJ0aXRsZV9iYXNlX2luaXQpLCAoZ3N0X2F2aV9zdWJ0aXRsZV9jbGFzc19pbml0KSwKCSAgKGdzdF9hdmlfc3VidGl0bGVfaW5pdCksIChnc3RfYXZpX3N1YnRpdGxlX2NoYW5nZV9zdGF0ZSk6CgkgICogZ3N0L2F2aS9nc3RhdmlzdWJ0aXRsZS5oOgoJICBSZWZhY3RvciBhIGJpdDsgZml4IG5hbWUgZXh0cmFjdGlvbjsgZG9uJ3QgYXNzdW1lIGFsbCB0aGUgZGF0YQoJICBpbiB0aGUgY2h1bmsgaXMgYWN0dWFsbHkgc3VidGl0bGUgZGF0YSwgdGhlcmUgbWF5IGJlIHBhZGRpbmcgYXQKCSAgdGhlIGVuZDsgZml4IEdTVF9FTEVNRU5UX0VSUk9SIHVzYWdlOyBzdG9yZSBleHRyYWN0ZWQgc3VidGl0bGUKCSAgZmlsZSBzbyBpdCdzIHRoZXJlIHRvIHNlbmQgYWdhaW4gYWZ0ZXIgYSBzZWVrIChmb3IgZnV0dXJlIHVzZSkuCgoyMDA3LTEyLTE4IDA5OjEzOjEyICswMDAwICBUaGlqcyBWZXJtZWlyIDx0aGlqc3Zlcm1laXJAZ21haWwuY29tPgoKCSAgQWRkIGF2aSBzdWJ0aXRsZSBlbGVtZW50IGZvciBidWcgIzQ0MjAzNC4gTmVlZCBzZWVraW5nIHN1cHBvcnQgYW5kIG1vcmUgc3VwcG9ydCBmb3IgY2hhcmFjdGVyIGNvbnZlcnNpb24uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdmkvTWFrZWZpbGUuYW06CgkgICogZ3N0L2F2aS9nc3RhdmkuYzoKCSAgKiBnc3QvYXZpL2dzdGF2aXN1YnRpdGxlLmM6CgkgICogZ3N0L2F2aS9nc3RhdmlzdWJ0aXRsZS5oOgoJICAqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F2aXN1YnRpdGxlLmM6CgkgICogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICBBZGQgYXZpIHN1YnRpdGxlIGVsZW1lbnQgZm9yIGJ1ZyAjNDQyMDM0LiBOZWVkIHNlZWtpbmcgc3VwcG9ydAoJICBhbmQgbW9yZSBzdXBwb3J0IGZvciBjaGFyYWN0ZXIgY29udmVyc2lvbi4KCjIwMDctMTItMTggMDk6MDc6MTcgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBNYWtlZmlsZS5hbTogSW5jbHVkZSBjb21tb24vd2luMzIubWFrIGZvciBDUkxGIGNoZWNrIG9mIHdpbjMyIHByb2plY3QgZmlsZXMgKHNlZSAjMzkzNjI2KS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogTWFrZWZpbGUuYW06CgkgIEluY2x1ZGUgY29tbW9uL3dpbjMyLm1hayBmb3IgQ1JMRiBjaGVjayBvZiB3aW4zMiBwcm9qZWN0CgkgIGZpbGVzIChzZWUgIzM5MzYyNikuCgkgICogd2luMzIvdnM2L2xpYmdzdHBuZy5kc3A6CgkgIEZpeCBsaW5lIGVuZGluZ3MgYW5kIGRvIGN2cyBhZG1pbiAta2IuCgoyMDA3LTEyLTE3IDIxOjEyOjI4ICswMDAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkgIGdzdC9tdWx0aWZpbGUvZ3N0bXVsdGlmaWxlc3JjLio6IFdoZW4gc3Vic2VxdWVudCBmaWxlcyBhcmUgcmVhZCwgaWYgdGhlIGZpbGUgZG9lc24ndCBleGlzdCwgc2VuZCBhbiBFT1MgaW5zdGVhZCBvZiBjYS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbXVsdGlmaWxlL2dzdG11bHRpZmlsZXNyYy5jOgoJICAqIGdzdC9tdWx0aWZpbGUvZ3N0bXVsdGlmaWxlc3JjLmg6CgkgIFdoZW4gc3Vic2VxdWVudCBmaWxlcyBhcmUgcmVhZCwgaWYgdGhlIGZpbGUgZG9lc24ndCBleGlzdCwgc2VuZAoJICBhbiBFT1MgaW5zdGVhZCBvZiBjYXVzaW5nIGFuIGVycm9yLgoKMjAwNy0xMi0xNiAyMzo0Mzo0NiArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIGV4dC9qcGVnL2dzdGpwZWdkZWMuYzogQWN0dWFsbHkgZHJvcCB0aGUgYnVmZmVycyB3aGljaCBhcmUgb3V0c2lkZSB0aGUgY3VycmVudGx5IGNvbmZpZ3VyZWQgc2VnbWVudCBpbnN0ZWFkIG9mIGp1c3QgZS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvanBlZy9nc3RqcGVnZGVjLmM6IChnc3RfanBlZ19kZWNfY2hhaW4pOgoJICBBY3R1YWxseSBkcm9wIHRoZSBidWZmZXJzIHdoaWNoIGFyZSBvdXRzaWRlIHRoZSBjdXJyZW50bHkgY29uZmlndXJlZAoJICBzZWdtZW50IGluc3RlYWQgb2YganVzdCBlbWl0dGluZyBhIFdBUk5JTkcuCgoyMDA3LTEyLTE0IDE4OjQ5OjM0ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZXh0L2ZsYWMvZ3N0ZmxhY2RlYy4qOiBTZW5kIHNlZ21lbnRzIGZyb20gdGhlIHN0cmVhbWluZyB0aHJlYWQuIEZpeGVzICM1MDIxODcuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9mbGFjL2dzdGZsYWNkZWMuYzogKGdzdF9mbGFjX2RlY19tZXRhZGF0YV9jYWxsYmFjayksCgkgIChnc3RfZmxhY19kZWNfd3JpdGUpOgoJICAqIGV4dC9mbGFjL2dzdGZsYWNkZWMuaDoKCSAgU2VuZCBzZWdtZW50cyBmcm9tIHRoZSBzdHJlYW1pbmcgdGhyZWFkLiBGaXhlcyAjNTAyMTg3LgoJICBGaXggc2VnbWVudCBzZWVraW5nIGFuZCBhIGJ1bmNoIG9mIG90aGVyIHNlZWtpbmcgY2FzZXMuCgoyMDA3LTEyLTE0IDEwOjE3OjEwICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L2lkM2RlbXV4L2lkM3YyZnJhbWVzLmM6IFBhcnNlIFdPQUYgZnJhbWVzIGFuZCBwdXQgdGhlIHJlc3VsdCBpbnRvIEdTVF9UQUdfQ09OVEFDVCwgd2hpY2ggaXMgd2hlcmUgaXQgd291bGQgZW5kIHVwLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9pZDNkZW11eC9pZDN2MmZyYW1lcy5jOiAocGFyc2VfdXJsX2xpbmtfZnJhbWUpOgoJICBQYXJzZSBXT0FGIGZyYW1lcyBhbmQgcHV0IHRoZSByZXN1bHQgaW50byBHU1RfVEFHX0NPTlRBQ1QsCgkgIHdoaWNoIGlzIHdoZXJlIGl0IHdvdWxkIGVuZCB1cCBpZiB0aGUgc2FtZSBpbmZvcm1hdGlvbiB3YXMKCSAgcHV0IGluIGEgdm9yYmlzIGNvbW1lbnQgKGRvbid0IHRoaW5rIGl0J3Mgd29ydGggYWRkaW5nIGEKCSAgbmV3IFVSSSB0YWcgZm9yIHRoaXMpLiBGaXhlcyAjNDg4MTEyLgoKMjAwNy0xMi0xMSAyMjoyOToxOCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGNvbmZpZ3VyZS5hYzogV2UgbmVlZCBjb3JlL2Jhc2UgMC4xMC4xNSBvciBsYXRlci4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICBXZSBuZWVkIGNvcmUvYmFzZSAwLjEwLjE1IG9yIGxhdGVyLgoKMjAwNy0xMi0xMSAxNjo0NzoxMiArMDAwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFuYXV3QHNreW5ldC5iZT4KCgkgIGdzdC9hdmkvZ3N0YXZpbXV4LmM6IEZpeCByZWdyZXNzaW9uIGluIHN0cmVhbSBudW1iZXJpbmcuIEZpeGVzICM1MDI2NTUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogTWFyayBOYXV3ZWxhZXJ0cyA8bWFuYXV3IHNreW5ldCBiZT4KCSAgKiBnc3QvYXZpL2dzdGF2aW11eC5jOiAoZ3N0X2F2aV9tdXhfc3RhcnRfZmlsZSk6CgkgIEZpeCByZWdyZXNzaW9uIGluIHN0cmVhbSBudW1iZXJpbmcuIEZpeGVzICM1MDI2NTUuCgoyMDA3LTEyLTExIDE2OjM5OjM5ICswMDAwICBXb3V0ZXIgQ2xvZXRlbnMgPHdvdXRlckBtaW5kLmJlPgoKCSAgZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuKjogRG8gbm90IHRyeSB0byB1bnBhdXNlIEkvTyBpbiB0aGUgInF1ZXVlZCIgc3RhdGUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogV291dGVyIENsb2V0ZW5zIDx3b3V0ZXIgYXQgbWluZCBkb3QgYmU+CgkgICogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzogKF9kb19pbml0KSwKCSAgKGdzdF9zb3VwaHR0cF9zcmNfY2xhc3NfaW5pdCksIChnc3Rfc291cGh0dHBfc3JjX2luaXQpLAoJICAoZ3N0X3NvdXBodHRwX3NyY19kaXNwb3NlKSwgKGdzdF9zb3VwaHR0cF9zcmNfc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9zb3VwaHR0cF9zcmNfZ2V0X3Byb3BlcnR5KSwgKHVuaWNvZGlmeSksCgkgIChnc3Rfc291cGh0dHBfc3JjX3VuaWNvZGlmeSksIChnc3Rfc291cGh0dHBfc3JjX2NyZWF0ZSksCgkgIChnc3Rfc291cGh0dHBfc3JjX3N0YXJ0KSwgKGdzdF9zb3VwaHR0cF9zcmNfc3RvcCksCgkgIChnc3Rfc291cGh0dHBfc3JjX3VubG9jayksIChnc3Rfc291cGh0dHBfc3JjX3VubG9ja19zdG9wKSwKCSAgKGdzdF9zb3VwaHR0cF9zcmNfZ2V0X3NpemUpLCAoZ3N0X3NvdXBodHRwX3NyY19pc19zZWVrYWJsZSksCgkgIChzb3VwX2dvdF9oZWFkZXJzKSwgKHNvdXBfZ290X2JvZHkpLCAoc291cF9maW5pc2hlZCksCgkgIChzb3VwX2dvdF9jaHVuayksIChzb3VwX3Jlc3BvbnNlKSwgKHNvdXBfcGFyc2Vfc3RhdHVzKSwKCSAgKGdzdF9zb3VwaHR0cF9zcmNfdXJpX2dldF90eXBlKSwKCSAgKGdzdF9zb3VwaHR0cF9zcmNfdXJpX2dldF9wcm90b2NvbHMpLAoJICAoZ3N0X3NvdXBodHRwX3NyY191cmlfZ2V0X3VyaSksIChnc3Rfc291cGh0dHBfc3JjX3VyaV9zZXRfdXJpKSwKCSAgKGdzdF9zb3VwaHR0cF9zcmNfdXJpX2hhbmRsZXJfaW5pdCk6CgkgICogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuaDoKCSAgRG8gbm90IHRyeSB0byB1bnBhdXNlIEkvTyBpbiB0aGUgInF1ZXVlZCIgc3RhdGUuCgkgIFJlb3JnYW5pc2UgYSBidW5jaCBvZiB0aGluZ3MgYW5kIGNsZWFudXBzLgoJICBVc2VzIEdfR1VJTlQ2NF9GT1JNQVQgaW5zdGVhZCBvZiBoYXJkLWNvZGluZyAlbGx1LgoJICBTZWUgIzUwMjMzNS4KCjIwMDctMTItMTEgMTY6MzE6NDkgKzAwMDAgIFdhaS1NaW5nIEhvIDx3ZWJyZWdib3hAeWFob28uY28udWs+CgoJICBnc3QvcnRwL2dzdHJ0cGgyNjRwYXkuKjogVXNlIGhpZ2hlciBwZXJmb3JtYW5jZSBzdGFydC1jb2RlIHNlYXJjaGluZy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBXYWktTWluZyBIbyA8d2VicmVnYm94IGF0IHlhaG9vIGRvdCBjbyBkb3QgdWs+CgkgICogZ3N0L3J0cC9nc3RydHBoMjY0cGF5LmM6IChnc3RfcnRwX2gyNjRfcGF5X2luaXQpLAoJICAoZ3N0X3J0cF9oMjY0X3BheV9maW5hbGl6ZSksIChnc3RfcnRwX2gyNjRfcGF5X3NldGNhcHMpLAoJICAobmV4dF9zdGFydF9jb2RlKSwgKGlzX25hbF9lcXVhbCksIChnc3RfcnRwX2gyNjRfcGF5X2RlY29kZV9uYWwpLAoJICAoZW5jb2RlX2Jhc2U2NCksIChnc3RfcnRwX2gyNjRfcGF5X3BhcnNlX3Nwc19wcHMpLAoJICAoZ3N0X3J0cF9oMjY0X3BheV9oYW5kbGVfYnVmZmVyKToKCSAgKiBnc3QvcnRwL2dzdHJ0cGgyNjRwYXkuaDoKCSAgVXNlIGhpZ2hlciBwZXJmb3JtYW5jZSBzdGFydC1jb2RlIHNlYXJjaGluZy4KCSAgUGFyc2UgTkFMcyBhbmQgc3RvcmUgU1BTLCBQUFMgYW5kIHByb2ZpbGUgaW4gdGhlIGNhcHMgc28gdGhhdCB0aGV5IGNhbgoJICBiZSB1c2VkIGluIHRoZSBTRFAuIEZpeGVzICM1MDI4MTQuCgoyMDA3LTEyLTExIDExOjUwOjU0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgc3lzL3Y0bDIvOiBJbml0IHNvbWUgc3RydWN0cyB0byB6ZXJvIGJlZm9yZSB3ZSBwYXNzIHRoZW0gdG8gaW9jdGwsIHdoaWNoIGF2b2lkcyB2YWxncmluZCB3YXJuaW5ncy4gIEFsc28gZml4IGEgc21hbGwgLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy92NGwyL3Y0bDJfY2FsbHMuYzogKGdzdF92NGwyX2ZpbGxfbGlzdHMpOgoJICAqIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuYzogKGdzdF92NGwyc3JjX2ZpbGxfZm9ybWF0X2xpc3QpOgoJICBJbml0IHNvbWUgc3RydWN0cyB0byB6ZXJvIGJlZm9yZSB3ZSBwYXNzIHRoZW0gdG8gaW9jdGwsIHdoaWNoCgkgIGF2b2lkcyB2YWxncmluZCB3YXJuaW5ncy4gIEFsc28gZml4IGEgc21hbGwgbWVtb3J5IGxlYWsuCgoyMDA3LTEyLTExIDExOjA1OjU3ICswMDAwICBXb3V0ZXIgQ2xvZXRlbnMgPHdvdXRlckBtaW5kLmJlPgoKCSAgZ3N0L211bHRpcGFydC9tdWx0aXBhcnRkZW11eC5jOiBDb3B5IHRpbWVzdGFtcCBmcm9tIGlucHV0IHRvIG91dHB1dC4gTm90IHZlcnkgcGVyZmVjdCB5ZXQgYnV0IGJldHRlciB0aGFuIG5vdGhpbmcuIEZpLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogV291dGVyIENsb2V0ZW5zIDx3b3V0ZXIgYXQgbWluZCBkb3QgYmU+CgkgICogZ3N0L211bHRpcGFydC9tdWx0aXBhcnRkZW11eC5jOiAoZ3N0X211bHRpcGFydF9kZW11eF9jaGFpbik6CgkgIENvcHkgdGltZXN0YW1wIGZyb20gaW5wdXQgdG8gb3V0cHV0LiBOb3QgdmVyeSBwZXJmZWN0IHlldCBidXQgYmV0dGVyCgkgIHRoYW4gbm90aGluZy4gRml4ZXMgIzUwMzAyMy4KCjIwMDctMTItMDkgMTY6NDk6MDkgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tkZWMuYzogQWxzbyBwcmludCBhIHVzZWZ1bCBlcnJvciBtZXNzYWdlIHdpdGggdGhlIG9sZCBXYXZwYWNrIEFQSSBpZiBwb3NzaWJsZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2RlYy5jOiAoZ3N0X3dhdnBhY2tfZGVjX2NoYWluKToKCSAgQWxzbyBwcmludCBhIHVzZWZ1bCBlcnJvciBtZXNzYWdlIHdpdGggdGhlIG9sZCBXYXZwYWNrIEFQSQoJICBpZiBwb3NzaWJsZS4KCjIwMDctMTItMDkgMTY6MzQ6MDggKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvd2F2cGFjay9nc3R3YXZwYWNrZGVjLmM6IE1vcmUgYnVpbGQgZml4ZXMgZm9yIG9sZCBsaWJ3YXZwYWNrIHZlcnNpb25zOiBpbmNsdWRlIGNvbmZpZy5oIHNvIHRoYXQgV0FWUEFDS19PTERfQVBJIGkuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2RlYy5jOgoJICBNb3JlIGJ1aWxkIGZpeGVzIGZvciBvbGQgbGlid2F2cGFjayB2ZXJzaW9uczogaW5jbHVkZSBjb25maWcuaCBzbwoJICB0aGF0IFdBVlBBQ0tfT0xEX0FQSSBpcyBhY3R1YWxseSBkZWZpbmVkIGFzIGRldGVjdGVkOyBvbmx5IHVzZQoJICBXYXZwYWNrR2V0RXJyb3JNZXNzYWdlIGlmIGl0IGlzIGF2YWlsYWJsZS4gVGhpcyBmaXhlcyB0aGUgYnVpbGQKCSAgb24gZGViaWFuIHN0YWJsZSBmb3IgbWUuCgoyMDA3LTEyLTA5IDE2OjIxOjAyICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBleHQvd2F2cGFjay86IFdvcmthcm91bmQgdGhlIG5vbi1leGlzdGFuY2Ugb2YgV2F2cGFja0dldENoYW5uZWxNYXNrIGluIFdhdnBhY2sgdmVyc2lvbnMgYmVsb3cgNC40MC4wLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZGVjLmM6IChnc3Rfd2F2cGFja19kZWNfY2hhaW4pOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2twYXJzZS5jOgoJICAoZ3N0X3dhdnBhY2tfcGFyc2VfY3JlYXRlX3NyY19wYWQpOgoJICBXb3JrYXJvdW5kIHRoZSBub24tZXhpc3RhbmNlIG9mIFdhdnBhY2tHZXRDaGFubmVsTWFzayBpbiBXYXZwYWNrCgkgIHZlcnNpb25zIGJlbG93IDQuNDAuMC4KCjIwMDctMTItMDkgMDU6MTM6NTggKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGNvbmZpZ3VyZS5hYzogQW5kIG5vdyBkbyBpdCByaWdodCBmb3IgcmVhbC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIEFuZCBub3cgZG8gaXQgcmlnaHQgZm9yIHJlYWwuLi4KCjIwMDctMTItMDkgMDU6MDk6NTcgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGNvbmZpZ3VyZS5hYzogQ29ycmVjdGx5IHJlc2V0ICRMSUJTIHRvIG5vdCBjb250YWluIC1sbS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICBDb3JyZWN0bHkgcmVzZXQgJExJQlMgdG8gbm90IGNvbnRhaW4gLWxtLgoKMjAwNy0xMi0wOSAwNTowMjoxNyArMDAwMCAgS3dhbmcgWXVsIFNlbyA8a3dhbmd5dWwuc2VvQGdtYWlsLmNvbT4KCgkgIEZpeCBjb21waWxhdGlvbiB3aXRoIE1TVkMgYnkgdXNpbmcgZ3N0X3V0aWxfZ3VpbnQ2NF90b19nZG91YmxlKCkgYW5kIGNoZWNraW5nIGZvciByaW50KCkgYW5kIGltcGxlbWVudGluZyBpdCBvdXJzZWxmIC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgQmFzZWQgb24gYSBwYXRjaCBieTogS3dhbmcgWXVsIFNlbyA8a3dhbmd5dWwgZG90IHNlbyBhdCBnbWFpbCBkb3QgY29tPgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBleHQvY2Fpcm8vZ3N0dGltZW92ZXJsYXkuYzoKCSAgKGdzdF9jYWlyb190aW1lX292ZXJsYXlfcHJpbnRfc21wdGVfdGltZSk6CgkgIEZpeCBjb21waWxhdGlvbiB3aXRoIE1TVkMgYnkgdXNpbmcgZ3N0X3V0aWxfZ3VpbnQ2NF90b19nZG91YmxlKCkKCSAgYW5kIGNoZWNraW5nIGZvciByaW50KCkgYW5kIGltcGxlbWVudGluZyBpdCBvdXJzZWxmIGlmIGl0IGRvZXNuJ3QKCSAgZXhpc3QuCgoyMDA3LTEyLTA5IDA0OjI5OjA4ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBjb25maWd1cmUuYWM6IERvbid0IGRlZmluZSBHU1RfRElTQUJMRV9ERVBSRUNBVEVEIGZvciByZWxlYXNlcy4gRml4ZXMgIzQ5ODE4MS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICBEb24ndCBkZWZpbmUgR1NUX0RJU0FCTEVfREVQUkVDQVRFRCBmb3IgcmVsZWFzZXMuIEZpeGVzICM0OTgxODEuCgoyMDA3LTEyLTA4IDE2OjQ3OjMzICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIHN5cy9vc3MvZ3N0b3NzaGVscGVyLmM6IFZlcmlmeSB0aGF0IHRoZSBmb3JtYXQgcmV0dXJuZWQgYWZ0ZXIgdGhlIGlvY3RsIGlzIHRoZSBvbmUgd2UgcmVxdWVzdGVkLiBJdCBpcyB2YWxpZCBmb3IgdGhlIC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvb3NzL2dzdG9zc2hlbHBlci5jOgoJICBWZXJpZnkgdGhhdCB0aGUgZm9ybWF0IHJldHVybmVkIGFmdGVyIHRoZSBpb2N0bCBpcyB0aGUgb25lCgkgIHdlIHJlcXVlc3RlZC4gSXQgaXMgdmFsaWQgZm9yIHRoZSBpb2N0bCB0byBzdWNjZWVkIHdoaWxlCgkgIHN1YnN0aXR1dGluZyBhbiBhbHRlcm5hdGUgJ3N1cHBvcnRlZCcgc2FtcGxlIGZvcm1hdC4KCjIwMDctMTItMDcgMjA6MDc6NDkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBzeXMvb3NzLzogUG9zdCBkZWNlbnQgKGFuZCB0cmFuc2xhdGVkKSBlcnJvciBtZXNzYWdlIHdoZW4gd2UgY2FuJ3Qgb3BlbiB0aGUgYXVkaW8gZGV2aWNlIGZvciBzb21lIHJlYXNvbi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL29zcy9nc3Rvc3NhdWRpby5jOiAocGx1Z2luX2luaXQpOgoJICAqIHN5cy9vc3MvZ3N0b3Nzc2luay5jOiAoZ3N0X29zc19zaW5rX29wZW4pOgoJICAqIHN5cy9vc3MvZ3N0b3Nzc3JjLmM6IChnc3Rfb3NzX3NyY19vcGVuKToKCSAgUG9zdCBkZWNlbnQgKGFuZCB0cmFuc2xhdGVkKSBlcnJvciBtZXNzYWdlIHdoZW4gd2UgY2FuJ3QKCSAgb3BlbiB0aGUgYXVkaW8gZGV2aWNlIGZvciBzb21lIHJlYXNvbi4KCjIwMDctMTItMDcgMTk6Mjk6MzkgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgc3lzL29zcy86IEFsbG93IHRoZSBBVURJT0RFViBlbnZpcm9ubWVudCB2YXJpYWJsZSB0byByZWRpcmVjdCB1cyB0byBhIGRpZmZlcmVudCBkZWZhdWx0IE9TUyBkZXZpY2UsIGxpa2Ugc3VuYXVkaW9zaW5rLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy9vc3MvZ3N0b3Nzc2luay5jOgoJICAqIHN5cy9vc3MvZ3N0b3Nzc3JjLmM6CgkgIEFsbG93IHRoZSBBVURJT0RFViBlbnZpcm9ubWVudCB2YXJpYWJsZSB0byByZWRpcmVjdCB1cwoJICB0byBhIGRpZmZlcmVudCBkZWZhdWx0IE9TUyBkZXZpY2UsIGxpa2Ugc3VuYXVkaW9zaW5rIGRvZXMKCSAgb24gU29sYXJpcyAobWFrZXMgYXVkaW8gcGxheSBhdXRvbWF0aWNhbGx5IG9uIFN1blJheXMpLgoKMjAwNy0xMi0wNiAxMjo0NTo1MCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIuYzogRml4IGNvbXBpbGF0aW9uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplci5jOgoJICAoZ3N0X2lpcl9lcXVhbGl6ZXJfdHJhbnNmb3JtX2lwKToKCSAgRml4IGNvbXBpbGF0aW9uLgoKMjAwNy0xMi0wNiAxMjo0MjoxMSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIuYzogRG9uJ3QgcHJvY2VzcyBidWZmZXJzIGluIHBhc3N0aHJvdWdoIG1vZGUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyLmM6CgkgIChnc3RfaWlyX2VxdWFsaXplcl90cmFuc2Zvcm1faXApOgoJICBEb24ndCBwcm9jZXNzIGJ1ZmZlcnMgaW4gcGFzc3Rocm91Z2ggbW9kZS4KCjIwMDctMTItMDYgMTI6Mzc6NDMgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9maWx0ZXIvOiBUaGUgdHJhbnNmb3JtKCkgbWV0aG9kcyBhcmUgbm90IGNhbGxlZCBpbiBwYXNzdGhyb3VnaCBtb2RlIHNvIHRoZXJlJ3Mgbm8gbmVlZCBmb3IgY2hlY2tpbmcgaWYgdGhlIGVsZW1lbi4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZmlsdGVyL2dzdGJwd3NpbmMuYzogKGJwd3NpbmNfdHJhbnNmb3JtKToKCSAgKiBnc3QvZmlsdGVyL2dzdGxwd3NpbmMuYzogKGxwd3NpbmNfdHJhbnNmb3JtKToKCSAgVGhlIHRyYW5zZm9ybSgpIG1ldGhvZHMgYXJlIG5vdCBjYWxsZWQgaW4gcGFzc3Rocm91Z2ggbW9kZSBzbwoJICB0aGVyZSdzIG5vIG5lZWQgZm9yIGNoZWNraW5nIGlmIHRoZSBlbGVtZW50IGlzIGluIHBhc3N0aHJvdWdoIG1vZGUuCgoyMDA3LTEyLTA2IDEyOjI5OjI2ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvZmlsdGVyLzogU3luYyB0aGUgR09iamVjdCBwcm9wZXJ0aWVzIHdpdGggdGhlIGNvbnRyb2xsZXIgZXZlbiBpbiBwYXNzdGhyb3VnaCBtb2RlIHRvIGdldCBjb25zaXN0ZW50IHByb3BlcnR5IHZhbHVlcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2ZpbHRlci9nc3RicHdzaW5jLmM6IChicHdzaW5jX3RyYW5zZm9ybSk6CgkgICogZ3N0L2ZpbHRlci9nc3RscHdzaW5jLmM6IChscHdzaW5jX3RyYW5zZm9ybSk6CgkgIFN5bmMgdGhlIEdPYmplY3QgcHJvcGVydGllcyB3aXRoIHRoZSBjb250cm9sbGVyIGV2ZW4gaW4gcGFzc3Rocm91Z2gKCSAgbW9kZSB0byBnZXQgY29uc2lzdGVudCBwcm9wZXJ0eSB2YWx1ZXMuCgoyMDA3LTEyLTA2IDEyOjExOjI5ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvYXVkaW9meC86IFRoZSB0cmFuc2Zvcm1faXAoKSBtZXRob2RzIHNob3VsZCBkbyBub3RoaW5nIGlmIGluIHBhc3N0aHJvdWdoIG1vZGUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdWRpb2Z4L2F1ZGlvYW1wbGlmeS5jOiAoZ3N0X2F1ZGlvX2FtcGxpZnlfdHJhbnNmb3JtX2lwKToKCSAgKiBnc3QvYXVkaW9meC9hdWRpb2NoZWJ5c2hldmZyZXFiYW5kLmM6CgkgIChnc3RfYXVkaW9fY2hlYnlzaGV2X2ZyZXFfYmFuZF90cmFuc2Zvcm1faXApOgoJICAqIGdzdC9hdWRpb2Z4L2F1ZGlvY2hlYnlzaGV2ZnJlcWxpbWl0LmM6CgkgIChnc3RfYXVkaW9fY2hlYnlzaGV2X2ZyZXFfbGltaXRfdHJhbnNmb3JtX2lwKToKCSAgKiBnc3QvYXVkaW9meC9hdWRpb2R5bmFtaWMuYzogKGdzdF9hdWRpb19keW5hbWljX3RyYW5zZm9ybV9pcCk6CgkgICogZ3N0L2F1ZGlvZngvYXVkaW9pbnZlcnQuYzogKGdzdF9hdWRpb19pbnZlcnRfdHJhbnNmb3JtX2lwKToKCSAgVGhlIHRyYW5zZm9ybV9pcCgpIG1ldGhvZHMgc2hvdWxkIGRvIG5vdGhpbmcgaWYgaW4gcGFzc3Rocm91Z2ggbW9kZS4KCSAgSXQgbWlnaHQgZ2V0IG5vbi13cml0YWJsZSBidWZmZXJzIGluIHRoYXQgY2FzZSBidXQgdGhlIGJ1ZmZlciBtaWdodAoJICBhcyB3ZWxsIGJlIHdyaXRhYmxlLgoJICAqIGdzdC9hdWRpb2Z4L2F1ZGlvcGFub3JhbWEuYzogKGdzdF9hdWRpb19wYW5vcmFtYV90cmFuc2Zvcm0pOgoJICBUaGUgdHJhbnNmb3JtKCkgbWV0aG9kcyB3b24ndCBiZSBjYWxsZWQgaW4gcGFzc3Rocm91Z2ggbW9kZSBhbmQKCSAgb3RoZXJ3aXNlIHRoZSBidWZmZXIgaXMgYWx3YXlzIHdyaXRhYmxlIHNvIGRvbid0IGNoZWNrIGhlcmUuCgoyMDA3LTEyLTA2IDExOjQ2OjIyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6IEZpeCBzZWVraW5nIGluIC53YXYgZmlsZXMgYWdhaW4gKCM1MDE3NzUpLiAgU29tZSBwZW9wbGUgc2VlbSB0byB0aGluayB0aGV5IGRvbid0IG5lZWQgdG8gLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOiAoZ3N0X3dhdnBhcnNlX3NyY3BhZF9ldmVudCk6CgkgIEZpeCBzZWVraW5nIGluIC53YXYgZmlsZXMgYWdhaW4gKCM1MDE3NzUpLiAgU29tZSBwZW9wbGUgc2VlbSB0byB0aGluawoJICB0aGV5IGRvbid0IG5lZWQgdG8gdGVzdCB0aGVpciBjaGFuZ2VzIHdoZW4gdGhleSdyZSBqdXN0ICdyZWZsb3dpbmcnCgkgIHNvbWUgY29kZS4KCjIwMDctMTItMDUgMTY6MDQ6NDcgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvYXV0b2RldGVjdC9nc3RhdXRvdmlkZW9zaW5rLio6IEZpeCBkb2NzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvdmlkZW9zaW5rLmM6CgkgIChnc3RfYXV0b192aWRlb19zaW5rX2NsYXNzX2luaXQpLCAoZ3N0X2F1dG9fdmlkZW9fc2lua19kaXNwb3NlKSwKCSAgKGdzdF9hdXRvX3ZpZGVvX3NpbmtfaW5pdCksCgkgIChnc3RfYXV0b192aWRlb19zaW5rX2NyZWF0ZV9lbGVtZW50X3dpdGhfcHJldHR5X25hbWUpLAoJICAoZ3N0X2F1dG9fdmlkZW9fc2lua19maW5kX2Jlc3QpLAoJICAoZ3N0X2F1dG9fdmlkZW9fc2lua19zZXRfcHJvcGVydHkpLAoJICAoZ3N0X2F1dG9fdmlkZW9fc2lua19nZXRfcHJvcGVydHkpOgoJICAqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG92aWRlb3NpbmsuaDoKCSAgRml4IGRvY3MuCgkgIFVzZSBzYW1lIGVycm9yIHJlcG9ydGluZyBjb2RlIGFzIGF1dG9hdWRpb3NpbmsuCgkgIEFkZCBwcm9wZXJ0eSB0byBmaWx0ZXIgc2lua3MgYmFzZWQgb24gY2Fwcy4gT25seSBzZWxlY3QgcmF3IHZpZGVvIHNpbmtzCgkgIGJ5IGRlZmF1bHQgZm9yIGJhY2t3YXJkcyBjb21wYXQuCgkgIEFQSTogR3N0QXV0b1ZpZGVvU2luazo6ZmlsdGVyLWNhcHMKCjIwMDctMTItMDUgMTY6MDI6MTUgKzAwMDAgIFRvbW1pIE15w7Zow6RuZW4gPGV4dC10b21taS5teW9oYW5lbkBub2tpYS5jb20+CgoJICBnc3QvYXV0b2RldGVjdC9nc3RhdXRvYXVkaW9zaW5rLio6IEFkZCBwcm9wZXJ0eSB0byBmaWx0ZXIgc2lua3MgYmFzZWQgb24gY2Fwcy4gT25seSBzZWxlY3QgcmF3IGF1ZGlvIHNpbmtzIGJ5IGRlZmF1bHQuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBUb21taSBNecO2aMOkbmVuICA8ZXh0LXRvbW1pIGRvdCBteW9oYW5lbiBhdCBub2tpYSBkb3QgY29tPgoJICAqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG9hdWRpb3NpbmsuYzoKCSAgKGdzdF9hdXRvX2F1ZGlvX3NpbmtfY2xhc3NfaW5pdCksIChnc3RfYXV0b19hdWRpb19zaW5rX2Rpc3Bvc2UpLAoJICAoZ3N0X2F1dG9fYXVkaW9fc2lua19pbml0KSwgKGdzdF9hdXRvX2F1ZGlvX3NpbmtfZmluZF9iZXN0KSwKCSAgKGdzdF9hdXRvX2F1ZGlvX3Npbmtfc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9hdXRvX2F1ZGlvX3NpbmtfZ2V0X3Byb3BlcnR5KToKCSAgKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvYXVkaW9zaW5rLmg6CgkgIEFkZCBwcm9wZXJ0eSB0byBmaWx0ZXIgc2lua3MgYmFzZWQgb24gY2Fwcy4gT25seSBzZWxlY3QgcmF3IGF1ZGlvIHNpbmtzCgkgIGJ5IGRlZmF1bHQgZm9yIGJhY2t3YXJkcyBjb21wYXQuICBGaXhlcyAjNDE3NDIwLgoJICBBUEk6IEdzdEF1dG9BdWRpb1Npbms6OmZpbHRlci1jYXBzCgoyMDA3LTExLTI5IDExOjQwOjE1ICswMDAwICBBcmVrIEtvcmJpayA8YXJrYWRpbmlAZ21haWwuY29tPgoKCSAgZ3N0L3ZpZGVvYm94L2dzdHZpZGVvYm94LmM6IEluaXRpYWxpc2UgbGlib2lsIGluIHBsdWdpbl9pbml0KCkKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBBcmVrIEtvcmJpayA8YXJrYWRpbmlAZ21haWwuY29tPgoJICAqIGdzdC92aWRlb2JveC9nc3R2aWRlb2JveC5jOiAocGx1Z2luX2luaXQpOgoJICBJbml0aWFsaXNlIGxpYm9pbCBpbiBwbHVnaW5faW5pdCgpCgoyMDA3LTExLTI5IDEwOjQ5OjE4ICswMDAwICBXb3V0ZXIgQ2xvZXRlbnMgPHdvdXRlckBtaW5kLmJlPgoKCSAgY29uZmlndXJlLmFjOiBCdW1wIGxpYnNvdXAgcmVxdWlyZW1lbnQgYXMgbGlic291cCBkb2VzIG5vdCBzdXBwb3J0IGFzeW5jIGNsaWVudCBvcGVyYXRpb24gcHJpb3IgdG8gdmVyc2lvbiAyLjIuMTA0IGFuLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogV291dGVyIENsb2V0ZW5zIDx3b3V0ZXIgYXQgbWluZCBkb3QgYmU+CgkgICogY29uZmlndXJlLmFjOgoJICBCdW1wIGxpYnNvdXAgcmVxdWlyZW1lbnQgYXMgbGlic291cCBkb2VzIG5vdCBzdXBwb3J0IGFzeW5jIGNsaWVudAoJICBvcGVyYXRpb24gcHJpb3IgdG8gdmVyc2lvbiAyLjIuMTA0IGFuZCBpdCBoYXMgc29tZSBsZWFrcy4KCSAgKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOiAoZ3N0X3NvdXBodHRwX3NyY19jbGFzc19pbml0KSwKCSAgKGdzdF9zb3VwaHR0cF9zcmNfaW5pdCksIChnc3Rfc291cGh0dHBfc3JjX2Rpc3Bvc2UpLAoJICAoZ3N0X3NvdXBodHRwX3NyY19zZXRfcHJvcGVydHkpLCAoZ3N0X3NvdXBodHRwX3NyY19jcmVhdGUpLAoJICAoZ3N0X3NvdXBodHRwX3NyY19zdGFydCksIChnc3Rfc291cGh0dHBfc3JjX3N0b3ApLAoJICAoZ3N0X3NvdXBodHRwX3NyY191bmxvY2spLCAoZ3N0X3NvdXBodHRwX3NyY191bmxvY2tfc3RvcCksCgkgIChnc3Rfc291cGh0dHBfc3JjX2dldF9zaXplKSwgKHNvdXBfZ290X2hlYWRlcnMpLCAoc291cF9nb3RfYm9keSksCgkgIChzb3VwX2ZpbmlzaGVkKSwgKHNvdXBfZ290X2NodW5rKSwgKHNvdXBfcmVzcG9uc2UpLAoJICAoc291cF9zZXNzaW9uX2Nsb3NlKToKCSAgKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5oOgoJICBJbXBsZW1lbnQgdW5sb2NrKCkuCgkgIFBpY2tzIHVwIHRoZSBzaXplIGZyb20gdGhlIENvbnRlbnQtTGVuZ3RoIGhlYWRlciBhbmQgZW1pdCBhIGR1cmF0aW9uCgkgIG1lc3NhZ2UuCgkgIERvbid0IGxlYWsgdGhlIEdNYWluQ29udGV4dCBvYmplY3QuCgkgIEZpeGVzICM1MDAwOTkuCgoyMDA3LTExLTI5IDEwOjM0OjE4ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZXh0L2xpYnBuZy9nc3RwbmdkZWMuYzogUG9zdCBlcnJvciBiZWZvcmUgc2VuZGluZyBFT1MuIEZpeGVzICM0OTkxNzguCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9saWJwbmcvZ3N0cG5nZGVjLmM6IChnc3RfcG5nZGVjX3Rhc2spOgoJICBQb3N0IGVycm9yIGJlZm9yZSBzZW5kaW5nIEVPUy4gRml4ZXMgIzQ5OTE3OC4KCjIwMDctMTEtMjggMjE6NTQ6NTAgKzAwMDAgIFPDqWJhc3RpZW4gTW91dHRlIDxzZWJhc3RpZW5AbW91dHRlLm5ldD4KCgkgIHdpbjMyL3ZzNi86IEFkZCBhIHByb2plY3QgZmlsZSBmb3IgbGliZ3N0cG5nCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHdpbjMyL3ZzNi9nc3RfcGx1Z2luc19nb29kLmRzdzoKCSAgKiB3aW4zMi92czYvbGliZ3N0cG5nLmRzcDoKCSAgQWRkIGEgcHJvamVjdCBmaWxlIGZvciBsaWJnc3RwbmcKCjIwMDctMTEtMjggMTc6NDg6NDUgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBnc3QvcnRwL2dzdHJ0cGgyNjNkZXBheS5jOiBDb2RlIGJlYXV0aWZpY2F0aW9uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwL2dzdHJ0cGgyNjNkZXBheS5jOiAoZ3N0X3J0cF9oMjYzX2RlcGF5X2NsYXNzX2luaXQpLAoJICAoZ3N0X3J0cF9oMjYzX2RlcGF5X3Byb2Nlc3MpOgoJICBDb2RlIGJlYXV0aWZpY2F0aW9uLgoJICBBZGRlZCBkZWJ1ZyBzdGF0ZW1lbnRzLgoJICBEb24ndCBiaXQtc2hpZnQgZXZlcnl0aGluZywganVzdCBkbyBvcGVyYXRpb25zIG9uIGxhc3QvZmlyc3QgYnl0ZQoJICBpbnN0ZWFkLgoKMjAwNy0xMS0yNyAxMToxMTowOCArMDAwMCAgSmF5YXJhbWEgUy4gU2FudGFuYSA8c3VuZGFyc2FudGFuYUBnbWFpbC5jb20+CgoJICBnc3QvcnRwL2dzdHJ0cG1wNGFkZXBheS5jOiBGaXggd3JvbmcgY29tcGFyaXNvbiBpbiBvdmVycnVuIGNoZWNrLiBGaXhlcyAjNDk5MjM5IHNvbWUgbW9yZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBKYXlhcmFtYSBTLiBTYW50YW5hIDxzdW5kYXJzYW50YW5hIGF0IGdtYWlsIGRvdCBjb20+CgkgICogZ3N0L3J0cC9nc3RydHBtcDRhZGVwYXkuYzogKGdzdF9ydHBfbXA0YV9kZXBheV9wcm9jZXNzKToKCSAgRml4IHdyb25nIGNvbXBhcmlzb24gaW4gb3ZlcnJ1biBjaGVjay4gRml4ZXMgIzQ5OTIzOSBzb21lIG1vcmUuCgoyMDA3LTExLTI3IDAwOjAxOjQxICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgZ3N0L3J0cC9nc3RydHBoMjYzZGVwYXkuKjogRml4IGgyNjMgZGVwYXlsb2FkZXIgc28gdGhhdCBBTlkgaDI2MyBkZWNvZGVyIGNhbiBoYW5kbGUgdGhlIG91dGdvaW5nIHN0cmVhbS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cC9nc3RydHBoMjYzZGVwYXkuYzogKGdzdF9ydHBfaDI2M19kZXBheV9pbml0KSwKCSAgKGdzdF9ydHBfaDI2M19kZXBheV9wcm9jZXNzKToKCSAgKiBnc3QvcnRwL2dzdHJ0cGgyNjNkZXBheS5oOgoJICBGaXggaDI2MyBkZXBheWxvYWRlciBzbyB0aGF0IEFOWSBoMjYzIGRlY29kZXIgY2FuIGhhbmRsZSB0aGUgb3V0Z29pbmcKCSAgc3RyZWFtLgoKMjAwNy0xMS0yNiAxOToxNzoxMCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHAvZ3N0cnRwbXA0YWRlcGF5Lio6IEZpeCBkZXBheWxvYWRpbmcgd2hlbiBtdWx0aXBsZSBmcmFtZXMgYXJlIGluc2lkZSBvbmUgUlRQIHBhY2tldC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEJhc2VkIG9uIFBhdGggYnk6IEpheWFyYW1hIFMuIFNhbnRhbmEgPHN1bmRhcnNhbnRhbmEgYXQgZ21haWwgZG90IGNvbT4KCSAgKiBnc3QvcnRwL2dzdHJ0cG1wNGFkZXBheS5jOiAoZ3N0X3J0cF9tcDRhX2RlcGF5X3NldGNhcHMpLAoJICAoZ3N0X3J0cF9tcDRhX2RlcGF5X3Byb2Nlc3MpOgoJICAqIGdzdC9ydHAvZ3N0cnRwbXA0YWRlcGF5Lmg6CgkgIEZpeCBkZXBheWxvYWRpbmcgd2hlbiBtdWx0aXBsZSBmcmFtZXMgYXJlIGluc2lkZSBvbmUgUlRQIHBhY2tldC4KCSAgRml4ZXMgIzQ5OTIzOS4KCjIwMDctMTEtMjYgMTI6MjY6MjAgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC9sZXZlbC9nc3RsZXZlbC5jOiBBZGQgR0FQLWZsYWcgc3VwcG9ydC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2xldmVsL2dzdGxldmVsLmM6CgkgIEFkZCBHQVAtZmxhZyBzdXBwb3J0LgoKMjAwNy0xMS0yNiAxMjowMToxMSArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIGdzdC9ydHAvZ3N0cnRwaDI2M2RlcGF5LmM6IFJlYWQgdGhlIEkgZmxhZyBmb3IgTW9kZSBBIGgyNjMgcnRwIHN0cmVhbSBhbmQgc2V0IHRoZQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwL2dzdHJ0cGgyNjNkZXBheS5jOiAoZ3N0X3J0cF9oMjYzX2RlcGF5X3Byb2Nlc3MpOgoJICBSZWFkIHRoZSBJIGZsYWcgZm9yIE1vZGUgQSBoMjYzIHJ0cCBzdHJlYW0gYW5kIHNldCB0aGUKCSAgR1NUX0JVRkZFUl9GTEFHX0RFTFRBX1VOSVQgYWNjb3JkaW5nbHkuCgkgIEZpeGVzICM0OTkzODMKCjIwMDctMTEtMjYgMTA6MDg6MjAgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5jOiBVc2UgZGlzcG9zZSBhbmQgZmluYWxpemUuIERpc3Bvc2UgY2FuIGJlIGNhbGxlZCBtdWx0aXBsZSB0aW1lcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmM6CgkgIFVzZSBkaXNwb3NlIGFuZCBmaW5hbGl6ZS4gRGlzcG9zZSBjYW4gYmUgY2FsbGVkIG11bHRpcGxlIHRpbWVzLgoKMjAwNy0xMS0yNiAxMDowNDo0OSArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L2xldmVsL2dzdGxldmVsLmM6IFJlbW92ZSBzb21lIGRlYWQgY29kZSBhbmQgZG8gY2xlYW51cHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9sZXZlbC9nc3RsZXZlbC5jOgoJICBSZW1vdmUgc29tZSBkZWFkIGNvZGUgYW5kIGRvIGNsZWFudXBzLgoKMjAwNy0xMS0yNiAwOToxMzo0OCArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgdGVzdHMvY2hlY2svcGlwZWxpbmVzL3NpbXBsZS1sYXVuY2gtbGluZXMuYzogSW1wcm92ZSB0aGUgdGVzdHMgYnkgYWxsb3dpbmcgdG8gc2V0IGEgdGFyZ2V0IHN0YXRlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvc2ltcGxlLWxhdW5jaC1saW5lcy5jOgoJICBJbXByb3ZlIHRoZSB0ZXN0cyBieSBhbGxvd2luZyB0byBzZXQgYSB0YXJnZXQgc3RhdGUuCgoyMDA3LTExLTI2IDA5OjA0OjE3ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICB0ZXN0cy9jaGVjay9lbGVtZW50cy93YXZwYWNrZW5jLmM6IERvbid0IGNoZWNrIHRoZSBjYXBzIG9mIHRoZSBvdXRwdXQgYnVmZmVyIGlmIHRoZXkncmUgZXF1YWwgc29tZSBvdGhlciBjYXBzLiBUaGUgY2EuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvd2F2cGFja2VuYy5jOiAoR1NUX1NUQVJUX1RFU1QpOgoJICBEb24ndCBjaGVjayB0aGUgY2FwcyBvZiB0aGUgb3V0cHV0IGJ1ZmZlciBpZiB0aGV5J3JlIGVxdWFsIHNvbWUKCSAgb3RoZXIgY2Fwcy4gVGhlIGNhcHMgY2FuIGNoYW5nZSBpbiBhIGJhY2t3YXJkIGNvbXBhdGlibGUgd2F5CgkgIGFuZCBkaWQgYXQgdGhpcyBwb2ludC4KCjIwMDctMTEtMjQgMTQ6NTU6MDQgKzAwMDAgIEp1bGllbiBNb3V0dGUgPGp1bGllbkBtb3V0dGUubmV0PgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBJbXBsZW1lbnQgcmV2ZXJzZSBwbGF5YmFjayBzdXBwb3J0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNy0xMS0yNCAgSnVsaWVuIE1PVVRURSAgPGp1bGllbkBtb3V0dGUubmV0PgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKGdzdF9xdGRlbXV4X2ZpbmRfc2VnbWVudCksCgkgIChnc3RfcXRkZW11eF9tb3ZlX3N0cmVhbSksIChnc3RfcXRkZW11eF9kb19zZWVrKSwKCSAgKGdzdF9xdGRlbXV4X3NlZWtfdG9fcHJldmlvdXNfa2V5ZnJhbWUpLAoJICAoZ3N0X3F0ZGVtdXhfYWN0aXZhdGVfc2VnbWVudCksIChnc3RfcXRkZW11eF9hZHZhbmNlX3NhbXBsZSksCgkgIChnc3RfcXRkZW11eF9sb29wX3N0YXRlX21vdmllKSwgKGdzdF9xdGRlbXV4X2xvb3ApOiBJbXBsZW1lbnQKCSAgcmV2ZXJzZSBwbGF5YmFjayBzdXBwb3J0LgoKMjAwNy0xMS0yMSAwOTo1Njo1NCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2ZpbHRlci86IFBvc3QgYSBHU1RfTUVTU0FHRV9MQVRFTkNZIGlmIHRoZSBsYXRlbmN5IGNoYW5nZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9maWx0ZXIvZ3N0YnB3c2luYy5jOiAoYnB3c2luY19zZXRfcHJvcGVydHkpOgoJICAqIGdzdC9maWx0ZXIvZ3N0bHB3c2luYy5jOiAobHB3c2luY19zZXRfcHJvcGVydHkpOgoJICBQb3N0IGEgR1NUX01FU1NBR0VfTEFURU5DWSBpZiB0aGUgbGF0ZW5jeSBjaGFuZ2VzLgoKMjAwNy0xMS0yMSAwODoyMToxMCArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L2VxdWFsaXplci86IFJlbW92ZSBwcmVzZXQgaWZhY2UgYWdhaW4uIFdlJ2xsIHJlLWFkZCB0aGlzIGFmdGVyIGl0cyBiZWVuIHJlbGVhc2VkIGluIC1nb29kLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplcjEwYmFuZHMuYzoKCSAgKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplcjNiYW5kcy5jOgoJICBSZW1vdmUgcHJlc2V0IGlmYWNlIGFnYWluLiBXZSdsbCByZS1hZGQgdGhpcyBhZnRlciBpdHMgYmVlbiByZWxlYXNlZAoJICBpbiAtZ29vZC4KCjIwMDctMTEtMjAgMTM6MTQ6NDAgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tjb21tb24uYzogQWxzbyBzZXQgdGhlIGNoYW5uZWwgbGF5b3V0IG9uIHRoZSBXYXZwYWNrIGNhcHMgaWYgd2UncmUgaGF2aW5nIGEgbW9ubyBsYXlvdXQuIE9mIGNvdS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrY29tbW9uLmM6IChnc3Rfd2F2cGFja19zZXRfY2hhbm5lbF9sYXlvdXQpOgoJICBBbHNvIHNldCB0aGUgY2hhbm5lbCBsYXlvdXQgb24gdGhlIFdhdnBhY2sgY2FwcyBpZiB3ZSdyZSBoYXZpbmcKCSAgYSBtb25vIGxheW91dC4gT2YgY291cnNlIG9ubHkgZG8gaXQgZm9yICJhdWRpby94LXdhdnBhY2siLgoKMjAwNy0xMS0yMCAxMzowODo0NSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZXh0L3dhdnBhY2svOiBBZGQgc3VwcG9ydCBmb3IgZW5jb2RpbmcsIHBhcnNpbmcgYW5kIGRlY29kaW5nIG11bHRpY2hhbm5lbCBmaWxlcyB3aXRoIHVwIHRvIDggY2hhbm5lbHMuIFRoaXMgYWxzbyBpbXByLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tjb21tb24uYzoKCSAgKGdzdF93YXZwYWNrX2dldF9kZWZhdWx0X2NoYW5uZWxfbWFzayksCgkgIChnc3Rfd2F2cGFja19zZXRfY2hhbm5lbF9sYXlvdXQpLAoJICAoZ3N0X3dhdnBhY2tfZ2V0X2RlZmF1bHRfY2hhbm5lbF9wb3NpdGlvbnMpLAoJICAoZ3N0X3dhdnBhY2tfZ2V0X2NoYW5uZWxfbWFza19mcm9tX3Bvc2l0aW9ucyksCgkgIChnc3Rfd2F2cGFja19zZXRfY2hhbm5lbF9tYXBwaW5nKToKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrY29tbW9uLmg6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2RlYy5jOiAoZ3N0X3dhdnBhY2tfZGVjX3Jlc2V0KSwKCSAgKGdzdF93YXZwYWNrX2RlY19zaW5rX3NldF9jYXBzKSwgKGdzdF93YXZwYWNrX2RlY19jaGFpbik6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2RlYy5oOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tlbmMuYzogKGdzdF93YXZwYWNrX2VuY19yZXNldCksCgkgIChnc3Rfd2F2cGFja19lbmNfaW5pdCksIChnc3Rfd2F2cGFja19lbmNfc2lua19zZXRfY2FwcyksCgkgIChnc3Rfd2F2cGFja19lbmNfc2V0X3dwX2NvbmZpZyksIChnc3Rfd2F2cGFja19lbmNfcHVzaF9ibG9jayksCgkgIChnc3Rfd2F2cGFja19lbmNfZml4X2NoYW5uZWxfb3JkZXIpLCAoZ3N0X3dhdnBhY2tfZW5jX2NoYWluKSwKCSAgKGdzdF93YXZwYWNrX2VuY19yZXdyaXRlX2ZpcnN0X2Jsb2NrKSwKCSAgKGdzdF93YXZwYWNrX2VuY19zaW5rX2V2ZW50KToKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZW5jLmg6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja3BhcnNlLmM6CgkgIChnc3Rfd2F2cGFja19wYXJzZV9pbmRleF9hcHBlbmRfZW50cnkpLCAoZ3N0X3dhdnBhY2tfcGFyc2VfcmVzZXQpLAoJICAoZ3N0X3dhdnBhY2tfcGFyc2Vfc2Nhbl90b19maW5kX3NhbXBsZSksCgkgIChnc3Rfd2F2cGFja19wYXJzZV9zaW5rX2V2ZW50KSwgKGdzdF93YXZwYWNrX3BhcnNlX2NyZWF0ZV9zcmNfcGFkKSwKCSAgKGdzdF93YXZwYWNrX3BhcnNlX3B1c2hfYnVmZmVyKSwgKGdzdF93YXZwYWNrX3BhcnNlX2xvb3ApOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2twYXJzZS5oOgoJICBBZGQgc3VwcG9ydCBmb3IgZW5jb2RpbmcsIHBhcnNpbmcgYW5kIGRlY29kaW5nIG11bHRpY2hhbm5lbAoJICBmaWxlcyB3aXRoIHVwIHRvIDggY2hhbm5lbHMuIFRoaXMgYWxzbyBpbXByb3ZlcyB0aGUgcm9idXN0bmVzcwoJICBvZiBwYXJzaW5nIHF1aXRlIGEgYml0LgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tzdHJlYW1yZWFkZXIuYzoKCSAgKGdzdF93YXZwYWNrX3N0cmVhbV9yZWFkZXJfcmVhZF9ieXRlcyksCgkgIChnc3Rfd2F2cGFja19zdHJlYW1fcmVhZGVyX2dldF9wb3MpLAoJICAoZ3N0X3dhdnBhY2tfc3RyZWFtX3JlYWRlcl9zZXRfcG9zX2FicyksCgkgIChnc3Rfd2F2cGFja19zdHJlYW1fcmVhZGVyX3NldF9wb3NfcmVsKSwKCSAgKGdzdF93YXZwYWNrX3N0cmVhbV9yZWFkZXJfcHVzaF9iYWNrX2J5dGUpLAoJICAoZ3N0X3dhdnBhY2tfc3RyZWFtX3JlYWRlcl9nZXRfbGVuZ3RoKSwKCSAgKGdzdF93YXZwYWNrX3N0cmVhbV9yZWFkZXJfY2FuX3NlZWspLAoJICAoZ3N0X3dhdnBhY2tfc3RyZWFtX3JlYWRlcl93cml0ZV9ieXRlcyk6CgkgIEltcHJvdmUgZGVidWdnaW5nLgoKMjAwNy0xMS0yMCAxMjoyMDozOCArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZXh0L2xpYnBuZy9nc3RwbmdkZWMuKjogRG9uJ3QgcmVsZWFzZSB0aGUgcG5nLW1lbW9yeSBmcm9tIHdpdGhpbiB0aGUgY2FsbGJhY2suCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9saWJwbmcvZ3N0cG5nZGVjLmM6CgkgICogZXh0L2xpYnBuZy9nc3RwbmdkZWMuaDoKCSAgRG9uJ3QgcmVsZWFzZSB0aGUgcG5nLW1lbW9yeSBmcm9tIHdpdGhpbiB0aGUgY2FsbGJhY2suCgoyMDA3LTExLTIwIDEyOjExOjEzICswMDAwICBSZW7DqSBTdGFkbGVyIDxtYWlsQHJlbmVzdGFkbGVyLmRlPgoKCSAgZXh0L2xpYnBuZy9nc3RwbmdlbmMuYzogRG9uJ3QgbGVhayBidWZmZXIgZGF0YSBtZW1vcnkuIEZpeGVzICM0OTgzOTUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogUmVuw6kgU3RhZGxlciA8bWFpbCBhdCByZW5lc3RhZGxlciBkb3QgZGU+CgkgICogZXh0L2xpYnBuZy9nc3RwbmdlbmMuYzoKCSAgRG9uJ3QgbGVhayBidWZmZXIgZGF0YSBtZW1vcnkuIEZpeGVzICM0OTgzOTUuCgoyMDA3LTExLTIwIDExOjQ2OjI4ICswMDAwICBSZW7DqSBTdGFkbGVyIDxtYWlsQHJlbmVzdGFkbGVyLmRlPgoKCSAgdGVzdHMvY2hlY2svcGlwZWxpbmVzL3NpbXBsZS1sYXVuY2gtbGluZXMuYzogVGVzdHMgZm9yICM0OTgzOTUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogUmVuw6kgU3RhZGxlciA8bWFpbCBhdCByZW5lc3RhZGxlciBkb3QgZGU+CgkgICogdGVzdHMvY2hlY2svcGlwZWxpbmVzL3NpbXBsZS1sYXVuY2gtbGluZXMuYzoKCSAgVGVzdHMgZm9yICM0OTgzOTUuCgoyMDA3LTExLTIwIDExOjQxOjEzICswMDAwICBKdWxpZW4gTW91dHRlIDxqdWxpZW5AbW91dHRlLm5ldD4KCgkgIEZpeCBidWlsZCBvbiBNYWMgT1MgWCAxMC41CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA3LTExLTIwICBKdWxpZW4gTU9VVFRFICA8anVsaWVuQG1vdXR0ZS5uZXQ+CgkgICogZXh0L3RhZ2xpYi9nc3R0YWdsaWJtdXguYzogKGdzdF90YWdfbGliX211eF9yZW5kZXJfdGFnKSwKCSAgKGdzdF90YWdfbGliX211eF9hZGp1c3RfZXZlbnRfb2Zmc2V0cyk6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAocXRkZW11eF9wYXJzZV90aGVvcmFfZXh0ZW5zaW9uKToKCSAgKiBzeXMvb3N4YXVkaW8vTWFrZWZpbGUuYW06CgkgICogc3lzL29zeHZpZGVvL2NvY29hd2luZG93Lmg6CgkgICogc3lzL29zeHZpZGVvL2NvY29hd2luZG93Lm06IEZpeCBidWlsZCBvbiBNYWMgT1MgWCAxMC41CgoyMDA3LTExLTE5IDIwOjMwOjE5ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3QvZXF1YWxpemVyLzogQWN0aXZhdGUgcHJlc2V0IGlmYWNlIGFuZCB1cGxvYWQgdHdvIHByZXNldHMgaGVyZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIxMGJhbmRzLmM6CgkgICogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIzYmFuZHMuYzoKCSAgQWN0aXZhdGUgcHJlc2V0IGlmYWNlIGFuZCB1cGxvYWQgdHdvIHByZXNldHMgaGVyZS4KCjIwMDctMTEtMTYgMDU6NTI6NTUgKzAwMDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSAgZXh0L2NhaXJvL2dzdHRleHRvdmVybGF5LmM6IENoYW5nZSBzdHJjYXNlY21wKCkgdG8gZ19zdHJjYXNlY21wKCkuICBGaXhlcyAjNDk3MjkyLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvY2Fpcm8vZ3N0dGV4dG92ZXJsYXkuYzoKCSAgQ2hhbmdlIHN0cmNhc2VjbXAoKSB0byBnX3N0cmNhc2VjbXAoKS4gIEZpeGVzICM0OTcyOTIuCgoyMDA3LTExLTE1IDE4OjE5OjE5ICswMDAwICBKb3JkaSBKYWVuIFBhbGxhcmVzIDxqb3JkaWpwQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHAvZ3N0cnRwbXAydHBheS4qOiBGaWxsIHRoZSBNVFUgd2l0aCBhcyBtYW55IHBhY2tldHMgYXMgcG9zc2libGUuIEZpeGVzICM0OTEzMjMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogSm9yZGkgSmFlbiBQYWxsYXJlcyA8am9yZGlqcCBhdCBnbWFpbCBkb3QgY29tPgoJICAqIGdzdC9ydHAvZ3N0cnRwbXAydHBheS5jOiAoZ3N0X3J0cF9tcDJ0X3BheV9jbGFzc19pbml0KSwKCSAgKGdzdF9ydHBfbXAydF9wYXlfaW5pdCksIChnc3RfcnRwX21wMnRfcGF5X2ZpbmFsaXplKSwKCSAgKGdzdF9ydHBfbXAydF9wYXlfZmx1c2gpLCAoZ3N0X3J0cF9tcDJ0X3BheV9oYW5kbGVfYnVmZmVyKToKCSAgKiBnc3QvcnRwL2dzdHJ0cG1wMnRwYXkuaDoKCSAgRmlsbCB0aGUgTVRVIHdpdGggYXMgbWFueSBwYWNrZXRzIGFzIHBvc3NpYmxlLiBGaXhlcyAjNDkxMzIzLgoKMjAwNy0xMS0xNSAxNzo0Nzo0MyArMDAwMCAgVG9tbWkgTXnDtmjDpG5lbiA8ZXh0LXRvbW1pLm15b2hhbmVuQG5va2lhLmNvbT4KCgkgIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogRml4IHNvbWUgbW9yZSBsZWFrcy4gRml4ZXMgIzQ5NzAwNy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBUb21taSBNecO2aMOkbmVuICA8ZXh0LXRvbW1pIGRvdCBteW9oYW5lbiBhdCBub2tpYSBkb3QgY29tPgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogKGdzdF9ydHNwc3JjX3NldHVwX3N0cmVhbXMpOgoJICBGaXggc29tZSBtb3JlIGxlYWtzLiBGaXhlcyAjNDk3MDA3LgoKMjAwNy0xMS0xNSAxNzozNToxOCArMDAwMCAgVG9tbWkgTXnDtmjDpG5lbiA8ZXh0LXRvbW1pLm15b2hhbmVuQG5va2lhLmNvbT4KCgkgIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogRml4IDMgcGFkIGxlYWtzLiBGaXhlcyAjNDk2OTgzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFRvbW1pIE15w7Zow6RuZW4gIDxleHQtdG9tbWkgZG90IG15b2hhbmVuIGF0IG5va2lhIGRvdCBjb20+CgkgICogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiAoZ3N0X3J0c3BzcmNfc3RyZWFtX2ZyZWUpLAoJICAoZ3N0X3J0c3BzcmNfc3RyZWFtX2NvbmZpZ3VyZV90Y3ApOgoJICBGaXggMyBwYWQgbGVha3MuIEZpeGVzICM0OTY5ODMuCgoyMDA3LTExLTE1IDE3OjI2OjI1ICswMDAwICBXb3V0ZXIgQ2xvZXRlbnMgPHdvdXRlckBtaW5kLmJlPgoKCSAgQWRkZWQgSFRUUCBzb3VyY2UgYmFzZWQgb24gbGlic291cC4gRml4ZXMgIzQ5NzAyMC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBXb3V0ZXIgQ2xvZXRlbnMgPHdvdXRlciBhdCBtaW5kIGRvdCBiZT4KCSAgKiBjb25maWd1cmUuYWM6CgkgICogZXh0L01ha2VmaWxlLmFtOgoJICAqIGV4dC9zb3VwL01ha2VmaWxlLmFtOgoJICAqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6IChfZG9faW5pdCksCgkgIChnc3Rfc291cGh0dHBfc3JjX2Jhc2VfaW5pdCksIChnc3Rfc291cGh0dHBfc3JjX2NsYXNzX2luaXQpLAoJICAoZ3N0X3NvdXBodHRwX3NyY19pbml0KSwgKGdzdF9zb3VwaHR0cF9zcmNfZGlzcG9zZSksCgkgIChnc3Rfc291cGh0dHBfc3JjX3NldF9wcm9wZXJ0eSksIChnc3Rfc291cGh0dHBfc3JjX2dldF9wcm9wZXJ0eSksCgkgIChnc3Rfc291cGh0dHBfc3JjX2NyZWF0ZSksIChnc3Rfc291cGh0dHBfc3JjX3N0YXJ0KSwKCSAgKGdzdF9zb3VwaHR0cF9zcmNfc3RvcCksIChnc3Rfc291cGh0dHBfc3JjX3VubG9jayksCgkgIChnc3Rfc291cGh0dHBfc3JjX3NldF9sb2NhdGlvbiksIChzb3VwX2dvdF9jaHVuayksIChzb3VwX3Jlc3BvbnNlKSwKCSAgKHNvdXBfc2Vzc2lvbl9jbG9zZSksIChwbHVnaW5faW5pdCk6CgkgICogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuaDoKCSAgQWRkZWQgSFRUUCBzb3VyY2UgYmFzZWQgb24gbGlic291cC4gRml4ZXMgIzQ5NzAyMC4KCjIwMDctMTEtMTUgMTc6MDE6MzIgKzAwMDAgIFRvbW1pIE15w7Zow6RuZW4gPGV4dC10b21taS5teW9oYW5lbkBub2tpYS5jb20+CgoJICBnc3QvcnRwL2dzdHJ0cGgyNjRkZXBheS5jOiBGaXggc21hbGwgbGVhay4gRml4ZXMgIzQ5NzAxNy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBUb21taSBNecO2aMOkbmVuICA8ZXh0LXRvbW1pIGRvdCBteW9oYW5lbiBhdCBub2tpYSBkb3QgY29tPgoJICAqIGdzdC9ydHAvZ3N0cnRwaDI2NGRlcGF5LmM6IChnc3RfcnRwX2gyNjRfZGVwYXlfc2V0Y2Fwcyk6CgkgIEZpeCBzbWFsbCBsZWFrLiBGaXhlcyAjNDk3MDE3LgoKMjAwNy0xMS0xNSAxNjozMTozMiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9xdGRlbXV4LzogQWRkIHN1cHBwb3J0IGZvciB0aGVvcmEgaW4gcXVpY2t0aW1lIGFjY29yZGluZyB0byBYaXBoUVQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKGdzdF9xdGRlbXV4X2NoYW5nZV9zdGF0ZSksCgkgIChnc3RfcXRkZW11eF9wcmVwYXJlX2N1cnJlbnRfc2FtcGxlKSwKCSAgKGdzdF9xdGRlbXV4X2xvb3Bfc3RhdGVfbW92aWUpLCAocXRkZW11eF9wYXJzZV90aGVvcmFfZXh0ZW5zaW9uKSwKCSAgKHF0ZGVtdXhfcGFyc2Vfbm9kZSksIChxdGRlbXV4X3BhcnNlX3RyYWspLCAocXRkZW11eF92aWRlb19jYXBzKToKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4X2ZvdXJjYy5oOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXhfdHlwZXMuYzoKCSAgQWRkIHN1cHBwb3J0IGZvciB0aGVvcmEgaW4gcXVpY2t0aW1lIGFjY29yZGluZyB0byBYaXBoUVQuCgoyMDA3LTExLTE1IDEyOjIyOjEwICswMDAwICBFZGdhcmQgTGltYSA8ZWRnYXJkLmxpbWFAaW5kdC5vcmcuYnI+CgoJKiBDaGFuZ2VMb2c6CgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5oOgoJKiBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmM6CgkgIEFsd2F5cyBjb3B5IGJ1ZmZlcnMgYnkgZGVmYXVsdCAoaGFuZGxlIHNhZmVyIHdpdGggYnVnZ2VkIGRyaXZlcnMpIGFuZCBhZGRlZCBhIHByb3BlcnR5IHRvIG1ha2UgaXQgcG9zc2libGUgdG8gdXNlIG1tYS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgQWx3YXlzIGNvcHkgYnVmZmVycyBieSBkZWZhdWx0IChoYW5kbGUgc2FmZXIgd2l0aCBidWdnZWQgZHJpdmVycykgYW5kIGFkZGVkIGEgcHJvcGVydHkgdG8gbWFrZSBpdCBwb3NzaWJsZSB0byB1c2UgbW1hcCBlZmZlY3RpdmVseSAobm8gY29weSBpZiBwb3NzaWJsZSkgd2hlbiBhcHBsaWNhdGlvbiB3YW50cyB0by4gRml4ZXM6ICM0ODA1NTcuCgoyMDA3LTExLTE0IDIxOjM5OjQ3ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L2lkM2RlbXV4LzogV2UgZG9uJ3Qgd2FudCB0aGUgc2FtZSBzdHJpbmcgbXVsdGlwbGUgdGltZXMgaW4gYSB0YWcgbGlzdCBmb3IgdGhlIHNhbWUgdGFnIGV2ZXIsIGZvciBhbnkgdGFnLCBub3QganVzLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9pZDNkZW11eC9pZDN0YWdzLmM6CgkgICogZ3N0L2lkM2RlbXV4L2lkM3RhZ3MuaDoKCSAgKiBnc3QvaWQzZGVtdXgvaWQzdjJmcmFtZXMuYzogKGlkM3YyX3RhZ190b190YWdsaXN0KToKCSAgV2UgZG9uJ3Qgd2FudCB0aGUgc2FtZSBzdHJpbmcgbXVsdGlwbGUgdGltZXMgaW4gYSB0YWcgbGlzdCBmb3IgdGhlCgkgIHNhbWUgdGFnIGV2ZXIsIGZvciBhbnkgdGFnLCBub3QganVzdCBmb3IgR1NUX1RBR19HRU5SRSwgc28gbWFrZSBzdXJlCgkgIHRoaXMgZG9lc24ndCBoYXBwZW4gYW5kIHJlbW92ZSBzcGVjaWFsLWNhc2UgY29kZSBmb3IgR1NUX1RBR19HRU5SRS4KCjIwMDctMTEtMTQgMjE6MDQ6MTIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvdGFnbGliL2dzdGlkM3YybXV4LmNjOiBXcml0ZSBHU1RfVEFHX01VU0lDQlJBSU5aX0RJU0NJRCBhbmQgR1NUX1RBR19DRERBX0NEREJfRElTQ0lEIGludG8gSUQzdjIgVFhYWCBmcmFtZXMgKGZpeGUuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3RhZ2xpYi9nc3RpZDN2Mm11eC5jYzogKGFkZF9tdXNpY2JyYWluel90YWcpLCAoYWRkX2Z1bmNzKToKCSAgV3JpdGUgR1NUX1RBR19NVVNJQ0JSQUlOWl9ESVNDSUQgYW5kIEdTVF9UQUdfQ0REQV9DRERCX0RJU0NJRAoJICBpbnRvIElEM3YyIFRYWFggZnJhbWVzIChmaXhlcyAjMzQ3ODQ4KS4KCjIwMDctMTEtMTQgMjA6MzQ6MjQgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IERvbid0IGxlYWsgc2RwIG1lc3NhZ2UgY29udGVudHMgKGZpeGVzICM0OTY3NzMpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IChnc3RfcnRzcHNyY19vcGVuKToKCSAgRG9uJ3QgbGVhayBzZHAgbWVzc2FnZSBjb250ZW50cyAoZml4ZXMgIzQ5Njc3MykuCgkgICogZ3N0L3VkcC9nc3R1ZHBzaW5rLmM6IChnc3RfdWRwc2lua19maW5hbGl6ZSk6CgkgIERvbid0IGxlYWsgVVJJIHN0cmluZy4KCjIwMDctMTEtMTQgMTk6MTA6MzcgKzAwMDAgIEp1bGllbiBQdXlkdCA8anVsaWVuLnB1eWR0QGxhcG9zdGUubmV0PgoKCSAgZXh0L3JhdzEzOTQvOiBJbXBsZW1lbnQgR3N0UHJvcGVydHlQcm9iZSBpbnRlcmZhY2UgYW5kIGFkZCAiZGV2aWNlLW5hbWUiIHByb3BlcnR5LCBzbyBhcHBsaWNhdGlvbnMgY2FuIHVzZSB0aGlzIHRvIHByLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogSnVsaWVuIFB1eWR0IDxqdWxpZW4gZG90IHB1eWR0IGF0IGxhcG9zdGUgbmV0PgoJICAqIGV4dC9yYXcxMzk0L01ha2VmaWxlLmFtOgoJICAqIGV4dC9yYXcxMzk0L2dzdDEzOTRwcm9iZS5jOiAoZ3N0XzEzOTRfZ2V0X2d1aWRfYXJyYXkpLAoJICAoZ3N0XzEzOTRfcHJvcGVydHlfcHJvYmVfZ2V0X3Byb3BlcnRpZXMpLAoJICAoZ3N0XzEzOTRfcHJvcGVydHlfcHJvYmVfcHJvYmVfcHJvcGVydHkpLAoJICAoZ3N0XzEzOTRfcHJvcGVydHlfcHJvYmVfbmVlZHNfcHJvYmUpLAoJICAoZ3N0XzEzOTRfcHJvcGVydHlfcHJvYmVfZ2V0X3ZhbHVlcyksCgkgIChnc3RfMTM5NF9wcm9wZXJ0eV9wcm9iZV9pbnRlcmZhY2VfaW5pdCksCgkgIChnc3RfMTM5NF90eXBlX2FkZF9wcm9wZXJ0eV9wcm9iZV9pbnRlcmZhY2UpOgoJICAqIGV4dC9yYXcxMzk0L2dzdDEzOTRwcm9iZS5oOiAoR1NUXzEzOTRfUFJPQkVfSCk6CgkgICogZXh0L3JhdzEzOTQvZ3N0ZHYxMzk0c3JjLmM6IChfZG9faW5pdCksIChnc3RfZHYxMzk0c3JjX2NsYXNzX2luaXQpLAoJICAoZ3N0X2R2MTM5NHNyY19pbml0KSwgKGdzdF9kdjEzOTRzcmNfZGlzcG9zZSksCgkgIChnc3RfZHYxMzk0c3JjX3NldF9wcm9wZXJ0eSksIChnc3RfZHYxMzk0c3JjX2dldF9wcm9wZXJ0eSksCgkgIChnc3RfZHYxMzk0c3JjX2Rpc2NvdmVyX2F2Y19ub2RlKSwgKGdzdF9kdjEzOTRzcmNfcXVlcnkpLAoJICAoZ3N0X2R2MTM5NHNyY191cGRhdGVfZGV2aWNlX25hbWUpOgoJICAqIGV4dC9yYXcxMzk0L2dzdGR2MTM5NHNyYy5oOgoJICBJbXBsZW1lbnQgR3N0UHJvcGVydHlQcm9iZSBpbnRlcmZhY2UgYW5kIGFkZCAiZGV2aWNlLW5hbWUiIHByb3BlcnR5LAoJICBzbyBhcHBsaWNhdGlvbnMgY2FuIHVzZSB0aGlzIHRvIHByb2JlIGZvciBhdmFpbGFibGUgZGV2aWNlcyBpbiB0aGUKCSAgc2FtZSB3YXkgdGhleSBjYW4gYWxyZWFkeSB3aXRoIHY0bHNyYyBhbmQgdjRsMnNyYyAoaG93ZXZlciBob3JyaWJsZQoJICB0aGlzIHByb3BlcnR5IHByb2JlIGludGVyZmFjZSBtYXkgYmUpLiBGaXhlcyAjMzU4ODQxLgoKMjAwNy0xMS0xNCAxNzowMzoxOCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgdGVzdHMvY2hlY2svZWxlbWVudHMvc3BlY3RydW0uYzogRml4IHNwZWN0cnVtIHVuaXQgdGVzdCBmb3IgdGhlIGxhdGVzdCBzcGVjdHJ1bSBjaGFuZ2VzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9zcGVjdHJ1bS5jOiAoR1NUX1NUQVJUX1RFU1QpOgoJICBGaXggc3BlY3RydW0gdW5pdCB0ZXN0IGZvciB0aGUgbGF0ZXN0IHNwZWN0cnVtIGNoYW5nZXMuCgoyMDA3LTExLTE0IDE1OjI5OjA1ICswMDAwICBUb21taSBNecO2aMOkbmVuIDxleHQtdG9tbWkubXlvaGFuZW5Abm9raWEuY29tPgoKCSAgZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiBEb24ndCBsZWFrIGV2ZW50LCBkb24ndCBsZWFrIHJhbmdlIChmaXhlcyAjNDk2NzUyKS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBUb21taSBNecO2aMOkbmVuICA8ZXh0LXRvbW1pIGRvdCBteW9oYW5lbiBhdCBub2tpYSBkb3QgY29tPgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogKGdzdF9ydHNwc3JjX2hhbmRsZV9zcmNfZXZlbnQpLAoJICAoZ3N0X3J0c3BzcmNfcGFyc2VfcmFuZ2UpOgoJICBEb24ndCBsZWFrIGV2ZW50LCBkb24ndCBsZWFrIHJhbmdlIChmaXhlcyAjNDk2NzUyKS4KCjIwMDctMTEtMTQgMTA6MjI6NDEgKzAwMDAgIEFyZWsgS29yYmlrIDxhcmthZGluaUBnbWFpbC5jb20+CgoJICBnc3QvYWxwaGEvZ3N0YWxwaGFjb2xvci5jOiBEZXRlY3QgUkdCQS9CR1JBIGNvcnJlY3RseSBvbiBsaXR0bGUgZW5kaWFuIHN5c3RlbXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogQXJlayBLb3JiaWsgPGFya2FkaW5pQGdtYWlsLmNvbT4KCSAgKiBnc3QvYWxwaGEvZ3N0YWxwaGFjb2xvci5jOiAoZ3N0X2FscGhhX2NvbG9yX3NldF9jYXBzKToKCSAgRGV0ZWN0IFJHQkEvQkdSQSBjb3JyZWN0bHkgb24gbGl0dGxlIGVuZGlhbiBzeXN0ZW1zLgoKMjAwNy0xMS0xMyAxNzoxOToxMyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuYzogYnV0IHRoZSBjb3JyZXNwb25kaW5nIGlvY3RsKCkgY2FsbCBmYWlscyBldmVuIHRob3VnaCB0aGUgZHJpdmVyIGNsYWltcyB0byBzdXBwb3J0IHRoaXMgZm9ybS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmM6IChnc3RfdjRsMnNyY19wcm9iZV9jYXBzX2Zvcl9mb3JtYXQpOgoJICBJZiBWSURJT0NfRU5VTV9GUkFNRVNJWkVTIGlzIGRlZmluZWQgKD0gcmVjZW50IGtlcm5lbCksIGJ1dCB0aGUKCSAgY29ycmVzcG9uZGluZyBpb2N0bCgpIGNhbGwgZmFpbHMgZXZlbiB0aG91Z2ggdGhlIGRyaXZlciBjbGFpbXMgdG8KCSAgc3VwcG9ydCB0aGlzIGZvcm1hdCwganVzdCBmYWxsIGJhY2sgdG8gdGhlIHByZS0yLjYuMTkga2VybmVsCgkgIHJvdXRpbmUgdGhhdCBjcmVhdGVzIGNhcHMgd2l0aCBzdWl0YWJsZSBoZWlnaHQgYW5kIHdpZHRoIHJhbmdlcwoJICAoc2VlICM0NDgyNzgpLgoKMjAwNy0xMS0xMyAxNzowMTowNyArMDAwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFuYXV3QHNreW5ldC5iZT4KCgkgIGdzdC9tYXRyb3NrYS86IEV4dHJhY3QgcGFsZXR0ZSBkYXRhIGZvciBkdmQgc3VicGljdHVyZSBzdHJlYW1zIGFuZCBzZW5kIGl0IGRvd25zdHJlYW0gYXMgY3VzdG9tIGdzdHJlYW1lciBkdmQgZXZlbnQgKC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IE1hcmsgTmF1d2VsYWVydHMgPG1hbmF1dyBza3luZXQgYmU+CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIChnc3RfbWF0cm9za2FfZGVtdXhfcHVzaF9kdmRfY2x1dF9jaGFuZ2VfZXZlbnQpLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X3BhcnNlX2Jsb2NrZ3JvdXBfb3Jfc2ltcGxlYmxvY2spLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X3N1YnRpdGxlX2NhcHMpOgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1pZHMuaDoKCSAgRXh0cmFjdCBwYWxldHRlIGRhdGEgZm9yIGR2ZCBzdWJwaWN0dXJlIHN0cmVhbXMgYW5kIHNlbmQgaXQKCSAgZG93bnN0cmVhbSBhcyBjdXN0b20gZ3N0cmVhbWVyIGR2ZCBldmVudCAoZml4ZXMgIzQ1MzQxNykuCgoyMDA3LTExLTEzIDE0OjUxOjMwICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L2NhaXJvL2dzdHRleHRvdmVybGF5LmM6IEltcGxlbWVudCBtaW5pbWFsIHBhcnNpbmcgb2YgdGhlIHBhc3NlZCBwYW5nbyBmb250IGRlc2NyaXB0aW9uIHN0cmluZywgc28gcGFzc2luZyBhIGZvbnQgLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9jYWlyby9nc3R0ZXh0b3ZlcmxheS5jOiAoZ3N0X3RleHRfb3ZlcmxheV9mb250X2luaXQpOgoJICBJbXBsZW1lbnQgbWluaW1hbCBwYXJzaW5nIG9mIHRoZSBwYXNzZWQgcGFuZ28gZm9udCBkZXNjcmlwdGlvbgoJICBzdHJpbmcsIHNvIHBhc3NpbmcgYSBmb250IHNpemUgd29ya3MgdGhlIHNhbWUgYXMgd2l0aCB0aGUKCSAgcGFuZ28gdGV4dG92ZXJsYXkgcGx1Z2luOyBmaXhlcyAjNDU1MDg2LgoJICAoTWF5YmUgd2UgY291bGQganVzdCB1c2UgcGFuZ29jYWlybyBoZXJlIGF0IHNvbWUgcG9pbnQpLgoKMjAwNy0xMS0xMyAwNjo1NToyOCArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0LzogUmV0dXJuIHRoZSByZXN1bHQgaW4gX2FjdGl2YXRlX3B1bGwoKS4gRG9uJ3QgcmVmIGVsZW1lbnQgdGhlcmUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzoKCSAgUmV0dXJuIHRoZSByZXN1bHQgaW4gX2FjdGl2YXRlX3B1bGwoKS4gRG9uJ3QgcmVmIGVsZW1lbnQgdGhlcmUuCgoyMDA3LTExLTEzIDA2OjIzOjUxICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzogUmVmIHRoZSBlbGVtZW50IHdoZW4gd2Ugc2hvdWxkLCBidXQgbm90IHdoZW4gd2UgaXRzIG5vdCBuZWVkZWQuIFJlZmxvdyB0aGUgZXZlbnRfaGFuZGxpbmcuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6IChnc3Rfd2F2cGFyc2Vfc3RyZWFtX2hlYWRlcnMpLAoJICAoZ3N0X3dhdnBhcnNlX3BhZF9jb252ZXJ0KSwgKGdzdF93YXZwYXJzZV9wYWRfcXVlcnkpLAoJICAoZ3N0X3dhdnBhcnNlX3NyY3BhZF9ldmVudCk6CgkgIFJlZiB0aGUgZWxlbWVudCB3aGVuIHdlIHNob3VsZCwgYnV0IG5vdCB3aGVuIHdlIGl0cyBub3QgbmVlZGVkLiBSZWZsb3cKCSAgdGhlIGV2ZW50X2hhbmRsaW5nIHRvIG5vdCBsZWFrIHRoZSBldmVudC4KCjIwMDctMTEtMTIgMjE6MDc6MzEgKzAwMDAgIFJlbsOpIFN0YWRsZXIgPG1haWxAcmVuZXN0YWRsZXIuZGU+CgoJICBnc3QvcmVwbGF5Z2Fpbi9yZ2FuYWx5c2lzLmM6IEF2b2lkIHNsb3dkb3duIGZyb20gZGVub3JtYWxzIHdoZW4gcHJvY2Vzc2luZyBuZWFyLXNpbGVuY2UgaW5wdXQgZGF0YS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBSZW7DqSBTdGFkbGVyIDxtYWlsIGF0IHJlbmVzdGFkbGVyIGRvdCBkZT4KCSAgKiBnc3QvcmVwbGF5Z2Fpbi9yZ2FuYWx5c2lzLmM6ICh5dWxlX2ZpbHRlcik6CgkgIEF2b2lkIHNsb3dkb3duIGZyb20gZGVub3JtYWxzIHdoZW4gcHJvY2Vzc2luZyBuZWFyLXNpbGVuY2UgaW5wdXQgZGF0YS4KCSAgU3BvdHRlZCBieSBHYWJyaWVsIEJvdXZpZ25lLiBGaXhlcyAjNDk0NDk5LgoKMjAwNy0xMS0xMiAxNzo1OTo0MCArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogUHJvcGVybHkgZnJlZSBRVERlbXV4U2FtcGxlcyBhcnJheS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAoZ3N0X3F0ZGVtdXhfY2hhbmdlX3N0YXRlKSwKCSAgKHF0ZGVtdXhfcGFyc2Vfc2FtcGxlcyk6CgkgIFByb3Blcmx5IGZyZWUgUVREZW11eFNhbXBsZXMgYXJyYXkuCgkgIFByb3RlY3QgdGFibGUgd3JpdGUgd2l0aCBhIHNlbnNpYmxlIGNoZWNrLCBzb21lIGZpbGVzIGFwcGFyZW50bHkgRE8gY29udGFpbgoJICBzdHRzIHZhbHVlcyBzdGFydGluZyB3aXRoIDAgOigKCjIwMDctMTEtMTIgMTc6MjE6NTkgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC86IERyb3AgRU9TIGluIF9oYW5kbGVfc3JjX2V2ZW50KCkuIEZpeCB0aGUgcmVmY291bnQgaW4gcXRkZW11eCB0aGF0IHByZXZpb3VzIGNvbW1pdCBtZXNzZWQgdXAuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIERyb3AgRU9TIGluIF9oYW5kbGVfc3JjX2V2ZW50KCkuIEZpeCB0aGUgcmVmY291bnQgaW4gcXRkZW11eCB0aGF0CgkgIHByZXZpb3VzIGNvbW1pdCBtZXNzZWQgdXAuCgoyMDA3LTExLTEyIDE3OjA2OjMyICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3QvOiBTeW5jIF9oYW5kbGVfc3JjX2V2ZW50KCkgd2l0aCBvZ2dkZW11eC4gSW4gYXZpZGVtdXggYWxzbyByZWYgdGhlIGVsZW1lbnQgd2hlbiB3ZSBzaG91bGQsIGJ1dCBub3Qgd2hlbiB3ZSBpdHMgbm8uLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgU3luYyBfaGFuZGxlX3NyY19ldmVudCgpIHdpdGggb2dnZGVtdXguIEluIGF2aWRlbXV4IGFsc28gcmVmIHRoZQoJICBlbGVtZW50IHdoZW4gd2Ugc2hvdWxkLCBidXQgbm90IHdoZW4gd2UgaXRzIG5vdCBuZWVkZWQuCgoyMDA3LTExLTExIDIxOjEyOjEwICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvOiBDaGFuZ2UgdGhlIG1lYW5pbmcgb2YgdGhlIG1hZ25pdHVkZSB2YWx1ZXMgZ2l2ZW4gaW4gdGhlCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9lcXVhbGl6ZXIvZGVtby5jOiAoZHJhd19zcGVjdHJ1bSk6CgkgICogZ3N0L3NwZWN0cnVtL2RlbW8tYXVkaW90ZXN0LmM6IChkcmF3X3NwZWN0cnVtKToKCSAgKiBnc3Qvc3BlY3RydW0vZGVtby1vc3NzcmMuYzogKGRyYXdfc3BlY3RydW0pOgoJICAqIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5jOiAoZ3N0X3NwZWN0cnVtX2NsYXNzX2luaXQpOgoJICBDaGFuZ2UgdGhlIG1lYW5pbmcgb2YgdGhlIG1hZ25pdHVkZSB2YWx1ZXMgZ2l2ZW4gaW4gdGhlCgkgIEdzdE1lc3NhZ2VzIGJ5IHNwZWN0cnVtIHRvIGRlY2liZWwgaW5zdGVhZCBvZgoJICBkZWNpYmVsK3RocmVzaG9sZC4KCjIwMDctMTEtMTEgMTM6NTU6MjcgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9lcXVhbGl6ZXIvOiBBbmQgY29udGludWUgdG8gdXBkYXRlIGRvY3MuIEFsc28gaW5jbHVkZSBzb21lIHNhbXBsZSBjb2RlIGZvciB0aGUgbi1iYW5kIGVxdWFsaXplciBpbiB0aGUgZG9jcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIxMGJhbmRzLmM6CgkgICogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIzYmFuZHMuYzoKCSAgKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplcm5iYW5kcy5jOgoJICBBbmQgY29udGludWUgdG8gdXBkYXRlIGRvY3MuIEFsc28gaW5jbHVkZSBzb21lIHNhbXBsZSBjb2RlCgkgIGZvciB0aGUgbi1iYW5kIGVxdWFsaXplciBpbiB0aGUgZG9jcy4KCjIwMDctMTEtMTEgMTI6NTQ6MzEgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9lcXVhbGl6ZXIvOiBVcGRhdGUgZG9jcyBhbmQgcHJvcGVydHkgcmFuZ2VzIHRvIHRoZSByZWFsIHZhbHVlcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIxMGJhbmRzLmM6CgkgIChnc3RfaWlyX2VxdWFsaXplcl8xMGJhbmRzX2NsYXNzX2luaXQpOgoJICAqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyM2JhbmRzLmM6CgkgIChnc3RfaWlyX2VxdWFsaXplcl8zYmFuZHNfY2xhc3NfaW5pdCk6CgkgICogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXJuYmFuZHMuYzoKCSAgVXBkYXRlIGRvY3MgYW5kIHByb3BlcnR5IHJhbmdlcyB0byB0aGUgcmVhbCB2YWx1ZXMuCgoyMDA3LTExLTA5IDE3OjI3OjAwICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uYzogTm93IGRvIHRoZSBzY2FsaW5nIHJpZ2h0IGZvciByZWFsLiBBbHNvIGluaXRpYWxpemUgYSBwcmV2aW91c2x5IHVuaW5pdGlhbGl6ZWQgdmFyaWFibGUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5jOgoJICBOb3cgZG8gdGhlIHNjYWxpbmcgcmlnaHQgZm9yIHJlYWwuIEFsc28gaW5pdGlhbGl6ZSBhIHByZXZpb3VzbHkKCSAgdW5pbml0aWFsaXplZCB2YXJpYWJsZS4KCjIwMDctMTEtMDggMTU6NTY6NDYgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC9lcXVhbGl6ZXIvZGVtby5jOiBNYWtlIGRlZmF1bHQgdm9sdW1lIGEgYml0IGxlc3MuIEltcHJvdmUgbGF5b3V0IGJ5IGdpdmluZyBtb3JlIHNwYWNlIHRvIHRoZSBzbGlkZXIgd2l0aCBiaWctbnVtYi4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZXF1YWxpemVyL2RlbW8uYzoKCSAgTWFrZSBkZWZhdWx0IHZvbHVtZSBhIGJpdCBsZXNzLiBJbXByb3ZlIGxheW91dCBieSBnaXZpbmcgbW9yZSBzcGFjZSB0bwoJICB0aGUgc2xpZGVyIHdpdGggYmlnLW51bWJlcnMgYW5kIGVuYWJsZSBmaWxsLgoKMjAwNy0xMS0wOCAxNTowMDo0MCArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6IFJldHVybiBGQUxTRSBpZiB3ZSBjYW4ndCBoYW5kbGUgYSBxdWVyeSBpbnN0ZWFkIG9mIGNoYW5naW5nIHRoZSBmb3JtYXQuIElnbm9yZSBmYWN0IHdoZW4gLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOgoJICBSZXR1cm4gRkFMU0UgaWYgd2UgY2FuJ3QgaGFuZGxlIGEgcXVlcnkgaW5zdGVhZCBvZiBjaGFuZ2luZyB0aGUKCSAgZm9ybWF0LiBJZ25vcmUgZmFjdCB3aGVuIGRlYWxpbmcgd2l0aCBtcGVnIGF1ZGlvLgoKMjAwNy0xMS0wNiAxMjoyMzozNSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L3NwZWN0cnVtL2RlbW8tYXVkaW90ZXN0LmM6IFVzZSBhdXRvYXVkaW9zaW5rIGluc3RlYWQgb2YgYWxzYXNpbmsgYW5kIHVzZSBhIHNpbmUgd2F2ZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3NwZWN0cnVtL2RlbW8tYXVkaW90ZXN0LmM6IChtYWluKToKCSAgVXNlIGF1dG9hdWRpb3NpbmsgaW5zdGVhZCBvZiBhbHNhc2luayBhbmQgdXNlIGEgc2luZSB3YXZlLgoJICAqIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5jOgoJICBGaXggdGhlIG1hZ25pdHVkZSBjYWxjdWxhdGlvbi4KCjIwMDctMTEtMDMgMTk6NTA6MTEgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9lcXVhbGl6ZXIvOiBBbGxvdyBzZXR0aW5nIDAgYXMgYmFuZHdpZHRoIGFuZCBoYW5kbGUgdGhpcyBjb3JyZWN0bHkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9lcXVhbGl6ZXIvZGVtby5jOiAobWFpbik6CgkgICogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIuYzoKCSAgKGdzdF9paXJfZXF1YWxpemVyX2JhbmRfY2xhc3NfaW5pdCksIChzZXR1cF9maWx0ZXIpOgoJICBBbGxvdyBzZXR0aW5nIDAgYXMgYmFuZHdpZHRoIGFuZCBoYW5kbGUgdGhpcyBjb3JyZWN0bHkuCgkgIEFsc28gaGFuZGxlIGEgYmFuZHdpZHRoIG9mIHJhdGUvMiBwcm9wZXJseS4KCSAgKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplcm5iYW5kcy5jOgoJICAoZ3N0X2lpcl9lcXVhbGl6ZXJfbmJhbmRzX2NsYXNzX2luaXQpOgoJICBNYWtlIGl0IHBvc3NpYmxlIHRvIGdlbmVyYXRlIGEgTi1iYW5kIGVxdWFsaXplciB3aXRoIDEgYmFuZHMuIFRoZQoJICBwcmV2aW91cyBsaW1pdCBvZiAyIHdhcyBjYXVzZWQgYnkgYSBub3dhZGF5cyByZXBsYWNlZCBjYWxjdWxhdGlvbgoJICBkb2luZyBhIGRpdmlzaW9uIGJ5IHplcm8gaWYgbnVtYmVyIG9mIGJhbmRzIHdhcyAxLgoKMjAwNy0xMS0wMiAyMToxNjowOSArMDAwMCAgT2xlIEFuZHLDqSBWYWRsYSBSYXZuw6VzIDxvbGUuYW5kcmUucmF2bmFzQHRhbmRiZXJnLmNvbT4KCgkgIEZpeCBpbmNsdWRlcyBmb3IgTVNWQyBhbmQgR0xpYi0yLjE0LjAgKCM0OTIzODgpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IE9sZSBBbmRyw6kgVmFkbGEgUmF2bsOlcyAgPG9sZS5hbmRyZS5yYXZuYXNAdGFuZGJlcmcuY29tPgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBnc3QvdWRwL2dzdGR5bnVkcHNpbmsuYzoKCSAgKiBnc3QvdWRwL2dzdGR5bnVkcHNpbmsuaDoKCSAgKiBnc3QvdWRwL2dzdG11bHRpdWRwc2luay5jOgoJICAqIGdzdC91ZHAvZ3N0bXVsdGl1ZHBzaW5rLmg6CgkgICogZ3N0L3VkcC9nc3R1ZHBzaW5rLmM6CgkgICogZ3N0L3VkcC9nc3R1ZHBzaW5rLmg6CgkgIEZpeCBpbmNsdWRlcyBmb3IgTVNWQyBhbmQgR0xpYi0yLjE0LjAgKCM0OTIzODgpLgoJICAqIGdzdC91ZHAvZ3N0dWRwc3JjLmM6IChnc3RfdWRwc3JjX3N0YXJ0KToKCSAgTm8gbW9yZSBwaXBlIGRlZmluZSBzaW5jZSBHTGliLTIuMTQuMCwgbmVlZCB0byB1c2UgX3BpcGUoKSBkaXJlY3RseS4KCjIwMDctMTEtMDIgMTc6MjM6NDMgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBnc3QvbGF3L211bGF3LWRlY29kZS4qOiBDYWxjdWxhdGUgb3V0Z29pbmcgYnVmZmVyIGR1cmF0aW9uIGlmIGluY29taW5nIGJ1ZmZlciBkaWRuJ3QgaGF2ZSBhIHZhbGlkIGR1cmF0aW9uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbGF3L211bGF3LWRlY29kZS5jOiAobXVsYXdkZWNfc2lua19zZXRjYXBzKSwKCSAgKGdzdF9tdWxhd2RlY19jaGFpbik6CgkgICogZ3N0L2xhdy9tdWxhdy1kZWNvZGUuaDoKCSAgQ2FsY3VsYXRlIG91dGdvaW5nIGJ1ZmZlciBkdXJhdGlvbiBpZiBpbmNvbWluZyBidWZmZXIgZGlkbid0IGhhdmUgYQoJICB2YWxpZCBkdXJhdGlvbi4KCjIwMDctMTAtMzAgMjE6Mzc6NDkgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9lcXVhbGl6ZXIvOiBBZGQgc21hbGwgZGVtbyBhcHBsaWNhdGlvbiBiYXNlZCBvbiB0aGUgc3BlY3RydW0gZGVtbyBhcHBsaWNhdGlvbnMgdGhhdCBnZXRzIHdoaXRlIG5vaXNlIGFzIGlucHV0LCBwdS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZXF1YWxpemVyL01ha2VmaWxlLmFtOgoJICAqIGdzdC9lcXVhbGl6ZXIvZGVtby5jOiAob25fd2luZG93X2Rlc3Ryb3kpLCAob25fY29uZmlndXJlX2V2ZW50KSwKCSAgKG9uX2dhaW5fY2hhbmdlZCksIChvbl9iYW5kd2lkdGhfY2hhbmdlZCksIChvbl9mcmVxX2NoYW5nZWQpLAoJICAoZHJhd19zcGVjdHJ1bSksIChtZXNzYWdlX2hhbmRsZXIpLCAobWFpbik6CgkgIEFkZCBzbWFsbCBkZW1vIGFwcGxpY2F0aW9uIGJhc2VkIG9uIHRoZSBzcGVjdHJ1bSBkZW1vIGFwcGxpY2F0aW9ucwoJICB0aGF0IGdldHMgd2hpdGUgbm9pc2UgYXMgaW5wdXQsIHB1c2hlcyBpdCB0aHJvdWdoIGFuIGVxdWFsaXplciBhbmQKCSAgcGFpbnRzIHRoZSBzcGVjdHJ1bS4gRm9yIGV2ZXJ5IGVxdWFsaXplciBiYW5kIGl0J3MgcG9zc2libGUgdG8gc2V0CgkgIGdhaW4sIGJhbmR3aWR0aCBhbmQgZnJlcXVlbmN5LgoJICAqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyLmM6IChzZXR1cF9maWx0ZXIpOgoJICBBZGQgc29tZSBndWFyZGluZyBhZ2FpbnN0IHRvbyBsYXJnZSBvciB0b28gc21hbGwgZnJlcXVlbmNpZXMgYW5kCgkgIGJhbmR3aWR0aHMuIEFsc28gaW1wcm92ZSBkZWJ1Z2dpbmcgYSBiaXQuCgoyMDA3LTEwLTMwIDIxOjE4OjQ1ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplci5jOiBSZXBsYWNlIGZpbHRlcnMgd2l0aCBhIGJpdCBiZXR0ZXIgZmlsdGVycyBmb3Igd2hpY2ggd2UgY2FuIGFjdHVhbGx5IGZpbmQgZG9jdW1lbnRhdGkuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIuYzoKCSAgKGdzdF9paXJfZXF1YWxpemVyX2JhbmRfc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9paXJfZXF1YWxpemVyX2JhbmRfZ2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9paXJfZXF1YWxpemVyX2JhbmRfY2xhc3NfaW5pdCksIChhcmdfdG9fc2NhbGUpLAoJICAoc2V0dXBfZmlsdGVyKSwgKGdzdF9paXJfZXF1YWxpemVyX2NvbXB1dGVfZnJlcXVlbmNpZXMpOgoJICBSZXBsYWNlIGZpbHRlcnMgd2l0aCBhIGJpdCBiZXR0ZXIgZmlsdGVycyBmb3Igd2hpY2ggd2UgY2FuIGFjdHVhbGx5CgkgIGZpbmQgZG9jdW1lbnRhdGlvbiwgd2hpY2ggZG9uJ3QgY2hhbmdlIGFueXRoaW5nIG9uIHplcm8gZ2FpbiwgZXRjLgoJICBNYWtlIHRoZSBmcmVxdWVuY3kgcHJvcGVydHkgb2YgdGhlIGJhbmRzIHdyaXRhYmxlLCByZW5hbWUgdGhlCgkgIGJhbmQtd2lkdGggcHJvcGVydHkgdG8gYmFuZHdpZHRoIGFuZCBjaGFuZ2UgdGhlCW1lYW5pbmcgdG8gdGhlCgkgIGZyZXF1ZW5jeSBkaWZmZXJlbmNlIGJldHdlZW4gYmFuZGVkZ2VzLCBjaGFuZ2UgdGhlIG1lYW5pbmcgb2YgdGhlCgkgIGdhaW4gcHJvcGVydHkgdG8gZEIgaW5zdGVhZCBvZiBhIHdlaXJkIHNjYWxlIGJldHdlZW4gLTEJYW5kIDEgdGhhdAoJICBoYXMgbm8gcmVhbCBtZWFuaW5nLgoKMjAwNy0xMC0zMCAxMjoyOTo0NiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogU21hcnRlciBjb21iaW5lX2Zsb3cgY29kZSB0aGF0IGFsc28gZGVhbHMgd2l0aCBkb3duc3RyZWFtIGVsZW1lbnRzIHJldHVybmluZyBVTkVYUEVDVEVEIHdoZW4gdC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChnc3RfcXRkZW11eF9hY3RpdmF0ZV9zZWdtZW50KSwKCSAgKGdzdF9xdGRlbXV4X2NvbWJpbmVfZmxvd3MpLCAoZ3N0X3F0ZGVtdXhfbG9vcF9zdGF0ZV9tb3ZpZSk6CgkgIFNtYXJ0ZXIgY29tYmluZV9mbG93IGNvZGUgdGhhdCBhbHNvIGRlYWxzIHdpdGggZG93bnN0cmVhbSBlbGVtZW50cwoJICByZXR1cm5pbmcgVU5FWFBFQ1RFRCB3aGVuIHRoZXkgcmVjZWl2ZSBkYXRhIG91dCBvZiB0aGUgc2VnbWVudAoJICBib3VuZGFyaWVzLiBGaXhlcyAjNDkxMzA1LgoKMjAwNy0xMC0yNyAxNjowNDo0OCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9pbnRlcmxlYXZlL2ludGVybGVhdmUuYzogTGV0J3Mgbm90IGNhbGwgZXZlcnkgcmVxdWVzdCBwYWQgd2UgY3JlYXRlICJzaW5rJWQiLCB0aGF0J2xsIGNyZWF0ZSBwcm9ibGVtcyBpZiB0aGVyZSdzIC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvaW50ZXJsZWF2ZS9pbnRlcmxlYXZlLmM6IChnc3RfaW50ZXJsZWF2ZV9yZXF1ZXN0X25ld19wYWQpOgoJICBMZXQncyBub3QgY2FsbCBldmVyeSByZXF1ZXN0IHBhZCB3ZSBjcmVhdGUgInNpbmslZCIsIHRoYXQnbGwKCSAgY3JlYXRlIHByb2JsZW1zIGlmIHRoZXJlJ3MgdG8gYmUgbW9yZSB0aGFuIG9uZSBwYWQuIEZpeGVzICM0OTA2ODIuCgkgICogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvLmN2c2lnbm9yZToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9pbnRlcmxlYXZlLmM6CgkgIEFkZCB1bml0IHRlc3QgZm9yIHRoZSBhYm92ZS4KCjIwMDctMTAtMjYgMTU6MDM6MDYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmM6IEZpeCAndW51c2VkIHZhcmlhYmxlJyBjb21waWxlciB3YXJuaW5nIHdoZW4gY29tcGlsaW5nIGFnYWluc3Qgb2xkZXIga2VybmVsIGhlYWRlcnMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuYzoKCSAgRml4ICd1bnVzZWQgdmFyaWFibGUnIGNvbXBpbGVyIHdhcm5pbmcgd2hlbiBjb21waWxpbmcgYWdhaW5zdAoJICBvbGRlciBrZXJuZWwgaGVhZGVycy4KCjIwMDctMTAtMjYgMTI6MTA6NDMgKzAwMDAgIENocmlzdGlhbiBTY2hhbGxlciA8dXJhZXVzQGdub21lLm9yZz4KCgkqIGdzdC1wbHVnaW5zLWdvb2Quc3BlYy5pbjoKCSAgdXBkYXRlIHNwZWMgZmlsZQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgdXBkYXRlIHNwZWMgZmlsZQoKMjAwNy0xMC0yNSAyMzo0Mjo1MiArMDAwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJICBJbXByb3ZlIGRvY3VtZW50YXRpb24sIHdyaXRlIHNvbWUgdGVzdHMgZm9yIG11bHRpZmlsZXNyYy9zaW5rIGZvciB1cGNvbWluZyAtPmdvb2QgcmV2aWV3LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbXVsdGlmaWxlL01ha2VmaWxlLmFtOgoJICAqIGdzdC9tdWx0aWZpbGUvZ3N0bXVsdGlmaWxlc2luay5jOgoJICAqIGdzdC9tdWx0aWZpbGUvZ3N0bXVsdGlmaWxlc3JjLmM6CgkgICogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvbXVsdGlmaWxlLmM6CgkgIEltcHJvdmUgZG9jdW1lbnRhdGlvbiwgd3JpdGUgc29tZSB0ZXN0cyBmb3IgbXVsdGlmaWxlc3JjL3NpbmsKCSAgZm9yIHVwY29taW5nIC0+Z29vZCByZXZpZXcuCgoyMDA3LTEwLTI1IDE1OjAwOjE1ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L3RhZ2xpYi9nc3RpZDN2Mm11eC5jYyAoYWRkX2Z1bmNzKTogTWFwIG5ldyBTT1JUTkFNRSB0YWdzIHRvIElEM3YyIFRTT1AsIFRTT0EgYW5kIFRTT1QgZnJhbWVzICgjNDE0NTM5KS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3RhZ2xpYi9nc3RpZDN2Mm11eC5jYyAoYWRkX2Z1bmNzKToKCSAgTWFwIG5ldyBTT1JUTkFNRSB0YWdzIHRvIElEM3YyIFRTT1AsIFRTT0EgYW5kIFRTT1QgZnJhbWVzICgjNDE0NTM5KS4KCjIwMDctMTAtMjQgMDc6MDE6NDcgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy9zaW1wbGUtbGF1bmNoLWxpbmVzLmM6IEltcHJvdmUgdGhlIHRlc3RzIGEgbGl0dGxlIG1vcmUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy9zaW1wbGUtbGF1bmNoLWxpbmVzLmM6CgkgIEltcHJvdmUgdGhlIHRlc3RzIGEgbGl0dGxlIG1vcmUuCgoyMDA3LTEwLTIzIDA4OjM4OjUwICswMDAwICBZdW4gWmhlbmcgSHUgPHl1bnpoZW5nLmh1QGdtYWlsLmNvbT4KCgkgIHN5cy9vc3hhdWRpby9nc3Rvc3hhdWRpb3NyYy5jOiBVc2UgZGVmYXVsdCBpbnB1dCBkZXZpY2UgaW5zdGVhZCBvZiBkZWZhdWx0IG91dHB1dCBkZXZpY2UgYW5kIG9ubHkgbWVtY3B5IGFjdHVhbCBhdmFpbC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgcGF0Y2ggYnk6IFl1biBaaGVuZyBIdQoJICAqIHN5cy9vc3hhdWRpby9nc3Rvc3hhdWRpb3NyYy5jOgoJICBVc2UgZGVmYXVsdCBpbnB1dCBkZXZpY2UgaW5zdGVhZCBvZiBkZWZhdWx0IG91dHB1dCBkZXZpY2UgYW5kCgkgIG9ubHkgbWVtY3B5IGFjdHVhbCBhdmFpbGFibGUgYnl0ZXMuCgoyMDA3LTEwLTIyIDE5OjE0OjA4ICswMDAwICBFZGdhcmQgTGltYSA8ZWRnYXJkLmxpbWFAaW5kdC5vcmcuYnI+CgoJICBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmM6IEZpeGVzICJ2NGwyc3JjICEgcXVldWUgISB4dmltYWdlc2luayIuIFRoZSBxdWV1ZSBhc2sgZm9yIGJ1ZmZlciB0b28gZWFybHkuIEl0IGlzIHRlbXBvcmFyeSAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5jOiAoZ3N0X3Y0bDJzcmNfZ3JhYl9mcmFtZSk6CgkgIEZpeGVzICJ2NGwyc3JjICEgcXVldWUgISB4dmltYWdlc2luayIuIFRoZSBxdWV1ZSBhc2sgZm9yIGJ1ZmZlciB0b28KCSAgZWFybHkuIEl0IGlzIHRlbXBvcmFyeSB1bnRpbCB3ZSBmaW5kIHNvbWV0aGluZyBiZXR0ZXIuCgoyMDA3LTEwLTIyIDE2OjQ0OjQ4ICswMDAwICBUb21taSBNecO2aMOkbmVuIDxleHQtdG9tbWkubXlvaGFuZW5Abm9raWEuY29tPgoKCSAgZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiBGaXggcmFjZSB3aGVuIHBhdXNpbmcgYSBSVFNQIHN0cmVhbSBpbiBpbnRlcmxlYXZlZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBUb21taSBNecO2aMOkbmVuICA8ZXh0LXRvbW1pIGRvdCBteW9oYW5lbiBhdCBub2tpYSBkb3QgY29tPgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogKGdzdF9ydHNwc3JjX2xvb3BfaW50ZXJsZWF2ZWQpOgoJICBGaXggcmFjZSB3aGVuIHBhdXNpbmcgYSBSVFNQIHN0cmVhbSBpbiBpbnRlcmxlYXZlZC4KCSAgRml4ZXMgIzQ3NTc4NC4KCjIwMDctMTAtMjIgMDk6NTM6MTYgKzAwMDAgIFBldGVyIEtqZWxsZXJzdGVkdCA8cGtqQGF4aXMuY29tPgoKCSAgZ3N0L3J0cC9nc3RydHBtcDR2cGF5LmM6IFVzZSBjb3JyZWN0IHVucmVmIGZ1bmN0aW9uIGZvciBidWZmZXJzLiAjNDg4ODQ0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFBldGVyIEtqZWxsZXJzdGVkdCA8cGtqIGF0IGF4aXMgY29tPgoJICAqIGdzdC9ydHAvZ3N0cnRwbXA0dnBheS5jOiAoZ3N0X3J0cF9tcDR2X3BheV9maW5hbGl6ZSk6CgkgIFVzZSBjb3JyZWN0IHVucmVmIGZ1bmN0aW9uIGZvciBidWZmZXJzLiAjNDg4ODQ0LgoKMjAwNy0xMC0xOSAxOTozMzoxNiArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgQWRkIHNvbWUgZGVidWcgYW5kIHN5bmMgdGVzdHMgd2l0aCB0aGUgZml4LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXZpL2dzdGF2aW11eC5jOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F2aW11eC5jOgoJICBBZGQgc29tZSBkZWJ1ZyBhbmQgc3luYyB0ZXN0cyB3aXRoIHRoZSBmaXguCgoyMDA3LTEwLTE4IDE3OjA0OjE0ICswMDAwICBMYXVyZW50IEdsYXlhbCA8c3BnbGVnbGVAeWFob28uZnI+CgoJICBnc3QvdWRwL2dzdHVkcHNyYy5jOiBXaGVuIHRoZSBzb2NrZXQgaXMgdXNlZCBieSB0aGUgYXBwIGZvciBvdGhlciBwdXJwb3NlcywgZG9uJ3QgZ2VuZXJhdGUgYW4gZXJyb3IgaWYgdGhlcmUgaXMgYWN0aXYuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEJhc2VkIG9uIHBhdGNoIGJ5OiBMYXVyZW50IEdsYXlhbCAgPHNwZ2xlZ2xlIHlhaG9vIGZyPgoJICAqIGdzdC91ZHAvZ3N0dWRwc3JjLmM6IChnc3RfdWRwc3JjX2NyZWF0ZSk6CgkgIFdoZW4gdGhlIHNvY2tldCBpcyB1c2VkIGJ5IHRoZSBhcHAgZm9yIG90aGVyIHB1cnBvc2VzLCBkb24ndCBnZW5lcmF0ZSBhbgoJICBlcnJvciBpZiB0aGVyZSBpcyBhY3RpdmF0eSBvbiB0aGUgc29ja2V0IHRoYXQgaXMgbm90IGRhdGEgcmVsYXRlZC4KCSAgRml4ZXMgIzQ4NzQ4OC4KCjIwMDctMTAtMTggMTQ6NTU6MzggKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmM6IEFkZCBzb21lIG1vcmUgZGVidWcgaW5mby4gR2VuZXJhdGUgYW4gZXJyb3Igd2hlbiB3ZSBydW4gb3V0IG9mIGJ1ZmZlcnMgZm9yIHNvbWUgcmVhc29uLiBTZWUuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5jOiAoZ3N0X3Y0bDJfYnVmZmVyX2ZpbmFsaXplKSwKCSAgKGdzdF92NGwyc3JjX2dyYWJfZnJhbWUpOgoJICBBZGQgc29tZSBtb3JlIGRlYnVnIGluZm8uIEdlbmVyYXRlIGFuIGVycm9yIHdoZW4gd2UgcnVuIG91dCBvZiBidWZmZXJzCgkgIGZvciBzb21lIHJlYXNvbi4gU2VlICM0ODA1NTcuCgoyMDA3LTEwLTE4IDA4OjI3OjU2ICswMDAwICBBbmRlcnMgU2thcmdyZW4gPGFuZGVycy5za2FyZ3JlbkBheGlzLmNvbT4KCgkgIGdzdC9ydHAvZ3N0cnRwaDI2NHBheS5jOiBTZXQgbWFya2VyIGJpdCBjb3JyZWN0bHkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogQW5kZXJzIFNrYXJncmVuIDxhbmRlcnMgZG90IHNrYXJncmVuIGF0IGF4aXMgZG90IGNvbT4KCSAgKiBnc3QvcnRwL2dzdHJ0cGgyNjRwYXkuYzogKGdzdF9ydHBfaDI2NF9wYXlfaGFuZGxlX2J1ZmZlcik6CgkgIFNldCBtYXJrZXIgYml0IGNvcnJlY3RseS4KCjIwMDctMTAtMTggMDY6MjA6MjEgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyLmM6IEFkZCBhIG1pc3NpbmcgYnJlYWsuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyLmM6CgkgIChnc3RfaWlyX2VxdWFsaXplcl9iYW5kX3NldF9wcm9wZXJ0eSk6CgkgIEFkZCBhIG1pc3NpbmcgYnJlYWsuCgoyMDA3LTEwLTE4IDA2OjE0OjQyICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplci4qOiBNb3ZlIGJhbmR3aWR0aCBwcm9wZXJ0eSB0byB0aGUgc2VwYXJhdGUgYmFuZHMgYW5kIGFkZCBmbG9hdDY0IHN1cHBvcnQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyLmM6CgkgIChnc3RfaWlyX2VxdWFsaXplcl9iYW5kX3NldF9wcm9wZXJ0eSksCgkgIChnc3RfaWlyX2VxdWFsaXplcl9iYW5kX2dldF9wcm9wZXJ0eSksCgkgIChnc3RfaWlyX2VxdWFsaXplcl9iYW5kX2NsYXNzX2luaXQpLCAoZ3N0X2lpcl9lcXVhbGl6ZXJfYmFuZF9pbml0KSwKCSAgKGdzdF9paXJfZXF1YWxpemVyX2JhbmRfZ2V0X3R5cGUpLCAoZ3N0X2lpcl9lcXVhbGl6ZXJfY2xhc3NfaW5pdCksCgkgIChzZXR1cF9maWx0ZXIpLCAoZ3N0X2lpcl9lcXVhbGl6ZXJfc2V0dXApOgoJICAqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyLmg6CgkgIE1vdmUgYmFuZHdpZHRoIHByb3BlcnR5IHRvIHRoZSBzZXBhcmF0ZSBiYW5kcyBhbmQgYWRkIGZsb2F0NjQgc3VwcG9ydC4KCjIwMDctMTAtMTcgMTU6MDg6MDIgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IFVzZSBhbGxvd2VkIG5hbWUgZm9yIHRoZSBHc3RTdHJ1Y3R1cmUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogKGdzdF9ydHNwc3JjX29wZW4pOgoJICBVc2UgYWxsb3dlZCBuYW1lIGZvciB0aGUgR3N0U3RydWN0dXJlLgoKMjAwNy0xMC0xNyAxMTo0NzoyMyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIFVzZSBuZXcgZ3N0X2J1c19wb3BfZmlsdGVyZWQoKS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2djb25mL2dzdHN3aXRjaHNpbmsuYzoKCSAgKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvYXVkaW9zaW5rLmM6CgkgIFVzZSBuZXcgZ3N0X2J1c19wb3BfZmlsdGVyZWQoKS4KCjIwMDctMTAtMTMgMTI6MDM6NDQgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBzeXMvdjRsMi86IFdoZW4gcHJvYmluZyB0aGUgZm9ybWF0cyBhbmQgc2l6ZXMgYSBjYW1lcmEgc3VwcG9ydHMsIG1ha2Ugc3VyZSB0aGUgYmVzdCBvbmVzIChoaWdoZXN0IHJlc29sdXRpb24sIHByZWZlcmUuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJICAqIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuYzoKCSAgV2hlbiBwcm9iaW5nIHRoZSBmb3JtYXRzIGFuZCBzaXplcyBhIGNhbWVyYSBzdXBwb3J0cywgbWFrZQoJICBzdXJlIHRoZSBiZXN0IG9uZXMgKGhpZ2hlc3QgcmVzb2x1dGlvbiwgcHJlZmVyZWQgZm9ybWF0KQoJICBlbmQgdXAgYXQgdGhlIGJlZ2lubmluZyBvZiB0aGUgcHJvYmVkIGNhcHMgYW5kIHRoZSBsZXNzCgkgIGRlc2lyYWJsZSBvbmVzIGF0IHRoZSBlbmQuICBUaGlzIGlzIGltcG9ydGFudCBiZWNhdXNlIHRoZQoJICBvcmRlciB3aXRoaW4gdGhlIGNhcHMgbWF0dGVycyBmb3IgdGhpbmdzIGxpa2UgZml4YXRpb24gYW5kCgkgIG5lZ290aWF0aW9uLCBpZS4gd2hhdCBmb3JtYXQgaXMgY2hvc2VuIGluIHRoZSBlbmQuCgkgIFdpdGggcmVjZW50IGtlcm5lbHMsIHRoZSBjdXJyZW50IHByb2JpbmcgY29kZSB3aWxsIGVuZCB1cAoJICBxdWVyeWluZyB0aGUgc3VwcG9ydGVkIHNpemVzIGZyb20gbG93ZXN0IHJlc29sdXRpb24gdG8KCSAgaGlnaGVzdCByZXNvbHV0aW9uLCBhZGRpbmcgdGhlbSB0byB0aGUgcHJvYmVkIGNhcHMgaW4gdGhhdAoJICBvcmRlciwgcmVzdWx0aW5nIHRvIHY0bDJzcmMgZml4YXRpbmcgdG8gdGhlIGxvd2VzdCBwb3NzaWJsZQoJICByZXNvbHV0aW9uIGlmIGRvd25zdHJlYW0gZG9lcyBub3QgZXhwcmVzcyBhIHNpemUgcHJlZmVyZW5jZS4KCSAgQWxzbyBtYWtlIHVwIGEgc29tZXdoYXQgcmFuZG9tIHJhbmtpbmcgb2YgcHJlZmVyZWQgb3V0cHV0CgkgIGZvcm1hdHMgZm9yIHRoZSBzYW1lIHJlYXNvbi4gRml4ZXMgIzQ4NTgyOC4KCjIwMDctMTAtMTEgMTc6NTU6MjkgKzAwMDAgIEphc29uIEtpdmxpZ2huIDxqa2l2bGlnaG5AZ21haWwuY29tPgoKCSAgZ3N0L2lkM2RlbXV4L2lkM3YyZnJhbWVzLmM6IEV4dHJhY3QgbGljZW5zZS9jb3B5cmlnaHQgVVJJcyBmcm9tIElEM3YyIFdDT1AgZnJhbWVzIChGaXhlcyAjNDQ3MDAwKS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEJhc2VkIG9uIHBhdGNoIGJ5OiBKYXNvbiBLaXZsaWdobiAgPGpraXZsaWdobiBnbWFpbCBjb20+CgkgICogZ3N0L2lkM2RlbXV4L2lkM3YyZnJhbWVzLmM6CgkgIEV4dHJhY3QgbGljZW5zZS9jb3B5cmlnaHQgVVJJcyBmcm9tIElEM3YyIFdDT1AgZnJhbWVzCgkgIChGaXhlcyAjNDQ3MDAwKS4KCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9pZDNkZW11eC5jOgoJICAqIHRlc3RzL2ZpbGVzL01ha2VmaWxlLmFtOgoJICAqIHRlc3RzL2ZpbGVzL2lkMy00NDcwMDAtd2NvcC50YWc6CgkgIEFkZCBzaW1wbGUgdW5pdCB0ZXN0LgoKMjAwNy0xMC0xMSAxNjo0MTo0NCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC90YWdsaWIvZ3N0aWQzdjJtdXguY2M6IEFkZCBzdXBwb3J0IGZvciBsaWNlbnNlL2NvcHlyaWdodCBVUkkgdGFncyAoSUQzdjIgV0NPUCBmcmFtZSkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC90YWdsaWIvZ3N0aWQzdjJtdXguY2M6CgkgIEFkZCBzdXBwb3J0IGZvciBsaWNlbnNlL2NvcHlyaWdodCBVUkkgdGFncyAoSUQzdjIgV0NPUCBmcmFtZSkuCgkgIFByZXJlcXVpc2l0ZSBmb3IgIzQ0NzAwMC4KCjIwMDctMTAtMDggMTc6NDQ6NDIgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiBGaXggY29tcGlsZXIgd2FybmluZyBieSB1c2luZyBHU1RfQ0xPQ0tfVElNRV9OT05FIHRvIGluaXRpYWxpc2UgYSBHc3RDbG9ja1RpbWUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogKGdzdF9ydHNwc3JjX2ZsdXNoKToKCSAgRml4IGNvbXBpbGVyIHdhcm5pbmcgYnkgdXNpbmcgR1NUX0NMT0NLX1RJTUVfTk9ORSB0byBpbml0aWFsaXNlCgkgIGEgR3N0Q2xvY2tUaW1lLgoKMjAwNy0xMC0wOCAxMTo1ODo1MSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogTW9yZSBzZWVraW5nIGZpeGVzLCBtb3N0bHkgcGFzc2luZyBhcm91bmQgdGhlIG5ldyBwbGF5YmFjayBzZWdtZW50IGluIG9yZGVyIHRvIGNvbmZpZ3VyZSBpdCBwci4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IChnc3RfcnRzcHNyY19mbHVzaCksCgkgIChnc3RfcnRzcHNyY19kb19zZWVrKSwgKGdzdF9ydHNwc3JjX3BlcmZvcm1fc2VlayksCgkgIChnc3RfcnRzcHNyY19jb25maWd1cmVfY2FwcyksIChnc3RfcnRzcHNyY19sb29wX3VkcCksCgkgIChnc3RfcnRzcHNyY19wYXJzZV9yYW5nZSksIChnc3RfcnRzcHNyY19vcGVuKSwgKGdzdF9ydHNwc3JjX3BsYXkpLAoJICAoZ3N0X3J0c3BzcmNfY2hhbmdlX3N0YXRlKToKCSAgTW9yZSBzZWVraW5nIGZpeGVzLCBtb3N0bHkgcGFzc2luZyBhcm91bmQgdGhlIG5ldyBwbGF5YmFjayBzZWdtZW50IGluCgkgIG9yZGVyIHRvIGNvbmZpZ3VyZSBpdCBwcm9wZXJseS4KCSAgQWxzbyByZXNldCBiYXNlX3RpbWUgb2YgdWRwIHNvdXJjZXMgd2hlbiBzZXR0aW5nIHRoZW0gYmFjayB0byBQTEFZSU5HIGFzCgkgIGEgdGVtcG9yYXJ5IGhhY2sgdW50aWwgY29yZSBzdXBwb3J0cyBzZWVrIGluIGxpdmUgc291cmNlcyBwcm9wZXJseS4KCjIwMDctMTAtMDggMTA6MzQ6MDMgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwL2dzdHJ0cG1wNGFkZXBheS5jOiBGaXggY2FwcyBhcyB0byBub3QgY29uZnVzZSBhdXRvcGx1Z2dlcnMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHAvZ3N0cnRwbXA0YWRlcGF5LmM6CgkgIEZpeCBjYXBzIGFzIHRvIG5vdCBjb25mdXNlIGF1dG9wbHVnZ2Vycy4KCjIwMDctMTAtMDYgMTY6MTM6MTQgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvaWQzZGVtdXgvOiBQb3J0IElEMyB0YWcgZGVtdXhlciBvdmVyIHRvIHRoZSBuZXcgR3N0VGFnRGVtdXggaW4gLWJhc2UgKG5vdyB3b3VsZCBiZSBhIGdvb2QgdGltZSB0byB0ZXN0IHJlLWltcG9ydGkuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2lkM2RlbXV4L2dzdGlkM2RlbXV4LmM6CgkgICogZ3N0L2lkM2RlbXV4L2dzdGlkM2RlbXV4Lmg6CgkgICogZ3N0L2lkM2RlbXV4L2lkM3RhZ3MuYzoKCSAgKiBnc3QvaWQzZGVtdXgvaWQzdGFncy5oOgoJICAqIGdzdC9pZDNkZW11eC9pZDN2MmZyYW1lcy5jOgoJICBQb3J0IElEMyB0YWcgZGVtdXhlciBvdmVyIHRvIHRoZSBuZXcgR3N0VGFnRGVtdXggaW4gLWJhc2UKCSAgKG5vdyB3b3VsZCBiZSBhIGdvb2QgdGltZSB0byB0ZXN0IHJlLWltcG9ydGluZyB5b3VyIG11c2ljCgkgIGNvbGxlY3Rpb24pLgoKMjAwNy0xMC0wNiAxNToxMzowOSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9hcGV0YWcvOiBQb3J0IEFQRSB0YWcgZGVtdXhlciBvdmVyIHRvIHRoZSBuZXcgR3N0VGFnRGVtdXggaW4gLWJhc2UuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hcGV0YWcvTWFrZWZpbGUuYW06CgkgICogZ3N0L2FwZXRhZy9nc3RhcGVkZW11eC5jOgoJICAqIGdzdC9hcGV0YWcvZ3N0YXBlZGVtdXguaDoKCSAgKiBnc3QvYXBldGFnL2dzdHRhZ2RlbXV4LmM6CgkgICogZ3N0L2FwZXRhZy9nc3R0YWdkZW11eC5oOgoJICBQb3J0IEFQRSB0YWcgZGVtdXhlciBvdmVyIHRvIHRoZSBuZXcgR3N0VGFnRGVtdXggaW4gLWJhc2UuCgoyMDA3LTEwLTA1IDEzOjE4OjE5ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiBJbXByb3ZlIGZsdXNoaW5nIGJlaGF2aW91ci4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiAoZ3N0X3J0c3BzcmNfZmx1c2gpLAoJICAoZ3N0X3J0c3BzcmNfcGVyZm9ybV9zZWVrKSwgKGdzdF9ydHNwc3JjX2hhbmRsZV9zcmNfZXZlbnQpLAoJICAoZ3N0X3J0c3BzcmNfaGFuZGxlX2ludGVybmFsX3NyY19xdWVyeSksCgkgIChnc3RfcnRzcHNyY19oYW5kbGVfc3JjX3F1ZXJ5KSwgKG5ld19zZXNzaW9uX3BhZCksCgkgIChnc3RfcnRzcHNyY19zdHJlYW1fY29uZmlndXJlX3RjcCksCgkgIChnc3RfcnRzcHNyY19zdHJlYW1fY29uZmlndXJlX3RyYW5zcG9ydCksCgkgIChnc3RfcnRzcHNyY19sb29wX3NlbmRfY21kKToKCSAgSW1wcm92ZSBmbHVzaGluZyBiZWhhdmlvdXIuCgkgIFNldCBzdGF0ZSBvZiB0aGUgdWRwIHNvdXJjZXMgdG8gUEFVU0UvUExBWUlORyBjb3JyZWN0bHkuCgkgIEhhbmRsZSBldmVudHMgYW5kIHF1ZXJpZXMgZm9yIFVEUCBhbmQgVENQIHRyYW5zcG9ydCBub3cuCgoyMDA3LTEwLTA0IDA3OjI5OjQ4ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3QvcnRwLzogQWRkIGxvZyBjYXRlZ29yeS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cC9nc3RydHBnc21kZXBheS5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwZ3NtcGF5LmM6CgkgIEFkZCBsb2cgY2F0ZWdvcnkuCgoyMDA3LTEwLTA0IDA3OjI0OjAyICswMDAwICBUaW1vIEhvdHRpIDxUaW1vLkhvdHRpQHN5c29wZW5kaWdpYS5jb20+CgoJICB0ZXN0cy9jaGVjay86IEFkZCB1bml0IHRlc3RzIGZvciBwYXlsb2FkZXJzL2RlcGF5bG9hZGVycy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBUaW1vIEhvdHRpIDxUaW1vLkhvdHRpQHN5c29wZW5kaWdpYS5jb20+CgkgICogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgICogdGVzdHMvY2hlY2svcGlwZWxpbmVzL3NpbXBsZS1sYXVuY2gtbGluZXMuYzoKCSAgQWRkIHVuaXQgdGVzdHMgZm9yIHBheWxvYWRlcnMvZGVwYXlsb2FkZXJzLgoKMjAwNy0xMC0wMiAxMDo0OTowMyArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L2F2aS9nc3RhdmltdXguKjogQWxzbyBzYXZlIGNvZGVjIGRhdGEgZm9yIGF1ZGlvIHN0cmVhbXMuIEZpeGVzICM0ODI0OTUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdmkvZ3N0YXZpbXV4LmM6CgkgICogZ3N0L2F2aS9nc3RhdmltdXguaDoKCSAgQWxzbyBzYXZlIGNvZGVjIGRhdGEgZm9yIGF1ZGlvIHN0cmVhbXMuIEZpeGVzICM0ODI0OTUuCgoyMDA3LTEwLTAyIDEwOjIzOjA0ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3QvYXZpL2dzdGF2aW11eC5jOiBGaXggIkluZGV4IGVudHJ5IGhhcyBpbnZhbGlkIHN0cmVhbSBuciAxIi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2F2aS9nc3RhdmltdXguYzoKCSAgRml4ICJJbmRleCBlbnRyeSBoYXMgaW52YWxpZCBzdHJlYW0gbnIgMSIuCgkgIEFkZCBzdXBwb3J0IGZvciBtdXhpbmcgYWFjIC0gd29yayBpbiBwcm9ncmVzcyAoc2VlICM0ODI0OTUpLgoKMjAwNy0xMC0wMSAxNjozNDo1NiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHNwL2dzdHJ0c3BzcmMuKjogUGFyc2UgYmFuZHdpZHRoIG1vZGlmaWVycywgdGhleSBhcmUgbm90IHlldCBjb25maWd1cmVkIGluIHRoZSBzZXNzaW9uIG1hbmFnZXIgYmVjYXVzZSB3ZSBkb24ndC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IChnc3RfcnRzcHNyY19nZXRfYmFuZHdpZHRoKSwKCSAgKGdzdF9ydHNwc3JjX2NvbGxlY3RfYmFuZHdpZHRoKSwgKGdzdF9ydHNwc3JjX2NyZWF0ZV9zdHJlYW0pLAoJICAoZ3N0X3J0c3BzcmNfbWVkaWFfdG9fY2FwcyksIChnc3RfcnRzcHNyY19sb29wX2ludGVybGVhdmVkKToKCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmg6CgkgIFBhcnNlIGJhbmR3aWR0aCBtb2RpZmllcnMsIHRoZXkgYXJlIG5vdCB5ZXQgY29uZmlndXJlZCBpbiB0aGUgc2Vzc2lvbgoJICBtYW5hZ2VyIGJlY2F1c2Ugd2UgZG9uJ3QgaGF2ZSBhbiBBUEkgZm9yIHRoYXQgeWV0LgoKMjAwNy0xMC0wMSAxMzo1NzoyOCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogVXNlIHNoaW55IG5ldyBmdW5jdGlvbiBpbiAtYmFzZSB0byBnZXQgdGhlIGRlZmF1bHQgY2xvY2stcmF0ZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiAoZ3N0X3J0c3BzcmNfcGFyc2VfcnRwbWFwKSwKCSAgKGdzdF9ydHNwc3JjX21lZGlhX3RvX2NhcHMpLCAoZ3N0X3J0c3BzcmNfbG9vcF9pbnRlcmxlYXZlZCk6CgkgIFVzZSBzaGlueSBuZXcgZnVuY3Rpb24gaW4gLWJhc2UgdG8gZ2V0IHRoZSBkZWZhdWx0IGNsb2NrLXJhdGUuCgkgIFVwZGF0ZSBzb21lIGRvY3MuCgoyMDA3LTA5LTI5IDEyOjUwOjM2ICswMDAwICBTw6liYXN0aWVuIE1vdXR0ZSA8c2ViYXN0aWVuQG1vdXR0ZS5uZXQ+CgoJICB3aW4zMi9NQU5JRkVTVDogQWRkIGZpbGVzIHRvIHdpbjMyIG1hbmlmZXN0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB3aW4zMi9NQU5JRkVTVDoKCSAgQWRkIGZpbGVzIHRvIHdpbjMyIG1hbmlmZXN0LgoJICAqIHdpbjMyL3ZzNi9saWJnc3RhdWRpb2Z4LmRzcDoKCSAgKiB3aW4zMi92czYvbGliZ3N0cXRkZW11eC5kc3A6CgkgICogd2luMzIvdnM2L2xpYmdzdHJ0cC5kc3A6CgkgICogd2luMzIvdnM2L2xpYmdzdHJ0c3AuZHNwOgoJICBVcGRhdGUgcHJvamVjdCBmaWxlcy4KCjIwMDctMDktMjggMTQ6NTY6MTkgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRzcC9nc3RydHNwc3JjLio6IEluIFRDUCBtb2RlLCBvbmx5IHRpbWVzdGFtcCB0aGUgZmlyc3QgYnVmZmVyLiBUQ1AgaXMgbm90IHJlYWwgdGltZSBhbmQgaXQgZG9lcyBub3QgbWFrZSBzZW5zZSAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiAoZ3N0X3J0c3BzcmNfbG9vcF9pbnRlcmxlYXZlZCksCgkgIChnc3RfcnRzcHNyY19wbGF5KToKCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmg6CgkgIEluIFRDUCBtb2RlLCBvbmx5IHRpbWVzdGFtcCB0aGUgZmlyc3QgYnVmZmVyLiBUQ1AgaXMgbm90IHJlYWwgdGltZSBhbmQKCSAgaXQgZG9lcyBub3QgbWFrZSBzZW5zZSB0byB0cnkgdG8gc2tldyBjb21wZW5zYXRlLCBhbHNvIHNvbWUgc2VydmVycyBzZW5kCgkgIHRoZSBmaXJzdCBiYXRjaCBvZiBkYXRhIGluIGEgYnVyc3QuCgoyMDA3LTA5LTI3IDE1OjAwOjMwICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6IEZpeCBzZXR0aW5nIHRoZSBkaXNjb250IGZsYWcgb24gdGhlIGZpcnN0IGJ1ZmZlciBwdXNoZWQgZG93bnN0cmVhbSBmb3IgZm9ybWF0cyB3aXRoIHByLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICBGaXggc2V0dGluZyB0aGUgZGlzY29udCBmbGFnIG9uIHRoZSBmaXJzdCBidWZmZXIKCSAgcHVzaGVkIGRvd25zdHJlYW0gZm9yIGZvcm1hdHMgd2l0aCBwcml2YXRlIGNvZGVjCgkgIGRhdGEgdGhhdCBuZWVkcyB0byBiZSBkZXNlcmlhbGlzZWQgaW50byBidWZmZXJzCgkgIChzdWNoIGFzIHZvcmJpcyBhbmQgRkxBQyB3aGVuIGluIGEgbWF0cm9za2EgY29udGFpbmVyKS4KCjIwMDctMDktMjcgMTE6MTA6MTIgKzAwMDAgIEFudG9pbmUgVHJlbWJsYXkgPGhleGEwMEBnbWFpbC5jb20+CgoJICBnc3QvcnRwL2dzdHJ0cG1wNHZwYXkuKjogRnJlZSB0aGUgY29uZmlnIHN0cmluZy4gRml4ZXMgIzQ4MDcwNy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBBbnRvaW5lIFRyZW1ibGF5IDxoZXhhMDAgYXQgZ21haWwgZG90IGNvbT4KCSAgKiBnc3QvcnRwL2dzdHJ0cG1wNHZwYXkuYzogKGdzdF9ydHBfbXA0dl9wYXlfaW5pdCksCgkgIChnc3RfcnRwX21wNHZfcGF5X2ZpbmFsaXplKSwgKGdzdF9ydHBfbXA0dl9wYXlfZmx1c2gpLAoJICAoZ3N0X3J0cF9tcDR2X3BheV9oYW5kbGVfYnVmZmVyKToKCSAgKiBnc3QvcnRwL2dzdHJ0cG1wNHZwYXkuaDoKCSAgRnJlZSB0aGUgY29uZmlnIHN0cmluZy4gRml4ZXMgIzQ4MDcwNy4KCSAgQ2xlYW4gdXAgdGhlIHRpbWVzdGFtcCBjb2RlIGEgbGl0dGxlLgoKMjAwNy0wOS0yNiAyMDoxMjo1MiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHNwL2dzdHJ0c3BzcmMuKjogU2V0IHRpbWVzdGFtcHMgb24gUlRQIGJ1ZmZlcnMgaW4gaW50ZXJsZWF2ZWQgbW9kZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiAoZ3N0X3J0c3BzcmNfY3JlYXRlX3N0cmVhbSksCgkgIChnc3RfcnRzcHNyY19oYW5kbGVfc3JjX3F1ZXJ5KSwgKGdzdF9ydHNwc3JjX2xvb3BfaW50ZXJsZWF2ZWQpLAoJICAoZ3N0X3J0c3BzcmNfbG9vcF91ZHApLCAoZ3N0X3J0c3BzcmNfY2xvc2UpOgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuaDoKCSAgU2V0IHRpbWVzdGFtcHMgb24gUlRQIGJ1ZmZlcnMgaW4gaW50ZXJsZWF2ZWQgbW9kZS4KCSAgTWFyayBmaXJzdCBidWZmZXJzIHdpdGggYSBESVNDT05ULgoJICBSZW1vdmUgZmx1c2ggaGFjayBub3cgdGhhdCBzeW5jIGZvciBsaXZlIHNvdXJjZXMgaGFzIGJlZW4gZmlndXJlZCBvdXQuCgoyMDA3LTA5LTI2IDE0OjI4OjIwICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3VkcC9nc3R1ZHBzcmMuYzogVXBkYXRlIGRvY3VtZW50YXRpb24uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC91ZHAvZ3N0dWRwc3JjLmM6IChnc3RfdWRwc3JjX2NyZWF0ZSk6CgkgIFVwZGF0ZSBkb2N1bWVudGF0aW9uLgoKMjAwNy0wOS0yNiAxNDoyNjozOSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9xdGRlbXV4L2dzdHJ0cHhxdGRlcGF5Lio6IEZhaWwgaWYgd2UgZG9uJ3Qga25vdyB0aGUgcXVpY2t0aW1lIGZvcm1hdC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvZ3N0cnRweHF0ZGVwYXkuYzogKGdzdF9ydHBfeHF0X2RlcGF5X3Byb2Nlc3MpLAoJICAoZ3N0X3J0cF94cXRfZGVwYXlfY2hhbmdlX3N0YXRlKToKCSAgKiBnc3QvcXRkZW11eC9nc3RydHB4cXRkZXBheS5oOgoJICBGYWlsIGlmIHdlIGRvbid0IGtub3cgdGhlIHF1aWNrdGltZSBmb3JtYXQuCgoyMDA3LTA5LTI2IDEzOjE5OjE3ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L2ZsYWMvZ3N0ZmxhY2VuYy4qOiBTYXZlIHRoZSBmbG93IHJldHVybiBmcm9tIHRoZSBsYXN0IGdzdF9wYWRfcHVzaCgpIGFuZCBtYWtlIHN1cmUgd2UgcGFzcyB0aGUgcmlnaHQgZmxvdyByZXR1cm4gLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9mbGFjL2dzdGZsYWNlbmMuYzoKCSAgKiBleHQvZmxhYy9nc3RmbGFjZW5jLmg6CgkgIFNhdmUgdGhlIGZsb3cgcmV0dXJuIGZyb20gdGhlIGxhc3QgZ3N0X3BhZF9wdXNoKCkgYW5kCgkgIG1ha2Ugc3VyZSB3ZSBwYXNzIHRoZSByaWdodCBmbG93IHJldHVybiB2YWx1ZSB1cHN0cmVhbQoJICBpbiB0aGUgY2FzZSBvZiBmYWlsdXJlOyBtaW5vciBjbGVhbi11cHMuCgoyMDA3LTA5LTI1IDE5OjA5OjMzICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgQWRkIHN1cHBvcnQgZm9yIHRoZSBuZXcgR1NUX1RBR19DT01QT1NFUiAoIzQ1OTgwOSkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC90YWdsaWIvZ3N0YXBldjJtdXguY2M6CgkgICogZXh0L3RhZ2xpYi9nc3RpZDN2Mm11eC5jYzoKCSAgKiBnc3QvYXBldGFnL2dzdGFwZWRlbXV4LmM6CgkgIEFkZCBzdXBwb3J0IGZvciB0aGUgbmV3IEdTVF9UQUdfQ09NUE9TRVIgKCM0NTk4MDkpLgoKMjAwNy0wOS0yNSAxNzoxODozNCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9sYXcvOiBDb21wdWxzaXZlIGNsZWFuLXVwczogdXNlIGJvaWxlcnBsYXRlIG1hY3JvcywgYWRkIGRlYnVnIGNhdGVnb3JpZXMsIGZpeCB1cCB0aGluZ3MgdG8gY29uZm9ybSB0byBzeW1ib2wgbm9tZS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbGF3L2FsYXctZGVjb2RlLmM6CgkgICogZ3N0L2xhdy9hbGF3LWRlY29kZS5oOgoJICAqIGdzdC9sYXcvYWxhdy1lbmNvZGUuYzoKCSAgKiBnc3QvbGF3L2FsYXctZW5jb2RlLmg6CgkgICogZ3N0L2xhdy9hbGF3LmM6CgkgICogZ3N0L2xhdy9tdWxhdy1jb252ZXJzaW9uLmg6CgkgIENvbXB1bHNpdmUgY2xlYW4tdXBzOiB1c2UgYm9pbGVycGxhdGUgbWFjcm9zLCBhZGQgZGVidWcKCSAgY2F0ZWdvcmllcywgZml4IHVwIHRoaW5ncyB0byBjb25mb3JtIHRvIHN5bWJvbCBub21lbmtsYXR1cmEsCgkgIGV0Yy4KCjIwMDctMDktMjUgMTY6MDU6MjkgKzAwMDAgIExhdXJlbnQgR2xheWFsIDxzcGdsZWdsZUB5YWhvby5mcj4KCgkgIGdzdC9sYXcvOiBVc2Ugc3RhdGljIHRhYmxlcyBmb3IgQS1MYXcgZGVjb2RpbmcgYW5kIGVuY29kaW5nOyB0aGlzIG1ha2VzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBCYXNlZCBvbiBwYXRjaCBieTogTGF1cmVudCBHbGF5YWwgIDxzcGdsZWdsZSB5YWhvbyBmcj4KCSAgKiBnc3QvbGF3L2FsYXctZGVjb2RlLmM6CgkgICogZ3N0L2xhdy9hbGF3LWVuY29kZS5jOgoJICBVc2Ugc3RhdGljIHRhYmxlcyBmb3IgQS1MYXcgZGVjb2RpbmcgYW5kIGVuY29kaW5nOyB0aGlzIG1ha2VzCgkgIEEtTGF3IGRlY29kaW5nIGFuZCBlbmNvZGluZyBsZXNzIENQVS1pbnRlbnNpdmUsIGJ1dCBpbmNyZWFzZXMKCSAgdGhlIGJpbmFyeSBzaXplIGEgYml0LiBMZWF2aW5nIG9sZCBjb2RlIGFyb3VuZCBmb3Igbm93LAoJICBzZWxlY3RhYmxlIGJ5IGEgZGVmaW5lIGluIHRoZSBjb2RlLiBGaXhlcyAjNDM1NDM1LgoKMjAwNy0wOS0yNSAwODo1MTozNiArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgY29uZmlndXJlLmFjOiBVc2UgQUdfR1NUX0FSR19XSVRIX1BMVUdJTlMsIEFHX0dTVF9BUkdfRU5BQkxFX0VYVEVSTkFMIGFuZAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIFVzZSBBR19HU1RfQVJHX1dJVEhfUExVR0lOUywgQUdfR1NUX0FSR19FTkFCTEVfRVhURVJOQUwgYW5kCgkgIEFHX0dTVF9BUkdfRU5BQkxFX0VYUEVSSU1FTlRBTCBpbnN0ZWFkIG9mIGR1cGxpY2F0aW5nIHRob3NlIG1hY3JvcwoJICBpbiBjb25maWd1cmUuYWMuCgoyMDA3LTA5LTI1IDA1OjAzOjU4ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IEFkZCBmb3VyY2NzIGZvciBNUEVHMiBIRFYgc3RyZWFtcy4gRml4ZXMgIzQ3OTk2MC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiA8aiBhdCBib290bGFiIGRvdCBvcmc+CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAocXRkZW11eF92aWRlb19jYXBzKToKCSAgQWRkIGZvdXJjY3MgZm9yIE1QRUcyIEhEViBzdHJlYW1zLiBGaXhlcyAjNDc5OTYwLgoKMjAwNy0wOS0yNCAxMDo1MzozNiArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgTWFzc2l2ZSBsZWFrIGZpeGluZywgcGx1cyBjb2RlIGNsZWFudXBzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvYXVkaW9yZXNhbXBsZS9nc3RhdWRpb3Jlc2FtcGxlLmM6CgkgICogZXh0L3gyNjQvZ3N0eDI2NGVuYy5jOgoJICAqIGdzdC9kdmRzcHUvZ3N0ZHZkc3B1LmM6CgkgICogZ3N0L2R2ZHNwdS9nc3RkdmRzcHUuaDoKCSAgKiBnc3QvZmVzdGl2YWwvZ3N0ZmVzdGl2YWwuYzoKCSAgKiBnc3QvaDI2NHBhcnNlL2dzdGgyNjRwYXJzZS5jOgoJICAqIGdzdC9tcGVndHNwYXJzZS9tcGVndHNwYWNrZXRpemVyLmM6CgkgICogZ3N0L21wZWd0c3BhcnNlL21wZWd0c3BhcnNlLmM6CgkgICogZ3N0L211bHRpZmlsZS9nc3RtdWx0aWZpbGVzaW5rLmM6CgkgICogZ3N0L211bHRpZmlsZS9nc3RtdWx0aWZpbGVzcmMuYzoKCSAgKiBnc3QvbnV2ZGVtdXgvZ3N0bnV2ZGVtdXguYzoKCSAgKiBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93YXVkaW9zcmMuYzoKCSAgKiBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93dmlkZW9zcmMuYzoKCSAgKiBzeXMvdmNkL3ZjZHNyYy5jOgoJICBNYXNzaXZlIGxlYWsgZml4aW5nLCBwbHVzIGNvZGUgY2xlYW51cHMuCgoyMDA3LTA5LTIzIDE4OjU3OjE0ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBzeXMvb3NzL2dzdG9zc2hlbHBlci5jOiBVc2UgR1NUX1dBUk5JTkcgaW5zdGVhZCBvZiBhIGdfY3JpdGljYWwuIFRoaXMgc2l0dWF0aW9uIGlzIG5vdCBjYXVzZWQgYnkgdGhlIGFwcGxpY2F0aW9uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvb3NzL2dzdG9zc2hlbHBlci5jOgoJICBVc2UgR1NUX1dBUk5JTkcgaW5zdGVhZCBvZiBhIGdfY3JpdGljYWwuIFRoaXMgc2l0dWF0aW9uIGlzIG5vdCBjYXVzZWQKCSAgYnkgdGhlIGFwcGxpY2F0aW9uLgoKMjAwNy0wOS0yMiAxODoxNToxMiArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJICBwby86IFVwZGF0ZWQgdHJhbnNsYXRpb25zLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBwby9MSU5HVUFTOgoJICAqIHBvL25sLnBvOgoJICBVcGRhdGVkIHRyYW5zbGF0aW9ucy4KCjIwMDctMDktMjIgMTg6MTM6NTggKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSAgcG8vZXUucG86IEFkZGVkIEJhc3F1ZSB0cmFuc2xhdGlvbi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHRyYW5zbGF0ZWQgYnk6IE1pa2VsIE9sYXNhZ2FzdGkgPGhleV9uZWtlbkBtdW5kdXJhdC5uZXQ+CgkgICogcG8vZXUucG86CgkgIEFkZGVkIEJhc3F1ZSB0cmFuc2xhdGlvbi4KCjIwMDctMDktMjIgMTg6MTM6MTAgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSAgcG8vOiBBZGRlZCBDaGluZXNlICh0cmFkaXRpb25hbCBhbmQgSG9uZyBLb25nKSB0cmFuc2xhdGlvbi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHRyYW5zbGF0ZWQgYnk6IEFiZWwgQ2hldW5nIDxhYmVsY2hldW5nQGdtYWlsLmNvbT4KCSAgKiBwby96aF9ISy5wbzoKCSAgKiBwby96aF9UVy5wbzoKCSAgQWRkZWQgQ2hpbmVzZSAodHJhZGl0aW9uYWwgYW5kIEhvbmcgS29uZykgdHJhbnNsYXRpb24uCgoyMDA3LTA5LTIyIDE4OjEwOjQyICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkgIHBvL3BsLnBvOiBBZGRlZCBQb2xpc2ggdHJhbnNsYXRpb24uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICB0cmFuc2xhdGVkIGJ5OiBKYWt1YiBCb2d1c3ogPHFib29zaEBwbGQtbGludXgub3JnPgoJICAqIHBvL3BsLnBvOgoJICBBZGRlZCBQb2xpc2ggdHJhbnNsYXRpb24uCgoyMDA3LTA5LTIyIDE4OjA5OjU5ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkgIHBvL2ZpLnBvOiBBZGRlZCBGaW5uaXNoIHRyYW5zbGF0aW9uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgdHJhbnNsYXRlZCBieTogSWxra2EgVHVvaGVsYSA8aGlsZUBpa2kuZmk+CgkgICogcG8vZmkucG86CgkgIEFkZGVkIEZpbm5pc2ggdHJhbnNsYXRpb24uCgoyMDA3LTA5LTIyIDE4OjA5OjA5ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkgIHBvL2VzLnBvOiBBZGRlZCBTcGFuaXNoIHRyYW5zbGF0aW9uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgdHJhbnNsYXRlZCBieTogSm9yZ2UgR29uesOhbGV6IEdvbnrDoWxleiA8YWxvcmllbEBnbWFpbC5jb20+CgkgICogcG8vZXMucG86CgkgIEFkZGVkIFNwYW5pc2ggdHJhbnNsYXRpb24uCgoyMDA3LTA5LTIyIDE4OjA4OjEzICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkgIHBvL2RhLnBvOiBBZGRlZCBEYW5pc2ggdHJhbnNsYXRpb24uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICB0cmFuc2xhdGVkIGJ5OiBNb2dlbnMgSmFlZ2VyIDxtb2dlbnNAamFlZ2VyLnRmPgoJICAqIHBvL2RhLnBvOgoJICBBZGRlZCBEYW5pc2ggdHJhbnNsYXRpb24uCgoyMDA3LTA5LTIyIDE4OjA2OjU1ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkgIHBvL3poX0NOLnBvOiBBZGRlZCBDaGluZXNlIChzaW1wbGlmaWVkKSB0cmFuc2xhdGlvbi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHRyYW5zbGF0ZWQgYnk6IEZ1bmRhIFdhbmcgPGZ1bmRhd2FuZ0BsaW51eC5uZXQuY24+CgkgICogcG8vemhfQ04ucG86CgkgIEFkZGVkIENoaW5lc2UgKHNpbXBsaWZpZWQpIHRyYW5zbGF0aW9uLgoKMjAwNy0wOS0yMiAxODowNTozNyArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJICBwby9iZy5wbzogQWRkZWQgQnVsZ2FyaWFuIHRyYW5zbGF0aW9uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgdHJhbnNsYXRlZCBieTogQWxleGFuZGVyIFNob3BvdiA8YXNoQGNvbnRhY3QuYmc+CgkgICogcG8vYmcucG86CgkgIEFkZGVkIEJ1bGdhcmlhbiB0cmFuc2xhdGlvbi4KCjIwMDctMDktMjIgMDg6MTI6NTcgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogY29tbW9uOgoJKiBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5jOgoJKiBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5oOgoJICBmaXggaGVhZGVyIGFuZCBjb21tZW50cwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgZml4IGhlYWRlciBhbmQgY29tbWVudHMKCjIwMDctMDktMjEgMTE6MzQ6MzQgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwL2dzdHJ0cGFtcmRlcGF5LmM6IFNldCBvdXRnb2luZyBwYWNrZXQgZHVyYXRpb24gYmVjYXVzZSB3ZSBjYW4uIEZpeGVzICM0NzgyNDQgc29tZSBtb3JlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwL2dzdHJ0cGFtcmRlcGF5LmM6IChnc3RfcnRwX2Ftcl9kZXBheV9wcm9jZXNzKToKCSAgU2V0IG91dGdvaW5nIHBhY2tldCBkdXJhdGlvbiBiZWNhdXNlIHdlIGNhbi4gRml4ZXMgIzQ3ODI0NCBzb21lIG1vcmUuCgoyMDA3LTA5LTIwIDEzOjM1OjM0ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBleHQvY2Fpcm8vZ3N0dGV4dG92ZXJsYXkuYzogQWRkIGluZm8gYWJvdXQgc3RhdGljIGxlYWsuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9jYWlyby9nc3R0ZXh0b3ZlcmxheS5jOgoJICBBZGQgaW5mbyBhYm91dCBzdGF0aWMgbGVhay4KCSAgKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgKiB0ZXN0cy9jaGVjay9nZW5lcmljL3N0YXRlcy5jOgoJICBJbXByb3ZlZCBzdGF0ZSBjaGFuZ2UgdW5pdCB0ZXN0LgoKMjAwNy0wOS0xOSAxODoxOTo0OSArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgSWdub3JlIHJlZ2lzdHJpZXMgaW4gYW55IGZvcm1hdC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9wbHVnaW5zLy5jdnNpZ25vcmU6CgkgICogdGVzdHMvY2hlY2svLmN2c2lnbm9yZToKCSAgSWdub3JlIHJlZ2lzdHJpZXMgaW4gYW55IGZvcm1hdC4KCjIwMDctMDktMTkgMTY6MjQ6MDkgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwL2dzdHJ0cEwxNnBheS5jOiBSZW1vdmVkIHNvbWUgdW51c2VkIGNvZGUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHAvZ3N0cnRwTDE2cGF5LmM6IChnc3RfcnRwX0wxNl9wYXlfaGFuZGxlX2J1ZmZlcik6CgkgIFJlbW92ZWQgc29tZSB1bnVzZWQgY29kZS4KCSAgKiBnc3QvcnRwL2dzdHJ0cGFtcnBheS5jOiAoZ3N0X3J0cF9hbXJfcGF5X2hhbmRsZV9idWZmZXIpOgoJICAqIGdzdC9ydHAvZ3N0cnRwZ3NtcGF5LmM6IChnc3RfcnRwX2dzbV9wYXlfaGFuZGxlX2J1ZmZlcik6CgkgICogZ3N0L3J0cC9nc3RydHBtcDJ0cGF5LmM6IChnc3RfcnRwX21wMnRfcGF5X2hhbmRsZV9idWZmZXIpOgoJICAqIGdzdC9ydHAvZ3N0cnRwc3BlZXhwYXkuYzogKGdzdF9ydHBfc3BlZXhfcGF5X2hhbmRsZV9idWZmZXIpOgoJICAqIGdzdC9ydHAvZ3N0cnRwdGhlb3JhcGF5LmM6IChnc3RfcnRwX3RoZW9yYV9wYXlfaW5pdF9wYWNrZXQpLAoJICAoZ3N0X3J0cF90aGVvcmFfcGF5X2ZsdXNoX3BhY2tldCk6CgkgICogZ3N0L3J0cC9nc3RydHB2b3JiaXNwYXkuYzogKGdzdF9ydHBfdm9yYmlzX3BheV9mbHVzaF9wYWNrZXQpOgoJICBUcnkgdG8gcHJlc2VydmUgdGhlIGluY29tbWluZyBidWZmZXIgZHVyYXRpb24gb24gdGhlIG91dGdvaW5nCgkgIHBhY2tldHMuIEZpeGVzICM0NzgyNDQuCgoyMDA3LTA5LTE5IDEwOjIyOjQwICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L3RhZ2xpYi86IFdvcmsgYXJvdW5kIGNvbXBpbGVyIHdhcm5pbmdzIHdpdGggZysrLTQuMiB3aGVuIGFzc2lnbmluZyBhIHN0cmluZyBjb25zdGFudCB0byBhIGdjaGFyICogKHBhcnRpYWxseSBmaXhlLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC90YWdsaWIvZ3N0YXBldjJtdXguY2M6CgkgICogZXh0L3RhZ2xpYi9nc3RpZDN2Mm11eC5jYzoKCSAgV29yayBhcm91bmQgY29tcGlsZXIgd2FybmluZ3Mgd2l0aCBnKystNC4yIHdoZW4gYXNzaWduaW5nIGEKCSAgc3RyaW5nIGNvbnN0YW50IHRvIGEgZ2NoYXIgKiAocGFydGlhbGx5IGZpeGVzICM0NzgwOTIpLgoKMjAwNy0wOS0xOCAxNjo0NDo0NiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGNvbmZpZ3VyZS5hYzogV2UgcmVxdWlyZSBjb3JlIENWUyBub3cgZm9yIGdzdF9iYXNlX3NyY19zZXRfZG9fdGltZXN0YW1wKCkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgV2UgcmVxdWlyZSBjb3JlIENWUyBub3cgZm9yIGdzdF9iYXNlX3NyY19zZXRfZG9fdGltZXN0YW1wKCkuCgoyMDA3LTA5LTE4IDEzOjU1OjA2ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3Qvc3BlY3RydW0vOiBIYW5kbGluZyB3aW5kb3cgcmVzaXplLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvc3BlY3RydW0vZGVtby1hdWRpb3Rlc3QuYzoKCSAgKiBnc3Qvc3BlY3RydW0vZGVtby1vc3NzcmMuYzoKCSAgSGFuZGxpbmcgd2luZG93IHJlc2l6ZS4KCjIwMDctMDktMTggMTE6NDU6MDYgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIENoYW5nZUxvZzogQWRkIG1pc3NpbmcgbmV3bGluZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogQ2hhbmdlTG9nOgoJICBBZGQgbWlzc2luZyBuZXdsaW5lLgoJICAqIGdzdC9saWJyZmIvcmZiZGVjb2Rlci5jOgoJICBGaXggdGhlIGJ1aWxkIChtaXNzaW5nIHN0ZGxpYi5oKS4KCSAgKiBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uYzoKCSAgKiBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uaDoKCSAgVXNlIGJhc2V0cmFuc2Zvcm0gc2VnbWVudCBzbyB0aGF0IGl0IGlzIGNvcnJlY3RseSBtYW5hZ2VkIG9uIGZsdXNoZXMKCSAgYW5kIHN0YXJ0L3N0b3AuIFJlcG9ydCBtZXNzYWdlIHRpbWVzdGFtcCBhcyBzdHJlYW0gdGltZSwgd2hpY2ggaXMgd2hhdAoJICBhbiBhcHBsaWNhdGlvbiBjYW4gdW5kZXJzdGFuZC4gKFllcyB0aGVzZSBhcmUgYWRhcHRlZCBmcm9tIHdpbSByZWNlbnQKCSAgbGV2ZWwgZWxlbWVudCBjaGFuZ2VzKQoKMjAwNy0wOS0xNyAxNzozNToxMyArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBnc3QvOiBGaXggY29tcGlsZXIgd2FybmluZ3Mgc2hvd24gd2l0aCBGb3J0ZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2F1ZGlvZngvYXVkaW9keW5hbWljLmM6IChnc3RfYXVkaW9fZHluYW1pY19jbGFzc19pbml0KToKCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IChnc3RfcnRzcHNyY19jcmVhdGVfc3RyZWFtKSwKCSAgKG5ld19zZXNzaW9uX3BhZCksIChyZXF1ZXN0X3B0X21hcCksIChnc3RfcnRzcHNyY19kb19zdHJlYW1fZW9zKSwKCSAgKGdzdF9ydHNwc3JjX2xvb3BfaW50ZXJsZWF2ZWQpLCAoZ3N0X3J0c3BzcmNfcGFyc2VfcnRwaW5mbyksCgkgIChnc3RfcnRzcHNyY19oYW5kbGVfbWVzc2FnZSk6CgkgIEZpeCBjb21waWxlciB3YXJuaW5ncyBzaG93biB3aXRoIEZvcnRlLgoKMjAwNy0wOS0xNyAwMjowNToxNCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogR2l2ZSBtZWFuaW5nZnVsbCBlcnJvciB3aGVuIGFsbCBzdHJlYW1zIGZhaWxlZCB0byBjb25maWd1cmUgZm9yIHNvbWUgcmVhc29uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IChnc3RfcnRzcHNyY19zZXR1cF9zdHJlYW1zKSwKCSAgKGdzdF9ydHNwc3JjX2R1cF9wcmludGYpOgoJICBHaXZlIG1lYW5pbmdmdWxsIGVycm9yIHdoZW4gYWxsIHN0cmVhbXMgZmFpbGVkIHRvIGNvbmZpZ3VyZSBmb3Igc29tZQoJICByZWFzb24uCgoyMDA3LTA5LTE2IDE5OjEzOjU4ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cC9SRUFETUU6IFVwZGF0ZSBSRUFETUUgd2l0aCB0aGUgZGVzaWduIGZvciBzeW5jaHJvbmlzYXRpb24gcnVsZXMgb2YgUlRQIG9uIHNlbmRlciBhbmQgcmVjZWl2ZXIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHAvUkVBRE1FOgoJICBVcGRhdGUgUkVBRE1FIHdpdGggdGhlIGRlc2lnbiBmb3Igc3luY2hyb25pc2F0aW9uIHJ1bGVzIG9mIFJUUCBvbgoJICBzZW5kZXIgYW5kIHJlY2VpdmVyLgoKMjAwNy0wOS0xNCAwOTo0MDo0OSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6IERvbid0IHB1c2ggRU9TIGZyb20gdGhlIGNoYWluIGZ1bmN0aW9uLCB0aGUgZWxlbWVudCBkcml2aW5nIHRoZSBwaXBlbGluZSBpcyByZXNwb25zaWJsZSBmLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOiAoZ3N0X3dhdnBhcnNlX2xvb3ApLAoJICAoZ3N0X3dhdnBhcnNlX2NoYWluKToKCSAgRG9uJ3QgcHVzaCBFT1MgZnJvbSB0aGUgY2hhaW4gZnVuY3Rpb24sIHRoZSBlbGVtZW50CgkgIGRyaXZpbmcgdGhlIHBpcGVsaW5lIGlzIHJlc3BvbnNpYmxlIGZvciB0aGlzLiBUaGUgYnVnCgkgIHRoaXMgd2FzIG1lYW50IHRvIGZpeCBzZWVtcyB0byBiZSBxdWV1ZSBub3QgZm9yd2FyZGluZwoJICBFT1MgaW4gYWxsIGNhc2VzIChzZWUgIzQ3NjUxNCkuCgoyMDA3LTA5LTEzIDE3OjMxOjE2ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L2xldmVsL2dzdGxldmVsLio6IFVzZSBiYXNldHJhbnNmb3JtIHNlZ21lbnQgc28gdGhhdCBpdCBpcyBjb3JyZWN0bHkgbWFuYWdlZCBvbiBmbHVzaGVzIGFuZCBzdGFydC9zdG9wLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbGV2ZWwvZ3N0bGV2ZWwuYzogKGdzdF9sZXZlbF9jbGFzc19pbml0KSwgKGdzdF9sZXZlbF9zdGFydCksCgkgIChnc3RfbGV2ZWxfdHJhbnNmb3JtX2lwKToKCSAgKiBnc3QvbGV2ZWwvZ3N0bGV2ZWwuaDoKCSAgVXNlIGJhc2V0cmFuc2Zvcm0gc2VnbWVudCBzbyB0aGF0IGl0IGlzIGNvcnJlY3RseSBtYW5hZ2VkIG9uIGZsdXNoZXMgYW5kCgkgIHN0YXJ0L3N0b3AuCgkgIFJlcG9ydCBtZXNzYWdlIHRpbWVzdGFtcCBhcyBzdHJlYW0gdGltZSwgd2hpY2ggaXMgd2hhdCBhbiBhcHBsaWNhdGlvbgoJICBjYW4gdW5kZXJzdGFuZC4KCjIwMDctMDktMTMgMTU6MDQ6MTUgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIFVwZGF0ZSBteSBtYWlsIGFkZHJlc3MuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC90YWdsaWIvZ3N0YXBldjJtdXguY2M6CgkgICogZXh0L3RhZ2xpYi9nc3RhcGV2Mm11eC5oOgoJICAqIGV4dC90YWdsaWIvZ3N0dGFnbGlibXV4LmM6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvYXBldjJtdXguYzoKCSAgVXBkYXRlIG15IG1haWwgYWRkcmVzcy4KCjIwMDctMDktMTMgMTI6Mzc6NTYgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOiBBZGQgRU9TIGxvZ2ljIGZvciB0aGUgcHVzaC1iYXNlZCBtb2RlIHRvby4gRml4ZXMgIzQ3NjUxNC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6IChnc3Rfd2F2cGFyc2VfcGVyZm9ybV9lb3MpLAoJICAoZ3N0X3dhdnBhcnNlX2xvb3ApLCAoZ3N0X3dhdnBhcnNlX2NoYWluKToKCSAgQWRkIEVPUyBsb2dpYyBmb3IgdGhlIHB1c2gtYmFzZWQgbW9kZSB0b28uIEZpeGVzICM0NzY1MTQuCgoyMDA3LTA5LTEyIDIyOjAxOjU5ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L2xhdy86IEZpeCBsYXcgZW5jb2RlciB0aW1lc3RhbXBzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbGF3L2FsYXctZW5jb2RlLmM6IChnc3RfYWxhd2VuY19pbml0KSwgKGdzdF9hbGF3ZW5jX2NoYWluKToKCSAgKiBnc3QvbGF3L2FsYXctZW5jb2RlLmg6CgkgICogZ3N0L2xhdy9tdWxhdy1lbmNvZGUuYzogKGdzdF9tdWxhd2VuY19pbml0KSwKCSAgKGdzdF9tdWxhd2VuY19jaGFpbik6CgkgICogZ3N0L2xhdy9tdWxhdy1lbmNvZGUuaDoKCSAgRml4IGxhdyBlbmNvZGVyIHRpbWVzdGFtcHMuCgoyMDA3LTA5LTEyIDA5OjEzOjM5ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBleHQvZ2NvbmYvZ3N0Z2NvbmZhdWRpb3NpbmsuYzogRml4IHdhcm5pbmcgd2hlbiBidWlsZGluZyB3aXRob3V0IGRlYnVnLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZ2NvbmYvZ3N0Z2NvbmZhdWRpb3NpbmsuYzoKCSAgRml4IHdhcm5pbmcgd2hlbiBidWlsZGluZyB3aXRob3V0IGRlYnVnLgoJICAqIHN5cy9vc3MvZ3N0b3NzbWl4ZXJ0cmFjay5jOgoJICBVc2UgY29uc3QgbGlrZSBpbiBhbHNhbWl4ZXJ0cmFjay5jIChmaXhlcyB3YXJuaW5ncykuCgoyMDA3LTA5LTEyIDA4OjM4OjIxICswMDAwICBQZXRlciBLamVsbGVyc3RlZHQgPHBrakBheGlzLmNvbT4KCgkgIGdzdC86IFByaW50ZiBmb3JtYXQgZml4ZXMgKCM0NzYxMjgpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFBldGVyIEtqZWxsZXJzdGVkdCAgPHBraiBhdCBheGlzIGNvbT4KCSAgKiBnc3QtbGlicy9nc3QvYXBwL2dzdGFwcHNpbmsuYzoKCSAgKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6CgkgICogZ3N0L2Zsdi9nc3RmbHZwYXJzZS5jOgoJICAqIGdzdC9pbnRlcmxlYXZlL2RlaW50ZXJsZWF2ZS5jOgoJICAqIGdzdC9zd2l0Y2gvZ3N0c3dpdGNoLmM6CgkgIFByaW50ZiBmb3JtYXQgZml4ZXMgKCM0NzYxMjgpLgoKMjAwNy0wOS0xMSAxNTozNzo1NSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuYzogRml4IGZyYW1lcmF0ZSBkZXRlY3Rpb24gY29kZSBzb21lIG1vcmUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuYzoKCSAgKGdzdF92NGwyc3JjX3Byb2JlX2NhcHNfZm9yX2Zvcm1hdF9hbmRfc2l6ZSk6CgkgIEZpeCBmcmFtZXJhdGUgZGV0ZWN0aW9uIGNvZGUgc29tZSBtb3JlLgoJICBIYW5kbGUgdGhlIGNhc2Ugd2hlcmUgdGhlcmUgaXMgYSB3ZWlyZCBzdGVwIGluIHRoZSBzdGVwd2lzZSBmcmFtZXJhdGVzLgoJICBEb24ndCBvdmVyd3JpdGUgdGhlIG1pbiBpbnRlcnZhbCB3aXRoIHRoZSBmcmFtZXJhdGUsIHVzZSBhIHRlbXAgdmFyaWFibGUKCSAgaW5zdGVhZC4KCSAgVXNlIG1heCBpbiB0aGUgQ29udGludW91cyBmcmFtZXJhdGUgaW50ZXJ2YWxzIGluc3RlYWQgb2Ygc3RlcCwgd2hpY2ggaXMKCSAgMSBhY2NvcmRpbmcgdG8gdGhlIGRvY3MuIEZpeGVzICM0NzU0MjQuCgoyMDA3LTA5LTEwIDE5OjUzOjI4ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3VkcC9nc3R1ZHBzcmMuYzogTWFrZSB1ZHBzcmMgdGltZXN0YW1wIG91dGdvaW5nIGJ1ZmZlcnMgYmFzZWQgb24gd2hlbiB0aGV5IHdlcmUgcmVjZWl2ZWQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC91ZHAvZ3N0dWRwc3JjLmM6IChnc3RfdWRwc3JjX2luaXQpLCAoZ3N0X3VkcHNyY19jcmVhdGUpOgoJICBNYWtlIHVkcHNyYyB0aW1lc3RhbXAgb3V0Z29pbmcgYnVmZmVycyBiYXNlZCBvbiB3aGVuIHRoZXkgd2VyZSByZWNlaXZlZC4KCSAgQWxzbyBtYWtlIGl0IG91dHB1dCBhIHNlZ21lbnQgaW4gdGltZS4KCjIwMDctMDktMTAgMDY6NDk6MzIgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzogUGx1ZyBhIGxpdHRsZSBsZWFrLiBMaXR0bGUgY29kZSBjbGVhbnVwcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICBQbHVnIGEgbGl0dGxlIGxlYWsuIExpdHRsZSBjb2RlIGNsZWFudXBzLgoKMjAwNy0wOS0wOSAxODowODozNiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGNvbmZpZ3VyZS5hYzogVXNlIEFDX1RSWV9DT01QSUxFIGluc3RlYWQgb2YgQUNfVFJZX1JVTiB0byBjaGVjayBmb3Igb2xkIGZsYWMgdmVyc2lvbnMsICdzIGdvb2QgZm9yIGNyb3NzLWNvbXBpbGF0aW9uIC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIFVzZSBBQ19UUllfQ09NUElMRSBpbnN0ZWFkIG9mIEFDX1RSWV9SVU4gdG8gY2hlY2sgZm9yIG9sZAoJICBmbGFjIHZlcnNpb25zLCAncyBnb29kIGZvciBjcm9zcy1jb21waWxhdGlvbiBrYXJtYS4KCjIwMDctMDktMDcgMTg6MDQ6NDEgKzAwMDAgIEhhYWtvbiBTcG9yc2hlaW0gPGhhYWtvbi5zcG9yc2hlaW1AdGFuZGJlcmcuY29tPgoKCSAgZ3N0L3J0cC9nc3RydHBoMjYzcGF5LmM6IEZpeCB1cCBoZWFkZXIgc3RydWN0dXJlIHNvIHRoYXQgY29tcGlsZXJzIGRvbid0IGFkZCBwYWRkaW5nIGJldHdlZW4gdGhlIHN0cnVjdHVyZSBmaWVsZHMsIHNpLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogSGFha29uIFNwb3JzaGVpbSAgPGhhYWtvbi5zcG9yc2hlaW0gYXQgdGFuZGJlcmcgY29tPgoJICAqIGdzdC9ydHAvZ3N0cnRwaDI2M3BheS5jOgoJICBGaXggdXAgaGVhZGVyIHN0cnVjdHVyZSBzbyB0aGF0IGNvbXBpbGVycyBkb24ndCBhZGQgcGFkZGluZwoJICBiZXR3ZWVuIHRoZSBzdHJ1Y3R1cmUgZmllbGRzLCBzaW5jZSB0aGF0IHdvdWxkIGxlYWQgdG8gdXMKCSAgc2VuZGluZyBSVFAgcGFja2V0cyB3aXRoIGJyb2tlbiBoZWFkZXJzIChhcyBpcyBjdXJyZW50bHkgdGhlCgkgIGNhc2Ugd2hlbiBjb21waWxpbmcgd2l0aCBNU1ZDKS4gQWxzbyBzZWUgc2ltaWxhciBmaXhlcyBpbgoJICBsaWJnc3RydHAgaW4gZ3N0LXBsdWdpbnMtYmFzZS4gKCM0NzQ2MTY7ICM0NzExOTQpCgoyMDA3LTA5LTA3IDE2OjA0OjE0ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5jOiBEb24ndCBvdmVyd3JpdGUgb3VyIEdWYWx1ZSB3aXRoIDAgYnV0IGluc3RlYWQgdXNlIHRoZSBwcmV2aW91c2x5IGNvbXB1dGVkIHZhbHVlLiBGaXhlcyAjNDcxLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuYzoKCSAgKGdzdF92NGwyc3JjX3Byb2JlX2NhcHNfZm9yX2Zvcm1hdF9hbmRfc2l6ZSk6CgkgIERvbid0IG92ZXJ3cml0ZSBvdXIgR1ZhbHVlIHdpdGggMCBidXQgaW5zdGVhZCB1c2UgdGhlIHByZXZpb3VzbHkKCSAgY29tcHV0ZWQgdmFsdWUuIEZpeGVzICM0NzE4MjMgc29tZSBtb3JlLgoKMjAwNy0wOS0wNyAxNTo1NDozOCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmM6IFVzZSB0aGUgY29ycmVjdCBwYXJhbWV0ZXIgb3JkZXIgZm9yIHRoZSBtZW1zZXQgY2FsbHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5jOiAoZ3N0X3NwZWN0cnVtX3N0YXJ0KSwKCSAgKGdzdF9zcGVjdHJ1bV90cmFuc2Zvcm1faXApOgoJICBVc2UgdGhlIGNvcnJlY3QgcGFyYW1ldGVyIG9yZGVyIGZvciB0aGUgbWVtc2V0IGNhbGxzLgoJICBUaGFua3MgdG8gQ2hyaXN0aWFuIFNjaGFsbGVyIGZvciBub3RpY2luZy4KCjIwMDctMDktMDYgMTI6MDA6MzYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmhpZXJhcmNoeTogTm8gdGFicyBpbiB0aGlzIGZpbGUgcGxlYXNlLCBvciBndGstZG9jIHdpbGwgZW5kIHVwIGRvY3VtZW50aW5nIHJhdGguLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5oaWVyYXJjaHk6CgkgIE5vIHRhYnMgaW4gdGhpcyBmaWxlIHBsZWFzZSwgb3IgZ3RrLWRvYyB3aWxsIGVuZCB1cCBkb2N1bWVudGluZwoJICByYXRoZXIgYWJzdXJkIGNsYXNzIGhpZXJhcmNoaWVzLgoKMjAwNy0wOS0wNiAxMDo0ODo1NiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC9nY29uZi9nc3Rzd2l0Y2hzaW5rLmM6IElmIHRoZSBuZXcga2lkIGVsZW1lbnQgZmFpbHMgdG8gY2hhbmdlIHN0YXRlIGZvciBzb21lIHJlYXNvbiBmb3J3YXJkIHRoZSBlcnJvciBtZXNzYWdlIGl0IC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZ2NvbmYvZ3N0c3dpdGNoc2luay5jOgoJICBJZiB0aGUgbmV3IGtpZCBlbGVtZW50IGZhaWxzIHRvIGNoYW5nZSBzdGF0ZSBmb3Igc29tZSByZWFzb24KCSAgKGUuZy4gZXNkc2luayBub3QgYmVpbmcgYWJsZSB0byBjb25uZWN0IHRvIHRoZSBzb3VuZCBzZXJ2ZXIpLAoJICBmb3J3YXJkIHRoZSBlcnJvciBtZXNzYWdlIGl0IHBvc3RlZCBvbiB0aGUgYnVzIGluc3RlYWQgb2YganVzdAoJICBwb3N0aW5nIGEgZ2VuZXJpYyAnSW50ZXJuYWwgc3RhdGUgY2hhbmdlIGVycm9yOiBwbGVhc2UgZmlsZSBhCgkgIGJ1ZycgZXJyb3IgbWVzc2FnZS4gRml4ZXMgIzQ3MTM2NC4KCjIwMDctMDktMDYgMDc6MjE6MjIgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIFBvcnQgR3N0U3BlY3RydW0gdG8gR3N0QXVkaW9GaWx0ZXIgYW5kIGxpYmdzdGZmdCwgYWRkIHN1cHBvcnQgZm9yIGludDMyLCBmbG9hdCBhbmQgZG91YmxlLCB1c2UgZmxvYXRzIGZvciB0aGUgbWVzc2FnZS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgICogZ3N0L3NwZWN0cnVtL01ha2VmaWxlLmFtOgoJICAqIGdzdC9zcGVjdHJ1bS9kZW1vLWF1ZGlvdGVzdC5jOiAoZHJhd19zcGVjdHJ1bSksCgkgIChtZXNzYWdlX2hhbmRsZXIpLCAobWFpbik6CgkgICogZ3N0L3NwZWN0cnVtL2RlbW8tb3Nzc3JjLmM6IChkcmF3X3NwZWN0cnVtKSwgKG1lc3NhZ2VfaGFuZGxlcik6CgkgICogZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmM6IChnc3Rfc3BlY3RydW1fYmFzZV9pbml0KSwKCSAgKGdzdF9zcGVjdHJ1bV9jbGFzc19pbml0KSwgKGdzdF9zcGVjdHJ1bV9pbml0KSwKCSAgKGdzdF9zcGVjdHJ1bV9kaXNwb3NlKSwgKGdzdF9zcGVjdHJ1bV9zZXRfcHJvcGVydHkpLAoJICAoZ3N0X3NwZWN0cnVtX2dldF9wcm9wZXJ0eSksIChnc3Rfc3BlY3RydW1fc3RhcnQpLAoJICAoZ3N0X3NwZWN0cnVtX3NldHVwKSwgKGdzdF9zcGVjdHJ1bV9tZXNzYWdlX25ldyksCgkgIChnc3Rfc3BlY3RydW1fdHJhbnNmb3JtX2lwKToKCSAgKiBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uaDoKCSAgUG9ydCBHc3RTcGVjdHJ1bSB0byBHc3RBdWRpb0ZpbHRlciBhbmQgbGliZ3N0ZmZ0LCBhZGQgc3VwcG9ydAoJICBmb3IgaW50MzIsIGZsb2F0IGFuZCBkb3VibGUsIHVzZSBmbG9hdHMgZm9yIHRoZSBtZXNzYWdlIGNvbnRlbnRzLAoJICBhdmVyYWdlIGFsbCBGRlRzIGRvbmUgaW4gb25lIGludGVydmFsIGZvciBiZXR0ZXIgcmVzdWx0cywgdXNlCgkgIGEgYmV0dGVyIHdpbmRvd2luZyBmdW5jdGlvbiwgYWxsb3cgcG9zdGluZyB0aGUgcGhhc2UgaW4gdGhlIG1lc3NhZ2UKCSAgYW5kIGFjdHVhbGx5IGRvIGFuIEZGVCB3aXRoIHRoZSByZXF1ZXN0ZWQgbnVtYmVyIG9mIGJhbmRzIGluc3RlYWQKCSAgb2YgaW50ZXJwb2xhdGluZy4KCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9zcGVjdHJ1bS5jOiAoR1NUX1NUQVJUX1RFU1QpLAoJICAoc3BlY3RydW1fc3VpdGUpOgoJICBJbXByb3ZlIHRoZSB1bml0cyB0ZXN0cyBieSBjaGVja2luZyBmb3IgYSAxMTAyNUh6IHNpbmUgd2F2ZQoJICBhbmQgYWRkIHVuaXQgdGVzdHMgZm9yIGFsbCA0IHN1cHBvcnRlZCBzYW1wbGUgdHlwZXMuCgoyMDA3LTA5LTA1IDE2OjIzOjIxICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L3F0ZGVtdXgvOiBEb24ndCBhc3N1bWUgdGFncyBhcmUgZW5jb2RlZCBhcyBVVEYtOCAoIzQ3MzY3MCkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L01ha2VmaWxlLmFtOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgRG9uJ3QgYXNzdW1lIHRhZ3MgYXJlIGVuY29kZWQgYXMgVVRGLTggKCM0NzM2NzApLgoKMjAwNy0wOS0wNSAxNDo0MzoxNiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIHN5cy92NGwyLzogSW1wbGVtZW50IExBVEVOQ1kgcXVlcmllcyBpbiB0aGUgY3J1ZGVzdCB3YXkgcG9zc2libGUgc28gSSBkb24ndCBoYXZlIHRvIHVzZSBzeW5jPWZhbHNlIGFueSBsb25nZXIgd2hlbiB0ZS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkgICogc3lzL3Y0bDIvZ3N0djRsMnNyYy5oOgoJICAqIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuYzoKCSAgSW1wbGVtZW50IExBVEVOQ1kgcXVlcmllcyBpbiB0aGUgY3J1ZGVzdCB3YXkgcG9zc2libGUgc28gSSBkb24ndAoJICBoYXZlIHRvIHVzZSBzeW5jPWZhbHNlIGFueSBsb25nZXIgd2hlbiB0ZXN0aW5nIHdpdGggdmlkZW9zaW5rcy4KCjIwMDctMDktMDUgMDk6MjU6MjMgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBjb25maWd1cmUuYWM6IEZpeCBidWlsZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICBGaXggYnVpbGQuCgoyMDA3LTA5LTA1IDAwOjEyOjQ2ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5jOiBBZGQgc29tZSBtb3JlIGRlYnVnZ2luZyBpbiB0aGUgZnJhbWVyYXRlIGZ1bmN0aW9uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmM6CgkgIChnc3RfdjRsMnNyY19wcm9iZV9jYXBzX2Zvcl9mb3JtYXRfYW5kX3NpemUpOgoJICBBZGQgc29tZSBtb3JlIGRlYnVnZ2luZyBpbiB0aGUgZnJhbWVyYXRlIGZ1bmN0aW9uLgoJICBJdGVyYXRlIHN0ZXB3aXNlIGZyYW1lcmF0ZSB1cCB0byBhbmQgX2luY2x1ZGluZ18gdGhlIG1heCBhbmQgaWYgbm90aGluZwoJICB3YXMgYWRkZWQgdG8gdGhlIGxpc3QsIGFkZCBhIGR1bW15IDAvMSB0byAxMDAvMSBmcmFtZXJhdGUgc28gdGhhdCB3ZQoJICBkb24ndCBlbmQgdXAgd2l0aCBhbiBlbXB0eSBsaXN0LgoKMjAwNy0wOS0wNCAyMjo0MjoyMSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC91ZHAvZ3N0bXVsdGl1ZHBzaW5rLmM6IEFkZCBwcm9wZXJ0eSBkbyBjb25maWd1cmUgZGVzdGluYXRpb24gYWRkcmVzcy9wb3J0IHBhaXJzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC91ZHAvZ3N0bXVsdGl1ZHBzaW5rLmM6IChnc3RfbXVsdGl1ZHBzaW5rX2NsYXNzX2luaXQpLAoJICAoZ3N0X211bHRpdWRwc2lua19zZXRfY2xpZW50c19zdHJpbmcpLAoJICAoZ3N0X211bHRpdWRwc2lua19nZXRfY2xpZW50c19zdHJpbmcpLAoJICAoZ3N0X211bHRpdWRwc2lua19zZXRfcHJvcGVydHkpLCAoZ3N0X211bHRpdWRwc2lua19nZXRfcHJvcGVydHkpLAoJICAoZ3N0X211bHRpdWRwc2lua19pbml0X3NlbmQpLCAoZ3N0X211bHRpdWRwc2lua19hZGRfaW50ZXJuYWwpLAoJICAoZ3N0X211bHRpdWRwc2lua19hZGQpLCAoZ3N0X211bHRpdWRwc2lua19jbGVhcl9pbnRlcm5hbCksCgkgIChnc3RfbXVsdGl1ZHBzaW5rX2NsZWFyKToKCSAgQWRkIHByb3BlcnR5IGRvIGNvbmZpZ3VyZSBkZXN0aW5hdGlvbiBhZGRyZXNzL3BvcnQgcGFpcnMKCSAgQVBJOkdzdE11bHRpVURQU2luazo6Y2xpZW50cwoKMjAwNy0wOS0wNCAxODozMDoyMiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIHRlc3RzL2V4YW1wbGVzLzogQWRkZWQgc29tZSBSVFAgZXhhbXBsZSBzY3JpcHRzIGZvciBzZW5kaW5nIGFuZCByZWNlaXZpbmcgUlRQIHN0cmVhbXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2V4YW1wbGVzL01ha2VmaWxlLmFtOgoJICAqIHRlc3RzL2V4YW1wbGVzL3J0cC9NYWtlZmlsZS5hbToKCSAgKiB0ZXN0cy9leGFtcGxlcy9ydHAvY2xpZW50LUgyNjNwLUFNUi5zaDoKCSAgKiB0ZXN0cy9leGFtcGxlcy9ydHAvY2xpZW50LUgyNjNwLVBDTUEuc2RwOgoJICAqIHRlc3RzL2V4YW1wbGVzL3J0cC9jbGllbnQtSDI2M3AtUENNQS5zaDoKCSAgKiB0ZXN0cy9leGFtcGxlcy9ydHAvY2xpZW50LUgyNjQtUENNQS5zZHA6CgkgICogdGVzdHMvZXhhbXBsZXMvcnRwL2NsaWVudC1IMjY0LVBDTUEuc2g6CgkgICogdGVzdHMvZXhhbXBsZXMvcnRwL2NsaWVudC1QQ01BLnNoOgoJICAqIHRlc3RzL2V4YW1wbGVzL3J0cC9zZXJ2ZXItVlRTLUgyNjNwLUFUUy1QQ01BLnNoOgoJICAqIHRlc3RzL2V4YW1wbGVzL3J0cC9zZXJ2ZXItYWxzYXNyYy1QQ01BLnNoOgoJICAqIHRlc3RzL2V4YW1wbGVzL3J0cC9zZXJ2ZXItdjRsMi1IMjYzcC1hbHNhc3JjLUFNUi5zaDoKCSAgKiB0ZXN0cy9leGFtcGxlcy9ydHAvc2VydmVyLXY0bDItSDI2NC1hbHNhc3JjLVBDTUEuc2g6CgkgIEFkZGVkIHNvbWUgUlRQIGV4YW1wbGUgc2NyaXB0cyBmb3Igc2VuZGluZyBhbmQgcmVjZWl2aW5nIFJUUCBzdHJlYW1zLgoKMjAwNy0wOS0wNCAxNjo0MDowNSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIHN5cy92NGwyL2dzdHY0bDJzcmMuYzogUmVzdHJ1Y3R1cmUgdGhlIHNldGNhcHMgZnVuY3Rpb24gc28gdGhhdCB3ZSBjYW4gYWxzbyBjb21wdXRlIHRoZSBleHBlY3RlZCBHU3RyZWFtZXIgb3V0cHV0IHNpei4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6IChnc3RfdjRsMl9nZXRfY2Fwc19pbmZvKSwKCSAgKGdzdF92NGwyc3JjX3NldF9jYXBzKSwgKGdzdF92NGwyc3JjX2dldF9tbWFwKToKCSAgUmVzdHJ1Y3R1cmUgdGhlIHNldGNhcHMgZnVuY3Rpb24gc28gdGhhdCB3ZSBjYW4gYWxzbyBjb21wdXRlIHRoZQoJICBleHBlY3RlZCBHU3RyZWFtZXIgb3V0cHV0IHNpemUgb2YgdGhlIHZpZGVvIGZyYW1lcy4KCSAgU2V0IGZyYW1lX2J5dGVfc2l6ZSBjb3JyZWN0bHkgc28gdGhhdCByZWFkLWJhc2VkIGRldmljZXMgaGF2ZSBhIGNoYW5jZQoJICBvZiB3b3JraW5nIGNvcnJlY3RseS4KCSAgV2hlbiBncmFiYmluZyBhIGZyYW1lLCBkaXNjYXJkIGZyYW1lcyB0aGF0IGFyZSBub3Qgb2YgdGhlIGV4cGVjdGVkIHNpemUuCgkgIFNvbWUgY2FtZXJhcyBkb24ndCBvdXRwdXQgdGhlIHJpZ2h0IGZyYW1lc2l6ZSBmb3IgdGhlIGZpcnN0IGJ1ZmZlci4KCSAgVHJ5IG9ubHkgYSBjb3VwbGUgb2YgdGltZXMgdG8gZ2V0IGEgdmFsaWQgZnJhbWUsIGVsc2UgZXJyb3Igb3V0LgoJICAqIHN5cy92NGwyL3Y0bDJfY2FsbHMuYzogKGdzdF92NGwyX2dldF9jYXBhYmlsaXRpZXMpLAoJICAoZ3N0X3Y0bDJfZmlsbF9saXN0cyksIChnc3RfdjRsMl9nZXRfaW5wdXQpOgoJICBBZGQgc29tZSBtb3JlIGRlYnVnIGluZm8gd2hlbiBzY2FubmluZyB0aGUgZGV2aWNlLgoJICAqIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuYzogKGdzdF92NGwyX2J1ZmZlcl9uZXcpLAoJICAoZ3N0X3Y0bDJfYnVmZmVyX3Bvb2xfbmV3KSwgKGdzdF92NGwyX2J1ZmZlcl9wb29sX2FjdGl2YXRlKSwKCSAgKGdzdF92NGwyc3JjX2ZpbGxfZm9ybWF0X2xpc3QpLCAoZ3N0X3Y0bDJzcmNfZ3JhYl9mcmFtZSksCgkgIChnc3RfdjRsMnNyY19zZXRfY2FwdHVyZSksIChnc3RfdjRsMnNyY19jYXB0dXJlX2luaXQpOgoJICBBZGQgc29tZSBtb3JlIGRlYnVnIGluZm8gd2hlbiBkZXF1ZWluZyBhIGZyYW1lLgoKMjAwNy0wOS0wNCAxNDozNzoyMiArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6IE1vcmUgY29kZSBjbGVhbnVwcy4gQWRkIHNvbWUgbW9yZSBjb21tZW50IGFuZCBpbXByb3ZlIGRlYnVncyBsb2dzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzoKCSAgTW9yZSBjb2RlIGNsZWFudXBzLiBBZGQgc29tZSBtb3JlIGNvbW1lbnQgYW5kIGltcHJvdmUgZGVidWdzIGxvZ3MuCgoyMDA3LTA5LTA0IDA3OjU4OjM2ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuKjogSW1wbGVtZW50IHNlZWstcXVlcnkuIFJlZmFjdG9yIGR1cmF0aW9uIGNhbGN1bGF0aW9ucy4gQXBwcm9wcmlhdGUgdXNlIG9mIHVpbnQ2NF9zY2FsZV9pbnQuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6CgkgICogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmg6CgkgIEltcGxlbWVudCBzZWVrLXF1ZXJ5LiBSZWZhY3RvciBkdXJhdGlvbiBjYWxjdWxhdGlvbnMuIEFwcHJvcHJpYXRlIHVzZQoJICBvZiB1aW50NjRfc2NhbGVfaW50IGFuZCB1aW50NjRfc2NhbGUuIE1vdmUgcmVwZWFkZWRseSBjYWxjdWxhdGVkIHN0dWZmCgkgIG91dCBvZiBsb29wcy4KCjIwMDctMDktMDMgMDc6NDQ6MzQgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzogSW1wbGVtZW50IHNlZWstcXVlcnkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSAgSW1wbGVtZW50IHNlZWstcXVlcnkuCgoyMDA3LTA4LTI5IDIxOjQzOjA4ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiBVc2UgbmV3IGJhc2VzaW5rIGFzeW5jIHByb3BlcnR5IHRvIG1ha2Ugc3BhcnNlIFJUQ1AgcGFja2V0IG5vdCB3YWl0IGZvciBwcmVyb2xsLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IChnc3RfcnRzcHNyY19zdHJlYW1fY29uZmlndXJlX3VkcF9zaW5rKSwKCSAgKGdzdF9ydHNwc3JjX2R1cF9wcmludGYpOgoJICBVc2UgbmV3IGJhc2VzaW5rIGFzeW5jIHByb3BlcnR5IHRvIG1ha2Ugc3BhcnNlIFJUQ1AgcGFja2V0IG5vdCB3YWl0IGZvcgoJICBwcmVyb2xsLgoKMjAwNy0wOC0yNyAxNDo0NDoxOSArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBnc3QvYXVkaW9meC9NYWtlZmlsZS5hbTogRGlzdCB0aGUgcmlnaHQgZmlsZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2F1ZGlvZngvTWFrZWZpbGUuYW06CgkgIERpc3QgdGhlIHJpZ2h0IGZpbGUuCgoyMDA3LTA4LTIzIDE2OjI3OjM2ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiBNYWtlIHN1cmUgd2UgZ2VuZXJhdGUgYW5kIHBhcnNlIGZsb2F0aW5nIHBvaW50IHZhbHVlcyBpbiB0aGUgUE9TSVggbG9jYWxlIGluc3RlYWQgb2YgdGhlIGN1cnJlLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogKGdzdF9ydHNwc3JjX2R1cF9wcmludGYpLAoJICAoZ3N0X3J0c3BzcmNfZ2V0X2Zsb2F0KSwgKGdzdF9ydHNwc3JjX3BsYXkpOgoJICBNYWtlIHN1cmUgd2UgZ2VuZXJhdGUgYW5kIHBhcnNlIGZsb2F0aW5nIHBvaW50IHZhbHVlcyBpbiB0aGUgUE9TSVgKCSAgbG9jYWxlIGluc3RlYWQgb2YgdGhlIGN1cnJlbnQgbG9jYWxlLgoKMjAwNy0wOC0yMiAxNTowMToyOSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHNwL2dzdHJ0c3BzcmMuKjogRml4IG1ldGhvZCBkZXRlY3Rpb24gYWdhaW4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogKGdzdF9ydHNwc3JjX2RvX3NlZWspLAoJICAoZ3N0X3J0c3BzcmNfcGFyc2VfbWV0aG9kcyksIChnc3RfcnRzcHNyY19vcGVuKSwKCSAgKGdzdF9ydHNwc3JjX3BsYXkpOgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuaDoKCSAgRml4IG1ldGhvZCBkZXRlY3Rpb24gYWdhaW4uCgkgIEtlZXAgdHJhY2sgb2Ygd2hlbiB3ZSBtdXN0IHNlbmQgYSBSYW5nZSBoZWFkZXIuCgkgIFVzZSBzZWdtZW50IHZhbHVlcyBmb3IgUmFuZ2UsIFNwZWVkIGFuZCBTY2FsZSBoZWFkZXJzLgoJICBQYXJzZSBTcGVlZCBhbmQgU2NhbGUgaGVhZGVycyB0byB1cGRhdGUgdGhlIHNlZ21lbnQgdmFsdWVzLgoKMjAwNy0wOC0yMiAwODoyMjo1MCArMDAwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFuYXV3QHNreW5ldC5iZT4KCgkgIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuYzogSGFuZGxlIG9wdGlvbmFsIHY0bDIgaW9jdGxzIGdyYWNlZnVsbHkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBwYXRjaCBieTogTWFyayBOYXV3ZWxhZXJ0cyA8bWFuYXV3QHNreW5ldC5iZT4KCSAgKiBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmM6CgkgIEhhbmRsZSBvcHRpb25hbCB2NGwyIGlvY3RscyBncmFjZWZ1bGx5LgoKMjAwNy0wOC0yMCAxNjo1MjowMyArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHAvOiBBZGRlZCBhbiBIMjYzIGRlcGF5bG9hZGVyLiBGaXhlcyAjMzY5MzkyLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwL01ha2VmaWxlLmFtOgoJICAqIGdzdC9ydHAvZ3N0cnRwLmM6IChwbHVnaW5faW5pdCk6CgkgICogZ3N0L3J0cC9nc3RydHBoMjYzZGVwYXkuYzogKGdzdF9ydHBfaDI2M19kZXBheV9iYXNlX2luaXQpLAoJICAoZ3N0X3J0cF9oMjYzX2RlcGF5X2NsYXNzX2luaXQpLCAoZ3N0X3J0cF9oMjYzX2RlcGF5X2luaXQpLAoJICAoZ3N0X3J0cF9oMjYzX2RlcGF5X2ZpbmFsaXplKSwgKGdzdF9ydHBfaDI2M19kZXBheV9zZXRjYXBzKSwKCSAgKGdzdF9ydHBfaDI2M19kZXBheV9wcm9jZXNzKSwgKGdzdF9ydHBfaDI2M19kZXBheV9zZXRfcHJvcGVydHkpLAoJICAoZ3N0X3J0cF9oMjYzX2RlcGF5X2dldF9wcm9wZXJ0eSksCgkgIChnc3RfcnRwX2gyNjNfZGVwYXlfY2hhbmdlX3N0YXRlKSwKCSAgKGdzdF9ydHBfaDI2M19kZXBheV9wbHVnaW5faW5pdCk6CgkgICogZ3N0L3J0cC9nc3RydHBoMjYzZGVwYXkuaDoKCSAgQWRkZWQgYW4gSDI2MyBkZXBheWxvYWRlci4gRml4ZXMgIzM2OTM5Mi4KCSAgKiBnc3QvcnRwL2dzdHJ0cGgyNjNwZGVwYXkuYzogKGdzdF9ydHBfaDI2M3BfZGVwYXlfc2V0Y2FwcyksCgkgIChnc3RfcnRwX2gyNjNwX2RlcGF5X3Byb2Nlc3MpOgoJICAqIGdzdC9ydHAvZ3N0cnRwaDI2M3BwYXkuYzogKGdzdF9mcmFnbWVudGF0aW9uX21vZGVfZ2V0X3R5cGUpLAoJICAoZ3N0X3J0cF9oMjYzcF9wYXlfY2xhc3NfaW5pdCksIChnc3RfcnRwX2gyNjNwX3BheV9mbHVzaCk6CgkgIE1ha2UgdGhlIEgyNjMrIHBheS9kZXBheWxvYWRlciBzdXBwb3J0IEgyNjMtMTk5OCBhbmQgSDI2My0yMDAwCgkgIHBheWxvYWRzLgoJICBBbHNvIGFsb3cgcGxhaW4gSDI2MyBvbiB0aGUgaDI2M3AgcGF5bG9hZGVycy4gRml4ZXMgIzQ2NTA0MC4KCjIwMDctMDgtMTkgMTk6MTY6MzMgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9maWx0ZXIvOiBBZGQgc21hbGwgY29tcGFyaXNpb24gd2l0aCB0aGUgY2hlYnlzaGV2IGZpbHRlcnMgaW4gdGhlIGRvY3MuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9maWx0ZXIvZ3N0YnB3c2luYy5jOgoJICAqIGdzdC9maWx0ZXIvZ3N0bHB3c2luYy5jOgoJICBBZGQgc21hbGwgY29tcGFyaXNpb24gd2l0aCB0aGUgY2hlYnlzaGV2IGZpbHRlcnMgaW4gdGhlIGRvY3MuCgoyMDA3LTA4LTE5IDE5OjExOjA0ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvYXVkaW9meC86IEFkZCBzbWFsbCBjb21wYXJpc2lvbiB3aXRoIHRoZSB3aW5kb3dlZCBzaW5jIGZpbHRlcnMgaW4gdGhlIGRvY3MuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdWRpb2Z4L2F1ZGlvY2hlYnlzaGV2ZnJlcWJhbmQuYzoKCSAgKiBnc3QvYXVkaW9meC9hdWRpb2NoZWJ5c2hldmZyZXFsaW1pdC5jOgoJICBBZGQgc21hbGwgY29tcGFyaXNpb24gd2l0aCB0aGUgd2luZG93ZWQgc2luYyBmaWx0ZXJzIGluIHRoZSBkb2NzLgoKMjAwNy0wOC0xOSAxOTowMTo0NSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgdGVzdHMvY2hlY2svZWxlbWVudHMvOiBBbHNvIHRlc3QgZXZlcnl0aGluZyBpbiAzMiBiaXQgZmxvYXQgbW9kZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvYnB3c2luYy5jOiAoR1NUX1NUQVJUX1RFU1QpLAoJICAoYnB3c2luY19zdWl0ZSk6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvbHB3c2luYy5jOiAoR1NUX1NUQVJUX1RFU1QpLAoJICAobHB3c2luY19zdWl0ZSk6CgkgIEFsc28gdGVzdCBldmVyeXRoaW5nIGluIDMyIGJpdCBmbG9hdCBtb2RlLgoKMjAwNy0wOC0xOSAxODo0NzoxOSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgdGVzdHMvY2hlY2svZWxlbWVudHMvOiBBbHNvIHRlc3QgMzIgYml0IGZsb2F0IG1vZGUgYW5kIHRoZSB0eXBlIDIgdmFyaWFudHMgb2YgdGhlIGZpbHRlcnMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvY2hlYnlzaGV2ZnJlcWJhbmQuYzogKEdTVF9TVEFSVF9URVNUKSwKCSAgKGF1ZGlvY2hlYnlzaGV2ZnJlcWJhbmRfc3VpdGUpOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvY2hlYnlzaGV2ZnJlcWxpbWl0LmM6IChHU1RfU1RBUlRfVEVTVCksCgkgIChhdWRpb2NoZWJ5c2hldmZyZXFsaW1pdF9zdWl0ZSk6CgkgIEFsc28gdGVzdCAzMiBiaXQgZmxvYXQgbW9kZSBhbmQgdGhlIHR5cGUgMiB2YXJpYW50cyBvZiB0aGUgZmlsdGVycy4KCjIwMDctMDgtMTggMTk6NDQ6NTUgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IFJlZmFjdG9yIHRoZSB1ZHAgYW5kIGludGVybGVhdmVkIGxvb3AgZnVuY3Rpb24gYSBiaXQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogKGdzdF9ydHNwc3JjX2xvb3BfaW50ZXJsZWF2ZWQpLAoJICAoZ3N0X3J0c3BzcmNfbG9vcF91ZHApLCAoZ3N0X3J0c3BzcmNfbG9vcF9zZW5kX2NtZCksCgkgIChnc3RfcnRzcHNyY19sb29wKToKCSAgUmVmYWN0b3IgdGhlIHVkcCBhbmQgaW50ZXJsZWF2ZWQgbG9vcCBmdW5jdGlvbiBhIGJpdC4KCjIwMDctMDgtMTcgMTc6MDg6MTEgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRzcC9nc3RydHNwc3JjLio6IFByb3RlY3QgY29ubmVjdGlvbiBhY3Rpdml0eSB3aXRoIGEgbmV3IGxvY2ssIGF2b2lkcyBkZWFkbG9ja3Mgd2hlbiBnb2luZyB0byBQQVVTRUQuIEZpeGVzICM0NTUuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiAoZ3N0X3J0c3BzcmNfaW5pdCksCgkgIChnc3RfcnRzcHNyY19maW5hbGl6ZSksIChnc3RfcnRzcHNyY19jb25uZWN0aW9uX3NlbmQpLAoJICAoZ3N0X3J0c3BzcmNfY29ubmVjdGlvbl9yZWNlaXZlKSwgKGdzdF9ydHNwc3JjX3NpbmtfY2hhaW4pLAoJICAoZ3N0X3J0c3BzcmNfaGFuZGxlX3JlcXVlc3QpLCAoZ3N0X3J0c3BzcmNfc2VuZF9rZWVwX2FsaXZlKSwKCSAgKGdzdF9ydHNwc3JjX2xvb3BfaW50ZXJsZWF2ZWQpLCAoZ3N0X3J0c3BzcmNfbG9vcF91ZHApLAoJICAoZ3N0X3J0c3BzcmNfdHJ5X3NlbmQpLCAoZ3N0X3J0c3BzcmNfcGF1c2UpOgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuaDoKCSAgUHJvdGVjdCBjb25uZWN0aW9uIGFjdGl2aXR5IHdpdGggYSBuZXcgbG9jaywgYXZvaWRzIGRlYWRsb2NrcyB3aGVuIGdvaW5nCgkgIHRvIFBBVVNFRC4gRml4ZXMgIzQ1NTgwOC4KCjIwMDctMDgtMTcgMTU6MzA6MzkgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvZGVidWcvcm5kYnVmZmVyc2l6ZS5jOiBGaXggZGVidWcgc3RhdGVtZW50LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZGVidWcvcm5kYnVmZmVyc2l6ZS5jOiAoZ3N0X3JuZF9idWZmZXJfc2l6ZV9sb29wKToKCSAgRml4IGRlYnVnIHN0YXRlbWVudC4KCjIwMDctMDgtMTcgMTU6Mjg6NDAgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IEZpeCBzdHJheSAldSBpbiBkZWJ1ZyBsaW5lIGFzIHNwb3R0ZWQgYnkgU2F1ciBvbiBJUkMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogKGdzdF9ydHNwc3JjX2RvX3N0cmVhbV9lb3MpOgoJICBGaXggc3RyYXkgJXUgaW4gZGVidWcgbGluZSBhcyBzcG90dGVkIGJ5IFNhdXIgb24gSVJDLgoKMjAwNy0wOC0xNyAxNTowNToxNyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgVXNlIGdlbmVyYXRvciBtYWNyb3MgZm9yIHRoZSBwcm9jZXNzIGZ1bmN0aW9ucyBmb3IgdGhlIGRpZmZlcmVudCBzYW1wbGUgdHlwZXMsIGFkZCBsb3dlciB1cHBlciBib3VuZGFyaWVzIGZvciB0aGUgR09iLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9maWx0ZXIvZ3N0YnB3c2luYy5jOiAoZ3N0X2Jwd3NpbmNfY2xhc3NfaW5pdCksCgkgIChicHdzaW5jX3NldF9wcm9wZXJ0eSksIChicHdzaW5jX2dldF9wcm9wZXJ0eSk6CgkgICogZ3N0L2ZpbHRlci9nc3RicHdzaW5jLmg6CgkgICogZ3N0L2ZpbHRlci9nc3RscHdzaW5jLmM6IChnc3RfbHB3c2luY19jbGFzc19pbml0KSwKCSAgKGdzdF9scHdzaW5jX2luaXQpLCAobHB3c2luY19idWlsZF9rZXJuZWwpLCAobHB3c2luY19zZXRfcHJvcGVydHkpLAoJICAobHB3c2luY19nZXRfcHJvcGVydHkpOgoJICAqIGdzdC9maWx0ZXIvZ3N0bHB3c2luYy5oOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2xwd3NpbmMuYzogKEdTVF9TVEFSVF9URVNUKToKCSAgVXNlIGdlbmVyYXRvciBtYWNyb3MgZm9yIHRoZSBwcm9jZXNzIGZ1bmN0aW9ucyBmb3IgdGhlIGRpZmZlcmVudAoJICBzYW1wbGUgdHlwZXMsIGFkZCBsb3dlciB1cHBlciBib3VuZGFyaWVzIGZvciB0aGUgR09iamVjdCBwcm9wZXJ0aWVzCgkgIHNvIGF1dG9tYXRpY2FsbHkgZ2VuZXJhdGVkIFVJcyBjYW4gdXNlIHNsaWRlcnMgYW5kIGNoYW5nZSBmcmVxdWVuY3kKCSAgcHJvcGVydGllcyB0byBmbG9hdHMgdG8gc2F2ZSBhIGJpdCBvZiBtZW1vcnksIGV2ZW4gaW50cyB3b3VsZCBpbgoJICB0aGVvcnkgYmUgZW5vdWdoLiBBbHNvIHJlbmFtZSBmcmVxdWVuY3kgdG8gY3V0b2ZmIGZvciBjb25zaXN0ZW5jeQoJICByZWFzb25zLgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5zaWduYWxzOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc3RydHBtYW5hZ2VyLnhtbDoKCSAgUmVnZW5lcmF0ZWQgZm9yIHRoZSBhYm92ZSBjaGFuZ2VzLgoKMjAwNy0wOC0xNyAxNDo0MzozMyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2F1ZGlvZngvOiBVc2UgZ2VuZXJhdG9yIG1hY3JvcyBmb3IgdGhlIHByb2Nlc3MgZnVuY3Rpb25zIGZvciB0aGUgZGlmZmVyZW50IHNhbXBsZSB0eXBlcywgYWRkIGxvd2VyIHVwcGVyIGJvdW5kYXJpLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdWRpb2Z4L2F1ZGlvY2hlYnlzaGV2ZnJlcWJhbmQuYzoKCSAgKGdzdF9hdWRpb19jaGVieXNoZXZfZnJlcV9iYW5kX2NsYXNzX2luaXQpOgoJICAqIGdzdC9hdWRpb2Z4L2F1ZGlvY2hlYnlzaGV2ZnJlcWxpbWl0LmM6CgkgIChnc3RfYXVkaW9fY2hlYnlzaGV2X2ZyZXFfbGltaXRfY2xhc3NfaW5pdCk6CgkgIFVzZSBnZW5lcmF0b3IgbWFjcm9zIGZvciB0aGUgcHJvY2VzcyBmdW5jdGlvbnMgZm9yIHRoZSBkaWZmZXJlbnQKCSAgc2FtcGxlIHR5cGVzLCBhZGQgbG93ZXIgdXBwZXIgYm91bmRhcmllcyBmb3IgdGhlIEdPYmplY3QgcHJvcGVydGllcwoJICBzbyBhdXRvbWF0aWNhbGx5IGdlbmVyYXRlZCBVSXMgY2FuIHVzZSBzbGlkZXJzIGFuZCBhZGQgYSBub3RlIGFib3V0CgkgIHRoZSBudW1iZXIgb2YgcG9sZXMgYXMgYSB0b28gaGlnaCBudW1iZXIgb2YgcG9sZXMgY29tYmluZWQgd2l0aAoJICB2ZXJ5IGxvdyBvciB2ZXJ5IGhpZ2ggZnJlcXVlbmNpZXMgd2lsbCBwcm9kdWNlIG9ubHkgbm9pc2UuCgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5hcmdzOgoJICBSZWdlbmVyYXRlZCBmb3IgdGhlIHByb3BlcnR5IGNoYW5nZXMuCgoyMDA3LTA4LTE3IDE0OjE1OjE5ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0c3AvZ3N0cnRzcHNyYy4qOiBJbXByb3ZlIHRpbWVvdXQgaGFuZGxpbmcuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogKGdzdF9ydHNwc3JjX3NldF9wcm9wZXJ0eSksCgkgIChnc3RfcnRzcHNyY19mbHVzaCksIChnc3RfcnRzcHNyY19zaW5rX2NoYWluKSwKCSAgKGdzdF9ydHNwc3JjX3N0cmVhbV9jb25maWd1cmVfdWRwX3NpbmspLAoJICAoZ3N0X3J0c3BzcmNfc2VuZF9rZWVwX2FsaXZlKSwgKGdzdF9ydHNwc3JjX2xvb3BfaW50ZXJsZWF2ZWQpLAoJICAoZ3N0X3J0c3BzcmNfbG9vcF91ZHApLCAoZ3N0X3J0c3BzcmNfbG9vcF9zZW5kX2NtZCksCgkgIChnc3RfcnRzcHNyY190cnlfc2VuZCksIChnc3RfcnRzcHNyY19zZW5kKSwKCSAgKGdzdF9ydHNwc3JjX3BhcnNlX21ldGhvZHMpLCAoZ3N0X3J0c3BzcmNfcGFyc2VfcmFuZ2UpLAoJICAoZ3N0X3J0c3BzcmNfb3BlbiksIChnc3RfcnRzcHNyY19jbG9zZSksIChnc3RfcnRzcHNyY19wYXVzZSksCgkgIChnc3RfcnRzcHNyY19oYW5kbGVfbWVzc2FnZSksIChnc3RfcnRzcHNyY19jaGFuZ2Vfc3RhdGUpOgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuaDoKCSAgSW1wcm92ZSB0aW1lb3V0IGhhbmRsaW5nLgoJICBVc2UgdGhlIHNhbWUgc29ja2V0IGZvciBzZW5kaW5nIGFuZCByZWNlaXZpbmcgUlRDUCBwYWNrZXRzIHNvIHRoYXQgc29tZQoJICBzZXJ2ZXJzIGNhbiB0cmFjayBjbGllbnRzIGJldHRlci4KCSAgSW1wcm92ZSBjb25uZWN0aW9uIGNsb3NlZCBoYW5kbGluZy4gVHJ5IHRvIHJlY29ubmVjdC4KCSAgRG9uJ3Qgb3ZlcndyaXRlIG91ciBjb250ZW50IGJhc2Ugd2l0aCBOVUxMLgoJICBJbXByb3ZlIGRlYnVnZ2luZy4KCSAgSW1wcm92ZSByYW5nZSBwYXJzaW5nIGFuZCBoYW5kbGluZy4KCSAgUmVtb3ZlIGZsdXNoaW5nIGhhY2sgbm93IHRoYXQgY29yZSBkb2VzIHRoZSByaWdodCB0aGluZy4KCjIwMDctMDgtMTcgMTM6NTk6MTUgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvdWRwL2dzdG11bHRpdWRwc2luay4qOiBBZGQgc3VwcG9ydCBmb3IgZ2V0dGluZyBhbmQgc2V0dGluZyB0aGUgc29ja2V0IHRvIHVzZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuYzogKGdzdF9tdWx0aXVkcHNpbmtfY2xhc3NfaW5pdCksCgkgIChnc3RfbXVsdGl1ZHBzaW5rX2luaXQpLCAoZ3N0X211bHRpdWRwc2lua19zZXRfcHJvcGVydHkpLAoJICAoZ3N0X211bHRpdWRwc2lua19nZXRfcHJvcGVydHkpLCAoZ3N0X211bHRpdWRwc2lua19pbml0X3NlbmQpLAoJICAoZ3N0X211bHRpdWRwc2lua19jbG9zZSksIChnc3RfbXVsdGl1ZHBzaW5rX2FkZCk6CgkgICogZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuaDoKCSAgQWRkIHN1cHBvcnQgZm9yIGdldHRpbmcgYW5kIHNldHRpbmcgdGhlIHNvY2tldCB0byB1c2UuCgkgICogZ3N0L3VkcC9nc3R1ZHBzcmMuYzogKGdzdF91ZHBzcmNfY2xhc3NfaW5pdCksIChnc3RfdWRwc3JjX2luaXQpLAoJICAoZ3N0X3VkcHNyY19jcmVhdGUpLCAoZ3N0X3VkcHNyY19nZXRfcHJvcGVydHkpOgoJICBBZGQgc3VwcG9ydCBmb3IgZ2V0dGluZyB0aGUgY3VycmVudGx5IHVzZWQgc29ja2V0LgoKMjAwNy0wOC0xNiAxOToyMjo0OCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2ZpbHRlci9nc3RicHdzaW5jLio6IEltcGxlbWVudCBsYXRlbmN5IHF1ZXJ5IGFuZCBvbmx5IGZvcndhcmQgdGhvc2Ugc2FtcGxlcyBkb3duc3RyZWFtIHRoYXQgYWN0dWFsbHkgY29udGFpbiB0aGUgLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9maWx0ZXIvZ3N0YnB3c2luYy5jOiAoZ3N0X2Jwd3NpbmNfY2xhc3NfaW5pdCksCgkgIChnc3RfYnB3c2luY19pbml0KSwgKHByb2Nlc3NfMzIpLCAocHJvY2Vzc182NCksCgkgIChicHdzaW5jX2J1aWxkX2tlcm5lbCksIChicHdzaW5jX3B1c2hfcmVzaWR1ZSksCgkgIChicHdzaW5jX3RyYW5zZm9ybSksIChicHdzaW5jX3N0YXJ0KSwgKGJwd3NpbmNfcXVlcnkpLAoJICAoYnB3c2luY19xdWVyeV90eXBlKSwgKGJwd3NpbmNfZXZlbnQpLCAoYnB3c2luY19zZXRfcHJvcGVydHkpOgoJICAqIGdzdC9maWx0ZXIvZ3N0YnB3c2luYy5oOgoJICBJbXBsZW1lbnQgbGF0ZW5jeSBxdWVyeSBhbmQgb25seSBmb3J3YXJkIHRob3NlIHNhbXBsZXMgZG93bnN0cmVhbQoJICB0aGF0IGFjdHVhbGx5IGNvbnRhaW4gdGhlIGRhdGEgd2Ugd2FudCwgaS5lLiBkcm9wIGtlcm5lbF9sZW5ndGgvMgoJICBpbiB0aGUgYmVnaW5uaW5nIGFuZCBhcHBlbmQga2VybmVsX2xlbmd0aC8yIChjcmVhdGVkIGJ5IGNvbnZvbHZpbmcKCSAgdGhlIGZpbHRlciBrZXJuZWwgd2l0aCB6ZXJvZXMpIHRvIHRoZSBlbmQuCgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvYnB3c2luYy5jOiAoR1NUX1NUQVJUX1RFU1QpOgoJICBBZGp1c3QgdGhlIHVuaXQgdGVzdCBmb3IgdGhpcyBzbGlnaHRseSBjaGFuZ2VkIGJlaGF2aW91ci4KCSAgKiBnc3QvZmlsdGVyL2dzdGxwd3NpbmMuYzogKGxwd3NpbmNfYnVpbGRfa2VybmVsKToKCSAgUmVzZXQgcmVzaWR1ZSBsZW5ndGggb25seSB3aGVuIGFjdHVhbGx5IGNyZWF0aW5nIGEgcmVzaWR1ZS4KCjIwMDctMDgtMTYgMTc6MDI6MDcgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9hdWRpb2Z4LzogQWRkIENoZWJ5c2hldiBsb3dwYXNzL2hpZ2hwYXNzIGFuZCBiYW5kcGFzcy9iYW5kcmVqZWN0IGVsZW1lbnRzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgcmV2aWV3ZWQgYnk6IFN0ZWZhbiBLb3N0ICA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgkgICogZ3N0L2F1ZGlvZngvTWFrZWZpbGUuYW06CgkgICogZ3N0L2F1ZGlvZngvYXVkaW9jaGVieXNoZXZmcmVxYmFuZC5jOgoJICAoZ3N0X2F1ZGlvX2NoZWJ5c2hldl9mcmVxX2JhbmRfbW9kZV9nZXRfdHlwZSksCgkgIChnc3RfYXVkaW9fY2hlYnlzaGV2X2ZyZXFfYmFuZF9iYXNlX2luaXQpLAoJICAoZ3N0X2F1ZGlvX2NoZWJ5c2hldl9mcmVxX2JhbmRfZGlzcG9zZSksCgkgIChnc3RfYXVkaW9fY2hlYnlzaGV2X2ZyZXFfYmFuZF9jbGFzc19pbml0KSwKCSAgKGdzdF9hdWRpb19jaGVieXNoZXZfZnJlcV9iYW5kX2luaXQpLAoJICAoZ2VuZXJhdGVfYmlxdWFkX2NvZWZmaWNpZW50cyksIChjYWxjdWxhdGVfZ2FpbiksCgkgIChnZW5lcmF0ZV9jb2VmZmljaWVudHMpLAoJICAoZ3N0X2F1ZGlvX2NoZWJ5c2hldl9mcmVxX2JhbmRfc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9hdWRpb19jaGVieXNoZXZfZnJlcV9iYW5kX2dldF9wcm9wZXJ0eSksCgkgIChnc3RfYXVkaW9fY2hlYnlzaGV2X2ZyZXFfYmFuZF9zZXR1cCksIChwcm9jZXNzKSwgKHByb2Nlc3NfNjQpLAoJICAocHJvY2Vzc18zMiksIChnc3RfYXVkaW9fY2hlYnlzaGV2X2ZyZXFfYmFuZF90cmFuc2Zvcm1faXApLAoJICAoZ3N0X2F1ZGlvX2NoZWJ5c2hldl9mcmVxX2JhbmRfc3RhcnQpOgoJICAqIGdzdC9hdWRpb2Z4L2F1ZGlvY2hlYnlzaGV2ZnJlcWJhbmQuaDoKCSAgKiBnc3QvYXVkaW9meC9hdWRpb2NoZWJ5c2hldmZyZXFsaW1pdC5jOgoJICAoZ3N0X2F1ZGlvX2NoZWJ5c2hldl9mcmVxX2xpbWl0X21vZGVfZ2V0X3R5cGUpLAoJICAoZ3N0X2F1ZGlvX2NoZWJ5c2hldl9mcmVxX2xpbWl0X2Jhc2VfaW5pdCksCgkgIChnc3RfYXVkaW9fY2hlYnlzaGV2X2ZyZXFfbGltaXRfZGlzcG9zZSksCgkgIChnc3RfYXVkaW9fY2hlYnlzaGV2X2ZyZXFfbGltaXRfY2xhc3NfaW5pdCksCgkgIChnc3RfYXVkaW9fY2hlYnlzaGV2X2ZyZXFfbGltaXRfaW5pdCksCgkgIChnZW5lcmF0ZV9iaXF1YWRfY29lZmZpY2llbnRzKSwgKGNhbGN1bGF0ZV9nYWluKSwKCSAgKGdlbmVyYXRlX2NvZWZmaWNpZW50cyksCgkgIChnc3RfYXVkaW9fY2hlYnlzaGV2X2ZyZXFfbGltaXRfc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9hdWRpb19jaGVieXNoZXZfZnJlcV9saW1pdF9nZXRfcHJvcGVydHkpLAoJICAoZ3N0X2F1ZGlvX2NoZWJ5c2hldl9mcmVxX2xpbWl0X3NldHVwKSwgKHByb2Nlc3MpLCAocHJvY2Vzc182NCksCgkgIChwcm9jZXNzXzMyKSwgKGdzdF9hdWRpb19jaGVieXNoZXZfZnJlcV9saW1pdF90cmFuc2Zvcm1faXApLAoJICAoZ3N0X2F1ZGlvX2NoZWJ5c2hldl9mcmVxX2xpbWl0X3N0YXJ0KToKCSAgKiBnc3QvYXVkaW9meC9hdWRpb2NoZWJ5c2hldmZyZXFsaW1pdC5oOgoJICAqIGdzdC9hdWRpb2Z4L2F1ZGlvZnguYzogKHBsdWdpbl9pbml0KToKCSAgQWRkIENoZWJ5c2hldiBsb3dwYXNzL2hpZ2hwYXNzIGFuZCBiYW5kcGFzcy9iYW5kcmVqZWN0IGVsZW1lbnRzLgoJICBGaXhlcyAjNDY0ODAwLgoJICAqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzLy5jdnNpZ25vcmU6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvYXVkaW9jaGVieXNoZXZmcmVxYmFuZC5jOgoJICAoc2V0dXBfYXVkaW9jaGVieXNoZXZmcmVxYmFuZCksIChjbGVhbnVwX2F1ZGlvY2hlYnlzaGV2ZnJlcWJhbmQpLAoJICAoR1NUX1NUQVJUX1RFU1QpLCAoYXVkaW9jaGVieXNoZXZmcmVxYmFuZF9zdWl0ZSksIChtYWluKToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdWRpb2NoZWJ5c2hldmZyZXFsaW1pdC5jOgoJICAoc2V0dXBfYXVkaW9jaGVieXNoZXZmcmVxbGltaXQpLCAoY2xlYW51cF9hdWRpb2NoZWJ5c2hldmZyZXFsaW1pdCksCgkgIChHU1RfU1RBUlRfVEVTVCksIChhdWRpb2NoZWJ5c2hldmZyZXFsaW1pdF9zdWl0ZSksIChtYWluKToKCSAgQWRkIHVuaXQgdGVzdHMgZm9yIHRoZSBjaGVieXNoZXYgZmlsdGVycy4KCSAgKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1kb2NzLnNnbWw6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5hcmdzOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi0xMzk0LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9meC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmxhYy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwZWcueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbmcueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHAueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaG91dDJzZW5kLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFjay54bWw6CgkgIEFuZCBhZGQgZG9jcyBmb3IgdGhlIGNoZWJ5c2hldiBmaWx0ZXJzLiBXaGlsZSBkb2luZwoJICB0aGF0IGFsc28gcnVuIG1ha2UgdXBkYXRlIGluIGRvY3MvcGx1Z2lucy4KCjIwMDctMDgtMTYgMTI6MTU6MDYgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIE1ha2Ugcm8gbWVtb3J5IHRvIHNoYXJlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvYW5ub2RleC9nc3RjbW1sdGFnLmM6CgkgICogZ3N0L3J0cC9nc3RydHB2b3JiaXNwYXkuYzoKCSAgTWFrZSBybyBtZW1vcnkgdG8gc2hhcmUuCgoyMDA3LTA4LTE2IDExOjQ5OjAxICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3VkcC9nc3R1ZHBzcmMuYzogSW1wcm92ZSBVRFAgcGVyZm9ybWFuY2UgYnkgYXZvaWRpbmcgYSBzZWxlY3QoKSB3aGVuIHdlIGhhdmUgZGF0YSBhdmFpbGFibGUgaW1tZWRpYXRseS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3VkcC9nc3R1ZHBzcmMuYzogKGdzdF91ZHBzcmNfY3JlYXRlKToKCSAgSW1wcm92ZSBVRFAgcGVyZm9ybWFuY2UgYnkgYXZvaWRpbmcgYSBzZWxlY3QoKSB3aGVuIHdlIGhhdmUgZGF0YQoJICBhdmFpbGFibGUgaW1tZWRpYXRseS4KCjIwMDctMDgtMTYgMTE6NDc6MTkgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRzcC9nc3RydHBkZWMuKjogQWRkIChkdW1teSkgU1NSQyBtYW5hZ2VtZW50IHNpZ25hbHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHNwL2dzdHJ0cGRlYy5jOiAoZ3N0X3J0cF9kZWNfbWFyc2hhbF9WT0lEX19VSU5UX1VJTlQpLAoJICAoZ3N0X3J0cF9kZWNfY2xhc3NfaW5pdCk6CgkgICogZ3N0L3J0c3AvZ3N0cnRwZGVjLmg6CgkgIEFkZCAoZHVtbXkpIFNTUkMgbWFuYWdlbWVudCBzaWduYWxzLgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogKGdzdF9ydHNwc3JjX2NsYXNzX2luaXQpLAoJICAoZ3N0X3J0c3BzcmNfc2V0X3Byb3BlcnR5KSwgKGdzdF9ydHNwc3JjX2dldF9wcm9wZXJ0eSksCgkgIChmaW5kX3N0cmVhbSksIChnc3RfcnRzcHNyY19jcmVhdGVfc3RyZWFtKSwgKG5ld19zZXNzaW9uX3BhZCksCgkgIChyZXF1ZXN0X3B0X21hcCksIChnc3RfcnRzcHNyY19kb19zdHJlYW1fZW9zKSwgKG9uX2J5ZV9zc3JjKSwKCSAgKG9uX3RpbWVvdXQpLCAoZ3N0X3J0c3BzcmNfc3RyZWFtX2NvbmZpZ3VyZV9tYW5hZ2VyKSwKCSAgKGdzdF9ydHNwc3JjX3N0cmVhbV9wdXNoX2V2ZW50KSwgKGdzdF9ydHNwc3JjX3B1c2hfZXZlbnQpLAoJICAoZ3N0X3J0c3BzcmNfbG9vcF9pbnRlcmxlYXZlZCksIChnc3RfcnRzcHNyY19wYXJzZV9ydHBpbmZvKSwKCSAgKGdzdF9ydHNwc3JjX2hhbmRsZV9tZXNzYWdlKSwgKGdzdF9ydHNwc3JjX2NoYW5nZV9zdGF0ZSk6CgkgICogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5oOgoJICBBZGQgY29ubmVjdGlvbi1zcGVlZCBwcm9wZXJ0eS4KCSAgQWRkIGZpbmRfc3RyZWFtIGhlbHBlciBmdW5jdGlvbnMuCgkgIEhhbmRsZSBzdHJlYW0gRU9TIGJhc2VkIG9uIEJZRSBtZXNzYWdlcyBvciBTU1JDIHRpbWVvdXQuCgkgIFJldHVybnMgU1VDQ0VTUyBmcm9tIHRoZSBzdGF0ZSBjaGFuZ2UgZnVuY3Rpb24gYXMgd2UgaGlkZSBvdXIgYXN5bmMKCSAgZWxlbWVudHMgZnJvbSB0aGUgcGFyZW50LgoKMjAwNy0wOC0xNiAwOTo0ODoyNyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2ZpbHRlci9nc3RscHdzaW5jLio6IEltcGxlbWVudCBsYXRlbmN5IHF1ZXJ5IGFuZCBvbmx5IGZvcndhcmQgdGhvc2Ugc2FtcGxlcyBkb3duc3RyZWFtIHRoYXQgYWN0dWFsbHkgY29udGFpbiB0aGUgLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9maWx0ZXIvZ3N0bHB3c2luYy5jOiAoZ3N0X2xwd3NpbmNfY2xhc3NfaW5pdCksCgkgIChnc3RfbHB3c2luY19pbml0KSwgKHByb2Nlc3NfMzIpLCAocHJvY2Vzc182NCksCgkgIChscHdzaW5jX2J1aWxkX2tlcm5lbCksIChscHdzaW5jX3B1c2hfcmVzaWR1ZSksCgkgIChscHdzaW5jX3RyYW5zZm9ybSksIChscHdzaW5jX3N0YXJ0KSwgKGxwd3NpbmNfcXVlcnkpLAoJICAobHB3c2luY19xdWVyeV90eXBlKSwgKGxwd3NpbmNfZXZlbnQpLCAobHB3c2luY19zZXRfcHJvcGVydHkpOgoJICAqIGdzdC9maWx0ZXIvZ3N0bHB3c2luYy5oOgoJICBJbXBsZW1lbnQgbGF0ZW5jeSBxdWVyeSBhbmQgb25seSBmb3J3YXJkIHRob3NlIHNhbXBsZXMgZG93bnN0cmVhbQoJICB0aGF0IGFjdHVhbGx5IGNvbnRhaW4gdGhlIGRhdGEgd2Ugd2FudCwgaS5lLiBkcm9wIGtlcm5lbF9sZW5ndGgvMgoJICBpbiB0aGUgYmVnaW5uaW5nIGFuZCBhcHBlbmQga2VybmVsX2xlbmd0aC8yIChjcmVhdGVkIGJ5IGNvbnZvbHZpbmcKCSAgdGhlIGZpbHRlciBrZXJuZWwgd2l0aCB6ZXJvZXMpIHRvIHRoZSBlbmQuCgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvbHB3c2luYy5jOiAoR1NUX1NUQVJUX1RFU1QpOgoJICBBZGp1c3QgdGhlIHVuaXQgdGVzdCBmb3IgdGhpcyBzbGlnaHRseSBjaGFuZ2VkIGJlaGF2aW91ci4KCjIwMDctMDgtMTYgMDc6NDA6NDggKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC9kZWJ1Zy9ybmRidWZmZXJzaXplLmM6IEZpeCBkYSBsZWFrLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZGVidWcvcm5kYnVmZmVyc2l6ZS5jOgoJICBGaXggZGEgbGVhay4KCjIwMDctMDgtMTQgMTM6NTA6NDMgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC9kZWJ1Zy86IEFkZCBuZXcgdGVzdCBlbGVtZW50IGFuZCBjbGVhbi11cCB0aGUgb3RoZXJzIGEgbGl0dGxlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZGVidWcvTWFrZWZpbGUuYW06CgkgICogZ3N0L2RlYnVnL2JyZWFrbXlkYXRhLmM6CgkgICogZ3N0L2RlYnVnL2dzdGRlYnVnLmM6CgkgICogZ3N0L2RlYnVnL25lZ290aWF0aW9uLmM6CgkgICogZ3N0L2RlYnVnL3Byb2dyZXNzcmVwb3J0LmM6CgkgICogZ3N0L2RlYnVnL3JuZGJ1ZmZlcnNpemUuYzoKCSAgKiBnc3QvZGVidWcvdGVzdHBsdWdpbi5jOgoJICBBZGQgbmV3IHRlc3QgZWxlbWVudCBhbmQgY2xlYW4tdXAgdGhlIG90aGVycyBhIGxpdHRsZS4KCjIwMDctMDgtMTMgMTM6NTA6MzkgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIEFkZCBkb2NzIGZvciBscHdzaW5jIGFuZCBicHdzaW5jIGFuZCBpbnRlZ3JhdGUgdGhlbSBpbnRvIHRoZSBidWlsZCBzeXN0ZW0uIFdoaWxlIGRvaW5nIHRoYXQgYWxzbyB1cGRhdGUgYWxsIG90aGVyIGRvYy4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5zaWduYWxzOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iejIueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZHhhcGFyc2UueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdHNkZWMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFjLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhZC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZpbHRlci54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZyZWV6ZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzbS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzdHJ0cG1hbmFnZXIueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1oMjY0cGFyc2UueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tb2RwbHVnLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZzJlbmMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdXNlcGFjay54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11c2ljYnJhaW56LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbnNmZGVjLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVwbGF5Z2Fpbi54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdW5kdG91Y2gueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGNkZWMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVjdHJ1bS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWVkLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdHRhLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9zaWduYWwueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14aW5naGVhZGVyLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teHZpZC54bWw6CgkgICogZ3N0L2ZpbHRlci9nc3RicHdzaW5jLmM6CgkgICogZ3N0L2ZpbHRlci9nc3RicHdzaW5jLmg6CgkgICogZ3N0L2ZpbHRlci9nc3RscHdzaW5jLmM6CgkgICogZ3N0L2ZpbHRlci9nc3RscHdzaW5jLmg6CgkgIEFkZCBkb2NzIGZvciBscHdzaW5jIGFuZCBicHdzaW5jIGFuZCBpbnRlZ3JhdGUgdGhlbQoJICBpbnRvIHRoZSBidWlsZCBzeXN0ZW0uIFdoaWxlIGRvaW5nIHRoYXQgYWxzbyB1cGRhdGUKCSAgYWxsIG90aGVyIGRvY3MgdmlhIG1ha2UgdXBkYXRlIGluIGRvY3MvcGx1Z2lucy4KCjIwMDctMDgtMTIgMjA6NTU6MDEgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2Jwd3NpbmMuYzogTWFrZSBvbmUgdGVzdCBjb25zdHJhaW50IGEgYml0IHN0cmljdGVyLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9icHdzaW5jLmM6IChHU1RfU1RBUlRfVEVTVCk6CgkgIE1ha2Ugb25lIHRlc3QgY29uc3RyYWludCBhIGJpdCBzdHJpY3Rlci4KCjIwMDctMDgtMTIgMjA6NTM6MTEgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIHRlc3RzL2NoZWNrLzogQWRkIHVuaXQgdGVzdHMgZm9yIGJwd3NpbmMsIHRlc3RpbmcgZnVuZGFtZW50YWwgZnVuY3Rpb25hbGl0eSBhZ2Fpbi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvLmN2c2lnbm9yZToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9icHdzaW5jLmM6IChzZXR1cF9icHdzaW5jKSwKCSAgKGNsZWFudXBfYnB3c2luYyksIChHU1RfU1RBUlRfVEVTVCksIChicHdzaW5jX3N1aXRlKSwgKG1haW4pOgoJICBBZGQgdW5pdCB0ZXN0cyBmb3IgYnB3c2luYywgdGVzdGluZyBmdW5kYW1lbnRhbCBmdW5jdGlvbmFsaXR5IGFnYWluLgoKMjAwNy0wOC0xMiAyMDoxOTozNyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgdGVzdHMvY2hlY2svOiBBZGQgdW5pdCB0ZXN0cyBmb3IgbHB3c2luYywgdGVzdGluZyBmdW5kYW1lbnRhbCBmdW5jdGlvbmFsaXR5LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy8uY3ZzaWdub3JlOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2xwd3NpbmMuYzogKHNldHVwX2xwd3NpbmMpLAoJICAoY2xlYW51cF9scHdzaW5jKSwgKEdTVF9TVEFSVF9URVNUKSwgKGxwd3NpbmNfc3VpdGUpLCAobWFpbik6CgkgIEFkZCB1bml0IHRlc3RzIGZvciBscHdzaW5jLCB0ZXN0aW5nIGZ1bmRhbWVudGFsIGZ1bmN0aW9uYWxpdHkuCgoyMDA3LTA4LTEyIDE1OjQxOjU3ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvZmlsdGVyLzogSW1wcm92ZSBkZWJ1Z2dpbmcgYSBiaXQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9maWx0ZXIvZ3N0YnB3c2luYy5jOiAoYnB3c2luY19idWlsZF9rZXJuZWwpOgoJICAqIGdzdC9maWx0ZXIvZ3N0bHB3c2luYy5jOiAobHB3c2luY19idWlsZF9rZXJuZWwpOgoJICBJbXByb3ZlIGRlYnVnZ2luZyBhIGJpdC4KCjIwMDctMDgtMTIgMTQ6MzU6NDEgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IEZpeCBwYXJzaW5nIG9mIG1wNGEgdmVyc2lvbiAwIGF0b21zLiBGaXhlcyAjNDY1Nzc0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChxdGRlbXV4X3BhcnNlX25vZGUpOgoJICBGaXggcGFyc2luZyBvZiBtcDRhIHZlcnNpb24gMCBhdG9tcy4gRml4ZXMgIzQ2NTc3NC4KCjIwMDctMDgtMTIgMTI6NDY6MjAgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9maWx0ZXIvOiBSZXNldCB0aGUgcmVzaWR1ZSBpbiBCYXNlVHJhbnNmb3JtOjpzdGFydCB0byBnZXQgYSBjbGVhbiByZXNpZHVlIG9uIHN0cmVhbSBjaGFuZ2VzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZmlsdGVyL2dzdGJwd3NpbmMuYzogKGdzdF9icHdzaW5jX2NsYXNzX2luaXQpLAoJICAoYnB3c2luY19zdGFydCk6CgkgICogZ3N0L2ZpbHRlci9nc3RscHdzaW5jLmM6IChnc3RfbHB3c2luY19jbGFzc19pbml0KSwKCSAgKGxwd3NpbmNfc3RhcnQpOgoJICBSZXNldCB0aGUgcmVzaWR1ZSBpbiBCYXNlVHJhbnNmb3JtOjpzdGFydCB0byBnZXQgYSBjbGVhbiByZXNpZHVlCgkgIG9uIHN0cmVhbSBjaGFuZ2VzLgoKMjAwNy0wOC0xMSAxNTo1ODozMCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2ZpbHRlci86IEZpeCBwcm9jZXNzaW5nIHdpdGggYnVmZmVyIHNpemVzIHRoYXQgYXJlIGxhcmdlciB0aGFuIHRoZSBmaWx0ZXIga2VybmVsIHNpemUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9maWx0ZXIvZ3N0YnB3c2luYy5jOiAocHJvY2Vzc18zMiksIChwcm9jZXNzXzY0KToKCSAgKiBnc3QvZmlsdGVyL2dzdGxwd3NpbmMuYzogKHByb2Nlc3NfMzIpLCAocHJvY2Vzc182NCk6CgkgIEZpeCBwcm9jZXNzaW5nIHdpdGggYnVmZmVyIHNpemVzIHRoYXQgYXJlIGxhcmdlciB0aGFuIHRoZSBmaWx0ZXIKCSAga2VybmVsIHNpemUuCgoyMDA3LTA4LTEwIDE3OjA4OjAxICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3QvcnRwL2dzdHJ0cGlsYmNkZXBheS5jOiBJbmNsdWRlIHN0ZGxpYi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cC9nc3RydHBpbGJjZGVwYXkuYzoKCSAgSW5jbHVkZSBzdGRsaWIuCgoyMDA3LTA4LTEwIDE2OjEwOjQ3ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cC9nc3RydHBtcHZkZXBheS5jOiBTZXQgdGhlIG1wZWd2ZXJzaW9uIGluIHRoZSBjYXBzIHNvIHRoYXQgYXV0b3BsdWdnaW5nIGRvZXMgbm90IGdldCBjb25mdXNlZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cC9nc3RydHBtcHZkZXBheS5jOgoJICBTZXQgdGhlIG1wZWd2ZXJzaW9uIGluIHRoZSBjYXBzIHNvIHRoYXQgYXV0b3BsdWdnaW5nIGRvZXMgbm90IGdldAoJICBjb25mdXNlZC4KCjIwMDctMDgtMTAgMDU6NTE6NDAgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9maWx0ZXIvZ3N0YnB3c2luYy5jOiBGaXggYSBzZWdmYXVsdCB3aXRoIG1vcmUgdGhhbiBvbmUgY2hhbm5lbCBhbmQgZG9uJ3QgcmVidWlsZCB0aGUga2VybmVsICYgcmVzaWR1ZSB3aXRoIGV2ZXJ5IC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZmlsdGVyL2dzdGJwd3NpbmMuYzogKGJwd3NpbmNfYnVpbGRfa2VybmVsKToKCSAgRml4IGEgc2VnZmF1bHQgd2l0aCBtb3JlIHRoYW4gb25lIGNoYW5uZWwgYW5kIGRvbid0IHJlYnVpbGQKCSAgdGhlIGtlcm5lbCAmIHJlc2lkdWUgd2l0aCBldmVyeSBidWZmZXIuCgoyMDA3LTA4LTEwIDA1OjM1OjI1ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvZmlsdGVyL2dzdGJwd3NpbmMuKjogQWRkIHN1cHBvcnQgZm9yIGEgYmFuZHJlamVjdCBtb2RlIGFuZCBhbGxvdyBzcGVjaWZ5aW5nIHRoZSB3aW5kb3cgZnVuY3Rpb24gdGhhdCBzaG91bGQgYmUgdXNlZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2ZpbHRlci9nc3RicHdzaW5jLmM6IChnc3RfYnB3c2luY19tb2RlX2dldF90eXBlKSwKCSAgKGdzdF9icHdzaW5jX3dpbmRvd19nZXRfdHlwZSksIChnc3RfYnB3c2luY19jbGFzc19pbml0KSwKCSAgKGdzdF9icHdzaW5jX2luaXQpLCAoYnB3c2luY19idWlsZF9rZXJuZWwpLCAoYnB3c2luY19zZXRfcHJvcGVydHkpLAoJICAoYnB3c2luY19nZXRfcHJvcGVydHkpOgoJICAqIGdzdC9maWx0ZXIvZ3N0YnB3c2luYy5oOgoJICBBZGQgc3VwcG9ydCBmb3IgYSBiYW5kcmVqZWN0IG1vZGUgYW5kIGFsbG93IHNwZWNpZnlpbmcgdGhlIHdpbmRvdwoJICBmdW5jdGlvbiB0aGF0IHNob3VsZCBiZSB1c2VkLgoJICAqIGdzdC9maWx0ZXIvZ3N0bHB3c2luYy5jOgoJICBBbmQgYW5vdGhlciBzbWFsbCBmb3JtYXR0aW5nIGZpeC4KCjIwMDctMDgtMTAgMDU6MjA6MDYgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9maWx0ZXIvZ3N0YnB3c2luYy4qOiBBcHBseSB0aGUgc2FtZSBjaGFuZ2VzIHRvIHRoZSBiYW5kcGFzcyBmaWx0ZXI6CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9maWx0ZXIvZ3N0YnB3c2luYy5jOiAoZ3N0X2Jwd3NpbmNfY2xhc3NfaW5pdCksCgkgIChnc3RfYnB3c2luY19pbml0KSwgKHByb2Nlc3NfMzIpLCAocHJvY2Vzc182NCksCgkgIChicHdzaW5jX2J1aWxkX2tlcm5lbCksIChicHdzaW5jX3NldHVwKSwgKGJwd3NpbmNfZ2V0X3VuaXRfc2l6ZSksCgkgIChicHdzaW5jX3RyYW5zZm9ybSksIChicHdzaW5jX3NldF9wcm9wZXJ0eSksCgkgIChicHdzaW5jX2dldF9wcm9wZXJ0eSk6CgkgICogZ3N0L2ZpbHRlci9nc3RicHdzaW5jLmg6CgkgIEFwcGx5IHRoZSBzYW1lIGNoYW5nZXMgdG8gdGhlIGJhbmRwYXNzIGZpbHRlcjoKCSAgLSBTdXBwb3J0IGRvdWJsZSBpbnB1dAoJICAtIEZpeCBwcm9jZXNzaW5nIGZvciBpbnB1dCB3aXRoID4xIGNoYW5uZWxzCgkgIC0gU3BlY2lmeSBmcmVxdWVuY3kgaW4gSHoKCSAgLSBTcGVjaWZ5IGFjdHVhbCBmaWx0ZXIga2VybmVsIGxlbmd0aAoJICAtIFVzZSB0cmFuc2Zvcm0gaW5zdGVhZCBvZiB0cmFuc2Zvcm1faXAgYXMgd2UncmUgd29ya2luZwoJICBvdXQgb2YgcGxhY2UgYW55d2F5CgkgIC0gRmFjdG9yIG91dCBmaWx0ZXIga2VybmVsIGdlbmVyYXRpb24gYW5kIHVwZGF0ZSB0aGUgZmlsdGVyCgkgIGtlcm5lbCB3aGVuIHRoZSBwcm9wZXJ0aWVzIGFyZSBzZXQKCSAgRml4IGJhbmRwYXNzIGZpbHRlciBrZXJuZWwgZ2VuZXJhdGlvbiB0byBhY3R1YWxseSBnZW5lcmF0ZQoJICBhIGJhbmRwYXNzIGZpbHRlciBieSBjcmVhdGluZyBhIGhpZ2hwYXNzIGluc3RlYWQgb2YgYSBzZWNvbmQKCSAgbG93cGFzcy4KCSAgKiBnc3QvZmlsdGVyL2dzdGxwd3NpbmMuYzogKGdzdF9scHdzaW5jX2NsYXNzX2luaXQpOgoJICBTbWFsbCBmb3JtYXR0aW5nIGZpeC4KCjIwMDctMDgtMTAgMDQ6NDQ6NDMgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9maWx0ZXIvZ3N0bHB3c2luYy4qOiBTcGVjaWZ5IHRoZSBhY3R1YWwgZmlsdGVyIGxlbmd0aCBpbnN0ZWFkIG9mIGEgd2VpcmQgMk4rMS4gU2V0dGluZyB0aGUgcHJvcGVydHkgd2lsbCByb3VuZCB0by4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZmlsdGVyL2dzdGxwd3NpbmMuYzogKGdzdF9scHdzaW5jX2NsYXNzX2luaXQpLAoJICAoZ3N0X2xwd3NpbmNfaW5pdCksIChwcm9jZXNzXzMyKSwgKHByb2Nlc3NfNjQpLAoJICAobHB3c2luY19idWlsZF9rZXJuZWwpLCAobHB3c2luY19zZXRfcHJvcGVydHkpLAoJICAobHB3c2luY19nZXRfcHJvcGVydHkpOgoJICAqIGdzdC9maWx0ZXIvZ3N0bHB3c2luYy5oOgoJICBTcGVjaWZ5IHRoZSBhY3R1YWwgZmlsdGVyIGxlbmd0aCBpbnN0ZWFkIG9mIGEgd2VpcmQKCSAgMk4rMS4gU2V0dGluZyB0aGUgcHJvcGVydHkgd2lsbCByb3VuZCB0byB0aGUgbmV4dCBvZGQgbnVtYmVyLgoJICBBbHNvIHJlbW92ZSBub3cgb2Jzb2xldGUgRklYTUVzLgoKMjAwNy0wOC0xMCAwNDozMjo0NyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2ZpbHRlci9nc3RscHdzaW5jLio6IEFsbG93IGNob29zaW5nIGJldHdlZW4gaGFtbWluZyBhbmQgYmxhY2ttYW4gd2luZG93LiBUaGUgYmxhY2ttYW4gd2luZG93IHByb3ZpZGVzIGEgYmV0dGVyIHN0Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9maWx0ZXIvZ3N0bHB3c2luYy5jOiAoZ3N0X2xwd3NpbmNfd2luZG93X2dldF90eXBlKSwKCSAgKGdzdF9scHdzaW5jX2NsYXNzX2luaXQpLCAoZ3N0X2xwd3NpbmNfaW5pdCksCgkgIChscHdzaW5jX2J1aWxkX2tlcm5lbCksIChscHdzaW5jX3NldF9wcm9wZXJ0eSksCgkgIChscHdzaW5jX2dldF9wcm9wZXJ0eSk6CgkgICogZ3N0L2ZpbHRlci9nc3RscHdzaW5jLmg6CgkgIEFsbG93IGNob29zaW5nIGJldHdlZW4gaGFtbWluZyBhbmQgYmxhY2ttYW4gd2luZG93LiBUaGUgYmxhY2ttYW4KCSAgd2luZG93IHByb3ZpZGVzIGEgYmV0dGVyIHN0b3BiYW5kIGF0dGVudWF0aW9uIGJ1dCBhIGJpdCBzbG93ZXIKCSAgcm9sbG9mZi4KCjIwMDctMDgtMTAgMDQ6MjE6MzkgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9maWx0ZXIvZ3N0bHB3c2luYy4qOiBBZGQgYSBoaWdocGFzcyBtb2RlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZmlsdGVyL2dzdGxwd3NpbmMuYzogKGdzdF9scHdzaW5jX21vZGVfZ2V0X3R5cGUpLAoJICAoZ3N0X2xwd3NpbmNfY2xhc3NfaW5pdCksIChwcm9jZXNzXzMyKSwgKHByb2Nlc3NfNjQpLAoJICAobHB3c2luY19idWlsZF9rZXJuZWwpLCAobHB3c2luY19zZXRfcHJvcGVydHkpLAoJICAobHB3c2luY19nZXRfcHJvcGVydHkpOgoJICAqIGdzdC9maWx0ZXIvZ3N0bHB3c2luYy5oOgoJICBBZGQgYSBoaWdocGFzcyBtb2RlLgoKMjAwNy0wOC0xMCAwNDowNjo1MyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2ZpbHRlci9nc3RscHdzaW5jLmM6IEZpeCBwcm9jZXNzaW5nIGlmIHRoZSBpbnB1dCBoYXMgbW9yZSB0aGFuIG9uZSBjaGFubmVsLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZmlsdGVyL2dzdGxwd3NpbmMuYzogKHByb2Nlc3NfMzIpLCAocHJvY2Vzc182NCksCgkgIChscHdzaW5jX2J1aWxkX2tlcm5lbCk6CgkgIEZpeCBwcm9jZXNzaW5nIGlmIHRoZSBpbnB1dCBoYXMgbW9yZSB0aGFuIG9uZSBjaGFubmVsLgoKMjAwNy0wOC0wOSAxOToyMzozMyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2ZpbHRlci9nc3RicHdzaW5jLmM6ICJ0aGlzIiBpcyBhIEMrKyBrZXl3b3JkLCB1c2UgInNlbGYiIGluc3RlYWQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9maWx0ZXIvZ3N0YnB3c2luYy5jOiAoZ3N0X2Jwd3NpbmNfZGlzcG9zZSksCgkgIChnc3RfYnB3c2luY19pbml0KSwgKGJwd3NpbmNfc2V0dXApLCAoYnB3c2luY190cmFuc2Zvcm1faXApLAoJICAoYnB3c2luY19zZXRfcHJvcGVydHkpLCAoYnB3c2luY19nZXRfcHJvcGVydHkpOgoJICAidGhpcyIgaXMgYSBDKysga2V5d29yZCwgdXNlICJzZWxmIiBpbnN0ZWFkLgoJICBBZGQgVE9ET3MgYW5kIEZJWE1FcyBhbmQgcmVtb3ZlIHR3byB3cm9uZyBGSVhNRXMuCgkgICogZ3N0L2ZpbHRlci9nc3RscHdzaW5jLmM6CgkgIEFkZCBGSVhNRXMgYW5kIGEgbmV3IFRPRE8uCgoyMDA3LTA4LTA5IDE4OjA4OjA1ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvZmlsdGVyL2dzdGxwd3NpbmMuKjogQWRkIGRvdWJsZSBzdXBwb3J0LCByZXBsYWNlICJ0aGlzIiB3aXRoICJzZWxmIiBhcyB0aGUgZm9ybWVyIGlzIGEgQysrIGtleXdvcmQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9maWx0ZXIvZ3N0bHB3c2luYy5jOiAoZ3N0X2xwd3NpbmNfZGlzcG9zZSksCgkgIChnc3RfbHB3c2luY19jbGFzc19pbml0KSwgKGdzdF9scHdzaW5jX2luaXQpLCAocHJvY2Vzc18zMiksCgkgIChwcm9jZXNzXzY0KSwgKGxwd3NpbmNfYnVpbGRfa2VybmVsKSwgKGxwd3NpbmNfc2V0dXApLAoJICAobHB3c2luY19nZXRfdW5pdF9zaXplKSwgKGxwd3NpbmNfdHJhbnNmb3JtKSwKCSAgKGxwd3NpbmNfc2V0X3Byb3BlcnR5KSwgKGxwd3NpbmNfZ2V0X3Byb3BlcnR5KToKCSAgKiBnc3QvZmlsdGVyL2dzdGxwd3NpbmMuaDoKCSAgQWRkIGRvdWJsZSBzdXBwb3J0LCByZXBsYWNlICJ0aGlzIiB3aXRoICJzZWxmIiBhcyB0aGUgZm9ybWVyCgkgIGlzIGEgQysrIGtleXdvcmQuCgkgIEltcGxlbWVudCB0aGUgZnJlcXVlbmN5IHByb3BlcnR5IGluIEh6IGluc3RlYWQgb2YgZnJhY3Rpb24KCSAgb2Ygc2FtcGxpbmcgZnJlcXVlbmN5LgoJICBSZW1vdmUgc29tZSB1bmVjZXNzYXJ5IEZJWE1FcyBhbmQgYWRkIHNvbWUgVE9ET3MsIGFkZCBzb21lCgkgIHJlcXVpcmVkIGxvY2tpbmcgYW5kIHJlZmFjdG9yIHRoZSBrZXJuZWwgZ2VuZXJhdGlvbiBpbnRvIGEKCSAgc2VwYXJhdGUgZnVuY3Rpb24gdGhhdCBpcyBhbHNvIGNhbGxlZCB3aGVuIHRoZSBwcm9wZXJ0aWVzCgkgIGNoYW5nZSBub3cuCgkgIEFuZCB1c2UgQmFzZVRyYW5zZm9ybTo6dHJhbnNmb3JtIGluc3RlYWQgb2YgdHJhbnNmb3JtX2lwCgkgIGFzIHRoZSBjb252b2x1dGlvbiBpcyBkb25lIG91dCBvZiBwbGFjZSBhbnl3YXkuIFNob3VsZAoJICBiZSBkb25lIGluIHBsYWNlIGxhdGVyLgoKMjAwNy0wOC0wOSAxMDo1NDowNSArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJICBwby86IFVwZGF0ZWQgdHJhbnNsYXRpb25zLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBwby9odS5wbzoKCSAgKiBwby91ay5wbzoKCSAgKiBwby92aS5wbzoKCSAgVXBkYXRlZCB0cmFuc2xhdGlvbnMuCgoyMDA3LTA4LTA4IDIwOjQ3OjMzICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvZmlsdGVyLzogVXNlIEdzdEF1ZGlvRmlsdGVyIGFzIGJhc2UgY2xhc3MgYW5kIGRvbid0IGxlYWsgdGhlIG1lbW9yeSBvZiB0aGUgZmlsdGVyIGtlcm5lbCBhbmQgcmVzaWR1ZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2ZpbHRlci9NYWtlZmlsZS5hbToKCSAgKiBnc3QvZmlsdGVyL2dzdGJwd3NpbmMuYzogKGdzdF9icHdzaW5jX2Rpc3Bvc2UpLAoJICAoZ3N0X2Jwd3NpbmNfYmFzZV9pbml0KSwgKGdzdF9icHdzaW5jX2NsYXNzX2luaXQpLAoJICAoZ3N0X2Jwd3NpbmNfaW5pdCksIChicHdzaW5jX3NldHVwKToKCSAgKiBnc3QvZmlsdGVyL2dzdGJwd3NpbmMuaDoKCSAgKiBnc3QvZmlsdGVyL2dzdGxwd3NpbmMuYzogKGdzdF9scHdzaW5jX2Rpc3Bvc2UpLAoJICAoZ3N0X2xwd3NpbmNfYmFzZV9pbml0KSwgKGdzdF9scHdzaW5jX2NsYXNzX2luaXQpLAoJICAoZ3N0X2xwd3NpbmNfaW5pdCksIChscHdzaW5jX3NldHVwKToKCSAgKiBnc3QvZmlsdGVyL2dzdGxwd3NpbmMuaDoKCSAgVXNlIEdzdEF1ZGlvRmlsdGVyIGFzIGJhc2UgY2xhc3MgYW5kIGRvbid0IGxlYWsgdGhlIG1lbW9yeQoJICBvZiB0aGUgZmlsdGVyIGtlcm5lbCBhbmQgcmVzaWR1ZS4KCjIwMDctMDgtMDggMTc6NDc6MDUgKzAwMDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEB4aXBoLm9yZz4KCgkgIGdzdC92aWRlb2JveC9nc3R2aWRlb2JveC5jOiBSZW5kZXIgcmlnaHQgYm9yZGVyIGluIHRoZSBjb3JyZWN0IGxvY2F0aW9uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvdmlkZW9ib3gvZ3N0dmlkZW9ib3guYzogKGdzdF92aWRlb19ib3hfYXl1dl9pNDIwKToKCSAgUmVuZGVyIHJpZ2h0IGJvcmRlciBpbiB0aGUgY29ycmVjdCBsb2NhdGlvbi4KCjIwMDctMDgtMDggMTA6NTQ6NTAgKzAwMDAgIE9saXZpZXIgQ3JldGUgPHRlc3RlckB0ZXN0ZXIuY2E+CgoJICBnc3QvcnRwLzogTWFrZSBtb2RlIHByb3BlcnR5IGEgc3RyaW5nLiBGaXhlcyAjNDY0NDc1LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IE9saXZpZXIgQ3JldGUgPHRlc3RlciBhdCB0ZXN0ZXIgZG90IGNhPgoJICAqIGdzdC9ydHAvZ3N0cnRwaWxiY2RlcGF5LmM6IChnc3RfcnRwX2lsYmNfZGVwYXlfc2V0Y2Fwcyk6CgkgICogZ3N0L3J0cC9nc3RydHBpbGJjcGF5LmM6IChnc3RfcnRwaWxiY3BheV9zZXRjYXBzKToKCSAgTWFrZSBtb2RlIHByb3BlcnR5IGEgc3RyaW5nLiBGaXhlcyAjNDY0NDc1LgoKMjAwNy0wOC0wNSAxNDo1ODoyMCArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZXh0L2ZsYWMvZ3N0ZmxhY2VuYy5jOiBXaWRlbiBjYXBzIHRvIG1hdGNoIGRlY29kZXIgYSBiaXQgYW5kIGFkZCBtb3JlIEZJWE1Fcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2ZsYWMvZ3N0ZmxhY2VuYy5jOgoJICBXaWRlbiBjYXBzIHRvIG1hdGNoIGRlY29kZXIgYSBiaXQgYW5kIGFkZCBtb3JlIEZJWE1Fcy4KCjIwMDctMDgtMDUgMTQ6NTM6MzYgKzAwMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hbmF1d0Bza3luZXQuYmU+CgoJICBnc3QvYXZpL2dzdGF2aW11eC5jOiBGaXggT0RNTCBpbmRleCB0YWcgbnVtYmVyaW5nLiBGaXhlcyAjNDYzNjI0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgcGF0Y2ggYnk6IE1hcmsgTmF1d2VsYWVydHMgPG1hbmF1d0Bza3luZXQuYmU+CgkgICogZ3N0L2F2aS9nc3RhdmltdXguYzoKCSAgRml4IE9ETUwgaW5kZXggdGFnIG51bWJlcmluZy4gRml4ZXMgIzQ2MzYyNC4KCjIwMDctMDgtMDMgMTY6MDg6NTYgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IEZpeCBkZWZhdWx0IGNsb2NrLXJhdGUgZm9yIHJlYWxtZWRpYS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiAoZ2V0X2RlZmF1bHRfcmF0ZV9mb3JfcHQpLAoJICAoZ3N0X3J0c3BzcmNfcGFyc2VfcnRwbWFwKSwgKGdzdF9ydHNwc3JjX21lZGlhX3RvX2NhcHMpLAoJICAoZ3N0X3J0c3BzcmNfc3RyZWFtX2NvbmZpZ3VyZV90Y3ApLAoJICAoZ3N0X3J0c3BzcmNfc3RyZWFtX2NvbmZpZ3VyZV91ZHBfc2luayk6CgkgIEZpeCBkZWZhdWx0IGNsb2NrLXJhdGUgZm9yIHJlYWxtZWRpYS4KCSAgRml4IHBhcnNpbmcgb2YgdHJhbnNwb3J0LgoJICBEb24ndCB0cnkgdG8gbGluayBOVUxMIHBhZHMuCgoyMDA3LTA3LTMwIDE3OjE3OjA0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgcG8vUE9URklMRVMuc2tpcDogQWRkIFBPVEZJTEVTLnNraXAgd2l0aCBsaXN0IG9mIHNvdXJjZSBmaWxlcyB0aGF0IGFyZW4ndCBkaXN0ZWQgYXQgdGhlIG1vbWVudCBidXQgY29udGFpbiB0cmFuc2xhdGFiLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHBvL1BPVEZJTEVTLnNraXA6CgkgIEFkZCBQT1RGSUxFUy5za2lwIHdpdGggbGlzdCBvZiBzb3VyY2UgZmlsZXMgdGhhdCBhcmVuJ3QgZGlzdGVkIGF0IHRoZQoJICBtb21lbnQgYnV0IGNvbnRhaW4gdHJhbnNsYXRhYmxlIHN0cmluZ3MuIFNob3VsZCBob3BlZnVsbHkgcGFjaWZ5CgkgIGJyb2tlbiB0b29scyBhbmQgbWFrZSBpdCBjbGVhcmVyIHRoYXQgdGhlc2UgZmlsZXMgYXJlIGxlZnQgb3V0CgkgIGludGVudGlvbmFsbHkgKCM0NjE2MDApLgoKMjAwNy0wNy0zMCAxMjo0MTo1OCArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogSWYgdGhlIGJ1ZmZlciB3YXMgZW50aXJlbHkgY2xpcHBlZCAuLi4gZG9uJ3QgdHJ5IHNlbmRpbmcgaXQgOikKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAoZ3N0X3F0ZGVtdXhfbG9vcF9zdGF0ZV9tb3ZpZSk6CgkgIElmIHRoZSBidWZmZXIgd2FzIGVudGlyZWx5IGNsaXBwZWQgLi4uIGRvbid0IHRyeSBzZW5kaW5nIGl0IDopCgoyMDA3LTA3LTI3IDE2OjU2OjQ1ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiBJZiB3ZSBkb24ndCBoYXYgYSBzZXNzaW9uIG1hbmFnZXIsIHNldCB0aGUgY2FwcyBvbiBvdXRnb2luZyBidWZmZXJzIG91cnNlbHZlcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiAoZ3N0X3J0c3BzcmNfYWN0aXZhdGVfc3RyZWFtcyksCgkgIChnc3RfcnRzcHNyY19sb29wX2ludGVybGVhdmVkKSwgKGdzdF9ydHNwc3JjX3BhcnNlX21ldGhvZHMpLAoJICAoZ3N0X3J0c3BzcmNfY3JlYXRlX3RyYW5zcG9ydHNfc3RyaW5nKSwKCSAgKGdzdF9ydHNwc3JjX3ByZXBhcmVfdHJhbnNwb3J0cyk6CgkgIElmIHdlIGRvbid0IGhhdiBhIHNlc3Npb24gbWFuYWdlciwgc2V0IHRoZSBjYXBzIG9uIG91dGdvaW5nIGJ1ZmZlcnMKCSAgb3Vyc2VsdmVzLgoJICBGb3JjZSBQQVVTRS9QTEFZIG1ldGhvZHMgZm9yIG5vdyB1bnRpbCB0aGUgZXh0ZW5zaW9ucyBjYW4gb3ZlcndyaXRlLgoJICBBcHBlbmQgZmluYWwgYml0IG9mIHRoZSB0cmFuc3BvcnQgc3RyaW5nIGV2ZW4gd2hlbiBpdCBkb2VzIG5vdCBjb250YWluIGEKCSAgcGxhY2Vob2xkZXIuCgoyMDA3LTA3LTI3IDExOjIxOjIwICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0c3AvOiBDbGVhbiB1cCB0aGUgaW50ZXJmYWNlIGxpc3QuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BleHQuYzogKGdzdF9ydHNwX2V4dF9saXN0X2ZyZWUpLAoJICAoZ3N0X3J0c3BfZXh0X2xpc3RfY29ubmVjdCk6CgkgICogZ3N0L3J0c3AvZ3N0cnRzcGV4dC5oOgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogKGdzdF9ydHNwc3JjX2luaXQpLAoJICAoZ3N0X3J0c3BzcmNfZmluYWxpemUpLCAoZ3N0X3J0c3BzcmNfc2VuZF9jYik6CgkgIENsZWFuIHVwIHRoZSBpbnRlcmZhY2UgbGlzdC4KCSAgQWxsb3cgY29ubmVjdGluZyB0byBpbnRlcmZhY2Ugc2lnbmFscyBmb3IgdGhlIGV4dGVuc2lvbnMuCgkgIFJlbW92ZSBvbGQgZXh0ZW5zaW9uIGNvZGUuCgkgIEZyZWUgbGlzdCBvbiBjbGVhbnVwLgoJICBBbGxvdyBleHRlbnNpb25zIHRvIHNlbmQgYWRkaXRpb25hbCBSVFNQIG1lc3NhZ2VzLgoKMjAwNy0wNy0yNyAxMDozODozNCArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBleHQvZ2NvbmYvZ2NvbmYuYzogSGFuZGxlIGEgTlVMTCBnY29uZiBrZXkgZ3JhY2VmdWxseSBieSByZW5kZXJpbmcgdGhlIGRlZmF1bHQgZWxlbWVudC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2djb25mL2djb25mLmM6IChnc3RfZ2NvbmZfcmVuZGVyX2Jpbl93aXRoX2RlZmF1bHQpOgoJICBIYW5kbGUgYSBOVUxMIGdjb25mIGtleSBncmFjZWZ1bGx5IGJ5IHJlbmRlcmluZyB0aGUgZGVmYXVsdCBlbGVtZW50LgoKMjAwNy0wNy0yNyAxMDoxMToxOCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHNwL2dzdHJ0c3BleHQuaDogRml4IGluY2x1ZGUgcGF0aCBmb3IgZXh0ZW5zaW9uIGludGVyZmFjZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0c3AvZ3N0cnRzcGV4dC5oOgoJICBGaXggaW5jbHVkZSBwYXRoIGZvciBleHRlbnNpb24gaW50ZXJmYWNlLgoKMjAwNy0wNy0yNiAxOTo0NTozMCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2F1ZGlvZngvYXVkaW9hbXBsaWZ5Lmg6IEFsc28gcmVtb3ZlIGEgbm93IHVuZWNlc3NhcnkgdmFyaWFibGUgaGVyZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2F1ZGlvZngvYXVkaW9hbXBsaWZ5Lmg6CgkgIEFsc28gcmVtb3ZlIGEgbm93IHVuZWNlc3NhcnkgdmFyaWFibGUgaGVyZS4KCjIwMDctMDctMjYgMTk6NDE6MDcgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9hdWRpb2Z4LzogRG9uJ3Qgc2F2ZSBmb3JtYXQgaW5mb3JtYXRpb24gb3Vyc2VsdmVzLCB0aGlzIGlzIGFscmVhZHkgc2F2ZWQgaW4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2F1ZGlvZngvYXVkaW9hbXBsaWZ5LmM6IChnc3RfYXVkaW9fYW1wbGlmeV9pbml0KSwKCSAgKGdzdF9hdWRpb19hbXBsaWZ5X3NldHVwKSwgKGdzdF9hdWRpb19hbXBsaWZ5X3RyYW5zZm9ybV9pcCk6CgkgICogZ3N0L2F1ZGlvZngvYXVkaW9keW5hbWljLmM6CgkgIChnc3RfYXVkaW9fZHluYW1pY19zZXRfcHJvY2Vzc19mdW5jdGlvbiksIChnc3RfYXVkaW9fZHluYW1pY19pbml0KSwKCSAgKGdzdF9hdWRpb19keW5hbWljX3NldHVwKSwgKGdzdF9hdWRpb19keW5hbWljX3RyYW5zZm9ybV9pcCk6CgkgICogZ3N0L2F1ZGlvZngvYXVkaW9keW5hbWljLmg6CgkgICogZ3N0L2F1ZGlvZngvYXVkaW9pbnZlcnQuYzogKGdzdF9hdWRpb19pbnZlcnRfaW5pdCksCgkgIChnc3RfYXVkaW9faW52ZXJ0X3NldHVwKSwgKGdzdF9hdWRpb19pbnZlcnRfdHJhbnNmb3JtX2lwKToKCSAgKiBnc3QvYXVkaW9meC9hdWRpb2ludmVydC5oOgoJICBEb24ndCBzYXZlIGZvcm1hdCBpbmZvcm1hdGlvbiBvdXJzZWx2ZXMsIHRoaXMgaXMgYWxyZWFkeSBzYXZlZCBpbgoJICBHc3RBdWRpb0ZpbHRlci4KCjIwMDctMDctMjYgMTU6NDg6NDcgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRzcC86IFVzZSByYW5rIHRvIGZpbHRlciBvdXQgZXh0ZW5zaW9ucy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0c3AvZ3N0cnRzcGV4dC5jOiAoZ3N0X3J0c3BfZXh0X2xpc3RfZmlsdGVyKSwKCSAgKGdzdF9ydHNwX2V4dF9saXN0X3N0cmVhbV9zZWxlY3QpOgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BleHQuaDoKCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IChnc3RfcnRzcHNyY19zZXR1cF9zdHJlYW1zKToKCSAgVXNlIHJhbmsgdG8gZmlsdGVyIG91dCBleHRlbnNpb25zLgoJICBBZGQgdXJsIHRvIHN0cmVhbV9zZWxlY3QgaW50ZXJmYWNlIGNhbGwuCgoyMDA3LTA3LTI1IDE4OjUwOjA4ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0c3AvOiBVc2Ugc2hpbnkgbmV3IFJUU1AgYW5kIFNEUCBsaWJyYXJ5LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRzcC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvcnRzcC9iYXNlNjQuYzoKCSAgKiBnc3QvcnRzcC9iYXNlNjQuaDoKCSAgKiBnc3QvcnRzcC9nc3RydHNwZXh0LmM6IChnc3RfcnRzcF9leHRfbGlzdF9maWx0ZXIpLAoJICAoZ3N0X3J0c3BfZXh0X2xpc3RfaW5pdCksIChnc3RfcnRzcF9leHRfbGlzdF9nZXQpLAoJICAoZ3N0X3J0c3BfZXh0X2xpc3RfZGV0ZWN0X3NlcnZlciksIChnc3RfcnRzcF9leHRfbGlzdF9iZWZvcmVfc2VuZCksCgkgIChnc3RfcnRzcF9leHRfbGlzdF9hZnRlcl9zZW5kKSwgKGdzdF9ydHNwX2V4dF9saXN0X3BhcnNlX3NkcCksCgkgIChnc3RfcnRzcF9leHRfbGlzdF9zZXR1cF9tZWRpYSksCgkgIChnc3RfcnRzcF9leHRfbGlzdF9jb25maWd1cmVfc3RyZWFtKSwKCSAgKGdzdF9ydHNwX2V4dF9saXN0X2dldF90cmFuc3BvcnRzKSwKCSAgKGdzdF9ydHNwX2V4dF9saXN0X3N0cmVhbV9zZWxlY3QpOgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BleHQuaDoKCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IChnc3RfcnRzcF9sb3dlcl90cmFuc19nZXRfdHlwZSksCgkgIChnc3RfcnRzcHNyY19jbGFzc19pbml0KSwgKGdzdF9ydHNwc3JjX2luaXQpLAoJICAoZ3N0X3J0c3BzcmNfZmluYWxpemUpLCAoZ3N0X3J0c3BzcmNfY3JlYXRlX3N0cmVhbSksCgkgIChnc3RfcnRzcHNyY19wYXJzZV9ydHBtYXApLCAoZ3N0X3J0c3BzcmNfbWVkaWFfdG9fY2FwcyksCgkgIChnc3RfcnRzcHNyY19mbHVzaCksIChnc3RfcnRzcHNyY19kb19zZWVrKSwKCSAgKGdzdF9ydHNwc3JjX3NpbmtfY2hhaW4pLCAoZ3N0X3J0c3BzcmNfc3RyZWFtX2NvbmZpZ3VyZV9tYW5hZ2VyKSwKCSAgKGdzdF9ydHNwc3JjX3N0cmVhbV9jb25maWd1cmVfdGNwKSwKCSAgKGdzdF9ydHNwc3JjX3N0cmVhbV9jb25maWd1cmVfbWNhc3QpLAoJICAoZ3N0X3J0c3BzcmNfc3RyZWFtX2NvbmZpZ3VyZV91ZHApLAoJICAoZ3N0X3J0c3BzcmNfc3RyZWFtX2NvbmZpZ3VyZV91ZHBfc2luayksCgkgIChnc3RfcnRzcHNyY19zdHJlYW1fY29uZmlndXJlX3RyYW5zcG9ydCksCgkgIChnc3RfcnRzcHNyY19oYW5kbGVfcmVxdWVzdCksIChnc3RfcnRzcHNyY19zZW5kX2tlZXBfYWxpdmUpLAoJICAoZ3N0X3J0c3BzcmNfbG9vcF9pbnRlcmxlYXZlZCksIChnc3RfcnRzcHNyY19sb29wX3VkcCksCgkgIChnc3RfcnRzcHNyY19sb29wX3NlbmRfY21kKSwgKGdzdF9ydHNwX2F1dGhfbWV0aG9kX3RvX3N0cmluZyksCgkgIChnc3RfcnRzcHNyY19wYXJzZV9hdXRoX2hkciksIChnc3RfcnRzcHNyY19zZXR1cF9hdXRoKSwKCSAgKGdzdF9ydHNwc3JjX3RyeV9zZW5kKSwgKGdzdF9ydHNwc3JjX3NlbmQpLAoJICAoZ3N0X3J0c3BzcmNfcGFyc2VfbWV0aG9kcyksCgkgIChnc3RfcnRzcHNyY19jcmVhdGVfdHJhbnNwb3J0c19zdHJpbmcpLAoJICAoZ3N0X3J0c3BzcmNfcHJlcGFyZV90cmFuc3BvcnRzKSwgKGdzdF9ydHNwc3JjX3NldHVwX3N0cmVhbXMpLAoJICAoZ3N0X3J0c3BzcmNfcGFyc2VfcmFuZ2UpLCAoZ3N0X3J0c3BzcmNfb3BlbiksIChnc3RfcnRzcHNyY19jbG9zZSksCgkgIChnc3RfcnRzcHNyY19wbGF5KSwgKGdzdF9ydHNwc3JjX3BhdXNlKSwKCSAgKGdzdF9ydHNwc3JjX2NoYW5nZV9zdGF0ZSksIChnc3RfcnRzcHNyY191cmlfc2V0X3VyaSk6CgkgICogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5oOgoJICAqIGdzdC9ydHNwL3J0c3AuaDoKCSAgKiBnc3QvcnRzcC9ydHNwY29ubmVjdGlvbi5jOgoJICAqIGdzdC9ydHNwL3J0c3Bjb25uZWN0aW9uLmg6CgkgICogZ3N0L3J0c3AvcnRzcGRlZnMuYzoKCSAgKiBnc3QvcnRzcC9ydHNwZGVmcy5oOgoJICAqIGdzdC9ydHNwL3J0c3BleHQuaDoKCSAgKiBnc3QvcnRzcC9ydHNwZXh0d21zLmM6CgkgICogZ3N0L3J0c3AvcnRzcGV4dHdtcy5oOgoJICAqIGdzdC9ydHNwL3J0c3BtZXNzYWdlLmM6CgkgICogZ3N0L3J0c3AvcnRzcG1lc3NhZ2UuaDoKCSAgKiBnc3QvcnRzcC9ydHNwcmFuZ2UuYzoKCSAgKiBnc3QvcnRzcC9ydHNwcmFuZ2UuaDoKCSAgKiBnc3QvcnRzcC9ydHNwdHJhbnNwb3J0LmM6CgkgICogZ3N0L3J0c3AvcnRzcHRyYW5zcG9ydC5oOgoJICAqIGdzdC9ydHNwL3J0c3B1cmwuYzoKCSAgKiBnc3QvcnRzcC9ydHNwdXJsLmg6CgkgICogZ3N0L3J0c3Avc2RwLmg6CgkgICogZ3N0L3J0c3Avc2RwbWVzc2FnZS5jOgoJICAqIGdzdC9ydHNwL3NkcG1lc3NhZ2UuaDoKCSAgKiBnc3QvcnRzcC90ZXN0LmM6CgkgIFVzZSBzaGlueSBuZXcgUlRTUCBhbmQgU0RQIGxpYnJhcnkuCgkgIEltcGxlbWVudCBSVFNQIGV4dGVuc2lvbnMgdXNpbmcgdGhlIG5ldyBpbnRlcmZhY2UuCgkgIFJlbW92ZSBhIGxvdCBvZiBvbGQgY29kZS4KCjIwMDctMDctMjQgMTQ6MzE6NTYgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IEFkZCBjb2RlYyBtYXBwaW5nIGZvciAnMnZ1eScgKFJhdyBZVVYgcHJvZHVjZWQgYnkgRkNQKSBhbmQgJ2RpdngnLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChxdGRlbXV4X3ZpZGVvX2NhcHMpOgoJICBBZGQgY29kZWMgbWFwcGluZyBmb3IgJzJ2dXknIChSYXcgWVVWIHByb2R1Y2VkIGJ5IEZDUCkgYW5kICdkaXZ4Jy4KCjIwMDctMDctMjQgMDU6MDc6NTkgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tkZWMuYzogRG9uJ3QgdW5yZWYgdGhlIG91dGdvaW5nIGJ1ZmZlciB0d2ljZSB3aGVuIGRyb3BwaW5nIGl0IGJlY2F1c2UgaXQncyBvdXRzaWRlIG9mIHRoZSBzZWdtZW50LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZGVjLmM6IChnc3Rfd2F2cGFja19kZWNfY2hhaW4pOgoJICBEb24ndCB1bnJlZiB0aGUgb3V0Z29pbmcgYnVmZmVyIHR3aWNlIHdoZW4gZHJvcHBpbmcgaXQgYmVjYXVzZSBpdCdzCgkgIG91dHNpZGUgb2YgdGhlIHNlZ21lbnQuCgoyMDA3LTA3LTI0IDA0OjU3OjIwICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBVc2UgdGhlIG5ldyBidWZmZXIgY2xpcHBpbmcgZnVuY3Rpb24gZnJvbSBnc3RhdWRpbyBoZXJlIGFuZCByZXF1aXJlIGdzdC1wbHVnaW5zLWJhc2UgQ1ZTLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2RlYy5jOiAoZ3N0X3dhdnBhY2tfZGVjX3Jlc2V0KSwKCSAgKGdzdF93YXZwYWNrX2RlY19jaGFpbiksIChnc3Rfd2F2cGFja19kZWNfc2lua19ldmVudCk6CgkgIFVzZSB0aGUgbmV3IGJ1ZmZlciBjbGlwcGluZyBmdW5jdGlvbiBmcm9tIGdzdGF1ZGlvIGhlcmUgYW5kCgkgIHJlcXVpcmUgZ3N0LXBsdWdpbnMtYmFzZSBDVlMuCgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvd2F2cGFja2RlYy5jOiAoR1NUX1NUQVJUX1RFU1QpOgoJICBGb3IgZnJhbWVkIFdhdnBhY2sgYnVmZmVycyB3ZSByZXF1aXJlIGEgdmFsaWQgdGltZXN0YW1wLgoKMjAwNy0wNy0yMyAxODowMzo1NCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogQ2xpcCByYXcgYXVkaW8gYW5kIHZpZGVvIHdoZW4gd2UgY2FuLCBrZWVwIHRyYWNrIG9mIGN1cnJlbnQgb3V0cHV0IHNlZ21lbnQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKGdzdF9xdGRlbXV4X2FjdGl2YXRlX3NlZ21lbnQpLAoJICAoZ3N0X3F0ZGVtdXhfY2xpcF9idWZmZXIpLCAoZ3N0X3F0ZGVtdXhfbG9vcF9zdGF0ZV9tb3ZpZSksCgkgIChxdGRlbXV4X3BhcnNlX3RyYWspLCAocXRkZW11eF92aWRlb19jYXBzKSwgKHF0ZGVtdXhfYXVkaW9fY2Fwcyk6CgkgIENsaXAgcmF3IGF1ZGlvIGFuZCB2aWRlbyB3aGVuIHdlIGNhbiwga2VlcCB0cmFjayBvZiBjdXJyZW50IG91dHB1dAoJICBzZWdtZW50LgoJICBEb24ndCBsZWFrIGJ1ZmZlcnMgYW5kIGV2ZW50cyB3aGVuIHRoZXJlIGlzIG5vIG91dHB1dCBwYWQuCgkgIEltcHJvdmUgZGVidWdnaW5nIGhlcmUgYW5kIHRoZXJlLgoKMjAwNy0wNy0yMyAwOTowMjowNyArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgY29uZmlndXJlLmFjOiBTeW5jIGxpYm9pbCBjaGVjayB3aXRoIHBsdWdpbnMtYmFzZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICBTeW5jIGxpYm9pbCBjaGVjayB3aXRoIHBsdWdpbnMtYmFzZS4KCjIwMDctMDctMjAgMTE6Mzc6MzcgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC9lcXVhbGl6ZXIvOiBCZXR0ZXIgYWxnb3JpdGggZm9yIHRoZSBjZW50ZXIgZnJlcXVlbmNpZXMuIFN1YnRyYWN0IGJhbmQgZmlsdGVycyBmcm9tIGlucHV0IGZvciBuZWdhdGl2ZSBnYWlucy4gUmV3by4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplci5jOgoJICAoZ3N0X2lpcl9lcXVhbGl6ZXJfYmFuZF9zZXRfcHJvcGVydHkpLAoJICAoZ3N0X2lpcl9lcXVhbGl6ZXJfY2hpbGRfcHJveHlfZ2V0X2NoaWxkX2J5X2luZGV4KSwKCSAgKGdzdF9paXJfZXF1YWxpemVyX2NoaWxkX3Byb3h5X2dldF9jaGlsZHJlbl9jb3VudCksCgkgIChnc3RfaWlyX2VxdWFsaXplcl9jaGlsZF9wcm94eV9pbnRlcmZhY2VfaW5pdCksCgkgIChnc3RfaWlyX2VxdWFsaXplcl9jbGFzc19pbml0KSwgKGFyZ190b19zY2FsZSksIChzZXR1cF9maWx0ZXIpLAoJICAoZ3N0X2lpcl9lcXVhbGl6ZXJfY29tcHV0ZV9mcmVxdWVuY2llcyk6CgkgICogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIxMGJhbmRzLmM6CgkgIChnc3RfaWlyX2VxdWFsaXplcl8xMGJhbmRzX2NsYXNzX2luaXQpOgoJICAqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyM2JhbmRzLmM6CgkgIChnc3RfaWlyX2VxdWFsaXplcl8zYmFuZHNfY2xhc3NfaW5pdCk6CgkgICogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXJuYmFuZHMuYzoKCSAgQmV0dGVyIGFsZ29yaXRoIGZvciB0aGUgY2VudGVyIGZyZXF1ZW5jaWVzLiBTdWJ0cmFjdCBiYW5kIGZpbHRlcnMgZnJvbQoJICBpbnB1dCBmb3IgbmVnYXRpdmUgZ2FpbnMuIFJld29yayB0aGUgZ2FpbiBtYXBwaW5nLgoKMjAwNy0wNy0yMCAwNzo0MTo1OCArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZXh0L2Fubm9kZXgvTWFrZWZpbGUuYW06IEZpeCBDRkxBR1MvTElCUy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2Fubm9kZXgvTWFrZWZpbGUuYW06CgkgIEZpeCBDRkxBR1MvTElCUy4KCSAgKiBleHQvY2Rpby9nc3RjZGlvY2RkYXNyYy5jOgoJICAqIGV4dC9saWJwbmcvZ3N0cG5nZGVjLmM6IChnc3RfcG5nZGVjX3Rhc2spOgoJICBJbmNsdWRlIHN0ZGxpYgoJICAqIGV4dC9jYWlyby9NYWtlZmlsZS5hbToKCSAgKiBnc3QvdmlkZW9maWx0ZXIvTWFrZWZpbGUuYW06CgkgICogdGVzdHMvZXhhbXBsZXMvbGV2ZWwvTWFrZWZpbGUuYW06CgkgIFVzZSAkKExJQk0pIGluc3RlYWQgb2YgLWxtCgoyMDA3LTA3LTE4IDExOjU1OjEzICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6IEFkZCBhbm90aGVyIGV4YW1wbGUgcGlwZWxpbmUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzoKCSAgQWRkIGFub3RoZXIgZXhhbXBsZSBwaXBlbGluZS4KCjIwMDctMDctMTggMTE6NDI6MzMgKzAwMDAgIEFsZXhhbmRlciBFaWNobmVyIDxhbGV4ZWljaGlAeWFob28uZGU+CgoJICBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6IFVzZSBkZWZpbmUgaGVyZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBBbGV4YW5kZXIgRWljaG5lciA8YWxleGVpY2hpQHlhaG9vLmRlPgoJICAqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzogKGdzdF92NGwyc3JjX2luaXQpOgoJICBVc2UgZGVmaW5lIGhlcmUuCgkgICogc3lzL3Y0bDIvZ3N0djRsMnR1bmVyLmM6CgkgIChnc3RfdjRsMl90dW5lcl9zZXRfZnJlcXVlbmN5X2FuZF9ub3RpZnkpOgoJICBEb24ndCB0b3VjaCB0aGUgcHJvcGVydHkgLSBpdHMgc3RpbGwgZGlzYWJsZWQuCgkgICogc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5jOiAoZ3N0X3Y0bDJzcmNfcHJvYmVfY2Fwc19mb3JfZm9ybWF0KSwKCSAgKGdzdF92NGwyc3JjX2dyYWJfZnJhbWUpLCAoZ3N0X3Y0bDJzcmNfZ2V0X3NpemVfbGltaXRzKToKCSAgKiBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmg6CgkgIEltcHJvdmUgZmFsbGJhY2sgZm9ybWF0IG5lZ290aW9uYXRpb24uIEZpeGVzICM0NTEzODgKCjIwMDctMDctMTggMTA6MzM6MzkgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3ZpZGVvY3JvcC5jOiBGaXggdGhlIHRlc3QuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3ZpZGVvY3JvcC5jOiAoR1NUX1NUQVJUX1RFU1QpOgoJICBGaXggdGhlIHRlc3QuCgoyMDA3LTA3LTE4IDA5OjIxOjIzICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBNb3JlIGRvY3MuIE1vcmUgbG9ncyBpbiBwbmdkZWMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanBlZy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBuZy54bWw6CgkgICogZXh0L2pwZWcvZ3N0anBlZ2RlYy5jOgoJICAqIGV4dC9saWJwbmcvZ3N0cG5nZGVjLmM6IChnc3RfcG5nZGVjX3Rhc2spLAoJICAoZ3N0X3BuZ2RlY19zaW5rX3NldGNhcHMpOgoJICBNb3JlIGRvY3MuIE1vcmUgbG9ncyBpbiBwbmdkZWMuCgoyMDA3LTA3LTE4IDA3OjUxOjExICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3QvbXVsdGlmaWxlL2dzdG11bHRpZmlsZXNyYy5jOiBBZGQgZXhhbXBsZSB0byB0aGUgZG9jcy4gRml4IGJ1ZmZlci1vZmZzZXQtZW5kIGFuZCBhZGQgc29tZSBkZWJ1Zy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L211bHRpZmlsZS9nc3RtdWx0aWZpbGVzcmMuYzogKGdzdF9tdWx0aV9maWxlX3NyY19jcmVhdGUpOgoJICBBZGQgZXhhbXBsZSB0byB0aGUgZG9jcy4gRml4IGJ1ZmZlci1vZmZzZXQtZW5kIGFuZCBhZGQgc29tZSBkZWJ1Zy4KCjIwMDctMDctMTggMDc6MzU6MzIgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIEFkZCBzdGRsaWIgaW5jbHVkZSAoZnJlZSwgYXRvaSwgZXhpdCkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4YW1wbGVzL2FwcC9hcHBzcmNfZXguYzoKCSAgKiBleGFtcGxlcy9zd2l0Y2gvc3dpdGNoZXIuYzoKCSAgKiBleHQvbmVvbi9nc3RuZW9uaHR0cHNyYy5jOgoJICAqIGV4dC90aW1pZGl0eS9nc3R3aWxkbWlkaS5jOgoJICAqIGV4dC94MjY0L2dzdHgyNjRlbmMuYzoKCSAgKiBnc3QvbXZlL212ZWF1ZGlvZW5jLmM6IChtdmVfY29tcHJlc3NfYXVkaW8pOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGNsaWVudC5jOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICAqIGdzdC9zcGVjdHJ1bS9kZW1vLWF1ZGlvdGVzdC5jOgoJICAqIGdzdC9zcGVjdHJ1bS9kZW1vLW9zc3NyYy5jOgoJICAqIHN5cy9kdmIvZ3N0ZHZic3JjLmM6CgkgIEFkZCBzdGRsaWIgaW5jbHVkZSAoZnJlZSwgYXRvaSwgZXhpdCkuCgoyMDA3LTA3LTE3IDExOjM1OjI5ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6IEluaXRpYWxpemUgbnVtX2J1ZmZlcnMgd2l0aCBtaW5pbXVtIHZhbHVlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6IChnc3RfdjRsMnNyY19pbml0KToKCSAgSW5pdGlhbGl6ZSBudW1fYnVmZmVycyB3aXRoIG1pbmltdW0gdmFsdWUuCgkgICogc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5jOiAoZ3N0X3Y0bDJzcmNfZmlsbF9mb3JtYXRfbGlzdCksCgkgIChnc3RfdjRsMnNyY19wcm9iZV9jYXBzX2Zvcl9mb3JtYXQpLCAoZ3N0X3Y0bDJzcmNfZ3JhYl9mcmFtZSk6CgkgIEhhbmRsZSBmcmFtZS1zaXplIHF1ZXJ5IGZhaWx1cmUgZ3JhY2VmdWxseS4KCjIwMDctMDctMTYgMTI6MTE6MzYgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IEZpeCBwYXJzaW5nIG9mIGVzZHMgYXRvbXMgaW5zaWRlIG1wNGEgYXRvbXMgc28gdGhhdCB3ZSBjYW4gc2V0IGNvcnJlY3QgY29kZWNfaW5mbyBmb3IgQUFDIGF1ZGkuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAocXRkZW11eF9wYXJzZV9ub2RlKToKCSAgRml4IHBhcnNpbmcgb2YgZXNkcyBhdG9tcyBpbnNpZGUgbXA0YSBhdG9tcyBzbyB0aGF0IHdlIGNhbiBzZXQgY29ycmVjdAoJICBjb2RlY19pbmZvIGZvciBBQUMgYXVkaW8uIEZpeGVzICM0NTcwOTcgYWxvbmcgd2l0aCBhIHdob2xlIG90aGVyIGJ1bmNoCgkgIG9mIHF0L2FhYyBmaWxlcy4KCjIwMDctMDctMTYgMDk6MTY6MDMgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tkZWMuYzogRml4IGJ1ZmZlciBjbGlwcGluZyB0byBjb3JyZWN0bHkgY2xpcCB0byB0aGUgc2VnbWVudCBzdG9wLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZGVjLmM6CgkgIChnc3Rfd2F2cGFja19kZWNfY2xpcF9vdXRnb2luZ19idWZmZXIpOgoJICBGaXggYnVmZmVyIGNsaXBwaW5nIHRvIGNvcnJlY3RseSBjbGlwIHRvIHRoZSBzZWdtZW50IHN0b3AuCgoyMDA3LTA3LTEzIDE2OjMxOjI3ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIFJlbW92ZSBib2d1cyBjaGVjayBmb3IgbGliY2hlY2ssIHNpbmNlIHdlIGNoZWNrIGZvciBnc3RyZWFtZXItY2hlY2sgYW5kIGl0IHB1bGxzIGluIHRoZSByZXF1aXJlZCBpbmZvIGZyb20gdGhlcmUsIGFuZC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgICogdGVzdHMvTWFrZWZpbGUuYW06CgkgIFJlbW92ZSBib2d1cyBjaGVjayBmb3IgbGliY2hlY2ssIHNpbmNlIHdlIGNoZWNrIGZvcgoJICBnc3RyZWFtZXItY2hlY2sgYW5kIGl0IHB1bGxzIGluIHRoZSByZXF1aXJlZCBpbmZvIGZyb20gdGhlcmUsCgkgIGFuZCB3ZSB3ZXJlbid0IGFjdHVhbGx5IF91c2luZ18gdGhlIGluZm9ybWF0aW9uIGZvciBsaWJjaGVjawoJICBvdXJzZWx2ZXMgYW55d2F5LgoKMjAwNy0wNy0xMiAxMToyMTowMSArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgY29uZmlndXJlLmFjOiBVc2UgcGtnLWNvbmZpZyB0byBsb2NhdGUgY2hlY2suCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgVXNlIHBrZy1jb25maWcgdG8gbG9jYXRlIGNoZWNrLgoKMjAwNy0wNy0xMSAyMzo0MzoyNSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC86IEZpeCBidWlsZCBhZ2FpbnN0IGNvcmUgQ1ZTLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvaW50ZXJsZWF2ZS9kZWludGVybGVhdmUuYzogKGdzdF9kZWludGVybGVhdmVfcHJvY2Vzcyk6CgkgICogZ3N0L3ZtbmMvdm1uY2RlYy5jOiAodm1uY19tYWtlX2J1ZmZlcik6CgkgIEZpeCBidWlsZCBhZ2FpbnN0IGNvcmUgQ1ZTLgoKMjAwNy0wNy0xMSAyMjozMTowNiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIEZpeCBidWlsZCBhZ2FpbnN0IGNvcmUgQ1ZTLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvY2Fpcm8vZ3N0dGltZW92ZXJsYXkuYzogKGdzdF9jYWlyb190aW1lX292ZXJsYXlfdHJhbnNmb3JtKToKCSAgKiBleHQvanBlZy9nc3RqcGVnZW5jLmM6IChnc3RfanBlZ2VuY19jaGFpbik6CgkgICogZXh0L2xpYnBuZy9nc3RwbmdlbmMuYzogKGdzdF9wbmdlbmNfY2hhaW4pOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tkZWMuYzogKGdzdF93YXZwYWNrX2RlY19jaGFpbik6CgkgICogZ3N0L2RlYnVnL2dzdG5hdmlnYXRpb250ZXN0LmM6IChnc3RfbmF2aWdhdGlvbnRlc3RfdHJhbnNmb3JtKToKCSAgKiBnc3QvZWZmZWN0di9nc3RhZ2luZy5jOiAoZ3N0X2FnaW5ndHZfdHJhbnNmb3JtKToKCSAgKiBnc3QvZWZmZWN0di9nc3RkaWNlLmM6IChnc3RfZGljZXR2X3RyYW5zZm9ybSk6CgkgICogZ3N0L2VmZmVjdHYvZ3N0ZWRnZS5jOiAoZ3N0X2VkZ2V0dl90cmFuc2Zvcm0pOgoJICAqIGdzdC9lZmZlY3R2L2dzdHF1YXJrLmM6IChnc3RfcXVhcmt0dl90cmFuc2Zvcm0pOgoJICAqIGdzdC9lZmZlY3R2L2dzdHJldi5jOiAoZ3N0X3JldnR2X3RyYW5zZm9ybSk6CgkgICogZ3N0L2VmZmVjdHYvZ3N0c2hhZ2FkZWxpYy5jOiAoZ3N0X3NoYWdhZGVsaWN0dl90cmFuc2Zvcm0pOgoJICAqIGdzdC9lZmZlY3R2L2dzdHZlcnRpZ28uYzogKGdzdF92ZXJ0aWdvdHZfdHJhbnNmb3JtKToKCSAgKiBnc3QvZWZmZWN0di9nc3R3YXJwLmM6IChnc3Rfd2FycHR2X3RyYW5zZm9ybSk6CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIChnc3RfbWF0cm9za2FfZGVtdXhfYWRkX3d2cGtfaGVhZGVyKSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9jaGVja19zdWJ0aXRsZV9idWZmZXIpLAoJICAoZ3N0X21hdHJvc2thX2RlY29kZV9idWZmZXIpOgoJICAqIGdzdC92aWRlb2ZpbHRlci9nc3R2aWRlb2ZsaXAuYzogKGdzdF92aWRlb19mbGlwX3RyYW5zZm9ybSk6CgkgIEZpeCBidWlsZCBhZ2FpbnN0IGNvcmUgQ1ZTLgoKMjAwNy0wNy0xMCAxMDoxNjozOCArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIGdzdC9pZDNkZW11eC9nc3RpZDNkZW11eC5jOiBEb24ndCByZXR1cm4gR1NUX0ZMT1dfRVJST1Igd2hlbiBwdXNoaW5nIGFuIGV2ZW50IHJldHVybnMgRkFMU0UuIFdlIGRvbid0IGhhdmUgZW5vdWdoIGdyYS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvaWQzZGVtdXgvZ3N0aWQzZGVtdXguYzogKGdzdF9pZDNkZW11eF9jaGFpbik6CgkgIERvbid0IHJldHVybiBHU1RfRkxPV19FUlJPUiB3aGVuIHB1c2hpbmcgYW4gZXZlbnQgcmV0dXJucyBGQUxTRS4gV2UKCSAgZG9uJ3QgaGF2ZSBlbm91Z2ggZ3JhbnVsYXJpdHkgdG8gY29udmVydCB0aGF0IGJvb2xlYW4gaW50byBhCgkgIEdzdEZsb3dSZXR1cm4uCgoyMDA3LTA3LTA2IDE1OjAwOjQ3ICswMDAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAeGlwaC5vcmc+CgoJICBnc3QvbGF3LzogRml4IGNhcHNuZWdvIGJvZ29zaXR5IGluICpsYXcgZGVjb2RlcnMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9sYXcvYWxhdy1kZWNvZGUuYzogKGFsYXdkZWNfc2lua19zZXRjYXBzKSwKCSAgKGdzdF9hbGF3ZGVjX2NsYXNzX2luaXQpLCAoZ3N0X2FsYXdkZWNfaW5pdCksIChnc3RfYWxhd2RlY19jaGFpbiksCgkgIChnc3RfYWxhd2RlY19jaGFuZ2Vfc3RhdGUpOgoJICAqIGdzdC9sYXcvYWxhdy1kZWNvZGUuaDoKCSAgKiBnc3QvbGF3L211bGF3LWRlY29kZS5jOiAobXVsYXdkZWNfc2lua19zZXRjYXBzKSwKCSAgKGdzdF9tdWxhd2RlY19jbGFzc19pbml0KSwgKGdzdF9tdWxhd2RlY19pbml0KSwKCSAgKGdzdF9tdWxhd2RlY19jaGFpbiksIChnc3RfbXVsYXdkZWNfY2hhbmdlX3N0YXRlKToKCSAgKiBnc3QvbGF3L211bGF3LWRlY29kZS5oOgoJICBGaXggY2Fwc25lZ28gYm9nb3NpdHkgaW4gKmxhdyBkZWNvZGVycy4KCjIwMDctMDctMDYgMTQ6MzU6NTkgKzAwMDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEB4aXBoLm9yZz4KCgkgIGV4dC9qcGVnL2dzdHNtb2tlZW5jLio6IFJlbW92ZSBzdHVwaWRpdHkgaW4gZ2V0L3NldCBjYXBzIGZ1bmN0aW9ucy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2pwZWcvZ3N0c21va2VlbmMuYzogKGdzdF9zbW9rZWVuY19pbml0KSwKCSAgKGdzdF9zbW9rZWVuY19zZXRjYXBzKSwgKGdzdF9zbW9rZWVuY19jaGFpbiksCgkgIChnc3Rfc21va2VlbmNfY2hhbmdlX3N0YXRlKToKCSAgKiBleHQvanBlZy9nc3RzbW9rZWVuYy5oOgoJICBSZW1vdmUgc3R1cGlkaXR5IGluIGdldC9zZXQgY2FwcyBmdW5jdGlvbnMuCgkgIEZpeCBzb21lIHJlZmNvdW50aW5nIHByb2JsZW1zLgoKMjAwNy0wNy0wNiAxMTo0Mjo1MyArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBleHQvbGlicG5nL2dzdHBuZ2RlYy5jOiBSZW1vdmUgZW5kaWFubmVzcy1mbGlwcGluZyBoYWNrIHRoYXQgc2VlbXMgdG8gaGF2ZSBiZWVuIHJlcXVpcmVkIG9ubHkgYmVjYXVzZSBvZiBhIGJ1ZyBpbiBmZm0uLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2xpYnBuZy9nc3RwbmdkZWMuYzogKGdzdF9wbmdkZWNfY2Fwc19jcmVhdGVfYW5kX3NldCk6CgkgIFJlbW92ZSBlbmRpYW5uZXNzLWZsaXBwaW5nIGhhY2sgdGhhdCBzZWVtcyB0byBoYXZlIGJlZW4gcmVxdWlyZWQKCSAgb25seSBiZWNhdXNlIG9mIGEgYnVnIGluIGZmbXBlZ2NvbG9yc3BhY2UuCgkgIFBhcnRpYWxseSBGaXhlczogIzQ1MTkwOAoKMjAwNy0wNy0wNSAwODo0NDoxMSArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOiBTaW1wbGlmeSAtLWV4dHJhLWRpciBhcyBndGtkb2Mgc2NhbnMgcmVjdXJzaXZlbHkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSAgU2ltcGxpZnkgLS1leHRyYS1kaXIgYXMgZ3RrZG9jIHNjYW5zIHJlY3Vyc2l2ZWx5LgoKMjAwNy0wNy0wMyAwOTo1OTo0NiArMDAwMCAgVG9tbWkgTXnDtmjDpG5lbiA8ZXh0LXRvbW1pLm15b2hhbmVuQG5va2lhLmNvbT4KCgkgIGdzdC9ydHAvZ3N0cnRwaWxiY3BheS5jOiBTZXQgdGhlIGVuY29kaW5nLW5hbWUgaW4gdGhlIHJ0cCBjYXBzIHRvIGFsbCB1cHBlcmNhc2UsIGFzIHJlcXVpcmVkIGJ5IHRoZSBjYXBzIHNwZWMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogVG9tbWkgTXnDtmjDpG5lbiAgPGV4dC10b21taSBkb3QgbXlvaGFuZW4gYXQgbm9raWEgZG90IGNvbT4KCSAgKiBnc3QvcnRwL2dzdHJ0cGlsYmNwYXkuYzogKGdzdF9ydHBpbGJjcGF5X3NldGNhcHMpOgoJICBTZXQgdGhlIGVuY29kaW5nLW5hbWUgaW4gdGhlIHJ0cCBjYXBzIHRvIGFsbCB1cHBlcmNhc2UsIGFzIHJlcXVpcmVkIGJ5CgkgIHRoZSBjYXBzIHNwZWMuCgkgIFNvbWUgc21hbGwgY2xlYW51cHMgaW4gdGhlIGVycm9yIHBhdGhzLiBGaXhlcyAjNDUzMDM3LgoKMjAwNy0wNy0wMyAwODowMToxOCArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L211bHRpZmlsZS86IEFkZCAuaCBmaWxlcyB0byBiZSBhYmxlIHRvIGFkZCBpdCB0byB0aGUgZG9jcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L211bHRpZmlsZS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvbXVsdGlmaWxlL2dzdG11bHRpZmlsZS5jOgoJICAqIGdzdC9tdWx0aWZpbGUvZ3N0bXVsdGlmaWxlc2luay5jOgoJICAqIGdzdC9tdWx0aWZpbGUvZ3N0bXVsdGlmaWxlc2luay5oOgoJICAqIGdzdC9tdWx0aWZpbGUvZ3N0bXVsdGlmaWxlc3JjLmM6CgkgICogZ3N0L211bHRpZmlsZS9nc3RtdWx0aWZpbGVzcmMuaDoKCSAgQWRkIC5oIGZpbGVzIHRvIGJlIGFibGUgdG8gYWRkIGl0IHRvIHRoZSBkb2NzLgoKMjAwNy0wNy0wMyAwNzoxNjoyNiArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L3JlcGxheWdhaW4vZ3N0cmd2b2x1bWUuaDogRml4IEdPYmplY3QgbWFjcm9zLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcmVwbGF5Z2Fpbi9nc3RyZ3ZvbHVtZS5oOgoJICBGaXggR09iamVjdCBtYWNyb3MuCgoyMDA3LTA2LTI4IDE5OjAwOjQzICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBleHQvd2F2cGFjay9nc3R3YXZwYWNrcGFyc2UuKjogVXNlIGEgR1NMaXN0IGZvciB0aGUgR0FycmF5IHRoYXQgaXMgdXNlZCBsaWtlIGEgbGlzdCBhbnl3YXkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2twYXJzZS5jOgoJICAoZ3N0X3dhdnBhY2tfcGFyc2VfaW5kZXhfZ2V0X2xhc3RfZW50cnkpLAoJICAoZ3N0X3dhdnBhY2tfcGFyc2VfaW5kZXhfZ2V0X2VudHJ5X2Zyb21fc2FtcGxlKSwKCSAgKGdzdF93YXZwYWNrX3BhcnNlX2luZGV4X2FwcGVuZF9lbnRyeSksIChnc3Rfd2F2cGFja19wYXJzZV9yZXNldCksCgkgIChnc3Rfd2F2cGFja19wYXJzZV9zY2FuX3RvX2ZpbmRfc2FtcGxlKToKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrcGFyc2UuaDoKCSAgVXNlIGEgR1NMaXN0IGZvciB0aGUgR0FycmF5IHRoYXQgaXMgdXNlZCBsaWtlIGEgbGlzdCBhbnl3YXkuCgoyMDA3LTA2LTI4IDEzOjI1OjA1ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L2dka19waXhidWYvZ3N0Z2RrcGl4YnVmLmM6IEFkZCBzdGF0ZSBjaGFuZ2UgZnVuY3Rpb24gd2hlcmUgd2Ugc2V0IDAvMSBhcyBkZWZhdWx0IGZyYW1lcmF0ZSBpbiBjYXNlIG91ciBzZXRjYXBzIGZ1Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9nZGtfcGl4YnVmL2dzdGdka3BpeGJ1Zi5jOiAoZ3N0X2dka19waXhidWZfc2lua19zZXRjYXBzKSwKCSAgKGdzdF9nZGtfcGl4YnVmX2NsYXNzX2luaXQpLCAoZ3N0X2dka19waXhidWZfZmx1c2gpLAoJICAoZ3N0X2dka19waXhidWZfc2lua19ldmVudCksIChnc3RfZ2RrX3BpeGJ1Zl9jaGFuZ2Vfc3RhdGUpOgoJICBBZGQgc3RhdGUgY2hhbmdlIGZ1bmN0aW9uIHdoZXJlIHdlIHNldCAwLzEgYXMgZGVmYXVsdCBmcmFtZXJhdGUgaW4KCSAgY2FzZSBvdXIgc2V0Y2FwcyBmdW5jdGlvbiBpc24ndCBjYWxsZWQsIGxpa2UgaXQgbWlnaHQgbm90IGluIGEKCSAgZmlsZXNyYyAhIGdka3BpeGJ1ZmRlYyBzY2VuYXJpby4gRml4ZXMgYXNzZXJ0aW9uIHRyaWdnZXJlZCBieQoJICBnZGtwaXhidWZkZWMgdHJ5aW5nIHRvIGNyZWF0ZSBjYXBzIHdpdGggYSAwLzAgZnJhbWVyYXRlLgoJICBBbHNvIHBvc3QgYW4gZXJyb3IgbWVzc2FnZSBvbiB0aGUgYnVzIGlmIGdzdF9wYWRfcHVzaCgpIGZhaWxzIHdoZW4KCSAgY2FsbGVkIGZyb20gb3VyIHNpbmsgZXZlbnQgaGFuZGxlciAoKzEgZm9yIGZsb3cgcmV0dXJucyBmb3IgZXZlbnQKCSAgZnVuY3Rpb25zIGluIDAuMTEpIGluc3RlYWQgb2YgZmFpbGluZyBzaWxlbnRseS4KCjIwMDctMDYtMjcgMTE6MzY6MjQgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IENhc3Qgc3RhY2sgYXJncyB0byB0aGUgcHJvcGVyIHR5cGVzLiBGaXhlcyAjNDUxMjQ5LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IChnc3RfcnRzcHNyY19jb25maWd1cmVfY2Fwcyk6CgkgIENhc3Qgc3RhY2sgYXJncyB0byB0aGUgcHJvcGVyIHR5cGVzLiBGaXhlcyAjNDUxMjQ5LgoKMjAwNy0wNi0yNyAxMTowNDo0NyArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHNwL2dzdHJ0c3BzcmMuKjogRm9yIGNvbnRhaW5lciBmb3JtYXRzIHdlIG9ubHkgbmVlZCB0byBhY3RpdmF0ZSBvbmUgb2YgdGhlIHN0cmVhbXMgc28gdGhhdCB3ZSBjb3JyZWN0bHkgc2lnbmFsIC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IChnc3RfcnRzcHNyY19jcmVhdGVfc3RyZWFtKSwKCSAgKG5ld19zZXNzaW9uX3BhZCksIChnc3RfcnRzcHNyY19zZXR1cF9zdHJlYW1zKToKCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmg6CgkgIEZvciBjb250YWluZXIgZm9ybWF0cyB3ZSBvbmx5IG5lZWQgdG8gYWN0aXZhdGUgb25lIG9mIHRoZSBzdHJlYW1zIHNvCgkgIHRoYXQgd2UgY29ycmVjdGx5IHNpZ25hbCBuby1tb3JlLXBhZHMuIEZpeGVzICM0NTEwMTUuCgoyMDA3LTA2LTI1IDEyOjQ2OjA4ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBkb2NzL3BsdWdpbnMvOiBVcGRhdGUgZG9jcyB3aXRoIGNhcHMgaW5mby4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5hcmdzOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hYXNpbmsueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbGF3LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGEueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYWNvbG9yLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYW5ub2RleC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFwZXRhZy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvZngueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXBhcnNlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2RldGVjdC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF2aS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhY2FzaW5rLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2Fpcm8ueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZGlvLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY3V0dGVyLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWcueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmVuY2UueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmZlY3R2LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXNkc2luay54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsYWMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHhkZWMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nY29uZmVsZW1lbnRzLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2RrcGl4YnVmLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWhhbGVsZW1lbnRzLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWN5ZGVtdXgueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pZDNkZW11eC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwZWcueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sYWRzcGEueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sZXZlbC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1hdHJvc2thLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsYXcueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aXBhcnQueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uYXZpZ2F0aW9udGVzdC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zc2F1ZGlvLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5nLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcXVpY2t0aW1lLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRzcC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNtcHRlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZXgueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10YWdsaWIueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi11ZHAueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2JhbGFuY2UueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2JveC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvY3JvcC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvZmxpcC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvbWl4ZXIueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZlbmMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYXJzZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXhpbWFnZXNyYy54bWw6CgkgIFVwZGF0ZSBkb2NzIHdpdGggY2FwcyBpbmZvLgoKMjAwNy0wNi0yNSAxMjoxMzowOSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIHBvL1BPVEZJTEVTLmluOiBBZGQgbW9yZSBmaWxlcyB3aXRoIHRyYW5zbGF0YWJsZSBzdHJpbmdzICgjNDUwODc4KS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogcG8vUE9URklMRVMuaW46CgkgIEFkZCBtb3JlIGZpbGVzIHdpdGggdHJhbnNsYXRhYmxlIHN0cmluZ3MgKCM0NTA4NzgpLgoKMjAwNy0wNi0yMiAyMDoyMzoxOCArMDAwMCAgSmVucyBHcmFuc2V1ZXIgPGplbnNnckBnbXgubmV0PgoKCSAgZ3N0LzogQnVpbGQgZml4ZXMgZm9yIGdjYy0yLjl4IChubyBtaWQtYmxvY2sgdmFyaWFibGUgZGVjbGFyYXRpb25zIGV0Yy4pLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IEplbnMgR3JhbnNldWVyICA8amVuc2dyIGF0IGdteCBuZXQ+CgkgICogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIuYzoKCSAgKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplcjEwYmFuZHMuYzoKCSAgKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplcjNiYW5kcy5jOgoJICAqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVybmJhbmRzLmM6CgkgICogZ3N0L3J0cG1hbmFnZXIvYXN5bmNfaml0dGVyX3F1ZXVlLmM6CgkgIChhc3luY19qaXR0ZXJfcXVldWVfcHVzaF9zb3J0ZWQpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2NoYWluKToKCSAgKiBnc3Qvc3dpdGNoL2dzdHN3aXRjaC5jOiAoZ3N0X3N3aXRjaF9jaGFpbik6CgkgIEJ1aWxkIGZpeGVzIGZvciBnY2MtMi45eCAobm8gbWlkLWJsb2NrIHZhcmlhYmxlIGRlY2xhcmF0aW9ucyBldGMuKS4KCSAgRml4ZXMgIzQ1MDE4NS4KCjIwMDctMDYtMjIgMTQ6MjY6MzYgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgTUFJTlRBSU5FUlM6IFVwZGF0aW5nIGFsbCB0aGUgbWFpbnRhaW5lcnMgZmlsZXMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogTUFJTlRBSU5FUlM6CgkgIFVwZGF0aW5nIGFsbCB0aGUgbWFpbnRhaW5lcnMgZmlsZXMKCjIwMDctMDYtMjIgMTA6MTI6MTUgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBGaXggbWVtb3J5IGxlYWtzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZmxhYy9nc3RmbGFjdGFnLmM6IChnc3RfZmxhY190YWdfaW5pdCk6CgkgICogZ3N0L2ludGVybGVhdmUvZGVpbnRlcmxlYXZlLmM6IChkZWludGVybGVhdmVfaW5pdCksCgkgIChkZWludGVybGVhdmVfc2lua19saW5rKToKCSAgKiBnc3QvaW50ZXJsZWF2ZS9pbnRlcmxlYXZlLmM6IChpbnRlcmxlYXZlX2luaXQpOgoJICAqIGdzdC9tZWRpYW4vZ3N0bWVkaWFuLmM6IChnc3RfbWVkaWFuX2luaXQpOgoJICAqIGdzdC9vbGRjb3JlL2dzdG11bHRpZmlsZXNyYy5jOiAoZ3N0X211bHRpZmlsZXNyY19pbml0KToKCSAgRml4IG1lbW9yeSBsZWFrcy4KCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9pZDNkZW11eC5jOiAocGFkX2FkZGVkX2NiKToKCSAgUmVtb3ZlIHVudXNlZCB2YXJpYWJsZS4KCjIwMDctMDYtMjEgMTA6NDg6MTAgKzAwMDAgIERhbWllbiBDYXJiZXJ5IDxkYW1pZW4uY2FyYmVyeUBzdW4uY29tPgoKCSAgZXh0L2djb25mL2djb25mLmg6IE1ha2UgdGhlIHByb3RvdHlwZSBvZiBnc3RfZ2NvbmZfZ2V0X2tleV9mb3Jfc2lua19wcm9maWxlIG1hdGNoIHRoZSBpbXBsZW1lbnRhdGlvbi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2djb25mL2djb25mLmg6CgkgIE1ha2UgdGhlIHByb3RvdHlwZSBvZiBnc3RfZ2NvbmZfZ2V0X2tleV9mb3Jfc2lua19wcm9maWxlCgkgIG1hdGNoIHRoZSBpbXBsZW1lbnRhdGlvbi4KCSAgUGF0Y2ggYnk6IERhbWllbiBDYXJiZXJ5IDxkYW1pZW4gZG90IGNhcmJlcnkgYXQgc3VuIGRvdCBjb20+CgkgIEZpeGVzOiAjNDQ5NzQ3CgoyMDA3LTA2LTIwIDEyOjU2OjEyICswMDAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAeGlwaC5vcmc+CgoJICBnc3QvcnRwL2dzdHJ0cGRlcGF5LmM6IEZpeCBkZXNjcmlwdGlvbiAtIHJ0cGRlcGF5IGlzIG5vdCBhIHBheWxvYWRlci4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cC9nc3RydHBkZXBheS5jOgoJICBGaXggZGVzY3JpcHRpb24gLSBydHBkZXBheSBpcyBub3QgYSBwYXlsb2FkZXIuCgoyMDA3LTA2LTIwIDEwOjE1OjAwICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplci5jOiBEb2N1bWVudCBwYXJhbWV0ZXIgbWFwcGluZy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIuYzoKCSAgRG9jdW1lbnQgcGFyYW1ldGVyIG1hcHBpbmcuCgoyMDA3LTA2LTIwIDA4OjU2OjE3ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uYzogRml4IGxlYWtpbmcgYnVmZmVycy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmM6IChnc3Rfc3BlY3RydW1fZXZlbnQpLAoJICAoZ3N0X3NwZWN0cnVtX3RyYW5zZm9ybV9pcCk6CgkgIEZpeCBsZWFraW5nIGJ1ZmZlcnMuCgkgICogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvc3BlY3RydW0uYzogKHNldHVwX3NwZWN0cnVtKSwKCSAgKGNsZWFudXBfc3BlY3RydW0pLCAoR1NUX1NUQVJUX1RFU1QpLCAoc3BlY3RydW1fc3VpdGUpLCAobWFpbik6CgkgIEFkZCBzaW1wbGUgdGVzdCBmb3Igc3BlY3RydW0gZWxlbWVudC4KCjIwMDctMDYtMjAgMDg6MjY6MjEgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC9xdGRlbXV4LzogQWRkIE1KUEcgdG8gdGhlIHZhcmlhbnRzIG9mIG1vdGlvbiBqcGVnLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChxdGRlbXV4X3BhcnNlX3NhbXBsZXMpLAoJICAocXRkZW11eF92aWRlb19jYXBzKToKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4X2ZvdXJjYy5oOgoJICBBZGQgTUpQRyB0byB0aGUgdmFyaWFudHMgb2YgbW90aW9uIGpwZWcuCgoyMDA3LTA2LTE5IDE2OjQwOjQwICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgdGVzdHMvY2hlY2svOiBBZGQgR1NUX09QVElPTl9DRkxBR1MgdG8gQ0ZMQUdTIHdoZW4gYnVpbGRpbmcgdW5pdCB0ZXN0cywgc28gdGhlIGVycm9yIGZsYWdzIGFyZSBpbmNsdWRlZCBhbmQgaXQgZXJyb3JzLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvcGFub3JhbWEuYzogKEdTVF9TVEFSVF9URVNUKToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy92aWRlb2Nyb3AuYzogKEdTVF9TVEFSVF9URVNUKToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy92aWRlb2ZpbHRlci5jOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3dhdnBhY2tkZWMuYzogKEdTVF9TVEFSVF9URVNUKToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy93YXZwYWNrcGFyc2UuYzogKEdTVF9TVEFSVF9URVNUKToKCSAgQWRkIEdTVF9PUFRJT05fQ0ZMQUdTIHRvIENGTEFHUyB3aGVuIGJ1aWxkaW5nIHVuaXQgdGVzdHMsIHNvIHRoZQoJICBlcnJvciBmbGFncyBhcmUgaW5jbHVkZWQgYW5kIGl0IGVycm9ycyBvdXQgb24gY29tcGlsZXIgd2FybmluZ3MKCSAgZm9yIENWUyBidWlsZHM7IHJlbW92ZSB1bnVzZWQgdmFyaWFibGVzIGluIHZhcmlvdXMgdW5pdCB0ZXN0cy4KCjIwMDctMDYtMTkgMTQ6NDg6MDMgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRzcC9ydHNwY29ubmVjdGlvbi5jOiBVc2UgdGhyZWFkc2FmZSBpbmV0X250b3AgdG8gY29udmVydCBhbiBpcCBudW1iZXIgdG8gYSBzdHJpbmcuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHNwL3J0c3Bjb25uZWN0aW9uLmM6IChydHNwX2Nvbm5lY3Rpb25fY29ubmVjdCksCgkgIChydHNwX2Nvbm5lY3Rpb25fY2xvc2UpLCAocnRzcF9jb25uZWN0aW9uX2ZyZWUpOgoJICBVc2UgdGhyZWFkc2FmZSBpbmV0X250b3AgdG8gY29udmVydCBhbiBpcCBudW1iZXIgdG8gYSBzdHJpbmcuCgkgIEZpeGVzICM0NDc5NjEuCgkgIERvbid0IGxlYWsgZmQgKGFuZCBpcCkgd2hlbiBmcmVlaW5nIGEgY29ubmVjdGlvbiB3aXRob3V0IGZpcnN0IGNsb3NpbmcKCSAgaXQuCgoyMDA3LTA2LTE5IDE0OjExOjQ5ICswMDAwICBDaHJpc3RpYW4gU2NoYWxsZXIgPHVyYWV1c0Bnbm9tZS5vcmc+CgoJKiBnc3QvcXRkZW11eC9MRUdBTDoKCSAgYWRkICdMRUdBTCcgZmlsZSBkZXNjcmliaW5nIHdoeSB0aGlzIGlzIGluIC1nb29kIGFuZCB1bmRlciB3aGF0IGNpcmN1bXN0YW5jZXMgaXQgbWlnaHQgbmVlZCB0byBtb3ZlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgYWRkICdMRUdBTCcgZmlsZSBkZXNjcmliaW5nIHdoeSB0aGlzIGlzIGluIC1nb29kIGFuZCB1bmRlciB3aGF0CgkgIGNpcmN1bXN0YW5jZXMgaXQgbWlnaHQgbmVlZCB0byBtb3ZlLgoKMjAwNy0wNi0xOSAxMDo0MTo0OSArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBjb25maWd1cmUuYWM6IEJhY2sgdG8gQ1ZTCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgQmFjayB0byBDVlMKCSAgKiBnc3QtcGx1Z2lucy1nb29kLmRvYXA6CgkgIEFkZCAwLjEwLjYgdG8gdGhlIGRvYXAgZmlsZS4KCj09PSByZWxlYXNlIDAuMTAuNiA9PT0KCjIwMDctMDYtMTkgMTA6MjQ6NTUgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSogQ2hhbmdlTG9nOgoJKiBORVdTOgoJKiBSRUxFQVNFOgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLTEzOTQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWFzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGFjb2xvci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbm5vZGV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFwZXRhZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb2Z4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2RldGVjdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdmkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FjYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2Fpcm8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2Rpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jdXR0ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZlbmNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZmVjdHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXNkc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbGFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZseGRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nY29uZmVsZW1lbnRzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdka3BpeGJ1Zi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWhhbGVsZW1lbnRzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWljeWRlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlkM2RlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwZWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGV2ZWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWF0cm9za2EueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlwYXJ0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5hdmlnYXRpb250ZXN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zc2F1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBuZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1xdWlja3RpbWUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0c3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hvdXQyc2VuZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbXB0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10YWdsaWIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdWRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvYmFsYW5jZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2JveC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2Nyb3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9mbGlwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvbWl4ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2ZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teGltYWdlc3JjLnhtbDoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICBSZWxlYXNlIDAuMTAuNgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUmVsZWFzZSAwLjEwLjYKCjIwMDctMDYtMTggMTc6NTM6MjAgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSogcG8vYWYucG86CgkqIHBvL2F6LnBvOgoJKiBwby9jcy5wbzoKCSogcG8vZW5fR0IucG86CgkqIHBvL2h1LnBvOgoJKiBwby9pdC5wbzoKCSogcG8vamEucG86CgkqIHBvL25iLnBvOgoJKiBwby9ubC5wbzoKCSogcG8vb3IucG86CgkqIHBvL3NxLnBvOgoJKiBwby9zci5wbzoKCSogcG8vc3YucG86CgkqIHBvL3VrLnBvOgoJKiBwby92aS5wbzoKCSAgVXBkYXRlIC5wbyBmaWxlcwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgVXBkYXRlIC5wbyBmaWxlcwoKMjAwNy0wNi0xNyAxMjozNTowMyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9ydHNwL3J0c3Bjb25uZWN0aW9uLmM6IFJldmVydCBwcmV2aW91cyBjb21taXQgYWdhaW4sIHNpbmNlIHdlIGFyZSBmcm96ZW4gKHNvcnJ5KS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0c3AvcnRzcGNvbm5lY3Rpb24uYzogKHJ0c3BfY29ubmVjdGlvbl9jb25uZWN0KSwKCSAgKHJ0c3BfY29ubmVjdGlvbl9mcmVlKToKCSAgUmV2ZXJ0IHByZXZpb3VzIGNvbW1pdCBhZ2Fpbiwgc2luY2Ugd2UgYXJlIGZyb3plbiAoc29ycnkpLgoKMjAwNy0wNi0xNyAxMjoyNDo1OCArMDAwMCAgUGV0ZXIgS2plbGxlcnN0ZWR0IDxwa2pAYXhpcy5jb20+CgoJICBnc3QvcnRzcC9ydHNwY29ubmVjdGlvbi5jOiBpbmV0X250b2EoKSB1c2VzIGEgc3RhdGljIGJ1ZmZlciBpbnRlcm5hbGx5LCBzbyB3ZSBuZWVkIHRvIGNvcHkgdGhlIHJldHVybmVkIHN0cmluZyBpZiB3ZSAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBQZXRlciBLamVsbGVyc3RlZHQgPHBraiBhdCBheGlzIGNvbT4KCSAgKiBnc3QvcnRzcC9ydHNwY29ubmVjdGlvbi5jOiAocnRzcF9jb25uZWN0aW9uX2Nvbm5lY3QpLAoJICAocnRzcF9jb25uZWN0aW9uX2ZyZWUpOgoJICBpbmV0X250b2EoKSB1c2VzIGEgc3RhdGljIGJ1ZmZlciBpbnRlcm5hbGx5LCBzbyB3ZSBuZWVkIHRvIGNvcHkgdGhlCgkgIHJldHVybmVkIHN0cmluZyBpZiB3ZSB3YW50IHRvIHN0b3JlIGl0IGZvciBsYXRlciAoIzQ0Nzk2MSkuCgoyMDA3LTA2LTE1IDA5OjEzOjU1ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIHdpbjMyL3ZzNi86IE1hcmsgKi5kc3AgJiAqLmRzdyBhcyBiaW5hcnkgZmlsZXMgYW5kIGNvbnZlcnQgdG8gRE9TIGxpbmUgZW5kaW5ncywgYXMgdGhleSBkb24ndCBsb2FkIGludG8gVlM2IGNvcnJlY3RseS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB3aW4zMi92czYvYXV0b2dlbi5kc3A6CgkgICogd2luMzIvdnM2L2dzdF9wbHVnaW5zX2dvb2QuZHN3OgoJICAqIHdpbjMyL3ZzNi9saWJnc3RhbGF3LmRzcDoKCSAgKiB3aW4zMi92czYvbGliZ3N0YWxwaGEuZHNwOgoJICAqIHdpbjMyL3ZzNi9saWJnc3RhbHBoYWNvbG9yLmRzcDoKCSAgKiB3aW4zMi92czYvbGliZ3N0YXBldGFnLmRzcDoKCSAgKiB3aW4zMi92czYvbGliZ3N0YXVkaW9meC5kc3A6CgkgICogd2luMzIvdnM2L2xpYmdzdGF1cGFyc2UuZHNwOgoJICAqIHdpbjMyL3ZzNi9saWJnc3RhdXRvZGV0ZWN0LmRzcDoKCSAgKiB3aW4zMi92czYvbGliZ3N0YXZpLmRzcDoKCSAgKiB3aW4zMi92czYvbGliZ3N0Y3V0dGVyLmRzcDoKCSAgKiB3aW4zMi92czYvbGliZ3N0ZGlyZWN0ZHJhdy5kc3A6CgkgICogd2luMzIvdnM2L2xpYmdzdGRpcmVjdHNvdW5kLmRzcDoKCSAgKiB3aW4zMi92czYvbGliZ3N0ZWZmZWN0di5kc3A6CgkgICogd2luMzIvdnM2L2xpYmdzdGZseC5kc3A6CgkgICogd2luMzIvdnM2L2xpYmdzdGdvb20uZHNwOgoJICAqIHdpbjMyL3ZzNi9saWJnc3RpY3lkZW11eC5kc3A6CgkgICogd2luMzIvdnM2L2xpYmdzdGlkM2RlbXV4LmRzcDoKCSAgKiB3aW4zMi92czYvbGliZ3N0aW50ZXJsZWF2ZS5kc3A6CgkgICogd2luMzIvdnM2L2xpYmdzdGpwZWcuZHNwOgoJICAqIHdpbjMyL3ZzNi9saWJnc3RsZXZlbC5kc3A6CgkgICogd2luMzIvdnM2L2xpYmdzdG1hdHJvc2thLmRzcDoKCSAgKiB3aW4zMi92czYvbGliZ3N0bWVkaWFuLmRzcDoKCSAgKiB3aW4zMi92czYvbGliZ3N0bW9ub3Njb3BlLmRzcDoKCSAgKiB3aW4zMi92czYvbGliZ3N0bXVsYXcuZHNwOgoJICAqIHdpbjMyL3ZzNi9saWJnc3RtdWx0aXBhcnQuZHNwOgoJICAqIHdpbjMyL3ZzNi9saWJnc3RxdGRlbXV4LmRzcDoKCSAgKiB3aW4zMi92czYvbGliZ3N0cnRwLmRzcDoKCSAgKiB3aW4zMi92czYvbGliZ3N0cnRzcC5kc3A6CgkgICogd2luMzIvdnM2L2xpYmdzdHNtcHRlLmRzcDoKCSAgKiB3aW4zMi92czYvbGliZ3N0c3BlZXguZHNwOgoJICAqIHdpbjMyL3ZzNi9saWJnc3R1ZHAuZHNwOgoJICAqIHdpbjMyL3ZzNi9saWJnc3R2aWRlb2JhbGFuY2UuZHNwOgoJICAqIHdpbjMyL3ZzNi9saWJnc3R2aWRlb2JveC5kc3A6CgkgICogd2luMzIvdnM2L2xpYmdzdHZpZGVvY3JvcC5kc3A6CgkgICogd2luMzIvdnM2L2xpYmdzdHZpZGVvZmxpcC5kc3A6CgkgICogd2luMzIvdnM2L2xpYmdzdHZpZGVvbWl4ZXIuZHNwOgoJICAqIHdpbjMyL3ZzNi9saWJnc3R3YXZlZm9ybS5kc3A6CgkgICogd2luMzIvdnM2L2xpYmdzdHdhdmVuYy5kc3A6CgkgICogd2luMzIvdnM2L2xpYmdzdHdhdnBhcnNlLmRzcDoKCSAgTWFyayAqLmRzcCAmICouZHN3IGFzIGJpbmFyeSBmaWxlcyBhbmQgY29udmVydCB0byBET1MgbGluZQoJICBlbmRpbmdzLCBhcyB0aGV5IGRvbid0IGxvYWQgaW50byBWUzYgY29ycmVjdGx5IG90aGVyd2lzZS4KCjIwMDctMDYtMTUgMDg6MzI6NTIgKzAwMDAgIFZpbmNlbnQgVG9ycmkgPHZ0b3JyaUB1bml2LWV2cnkuZnI+CgoJICBnc3QvcnRzcC9ydHNwY29ubmVjdGlvbi5jOiBGaXggdGhlIE1pbmdXIGJ1aWxkLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRzcC9ydHNwY29ubmVjdGlvbi5jOiAocnRzcF9jb25uZWN0aW9uX2NyZWF0ZSksCgkgIChydHNwX2Nvbm5lY3Rpb25fY29ubmVjdCk6CgkgIEZpeCB0aGUgTWluZ1cgYnVpbGQuCgkgIFBhdGNoIEJ5OiBWaW5jZW50IFRvcnJpIDx2dG9ycmkgYXQgdW5pdi1ldnJ5IGRvdCBmcj4KCSAgRml4ZXM6ICM0NDY5ODEKCjIwMDctMDYtMTQgMTQ6MDM6NDEgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgdGVzdHMvOiBIdXNoIHRoZSBidWlsZGJvdHMgdXAKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvLmN2c2lnbm9yZToKCSAgKiB0ZXN0cy9pY2xlcy8uY3ZzaWdub3JlOgoJICBIdXNoIHRoZSBidWlsZGJvdHMgdXAKCjIwMDctMDYtMTQgMTI6MTQ6MjQgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgTWFrZSBzdXJlIHRvIGRpc3QgZXZlcnl0aGluZyBuZWVkZWQgZm9yIHdpbjMyIGJ1aWxkcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAqIHN5cy9NYWtlZmlsZS5hbToKCSAgKiBzeXMvZGlyZWN0ZHJhdy9NYWtlZmlsZS5hbToKCSAgKiBzeXMvZGlyZWN0c291bmQvTWFrZWZpbGUuYW06CgkgICogc3lzL3dhdmVmb3JtL01ha2VmaWxlLmFtOgoJICBNYWtlIHN1cmUgdG8gZGlzdCBldmVyeXRoaW5nIG5lZWRlZCBmb3Igd2luMzIgYnVpbGRzLgoKMjAwNy0wNi0xNCAxMDoyMzoyMCArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogRm9yIEFNUi1OQiBzdHJlYW1zLCBleHBvcnQgdGhlIEFNUlNwZWNpZmljQm94IGFzIGNvZGVjX2RhdGEgb24gdGhlIGNhcHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKHF0ZGVtdXhfcGFyc2VfdHJhayk6CgkgIEZvciBBTVItTkIgc3RyZWFtcywgZXhwb3J0IHRoZSBBTVJTcGVjaWZpY0JveCBhcyBjb2RlY19kYXRhIG9uIHRoZQoJICBjYXBzLgoJICBGaXhlcyAjNDQ3NDU4CgoyMDA3LTA2LTEzIDE3OjExOjI0ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cC9nc3RydHBoMjY0ZGVwYXkuYzogTWFrZSBzdXJlIHdlIGFsbG9jYXRlIGVub3VnaCBtZW1vcnkgZm9yIHRoZSBjb2RlY19kYXRhLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwL2dzdHJ0cGgyNjRkZXBheS5jOiAoZ3N0X3J0cF9oMjY0X2RlcGF5X3NldGNhcHMpOgoJICBNYWtlIHN1cmUgd2UgYWxsb2NhdGUgZW5vdWdoIG1lbW9yeSBmb3IgdGhlIGNvZGVjX2RhdGEuCgkgIEZpeGVzICM0NDcyMTAuCgoyMDA3LTA2LTEyIDIxOjA1OjIyICswMDAwICBTw6liYXN0aWVuIE1vdXR0ZSA8c2ViYXN0aWVuQG1vdXR0ZS5uZXQ+CgoJICB3aW4zMi9NQU5JRkVTVDogQWRkIHZpZGVvY3JvcCBwcm9qZWN0IGZpbGUgdG8gdGhlIHdpbjMyIG1hbmlmZXN0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB3aW4zMi9NQU5JRkVTVDoKCSAgQWRkIHZpZGVvY3JvcCBwcm9qZWN0IGZpbGUgdG8gdGhlIHdpbjMyIG1hbmlmZXN0LgoJICAqIHdpbjMyL3ZzNi9nc3RfcGx1Z2luc19nb29kLmRzdzoKCSAgQWRkIHF0ZGVtdXgsdmlkZW9jcm9wIGFuZCB3YXZlZm9ybSBwcm9qZWN0cyB0byB0aGUgd29ya3NwYWNlLgoJICAqIHdpbjMyL3ZzNi9saWJnc3RxdGRlbXV4LmRzcDoKCSAgQWRkIHpsaWIgdG8gdGhlIGxpbmsgbGlzdCBvZiBxdGRlbXV4LgoJICAqIHdpbjMyL3ZzNi9saWJnc3R2aWRlb2Nyb3AuZHNwOgoJICBBZGQgYSBwcm9qZWN0IGZpbGUgZm9yIHZpZGVvY3JvcC4KCjIwMDctMDYtMTIgMjA6MjI6MjYgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgcG8vUE9URklMRVMuaW46IEFkZCBxdGRlbXV4IGZvciB0cmFuc2xhdGlvbgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBwby9QT1RGSUxFUy5pbjoKCSAgQWRkIHF0ZGVtdXggZm9yIHRyYW5zbGF0aW9uCgoyMDA3LTA2LTEyIDIwOjE1OjI5ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIE1vdmUgdmlkZW9jcm9wIGFuZCBvc3h2aWRlbyBmcm9tIC1iYWQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1kb2NzLnNnbWw6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvY3JvcC54bWw6CgkgICogZ3N0LXBsdWdpbnMtZ29vZC5zcGVjLmluOgoJICAqIHN5cy9NYWtlZmlsZS5hbToKCSAgKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgKiB0ZXN0cy9pY2xlcy9NYWtlZmlsZS5hbToKCSAgKiB0ZXN0cy9pY2xlcy92aWRlb2Nyb3AtdGVzdC5jOgoJICBNb3ZlIHZpZGVvY3JvcCBhbmQgb3N4dmlkZW8gZnJvbSAtYmFkLgoKMjAwNy0wNi0xMiAxOTozNTowOCArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBNb3ZlIHF0ZGVtdXggZnJvbSAtYmFkLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgICogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtZG9jcy5zZ21sOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuYXJnczoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcXRkZW11eC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXF1aWNrdGltZS54bWw6CgkgICogd2luMzIvTUFOSUZFU1Q6CgkgIE1vdmUgcXRkZW11eCBmcm9tIC1iYWQuCgkgICogZ3N0LXBsdWdpbnMtZ29vZC5zcGVjLmluOgoJICBVcGRhdGUgc3BlYyBmaWxlIHRvIHJlZmxlY3QgbW92aW5nIG9mIHF0ZGVtdXggYW5kIHdhdnBhY2sKCjIwMDctMDYtMTIgMTk6MDE6NDEgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSogQ2hhbmdlTG9nOgoJKiB3aW4zMi9NQU5JRkVTVDoKCSAgRml4IHR5cG8gaW4gdGhlIGNoYW5nZWxvZyBhbmQgY29tbWl0IHRoZSBtYW5pZmVzdCB0b28KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEZpeCB0eXBvIGluIHRoZSBjaGFuZ2Vsb2cgYW5kIGNvbW1pdCB0aGUgbWFuaWZlc3QgdG9vCgoyMDA3LTA2LTEyIDE4OjUyOjMzICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIHdpbjMyL01BTklGRVNUCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHdpbjMyL01BTklGRVNUCgkgICogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtZG9jcy5zZ21sOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kaXJlY3RkcmF3LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGlyZWN0c291bmQueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZlZm9ybS54bWw6CgkgIE1vdmUgdGhlIHdhdmVmb3JtIHBsdWdpbiBmcm9tIC1iYWQgdG9vLiBVcGRhdGUgdGhlIGluc3BlY3QgeG1sCgkgIGZpbGVzIHRvIG1lbnRpb24gUGx1Z2lucyBHb29kIGluc3RlYWQgb2YgUGx1Z2lucyBCYWQuCgoyMDA3LTA2LTEyIDEzOjMzOjU2ICswMDAwICBBbmR5IFdpbmdvIDx3aW5nb0Bwb2JveC5jb20+CgoJKiBDaGFuZ2VMb2c6CgkqIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuYzoKCSAgUmV0dXJuIGEgY29weSBvZiB0aGUgcG9vbCBidWZmZXIgaWYgYWxsIG1tYXAgYnVmZmVycyBoYXZlIGJlZW4gZGVxdWV1ZWQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAoZ3N0X3Y0bDJzcmNfZ3JhYl9mcmFtZSk6IFJldHVybiBhIGNvcHkgb2YgdGhlIHBvb2wgYnVmZmVyIGlmIGFsbAoJICBtbWFwIGJ1ZmZlcnMgaGF2ZSBiZWVuIGRlcXVldWVkLgoKMjAwNy0wNi0xMiAxMToyMzowMSArMDAwMCAgQW5keSBXaW5nbyA8d2luZ29AcG9ib3guY29tPgoKCSAgc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5jIChnc3RfdjRsMl9idWZmZXJfZmluYWxpemUpIChnc3RfdjRsMl9idWZmZXJfY2xhc3NfaW5pdCwgZ3N0X3Y0bDJfYnVmZmVyX2dldF90eXBlKQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNy0wNi0xMiAgQW5keSBXaW5nbyAgPHdpbmdvQHBvYm94LmNvbT4KCSAgKiBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmMgKGdzdF92NGwyX2J1ZmZlcl9maW5hbGl6ZSkKCSAgKGdzdF92NGwyX2J1ZmZlcl9jbGFzc19pbml0LCBnc3RfdjRsMl9idWZmZXJfZ2V0X3R5cGUpCgkgIChnc3RfdjRsMl9idWZmZXJfbmV3KTogQmVoYXZlIG1vcmUgbGlrZSB4aW1hZ2VzaW5rJ3MgYnVmZmVycywgd2l0aAoJICBmaW5hbGl6YXRpb24gYW5kIHJlc3VzY2l0YXRpb24uIE5vIGxvbmdlciBwdWJsaWMuCgkgIChnc3RfdjRsMl9idWZmZXJfcG9vbF9maW5hbGl6ZSwgZ3N0X3Y0bDJfYnVmZmVyX3Bvb2xfaW5pdCkKCSAgKGdzdF92NGwyX2J1ZmZlcl9wb29sX2NsYXNzX2luaXQsIGdzdF92NGwyX2J1ZmZlcl9wb29sX2dldF90eXBlKQoJICAoZ3N0X3Y0bDJfYnVmZmVyX3Bvb2xfbmV3LCBnc3RfdjRsMl9idWZmZXJfcG9vbF9hY3RpdmF0ZSkKCSAgKGdzdF92NGwyX2J1ZmZlcl9wb29sX2Rlc3Ryb3kpOiBNYWtlIHRoZSBwb29sIGZvbGxvdyBjb21tb24KCSAgbWluaW9iamVjdCBzZW1hbnRpY3MsIGFuZCBiZSB0aHJlYWRzYWZlLgoJICAoZ3N0X3Y0bDJzcmNfcXVldWVfZnJhbWUpOiBSZW1vdmUgdGhpcyBmdW5jdGlvbiwgYXMgd2UganVzdCBjYWxsCgkgIHRoZSBpb2N0bHMgZGlyZWN0bHkgaW4gdGhlIHR3byBwbGFjZXMgd2hlcmUgd2UgcXVldWUgYnVmZmVycy4KCSAgKGdzdF92NGwyc3JjX2dyYWJfZnJhbWUpOiBSZXR1cm4gYSBmbG93cmV0dXJuIGFuZCBmaWxsIHRoZSBidWZmZXIKCSAgZGlyZWN0bHkuCgkgIChnc3RfdjRsMnNyY19jYXB0dXJlX2luaXQpOiBVc2UgdGhlIG5ldyBidWZmZXJfcG9vbF9uZXcgZnVuY3Rpb24KCSAgdG8gYWxsb2NhdGUgdGhlIHBvb2wsIHdoaWNoIGFsc28gcHJlYWxsb2NhdGVzIHRoZSBHc3RCdWZmZXJzLgoJICAoZ3N0X3Y0bDJzcmNfY2FwdHVyZV9zdGFydCk6IENhbGwgYnVmZmVyX3Bvb2xfYWN0aXZhdGUgaW5zdGVhZCBvZgoJICBxdWV1ZWluZyB0aGUgZnJhbWVzIGRpcmVjdGx5LgoJICAqIHN5cy92NGwyL2dzdHY0bDJzcmMuaCAoc3RydWN0IF9Hc3RWNGwyQnVmZmVyUG9vbCk6IE1ha2UgdGhpcyBhCgkgIHJlYWwgTWluaU9iamVjdCBpbnN0ZWFkIG9mIHJvbGxpbmcgb3VyIG93biByZWZjb3VudGluZyBhbmQKCSAgZmluYWxpemluZy4gR2l2ZSBpdCBhIGxvY2suCgkgIChzdHJ1Y3QgX0dzdFY0bDJCdWZmZXIpOiBSZW1vdmUgb25lIGludGVybWVkaWFyeSBvYmplY3QsIGhhdmluZwoJICB0aGUgYnVmZmVycyBob2xkIHRoZSBzdHJ1Y3QgdjRsMl9idWZmZXIgZGlyZWN0bHkuCgkgICogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jIChnc3RfdjRsMnNyY19zZXRfY2Fwcyk6IFBhc3MgdGhlIGNhcHMgdG8KCSAgY2FwdHVyZV9pbml0IHNvIHRoYXQgaXQgY2FuIHNldCB0aGVtIG9uIHRoZSBidWZmZXJzIHRoYXQgaXQgd2lsbAoJICBjcmVhdGUuCgkgIChnc3RfdjRsMnNyY19nZXRfcmVhZCk6IEZvciBiZXR0ZXIgb3IgZm9yIHdvcnNlLCBpbmNsdWRlIHRoZQoJICB0aW1lc3RhbXBpbmcgYW5kIG9mZnNldHRpbmcgY29kZSBoZXJlOyByZWFsbHkgd2Ugc2hvdWxkIGJlIHVzaW5nCgkgIGJ1ZmZlcmFsbG9jIHRob3VnaC4KCSAgKGdzdF92NGwyc3JjX2dldF9tbWFwKTogSnVzdCBtYWtlIGdyYWJfZnJhbWUgcmV0dXJuIG9uZSBvZiBvdXIKCSAgcHJlYWxsb2NhdGVkLCBtbWFwJ2QgYnVmZmVycy4KCjIwMDctMDYtMTEgMTE6NDE6NTYgKzAwMDAgIGRhbmllbCBmaXNjaGVyIDxkYW5AZjNjLmNvbT4KCgkgIHN5cy94aW1hZ2UvZ3N0eGltYWdlc3JjLmM6IEFjdHVhbGx5IHVzZSB0aGUgZGlzcGxheV9uYW1lIHByb3BlcnR5IHNvIHRoYXQgd2UgY2FuIGR1bXAgYW55IGF2YWlsYWJsZSBYIGRpc3BsYXkuIEZpeGVzIC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IGRhbmllbCBmaXNjaGVyIDxkYW4gYXQgZjNjIGRvdCBjb20+CgkgICogc3lzL3hpbWFnZS9nc3R4aW1hZ2VzcmMuYzogKGdzdF94aW1hZ2Vfc3JjX3N0YXJ0KSwKCSAgKGdzdF94aW1hZ2Vfc3JjX2dldF9jYXBzKToKCSAgQWN0dWFsbHkgdXNlIHRoZSBkaXNwbGF5X25hbWUgcHJvcGVydHkgc28gdGhhdCB3ZSBjYW4gZHVtcCBhbnkKCSAgYXZhaWxhYmxlIFggZGlzcGxheS4gRml4ZXMgIzQ0NTkwNS4KCjIwMDctMDYtMTEgMTA6MjE6MTMgKzAwMDAgIFRvbW1pIE15w7Zow6RuZW4gPGV4dC10b21taS5teW9oYW5lbkBub2tpYS5jb20+CgoJICBnc3QvcnRwLzogQWRkIG1pc3NpbmcgcmF0ZSBmaWVsZHMgdG8gY2Fwcy4gRml4ZXMgIzQ0MTExOC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBUb21taSBNecO2aMOkbmVuICA8ZXh0LXRvbW1pIGRvdCBteW9oYW5lbiBhdCBub2tpYSBkb3QgY29tPgoJICAqIGdzdC9ydHAvZ3N0cnRwcGNtYWRlcGF5LmM6IChnc3RfcnRwX3BjbWFfZGVwYXlfc2V0Y2Fwcyk6CgkgICogZ3N0L3J0cC9nc3RydHBwY211ZGVwYXkuYzogKGdzdF9ydHBfcGNtdV9kZXBheV9zZXRjYXBzKToKCSAgQWRkIG1pc3NpbmcgcmF0ZSBmaWVsZHMgdG8gY2Fwcy4gRml4ZXMgIzQ0MTExOC4KCjIwMDctMDYtMTAgMjE6MTQ6MTEgKzAwMDAgIFPDqWJhc3RpZW4gTW91dHRlIDxzZWJhc3RpZW5AbW91dHRlLm5ldD4KCgkgIHdpbjMyLzogQWRkIERpcmVjdFNvdW5kIGFuZCBEaXJlY3REcmF3IHNpbmtzIHByb2plY3QgZmlsZXMgdG8gd29ya3NwYWNlIGFuZCBzb2x1dGlvbiBmaWxlcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogd2luMzIvdnM2L2dzdF9wbHVnaW5zX2dvb2QuZHN3OgoJICAqIHdpbjMyL3ZzOC9nc3QtcGx1Z2lucy1nb29kLnNsbjoKCSAgQWRkIERpcmVjdFNvdW5kIGFuZCBEaXJlY3REcmF3IHNpbmtzIHByb2plY3QgZmlsZXMgdG8KCSAgd29ya3NwYWNlIGFuZCBzb2x1dGlvbiBmaWxlcy4KCjIwMDctMDYtMTAgMTA6NTM6MjYgKzAwMDAgIEpvc2ggQ29hbHNvbiA8eGZsYWNAeWFob28uY29tPgoKCSAgQWRkIHN1cHBvcnQgZm9yIGZsYWMgPj0gMS4xLjMgd2hpY2ggY2hhbmdlZCB0aGUgQVBJLiBGaXhlcyBidWcgIzM4NTg4Ny4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBKb3NoIENvYWxzb24gPHhmbGFjIGF0IHlhaG9vIGRvdCBjb20+LAoJICB1cGRhdGVkIGJ5IEFsZXhpcyBCYWxsaWVyIDxhYmFsbGllciBhdCBnZW50b28gZG90IG9yZz46CgkgICogY29uZmlndXJlLmFjOgoJICAqIGV4dC9mbGFjL2dzdGZsYWNkZWMuYzogKGdzdF9mbGFjX2RlY19yZXNldF9kZWNvZGVycyksCgkgIChnc3RfZmxhY19kZWNfc2V0dXBfc2Vla2FibGVfZGVjb2RlciksCgkgIChnc3RfZmxhY19kZWNfc2V0dXBfc3RyZWFtX2RlY29kZXIpLCAoZ3N0X2ZsYWNfZGVjX3NlZWspLAoJICAoZ3N0X2ZsYWNfZGVjX3RlbGwpLCAoZ3N0X2ZsYWNfZGVjX2xlbmd0aCksIChnc3RfZmxhY19kZWNfZW9mKSwKCSAgKGdzdF9mbGFjX2RlY19yZWFkX3NlZWthYmxlKSwgKGdzdF9mbGFjX2RlY19yZWFkX3N0cmVhbSk6CgkgICogZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5oOgoJICAqIGV4dC9mbGFjL2dzdGZsYWNlbmMuYzogKGdzdF9mbGFjX2VuY19pbml0KSwKCSAgKGdzdF9mbGFjX2VuY19maW5hbGl6ZSksIChnc3RfZmxhY19lbmNfc2V0X21ldGFkYXRhKSwKCSAgKGdzdF9mbGFjX2VuY19zaW5rX3NldGNhcHMpLCAoZ3N0X2ZsYWNfZW5jX3VwZGF0ZV9xdWFsaXR5KSwKCSAgKGdzdF9mbGFjX2VuY19zZWVrX2NhbGxiYWNrKSwgKGdzdF9mbGFjX2VuY193cml0ZV9jYWxsYmFjayksCgkgIChnc3RfZmxhY19lbmNfdGVsbF9jYWxsYmFjayksIChnc3RfZmxhY19lbmNfc2lua19ldmVudCksCgkgIChnc3RfZmxhY19lbmNfY2hhaW4pLCAoZ3N0X2ZsYWNfZW5jX3NldF9wcm9wZXJ0eSksCgkgIChnc3RfZmxhY19lbmNfZ2V0X3Byb3BlcnR5KSwgKGdzdF9mbGFjX2VuY19jaGFuZ2Vfc3RhdGUpOgoJICAqIGV4dC9mbGFjL2dzdGZsYWNlbmMuaDoKCSAgQWRkIHN1cHBvcnQgZm9yIGZsYWMgPj0gMS4xLjMgd2hpY2ggY2hhbmdlZCB0aGUgQVBJLiBGaXhlcyBidWcgIzM4NTg4Ny4KCjIwMDctMDYtMDkgMTU6NDE6NTIgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tlbmMuYzogUmVtb3ZlIHdvcmthcm91bmQgZm9yIGJ1ZyAjNDIxNTQzLiBUaGlzIGlzIGZpeGVkIGluIGNvcmUgMC4xMC4xMyBhbmQgbm90IG5lY2Vzc2FyeSBhbnltby4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZW5jLmM6IChnc3Rfd2F2cGFja19lbmNfc2lua19zZXRfY2Fwcyk6CgkgIFJlbW92ZSB3b3JrYXJvdW5kIGZvciBidWcgIzQyMTU0My4gVGhpcyBpcyBmaXhlZCBpbiBjb3JlIDAuMTAuMTMgYW5kCgkgIG5vdCBuZWNlc3NhcnkgYW55bW9yZSBhcyB3ZSBuZWVkIGF0IGxlYXN0IHRoYXQgY29yZSB2ZXJzaW9uLgoKMjAwNy0wNi0wOSAxNTozMzozMiArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZXh0L3dhdnBhY2svOiBJbXByb3ZlIGRpc2NvbnQgaGFuZGxpbmcgYnkgY2hlY2tpbmcgaWYgdGhlIG5leHQgV2F2cGFjayBibG9jayBoYXMgdGhlIGV4cGVjdGVkLCBmb2xsb3dpbmcgYmxvY2sgaW5kZXguCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tkZWMuYzogKGdzdF93YXZwYWNrX2RlY19yZXNldCksCgkgIChnc3Rfd2F2cGFja19kZWNfY2hhaW4pOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tkZWMuaDoKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrcGFyc2UuYzogKGdzdF93YXZwYWNrX3BhcnNlX3Jlc2V0KSwKCSAgKGdzdF93YXZwYWNrX3BhcnNlX3B1c2hfYnVmZmVyKToKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrcGFyc2UuaDoKCSAgSW1wcm92ZSBkaXNjb250IGhhbmRsaW5nIGJ5IGNoZWNraW5nIGlmIHRoZSBuZXh0IFdhdnBhY2sgYmxvY2sgaGFzCgkgIHRoZSBleHBlY3RlZCwgZm9sbG93aW5nIGJsb2NrIGluZGV4LgoKMjAwNy0wNi0wOCAyMDoyMzowNyArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy8uZ2l0aWdub3JlOgoJICBtb2FwIGlnbm9yZQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgbW9hcCBpZ25vcmUKCjIwMDctMDYtMDggMjA6MjA6NTYgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSAgZ3N0L3J0cC9nc3RydHBtcDR2cGF5LmMgKGdzdF9ydHBfbXA0dnBheV9kZXRhaWxzKTogRml4IGVsZW1lbnQgZGVzY3JpcHRpb24uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHAvZ3N0cnRwbXA0dnBheS5jIChnc3RfcnRwX21wNHZwYXlfZGV0YWlscyk6CgkgIEZpeCBlbGVtZW50IGRlc2NyaXB0aW9uLgoKMjAwNy0wNi0wOCAyMDoxOTo1NSArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJICBtb3ZlIHdhdnBhY2sgcGx1Z2luLiAgU2VlICMzNTI2MDUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1kb2NzLnNnbWw6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5hcmdzOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaGllcmFyY2h5OgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuc2lnbmFsczoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2RldGVjdC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdjb25mZWxlbWVudHMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sYWRzcGEueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHAueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYWNrLnhtbDoKCSAgKiBleHQvTWFrZWZpbGUuYW06CgkgICogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgIG1vdmUgd2F2cGFjayBwbHVnaW4uICBTZWUgIzM1MjYwNS4KCjIwMDctMDYtMDggMTk6NDU6NDMgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJICB0aGUgYWxwaGFiZXQgdHJpcHBpbmcgdXAgcGVvcGxlIHNpbmNlIDEwOTI5QkMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHRoZSBhbHBoYWJldAoJICB0cmlwcGluZyB1cCBwZW9wbGUgc2luY2UgMTA5MjlCQwoKMjAwNy0wNi0wOCAxNzozNzowMiArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBBZGQgRGlyZWN0RHJhdyAmIERpcmVjdFNvdW5kIHBsdWdpbnMgdG8gdGhlIGJ1aWxkIGFuZCBkb2NzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgICogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtZG9jcy5zZ21sOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuYXJnczoKCSAgKiBzeXMvTWFrZWZpbGUuYW06CgkgICogd2luMzIvTUFOSUZFU1Q6CgkgIEFkZCBEaXJlY3REcmF3ICYgRGlyZWN0U291bmQgcGx1Z2lucyB0byB0aGUgYnVpbGQgYW5kIGRvY3MuCgoyMDA3LTA2LTA4IDE2OjMxOjE1ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIFJlbmFtZSB0aGUga2VlcC1hc3BlY3QtcmF0aW8gcHJvcGVydHkgdG8gZm9yY2UtYXNwZWN0LXJhdGlvIHRvIG1ha2UgaXQgY29uc2lzdGVudCB3aXRoIHh2aW1hZ2VzaW5rIGFuZCB4aW1hZ2VzaW5rLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczoKCSAgKiBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5jOgoJICAoZ3N0X2RpcmVjdGRyYXdfc2lua19jbGFzc19pbml0KToKCSAgUmVuYW1lIHRoZSBrZWVwLWFzcGVjdC1yYXRpbyBwcm9wZXJ0eSB0byBmb3JjZS1hc3BlY3QtcmF0aW8gdG8gbWFrZQoJICBpdCBjb25zaXN0ZW50IHdpdGggeHZpbWFnZXNpbmsgYW5kIHhpbWFnZXNpbmsuCgoyMDA3LTA2LTA4IDEwOjQzOjI2ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0LzogV2hlbiBvcGVyYXRpbmcgaW4gcHVsbCBtb2RlLCBlcnJvciBvdXQgY29ycmVjdCBvbiBub3QtbGlua2VkLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZHYvZ3N0ZHZkZW11eC5jOiAoZ3N0X2R2ZGVtdXhfbG9vcCk6CgkgICogZXh0L2xpYnBuZy9nc3RwbmdkZWMuYzogKHVzZXJfcmVhZF9kYXRhKSwgKGdzdF9wbmdkZWNfdGFzayk6CgkgIFdoZW4gb3BlcmF0aW5nIGluIHB1bGwgbW9kZSwgZXJyb3Igb3V0IGNvcnJlY3Qgb24gbm90LWxpbmtlZC4KCjIwMDctMDYtMDggMDg6MTI6NDMgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICB0ZXN0cy9pY2xlcy92aWRlb2Nyb3AtdGVzdC5jOiBEZWZhdWx0IHRvIHh2aW1hZ2VzaW5rIGluc3RlYWQgb2YgYXV0b3ZpZGVvc2luayB3aGlsZSBhdXRvdmlkZW9zaW5rL2dob3N0cGFkcy93aGF0ZXZlciAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvaWNsZXMvdmlkZW9jcm9wLXRlc3QuYzogKG1haW4pOgoJICBEZWZhdWx0IHRvIHh2aW1hZ2VzaW5rIGluc3RlYWQgb2YgYXV0b3ZpZGVvc2luayB3aGlsZQoJICBhdXRvdmlkZW9zaW5rL2dob3N0cGFkcy93aGF0ZXZlciBkb24ndCBoYW5kbGUgdGhlIHdheSB3ZSB1c2UgaXQgaW4KCSAgdGhlIHdheSB3ZSBleHBlY3QgaXQgdG8uCgoyMDA3LTA2LTA2IDEwOjE5OjE3ICswMDAwICBBbmR5IFdpbmdvIDx3aW5nb0Bwb2JveC5jb20+CgoJKiBDaGFuZ2VMb2c6CgkqIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuYzoKCSAgc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5jIChnc3RfdjRsMnNyY19wcm9iZV9jYXBzX2Zvcl9mb3JtYXQpCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA3LTA2LTA2ICBBbmR5IFdpbmdvICA8d2luZ29AcG9ib3guY29tPgoJICAqIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuYyAoZ3N0X3Y0bDJzcmNfcHJvYmVfY2Fwc19mb3JfZm9ybWF0KQoJICAoZ3N0X3Y0bDJzcmNfcHJvYmVfY2Fwc19mb3JfZm9ybWF0X2FuZF9zaXplKTogT25seSBwcm9iZSBmb3IKCSAgZm9ybWF0IGFuZCBzaXplIGlmIHRoZSBpb2N0bHMgYXJlIGRlZmluZWQ7IHNob3VsZCBmaXggY29tcGlsYXRpb24KCSAgb24gTGludXggPCAyLjE2LjE5LgoKMjAwNy0wNi0wNiAwODo1MzoxMiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC92aWRlb2JveC9nc3R2aWRlb2JveC5jOiBQcmludGYgZml4ZXMgaW4gZGVidWcgc3RhdGVtZW50czsgdXNlIExPRyBsZXZlbCBmb3IgZGVidWcgc3RhdGVtZW50cyB0aGF0IGFyZSBwcmludGVkIGZvci4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvdmlkZW9ib3gvZ3N0dmlkZW9ib3guYzogKGdzdF92aWRlb19ib3hfYXl1dl9pNDIwKToKCSAgUHJpbnRmIGZpeGVzIGluIGRlYnVnIHN0YXRlbWVudHM7IHVzZSBMT0cgbGV2ZWwgZm9yIGRlYnVnIHN0YXRlbWVudHMKCSAgdGhhdCBhcmUgcHJpbnRlZCBmb3IgZWFjaCBhbmQgZXZlcnkgZnJhbWU7IGNvbnZlcnQgYysrIGNvbW1lbnRzIHRvCgkgIEMtc3R5bGUgY29tbWVudHM7IG5vdCBtdWNoIHBvaW50IHVzaW5nIGdfdHJ5X21hbGxvYygpIGlmIHdlIHRoZW4gbm90CgkgIGV2ZW4gY2hlY2sgdGhlIHJldHVybiB2YWx1ZS4KCjIwMDctMDYtMDUgMTY6MzI6MTkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBjb25maWd1cmUuYWM6IEJ1bXAgcmVxdWlyZW1lbnRzIHRvIHJlbGVhc2VkIHZlcnNpb25zIChjb3JlIGFuZCBiYXNlIDAuMTAuMTMpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIEJ1bXAgcmVxdWlyZW1lbnRzIHRvIHJlbGVhc2VkIHZlcnNpb25zIChjb3JlIGFuZCBiYXNlIDAuMTAuMTMpLgoJICAqIGdzdC9pY3lkZW11eC9nc3RpY3lkZW11eC5jOiAoZ3N0X2ljeWRlbXV4X3VuaWNvZGlmeSk6CgkgIFVzZSBnc3RfdGFnX3V0ZjhfZnJvbV9mcmVlZm9ybV9zdHJpbmcoKSBmcm9tIGxpYmdzdHRhZyBpbnN0ZWFkIG9mCgkgIG93biBpbXBsZW1lbnRhdGlvbi4KCjIwMDctMDYtMDUgMTQ6MTc6MjUgKzAwMDAgIEFuZHkgV2luZ28gPHdpbmdvQHBvYm94LmNvbT4KCgkgIHN5cy92NGwyL2dzdHY0bDJzcmMuYyAoZ3N0X3Y0bDJzcmNfc3RhcnQsIGdzdF92NGwyc3JjX3N0b3ApOiBBZGQgc29tZSB1c2VsZXNzIGNvbW1lbnRzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNy0wNi0wNSAgQW5keSBXaW5nbyAgPHdpbmdvQHBvYm94LmNvbT4KCSAgKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmMgKGdzdF92NGwyc3JjX3N0YXJ0LCBnc3RfdjRsMnNyY19zdG9wKTogQWRkCgkgIHNvbWUgdXNlbGVzcyBjb21tZW50cy4KCSAgKiBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmMgKGdzdF92NGwyc3JjX2NhcHR1cmVfaW5pdCk6IERvbid0IHF1ZXVlCgkgIGZyYW1lcyBiZWZvcmUgY2FsbGluZyBTVFJFQU1PTiwgdGhhdCBtaWdodCBsZWF2ZSB0aGVtIGluIGEgc3RhdGUKCSAgd2hlcmUgdGhleSBjYW4ndCBiZSBkZXF1ZXVlZCBpZiB3ZSBnbyBiYWNrIHRvIE5VTEwgd2l0aG91dCBjYWxsaW5nCgkgIFNUUkVBTU9OLCBhY2NvcmRpbmcgdG8gdGhlIGRvY3MuCgkgIChnc3RfdjRsMnNyY19jYXB0dXJlX3N0YXJ0KTogRW5xdWV1ZSBidWZmZXJzIGhlcmUgaW5zdGVhZCwgcmlnaHQKCSAgYmVmb3JlIHdlIGNhbGwgU1RSRUFNT04uCgkgIChnc3RfdjRsMnNyY19jYXB0dXJlX2RlaW5pdCk6IFJlbW92ZSBjcmFjayB0byB3b3JrIGFyb3VuZCBkZXF1ZXVlCgkgIGZhaWx1cmVzLiAoRm9yIG1lIHRoaXMgY29kZSBodW5nLikgVGhlIHBvb2wgcmVmY291bnRpbmcgaXMgc3RpbGwKCSAgY3JhY2s7IGFkZGVkIGEgbm90ZSB0byB0aGF0IGVmZmVjdC4KCjIwMDctMDYtMDUgMDk6MTE6NDEgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvbXVsdGlwYXJ0L211bHRpcGFydG11eC5jOiBBZGQgc3VwcG9ydCBmb3IgbWFwcGluZyBnc3Qgc3RydWN0dXJlIG5hbWVzIHRvIHRoZSBNSU1FIHR5cGUgZXF1aXZhbGVudC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L211bHRpcGFydC9tdWx0aXBhcnRtdXguYzogKGdzdF9tdWx0aXBhcnRfbXV4X2NsYXNzX2luaXQpLAoJICAoZ3N0X211bHRpcGFydF9tdXhfZ2V0X21pbWUpLCAoZ3N0X211bHRpcGFydF9tdXhfY29sbGVjdGVkKToKCSAgQWRkIHN1cHBvcnQgZm9yIG1hcHBpbmcgZ3N0IHN0cnVjdHVyZSBuYW1lcyB0byB0aGUgTUlNRSB0eXBlIGVxdWl2YWxlbnQuCgkgIEltcGxlbWVudGVkIGZvciBhdWRpby94LW11bGF3LT5hdWRpby9iYXNpYy4gRml4ZXMgIzQ0Mjg3NC4KCjIwMDctMDYtMDMgMTE6MjE6NDQgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC93YXZlbmMvZ3N0d2F2ZW5jLio6IFByb3Blcmx5IHdyaXRlIHdhdiBmaWxlcyB3aXRoIHdpZHRoIT1kZXB0aCBieSBoYXZpbmcgdGhlIGRlcHRoIG1vc3Qgc2lnbmlmaWNhbnQgYnl0ZXMgc2V0IGFuZC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvd2F2ZW5jL2dzdHdhdmVuYy5jOiAoZ3N0X3dhdmVuY19jcmVhdGVfaGVhZGVyX2J1ZiksCgkgIChnc3Rfd2F2ZW5jX3Npbmtfc2V0Y2FwcyksIChnc3Rfd2F2ZW5jX2Zvcm1hdF9zYW1wbGVzKSwKCSAgKGdzdF93YXZlbmNfY2hhaW4pLCAoZ3N0X3dhdmVuY19jaGFuZ2Vfc3RhdGUpOgoJICAqIGdzdC93YXZlbmMvZ3N0d2F2ZW5jLmg6CgkgIFByb3Blcmx5IHdyaXRlIHdhdiBmaWxlcyB3aXRoIHdpZHRoIT1kZXB0aCBieSBoYXZpbmcgdGhlIGRlcHRoIG1vc3QKCSAgc2lnbmlmaWNhbnQgYnl0ZXMgc2V0IGFuZCBhbGwgb3RoZXJzIHplcm8uIEZpeGVzICM0NDI1MzUuCgoyMDA3LTA2LTAxIDEzOjUyOjE3ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0c3AvcnRzcGNvbm5lY3Rpb24uYzogQWRkIGluY2x1ZGUgdG8gbWFrZSBidWlsZGJvdCBoYXBweS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0c3AvcnRzcGNvbm5lY3Rpb24uYzoKCSAgQWRkIGluY2x1ZGUgdG8gbWFrZSBidWlsZGJvdCBoYXBweS4KCjIwMDctMDYtMDEgMTM6MDc6MTEgKzAwMDAgIFBldGVyIEtqZWxsZXJzdGVkdCA8cGtqQGF4aXMuY29tPgoKCSAgZ3N0L3J0c3AvOiBJbXByb3ZlcyB2ZXJzaW9uIGNoZWNraW5nLCBhbGxvd2luZyBhbiBSVFNQIHNlcnZlciB0byByZXBseSB3aXRoICI1MDUKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBQZXRlciBLamVsbGVyc3RlZHQgIDxwa2ogYXQgYXhpcyBjb20+CgkgICogZ3N0L3J0c3AvcnRzcGNvbm5lY3Rpb24uYzogKHJ0c3BfY29ubmVjdGlvbl9jcmVhdGUpLAoJICAocnRzcF9jb25uZWN0aW9uX2Nvbm5lY3QpLCAoYWRkX2RhdGVfaGVhZGVyKSwKCSAgKHJ0c3BfY29ubmVjdGlvbl9zZW5kKSwgKHBhcnNlX3Jlc3BvbnNlX3N0YXR1cyksCgkgIChwYXJzZV9yZXF1ZXN0X2xpbmUpLCAocGFyc2VfbGluZSksIChydHNwX2Nvbm5lY3Rpb25fcmVjZWl2ZSk6CgkgICogZ3N0L3J0c3AvcnRzcGRlZnMuYzogKHJ0c3BfdmVyc2lvbl9hc190ZXh0KToKCSAgKiBnc3QvcnRzcC9ydHNwZGVmcy5oOgoJICAqIGdzdC9ydHNwL3J0c3BtZXNzYWdlLmM6IChrZXlfdmFsdWVfZm9yZWFjaCksCgkgIChydHNwX21lc3NhZ2VfaW5pdF9yZXF1ZXN0KSwgKHJ0c3BfbWVzc2FnZV9pbml0X3Jlc3BvbnNlKSwKCSAgKHJ0c3BfbWVzc2FnZV9yZW1vdmVfaGVhZGVyKSwgKHJ0c3BfbWVzc2FnZV9hcHBlbmRfaGVhZGVycyksCgkgIChydHNwX21lc3NhZ2VfZHVtcCk6CgkgICogZ3N0L3J0c3AvcnRzcG1lc3NhZ2UuaDoKCSAgSW1wcm92ZXMgdmVyc2lvbiBjaGVja2luZywgYWxsb3dpbmcgYW4gUlRTUCBzZXJ2ZXIgdG8gcmVwbHkgd2l0aCAiNTA1CgkgIFJUU1AgVmVyc2lvbiBub3Qgc3VwcG9ydGVkLgoJICBBZGRzIGEgRGF0ZSBoZWFkZXIgdG8gYWxsIG1lc3NhZ2VzLgoJICBSZXBsaWVzIHdpdGggUlRTUF9FUEFSU0UgcmF0aGVyIHRoYW4gUlRTUF9FSU5WQUxJRCBpbiBjYXNlcyB3aGVyZSB3ZQoJICB3YW50IHRvIGJlIGFibGUgdG8gc2VuZCBhIHJlc3BvbnNlIGV2ZW4gaWYgc29tZXRoaW5nIGluIHRoZSByZXF1ZXN0IHdhcwoJICBpbnZhbGlkLiBFSU5WQUwgaXMgb25seSB1c2VkIHdoZW4gcGFzc2luZyB3cm9uZyBhcmd1bWVudHMgdG8gZnVuY3Rpb25zLgoJICBEbyBub3QgaGFuZGxlIGFuIGludmFsaWQgbWV0aG9kIGluIHBhcnNlX3JlcXVlc3RfbGluZSgpLiBEZWZlciB0aGlzIHRvCgkgIHRoZSBjYWxsZXIgc28gaXQgY2FuIHJlc3BvbmQgd2l0aCAiNDA1IE1ldGhvZCBOb3QgQWxsb3dlZCIuCgkgIEltcHJvdmVzIHBhcnNpbmcgb2YgdGhlIHRpbWVvdXQgcGFyYW1ldGVyIHRvIHRoZSBTZXNzaW9uIGhlYWRlciwKCSAgYWxsb3dpbmcgd2hpdGVzcGFjZSBhZnRlciB0aGUgc2VtaWNvbG9uLgoJICBBdm9pZHMgYSBjb21waWxlciB3YXJuaW5nIGR1ZSB0byB2YXJpYWJsZXMgc2hhZG93aW5nIGEgZnVuY3Rpb24gYXJndW1lbnQuCgoyMDA3LTA2LTAxIDExOjE2OjE3ICswMDAwICBEYW5pZWwgQ2hhcmxlcyA8ZGNoYXJsZXNAdGkuY29tPgoKCSAgZ3N0L3J0cC86IEFkZCBzdXBwb3J0IGZvciBBTVItV0IuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBCYXNlZCBvbiBQYXRjaCBieTogRGFuaWVsIENoYXJsZXMgPGRjaGFybGVzIGF0IHRpIGRvdCBjb20+CgkgICogZ3N0L3J0cC9nc3RydHBhbXJkZXBheS5jOiAoZ3N0X3J0cF9hbXJfZGVwYXlfc2V0Y2FwcyksCgkgIChnc3RfcnRwX2Ftcl9kZXBheV9wcm9jZXNzKToKCSAgKiBnc3QvcnRwL2dzdHJ0cGFtcmRlcGF5Lmg6CgkgICogZ3N0L3J0cC9nc3RydHBhbXJwYXkuYzogKGdzdF9ydHBfYW1yX3BheV9iYXNlX2luaXQpLAoJICAoZ3N0X3J0cF9hbXJfcGF5X2NsYXNzX2luaXQpLCAoZ3N0X3J0cF9hbXJfcGF5X2luaXQpLAoJICAoZ3N0X3J0cF9hbXJfcGF5X3NldGNhcHMpLCAoZ3N0X3J0cF9hbXJfcGF5X2hhbmRsZV9idWZmZXIpOgoJICAqIGdzdC9ydHAvZ3N0cnRwYW1ycGF5Lmg6CgkgIEFkZCBzdXBwb3J0IGZvciBBTVItV0IuCgkgIFNtYWxsIGNsZWFudXBzIHN1Y2ggYXMgdXNpbmcgQk9JTEVSUExBVEUuCgoyMDA3LTA1LTMxIDE1OjU3OjA3ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0c3AvcnRzcGV4dHdtcy5jOiBGaXggY29tcGlsZSB3YXJuaW5nIHdoZW4gZGVidWcgaXMgZGlzYWJsZWQgYXMgc3BvdHRlZCBidSBTYXVyIG9uIElSQy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0c3AvcnRzcGV4dHdtcy5jOiAocnRzcF9leHRfd21zX2NvbmZpZ3VyZV9zdHJlYW0pOgoJICBGaXggY29tcGlsZSB3YXJuaW5nIHdoZW4gZGVidWcgaXMgZGlzYWJsZWQgYXMgc3BvdHRlZCBidSBTYXVyIG9uIElSQy4KCjIwMDctMDUtMzAgMTQ6NTc6NDQgKzAwMDAgIEFuZHkgV2luZ28gPHdpbmdvQHBvYm94LmNvbT4KCgkgIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuKjogUmV2ZXJ0IHNvbWUgdW5pbnRlbmRlZCBjaGFuZ2VzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNy0wNS0zMCAgQW5keSBXaW5nbyAgPHdpbmdvQHBvYm94LmNvbT4KCSAgKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0Lmg6CgkgICogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jIChnc3RfdjRsMl9vYmplY3RfbmV3KTogUmV2ZXJ0IHNvbWUKCSAgdW5pbnRlbmRlZCBjaGFuZ2VzLgoKMjAwNy0wNS0zMCAxNDo0MDo1MyArMDAwMCAgQW5keSBXaW5nbyA8d2luZ29AcG9ib3guY29tPgoKCSAgc3lzL3Y0bDIvdjRsMnNyY19jYWxscy4qOiBTdG9yZSB0aGUgZm9ybWF0IGxpc3QgaW4gdGhlIG9yZGVyIHRoYXQgdGhlIGRyaXZlciBnaXZlcyBpdCB0byB1cy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDctMDUtMzAgIEFuZHkgV2luZ28gIDx3aW5nb0Bwb2JveC5jb20+CgkgICogc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5oOgoJICAqIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuYyAoZ3N0X3Y0bDJzcmNfZmlsbF9mb3JtYXRfbGlzdCk6IFN0b3JlCgkgIHRoZSBmb3JtYXQgbGlzdCBpbiB0aGUgb3JkZXIgdGhhdCB0aGUgZHJpdmVyIGdpdmVzIGl0IHRvIHVzLgoJICAoZ3N0X3Y0bDJzcmNfcHJvYmVfY2Fwc19mb3JfZm9ybWF0X2FuZF9zaXplKQoJICAoZ3N0X3Y0bDJzcmNfcHJvYmVfY2Fwc19mb3JfZm9ybWF0KTogTmV3IGZ1bmN0aW9ucywgZmlsbCBHc3RDYXBzCgkgIGJhc2VkIG9uIHRoZSBjYXBhYmlsaXRpZXMgb2YgdGhlIGRldmljZS4KCSAgKGdzdF92NGwyc3JjX2dyYWJfZnJhbWUpOiBVcGRhdGUgZm9yIG9iamVjdCB2YXJpYWJsZSByZW5hbWluZy4KCSAgKGdzdF92NGwyc3JjX3NldF9jYXB0dXJlKTogVXBkYXRlIHRvIGJlIHN0cmljdCBpbiBpdHMgcGFyYW1ldGVycywKCSAgYXMgaW4gdGhlIHNldF9jYXBzIGJlbG93LgoJICAoZ3N0X3Y0bDJzcmNfY2FwdHVyZV9pbml0KTogVXBkYXRlIGZvciBvYmplY3QgdmFyaWFibGUgcmVuYW1pbmcsCgkgIGFuZCByZWZsb3cuCgkgIChnc3RfdjRsMnNyY19jYXB0dXJlX3N0YXJ0LCBnc3RfdjRsMnNyY19jYXB0dXJlX3N0b3ApCgkgIChnc3RfdjRsMnNyY19jYXB0dXJlX2RlaW5pdCk6IFVwZGF0ZSBmb3Igb2JqZWN0IHZhcmlhYmxlIHJlbmFtaW5nLgoJICAoZ3N0X3Y0bDJzcmNfdXBkYXRlX2ZwcywgZ3N0X3Y0bDJzcmNfc2V0X2ZwcykKCSAgKGdzdF92NGwyc3JjX2dldF9mcHMpOiBSZW1vdmU7IHRoZXNlIGZ1bmN0aW9ucyBkb24ndCBoYXZlIG11Y2gKCSAgbWVhbmluZyBvdXRzaWRlIG9mIGFuIGF0b21pYyBzZXRfY2FwcyBtZXRob2QuCgkgIChnc3RfdjRsMnNyY19idWZmZXJfbmV3KTogRG9uJ3Qgc2V0IGJ1ZmZlciBkdXJhdGlvbiwgaXQgaXMgbm90CgkgIGtub3duLgoJICAqIHN5cy92NGwyL2dzdHY0bDJ0dW5lci5jIChnc3RfdjRsMl90dW5lcl9zZXRfY2hhbm5lbCk6IFJlbW92ZQoJICBjYWxsIHRvIHVwZGF0ZV9mcHM7IG5vdCBzdXJlIGFib3V0IHRoaXMgY2hhbmdlLgoJICAoZ3N0X3Y0bDJfdHVuZXJfc2V0X25vcm0pOiBXb3JrIGFyb3VuZCB0aGUgZmFjdCB0aGF0IGZvciB0aGUKCSAgbW9tZW50IHdlIGRvbid0IGhhdmUgYW4gdXBkYXRlX2Zwc19mdW5jLgoJICAqIHN5cy92NGwyL2dzdHY0bDJzcmMuaCAoc3RydWN0IF9Hc3RWNGwyU3JjKTogRG9uJ3QgcHV0IHY0bDIKCSAgc3RydWN0dXJlcyBpbiB0aGUgb2JqZWN0LCBqdXN0IHN0b3JlIHdoYXQgd2UgbmVlZC4gRG8gc3RvcmUgdGhlCgkgIHByb2JlZCBjYXBzIG9mIHRoZSBkZXZpY2UuIERvbid0IHN0b3JlIHRoZSBjdXJyZW50IGZyYW1lIHJhdGUuCgkgICogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jIChnc3RfdjRsMnNyY19pbml0KTogUmVtb3ZlIHRoZQoJICB1cGRhdGVfZnBzX2Z1bmN0aW9uLCBmb3Igbm93LiBVcGRhdGUgZm9yIG5ldyBvYmplY3QgdmFyaWFibGUKCSAgbmFtaW5nLgoJICAoZ3N0X3Y0bDJzcmNfc2V0X3Byb3BlcnR5LCBnc3RfdjRsMnNyY19nZXRfcHJvcGVydHkpOiBVcGRhdGUgZm9yCgkgIG5ldyBvYmplY3QgdmFyaWFibGUgbmFtaW5nLgoJICAoZ3N0X3Y0bDJzcmNfdjRsMmZvdXJjY190b19zdHJ1Y3R1cmUpOiBSZW5hbWUgZnJvbSAuLi5fdG9fY2Fwcy4KCSAgKGdzdF92NGwyX3N0cnVjdHVyZV90b192NGwyZm91cmNjKTogUmVuYW1lIGZyb20gLi4uY2Fwc190b18uLi4uCgkgIChnc3RfdjRsMnNyY19nZXRfY2Fwcyk6IFJld29yayB0byBwcm9iZSB0aGUgZGV2aWNlIGZvciBzdXBwb3J0ZWQKCSAgZnJhbWUgc2l6ZXMgYW5kIGZyYW1lIHJhdGVzLgoJICAoZ3N0X3Y0bDJzcmNfc2V0X2NhcHMpOiBSZXdvcmsgdG8gYmUgc3RyaWN0IGluIHRoZSBnaXZlbgoJICBwYXJhbWV0ZXJzOiBpZiBzb21lb25lIGFza3MgdXMgdG8gaGF2ZSBhIGNlcnRhaW4gc2l6ZSBhbmQgcmF0ZSwKCSAgdGhhdCBpcyB3aGF0IHdlIGNvbmZpZ3VyZS4KCSAgKGdzdF92NGwyc3JjX2dldF9yZWFkKTogVXBkYXRlIGZvciBvYmplY3QgdmFyaWFibGUgbmFtaW5nLiBEb24ndAoJICBsZWFrIGJ1ZmZlcnMgb24gc2hvcnQgcmVhZHMuCgkgIChnc3RfdjRsMnNyY19nZXRfbW1hcCk6IFVwZGF0ZSBmb3Igb2JqZWN0IHZhcmlhYmxlIG5hbWluZywgYW5kIGFkZAoJICBjb21tZW50cy4KCSAgKGdzdF92NGwyc3JjX2NyZWF0ZSk6IFVwZGF0ZSBmb3Igb2JqZWN0IHZhcmlhYmxlIG5hbWluZy4KCjIwMDctMDUtMzAgMTQ6Mzg6NTkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvYXZpL2dzdGF2aWRlbXV4Lio6IFBhcnNlIHN1YnRpdGxlIHRleHQgc3RyZWFtcyBpbnN0ZWFkIG9mIGVycm9yaW5nIG91dCAoIzQ0MjAzNCkuIFN0aWxsIG5lZWRzIGEgcGFyc2VyIGZvciB0aGUgc3UuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOiAoZ3N0X2F2aV9kZW11eF9iYXNlX2luaXQpLAoJICAoZ3N0X2F2aV9kZW11eF9yZXNldCksIChnc3RfYXZpX2RlbXV4X3BhcnNlX3N0cmVhbSk6CgkgICogZ3N0L2F2aS9nc3RhdmlkZW11eC5oOgoJICBQYXJzZSBzdWJ0aXRsZSB0ZXh0IHN0cmVhbXMgaW5zdGVhZCBvZiBlcnJvcmluZyBvdXQgKCM0NDIwMzQpLiBTdGlsbAoJICBuZWVkcyBhIHBhcnNlciBmb3IgdGhlIHN1YnRpdGxlcyB0byBhY3R1YWxseSBzaG93IHVwLgoKMjAwNy0wNS0zMCAxMjo0NjozMiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzogTWFrZSBfcHVzaF9ldmVudCgpIHJldHVybiBUUlVFIGlmIHRoZSBldmVudCBjb3VsZCBiZSBwdXNoZWQgb24gYXQgbGVhc3Qgb25lIHBhZCBhbmQgbm90IG9ubHkgaS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6IChnc3RfYXZpX2RlbXV4X3B1c2hfZXZlbnQpLAoJICAoZ3N0X2F2aV9kZW11eF9sb29wKToKCSAgTWFrZSBfcHVzaF9ldmVudCgpIHJldHVybiBUUlVFIGlmIHRoZSBldmVudCBjb3VsZCBiZSBwdXNoZWQgb24gYXQKCSAgbGVhc3Qgb25lIHBhZCBhbmQgbm90IG9ubHkgaWYgaXQgY291bGQgYmUgcHVzaGVkIG9uIGFsbCBwYWRzLAoJICBvdGhlcndpc2Ugd2UnbGwgZW5kIHVwIHBvc3RpbmcgYW4gZXJyb3IgbWVzc2FnZSBvbiBFT1MgaWYgb25lIG9yCgkgIG1vcmUgc291cmNlIHBhZHMgYXJlIG5vdCBjb25uZWN0ZWQuCgoyMDA3LTA1LTI4IDE2OjM5OjA5ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0c3AvcnRzcHRyYW5zcG9ydC5jOiBVc2UgcmVuYW1lZCBSVFAgYmluLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRzcC9ydHNwdHJhbnNwb3J0LmM6CgkgIFVzZSByZW5hbWVkIFJUUCBiaW4uCgoyMDA3LTA1LTI4IDE1OjAxOjMzICswMDAwICBEZWphbiBTYWtlbMWhYWsgPHNha2RlYW5AZ21haWwuY29tPgoKCSAgZ3N0L3ZpZGVvYm94L2dzdHZpZGVvYm94LmM6IEFkZCBBWVVWLT5BWVVWIGFuZCBBWVVWLT5JNDIwIGZvcm1hdHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBCYXNlZCBvbiBwYXRjaCBieTogRGVqYW4gU2FrZWzFoWFrIDxzYWtkZWFuIGF0IGdtYWlsIGRvdCBjb20+CgkgICogZ3N0L3ZpZGVvYm94L2dzdHZpZGVvYm94LmM6IChnc3RfdmlkZW9fYm94X2NsYXNzX2luaXQpLAoJICAoZ3N0X3ZpZGVvX2JveF9zZXRfcHJvcGVydHkpLCAoZ3N0X3ZpZGVvX2JveF90cmFuc2Zvcm1fY2FwcyksCgkgICh2aWRlb19ib3hfcmVjYWxjX3RyYW5zZm9ybSksIChnc3RfdmlkZW9fYm94X3NldF9jYXBzKSwKCSAgKGdzdF92aWRlb19ib3hfZ2V0X3VuaXRfc2l6ZSksIChnc3RfdmlkZW9fYm94X2FwcGx5X2FscGhhKSwKCSAgKGdzdF92aWRlb19ib3hfYXl1dl9heXV2KSwgKGdzdF92aWRlb19ib3hfY2xlYXIpLCAoVVZmbG9vciksCgkgIChVVmNlaWwpLCAoZ3N0X3ZpZGVvX2JveF9heXV2X2k0MjApLCAoZ3N0X3ZpZGVvX2JveF9pNDIwX2F5dXYpLAoJICAoZ3N0X3ZpZGVvX2JveF9pNDIwX2k0MjApLCAoZ3N0X3ZpZGVvX2JveF90cmFuc2Zvcm0pLAoJICAocGx1Z2luX2luaXQpOgoJICBBZGQgQVlVVi0+QVlVViBhbmQgQVlVVi0+STQyMCBmb3JtYXRzLgoJICBGaXggbmVnb3RpYXRpb24gYW5kIEk0MjAtPkFZVVYgY29udmVyc2lvbi4KCSAgRml4ZXMgIzQyOTMyOS4KCjIwMDctMDUtMjYgMTU6MjU6MTggKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBleHQvc3BlZXgvZ3N0c3BlZXhkZWMuYzogVXNlIGRpZmZlcmVudCB2YXJpYWJsZXMgZm9yIG5lc3RlZCBmb3IgbG9vcHMgc28gdGhhdCB0aGUgb3V0ZXIgbG9vcCBmdW5jdGlvbnMgcHJvcGVybHkgYW5kIHMuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3NwZWV4L2dzdHNwZWV4ZGVjLmM6IChzcGVleF9kZWNfY2hhaW5fcGFyc2VfZGF0YSk6CgkgIFVzZSBkaWZmZXJlbnQgdmFyaWFibGVzIGZvciBuZXN0ZWQgZm9yIGxvb3BzIHNvIHRoYXQgdGhlIG91dGVyIGxvb3AKCSAgZnVuY3Rpb25zIHByb3Blcmx5IGFuZCBzcGVleCBmaWxlcyB3aXRoIG11bHRpcGxlIGZyYW1lcyBwZXIgYnVmZmVyIHdvcmsKCSAgcHJvcGVybHkuCgkgIEZpeGVzICM0NDE0MDguCgoyMDA3LTA1LTI1IDIwOjUxOjM2ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L2lkM2RlbXV4L2dzdGlkM2RlbXV4LmM6IERvbid0IGxlYWsgbmV3c2VnbWVudCBldmVudHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9pZDNkZW11eC9nc3RpZDNkZW11eC5jOiAoZ3N0X2lkM2RlbXV4X3NpbmtfZXZlbnQpOgoJICBEb24ndCBsZWFrIG5ld3NlZ21lbnQgZXZlbnRzLgoKMjAwNy0wNS0yNSAyMDozMzoxMCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC93YXZwYXJzZS9NYWtlZmlsZS5hbTogQWRkICctbG0nIHRvIExJQlMgZm9yIGNlaWwoKSwgZG9uJ3QgYXNzdW1lIG9uZSBvZiBvdXIgZGVwZW5kZW5jaWVzIGRyYWdzIGl0IGluLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvd2F2cGFyc2UvTWFrZWZpbGUuYW06CgkgIEFkZCAnLWxtJyB0byBMSUJTIGZvciBjZWlsKCksIGRvbid0IGFzc3VtZSBvbmUgb2Ygb3VyIGRlcGVuZGVuY2llcwoJICBkcmFncyBpdCBpbi4KCjIwMDctMDUtMjUgMTY6MDI6NTEgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvZmxhYy9nc3RmbGFjZW5jLio6IENvbGxlY3QgaGVhZGVycywgYWRkICJzdHJlYW1oZWFkZXIiIGZpZWxkIHRvIG91dHB1dCBjYXBzIGFuZCBzZXQKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2ZsYWMvZ3N0ZmxhY2VuYy5jOiAoZ3N0X2ZsYWNfZW5jX2luaXQpLAoJICAobm90Z3N0X3ZhbHVlX2FycmF5X2FwcGVuZF9idWZmZXIpLAoJICAoZ3N0X2ZsYWNfZW5jX3Byb2Nlc3Nfc3RyZWFtX2hlYWRlcnMpLAoJICAoZ3N0X2ZsYWNfZW5jX3dyaXRlX2NhbGxiYWNrKSwgKGdzdF9mbGFjX2VuY19jaGFpbiksCgkgIChnc3RfZmxhY19lbmNfY2hhbmdlX3N0YXRlKToKCSAgKiBleHQvZmxhYy9nc3RmbGFjZW5jLmg6CgkgIENvbGxlY3QgaGVhZGVycywgYWRkICJzdHJlYW1oZWFkZXIiIGZpZWxkIHRvIG91dHB1dCBjYXBzIGFuZCBzZXQKCSAgQlVGRkVSX0lOX0NBUFMgZmxhZyBvbiBwdXNoZWQgaGVhZGVyIGJ1ZmZlcnMuIFRoYXQgd2F5IG9nZ211eAoJICBwcm9kdWNlcyBvdXRwdXQgYWNjb3JkaW5nIHRvIHRoZSBvZmZpY2lhbCBGTEFDLXRvLU9nZyBtYXBwaW5nCgkgIGluc3RlYWQgb2YgY29tcGxldGVseSBicm9rZW4gZmlsZXMuIEZpeGVzICM0MjYwNDQuCgoyMDA3LTA1LTI1IDEwOjQ0OjEyICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGdzdC86IEhhbmRsZSBhbmQgYWRqdXN0IG5ldy1zZWdtZW50IGV2ZW50cyBzbyB0aGF0IGRvd25zdHJlYW0gcmVhbGx5IHNlZXMgYSBzdHJlYW0gd2l0aCB0aGUgdGFnIHBpZWNlcyBzdHJpcHBlZCBvZmYgdC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvaWQzZGVtdXgvZ3N0aWQzZGVtdXguYzogKGdzdF9pZDNkZW11eF9yZXNldCksCgkgIChnc3RfaWQzZGVtdXhfc2VuZF9uZXdfc2VnbWVudCksIChnc3RfaWQzZGVtdXhfY2hhaW4pLAoJICAoZ3N0X2lkM2RlbXV4X3NpbmtfZXZlbnQpOgoJICAqIGdzdC9pZDNkZW11eC9nc3RpZDNkZW11eC5oOgoJICAqIGdzdC9hcGV0YWcvZ3N0dGFnZGVtdXguYzogKGdzdF90YWdfZGVtdXhfcmVzZXQpLAoJICAoZ3N0X3RhZ19kZW11eF9jaGFpbiksIChnc3RfdGFnX2RlbXV4X3NpbmtfZXZlbnQpLAoJICAoZ3N0X3RhZ19kZW11eF9zZW5kX25ld19zZWdtZW50KToKCSAgSGFuZGxlIGFuZCBhZGp1c3QgbmV3LXNlZ21lbnQgZXZlbnRzIHNvIHRoYXQgZG93bnN0cmVhbSByZWFsbHkKCSAgc2VlcyBhIHN0cmVhbSB3aXRoIHRoZSB0YWcgcGllY2VzIHN0cmlwcGVkIG9mZiB0aGUgZnJvbnQgYW5kIGJhY2suCgkgIEZpeGVzIHN0cmFuZ2VuZXNzIGluIHNlZWtpbmcgd2hlbiBtcDMgZGVjb2RlcnMgdXNlIHRoZSBuZXctc2VnbWVudAoJICBieXRlIHBvc2l0aW9uIHRvIGVzdGltYXRlIHRoZWlyIGN1cnJlbnQgcGxheWJhY2sgcG9zaXRpb24gdGltZXN0YW1wCgkgIGFuZCB0aGVuIHRoZSBhcnJpdmluZyBidWZmZXJzIGRvbid0IG1hdGNoIHVwLgoKMjAwNy0wNS0yNSAxMDoyMzo0OSArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBnc3QvYXV0b2RldGVjdC9nc3RhdXRvYXVkaW9zaW5rLmM6IERvbid0IHVubmVjZXNzYXJpbHkgcGVyZm9ybSBhIFJFQURZLT5OVUxMLT5SRUFEWSB0cmFuc2l0aW9uIG9uIHRoZSBkZXRlY3RlZCBhdWRpbyAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b2F1ZGlvc2luay5jOiAoZ3N0X2F1dG9fYXVkaW9fc2lua19kZXRlY3QpOgoJICBEb24ndCB1bm5lY2Vzc2FyaWx5IHBlcmZvcm0gYSBSRUFEWS0+TlVMTC0+UkVBRFkgdHJhbnNpdGlvbiBvbiB0aGUKCSAgZGV0ZWN0ZWQgYXVkaW8gc2luayB3aGVuIHN0YXJ0aW5nIHVwLiBGaXhlczogIzQ0MDEyNwoKMjAwNy0wNS0yNCAxNzowMDoyMSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC9mbGFjL2dzdGZsYWNlbmMuYzogRG9uJ3QgY3Jhc2ggaW4gY2hhaW4gZnVuY3Rpb24gaWYgc2V0Y2FwcyBoYXNuJ3QgYmVlbiBjYWxsZWQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9mbGFjL2dzdGZsYWNlbmMuYzogKGdzdF9mbGFjX2VuY19zaW5rX3NldGNhcHMpLAoJICAoZ3N0X2ZsYWNfZW5jX2NoYWluKToKCSAgRG9uJ3QgY3Jhc2ggaW4gY2hhaW4gZnVuY3Rpb24gaWYgc2V0Y2FwcyBoYXNuJ3QgYmVlbiBjYWxsZWQuCgoyMDA3LTA1LTI0IDA4OjM1OjIzICswMDAwICBWaW5jZW50IFRvcnJpIDx2dG9ycmlAdW5pdi1ldnJ5LmZyPgoKCSAgc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuKjogRml4IG1vcmUgd2FybmluZ3Mgd2hlbiBjb21waWxpbmcgd2l0aCBNaW5nVyAoIzQzOTkxNCkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogVmluY2VudCBUb3JyaSAgPHZ0b3JyaSBhdCB1bml2LWV2cnkgZnI+CgkgICogc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuYzoKCSAgKGdzdF9kaXJlY3RkcmF3X3NpbmtfYnVmZmVyX2FsbG9jKSwKCSAgKGdzdF9kaXJlY3RkcmF3X3Npbmtfc2hvd19mcmFtZSksCgkgIChnc3RfZGlyZWN0ZHJhd19zaW5rX2NoZWNrX3ByaW1hcnlfc3VyZmFjZSksCgkgIChnc3RfZGlyZWN0ZHJhd19zaW5rX2NoZWNrX29mZnNjcmVlbl9zdXJmYWNlKSwKCSAgKEVudW1Nb2Rlc0NhbGxiYWNrMiksIChnc3RfZGlyZWN0ZHJhd19zaW5rX2dldF9kZHJhd2NhcHMpLAoJICAoZ3N0X2RpcmVjdGRyYXdfc2lua19zdXJmYWNlX2NyZWF0ZSk6CgkgICogc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuaDoKCSAgRml4IG1vcmUgd2FybmluZ3Mgd2hlbiBjb21waWxpbmcgd2l0aCBNaW5nVyAoIzQzOTkxNCkuCgoyMDA3LTA1LTI0IDA4OjE0OjAwICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiBJbml0IHZhbHVlIHRvIGF2b2lkIGluZmludGUgbG9vcHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogKGdzdF9ydHNwc3JjX3BhcnNlX21ldGhvZHMpOgoJICBJbml0IHZhbHVlIHRvIGF2b2lkIGluZmludGUgbG9vcHMuCgoyMDA3LTA1LTI0IDA4OjEwOjQyICswMDAwICBQZXRlciBLamVsbGVyc3RlZHQgPHBrakBheGlzLmNvbT4KCgkgIGdzdC9ydHNwLzogRml4IGZvciBuZXcgQVBJLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFBldGVyIEtqZWxsZXJzdGVkdCAgPHBraiBhdCBheGlzIGNvbT4KCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IChnc3RfcnRzcHNyY19zZXR1cF9hdXRoKSwKCSAgKGdzdF9ydHNwc3JjX3RyeV9zZW5kKSwgKGdzdF9ydHNwc3JjX3BhcnNlX21ldGhvZHMpLAoJICAoZ3N0X3J0c3BzcmNfc2V0dXBfc3RyZWFtcyksIChnc3RfcnRzcHNyY19vcGVuKSwKCSAgKGdzdF9ydHNwc3JjX3BsYXkpOgoJICAocnRzcF9jb25uZWN0aW9uX3NlbmQpLCAocnRzcF9jb25uZWN0aW9uX3JlY2VpdmUpOgoJICAqIGdzdC9ydHNwL3J0c3BleHR3bXMuYzogKHJ0c3BfZXh0X3dtc19hZnRlcl9zZW5kKToKCSAgRml4IGZvciBuZXcgQVBJLgoJICAqIGdzdC9ydHNwL3J0c3Bjb25uZWN0aW9uLmM6IChhZGRfYXV0aF9oZWFkZXIpLAoJICBPbmx5IGFkZCBhdXRob3Jpc2F0aW9uIGFuZCBzZXNzaW9uIGhlYWRlcnMgd2hlbiBzZW5kaW5nIG1lc3NhZ2VzLgoJICAqIGdzdC9ydHNwL3J0c3BtZXNzYWdlLmM6IChrZXlfdmFsdWVfZm9yZWFjaCksIChydHNwX21lc3NhZ2VfaW5pdCksCgkgIChydHNwX21lc3NhZ2VfaW5pdF9yZXF1ZXN0KSwgKHJ0c3BfbWVzc2FnZV9pbml0X3Jlc3BvbnNlKSwKCSAgKHJ0c3BfbWVzc2FnZV91bnNldCksIChydHNwX21lc3NhZ2VfYWRkX2hlYWRlciksCgkgIChydHNwX21lc3NhZ2VfcmVtb3ZlX2hlYWRlciksIChydHNwX21lc3NhZ2VfZ2V0X2hlYWRlciksCgkgIChydHNwX21lc3NhZ2VfYXBwZW5kX2hlYWRlcnMpLCAoZHVtcF9rZXlfdmFsdWUpLAoJICAocnRzcF9tZXNzYWdlX2R1bXApOgoJICAqIGdzdC9ydHNwL3J0c3BtZXNzYWdlLmg6CgkgIEFkZCBzdXBwb3J0IGZvciBtdWx0aXBsZSBoZWFkZXJzIG9mIHRoZSBzYW1lIHR5cGUgYnkgc3RvcmluZyB0aGUgcGFyc2VkCgkgIGhlYWRlcnMgaW4gYSBHQXJyYXkgaW5zdGFlZCBvZiBhIGhhc2h0YWJsZS4KCjIwMDctMDUtMjMgMjI6NDQ6MTIgKzAwMDAgIFPDqWJhc3RpZW4gTW91dHRlIDxzZWJhc3RpZW5AbW91dHRlLm5ldD4KCgkgIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzOiBSZW1vdmUgZGlyZWN0c291bmRzaW5rIHByb3BlcnR5IGRvYyBhcyB0aGlzIHNpbmsgdXNlIHRoZSBtaXhlciBpbnRlcmZhY2Ugbm93LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczoKCSAgUmVtb3ZlIGRpcmVjdHNvdW5kc2luayBwcm9wZXJ0eSBkb2MgYXMgdGhpcyBzaW5rIHVzZSB0aGUgbWl4ZXIKCSAgaW50ZXJmYWNlIG5vdy4KCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaW50ZXJmYWNlczoKCSAgQWRkIGludGVyZmFjZXMgaW1wbGVtZW50ZWQgYnkgV2luZG93cyBzaW5rcy4KCSAgKiBzeXMvZGlyZWN0c291bmQvZ3N0ZGlyZWN0c291bmRzaW5rLmM6CgkgICogc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdHNvdW5kc2luay5oOgoJICBSZW1vdmUgZGlyZWN0c291bmRzaW5rIHByb3BlcnR5ICBhbmQgaW1wbGVtZW50IHRoZSBtaXhlciBpbnRlcmZhY2UuCgkgICogd2luMzIvdnM2L2dzdF9wbHVnaW5zX2JhZC5kc3c6CgkgICogd2luMzIvdnM2L2xpYmdzdGRpcmVjdHNvdW5kLmRzcDoKCSAgVXBkYXRlIHByb2plY3QgZmlsZXMuCgkgICogZ3N0LWxpYnMvZ3N0L2RzaG93L2dzdGRzaG93LmNwcDoKCSAgKiBnc3QtbGlicy9nc3QvZHNob3cvZ3N0ZHNob3cuaDoKCSAgKiBnc3QtbGlicy9nc3QvZHNob3cvZ3N0ZHNob3dmYWtlc2luay5jcHA6CgkgICogZ3N0LWxpYnMvZ3N0L2RzaG93L2dzdGRzaG93ZmFrZXNpbmsuaDoKCSAgKiBnc3QtbGlicy9nc3QvZHNob3cvZ3N0ZHNob3dmYWtlc3JjLmNwcDoKCSAgKiBnc3QtbGlicy9nc3QvZHNob3cvZ3N0ZHNob3dmYWtlc3JjLmg6CgkgICogZ3N0LWxpYnMvZ3N0L2RzaG93L2dzdGRzaG93aW50ZXJmYWNlLmNwcDoKCSAgKiBnc3QtbGlicy9nc3QvZHNob3cvZ3N0ZHNob3dpbnRlcmZhY2UuaDoKCSAgKiB3aW4zMi9jb21tb24vbGliZ3N0ZHNob3cuZGVmOgoJICAqIHdpbjMyL3ZzNi9saWJnc3Rkc2hvdy5kc3A6CgkgIEFkZCBhIG5ldyBnc3QgbGlicmFyeSB3aGljaCBhbGxvdyB0byBjcmVhdGUgaW50ZXJuYWwgRGlyZWN0IFNob3cKCSAgZ3JhcGggKHBpcGVsaW5lcykgdG8gd3JhcCBXaW5kb3dzIHNvdXJjZXMsIGRlY29kZXJzIG9yIGVuY29kZXJzLgoJICBJdCBpbmNsdWRlcyBhIERpcmVjdFNob3cgZmFrZSBzb3VyY2UgYW5kIHNpbmsgYW5kIHV0aWxpdHkgZnVuY3Rpb25zLgoJICAqIHN5cy9kc2hvd3NyY3dyYXBwZXIvZ3N0ZHNob3dhdWRpb3NyYy5jOgoJICAqIHN5cy9kc2hvd3NyY3dyYXBwZXIvZ3N0ZHNob3dhdWRpb3NyYy5oOgoJICAqIHN5cy9kc2hvd3NyY3dyYXBwZXIvZ3N0ZHNob3dzcmN3cmFwcGVyLmM6CgkgICogc3lzL2RzaG93c3Jjd3JhcHBlci9nc3Rkc2hvd3NyY3dyYXBwZXIuaDoKCSAgKiBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93dmlkZW9zcmMuYzoKCSAgKiBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93dmlkZW9zcmMuaDoKCSAgKiB3aW4zMi92czYvbGliZHNob3dzcmN3cmFwcGVyLmRzcDoKCSAgQWRkIGEgbmV3IHBsdWdpbiB0byB3cmFwIERpcmVjdFNob3cgc291cmNlcyBvbiBXaW5kb3dzLgoJICBJdCBnZXRzIGRhdGEgZnJvbSBhbnkgd2ViY2FtLCBkdiBjYW0sIG1pY3JvLiBXZSBjb3VsZCBhZGQKCSAgdHYgdHVubmVyIGNhcmQgbGF0ZXIuCgoyMDA3LTA1LTIyIDExOjE0OjEzICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBjb25maWd1cmUuYWM6IERlcGVuZCBvbiBnc3RyZWFtZXItMC4xMC4xMi4xLiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplci5jIChBUkdfQkFORF9XSURUSCwgX2RvX2luaXQsIEFSR19HQUlOLCBfR3MuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICBEZXBlbmQgb24gZ3N0cmVhbWVyLTAuMTAuMTIuMS4KCSAgKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplci5jIChBUkdfQkFORF9XSURUSCwgX2RvX2luaXQsIEFSR19HQUlOLAoJICBfR3N0SWlyRXF1YWxpemVyQmFuZCwgb2JqZWN0LCBfR3N0SWlyRXF1YWxpemVyQmFuZENsYXNzLAoJICBwYXJlbnRfY2xhc3MsIGdzdF9paXJfZXF1YWxpemVyX2JhbmRfc2V0X3Byb3BlcnR5LAoJICBnc3RfaWlyX2VxdWFsaXplcl9iYW5kX2NsYXNzX2luaXQsIGdzdF9paXJfZXF1YWxpemVyX2JhbmRfZ2V0X3R5cGUsCgkgIGdzdF9paXJfZXF1YWxpemVyX2NoaWxkX3Byb3h5X2dldF9jaGlsZF9ieV9pbmRleCwKCSAgZ3N0X2lpcl9lcXVhbGl6ZXJfY2hpbGRfcHJveHlfZ2V0X2NoaWxkcmVuX2NvdW50LAoJICBnc3RfaWlyX2VxdWFsaXplcl9jaGlsZF9wcm94eV9pbnRlcmZhY2VfaW5pdCwgc2V0dXBfZmlsdGVyLAoJICBnc3RfaWlyX2VxdWFsaXplcl9jb21wdXRlX2ZyZXF1ZW5jaWVzLAoJICBnc3RfaWlyX2VxdWFsaXplcl9zZXRfcHJvcGVydHksIGdzdF9paXJfZXF1YWxpemVyX2dldF9wcm9wZXJ0eSwKCSAgcGx1Z2luX2luaXQpOgoJICAqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyLmggKGF1ZGlvZmlsdGVyKToKCSAgKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplcm5iYW5kcy5jIChBUkdfTlVNX0JBTkRTLAoJICBnc3RfaWlyX2VxdWFsaXplcl9uYmFuZHNfYmFzZV9pbml0LCBnc3RfaWlyX2VxdWFsaXplcl9uYmFuZHNfaW5pdCwKCSAgZ3N0X2lpcl9lcXVhbGl6ZXJfbmJhbmRzX3NldF9wcm9wZXJ0eSk6CgkgIFVzZSBuZXcgbG9ja2luZyBtYWNyb3MuCgkgICogZ3N0L2ZpbHRlci9nc3RicHdzaW5jLmMgKGJwd3NpbmNfc2V0X2NhcHMpOgoJICBBZGQgZml4bWUuCgkgICogZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmMgKFNQRUNUUlVNX1dJTkRPV19CQVNFLAoJICBTUEVDVFJVTV9XSU5ET1dfTEVOLCBnc3Rfc3BlY3RydW1faW5pdCwgZ3N0X3NwZWN0cnVtX3NldF9wcm9wZXJ0eSwKCSAgZ3N0X3NwZWN0cnVtX2V2ZW50LCBnc3Rfc3BlY3RydW1fdHJhbnNmb3JtX2lwKToKCSAgVXNlIG5ldyBsb2NraW5nIG1hY3Jvcy4gVHVybiB0d28gZml4ZWQgdmFsdWVzIGludG8gI2RlZmluZXMuCgoyMDA3LTA1LTIyIDExOjAzOjMwICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOiBBbHNvIGxvb2sgZm9yIC5tIChvYmplY3RpdmVjKSBmaWxlcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJICBBbHNvIGxvb2sgZm9yIC5tIChvYmplY3RpdmVjKSBmaWxlcy4KCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzOgoJICAqIHN5cy9vc3h2aWRlby9vc3h2aWRlb3NpbmsubToKCSAgQWRkIGRvY3VtZW50YXRpb24gZm9yIGVsZW1lbnQgYW5kIHByb3BlcnRpZXMuCgoyMDA3LTA1LTIxIDE0OjAxOjE2ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBDaGFuZ2VMb2c6IENoYW5nZUxvZyBzdXJnZXJ5LiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplci5jIChBUkdfQkFORF9XSURUSCwgX2RvX2luaXQsIEFSR19HQUlOLCBfR3N0SWlyRXF1YWxpemVyQmEuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogQ2hhbmdlTG9nOgoJICBDaGFuZ2VMb2cgc3VyZ2VyeS4KCSAgKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplci5jIChBUkdfQkFORF9XSURUSCwgX2RvX2luaXQsIEFSR19HQUlOLAoJICBfR3N0SWlyRXF1YWxpemVyQmFuZCwgb2JqZWN0LCBfR3N0SWlyRXF1YWxpemVyQmFuZENsYXNzLAoJICBwYXJlbnRfY2xhc3MsIGdzdF9paXJfZXF1YWxpemVyX2JhbmRfc2V0X3Byb3BlcnR5LAoJICBnc3RfaWlyX2VxdWFsaXplcl9iYW5kX2NsYXNzX2luaXQsIGdzdF9paXJfZXF1YWxpemVyX2JhbmRfZ2V0X3R5cGUsCgkgIGdzdF9paXJfZXF1YWxpemVyX2NoaWxkX3Byb3h5X2dldF9jaGlsZF9ieV9pbmRleCwKCSAgZ3N0X2lpcl9lcXVhbGl6ZXJfY2hpbGRfcHJveHlfZ2V0X2NoaWxkcmVuX2NvdW50LAoJICBnc3RfaWlyX2VxdWFsaXplcl9jaGlsZF9wcm94eV9pbnRlcmZhY2VfaW5pdCwgc2V0dXBfZmlsdGVyLAoJICBnc3RfaWlyX2VxdWFsaXplcl9jb21wdXRlX2ZyZXF1ZW5jaWVzLCBwbHVnaW5faW5pdCk6CgkgICogdGVzdHMvaWNsZXMvZXF1YWxpemVyLXRlc3QuYzoKCSAgQWRkIGZpeG1lIGFuZCBjb21tZW50IGZvciBleGFtcGxlLgoKMjAwNy0wNS0yMSAxMjo0MzozNyArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSogZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmM6CgkgIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5jIChnc3Rfc3BlY3RydW1fc2V0X3Byb3BlcnR5LCBnc3Rfc3BlY3RydW1fZXZlbnQsIGdzdF9zcGVjdHJ1bV90cmFuc2Zvcm1faXApOgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uYyAoZ3N0X3NwZWN0cnVtX3NldF9wcm9wZXJ0eSwKCSAgZ3N0X3NwZWN0cnVtX2V2ZW50LCBnc3Rfc3BlY3RydW1fdHJhbnNmb3JtX2lwKToKCSAgVXNlIGxvY2sgdG8gcHJvdGVjdCBmcm9tIGNvbmN1cnJlbnQgYWNjZXNzLgoKMjAwNy0wNS0yMSAxMTozNzoxNiArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZXh0L3dhdnBhY2svZ3N0d2F2cGFja2VuYy5jOiBTcGVjaWZ5IGFuZCB1c2UgcHJvcGVydGllcyBhcyB1bnNpZ25lZCBpbnQgdGhhdCBhcmUgYW4gdW5zaWduZWQgaW50LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZW5jLmM6IChnc3Rfd2F2cGFja19lbmNfY2xhc3NfaW5pdCksCgkgIChnc3Rfd2F2cGFja19lbmNfc2V0X3Byb3BlcnR5KSwgKGdzdF93YXZwYWNrX2VuY19nZXRfcHJvcGVydHkpOgoJICBTcGVjaWZ5IGFuZCB1c2UgcHJvcGVydGllcyBhcyB1bnNpZ25lZCBpbnQgdGhhdCBhcmUgYW4gdW5zaWduZWQgaW50LgoKMjAwNy0wNS0yMSAxMToxNzoyMSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZXh0L3dhdnBhY2svZ3N0d2F2cGFja2VuYy4qOiBGaXh1cCBkb2NzLCBtYWtlIHRoZSBiaXRyYXRlIHByb3BlcnR5IGFuIGludCBhcyBpdCBzaG91bGQgYmUgYW5kIGFsbG93IHRvIHNldCB0aGUgZGlmZmVyLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tlbmMuYzogKGdzdF93YXZwYWNrX2VuY19jbGFzc19pbml0KSwKCSAgKGdzdF93YXZwYWNrX2VuY19pbml0KSwgKGdzdF93YXZwYWNrX2VuY19zZXRfd3BfY29uZmlnKSwKCSAgKGdzdF93YXZwYWNrX2VuY19zZXRfcHJvcGVydHkpLCAoZ3N0X3dhdnBhY2tfZW5jX2dldF9wcm9wZXJ0eSk6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2VuYy5oOgoJICBGaXh1cCBkb2NzLCBtYWtlIHRoZSBiaXRyYXRlIHByb3BlcnR5IGFuIGludCBhcyBpdCBzaG91bGQgYmUgYW5kCgkgIGFsbG93IHRvIHNldCB0aGUgZGlmZmVyZW50IGV4dHJhIHByb2Nlc3NpbmcgbW9kZXMgaW5zdGVhZCBvZiBvbmx5CgkgIGFsbG93aW5nIG5vbmUgYW5kIHRoZSBkZWZhdWx0IG9uZS4KCjIwMDctMDUtMjEgMTA6MDc6MDUgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvdWRwL2dzdHVkcHNyYy5jOiBTaW5jZSB3ZSBkZXBlbmQgb24gMC4xMC4xMyAtY29yZSwgb3ZlcnJpZGUgdGhlIHVubG9ja19zdG9wIHZtZXRob2QgZm9yIHNhZmVyIHNodXRkb3duLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvdWRwL2dzdHVkcHNyYy5jOiAoZ3N0X3VkcHNyY19jbGFzc19pbml0KSwKCSAgKGdzdF91ZHBzcmNfY3JlYXRlKSwgKGdzdF91ZHBzcmNfdW5sb2NrKSwgKGdzdF91ZHBzcmNfdW5sb2NrX3N0b3ApOgoJICBTaW5jZSB3ZSBkZXBlbmQgb24gMC4xMC4xMyAtY29yZSwgb3ZlcnJpZGUgdGhlIHVubG9ja19zdG9wIHZtZXRob2QgZm9yCgkgIHNhZmVyIHNodXRkb3duLgoKMjAwNy0wNS0yMSAxMDowMzo0MiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHNwL2dzdHJ0cGRlYy4qOiBBZGRlZCBzaWduYWwgZm9yIGJhY2t3YXJkcyBjb21wYXQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHNwL2dzdHJ0cGRlYy5jOiAoZ3N0X3J0cF9kZWNfY2xhc3NfaW5pdCk6CgkgICogZ3N0L3J0c3AvZ3N0cnRwZGVjLmg6CgkgIEFkZGVkIHNpZ25hbCBmb3IgYmFja3dhcmRzIGNvbXBhdC4KCjIwMDctMDUtMjEgMDk6MzI6MjYgKzAwMDAgIFJlbsOpIFN0YWRsZXIgPG1haWxAcmVuZXN0YWRsZXIuZGU+CgoJICBVc2UgYXVkaW9jb252ZXJ0IGZvciBjb252ZXJ0aW5nIGZyb20gbm9uLW5hdGl2ZSBlbmRpYW5uZXNzIGZsb2F0cyBpbiBhdXBhcnNlIGluc3RlYWQgb2YgZG9pbmcgaXQgb3Vyc2VsZi4gRml4ZXMgIzQyNDUyNy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBSZW7DqSBTdGFkbGVyIDxtYWlsIGF0IHJlbmVzdGFkbGVyIGRvdCBkZT4KCSAgKiBjb25maWd1cmUuYWM6CgkgICogZ3N0L2F1cGFyc2UvZ3N0YXVwYXJzZS5jOiAoZ3N0X2F1X3BhcnNlX3Jlc2V0KSwKCSAgKGdzdF9hdV9wYXJzZV9wYXJzZV9oZWFkZXIpLCAoZ3N0X2F1X3BhcnNlX2NoYWluKToKCSAgKiBnc3QvYXVwYXJzZS9nc3RhdXBhcnNlLmg6CgkgIFVzZSBhdWRpb2NvbnZlcnQgZm9yIGNvbnZlcnRpbmcgZnJvbSBub24tbmF0aXZlIGVuZGlhbm5lc3MgZmxvYXRzCgkgIGluIGF1cGFyc2UgaW5zdGVhZCBvZiBkb2luZyBpdCBvdXJzZWxmLiBGaXhlcyAjNDI0NTI3LgoJICBUaGlzIG5lZWRzIHRoZSBhdWRpb2NvbnZlcnQgZnJvbSBwbHVnaW5zLWJhc2UgQ1ZTLgoKMjAwNy0wNS0yMSAwOToyOTozMCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHAvZ3N0cnRwaDI2M3BwYXkuYzogRml4IGVudW0gcmVnaXN0cmF0aW9uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwL2dzdHJ0cGgyNjNwcGF5LmM6IChnc3RfZnJhZ21lbnRhdGlvbl9tb2RlX2dldF90eXBlKSwKCSAgKGdzdF9ydHBfaDI2M3BfcGF5X2ZsdXNoKToKCSAgRml4IGVudW0gcmVnaXN0cmF0aW9uLgoKMjAwNy0wNS0yMSAwODo1NzoxOCArMDAwMCAgQW50b2luZSBUcmVtYmxheSA8aGV4YTAwQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHAvZ3N0cnRwaDI2M3BwYXkuKjogQWRkIG5ldyBmcmFnbWVudGF0aW9uIG1vZGUgYmFzZSBvbiBHT0IgaGVhZGVycy4gRml4ZXMgIzQzODk0MC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBBbnRvaW5lIFRyZW1ibGF5IDxoZXhhMDAgYXQgZ21haWwgZG90IGNvbT4KCSAgKiBnc3QvcnRwL2dzdHJ0cGgyNjNwcGF5LmM6IChnc3RfZnJhZ21lbnRhdGlvbl9tb2RlX2dldF90eXBlKSwKCSAgKGdzdF9ydHBfaDI2M3BfcGF5X2NsYXNzX2luaXQpLCAoZ3N0X3J0cF9oMjYzcF9wYXlfaW5pdCksCgkgIChnc3RfcnRwX2gyNjNwX3BheV9zZXRfcHJvcGVydHkpLCAoZ3N0X3J0cF9oMjYzcF9wYXlfZ2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9ydHBfaDI2M3BfcGF5X2ZsdXNoKToKCSAgKiBnc3QvcnRwL2dzdHJ0cGgyNjNwcGF5Lmg6CgkgIEFkZCBuZXcgZnJhZ21lbnRhdGlvbiBtb2RlIGJhc2Ugb24gR09CIGhlYWRlcnMuIEZpeGVzICM0Mzg5NDAuCgoyMDA3LTA1LTIwIDIxOjMxOjU4ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBleHQvd2F2cGFjay9nc3R3YXZwYWNrZW5jLmM6IEFkZCBtaXNzaW5nIGF1ZGlvY29udmVydHMgaW4gdGhlIGV4YW1wbGUgcGlwZWxpbmVzIG9mIHdhdnBhY2tlbmMuIEFzIHRoZSB3YXZwYWNrIHN0dWZmIG4uLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2VuYy5jOgoJICBBZGQgbWlzc2luZyBhdWRpb2NvbnZlcnRzIGluIHRoZSBleGFtcGxlIHBpcGVsaW5lcyBvZiB3YXZwYWNrZW5jLiBBcwoJICB0aGUgd2F2cGFjayBzdHVmZiBub3cgbmVlZHMgaW5wdXQgd2l0aCAzMiBiaXQgd2lkdGggKGFuZCByYW5kb20gZGVwdGgpCgkgIHRoaXMgaXMgbmVlZGVkIG5vdy4gVGhlIGV4YW1wbGUgcGlwZWxpbmVzIGZvciB0aGUgcGFyc2VyIGFuZCBkZWNvZGVyCgkgIGFyZSBzdGlsbCBmaW5lLgoKMjAwNy0wNS0yMCAxNDo1OTo0NiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmM6IEJ1bmNoIG9mIHNtYWxsIGZpeGVzOiByZW1vdmUgc3RhdGljIGZ1bmN0aW9uIHRoYXQgZG9lc24ndCBleGlzdDsgZGVjbGFyZSBhbm90aGVyIC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5jOiAoZ3N0X2RkcmF3c3VyZmFjZV9maW5hbGl6ZSksCgkgIChnc3RfZGlyZWN0ZHJhd19zaW5rX2J1ZmZlcl9hbGxvYyksCgkgIChnc3RfZGlyZWN0ZHJhd19zaW5rX2dldF9kZHJhd2NhcHMpLAoJICAoZ3N0X2RpcmVjdGRyYXdfc2lua19zdXJmYWNlX2NyZWF0ZSk6CgkgIEJ1bmNoIG9mIHNtYWxsIGZpeGVzOiByZW1vdmUgc3RhdGljIGZ1bmN0aW9uIHRoYXQgZG9lc24ndCBleGlzdDsKCSAgZGVjbGFyZSBhbm90aGVyIG9uZSB0aGF0IGRvZXM7IHByaW50ZiBmb3JtYXQgZml4OyB1c2UgcmlnaHQgbWFjcm8KCSAgd2hlbiBzcGVjaWZ5aW5nIGRlYnVnIGNhdGVnb3J5OyByZW1vdmUgYSBidW5jaCBvZiB1bnVzZWQgdmFyaWFibGVzOwoJICAjaWYgMCBvdXQgYW4gdW51c2VkIGNodW5rIG9mIGNvZGUgKHBhcnRpYWxseSBmaXhlcyAjNDM5OTE0KS4KCjIwMDctMDUtMjAgMTQ6MTQ6NDkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvOiBQcmludGYgZm9ybWF0IGZpeGVzICgjNDM5OTEwLCAjNDM5OTExKS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAoZ3N0X3F0ZGVtdXhfcHJlcGFyZV9jdXJyZW50X3NhbXBsZSk6CgkgICogZ3N0L3N3aXRjaC9nc3Rzd2l0Y2guYzogKGdzdF9zd2l0Y2hfY2hhaW4pOgoJICBQcmludGYgZm9ybWF0IGZpeGVzICgjNDM5OTEwLCAjNDM5OTExKS4KCjIwMDctMDUtMjAgMTQ6MDU6NDIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IFByaW50ZiBmb3JtYXQgZml4LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IChnc3RfcnRzcHNyY19sb29wX3VkcCk6CgkgIFByaW50ZiBmb3JtYXQgZml4LgoKMjAwNy0wNS0xOSAxMDowMTo0NSArMDAwMCAgUmVuw6kgU3RhZGxlciA8bWFpbEByZW5lc3RhZGxlci5kZT4KCgkgIEFkZCByZXBsYXlnYWluIHBsYXliYWNrIGVsZW1lbnRzICgjNDEyNzEwKS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBSZW7DqSBTdGFkbGVyIDxtYWlsIGF0IHJlbmVzdGFkbGVyIGRlPgoJICAqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlcGxheWdhaW4ueG1sOgoJICAqIGdzdC9yZXBsYXlnYWluL01ha2VmaWxlLmFtOgoJICAqIGdzdC9yZXBsYXlnYWluL2dzdHJnYW5hbHlzaXMuYzogKGdzdF9yZ19hbmFseXNpc19jbGFzc19pbml0KSwKCSAgKGdzdF9yZ19hbmFseXNpc19zdGFydCksIChnc3RfcmdfYW5hbHlzaXNfc2V0X2NhcHMpLAoJICAoZ3N0X3JnX2FuYWx5c2lzX3RyYW5zZm9ybV9pcCksIChnc3RfcmdfYW5hbHlzaXNfZXZlbnQpLAoJICAoZ3N0X3JnX2FuYWx5c2lzX3N0b3ApLCAoZ3N0X3JnX2FuYWx5c2lzX2hhbmRsZV90YWdzKSwKCSAgKGdzdF9yZ19hbmFseXNpc19oYW5kbGVfZW9zKSwgKGdzdF9yZ19hbmFseXNpc190cmFja19yZXN1bHQpLAoJICAoZ3N0X3JnX2FuYWx5c2lzX2FsYnVtX3Jlc3VsdCk6CgkgICogZ3N0L3JlcGxheWdhaW4vZ3N0cmdhbmFseXNpcy5oOgoJICAqIGdzdC9yZXBsYXlnYWluL2dzdHJnbGltaXRlci5jOiAoZ3N0X3JnX2xpbWl0ZXJfYmFzZV9pbml0KSwKCSAgKGdzdF9yZ19saW1pdGVyX2NsYXNzX2luaXQpLCAoZ3N0X3JnX2xpbWl0ZXJfaW5pdCksCgkgIChnc3RfcmdfbGltaXRlcl9zZXRfcHJvcGVydHkpLCAoZ3N0X3JnX2xpbWl0ZXJfZ2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9yZ19saW1pdGVyX3RyYW5zZm9ybV9pcCk6CgkgICogZ3N0L3JlcGxheWdhaW4vZ3N0cmdsaW1pdGVyLmg6CgkgICogZ3N0L3JlcGxheWdhaW4vZ3N0cmd2b2x1bWUuYzogKGdzdF9yZ192b2x1bWVfYmFzZV9pbml0KSwKCSAgKGdzdF9yZ192b2x1bWVfY2xhc3NfaW5pdCksIChnc3Rfcmdfdm9sdW1lX2luaXQpLAoJICAoZ3N0X3JnX3ZvbHVtZV9zZXRfcHJvcGVydHkpLCAoZ3N0X3JnX3ZvbHVtZV9nZXRfcHJvcGVydHkpLAoJICAoZ3N0X3JnX3ZvbHVtZV9kaXNwb3NlKSwgKGdzdF9yZ192b2x1bWVfY2hhbmdlX3N0YXRlKSwKCSAgKGdzdF9yZ192b2x1bWVfc2lua19ldmVudCksIChnc3Rfcmdfdm9sdW1lX3RhZ19ldmVudCksCgkgIChnc3Rfcmdfdm9sdW1lX3Jlc2V0KSwgKGdzdF9yZ192b2x1bWVfdXBkYXRlX2dhaW4pLAoJICAoZ3N0X3JnX3ZvbHVtZV9kZXRlcm1pbmVfZ2Fpbik6CgkgICogZ3N0L3JlcGxheWdhaW4vZ3N0cmd2b2x1bWUuaDoKCSAgKiBnc3QvcmVwbGF5Z2Fpbi9yZXBsYXlnYWluLmM6IChwbHVnaW5faW5pdCk6CgkgICogZ3N0L3JlcGxheWdhaW4vcmVwbGF5Z2Fpbi5oOgoJICAqIGdzdC9yZXBsYXlnYWluL3JnYW5hbHlzaXMuaDoKCSAgKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy8uY3ZzaWdub3JlOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3JnYW5hbHlzaXMuYzogKHNlbmRfZW9zX2V2ZW50KSwKCSAgKEdTVF9TVEFSVF9URVNUKToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9yZ2xpbWl0ZXIuYzogKHNldHVwX3JnbGltaXRlciksCgkgIChjbGVhbnVwX3JnbGltaXRlciksIChzZXRfcGxheWluZ19zdGF0ZSksIChjcmVhdGVfdGVzdF9idWZmZXIpLAoJICAodmVyaWZ5X3Rlc3RfYnVmZmVyKSwgKEdTVF9TVEFSVF9URVNUKSwgKHJnbGltaXRlcl9zdWl0ZSksIChtYWluKToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9yZ3ZvbHVtZS5jOiAoZXZlbnRfZnVuYyksIChzZXR1cF9yZ3ZvbHVtZSksCgkgIChjbGVhbnVwX3Jndm9sdW1lKSwgKHNldF9wbGF5aW5nX3N0YXRlKSwgKHNldF9udWxsX3N0YXRlKSwKCSAgKHNlbmRfZW9zX2V2ZW50KSwgKHNlbmRfdGFnX2V2ZW50KSwgKHRlc3RfYnVmZmVyX25ldyksCgkgIChmYWlsX3VubGVzc190YXJnZXRfZ2FpbiksIChmYWlsX3VubGVzc19yZXN1bHRfZ2FpbiksCgkgIChmYWlsX3VubGVzc19nYWluKSwgKEdTVF9TVEFSVF9URVNUKSwgKHJndm9sdW1lX3N1aXRlKSwgKG1haW4pOgoJICBBZGQgcmVwbGF5Z2FpbiBwbGF5YmFjayBlbGVtZW50cyAoIzQxMjcxMCkuCgoyMDA3LTA1LTE4IDEzOjI3OjM5ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiBEb24ndCBjcmFzaCB3aGVuIGFuIHVuc3VwcG9ydGVkIHRyYW5zcG9ydCBlcnJvciB3YXMgcmV0dXJuZWQgYnkgdGhlIHNlcnZlciwganVzdCB0cnkgdG8gY29uZmlnLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogKGdzdF9ydHNwc3JjX3NldHVwX3N0cmVhbXMpOgoJICBEb24ndCBjcmFzaCB3aGVuIGFuIHVuc3VwcG9ydGVkIHRyYW5zcG9ydCBlcnJvciB3YXMgcmV0dXJuZWQgYnkgdGhlCgkgIHNlcnZlciwganVzdCB0cnkgdG8gY29uZmlndXJlIHRoZSBuZXh0IHN0cmVhbS4gRml4ZXMgIzQzOTI1NS4KCjIwMDctMDUtMTggMTE6Mzk6MTIgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRzcC9nc3RydHNwc3JjLio6IEFkZCBUQ1AgdGltZW91dCBwcm9wZXJ0eSBhbmQgdXNlIGl0IGZvciBhbGwgVENQIGNvbm5lY3Rpb24uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogKGdzdF9ydHNwc3JjX2NsYXNzX2luaXQpLAoJICAoZ3N0X3J0c3BzcmNfc2V0X3Byb3BlcnR5KSwgKGdzdF9ydHNwc3JjX2dldF9wcm9wZXJ0eSksCgkgIChnc3RfcnRzcHNyY19zdHJlYW1fY29uZmlndXJlX3VkcCksIChnc3RfcnRzcHNyY19sb29wX2ludGVybGVhdmVkKSwKCSAgKGdzdF9ydHNwc3JjX2xvb3BfdWRwKSwgKGdzdF9ydHNwc3JjX3RyeV9zZW5kKSwgKGdzdF9ydHNwc3JjX3NlbmQpLAoJICAoZ3N0X3J0c3BzcmNfc2V0dXBfc3RyZWFtcyksIChnc3RfcnRzcHNyY19vcGVuKToKCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmg6CgkgIEFkZCBUQ1AgdGltZW91dCBwcm9wZXJ0eSBhbmQgdXNlIGl0IGZvciBhbGwgVENQIGNvbm5lY3Rpb24uCgkgICogZ3N0L3J0c3AvcnRzcGNvbm5lY3Rpb24uYzogKHJ0c3BfY29ubmVjdGlvbl9jb25uZWN0KSwKCSAgKHJ0c3BfY29ubmVjdGlvbl93cml0ZSksIChydHNwX2Nvbm5lY3Rpb25fbmV4dF90aW1lb3V0KSwKCSAgKHJ0c3BfY29ubmVjdGlvbl9yZXNldF90aW1lb3V0KToKCSAgTWFrZSBjb25uZWN0IGFuZCB3cml0ZXMgY2FuY2VsYWJsZSBhbmQgbWFrZSB0aGVtIHVzZSB0aGUgdGltZW91dC4KCjIwMDctMDUtMTggMTA6MzY6MTIgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IFJlZmFjdG9yIHRpbWVvdXQgaGFuZGxpbmcuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogKGdzdF9ydHNwc3JjX3NlbmRfa2VlcF9hbGl2ZSksCgkgIChnc3RfcnRzcHNyY19sb29wX2ludGVybGVhdmVkKSwgKGdzdF9ydHNwc3JjX2xvb3BfdWRwKSwKCSAgKGdzdF9ydHNwc3JjX3RyeV9zZW5kKSwgKGdzdF9ydHNwc3JjX3NlbmQpLAoJICAoZ3N0X3J0c3BzcmNfc2V0dXBfc3RyZWFtcyk6CgkgIFJlZmFjdG9yIHRpbWVvdXQgaGFuZGxpbmcuCgkgIEFsc28gc2VuZCBrZWVwLWFsaXZlIHdoZW4gZGVhbGluZyB3aXRoIFRDUCB0cmFuc3BvcnQuCgkgICogZ3N0L3J0c3AvcnRzcGNvbm5lY3Rpb24uYzogKHJ0c3BfY29ubmVjdGlvbl9jcmVhdGUpLAoJICAocnRzcF9jb25uZWN0aW9uX2ZyZWUpLCAocnRzcF9jb25uZWN0aW9uX25leHRfdGltZW91dCksCgkgIChydHNwX2Nvbm5lY3Rpb25fcmVzZXRfdGltZW91dCk6CgkgICogZ3N0L3J0c3AvcnRzcGNvbm5lY3Rpb24uaDoKCSAgVXNlIGEgdGltZXIgdG8gaGFuZGxlIHRoZSBzZXNzaW9uIHRpbWVvdXRzLCBhZGQgc29tZSBtZXRob2RzIHRvIGRlYWwKCSAgd2l0aCB0aW1lb3V0cy4KCjIwMDctMDUtMTcgMTQ6NTY6MzkgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IElnbm9yZSBzdHJlYW1zIHRoYXQgZmFpbCB0aGUgc2V0dXAgY29tbWFuZCwgd2Ugd2lsbCByZXRyeSB3aXRoIGEgZGlmZmVyZW50IHRyYW5zcG9ydCBsYXRlciBvbi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiAoZ3N0X3J0c3BzcmNfc2VuZCksCgkgIChnc3RfcnRzcHNyY19zZXR1cF9zdHJlYW1zKToKCSAgSWdub3JlIHN0cmVhbXMgdGhhdCBmYWlsIHRoZSBzZXR1cCBjb21tYW5kLCB3ZSB3aWxsIHJldHJ5IHdpdGggYQoJICBkaWZmZXJlbnQgdHJhbnNwb3J0IGxhdGVyIG9uLgoJICAqIGdzdC9ydHNwL3J0c3BleHR3bXMuYzogKHJ0c3BfZXh0X3dtc19wYXJzZV9zZHApLAoJICAocnRzcF9leHRfd21zX2NvbmZpZ3VyZV9zdHJlYW0pOgoJICBGaXggZW5jb2RpbmcgbmFtZSBjYXNlLgoKMjAwNy0wNS0xNyAxMDo1OTowMCArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIHN5cy9vc3h2aWRlby9vc3h2aWRlb3NpbmsuKjogUmVtb3ZlIHRoZSBldmVudC1sb29wLWluLXNlcGFyYXRlLXRocmVhZCBtb2RpZmljYXRpb25zLCBiZWNhdXNlIE1hY09TWCBpcyAkI0AoKiUkIyAhIEZvci4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvb3N4dmlkZW8vb3N4dmlkZW9zaW5rLmg6CgkgICogc3lzL29zeHZpZGVvL29zeHZpZGVvc2luay5tOgoJICBSZW1vdmUgdGhlIGV2ZW50LWxvb3AtaW4tc2VwYXJhdGUtdGhyZWFkIG1vZGlmaWNhdGlvbnMsIGJlY2F1c2UgTWFjT1NYCgkgIGlzICQjQCgqJSQjICEgRm9yIHRob3NlIHdvbmRlcmluZywgdGhlIGV2ZW50IGhhbmRsaW5nIG5lZWRzIHRvIGJlIGRvbmUKCSAgaW4gdGhlIG1haW4gdGhyZWFkIGFmdGVyIGFsbC4uCgoyMDA3LTA1LTE3IDA5OjQxOjQ4ICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgc3lzL29zeHZpZGVvL29zeHZpZGVvc2luay4qOiBGaXggYSBzdHVwaWQgI2lmIHZzICNpZmRlZiBidWcuIFNob3VsZCB1c2UgdGhlIHByb3BlciBjb2xvcnNwYWNlIG5vdy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL29zeHZpZGVvL29zeHZpZGVvc2luay5oOgoJICAqIHN5cy9vc3h2aWRlby9vc3h2aWRlb3NpbmsubToKCSAgRml4IGEgc3R1cGlkICNpZiB2cyAjaWZkZWYgYnVnLiBTaG91bGQgdXNlIHRoZSBwcm9wZXIgY29sb3JzcGFjZSBub3cuCgkgIFVzZSBhIHNlcGFyYXRlIHRocmVhZC90YXNrIGZvciB0aGUgY29jb2EgZXZlbnRfbG9vcCwgZWxzZSBpdCB3b3VsZG4ndAoJICBzdG9wLgoKMjAwNy0wNS0xNiAxNjo1MDoyMyArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIGV4dC9saWJwbmcvZ3N0cG5nZGVjLmM6IEZpeCBidWlsZCBvbiBtYWNvc3guCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9saWJwbmcvZ3N0cG5nZGVjLmM6ICh1c2VyX2VuZHJvd19jYWxsYmFjayksICh1c2VyX3JlYWRfZGF0YSk6CgkgIEZpeCBidWlsZCBvbiBtYWNvc3guCgoyMDA3LTA1LTE2IDE2OjMwOjAzICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBleHQvcmF3MTM5NC9nc3RkdjEzOTRzcmMuYzogUmVwbGFjZSBkaXJlY3QgY29tcGFyaXNvbiBvZiBhIHN0cmluZyB3aXRoIHRoZSBzdHJpbmcgbGl0ZXJhbCAiIiB3aXRoIGEgY29tcGFyaXNvbiBvZiB0aGUuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3JhdzEzOTQvZ3N0ZHYxMzk0c3JjLmM6IChnc3RfZHYxMzk0c3JjX3VyaV9zZXRfdXJpKToKCSAgUmVwbGFjZSBkaXJlY3QgY29tcGFyaXNvbiBvZiBhIHN0cmluZyB3aXRoIHRoZSBzdHJpbmcgbGl0ZXJhbCAiIiB3aXRoCgkgIGEgY29tcGFyaXNvbiBvZiB0aGUgZmlyc3QgY2hhcmFjdGVyIHdpdGggJ1wwJy4gRml4ZXMgIzQzODkyNi4KCjIwMDctMDUtMTUgMTc6MjI6NTggKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBBZGQgRElSRUNURFJBV19DRkxBR1MgYW5kIERJUkVDVFNPVU5EX0NGTEFHUyB0byBNYWtlZmlsZS5hbTsgc2F2ZSBhbmQgcmVzdG9yZSB0aGUgdmFyaW91cyBmbGFncyBpbiB0aGUgZGlyZWN0ZHJhdy9kaXIuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAqIHN5cy9kaXJlY3RkcmF3L01ha2VmaWxlLmFtOgoJICAqIHN5cy9kaXJlY3Rzb3VuZC9NYWtlZmlsZS5hbToKCSAgQWRkIERJUkVDVERSQVdfQ0ZMQUdTIGFuZCBESVJFQ1RTT1VORF9DRkxBR1MgdG8gTWFrZWZpbGUuYW07IHNhdmUKCSAgYW5kIHJlc3RvcmUgdGhlIHZhcmlvdXMgZmxhZ3MgaW4gdGhlIGRpcmVjdGRyYXcvZGlyZWN0c291bmQKCSAgZGV0ZWN0aW9uIHNlY3Rpb24uIEFwcGFyZW50bHkgaW1wcm92ZXMgY3Jvc3MtY29tcGlsaW5nIGZvciB3aW4zMgoJICB3aXRoIG1pbmd3MzIgdW5kZXIgc29tZSBjaXJjdW1zdGFuY2VzICgjNDM3NTM5KS4KCjIwMDctMDUtMTUgMTE6MTg6MzMgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC9kZWJ1Zy9icmVha215ZGF0YS5jIChnc3RfYnJlYWtfbXlfZGF0YV9pbml0KTogT25lIG1vcmUgdHJ5LiBUaGlzIHNob3VsZCBiZSB0aGUgcHJvcGVyIGZpeCBub3cuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9kZWJ1Zy9icmVha215ZGF0YS5jIChnc3RfYnJlYWtfbXlfZGF0YV9pbml0KToKCSAgT25lIG1vcmUgdHJ5LiBUaGlzIHNob3VsZCBiZSB0aGUgcHJvcGVyIGZpeCBub3cuCgoyMDA3LTA1LTE1IDA2OjQxOjU4ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3QvZGVidWcvYnJlYWtteWRhdGEuYzogT29vcHMsIG5vIC8vIGNvbW1lbnRzIHBsZWFzZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2RlYnVnL2JyZWFrbXlkYXRhLmM6CgkgIE9vb3BzLCBubyAvLyBjb21tZW50cyBwbGVhc2UuCgoyMDA3LTA1LTE1IDA2OjM0OjQ4ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3QvZGVidWcvYnJlYWtteWRhdGEuYzogRml4IGdzdF9idWZmZXJfaXNfd3JpdGFibGUoKSBhc3NlcnRpb24uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9kZWJ1Zy9icmVha215ZGF0YS5jOiAoZ3N0X2JyZWFrX215X2RhdGFfY2xhc3NfaW5pdCksCgkgIChnc3RfYnJlYWtfbXlfZGF0YV9pbml0KToKCSAgRml4IGdzdF9idWZmZXJfaXNfd3JpdGFibGUoKSBhc3NlcnRpb24uCgoyMDA3LTA1LTE1IDAyOjU2OjIzICswMDAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkgIHN5cy92NGwyL2dzdHY0bDJzcmMuYzogQWRkIHN1cHBvcnQgZm9yIEJheWVyIGltYWdlcyBhcyB2aWRlby94LXJhdy1iYXllci4gIEZpeGVzICMzMTQxNjAuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzogQWRkIHN1cHBvcnQgZm9yIEJheWVyIGltYWdlcyBhcwoJICB2aWRlby94LXJhdy1iYXllci4gIEZpeGVzICMzMTQxNjAuCgoyMDA3LTA1LTE0IDE3OjEwOjEyICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cC86IFVwZGF0ZSB0aGVvcmEgcGF5L2RlcGF5bG9hZGVyIGluIGEgc2ltaWxhciB0byB2b3JiaXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHAvZ3N0cnRwdGhlb3JhZGVwYXkuYzogKGRlY29kZV9iYXNlNjQpLAoJICAoZ3N0X3J0cF90aGVvcmFfZGVwYXlfcGFyc2VfY29uZmlndXJhdGlvbik6CgkgICogZ3N0L3J0cC9nc3RydHB0aGVvcmFwYXkuYzogKGVuY29kZV9iYXNlNjQpLAoJICAoZ3N0X3J0cF90aGVvcmFfcGF5X2ZpbmlzaF9oZWFkZXJzKSwKCSAgKGdzdF9ydHBfdGhlb3JhX3BheV9oYW5kbGVfYnVmZmVyKToKCSAgVXBkYXRlIHRoZW9yYSBwYXkvZGVwYXlsb2FkZXIgaW4gYSBzaW1pbGFyIHRvIHZvcmJpcy4KCSAgKiBnc3QvcnRwL2dzdHJ0cHZvcmJpc2RlcGF5LmM6CgkgIChnc3RfcnRwX3ZvcmJpc19kZXBheV9wYXJzZV9jb25maWd1cmF0aW9uKToKCSAgVXBkYXRlIGRvY3MuCgoyMDA3LTA1LTE0IDE2OjE5OjU4ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiBXaGVuIHdlIHRyeSB0byBleGVjdXRlIGEgbWV0aG9kIHRoYXQgaXMgbm90IHN1cHBvcnRlZCBieSB0aGUgc2VydmVyLCBkb24ndCBlcnJvciBvdXQgYnV0IHJlbW92Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogKGdzdF9ydHNwc3JjX3NlbmQpOgoJICBXaGVuIHdlIHRyeSB0byBleGVjdXRlIGEgbWV0aG9kIHRoYXQgaXMgbm90IHN1cHBvcnRlZCBieSB0aGUgc2VydmVyLAoJICBkb24ndCBlcnJvciBvdXQgYnV0IHJlbW92ZSB0aGUgbWV0aG9kIGZyb20gdGhlIGFjY2VwdGVkIG1ldGhvZHMgc28gdGhhdAoJICB3ZSBuZXZlciB0cnkgdG8gcGVyZm9ybSB0aGlzIG1ldGhvZCBhZ2Fpbi4KCjIwMDctMDUtMTQgMTQ6NDc6MjYgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwL2dzdHJ0cHZvcmJpc2RlcGF5LmM6IFJlbW92ZSBhbm5veWluZyBfZHVtcF9tZW0uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHAvZ3N0cnRwdm9yYmlzZGVwYXkuYzogKGdzdF9ydHBfdm9yYmlzX2RlcGF5X3Byb2Nlc3MpOgoJICBSZW1vdmUgYW5ub3lpbmcgX2R1bXBfbWVtLgoKMjAwNy0wNS0xNCAxMToxMTo0MiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogUGFyc2UgcmFuZ2UgY29ycmVjdGx5LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IChnc3RfcnRzcHNyY19wYXJzZV9yYW5nZSk6CgkgIFBhcnNlIHJhbmdlIGNvcnJlY3RseS4KCSAgKiBnc3QvcnRzcC9ydHNwdXJsLmM6IChydHNwX3VybF9nZXRfcmVxdWVzdF91cmkpOgoJICBUaGUgYmFzZXVybCBub3cgYWx3YXlzIGhhcyBhICcvJyBhdCB0aGUgc3RhcnQuCgoyMDA3LTA1LTE0IDA5OjAxOjA1ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiBGYWN0b3Igb3V0IGNhcHMgY29uZmlndXJhdGlvbiBhbmQgY29uZmlndXJlIG1vcmUgc3R1ZmYgc3VjaCBhcyB0aGUgdGltZSByYW5nZXMgYW5kIHNwZWVkL3NjYWxlLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogKGdzdF9ydHNwc3JjX2NvbmZpZ3VyZV9jYXBzKSwKCSAgKGdzdF9ydHNwc3JjX3BhcnNlX3JhbmdlKSwgKGdzdF9ydHNwc3JjX29wZW4pLAoJICAoZ3N0X3J0c3BzcmNfcGFyc2VfcnRwaW5mbyksIChnc3RfcnRzcHNyY19wbGF5KToKCSAgRmFjdG9yIG91dCBjYXBzIGNvbmZpZ3VyYXRpb24gYW5kIGNvbmZpZ3VyZSBtb3JlIHN0dWZmIHN1Y2ggYXMgdGhlIHRpbWUKCSAgcmFuZ2VzIGFuZCBzcGVlZC9zY2FsZSB2YWx1ZXMuCgkgICogZ3N0L3J0c3AvcnRzcHRyYW5zcG9ydC5jOgoJICBBZGQgQ29weXJpZ2h0IGFmdGVyIG5vbi10cml2YWwgZml4ZXMuCgoyMDA3LTA1LTEzIDE5OjU3OjQ1ICswMDAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkgIGdzdC9yZXBsYXlnYWluL3JnYW5hbHlzaXMuYzogRml4IHdyb25nIGlmZGVmIGZvciB2aXN1YWwgQysrLiAgRml4ZXM6ICM0Mzc0MDMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9yZXBsYXlnYWluL3JnYW5hbHlzaXMuYzoKCSAgRml4IHdyb25nIGlmZGVmIGZvciB2aXN1YWwgQysrLiAgRml4ZXM6ICM0Mzc0MDMuCgkgIEJ5IEFsaSBTYWJpbCA8YWxpLnNhYmlsQGdtYWlsLmNvbT4uCgoyMDA3LTA1LTEzIDE1OjQ3OjEzICswMDAwICBTw6liYXN0aWVuIE1vdXR0ZSA8c2ViYXN0aWVuQG1vdXR0ZS5uZXQ+CgoJICBnc3QvbGV2ZWwvZ3N0bGV2ZWwuYzogVXNlIGd1aW50OCAqIGluc3RlYWQgb2YgZ3BvaW50ZXIgdGhlbiB2czYgY2FuIGJ1aWxkIGluX2RhdGEgKz0gKGZpbHRlci0+d2lkdGggLyA4KS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2xldmVsL2dzdGxldmVsLmM6IChnc3RfbGV2ZWxfdHJhbnNmb3JtX2lwKToKCSAgVXNlIGd1aW50OCAqIGluc3RlYWQgb2YgZ3BvaW50ZXIgdGhlbiB2czYgY2FuIGJ1aWxkCgkgIGluX2RhdGEgKz0gKGZpbHRlci0+d2lkdGggLyA4KS4KCjIwMDctMDUtMTIgMTY6Mzc6NTAgKzAwMDAgIFBldGVyIEtqZWxsZXJzdGVkdCA8cGtqQGF4aXMuY29tPgoKCSAgZ3N0L3J0c3AvOiBNYWtlIGNoYW5uZWwgZ3VpbnQ4IHdoZXJlIHBvc3NpYmxlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFBldGVyIEtqZWxsZXJzdGVkdCAgPHBraiBhdCBheGlzIGNvbT4KCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmg6CgkgICogZ3N0L3J0c3AvcnRzcGNvbm5lY3Rpb24uYzogKHJ0c3BfY29ubmVjdGlvbl9yZWNlaXZlKToKCSAgKiBnc3QvcnRzcC9ydHNwbWVzc2FnZS5jOiAocnRzcF9tZXNzYWdlX2luaXRfZGF0YSksCgkgIChydHNwX21lc3NhZ2VfZ2V0X2hlYWRlcik6CgkgICogZ3N0L3J0c3AvcnRzcG1lc3NhZ2UuaDoKCSAgTWFrZSBjaGFubmVsIGd1aW50OCB3aGVyZSBwb3NzaWJsZS4KCSAgTWFrZSBydHNwX21lc3NhZ2VfaW5pdF9kYXRhKCkgdGFrZSB0aGUgY2hhbm5lbCBhcyBhIGd1aW50OC4KCSAgKiBnc3QvcnRzcC9ydHNwZGVmcy5jOgoJICBGaXhlZCBhIHR5cG86IFRpbW91dCAtPiBUaW1lb3V0CgkgICogZ3N0L3J0c3AvcnRzcGRlZnMuaDoKCSAgTWFrZSBSVFNQX0NIRUNLKCkgYmVoYXZlIGFzIGEgc3RhdGVtZW50LgoJICAqIGdzdC9ydHNwL3NkcG1lc3NhZ2UuYzoKCSAgQXZvaWQgYSBjb21waWxlciB3YXJuaW5nIGluIElOSVRfQVJSQVkoKS4KCSAgRml4ZXMgIzQzNzY5Mi4KCjIwMDctMDUtMTIgMTY6Mjc6NTEgKzAwMDAgIFBldGVyIEtqZWxsZXJzdGVkdCA8cGtqQGF4aXMuY29tPgoKCSAgZ3N0L3J0c3AvcnRzcHVybC4qOiBBZGQgc3VwcG9ydCBmb3IgcXVlcnkgcGFyYW1ldGVycyB0byBSVFNQIFVSTHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogUGV0ZXIgS2plbGxlcnN0ZWR0ICA8cGtqIGF0IGF4aXMgY29tPgoJICAqIGdzdC9ydHNwL3J0c3B1cmwuYzogKHJ0c3BfdXJsX3BhcnNlKSwgKHJ0c3BfdXJsX2ZyZWUpLAoJICAocnRzcF91cmxfZ2V0X3JlcXVlc3RfdXJpKToKCSAgKiBnc3QvcnRzcC9ydHNwdXJsLmg6CgkgIEFkZCBzdXBwb3J0IGZvciBxdWVyeSBwYXJhbWV0ZXJzIHRvIFJUU1AgVVJMcy4KCjIwMDctMDUtMTIgMTY6MjY6MDYgKzAwMDAgIFBldGVyIEtqZWxsZXJzdGVkdCA8cGtqQGF4aXMuY29tPgoKCSAgZ3N0L3J0c3AvcnRzcHRyYW5zcG9ydC4qOiBBZGQgdmFsaWRhdGlvbiB0byBydHNwX3RyYW5zcG9ydF9wYXJzZSgpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFBldGVyIEtqZWxsZXJzdGVkdCAgPHBraiBhdCBheGlzIGNvbT4KCSAgKiBnc3QvcnRzcC9ydHNwdHJhbnNwb3J0LmM6IChydHNwX3RyYW5zcG9ydF9pbml0KSwgKHBhcnNlX21vZGUpLAoJICAocGFyc2VfcmFuZ2UpLCAocmFuZ2VfYXNfdGV4dCksIChydHNwX3RyYW5zcG9ydF9tb2RlX2FzX3RleHQpLAoJICAocnRzcF90cmFuc3BvcnRfcHJvZmlsZV9hc190ZXh0KSwgKHJ0c3BfdHJhbnNwb3J0X2x0cmFuc19hc190ZXh0KSwKCSAgKHJ0c3BfdHJhbnNwb3J0X3BhcnNlKSwgKHJ0c3BfdHJhbnNwb3J0X2FzX3RleHQpOgoJICAqIGdzdC9ydHNwL3J0c3B0cmFuc3BvcnQuaDoKCSAgQWRkIHZhbGlkYXRpb24gdG8gcnRzcF90cmFuc3BvcnRfcGFyc2UoKS4KCSAgQWRkIHJ0c3BfdHJhbnNwb3J0X2FzX3RleHQoKSB0byBnZW5lcmF0ZSBhbiBSVFNQIGhlYWRlciBmcm9tIGFuCgkgIFJUU1BUcmFuc3BvcnQuCgkgIENoYW5nZSBzc3JjIHRvIGd1aW50ICh3YXMgYSBzdHJpbmcpIHNpbmNlIHRoYXQgaXMgd2hhdCBpdCBpcywgZXZlbgoJICB0aG91Z2ggaXQgaXMgc2VudCBhcyBhIGhleCBzdHJpbmcuCgkgIENvcnJlY3RseSBpZGVudGlmeSBQTEFZfFJFQ09SRCBtb2RlIHBhcmFtZXRlcnMgKHRoZSBzeW50YXggaW4gdGhlIFJGQyBpcwoJICBpbmNvcnJlY3QsIHdoaWNoIGNhbiBiZSBzZWVuIHdoZW4gbG9va2luZyBhdCB0aGUgZXhhbXBsZXMgaW4gdGhlIFJGQykuCgkgIEZpeGVzICM0Mzc2NzAuCgoyMDA3LTA1LTExIDE2OjExOjA0ICswMDAwICBFcmljIEFuaG9sdCA8YW5ob2x0QGZyZWVic2Qub3JnPgoKCSogQ2hhbmdlTG9nOgoJKiBzeXMveGltYWdlL2dzdHhpbWFnZXNyYy5jOgoJICBzeXMveGltYWdlL2dzdHhpbWFnZXNyYy5jIChnc3RfeGltYWdlX3NyY19vcGVuX2Rpc3BsYXksIGdzdF94aW1hZ2Vfc3JjX3hpbWFnZV9nZXQpOgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IEVyaWMgQW5ob2x0CgkgICogc3lzL3hpbWFnZS9nc3R4aW1hZ2VzcmMuYyAoZ3N0X3hpbWFnZV9zcmNfb3Blbl9kaXNwbGF5LAoJICBnc3RfeGltYWdlX3NyY194aW1hZ2VfZ2V0KToKCSAgVXNlIHVuaW9uIG9mIGFsbCBkYW1hZ2UgYmV0d2VlbiBmcmFtZXMgdG8gbWFrZSBpdCBmYXN0ZXIuCgkgIEZpeGVzIGJ1ZyAjMzQyNDYzLgoJICBBbHNvIGZpeCBjcmFzaGVyIHdoZW4gY3Vyc29yIGlzIGF0IGJvdHRvbSByaWdodCBvZiB3aW5kb3cuCgoyMDA3LTA1LTExIDE2OjAxOjQ1ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6IFNraXAgTElTVCBjaHVua3MgYmVmb3JlIHRoZSBmbXQgY2h1bmsgKGZpeGVzICM0Mzc0OTkpLiBBbHNvIGZpeCBzdHJlYW1pbmcgbW9kZSByZWdyZXNzaW9uLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOiAoZ3N0X3dhdnBhcnNlX3N0cmVhbV9oZWFkZXJzKToKCSAgU2tpcCBMSVNUIGNodW5rcyBiZWZvcmUgdGhlIGZtdCBjaHVuayAoZml4ZXMgIzQzNzQ5OSkuIEFsc28gZml4CgkgIHN0cmVhbWluZyBtb2RlIHJlZ3Jlc3Npb24gZm9yIGZpbGUgZnJvbSAjMzQzODM3IHdpdGggJ2JleHQnIGNodW5rCgkgIGJlZm9yZSB0aGUgJ2ZtdCcgY2h1bmsuCgoyMDA3LTA1LTExIDE1OjA5OjM5ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0c3AvOiBQcmVsaW1pbmFyeSBzZWVrIHN1cHBvcnQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogKGdzdF9ydHNwc3JjX2ZsdXNoKSwKCSAgKGdzdF9ydHNwc3JjX2RvX3NlZWspLCAoZ3N0X3J0c3BzcmNfcGVyZm9ybV9zZWVrKSwKCSAgKGdzdF9ydHNwc3JjX2hhbmRsZV9zcmNfZXZlbnQpLAoJICAoZ3N0X3J0c3BzcmNfc3RyZWFtX2NvbmZpZ3VyZV9tYW5hZ2VyKSwKCSAgKGdzdF9ydHNwc3JjX3N0cmVhbV9jb25maWd1cmVfdGNwKSwgKGdzdF9ydHNwc3JjX2xvb3BfaW50ZXJsZWF2ZWQpLAoJICAoZ3N0X3J0c3BzcmNfc2VuZF9rZWVwX2FsaXZlKSwgKGdzdF9ydHNwc3JjX29wZW4pLAoJICAoZ3N0X3J0c3BzcmNfcGFyc2VfcnRwaW5mbyksIChnc3RfcnRzcHNyY19wbGF5KToKCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmg6CgkgICogZ3N0L3J0c3AvcnRzcGRlZnMuaDoKCSAgUHJlbGltaW5hcnkgc2VlayBzdXBwb3J0LgoJICBBY3RpdmF0ZSBpbnRlcm5hbCBwYWRzIHNvIHRoYXQgd2UgY2FuIHJlY2VpdmUgZXZlbnRzIG9uIHRoZW0uCgkgIERvbid0IHRyeSB0byBwYXJzZSBhIHJhbmdlIHN0cmluZyB3aGVuIGl0J3MgTlVMTC4KCjIwMDctMDUtMTEgMTU6MDQ6MzggKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwL1JFQURNRTogVXBkYXRlIFJFQURNRSB3aXRoIG5ldyBSVFAgdmFyaWFibGVzIHRoYXQgd2lsbCBiZSB1c2VkIGZvciBzeW5jaHJvbmlzYXRpb24uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHAvUkVBRE1FOgoJICBVcGRhdGUgUkVBRE1FIHdpdGggbmV3IFJUUCB2YXJpYWJsZXMgdGhhdCB3aWxsIGJlIHVzZWQgZm9yCgkgIHN5bmNocm9uaXNhdGlvbi4KCSAgKiBnc3QvcnRwL2dzdHJ0cHZvcmJpc2RlcGF5LmM6IChkZWNvZGVfYmFzZTY0KSwKCSAgKGdzdF9ydHBfdm9yYmlzX2RlcGF5X3BhcnNlX2NvbmZpZ3VyYXRpb24pLAoJICAoZ3N0X3J0cF92b3JiaXNfZGVwYXlfcHJvY2Vzcyk6CgkgICogZ3N0L3J0cC9nc3RydHB2b3JiaXNwYXkuYzogKGVuY29kZV9iYXNlNjQpLAoJICAoZ3N0X3J0cF92b3JiaXNfcGF5X2ZpbmlzaF9oZWFkZXJzKSwKCSAgKGdzdF9ydHBfdm9yYmlzX3BheV9oYW5kbGVfYnVmZmVyKToKCSAgVXBkYXRlIHZvcmJpcyBwYXkgYW5kIGRlcGF5bG9hZGVyIHRvIGRyYWZ0LTA0LgoKMjAwNy0wNS0xMSAxMToyNDoxMyArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHNwL3J0c3B0cmFuc3BvcnQuYzogVURQIE1DQVNUIGlzIGFjdHVhbGx5IHRoZSBkZWZhdWx0IGZvciBSVFAvQVZQLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRzcC9ydHNwdHJhbnNwb3J0LmM6CgkgIFVEUCBNQ0FTVCBpcyBhY3R1YWxseSB0aGUgZGVmYXVsdCBmb3IgUlRQL0FWUC4KCjIwMDctMDUtMTEgMTA6MzE6MjcgKzAwMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJICBzeXMveGltYWdlL2dzdHhpbWFnZXNyYy5jIChnc3RfeGltYWdlX3NyY19zdGFydCwgZ3N0X3hpbWFnZV9zcmNfeGltYWdlX2dldCk6CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy94aW1hZ2UvZ3N0eGltYWdlc3JjLmMgKGdzdF94aW1hZ2Vfc3JjX3N0YXJ0LAoJICBnc3RfeGltYWdlX3NyY194aW1hZ2VfZ2V0KToKCSAgKiBzeXMveGltYWdlL2dzdHhpbWFnZXNyYy5oIChsYXN0X3hpbWFnZSk6CgkgIFdoZW4gdXNpbmcgRGFtYWdlIGFjdHVhbGx5IGtlZXAgdGhlIGxhc3QgZnJhbWUsIGFuZCBub3QgYXNzdW1lCgkgIHRoYXQgdGhlIGJ1ZmZlciB3ZSBnZXQgYWxyZWFkeSBoYXMgdGhlIGxhc3QgZnJhbWUgb24gaXQuCgkgIENvcHkgdGhlIGN1cnNvciBvdmVyIGlmIHdlIHNwZWNpZnkgYSBub24temVybyBzdGFydCB4IGFuZAoJICBzdGFydCB5LgoKMjAwNy0wNS0xMSAwOToxMjo1NSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHNwL3J0c3B0cmFuc3BvcnQuYzogTWFrZSBVRFAgdGhlIGRlZmF1bHQgdHJhbnNwb3J0IHdoZW4gbm90IHNwZWNpZmllZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0c3AvcnRzcHRyYW5zcG9ydC5jOgoJICBNYWtlIFVEUCB0aGUgZGVmYXVsdCB0cmFuc3BvcnQgd2hlbiBub3Qgc3BlY2lmaWVkLgoKMjAwNy0wNS0xMCAxNDowMjowNyArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jIChnc3RfcXRkZW11eF9tb3ZlX3N0cmVhbSwgZ3N0X3F0ZGVtdXhfbG9vcF9zdGF0ZV9oZWFkZXIsIGdzdF9xdGRlbXV4X2FjdGl2YXRlX3NlZ21lbnQsIGdzdF9xdGRlLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYyAoZ3N0X3F0ZGVtdXhfbW92ZV9zdHJlYW0sCgkgIGdzdF9xdGRlbXV4X2xvb3Bfc3RhdGVfaGVhZGVyLCBnc3RfcXRkZW11eF9hY3RpdmF0ZV9zZWdtZW50LAoJICBnc3RfcXRkZW11eF9wcmVwYXJlX2N1cnJlbnRfc2FtcGxlLCBnc3RfcXRkZW11eF9jb21iaW5lX2Zsb3dzLAoJICBnc3RfcXRkZW11eF9sb29wX3N0YXRlX21vdmllLCBnc3RfcXRkZW11eF9sb29wLAoJICBxdGRlbXV4X3BhcnNlX3NlZ21lbnRzLCBxdGRlbXV4X3BhcnNlX3RyYWspOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYyAocnRwX3Nlc3Npb25fZ2V0X2JhbmR3aWR0aCwKCSAgcnRwX3Nlc3Npb25fZ2V0X3J0Y3BfYmFuZHdpZHRoLCBydHBfc2Vzc2lvbl9nZXRfY25hbWUsCgkgIHJ0cF9zZXNzaW9uX2dldF9uYW1lLCBydHBfc2Vzc2lvbl9nZXRfZW1haWwsIHJ0cF9zZXNzaW9uX2dldF9waG9uZSwKCSAgcnRwX3Nlc3Npb25fZ2V0X2xvY2F0aW9uLCBydHBfc2Vzc2lvbl9nZXRfdG9vbCwKCSAgcnRwX3Nlc3Npb25fcHJvY2Vzc19ieWUsIHNlc3Npb25fcmVwb3J0X2Jsb2Nrcyk6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmMgKHJ0cF9zb3VyY2VfcHJvY2Vzc19ydHAsCgkgIHJ0cF9zb3VyY2Vfc2VuZF9ydHAsIHJ0cF9zb3VyY2VfcHJvY2Vzc19zciwgcnRwX3NvdXJjZV9wcm9jZXNzX3JiKToKCSAgTW9yZSBmb3JtYXQgYXJnIGZpeGluZyAoc3BvdHRlZCBieSBBbGkgU2FiaWwgPGFsaS5zYWJpbEBnbWFpbC5jb20+KS4KCSAgKiBnc3Qvc3dpdGNoL01ha2VmaWxlLmFtOgoJICBBZGQgcmVxdWlyZSBsaWJyYXJpZXMoc3BvdHRlZCBieSBBbGkgU2FiaWwgPGFsaS5zYWJpbEBnbWFpbC5jb20+KS4KCjIwMDctMDUtMTAgMDE6MjE6MTkgKzAwMDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSAgZ3N0L2xldmVsL2dzdGxldmVsLmM6IFJldmVydCBsYXN0IGNoYW5nZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2xldmVsL2dzdGxldmVsLmM6CgkgIFJldmVydCBsYXN0IGNoYW5nZS4KCjIwMDctMDUtMDkgMjE6MzA6NTMgKzAwMDAgIFPDqWJhc3RpZW4gTW91dHRlIDxzZWJhc3RpZW5AbW91dHRlLm5ldD4KCgkgIGdzdC9sZXZlbC9nc3RsZXZlbC5jOiBVc2UgZ3VpbnQ4ICogaW5zdGVhZCBvZiBncG9pbnRlciB0aGVuIHZzNiBrbm93IHRoZSBzaXplIG9mIGRhdGEgcG9pbnRlZCB3aGVuIG1vdmluZyB0aGUgcG9pbnRlci4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2xldmVsL2dzdGxldmVsLmM6IChnc3RfbGV2ZWxfY2FsY3VsYXRlXyMjVFlQRSksCgkgIChnc3RfbGV2ZWxfdHJhbnNmb3JtX2lwKToKCSAgVXNlIGd1aW50OCAqIGluc3RlYWQgb2YgZ3BvaW50ZXIgdGhlbiB2czYga25vdyB0aGUgc2l6ZSBvZiBkYXRhCgkgIHBvaW50ZWQgd2hlbiBtb3ZpbmcgdGhlIHBvaW50ZXIuCgkgICogZ3N0L3J0cC9nc3RydHBoMjY0cGF5LmM6IChnc3RfcnRwX2gyNjRfcGF5X2hhbmRsZV9idWZmZXIpOgoJICBNb3ZlIGluc3RydWN0aW9ucyBhZnRlciB2YXJpYWJsZXMgZGVjbGFyYXRpb24uCgkgICogd2luMzIvdnM2L2F1dG9nZW4uZHNwOgoJICAqIHdpbjMyL3ZzNi9saWJnc3RydHAuZHNwOgoJICAqIHdpbjMyL3ZzNi9saWJnc3RydHNwLmRzcDoKCSAgVXBkYXRlIHZzNiBwcm9qZWN0IGZpbGVzLgoKMjAwNy0wNS0wOSAxMToyMzozOSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHNwLzogQWRkIGNvZGUgdG8gcGFyc2UgdGltZSByYW5nZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHNwL01ha2VmaWxlLmFtOgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogKGdzdF9ydHNwc3JjX2hhbmRsZV9zcmNfcXVlcnkpLAoJICAoZ3N0X3J0c3BzcmNfc2VuZF9rZWVwX2FsaXZlKSwgKGdzdF9ydHNwc3JjX29wZW4pOgoJICAqIGdzdC9ydHNwL3J0c3ByYW5nZS5jOiAocGFyc2VfbnB0X3RpbWUpLCAocGFyc2VfbnB0X3JhbmdlKSwKCSAgKHBhcnNlX2Nsb2NrX3JhbmdlKSwgKHBhcnNlX3NtcHRlX3JhbmdlKSwgKHJ0c3BfcmFuZ2VfcGFyc2UpLAoJICAocnRzcF9yYW5nZV9mcmVlKToKCSAgKiBnc3QvcnRzcC9ydHNwcmFuZ2UuaDoKCSAgQWRkIGNvZGUgdG8gcGFyc2UgdGltZSByYW5nZXMuCgkgIFJlcG9ydCBEVVJBVElPTiBvbiB0aGUgc3RyZWFtIHdoZW4gcG9zc2libGUuCgoyMDA3LTA1LTA4IDE1OjQ5OjAxICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlci5jOiBGaXggc3RyaWRlcyBjYWxjdWxhdGlvbiBmb3IgQVlVViAoaXQncyBqdXN0IHdpZHRoKjQpICgjNDM2OTEwKS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlci5jOiAoZ3N0X3ZpZGVvbWl4ZXJfYmxlbmRfYXl1dl9heXV2KSwKCSAgKGdzdF92aWRlb21peGVyX2ZpbGxfY2hlY2tlciksIChnc3RfdmlkZW9taXhlcl9maWxsX2NvbG9yKSwKCSAgKGdzdF92aWRlb21peGVyX2NvbGxlY3RlZCk6CgkgIEZpeCBzdHJpZGVzIGNhbGN1bGF0aW9uIGZvciBBWVVWIChpdCdzIGp1c3Qgd2lkdGgqNCkgKCM0MzY5MTApLgoKMjAwNy0wNS0wNiAyMTozMjo0MCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2F1ZGlvZngvOiBTeW5jIHRoZSBHT2JqZWN0IHByb3BlcnRpZXMgYmVmb3JlIGVhY2ggcHJvY2Vzc2luZyBzdGVwIHRvIHByb3Blcmx5IHdvcmsgd2l0aCB0aGUgY29udHJvbGxlci4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2F1ZGlvZngvYXVkaW9hbXBsaWZ5LmM6IChnc3RfYXVkaW9fYW1wbGlmeV90cmFuc2Zvcm1faXApOgoJICAqIGdzdC9hdWRpb2Z4L2F1ZGlvZHluYW1pYy5jOiAoZ3N0X2F1ZGlvX2R5bmFtaWNfdHJhbnNmb3JtX2lwKToKCSAgKiBnc3QvYXVkaW9meC9hdWRpb2ludmVydC5jOiAoZ3N0X2F1ZGlvX2ludmVydF90cmFuc2Zvcm1faXApOgoJICBTeW5jIHRoZSBHT2JqZWN0IHByb3BlcnRpZXMgYmVmb3JlIGVhY2ggcHJvY2Vzc2luZyBzdGVwIHRvIHByb3Blcmx5CgkgIHdvcmsgd2l0aCB0aGUgY29udHJvbGxlci4KCjIwMDctMDUtMDQgMTU6MTc6MTQgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IExldCBtb3JlIGVycm9yIHN0YXRlIHRyaWNrbGUgZG93biBzbyB0aGF0IHdlIGNhbiBjYXRjaCBtb3JlIGVycm9yIGNhc2VzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IChnc3RfcnRzcHNyY19zZW5kX2tlZXBfYWxpdmUpLAoJICAoZ3N0X3J0c3BzcmNfbG9vcF91ZHApLCAoZ3N0X3J0c3BzcmNfdHJ5X3NlbmQpLCAoZ3N0X3J0c3BzcmNfc2VuZCksCgkgIChnc3RfcnRzcHNyY19zZXR1cF9zdHJlYW1zKSwgKGdzdF9ydHNwc3JjX29wZW4pLAoJICAoZ3N0X3J0c3BzcmNfY2xvc2UpLCAoZ3N0X3J0c3BzcmNfcGxheSksIChnc3RfcnRzcHNyY19wYXVzZSksCgkgIChnc3RfcnRzcHNyY19jaGFuZ2Vfc3RhdGUpOgoJICBMZXQgbW9yZSBlcnJvciBzdGF0ZSB0cmlja2xlIGRvd24gc28gdGhhdCB3ZSBjYW4gY2F0Y2ggbW9yZSBlcnJvcgoJICBjYXNlcy4KCSAgSGFuZGxlIGtlZXAtYWxpdmUgYSBsaXR0bGUgc21hcnRlciBieSBzZWxlY3RpbmcgYSBtZXRob2QgdGhlIHNlcnZlcgoJICBhY3R1YWxseSBzdXBwb3J0cy4KCSAgRml4IGEgcmFjZSBpbiBVRFAgc3RyZWFtaW5nIHNodXRkb3duLgoKMjAwNy0wNS0wNCAxMzowNDozMSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogSWdub3JlIGVycm9ycyB3aGVuIHRyeWluZyB0byB1c2UgdGhlIGtlZXAtYWxpdmUgbWVzc2FnZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogKGdzdF9ydHNwc3JjX3NlbmRfa2VlcF9hbGl2ZSk6CgkgIElnbm9yZSBlcnJvcnMgd2hlbiB0cnlpbmcgdG8gdXNlIHRoZSBrZWVwLWFsaXZlIG1lc3NhZ2VzLgoKMjAwNy0wNS0wNCAxMjozMTozMiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogU2VuZCBSVENQIG1lc3NhZ2VzIGJhY2sgdG8gdGhlIHNlcnZlciBvdmVyIHRoZSBUQ1AgY29ubmVjdGlvbi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiAoZ3N0X3J0c3BzcmNfaGFuZGxlX3NyY19ldmVudCksCgkgIChnc3RfcnRzcHNyY19oYW5kbGVfc3JjX3F1ZXJ5KSwgKGdzdF9ydHNwc3JjX3NpbmtfY2hhaW4pLAoJICAoZ3N0X3J0c3BzcmNfc3RyZWFtX2NvbmZpZ3VyZV9tYW5hZ2VyKSwKCSAgKGdzdF9ydHNwc3JjX3N0cmVhbV9mcmVlX3VkcCksIChnc3RfcnRzcHNyY19zdHJlYW1fY29uZmlndXJlX3RjcCksCgkgIChnc3RfcnRzcHNyY19zdHJlYW1fY29uZmlndXJlX21jYXN0KSwKCSAgKGdzdF9ydHNwc3JjX3N0cmVhbV9jb25maWd1cmVfdWRwKSwKCSAgKGdzdF9ydHNwc3JjX3N0cmVhbV9jb25maWd1cmVfdWRwX3NpbmspLAoJICAoZ3N0X3J0c3BzcmNfc3RyZWFtX2NvbmZpZ3VyZV90cmFuc3BvcnQpOgoJICBTZW5kIFJUQ1AgbWVzc2FnZXMgYmFjayB0byB0aGUgc2VydmVyIG92ZXIgdGhlIFRDUCBjb25uZWN0aW9uLgoJICAqIGdzdC9ydHNwL3J0c3Bjb25uZWN0aW9uLmM6IChydHNwX2Nvbm5lY3Rpb25fd3JpdGUpLAoJICAocnRzcF9jb25uZWN0aW9uX3NlbmQpLCAocnRzcF9jb25uZWN0aW9uX3JlYWQpLCAocmVhZF9ib2R5KSwKCSAgKHJ0c3BfY29ubmVjdGlvbl9yZWNlaXZlKToKCSAgKiBnc3QvcnRzcC9ydHNwY29ubmVjdGlvbi5oOgoJICBGYWN0b3Igb3V0IGFuZCBleHBvc2UgbG93bGV2ZWwgX3dyaXRlIGFuZCBfcmVhZCBtZXRob2RzLgoJICBJbXBsZW1lbnQgc2VuZGluZyBkYXRhIG1lc3NhZ2VzIHRvIHRoZSBzZXJ2ZXIuCgoyMDA3LTA1LTAzIDE1OjU1OjA2ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L211bHRpcGFydC9tdWx0aXBhcnRtdXguYzogRml4IHRpbWVzdGFtcHMgb24gb3V0Z29pbmcgYnVmZmVycy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L211bHRpcGFydC9tdWx0aXBhcnRtdXguYzogKGdzdF9tdWx0aXBhcnRfbXV4X3F1ZXVlX3BhZHMpLAoJICAoZ3N0X211bHRpcGFydF9tdXhfY29sbGVjdGVkKToKCSAgRml4IHRpbWVzdGFtcHMgb24gb3V0Z29pbmcgYnVmZmVycy4KCjIwMDctMDUtMDMgMTQ6Mzk6MDkgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvbXVsdGlwYXJ0L211bHRpcGFydG11eC5jOiBFbWl0IE5FV1NFR01FTlQgZXZlbnRzIGJlZm9yZSBwdXNoaW5nIHRoZSBmaXJzdCBidWZmZXIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tdWx0aXBhcnQvbXVsdGlwYXJ0bXV4LmM6CgkgIChnc3RfbXVsdGlwYXJ0X211eF9yZXF1ZXN0X25ld19wYWQpLCAoZ3N0X211bHRpcGFydF9tdXhfY29sbGVjdGVkKSwKCSAgKGdzdF9tdWx0aXBhcnRfbXV4X2NoYW5nZV9zdGF0ZSk6CgkgIEVtaXQgTkVXU0VHTUVOVCBldmVudHMgYmVmb3JlIHB1c2hpbmcgdGhlIGZpcnN0IGJ1ZmZlci4KCjIwMDctMDUtMDMgMTM6NDg6NTQgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IFJlZmFjdG9yIHRyYW5zcG9ydCBjb25maWd1cmF0aW9uIGNvZGUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogKGdzdF9ydHNwc3JjX2ZpbmFsaXplKSwKCSAgKGdzdF9ydHNwc3JjX2FsbG9jX3VkcF9wb3J0cyksIChnc3RfcnRzcHNyY19oYW5kbGVfc3JjX2V2ZW50KSwKCSAgKGdzdF9ydHNwc3JjX2hhbmRsZV9zcmNfcXVlcnkpLAoJICAoZ3N0X3J0c3BzcmNfc3RyZWFtX2NvbmZpZ3VyZV9tYW5hZ2VyKSwKCSAgKGdzdF9ydHNwc3JjX3N0cmVhbV9mcmVlX3VkcCksIChnc3RfcnRzcHNyY19zdHJlYW1fY29uZmlndXJlX3RjcCksCgkgIChnc3RfcnRzcHNyY19zdHJlYW1fY29uZmlndXJlX21jYXN0KSwKCSAgKGdzdF9ydHNwc3JjX3N0cmVhbV9jb25maWd1cmVfdWRwKSwKCSAgKGdzdF9ydHNwc3JjX3N0cmVhbV9jb25maWd1cmVfdWRwX3NpbmspLAoJICAoZ3N0X3J0c3BzcmNfc3RyZWFtX2NvbmZpZ3VyZV90cmFuc3BvcnQpLCAoZ3N0X3J0c3BzcmNfcHVzaF9ldmVudCksCgkgIChnc3RfcnRzcHNyY19sb29wX3VkcCksIChnc3RfcnRzcHNyY19vcGVuKSwKCSAgKGdzdF9ydHNwc3JjX3BhcnNlX3J0cGluZm8pLCAoZ3N0X3J0c3BzcmNfcGxheSksCgkgIChnc3RfcnRzcHNyY19wYXVzZSk6CgkgIFJlZmFjdG9yIHRyYW5zcG9ydCBjb25maWd1cmF0aW9uIGNvZGUuCgkgIENyZWF0ZSBpbnRlcm5hbCBwYWRzIGZvciBUQ1AgdHJhbnNwb3J0IHNvIHRoYXQgd2UgY2FuIGltcGxlbWVudCBldmVudHMKCSAgYW5kIHF1ZXJpZXMuCgkgIEhhbmRsZSBldmVudHMgYW5kIHF1ZXJpZXMuCgkgIFBhcnNlIHJhbmdlIGZyb20gdGhlIFNEUC4KCSAgRml4IHJhY2UgaW4gcGF1c2UgaGFuZGxlciB3aGVyZSB0aGUgY29ubmVjdGlvbiBjb3VsZCBzdGlsbCBiZSBmbHVzaGluZy4KCjIwMDctMDUtMDIgMTk6MzI6NTggKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRzcC9nc3RydHNwc3JjLio6IEZpeCByYWNlIHdoZW4gbXVsdGlwbGUgdWRwIHNvdXJjZXMgcG9zdCB0aW1lb3V0cywganVzdCBhY3Qgb24gdGhlIGZpcnN0IHJlY2VpdmVkIHRpbWVvdXQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogKGdzdF9ydHNwc3JjX2luaXQpLAoJICAoZ3N0X3J0c3BzcmNfZmluYWxpemUpLCAobmV3X3Nlc3Npb25fcGFkKSwgKHJlcXVlc3RfcHRfbWFwKSwKCSAgKGdzdF9ydHNwc3JjX2xvb3Bfc2VuZF9jbWQpLCAoZ3N0X3J0c3BzcmNfdHJ5X3NlbmQpLAoJICAoZ3N0X3J0c3BzcmNfc2VuZCksIChnc3RfcnRzcHNyY19hc3luY19vcGVuKSwgKGdzdF9ydHNwc3JjX2Nsb3NlKSwKCSAgKGdzdF9ydHNwc3JjX3BsYXkpLCAoZ3N0X3J0c3BzcmNfaGFuZGxlX21lc3NhZ2UpLAoJICAoZ3N0X3J0c3BzcmNfY2hhbmdlX3N0YXRlKToKCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmg6CgkgIEZpeCByYWNlIHdoZW4gbXVsdGlwbGUgdWRwIHNvdXJjZXMgcG9zdCB0aW1lb3V0cywganVzdCBhY3Qgb24gdGhlIGZpcnN0CgkgIHJlY2VpdmVkIHRpbWVvdXQuCgkgIFByb3RlY3Qgc3RyZWFtIGxpc3Qgd2l0aCBhIHJlY3Vyc2l2ZSBsb2NrIHRvIGZpeCBzb21lIHJhY2VzLgoJICBGbHVzaCBjb25uZWN0aW9uIHdoZW4gd2UgbmVlZCB0byBkbyBhIHJlY29ubmVjdCBvciBzdG9wLgoJICBNYWtlIHN0YXRlIGxvY2sgcmVjdXJzaXZlLgoJICAqIGdzdC9ydHNwL3J0c3Bjb25uZWN0aW9uLmM6IChydHNwX2Nvbm5lY3Rpb25fY29ubmVjdCksCgkgIChydHNwX2Nvbm5lY3Rpb25fY2xvc2UpOgoJICBTb21lIHNtYWxsIGNsZWFudXBzLgoKMjAwNy0wNS0wMiAxODozMToxNiArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZXh0L3dhdnBhY2svZ3N0d2F2cGFjay5jOiBDYWxsIGJpbmR0ZXh0ZG9tYWluKCkgdG8gZ2V0IGxvY2FsaXplZCBzdHJpbmdzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrLmM6IChwbHVnaW5faW5pdCk6CgkgIENhbGwgYmluZHRleHRkb21haW4oKSB0byBnZXQgbG9jYWxpemVkIHN0cmluZ3MuCgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2RlYy5jOiAoZ3N0X3dhdnBhY2tfZGVjX2NoYWluKToKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrcGFyc2UuYzogKGdzdF93YXZwYWNrX3BhcnNlX3Jlc2V0KSwKCSAgKGdzdF93YXZwYWNrX3BhcnNlX2hhbmRsZV9zZWVrX2V2ZW50KSwKCSAgKGdzdF93YXZwYWNrX3BhcnNlX3B1c2hfYnVmZmVyKSwgKGdzdF93YXZwYWNrX3BhcnNlX2NoYWluKToKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrcGFyc2UuaDoKCSAgSGFuZGxlIERJU0NPTlQgYnVmZmVycyBieSBjb3JyZWN0bHkgc2V0dGluZyB0aGUgRElTQ09OVCBmbGFnCgkgIG9uIG91dGdvaW5nIGJ1ZmZlcnMgd2hlbiBuZWNlc3NhcnkuCgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja3BhcnNlLmM6IChnc3Rfd2F2cGFja19wYXJzZV9oYW5kbGVfc2Vla19ldmVudCkKCSAgU2VuZCBuZXdzZWdtZW50IGZyb20gdGhlIHN0cmVhbWluZyB0aHJlYWQuCgoyMDA3LTA1LTAyIDE4OjI1OjA5ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6IE9ubHkgc2V0IERJU0NPTlQgd2hlbiB0aGVyZSBhY3R1YWxseSBpcyBhIGRpc2NvbnQgb3Igd2hlbiB3ZSBqdXN0IHN0YXJ0ZWQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOiAoZ3N0X3dhdnBhcnNlX3BlcmZvcm1fc2VlayksCgkgIChnc3Rfd2F2cGFyc2Vfc3RyZWFtX2hlYWRlcnMpLCAoZ3N0X3dhdnBhcnNlX3N0cmVhbV9kYXRhKToKCSAgT25seSBzZXQgRElTQ09OVCB3aGVuIHRoZXJlIGFjdHVhbGx5IGlzIGEgZGlzY29udCBvciB3aGVuIHdlIGp1c3QKCSAgc3RhcnRlZC4KCjIwMDctMDUtMDIgMTg6MDE6NTIgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGV4dC9mbGFjL2dzdGZsYWMuYzogQ2FsbCBiaW5kdGV4dGRvbWFpbigpIHRvIGdldCBsb2NhbGl6ZWQgc3RyaW5ncy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2ZsYWMvZ3N0ZmxhYy5jOiAocGx1Z2luX2luaXQpOgoJICBDYWxsIGJpbmR0ZXh0ZG9tYWluKCkgdG8gZ2V0IGxvY2FsaXplZCBzdHJpbmdzLgoKMjAwNy0wNS0wMiAxNzoxOTozNiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS4qOiBCZSBhIGJpdCBtb3JlIGNsZXZlciB3aGVuIGRlYWxpbmcgd2l0aCBWQlIgZmlsZXMgd2l0aCBGQUNUIHRhZ3MsIHdlIGRvbid0IHdhbnQgdG8gdGltZXN0YS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzogKGdzdF93YXZwYXJzZV9wZXJmb3JtX3NlZWspLAoJICAoZ3N0X3dhdnBhcnNlX3N0cmVhbV9oZWFkZXJzKSwgKGdzdF93YXZwYXJzZV9hZGRfc3JjX3BhZCksCgkgIChnc3Rfd2F2cGFyc2Vfc3RyZWFtX2RhdGEpOgoJICAqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5oOgoJICBCZSBhIGJpdCBtb3JlIGNsZXZlciB3aGVuIGRlYWxpbmcgd2l0aCBWQlIgZmlsZXMgd2l0aCBGQUNUIHRhZ3MsIHdlCgkgIGRvbid0IHdhbnQgdG8gdGltZXN0YW1wIGJ1ZmZlcnMgaW4gdGhhdCBjYXNlIGJ1dCB0aGUgZXN0aW1hdGVkIEJQUyBjYW4KCSAgYmUgdXNlZCBmb3Igc2Vla2luZy4KCSAgT25seSBzZW5kIGNsb3NlIHNlZ21lbnQgaW4gdGhlIHN0cmVhbWluZyB0aHJlYWQuCgoyMDA3LTA1LTAyIDE3OjA4OjA5ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBleHQvZmxhYy9nc3RmbGFjZGVjLmM6IENvcnJlY3RseSBwb3N0IGFuIGVycm9yIG9uIHRoZSBidXMgaWYgc29tZXRoaW5nIHdlbnQgd3JvbmcgaW4gdGhlIGxvb3AgZnVuY3Rpb24uIFRoaXMgZml4ZXMgYSAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5jOiAoZ3N0X2ZsYWNfZGVjX2xvb3ApOgoJICBDb3JyZWN0bHkgcG9zdCBhbiBlcnJvciBvbiB0aGUgYnVzIGlmIHNvbWV0aGluZyB3ZW50IHdyb25nIGluIHRoZSBsb29wCgkgIGZ1bmN0aW9uLiBUaGlzIGZpeGVzIGEgZmV3IGNhc2VzIHdoZXJlIHRoZSB0YXNrIHdhcyBwYXVzZWQgYW5kIG5vdGhpbmcKCSAgaGFwcGVuZWQgYW55bW9yZS4KCjIwMDctMDUtMDIgMTY6NTg6MDYgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGV4dC93YXZwYWNrL2dzdHdhdnBhY2twYXJzZS5jOiBSZW1vdmUgb2xkIHdvcmthcm91bmQgdGhhdCB3YXMgbmVlZGVkIHdoZW4gc2Vla2luZyBhZnRlciB0aGUgbGFzdCBzYW1wbGUuIFdpdGggdGhlIGZpeC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrcGFyc2UuYzoKCSAgKGdzdF93YXZwYWNrX3BhcnNlX2hhbmRsZV9zZWVrX2V2ZW50KToKCSAgUmVtb3ZlIG9sZCB3b3JrYXJvdW5kIHRoYXQgd2FzIG5lZWRlZCB3aGVuIHNlZWtpbmcgYWZ0ZXIgdGhlIGxhc3QKCSAgc2FtcGxlLiBXaXRoIHRoZSBmaXhlZCBlcnJvciBoYW5kbGluZyB0aGlzIHdvcmtzIG5vdyBhcyBleHBlY3RlZAoJICB3aXRob3V0IHB1c2hpbmcgdGhlIGxhc3Qgc2FtcGxlIGFsdGhvdWdoIGl0IHdhc24ndCByZXF1ZXN0ZWQuCgoyMDA3LTA1LTAyIDE2OjQ1OjQzICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBleHQvd2F2cGFjay9nc3R3YXZwYWNrcGFyc2UuYzogSGFuZGxlIHNlZ21lbnQgc2Vla3MgaW4gdGhlIHNlZWsgZXZlbnQgaGFuZGxlciwgY29ycmVjdGx5IHdvcmsgd2l0aCBzdG9wIHBvc2l0aW9uID09IC0uLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja3BhcnNlLmM6CgkgIChnc3Rfd2F2cGFja19wYXJzZV9oYW5kbGVfc2Vla19ldmVudCk6CgkgIEhhbmRsZSBzZWdtZW50IHNlZWtzIGluIHRoZSBzZWVrIGV2ZW50IGhhbmRsZXIsIGNvcnJlY3RseSB3b3JrIHdpdGgKCSAgc3RvcCBwb3NpdGlvbiA9PSAtMSBhbmQgaW5zdGVhZCBvZiBzdG9wcGluZyB0aGUgdGFzayBvbiBzZWVrIGp1c3QKCSAgcGF1c2UgaXQuCgoyMDA3LTA1LTAyIDE2OjE5OjU4ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBleHQvd2F2cGFjay9nc3R3YXZwYWNrcGFyc2UuYzogQWRkIGhhbmRsaW5nIGZvciBzZWdtZW50IHNlZWtzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrcGFyc2UuYzogKGdzdF93YXZwYWNrX3BhcnNlX2xvb3ApOgoJICBBZGQgaGFuZGxpbmcgZm9yIHNlZ21lbnQgc2Vla3MuCgoyMDA3LTA1LTAyIDE1OjEzOjA0ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBleHQvd2F2cGFjay9nc3R3YXZwYWNrcGFyc2UuYzogQ29ycmVjdGx5IGhhbmRsZSBlcnJvcnMsIGVzcGVjaWFsbHkgaW4gdGhlIGxvb3AgZnVuY3Rpb24uIEJlZm9yZSBpdCB3YXMgZWFzeSB0byBnZXQgdGguLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja3BhcnNlLmM6IChnc3Rfd2F2cGFja19wYXJzZV9wdWxsX2J1ZmZlciksCgkgIChnc3Rfd2F2cGFja19wYXJzZV9jcmVhdGVfc3JjX3BhZCksCgkgIChnc3Rfd2F2cGFja19wYXJzZV9yZXN5bmNfbG9vcCksIChnc3Rfd2F2cGFja19wYXJzZV9sb29wKSwKCSAgKGdzdF93YXZwYWNrX3BhcnNlX2NoYWluKToKCSAgQ29ycmVjdGx5IGhhbmRsZSBlcnJvcnMsIGVzcGVjaWFsbHkgaW4gdGhlIGxvb3AgZnVuY3Rpb24uIEJlZm9yZSBpdAoJICB3YXMgZWFzeSB0byBnZXQgdGhlIHRhc2sgcGF1c2VkIGJ1dCBubyBlcnJvciBiZWluZyBwb3N0ZWQgb24gdGhlIGJ1cy4KCjIwMDctMDUtMDIgMTQ6Mjc6MjggKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRzcC90ZXN0LmM6IEZpeCBjb21waWxhdGlvbiBvZiBkZXByZWNhdGVkIHRlc3QganVzdCBiZWNhdXNlIEknbSB0b28gbGF6eSB0byBkZWxldGUgaXQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHNwL3Rlc3QuYzogKG1haW4pOgoJICBGaXggY29tcGlsYXRpb24gb2YgZGVwcmVjYXRlZCB0ZXN0IGp1c3QgYmVjYXVzZSBJJ20gdG9vIGxhenkgdG8gZGVsZXRlCgkgIGl0LgoKMjAwNy0wNS0wMiAxMzozMjo1NyArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHNwL2dzdHJ0c3BzcmMuKjogRml4IHNlbmRpbmcgUlRDUCB0byB0aGUgcmlnaHQgcGxhY2UuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogKGdzdF9ydHNwc3JjX2luaXQpLAoJICAoZ3N0X3J0c3BzcmNfZmluYWxpemUpLCAoZ3N0X3J0c3BzcmNfc3RyZWFtX2NvbmZpZ3VyZV90cmFuc3BvcnQpLAoJICAoZ3N0X3J0c3BzcmNfaGFuZGxlX3JlcXVlc3QpLCAoZ3N0X3J0c3BzcmNfbG9vcF9pbnRlcmxlYXZlZCksCgkgIChnc3RfcnRzcHNyY19zZW5kX2tlZXBfYWxpdmUpLCAoZ3N0X3J0c3BzcmNfbG9vcF91ZHApLAoJICAoZ3N0X3J0c3BzcmNfbG9vcF9zZW5kX2NtZCksIChnc3RfcnRzcHNyY190cnlfc2VuZCksCgkgIChnc3RfcnRzcHNyY19vcGVuKSwgKGdzdF9ydHNwc3JjX2hhbmRsZV9tZXNzYWdlKToKCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmg6CgkgIEZpeCBzZW5kaW5nIFJUQ1AgdG8gdGhlIHJpZ2h0IHBsYWNlLgoJICBGaXggYnVnIGluIHJlZmZpbmcgdGhlIHdyb25nIFVEUCBlbGVtZW50LgoJICBVc2UgbmV3IHBhZCBuYW1lcyBmb3IgdGhlIHNlc3Npb24gbWFuYWdlci4KCSAgSW1wbGVtZW50IGhhbmRsaW5nIHNlcnZlciByZXF1ZXN0cyBpbiBpbnRlcmxlYXZlZCBhbmQgVURQIG1vZGVzLgoJICBIYW5kbGUgc2Vzc2lvbiBrZWVwLWFsaXZlIGluIFVEUCBtb2Rlcy4KCSAgUmVtb3ZlIEdDb25kIGZvciBoYW5kbGluZyBVRFAgdGltZW91dHMuCgkgICogZ3N0L3J0c3AvcnRzcGNvbm5lY3Rpb24uYzogKHJ0c3BfY29ubmVjdGlvbl9jb25uZWN0KSwKCSAgKHJ0c3BfY29ubmVjdGlvbl9zZW5kKSwgKHJ0c3BfY29ubmVjdGlvbl9yZWFkKSwgKHJlYWRfYm9keSksCgkgIChydHNwX2Nvbm5lY3Rpb25fcmVjZWl2ZSksIChydHNwX2Nvbm5lY3Rpb25fY2xvc2UpOgoJICAqIGdzdC9ydHNwL3J0c3Bjb25uZWN0aW9uLmg6CgkgIFN0b3JlIGNvbm5lY3Rpb24gSVAgYWRkcmVzcyBmb3IgbGF0ZXIuCgkgIEFkZCB0aW1lb3V0IGFyZ3MgdG8gYWxsIG9wZXJhdGlvbnMgdGhhdCBtaWdodCBibG9jayBmb3JldmVyLgoJICBQYXJzZSBzZXNzaW9uIHRpbWVvdXQuCgkgIE9ubHkgY2xvc2Ugc29ja2V0cyB3aGVuIG5vdCBhbHJlYWR5IGNsb3NlZC4KCSAgKiBnc3QvcnRzcC9ydHNwZGVmcy5jOgoJICAqIGdzdC9ydHNwL3J0c3BkZWZzLmg6CgkgIEFkZCB0aW1lb3V0IHJldHVybiB2YWx1ZSBhbmQgZXJyb3Igc3RyaW5nLgoJICAqIGdzdC9ydHNwL3J0c3BtZXNzYWdlLmM6IChydHNwX21lc3NhZ2VfaW5pdF9yZXNwb25zZSk6CgkgIEFkZCBzbWFsbCBjb21tZW50LgoKMjAwNy0wNS0wMSAxNjoxMzo1OCArMDAwMCAgU2pvZXJkIFNpbW9ucyA8c2pvZXJkQGx1b24ubmV0PgoKCSAgZ3N0L3J0cC9nc3RydHBtcDR2cGF5Lio6IEhhbmRsZSBORVdTRUdNRU5UIGFuZCBGTFVTSCBldmVudHMuIEZpeGVzICM0MzQ4MjQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogU2pvZXJkIFNpbW9ucyA8c2pvZXJkIGF0IGx1b24gZG90IG5ldD4KCSAgKiBnc3QvcnRwL2dzdHJ0cG1wNHZwYXkuYzogKGdzdF9ydHBfbXA0dl9wYXlfaW5pdCksCgkgIChnc3RfcnRwX21wNHZfcGF5X2VtcHR5KSwgKGdzdF9ydHBfbXA0dl9wYXlfZXZlbnQpOgoJICAqIGdzdC9ydHAvZ3N0cnRwbXA0dnBheS5oOgoJICBIYW5kbGUgTkVXU0VHTUVOVCBhbmQgRkxVU0ggZXZlbnRzLiBGaXhlcyAjNDM0ODI0LgoKMjAwNy0wNC0zMCAxMToxNTo1OCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtZG9jcy5zZ21sOiBSZW1vdmUgdjRsMnNyYyBmcm9tIGRvY3MsIHNpbmNlIGl0IGJyZWFrcyB0aGUgZG9jcyBidWlsZCwgYW5kIHRoZSBwbC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSAgUmVtb3ZlIHY0bDJzcmMgZnJvbSBkb2NzLCBzaW5jZSBpdCBicmVha3MgdGhlIGRvY3MgYnVpbGQsIGFuZCB0aGUKCSAgcGx1Z2luIGlzIG9ubHkgYnVpbHQgaWYgLS1lbmFibGUtZXhwZXJpbWVudGFsIGlzIHVzZWQgYW55d2F5LgoJICAqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSAgU3BhY2VzID0+IHRhYi4KCjIwMDctMDQtMjkgMTQ6NDM6MzcgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvdWRwL2dzdG11bHRpdWRwc2luay5jOiBBZGQgY29kZSB0byBkcm9wIG1lbWJlcnNoaXAgb2YgYSBtdWx0aWNhc3QgZ3JvdXAuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC91ZHAvZ3N0bXVsdGl1ZHBzaW5rLmM6IChsZWF2ZV9tdWx0aWNhc3QpLAoJICAoZ3N0X211bHRpdWRwc2lua19hZGQpLCAoZ3N0X211bHRpdWRwc2lua19yZW1vdmUpOgoJICBBZGQgY29kZSB0byBkcm9wIG1lbWJlcnNoaXAgb2YgYSBtdWx0aWNhc3QgZ3JvdXAuCgkgICogZ3N0L3VkcC9nc3R1ZHBzaW5rLmM6IChnc3RfdWRwc2lua191cGRhdGVfdXJpKSwKCSAgKGdzdF91ZHBzaW5rX3NldF91cmkpOgoJICBJbXBsZW1lbnQgVVJJIGhhbmRsZXIuCgkgICogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiAoZ3N0X3J0c3BzcmNfc3RyZWFtX2NvbmZpZ3VyZV90cmFuc3BvcnQpLAoJICAoZ3N0X3J0c3BzcmNfcGFyc2VfcnRwaW5mbyk6CgkgIFVzZSBVUkkgaGFuZGxlciB0byBtYWtlIHVkcHNpbmsgaW5zdGFjZS4KCSAgSW1wcm92ZSBjb2RlIHRvIGNvbmZpZ3VyZSBwb3J0IGFuZCBkZXN0aW5hdGlvbi4KCjIwMDctMDQtMjkgMTM6NTY6MTggKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuYzoKCSogc3lzL29zeHZpZGVvL29zeHZpZGVvc2luay5tOgoJICA4MCBjaGFyIHBvbGljZQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgODAgY2hhciBwb2xpY2UKCjIwMDctMDQtMjkgMTM6NTM6MTYgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSAgYXV0b2dlbi5zaDogUmVxdWlyZSBhdXRvbWFrZSAxLjcKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogYXV0b2dlbi5zaDoKCSAgUmVxdWlyZSBhdXRvbWFrZSAxLjcKCSAgKiBleHQvYWxzYXNwZGlmL01ha2VmaWxlLmFtOgoJICAqIGV4dC9kaXZ4L01ha2VmaWxlLmFtOgoJICAqIGV4dC9pdm9yYmlzL01ha2VmaWxlLmFtOgoJICAqIGV4dC9tdXNpY2JyYWluei9NYWtlZmlsZS5hbToKCSAgKiBleHQvbmVvbi9NYWtlZmlsZS5hbToKCSAgKiBleHQvc2RsL01ha2VmaWxlLmFtOgoJICAqIGV4dC9zd2ZkZWMvTWFrZWZpbGUuYW06CgkgICogZXh0L3RoZW9yYS9NYWtlZmlsZS5hbToKCSAgKiBleHQvd2F2cGFjay9NYWtlZmlsZS5hbToKCSAgKiBleHQveHZpZC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvbW9kcGx1Zy9NYWtlZmlsZS5hbToKCSAgRml4IHVwIE1ha2VmaWxlLmFtIGFjY29yZGluZ2x5LgoKMjAwNy0wNC0yOSAxMzo0OTowMiArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJICBkb2NzL3BsdWdpbnMvaW5zcGVjdC86IEFkZCBqYWNrIGFuZCB1cGRhdGUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHNhc3BkaWYueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iejIueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZHhhcGFyc2UueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZmJ2aWRlb3NpbmsueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFjLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhZC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZpbHRlci54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZyZWV6ZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdsaW1hZ2VzaW5rLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3NtLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taDI2NHBhcnNlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tamFjay54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1tcy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1vZHBsdWcueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdXNlcGFjay54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11c2ljYnJhaW56LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmVvbi54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5zZmRlYy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlcGxheWdhaW4ueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZGwueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VuZHRvdWNoLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlY3RydW0ueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVlZC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXR0YS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvY3JvcC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhY2sueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14aW5naGVhZGVyLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teHZpZC54bWw6CgkgIEFkZCBqYWNrIGFuZCB1cGRhdGUuCgoyMDA3LTA0LTI5IDEyOjE5OjIxICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuYzogRml4IG11bHRpY2FzdCBkZXRlY3Rpb24uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC91ZHAvZ3N0bXVsdGl1ZHBzaW5rLmM6IChnc3RfbXVsdGl1ZHBzaW5rX2FkZCk6CgkgIEZpeCBtdWx0aWNhc3QgZGV0ZWN0aW9uLgoJICBEb24ndCB0cnkgdG8gam9pbiBhIG11bHRpY2FzdCBncm91cCBpZiB0aGUgYWRkcmVzcyBpcyBub3QgbXVsdGljYXN0LgoJICAqIGdzdC91ZHAvZ3N0dWRwc3JjLmM6IChnc3RfdWRwc3JjX3VwZGF0ZV91cmkpOgoJICBTbWFsbCBkZWJ1ZyBpbXByb3ZlbWVudC4KCjIwMDctMDQtMjcgMTY6NDQ6MTcgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IElnbm9yZSBBU1lOQyBzdGF0ZSBtZXNzYWdlcyBmcm9tIHRoZSB1ZHBzaW5rLCBpdCdzIGlycmVsZXZhbnQgZm9yIHRoZSBwYXJlbnQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogKGdzdF9ydHNwc3JjX3N0cmVhbV9jb25maWd1cmVfdHJhbnNwb3J0KSwKCSAgKGdzdF9ydHNwc3JjX3BhcnNlX3J0cGluZm8pLCAoZ3N0X3J0c3BzcmNfcGxheSksCgkgIChnc3RfcnRzcHNyY19oYW5kbGVfbWVzc2FnZSk6CgkgIElnbm9yZSBBU1lOQyBzdGF0ZSBtZXNzYWdlcyBmcm9tIHRoZSB1ZHBzaW5rLCBpdCdzIGlycmVsZXZhbnQgZm9yIHRoZQoJICBwYXJlbnQuCgoyMDA3LTA0LTI3IDE1OjMwOjM5ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cC9nc3RydHBpbGJjZGVwYXkuaDogRml4IG1vZGUgcHJvcGVydHkgd2hlbiBzcGVjaWZpZWQgYXMgYW4gYXJnLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwL2dzdHJ0cGlsYmNkZXBheS5oOgoJICBGaXggbW9kZSBwcm9wZXJ0eSB3aGVuIHNwZWNpZmllZCBhcyBhbiBhcmcuCgoyMDA3LTA0LTI2IDE1OjA4OjIwICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgZG9jcy9wbHVnaW5zLzogQWRkIGRvY3VtZW50YXRpb24gZm9yIG9zeGF1ZGlvIHBsdWdpbi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1kb2NzLnNnbWw6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5oaWVyYXJjaHk6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zeGF1ZGlvLnhtbDoKCSAgQWRkIGRvY3VtZW50YXRpb24gZm9yIG9zeGF1ZGlvIHBsdWdpbi4KCjIwMDctMDQtMjYgMTQ6MzE6MzIgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBkb2NzL3BsdWdpbnMvOiBBZGQgZG9jdW1lbnRhdGlvbiBmb3Igb3N4dmlkZW8KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5oaWVyYXJjaHk6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zeHZpZGVvLnhtbDoKCSAgQWRkIGRvY3VtZW50YXRpb24gZm9yIG9zeHZpZGVvCgoyMDA3LTA0LTI2IDEwOjA4OjI3ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0c3AvZ3N0cnRzcHNyYy4qOiBQcm90ZWN0IHN0YXRlIGNoYW5nZXMgd2l0aCBhIGxvY2suCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogKGdzdF9ydHNwc3JjX2luaXQpLAoJICAoZ3N0X3J0c3BzcmNfZmluYWxpemUpLCAoZ3N0X3J0c3BzcmNfc3RyZWFtX2NvbmZpZ3VyZV90cmFuc3BvcnQpLAoJICAoZ3N0X3J0c3BzcmNfb3BlbiksIChnc3RfcnRzcHNyY19jbG9zZSksCgkgIChnc3RfcnRzcHNyY19wYXJzZV9ydHBpbmZvKSwgKGdzdF9ydHNwc3JjX3BsYXkpLAoJICAoZ3N0X3J0c3BzcmNfcGF1c2UpOgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuaDoKCSAgUHJvdGVjdCBzdGF0ZSBjaGFuZ2VzIHdpdGggYSBsb2NrLgoJICAqIGdzdC9ydHNwL3J0c3Bjb25uZWN0aW9uLmM6IChydHNwX2Nvbm5lY3Rpb25fY3JlYXRlKSwKCSAgKHBhcnNlX2xpbmUpOgoJICAqIGdzdC9ydHNwL3J0c3Bjb25uZWN0aW9uLmg6CgkgIFJlbW92ZSBzb21lIHVudXNlZCBzdHVmZi4KCjIwMDctMDQtMjYgMDg6NDg6MzAgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvdWRwL2dzdHVkcHNyYy5jOiBIYW5kbGUgdGhlIGNhc2Ugd2hlcmUgdGhlcmUgYXJlIGV4YWN0bHkgMCBieXRlcyB0byByZWFkIGFuZCB0aGUgaW9jdGwgZGlkIG5vdCByZXBvcnQgYW4gZXJyb3IuIEYuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3VkcC9nc3R1ZHBzcmMuYzogKGdzdF91ZHBzcmNfY3JlYXRlKToKCSAgSGFuZGxlIHRoZSBjYXNlIHdoZXJlIHRoZXJlIGFyZSBleGFjdGx5IDAgYnl0ZXMgdG8gcmVhZCBhbmQgdGhlIGlvY3RsCgkgIGRpZCBub3QgcmVwb3J0IGFuIGVycm9yLiBGaXhlcyAjNDMzNTMwLgoKMjAwNy0wNC0yNiAwODozOTo0OSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS4qOiBBcHBseSBESVNDT05UIHRvIGJ1ZmZlcnMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOiAoZ3N0X3dhdnBhcnNlX3BlcmZvcm1fc2VlayksCgkgIChnc3Rfd2F2cGFyc2Vfc3RyZWFtX2hlYWRlcnMpLCAoZ3N0X3dhdnBhcnNlX3N0cmVhbV9kYXRhKToKCSAgKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuaDoKCSAgQXBwbHkgRElTQ09OVCB0byBidWZmZXJzLgoJICBPbmx5IGFwcGx5IHRpbWVzdGFtcCB0byB0aGUgZmlyc3Qgc2FtcGxlIGFmdGVyIGEgRElTQ09OVCwgdG9vIG1hbnkgVkJSCgkgIGZpbGVzIGNhdXNlIHJhbmRvbSBqaXR0ZXIgaW4gdGhlIHRpbWVzdGFtcHMuIEZpeGVzICM0MzMxMTkuCgoyMDA3LTA0LTI1IDE1OjU1OjMyICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0c3AvZ3N0cnRwZGVjLio6IEFkZCBkdW1teSBsYXRlbmN5IHByb3BlcnR5IHRvIGJlIGJhY2t3YXJkcyBjb21wYXQgd2l0aCBydHBiaW4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHNwL2dzdHJ0cGRlYy5jOiAoZ3N0X3J0cF9kZWNfY2xhc3NfaW5pdCksCgkgIChnc3RfcnRwX2RlY19pbml0KSwgKGdzdF9ydHBfZGVjX3NldF9wcm9wZXJ0eSksCgkgIChnc3RfcnRwX2RlY19nZXRfcHJvcGVydHkpOgoJICAqIGdzdC9ydHNwL2dzdHJ0cGRlYy5oOgoJICBBZGQgZHVtbXkgbGF0ZW5jeSBwcm9wZXJ0eSB0byBiZSBiYWNrd2FyZHMgY29tcGF0IHdpdGggcnRwYmluLgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogKGdzdF9ydHNwc3JjX2NsYXNzX2luaXQpLAoJICAoZ3N0X3J0c3BzcmNfc2V0X3Byb3BlcnR5KSwgKGdzdF9ydHNwc3JjX2dldF9wcm9wZXJ0eSksCgkgIChnc3RfcnRzcHNyY19zdHJlYW1fY29uZmlndXJlX3RyYW5zcG9ydCksCgkgIChnc3RfcnRzcHNyY19wYXJzZV9ydHBpbmZvKToKCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmg6CgkgIEFkZCBsYXRlbmN5IHByb3BlcnR5IGFuZCBjb25maWd1cmUgaW4gdGhlIHNlc3Npb24gbWFuYWdlci4KCSAgRG9uJ3Qgc2V0IGludmFsaWQgY2xvY2stYmFzZSBhbmQgc2VxbnVtLWJhc2Ugb24gY2Fwcywgc29tZSBzZXJ2ZXJzCgkgIHNvbWV0aW1lcyBkb24ndCBzZW5kIHRoZW0uCgoyMDA3LTA0LTI1IDE1OjMxOjUzICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L2FscGhhL2dzdGFscGhhY29sb3IuYzogRG91YmxlLWNoZWNrIHRoYXQgUkdCIGlucHV0IGNhcHMgYXJlIHJlYWxseSBSR0JBIGNhcHMgKGFwcGFyZW50bHkgdGhlIGNvcmUgZG9lc24ndCBhbHdheXMgLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hbHBoYS9nc3RhbHBoYWNvbG9yLmM6IChnc3RfYWxwaGFfY29sb3JfYmFzZV9pbml0KSwKCSAgKGdzdF9hbHBoYV9jb2xvcl90cmFuc2Zvcm1fY2FwcyksIChnc3RfYWxwaGFfY29sb3Jfc2V0X2NhcHMpOgoJICBEb3VibGUtY2hlY2sgdGhhdCBSR0IgaW5wdXQgY2FwcyBhcmUgcmVhbGx5IFJHQkEgY2FwcyAoYXBwYXJlbnRseQoJICB0aGUgY29yZSBkb2Vzbid0IGFsd2F5cyBjYXRjaCBpdCBpZiB0aG9zZSBjYXBzIGFyZW4ndCBhIHN1YnNldCBvZgoJICBvdXIgdGVtcGxhdGUgY2FwcywgYWxzbyBzZWUgIzQyMTU0MykuIEZpeGVzICM0MjkzMTkgaW4gYSB3YXkuCgkgIEFsc28sIGRvbid0IGxlYWsgdGhlIHBhZCB0ZW1wbGF0ZSBpbiB0aGUgdHJhbnNmb3JtX2NhcHMgZnVuY3Rpb24uCgkgICogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvLmN2c2lnbm9yZToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hbHBoYWNvbG9yLmM6IChzZXR1cF9hbHBoYWNvbG9yKSwKCSAgKGNsZWFudXBfYWxwaGFjb2xvciksIChjcmVhdGVfY2Fwc19yZ2IyNCksIChjcmVhdGVfY2Fwc19yZ2JhMzIpLAoJICAoY3JlYXRlX2J1ZmZlcl9yZ2IyNF8zeDQpLCAoY3JlYXRlX2J1ZmZlcl9yZ2JhMzJfM3g0KSwKCSAgKEdTVF9TVEFSVF9URVNUKSwgKGFscGhhY29sb3Jfc3VpdGUpOgoJICBBZGQgc29tZSBiYXNpYyB1bml0IHRlc3RzIGZvciBhbHBoYWNvbG9yLgoKMjAwNy0wNC0yNSAxNTowODoyMiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC9saWJwbmcvZ3N0cG5nZGVjLmM6IElmIHdlIGdldCBhIGZhdGFsIGZsb3cgcmV0dXJuIGluIHRoZSBsb29wIGZ1bmN0aW9uLCBmaXJzdCBwb3N0IHRoZSBlcnJvciBtZXNzYWdlIGFuZCBvbmx5IHRoZS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvbGlicG5nL2dzdHBuZ2RlYy5jOiAoZ3N0X3BuZ2RlY190YXNrKToKCSAgSWYgd2UgZ2V0IGEgZmF0YWwgZmxvdyByZXR1cm4gaW4gdGhlIGxvb3AgZnVuY3Rpb24sIGZpcnN0IHBvc3QgdGhlCgkgIGVycm9yIG1lc3NhZ2UgYW5kIG9ubHkgdGhlbiBzZW5kIHRoZSBFT1MgZXZlbnQgZG93bnN0cmVhbSwgb3RoZXJ3aXNlCgkgIGFwcGxpY2F0aW9ucyBtaWdodCBnZXQgYW4gZW9zIG1lc3NhZ2UgYmVmb3JlIHRoZSBlcnJvciBtZXNzYWdlIGFuZAoJICB0aGluayBldmVyeXRoaW5nIHdhcyBvayAocmVsYXRlZCB0byAjNDI5MzE5KS4KCjIwMDctMDQtMjUgMTA6MDc6MTIgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRzcC9ydHNwY29ubmVjdGlvbi5jOiBSZWFkIHRoZSBjaGFubmVsIGJ5dGUgYXMgYW4gdW5zaWduZWQgYnl0ZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0c3AvcnRzcGNvbm5lY3Rpb24uYzogKHJ0c3BfY29ubmVjdGlvbl9yZWNlaXZlKToKCSAgUmVhZCB0aGUgY2hhbm5lbCBieXRlIGFzIGFuIHVuc2lnbmVkIGJ5dGUuCgoyMDA3LTA0LTI1IDA5OjQ3OjQ4ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cC86IE1ha2Ugc3VyZSB3ZSBjb25maWd1cmUgdGhlIGNsb2NrX3JhdGUgaW4gdGhlIGJhc2VjbGFzcyBpbiB0aGUgc2V0Y2FwcyBmdW5jdGlvbi4gRml4ZXMgIzQzMTI4Mi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cC9nc3RydHBMMTZkZXBheS5jOiAoZ3N0X3J0cF9MMTZfZGVwYXlfc2V0X3Byb3BlcnR5KToKCSAgKiBnc3QvcnRwL2dzdHJ0cGFtcmRlcGF5LmM6IChnc3RfcnRwX2Ftcl9kZXBheV9pbml0KSwKCSAgKGdzdF9ydHBfYW1yX2RlcGF5X3NldGNhcHMpLCAoZ3N0X3J0cF9hbXJfZGVwYXlfcHJvY2Vzcyk6CgkgICogZ3N0L3J0cC9nc3RydHBnc21kZXBheS5jOiAoZ3N0X3J0cF9nc21fZGVwYXlfaW5pdCksCgkgIChnc3RfcnRwX2dzbV9kZXBheV9zZXRjYXBzKToKCSAgKiBnc3QvcnRwL2dzdHJ0cGgyNjNwZGVwYXkuYzogKGdzdF9ydHBfaDI2M3BfZGVwYXlfc2V0Y2Fwcyk6CgkgICogZ3N0L3J0cC9nc3RydHBoMjY0ZGVwYXkuYzogKGdzdF9ydHBfaDI2NF9kZXBheV9zZXRjYXBzKToKCSAgKiBnc3QvcnRwL2dzdHJ0cGlsYmNkZXBheS5jOiAoZ3N0X3J0cF9pbGJjX2RlcGF5X2NsYXNzX2luaXQpLAoJICAoZ3N0X3J0cF9pbGJjX2RlcGF5X2luaXQpLCAoZ3N0X3J0cF9pbGJjX2RlcGF5X3NldGNhcHMpLAoJICAoZ3N0X3J0cF9pbGJjX2RlcGF5X3Byb2Nlc3MpLCAoZ3N0X2lsYmNfZGVwYXlfc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9pbGJjX2RlcGF5X2dldF9wcm9wZXJ0eSk6CgkgICogZ3N0L3J0cC9nc3RydHBtcDJ0ZGVwYXkuYzogKGdzdF9ydHBfbXAydF9kZXBheV9zZXRjYXBzKToKCSAgKiBnc3QvcnRwL2dzdHJ0cG1wNGFkZXBheS5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwcGNtYWRlcGF5LmM6IChnc3RfcnRwX3BjbWFfZGVwYXlfaW5pdCksCgkgIChnc3RfcnRwX3BjbWFfZGVwYXlfc2V0Y2Fwcyk6CgkgICogZ3N0L3J0cC9nc3RydHBwY211ZGVwYXkuYzogKGdzdF9ydHBfcGNtdV9kZXBheV9pbml0KSwKCSAgKGdzdF9ydHBfcGNtdV9kZXBheV9zZXRjYXBzKToKCSAgTWFrZSBzdXJlIHdlIGNvbmZpZ3VyZSB0aGUgY2xvY2tfcmF0ZSBpbiB0aGUgYmFzZWNsYXNzIGluIHRoZSBzZXRjYXBzCgkgIGZ1bmN0aW9uLiBGaXhlcyAjNDMxMjgyLgoKMjAwNy0wNC0yNSAwODozNjo0NiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHNwL2dzdHJ0c3BzcmMuKjogUGFyc2Ugc2VydmVyIGFkZHJlc3MgZnJvbSBTRFAuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogKGdzdF9ydHNwc3JjX2ZpbmFsaXplKSwKCSAgKGdzdF9ydHNwc3JjX3N0cmVhbV9mcmVlKSwgKHJlcXVlc3RfcHRfbWFwKSwKCSAgKGdzdF9ydHNwc3JjX3N0cmVhbV9jb25maWd1cmVfdHJhbnNwb3J0KSwgKGdzdF9ydHNwc3JjX29wZW4pOgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuaDoKCSAgUGFyc2Ugc2VydmVyIGFkZHJlc3MgZnJvbSBTRFAuCgkgIEhvb2sgdXAgYSB1ZHBzaW5rIHRvIHNlbmQgUlRDUCBiYWNrIHRvIHRoZSBzZXJ2ZXIuCgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgICogZ3N0L3J0c3AvcnRzcHRyYW5zcG9ydC5oOgoJICBBZGQgc29tZSBkb2NzLgoKMjAwNy0wNC0yNSAwNjo1MjowOSArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6IE1ha2UgaGVhZGVyIGZpZWxkIGNoZWNrIGNvbmRpdGlvbmFsLiBGaXhlcyAjNDMzMTM1CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOiAoZ3N0X3dhdnBhcnNlX3N0cmVhbV9oZWFkZXJzKToKCSAgTWFrZSBoZWFkZXIgZmllbGQgY2hlY2sgY29uZGl0aW9uYWwuIEZpeGVzICM0MzMxMzUKCjIwMDctMDQtMjQgMDk6MTI6NDIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBBZGQgbWluaW1hbCBkb2NzIGJsdXJiIHRvIGFscGhhY29sb3I7IHNwbGl0IG91dCBoZWFkZXJzIGludG8gc2VwYXJhdGUgaGVhZGVyIGZpbGUgZm9yIGd0ay1kb2MuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGFjb2xvci54bWw6CgkgICogZ3N0L2FscGhhL01ha2VmaWxlLmFtOgoJICAqIGdzdC9hbHBoYS9nc3RhbHBoYWNvbG9yLmM6CgkgICogZ3N0L2FscGhhL2dzdGFscGhhY29sb3IuaDoKCSAgQWRkIG1pbmltYWwgZG9jcyBibHVyYiB0byBhbHBoYWNvbG9yOyBzcGxpdCBvdXQgaGVhZGVycyBpbnRvCgkgIHNlcGFyYXRlIGhlYWRlciBmaWxlIGZvciBndGstZG9jLgoKMjAwNy0wNC0yMCAxNzoyNTo1MCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9kZWJ1Zy9wcm9ncmVzc3JlcG9ydC5jOiBEb24ndCB0cnkgdG8gcG9zdCBOVUxMIG1lc3NhZ2UgKGluIGNhc2Ugd2UgY2FuJ3QgcXVlcnkgdXBzdHJlYW0gcG9zaXRpb24gb3IgZHVyYXRpb24pLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZGVidWcvcHJvZ3Jlc3NyZXBvcnQuYzogKGdzdF9wcm9ncmVzc19yZXBvcnRfcmVwb3J0KToKCSAgRG9uJ3QgdHJ5IHRvIHBvc3QgTlVMTCBtZXNzYWdlIChpbiBjYXNlIHdlIGNhbid0IHF1ZXJ5IHVwc3RyZWFtCgkgIHBvc2l0aW9uIG9yIGR1cmF0aW9uKS4KCjIwMDctMDQtMTggMTI6MzY6MzcgKzAwMDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEB4aXBoLm9yZz4KCgkgIGdzdC9jdXR0ZXIvZ3N0Y3V0dGVyLio6IEZpeCBzb21lIG9mIHRoZSBtb3N0IG9idmlvdXMgYnVncyBpbiBjdXR0ZXIuIE5vdyBkb2Vzbid0IGxlYWsgZXZlcnl0aGluZyBpZiBpbnB1dCBpcyBzaWxlbnQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9jdXR0ZXIvZ3N0Y3V0dGVyLmM6IChnc3RfY3V0dGVyX2luaXQpLCAoZ3N0X2N1dHRlcl9jaGFpbiksCgkgIChnc3RfY3V0dGVyX2dldF9jYXBzKToKCSAgKiBnc3QvY3V0dGVyL2dzdGN1dHRlci5oOgoJICBGaXggc29tZSBvZiB0aGUgbW9zdCBvYnZpb3VzIGJ1Z3MgaW4gY3V0dGVyLiBOb3cgZG9lc24ndCBsZWFrCgkgIGV2ZXJ5dGhpbmcgaWYgaW5wdXQgaXMgc2lsZW50LgoKMjAwNy0wNC0xOCAwOTo0ODoyNSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L3dhdmVuYy9nc3R3YXZlbmMuKjogZXZlcnl0aGluZyBlbHNlIHJlc3VsdHMgaW4gYSBpbnZhbGlkIGJsb2NrIGFsaWduIGFuZCBpbnZhbGlkIGZpbGVzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvd2F2ZW5jL2dzdHdhdmVuYy5jOiAoZ3N0X3dhdmVuY19jcmVhdGVfaGVhZGVyX2J1ZiksCgkgIChnc3Rfd2F2ZW5jX3Npbmtfc2V0Y2FwcyksIChnc3Rfd2F2ZW5jX2NoYW5nZV9zdGF0ZSk6CgkgICogZ3N0L3dhdmVuYy9nc3R3YXZlbmMuaDoKCSAgV2F2IGFwcGFyZW50bHkgb25seSBzdXBwb3J0cyB3aWR0aD09R1NUX1JPVU5EX1VQKGRlcHRoKSwgZXZlcnl0aGluZwoJICBlbHNlIHJlc3VsdHMgaW4gYSBpbnZhbGlkIGJsb2NrIGFsaWduIGFuZCBpbnZhbGlkIGZpbGVzLgoKMjAwNy0wNC0xNyAxNjozOTowMiArMDAwMCAgU25haWsgPHNuYWlrMzJAZ21haWwuY29tPgoKCSAgZ3N0L3NtcHRlL2JhcmJveHdpcGVzLmM6IEFkZCBtaXNzaW5nIGJyZWFrIHN0YXRlbWVudCBmb3IgQk9YX0hPUklaT05UQUwgY2FzZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBTbmFpayA8c25haWszMiBnbWFpbCBjb20+CgkgICogZ3N0L3NtcHRlL2JhcmJveHdpcGVzLmM6IChnc3Rfd2lwZV9ib3hlc19kcmF3KToKCSAgQWRkIG1pc3NpbmcgYnJlYWsgc3RhdGVtZW50IGZvciBCT1hfSE9SSVpPTlRBTCBjYXNlLgoKMjAwNy0wNC0xNyAxMDoxNDo0MyArMDAwMCAgVmluY2VudCBUb3JyaSA8dnRvcnJpQHVuaXYtZXZyeS5mcj4KCgkgIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOiBVc2UgY29ycmVjdCBmb3JtYXQgc3RyaW5ncyBmb3IgaW50ZWdlciB0eXBlcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBWaW5jZW50IFRvcnJpIDx2dG9ycmkgYXQgdW5pdi1ldnJ5IGRvdCBmcj4KCSAgKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzogKGdzdF93YXZwYXJzZV9zdHJlYW1faGVhZGVycyk6CgkgIFVzZSBjb3JyZWN0IGZvcm1hdCBzdHJpbmdzIGZvciBpbnRlZ2VyIHR5cGVzLgoKMjAwNy0wNC0xNyAwMjo1MTowMiArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6IFVzZSBnc3RfcmlmZl9jcmVhdGVfYXVkaW9fdGVtcGxhdGVfY2FwcyAoKSBpbnN0ZWFkIG9mIHRoZSBsb2NhbCBjYXBzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzogKGdzdF93YXZwYXJzZV9iYXNlX2luaXQpLAoJICAoZ3N0X3dhdnBhcnNlX2NyZWF0ZV9zb3VyY2VwYWQpOgoJICBVc2UgZ3N0X3JpZmZfY3JlYXRlX2F1ZGlvX3RlbXBsYXRlX2NhcHMgKCkgaW5zdGVhZCBvZiB0aGUgbG9jYWwgY2Fwcy4KCSAgVGhpcyBtYWtlcyB1cGRhdGVzIG9mIHRoZSBsb2NhbCBjYXBzIHVuZWNlc3Nhcnkgd2hlbmV2ZXIgbGliZ3N0cmlmZgoJICBnZXRzIHN1cHBvcnQgZm9yIG5ldyBmb3JtYXRzLgoKMjAwNy0wNC0xNiAyMToyOTo0MCArMDAwMCAgQnJpYW4gQ2FtZXJvbiA8YnJpYW4uY2FtZXJvbkBzdW4uY29tPgoKCSAgc3lzL3N1bmF1ZGlvLzogRml4IGFuZC9vciB1cGRhdGUgY29weXJpZ2h0IGF0dHJpYnV0aW9ucyAoIzQzMDIyOCkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogQnJpYW4gQ2FtZXJvbiAgPGJyaWFuLmNhbWVyb24gYXQgc3VuIGRvdCBjb20+CgkgICogc3lzL3N1bmF1ZGlvL2dzdHN1bmF1ZGlvLmM6CgkgICogc3lzL3N1bmF1ZGlvL2dzdHN1bmF1ZGlvbWl4ZXIuYzoKCSAgKiBzeXMvc3VuYXVkaW8vZ3N0c3VuYXVkaW9taXhlci5oOgoJICAqIHN5cy9zdW5hdWRpby9nc3RzdW5hdWRpb21peGVyY3RybC5jOgoJICAqIHN5cy9zdW5hdWRpby9nc3RzdW5hdWRpb21peGVyY3RybC5oOgoJICAqIHN5cy9zdW5hdWRpby9nc3RzdW5hdWRpb21peGVydHJhY2suaDoKCSAgKiBzeXMvc3VuYXVkaW8vZ3N0c3VuYXVkaW9zaW5rLmM6CgkgICogc3lzL3N1bmF1ZGlvL2dzdHN1bmF1ZGlvc2luay5oOgoJICAqIHN5cy9zdW5hdWRpby9nc3RzdW5hdWRpb3NyYy5jOgoJICAqIHN5cy9zdW5hdWRpby9nc3RzdW5hdWRpb3NyYy5oOgoJICBGaXggYW5kL29yIHVwZGF0ZSBjb3B5cmlnaHQgYXR0cmlidXRpb25zICgjNDMwMjI4KS4KCjIwMDctMDQtMTQgMTc6MTg6MTQgKzAwMDAgIFPDqWJhc3RpZW4gTW91dHRlIDxzZWJhc3RpZW5AbW91dHRlLm5ldD4KCgkgIGRvY3MvcGx1Z2lucy9pbnNwZWN0LzogQWRkIHhtbCBkb2MgZmlsZXMgZm9yIFdpbmRvd3Mgc2lua3MKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRpcmVjdGRyYXcueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kaXJlY3Rzb3VuZC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdmVmb3JtLnhtbDoKCSAgQWRkIHhtbCBkb2MgZmlsZXMgZm9yIFdpbmRvd3Mgc2lua3MKCSAgKiB3aW4zMi92czYvbGliZ3N0cXRkZW11eC5kc3A6CgkgICogd2luMzIvdnM2L2xpYmdzdG1wZWd2aWRlb3BhcnNlLmRzcDoKCSAgKiB3aW4zMi92czYvZ3N0X3BsdWdpbnNfYmFkLmRzdzoKCSAgVXBkYXRlIHByb2plY3RzIGZpbGVzLgoKMjAwNy0wNC0xMyAwOTozMjoyMSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtc2VjdGlvbnMudHh0OiBGaXggZG9jcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgIEZpeCBkb2NzLgoJICAqIGdzdC9ydHNwL1VSTFM6CgkgIEFkZCBzb21lIG1vcmUgZXhhbXBsZSB1cmxzLgoJICAqIGdzdC9ydHNwL2dzdHJ0cGRlYy5jOiAoZ3N0X3J0cF9kZWNfbWFyc2hhbF9CT1hFRF9fVUlOVF9VSU5UKSwKCSAgKGdzdF9ydHBfZGVjX2NoYWluX3J0cCk6CgkgIEJldHRlciBkZWJ1Z2dpbmcuCgkgICogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiAocmVxdWVzdF9wdF9tYXApLAoJICAoZ3N0X3J0c3BzcmNfYWN0aXZhdGVfc3RyZWFtcyksIChnc3RfcnRzcHNyY19sb29wX2ludGVybGVhdmVkKSwKCSAgKGdzdF9ydHNwc3JjX3BhcnNlX3J0cGluZm8pOgoJICBSZW1vdmUgdW51c2VkIGNvZGUuCgoyMDA3LTA0LTEzIDA4OjE5OjM1ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzogUmVsYXggdGhlIGF1ZGlvL21wZWcgY2FwcyBhZ2FpbiBhbmQgYWRkIEZJWE1FOiBjb21tZW50LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzogKHVpbnQ2NF9jZWlsaW5nX3NjYWxlX2ludCksCgkgIChnc3Rfd2F2cGFyc2VfcGVyZm9ybV9zZWVrKSwgKGdzdF93YXZwYXJzZV9zdHJlYW1faGVhZGVycyksCgkgIChnc3Rfd2F2cGFyc2Vfc3RyZWFtX2RhdGEpOgoJICBSZWxheCB0aGUgYXVkaW8vbXBlZyBjYXBzIGFnYWluIGFuZCBhZGQgRklYTUU6IGNvbW1lbnQuCgoyMDA3LTA0LTEzIDA2OjIwOjI4ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuKjogTW9yZSBzYW5pdHkgY2hlY2sgZm9yIHRoZSBoZWFkZXIgZmllbGRzLiBGaXggdHlwZSBmb3IgJ3JhdGUnIGhlYWRlciBmaWVsZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6ICh1aW50NjRfY2VpbGluZ19zY2FsZV9pbnQpLAoJICAoZ3N0X3dhdnBhcnNlX3BlcmZvcm1fc2VlayksIChnc3Rfd2F2cGFyc2Vfc3RyZWFtX2hlYWRlcnMpLAoJICAoZ3N0X3dhdnBhcnNlX3N0cmVhbV9kYXRhKToKCSAgKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuaDoKCSAgTW9yZSBzYW5pdHkgY2hlY2sgZm9yIHRoZSBoZWFkZXIgZmllbGRzLiBGaXggdHlwZSBmb3IgJ3JhdGUnIGhlYWRlcgoJICBmaWVsZC4KCjIwMDctMDQtMTIgMTY6MDY6MzEgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvaWN5ZGVtdXgvZ3N0aWN5ZGVtdXguYzogSWYgdGhlIG1ldGFkYXRhIHN0cmluZ3Mgd2UgZ2V0IGluIHRoZSBzdHJlYW0gYXJlIG5vdCBVVEYtOCwgdHJ5IHRvIGludGVycHJldCB0aGVtIGFjY29yZGkuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2ljeWRlbXV4L2dzdGljeWRlbXV4LmM6IChub3Rnc3RfdGFnX2ZyZWVmb3JtX3N0cmluZ190b191dGY4KSwKCSAgKGdzdF9pY3lkZW11eF91bmljb2RpZnkpOgoJICBJZiB0aGUgbWV0YWRhdGEgc3RyaW5ncyB3ZSBnZXQgaW4gdGhlIHN0cmVhbSBhcmUgbm90IFVURi04LCB0cnkgdG8KCSAgaW50ZXJwcmV0IHRoZW0gYWNjb3JkaW5nIHRvIHRoZSBjaGFyYWN0ZXIgZW5jb2RpbmdzIHNwZWNpZmllZCBpbiB0aGUKCSAgR1NUX0lDWV9UQUdfRU5DT0RJTkcgYW5kIEdTVF9UQUdfRU5DT0RJTkcgZW52aXJvbm1lbnQgdmFyaWFibGVzLCBhbmQKCSAgb25seSBmYWxsIGJhY2sgdG8gbG9jYWxlL0lTTy04ODU5LTEgaWYgdGhvc2UgYXJlbid0IHNldCBvciBkb24ndAoJICB3b3JrLiBTaG91bGQgZml4ICM0Mjg5MDEuCgoyMDA3LTA0LTEyIDE0OjIwOjU2ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cC9nc3RydHBoMjY0ZGVwYXkuYzogVXNlIHRoZSBwcm9wZXIgc3luYyB3b3JkIGZvciBTUFMgYW5kIFBQUy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cC9nc3RydHBoMjY0ZGVwYXkuYzoKCSAgVXNlIHRoZSBwcm9wZXIgc3luYyB3b3JkIGZvciBTUFMgYW5kIFBQUy4KCjIwMDctMDQtMTIgMTE6NDE6MTEgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSAgZ3N0L3J0cC9NYWtlZmlsZS5hbTogZ3N0L3J0cC9mbnYxaGFzaC5jIChNQVNLXzI0LCBGTlYxX0hBU0hfMzJfSU5JVCwgRk5WMV9IQVNIXzMyX1BSSU1FLCBmbnYxX2hhc2hfMzJfbmV3LCBmbnYxX2hhc2hfLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHAvTWFrZWZpbGUuYW06CgkgICogZ3N0L3J0cC9mbnYxaGFzaC5jIChNQVNLXzI0LCBGTlYxX0hBU0hfMzJfSU5JVCwgRk5WMV9IQVNIXzMyX1BSSU1FLAoJICBmbnYxX2hhc2hfMzJfbmV3LCBmbnYxX2hhc2hfMzJfdXBkYXRlLCBmbnYxX2hhc2hfMzJfdG9fMjQpOgoJICAqIGdzdC9ydHAvZm52MWhhc2guaCAoX19HU1RfRk5WMV9IQVNIX0hfXyk6CgkgIEFkZCBhIHNpbXBsZSBoYXNoaW5nIGltcGxlbWVudGF0aW9uIHRoYXQgd2UgY2FuIHVzZSB0byBnZW5lcmF0ZQoJICBhIDI0LWJpdCBpZGVudCB2YWx1ZSBiYXNlZCBvbiB0aGUgY29kZWJvb2tzIGZvciB2b3JiaXMgYW5kIHRoZW9yYS4KCSAgKiBnc3QvcnRwL2dzdHJ0cHRoZW9yYXBheS5jIChnc3RfcnRwX3RoZW9yYV9wYXlfZmluaXNoX2hlYWRlcnMsCgkgIGdzdF9ydHBfdGhlb3JhX3BheV9oYW5kbGVfYnVmZmVyKToKCSAgKiBnc3QvcnRwL2dzdHJ0cHZvcmJpc2RlcGF5LmMKCSAgKGdzdF9ydHBfdm9yYmlzX2RlcGF5X3BhcnNlX2NvbmZpZ3VyYXRpb24sCgkgIGdzdF9ydHBfdm9yYmlzX2RlcGF5X3N3aXRjaF9jb2RlYm9vaywgZ3N0X3J0cF92b3JiaXNfZGVwYXlfcHJvY2Vzcyk6CgkgICogZ3N0L3J0cC9nc3RydHB2b3JiaXNwYXkuYyAoZ3N0X3J0cF92b3JiaXNfcGF5X3Jlc2V0X3BhY2tldCwKCSAgZ3N0X3J0cF92b3JiaXNfcGF5X2luaXRfcGFja2V0LCBnc3RfcnRwX3ZvcmJpc19wYXlfZmx1c2hfcGFja2V0LAoJICBnc3RfcnRwX3ZvcmJpc19wYXlfZmluaXNoX2hlYWRlcnMsIGdzdF9ydHBfdm9yYmlzX3BheV9oYW5kbGVfYnVmZmVyKToKCSAgVXNlIHRoZSBoYXNoaW5nIGZ1bmN0aW9uLCBlbnN1cmluZyB0aGF0IHRoZSBzYW1lIGNvZGVib29rcyByZXN1bHQKCSAgaW4gdGhlIHNhbWUgaWRlbnQgYW5kIHRodXMgdGhlIHNhbWUgU0RQIGRlc2NyaXB0aW9uLgoJICBWYXJpb3VzIGxvZyBmaXhlcy9jaGFuZ2VzLgoKMjAwNy0wNC0xMiAxMTozNzo1MCArMDAwMCAgamVycnkgdGFuIDxqZXJyeS50YW5Ac3VuLmNvbT4KCgkgIHN5cy9zdW5hdWRpby9nc3RzdW5hdWRpb3NyYy5jOiBpdCBpcyB0aGUgYXBwbGljYXRpb24ncyByZXNwb25zaWJpbGl0eSB0byBtYWtlIHN1cmUgaXQgb3BlbiB0aGUgZGV2aWNlIG9uY2UuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogamVycnkgdGFuIDxqZXJyeSBkb3QgdGFuIGF0IHN1biBkb3QgY29tPgoJICAqIHN5cy9zdW5hdWRpby9nc3RzdW5hdWRpb3NyYy5jOiAoZ3N0X3N1bmF1ZGlvc3JjX29wZW4pOgoJICByZW1vdmUgdGhlIGNhbGwgb2YgIGlvY3RsIChmZCwgQVVESU9fTUlYRVJfTVVMVElQTEVfT1BFTiksIGl0IGlzIHRoZQoJICBhcHBsaWNhdGlvbidzIHJlc3BvbnNpYmlsaXR5IHRvIG1ha2Ugc3VyZSBpdCBvcGVuIHRoZSBkZXZpY2Ugb25jZS4KCSAgUmVtb3ZlIGEgY2FyZWxlc3MgZXJyb3IgaWYgQVVESU9ERVYgaXMgc2V0LiBGaXhlcyAjMzkyNjIwLgoKMjAwNy0wNC0xMiAxMDo1MjowMiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogTWFrZSB0aW1lc2NhbGUgMzIgYml0cyBhZ2FpbiBzbyB3ZSBkb24ndCBzY3JldyB1cCB0aGUgcHRzX29mZnNldCBjYWxjdWxhdGlvbnMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgTWFrZSB0aW1lc2NhbGUgMzIgYml0cyBhZ2FpbiBzbyB3ZSBkb24ndCBzY3JldyB1cCB0aGUgcHRzX29mZnNldAoJICBjYWxjdWxhdGlvbnMuCgoyMDA3LTA0LTEyIDA4OjIxOjI4ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0c3AvZ3N0cnRwZGVjLio6IE1ha2UgYmFja3dhcmQgY29tcGF0IHdpdGggcnRwYmluIGJ5IGFkZGluZyB0aGUgcmVxdWVzdC1wdC1tYXAgc2lnbmFscy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0c3AvZ3N0cnRwZGVjLmM6IChnc3RfcnRwX2RlY19tYXJzaGFsX0JPWEVEX19VSU5UX1VJTlQpLAoJICAoZ3N0X3J0cF9kZWNfY2xhc3NfaW5pdCksIChnc3RfcnRwX2RlY19jaGFpbl9ydHApOgoJICAqIGdzdC9ydHNwL2dzdHJ0cGRlYy5oOgoJICBNYWtlIGJhY2t3YXJkIGNvbXBhdCB3aXRoIHJ0cGJpbiBieSBhZGRpbmcgdGhlIHJlcXVlc3QtcHQtbWFwIHNpZ25hbHMuCgkgICogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiAoZ3N0X3J0c3BzcmNfY3JlYXRlX3N0cmVhbSksCgkgIChuZXdfc2Vzc2lvbl9wYWQpLCAocmVxdWVzdF9wdF9tYXApLAoJICAoZ3N0X3J0c3BzcmNfc3RyZWFtX2NvbmZpZ3VyZV90cmFuc3BvcnQpLAoJICAoZ3N0X3J0c3BzcmNfc3RyZWFtX2NvbmZpZ3VyZV9jYXBzKSwKCSAgKGdzdF9ydHNwc3JjX2FjdGl2YXRlX3N0cmVhbXMpOgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuaDoKCSAgSW1wbGVtZW50IHJlcXVlc3QtcHQtbWFwIHNpZ25hbHMgaW5zdGVhZCBvZiBzZXR0aW5nIGNhcHMgb24gdGhlIGJ1ZmZlcnMKCSAgZm9yIHRoZSBzZXNzaW9uIG1hbmFnZXIuCgoyMDA3LTA0LTExIDEwOjI1OjI1ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3VkcC9nc3R1ZHAuYzogUmVnaXN0ZXIgR3N0TmV0QnVmZmVyIGluIHBsdWdpbl9pbml0IHNvIHRoYXQgdGhlIHR5cGUgY2FuIGJlIHVzZWQgZnJvbSBtdWx0aXBsZSB0aHJlYWRzIHdpdGhvdXQgcmFjZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC91ZHAvZ3N0dWRwLmM6IChwbHVnaW5faW5pdCk6CgkgIFJlZ2lzdGVyIEdzdE5ldEJ1ZmZlciBpbiBwbHVnaW5faW5pdCBzbyB0aGF0IHRoZSB0eXBlIGNhbiBiZSB1c2VkIGZyb20KCSAgbXVsdGlwbGUgdGhyZWFkcyB3aXRob3V0IHJhY2VzLgoKMjAwNy0wNC0xMSAxMDoxOTowNiArMDAwMCAgQ2hyaXN0aWFuIFNjaGFsbGVyIDx1cmFldXNAZ25vbWUub3JnPgoKCSogZ3N0LXBsdWdpbnMtZ29vZC5zcGVjLmluOgoJICB1cGRhdGUgdG8gc3BlYyBmaWxlCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICB1cGRhdGUgdG8gc3BlYyBmaWxlCgoyMDA3LTA0LTExIDA5OjUzOjM4ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3F0ZGVtdXgvOiBIYW5kbGUgdmVyc2lvbiAxIG1kaGQgYXRvbXMgdG8gZ2V0IGV4dGVuZGVkIHByZWNpc2lvbiBkdXJhdGlvbnMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKGdzdF9xdGRlbXV4X2dldF9kdXJhdGlvbiksCgkgIChxdGRlbXV4X3BhcnNlX3NhbXBsZXMpLCAocXRkZW11eF9wYXJzZV9zZWdtZW50cyksCgkgIChxdGRlbXV4X3BhcnNlX3RyYWspLCAocXRkZW11eF9wYXJzZV90cmVlKToKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4X2R1bXAuYzogKHF0ZGVtdXhfZHVtcF9tZGhkKToKCSAgSGFuZGxlIHZlcnNpb24gMSBtZGhkIGF0b21zIHRvIGdldCBleHRlbmRlZCBwcmVjaXNpb24gZHVyYXRpb25zLgoJICBGaXhlcyAjNDI2OTcyLgoKMjAwNy0wNC0xMCAxNzowNjowNSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHAvZ3N0cnRwYW1yZGVwYXkuYzogRml4IGRlcGF5bG9hZGVyIGNsb2NrX3JhdGUgYW5kIHNvbWUgY2xlYW51cHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHAvZ3N0cnRwYW1yZGVwYXkuYzogKGdzdF9ydHBfYW1yX2RlcGF5X3NldGNhcHMpLAoJICAoZ3N0X3J0cF9hbXJfZGVwYXlfcHJvY2Vzcyk6CgkgIEZpeCBkZXBheWxvYWRlciBjbG9ja19yYXRlIGFuZCBzb21lIGNsZWFudXBzLgoJICAqIGdzdC9ydHAvZ3N0cnRwaDI2NGRlcGF5LmM6IChnc3RfcnRwX2gyNjRfZGVwYXlfZmluYWxpemUpLAoJICAoZ3N0X3J0cF9oMjY0X2RlcGF5X3NldGNhcHMpLCAoZ3N0X3J0cF9oMjY0X2RlcGF5X3Byb2Nlc3MpOgoJICAqIGdzdC9ydHAvZ3N0cnRwaDI2NGRlcGF5Lmg6CgkgIERvbid0IHB1c2ggY29kZWNfZGF0YSBpbiB0aGUgYWRhcHRlciBiZWNhdXNlIGl0IG1pZ2h0IGdldCBmbHVzaGVkIHdoZW4KCSAgd2UgZ2V0IGEgZGlzY29udC4KCSAgKiBnc3QvcnRwL2dzdHJ0cG1wNGdkZXBheS5jOiAoZ3N0X3J0cF9tcDRnX2RlcGF5X3Byb2Nlc3MpOgoJICBIYW5kbGUgbXVsdGlwbGUgQVUgcGVyIHBhY2tldC4KCSAgKiBnc3QvcnRwL2dzdHJ0cHN2M3ZkZXBheS5jOiAoZ3N0X3J0cF9zdjN2X2RlcGF5X3Byb2Nlc3MpLAoJICAoZ3N0X3J0cF9zdjN2X2RlcGF5X3BsdWdpbl9pbml0KToKCSAgRGlzYWJsZSByYW5rLCB0aGlzIG9uZSBkb2VzIG5vdCB3b3JrLgoJICBSZW1vdmUgdGltZXN0YW1waW5nLCBiYXNlIGNsYXNzIGRvZXMgdGhhdC4KCjIwMDctMDQtMTAgMTI6MDE6MzMgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC9hdXBhcnNlL2dzdGF1cGFyc2UuYzogbGltaXQgY2FwcyB0byB0aGUgZm9ybWF0cyB3ZSBhbm5vdW5jZSBpbiB0aGUgdGVtcGxhdGUKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2F1cGFyc2UvZ3N0YXVwYXJzZS5jOiAoZ3N0X2F1X3BhcnNlX3BhcnNlX2hlYWRlcik6CgkgIGxpbWl0IGNhcHMgdG8gdGhlIGZvcm1hdHMgd2UgYW5ub3VuY2UgaW4gdGhlIHRlbXBsYXRlCgkgICogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6ICh1aW50NjRfY2VpbGluZ19zY2FsZV9pbnQpLAoJICAoZ3N0X3dhdnBhcnNlX3BlcmZvcm1fc2VlayksIChnc3Rfd2F2cGFyc2Vfc3RyZWFtX2hlYWRlcnMpLAoJICAoZ3N0X3dhdnBhcnNlX2FkZF9zcmNfcGFkKSwgKGdzdF93YXZwYXJzZV9zdHJlYW1fZGF0YSk6CgkgIGZpeCBzb21lIGNyYXNoZXJzL2Fzc2VydHMgd2hlbiBkZWFsaW5nIHdpdGggYnJva2VuIGZpbGVzCgoyMDA3LTA0LTEwIDEwOjAxOjE0ICswMDAwICBQZXRlciBLamVsbGVyc3RlZHQgPHBrakBheGlzLmNvbT4KCgkgIGdzdC86IEZpeCBzb21lIGNvbXBpbGVyIHdhcm5pbmdzLiBGaXhlcyAjNDI4MTgyLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFBldGVyIEtqZWxsZXJzdGVkdCAgPHBraiBhdCBheGlzIGNvbT4KCSAgKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6IChnc3RfYXZpX2RlbXV4X21hc3NhZ2VfaW5kZXgpOgoJICAqIGdzdC9ydHAvZ3N0cnRwTDE2ZGVwYXkuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cG1wNGdkZXBheS5jOiAoZ3N0X3J0cF9tcDRnX2RlcGF5X3Byb2Nlc3MpOgoJICAqIGdzdC9ydHAvZ3N0cnRwc3BlZXhkZXBheS5jOiAoZ3N0X3J0cF9zcGVleF9kZXBheV9nZXRfbW9kZSksCgkgIChnc3RfcnRwX3NwZWV4X2RlcGF5X3NldGNhcHMpOgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogKGdzdF9ydHNwc3JjX21lZGlhX3RvX2NhcHMpLAoJICAoZ3N0X3J0c3BzcmNfc3RyZWFtX2NvbmZpZ3VyZV90cmFuc3BvcnQpLCAoZ3N0X3J0c3BzcmNfbG9vcF91ZHApOgoJICAqIGdzdC91ZHAvZ3N0bXVsdGl1ZHBzaW5rLmM6IChnc3RfbXVsdGl1ZHBzaW5rX2luaXRfc2VuZCk6CgkgIEZpeCBzb21lIGNvbXBpbGVyIHdhcm5pbmdzLiBGaXhlcyAjNDI4MTgyLgoKMjAwNy0wNC0wNiAxMjo1NDoxNiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHNwLzogTW9ycGggUlRQRGVjIGludG8gc29tZXRoaW5nIGNvbXBhdGlibGUgd2l0aCBSVFBCaW4gYXMgYSBmYWxsYmFjay4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0c3AvTWFrZWZpbGUuYW06CgkgICogZ3N0L3J0c3AvZ3N0cnRwZGVjLmM6IChmaW5kX3Nlc3Npb25fYnlfaWQpLCAoY3JlYXRlX3Nlc3Npb24pLAoJICAoZnJlZV9zZXNzaW9uKSwgKGdzdF9ydHBfZGVjX2Jhc2VfaW5pdCksIChnc3RfcnRwX2RlY19jbGFzc19pbml0KSwKCSAgKGdzdF9ydHBfZGVjX2luaXQpLCAoZ3N0X3J0cF9kZWNfZmluYWxpemUpLAoJICAoZ3N0X3J0cF9kZWNfcXVlcnlfc3JjKSwgKGdzdF9ydHBfZGVjX2NoYWluX3J0cCksCgkgIChnc3RfcnRwX2RlY19jaGFpbl9ydGNwKSwgKGdzdF9ydHBfZGVjX3NldF9wcm9wZXJ0eSksCgkgIChnc3RfcnRwX2RlY19nZXRfcHJvcGVydHkpLCAoZ3N0X3J0cF9kZWNfcHJvdmlkZV9jbG9jayksCgkgIChnc3RfcnRwX2RlY19jaGFuZ2Vfc3RhdGUpLCAoY3JlYXRlX3JlY3ZfcnRwKSwgKGNyZWF0ZV9yZWN2X3J0Y3ApLAoJICAoY3JlYXRlX3J0Y3ApLCAoZ3N0X3J0cF9kZWNfcmVxdWVzdF9uZXdfcGFkKSwKCSAgKGdzdF9ydHBfZGVjX3JlbGVhc2VfcGFkKToKCSAgKiBnc3QvcnRzcC9nc3RydHBkZWMuaDoKCSAgKiBnc3QvcnRzcC9nc3RydHNwLmM6IChwbHVnaW5faW5pdCk6CgkgIE1vcnBoIFJUUERlYyBpbnRvIHNvbWV0aGluZyBjb21wYXRpYmxlIHdpdGggUlRQQmluIGFzIGEgZmFsbGJhY2suCgkgIFZhcmlvdXMgb3RoZXIgc3R5bGUgZml4ZXMuCgkgICogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiAoZmluZF9zdHJlYW1fYnlfaWQpLAoJICAoZmluZF9zdHJlYW1fYnlfdWRwc3JjKSwgKGdzdF9ydHNwc3JjX3N0cmVhbV9mcmVlKSwKCSAgKGdzdF9ydHNwc3JjX2NsZWFudXApLCAoZ3N0X3J0c3BzcmNfbWVkaWFfdG9fY2FwcyksCgkgIChuZXdfc2Vzc2lvbl9wYWQpLCAoZ3N0X3J0c3BzcmNfc3RyZWFtX2NvbmZpZ3VyZV90cmFuc3BvcnQpLAoJICAoZ3N0X3J0c3BzcmNfYWN0aXZhdGVfc3RyZWFtcyksIChnc3RfcnRzcHNyY19sb29wX2ludGVybGVhdmVkKSwKCSAgKGdzdF9ydHNwc3JjX2xvb3BfdWRwKSwgKGdzdF9ydHNwc3JjX3NldHVwX2F1dGgpLAoJICAoZ3N0X3J0c3BzcmNfaGFuZGxlX21lc3NhZ2UpLCAoZ3N0X3J0c3BzcmNfY2hhbmdlX3N0YXRlKToKCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmg6CgkgIEltcGxlbWVudCBSVFBCaW4gc2Vzc2lvbiBtYW5hZ2VyIGhhbmRsaW5nLgoJICBEb24ndCB0cnkgdG8gYWRkIGVtcHR5IHByb3BlcnRpZXMgdG8gY2Fwcy4KCSAgSW1wbGVtZW50IGZhbGxiYWNrIHNlc3Npb24gbWFuYWdlciwgaGFuZGxpbmcuCgkgIERvbid0IGNvbWJpbmUgZXJyb3JzIGZyb20gUlRDUCBzdHJlYW1zLCBqdXN0IGlnbm9yZSB0aGVtLgoJICAqIGdzdC9ydHNwL3J0c3B0cmFuc3BvcnQuYzogKHJ0c3BfdHJhbnNwb3J0X2dldF9tYW5hZ2VyKToKCSAgKiBnc3QvcnRzcC9ydHNwdHJhbnNwb3J0Lmg6CgkgIEltcGxlbWVudCBmYWxsYmFjayBzZXNzaW9uIG1hbmFnZXIuCgkgIE1ha2UgUlRQQmluIHRoZSBkZWZhdWx0IG9uZSB3aGVuIGF2YWlsYWJsZS4KCjIwMDctMDQtMDUgMTU6MDU6MjQgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcXRkZW11eC9nc3RydHB4cXRkZXBheS4qOiBUcnkgdG8gcmVjb3ZlciBmcm9tIHBhY2tldCBsb3NzIGEgbGl0dGxlIGJldHRlci4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvZ3N0cnRweHF0ZGVwYXkuYzogKGdzdF9ydHBfeHF0X2RlcGF5X3Byb2Nlc3MpLAoJICAoZ3N0X3J0cF94cXRfZGVwYXlfY2hhbmdlX3N0YXRlKToKCSAgKiBnc3QvcXRkZW11eC9nc3RydHB4cXRkZXBheS5oOgoJICBUcnkgdG8gcmVjb3ZlciBmcm9tIHBhY2tldCBsb3NzIGEgbGl0dGxlIGJldHRlci4KCjIwMDctMDQtMDUgMTM6NTY6NDQgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwL2dzdHJ0cG1wNGFkZXBheS5jOiBUaGlzIGVsZW1lbnQgaXMgcmVhZHkgdG8gYmUgYXV0b3BsdWdnZWQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHAvZ3N0cnRwbXA0YWRlcGF5LmM6IChnc3RfcnRwX21wNGFfZGVwYXlfY2xhc3NfaW5pdCksCgkgIChnc3RfcnRwX21wNGFfZGVwYXlfc2V0Y2FwcyksIChnc3RfcnRwX21wNGFfZGVwYXlfcGx1Z2luX2luaXQpOgoJICBUaGlzIGVsZW1lbnQgaXMgcmVhZHkgdG8gYmUgYXV0b3BsdWdnZWQuCgoyMDA3LTA0LTA1IDExOjI2OjI1ICswMDAwICBKdWxpZW4gTW91dHRlIDxqdWxpZW5AbW91dHRlLm5ldD4KCgkgIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzogRG9uJ3QgbGVhdmUgdGhlIG9mZnNldHMgZGVmaW5lZCBieSB1cHN0cmVhbSBlbGVtZW50IG9uIHRoZSBjb21wcmVzc2VkIGRhdGEgYnVmZmVyIHdlIGFyZSBwdXNoaS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNy0wNC0wNSAgSnVsaWVuIE1PVVRURSAgPGp1bGllbkBtb3V0dGUubmV0PgoJICAqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzogKGdzdF9hdmlfZGVtdXhfcHJvY2Vzc19uZXh0X2VudHJ5KToKCSAgRG9uJ3QgbGVhdmUgdGhlIG9mZnNldHMgZGVmaW5lZCBieSB1cHN0cmVhbSBlbGVtZW50IG9uIHRoZQoJICBjb21wcmVzc2VkIGRhdGEgYnVmZmVyIHdlIGFyZSBwdXNoaW5nIGRvd25zdHJlYW0uIE1ha2UgdGhlbQoJICBHU1RfQlVGRkVSX09GRlNFVF9OT05FLgoKMjAwNy0wNC0wNCAxMjozOTo0MSArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L2F2aS86IERvbid0IGFib3J0IG9uIG91dC1vZi1tZW1vcnkuIFVzZSBzdHJlYW0tbnIgYXMgdW5zaWduZWQgaW50ZWdlciBvbmx5LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXZpL1JFQURNRToKCSAgKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6IChnc3RfYXZpX2RlbXV4X2hhbmRsZV9zcmNfcXVlcnkpLAoJICAoZ3N0X2F2aV9kZW11eF9wYXJzZV9zdHJlYW0pLCAoZ3N0X2F2aV9kZW11eF9wYXJzZV9pbmRleCksCgkgIChnc3RfYXZpX2RlbXV4X3N0cmVhbV9pbmRleCksIChnc3RfYXZpX2RlbXV4X3N5bmMpLAoJICAoZ3N0X2F2aV9kZW11eF9zdHJlYW1fc2NhbiksIChnc3RfYXZpX2RlbXV4X21hc3NhZ2VfaW5kZXgpLAoJICAoZ3N0X2F2aV9kZW11eF9jYWxjdWxhdGVfZHVyYXRpb25zX2Zyb21faW5kZXgpLAoJICAoZ3N0X2F2aV9kZW11eF9zdHJlYW1faGVhZGVyX3B1c2gpLAoJICAoZ3N0X2F2aV9kZW11eF9zdHJlYW1faGVhZGVyX3B1bGwpLCAoZ3N0X2F2aV9kZW11eF9jb21iaW5lX2Zsb3dzKSwKCSAgKGdzdF9hdmlfZGVtdXhfcHJvY2Vzc19uZXh0X2VudHJ5KSwgKGdzdF9hdmlfZGVtdXhfc3RyZWFtX2RhdGEpOgoJICBEb24ndCBhYm9ydCBvbiBvdXQtb2YtbWVtb3J5LiBVc2Ugc3RyZWFtLW5yIGFzIHVuc2lnbmVkIGludGVnZXIgb25seS4KCjIwMDctMDQtMDMgMDk6NTU6NDUgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3Qvc21wdGUvYmFyYm94d2lwZXMuYzoKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3NtcHRlL2JhcmJveHdpcGVzLmM6CgkgIEZpeCBlcnJvciBhcyBzcG90dGVkIGJ5IFNuYWlrIDxzbmFpazMyIGF0IGdtYWlsIGRvdCBjb20+CgoyMDA3LTAzLTMwIDE3OjE5OjM0ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzogU3VwcG9ydCBhdWRpby94LXJhdy1mbG9hdCBpbiB3YXYgZmlsZXMuIFRoaXMgb25seSB3b3JrcyB3aXRoIHBsdWdpbnMtYmFzZSBDVlMsIHVzaW5nIGFuIG8uLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6CgkgIFN1cHBvcnQgYXVkaW8veC1yYXctZmxvYXQgaW4gd2F2IGZpbGVzLiBUaGlzIG9ubHkgd29ya3Mgd2l0aAoJICBwbHVnaW5zLWJhc2UgQ1ZTLCB1c2luZyBhbiBvbGRlciB2ZXJzaW9uIGRvZXNuJ3QgaGF2ZSBhbnkKCSAgZGlzYWR2YW50YWdlcyB0aG91Z2guCgoyMDA3LTAzLTMwIDE1OjU5OjI3ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBSZXZlcnQgbGFzdCBjaGFuZ2UgYXMgd2UgZG9uJ3Qgd2FudCBwbHVnaW5zLWdvb2QgdG8gZGVwZW5kIG9uIHBsdWdpbnMtYmFzZSBDVlMgbm93LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgICogZ3N0L2F1cGFyc2UvZ3N0YXVwYXJzZS5jOiAoZ3N0X2F1X3BhcnNlX3Jlc2V0KSwKCSAgKGdzdF9hdV9wYXJzZV9wYXJzZV9oZWFkZXIpLCAoZ3N0X2F1X3BhcnNlX2NoYWluKToKCSAgKiBnc3QvYXVwYXJzZS9nc3RhdXBhcnNlLmg6CgkgIFJldmVydCBsYXN0IGNoYW5nZSBhcyB3ZSBkb24ndCB3YW50IHBsdWdpbnMtZ29vZCB0byBkZXBlbmQgb24KCSAgcGx1Z2lucy1iYXNlIENWUyBub3cuCgoyMDA3LTAzLTMwIDA0OjUwOjExICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBleHQvd2F2cGFjay86IERvbid0IHBsYXkgYXVkaW9jb252ZXJ0LiBBcyB3YXZwYWNrIHdhbnRzL291dHB1dHMgYWxsIHNhbXBsZXMgd2l0aCB3aWR0aD09MzIgYW5kIGRlcHRoPVsxLDMyXSBhY2NlcHQgdGguLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2RlYy5jOiAoZ3N0X3dhdnBhY2tfZGVjX3Jlc2V0KSwKCSAgKGdzdF93YXZwYWNrX2RlY19pbml0KSwgKGdzdF93YXZwYWNrX2RlY19zaW5rX3NldF9jYXBzKSwKCSAgKGdzdF93YXZwYWNrX2RlY19jbGlwX291dGdvaW5nX2J1ZmZlciksCgkgIChnc3Rfd2F2cGFja19kZWNfcG9zdF90YWdzKSwgKGdzdF93YXZwYWNrX2RlY19jaGFpbik6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2RlYy5oOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tlbmMuYzogKGdzdF93YXZwYWNrX2VuY19yZXNldCksCgkgIChnc3Rfd2F2cGFja19lbmNfc2lua19zZXRfY2FwcyksIChnc3Rfd2F2cGFja19lbmNfc2V0X3dwX2NvbmZpZyksCgkgIChnc3Rfd2F2cGFja19lbmNfY2hhaW4pOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tlbmMuaDoKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrcGFyc2UuYzoKCSAgRG9uJ3QgcGxheSBhdWRpb2NvbnZlcnQuIEFzIHdhdnBhY2sgd2FudHMvb3V0cHV0cyBhbGwgc2FtcGxlcyB3aXRoCgkgIHdpZHRoPT0zMiBhbmQgZGVwdGg9WzEsMzJdIGFjY2VwdCB0aGlzIGFuZCBsZXQgYXVkaW9jb252ZXJ0IGNvbnZlcnQKCSAgdG8gYWNjZXB0ZWQgZm9ybWF0cyBpbnN0ZWFkIG9mIGRvaW5nIGl0IGluIHRoZSBlbGVtZW50IGZvciBuKjggZGVwdGhzLgoJICBUaGlzIGFsc28gYWRkcyBzdXBwb3J0IGZvciBub24tbio4IGRlcHRocyBhbmQgcHJldmVudHMgc29tZSB1c2VsZXNzCgkgIG1lbW9yeSBhbGxvY2F0aW9ucy4gRml4ZXMgIzQyMTU5OAoJICBBbHNvIGFkZCBhIHdvcmthcm91bmQgZm9yIGJ1ZyAjNDIxNTQyIGluIHdhdnBhY2tlbmMgZm9yIG5vdy4uLgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3dhdnBhY2tkZWMuYzogKEdTVF9TVEFSVF9URVNUKToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy93YXZwYWNrZW5jLmM6IChHU1RfU1RBUlRfVEVTVCk6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvd2F2cGFja3BhcnNlLmM6IChHU1RfU1RBUlRfVEVTVCk6CgkgIENvbnNpZGVyIHRoZSBjaGFuZ2UgYWJvdmUgaW4gdGhlIHVuaXQgdGVzdHMgYW5kIHRlc3QgaWYgdGhlIGNvcnJlY3QKCSAgY2FwcyBhcmUgYWNjZXB0ZWQgYW5kIHNldC4gQWxzbyBjaGVjayBmb3IgR1NUX0JVRkZFUl9PRkZTRVRfRU5EIGluCgkgIHRoZSB3YXZwYWNrcGFyc2UgdW5pdCB0ZXN0LgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tkZWMuYzogKGdzdF93YXZwYWNrX2RlY19pbml0KSwKCSAgKGdzdF93YXZwYWNrX2RlY19zaW5rX3NldF9jYXBzKToKCSAgU2V0IGNhcHMgb24gdGhlIHNyYyBwYWQgYXMgc29vbiBhcyBwb3NzaWJsZS4KCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZGVjLmg6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2NvbW1vbi5oOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tlbmMuaDoKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrcGFyc2UuaDoKCSAgRml4IGluZGVudGlvbi4gZ3N0LWluZGVudCBpcyBub3cgY2FsbGVkIGJ5IGNpY2wuCgoyMDA3LTAzLTI5IDE4OjUxOjMzICswMDAwICBSZW7DqSBTdGFkbGVyIDxtYWlsQHJlbmVzdGFkbGVyLmRlPgoKCSAgY29uZmlndXJlLmFjOiBSZXF1aXJlIGdzdC1wbHVnaW5zLWJhc2UgQ1ZTIGZvciBhdWRpb2NvbnZlcnQgd2l0aCBub24tbmF0aXZlIGZsb2F0IHN1cHBvcnQgYW5kIHdpZHRoL2RlcHRoIGZpeCBpbiBsaWJnLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgUmVxdWlyZSBnc3QtcGx1Z2lucy1iYXNlIENWUyBmb3IgYXVkaW9jb252ZXJ0IHdpdGggbm9uLW5hdGl2ZQoJICBmbG9hdCBzdXBwb3J0IGFuZCB3aWR0aC9kZXB0aCBmaXggaW4gbGliZ3N0cmlmZi4KCSAgUGF0Y2ggYnk6IFJlbsOpIFN0YWRsZXIgPG1haWwgYXQgcmVuZXN0YWRsZXIgZG90IGRlPgoJICAqIGdzdC9hdXBhcnNlL2dzdGF1cGFyc2UuYzogKGdzdF9hdV9wYXJzZV9yZXNldCksCgkgIChnc3RfYXVfcGFyc2VfcGFyc2VfaGVhZGVyKSwgKGdzdF9hdV9wYXJzZV9jaGFpbik6CgkgICogZ3N0L2F1cGFyc2UvZ3N0YXVwYXJzZS5oOgoJICBEb24ndCBzd2FwIHRoZSBmbG9hdHMgb3Vyc2VsZiBpZiB0aGV5J3JlIG5vdCBpbiBuYXRpdmUgZW5kaWFubmVzcy4KCSAgSW5zdGVhZCBsZXQgYXVkaW9jb252ZXJ0IGhhbmRsZSB0aGlzLiBGaXhlcyAjMzM5ODM4LgoKMjAwNy0wMy0yOSAxNDo0MDozNSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHAvOiBGbHVzaCBhZGFwdGVyIG9uIGRpc2NvbnRzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwL2dzdGFzdGVyaXNraDI2My5oOgoJICAqIGdzdC9ydHAvZ3N0cnRwaDI2M3BkZXBheS5jOiAoZ3N0X3J0cF9oMjYzcF9kZXBheV9wcm9jZXNzKSwKCSAgKGdzdF9ydHBfaDI2M3BfZGVwYXlfY2hhbmdlX3N0YXRlKToKCSAgKiBnc3QvcnRwL2dzdHJ0cGgyNjNwZGVwYXkuaDoKCSAgKiBnc3QvcnRwL2dzdHJ0cGgyNjRkZXBheS5jOiAoZ3N0X3J0cF9oMjY0X2RlcGF5X2NsYXNzX2luaXQpLAoJICAoZ3N0X3J0cF9oMjY0X2RlcGF5X3NldGNhcHMpLCAoZ3N0X3J0cF9oMjY0X2RlcGF5X3Byb2Nlc3MpLAoJICAoZ3N0X3J0cF9oMjY0X2RlcGF5X2NoYW5nZV9zdGF0ZSk6CgkgICogZ3N0L3J0cC9nc3RydHBoMjY0ZGVwYXkuaDoKCSAgKiBnc3QvcnRwL2dzdHJ0cG1wNGFkZXBheS5jOiAoZ3N0X3J0cF9tcDRhX2RlcGF5X2NsYXNzX2luaXQpLAoJICAoZ3N0X3J0cF9tcDRhX2RlcGF5X3NldGNhcHMpLCAoZ3N0X3J0cF9tcDRhX2RlcGF5X3Byb2Nlc3MpOgoJICAqIGdzdC9ydHAvZ3N0cnRwbXA0Z2RlcGF5LmM6IChnc3RfcnRwX21wNGdfZGVwYXlfcHJvY2Vzcyk6CgkgIEZsdXNoIGFkYXB0ZXIgb24gZGlzY29udHMuCgoyMDA3LTAzLTI5IDE0OjAzOjIxICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cC86IFVzZSBtb3JlIGVmZmljaWVudCBhZGFwdGVyIGFuZCBydHBidWZmZXIgbWV0aG9kcyB3aGVuIHBvc3NpYmxlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwL2dzdHJ0cEwxNmRlcGF5LmM6IChnc3RfcnRwX0wxNl9kZXBheV9wcm9jZXNzKToKCSAgKiBnc3QvcnRwL2dzdHJ0cGdzbWRlcGF5LmM6IChnc3RfcnRwX2dzbV9kZXBheV9wcm9jZXNzKToKCSAgKiBnc3QvcnRwL2dzdHJ0cGlsYmNkZXBheS5jOiAoZ3N0X3J0cF9pbGJjX2RlcGF5X3Byb2Nlc3MpOgoJICAqIGdzdC9ydHAvZ3N0cnRwbXAydGRlcGF5LmM6IChnc3RfcnRwX21wMnRfZGVwYXlfcHJvY2Vzcyk6CgkgICogZ3N0L3J0cC9nc3RydHBtcDRnZGVwYXkuYzogKGdzdF9ydHBfbXA0Z19kZXBheV9wcm9jZXNzKToKCSAgKiBnc3QvcnRwL2dzdHJ0cG1wNGdwYXkuYzogKGdzdF9ydHBfbXA0Z19wYXlfZmx1c2gpOgoJICAqIGdzdC9ydHAvZ3N0cnRwbXA0dmRlcGF5LmM6IChnc3RfcnRwX21wNHZfZGVwYXlfc2V0Y2FwcyksCgkgIChnc3RfcnRwX21wNHZfZGVwYXlfcHJvY2Vzcyk6CgkgICogZ3N0L3J0cC9nc3RydHBtcDR2cGF5LmM6IChnc3RfcnRwX21wNHZfcGF5X2ZsdXNoKToKCSAgKiBnc3QvcnRwL2dzdHJ0cG1wYWRlcGF5LmM6IChnc3RfcnRwX21wYV9kZXBheV9wcm9jZXNzKToKCSAgKiBnc3QvcnRwL2dzdHJ0cG1wYXBheS5jOiAoZ3N0X3J0cF9tcGFfcGF5X2ZsdXNoKToKCSAgKiBnc3QvcnRwL2dzdHJ0cG1wdmRlcGF5LmM6IChnc3RfcnRwX21wdl9kZXBheV9wcm9jZXNzKToKCSAgKiBnc3QvcnRwL2dzdHJ0cHBjbWFkZXBheS5jOiAoZ3N0X3J0cF9wY21hX2RlcGF5X3Byb2Nlc3MpOgoJICAqIGdzdC9ydHAvZ3N0cnRwcGNtdWRlcGF5LmM6IChnc3RfcnRwX3BjbXVfZGVwYXlfcHJvY2Vzcyk6CgkgICogZ3N0L3J0cC9nc3RydHBzdjN2ZGVwYXkuYzogKGdzdF9ydHBfc3Yzdl9kZXBheV9wcm9jZXNzKToKCSAgVXNlIG1vcmUgZWZmaWNpZW50IGFkYXB0ZXIgYW5kIHJ0cGJ1ZmZlciBtZXRob2RzIHdoZW4gcG9zc2libGUuCgoyMDA3LTAzLTI5IDEyOjE0OjIyICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3Qvd2F2ZW5jL2dzdHdhdmVuYy5jOiBDb3JyZWN0bHkgaGFuZGxlIHdpZHRoIT1kZXB0aCBpbnB1dC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3dhdmVuYy9nc3R3YXZlbmMuYzogKGdzdF93YXZlbmNfY3JlYXRlX2hlYWRlcl9idWYpLAoJICAoZ3N0X3dhdmVuY19zaW5rX3NldGNhcHMpOgoJICBDb3JyZWN0bHkgaGFuZGxlIHdpZHRoIT1kZXB0aCBpbnB1dC4KCSAgKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzoKCSAgQWxyZWFkeSBleHBvcnQgaW4gdGhlIGNhcHMgdGhhdCB3aWR0aD09OCB1c2VzIHVuc2lnbmVkIHNhbXBsZXMgYW5kCgkgIGV2ZXJ5dGhpbmcgZWxzZSB1c2VzIHNpZ25lZCBzYW1wbGVzLgoKMjAwNy0wMy0yOSAwOTo1OToyMyArMDAwMCAgTGF1cmVudCBHbGF5YWwgPHNwZ2xlZ2xlQHlhaG9vLmZyPgoKCSAgZ3N0L3VkcC86IFJld29yayB0aGUgc29ja2V0IGFsbG9jYXRpb24gYSBiaXQgYmFzZWQgb24gdGhlIHNvY2tmZCBhcmd1bWVudCBzbyB0aGF0IGl0IGJlY29tZXMgdXNhYmxlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IExhdXJlbnQgR2xheWFsIDxzcGdsZWdsZSBhdCB5YWhvbyBkb3QgZnI+CgkgICogZ3N0L3VkcC9nc3RkeW51ZHBzaW5rLmM6IChnc3RfZHludWRwc2lua19jbGFzc19pbml0KSwKCSAgKGdzdF9keW51ZHBzaW5rX2luaXQpLCAoZ3N0X2R5bnVkcHNpbmtfc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9keW51ZHBzaW5rX2dldF9wcm9wZXJ0eSksIChnc3RfZHludWRwc2lua19pbml0X3NlbmQpLAoJICAoZ3N0X2R5bnVkcHNpbmtfY2xvc2UpOgoJICAqIGdzdC91ZHAvZ3N0ZHludWRwc2luay5oOgoJICAqIGdzdC91ZHAvZ3N0dWRwc3JjLmM6IChnc3RfdWRwc3JjX2NsYXNzX2luaXQpLCAoZ3N0X3VkcHNyY19pbml0KSwKCSAgKGdzdF91ZHBzcmNfY3JlYXRlKSwgKGdzdF91ZHBzcmNfc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF91ZHBzcmNfZ2V0X3Byb3BlcnR5KSwgKGdzdF91ZHBzcmNfc3RhcnQpLCAoZ3N0X3VkcHNyY19zdG9wKToKCSAgKiBnc3QvdWRwL2dzdHVkcHNyYy5oOgoJICBSZXdvcmsgdGhlIHNvY2tldCBhbGxvY2F0aW9uIGEgYml0IGJhc2VkIG9uIHRoZSBzb2NrZmQgYXJndW1lbnQgc28gdGhhdAoJICBpdCBiZWNvbWVzIHVzYWJsZS4KCSAgQWRkIGEgY2xvc2VmZCBwcm9wZXJ0eSB0byBpbnN0cnVjdCB0aGUgdWRwIGVsZW1lbnRzIHRvIGNsb3NlIHRoZSBjdXN0b20KCSAgZmlsZSBkZXNjcmlwdG9ycyB3aGVuIGdvaW5nIHRvIFJFQURZLiBGaXhlcyAjNDIzMzA0LgoJICBBUEk6R3N0VURQU3JjOjpjbG9zZWZkIHByb3BlcnR5CgkgIEFQSTpHc3REeW5VRFBTaW5rOjpjbG9zZWZkIHByb3BlcnR5CgoyMDA3LTAzLTI5IDA4OjA4OjQ5ICswMDAwICBMYXVyZW50IEdsYXlhbCA8c3BnbGVnbGVAeWFob28uZnI+CgoJICBnc3QvcnRwLzogQWRkZWQgSDI2NCBwYXlsb2FkZXIuIEZpeGVzICM0MjM3ODIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogTGF1cmVudCBHbGF5YWwgPHNwZ2xlZ2xlIGF0IHlhaG9vIGRvdCBmcj4KCSAgKiBnc3QvcnRwL01ha2VmaWxlLmFtOgoJICAqIGdzdC9ydHAvZ3N0cnRwLmM6IChwbHVnaW5faW5pdCk6CgkgICogZ3N0L3J0cC9nc3RydHBoMjY0cGF5LmM6IChnc3RfcnRwX2gyNjRfcGF5X2Jhc2VfaW5pdCksCgkgIChnc3RfcnRwX2gyNjRfcGF5X2NsYXNzX2luaXQpLCAoZ3N0X3J0cF9oMjY0X3BheV9pbml0KSwKCSAgKGdzdF9ydHBfaDI2NF9wYXlfZmluYWxpemUpLCAoZ3N0X3J0cF9oMjY0X3BheV9zZXRjYXBzKSwKCSAgKGdzdF9ydHBfaDI2NF9wYXlfaGFuZGxlX2J1ZmZlciksIChnc3RfcnRwX2gyNjRfcGF5X3NldF9wcm9wZXJ0eSksCgkgIChnc3RfcnRwX2gyNjRfcGF5X2dldF9wcm9wZXJ0eSksIChnc3RfcnRwX2gyNjRfcGF5X2NoYW5nZV9zdGF0ZSksCgkgIChnc3RfcnRwX2gyNjRfcGF5X3BsdWdpbl9pbml0KToKCSAgKiBnc3QvcnRwL2dzdHJ0cGgyNjRwYXkuaDoKCSAgQWRkZWQgSDI2NCBwYXlsb2FkZXIuIEZpeGVzICM0MjM3ODIuCgkgICogZ3N0L3J0cC9nc3RydHBoMjY0ZGVwYXkuYzogKGdzdF9ydHBfaDI2NF9kZXBheV9jbGFzc19pbml0KSwKCSAgKGdzdF9ydHBfaDI2NF9kZXBheV9zZXRjYXBzKSwgKGdzdF9ydHBfaDI2NF9kZXBheV9wcm9jZXNzKToKCSAgU21hbGwgZml4ZXMuCgoyMDA3LTAzLTI4IDIyOjI3OjM2ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzogQWN0dWFsbHkgc3VwcG9ydCBkZXB0aHMgZnJvbSAxIHRvIDMyLCBub3Qgb25seSA4IHRvIDMyLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzoKCSAgQWN0dWFsbHkgc3VwcG9ydCBkZXB0aHMgZnJvbSAxIHRvIDMyLCBub3Qgb25seSA4IHRvIDMyLgoKMjAwNy0wMy0yOCAyMjoyMzo0MyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6IEFkZCBzdXBwb3J0IGZvciB3YXYgZmlsZXMgY29udGFpbmluZyBhdWRpby94LXJhdy1pbnQgd2l0aCByYW5kb20gZGVwdGhzIGJldHdlZW4gMSBhbmQgMzIgLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOgoJICBBZGQgc3VwcG9ydCBmb3Igd2F2IGZpbGVzIGNvbnRhaW5pbmcgYXVkaW8veC1yYXctaW50IHdpdGggcmFuZG9tCgkgIGRlcHRocyBiZXR3ZWVuIDEgYW5kIDMyIGJpdHMuCgoyMDA3LTAzLTI4IDE4OjQwOjEyICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJICBnc3QvcnRwLzogQWRkZWQgTVA0QS1MQVRNIGRlcGF5bG9hZGVyLiBGaXhlcyAjNDE3NzkyLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgQmFzZWQgb24gcGF0Y2ggYnk6IFN0ZWZhbiBLb3N0ICA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgkgICogZ3N0L3J0cC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvcnRwL2dzdHJ0cC5jOiAocGx1Z2luX2luaXQpOgoJICAqIGdzdC9ydHAvZ3N0cnRwbXA0YWRlcGF5LmM6IChnc3RfcnRwX21wNGFfZGVwYXlfYmFzZV9pbml0KSwKCSAgKGdzdF9ydHBfbXA0YV9kZXBheV9jbGFzc19pbml0KSwgKGdzdF9ydHBfbXA0YV9kZXBheV9pbml0KSwKCSAgKGdzdF9ydHBfbXA0YV9kZXBheV9maW5hbGl6ZSksIChnc3RfcnRwX21wNGFfZGVwYXlfc2V0Y2FwcyksCgkgIChnc3RfcnRwX21wNGFfZGVwYXlfcHJvY2VzcyksIChnc3RfcnRwX21wNGFfZGVwYXlfc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9ydHBfbXA0YV9kZXBheV9nZXRfcHJvcGVydHkpLAoJICAoZ3N0X3J0cF9tcDRhX2RlcGF5X2NoYW5nZV9zdGF0ZSksCgkgIChnc3RfcnRwX21wNGFfZGVwYXlfcGx1Z2luX2luaXQpOgoJICAqIGdzdC9ydHAvZ3N0cnRwbXA0YWRlcGF5Lmg6CgkgIEFkZGVkIE1QNEEtTEFUTSBkZXBheWxvYWRlci4gRml4ZXMgIzQxNzc5Mi4KCSAgKiBnc3QvcnRwL2dzdHJ0cG1wNHZkZXBheS5jOiAoZ3N0X3J0cF9tcDR2X2RlcGF5X3NldGNhcHMpLAoJICAoZ3N0X3J0cF9tcDR2X2RlcGF5X3Byb2Nlc3MpOgoJICBGaXh1cCBkZXBheWxvYWRlciwgc2V0dGluZyBjb2RlY19kYXRhLCB1c2luZyBtb3JlIGVmZmljaWVudCBhZGFwdG9yIGFuZAoJICBydHBidWZmZXIgaGFuZGxpbmcuCgkgICogZ3N0L3J0c3AvVVJMUzoKCSAgQWRkIHVybCB0byB0ZXN0IGFib3ZlLgoKMjAwNy0wMy0yOCAxNToxNzoyNyArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIGdzdC9xdGRlbXV4LzogUHJvY2VzcyAnY3R0cycgYXRvbXMsIHdoaWNoIGFyZSBwcmVzZW50IGluIEFWQyBJU08gZmlsZXMgKC5tb3YgZmlsZXMgd2l0aCBoMjY0IHZpZGVvKS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAoZ3N0X3F0ZGVtdXhfcHJlcGFyZV9jdXJyZW50X3NhbXBsZSksCgkgIChnc3RfcXRkZW11eF9jaGFpbiksIChxdGRlbXV4X3BhcnNlX3NhbXBsZXMpOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXhfZHVtcC5jOiAocXRkZW11eF9kdW1wX2N0dHMpOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXhfZHVtcC5oOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXhfZm91cmNjLmg6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eF90eXBlcy5jOgoJICBQcm9jZXNzICdjdHRzJyBhdG9tcywgd2hpY2ggYXJlIHByZXNlbnQgaW4gQVZDIElTTyBmaWxlcyAoLm1vdiBmaWxlcwoJICB3aXRoIGgyNjQgdmlkZW8pLgoJICBVc2UgdGhlIG9mZnNldCBwcmVzZW50IGluICdjdHRzJyB0byBjYWxjdWxhdGUgdGhlIFBUUyBmb3IgZWFjaCBwYWNrZXQKCSAgYW5kIHNldCB0aGUgUFRTIG9uIG91dGdvaW5nIGJ1ZmZlcnMuCgkgIEZpeGVzICM0MjMyODMKCjIwMDctMDMtMjUgMTU6MzQ6NDIgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRzcC9nc3RydHNwc3JjLio6IEhhbmRsZSBkZWZhdWx0IGNsb2NrLXJhdGVzIGZvciBzdGF0aWMgcGF5bG9hZCB0eXBlcywgcmVhcnJhbmdlIHN0dWZmIHNvIHRoYXQgdGhlIHJ0cG1hcCBmaWVsZCAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiAoZmluZF9zdHJlYW1fYnlfc2V0dXApLAoJICAoZ3N0X3J0c3BzcmNfY3JlYXRlX3N0cmVhbSksIChnc3RfcnRzcHNyY19zdHJlYW1fZnJlZSksCgkgIChnZXRfZGVmYXVsdF9yYXRlX2Zvcl9wdCksIChnc3RfcnRzcHNyY19wYXJzZV9ydHBtYXApLAoJICAoZ3N0X3J0c3BzcmNfbWVkaWFfdG9fY2FwcyksCgkgIChnc3RfcnRzcHNyY19zdHJlYW1fY29uZmlndXJlX3RyYW5zcG9ydCksCgkgIChnc3RfcnRzcHNyY19zdHJlYW1fY29uZmlndXJlX2NhcHMpLAoJICAoZ3N0X3J0c3BzcmNfYWN0aXZhdGVfc3RyZWFtcyksIChnc3RfcnRzcHNyY19wYXJzZV9ydHBpbmZvKToKCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmg6CgkgIEhhbmRsZSBkZWZhdWx0IGNsb2NrLXJhdGVzIGZvciBzdGF0aWMgcGF5bG9hZCB0eXBlcywgcmVhcnJhbmdlIHN0dWZmIHNvCgkgIHRoYXQgdGhlIHJ0cG1hcCBmaWVsZCBpbiB0aGUgc2RwIGNhbiBvdmVycmlkZSB0aGUgZGVmYXVsdHMuCgkgIFBhcnNlIFJUUC1JbmZvIGZpZWxkIHRvIGdldCB0aGUgc2VxbnVtIGFuZCB0aW1lYmFzZSBmaWVsZHMgdGhhdCBzaG91bGQKCSAgZ28gaW4gdGhlIGNhcHMuCgkgIERlbGF5IGNvbmZpZ3VyaW5nIGNhcHMgYWZ0ZXIgd2UgZ290IHRoZSBSVFAtSW5mbyBmcm9tIHRoZSBQTEFZIHJlcGx5IGZyb20KCSAgdGhlIHNlcnZlci4KCjIwMDctMDMtMjQgMTk6NDY6NTkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvaW50ZXJsZWF2ZS9kZWludGVybGVhdmUuYzogUmVtb3ZlICdjaGFubmVsLXBvc2l0aW9ucycgZmllbGQgd2hlbiBtdW5naW5nIGlucHV0IGNhcHMgaW50byAxLWNoYW5uZWwgb3V0cHV0IGNhcHMgKEkuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2ludGVybGVhdmUvZGVpbnRlcmxlYXZlLmM6IChnc3RfZGVpbnRlcmxlYXZlX3Npbmtfc2V0Y2Fwcyk6CgkgIFJlbW92ZSAnY2hhbm5lbC1wb3NpdGlvbnMnIGZpZWxkIHdoZW4gbXVuZ2luZyBpbnB1dCBjYXBzIGludG8KCSAgMS1jaGFubmVsIG91dHB1dCBjYXBzIChJIGd1ZXNzIHRlY2huaWNhbGx5IHdlIHNob3VsZCBzZXQgdGhlCgkgIHBvc2l0aW9uIGZvciBlYWNoIGNoYW5uZWwgb24gdGhlIG91dHB1dCBjYXBzIGlmIGl0J3Mgbm9uLU5PTkUsCgkgIGJ1dCBJJ2xsIHNhdmUgdGhhdCBhcyBhIHRhc2sgZm9yIGFub3RoZXIgZGF5KS4KCjIwMDctMDMtMjIgMjI6MTQ6MjkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvaW50ZXJsZWF2ZS9kZWludGVybGVhdmUuYzogRG9uJ3QgbGVhayBpbnB1dCBidWZmZXIgaW4gY2hhaW4gZnVuY3Rpb247IG1haW50YWluIG91ciBvd24gbGlzdCBvZiBzb3VyY2UgcGFkcyAtIHRoZXIuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2ludGVybGVhdmUvZGVpbnRlcmxlYXZlLmM6IChnc3RfZGVpbnRlcmxlYXZlX2FkZF9uZXdfcGFkcyksCgkgIChnc3RfZGVpbnRlcmxlYXZlX3JlbW92ZV9wYWRzKSwgKGdzdF9kZWludGVybGVhdmVfcHJvY2VzcyksCgkgIChnc3RfZGVpbnRlcmxlYXZlX2NoYWluKToKCSAgRG9uJ3QgbGVhayBpbnB1dCBidWZmZXIgaW4gY2hhaW4gZnVuY3Rpb247IG1haW50YWluIG91ciBvd24gbGlzdCBvZgoJICBzb3VyY2UgcGFkcyAtIHRoZXJlIGFyZSBubyBndWFyYW50ZWVzIGFib3V0IHRoZSBvcmRlciBvZiB0aGUgbGlzdAoJICBpbiB0aGUgR3N0RWxlbWVudCBzdHJ1Y3QsIGFuZCB3ZSB3YW50IGEgdmVyeSBzcGVjaWZpYyBvcmRlcjsgbGFzdGx5LAoJICBzb21lIG1vcmUgZGVidWdnaW5nLgoKMjAwNy0wMy0yMiAxNjoyNTo1NiArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZXh0L3dhdnBhY2svZ3N0d2F2cGFja3BhcnNlLmM6IFJldmVydCBsYXN0IGNvbW1pdCwgcHJldmVudGluZyBpbmZpbml0ZSBwbHVnZ2luZyBsb29wcyB3aXRoIHJhbmtzIGlzIG5vIGNsZWFuIHNvbHV0aW9uLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2twYXJzZS5jOiAoZ3N0X3dhdnBhY2tfcGFyc2VfcGx1Z2luX2luaXQpOgoJICBSZXZlcnQgbGFzdCBjb21taXQsIHByZXZlbnRpbmcgaW5maW5pdGUgcGx1Z2dpbmcgbG9vcHMgd2l0aCByYW5rcwoJICBpcyBubyBjbGVhbiBzb2x1dGlvbiBhbmQgaW4gZ2VuZXJhbCB0aGVyZSdzIG5vIHJlYXNvbiB3aHkgb25lIHdhbnRzCgkgIHRvIHBhcnNlIGZyYW1lZCB3YXZwYWNrIGRhdGEgYWdhaW4uCgoyMDA3LTAzLTIyIDE1OjUyOjUxICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBleHQvd2F2cGFjay9nc3R3YXZwYWNrZW5jLmM6IFNlbmQgdGhlIG5ldyBzZWdtZW50IGV2ZW50IGluIHRpbWUgZm9ybWF0IGluc3RlYWQgb2YgYnl0ZXMuIFRoaXMgYWxsb3dzICJ3YXZwYWNrZW5jICEgd2EuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2VuYy5jOiAoZ3N0X3dhdnBhY2tfZW5jX3B1c2hfYmxvY2spOgoJICBTZW5kIHRoZSBuZXcgc2VnbWVudCBldmVudCBpbiB0aW1lIGZvcm1hdCBpbnN0ZWFkIG9mIGJ5dGVzLiBUaGlzCgkgIGFsbG93cyAid2F2cGFja2VuYyAhIHdhdnBhY2tkZWMgISBzb21lYXVkaW9zaW5rIiBwaXBlbGluZXMuCgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja3BhcnNlLmM6IChnc3Rfd2F2cGFja19wYXJzZV9wbHVnaW5faW5pdCk6CgkgIEFjY2VwdCBmcmFtZWQgYW5kIG5vbi1mcmFtZWQgaW5wdXQsIHdhdnBhY2twYXJzZSBkb2Vzbid0IGNhcmUuIFRvCgkgIHByZXZlbnQgIndhdnBhY2twYXJzZSAhIHdhdnBhY2twYXJzZSAhIC4uLiIgcGlwZWxpbmVzIGxvd2VyIHRoZQoJICByYW5rIG9mIHdhdnBhY2twYXJzZSBieSBvbmUuIFRoaXMgYWxsb3dzICJ3YXZwYWNrZW5jICEgd2F2cGFja3BhcnNlICEKCSAgLi4uIiBwaXBlbGluZXMuCgoyMDA3LTAzLTIyIDExOjA4OjAzICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBleHQvd2F2cGFjay9nc3R3YXZwYWNrZGVjLmM6IFJldmVydCB0byB1c2UgZ3N0X3BhZF9hbGxvY19idWZmZXIoKSBoZXJlLiBXZSBjYW4gYW5kIHNob3VsZCB1c2UgaXQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tkZWMuYzogKGdzdF93YXZwYWNrX2RlY19jaGFpbik6CgkgIFJldmVydCB0byB1c2UgZ3N0X3BhZF9hbGxvY19idWZmZXIoKSBoZXJlLiBXZSBjYW4gYW5kIHNob3VsZCB1c2UgaXQuCgkgIFRoYW5rcyB0byBKYW4gYW5kIE1pa2UgZm9yIG5vdGljaW5nIG15IG1pc3Rha2UuCgoyMDA3LTAzLTIyIDA5OjQ0OjE3ICswMDAwICBDaHJpc3RvcGhlIERlaGFpcyA8Y2hyaXN0b3BoZS5kZWhhaXNAZ21haWwuY29tPgoKCSAgZXh0L2djb25mL2djb25mLmM6IEFjY2VwdCBjb21wbGV4IHBpcGVsaW5lIGRlc2NyaXB0aW9ucyBhcyBhbiBhdWRpbyBwcm9maWxlIGluc3RlYWQgb2YganVzdCBhIHNpbmdsZSBlbGVtZW50LiBGaXhlcyAjLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogQ2hyaXN0b3BoZSBEZWhhaXMgPGNocmlzdG9waGUgZG90IGRlaGFpcyBhdCBnbWFpbCBkb3QgY29tPgoJICAqIGV4dC9nY29uZi9nY29uZi5jOiAoZ3N0X2djb25mX3JlbmRlcl9iaW5fd2l0aF9kZWZhdWx0KToKCSAgQWNjZXB0IGNvbXBsZXggcGlwZWxpbmUgZGVzY3JpcHRpb25zIGFzIGFuIGF1ZGlvIHByb2ZpbGUgaW5zdGVhZCBvZiBqdXN0CgkgIGEgc2luZ2xlIGVsZW1lbnQuIEZpeGVzICM0MjA2NTguCgoyMDA3LTAzLTIyIDAwOjE3OjQxICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBleHQvd2F2cGFjay9nc3R3YXZwYWNrZW5jLio6IFB1dCB0aGUgd3JpdGUgaGVscGVycyBpbnRvIHRoZSBHc3RXYXZwYWNrRW5jIHN0cnVjdCBkaXJlY3RseSBhbmQgbm90IGFzIGEgcG9pbnRlciB0byBzYXYuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2VuYy5jOiAoZ3N0X3dhdnBhY2tfZW5jX2NsYXNzX2luaXQpLAoJICAoZ3N0X3dhdnBhY2tfZW5jX2luaXQpLCAoZ3N0X3dhdnBhY2tfZW5jX2NoYWluKSwKCSAgKGdzdF93YXZwYWNrX2VuY19yZXdyaXRlX2ZpcnN0X2Jsb2NrKToKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZW5jLmg6CgkgIFB1dCB0aGUgd3JpdGUgaGVscGVycyBpbnRvIHRoZSBHc3RXYXZwYWNrRW5jIHN0cnVjdCBkaXJlY3RseSBhbmQgbm90CgkgIGFzIGEgcG9pbnRlciB0byBzYXZlIHR3byBzbWFsbCwgYnV0IHVzZWxlc3MgbWFsbG9jcy4gVGhpcyBhbHNvIG1ha2VzCgkgIGl0IHBvc3NpYmxlIHRvIGRyb3AgdGhlIGZpbmFsaXplIG1ldGhvZC4KCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrcGFyc2UuYzogKGdzdF93YXZwYWNrX3BhcnNlX3B1c2hfYnVmZmVyKToKCSAgRm9yIGNvbnNpc3RlbmN5IHJlYXNvbnMgYWxzbyBzZXQgR1NUX0JVRkZFUl9PRkZTRVRfRU5EIG9uIHRoZSBvdXRnb2luZwoJICBidWZmZXJzIHRoZSBzYW1lIHdheSB3YXZwYWNrZW5jIGRvZXMgaXQuCgoyMDA3LTAzLTIxIDIzOjUwOjA5ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBleHQvd2F2cGFjay9nc3R3YXZwYWNrZGVjLmM6IERvbid0IHVzZSBnc3RfcGFkX2FsbG9jX2J1ZmZlcigpIGFzIHdlIG1pZ2h0IGNsaXAgdGhlIGJ1ZmZlciBsYXRlciBhbmQKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2RlYy5jOiAoZ3N0X3dhdnBhY2tfZGVjX2NoYWluKToKCSAgRG9uJ3QgdXNlIGdzdF9wYWRfYWxsb2NfYnVmZmVyKCkgYXMgd2UgbWlnaHQgY2xpcCB0aGUgYnVmZmVyIGxhdGVyIGFuZAoJICBCYXNlVHJhbnNmb3JtLWJhc2VkIGVsZW1lbnRzIHdpbGwgbGlrZWx5IGJyZWFrIGJlY2F1c2Ugb2Ygd3JvbmcKCSAgdW5pdC1zaXplLiBBbHNvIHBsdWcgYSBwb3NzaWJsZSBtZW1sZWFrIHRoYXQgaGFwcGVucyB3aGVuIGRlY29kaW5nCgkgIGZhaWxzIGZvciBzb21lIHJlYXNvbi4KCjIwMDctMDMtMjEgMTE6NDk6MzIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvYXBldGFnL2dzdHRhZ2RlbXV4LmM6IFJlbmFtZSByZWdpc3RlcmVkIHR5cGUgaW4gcHJlcGFyYXRpb24gb2YgR3N0VGFnRGVtdXggbW92aW5nIHRvCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hcGV0YWcvZ3N0dGFnZGVtdXguYzogKGdzdF90YWdfZGVtdXhfZ2V0X3R5cGUpOgoJICBSZW5hbWUgcmVnaXN0ZXJlZCB0eXBlIGluIHByZXBhcmF0aW9uIG9mIEdzdFRhZ0RlbXV4IG1vdmluZyB0bwoJICAtYmFzZSBhdCBzb21lIHBvaW50IGluIHRoZSBmdXR1cmUuCgoyMDA3LTAzLTE5IDEwOjI5OjE5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6IFN0cmVhbWluZyBtb2RlIGZpeGVzOiBkb24ndCB1bnJlZiBidWZmZXIgd2UgZG9uJ3Qgb3duIGFueSBsb25nZXI7IHJlbW92ZSBib2d1cyBhZGFwdGVyIGZsLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOiAoZ3N0X3dhdnBhcnNlX3N0cmVhbV9oZWFkZXJzKToKCSAgU3RyZWFtaW5nIG1vZGUgZml4ZXM6IGRvbid0IHVucmVmIGJ1ZmZlciB3ZSBkb24ndCBvd24gYW55IGxvbmdlcjsKCSAgcmVtb3ZlIGJvZ3VzIGFkYXB0ZXIgZmx1c2guIEZpeGVzICM0MTkzMzguCgoyMDA3LTAzLTE4IDA0OjIxOjI4ICswMDAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkgIFJFUVVJUkVNRU5UUzogQ2hhbmdlIHRoZSBmb3JtYXQgdG8ga2V5L3ZhbHVlLCBhZGQgYSBidW5jaCBvZiBpbmZvcm1hdGlvbiwgcmVtb3ZlIGEgYnVuY2ggb2YgcmVxdWlyZW1lbnRzIHRoYXQgYXJlIGZvci4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBSRVFVSVJFTUVOVFM6IENoYW5nZSB0aGUgZm9ybWF0IHRvIGtleS92YWx1ZSwgYWRkIGEgYnVuY2ggb2YKCSAgaW5mb3JtYXRpb24sIHJlbW92ZSBhIGJ1bmNoIG9mIHJlcXVpcmVtZW50cyB0aGF0IGFyZSBmb3IKCSAgb3RoZXIgR1N0cmVhbWVyIHBhY2thZ2VzLgoKMjAwNy0wMy0xOCAwMjowMDo1NCArMDAwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJICBSRVFVSVJFTUVOVFM6IEZpeCBhIGZldyB0aGluZ3MuICBUaGlzIGZpbGUgcmVhbGx5IG5lZWRzIGEgZ29vZCBvbmNlLW92ZXIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIFJFUVVJUkVNRU5UUzogRml4IGEgZmV3IHRoaW5ncy4gIFRoaXMgZmlsZSByZWFsbHkgbmVlZHMgYQoJICBnb29kIG9uY2Utb3Zlci4KCjIwMDctMDMtMTYgMTg6Mzg6MTggKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBzeXMvb3N4dmlkZW8vb3N4dmlkZW9zaW5rLm06IEZpeCBwcmV2aW91cyBjb21taXQsIHdlIHdhbnQgdG8gcGFzcyB0aGUgTlNWaWV3IGluIHRoZSBtZXNzYWdlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvb3N4dmlkZW8vb3N4dmlkZW9zaW5rLm06CgkgIEZpeCBwcmV2aW91cyBjb21taXQsIHdlIHdhbnQgdG8gcGFzcyB0aGUgTlNWaWV3IGluIHRoZSBtZXNzYWdlLgoKMjAwNy0wMy0xNiAxNjoyNzoyMCArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIHN5cy9vc3h2aWRlby9vc3h2aWRlb3NpbmsubTogRW1pdCAnaGF2ZS1ucy12aWV3JyBtZXNzYWdlIHdoZW4gd29ya2luZyBpbiBlbWJlZGRlZCBtb2RlLiBUaGUgbWVzc2FnZSB3aWxsIGNvbnRhaW4gYSBwby4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvb3N4dmlkZW8vb3N4dmlkZW9zaW5rLm06CgkgIEVtaXQgJ2hhdmUtbnMtdmlldycgbWVzc2FnZSB3aGVuIHdvcmtpbmcgaW4gZW1iZWRkZWQgbW9kZS4gVGhlIG1lc3NhZ2UKCSAgd2lsbCBjb250YWluIGEgcG9pbnRlciB0byB0aGUgbmV3bHkgY3JlYXRlZCBOU1ZpZXcuCgoyMDA3LTAzLTE2IDA5OjU3OjQwICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplcjEwYmFuZHMuYzogQSAxMCBiYW5kIEVRIHNob3VsZCBiZSBpbml0aWFsaXplZCB0byAxIGJhbmRzIGFuZCBub3QgdG8gMy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIxMGJhbmRzLmM6CgkgIChnc3RfaWlyX2VxdWFsaXplcl8xMGJhbmRzX2luaXQpOgoJICBBIDEwIGJhbmQgRVEgc2hvdWxkIGJlIGluaXRpYWxpemVkIHRvIDEgYmFuZHMgYW5kIG5vdCB0byAzLgoKMjAwNy0wMy0xNSAxMjowNTowMSArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIHN5cy9NYWtlZmlsZS5hbTogRG9uJ3QgZm9yZ2V0IHRvIGRpc3RyaWJ1dGUgdGhlIHN5cy9vc3hhdWRpby8gZGlyZWN0b3J5LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvTWFrZWZpbGUuYW06CgkgIERvbid0IGZvcmdldCB0byBkaXN0cmlidXRlIHRoZSBzeXMvb3N4YXVkaW8vIGRpcmVjdG9yeS4KCjIwMDctMDMtMTUgMTE6Mzk6NTMgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBBY3RpdmF0ZSBvc3hhdWRpbyBpbiBnc3QtcGx1Z2lucy1nb29kIHdpdGggcHJvcGVyIGJ1aWxkIHNldHVwLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgICogc3lzL01ha2VmaWxlLmFtOgoJICAqIHN5cy9vc3hhdWRpby9NYWtlZmlsZS5hbToKCSAgKiBzeXMvb3N4YXVkaW8vZ3N0b3N4YXVkaW8uYzoKCSAgKiBzeXMvb3N4YXVkaW8vZ3N0b3N4YXVkaW9zaW5rLmM6CgkgIChnc3Rfb3N4X2F1ZGlvX3Npbmtfb3N4ZWxlbWVudF9kb19pbml0KSwgKGdzdF9vc3hfYXVkaW9fc2lua19pbml0KSwKCSAgKGdzdF9vc3hfYXVkaW9fc2lua19nZXRjYXBzKSwKCSAgKGdzdF9vc3hfYXVkaW9fc2lua19jcmVhdGVfcmluZ2J1ZmZlciksIChwbHVnaW5faW5pdCk6CgkgICogc3lzL29zeGF1ZGlvL2dzdG9zeGF1ZGlvc3JjLmM6CgkgIChnc3Rfb3N4X2F1ZGlvX3NyY19vc3hlbGVtZW50X2RvX2luaXQpLCAoZ3N0X29zeF9hdWRpb19zcmNfaW5pdCksCgkgIChnc3Rfb3N4X2F1ZGlvX3NyY19jcmVhdGVfcmluZ2J1ZmZlcik6CgkgICogc3lzL29zeGF1ZGlvL2dzdG9zeHJpbmdidWZmZXIuYzogKGdzdF9vc3hfcmluZ19idWZmZXJfZ2V0X3R5cGUpLAoJICAoZ3N0X29zeF9yaW5nX2J1ZmZlcl9jbGFzc19pbml0KSwgKGdzdF9vc3hfcmluZ19idWZmZXJfaW5pdCksCgkgIChnc3Rfb3N4X3JpbmdfYnVmZmVyX2FjcXVpcmUpLCAoZ3N0X29zeF9yaW5nX2J1ZmZlcl9zdGFydCksCgkgIChnc3Rfb3N4X3JpbmdfYnVmZmVyX3BhdXNlKSwgKGdzdF9vc3hfcmluZ19idWZmZXJfc3RvcCk6CgkgICogc3lzL29zeGF1ZGlvL2dzdG9zeHJpbmdidWZmZXIuaDoKCSAgQWN0aXZhdGUgb3N4YXVkaW8gaW4gZ3N0LXBsdWdpbnMtZ29vZCB3aXRoIHByb3BlciBidWlsZCBzZXR1cC4KCSAgQWRkIGlubGluZWQgZG9jdW1lbnRhdGlvbi4KCSAgRml4IGRlYnVnIHN0YXRlbWVudHMKCSAgRml4IHJpbmdidWZmZXIgd2hlbiBwYXVzaW5nLgoJICBGaXhlcyAjMzIzNDcxCgoyMDA3LTAzLTE0IDIyOjIxOjI2ICswMDAwICBQaGlsaXBwZSBLYWxhZiA8cGhpbGlwcGUua2FsYWZAY29sbGFib3JhLmNvLnVrPgoKCSAgZ3N0L3J0cC86IFBvcnRlZCBtdWxhdyBhbmQgYWxhdyBwYXlsb2FkZXJzIHRvIHVzZSBuZXcgYmFzZSBjbGFzcwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwL2dzdHJ0cHBjbWFwYXkuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cHBjbWFwYXkuaDoKCSAgKiBnc3QvcnRwL2dzdHJ0cHBjbXVwYXkuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cHBjbXVwYXkuaDoKCSAgUG9ydGVkIG11bGF3IGFuZCBhbGF3IHBheWxvYWRlcnMgdG8gdXNlIG5ldyBiYXNlIGNsYXNzCgoyMDA3LTAzLTE0IDE2OjMwOjE5ICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgc3lzL29zeHZpZGVvLzogRml4IGxlYWtzIHdoZW4gcnVubmluZyBhIE5TQXBwLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvb3N4dmlkZW8vY29jb2F3aW5kb3cuaDoKCSAgKiBzeXMvb3N4dmlkZW8vY29jb2F3aW5kb3cubToKCSAgKiBzeXMvb3N4dmlkZW8vb3N4dmlkZW9zaW5rLmg6CgkgICogc3lzL29zeHZpZGVvL29zeHZpZGVvc2luay5tOgoJICBGaXggbGVha3Mgd2hlbiBydW5uaW5nIGEgTlNBcHAuCgkgIEFjY2VwdCBhbnkga2luZCBvZiByZXNvbHV0aW9ucy4KCSAgV29ya3MgaW4gZnVsbHNjcmVlbi4gQ2FuIG1heGltaXplLgoJICBPbmx5IHRoaW5nIGxlZnQgYmVmb3JlIGJlaW5nIGFibGUgdG8gbW92ZSB0aGlzIHRvIC1nb29kIGlzIGRvY3VtZW50YXRpb24KCSAgYW5kIGVtYmVkZGVkIHdpbmRvdyBzdXBwb3J0LgoKMjAwNy0wMy0xNCAxNToyNToxMCArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJICBwby86IFVwZGF0ZSB0cmFuc2xhdGlvbnMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHBvL2FmLnBvOgoJICAqIHBvL2F6LnBvOgoJICAqIHBvL2NzLnBvOgoJICAqIHBvL2VuX0dCLnBvOgoJICAqIHBvL2l0LnBvOgoJICAqIHBvL25sLnBvOgoJICAqIHBvL29yLnBvOgoJICAqIHBvL3NxLnBvOgoJICAqIHBvL3NyLnBvOgoJICAqIHBvL3N2LnBvOgoJICAqIHBvL3VrLnBvOgoJICAqIHBvL3ZpLnBvOgoJICBVcGRhdGUgdHJhbnNsYXRpb25zLgoKMjAwNy0wMy0xNCAxNDo0OTo0NSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGNvbmZpZ3VyZS5hYzogRml4IHN0cmluZyByZXBsYWNlIGVycm9yIChBR19BR19HU1RfKiA9PiBBR19HU1RfKikuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgRml4IHN0cmluZyByZXBsYWNlIGVycm9yIChBR19BR19HU1RfKiA9PiBBR19HU1RfKikuCgoyMDA3LTAzLTE0IDE0OjQ4OjA4ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3QvZXF1YWxpemVyLzogQWRkIDMgYW5kIDEwIGJhbmQgdmVyc2lvbiBhbmQgYWRkIG1pc3NpbmcgZ3N0X29iamVjdF9zeW5jX3ZhbHVlcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2VxdWFsaXplci9NYWtlZmlsZS5hbToKCSAgKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplci5jOiAoX2RvX2luaXQpLAoJICAoZ3N0X2lpcl9lcXVhbGl6ZXJfYmFuZF9zZXRfcHJvcGVydHkpLAoJICAoZ3N0X2lpcl9lcXVhbGl6ZXJfYmFuZF9jbGFzc19pbml0KSwKCSAgKGdzdF9paXJfZXF1YWxpemVyX2JhbmRfZ2V0X3R5cGUpLAoJICAoZ3N0X2lpcl9lcXVhbGl6ZXJfY2hpbGRfcHJveHlfZ2V0X2NoaWxkX2J5X2luZGV4KSwKCSAgKGdzdF9paXJfZXF1YWxpemVyX2NoaWxkX3Byb3h5X2dldF9jaGlsZHJlbl9jb3VudCksCgkgIChnc3RfaWlyX2VxdWFsaXplcl9jaGlsZF9wcm94eV9pbnRlcmZhY2VfaW5pdCksIChzZXR1cF9maWx0ZXIpLAoJICAoZ3N0X2lpcl9lcXVhbGl6ZXJfY29tcHV0ZV9mcmVxdWVuY2llcyksCgkgIChnc3RfaWlyX2VxdWFsaXplcl90cmFuc2Zvcm1faXApLCAocGx1Z2luX2luaXQpOgoJICAqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyMTBiYW5kcy5jOgoJICAoZ3N0X2lpcl9lcXVhbGl6ZXJfMTBiYW5kc19iYXNlX2luaXQpLAoJICAoZ3N0X2lpcl9lcXVhbGl6ZXJfMTBiYW5kc19jbGFzc19pbml0KSwKCSAgKGdzdF9paXJfZXF1YWxpemVyXzEwYmFuZHNfaW5pdCksCgkgIChnc3RfaWlyX2VxdWFsaXplcl8xMGJhbmRzX3NldF9wcm9wZXJ0eSksCgkgIChnc3RfaWlyX2VxdWFsaXplcl8xMGJhbmRzX2dldF9wcm9wZXJ0eSk6CgkgICogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIxMGJhbmRzLmg6CgkgICogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIzYmFuZHMuYzoKCSAgKGdzdF9paXJfZXF1YWxpemVyXzNiYW5kc19iYXNlX2luaXQpLAoJICAoZ3N0X2lpcl9lcXVhbGl6ZXJfM2JhbmRzX2NsYXNzX2luaXQpLAoJICAoZ3N0X2lpcl9lcXVhbGl6ZXJfM2JhbmRzX2luaXQpLAoJICAoZ3N0X2lpcl9lcXVhbGl6ZXJfM2JhbmRzX3NldF9wcm9wZXJ0eSksCgkgIChnc3RfaWlyX2VxdWFsaXplcl8zYmFuZHNfZ2V0X3Byb3BlcnR5KToKCSAgKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplcjNiYW5kcy5oOgoJICAqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVybmJhbmRzLmM6CgkgIChnc3RfaWlyX2VxdWFsaXplcl9uYmFuZHNfYmFzZV9pbml0KSwKCSAgKGdzdF9paXJfZXF1YWxpemVyX25iYW5kc19pbml0KToKCSAgQWRkIDMgYW5kIDEwIGJhbmQgdmVyc2lvbiBhbmQgYWRkIG1pc3NpbmcgZ3N0X29iamVjdF9zeW5jX3ZhbHVlcy4KCSAgKiBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uYzogKGdzdF9zcGVjdHJ1bV9ldmVudCksCgkgIChnc3Rfc3BlY3RydW1fdHJhbnNmb3JtX2lwKToKCSAgQWRkIHNvbWUgY29tbWVudHMgYWJvdXQgZmxvYXQgc3VwcG9ydC4KCjIwMDctMDMtMTIgMTc6NTY6NTQgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvYXBldGFnL2dzdHRhZ2RlbXV4LmM6IEZpeCBoYW5kbGluZyBvZiAtMSB2YWx1ZXMgZm9yIHN0YXJ0IGFuZCBzdG9wIHZhbHVlcyB3aGVuIHNlZWtpbmcsIGFuZCBTRUVLX0NVUitTRUVLX0VORCBoZXIuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2FwZXRhZy9nc3R0YWdkZW11eC5jOiAoZ3N0X3RhZ19kZW11eF9zcmNwYWRfZXZlbnQpOgoJICBGaXggaGFuZGxpbmcgb2YgLTEgdmFsdWVzIGZvciBzdGFydCBhbmQgc3RvcCB2YWx1ZXMgd2hlbiBzZWVraW5nLAoJICBhbmQgU0VFS19DVVIrU0VFS19FTkQgaGVyZSBhcyB3ZWxsLgoKMjAwNy0wMy0xMiAxNzoyNDoyMyArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBnc3QvaWQzZGVtdXgvZ3N0aWQzZGVtdXguYzogRml4IGhhbmRsaW5nIG9mIC0xIHZhbHVlcyBmb3Igc3RhcnQgYW5kIHN0b3AgdmFsdWVzIHdoZW4gc2Vla2luZywgYW5kIFNFRUtfQ1VSK1NFRUtfRU5ELgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvaWQzZGVtdXgvZ3N0aWQzZGVtdXguYzogKGdzdF9pZDNkZW11eF9zcmNwYWRfZXZlbnQpOgoJICBGaXggaGFuZGxpbmcgb2YgLTEgdmFsdWVzIGZvciBzdGFydCBhbmQgc3RvcCB2YWx1ZXMgd2hlbiBzZWVraW5nLAoJICBhbmQgU0VFS19DVVIrU0VFS19FTkQuCgoyMDA3LTAzLTEyIDE1OjQ5OjAyICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkqIENoYW5nZUxvZzoKCSAgSSdtIHRvbyBsYXp5IHRvIGNvbW1lbnQgdGhpcwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgQWRkIFBhdGNoIGJ5OiBsaW5lIGZvciB3aW0sIHNpbmNlIGhlJ3MgYXdheQoKMjAwNy0wMy0xMiAxMzoyODoyOSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9pZDNkZW11eC9pZDN2MmZyYW1lcy5jOiBGaXggcGFyc2luZyBvZiBJRDMgdjIuMi4wIFBJQyBmcmFtZXMuIE9ubHkgaW4gdmVyc2lvbiA+PSAyLjMuMCBpcyB0aGUgaW1hZ2UgZm9ybWF0IGEgdmFyaS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvaWQzZGVtdXgvaWQzdjJmcmFtZXMuYzogKHBhcnNlX3BpY3R1cmVfZnJhbWUpOgoJICBGaXggcGFyc2luZyBvZiBJRDMgdjIuMi4wIFBJQyBmcmFtZXMuIE9ubHkgaW4gdmVyc2lvbiA+PSAyLjMuMCBpcwoJICB0aGUgaW1hZ2UgZm9ybWF0IGEgdmFyaWFibGUtbGVuZ3RoIE5VTC10ZXJtaW5hdGVkIHN0cmluZzsgaW4KCSAgdmVyc2lvbnMgYmVmb3JlIHRoYXQgdGhlIGltYWdlIGZvcm1hdCBpcyBhIGZpeGVkLWxlbmd0aCBzdHJpbmcgb2YKCSAgMyBjaGFyYWN0ZXJzIChzZWUgIzM0ODY0NCBmb3IgYSBzYW1wbGUgdGFnKS4KCSAgQWxzbyBtYWtlIHN1cHBsaWVkIG1pbWUgdHlwZSBsb3dlci1jYXNlIGFuZCBmaXggdXAgJ2pwZycgdG8gJ2pwZWcnLgoKMjAwNy0wMy0xMSAyMjoyMzowNCArMDAwMCAgU8OpYmFzdGllbiBNb3V0dGUgPHNlYmFzdGllbkBtb3V0dGUubmV0PgoKCSAgc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuKjogSGFuZGxlIGRpc3BsYXkgbW9kZSBjaGFuZ2VzIGR1cmluZyBwbGF5YmFjay4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuYzoKCSAgKiBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5oOgoJICBIYW5kbGUgZGlzcGxheSBtb2RlIGNoYW5nZXMgZHVyaW5nIHBsYXliYWNrLgoKMjAwNy0wMy0xMCAxNjowNzozMSArMDAwMCAgU8OpYmFzdGllbiBNb3V0dGUgPHNlYmFzdGllbkBtb3V0dGUubmV0PgoKCSAgd2luMzIvTUFOSUZFU1Q6IEFkZCBuZXcgcHJvamVjdCBmaWxlcyB0byBNQU5JRkVTVC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogd2luMzIvTUFOSUZFU1Q6CgkgIEFkZCBuZXcgcHJvamVjdCBmaWxlcyB0byBNQU5JRkVTVC4KCSAgKiB3aW4zMi92czYvbGliZ3N0YXVkaW9meC5kc3A6CgkgICogd2luMzIvdnM2L2xpYmdzdHJ0cC5kc3A6CgkgICogd2luMzIvdnM2L2xpYmdzdHJ0c3AuZHNwOgoJICBVcGRhdGUgcHJvamVjdCBmaWxlcy4KCjIwMDctMDMtMTAgMTI6MzA6NDggKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBQcmludGYgZm9ybWF0IGZpeGVzOyBhbHNvIGFkZCBzb21lIG1pc3NpbmcgcXVvdGVzIGluIHRyYW5zbGF0ZWQgc3RyaW5ncy4gRml4ZXMgIzQxNjcyOCBhbmQgIzQxNjcyNy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOiAoZ3N0X2F2aV9kZW11eF9wYXJzZV9zdWJpbmRleCksCgkgIChnc3RfYXZpX2RlbXV4X3BhcnNlX2luZGV4KToKCSAgKiBzeXMvdjRsMi92NGwyX2NhbGxzLmM6IChnc3RfdjRsMl9maWxsX2xpc3RzKToKCSAgKiBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmM6IChnc3RfdjRsMnNyY19ncmFiX2ZyYW1lKToKCSAgUHJpbnRmIGZvcm1hdCBmaXhlczsgYWxzbyBhZGQgc29tZSBtaXNzaW5nIHF1b3RlcyBpbiB0cmFuc2xhdGVkCgkgIHN0cmluZ3MuIEZpeGVzICM0MTY3MjggYW5kICM0MTY3MjcuCgoyMDA3LTAzLTA5IDIwOjEyOjA4ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG9hdWRpb3NpbmsuYzogVGltIGFuZCBJIGNhbid0IHRoaW5rIG9mIGFueSByZWFzb24gdGhlIGNoaWxkIGF1ZGlvIHNpbmsgbmVlZHMgdG8gYmUgc2V0IGJhY2sgdG8gTi4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvYXVkaW9zaW5rLmM6IChnc3RfYXV0b19hdWRpb19zaW5rX2ZpbmRfYmVzdCk6CgkgIFRpbSBhbmQgSSBjYW4ndCB0aGluayBvZiBhbnkgcmVhc29uIHRoZSBjaGlsZCBhdWRpbyBzaW5rIG5lZWRzIHRvCgkgIGJlIHNldCBiYWNrIHRvIE5VTEwgYWZ0ZXIgc3VjY2Vzc2Z1bGx5IGRldGVybWluaW5nIHRoYXQgaXQgY2FuCgkgIHJlYWNoIFJFQURZIC0gaXQgZ2V0cyBpbW1lZGlhdGVseSBzZXQgYmFjayB0byBSRUFEWSBieSB0aGUgY2FsbGVyCgkgIGFueXdheSwgY2F1c2luZyBhbiB1bm5lY2Vzc2FyeSBjbG9zZS9vcGVuIG9mIGFueSBhdWRpbyBkZXZpY2VzCgkgIGludm9sdmVkLgoKMjAwNy0wMy0wOSAxOTo1MToyNyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIHBvLzogQWRkIGphLnBvIGZpbGUgZnJvbSAjMzc3MzA2LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBwby9MSU5HVUFTOgoJICAqIHBvL2phLnBvOgoJICBBZGQgamEucG8gZmlsZSBmcm9tICMzNzczMDYuCgoyMDA3LTAzLTA5IDE5OjQ0OjMwICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgc3lzL3N1bmF1ZGlvLzogQWN0dWFsbHkgdHJhbnNsYXRlIHN1bmF1ZGlvIG1peGVyIHRyYWNrIGxhYmVscyBpbnN0ZWFkIG9mIGp1c3QgbWFya2luZyB0aGUgc3RyaW5ncyBhcyB0cmFuc2xhdGFibGUgKCMzLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy9zdW5hdWRpby9nc3RzdW5hdWRpby5jOiAocGx1Z2luX2luaXQpOgoJICAqIHN5cy9zdW5hdWRpby9nc3RzdW5hdWRpb21peGVydHJhY2suYzoKCSAgKGdzdF9zdW5hdWRpb21peGVyX3RyYWNrX25ldyk6CgkgIEFjdHVhbGx5IHRyYW5zbGF0ZSBzdW5hdWRpbyBtaXhlciB0cmFjayBsYWJlbHMgaW5zdGVhZCBvZiBqdXN0CgkgIG1hcmtpbmcgdGhlIHN0cmluZ3MgYXMgdHJhbnNsYXRhYmxlICgjMzc3MzA2KTsgY2xlYW4gdXAgd2VpcmQKCSAgbGFiZWwgc3RyaW5nIG1hcHBpbmcgY29kZSB0aGF0IHNlcnZlcyBubyBhcHBhcmVudCBwdXJwb3NlLiBBbHNvCgkgIHNldCB0aGUgJ3VudHJhbnNsYXRlZC1sYWJlbCcgcHJvcGVydHkgd2hlbiBjcmVhdGluZyBtaXhlciB0cmFja3MKCSAgaWYgdGhlIEdzdE1peGVyVHJhY2sgYmFzZSBjbGFzcyBzdXBwb3J0cyB0aGlzLgoJICAqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzLy5jdnNpZ25vcmU6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvc3VuYXVkaW8uYzogKEdTVF9TVEFSVF9URVNUKSwKCSAgKHN1bmF1ZGlvX3N1aXRlKToKCSAgVmVyeSBtaW5pbWFsaXN0aWMgdW5pdCB0ZXN0IGZvciBzdW5hdWRpb21peGVyIGVsZW1lbnQgKGNvbXBpbGVzLCBidXQgbm90CgkgIGFjdHVhbGx5IHRlc3RlZCBvbiBhIHN5c3RlbSB3aGVyZSBzdW5hdWRpb21peGVyIGlzIGF2YWlsYWJsZSkuCgoyMDA3LTAzLTA5IDE4OjQ5OjM3ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOiBSZS1lbmFibGUgdGhlIHN0YXRlcyB0ZXN0IGFuZCBzZWUgaWYgaXQgd29ya3Mgb24gdGhlIGJ1aWxkYm90cy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgIFJlLWVuYWJsZSB0aGUgc3RhdGVzIHRlc3QgYW5kIHNlZSBpZiBpdCB3b3JrcyBvbiB0aGUgYnVpbGRib3RzLgoKMjAwNy0wMy0wOSAxNzozMjozMiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbUBmbHVlbmRvLmNvbT4KCgkgIGV4dC9kdi9nc3RkdmRlYy4qOiBJbmZlciBwaXhlbC1hc3BlY3QtcmF0aW8gZnJvbSB0aGUgdmlkZW8gZnJhbWUgZm9ybWF0IGlmIGl0IGlzbid0IHByb3ZpZGVkIGJ5IHRoZSBjb250YWluZXIsIGFzIGhhcC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZHYvZ3N0ZHZkZWMuYzogKGdzdF9kdmRlY19pbml0KSwgKGdzdF9kdmRlY19zaW5rX3NldGNhcHMpLAoJICAoZ3N0X2R2ZGVjX3NyY19uZWdvdGlhdGUpLCAoZ3N0X2R2ZGVjX2NoYWluKSwKCSAgKGdzdF9kdmRlY19jaGFuZ2Vfc3RhdGUpOgoJICAqIGV4dC9kdi9nc3RkdmRlYy5oOgoJICBJbmZlciBwaXhlbC1hc3BlY3QtcmF0aW8gZnJvbSB0aGUgdmlkZW8gZnJhbWUgZm9ybWF0IGlmIGl0IGlzbid0CgkgIHByb3ZpZGVkIGJ5IHRoZSBjb250YWluZXIsIGFzIGhhcHBlbnMgd2hlbiBwbGF5aW5nIERWIGZyb20gQVZJCgkgIG9yIFF1aWNrdGltZSBjb250YWluZXJzLgoJICBQYXRjaCBieTogV2ltIFRheW1hbnMgPHdpbUBmbHVlbmRvLmNvbT4KCSAgRml4ZXMgIzM4MDk0NAoKMjAwNy0wMy0wOSAxNzowNToxNyArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogV2hlbiBhY3RpdmF0ZWQsIHJlbW92ZSB0aGUgdWRwc3JjIHRpbWVvdXQsIHdlIGhhdmUgZGF0YWZsb3cgYW5kIHRpbWVvdXRzIHdpbGwgbGF0ZXIgYmUgaGFuZGxlZC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IChnc3RfcnRzcHNyY19hY3RpdmF0ZV9zdHJlYW1zKToKCSAgV2hlbiBhY3RpdmF0ZWQsIHJlbW92ZSB0aGUgdWRwc3JjIHRpbWVvdXQsIHdlIGhhdmUgZGF0YWZsb3cgYW5kIHRpbWVvdXRzCgkgIHdpbGwgbGF0ZXIgYmUgaGFuZGxlZCBieSB0aGUgaml0dGVyYnVmZmVyLgoKMjAwNy0wMy0wOSAxNjo1MzozOSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGV4dC90YWdsaWIvZ3N0aWQzdjJtdXguY2M6IEFkZCB3cml0ZSBzdXBwb3J0IGZvciBHU1RfVEFHX01VU0lDQlJBSU5aX1NPUlROQU1FIChUU09QKSB0YWcuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC90YWdsaWIvZ3N0aWQzdjJtdXguY2M6CgkgIEFkZCB3cml0ZSBzdXBwb3J0IGZvciBHU1RfVEFHX01VU0lDQlJBSU5aX1NPUlROQU1FIChUU09QKSB0YWcuCgkgIEZpeGVzICM0MTQ0OTYuCgoyMDA3LTAzLTA5IDE1OjA0OjQ1ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L2F2aS9nc3RhdmlkZW11eC5jOiBGaXggc3RyZWFtIHBvc2l0aW9uIHJlcG9ydGluZyBhZnRlciBhIHNlZWsuIEZpeGVzICM0MTY0NDUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzogKGdzdF9hdmlfZGVtdXhfcGFyc2Vfc3RyZWFtKSwKCSAgKGdzdF9hdmlfZGVtdXhfcHVzaF9ldmVudCksIChnc3RfYXZpX2RlbXV4X2RvX3NlZWspLAoJICAoZ3N0X2F2aV9kZW11eF9wcm9jZXNzX25leHRfZW50cnkpLCAoZ3N0X2F2aV9kZW11eF9zdHJlYW1fZGF0YSksCgkgIChnc3RfYXZpX2RlbXV4X2NoYWluKToKCSAgRml4IHN0cmVhbSBwb3NpdGlvbiByZXBvcnRpbmcgYWZ0ZXIgYSBzZWVrLiBGaXhlcyAjNDE2NDQ1LgoKMjAwNy0wMy0wOSAwODo1ODoyNiArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L2VxdWFsaXplci86IFJlZmFjdG9yIHBsdWdpbiBpbnRvIGEgYmFzZSBjbGFzcyBhbmQgYSBmaXJzdCBzdWJjbGFzcyAobmJhbmQgZXEpLiBUaGUgbmJhbmQgZXEgdXNlcyBHc3RDaGlsZFByb3h5IGFuLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9lcXVhbGl6ZXIvTWFrZWZpbGUuYW06CgkgICogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIuYzogKF9kb19pbml0KSwKCSAgKGdzdF9paXJfZXF1YWxpemVyX2JhbmRfc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9paXJfZXF1YWxpemVyX2JhbmRfZ2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9paXJfZXF1YWxpemVyX2JhbmRfY2xhc3NfaW5pdCksCgkgIChnc3RfaWlyX2VxdWFsaXplcl9iYW5kX2dldF90eXBlKSwKCSAgKGdzdF9paXJfZXF1YWxpemVyX2NoaWxkX3Byb3h5X2dldF9jaGlsZF9ieV9pbmRleCksCgkgIChnc3RfaWlyX2VxdWFsaXplcl9jaGlsZF9wcm94eV9nZXRfY2hpbGRyZW5fY291bnQpLAoJICAoZ3N0X2lpcl9lcXVhbGl6ZXJfY2hpbGRfcHJveHlfaW50ZXJmYWNlX2luaXQpLAoJICAoZ3N0X2lpcl9lcXVhbGl6ZXJfYmFzZV9pbml0KSwgKGdzdF9paXJfZXF1YWxpemVyX2NsYXNzX2luaXQpLAoJICAoZ3N0X2lpcl9lcXVhbGl6ZXJfZmluYWxpemUpLCAoc2V0dXBfZmlsdGVyKSwKCSAgKGdzdF9paXJfZXF1YWxpemVyX2NvbXB1dGVfZnJlcXVlbmNpZXMpLAoJICAoZ3N0X2lpcl9lcXVhbGl6ZXJfc2V0X3Byb3BlcnR5KSwgKGdzdF9paXJfZXF1YWxpemVyX2dldF9wcm9wZXJ0eSksCgkgIChnc3RfaWlyX2VxdWFsaXplcl9zZXR1cCksIChwbHVnaW5faW5pdCk6CgkgICogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIuaDoKCSAgKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplcm5iYW5kcy5jOgoJICAoZ3N0X2lpcl9lcXVhbGl6ZXJfbmJhbmRzX2Jhc2VfaW5pdCksCgkgIChnc3RfaWlyX2VxdWFsaXplcl9uYmFuZHNfY2xhc3NfaW5pdCksCgkgIChnc3RfaWlyX2VxdWFsaXplcl9uYmFuZHNfaW5pdCksCgkgIChnc3RfaWlyX2VxdWFsaXplcl9uYmFuZHNfc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9paXJfZXF1YWxpemVyX25iYW5kc19nZXRfcHJvcGVydHkpOgoJICAqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVybmJhbmRzLmg6CgkgIFJlZmFjdG9yIHBsdWdpbiBpbnRvIGEgYmFzZSBjbGFzcyBhbmQgYSBmaXJzdCBzdWJjbGFzcyAobmJhbmQgZXEpLiBUaGUKCSAgbmJhbmQgZXEgdXNlcyBHc3RDaGlsZFByb3h5IGFuZCBpcyBjb250cm9sYWJsZS4gTW9yZSBzdWJjbGFzc2VzIHdpbGwKCSAgZm9sbG93LgoKMjAwNy0wMy0wOCAxNjowMTo0MiArMDAwMCAgUmVuw6kgU3RhZGxlciA8bWFpbEByZW5lc3RhZGxlci5kZT4KCgkgIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzogTWFrZSBhdmlkZW11eCBhY2NlcHQgb3B0aW9uYWwgaGVhZGVyIGNodW5rcyBpbiBhbnkgb3JkZXIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogUmVuw6kgU3RhZGxlciA8bWFpbCBhdCByZW5lc3RhZGxlciBkb3QgZGU+CgkgICogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOiAoZ3N0X2F2aV9kZW11eF9wYXJzZV9zdHJlYW0pLAoJICAoZ3N0X2F2aV9kZW11eF9wdXNoX2V2ZW50KSwgKGdzdF9hdmlfZGVtdXhfcHJvY2Vzc19uZXh0X2VudHJ5KSwKCSAgKGdzdF9hdmlfZGVtdXhfc3RyZWFtX2RhdGEpLCAoZ3N0X2F2aV9kZW11eF9jaGFpbik6CgkgIE1ha2UgYXZpZGVtdXggYWNjZXB0IG9wdGlvbmFsIGhlYWRlciBjaHVua3MgaW4gYW55IG9yZGVyLgoJICBGaXhlcyAjNDE1NDQ2LgoKMjAwNy0wMy0wOCAxMjoyMzo1NyArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbTogRGlzYWJsZSB0aGUgc3RhdGVzIGNoZWNrIHVudGlsIHRoZSByZW1haW5pbmcgVmFsZ3JpbmQgZXJyb3JzIGFyZSBmaXhlZCBvciBzdXBwcmVzc2VkLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgRGlzYWJsZSB0aGUgc3RhdGVzIGNoZWNrIHVudGlsIHRoZSByZW1haW5pbmcgVmFsZ3JpbmQgZXJyb3JzCgkgIGFyZSBmaXhlZCBvciBzdXBwcmVzc2VkLgoKMjAwNy0wMy0wOCAxMDoyNDo0MyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgdGVzdHMvY2hlY2svZWxlbWVudHMvLmN2c2lnbm9yZTogQWRkIGF1ZGlvZHluYW1pYyBjaGVjayB0byAuY3ZzaWdub3JlCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzLy5jdnNpZ25vcmU6CgkgIEFkZCBhdWRpb2R5bmFtaWMgY2hlY2sgdG8gLmN2c2lnbm9yZQoKMjAwNy0wMy0wOCAxMDowMjoxMiArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2F1ZGlvZngvOiBBZGQgbmV3IGF1ZGlvZHluYW1pYyBlbGVtZW50IHdoaWNoIGNhbiBhY3QgYXMgYSBjb21wcmVzc29yIG9yIGV4cGFuZGVyLiBTdXBwb3J0ZWQgYXJlIGhhcmQta25lZSBhbmQgc29mLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICByZXZpZXdlZCBieTogU3RlZmFuIEtvc3QgIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCSAgKiBnc3QvYXVkaW9meC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvYXVkaW9meC9hdWRpb2R5bmFtaWMuYzoKCSAgKGdzdF9hdWRpb19keW5hbWljX2NoYXJhY3RlcmlzdGljc19nZXRfdHlwZSksCgkgIChnc3RfYXVkaW9fZHluYW1pY19tb2RlX2dldF90eXBlKSwKCSAgKGdzdF9hdWRpb19keW5hbWljX3NldF9wcm9jZXNzX2Z1bmN0aW9uKSwKCSAgKGdzdF9hdWRpb19keW5hbWljX2Jhc2VfaW5pdCksIChnc3RfYXVkaW9fZHluYW1pY19jbGFzc19pbml0KSwKCSAgKGdzdF9hdWRpb19keW5hbWljX2luaXQpLCAoZ3N0X2F1ZGlvX2R5bmFtaWNfc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9hdWRpb19keW5hbWljX2dldF9wcm9wZXJ0eSksIChnc3RfYXVkaW9fZHluYW1pY19zZXR1cCksCgkgIChnc3RfYXVkaW9fZHluYW1pY190cmFuc2Zvcm1faGFyZF9rbmVlX2NvbXByZXNzb3JfaW50KSwKCSAgKGdzdF9hdWRpb19keW5hbWljX3RyYW5zZm9ybV9oYXJkX2tuZWVfY29tcHJlc3Nvcl9mbG9hdCksCgkgIChnc3RfYXVkaW9fZHluYW1pY190cmFuc2Zvcm1fc29mdF9rbmVlX2NvbXByZXNzb3JfaW50KSwKCSAgKGdzdF9hdWRpb19keW5hbWljX3RyYW5zZm9ybV9zb2Z0X2tuZWVfY29tcHJlc3Nvcl9mbG9hdCksCgkgIChnc3RfYXVkaW9fZHluYW1pY190cmFuc2Zvcm1faGFyZF9rbmVlX2V4cGFuZGVyX2ludCksCgkgIChnc3RfYXVkaW9fZHluYW1pY190cmFuc2Zvcm1faGFyZF9rbmVlX2V4cGFuZGVyX2Zsb2F0KSwKCSAgKGdzdF9hdWRpb19keW5hbWljX3RyYW5zZm9ybV9zb2Z0X2tuZWVfZXhwYW5kZXJfaW50KSwKCSAgKGdzdF9hdWRpb19keW5hbWljX3RyYW5zZm9ybV9zb2Z0X2tuZWVfZXhwYW5kZXJfZmxvYXQpLAoJICAoZ3N0X2F1ZGlvX2R5bmFtaWNfdHJhbnNmb3JtX2lwKToKCSAgKiBnc3QvYXVkaW9meC9hdWRpb2R5bmFtaWMuaDoKCSAgKiBnc3QvYXVkaW9meC9hdWRpb2Z4LmM6IChwbHVnaW5faW5pdCk6CgkgIEFkZCBuZXcgYXVkaW9keW5hbWljIGVsZW1lbnQgd2hpY2ggY2FuIGFjdCBhcyBhIGNvbXByZXNzb3Igb3IKCSAgZXhwYW5kZXIuIFN1cHBvcnRlZCBhcmUgaGFyZC1rbmVlIGFuZCBzb2Z0LWtuZWUgb3BlcmF0aW9uIG1vZGVzIHdpdGgKCSAgdXNlci1zcGVjaWZpZWQgcmF0aW8gYW5kIHRocmVzaG9sZC4KCSAgQXR0YWNrIGFuZCByZWxlYXNlIHBhcmFtZXRlcnMgYXJlIG5vdCB5ZXQgaW1wbGVtZW50ZWQgYnV0IHdpbGwgZm9sbG93LgoJICAqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmFyZ3M6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvZngueG1sOgoJICBJbnRlZ3JhdGUgYXVkaW9keW5hbWljIGludG8gdGhlIGRvY3MuCgkgICogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvYXVkaW9keW5hbWljLmM6IChzZXR1cF9keW5hbWljKSwKCSAgKGNsZWFudXBfZHluYW1pYyksIChHU1RfU1RBUlRfVEVTVCksIChkeW5hbWljX3N1aXRlKSwgKG1haW4pOgoJICBBZGQgdW5pdCB0ZXN0IGZvciBhdWRpb2R5bmFtaWMuCgoyMDA3LTAzLTA3IDE5OjQ4OjAzICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGV4dC9yYXcxMzk0L2dzdGR2MTM5NHNyYy5jOiBGcmVlIGhhbmRsZXMgdGhhdCB3ZSBhbGxvY2F0ZWQgd2hlbiBleGl0aW5nIHZpYSB0aGUgZXJyb3IgcGF0aHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9yYXcxMzk0L2dzdGR2MTM5NHNyYy5jOiAoZ3N0X2R2MTM5NHNyY19zdGFydCk6CgkgIEZyZWUgaGFuZGxlcyB0aGF0IHdlIGFsbG9jYXRlZCB3aGVuIGV4aXRpbmcgdmlhIHRoZSBlcnJvciBwYXRocy4KCjIwMDctMDMtMDcgMTI6MDc6MDcgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGV4dC93YXZwYWNrLzogVXNlIGEgZ2VuZXJhbCB3YXZwYWNrIGRlYnVnIGNhdGVnb3J5IGZvciBjb21tb24gY29kZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFjay5jOiAocGx1Z2luX2luaXQpOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tjb21tb24uYzoKCSAgVXNlIGEgZ2VuZXJhbCB3YXZwYWNrIGRlYnVnIGNhdGVnb3J5IGZvciBjb21tb24gY29kZS4KCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrc3RyZWFtcmVhZGVyLmM6CgkgIChnc3Rfd2F2cGFja19zdHJlYW1fcmVhZGVyX3NldF9wb3NfYWJzKSwKCSAgKGdzdF93YXZwYWNrX3N0cmVhbV9yZWFkZXJfc2V0X3Bvc19yZWwpLAoJICAoZ3N0X3dhdnBhY2tfc3RyZWFtX3JlYWRlcl93cml0ZV9ieXRlcyk6CgkgIFVzZSB0aGUgZ2VuZXJhbCB3YXZwYWNrIGRlYnVnIGNhdGVnb3J5IGhlcmUgdG9vIGFuZCBhZGQgZGVidWcKCSAgb3V0cHV0IHRvIHRoZSBmdW5jdGlvbnMgdGhhdCBzaG91bGQgbm90IGJlIGNhbGxlZCBhdCBhbGwgYnkKCSAgdGhlIHdhdnBhY2sgbGlicmFyeS4KCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZGVjLmM6IChnc3Rfd2F2cGFja19kZWNfcGx1Z2luX2luaXQpOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tlbmMuYzogKGdzdF93YXZwYWNrX2VuY19wbHVnaW5faW5pdCk6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja3BhcnNlLmM6IChnc3Rfd2F2cGFja19wYXJzZV9wbHVnaW5faW5pdCk6CgkgIENoYW5nZSBkZWJ1Z2dpbmcgY2F0ZWdvcnkgbmFtZXMgdG8gY29uZm9ybSB0byB0aGUgY29udmVudGlvbnMuCgoyMDA3LTAzLTA3IDExOjM3OjIzICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC4qOiBTaGFyZSBxdGRlbXV4IGRlYnVnIGNhdGVnb3J5IGFjcm9zcyBhbGwgZmlsZXMsIG90aGVyd2lzZSBhbGwgZGVidWdnaW5nIGluIGZpbGVzIG90aGVyIHRoYW4gcXRkLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4Lmg6CgkgIFNoYXJlIHF0ZGVtdXggZGVidWcgY2F0ZWdvcnkgYWNyb3NzIGFsbCBmaWxlcywgb3RoZXJ3aXNlIGFsbCBkZWJ1Z2dpbmcKCSAgaW4gZmlsZXMgb3RoZXIgdGhhbiBxdGRlbXV4LmMgd291bGQgZW5kIHVwIGluIHRoZSBkZWZhdWx0IGNhdGVnb3J5LgoKMjAwNy0wMy0wNyAxMToyNDowNSArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L2xldmVsL2dzdGxldmVsLio6IFJlc29sdmUgbWVzc2FnZSB0aW1lc3RhbXBzIGFnYWluc3QgdGhlIHBsYXliYWNrIHNlZ21lbnQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9sZXZlbC9nc3RsZXZlbC5jOiAoZ3N0X2xldmVsX2NsYXNzX2luaXQpLAoJICAoZ3N0X2xldmVsX3NldF9jYXBzKSwgKGdzdF9sZXZlbF9zdGFydCksIChnc3RfbGV2ZWxfZXZlbnQpLAoJICAoZ3N0X2xldmVsX3RyYW5zZm9ybV9pcCk6CgkgICogZ3N0L2xldmVsL2dzdGxldmVsLmg6CgkgIFJlc29sdmUgbWVzc2FnZSB0aW1lc3RhbXBzIGFnYWluc3QgdGhlIHBsYXliYWNrIHNlZ21lbnQuCgoyMDA3LTAzLTA3IDExOjIzOjIwICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uKjogT25lIEZJWE1FIGxlc3MsIGJ5IHJlc29sdmluZyBtZXNzYWdlIHRpbWVzdGFtcHMgYWdhaW5zdCB0aGUgcGxheWJhY2sgc2VnbWVudC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmM6IChnc3Rfc3BlY3RydW1fc3RhcnQpLAoJICAoZ3N0X3NwZWN0cnVtX2V2ZW50KSwgKGdzdF9zcGVjdHJ1bV90cmFuc2Zvcm1faXApOgoJICAqIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5oOgoJICBPbmUgRklYTUUgbGVzcywgYnkgcmVzb2x2aW5nIG1lc3NhZ2UgdGltZXN0YW1wcyBhZ2FpbnN0IHRoZSBwbGF5YmFjawoJICBzZWdtZW50LgoKMjAwNy0wMy0wNiAyMzoyMTo0MSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIENoYW5nZUxvZzoKCSAgRml4IENoYW5nZUxvZyBtZXNzYWdlCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBGaXggQ2hhbmdlTG9nIG1lc3NhZ2UKCjIwMDctMDMtMDYgMjM6MTk6MzAgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvaWQzZGVtdXgvZ3N0aWQzZGVtdXguYzogRG9uJ3QgbGVhayBjYXBzOiBtYWtlIGdzdF9pZDNkZW11eF9hZGRfc3JjcGFkKCkgbm90IHRha2Ugb3duZXJzaGlwIG9mIHRoZSBjYXBzIHBhc3NlZCB0byAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2lkM2RlbXV4L2dzdGlkM2RlbXV4LmM6IChnc3RfaWQzZGVtdXhfYWRkX3NyY3BhZCksCgkgIChnc3RfaWQzZGVtdXhfc2lua19hY3RpdmF0ZSk6CgkgIERvbid0IGxlYWsgY2FwczogbWFrZSBnc3RfaWQzZGVtdXhfYWRkX3NyY3BhZCgpIG5vdCB0YWtlIG93bmVyc2hpcCBvZiB0aGUKCSAgY2FwcyBwYXNzZWQgdG8gaXQgKHByZXZpb3VzbGx5IG9uZSBjb2RlIHBhdGggYXNzdW1lcyBpdCB0YWtlcyBvd25lcnNoaXAKCSAgd2hpbGUgYW5vdGhlciBvbmUgYXNzdW1lcyBpdCBkb2Vzbid0KS4KCSAgKiBjb25maWd1cmUuYWM6CgkgICogdGVzdHMvZmlsZXMvTWFrZWZpbGUuYW06CgkgICogdGVzdHMvZmlsZXMvaWQzLTQwNzM0OS0xLnRhZzoKCSAgKiB0ZXN0cy9maWxlcy9pZDMtNDA3MzQ5LTIudGFnOgoJICBBZGQgZGlyZWN0b3J5IHdoZXJlIGRhdGEgZm9yIHVuaXQgdGVzdHMgY2FuIGJlIHN0b3JlZC4KCSAgKiB0ZXN0cy9NYWtlZmlsZS5hbToKCSAgKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy8uY3ZzaWdub3JlOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2lkM2RlbXV4LmM6IChwYWRfYWRkZWRfY2IpLCAoZXJyb3JfY2IpLAoJICAocmVhZF90YWdzX2Zyb21fZmlsZSksIChydW5fY2hlY2tfZm9yX2ZpbGUpLAoJICAoY2hlY2tfZGF0ZV8xOTc3XzA2XzIzKSwgKEdTVF9TVEFSVF9URVNUKSwgKGlkM2RlbXV4X3N1aXRlKToKCSAgQWRkIHVuaXQgdGVzdCBmb3IgaWQzZGVtdXgsIGFuZCBpbiBwYXJ0aWN1bGFyIGZvciBidWcgIzQwNzM0OS4gT25seQoJICB0ZXN0aW5nIHB1bGwtbW9kZSBmb3Igbm93OyBwdXNoIG1vZGUgZG9lc24ndCB3b3JrIHlldCBiZWNhdXNlIHRoZSB0ZXN0CgkgIGZpbGVzIGFyZSBzbWFsbGVyIHRoYW4gSUQzX1RZUEVfRklORF9NSU5fU0laRS4KCjIwMDctMDMtMDYgMjI6MTQ6NTkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbTogQWRkIG1pc3NpbmcgYmFja3NsYXNoIGF0IGVuZCBvZiBsaW5lLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgQWRkIG1pc3NpbmcgYmFja3NsYXNoIGF0IGVuZCBvZiBsaW5lLgoKMjAwNy0wMy0wNiAxODozNjowOSArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJKiBDaGFuZ2VMb2c6CgkqIGNvbW1vbjoKCSAgVHJpZ2dlciByZWJ1aWxkLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgVHJpZ2dlciByZWJ1aWxkLgoKMjAwNy0wMy0wNiAxODoxNjo0OSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9pZDNkZW11eC86IERvIG5vdCBjb252ZXJ0IG9ic29sZXRlIFREQS9UREFUIGZyYW1lcyB0byBURFJDIGZyYW1lcywgb3RoZXJ3aXNlIHRoZSBmb3VyLWRpZ2l0IG51bWJlciB3aWxsIGJlIGludGVycC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvaWQzZGVtdXgvaWQzdGFncy5jOiAoaWQzZGVtdXhfaWQzdjJfZnJhbWVzX3RvX3RhZ19saXN0KToKCSAgKiBnc3QvaWQzZGVtdXgvaWQzdGFncy5oOgoJICAqIGdzdC9pZDNkZW11eC9pZDN2MmZyYW1lcy5jOiAoaWQzZGVtdXhfaWQzdjJfcGFyc2VfZnJhbWUpLAoJICAocGFyc2Vfb2Jzb2xldGVfdGRhdF9mcmFtZSk6CgkgIERvIG5vdCBjb252ZXJ0IG9ic29sZXRlIFREQS9UREFUIGZyYW1lcyB0byBURFJDIGZyYW1lcywgb3RoZXJ3aXNlCgkgIHRoZSBmb3VyLWRpZ2l0IG51bWJlciB3aWxsIGJlIGludGVycHJldGVkIGFzIGEgeWVhciwgd2hlcmVhcyBpdCBpcwoJICBtb250aCBhbmQgZGF5IGluIERETU0gZm9ybWF0LiBJbnN0ZWFkLCBwYXJzZSBUREFUIGZyYW1lcyBhbmQgZml4IHVwCgkgIHRoZSBkYXRlIGluIHRoZSBHU1RfVEFHX0RBVEUgdGFnIGxhdGVyIGlmIHdlIGFsc28gZXh0cmFjdGVkIGEgeWVhci4KCSAgRml4ZXMgIzQwNzM0OS4KCjIwMDctMDMtMDYgMTQ6NTM6MDQgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgZXh0L2djb25mL2dzdHN3aXRjaHNpbmsuYzogRml4IHVwIHRoZSBkaXNwb3NlIGxvZ2ljIHNvIGl0IGRvZXNuJ3QgbGVhaywgYW5kIGZpeCBzZXR0aW5nIG9mIHRoZSBjaGlsZCBzdGF0ZSBzbyB0aGF0IHdlLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9nY29uZi9nc3Rzd2l0Y2hzaW5rLmM6IChnc3Rfc3dpdGNoX3NpbmtfZGlzcG9zZSksCgkgIChnc3Rfc3dpdGNoX2NvbW1pdF9uZXdfa2lkKToKCSAgRml4IHVwIHRoZSBkaXNwb3NlIGxvZ2ljIHNvIGl0IGRvZXNuJ3QgbGVhaywgYW5kIGZpeCBzZXR0aW5nIG9mCgkgIHRoZSBjaGlsZCBzdGF0ZSBzbyB0aGF0IHdlIGRvbid0IHNldCBhIGNoaWxkIHRvIG91ciBjdXJyZW50IHN0YXRlCgkgIGp1c3QgYXMgd2UgYXJlIGNoYW5naW5nIGl0IHRvIHNvbWV0aGluZyBlbHNlLgoKMjAwNy0wMy0wNiAxMzo1Nzo1NSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5jOiBGaXggYW5kIGNsZWFudXAgZGVmYXVsdCBwcm9wZXJ0eSB2YWx1ZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5jOiAoZ3N0X3NwZWN0cnVtX2NsYXNzX2luaXQpLAoJICAoZ3N0X3NwZWN0cnVtX2luaXQpLCAoZ3N0X3NwZWN0cnVtX3NldF9wcm9wZXJ0eSksCgkgIChnc3Rfc3BlY3RydW1fdHJhbnNmb3JtX2lwKToKCSAgRml4IGFuZCBjbGVhbnVwIGRlZmF1bHQgcHJvcGVydHkgdmFsdWVzLgoJICBBZGQgRklYTUVzIGZvciBzdHVmZiB0aGF0IGxvb2tzIHJhdGhlciB3cm9uZy4KCjIwMDctMDMtMDYgMTM6MjE6MjMgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvZ29vbS9nc3Rnb29tLio6IERvY3VtZW50LCBmaXggYW5kIGltcHJvdmUgZ29vbSBhZGFwdGVyIGJlaGF2aW91ci4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2dvb20vZ3N0Z29vbS5jOiAoZ3N0X2dvb21fc3JjX3NldGNhcHMpLCAoZ2V0X2J1ZmZlciksCgkgIChnc3RfZ29vbV9jaGFpbik6CgkgICogZ3N0L2dvb20vZ3N0Z29vbS5oOgoJICBEb2N1bWVudCwgZml4IGFuZCBpbXByb3ZlIGdvb20gYWRhcHRlciBiZWhhdmlvdXIuCgkgIEZpeGVzICM0MDcwMDYuCgoyMDA3LTAzLTA1IDE4OjQzOjI5ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGV4dC9lc2QvZXNkc2luay5jOiBVbnJlZiBzdGF0aWMgcGFkIHRlbXBsYXRlIGFmdGVyIHVzaW5nIGl0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZXNkL2VzZHNpbmsuYzogKGdzdF9lc2RzaW5rX29wZW4pOgoJICBVbnJlZiBzdGF0aWMgcGFkIHRlbXBsYXRlIGFmdGVyIHVzaW5nIGl0LgoKMjAwNy0wMy0wNSAxNzoxNzowNCArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBleHQvZ2NvbmYvZ3N0c3dpdGNoc2luay5jOiBGaXggdXAgdGhlIHJlZmVyZW5jZSBjb3VudGluZyBvZiB0aGUgY2hpbGQgZWxlbWVudHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9nY29uZi9nc3Rzd2l0Y2hzaW5rLmM6IChnc3Rfc3dpdGNoX3NpbmtfZGlzcG9zZSksCgkgIChnc3Rfc3dpdGNoX2NvbW1pdF9uZXdfa2lkKToKCSAgRml4IHVwIHRoZSByZWZlcmVuY2UgY291bnRpbmcgb2YgdGhlIGNoaWxkIGVsZW1lbnRzLgoKMjAwNy0wMy0wNSAxNzowODozMiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHAvOiBGaXggZW5jb2RpbmctbmFtZSBjYXNlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwL2dzdHJ0cG1wNGdwYXkuYzogKGdzdF9ydHBfbXA0Z19wYXlfc2V0Y2Fwcyk6CgkgICogZ3N0L3J0cC9nc3RydHB0aGVvcmFwYXkuYzogKGdzdF9ydHBfdGhlb3JhX3BheV9maW5pc2hfaGVhZGVycyk6CgkgICogZ3N0L3J0cC9nc3RydHB2b3JiaXNwYXkuYzogKGdzdF9ydHBfdm9yYmlzX3BheV9maW5pc2hfaGVhZGVycyk6CgkgIEZpeCBlbmNvZGluZy1uYW1lIGNhc2UuCgoyMDA3LTAzLTA1IDE2OjM5OjI5ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cC86IEZpeCBzcGVleCAoZGUpcGF5bG9hZGVyLiBGaXhlcyAjMzU4MDQwLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwL2dzdHJ0cHNwZWV4ZGVwYXkuYzogKGdzdF9ydHBfc3BlZXhfZGVwYXlfY2xhc3NfaW5pdCksCgkgIChnc3RfcnRwX3NwZWV4X2RlcGF5X2dldF9tb2RlKSwgKGdzdF9ydHBfc3BlZXhfZGVwYXlfc2V0Y2FwcyksCgkgIChnc3RfcnRwX3NwZWV4X2RlcGF5X3Byb2Nlc3MpOgoJICAqIGdzdC9ydHAvZ3N0cnRwc3BlZXhwYXkuYzogKGdzdF9ydHBfc3BlZXhfcGF5X2Jhc2VfaW5pdCksCgkgIChnc3RfcnRwX3NwZWV4X3BheV9jbGFzc19pbml0KSwgKGdzdF9ydHBfc3BlZXhfcGF5X3NldGNhcHMpLAoJICAoZ3N0X3J0cF9zcGVleF9wYXlfcGFyc2VfaWRlbnQpLCAoZ3N0X3J0cF9zcGVleF9wYXlfaGFuZGxlX2J1ZmZlciksCgkgIChnc3RfcnRwX3NwZWV4X3BheV9jaGFuZ2Vfc3RhdGUpOgoJICAqIGdzdC9ydHAvZ3N0cnRwc3BlZXhwYXkuaDoKCSAgRml4IHNwZWV4IChkZSlwYXlsb2FkZXIuIEZpeGVzICMzNTgwNDAuCgoyMDA3LTAzLTA1IDE1OjQyOjU4ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGV4dC9nY29uZi9nc3Rzd2l0Y2hzaW5rLmM6IEluc3RhbGwgZmFrZXNpbmsgaW4gTlVMTCBieSBmaXhpbmcgc29tZSBicm9rZW4gbG9naWMuIFRoaXMgb2J2aWF0ZXMgdGhlIG5lZWQgdG8gbWFudWFsbHkgcy4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZ2NvbmYvZ3N0c3dpdGNoc2luay5jOiAoZ3N0X3N3aXRjaF9zaW5rX3Jlc2V0KSwKCSAgKGdzdF9zd2l0Y2hfY29tbWl0X25ld19raWQpLCAoZ3N0X3N3aXRjaF9zaW5rX3NldF9jaGlsZCk6CgkgIEluc3RhbGwgZmFrZXNpbmsgaW4gTlVMTCBieSBmaXhpbmcgc29tZSBicm9rZW4gbG9naWMuIFRoaXMgb2J2aWF0ZXMKCSAgdGhlIG5lZWQgdG8gbWFudWFsbHkgc2V0IF9JU19TSU5LLgoJICBBZGQgc29tZSBjb21tZW50cyBhbmQgcmVtb3ZlIGEgbGl0dGxlIGNydWZ0IHdoaWxlIEknbSBhdCBpdC4KCjIwMDctMDMtMDUgMTQ6NDY6NDMgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBleHQvZ2NvbmYvZ3N0c3dpdGNoc2luay5jOiBNYXJrIHVzIGFzIGEgc2luayB3aGVuIHdlIGhhdmUgbm8gZmFrZXNpbmsgaW4gTlVMTC4gRml4ZXMgIzQxNDg4Ny4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2djb25mL2dzdHN3aXRjaHNpbmsuYzogKGdzdF9zd2l0Y2hfc2lua19yZXNldCk6CgkgIE1hcmsgdXMgYXMgYSBzaW5rIHdoZW4gd2UgaGF2ZSBubyBmYWtlc2luayBpbiBOVUxMLiBGaXhlcyAjNDE0ODg3LgoKMjAwNy0wMy0wNSAwODozMDo1MiArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L3NwZWN0cnVtLzogUmVtb3ZlIHR3byBvYnNvbGV0ZSBhbmQgY29uZnVzaW5nIGNvbW1lbnRzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvc3BlY3RydW0vZGVtby1hdWRpb3Rlc3QuYzogKG1lc3NhZ2VfaGFuZGxlcik6CgkgICogZ3N0L3NwZWN0cnVtL2RlbW8tb3Nzc3JjLmM6IChtZXNzYWdlX2hhbmRsZXIpOgoJICBSZW1vdmUgdHdvIG9ic29sZXRlIGFuZCBjb25mdXNpbmcgY29tbWVudHMuCgoyMDA3LTAzLTA0IDE4OjUyOjEyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgcG8vUE9URklMRVMuaW46IFVwZGF0ZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogcG8vUE9URklMRVMuaW46CgkgIFVwZGF0ZS4KCjIwMDctMDMtMDQgMTc6MzM6MzQgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06IEdhaCEgQWxzbyBkaXNhYmxlIGdjb25mdmlkZW9zaW5rIGZyb20gdGhlIHRlc3RzLCBvdGhlcndpc2UgaXQgd2lsbCBpbnN0YW50aWF0ZSBhdXRvdmlkZW9zaW5rLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICBHYWghIEFsc28gZGlzYWJsZSBnY29uZnZpZGVvc2luayBmcm9tIHRoZSB0ZXN0cywgb3RoZXJ3aXNlCgkgIGl0IHdpbGwgaW5zdGFudGlhdGUgYXV0b3ZpZGVvc2luaywgYW5kIGRmYnZpZGVvc2luayBhbmQKCSAgbGVhayBvbiB0aGUgYnVpbGRib3RzLgoKMjAwNy0wMy0wNCAxNzoxMzoxOSArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBleHQvY2Rpby9nc3RjZGlvY2RkYXNyYy5jOiBNYWtlIHN1cmUgd2UgYWx3YXlzIGRlc3Ryb3kgb3VyIGxpYmNkaW8gaGFuZGxlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvY2Rpby9nc3RjZGlvY2RkYXNyYy5jOiAoZ3N0X2NkaW9fY2RkYV9zcmNfb3BlbiksCgkgIChnc3RfY2Rpb19jZGRhX3NyY19maW5hbGl6ZSk6CgkgIE1ha2Ugc3VyZSB3ZSBhbHdheXMgZGVzdHJveSBvdXIgbGliY2RpbyBoYW5kbGUuCgoyMDA3LTAzLTA0IDE3OjA1OjU4ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOiBEaXNhYmxlIGF1dG92aWRlb3Npbmsgc28gdGhlIGJ1aWxkYm90cyBkb24ndCBiYXJmIG92ZXIgbWVtb3J5IGxlYWtlZCBpbiB0aGUgZGlyZWN0ZmIgc2luay4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgIERpc2FibGUgYXV0b3ZpZGVvc2luayBzbyB0aGUgYnVpbGRib3RzIGRvbid0IGJhcmYgb3ZlciBtZW1vcnkKCSAgbGVha2VkIGluIHRoZSBkaXJlY3RmYiBzaW5rLgoKMjAwNy0wMy0wNCAxNToyODozMCArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBzeXMveGltYWdlL2dzdHhpbWFnZXNyYy5jOiBDaGFpbiB1cCBpbiBkaXNwb3NlCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy94aW1hZ2UvZ3N0eGltYWdlc3JjLmM6IChnc3RfeGltYWdlX3NyY19kaXNwb3NlKToKCSAgQ2hhaW4gdXAgaW4gZGlzcG9zZQoKMjAwNy0wMy0wNCAxNTowNzoxNSArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBnc3QvbXVsdGlwYXJ0L211bHRpcGFydGRlbXV4LmM6IFVzZSBnc3RfcGFkX25ld19mcm9tX3N0YXRpY190ZW1wbGF0ZSBpbnN0ZWFkIG9mIHN0YXRpY19wYWRfdGVtcGxhdGVfZ2V0K3BhZF9uZXcuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tdWx0aXBhcnQvbXVsdGlwYXJ0ZGVtdXguYzogKGdzdF9tdWx0aXBhcnRfZGVtdXhfaW5pdCksCgkgIChnc3RfbXVsdGlwYXJ0X2ZpbmRfcGFkX2J5X21pbWUpOgoJICBVc2UgZ3N0X3BhZF9uZXdfZnJvbV9zdGF0aWNfdGVtcGxhdGUgaW5zdGVhZCBvZgoJICBzdGF0aWNfcGFkX3RlbXBsYXRlX2dldCtwYWRfbmV3LgoKMjAwNy0wMy0wNCAxNDo1Njo1MyArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBzeXMveGltYWdlL2dzdHhpbWFnZXNyYy5jOiBDYXRjaCB0aGUgY2FzZSB3aGVyZSBubyBjbG9jayBoYXMgYmVlbiBzZXQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy94aW1hZ2UvZ3N0eGltYWdlc3JjLmM6IChnc3RfeGltYWdlX3NyY19jcmVhdGUpOgoJICBDYXRjaCB0aGUgY2FzZSB3aGVyZSBubyBjbG9jayBoYXMgYmVlbiBzZXQuCgoyMDA3LTAzLTA0IDEzOjUyOjAzICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIEZpeCBhIGJ1bmNoIG9mIGxlYWtzIHNob3duIGJ5IHRoZSBuZXdseS1hZGRlZCBzdGF0ZXMgdGVzdC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2ZsYWMvZ3N0ZmxhY2VuYy5jOiAoZ3N0X2ZsYWNfZW5jX2ZpbmFsaXplKToKCSAgKiBleHQvZ2NvbmYvZ3N0Z2NvbmZhdWRpb3NpbmsuYzogKGdzdF9nY29uZl9hdWRpb19zaW5rX2NsYXNzX2luaXQpLAoJICAoZ3N0X2djb25mX2F1ZGlvX3NpbmtfZGlzcG9zZSksIChnc3RfZ2NvbmZfYXVkaW9fc2lua19maW5hbGl6ZSk6CgkgICogZXh0L2djb25mL2dzdGdjb25mYXVkaW9zcmMuYzogKGdzdF9nY29uZl9hdWRpb19zcmNfYmFzZV9pbml0KSwKCSAgKGdzdF9nY29uZl9hdWRpb19zcmNfY2xhc3NfaW5pdCksIChnc3RfZ2NvbmZfYXVkaW9fc3JjX2Rpc3Bvc2UpLAoJICAoZ3N0X2djb25mX2F1ZGlvX3NyY19maW5hbGl6ZSksIChkb190b2dnbGVfZWxlbWVudCk6CgkgICogZXh0L2djb25mL2dzdGdjb25mdmlkZW9zaW5rLmM6IChnc3RfZ2NvbmZfdmlkZW9fc2lua19iYXNlX2luaXQpLAoJICAoZ3N0X2djb25mX3ZpZGVvX3NpbmtfY2xhc3NfaW5pdCksIChnc3RfZ2NvbmZfdmlkZW9fc2lua19maW5hbGl6ZSksCgkgIChkb190b2dnbGVfZWxlbWVudCk6CgkgICogZXh0L2djb25mL2dzdGdjb25mdmlkZW9zcmMuYzogKGdzdF9nY29uZl92aWRlb19zcmNfYmFzZV9pbml0KSwKCSAgKGdzdF9nY29uZl92aWRlb19zcmNfY2xhc3NfaW5pdCksIChnc3RfZ2NvbmZfdmlkZW9fc3JjX2Rpc3Bvc2UpLAoJICAoZ3N0X2djb25mX3ZpZGVvX3NyY19maW5hbGl6ZSksIChkb190b2dnbGVfZWxlbWVudCk6CgkgICogZXh0L2djb25mL2dzdHN3aXRjaHNpbmsuYzogKGdzdF9zd2l0Y2hfc2lua19jbGFzc19pbml0KSwKCSAgKGdzdF9zd2l0Y2hfc2lua19yZXNldCksIChnc3Rfc3dpdGNoX3Npbmtfc2V0X2NoaWxkKToKCSAgKiBleHQvaGFsL2dzdGhhbGF1ZGlvc2luay5jOiAoZ3N0X2hhbF9hdWRpb19zaW5rX2Jhc2VfaW5pdCk6CgkgICogZXh0L2hhbC9nc3RoYWxhdWRpb3NyYy5jOiAoZ3N0X2hhbF9hdWRpb19zcmNfYmFzZV9pbml0KToKCSAgKiBleHQvc2hvdXQyL2dzdHNob3V0Mi5jOiAoZ3N0X3Nob3V0MnNlbmRfY2xhc3NfaW5pdCksCgkgIChnc3Rfc2hvdXQyc2VuZF9pbml0KSwgKGdzdF9zaG91dDJzZW5kX2ZpbmFsaXplKToKCSAgKiBnc3QvZGVidWcvdGVzdHBsdWdpbi5jOiAoZ3N0X3Rlc3RfY2xhc3NfaW5pdCksCgkgIChnc3RfdGVzdF9maW5hbGl6ZSk6CgkgICogZ3N0L2ZseC9nc3RmbHhkZWMuYzogKGdzdF9mbHhkZWNfY2xhc3NfaW5pdCksCgkgIChnc3RfZmx4ZGVjX2Rpc3Bvc2UpOgoJICAqIGdzdC9tdWx0aXBhcnQvbXVsdGlwYXJ0bXV4LmM6IChnc3RfbXVsdGlwYXJ0X211eF9maW5hbGl6ZSk6CgkgICogZ3N0L3J0cC9nc3RydHBtcDRncGF5LmM6IChnc3RfcnRwX21wNGdfcGF5X2ZpbmFsaXplKToKCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IChnc3RfcnRzcHNyY19pbml0KSwKCSAgKGdzdF9ydHNwc3JjX2ZpbmFsaXplKToKCSAgKiBnc3QvcnRzcC9ydHNwZXh0d21zLmM6IChydHNwX2V4dF93bXNfZnJlZV9jb250ZXh0KToKCSAgKiBnc3QvcnRzcC9ydHNwZXh0d21zLmg6CgkgICogZ3N0L3NtcHRlL2dzdHNtcHRlLmM6IChnc3Rfc21wdGVfY2xhc3NfaW5pdCksCgkgIChnc3Rfc21wdGVfZmluYWxpemUpOgoJICAqIGdzdC91ZHAvZ3N0bXVsdGl1ZHBzaW5rLmM6IChnc3RfbXVsdGl1ZHBzaW5rX2ZpbmFsaXplKToKCSAgKiBnc3QvdWRwL2dzdHVkcHNpbmsuYzogKGdzdF91ZHBzaW5rX2NsYXNzX2luaXQpLAoJICAoZ3N0X3VkcHNpbmtfZmluYWxpemUpOgoJICAqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOiAoZ3N0X3dhdnBhcnNlX2Rpc3Bvc2UpLAoJICAoZ3N0X3dhdnBhcnNlX3NpbmtfYWN0aXZhdGUpOgoJICAqIHN5cy9vc3MvZ3N0b3Nzc2luay5jOiAoZ3N0X29zc19zaW5rX2ZpbmFsaXNlKToKCSAgKiBzeXMvb3NzL2dzdG9zc3NyYy5jOiAoZ3N0X29zc19zcmNfY2xhc3NfaW5pdCksCgkgIChnc3Rfb3NzX3NyY19maW5hbGl6ZSk6CgkgICogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOiAoZ3N0X3Y0bDJfb2JqZWN0X2Rlc3Ryb3kpOgoJICAqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuaDoKCSAgKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6IChnc3RfdjRsMnNyY19jbGFzc19pbml0KSwKCSAgKGdzdF92NGwyc3JjX2ZpbmFsaXplKToKCSAgKiBzeXMveGltYWdlL2dzdHhpbWFnZXNyYy5jOiAoZ3N0X3hpbWFnZV9zcmNfeGltYWdlX2dldCk6CgkgIEZpeCBhIGJ1bmNoIG9mIGxlYWtzIHNob3duIGJ5IHRoZSBuZXdseS1hZGRlZCBzdGF0ZXMgdGVzdC4KCjIwMDctMDMtMDQgMTM6NDE6MDAgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgZXh0L2R2L2dzdGR2ZGVjLmM6IFVzZSBnc3RfcGFkX25ld19mcm9tX3N0YXRpY190ZW1wbGF0ZSBpbnN0ZWFkIG9mIHN0YXRpY19wYWRfdGVtcGxhdGVfZ2V0K3BhZF9uZXcuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9kdi9nc3RkdmRlYy5jOiAoZ3N0X2R2ZGVjX2luaXQpOgoJICBVc2UgZ3N0X3BhZF9uZXdfZnJvbV9zdGF0aWNfdGVtcGxhdGUgaW5zdGVhZCBvZgoJICBzdGF0aWNfcGFkX3RlbXBsYXRlX2dldCtwYWRfbmV3LgoKMjAwNy0wMy0wMyAxMzowNjoyMSArMDAwMCAgTG/Dr2MgTWluaWVyIDxsb29sK2dub21lQHZpYS5lY3AuZnI+CgoJICBEb24ndCBtaXggdGFicyBhbmQgc3BhY2VzICgjNDE0MTY4KS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBMb8OvYyBNaW5pZXIgPGxvb2wrZ25vbWUgYXQgdmlhIGVjcCBmcj4KCSAgKiBleHQvbGliY2FjYS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvZGVidWcvTWFrZWZpbGUuYW06CgkgIERvbid0IG1peCB0YWJzIGFuZCBzcGFjZXMgKCM0MTQxNjgpLgoKMjAwNy0wMy0wMiAyMTozNToxMSArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgdGVzdHMvY2hlY2svZ2VuZXJpYy8uY3ZzaWdub3JlOiBJZ25vcmUgZmlsZXMgdG8gcGxlYXNlIGJ1aWxkYm90LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9jaGVjay9nZW5lcmljLy5jdnNpZ25vcmU6CgkgIElnbm9yZSBmaWxlcyB0byBwbGVhc2UgYnVpbGRib3QuCgoyMDA3LTAzLTAyIDIxOjAxOjE5ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzogVW5icmVhayBteSBwcmV2aW91cyBjb21taXQgKHN3YXBwZWQgbm9taW5hdG9yICYgZGVub21pbmF0b3IpLiBUaW0sIHRoYW5rcyBmb3Igc3BvdHRpbmcuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOiAoZ3N0X3dhdnBhcnNlX3N0cmVhbV9oZWFkZXJzKSwKCSAgKGdzdF93YXZwYXJzZV9zdHJlYW1fZGF0YSk6CgkgIFVuYnJlYWsgbXkgcHJldmlvdXMgY29tbWl0IChzd2FwcGVkIG5vbWluYXRvciAmIGRlbm9taW5hdG9yKS4gVGltLAoJICB0aGFua3MgZm9yIHNwb3R0aW5nLgoKMjAwNy0wMy0wMiAxNjowODoxNyArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGV4dC9jZGlvL2dzdGNkaW9jZGRhc3JjLmM6IFNtYWxsIGNvZGUgY2xlYW51cHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9jZGlvL2dzdGNkaW9jZGRhc3JjLmM6IChnc3RfY2Rpb19jZGRhX3NyY19wcm9iZV9kZXZpY2VzKSwKCSAgKGdzdF9jZGlvX2NkZGFfc3JjX3JlYWRfc2VjdG9yKSwgKGdzdF9jZGlvX2NkZGFfc3JjX29wZW4pLAoJICAoZ3N0X2NkaW9fY2RkYV9zcmNfZmluYWxpemUpOgoJICBTbWFsbCBjb2RlIGNsZWFudXBzLgoJICBEb24ndCB1c2UgcGFkX2FsbG9jIGFzIHRoZSBiYXNlIGNsYXNzIGNhbm5vdCBkZWFsIHdpdGggdGhlIGVycm9yIGNvZGVzLgoKMjAwNy0wMy0wMiAxMzo0MDowNiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC91ZHAvZ3N0dWRwc3JjLmM6IEZpeCBkb2MuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC91ZHAvZ3N0dWRwc3JjLmM6IChnc3RfdWRwc3JjX2NsYXNzX2luaXQpLAoJICAoZ3N0X3VkcHNyY19jcmVhdGUpOgoJICBGaXggZG9jLgoKMjAwNy0wMy0wMiAxMzoyOToyNSArMDAwMCAgUmVuw6kgU3RhZGxlciA8bWFpbEByZW5lc3RhZGxlci5kZT4KCgkgIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOiBIYW5kbGUgcm91bmRpbmcgYmV0dGVyIHRvIG5vdCBkcm9wIGxhc3Qgc2FtcGxlIGZyYW1lLiBGaXhlcyAjMzU2NjkyCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogUmVuw6kgU3RhZGxlciA8bWFpbEByZW5lc3RhZGxlci5kZT4KCSAgKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzogKHVpbnQ2NF9jZWlsaW5nX3NjYWxlX2ludCksCgkgIChnc3Rfd2F2cGFyc2VfcGVyZm9ybV9zZWVrKSwgKGdzdF93YXZwYXJzZV9zdHJlYW1faGVhZGVycyksCgkgIChnc3Rfd2F2cGFyc2Vfc3RyZWFtX2RhdGEpOgoJICBIYW5kbGUgcm91bmRpbmcgYmV0dGVyIHRvIG5vdCBkcm9wIGxhc3Qgc2FtcGxlIGZyYW1lLiBGaXhlcyAjMzU2NjkyCgoyMDA3LTAzLTAyIDEzOjE5OjU3ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOiBEaXNhYmxlIGNhY2FzaW5rIGZyb20gdGhlIHN0YXRlcyBjaGVjayB0b28gLSBpdCBhbHNvIGNhbGxzIGV4aXQoMSkgb24gdXMgd2hlbiBpdCBjYW4ndCBmaW5kIC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgRGlzYWJsZSBjYWNhc2luayBmcm9tIHRoZSBzdGF0ZXMgY2hlY2sgdG9vIC0gaXQgYWxzbyBjYWxscyBleGl0KDEpCgkgIG9uIHVzIHdoZW4gaXQgY2FuJ3QgZmluZCBhIHRlcm1pbmFsIHRvIHRhbGsgdG8uCgoyMDA3LTAzLTAyIDEyOjU2OjEzICswMDAwICBUaGlqcyBWZXJtZWlyIDx0aGlqc3Zlcm1laXJAZ21haWwuY29tPgoKCSAgZ3N0L3VkcC9nc3R1ZHBzcmMuKjogQWRkIHN1cHBvcnQgdG8gc3RyaXAgcHJvcHJpZXRhcnkgaGVhZGVycy4gRml4ZXMgIzM1MDI5Ni4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBUaGlqcyBWZXJtZWlyIDx0aGlqc3Zlcm1laXIgYXQgZ21haWwgZG90IGNvbT4KCSAgKiBnc3QvdWRwL2dzdHVkcHNyYy5jOiAoZ3N0X3VkcHNyY19jbGFzc19pbml0KSwgKGdzdF91ZHBzcmNfaW5pdCksCgkgIChnc3RfdWRwc3JjX2NyZWF0ZSksIChnc3RfdWRwc3JjX3NldF9wcm9wZXJ0eSksCgkgIChnc3RfdWRwc3JjX2dldF9wcm9wZXJ0eSk6CgkgICogZ3N0L3VkcC9nc3R1ZHBzcmMuaDoKCSAgQWRkIHN1cHBvcnQgdG8gc3RyaXAgcHJvcHJpZXRhcnkgaGVhZGVycy4gRml4ZXMgIzM1MDI5Ni4KCjIwMDctMDMtMDIgMTI6NTI6NTYgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwL2dzdHJ0cG1wMnRkZXBheS5jOiBGaXggY29tcGlsYXRpb24uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHAvZ3N0cnRwbXAydGRlcGF5LmM6IChnc3RfcnRwX21wMnRfZGVwYXlfcHJvY2Vzcyk6CgkgIEZpeCBjb21waWxhdGlvbi4KCjIwMDctMDMtMDIgMTI6MTY6MTYgKzAwMDAgIFRoaWpzIFZlcm1laXIgPHRoaWpzdmVybWVpckBnbWFpbC5jb20+CgoJICBnc3QvcnRwL2dzdHJ0cG1wMnRkZXBheS4qOiBBZGQgc3VwcG9ydCB0byBzdHJpcCBvZmYgcHJvcHJpZXRhcnkgaGVhZGVycy4gRml4ZXMgIzM1MDI3OC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBUaGlqcyBWZXJtZWlyIDx0aGlqc3Zlcm1laXIgYXQgZ21haWwgZG90IGNvbT4KCSAgKiBnc3QvcnRwL2dzdHJ0cG1wMnRkZXBheS5jOiAoZ3N0X3J0cF9tcDJ0X2RlcGF5X2NsYXNzX2luaXQpLAoJICAoZ3N0X3J0cF9tcDJ0X2RlcGF5X2luaXQpLCAoZ3N0X3J0cF9tcDJ0X2RlcGF5X3Byb2Nlc3MpLAoJICAoZ3N0X3J0cF9tcDJ0X2RlcGF5X3NldF9wcm9wZXJ0eSksCgkgIChnc3RfcnRwX21wMnRfZGVwYXlfZ2V0X3Byb3BlcnR5KToKCSAgKiBnc3QvcnRwL2dzdHJ0cG1wMnRkZXBheS5oOgoJICBBZGQgc3VwcG9ydCB0byBzdHJpcCBvZmYgcHJvcHJpZXRhcnkgaGVhZGVycy4gRml4ZXMgIzM1MDI3OC4KCjIwMDctMDMtMDIgMTE6MjI6MzUgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBleHQvaGFsL2hhbC5jOiBGaXggY29tcGlsYXRpb24uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9oYWwvaGFsLmM6CgkgIEZpeCBjb21waWxhdGlvbi4KCjIwMDctMDMtMDIgMTA6NTQ6NDkgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBzeXMvc3VuYXVkaW8vZ3N0c3VuYXVkaW9zcmMuKjogUmVtb3ZlIGRldmljZS1uYW1lIGZyb20gR3N0U3VuQXVkaW9TcmMuIEZpeGVzICM0MTI1OTcuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy9zdW5hdWRpby9nc3RzdW5hdWRpb3NyYy5jOiAoZ3N0X3N1bmF1ZGlvc3JjX2NsYXNzX2luaXQpLAoJICAoZ3N0X3N1bmF1ZGlvc3JjX2luaXQpLCAoZ3N0X3N1bmF1ZGlvc3JjX2dldF9wcm9wZXJ0eSksCgkgIChnc3Rfc3VuYXVkaW9zcmNfb3Blbik6CgkgICogc3lzL3N1bmF1ZGlvL2dzdHN1bmF1ZGlvc3JjLmg6CgkgIFJlbW92ZSBkZXZpY2UtbmFtZSBmcm9tIEdzdFN1bkF1ZGlvU3JjLiBGaXhlcyAjNDEyNTk3LgoKMjAwNy0wMy0wMSAyMTo1MDozNiArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZXh0L2hhbC86IEhhdmluZyBOVUxMIGFzIFVESSBwcmV2aW91c2x5IHNlbGVjdGVkIHRoZSBkZWZhdWx0IHNpbmsvc3JjLiBDaGFuZ2UgdGhpcyBiYWNrIGJ1dCBtZW50aW9uIGl0IGluIHRoZSBkZWJ1ZyBvLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9oYWwvZ3N0aGFsYXVkaW9zaW5rLmM6IChkb190b2dnbGVfZWxlbWVudCk6CgkgICogZXh0L2hhbC9nc3RoYWxhdWRpb3NyYy5jOiAoZG9fdG9nZ2xlX2VsZW1lbnQpOgoJICBIYXZpbmcgTlVMTCBhcyBVREkgcHJldmlvdXNseSBzZWxlY3RlZCB0aGUgZGVmYXVsdCBzaW5rL3NyYy4gQ2hhbmdlCgkgIHRoaXMgYmFjayBidXQgbWVudGlvbiBpdCBpbiB0aGUgZGVidWcgb3V0cHV0LgoJICAqIGV4dC9oYWwvaGFsLmM6IChnc3RfaGFsX2dldF9hbHNhX2VsZW1lbnQpLAoJICAoZ3N0X2hhbF9nZXRfb3NzX2VsZW1lbnQpLCAoZ3N0X2hhbF9nZXRfc3RyaW5nKSwKCSAgKGdzdF9oYWxfcmVuZGVyX2Jpbl9mcm9tX3VkaSksIChnc3RfaGFsX2dldF9hdWRpb19zaW5rKSwKCSAgKGdzdF9oYWxfZ2V0X2F1ZGlvX3NyYyk6CgkgICogZXh0L2hhbC9oYWwuaDoKCSAgUmVmYWN0b3IgYSBiaXQsIGNoZWNrIGFsbCBlcnJvciBjb25kaXRpb25zLCBncmVhdGx5IGltcHJvdmUgZGVidWdnaW5nCgkgIGFuZCBmaXggc29tZSBwb3NzaWJsZSBtZW1vcnkgbGVha3MuIEFsc28gaW1wbGVtZW50IE9TUyBzdXBwb3J0CgkgIGFuZCBhbGxvdyBzcGVjaWZ5aW5nIGFuIFVESSB0aGF0IHBvaW50cyB0byBhIHJlYWwgZGV2aWNlLiBGb3IgdGhpcyB0aGUKCSAgY2hpbGQgZGV2aWNlIHdoaWNoIHN1cHBvcnRzIEFMU0EgKHByZWZlcnJlZCkgb3IgT1NTIGlzIHVzZWQuCgkgIEFzIGEgc2lkZSBlZmZlY3QgdGhpcyBtYWtlcyBpdCBpbXBvc3NpYmxlIG5vdyB0byBnZXQgYSBhbHNhc2luayBpbgoJICBoYWxhdWRpb3NyYyBhbmQgYSBhbHNhc3JjIGluIGhhbGF1ZGlvc2luay4KCjIwMDctMDMtMDEgMTg6NDc6MjggKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IEVycm9ycyBmcm9tIHRoZSB1ZHAgc291cmNlcyBhcmUgbm90IGZhdGFsIHVubGVzcyBhbGwgb2YgdGhlbSBhcmUgaW4gZXJyb3IuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogKGZpbmRfc3RyZWFtX2J5X2NoYW5uZWwpLAoJICAoZmluZF9zdHJlYW1fYnlfdWRwc3JjKSwgKGdzdF9ydHNwc3JjX2hhbmRsZV9tZXNzYWdlKToKCSAgRXJyb3JzIGZyb20gdGhlIHVkcCBzb3VyY2VzIGFyZSBub3QgZmF0YWwgdW5sZXNzIGFsbCBvZiB0aGVtIGFyZSBpbgoJICBlcnJvci4KCjIwMDctMDMtMDEgMTg6MTQ6NDIgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06IERpc2FibGUgYWFzaW5rIGluIHRoZSBzdGF0ZXMgdGVzdC4gSSBzdXNwZWN0IHRoaXMgaXMgdGhlIGVsZW1lbnQgdGhhdCBpcyBjYWxsaW5nIGV4aXQoMSkgd2hlLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICBEaXNhYmxlIGFhc2luayBpbiB0aGUgc3RhdGVzIHRlc3QuIEkgc3VzcGVjdCB0aGlzIGlzIHRoZSBlbGVtZW50IHRoYXQKCSAgaXMgY2FsbGluZyBleGl0KDEpIHdoZW4gaXQgY2FuJ3QgcHJvY2VlZC4KCjIwMDctMDMtMDEgMTc6MjY6MzAgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06IERyYXcgcGx1Z2lucyBpbiBmcm9tIHRoZSBidWlsZCB0cmVlIHN5cy8gZGlyLCByYXRoZXIgdGhhbiBwaWNraW5nIHVwIHRoZSBhbHJlYWR5IGluc3RhbGxlZCB2Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICBEcmF3IHBsdWdpbnMgaW4gZnJvbSB0aGUgYnVpbGQgdHJlZSBzeXMvIGRpciwgcmF0aGVyIHRoYW4gcGlja2luZwoJICB1cCB0aGUgYWxyZWFkeSBpbnN0YWxsZWQgdmVyc2lvbnMuCgoyMDA3LTAzLTAxIDEwOjQ0OjM2ICswMDAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSAgc3lzL3hpbWFnZS9nc3R4aW1hZ2VzcmMuYzogRXJyb3Igb3V0IGNvcnJlY3RseSB3aGVuIGdldHRpbmcgeGNvbnRleHQgZmFpbHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA3LTAzLTAxICBaYWhlZXIgQWJiYXMgTWVyYWxpICA8emFoZWVyYWJiYXMgYXQgbWVyYWxpIGRvdCBvcmc+CgkgICogc3lzL3hpbWFnZS9nc3R4aW1hZ2VzcmMuYzogKGdzdF94aW1hZ2Vfc3JjX29wZW5fZGlzcGxheSk6CgkgIEVycm9yIG91dCBjb3JyZWN0bHkgd2hlbiBnZXR0aW5nIHhjb250ZXh0IGZhaWxzLgoKMjAwNy0wMy0wMSAwOToyOTozNCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHNwL2dzdHJ0cGRlYy5jOiBNYWtlIHN0YXRlIGNoYW5nZSB0byBQQVVTRUQgTk9fUFJFUk9MTCBiZWNhdXNlIHRoYXQncyB3aGF0IGl0IHdpbGwgYmUgaW4gdGhlIGZ1dHVyZSBhbmQgcnRzcHNyYy4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRzcC9nc3RydHBkZWMuYzogKGdzdF9ydHBkZWNfY2hhbmdlX3N0YXRlKToKCSAgTWFrZSBzdGF0ZSBjaGFuZ2UgdG8gUEFVU0VEIE5PX1BSRVJPTEwgYmVjYXVzZSB0aGF0J3Mgd2hhdCBpdCB3aWxsIGJlIGluCgkgIHRoZSBmdXR1cmUgYW5kIHJ0c3BzcmMgcmVsaWVzIG9uIGl0LgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogKGdzdF9ydHNwc3JjX3N0cmVhbV9jb25maWd1cmVfdHJhbnNwb3J0KSwKCSAgKGdzdF9ydHNwc3JjX2NoYW5nZV9zdGF0ZSk6CgkgIERvbid0IGVycm9yIG91dCB3aGVuIHdlIGRvbid0IGdldCBhbiBlcnJvciBmcm9tIHRoZSBzdGF0ZSBjaGFuZ2UKCSAgZnVuY3Rpb24uCgoyMDA3LTAzLTAxIDAxOjQ4OjU5ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBleHQvaGFsLzogQ2hlY2sgaWYgdGhlIGRldmljZSBVREkgaXMgc2V0IGJlZm9yZSB0cnlpbmcgdG8gcXVlcnkgSEFMIGFib3V0IGl0IGFuZCBnaXZlIGEgdXNlZnVsIGVycm9yIG1lc3NhZ2UgaWYgaXQgd2EuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2hhbC9nc3RoYWxhdWRpb3NpbmsuYzogKGRvX3RvZ2dsZV9lbGVtZW50KToKCSAgKiBleHQvaGFsL2dzdGhhbGF1ZGlvc3JjLmM6IChkb190b2dnbGVfZWxlbWVudCk6CgkgIENoZWNrIGlmIHRoZSBkZXZpY2UgVURJIGlzIHNldCBiZWZvcmUgdHJ5aW5nIHRvIHF1ZXJ5IEhBTAoJICBhYm91dCBpdCBhbmQgZ2l2ZSBhIHVzZWZ1bCBlcnJvciBtZXNzYWdlIGlmIGl0IHdhc24ndCBzZXQuCgkgICogZXh0L2hhbC9oYWwuYzogKGdzdF9oYWxfZ2V0X3N0cmluZyk6CgkgIERvbid0IHF1ZXJ5IEhBTCBmb3IgTlVMTCBVRElzLiBQYXNzaW5nIE5VTEwgYXMgVURJIHRvIEhBTAoJICBnaXZlcyBhbiBhc3NlcnRpb24gZmFpbHVyZSBpbiBELUJ1cyB3aGVuIHJ1bm5pbmcgd2l0aAoJICBEQlVTX0ZBVEFMX1dBUk5JTkdTPTEuCgoyMDA3LTAyLTI4IDE5OjI5OjQyICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgdXBkYXRlIGNvbmZpZyB0byB0cnVuawoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgdXBkYXRlIGNvbmZpZyB0byB0cnVuawoKMjAwNy0wMi0yOCAxOToyOToyNSArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJICBjb25maWd1cmUuYWM6IENvbnZlcnQgdG8gbmV3IEFHX0dTVCBzdHlsZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICBDb252ZXJ0IHRvIG5ldyBBR19HU1Qgc3R5bGUuCgoyMDA3LTAyLTI4IDEyOjU5OjQzICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkgIHRlc3RzL2NoZWNrLzogYWRkIHRlc3QgZm9yIHN0YXRlcwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgKiB0ZXN0cy9jaGVjay9nZW5lcmljL3N0YXRlcy5jOiAoR1NUX1NUQVJUX1RFU1QpLCAoc3RhdGVzX3N1aXRlKToKCSAgYWRkIHRlc3QgZm9yIHN0YXRlcwoKMjAwNy0wMi0yOCAxMDo1ODoxMCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIHRlc3RzL2NoZWNrL2VsZW1lbnRzLy5jdnNpZ25vcmU6IEFkZCBuZXcgdmlkZW9maWx0ZXIgY2hlY2sgdG8gLmN2c2lnbm9yZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvLmN2c2lnbm9yZToKCSAgQWRkIG5ldyB2aWRlb2ZpbHRlciBjaGVjayB0byAuY3ZzaWdub3JlLgoKMjAwNy0wMi0yOCAxMDo1NDo1NSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzogRml4IGNvbWJpbmVkIGZsb3cgcmV0dXJuLiBGaXhlcyAjNDEyNjA4LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6IChnc3RfYXZpX2RlbXV4X2NvbWJpbmVfZmxvd3MpLAoJICAoZ3N0X2F2aV9kZW11eF9wcm9jZXNzX25leHRfZW50cnkpLCAoZ3N0X2F2aV9kZW11eF9zdHJlYW1fZGF0YSksCgkgIChnc3RfYXZpX2RlbXV4X2xvb3ApLCAoZ3N0X2F2aV9kZW11eF9jaGFpbik6CgkgIEZpeCBjb21iaW5lZCBmbG93IHJldHVybi4gRml4ZXMgIzQxMjYwOC4KCjIwMDctMDItMjggMTA6NDE6MTQgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvdmlkZW9maWx0ZXIvTWFrZWZpbGUuYW06IERpc3QgaGVhZGVyLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3ZpZGVvZmlsdGVyL01ha2VmaWxlLmFtOgoJICBEaXN0IGhlYWRlci4uCgoyMDA3LTAyLTI4IDEwOjI5OjA4ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3ZpZGVvZmlsdGVyL2dzdGdhbW1hLmg6IEFkZCBoZWFkZXIgdG9vLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvdmlkZW9maWx0ZXIvZ3N0Z2FtbWEuaDoKCSAgQWRkIGhlYWRlciB0b28uCgoyMDA3LTAyLTI4IDEwOjE3OjE1ICswMDAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYW5hdXdAc2t5bmV0LmJlPgoKCSAgZ3N0L3ZpZGVvZmlsdGVyLzogUG9ydCBnYW1tYSBmaWx0ZXIgdG8gMC4xMC4gRml4ZXMgIzQxMjcwNC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBNYXJrIE5hdXdlbGFlcnRzIDxtYW5hdXcgYXQgc2t5bmV0IGJlPgoJICAqIGdzdC92aWRlb2ZpbHRlci9NYWtlZmlsZS5hbToKCSAgKiBnc3QvdmlkZW9maWx0ZXIvZ3N0Z2FtbWEuYzogKGdzdF9nYW1tYV9iYXNlX2luaXQpLAoJICAoZ3N0X2dhbW1hX2NsYXNzX2luaXQpLCAoZ3N0X2dhbW1hX2luaXQpLCAoZ3N0X2dhbW1hX3NldF9wcm9wZXJ0eSksCgkgIChnc3RfZ2FtbWFfZ2V0X3Byb3BlcnR5KSwgKGdzdF9nYW1tYV9jYWxjdWxhdGVfdGFibGVzKSwKCSAgKG9pbF90YWJsZWxvb2t1cF91OCksIChnc3RfZ2FtbWFfc2V0X2NhcHMpLAoJICAoZ3N0X2dhbW1hX3BsYW5hcjQxMV9pcCksIChnc3RfZ2FtbWFfdHJhbnNmb3JtX2lwKSwgKHBsdWdpbl9pbml0KToKCSAgUG9ydCBnYW1tYSBmaWx0ZXIgdG8gMC4xMC4gRml4ZXMgIzQxMjcwNC4KCSAgKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy92aWRlb2ZpbHRlci5jOiAoc2V0dXBfZmlsdGVyKSwKCSAgKGNsZWFudXBfZmlsdGVyKSwgKGNoZWNrX2ZpbHRlciksIChHU1RfU1RBUlRfVEVTVCksCgkgICh2aWRlb2JhbGFuY2Vfc3VpdGUpLCAodmlkZW9mbGlwX3N1aXRlKSwgKGdhbW1hX3N1aXRlKSwgKG1haW4pOgoJICBBZGQgdW5pdCB0ZXN0cyBmb3IgdmlkZW9maWx0ZXJzLgoKMjAwNy0wMi0yOCAxMDowNjoyNyArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHNwL1VSTFM6IEFkZCBhbm90aGVyIGludGVyZXN0aW5nIHRlc3QgdXJsLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRzcC9VUkxTOgoJICBBZGQgYW5vdGhlciBpbnRlcmVzdGluZyB0ZXN0IHVybC4KCSAgKiBnc3QvcnRzcC9ydHNwbWVzc2FnZS5jOiAocnRzcF9tZXNzYWdlX2dldF9oZWFkZXIpOgoJICBEb24ndCBhbGxvdyBnZXR0aW5nIGhlYWRlciBmaWVsZHMgZnJvbSBkYXRhIHBhY2tldHMuCgoyMDA3LTAyLTI3IDIzOjQzOjA4ICswMDAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAeGlwaC5vcmc+CgoJICBleHQvc2hvdXQyL2dzdHNob3V0Mi4qOiBBZGQgYSBwcm9wZXJ0eSBmb3IgdXNlcm5hbWUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9zaG91dDIvZ3N0c2hvdXQyLmM6IChnc3Rfc2hvdXQyc2VuZF9jbGFzc19pbml0KSwKCSAgKGdzdF9zaG91dDJzZW5kX2luaXQpLCAoZ3N0X3Nob3V0MnNlbmRfc3RhcnQpLAoJICAoZ3N0X3Nob3V0MnNlbmRfc2V0X3Byb3BlcnR5KSwgKGdzdF9zaG91dDJzZW5kX2dldF9wcm9wZXJ0eSk6CgkgICogZXh0L3Nob3V0Mi9nc3RzaG91dDIuaDoKCSAgQWRkIGEgcHJvcGVydHkgZm9yIHVzZXJuYW1lLgoKMjAwNy0wMi0yNyAxMjowMjowMyArMDAwMCAgQ2hyaXN0aWFuIFNjaGFsbGVyIDx1cmFldXNAZ25vbWUub3JnPgoKCSogc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3BsdWdpbi5jOgoJKiBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5jOgoJKiBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5oOgoJKiBzeXMvZGlyZWN0c291bmQvZ3N0ZGlyZWN0c291bmRwbHVnaW4uYzoKCSogc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdHNvdW5kc2luay5jOgoJKiBzeXMvZGlyZWN0c291bmQvZ3N0ZGlyZWN0c291bmRzaW5rLmg6CgkqIHN5cy9vc3h2aWRlby9jb2NvYXdpbmRvdy5oOgoJKiBzeXMvb3N4dmlkZW8vY29jb2F3aW5kb3cubToKCSogc3lzL29zeHZpZGVvL29zeHZpZGVvc2luay5oOgoJKiBzeXMvb3N4dmlkZW8vb3N4dmlkZW9zaW5rLm06CgkgIHVwZGF0ZSBjb3B5cmlnaHQgc3RhdGVtZW50cwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgdXBkYXRlIGNvcHlyaWdodCBzdGF0ZW1lbnRzCgoyMDA3LTAyLTI3IDExOjU5OjIxICswMDAwICBDaHJpc3RpYW4gU2NoYWxsZXIgPHVyYWV1c0Bnbm9tZS5vcmc+CgoJKiBDaGFuZ2VMb2c6CgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hhdWRpby5jOgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4YXVkaW9lbGVtZW50LmM6CgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hhdWRpb2VsZW1lbnQuaDoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGF1ZGlvc2luay5jOgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4YXVkaW9zaW5rLmg6CgkgIHVwZGF0ZSBjb3B5cmlnaHQgc3RhdGVtZW50CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICB1cGRhdGUgY29weXJpZ2h0IHN0YXRlbWVudAoKMjAwNy0wMi0yNyAxMTozMDoxOSArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIHN5cy9vc3h2aWRlby86IERpc2FibGUgdGhlIGNvY29hIGV2ZW50IGxvb3Agc2luY2UgaXQncyBhIGh1Z2UgbWVtb3J5IGxlYWsuIFNob3VsZCBvbmx5IG1hdHRlciBpZiB0aGUgc2luayBpc24ndCB1c2VkIC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvb3N4dmlkZW8vY29jb2F3aW5kb3cuaDoKCSAgKiBzeXMvb3N4dmlkZW8vY29jb2F3aW5kb3cubToKCSAgKiBzeXMvb3N4dmlkZW8vb3N4dmlkZW9zaW5rLmg6CgkgICogc3lzL29zeHZpZGVvL29zeHZpZGVvc2luay5tOgoJICBEaXNhYmxlIHRoZSBjb2NvYSBldmVudCBsb29wIHNpbmNlIGl0J3MgYSBodWdlIG1lbW9yeSBsZWFrLiBTaG91bGQgb25seQoJICBtYXR0ZXIgaWYgdGhlIHNpbmsgaXNuJ3QgdXNlZCB3aXRoaW4gYW4gTlNBcHAgKHdoaWNoIGhhcyBhbHJlYWR5IGdvdAoJICBhIGNvY2EgZXZlbnQgbG9vcCkuCgkgIFJlbW92ZSBhbGwgdW51c2VkIGNvZGUuCgoyMDA3LTAyLTI2IDEyOjA3OjE0ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGdzdC9ydHNwL01ha2VmaWxlLmFtOiBGaXggbWFrZSBjaGVjayB0b28uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHNwL01ha2VmaWxlLmFtOgoJICBGaXggbWFrZSBjaGVjayB0b28uCgoyMDA3LTAyLTI2IDEwOjAwOjI4ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGdzdC9ydHNwL2Jhc2U2NC4qOiBDb21taXQgbWlzc2luZyBmaWxlcyBmb3IgYmFzZTY0IGVuY29kaW5nLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRzcC9iYXNlNjQuYzogKHV0aWxfYmFzZTY0X2VuY29kZSk6CgkgICogZ3N0L3J0c3AvYmFzZTY0Lmg6CgkgIENvbW1pdCBtaXNzaW5nIGZpbGVzIGZvciBiYXNlNjQgZW5jb2RpbmcuCgoyMDA3LTAyLTI0IDIyOjU3OjQ5ICswMDAwICBMb8OvYyBNaW5pZXIgPGxvb2wrZ25vbWVAdmlhLmVjcC5mcj4KCgkgIEZpeCBidWlsZCB3aXRoIExERkxBR1M9Jy1XbCwteixkZWZzJyAoIzQxMDk5NykKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBMb8OvYyBNaW5pZXIgPGxvb2wrZ25vbWUgYXQgdmlhIGVjcCBmcj4KCSAgKiBjb25maWd1cmUuYWM6CgkgICogZXh0L2Fubm9kZXgvTWFrZWZpbGUuYW06CgkgICogZXh0L2pwZWcvTWFrZWZpbGUuYW06CgkgICogZXh0L3NwZWV4L01ha2VmaWxlLmFtOgoJICAqIGdzdC9hbHBoYS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvY3V0dGVyL01ha2VmaWxlLmFtOgoJICAqIGdzdC9kZWJ1Zy9NYWtlZmlsZS5hbToKCSAgKiBnc3QvZWZmZWN0di9NYWtlZmlsZS5hbToKCSAgKiBnc3QvZ29vbS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvbGV2ZWwvTWFrZWZpbGUuYW06CgkgICogZ3N0L3NtcHRlL01ha2VmaWxlLmFtOgoJICAqIGdzdC92aWRlb2ZpbHRlci9NYWtlZmlsZS5hbToKCSAgRml4IGJ1aWxkIHdpdGggTERGTEFHUz0nLVdsLC16LGRlZnMnICgjNDEwOTk3KQoKMjAwNy0wMi0yNCAyMjo1Mjo0NyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIEZpeCBidWlsZCB3aXRoIExERkxBR1M9Jy1XbCwteixkZWZzJy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAqIGV4dC9nc20vTWFrZWZpbGUuYW06CgkgICogZXh0L2xhZHNwYS9NYWtlZmlsZS5hbToKCSAgKiBleHQvd2F2cGFjay9NYWtlZmlsZS5hbToKCSAgKiBnc3QvZXF1YWxpemVyL01ha2VmaWxlLmFtOgoJICAqIGdzdC9maWx0ZXIvTWFrZWZpbGUuYW06CgkgICogZ3N0L212ZS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvbnNmL01ha2VmaWxlLmFtOgoJICAqIGdzdC9yZXBsYXlnYWluL01ha2VmaWxlLmFtOgoJICAqIGdzdC9zcGVlZC9NYWtlZmlsZS5hbToKCSAgRml4IGJ1aWxkIHdpdGggTERGTEFHUz0nLVdsLC16LGRlZnMnLgoKMjAwNy0wMi0yMyAxOToxMjo1MiArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBnc3QvcnRzcC86IGdfYmFzZTY0X2VuY29kZSBpcyBhIEdMaWIgMi4xMiBmdW5jdGlvbi4gVXNlIGFuIGVxdWl2YWxlbnQgdGFrZW4gZnJvbSBpY2VjYXN0IHRvIHJlcGxhY2UgaXQuIFJlbGljZW5zZWQgZnIuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0c3AvTWFrZWZpbGUuYW06CgkgICogZ3N0L3J0c3AvcnRzcGNvbm5lY3Rpb24uYzogKGFwcGVuZF9hdXRoX2hlYWRlciksCgkgIChydHNwX2Nvbm5lY3Rpb25fc2VuZCksIChydHNwX2Nvbm5lY3Rpb25fc2V0X2F1dGgpOgoJICBnX2Jhc2U2NF9lbmNvZGUgaXMgYSBHTGliIDIuMTIgZnVuY3Rpb24uIFVzZSBhbiBlcXVpdmFsZW50IHRha2VuCgkgIGZyb20gaWNlY2FzdCB0byByZXBsYWNlIGl0LiBSZWxpY2Vuc2VkIGZyb20gR1BMIGNvdXJ0ZXN5IG9mIE1pa2UKCSAgU21pdGguCgoyMDA3LTAyLTIzIDE4OjEyOjI3ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGdzdC9ydHNwLzogSW1wbGVtZW50IHNpbXBsZSBCYXNpYyBBdXRoZW50aWNhdGlvbiBzdXBwb3J0IHNvIHRoYXQgdXJscyBsaWtlIHJ0c3A6Ly91c2VyOnBhc3NAaG9zdG5hbWUvcnRzcHN0cmVhbSB3b3JrIC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IChnc3RfcnRzcHNyY19maW5hbGl6ZSksCgkgIChnc3RfcnRzcHNyY19jcmVhdGVfc3RyZWFtKSwgKHJ0c3BfYXV0aF9tZXRob2RfdG9fc3RyaW5nKSwKCSAgKGdzdF9ydHNwc3JjX3BhcnNlX2F1dGhfaGRyKSwgKGdzdF9ydHNwc3JjX3NldHVwX2F1dGgpLAoJICAoZ3N0X3J0c3BzcmNfc2VuZCksIChnc3RfcnRzcHNyY190cnlfc2VuZCksIChnc3RfcnRzcHNyY19vcGVuKSwKCSAgKGdzdF9ydHNwc3JjX2Nsb3NlKSwgKGdzdF9ydHNwc3JjX3BsYXkpLCAoZ3N0X3J0c3BzcmNfcGF1c2UpLAoJICAoZ3N0X3J0c3BzcmNfdXJpX3NldF91cmkpOgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuaDoKCSAgKiBnc3QvcnRzcC9ydHNwY29ubmVjdGlvbi5jOiAocnRzcF9jb25uZWN0aW9uX2NyZWF0ZSksCgkgIChhcHBlbmRfYXV0aF9oZWFkZXIpLCAocnRzcF9jb25uZWN0aW9uX3NlbmQpLAoJICAocnRzcF9jb25uZWN0aW9uX2ZyZWUpLCAocnRzcF9jb25uZWN0aW9uX3NldF9hdXRoKToKCSAgKiBnc3QvcnRzcC9ydHNwY29ubmVjdGlvbi5oOgoJICAqIGdzdC9ydHNwL3J0c3BkZWZzLmg6CgkgICogZ3N0L3J0c3AvcnRzcHVybC5jOiAocnRzcF91cmxfZ2V0X3JlcXVlc3RfdXJpKToKCSAgKiBnc3QvcnRzcC9ydHNwdXJsLmg6CgkgIEltcGxlbWVudCBzaW1wbGUgQmFzaWMgQXV0aGVudGljYXRpb24gc3VwcG9ydCBzbyB0aGF0IHVybHMgbGlrZQoJICBydHNwOi8vdXNlcjpwYXNzQGhvc3RuYW1lL3J0c3BzdHJlYW0gd29yayBvbiBob3N0cyB0aGF0IHJlcXVpcmUKCSAgYXV0aGVudGljYXRpb24uCgoyMDA3LTAyLTIyIDE3OjUzOjI2ICswMDAwICBFZGdhcmQgTGltYSA8ZWRnYXJkLmxpbWFAaW5kdC5vcmcuYnI+CgoJKiBDaGFuZ2VMb2c6CgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnR1bmVyLmM6CgkqIHN5cy92NGwyL3Y0bDJfY2FsbHMuYzoKCSAgRml4IHNlZ2ZhdWx0IHdoZW4gb3BwZW5pbmcgYSByYWRpbyBkZXZpY2UuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBGaXggc2VnZmF1bHQgd2hlbiBvcHBlbmluZyBhIHJhZGlvIGRldmljZS4KCjIwMDctMDItMjIgMTQ6MzU6MjggKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIEZpeCBsZXZlbCBmb3IgbXVsdGktY2hhbm5lbCBjYXNlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbGV2ZWwvZ3N0bGV2ZWwuYzogKGdzdF9sZXZlbF9zZXRfY2FwcyksCgkgIChnc3RfbGV2ZWxfdHJhbnNmb3JtX2lwKToKCSAgKiBzeXMvdjRsMi9SRUFETUU6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvbGV2ZWwuYzogKEdTVF9TVEFSVF9URVNUKToKCSAgRml4IGxldmVsIGZvciBtdWx0aS1jaGFubmVsIGNhc2UuCgoyMDA3LTAyLTIxIDEwOjE4OjEyICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3QvbGV2ZWwvZ3N0bGV2ZWwuKjogVXNlIGZ1bmN0aW9uIHBvaW50ZXIgZm9yIHByb2Nlc3MgZnVuY3Rpb24gYW5kIGFkZCBwcm9jZXNzIGZ1bmN0aW9ucyBmb3IgZmxvYXQgYXVkaW8uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9sZXZlbC9nc3RsZXZlbC5jOiAoZ3N0X2xldmVsX2luaXQpLCAoZ3N0X2xldmVsX3NldF9jYXBzKSwKCSAgKGdzdF9sZXZlbF90cmFuc2Zvcm1faXApOgoJICAqIGdzdC9sZXZlbC9nc3RsZXZlbC5oOgoJICBVc2UgZnVuY3Rpb24gcG9pbnRlciBmb3IgcHJvY2VzcyBmdW5jdGlvbiBhbmQgYWRkIHByb2Nlc3MgZnVuY3Rpb25zCgkgIGZvciBmbG9hdCBhdWRpby4KCjIwMDctMDItMjAgMjE6MzQ6MDAgKzAwMDAgIFPDqWJhc3RpZW4gTW91dHRlIDxzZWJhc3RpZW5AbW91dHRlLm5ldD4KCgkgIHN5cy9kaXJlY3Rzb3VuZC9nc3RkaXJlY3Rzb3VuZHNpbmsuKjogUmVtb3ZlIGluY2x1ZGUgb2YgdW51c2VkIGhlYWRlcnMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy9kaXJlY3Rzb3VuZC9nc3RkaXJlY3Rzb3VuZHNpbmsuYzoKCSAgKiBzeXMvZGlyZWN0c291bmQvZ3N0ZGlyZWN0c291bmRzaW5rLmg6CgkgIFJlbW92ZSBpbmNsdWRlIG9mIHVudXNlZCBoZWFkZXJzLgoJICAqIHN5cy93YXZlZm9ybS9nc3R3YXZlZm9ybXBsdWdpbi5jOgoJICAqIHN5cy93YXZlZm9ybS9nc3R3YXZlZm9ybXNpbmsuYzoKCSAgKiBzeXMvd2F2ZWZvcm0vZ3N0d2F2ZWZvcm1zaW5rLmg6CgkgICogd2luMzIvdnM2L2xpYmdzdHdhdmVmb3JtLmRzcDoKCSAgQWRkIGEgbmV3IHdhdmVmb3JtIHBsdWdpbiB3aGljaCBpbmNsdWRlcyBhbiBhdWRpbyBzaW5rCgkgIGVsZW1lbnQgdXNpbmcgdGhlIFdhdmVGb3JtIHdpbjMyIEFQSS4KCSAgKiB3aW4zMi9NQU5JRkVTVDoKCSAgQWRkIHRoZSBuZXcgcHJvamVjdCBmaWxlIGZvcm0gd2F2ZWZvcm0gcGx1Z2luLgoKMjAwNy0wMi0xOSAxMjoyMjo0MyArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5jOiBSZWFkZCBHU1RfRUxFTUVOVF9FUlJPUiBpZiB3ZSBjYW4ndCByZWVucXVlIGJ1ZmZlcnMgYWZ0ZXIgRUlPLCBmaXhlcyAjNDA3MzY5CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuYzogKGdzdF92NGwyc3JjX2ZpbGxfZm9ybWF0X2xpc3QpLAoJICAoZ3N0X3Y0bDJzcmNfZ3JhYl9mcmFtZSksIChnc3RfdjRsMnNyY19zZXRfY2FwdHVyZSksCgkgIChnc3RfdjRsMnNyY19jYXB0dXJlX2luaXQpOgoJICBSZWFkZCBHU1RfRUxFTUVOVF9FUlJPUiBpZiB3ZSBjYW4ndCByZWVucXVlIGJ1ZmZlcnMgYWZ0ZXIgRUlPLAoJICBmaXhlcyAjNDA3MzY5CgoyMDA3LTAyLTE4IDE4OjAwOjUxICswMDAwICBTw6liYXN0aWVuIE1vdXR0ZSA8c2ViYXN0aWVuQG1vdXR0ZS5uZXQ+CgoJICBzeXMvZGlyZWN0ZHJhdy86IFByZXBhcmUgdGhlIHBsdWdpbiB0byBtb3ZlIHRvIGdvb2Q6CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdwbHVnaW4uYzoKCSAgKiBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5jOgoJICAqIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmg6CgkgIFByZXBhcmUgdGhlIHBsdWdpbiB0byBtb3ZlIHRvIGdvb2Q6CgkgIFJlbW92ZSB1bnVzZWQvdW50ZXN0ZWQgY29kZSAocmVuZGVyaW5nIHRvIGFuIGV4dGVybiBzdXJmYWNlLAoJICB5dXYgZm9ybWF0IHJlbmRlcmluZykuVXNlIEdTVF8oREVCVUcvKilfT0JKRUNUIG1hY3JvcwoJICBSZW5hbWUgYWxsIGZ1bmN0aW9ucyBmcm9tIGdzdF9kaXJlY3RkcmF3c2luayB0byBnc3RfZGlyZWN0ZHJhd19zaW5rLgoJICBBZGQgZ3RrIGRvYyBzZWN0aW9uCgkgIEZpeCBhIGJ1ZyBpbiBnc3RfZGlyZWN0ZHJhd19zaW5rX3Nob3dfZnJhbWUsIG1lbWNweSBsaW5lIGJ5IGxpbmUKCSAgcmVzcGVjdGluZyBkZXN0aW5hdGlvbiBzdXJmYWNlIHN0cmlkZS4KCSAgKiBzeXMvZGlyZWN0c291bmQvZ3N0ZGlyZWN0c291bmRwbHVnaW4uYzoKCSAgKiBzeXMvZGlyZWN0c291bmQvZ3N0ZGlyZWN0c291bmRzaW5rLmM6CgkgICogc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdHNvdW5kc2luay5oOgoJICBQcmVwYXJlIHRoZSBwbHVnaW4gdG8gbW92ZSB0byBnb29kOgoJICBSZW5hbWUgYWxsIGZ1bmN0aW9ucyBmcm9tIGdzdF9kaXJlY3Rzb3VuZHNpbmsgdG8gZ3N0X2RpcmVjdHNvdW5kX3NpbmsuCgkgIEFkZCBndGsgZG9jIHNlY3Rpb24KCSAgKiB3aW4zMi9jb21tb24vY29uZmlnLmguaW46CgkgICogd2luMzIvTUFOSUZFU1Q6CgkgIEFkZCBjb25maWcuaC5pbgoKMjAwNy0wMi0xOCAxMzoyNDoyNiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHAvOiBBZGRlZCBzaW1wbGUgbXBlZyB0cmFuc3BvcnQgc3RyZWFtIHBheWxvYWRlci4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvcnRwL2dzdHJ0cC5jOiAocGx1Z2luX2luaXQpOgoJICAqIGdzdC9ydHAvZ3N0cnRwbXAydHBheS5jOiAoZ3N0X3J0cF9tcDJ0X3BheV9iYXNlX2luaXQpLAoJICAoZ3N0X3J0cF9tcDJ0X3BheV9jbGFzc19pbml0KSwgKGdzdF9ydHBfbXAydF9wYXlfaW5pdCksCgkgIChnc3RfcnRwX21wMnRfcGF5X3NldGNhcHMpLCAoZ3N0X3J0cF9tcDJ0X3BheV9oYW5kbGVfYnVmZmVyKSwKCSAgKGdzdF9ydHBfbXAydF9wYXlfcGx1Z2luX2luaXQpOgoJICAqIGdzdC9ydHAvZ3N0cnRwbXAydHBheS5oOgoJICBBZGRlZCBzaW1wbGUgbXBlZyB0cmFuc3BvcnQgc3RyZWFtIHBheWxvYWRlci4KCjIwMDctMDItMTYgMTI6MzI6MDEgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRzcC9VUkxTOiBBZGQgZXhhbXBsZSBIMjY0IHJ0c3AgdXJsLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRzcC9VUkxTOgoJICBBZGQgZXhhbXBsZSBIMjY0IHJ0c3AgdXJsLgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogKGdzdF9ydHNwc3JjX21lZGlhX3RvX2NhcHMpLAoJICAoZ3N0X3J0c3BzcmNfaGFuZGxlX21lc3NhZ2UpLCAoZ3N0X3J0c3BzcmNfY2hhbmdlX3N0YXRlKToKCSAgRG9uJ3QgY29udmVydCB2YWx1ZXMgdG8gbG93ZXJjYXNlIG9yIHdlIG1pZ2h0IG1lc3MgdXAgYmFzZTY0IGVuY29kZWQKCSAgcHJvcGVydGllcy4KCjIwMDctMDItMTYgMTI6MzA6MjIgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwL1JFQURNRTogRml4IGNhc2Ugb2Ygc3RyaW5nIHBhcmFtcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cC9SRUFETUU6CgkgIEZpeCBjYXNlIG9mIHN0cmluZyBwYXJhbXMuCgkgICogZ3N0L3J0cC9nc3RydHBoMjY0ZGVwYXkuYzogKGdzdF9ydHBfaDI2NF9kZXBheV9jbGFzc19pbml0KSwKCSAgKGdzdF9ydHBfaDI2NF9kZXBheV9zZXRjYXBzKSwgKGdzdF9ydHBfaDI2NF9kZXBheV9wcm9jZXNzKToKCSAgRml4IGRlcGF5bG9hZGVyLCBzdXBwb3J0IG1vcmUgcGFja2V0IHR5cGVzLgoJICBBZGQgc3luYyBjb2RlcyB0byBtYWtlIHN1cmUgdGhlIHBhY2tldGl6ZXIgY2FuIGRvIGl0cyBqb2IuCgkgICogZ3N0L3J0cC9nc3RydHBtcDRnZGVwYXkuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cG1wNGdwYXkuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cG1wdmRlcGF5LmM6IChnc3RfcnRwX21wdl9kZXBheV9wcm9jZXNzKToKCSAgRml4IGNhcHMgY2FzZSBhZ2Fpbi4KCjIwMDctMDItMTUgMTI6MjY6MjggKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwL2dzdHJ0cGgyNjRkZXBheS5jOiBTZXQgcmlnaHQgY2FwcyBvbiBvdXRwdXQgYnVmZmVycy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cC9nc3RydHBoMjY0ZGVwYXkuYzogKGdzdF9ydHBfaDI2NF9kZXBheV9wcm9jZXNzKToKCSAgU2V0IHJpZ2h0IGNhcHMgb24gb3V0cHV0IGJ1ZmZlcnMuCgoyMDA3LTAyLTE0IDE3OjA0OjQ3ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0c3Avc2RwbWVzc2FnZS5jOiBDbGVhciBzdGFjayBhbGxvY2F0ZWQgU0RQTWVkaWEgc3RydWN0IGJlZm9yZSBjYWxsaW5nIF9pbml0KCkgb24gaXQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHNwL3NkcG1lc3NhZ2UuYzogKHNkcF9wYXJzZV9saW5lKToKCSAgQXMgc3BvdHRlZCBieTogUGV0ZXIgS2plbGxlcnN0ZWR0ICA8cGtqIGF0IGF4aXMgY29tPjoKCSAgQ2xlYXIgc3RhY2sgYWxsb2NhdGVkIFNEUE1lZGlhIHN0cnVjdCBiZWZvcmUgY2FsbGluZyBfaW5pdCgpIG9uIGl0LgoJICBDbGFyaWZ5IHRoaXMgaW4gdGhlIGRvY3MgYXMgd2VsbC4KCjIwMDctMDItMTQgMTc6MDE6MjUgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgZXh0L2djb25mL2dzdGdjb25mYXVkaW9zaW5rLmM6IERvbid0IHJlc2V0IHRoZSBwcm9maWxlIHdoZW4gZ29pbmcgc3dpdGNoaW5nIHN0YXRlcywgYXMgaXQgbWFrZXMgdGhlIGVsZW1lbnQgbm9uLXJldXNhLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9nY29uZi9nc3RnY29uZmF1ZGlvc2luay5jOiAoZ3N0X2djb25mX2F1ZGlvX3NpbmtfcmVzZXQpLAoJICAoZG9fY2hhbmdlX2NoaWxkKToKCSAgRG9uJ3QgcmVzZXQgdGhlIHByb2ZpbGUgd2hlbiBnb2luZyBzd2l0Y2hpbmcgc3RhdGVzLCBhcyBpdCBtYWtlcwoJICB0aGUgZWxlbWVudCBub24tcmV1c2FibGUuCgoyMDA3LTAyLTE0IDE1OjI0OjUwICswMDAwICBqcC5saXUgPGpwX2xpdUBhc3Ryb2NvbS5jbj4KCgkgIGdzdC9ydHNwL3NkcG1lc3NhZ2UuKjogRml4IG1lbW9yeSBtYW5hZ2VtZW50IG9mIFNEUCBtZXNzYWdlcy4gRml4ZXMgIzQwNzc5My4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0c3Avc2RwbWVzc2FnZS5jOiAoc2RwX29yaWdpbl9pbml0KSwgKHNkcF9jb25uZWN0aW9uX2luaXQpLAoJICAoc2RwX2JhbmR3aWR0aF9pbml0KSwgKHNkcF90aW1lX2luaXQpLCAoc2RwX3pvbmVfaW5pdCksCgkgIChzZHBfa2V5X2luaXQpLCAoc2RwX2F0dHJpYnV0ZV9pbml0KSwgKHNkcF9tZXNzYWdlX2luaXQpLAoJICAoc2RwX21lc3NhZ2VfdW5pbml0KSwgKHNkcF9tZXNzYWdlX2ZyZWUpLCAoc2RwX21lZGlhX2luaXQpLAoJICAoc2RwX21lZGlhX3VuaW5pdCksIChzZHBfbWVkaWFfZnJlZSksIChzZHBfbWVzc2FnZV9hZGRfbWVkaWEpLAoJICAoc2RwX3BhcnNlX2xpbmUpOgoJICAqIGdzdC9ydHNwL3NkcG1lc3NhZ2UuaDoKCSAgQmFzZWQgb24gcGF0Y2ggYnk6IGpwLmxpdSA8anBfbGl1IGF0IGFzdHJvY29tIGRvdCBjbj4KCSAgRml4IG1lbW9yeSBtYW5hZ2VtZW50IG9mIFNEUCBtZXNzYWdlcy4gRml4ZXMgIzQwNzc5My4KCjIwMDctMDItMTQgMTI6MDc6MDEgKzAwMDAgIHpoYW5nZmVpIGdhbyA8Z2FvemhhbmdmZWlAeWFob28uY29tLmNuPgoKCSAgZ3N0L2F2aS9nc3RhdmltdXguYzogQWxsb3cgbXV4aW5nIHZpZGVvL3gtaDI2NCAod2FzIGFscmVhZHkgaW4gdGhlIGNhcHMpLiBGaXhlcyAjNDA3NzgwLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IHpoYW5nZmVpIGdhbyA8Z2FvemhhbmdmZWlAeWFob28uY29tLmNuPgoJICAqIGdzdC9hdmkvZ3N0YXZpbXV4LmM6IChnc3RfYXZpX211eF92aWRzaW5rX3NldF9jYXBzKToKCSAgQWxsb3cgbXV4aW5nIHZpZGVvL3gtaDI2NCAod2FzIGFscmVhZHkgaW4gdGhlIGNhcHMpLiBGaXhlcyAjNDA3NzgwLgoKMjAwNy0wMi0xNCAxMDowOToxMiArMDAwMCAganAubGl1IDxqcF9saXVAYXN0cm9jb20uY24+CgoJICBnc3QvcnRzcC9ydHNwdXJsLmM6IEZpeCBwYXJzaW5nIG9mIHBhc3N3b3JkIGZpZWxkIGluIHVybC4gRml4ZXMgIzQwNzc5Ny4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBqcC5saXUgPGpwX2xpdSBhdCBhc3Ryb2NvbSBkb3QgY24+CgkgICogZ3N0L3J0c3AvcnRzcHVybC5jOiAocnRzcF91cmxfcGFyc2UpOgoJICBGaXggcGFyc2luZyBvZiBwYXNzd29yZCBmaWVsZCBpbiB1cmwuIEZpeGVzICM0MDc3OTcuCgoyMDA3LTAyLTE0IDA5OjU1OjQ3ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLio6IFVwZGF0ZSBkb2NzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzogKGdzdF93YXZwYXJzZV9jbGFzc19pbml0KSwKCSAgKGdzdF93YXZwYXJzZV9yZXNldCksIChnc3Rfd2F2cGFyc2VfaW5pdCksCgkgIChnc3Rfd2F2cGFyc2VfZGVzdHJveV9zb3VyY2VwYWQpLCAoZ3N0X3dhdnBhcnNlX2ZtdCksCgkgIChnc3Rfd2F2cGFyc2VfcGFyc2VfZmlsZV9oZWFkZXIpLCAoZ3N0X3dhdnBhcnNlX3N0cmVhbV9pbml0KSwKCSAgKGdzdF93YXZwYXJzZV9wZXJmb3JtX3NlZWspLCAoZ3N0X3dhdnBhcnNlX3BlZWtfY2h1bmtfaW5mbyksCgkgIChnc3Rfd2F2cGFyc2Vfc3RyZWFtX2hlYWRlcnMpLCAoZ3N0X3dhdnBhcnNlX3BhcnNlX3N0cmVhbV9pbml0KSwKCSAgKGdzdF93YXZwYXJzZV9hZGRfc3JjX3BhZCksIChnc3Rfd2F2cGFyc2Vfc3RyZWFtX2RhdGEpLAoJICAoZ3N0X3dhdnBhcnNlX2xvb3ApLCAoZ3N0X3dhdnBhcnNlX2NoYWluKSwKCSAgKGdzdF93YXZwYXJzZV9wYWRfY29udmVydCksIChnc3Rfd2F2cGFyc2VfcGFkX3F1ZXJ5KSwKCSAgKGdzdF93YXZwYXJzZV9zcmNwYWRfZXZlbnQpLCAoZ3N0X3dhdnBhcnNlX2NoYW5nZV9zdGF0ZSksCgkgIChwbHVnaW5faW5pdCk6CgkgICogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmg6CgkgIFVwZGF0ZSBkb2NzLgoJICBVc2UgYm9pbGVycGxhdGUuCgkgIFZhcmlvdXMgY29kZSBjbGVhbnVwcy4KCSAgV2hlbiB0aGUgYml0cmF0ZSBpcyBub3Qga25vd24gKGJwcyA9PSAwIG9yIGNvbXByZXNzZWQgZm9ybWF0cykgbGV0CgkgIGRvd25zdHJlYW0gZWxlbWVudCBndWVzdGltYXRlIHRoZSBkdXJhdGlvbiBhbmQgcG9zaXRpb24gYW5kIGRvbid0CgkgIGdlbmVyYXRlIHRpbWVzdGFtcHMgb3IgZHVyYXRpb25zLiBGaXhlcyAjNDA1MjEzLgoJICBGaXggRU9TIGFuZCBFUlJPUiBjb25kaXRpb25zIGluIGNoYWluIG1vZGUsIHdlIGp1c3QgbmVlZCB0byBmb3J3YXJkIHRoZQoJICBlcnJvciBmbG93cmV0dXJuIHVwc3RyZWFtLgoKMjAwNy0wMi0xMyAxNjowMToyOSArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBSZS1mYWN0b3IgdGhlIGdjb25mYXVkaW9zaW5rIGludG8gYSAiR3N0U3dpdGNoU2luayIgYmFzZSBjbGFzcyBhbmQgYSBjaGlsZCB0aGF0IGltcGxlbWVudHMgdGhlIEdDb25mIGtleSBtb25pdG9yaW5nLiAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2djb25mL01ha2VmaWxlLmFtOgoJICAqIGV4dC9nY29uZi9nY29uZi5jOiAoZ3N0X2djb25mX2dldF9zdHJpbmcpLAoJICAoZ3N0X2djb25mX2dldF9rZXlfZm9yX3NpbmtfcHJvZmlsZSksIChnc3RfZ2NvbmZfc2V0X3N0cmluZyksCgkgIChnc3RfZ2NvbmZfcmVuZGVyX2Jpbl93aXRoX2RlZmF1bHQpOgoJICAqIGV4dC9nY29uZi9nY29uZi5oOgoJICAqIGV4dC9nY29uZi9nc3RnY29uZmF1ZGlvc2luay5jOiAoZ3N0X2djb25mX2F1ZGlvX3NpbmtfYmFzZV9pbml0KSwKCSAgKGdzdF9nY29uZl9hdWRpb19zaW5rX3Jlc2V0KSwgKGdzdF9nY29uZl9hdWRpb19zaW5rX2luaXQpLAoJICAoZ3N0X2djb25mX2F1ZGlvX3NpbmtfZGlzcG9zZSksIChkb19jaGFuZ2VfY2hpbGQpLAoJICAoZ3N0X2djb25mX3N3aXRjaF9wcm9maWxlKSwgKGdzdF9nY29uZl9hdWRpb19zaW5rX3NldF9wcm9wZXJ0eSksCgkgIChjYl9jaGFuZ2VfY2hpbGQpLCAoZ3N0X2djb25mX2F1ZGlvX3NpbmtfY2hhbmdlX3N0YXRlKToKCSAgKiBleHQvZ2NvbmYvZ3N0Z2NvbmZhdWRpb3NpbmsuaDoKCSAgKiBleHQvZ2NvbmYvZ3N0c3dpdGNoc2luay5jOiAoZ3N0X3N3aXRjaF9zaW5rX2Jhc2VfaW5pdCksCgkgIChnc3Rfc3dpdGNoX3NpbmtfY2xhc3NfaW5pdCksIChnc3Rfc3dpdGNoX3NpbmtfcmVzZXQpLAoJICAoZ3N0X3N3aXRjaF9zaW5rX2luaXQpLCAoZ3N0X3N3aXRjaF9zaW5rX2Rpc3Bvc2UpLAoJICAoZ3N0X3N3aXRjaF9jb21taXRfbmV3X2tpZCksIChnc3Rfc3dpdGNoX3Npbmtfc2V0X2NoaWxkKSwKCSAgKGdzdF9zd2l0Y2hfc2lua19zZXRfcHJvcGVydHkpLCAoZ3N0X3N3aXRjaF9zaW5rX2hhbmRsZV9ldmVudCksCgkgIChnc3Rfc3dpdGNoX3NpbmtfZ2V0X3Byb3BlcnR5KSwgKGdzdF9zd2l0Y2hfc2lua19jaGFuZ2Vfc3RhdGUpOgoJICAqIGV4dC9nY29uZi9nc3Rzd2l0Y2hzaW5rLmg6CgkgICogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b2F1ZGlvc2luay5jOgoJICAoZ3N0X2F1dG9fYXVkaW9fc2lua19jbGFzc19pbml0KSwgKGdzdF9hdXRvX2F1ZGlvX3NpbmtfZGlzcG9zZSksCgkgIChnc3RfYXV0b19hdWRpb19zaW5rX2NsZWFyX2tpZCksIChnc3RfYXV0b19hdWRpb19zaW5rX3Jlc2V0KSwKCSAgKGdzdF9hdXRvX2F1ZGlvX3NpbmtfZGV0ZWN0KToKCSAgKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvdmlkZW9zaW5rLmM6CgkgIChnc3RfYXV0b192aWRlb19zaW5rX2NsYXNzX2luaXQpLCAoZ3N0X2F1dG9fdmlkZW9fc2lua19kaXNwb3NlKSwKCSAgKGdzdF9hdXRvX3ZpZGVvX3NpbmtfY2xlYXJfa2lkKSwgKGdzdF9hdXRvX3ZpZGVvX3NpbmtfcmVzZXQpLAoJICAoZ3N0X2F1dG9fdmlkZW9fc2lua19kZXRlY3QpOgoJICBSZS1mYWN0b3IgdGhlIGdjb25mYXVkaW9zaW5rIGludG8gYSAiR3N0U3dpdGNoU2luayIgYmFzZSBjbGFzcwoJICBhbmQgYSBjaGlsZCB0aGF0IGltcGxlbWVudHMgdGhlIEdDb25mIGtleSBtb25pdG9yaW5nLiBUaGUgZW5kIGdvYWwgb2YKCSAgdGhpcyBpcyBhbiBhdWRpbyBzaW5rIHRoYXQgY2FuIGJlIGNoYW5nZWQgb24gdGhlIGZseSwgYnV0IGF0IHRoZQoJICBtb21lbnQgaXQgc3RpbGwgb25seSBjaGFuZ2VzIG9uIHRoZSBuZXh0IFJFQURZIHRyYW5zaXRpb24uCgoyMDA3LTAyLTEzIDExOjU3OjE4ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6IFB1dCBkZWJ1ZyBzdHVmZiBpbnRvICNpZm5kZWYgR1NUX0RJU0FCTEVfREVCVUcgI2VuZGlmCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzogKGdzdF9hdmlfZGVtdXhfaGFuZGxlX3NyY19xdWVyeSksCgkgIChnc3RfYXZpX2RlbXV4X3BhcnNlX2luZGV4KSwgKGdzdF9hdmlfZGVtdXhfc3RyZWFtX2luZGV4KSwKCSAgKGdzdF9hdmlfZGVtdXhfc3luYyksIChnc3RfYXZpX2RlbXV4X21hc3NhZ2VfaW5kZXgpLAoJICAoZ3N0X2F2aV9kZW11eF9jYWxjdWxhdGVfZHVyYXRpb25zX2Zyb21faW5kZXgpLAoJICAoZ3N0X2F2aV9kZW11eF9wdXNoX2V2ZW50KSwgKGdzdF9hdmlfZGVtdXhfc3RyZWFtX2hlYWRlcl9wdWxsKSwKCSAgKGdzdF9hdmlfZGVtdXhfcHJvY2Vzc19uZXh0X2VudHJ5KSwgKGdzdF9hdmlfZGVtdXhfc3RyZWFtX2RhdGEpLAoJICAoZ3N0X2F2aV9kZW11eF9sb29wKToKCSAgUHV0IGRlYnVnIHN0dWZmIGludG8gI2lmbmRlZiBHU1RfRElTQUJMRV9ERUJVRyAjZW5kaWYKCjIwMDctMDItMTMgMDk6NDY6MjYgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIEFkZCBjcm9zc3JlZmVyZW5jZXMgdG8gZ2xpYi9nb2JqZWN0L2dzdHJlYW0gZG9jcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSAgQWRkIGNyb3NzcmVmZXJlbmNlcyB0byBnbGliL2dvYmplY3QvZ3N0cmVhbSBkb2NzLgoKMjAwNy0wMi0xMiAyMzozNToxNiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9tb25vc2NvcGUvOiBGaXggY29weSduJ3Bhc3RlLW8gaW4gZG9jcyBjaHVuay4gQWxzbyBhZGQgc29tZSBtaXNzaW5nIENGTEFHUyAoYnV0IG5vIExJQlMsIHNpbmNlIHdlIG9ubHkgdXNlIGRlZmluZS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbW9ub3Njb3BlL01ha2VmaWxlLmFtOgoJICAqIGdzdC9tb25vc2NvcGUvZ3N0bW9ub3Njb3BlLmM6CgkgIEZpeCBjb3B5J24ncGFzdGUtbyBpbiBkb2NzIGNodW5rLiBBbHNvIGFkZCBzb21lIG1pc3NpbmcgQ0ZMQUdTCgkgIChidXQgbm8gTElCUywgc2luY2Ugd2Ugb25seSB1c2UgZGVmaW5lcyBmcm9tIHRoZSBoZWFkZXJzKS4KCjIwMDctMDItMTIgMjM6Mjc6MzEgKzAwMDAgIEpvbmF0aGFuIE1hdHRoZXcgPGpvbmF0aGFuQGthb2xpbi53aDkubmV0PgoKCSAgZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6IEZpeCBtYXNzaXZlIG1lbW9yeSBsZWFrIHdoZW4gb3BlcmF0aW5nIGluIHN0cmVhbWluZyBtb2RlIGR1ZSB0bwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgQmFzZWQgb24gcGF0Y2ggYnk6IEpvbmF0aGFuIE1hdHRoZXcgIDxqb25hdGhhbiBhdCBrYW9saW4gd2g5IG5ldD4KCSAgKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzogKGdzdF93YXZwYXJzZV9wYXJzZV9zdHJlYW1faW5pdCksCgkgIChnc3Rfd2F2cGFyc2Vfc3RyZWFtX2RhdGEpOgoJICBGaXggbWFzc2l2ZSBtZW1vcnkgbGVhayB3aGVuIG9wZXJhdGluZyBpbiBzdHJlYW1pbmcgbW9kZSBkdWUgdG8KCSAgR1NUX0JVRkZFUl9NQUxMT0NEQVRBKCkgbm90IGJlaW5nIHNldCBvbiBuZXdseS1jcmVhdGVkIGJ1ZmZlcnMuCgkgIEZpeGVzICM0MDcwNTcuCgoyMDA3LTAyLTEyIDE1OjI5OjQ0ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3QvYXZpL2dzdGF2aWRlbXV4Lio6IFNhdmUgc29tZSBtZW1vcnkgKDglKSBieSByZXBhY2tpbmcgdGhlIGluZGV4IGVudHJ5IHN0cnVjdHVyZSAobW9yZSB0byBjb21lKS4gQWRkIG1vcmUgRklYTUVzIHQuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOiAoZ3N0X2F2aV9kZW11eF9jbGFzc19pbml0KSwKCSAgKGdzdF9hdmlfZGVtdXhfcmVzZXQpLCAoZ3N0X2F2aV9kZW11eF9pbmRleF9lbnRyeV9mb3JfdGltZSksCgkgIChnc3RfYXZpX2RlbXV4X2hhbmRsZV9zcmNfcXVlcnkpLCAoZ3N0X2F2aV9kZW11eF9wYXJzZV9zdXBlcmluZGV4KSwKCSAgKGdzdF9hdmlfZGVtdXhfcGFyc2Vfc3ViaW5kZXgpLCAoZ3N0X2F2aV9kZW11eF9wYXJzZV9zdHJlYW0pLAoJICAoZ3N0X2F2aV9kZW11eF9wYXJzZV9pbmRleCksIChnc3RfYXZpX2RlbXV4X3N0cmVhbV9pbmRleCksCgkgIChnc3RfYXZpX2RlbXV4X3N5bmMpLCAoZ3N0X2F2aV9kZW11eF9uZXh0X2RhdGFfYnVmZmVyKSwKCSAgKGdzdF9hdmlfZGVtdXhfc3RyZWFtX3NjYW4pLCAoZ3N0X2F2aV9kZW11eF9tYXNzYWdlX2luZGV4KSwKCSAgKGdzdF9hdmlfZGVtdXhfY2FsY3VsYXRlX2R1cmF0aW9uc19mcm9tX2luZGV4KSwKCSAgKGdzdF9hdmlfZGVtdXhfcHVzaF9ldmVudCksIChnc3RfYXZpX2RlbXV4X3N0cmVhbV9oZWFkZXJfcHVsbCksCgkgIChnc3RfYXZpX2RlbXV4X2RvX3NlZWspLCAoZ3N0X2F2aV9kZW11eF9wcm9jZXNzX25leHRfZW50cnkpLAoJICAoZ3N0X2F2aV9kZW11eF9zdHJlYW1fZGF0YSksIChnc3RfYXZpX2RlbXV4X2xvb3ApOgoJICAqIGdzdC9hdmkvZ3N0YXZpZGVtdXguaDoKCSAgU2F2ZSBzb21lIG1lbW9yeSAoOCUpIGJ5IHJlcGFja2luZyB0aGUgaW5kZXggZW50cnkgc3RydWN0dXJlIChtb3JlIHRvCgkgIGNvbWUpLiBBZGQgbW9yZSBGSVhNRXMgdG8gcXVlc3Rpb25hYmxlIHBhcnRzLgoKMjAwNy0wMi0xMiAxMjo1NzoyMiArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgc3lzL3Y0bDIvOiBNb3JlIEZJWE1FIGNvbW1lbnRzIGFuZCBtZXNzYWdpbmcgY2hhbmdlcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOiAoZ3N0X3Y0bDJzcmNfdjRsMmZvdXJjY190b19jYXBzKSwKCSAgKGdzdF92NGwyc3JjX2dldF9jYXBzKToKCSAgKiBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmM6IChnc3RfdjRsMnNyY19maWxsX2Zvcm1hdF9saXN0KSwKCSAgKGdzdF92NGwyc3JjX2dyYWJfZnJhbWUpLCAoZ3N0X3Y0bDJzcmNfc2V0X2NhcHR1cmUpLAoJICAoZ3N0X3Y0bDJzcmNfY2FwdHVyZV9pbml0KToKCSAgTW9yZSBGSVhNRSBjb21tZW50cyBhbmQgbWVzc2FnaW5nIGNoYW5nZXMuCgoyMDA3LTAyLTEyIDEyOjQzOjAwICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3QvZ29vbS9nc3Rnb29tLio6IEltcHJvdmVkIGRvY3MgYW5kIHVzZSBHU1RfREVCVUdfRlVOQ1BUUi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2dvb20vZ3N0Z29vbS5jOiAoZ3N0X2dvb21fY2xhc3NfaW5pdCksIChnc3RfZ29vbV9pbml0KSwKCSAgKGdzdF9nb29tX2NoYW5nZV9zdGF0ZSk6CgkgICogZ3N0L2dvb20vZ3N0Z29vbS5oOgoJICBJbXByb3ZlZCBkb2NzIGFuZCB1c2UgR1NUX0RFQlVHX0ZVTkNQVFIuCgkgICogZ3N0L2xldmVsL2dzdGxldmVsLmM6IChnc3RfbGV2ZWxfY2xhc3NfaW5pdCk6CgkgIFVzZSBHU1RfREVCVUdfRlVOQ1BUUi4KCSAgKiBnc3QvbW9ub3Njb3BlL2dzdG1vbm9zY29wZS5jOiAoZ3N0X21vbm9zY29wZV9pbml0KSwKCSAgKGdzdF9tb25vc2NvcGVfY2hhaW4pLCAoZ3N0X21vbm9zY29wZV9jaGFuZ2Vfc3RhdGUpOgoJICBJbXByb3ZlZCBkb2NzIHNvdXJjZSBjbGVhbnVwcy4KCjIwMDctMDItMTIgMTA6Mjk6NTcgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvZGVidWcvOiBBZGQgY29kZSBmb3IgYSBwdXNoZmlsZXNyYyBlbGVtZW50IHRoYXQgaW1wbGVtZW50cyBhIHB1c2hmaWxlOi8vIFVSSSBoYW5kbGVyLCB0byBtYWtlIGRlYnVnZ2luZyBwdXNoLW1vZGUuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2RlYnVnL01ha2VmaWxlLmFtOgoJICAqIGdzdC9kZWJ1Zy9nc3RkZWJ1Zy5jOiAocGx1Z2luX2luaXQpOgoJICAqIGdzdC9kZWJ1Zy9nc3RwdXNoZmlsZXNyYy5jOgoJICAqIGdzdC9kZWJ1Zy9nc3RwdXNoZmlsZXNyYy5oOgoJICBBZGQgY29kZSBmb3IgYSBwdXNoZmlsZXNyYyBlbGVtZW50IHRoYXQgaW1wbGVtZW50cyBhIHB1c2hmaWxlOi8vIFVSSQoJICBoYW5kbGVyLCB0byBtYWtlIGRlYnVnZ2luZyBwdXNoLW1vZGUgb3BlcmF0aW9uIG9mIGRlbXV4ZXIvZGVjb2RlcnMKCSAgdGhhdCBzdXBwb3J0IGJvdGggZWFzaWVyIGluIGNvbm5lY3Rpb24gd2l0aCBzZWVrL3BsYXliaW4vZXRjLgoJICBUaGUgZWxlbWVudCBpc24ndCByZWdpc3RlcmVkIGF0IHRoZSBtb21lbnQuCgoyMDA3LTAyLTExIDE1OjI2OjQ5ICswMDAwICBTw6liYXN0aWVuIE1vdXR0ZSA8c2ViYXN0aWVuQG1vdXR0ZS5uZXQ+CgoJICBNYWtlZmlsZS5hbTogQWRkIHdpbjMyIE1BTklGRVNUCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIE1ha2VmaWxlLmFtOgoJICBBZGQgd2luMzIgTUFOSUZFU1QKCSAgKiBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5jOgoJICAqIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmg6CgkgIENsZWFyIHVudXNlZCBjb2RlIGFuZCBhZGQgY29tbWVudHMuCgkgIFJlbW92ZSB5dXYgZnJvbSB0ZW1wbGF0ZSBjYXBzLCBpdCBvbmx5IHN1cHBvcnRzIFJHQgoJICBhY3R1YWxseS4KCSAgSW1wbGVtZW50IFhPdmVybGF5IGludGVyZmFjZSBhbmQgcmVtb3ZlIHdpbmRvdyBhbmQgZnVsbHNjcmVlbgoJICBwcm9wZXJ0aWVzLgoJICBBZGQgZGVidWcgbG9ncy4KCSAgVGVzdCBmb3IgYmxpdCBjYXBhYmlsaXRpZXMgdG8gcmV0dXJuIG9ubHkgdGhlIGN1cnJlbnQgY29sb3JzcGFjZSBpZgoJICB0aGUgaGFyZHdhcmUgY2FuJ3QgYmxpdCBmb3Igb25lIGNvbG9yc3BhY2UgdG8gYW5vdGhlci4KCSAgKiBzeXMvZGlyZWN0c291bmQvZ3N0ZGlyZWN0c291bmRzaW5rLmM6CgkgIEFkZCBzb21lIGRlYnVncy4KCSAgKiB3aW4zMi9NQU5JRkVTVDoKCSAgQWRkIFZTNyBwcm9qZWN0IGZpbGVzIGFuZCBzb2x1dGlvbi4KCSAgKiB3aW4zMi92czYvZ3N0X3BsdWdpbnNfYmFkLmRzdzoKCSAgKiB3aW4zMi92czYvbGliZ3N0ZGlyZWN0ZHJhdy5kc3A6CgkgICogd2luMzIvdnM2L2xpYmdzdGRpcmVjdHNvdW5kLmRzcDoKCSAgKiB3aW4zMi92czYvbGliZ3N0cXRkZW11eC5kc3A6CgkgIFVwZGF0ZSBwcm9qZWN0IGZpbGVzLgoKMjAwNy0wMi0xMSAxMjo1Nzo0NyArMDAwMCAgU8OpYmFzdGllbiBNb3V0dGUgPHNlYmFzdGllbkBtb3V0dGUubmV0PgoKCSAgZ3N0L2F2aS9nc3RhdmltdXguYzogQ29tbWVudCBhICNpZiAwIGluIGNhcHMgdGVtcGxhdGUgZGVmaW5pdGlvbiBhcyBWUzYgc2VlbXMgdG8gZG8gbm90IHN1cHBvcnQgaXQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdmkvZ3N0YXZpbXV4LmM6CgkgIENvbW1lbnQgYSAjaWYgMCBpbiBjYXBzIHRlbXBsYXRlIGRlZmluaXRpb24gYXMgVlM2IHNlZW1zIHRvCgkgIGRvIG5vdCBzdXBwb3J0IGl0LgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzooZ3N0X3J0c3BzcmNfbG9vcF91ZHApOgoJICBVc2UgZ3N0X2d1aW50NjRfdG9fZ2RvdWJsZSBmb3IgY29udmVyc2lvbi4KCSAgKiBnc3QvcnRzcC9ydHNwY29ubmVjdGlvbi5jOihydHNwX2Nvbm5lY3Rpb25fc2VuZCk6CgkgIE1vdmUgdmFyaWFibGVzIGRlY2xhcmF0aW9uIGJlZm9yZSB0aGUgZmlyc3QgaW5zdHJ1Y3Rpb24uCgkgICogZ3N0L3J0c3AvcnRzcGRlZnMuYzoocnRzcF9zdHJyZXN1bHQpOgoJICBEb24ndCB1c2UgaHN0cmVycm9yIGZvciBlcnJvciBsb2cgb24gR19PU19XSU4zMiBidWlsZCBhcyBpdCdzIG5vdCBzdXBwb3J0ZWQuCgkgIEFuZCBkb24ndCBpbmNsdWRlIG5ldGRiLmggZm9yIEdfT1NfV0lOMzIKCSAgKiBnc3QvcnRzcC9zZHBtZXNzYWdlLmM6KHNkcF9wYXJzZV9saW5lKToKCSAgVGhpcyBpbml0aWFsaXphdGlvbiBTRFBNZWRpYSBubWVkaWEgPSB7Lm1lZGlhID0gTlVMTCB9OyBpcyBub3Qgc3VwcG9ydGVkCgkgIGJ5IFZTNiB0aGVuIHVzZSBhbiBvdGhlciB3YXkgdG8gaW5pdGlhbGl6ZSBTRFBNZWRpYSBzdHJ1Y3R1cmUuCgkgICogZ3N0L3VkcC9nc3RkeW51ZHBzaW5rLmg6CgkgICogZ3N0L3VkcC9nc3RkeW51ZHBuZXR1dGlscy5oOgoJICBEbyBub3QgaW5jbHVkZSA8c3lzL3RpbWUuaD4gZm9yIEdfT1NfV0lOMzIKCSAgKiBnc3QvdWRwL2dzdHVkcHNyYy5jOgoJICBEZWZpbmUgc29ja2xlbl90IGFzIGludCBmb3IgR19PU19XSU4zMgoJICAqIHdpbi9jb21tb24vY29uZmlnLmguaW46CgkgIFVuZGVmIEhBVkVfTkVUSU5FVF9JTl9ICgkgICogd2luMzIvdnM2L2dzdF9wbHVnaW5zX2dvb2QuZHN3OgoJICAqIHdpbjMyL3ZzNi9saWJnc3RydHAuZHNwOgoJICAqIHdpbjMyL3ZzNi9saWJnc3RydHNwLmRzcDoKCSAgKiB3aW4zMi92czYvbGliZ3N0YXV0b2dlbi5kc3A6CgkgICogd2luMzIvdnM2L2xpYmdzdGF1ZGlvZnguZHNwOgoJICAqIHdpbjMyL3ZzNi9saWJnc3R1ZHAuZHNwOgoJICBBZGQgYW5kIHVwZGF0ZSBwcm9qZWN0IGZpbGVzLgoJICAqIHdpbjMyL2NvbW1vbi9nc3R1ZHAtZW51bXR5cGVzLmM6CgkgICogd2luMzIvY29tbW9uL2dzdHVkcC1lbnVtdHlwZXMuaDoKCSAgQWRkIGEgY29weSBvZiB1ZHAgZW51bXR5cGVzIHRvIHdpbjMyL2NvbW1vbiBhcyBpbiBjb3JlCgkgIGFuZCBiYXNlLgoKMjAwNy0wMi0xMSAxMDo1MzoyMSArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgY29uZmlndXJlLmFjOiBBY3RpdmF0ZSBtb25vc2NvcGUgd2hlbiBidWlsZGluZyB3aXRoIC0tZW5hYmxlLWV4cGVyaW1lbnRhbC4gRml4CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgQWN0aXZhdGUgbW9ub3Njb3BlIHdoZW4gYnVpbGRpbmcgd2l0aCAtLWVuYWJsZS1leHBlcmltZW50YWwuIEZpeAoJICAtLWVuYWJsZS1leHRlcm5hbCBjb25maWd1cmUgc3dpdGNoIGRlc2NyaXB0aW9uLgoJICAqIHN5cy9zdW5hdWRpby9nc3RzdW5hdWRpb21peGVyLmM6IChnc3Rfc3VuYXVkaW9taXhlcl9iYXNlX2luaXQpOgoJICAqIHN5cy9zdW5hdWRpby9nc3RzdW5hdWRpb3NyYy5jOiAoZ3N0X3N1bmF1ZGlvc3JjX2Rpc3Bvc2UpOgoJICBIZWxwIGdzdC1pbmRlbnQuCgoyMDA3LTAyLTA5IDA5OjI0OjU4ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L2F2aS9nc3RhdmltdXguYzogRXhwbGljaXRseSBjYXN0IHJlc3VsdCBvZiBwb2ludGVyIGFyaXRobWV0aWMgdG8gaW50ZWdlciBpbiBvcmRlciB0byBhdm9pZCBjb21waWxlciB3YXJuaW5ncyBvbiBzLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdmkvZ3N0YXZpbXV4LmM6IChnc3RfYXZpX211eF9yaWZmX2dldF9hdmlfaGVhZGVyKToKCSAgRXhwbGljaXRseSBjYXN0IHJlc3VsdCBvZiBwb2ludGVyIGFyaXRobWV0aWMgdG8gaW50ZWdlciBpbiBvcmRlciB0bwoJICBhdm9pZCBjb21waWxlciB3YXJuaW5ncyBvbiBzb21lIDY0LWJpdCBzeXN0ZW1zLiBTaG91bGQgZml4ICM0MDYwMTguCgoyMDA3LTAyLTA4IDExOjA5OjE1ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L2RlYnVnL3Byb2dyZXNzcmVwb3J0LmM6IFNvbWUgbW9yZSBkb2NzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZGVidWcvcHJvZ3Jlc3NyZXBvcnQuYzoKCSAgU29tZSBtb3JlIGRvY3MuCgoyMDA3LTAyLTA3IDIxOjA5OjQ1ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cC54bWw6IFVwZGF0ZSBmb3IgbmV3IGVsZW1lbnRzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwLnhtbDoKCSAgVXBkYXRlIGZvciBuZXcgZWxlbWVudHMuCgkgICogZ3N0L2RlYnVnL3Byb2dyZXNzcmVwb3J0Lmg6CgkgIENvbW1pdCBuZXdseS1jcmVhdGVkIGhlYWRlciBmaWxlIGFzIHdlbGwuCgoyMDA3LTAyLTA3IDIwOjM5OjE2ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgTWFrZSBwcm9ncmVzc3JlcG9ydCBlbGVtZW50IHBvc3QgbWVzc2FnZXMgd2l0aCB0aGUgY3VycmVudCBwcm9ncmVzcyBvbiB0aGUgYnVzLiBBbHNvIGFkZCBzb21lIGJhc2ljIGRvY3MgZm9yIGl0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1kb2NzLnNnbWw6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5oaWVyYXJjaHk6CgkgICogZ3N0L2RlYnVnL01ha2VmaWxlLmFtOgoJICAqIGdzdC9kZWJ1Zy9wcm9ncmVzc3JlcG9ydC5jOiAoZ3N0X3Byb2dyZXNzX3JlcG9ydF9wb3N0X3Byb2dyZXNzKSwKCSAgKGdzdF9wcm9ncmVzc19yZXBvcnRfZG9fcXVlcnkpLCAoZ3N0X3Byb2dyZXNzX3JlcG9ydF9yZXBvcnQpOgoJICBNYWtlIHByb2dyZXNzcmVwb3J0IGVsZW1lbnQgcG9zdCBtZXNzYWdlcyB3aXRoIHRoZSBjdXJyZW50IHByb2dyZXNzCgkgIG9uIHRoZSBidXMuIEFsc28gYWRkIHNvbWUgYmFzaWMgZG9jcyBmb3IgaXQuCgoyMDA3LTAyLTA3IDEzOjA4OjM0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L2hhbC9oYWwuKjogU29tZSBzbWFsbCBjbGVhbnVwczsgZGVhbCB3aXRoIGVycm9ycyB3aGVuIHBhcnNpbmcgdGhlIEhBTCBBTFNBIGNhcGFiaWxpdGllcyBhIGJpdCBiZXR0ZXIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9oYWwvaGFsLmM6IChnc3RfaGFsX2dldF9zdHJpbmcpOgoJICAqIGV4dC9oYWwvaGFsLmg6CgkgIFNvbWUgc21hbGwgY2xlYW51cHM7IGRlYWwgd2l0aCBlcnJvcnMgd2hlbiBwYXJzaW5nIHRoZSBIQUwgQUxTQQoJICBjYXBhYmlsaXRpZXMgYSBiaXQgYmV0dGVyLgoKMjAwNy0wMi0wNiAxNjoyOTozMCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9zbXB0ZS9nc3RzbXB0ZS5jOiBMZXQncyB0cnkgdGhpcyBhZ2FpbiBhbmQgdXNlIHRoZSByaWdodCBjYXN0IHRoaXMgdGltZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3NtcHRlL2dzdHNtcHRlLmM6IChnc3Rfc21wdGVfdHJhbnNpdGlvbl90eXBlX2dldF90eXBlKToKCSAgTGV0J3MgdHJ5IHRoaXMgYWdhaW4gYW5kIHVzZSB0aGUgcmlnaHQgY2FzdCB0aGlzIHRpbWUuCgoyMDA3LTAyLTA2IDE2OjI0OjU3ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L3NtcHRlL2dzdHNtcHRlLmM6IEFkZCBjYXN0IHRvIGF2b2lkIGNvbXBpbGVyIHdhcm5pbmdzIHdpdGggb2xkZXIgR0xpYiB2ZXJzaW9ucyB3aGVyZSB0aGUgbmljay9uYW1lIG1lbWJlcnMgaW4gR0VuLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9zbXB0ZS9nc3RzbXB0ZS5jOiAoZ3N0X3NtcHRlX3RyYW5zaXRpb25fdHlwZV9nZXRfdHlwZSk6CgkgIEFkZCBjYXN0IHRvIGF2b2lkIGNvbXBpbGVyIHdhcm5pbmdzIHdpdGggb2xkZXIgR0xpYiB2ZXJzaW9ucwoJICB3aGVyZSB0aGUgbmljay9uYW1lIG1lbWJlcnMgaW4gR0VudW1WYWx1ZSBhcmUgbm90IGRlY2xhcmVkIGFzCgkgIGNvbnN0YW50IHN0cmluZ3MuCgoyMDA3LTAyLTA2IDE1OjU2OjE0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L2djb25mLzogSW4gZ2NvbmZhdWRpb3NpbmssIGdldCB0aGUgcmlnaHQga2V5IGFzIHRoZSBvbGQga2V5IGluIGRvX3RvZ2dsZSAoaWUuIG9uZSBkZXBlbmRlbnQgb24gdGhlIHByb2ZpbGUgc2VsZWN0Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9nY29uZi9nY29uZi5jOiAoZ3N0X2djb25mX2dldF9rZXlfZm9yX3NpbmtfcHJvZmlsZSksCgkgIChnc3RfZ2NvbmZfcmVuZGVyX2Jpbl9mcm9tX2tleSksCgkgIChnc3RfZ2NvbmZfZ2V0X2RlZmF1bHRfYXVkaW9fc2luayk6CgkgICogZXh0L2djb25mL2djb25mLmg6CgkgICogZXh0L2djb25mL2dzdGdjb25mYXVkaW9zaW5rLmM6IChnZXRfZ2NvbmZfa2V5X2Zvcl9wcm9maWxlKSwKCSAgKGRvX3RvZ2dsZV9lbGVtZW50KSwgKGdzdF9nY29uZl9hdWRpb19zaW5rX3NldF9wcm9wZXJ0eSksCgkgIChnc3RfZ2NvbmZfYXVkaW9fc2lua19nZXRfcHJvcGVydHkpOgoJICBJbiBnY29uZmF1ZGlvc2luaywgZ2V0IHRoZSByaWdodCBrZXkgYXMgdGhlIG9sZCBrZXkgaW4gZG9fdG9nZ2xlCgkgIChpZS4gb25lIGRlcGVuZGVudCBvbiB0aGUgcHJvZmlsZSBzZWxlY3RlZCkuIExvZyBzb21lIG1vcmUgc3R1ZmYgc28KCSAgd2UgY2FuIHNlZSB3aGF0J3MgYWN0dWFsbHkgZ29pbmcgb24uCgoyMDA3LTAyLTA2IDExOjE2OjQ5ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvYXVkaW9meC86IFNvbWUgc21hbGwgY2xlYW51cHMgYW5kIHBvcnQgYm90aCBlbGVtZW50cyB0byB0aGUgbmV3IEdzdEF1ZGlvRmlsdGVyIGJhc2UgY2xhc3MgdG8gc2F2ZSBhIGZldyBsaW5lcyBvZiAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2F1ZGlvZngvYXVkaW9hbXBsaWZ5LmM6IChnc3RfYXVkaW9fYW1wbGlmeV9iYXNlX2luaXQpLAoJICAoZ3N0X2F1ZGlvX2FtcGxpZnlfY2xhc3NfaW5pdCksIChnc3RfYXVkaW9fYW1wbGlmeV9pbml0KSwKCSAgKGdzdF9hdWRpb19hbXBsaWZ5X3NldF9wcm9jZXNzX2Z1bmN0aW9uKSwKCSAgKGdzdF9hdWRpb19hbXBsaWZ5X3NldHVwKToKCSAgKiBnc3QvYXVkaW9meC9hdWRpb2FtcGxpZnkuaDoKCSAgKiBnc3QvYXVkaW9meC9hdWRpb2ludmVydC5jOiAoZ3N0X2F1ZGlvX2ludmVydF9iYXNlX2luaXQpLAoJICAoZ3N0X2F1ZGlvX2ludmVydF9jbGFzc19pbml0KSwgKGdzdF9hdWRpb19pbnZlcnRfc2V0dXApOgoJICAqIGdzdC9hdWRpb2Z4L2F1ZGlvaW52ZXJ0Lmg6CgkgIFNvbWUgc21hbGwgY2xlYW51cHMgYW5kIHBvcnQgYm90aCBlbGVtZW50cyB0byB0aGUgbmV3IEdzdEF1ZGlvRmlsdGVyCgkgIGJhc2UgY2xhc3MgdG8gc2F2ZSBhIGZldyBsaW5lcyBvZiBjb21tb24gY29kZS4KCSAgKiBnc3QvYXVkaW9meC9NYWtlZmlsZS5hbToKCSAgTGluayBhZ2FpbnN0IGxpYmdzdGF1ZGlvIGZvciB0aGUgYWJvdmUgY2hhbmdlcwoKMjAwNy0wMi0wMyAyMzozNToyNiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIEZpeCB1cCB0byB1c2UgdGhlIG5ld2x5IHBvcnRlZCAoYWN0dWFsbHkgd29ya2luZykgR3N0QXVkaW9GaWx0ZXIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBnc3QvZXF1YWxpemVyL01ha2VmaWxlLmFtOgoJICAqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyLmM6IChnc3RfaWlyX2VxdWFsaXplcl9iYXNlX2luaXQpLAoJICAoZ3N0X2lpcl9lcXVhbGl6ZXJfY2xhc3NfaW5pdCksIChnc3RfaWlyX2VxdWFsaXplcl9pbml0KSwKCSAgKHNldHVwX2ZpbHRlciksIChnc3RfaWlyX2VxdWFsaXplcl9jb21wdXRlX2ZyZXF1ZW5jaWVzKSwKCSAgKGdzdF9paXJfZXF1YWxpemVyX3NldF9wcm9wZXJ0eSksIChnc3RfaWlyX2VxdWFsaXplcl9nZXRfcHJvcGVydHkpLAoJICAoZ3N0X2lpcl9lcXVhbGl6ZXJfdHJhbnNmb3JtX2lwKSwgKGdzdF9paXJfZXF1YWxpemVyX3NldHVwKSwKCSAgKHBsdWdpbl9pbml0KToKCSAgKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplci5oOgoJICBGaXggdXAgdG8gdXNlIHRoZSBuZXdseSBwb3J0ZWQgKGFjdHVhbGx5IHdvcmtpbmcpIEdzdEF1ZGlvRmlsdGVyLgoJICBCdW1wIGNvcmUvYmFzZSByZXF1aXJlbWVudHMgdG8gQ1ZTIGZvciB0aGlzLgoJICAqIHRlc3RzL2ljbGVzLy5jdnNpZ25vcmU6CgkgICogdGVzdHMvaWNsZXMvTWFrZWZpbGUuYW06CgkgICogdGVzdHMvaWNsZXMvZXF1YWxpemVyLXRlc3QuYzogKGNoZWNrX2J1cyksCgkgIChlcXVhbGl6ZXJfc2V0X2JhbmRfdmFsdWUpLCAoZXF1YWxpemVyX3NldF9hbGxfYmFuZF92YWx1ZXMpLAoJICAoZXF1YWxpemVyX3NldF9iYW5kX3ZhbHVlX2FuZF93YWl0KSwKCSAgKGVxdWFsaXplcl9zZXRfYWxsX2JhbmRfdmFsdWVzX2FuZF93YWl0KSwgKGRvX3NsaWRlcl9maWRkbGluZyksCgkgIChtYWluKToKCSAgQWRkIGJyYWluLWRlYWQgaW50ZXJhY3RpdmUgdGVzdCBmb3IgZXF1YWxpemVyLgoKMjAwNy0wMi0wMiAxODozNjoyOCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyLmM6IFJlbmFtZSAidmFsdWVzIiBwcm9wZXJ0eSB0byAiYmFuZC12YWx1ZXMiIGFuZCBjaGFuZ2UgdHlwZSBpbnRvIGEKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIuYzogKGdzdF9paXJfZXF1YWxpemVyX2NsYXNzX2luaXQpLAoJICAoZ3N0X2lpcl9lcXVhbGl6ZXJfc2V0X3Byb3BlcnR5KSwgKGdzdF9paXJfZXF1YWxpemVyX2dldF9wcm9wZXJ0eSksCgkgIChnc3RfaWlyX2VxdWFsaXplcl9maWx0ZXJfaW5wbGFjZSk6CgkgIFJlbmFtZSAidmFsdWVzIiBwcm9wZXJ0eSB0byAiYmFuZC12YWx1ZXMiIGFuZCBjaGFuZ2UgdHlwZSBpbnRvIGEKCSAgR1ZhbHVlQXJyYXksIHNvIGl0J3MgbW9yZSBlYXNpbHkgYmluZGFibGUgYW5kIHRoZSByYW5nZSBvZiB0aGUKCSAgdmFsdWVzIHBhc3NlZCBpbiBpcyBkZWZpbmVkIGFuZCBjaGVja2VkIGV0Yy47IGFsc28gZG8gc29tZQoJICBsb2NraW5nLgoKMjAwNy0wMi0wMiAxNzozOToyMSArMDAwMCAgSmFtZXMgRG9jIExpdmluZ3N0b24gPGRvY2xpdmluZ3N0b25AZ21haWwuY29tPgoKCSAgUG9ydCBlcXVhbGl6ZXIgcGx1Z2luIHRvIDAuMTAgKCM0MDM1NzIpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IEphbWVzICJEb2MiIExpdmluZ3N0b24gIDxkb2NsaXZpbmdzdG9uIGF0IGdtYWlsIGNvbT4KCSAgKiBjb25maWd1cmUuYWM6CgkgICogZ3N0L2VxdWFsaXplci9NYWtlZmlsZS5hbToKCSAgKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplci5jOiAoZ3N0X2lpcl9lcXVhbGl6ZXJfZ2V0X3R5cGUpLAoJICAoZ3N0X2lpcl9lcXVhbGl6ZXJfYmFzZV9pbml0KSwgKGdzdF9paXJfZXF1YWxpemVyX2NsYXNzX2luaXQpLAoJICAoZ3N0X2lpcl9lcXVhbGl6ZXJfY29tcHV0ZV9mcmVxdWVuY2llcyksCgkgIChnc3RfaWlyX2VxdWFsaXplcl9zZXRfcHJvcGVydHkpLAoJICAoZ3N0X2lpcl9lcXVhbGl6ZXJfZmlsdGVyX2lucGxhY2UpLCAoZ3N0X2lpcl9lcXVhbGl6ZXJfc2V0dXApLAoJICAocGx1Z2luX2luaXQpOgoJICBQb3J0IGVxdWFsaXplciBwbHVnaW4gdG8gMC4xMCAoIzQwMzU3MikuCgoyMDA3LTAxLTMxIDA4OjMyOjU5ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBleHQvd2F2cGFjay9nc3R3YXZwYWNrcGFyc2UuYzogRml4IGEgb2ZmIGJ5IG9uZSB0aGF0IGxlYWRzIHRvIHRoZSBkdXJhdGlvbiByZXBvcnRlZCBhcyBvbmUgc2FtcGxlIGxlc3MgdGhhbiBpdCBpcwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrcGFyc2UuYzogKGdzdF93YXZwYWNrX3BhcnNlX3NyY19xdWVyeSksCgkgIChnc3Rfd2F2cGFja19wYXJzZV9oYW5kbGVfc2Vla19ldmVudCksCgkgIChnc3Rfd2F2cGFja19wYXJzZV9jcmVhdGVfc3JjX3BhZCk6CgkgIEZpeCBhIG9mZiBieSBvbmUgdGhhdCBsZWFkcyB0byB0aGUgZHVyYXRpb24gcmVwb3J0ZWQgYXMgb25lCgkgIHNhbXBsZSBsZXNzIHRoYW4gaXQgaXMKCjIwMDctMDEtMzAgMTc6MTk6MzMgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBjb25maWd1cmUuYWM6IENoZWNrIGZvciBhbiBPYmplY3RpdmUgQyBjb21waWxlcgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIENoZWNrIGZvciBhbiBPYmplY3RpdmUgQyBjb21waWxlcgoJICAqIHN5cy9NYWtlZmlsZS5hbToKCSAgKiBzeXMvb3N4dmlkZW8vTWFrZWZpbGUuYW06CgkgICogc3lzL29zeHZpZGVvL2NvY29hd2luZG93Lmg6CgkgICogc3lzL29zeHZpZGVvL2NvY29hd2luZG93Lm06CgkgICogc3lzL29zeHZpZGVvL29zeHZpZGVvc2luay5oOgoJICAqIHN5cy9vc3h2aWRlby9vc3h2aWRlb3NpbmsubToKCSAgUG9ydCBvZiBvc3h2aWRlbyBwbHVnaW4gdG8gMC4xMC4gRG8gTk9UIGNvbnNpZGVyIDEwMCUgc3RhYmxlICEKCSAgRml4ZXMgIzQwMjQ3MAoKMjAwNy0wMS0yOSAxMDo1OTo0OCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIHRlc3RzL2NoZWNrL2VsZW1lbnRzLy5jdnNpZ25vcmU6IFNvbWUgbW9yZSBpZ25vcmVzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy8uY3ZzaWdub3JlOgoJICBTb21lIG1vcmUgaWdub3Jlcy4KCjIwMDctMDEtMjggMTg6Mjg6MzMgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvdmlkZW9jcm9wL2dzdHZpZGVvY3JvcC5jOiBGaXggY3JvcHBpbmcgZm9yIHBhY2tlZCA0OjI6MiBmb3JtYXRzIFlVWVYvWVVZMiBhbmQgVVlWWS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3ZpZGVvY3JvcC9nc3R2aWRlb2Nyb3AuYzoKCSAgKGdzdF92aWRlb19jcm9wX2dldF9pbWFnZV9kZXRhaWxzX2Zyb21fY2FwcyksCgkgIChnc3RfdmlkZW9fY3JvcF90cmFuc2Zvcm1fcGFja2VkX2NvbXBsZXgpOgoJICBGaXggY3JvcHBpbmcgZm9yIHBhY2tlZCA0OjI6MiBmb3JtYXRzIFlVWVYvWVVZMiBhbmQgVVlWWS4KCSAgKiB0ZXN0cy9pY2xlcy92aWRlb2Nyb3AtdGVzdC5jOiAoY2hlY2tfYnVzX2Zvcl9lcnJvcnMpLAoJICAodGVzdF93aXRoX2NhcHMpLCAobWFpbik6CgkgIEJsb2NrIHN0cmVhbWluZyB0aHJlYWQgYmVmb3JlIGNoYW5naW5nIGZpbHRlciBjYXBzIHdoaWxlIHRoZQoJICBwaXBlbGluZSBpcyBydW5uaW5nIHNvIHRoYXQgd2UgZG9uJ3QgZ2V0IHJhbmRvbSBub3QtbmVnb3RpYXRlZAoJICBlcnJvcnMganVzdCBiZWNhdXNlIEdTdHJlYW1lciBjYW4ndCBoYW5kbGUgdGhhdCB5ZXQuCgoyMDA3LTAxLTI3IDE2OjA4OjE1ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgdGVzdHMvaWNsZXMvdmlkZW9jcm9wLXRlc3QuYzogQ2F0Y2ggZXJyb3JzIHdoaWxlIHRoZSB0ZXN0IGlzIHJ1bm5pbmcuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2ljbGVzL3ZpZGVvY3JvcC10ZXN0LmM6ICh0ZXN0X3dpdGhfY2Fwcyk6CgkgIENhdGNoIGVycm9ycyB3aGlsZSB0aGUgdGVzdCBpcyBydW5uaW5nLgoKMjAwNy0wMS0yNiAxMjoyMTo0MSArMDAwMCAgY2hhcmxlcyA8Y2hhcmxlc2czQGdtYWlsLmNvbT4KCgkgIGV4dC9zaG91dDIvZ3N0c2hvdXQyLio6IFByb3Blcmx5IGhhbmRsZSB0YWdzIGluIHNob3V0MnNlbmQuIEZpeGVzICMzOTk4MjUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogY2hhcmxlcyA8Y2hhcmxlc2czIGF0IGdtYWlsIGRvdCBjb20+CgkgICogZXh0L3Nob3V0Mi9nc3RzaG91dDIuYzogKGdzdF9zaG91dDJzZW5kX2luaXQpLAoJICAoc2V0X3Nob3V0X21ldGFkYXRhKSwgKGdzdF9zaG91dDJzZW5kX2V2ZW50KToKCSAgKiBleHQvc2hvdXQyL2dzdHNob3V0Mi5oOgoJICBQcm9wZXJseSBoYW5kbGUgdGFncyBpbiBzaG91dDJzZW5kLiBGaXhlcyAjMzk5ODI1LgoKMjAwNy0wMS0yNSAyMzoyNzo1OSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZXh0L3dhdnBhY2svZ3N0d2F2cGFja3BhcnNlLmM6IEZpeCB0aGUgU0VFS0lORyBxdWVyeS4gV2UgY2FuIHNlZWsgaWYgd2UgYXJlIGluIHB1bGwgbW9kZSwgbm90IHRoZSBvdGhlciB3YXkgYXJvdW5kLiBBLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2twYXJzZS5jOiAoZ3N0X3dhdnBhY2tfcGFyc2Vfc3JjX3F1ZXJ5KToKCSAgRml4IHRoZSBTRUVLSU5HIHF1ZXJ5LiBXZSBjYW4gc2VlayBpZiB3ZSBhcmUgaW4gcHVsbCBtb2RlLCBub3QgdGhlCgkgIG90aGVyIHdheSBhcm91bmQuIEFsc28gc2V0IHRoZSBjb3JyZWN0IGZvcm1hdCBpbiB0aGUgc2Vla2luZyBxdWVyeSBhbmQKCSAgaGFuZGxlIHRoZSBjYXNlIHdoZXJlIHRoZSBoZWFkZXJzIGFyZSBub3QgcmVhZCB5ZXQgYW5kIHdlIGNhbid0IHNheQoJICBhbnl0aGluZyBhYm91dCBvdXIgc2Vla2luZyBjYXBhYmlsaXRpZXMuCgoyMDA3LTAxLTI1IDIxOjU1OjQ5ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBleHQvd2F2cGFjay86IEZpeCBzcGVsbGluZyBpbiAyIHBsYWNlczogSXQncyBjYWxsZWQgV2F2cGFjaywgbm90IFdhdmVQYWNrLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZGVjLmM6IChnc3Rfd2F2cGFja19kZWNfYmFzZV9pbml0KToKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrcGFyc2UuYzogKGdzdF93YXZwYWNrX3BhcnNlX2Jhc2VfaW5pdCk6CgkgIEZpeCBzcGVsbGluZyBpbiAyIHBsYWNlczogSXQncyBjYWxsZWQgV2F2cGFjaywgbm90IFdhdmVQYWNrLgoKMjAwNy0wMS0yNSAxNDo0MDoxNSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogQ29udmVydCBTRFAgZmllbGRzIHRvIHVwcGVyL2xvd2VyY2FzZSBmb2xsb3dpbmcgdGhlIHJ1bGVzIGluIHRoZSBTRFAgdG8gY2FwcyBkb2N1bWVudC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiAoZ3N0X3J0c3BzcmNfbWVkaWFfdG9fY2FwcyksCgkgIChnc3RfcnRzcHNyY19hY3RpdmF0ZV9zdHJlYW1zKToKCSAgQ29udmVydCBTRFAgZmllbGRzIHRvIHVwcGVyL2xvd2VyY2FzZSBmb2xsb3dpbmcgdGhlIHJ1bGVzIGluIHRoZSBTRFAgdG8KCSAgY2FwcyBkb2N1bWVudC4KCjIwMDctMDEtMjUgMTQ6MjI6NTMgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwLzogRml4IGNhc2Ugb2YgZW5jb2RpbmctbmFtZSBhbmQga2V5L3ZhbHVlIHBhaXJzIHRvIG1hdGNoIHRoZSBkb2N1bWVudC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cC9SRUFETUU6CgkgICogZ3N0L3J0cC9nc3RydHBpbGJjZGVwYXkuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cGlsYmNwYXkuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cG1wNGdkZXBheS5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwbXA0Z3BheS5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwc3BlZXhkZXBheS5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwc3BlZXhwYXkuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cHN2M3ZkZXBheS5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwdGhlb3JhZGVwYXkuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cHRoZW9yYXBheS5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwdm9yYmlzZGVwYXkuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cHZvcmJpc3BheS5jOgoJICBGaXggY2FzZSBvZiBlbmNvZGluZy1uYW1lIGFuZCBrZXkvdmFsdWUgcGFpcnMgdG8gbWF0Y2ggdGhlIGRvY3VtZW50LgoJICBUaGlzIGlzIHRvIG1ha2UgaW50ZXJvcGVyYXRpb24gd2l0aCBTRFAgY2FzZS1pbnNlbnNpdGl2ZSBhcyByZXF1aXJlZCBieQoJICB0aGUgcmVsZXZhbnQgUkZDcy4KCjIwMDctMDEtMjUgMTI6MDU6MTEgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBnc3QvOiBVc2UgcHJvcGVyIHByaW50IHN0YXRlbWVudHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tdWx0aWZpbGUvZ3N0bXVsdGlmaWxlc2luay5jOgoJICAoZ3N0X211bHRpX2ZpbGVfc2lua19jbGFzc19pbml0KToKCSAgKiBnc3QvbXVsdGlmaWxlL2dzdG11bHRpZmlsZXNyYy5jOiAoZ3N0X211bHRpX2ZpbGVfc3JjX2NsYXNzX2luaXQpOgoJICAqIGdzdC9tdmUvZ3N0bXZlZGVtdXguYzogKGdzdF9tdmVfdmlkZW9fY3JlYXRlX2J1ZmZlciksCgkgIChnc3RfbXZlX3ZpZGVvX3BhbGV0dGUpLCAoZ3N0X212ZV92aWRlb19jb2RlX21hcCksCgkgIChnc3RfbXZlX2F1ZGlvX2luaXQpLCAoZ3N0X212ZV9hdWRpb19kYXRhKSwgKGdzdF9tdmVfdGltZXJfY3JlYXRlKSwKCSAgKGdzdF9tdmVfZGVtdXhfY2hhaW4pOgoJICAqIGdzdC9tdmUvZ3N0bXZlbXV4LmM6IChnc3RfbXZlX211eF9wdXNoX2NodW5rKToKCSAgKiBnc3QvbXZlL212ZWF1ZGlvZW5jLmM6IChtdmVfY29tcHJlc3NfYXVkaW8pOgoJICAqIGdzdC9tdmUvbXZldmlkZW9kZWMxNi5jOiAoaXB2aWRlb19jb3B5X2Jsb2NrKToKCSAgKiBnc3QvbXZlL212ZXZpZGVvZGVjOC5jOiAoaXB2aWRlb19jb3B5X2Jsb2NrKToKCSAgKiBnc3QvbXZlL212ZXZpZGVvZW5jMTYuYzogKG12ZV9lbmNvZGVfZnJhbWUxNik6CgkgICogZ3N0L212ZS9tdmV2aWRlb2VuYzguYzogKG12ZV9lbmNvZGVfZnJhbWU4KToKCSAgVXNlIHByb3BlciBwcmludCBzdGF0ZW1lbnRzLgoJICBGaXhlcyBidWlsZCBvbiBtYWMgb3MgeC4KCSAgPHdpbmdvPiBvbyBsb29rIGF0IG1lIG15IG5hbWUgaXMgZWR3YXJkIGknbSBoYWNraW5nIG9uIG1hY29zIHdvb28KCjIwMDctMDEtMjUgMTE6MDI6MDEgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBjb25maWd1cmUuYWM6IEJ1bXAgcmVxdWlyZWQgLWNvcmUvLWJhc2UgdG8gQ1ZTCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgQnVtcCByZXF1aXJlZCAtY29yZS8tYmFzZSB0byBDVlMKCjIwMDctMDEtMjUgMTA6NTQ6MTkgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwL2dzdHJ0cEwxNnBheS4qOiBGaWxsIHVwIHRvIE1UVSB1c2luZyBhZGFwdGVyLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwL2dzdHJ0cEwxNnBheS5jOiAoZ3N0X3J0cF9MMTZfcGF5X3NldGNhcHMpLAoJICAoZ3N0X3J0cF9MMTZfcGF5X2ZsdXNoKSwgKGdzdF9ydHBfTDE2X3BheV9oYW5kbGVfYnVmZmVyKToKCSAgKiBnc3QvcnRwL2dzdHJ0cEwxNnBheS5oOgoJICBGaWxsIHVwIHRvIE1UVSB1c2luZyBhZGFwdGVyLgoJICBUaW1lc3RhbXAgcnRwIHBhY2tldHMuCgoyMDA3LTAxLTI1IDEwOjM2OjM1ICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgVXNlIEdfR1NJWkVfRk9STUFUIGluIHByaW50IHN0YXRlbWVudHMgZm9yIHBvcnRhYmlsaXR5LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbXVsdGlwYXJ0L211bHRpcGFydG11eC5jOiAoZ3N0X211bHRpcGFydF9tdXhfY29sbGVjdGVkKToKCSAgKiBzeXMveGltYWdlL3hpbWFnZXV0aWwuYzogKHhpbWFnZXV0aWxfY2hlY2tfeHNobV9jYWxscyk6CgkgIFVzZSBHX0dTSVpFX0ZPUk1BVCBpbiBwcmludCBzdGF0ZW1lbnRzIGZvciBwb3J0YWJpbGl0eS4KCSAgRml4ZXMgYnVpbGQgb24gbWFjb3N4LgoKMjAwNy0wMS0yNCAxODoyMDoxNCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHAvOiBQb3J0IGFuZCBlbmFibGUgcmF3IGF1ZGlvIHBheWxvYWRlci9kZXBheWxvYWRlci4gTmVlZHMgYSBiaXQgbW9yZSB3b3JrIG9uIHRoZSBwYXlsb2FkZXIgc2lkZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvcnRwL2dzdHJ0cC5jOiAocGx1Z2luX2luaXQpOgoJICAqIGdzdC9ydHAvZ3N0cnRwTDE2ZGVwYXkuYzogKGdzdF9ydHBfTDE2X2RlcGF5X2Jhc2VfaW5pdCksCgkgIChnc3RfcnRwX0wxNl9kZXBheV9jbGFzc19pbml0KSwgKGdzdF9ydHBfTDE2X2RlcGF5X2luaXQpLAoJICAoZ3N0X3J0cF9MMTZfZGVwYXlfcGFyc2VfaW50KSwgKGdzdF9ydHBfTDE2X2RlcGF5X3NldGNhcHMpLAoJICAoZ3N0X3J0cF9MMTZfZGVwYXlfcHJvY2VzcyksIChnc3RfcnRwX0wxNl9kZXBheV9zZXRfcHJvcGVydHkpLAoJICAoZ3N0X3J0cF9MMTZfZGVwYXlfZ2V0X3Byb3BlcnR5KSwgKGdzdF9ydHBfTDE2X2RlcGF5X2NoYW5nZV9zdGF0ZSksCgkgIChnc3RfcnRwX0wxNl9kZXBheV9wbHVnaW5faW5pdCk6CgkgICogZ3N0L3J0cC9nc3RydHBMMTZkZXBheS5oOgoJICAqIGdzdC9ydHAvZ3N0cnRwTDE2cGF5LmM6IChnc3RfcnRwX0wxNl9wYXlfZ2V0X3R5cGUpLAoJICAoZ3N0X3J0cF9MMTZfcGF5X2Jhc2VfaW5pdCksIChnc3RfcnRwX0wxNl9wYXlfY2xhc3NfaW5pdCksCgkgIChnc3RfcnRwX0wxNl9wYXlfaW5pdCksIChnc3RfcnRwX0wxNl9wYXlfZmluYWxpemUpLAoJICAoZ3N0X3J0cF9MMTZfcGF5X3NldGNhcHMpLCAoZ3N0X3J0cF9MMTZfcGF5X2hhbmRsZV9idWZmZXIpLAoJICAoZ3N0X3J0cF9MMTZfcGF5X3BsdWdpbl9pbml0KToKCSAgKiBnc3QvcnRwL2dzdHJ0cEwxNnBheS5oOgoJICBQb3J0IGFuZCBlbmFibGUgcmF3IGF1ZGlvIHBheWxvYWRlci9kZXBheWxvYWRlci4gTmVlZHMgYSBiaXQgbW9yZSB3b3JrCgkgIG9uIHRoZSBwYXlsb2FkZXIgc2lkZS4KCjIwMDctMDEtMjQgMTY6MjU6NTUgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRzcC9nc3RydHNwc3JjLio6IE9ubHkgdW5ibG9jayB0aGUgdWRwIHBhZHMgd2hlbiB3ZSBsaW5rZWQgYW5kIGFjdGl2YXRlZCB0aGVtIGFsbC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiAocGFkX2Jsb2NrZWQpLAoJICAoZ3N0X3J0c3BzcmNfc3RyZWFtX2NvbmZpZ3VyZV90cmFuc3BvcnQpLAoJICAoZ3N0X3J0c3BzcmNfYWN0aXZhdGVfc3RyZWFtcyksIChnc3RfcnRzcHNyY19sb29wX3VkcCk6CgkgICogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5oOgoJICBPbmx5IHVuYmxvY2sgdGhlIHVkcCBwYWRzIHdoZW4gd2UgbGlua2VkIGFuZCBhY3RpdmF0ZWQgdGhlbSBhbGwuCgkgIEZpeGVzICMzOTU2ODguCgoyMDA3LTAxLTI0IDE1OjE4OjM0ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cC86IEFkZGVkIHNpbXBsZSBBQzMgZGVwYXlsb2FkZXIgKFJGQyA0MTg0KS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvcnRwL2dzdHJ0cC5jOiAocGx1Z2luX2luaXQpOgoJICAqIGdzdC9ydHAvZ3N0cnRwYWMzZGVwYXkuYzogKGdzdF9ydHBfYWMzX2RlcGF5X2Jhc2VfaW5pdCksCgkgIChnc3RfcnRwX2FjM19kZXBheV9jbGFzc19pbml0KSwgKGdzdF9ydHBfYWMzX2RlcGF5X2luaXQpLAoJICAoZ3N0X3J0cF9hYzNfZGVwYXlfc2V0Y2FwcyksIChnc3RfcnRwX2FjM19kZXBheV9wcm9jZXNzKSwKCSAgKGdzdF9ydHBfYWMzX2RlcGF5X3NldF9wcm9wZXJ0eSksIChnc3RfcnRwX2FjM19kZXBheV9nZXRfcHJvcGVydHkpLAoJICAoZ3N0X3J0cF9hYzNfZGVwYXlfY2hhbmdlX3N0YXRlKSwgKGdzdF9ydHBfYWMzX2RlcGF5X3BsdWdpbl9pbml0KToKCSAgKiBnc3QvcnRwL2dzdHJ0cGFjM2RlcGF5Lmg6CgkgIEFkZGVkIHNpbXBsZSBBQzMgZGVwYXlsb2FkZXIgKFJGQyA0MTg0KS4KCSAgKiBnc3QvcnRwL2dzdHJ0cG1wMnRkZXBheS5jOiAoZ3N0X3J0cF9tcDJ0X2RlcGF5X3NldGNhcHMpOgoJICBGaXggYSBsZWFrLgoKMjAwNy0wMS0yNCAxMjo0MTowMyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2F1ZGlvZngvOiBBZGQgbmV3IGVsZW1lbnQgImF1ZGlvYW1wbGlmeSIuIFRoaXMgYWxsb3dzIHNjYWxpbmcgb2YgcmF3IGF1ZGlvIHNhbXBsZXMsIHNpbWlsYXIgdG8gdGhlICJ2b2x1bWUiIGVsZW1lLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICByZXZpZXdlZCBieTogU3RlZmFuIEtvc3QgIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCSAgKiBnc3QvYXVkaW9meC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvYXVkaW9meC9hdWRpb2FtcGxpZnkuYzoKCSAgKGdzdF9hdWRpb19hbXBsaWZ5X2NsaXBwaW5nX21ldGhvZF9nZXRfdHlwZSksCgkgIChnc3RfYXVkaW9fYW1wbGlmeV9iYXNlX2luaXQpLCAoZ3N0X2F1ZGlvX2FtcGxpZnlfY2xhc3NfaW5pdCksCgkgIChnc3RfYXVkaW9fYW1wbGlmeV9pbml0KSwgKGdzdF9hdWRpb19hbXBsaWZ5X3NldF9wcm9jZXNzX2Z1bmN0aW9uKSwKCSAgKGdzdF9hdWRpb19hbXBsaWZ5X3NldF9wcm9wZXJ0eSksIChnc3RfYXVkaW9fYW1wbGlmeV9nZXRfcHJvcGVydHkpLAoJICAoZ3N0X2F1ZGlvX2FtcGxpZnlfc2V0X2NhcHMpLAoJICAoZ3N0X2F1ZGlvX2FtcGxpZnlfdHJhbnNmb3JtX2ludF9jbGlwKSwKCSAgKGdzdF9hdWRpb19hbXBsaWZ5X3RyYW5zZm9ybV9pbnRfd3JhcF9uZWdhdGl2ZSksCgkgIChnc3RfYXVkaW9fYW1wbGlmeV90cmFuc2Zvcm1faW50X3dyYXBfcG9zaXRpdmUpLAoJICAoZ3N0X2F1ZGlvX2FtcGxpZnlfdHJhbnNmb3JtX2Zsb2F0X2NsaXApLAoJICAoZ3N0X2F1ZGlvX2FtcGxpZnlfdHJhbnNmb3JtX2Zsb2F0X3dyYXBfbmVnYXRpdmUpLAoJICAoZ3N0X2F1ZGlvX2FtcGxpZnlfdHJhbnNmb3JtX2Zsb2F0X3dyYXBfcG9zaXRpdmUpLAoJICAoZ3N0X2F1ZGlvX2FtcGxpZnlfdHJhbnNmb3JtX2lwKToKCSAgKiBnc3QvYXVkaW9meC9hdWRpb2FtcGxpZnkuaDoKCSAgKiBnc3QvYXVkaW9meC9hdWRpb2Z4LmM6IChwbHVnaW5faW5pdCk6CgkgIEFkZCBuZXcgZWxlbWVudCAiYXVkaW9hbXBsaWZ5Ii4gVGhpcyBhbGxvd3Mgc2NhbGluZyBvZiByYXcgYXVkaW8KCSAgc2FtcGxlcywgc2ltaWxhciB0byB0aGUgInZvbHVtZSIgZWxlbWVudCwgYnV0IHByb3ZpZGVzIGRpZmZlcmVudCBtb2RlcwoJICBmb3IgY2xpcHBpbmcgYW5kIGFsbG93cyB1bmxpbWl0ZWQgYW1wbGlmaWNhdGlvbi4gSXQncyBtYWlubHkgdGFyZ2V0ZWQKCSAgZm9yIGNyZWF0aXZlIHNvdW5kIGRlc2lnbiBhbmQgbm90IGFzIGEgcmVwbGFjZW1lbnQgb2YgdGhlICJ2b2x1bWUiCgkgIGVsZW1lbnQuIEZpeGVzICMzOTcxNjIKCSAgKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1kb2NzLnNnbWw6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5hcmdzOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb2Z4LnhtbDoKCSAgQWRkIGRvY3MgZm9yIGF1ZGlvYW1wbGlmeSBhbmQgaW50ZWdyYXRlIHRoZW0gaW50byB0aGUgYnVpbGQgc3lzdGVtCgkgICogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvYXVkaW9hbXBsaWZ5LmM6IChzZXR1cF9hbXBsaWZ5KSwKCSAgKGNsZWFudXBfYW1wbGlmeSksIChHU1RfU1RBUlRfVEVTVCksIChhbXBsaWZ5X3N1aXRlKSwgKG1haW4pOgoJICBBZGQgZmFpcmx5IGV4dGVuc2l2ZSB1bml0IHRlc3Qgc3VpdGUgZm9yIGF1ZGlvYW1wbGlmeQoKMjAwNy0wMS0yNCAxMjoyNjo0MSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogVW5ibG9jayBwYWRzIGFmdGVyIGFkZGluZyB0aGUgcGFkcyB0byB0aGUgZWxlbWVudCBzbyB0aGF0IGF1dG9wbHVnZ2VycyBnZXQgYSBjaGFuZ2UgdG8gbGluayBzby4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IChwYWRfdW5ibG9ja2VkKSwgKHBhZF9ibG9ja2VkKToKCSAgVW5ibG9jayBwYWRzIGFmdGVyIGFkZGluZyB0aGUgcGFkcyB0byB0aGUgZWxlbWVudCBzbyB0aGF0IGF1dG9wbHVnZ2VycwoJICBnZXQgYSBjaGFuZ2UgdG8gbGluayBzb21ldGhpbmcuIFBvc3NpYmx5IGZpeGVzICMzOTU2ODguCgoyMDA3LTAxLTI0IDEyOjIyOjUxICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cC86IEZpeCBjYXBzIHdpdGggcGF5bG9hZCBudW1iZXJzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwL2dzdHJ0cGFtcmRlcGF5LmM6CgkgICogZ3N0L3J0cC9nc3RydHBnc21kZXBheS5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwaDI2M3BkZXBheS5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwaDI2M3BwYXkuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cGgyNjRkZXBheS5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwaWxiY2RlcGF5LmM6CgkgICogZ3N0L3J0cC9nc3RydHBtcDJ0ZGVwYXkuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cG1wNGdkZXBheS5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwbXA0Z3BheS5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwbXA0dmRlcGF5LmM6IChnc3RfcnRwX21wNHZfZGVwYXlfY2xhc3NfaW5pdCk6CgkgICogZ3N0L3J0cC9nc3RydHBtcDR2cGF5LmM6CgkgICogZ3N0L3J0cC9nc3RydHBtcGFkZXBheS5jOiAoZ3N0X3J0cF9tcGFfZGVwYXlfY2xhc3NfaW5pdCksCgkgIChnc3RfcnRwX21wYV9kZXBheV9pbml0KSwgKGdzdF9ydHBfbXBhX2RlcGF5X3NldGNhcHMpLAoJICAoZ3N0X3J0cF9tcGFfZGVwYXlfcHJvY2Vzcyk6CgkgICogZ3N0L3J0cC9nc3RydHBtcHZkZXBheS5jOiAoZ3N0X3J0cF9tcHZfZGVwYXlfY2xhc3NfaW5pdCksCgkgIChnc3RfcnRwX21wdl9kZXBheV9pbml0KSwgKGdzdF9ydHBfbXB2X2RlcGF5X3Byb2Nlc3MpOgoJICAqIGdzdC9ydHAvZ3N0cnRwcGNtYWRlcGF5LmM6CgkgICogZ3N0L3J0cC9nc3RydHBwY211ZGVwYXkuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cHNwZWV4ZGVwYXkuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cHNwZWV4cGF5LmM6CgkgICogZ3N0L3J0cC9nc3RydHBzdjN2ZGVwYXkuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cHRoZW9yYWRlcGF5LmM6CgkgICogZ3N0L3J0cC9nc3RydHB0aGVvcmFwYXkuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cHZvcmJpc2RlcGF5LmM6CgkgICogZ3N0L3J0cC9nc3RydHB2b3JiaXNwYXkuYzoKCSAgRml4IGNhcHMgd2l0aCBwYXlsb2FkIG51bWJlcnMuCgkgIEFkZCBzb21lIGZpeGVkIHBheWxvYWQgbnVtYmVycyB0byBjYXBzIHdoZW4gcG9zc2libGUuCgoyMDA3LTAxLTI0IDExOjI5OjAwICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3F0ZGVtdXgvZ3N0cnRweHF0ZGVwYXkuYzogRml4IGNhcHMgb24gdGhlIGRlcGF5bG9hZGVyLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9nc3RydHB4cXRkZXBheS5jOgoJICBGaXggY2FwcyBvbiB0aGUgZGVwYXlsb2FkZXIuCgoyMDA3LTAxLTIzIDE4OjE2OjA5ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvYXVkaW9meC86IEFkZCBuZXcgYXVkaW9meCBlbGVtZW50ICJhdWRpb2ludmVydCIuIFRoaXMgZWxlbWVudCBzd2FwcyB0aGUgdXBwZXIgYW5kIGxvd2VyIGhhbGYgb2Ygc2FtcGxlcyBhbmQgY2FuIGIuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHJldmlld2VkIGJ5OiBTdGVmYW4gS29zdCAgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoJICAqIGdzdC9hdWRpb2Z4L01ha2VmaWxlLmFtOgoJICAqIGdzdC9hdWRpb2Z4L2F1ZGlvZnguYzogKHBsdWdpbl9pbml0KToKCSAgKiBnc3QvYXVkaW9meC9hdWRpb2ludmVydC5jOiAoZ3N0X2F1ZGlvX2ludmVydF9iYXNlX2luaXQpLAoJICAoZ3N0X2F1ZGlvX2ludmVydF9jbGFzc19pbml0KSwgKGdzdF9hdWRpb19pbnZlcnRfaW5pdCksCgkgIChnc3RfYXVkaW9faW52ZXJ0X3NldF9wcm9wZXJ0eSksIChnc3RfYXVkaW9faW52ZXJ0X2dldF9wcm9wZXJ0eSksCgkgIChnc3RfYXVkaW9faW52ZXJ0X3NldF9jYXBzKSwgKGdzdF9hdWRpb19pbnZlcnRfdHJhbnNmb3JtX2ludCksCgkgIChnc3RfYXVkaW9faW52ZXJ0X3RyYW5zZm9ybV9mbG9hdCksCgkgIChnc3RfYXVkaW9faW52ZXJ0X3RyYW5zZm9ybV9pcCk6CgkgICogZ3N0L2F1ZGlvZngvYXVkaW9pbnZlcnQuaDoKCSAgQWRkIG5ldyBhdWRpb2Z4IGVsZW1lbnQgImF1ZGlvaW52ZXJ0Ii4gVGhpcyBlbGVtZW50IHN3YXBzIHRoZSB1cHBlcgoJICBhbmQgbG93ZXIgaGFsZiBvZiBzYW1wbGVzIGFuZCBjYW4gYmUgdXNlZCBmb3IgZXhhbXBsZSBmb3IgYQoJICB3aWRlLXN0ZXJlbyBlZmZlY3QuIEZpeGVzICMzOTYwNTcKCSAgKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1kb2NzLnNnbWw6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5hcmdzOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb2Z4LnhtbDoKCSAgQWRkIGRvY3MgZm9yIHRoZSBhdWRpb2ludmVydCBlbGVtZW50IGFuZCBhZGQgdGhlbSB0byB0aGUgYnVpbGQgc3lzdGVtLgoJICAqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvaW52ZXJ0LmM6IChzZXR1cF9pbnZlcnQpLAoJICAoY2xlYW51cF9pbnZlcnQpLCAoR1NUX1NUQVJUX1RFU1QpLCAoaW52ZXJ0X3N1aXRlKSwgKG1haW4pOgoJICBBZGQgdW5pdCB0ZXN0IHN1aXRlIGZvciB0aGUgYXVkaW9pbnZlcnQgZWxlbWVudC4KCjIwMDctMDEtMjMgMTc6MzY6MzIgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwL2dzdHJ0cG1wNGdkZXBheS5jOiBQYXJzZSBjb25maWcgcGFyYW1zIGFzIHN0cmluZyBhbmQgaW50LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwL2dzdHJ0cG1wNGdkZXBheS5jOiAoZ3N0X3J0cF9tcDRnX2RlcGF5X3BhcnNlX2ludCksCgkgIChnc3RfcnRwX21wNGdfZGVwYXlfc2V0Y2FwcyksIChnc3RfcnRwX21wNGdfZGVwYXlfcHJvY2Vzcyk6CgkgIFBhcnNlIGNvbmZpZyBwYXJhbXMgYXMgc3RyaW5nIGFuZCBpbnQuCgkgIFBhcnNlIGFuZCB1c2UgQVUgaGVhZGVyIGxlbmd0aAoKMjAwNy0wMS0yMyAxNzoyNzozOSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9zbXB0ZS86IGNvbnN0aWZ5IHNvbWUgc3RhdGljIHN0cnVjdHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9zbXB0ZS9iYXJib3h3aXBlcy5jOiAoZ3N0X3dpcGVfYm94ZXNfZHJhdyksCgkgIChnc3Rfd2lwZV90cmlhbmdsZXNfY2xvY2tfZHJhdyksIChnc3Rfd2lwZV90cmlhbmdsZXNfZHJhdyk6CgkgICogZ3N0L3NtcHRlL2dzdG1hc2suYzogKF9nc3RfbWFza19yZWdpc3Rlcik6CgkgICogZ3N0L3NtcHRlL2dzdG1hc2suaDoKCSAgKiBnc3Qvc21wdGUvZ3N0c21wdGUuYzogKGdzdF9zbXB0ZV91cGRhdGVfbWFzayk6CgkgICogZ3N0L3NtcHRlL3BhaW50LmM6IChnc3Rfc21wdGVfcGFpbnRfaGJveCksIChkcmF3X2JyZXNlbmhhbV9saW5lKSwKCSAgKGdzdF9zbXB0ZV9wYWludF90cmlhbmdsZV9jbG9jayk6CgkgIGNvbnN0aWZ5IHNvbWUgc3RhdGljIHN0cnVjdHMuCgkgIERvbid0IHVwZGF0ZSB0aGUgbWFzayBpZiBub3RoaW5nIGNoYW5nZWQgdG8gdGhlIHBhcmFtcy4KCSAgTWFrZSBzdXJlIHdlIG5ldmVyIGRyYXcgb3V0c2lkZSBvZiB0aGUgcGljdHVyZS4gRml4ZXMgIzM5ODMyNS4KCjIwMDctMDEtMjIgMTM6MDY6NDMgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6IEVycm9yIG91dCBwcm9wZXJseSB3aGVuIHB1bGxfcmFuZ2UgZmFpbHMgd2hpbGUgd2UncmUgcmVhZGluZyB0aGUgaGVhZGVycywgaW5zdGVhZCBvZiBqdXN0IHBhdXMuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOiAoZ3N0X2F2aV9kZW11eF9zdHJlYW1faGVhZGVyX3B1bGwpOgoJICBFcnJvciBvdXQgcHJvcGVybHkgd2hlbiBwdWxsX3JhbmdlIGZhaWxzIHdoaWxlIHdlJ3JlIHJlYWRpbmcgdGhlCgkgIGhlYWRlcnMsIGluc3RlYWQgb2YganVzdCBwYXVzaW5nIHRoZSB0YXNrIHNpbGVudGx5LiBGaXhlcyAjMzk5MzM4LgoKMjAwNy0wMS0xOSAxMzowNjowNyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9zbXB0ZS9nc3RzbXB0ZS5jOiBTb21lIG1vcmUgc2FuaXR5IGNoZWNrcyB0byBtYWtlIHN1cmUgdGhlIGlucHV0IGZvcm1hdHMgbWF0Y2ggYW5kIHRoZSBpbnB1dCBwYWRzIGFyZSBhY3R1YWxseSBuZS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvc21wdGUvZ3N0c21wdGUuYzogKGdzdF9zbXB0ZV9jb2xsZWN0ZWQpOgoJICBTb21lIG1vcmUgc2FuaXR5IGNoZWNrcyB0byBtYWtlIHN1cmUgdGhlIGlucHV0IGZvcm1hdHMgbWF0Y2ggYW5kIHRoZQoJICBpbnB1dCBwYWRzIGFyZSBhY3R1YWxseSBuZWdvdGlhdGVkLCBpbiBjYXNlIHNvbWVvbmUgdHJpZXMgdG8gZmVlZAoJICBidWZmZXJzIGZyb20gZmFrZXNyYyBvciBmaWxlc3JjLiBGaXhlcyAjMzk4Mjk5LgoJICBBbHNvIGNvbnN0LWlmeSBhbiBhcnJheSwganVzdCBiZWNhdXNlIHdlIGNhbi4KCjIwMDctMDEtMTkgMTA6MzU6MTMgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBnc3Qvc21wdGUvZ3N0c21wdGUuYzogSWdub3JlIHByZXZpb3VzIGNvbW1pdCwgdGhhdCB3YXMgb25seSB2YWxpZCBmb3Igd2lkdGhzIGFuZCBoZWlnaHRzIHRoYXQgYXJlIG11bHRpcGxlcyBvZiA0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvc21wdGUvZ3N0c21wdGUuYzogKGZpbGxfaTQyMCksIChnc3Rfc21wdGVfY29sbGVjdGVkKToKCSAgSWdub3JlIHByZXZpb3VzIGNvbW1pdCwgdGhhdCB3YXMgb25seSB2YWxpZCBmb3Igd2lkdGhzIGFuZCBoZWlnaHRzCgkgIHRoYXQgYXJlIG11bHRpcGxlcyBvZiA0LgoJICBDb3B5IG92ZXIgc2l6ZS9zdHJpZGUgbWFjcm9zIGZyb20ganBlZ2RlYy4gVGhpcyBhbGxvd3MgdGhlIGVsZW1lbnQKCSAgdG8gd29yayB3aXRoIGFueSB3aWR0aCxoZWlnaHQuLi4KCSAgLi4uIGJ1dCBwdXRzIGluIGV2aWRlbmNlIHRoYXQgdGhlIGFjdHVhbCB0cmFuc2Zvcm1hdGlvbnMgb25seSB3b3JrCgkgIHdpdGggd2lkdGgvaGVpZ2h0IHRoYXQgYXJlIG11bHRpcGxlcyBvZiA0LgoKMjAwNy0wMS0xOSAwOTo0ODo0NyArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIGdzdC9zbXB0ZS9nc3RzbXB0ZS5jOiBBbGxvY2F0ZSBidWZmZXJzIG9mIHRoZSByaWdodCBzaXplLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvc21wdGUvZ3N0c21wdGUuYzogKGdzdF9zbXB0ZV9jb2xsZWN0ZWQpOgoJICBBbGxvY2F0ZSBidWZmZXJzIG9mIHRoZSByaWdodCBzaXplLgoJICBUaGUgcHJvcGVyIHNpemUgb2YgYSBJNDIwIGJ1ZmZlciBpbiBieXRlcyBpczoKCSAgd2lkdGggKiBoZWlnaHQgKiAzCgkgIC0tLS0tLS0tLS0tLS0tLS0tLQoJICAyCgoyMDA3LTAxLTE4IDE4OjM3OjM5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L3NtcHRlL2dzdHNtcHRlLmM6IFByb3h5IGdldGNhcHMgb24gc2luayBwYWRzIHRvbywgc28gdGhhdCB3ZSBlaXRoZXIgZW5kIHVwIHdpdGggdGhlIHNhbWUgZGltZW5zaW9ucyBvbiBhbGwgcGFkcyBvLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9zbXB0ZS9nc3RzbXB0ZS5jOiAoZ3N0X3NtcHRlX2luaXQpOgoJICBQcm94eSBnZXRjYXBzIG9uIHNpbmsgcGFkcyB0b28sIHNvIHRoYXQgd2UgZWl0aGVyIGVuZCB1cCB3aXRoIHRoZQoJICBzYW1lIGRpbWVuc2lvbnMgb24gYWxsIHBhZHMgb3IgZXJyb3Igb3V0IGlmIHRoYXQncyBub3QgcG9zc2libGUKCSAgKHNlZW1zIHRvIHdvcmsgZXZlbiEpLiBGaXhlcyAjMzk4MDg2LCBJIHRoaW5rLgoKMjAwNy0wMS0xOCAxMToyOToxNyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGRvY3MvcGx1Z2lucy86IFJlbW92ZSBsYWRzcGEgZnJvbSBkb2NzOyBhZGQgaGllcmFyY2h5IGluZm8gZm9yIEdzdEF1ZGlvUGFub3JhbWE7IGZpeCBpbnRlZ2VyIHByb3BlcnRpZXMgd2l0aCAtMSBhcyBtaS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmFyZ3M6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5oaWVyYXJjaHk6CgkgIFJlbW92ZSBsYWRzcGEgZnJvbSBkb2NzOyBhZGQgaGllcmFyY2h5IGluZm8gZm9yIEdzdEF1ZGlvUGFub3JhbWE7CgkgIGZpeCBpbnRlZ2VyIHByb3BlcnRpZXMgd2l0aCAtMSBhcyBtaW5pbXVtIHZhbHVlLgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi0xMzk0LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWFzaW5rLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxhdy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGFjb2xvci54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFubm9kZXgueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hcGV0YWcueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb2Z4LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVwYXJzZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9kZXRlY3QueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdmkueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWNhc2luay54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhaXJvLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2Rpby54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWN1dHRlci54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVnLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHYueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmVuY2UueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmZlY3R2LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXNkc2luay54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsYWMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHhkZWMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nY29uZmVsZW1lbnRzLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2RrcGl4YnVmLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWhhbGVsZW1lbnRzLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWN5ZGVtdXgueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pZDNkZW11eC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwZWcueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sZXZlbC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1hdHJvc2thLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsYXcueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aXBhcnQueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uYXZpZ2F0aW9udGVzdC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zc2F1ZGlvLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5nLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRzcC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNob3V0MnNlbmQueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbXB0ZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWV4LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdGFnbGliLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdWRwLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9iYWxhbmNlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9ib3gueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2ZsaXAueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb21peGVyLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2ZW5jLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFyc2UueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14aW1hZ2VzcmMueG1sOgoJICBVcGRhdGUgdG8gQ1ZTLgoKMjAwNy0wMS0xOCAxMToyMzozNiArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L2F1ZGlvZngvYXVkaW9wYW5vcmFtYS5jOiBGaXggZG9jIHNlY3Rpb24gbmFtZSAoRml4ZXMgIzM5Nzk0NikKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2F1ZGlvZngvYXVkaW9wYW5vcmFtYS5jOgoJICBGaXggZG9jIHNlY3Rpb24gbmFtZSAoRml4ZXMgIzM5Nzk0NikKCjIwMDctMDEtMTggMTA6MzM6NTAgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBDaGFuZ2VMb2c6CgkgIFJlbW92ZSBib2d1cyBDaGFuZ2VMb2cgZW50cnkKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFJlbW92ZSBib2d1cyBDaGFuZ2VMb2cgZW50cnkKCjIwMDctMDEtMTcgMTQ6MzA6NTAgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIHN5cy92NGwyLzogRml4IEVJTyBoYW5kaW5nIHdoZW4gY2FwdHVyaW5nLiBBZGQgbmV3IHByb3BlcnR5IHRvIHNwZWNpZnkgdGhlIG51bWJlciBvZiBidWZmZXJzIHRvIGVucXVlIChhbmQgcmVtb3ZlIHRoZS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIChnc3RfdjRsMl9vYmplY3RfaW5zdGFsbF9wcm9wZXJ0aWVzX2hlbHBlciksCgkgIChnc3RfdjRsMl9vYmplY3Rfc2V0X3Byb3BlcnR5X2hlbHBlciksCgkgIChnc3RfdjRsMl9vYmplY3RfZ2V0X3Byb3BlcnR5X2hlbHBlciksIChnc3RfdjRsMl9zZXRfZGVmYXVsdHMpOgoJICAqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuaDoKCSAgKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6IChnc3RfdjRsMnNyY19jbGFzc19pbml0KSwKCSAgKGdzdF92NGwyc3JjX2luaXQpLCAoZ3N0X3Y0bDJzcmNfc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF92NGwyc3JjX2dldF9wcm9wZXJ0eSksIChnc3RfdjRsMnNyY19zZXRfY2Fwcyk6CgkgICogc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5jOiAoZ3N0X3Y0bDJzcmNfZmlsbF9mb3JtYXRfbGlzdCksCgkgIChnc3RfdjRsMnNyY19ncmFiX2ZyYW1lKSwgKGdzdF92NGwyc3JjX3NldF9jYXB0dXJlKSwKCSAgKGdzdF92NGwyc3JjX2NhcHR1cmVfaW5pdCksIChnc3RfdjRsMnNyY19jYXB0dXJlX3N0YXJ0KSwKCSAgKGdzdF92NGwyc3JjX2NhcHR1cmVfZGVpbml0KToKCSAgRml4IEVJTyBoYW5kaW5nIHdoZW4gY2FwdHVyaW5nLiBBZGQgbmV3IHByb3BlcnR5IHRvIHNwZWNpZnkgdGhlIG51bWJlciBvZgoJICBidWZmZXJzIHRvIGVucXVlIChhbmQgcmVtb3ZlIHRoZSBib3JrZWQgbnVtLWJ1ZmZlcnMgdXNhZ2UpLgoKMjAwNy0wMS0xNiAwODoyOToxMSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2F1ZGlvZngvYXVkaW9wYW5vcmFtYS5jOiBVc2UgYSBmdW5jdGlvbiBhcnJheSBmb3IgcHJvY2VzcyBtZXRob2RzLCBhZGQgbW9yZSBkb2NzIGFuZCBkZWZpbmUgdGhlIHN0YXJ0aW5kZXggb2YgZW51bXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW8gY2lyY3VsYXItY2hhb3Mgb3JnPgoJICAqIGdzdC9hdWRpb2Z4L2F1ZGlvcGFub3JhbWEuYzogKGdzdF9hdWRpb19wYW5vcmFtYV9jbGFzc19pbml0KSwKCSAgKGdzdF9hdWRpb19wYW5vcmFtYV9zZXRfcHJvY2Vzc19mdW5jdGlvbik6CgkgIFVzZSBhIGZ1bmN0aW9uIGFycmF5IGZvciBwcm9jZXNzIG1ldGhvZHMsIGFkZCBtb3JlIGRvY3MgYW5kIGRlZmluZSB0aGUKCSAgc3RhcnRpbmRleCBvZiBlbnVtcy4KCjIwMDctMDEtMTQgMTc6NTU6MzMgKzAwMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hbmF1d0Bza3luZXQuYmU+CgoJICBBZGQgc3VwcG9ydCBmb3IgbW9yZSB0aGFuIG9uZSBhdWRpbyBzdHJlYW07IHdyaXRlIGJldHRlciBBVklYIGhlYWRlcjsgcmVmYWN0b3IgY29kZSBhIGJpdDsgZG9uJ3QgYW5ub3VuY2Ugdm9yYmlzIGNhcHMuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBNYXJrIE5hdXdlbGFlcnRzIDxtYW5hdXcgYXQgc2t5bmV0IGJlPgoJICAqIGdzdC9hdmkvZ3N0YXZpbXV4LmM6IChnc3RfYXZpX211eF9maW5hbGl6ZSksCgkgIChnc3RfYXZpX211eF9wYWRfcmVzZXQpLCAoZ3N0X2F2aV9tdXhfcmVzZXQpLCAoZ3N0X2F2aV9tdXhfaW5pdCksCgkgIChnc3RfYXZpX211eF92aWRzaW5rX3NldF9jYXBzKSwgKGdzdF9hdmlfbXV4X2F1ZHNpbmtfc2V0X2NhcHMpLAoJICAoZ3N0X2F2aV9tdXhfcmVxdWVzdF9uZXdfcGFkKSwgKGdzdF9hdmlfbXV4X3JlbGVhc2VfcGFkKSwKCSAgKGdzdF9hdmlfbXV4X3JpZmZfZ2V0X2F2aV9oZWFkZXIpLAoJICAoZ3N0X2F2aV9tdXhfcmlmZl9nZXRfYXZpeF9oZWFkZXIpLCAoZ3N0X2F2aV9tdXhfcmlmZl9nZXRfaGVhZGVyKSwKCSAgKGdzdF9hdmlfbXV4X3dyaXRlX2F2aXhfaW5kZXgpLCAoZ3N0X2F2aV9tdXhfYWRkX2luZGV4KSwKCSAgKGdzdF9hdmlfbXV4X2JpZ2ZpbGUpLCAoZ3N0X2F2aV9tdXhfc3RhcnRfZmlsZSksCgkgIChnc3RfYXZpX211eF9zdG9wX2ZpbGUpLCAoZ3N0X2F2aV9tdXhfaGFuZGxlX2V2ZW50KSwKCSAgKGdzdF9hdmlfbXV4X2RvX2J1ZmZlciksIChnc3RfYXZpX211eF9kb19vbmVfYnVmZmVyKSwKCSAgKGdzdF9hdmlfbXV4X2NoYW5nZV9zdGF0ZSk6CgkgICogZ3N0L2F2aS9nc3RhdmltdXguaDoKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdmltdXguYzogKHRlYXJkb3duX3NyY19wYWQpOgoJICBBZGQgc3VwcG9ydCBmb3IgbW9yZSB0aGFuIG9uZSBhdWRpbyBzdHJlYW07IHdyaXRlIGJldHRlciBBVklYCgkgIGhlYWRlcjsgcmVmYWN0b3IgY29kZSBhIGJpdDsgZG9uJ3QgYW5ub3VuY2Ugdm9yYmlzIGNhcHMgb24gb3VyIGF1ZGlvCgkgIHNpbmsgcGFkcyBzaW5jZSB3ZSBkb24ndCBzdXBwb3J0IGl0IGFueXdheS4gQ2xvc2VzICMzNzkyOTguCgoyMDA3LTAxLTEzIDE5OjEyOjMyICswMDAwICBBbmR5IFdpbmdvIDx3aW5nb0Bwb2JveC5jb20+CgoJICBnc3QvaW50ZXJsZWF2ZS9kZWludGVybGVhdmUuYyAoZ3N0X2RlaW50ZXJsZWF2ZV9hZGRfbmV3X3BhZHMpOiBVc2UgZml4ZWQgY2FwcyBvbiBzcmMgcGFkcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDctMDEtMTMgIEFuZHkgV2luZ28gIDx3aW5nb0Bwb2JveC5jb20+CgkgICogZ3N0L2ludGVybGVhdmUvZGVpbnRlcmxlYXZlLmMgKGdzdF9kZWludGVybGVhdmVfYWRkX25ld19wYWRzKToKCSAgVXNlIGZpeGVkIGNhcHMgb24gc3JjIHBhZHMuCgkgIChnc3RfZGVpbnRlcmxlYXZlX3JlbW92ZV9wYWRzKTogUmVtb3ZlIHNyYyBwYWRzLCBub3Qgc2luayBwYWRzLiBJCgkgIHNlZW0gdG8gaGF2ZSByZXZlcnNlIG1pZGFzIGRpc2Vhc2UhCgkgIChnc3RfZGVpbnRlcmxlYXZlX3Byb2Nlc3MpOiBQcm94eSB0aW1lc3RhbXBzLCBvZmZzZXRzLCBkdXJhdGlvbnMsCgkgIGFuZCBzZXQgY2FwcyBvbiBvdXRnb2luZyBidWZmZXJzLiBGaXhlcyAjMzk1NTk3LCBJIHRoaW5rLgoKMjAwNy0wMS0xMyAxODowMTo0MSArMDAwMCAgQW5keSBXaW5nbyA8d2luZ29AcG9ib3guY29tPgoKCSAgZ3N0L2ludGVybGVhdmUvaW50ZXJsZWF2ZS5jIChnc3RfaW50ZXJsZWF2ZV9pbml0KTogSW5pdCB0aGUgYWN0aXZhdGlvbiBtb2RlIHByb3Blcmx5LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNy0wMS0xMyAgQW5keSBXaW5nbyAgPHdpbmdvQHBvYm94LmNvbT4KCSAgKiBnc3QvaW50ZXJsZWF2ZS9pbnRlcmxlYXZlLmMgKGdzdF9pbnRlcmxlYXZlX2luaXQpOiBJbml0IHRoZQoJICBhY3RpdmF0aW9uIG1vZGUgcHJvcGVybHkuCgkgIChnc3RfaW50ZXJsZWF2ZV9zcmNfc2V0Y2FwcywgZ3N0X2ludGVybGVhdmVfc3JjX2dldGNhcHMpCgkgIChnc3RfaW50ZXJsZWF2ZV9pbml0KTogU2V0IGEgc2V0Y2FwcyBhbmQgZ2V0Y2FwcyBmdW5jdGlvbiBvbiB0aGUKCSAgc3JjIHBhZCwgc28gdGhhdCB3ZSBjYW4gaW1wbGVtZW50IHB1bGwtbW9kZSBuZWdvdGlhdGlvbi4KCSAgKGdzdF9pbnRlcmxlYXZlX3Npbmtfc2V0Y2Fwcyk6IFJlbmFtZWQgZnJvbQoJICBnc3RfaW50ZXJsZWF2ZV9zZXRjYXBzLCBhcyBpdCBvbmx5IGRvZXMgdGhlIHNpbmsgbG9naWMgbm93LgoJICBJbXBsZW1lbnQgYm90aCBmb3IgcHVsbC1tb2RlIGFuZCBwdXNoLW1vZGUuCgkgIChnc3RfaW50ZXJsZWF2ZV9wcm9jZXNzKTogU2V0IGNhcHMgb24gb3VyIG91dGdvaW5nIGJ1ZmZlci4KCSAgKGdzdF9pbnRlcmxlYXZlX3NyY19hY3RpdmF0ZV9wdWxsKTogRml4IHNvbWUgbW9yZSBib2d1cyBjYXN0cy4KCSAgV2hhdCBpcyB1cCB3aXRoIHRoaXMuCgoyMDA3LTAxLTEzIDE1OjUyOjE4ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvYXVkaW9meC9hdWRpb3Bhbm9yYW1hLio6IEFkZCAnbWV0aG9kJyBwcm9wZXJ0eSBhbmQgcHJvdmlkZSBhIHNpbXBsZSAobm9uLXBzeWNob2FjdXN0aWMpIHByb2Nlc3NpbmcgbWV0aG9kICgjMzk0ODU5KS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tbyBjaXJjdWxhci1jaGFvcyBvcmc+CgkgICogZ3N0L2F1ZGlvZngvYXVkaW9wYW5vcmFtYS5jOgoJICAoZ3N0X2F1ZGlvX3Bhbm9yYW1hX21ldGhvZF9nZXRfdHlwZSksCgkgIChnc3RfYXVkaW9fcGFub3JhbWFfY2xhc3NfaW5pdCksIChnc3RfYXVkaW9fcGFub3JhbWFfaW5pdCksCgkgIChnc3RfYXVkaW9fcGFub3JhbWFfc2V0X3Byb2Nlc3NfZnVuY3Rpb24pLAoJICAoZ3N0X2F1ZGlvX3Bhbm9yYW1hX3NldF9wcm9wZXJ0eSksCgkgIChnc3RfYXVkaW9fcGFub3JhbWFfZ2V0X3Byb3BlcnR5KSwgKGdzdF9hdWRpb19wYW5vcmFtYV9zZXRfY2FwcyksCgkgIChnc3RfYXVkaW9fcGFub3JhbWFfdHJhbnNmb3JtX20yc19pbnRfc2ltcGxlKSwKCSAgKGdzdF9hdWRpb19wYW5vcmFtYV90cmFuc2Zvcm1fczJzX2ludF9zaW1wbGUpLAoJICAoZ3N0X2F1ZGlvX3Bhbm9yYW1hX3RyYW5zZm9ybV9tMnNfZmxvYXRfc2ltcGxlKSwKCSAgKGdzdF9hdWRpb19wYW5vcmFtYV90cmFuc2Zvcm1fczJzX2Zsb2F0X3NpbXBsZSk6CgkgICogZ3N0L2F1ZGlvZngvYXVkaW9wYW5vcmFtYS5oOgoJICBBZGQgJ21ldGhvZCcgcHJvcGVydHkgYW5kIHByb3ZpZGUgYSBzaW1wbGUgKG5vbi1wc3ljaG9hY3VzdGljKQoJICBwcm9jZXNzaW5nIG1ldGhvZCAoIzM5NDg1OSkuCgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvYXVkaW9wYW5vcmFtYS5jOiAoR1NUX1NUQVJUX1RFU1QpLAoJICAocGFub3JhbWFfc3VpdGUpOgoJICBUZXN0cyBmb3IgbmV3IG1ldGhvZC4KCjIwMDctMDEtMTIgMTg6Mjg6MTMgKzAwMDAgIENocmlzdGlhbiBTY2hhbGxlciA8dXJhZXVzQGdub21lLm9yZz4KCgkqIGdzdC1wbHVnaW5zLWdvb2Quc3BlYy5pbjoKCSAgY29tbWVudCBvdXQgTEFEU1BBIHBsdWdpbiBmb3Igbm93CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBjb21tZW50IG91dCBMQURTUEEgcGx1Z2luIGZvciBub3cKCjIwMDctMDEtMTIgMTc6MTY6NTEgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcXRkZW11eC86IEFkZCBYLVFUIGRlcGF5bG9hZGVyIHRoYXQgd2lsbCBldmVudHVhbGx5IHNoYXJlIGNvZGUgd2l0aCB0aGUgZGVtdXhlci4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvTWFrZWZpbGUuYW06CgkgICogZ3N0L3F0ZGVtdXgvZ3N0cnRweHF0ZGVwYXkuYzogKGdzdF9ydHBfeHF0X2RlcGF5X2Jhc2VfaW5pdCksCgkgIChnc3RfcnRwX3hxdF9kZXBheV9jbGFzc19pbml0KSwgKGdzdF9ydHBfeHF0X2RlcGF5X2luaXQpLAoJICAoZ3N0X3J0cF94cXRfZGVwYXlfZmluYWxpemUpLCAoZ3N0X3J0cF9xdWlja3RpbWVfcGFyc2Vfc2QpLAoJICAoZ3N0X3J0cF94cXRfZGVwYXlfc2V0Y2FwcyksIChnc3RfcnRwX3hxdF9kZXBheV9wcm9jZXNzKSwKCSAgKGdzdF9ydHBfeHF0X2RlcGF5X3NldF9wcm9wZXJ0eSksIChnc3RfcnRwX3hxdF9kZXBheV9nZXRfcHJvcGVydHkpLAoJICAoZ3N0X3J0cF94cXRfZGVwYXlfY2hhbmdlX3N0YXRlKSwgKGdzdF9ydHBfeHF0X2RlcGF5X3BsdWdpbl9pbml0KToKCSAgKiBnc3QvcXRkZW11eC9nc3RydHB4cXRkZXBheS5oOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKGdzdF9xdGRlbXV4X2Jhc2VfaW5pdCksCgkgIChnc3RfcXRkZW11eF9sb29wX3N0YXRlX2hlYWRlciksIChnc3RfcXRkZW11eF9sb29wKSwKCSAgKHF0ZGVtdXhfcGFyc2VfbW9vdiksIChxdGRlbXV4X3BhcnNlX2NvbnRhaW5lciksCgkgIChxdGRlbXV4X3BhcnNlX25vZGUpLCAoZ3N0X3F0ZGVtdXhfYWRkX3N0cmVhbSksCgkgIChxdGRlbXV4X3BhcnNlX3RyYWspLCAocXRkZW11eF9hdWRpb19jYXBzKToKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4Lmg6CgkgICogZ3N0L3F0ZGVtdXgvcXVpY2t0aW1lLmM6IChwbHVnaW5faW5pdCk6CgkgIEFkZCBYLVFUIGRlcGF5bG9hZGVyIHRoYXQgd2lsbCBldmVudHVhbGx5IHNoYXJlIGNvZGUgd2l0aCB0aGUgZGVtdXhlci4KCSAgTWFrZSBuZXcgcGx1Z2luIGVudHJ5IHBvaW50IHdpdGggcXVpY2t0aW1lIHJlbGVhdGVkIHN0dWZmLgoKMjAwNy0wMS0xMiAxMjoxMDoxOSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9xdGRlbXV4L01ha2VmaWxlLmFtOiBEaXN0IGFsbCBuZXcgZmlsZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L01ha2VmaWxlLmFtOgoJICBEaXN0IGFsbCBuZXcgZmlsZXMuCgoyMDA3LTAxLTEyIDEwOjI3OjI1ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZG9jcy9wbHVnaW5zLzogQWN0aXZhdGUgZG9jcyBmb3IgamFjaywgc2RsIGFuZCBxdGRlbXV4LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5oaWVyYXJjaHk6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLnNpZ25hbHM6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXF0ZGVtdXgueG1sOgoJICBBY3RpdmF0ZSBkb2NzIGZvciBqYWNrLCBzZGwgYW5kIHF0ZGVtdXguCgoyMDA3LTAxLTEyIDEwOjIyOjE2ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3F0ZGVtdXgvOiBDbGVhbnVwIGFuZCByZWZhY3RvciB0byBtYWtlIHRoZSBjb2RlIG1vcmUgcmVhZGFibGUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L01ha2VmaWxlLmFtOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKGV4dHJhY3RfaW5pdGlhbF9sZW5ndGhfYW5kX2ZvdXJjYyksCgkgIChnc3RfcXRkZW11eF9sb29wX3N0YXRlX2hlYWRlciksIChnc3RfcXRkZW11eF9jb21iaW5lX2Zsb3dzKSwKCSAgKGdzdF9xdGRlbXV4X2xvb3Bfc3RhdGVfbW92aWUpLCAoZ3N0X3F0ZGVtdXhfbG9vcCksCgkgIChnc3RfcXRkZW11eF9jaGFpbiksIChxdGRlbXV4X3NpbmtfYWN0aXZhdGVfcHVsbCksCgkgIChxdGRlbXV4X2luZmxhdGUpLCAocXRkZW11eF9wYXJzZV9tb292KSwgKHF0ZGVtdXhfcGFyc2VfY29udGFpbmVyKSwKCSAgKHF0ZGVtdXhfcGFyc2Vfbm9kZSksIChxdGRlbXV4X3RyZWVfZ2V0X2NoaWxkX2J5X3R5cGUpLAoJICAocXRkZW11eF90cmVlX2dldF9zaWJsaW5nX2J5X3R5cGUpLCAoZ3N0X3F0ZGVtdXhfYWRkX3N0cmVhbSksCgkgIChxdGRlbXV4X3BhcnNlX3NhbXBsZXMpLCAocXRkZW11eF9wYXJzZV9zZWdtZW50cyksCgkgIChxdGRlbXV4X3BhcnNlX3RyYWspLCAocXRkZW11eF90YWdfYWRkX3N0ciksIChxdGRlbXV4X3RhZ19hZGRfbnVtKSwKCSAgKHF0ZGVtdXhfdGFnX2FkZF9kYXRlKSwgKHF0ZGVtdXhfdGFnX2FkZF9nbnJlKSwKCSAgKHF0ZGVtdXhfcGFyc2VfdWR0YSksIChxdGRlbXV4X3JlZGlyZWN0c19zb3J0X2Z1bmMpLAoJICAocXRkZW11eF9wcm9jZXNzX3JlZGlyZWN0cyksIChxdGRlbXV4X3BhcnNlX3JlZGlyZWN0cyksCgkgIChxdGRlbXV4X3BhcnNlX3RyZWUpLCAoZ3N0X3F0ZGVtdXhfaGFuZGxlX2VzZHMpLAoJICAocXRkZW11eF92aWRlb19jYXBzKSwgKHF0ZGVtdXhfYXVkaW9fY2Fwcyk6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5oOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXhfZHVtcC5jOiAocXRkZW11eF9kdW1wX212aGQpLAoJICAocXRkZW11eF9kdW1wX3RraGQpLCAocXRkZW11eF9kdW1wX2Vsc3QpLCAocXRkZW11eF9kdW1wX21kaGQpLAoJICAocXRkZW11eF9kdW1wX2hkbHIpLCAocXRkZW11eF9kdW1wX3ZtaGQpLCAocXRkZW11eF9kdW1wX2RyZWYpLAoJICAocXRkZW11eF9kdW1wX3N0c2QpLCAocXRkZW11eF9kdW1wX3N0dHMpLCAocXRkZW11eF9kdW1wX3N0c3MpLAoJICAocXRkZW11eF9kdW1wX3N0c2MpLCAocXRkZW11eF9kdW1wX3N0c3opLCAocXRkZW11eF9kdW1wX3N0Y28pLAoJICAocXRkZW11eF9kdW1wX2NvNjQpLCAocXRkZW11eF9kdW1wX2Rjb20pLCAocXRkZW11eF9kdW1wX2NtdmQpLAoJICAocXRkZW11eF9kdW1wX3Vua25vd24pLCAocXRkZW11eF9ub2RlX2R1bXBfZm9yZWFjaCksCgkgIChxdGRlbXV4X25vZGVfZHVtcCk6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eF9kdW1wLmg6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eF9mb3VyY2MuaDoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4X3R5cGVzLmM6IChxdGRlbXV4X3R5cGVfZ2V0KToKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4X3R5cGVzLmg6CgkgICogZ3N0L3F0ZGVtdXgvcXRwYWxldHRlLmg6CgkgIENsZWFudXAgYW5kIHJlZmFjdG9yIHRvIG1ha2UgdGhlIGNvZGUgbW9yZSByZWFkYWJsZS4KCSAgTW92ZSBkZWJ1Z2dpbmcvdGFibGVzIGludG8gc2VwYXJhdGUgZmlsZXMuCgkgIEFkZCAyLzQvMTYgY29sb3IgcGFsbGV0ZWUgc3VwcG9ydC4KCSAgRml4IHJhdyAxNSBiaXQgUkdCIGhhbmRsaW5nLgoJICBVc2UgbW9yZSBGT1VSQ0MgY29uc3RhbnRzLgoJICBBZGQgc29tZSBkb2NzLgoKMjAwNy0wMS0xMSAxOTo1MTowNCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZXh0L3dhdnBhY2svZ3N0d2F2cGFja2VuYy5jOiBNaW5vciBjbGVhbi11cDogdXNlIGVudW0gdmFsdWVzIGluc3RlYWQgb2YgaGFyZGNvZGVkIGNvbnN0YW50cyAoIzM5NTUzNikuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogU2ViYXN0aWFuIERyw7ZnZSAgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZW5jLmM6IChnc3Rfd2F2cGFja19lbmNfbW9kZV9nZXRfdHlwZSksCgkgIChnc3Rfd2F2cGFja19lbmNfY29ycmVjdGlvbl9tb2RlX2dldF90eXBlKSwKCSAgKGdzdF93YXZwYWNrX2VuY19qb2ludF9zdGVyZW9fbW9kZV9nZXRfdHlwZSk6CgkgIE1pbm9yIGNsZWFuLXVwOiB1c2UgZW51bSB2YWx1ZXMgaW5zdGVhZCBvZiBoYXJkY29kZWQgY29uc3RhbnRzICgjMzk1NTM2KS4KCjIwMDctMDEtMTEgMTY6NTk6NDAgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvOiBTZXQgY29ycmVjdCBjYXBzIG9uIG91dGdvaW5nIHB1bGxlZCBidWZmZXJzLCBvciB0aGluZ3MgYmxvdyB1cCBhZnRlciByZWNlbnQgY29yZSBjaGFuZ2VzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXBldGFnL2dzdHRhZ2RlbXV4LmM6IChnc3RfdGFnX2RlbXV4X3JlYWRfcmFuZ2UpOgoJICAqIGdzdC9pZDNkZW11eC9nc3RpZDNkZW11eC5jOiAoZ3N0X2lkM2RlbXV4X3JlYWRfcmFuZ2UpOgoJICBTZXQgY29ycmVjdCBjYXBzIG9uIG91dGdvaW5nIHB1bGxlZCBidWZmZXJzLCBvciB0aGluZ3MgYmxvdyB1cAoJICBhZnRlciByZWNlbnQgY29yZSBjaGFuZ2VzLgoKMjAwNy0wMS0xMSAxMTowNTowNCArMDAwMCAgSm9uYXMgSG9sbWJlcmcgPGpvbmFzLmhvbG1iZXJnQGF4aXMuY29tPgoKCSAgZ3N0L211bHRpcGFydC9tdWx0aXBhcnRtdXguYzogUmV0dXJuIEZMT1cgZXJyb3JzIEFTQVAuIEZpeGVzICMzOTQ5NzcuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBCYXNlZCBvbiBwYXRjaCBieTogSm9uYXMgSG9sbWJlcmcgPGpvbmFzIGRvdCBob2xtYmVyZyBhdCBheGlzIGRvdCBjb20+CgkgICogZ3N0L211bHRpcGFydC9tdWx0aXBhcnRtdXguYzogKGdzdF9tdWx0aXBhcnRfbXV4X2luaXQpLAoJICAoZ3N0X211bHRpcGFydF9tdXhfcmVxdWVzdF9uZXdfcGFkKSwKCSAgKGdzdF9tdWx0aXBhcnRfbXV4X3F1ZXVlX3BhZHMpLCAoZ3N0X211bHRpcGFydF9tdXhfY29sbGVjdGVkKSwKCSAgKGdzdF9tdWx0aXBhcnRfbXV4X2NoYW5nZV9zdGF0ZSk6CgkgIFJldHVybiBGTE9XIGVycm9ycyBBU0FQLiBGaXhlcyAjMzk0OTc3LgoJICBNaXNjIGNsZWFudXBzLgoKMjAwNy0wMS0xMSAwOTozMDo1OSArMDAwMCAgTHV0eiBNdWVsbGVyIDxsdXR6QHRvcGZyb3NlLmRlPgoKCSAgZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiBDaGVjayBmb3Igc3RyZWFtIHBhZCBiZWZvcmUgYWN0aXZhdGluZy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBMdXR6IE11ZWxsZXIgPGx1dHogYXQgdG9wZnJvc2UgZG90IGRlPgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogKGdzdF9ydHNwc3JjX2FjdGl2YXRlX3N0cmVhbXMpOgoJICBDaGVjayBmb3Igc3RyZWFtIHBhZCBiZWZvcmUgYWN0aXZhdGluZy4KCjIwMDctMDEtMTAgMTU6MTk6NDggKzAwMDAgIFBldGVyIEtqZWxsZXJzdGVkdCA8cGtqQGF4aXMuY29tPgoKCSAgZ3N0L3J0c3AvOiBBbGxvdyB1cmwgdG8gYmUgTlVMTCB0byBiZSBhYmxlIHRvIHVzZSBpdCBmb3Igc2VydmVyIGNvbm5lY3Rpb25zLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFBldGVyIEtqZWxsZXJzdGVkdCAgPHBraiBhdCBheGlzIGNvbT4KCSAgKiBnc3QvcnRzcC9DT1BZSU5HLk1JVDoKCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IChnc3RfcnRzcHNyY19jcmVhdGVfc3RyZWFtKSwKCSAgKGdzdF9ydHNwc3JjX3N0cmVhbV9mcmVlKSwgKGdzdF9ydHNwc3JjX2NsZWFudXApLAoJICAoZ3N0X3J0c3BzcmNfYWxsb2NfdWRwX3BvcnRzKSwgKHBhZF91bmJsb2NrZWQpLCAocGFkX2Jsb2NrZWQpLAoJICAoZ3N0X3J0c3BzcmNfc3RyZWFtX2NvbmZpZ3VyZV90cmFuc3BvcnQpLAoJICAoZ3N0X3J0c3BzcmNfYWN0aXZhdGVfc3RyZWFtcyksIChnc3RfcnRzcHNyY19sb29wX2ludGVybGVhdmVkKSwKCSAgKGdzdF9ydHNwc3JjX2xvb3BfdWRwKSwgKGdzdF9ydHNwc3JjX3NlbmQpLAoJICAoZ3N0X3J0c3BzcmNfcGFyc2VfbWV0aG9kcyksCgkgIChnc3RfcnRzcHNyY19jcmVhdGVfdHJhbnNwb3J0c19zdHJpbmcpLAoJICAoZ3N0X3J0c3BzcmNfcHJlcGFyZV90cmFuc3BvcnRzKSwgKGdzdF9ydHNwc3JjX3NldHVwX3N0cmVhbXMpLAoJICAoZ3N0X3J0c3BzcmNfb3BlbiksIChnc3RfcnRzcHNyY19jbG9zZSk6CgkgICogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5oOgoJICAqIGdzdC9ydHNwL3J0c3Bjb25uZWN0aW9uLmM6IChydHNwX2Nvbm5lY3Rpb25fY3JlYXRlKSwKCSAgKHJ0c3BfY29ubmVjdGlvbl9jb25uZWN0KSwgKHJ0c3BfY29ubmVjdGlvbl9zZW5kKSwgKHJlYWRfbGluZSksCgkgIChwYXJzZV9yZXF1ZXN0X2xpbmUpLCAocGFyc2VfbGluZSksIChydHNwX2Nvbm5lY3Rpb25fcmVhZCksCgkgIChydHNwX2Nvbm5lY3Rpb25fY2xvc2UpOgoJICAqIGdzdC9ydHNwL3J0c3BkZWZzLmM6IChydHNwX2luaXRfc3RhdHVzKSwgKHJ0c3Bfc3RycmVzdWx0KSwKCSAgKHJ0c3BfbWV0aG9kX2FzX3RleHQpLCAocnRzcF9oZWFkZXJfYXNfdGV4dCksCgkgIChydHNwX3N0YXR1c19hc190ZXh0KSwgKHJ0c3BfZmluZF9oZWFkZXJfZmllbGQpLAoJICAocnRzcF9maW5kX21ldGhvZCk6CgkgICogZ3N0L3J0c3AvcnRzcGRlZnMuaDoKCSAgKiBnc3QvcnRzcC9ydHNwZXh0d21zLmM6IChydHNwX2V4dF93bXNfYWZ0ZXJfc2VuZCksCgkgIChydHNwX2V4dF93bXNfY29uZmlndXJlX3N0cmVhbSk6CgkgICogZ3N0L3J0c3AvcnRzcG1lc3NhZ2UuYzogKHJ0c3BfbWVzc2FnZV9uZXcpLCAocnRzcF9tZXNzYWdlX2luaXQpLAoJICAocnRzcF9tZXNzYWdlX25ld19yZXF1ZXN0KSwgKHJ0c3BfbWVzc2FnZV9pbml0X3JlcXVlc3QpLAoJICAocnRzcF9tZXNzYWdlX25ld19yZXNwb25zZSksIChydHNwX21lc3NhZ2VfaW5pdF9yZXNwb25zZSksCgkgIChydHNwX21lc3NhZ2VfaW5pdF9kYXRhKSwgKHJ0c3BfbWVzc2FnZV91bnNldCksCgkgIChydHNwX21lc3NhZ2VfZnJlZSksIChydHNwX21lc3NhZ2VfYWRkX2hlYWRlciksCgkgIChydHNwX21lc3NhZ2VfZ2V0X2hlYWRlciksIChydHNwX21lc3NhZ2Vfc2V0X2JvZHkpLAoJICAocnRzcF9tZXNzYWdlX2dldF9ib2R5KSwgKGR1bXBfbWVtKSwgKHJ0c3BfbWVzc2FnZV9kdW1wKToKCSAgKiBnc3QvcnRzcC9ydHNwbWVzc2FnZS5oOgoJICAqIGdzdC9ydHNwL3NkcG1lc3NhZ2UuYzogKHNkcF9tZXNzYWdlX2dldF9hdHRyaWJ1dGVfdmFsX24pLAoJICAoc2RwX21lZGlhX2dldF9hdHRyaWJ1dGVfdmFsX24pLCAocmVhZF9zdHJpbmcpLCAocmVhZF9zdHJpbmdfZGVsKSwKCSAgKHNkcF9wYXJzZV9saW5lKSwgKHNkcF9tZXNzYWdlX3BhcnNlX2J1ZmZlciksIChwcmludF9tZWRpYSksCgkgIChzZHBfbWVzc2FnZV9kdW1wKToKCSAgQWxsb3cgdXJsIHRvIGJlIE5VTEwgdG8gYmUgYWJsZSB0byB1c2UgaXQgZm9yIHNlcnZlciBjb25uZWN0aW9ucy4KCSAgQ2FuIG5vdyBzZW5kIHJlc3BvbnNlcyBhcyB3ZWxsIGFzIHJlcXVlc3RzLgoJICBObyBsb25nZXIgaGFuZ3MgaW4gYW4gZW5kbGVzcyBsb29wIGlmIEVPRiBpcyByZWNlaXZlZC4KCSAgQ2FuIG5vdyBjb252ZXJ0IGEgc3RhdHVzIGNvZGUgdG8gYSB0ZXh0IHN0cmluZy4KCSAgUmV0dXJuIFJUU1BfSERSX0lOVkFMSUQgZm9yIHVua25vd24gaGVhZGVycy4KCSAgUmV0dXJuIFJUU1BfSU5WQUxJRCBmb3IgdW5rbm93biBtZXRob2RzLgoJICBDb3B5IENTZXEgYW5kIFNlc3Npb24gaGVhZGVycyBmcm9tIHRoZSByZXF1ZXN0LgoJICBPbmx5IGZyZWUgbWVtb3J5IGNvcnJlc3BvbmRpbmcgdG8gdGhlIGN1cnJlbnRseSBzZXQgbWVzc2FnZSB0eXBlLgoJICBBZGRlZCBjb25zdCB0byBmdW5jdGlvbiBhcmd1bWVudHMgYXMgYXBwcm9wcmlhdGUuCgkgIEF2b2lkIGEgY29tcGlsZXIgd2FybmluZyB3aGVuIGluaXRpYWxpemluZyBubWVkaWEuCgkgIFVzZSBndWludCByYXRoZXIgdGhhbiBnaW50IHRvIGF2b2lkIGNvbXBpbGVyIHdhcm5pbmdzLgoJICBGaXggY3Jhc2hlciBpbiB3bXMgZXh0ZW5zaW9uLgoJICBGYWN0b3Igb3V0IHN0cmVhbSBzZXR1cCBmcm9tIG9wZW5fY29ubmVjdGlvbi4KCSAgRGVsYXkgYWN0aXZhdGlvbiBvZiBzdHJlYW1zIHdoZW4gYWN0dWFsIGRhdGEgaXMgcmVjZWl2ZWQgZnJvbSB0aGUKCSAgc2VydmVyLCB0aGlzIHByZXBhcmVzIHVzIHRvIGRvIHByb3BlciBwcm90b2NvbCBzd2l0Y2hpbmcuCgkgIEFkZGVkIG5ldyBsaWNlbnNlLgoJICBGaXhlcyAjMzgwODk1LgoKMjAwNy0wMS0xMCAwOTo0Nzo0MyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgU29tZSBzbWFsbCBkb2NzIGZpeGVzICgjMzk0ODUxKS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tbyB1YnVudHUgY29tPgoJICAqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSAgKiBnc3QvYXVkaW9meC9hdWRpb3Bhbm9yYW1hLmM6CgkgIFNvbWUgc21hbGwgZG9jcyBmaXhlcyAoIzM5NDg1MSkuCgoyMDA3LTAxLTA5IDEyOjI1OjI2ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L2F2aS9nc3RhdmlkZW11eC5jOiBGaXggZG9jcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICBGaXggZG9jcy4KCjIwMDctMDEtMDkgMTI6MjM6NDggKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwLzogQWRkZWQgUkZDIDIyNTAgTVBFRyBWaWRlbyBEZXBheWxvYWRlci4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvcnRwL2dzdHJ0cC5jOiAocGx1Z2luX2luaXQpOgoJICAqIGdzdC9ydHAvZ3N0cnRwbXB2ZGVwYXkuYzogKGdzdF9ydHBfbXB2X2RlcGF5X2Jhc2VfaW5pdCksCgkgIChnc3RfcnRwX21wdl9kZXBheV9jbGFzc19pbml0KSwgKGdzdF9ydHBfbXB2X2RlcGF5X2luaXQpLAoJICAoZ3N0X3J0cF9tcHZfZGVwYXlfc2V0Y2FwcyksIChnc3RfcnRwX21wdl9kZXBheV9wcm9jZXNzKSwKCSAgKGdzdF9ydHBfbXB2X2RlcGF5X3NldF9wcm9wZXJ0eSksIChnc3RfcnRwX21wdl9kZXBheV9nZXRfcHJvcGVydHkpLAoJICAoZ3N0X3J0cF9tcHZfZGVwYXlfY2hhbmdlX3N0YXRlKSwgKGdzdF9ydHBfbXB2X2RlcGF5X3BsdWdpbl9pbml0KToKCSAgKiBnc3QvcnRwL2dzdHJ0cG1wdmRlcGF5Lmg6CgkgIEFkZGVkIFJGQyAyMjUwIE1QRUcgVmlkZW8gRGVwYXlsb2FkZXIuCgkgICogZ3N0L3J0cC9nc3RydHBMMTZkZXBheS5oOgoJICAqIGdzdC9ydHAvZ3N0cnRwaDI2M3BkZXBheS5jOiAoZ3N0X3J0cF9oMjYzcF9kZXBheV9zZXRjYXBzKSwKCSAgKGdzdF9ydHBfaDI2M3BfZGVwYXlfcHJvY2Vzcyk6CgkgIEZpeCBIZWFkZXIgZmlsZS4gU21hbGwgY2xlYW51cHMuCgkgICogZ3N0L3J0cC9nc3RydHBtcDRnZGVwYXkuYzogKGdzdF9ydHBfbXA0Z19kZXBheV9jbGFzc19pbml0KSwKCSAgKGdzdF9ydHBfbXA0Z19kZXBheV9pbml0KSwgKGdzdF9ydHBfbXA0Z19kZXBheV9maW5hbGl6ZSksCgkgIChnc3RfcnRwX21wNGdfZGVwYXlfcHJvY2VzcyksIChnc3RfcnRwX21wNGdfZGVwYXlfY2hhbmdlX3N0YXRlKToKCSAgKiBnc3QvcnRwL2dzdHJ0cG1wNHZkZXBheS5jOiAoZ3N0X3J0cF9tcDR2X2RlcGF5X2NsYXNzX2luaXQpLAoJICAoZ3N0X3J0cF9tcDR2X2RlcGF5X2luaXQpLCAoZ3N0X3J0cF9tcDR2X2RlcGF5X2ZpbmFsaXplKSwKCSAgKGdzdF9ydHBfbXA0dl9kZXBheV9zZXRjYXBzKSwgKGdzdF9ydHBfbXA0dl9kZXBheV9wcm9jZXNzKSwKCSAgKGdzdF9ydHBfbXA0dl9kZXBheV9jaGFuZ2Vfc3RhdGUpOgoJICBSZW1vdmUgdXN1c2VkIGNvZGUuIFJlbW92ZSBBZGFwdGVyIGZyb20gc3RhdGUgQ2hhbmdlLiBBZGRlZCBkZWJ1Zy4KCSAgKiBnc3QvcnRwL2dzdHJ0cG1wYWRlcGF5LmM6IChnc3RfcnRwX21wYV9kZXBheV9iYXNlX2luaXQpLAoJICAoZ3N0X3J0cF9tcGFfZGVwYXlfY2xhc3NfaW5pdCksIChnc3RfcnRwX21wYV9kZXBheV9pbml0KSwKCSAgKGdzdF9ydHBfbXBhX2RlcGF5X3NldGNhcHMpLCAoZ3N0X3J0cF9tcGFfZGVwYXlfcHJvY2Vzcyk6CgkgICogZ3N0L3J0cC9nc3RydHBtcGFkZXBheS5oOgoJICBTdWJjbGFzcyBiYXNlIGRlcGF5bG9hZGVyLgoJICBBZGRlZCBkZWJ1Zy4KCSAgU3VwcG9ydCBzdGF0aWMgcGF5bG9hZCB0eXBlIGFzc2lnbm1lbnQgYXMgd2VsbC4KCSAgKiBnc3QvcnRwL2dzdHJ0cG1wYXBheS5jOgoJICBGaXggY2Fwcy4KCjIwMDctMDEtMDggMTI6NDU6MTAgKzAwMDAgIFZpbmNlbnQgVG9ycmkgPHZ0b3JyaUB1bml2LWV2cnkuZnI+CgoJICBleHQvanBlZy86IFRoZXNlIGxpYmpwZWcgY2FsbGJhY2tzIHNob3VsZCByZXR1cm4gYSAnYm9vbGVhbicgKHVuc2lnbmVkIGNoYXIgYXBwYXJlbnRseSkgYW5kIG5vdCBhICdnYm9vbGVhbicgKHdoaWNoIG0uLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBWaW5jZW50IFRvcnJpICA8dnRvcnJpIGF0IHVuaXYtZXZyeSBmcj4KCSAgKiBleHQvanBlZy9nc3RqcGVnZGVjLmM6CgkgICogZXh0L2pwZWcvZ3N0anBlZ2VuYy5jOgoJICAqIGV4dC9qcGVnL3Ntb2tlY29kZWMuYzoKCSAgVGhlc2UgbGlianBlZyBjYWxsYmFja3Mgc2hvdWxkIHJldHVybiBhICdib29sZWFuJyAodW5zaWduZWQgY2hhcgoJICBhcHBhcmVudGx5KSBhbmQgbm90IGEgJ2dib29sZWFuJyAod2hpY2ggbWFwcyB0byBnaW50KS4gRml4ZXMKCSAgd2FybmluZ3Mgd2hlbiBjb21waWxpbmcgd2l0aCBNaW5nVyAoIzM5MzQyNykuCgkgICogZ3N0L3J0c3AvcnRzcGNvbm5lY3Rpb24uYzogKHJ0c3BfY29ubmVjdGlvbl9yZWFkKToKCSAgVXNlIGlvY3Rsc29ja2V0IG9uIHdpbjMyLgoJICAqIGdzdC91ZHAvZ3N0dWRwc3JjLmM6IChnc3RfdWRwc3JjX2NyZWF0ZSk6CgkgIFNvbWUgcHJpbnRmIGZvcm1hdCBmaXhlcyBmb3Igd2luMzIuCgoyMDA3LTAxLTA3IDIyOjAzOjU0ICswMDAwICBBbmR5IFdpbmdvIDx3aW5nb0Bwb2JveC5jb20+CgoJICBOZXcgZWxlbWVudHMgaW50ZXJsZWF2ZSBhbmQgZGVpbnRlcmxlYXZlLCBpbXBsZW1lbnQgY2hhbm5lbCBpbnRlcmxlYXZpbmcgYW5kIGRlaW50ZXJsZWF2aW5nLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNy0wMS0wNyAgQW5keSBXaW5nbyAgPHdpbmdvQHBvYm94LmNvbT4KCSAgKiBjb25maWd1cmUuYWM6CgkgICogZ3N0L2ludGVybGVhdmUvTWFrZWZpbGUuYW06CgkgICogZ3N0L2ludGVybGVhdmUvcGx1Z2luLmg6CgkgICogZ3N0L2ludGVybGVhdmUvcGx1Z2luLmM6CgkgICogZ3N0L2ludGVybGVhdmUvaW50ZXJsZWF2ZS5jOgoJICAqIGdzdC9pbnRlcmxlYXZlL2RlaW50ZXJsZWF2ZS5jOiBOZXcgZWxlbWVudHMgaW50ZXJsZWF2ZSBhbmQKCSAgZGVpbnRlcmxlYXZlLCBpbXBsZW1lbnQgY2hhbm5lbCBpbnRlcmxlYXZpbmcgYW5kIGRlaW50ZXJsZWF2aW5nLgoJICBUaGUgaW50ZXJsZWF2ZXIgY2FuIG9wZXJhdGUgaW4gcHVsbCBvciBwdXNoIG1vZGUgYnV0IHRoZQoJICBkZWludGVybGVhdmVyIGlzIG1vcmUgbGlrZSBhIGRlbXV4ZXIgYW5kIGNhbiBvbmx5IG9wZXJhdGUgaW4gcHVzaAoJICBtb2RlLgoKMjAwNy0wMS0wNyAxMDo0NDoxMiArMDAwMCAgU8OpYmFzdGllbiBNb3V0dGUgPHNlYmFzdGllbkBtb3V0dGUubmV0PgoKCSAgZ3N0L2N1dHRlci9nc3RjdXR0ZXIuYzogVXNlIGdzdF9ndWludDY0X3RvX2dkb3VibGUgZm9yIGNvbnZlcnNpb24uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9jdXR0ZXIvZ3N0Y3V0dGVyLmM6IChnc3RfY3V0dGVyX2NoYWluKToKCSAgVXNlIGdzdF9ndWludDY0X3RvX2dkb3VibGUgZm9yIGNvbnZlcnNpb24uCgkgICogd2luMzIvdnM2L2xpYmdzdG1hdHJvc2thLmRzcDoKCSAgQWRkIHpsaWIgdG8gdGhlIGxpbmsuCgkgICogd2luMzIvdnM2L2xpYmdzdHZpZGVvYm94LmRzcDoKCSAgVXBkYXRlIGxpYm9pbCBsaWJyYXJ5IG5hbWUgKHByb2plY3QgaXMgbGlua2VkIHRvIGxpYm9pbC0wLjMtMC5saWIgbm93KS4KCjIwMDctMDEtMDUgMTg6MzI6MDMgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBDaGVjayBmb3IgemxpYiBhbmQgaWYgYXZhaWxhYmxlIHBhc3MgaXQgZXhwbGljaXRseSB0byB0aGUgbGlua2VyIHdoZW4gbGlua2luZyBxdGRlbXV4LiBJZiBub3QgYXZhaWxhYmxlIChvciAtLWRpc2FibGUuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAqIGdzdC9xdGRlbXV4L01ha2VmaWxlLmFtOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKHF0ZGVtdXhfcGFyc2VfbW9vdik6CgkgIENoZWNrIGZvciB6bGliIGFuZCBpZiBhdmFpbGFibGUgcGFzcyBpdCBleHBsaWNpdGx5IHRvIHRoZSBsaW5rZXIKCSAgd2hlbiBsaW5raW5nIHF0ZGVtdXguIElmIG5vdCBhdmFpbGFibGUgKG9yIC0tZGlzYWJsZS1leHRlcm5hbCBoYXMKCSAgYmVlbiBzcGVjaWZpZWQhKSwgZGlzYWJsZSB0aGUgYml0cyBpbiBxdGRlbXV4IHRoYXQgdXNlIGl0LiBGaXhlcwoJICBidWlsZCBvbiBNaW5nVyAoIzM5Mjg1NikuCgoyMDA3LTAxLTA1IDE3OjIzOjA0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L21hdHJvc2thL01ha2VmaWxlLmFtOiBJZiB6bGliIGlzIGF2YWlsYWJsZSBhbmQgdXNlZCwgd2UgbXVzdCBsaW5rIGl0IGV4cGxpY2l0bHkgZm9yIHRoaW5ncyB0byB3b3JrIG9uIE1pbmdXIChmaXhlLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tYXRyb3NrYS9NYWtlZmlsZS5hbToKCSAgSWYgemxpYiBpcyBhdmFpbGFibGUgYW5kIHVzZWQsIHdlIG11c3QgbGluayBpdCBleHBsaWNpdGx5IGZvcgoJICB0aGluZ3MgdG8gd29yayBvbiBNaW5nVyAoZml4ZXMgIzM5Mjg1NSkuCgoyMDA3LTAxLTA1IDE2OjA3OjEyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgdGVzdHMvaWNsZXMvdmlkZW9jcm9wLXRlc3QuYzogQ2FsbCBnX3RocmVhZF9pbml0KCkgcmlnaHQgYXQgdGhlIGJlZ2lubmluZy4gUmVtb3ZlIHN1cGVyZmx1b3VzIGdzdF9pbml0KCkgLSB3ZSd2ZSBhbHJlLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2ljbGVzL3ZpZGVvY3JvcC10ZXN0LmM6IChtYWluKToKCSAgQ2FsbCBnX3RocmVhZF9pbml0KCkgcmlnaHQgYXQgdGhlIGJlZ2lubmluZy4gUmVtb3ZlIHN1cGVyZmx1b3VzCgkgIGdzdF9pbml0KCkgLSB3ZSd2ZSBhbHJlYWR5IGJlZW4gaW5pdGVkIHZpYSB0aGUgR09wdGlvbiBzdHVmZi4KCjIwMDctMDEtMDQgMTE6MDI6MjkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvZXNkL2VzZHNpbmsuYzogRG9uJ3QgcmV0dXJuIGJvZ3VzIHZhbHVlcyB3aGVuIGVzZF9nZXRfZGVsYXkoKSBmYWlscyBmb3Igc29tZSByZWFzb24gKCMzOTIxODkpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZXNkL2VzZHNpbmsuYzogKGdzdF9lc2RzaW5rX2RlbGF5KToKCSAgRG9uJ3QgcmV0dXJuIGJvZ3VzIHZhbHVlcyB3aGVuIGVzZF9nZXRfZGVsYXkoKSBmYWlscyBmb3Igc29tZQoJICByZWFzb24gKCMzOTIxODkpLgoKMjAwNy0wMS0wNCAwOTo0NDo1NyArMDAwMCAgVmluY2VudCBUb3JyaSA8dnRvcnJpQHVuaXYtZXZyeS5mcj4KCgkgIEFkZCBkaXJlY3Rzb3VuZHNpbmsgdG8gYnVpbGQgYW5kIGRpc3QgaXQsIHNvIGl0IGdldHMgYnVpbHQgd2hlbiBjb21waWxpbmcgd2l0aCBNaW5nVyBvbiB3aW4zMiBhbmQgdGhlIHJlcXVpcmVkIGhlYWRlci4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFZpbmNlbnQgVG9ycmkgIDx2dG9ycmkgYXQgdW5pdi1ldnJ5IGZyPgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBzeXMvTWFrZWZpbGUuYW06CgkgICogc3lzL2RpcmVjdHNvdW5kL01ha2VmaWxlLmFtOgoJICAqIHN5cy9kaXJlY3Rzb3VuZC9nc3RkaXJlY3Rzb3VuZHNpbmsuYzoKCSAgKGdzdF9kaXJlY3Rzb3VuZHNpbmtfcmVzZXQpOgoJICBBZGQgZGlyZWN0c291bmRzaW5rIHRvIGJ1aWxkIGFuZCBkaXN0IGl0LCBzbyBpdCBnZXRzIGJ1aWx0IHdoZW4KCSAgY29tcGlsaW5nIHdpdGggTWluZ1cgb24gd2luMzIgYW5kIHRoZSByZXF1aXJlZCBoZWFkZXJzIGFuZCBsaWJyYXJpZXMKCSAgYXJlIGF2YWlsYWJsZSAoZml4ZXM6ICMzOTI2MzgpLiBBbHNvIHNpbXBsaWZ5IERpcmVjdERyYXcgY2hlY2sgYSBiaXQuCgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvLmN2c2lnbm9yZToKCSAgRml4IENWUyBpZ25vcmUgZm9yIG5lb25odHRwc3JjIHRlc3QgYmluYXJ5LgoKMjAwNy0wMS0wMyAxOTo1NDozMyArMDAwMCAgVmluY2VudCBUb3JyaSA8dnRvcnJpQHVuaXYtZXZyeS5mcj4KCgkgIEFkZCBkaXJlY3RkcmF3c2luayB0byBidWlsZCBhbmQgZGlzdCBpdCwgc28gaXQgZ2V0cyBidWlsdCB3aGVuIGNvbXBpbGluZyB3aXRoIE1pbmdXIG9uIHdpbjMyIGFuZCB0aGUgcmVxdWlyZWQgaGVhZGVycy4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFZpbmNlbnQgVG9ycmkgIDx2dG9ycmkgYXQgdW5pdi1ldnJ5IGZyPgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBzeXMvTWFrZWZpbGUuYW06CgkgICogc3lzL2RpcmVjdGRyYXcvTWFrZWZpbGUuYW06CgkgIEFkZCBkaXJlY3RkcmF3c2luayB0byBidWlsZCBhbmQgZGlzdCBpdCwgc28gaXQgZ2V0cyBidWlsdCB3aGVuCgkgIGNvbXBpbGluZyB3aXRoIE1pbmdXIG9uIHdpbjMyIGFuZCB0aGUgcmVxdWlyZWQgaGVhZGVycyBhbmQgbGlicmFyaWVzCgkgIGFyZSBhdmFpbGFibGUgKGZpeGVzOiAjMzkyMzEzKS4KCSAgKiBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5jOgoJICAoZ3N0X2RpcmVjdGRyYXdzaW5rX2NlbnRlcl9yZWN0KSwgKGdzdF9kaXJlY3RkcmF3c2lua19zaG93X2ZyYW1lKSwKCSAgKGdzdF9kaXJlY3RkcmF3c2lua19zZXR1cF9kZHJhdyksCgkgIChnc3RfZGlyZWN0ZHJhd3Npbmtfc3VyZmFjZV9jcmVhdGUpOgoJICBDb21tZW50IG91dCBzb21lIHVudXNlZCB0aGluZ3MgYW5kIGZpeCBzb21lIHByaW50ZiBmb3JtYXQgaXNzdWVzIGluCgkgIG9yZGVyIHRvIGF2b2lkIHdhcm5pbmdzIHdoZW4gYnVpbGRsaW5nIHdpdGggTWluZ1cgKCMzOTIzMTMpLgoKMjAwNy0wMS0wMyAxNjo0MToxMCArMDAwMCAgSmVucyBHcmFuc2V1ZXIgPGplbnNnckBnbXgubmV0PgoKCSAgRml4IGJ1aWxkIHdpdGggZ2NjLTIueCAoZGVjbGFyZSB2YXJpYWJsZXMgYXQgdGhlIGJlZ2lubmluZyBvZiBhIGJsb2NrIGV0Yy4pLiBGaXhlcyAjMzkxOTcxLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IEplbnMgR3JhbnNldWVyICA8amVuc2dyIGF0IGdteCBuZXQ+CgkgICogZXh0L3h2aWQvZ3N0eHZpZGVuYy5jOiAoZ3N0X3h2aWRlbmNfZW5jb2RlKSwKCSAgKGdzdF94dmlkZW5jX2dldF9wcm9wZXJ0eSk6CgkgICogZ3N0L2ZpbHRlci9nc3RicHdzaW5jLmM6IChicHdzaW5jX3RyYW5zZm9ybV9pcCk6CgkgICogZ3N0L2ZpbHRlci9nc3RmaWx0ZXIuYzogKHBsdWdpbl9pbml0KToKCSAgKiBnc3QvZmlsdGVyL2dzdGlpci5jOiAoaWlyX3RyYW5zZm9ybV9pcCk6CgkgICogZ3N0L2ZpbHRlci9nc3RscHdzaW5jLmM6IChscHdzaW5jX3RyYW5zZm9ybV9pcCk6CgkgICogZ3N0L21vZHBsdWcvZ3N0bW9kcGx1Zy5jYzoKCSAgKiBnc3QvbnV2ZGVtdXgvZ3N0bnV2ZGVtdXguYzogKGdzdF9udXZfZGVtdXhfaGVhZGVyX2xvYWQpLAoJICAoZ3N0X251dl9kZW11eF9zdHJlYW1fZXh0ZW5kX2hlYWRlcik6CgkgIEZpeCBidWlsZCB3aXRoIGdjYy0yLnggKGRlY2xhcmUgdmFyaWFibGVzIGF0IHRoZSBiZWdpbm5pbmcgb2YgYQoJICBibG9jayBldGMuKS4gRml4ZXMgIzM5MTk3MS4KCjIwMDYtMTItMzAgMTI6NDQ6MDEgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICB0ZXN0cy9jaGVjay9lbGVtZW50cy92aWRlb2Nyb3AuYzogV2hlbiB3ZSBjYW4ndCBjcmVhdGUgYW4gZWxlbWVudCBuZWVkZWQgZm9yIHRoZSB0ZXN0LCBwcmludCBhIG1lc3NhZ2UgZGV0YWlsaW5nIHdoaWMuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvdmlkZW9jcm9wLmM6IChHU1RfU1RBUlRfVEVTVCksCgkgICh2aWRlb2Nyb3BfdGVzdF9jcm9wcGluZ19pbml0X2NvbnRleHQpOgoJICBXaGVuIHdlIGNhbid0IGNyZWF0ZSBhbiBlbGVtZW50IG5lZWRlZCBmb3IgdGhlIHRlc3QsIHByaW50IGEgbWVzc2FnZQoJICBkZXRhaWxpbmcgd2hpY2ggZWxlbWVudCBpdCBhY3R1YWxseSBpcyB0aGF0J3MgbWlzc2luZyAoIzM5MDY3MykuCgoyMDA2LTEyLTI0IDExOjM2OjMxICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgc3lzL3hpbWFnZS9nc3R4aW1hZ2VzcmMuYzogRml4IHByZXN1bWFibHkgY29weSduJ3Bhc3RvIGZvciAxNmJwcCBkZXB0aC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL3hpbWFnZS9nc3R4aW1hZ2VzcmMuYzogKGNvbXBvc2l0ZV9waXhlbCk6CgkgIEZpeCBwcmVzdW1hYmx5IGNvcHknbidwYXN0byBmb3IgMTZicHAgZGVwdGguCgoyMDA2LTEyLTI0IDExOjI0OjU5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOiBUaGUgInNpZ25lZCIgZmllbGQgaW4gYXVkaW8gY2FwcyBpcyBvZiBib29sZWFuIHR5cGUsIHRyeWluZyB0byB1c2UgZ3N0X3N0cnVjdHVyZV9nZXRfaW50Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSAgKGdzdF9tYXRyb3NrYV9tdXhfYXVkaW9fcGFkX3NldGNhcHMpOgoJICBUaGUgInNpZ25lZCIgZmllbGQgaW4gYXVkaW8gY2FwcyBpcyBvZiBib29sZWFuIHR5cGUsIHRyeWluZyB0byB1c2UKCSAgZ3N0X3N0cnVjdHVyZV9nZXRfaW50KCkgdG8gZXh0cmFjdCBpdCB3aWxsIGZhaWwuIEZpeGluZyB0aGlzIG1ha2VzCgkgIG1hdHJvc2thbXV4IGFjY2VwdCByYXcgYXVkaW8gaW5wdXQgKCMzODcxMjEpICh1c2UgYXQgeW91ciBvd24gcmlzawoJICB0aG91Z2gsIGR1ZSB0byB0aGUgbWF0cm9za2Egc3BlYyBiZWluZyBub3QgZW50aXJlbHkgdXNlZnVsIGluIHRoaXMKCSAgcmVzcGVjdCkuCgkgIEFsc28gZml4IHVwIHJhdyBhdWRpbyBzdHJ1Y3R1cmVzIGluIHRlbXBsYXRlIGNhcHMgc28gdGhhdCB0aGV5CgkgIHJlcHJlc2VudCB3aGF0IG91ciBzZXRjYXBzIGZ1bmN0aW9uIHdpbGwgYWN0dWFsbHkgYWNjZXB0LCBzbyB0aGF0CgkgIGNvbnZlcnRlcnMga25vdyB3aGF0IHRvIGNvbnZlcnQgdG8uCgkgIEZpbmFsbHksIGRvbid0IGZhaWwgaWYgdGhlcmUgaXNuJ3QgYW4gImVuZGlhbm5lc3MiIGZpZWxkIGluIDgtYml0CgkgIFBDTSBjYXBzLgoKMjAwNi0xMi0yMiAxMDoxNToyNCArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgdGVzdHMvY2hlY2svZWxlbWVudHMvOiByZWFwcGx5IGNvbnNpc3RlbnQgcGFkIChkZSlhY3RpdmF0aW9uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL21wZWcyZW5jLmM6IChzZXR1cF9tcGVnMmVuYyksCgkgIChjbGVhbnVwX21wZWcyZW5jKToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9yZ2FuYWx5c2lzLmM6IChjbGVhbnVwX3JnYW5hbHlzaXMpOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3dhdnBhY2tkZWMuYzogKHNldHVwX3dhdnBhY2tkZWMpLAoJICAoY2xlYW51cF93YXZwYWNrZGVjKToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy93YXZwYWNrZW5jLmM6IChzZXR1cF93YXZwYWNrZW5jKSwKCSAgKGNsZWFudXBfd2F2cGFja2VuYyk6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMveTRtZW5jLmM6IChzZXR1cF95NG1lbmMpLCAoY2xlYW51cF95NG1lbmMpOgoJICByZWFwcGx5IGNvbnNpc3RlbnQgcGFkIChkZSlhY3RpdmF0aW9uCgoyMDA2LTEyLTIyIDEwOjE1OjIzICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICB0ZXN0cy9jaGVjay9lbGVtZW50cy86IHJlYXBwbHkgY29uc2lzdGVudCBwYWQgKGRlKWFjdGl2YXRpb24KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvYXVkaW9wYW5vcmFtYS5jOiAoY2xlYW51cF9wYW5vcmFtYSk6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvYXZpbXV4LmM6IChzZXR1cF9hdmltdXgpLCAoY2xlYW51cF9hdmltdXgpOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2NtbWxkZWMuYzogKHNldHVwX2NtbWxkZWMpLAoJICAodGVhcmRvd25fY21tbGRlYyk6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvY21tbGVuYy5jOiAoc2V0dXBfY21tbGVuYyksCgkgICh0ZWFyZG93bl9jbW1sZW5jKToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9sZXZlbC5jOiAoc2V0dXBfbGV2ZWwpLCAoY2xlYW51cF9sZXZlbCk6CgkgIHJlYXBwbHkgY29uc2lzdGVudCBwYWQgKGRlKWFjdGl2YXRpb24KCjIwMDYtMTItMjEgMTc6MDM6MzkgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgY29uZmlndXJlLmFjOiBCYWNrIHRvIENWUwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIEJhY2sgdG8gQ1ZTCgkgICogZ3N0LXBsdWdpbnMtZ29vZC5kb2FwOgoJICBBZGQgMC4xMC41IGRvYXAgZW50cnkKCj09PSByZWxlYXNlIDAuMTAuNCA9PT0KCjIwMDYtMTItMjEgMTU6NDU6MDIgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgY29uZmlndXJlLmFjOiByZWxlYXNpbmcgMC4xMC40LCAiQmxhY2sgQnVncyIKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgID09PSByZWxlYXNlIDAuMTAuNCA9PT0KCSAgMjAwNi0xMi0yMSAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgkgICogY29uZmlndXJlLmFjOgoJICByZWxlYXNpbmcgMC4xMC40LCAiQmxhY2sgQnVncyIKCj09PSByZWxlYXNlIDAuMTAuNSA9PT0KCjIwMDYtMTItMjEgMTU6NDA6NTUgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgY29uZmlndXJlLmFjOiByZWxlYXNpbmcgMC4xMC41LCAiVGhlIFBhdGggb2YgVGhvcm5zIgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgPT09IHJlbGVhc2UgMC4xMC41ID09PQoJICAyMDA2LTEyLTIxICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCSAgKiBjb25maWd1cmUuYWM6CgkgIHJlbGVhc2luZyAwLjEwLjUsICJUaGUgUGF0aCBvZiBUaG9ybnMiCgoyMDA2LTEyLTIxIDE0OjAzOjQyICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICB0ZXN0cy9jaGVjay9lbGVtZW50cy9tcGVnMmVuYy5jOiAoc2V0dXBfbXBlZzJlbmMpCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL21wZWcyZW5jLmM6IChzZXR1cF9tcGVnMmVuYykKCSAgKGNsZWFudXBfbXBlZzJlbmMpOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3JnYW5hbHlzaXMuYzogKGNsZWFudXBfcmdhbmFseXNpcyk6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvd2F2cGFja2RlYy5jOiAoc2V0dXBfd2F2cGFja2RlYyksCgkgIChjbGVhbnVwX3dhdnBhY2tkZWMpOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3dhdnBhY2tlbmMuYzogKHNldHVwX3dhdnBhY2tlbmMpLAoJICAoY2xlYW51cF93YXZwYWNrZW5jKToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy95NG1lbmMuYzogKHNldHVwX3k0bWVuYyksIChjbGVhbnVwX3k0bWVuYyk6CgkgIHJldmVydCBteSBmcmVlemUgYnJlYWthZ2UKCjIwMDYtMTItMjEgMTI6NDg6MzIgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIHRlc3RzL2NoZWNrL2VsZW1lbnRzLzogcmV2ZXJ0IG15IGZyZWV6ZSBicmVha2FnZQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdWRpb3Bhbm9yYW1hLmM6IChjbGVhbnVwX3Bhbm9yYW1hKToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdmltdXguYzogKHNldHVwX2F2aW11eCksIChjbGVhbnVwX2F2aW11eCk6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvY21tbGRlYy5jOiAoc2V0dXBfY21tbGRlYyksCgkgICh0ZWFyZG93bl9jbW1sZGVjKToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jbW1sZW5jLmM6IChzZXR1cF9jbW1sZW5jKSwKCSAgKHRlYXJkb3duX2NtbWxlbmMpOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2xldmVsLmM6IChzZXR1cF9sZXZlbCksIChjbGVhbnVwX2xldmVsKToKCSAgcmV2ZXJ0IG15IGZyZWV6ZSBicmVha2FnZQoKMjAwNi0xMi0yMSAwODoyMDoxMCArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgdGVzdHMvY2hlY2svZWxlbWVudHMvOiBjb25zaXN0ZW50IHBhZCAoZGUpYWN0aXZhdGlvbgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9tcGVnMmVuYy5jOiAoc2V0dXBfbXBlZzJlbmMpLAoJICAoY2xlYW51cF9tcGVnMmVuYyk6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvcmdhbmFseXNpcy5jOiAoY2xlYW51cF9yZ2FuYWx5c2lzKToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy93YXZwYWNrZGVjLmM6IChzZXR1cF93YXZwYWNrZGVjKSwKCSAgKGNsZWFudXBfd2F2cGFja2RlYyk6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvd2F2cGFja2VuYy5jOiAoc2V0dXBfd2F2cGFja2VuYyksCgkgIChjbGVhbnVwX3dhdnBhY2tlbmMpOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3k0bWVuYy5jOiAoc2V0dXBfeTRtZW5jKSwgKGNsZWFudXBfeTRtZW5jKToKCSAgY29uc2lzdGVudCBwYWQgKGRlKWFjdGl2YXRpb24KCjIwMDYtMTItMjEgMDg6MTU6MjMgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIHRlc3RzL2NoZWNrL2VsZW1lbnRzLzogY29uc2lzdGVudCBwYWQgKGRlKWFjdGl2YXRpb24KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvYXVkaW9wYW5vcmFtYS5jOiAoY2xlYW51cF9wYW5vcmFtYSk6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvYXZpbXV4LmM6IChzZXR1cF9hdmltdXgpLCAoY2xlYW51cF9hdmltdXgpOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2NtbWxkZWMuYzogKHNldHVwX2NtbWxkZWMpLAoJICAodGVhcmRvd25fY21tbGRlYyk6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvY21tbGVuYy5jOiAoc2V0dXBfY21tbGVuYyksCgkgICh0ZWFyZG93bl9jbW1sZW5jKToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9sZXZlbC5jOiAoc2V0dXBfbGV2ZWwpLCAoY2xlYW51cF9sZXZlbCk6CgkgIGNvbnNpc3RlbnQgcGFkIChkZSlhY3RpdmF0aW9uCgoyMDA2LTEyLTE4IDE3OjExOjQ5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBEb24ndCBwb3N0IEJVRkZFUklORyBtZXNzYWdlcyBpbiBzdHJlYW1pbmcgbW9kZSBpZiB0aGUgc3RyZWFtIGhlYWRlcnMgYXJlIGJlaGluZCB0aGUgbW92aWUgZGF0Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKGdzdF9xdGRlbXV4X3Bvc3RfcHJvZ3Jlc3MpLAoJICAoZ3N0X3F0ZGVtdXhfY2hhaW4pOgoJICBEb24ndCBwb3N0IEJVRkZFUklORyBtZXNzYWdlcyBpbiBzdHJlYW1pbmcgbW9kZSBpZiB0aGUgc3RyZWFtCgkgIGhlYWRlcnMgYXJlIGJlaGluZCB0aGUgbW92aWUgZGF0YTsgaW5zdGVhZCwgcG9zdCAicHJvZ3Jlc3MiIGVsZW1lbnQKCSAgbWVzc2FnZXMgYXMgYSB0ZW1wb3Jhcnkgc29sdXRpb24uIEFwcHMgbWlnaHQgZ2V0IGNvbmZ1c2VkIGFuZCBkbwoJICBzaWxseSB0aGluZ3MgdG8gdGhlIHBpcGVsaW5lIHN0YXRlIGlmIHRoZXkgc2VlIGJ1ZmZlcmluZyBtZXNzYWdlcwoJICBmcm9tIGRpZmZlcmVudCBzb3VyY2VzIGFuZCBkb24ndCByZWFsaXplIHRoZXkgY29tZSBmcm9tIGRpZmZlcmVudAoJICBzb3VyY2VzICgjMzg3MTYwKS4KCjIwMDYtMTItMTggMTY6NDY6MTcgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgRGlzYWJsZSBMQURQU0EsIGFzIGl0IGhhcyBtb3ZlZCB0byB0aGUgLWJhZCBtb2R1bGUgZm9yIHRoZSBkdXJhdGlvbi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAqIGV4dC9NYWtlZmlsZS5hbToKCSAgRGlzYWJsZSBMQURQU0EsIGFzIGl0IGhhcyBtb3ZlZCB0byB0aGUgLWJhZCBtb2R1bGUgZm9yIHRoZSBkdXJhdGlvbi4KCjIwMDYtMTItMTggMTU6NTE6NTQgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBleHQvbGFkc3BhL2dzdHNpZ25hbHByb2Nlc3Nvci5jOiBSZXNldCBmbG93X3N0YXRlIGJhY2sgdG8gX09LIGFmdGVyIGEgZmx1c2ggc3RvcCBzbyB0aGF0IHdlIGV4aXQgb3VyIGVycm9yIHN0YXRlIGFmdGUuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2xhZHNwYS9nc3RzaWduYWxwcm9jZXNzb3IuYzogKGdzdF9zaWduYWxfcHJvY2Vzc29yX3NldGNhcHMpLAoJICAoZ3N0X3NpZ25hbF9wcm9jZXNzb3JfZXZlbnQpOgoJICBSZXNldCBmbG93X3N0YXRlIGJhY2sgdG8gX09LIGFmdGVyIGEgZmx1c2ggc3RvcCBzbyB0aGF0IHdlIGV4aXQgb3VyCgkgIGVycm9yIHN0YXRlIGFmdGVyIHRoZSBmbHVzaC4gRml4ZXMgIzM3NDIxMwoKMjAwNi0xMi0xOCAxNTo0OTowOCArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBDaGFuZ2VMb2cgc3VyZ2VyeSBvbiBvbmUgb2YgU3RlZmFuJ3MgY29tbWl0cyBmcm9tIEF1Z3VzdDoKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIENoYW5nZUxvZyBzdXJnZXJ5IG9uIG9uZSBvZiBTdGVmYW4ncyBjb21taXRzIGZyb20gQXVndXN0OgoJICAqIGV4dC9NYWtlZmlsZS5hbToKCSAgUXVpZXRseSAoYWNjaWRlbnRhbGx5KSBlbmFibGUgTEFEU1BBIGZvciBidWlsZGluZyBieSBkZWZhdWx0LAoJICBkZXNwaXRlIHRoZSBmYWN0IHRoYXQgaXQgZG9lc24ndCBtZWV0IHRoZSBwbHVnaW4gY2hlY2tsaXN0LgoJICAtLSBBZGRlZCBieSBKYW4gU2NobWlkdCAxOCBEZWMgMjAwNgoKMjAwNi0xMi0xOCAxMzo0MDozNCArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IERvbid0IG91dHB1dCBnX3dhcm5pbmcgZm9yIGFuIHVuc3VwcG9ydGVkIGZvcm1hdCwganVzdCBzZW5kIGEKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAoZ3N0X3F0ZGVtdXhfY2hhaW4pLAoJICAoZ3N0X3F0ZGVtdXhfYWRkX3N0cmVhbSk6CgkgIERvbid0IG91dHB1dCBnX3dhcm5pbmcgZm9yIGFuIHVuc3VwcG9ydGVkIGZvcm1hdCwganVzdCBzZW5kIGEKCSAgR1NUX0VMRU1FTlRfV0FSTklORyBhbmQgZG9uJ3QgYWRkIHRoZSBwYWQuCgkgIEZpeCB0aGUgY2FzZSB3aGVyZSBpdCBkb2Vzbid0IGNoZWNrIGZvciBhIE5VTEwgcGFkIGluIHN0cmVhbWluZyBtb2RlLgoJICBGaXhlcyAjMzg3MTM3CgoyMDA2LTEyLTE4IDEyOjI3OjMyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBGaXggY3Jhc2ggZGVyZWZlcmVuY2luZyBOVUxMIHBvaW50ZXIgaWYgdGhlcmUncyBubyBzdGNvIGF0b20uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKHF0ZGVtdXhfcGFyc2VfdHJhayk6CgkgIEZpeCBjcmFzaCBkZXJlZmVyZW5jaW5nIE5VTEwgcG9pbnRlciBpZiB0aGVyZSdzIG5vIHN0Y28gYXRvbS4KCSAgRml4ZXMgIzM4NzEyMi4KCjIwMDYtMTItMTggMTA6MDI6NTYgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQHVidW50dS5jb20+CgoJICBleHQvd2F2cGFjay9nc3R3YXZwYWNrZW5jLmg6IFVzZSBsb2NhbCBjb3B5IG9mIG1kNS5oLCBhcyBpdCBkaXNhcHBlYXJlZCBpbiByZWNlbnQgd2F2cGFjayBpbnN0YWxscy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2VuYy5oOgoJICBVc2UgbG9jYWwgY29weSBvZiBtZDUuaCwgYXMgaXQgZGlzYXBwZWFyZWQgaW4gcmVjZW50IHdhdnBhY2sKCSAgaW5zdGFsbHMuCgkgIFBhdGNoIGJ5OiBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tbyBhdCB1YnVudHUgZG90IGNvbT4KCSAgRml4ZXM6ICMzODcwNzYKCjIwMDYtMTItMTcgMTk6NDI6MDUgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSogcG8vYWYucG86CgkqIHBvL2F6LnBvOgoJKiBwby9jcy5wbzoKCSogcG8vZW5fR0IucG86CgkqIHBvL2h1LnBvOgoJKiBwby9pdC5wbzoKCSogcG8vbmIucG86CgkqIHBvL25sLnBvOgoJKiBwby9vci5wbzoKCSogcG8vc3EucG86CgkqIHBvL3NyLnBvOgoJKiBwby9zdi5wbzoKCSogcG8vdWsucG86CgkqIHBvL3ZpLnBvOgoJICBVcGRhdGUgLnBvIGZpbGVzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBVcGRhdGUgLnBvIGZpbGVzCgoyMDA2LTEyLTE3IDA2OjExOjM5ICswMDAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkgIHN5cy9vc3h2aWRlby9vc3h2aWRlb3NpbmsuKjogRGVjZW50IGVmZm9ydCBhdCBwb3J0aW5nIHRvIDAuMTAuICBOZWVkcyBjbGVhbnVwIG9uIE9TL1guCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy9vc3h2aWRlby9vc3h2aWRlb3NpbmsuaDoKCSAgKiBzeXMvb3N4dmlkZW8vb3N4dmlkZW9zaW5rLm06CgkgIERlY2VudCBlZmZvcnQgYXQgcG9ydGluZyB0byAwLjEwLiAgTmVlZHMgY2xlYW51cCBvbiBPUy9YLgoKMjAwNi0xMi0xNyAwNTowNzowNyArMDAwMCAgVmlqYXkgU2FudGhhbmFtIDx2aWpheUBzYW50aGFuYW0uZ21haWwuY29tPgoKCSAgc3lzL29zeHZpZGVvLzogUHJlbGltaW5hcnkgcGF0Y2ggZm9yIHBvcnRpbmcgb3N4dmlkZW9zaW5rCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogVmlqYXkgU2FudGhhbmFtIDx2aWpheSBzYW50aGFuYW0gZ21haWwgY29tPgoJICAqIHN5cy9vc3h2aWRlby9NYWtlZmlsZS5hbToKCSAgKiBzeXMvb3N4dmlkZW8vb3N4dmlkZW9zaW5rLmg6CgkgICogc3lzL29zeHZpZGVvL29zeHZpZGVvc2luay5tOgoJICBQcmVsaW1pbmFyeSBwYXRjaCBmb3IgcG9ydGluZyBvc3h2aWRlb3NpbmsKCjIwMDYtMTItMTYgMTY6MjE6MjYgKzAwMDAgIFNqb2VyZCBTaW1vbnMgPHNqb2VyZEBsdW9uLm5ldD4KCgkgIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIuYzogSW50cm9kdWNlIHNvbWUgbG9ja2luZyBhcm91bmQgdGhlIHZpZGVvbWl4ZXIgc3RhdGUgc28gdGhhdCBpdCBkb2VzIG5vdCBjcmFzaCB3aGVuIGFkZGluZy4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFNqb2VyZCBTaW1vbnMgPHNqb2VyZCBhdCBsdW9uIGRvdCBuZXQ+CgkgICogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlci5jOiAoZ3N0X3ZpZGVvbWl4ZXJfcGFkX3NldF9wcm9wZXJ0eSksCgkgIChnc3RfdmlkZW9taXhlcl9zZXRfbWFzdGVyX2dlb21ldHJ5KSwKCSAgKGdzdF92aWRlb21peGVyX3BhZF9zaW5rX3NldGNhcHMpLCAoZ3N0X3ZpZGVvbWl4ZXJfY29sbGVjdF9mcmVlKSwKCSAgKGdzdF92aWRlb21peGVyX3Jlc2V0KSwgKGdzdF92aWRlb21peGVyX2luaXQpLAoJICAoZ3N0X3ZpZGVvbWl4ZXJfZmluYWxpemUpLCAoZ3N0X3ZpZGVvbWl4ZXJfcmVxdWVzdF9uZXdfcGFkKSwKCSAgKGdzdF92aWRlb21peGVyX3JlbGVhc2VfcGFkKSwgKGdzdF92aWRlb21peGVyX2NvbGxlY3RlZCksCgkgIChnc3RfdmlkZW9taXhlcl9jaGFuZ2Vfc3RhdGUpOgoJICBJbnRyb2R1Y2Ugc29tZSBsb2NraW5nIGFyb3VuZCB0aGUgdmlkZW9taXhlciBzdGF0ZSBzbyB0aGF0IGl0IGRvZXMgbm90CgkgIGNyYXNoIHdoZW4gYWRkaW5nL3JlbW92aW5nIHBhZHMuIEZpeGVzICMzODMwNDMuCgoyMDA2LTEyLTE2IDE1OjI1OjIzICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBXZSBkb24ndCBzdXBwb3J0IHNlZWtpbmcgaW4gc3RyZWFtaW5nIG1vZGUsIHNvIGRvbid0IGV2ZW4gdHJ5LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChnc3RfcXRkZW11eF9nZXRfc3JjX3F1ZXJ5X3R5cGVzKSwKCSAgKGdzdF9xdGRlbXV4X2hhbmRsZV9zcmNfcXVlcnkpLCAoZ3N0X3F0ZGVtdXhfaGFuZGxlX3NyY19ldmVudCk6CgkgIFdlIGRvbid0IHN1cHBvcnQgc2Vla2luZyBpbiBzdHJlYW1pbmcgbW9kZSwgc28gZG9uJ3QgZXZlbiB0cnkuCgkgIEltcGxlbWVudCBzZWVraW5nIHF1ZXJ5IHNvIGFwcHMgY2FuIHF1ZXJ5IHNlZWthYmlsaXR5IHByb3Blcmx5CgkgIChzZWUgIzM2NTQxNCkuIEZpeCBkdXJhdGlvbiBxdWVyeS4KCjIwMDYtMTItMTYgMTE6NDI6NTYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBjb25maWd1cmUuYWM6IE1ha2Ugc3VyZSBsaWJjYWNhIGNhbiBhY3R1YWxseSBiZSB1c2VkIGluc3RlYWQgb2YganVzdCBjaGVja2luZyBmb3IgL3Vzci9iaW4vY2FjYS1jb25maWcsIHNvIHdlIGRvbid0IHcuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICBNYWtlIHN1cmUgbGliY2FjYSBjYW4gYWN0dWFsbHkgYmUgdXNlZCBpbnN0ZWFkIG9mIGp1c3QgY2hlY2tpbmcgZm9yCgkgIC91c3IvYmluL2NhY2EtY29uZmlnLCBzbyB3ZSBkb24ndCB3cm9uZ2x5IHRyeSB0byBidWlsZCBjYWNhc2luayB3aGVuCgkgIGNyb3NzLWNvbXBpbGluZyAoZml4ZXMgIzM4NDU4NykuCgoyMDA2LTEyLTE1IDEwOjU0OjI4ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkgIGFkZGluZyBkb2FwIGZpbGUKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogTWFrZWZpbGUuYW06CgkgICogZ3N0LXBsdWdpbnMtZ29vZC5kb2FwOgoJICAqIGdzdC1wbHVnaW5zLWdvb2Quc3BlYy5pbjoKCSAgYWRkaW5nIGRvYXAgZmlsZQoKMjAwNi0xMi0xNCAxNjoyMDoxNSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGNvbmZpZ3VyZS5hYzogbGliZmxhYy0xLjEuMyBjaGFuZ2VkIEFQSSBhZ2FpbiwgYnV0IHdlIGNhbid0IGJ1aWxkIGFnYWluc3QgaXQgeWV0LCBzbyBtYWtlIHN1cmUgb3VyIGNoZWNrIGRvZXNuJ3QgdXNlIC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIGxpYmZsYWMtMS4xLjMgY2hhbmdlZCBBUEkgYWdhaW4sIGJ1dCB3ZSBjYW4ndCBidWlsZCBhZ2FpbnN0IGl0IHlldCwKCSAgc28gbWFrZSBzdXJlIG91ciBjaGVjayBkb2Vzbid0IHVzZSBsaWJmbGFjLTEuMS4zIGFuZCBhZGQgYSBjb21tZW50CgkgIHRvIHRoaXMgZWZmZWN0LgoKMjAwNi0xMi0xNCAxNDoyNToxNyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9lZmZlY3R2L2dzdHF1YXJrLmM6IEFkZCBzb21lIE5VTEwgcG9pbnRlciBjaGVja3MgKHBvc3NpYmx5IHJlbGF0ZWQgdG8gIzM4NTYyMykuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9lZmZlY3R2L2dzdHF1YXJrLmM6IChnc3RfcXVhcmt0dl90cmFuc2Zvcm0pLAoJICAoZ3N0X3F1YXJrdHZfcGxhbmV0YWJsZV9jbGVhcik6CgkgIEFkZCBzb21lIE5VTEwgcG9pbnRlciBjaGVja3MgKHBvc3NpYmx5IHJlbGF0ZWQgdG8gIzM4NTYyMykuCgoyMDA2LTEyLTEzIDE3OjEyOjIyICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBBZGQgQU1SLVdCIHRvIHRoZSBsaXN0IG9mIHN1cHBvcnRlZCBmb3JtYXRzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChnc3RfcXRkZW11eF9nZXRfZHVyYXRpb24pLAoJICAoZ3N0X3F0ZGVtdXhfaGFuZGxlX3NyY19xdWVyeSksIChxdGRlbXV4X3BhcnNlX3RyYWspLAoJICAocXRkZW11eF9hdWRpb19jYXBzKToKCSAgQWRkIEFNUi1XQiB0byB0aGUgbGlzdCBvZiBzdXBwb3J0ZWQgZm9ybWF0cy4KCjIwMDYtMTItMTIgMTg6NDU6NTggKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvOiBJbiBzdHJlYW1pbmcgbW9kZSwgaWYgdGhlIGZpcnN0IGJ1ZmZlciB3ZSBnZXQgZG9lc24ndCBoYXZlIGFuIG9mZnNldCwgZml4IGl0IHVwIHRvIGJlIDAsIG90aGVyd2lzZSB0cmltbWluZyB3b24uLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2FwZXRhZy9nc3R0YWdkZW11eC5jOiAoZ3N0X3RhZ19kZW11eF9jaGFpbl9wYXJzZV90YWcpLAoJICAoZ3N0X3RhZ19kZW11eF9jaGFpbik6CgkgICogZ3N0L2lkM2RlbXV4L2dzdGlkM2RlbXV4LmM6IChnc3RfaWQzZGVtdXhfY2hhaW4pOgoJICBJbiBzdHJlYW1pbmcgbW9kZSwgaWYgdGhlIGZpcnN0IGJ1ZmZlciB3ZSBnZXQgZG9lc24ndCBoYXZlIGFuCgkgIG9mZnNldCwgZml4IGl0IHVwIHRvIGJlIDAsIG90aGVyd2lzZSB0cmltbWluZyB3b24ndCB3b3JrIGxhdGVyIG9uCgkgIGFuZCB3ZSdsbCBiZSB0eXBlZmluZGluZyBhcHBsaWNhdGlvbi94LWlkMywgd2hpY2ggbWF5IHJlc3VsdCBpbgoJICBkZWNvZGViaW4gcGx1Z2dpbmcgYW4gZW5kbGVzcyBudW1iZXIgb2YgaWQzZGVtdXggZWxlbWVudHMgYXMgYQoJICBjb25zZXF1ZW5jZS4gRml4ZXMgIzM4NTAzMS4KCjIwMDYtMTItMTEgMjE6MjE6MTYgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgc3lzL3N1bmF1ZGlvL2dzdHN1bmF1ZGlvc2luay5jOiBJZ25vcmUgdGhlIGJ1ZmZlcl90aW1lIHRoZSBzb3VuZCBkZXZpY2UgcmVwb3J0cy4gVHVybnMgb3V0IGl0IGlzIHNvbWV0aW1lcyBjb21wbGV0ZWx5Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy9zdW5hdWRpby9nc3RzdW5hdWRpb3NpbmsuYzogKGdzdF9zdW5hdWRpb3NpbmtfcHJlcGFyZSk6CgkgIElnbm9yZSB0aGUgYnVmZmVyX3RpbWUgdGhlIHNvdW5kIGRldmljZSByZXBvcnRzLiBUdXJucyBvdXQgaXQgaXMKCSAgc29tZXRpbWVzIGNvbXBsZXRlbHkgYm9ndXMgYW5kIHdlJ3JlIGJldHRlciBvZmYgd2l0aG91dCBpdC4KCjIwMDYtMTItMTEgMTc6MzM6MjYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IEZpeCBub24td29ya2luZyByZWRpcmVjdHMgZnJvbSBpbmV0ZmlsbS5jb20gKGhhbmRsZSAnYWxpcycgcmVmZXJlbmNlIGRhdGEgdHlwZSBhcyB3ZWxsKS4gRml4ZXMuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAocXRkZW11eF9wYXJzZV90cmVlKToKCSAgRml4IG5vbi13b3JraW5nIHJlZGlyZWN0cyBmcm9tIGluZXRmaWxtLmNvbSAoaGFuZGxlICdhbGlzJyByZWZlcmVuY2UKCSAgZGF0YSB0eXBlIGFzIHdlbGwpLiBGaXhlcyAjMzc4NjEzLgoKMjAwNi0xMi0xMSAxMzo1OTozMyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9tYXRyb3NrYS86IFRyeSBoYXJkZXIgdG8gZXh0cmFjdCB0aGUgZnJhbWVyYXRlIGZvciB2aWRlbyB0cmFja3MgY29ycmVjdGx5IGFuZCBzYXZlIGl0IGRpcmVjdGx5IGluc3RlYWQgb2YgY29udmVydC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzogKGdzdF9tYXRyb3NrYV9kZW11eF9hZGRfc3RyZWFtKSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF92aWRlb19jYXBzKToKCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtaWRzLmM6CgkgIChnc3RfbWF0cm9za2FfdHJhY2tfaW5pdF92aWRlb19jb250ZXh0KToKCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtaWRzLmg6CgkgIFRyeSBoYXJkZXIgdG8gZXh0cmFjdCB0aGUgZnJhbWVyYXRlIGZvciB2aWRlbyB0cmFja3MgY29ycmVjdGx5IGFuZAoJICBzYXZlIGl0IGRpcmVjdGx5IGluc3RlYWQgb2YgY29udmVydGluZyBpdCBiYWNrIGFuZCBmb3J0aCBhIGZldwoJICB0aW1lcy4gTW9zdGx5IG1ha2VzIGEgZGlmZmVyZW5jZSBmb3IgdmVyeSBzbWFsbCBmcmFtZXJhdGVzICg8MSkuCgkgIEZpeGVzICMzODAxOTkuCgoyMDA2LTEyLTExIDExOjQxOjE4ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L2djb25mL2dzdGdjb25mYXVkaW9zcmMuKjogUmVtb3ZlIGdjb25mIG5vdGlmeSBob29rIHdoZW4gdGhlIGdjb25mYXVkaW9zcmMgZWxlbWVudCBpcyBkZXN0cm95ZWQsIG90aGVyd2lzZSB0aGUgY2FsLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9nY29uZi9nc3RnY29uZmF1ZGlvc3JjLmM6IChnc3RfZ2NvbmZfYXVkaW9fc3JjX2luaXQpLAoJICAoZ3N0X2djb25mX2F1ZGlvX3NyY19kaXNwb3NlKSwgKGRvX3RvZ2dsZV9lbGVtZW50KToKCSAgKiBleHQvZ2NvbmYvZ3N0Z2NvbmZhdWRpb3NyYy5oOgoJICBSZW1vdmUgZ2NvbmYgbm90aWZ5IGhvb2sgd2hlbiB0aGUgZ2NvbmZhdWRpb3NyYyBlbGVtZW50IGlzCgkgIGRlc3Ryb3llZCwgb3RoZXJ3aXNlIHRoZSBjYWxsYmFjayBtYXkgYmUgY2FsbGVkIG9uIGFuCgkgIGFscmVhZHktZGVzdHJveWVkIGluc3RhbmNlIGFuZCBiYWQgdGhpbmdzIGhhcHBlbi4gU2hvdWxkIGZpeAoJICAjMzc4MTg0LgoJICBBbHNvIGlnbm9yZSBnY29uZiBrZXkgY2hhbmdlcyB3aGVuIHRoZSBzb3VyY2UgaXMgYWxyZWFkeSBydW5uaW5nLgoKMjAwNi0xMi0wOSAxOToyNzoyOCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8bWFpbEBzbG9tb3NuYWlsLmRlPgoKCSAgZ3N0L2FwZXRhZy9nc3RhcGVkZW11eC5jOiBXZSBuZWVkIHRvIGJlIGFibGUgdG8gcmVhZCBhbmQgcGFyc2UgYW55IHBvc3NpYmxlIGZsb2F0aW5nIHBvaW50IHN0cmluZyBmb3JtYXQgKCIxLDIzNCIgb3IgLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogU2ViYXN0aWFuIERyw7ZnZSAgPG1haWwgYXQgc2xvbW9zbmFpbCBkZT4KCSAgKiBnc3QvYXBldGFnL2dzdGFwZWRlbXV4LmM6IChhcGVfZGVtdXhfcGFyc2VfdGFncyk6CgkgIFdlIG5lZWQgdG8gYmUgYWJsZSB0byByZWFkIGFuZCBwYXJzZSBhbnkgcG9zc2libGUgZmxvYXRpbmcgcG9pbnQgc3RyaW5nCgkgIGZvcm1hdCAoIjEsMjM0IiBvciAiMS4yMzQiKSBpcnJlc3BlY3RpdmUgb2YgdGhlIGN1cnJlbnQgbG9jYWxlLiBnX3N0cm9kKCkKCSAgd2lsbCBwYXJzZSB0aGUgZm9ybWVyIG9ubHkgaW4gY2VydGFpbiBsb2NhbGVzIHRob3VnaCwgc28gd2UgcmVhbGx5IG5lZWQKCSAgdG8gY2Fub25pY2FsaXNlIHRoZSBzZXBhcmF0b3IgdG8gJy4nIGFuZCB0aGVuIHVzZSBnX2FzY2lpX3N0cnRvZCgpIHRvCgkgIG1ha2Ugc3VyZSB3ZSBjYW4gcGFyc2UgZWl0aGVyIHZlcnNpb24gYXQgYWxsIHRpbWVzLgoJICBGaXhlcyAjMzgyOTgyIGZvciByZWFsLgoKMjAwNi0xMi0wOSAxNjoxNzozMyArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBzeXMvc3VuYXVkaW8vOiBVc2UgdGhlIHN1bmF1ZGlvIGRlYnVnIGNhdGVnb3J5LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvc3VuYXVkaW8vZ3N0c3VuYXVkaW9taXhlcmN0cmwuYzoKCSAgKiBzeXMvc3VuYXVkaW8vZ3N0c3VuYXVkaW9zcmMuYzoKCSAgVXNlIHRoZSBzdW5hdWRpbyBkZWJ1ZyBjYXRlZ29yeS4KCSAgKiBzeXMvc3VuYXVkaW8vZ3N0c3VuYXVkaW9zaW5rLmM6IChnc3Rfc3VuYXVkaW9zaW5rX2ZpbmFsaXplKSwKCSAgKGdzdF9zdW5hdWRpb3NpbmtfY2xhc3NfaW5pdCksIChnc3Rfc3VuYXVkaW9zaW5rX2luaXQpLAoJICAoZ3N0X3N1bmF1ZGlvc2lua19zZXRfcHJvcGVydHkpLCAoZ3N0X3N1bmF1ZGlvc2lua19nZXRfcHJvcGVydHkpLAoJICAoZ3N0X3N1bmF1ZGlvc2lua19vcGVuKSwgKGdzdF9zdW5hdWRpb3NpbmtfY2xvc2UpLAoJICAoZ3N0X3N1bmF1ZGlvc2lua19wcmVwYXJlKSwgKGdzdF9zdW5hdWRpb19zaW5rX2RvX2RlbGF5KSwKCSAgKGdzdF9zdW5hdWRpb3Npbmtfd3JpdGUpLCAoZ3N0X3N1bmF1ZGlvc2lua19kZWxheSksCgkgIChnc3Rfc3VuYXVkaW9zaW5rX3Jlc2V0KToKCSAgKiBzeXMvc3VuYXVkaW8vZ3N0c3VuYXVkaW9zaW5rLmg6CgkgIFVzZXMgdGhlIHN1bmF1ZGlvIGRlYnVnIGNhdGVnb3J5IGZvciBhbGwgZGVidWcgb3V0cHV0CgkgIEltcGxlbWVudHMgdGhlIF9kZWxheSgpIGNhbGxiYWNrIHRvIHN5bmNocm9uaXNlIHZpZGVvIHBsYXliYWNrIGJldHRlcgoJICBDaGFuZ2UgdGhlIHNlZ3RvdGFsIGFuZCBzZWdzaXplIHZhbHVlcyBiYWNrIHRvIHRoZSBwYXJlbnQgY2xhc3MKCSAgZGVmYXVsdHMgKHRha2VuIGZyb20gYnVmZmVyX3RpbWUgYW5kIGxhdGVuY3lfdGltZXMgb2YgMjAwbXMgYW5kIDEwbXMKCSAgcmVzcGVjdGl2ZWx5KQoJICBNZWFzdXJlIHRoZSBzYW1wbGVzIHdyaXR0ZW4gdG8gdGhlIGRldmljZSB2cy4gcGxheWVkLgoJICBLZWVwIHRyYWNrIG9mIHNlZ21lbnRzIGluIHRoZSBkZXZpY2UgYnkgd3JpdGluZyBlbXB0eSBlb2YgZnJhbWVzLCBhbmQKCSAgc2xlZXAgdXNpbmcgYSBHQ29uZCB3aGVuIHdlIGdldCB0b28gZmFyIGFoZWFkIGFuZCByaXNrIG92ZXJydW5uaW5nIHRoZQoJICBzaW5rJ3MgcmluZ2J1ZmZlci4KCSAgRml4ZXM6ICMzNjA2NzMKCjIwMDYtMTItMDggMjE6MTI6NDcgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSogQ2hhbmdlTG9nOgoJICBDb3JyZWN0IHRoZSBhdHRyaWJ1dGlvbiBvZiB0aGUgcHJldmlvdXMgY29tbWl0LiBUaGUgcGF0Y2ggaW4gcXVlc3Rpb24gd2FzIHdyaXR0ZW4gYnkgQnJpYW4gQ2FtZXJvbi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIENvcnJlY3QgdGhlIGF0dHJpYnV0aW9uIG9mIHRoZSBwcmV2aW91cyBjb21taXQuIFRoZSBwYXRjaCBpbgoJICBxdWVzdGlvbiB3YXMgd3JpdHRlbiBieSBCcmlhbiBDYW1lcm9uLgoKMjAwNi0xMi0wOCAxNzowNjo0MyArMDAwMCAgUmVuw6kgU3RhZGxlciA8bWFpbEByZW5lc3RhZGxlci5kZT4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogRml4IGNhcHMgZm9yIDI0IGJpdCByYXcgUENNIGF1ZGlvICgyKS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBSZW7DqSBTdGFkbGVyICA8bWFpbCBhdCByZW5lc3RhZGxlciBkZT4KCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChnc3RfcXRkZW11eF9nZXRfZHVyYXRpb24pLAoJICAoZ3N0X3F0ZGVtdXhfaGFuZGxlX3NyY19xdWVyeSksIChxdGRlbXV4X3BhcnNlX3RyYWspLAoJICAocXRkZW11eF9hdWRpb19jYXBzKToKCSAgRml4IGNhcHMgZm9yIDI0IGJpdCByYXcgUENNIGF1ZGlvICgyKS4KCSAgRml4ZXMgIzM4MzQ3MS4KCjIwMDYtMTItMDggMTY6Mzg6MTggKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPG1haWxAc2xvbW9zbmFpbC5kZT4KCgkgIGdzdC9hdWRpb2Z4L2F1ZGlvcGFub3JhbWEuKjogRml4IGF1ZGlvcGFub3JhbWUgd2l0aCBmbG9hdCBzYW1wbGVzLiBGaXhlcyAjMzgzNzI2LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFNlYmFzdGlhbiBEcsO2Z2UgIDxtYWlsIGF0IHNsb21vc25haWwgZGUgPgoJICAqIGdzdC9hdWRpb2Z4L2F1ZGlvcGFub3JhbWEuYzogKGdzdF9hdWRpb19wYW5vcmFtYV9pbml0KSwKCSAgKGdzdF9hdWRpb19wYW5vcmFtYV9zZXRfY2FwcyksIChnc3RfYXVkaW9fcGFub3JhbWFfdHJhbnNmb3JtKToKCSAgKiBnc3QvYXVkaW9meC9hdWRpb3Bhbm9yYW1hLmg6CgkgIEZpeCBhdWRpb3Bhbm9yYW1lIHdpdGggZmxvYXQgc2FtcGxlcy4gRml4ZXMgIzM4MzcyNi4KCjIwMDYtMTItMDggMTU6MTI6MDEgKzAwMDAgIFBhZHJhaWcgTydCcmlhaW4gPHBhZHJhaWcub2JyaWFpbkBzdW4uY29tPgoKCSAgc3lzL3N1bmF1ZGlvLzogSW1wbGVtZW50IHJlc2V0IGZ1bmN0aW9ucyB0byB1bmJsb2NrIHRoZSBzcmMvc2luayBtb3JlIHF1aWNrbHkgb24gc3RhdGUgY2hhbmdlIHJlcXVlc3RzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvc3VuYXVkaW8vZ3N0c3VuYXVkaW9zaW5rLmM6IChnc3Rfc3VuYXVkaW9zaW5rX3Jlc2V0KToKCSAgKiBzeXMvc3VuYXVkaW8vZ3N0c3VuYXVkaW9zcmMuYzogKGdzdF9zdW5hdWRpb3NyY19vcGVuKSwKCSAgKGdzdF9zdW5hdWRpb3NyY19yZXNldCk6CgkgIEltcGxlbWVudCByZXNldCBmdW5jdGlvbnMgdG8gdW5ibG9jayB0aGUgc3JjL3NpbmsgbW9yZSBxdWlja2x5IG9uCgkgIHN0YXRlIGNoYW5nZSByZXF1ZXN0cy4KCSAgUGF0Y2ggYnk6IFBhZHJhaWcgTydCcmlhaW4gPHBhZHJhaWcgZG90IG9icmlhaW4gYXQgc3VuIGRvdCBjb20+CgoyMDA2LTEyLTA4IDE0OjQyOjQyICswMDAwICBKZXJyeSBUYW4gPGplcnJ5LnRhbkBzdW4uY29tPgoKCSAgc3lzL3N1bmF1ZGlvL2dzdHN1bmF1ZGlvbWl4ZXIuYzogQ29uc3RydWN0IHRoZSBjb3JyZWN0IG1peGVyIGRldmljZSBuYW1lIHdoZW4gdGhlIEFVRElPREVWIGVudiB2YXIgaXMgc2V0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvc3VuYXVkaW8vZ3N0c3VuYXVkaW9taXhlci5jOgoJICAoZ3N0X3N1bmF1ZGlvbWl4ZXJfY2hhbmdlX3N0YXRlKToKCSAgQ29uc3RydWN0IHRoZSBjb3JyZWN0IG1peGVyIGRldmljZSBuYW1lIHdoZW4gdGhlIEFVRElPREVWIGVudiB2YXIKCSAgaXMgc2V0LgoJICBQYXRjaCBieTogSmVycnkgVGFuIDxqZXJyeS50YW4gYXQgc3VuIGRvdCBjb20+CgkgIEZpeGVzOiAjMzgzNTk2CgoyMDA2LTEyLTA4IDE0OjMyOjUxICswMDAwICBKZXJyeSBUYW4gPGplcnJ5LnRhbkBzdW4uY29tPgoKCSAgc3lzL3N1bmF1ZGlvL2dzdHN1bmF1ZGlvc3JjLmM6IEFwcGx5IHBhdGNoIHRvIG9wZW4gdGhlIG1peGVyIGNvbnRyb2wgYW5kIHNldCB0aGUgTVVMVElQTEVfT1BFTiBpb2N0bC4gT24gc29sYXJpcywgdGhlLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy9zdW5hdWRpby9nc3RzdW5hdWRpb3NyYy5jOiAoZ3N0X3N1bmF1ZGlvc3JjX29wZW4pOgoJICBBcHBseSBwYXRjaCB0byBvcGVuIHRoZSBtaXhlciBjb250cm9sIGFuZCBzZXQgdGhlIE1VTFRJUExFX09QRU4KCSAgaW9jdGwuIE9uIHNvbGFyaXMsIHRoZSBtaXhlciBkZXZpY2UgZG9lc24ndCBuZWVkIG9wZW5pbmcgbm9uLWJsb2NraW5nCgkgIC0gaXQgY2FuIGJlIG9wZW5lZCBieSBtdWx0aXBsZSBwcm9jZXNzZXMgYnkgZGVmYXVsdCwgYnV0IG5lZWRzIHRoZSBpb2N0bCAJZm9yIG11bHRpcGxlIG9wZW5zIHdpdGhpbiAxIHByb2Nlc3MuCgkgIFBhdGNoIGJ5OiBKZXJyeSBUYW4gPGplcnJ5LnRhbiBhdCBzdW4gZG90IGNvbT4KCSAgRml4ZXM6ICMzNDkwMTUKCjIwMDYtMTItMDcgMTc6MzA6MDMgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3Qvc21wdGUvOiBQb3J0IHRvIDAuMTAgc29tZSBtb3JlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvc21wdGUvZ3N0bWFzay5oOgoJICAqIGdzdC9zbXB0ZS9nc3RzbXB0ZS5jOiAoZ3N0X3NtcHRlX2NsYXNzX2luaXQpLAoJICAoZ3N0X3NtcHRlX3NldGNhcHMpLCAoZ3N0X3NtcHRlX2luaXQpLCAoZ3N0X3NtcHRlX3Jlc2V0KSwKCSAgKGdzdF9zbXB0ZV9jb2xsZWN0ZWQpLCAoZ3N0X3NtcHRlX3NldF9wcm9wZXJ0eSksCgkgIChnc3Rfc21wdGVfZ2V0X3Byb3BlcnR5KSwgKGdzdF9zbXB0ZV9jaGFuZ2Vfc3RhdGUpLCAocGx1Z2luX2luaXQpOgoJICAqIGdzdC9zbXB0ZS9nc3RzbXB0ZS5oOgoJICBQb3J0IHRvIDAuMTAgc29tZSBtb3JlLgoJICBBZGRlZCBkdXJhdGlvbiBwcm9wZXJ0eSB0byBzcGVjaWZ5IHRoZSBkdXJhdGlvbiBvZiB0aGUgdHJhbnNpdGlvbi4KCSAgTWFrZSBmcmFtZXJhdGUgYSBmcmFjdGlvbi4KCSAgRGVwcmVjYXRlIGZwcyBwcm9wZXJ0eSwgd2Ugb25seSB1c2UgbmVnb3RpYXRlZCBmcHMuCgkgIEFkZGVkIGRvY3MuCgkgIEZpeCBjb2xsZWN0cGFkIHVzYWdlLgoJICBSZXNldCBzdGF0ZSBpbiBSRUFEWS4KCSAgU2VuZCBORVdTRUdNRU5UIGV2ZW50LgoJICBGaXggcmFjeSB1cGRhdGVzIG9mIG9iamVjdCBwcm9wZXJ0aWVzLgoJICBBZGRlZCBkZWJ1ZyBjYXRlZ29yeS4KCSAgRml4ZXMgIzM4MzMyMy4KCjIwMDYtMTItMDcgMTE6MzU6NDEgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IEhhbmRsZSBtb3JlIEgyNjMgdmFyaWFudHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKGdzdF9xdGRlbXV4X2dldF9kdXJhdGlvbiksCgkgIChnc3RfcXRkZW11eF9oYW5kbGVfc3JjX3F1ZXJ5KSwgKHF0ZGVtdXhfcGFyc2VfdHJhayksCgkgIChxdGRlbXV4X3ZpZGVvX2NhcHMpOgoJICBIYW5kbGUgbW9yZSBIMjYzIHZhcmlhbnRzLgoKMjAwNi0xMi0wNiAxNTowNjowNCArMDAwMCAgU2pvZXJkIFNpbW9ucyA8c2pvZXJkQGx1b24ubmV0PgoKCSAgZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlci5jOiBEb24ndCByZXNldCB4cG9zIGFuZCB5cG9zIGluIHRoZSBzZXRjYXBzIGZ1bmN0aW9uIGJlY2F1c2UgY2F1c2VzIHVuZXhwZWN0ZWQgYmVoYXZpb3VyLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFNqb2VyZCBTaW1vbnMgPHNqb2VyZCBhdCBsdW9uIGRvdCBuZXQ+CgkgICogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlci5jOgoJICAoZ3N0X3ZpZGVvbWl4ZXJfc2V0X21hc3Rlcl9nZW9tZXRyeSksCgkgIChnc3RfdmlkZW9taXhlcl9wYWRfc2lua19zZXRjYXBzKSwgKGdzdF92aWRlb21peGVyX2NvbGxlY3RfZnJlZSk6CgkgIERvbid0IHJlc2V0IHhwb3MgYW5kIHlwb3MgaW4gdGhlIHNldGNhcHMgZnVuY3Rpb24gYmVjYXVzZSBjYXVzZXMKCSAgdW5leHBlY3RlZCBiZWhhdmlvdXIuCgkgIEZpeGVzICMzODIxNzkuCgoyMDA2LTEyLTA2IDE0OjQ1OjMwICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L211bHRpcGFydC9tdWx0aXBhcnRtdXguYzogS2VlcCB0cmFjayBvZiB0aGUgYnVmZmVyIHRpbWVzdGFtcCBpbiB0aGUgY29sbGVjdGRhdGEgbWVtYmVyIGluc3RlYWQgb2YgbW9kaWZ5aW5nIHRoZSBiLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tdWx0aXBhcnQvbXVsdGlwYXJ0bXV4LmM6IChnc3RfbXVsdGlwYXJ0X211eF9jb21wYXJlX3BhZHMpLAoJICAoZ3N0X211bHRpcGFydF9tdXhfcXVldWVfcGFkcyksIChnc3RfbXVsdGlwYXJ0X211eF9jb2xsZWN0ZWQpOgoJICBLZWVwIHRyYWNrIG9mIHRoZSBidWZmZXIgdGltZXN0YW1wIGluIHRoZSBjb2xsZWN0ZGF0YSBtZW1iZXIgaW5zdGVhZAoJICBvZiBtb2RpZnlpbmcgdGhlIGJ1ZmZlciB3aXRob3V0IG1ha2luZyB0aGUgbWV0YWRhdGEgd3JpdGFibGUgZmlyc3QuCgkgIEZpeGVzICMzODIyNzcuCgoyMDA2LTEyLTA2IDE0OjMzOjU0ICswMDAwICBSb2IgVGF5bG9yIDxyb2J0YXlsb3JAZmxvb3BpbHkub3JnPgoKCSAgZ3N0L3VkcC9nc3R1ZHBzcmMuYzogSWYgdXNpbmcgbXVsdGljYXN0IGluIHVkcHNyYywgYmluZCB0byB0aGUgbXVsdGljYXN0IGFkZHJlc3MgcmF0aGVyIHRoYW4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBSb2IgVGF5bG9yIDxyb2J0YXlsb3IgYXQgZmxvb3BpbHkgZG90IG9yZz4KCSAgKiBnc3QvdWRwL2dzdHVkcHNyYy5jOiAoZ3N0X3VkcHNyY19zdGFydCk6CgkgIElmIHVzaW5nIG11bHRpY2FzdCBpbiB1ZHBzcmMsIGJpbmQgdG8gdGhlIG11bHRpY2FzdCBhZGRyZXNzIHJhdGhlciB0aGFuCgkgIElOX0FERFJfQU5ZLgoJICBUaGlzIGFsbG93cyB0aGUgc2ltdWx0YW5vdXMgdXNlIG9mIG11bHRpcGxlIHVkcHNyY3MgbGlzdGVuaW5nIG9uCgkgIGRpZmZlcmVudCBtdWx0aWNhdCBhZGRyZXNzZXMuIFdpdGhvdXQgdGhpcyBhbGwgdWRwc3JjcyB3aWxsIHJlY2VpdmUgYWxsCgkgIHBhY2tldHMgZnJvbSBhbGwgc3Vic2NyaWJlZCBtdWx0aWNhc3QgYWRkcmVzc2VzLgoJICBGaXhlcyAjMzgzMDAxLgoKMjAwNi0xMi0wNiAxMzozNTo1MiArMDAwMCAgSm9uYXRoYW4gTWF0dGhldyA8am9uYXRoYW5AMGthb2xpbi53aDkubmV0PgoKCSAgZXh0L3RhZ2xpYi9nc3RpZDN2Mm11eC5jYzogRG9uJ3QgYXR0ZW1wdCB0byB3cml0ZSBhIE5VTEwgZnJhbWUgaW50byB0aGUgSUQzIHRhZyBzZXQgd2hlbiB0aGUgY3JlYXRlRnJhbWUgbWV0aG9kIHJldHVyLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC90YWdsaWIvZ3N0aWQzdjJtdXguY2M6CgkgIERvbid0IGF0dGVtcHQgdG8gd3JpdGUgYSBOVUxMIGZyYW1lIGludG8gdGhlIElEMyB0YWcgc2V0IHdoZW4gdGhlCgkgIGNyZWF0ZUZyYW1lIG1ldGhvZCByZXR1cm5lZCBOVUxMLgoJICBGaXhlczogIzM4MTg1NwoJICBQYXRjaCBieTogSm9uYXRoYW4gTWF0dGhldyA8am9uYXRoYW4gYXQgMGthb2xpbiB3aDkgbmV0ID4KCjIwMDYtMTItMDYgMTM6MTY6NTkgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPG1haWxAc2xvbW9zbmFpbC5kZT4KCgkgIGdzdC9hcGV0YWcvZ3N0YXBlZGVtdXguYzogVXNlIGdfc3RydG9kKCkgaW5zdGVhZCBvZiBzc2NhbmYgdG8gcGFyc2UgZG91Ymxlcywgc28gdGhhdCBpdCB3aWxsIHRyeSBwYXJzaW5nIGluIHRoZSBDIGxvYy4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXBldGFnL2dzdGFwZWRlbXV4LmM6IChhcGVfZGVtdXhfcGFyc2VfdGFncyk6CgkgIFVzZSBnX3N0cnRvZCgpIGluc3RlYWQgb2Ygc3NjYW5mIHRvIHBhcnNlIGRvdWJsZXMsIHNvIHRoYXQgaXQgd2lsbAoJICB0cnkgcGFyc2luZyBpbiB0aGUgQyBsb2NhbGUgaWYgdGhlIGN1cnJlbnQgbG9jYWxlIGZhaWxzLgoJICBGaXhlczogIzM4Mjk4MgoJICBQYXRjaCBieTogU2ViYXN0aWFuIERyw7ZnZSAgPG1haWwgYXQgc2xvbW9zbmFpbCBkZSA+CgoyMDA2LTEyLTAxIDEwOjMxOjQ2ICswMDAwICBTZXJnZXkgU2NvYmljaCA8c2VyZ2V5LnNjb2JpY2hAZ21haWwuY29tPgoKCSAgd2luMzIvTUFOSUZFU1Q6IEZpeCBjb21waWxhdGlvbiBvbiB3aW4zMiB1bmRlciBWUzgKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogd2luMzIvTUFOSUZFU1Q6CgkgIEZpeCBjb21waWxhdGlvbiBvbiB3aW4zMiB1bmRlciBWUzgKCSAgUGF0Y2ggYnk6IFNlcmdleSBTY29iaWNoIDxzZXJnZXkgZG90IHNjb2JpY2ggYXQgZ21haWwgZG90IGNvbT4KCSAgUGFydGlhbGx5IGZpeGVzICMzODExNzUKCjIwMDYtMTEtMzAgMTY6NDg6NTEgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC9hdmkvZ3N0YXZpbXV4LmM6IGFjY2VwdCBhbGwgbXBlZ3ZlcnNpb25zLGZpeGVzICMzODA4MjUgc3BvdHRlZCBieTogSmVyb21lIEFsZXQKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2F2aS9nc3RhdmltdXguYzoKCSAgYWNjZXB0IGFsbCBtcGVndmVyc2lvbnMsZml4ZXMgIzM4MDgyNQoJICBzcG90dGVkIGJ5OiBKZXJvbWUgQWxldAoKMjAwNi0xMS0zMCAxNjo0NjoxMyArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5jOiBjbGVhbnVwIHRoZSBlcnJvciBtZXNzYWdlIGEgYml0IG1vcmUKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5jOiAoZ3N0X3Y0bDJzcmNfZmlsbF9mb3JtYXRfbGlzdCksCgkgIChnc3RfdjRsMnNyY19xdWV1ZV9mcmFtZSksIChnc3RfdjRsMnNyY19ncmFiX2ZyYW1lKSwKCSAgKGdzdF92NGwyc3JjX2dldF9jYXB0dXJlKSwgKGdzdF92NGwyc3JjX3NldF9jYXB0dXJlKSwKCSAgKGdzdF92NGwyc3JjX2NhcHR1cmVfaW5pdCksIChnc3RfdjRsMnNyY19idWZmZXJfZmluYWxpemUpOgoJICBjbGVhbnVwIHRoZSBlcnJvciBtZXNzYWdlIGEgYml0IG1vcmUKCjIwMDYtMTEtMzAgMTU6MDg6MDggKzAwMDAgIFJlbsOpIFN0YWRsZXIgPG1haWxAcmVuZXN0YWRsZXIuZGU+CgoJICBnc3QvcmVwbGF5Z2Fpbi9nc3RyZ2FuYWx5c2lzLmM6IENhbGwgdGhlIGJhc2UgY2xhc3MgaGFuZGxlci4gIEZpeGVzICMzODA2MTAuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogUmVuw6kgU3RhZGxlciAgPG1haWwgYXQgcmVuZXN0YWRsZXIgZGU+CgkgICogZ3N0L3JlcGxheWdhaW4vZ3N0cmdhbmFseXNpcy5jOiAoZ3N0X3JnX2FuYWx5c2lzX2V2ZW50KToKCSAgQ2FsbCB0aGUgYmFzZSBjbGFzcyBoYW5kbGVyLiAgRml4ZXMgIzM4MDYxMC4KCjIwMDYtMTEtMjggMTI6MzA6MTAgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBleHQvbGliY2FjYS9nc3RjYWNhc2luay5jOiBGaXggd2lkdGggYW5kIGhlaWdodCBwcm9wZXJ0aWVzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvbGliY2FjYS9nc3RjYWNhc2luay5jOiAoZ3N0X2NhY2FzaW5rX2NsYXNzX2luaXQpOgoJICBGaXggd2lkdGggYW5kIGhlaWdodCBwcm9wZXJ0aWVzLgoJICAqIGV4dC9saWJjYWNhL2dzdGNhY2FzaW5rLmg6CgkgIEZpeCBjb21waWxhdGlvbiBvbiBuZXdlciBsaWJjYWNhIHRoYXQgcmVxdWlyZSB1cyB0byBpbmNsdWRlIGEgbmV3CgkgIGhlYWRlci4gRml4ZXMgIzM3OTkxOC4KCjIwMDYtMTEtMjggMTE6NTI6MjcgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRzcC86IEFkZCBtZXRob2Qgc28gdGhhdCBleHRlbnNpb25zIGNhbiBjaG9vc2UgdG8gZGlzYWJsZSB0aGUgc2V0dXAgb2YgYSBzdHJlYW0uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogKGdzdF9ydHNwc3JjX29wZW4pOgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuaDoKCSAgKiBnc3QvcnRzcC9ydHNwZXh0Lmg6CgkgICogZ3N0L3J0c3AvcnRzcGV4dHdtcy5jOiAocnRzcF9leHRfd21zX2NvbmZpZ3VyZV9zdHJlYW0pLAoJICAocnRzcF9leHRfd21zX2dldF9jb250ZXh0KToKCSAgQWRkIG1ldGhvZCBzbyB0aGF0IGV4dGVuc2lvbnMgY2FuIGNob29zZSB0byBkaXNhYmxlIHRoZSBzZXR1cCBvZgoJICBhIHN0cmVhbS4KCSAgTWFrZSB0aGUgV01TIGV4dGVuc2lvbiBza2lwIHNldHVwIG9mIHgtd21zLXJ0eCBzdHJlYW1zLiBGaXhlcyAjMzc3NzkyLgoKMjAwNi0xMS0yNyAxNzoxNjoyNiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogUmVtb3ZlIHNvbWUgYXNzZXJ0cyBhbmQgcmVwbGFjZSB0aGVtIHdpdGggYSBwcm9wZXIgZXJyb3IgbWVzc2FnZS4gRml4ZXMgIzM3OTI2MS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAoZ3N0X3F0ZGVtdXhfZ2V0X2R1cmF0aW9uKSwKCSAgKGdzdF9xdGRlbXV4X2hhbmRsZV9zcmNfcXVlcnkpLCAocXRkZW11eF9wYXJzZV90cmFrKToKCSAgUmVtb3ZlIHNvbWUgYXNzZXJ0cyBhbmQgcmVwbGFjZSB0aGVtIHdpdGggYSBwcm9wZXIgZXJyb3IKCSAgbWVzc2FnZS4gRml4ZXMgIzM3OTI2MS4KCjIwMDYtMTEtMjcgMTY6MzA6NDkgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJKiBDaGFuZ2VMb2c6CgkgIG1lbnRpb24gYnVnIGZpeAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgbWVudGlvbiBidWcgZml4CgoyMDA2LTExLTI3IDE2OjI5OjA3ICswMDAwICBKb25hcyBIb2xtYmVyZyA8am9uYXMuaG9sbWJlcmdAYXhpcy5jb20+CgoJICBnc3QvbXVsdGlwYXJ0L211bHRpcGFydG11eC5jOiBQdXNoIGhlYWRlciBpbiBhIHNlcGFyYXRlIGJ1ZmZlciBpbnN0ZWFkIG9mIG1lbWNweTppbmcgYWxsIGRhdGEKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBKb25hcyBIb2xtYmVyZyA8am9uYXMgZG90IGhvbG1iZXJnIGF0IGF4aXMgZG90IGNvbT4KCSAgKiBnc3QvbXVsdGlwYXJ0L211bHRpcGFydG11eC5jOiAoZ3N0X211bHRpcGFydF9tdXhfY29sbGVjdGVkKToKCSAgUHVzaCBoZWFkZXIgaW4gYSBzZXBhcmF0ZSBidWZmZXIgaW5zdGVhZCBvZiBtZW1jcHk6aW5nIGFsbCBkYXRhCgkgIENoYW5nZSBMRiA9PiBDUkxGIGluIGhlYWRlcnMKCSAgTW92ZSB0cmFpbGluZyBMRiB0byBoZWFkZXIKCjIwMDYtMTEtMjcgMTY6MjY6NTAgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwL2dzdHJ0cG1wYWRlcGF5LmM6IFNtYWxsIGJ1ZmZlciBvdmVyZmxvdyBmaXggYW5kIGltcHJvdmUgZGVidWdnaW5nLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwL2dzdHJ0cG1wYWRlcGF5LmM6IChnc3RfcnRwX21wYV9kZXBheV9jaGFpbik6CgkgIFNtYWxsIGJ1ZmZlciBvdmVyZmxvdyBmaXggYW5kIGltcHJvdmUgZGVidWdnaW5nLgoKMjAwNi0xMS0yNCAwODo1ODo1MyArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZXh0L2VzZC86IHJlbW92ZSBvYnNvbGV0ZSBfZmFjdG9yeV9pbml0IHByb3RvcwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZXNkL2VzZG1vbi5oOgoJICAqIGV4dC9lc2QvZXNkc2luay5oOgoJICByZW1vdmUgb2Jzb2xldGUgX2ZhY3RvcnlfaW5pdCBwcm90b3MKCjIwMDYtMTEtMjQgMDc6NDY6NTQgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzogcmVtb3ZlIGRlYWQgY29kZSwgdHdlYWsgZGVidWdzIHN0YXRlbWVudHMsIGFkZCBjb21tZW50cywgdXNlIF91aW50NjRfc2NhbGUgaW5zdGVhZCBfdWludDY0X3NjYS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6IChnc3RfYXZpX2RlbXV4X2luZGV4X2VudHJ5X2Zvcl90aW1lKSwKCSAgKGdzdF9hdmlfZGVtdXhfc3JjX2NvbnZlcnQpLCAoZ3N0X2F2aV9kZW11eF9oYW5kbGVfc3JjX3F1ZXJ5KSwKCSAgKGdzdF9hdmlfZGVtdXhfcGVla19jaHVuayksIChnc3RfYXZpX2RlbXV4X3BhcnNlX3N1YmluZGV4KSwKCSAgKGdzdF9hdmlfZGVtdXhfcmVhZF9zdWJpbmRleGVzX3B1c2gpLAoJICAoZ3N0X2F2aV9kZW11eF9yZWFkX3N1YmluZGV4ZXNfcHVsbCksIChnc3RfYXZpX2RlbXV4X3BhcnNlX3N0cmVhbSksCgkgIChnc3RfYXZpX2RlbXV4X3BhcnNlX2luZGV4KSwgKGdzdF9hdmlfZGVtdXhfc3RyZWFtX2luZGV4KSwKCSAgKGdzdF9hdmlfZGVtdXhfc3luYyksIChnc3RfYXZpX2RlbXV4X25leHRfZGF0YV9idWZmZXIpLAoJICAoZ3N0X2F2aV9kZW11eF9tYXNzYWdlX2luZGV4KSwKCSAgKGdzdF9hdmlfZGVtdXhfY2FsY3VsYXRlX2R1cmF0aW9uc19mcm9tX2luZGV4KSwKCSAgKGdzdF9hdmlfZGVtdXhfc3RyZWFtX2hlYWRlcl9wdWxsKSwgKGdzdF9hdmlfZGVtdXhfZG9fc2VlayksCgkgIChnc3RfYXZpX2RlbXV4X2hhbmRsZV9zZWVrKSwgKGdzdF9hdmlfZGVtdXhfcHJvY2Vzc19uZXh0X2VudHJ5KSwKCSAgKGdzdF9hdmlfZGVtdXhfc3RyZWFtX2RhdGEpLCAoZ3N0X2F2aV9kZW11eF9sb29wKToKCSAgcmVtb3ZlIGRlYWQgY29kZSwgdHdlYWsgZGVidWdzIHN0YXRlbWVudHMsIGFkZCBjb21tZW50cywgdXNlCgkgIF91aW50NjRfc2NhbGUgaW5zdGVhZCBfdWludDY0X3NjYWxlX2ludCB3aGVuIHVzaW5nIGd1aW50NjQgdmFsdWVzLAoJICBzbWFsbCBvcHRpbWl6YXRpb25zLCByZWZsb3cgc29tZSBlcnJvciBoYW5kbGluZwoKMjAwNi0xMS0yMiAxNzozOToxMyArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIHBvLy5jdnNpZ25vcmU6IFdlIG5ldmVyIHB1dCAucG90IGZpbGVzIGluIGN2cy4gTGV0J3MgaWdub3JlIHRoZW0gYWxsLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBwby8uY3ZzaWdub3JlOgoJICBXZSBuZXZlciBwdXQgLnBvdCBmaWxlcyBpbiBjdnMuIExldCdzIGlnbm9yZSB0aGVtIGFsbC4KCjIwMDYtMTEtMjEgMTI6NTc6NTAgKzAwMDAgIENocmlzdGlhbiBTY2hhbGxlciA8dXJhZXVzQGdub21lLm9yZz4KCgkqIGdzdC1wbHVnaW5zLWdvb2Quc3BlYy5pbjoKCSAgZW5hbGJlIExBRFNQQSBwbHVnaW4gaW4gc3BlYyBmaWxlCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBlbmFsYmUgTEFEU1BBIHBsdWdpbiBpbiBzcGVjIGZpbGUKCjIwMDYtMTEtMTkgMTg6NDY6MDMgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBwby9QT1RGSUxFUy5pbjogLi4uIGJ1dCBiZXR0ZXIgZXhjbHVkZSBmaWxlcyB0aGF0IGFyZW4ndCBkaXN0ZWQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHBvL1BPVEZJTEVTLmluOgoJICAuLi4gYnV0IGJldHRlciBleGNsdWRlIGZpbGVzIHRoYXQgYXJlbid0IGRpc3RlZC4KCjIwMDYtMTEtMTkgMTY6MzI6NDkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBwby9QT1RGSUxFUy5pbjogQWRkIHY0bDIgc291cmNlIGZpbGVzIHRvIGxpc3Qgb2YgZmlsZXMgd2l0aCB0cmFuc2xhdGlvbnMsIHNvIHRoZSBzdHJpbmdzIGFyZSBhY3R1YWxseSBleHRyYWN0ZWQgKGhvd2UuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogcG8vUE9URklMRVMuaW46CgkgIEFkZCB2NGwyIHNvdXJjZSBmaWxlcyB0byBsaXN0IG9mIGZpbGVzIHdpdGggdHJhbnNsYXRpb25zLCBzbyB0aGUKCSAgc3RyaW5ncyBhcmUgYWN0dWFsbHkgZXh0cmFjdGVkIChob3dldmVyIGJhZCB0aGV5IHN0aWxsIG1heSBiZSkuCgoyMDA2LTExLTE5IDE2OjMwOjE5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L3ZpZGVvYm94L2dzdHZpZGVvYm94LmM6IE1pbm9yIGNsZWFuLXVwczogY29uc3QtaWZ5IHN0YXRpYyBhcnJheSwgcmVtb3ZlIHRyYWlsaW5nIGNvbW1hIGZyb20gdXNlIEdTVF9ERUJVR19GVU5DUFRSLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvdmlkZW9ib3gvZ3N0dmlkZW9ib3guYzogKGdzdF92aWRlb19ib3hfY2xhc3NfaW5pdCk6CgkgIE1pbm9yIGNsZWFuLXVwczogY29uc3QtaWZ5IHN0YXRpYyBhcnJheSwgcmVtb3ZlIHRyYWlsaW5nIGNvbW1hIGZyb20KCSAgbGFzdCBlbnVtIChnY2MtMi45eCB0cmlwcyBvdmVyIHRoYXQpLCB1c2UgR1NUX0RFQlVHX0ZVTkNQVFIuCgoyMDA2LTExLTE5IDEzOjQxOjUzICswMDAwICBSZW7DqSBTdGFkbGVyIDxtYWlsQHJlbmVzdGFkbGVyLmRlPgoKCSAgZ3N0L2lkM2RlbXV4L2lkM3YyZnJhbWVzLmM6IE1ha2Ugc3VyZSB0aGF0IGdfZnJlZSBhbHdheXMgZ2V0cyBjYWxsZWQgb24gdGhlIHNhbWUgcG9pbnRlciB0aGF0IHdhcyByZXR1cm5lZCBieSBnX21hbGxvLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9pZDNkZW11eC9pZDN2MmZyYW1lcy5jOiAoaWQzZGVtdXhfaWQzdjJfcGFyc2VfZnJhbWUpOgoJICBNYWtlIHN1cmUgdGhhdCBnX2ZyZWUgYWx3YXlzIGdldHMgY2FsbGVkIG9uIHRoZSBzYW1lIHBvaW50ZXIgdGhhdCB3YXMKCSAgcmV0dXJuZWQgYnkgZ19tYWxsb2MuICBGaXhlcyAjMzc2NTk0LgoJICBEbyBub3QgbGVhayBtZW1vcnkgaWYgZGVjb21wcmVzc2VkIHNpemUgaXMgd3JvbmcuCgkgIFJlbW92ZSB1bm5lZWRlZCBjaGVjayBvZiByZXR1cm4gdmFsdWUgb2YgZ19tYWxsb2MuCgkgIFBhdGNoIGJ5OiBSZW7DqSBTdGFkbGVyIDxtYWlsQHJlbmVzdGFkbGVyLmRlPgoKMjAwNi0xMS0xOCAxODoxNDozNCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuYzogQWRkIG1pc3NpbmcgY3VybHkgYnJhY2tldHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuYzogKGdzdF92NGwyc3JjX2NhcHR1cmVfZGVpbml0KToKCSAgQWRkIG1pc3NpbmcgY3VybHkgYnJhY2tldHMuCgoyMDA2LTExLTE3IDE0OjU0OjAxICswMDAwICBFZGdhcmQgTGltYSA8ZWRnYXJkLmxpbWFAaW5kdC5vcmcuYnI+CgoJKiBDaGFuZ2VMb2c6CgkqIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuYzoKCSAgRml4IGNhcHR1cmVfZGVpbml0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgRml4IGNhcHR1cmVfZGVpbml0LgoKMjAwNi0xMS0xNiAxNTozNjo0OCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzogVXNlIEdTVF9ERUJVR19GVU5DUFRSOyBhY3RpdmF0ZSByZXF1ZXN0IHBhZCBiZWZvcmUgcmV0dXJuaW5nIGl0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6IChnc3RfbWF0cm9za2FfbXV4X2NsYXNzX2luaXQpLAoJICAoZ3N0X21hdHJvc2thX211eF9yZXF1ZXN0X25ld19wYWQpOgoJICBVc2UgR1NUX0RFQlVHX0ZVTkNQVFI7IGFjdGl2YXRlIHJlcXVlc3QgcGFkIGJlZm9yZSByZXR1cm5pbmcgaXQuCgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvbWF0cm9za2FtdXguYzogKHNldHVwX3NyY19wYWQpLAoJICAoc2V0dXBfc2lua19wYWQpLCAoR1NUX1NUQVJUX1RFU1QpOgoJICBBY3RpdmF0ZSBwYWRzIGJlZm9yZSB1c2luZyB0aGVtLgoKMjAwNi0xMS0xNiAxNTowNDo1NSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzogSW5pdGlhbGlzZSB2YXJpYWJsZSB0byBnZXQgcmlkIG9mIGJvZ3VzIGNvbXBpbGVyIHdhcm5pbmcuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzogKGdzdF9hdmlfZGVtdXhfc3RyZWFtX3NjYW4pOgoJICBJbml0aWFsaXNlIHZhcmlhYmxlIHRvIGdldCByaWQgb2YgYm9ndXMgY29tcGlsZXIgd2FybmluZy4KCjIwMDYtMTEtMTYgMDc6MjY6MTcgKzAwMDAgIFZpbGxlIFN5cmphbGEgPHZpbGxlLnN5cmphbGFAbW92aWFsLmZpPgoKCSAgZ3N0L3J0cC86IFNwZWNpZnkgSC4yNjMgdmFyaWFudCBhbmQgdmVyc2lvbiBpbiB0aGUgY2FwcyAoZml4ZXMgIzM2MTYzNykKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBWaWxsZSBTeXJqYWxhIDx2aWxsZS5zeXJqYWxhQG1vdmlhbC5maT4KCSAgKiBnc3QvcnRwL2dzdHJ0cGgyNjNwYXkuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cGgyNjNwZGVwYXkuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cGgyNjNwcGF5LmM6CgkgIFNwZWNpZnkgSC4yNjMgdmFyaWFudCBhbmQgdmVyc2lvbiBpbiB0aGUgY2FwcyAoZml4ZXMgIzM2MTYzNykKCjIwMDYtMTEtMTUgMTc6NDQ6MDEgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRzcC9ydHNwY29ubmVjdGlvbi5jOiBEb24ndCBzZXQgYSBkYXRhIHBvaW50ZXIgdG8gTlVMTCBhbmQgYSBzaXplID4gMCB3aGVuIHdlIGRlYWwgd2l0aCBlbXB0eSBwYWNrZXRzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRzcC9ydHNwY29ubmVjdGlvbi5jOiAocmVhZF9ib2R5KToKCSAgRG9uJ3Qgc2V0IGEgZGF0YSBwb2ludGVyIHRvIE5VTEwgYW5kIGEgc2l6ZSA+IDAgd2hlbiB3ZSBkZWFsCgkgIHdpdGggZW1wdHkgcGFja2V0cy4KCSAgKiBnc3QvcnRzcC9ydHNwbWVzc2FnZS5jOiAocnRzcF9tZXNzYWdlX25ld19yZXNwb25zZSksCgkgIChydHNwX21lc3NhZ2VfaW5pdF9yZXNwb25zZSksIChydHNwX21lc3NhZ2VfaW5pdF9kYXRhKSwKCSAgKHJ0c3BfbWVzc2FnZV91bnNldCksIChydHNwX21lc3NhZ2VfZnJlZSksCgkgIChydHNwX21lc3NhZ2VfdGFrZV9ib2R5KToKCSAgQ2hlY2sgdGhhdCB3ZSBjYW4ndCBjcmVhdGUgaW52YWxpZCBlbXB0eSBwYWNrZXRzLgoKMjAwNi0xMS0xNSAxMjozNTo0NiArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZXh0L3dhdnBhY2svOiBTb21lIHNtYWxsIGNsZWFuLXVwczogdXNlIGVudW1zIGluc3RlYWQgb2YgaGFyZC1jb2RlZCBudW1iZXJzLCBjb25zdC1pZnkgZWxlbWVudCBkZXRhaWxzLCByZS1mYWN0b3Igc29tLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogU2ViYXN0aWFuIERyw7ZnZSAgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZGVjLmM6IChnc3Rfd2F2cGFja19kZWNfcmVzZXQpLAoJICAoZ3N0X3dhdnBhY2tfZGVjX2luaXQpLCAoZ3N0X3dhdnBhY2tfZGVjX2NoYW5nZV9zdGF0ZSk6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2VuYy5jOiAoZ3N0X3dhdnBhY2tfZW5jX2Jhc2VfaW5pdCksCgkgIChnc3Rfd2F2cGFja19lbmNfY2xhc3NfaW5pdCksIChnc3Rfd2F2cGFja19lbmNfcmVzZXQpLAoJICAoZ3N0X3dhdnBhY2tfZW5jX2luaXQpLCAoZ3N0X3dhdnBhY2tfZW5jX3NldF93cF9jb25maWcpLAoJICAoZ3N0X3dhdnBhY2tfZW5jX2NoYW5nZV9zdGF0ZSk6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja3BhcnNlLmM6CgkgIFNvbWUgc21hbGwgY2xlYW4tdXBzOiB1c2UgZW51bXMgaW5zdGVhZCBvZiBoYXJkLWNvZGVkIG51bWJlcnMsCgkgIGNvbnN0LWlmeSBlbGVtZW50IGRldGFpbHMsIHJlLWZhY3RvciBzb21lIGNvZGUgaW50byBfcmVzZXQoKQoJICBmdW5jdGlvbnMgKCMzNTI2MDUpLgoKMjAwNi0xMS0xNSAxMjowODoyMCArMDAwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFuYXV3QHNreW5ldC5iZT4KCgkgIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguKjogQWRkIGJhc2ljIHRhZyB3cml0aW5nIHN1cHBvcnQ7IGltcGxlbWVudCByZWxlYXNpbmcgcGFkcyAoIzM3NDY1OCkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogTWFyayBOYXV3ZWxhZXJ0cyAgPG1hbmF1dyBhdCBza3luZXQgYmU+CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOiAoZ3N0X21hdHJvc2thX211eF9hZGRfaW50ZXJmYWNlcyksCgkgIChnc3RfbWF0cm9za2FfbXV4X2NsYXNzX2luaXQpLCAoZ3N0X21hdHJvc2thX3BhZF9mcmVlKSwKCSAgKGdzdF9tYXRyb3NrYV9tdXhfcmVzZXQpLCAoZ3N0X21hdHJvc2thX211eF9oYW5kbGVfc2lua19ldmVudCksCgkgIChnc3RfbWF0cm9za2FfbXV4X3JlcXVlc3RfbmV3X3BhZCksIChnc3RfbWF0cm9za2FfbXV4X3JlbGVhc2VfcGFkKSwKCSAgKGdzdF9tYXRyb3NrYV9tdXhfdHJhY2tfaGVhZGVyKSwgKGdzdF9tYXRyb3NrYV9tdXhfc3RhcnQpLAoJICAoZ3N0X21hdHJvc2thX211eF93cml0ZV9zaW1wbGVfdGFnKSwgKGdzdF9tYXRyb3NrYV9tdXhfZmluaXNoKToKCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4Lmg6CgkgIEFkZCBiYXNpYyB0YWcgd3JpdGluZyBzdXBwb3J0OyBpbXBsZW1lbnQgcmVsZWFzaW5nIHBhZHMgKCMzNzQ2NTgpLgoKMjAwNi0xMS0xNSAxMToxOToxMyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOiBIYW5kbGUgb3BhcXVlL3Vuc3BlY2lmaWVkIEFfQUFDIGF1ZGlvIGNvZGVjIElEIChmaXhlcyAjMzc0NzM3KS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6IChnc3RfbWF0cm9za2FfZGVtdXhfYWRkX3N0cmVhbSksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfYXVkaW9fY2Fwcyk6CgkgIEhhbmRsZSBvcGFxdWUvdW5zcGVjaWZpZWQgQV9BQUMgYXVkaW8gY29kZWMgSUQgKGZpeGVzICMzNzQ3MzcpLgoKMjAwNi0xMS0xNSAwMDoxMjoxOSArMDAwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJICBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6IEFkZCBEaXJhYyBmb3VyY2MuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzogQWRkIERpcmFjIGZvdXJjYy4KCjIwMDYtMTEtMTQgMjA6MDc6MjIgKzAwMDAgIFNlcmdleSBTY29iaWNoIDxzZXJnZXkuc2NvYmljaEBnbWFpbC5jb20+CgoJICB3aW4zMi92czgvOiBNYWtlIGVuZC1vZi1saW5lIHJldHVybnMgdW5peHksIHNvIHRoYXQgd2hlbiB0aGUgZmlsZXMgYXJlIGNoZWNrZWQgb3V0IG9uIHdpbjMyIHRoZSBsaW5lIHJldHVybnMgd2lsbCBiZSAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBTZXJnZXkgU2NvYmljaCAgPHNlcmdleS5zY29iaWNoIGF0IGdtYWlsIGNvbT4KCSAgKiB3aW4zMi92czgvZ3N0LXBsdWdpbnMtZ29vZC5zbG46CgkgICogd2luMzIvdnM4L2xpYmdzdDEzOTQudmNwcm9qOgoJICAqIHdpbjMyL3ZzOC9saWJnc3RhYXNpbmsudmNwcm9qOgoJICAqIHdpbjMyL3ZzOC9saWJnc3RhbGF3LnZjcHJvajoKCSAgKiB3aW4zMi92czgvbGliZ3N0YWxwaGEudmNwcm9qOgoJICAqIHdpbjMyL3ZzOC9saWJnc3RhbHBoYWNvbG9yLnZjcHJvajoKCSAgKiB3aW4zMi92czgvbGliZ3N0YW5ub2RleC52Y3Byb2o6CgkgICogd2luMzIvdnM4L2xpYmdzdGFwZXRhZy52Y3Byb2o6CgkgICogd2luMzIvdnM4L2xpYmdzdGF1ZGlvZngudmNwcm9qOgoJICAqIHdpbjMyL3ZzOC9saWJnc3RhdXBhcnNlLnZjcHJvajoKCSAgKiB3aW4zMi92czgvbGliZ3N0YXV0b2RldGVjdC52Y3Byb2o6CgkgICogd2luMzIvdnM4L2xpYmdzdGF2aS52Y3Byb2o6CgkgICogd2luMzIvdnM4L2xpYmdzdGNhY2FzaW5rLnZjcHJvajoKCSAgKiB3aW4zMi92czgvbGliZ3N0Y2Rpby52Y3Byb2o6CgkgICogd2luMzIvdnM4L2xpYmdzdGN1dHRlci52Y3Byb2o6CgkgICogd2luMzIvdnM4L2xpYmdzdGR2LnZjcHJvajoKCSAgKiB3aW4zMi92czgvbGliZ3N0ZWZmZWN0di52Y3Byb2o6CgkgICogd2luMzIvdnM4L2xpYmdzdGZsYWMudmNwcm9qOgoJICAqIHdpbjMyL3ZzOC9saWJnc3RmbHhkZWMudmNwcm9qOgoJICAqIHdpbjMyL3ZzOC9saWJnc3Rnb29tLnZjcHJvajoKCSAgKiB3aW4zMi92czgvbGliZ3N0aWN5ZGVtdXgudmNwcm9qOgoJICAqIHdpbjMyL3ZzOC9saWJnc3RpZDNkZW11eC52Y3Byb2o6CgkgICogd2luMzIvdnM4L2xpYmdzdGpwZWcudmNwcm9qOgoJICAqIHdpbjMyL3ZzOC9saWJnc3RsYWRzcGEudmNwcm9qOgoJICAqIHdpbjMyL3ZzOC9saWJnc3RsZXZlbC52Y3Byb2o6CgkgICogd2luMzIvdnM4L2xpYmdzdG1hdHJvc2thLnZjcHJvajoKCSAgKiB3aW4zMi92czgvbGliZ3N0bWlrbW9kLnZjcHJvajoKCSAgKiB3aW4zMi92czgvbGliZ3N0bW5nLnZjcHJvajoKCSAgKiB3aW4zMi92czgvbGliZ3N0bW9ub3Njb3BlLnZjcHJvajoKCSAgKiB3aW4zMi92czgvbGliZ3N0bXVsYXcudmNwcm9qOgoJICAqIHdpbjMyL3ZzOC9saWJnc3RtdWx0aXBhcnQudmNwcm9qOgoJICAqIHdpbjMyL3ZzOC9saWJnc3RwbmcudmNwcm9qOgoJICAqIHdpbjMyL3ZzOC9saWJnc3RydHAudmNwcm9qOgoJICAqIHdpbjMyL3ZzOC9saWJnc3RydHNwLnZjcHJvajoKCSAgKiB3aW4zMi92czgvbGliZ3N0c2hvdXQyLnZjcHJvajoKCSAgKiB3aW4zMi92czgvbGliZ3N0c21wdGUudmNwcm9qOgoJICAqIHdpbjMyL3ZzOC9saWJnc3RzcGVleC52Y3Byb2o6CgkgICogd2luMzIvdnM4L2xpYmdzdHRhZ2xpYi52Y3Byb2o6CgkgICogd2luMzIvdnM4L2xpYmdzdHVkcC52Y3Byb2o6CgkgICogd2luMzIvdnM4L2xpYmdzdHZpZGVvYmFsYW5jZS52Y3Byb2o6CgkgICogd2luMzIvdnM4L2xpYmdzdHZpZGVvYm94LnZjcHJvajoKCSAgKiB3aW4zMi92czgvbGliZ3N0dmlkZW9mbGlwLnZjcHJvajoKCSAgKiB3aW4zMi92czgvbGliZ3N0dmlkZW9taXhlci52Y3Byb2o6CgkgICogd2luMzIvdnM4L2xpYmdzdHdhdmVuYy52Y3Byb2o6CgkgICogd2luMzIvdnM4L2xpYmdzdHdhdnBhcnNlLnZjcHJvajoKCSAgTWFrZSBlbmQtb2YtbGluZSByZXR1cm5zIHVuaXh5LCBzbyB0aGF0IHdoZW4gdGhlIGZpbGVzIGFyZSBjaGVja2VkCgkgIG91dCBvbiB3aW4zMiB0aGUgbGluZSByZXR1cm5zIHdpbGwgYmUgMGQgMGEgYW5kIG5vdCAwZCAwZCAwYS4KCSAgSG9wZWZ1bGx5IGZpeGVzICMzNjY0OTIuCgoyMDA2LTExLTE0IDE1OjU1OjMyICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L2F2aS9nc3RhdmlkZW11eC5jOiBEaXNhYmxlIGluaXRfZnJhbWVzIGRlbGF5IHRpbWVzdGFtcCBhZGp1c3RtZW50LCBpdCBkb2VzIG5vdCBzZWVtIHRvIGJlIG5lZWRlZCBhdCBhbGwuIEZpeGVzICMzLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzogKGdzdF9hdmlfZGVtdXhfbWFzc2FnZV9pbmRleCk6CgkgIERpc2FibGUgaW5pdF9mcmFtZXMgZGVsYXkgdGltZXN0YW1wIGFkanVzdG1lbnQsIGl0IGRvZXMgbm90CgkgIHNlZW0gdG8gYmUgbmVlZGVkIGF0IGFsbC4gRml4ZXMgIzM2OTYyMS4KCjIwMDYtMTEtMTQgMTE6NDM6NDAgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IERvbid0IHBhcnNlIGV4dHJhIHNhbXBsZSBwYXJhbXMgZm9yIHJhdyBwY20uIEZpeGVzICMzNzQ5MTQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKGdzdF9xdGRlbXV4X2dldF9kdXJhdGlvbiksCgkgIChnc3RfcXRkZW11eF9oYW5kbGVfc3JjX3F1ZXJ5KSwgKHF0ZGVtdXhfcGFyc2VfdHJhayk6CgkgIERvbid0IHBhcnNlIGV4dHJhIHNhbXBsZSBwYXJhbXMgZm9yIHJhdyBwY20uIEZpeGVzICMzNzQ5MTQuCgoyMDA2LTExLTEzIDE4OjMxOjE4ICswMDAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYW5hdXdAc2t5bmV0LmJlPgoKCSAgZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlci5jOiBGaXggbWVtbGVhayBieSB1bnJlZidpbmcgY29sbGVjdHBhZHMgaW5zdGFuY2UgKHdoZW4gZmluYWxpemluZykKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBNYXJrIE5hdXdlbGFlcnRzICA8bWFuYXV3IGF0IHNreW5ldCBiZT4KCSAgKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyLmM6CgkgIChnc3RfdmlkZW9taXhlcl9zZXRfbWFzdGVyX2dlb21ldHJ5KSwKCSAgKGdzdF92aWRlb21peGVyX3BhZF9zaW5rX3NldGNhcHMpLCAoZ3N0X3ZpZGVvbWl4ZXJfY2xhc3NfaW5pdCksCgkgIChnc3RfdmlkZW9taXhlcl9jb2xsZWN0X2ZyZWUpLCAoZ3N0X3ZpZGVvbWl4ZXJfcmVzZXQpLAoJICAoZ3N0X3ZpZGVvbWl4ZXJfaW5pdCksIChnc3RfdmlkZW9taXhlcl9maW5hbGl6ZSksCgkgIChnc3RfdmlkZW9taXhlcl9yZXF1ZXN0X25ld19wYWQpLCAoZ3N0X3ZpZGVvbWl4ZXJfcmVsZWFzZV9wYWQpLAoJICAoZ3N0X3ZpZGVvbWl4ZXJfY29sbGVjdGVkKSwgKGdzdF92aWRlb21peGVyX2NoYW5nZV9zdGF0ZSk6CgkgIEZpeCBtZW1sZWFrIGJ5IHVucmVmJ2luZyBjb2xsZWN0cGFkcyBpbnN0YW5jZSAod2hlbiBmaW5hbGl6aW5nKQoJICBJbXBsZW1lbnQgcmVsZWFzaW5nIGEgcmVxdWVzdCBwYWQuIEZpeGVzICMzNzQ0NzkuCgoyMDA2LTExLTEwIDIwOjA4OjQyICswMDAwICBTZXJnZXkgU2NvYmljaCA8c2VyZ2V5LnNjb2JpY2hAZ21haWwuY29tPgoKCSAgd2luMzIvdnM4LzogQWRkIFZTOCBwcm9qZWN0IGZpbGVzIChub3RlIHRoYXQgbWFueSBvZiB0aGUgcGx1Z2lucyBpbiBleHQgYXJlIGRpc2FibGVkIGJ5IGRlZmF1bHQpLiBGaXhlcyAjMzY2NDkyLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFNlcmdleSBTY29iaWNoICA8c2VyZ2V5LnNjb2JpY2ggYXQgZ21haWwgY29tPgoJICAqIHdpbjMyL3ZzOC9nc3QtcGx1Z2lucy1nb29kLnNsbjoKCSAgKiB3aW4zMi92czgvbGliZ3N0MTM5NC52Y3Byb2o6CgkgICogd2luMzIvdnM4L2xpYmdzdGFhc2luay52Y3Byb2o6CgkgICogd2luMzIvdnM4L2xpYmdzdGFsYXcudmNwcm9qOgoJICAqIHdpbjMyL3ZzOC9saWJnc3RhbHBoYS52Y3Byb2o6CgkgICogd2luMzIvdnM4L2xpYmdzdGFscGhhY29sb3IudmNwcm9qOgoJICAqIHdpbjMyL3ZzOC9saWJnc3Rhbm5vZGV4LnZjcHJvajoKCSAgKiB3aW4zMi92czgvbGliZ3N0YXBldGFnLnZjcHJvajoKCSAgKiB3aW4zMi92czgvbGliZ3N0YXVkaW9meC52Y3Byb2o6CgkgICogd2luMzIvdnM4L2xpYmdzdGF1cGFyc2UudmNwcm9qOgoJICAqIHdpbjMyL3ZzOC9saWJnc3RhdXRvZGV0ZWN0LnZjcHJvajoKCSAgKiB3aW4zMi92czgvbGliZ3N0YXZpLnZjcHJvajoKCSAgKiB3aW4zMi92czgvbGliZ3N0Y2FjYXNpbmsudmNwcm9qOgoJICAqIHdpbjMyL3ZzOC9saWJnc3RjZGlvLnZjcHJvajoKCSAgKiB3aW4zMi92czgvbGliZ3N0Y3V0dGVyLnZjcHJvajoKCSAgKiB3aW4zMi92czgvbGliZ3N0ZHYudmNwcm9qOgoJICAqIHdpbjMyL3ZzOC9saWJnc3RlZmZlY3R2LnZjcHJvajoKCSAgKiB3aW4zMi92czgvbGliZ3N0ZmxhYy52Y3Byb2o6CgkgICogd2luMzIvdnM4L2xpYmdzdGZseGRlYy52Y3Byb2o6CgkgICogd2luMzIvdnM4L2xpYmdzdGdvb20udmNwcm9qOgoJICAqIHdpbjMyL3ZzOC9saWJnc3RpY3lkZW11eC52Y3Byb2o6CgkgICogd2luMzIvdnM4L2xpYmdzdGlkM2RlbXV4LnZjcHJvajoKCSAgKiB3aW4zMi92czgvbGliZ3N0anBlZy52Y3Byb2o6CgkgICogd2luMzIvdnM4L2xpYmdzdGxhZHNwYS52Y3Byb2o6CgkgICogd2luMzIvdnM4L2xpYmdzdGxldmVsLnZjcHJvajoKCSAgKiB3aW4zMi92czgvbGliZ3N0bWF0cm9za2EudmNwcm9qOgoJICAqIHdpbjMyL3ZzOC9saWJnc3RtaWttb2QudmNwcm9qOgoJICAqIHdpbjMyL3ZzOC9saWJnc3RtbmcudmNwcm9qOgoJICAqIHdpbjMyL3ZzOC9saWJnc3Rtb25vc2NvcGUudmNwcm9qOgoJICAqIHdpbjMyL3ZzOC9saWJnc3RtdWxhdy52Y3Byb2o6CgkgICogd2luMzIvdnM4L2xpYmdzdG11bHRpcGFydC52Y3Byb2o6CgkgICogd2luMzIvdnM4L2xpYmdzdHBuZy52Y3Byb2o6CgkgICogd2luMzIvdnM4L2xpYmdzdHJ0cC52Y3Byb2o6CgkgICogd2luMzIvdnM4L2xpYmdzdHJ0c3AudmNwcm9qOgoJICAqIHdpbjMyL3ZzOC9saWJnc3RzaG91dDIudmNwcm9qOgoJICAqIHdpbjMyL3ZzOC9saWJnc3RzbXB0ZS52Y3Byb2o6CgkgICogd2luMzIvdnM4L2xpYmdzdHNwZWV4LnZjcHJvajoKCSAgKiB3aW4zMi92czgvbGliZ3N0dGFnbGliLnZjcHJvajoKCSAgKiB3aW4zMi92czgvbGliZ3N0dWRwLnZjcHJvajoKCSAgKiB3aW4zMi92czgvbGliZ3N0dmlkZW9iYWxhbmNlLnZjcHJvajoKCSAgKiB3aW4zMi92czgvbGliZ3N0dmlkZW9ib3gudmNwcm9qOgoJICAqIHdpbjMyL3ZzOC9saWJnc3R2aWRlb2ZsaXAudmNwcm9qOgoJICAqIHdpbjMyL3ZzOC9saWJnc3R2aWRlb21peGVyLnZjcHJvajoKCSAgKiB3aW4zMi92czgvbGliZ3N0d2F2ZW5jLnZjcHJvajoKCSAgKiB3aW4zMi92czgvbGliZ3N0d2F2cGFyc2UudmNwcm9qOgoJICBBZGQgVlM4IHByb2plY3QgZmlsZXMgKG5vdGUgdGhhdCBtYW55IG9mIHRoZSBwbHVnaW5zIGluIGV4dCBhcmUKCSAgZGlzYWJsZWQgYnkgZGVmYXVsdCkuIEZpeGVzICMzNjY0OTIuCgoyMDA2LTExLTEwIDE5OjE4OjMzICswMDAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkgIGdzdC9tdWx0aWZpbGUvTWFrZWZpbGUuYW06IExldCdzIG5vdCBkZXBlbmQgb24gYSBmaWxlIHRoYXQgZG9lc24ndCBleGlzdC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L211bHRpZmlsZS9NYWtlZmlsZS5hbToKCSAgTGV0J3Mgbm90IGRlcGVuZCBvbiBhIGZpbGUgdGhhdCBkb2Vzbid0IGV4aXN0LgoKMjAwNi0xMS0xMCAxODo1MToxMCArMDAwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJICBSZXZpdmUgbXVsdGlmaWxlW3NyY3xzaW5rXS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAqIGdzdC9tdWx0aWZpbGUvTWFrZWZpbGUuYW06CgkgICogZ3N0L211bHRpZmlsZS9nc3RtdWx0aWZpbGUuYzoKCSAgKiBnc3QvbXVsdGlmaWxlL2dzdG11bHRpZmlsZXNpbmsuYzoKCSAgKiBnc3QvbXVsdGlmaWxlL2dzdG11bHRpZmlsZXNyYy5jOgoJICAqIGdzdC9tdWx0aWZpbGUvbXVsdGlmaWxlLnZwcm9qOgoJICBSZXZpdmUgbXVsdGlmaWxlW3NyY3xzaW5rXS4KCjIwMDYtMTEtMTAgMDg6MDk6MDUgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuYzogd2UgZG8gbm90IHRyYW5zbGF0ZSBkZWJ1ZyBtZXNzYWdlcwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmM6IChnc3RfdjRsMnNyY19ncmFiX2ZyYW1lKToKCSAgd2UgZG8gbm90IHRyYW5zbGF0ZSBkZWJ1ZyBtZXNzYWdlcwoKMjAwNi0xMS0wOCAxMjowNDowMyArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L2ZseC9nc3RmbHhkZWMuYzogZml4IGNhdGVnb3Jpc2F0aW9uLCBtYWtlIHNob3J0IGRlc2MgbW9yZSBleHBsaWNpdCwgcmVtb3ZlIHVudXNlZCBjb2RlCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9mbHgvZ3N0Zmx4ZGVjLmM6IChnc3RfZmx4ZGVjX2NsYXNzX2luaXQpOgoJICBmaXggY2F0ZWdvcmlzYXRpb24sIG1ha2Ugc2hvcnQgZGVzYyBtb3JlIGV4cGxpY2l0LCByZW1vdmUgdW51c2VkIGNvZGUKCSAgRml4ZXMgIzM3MjAyMQoKMjAwNi0xMS0wOCAwMTozMDozOSArMDAwMCAgQ2hyaXN0aWFuIFNjaGFsbGVyIDx1cmFldXNAZ25vbWUub3JnPgoKCSAgZ3N0L3J0cC86IEZpeCBlbGVtZW50IGRlc2NyaXB0aW9ucy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cC9nc3RydHBMMTZkZXBheS5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwYW1yZGVwYXkuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cGFtcnBheS5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwZ3NtZGVwYXkuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cGgyNjNwYXkuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cGgyNjNwZGVwYXkuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cGgyNjNwcGF5LmM6CgkgICogZ3N0L3J0cC9nc3RydHBoMjY0ZGVwYXkuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cG1wMnRkZXBheS5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwbXA0Z2RlcGF5LmM6CgkgICogZ3N0L3J0cC9nc3RydHBtcDRncGF5LmM6CgkgICogZ3N0L3J0cC9nc3RydHBtcDR2ZGVwYXkuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cG1wNHZwYXkuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cG1wYWRlcGF5LmM6CgkgICogZ3N0L3J0cC9nc3RydHBtcGFwYXkuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cHBjbWFkZXBheS5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwcGNtYXBheS5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwcGNtdWRlcGF5LmM6CgkgICogZ3N0L3J0cC9nc3RydHBwY211cGF5LmM6CgkgICogZ3N0L3J0cC9nc3RydHBzcGVleGRlcGF5LmM6CgkgICogZ3N0L3J0cC9nc3RydHBzcGVleHBheS5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwc3YzdmRlcGF5LmM6CgkgIEZpeCBlbGVtZW50IGRlc2NyaXB0aW9ucy4KCjIwMDYtMTEtMDggMDE6Mjk6NTEgKzAwMDAgIENocmlzdGlhbiBTY2hhbGxlciA8dXJhZXVzQGdub21lLm9yZz4KCgkgIGdzdC9ydHAvOiBGaXggZGVzY3JpcHRpb24uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHAvZ3N0cnRwdm9yYmlzZGVwYXkuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cHZvcmJpc3BheS5jOiAoZ3N0X3J0cF92b3JiaXNfcGF5X2hhbmRsZV9idWZmZXIpOgoJICBGaXggZGVzY3JpcHRpb24uCgkgIFNtYWxsIGNsZWFudXAgaW4gdGhlIHBheWxvYWRlci4KCjIwMDYtMTEtMDggMDE6Mjg6MDAgKzAwMDAgIENocmlzdGlhbiBTY2hhbGxlciA8dXJhZXVzQGdub21lLm9yZz4KCgkgIGdzdC9ydHAvOiBBZGQgdGhlb3JhIHBheS9kZXBheWxvYWRlcnMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHAvTWFrZWZpbGUuYW06CgkgICogZ3N0L3J0cC9nc3RydHAuYzogKHBsdWdpbl9pbml0KToKCSAgKiBnc3QvcnRwL2dzdHJ0cHRoZW9yYWRlcGF5LmM6IChnc3RfcnRwX3RoZW9yYV9kZXBheV9iYXNlX2luaXQpLAoJICAoZ3N0X3J0cF90aGVvcmFfZGVwYXlfY2xhc3NfaW5pdCksIChnc3RfcnRwX3RoZW9yYV9kZXBheV9pbml0KSwKCSAgKGdzdF9ydHBfdGhlb3JhX2RlcGF5X2ZpbmFsaXplKSwKCSAgKGdzdF9ydHBfdGhlb3JhX2RlcGF5X3BhcnNlX2NvbmZpZ3VyYXRpb24pLAoJICAoZ3N0X3J0cF90aGVvcmFfZGVwYXlfc2V0Y2FwcyksCgkgIChnc3RfcnRwX3RoZW9yYV9kZXBheV9zd2l0Y2hfY29kZWJvb2spLAoJICAoZ3N0X3J0cF90aGVvcmFfZGVwYXlfcHJvY2VzcyksCgkgIChnc3RfcnRwX3RoZW9yYV9kZXBheV9zZXRfcHJvcGVydHkpLAoJICAoZ3N0X3J0cF90aGVvcmFfZGVwYXlfZ2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9ydHBfdGhlb3JhX2RlcGF5X2NoYW5nZV9zdGF0ZSksCgkgIChnc3RfcnRwX3RoZW9yYV9kZXBheV9wbHVnaW5faW5pdCk6CgkgICogZ3N0L3J0cC9nc3RydHB0aGVvcmFkZXBheS5oOgoJICAqIGdzdC9ydHAvZ3N0cnRwdGhlb3JhcGF5LmM6IChnc3RfcnRwX3RoZW9yYV9wYXlfYmFzZV9pbml0KSwKCSAgKGdzdF9ydHBfdGhlb3JhX3BheV9jbGFzc19pbml0KSwgKGdzdF9ydHBfdGhlb3JhX3BheV9pbml0KSwKCSAgKGdzdF9ydHBfdGhlb3JhX3BheV9zZXRjYXBzKSwgKGdzdF9ydHBfdGhlb3JhX3BheV9yZXNldF9wYWNrZXQpLAoJICAoZ3N0X3J0cF90aGVvcmFfcGF5X2luaXRfcGFja2V0KSwKCSAgKGdzdF9ydHBfdGhlb3JhX3BheV9mbHVzaF9wYWNrZXQpLAoJICAoZ3N0X3J0cF90aGVvcmFfcGF5X2ZpbmlzaF9oZWFkZXJzKSwgKGdzdF9ydHBfdGhlb3JhX3BheV9wYXJzZV9pZCksCgkgIChnc3RfcnRwX3RoZW9yYV9wYXlfaGFuZGxlX2J1ZmZlciksCgkgIChnc3RfcnRwX3RoZW9yYV9wYXlfcGx1Z2luX2luaXQpOgoJICAqIGdzdC9ydHAvZ3N0cnRwdGhlb3JhcGF5Lmg6CgkgIEFkZCB0aGVvcmEgcGF5L2RlcGF5bG9hZGVycy4KCjIwMDYtMTEtMDcgMDE6NDM6MDYgKzAwMDAgIENocmlzdGlhbiBTY2hhbGxlciA8dXJhZXVzQGdub21lLm9yZz4KCgkgIGdzdC9ydHAvTWFrZWZpbGUuYW06IFdlIGRlcGVuZCBvbiBnc3R0YWcgdG8gZ2VuZXJhdGUgdGhlIHZvcmJpcyBjb21tZW50cy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cC9NYWtlZmlsZS5hbToKCSAgV2UgZGVwZW5kIG9uIGdzdHRhZyB0byBnZW5lcmF0ZSB0aGUgdm9yYmlzIGNvbW1lbnRzLgoJICAqIGdzdC9ydHAvZ3N0cnRwdm9yYmlzZGVwYXkuYzoKCSAgKGdzdF9ydHBfdm9yYmlzX2RlcGF5X3BhcnNlX2NvbmZpZ3VyYXRpb24pLAoJICAoZ3N0X3J0cF92b3JiaXNfZGVwYXlfc2V0Y2FwcyksCgkgIChnc3RfcnRwX3ZvcmJpc19kZXBheV9zd2l0Y2hfY29kZWJvb2spLAoJICAoZ3N0X3J0cF92b3JiaXNfZGVwYXlfcHJvY2Vzcyk6CgkgICogZ3N0L3J0cC9nc3RydHB2b3JiaXNkZXBheS5oOgoJICBQYXJzZSBjb25maWd1cmF0aW9uIHN0cmluZyBpbiB0aGUgZGVwYXlsb2FkZXIuCgkgIEltcGxlbWVudCBzZWxlY3RpbmcgYW5kIHN3aXRjaGluZyB0byBhIG5ldyBjb2RlYm9vay4KCSAgUmVjZWl2aW5nIHZvcmJpcyBvdmVyIFJUUCBub3cgd29ya3MuCgkgICogZ3N0L3J0cC9nc3RydHB2b3JiaXNwYXkuYzogKGdzdF9ydHBfdm9yYmlzX3BheV9yZXNldF9wYWNrZXQpLAoJICAoZ3N0X3J0cF92b3JiaXNfcGF5X2luaXRfcGFja2V0KSwKCSAgKGdzdF9ydHBfdm9yYmlzX3BheV9maW5pc2hfaGVhZGVycyksCgkgIChnc3RfcnRwX3ZvcmJpc19wYXlfaGFuZGxlX2J1ZmZlcik6CgkgICogZ3N0L3J0cC9nc3RydHB2b3JiaXNwYXkuaDoKCSAgU2V0IHRpbWVzdGFtcHMgb24gb3V0Z29pbmcgYnVmZmVycyBhbmQgUlRQIHBhY2tldHMuCgkgIEZpeCBjb25maWd1cmF0aW9uIHN0cmluZywgcHJlcGVuZCBudW1iZXIgb2YgUGFja2V0IGhlYWRlcnMuCgkgIEZpeCBlbmNvZGluZyBvZiBpZGVudCBzdHJpbmcuCgkgIEFkZCBkZWxpdmVyeS1tZXRob2QgdG8gY2Fwcy4KCSAgU3RyZWFtaW5nIHZvcmJpcyBvdmVyIFJUUCBub3cgd29ya3MuCgoyMDA2LTExLTA2IDIwOjUyOjEwICswMDAwICBDaHJpc3RpYW4gU2NoYWxsZXIgPHVyYWV1c0Bnbm9tZS5vcmc+CgoJICBnc3QvcnRwL2dzdHJ0cHZvcmJpc3BheS4qOiBHZW5lcmF0ZSBhIHZhbGlkIGNvbmZpZ3VyYXRpb24gc3RyaW5nIGluIHRoZSBjYXBzIGJhc2VkIG9uIHRoZSB2b3JiaXMgaGVhZGVycy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cC9nc3RydHB2b3JiaXNwYXkuYzogKGdzdF9ydHBfdm9yYmlzX3BheV9zZXRjYXBzKSwKCSAgKGdzdF9ydHBfdm9yYmlzX3BheV9maW5pc2hfaGVhZGVycyksIChnc3RfcnRwX3ZvcmJpc19wYXlfcGFyc2VfaWQpLAoJICAoZ3N0X3J0cF92b3JiaXNfcGF5X2hhbmRsZV9idWZmZXIpOgoJICAqIGdzdC9ydHAvZ3N0cnRwdm9yYmlzcGF5Lmg6CgkgIEdlbmVyYXRlIGEgdmFsaWQgY29uZmlndXJhdGlvbiBzdHJpbmcgaW4gdGhlIGNhcHMgYmFzZWQgb24gdGhlCgkgIHZvcmJpcyBoZWFkZXJzLgoKMjAwNi0xMS0wMiAyMDoxMzoyNiArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgRml4IGVudW0gbmlja3M7IG9ubHkgZW1pdCBuby1tb3JlLXBhZHMgb25jZTsgYWRkIHN1cHBvcnQgZm9yIHZlcnkgZmFzdCBlbmNvZGluZyBtb2RlIGluIHVwY29taW5nIDQuNDAuMCByZWxlYXNlICgjMzY5Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW8gYXQgY2lyY3VsYXItY2hhb3Mub3JnPgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZW5jLmM6IChnc3Rfd2F2cGFja19lbmNfbW9kZV9nZXRfdHlwZSksCgkgIChnc3Rfd2F2cGFja19lbmNfY29ycmVjdGlvbl9tb2RlX2dldF90eXBlKSwKCSAgKGdzdF93YXZwYWNrX2VuY19qb2ludF9zdGVyZW9fbW9kZV9nZXRfdHlwZSksCgkgIChnc3Rfd2F2cGFja19lbmNfaW5pdCksIChnc3Rfd2F2cGFja19lbmNfc2V0X3dwX2NvbmZpZyk6CgkgIEZpeCBlbnVtIG5pY2tzOyBvbmx5IGVtaXQgbm8tbW9yZS1wYWRzIG9uY2U7IGFkZCBzdXBwb3J0IGZvciB2ZXJ5CgkgIGZhc3QgZW5jb2RpbmcgbW9kZSBpbiB1cGNvbWluZyA0LjQwLjAgcmVsZWFzZSAoIzM2OTUzOSkuCgoyMDA2LTExLTAyIDE0OjQzOjExICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L2NkaW8vOiBNb3ZlIENELVRFWFQgdXRpbGl0eSBmdW5jdGlvbiBpbnRvIGNvbW1vbiBmaWxlIHNvIGl0IGNhbiBhbHNvIGJlIHVzZWQgYnkgYSBmdXR1cmUgY2Rpb3BhcmFub2lhc3JjLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvY2Rpby9nc3RjZGlvLmM6IChnc3RfY2Rpb19nZXRfY2R0ZXh0KToKCSAgKiBleHQvY2Rpby9nc3RjZGlvLmg6CgkgICogZXh0L2NkaW8vZ3N0Y2Rpb2NkZGFzcmMuYzogKGdzdF9jZGlvX2NkZGFfc3JjX29wZW4pOgoJICBNb3ZlIENELVRFWFQgdXRpbGl0eSBmdW5jdGlvbiBpbnRvIGNvbW1vbiBmaWxlIHNvIGl0IGNhbiBhbHNvIGJlCgkgIHVzZWQgYnkgYSBmdXR1cmUgY2Rpb3BhcmFub2lhc3JjLgoKMjAwNi0xMS0wMSAxOTo0ODoyNiArMDAwMCAgRWRnYXJkIExpbWEgPGVkZ2FyZC5saW1hQGluZHQub3JnLmJyPgoKCSogQ2hhbmdlTG9nOgoJKiBzeXMvdjRsMi9NYWtlZmlsZS5hbToKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkqIHN5cy92NGwyL3Y0bDJfY2FsbHMuYzoKCSogc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5jOgoJICBJbXByb3ZlZCBjb21tZW50cyBpbiBFTEVNRU5UX0VSUk9SL1dBUk5JTkcgYW5kIGFkZGVkICIjaWYgMCIgdG8geG92ZXJsYXkgY29kZSB0aGF0IGlzIHN0aWxsIG5vdCBpbXBsZW1lbnRlZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEltcHJvdmVkIGNvbW1lbnRzIGluIEVMRU1FTlRfRVJST1IvV0FSTklORyBhbmQgYWRkZWQgIiNpZiAwIiB0byB4b3ZlcmxheSBjb2RlIHRoYXQgaXMgc3RpbGwgbm90IGltcGxlbWVudGVkLgoKMjAwNi0xMS0wMSAxMzo1OTo0OSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9pZDNkZW11eC9pZDN2MmZyYW1lcy5jOiBXZSByZXF1aXJlIGEgLWJhc2UgbW9yZSByZWNlbnQgdGhhbiAwLjEwLjksIHNvIGl0J3Mgc2FmZSB0byB1c2UKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2lkM2RlbXV4L2lkM3YyZnJhbWVzLmM6IChwYXJzZV9waWN0dXJlX2ZyYW1lKToKCSAgV2UgcmVxdWlyZSBhIC1iYXNlIG1vcmUgcmVjZW50IHRoYW4gMC4xMC45LCBzbyBpdCdzIHNhZmUgdG8gdXNlCgkgIEdTVF9UWVBFX1RBR19JTUFHRV9UWVBFIHVuY29uZGl0aW9uYWxseSBub3cuCgkgICogZXh0L2R2L2dzdGR2ZGVjLmM6IChnc3RfZHZkZWNfc2lua19ldmVudCk6CgkgICogZXh0L2pwZWcvZ3N0anBlZ2RlYy5jOiAoZ3N0X2pwZWdfZGVjX3NpbmtfZXZlbnQpOgoJICBVc2UgX25ld3NlZ21lbnRfZnVsbCgpIG5vdyB0aGF0IHdlIGRlcGVuZCBvbiBhIHJlY2VudCBlbm91Z2ggY29yZS4KCSAgKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzoKCSAgUmVtb3ZlIGNydWZ0IHRoYXQgd2UgZG9uJ3QgbmVlZCBhbnkgbG9uZ2VyIG5vdyB0aGF0IHdlIGRlcGVuZCBvbgoJICBhIHJlY2VudCBlbm91Z2ggLWJhc2UuCgoyMDA2LTExLTAxIDEwOjE5OjE4ICswMDAwICBTZXJnZXkgU2NvYmljaCA8c2VyZ2V5LnNjb2JpY2hAZ21haWwuY29tPgoKCSAgc3lzLzogV2FpdCB1bnRpbCB0aGUgd2luZG93IGlzIGNyZWF0ZWQgYmVmb3JlIHVzaW5nIGl0OyBndWFyZCB1bmlzdGQuaCBpbmNsdWRlcyB3aXRoIEhBVkVfVU5JU1REX0guICgjMzY2NTIzKQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFNlcmdleSBTY29iaWNoICA8c2VyZ2V5IGRvdCBzY29iaWNoIGF0IGdtYWlsIGNvbT4KCSAgKiBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5jOgoJICAoZ3N0X2RpcmVjdGRyYXdzaW5rX3dpbmRvd190aHJlYWQpLAoJICAoZ3N0X2RpcmVjdGRyYXdzaW5rX2NyZWF0ZV9kZWZhdWx0X3dpbmRvdyk6CgkgICogc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuaDoKCSAgKiBzeXMvZGlyZWN0c291bmQvZ3N0ZGlyZWN0c291bmRzaW5rLmM6CgkgIFdhaXQgdW50aWwgdGhlIHdpbmRvdyBpcyBjcmVhdGVkIGJlZm9yZSB1c2luZyBpdDsgZ3VhcmQgdW5pc3RkLmgKCSAgaW5jbHVkZXMgd2l0aCBIQVZFX1VOSVNURF9ILiAoIzM2NjUyMykKCSAgKiB3aW4zMi92czgvbGliZ3N0ZGlyZWN0ZHJhdy52Y3Byb2o6CgkgICogd2luMzIvdnM4L2xpYmdzdGRpcmVjdHNvdW5kLnZjcHJvajoKCSAgVXBkYXRlIHByb2plY3QgZmlsZXMuCgoyMDA2LTEwLTMxIDEwOjUyOjMxICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cC86IEZpeCBhbmQgYWN0aXZhdGUgSUxCQyBwYXkgYW5kIGRlcGF5bG9hZGVycy4gRml4ZXMgIzM2ODE2Mi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvcnRwL2dzdHJ0cC5jOiAocGx1Z2luX2luaXQpOgoJICAqIGdzdC9ydHAvZ3N0cnRwaWxiY3BheS5jOiAoZ3N0X3J0cGlsYmNwYXlfaW5pdCksCgkgIChnc3RfcnRwaWxiY3BheV9zZXRjYXBzKToKCSAgRml4IGFuZCBhY3RpdmF0ZSBJTEJDIHBheSBhbmQgZGVwYXlsb2FkZXJzLiBGaXhlcyAjMzY4MTYyLgoKMjAwNi0xMC0zMSAxMDozMToxOCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogSGFuZGxlIHVuYm91bmRlZCBsZW5ndGggc3RyZWFtcyBhIGJpdCBiZXR0ZXIuIEZpeGVzICMzNjc2OTYuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKGdzdF9xdGRlbXV4X2dldF9kdXJhdGlvbiksCgkgIChnc3RfcXRkZW11eF9oYW5kbGVfc3JjX3F1ZXJ5KSwgKHF0ZGVtdXhfcGFyc2VfdHJlZSksCgkgIChxdGRlbXV4X3BhcnNlX3RyYWspOgoJICBIYW5kbGUgdW5ib3VuZGVkIGxlbmd0aCBzdHJlYW1zIGEgYml0IGJldHRlci4gRml4ZXMgIzM2NzY5Ni4KCjIwMDYtMTAtMzEgMDk6NDQ6MzkgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBleHQvc3BlZXgvZ3N0c3BlZXhkZWMuYzogU29tZSBzbWFsbCBjbGVhbnVwcywgdXNlIF9zY2FsZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3NwZWV4L2dzdHNwZWV4ZGVjLmM6IChzcGVleF9kZWNfY29udmVydCksCgkgIChzcGVleF9kZWNfc2lua19ldmVudCksIChzcGVleF9kZWNfY2hhaW5fcGFyc2VfaGVhZGVyKToKCSAgU29tZSBzbWFsbCBjbGVhbnVwcywgdXNlIF9zY2FsZS4KCjIwMDYtMTAtMzEgMDk6Mjk6MzYgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6IFVzZSBoaWdoZXIgcHJlY2lzaW9uIHNjYWxlIGZ1bmN0aW9uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6IChnc3RfYXZpX2RlbXV4X2hhbmRsZV9zcmNfcXVlcnkpOgoJICBVc2UgaGlnaGVyIHByZWNpc2lvbiBzY2FsZSBmdW5jdGlvbi4KCjIwMDYtMTAtMzAgMTY6MTg6MTggKzAwMDAgIE1pY2hhbCBCZW5lcyA8bWljaGFsLmJlbmVzQGl0b25pcy50dj4KCgkgIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOiBGaXggc2V2ZXJhbCBpc3N1ZXMgd2l0aCBlbmNvZGVkL2NvbXByZXNzZWQvZW5jcnlwdGVkL3NpZ25lZCB0cmFja3M7IGFsc28sIHJlbW92ZSBzdXBlci4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IE1pY2hhbCBCZW5lcyAgPG1pY2hhbCBkb3QgYmVuZXMgYXQgaXRvbmlzIHR2PgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOiAoZ3N0X21hdHJvc2thX2RlbXV4X2VuY29kaW5nX2NtcCksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfcmVhZF90cmFja19lbmNvZGluZ3MpLAoJICAoZ3N0X21hdHJvc2thX2RlY29kZV9idWZmZXIpOgoJICBGaXggc2V2ZXJhbCBpc3N1ZXMgd2l0aCBlbmNvZGVkL2NvbXByZXNzZWQvZW5jcnlwdGVkL3NpZ25lZCB0cmFja3M7CgkgIGFsc28sIHJlbW92ZSBzdXBlcmZsdW91cyBuZXdsaW5lIGNoYXJhY3RlcnMgZnJvbSBzb21lIGRlYnVnCgkgIHN0YXRlbWVudHMuICgjMzY2MTU1KQoKMjAwNi0xMC0zMCAwOToyNDo1MyArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGV4dC9qcGVnLzogVmFyaW91cyBjbGVhbnVwcywgY2Fwc25lZ28gYW5kIGxlYWsgZml4ZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9qcGVnL2dzdGpwZWdlbmMuYzogKGdzdF9qcGVnZW5jX2dldGNhcHMpOgoJICAqIGV4dC9qcGVnL2dzdHNtb2tlZGVjLmM6IChnc3Rfc21va2VkZWNfY2xhc3NfaW5pdCksCgkgIChnc3Rfc21va2VkZWNfaW5pdCksIChnc3Rfc21va2VkZWNfZmluYWxpemUpLCAoZ3N0X3Ntb2tlZGVjX2NoYWluKSwKCSAgKGdzdF9zbW9rZWRlY19jaGFuZ2Vfc3RhdGUpOgoJICAqIGV4dC9qcGVnL2dzdHNtb2tlZW5jLmM6IChnc3Rfc21va2VlbmNfY2xhc3NfaW5pdCksCgkgIChnc3Rfc21va2VlbmNfaW5pdCksIChnc3Rfc21va2VlbmNfZmluYWxpemUpLAoJICAoZ3N0X3Ntb2tlZW5jX2dldGNhcHMpLCAoZ3N0X3Ntb2tlZW5jX3NldGNhcHMpLAoJICAoZ3N0X3Ntb2tlZW5jX3Jlc3luYyksIChnc3Rfc21va2VlbmNfY2hhaW4pLAoJICAoZ3N0X3Ntb2tlZW5jX3NldF9wcm9wZXJ0eSksIChnc3Rfc21va2VlbmNfZ2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9zbW9rZWVuY19jaGFuZ2Vfc3RhdGUpOgoJICBWYXJpb3VzIGNsZWFudXBzLCBjYXBzbmVnbyBhbmQgbGVhayBmaXhlcy4KCjIwMDYtMTAtMzAgMDg6MTc6MDggKzAwMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hbmF1d0Bza3luZXQuYmU+CgoJICBnc3QvdmlkZW9taXhlci92aWRlb21peGVyLmM6IEZpeCB2aWRlb21peGVyIHNvIHRoYXQgaXQgY2FuIGhhbmRsZSBhbnkgY29tYmluYXRpb24gb2YgZnJhbWVyYXRlcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBNYXJrIE5hdXdlbGFlcnRzICA8bWFuYXV3IGF0IHNreW5ldCBiZT4KCSAgKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyLmM6IChnc3RfdmlkZW9taXhlcl91cGRhdGVfcXVldWVzKToKCSAgRml4IHZpZGVvbWl4ZXIgc28gdGhhdCBpdCBjYW4gaGFuZGxlIGFueSBjb21iaW5hdGlvbiBvZiBmcmFtZXJhdGVzLgoJICBGaXhlcyAjMzY3MjIxLgoKMjAwNi0xMC0yOCAxNjozNzoyMCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzogRml4IHBvc2l0aW9uIHF1ZXJ5IGZvciBhdWRpby4gYWxzbyBmaXhlcyB0aW1lc3RhbXBzIGluIHN0cmVhbWluZyBtb2RlIGFuZCBidWcgIzM2NDk1OC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOiAoZ3N0X2F2aV9kZW11eF9oYW5kbGVfc3JjX3F1ZXJ5KSwKCSAgKGdzdF9hdmlfZGVtdXhfcGFyc2VfZmlsZV9oZWFkZXIpLAoJICAoZ3N0X2F2aV9kZW11eF9zdHJlYW1faW5pdF9wdXNoKSwgKGdzdF9hdmlfZGVtdXhfcGFyc2Vfc3RyZWFtKSwKCSAgKGdzdF9hdmlfZGVtdXhfc3RyZWFtX2hlYWRlcl9wdXNoKSwgKGdzdF9hdmlfZGVtdXhfc3RyZWFtX2RhdGEpLAoJICAoZ3N0X2F2aV9kZW11eF9jaGFpbik6CgkgIEZpeCBwb3NpdGlvbiBxdWVyeSBmb3IgYXVkaW8uIGFsc28gZml4ZXMgdGltZXN0YW1wcyBpbiBzdHJlYW1pbmcKCSAgbW9kZSBhbmQgYnVnICMzNjQ5NTguCgkgIFNtYWxsIGNsZWFudXBzLgoKMjAwNi0xMC0yNyAxNzoxMDo0MiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGV4dC9saWJwbmcvZ3N0cG5nZW5jLio6IEZpeCBzdHJpZGVzLiBGaXhlcyAjMzY0ODU2LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvbGlicG5nL2dzdHBuZ2VuYy5jOiAoZ3N0X3BuZ2VuY19zZXRjYXBzKSwgKGdzdF9wbmdlbmNfY2hhaW4pOgoJICAqIGV4dC9saWJwbmcvZ3N0cG5nZW5jLmg6CgkgIEZpeCBzdHJpZGVzLiBGaXhlcyAjMzY0ODU2LgoJICBDbGVhbnVwIGNhcHNuZWdvLgoJICBTZXQgY2FwcyBvbiBvdXRnb2luZyBidWZmZXJzLgoKMjAwNi0xMC0xOCAxNzowNjoyMSArMDAwMCAgVmlsbGUgU3lyamFsYSA8dmlsbGUuc3lyamFsYUBtb3ZpYWwuZmk+CgoJICBnc3QvcnRwLzogQWRkIHN0YXRpYyBwYXlsb2FkIG51bWJlcnMgaW4gYWRkaXRpb24gdG8gdGhlIGR5bmFtaWMgb25lcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBWaWxsZSBTeXJqYWxhIDx2aWxsZSBkb3Qgc3lyamFsYSBhdCBtb3ZpYWwgZG90IGZpPgoJICAqIGdzdC9ydHAvZ3N0cnRwZ3NtcGF5LmM6CgkgICogZ3N0L3J0cC9nc3RydHBoMjYzcGF5LmM6CgkgICogZ3N0L3J0cC9nc3RydHBtcGFwYXkuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cHBjbWFwYXkuYzogKGdzdF9ydHBfcGNtYV9wYXlfZmx1c2gpLAoJICAoZ3N0X3J0cF9wY21hX3BheV9oYW5kbGVfYnVmZmVyKToKCSAgKiBnc3QvcnRwL2dzdHJ0cHBjbXVwYXkuYzogKGdzdF9ydHBfcGNtdV9wYXlfZmx1c2gpOgoJICBBZGQgc3RhdGljIHBheWxvYWQgbnVtYmVycyBpbiBhZGRpdGlvbiB0byB0aGUgZHluYW1pYyBvbmVzLgoJICBGaXhlcyAjMzYxNjM5LgoKMjAwNi0xMC0xOCAxNjoxODo1NSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHNwLzogUmV1c2UgYWxyZWFkeSBleGlzdGluZyBlbnVtIGZvciBsb3dlciB0cmFuc3BvcnQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogKGdzdF9ydHNwX2xvd2VyX3RyYW5zX2dldF90eXBlKSwKCSAgKGdzdF9ydHNwc3JjX2NsYXNzX2luaXQpLCAoZ3N0X3J0c3BzcmNfbG9vcF9pbnRlcmxlYXZlZCksCgkgIChnc3RfcnRzcHNyY19sb29wX3VkcCksIChnc3RfcnRzcHNyY19vcGVuKSwKCSAgKGdzdF9ydHNwc3JjX3VyaV9nZXRfcHJvdG9jb2xzKSwgKGdzdF9ydHNwc3JjX3VyaV9zZXRfdXJpKToKCSAgKiBnc3QvcnRzcC9ydHNwY29ubmVjdGlvbi5jOiAocnRzcF9jb25uZWN0aW9uX2NyZWF0ZSk6CgkgICogZ3N0L3J0c3AvcnRzcGRlZnMuaDoKCSAgKiBnc3QvcnRzcC9ydHNwdXJsLmM6IChydHNwX3VybF9wYXJzZSk6CgkgICogZ3N0L3J0c3AvcnRzcHVybC5oOgoJICBSZXVzZSBhbHJlYWR5IGV4aXN0aW5nIGVudW0gZm9yIGxvd2VyIHRyYW5zcG9ydC4KCSAgQWRkIHJ0c3B0IGFuZCBydHNwdSBwcm90b2NvbHMuCgkgIFNlbmQgcmVkaXJlY3QgdG8gcnRzcHQgd2hlbiB1ZHAgdGltZXMgb3V0LgoKMjAwNi0xMC0xOCAxNDowMDo0NCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOiBGaXggc2Vla2luZyBzb21lIG1vcmUsIG1vc3RseSBmb3Igc3BlZWQgY2hhbmdlcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6IChnc3Rfd2F2cGFyc2VfcGVyZm9ybV9zZWVrKSwKCSAgKGdzdF93YXZwYXJzZV9zdHJlYW1fZGF0YSk6CgkgIEZpeCBzZWVraW5nIHNvbWUgbW9yZSwgbW9zdGx5IGZvciBzcGVlZCBjaGFuZ2VzLgoKMjAwNi0xMC0xOCAxMToyODowNSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIENoYW5nZUxvZzoKCSAgQ2hhbmdlTG9nIHN1cmdlcnk6IGZpeCBGcmVkcmlrJ3MgZS1tYWlsIGFkZHJlc3MKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIENoYW5nZUxvZyBzdXJnZXJ5OiBmaXggRnJlZHJpaydzIGUtbWFpbCBhZGRyZXNzCgoyMDA2LTEwLTE4IDExOjA0OjA5ICswMDAwICBGcmVkcmlrIFBlcnNzb24gPGZyZXBlQGJyb2FkYmFuZC5uZXQ+CgoJICBzeXMvdjRsMi9nc3R2NGwydHVuZXIuKjogRml4IF9zZXRfY2hhbm5lbCgpOiByZW1vdmUgdXNlbGVzcyBnX29iamVjdF9ub3RpZnkoKSBmb3IgImNoYW5uZWwiIHByb3BlcnR5IHRoYXQgZG9lc24ndCBleGkuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBGcmVkcmlrIFBlcnNzb24gIDxmcmVwZSBhdCBicm9hZGJhbmQgbmV0PgoJICAqIHN5cy92NGwyL2dzdHY0bDJ0dW5lci5jOgoJICAqIHN5cy92NGwyL2dzdHY0bDJ0dW5lci5oOgoJICBGaXggX3NldF9jaGFubmVsKCk6IHJlbW92ZSB1c2VsZXNzIGdfb2JqZWN0X25vdGlmeSgpIGZvciAiY2hhbm5lbCIKCSAgcHJvcGVydHkgdGhhdCBkb2Vzbid0IGV4aXN0IGFueSBsb25nZXIgYW5kIHRoZXJlZm9yZSBub3cgYWxzbwoJICB1c2VsZXNzIHJlZGlyZWN0ICgjMzM4ODE4KS4KCjIwMDYtMTAtMTcgMTU6MTY6NDcgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBBY3RpdmF0ZSBwYWRzIGJlZm9yZSBhZGRpbmcgdGhlbSB0byBydW5uaW5nIGVsZW1lbnQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tlbmMuYzogKGdzdF93YXZwYWNrX2VuY19zZXRfd3BfY29uZmlnKToKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrcGFyc2UuYzoKCSAgKGdzdF93YXZwYWNrX3BhcnNlX2NyZWF0ZV9zcmNfcGFkKToKCSAgKiBnc3QvbnV2ZGVtdXgvZ3N0bnV2ZGVtdXguYzogKGdzdF9udXZfZGVtdXhfY3JlYXRlX3BhZHMpOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3dhdnBhY2twYXJzZS5jOiAod2F2cGFja3BhcnNlX2ZvdW5kX3BhZCk6CgkgIEFjdGl2YXRlIHBhZHMgYmVmb3JlIGFkZGluZyB0aGVtIHRvIHJ1bm5pbmcgZWxlbWVudC4KCjIwMDYtMTAtMTcgMTQ6NTc6MTcgKzAwMDAgIEpvc2VwIFRvcnJhIFZhbGxlcyA8am9zZXBAZmx1ZW5kby5jb20+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IE1ha2UgY29tcGlsZSB3aXRoIEZvcnRlIGNvbXBpbGVyLCBtb3N0bHkgZG9uJ3QgZG8gcG9pbnRlciBhcml0aG1ldGljIHdpdGggdm9pZCBwb2ludGVycyAoIzM2MjYuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBKb3NlcCBUb3JyYSBWYWxsZXMgIDxqb3NlcCBhdCBmbHVlbmRvIGNvbT4KCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChnc3RfcXRkZW11eF9oYW5kbGVfc2lua19ldmVudCksCgkgIChuZXh0X2VudHJ5X3NpemUpLCAocXRkZW11eF9pbmZsYXRlKSwgKHF0ZGVtdXhfcGFyc2VfbW9vdiksCgkgIChxdGRlbXV4X3BhcnNlX3RyZWUpLCAocXRkZW11eF9wYXJzZV90cmFrKSwgKHF0ZGVtdXhfdGFnX2FkZF9zdHIpLAoJICAocXRkZW11eF90YWdfYWRkX251bSksIChxdGRlbXV4X3RhZ19hZGRfZGF0ZSksCgkgIChxdGRlbXV4X3RhZ19hZGRfZ25yZSk6CgkgIE1ha2UgY29tcGlsZSB3aXRoIEZvcnRlIGNvbXBpbGVyLCBtb3N0bHkgZG9uJ3QgZG8gcG9pbnRlciBhcml0aG1ldGljCgkgIHdpdGggdm9pZCBwb2ludGVycyAoIzM2MjYyNikuCgoyMDA2LTEwLTE3IDE0OjM3OjQ5ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgc3lzL29zcy9nc3Rvc3NzaW5rLmM6IFNvbWUgZHJpdmVycyBkbyBub3Qgc3VwcG9ydCB1bnNldHRpbmcgdGhlIG5vbi1ibG9ja2luZyBmbGFnIG9uY2UgdGhlIGRldmljZSBpcyBvcGVuZWQuIEluIHRob3NlLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy9vc3MvZ3N0b3Nzc2luay5jOiAoZ3N0X29zc19zaW5rX3ByZXBhcmUpOgoJICBTb21lIGRyaXZlcnMgZG8gbm90IHN1cHBvcnQgdW5zZXR0aW5nIHRoZSBub24tYmxvY2tpbmcgZmxhZyBvbmNlIHRoZQoJICBkZXZpY2UgaXMgb3BlbmVkLiBJbiB0aG9zZSBjYXNlcywgY2xvc2Uvb3BlbiB0aGUgZGV2aWNlIGluCgkgIG5vbi1ibG9ja2luZyBtb2RlLiBGaXhlcyAjMzYyNjczLgoKMjAwNi0xMC0xNyAxMzo0NDoxNCArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgc3lzL3Y0bDIvOiBkZWFyIHN0ZWZhbiwgZnJhbWVzcGVyc2Vjb25kIGlzIG5vdCBmcmFtZXBlcmlvZCwgcmV2ZXJ0aW5nIGJ1dCBhZGRpbmcgY29tbWVudAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvdjRsMi92NGwyX2NhbGxzLmM6IChnc3RfdjRsMl9maWxsX2xpc3RzKToKCSAgKiBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmM6IChnc3RfdjRsMnNyY19zZXRfZnBzKSwKCSAgKGdzdF92NGwyc3JjX2dldF9mcHMpOgoJICBkZWFyIHN0ZWZhbiwgZnJhbWVzcGVyc2Vjb25kIGlzIG5vdCBmcmFtZXBlcmlvZCwgcmV2ZXJ0aW5nIGJ1dCBhZGRpbmcKCSAgY29tbWVudAoKMjAwNi0xMC0xNyAxMToyODo1MCArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgc3lzL3Y0bDIvOiBOdW1lcmF0b3IgaXMgbnVtZXJhdG9yIGFuZCBkZW5vbWluYXRvciBpcyBkZW5vbWluYXRvci4gU2F5IHRoYXQgYWxvdWQgNSB0aW1lcyBhbmQgcmV0cnkgYWZ0ZXIgbmV4dCBiZWVyLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvdjRsMi92NGwyX2NhbGxzLmM6IChnc3RfdjRsMl9maWxsX2xpc3RzKToKCSAgKiBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmM6IChnc3RfdjRsMnNyY19zZXRfZnBzKSwKCSAgKGdzdF92NGwyc3JjX2dldF9mcHMpOgoJICBOdW1lcmF0b3IgaXMgbnVtZXJhdG9yIGFuZCBkZW5vbWluYXRvciBpcyBkZW5vbWluYXRvci4gU2F5IHRoYXQgYWxvdWQKCSAgNSB0aW1lcyBhbmQgcmV0cnkgYWZ0ZXIgbmV4dCBiZWVyLgoKMjAwNi0xMC0xNyAxMDo1OTo1NSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguKjogQXZvaWQgdm9pZCBwb2ludGVyIHVzYWdlLCBiZXR0ZXIgdXNlIGd1aW50OCAqIGluc3RlYWQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKHF0ZGVtdXhfcGFyc2VfbW9vdiksIChxdGRlbXV4X3BhcnNlKSwKCSAgKHF0ZGVtdXhfbm9kZV9kdW1wX2ZvcmVhY2gpLCAocXRkZW11eF9kdW1wX212aGQpLAoJICAocXRkZW11eF9kdW1wX3RraGQpLCAocXRkZW11eF9kdW1wX2Vsc3QpLCAocXRkZW11eF9kdW1wX21kaGQpLAoJICAocXRkZW11eF9kdW1wX2hkbHIpLCAocXRkZW11eF9kdW1wX3ZtaGQpLCAocXRkZW11eF9kdW1wX2RyZWYpLAoJICAocXRkZW11eF9kdW1wX3N0c2QpLCAocXRkZW11eF9kdW1wX3N0dHMpLCAocXRkZW11eF9kdW1wX3N0c3MpLAoJICAocXRkZW11eF9kdW1wX3N0c2MpLCAocXRkZW11eF9kdW1wX3N0c3opLCAocXRkZW11eF9kdW1wX3N0Y28pLAoJICAocXRkZW11eF9kdW1wX2NvNjQpLCAocXRkZW11eF9kdW1wX2Rjb20pLCAocXRkZW11eF9kdW1wX2NtdmQpLAoJICAocXRkZW11eF9kdW1wX3Vua25vd24pLCAocXRkZW11eF90cmVlX2dldF9jaGlsZF9ieV90eXBlKSwKCSAgKHF0ZGVtdXhfdHJlZV9nZXRfc2libGluZ19ieV90eXBlKToKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4Lmg6CgkgIEF2b2lkIHZvaWQgcG9pbnRlciB1c2FnZSwgYmV0dGVyIHVzZSBndWludDggKiBpbnN0ZWFkLgoKMjAwNi0xMC0xNiAxODoyMjo0NyArMDAwMCAgSm9zZXAgVG9ycmEgVmFsbGVzIDxqb3NlcEBmbHVlbmRvLmNvbT4KCgkgIEZpeCBhIGJ1bmNoIG9mIHByb2JsZW1zIGRpc2NvdmVyZWQgYnkgdGhlIEZvcnRlIGNvbXBpbGVyLCBtb3N0bHkgdHlwZSBtaXh1cHMgYW5kIHBvaW50ZXIgYXJpdGhtZXRpY3Mgd2l0aCB2b2lkIHBvaW50ZS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IEpvc2VwIFRvcnJhIFZhbGxlcyAgPGpvc2VwIGF0IGZsdWVuZG8gY29tPgoJICAqIGV4dC9jYWlyby9nc3R0aW1lb3ZlcmxheS5jOiAoZ3N0X2NhaXJvX3RpbWVfb3ZlcmxheV90cmFuc2Zvcm0pOgoJICAqIGV4dC9lc2QvZXNkc2luay5jOiAoZ3N0X2VzZHNpbmtfd3JpdGUpOgoJICAqIGV4dC9mbGFjL2dzdGZsYWNkZWMuYzogKGdzdF9mbGFjX2RlY19sZW5ndGgpLAoJICAoZ3N0X2ZsYWNfZGVjX3JlYWRfc2Vla2FibGUpLCAoZ3N0X2ZsYWNfZGVjX2NoYWluKSwKCSAgKGdzdF9mbGFjX2RlY19zZW5kX25ld3NlZ21lbnQpOgoJICAqIGV4dC9mbGFjL2dzdGZsYWNlbmMuYzogKGdzdF9mbGFjX2VuY19zZWVrX2NhbGxiYWNrKSwKCSAgKGdzdF9mbGFjX2VuY190ZWxsX2NhbGxiYWNrKToKCSAgKiBleHQvanBlZy9zbW9rZWNvZGVjLmM6IChmaW5kX2Jlc3Rfc2l6ZSksIChzbW9rZWNvZGVjX2VuY29kZSksCgkgIChzbW9rZWNvZGVjX3BhcnNlX2hlYWRlciksIChzbW9rZWNvZGVjX2RlY29kZSk6CgkgICogZ3N0L2F2aS9nc3RhdmltdXguYzogKGdzdF9hdmlfbXV4X3dyaXRlX2F2aXhfaW5kZXgpOgoJICAqIGdzdC9kZWJ1Zy9lZmVuY2UuYzogKGdzdF9mZW5jZWRfYnVmZmVyX2FsbG9jKToKCSAgKiBnc3QvZ29vbS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvZ29vbS9nc3Rnb29tLmM6CgkgICogZ3N0L2ljeWRlbXV4L2dzdGljeWRlbXV4LmM6IChnc3RfaWN5ZGVtdXhfdHlwZWZpbmRfb3JfZm9yd2FyZCk6CgkgICogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOgoJICAqIGdzdC9ydHNwL3J0c3Bjb25uZWN0aW9uLmM6IChydHNwX2Nvbm5lY3Rpb25fcmVhZCk6CgkgICogZ3N0L3VkcC9nc3R1ZHBzaW5rLmM6CgkgICogZ3N0L3VkcC9nc3R1ZHBzcmMuYzoKCSAgKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzogKGdzdF93YXZwYXJzZV9jaGFuZ2Vfc3RhdGUpOgoJICAqIHN5cy9zdW5hdWRpby9nc3RzdW5hdWRpb21peGVydHJhY2suaDoKCSAgRml4IGEgYnVuY2ggb2YgcHJvYmxlbXMgZGlzY292ZXJlZCBieSB0aGUgRm9ydGUgY29tcGlsZXIsIG1vc3RseSB0eXBlCgkgIG1peHVwcyBhbmQgcG9pbnRlciBhcml0aG1ldGljcyB3aXRoIHZvaWQgcG9pbnRlcnMuIEZpeGVzICMzNjI2MDMuCgoyMDA2LTEwLTEyIDE5OjAyOjUxICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L3NwZWV4LzogTWlzY2VsbGFuZW91cyBjbGVhbi11cHMsIGFtb25nIG90aGVyIHRoaW5nczogc3BlZXhlbmMgPT4gZW5jIHRvIGVuaGFuY2UgY29kZSByZWFkYWJpbGl0eTsgY2hhbmdlIHNwZWV4ZW5jLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9zcGVleC9nc3RzcGVleC5jOiAocGx1Z2luX2luaXQpOgoJICAqIGV4dC9zcGVleC9nc3RzcGVleGVuYy5jOiAoZ3N0X3NwZWV4X2VuY19nZXRfZm9ybWF0cyksCgkgIChnc3Rfc3BlZXhfZW5jX3NldHVwX2ludGVyZmFjZXMpLCAoZ3N0X3NwZWV4X2VuY19iYXNlX2luaXQpLAoJICAoZ3N0X3NwZWV4X2VuY19jbGFzc19pbml0KSwgKGdzdF9zcGVleF9lbmNfZmluYWxpemUpLAoJICAoZ3N0X3NwZWV4X2VuY19zaW5rX3NldGNhcHMpLCAoZ3N0X3NwZWV4X2VuY19jb252ZXJ0X3NyYyksCgkgIChnc3Rfc3BlZXhfZW5jX2NvbnZlcnRfc2luayksIChnc3Rfc3BlZXhfZW5jX2dldF9xdWVyeV90eXBlcyksCgkgIChnc3Rfc3BlZXhfZW5jX3NyY19xdWVyeSksIChnc3Rfc3BlZXhfZW5jX3NpbmtfcXVlcnkpLAoJICAoZ3N0X3NwZWV4X2VuY19pbml0KSwgKGdzdF9zcGVleF9lbmNfY3JlYXRlX21ldGFkYXRhX2J1ZmZlciksCgkgIChnc3Rfc3BlZXhfZW5jX3NldF9sYXN0X21zZyksIChnc3Rfc3BlZXhfZW5jX3NldHVwKSwKCSAgKGdzdF9zcGVleF9lbmNfYnVmZmVyX2Zyb21fZGF0YSksIChnc3Rfc3BlZXhfZW5jX3B1c2hfYnVmZmVyKSwKCSAgKGdzdF9zcGVleF9lbmNfc2V0X2hlYWRlcl9vbl9jYXBzKSwgKGdzdF9zcGVleF9lbmNfc2lua2V2ZW50KSwKCSAgKGdzdF9zcGVleF9lbmNfY2hhaW4pLCAoZ3N0X3NwZWV4X2VuY19nZXRfcHJvcGVydHkpLAoJICAoZ3N0X3NwZWV4X2VuY19zZXRfcHJvcGVydHkpLCAoZ3N0X3NwZWV4X2VuY19jaGFuZ2Vfc3RhdGUpOgoJICAqIGV4dC9zcGVleC9nc3RzcGVleGVuYy5oOgoJICBNaXNjZWxsYW5lb3VzIGNsZWFuLXVwcywgYW1vbmcgb3RoZXIgdGhpbmdzOiBzcGVleGVuYyA9PiBlbmMgdG8KCSAgZW5oYW5jZSBjb2RlIHJlYWRhYmlsaXR5OyBjaGFuZ2Ugc3BlZXhlbmMgPT4gc3BlZXhfZW5jOyBpbiBjaGFpbgoJICBmdW5jdGlvbiB1bnJlZiBpbnB1dCBidWZmZXIgaW4gY2FzZSBvZiBlcnJvcjsgdGFrZSByZWZlcmVuY2UgaW4KCSAgZXZlbnQgZnVuY3Rpb247IHVzZSBib2lsZXJwbGF0ZSBtYWNybzsgdXNlIGdzdF9wYWRfcXVlcnlfcGVlcl8qCgkgIGNvbnZlbmllbmNlIGZ1bmN0aW9ucy4KCjIwMDYtMTAtMTIgMTg6MzU6MTAgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvc3BlZXgvZ3N0c3BlZXhlbmMuYzogRml4IHNvbWUgbWVtIGxlYWtzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvc3BlZXgvZ3N0c3BlZXhlbmMuYzogKGdzdF9zcGVleGVuY19maW5hbGl6ZSksCgkgIChnc3Rfc3BlZXhlbmNfc2V0X2xhc3RfbXNnKSwgKGdzdF9zcGVleGVuY19zZXR1cCksCgkgIChnc3Rfc3BlZXhlbmNfc2V0X2hlYWRlcl9vbl9jYXBzKToKCSAgRml4IHNvbWUgbWVtIGxlYWtzLgoKMjAwNi0xMC0xMSAxNjoyMTo1MyArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHNwL1VSTFM6IEFkZGVkIHNvbWUgb3RoZXIgVVJMLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRzcC9VUkxTOgoJICBBZGRlZCBzb21lIG90aGVyIFVSTC4KCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IChnc3RfcnRzcHNyY19sb29wX3VkcCksCgkgIChnc3RfcnRzcHNyY19oYW5kbGVfcmVxdWVzdCksIChnc3RfcnRzcHNyY19zZW5kKSwKCSAgKGdzdF9ydHNwc3JjX29wZW4pLCAoZ3N0X3J0c3BzcmNfcGxheSksCgkgIChnc3RfcnRzcHNyY19oYW5kbGVfbWVzc2FnZSksIChnc3RfcnRzcHNyY19jaGFuZ2Vfc3RhdGUpOgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuaDoKCSAgV29yayBvbiBmYWxsYmFjayB0byBUQ1AgY29ubmVjdGlvbiB3aGVuIHRoZSBVRFAgc29ja2V0IHRpbWVzIG91dC4KCSAgSGFuZGxlciBzZXJ2ZXIgcmVxdWVzdHMsIGp1c3QgcmVwbHkgd2l0aCBPSyBmb3Igbm93LgoJICAqIGdzdC9ydHNwL3J0c3BkZWZzLmM6IChydHNwX3N0cnJlc3VsdCk6CgkgICogZ3N0L3J0c3AvcnRzcGRlZnMuaDoKCSAgQWRkZWQgc29tZSBtb3JlIFJlYWwgZXh0ZW5zaW9uIGhlYWRlcnMuCgkgICogZ3N0L3J0c3AvcnRzcHVybC5jOiAocnRzcF91cmxfcGFyc2UpOgoJICBGaXggcGFyc2luZyBvZiB1cmxzIHdpdGggYSAnOicgdGhhdCBpcyBub3QgcGFydCBvZiB0aGUgaG9zdG5hbWU6cG9ydAoJICBwYXJ0IG9mIHRoZSB1cmwuCgoyMDA2LTEwLTExIDEzOjQ5OjI2ICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBBZGQgc29tZSBmb3VyY2MgZm9yIERWIGZvcm1hdC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAocXRkZW11eF92aWRlb19jYXBzKToKCSAgQWRkIHNvbWUgZm91cmNjIGZvciBEViBmb3JtYXQuCgoyMDA2LTEwLTExIDEzOjI0OjQyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0LzogQWN0aXZhdGUgcGFkIGJlZm9yZSBhZGRpbmcgaXQgdG8gdGhlIGFscmVhZHktcnVubmluZyBlbGVtZW50LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXBldGFnL2dzdHRhZ2RlbXV4LmM6IChnc3RfdGFnX2RlbXV4X2FkZF9zcmNwYWQpOgoJICAqIGdzdC9pY3lkZW11eC9nc3RpY3lkZW11eC5jOiAoZ3N0X2ljeWRlbXV4X2FkZF9zcmNwYWQpOgoJICAqIGdzdC9pZDNkZW11eC9nc3RpZDNkZW11eC5jOiAoZ3N0X2lkM2RlbXV4X2FkZF9zcmNwYWQpOgoJICBBY3RpdmF0ZSBwYWQgYmVmb3JlIGFkZGluZyBpdCB0byB0aGUgYWxyZWFkeS1ydW5uaW5nIGVsZW1lbnQuCgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvaWN5ZGVtdXguYzogKGljeWRlbXV4X2ZvdW5kX3BhZCk6CgkgIEFjdGl2YXRlIG5ld2x5LWNyZWF0ZWQgcGFkIHRvby4KCjIwMDYtMTAtMTEgMDg6MzQ6MTQgKzAwMDAgIFNlYmFzdGllbiBDb3RlIDxzZWJhczY0MkB5YWhvby5jYT4KCgkgIGdzdC91ZHAvZ3N0dWRwc3JjLmM6IEZpeCBzb21lIGxlYWtzIGluIGNhcHMgYW5kIHVyaXMuIEZpeGVzICMzNjEyNTIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogU2ViYXN0aWVuIENvdGUgPHNlYmFzNjQyIGF0IHlhaG9vIGRvdCBjYT4KCSAgKiBnc3QvdWRwL2dzdHVkcHNyYy5jOiAoZ3N0X3VkcHNyY19jbGFzc19pbml0KSwKCSAgKGdzdF91ZHBzcmNfZmluYWxpemUpLCAoZ3N0X3VkcHNyY19jcmVhdGUpLCAoZ3N0X3VkcHNyY19zZXRfdXJpKSwKCSAgKGdzdF91ZHBzcmNfc3RhcnQpOgoJICBGaXggc29tZSBsZWFrcyBpbiBjYXBzIGFuZCB1cmlzLiBGaXhlcyAjMzYxMjUyLgoKMjAwNi0xMC0xMCAxODo1NDowNSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogUHJpbnRmIGZvcm1hdCBmaXhlcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAoZXh0cmFjdF9pbml0aWFsX2xlbmd0aF9hbmRfZm91cmNjKSwKCSAgKGdzdF9xdGRlbXV4X2xvb3Bfc3RhdGVfaGVhZGVyKToKCSAgUHJpbnRmIGZvcm1hdCBmaXhlcy4KCSAgKiBzeXMvZHZiL2dzdGR2YnNyYy5jOgoJICBVc2UgIl9zdGRpbnQuaCIuCgoyMDA2LTEwLTEwIDA5OjU3OjE5ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBSZW9yZ2FuaXNlIHNvbWUgc3R1ZmYuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKGdzdF9xdGRlbXV4X2luaXQpLAoJICAoZ3N0X3F0ZGVtdXhfcHVzaF9ldmVudCksIChnc3RfcXRkZW11eF9kb19zZWVrKSwKCSAgKGdzdF9xdGRlbXV4X2NoYW5nZV9zdGF0ZSksIChleHRyYWN0X2luaXRpYWxfbGVuZ3RoX2FuZF9mb3VyY2MpLAoJICAoZ3N0X3F0ZGVtdXhfbG9vcF9zdGF0ZV9oZWFkZXIpLCAoZ3N0X3F0ZGVtdXhfYWN0aXZhdGVfc2VnbWVudCksCgkgIChnc3RfcXRkZW11eF9sb29wX3N0YXRlX21vdmllKSwgKGdzdF9xdGRlbXV4X2xvb3ApLAoJICAoZ3N0X3F0ZGVtdXhfcG9zdF9idWZmZXJpbmcpLCAoZ3N0X3F0ZGVtdXhfY2hhaW4pLAoJICAoZ3N0X3F0ZGVtdXhfYWRkX3N0cmVhbSksIChxdGRlbXV4X3Byb2Nlc3NfcmVkaXJlY3RzKSwKCSAgKHF0ZGVtdXhfcGFyc2VfdHJlZSksIChxdGRlbXV4X3BhcnNlX3RyYWspOgoJICBSZW9yZ2FuaXNlIHNvbWUgc3R1ZmYuCgkgIFBhcnNlIFJUU1AgcmVkaXJlY3Rpb24gVVJMUy4KCjIwMDYtMTAtMTAgMDg6Mjk6MDcgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3Qvd2F2cGFyc2UvTWFrZWZpbGUuYW06IEZpeCBjb3B5J24ncGFzdGUtbyAoc3BvdHRlZCBieSBNYXJrIE5hdXdlbGFlcnRzLCAjMzQxNDg5KS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3dhdnBhcnNlL01ha2VmaWxlLmFtOgoJICBGaXggY29weSduJ3Bhc3RlLW8gKHNwb3R0ZWQgYnkgTWFyayBOYXV3ZWxhZXJ0cywgIzM0MTQ4OSkuCgoyMDA2LTEwLTA5IDA3OjAxOjE5ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIHN5cy92NGwyL2dzdHY0bDJ4b3ZlcmxheS4qOiBGaXggYnVpbGQgYXMgcGVyIHRoZSBwYXRjaCBpbiAjMzM4ODE4IGNvbW1lbnQgMzYuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy92NGwyL2dzdHY0bDJ4b3ZlcmxheS5jOgoJICAqIHN5cy92NGwyL2dzdHY0bDJ4b3ZlcmxheS5oOgoJICBGaXggYnVpbGQgYXMgcGVyIHRoZSBwYXRjaCBpbiAjMzM4ODE4IGNvbW1lbnQgMzYuCgoyMDA2LTEwLTA4IDIwOjA1OjEzICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi0xMzk0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHNwLnhtbDoKCSAgaW5zcGVjdCB1cGRhdGVzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBpbnNwZWN0IHVwZGF0ZXMKCjIwMDYtMTAtMDcgMjE6MTU6NDAgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IEFjdGl2YXRlIHBhZHMgYmVmb3JlIGFkZGluZyB0aGVtIHRvIHRoZSBzb3VyY2UuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogKGdzdF9ydHNwc3JjX3N0cmVhbV9jb25maWd1cmVfdHJhbnNwb3J0KToKCSAgQWN0aXZhdGUgcGFkcyBiZWZvcmUgYWRkaW5nIHRoZW0gdG8gdGhlIHNvdXJjZS4KCjIwMDYtMTAtMDcgMTE6Mzc6NTkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBkb2NzL3BsdWdpbnMvOiBBZGQvdXBkYXRlIGRvY3Mgc3R1ZmYuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5oaWVyYXJjaHk6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmludGVyZmFjZXM6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLnByZXJlcXVpc2l0ZXM6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0c2RlYy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1tcy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWcyZW5jLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmVvbi54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlcGxheWdhaW4ueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VuZHRvdWNoLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BjZGVjLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3dmZGVjLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9jcm9wLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFjay54bWw6CgkgIEFkZC91cGRhdGUgZG9jcyBzdHVmZi4KCjIwMDYtMTAtMDYgMTc6MDA6MTQgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBBY3RpdmF0ZSBwYWRzIGJlZm9yZSBhZGRpbmcuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9kdi9nc3RkdmRlbXV4LmM6IChnc3RfZHZkZW11eF9hZGRfcGFkcyksIChnc3RfZHZkZW11eF9jaGFpbik6CgkgICogZ3N0L2F1cGFyc2UvZ3N0YXVwYXJzZS5jOiAoZ3N0X2F1X3BhcnNlX2FkZF9zcmNwYWQpOgoJICBBY3RpdmF0ZSBwYWRzIGJlZm9yZSBhZGRpbmcuCgoyMDA2LTEwLTA2IDE2OjAzOjIzICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L211bHRpcGFydC9tdWx0aXBhcnRkZW11eC5jOiBBY3RpdmF0ZSBwYWRzIGJlZm9yZSBhZGRpbmcuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tdWx0aXBhcnQvbXVsdGlwYXJ0ZGVtdXguYzogKGdzdF9tdWx0aXBhcnRfZGVtdXhfaW5pdCksCgkgIChnc3RfbXVsdGlwYXJ0X2ZpbmRfcGFkX2J5X21pbWUpOgoJICBBY3RpdmF0ZSBwYWRzIGJlZm9yZSBhZGRpbmcuCgkgICogZ3N0L3J0cC9nc3RydHBtcDR2ZGVwYXkuYzogKGdzdF9ydHBfbXA0dl9kZXBheV9jbGFzc19pbml0KToKCSAgQk9JTEVSUExBVEUgc2V0cyBwYXJlbnRfY2xhc3MgZm9yIHVzLgoKMjAwNi0xMC0wNiAxNTo1NjowMSArMDAwMCAgUmVuw6kgU3RhZGxlciA8bWFpbEByZW5lc3RhZGxlci5kZT4KCgkgIEFkZCBSZXBsYXlHYWluIGFuYWx5c2lzIGVsZW1lbnQgKCMzNTcwNjkpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFJlbsOpIFN0YWRsZXIgIDxtYWlsIGF0IHJlbmVzdGFkbGVyIGRlPgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICAqIGdzdC9yZXBsYXlnYWluL01ha2VmaWxlLmFtOgoJICAqIGdzdC9yZXBsYXlnYWluL2dzdHJnYW5hbHlzaXMuYzogKGdzdF9yZ19hbmFseXNpc19iYXNlX2luaXQpLAoJICAoZ3N0X3JnX2FuYWx5c2lzX2NsYXNzX2luaXQpLCAoZ3N0X3JnX2FuYWx5c2lzX2luaXQpLAoJICAoZ3N0X3JnX2FuYWx5c2lzX3NldF9wcm9wZXJ0eSksIChnc3RfcmdfYW5hbHlzaXNfZ2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9yZ19hbmFseXNpc19zdGFydCksIChnc3RfcmdfYW5hbHlzaXNfc2V0X2NhcHMpLAoJICAoZ3N0X3JnX2FuYWx5c2lzX3RyYW5zZm9ybV9pcCksIChnc3RfcmdfYW5hbHlzaXNfZXZlbnQpLAoJICAoZ3N0X3JnX2FuYWx5c2lzX3N0b3ApLCAoZ3N0X3JnX2FuYWx5c2lzX2hhbmRsZV90YWdzKSwKCSAgKGdzdF9yZ19hbmFseXNpc19oYW5kbGVfZW9zKSwgKGdzdF9yZ19hbmFseXNpc190cmFja19yZXN1bHQpLAoJICAoZ3N0X3JnX2FuYWx5c2lzX2FsYnVtX3Jlc3VsdCksIChwbHVnaW5faW5pdCk6CgkgICogZ3N0L3JlcGxheWdhaW4vZ3N0cmdhbmFseXNpcy5oOgoJICAqIGdzdC9yZXBsYXlnYWluL3JnYW5hbHlzaXMuYzogKHl1bGVfZmlsdGVyKSwgKGJ1dHRlcl9maWx0ZXIpLAoJICAoYXBwbHlfZmlsdGVycyksIChyZXNldF9maWx0ZXJzKSwgKGFjY3VtdWxhdG9yX2FkZCksCgkgIChhY2N1bXVsYXRvcl9jbGVhciksIChhY2N1bXVsYXRvcl9yZXN1bHQpLCAocmdfYW5hbHlzaXNfbmV3KSwKCSAgKHJnX2FuYWx5c2lzX3NldF9zYW1wbGVfcmF0ZSksIChyZ19hbmFseXNpc19kZXN0cm95KSwKCSAgKHJnX2FuYWx5c2lzX2FuYWx5emVfbW9ub19mbG9hdCksCgkgIChyZ19hbmFseXNpc19hbmFseXplX3N0ZXJlb19mbG9hdCksCgkgIChyZ19hbmFseXNpc19hbmFseXplX21vbm9faW50MTYpLAoJICAocmdfYW5hbHlzaXNfYW5hbHl6ZV9zdGVyZW9faW50MTYpLCAocmdfYW5hbHlzaXNfYW5hbHl6ZSksCgkgIChyZ19hbmFseXNpc190cmFja19yZXN1bHQpLCAocmdfYW5hbHlzaXNfYWxidW1fcmVzdWx0KSwKCSAgKHJnX2FuYWx5c2lzX3Jlc2V0X2FsYnVtKSwgKHJnX2FuYWx5c2lzX3Jlc2V0KToKCSAgKiBnc3QvcmVwbGF5Z2Fpbi9yZ2FuYWx5c2lzLmg6CgkgIEFkZCBSZXBsYXlHYWluIGFuYWx5c2lzIGVsZW1lbnQgKCMzNTcwNjkpLgoJICAqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzLy5jdnNpZ25vcmU6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvcmdhbmFseXNpcy5jOiAoZ2V0X2V4cGVjdGVkX2dhaW4pLAoJICAoc2V0dXBfcmdhbmFseXNpcyksIChjbGVhbnVwX3JnYW5hbHlzaXMpLCAoc2V0X3BsYXlpbmdfc3RhdGUpLAoJICAoc2VuZF9lb3NfZXZlbnQpLCAoc2VuZF90YWdfZXZlbnQpLCAocG9sbF9lb3MpLCAocG9sbF90YWdzKSwKCSAgKGZhaWxfdW5sZXNzX3RyYWNrX2dhaW4pLCAoZmFpbF91bmxlc3NfdHJhY2tfcGVhayksCgkgIChmYWlsX3VubGVzc19hbGJ1bV9nYWluKSwgKGZhaWxfdW5sZXNzX2FsYnVtX3BlYWspLAoJICAoZmFpbF9pZl90cmFja190YWdzKSwgKGZhaWxfaWZfYWxidW1fdGFncyksCgkgIChmYWlsX3VubGVzc19udW1fdHJhY2tzKSwgKHRlc3RfYnVmZmVyX2NvbnN0X2Zsb2F0X21vbm8pLAoJICAodGVzdF9idWZmZXJfY29uc3RfZmxvYXRfc3RlcmVvKSwgKHRlc3RfYnVmZmVyX2NvbnN0X2ludDE2X21vbm8pLAoJICAodGVzdF9idWZmZXJfY29uc3RfaW50MTZfc3RlcmVvKSwgKHRlc3RfYnVmZmVyX3NxdWFyZV9mbG9hdF9tb25vKSwKCSAgKHRlc3RfYnVmZmVyX3NxdWFyZV9mbG9hdF9zdGVyZW8pLCAodGVzdF9idWZmZXJfc3F1YXJlX2ludDE2X21vbm8pLAoJICAodGVzdF9idWZmZXJfc3F1YXJlX2ludDE2X3N0ZXJlbyksIChwdXNoX2J1ZmZlciksIChHU1RfU1RBUlRfVEVTVCksCgkgIChyZ2FuYWx5c2lzX3N1aXRlKSwgKG1haW4pOgoJICBVbml0IHRlc3RzIGZvciB0aGUgbmV3IHJlcGxheWdhaW4gZWxlbWVudC4KCjIwMDYtMTAtMDYgMTU6NDk6MzkgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBleHQvZmFhZC9nc3RmYWFkLmM6IFNvbWUgY2xlYW51cHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9mYWFkL2dzdGZhYWQuYzogKGdzdF9mYWFkX3NldGNhcHMpLCAoZ3N0X2ZhYWRfY2hhaW4pLAoJICAoZ3N0X2ZhYWRfY2xvc2VfZGVjb2Rlcik6CgkgIFNvbWUgY2xlYW51cHMuCgkgIEFkZGVkIHNvbWUgbW9yZSBkZWJ1Z2dpbmcuCgkgIERvbid0IGV2ZXIgaWdub3JlIHVubGlua2VkLCB3ZSdyZSBub3QgYSBkZW11eGVyLgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKGdzdF9xdGRlbXV4X2FkZF9zdHJlYW0pOgoJICBBY3RpdmF0ZSBwYWQgYmVmb3JlIGFkZGluZyBpdCB0byB0aGUgZWxlbWVudC4KCjIwMDYtMTAtMDYgMTI6NTU6NTMgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRzcC9nc3RydHNwc3JjLio6IFJld29yayBob3cgdGhlIHRyYW5zcG9ydCBzdHJpbmcgaXMgY29uc3RydWN0ZWQsIHRyeSB0byBzaGFyZSBjaGFubmVscyBhbmQgdWRwIHBvcnRzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IChnc3RfcnRzcF9wcm90b19nZXRfdHlwZSksCgkgIChnc3RfcnRzcHNyY19jbGFzc19pbml0KSwgKGdzdF9ydHNwc3JjX2luaXQpLAoJICAoZ3N0X3J0c3BzcmNfY3JlYXRlX3N0cmVhbSksIChnc3RfcnRzcHNyY19tZWRpYV90b19jYXBzKSwKCSAgKGdzdF9ydHNwc3JjX2FsbG9jX3VkcF9wb3J0cyksCgkgIChnc3RfcnRzcHNyY19zdHJlYW1fY29uZmlndXJlX3RyYW5zcG9ydCksIChmaW5kX3N0cmVhbV9ieV9jaGFubmVsKSwKCSAgKGdzdF9ydHNwc3JjX3B1c2hfZXZlbnQpLCAoZ3N0X3J0c3BzcmNfbG9vcF9pbnRlcmxlYXZlZCksCgkgIChnc3RfcnRzcHNyY19jcmVhdGVfdHJhbnNwb3J0c19zdHJpbmcpLAoJICAoZ3N0X3J0c3BzcmNfY29uZmlndXJlX3RyYW5zcG9ydHMpLCAoZ3N0X3J0c3BzcmNfb3BlbiksCgkgIChnc3RfcnRzcHNyY19oYW5kbGVfbWVzc2FnZSksIChnc3RfcnRzcHNyY19jaGFuZ2Vfc3RhdGUpOgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuaDoKCSAgUmV3b3JrIGhvdyB0aGUgdHJhbnNwb3J0IHN0cmluZyBpcyBjb25zdHJ1Y3RlZCwgdHJ5IHRvIHNoYXJlIGNoYW5uZWxzCgkgIGFuZCB1ZHAgcG9ydHMuCgkgIE1ha2UgbW9zdCBvZiB0aGUgc3R1ZmYgbGVzcyBkZXBlbmRhbnQgb24gUlRQIGFzIHdlIGFyZSBhbHNvIGdvaW5nIHRvIHVzZQoJICBpdCBmb3IgUkRULgoJICBBZGQgc3VwcG9ydCBmb3IgdHJhbnNwb3J0IHNwZWNpZmljIHNlc3Npb24gbWFuYWdlcnMuCgkgICogZ3N0L3J0c3AvcnRzcGNvbm5lY3Rpb24uYzogKHJ0c3BfY29ubmVjdGlvbl9mbHVzaCk6CgkgIEltcGxlbWVudCBfZmx1c2goKS4KCSAgKiBnc3QvcnRzcC9ydHNwZGVmcy5jOiAocnRzcF9zdHJyZXN1bHQpOgoJICAqIGdzdC9ydHNwL3J0c3BkZWZzLmg6CgkgIEFkZCBnZW5lcmljIGVycm9yIHJldHVybiBjb2RlLgoJICAqIGdzdC9ydHNwL3J0c3BleHQuaDoKCSAgQWRkIHN1cHBvcnQgZm9yIHBsdWdnYWJsZSB0cmFucG9ydCBzdHJpbmdzLgoJICAqIGdzdC9ydHNwL3J0c3BleHR3bXMuYzogKHJ0c3BfZXh0X3dtc19iZWZvcmVfc2VuZCksCgkgIChydHNwX2V4dF93bXNfYWZ0ZXJfc2VuZCksIChydHNwX2V4dF93bXNfcGFyc2Vfc2RwKSwKCSAgKHJ0c3BfZXh0X3dtc19nZXRfY29udGV4dCk6CgkgIERldGVjdCBXTVNlcnZlciBhbmQgYWN0aXZhdGUgdGhlIGV4dGVuc2lvbi4KCSAgKiBnc3QvcnRzcC9ydHNwdHJhbnNwb3J0LmM6IChydHNwX3RyYW5zcG9ydF9nZXRfbWltZSksCgkgIChydHNwX3RyYW5zcG9ydF9nZXRfbWFuYWdlciksIChydHNwX3RyYW5zcG9ydF9wYXJzZSk6CgkgICogZ3N0L3J0c3AvcnRzcHRyYW5zcG9ydC5oOgoJICBBZGRlZCBtZXRob2RzIHRvIGdldCBtaW1lL21hbmFnZXIgZm9yIGNlcnRhaW4gdHJhbnNwb3J0cy4KCjIwMDYtMTAtMDYgMTE6MzE6MTEgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uYzogRml4IG1lbSBsZWFrLCBhdm9pZCB1bm5lY2Vzc2FyeSBtZW1jcHkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5jOiAoZ3N0X3NwZWN0cnVtX3RyYW5zZm9ybV9pcCk6CgkgIEZpeCBtZW0gbGVhaywgYXZvaWQgdW5uZWNlc3NhcnkgbWVtY3B5LgoKMjAwNi0xMC0wNiAwMjoyOTozNSArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmM6IFJlbW92ZWQgY3J1ZnQgY29kZSB0aGF0IHdhcyBqdXN0IGNvbW1lbnRlZCBvdXQuIFJlbW92ZWQgc29tZSBvYnNvbGV0ZSBkZWJ1ZyBsb2dzIHN0YXRlbWVudHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5jOiAoZ3N0X3NwZWN0cnVtX2luaXQpLAoJICAoZ3N0X3NwZWN0cnVtX3RyYW5zZm9ybV9pcCk6CgkgIFJlbW92ZWQgY3J1ZnQgY29kZSB0aGF0IHdhcyBqdXN0IGNvbW1lbnRlZCBvdXQuIFJlbW92ZWQgc29tZSBvYnNvbGV0ZQoJICBkZWJ1ZyBsb2dzIHN0YXRlbWVudHMuCgoyMDA2LTEwLTA1IDE4OjE0OjQ2ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgQW5vdGhlciBiYXRjaCBvZiBwcmludGYgZm9ybWF0IGZpeGVzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZHRzL2dzdGR0c2RlYy5jOiAoZ3N0X2R0c2RlY19jaGFpbik6CgkgICogZXh0L211c2ljYnJhaW56L2dzdHRybS5jOiAoZ3N0X3RybV9zZXRjYXBzKToKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZW5jLmM6IChnc3Rfd2F2cGFja19lbmNfc2lua19zZXRfY2Fwcyk6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAoZ3N0X3F0ZGVtdXhfY2hhaW4pLCAocXRkZW11eF9wYXJzZSksCgkgIChxdGRlbXV4X3BhcnNlX3RyYWspOgoJICAqIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5jOiAoZ3N0X3NwZWN0cnVtX3RyYW5zZm9ybV9pcCk6CgkgIEFub3RoZXIgYmF0Y2ggb2YgcHJpbnRmIGZvcm1hdCBmaXhlcy4KCjIwMDYtMTAtMDUgMTY6Mzc6MzMgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBQcmludGYgZm9ybWF0IGZpeGVzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvY2Fpcm8vZ3N0dGltZW92ZXJsYXkuYzoKCSAgKGdzdF9jYWlyb190aW1lX292ZXJsYXlfdXBkYXRlX2ZvbnRfaGVpZ2h0KToKCSAgKiBleHQvZ2RrX3BpeGJ1Zi9waXhidWZzY2FsZS5jOiAoZ3N0X3BpeGJ1ZnNjYWxlX3RyYW5zZm9ybV9jYXBzKToKCSAgKiBleHQvanBlZy9nc3RqcGVnZGVjLmM6IChnc3RfanBlZ19kZWNfcGFyc2VfaW1hZ2VfZGF0YSk6CgkgICogZXh0L2pwZWcvZ3N0anBlZ2VuYy5jOiAoZ3N0X2pwZWdlbmNfY2hhaW4pOgoJICAqIGV4dC9qcGVnL2dzdHNtb2tlZGVjLmM6IChnc3Rfc21va2VkZWNfY2hhaW4pOgoJICAqIGV4dC9qcGVnL2dzdHNtb2tlZW5jLmM6IChnc3Rfc21va2VlbmNfY2hhaW4pOgoJICAqIGV4dC9saWJwbmcvZ3N0cG5nZGVjLmM6ICh1c2VyX2VuZHJvd19jYWxsYmFjayk6CgkgICogZ3N0L2F1cGFyc2UvZ3N0YXVwYXJzZS5jOiAoZ3N0X2F1X3BhcnNlX3BhcnNlX2hlYWRlcik6CgkgICogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOiAoZ3N0X2F2aV9kZW11eF9wYXJzZV9zdXBlcmluZGV4KSwKCSAgKGdzdF9hdmlfZGVtdXhfcGFyc2Vfc3ViaW5kZXgpLCAoZ3N0X2F2aV9kZW11eF9wYXJzZV9zdHJlYW0pLAoJICAoZ3N0X2F2aV9kZW11eF9zdHJlYW1fZGF0YSk6CgkgICogZ3N0L2N1dHRlci9nc3RjdXR0ZXIuYzogKGdzdF9jdXR0ZXJfY2hhaW4pOgoJICAqIGdzdC9kZWJ1Zy9lZmVuY2UuYzogKGdzdF9lZmVuY2VfYnVmZmVyX2FsbG9jKSwKCSAgKGdzdF9mZW5jZWRfYnVmZmVyX2NvcHkpOgoJICAqIGdzdC9pZDNkZW11eC9pZDN2MmZyYW1lcy5jOiAoaWQzZGVtdXhfaWQzdjJfcGFyc2VfZnJhbWUpOgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOiAoZ3N0X21hdHJvc2thX2RlbXV4X2FkZF9zdHJlYW0pOgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzogKGdzdF9tYXRyb3NrYV9tdXhfc3RhcnQpOgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogKGdzdF9ydHNwc3JjX3NlbmQpLAoJICAoZ3N0X3J0c3BzcmNfaGFuZGxlX21lc3NhZ2UpOgoJICAqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOiAoZ3N0X3dhdnBhcnNlX3N0cmVhbV9oZWFkZXJzKToKCSAgKiBzeXMveGltYWdlL3hpbWFnZXV0aWwuYzogKHhpbWFnZXV0aWxfeGNvbnRleHRfZ2V0KToKCSAgUHJpbnRmIGZvcm1hdCBmaXhlcy4KCjIwMDYtMTAtMDQgMjI6Mzc6MDcgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvdmlkZW9jcm9wL2dzdHZpZGVvY3JvcC4qOiBIYW5kbGUgcGFja2VkIFlVViBmb3JtYXRzIChVWVZZLCBZVVkyLCBZVVlWKSBzZXBhcmF0ZWx5OyBhbHNvLCBmaXggcGFzc3Rocm91Z2ggbW9kZTsgbGEuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3ZpZGVvY3JvcC9nc3R2aWRlb2Nyb3AuYzogKGdzdF92aWRlb19jcm9wX2NsYXNzX2luaXQpLAoJICAoZ3N0X3ZpZGVvX2Nyb3BfaW5pdCksCgkgIChnc3RfdmlkZW9fY3JvcF9nZXRfaW1hZ2VfZGV0YWlsc19mcm9tX2NhcHMpLAoJICAoZ3N0X3ZpZGVvX2Nyb3BfdHJhbnNmb3JtX3BhY2tlZF9jb21wbGV4KSwKCSAgKGdzdF92aWRlb19jcm9wX3RyYW5zZm9ybV9wYWNrZWRfc2ltcGxlKSwKCSAgKGdzdF92aWRlb19jcm9wX3RyYW5zZm9ybSksIChnc3RfdmlkZW9fY3JvcF90cmFuc2Zvcm1fY2FwcyksCgkgIChnc3RfdmlkZW9fY3JvcF9zZXRfY2FwcyksCgkgIChnc3RfdmlkZW9jcm9wX2NsZWFyX25lZ290aWF0ZWRfY2Fwc19sb2NrZWQpLAoJICAoZ3N0X3ZpZGVvX2Nyb3Bfc2V0X3Byb3BlcnR5KToKCSAgKiBnc3QvdmlkZW9jcm9wL2dzdHZpZGVvY3JvcC5oOgoJICBIYW5kbGUgcGFja2VkIFlVViBmb3JtYXRzIChVWVZZLCBZVVkyLCBZVVlWKSBzZXBhcmF0ZWx5OyBhbHNvLCBmaXgKCSAgcGFzc3Rocm91Z2ggbW9kZTsgbGFzdGx5LCBjbGVhciBuZWdvdGlhdGVkIGJhc2V0cmFuc2Zvcm0gY2FwcyB3aGVuCgkgIHRoZSBjcm9wcGluZyBjaGFuZ2VzIGluIG9yZGVyIHRvIGZvcmNlIHJlbmVnb3RpYXRpb24uCgoyMDA2LTEwLTA0IDIwOjA1OjA3ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgdGVzdHMvaWNsZXMvOiBWaXN1YWwgdGVzdCBmb3IgdmlkZW9jcm9wLCBzaG93cyB0aGF0IHBhY2tlZCB5dXYgZG9lc24ndCB3b3JrIHJpZ2h0IHlldC4gLS13aXRoLWZmbXBlZ2NvbG9yc3BhY2Ugb3B0aW9uLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2ljbGVzLy5jdnNpZ25vcmU6CgkgICogdGVzdHMvaWNsZXMvTWFrZWZpbGUuYW06CgkgICogdGVzdHMvaWNsZXMvdmlkZW9jcm9wLXRlc3QuYzogKHF1aXRfbWFpbmxvb3ApLCAodGlja19jYiksCgkgICh0ZXN0X3dpdGhfY2FwcyksICh2aWRlb19jcm9wX2dldF90ZXN0X2NhcHMpLCAobWFpbik6CgkgIFZpc3VhbCB0ZXN0IGZvciB2aWRlb2Nyb3AsIHNob3dzIHRoYXQgcGFja2VkIHl1diBkb2Vzbid0IHdvcmsgcmlnaHQKCSAgeWV0LiAtLXdpdGgtZmZtcGVnY29sb3JzcGFjZSBvcHRpb24gZG9lc24ndCB3b3JrIHlldCBmb3IgdW5rbm93bgoJICByZWFzb25zIChhbm90aGVyIGJhc2V0cmFuc2Zvcm0gaXNzdWU/KQoKMjAwNi0xMC0wNCAxNzo1MzoxMiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHNwL01ha2VmaWxlLmFtOiBEaXN0IG5ldyAuaCBmaWxlIHRvby4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0c3AvTWFrZWZpbGUuYW06CgkgIERpc3QgbmV3IC5oIGZpbGUgdG9vLgoKMjAwNi0xMC0wNCAxNzoyNDo0MCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHNwLzogRmFjdG9yIG91dCBleHRlbnNpb24gaW4gc2VwYXJhdGUgbW9kdWxlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRzcC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvcnRzcC9nc3RydHBkZWMuYzogKGdzdF9ydHBkZWNfZ2V0Y2FwcyksCgkgIChnc3RfcnRwZGVjX2NoYWluX3J0cCksIChnc3RfcnRwZGVjX2NoYWluX3J0Y3ApOgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogKGdzdF9ydHNwc3JjX2luaXQpLAoJICAoZ3N0X3J0c3BzcmNfZmluYWxpemUpLCAoZ3N0X3J0c3BzcmNfY3JlYXRlX3N0cmVhbSksCgkgIChnc3RfcnRzcHNyY19wYXJzZV9ydHBtYXApLAoJICAoZ3N0X3J0c3BzcmNfc3RyZWFtX2NvbmZpZ3VyZV90cmFuc3BvcnQpLCAoZ3N0X3J0c3BzcmNfc2VuZCksCgkgIChnc3RfcnRzcHNyY19wYXJzZV9tZXRob2RzKSwgKGdzdF9ydHNwc3JjX29wZW4pLAoJICAoZ3N0X3J0c3BzcmNfcGxheSksIChnc3RfcnRzcHNyY19oYW5kbGVfbWVzc2FnZSk6CgkgICogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5oOgoJICAqIGdzdC9ydHNwL3J0c3BkZWZzLmM6IChydHNwX3N0cnJlc3VsdCk6CgkgICogZ3N0L3J0c3AvcnRzcGRlZnMuaDoKCSAgKiBnc3QvcnRzcC9ydHNwZXh0Lmg6CgkgICogZ3N0L3J0c3AvcnRzcGV4dHdtcy5jOiAocnRzcF9leHRfd21zX3BhcnNlX3NkcCksCgkgIChydHNwX2V4dF93bXNfZ2V0X2NvbnRleHQpOgoJICAqIGdzdC9ydHNwL3J0c3BleHR3bXMuaDoKCSAgKiBnc3QvcnRzcC9ydHNwdHJhbnNwb3J0LmM6IChydHNwX3RyYW5zcG9ydF9pbml0KSwgKHBhcnNlX21vZGUpLAoJICAocnRzcF90cmFuc3BvcnRfcGFyc2UpOgoJICAqIGdzdC9ydHNwL3J0c3B0cmFuc3BvcnQuaDoKCSAgRmFjdG9yIG91dCBleHRlbnNpb24gaW4gc2VwYXJhdGUgbW9kdWxlLgoJICBGaXggZ2V0Y2FwcyB0byBmaWx0ZXIgYWdhaW5zdCB0aGUgcGFkdGVtcGxhdGUuCgkgIFVzZSBDb250ZW50LUJhc2UgaWYgdGhlIHNlcnZlciBnaXZlcyBvbmUuCgkgIFJld29yayB0aGUgdHJhbnNwb3J0IHBhcnNpbmcgYSBiaXQgZm9yIGZ1dHVyZSBleHRlbnNpb25zLgoJICBBZGRlZCBzb21lIFJlYWwgSGVhZGVyIGZpZWxkIGRlZmluaXRpb25zLgoKMjAwNi0xMC0wNCAxMDoyOToxMSArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJICBkb2NzL3BsdWdpbnMvOiBhZGRlZCB2NGwyIHN0dWJzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgYWRkZWQgdjRsMiBzdHVicwoJICAqIGdzdC1wbHVnaW5zLWdvb2Quc3BlYy5pbjoKCSAgYWRkIHY0bDIKCjIwMDYtMTAtMDQgMTA6MjQ6NDkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvYXBldGFnL2dzdGFwZWRlbXV4LmM6IEV4dHJhY3QgZGlzYy9hbGJ1bS9tZWRpdW0gbnVtYmVyIGFuZCBjb3VudCBhbmQgdHJ5IGhhcmRlciB0byBleHRyYWN0IHRyYWNrIG51bWJlci9jb3VudC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2FwZXRhZy9nc3RhcGVkZW11eC5jOiAoYXBlX2RlbXV4X3BhcnNlX3RhZ3MpOgoJICBFeHRyYWN0IGRpc2MvYWxidW0vbWVkaXVtIG51bWJlciBhbmQgY291bnQgYW5kIHRyeSBoYXJkZXIKCSAgdG8gZXh0cmFjdCB0cmFjayBudW1iZXIvY291bnQuCgoyMDA2LTEwLTAzIDE4OjM2OjI5ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIHRlc3RzL2ljbGVzLy5naXRpZ25vcmU6CgkgIG1vYXAgaWdub3JlCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBtb2FwIGlnbm9yZQoKMjAwNi0xMC0wMyAxODozNTozNCArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiB0ZXN0cy9pY2xlcy9NYWtlZmlsZS5hbToKCSAgYWRkIGljbGUgZm9yIHY0bDIKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGFkZCBpY2xlIGZvciB2NGwyCgoyMDA2LTEwLTAzIDE4OjE1OjU4ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkgIGFkZCBidWlsZCBzdHVmZiBmb3IgdjRsMiwgbmVlZHMgLS1lbmFibGUtZXhwZXJpbWVudGFsIHVudGlsIHRoZSBsYXN0IGJpdHMgYXJlIHJlc29sdmVkCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBzeXMvTWFrZWZpbGUuYW06CgkgIGFkZCBidWlsZCBzdHVmZiBmb3IgdjRsMiwgbmVlZHMgLS1lbmFibGUtZXhwZXJpbWVudGFsIHVudGlsCgkgIHRoZSBsYXN0IGJpdHMgYXJlIHJlc29sdmVkCgoyMDA2LTEwLTAzIDEzOjQ3OjEwICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgY29tbWVudCBvdXQgdGhlIG5vdGlmaWVzIGZvciByZW1vdmVkIHByb3BlcnRpZXMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGNvbW1lbnQgb3V0IHRoZSBub3RpZmllcyBmb3IgcmVtb3ZlZCBwcm9wZXJ0aWVzCgoyMDA2LTEwLTAzIDEzOjMwOjQ4ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkgIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzogY29tbWVudCBvdXQgdGhlIHByb3BlcnRpZXMgdGhhdCBhcmUgYWxyZWFkeSBwYXJ0IG9mIHRoZSB0dW5lciBpbnRlcmZhY2UuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgKGdzdF92NGwyX29iamVjdF9pbnN0YWxsX3Byb3BlcnRpZXNfaGVscGVyKToKCSAgY29tbWVudCBvdXQgdGhlIHByb3BlcnRpZXMgdGhhdCBhcmUgYWxyZWFkeSBwYXJ0IG9mIHRoZSB0dW5lcgoJICBpbnRlcmZhY2UuCgoyMDA2LTEwLTAzIDEzOjE4OjU5ICswMDAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSAgc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOiBJbXByb3ZlIGRvY3MuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA2LTEwLTAzICBaYWhlZXIgQWJiYXMgTWVyYWxpICA8emFoZWVyYWJiYXMgYXQgbWVyYWxpIGRvdCBvcmc+CgkgICogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJICBJbXByb3ZlIGRvY3MuCgoyMDA2LTEwLTAyIDE2OjE0OjA2ICswMDAwICBDaHJpc3RpYW4gU2NoYWxsZXIgPHVyYWV1c0Bnbm9tZS5vcmc+CgoJKiBnc3QtcGx1Z2lucy1nb29kLnNwZWMuaW46CgkgIHN0b3AgcmVtb3ZpbmcgZ2RrcGl4YnVmIHBsdWdpbiBmcm9tIHBhY2thZ2UKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHN0b3AgcmVtb3ZpbmcgZ2RrcGl4YnVmIHBsdWdpbiBmcm9tIHBhY2thZ2UKCjIwMDYtMDktMjkgMTU6Mzk6NDEgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbTogRGlzYWJsZSBhdXRvZGV0ZWN0IHRlc3QgdGVtcG9yYXJpbHksIHNvIHRoYXQgdGhlIGJ1aWxkIGJvdHMgdXBkYXRlIC1iYWQgYW5kIHRoZSByYW5rcyBvZiB1bnIuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgIERpc2FibGUgYXV0b2RldGVjdCB0ZXN0IHRlbXBvcmFyaWx5LCBzbyB0aGF0IHRoZSBidWlsZCBib3RzCgkgIHVwZGF0ZSAtYmFkIGFuZCB0aGUgcmFua3Mgb2YgdW5yZWxpYWJsZSB2aWRlbyBzaW5rcyBpbiB0aGVyZS4KCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdXRvZGV0ZWN0LmM6IChHU1RfU1RBUlRfVEVTVCk6CgkgIFNraXAgdGVzdCBpZiBubyB1c2FibGUgdmlkZW9zaW5rIGlzIGZvdW5kLgoKMjAwNi0wOS0yOSAxNTozNzoyOSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHNwL1VSTFM6IEFkZCBzb21lIG1vcmUgVVJMcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0c3AvVVJMUzoKCSAgQWRkIHNvbWUgbW9yZSBVUkxzLgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogKGdzdF9ydHNwc3JjX2NsYXNzX2luaXQpLAoJICAoZ3N0X3J0c3BzcmNfaW5pdCksIChnc3RfcnRzcHNyY19maW5hbGl6ZSksCgkgIChnc3RfcnRzcHNyY19zZXRfcHJvcGVydHkpLCAoZ3N0X3J0c3BzcmNfZ2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9ydHNwc3JjX3N0cmVhbV9zZXR1cF9ydHApLCAoZ3N0X3J0c3BzcmNfbG9vcF9pbnRlcmxlYXZlZCksCgkgIChnc3RfcnRzcHNyY19sb29wX3VkcCksIChnc3RfcnRzcHNyY19sb29wX3NlbmRfY21kKSwKCSAgKGdzdF9ydHNwc3JjX2xvb3ApLCAoZ3N0X3J0c3BzcmNfc2VuZCksCgkgIChnc3RfcnRzcHNyY19wYXJzZV9tZXRob2RzKSwgKGdzdF9ydHNwc3JjX29wZW4pLAoJICAoZ3N0X3J0c3BzcmNfY2xvc2UpLCAoZ3N0X3J0c3BzcmNfcGxheSksIChnc3RfcnRzcHNyY19wYXVzZSksCgkgIChnc3RfcnRzcHNyY19oYW5kbGVfbWVzc2FnZSksIChnc3RfcnRzcHNyY19jaGFuZ2Vfc3RhdGUpOgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuaDoKCSAgQWRkIHRpbWVvdXQgcHJvcGVydHkgdG8gY29udHJvbCBVRFAgdGltZW91dHMuCgkgIEZpeCBlcnJvciBtZXNzYWdlcy4KCSAgQWxzbyBzdGFydCBhIGxvb3AgZnVuY3Rpb24gd2hlbiBvcGVyYXRpbmcgaW4gVURQIG1vZGUgc28gdGhhdCB3ZSBjYW4KCSAgZG8gc29tZSBtb3JlIHN0dWZmIGFzeW5jLgoJICBIYW5kbGUgZWxlbWVudCBtZXNzYWdlcyBmcm9tIHVkcHNyYyB0byBkZXRlY3QgdGltZW91dHMuIElmIGEgdGltZW91dAoJICBoYXBwZW5zIHdlIGN1cnJlbnRseSBnZW5lcmF0ZSBhbiBlcnJvci4KCSAgQVBJOiBydHNwc3JjOjp0aW1lb3V0IHByb3BlcnR5LgoJICAqIGdzdC91ZHAvZ3N0dWRwc3JjLmM6IChnc3RfdWRwc3JjX2NsYXNzX2luaXQpLAoJICAoZ3N0X3VkcHNyY19jcmVhdGUpOgoJICBSZWFsbHkgaW1wbGVtZW50IHRoZSB0aW1lb3V0IGluIG1pY3Jvc2Vjb25kcyBhbmQgbm90IG1pbGxpc2Vjb25kcy4KCjIwMDYtMDktMjkgMTE6MDk6NDAgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvdWRwL2dzdHVkcHNyYy4qOiBBZGRlZCBwcm9wZXJ0eSB0byBwb3N0IGEgbWVzc2FnZSBvbiB0aW1lb3V0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvdWRwL2dzdHVkcHNyYy5jOiAoZ3N0X3VkcHNyY19jbGFzc19pbml0KSwgKGdzdF91ZHBzcmNfaW5pdCksCgkgIChnc3RfdWRwc3JjX2NyZWF0ZSksIChnc3RfdWRwc3JjX3NldF9wcm9wZXJ0eSksCgkgIChnc3RfdWRwc3JjX2dldF9wcm9wZXJ0eSksIChnc3RfdWRwc3JjX3VubG9jayksIChnc3RfdWRwc3JjX3N0b3ApOgoJICAqIGdzdC91ZHAvZ3N0dWRwc3JjLmg6CgkgIEFkZGVkIHByb3BlcnR5IHRvIHBvc3QgYSBtZXNzYWdlIG9uIHRpbWVvdXQuCgkgIFVwZGF0ZWQgZG9jcy4KCSAgV2hlbiByZXN0YXJ0aW5nIHRoZSBzZWxlY3QsIGluaXRpYWxpemUgdGhlIGZkc2V0cyBhZ2Fpbi4KCSAgSW5pdCBjb250cm9sIHNvY2tldHMgc28gd2UgZG9uJ3QgYWNjaWRlbnRhbGx5IGNsb3NlIGEgcmFuZG9tIHNvY2tldC4KCSAgQVBJOiBHc3RVRFBTcmM6OnRpbWVvdXQgcHJvcGVydHkKCjIwMDYtMDktMjkgMDg6MTU6MDUgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IEZpeCBmbGFnIHJlZ2lzdHJhdGlvbi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiAoZ3N0X3J0c3BfcHJvdG9fZ2V0X3R5cGUpOgoJICBGaXggZmxhZyByZWdpc3RyYXRpb24uCgkgICogZ3N0L3J0c3AvcnRzcGNvbm5lY3Rpb24uYzogKHJ0c3BfY29ubmVjdGlvbl9yZWFkKToKCSAgUmVhZGluZyAwIGFsc28gbWVhbnMgJ25vIG1vcmUgY29tbWFuZHMnCgoyMDA2LTA5LTI5IDA4OjA5OjI0ICswMDAwICBBbnRvaW5lIFRyZW1ibGF5IDxoZXhhMDBAZ21haWwuY29tPgoKCSAgZ3N0L3VkcC9nc3R1ZHBzcmMuYzogRml4IHBvc3NpYmxlIGluZmluaXRlIGxvb3Agd2hlbiBzaHV0dGluZyBkb3duLCBhIHJlYWQgY2FuIGFsc28gcmV0dXJuIDAgdG8gaW5kaWNhdGUgbm8gbW9yZSBtZXNzLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogQW50b2luZSBUcmVtYmxheSA8aGV4YTAwIGF0IGdtYWlsIGRvdCBjb20+CgkgICogZ3N0L3VkcC9nc3R1ZHBzcmMuYzogKGdzdF91ZHBzcmNfY3JlYXRlKToKCSAgRml4IHBvc3NpYmxlIGluZmluaXRlIGxvb3Agd2hlbiBzaHV0dGluZyBkb3duLCBhIHJlYWQgY2FuIGFsc28gcmV0dXJuCgkgIDAgdG8gaW5kaWNhdGUgbm8gbW9yZSBtZXNzYWdlcyBhcmUgYXZhaWxhYmxlLiBGaXhlcyAjMzU4MTU2LgoKMjAwNi0wOS0yOCAxNzowODo0NyArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIHN5cy92NGwyLzogRnJhbWVyYXRlIGNhbiBiZSAwLzEgdG9vLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6IChnc3RfdjRsMnNyY19nZXRfYWxsX2NhcHMpLAoJICAoZ3N0X3Y0bDJzcmNfZ2V0X2NhcHMpOgoJICAqIHN5cy92NGwyL3Y0bDJfY2FsbHMuYzogKGdzdF92NGwyX2ZpbGxfbGlzdHMpOgoJICBGcmFtZXJhdGUgY2FuIGJlIDAvMSB0b28uCgkgIEluaXQgZnJhbWVyYXRlIHRvIDAvMSBiZWZvcmUgcXVlcnlpbmcgaXQgc28gdGhhdCB3ZSBjYW4gZGV0ZWN0CgkgIGRldmljZXMgdGhhdCBkb24ndCBrbm93IGFib3V0IGEgZnJhbWVyYXRlLgoJICBBZGQgc29tZSBtb3JlIGRlYnVnZ2luZyBpbmZvLgoKMjAwNi0wOS0yOCAxNDozMTo0MSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogQWRkIHN1cHBvcnQgZm9yICd5djEyJyBmb3VyY2MuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKHF0ZGVtdXhfdmlkZW9fY2Fwcyk6CgkgIEFkZCBzdXBwb3J0IGZvciAneXYxMicgZm91cmNjLgoKMjAwNi0wOS0yNyAxNzo0Nzo1NyArMDAwMCAgRWRnYXJkIExpbWEgPGVkZ2FyZC5saW1hQGluZHQub3JnLmJyPgoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmg6CgkqIHRlc3RzL2ljbGVzL3Y0bDJzcmMtdGVzdC5jOgoJICBSZW1vdmVkIHNldC11bmRlZi1mcHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBSZW1vdmVkIHNldC11bmRlZi1mcHMuCgoyMDA2LTA5LTI3IDE3OjA0OjIyICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgc3lzL3Y0bDIvOiBSZW5hbWVkIHNvbWUgcHJvcGVydGllcyB0byBtYXRjaCB0aGUgdHVuZXIgaW50ZXJmYWNlIG5hbWluZy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICAoZ3N0X3Y0bDJfb2JqZWN0X2luc3RhbGxfcHJvcGVydGllc19oZWxwZXIpLCAoZ3N0X3Y0bDJfb2JqZWN0X25ldyksCgkgIChnc3RfdjRsMl9vYmplY3Rfc2V0X3Byb3BlcnR5X2hlbHBlciksCgkgIChnc3RfdjRsMl9vYmplY3RfZ2V0X3Byb3BlcnR5X2hlbHBlciksIChnc3RfdjRsMl9zZXRfZGVmYXVsdHMpOgoJICAqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuaDoKCSAgKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6IChnc3RfdjRsMnNyY19jbGFzc19pbml0KSwKCSAgKGdzdF92NGwyc3JjX2NyZWF0ZSk6CgkgICogc3lzL3Y0bDIvZ3N0djRsMnR1bmVyLmM6IChnc3RfdjRsMl90dW5lcl9jb250YWluc19jaGFubmVsKSwKCSAgKGdzdF92NGwyX3R1bmVyX2xpc3RfY2hhbm5lbHMpLAoJICAoZ3N0X3Y0bDJfdHVuZXJfc2V0X2NoYW5uZWxfYW5kX25vdGlmeSksCgkgIChnc3RfdjRsMl90dW5lcl9nZXRfY2hhbm5lbCksIChnc3RfdjRsMl90dW5lcl9jb250YWluc19ub3JtKSwKCSAgKGdzdF92NGwyX3R1bmVyX2xpc3Rfbm9ybXMpLCAoZ3N0X3Y0bDJfdHVuZXJfc2V0X25vcm1fYW5kX25vdGlmeSksCgkgIChnc3RfdjRsMl90dW5lcl9nZXRfbm9ybSk6CgkgICogc3lzL3Y0bDIvdjRsMl9jYWxscy5jOiAoZ3N0X3Y0bDJfZ2V0X2NhcGFiaWxpdGllcyksCgkgIChnc3RfdjRsMl9maWxsX2xpc3RzKSwgKGdzdF92NGwyX2VtcHR5X2xpc3RzKToKCSAgKiBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmM6IChnc3RfdjRsMnNyY19nZXRfZnBzKToKCSAgUmVuYW1lZCBzb21lIHByb3BlcnRpZXMgdG8gbWF0Y2ggdGhlIHR1bmVyIGludGVyZmFjZSBuYW1pbmcuCgoyMDA2LTA5LTI3IDE2OjE0OjE4ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgU21hbGwgY2xlYW51cHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzogKGdzdF92NGwyX29iamVjdF9zZXRfcHJvcGVydHlfaGVscGVyKSwKCSAgKGdzdF92NGwyX3NldF9kZWZhdWx0cyk6CgkgICogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOiAoZ3N0X3Y0bDJzcmNfZ2V0X3JlYWQpLAoJICAoZ3N0X3Y0bDJzcmNfY3JlYXRlKToKCSAgKiBzeXMvdjRsMi9nc3R2NGwyeG92ZXJsYXkuYzogKGdzdF92NGwyX3hvdmVybGF5X29wZW4pOgoJICAqIHN5cy92NGwyL3Y0bDJfY2FsbHMuYzogKGdzdF92NGwyX2dldF9jYXBhYmlsaXRpZXMpLAoJICAoZ3N0X3Y0bDJfZmlsbF9saXN0cyksIChnc3RfdjRsMl9vcGVuKSwgKGdzdF92NGwyX3NldF9ub3JtKSwKCSAgKGdzdF92NGwyX2dldF9mcmVxdWVuY3kpLCAoZ3N0X3Y0bDJfc2V0X2ZyZXF1ZW5jeSksCgkgIChnc3RfdjRsMl9zaWduYWxfc3RyZW5ndGgpLCAoZ3N0X3Y0bDJfZ2V0X2F0dHJpYnV0ZSksCgkgIChnc3RfdjRsMl9zZXRfYXR0cmlidXRlKSwgKGdzdF92NGwyX2dldF9pbnB1dCksCgkgIChnc3RfdjRsMl9zZXRfaW5wdXQpOgoJICAqIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuYzogKGdzdF92NGwyc3JjX2ZpbGxfZm9ybWF0X2xpc3QpLAoJICAoZ3N0X3Y0bDJzcmNfZ3JhYl9mcmFtZSksIChnc3RfdjRsMnNyY19nZXRfY2FwdHVyZSksCgkgIChnc3RfdjRsMnNyY19zZXRfY2FwdHVyZSksIChnc3RfdjRsMnNyY19jYXB0dXJlX2luaXQpLAoJICAoZ3N0X3Y0bDJzcmNfY2FwdHVyZV9zdGFydCksIChnc3RfdjRsMnNyY19jYXB0dXJlX3N0b3ApLAoJICAoZ3N0X3Y0bDJzcmNfYnVmZmVyX25ldyk6CgkgICogdGVzdHMvaWNsZXMvdjRsMnNyYy10ZXN0LmM6IChteV9idXNfY2FsbGJhY2spLCAobWFpbik6CgkgIFNtYWxsIGNsZWFudXBzLgoJICBGaXggZXJyb3IgbWVzc2FnZXMuCgkgIFVzZSBsb2NrcyB3aGVuIGdldHRpbmcgdGltZXN0YW1wcy4KCSAgRml4IGxlYWtzIGluIHRlc3QuCgkgIEFkZCBsaWNlbnNpbmcgaGVhZGVyIHRvIHRlc3RzLgoKMjAwNi0wOS0yNyAxNToxNDowNyArMDAwMCAgRWRnYXJkIExpbWEgPGVkZ2FyZC5saW1hQGluZHQub3JnLmJyPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuaDoKCSogc3lzL3Y0bDIvZ3N0djRsMnR1bmVyLmM6CgkqIHN5cy92NGwyL3Y0bDJfY2FsbHMuYzoKCSogc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5jOgoJKiB0ZXN0cy9pY2xlcy92NGwyc3JjLXRlc3QuYzoKCSAgU29tZSBjbGVhbnVwcyBhbmQgY29tbWVudHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBTb21lIGNsZWFudXBzIGFuZCBjb21tZW50cy4KCjIwMDYtMDktMjcgMTM6NDE6MzUgKzAwMDAgIENocmlzdGlhbiBTY2hhbGxlciA8dXJhZXVzQGdub21lLm9yZz4KCgkqIGdzdC1wbHVnaW5zLWdvb2Quc3BlYy5pbjoKCSAgYWRkIGF1ZGlvZnggcGx1Z2luCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBhZGQgYXVkaW9meCBwbHVnaW4KCjIwMDYtMDktMjYgMTQ6MTc6NTQgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBkb2NzL3BsdWdpbnMvOiBBZGQgdjRsMiBwbHVnaW4gdG8gdGhlIGRvY3MuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgIEFkZCB2NGwyIHBsdWdpbiB0byB0aGUgZG9jcy4KCSAgKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6IChnc3RfdjRsMnNyY19nZXRfcmVhZCksCgkgIChnc3RfdjRsMnNyY19nZXRfbW1hcCksIChnc3RfdjRsMnNyY19jcmVhdGUpOgoJICAqIHN5cy92NGwyL2dzdHY0bDJzcmMuaDoKCSAgKiBzeXMvdjRsMi9nc3R2NGwydmlkb3JpZW50LmM6CgkgIEZpeCBkb2NzLgoJICBSZW1vdmUgc29tZSBtb3JlIGV4dGVybnMuCgoyMDA2LTA5LTI2IDEzOjE4OjA2ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgc3lzL3Y0bDIvTWFrZWZpbGUuYW06IEZpeCBtYWtlZmlsZSwgbGlzdCBsaWJzIGluIHN0YWNrIG9yZGVyLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvdjRsMi9NYWtlZmlsZS5hbToKCSAgRml4IG1ha2VmaWxlLCBsaXN0IGxpYnMgaW4gc3RhY2sgb3JkZXIuCgkgICogc3lzL3Y0bDIvZ3N0djRsMmNvbG9yYmFsYW5jZS5jOgoJICAqIHN5cy92NGwyL2dzdHY0bDJjb2xvcmJhbGFuY2UuaDoKCSAgKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6IChnc3RfdjRsMl9kZXZpY2VfZ2V0X3R5cGUpLAoJICAoZ3N0X3Y0bDJfb2JqZWN0X2luc3RhbGxfcHJvcGVydGllc19oZWxwZXIpOgoJICAqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuaDoKCSAgKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6IChnc3RfdjRsMnNyY19nZXRfcmVhZCksCgkgIChnc3RfdjRsMnNyY19nZXRfbW1hcCksIChnc3RfdjRsMnNyY19jcmVhdGUpOgoJICAqIHN5cy92NGwyL2dzdHY0bDJzcmMuaDoKCSAgKiBzeXMvdjRsMi9nc3R2NGwydHVuZXIuaDoKCSAgKiBzeXMvdjRsMi9nc3R2NGwydmlkb3JpZW50Lmg6CgkgICogc3lzL3Y0bDIvZ3N0djRsMnhvdmVybGF5Lmg6CgkgICogc3lzL3Y0bDIvdjRsMl9jYWxscy5oOgoJICAqIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuaDoKCSAgRml4IGNvZGluZyBzdHlsZToKCSAgLSBSZW1vdmUgZXh0ZXJuIGZyb20gZnVuY3Rpb25zLgoJICAtIEZpeCBoZWFkZXIgaW5kZW50YXRpb24uCgkgIEZpeCBGbGFncywgYWRkIGRlZmF1bHRzIGZvciBwcm9wZXJ0aWVzLgoJICBSZW1vdmUgdW51c2VkIGVudW1zLgoJICBGaXggVE9PX0xBWlkgaW4gZXJyb3IgbWVzc2FnZXMuCgoyMDA2LTA5LTI2IDExOjA2OjE3ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgc3lzL3Y0bDIvOiBGaXggcGFzcyBhdCBjb2RlIGNsZWFudXBzLCBtb3ZlIGVycm9ycyBjYXNlcyBvdXQgb2YgdGhlIG5vcm1hbCBmbG93IGZvciBhZGRpdGlvbmFsIGNvZGUgY2xhcml0eS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOiAoZ3N0X3Y0bDJfY2xhc3NfcHJvYmVfZGV2aWNlcyksCgkgIChnc3RfdjRsMl9wcm9iZV9uZWVkc19wcm9iZSksCgkgIChnc3RfdjRsMl9vYmplY3RfaW5zdGFsbF9wcm9wZXJ0aWVzX2hlbHBlciksIChnc3RfdjRsMl9vYmplY3RfbmV3KSwKCSAgKGdzdF92NGwyX29iamVjdF9kZXN0cm95KSwgKGdzdF92NGwyX29iamVjdF9zZXRfcHJvcGVydHlfaGVscGVyKSwKCSAgKGdzdF92NGwyX29iamVjdF9nZXRfcHJvcGVydHlfaGVscGVyKSwgKGdzdF92NGwyX3NldF9kZWZhdWx0cyksCgkgIChnc3RfdjRsMl9vYmplY3Rfc3RhcnQpLCAoZ3N0X3Y0bDJfb2JqZWN0X3N0b3ApOgoJICAqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuaDoKCSAgKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6IChnc3RfdjRsMnNyY19jbGFzc19pbml0KSwKCSAgKGdzdF92NGwyc3JjX2luaXQpLCAoZ3N0X3Y0bDJzcmNfZGlzcG9zZSksCgkgIChnc3RfdjRsMnNyY19zZXRfcHJvcGVydHkpLCAoZ3N0X3Y0bDJzcmNfZ2V0X3Byb3BlcnR5KSwKCSAgKGdzdF92NGwyc3JjX2ZpeGF0ZSksIChnc3RfdjRsMnNyY19nZXRfY2FwcyksCgkgIChnc3RfdjRsMnNyY19zZXRfY2FwcyksIChnc3RfdjRsMnNyY19nZXRfcmVhZCksCgkgIChnc3RfdjRsMnNyY19nZXRfbW1hcCksIChnc3RfdjRsMnNyY19jcmVhdGUpOgoJICAqIHN5cy92NGwyL3Y0bDJfY2FsbHMuYzogKGdzdF92NGwyX2dldF9jYXBhYmlsaXRpZXMpLAoJICAoZ3N0X3Y0bDJfb3BlbiksIChnc3RfdjRsMl9jbG9zZSksIChnc3RfdjRsMl9nZXRfbm9ybSksCgkgIChnc3RfdjRsMl9zZXRfbm9ybSksIChnc3RfdjRsMl9nZXRfZnJlcXVlbmN5KSwKCSAgKGdzdF92NGwyX3NldF9mcmVxdWVuY3kpLCAoZ3N0X3Y0bDJfc2lnbmFsX3N0cmVuZ3RoKSwKCSAgKGdzdF92NGwyX2dldF9hdHRyaWJ1dGUpLCAoZ3N0X3Y0bDJfc2V0X2F0dHJpYnV0ZSksCgkgIChnc3RfdjRsMl9nZXRfaW5wdXQpLCAoZ3N0X3Y0bDJfc2V0X2lucHV0KToKCSAgKiBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmM6IChnc3RfdjRsMnNyY19maWxsX2Zvcm1hdF9saXN0KSwKCSAgKGdzdF92NGwyc3JjX3F1ZXVlX2ZyYW1lKSwgKGdzdF92NGwyc3JjX2dyYWJfZnJhbWUpLAoJICAoZ3N0X3Y0bDJzcmNfZ2V0X2NhcHR1cmUpLCAoZ3N0X3Y0bDJzcmNfc2V0X2NhcHR1cmUpLAoJICAoZ3N0X3Y0bDJzcmNfY2FwdHVyZV9pbml0KSwgKGdzdF92NGwyc3JjX2NhcHR1cmVfc3RhcnQpLAoJICAoZ3N0X3Y0bDJzcmNfY2FwdHVyZV9zdG9wKSwgKGdzdF92NGwyc3JjX2NhcHR1cmVfZGVpbml0KSwKCSAgKGdzdF92NGwyc3JjX2dldF9zaXplX2xpbWl0cyksIChnc3RfdjRsMnNyY19zZXRfZnBzKSwKCSAgKGdzdF92NGwyc3JjX2dldF9mcHMpLCAoZ3N0X3Y0bDJzcmNfYnVmZmVyX2ZpbmFsaXplKSwKCSAgKGdzdF92NGwyc3JjX2J1ZmZlcl9uZXcpOgoJICBGaXggcGFzcyBhdCBjb2RlIGNsZWFudXBzLCBtb3ZlIGVycm9ycyBjYXNlcyBvdXQgb2YgdGhlIG5vcm1hbAoJICBmbG93IGZvciBhZGRpdGlvbmFsIGNvZGUgY2xhcml0eS4KCjIwMDYtMDktMjUgMTM6NTU6NDQgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvYXV0b2RldGVjdC86IFNtYWxsIGNsZWFudXBzLiBkb24ndCB0cnkgdG8gc2V0ICJzeW5jIiBwcm9wZXJ0eSB3aGVuIGl0IGlzIG5vdCBhdmFpbGFibGUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG9hdWRpb3NpbmsuYzoKCSAgKGdzdF9hdXRvX2F1ZGlvX3NpbmtfYmFzZV9pbml0KSwgKGdzdF9hdXRvX2F1ZGlvX3NpbmtfY2xhc3NfaW5pdCksCgkgIChnc3RfYXV0b19hdWRpb19zaW5rX2ZpbmRfYmVzdCk6CgkgICogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b3ZpZGVvc2luay5jOiAoZ3N0X2F1dG9fdmlkZW9fc2lua19kZXRlY3QpOgoJICBTbWFsbCBjbGVhbnVwcy4KCSAgZG9uJ3QgdHJ5IHRvIHNldCAic3luYyIgcHJvcGVydHkgd2hlbiBpdCBpcyBub3QgYXZhaWxhYmxlLgoKMjAwNi0wOS0yNSAxMTo0Nzo0MiArMDAwMCAgUGV0ZXIgS2plbGxlcnN0ZWR0IDxwa2pAYXhpcy5jb20+CgoJICBnc3QvOiBJbmNsdWRlIHN0ZGxpYi5oIGluIHNvbWUgbW9yZSBwbGFjZXMsIG1ha2VzIHRoaW5ncyBjb21waWxlIHdpdGggdUNsaWJjIGFuZCAtV2Vycm9yICgjMzU3NTkyKS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBQZXRlciBLamVsbGVyc3RlZHQgIDxwa2ogYXQgYXhpcyBjb20+CgkgICogZ3N0L2FscGhhL2dzdGFscGhhLmM6CgkgICogZ3N0L3J0cC9nc3RydHBhbXJkZXBheS5jOgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgKiBnc3QvdWRwL2dzdHVkcHNyYy5jOgoJICAqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIuYzoKCSAgSW5jbHVkZSBzdGRsaWIuaCBpbiBzb21lIG1vcmUgcGxhY2VzLCBtYWtlcyB0aGluZ3MgY29tcGlsZQoJICB3aXRoIHVDbGliYyBhbmQgLVdlcnJvciAoIzM1NzU5MikuCgoyMDA2LTA5LTI1IDA5OjE1OjEwICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L2pwZWcvZ3N0anBlZ2RlYy5jOiBvdXIgY29kZSBzaG91bGQgaGFuZGxlIHRoYXQgZmluZS4gU29tZSBvZiB0aGUgYnV0dG9ucyBvbiB0aGUgYXBwbGUgdHJhaWxlciBzaXRlIGFyZSBhcHBhcmVudGx5Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9qcGVnL2dzdGpwZWdkZWMuYzoKCSAgU2V0IG1pbmltdW0gaGVpZ2h0IHRvIDggKGZyb20gMTYpLCBvdXIgY29kZSBzaG91bGQgaGFuZGxlCgkgIHRoYXQgZmluZS4gU29tZSBvZiB0aGUgYnV0dG9ucyBvbiB0aGUgYXBwbGUgdHJhaWxlciBzaXRlCgkgIGFyZSBhcHBhcmVudGx5IG9ubHkgMTUgcGl4ZWxzIGhpZ2ggKHNlZSAjMzU3NDcwKS4KCjIwMDYtMDktMjMgMTU6MzE6NTYgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRzcC86IEltcHJvdmUgZXJyb3IgcmVwb3J0aW5nLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IChnc3RfcnRzcHNyY19sb29wKSwgKGdzdF9ydHNwc3JjX3NlbmQpLAoJICAoZ3N0X3J0c3BzcmNfb3Blbik6CgkgICogZ3N0L3J0c3AvcnRzcGNvbm5lY3Rpb24uYzogKHJ0c3BfY29ubmVjdGlvbl9jcmVhdGUpLAoJICAocnRzcF9jb25uZWN0aW9uX2Nvbm5lY3QpLCAocnRzcF9jb25uZWN0aW9uX3JlYWQpLCAocmVhZF9ib2R5KSwKCSAgKHJ0c3BfY29ubmVjdGlvbl9yZWNlaXZlKToKCSAgKiBnc3QvcnRzcC9ydHNwZGVmcy5jOiAocnRzcF9zdHJyZXN1bHQpOgoJICAqIGdzdC9ydHNwL3J0c3BkZWZzLmg6CgkgIEltcHJvdmUgZXJyb3IgcmVwb3J0aW5nLgoKMjAwNi0wOS0yMyAxNTozMDo0MCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHAvOiBGaXgga2xhc3MgdHlwb3MuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHAvZ3N0YXN0ZXJpc2toMjYzLmM6IChnc3RfYXN0ZXJpc2toMjYzX3BsdWdpbl9pbml0KToKCSAgKiBnc3QvcnRwL2dzdHJ0cEwxNmRlcGF5LmM6IChnc3RfcnRwX0wxNmRlcGF5X3BsdWdpbl9pbml0KToKCSAgKiBnc3QvcnRwL2dzdHJ0cGFtcmRlcGF5LmM6IChnc3RfcnRwX2Ftcl9kZXBheV9wbHVnaW5faW5pdCk6CgkgICogZ3N0L3J0cC9nc3RydHBkZXBheS5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwZ3NtZGVwYXkuYzogKGdzdF9ydHBfZ3NtX2RlcGF5X3BsdWdpbl9pbml0KToKCSAgKiBnc3QvcnRwL2dzdHJ0cGgyNjNwZGVwYXkuYzogKGdzdF9ydHBfaDI2M3BfZGVwYXlfcGx1Z2luX2luaXQpOgoJICAqIGdzdC9ydHAvZ3N0cnRwaDI2NGRlcGF5LmM6IChnc3RfcnRwX2gyNjRfZGVwYXlfcGx1Z2luX2luaXQpOgoJICAqIGdzdC9ydHAvZ3N0cnRwaWxiY2RlcGF5LmM6IChnc3RfcnRwX2lsYmNfZGVwYXlfcGx1Z2luX2luaXQpOgoJICAqIGdzdC9ydHAvZ3N0cnRwbXAydGRlcGF5LmM6IChnc3RfcnRwX21wMnRfZGVwYXlfc2V0Y2FwcyksCgkgIChnc3RfcnRwX21wMnRfZGVwYXlfcGx1Z2luX2luaXQpOgoJICAqIGdzdC9ydHAvZ3N0cnRwbXA0Z2RlcGF5LmM6IChnc3RfcnRwX21wNGdfZGVwYXlfcGx1Z2luX2luaXQpOgoJICAqIGdzdC9ydHAvZ3N0cnRwbXA0dmRlcGF5LmM6IChnc3RfcnRwX21wNHZfZGVwYXlfcGx1Z2luX2luaXQpOgoJICAqIGdzdC9ydHAvZ3N0cnRwbXBhZGVwYXkuYzogKGdzdF9ydHBfbXBhX2RlcGF5X3BsdWdpbl9pbml0KToKCSAgKiBnc3QvcnRwL2dzdHJ0cHBjbWFkZXBheS5jOiAoZ3N0X3J0cF9wY21hX2RlcGF5X3BsdWdpbl9pbml0KToKCSAgKiBnc3QvcnRwL2dzdHJ0cHBjbXVkZXBheS5jOiAoZ3N0X3J0cF9wY211X2RlcGF5X3BsdWdpbl9pbml0KToKCSAgKiBnc3QvcnRwL2dzdHJ0cHNwZWV4ZGVwYXkuYzogKGdzdF9ydHBfc3BlZXhfZGVwYXlfcGx1Z2luX2luaXQpOgoJICAqIGdzdC9ydHAvZ3N0cnRwc3YzdmRlcGF5LmM6IChnc3RfcnRwX3N2M3ZfZGVwYXlfcGx1Z2luX2luaXQpOgoJICAqIGdzdC9ydHAvZ3N0cnRwdm9yYmlzZGVwYXkuYzogKGdzdF9ydHBfdm9yYmlzX2RlcGF5X3BsdWdpbl9pbml0KToKCSAgRml4IGtsYXNzIHR5cG9zLgoJICBNYXJrIFJBTktfTUFSR0lOQUwsIGRlY29kZWJpbiBjYW4gaGFuZGxlIHRoZSBkZXBheWxvYWRlcnMgZmluZS4KCjIwMDYtMDktMjIgMTc6NTM6NDggKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBjb25maWd1cmUuYWM6IE5lZWQgIC1iYXNlIENWUyBmb3IgZ3N0X2Jhc2VfcnRwX2RlcGF5bG9hZF9wdXNoX3RzKCkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgTmVlZCAgLWJhc2UgQ1ZTIGZvciBnc3RfYmFzZV9ydHBfZGVwYXlsb2FkX3B1c2hfdHMoKS4KCjIwMDYtMDktMjIgMTc6MjI6MzQgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6IERvbid0IGNoZWNrIGZvciBhIHRhZyB0aGF0IGlzIG5ldmVyIHRoZXJlIGFuZCBjaGVjayBpZiB3ZSByZWFkIHRoZSBjb3JyZWN0IHRhZy4gRml4ZXMgc2Vla2luZyAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOiAoZ3N0X2F2aV9kZW11eF9zdHJlYW1faW5kZXgpOgoJICBEb24ndCBjaGVjayBmb3IgYSB0YWcgdGhhdCBpcyBuZXZlciB0aGVyZSBhbmQgY2hlY2sgaWYgd2UgcmVhZCB0aGUKCSAgY29ycmVjdCB0YWcuIEZpeGVzIHNlZWtpbmcgYWdhaW4uCgkgIFdlIG11c3QgcG9zdCBhbiBlcnJvciB3aGVuIGFsbCBwYWRzIGFyZSB1bmxpbmtlZC4KCjIwMDYtMDktMjIgMTU6MTU6MTMgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwLzogTW9yZSBmaXhhZ2UsIHNldCBlbmRvZGVyLXBhcmFtcyBjb3JyZWN0bHkgaW4gdGhlIHBheWxvYWRlci4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvcnRwL2dzdHJ0cC5jOiAocGx1Z2luX2luaXQpOgoJICAqIGdzdC9ydHAvZ3N0cnRwdm9yYmlzZGVwYXkuYzogKGdzdF9ydHBfdm9yYmlzX2RlcGF5X3Byb2Nlc3MpOgoJICAqIGdzdC9ydHAvZ3N0cnRwdm9yYmlzcGF5LmM6IChnc3RfcnRwX3ZvcmJpc19wYXlfc2V0Y2FwcyksCgkgIChnc3RfcnRwX3ZvcmJpc19wYXlfcmVzZXRfcGFja2V0KSwKCSAgKGdzdF9ydHBfdm9yYmlzX3BheV9pbml0X3BhY2tldCksCgkgIChnc3RfcnRwX3ZvcmJpc19wYXlfZmx1c2hfcGFja2V0KSwgKGdzdF9ydHBfdm9yYmlzX3BheV9wYXJzZV9pZCksCgkgIChnc3RfcnRwX3ZvcmJpc19wYXlfaGFuZGxlX2J1ZmZlcik6CgkgIE1vcmUgZml4YWdlLCBzZXQgZW5kb2Rlci1wYXJhbXMgY29ycmVjdGx5IGluIHRoZSBwYXlsb2FkZXIuCgoyMDA2LTA5LTIyIDEyOjEyOjEwICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L2F1dG9kZXRlY3QvOiBNYWtlIHN0YXRpYyBwYWQgdGVtcGxhdGVzIHN0YXRpYyB0byBhcHBlYXNlIHZhbGdyaW5kJ3MgbGVhayBkZXRlY3Rvci4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b2F1ZGlvc2luay5jOgoJICAoZ3N0X2F1dG9fYXVkaW9fc2lua19iYXNlX2luaXQpOgoJICAqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG92aWRlb3NpbmsuYzoKCSAgKGdzdF9hdXRvX3ZpZGVvX3NpbmtfYmFzZV9pbml0KToKCSAgTWFrZSBzdGF0aWMgcGFkIHRlbXBsYXRlcyBzdGF0aWMgdG8gYXBwZWFzZSB2YWxncmluZCdzIGxlYWsKCSAgZGV0ZWN0b3IuCgkgICogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvLmN2c2lnbm9yZToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdXRvZGV0ZWN0LmM6IChHU1RfU1RBUlRfVEVTVCksCgkgIChhdXRvZGV0ZWN0X3N1aXRlKToKCSAgQWRkIHNpbXBsZSB0ZXN0IGZvciB0aGUgZ2hvc3RwYWQgbG9ja3VwIG9uIHNodXRkb3duIGZpeGVkIGluIGNvcmUKCSAgQ1ZTIChhdWRpbyBiaXQgZGlzYWJsZWQgYmVjYXVzZSBpdCB3b3VsZCBuZWVkIGRvemVucyBvZiBhbHNhCgkgIHN1cHByZXNzaW9ucyBhbmQgSSdtIHRvbyBsYXp5IHRvIGFkZCB0aG9zZSBub3cpLgoKMjAwNi0wOS0yMiAxMjowODoxNCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHAvOiBTbWFsbCBjbGVhbnVwcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cC9nc3RydHBMMTZkZXBheS5jOiAoZ3N0X3J0cF9MMTZkZXBheV9jaGFuZ2Vfc3RhdGUpOgoJICAqIGdzdC9ydHAvZ3N0cnRwbXA0Z2RlcGF5LmM6IChnc3RfcnRwX21wNGdfZGVwYXlfY2xhc3NfaW5pdCk6CgkgIFNtYWxsIGNsZWFudXBzLgoJICAqIGdzdC9ydHAvTWFrZWZpbGUuYW06CgkgICogZ3N0L3J0cC9nc3RydHAuYzogKHBsdWdpbl9pbml0KToKCSAgKiBnc3QvcnRwL2dzdHJ0cHZvcmJpc2RlcGF5LmM6IChnc3RfcnRwX3ZvcmJpc19kZXBheV9iYXNlX2luaXQpLAoJICAoZ3N0X3J0cF92b3JiaXNfZGVwYXlfY2xhc3NfaW5pdCksIChnc3RfcnRwX3ZvcmJpc19kZXBheV9pbml0KSwKCSAgKGdzdF9ydHBfdm9yYmlzX2RlcGF5X2ZpbmFsaXplKSwgKGdzdF9ydHBfdm9yYmlzX2RlcGF5X3NldGNhcHMpLAoJICAoZ3N0X3J0cF92b3JiaXNfZGVwYXlfcHJvY2VzcyksCgkgIChnc3RfcnRwX3ZvcmJpc19kZXBheV9zZXRfcHJvcGVydHkpLAoJICAoZ3N0X3J0cF92b3JiaXNfZGVwYXlfZ2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9ydHBfdm9yYmlzX2RlcGF5X2NoYW5nZV9zdGF0ZSksCgkgIChnc3RfcnRwX3ZvcmJpc19kZXBheV9wbHVnaW5faW5pdCk6CgkgICogZ3N0L3J0cC9nc3RydHB2b3JiaXNkZXBheS5oOgoJICAqIGdzdC9ydHAvZ3N0cnRwdm9yYmlzcGF5LmM6IChnc3RfcnRwX3ZvcmJpc19wYXlfYmFzZV9pbml0KSwKCSAgKGdzdF9ydHBfdm9yYmlzX3BheV9jbGFzc19pbml0KSwgKGdzdF9ydHBfdm9yYmlzX3BheV9pbml0KSwKCSAgKGdzdF9ydHBfdm9yYmlzX3BheV9zZXRjYXBzKSwgKGdzdF9ydHBfdm9yYmlzX3BheV9pbml0X3BhY2tldCksCgkgIChnc3RfcnRwX3ZvcmJpc19wYXlfZmx1c2hfcGFja2V0KSwKCSAgKGdzdF9ydHBfdm9yYmlzX3BheV9hcHBlbmRfYnVmZmVyKSwKCSAgKGdzdF9ydHBfdm9yYmlzX3BheV9oYW5kbGVfYnVmZmVyKSwKCSAgKGdzdF9ydHBfdm9yYmlzX3BheV9wbHVnaW5faW5pdCk6CgkgICogZ3N0L3J0cC9nc3RydHB2b3JiaXNwYXkuaDoKCSAgQWRkIGV4cGVyaW1lbnRhbCB2b3JiaXMgcGF5IGFuZCBkZXBheWxvYWRlcnMuCgoyMDA2LTA5LTIxIDEzOjMzOjE2ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cC9nc3RydHBtcDRncGF5LmM6IEZpeCBwcm9maWxlLWxldmVsLWlkIHBhcnNpbmcgYW5kIHNldHVwLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwL2dzdHJ0cG1wNGdwYXkuYzogKGdzdF9ydHBfbXA0Z19wYXlfcGFyc2VfYXVkaW9fY29uZmlnKToKCSAgRml4IHByb2ZpbGUtbGV2ZWwtaWQgcGFyc2luZyBhbmQgc2V0dXAuCgoyMDA2LTA5LTIxIDA5OjUwOjQxICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3VkcC86IFVwZGF0ZSBSRUFETUUsIHNpbXBsZSBjbGVhbnVwLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvdWRwL1JFQURNRToKCSAgKiBnc3QvdWRwL2dzdHVkcHNyYy5jOiAoZ3N0X3VkcHNyY19zZXRfcHJvcGVydHkpOgoJICBVcGRhdGUgUkVBRE1FLCBzaW1wbGUgY2xlYW51cC4KCjIwMDYtMDktMjEgMDk6MzU6MTMgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwL1JFQURNRTogVXBkYXRlIFJFQURNRSB3aXRoIHNvbWUgZXhhbXBsZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHAvUkVBRE1FOgoJICBVcGRhdGUgUkVBRE1FIHdpdGggc29tZSBleGFtcGxlcy4KCSAgKiBnc3QvcnRwL2dzdHJ0cG1wNGdwYXkuYzogKGdzdF9ydHBfbXA0Z19wYXlfaW5pdCksCgkgIChnc3RfcnRwX21wNGdfcGF5X2ZpbmFsaXplKSwgKGdzdF9ydHBfbXA0Z19wYXlfcGFyc2VfYXVkaW9fY29uZmlnKSwKCSAgKGdzdF9ydHBfbXA0Z19wYXlfcGFyc2VfdmlkZW9fY29uZmlnKSwgKGdzdF9ydHBfbXA0Z19wYXlfbmV3X2NhcHMpLAoJICAoZ3N0X3J0cF9tcDRnX3BheV9zZXRjYXBzKToKCSAgKiBnc3QvcnRwL2dzdHJ0cG1wNGdwYXkuaDoKCSAgTWFrZSBvcHRpb25hbCBSVFAgcGFyYW1ldGVycyBvZiB0eXBlIFNUUklORywgYXMgcmVxdWlyZWQgYnkgdGhlCgkgIGFwcGxpY2F0aW9uL3gtcnRwIGNhcHMgc3BlY2lmaWNhdGlvbi4KCjIwMDYtMDktMjAgMTk6Mzc6NDUgKzAwMDAgIFBoaWxpcHBlIEthbGFmIDxwaGlsaXBwZS5rYWxhZkBjb2xsYWJvcmEuY28udWs+CgoJICBnc3QvcnRwLzogQ29ycmVjdGx5IGNhbGN1bGF0ZSBzaXplIG9mIGVhY2ggSDI2MysgUlRQIGJ1ZmZlciB0YWtpbmcgaW50byBhY2NvdW50IE1UVSBhbmQKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cC9nc3RydHBoMjYzcGRlcGF5LmM6CgkgICogZ3N0L3J0cC9nc3RydHBoMjYzcHBheS5jOgoJICBDb3JyZWN0bHkgY2FsY3VsYXRlIHNpemUgb2YgZWFjaCBIMjYzKyBSVFAgYnVmZmVyIHRha2luZyBpbnRvIGFjY291bnQgTVRVIGFuZAoJICBSVFAgaGVhZGVyLgoKMjAwNi0wOS0yMCAxNjo0MTo0OCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHAvTWFrZWZpbGUuYW06IEFuZCBtYWtlZmlsZSB0b28uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHAvTWFrZWZpbGUuYW06CgkgIEFuZCBtYWtlZmlsZSB0b28uCgoyMDA2LTA5LTIwIDE2OjA5OjAzICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cC86IEFkZGVkIHByZWxpbWluYXJ5IEFTRiBkZXBheWxvYWRlci4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cC9nc3RydHAuYzogKHBsdWdpbl9pbml0KToKCSAgKiBnc3QvcnRwL2dzdHJ0cGFzZmRlcGF5LmM6IChnc3RfcnRwX2FzZl9kZXBheV9iYXNlX2luaXQpLAoJICAoZ3N0X3J0cF9hc2ZfZGVwYXlfY2xhc3NfaW5pdCksIChnc3RfcnRwX2FzZl9kZXBheV9pbml0KSwKCSAgKGRlY29kZV9iYXNlNjQpLCAoZ3N0X3J0cF9hc2ZfZGVwYXlfc2V0Y2FwcyksCgkgIChnc3RfcnRwX2FzZl9kZXBheV9wcm9jZXNzKSwgKGdzdF9ydHBfYXNmX2RlcGF5X3NldF9wcm9wZXJ0eSksCgkgIChnc3RfcnRwX2FzZl9kZXBheV9nZXRfcHJvcGVydHkpLCAoZ3N0X3J0cF9hc2ZfZGVwYXlfY2hhbmdlX3N0YXRlKSwKCSAgKGdzdF9ydHBfYXNmX2RlcGF5X3BsdWdpbl9pbml0KToKCSAgKiBnc3QvcnRwL2dzdHJ0cGFzZmRlcGF5Lmg6CgkgIEFkZGVkIHByZWxpbWluYXJ5IEFTRiBkZXBheWxvYWRlci4KCSAgKiBnc3QvcnRwL2dzdHJ0cGgyNjRkZXBheS5jOiAoZGVjb2RlX2Jhc2U2NCk6CgkgIEZpeCBiYXNlNjQgZGVjb2RpbmcuCgoyMDA2LTA5LTIwIDE2OjA2OjI3ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0c3AvVVJMUzogQWRkZWQgc29tZSB0ZXN0IFVSTFMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHNwL1VSTFM6CgkgIEFkZGVkIHNvbWUgdGVzdCBVUkxTLgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogKGdzdF9ydHNwc3JjX2NyZWF0ZV9zdHJlYW0pLAoJICAoZ3N0X3J0c3BzcmNfbG9vcCksIChnc3RfcnRzcHNyY19vcGVuKToKCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmg6CgkgIFdoZW4gY3JlYXRpbmcgc3RyZWFtcywgZ2l2ZSBhY2Nlc3MgdG8gdGhlIGNvbXBsZXRlIFNEUC4KCSAgRml4IHNvbWUgbGVha3MuCgkgIENvbGxlY3QgYW5kIG1lcmdlIGdsb2JhbCBzdHJlYW0gcHJvcGVydGllcyBpbiBzdHJlYW0gY2Fwcy4KCSAgUHJlbGltaW5hcnkgc3VwcG9ydCBmb3IgV01TZXJ2ZXIuCgkgICogZ3N0L3J0c3AvcnRzcGNvbm5lY3Rpb24uYzogKHJ0c3BfY29ubmVjdGlvbl9jcmVhdGUpLAoJICAocnRzcF9jb25uZWN0aW9uX2Nvbm5lY3QpLCAocnRzcF9jb25uZWN0aW9uX3JlYWQpLCAocmVhZF9ib2R5KSwKCSAgKHJ0c3BfY29ubmVjdGlvbl9yZWNlaXZlKToKCSAgKiBnc3QvcnRzcC9ydHNwY29ubmVjdGlvbi5oOgoJICBNYWtlIGNvbm5lY3Rpb24gaW50ZXJydXB0YWJsZS4KCSAgUmVmYWN0b3IgdG8gbWFrZSBpdCByZWNvbm5lY3RhYmxlLgoJICBEb24ndCBmYWlsIG9uIHNob3J0IHJlYWRzIHdoZW4gcmVhZGluZyBkYXRhIHBhY2tldHMuCgkgICogZ3N0L3J0c3AvcnRzcHVybC5jOiAocnRzcF91cmxfcGFyc2UpLCAocnRzcF91cmxfc2V0X3BvcnQpLAoJICAocnRzcF91cmxfZ2V0X3BvcnQpOgoJICAqIGdzdC9ydHNwL3J0c3B1cmwuaDoKCSAgQWRkIG1ldGhvZHMgZm9yIGdldHRpbmcvc2V0dGluZyB0aGUgcG9ydC4KCSAgKiBnc3QvcnRzcC9zZHBtZXNzYWdlLmM6IChzZHBfbWVzc2FnZV9nZXRfYXR0cmlidXRlX3ZhbF9uKSwKCSAgKHNkcF9tZXNzYWdlX2dldF9hdHRyaWJ1dGVfdmFsKSwgKHNkcF9tZWRpYV9nZXRfYXR0cmlidXRlKSwKCSAgKHNkcF9tZWRpYV9nZXRfYXR0cmlidXRlX3ZhbF9uKSwgKHNkcF9tZWRpYV9nZXRfYXR0cmlidXRlX3ZhbCksCgkgIChzZHBfbWVkaWFfZ2V0X2Zvcm1hdCksIChzZHBfcGFyc2VfbGluZSksCgkgIChzZHBfbWVzc2FnZV9wYXJzZV9idWZmZXIpOgoJICBGaXggaGVhZGVycy4KCSAgQWRkIG1ldGhvZHMgZm9yIGdldHRpbmcgbXVsdGlwbGUgYXR0cmlidXRlcyB3aXRoIHRoZSBzYW1lIG5hbWUuCgkgIEluY3JlYXNlIGJ1ZmZlciBzaXplIHdoZW4gcGFyc2luZy4KCSAgRml4IHBhcnNpbmcgb2YgYT1mb28gZmllbGRzLgoJICAqIGdzdC9ydHNwL3Rlc3QuYzogKG1haW4pOgoJICBVcGRhdGUgdG8gbmV3IGNvbm5lY3Rpb24gQVBJLgoJICAqIGdzdC9ydHNwL3J0c3BtZXNzYWdlLmM6IChydHNwX21lc3NhZ2VfbmV3X3Jlc3BvbnNlKSwKCSAgKHJ0c3BfbWVzc2FnZV9pbml0X3Jlc3BvbnNlKSwgKHJ0c3BfbWVzc2FnZV9pbml0X2RhdGEpLAoJICAocnRzcF9tZXNzYWdlX3Vuc2V0KSwgKHJ0c3BfbWVzc2FnZV9mcmVlKSwgKHJ0c3BfbWVzc2FnZV9kdW1wKToKCSAgKiBnc3QvcnRzcC9ydHNwbWVzc2FnZS5oOgoJICAqIGdzdC9ydHNwL3J0c3B0cmFuc3BvcnQuYzogKHJ0c3BfdHJhbnNwb3J0X2ZyZWUpOgoJICAqIGdzdC9ydHNwL3J0c3B0cmFuc3BvcnQuaDoKCSAgKiBnc3QvcnRzcC9zZHAuaDoKCSAgKiBnc3QvcnRzcC9zZHBtZXNzYWdlLmg6CgkgICogZ3N0L3J0c3AvZ3N0cnRzcC5jOgoJICAqIGdzdC9ydHNwL2dzdHJ0c3AuaDoKCSAgKiBnc3QvcnRzcC9nc3RydHBkZWMuYzoKCSAgKiBnc3QvcnRzcC9nc3RydHBkZWMuaDoKCSAgKiBnc3QvcnRzcC9ydHNwLmg6CgkgICogZ3N0L3J0c3AvcnRzcGRlZnMuYzoKCSAgKiBnc3QvcnRzcC9ydHNwZGVmcy5oOgoJICBEdWFsIGxpY2Vuc2VkIHVuZGVyIE1JVCBhbmQgTEdQTCBub3cuCgoyMDA2LTA5LTE5IDE3OjI1OjE1ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0c3AvZ3N0cnRzcHNyYy4qOiBSZW9yZ2FuaXplIHN0cmVhbSBwYXJzaW5nIGFuZCBjcmVhdGlvbi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiAoZmluZF9zdHJlYW1fYnlfcHQpLAoJICAoZ3N0X3J0c3BzcmNfY3JlYXRlX3N0cmVhbSksIChnc3RfcnRzcHNyY19mcmVlX3N0cmVhbSksCgkgIChnc3RfcnRzcHNyY19tZWRpYV90b19jYXBzKSwgKGdzdF9ydHNwc3JjX3N0cmVhbV9zZXR1cF9ydHApLAoJICAoZ3N0X3J0c3BzcmNfc3RyZWFtX2NvbmZpZ3VyZV90cmFuc3BvcnQpLCAoZmluZF9zdHJlYW1fYnlfY2hhbm5lbCksCgkgIChnc3RfcnRzcHNyY19wdXNoX2V2ZW50KSwgKGdzdF9ydHNwc3JjX2xvb3ApLCAoZ3N0X3J0c3BzcmNfc2VuZCksCgkgIChnc3RfcnRzcHNyY19wYXJzZV9tZXRob2RzKSwgKGdzdF9ydHNwc3JjX29wZW4pLAoJICAoZ3N0X3J0c3BzcmNfcGFyc2VfcnRwaW5mbyksIChnc3RfcnRzcHNyY19wbGF5KToKCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmg6CgkgIFJlb3JnYW5pemUgc3RyZWFtIHBhcnNpbmcgYW5kIGNyZWF0aW9uLgoJICBEZXRlY3QgY29udGFpbmVyIGZvcm1hdHMgaW4gaW50ZXJsZWF2ZWQgbW9kZS4KCSAgS2VlcCBtb3JlIHN0YXRlIGFib3V0IHRoZSBzdHJlYW1zLgoJICBBc3N1bWUgYSBzZXJ2ZXIgYWxzbyBzdXBwb3J0cyBQTEFZIGlmIGl0IGRvZXMgbm90IHNheS4KCSAgQWRkIHVuaWNhc3QgYW5kIGludGVybGVhdmVkIHByb3BlcnRpZXMgdG8gVENQIHRyYW5zcG9ydCByZXF1ZXN0cyB0byBtYWtlCgkgIHNvbWUgc2VydmVycyBoYXBweSAoV01TZXJ2ZXIpLgoJICAqIGdzdC9ydHNwL3NkcG1lc3NhZ2UuaDoKCSAgQWRkIHNvbWUgZGVmaW5lcyBmb3IgdGhlIHN0YW5kYXJkIEJhbmR3aWR0aCB0eXBlcy4KCjIwMDYtMDktMTkgMTY6MjQ6MTAgKzAwMDAgIEVkZ2FyZCBMaW1hIDxlZGdhcmQubGltYUBpbmR0Lm9yZy5icj4KCgkqIHRlc3RzL2ljbGVzL3Y0bDJzcmMtdGVzdC5jOgoJICBKdXN0IGEgc21hbGwgZml4IHRvIHRoZSBhcHAgb3B0aW9ucy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEp1c3QgYSBzbWFsbCBmaXggdG8gdGhlIGFwcCBvcHRpb25zLgoKMjAwNi0wOS0xOSAxMzowODozNSArMDAwMCAgRWRnYXJkIExpbWEgPGVkZ2FyZC5saW1hQGluZHQub3JnLmJyPgoKCSogc3lzL3Y0bDIvTWFrZWZpbGUuYW06CgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnZpZG9yaWVudC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwydmlkb3JpZW50Lmg6CgkqIHRlc3RzL2ljbGVzL3Y0bDJzcmMtdGVzdC5jOgoJICBBZGQgVmlkZW8gT3JpZW50YXRpb24gaW50ZXJmYWNlIHN1cHBvcnQgdG8gdjRsMnNyYy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEFkZCBWaWRlbyBPcmllbnRhdGlvbiBpbnRlcmZhY2Ugc3VwcG9ydCB0byB2NGwyc3JjLgoKMjAwNi0wOS0xOSAxMDo1Mzo1NiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHNwL3Rlc3QuYzogRml4IGJ1aWxkLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRzcC90ZXN0LmM6IChtYWluKToKCSAgRml4IGJ1aWxkLgoKMjAwNi0wOS0xOSAxMDoxNDo1MiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOiBBZGQgbXMtZ3NtIHRvIHRoZSBzcmMgdGVtcGxhdGUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOgoJICBBZGQgbXMtZ3NtIHRvIHRoZSBzcmMgdGVtcGxhdGUuCgoyMDA2LTA5LTE4IDE3OjM3OjQ2ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0c3AvZ3N0cnRzcHNyYy4qOiBTbWFsbCBjbGVhbnVwcywgYWRkZWQgZG9jdW1lbnRhdGlvbi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiAoZ3N0X3J0c3BzcmNfbWVkaWFfdG9fY2FwcyksCgkgIChnc3RfcnRzcHNyY19zZW5kKSwgKGdzdF9ydHNwc3JjX3BhcnNlX21ldGhvZHMpLAoJICAoZ3N0X3J0c3BzcmNfb3BlbiksIChnc3RfcnRzcHNyY19jbG9zZSksIChnc3RfcnRzcHNyY19wbGF5KSwKCSAgKGdzdF9ydHNwc3JjX3BhdXNlKSwgKGdzdF9ydHNwc3JjX2NoYW5nZV9zdGF0ZSksCgkgIChnc3RfcnRzcHNyY191cmlfZ2V0X3VyaSksIChnc3RfcnRzcHNyY191cmlfc2V0X3VyaSk6CgkgICogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5oOgoJICBTbWFsbCBjbGVhbnVwcywgYWRkZWQgZG9jdW1lbnRhdGlvbi4KCSAgVHJ5IHRvIGNsZWFuIHVwIHRoZSByZXF1ZXN0cyBhbmQgcmVzcG9uc2VzLgoJICBSZWZhY3RvciBwYXJzaW5nIHRoZSBzdXBwb3J0ZWQgbWV0aG9kcy4KCSAgKiBnc3QvcnRzcC9ydHNwY29ubmVjdGlvbi5jOiAocnRzcF9jb25uZWN0aW9uX29wZW4pLAoJICAocnRzcF9jb25uZWN0aW9uX2NyZWF0ZSksIChydHNwX2Nvbm5lY3Rpb25fc2VuZCksCgkgIChwYXJzZV9yZXNwb25zZV9zdGF0dXMpLCAocGFyc2VfcmVxdWVzdF9saW5lKSwKCSAgKHJ0c3BfY29ubmVjdGlvbl9yZWNlaXZlKSwgKHJ0c3BfY29ubmVjdGlvbl9jbG9zZSksCgkgIChydHNwX2Nvbm5lY3Rpb25fZnJlZSk6CgkgICogZ3N0L3J0c3AvcnRzcHRyYW5zcG9ydC5jOiAocnRzcF90cmFuc3BvcnRfbmV3KSwKCSAgKHJ0c3BfdHJhbnNwb3J0X2luaXQpLCAocnRzcF90cmFuc3BvcnRfcGFyc2UpLAoJICAocnRzcF90cmFuc3BvcnRfZnJlZSk6CgkgICogZ3N0L3J0c3AvcnRzcHVybC5jOiAocnRzcF91cmxfcGFyc2UpOgoJICAqIGdzdC9ydHNwL3NkcG1lc3NhZ2UuYzogKHNkcF9tZXNzYWdlX25ldyksIChzZHBfbWVzc2FnZV9pbml0KSwKCSAgKHNkcF9tZXNzYWdlX2NsZWFuKSwgKHNkcF9tZXNzYWdlX2ZyZWUpLCAoc2RwX21lZGlhX25ldyksCgkgIChzZHBfbWVkaWFfaW5pdCksIChzZHBfbWVzc2FnZV9wYXJzZV9idWZmZXIpLCAoc2RwX21lc3NhZ2VfZHVtcCk6CgkgIFVzZSBnX3JldHVybl92YWwgc29tZSBtb3JlLgoJICAqIGdzdC9ydHNwL3J0c3BkZWZzLmg6CgkgIEFkZCBtb3JlIGVudW0gdmFsdWVzIHRvIHRyYWNrIGluaXRpYWwgc3RhdGVzLgoJICAqIGdzdC9ydHNwL3J0c3BtZXNzYWdlLmM6IChydHNwX21lc3NhZ2VfbmV3X3JlcXVlc3QpLAoJICAocnRzcF9tZXNzYWdlX2luaXRfcmVxdWVzdCksIChydHNwX21lc3NhZ2VfbmV3X3Jlc3BvbnNlKSwKCSAgKHJ0c3BfbWVzc2FnZV9pbml0X3Jlc3BvbnNlKSwgKHJ0c3BfbWVzc2FnZV9pbml0X2RhdGEpLAoJICAocnRzcF9tZXNzYWdlX3Vuc2V0KSwgKHJ0c3BfbWVzc2FnZV9mcmVlKSwKCSAgKHJ0c3BfbWVzc2FnZV9hZGRfaGVhZGVyKSwgKHJ0c3BfbWVzc2FnZV9yZW1vdmVfaGVhZGVyKSwKCSAgKHJ0c3BfbWVzc2FnZV9nZXRfaGVhZGVyKSwgKHJ0c3BfbWVzc2FnZV9zZXRfYm9keSksCgkgIChydHNwX21lc3NhZ2VfdGFrZV9ib2R5KSwgKHJ0c3BfbWVzc2FnZV9nZXRfYm9keSksCgkgIChydHNwX21lc3NhZ2Vfc3RlYWxfYm9keSksIChydHNwX21lc3NhZ2VfZHVtcCk6CgkgICogZ3N0L3J0c3AvcnRzcG1lc3NhZ2UuaDoKCSAgUmVvcmRlciBhcmd1bWVudHMsIG9iamVjdCBnb2VzIGFzIHRoZSBmaXJzdCBvbmUuCgkgIFVzZSBnX3JldHVybl92YWwgc29tZSBtb3JlLgoKMjAwNi0wOS0xOCAxNTozNjoxNCArMDAwMCAgRWRnYXJkIExpbWEgPGVkZ2FyZC5saW1hQGluZHQub3JnLmJyPgoKCSogc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5jOgoJICBGaXggR1NUX0JVRkZFUl9EVVJBVElPTi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEZpeCBHU1RfQlVGRkVSX0RVUkFUSU9OLgoKMjAwNi0wOS0xOCAxNDowMDo0MSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHNwL2dzdHJ0c3BzcmMuKjogRXhwb3J0IHNvbWV0aW1lcyBzb3VyY2UgcGFkIHdpdGggY29ycmVjdCBjYXBzIG9uIHRoZSB0ZW1wbGF0ZSwgY3JlYXRlIHRoZSBnaG9zdHBhZCBmcm9tIHRoZSB0ZS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IChnc3RfcnRzcHNyY19iYXNlX2luaXQpLAoJICAoZ3N0X3J0c3BzcmNfc3RyZWFtX2NvbmZpZ3VyZV90cmFuc3BvcnQpLCAoZ3N0X3J0c3BzcmNfcHVzaF9ldmVudCksCgkgIChnc3RfcnRzcHNyY19sb29wKSwgKGdzdF9ydHNwc3JjX3VyaV9zZXRfdXJpKToKCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmg6CgkgIEV4cG9ydCBzb21ldGltZXMgc291cmNlIHBhZCB3aXRoIGNvcnJlY3QgY2FwcyBvbiB0aGUgdGVtcGxhdGUsIGNyZWF0ZQoJICB0aGUgZ2hvc3RwYWQgZnJvbSB0aGUgdGVtcGxhdGUuCgkgIFJlbW92ZSBSVENQIHRlbXBsYXRlIGFzIHdlIG5ldmVyIGV4cG9zZSBSVENQLgoJICBQcm90ZWN0IGFnYWluc3QgaW52YWxpZCBib2R5IHNpemUuCgkgIEF2b2lkIG1lbWNweSB3aGVuIGNyZWF0aW5nIHRoZSBvdXRwdXQgYnVmZmVyLgoJICBQcm9wZXJseSBwb3N0IGFuIGVycm9yIGFuZCBzZW5kIEVPUyB3aGVuIHRoZSBsb29wIGZ1bmN0aW9uIGlzIHNodXQgZG93bi4KCjIwMDYtMDktMTggMTE6Mjk6MTIgKzAwMDAgIEx1dHogTXVlbGxlciA8bHV0ekB0b3Bmcm9zZS5kZT4KCgkgIGdzdC9ydHNwL2dzdHJ0c3BzcmMuKjogTWFrZSBzdXJlIHdlIGNhbiBuZXZlciBzZXQgYW4gaW52YWxpZCBsb2NhdGlvbi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEJhc2VkIG9uIHBhdGNoIGJ5OiBMdXR6IE11ZWxsZXIgPGx1dHogYXQgdG9wZnJvc2UgZG90IGRlPgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogKGdzdF9ydHNwc3JjX2NsYXNzX2luaXQpLAoJICAoZ3N0X3J0c3BzcmNfaW5pdCksIChnc3RfcnRzcHNyY19zZXRfcHJvcGVydHkpLCAoZ3N0X3J0c3BzcmNfb3BlbiksCgkgIChnc3RfcnRzcHNyY191cmlfZ2V0X3VyaSksIChnc3RfcnRzcHNyY191cmlfc2V0X3VyaSk6CgkgICogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5oOgoJICBNYWtlIHN1cmUgd2UgY2FuIG5ldmVyIHNldCBhbiBpbnZhbGlkIGxvY2F0aW9uLgoJICAqIGdzdC9ydHNwL3J0c3BtZXNzYWdlLmM6IChydHNwX21lc3NhZ2Vfc3RlYWxfYm9keSk6CgkgICogZ3N0L3J0c3AvcnRzcG1lc3NhZ2UuaDoKCSAgQWRkZWQgX3N0ZWFsX2JvZHkgbWV0aG9kIGZvciBmdXR1cmUgdXNlLgoJICAqIGdzdC9ydHNwL3J0c3B1cmwuYzogKHJ0c3BfdXJsX3BhcnNlKSwgKHJ0c3BfdXJsX2ZyZWUpOgoJICBNYWtlIGZyZWVpbmcgb2YgTlVMTCB1cmwgcmV0dXJuIGltbWVkaWF0bHkuCgoyMDA2LTA5LTE4IDEwOjQyOjUyICswMDAwICBMdXR6IE11ZWxsZXIgPGx1dHpAdG9wZnJvc2UuZGU+CgoJICBnc3QvcnRzcC9nc3RydHNwc3JjLio6IFVzZSBib2lsZXJwbGF0ZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEJhc2VkIG9uIHBhdGNoIGJ5OiBMdXR6IE11ZWxsZXIgPGx1dHogYXQgdG9wZnJvc2UgZG90IGRlPgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogKF9kb19pbml0KSwgKGdzdF9ydHNwc3JjX2NsYXNzX2luaXQpLAoJICAoZ3N0X3J0c3BzcmNfaW5pdCksIChnc3RfcnRzcHNyY19zdHJlYW1fc2V0dXBfcnRwKSwKCSAgKGdzdF9ydHNwc3JjX3N0cmVhbV9jb25maWd1cmVfdHJhbnNwb3J0KSwgKGdzdF9ydHNwc3JjX3BsYXkpLAoJICAoZ3N0X3J0c3BzcmNfY2hhbmdlX3N0YXRlKToKCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmg6CgkgIFVzZSBib2lsZXJwbGF0ZS4KCSAgTWFrZSBydHNwc3JjIHN1YmNsYXNzIEdzdEJpbiB0byBtYWtlIHN0YXRlIGNoYW5nZXMgZWFzaWVyLgoJICBBZGQgUmFuZ2UgaGVhZGVyIGZpZWxkIG9uIHRoZSBQTEFZIHJlcXVlc3QuCgoyMDA2LTA5LTE4IDA4OjU5OjE3ICswMDAwICBUaGlqcyBWZXJtZWlyIDx0aGlqcy52ZXJtZWlyQGJhcmNvLmNvbT4KCgkgIGdzdC9ydHNwLzogU21hbGwgY2xlYW51cHMuIHdoZW4gbXVsdGljYXN0IGlzIHNlbGVjdGVkIGFzIHRoZSB0cmFuc3BvcnQsIGNyZWF0ZSBVRFAgc291cmNlcyBhbmQgY29ubmVjdCB0byB0aGUgbXVsdGljYS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgQmFzZWQgb24gcGF0Y2ggYnk6IFRoaWpzIFZlcm1laXIgPHRoaWpzIGRvdCB2ZXJtZWlyIGF0IGJhcmNvIGRvdCBjb20+CgkgICogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiAoZ3N0X3J0c3BzcmNfc2V0X3N0YXRlKSwKCSAgKGdzdF9ydHNwc3JjX21lZGlhX3RvX2NhcHMpLCAoZ3N0X3J0c3BzcmNfc3RyZWFtX3NldHVwX3J0cCksCgkgIChnc3RfcnRzcHNyY19zdHJlYW1fY29uZmlndXJlX3RyYW5zcG9ydCksIChnc3RfcnRzcHNyY19vcGVuKSwKCSAgKGdzdF9ydHNwc3JjX2Nsb3NlKSwgKGdzdF9ydHNwc3JjX3BsYXkpLCAoZ3N0X3J0c3BzcmNfcGF1c2UpOgoJICAqIGdzdC9ydHNwL3J0c3Bjb25uZWN0aW9uLmM6IChpbmV0X2F0b24pOgoJICBTbWFsbCBjbGVhbnVwcy4KCSAgd2hlbiBtdWx0aWNhc3QgaXMgc2VsZWN0ZWQgYXMgdGhlIHRyYW5zcG9ydCwgY3JlYXRlIFVEUCBzb3VyY2VzIGFuZAoJICBjb25uZWN0IHRvIHRoZSBtdWx0aWNhc3QgZ3JvdXAuCgkgIE1vdmUgcGFyc2luZyBhbmQgc2V0dGluZyBvZiBjYXBzIHRvIGEgY29tbW9uIHBsYWNlLgoJICBGaXhlcyAjMzQ5ODk0LgoKMjAwNi0wOS0xNiAyMjoxNDozNSArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgTW9yZSBHX09CSkVDVCBtYWNybyBmaXhpbmcuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9oZXJtZXMvZ3N0aGVybWVzY29sb3JzcGFjZS5jOgoJICAqIGV4dC9pdm9yYmlzL3ZvcmJpc2ZpbGUuYzoKCSAgKiBleHQvbGNzL2dzdGNvbG9yc3BhY2UuYzoKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZW5jLmg6CgkgICogZXh0L3hpbmUveGluZWF1ZGlvZGVjLmM6CgkgICogZXh0L3hpbmUveGluZWF1ZGlvc2luay5jOgoJICAqIGV4dC94aW5lL3hpbmVpbnB1dC5jOgoJICAqIGdzdC9jaGFydC9nc3RjaGFydC5jOgoJICAqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyLmM6CgkgICogZ3N0L2dhbWVzL2dzdHB1enpsZS5jOgoJICAqIGdzdC9saWJyZmIvZ3N0cmZic3JjLmM6CgkgICogZ3N0L21peG1hdHJpeC9taXhtYXRyaXguYzoKCSAgKiBnc3QvbnNmL2dzdG5zZi5oOgoJICAqIGdzdC92YmlkZWMvZ3N0dmJpZGVjLmM6CgkgICogZ3N0L3ZpcnR1YWxkdWIvZ3N0eHNoYXJwZW4uYzoKCSAgTW9yZSBHX09CSkVDVCBtYWNybyBmaXhpbmcuCgoyMDA2LTA5LTE2IDIxOjU3OjI5ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBNb3JlIEdfT0JKRUNUIG1hY3JvIGZpeGluZy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2ZsYWMvZ3N0ZmxhY3RhZy5jOgoJICAqIGdzdC9hbHBoYS9nc3RhbHBoYS5jOgoJICAqIGdzdC9kZWJ1Zy9icmVha215ZGF0YS5jOgoJICAqIGdzdC9kZWJ1Zy9uZWdvdGlhdGlvbi5jOgoJICAqIGdzdC9kZWJ1Zy90ZXN0cGx1Z2luLmM6CgkgICogZ3N0L2VmZmVjdHYvZ3N0YWdpbmcuYzoKCSAgKiBnc3QvZWZmZWN0di9nc3RkaWNlLmM6CgkgICogZ3N0L2VmZmVjdHYvZ3N0ZWRnZS5jOgoJICAqIGdzdC9lZmZlY3R2L2dzdHF1YXJrLmM6CgkgICogZ3N0L2VmZmVjdHYvZ3N0cmV2LmM6CgkgICogZ3N0L2VmZmVjdHYvZ3N0c2hhZ2FkZWxpYy5jOgoJICAqIGdzdC9lZmZlY3R2L2dzdHZlcnRpZ28uYzoKCSAgKiBnc3QvZWZmZWN0di9nc3R3YXJwLmM6CgkgICogZ3N0L211bHRpcGFydC9tdWx0aXBhcnRkZW11eC5jOgoJICAqIGdzdC9tdWx0aXBhcnQvbXVsdGlwYXJ0bXV4LmM6CgkgICogZ3N0L3ZpZGVvYm94L2dzdHZpZGVvYm94LmM6CgkgICogZ3N0L3ZpZGVvZmlsdGVyL2dzdGdhbW1hLmM6CgkgICogZ3N0L3ZpZGVvZmlsdGVyL2dzdHZpZGVvdGVtcGxhdGUuYzoKCSAgKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyLmM6CgkgICogc3lzL3N1bmF1ZGlvL2dzdHN1bmF1ZGlvc3JjLmg6CgkgIE1vcmUgR19PQkpFQ1QgbWFjcm8gZml4aW5nLgoKMjAwNi0wOS0xNiAxNDozMDo1OSArMDAwMCAgWXZlcyBMZWZlYnZyZSA8aXZhbm9oZUBhYmFjb20uY29tPgoKCSAgZ3N0L2F2aS9nc3RhdmltdXguYzogQ29ycmVjdGx5IHNldCB0aGUgZHdMZW5ndGggaW4gc3RyaC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBZdmVzIExlZmVidnJlIDxpdmFub2hlIGF0IGFiYWNvbSBkb3QgY29tPgoJICAqIGdzdC9hdmkvZ3N0YXZpbXV4LmM6IChnc3RfYXZpX211eF9zdG9wX2ZpbGUpOgoJICBDb3JyZWN0bHkgc2V0IHRoZSBkd0xlbmd0aCBpbiBzdHJoLgoJICBXaXRoIHRoaXMgcGF0Y2gsIHRoZSBmaWxlIGR1cmF0aW9uIGlzIG5vdyBkaXNwbGF5ZWQgY29ycmVjdGx5IGluIHdpbmRvdwoJICBtZWRpYSBwbGF5ZXIgYW5kIHRoZSBBVkkgcGxheXMgY29tcGxldGVseS4gRml4ZXMgIzM1NjE0NwoKMjAwNi0wOS0xNSAxOToxMTowMCArMDAwMCAgRWRnYXJkIExpbWEgPGVkZ2FyZC5saW1hQGluZHQub3JnLmJyPgoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmg6CgkqIHN5cy92NGwyL2dzdHY0bDJ4b3ZlcmxheS5jOgoJKiBzeXMvdjRsMi92NGwyX2NhbGxzLmM6CgkqIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuYzoKCSogdGVzdHMvaWNsZXMvdjRsMnNyYy10ZXN0LmM6CgkgIFRoZSB0ZXN0IGFwcGxpY2F0aW9uIGFuZCB0aGUgcGxnaW5kIGVycm9yIG1lc3NhZ2VzIGhhcyBiZWVuIGltcHJvdmVkLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgVGhlIHRlc3QgYXBwbGljYXRpb24gYW5kIHRoZSBwbGdpbmQgZXJyb3IgbWVzc2FnZXMgaGFzIGJlZW4gaW1wcm92ZWQuCgoyMDA2LTA5LTE1IDE3OjEwOjIyICswMDAwICBEYXJyZW4gS2VubnkgPGRhcnJlbi5rZW5ueUBzdW4uY29tPgoKCSAgc3lzL3N1bmF1ZGlvL2dzdHN1bmF1ZGlvbWl4ZXJjdHJsLmM6IFNldCB0aGUgb3V0cHV0IHRyYWNrIGFzIHRoZSBNQVNURVIgc28gdGhhdCB0aGUgZ25vbWUtc2V0dGluZ3MtZGFlbW9uIGtleWJpbmRpbmdzLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogRGFycmVuIEtlbm55IDxkYXJyZW4gZG90IGtlbm55IGF0IHN1biBkb3QgY29tPgoJICAqIHN5cy9zdW5hdWRpby9nc3RzdW5hdWRpb21peGVyY3RybC5jOgoJICAoZ3N0X3N1bmF1ZGlvbWl4ZXJfY3RybF9idWlsZF9saXN0KToKCSAgU2V0IHRoZSBvdXRwdXQgdHJhY2sgYXMgdGhlIE1BU1RFUiBzbyB0aGF0IHRoZSBnbm9tZS1zZXR0aW5ncy1kYWVtb24KCSAga2V5YmluZGluZ3MgZm9yIGNoYW5naW5nIHRoZSB2b2x1bWUgdXNpbmcgdGhlIGtleWJvYXJkIHdvcmtzLgoJICBGaXhlcyAjMzU2MTQyLgoKMjAwNi0wOS0xNSAxNjowMTo0OCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9tdWx0aXBhcnQvbXVsdGlwYXJ0ZGVtdXguYzogRml4IGRvY3VtZW50YXRpb24sIGl0IGlzIG5vdCBwb3NzaWJsZSB0byBjb250cm9sIHRoZSBmcmFtZXJhdGUgb2YganBlZ2RlYyB1c2luZyBmaWx0ZS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbXVsdGlwYXJ0L211bHRpcGFydGRlbXV4LmM6IChnc3RfbXVsdGlwYXJ0X2RlbXV4X2NoYWluKToKCSAgRml4IGRvY3VtZW50YXRpb24sIGl0IGlzIG5vdCBwb3NzaWJsZSB0byBjb250cm9sIHRoZSBmcmFtZXJhdGUgb2YganBlZ2RlYwoJICB1c2luZyBmaWx0ZXJlZCBjYXBzIHlldC4gRml4ZXMgIzM1NTIxMC4KCSAgUmV0dXJuIHRoZSBkb3duc3RyZWFtIEdzdEZsb3dSZXR1cm4gaW5zdGVhZCBvZiBHU1RfRkxPV19PSyBzbyB0aGF0IHdlCgkgIHN0b3Agd2hlbiB0aGVyZSBpcyBhbiBlcnJvci4KCjIwMDYtMDktMTQgMTE6MDU6MzUgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvOiBEb24ndCBpbnRlcnByZXQgYSBmaXJzdCBidWZmZXIgd2l0aCBhbiBvZmZzZXQgb2YgTk9ORSBhcyAnZnJvbSB0aGUgbWlkZGxlIG9mIHRoZSBzdHJlYW0nLCBidXQgb25seSBhIGZpcnN0IGJ1ZmYuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2FwZXRhZy9nc3R0YWdkZW11eC5jOiAoZ3N0X3RhZ19kZW11eF9jaGFpbl9wYXJzZV90YWcpOgoJICAqIGdzdC9pZDNkZW11eC9nc3RpZDNkZW11eC5jOiAoZ3N0X2lkM2RlbXV4X2NoYWluKToKCSAgRG9uJ3QgaW50ZXJwcmV0IGEgZmlyc3QgYnVmZmVyIHdpdGggYW4gb2Zmc2V0IG9mIE5PTkUgYXMKCSAgJ2Zyb20gdGhlIG1pZGRsZSBvZiB0aGUgc3RyZWFtJywgYnV0IG9ubHkgYSBmaXJzdCBidWZmZXIKCSAgdGhhdCBoYXMgYSB2YWxpZCBidWZmZXIgb2Zmc2V0IHRoYXQncyBub24temVybyAoc2VlICMzNDU0NDkpLgoKMjAwNi0wOS0xNCAxMDozODo0MiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9pY3lkZW11eC9nc3RpY3lkZW11eC4qOiBXaGVuIHdlIG1lcmdlL2NvbGxlY3QgbXVsdGlwbGUgaW5jb21pbmcgYnVmZmVycyBmb3IgdHlwZWZpbmRpbmcgcHVycG9zZXMsIGtlZXAgYW4gaW5pdGlhbC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvaWN5ZGVtdXgvZ3N0aWN5ZGVtdXguYzogKGdzdF9pY3lkZW11eF9yZXNldCksCgkgIChnc3RfaWN5ZGVtdXhfdHlwZWZpbmRfb3JfZm9yd2FyZCk6CgkgICogZ3N0L2ljeWRlbXV4L2dzdGljeWRlbXV4Lmg6CgkgIFdoZW4gd2UgbWVyZ2UvY29sbGVjdCBtdWx0aXBsZSBpbmNvbWluZyBidWZmZXJzIGZvciB0eXBlZmluZGluZwoJICBwdXJwb3Nlcywga2VlcCBhbiBpbml0aWFsIDAgb2Zmc2V0IG9uIHRoZSBmaXJzdCBvdXRnb2luZyBidWZmZXIKCSAgYXMgd2VsbCAob3RoZXJ3aXNlIGlkM2RlbXV4IHdvbid0IHdvcmsgcmlnaHQpLiBGaXhlcyAjMzQ1NDQ5LgoJICBBbHNvIE1ha2UgYnVmZmVyIG1ldGFkYXRhIHdyaXRhYmxlIGJlZm9yZSBzZXR0aW5nIGJ1ZmZlciBjYXBzLgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2ljeWRlbXV4LmM6ICh0eXBlZmluZF9zdWNjZWVkKSwKCSAgKGNsZWFudXBfaWN5ZGVtdXgpLCAocHVzaF9kYXRhKSwgKEdTVF9TVEFSVF9URVNUKSwKCSAgKGljeWRlbXV4X3N1aXRlKToKCSAgU21hbGwgdGVzdCBjYXNlIGZvciB0aGUgYWJvdmUuCgoyMDA2LTA5LTEzIDEzOjI2OjE1ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6IE1vcmUgY29kZSByZXVzZSBhbmQgYmV0dGVyIGxvZ2dpbmcgaW4gX3BlZWtfY2h1bmsoKS4gUmVpbnRyb2R1Y2UgY2hlY2sgZm9yIGNodW5rIHNpemVzIGJlZm9yZSAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOiAoZ3N0X2F2aV9kZW11eF9wZWVrX2NodW5rKSwKCSAgKGdzdF9hdmlfZGVtdXhfc3RyZWFtX2luZGV4KSwgKGdzdF9hdmlfZGVtdXhfc3luYyksCgkgIChnc3RfYXZpX2RlbXV4X3N0cmVhbV9oZWFkZXJfcHVzaCksCgkgIChnc3RfYXZpX2RlbXV4X3Byb2Nlc3NfbmV4dF9lbnRyeSksIChnc3RfYXZpX2RlbXV4X3N0cmVhbV9kYXRhKSwKCSAgKGdzdF9hdmlfZGVtdXhfbG9vcCk6CgkgIE1vcmUgY29kZSByZXVzZSBhbmQgYmV0dGVyIGxvZ2dpbmcgaW4gX3BlZWtfY2h1bmsoKS4gUmVpbnRyb2R1Y2UgY2hlY2sKCSAgZm9yIGNodW5rIHNpemVzIGJlZm9yZSByZWFkaW5nIHRoZW0gKGF2b2lkIG9vbSkuIEJldHRlciBoYW5kbGluZyBmb3IKCSAgaW52YWxpZCBjaHVua3NpemVzIHdoZW4gc3RyZWFtaW5nLgoKMjAwNi0wOS0xMiAyMDoxODo1NSArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmM6IEltcGxlbWVudHMgc3RvcCgpIHRvIGNsZWFyIHRoZSBhZGFwdGVyIGFuZCBldmVudCgpIHRvIGNsZWFyIHRoZSBhZGFwdGVyIG9uIEZMVVNIX1NUT1AgYW5kLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5jOiAoZ3N0X3NwZWN0cnVtX2NsYXNzX2luaXQpLAoJICAoZ3N0X3NwZWN0cnVtX3N0YXJ0KSwgKGdzdF9zcGVjdHJ1bV9zdG9wKSwgKGdzdF9zcGVjdHJ1bV9ldmVudCk6CgkgIEltcGxlbWVudHMgc3RvcCgpIHRvIGNsZWFyIHRoZSBhZGFwdGVyIGFuZCBldmVudCgpIHRvIGNsZWFyIHRoZQoJICBhZGFwdGVyIG9uIEZMVVNIX1NUT1AgYW5kIEVPUy4KCjIwMDYtMDktMTEgMjA6Mzg6NDEgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC9sZXZlbC9nc3RsZXZlbC4qOiBGaXggdHlwZSBtaXh1cCBpbiBsZXZlbC0+aW50ZXJ2YWwgKGdkb3VibGU8LT5ndWludDY0KS4gU3BvdHRlZCBieQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbGV2ZWwvZ3N0bGV2ZWwuYzogKGdzdF9sZXZlbF9zZXRfcHJvcGVydHkpOgoJICAqIGdzdC9sZXZlbC9nc3RsZXZlbC5oOgoJICBGaXggdHlwZSBtaXh1cCBpbiBsZXZlbC0+aW50ZXJ2YWwgKGdkb3VibGU8LT5ndWludDY0KS4gU3BvdHRlZCBieQoJICBSZW7DqSBTdGFkbGVyCgoyMDA2LTA5LTExIDE4OjIzOjU5ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uKjogRml4IHR5cGUgbWl4dXAgaW4gc3BlY3RydW0tPmludGVydmFsIChnZG91YmxlPC0+Z3VpbnQ2NCkuIFNwb3R0ZWQgYnkKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmM6IChnc3Rfc3BlY3RydW1faW5pdCksCgkgIChnc3Rfc3BlY3RydW1fc2V0X3Byb3BlcnR5KToKCSAgKiBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uaDoKCSAgRml4IHR5cGUgbWl4dXAgaW4gc3BlY3RydW0tPmludGVydmFsIChnZG91YmxlPC0+Z3VpbnQ2NCkuIFNwb3R0ZWQgYnkKCSAgUmVuw6kgU3RhZGxlcgoKMjAwNi0wOS0xMSAxODowMjozOSArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L3NwZWN0cnVtL2RlbW8tb3Nzc3JjLmM6IFVzZSBtb3JlIGRlZmluZXMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3NwZWN0cnVtL2RlbW8tb3Nzc3JjLmM6IChkcmF3X3NwZWN0cnVtKSwgKG1haW4pOgoJICBVc2UgbW9yZSBkZWZpbmVzCgkgICogZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmM6IChnc3Rfc3BlY3RydW1faW5pdCksCgkgIChnc3Rfc3BlY3RydW1fZGlzcG9zZSksIChnc3Rfc3BlY3RydW1fc2V0X2NhcHMpLAoJICAoZ3N0X3NwZWN0cnVtX3RyYW5zZm9ybV9pcCk6CgkgICogZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmg6CgkgIEFwcGx5IHNvbWUgb2YgdGhlIHNwZWN0cnVtIGNsZWFudXAgY2hhbmdlcyBzdWdnZXN0ZWQgaW4gIzM0ODA4NS4KCjIwMDYtMDktMDggMTY6NDc6NDYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBjb25maWd1cmUuYWM6IEJ1bXAgcmVxdWlyZW1lbnRzIG9mIC1iYXNlICh2aWRlb2Nyb3AgdGVzdCBjYXNlIG5lZWRzIHRoaXMpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIEJ1bXAgcmVxdWlyZW1lbnRzIG9mIC1iYXNlICh2aWRlb2Nyb3AgdGVzdCBjYXNlIG5lZWRzIHRoaXMpLgoJICAqIGdzdC92aWRlb2Nyb3AvZ3N0dmlkZW9jcm9wLmM6CgkgIERvY3VtZW50IHNsb3BweSBoYW5kbGluZyBvZiBzdWJzYW1wbGVkIGNocm9tYSBwbGFuZXMgaWYKCSAgbGVmdC90b3AgY3JvcHBpbmcgaXMgYW4gb2RkIG51bWJlci4KCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy92aWRlb2Nyb3AuYzogKGhhbmRvZmZfY2IpLAoJICAodmlkZW9jcm9wX3Rlc3RfY3JvcHBpbmdfaW5pdF9jb250ZXh0KSwKCSAgKHZpZGVvY3JvcF90ZXN0X2Nyb3BwaW5nX2RlaW5pdF9jb250ZXh0KSwKCSAgKHZpZGVvY3JvcF90ZXN0X2Nyb3BwaW5nKSwgKGNoZWNrXzF4MV9idWZmZXIpLCAoR1NUX1NUQVJUX1RFU1QpLAoJICAodmlkZW9jcm9wX3N1aXRlKSwgKG1haW4pOgoJICBBZGQgYW5vdGhlciB1bml0IHRlc3QgdGhhdCBjcm9wcyB0aGUgaW5wdXQgdG8gMXgxIChhbmQgY2hlY2tzCgkgIHRoYXQgdGhhdCBwaXhlbCBoYXMgdGhlIGV4cGVjdGVkIHZhbHVlcyBpbiBhIG51bWJlciBvZiBmb3JtYXRzKS4KCjIwMDYtMDktMDggMTE6MDQ6MjQgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvdmlkZW9jcm9wLzogU29tZSBxdWljayB0ZXN0cyBpbmRpY2F0ZSB0aGF0IGl0IGRvZXNuJ3QgbWFrZSBhIGdyZWF0IGRlYWwgb2Ygc2Vuc2UgdG8gdXNlIGxpYm9pbCBoZXJlLCBhdCBsZWFzdCBub3QuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3ZpZGVvY3JvcC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvdmlkZW9jcm9wL2dzdHZpZGVvY3JvcC5jOiAoZ3N0X3ZpZGVvX2Nyb3BfY2xhc3NfaW5pdCksCgkgIChnc3RfdmlkZW9fY3JvcF90cmFuc2Zvcm1fcGFja2VkKSwKCSAgKGdzdF92aWRlb19jcm9wX3RyYW5zZm9ybV9wbGFuYXIpOgoJICBTb21lIHF1aWNrIHRlc3RzIGluZGljYXRlIHRoYXQgaXQgZG9lc24ndCBtYWtlIGEgZ3JlYXQgZGVhbAoJICBvZiBzZW5zZSB0byB1c2UgbGlib2lsIGhlcmUsIGF0IGxlYXN0IG5vdCBmb3IgdGhlIG1lbWNweSgpcwoJICB3ZSBkbywgc28gcmVtb3ZlIGxpYm9pbCB1c2FnZSB1bnRpbCB0aGVyZSBpcyBjbGVhciBldmlkZW5jZQoJICBpdCBhY3R1YWxseSBtYWtlcyBhIHBvc2l0aXZlIGRpZmZlcmVuY2Ugc29tZXdoZXJlLgoKMjAwNi0wOS0wNiAwOTowNTozMyArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L2F2aS9nc3RhdmlkZW11eC5jOiBSZXZlcnQgb25lIGNoYW5nZSB0byBmaXggc3RyZWFtaW5nIGF2aSAoYWRhcHRlciBzaXplICE9IGRhdGEgc2l6ZSkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzogKGdzdF9hdmlfZGVtdXhfcmVhZF9zdWJpbmRleGVzX3B1bGwpLAoJICAoZ3N0X2F2aV9kZW11eF9zeW5jKSwgKGdzdF9hdmlfZGVtdXhfc3RyZWFtX2hlYWRlcl9wdXNoKSwKCSAgKGdzdF9hdmlfZGVtdXhfc3RyZWFtX2RhdGEpOgoJICBSZXZlcnQgb25lIGNoYW5nZSB0byBmaXggc3RyZWFtaW5nIGF2aSAoYWRhcHRlciBzaXplICE9IGRhdGEgc2l6ZSkuCgoyMDA2LTA5LTA0IDE2OjIxOjE3ICswMDAwICBGcsOpZMOpcmljIFJpc3MgPGZyZWRlcmljLnJpc3NAZ21haWwuY29tPgoKCSAgZ3N0L21hdHJvc2thLzogQWRkIHN1cHBvcnQgZm9yIFZPQlNVQiBzdWJ0aXRsZSB0cmFja3MgYW5kIHpsaWItY29tcHJlc3NlZCB0cmFja3MuIE1ha2Ugc3VyZSB3ZSBzdGFydCBvbiBhIGtleWZyYW1lIGFmLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogRnLDqWTDqXJpYyBSaXNzICA8ZnJlZGVyaWMucmlzcyBhdCBnbWFpbCBkb3QgY29tPgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOiAoZ3N0X21hdHJvc2thX3RyYWNrX2ZyZWUpLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X3Jlc2V0KSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9yZWFkX3RyYWNrX2VuY29kaW5ncyksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfYWRkX3N0cmVhbSksIChnc3RfbWF0cm9za2FfZGVjb2RlX2J1ZmZlciksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfcGFyc2VfYmxvY2tncm91cF9vcl9zaW1wbGVibG9jayksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfc3VidGl0bGVfY2Fwcyk6CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLWlkcy5oOgoJICBBZGQgc3VwcG9ydCBmb3IgVk9CU1VCIHN1YnRpdGxlIHRyYWNrcyBhbmQgemxpYi1jb21wcmVzc2VkCgkgIHRyYWNrcy4gTWFrZSBzdXJlIHdlIHN0YXJ0IG9uIGEga2V5ZnJhbWUgYWZ0ZXIgYSBzZWVrLiAoIzM0MzM0OCkKCjIwMDYtMDktMDQgMTU6MDY6MjUgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvbWF0cm9za2EvOiBub3QgcGVyZmVjdCB5ZXQgdGhvdWdoLCBuZWVkcyBzb21lIHR3ZWFraW5nIGluIGZsYWNkZWM7IGFsc28sIHNlZWtpbmcgY291bGQgYmUgYmV0dGVyLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzogKGdzdF9tYXRyb3NrYV9kZW11eF9wdXNoX2hkcl9idWYpLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X3B1c2hfZmxhY19jb2RlY19wcml2X2RhdGEpLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X3B1c2hfeGlwaF9jb2RlY19wcml2X2RhdGEpLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X3BhcnNlX2Jsb2NrZ3JvdXBfb3Jfc2ltcGxlYmxvY2spLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X3ZpZGVvX2NhcHMpLCAoZ3N0X21hdHJvc2thX2RlbXV4X2F1ZGlvX2NhcHMpOgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1pZHMuaDoKCSAgQWRkIGJhc2ljIEZMQUMgc3VwcG9ydCAoIzMxMTU4NiksIG5vdCBwZXJmZWN0IHlldCB0aG91Z2gsIG5lZWRzIHNvbWUKCSAgdHdlYWtpbmcgaW4gZmxhY2RlYzsgYWxzbywgc2Vla2luZyBjb3VsZCBiZSBiZXR0ZXIuCgkgIERvIGJldHRlciBib3VuZHMgY2hlY2tpbmcgd2hlbiBkZXNlcmlhbGlzaW5nIHZvcmJpcyBzdHJlYW0gaGVhZGVycwoJICB0byBtYWtlIHN1cmUgd2UgZG9uJ3QgcmVhZCBiZXlvbmQgdGhlIGVuZCBvZiB0aGUgYnVmZmVyIG9uIGJhZCBpbnB1dC4KCjIwMDYtMDktMDQgMDk6MzQ6MjUgKzAwMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvQG5udmEub3JnPgoKCSAgZXh0L2Fubm9kZXgvZ3N0Y21tbGRlYy5jOiBTZWVraW5nIGJhY2sgaW4gYSBmaWxlIGNvbnRhaW5pbmcgYSBDTU1MIHN0cmVhbSBlcnJvcnMgb3V0IGlmIHRoZSBzZWVrIGdvZXMgYmFjayB1cCB0byB0aGUgLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8gYXQgbm52YSBkb3Qgb3JnPgoJICAqIGV4dC9hbm5vZGV4L2dzdGNtbWxkZWMuYzogKGdzdF9jbW1sX2RlY19jaGFpbik6CgkgIFNlZWtpbmcgYmFjayBpbiBhIGZpbGUgY29udGFpbmluZyBhIENNTUwgc3RyZWFtIGVycm9ycyBvdXQgaWYgdGhlIHNlZWsKCSAgZ29lcyBiYWNrIHVwIHRvIHRoZSBDTU1MIGhlYWRlcnMuIFRoaXMgaXMgYmVjYXVzZSBhZnRlciB0aGUgc2VlayB0aGUgeG1sCgkgIHByb2Nlc3NpbmcgaW5zdHJ1Y3Rpb24gPD94bWwgLi4uPz4gaXMgc3VibWl0dGVkIHRvIHRoZSB4bWwgcGFyc2VyIGFnYWluLAoJICB3aGljaCByZXN1bHRzIGluIGFuIGVycm9yLiBUaGUgYXR0YWNoZWQgcGF0Y2ggZml4ZXMgdGhlIHByb2JsZW0uCgkgIEZpeGVzICMzNTM5MDguCgkgICogZXh0L2Fubm9kZXgvZ3N0Y21tbGVuYy5oOgoJICBGaXggYXV0aG9ycyBuYW1lLgoKMjAwNi0wOS0wMyAxMDo0NjoxNyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3ZpZGVvY3JvcC5jOiBNb3JlIHRlc3RzOiBjaGVjayBwYXNzdGhyb3VnaCBtb2RlIGFuZCBjYXBzIHRyYW5zZm9ybSBpbiBib3RoIGRpcmVjdGlvbnMgd2l0aCBmaXhlZC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy92aWRlb2Nyb3AuYzogKGhhbmRvZmZfY2IpLAoJICAoYnVmZmVyX3Byb2JlX2NiKSwgKHRlc3RfY2Fwc190cmFuc2Zvcm0pLCAodGVzdF9wYXNzdGhyb3VnaCksCgkgIChub3Rnc3RfdmFsdWVfbGlzdF9nZXRfbnRoX2ludCksICh2aWRlb2Nyb3Bfc3VpdGUpOgoJICBNb3JlIHRlc3RzOiBjaGVjayBwYXNzdGhyb3VnaCBtb2RlIGFuZCBjYXBzIHRyYW5zZm9ybSBpbgoJICBib3RoIGRpcmVjdGlvbnMgd2l0aCBmaXhlZCB2YWx1ZXMsIHJhbmdlcyBhbmQgbGlzdHMuCgoyMDA2LTA5LTAyIDE4OjQ5OjAxICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZG9jcy9wbHVnaW5zLzogQWRkIHZpZGVvY3JvcCB0byBkb2NzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5oaWVyYXJjaHk6CgkgIEFkZCB2aWRlb2Nyb3AgdG8gZG9jcy4KCSAgKiBnc3QvdmlkZW9jcm9wL01ha2VmaWxlLmFtOgoJICAqIGdzdC92aWRlb2Nyb3AvZ3N0dmlkZW9jcm9wLmM6CgkgICogZ3N0L3ZpZGVvY3JvcC9nc3R2aWRlb2Nyb3AuaDoKCSAgTW92ZSBib2lsZXJwbGF0ZSBzdHVmZiBhbmQgc3RydWN0dXJlcyBpbnRvIGEgaGVhZGVyIGZpbGUuCgkgICogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvLmN2c2lnbm9yZToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy92aWRlb2Nyb3AuYzogKHZpZGVvX2Nyb3BfZ2V0X3Rlc3RfY2FwcyksCgkgICh0ZXN0X3VuaXRfc2l6ZXMpLCAodmlkZW9jcm9wX3Rlc3RfY3JvcHBpbmdfaW5pdF9jb250ZXh0KSwKCSAgKHZpZGVvY3JvcF90ZXN0X2Nyb3BwaW5nX2RlaW5pdF9jb250ZXh0KSwKCSAgKHZpZGVvY3JvcF90ZXN0X2Nyb3BwaW5nKSwgKHRlc3RfY3JvcHBpbmcpLCAodmlkZW9jcm9wX3N1aXRlKToKCSAgQWRkIHVuaXQgdGVzdHMgZm9yIHZpZGVvY3JvcC4KCjIwMDYtMDktMDIgMTU6MzA6NDUgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBQb3J0L3Jld3JpdGUgdmlkZW9jcm9wIGZyb20gc2NyYXRjaCBmb3IgR1N0cmVhbWVyLTAuMTAsIGFuZCBtYWtlIGl0IHN1cHBvcnQgYWxsIGZvcm1hdHMgdmlkZW9zY2FsZSBzdXBwb3J0cyAoIzM0NTY1MykuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBnc3QvdmlkZW9jcm9wL01ha2VmaWxlLmFtOgoJICAqIGdzdC92aWRlb2Nyb3AvZ3N0dmlkZW9jcm9wLmM6IChnc3RfdmlkZW9fY3JvcF9iYXNlX2luaXQpLAoJICAoZ3N0X3ZpZGVvX2Nyb3BfY2xhc3NfaW5pdCksIChnc3RfdmlkZW9fY3JvcF9pbml0KSwKCSAgKGdzdF92aWRlb19jcm9wX2dldF9pbWFnZV9kZXRhaWxzX2Zyb21fY2FwcyksCgkgIChnc3RfdmlkZW9fY3JvcF9nZXRfdW5pdF9zaXplKSwgKGdzdF92aWRlb19jcm9wX3RyYW5zZm9ybV9wYWNrZWQpLAoJICAoZ3N0X3ZpZGVvX2Nyb3BfdHJhbnNmb3JtX3BsYW5hciksIChnc3RfdmlkZW9fY3JvcF90cmFuc2Zvcm0pLAoJICAoZ3N0X3ZpZGVvX2Nyb3BfdHJhbnNmb3JtX2RpbWVuc2lvbiksCgkgIChnc3RfdmlkZW9fY3JvcF90cmFuc2Zvcm1fZGltZW5zaW9uX3ZhbHVlKSwKCSAgKGdzdF92aWRlb19jcm9wX3RyYW5zZm9ybV9jYXBzKSwgKGdzdF92aWRlb19jcm9wX3NldF9jYXBzKSwKCSAgKGdzdF92aWRlb19jcm9wX3NldF9wcm9wZXJ0eSksIChnc3RfdmlkZW9fY3JvcF9nZXRfcHJvcGVydHkpLAoJICAocGx1Z2luX2luaXQpOgoJICBQb3J0L3Jld3JpdGUgdmlkZW9jcm9wIGZyb20gc2NyYXRjaCBmb3IgR1N0cmVhbWVyLTAuMTAsIGFuZCBtYWtlCgkgIGl0IHN1cHBvcnQgYWxsIGZvcm1hdHMgdmlkZW9zY2FsZSBzdXBwb3J0cyAoIzM0NTY1MykuCgoyMDA2LTA5LTAyIDE0OjQ1OjA0ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBzeXMvdjRsMi86IFdoaXRlc3BhY2UgY2xlYW51cHMsIGRhc2hpZnkgcHJvcGVydHktbmFtZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy92NGwyL2dzdHY0bDIuYzoKCSAgKiBzeXMvdjRsMi9nc3R2NGwyY29sb3JiYWxhbmNlLmM6CgkgICogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICAoZ3N0X3Y0bDJfb2JqZWN0X2luc3RhbGxfcHJvcGVydGllc19oZWxwZXIpOgoJICAqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzogKGdzdF92NGwyc3JjX2NsYXNzX2luaXQpOgoJICAqIHN5cy92NGwyL2dzdHY0bDJzcmMuaDoKCSAgV2hpdGVzcGFjZSBjbGVhbnVwcywgZGFzaGlmeSBwcm9wZXJ0eS1uYW1lcy4KCjIwMDYtMDktMDIgMTQ6Mjg6NTUgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIHN5cy92NGwyLzogQ2xlYW51cCBlcnJvciBtZXNzYWdlcyBhbmQgdW5pZnkgaGVhZGVyIGNvbW1lbnRzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy92NGwyL2dzdHY0bDIuYzoKCSAgKiBzeXMvdjRsMi9nc3R2NGwyY29sb3JiYWxhbmNlLmM6CgkgICogc3lzL3Y0bDIvZ3N0djRsMmNvbG9yYmFsYW5jZS5oOgoJICAqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0Lmg6CgkgICogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJICAqIHN5cy92NGwyL2dzdHY0bDJzcmMuaDoKCSAgKiBzeXMvdjRsMi9nc3R2NGwydHVuZXIuYzoKCSAgKiBzeXMvdjRsMi9nc3R2NGwydHVuZXIuaDoKCSAgKiBzeXMvdjRsMi9nc3R2NGwyeG92ZXJsYXkuYzogKGdzdF92NGwyX3hvdmVybGF5X29wZW4pOgoJICAqIHN5cy92NGwyL2dzdHY0bDJ4b3ZlcmxheS5oOgoJICAqIHN5cy92NGwyL3Y0bDJfY2FsbHMuYzogKGdzdF92NGwyX2dldF9jYXBhYmlsaXRpZXMpLAoJICAoZ3N0X3Y0bDJfb3Blbik6CgkgICogc3lzL3Y0bDIvdjRsMl9jYWxscy5oOgoJICAqIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuYzogKGdzdF92NGwyc3JjX3F1ZXVlX2ZyYW1lKSwKCSAgKGdzdF92NGwyc3JjX2NhcHR1cmVfaW5pdCk6CgkgICogc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5oOgoJICBDbGVhbnVwIGVycm9yIG1lc3NhZ2VzIGFuZCB1bmlmeSBoZWFkZXIgY29tbWVudHMKCjIwMDYtMDgtMzAgMTg6MDE6NTIgKzAwMDAgIEVkZ2FyZCBMaW1hIDxlZGdhcmQubGltYUBpbmR0Lm9yZy5icj4KCgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzoKCSAgQW5vdGhlciBzbWFsbCBmaXggdG8gc2V0X2NhcHMgZnVuY3Rpb24uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBBbm90aGVyIHNtYWxsIGZpeCB0byBzZXRfY2FwcyBmdW5jdGlvbi4KCjIwMDYtMDgtMzAgMTM6MzA6MTMgKzAwMDAgIEVkZ2FyZCBMaW1hIDxlZGdhcmQubGltYUBpbmR0Lm9yZy5icj4KCgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzoKCSAgU2VuZCBuZXdfc2VnbWVudCBpbiBHU1RfRk9STUFUX1RJTUUgaW5zdGVhZCBvZiBpbiBHU1RfRk9STUFUX0JZVEVTLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgU2VuZCBuZXdfc2VnbWVudCBpbiBHU1RfRk9STUFUX1RJTUUgaW5zdGVhZCBvZiBpbiBHU1RfRk9STUFUX0JZVEVTLgoKMjAwNi0wOC0zMCAxMTozNjowNiArMDAwMCAgRWRnYXJkIExpbWEgPGVkZ2FyZC5saW1hQGluZHQub3JnLmJyPgoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJICBBIHNtYWxsIGZpeCB0byBzZXRfY2FwcyBmdW5jdGlvbi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEEgc21hbGwgZml4IHRvIHNldF9jYXBzIGZ1bmN0aW9uLgoKMjAwNi0wOC0zMCAxMToyNzo0MCArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogUmVzZXQgZWFjaCBzdHJlYW1zIGxhc3RfZmxvdyB0byBHU1RfRkxPV19PSy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICAoZ3N0X3F0ZGVtdXhfZG9fc2Vlayk6CgkgIFJlc2V0IGVhY2ggc3RyZWFtcyBsYXN0X2Zsb3cgdG8gR1NUX0ZMT1dfT0suCgkgIChnc3RfcXRkZW11eF9hY3RpdmF0ZV9zZWdtZW50KToKCSAgUmVtb3ZpbmcgbXlzdGljIG1vZGlmaWNhdGlvbnMgZm9yIGdvb2QuCgoyMDA2LTA4LTMwIDExOjA3OjM3ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IHB1dCBiYWNrICdzZWdtZW50IHN0YXJ0PD1zdG9wJyBjaGFuZ2UgdGhhdCB3YXMgbXlzdGljYWxseSByZXZlcnRlZCBieSB0aGUgbGFzdCBjb21taXQKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAoZ3N0X3F0ZGVtdXhfYWN0aXZhdGVfc2VnbWVudCksCgkgIChxdGRlbXV4X3BhcnNlX3RyZWUpOgoJICBwdXQgYmFjayAnc2VnbWVudCBzdGFydDw9c3RvcCcgY2hhbmdlIHRoYXQgd2FzIG15c3RpY2FsbHkgcmV2ZXJ0ZWQgYnkKCSAgdGhlIGxhc3QgY29tbWl0CgoyMDA2LTA4LTMwIDEwOjQzOjUzICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IEZpeCB0aGUgYnVpbGQgZm9yIGRpc2FibGVkIGRlYnVnCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKGdzdF9xdGRlbXV4X2FjdGl2YXRlX3NlZ21lbnQpLAoJICAocXRkZW11eF9wYXJzZV90cmVlKToKCSAgRml4IHRoZSBidWlsZCBmb3IgZGlzYWJsZWQgZGVidWcKCjIwMDYtMDgtMjkgMjA6NTk6NDcgKzAwMDAgIEVkZ2FyZCBMaW1hIDxlZGdhcmQubGltYUBpbmR0Lm9yZy5icj4KCgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzoKCSogc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5jOgoJKiBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmg6CgkgIEZpeGVkIGZyYW1lcmF0ZSBuZWdvdGlhdGlvbi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEZpeGVkIGZyYW1lcmF0ZSBuZWdvdGlhdGlvbi4KCjIwMDYtMDgtMjggMTc6NDc6MjkgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IE1ha2Ugc3VyZSBzZWdtZW50IHN0YXJ0PD1zdG9wIGluIHdlaXJkIHF1aWNrdGltZSBmaWxlcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAoZ3N0X3F0ZGVtdXhfYWN0aXZhdGVfc2VnbWVudCksCgkgIChnc3RfcXRkZW11eF9hZGRfc3RyZWFtKSwgKHF0ZGVtdXhfcGFyc2VfdHJhayksCgkgIChxdGRlbXV4X3ZpZGVvX2NhcHMpOgoJICBNYWtlIHN1cmUgc2VnbWVudCBzdGFydDw9c3RvcCBpbiB3ZWlyZCBxdWlja3RpbWUgZmlsZXMuCgoyMDA2LTA4LTI4IDE2OjU5OjEzICswMDAwICBBbmR5IFdpbmdvIDx3aW5nb0Bwb2JveC5jb20+CgoJICBleHQvcmF3MTM5NC9nc3RkdjEzOTRzcmMuYyAoZ3N0X2R2MTM5NHNyY19mcm9tX3JhdzEzOTRoYW5kbGUpOiBOZXcgaGVscGVyIGZ1bmN0aW9uIHRvIGxlc3NlbiB0aGUgaWZkZWZzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNi0wOC0yOCAgQW5keSBXaW5nbyAgPHdpbmdvQHBvYm94LmNvbT4KCSAgKiBleHQvcmF3MTM5NC9nc3RkdjEzOTRzcmMuYyAoZ3N0X2R2MTM5NHNyY19mcm9tX3JhdzEzOTRoYW5kbGUpOgoJICBOZXcgaGVscGVyIGZ1bmN0aW9uIHRvIGxlc3NlbiB0aGUgaWZkZWZzLgoJICAoR1NUX0lORk9fT0JKRUNUKToKCSAgKGdzdF9kdjEzOTRzcmNfaXNvX3JlY2VpdmUpOiBVc2UgaXQuCgkgIChnc3RfZHYxMzk0c3JjX2NyZWF0ZSk6IEFsc28gdXNlIHRoZSBjb250cm9sIHNvY2tldHMgaW4gaWVjNjE4ODMKCSAgbW9kZS4KCSAgKGdzdF9kdjEzOTRzcmNfc3RhcnQsIGdzdF9kdjEzOTRzcmNfc3RvcCk6IEFsd2F5cyB1c2UgYSBzZXBhcmF0ZQoJICBoYW5kbGUgZm9yIEFWQyBvcGVyYXRpb25zOyBmaXhlcyAjMzQ4MjMzLgoKMjAwNi0wOC0yOCAxNDo1OTowNSArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgc3lzL3Y0bDIvdjRsMl9jYWxscy5jOiBhZGQgY29tbWVudHMgYW5kIG1vcmUgZGVidWcgbG9nZ2luZwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvdjRsMi92NGwyX2NhbGxzLmM6IChnc3RfdjRsMl9maWxsX2xpc3RzKToKCSAgYWRkIGNvbW1lbnRzIGFuZCBtb3JlIGRlYnVnIGxvZ2dpbmcKCjIwMDYtMDgtMjcgMTc6MTQ6MDYgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIFJlbmFtZSBhZ2FpbiAoYXVkaW9meGdvb2QgLT4gYXVkaW9meCkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9meC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvZnhnb29kLnhtbDoKCSAgKiBnc3QvYXVkaW9meC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvYXVkaW9meC9hdWRpb2Z4LmM6CgkgICogZ3N0L2F1ZGlvZnhnb29kLy5jdnNpZ25vcmU6CgkgICogZ3N0L2F1ZGlvZnhnb29kL01ha2VmaWxlLmFtOgoJICAqIGdzdC9hdWRpb2Z4Z29vZC9hdWRpb2Z4LmM6CgkgICogZ3N0L2F1ZGlvZnhnb29kL2F1ZGlvcGFub3JhbWEuYzoKCSAgKiBnc3QvYXVkaW9meGdvb2QvYXVkaW9wYW5vcmFtYS5oOgoJICBSZW5hbWUgYWdhaW4gKGF1ZGlvZnhnb29kIC0+IGF1ZGlvZngpLgoKMjAwNi0wOC0yNyAxMzoxMjo1MiArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L2F2aS9nc3RhdmlkZW11eC5jOiBJbml0aWFsemUgdmFyaWFibGVzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6IChnc3RfYXZpX2RlbXV4X25leHRfZGF0YV9idWZmZXIpLAoJICAoZ3N0X2F2aV9kZW11eF9zdHJlYW1fc2Nhbik6CgkgIEluaXRpYWx6ZSB2YXJpYWJsZXMuCgoyMDA2LTA4LTI1IDE2OjIxOjM3ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L2F2aS9nc3RhdmlkZW11eC4qOiBNb3JlIGF0dGVtcHRzIHRvIHR1cm4gdGhpcyBpbnRvIHJlYWRhYmxlIGNvZGUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzogKGdzdF9hdmlfZGVtdXhfY2xhc3NfaW5pdCksCgkgIChnc3RfYXZpX2RlbXV4X2luaXQpLCAoZ3N0X2F2aV9kZW11eF9maW5hbGl6ZSksCgkgIChnc3RfYXZpX2RlbXV4X3Jlc2V0KSwgKGdzdF9hdmlfZGVtdXhfaW5kZXhfbGFzdCksCgkgIChnc3RfYXZpX2RlbXV4X2luZGV4X25leHQpLCAoZ3N0X2F2aV9kZW11eF9pbmRleF9lbnRyeV9mb3JfdGltZSksCgkgIChnc3RfYXZpX2RlbXV4X3BhcnNlX3N1YmluZGV4KSwgKGdzdF9hdmlfZGVtdXhfcGFyc2VfaW5kZXgpLAoJICAoZ3N0X2F2aV9kZW11eF9zdHJlYW1faW5kZXgpLCAoZ3N0X2F2aV9kZW11eF9wZWVrX3RhZyksCgkgIChnc3RfYXZpX2RlbXV4X25leHRfZGF0YV9idWZmZXIpLCAoZ3N0X2F2aV9kZW11eF9zdHJlYW1fc2NhbiksCgkgIChnc3RfYXZpX2RlbXV4X21hc3NhZ2VfaW5kZXgpLAoJICAoZ3N0X2F2aV9kZW11eF9jYWxjdWxhdGVfZHVyYXRpb25zX2Zyb21faW5kZXgpLAoJICAoZ3N0X2F2aV9kZW11eF9zdHJlYW1faGVhZGVyX3B1bGwpLCAoZ3N0X2F2aV9kZW11eF9kb19zZWVrKSwKCSAgKGdzdF9hdmlfZGVtdXhfcHJvY2Vzc19uZXh0X2VudHJ5KSwgKGdzdF9hdmlfZGVtdXhfbG9vcCksCgkgIChnc3RfYXZpX2RlbXV4X2NoYWluKSwgKGdzdF9hdmlfZGVtdXhfc2lua19hY3RpdmF0ZSksCgkgIChnc3RfYXZpX2RlbXV4X2NoYW5nZV9zdGF0ZSk6CgkgICogZ3N0L2F2aS9nc3RhdmlkZW11eC5oOgoJICBNb3JlIGF0dGVtcHRzIHRvIHR1cm4gdGhpcyBpbnRvIHJlYWRhYmxlIGNvZGUuCgkgIERvbid0IGxlYWsgYWRhcHRlcnMuCgkgIENhbGN1bGF0ZSBkdXJhdGlvbiBhY2NvcmRpbmcgdG8gaW5kZXggbW9yZSBlZmZpY2llbnRseS4KCSAgRG9uJ3QgdHJ5IHRvIGFjdCBsaWtlIHdlIGRyaXZlIHRoZSBwaXBlbGluZSBpbiBjaGFpbiBtb2RlLgoKMjAwNi0wOC0yNSAwOTo1MzoxOCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGV4dC9hbm5vZGV4L2dzdGNtbWx1dGlscy5jOiBGaXggYnVpbGQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9hbm5vZGV4L2dzdGNtbWx1dGlscy5jOiAoZ3N0X2NtbWxfY2xvY2tfdGltZV9mcm9tX25wdCk6CgkgIEZpeCBidWlsZC4KCjIwMDYtMDgtMjUgMDk6NDI6NDMgKzAwMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvQG5udmEub3JnPgoKCSAgZXh0L2Fubm9kZXgvZ3N0YW5ub2RleC5jOiBEbyBzb21lIGV4dHJhIHNhbml0eSBjaGVja3MuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8gYXQgbm52YSBkb3Qgb3JnPgoJICAqIGV4dC9hbm5vZGV4L2dzdGFubm9kZXguYzogKGdzdF9hbm5vZGV4X2dyYW51bGVfdG9fdGltZSk6CgkgIERvIHNvbWUgZXh0cmEgc2FuaXR5IGNoZWNrcy4KCSAgRml4ZXMgIzM1MDM0MC4KCSAgKiBleHQvYW5ub2RleC9nc3RjbW1sZW5jLmM6IChnc3RfY21tbF9lbmNfY2hhbmdlX3N0YXRlKSwKCSAgKGdzdF9jbW1sX2VuY19wYXJzZV90YWdfaGVhZCksIChnc3RfY21tbF9lbmNfcGFyc2VfdGFnX2NsaXApLAoJICAoZ3N0X2NtbWxfZW5jX3B1c2hfY2xpcCksIChnc3RfY21tbF9lbmNfcHVzaCk6CgkgIENoZWNrIGlmIGNsaXAtPnN0YXJ0X3RpbWUgaXMgdmFsaWQgYmVmb3JlIGFkZGluZyB0aGUgY2xpcCB0byB0aGUKCSAgdHJhY2sgbGlzdC4KCSAgUmVzZXQgZW5jLT5wcmVhbWJsZSBnb2luZyBmcm9tIFBBVVNFRCB0byBSRUFEWS4KCSAgRG9uJ3QgdXNlIEdTVF9GTE9XX1VORVhQRUNURUQgZm9yIHdyb25nIHVzYWdlIG9mIHRoZSBlbGVtZW50LCBpdCBpcwoJICBvbmx5IHVzZWQgZm9yIEVPUy4KCSAgT25seSBwb3N0IGFuIGVycm9yIG1lc3NhZ2UgaWYgd2Ugd2VyZSB0aGUgb25lIHRoYXQgY3JlYXRlZCB0aGUgZmF0YWwKCSAgR3N0Rmxvd1JldHVybiB2YWx1ZS4KCSAgKiBleHQvYW5ub2RleC9nc3RjbW1sdXRpbHMuYzogKGdzdF9jbW1sX2Nsb2NrX3RpbWVfZnJvbV9ucHQpLAoJICAoZ3N0X2NtbWxfY2xvY2tfdGltZV90b19ncmFudWxlKSwgKGdzdF9jbW1sX3RyYWNrX2xpc3RfaGFzX2NsaXApOgoJICBQYXJzZSB0aGUgc2Vjb25kcyBmaWVsZCBvZiB0aGUgbnB0LXNlYyB0aW1lIGZvcm1hdCB1c2luZyAlbGx1IHJhdGhlciB0aGFuCgkgICVkIGFuZCBjaGVjayB0aGF0IHRoZSB2YWx1ZSBzY2FsZWQgYnkgR1NUX1NFQ09ORCBkb2Vzbid0IG92ZXJmbG93LgoJICBVc2UgZ3VpbnQ2NChzKSB0byByZXByZXNlbnQgdGhlIGtleWluZGV4IGFuZCBrZXlvZmZzZXQgZmllbGRzIG9mIGEgZ3JhbnVsZXBvcy4KCSAgTG9va3VwIGEgY2xpcCdzIHRyYWNrIHdpdGggY2xpcC0+dHJhY2sgcmF0aGVyIHRoYW4gY2xpcC0+aWQgd2hpY2gKCSAgbWFrZXMgbm8gc2Vuc2UuCgkgIElkZW50aWZ5IGEgY2xpcCBieSBpdHMgdHJhY2sgYW5kIHN0YXJ0IHRpbWUgYW5kIG5vdCBpdHMgeG1sIGlkLgoJICBkbyBzb21lIG1vcmUgaW5wdXQgY2hlY2tpbmcgYW5kIG1ha2Ugc3VyZSB3ZSBkb24ndCBkbyB1bmRlZmluZWQgc2hpZnRzLgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2NtbWxkZWMuYzogKHNldHVwX2NtbWxkZWMpLAoJICAodGVhcmRvd25fY21tbGRlYyksIChjaGVja19vdXRwdXRfYnVmZmVyX2lzX2VxdWFsKSwgKHB1c2hfZGF0YSksCgkgIChjbW1sX3RhZ19tZXNzYWdlX3BvcCksIChjaGVja19oZWFkZXJzKSwgKHB1c2hfY2xpcF9mdWxsKSwKCSAgKHB1c2hfY2xpcCksIChwdXNoX2VtcHR5X2NsaXApLCAoY2hlY2tfb3V0cHV0X2NsaXApLAoJICAoR1NUX1NUQVJUX1RFU1QpLCAoY21tbGRlY19zdWl0ZSk6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvY21tbGVuYy5jOiAoc2V0dXBfY21tbGVuYyksCgkgICh0ZWFyZG93bl9jbW1sZW5jKSwgKGNoZWNrX291dHB1dF9idWZmZXJfaXNfZXF1YWwpLCAocHVzaF9kYXRhKSwKCSAgKGNoZWNrX2hlYWRlcnMpLCAocHVzaF9jbGlwKSwgKGNoZWNrX2NsaXBfdGltZXMpLCAoY2hlY2tfY2xpcCksCgkgIChjaGVja19lbXB0eV9jbGlwKSwgKEdTVF9TVEFSVF9URVNUKSwgKGNtbWxlbmNfc3VpdGUpOgoJICBBZGRlZCBzb21lIG1vcmUgY2hlY2tzLgoKMjAwNi0wOC0yNCAxOTowMDoyMiArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgTWFrZSBhbHNvIHRoZSBwYW4tcHJvcGVydHkgZmxvYXQgKHNhdmVzIHNjYWxpbmcgYW5kIHlpZWxkcyBiZXR0ZXIgcmVzb2x1dGlvbikKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2F1ZGlvZnhnb29kL2F1ZGlvcGFub3JhbWEuYzogKGdzdF9hdWRpb19wYW5vcmFtYV9jbGFzc19pbml0KSwKCSAgKGdzdF9hdWRpb19wYW5vcmFtYV9zZXRfcHJvcGVydHkpLAoJICAoZ3N0X2F1ZGlvX3Bhbm9yYW1hX2dldF9wcm9wZXJ0eSksCgkgIChnc3RfYXVkaW9fcGFub3JhbWFfdHJhbnNmb3JtX20yc19pbnQpLAoJICAoZ3N0X2F1ZGlvX3Bhbm9yYW1hX3RyYW5zZm9ybV9zMnNfaW50KSwKCSAgKGdzdF9hdWRpb19wYW5vcmFtYV90cmFuc2Zvcm1fbTJzX2Zsb2F0KSwKCSAgKGdzdF9hdWRpb19wYW5vcmFtYV90cmFuc2Zvcm1fczJzX2Zsb2F0KToKCSAgKiBnc3QvYXVkaW9meGdvb2QvYXVkaW9wYW5vcmFtYS5oOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvcGFub3JhbWEuYzogKEdTVF9TVEFSVF9URVNUKToKCSAgTWFrZSBhbHNvIHRoZSBwYW4tcHJvcGVydHkgZmxvYXQgKHNhdmVzIHNjYWxpbmcgYW5kIHlpZWxkcyBiZXR0ZXIKCSAgcmVzb2x1dGlvbikKCjIwMDYtMDgtMjQgMTg6MjM6MTQgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC9hdWRpb2Z4Z29vZC9hdWRpb3Bhbm9yYW1hLmM6IENoYW5nZUxvZyBzdXJnZXJ5IHRvIGFkZCBjeW1heCdzIHJlYWwgbmFtZQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXVkaW9meGdvb2QvYXVkaW9wYW5vcmFtYS5jOiAoZ3N0X2F1ZGlvX3Bhbm9yYW1hX3NldF9jYXBzKSwKCSAgKGdzdF9hdWRpb19wYW5vcmFtYV90cmFuc2Zvcm1fbTJzX2Zsb2F0KSwKCSAgKGdzdF9hdWRpb19wYW5vcmFtYV90cmFuc2Zvcm1fczJzX2Zsb2F0KToKCSAgQ2hhbmdlTG9nIHN1cmdlcnkgdG8gYWRkIGN5bWF4J3MgcmVhbCBuYW1lCgoyMDA2LTA4LTI0IDE4OjE3OjIwICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3QvYXVkaW9meGdvb2QvYXVkaW9wYW5vcmFtYS4qOiBBZGRlZCBmbG9hdCBzdXBwb3J0ICh0aGFua3MgY3ltYXgpCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdWRpb2Z4Z29vZC9hdWRpb3Bhbm9yYW1hLmM6IChnc3RfYXVkaW9fcGFub3JhbWFfc2V0X2NhcHMpLAoJICAoZ3N0X2F1ZGlvX3Bhbm9yYW1hX3RyYW5zZm9ybV9tMnNfaW50KSwKCSAgKGdzdF9hdWRpb19wYW5vcmFtYV90cmFuc2Zvcm1fczJzX2ludCksCgkgIChnc3RfYXVkaW9fcGFub3JhbWFfdHJhbnNmb3JtX20yc19mbG9hdCksCgkgIChnc3RfYXVkaW9fcGFub3JhbWFfdHJhbnNmb3JtX3Myc19mbG9hdCksCgkgIChnc3RfYXVkaW9fcGFub3JhbWFfdHJhbnNmb3JtKToKCSAgKiBnc3QvYXVkaW9meGdvb2QvYXVkaW9wYW5vcmFtYS5oOgoJICBBZGRlZCBmbG9hdCBzdXBwb3J0ICh0aGFua3MgY3ltYXgpCgoyMDA2LTA4LTI0IDE0OjE2OjU1ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3QvYXVkaW9meGdvb2QvYXVkaW9wYW5vcmFtYS5jOiBGaXggZG9jcyAmIGRlYnVnIGNhdGVnb3J5LiBBZGQgRml4bWUgZm9yIHZvbHVtZSBwYW4gbGV2ZWxzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXVkaW9meGdvb2QvYXVkaW9wYW5vcmFtYS5jOgoJICAoZ3N0X2F1ZGlvX3Bhbm9yYW1hX3RyYW5zZm9ybV9tMnMpOgoJICBGaXggZG9jcyAmIGRlYnVnIGNhdGVnb3J5LiBBZGQgRml4bWUgZm9yIHZvbHVtZSBwYW4gbGV2ZWxzLgoKMjAwNi0wOC0yNCAxMzo1MToxNSArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L2F2aS9nc3RhdmlkZW11eC5jOiB1bmJyZWFrIEFWSSBpbmRleCBoYW5kbGluZywgc29tZSBtb3JlIGRlYnVnLCByZW1vdmUgYW4gb2Jzb2xldGUgYWRhcHRlcl9mbHVzaCB0aGF0IGNhdXNlZCBzdHJlLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzogKGdzdF9hdmlfZGVtdXhfcmVhZF9zdWJpbmRleGVzX3B1bGwpLAoJICAoZ3N0X2F2aV9kZW11eF9zeW5jKSwgKGdzdF9hdmlfZGVtdXhfc3RyZWFtX2hlYWRlcl9wdXNoKSwKCSAgKGdzdF9hdmlfZGVtdXhfc3RyZWFtX2hlYWRlcl9wdWxsKSwKCSAgKGdzdF9hdmlfZGVtdXhfcHJvY2Vzc19uZXh0X2VudHJ5KSwgKGdzdF9hdmlfZGVtdXhfc3RyZWFtX2RhdGEpLAoJICAoZ3N0X2F2aV9kZW11eF9jaGFpbik6CgkgIHVuYnJlYWsgQVZJIGluZGV4IGhhbmRsaW5nLCBzb21lIG1vcmUgZGVidWcsIHJlbW92ZSBhbiBvYnNvbGV0ZQoJICBhZGFwdGVyX2ZsdXNoIHRoYXQgY2F1c2VkIHN0cmVhbWluZyB0byB3YW5kZXIgb2ZmIGluIHRoZSB3aWxkCgoyMDA2LTA4LTI0IDExOjIxOjA2ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L2F2aS9nc3RhdmlkZW11eC4qOiBTb21lIG1vcmUgY2xlYW51cHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzogKGdzdF9hdmlfZGVtdXhfaGFuZGxlX3NyY19xdWVyeSksCgkgIChnc3RfYXZpX2RlbXV4X3BhcnNlX3N1cGVyaW5kZXgpLCAoZ3N0X2F2aV9kZW11eF9wYXJzZV9zdWJpbmRleCksCgkgIChnc3RfYXZpX2RlbXV4X3BhcnNlX3N0cmVhbSksIChnc3RfYXZpX2RlbXV4X3BhcnNlX29kbWwpLAoJICAoZ3N0X2F2aV9kZW11eF9wYXJzZV9pbmRleCksIChnc3RfYXZpX2RlbXV4X3N0cmVhbV9pbmRleCksCgkgIChnc3RfYXZpX2RlbXV4X2NhbGN1bGF0ZV9kdXJhdGlvbnNfZnJvbV9pbmRleCksCgkgIChnc3RfYXZpX2RlbXV4X3N0cmVhbV9oZWFkZXJfcHVzaCksCgkgIChnc3RfYXZpX2RlbXV4X3N0cmVhbV9oZWFkZXJfcHVsbCk6CgkgICogZ3N0L2F2aS9nc3RhdmlkZW11eC5oOgoJICBTb21lIG1vcmUgY2xlYW51cHMuCgkgIEZpeCB0b3RhbEZyYW1lcyBwYXJzaW5nIGluIE9ETUwuCgkgIERpc2FibGUgdXNlIG9mIGluZGV4IGZvciBsZW5ndGggY2FsY3VsYXRpb24gaW4gY2FzZSBvZiBPRE1MIGFzIHRoaXMgaXMKCSAgYnJva2VuIG5vdy4KCjIwMDYtMDgtMjQgMTA6MDM6MDMgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvZmxhYy9nc3RmbGFjZGVjLmM6IFVzZSBsaWJnc3R0YWcgaGVscGVyIGZ1bmN0aW9uIGhlcmUgdG9vLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZmxhYy9nc3RmbGFjZGVjLmM6IChnc3RfZmxhY19kZWNfdXBkYXRlX21ldGFkYXRhKToKCSAgVXNlIGxpYmdzdHRhZyBoZWxwZXIgZnVuY3Rpb24gaGVyZSB0b28uCgoyMDA2LTA4LTI0IDA5OjI0OjExICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBleHQvd2F2cGFjay9nc3R3YXZwYWNrZGVjLmM6IFBvc3QgYXVkaW8gY29kZWMgYW5kIGF2ZXJhZ2UgYml0cmF0ZSB0YWdzIG9uIGJ1cyAoIzM0NDQ3MikuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW8gYXQgY2lyY3VsYXItY2hhb3Mub3JnPgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tkZWMuYzogKGdzdF93YXZwYWNrX2RlY19wb3N0X3RhZ3MpLAoJICAoZ3N0X3dhdnBhY2tfZGVjX2NoYWluKToKCSAgUG9zdCBhdWRpbyBjb2RlYyBhbmQgYXZlcmFnZSBiaXRyYXRlIHRhZ3Mgb24gYnVzICgjMzQ0NDcyKS4KCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrcGFyc2UuYzogKGdzdF93YXZwYWNrX3BhcnNlX2Jhc2VfaW5pdCksCgkgIChnc3Rfd2F2cGFja19wYXJzZV9zcmNfcXVlcnkpOgoJICBGb3J3YXJkIHF1ZXJpZXMgaW4gb3RoZXIgZm9ybWF0cyAoQllURSBmb3JtYXQgaW4gcGFydGljdWxhcikKCSAgdXBzdHJlYW07IGFkZCBTZWJhc3RpYW4gdG8gYXV0aG9ycy4KCjIwMDYtMDgtMjQgMDA6NDA6MDcgKzAwMDAgIEVkZ2FyZCBMaW1hIDxlZGdhcmQubGltYUBpbmR0Lm9yZy5icj4KCgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzoKCSogc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5jOgoJKiBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmg6CgkgIEZpeCBzZXRfY2FwcyB0byBzZXQgd2lkdGggYW5kIGhlaWdodCB0byB0aGUgdmFsdWVzIHRoZSBkcml2ZXIgaXMgcmVhbGx5IHdvcmtpbmcgd2l0aC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEZpeCBzZXRfY2FwcyB0byBzZXQgd2lkdGggYW5kIGhlaWdodCB0byB0aGUgdmFsdWVzIHRoZSBkcml2ZXIgaXMgcmVhbGx5IHdvcmtpbmcgd2l0aC4KCjIwMDYtMDgtMjMgMTU6MzM6NDcgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC9hdmkvZ3N0YXZpZGVtdXguKjogSW5pdGlhbCBzdHJlYW1pbmcgc3VwcG9ydCBmb3IgYXZpZGVtdXggKGZpeGVzICMzMzY0NjUpCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzogKGdzdF9hdmlfZGVtdXhfY2xhc3NfaW5pdCksCgkgIChnc3RfYXZpX2RlbXV4X2luaXQpLCAoZ3N0X2F2aV9kZW11eF9kaXNwb3NlKSwKCSAgKGdzdF9hdmlfZGVtdXhfcmVzZXQpLCAoZ3N0X2F2aV9kZW11eF9pbmRleF9uZXh0KSwKCSAgKGdzdF9hdmlfZGVtdXhfaW5kZXhfZW50cnlfZm9yX3RpbWUpLCAoZ3N0X2F2aV9kZW11eF9zcmNfY29udmVydCksCgkgIChnc3RfYXZpX2RlbXV4X2hhbmRsZV9zcmNfcXVlcnkpLCAoZ3N0X2F2aV9kZW11eF9oYW5kbGVfc3JjX2V2ZW50KSwKCSAgKGdzdF9hdmlfZGVtdXhfcGVla19jaHVua19pbmZvKSwgKGdzdF9hdmlfZGVtdXhfcGVla19jaHVuayksCgkgIChnc3RfYXZpX2RlbXV4X3N0cmVhbV9pbml0X3B1c2gpLCAoZ3N0X2F2aV9kZW11eF9zdHJlYW1faW5pdF9wdWxsKSwKCSAgKGdzdF9hdmlfZGVtdXhfcGFyc2Vfc3ViaW5kZXgpLAoJICAoZ3N0X2F2aV9kZW11eF9yZWFkX3N1YmluZGV4ZXNfcHVzaCksCgkgIChnc3RfYXZpX2RlbXV4X3JlYWRfc3ViaW5kZXhlc19wdWxsKSwgKGdzdF9hdmlfZGVtdXhfcGFyc2Vfc3RyZWFtKSwKCSAgKHNvcnQpLCAoZ3N0X2F2aV9kZW11eF9wYXJzZV9pbmRleCksIChnc3RfYXZpX2RlbXV4X3N0cmVhbV9pbmRleCksCgkgIChnc3RfYXZpX2RlbXV4X3N5bmMpLCAoZ3N0X2F2aV9kZW11eF9wZWVrX3RhZyksCgkgIChnc3RfYXZpX2RlbXV4X21hc3NhZ2VfaW5kZXgpLCAoZ3N0X2F2aV9kZW11eF9zdHJlYW1faGVhZGVyX3B1c2gpLAoJICAoZ3N0X2F2aV9kZW11eF9zdHJlYW1faGVhZGVyX3B1bGwpLAoJICAoZ3N0X2F2aV9kZW11eF9wcm9jZXNzX25leHRfZW50cnkpLCAoZ3N0X2F2aV9kZW11eF9zdHJlYW1fZGF0YSksCgkgIChwdXNoX3RhZ19saXN0cyksIChnc3RfYXZpX2RlbXV4X2xvb3ApLCAoZ3N0X2F2aV9kZW11eF9jaGFpbiksCgkgIChnc3RfYXZpX2RlbXV4X3NpbmtfYWN0aXZhdGUpLCAoZ3N0X2F2aV9kZW11eF9hY3RpdmF0ZV9wdXNoKSwKCSAgKGdzdF9hdmlfZGVtdXhfY2hhbmdlX3N0YXRlKToKCSAgKiBnc3QvYXZpL2dzdGF2aWRlbXV4Lmg6CgkgIEluaXRpYWwgc3RyZWFtaW5nIHN1cHBvcnQgZm9yIGF2aWRlbXV4IChmaXhlcyAjMzM2NDY1KQoKMjAwNi0wOC0yMyAxMDozMDozMSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tlbmMuYzogRml4IG1lbSBsZWFrLCBzZW5kIG5ld3NlZ21lbnQgZXZlbnQgb24gY29ycmVjdGlvbiBwYWQgYXMgd2VsbCAoIzM1MjQ3NikuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tlbmMuYzogKGdzdF93YXZwYWNrX2VuY19wdXNoX2Jsb2NrKToKCSAgRml4IG1lbSBsZWFrLCBzZW5kIG5ld3NlZ21lbnQgZXZlbnQgb24gY29ycmVjdGlvbiBwYWQKCSAgYXMgd2VsbCAoIzM1MjQ3NikuCgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja3BhcnNlLmM6IChnc3Rfd2F2cGFja19wYXJzZV9iYXNlX2luaXQpOgoJICBSZXN0b3JlIG9yaWdpbmFsIGF1dGhvciAob24gU2ViYXN0aWFuJ3MgcmVxdWVzdCkuCgkgICogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgICogdGVzdHMvY2hlY2svZ3N0LXBsdWdpbnMtYmFkLnN1cHA6CgkgIEFkZCAoc28gZmFyIGVtcHR5KSBzdXBwcmVzc2lvbiBmaWxlIGZvciAtYmFkLiBSZW1vdmUKCSAgd2F2cGFja2VuYyB0ZXN0IGZyb20gVkFMR1JJTkRfVE9fRklYIG5vdyB0aGF0IHRoZSBsZWFrCgkgIGlzIGZpeGVkLgoKMjAwNi0wOC0yMyAwOToyMjowNyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgdGVzdHMvY2hlY2svOiBBZGQgdW5pdCB0ZXN0cyBmb3Igd2F2cGFjayBlbGVtZW50cyAoIzM1MjQ3NikuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW8gYXQgY2lyY3VsYXItY2hhb3Mub3JnPgoJICAqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzLy5jdnNpZ25vcmU6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvd2F2cGFja2RlYy5jOiAoc2V0dXBfd2F2cGFja2RlYyksCgkgIChjbGVhbnVwX3dhdnBhY2tkZWMpLCAoR1NUX1NUQVJUX1RFU1QpLCAod2F2cGFja2RlY19zdWl0ZSksIChtYWluKToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy93YXZwYWNrZW5jLmM6IChzZXR1cF93YXZwYWNrZW5jKSwKCSAgKGNsZWFudXBfd2F2cGFja2VuYyksIChHU1RfU1RBUlRfVEVTVCksICh3YXZwYWNrZW5jX3N1aXRlKSwgKG1haW4pOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3dhdnBhY2twYXJzZS5jOiAod2F2cGFja3BhcnNlX2ZvdW5kX3BhZCksCgkgIChzZXR1cF93YXZwYWNrcGFyc2UpLCAoY2xlYW51cF93YXZwYWNrcGFyc2UpLCAoR1NUX1NUQVJUX1RFU1QpLAoJICAod2F2cGFja3BhcnNlX3N1aXRlKSwgKG1haW4pOgoJICBBZGQgdW5pdCB0ZXN0cyBmb3Igd2F2cGFjayBlbGVtZW50cyAoIzM1MjQ3NikuCgoyMDA2LTA4LTIzIDA4OjUyOjUwICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBBZGQgZG9jcyBmb3Igd2F2cGFjayBlbGVtZW50cyAoIzM1MjQ3NikuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW8gYXQgY2lyY3VsYXItY2hhb3Mub3JnPgoJICAqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmhpZXJhcmNoeToKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFjay54bWw6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2RlYy5jOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tkZWMuaDoKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZW5jLmM6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2VuYy5oOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2twYXJzZS5jOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2twYXJzZS5oOgoJICBBZGQgZG9jcyBmb3Igd2F2cGFjayBlbGVtZW50cyAoIzM1MjQ3NikuCgoyMDA2LTA4LTIyIDIwOjM5OjI2ICswMDAwICBFZGdhcmQgTGltYSA8ZWRnYXJkLmxpbWFAaW5kdC5vcmcuYnI+CgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkqIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuYzoKCSAgRml4ZWQgcXVlcnkgc2l6ZSB0byB3b3JrIHdpdGggZHJpdmVycyB0aGF0IHVzZXMgaW50ZXJtZWRpYXRlIHN0ZXAgbGlrZSAid2lkdGggKiBoZWlnaHQiIHRvIGZpbmQgY2xvc2VzdCBzaXplLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgRml4ZWQgcXVlcnkgc2l6ZSB0byB3b3JrIHdpdGggZHJpdmVycyB0aGF0IHVzZXMgaW50ZXJtZWRpYXRlIHN0ZXAgbGlrZSAid2lkdGggKiBoZWlnaHQiIHRvIGZpbmQgY2xvc2VzdCBzaXplLgoKMjAwNi0wOC0yMiAxNzoyMDo0MSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtZG9jcy5zZ21sOiBUaGVyZSBpcyBubyB0YWdsaWJtdXggZWxlbWVudCAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1kb2NzLnNnbWw6CgkgIFRoZXJlIGlzIG5vIHRhZ2xpYm11eCBlbGVtZW50IC4uLgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgVXNlICclJyByYXRoZXIgdGhhbiAnJnBlcmM7JyBpbiBndGstZG9jIGJsdXJiLCBkb2NzIGJ1aWxkCgkgIHdhcyBjb21wbGFpbmluZyBhYm91dCB1bmtub3duIGVudGl0eSBoZXJlLgoKMjAwNi0wOC0yMiAxNzowMjozOSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9hdmkvZ3N0YXZpZGVtdXguKjogTWFyayBESVNDT05ULgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6IChnc3RfYXZpX2RlbXV4X3BhcnNlX3N0cmVhbSksCgkgIChnc3RfYXZpX2RlbXV4X2RvX3NlZWspLCAoZ3N0X2F2aV9kZW11eF9oYW5kbGVfc2VlayksCgkgIChnc3RfYXZpX2RlbXV4X3Byb2Nlc3NfbmV4dF9lbnRyeSk6CgkgICogZ3N0L2F2aS9nc3RhdmlkZW11eC5oOgoJICBNYXJrIERJU0NPTlQuCgkgIFJlbW92ZSBvbGQgdW51c2VkIGZpZWxkcyBhbmQgcmVvcmRlciB0aGUgc3RydWN0IGEgYml0LgoKMjAwNi0wOC0yMiAxNjo0NTozNyArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIFNtYWxsIGRvY3VtZW50YXRpb24gdXBkYXRlcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiAoZ3N0X3J0c3BzcmNfbWVkaWFfdG9fY2FwcyksCgkgIChnc3RfcnRzcHNyY19zZW5kKSwgKGdzdF9ydHNwc3JjX2Nsb3NlKSwgKGdzdF9ydHNwc3JjX3BsYXkpLAoJICAoZ3N0X3J0c3BzcmNfcGF1c2UpOgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuaDoKCSAgKiBzeXMvb3NzL2dzdG9zc3NpbmsuYzogKGdzdF9vc3Nfc2lua19vcGVuKSwKCSAgKGdzdF9vc3Nfc2lua19wcmVwYXJlKSwgKGdzdF9vc3Nfc2lua191bnByZXBhcmUpOgoJICBTbWFsbCBkb2N1bWVudGF0aW9uIHVwZGF0ZXMuCgoyMDA2LTA4LTIyIDE2OjQyOjIyICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L2F2aS9nc3RhdmlkZW11eC4qOiBQcmVjYWxjIG1vc3Qgb2YgdGhlIGR1cmF0aW9uIHF1ZXJ5IGZvciBlYWNoIHN0cmVhbS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOiAoZ3N0X2F2aV9kZW11eF9yZXNldCksCgkgIChnc3RfYXZpX2RlbXV4X2luZGV4X2VudHJ5X2Zvcl90aW1lKSwKCSAgKGdzdF9hdmlfZGVtdXhfaGFuZGxlX3NyY19xdWVyeSksIChnc3RfYXZpX2RlbXV4X2hhbmRsZV9zcmNfZXZlbnQpLAoJICAoZ3N0X2F2aV9kZW11eF9zdHJlYW1faW5pdCksIChnc3RfYXZpX2RlbXV4X3BhcnNlX3N0cmVhbSksCgkgIChnc3RfYXZpX2RlbXV4X3N0cmVhbV9pbmRleCksIChnc3RfYXZpX2RlbXV4X3BlZWtfdGFnKSwKCSAgKGdzdF9hdmlfZGVtdXhfbmV4dF9kYXRhX2J1ZmZlciksCgkgIChnc3RfYXZpX2RlbXV4X2NhbGN1bGF0ZV9kdXJhdGlvbnNfZnJvbV9pbmRleCksCgkgIChnc3RfYXZpX2RlbXV4X3N0cmVhbV9oZWFkZXIpLCAoZ3N0X2F2aV9kZW11eF9kb19zZWVrKSwKCSAgKGdzdF9hdmlfZGVtdXhfaGFuZGxlX3NlZWspLCAoZ3N0X2F2aV9kZW11eF9hZ2dyZWdhdGVkX2Zsb3cpLAoJICAoZ3N0X2F2aV9kZW11eF9wcm9jZXNzX25leHRfZW50cnkpLCAoZ3N0X2F2aV9kZW11eF9sb29wKSwKCSAgKGdzdF9hdmlfZGVtdXhfc2lua19hY3RpdmF0ZV9wdWxsKSwgKGdzdF9hdmlfZGVtdXhfY2hhbmdlX3N0YXRlKToKCSAgKiBnc3QvYXZpL2dzdGF2aWRlbXV4Lmg6CgkgIFByZWNhbGMgbW9zdCBvZiB0aGUgZHVyYXRpb24gcXVlcnkgZm9yIGVhY2ggc3RyZWFtLgoJICBNYWtlIHNlZWtpbmcgbW9yZSBjb3JyZWN0LgoJICBVc2UgR3N0U2VnbWVudCB0byB0cmFjayBwb3NpdGlvbiBhbmQgZHVyYXRpb24uCgkgIENvZGUgY2xlYW51cHMgYW5kIGxlYWsgZml4ZXMuCgkgIENhbGN1bGF0ZSBjb3JyZWN0IHRvdGFsIGR1cmF0aW9uIGJhc2VkIG9uIGluZGV4IGxlbmd0aC4KCjIwMDYtMDgtMjIgMTM6NTM6MzQgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgZ3N0L2lkM2RlbXV4L2lkM3YyZnJhbWVzLmM6IElmIHN0cmluZ3MgaW4gdGV4dCBmaWVsZHMgYXJlIG1hcmtlZCBJU084ODU5LTEsIGJ1dCBjb250YWluIHZhbGlkIFVURi04IGFscmVhZHksIHRoZW4gaGFuLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9pZDNkZW11eC9pZDN2MmZyYW1lcy5jOiAocGFyc2VfdGV4dF9pZGVudGlmaWNhdGlvbl9mcmFtZSksCgkgIChwYXJzZV9pbnNlcnRfc3RyaW5nX2ZpZWxkKToKCSAgSWYgc3RyaW5ncyBpbiB0ZXh0IGZpZWxkcyBhcmUgbWFya2VkIElTTzg4NTktMSwgYnV0IGNvbnRhaW4KCSAgdmFsaWQgVVRGLTggYWxyZWFkeSwgdGhlbiBoYW5kbGUgdGhlbSBhcyBVVEYtOCBhbmQgaWdub3JlCgkgIHRoZSBlbmNvZGluZy4gKCMzNTE3OTQpCgoyMDA2LTA4LTIyIDEyOjI4OjI0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L2ZsYWMvZ3N0ZmxhY2RlYy4qOiBNYWtlIGZsYWMtaW4tb2dnIHdvcmsgKCMzNTIxMDApLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZmxhYy9nc3RmbGFjZGVjLmM6IChnc3RfZmxhY19kZWNfc2Nhbl9nb3RfZnJhbWUpLAoJICAoZ3N0X2ZsYWNfZGVjX3dyaXRlKSwgKGdzdF9mbGFjX2RlY19sb29wKSwKCSAgKGdzdF9mbGFjX2RlY19zaW5rX2V2ZW50KSwgKGdzdF9mbGFjX2RlY19jaGFpbiksCgkgIChnc3RfZmxhY19kZWNfc3JjX3F1ZXJ5KToKCSAgKiBleHQvZmxhYy9nc3RmbGFjZGVjLmg6CgkgIE1ha2UgZmxhYy1pbi1vZ2cgd29yayAoIzM1MjEwMCkuCgoyMDA2LTA4LTIyIDEyOjEwOjMyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L21vbm9zY29wZS9nc3Rtb25vc2NvcGUuYzogRG9uJ3QgdW5yZWYgYnVmZmVycyBvZiB3aGljaCB3ZSd2ZSBhbHJlYWR5IGdpdmVuIGF3YXkgb3duZXJzaGlwIHRvIHRoZSBhZGFwdGVyLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbW9ub3Njb3BlL2dzdG1vbm9zY29wZS5jOiAoZ3N0X21vbm9zY29wZV9jaGFpbik6CgkgIERvbid0IHVucmVmIGJ1ZmZlcnMgb2Ygd2hpY2ggd2UndmUgYWxyZWFkeSBnaXZlbiBhd2F5CgkgIG93bmVyc2hpcCB0byB0aGUgYWRhcHRlci4KCjIwMDYtMDgtMjIgMTA6MzI6MzQgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvc3BlZXgvZ3N0c3BlZXhkZWMuYzogTWFrZSBtZXRhZGF0YSBleHRyYWN0aW9uIGFjdHVhbGx5IHdvcmsuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9zcGVleC9nc3RzcGVleGRlYy5jOiAoc3BlZXhfZGVjX2NoYWluX3BhcnNlX2NvbW1lbnRzKToKCSAgTWFrZSBtZXRhZGF0YSBleHRyYWN0aW9uIGFjdHVhbGx5IHdvcmsuCgkgICogZXh0L3NwZWV4L2dzdHNwZWV4ZW5jLmM6IChnc3Rfc3BlZXhlbmNfYmFzZV9pbml0KSwKCSAgKGdzdF9zcGVleGVuY19pbml0KSwgKGdzdF9zcGVleGVuY19jcmVhdGVfbWV0YWRhdGFfYnVmZmVyKSwKCSAgKGdzdF9zcGVleGVuY19jaGFpbik6CgkgIEZpeCBtZXRhZGF0YSB3cml0aW5nOiByZXBsYWNlIG9sZCBjb2RlIHdoaWNoIHdyb3RlIGNvbXBsZXRlbHkKCSAgYnJva2VuIHRhZ3Mgd2l0aCBsaWJnc3R0YWctYmFzZWQgY29kZS4gUGx1cyBtaXNjZWxsYW5lb3VzCgkgIGNvZGUgY2xlYW51cHMgKHVzZSBzdGF0aWMgcGFkIHRlbXBsYXRlcyBldGMuKSBhbmQgYSBidW5jaAoJICBvZiBsZWFrIGZpeGVzLgoKMjAwNi0wOC0yMSAxOTozNDowMyArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L2F1ZGlvcGFub3JhbWEvOiBkaWUhIGRpZSEgZGllISB5b3Ugc2hvdWxkIG5ldmVyIGhhdmUgYmVlbiB0aGVyZQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXVkaW9wYW5vcmFtYS8uY3ZzaWdub3JlOgoJICAqIGdzdC9hdWRpb3Bhbm9yYW1hL01ha2VmaWxlLmFtOgoJICAqIGdzdC9hdWRpb3Bhbm9yYW1hL2F1ZGlvZnguYzoKCSAgKiBnc3QvYXVkaW9wYW5vcmFtYS9hdWRpb3Bhbm9yYW1hLmM6CgkgICogZ3N0L2F1ZGlvcGFub3JhbWEvYXVkaW9wYW5vcmFtYS5oOgoJICBkaWUhIGRpZSEgZGllISB5b3Ugc2hvdWxkIG5ldmVyIGhhdmUgYmVlbiB0aGVyZQoKMjAwNi0wOC0yMSAxNjoyNDoyOCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogU29tZSBtb3JlIGNvbnN0aWZpY2F0aW9uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChnc3RfcXRkZW11eF9hZGRfc3RyZWFtKSwgKHF0ZGVtdXhfcGFyc2UpLAoJICAocXRkZW11eF9ub2RlX2R1bXBfZm9yZWFjaCksIChxdGRlbXV4X3BhcnNlX3RyYWspLAoJICAocXRkZW11eF92aWRlb19jYXBzKSwgKHF0ZGVtdXhfYXVkaW9fY2Fwcyk6CgkgIFNvbWUgbW9yZSBjb25zdGlmaWNhdGlvbi4KCSAgRml4IHNvbWUgcGFsZXR0ZWQgZGF0YSBmb3JtYXRzIGFnYWluLgoJICBGaXggdWxhdy9hbGF3IGluIHF0LgoJICBTZXQgY29ycmVjdCBjYXBzIGZvciByYXcgUkdCLgoJICBBZGQgc3VwcG9ydCBmb3IgeXV2Miwgd2hpY2ggaXMgbGlrZSBZdXYyLgoJICBBZGQgc3VwcG9ydCBmb3IgcmF3IGF1ZGlvIHdpdGggdGhlIE5PTkUgZm91cmNjLCB3aGljaCBpcyBsaWtlIHJhdy4KCjIwMDYtMDgtMjEgMTM6NTk6NTIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvd2F2cGFjay86IE1vcmUgY2xlYW4tdXBzOiB1c2Ugc2hvcnRlciB2YXJpYWJsZSBuYW1lcyB0byBtYWtlIGNvZGUgZWFzaWVyIHRvIHJlYWQ7IHByZWZpeCBzdHJ1Y3R1cmVzIHdlIGRlZmluZSB3aXQuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2VuYy5jOiAoZ3N0X3dhdnBhY2tfZW5jX2luaXQpLAoJICAoZ3N0X3dhdnBhY2tfZW5jX2ZpbmFsaXplKSwgKGdzdF93YXZwYWNrX2VuY19zaW5rX3NldF9jYXBzKSwKCSAgKGdzdF93YXZwYWNrX2VuY19zZXRfd3BfY29uZmlnKSwgKGdzdF93YXZwYWNrX2VuY19mb3JtYXRfc2FtcGxlcyksCgkgIChnc3Rfd2F2cGFja19lbmNfcHVzaF9ibG9jayksIChnc3Rfd2F2cGFja19lbmNfY2hhaW4pLAoJICAoZ3N0X3dhdnBhY2tfZW5jX3Jld3JpdGVfZmlyc3RfYmxvY2spLAoJICAoZ3N0X3dhdnBhY2tfZW5jX3NpbmtfZXZlbnQpLCAoZ3N0X3dhdnBhY2tfZW5jX2NoYW5nZV9zdGF0ZSksCgkgIChnc3Rfd2F2cGFja19lbmNfc2V0X3Byb3BlcnR5KSwgKGdzdF93YXZwYWNrX2VuY19nZXRfcHJvcGVydHkpOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tlbmMuaDoKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrcGFyc2UuYzogKGdzdF93YXZwYWNrX3BhcnNlX3Jlc2V0KSwKCSAgKGdzdF93YXZwYWNrX3BhcnNlX3NyY19xdWVyeSksIChnc3Rfd2F2cGFja19wYXJzZV9zcmNfZXZlbnQpLAoJICAoZ3N0X3dhdnBhY2tfcGFyc2VfaW5pdCksIChnc3Rfd2F2cGFja19wYXJzZV9nZXRfdXBzdHJlYW1fbGVuZ3RoKSwKCSAgKGdzdF93YXZwYWNrX3BhcnNlX2xvb3ApOgoJICBNb3JlIGNsZWFuLXVwczogdXNlIHNob3J0ZXIgdmFyaWFibGUgbmFtZXMgdG8gbWFrZSBjb2RlIGVhc2llciB0bwoJICByZWFkOyBwcmVmaXggc3RydWN0dXJlcyB3ZSBkZWZpbmUgd2l0aCAnR3N0JyB0byBtYWtlIGl0IGNsZWFyZXIKCSAgd2hlcmUgdGhleSBjb21lIGZyb20uCgoyMDA2LTA4LTIxIDEzOjI2OjM3ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L3dhdnBhY2svZ3N0d2F2cGFja2VuYy5jOiBGaXggY2FwcyBzZXQgb24gYnVmZmVycyBhbmQgdGVtcGxhdGUgY2FwcyAob3V0cHV0IGlzIGZyYW1lZCkgYW5kIG1ha2UgdGhlbSBtYXRjaCAoIzM1MTY2Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tlbmMuYzogKGdzdF93YXZwYWNrX2VuY19pbml0KSwKCSAgKGdzdF93YXZwYWNrX2VuY19zZXRfd3BfY29uZmlnKSwgKGdzdF93YXZwYWNrX2VuY19wdXNoX2Jsb2NrKSwKCSAgKGdzdF93YXZwYWNrX2VuY19jaGFpbiksIChnc3Rfd2F2cGFja19lbmNfcmV3cml0ZV9maXJzdF9ibG9jayksCgkgIChnc3Rfd2F2cGFja19lbmNfc2lua19ldmVudCk6CgkgIEZpeCBjYXBzIHNldCBvbiBidWZmZXJzIGFuZCB0ZW1wbGF0ZSBjYXBzIChvdXRwdXQgaXMgZnJhbWVkKQoJICBhbmQgbWFrZSB0aGVtIG1hdGNoICgjMzUxNjYzKTsgdXNlIEdTVF9XQVJOSU5HX09CSkVDVCBpbnN0ZWFkIG9mCgkgIEdTVF9FTEVNRU5UX1dBUk5JTkc7IHNpbXBsaWZ5IHB1c2hfYmxvY2soKTsgZG8gc29tZSBzbWFsbAoJICBjbGVhbi11cHMgaGVyZSBhbmQgdGhlcmU7IGZpeCBtZW1sZWFrICgjMzUxNjYzKS4KCjIwMDYtMDgtMjEgMTM6MTI6NDcgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgdGVzdHMvY2hlY2svZWxlbWVudHMvYXVkaW9wYW5vcmFtYS5jOiBGaXggaW52YWxpZCBtZW1vcnkgYWNjZXNzIGluIGF1ZGlvcGFub3JhbWEgdGVzdCBzdWl0ZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvYXVkaW9wYW5vcmFtYS5jOiAoR1NUX1NUQVJUX1RFU1QpOgoJICBGaXggaW52YWxpZCBtZW1vcnkgYWNjZXNzIGluIGF1ZGlvcGFub3JhbWEgdGVzdCBzdWl0ZS4KCjIwMDYtMDgtMjEgMTE6MzQ6NDEgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICB0ZXN0cy9jaGVjay9lbGVtZW50cy8uY3ZzaWdub3JlOiBpZ25vcmUgYnVpbHQgZmlsZQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy8uY3ZzaWdub3JlOgoJICBpZ25vcmUgYnVpbHQgZmlsZQoKMjAwNi0wOC0yMSAxMDo0NjoyMSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHAvTWFrZWZpbGUuYW06IEZpeCB0aGUgYnVpbGQgYWdhaW4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHAvTWFrZWZpbGUuYW06CgkgIEZpeCB0aGUgYnVpbGQgYWdhaW4uCgoyMDA2LTA4LTIxIDA5OjIxOjI3ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3QvYXVkaW9meGdvb2QvOiByZXN1Ym1pdCB3aXRoIHRoZSBkZXNpcmVkIG5hbWUgKmFnYWluKgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXVkaW9meGdvb2QvLmN2c2lnbm9yZToKCSAgKiBnc3QvYXVkaW9meGdvb2QvTWFrZWZpbGUuYW06CgkgICogZ3N0L2F1ZGlvZnhnb29kL2F1ZGlvZnguYzogKHBsdWdpbl9pbml0KToKCSAgKiBnc3QvYXVkaW9meGdvb2QvYXVkaW9wYW5vcmFtYS5jOiAoZ3N0X2F1ZGlvX3Bhbm9yYW1hX2Jhc2VfaW5pdCksCgkgIChnc3RfYXVkaW9fcGFub3JhbWFfY2xhc3NfaW5pdCksIChnc3RfYXVkaW9fcGFub3JhbWFfaW5pdCksCgkgIChnc3RfYXVkaW9fcGFub3JhbWFfc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9hdWRpb19wYW5vcmFtYV9nZXRfcHJvcGVydHkpLAoJICAoZ3N0X2F1ZGlvX3Bhbm9yYW1hX2dldF91bml0X3NpemUpLAoJICAoZ3N0X2F1ZGlvX3Bhbm9yYW1hX3RyYW5zZm9ybV9jYXBzKSwgKGdzdF9hdWRpb19wYW5vcmFtYV9zZXRfY2FwcyksCgkgIChnc3RfYXVkaW9fcGFub3JhbWFfdHJhbnNmb3JtX20ycyksCgkgIChnc3RfYXVkaW9fcGFub3JhbWFfdHJhbnNmb3JtX3MycyksIChnc3RfYXVkaW9fcGFub3JhbWFfdHJhbnNmb3JtKToKCSAgKiBnc3QvYXVkaW9meGdvb2QvYXVkaW9wYW5vcmFtYS5oOgoJICByZXN1Ym1pdCB3aXRoIHRoZSBkZXNpcmVkIG5hbWUgKmFnYWluKgoKMjAwNi0wOC0yMCAxMzowOTo1MSArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgdXNlIGdfYXNzZXJ0IGluIF9nZXRfdW5pdF9zaXplCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9nZGtfcGl4YnVmL3BpeGJ1ZnNjYWxlLmM6IChnc3RfcGl4YnVmc2NhbGVfZ2V0X3VuaXRfc2l6ZSk6CgkgICogZ3N0L3ZpZGVvYm94L2dzdHZpZGVvYm94LmM6IChnc3RfdmlkZW9fYm94X2dldF91bml0X3NpemUpOgoJICB1c2UgZ19hc3NlcnQgaW4gX2dldF91bml0X3NpemUKCjIwMDYtMDgtMjAgMTM6MDY6NDQgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGRvY3MvcGx1Z2lucy86IGNsZWFudXAgLXVudXNlZC50eHQgdG8gbWFrZSBpdCB1c2VmdWwsIGFkZCBwcmV2aW91c2x5IG1pc3NpbmcgZG9jcwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9meGdvb2QueG1sOgoJICBjbGVhbnVwIC11bnVzZWQudHh0IHRvIG1ha2UgaXQgdXNlZnVsLCBhZGQgcHJldmlvdXNseSBtaXNzaW5nIGRvY3MKCSAgKiBleHQvTWFrZWZpbGUuYW06CgkgICogZXh0L2VzZC9lc2Rtb24uYzoKCSAgKiBleHQvZXNkL2VzZHNpbmsuYzoKCSAgKiBleHQvZXNkL2dzdGVzZC5jOiAocGx1Z2luX2luaXQpOgoJICByZWZsb3cgdG8gZ2V0IHJpZCBvZiB0d28gZXh0ZXJuYWwgc3ltYm9scwoJICAqIGdzdC9hdWRpb2Z4Z29vZC9hdWRpb2Z4LmM6IChwbHVnaW5faW5pdCk6CgkgIHJlLWFkZAoKMjAwNi0wOC0yMCAxMjowOToxNiArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L2F1ZGlvZnhnb29kL2F1ZGlvZnguYwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgICogZ3N0L2F1ZGlvZnhnb29kLy5jdnNpZ25vcmU6CgkgICogZ3N0L2F1ZGlvZnhnb29kL01ha2VmaWxlLmFtOgoJICAqIGdzdC9hdWRpb2Z4Z29vZC9hdWRpb2Z4LmMKCSAgKiBnc3QvYXVkaW9meGdvb2QvYXVkaW9wYW5vcmFtYS5jOiAoZ3N0X2F1ZGlvX3Bhbm9yYW1hX2Jhc2VfaW5pdCksCgkgIChnc3RfYXVkaW9fcGFub3JhbWFfY2xhc3NfaW5pdCksIChnc3RfYXVkaW9fcGFub3JhbWFfaW5pdCksCgkgIChnc3RfYXVkaW9fcGFub3JhbWFfc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9hdWRpb19wYW5vcmFtYV9nZXRfcHJvcGVydHkpLAoJICAoZ3N0X2F1ZGlvX3Bhbm9yYW1hX2dldF91bml0X3NpemUpLAoJICAoZ3N0X2F1ZGlvX3Bhbm9yYW1hX3RyYW5zZm9ybV9jYXBzKSwgKGdzdF9hdWRpb19wYW5vcmFtYV9zZXRfY2FwcyksCgkgIChnc3RfYXVkaW9fcGFub3JhbWFfdHJhbnNmb3JtX20ycyksCgkgIChnc3RfYXVkaW9fcGFub3JhbWFfdHJhbnNmb3JtX3MycyksIChnc3RfYXVkaW9fcGFub3JhbWFfdHJhbnNmb3JtKToKCSAgKiBnc3QvYXVkaW9meGdvb2QvYXVkaW9wYW5vcmFtYS5oOgoJICAqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvcGFub3JhbWEuYzogKHNldHVwX3Bhbm9yYW1hX20pLAoJICAoc2V0dXBfcGFub3JhbWFfcyksIChjbGVhbnVwX3Bhbm9yYW1hKSwgKEdTVF9TVEFSVF9URVNUKSwKCSAgKHBhbm9yYW1hX3N1aXRlKSwgKG1haW4pOgoJICBBZGQgYXVkaW9meGdvb2QgcGx1Z2luIHdpdGggYXVkaW9wYW5vcmFtYSBlbGVtZW50CgoyMDA2LTA4LTE4IDIxOjM5OjAwICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBleHQvd2F2cGFjay9nc3R3YXZwYWNrcGFyc2UuYzogRml4IHJlc3luY2luZyBpbiBwdXNoIG1vZGUgbm90IHN0b3BwaW5nIHJlLXN5bmNpbmcgYXQgZW1iZWRkZWQgemVyb2VzOyBza2lwIGdhcmJhZ2UgYmUuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEJhc2VkIG9uIHBhdGNoIGJ5OiBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tbyBhdCBjaXJjdWxhci1jaGFvcy5vcmc+CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja3BhcnNlLmM6IChnc3Rfd2F2cGFja19wYXJzZV9zaW5rX2V2ZW50KSwKCSAgKGdzdF93YXZwYWNrX3BhcnNlX2dldF91cHN0cmVhbV9sZW5ndGgpLAoJICAoZ3N0X3dhdnBhY2tfcGFyc2VfZmluZF9tYXJrZXIpLCAoZ3N0X3dhdnBhY2tfcGFyc2VfcmVzeW5jX2xvb3ApLAoJICAoZ3N0X3dhdnBhY2tfcGFyc2VfbG9vcCksIChnc3Rfd2F2cGFja19wYXJzZV9yZXN5bmNfYWRhcHRlcik6CgkgIEZpeCByZXN5bmNpbmcgaW4gcHVzaCBtb2RlIG5vdCBzdG9wcGluZyByZS1zeW5jaW5nIGF0IGVtYmVkZGVkCgkgIHplcm9lczsgc2tpcCBnYXJiYWdlIGJldHdlZW4gZnJhbWVzIGluIHB1bGwgbW9kZSBhcyB3ZWxsIGlmCgkgIG5lY2Vzc2FyeTsgdXNlIGdzdF9wYWRfcXVlcnlfcGVlcl9kdXJhdGlvbigpOyBwdXNoIEVPUyBhbmQKCSAgTkVXU0VHTUVOVCBldmVudCBpbiByaWdodCBkaXJlY3Rpb24gKCMzNTE2NTkpLgoKMjAwNi0wOC0xOCAxNzowMDo1MyArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbTogTW9yZSBPc3MgZG9jcyBmaXhhZ2UuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSAgTW9yZSBPc3MgZG9jcyBmaXhhZ2UuCgoyMDA2LTA4LTE4IDE2OjUyOjIxICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cC86IEFkZGVkIGV4cGVyaW1lbnRhbCBTVlEzIGRlcGF5bG9hZGVyLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwL01ha2VmaWxlLmFtOgoJICAqIGdzdC9ydHAvZ3N0cnRwLmM6IChwbHVnaW5faW5pdCk6CgkgICogZ3N0L3J0cC9nc3RydHBzdjN2ZGVwYXkuYzogKGdzdF9ydHBfc3Yzdl9kZXBheV9iYXNlX2luaXQpLAoJICAoZ3N0X3J0cF9zdjN2X2RlcGF5X2NsYXNzX2luaXQpLCAoZ3N0X3J0cF9zdjN2X2RlcGF5X2luaXQpLAoJICAoZ3N0X3J0cF9zdjN2X2RlcGF5X2ZpbmFsaXplKSwgKGdzdF9ydHBfc3Yzdl9kZXBheV9zZXRjYXBzKSwKCSAgKGdzdF9ydHBfc3Yzdl9kZXBheV9wcm9jZXNzKSwgKGdzdF9ydHBfc3Yzdl9kZXBheV9zZXRfcHJvcGVydHkpLAoJICAoZ3N0X3J0cF9zdjN2X2RlcGF5X2dldF9wcm9wZXJ0eSksCgkgIChnc3RfcnRwX3N2M3ZfZGVwYXlfY2hhbmdlX3N0YXRlKSwKCSAgKGdzdF9ydHBfc3Yzdl9kZXBheV9wbHVnaW5faW5pdCk6CgkgICogZ3N0L3J0cC9nc3RydHBzdjN2ZGVwYXkuaDoKCSAgQWRkZWQgZXhwZXJpbWVudGFsIFNWUTMgZGVwYXlsb2FkZXIuCgoyMDA2LTA4LTE4IDEzOjI1OjA2ICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgZXh0L2R2L2dzdGR2ZGVtdXguKjogV2hlbiBoYW5kbGluZyBzZWVrIHJlcXVlc3RzLCBkb24ndCBzZW5kIHRoZSBuZXdzZWdtZW50IGV2ZW50IGZyb20gdGhlIGNhbGxpbmcgdGhyZWFkLiBJbnN0ZWFkIHNhLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9kdi9nc3RkdmRlbXV4LmM6IChnc3RfZHZkZW11eF9oYW5kbGVfcHVsbF9zZWVrKSwKCSAgKGdzdF9kdmRlbXV4X2xvb3ApLCAoZ3N0X2R2ZGVtdXhfY2hhbmdlX3N0YXRlKToKCSAgKiBleHQvZHYvZ3N0ZHZkZW11eC5oOgoJICBXaGVuIGhhbmRsaW5nIHNlZWsgcmVxdWVzdHMsIGRvbid0IHNlbmQgdGhlIG5ld3NlZ21lbnQgZXZlbnQgZnJvbSB0aGUKCSAgY2FsbGluZyB0aHJlYWQuIEluc3RlYWQgc2F2ZSBpdCBzbyBpdCBjYW4gYmUgc2VudCBmcm9tIHRoZSBzdHJlYW1pbmcKCSAgdGhyZWFkLgoKMjAwNi0wOC0xNyAxNTo1MTo1MCArMDAwMCAgU2pvZXJkIFNpbW9ucyA8c2pvZXJkQGx1b24ubmV0PgoKCSAgZ3N0L211bHRpcGFydC9tdWx0aXBhcnRkZW11eC5jOiBBY2NlcHQgbGVhZGluZyB3aGl0ZXNwYWNlIGJlZm9yZSB0aGUgYm91bmRhcnkKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBTam9lcmQgU2ltb25zIDxzam9lcmQgYXQgbHVvbiBkb3QgbmV0PgoJICAqIGdzdC9tdWx0aXBhcnQvbXVsdGlwYXJ0ZGVtdXguYzogKG11bHRpcGFydF9wYXJzZV9oZWFkZXIpOgoJICBBY2NlcHQgbGVhZGluZyB3aGl0ZXNwYWNlIGJlZm9yZSB0aGUgYm91bmRhcnkKCSAgVGhpcyBwYXRjaCBtYWtlcyB0aGUgZGVtdXhlciBhbGxvdyBzb21lIHdoaXRlc3BhY2UgYmVmb3JlIHRoZSBhY3R1YWwKCSAgYm91bmRhcnkuIFRoaXMgbWFrZXMgdGhlIGRlbXV4ZXIgd29yayB3aXRoIHRoZSBgYG9sZCcnIGdzdHJlYW1lcgoJICBtdWx0aXBhcnRtdXhlciBhZ2FpbiAod2hpY2ggcGxhY2VkIGFuIGV4dHJhIFxuIGJlZm9yZSB0aGUgc3RhcnQKCSAgb2YgdGhlIHN0cmVhbSkgRml4ZXMgIzM0OTA2OC4KCjIwMDYtMDgtMTcgMTU6NDc6MjggKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwL2dzdHJ0cGgyNjRkZXBheS5jOiBFcnJvciBvdXQgb24gbm9uLWltcGxlbWVudGVkIHN0dWZmLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwL2dzdHJ0cGgyNjRkZXBheS5jOiAoZ3N0X3J0cF9oMjY0X2RlcGF5X3Byb2Nlc3MpOgoJICBFcnJvciBvdXQgb24gbm9uLWltcGxlbWVudGVkIHN0dWZmLgoKMjAwNi0wOC0xNiAxNjo1MDowMCArMDAwMCAgQW5keSBXaW5nbyA8d2luZ29AcG9ib3guY29tPgoKCSAgZXh0L2xhZHNwYS9nc3RzaWduYWxwcm9jZXNzb3IuYzogTWFrZSBsYWRzcGEgZWxlbWVudHMgcmV1c2FibGUuIEZpeGVzICMzNTAwMDYuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogQW5keSBXaW5nbyA8d2luZ28gYXQgcG9ib3ggZG90IGNvbT4KCSAgKiBleHQvbGFkc3BhL2dzdHNpZ25hbHByb2Nlc3Nvci5jOiAoZ3N0X3NpZ25hbF9wcm9jZXNzb3Jfc2V0dXApLAoJICAoZ3N0X3NpZ25hbF9wcm9jZXNzb3Jfc3RhcnQpLCAoZ3N0X3NpZ25hbF9wcm9jZXNzb3Jfc3RvcCksCgkgIChnc3Rfc2lnbmFsX3Byb2Nlc3Nvcl9jbGVhbnVwKSwgKGdzdF9zaWduYWxfcHJvY2Vzc29yX3NldGNhcHMpLAoJICAoZ3N0X3NpZ25hbF9wcm9jZXNzb3JfcGVuX2J1ZmZlciksIChnc3Rfc2lnbmFsX3Byb2Nlc3Nvcl9mbHVzaCksCgkgIChnc3Rfc2lnbmFsX3Byb2Nlc3Nvcl9kb19wdWxscyksIChnc3Rfc2lnbmFsX3Byb2Nlc3Nvcl9kb19wdXNoZXMpLAoJICAoZ3N0X3NpZ25hbF9wcm9jZXNzb3JfY2hhbmdlX3N0YXRlKToKCSAgTWFrZSBsYWRzcGEgZWxlbWVudHMgcmV1c2FibGUuIEZpeGVzICMzNTAwMDYuCgoyMDA2LTA4LTE2IDE1OjMzOjEyICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZXh0L2xhZHNwYS9nc3RsYWRzcGEuYzogQ29udmVydCAnICcgaW50byAnXycuIFRyeSB0byBrZWVwIGFzIG1hbnkgY2hhcmFjdGVycyBpbiB0aGUgcGFkdGVtcGxhdGUgbmFtZXMgYXMgcG9zc2libGUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9sYWRzcGEvZ3N0bGFkc3BhLmM6IChnc3RfbGFkc3BhX2Jhc2VfaW5pdCk6CgkgIENvbnZlcnQgJyAnIGludG8gJ18nLiBUcnkgdG8ga2VlcCBhcyBtYW55IGNoYXJhY3RlcnMgaW4gdGhlIHBhZHRlbXBsYXRlCgkgIG5hbWVzIGFzIHBvc3NpYmxlLgoKMjAwNi0wOC0xNiAxNDo0Nzo1MCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGV4dC9sYWRzcGEvZ3N0c2lnbmFscHJvY2Vzc29yLmM6IEEgcHVzaCgpIGdpdmVzIGF3YXkgb3VyIHJlZmNvdW50IHNvIHdlIHNob3VsZCBub3QgdXNlIHRoZSBidWZmZXIgb24gdGhlIHBlbiBhbnltb3JlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvbGFkc3BhL2dzdHNpZ25hbHByb2Nlc3Nvci5jOiAoZ3N0X3NpZ25hbF9wcm9jZXNzb3JfZmx1c2gpLAoJICAoZ3N0X3NpZ25hbF9wcm9jZXNzb3JfZG9fcHVzaGVzKToKCSAgQSBwdXNoKCkgZ2l2ZXMgYXdheSBvdXIgcmVmY291bnQgc28gd2Ugc2hvdWxkIG5vdCB1c2UgdGhlIGJ1ZmZlciBvbiB0aGUKCSAgcGVuIGFueW1vcmUuCgoyMDA2LTA4LTE2IDEzOjQ4OjAwICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgc3lzL29zcy9nc3Rvc3NtaXhlcmVsZW1lbnQuYzogRG9uJ3QgbGVhayBkZXZpY2Ugc3RyaW5nLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvb3NzL2dzdG9zc21peGVyZWxlbWVudC5jOiAoZ3N0X29zc19taXhlcl9lbGVtZW50X2NsYXNzX2luaXQpLAoJICAoZ3N0X29zc19taXhlcl9lbGVtZW50X2ZpbmFsaXplKToKCSAgRG9uJ3QgbGVhayBkZXZpY2Ugc3RyaW5nLgoKMjAwNi0wOC0xNiAxMzowMTozMiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGNvbmZpZ3VyZS5hYzogUmVxdWlyZSBDVlMgb2YgR1N0cmVhbWVyIGNvcmUgYW5kIC1iYXNlIChmb3IKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICBSZXF1aXJlIENWUyBvZiBHU3RyZWFtZXIgY29yZSBhbmQgLWJhc2UgKGZvcgoJICBHU1RfVEFHX0VYVEVOREVEX0NPTU1FTlQgYW5kIGdzdF90YWdfcGFyc2VfZXh0ZW5kZWRfY29tbWVudCgpKS4KCSAgKiBleHQvdGFnbGliL2dzdGlkM3YybXV4LmNjOgoJICBXcml0ZSBleHRlbmRlZCBjb21tZW50IHRhZ3MgcHJvcGVybHkgKCMzNDg3NjIpLgoJICAqIGdzdC9pZDNkZW11eC9pZDN2MmZyYW1lcy5jOiAoaWQzZGVtdXhfaWQzdjJfcGFyc2VfZnJhbWUpLAoJICAocGFyc2VfY29tbWVudF9mcmFtZSk6CgkgIEV4dHJhY3QgQ09NTSBmcmFtZXMgaW50byBleHRlbmRlZCBjb21tZW50cywgd2hpY2ggbWFrZXMgaXQKCSAgZWFzaWVyIHRvIHByb3Blcmx5IHJldGFpbiB0aGUgZGVzY3JpcHRpb24gYml0IG9mIHRoZSB0YWcKCSAgYW5kIG1haW50YWluIHRoaXMgaW5mb3JtYXRpb24gd2hlbiByZS10YWdnaW5nICgjMzQ4NzYyKS4KCjIwMDYtMDgtMTYgMTI6MDI6NDggKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbTogRG9uJ3QgdHJ5IHRvIHJ1biBhbm5vZGV4IHVuaXQgdGVzdHMgaWYgdGhlIGFubm9kZXggcGx1Z2luIGhhcyBub3QgYmVlbiBidWlsdCAoRml4ZXMgIzM1MTExNikuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICBEb24ndCB0cnkgdG8gcnVuIGFubm9kZXggdW5pdCB0ZXN0cyBpZiB0aGUgYW5ub2RleAoJICBwbHVnaW4gaGFzIG5vdCBiZWVuIGJ1aWx0IChGaXhlcyAjMzUxMTE2KS4KCjIwMDYtMDgtMTYgMTA6NTM6MzIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvYXV0b2RldGVjdC9nc3RhdXRvYXVkaW9zaW5rLmM6IFdoZW4gd2UgY2FuJ3QgZmluZCBhIHVzYWJsZSBhdWRpb3NpbmssIGRvbid0IGVycm9yIG91dCwgYnV0IHVzZSBhIGZha2Ugc2luayBpbnN0ZWEuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b2F1ZGlvc2luay5jOgoJICAoZ3N0X2F1dG9fYXVkaW9fc2lua19maW5kX2Jlc3QpOgoJICBXaGVuIHdlIGNhbid0IGZpbmQgYSB1c2FibGUgYXVkaW9zaW5rLCBkb24ndCBlcnJvciBvdXQsCgkgIGJ1dCB1c2UgYSBmYWtlIHNpbmsgaW5zdGVhZCBhbmQgcG9zdCBhIHdhcm5pbmcgbWVzc2FnZQoJICBvbiB0aGUgYnVzICgjMzQxMjc4KS4KCjIwMDYtMDgtMTYgMTA6NDA6MDQgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGV4dC93YXZwYWNrLzogSW4gcHVzaCBtb2RlLCByZS1zeW5jIHRvIG5leHQgd2F2cGFjayBoZWFkZXIgaWYgc3luYyBpcyBsb3N0ICgjMzUxNTU3KS4gQWxzbyB1c2UgaHlwaGVucyBpbnN0ZWFkIG9mIHVuZC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vIGF0IGNpcmN1bGFyLWNoYW9zLm9yZz4KCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZW5jLmM6IChnc3Rfd2F2cGFja19lbmNfY2xhc3NfaW5pdCk6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja3BhcnNlLmM6CgkgIChnc3Rfd2F2cGFja19wYXJzZV9yZXN5bmNfYWRhcHRlciksIChnc3Rfd2F2cGFja19wYXJzZV9jaGFpbik6CgkgIEluIHB1c2ggbW9kZSwgcmUtc3luYyB0byBuZXh0IHdhdnBhY2sgaGVhZGVyIGlmIHN5bmMgaXMgbG9zdAoJICAoIzM1MTU1NykuIEFsc28gdXNlIGh5cGhlbnMgaW5zdGVhZCBvZiB1bmRlcnNjb3JlcyBpbgoJICBHT2JqZWN0IHByb3BlcnR5IG5hbWVzLgoKMjAwNi0wOC0xNiAxMDoyMjozMiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIHN5cy9vc3MvOiBEb2N1bWVudCBPU1MgZWxlbWVudHM7IGFkZCBndGstZG9jIGJsdXJiIHdpdGggJ1NpbmNlIDAuMTAuNScgZm9yIG9zc21peGVyJ3MgbmV3IGRldmljZSBwcm9wZXJ0eS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL29zcy9nc3Rvc3NtaXhlcmVsZW1lbnQuYzogKGdzdF9vc3NfbWl4ZXJfZWxlbWVudF9jbGFzc19pbml0KToKCSAgKiBzeXMvb3NzL2dzdG9zc3NpbmsuYzoKCSAgKiBzeXMvb3NzL2dzdG9zc3NyYy5jOgoJICBEb2N1bWVudCBPU1MgZWxlbWVudHM7IGFkZCBndGstZG9jIGJsdXJiIHdpdGggJ1NpbmNlIDAuMTAuNScgZm9yCgkgIG9zc21peGVyJ3MgbmV3IGRldmljZSBwcm9wZXJ0eS4KCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgQWRkIGRvY3MgZm9yIE9TUyBlbGVtZW50cy4KCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWFzaW5rLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxhdy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGFjb2xvci54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFubm9kZXgueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hcGV0YWcueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXBhcnNlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2RldGVjdC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF2aS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhY2FzaW5rLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2Fpcm8ueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZGlvLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY3V0dGVyLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWcueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdi54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZW5jZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZmVjdHYueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lc2RzaW5rLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmxhYy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZseGRlYy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdjb25mZWxlbWVudHMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZGtwaXhidWYueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taGFsZWxlbWVudHMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pY3lkZW11eC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlkM2RlbXV4LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanBlZy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxldmVsLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWF0cm9za2EueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWxhdy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpcGFydC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5hdmlnYXRpb250ZXN0LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzYXVkaW8ueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbmcueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHAueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHNwLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hvdXQyc2VuZC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNtcHRlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZXgueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10YWdsaWIueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi11ZHAueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2JhbGFuY2UueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2JveC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvZmxpcC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvbWl4ZXIueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZlbmMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYXJzZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXhpbWFnZXNyYy54bWw6CgkgIFVwZGF0ZSB0byBDVlMgdmVyc2lvbi4KCjIwMDYtMDgtMTYgMTA6MDU6MDAgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwLzogQ2FwcyBleHRyYSBwcm9wZXJ0aWVzIG11c3QgYmUgZGVmaW5lZCBhcyBzdHJpbmdzIGZvciBkZXBheWxvYWRlcnMgYmVjYXVzZSB0aGV5IGFyZSBnZW5lcmF0ZWQgZnJvbSBhbiBTRFAuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHAvZ3N0cnRwYW1yZGVwYXkuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cG1wNGdkZXBheS5jOgoJICBDYXBzIGV4dHJhIHByb3BlcnRpZXMgbXVzdCBiZSBkZWZpbmVkIGFzIHN0cmluZ3MgZm9yCgkgIGRlcGF5bG9hZGVycyBiZWNhdXNlIHRoZXkgYXJlIGdlbmVyYXRlZCBmcm9tIGFuIFNEUC4KCSAgKiBnc3QvcnRwL01ha2VmaWxlLmFtOgoJICAqIGdzdC9ydHAvZ3N0cnRwLmM6IChwbHVnaW5faW5pdCk6CgkgICogZ3N0L3J0cC9nc3RydHBoMjY0ZGVwYXkuYzogKGdzdF9ydHBfaDI2NF9kZXBheV9iYXNlX2luaXQpLAoJICAoZ3N0X3J0cF9oMjY0X2RlcGF5X2NsYXNzX2luaXQpLCAoZ3N0X3J0cF9oMjY0X2RlcGF5X2luaXQpLAoJICAoZ3N0X3J0cF9oMjY0X2RlcGF5X2ZpbmFsaXplKSwgKGRlY29kZV9iYXNlNjQpLAoJICAoZ3N0X3J0cF9oMjY0X2RlcGF5X3NldGNhcHMpLCAoZ3N0X3J0cF9oMjY0X2RlcGF5X3Byb2Nlc3MpLAoJICAoZ3N0X3J0cF9oMjY0X2RlcGF5X3NldF9wcm9wZXJ0eSksCgkgIChnc3RfcnRwX2gyNjRfZGVwYXlfZ2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9ydHBfaDI2NF9kZXBheV9jaGFuZ2Vfc3RhdGUpLAoJICAoZ3N0X3J0cF9oMjY0X2RlcGF5X3BsdWdpbl9pbml0KToKCSAgKiBnc3QvcnRwL2dzdHJ0cGgyNjRkZXBheS5oOgoJICBBZGRlZCBiYXNpYywgbm90IGNvbXBsZXRlbHkgZnVuY3Rpb25hbCBSRkMgMzk4NCBIMjY0IGRlcGF5bG9hZGVyLgoKMjAwNi0wOC0xNiAwOTo0ODoyNiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHNwL2dzdHJ0cGRlYy5jOiBBZGQgcGFkcyBhZnRlciBzZXR0aW5nIHRoZW0gdXAuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHNwL2dzdHJ0cGRlYy5jOiAoZ3N0X3J0cGRlY19pbml0KSwgKGdzdF9ydHBkZWNfZ2V0Y2Fwcyk6CgkgIEFkZCBwYWRzIGFmdGVyIHNldHRpbmcgdGhlbSB1cC4KCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IChnc3RfcnRzcHNyY19jbGFzc19pbml0KSwKCSAgKGdzdF9ydHNwc3JjX2luaXQpLCAoZ3N0X3J0c3BzcmNfZmluYWxpemUpLAoJICAoZ3N0X3J0c3BzcmNfZnJlZV9zdHJlYW0pLCAoZ3N0X3J0c3BzcmNfbWVkaWFfdG9fY2FwcyksCgkgIChnc3RfcnRzcHNyY19zdHJlYW1fc2V0dXBfcnRwKSwKCSAgKGdzdF9ydHNwc3JjX3N0cmVhbV9jb25maWd1cmVfdHJhbnNwb3J0KSwKCSAgKGdzdF9ydHNwc3JjX2NvbWJpbmVfZmxvd3MpLCAoZ3N0X3J0c3BzcmNfbG9vcCksCgkgIChnc3RfcnRzcHNyY19vcGVuKSwgKGdzdF9ydHNwc3JjX2Nsb3NlKSwgKGdzdF9ydHNwc3JjX3BsYXkpLAoJICAoZ3N0X3J0c3BzcmNfcGF1c2UpOgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuaDoKCSAgRml4IGludGVybGVhdmVkIG1vZGUuCgkgIC0gUHJvdGVjdCBzdHJlYW1pbmcgd2l0aCBsb2NrLgoJICAtIENvbWJpbmUgZmxvd3MKCSAgLSBzZXQgY2FwcyBvbiBvdXRnb2luZyBidWZmZXJzLgoJICAtIHN0cmlwIHRyYWlsaW5nIFwwIGZyb20gZGF0YSBwYWNrZXRzLgoJICAtIENvbmZpZ3VyZSBSVFAvUlRDUCBpbiBzdHJlYW0uCgkgIFVzZSBERUJVR19PQkpFQ1QgbW9yZS4KCjIwMDYtMDgtMTYgMDk6Mjk6MjAgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvdWRwL2dzdG11bHRpdWRwc2luay5jOiBUdXJuIGEgZ19wcmludCBpbnRvIGEgREVCVUcgbGluZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuYzogKGdzdF9tdWx0aXVkcHNpbmtfYWRkKToKCSAgVHVybiBhIGdfcHJpbnQgaW50byBhIERFQlVHIGxpbmUuCgoyMDA2LTA4LTE2IDA5OjI1OjE3ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgc3lzL29zcy86IFNtYWxsIGNsZWFudXBzLiBCZXR0ZXIgZXJyb3IgcmVwb3J0aW5nLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvb3NzL2dzdG9zc21peGVyLmM6IChnc3Rfb3NzbWl4ZXJfb3BlbiksIChnc3Rfb3NzbWl4ZXJfbmV3KToKCSAgKiBzeXMvb3NzL2dzdG9zc21peGVyZWxlbWVudC5jOiAoZ3N0X29zc19taXhlcl9lbGVtZW50X2NsYXNzX2luaXQpLAoJICAoZ3N0X29zc19taXhlcl9lbGVtZW50X2luaXQpLCAoZ3N0X29zc19taXhlcl9lbGVtZW50X3NldF9wcm9wZXJ0eSksCgkgIChnc3Rfb3NzX21peGVyX2VsZW1lbnRfZ2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9vc3NfbWl4ZXJfZWxlbWVudF9jaGFuZ2Vfc3RhdGUpOgoJICAqIHN5cy9vc3MvZ3N0b3NzbWl4ZXJlbGVtZW50Lmg6CgkgIFNtYWxsIGNsZWFudXBzLiBCZXR0ZXIgZXJyb3IgcmVwb3J0aW5nLgoJICBBZGQgZGV2aWNlIHByb3BlcnR5IGZvciB0aGUgbWl4ZXIgaW5zdGVhZCBvZiB0aGUgaGFyZGNvZGVkCgkgIC9kZXYvbWl4ZXIuIEZpeGVzICMzNTA3ODUuCgkgIEFQSTogR3N0T3NzTWl4ZXJFbGVtZW50OjpkZXZpY2UgcHJvcGVydHkKCjIwMDYtMDgtMTUgMjI6NDQ6MjcgKzAwMDAgIEplbnMgR3JhbnNldWVyIDxqZW5zZ3JAZ214Lm5ldD4KCgkgIGdjb25mL01ha2VmaWxlLmFtOiBNYWtlIC0tZGlzYWJsZS1zY2hlbWFzIHdvcmsgcmlnaHQgKHRoZXkgc3RpbGwgbmVlZCB0byBiZSBjb3BpZWQgdG8gdGhlIGluc3RhbGxhdGlvbiBkaXJlY3RvcnksIGp1cy4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IEplbnMgR3JhbnNldWVyIDxqZW5zZ3IgYXQgZ214IG5ldD4KCSAgKiBnY29uZi9NYWtlZmlsZS5hbToKCSAgTWFrZSAtLWRpc2FibGUtc2NoZW1hcyB3b3JrIHJpZ2h0ICh0aGV5IHN0aWxsIG5lZWQKCSAgdG8gYmUgY29waWVkIHRvIHRoZSBpbnN0YWxsYXRpb24gZGlyZWN0b3J5LCBqdXN0IG5vdAoJICBhcHBsaWVkKS4gRml4ZXMgIzM1MTM0NyAoYWxzbyAjMzQ0MTAwKS4KCjIwMDYtMDgtMTUgMjA6Mjk6NDUgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGV4dC93YXZwYWNrL2dzdHdhdnBhY2twYXJzZS4qOiBNYWtlIHdhdnBhY2twYXJzZSBhbHNvIHdvcmsgaW4gcHVzaC1tb2RlIChub3Qgc2Vla2FibGUgeWV0IHRob3VnaCk7IHNvbWUgc21hbGwgY2xlYW4tdS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrcGFyc2UuYzogKGdzdF93YXZwYWNrX3BhcnNlX2NsYXNzX2luaXQpLAoJICAoZ3N0X3dhdnBhY2tfcGFyc2VfcmVzZXQpLCAoZ3N0X3dhdnBhY2tfcGFyc2VfZ2V0X3NyY19xdWVyeV90eXBlcyksCgkgIChnc3Rfd2F2cGFja19wYXJzZV9zcmNfcXVlcnkpLAoJICAoZ3N0X3dhdnBhY2tfcGFyc2VfaGFuZGxlX3NlZWtfZXZlbnQpLAoJICAoZ3N0X3dhdnBhY2tfcGFyc2Vfc2lua19ldmVudCksIChnc3Rfd2F2cGFja19wYXJzZV9pbml0KSwKCSAgKGdzdF93YXZwYWNrX3BhcnNlX2NyZWF0ZV9zcmNfcGFkKSwKCSAgKGdzdF93YXZwYWNrX3BhcnNlX3B1c2hfYnVmZmVyKSwgKGdzdF93YXZwYWNrX3BhcnNlX2xvb3ApLAoJICAoZ3N0X3dhdnBhY2tfcGFyc2VfY2hhaW4pLCAoZ3N0X3dhdnBhY2tfcGFyc2Vfc2lua19hY3RpdmF0ZSksCgkgIChnc3Rfd2F2cGFja19wYXJzZV9zaW5rX2FjdGl2YXRlX3B1bGwpOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2twYXJzZS5oOgoJICBQYXRjaCBieTogU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW8gYXQgY2lyY3VsYXItY2hhb3Mub3JnPgoJICBNYWtlIHdhdnBhY2twYXJzZSBhbHNvIHdvcmsgaW4gcHVzaC1tb2RlIChub3Qgc2Vla2FibGUgeWV0IHRob3VnaCk7CgkgIHNvbWUgc21hbGwgY2xlYW4tdXBzIGFsb25nIHRoZSB3YXk7IGFkZCBzdXBwb3J0IGZvciBTRUVLSU5HIHF1ZXJ5CgkgIGFuZCBxdWVyeSB0eXBlcyBmdW5jdGlvbi4gKCMzNTE0OTUpLgoKMjAwNi0wOC0xNCAxMTozNzoxMCArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBDaGFuZ2VMb2c6CgkqIGNvbmZpZ3VyZS5hYzoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICBiYWNrIHRvIEhFQUQKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGJhY2sgdG8gSEVBRAoKMjAwNi0wOC0xNCAxMToxNDo0MyArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBDaGFuZ2VMb2c6CgkqIE5FV1M6CgkqIFJFTEVBU0U6CgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tMTM5NC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYWNvbG9yLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFubm9kZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXBldGFnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2RldGVjdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdmkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FjYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2Fpcm8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2Rpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jdXR0ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZlbmNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZmVjdHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXNkc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbGFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZseGRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nY29uZmVsZW1lbnRzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdka3BpeGJ1Zi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWhhbGVsZW1lbnRzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWljeWRlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlkM2RlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwZWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGV2ZWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWF0cm9za2EueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlwYXJ0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5hdmlnYXRpb250ZXN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zc2F1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBuZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRzcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaG91dDJzZW5kLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNtcHRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXRhZ2xpYi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi11ZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9iYWxhbmNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvYm94LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvZmxpcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb21peGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14aW1hZ2VzcmMueG1sOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIHJlbGVhc2luZyAwLjEwLjQKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHJlbGVhc2luZyAwLjEwLjQKCjIwMDYtMDgtMTQgMTA6MDY6NTUgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IEV4dHJhY3QgYWxsIHJlZmVyZW5jZXMvcmVkaXJlY3Rpb25zIGlmIHRoZXJlIGlzIG1vcmUgdGhhbiBvbmUgYW5kIHNvcnQgdGhlbTsgYWxzbyBleHRyYWN0IG1pbmkuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAocXRkZW11eF9yZWRpcmVjdHNfc29ydF9mdW5jKSwKCSAgKHF0ZGVtdXhfcHJvY2Vzc19yZWRpcmVjdHMpLCAocXRkZW11eF9wYXJzZV90cmVlKToKCSAgRXh0cmFjdCBhbGwgcmVmZXJlbmNlcy9yZWRpcmVjdGlvbnMgaWYgdGhlcmUgaXMgbW9yZQoJICB0aGFuIG9uZSBhbmQgc29ydCB0aGVtOyBhbHNvIGV4dHJhY3QgbWluaW11bSByZXF1aXJlZAoJICBiaXRyYXRlIGluZm9ybWF0aW9uIGlmIGF2YWlsYWJsZS4gKCMzNTAzOTkpCgoyMDA2LTA4LTEwIDE0OjEwOjI4ICswMDAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAZmx1ZW5kby5jb20+CgoJICBTZW5kIHRoZSBuZXdzZWdtZW50IGV2ZW50IGluIHRoZSBzdHJlYW1pbmcgdGhyZWFkLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBmbHVlbmRvLmNvbT4KCSAgKiBjb25maWd1cmUuYWM6CgkgICogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6IChnc3Rfd2F2cGFyc2VfcGVyZm9ybV9zZWVrKSwKCSAgKGdzdF93YXZwYXJzZV9zdHJlYW1fZGF0YSk6CgkgIFNlbmQgdGhlIG5ld3NlZ21lbnQgZXZlbnQgaW4gdGhlIHN0cmVhbWluZyB0aHJlYWQuCgkgIEZpeGVzICMzNDc1MjkKCjIwMDYtMDgtMTAgMTQ6MDI6NDUgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICBidW1wZWQgZm9yIHByZXJlbAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgYnVtcGVkIGZvciBwcmVyZWwKCjIwMDYtMDgtMTAgMTM6MTA6MzggKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogcG8vYWYucG86CgkqIHBvL2F6LnBvOgoJKiBwby9jcy5wbzoKCSogcG8vZW5fR0IucG86CgkqIHBvL2h1LnBvOgoJKiBwby9pdC5wbzoKCSogcG8vbmIucG86CgkqIHBvL25sLnBvOgoJKiBwby9vci5wbzoKCSogcG8vc3EucG86CgkqIHBvL3NyLnBvOgoJKiBwby9zdi5wbzoKCSogcG8vdWsucG86CgkqIHBvL3ZpLnBvOgoJICB1cGRhdGUgdHJhbnNsYXRpb25zCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICB1cGRhdGUgdHJhbnNsYXRpb25zCgoyMDA2LTA4LTA4IDE0OjU1OjUzICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBGaXggc2lsbHkgdHlwby4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAocXRkZW11eF9wYXJzZV90cmVlKToKCSAgRml4IHNpbGx5IHR5cG8uCgoyMDA2LTA4LTA4IDE0OjQ2OjAwICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogQ2hhbmdlTG9nOgoJICBDaGFuZ2VMb2cgc3VyZ2VyeTogbWVudGlvbiBidWcgbnVtYmVyCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBDaGFuZ2VMb2cgc3VyZ2VyeTogbWVudGlvbiBidWcgbnVtYmVyCgoyMDA2LTA4LTA4IDE0OjQwOjQ3ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L2pwZWcvOiBSZWZ1c2Ugc2luayBjYXBzIGluIHRoZSBlbmNvZGVyIGlmIHdpZHRoIG9yIGhlaWdodCBpcyBub3QgYSBtdWx0aXBsZSBvZiAxNiwgdGhlIGVuY29kZXIgZG9lcyBub3Qgc3VwcG9ydCB0Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9qcGVnL2dzdHNtb2tlZGVjLmM6IChnc3Rfc21va2VkZWNfY2hhaW4pOgoJICAqIGV4dC9qcGVnL2dzdHNtb2tlZW5jLmM6IChnc3Rfc21va2VlbmNfc2V0Y2FwcyksCgkgIChnc3Rfc21va2VlbmNfcmVzeW5jKSwgKGdzdF9zbW9rZWVuY19jaGFpbik6CgkgIFJlZnVzZSBzaW5rIGNhcHMgaW4gdGhlIGVuY29kZXIgaWYgd2lkdGggb3IgaGVpZ2h0IGlzIG5vdCBhCgkgIG11bHRpcGxlIG9mIDE2LCB0aGUgZW5jb2RlciBkb2VzIG5vdCBzdXBwb3J0IHRoYXQgeWV0OyBhbG9uZyB0aGUKCSAgc2FtZSBsaW5lcywgY2hlY2sgdGhlIHJldHVybiB2YWx1ZSBvZiB0aGUgZW5jb2RlciBzZXR1cCBmdW5jdGlvbjsKCSAgYWxzbyByZW1vdmUgc29tZSBkZWJ1ZyBsb2cgY2x1dHRlci4KCjIwMDYtMDgtMDQgMTE6Mzg6NTQgKzAwMDAgIEFuZHkgV2luZ28gPHdpbmdvQHBvYm94LmNvbT4KCgkgIGV4dC9sYWRzcGEvZ3N0c2lnbmFscHJvY2Vzc29yLmg6IEFkZCBpbmZyYXN0cnVjdHVyZSBmb3Igc3RvcmluZyB3aGV0aGVyIGEgcHJvY2Vzc29yIGNhbiB3b3JrIGluIHBsYWNlIG9yIG5vdCwgYW5kIGZvci4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNi0wOC0wNCAgQW5keSBXaW5nbyAgPHdpbmdvQHBvYm94LmNvbT4KCSAgKiBleHQvbGFkc3BhL2dzdHNpZ25hbHByb2Nlc3Nvci5oOiBBZGQgaW5mcmFzdHJ1Y3R1cmUgZm9yIHN0b3JpbmcKCSAgd2hldGhlciBhIHByb2Nlc3NvciBjYW4gd29yayBpbiBwbGFjZSBvciBub3QsIGFuZCBmb3Iga2VlcGluZwoJICB0cmFjayBvZiBpdHMgc3RhdGUuIENoYW5nZSB0aGUgRmxvd1JldHVybiBpbnN0YW5jZSB2YXJpYWJsZSBmcm9tCgkgICJzdGF0ZSIgdG8gImZsb3dfc3RhdGUiLCBhbGwgY2FsbGVycyBjaGFuZ2VkLgoJICAqIGV4dC9sYWRzcGEvZ3N0c2lnbmFscHJvY2Vzc29yLmMgKGdzdF9zaWduYWxfcHJvY2Vzc29yX3NldHVwKQoJICAoZ3N0X3NpZ25hbF9wcm9jZXNzb3Jfc3RhcnQsIGdzdF9zaWduYWxfcHJvY2Vzc29yX3N0b3ApCgkgIChnc3Rfc2lnbmFsX3Byb2Nlc3Nvcl9jbGVhbnVwKTogTmV3IGZ1bmN0aW9ucyB0byBtYW5hZ2UgdGhlCgkgIHByb2Nlc3NvcidzIHN0YXRlLgoJICAoZ3N0X3NpZ25hbF9wcm9jZXNzb3Jfc2V0Y2Fwcyk6IHN0YXJ0KCkgYXMgd2VsbCBhcyBzZXR1cCgpIGhlcmUuCgkgIChnc3Rfc2lnbmFsX3Byb2Nlc3Nvcl9wcmVwYXJlKTogUmVzcGVjdCBDQU5fUFJPQ0VTU19JTl9QTEFDRS4KCSAgKGdzdF9zaWduYWxfcHJvY2Vzc29yX2NoYW5nZV9zdGF0ZSk6IFN0b3AgYW5kIGNsZWFudXAgdGhlCgkgIHByb2Nlc3NvciBhcyB3ZSBnbyB0byBOVUxMLgoJICAqIGV4dC9sYWRzcGEvZ3N0bGFkc3BhLmMgKGdzdF9sYWRzcGFfYmFzZV9pbml0KTogUmV1c2UgYnVmZmVycyBpZgoJICBJTlBMQUNFX0JST0tFTiBpcyBub3Qgc2V0LgoJICAqIGV4dC9sYWRzcGEvZ3N0c2lnbmFscHJvY2Vzc29yLmMgKGdzdF9zaWduYWxfcHJvY2Vzc29yX3ByZXBhcmUpOgoJICBEbyB0aGUgYWxsb2NfYnVmZmVyIGluIGJ5dGVzLCBub3QgZnJhbWVzLgoKMjAwNi0wOC0wNCAxMDoyMToyNiArMDAwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkgIHN5cy94aW1hZ2UveGltYWdldXRpbC5jOiBGaXggcmdiIG1hc2tzIHdoZW4gcmVjb3JkaW5nIGluIDwgMjRicHAuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA2LTA4LTA0ICBaYWhlZXIgQWJiYXMgTWVyYWxpICA8emFoZWVyYWJiYXMgYXQgbWVyYWxpIGRvdCBvcmc+CgkgICogc3lzL3hpbWFnZS94aW1hZ2V1dGlsLmM6ICh4aW1hZ2V1dGlsX3hjb250ZXh0X2dldCk6CgkgIEZpeCByZ2IgbWFza3Mgd2hlbiByZWNvcmRpbmcgaW4gPCAyNGJwcC4KCjIwMDYtMDgtMDQgMDk6MjA6MjYgKzAwMDAgIEFuZHkgV2luZ28gPHdpbmdvQHBvYm94LmNvbT4KCgkqIENoYW5nZUxvZzoKCSogZXh0L2xhZHNwYS9nc3RzaWduYWxwcm9jZXNzb3IuYzoKCSAgQlBCCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAoZ3N0X3NpZ25hbF9wcm9jZXNzb3Jfc3JjX2FjdGl2YXRlX3B1bGwpOiBCUEIKCjIwMDYtMDgtMDQgMDk6MDU6NTMgKzAwMDAgIEFuZHkgV2luZ28gPHdpbmdvQHBvYm94LmNvbT4KCgkqIENoYW5nZUxvZzoKCSogZXh0L2xhZHNwYS9nc3RzaWduYWxwcm9jZXNzb3IuYzoKCSAgZXh0L2xhZHNwYS9nc3RzaWduYWxwcm9jZXNzb3IuYyAoZ3N0X3NpZ25hbF9wcm9jZXNzb3Jfc2V0Y2FwcykgKGdzdF9zaWduYWxfcHJvY2Vzc29yX3ByZXBhcmUpIChnc3Rfc2lnbmFsX3Byb2Nlc3Nvcl91Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA2LTA4LTA0ICBBbmR5IFdpbmdvICA8d2luZ29AcG9ib3guY29tPgoJICAqIGV4dC9sYWRzcGEvZ3N0c2lnbmFscHJvY2Vzc29yLmMgKGdzdF9zaWduYWxfcHJvY2Vzc29yX3NldGNhcHMpCgkgIChnc3Rfc2lnbmFsX3Byb2Nlc3Nvcl9wcmVwYXJlKQoJICAoZ3N0X3NpZ25hbF9wcm9jZXNzb3JfdXBkYXRlX2lucHV0cykKCSAgKGdzdF9zaWduYWxfcHJvY2Vzc29yX3Byb2Nlc3MsIGdzdF9zaWduYWxfcHJvY2Vzc29yX3Blbl9idWZmZXIpCgkgIChnc3Rfc2lnbmFsX3Byb2Nlc3Nvcl9mbHVzaCkKCSAgKGdzdF9zaWduYWxfcHJvY2Vzc29yX3NpbmtfYWN0aXZhdGVfcHVzaCkKCSAgKGdzdF9zaWduYWxfcHJvY2Vzc29yX3NyY19hY3RpdmF0ZV9wdWxsKQoJICAoZ3N0X3NpZ25hbF9wcm9jZXNzb3JfY2hhbmdlX3N0YXRlKTogUmVtb3ZlIHRoZSBsYXN0IG9mIHRoZSBjb2RlCgkgIHRoYXQgYXNzdW1lcyB0aGF0IHdlIHByb2Nlc3Mgd2hvbGUgYnVmZmVycyBhdCBhIHRpbWUuIEZpeCBzb21lCgkgIGRlYnVnZ2luZy4gU2VlbXMgdG8gd29yayBub3cgaW4gc29tZSBjYXNlcy4KCjIwMDYtMDctMzEgMjI6Mjc6MjIgKzAwMDAgIEFuZHkgV2luZ28gPHdpbmdvQHBvYm94LmNvbT4KCgkgIGV4dC9sYWRzcGEvZ3N0c2lnbmFscHJvY2Vzc29yLmMgKGdzdF9zaWduYWxfcHJvY2Vzc29yX3Byb2Nlc3MpOiBGaXggbmZyYW1lcy1jaG9vc2luZy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDYtMDgtMDEgIEFuZHkgV2luZ28gIDx3aW5nb0Bwb2JveC5jb20+CgkgICogZXh0L2xhZHNwYS9nc3RzaWduYWxwcm9jZXNzb3IuYyAoZ3N0X3NpZ25hbF9wcm9jZXNzb3JfcHJvY2Vzcyk6CgkgIEZpeCBuZnJhbWVzLWNob29zaW5nLgoJICAoZ3N0X3NpZ25hbF9wcm9jZXNzb3JfaW5pdCk6IEluaXQgcGVuZGluZ19pbiBhbmQgcGVuZGluZ19vdXQuCgoyMDA2LTA3LTMxIDIyOjAzOjA5ICswMDAwICBBbmR5IFdpbmdvIDx3aW5nb0Bwb2JveC5jb20+CgoJICBleHQvbGFkc3BhL2dzdHNpZ25hbHByb2Nlc3Nvci5jIChnc3Rfc2lnbmFsX3Byb2Nlc3Nvcl9pbml0KTogTm8gbW9yZSBkZWZhdWx0IHNhbXBsZSByYXRlLCBhbHRob3VnaCB3ZSBuZXZlciBjaGVjayB0aGEuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDYtMDgtMDEgIEFuZHkgV2luZ28gIDx3aW5nb0Bwb2JveC5jb20+CgkgICogZXh0L2xhZHNwYS9nc3RzaWduYWxwcm9jZXNzb3IuYyAoZ3N0X3NpZ25hbF9wcm9jZXNzb3JfaW5pdCk6IE5vCgkgIG1vcmUgZGVmYXVsdCBzYW1wbGUgcmF0ZSwgYWx0aG91Z2ggd2UgbmV2ZXIgY2hlY2sgdGhhdCB0aGUgc2FtcGxlCgkgIHJhdGUgYWN0dWFsbHkgZ2V0cyBzZXQuIFNvbWV0aGluZyBmb3IgdGhlIGZ1dHVyZS4KCSAgKGdzdF9zaWduYWxfcHJvY2Vzc29yX3NldGNhcHMpOiBTb21lIHJlZmNvdW50IGZpeGVzLCBmbG93IGZpeGVzLgoJICAoZ3N0X3NpZ25hbF9wcm9jZXNzb3JfZXZlbnQpOiBSZWZjb3VudCBmaXhlbi4KCSAgKGdzdF9zaWduYWxfcHJvY2Vzc29yX3Byb2Nlc3MpOiBQdWxsIHRoZSBudW1iZXIgb2YgZnJhbWVzIHRvCgkgIHByb2Nlc3MgZnJvbSB0aGUgc2l6ZXMgb2YgdGhlIGJ1ZmZlcnMgaW4gdGhlIGlucHV0IHBlbnMuCgkgIChnc3Rfc2lnbmFsX3Byb2Nlc3Nvcl9wZW5fYnVmZmVyKTogUmVtb3ZlIGFuIGluY29ycmVjdCBGSVhNRSA6KQoJICAoZ3N0X3NpZ25hbF9wcm9jZXNzb3JfZG9fcHVsbHMpOiBBZGQgYW4gbmZyYW1lcyBhcmd1bWVudCwgYW5kIHVzZQoJICBpdCBpbnN0ZWFkIG9mIGJ1ZmZlcl9mcmFtZXMuCgkgIChnc3Rfc2lnbmFsX3Byb2Nlc3Nvcl9nZXRyYW5nZSk6IFJlZmNvdW50IGZpeGVuLCBwYXNzIG5mcmFtZXMgb24KCSAgdG8gZG9fcHVsbHMuCgkgIChnc3Rfc2lnbmFsX3Byb2Nlc3Nvcl9jaGFpbikKCSAgKGdzdF9zaWduYWxfcHJvY2Vzc29yX3NpbmtfYWN0aXZhdGVfcHVzaCkKCSAgKGdzdF9zaWduYWxfcHJvY2Vzc29yX3NyY19hY3RpdmF0ZV9wdWxsKTogIFJlZmNvdW50IGZpeGVuLgoJICAqIGV4dC9sYWRzcGEvZ3N0c2lnbmFscHJvY2Vzc29yLmg6IE5vIG1vcmUgYnVmZmVyX2ZyYW1lcywgeWF5LgoKMjAwNi0wNy0zMSAxOTo0NDoxOCArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZXh0L2xhZHNwYS9nc3RzaWduYWxwcm9jZXNzb3IuYzogZG9uJ3QgcXVlcnkgYnVmZmVyLWZyYW1lcyBmcm9tIGNhcHMsIGFkZCBsb3RzIG9mIGRlYnVnLWxvZywgdHJ5IGZpeCBmb3IgYXNzZXJ0ICgjMzQ5Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9sYWRzcGEvZ3N0c2lnbmFscHJvY2Vzc29yLmM6IChnc3Rfc2lnbmFsX3Byb2Nlc3Nvcl9zZXRjYXBzKSwKCSAgKGdzdF9zaWduYWxfcHJvY2Vzc29yX3Byb2Nlc3MpOgoJICBkb24ndCBxdWVyeSBidWZmZXItZnJhbWVzIGZyb20gY2FwcywgYWRkIGxvdHMgb2YgZGVidWctbG9nLAoJICB0cnkgZml4IGZvciBhc3NlcnQgKCMzNDkxODkpCgoyMDA2LTA3LTMxIDE1OjU4OjQzICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3VkcC9nc3R1ZHBzcmMuYzogRml4IGRvY3MuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC91ZHAvZ3N0dWRwc3JjLmM6CgkgIEZpeCBkb2NzLgoKMjAwNi0wNy0yOSAxNjozMjoyNiArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZXh0L2xhZHNwYS9nc3RzaWduYWxwcm9jZXNzb3IuYzogQWRkIGRlYnVncyBsb2dzIGhlcmUgYW5kIHRoZXJlLCBhZGQgbW9yZSBlcnJvciBoYW5kbGluZywgYWRkIHNvbWUKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2xhZHNwYS9nc3RzaWduYWxwcm9jZXNzb3IuYzoKCSAgKGdzdF9zaWduYWxfcHJvY2Vzc29yX2FkZF9wYWRfZnJvbV90ZW1wbGF0ZSksCgkgIChnc3Rfc2lnbmFsX3Byb2Nlc3Nvcl9pbml0KSwgKGdzdF9zaWduYWxfcHJvY2Vzc29yX3NldGNhcHMpLAoJICAoZ3N0X3NpZ25hbF9wcm9jZXNzb3JfcHJvY2VzcyksIChnc3Rfc2lnbmFsX3Byb2Nlc3Nvcl9wZW5fYnVmZmVyKSwKCSAgKGdzdF9zaWduYWxfcHJvY2Vzc29yX2RvX3B1bGxzKSwgKGdzdF9zaWduYWxfcHJvY2Vzc29yX2dldHJhbmdlKSwKCSAgKGdzdF9zaWduYWxfcHJvY2Vzc29yX3NpbmtfYWN0aXZhdGVfcHVzaCksCgkgIChnc3Rfc2lnbmFsX3Byb2Nlc3Nvcl9zcmNfYWN0aXZhdGVfcHVsbCksCgkgIChnc3Rfc2lnbmFsX3Byb2Nlc3Nvcl9jaGFuZ2Vfc3RhdGUpOgoJICBBZGQgZGVidWdzIGxvZ3MgaGVyZSBhbmQgdGhlcmUsIGFkZCBtb3JlIGVycm9yIGhhbmRsaW5nLCBhZGQgc29tZQoJICBGSVhNRSBjb21tZW50cywgZmlsZWQgIzM0OTE4OQoKMjAwNi0wNy0yOSAxMToyMjo0NyArMDAwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkgIGV4dC9qcGVnL2dzdHNtb2tlZW5jLmM6IFNldCBjYXBzIG9uIGJ1ZmZlciBjb3JyZWN0bHkuICBGaXhlcyBidWcgIzM0OTE1NS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDYtMDctMjkgIFphaGVlciBBYmJhcyBNZXJhbGkgIDx6YWhlZXJhYmJhcyBhdCBtZXJhbGkgZG90IG9yZz4KCSAgKiBleHQvanBlZy9nc3RzbW9rZWVuYy5jOiAoZ3N0X3Ntb2tlZW5jX2dldGNhcHMpLAoJICAoZ3N0X3Ntb2tlZW5jX3NldGNhcHMpLCAoZ3N0X3Ntb2tlZW5jX2NoYWluKToKCSAgU2V0IGNhcHMgb24gYnVmZmVyIGNvcnJlY3RseS4gIEZpeGVzIGJ1ZyAjMzQ5MTU1LgoKMjAwNi0wNy0yOCAxNjoxNzoxNyArMDAwMCAgU2pvZXJkIFNpbW9ucyA8c2pvZXJkQGx1b24ubmV0PgoKCSAgZ3N0L211bHRpcGFydC9tdWx0aXBhcnRkZW11eC5jOiBVc2VzIEdzdEFkYXB0ZXIgaW5zdGVhZCBvZiBvd24gYnVmZmVyaW5nLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFNqb2VyZCBTaW1vbnMgPHNqb2VyZCBhdCBsdW9uIGRvdCBuZXQ+CgkgICogZ3N0L211bHRpcGFydC9tdWx0aXBhcnRkZW11eC5jOiAoZ3N0X211bHRpcGFydF9kZW11eF9iYXNlX2luaXQpLAoJICAoZ3N0X211bHRpcGFydF9kZW11eF9jbGFzc19pbml0KSwgKGdzdF9tdWx0aXBhcnRfZGVtdXhfaW5pdCksCgkgIChnc3RfbXVsdGlwYXJ0X2RlbXV4X2ZpbmFsaXplKSwgKGdldF9saW5lX2VuZCksCgkgIChtdWx0aXBhcnRfcGFyc2VfaGVhZGVyKSwgKG11bHRpcGFydF9maW5kX2JvdW5kYXJ5KSwKCSAgKGdzdF9tdWx0aXBhcnRfZGVtdXhfY2hhaW4pLCAoZ3N0X211bHRpcGFydF9kZW11eF9jaGFuZ2Vfc3RhdGUpLAoJICAoZ3N0X211bHRpcGFydF9zZXRfcHJvcGVydHkpLCAoZ3N0X211bHRpcGFydF9nZXRfcHJvcGVydHkpOgoJICBVc2VzIEdzdEFkYXB0ZXIgaW5zdGVhZCBvZiBvd24gYnVmZmVyaW5nLgoJICBBY3R1YWxseSBwYXJzZXMgdGhlIG1pbWUtdHlwZSBjb3JyZWN0bHkgKEluIHRlc3RzIHRoZSBtaW1lLXR5cGUgd2FzCgkgIGFsd2F5cyAiIiB3aXRoIHRoZSBvbGQgdmVyc2lvbikuCgkgIFVzZXMgdGhlIENvbnRlbnQtbGVuZ3RoIGhlYWRlciBpZiBhdmFpbGFibGUgdG8gc3BlZWQgdXAgdGhpbmdzLgoJICBSZWxpYWJseSBhdXRvc2NhbnMgdGhlIGJvdW5kYXJ5IG5hbWUgYnkgZGVmYXVsdC4KCSAgRml4ZXMgIzM0OTA2OC4KCSAgKiBnc3QvbXVsdGlwYXJ0L211bHRpcGFydG11eC5jOiAoZ3N0X211bHRpcGFydF9tdXhfY29sbGVjdGVkKToKCSAgRG9uJ3Qgc3RhcnQgdGhlIHN0cmVhbSB3aXRoIGEgXG4uCgoyMDA2LTA3LTI4IDA4OjMyOjQ3ICswMDAwICBCcmlhbiBDYW1lcm9uIDxicmlhbi5jYW1lcm9uQHN1bi5jb20+CgoJICBzeXMvc3VuYXVkaW8vZ3N0c3VuYXVkaW9zcmMuYzogT3BlbiBzb3VyY2Ugd2l0aCBPX05PTkJMT0NLICgjMzQ5MDE1KS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBCcmlhbiBDYW1lcm9uIDxicmlhbiBkb3QgY2FtZXJvbiBhdCBzdW4gY29tPgoJICAqIHN5cy9zdW5hdWRpby9nc3RzdW5hdWRpb3NyYy5jOiAoZ3N0X3N1bmF1ZGlvc3JjX29wZW4pOgoJICBPcGVuIHNvdXJjZSB3aXRoIE9fTk9OQkxPQ0sgKCMzNDkwMTUpLgoKMjAwNi0wNy0yOCAwODoyMToyNyArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L2F2aS9nc3RhdmlkZW11eC4qOiBXaGl0ZXNwYWNlIGZpeGVzIGFuZCBtb3JlIGRlYnVnCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzogKGdzdF9hdmlfZGVtdXhfc3RyZWFtX2luZGV4KSwKCSAgKGdzdF9hdmlfZGVtdXhfbWFzc2FnZV9pbmRleCk6CgkgICogZ3N0L2F2aS9nc3RhdmlkZW11eC5oOgoJICBXaGl0ZXNwYWNlIGZpeGVzIGFuZCBtb3JlIGRlYnVnCgoyMDA2LTA3LTI3IDExOjIxOjUzICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b2F1ZGlvc2luay5jOiBHZXQgcmlkIG9mIG9sZCBhbmQgdW51c2VkIG1hZ2ljIHNvdW5kLXNlcnZlciBwcm9wZXJ0aWVzIHN0dWZmLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvYXVkaW9zaW5rLmM6CgkgIChnc3RfYXV0b19hdWRpb19zaW5rX2NyZWF0ZV9lbGVtZW50X3dpdGhfcHJldHR5X25hbWUpLAoJICAoZ3N0X2F1dG9fYXVkaW9fc2lua19maW5kX2Jlc3QpLAoJICAoZ3N0X2F1dG9fYXVkaW9fc2lua19jaGFuZ2Vfc3RhdGUpOgoJICBHZXQgcmlkIG9mIG9sZCBhbmQgdW51c2VkIG1hZ2ljIHNvdW5kLXNlcnZlciBwcm9wZXJ0aWVzIHN0dWZmLgoJICBBZGQgc3VmZml4IHRvIGNoaWxkIHNpbmsncyBuYW1lIHRoYXQgbWFrZXMgaXQgZWFzeSB0byBzZWUgZnJvbQoJICB0aGUgbmFtZSBhbG9uZSB3aGljaCB0eXBlIGl0IGFjdHVhbGx5IGlzIChhbHNhLCBvc3MsIGVzZCwgZXRjLikuCgoyMDA2LTA3LTI3IDEwOjA1OjI3ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3VkcC9nc3R1ZHBzcmMuKjogUmVuYW1lICJidWZmZXIiIHRvICJidWZmZXItc2l6ZSIgdG8gbWFrZSBjbGVhciBpdCBpcyBhIHNpemUgd2Ugc2V0IGFuZCBub3Qgc29tZSBzb3J0IG9mIGZlYXR1cmUgLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC91ZHAvZ3N0dWRwc3JjLmM6IChnc3RfdWRwc3JjX2NsYXNzX2luaXQpLCAoZ3N0X3VkcHNyY19pbml0KSwKCSAgKGdzdF91ZHBzcmNfc2V0X3Byb3BlcnR5KSwgKGdzdF91ZHBzcmNfZ2V0X3Byb3BlcnR5KSwKCSAgKGdzdF91ZHBzcmNfc3RhcnQpOgoJICAqIGdzdC91ZHAvZ3N0dWRwc3JjLmg6CgkgIFJlbmFtZSAiYnVmZmVyIiB0byAiYnVmZmVyLXNpemUiIHRvIG1ha2UgY2xlYXIgaXQgaXMgYSBzaXplIHdlIHNldCBhbmQKCSAgbm90IHNvbWUgc29ydCBvZiBmZWF0dXJlIHdlIGVuYWJsZS4KCjIwMDYtMDctMjcgMTA6MDE6NDkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvdWRwL2dzdHVkcHNyYy5jOiBVc2UgQ0xPU0VfU09DS0VUKCkgaGVyZSBpbnN0ZWFkIG9mIGNsb3NlKCkgdG8gbWFpbnRhaW4gd2luMzIgd29ya2luZXNzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvdWRwL2dzdHVkcHNyYy5jOiAoZ3N0X3VkcHNyY19zdGFydCk6CgkgIFVzZSBDTE9TRV9TT0NLRVQoKSBoZXJlIGluc3RlYWQgb2YgY2xvc2UoKSB0byBtYWludGFpbgoJICB3aW4zMiB3b3JraW5lc3MuCgoyMDA2LTA3LTI3IDA5OjA0OjUxICswMDAwICBUaGlqcyBWZXJtZWlyIDx0aGlqcy52ZXJtZWlyQGJhcmNvLmNvbT4KCgkgIGdzdC91ZHAvZ3N0dWRwc3JjLio6IEFkZGVkICJidWZmZXIiIHByb3BlcnR5IHRvIGNvbnRyb2wgdGhlIGtlcm5lbCByZWNlaXZlIGJ1ZmZlciBzaXplLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFRoaWpzIFZlcm1laXIgPHRoaWpzIGRvdCB2ZXJtZWlyIGF0IGJhcmNvIGRvdCBjb20+CgkgICogZ3N0L3VkcC9nc3R1ZHBzcmMuYzogKGdzdF91ZHBzcmNfY2xhc3NfaW5pdCksIChnc3RfdWRwc3JjX2luaXQpLAoJICAoZ3N0X3VkcHNyY19jcmVhdGUpLCAoZ3N0X3VkcHNyY19zZXRfcHJvcGVydHkpLAoJICAoZ3N0X3VkcHNyY19nZXRfcHJvcGVydHkpLCAoZ3N0X3VkcHNyY19zdGFydCk6CgkgICogZ3N0L3VkcC9nc3R1ZHBzcmMuaDoKCSAgQWRkZWQgImJ1ZmZlciIgcHJvcGVydHkgdG8gY29udHJvbCB0aGUga2VybmVsIHJlY2VpdmUgYnVmZmVyIHNpemUuCgkgIFVwZGF0ZSBkb2N1bWVudGF0aW9uLgoJICBTbWFsbCBjbGVhbnVwcy4gRml4ZXMgIzM0ODc1Mi4KCSAgQVBJOiBidWZmZXIgcHJvcGVydHkKCjIwMDYtMDctMjYgMTY6MzY6NTkgKzAwMDAgIEthaSBWZWhtYW5lbiA8a3YyMDA0QGVjYS5jeD4KCgkgIGdzdC9ydHAvOiBGaXggdGltZXN0YW1wIGNhbGN1bGF0aW9uIG9uIG91dGdvaW5nIFJUUCBwYWNrZXRzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IEthaSBWZWhtYW5lbiA8a3YyMDA0IGF0IGVjYSBkb3QgY3g+CgkgICogZ3N0L3J0cC9nc3RydHBwY21hcGF5LmM6IChnc3RfcnRwX3BjbWFfcGF5X2ZsdXNoKSwKCSAgKGdzdF9ydHBfcGNtYV9wYXlfaGFuZGxlX2J1ZmZlcik6CgkgICogZ3N0L3J0cC9nc3RydHBwY211cGF5LmM6IChnc3RfcnRwX3BjbXVfcGF5X2ZsdXNoKSwKCSAgKGdzdF9ydHBfcGNtdV9wYXlfaGFuZGxlX2J1ZmZlcik6CgkgIEZpeCB0aW1lc3RhbXAgY2FsY3VsYXRpb24gb24gb3V0Z29pbmcgUlRQIHBhY2tldHMuCgkgIEZpeGVzICMzNDg2NzUuCgoyMDA2LTA3LTI2IDEwOjA3OjI5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L3RhZ2xpYi9nc3RpZDN2Mm11eC5jYzogaXMgc3RpbGwgc3ViLW9wdGltYWwgdGhvdWdoLCBzaW5jZSB3ZSBkb24ndCByZXRhaW4gb3IgZXh0cmFjdCB0aGUgY29tbWVudCBkZXNjcmlwdGlvbnMgcHJvLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC90YWdsaWIvZ3N0aWQzdjJtdXguY2M6CgkgIEZpeCB3cml0aW5nIG9mIGNvbW1lbnQgZnJhbWVzIChzaG91bGQgYmUgQ09NTSBub3QgVENPTSksCgkgIGlzIHN0aWxsIHN1Yi1vcHRpbWFsIHRob3VnaCwgc2luY2Ugd2UgZG9uJ3QgcmV0YWluIG9yCgkgIGV4dHJhY3QgdGhlIGNvbW1lbnQgZGVzY3JpcHRpb25zIHByb3Blcmx5ICgjMzM0Mzc1LAoJICBhbHNvIHNlZSAjMzM0Mzc1KS4KCjIwMDYtMDctMjYgMDk6MDI6NTYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzogI2RlZmluZSAnZmFjdCcgUklGRiBjaHVuayBpZiB3ZSBhcmUgbm90IGNvbXBpbGluZyBhZ2FpbnN0CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOgoJICAjZGVmaW5lICdmYWN0JyBSSUZGIGNodW5rIGlmIHdlIGFyZSBub3QgY29tcGlsaW5nIGFnYWluc3QKCSAgLWJhc2UgQ1ZTICh3ZSBkb24ndCB3YW50IHRvIGRlcGVuZCBvbiAtYmFzZSBDVlMgZm9yIHRoaXMKCSAgb25lIGRlZmluZSBvbmx5LCBhbmQgYWxzbyBub3QgZm9yIHJlbGVhc2Ugb3JkZXIgcmVhc29ucykuCgoyMDA2LTA3LTI2IDA4OjE3OjQ1ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L3RhZ2xpYi9nc3RpZDN2Mm11eC5jYzogSGFuZGxlIG11bHRpcGxlIHRhZ3Mgb2YgdGhlIHNhbWUgdHlwZSBwcm9wZXJseS4gUmUtaW5qZWN0IHVucGFyc2VkIElEM3YyIGZyYW1lcyB0aGF0IHdlIGdlLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC90YWdsaWIvZ3N0aWQzdjJtdXguY2M6CgkgIEhhbmRsZSBtdWx0aXBsZSB0YWdzIG9mIHRoZSBzYW1lIHR5cGUgcHJvcGVybHkuIFJlLWluamVjdAoJICB1bnBhcnNlZCBJRDN2MiBmcmFtZXMgdGhhdCB3ZSBnZXQgYXMgYmluYXJ5IGJsb2JzIGZyb20KCSAgaWQzZGVtdXggaW50byB0aGUgdGFnIGFnYWluIHNvIHdlIGRvbid0IGxvc2UgaW5mb3JtYXRpb24KCSAgd2hlbiByZXRhZ2dpbmcgKCMzMzQzNzUpLgoKMjAwNi0wNy0yNSAxNzo1NDoyNSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIHN5cy94aW1hZ2UvZ3N0eGltYWdlc3JjLmM6IERvY3VtZW50IG5ld2x5LWFkZGVkIHByb3BlcnRpZXMgcHJvcGVybHksIHNvIHRoYXQgdGhlcmUgaXMgYSAnU2luY2U6IDAuMTAuNCcgaW4gdGhlIHBsdWdpbi4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMveGltYWdlL2dzdHhpbWFnZXNyYy5jOiAoZ3N0X3hpbWFnZV9zcmNfY2xhc3NfaW5pdCk6CgkgIERvY3VtZW50IG5ld2x5LWFkZGVkIHByb3BlcnRpZXMgcHJvcGVybHksIHNvIHRoYXQgdGhlcmUgaXMgYQoJICAnU2luY2U6IDAuMTAuNCcgaW4gdGhlIHBsdWdpbiBkb2NzLiBDb252ZXJ0IHNvbWUgcHJvcGVydHkKCSAgbmFtZXMgaW50byBjYW5vbmljYWwgR09iamVjdCBzdHlsZSAoR09iamVjdCB3aWxsIGRvIHRoYXQKCSAgaW50ZXJuYWxseSBhbnl3YXkpLgoKMjAwNi0wNy0yNSAxNjo0NzowNCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9pZDNkZW11eC9pZDN0YWdzLmM6IEV4dHJhY3QgZnJhbWVzIGZvciBJRDN2MiB2ZXJzaW9ucyBwcmlvciB0byBJRDN2Mi4zLjAgcHJvcGVybHkgYXMgd2VsbCwgYW5kIGFkZCB0aGUgdmVyc2lvbiB0by4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvaWQzZGVtdXgvaWQzdGFncy5jOgoJICAoaWQzZGVtdXhfYWRkX2lkM3YyX2ZyYW1lX2Jsb2JfdG9fdGFnbGlzdCk6CgkgIEV4dHJhY3QgZnJhbWVzIGZvciBJRDN2MiB2ZXJzaW9ucyBwcmlvciB0byBJRDN2Mi4zLjAgcHJvcGVybHkgYXMKCSAgd2VsbCwgYW5kIGFkZCB0aGUgdmVyc2lvbiB0byB0aGUgYmxvYidzIGJ1ZmZlciBjYXBzLCBzaW5jZSB0aGF0CgkgIGluZm9ybWF0aW9uIHdpbGwgYmUgbmVlZGVkIGZvciBkZXNlcmlhbGlzYXRpb24gbGF0ZXIgb24gKCMzNDg2NDQpLgoKMjAwNi0wNy0yNSAxMzoxNDowNSArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L2F2aS9nc3RhdmlkZW11eC5jOiBNb3ZlZCB3aW4zMiB2YXJpYW50IG9mIEdTVF9ERUJVR19DQVRFR09SWV9FWFRFUk4gdG8gZ3N0aW5mby5oLiBGaXhlZCBpbmRlbnRhdGlvbiBhbmQgc3BhY2luZy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOiAoZ3N0X2F2aV9kZW11eF9yZWFkX3N1YmluZGV4ZXMpLAoJICAoZ3N0X2F2aV9kZW11eF9wYXJzZV9zdHJlYW0pOgoJICBNb3ZlZCB3aW4zMiB2YXJpYW50IG9mIEdTVF9ERUJVR19DQVRFR09SWV9FWFRFUk4gdG8gZ3N0aW5mby5oLiBGaXhlZAoJICBpbmRlbnRhdGlvbiBhbmQgc3BhY2luZy4KCjIwMDYtMDctMjQgMjE6NDM6MDYgKzAwMDAgIFPDqWJhc3RpZW4gTW91dHRlIDxzZWJhc3RpZW5AbW91dHRlLm5ldD4KCgkgIHN5cy9kaXJlY3Rzb3VuZC9nc3RkaXJlY3Rzb3VuZHNpbmsuKjogQWRkIGFuIGF0dGVudWF0aW9uIHByb3BlcnR5IHRoYXQgd2lsbCBkaXJlY3RseSBhdHRlbnVhdGUgdGhlIGRpcmVjdHNvdW5kIGJ1ZmZlci4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdHNvdW5kc2luay5oOgoJICAqIHN5cy9kaXJlY3Rzb3VuZC9nc3RkaXJlY3Rzb3VuZHNpbmsuYzoKCSAgQWRkIGFuIGF0dGVudWF0aW9uIHByb3BlcnR5IHRoYXQgd2lsbCBkaXJlY3RseSBhdHRlbnVhdGUgdGhlCgkgIGRpcmVjdHNvdW5kIGJ1ZmZlci4KCSAgQ2hhbmdlIHRoZSBzaXplIG9mIHRoZSBkaXJlY3Rzb3VuZCBzZWNvbmRhcnkgYnVmZmVyIHRvIGEgaGFsZiBzZWNvbmQuCgkgIEFkZCBtb3JlIGRlYnVnIGxvZ3MuCgkgIEFkZCBhIGxvY2sgdG8gcHJvdGVjdCBkc291bmQgYnVmZmVyIHdyaXRlIGFjY2Vzcy4KCSAgRml4IGEgYmFkIGltcGxlbWVudGF0aW9uIG9mIHJlc2V0LgoJICAqIHN5cy9kaXJlY3Rzb3VuZC9nc3RkaXJlY3RkcmF3c2luay5jOgoJICAqIHN5cy9kaXJlY3Rzb3VuZC9nc3RkaXJlY3RkcmF3c2luay5oOgoJICBBZGQgYSBrZWVwX2FzcGVjdF9yYXRpbyBwcm9wZXJ0eS4KCSAgRG8gbm90IHVzZSBvdmVybGF5IGlmIG5vdCBzdXBwb3J0ZWQuCgkgIEFkZCBtb3JlIGRlYnVnIGxvZ3MuCgkgIFJlbW92ZSBvdmVyd3JpdGUgb2YgV01fRVJBU0VCS0dORCBtZXNzYWdlIGhhbmRsaW5nLiBJdCB3YXMgbm90CgkgIHJlZHJhd2luZyBib3JkZXIgd2hlbiBrZWVwX2FzcGVjdF9yYXRpbyB3YXMgZW5hYmxlZC4KCSAgKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIHVwZGF0ZSB2ZXJzaW9uIHdhaXRpbmcgYW4gYXV0by1nZW5lcmF0ZWQgY29uZmlnLmgKCjIwMDYtMDctMjQgMTU6MjU6NDkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBkb2NzL3BsdWdpbnMvOiBVcGRhdGUgZmlsZXMgdG8gQ1ZTL1ByZXJlbGVhc2UgdmVyc2lvbiwgYWRkIGVzZHNpbmsgZG9jcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtZG9jcy5zZ21sOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuYXJnczoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tMTM5NC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFhc2luay54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFsYXcueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhY29sb3IueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbm5vZGV4LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXBldGFnLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVwYXJzZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9kZXRlY3QueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdmkueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWNhc2luay54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhaXJvLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2Rpby54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWN1dHRlci54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVnLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHYueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmVuY2UueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmZlY3R2LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXNkc2luay54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsYWMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHhkZWMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nY29uZmVsZW1lbnRzLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2RrcGl4YnVmLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWhhbGVsZW1lbnRzLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWN5ZGVtdXgueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pZDNkZW11eC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwZWcueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sZXZlbC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1hdHJvc2thLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsYXcueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aXBhcnQueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uYXZpZ2F0aW9udGVzdC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zc2F1ZGlvLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5nLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRzcC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNob3V0MnNlbmQueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbXB0ZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWV4LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdWRwLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9iYWxhbmNlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9ib3gueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2ZsaXAueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb21peGVyLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2ZW5jLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFyc2UueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14aW1hZ2VzcmMueG1sOgoJICBVcGRhdGUgZmlsZXMgdG8gQ1ZTL1ByZXJlbGVhc2UgdmVyc2lvbiwgYWRkIGVzZHNpbmsgZG9jcy4KCSAgKiBleHQvZXNkL2VzZHNpbmsuYzoKCSAgQWRkIGd0ay1kb2MgYmx1cmIuCgkgICogZ3N0L3J0cC9nc3RydHBtcDR2cGF5LmM6CgkgIEZpeCB0eXBvIGluIGVsZW1lbnQgZGVzY3JpcHRpb24uCgoyMDA2LTA3LTI0IDE0OjU0OjA0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogQ2hhbmdlTG9nOgoJICBDaGFuZ2VMb2cgc3VyZ2VyeTogZml4IFN0ZWZhbidzIGUtbWFpbCBhZGRyZXNzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBDaGFuZ2VMb2cgc3VyZ2VyeTogZml4IFN0ZWZhbidzIGUtbWFpbCBhZGRyZXNzCgoyMDA2LTA3LTI0IDE0OjQ5OjE5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L2VzZC9lc2RzaW5rLmM6IFByZXZlbnQgbGliZXNkIGZyb20gYXV0by1zcGF3bmluZyBhIHNvdW5kIGRhZW1vbiBpZiBpdCBpcyBub3QgYWxyZWFkeSBydW5uaW5nLiBOb3cgdGhhdCB3ZSBkb24ndCBkLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9lc2QvZXNkc2luay5jOiAoZ3N0X2VzZHNpbmtfb3BlbiksCgkgIChnc3RfZXNkc2lua19mYWN0b3J5X2luaXQpOgoJICBQcmV2ZW50IGxpYmVzZCBmcm9tIGF1dG8tc3Bhd25pbmcgYSBzb3VuZCBkYWVtb24gaWYgaXQKCSAgaXMgbm90IGFscmVhZHkgcnVubmluZy4gTm93IHRoYXQgd2UgZG9uJ3QgZG8gZXZpbCBzdHVmZgoJICBsaWtlIHRoYXQgYW55IGxvbmdlciB3ZSBjYW4gZ2l2ZSBlc2RzaW5rIGEgcmFuayBzbyB0aGF0CgkgIGF1dG9hdWRpb3Npbmsgd2lsbCB0cnkgaXQgYXMgd2VsbCBpZiBhbGwgb3RoZXIgYXVkaW8KCSAgc2lua3MgZmFpbCAoIzM0MzA1MSkuCgoyMDA2LTA3LTI0IDE0OjQyOjExICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L2VzZC9NYWtlZmlsZS5hbTogT29wcywgbmVlZCB0byByZW1vdmUgUkVBRE1FIGZyb20gRVhUUkFfRElTVCBhcyB3ZWxsLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZXNkL01ha2VmaWxlLmFtOgoJICBPb3BzLCBuZWVkIHRvIHJlbW92ZSBSRUFETUUgZnJvbSBFWFRSQV9ESVNUIGFzIHdlbGwuCgoyMDA2LTA3LTI0IDE0OjM3OjM2ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L2VzZC9SRUFETUU6IFJlbW92ZSwgaXQgY29udGFpbnMgbm90aGluZyB1c2VmdWwgYW55d2F5LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZXNkL1JFQURNRToKCSAgUmVtb3ZlLCBpdCBjb250YWlucyBub3RoaW5nIHVzZWZ1bCBhbnl3YXkuCgkgICogZXh0L2VzZC9lc2RzaW5rLmM6IChnc3RfZXNkc2lua19pbml0KSwgKGdzdF9lc2RzaW5rX3ByZXBhcmUpLAoJICAoZ3N0X2VzZHNpbmtfZGVsYXkpOgoJICBTb21lIHNtYWxsIGNsZWFuLXVwczsgdXNlIEdTVF9CT0lMRVJQTEFURSBldGMuCgoyMDA2LTA3LTI0IDE0OjE2OjA2ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L2xhdy86IEZpeCBuZWdvdGlhdGlvbiB0byBkZWFsIHdpdGggQU5ZL0VNUFRZIGNhcHMgaW5zdGVhZCBvZiBsZWFraW5nLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbGF3L2FsYXctZGVjb2RlLmM6IChhbGF3ZGVjX2dldGNhcHMpOgoJICAqIGdzdC9sYXcvYWxhdy1lbmNvZGUuYzogKGFsYXdlbmNfZ2V0Y2FwcyksIChnc3RfYWxhd2VuY19jaGFpbik6CgkgICogZ3N0L2xhdy9tdWxhdy1kZWNvZGUuYzogKG11bGF3ZGVjX2dldGNhcHMpOgoJICAqIGdzdC9sYXcvbXVsYXctZW5jb2RlLmM6IChtdWxhd2VuY19nZXRjYXBzKToKCSAgRml4IG5lZ290aWF0aW9uIHRvIGRlYWwgd2l0aCBBTlkvRU1QVFkgY2FwcyBpbnN0ZWFkIG9mIGxlYWtpbmcuCgoyMDA2LTA3LTI0IDEzOjQwOjU2ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuKjogVXNlIGluZm9ybWF0aW9uIGZyb20gJ2ZhY3QnIGNodW5rIGZvciBsZW5ndGggY2FsY3VsYXRpb24gb2YgY29tcHJlc3NlZCBzYW1wbGVzLiBDYWxjdWxhdGUuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6IChnc3Rfd2F2cGFyc2VfcmVzZXQpLAoJICAoZ3N0X3dhdnBhcnNlX290aGVyKSwgKGdzdF93YXZwYXJzZV9wZXJmb3JtX3NlZWspLAoJICAoZ3N0X3dhdnBhcnNlX2dldF91cHN0cmVhbV9zaXplKSwgKGdzdF93YXZwYXJzZV9zdHJlYW1faGVhZGVycyksCgkgIChnc3Rfd2F2cGFyc2VfYWRkX3NyY19wYWQpLCAoZ3N0X3dhdnBhcnNlX3N0cmVhbV9kYXRhKSwKCSAgKGdzdF93YXZwYXJzZV9wYWRfcXVlcnkpOgoJICAqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5oOgoJICBVc2UgaW5mb3JtYXRpb24gZnJvbSAnZmFjdCcgY2h1bmsgZm9yIGxlbmd0aCBjYWxjdWxhdGlvbiBvZiBjb21wcmVzc2VkCgkgIHNhbXBsZXMuIENhbGN1bGF0ZSBicHMgaWYgYm9ndXMgdmFsdWUgaXMgZm91bmQgaW4gd2F2IGhlYWRlciAoZW1iZWRlZAoJICBtcDIvbXAzKS4KCjIwMDYtMDctMjQgMTE6NDg6MDMgKzAwMDAgIEpvbmkgVmFsdGFuZW4gPGpvbmkudmFsdGFuZW5AbW92aWFsLmZpPgoKCSAgUG9ydCB1ZHAgcGx1Z2luIHRvIHdpbjMyICgjMzQ1Mjg4KS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEJhc2VkIG9uIHBhdGNoIGJ5OiBKb25pIFZhbHRhbmVuICA8am9uaSBkb3QgdmFsdGFuZW4gYXQgbW92aWFsIGZpPgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBnc3QvdWRwL01ha2VmaWxlLmFtOgoJICAqIGdzdC91ZHAvZ3N0ZHludWRwc2luay5jOiAoZ3N0X2R5bnVkcHNpbmtfaW5pdCksCgkgIChnc3RfZHludWRwc2lua19maW5hbGl6ZSksIChnc3RfZHludWRwc2lua19jbG9zZSk6CgkgICogZ3N0L3VkcC9nc3RkeW51ZHBzaW5rLmg6CgkgICogZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuYzogKGdzdF9tdWx0aXVkcHNpbmtfaW5pdCksCgkgIChnc3RfbXVsdGl1ZHBzaW5rX2ZpbmFsaXplKSwgKGdzdF9tdWx0aXVkcHNpbmtfY2xvc2UpOgoJICAqIGdzdC91ZHAvZ3N0bXVsdGl1ZHBzaW5rLmg6CgkgICogZ3N0L3VkcC9nc3R1ZHAuYzogKHBsdWdpbl9pbml0KToKCSAgKiBnc3QvdWRwL2dzdHVkcHNpbmsuaDoKCSAgKiBnc3QvdWRwL2dzdHVkcHNyYy5jOiAoZ3N0X3VkcHNyY19pbml0KSwgKGdzdF91ZHBzcmNfY3JlYXRlKSwKCSAgKGdzdF91ZHBzcmNfc3RhcnQpLCAoZ3N0X3VkcHNyY19zdG9wKToKCSAgKiBnc3QvdWRwL2dzdHVkcHNyYy5oOgoJICAqIGdzdC91ZHAvZ3N0dWRwbmV0dXRpbHMuYzogKGdzdF91ZHBfbmV0X3V0aWxzX3dpbjMyX2luZXRfYXRvbiksCgkgIChnc3RfdWRwX25ldF91dGlsc193aW4zMl93c2Ffc3RhcnR1cCk6CgkgICogZ3N0L3VkcC9nc3R1ZHBuZXR1dGlscy5oOgoJICBQb3J0IHVkcCBwbHVnaW4gdG8gd2luMzIgKCMzNDUyODgpLgoKMjAwNi0wNy0yNCAxMTowMDozNCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHNwL3J0c3Bjb25uZWN0aW9uLmM6IFJlbW92ZSB1bndhbnRlZCBERUJVRyBsaW5lLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRzcC9ydHNwY29ubmVjdGlvbi5jOiAocnRzcF9jb25uZWN0aW9uX3NlbmQpOgoJICBSZW1vdmUgdW53YW50ZWQgREVCVUcgbGluZS4KCjIwMDYtMDctMjMgMTE6MzM6NTQgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvaWQzZGVtdXgvOiBPbiBzZWNvbmQgdGhvdWdodCwgaXQgbWlnaHQgYmUgd2lzZXIgYW5kIG1vcmUgZWZmaWNpZW50IG5vdCB0byBkbyB0YWcgcmVnaXN0cmF0aW9uIGZyb20gYSBzdHJlYW1pbmcgdGguLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2lkM2RlbXV4L2dzdGlkM2RlbXV4LmM6IChwbHVnaW5faW5pdCk6CgkgICogZ3N0L2lkM2RlbXV4L2lkM3RhZ3MuYzoKCSAgKGlkM2RlbXV4X2FkZF9pZDN2Ml9mcmFtZV9ibG9iX3RvX3RhZ2xpc3QpOgoJICAqIGdzdC9pZDNkZW11eC9pZDN0YWdzLmg6CgkgIE9uIHNlY29uZCB0aG91Z2h0LCBpdCBtaWdodCBiZSB3aXNlciBhbmQgbW9yZSBlZmZpY2llbnQKCSAgbm90IHRvIGRvIHRhZyByZWdpc3RyYXRpb24gZnJvbSBhIHN0cmVhbWluZyB0aHJlYWQuCgoyMDA2LTA3LTIzIDEwOjU2OjI3ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L2lkM2RlbXV4L2lkM3RhZ3MuYzogUHV0IElEM3YyIGZyYW1lcyB3ZSBjYW4ndCBwYXJzZSBhcyBiaW5hcnkgYmxvYnMgaW50byBwcml2YXRlIHRhZ3MsIHNvIHRoYXQgdGhleSBhcmUgbm90IGxvc3QgLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9pZDNkZW11eC9pZDN0YWdzLmM6CgkgIChpZDNkZW11eF9hZGRfaWQzdjJfZnJhbWVfYmxvYl90b190YWdsaXN0KSwKCSAgKGlkM2RlbXV4X2lkM3YyX2ZyYW1lc190b190YWdfbGlzdCk6CgkgIFB1dCBJRDN2MiBmcmFtZXMgd2UgY2FuJ3QgcGFyc2UgYXMgYmluYXJ5IGJsb2JzIGludG8gcHJpdmF0ZQoJICB0YWdzLCBzbyB0aGF0IHRoZXkgYXJlIG5vdCBsb3N0IHdoZW4gcmV0YWdnaW5nLCBhdCBsZWFzdCBvbmNlCgkgIGlkM3YybXV4IGhhcyBiZWVuIHRhdWdodCB0byByZS1pbmplY3QgdGhvc2UgZnJhbWVzIGFnYWluLgoJICBTZWUgYnVnICMzMzQzNzUuCgoyMDA2LTA3LTIxIDEwOjU3OjAwICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L2F2aS9nc3RhdmlkZW11eC5jOiBGaXggc29tZSBsZWFrcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOiAoZ3N0X2F2aV9kZW11eF9wYXJzZV9zdHJlYW0pLAoJICAoZ3N0X2F2aV9kZW11eF9wcm9jZXNzX25leHRfZW50cnkpOgoJICBGaXggc29tZSBsZWFrcy4KCSAgKiBnc3QvaWQzZGVtdXgvaWQzdGFncy5jOiAoaWQzZGVtdXhfaWQzdjJfZnJhbWVzX3RvX3RhZ19saXN0KToKCSAgRG9uJ3QgdXNlIFxuIGluIGRlYnVnIGxpbmVzLgoKMjAwNi0wNy0yMCAxODo0ODozMiArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZG9jcy9wbHVnaW5zLzogQWRkIGFubm9kZXggYW5kIGljeWRlbXV4LCBjbGVhbnVwIHRoZSBzZWN0aW9ucyBhIGJpdAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgQWRkIGFubm9kZXggYW5kIGljeWRlbXV4LCBjbGVhbnVwIHRoZSBzZWN0aW9ucyBhIGJpdAoKMjAwNi0wNy0xOSAxNDozNjowMCArMDAwMCAgTWFydGluIFN6dWxlY2tpIDxjb21waXpAc3VraW1hc2hpdGEuY29tPgoKCSAgc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOiBJZiAiZGV2aWNlLW5hbWUiIGlzIHJlcXVlc3RlZCBhbmQgdGhlIGRldmljZSBpcyBub3Qgb3BlbiwgdHJ5IHRvIHRlbXBvcmFyaWx5IG9wZW4gaXQgdG8gb2J0Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogTWFydGluIFN6dWxlY2tpCgkgICogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOiAoZ3N0X3Y0bDJfb2JqZWN0X2dldF9wcm9wZXJ0eV9oZWxwZXIpOgoJICBJZiAiZGV2aWNlLW5hbWUiIGlzIHJlcXVlc3RlZCBhbmQgdGhlIGRldmljZSBpcyBub3QKCSAgb3BlbiwgdHJ5IHRvIHRlbXBvcmFyaWx5IG9wZW4gaXQgdG8gb2J0YWluIHRoaXMKCSAgaW5mb3JtYXRpb24gKCMzNDI0OTQpLgoKMjAwNi0wNy0xOSAxMTo1Mjo1MyArMDAwMCAgQWxleCBMYW5jYXN0ZXIgPGFsZXhsQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGV4dC90YWdsaWIvZ3N0aWQzdjJtdXguY2M6IFdyaXRlIEdTVF9UQUdfRU5DT0RFUiBhbmQgR1NUX1RBR19FTkNPREVSX1ZFUlNJT04gYXMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBBbGV4IExhbmNhc3RlciA8YWxleGwgYXQgdXNlcnMgc291cmNlZm9yZ2UgbmV0PgoJICAqIGV4dC90YWdsaWIvZ3N0aWQzdjJtdXguY2M6CgkgIFdyaXRlIEdTVF9UQUdfRU5DT0RFUiBhbmQgR1NUX1RBR19FTkNPREVSX1ZFUlNJT04gYXMKCSAgSUQzdjIgVFNTRSBmcmFtZXMgKCMzNDc4OTgpLgoKMjAwNi0wNy0xOSAwNzo0MDo1MiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIENoYW5nZUxvZzoKCSAgQ2hhbmdlTG9nIHN1cmdlcnk6IG1lbnRpb24gZml4ZWQgYnVnCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBDaGFuZ2VMb2cgc3VyZ2VyeTogbWVudGlvbiBmaXhlZCBidWcKCjIwMDYtMDctMTggMTk6NTk6MDEgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC9hdmkvZ3N0YXZpbXV4LmM6IFJlc3BlY3QgbXBlZ3ZlcnNpb24gZm9yICJ2aWRlby9tcGVnIiBhbmQgZ2l2ZSBtZXNzYWdlIGluIGNhc2Ugb2YgdW5oYW5kbGVkIHZlcnNpb25zLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXZpL2dzdGF2aW11eC5jOiAoZ3N0X2F2aV9tdXhfdmlkc2lua19zZXRfY2Fwcyk6CgkgIFJlc3BlY3QgbXBlZ3ZlcnNpb24gZm9yICJ2aWRlby9tcGVnIiBhbmQgZ2l2ZSBtZXNzYWdlIGluIGNhc2Ugb2YKCSAgdW5oYW5kbGVkIHZlcnNpb25zLgoKMjAwNi0wNy0xOCAxODowNToxNSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tkZWMuYzogRml4IGNhcHMgYWZ0ZXIgcHJldmlvdXMgY2hhbmdlIHRvIGJ5dGUgb3JkZXIgZW5kaWFubmVzcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2RlYy5jOiAoZ3N0X3dhdnBhY2tfZGVjX2NoYWluKToKCSAgRml4IGNhcHMgYWZ0ZXIgcHJldmlvdXMgY2hhbmdlIHRvIGJ5dGUgb3JkZXIgZW5kaWFubmVzcy4KCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrcGFyc2UuYzogKGdzdF93YXZwYWNrX3BhcnNlX3Jlc2V0KSwKCSAgKGdzdF93YXZwYWNrX3BhcnNlX3NpbmtfZXZlbnQpLCAoZ3N0X3dhdnBhY2tfcGFyc2VfaW5pdCksCgkgIChnc3Rfd2F2cGFja19wYXJzZV9sb29wKToKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrcGFyc2UuaDoKCSAgUXVldWUgaW5jb21pbmcgZXZlbnRzIGlmIHRoZXJlJ3Mgbm8gc291cmNlIHBhZCB5ZXQgYW5kCgkgIHNlbmQgdGhlbSBkb3duc3RyZWFtIGxhdGVyIHdoZW4gdGhlIHBhZCBpcyB0aGVyZS4KCjIwMDYtMDctMTggMTY6NDc6MjUgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvd2F2cGFjay9nc3R3YXZwYWNrZGVjLio6IE91dHB1dCBhdWRpbyBpbiBuYXRpdmUgYnl0ZSBvcmRlciAod2hpY2ggaXMgYWxzbyBob3cgd2UgZ2V0IHNhbXBsZXMgZnJvbSB3YXZwYWNrKTsgb3V0cHUuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2RlYy5jOiAoZ3N0X3dhdnBhY2tfZGVjX2luaXQpLAoJICAoZ3N0X3dhdnBhY2tfZGVjX2Zvcm1hdF9zYW1wbGVzKSwKCSAgKGdzdF93YXZwYWNrX2RlY19jbGlwX291dGdvaW5nX2J1ZmZlciksIChnc3Rfd2F2cGFja19kZWNfY2hhaW4pLAoJICAoZ3N0X3dhdnBhY2tfZGVjX2NoYW5nZV9zdGF0ZSk6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2RlYy5oOgoJICBPdXRwdXQgYXVkaW8gaW4gbmF0aXZlIGJ5dGUgb3JkZXIgKHdoaWNoIGlzIGFsc28gaG93IHdlIGdldAoJICBzYW1wbGVzIGZyb20gd2F2cGFjayk7IG91dHB1dCBzYW1wbGVzIHdpdGggMjEtMjQgYml0IGRlcHRoCgkgIHdpdGggMzIgYml0IHdpZHRoIChtYWtlcyB0aGluZ3MgZWFzaWVyIGZvciB1cykuCgoyMDA2LTA3LTE4IDE1OjUzOjM1ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L3dhdnBhY2svZ3N0d2F2cGFja2RlYy4qOiBNb3JlIGNsZWFuLXVwczogcmVtb3ZlIG1vc3Qgb2YgdGhlIGRpc2Z1bmN0aW9uYWwgY29ycmVjdGlvbiBwYWQgc3R1ZmYgZm9yIG5vdywgaWYgaXQgZXZlLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tkZWMuYzogKGdzdF93YXZwYWNrX2RlY19iYXNlX2luaXQpLAoJICAoZ3N0X3dhdnBhY2tfZGVjX2NsYXNzX2luaXQpLCAoZ3N0X3dhdnBhY2tfZGVjX2luaXQpLAoJICAoZ3N0X3dhdnBhY2tfZGVjX2ZpbmFsaXplKSwgKGdzdF93YXZwYWNrX2RlY19mb3JtYXRfc2FtcGxlcyksCgkgIChnc3Rfd2F2cGFja19kZWNfY2xpcF9vdXRnb2luZ19idWZmZXIpLCAoZ3N0X3dhdnBhY2tfZGVjX2NoYWluKSwKCSAgKGdzdF93YXZwYWNrX2RlY19zaW5rX2V2ZW50KSwgKGdzdF93YXZwYWNrX2RlY19jaGFuZ2Vfc3RhdGUpOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tkZWMuaDoKCSAgTW9yZSBjbGVhbi11cHM6IHJlbW92ZSBtb3N0IG9mIHRoZSBkaXNmdW5jdGlvbmFsIGNvcnJlY3Rpb24KCSAgcGFkIHN0dWZmIGZvciBub3csIGlmIGl0IGV2ZXIgZ2V0cyBpbXBsZW1lbnRlZCBhIGxvdCBvZiBzdHVmZgoJICB3aWxsIGhhdmUgdG8gYmUgcmV3cml0dGVuIGFueXdheTsgcmVkbyBjaGFpbiBmdW5jdGlvbiwgbW92ZQoJICBlcnJvcnMgdG8gZW5kLCBlcnJvciBvdXQgaW5zdGVhZCBvZiBnX2Fzc2VydCgpaW5nLiBBbHNvIHJlbmFtZQoJICBvdmVybHkgbG9uZyB2YXJpYWJsZSAnd2F2cGFja2RlYycgdG8ganVzdCAnZGVjJzsgbWlzY2VsbGFuZW91cwoJICBvdGhlciBzbWFsbCBzdHVmZi4KCjIwMDYtMDctMTggMTQ6MDg6MDYgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGNvbmZpZ3VyZS5hYzogQ2hlY2sgZm9yIHdhdnBhY2sgdmVyc2lvbiBhbmQgZGVmaW5lIFdBVlBBQ0tfT0xEX0FQSSBpZiBuZWNlc3NhcnkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW8gYXQgY2lyY3VsYXItY2hhb3Mub3JnPgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgQ2hlY2sgZm9yIHdhdnBhY2sgdmVyc2lvbiBhbmQgZGVmaW5lIFdBVlBBQ0tfT0xEX0FQSSBpZgoJICBuZWNlc3NhcnkuCgkgICogZXh0L3dhdnBhY2svTWFrZWZpbGUuYW06CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2NvbW1vbi5jOiAoZ3N0X3dhdnBhY2tfcmVhZF9oZWFkZXIpLAoJICAoZ3N0X3dhdnBhY2tfcmVhZF9tZXRhZGF0YSk6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2NvbW1vbi5oOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tkZWMuYzogKGdzdF93YXZwYWNrX2RlY19iYXNlX2luaXQpLAoJICAoZ3N0X3dhdnBhY2tfZGVjX2NsYXNzX2luaXQpLCAoZ3N0X3dhdnBhY2tfZGVjX2luaXQpLAoJICAoZ3N0X3dhdnBhY2tfZGVjX2ZpbmFsaXplKSwgKGdzdF93YXZwYWNrX2RlY19mb3JtYXRfc2FtcGxlcyksCgkgIChnc3Rfd2F2cGFja19kZWNfY2xpcF9vdXRnb2luZ19idWZmZXIpLCAoZ3N0X3dhdnBhY2tfZGVjX2NoYWluKSwKCSAgKGdzdF93YXZwYWNrX2RlY19zaW5rX2V2ZW50KSwgKGdzdF93YXZwYWNrX2RlY19jaGFuZ2Vfc3RhdGUpLAoJICAoZ3N0X3dhdnBhY2tfZGVjX3JlcXVlc3RfbmV3X3BhZCksIChnc3Rfd2F2cGFja19kZWNfcGx1Z2luX2luaXQpOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tkZWMuaDoKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZW5jLmM6IChnc3Rfd2F2cGFja19lbmNfY2xhc3NfaW5pdCksCgkgIChnc3Rfd2F2cGFja19lbmNfaW5pdCksIChnc3Rfd2F2cGFja19lbmNfZmluYWxpemUpLAoJICAoZ3N0X3dhdnBhY2tfZW5jX3NldF93cF9jb25maWcpOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2twYXJzZS5jOiAoZ3N0X3dhdnBhY2tfcGFyc2VfYmFzZV9pbml0KSwKCSAgKGdzdF93YXZwYWNrX3BhcnNlX2ZpbmFsaXplKSwgKGdzdF93YXZwYWNrX3BhcnNlX2NsYXNzX2luaXQpLAoJICAoZ3N0X3dhdnBhY2tfcGFyc2VfaW5kZXhfZ2V0X2VudHJ5X2Zyb21fc2FtcGxlKSwKCSAgKGdzdF93YXZwYWNrX3BhcnNlX3NjYW5fdG9fZmluZF9zYW1wbGUpLAoJICAoZ3N0X3dhdnBhY2tfcGFyc2VfaGFuZGxlX3NlZWtfZXZlbnQpLAoJICAoZ3N0X3dhdnBhY2tfcGFyc2VfY3JlYXRlX3NyY19wYWQpOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tzdHJlYW1yZWFkZXIuYzoKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrc3RyZWFtcmVhZGVyLmg6CgkgIFBvcnQgdG8gbmV3L29mZmljaWFsIHdhdnBhY2sgQVBJLCBkb24ndCB1c2UgQVBJIHRoYXQgd2FzIGV4cG9ydGVkCgkgIGluIHdhdnBhY2sgaGVhZGVyIGZpbGVzIGFuZCBpbiB0aGUgbGliIGJ1dCBtZWFudCB0byBiZSBwcml2YXRlLCBhdAoJICBsZWFzdCBub3QgZm9yIHJlY2VudCB3YXZwYWNrIHZlcnNpb25zOyBtaXNjLiAnY2xlYW51cHMnICgjMzQ3NDQzKS4KCjIwMDYtMDctMTcgMTA6MjU6NTcgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IFN0b3JlIGR1cmF0aW9uIGluIHVpbnQ2NCB0b28gaW5zdGVhZCBvZiBjbGlwcGluZy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAoZ3N0X3F0ZGVtdXhfcGVyZm9ybV9zZWVrKSwKCSAgKGdzdF9xdGRlbXV4X3ByZXBhcmVfY3VycmVudF9zYW1wbGUpLAoJICAoZ3N0X3F0ZGVtdXhfbG9vcF9zdGF0ZV9tb3ZpZSk6CgkgIFN0b3JlIGR1cmF0aW9uIGluIHVpbnQ2NCB0b28gaW5zdGVhZCBvZiBjbGlwcGluZy4KCSAgV2hlbiB3ZSBkbyBhIGtleWZyYW1lIHNlZWsgYW5kIHRoZSByZXF1ZXN0ZWQgdGltZSBpcyBhdCB0aGUKCSAga2V5ZnJhbWUsIGRvbid0IHNlZWsgYmFjayB0byB0aGUgYmVnaW5uaW5nIG9mIHRoZSBrZXlmcmFtZS4KCSAgRml4ZXMgIzM0NzQzOS4KCjIwMDYtMDctMTcgMTA6MjI6NTQgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBleHQvbGlicG5nL2dzdHBuZ2RlYy4qOiBVc2Ugc3RhdGljYWxseSBhbGxvY2F0ZWQgc2VnbWVudCBpbnN0ZWFkIG9mIGxlYWtpbmcuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9saWJwbmcvZ3N0cG5nZGVjLmM6IChnc3RfcG5nZGVjX2luaXQpLCAoYnVmZmVyX2NsaXApLAoJICAoZ3N0X3BuZ2RlY19jYXBzX2NyZWF0ZV9hbmRfc2V0KSwgKGdzdF9wbmdkZWNfdGFzayksCgkgIChnc3RfcG5nZGVjX2NoYWluKSwgKGdzdF9wbmdkZWNfc2lua19ldmVudCksCgkgIChnc3RfcG5nZGVjX2xpYnBuZ19pbml0KSwgKGdzdF9wbmdkZWNfY2hhbmdlX3N0YXRlKSwKCSAgKGdzdF9wbmdkZWNfc2lua19hY3RpdmF0ZV9wdXNoKToKCSAgKiBleHQvbGlicG5nL2dzdHBuZ2RlYy5oOgoJICBVc2Ugc3RhdGljYWxseSBhbGxvY2F0ZWQgc2VnbWVudCBpbnN0ZWFkIG9mIGxlYWtpbmcuCgkgIFZhcmlvdXMgY2xlYW51cHMuCgkgIEZpeCBmbHVzaCBhbmQgc2VlayBoYW5kbGluZy4KCjIwMDYtMDctMTYgMTQ6MzE6NDggKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwLzogQWRkZWQgc2ltcGxlIGdlbmVyaWMgbXBlZzQgZGVwYXlsb2FkZXIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHAvTWFrZWZpbGUuYW06CgkgICogZ3N0L3J0cC9nc3RydHAuYzogKHBsdWdpbl9pbml0KToKCSAgKiBnc3QvcnRwL2dzdHJ0cG1wNGdkZXBheS5jOiAoZ3N0X3J0cF9tcDRnX2RlcGF5X2Jhc2VfaW5pdCksCgkgIChnc3RfcnRwX21wNGdfZGVwYXlfY2xhc3NfaW5pdCksIChnc3RfcnRwX21wNGdfZGVwYXlfaW5pdCksCgkgIChnc3RfcnRwX21wNGdfZGVwYXlfc2V0Y2FwcyksIChnc3RfcnRwX21wNGdfZGVwYXlfcHJvY2VzcyksCgkgIChnc3RfcnRwX21wNGdfZGVwYXlfc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9ydHBfbXA0Z19kZXBheV9nZXRfcHJvcGVydHkpLAoJICAoZ3N0X3J0cF9tcDRnX2RlcGF5X2NoYW5nZV9zdGF0ZSksCgkgIChnc3RfcnRwX21wNGdfZGVwYXlfcGx1Z2luX2luaXQpOgoJICAqIGdzdC9ydHAvZ3N0cnRwbXA0Z2RlcGF5Lmg6CgkgICogZ3N0L3J0cC9nc3RydHBtcDRncGF5LmM6IChnc3RfcnRwX21wNGdfcGF5X2NsYXNzX2luaXQpLAoJICAoZ3N0X3J0cF9tcDRnX3BheV9wYXJzZV9hdWRpb19jb25maWcpLCAoZ3N0X3J0cF9tcDRnX3BheV9zZXRjYXBzKSwKCSAgKGdzdF9ydHBfbXA0Z19wYXlfZmx1c2gpOgoJICBBZGRlZCBzaW1wbGUgZ2VuZXJpYyBtcGVnNCBkZXBheWxvYWRlci4KCSAgRml4IGdlbmVyaWMgbXBlZzQgcGF5bG9hZGVyLgoKMjAwNi0wNy0xNSAxNToyNTowNSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogRG9uJ3QgdHJ5IGRvaW5nIHN0YXRlIGNoYW5nZXMgb24gYSBOVUxMIHBvaW50ZXIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogKGdzdF9ydHNwc3JjX3NldF9zdGF0ZSk6CgkgIERvbid0IHRyeSBkb2luZyBzdGF0ZSBjaGFuZ2VzIG9uIGEgTlVMTCBwb2ludGVyLgoKMjAwNi0wNy0xNSAxMTo1MDoyNSArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L3NwZWN0cnVtLzogRG8gbm90IHVzZSBkZXByZWNhdGVkIGd0ayBmdW5jdGlvbnMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9zcGVjdHJ1bS9kZW1vLWF1ZGlvdGVzdC5jOiAobWFpbik6CgkgICogZ3N0L3NwZWN0cnVtL2RlbW8tb3Nzc3JjLmM6IChtYWluKToKCSAgRG8gbm90IHVzZSBkZXByZWNhdGVkIGd0ayBmdW5jdGlvbnMuCgoyMDA2LTA3LTE0IDEzOjMzOjU0ICswMDAwICBTZWJhc3RpZW4gQ290ZSA8c2ViYXM2NDJAeWFob28uY2E+CgoJICBnc3QvcnRwL2dzdHJ0cGFtcmRlcGF5Lio6IHJ0cGFtcmRlYyBpc24ndCBhIHN1YmNsYXNzIG9mIEdzdEJhc2VSdHBEZXBheWxvYWQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogU2ViYXN0aWVuIENvdGUgPHNlYmFzNjQyIGF0IHlhaG9vIGRvdCBjYT4KCSAgKiBnc3QvcnRwL2dzdHJ0cGFtcmRlcGF5LmM6IChnc3RfcnRwX2Ftcl9kZXBheV9iYXNlX2luaXQpLAoJICAoZ3N0X3J0cF9hbXJfZGVwYXlfY2xhc3NfaW5pdCksIChnc3RfcnRwX2Ftcl9kZXBheV9pbml0KSwKCSAgKGdzdF9ydHBfYW1yX2RlcGF5X3NldGNhcHMpLCAoZ3N0X3J0cF9hbXJfZGVwYXlfcHJvY2Vzcyk6CgkgICogZ3N0L3J0cC9nc3RydHBhbXJkZXBheS5oOgoJICBydHBhbXJkZWMgaXNuJ3QgYSBzdWJjbGFzcyBvZiBHc3RCYXNlUnRwRGVwYXlsb2FkLgoJICBGaXhlcyAjMzIxMTkxCgoyMDA2LTA3LTE0IDEyOjAxOjA1ICswMDAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSAgc3lzL3hpbWFnZS9nc3R4aW1hZ2VzcmMuYzogRml4IHNlZ2ZhdWx0IHdoZW4gbW92aW5nIG1vdXNlIHBvaW50ZXIgdG8gdGhlIGJvdHRvbSByaWdodCBjb3JuZXIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA2LTA3LTE0ICBaYWhlZXIgQWJiYXMgTWVyYWxpICA8emFoZWVyYWJiYXMgYXQgbWVyYWxpIGRvdCBvcmc+CgkgICogc3lzL3hpbWFnZS9nc3R4aW1hZ2VzcmMuYzogKGdzdF94aW1hZ2Vfc3JjX3hpbWFnZV9nZXQpLAoJICAoZ3N0X3hpbWFnZV9zcmNfZ2V0X2NhcHMpLCAoZ3N0X3hpbWFnZV9zcmNfY2xhc3NfaW5pdCk6CgkgIEZpeCBzZWdmYXVsdCB3aGVuIG1vdmluZyBtb3VzZSBwb2ludGVyIHRvIHRoZSBib3R0b20gcmlnaHQgY29ybmVyLgoKMjAwNi0wNy0xMyAxNToyMjoyMCArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBjb21tb246CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1xdGRlbXV4LnhtbDoKCSAgcmVtb3ZlIHNkbHZpZGVvc2luayBwbHVnaW4gYW5kIHVwZGF0ZSB0aGUgcmVzdAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgcmVtb3ZlIHNkbHZpZGVvc2luayBwbHVnaW4gYW5kIHVwZGF0ZSB0aGUgcmVzdAoKMjAwNi0wNy0xMiAwOTozNDoxNSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHAvOiBBZGRlZCBtcGVnMiBUUyBkZXBheWxvYWRlci4gQ2xvc2luZyAjMzQ3MjM0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwL01ha2VmaWxlLmFtOgoJICAqIGdzdC9ydHAvZ3N0cnRwLmM6IChwbHVnaW5faW5pdCk6CgkgICogZ3N0L3J0cC9nc3RydHBtcDJ0ZGVwYXkuYzogKGdzdF9ydHBfbXAydF9kZXBheV9iYXNlX2luaXQpLAoJICAoZ3N0X3J0cF9tcDJ0X2RlcGF5X2NsYXNzX2luaXQpLCAoZ3N0X3J0cF9tcDJ0X2RlcGF5X2luaXQpLAoJICAoZ3N0X3J0cF9tcDJ0X2RlcGF5X3NldGNhcHMpLCAoZ3N0X3J0cF9tcDJ0X2RlcGF5X3Byb2Nlc3MpLAoJICAoZ3N0X3J0cF9tcDJ0X2RlcGF5X3NldF9wcm9wZXJ0eSksCgkgIChnc3RfcnRwX21wMnRfZGVwYXlfZ2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9ydHBfbXAydF9kZXBheV9jaGFuZ2Vfc3RhdGUpLAoJICAoZ3N0X3J0cF9tcDJ0X2RlcGF5X3BsdWdpbl9pbml0KToKCSAgKiBnc3QvcnRwL2dzdHJ0cG1wMnRkZXBheS5oOgoJICBBZGRlZCBtcGVnMiBUUyBkZXBheWxvYWRlci4gQ2xvc2luZyAjMzQ3MjM0LgoKMjAwNi0wNy0xMiAwOToyODo0NiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5jOiBGaXggdHlwbyBpbiBwcm9wZXJ0eSBuaWNrLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uYzogKGdzdF9zcGVjdHJ1bV9jbGFzc19pbml0KToKCSAgRml4IHR5cG8gaW4gcHJvcGVydHkgbmljay4KCjIwMDYtMDctMTEgMjI6NDY6NDcgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvY2Rpby9nc3RjZGlvY2RkYXNyYy5jOiBSZW1vdmUgZ19hc3NlcnQgdGhhdCBzaG91bGRuJ3QgYmUgdGhlcmUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9jZGlvL2dzdGNkaW9jZGRhc3JjLmM6IChnc3RfY2Rpb19jZGRhX3NyY19jbG9zZSk6CgkgIFJlbW92ZSBnX2Fzc2VydCB0aGF0IHNob3VsZG4ndCBiZSB0aGVyZS4KCjIwMDYtMDctMTAgMjA6MTE6MzQgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBnc3QvYXZpL2dzdGF2aWRlbXV4Lio6IERvbid0IHB1c2ggdGFnIGV2ZW50cyBmb3VuZCBieSBnc3RfcmlmZl9wYXJzZV9pbmZvKCkgYmVmb3JlIG91dHB1dHRpbmcKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOiAoZ3N0X2F2aV9kZW11eF9yZXNldCksCgkgIChnc3RfYXZpX2RlbXV4X3N0cmVhbV9oZWFkZXIpLCAocHVzaF90YWdfbGlzdHMpOgoJICAqIGdzdC9hdmkvZ3N0YXZpZGVtdXguaDoKCSAgRG9uJ3QgcHVzaCB0YWcgZXZlbnRzIGZvdW5kIGJ5IGdzdF9yaWZmX3BhcnNlX2luZm8oKSBiZWZvcmUgb3V0cHV0dGluZwoJICBHU1RfRVZFTlRfTkVXU0VHTUVOVC4KCjIwMDYtMDctMTAgMTY6NDE6NTcgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRzcC86IHJlcGxhY2VkIGNsb3Nlc29ja2V0IGFuZCBjbG9zZSBpbiBjb2RlIHdpdGggb25lIENMT1NFX1NPQ0tFVC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0c3AvTWFrZWZpbGUuYW06CgkgICogZ3N0L3J0c3AvcnRzcGNvbm5lY3Rpb24uYzogKHJ0c3BfY29ubmVjdGlvbl9zZW5kKSwKCSAgKHJ0c3BfY29ubmVjdGlvbl9jbG9zZSk6CgkgICogZ3N0L3J0c3AvcnRzcGRlZnMuaDoKCSAgcmVwbGFjZWQgY2xvc2Vzb2NrZXQgYW5kIGNsb3NlIGluIGNvZGUgd2l0aCBvbmUgQ0xPU0VfU09DS0VULgoJICBTb21lIG1vcmUgY2xlYW51cHMuIEZpeGVzICMzNDUzMDEuCgoyMDA2LTA3LTEwIDE1OjI2OjM5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b2F1ZGlvc2luay5jOiBGaXggZXhhbXBsZSBwaXBlbGluZSBpbiBkb2NzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvYXVkaW9zaW5rLmM6CgkgIEZpeCBleGFtcGxlIHBpcGVsaW5lIGluIGRvY3MuCgoyMDA2LTA3LTEwIDE0OjQ5OjQ2ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L2ZpbHRlci86IERvbid0IGZvcmdldCBuZXcgZmlsZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9maWx0ZXIvZ3N0YnB3c2luYy5oOgoJICAqIGdzdC9maWx0ZXIvZ3N0aWlyLmg6CgkgICogZ3N0L2ZpbHRlci9nc3RscHdzaW5jLmg6CgkgIERvbid0IGZvcmdldCBuZXcgZmlsZXMuCgoyMDA2LTA3LTEwIDE0OjQyOjE1ICswMDAwICBNYXRoaXMgSG9mZXIgPG1hdGhpcy5ob2ZlckBkcmVhbWxhYi5uZXQ+CgoJICBQb3J0ZWQgdGhlIGdzdGZpbHRlciBwbHVnaW4gdG8gR1N0cmVhbWVyIDAuMTAuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogTWF0aGlzIEhvZmVyIDxtYXRoaXMgZG90IGhvZmVyIGF0IGRyZWFtbGFiIGRvdCBuZXQ+CgkgICogY29uZmlndXJlLmFjOgoJICAqIGdzdC9maWx0ZXIvTWFrZWZpbGUuYW06CgkgICogZ3N0L2ZpbHRlci9nc3RicHdzaW5jLmM6IChnc3RfYnB3c2luY19kaXNwb3NlKSwKCSAgKGdzdF9icHdzaW5jX2Jhc2VfaW5pdCksIChnc3RfYnB3c2luY19jbGFzc19pbml0KSwKCSAgKGdzdF9icHdzaW5jX2luaXQpLCAoYnB3c2luY19zZXRfY2FwcyksIChicHdzaW5jX3RyYW5zZm9ybV9pcCksCgkgIChicHdzaW5jX3NldF9wcm9wZXJ0eSksIChicHdzaW5jX2dldF9wcm9wZXJ0eSk6CgkgICogZ3N0L2ZpbHRlci9nc3RmaWx0ZXIuYzogKHBsdWdpbl9pbml0KToKCSAgKiBnc3QvZmlsdGVyL2dzdGZpbHRlci5oOgoJICAqIGdzdC9maWx0ZXIvZ3N0aWlyLmM6IChnc3RfaWlyX2Rpc3Bvc2UpLCAoZ3N0X2lpcl9iYXNlX2luaXQpLAoJICAoZ3N0X2lpcl9jbGFzc19pbml0KSwgKGdzdF9paXJfaW5pdCksIChpaXJfc2V0X2NhcHMpLAoJICAoaWlyX3RyYW5zZm9ybV9pcCksIChpaXJfc2V0X3Byb3BlcnR5KSwgKGlpcl9nZXRfcHJvcGVydHkpOgoJICAqIGdzdC9maWx0ZXIvZ3N0bHB3c2luYy5jOiAoZ3N0X2xwd3NpbmNfZGlzcG9zZSksCgkgIChnc3RfbHB3c2luY19iYXNlX2luaXQpLCAoZ3N0X2xwd3NpbmNfY2xhc3NfaW5pdCksCgkgIChnc3RfbHB3c2luY19pbml0KSwgKGxwd3NpbmNfc2V0X2NhcHMpLCAobHB3c2luY190cmFuc2Zvcm1faXApLAoJICAobHB3c2luY19zZXRfcHJvcGVydHkpLCAobHB3c2luY19nZXRfcHJvcGVydHkpOgoJICBQb3J0ZWQgdGhlIGdzdGZpbHRlciBwbHVnaW4gdG8gR1N0cmVhbWVyIDAuMTAuCgoyMDA2LTA3LTEwIDEwOjIxOjU3ICswMDAwICBSb2IgVGF5bG9yIDxyb2J0YXlsb3JAZmxvb3BpbHkub3JnPgoKCSAgZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuYzogSWYgYSBkZXN0aW5hdGlvbiBpcyBhZGRlZCBiZWZvcmUgdGhlIHN0cmVhbSBpcyBzZXQgdG8gUEFVU0VELCB0aGUgbXVsdGljYXN0IGdyb3VwIGlzIG5vdCBqLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogUm9iIFRheWxvciA8cm9idGF5bG9yIGF0IGZsb29waWx5IGRvdCBvcmc+CgkgICogZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuYzogKGpvaW5fbXVsdGljYXN0KSwKCSAgKGdzdF9tdWx0aXVkcHNpbmtfaW5pdF9zZW5kKSwgKGdzdF9tdWx0aXVkcHNpbmtfYWRkKToKCSAgSWYgYSBkZXN0aW5hdGlvbiBpcyBhZGRlZCBiZWZvcmUgdGhlIHN0cmVhbSBpcyBzZXQgdG8gUEFVU0VELCB0aGUKCSAgbXVsdGljYXN0IGdyb3VwIGlzIG5vdCBqb2luZWQgYXMgdGhlIHNvY2tldCBpcyBub3QgY3JlYXRlZCB5ZXQuCgkgIEFsc28gVFRMIGFuZCBMT09QIHNob3VsZCBhbHNvIGJlIHNldC4gRml4ZXMgIzM0NjkyMS4KCjIwMDYtMDctMTAgMDk6NTc6MjYgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IEV4dHJhY3QgY29tbWVudCBpbmZvcm1hdGlvbiEhCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKHF0ZGVtdXhfcGFyc2VfdWR0YSk6CgkgIEV4dHJhY3QgY29tbWVudCBpbmZvcm1hdGlvbiEhCgoyMDA2LTA3LTEwIDA5OjQ2OjI1ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBFeHRyYWN0IHllYXIvZGF0ZSBpbmZvcm1hdGlvbiAoZml4ZXMgIzM0NzA3OSkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKHF0ZGVtdXhfcGFyc2VfdWR0YSksCgkgIChxdGRlbXV4X3RhZ19hZGRfZGF0ZSk6CgkgIEV4dHJhY3QgeWVhci9kYXRlIGluZm9ybWF0aW9uIChmaXhlcyAjMzQ3MDc5KS4KCjIwMDYtMDctMDggMjI6NDE6MjUgKzAwMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJICBzeXMveGltYWdlL2dzdHhpbWFnZXNyYy4qOiBGaXggdXNlLWRhbWFnZSBwcm9wZXJ0eSB0byBhY3R1YWxseSB3b3JrIDopCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA2LTA3LTA5ICBaYWhlZXIgQWJiYXMgTWVyYWxpICA8emFoZWVyYWJiYXMgYXQgbWVyYWxpIGRvdCBvcmc+CgkgICogc3lzL3hpbWFnZS9nc3R4aW1hZ2VzcmMuYzogKGdzdF94aW1hZ2Vfc3JjX3hpbWFnZV9nZXQpLAoJICAoZ3N0X3hpbWFnZV9zcmNfc2V0X3Byb3BlcnR5KSwgKGdzdF94aW1hZ2Vfc3JjX2dldF9wcm9wZXJ0eSksCgkgIChnc3RfeGltYWdlX3NyY19nZXRfY2FwcyksIChnc3RfeGltYWdlX3NyY19jbGFzc19pbml0KSwKCSAgKGdzdF94aW1hZ2Vfc3JjX2luaXQpOgoJICAqIHN5cy94aW1hZ2UvZ3N0eGltYWdlc3JjLmg6CgkgIEZpeCB1c2UtZGFtYWdlIHByb3BlcnR5IHRvIGFjdHVhbGx5IHdvcmsgOikKCSAgQWRkIHN0YXJ0eCwgc3RhcnR5LCBlbmR4LCBlbmR5IHByb3BlcnRpZXMgc28gc2NyZWVuY2FzdHMgb3RoZXIgdGhhbiBmdWxsCgkgIHNjcmVlbiBvbmVzIGNhbiB3b3JrLgoKMjAwNi0wNy0wOCAxOTowMzo1NCArMDAwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkgIHN5cy94aW1hZ2UvZ3N0eGltYWdlc3JjLio6IEFkZCB1c2VfZGFtYWdlIHByb3BlcnR5IHRvIG9mZmVyIGFiaWxpdHkgdG8gY2hvb3NlIHdoZXRoZXIgdG8gdXNlCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA2LTA3LTA4ICBaYWhlZXIgQWJiYXMgTWVyYWxpICA8emFoZWVyYWJiYXMgYXQgbWVyYWxpIGRvdCBvcmc+CgkgICogc3lzL3hpbWFnZS9nc3R4aW1hZ2VzcmMuYzogKGdzdF94aW1hZ2Vfc3JjX3hpbWFnZV9nZXQpLAoJICAoZ3N0X3hpbWFnZV9zcmNfc2V0X3Byb3BlcnR5KSwgKGdzdF94aW1hZ2Vfc3JjX2dldF9wcm9wZXJ0eSksCgkgIChnc3RfeGltYWdlX3NyY19jbGFzc19pbml0KSwgKGdzdF94aW1hZ2Vfc3JjX2luaXQpOgoJICAqIHN5cy94aW1hZ2UvZ3N0eGltYWdlc3JjLmg6CgkgIEFkZCB1c2VfZGFtYWdlIHByb3BlcnR5IHRvIG9mZmVyIGFiaWxpdHkgdG8gY2hvb3NlIHdoZXRoZXIgdG8gdXNlCgkgIFhEYW1hZ2Ugb3Igbm90LgoKMjAwNi0wNy0wNyAxNTowNDoyOSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9nb29tL2ZpbHRlcnMuYzogQXZvaWQgZ29vbSBjb3JlZHVtcGluZyBieSBjbGVhcmluZyBtZW1vcnkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9nb29tL2ZpbHRlcnMuYzogKHpvb21GaWx0ZXJTZXRSZXNvbHV0aW9uKToKCSAgQXZvaWQgZ29vbSBjb3JlZHVtcGluZyBieSBjbGVhcmluZyBtZW1vcnkuCgkgIEZpeGVzIDM0NTY3OS4KCjIwMDYtMDctMDcgMTQ6MzA6MjYgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IERvbid0IGNyYXNoIG9uIHR3b3Mvc293dC9yYXcgYXVkaW8uICMzNDU4MzAuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKHF0ZGVtdXhfcGFyc2VfdHJhayk6CgkgIERvbid0IGNyYXNoIG9uIHR3b3Mvc293dC9yYXcgYXVkaW8uICMzNDU4MzAuCgoyMDA2LTA3LTA1IDIwOjIxOjAyICswMDAwICBTw6liYXN0aWVuIE1vdXR0ZSA8c2ViYXN0aWVuQG1vdXR0ZS5uZXQ+CgoJICB3aW4zMi92czYvbGliZ3N0aWQzZGVtdXguZHNwOiBBZGQgYSBsaW5rIHRvIGxpYmdzdHRhZy0wLjEwLmxpYi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogd2luMzIvdnM2L2xpYmdzdGlkM2RlbXV4LmRzcDoKCSAgQWRkIGEgbGluayB0byBsaWJnc3R0YWctMC4xMC5saWIuCgoyMDA2LTA3LTA1IDE0OjUyOjEzICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0LzogRG9uJ3QgcmV0dXJuIEZMT1dfVU5FWFBFQ1RFRCB3aGVuIGEgYnVmZmVyIGlzIGJlZm9yZSB0aGUgc3RhcnQgb2YgdGhlIHN0cmVhbSAod2hpY2ggbWlnaHQgaGFwcGVuIHdpdGggbGFyZ2UgSUQzLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hcGV0YWcvZ3N0dGFnZGVtdXguYzogKGdzdF90YWdfZGVtdXhfdHJpbV9idWZmZXIpLAoJICAoZ3N0X3RhZ19kZW11eF9yZWFkX3JhbmdlKToKCSAgKiBnc3QvaWQzZGVtdXgvZ3N0aWQzZGVtdXguYzogKGdzdF9pZDNkZW11eF90cmltX2J1ZmZlciksCgkgIChnc3RfaWQzZGVtdXhfcmVhZF9yYW5nZSk6CgkgIERvbid0IHJldHVybiBGTE9XX1VORVhQRUNURUQgd2hlbiBhIGJ1ZmZlciBpcyBiZWZvcmUKCSAgdGhlIHN0YXJ0IG9mIHRoZSBzdHJlYW0gKHdoaWNoIG1pZ2h0IGhhcHBlbiB3aXRoCgkgIGxhcmdlIElEM3YyIHRhZ3MgaWYgdGhlIHRhZyByZWFkaW5nIHdhcyBkb25lIHB1bGxyYW5nZQoJICBiYXNlZCBhbmQgd2UgdGhlbiBzd2l0Y2hlZCB0byBwdXNoIG1vZGUgbGF0ZXIgb24pLgoJICBGaXhlcyByZWdyZXNzaW9uIGludHJvZHVjZWQgYnkgY29tbWl0IGZyb20gSnVuZSAyOXRoLgoKMjAwNi0wNy0wNSAxMDoxNDoxNiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC90YWdsaWIvZ3N0aWQzdjJtdXguY2M6IE1ha2UgVVRGLTggdGhlIGRlZmF1bHQgZW5jb2Rpbmcgd2hlbiB3cml0aW5nIHN0cmluZyB0YWdzIChiZWZvcmUsIG91ciBVVEYtOCBzdHJpbmdzIHdvdWxkIC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvdGFnbGliL2dzdGlkM3YybXV4LmNjOgoJICBNYWtlIFVURi04IHRoZSBkZWZhdWx0IGVuY29kaW5nIHdoZW4gd3JpdGluZyBzdHJpbmcKCSAgdGFncyAoYmVmb3JlLCBvdXIgVVRGLTggc3RyaW5ncyB3b3VsZCBhdXRvbWF0aWNhbGx5CgkgIGJlIGNvbnZlcnRlZCB0byBJU08tODg1OS0xIGJ5IHRhZ2xpYiBhbmQgd3JpdHRlbiBhcwoJICBJU08tODg1OS0xIGZpZWxkcyBpZiB0aGF0IHdhcyBwb3NzaWJsZSkuCgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvaWQzdjJtdXguYzogKHV0Zjhfc3RyaW5nX2luX2J1ZiksCgkgICh0ZXN0X3RhZ2xpYl9pZDNtdXhfY2hlY2tfdGFnX2J1ZmZlciksIChpZGVudGl0eV9jYiksCgkgICh0ZXN0X3RhZ2xpYl9pZDNtdXhfd2l0aF90YWdzKToKCSAgQWRkIHRlc3QgY2FzZSB0aGF0IG1ha2VzIHN1cmUgb3VyIFVURi04IHN0cmluZ3MgaGF2ZQoJICBhY3R1YWxseSBiZWVuIHdyaXR0ZW4gaW50byB0aGUgdGFnIGFzIFVURi04LgoKMjAwNi0wNy0wNCAxNjowMDoyNiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGNvbmZpZ3VyZS5hYzogTGV0J3MgdHJ5IHRoYXQgYWdhaW4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgTGV0J3MgdHJ5IHRoYXQgYWdhaW4uCgoyMDA2LTA3LTA0IDE1OjQwOjQ3ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgY29uZmlndXJlLmFjOiBEaXNhYmxlIG1vbm9zY29wZSBwbHVnaW4gZm9yIG5vdyB1bnRpbCBpdCBmdWxmaWxscyBhbGwgdGhlIHJlcXVpcmVtZW50cy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICBEaXNhYmxlIG1vbm9zY29wZSBwbHVnaW4gZm9yIG5vdyB1bnRpbCBpdCBmdWxmaWxscwoJICBhbGwgdGhlIHJlcXVpcmVtZW50cy4KCjIwMDYtMDctMDMgMjA6MzU6NDUgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBQb3J0IG1vbm9zY29wZSB2aXN1YWxpc2F0aW9uIHRvIDAuMTAuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBnc3QvbW9ub3Njb3BlL01ha2VmaWxlLmFtOgoJICAqIGdzdC9tb25vc2NvcGUvZ3N0bW9ub3Njb3BlLmM6IChnc3RfbW9ub3Njb3BlX2Jhc2VfaW5pdCksCgkgIChnc3RfbW9ub3Njb3BlX2NsYXNzX2luaXQpLCAoZ3N0X21vbm9zY29wZV9pbml0KSwKCSAgKGdzdF9tb25vc2NvcGVfZmluYWxpemUpLCAoZ3N0X21vbm9zY29wZV9yZXNldCksCgkgIChnc3RfbW9ub3Njb3BlX3Npbmtfc2V0Y2FwcyksIChnc3RfbW9ub3Njb3BlX3NyY19zZXRjYXBzKSwKCSAgKGdzdF9tb25vc2NvcGVfc3JjX25lZ290aWF0ZSksIChnZXRfYnVmZmVyKSwgKGdzdF9tb25vc2NvcGVfY2hhaW4pLAoJICAoZ3N0X21vbm9zY29wZV9zaW5rX2V2ZW50KSwgKGdzdF9tb25vc2NvcGVfc3JjX2V2ZW50KSwKCSAgKGdzdF9tb25vc2NvcGVfY2hhbmdlX3N0YXRlKSwgKHBsdWdpbl9pbml0KToKCSAgKiBnc3QvbW9ub3Njb3BlL2dzdG1vbm9zY29wZS5oOgoJICBQb3J0IG1vbm9zY29wZSB2aXN1YWxpc2F0aW9uIHRvIDAuMTAuCgoyMDA2LTA3LTAzIDIwOjAyOjU2ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBGaXggc2lsbHkgY3Jhc2hlciBpbiBzdGF0ZSBjaGFuZ2UgZnVuY3Rpb247IGFkZAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChnc3RfcXRkZW11eF9jaGFuZ2Vfc3RhdGUpLAoJICAoZ3N0X3F0ZGVtdXhfbG9vcF9zdGF0ZV9oZWFkZXIpLCAocXRkZW11eF92aWRlb19jYXBzKToKCSAgRml4IHNpbGx5IGNyYXNoZXIgaW4gc3RhdGUgY2hhbmdlIGZ1bmN0aW9uOyBhZGQKCSAgSVY0MSBmb3VyY2MgKHNlZSBidWcgIzE3MTExMSk7IGRvbid0IG91dHB1dCBjb25mdXNpbmcKCSAgZGVidWcgbWVzc2FnZSB3aGVuIHNraXBwaW5nIGF0b21zLgoKMjAwNi0wNy0wMyAxNjo0MzoxMCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC86IFJldHVybiBGTE9XX1VORVhQRUNURUQgd2hlbiBhdCB0aGUgZW5kIG9mIHRoZSBmaWxlLCBub3QKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2FwZXRhZy9nc3R0YWdkZW11eC5jOiAoZ3N0X3RhZ19kZW11eF9jaGFpbik6CgkgICogZ3N0L2lkM2RlbXV4L2dzdGlkM2RlbXV4LmM6IChnc3RfaWQzZGVtdXhfY2hhaW4pOgoJICBSZXR1cm4gRkxPV19VTkVYUEVDVEVEIHdoZW4gYXQgdGhlIGVuZCBvZiB0aGUgZmlsZSwgbm90CgkgIEZMT1dfRVJST1IuIEZpeGVzICdpbnRlcm5hbCBzdHJlYW0gZXJyb3InIGVycm9ycyB0aGF0CgkgIHdvdWxkIHNvbWV0aW1lcyBvY2N1ciBpbiB0b3RlbSB3aGVuIHNjcnViYmluZyB0byB0aGUKCSAgZW5kIG9mIGFuIElEM3YxIHRhZ2dlZCBtcDMgZmlsZS4KCjIwMDYtMDctMDMgMTU6MzE6MjIgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBleHQvbGlicG5nL2dzdHBuZ2RlYy4qOiBJbXBsZW1lbnQgYnVmZmVyIGNsaXBwaW5nL2Ryb3BwaW5nIHVzaW5nIEdzdFNlZ21lbnQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9saWJwbmcvZ3N0cG5nZGVjLmM6IChnc3RfcG5nZGVjX2luaXQpLCAodXNlcl9pbmZvX2NhbGxiYWNrKSwKCSAgKGJ1ZmZlcl9jbGlwKSwgKHVzZXJfZW5kX2NhbGxiYWNrKSwgKGdzdF9wbmdkZWNfY2hhaW4pLAoJICAoZ3N0X3BuZ2RlY19zaW5rX2V2ZW50KSwgKGdzdF9wbmdkZWNfY2hhbmdlX3N0YXRlKToKCSAgKiBleHQvbGlicG5nL2dzdHBuZ2RlYy5oOgoJICBJbXBsZW1lbnQgYnVmZmVyIGNsaXBwaW5nL2Ryb3BwaW5nIHVzaW5nIEdzdFNlZ21lbnQuCgkgIFRoaXMgcHJvdmlkZXMgYWNjdXJhdGUgc2Vla2luZy4KCjIwMDYtMDctMDMgMTU6Mjg6NDggKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBnc3QvYXZpL2dzdGF2aWRlbXV4Lio6IFByb3BlciBhZ2dyZWdhdGlvbiBvZiBlYWNoIHN0cmVhbSdzIEdzdEZsb3dSZXR1cm4gaW4gb3JkZXIgdG8gZmlndXJlIG91dCB3aGV0aGVyIHRoZSB0YXNrIHNob3UuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOiAoZ3N0X2F2aV9kZW11eF9yZXNldCksCgkgIChnc3RfYXZpX2RlbXV4X3JlYWRfc3ViaW5kZXhlcyksIChnc3RfYXZpX2RlbXV4X3BhcnNlX3N0cmVhbSksCgkgIChnc3RfYXZpX2RlbXV4X2hhbmRsZV9zZWVrKSwgKGdzdF9hdmlfZGVtdXhfYWdncmVnYXRlZF9mbG93KSwKCSAgKGdzdF9hdmlfZGVtdXhfcHJvY2Vzc19uZXh0X2VudHJ5KSwgKHB1c2hfdGFnX2xpc3RzKSwKCSAgKGdzdF9hdmlfZGVtdXhfc3RyZWFtX2RhdGEpLCAoZ3N0X2F2aV9kZW11eF9sb29wKToKCSAgKiBnc3QvYXZpL2dzdGF2aWRlbXV4Lmg6CgkgIFByb3BlciBhZ2dyZWdhdGlvbiBvZiBlYWNoIHN0cmVhbSdzIEdzdEZsb3dSZXR1cm4gaW4gb3JkZXIgdG8gZmlndXJlIG91dAoJICB3aGV0aGVyIHRoZSB0YXNrIHNob3VsZCBzdG9wIG9yIG5vdC4KCSAgRG9uJ3Qgc2VuZCBpbmxpbmUgZXZlbnRzIGJlZm9yZSBwdXNoaW5nIG91dCBhIE5FV19TRUdNRU5ULCBtb3JlCgkgIHNwZWNpZmljYWxseSBmb3IgR1NUX1RBR19FVkVOVC4KCSAgQ2hhbmdlIGEgR1NUX0VSUk9SIHRvIGEgR1NUX1dBUk5JTkcgZm9yIGEgbm9uLWZhdGFsIHNpdHVhdGlvbiBpbiByZWFkaW5nCgkgIHN1Yi1pbmRleGVzLgoKMjAwNi0wNi0zMCAwNzoxMToyNCArMDAwMCAgQnJpYW4gQ2FtZXJvbiA8YnJpYW4uY2FtZXJvbkBzdW4uY29tPgoKCSAgc3lzL3N1bmF1ZGlvL2dzdHN1bmF1ZGlvbWl4ZXJjdHJsLmM6IE1vdmUgIk1vbml0b3IiIHNsaWRlciB0byBpbnB1dCB0YWIgc28gaXQgd29ya3MgbW9yZSBsaWtlIHNkdGF1ZGlvY29udHJvbCwgd2hpY2ggLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogQnJpYW4gQ2FtZXJvbiAgPGJyaWFuIGRvdCBjYW1lcm9uIGF0IHN1biBkb3QgY29tPgoJICAqIHN5cy9zdW5hdWRpby9nc3RzdW5hdWRpb21peGVyY3RybC5jOgoJICAoZ3N0X3N1bmF1ZGlvbWl4ZXJfY3RybF9idWlsZF9saXN0KToKCSAgTW92ZSAiTW9uaXRvciIgc2xpZGVyIHRvIGlucHV0IHRhYiBzbyBpdCB3b3JrcyBtb3JlIGxpa2UKCSAgc2R0YXVkaW9jb250cm9sLCB3aGljaCBpcyB3aGF0IHBlb3BsZSBvbiBTb2xhcmlzIGFyZSB1c2VkCgkgIHRvIHVzaW5nIGZvciB0aGVpciBtaXhlciBwcm9ncmFtICgjMzQ2MjU5KS4KCjIwMDYtMDYtMjkgMTQ6NTA6MTggKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSAgdGVzdHMvY2hlY2svZWxlbWVudHMvbGV2ZWwuYzogZml4IGEgbGVhaywgY2xlYW4gdXAgYXQgdGhlIGVuZAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9sZXZlbC5jOiAoR1NUX1NUQVJUX1RFU1QpOgoJICBmaXggYSBsZWFrLCBjbGVhbiB1cCBhdCB0aGUgZW5kCgoyMDA2LTA2LTI5IDExOjQxOjU1ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L21hdHJvc2thLzogU2VuZCB0YWcgZXZlbnQgYWZ0ZXIgbmV3c2VnbWVudCBldmVudC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6IChnc3RfbWF0cm9za2FfZGVtdXhfYWRkX3N0cmVhbSksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfc2VuZF9ldmVudCksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfbG9vcF9zdHJlYW1fcGFyc2VfaWQpOgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1pZHMuaDoKCSAgU2VuZCB0YWcgZXZlbnQgYWZ0ZXIgbmV3c2VnbWVudCBldmVudC4KCjIwMDYtMDYtMjkgMTE6MTE6NTAgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvaWQzZGVtdXgvZ3N0aWQzZGVtdXguYzogTWFrZSBzdXJlIHdlIGRvbid0IHJldHVybiBHU1RfRkxPV19PSyB3aXRoIGEgTlVMTCBidWZmZXIgaW4gY2VydGFpbiBjYXNlcyB3aGVyZSBhIHJlYWQgYmUuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2lkM2RlbXV4L2dzdGlkM2RlbXV4LmM6IChnc3RfaWQzZGVtdXhfdHJpbV9idWZmZXIpLAoJICAoZ3N0X2lkM2RlbXV4X3JlYWRfcmFuZ2UpOgoJICBNYWtlIHN1cmUgd2UgZG9uJ3QgcmV0dXJuIEdTVF9GTE9XX09LIHdpdGggYSBOVUxMIGJ1ZmZlciBpbgoJICBjZXJ0YWluIGNhc2VzIHdoZXJlIGEgcmVhZCBiZXlvbmQgdGhlIGVuZCBvZiB0aGUgZmlsZSBpcwoJICByZXF1ZXN0ZWQuIEZpeGVzICMzNDU5MzAuCgkgICogZ3N0L2FwZXRhZy9nc3R0YWdkZW11eC5jOiAoZ3N0X3RhZ19kZW11eF90cmltX2J1ZmZlciksCgkgIChnc3RfdGFnX2RlbXV4X3JlYWRfcmFuZ2UpOgoJICBGaXggc2FtZSBpc3N1ZSBoZXJlIGFzIHdlbGwuCgoyMDA2LTA2LTI5IDExOjA1OjE0ICswMDAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSAgc3lzL3hpbWFnZS9nc3R4aW1hZ2VzcmMuYzogRml4IGh5cG90aGV0aWNhbCBjcmFzaC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDYtMDYtMjkgIFphaGVlciBBYmJhcyBNZXJhbGkgIDx6YWhlZXJhYmJhcyBhdCBtZXJhbGkgZG90IG9yZz4KCSAgKiBzeXMveGltYWdlL2dzdHhpbWFnZXNyYy5jOiAoZ3N0X3hpbWFnZV9zcmNfeGltYWdlX2dldCk6CgkgIEZpeCBoeXBvdGhldGljYWwgY3Jhc2guCgoyMDA2LTA2LTI4IDA4OjM2OjMwICswMDAwICBCcmlhbiBDYW1lcm9uIDxicmlhbi5jYW1lcm9uQHN1bi5jb20+CgoJICBzeXMvc3VuYXVkaW8vZ3N0c3VuYXVkaW9zaW5rLmM6IERvIG5vdCBtb2RpZnkgdGhlIHBvcnRzIHZhbHVlLiBJZiB0aGUgdXNlciBoYXMgdHVybmVkIG9mZiB0aGUgYnVpbHQtaW4gc3BlYWtlcnMsIHRoZW4uLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBCcmlhbiBDYW1lcm9uICA8YnJpYW4gZG90IGNhbWVyb24gYXQgc3VuIGRvdCBjb20+CgkgICogc3lzL3N1bmF1ZGlvL2dzdHN1bmF1ZGlvc2luay5jOiAoZ3N0X3N1bmF1ZGlvc2lua19wcmVwYXJlKToKCSAgRG8gbm90IG1vZGlmeSB0aGUgcG9ydHMgdmFsdWUuIElmIHRoZSB1c2VyIGhhcyB0dXJuZWQgb2ZmIHRoZQoJICBidWlsdC1pbiBzcGVha2VycywgdGhlbiB3ZSBzaG91bGQgbm90IHJlc2V0IGl0IGluIHRoZSBwcmVwYXJlCgkgIGZ1bmN0aW9uLCBzaW5jZSB0aGlzIGNhdXNlcyB0aGUgYnVpbHQtaW4gc3BlYWtlcnMgdG8gdHVybgoJICBiYWNrIG9uIGFueXRpbWUgdGhlIHVzZXIgY2hhbmdlcyBhIHRyYWNrIGluIHRvdGVtLCByaHl0aG1ib3gsCgkgIGV0Yy4gKCMzNDYwNjYpLgoKMjAwNi0wNi0yMyAwOTozNTo0NSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9nb29tL2dzdGdvb20uYzogRml4IGRvdWJsZSBjYXBzIHVucmVmIHdoZW4gbmVnb3RpYXRpb24gZmFpbHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9nb29tL2dzdGdvb20uYzogKGdzdF9nb29tX3NyY19uZWdvdGlhdGUpOgoJICBGaXggZG91YmxlIGNhcHMgdW5yZWYgd2hlbiBuZWdvdGlhdGlvbiBmYWlscy4KCjIwMDYtMDYtMjIgMTk6MzE6MDQgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBVc2UgR1NUX0RFQlVHX0NBVEVHT1JZX1NUQVRJQyB3aGVyZSBwb3NzaWJsZSAoIzM0MjUwMykgcGx1cyB0d28gbWlub3IgbWFjcm8gZml4ZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9hbm5vZGV4L2dzdGNtbWxkZWMuYzoKCSAgKiBleHQvYW5ub2RleC9nc3RjbW1sZW5jLmM6CgkgICogZXh0L2Fubm9kZXgvZ3N0Y21tbHBhcnNlci5jOgoJICAqIGV4dC9kdi9nc3RkdmRlYy5jOgoJICAqIGV4dC9kdi9nc3RkdmRlbXV4LmM6CgkgICogZXh0L2dka19waXhidWYvcGl4YnVmc2NhbGUuYzoKCSAgKiBleHQvanBlZy9nc3RqcGVnZW5jLmM6CgkgICogZXh0L2pwZWcvZ3N0c21va2VkZWMuYzoKCSAgKiBleHQvanBlZy9nc3RzbW9rZWVuYy5jOgoJICAqIGV4dC9saWJwbmcvZ3N0cG5nZGVjLmM6CgkgICogZXh0L2xpYnBuZy9nc3RwbmdlbmMuYzoKCSAgKiBleHQvc3BlZXgvZ3N0c3BlZXhlbmMuYzoKCSAgKiBnc3QvYWxwaGEvZ3N0YWxwaGFjb2xvci5jOgoJICAqIGdzdC9jdXR0ZXIvZ3N0Y3V0dGVyLmM6CgkgICogZ3N0L2RlYnVnL2dzdG5hdmlnYXRpb250ZXN0LmM6CgkgICogZ3N0L2ljeWRlbXV4L2dzdGljeWRlbXV4LmM6CgkgICogZ3N0L2xldmVsL2dzdGxldmVsLmM6CgkgICogZ3N0L211bHRpcGFydC9tdWx0aXBhcnQuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cGFtcnBheS5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwZGVwYXkuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cGlsYmNwYXkuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cG1wNGdwYXkuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cG1wNHZwYXkuYzoKCSAgKiBnc3QvcnRzcC9nc3RydHBkZWMuYzoKCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkgICogZ3N0L3VkcC9nc3RkeW51ZHBzaW5rLmM6CgkgICogZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuYzoKCSAgKiBnc3QvdWRwL2dzdHVkcHNyYy5jOgoJICAqIGdzdC92aWRlb2JveC9nc3R2aWRlb2JveC5jOgoJICAqIGdzdC92aWRlb2ZpbHRlci9nc3R2aWRlb2ZsaXAuYzoKCSAgVXNlIEdTVF9ERUJVR19DQVRFR09SWV9TVEFUSUMgd2hlcmUgcG9zc2libGUgKCMzNDI1MDMpCgkgIHBsdXMgdHdvIG1pbm9yIG1hY3JvIGZpeGVzLgoKMjAwNi0wNi0yMiAxNjoyNzowMyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9tYXRyb3NrYS86IFRyeSB0byBmaXggdXAgYnJva2VuIG1hdHJvc2thIGZpbGVzIGNvbnRhaW5pbmcgc3VidGl0bGUgc3RyZWFtcyB3aXRoIG5vbi1VVEY4IGNoYXJhY3RlciBlbmNvZGluZ3MgKGNvdS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9jaGVja19zdWJ0aXRsZV9idWZmZXIpLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X3BhcnNlX2Jsb2NrZ3JvdXBfb3Jfc2ltcGxlYmxvY2spLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X3N1YnRpdGxlX2NhcHMpOgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1pZHMuYzoKCSAgKGdzdF9tYXRyb3NrYV90cmFja19pbml0X3N1YnRpdGxlX2NvbnRleHQpOgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1pZHMuaDoKCSAgVHJ5IHRvIGZpeCB1cCBicm9rZW4gbWF0cm9za2EgZmlsZXMgY29udGFpbmluZyBzdWJ0aXRsZQoJICBzdHJlYW1zIHdpdGggbm9uLVVURjggY2hhcmFjdGVyIGVuY29kaW5ncyAoY291cnRlc3kgb2YKCSAgbWt2bWVyZ2UpIHVzaW5nIGVpdGhlciB0aGUgZW5jb2Rpbmcgc3BlY2lmaWVkIGluIHRoZQoJICBHU1RfU1VCVElUTEVfRU5DT0RJTkcgZW52aXJvbm1lbnQgdmFyaWFibGUgb3IgdGhlCgkgIGN1cnJlbnQgbG9jYWxlJ3MgY2hhcmFjdGVyIHNldCBpZiBpdCBpcyBub24tVVRGOC4KCSAgRml4ZXMgIzMzNzA3Ni4KCjIwMDYtMDYtMjIgMTI6MTc6MTMgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvaWQzZGVtdXgvaWQzdjJmcmFtZXMuYzogU2V0IGltYWdlIHR5cGUgZnJvbSBBUElDIGZyYW1lIGFzICJpbWFnZS10eXBlIiBmaWVsZCBvZiBHU1RfVEFHX0lNQUdFIGJ1ZmZlciBjYXBzICgjMzQ0NjA1KS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2lkM2RlbXV4L2lkM3YyZnJhbWVzLmM6IChwYXJzZV9waWN0dXJlX2ZyYW1lKToKCSAgU2V0IGltYWdlIHR5cGUgZnJvbSBBUElDIGZyYW1lIGFzICJpbWFnZS10eXBlIiBmaWVsZAoJICBvZiBHU1RfVEFHX0lNQUdFIGJ1ZmZlciBjYXBzICgjMzQ0NjA1KS4KCjIwMDYtMDYtMjAgMTk6NDA6MjkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvZmxhYy86IFN1cHBvcnQgY2hhaW4tYmFzZWQgb3BlcmF0aW9uLCBzaG91bGQgbWFrZSBmbGFjLW92ZXItREFBUCB3b3JrICgjMzQwNDkyKS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2ZsYWMvTWFrZWZpbGUuYW06CgkgICogZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5jOiAoZ3N0X2ZsYWNfZGVjX2luaXQpLAoJICAoZ3N0X2ZsYWNfZGVjX3Jlc2V0X2RlY29kZXJzKSwKCSAgKGdzdF9mbGFjX2RlY19zZXR1cF9zZWVrYWJsZV9kZWNvZGVyKSwKCSAgKGdzdF9mbGFjX2RlY19zZXR1cF9zdHJlYW1fZGVjb2RlciksIChnc3RfZmxhY19kZWNfZmluYWxpemUpLAoJICAoZ3N0X2ZsYWNfZGVjX21ldGFkYXRhX2NhbGxiYWNrKSwKCSAgKGdzdF9mbGFjX2RlY19tZXRhZGF0YV9jYWxsYmFja19zZWVrYWJsZSksCgkgIChnc3RfZmxhY19kZWNfbWV0YWRhdGFfY2FsbGJhY2tfc3RyZWFtKSwKCSAgKGdzdF9mbGFjX2RlY19lcnJvcl9jYWxsYmFjayksCgkgIChnc3RfZmxhY19kZWNfZXJyb3JfY2FsbGJhY2tfc2Vla2FibGUpLAoJICAoZ3N0X2ZsYWNfZGVjX2Vycm9yX2NhbGxiYWNrX3N0cmVhbSksIChnc3RfZmxhY19kZWNfcmVhZF9zZWVrYWJsZSksCgkgIChnc3RfZmxhY19kZWNfcmVhZF9zdHJlYW0pLCAoZ3N0X2ZsYWNfZGVjX3dyaXRlKSwKCSAgKGdzdF9mbGFjX2RlY193cml0ZV9zZWVrYWJsZSksIChnc3RfZmxhY19kZWNfd3JpdGVfc3RyZWFtKSwKCSAgKGdzdF9mbGFjX2RlY19sb29wKSwgKGdzdF9mbGFjX2RlY19zaW5rX2V2ZW50KSwKCSAgKGdzdF9mbGFjX2RlY19jaGFpbiksIChnc3RfZmxhY19kZWNfY29udmVydF9zaW5rKSwKCSAgKGdzdF9mbGFjX2RlY19nZXRfc2lua19xdWVyeV90eXBlcyksIChnc3RfZmxhY19kZWNfc2lua19xdWVyeSksCgkgIChnc3RfZmxhY19kZWNfZ2V0X3NyY19xdWVyeV90eXBlcyksIChnc3RfZmxhY19kZWNfc3JjX3F1ZXJ5KSwKCSAgKGdzdF9mbGFjX2RlY19oYW5kbGVfc2Vla19ldmVudCksIChnc3RfZmxhY19kZWNfc2lua19hY3RpdmF0ZSksCgkgIChnc3RfZmxhY19kZWNfc2lua19hY3RpdmF0ZV9wdXNoKSwKCSAgKGdzdF9mbGFjX2RlY19zaW5rX2FjdGl2YXRlX3B1bGwpLCAoZ3N0X2ZsYWNfZGVjX2NoYW5nZV9zdGF0ZSk6CgkgICogZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5oOgoJICBTdXBwb3J0IGNoYWluLWJhc2VkIG9wZXJhdGlvbiwgc2hvdWxkIG1ha2UgZmxhYy1vdmVyLURBQVAKCSAgd29yayAoIzM0MDQ5MikuCgoyMDA2LTA2LTIwIDE1OjM1OjA1ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1zZWN0aW9ucy50eHQ6IERvYyB1cGRhdGVzLCBtZXJnZSBzb21lIHVudXNlZCBzeW1ib2xzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgRG9jIHVwZGF0ZXMsIG1lcmdlIHNvbWUgdW51c2VkIHN5bWJvbHMuCgoyMDA2LTA2LTIwIDE0OjU3OjA5ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgQWRkZWQgZG9jdW1lbnRhdGlvbiBmb3IgdGhlIHJ0c3AgcGx1Z2luLiBGaXhlcyAjMzQ1MzkzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1kb2NzLnNnbWw6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgICogZ3N0L3J0c3AvZ3N0cnRwZGVjLmM6IChnc3RfcnRwZGVjX2NsYXNzX2luaXQpOgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmg6CgkgIEFkZGVkIGRvY3VtZW50YXRpb24gZm9yIHRoZSBydHNwIHBsdWdpbi4gRml4ZXMgIzM0NTM5My4KCjIwMDYtMDYtMjAgMTI6MTA6MjkgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRzcC9ydHNwY29ubmVjdGlvbi5jOiBVc2UgYmV0dGVyIEdfT1NfKiBtYWNyb3MuIEZpeGVzICMzNDUzMDEgc29tZSBtb3JlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRzcC9ydHNwY29ubmVjdGlvbi5jOiAoaW5ldF9hdG9uKSwgKHJ0c3BfY29ubmVjdGlvbl9zZW5kKSwKCSAgKHJ0c3BfY29ubmVjdGlvbl9jbG9zZSksIChydHNwX2Nvbm5lY3Rpb25fZnJlZSk6CgkgIFVzZSBiZXR0ZXIgR19PU18qIG1hY3Jvcy4gRml4ZXMgIzM0NTMwMSBzb21lIG1vcmUuCgoyMDA2LTA2LTIwIDEwOjM1OjQ4ICswMDAwICBCcmlhbiBDYW1lcm9uIDxicmlhbi5jYW1lcm9uQHN1bi5jb20+CgoJICBzeXMvc3VuYXVkaW8vOiBBZGQgYSBTdW5BdWRpbyBzb3VyY2UgcGx1Z2luLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IEJyaWFuIENhbWVyb24gPGJyaWFuIGRvdCBjYW1lcm9uIGF0IHN1biBkb3QgY29tPgoJICAqIHN5cy9zdW5hdWRpby9NYWtlZmlsZS5hbToKCSAgKiBzeXMvc3VuYXVkaW8vZ3N0c3VuYXVkaW8uYzogKHBsdWdpbl9pbml0KToKCSAgKiBzeXMvc3VuYXVkaW8vZ3N0c3VuYXVkaW9taXhlcmN0cmwuYzoKCSAgKGdzdF9zdW5hdWRpb21peGVyX2N0cmxfYnVpbGRfbGlzdCksIChnc3Rfc3VuYXVkaW9taXhlcl9jdHJsX25ldyksCgkgIChnc3Rfc3VuYXVkaW9taXhlcl9jdHJsX2xpc3RfdHJhY2tzKSwKCSAgKGdzdF9zdW5hdWRpb21peGVyX2N0cmxfZ2V0X3ZvbHVtZSksCgkgIChnc3Rfc3VuYXVkaW9taXhlcl9jdHJsX3NldF92b2x1bWUpLAoJICAoZ3N0X3N1bmF1ZGlvbWl4ZXJfY3RybF9zZXRfbXV0ZSksCgkgIChnc3Rfc3VuYXVkaW9taXhlcl9jdHJsX3NldF9yZWNvcmQpOgoJICAqIHN5cy9zdW5hdWRpby9nc3RzdW5hdWRpb21peGVyY3RybC5oOgoJICAqIHN5cy9zdW5hdWRpby9nc3RzdW5hdWRpb21peGVydHJhY2suYzoKCSAgKGdzdF9zdW5hdWRpb21peGVyX3RyYWNrX2luaXQpLCAoZ3N0X3N1bmF1ZGlvbWl4ZXJfdHJhY2tfbmV3KToKCSAgKiBzeXMvc3VuYXVkaW8vZ3N0c3VuYXVkaW9taXhlcnRyYWNrLmg6CgkgICogc3lzL3N1bmF1ZGlvL2dzdHN1bmF1ZGlvc3JjLmM6IChnc3Rfc3VuYXVkaW9zcmNfZGlzcG9zZSksCgkgIChnc3Rfc3VuYXVkaW9zcmNfYmFzZV9pbml0KSwgKGdzdF9zdW5hdWRpb3NyY19jbGFzc19pbml0KSwKCSAgKGdzdF9zdW5hdWRpb3NyY19pbml0KSwgKGdzdF9zdW5hdWRpb3NyY19zZXRfcHJvcGVydHkpLAoJICAoZ3N0X3N1bmF1ZGlvc3JjX2dldF9wcm9wZXJ0eSksIChnc3Rfc3VuYXVkaW9zcmNfZ2V0Y2FwcyksCgkgIChnc3Rfc3VuYXVkaW9zcmNfb3BlbiksIChnc3Rfc3VuYXVkaW9zcmNfY2xvc2UpLAoJICAoZ3N0X3N1bmF1ZGlvc3JjX3ByZXBhcmUpLCAoZ3N0X3N1bmF1ZGlvc3JjX3VucHJlcGFyZSksCgkgIChnc3Rfc3VuYXVkaW9zcmNfcmVhZCksIChnc3Rfc3VuYXVkaW9zcmNfZGVsYXkpLAoJICAoZ3N0X3N1bmF1ZGlvc3JjX3Jlc2V0KToKCSAgKiBzeXMvc3VuYXVkaW8vZ3N0c3VuYXVkaW9zcmMuaDoKCSAgQWRkIGEgU3VuQXVkaW8gc291cmNlIHBsdWdpbi4KCSAgU3VwcG9ydCBzdGVyZW8gYW5kIHJpZ2h0L2xlZnQgY2hhbm5lbCBnYWluIGluIHRoZSBtaXhlciBwbHVnaW4uCgkgIFN1cHBvcnQgdGhlIFJFQ09SRCBmbGFnIHNvIHRoYXQgeW91IGNhbiBzd2l0Y2ggYmV0d2VlbiBsaW5lLWlucHV0IGFuZAoJICBtaWNyb3Bob25lIGluIGdub21lLXZvbHVtZS1jb250cm9sLgoJICBDb2RlIGNsZWFudXBzIGxpa2UgdXNpbmcgYW4gZW51bWVyYXRvciBmb3IgdHJhY2sgbnVtYmVyIGluc3RlYWQgb2YgYW4KCSAgaW50ZWdlci4gRml4ZXMgIzM0NDkyMy4KCjIwMDYtMDYtMjAgMTA6MzE6NDEgKzAwMDAgIEpvbmkgVmFsdGFuZW4gPGpvbmkudmFsdGFuZW5AbW92aWFsLmZpPgoKCSAgZ3N0L3J0c3AvcnRzcGNvbm5lY3Rpb24uYzogTWFrZSBSVFNQIHBsdWdpbiBjb21waWxlIG9uIHdpbmRvd3MuIEZpeGVzICMzNDUzMDEuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogSm9uaSBWYWx0YW5lbiA8am9uaSBkb3QgdmFsdGFuZW4gYXQgbW92aWFsIGRvdCBmaT4KCSAgKiBnc3QvcnRzcC9ydHNwY29ubmVjdGlvbi5jOiAoaW5ldF9hdG9uKSwgKHJ0c3BfY29ubmVjdGlvbl9zZW5kKSwKCSAgKHJ0c3BfY29ubmVjdGlvbl9jbG9zZSk6CgkgIE1ha2UgUlRTUCBwbHVnaW4gY29tcGlsZSBvbiB3aW5kb3dzLiBGaXhlcyAjMzQ1MzAxLgoJICBTb21lIGNoYW5nZXMgdG8gb3JpZ2luYWwgcGF0Y2ggdG8gY2F0Y2ggZXJyb3JzIGJldHRlci4KCSAgdXNlIGlmZGVmIFdJTjMyIGluc3RlYWQgb2YgaWZuZGVmLgoKMjAwNi0wNi0xOSAxMDowMDoxOCArMDAwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkgIGNvbmZpZ3VyZS5hYzogSWYgd2UgaGF2ZSBsaWJyYXcxMzk0ID49IDEuMi4xLCB0aGVuIHdlIG5lZWQgbGliaWVjNjE4ODMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA2LTA2LTE5ICBaYWhlZXIgQWJiYXMgTWVyYWxpICA8emFoZWVyYWJiYXMgYXQgbWVyYWxpIGRvdCBvcmc+CgkgICogY29uZmlndXJlLmFjOgoJICBJZiB3ZSBoYXZlIGxpYnJhdzEzOTQgPj0gMS4yLjEsIHRoZW4gd2UgbmVlZCBsaWJpZWM2MTg4My4KCjIwMDYtMDYtMTggMTQ6MDA6MTkgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBleHQvanBlZy9nc3RqcGVnZGVjLmM6IEFmdGVyIGEgZmFpbGVkIGJ1ZmZlciBhbGxvYywgd2UgbmVlZCB0byBhYm9ydCB0aGUganBlZyBkZWNvZGluZyAoaXQgc3RhcnRlZCB3aGVuIHBhcnNpbmcgaGVhZGUuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2pwZWcvZ3N0anBlZ2RlYy5jOiAoZ3N0X2pwZWdfZGVjX2NoYWluKToKCSAgQWZ0ZXIgYSBmYWlsZWQgYnVmZmVyIGFsbG9jLCB3ZSBuZWVkIHRvIGFib3J0IHRoZSBqcGVnIGRlY29kaW5nIChpdAoJICBzdGFydGVkIHdoZW4gcGFyc2luZyBoZWFkZXJzIHRvIGZpZ3VyZSBvdXQgaG93IG1hbnkgYnl0ZXMgd2UgbmVlZAoJICB0byByZXF1ZXN0IGRvd25zdHJlYW0pLgoKMjAwNi0wNi0xOCAxMjozNzoxMiArMDAwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFuYXV3QHNreW5ldC5iZT4KCgkgIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOiBNYWtlIHN1cmUgd2UgZG9uJ3QgcmVhZCBiZXlvbmQgdGhlIGVuZCBvZiB0aGUgZmlsZSAoIzM0NTIzMikuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogTWFyayBOYXV3ZWxhZXJ0cyAgPG1hbmF1dyBhdCBza3luZXQgYmU+CgkgICogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6IChnc3Rfd2F2cGFyc2VfcGVyZm9ybV9zZWVrKToKCSAgTWFrZSBzdXJlIHdlIGRvbid0IHJlYWQgYmV5b25kIHRoZSBlbmQgb2YgdGhlIGZpbGUgKCMzNDUyMzIpLgoKMjAwNi0wNi0xNyAxNDozNTozNyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGNvbmZpZ3VyZS5hYzogRml4IC0tZGlzYWJsZS1leHRlcm5hbCAoY2FuJ3Qgc2V0IGNvbmRpdGlvbmFscyBjb25kaXRpb25hbGx5LCAjMzQzNjAyKS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICBGaXggLS1kaXNhYmxlLWV4dGVybmFsIChjYW4ndCBzZXQgY29uZGl0aW9uYWxzIGNvbmRpdGlvbmFsbHksCgkgICMzNDM2MDIpLgoKMjAwNi0wNi0xNiAxMjozNTowOCArMDAwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkgIGdzdC9zcGVjdHJ1bS9NYWtlZmlsZS5hbTogRml4IGJ1aWxkLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNi0wNi0xNiAgWmFoZWVyIEFiYmFzIE1lcmFsaSAgPHphaGVlcmFiYmFzIGF0IG1lcmFsaSBkb3Qgb3JnPgoJICAqIGdzdC9zcGVjdHJ1bS9NYWtlZmlsZS5hbToKCSAgRml4IGJ1aWxkLgoKMjAwNi0wNi0xNiAxMDo1NjoyNCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIFVzZSBHU1RfUExVR0lOX0RPQ1MsIC0tZW5hYmxlLXBsdWdpbi1kb2NzIGV0Yy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogYXV0b2dlbi5zaDoKCSAgKiBjb25maWd1cmUuYWM6CgkgICogZG9jcy9NYWtlZmlsZS5hbToKCSAgVXNlIEdTVF9QTFVHSU5fRE9DUywgLS1lbmFibGUtcGx1Z2luLWRvY3MgZXRjLgoJICAqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdGFnbGliLnhtbDoKCSAgQWRkL2ZpeCBhcGV2Mm11eCBkb2NzLgoKMjAwNi0wNi0xNiAwOTo0OTowNyArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L3NwZWN0cnVtLzogcG9ydCB0byB1c2UgbWVzc2FnZSB0byBnZXQgcmVzdWx0cywgY2xlYW5seSBleGl0IHdoZW4gY2xvc2luZyB0aGUgd2luZG93CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9zcGVjdHJ1bS9kZW1vLWF1ZGlvdGVzdC5jOiAob25fd2luZG93X2Rlc3Ryb3kpLAoJICAoZHJhd19zcGVjdHJ1bSksIChtZXNzYWdlX2hhbmRsZXIpLCAobWFpbik6CgkgICogZ3N0L3NwZWN0cnVtL2RlbW8tb3Nzc3JjLmM6IChvbl93aW5kb3dfZGVzdHJveSksIChkcmF3X3NwZWN0cnVtKSwKCSAgKG1lc3NhZ2VfaGFuZGxlciksIChtYWluKToKCSAgcG9ydCB0byB1c2UgbWVzc2FnZSB0byBnZXQgcmVzdWx0cywgY2xlYW5seSBleGl0IHdoZW4gY2xvc2luZyB0aGUgd2luZG93CgkgICogZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmM6IChnc3Rfc3BlY3RydW1fY2xhc3NfaW5pdCksCgkgIChnc3Rfc3BlY3RydW1faW5pdCksIChnc3Rfc3BlY3RydW1fZGlzcG9zZSksCgkgIChnc3Rfc3BlY3RydW1fc2V0X3Byb3BlcnR5KSwgKGdzdF9zcGVjdHJ1bV9nZXRfcHJvcGVydHkpLAoJICAoZ3N0X3NwZWN0cnVtX3NldF9jYXBzKSwgKGdzdF9zcGVjdHJ1bV9zdGFydCksCgkgIChnc3Rfc3BlY3RydW1fbWVzc2FnZV9uZXcpLCAoZ3N0X3NwZWN0cnVtX3RyYW5zZm9ybV9pcCk6CgkgICogZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmg6CgkgIHBvcnQgdG8gZGVyaXZlIGZyb20gYmFzZXRyYW5zZm9ybSBhbmQgc2VuZCByZXN1bHRzIHZpYSBtZXNzYWdlcwoJICAobGlrZSBsZXZlbCBlbGVtZW50KQoKMjAwNi0wNi0xNSAxNTo1ODowOSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogQ29tYmluZSByZXR1cm4gdmFsdWVzIGZyb20gc3JjIHBhZCBwdXNoZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKGdzdF9xdGRlbXV4X3BlcmZvcm1fc2VlayksCgkgIChnc3RfcXRkZW11eF9jb21iaW5lX2Zsb3dzKSwgKGdzdF9xdGRlbXV4X2xvb3Bfc3RhdGVfbW92aWUpLAoJICAoZ3N0X3F0ZGVtdXhfbG9vcCksIChnc3RfcXRkZW11eF9jaGFpbiksIChxdGRlbXV4X3BhcnNlX3RyYWspOgoJICBDb21iaW5lIHJldHVybiB2YWx1ZXMgZnJvbSBzcmMgcGFkIHB1c2hlcy4KCjIwMDYtMDYtMTUgMDg6NTA6MDkgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IERvbid0IGNyYXNoIG9uIGZpbGVzIHdpdGggMCBzYW1wbGVzLCBFT1MgaW1tZWRpYXRseSBpbnN0ZWFkLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChnc3RfcXRkZW11eF9sb29wX3N0YXRlX2hlYWRlciksCgkgIChnc3RfcXRkZW11eF9wcmVwYXJlX2N1cnJlbnRfc2FtcGxlKSwgKGdzdF9xdGRlbXV4X2FkdmFuY2Vfc2FtcGxlKSwKCSAgKGdzdF9xdGRlbXV4X2FkZF9zdHJlYW0pOgoJICBEb24ndCBjcmFzaCBvbiBmaWxlcyB3aXRoIDAgc2FtcGxlcywgRU9TIGltbWVkaWF0bHkgaW5zdGVhZC4KCSAgRml4ZXMgIzM0NDk0NC4KCjIwMDYtMDYtMTQgMTU6NTk6NTYgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBleHQvZHYvZ3N0ZHZkZWMuYzogUmVzZXQgc2VnbWVudCBpbmZvIG9uIGZsdXNoLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZHYvZ3N0ZHZkZWMuYzogKGdzdF9kdmRlY19jbGFzc19pbml0KSwgKGdzdF9kdmRlY19pbml0KSwKCSAgKGdzdF9kdmRlY19maW5hbGl6ZSksIChnc3RfZHZkZWNfc2lua19ldmVudCksCgkgIChnc3RfZHZkZWNfY2hhbmdlX3N0YXRlKToKCSAgUmVzZXQgc2VnbWVudCBpbmZvIG9uIGZsdXNoLgoJICBBbGxvYyBzZWdtZW50IGluIF9pbml0LCBmcmVlIGluIF9maW5hbGl6ZS4KCSAgKiBleHQvZHYvZ3N0ZHZkZW11eC5jOiAoZ3N0X2R2ZGVtdXhfaGFuZGxlX3B1bGxfc2Vlayk6CgkgIERvbid0IHNlbmQgc2VnbWVudHMgdHdpY2UuCgoyMDA2LTA2LTE0IDE1OjA3OjIyICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZXh0L2R2L2dzdGR2ZGVtdXguYzogUmVzcGVjdCBzZWdtZW50LnN0b3AuIEZpeGVzICMzNDI1OTIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9kdi9nc3RkdmRlbXV4LmM6IChnc3RfZHZkZW11eF9kZW11eF9mcmFtZSk6CgkgIFJlc3BlY3Qgc2VnbWVudC5zdG9wLiBGaXhlcyAjMzQyNTkyLgoKMjAwNi0wNi0xNCAxMToyODo0MSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOiBObyBsYW5ndWFnZSBzcGVjaWZpZWQgbWVhbnMgdGhlIGltcGxpZWQgbGFuZ3VhZ2UgaXMgRW5nbGlzaCBhY2NvcmRpbmcgdG8gdGhlIG1hdHJvc2thIC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzogKGdzdF9tYXRyb3NrYV9kZW11eF9hZGRfc3RyZWFtKToKCSAgTm8gbGFuZ3VhZ2Ugc3BlY2lmaWVkIG1lYW5zIHRoZSBpbXBsaWVkIGxhbmd1YWdlIGlzIEVuZ2xpc2gKCSAgYWNjb3JkaW5nIHRvIHRoZSBtYXRyb3NrYSBzcGVjIChwYXJ0aWFsbHkgZml4ZXMgIzM0NDcwOCk7CgkgIGFkZCBzb21lIG1vcmUgZGVidWcgb3V0cHV0LgoKMjAwNi0wNi0xNCAwOTozMjoyNyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZXh0L3dhdnBhY2svZ3N0d2F2cGFja2VuYy4qOiBVc2UgYml0cmF0ZSBwcm9wZXJ0eSBzb2xlbHkgZm9yIGJpdHJhdGVzIGFuZCBhZGQgbmV3IGJpdHMtcGVyLXNhbXBsZSBwcm9wZXJ0eSBmb3IgdGhlIG90Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogU2ViYXN0aWFuIERyw7ZnZSAgPHNsb21vIGF0IGNpcmN1bGFyLWNoYW9zIG9yZz4KCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZW5jLmM6IChnc3Rfd2F2cGFja19lbmNfYmFzZV9pbml0KSwKCSAgKGdzdF93YXZwYWNrX2VuY19jbGFzc19pbml0KSwgKGdzdF93YXZwYWNrX2VuY19zZXRfd3BfY29uZmlnKSwKCSAgKGdzdF93YXZwYWNrX2VuY19jaGFpbiksIChnc3Rfd2F2cGFja19lbmNfc2lua19ldmVudCksCgkgIChnc3Rfd2F2cGFja19lbmNfc2V0X3Byb3BlcnR5KSwgKGdzdF93YXZwYWNrX2VuY19nZXRfcHJvcGVydHkpOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tlbmMuaDoKCSAgVXNlIGJpdHJhdGUgcHJvcGVydHkgc29sZWx5IGZvciBiaXRyYXRlcyBhbmQgYWRkIG5ldwoJICBiaXRzLXBlci1zYW1wbGUgcHJvcGVydHkgZm9yIHRoZSBvdGhlciBzdHVmZi4gU2V0IGR1cmF0aW9uCgkgIHRvICd1bmtub3duJyBpbiBpbml0aWFsIGhlYWRlciBhbmQgcmVzZW5kIGhlYWRlciB3aXRoIHByb3BlcgoJICBkdXJhdGlvbiBvbiBFT1M7IHVwZGF0ZSBTZWJhc3RpYW4ncyBlLW1haWwgYWRkcmVzcy4KCjIwMDYtMDYtMTQgMDg6MDY6NDMgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzogV2hlbiBvcGVyYXRpbmcgY2hhaW4tYmFzZWQsIGRvbid0IG1ha2UgYW55IGFzc3VtcHRpb25zIGFib3V0IHRoZSBjaHVua2luZyBvZiB0aGUgaW5jb21pbmcuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6IChnc3Rfd2F2cGFyc2VfcGVla19jaHVua19pbmZvKSwKCSAgKGdzdF93YXZwYXJzZV9wZWVrX2NodW5rKSwgKGdzdF93YXZwYXJzZV9zdHJlYW1faGVhZGVycyksCgkgIChnc3Rfd2F2cGFyc2VfY2hhaW4pOgoJICBXaGVuIG9wZXJhdGluZyBjaGFpbi1iYXNlZCwgZG9uJ3QgbWFrZSBhbnkgYXNzdW1wdGlvbnMgYWJvdXQgdGhlCgkgIGNodW5raW5nIG9mIHRoZSBpbmNvbWluZyBkYXRhIGFuZCBtYWtlIHN0cmVhbWluZyB3b3JrIG9uIGRheXMgb3RoZXIKCSAgdGhhbiB0aGUgc2Vjb25kIFRodXJzZGF5IGFmdGVyIGEgZnVsbCBtb29uLiBBbHNvIGZpeCB1cCBkZWJ1ZwoJICBtZXNzYWdlcyBoZXJlIGFuZCB0aGVyZSBhbmQgbWFrZSB1c2Ugb2YgdGhlIG1vc3QgZXhjZWxsZW50IG5ldwoJICBnc3RfcGFkX3F1ZXJ5X3BlZXJfZHVyYXRpb24oKSB1dGlsaXR5IGZ1bmN0aW9uLgoJICBTa2lwIGFueSAnYmV4dCcgY2h1bmtzIGluIGZyb250IG9mIHRoZSAnZm10ICcgY2h1bmsuIEZpeGVzICMzNDM4MzcuCgkgICogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmg6CgkgIFJlbW92ZSB0cmFpbGluZyBjb21tYSBhZnRlciBsYXN0IGVudW0gdmFsdWUsIHNvbWUgY29tcGlsZXJzIGRvbid0CgkgIGxpa2UgdGhhdC4KCjIwMDYtMDYtMTMgMTc6MDU6MjUgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzogSGFuZGxlIHByZW1hdHVyZSBFT1MgZ3JhY2VmdWxseS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6IChnc3Rfd2F2cGFyc2Vfc3RyZWFtX2RhdGEpOgoJICBIYW5kbGUgcHJlbWF0dXJlIEVPUyBncmFjZWZ1bGx5LgoKMjAwNi0wNi0xMyAwOTo1NDoyNiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzogUHJldmVudCBvdXQgb2YgYm91bmRzIGFycmF5IGFjY2VzcyB3aGVuIHNjcnViYmluZyB0b3dhcmRzIHRoZSBlbmQgb2YgdGhlIGZpbGUgYmV0d2VlbiB0aGUgbGFzdC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6IChnc3RfYXZpX2RlbXV4X2hhbmRsZV9zZWVrKToKCSAgUHJldmVudCBvdXQgb2YgYm91bmRzIGFycmF5IGFjY2VzcyB3aGVuIHNjcnViYmluZyB0b3dhcmRzCgkgIHRoZSBlbmQgb2YgdGhlIGZpbGUgYmV0d2VlbiB0aGUgbGFzdCBpbmRleCBlbnRyeSBhbmQgdGhlCgkgIGVuZC4gRml4ZXMgb2NjYXNpb25hbCAnc3RhcnQgPD0gc3RvcCcgbmV3c2VnbWVudCBldmVudAoJICBhc3NlcnRpb25zIHdoZW4gc2NydWJiaW5nIGluIE1KUEVHIGZpbGVzLgoKMjAwNi0wNi0xMiAxMToxMzozOSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIHRlc3RzL2NoZWNrL2VsZW1lbnRzLy5jdnNpZ25vcmU6IEFuZCBhbm90aGVyIG9uZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvLmN2c2lnbm9yZToKCSAgQW5kIGFub3RoZXIgb25lLgoKMjAwNi0wNi0xMiAxMTowNDo1OSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9zcGVjdHJ1bS8uY3ZzaWdub3JlOiBJZ25vcmUgbW9yZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3NwZWN0cnVtLy5jdnNpZ25vcmU6CgkgIElnbm9yZSBtb3JlLgoKMjAwNi0wNi0xMiAxMDo1MzoyNiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC9saWJtbXMvZ3N0bW1zLmM6IFNldCBjYXBzIG9uIG91dGdvaW5nIGJ1ZmZlcnMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9saWJtbXMvZ3N0bW1zLmM6IChnc3RfbW1zX2NyZWF0ZSk6CgkgIFNldCBjYXBzIG9uIG91dGdvaW5nIGJ1ZmZlcnMuCgkgICogc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuYzogKGdzdF9kaXJlY3RkcmF3c2lua19pbml0KToKCSAgQ29tbWVudCBvdXQgdW51c2VkIGdsb2JhbCBpbnN0YW5jZSB2YXJpYWJsZS4KCjIwMDYtMDYtMTEgMTk6MzE6MTAgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvaWQzZGVtdXgvaWQzdjJmcmFtZXMuYzogRXh0cmFjdCBpbWFnZXMgZnJvbSBJRDN2MiB0YWdzIChBUElDIGZyYW1lcykuIEZpeGVzICMzMzk3MDQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9pZDNkZW11eC9pZDN2MmZyYW1lcy5jOiAoaWQzZGVtdXhfaWQzdjJfcGFyc2VfZnJhbWUpLAoJICAoc2Nhbl9lbmNvZGVkX3N0cmluZyksIChwYXJzZV9waWN0dXJlX2ZyYW1lKToKCSAgRXh0cmFjdCBpbWFnZXMgZnJvbSBJRDN2MiB0YWdzIChBUElDIGZyYW1lcykuIEZpeGVzICMzMzk3MDQuCgkgICogY29uZmlndXJlLmFjOgoJICBSZXF1aXJlIGNvcmUgPj0gMC4xMC44IChmb3IgR1NUX1RBR19JTUFHRSBhbmQKCSAgR1NUX1RBR19QUEVWSUVXX0lNQUdFIHVzZWQgaW4gdGhlIHBhdGNoIGFib3ZlKS4KCjIwMDYtMDYtMTEgMTg6NTY6MjQgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogZXh0L3JhdzEzOTQvLmdpdGlnbm9yZToKCSogZXh0L3RhZ2xpYi8uZ2l0aWdub3JlOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy8uZ2l0aWdub3JlOgoJKiB0ZXN0cy9leGFtcGxlcy9sZXZlbC8uZ2l0aWdub3JlOgoJICBtb2FwIGlnbm9yZQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgbW9hcCBpZ25vcmUKCjIwMDYtMDYtMTEgMTg6NTI6MTkgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSAgZXh0L3JhdzEzOTQvZ3N0ZHYxMzk0c3JjLmM6IGdyYXR1aXRvdXMgY29tbWVudCBjaGFuZ2VzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9yYXcxMzk0L2dzdGR2MTM5NHNyYy5jOiAoZ3N0X2R2MTM5NHNyY19kaXNjb3Zlcl9hdmNfbm9kZSk6CgkgIGdyYXR1aXRvdXMgY29tbWVudCBjaGFuZ2VzCgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvbGV2ZWwuYzogKEdTVF9TVEFSVF9URVNUKToKCSAgZml4IGxldmVsIHRlc3QgbGVha3MKCjIwMDYtMDYtMTEgMTg6NDQ6NTQgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogLmdpdGlnbm9yZToKCSAgaWdub3JlIG1vcmUKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGlnbm9yZSBtb3JlCgoyMDA2LTA2LTExIDE4OjIwOjM5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0LzogVXNlIGdzdF9wYWRfcXVlcnlfcGVlcl9kdXJhdGlvbigpIHV0aWxpdHkgZnVuY3Rpb24gaGVyZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2FwZXRhZy9nc3R0YWdkZW11eC5jOiAoZ3N0X3RhZ19kZW11eF9nZXRfdXBzdHJlYW1fc2l6ZSk6CgkgICogZ3N0L2lkM2RlbXV4L2dzdGlkM2RlbXV4LmM6IChpZDNkZW11eF9nZXRfdXBzdHJlYW1fc2l6ZSk6CgkgIFVzZSBnc3RfcGFkX3F1ZXJ5X3BlZXJfZHVyYXRpb24oKSB1dGlsaXR5IGZ1bmN0aW9uIGhlcmUuCgoyMDA2LTA2LTExIDEzOjU3OjE5ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkgIGF1dG9nZW4uc2g6IHJlcXVpcmUgYW0xNwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBhdXRvZ2VuLnNoOgoJICByZXF1aXJlIGFtMTcKCSAgKiBjb25maWd1cmUuYWM6CgkgICogZXh0L2Fubm9kZXgvTWFrZWZpbGUuYW06CgkgICogZXh0L2NkaW8vTWFrZWZpbGUuYW06CgkgICogZXh0L2R2L01ha2VmaWxlLmFtOgoJICAqIGV4dC9lc2QvTWFrZWZpbGUuYW06CgkgICogZXh0L2ZsYWMvTWFrZWZpbGUuYW06CgkgICogZXh0L2dka19waXhidWYvTWFrZWZpbGUuYW06CgkgICogZXh0L2xhZHNwYS9NYWtlZmlsZS5hbToKCSAgKiBleHQvbGliY2FjYS9NYWtlZmlsZS5hbToKCSAgKiBleHQvc3BlZXgvTWFrZWZpbGUuYW06CgkgICogZXh0L3RhZ2xpYi9NYWtlZmlsZS5hbToKCSAgKiBzeXMvb3NzL01ha2VmaWxlLmFtOgoJICAqIHN5cy9zdW5hdWRpby9NYWtlZmlsZS5hbToKCSAgKiBzeXMveGltYWdlL01ha2VmaWxlLmFtOgoJICBjbGVhbiB1cCBidWlsZCBmdXJ0aGVyCgoyMDA2LTA2LTExIDEzOjU1OjM0ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIGNvbW1vbjoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICB1cGRhdGUKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHVwZGF0ZQoKMjAwNi0wNi0xMCAxNTozMzoxOCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8bWFpbEBzbG9tb3NuYWlsLmRlPgoKCSAgZXh0L3dhdnBhY2svOiBBZGQgd2F2cGFjayBlbmNvZGVyIGVsZW1lbnQgKCMzNDMxMzEpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFNlYmFzdGlhbiBEcsO2Z2UgIDxtYWlsIGF0IHNsb21vc25haWwgZGU+CgkgICogZXh0L3dhdnBhY2svTWFrZWZpbGUuYW06CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFjay5jOiAocGx1Z2luX2luaXQpOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tjb21tb24uaDoKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZW5jLmM6IChnc3Rfd2F2cGFja19lbmNfbW9kZV9nZXRfdHlwZSksCgkgIChnc3Rfd2F2cGFja19lbmNfY29ycmVjdGlvbl9tb2RlX2dldF90eXBlKSwKCSAgKGdzdF93YXZwYWNrX2VuY19qb2ludF9zdGVyZW9fbW9kZV9nZXRfdHlwZSksCgkgIChnc3Rfd2F2cGFja19lbmNfYmFzZV9pbml0KSwgKGdzdF93YXZwYWNrX2VuY19jbGFzc19pbml0KSwKCSAgKGdzdF93YXZwYWNrX2VuY19pbml0KSwgKGdzdF93YXZwYWNrX2VuY19kaXNwb3NlKSwKCSAgKGdzdF93YXZwYWNrX2VuY19zaW5rX3NldF9jYXBzKSwgKGdzdF93YXZwYWNrX2VuY19zZXRfd3BfY29uZmlnKSwKCSAgKGdzdF93YXZwYWNrX2VuY19mb3JtYXRfc2FtcGxlcyksIChnc3Rfd2F2cGFja19lbmNfcHVzaF9ibG9jayksCgkgIChnc3Rfd2F2cGFja19lbmNfY2hhaW4pLCAoZ3N0X3dhdnBhY2tfZW5jX3Jld3JpdGVfZmlyc3RfYmxvY2spLAoJICAoZ3N0X3dhdnBhY2tfZW5jX3NpbmtfZXZlbnQpLCAoZ3N0X3dhdnBhY2tfZW5jX2NoYW5nZV9zdGF0ZSksCgkgIChnc3Rfd2F2cGFja19lbmNfc2V0X3Byb3BlcnR5KSwgKGdzdF93YXZwYWNrX2VuY19nZXRfcHJvcGVydHkpLAoJICAoZ3N0X3dhdnBhY2tfZW5jX3BsdWdpbl9pbml0KToKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZW5jLmg6CgkgICogZXh0L3dhdnBhY2svbWQ1LmM6CgkgICogZXh0L3dhdnBhY2svbWQ1Lmg6CgkgIEFkZCB3YXZwYWNrIGVuY29kZXIgZWxlbWVudCAoIzM0MzEzMSkuCgoyMDA2LTA2LTA5IDIwOjM2OjAwICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ2NvbmYvTWFrZWZpbGUuYW06IEhvbm91ciAtLWRpc2FibGUtc2NoZW1hcy1pbnN0YWxsIGNvbmZpZ3VyZSBvcHRpb24uIEZpeGVzICMzNDQxMDAuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdjb25mL01ha2VmaWxlLmFtOgoJICBIb25vdXIgLS1kaXNhYmxlLXNjaGVtYXMtaW5zdGFsbCBjb25maWd1cmUgb3B0aW9uLiBGaXhlcyAjMzQ0MTAwLgoKMjAwNi0wNi0wOSAxODozMzowMSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIHRlc3RzL2V4YW1wbGVzL2xldmVsL01ha2VmaWxlLmFtOiBBZGQgLWxtIHRvIExJQlMgZm9yIHBvdygpIGZ1bmN0aW9uLCBkb24ndCBhc3N1bWUgb25lIG9mIG91ciBkZXBlbmRlbmNpZXMgKHN1Y2ggYXMgbC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9leGFtcGxlcy9sZXZlbC9NYWtlZmlsZS5hbToKCSAgQWRkIC1sbSB0byBMSUJTIGZvciBwb3coKSBmdW5jdGlvbiwgZG9uJ3QgYXNzdW1lIG9uZSBvZiBvdXIKCSAgZGVwZW5kZW5jaWVzIChzdWNoIGFzIGxpYnhtbC0yLjApIGRyYWdzIGl0IGluIGF1dG9tYXRpY2FsbHkKCSAgKCMzNDM2MDMpLgoKMjAwNi0wNi0wOSAxODoxNzoyMyArMDAwMCAgUGV0ZXIgS2plbGxlcnN0ZWR0IDxwa2pAYXhpcy5jb20+CgoJICBjb25maWd1cmUuYWM6IFdlIHNob3VsZCB1c2UgJFNFRCBhbmQgbm90ICQoU0VEKSBpbiBjb25maWd1cmUuYWMgKCMzNDM2NzgpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFBldGVyIEtqZWxsZXJzdGVkdCAgPHBraiBhdCBheGlzIGRvdCBjb20+CgkgICogY29uZmlndXJlLmFjOgoJICBXZSBzaG91bGQgdXNlICRTRUQgYW5kIG5vdCAkKFNFRCkgaW4gY29uZmlndXJlLmFjICgjMzQzNjc4KS4KCjIwMDYtMDYtMDkgMTc6Mzg6MTkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBjb25maWd1cmUuYWM6IENoZWNrIGZvciBYIGJlZm9yZSB1c2luZyBYX0NGTEFHUyBpbiB0aGUgY2hlY2sgZm9yIG9wZW5nbCAoIzM0Mzg2NikuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgQ2hlY2sgZm9yIFggYmVmb3JlIHVzaW5nIFhfQ0ZMQUdTIGluIHRoZSBjaGVjayBmb3Igb3BlbmdsICgjMzQzODY2KS4KCSAgKiBleHQvbXVzZXBhY2svTWFrZWZpbGUuYW06CgkgICogZXh0L3dhdnBhY2svTWFrZWZpbGUuYW06CgkgICogZ3N0L3NwZWVkL01ha2VmaWxlLmFtOgoJICBBZGQgbWlzc2luZyBHU1RfTElCUywgZml4ZXMgYnVpbGQgb24gY3lnd2luICgjMzQzODY2KS4KCjIwMDYtMDYtMDkgMTc6Mjk6MDggKzAwMDAgIEJyaWFuIENhbWVyb24gPGJyaWFuLmNhbWVyb25Ac3VuLmNvbT4KCgkgIHN5cy9zdW5hdWRpby86IEF0dGFjaGVkIGZpbmQgYSBwYXRjaCB0aGF0IGZpeGVzIGEgbnVtYmVyIG9mIGJ1Z3Mgd2l0aCB0aGUgU3VuQXVkaW8gbWl4ZXIgcGx1Z2luIGFuZCBmaXhlcyAjMzQ0MTAxOiAxLi4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IEJyaWFuIENhbWVyb24gPGJyaWFuIGRvdCBjYW1lcm9uIGF0IHN1biBkb3QgY29tPgoJICAqIHN5cy9zdW5hdWRpby9nc3RzdW5hdWRpb21peGVyY3RybC5jOgoJICAoZ3N0X3N1bmF1ZGlvbWl4ZXJfY3RybF9vcGVuKSwgKGdzdF9zdW5hdWRpb21peGVyX2N0cmxfYnVpbGRfbGlzdCksCgkgIChnc3Rfc3VuYXVkaW9taXhlcl9jdHJsX25ldyksIChnc3Rfc3VuYXVkaW9taXhlcl9jdHJsX3NldF92b2x1bWUpLAoJICAoZ3N0X3N1bmF1ZGlvbWl4ZXJfY3RybF9zZXRfbXV0ZSk6CgkgICogc3lzL3N1bmF1ZGlvL2dzdHN1bmF1ZGlvc2luay5jOiAoZ3N0X3N1bmF1ZGlvc2lua19jbGFzc19pbml0KSwKCSAgKGdzdF9zdW5hdWRpb3NpbmtfaW5pdCksIChnc3Rfc3VuYXVkaW9zaW5rX3ByZXBhcmUpLAoJICAoZ3N0X3N1bmF1ZGlvc2lua193cml0ZSk6CgkgIEF0dGFjaGVkIGZpbmQgYSBwYXRjaCB0aGF0IGZpeGVzIGEgbnVtYmVyIG9mIGJ1Z3Mgd2l0aCB0aGUgU3VuQXVkaW8gbWl4ZXIKCSAgcGx1Z2luIGFuZCBmaXhlcyAjMzQ0MTAxOgoJICAxLiBUaGUgZ3N0X3N1bmF1ZGlvbWl4ZXJfY3RybF9idWlsZF9saXN0IGtlcHQgYXBwZW5kaW5nIHRoZSBzYW1lIDMgdHJhY2tzIG9udG8KCSAgdGhlIHRyYWNrbGlzdCBjYXVzaW5nIGdub21lLXZvbHVtZS1jb250cm9sJ3MgcHJlZmVyZW5jZXMgZGlhbG9nIHRvIGJlIG1lc3NlZAoJICB1cCBhbmQgd291bGQgY29yZSBkdW1wIGlmIHlvdSBjaGVja2VkL3VuY2hlY2tlZCBhbnkgaXRlbS4KCSAgMi4gV2Ugd2VyZW4ndCBwcmV2aW91c2x5IHNldHRpbmcgdGhlIE1VVEUgZmxhZyBwcm9wZXJseS4gIEZpeGluZyB0aGlzIG1ha2VzCgkgIGdub21lLXZvbHVtZS1jb250cm9sIHdvcmsgYmV0dGVyLgoJICAzLiBOb3cgd2UgcHJvcGVybHkgZGVmaW5lIHRoZSBpbnB1dCB0cmFjayB0byBiZSBHU1RfTUlYRVJfVFJBQ0tfSU5QVVQgYW5kCgkgIHRoZSBtb25pdG9yIHRvIGJlIEdTVF9NSVhFUl9UUkFDS19PVVRQVVQsIHNvIHRoYXQgbWFrZXMgZ25vbWUtdm9sdW1lLWNvbnRyb2wKCSAgbG9vayBiZXR0ZXIuCgkgIEFsc28gc29tZSBtaW5vciBjbGVhbnVwIGluIGdzdHN1bmF1ZGlvc2luay5jLgoKMjAwNi0wNi0wOSAxNzoxMjo1MiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGV4dC9qcGVnL2dzdGpwZWdkZWMuKjogQVBJOiBBZGRlZCBJRENUIG1ldGhvZCBwcm9wZXJ0eQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvanBlZy9nc3RqcGVnZGVjLmM6IChnc3RfaWRjdF9tZXRob2RfZ2V0X3R5cGUpLAoJICAoZ3N0X2pwZWdfZGVjX2NsYXNzX2luaXQpLCAoZ3N0X2pwZWdfZGVjX2luaXQpLAoJICAoZ3N0X2pwZWdfZGVjX2RlY29kZV9pbmRpcmVjdCksIChnc3RfanBlZ19kZWNfZGVjb2RlX2RpcmVjdCksCgkgIChnc3RfanBlZ19kZWNfY2hhaW4pLCAoZ3N0X2pwZWdfZGVjX3NpbmtfZXZlbnQpLAoJICAoZ3N0X2pwZWdfZGVjX3NldF9wcm9wZXJ0eSksIChnc3RfanBlZ19kZWNfZ2V0X3Byb3BlcnR5KToKCSAgKiBleHQvanBlZy9nc3RqcGVnZGVjLmg6CgkgIEFQSTogQWRkZWQgSURDVCBtZXRob2QgcHJvcGVydHkKCSAgU21hbGwgY2xlYW51cHMuCgkgIEF2b2lkIGR5bmFtaWMgYWxsb2NhdGlvbiBvZiB0cml2aWFsIGZpeGVkIHN0cnVjdHVyZS4KCSAgQWxsb2NhdGUgZW5vdWdoIHNwYWNlIGZvciB0ZW1wIDQ6NDo0IFlVViBidWZmZXJzLiBGaXhlcyAjMzQzNjYxLgoKMjAwNi0wNi0wNyAwOToyNToxNiArMDAwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkgIGNvbmZpZ3VyZS5hYzogV2Ugbm93IHJlcXVpcmUgbGlicmF3MTM5NCA+PSAxLjEuMCBhbmQgdGhhdCB2ZXJzaW9uIG9ud2FyZHMgYWxsIGhhdmUgLnBjIGZpbGVzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNi0wNi0wNyAgWmFoZWVyIEFiYmFzIE1lcmFsaSAgPHphaGVlcmFiYmFzIGF0IG1lcmFsaSBkb3Qgb3JnPgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgV2Ugbm93IHJlcXVpcmUgbGlicmF3MTM5NCA+PSAxLjEuMCBhbmQgdGhhdCB2ZXJzaW9uIG9ud2FyZHMgYWxsCgkgIGhhdmUgLnBjIGZpbGVzLgoKMjAwNi0wNi0wMiAxNTowMjo1NCArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIGdzdC9sYXcvYWxhdy1kZWNvZGUuYzogVHJ5aW5nIHRvIGdldCBpdGVtcyBmcm9tIGFuIEFOWSBvciBFTVBUWSBjYXBzIGlzIC4uLiBzdHVwaWQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9sYXcvYWxhdy1kZWNvZGUuYzogKGFsYXdkZWNfZ2V0Y2Fwcyk6CgkgIFRyeWluZyB0byBnZXQgaXRlbXMgZnJvbSBhbiBBTlkgb3IgRU1QVFkgY2FwcyBpcyAuLi4gc3R1cGlkLgoKMjAwNi0wNi0wMiAxMTozMzoxOCArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIGV4dC9kdi9nc3RkdmRlYy4qOiBBZGRlZCBHc3RTZWdtZW50IGhhbmRsaW5nLCBub3cgaW1wbGVtZW50cyBkcm9wcGluZy9jbGlwcGluZy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2R2L2dzdGR2ZGVjLmM6IChnc3RfZHZkZWNfaW5pdCksIChnc3RfZHZkZWNfc2lua19ldmVudCksCgkgIChnc3RfZHZkZWNfY2hhaW4pLCAoZ3N0X2R2ZGVjX2NoYW5nZV9zdGF0ZSk6CgkgICogZXh0L2R2L2dzdGR2ZGVjLmg6CgkgIEFkZGVkIEdzdFNlZ21lbnQgaGFuZGxpbmcsIG5vdyBpbXBsZW1lbnRzIGRyb3BwaW5nL2NsaXBwaW5nLgoKMjAwNi0wNi0wMSAyMjowMDoyNiArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgRml4IG1vcmUgZ29iamVjdCBtYWNyb3M6IG9iajwtPmtsYXNzLCBHc3RYWFg8LT5Hc3RYWFhDbGFzcwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvYWxzYXNwZGlmL2Fsc2FzcGRpZnNpbmsuaDoKCSAgKiBleHQvYW1yd2IvZ3N0YW1yd2JkZWMuaDoKCSAgKiBleHQvYW1yd2IvZ3N0YW1yd2JlbmMuaDoKCSAgKiBleHQvYW1yd2IvZ3N0YW1yd2JwYXJzZS5oOgoJICAqIGV4dC9hcnRzL2dzdF9hcnRzLmg6CgkgICogZXh0L2FydHNkL2dzdGFydHNkc2luay5oOgoJICAqIGV4dC9hdWRpb2ZpbGUvZ3N0YWZwYXJzZS5oOgoJICAqIGV4dC9hdWRpb2ZpbGUvZ3N0YWZzaW5rLmg6CgkgICogZXh0L2F1ZGlvZmlsZS9nc3RhZnNyYy5oOgoJICAqIGV4dC9hdWRpb3Jlc2FtcGxlL2dzdGF1ZGlvcmVzYW1wbGUuaDoKCSAgKiBleHQvYnoyL2dzdGJ6MmRlYy5oOgoJICAqIGV4dC9iejIvZ3N0YnoyZW5jLmg6CgkgICogZXh0L2RpcmFjL2dzdGRpcmFjZGVjLmg6CgkgICogZXh0L2RpcmVjdGZiL2RmYnZpZGVvc2luay5oOgoJICAqIGV4dC9kaXZ4L2dzdGRpdnhkZWMuaDoKCSAgKiBleHQvZGl2eC9nc3RkaXZ4ZW5jLmg6CgkgICogZXh0L2R0cy9nc3RkdHNkZWMuaDoKCSAgKiBleHQvZmFhYy9nc3RmYWFjLmg6CgkgICogZXh0L2dzbS9nc3Rnc21kZWMuaDoKCSAgKiBleHQvZ3NtL2dzdGdzbWVuYy5oOgoJICAqIGV4dC9pdm9yYmlzL3ZvcmJpc2VuYy5oOgoJICAqIGV4dC9saWJmYW1lL2dzdGxpYmZhbWUuaDoKCSAgKiBleHQvbmFzL25hc3NpbmsuaDoKCSAgKiBleHQvbmVvbi9nc3RuZW9uaHR0cHNyYy5oOgoJICAqIGV4dC9wb2x5cC9wb2x5cHNpbmsuaDoKCSAgKiBleHQvc2RsL3NkbGF1ZGlvc2luay5oOgoJICAqIGV4dC9zZGwvc2RsdmlkZW9zaW5rLmg6CgkgICogZXh0L3Nob3V0L2dzdHNob3V0Lmg6CgkgICogZXh0L3NuYXBzaG90L2dzdHNuYXBzaG90Lmg6CgkgICogZXh0L3NuZGZpbGUvZ3N0c2YuaDoKCSAgKiBleHQvc3dmZGVjL2dzdHN3ZmRlYy5oOgoJICAqIGV4dC90YXJraW4vZ3N0dGFya2luZGVjLmg6CgkgICogZXh0L3Rhcmtpbi9nc3R0YXJraW5lbmMuaDoKCSAgKiBleHQvdGhlb3JhL3RoZW9yYWRlYy5oOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tkZWMuaDoKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrcGFyc2UuaDoKCSAgKiBleHQveGluZS9nc3R4aW5lLmg6CgkgICogZXh0L3h2aWQvZ3N0eHZpZGRlYy5oOgoJICAqIGV4dC94dmlkL2dzdHh2aWRlbmMuaDoKCSAgKiBnc3QvY2R4YXBhcnNlL2dzdGNkeGFwYXJzZS5oOgoJICAqIGdzdC9jZHhhcGFyc2UvZ3N0Y2R4YXN0cmlwLmg6CgkgICogZ3N0L2NvbG9yc3BhY2UvZ3N0Y29sb3JzcGFjZS5oOgoJICAqIGdzdC9mZXN0aXZhbC9nc3RmZXN0aXZhbC5oOgoJICAqIGdzdC9mcmVlemUvZ3N0ZnJlZXplLmg6CgkgICogZ3N0L2dkcC9nc3RnZHBkZXBheS5oOgoJICAqIGdzdC9nZHAvZ3N0Z2RwcGF5Lmg6CgkgICogZ3N0L21vZHBsdWcvZ3N0bW9kcGx1Zy5oOgoJICAqIGdzdC9tcGVnMXN5cy9nc3RtcGVnMXN5c3RlbWVuY29kZS5oOgoJICAqIGdzdC9tcGVnMXZpZGVvcGFyc2UvZ3N0bXAxdmlkZW9wYXJzZS5oOgoJICAqIGdzdC9tcGVnMnN1Yi9nc3RtcGVnMnN1YnQuaDoKCSAgKiBnc3QvbXBlZ2F1ZGlvcGFyc2UvZ3N0bXBlZ2F1ZGlvcGFyc2UuaDoKCSAgKiBnc3QvbXVsdGlmaWxlc2luay9nc3RtdWx0aWZpbGVzaW5rLmg6CgkgICogZ3N0L292ZXJsYXkvZ3N0b3ZlcmxheS5oOgoJICAqIGdzdC9wbGF5b25kZW1hbmQvZ3N0cGxheW9uZGVtYW5kLmg6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5oOgoJICAqIGdzdC9ydGpwZWcvZ3N0cnRqcGVnZGVjLmg6CgkgICogZ3N0L3J0anBlZy9nc3RydGpwZWdlbmMuaDoKCSAgKiBnc3Qvc21vb3RoL2dzdHNtb290aC5oOgoJICAqIGdzdC9zbW9vdGh3YXZlL2dzdHNtb290aHdhdmUuaDoKCSAgKiBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uaDoKCSAgKiBnc3Qvc3BlZWQvZ3N0c3BlZWQuaDoKCSAgKiBnc3Qvc3RlcmVvL2dzdHN0ZXJlby5oOgoJICAqIGdzdC9zd2l0Y2gvZ3N0c3dpdGNoLmg6CgkgICogZ3N0L3R0YS9nc3R0dGFkZWMuaDoKCSAgKiBnc3QvdHRhL2dzdHR0YXBhcnNlLmg6CgkgICogZ3N0L3ZpZGVvZHJvcC9nc3R2aWRlb2Ryb3AuaDoKCSAgKiBnc3QveGluZ2hlYWRlci9nc3R4aW5nbXV4Lmg6CgkgICogc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuaDoKCSAgKiBzeXMvZGlyZWN0c291bmQvZ3N0ZGlyZWN0c291bmRzaW5rLmg6CgkgICogc3lzL2R4cjMvZHhyM2F1ZGlvc2luay5oOgoJICAqIHN5cy9keHIzL2R4cjNzcHVzaW5rLmg6CgkgICogc3lzL2R4cjMvZHhyM3ZpZGVvc2luay5oOgoJICAqIHN5cy9xY2FtL2dzdHFjYW1zcmMuaDoKCSAgKiBzeXMvdmNkL3ZjZHNyYy5oOgoJICBGaXggbW9yZSBnb2JqZWN0IG1hY3Jvczogb2JqPC0+a2xhc3MsIEdzdFhYWDwtPkdzdFhYWENsYXNzCgoyMDA2LTA2LTAxIDIxOjA3OjI2ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBGaXggbW9yZSBnb2JqZWN0IG1hY3Jvczogb2JqPC0+a2xhc3MsIEdzdFhYWDwtPkdzdFhYWENsYXNzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9hYWxpYi9nc3RhYXNpbmsuaDoKCSAgKiBleHQvYW5ub2RleC9nc3RjbW1sZGVjLmg6CgkgICogZXh0L2NhaXJvL2dzdHRpbWVvdmVybGF5Lmg6CgkgICogZXh0L2R2L2dzdGR2ZGVjLmg6CgkgICogZXh0L2R2L2dzdGR2ZGVtdXguaDoKCSAgKiBleHQvZXNkL2VzZG1vbi5oOgoJICAqIGV4dC9lc2QvZXNkc2luay5oOgoJICAqIGV4dC9mbGFjL2dzdGZsYWNlbmMuaDoKCSAgKiBleHQvZ2NvbmYvZ3N0Z2NvbmZhdWRpb3NpbmsuaDoKCSAgKiBleHQvZ2NvbmYvZ3N0Z2NvbmZhdWRpb3NyYy5oOgoJICAqIGV4dC9nY29uZi9nc3RnY29uZnZpZGVvc2luay5oOgoJICAqIGV4dC9nY29uZi9nc3RnY29uZnZpZGVvc3JjLmg6CgkgICogZXh0L2dka19waXhidWYvZ3N0Z2RrYW5pbWF0aW9uLmg6CgkgICogZXh0L2dka19waXhidWYvcGl4YnVmc2NhbGUuaDoKCSAgKiBleHQvaGFsL2dzdGhhbGF1ZGlvc2luay5oOgoJICAqIGV4dC9oYWwvZ3N0aGFsYXVkaW9zcmMuaDoKCSAgKiBleHQvanBlZy9nc3RqcGVnZW5jLmg6CgkgICogZXh0L2pwZWcvZ3N0c21va2VkZWMuaDoKCSAgKiBleHQvanBlZy9nc3RzbW9rZWVuYy5oOgoJICAqIGV4dC9saWJjYWNhL2dzdGNhY2FzaW5rLmg6CgkgICogZXh0L2xpYm1uZy9nc3RtbmdkZWMuaDoKCSAgKiBleHQvbGlibW5nL2dzdG1uZ2VuYy5oOgoJICAqIGV4dC9saWJwbmcvZ3N0cG5nZGVjLmg6CgkgICogZXh0L2xpYnBuZy9nc3RwbmdlbmMuaDoKCSAgKiBleHQvcmF3MTM5NC9nc3RkdjEzOTRzcmMuaDoKCSAgKiBleHQvc3BlZXgvZ3N0c3BlZXhlbmMuaDoKCSAgKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvYXVkaW9zaW5rLmg6CgkgICogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b3ZpZGVvc2luay5oOgoJICAqIGdzdC9hdmkvZ3N0YXZpZGVtdXguaDoKCSAgKiBnc3QvY3V0dGVyL2dzdGN1dHRlci5oOgoJICAqIGdzdC9kZWJ1Zy9lZmVuY2UuaDoKCSAgKiBnc3QvZGVidWcvZ3N0bmF2aWdhdGlvbnRlc3QuaDoKCSAgKiBnc3QvZGVidWcvZ3N0bmF2c2Vlay5oOgoJICAqIGdzdC9mbHgvZ3N0Zmx4ZGVjLmg6CgkgICogZ3N0L2dvb20vZ3N0Z29vbS5oOgoJICAqIGdzdC9pY3lkZW11eC9nc3RpY3lkZW11eC5oOgoJICAqIGdzdC9pZDNkZW11eC9nc3RpZDNkZW11eC5oOgoJICAqIGdzdC9sYXcvYWxhdy1kZWNvZGUuaDoKCSAgKiBnc3QvbGF3L2FsYXctZW5jb2RlLmg6CgkgICogZ3N0L2xhdy9tdWxhdy1kZWNvZGUuaDoKCSAgKiBnc3QvbGF3L211bGF3LWVuY29kZS5oOgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguaDoKCSAgKiBnc3QvbWVkaWFuL2dzdG1lZGlhbi5oOgoJICAqIGdzdC9vbGRjb3JlL2dzdGFnZ3JlZ2F0b3IuaDoKCSAgKiBnc3Qvb2xkY29yZS9nc3RmZHNpbmsuaDoKCSAgKiBnc3Qvb2xkY29yZS9nc3RtZDVzaW5rLmg6CgkgICogZ3N0L29sZGNvcmUvZ3N0bXVsdGlmaWxlc3JjLmg6CgkgICogZ3N0L29sZGNvcmUvZ3N0cGlwZWZpbHRlci5oOgoJICAqIGdzdC9vbGRjb3JlL2dzdHNoYXBlci5oOgoJICAqIGdzdC9vbGRjb3JlL2dzdHN0YXRpc3RpY3MuaDoKCSAgKiBnc3QvcnRwL2dzdGFzdGVyaXNraDI2My5oOgoJICAqIGdzdC9ydHAvZ3N0cnRwTDE2ZGVwYXkuaDoKCSAgKiBnc3QvcnRwL2dzdHJ0cEwxNnBheS5oOgoJICAqIGdzdC9ydHAvZ3N0cnRwYW1yZGVwYXkuaDoKCSAgKiBnc3QvcnRwL2dzdHJ0cGFtcnBheS5oOgoJICAqIGdzdC9ydHAvZ3N0cnRwZGVwYXkuaDoKCSAgKiBnc3QvcnRwL2dzdHJ0cGdzbWRlcGF5Lmg6CgkgICogZ3N0L3J0cC9nc3RydHBnc21wYXkuaDoKCSAgKiBnc3QvcnRwL2dzdHJ0cGgyNjNwYXkuaDoKCSAgKiBnc3QvcnRwL2dzdHJ0cGgyNjNwZGVwYXkuaDoKCSAgKiBnc3QvcnRwL2dzdHJ0cGgyNjNwcGF5Lmg6CgkgICogZ3N0L3J0cC9nc3RydHBtcDRncGF5Lmg6CgkgICogZ3N0L3J0cC9nc3RydHBtcDR2ZGVwYXkuaDoKCSAgKiBnc3QvcnRwL2dzdHJ0cG1wNHZwYXkuaDoKCSAgKiBnc3QvcnRwL2dzdHJ0cG1wYWRlcGF5Lmg6CgkgICogZ3N0L3J0cC9nc3RydHBtcGFwYXkuaDoKCSAgKiBnc3QvcnRwL2dzdHJ0cHBjbWFkZXBheS5oOgoJICAqIGdzdC9ydHAvZ3N0cnRwcGNtYXBheS5oOgoJICAqIGdzdC9ydHAvZ3N0cnRwcGNtdWRlcGF5Lmg6CgkgICogZ3N0L3J0cC9nc3RydHBwY211cGF5Lmg6CgkgICogZ3N0L3J0cC9nc3RydHBzcGVleGRlcGF5Lmg6CgkgICogZ3N0L3J0cC9nc3RydHBzcGVleHBheS5oOgoJICAqIGdzdC9ydHNwL2dzdHJ0cGRlYy5oOgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuaDoKCSAgKiBnc3Qvc21wdGUvZ3N0c21wdGUuaDoKCSAgKiBnc3QvdWRwL2dzdGR5bnVkcHNpbmsuaDoKCSAgKiBnc3QvdWRwL2dzdG11bHRpdWRwc2luay5oOgoJICAqIGdzdC91ZHAvZ3N0dWRwc2luay5oOgoJICAqIGdzdC91ZHAvZ3N0dWRwc3JjLmg6CgkgICogZ3N0L3ZpZGVvZmlsdGVyL2dzdHZpZGVvYmFsYW5jZS5oOgoJICAqIGdzdC92aWRlb2ZpbHRlci9nc3R2aWRlb2ZsaXAuaDoKCSAgKiBzeXMvb3NzL2dzdG9zc2RtYWJ1ZmZlci5oOgoJICAqIHN5cy9vc3MvZ3N0b3NzbWl4ZXJlbGVtZW50Lmg6CgkgICogc3lzL29zcy9nc3Rvc3NzaW5rLmg6CgkgICogc3lzL29zcy9nc3Rvc3NzcmMuaDoKCSAgKiBzeXMvb3N4dmlkZW8vb3N4dmlkZW9zaW5rLmg6CgkgICogc3lzL3N1bmF1ZGlvL2dzdHN1bmF1ZGlvbWl4ZXIuaDoKCSAgKiBzeXMvc3VuYXVkaW8vZ3N0c3VuYXVkaW9zaW5rLmg6CgkgICogc3lzL3hpbWFnZS9nc3R4aW1hZ2VzcmMuaDoKCSAgRml4IG1vcmUgZ29iamVjdCBtYWNyb3M6IG9iajwtPmtsYXNzLCBHc3RYWFg8LT5Hc3RYWFhDbGFzcwoKMjAwNi0wNS0zMSAxNjoyMzo1NCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9nb29tL2dzdGdvb20uKjogSGFuZGxlIFFvUy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2dvb20vZ3N0Z29vbS5jOiAoZ3N0X2dvb21fY2xhc3NfaW5pdCksIChnc3RfZ29vbV9pbml0KSwKCSAgKGdzdF9nb29tX2ZpbmFsaXplKSwgKGdzdF9nb29tX3Jlc2V0KSwgKGdzdF9nb29tX3Npbmtfc2V0Y2FwcyksCgkgIChnc3RfZ29vbV9zcmNfc2V0Y2FwcyksIChnc3RfZ29vbV9zcmNfZXZlbnQpLAoJICAoZ3N0X2dvb21fc2lua19ldmVudCksIChnZXRfYnVmZmVyKSwgKGdzdF9nb29tX2NoYWluKSwKCSAgKGdzdF9nb29tX2NoYW5nZV9zdGF0ZSk6CgkgICogZ3N0L2dvb20vZ3N0Z29vbS5oOgoJICBIYW5kbGUgUW9TLgoJICBIYW5kbGUgZmx1c2hpbmcsIGRpc2NvbnQgYW5kIGV2ZW50cy4KCSAgRml4IHRpbWVzdGFtcHMgYW5kIHZhcmlvdXMgb3RoZXIgY2xlYW51cHMuCgoyMDA2LTA1LTMxIDE1OjM3OjE2ICswMDAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSAgZXh0L3JhdzEzOTQvZ3N0ZHYxMzk0c3JjLmM6IEZpeCBidXMgcmVzZXQgd2hlbiB1c2luZyBsaWJpZWM2MTg4MwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNi0wNS0zMSAgWmFoZWVyIEFiYmFzIE1lcmFsaSAgPHphaGVlcmFiYmFzIGF0IG1lcmFsaSBkb3Qgb3JnPgoJICAqIGV4dC9yYXcxMzk0L2dzdGR2MTM5NHNyYy5jOiAoZ3N0X2R2MTM5NHNyY19idXNfcmVzZXQpOgoJICBGaXggYnVzIHJlc2V0IHdoZW4gdXNpbmcgbGliaWVjNjE4ODMKCjIwMDYtMDUtMzEgMTA6MzE6MjMgKzAwMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJICBjb25maWd1cmUuYWM6IERldGVjdCBsaWJpZWM2MTg4MyBhbmQgc2V0IG5lY2Vzc2FyeSBDRkxBR1MgYW5kIExJQlMgZm9yIGR2MTM5NC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDYtMDUtMzEgIFphaGVlciBBYmJhcyBNZXJhbGkgIDx6YWhlZXJhYmJhcyBhdCBtZXJhbGkgZG90IG9yZz4KCSAgKiBjb25maWd1cmUuYWM6CgkgIERldGVjdCBsaWJpZWM2MTg4MyBhbmQgc2V0IG5lY2Vzc2FyeSBDRkxBR1MgYW5kIExJQlMgZm9yIGR2MTM5NC4KCSAgKiBleHQvcmF3MTM5NC9NYWtlZmlsZS5hbToKCSAgQWRkIENGTEFHUy4KCSAgKiBleHQvcmF3MTM5NC9nc3RkdjEzOTRzcmMuYzogKGdzdF9kdjEzOTRzcmNfaWVjNjE4ODNfcmVjZWl2ZSksCgkgIE5ldyBtZXRob2QsIHRvIHJlY2VpdmUgdXNpbmcgbGliaWVjNjE4ODMuCgkgIChnc3RfZHYxMzk0c3JjX2lzb19yZWNlaXZlKSwKCSAgI2lmZGVmJ2Qgb3V0IGlmIGxpYmllYzYxODgzIGlzIHByZXNlbnQuCgkgIChnc3RfZHYxMzk0c3JjX2J1c19yZXNldCksCgkgIEdldCB1c2VyZGF0YSBjb3JyZWN0bHkgaWYgdXNpbmcgbGliaWVjNjE4ODMuCgkgIChnc3RfZHYxMzk0c3JjX2NyZWF0ZSksCgkgIFdoZW4gdXNpbmcgbGliaWVjNjE4ODMsIG9ubHkgcG9sbCBvbmUgZmQgYW5kIG5vIG5lZWQgdG8gcmVhZC4KCSAgKGdzdF9kdjEzOTRzcmNfZGlzY292ZXJfYXZjX25vZGUpLAoJICBSZXBsYWNlIGdfd2FybmluZ3MuCgkgIChnc3RfZHYxMzk0c3JjX3N0YXJ0KSwKCSAgQ3JlYXRlIG5ldyBoYW5kbGUgd2hlbiB3ZSBrbm93IHdoaWNoIGR2IHBvcnQuICBNb3JlIHJlbGlhYmxlCgkgIHRoYW4gc2V0dGluZyBwb3J0IG9uIGFuIGV4aXN0aW5nIGhhbmRsZS4gIEluaXRpYWxpc2UgbGliaWVjNjE4ODMuCgkgIChnc3RfZHYxMzk0c3JjX3N0b3ApOgoJICBJZiB1c2luZyBsaWJpZWM2MTg4MywgdGhlbiBjbGVhbnVwIGl0cyBoYW5kbGUgcHJvcGVybHkuCgkgICogZXh0L3JhdzEzOTQvZ3N0ZHYxMzk0c3JjLmg6CgkgIEFkZCBsaWJpZWM2MTg4MyBoYW5kbGUuCgoyMDA2LTA1LTMwIDIxOjA3OjM4ICswMDAwICBTw6liYXN0aWVuIE1vdXR0ZSA8c2ViYXN0aWVuQG1vdXR0ZS5uZXQ+CgoJICBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6IGFkZCBhbiBleHBsaWNpdCBkbGwgaW1wb3J0ZWQgZGVjbGFyYXRpb24gZm9yIEdTVF9DQVRfRVZFTlQrV0lOMzIKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOgoJICBhZGQgYW4gZXhwbGljaXQgZGxsIGltcG9ydGVkIGRlY2xhcmF0aW9uIGZvciBHU1RfQ0FUX0VWRU5UK1dJTjMyCgkgICogd2luMzIvTUFOSUZFU1Q6CgkgIHNvcnQgZmlsZSBsaXN0aW5nCgkgICogd2luMzIvdnM2L2xpYmdzdGF2aS5kc3A6CgkgIGFkZCBnc3RhdmltdXguYyB0byB0aGUgcHJvamVjdAoJICAqIHdpbjMyL3ZzNi9saWJnc3RpZDNkZW11eC5kc3A6CgkgIGFkZCBsaW5rIHRvIHpsaWIgbGlicmFyeQoJICAqIHdpbjMyL3ZzNi9saWJnc3RtYXRyb3NrYS5kc3A6CgkgIGFkZCBtYXRyb3NrYS1pZHMuYyB0byB0aGUgcHJvamVjdAoKMjAwNi0wNS0zMCAxNDozNToxOCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8bWFpbEBzbG9tb3NuYWlsLmRlPgoKCSAgQWRkIGFwZXYybXV4IGVsZW1lbnQgKCMzNDMxMjIpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFNlYmFzdGlhbiBEcsO2Z2UgIDxtYWlsIGF0IHNsb21vc25haWwgZGUgPgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtZG9jcy5zZ21sOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICAqIGV4dC90YWdsaWIvTWFrZWZpbGUuYW06CgkgICogZXh0L3RhZ2xpYi9nc3RhcGV2Mm11eC5jYzoKCSAgKiBleHQvdGFnbGliL2dzdGFwZXYybXV4Lmg6CgkgICogZXh0L3RhZ2xpYi9nc3RpZDN2Mm11eC5jYzoKCSAgKiBleHQvdGFnbGliL2dzdHRhZ2xpYm11eC5jOiAocGx1Z2luX2luaXQpOgoJICAqIGV4dC90YWdsaWIvZ3N0dGFnbGlibXV4Lmg6CgkgIEFkZCBhcGV2Mm11eCBlbGVtZW50ICgjMzQzMTIyKS4KCSAgKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hcGV2Mm11eC5jOgoJICAodGVzdF90YWdsaWJfYXBldjJtdXhfY3JlYXRlX3RhZ3MpLAoJICAodGVzdF90YWdsaWJfYXBldjJtdXhfY2hlY2tfdGFncyksIChmaWxsX21wM19idWZmZXIpLCAoZ290X2J1ZmZlciksCgkgIChkZW11eF9wYWRfYWRkZWQpLCAodGVzdF90YWdsaWJfYXBldjJtdXhfY2hlY2tfb3V0cHV0X2J1ZmZlciksCgkgICh0ZXN0X3RhZ2xpYl9hcGV2Mm11eF93aXRoX3RhZ3MpLCAoR1NUX1NUQVJUX1RFU1QpLAoJICAoYXBldjJtdXhfc3VpdGUpLCAobWFpbik6CgkgIEFkZCB1bml0IHRlc3QgZm9yIGFwZXYybXV4IGVsZW1lbnQuCgoyMDA2LTA1LTI4IDE3OjMzOjEzICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0LzogR1NUX1BUUl9GT1JNQVQgc2hvdWxkIGJlIHVzZWQgdG8gcHJpbnQgY2FwcyBpbiBkZWJ1ZyBzdGF0ZW1lbnRzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYWxwaGEvZ3N0YWxwaGFjb2xvci5jOiAoZ3N0X2FscGhhX2NvbG9yX3RyYW5zZm9ybV9jYXBzKToKCSAgKiBnc3QvZGVidWcvbmVnb3RpYXRpb24uYzogKGdzdF9uZWdvdGlhdGlvbl91cGRhdGVfY2Fwcyk6CgkgICogZ3N0L3J0cC9nc3RydHBpbGJjZGVwYXkuYzogKGdzdF9ydHBfaWxiY19kZXBheV9zZXRjYXBzKToKCSAgR1NUX1BUUl9GT1JNQVQgc2hvdWxkIGJlIHVzZWQgdG8gcHJpbnQgY2FwcyBpbiBkZWJ1ZyBzdGF0ZW1lbnRzLgoKMjAwNi0wNS0yOCAxNDozODoxMSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AdWJ1bnR1LmNvbT4KCgkgIGdzdC9hcGV0YWcvZ3N0YXBlZGVtdXguYzogU29tZSBjbGVhbi11cHMgYW5kIGFkZGl0aW9uczogbWFwIEFQRSAnZmlsZScgdGFnIHRvCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogU2ViYXN0aWFuIERyw7ZnZSAgPHNsb21vIGF0IHVidW50dSBkb3QgY29tPgoJICAqIGdzdC9hcGV0YWcvZ3N0YXBlZGVtdXguYzogKGFwZV9kZW11eF9nZXRfZ3N0X3RhZ19mcm9tX3RhZyksCgkgIChhcGVfZGVtdXhfcGFyc2VfdGFncyk6CgkgIFNvbWUgY2xlYW4tdXBzIGFuZCBhZGRpdGlvbnM6IG1hcCBBUEUgJ2ZpbGUnIHRhZyB0bwoJICBHU1RfVEFHX0xPQ0FUSU9OICgjMzQzMTIzKTsgYWRkIHN1cHBvcnQgZm9yIGV4dHJhY3RpbmcKCSAgdGhlIHRyYWNrIGNvdW50IGFuZCBjbGVhbiB1cCBwYXJzaW5nIGEgYml0ICgjMzQzMTI3KS4KCjIwMDYtMDUtMjggMTM6NDk6MTIgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBleHQvanBlZy9nc3RqcGVnZGVjLmM6IEluaXRpYWxpemUgc2VnbWVudCB0byBHU1RfRk9STUFUX1VOREVGSU5FRCBpbiBSRUFEWS0+UEFVU0VELgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvanBlZy9nc3RqcGVnZGVjLmM6IChnc3RfanBlZ19kZWNfY2hhbmdlX3N0YXRlKToKCSAgSW5pdGlhbGl6ZSBzZWdtZW50IHRvIEdTVF9GT1JNQVRfVU5ERUZJTkVEIGluIFJFQURZLT5QQVVTRUQuCgoyMDA2LTA1LTI4IDEzOjMwOjEzICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgZXh0L2pwZWcvZ3N0anBlZ2RlYy4qOiBDbGlwIG91dGdvaW5nIGJ1ZmZlcnMgYWNjb3JkaW5nIHRvIGN1cnJlbnRseSBjb25maWd1cmVkIHNlZ21lbnQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9qcGVnL2dzdGpwZWdkZWMuYzogKGdzdF9qcGVnX2RlY19maW5hbGl6ZSksCgkgIChnc3RfanBlZ19kZWNfaW5pdCksIChnc3RfanBlZ19kZWNfY2hhaW4pLAoJICAoZ3N0X2pwZWdfZGVjX3NpbmtfZXZlbnQpLCAoZ3N0X2pwZWdfZGVjX2NoYW5nZV9zdGF0ZSk6CgkgICogZXh0L2pwZWcvZ3N0anBlZ2RlYy5oOgoJICBDbGlwIG91dGdvaW5nIGJ1ZmZlcnMgYWNjb3JkaW5nIHRvIGN1cnJlbnRseSBjb25maWd1cmVkIHNlZ21lbnQuCgoyMDA2LTA1LTI4IDEwOjM5OjAwICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L3RhZ2xpYi9nc3RpZDN2Mm11eC5jYzogSGFuZGxlICB3cml0aW5nIG9mIHRyYWNrLWNvdW50IG9yIGFsYnVtLXZvbHVtZS1jb3VudCB3aXRob3V0IHRyYWNrLW51bWJlciBvciBhbGJ1bWUtdm9sdW1lLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC90YWdsaWIvZ3N0aWQzdjJtdXguY2M6CgkgIEhhbmRsZSAgd3JpdGluZyBvZiB0cmFjay1jb3VudCBvciBhbGJ1bS12b2x1bWUtY291bnQgd2l0aG91dAoJICB0cmFjay1udW1iZXIgb3IgYWxidW1lLXZvbHVtZS1udW1iZXIgKGluIHRoaXMgY2FzZSB0aGUgbnVtYmVyCgkgIHdpbGwganVzdCBiZSBzZXQgdG8gMCkuCgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvaWQzdjJtdXguYzogKHRlc3RfdGFnbGliX2lkM211eF9jaGVja190YWdzKToKCSAgSXQgd291bGQgYmUgbmljZSBpZiB3ZSBhY3R1YWxseSBjaGVja2VkIHRoZSB2YWx1ZXMgcmVjZWl2ZWQgZm9yCgkgIHRyYWNrL2FsYnVtLXZvbHVtZSBudW1iZXIvY291bnQgaW4gIF9jaGVja190YWdzKCksIHJhdGhlciB0aGFuCgkgIHNldHRpbmcgdGhlbSBhZ2FpbiAuLi4KCjIwMDYtMDUtMjggMTA6MDU6NDcgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvaWQzZGVtdXgvaWQzdjJmcmFtZXMuYzogQSB0cmFjay92b2x1bWUgbnVtYmVyIG9yIGNvdW50IG9mIDAgZG9lcyBub3QgbWFrZSBzZW5zZSwganVzdCBpZ25vcmUgaXQgYWxvbmcgd2l0aCBuZWdhdGkuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2lkM2RlbXV4L2lkM3YyZnJhbWVzLmM6IChpZDN2Ml90YWdfdG9fdGFnbGlzdCk6CgkgIEEgdHJhY2svdm9sdW1lIG51bWJlciBvciBjb3VudCBvZiAwIGRvZXMgbm90IG1ha2Ugc2Vuc2UsCgkgIGp1c3QgaWdub3JlIGl0IGFsb25nIHdpdGggbmVnYXRpdmUgbnVtYmVycyAoYSB0YWcgbWlnaHQKCSAgb25seSBjb250YWluIGEgdHJhY2sgY291bnQgd2l0aG91dCBhIHRyYWNrIG51bWJlcikuCgoyMDA2LTA1LTI3IDEzOjExOjM3ICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgZXh0L2pwZWcvZ3N0anBlZ2RlYy5jOiBBYm9ydCBkZWNvbXByZXNzaW9uIHdoZW4gcmVjZWl2aW5nIEZMVVNIX1NUT1AuIFRoaXMgc2hvdWxkIGF2b2lkIGlzc3VlcyB3aGVuIGludGVycnVwdGluZyBkZWNvLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9qcGVnL2dzdGpwZWdkZWMuYzogKGdzdF9qcGVnX2RlY19pbml0KSwKCSAgKGdzdF9qcGVnX2RlY19zaW5rX2V2ZW50KToKCSAgQWJvcnQgZGVjb21wcmVzc2lvbiB3aGVuIHJlY2VpdmluZyBGTFVTSF9TVE9QLiBUaGlzIHNob3VsZCBhdm9pZAoJICBpc3N1ZXMgd2hlbiBpbnRlcnJ1cHRpbmcgZGVjb2Rpbmcgd2l0aCBmbHVzaGVzLgoKMjAwNi0wNS0yNyAxMjoxMDo1MCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC9mbGFjL2dzdGZsYWMuYzogRG9uJ3QgI2luY2x1ZGUgZmlsZSB3ZSBkb24ndCBkaXN0IGFueSBsb25nZXIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9mbGFjL2dzdGZsYWMuYzoKCSAgRG9uJ3QgI2luY2x1ZGUgZmlsZSB3ZSBkb24ndCBkaXN0IGFueSBsb25nZXIuCgoyMDA2LTA1LTI3IDExOjI3OjU5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgUkVBRE1FOiBSZXBsYWNlIGN1cnJlbnQgUkVBRE1FIChjb250YWluaW5nIHRoZSByZWxlYXNlIG5vdGVzIGZyb20gc29tZSAwLjkueCB2ZXJzaW9uKSB3aXRoIGEgcHJvcGVyIFJFQURNRSB0YWtlbiBmcm9tLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIFJFQURNRToKCSAgUmVwbGFjZSBjdXJyZW50IFJFQURNRSAoY29udGFpbmluZyB0aGUgcmVsZWFzZSBub3RlcyBmcm9tCgkgIHNvbWUgMC45LnggdmVyc2lvbikgd2l0aCBhIHByb3BlciBSRUFETUUgdGFrZW4gZnJvbSB0aGUgY29yZS4KCjIwMDYtMDUtMjYgMjI6MzU6MDAgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC9zcGVjdHJ1bS86IGFkZGVkIGFub3RoZXIgZXhhbXBsZQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvc3BlY3RydW0vTWFrZWZpbGUuYW06CgkgICogZ3N0L3NwZWN0cnVtL2RlbW8tYXVkaW90ZXN0LmM6IChvbl9mcmVxdWVuY3lfY2hhbmdlZCksCgkgIChzcGVjdHJ1bV9jaGFpbiksIChtYWluKToKCSAgKiBnc3Qvc3BlY3RydW0vZGVtby1vc3NzcmMuYzoKCSAgYWRkZWQgYW5vdGhlciBleGFtcGxlCgkgICogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJICBmaXggdHlwbwoKMjAwNi0wNS0yNiAxMzoxNjo1NCArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogQ2xpcCB0aGUgb3V0cHV0ZWQgTkVXU0VHTUVOVCBzdG9wIHRpbWUgdG8gdGhlIGNvbmZpZ3VyZWQgc2VnbWVudCBzdG9wIHRpbWUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKGdzdF9xdGRlbXV4X2FjdGl2YXRlX3NlZ21lbnQpOgoJICBDbGlwIHRoZSBvdXRwdXRlZCBORVdTRUdNRU5UIHN0b3AgdGltZSB0byB0aGUgY29uZmlndXJlZCBzZWdtZW50IHN0b3AKCSAgdGltZS4KCjIwMDYtMDUtMjYgMTE6NDg6NDQgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IERvbid0IGNsZWFyIHRoZSBydW5uaW5nIHZhcmlhYmxlIGluIHRoZSBzZWVrIGNvZGUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKGdzdF9xdGRlbXV4X2RvX3NlZWspOgoJICBEb24ndCBjbGVhciB0aGUgcnVubmluZyB2YXJpYWJsZSBpbiB0aGUgc2VlayBjb2RlLgoKMjAwNi0wNS0yNCAxNjowMzo0MCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGV4dC9kdi9nc3RkdmRlbXV4LmM6IEltcGxlbWVudCBFT1MgY29ycmVjdGx5IGJ5IGVpdGhlciBwb3N0aW5nCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9kdi9nc3RkdmRlbXV4LmM6IChnc3RfZHZkZW11eF9sb29wKToKCSAgSW1wbGVtZW50IEVPUyBjb3JyZWN0bHkgYnkgZWl0aGVyIHBvc3RpbmcKCSAgU0VHTUVOVF9ET05FIG9yIHB1c2hpbmcgYW4gRU9TIG1lc3NhZ2UgZGVwZW5kaW5nCgkgIG9uIHRoZSBzZWVrIHR5cGUuIEZpeGVzICMzNDI1OTIKCjIwMDYtMDUtMjQgMTE6NTY6NDMgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IERldGVjdCBRQ0VMUCBpbiBtcDRhIGRlc2NyaXB0b3JzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChnc3RfcXRkZW11eF9oYW5kbGVfZXNkcyk6CgkgIERldGVjdCBRQ0VMUCBpbiBtcDRhIGRlc2NyaXB0b3JzLgoKMjAwNi0wNS0yNCAxMDowMDo1MCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9sYXcvOiBTb21lIGNsZWFudXBzIGluIHRoZSBjaGFpbiBmdW5jdGlvbnMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9sYXcvYWxhdy1kZWNvZGUuYzogKGdzdF9hbGF3ZGVjX2NoYWluKToKCSAgKiBnc3QvbGF3L2FsYXctZGVjb2RlLmg6CgkgICogZ3N0L2xhdy9hbGF3LWVuY29kZS5jOiAoZ3N0X2FsYXdlbmNfY2hhaW4pOgoJICAqIGdzdC9sYXcvYWxhdy1lbmNvZGUuaDoKCSAgKiBnc3QvbGF3L211bGF3LWRlY29kZS5jOiAoZ3N0X211bGF3ZGVjX2NoYWluKToKCSAgKiBnc3QvbGF3L211bGF3LWRlY29kZS5oOgoJICAqIGdzdC9sYXcvbXVsYXctZW5jb2RlLmM6IChnc3RfbXVsYXdlbmNfY2hhaW4pOgoJICAqIGdzdC9sYXcvbXVsYXctZW5jb2RlLmg6CgkgIFNvbWUgY2xlYW51cHMgaW4gdGhlIGNoYWluIGZ1bmN0aW9ucy4KCSAgUmVtb3ZlIHNvbWUgR1N0cmVhbWVyIDAuMC4yIGJpdHMuCgoyMDA2LTA1LTIzIDIwOjE1OjA0ICswMDAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYW5hdXdAc2t5bmV0LmJlPgoKCSAgZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOiBnc3RfY29sbGVjdF9wYWRzX3N0b3AoKSBuZWVkcyB0byBiZSBjYWxsZWQgYmVmb3JlIGNoYWluaW5nIHVwIHRvIHRoZSBwYXJlbnQgY2xhc3MgKCMzNDI3Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogTWFyayBOYXV3ZWxhZXJ0cyAgPG1hbmF1dyBhdCBza3luZXQgYmU+CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOiAoZ3N0X21hdHJvc2thX211eF9jaGFuZ2Vfc3RhdGUpOgoJICBnc3RfY29sbGVjdF9wYWRzX3N0b3AoKSBuZWVkcyB0byBiZSBjYWxsZWQgYmVmb3JlIGNoYWluaW5nIHVwCgkgIHRvIHRoZSBwYXJlbnQgY2xhc3MgKCMzNDI3MzQpLgoKMjAwNi0wNS0yMyAxNjo0NToyMiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC9mbGFjLzogUmVtb3ZlIGJhY2t3YXJkcyBjb21wYXRpYmlsaXR5IGNydWZ0IGZvciBkZWFsaW5nIHdpdGggRkxBQyBBUEkgY2hhbmdlcyBpbiB0aGUgMS4wLnggc2VyaWVzIC0gd2UgcmVxdWlyZSAxLi4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZmxhYy9NYWtlZmlsZS5hbToKCSAgKiBleHQvZmxhYy9mbGFjX2NvbXBhdC5oOgoJICAqIGV4dC9mbGFjL2dzdGZsYWMuYzoKCSAgKiBleHQvZmxhYy9nc3RmbGFjZGVjLmM6IChnc3RfZmxhY19kZWNfaW5pdCk6CgkgICogZXh0L2ZsYWMvZ3N0ZmxhY2VuYy5jOgoJICBSZW1vdmUgYmFja3dhcmRzIGNvbXBhdGliaWxpdHkgY3J1ZnQgZm9yIGRlYWxpbmcgd2l0aCBGTEFDIEFQSQoJICBjaGFuZ2VzIGluIHRoZSAxLjAueCBzZXJpZXMgLSB3ZSByZXF1aXJlIDEuMS4xIG9yIG5ld2VyIHRoZXNlIGRheXMuCgoyMDA2LTA1LTIzIDEzOjQ0OjExICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L21hdHJvc2thLzogQWRkIHN1cHBvcnQgZm9yIG11eGluZy9kZW11eGluZyB0aGVvcmEgdmlkZW8gKCMzNDI0NDg7IHRvbyBiYWQgbm9uZSBvZiB0aGUgdXN1YWwgbGludXggcGxheWVycyBjYW4gYWN0Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOiAoZ3N0X21hdHJvc2thX2RlbXV4X2FkZF9zdHJlYW0pLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X3B1c2hfeGlwaF9jb2RlY19wcml2X2RhdGEpLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X3BhcnNlX2Jsb2NrZ3JvdXBfb3Jfc2ltcGxlYmxvY2spLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X3ZpZGVvX2NhcHMpLCAoZ3N0X21hdHJvc2thX2RlbXV4X2F1ZGlvX2NhcHMpOgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1pZHMuaDoKCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6IChnc3RfbWF0cm9za2FfbXV4X2Jhc2VfaW5pdCksCgkgIChnc3RfbWF0cm9za2FfbXV4X3ZpZGVvX3BhZF9zZXRjYXBzKSwKCSAgKHhpcGgzX3N0cmVhbWhlYWRlcl90b19jb2RlY2RhdGEpLAoJICAodm9yYmlzX3N0cmVhbWhlYWRlcl90b19jb2RlY2RhdGEpLAoJICAodGhlb3JhX3N0cmVhbWhlYWRlcl90b19jb2RlY2RhdGEpLAoJICAoZ3N0X21hdHJvc2thX211eF9hdWRpb19wYWRfc2V0Y2FwcyksCgkgIChnc3RfbWF0cm9za2FfbXV4X3dyaXRlX2RhdGEpOgoJICBBZGQgc3VwcG9ydCBmb3IgbXV4aW5nL2RlbXV4aW5nIHRoZW9yYSB2aWRlbyAoIzM0MjQ0ODsgdG9vIGJhZAoJICBub25lIG9mIHRoZSB1c3VhbCBsaW51eCBwbGF5ZXJzIGNhbiBhY3R1YWxseSBwbGF5IHRoaXMpLiBQbGF5YmFjawoJICBpbiBHU3RyZWFtZXIgd2lsbCByZXF1aXJlIGFkZGl0aW9uYWwgY2hhbmdlcyB0byB0aGVvcmFkZWMgaW4gLWJhc2UuCgkgIFJlZmFjdG9yIHN0cmVhbWhlYWRlcnMgPD0+IENvZGVjUHJpdmF0ZURhdGEgY29kZSBhIGJpdDsgc29tZSBzbWFsbAoJICBjbGVhbnVwcy4KCjIwMDYtMDUtMjIgMTg6MDA6NTIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IHBvL1BPVEZJTEVTLmluOgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChxdGRlbXV4X3BhcnNlX3RyYWspLCAocGx1Z2luX2luaXQpOgoJICBwby9QT1RGSUxFUy5pbjoKCSAgVGhyb3cgYW4gZXJyb3Igd2hlbiB0aGUgZmlsZSBpcyBlbmNyeXB0ZWQuIE1vdmUgcGx1Z2luX2luaXQgc3R1ZmYKCSAgdG8gdGhlIGVuZCBvZiB0aGUgZmlsZSwgYWRkIHN0dWZmIGZvciBpMThuLCBtYWtlIGRlYnVnIGNhdGVnb3J5CgkgIHN0YXRpYy4KCjIwMDYtMDUtMjIgMTU6MjM6MDUgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvanBlZy9nc3RqcGVnZGVjLmM6IEZpeCBjcmFzaGVzIHdoZW4gdGhlIGhvcml6b250YWwgc3Vic2FtcGxpbmcgaXMgMS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2pwZWcvZ3N0anBlZ2RlYy5jOiAoaHJlc2FtcGxlY3B5MSksCgkgIChnc3RfanBlZ19kZWNfZGVjb2RlX2luZGlyZWN0KSwgKGdzdF9qcGVnX2RlY19jaGFpbik6CgkgIEZpeCBjcmFzaGVzIHdoZW4gdGhlIGhvcml6b250YWwgc3Vic2FtcGxpbmcgaXMgMS4KCSAgRml4ZXMgIzM0MjA5Ny4KCjIwMDYtMDUtMjIgMTQ6NTY6MjkgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogZ3N0L3J0cC9nc3Rhc3Rlcmlza2gyNjMuaDoKCSogZ3N0L3J0cC9nc3RydHBMMTZkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cEwxNnBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGFtcmRlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwYW1ycGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwZ3NtZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBnc21wYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBoMjYzcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2M3BkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNwcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwbXA0Z3BheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cG1wNHZkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cG1wNHZwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBtcGFkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cG1wYXBheS5oOgoJICBjb3ZlciB1cCB0aGUgZGlydHkgdHJ1dGgKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGNvdmVyIHVwIHRoZSBkaXJ0eSB0cnV0aAoKMjAwNi0wNS0yMiAxMzo1MzoxOCArMDAwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFuYXV3QHNreW5ldC5iZT4KCgkgIGdzdC9hdmkvZ3N0YXZpbXV4Lio6IC0gYWRkIG9kbWwgKGxhcmdlIGZpbGUpIGluZGV4IHN1cHBvcnQKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBNYXJrIE5hdXdlbGFlcnRzICA8bWFuYXV3IGF0IHNreW5ldCBiZT4KCSAgKiBnc3QvYXZpL2dzdGF2aW11eC5jOiAoZ3N0X2F2aV9tdXhfZmluYWxpemUpLCAoZ3N0X2F2aV9tdXhfaW5pdCksCgkgIChnc3RfYXZpX211eF92aWRzaW5rX3NldF9jYXBzKSwgKGdzdF9hdmlfbXV4X2F1ZHNpbmtfc2V0X2NhcHMpLAoJICAoZ3N0X2F2aV9tdXhfd3JpdGVfdGFnKSwgKGdzdF9hdmlfbXV4X3JpZmZfZ2V0X2F2aV9oZWFkZXIpLAoJICAoZ3N0X2F2aV9tdXhfcmlmZl9nZXRfYXZpeF9oZWFkZXIpLCAoZ3N0X2F2aV9tdXhfd3JpdGVfYXZpeF9pbmRleCksCgkgIChnc3RfYXZpX211eF9hZGRfaW5kZXgpLCAoZ3N0X2F2aV9tdXhfYmlnZmlsZSksCgkgIChnc3RfYXZpX211eF9zdGFydF9maWxlKSwgKGdzdF9hdmlfbXV4X3N0b3BfZmlsZSksCgkgIChnc3RfYXZpX211eF9oYW5kbGVfZXZlbnQpLCAoZ3N0X2F2aV9tdXhfZG9fYXVkaW9fYnVmZmVyKSwKCSAgKGdzdF9hdmlfbXV4X2RvX3ZpZGVvX2J1ZmZlciksIChnc3RfYXZpX211eF9kb19vbmVfYnVmZmVyKSwKCSAgKGdzdF9hdmlfbXV4X2NoYW5nZV9zdGF0ZSk6CgkgICogZ3N0L2F2aS9nc3RhdmltdXguaDoKCSAgU29tZSBlbmhhbmNlbWVudHMgZm9yIGF2aW11eCAoIzM0MjUyNik6CgkgIC0gYWRkIG9kbWwgKGxhcmdlIGZpbGUpIGluZGV4IHN1cHBvcnQKCSAgLSBzdG9yZSBjb2RlYyBpbml0IGRhdGEgKGUuZy4gaHVmZnl1dikKCSAgLSBtaXNjZWxsYW5lb3VzIG90aGVyIGZpeGVzL2NsZWFudXBzCgoyMDA2LTA1LTIyIDEzOjUxOjMwICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIGdzdC9ydHAvZ3N0YXN0ZXJpc2toMjYzLmM6CgkqIGdzdC9ydHAvZ3N0cnRwTDE2ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBhbXJkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGFtcnBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGdzbWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2M3BheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNwZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjYzcHBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGlsYmNkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGlsYmNwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDRncGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXA0dmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXA0dnBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wYWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXBhcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwcGNtYWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwcGNtYXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHBjbXVkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHBjbXVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBzcGVleGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwc3BlZXhwYXkuYzoKCSAgZml4IGRlc2NyaXB0aW9ucyBhbmQgbGljZW5zZSBibG9ja3MgY3V0IGFuZCBwYXN0ZSBhbnlvbmUgPwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgZml4IGRlc2NyaXB0aW9ucyBhbmQgbGljZW5zZSBibG9ja3MKCSAgY3V0IGFuZCBwYXN0ZSBhbnlvbmUgPwoKMjAwNi0wNS0yMSAxNjo0MTo0NCArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmM6IFVzZSBib2lsZXJwbGF0ZSBtYWNybywgZml4IHN0cmluZ3MgdG8gbWF0Y2ggcGx1Z2luLW1vdmFsLXJlcXVpcmVtZW50cwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uYzogKGdzdF9zcGVjdHJ1bV9jbGFzc19pbml0KSwKCSAgKGdzdF9zcGVjdHJ1bV9pbml0KSwgKGdzdF9zcGVjdHJ1bV9zZXRfc2lua19jYXBzKSwKCSAgKGdzdF9zcGVjdHJ1bV9nZXRfc2lua19jYXBzKSwgKGdzdF9zcGVjdHJ1bV9jaGFpbik6CgkgIFVzZSBib2lsZXJwbGF0ZSBtYWNybywgZml4IHN0cmluZ3MgdG8gbWF0Y2ggcGx1Z2luLW1vdmFsLXJlcXVpcmVtZW50cwoKMjAwNi0wNS0yMSAxNjoyMzoyMyArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L3NwZWN0cnVtL01ha2VmaWxlLmFtOiBMaW5rIHRvIGJhc2UgbGlicmFyaWVzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9zcGVjdHJ1bS9NYWtlZmlsZS5hbToKCSAgTGluayB0byBiYXNlIGxpYnJhcmllcwoJICAqIGdzdC9zcGVjdHJ1bS9kZW1vLW9zc3NyYy5jOiAobWFpbik6CgkgIHVzZSBuZXcgdGhyZXNoaG9sZCBwcm9wZXJ0eQoJICAqIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5jOiAoZ3N0X3NwZWN0cnVtX2NsYXNzX2luaXQpLAoJICAoZ3N0X3NwZWN0cnVtX2luaXQpLCAoZ3N0X3NwZWN0cnVtX2Rpc3Bvc2UpLAoJICAoZ3N0X3NwZWN0cnVtX3NldF9wcm9wZXJ0eSksIChnc3Rfc3BlY3RydW1fc2V0X3NpbmtfY2FwcyksCgkgIChnc3Rfc3BlY3RydW1fZ2V0X3NpbmtfY2FwcyksIChnc3Rfc3BlY3RydW1fY2hhaW4pLAoJICAoZ3N0X3NwZWN0cnVtX2NoYW5nZV9zdGF0ZSk6CgkgICogZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmg6CgkgIFVzZSBnc3RfYWRhcHRlciwgc3VwcG9ydCBtdWx0aXBsZS1jaGFubmVscywgYWRkIHRocmVzaG9sZCBwcm9wZXJ0eSBmb3IKCSAgcmVzdWx0LCBhZGQgZG9jcywgZml4IHJlc3VsdGluZyBzcGVjdHJ1bSByYW5nZSAod2FzIGluY2x1ZGluZyBtaXJyb3JlZAoJICByZXN1bHRzKQoKMjAwNi0wNS0yMCAyMjo0MjoxNSArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgSW5pdGlhbCBwb3J0IG9mIHRoZSBzcGVjdHJ1bSBlbGVtZW50CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBnc3Qvc3BlY3RydW0vZGVtby1vc3NzcmMuYzogKHNwZWN0cnVtX2NoYWluKSwgKG1haW4pOgoJICAqIGdzdC9zcGVjdHJ1bS9maXhfZmZ0LmM6IChnc3Rfc3BlY3RydW1fZml4X2RvdCk6CgkgICogZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmM6IChnc3Rfc3BlY3RydW1fZ2V0X3R5cGUpLAoJICAoZ3N0X3NwZWN0cnVtX2Jhc2VfaW5pdCksIChnc3Rfc3BlY3RydW1fY2xhc3NfaW5pdCksCgkgIChnc3Rfc3BlY3RydW1faW5pdCksIChnc3Rfc3BlY3RydW1fZGlzcG9zZSksCgkgIChnc3Rfc3BlY3RydW1fc2V0X3Byb3BlcnR5KSwgKGdzdF9zcGVjdHJ1bV9jaGFpbik6CgkgICogZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmg6CgkgIEluaXRpYWwgcG9ydCBvZiB0aGUgc3BlY3RydW0gZWxlbWVudAoKMjAwNi0wNS0xOSAxODo1ODowNSArMDAwMCAgRWRnYXJkIExpbWEgPGVkZ2FyZC5saW1hQGluZHQub3JnLmJyPgoKCSogc3lzL3Y0bDIvZ3N0djRsMnhvdmVybGF5LmM6CgkgIEkgZm9yZ2V0IHRvIGFkZCBzeXMvdjRsMi9nc3R2NGwyeG92ZXJsYXkuYyBpbiBsYXMgY29tbWl0CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBJIGZvcmdldCB0byBhZGQgc3lzL3Y0bDIvZ3N0djRsMnhvdmVybGF5LmMgaW4gbGFzIGNvbW1pdAoKMjAwNi0wNS0xOSAxODozMToyNSArMDAwMCAgRWRnYXJkIExpbWEgPGVkZ2FyZC5saW1hQGluZHQub3JnLmJyPgoKCSogc3lzL3Y0bDIvZ3N0djRsMi5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuaDoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJICBTb21lIGNsZWFuLXVwcyByZXF1ZXN0ZWQgYnkgd2luZ28gaW4gYnVnICMzMzg4MTguCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBTb21lIGNsZWFuLXVwcyByZXF1ZXN0ZWQgYnkgd2luZ28gaW4gYnVnICMzMzg4MTguCgoyMDA2LTA1LTE5IDE0OjA1OjUzICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGdzdC9pZDNkZW11eC9pZDN2MmZyYW1lcy5jOiBEb24ndCBvdXRwdXQgYW55IHRhZyB3aGVuIHdlIGVuY291bnRlciBhIG5lZ2F0aXZlIHRyYWNrIG51bWJlciAtIHRoZSB0YWcgdHlwZSBpcyB1aW50LCBzby4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvaWQzZGVtdXgvaWQzdjJmcmFtZXMuYzogKGlkM3YyX3RhZ190b190YWdsaXN0KToKCSAgRG9uJ3Qgb3V0cHV0IGFueSB0YWcgd2hlbiB3ZSBlbmNvdW50ZXIgYSBuZWdhdGl2ZSB0cmFjayBudW1iZXIgLSB0aGUKCSAgdGFnIHR5cGUgaXMgdWludCwgc28gd2UgZW5kIHVwIG91dHB1dHRpbmcgaHVnZSBwb3NpdGl2ZSBudW1iZXJzCgkgIGluc3RlYWQuIChGaXhlczogIzM0MjAyOSkKCjIwMDYtMDUtMTggMjM6MDQ6NTkgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSAgY29uZmlndXJlLmFjOiB1cGRhdGUgZm9yIG5ldyBHU1RQQl9QTFVHSU5TX0RJUgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIHVwZGF0ZSBmb3IgbmV3IEdTVFBCX1BMVUdJTlNfRElSCgoyMDA2LTA1LTE4IDE5OjM0OjQ3ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBjb25maWd1cmUuYWM6IENoZWNrIGZvciBYMTEKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICBDaGVjayBmb3IgWDExCgkgICogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOiAoZ3N0X3Y0bDJfY2xhc3NfcHJvYmVfZGV2aWNlcyk6CgkgICogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5oOgoJICAqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzogKGdzdF92NGwyc3JjX2lmYWNlX3N1cHBvcnRlZCk6CgkgICogc3lzL3Y0bDIvZ3N0djRsMnNyYy5oOgoJICAqIHN5cy92NGwyL2dzdHY0bDJ4b3ZlcmxheS5jOiAoZ3N0X3Y0bDJfeG92ZXJsYXlfb3Blbik6CgkgICogc3lzL3Y0bDIvZ3N0djRsMnhvdmVybGF5Lmg6CgkgIENvZGUgY2xlYW51cHMsIGZpeCBkZWJ1ZyBtYWNyb3MKCjIwMDYtMDUtMTggMTQ6NDU6MzMgKzAwMDAgIFBoaWxpcHBlIEthbGFmIDxwaGlsaXBwZS5rYWxhZkBjb2xsYWJvcmEuY28udWs+CgoJICBydHAvZ3N0L2dzdHJ0cGgyNjNwYXkuYzogUHJvcGVybHkgc2V0IHN0YXRpYyBjYXBzIGZvciBIMjYzIGF0IDM0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNi0wNS0xOCAgUGhpbGlwcGUgS2FsYWYgIDxwaGlsaXBwZS5rYWxhZiBhdCBjb2xsYWJvcmEuY28udWs+CgkgICogcnRwL2dzdC9nc3RydHBoMjYzcGF5LmM6CgkgIFByb3Blcmx5IHNldCBzdGF0aWMgY2FwcyBmb3IgSDI2MyBhdCAzNC4KCjIwMDYtMDUtMTggMTI6NDY6MDggKzAwMDAgIEphbWVzIERvYyBMaXZpbmdzdG9uIDxkb2NsaXZpbmdzdG9uQGdtYWlsLmNvbT4KCgkgIGV4dC90YWdsaWIvZ3N0dGFnbGlibXV4LmM6IE1lcmdlIGV2ZW50IHRhZ3MgYW5kIHRhZyBzZXR0ZXIgdGFncyBjb3JyZWN0bHkgKCMzMzk5MTgpLiBBbHNvLCBkb24ndCBsZWFrIHRhZ2xpc3QgaW4gY2FzZS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IEphbWVzICJEb2MiIExpdmluZ3N0b24gIDxkb2NsaXZpbmdzdG9uIGdtYWlsIGNvbT4KCSAgKiBleHQvdGFnbGliL2dzdHRhZ2xpYm11eC5jOiAoZ3N0X3RhZ19saWJfbXV4X3JlbmRlcl90YWcpOgoJICBNZXJnZSBldmVudCB0YWdzIGFuZCB0YWcgc2V0dGVyIHRhZ3MgY29ycmVjdGx5ICgjMzM5OTE4KS4gQWxzbywKCSAgZG9uJ3QgbGVhayB0YWdsaXN0IGluIGNhc2Ugb2YgYW4gZXJyb3IuCgoyMDA2LTA1LTE3IDE4OjA5OjA2ICswMDAwICBQaGlsaXBwZSBLYWxhZiA8cGhpbGlwcGUua2FsYWZAY29sbGFib3JhLmNvLnVrPgoKCSogY29tbW9uOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNwYXkuYzoKCSAgRml4ZWQgY2FwcyBmb3IgSDI2MyAobm90IHRoZSBzYW1lIGFzIEgyNjMrKQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgRml4ZWQgY2FwcyBmb3IgSDI2MyAobm90IHRoZSBzYW1lIGFzIEgyNjMrKQoKMjAwNi0wNS0xNyAxMjozNjoyNiArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIGdzdC9sYXcvbXVsYXctZGVjb2RlLmM6IFdlIGNhbiBvbmx5IGRvIGNhcHMgaW50ZXJzZWN0aW9uIGlmIHRoZSBvdGhlcmNhcHMgYXJlIG5vbi1lbXB0eSBhbmQgbm90CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9sYXcvbXVsYXctZGVjb2RlLmM6IChtdWxhd2RlY19nZXRjYXBzKToKCSAgV2UgY2FuIG9ubHkgZG8gY2FwcyBpbnRlcnNlY3Rpb24gaWYgdGhlIG90aGVyY2FwcyBhcmUgbm9uLWVtcHR5IGFuZCBub3QKCSAgQU5ZLiBFbHNlIHdlIHJldHVybiB0aGUgcGFkIHRlbXBsYXRlIChiYXNlX2NhcHMpLgoKMjAwNi0wNS0xNyAxMToyMDo0NCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC9qcGVnL2dzdGpwZWdkZWMuYzogRml4IGNyYXNoIHdoZW4gb3V0cHV0dGluZyBkZWJ1Z2dpbmcgaW5mb3JtYXRpb24gZm9yIGNlcnRhaW4gcGljdHVyZXMgKGFsd2F5cyBnb29kIHRvIHVzZSB0aGUgci4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvanBlZy9nc3RqcGVnZGVjLmM6IChnc3RfanBlZ19kZWNfY2hhaW4pOgoJICBGaXggY3Jhc2ggd2hlbiBvdXRwdXR0aW5nIGRlYnVnZ2luZyBpbmZvcm1hdGlvbiBmb3IgY2VydGFpbgoJICBwaWN0dXJlcyAoYWx3YXlzIGdvb2QgdG8gdXNlIHRoZSByaWdodCBzdHJ1Y3QgbWVtYmVyIGZvcgoJICB0aGUgbnVtYmVyIG9mIHJlY29yZHMgaW4gYW4gYXJyYXkpLgoKMjAwNi0wNS0xNyAwODoxMDozMSArMDAwMCAgSmluZHJpY2ggTWFrb3ZpY2thIDxqaW5kcmljaC5tYWtpdmlja2FAaXRvbmlzLnR2PgoKCSAgZ3N0L21hdHJvc2thL2VibWwtcmVhZC5jOiBEb24ndCBjcmVhdGUgdW5uZWNlc3Nhcnkgc3ViLWJ1ZmZlcnMgYWxsIHRoZSB0aW1lLiBEcmFtYXRpY2FsbHkgaW1wcm92ZXMgcGVyZm9ybWFuY2Ugd2l0aCBtLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogSmluZHJpY2ggTWFrb3ZpY2thICA8amluZHJpY2gubWFraXZpY2thIGF0IGl0b25pcyB0dj4KCSAgKiBnc3QvbWF0cm9za2EvZWJtbC1yZWFkLmM6IChnc3RfZWJtbF9yZWFkX3BlZWtfYnl0ZXMpLAoJICAoZ3N0X2VibWxfcmVhZF9wdWxsX2J5dGVzKSwgKGdzdF9lYm1sX3JlYWRfZWxlbWVudF9pZCksCgkgIChnc3RfZWJtbF9yZWFkX2VsZW1lbnRfbGVuZ3RoKSwgKGdzdF9lYm1sX3JlYWRfYnVmZmVyKSwKCSAgKGdzdF9lYm1sX3JlYWRfYnl0ZXMpLCAoZ3N0X2VibWxfcmVhZF91aW50KSwgKGdzdF9lYm1sX3JlYWRfc2ludCksCgkgIChnc3RfZWJtbF9yZWFkX2Zsb2F0KSwgKGdzdF9lYm1sX3JlYWRfYXNjaWkpLAoJICAoZ3N0X2VibWxfcmVhZF9iaW5hcnkpOgoJICBEb24ndCBjcmVhdGUgdW5uZWNlc3Nhcnkgc3ViLWJ1ZmZlcnMgYWxsIHRoZSB0aW1lLiBEcmFtYXRpY2FsbHkKCSAgaW1wcm92ZXMgcGVyZm9ybWFuY2Ugd2l0aCBtdWx0aXBsZSBjb25jdXJyZW50bHkgcnVubmluZwoJICBtYXRyb3NrYWRlbXV4IGluc3RhbmNlcyAoIzM0MTgxOCkgKGFuZCBhdm9pZHMgZG9pbmcKCSAgdW5uZWNlc3NhcmlseSBpbmVmZmljaWVudCB0aGluZ3MgaW4gdGhlIGdlbmVyYWwgY2FzZSkuCgoyMDA2LTA1LTE2IDE3OjIwOjA0ICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgZXh0L2xpYnBuZy9nc3RwbmdlbmMuYzogSW4gc25hcHNob3QgbW9kZSwgd2UgYWx3YXlzIHJldHVybiBHU1RfRkxPV19VTkVYUEVDVEVEIHdoYXRldmVyIHRoZSByZXR1cm4gdmFsdWUgb2YgZ3N0X3BhZF9wLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9saWJwbmcvZ3N0cG5nZW5jLmM6IChnc3RfcG5nZW5jX2NoYWluKToKCSAgSW4gc25hcHNob3QgbW9kZSwgd2UgYWx3YXlzIHJldHVybiBHU1RfRkxPV19VTkVYUEVDVEVEIHdoYXRldmVyIHRoZQoJICByZXR1cm4gdmFsdWUgb2YgZ3N0X3BhZF9wdXNoX2V2ZW50KCkuCgoyMDA2LTA1LTE2IDE0OjA3OjI5ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGdzdC9hdXRvZGV0ZWN0LzogTWFrZSB0aGUgbmFtZSBvZiB0aGUgY2hpbGQgZWxlbWVudCBiZSBiYXNlZCBvbiB0aGUgbmFtZSBvZiB0aGUgcGFyZW50LCBzbyB0aGF0IGRlYnVnIG91dHB1dCBpcyBtb3JlIC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvYXVkaW9zaW5rLmM6CgkgIChnc3RfYXV0b19hdWRpb19zaW5rX2ZpbmRfYmVzdCk6CgkgICogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b3ZpZGVvc2luay5jOgoJICAoZ3N0X2F1dG9fdmlkZW9fc2lua19maW5kX2Jlc3QpOgoJICBNYWtlIHRoZSBuYW1lIG9mIHRoZSBjaGlsZCBlbGVtZW50IGJlIGJhc2VkIG9uIHRoZSBuYW1lIG9mIHRoZQoJICBwYXJlbnQsIHNvIHRoYXQgZGVidWcgb3V0cHV0IGlzIG1vcmUgdXNlZnVsLgoJICAqIGdzdC9pZDNkZW11eC9pZDN2MmZyYW1lcy5jOiAoZmluZF91dGYxNl9ib20pLAoJICAocGFyc2VfaW5zZXJ0X3N0cmluZ19maWVsZCksIChwYXJzZV9zcGxpdF9zdHJpbmdzKToKCSAgUmV3b3JrIHN0cmluZyBwYXJzaW5nIHRvIGFsd2F5cyB3YWxrIG92ZXIgQk9NIG1hcmtlcnMgaW4gVVRGMTYKCSAgc3RyaW5ncywgdXNpbmcgdGhlIGVuZGlhbm5lc3MgaW5kaWNhdGVkIGJ5IHRoZSBpbm5lcm1vc3Qgb25lLAoJICB0aGVuIHRyeWluZyB0aGUgb3Bwb3NpdGUgZW5kaWFubmVzcyBpZiB0aGF0IGZhaWxzIHRvIGNvbnZlcnQKCSAgdG8gdmFsaWQgVVRGLTguIEZpeGVzICMzNDE3NzQKCjIwMDYtMDUtMTYgMTM6MzE6MDIgKzAwMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJICBleHQvbGlicG5nL01ha2VmaWxlLmFtOiBBZGQgTElCUE5HX0NGTEFHUy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDYtMDUtMTYgIFphaGVlciBBYmJhcyBNZXJhbGkgIDx6YWhlZXJhYmJhcyBhdCBtZXJhbGkgZG90IG9yZz4KCSAgUGF0Y2ggZnJvbTogTWF0dGhpZXUgPG1hdHRoaWV1IGF0IGZsdWVuZG8gZG90IGNvbT4KCSAgKiBleHQvbGlicG5nL01ha2VmaWxlLmFtOgoJICBBZGQgTElCUE5HX0NGTEFHUy4KCjIwMDYtMDUtMTUgMTE6MjA6MjEgKzAwMDAgIENocmlzdGlhbiBTY2hhbGxlciA8dXJhZXVzQGdub21lLm9yZz4KCgkqIGdzdC1wbHVnaW5zLWdvb2Quc3BlYy5pbjoKCSAgdXBkYXRlIHdpdGggbGF0ZXN0IGNoYW5nZXMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHVwZGF0ZSB3aXRoIGxhdGVzdCBjaGFuZ2VzCgoyMDA2LTA1LTE1IDA5OjAwOjQyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L3RhZ2xpYi9nc3RpZDN2Mm11eC5jYzogQWRkIHN1cHBvcnQgZm9yIHdyaXRpbmcgaW1hZ2VzIChBUElDIGZyYW1lcykgaW50byBJRDN2MiB0YWdzIChwaWN0dXJlIHR5cGUgYWx3YXlzIHNldCB0byAnLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC90YWdsaWIvZ3N0aWQzdjJtdXguY2M6CgkgIEFkZCBzdXBwb3J0IGZvciB3cml0aW5nIGltYWdlcyAoQVBJQyBmcmFtZXMpIGludG8gSUQzdjIKCSAgdGFncyAocGljdHVyZSB0eXBlIGFsd2F5cyBzZXQgdG8gJ290aGVyJyBmb3Igbm93IHRob3VnaCkuCgoyMDA2LTA1LTE0IDEyOjUwOjA3ICswMDAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAeGlwaC5vcmc+CgoJICBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzogVXBkYXRlIGRvY3M7IHdhdnBhcnNlIGltcGxlbWVudHMgcHVzaCBhbmQgcHVsbCBtb2Rlcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6CgkgIFVwZGF0ZSBkb2NzOyB3YXZwYXJzZSBpbXBsZW1lbnRzIHB1c2ggYW5kIHB1bGwgbW9kZXMuCgoyMDA2LTA1LTEyIDE4OjEwOjM2ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L2F2aS9nc3RhdmlkZW11eC5jOiBPb29wcywgYml0dGVuIGJ5IHRoZSBjb3B5LWFuZC1wYXN0ZSBkZXNpZ24gcGFyYWRpZ20sIGZpeGVzIHNlZWsgYWdhaW4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzogKGdzdF9hdmlfZGVtdXhfaW5kZXhfbmV4dCksCgkgIChnc3RfYXZpX2RlbXV4X3BhcnNlX2luZGV4KSwgKGdzdF9hdmlfZGVtdXhfbWFzc2FnZV9pbmRleCksCgkgIChnc3RfYXZpX2RlbXV4X2hhbmRsZV9zZWVrKSwgKGdzdF9hdmlfZGVtdXhfbG9vcCk6CgkgIE9vb3BzLCBiaXR0ZW4gYnkgdGhlIGNvcHktYW5kLXBhc3RlIGRlc2lnbiBwYXJhZGlnbSwgZml4ZXMKCSAgc2VlayBhZ2Fpbi4KCjIwMDYtMDUtMTIgMTg6MDQ6MjIgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvYXZpL2dzdGF2aWRlbXV4Lio6IFNvbWUgY2xlYW51cHMsIHByZXBhcmUgdG8gdXNlIEdzdFNlZ21lbnQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzogKGdzdF9hdmlfZGVtdXhfcmVzZXQpLAoJICAoZ3N0X2F2aV9kZW11eF9pbmRleF9uZXh0KSwgKGdzdF9hdmlfZGVtdXhfaGFuZGxlX3NyY19xdWVyeSksCgkgIChnc3RfYXZpX2RlbXV4X2hhbmRsZV9zcmNfZXZlbnQpLCAoZ3N0X2F2aV9kZW11eF9wYXJzZV9zdWJpbmRleCksCgkgIChnc3RfYXZpX2RlbXV4X3BhcnNlX3N0cmVhbSksIChnc3RfYXZpX2RlbXV4X3BhcnNlX2luZGV4KSwKCSAgKGdzdF9hdmlfZGVtdXhfc3RyZWFtX2luZGV4KSwgKGdzdF9hdmlfZGVtdXhfc3RyZWFtX3NjYW4pLAoJICAoZ3N0X2F2aV9kZW11eF9tYXNzYWdlX2luZGV4KSwKCSAgKGdzdF9hdmlfZGVtdXhfY2FsY3VsYXRlX2R1cmF0aW9uc19mcm9tX2luZGV4KSwKCSAgKGdzdF9hdmlfZGVtdXhfcHVzaF9ldmVudCksIChnc3RfYXZpX2RlbXV4X3N0cmVhbV9oZWFkZXIpLAoJICAoZ3N0X2F2aV9kZW11eF9oYW5kbGVfc2VlayksIChnc3RfYXZpX2RlbXV4X3Byb2Nlc3NfbmV4dF9lbnRyeSksCgkgIChnc3RfYXZpX2RlbXV4X2xvb3ApOgoJICAqIGdzdC9hdmkvZ3N0YXZpZGVtdXguaDoKCSAgU29tZSBjbGVhbnVwcywgcHJlcGFyZSB0byB1c2UgR3N0U2VnbWVudC4KCSAgRml4IGVycm9yIGluIGVudHJ5IHdhbGtpbmcgY29kZS4KCSAgRml4IFZCUiBkZXRlY3Rpb24uCgkgIFNtYXJ0ZXIgdGltZXN0YW1wIGNhbGN1bGF0aW9uIGNvZGUuCgkgIFVuaWZvcm0gZXJyb3IvZW9zIGhhbmRsaW5nLgoKMjAwNi0wNS0xMiAxNzo0NDoxNSArMDAwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHhpcGgub3JnPgoKCSAgZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6IEZpeCB1c2Ugb2YgdW5pbml0aWFsaXNlZCB2YWx1ZXMgaWYgd2UncmUgTk9UIHNlZWtpbmcgaW4gcmVhZHkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOiAoZ3N0X3dhdnBhcnNlX2ZtdCksCgkgIChnc3Rfd2F2cGFyc2VfcGVyZm9ybV9zZWVrKSwgKGdzdF93YXZwYXJzZV9zdHJlYW1faGVhZGVycyk6CgkgIEZpeCB1c2Ugb2YgdW5pbml0aWFsaXNlZCB2YWx1ZXMgaWYgd2UncmUgTk9UIHNlZWtpbmcgaW4gcmVhZHkuCgkgIEZpeCB0eXBvcy4KCjIwMDYtMDUtMTIgMDg6MjM6MTggKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3Qvd2F2cGFyc2UvTWFrZWZpbGUuYW06IEFkZCBDRkxBR1MgYW5kIExJQlMgZm9yIGxpYmdzdGJhc2UsIGZpeGVzIGJ1aWxkIG9uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC93YXZwYXJzZS9NYWtlZmlsZS5hbToKCSAgQWRkIENGTEFHUyBhbmQgTElCUyBmb3IgbGliZ3N0YmFzZSwgZml4ZXMgYnVpbGQgb24KCSAgQ3lnd2luICgjMzQxNDg5KS4KCjIwMDYtMDUtMTIgMDg6MjE6MzcgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvaWQzZGVtdXgvaWQzdjJmcmFtZXMuYzogU29tZSBtb3JlIGRlYnVnIGluZm8uIE5vIG5lZWQgdG8gY2hlY2sgd2hldGhlciB0aGUgc3RyaW5nIHJldHVybmVkIGJ5IGdfY29udmVydCgpIGlzIHJlYWwuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2lkM2RlbXV4L2lkM3YyZnJhbWVzLmM6IChwYXJzZV9pbnNlcnRfc3RyaW5nX2ZpZWxkKToKCSAgU29tZSBtb3JlIGRlYnVnIGluZm8uIE5vIG5lZWQgdG8gY2hlY2sgd2hldGhlciB0aGUgc3RyaW5nCgkgIHJldHVybmVkIGJ5IGdfY29udmVydCgpIGlzIHJlYWxseSBVVEYtOCAtIGVpdGhlciBpdCBpcyBvcgoJICB3ZSBnZXQgTlVMTCByZXR1cm5lZC4KCjIwMDYtMDUtMTEgMTc6NTk6NTkgKzAwMDAgIEVkZ2FyZCBMaW1hIDxlZGdhcmQubGltYUBpbmR0Lm9yZy5icj4KCgkqIHN5cy92NGwyL01ha2VmaWxlLmFtOgoJKiBzeXMvdjRsMi9nc3R2NGwyLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJjb2xvcmJhbGFuY2UuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMmNvbG9yYmFsYW5jZS5oOgoJKiBzeXMvdjRsMi9nc3R2NGwyZWxlbWVudC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyZWxlbWVudC5oOgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuaDoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmg6CgkqIHN5cy92NGwyL2dzdHY0bDJ0dW5lci5jOgoJKiBzeXMvdjRsMi9nc3R2NGwydHVuZXIuaDoKCSogc3lzL3Y0bDIvZ3N0djRsMnhvdmVybGF5LmM6CgkqIHN5cy92NGwyL2dzdHY0bDJ4b3ZlcmxheS5oOgoJKiBzeXMvdjRsMi92NGwyX2NhbGxzLmM6CgkqIHN5cy92NGwyL3Y0bDJfY2FsbHMuaDoKCSogc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5jOgoJKiBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmg6CgkgIENoYW5nZXMgcHJvcG9zZWQgYnkgV2luZ28gaW4gYnVnICMzMzg4MTguCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBDaGFuZ2VzIHByb3Bvc2VkIGJ5IFdpbmdvIGluIGJ1ZyAjMzM4ODE4LgoKMjAwNi0wNS0xMSAwOTowOTo0OSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogRmlndXJlIG91dCB0aGUgcmVhbCBhdWRpbyB0eXBlIGluIG1wNGEgYm94ZXMgYnkgcGFyc2luZyB0aGUgb3B0aW9uYWwgZGVzY3JpcHRvcnMgaW4gdGhlIG9wdGlvbi4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChxdGRlbXV4X3BhcnNlKSwgKHF0ZGVtdXhfcGFyc2VfdHJhayksCgkgIChnc3RfcXRkZW11eF9oYW5kbGVfZXNkcyk6CgkgIEZpZ3VyZSBvdXQgdGhlIHJlYWwgYXVkaW8gdHlwZSBpbiBtcDRhIGJveGVzIGJ5IHBhcnNpbmcgdGhlCgkgIG9wdGlvbmFsIGRlc2NyaXB0b3JzIGluIHRoZSBvcHRpb25hbCBlc2RzIGJveC4gUHJvbW90ZSB0aGUKCSAgZGVmYXVsdCBBQUMgdG8gbXAzIHdoZW4gaW5kaWNhdGVkLiBGaXhlcyAjMzMwNjMyLgoKMjAwNi0wNS0xMCAxNzo0NDo1MCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogUGFyc2UgdmVyc2lvbiAyIHNhbXBsZSBkZXNjcmlwdGlvbnMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKHF0ZGVtdXhfcGFyc2UpLCAocXRkZW11eF9kdW1wX3Vua25vd24pLAoJICAocXRkZW11eF9wYXJzZV90cmFrKSwgKGdzdF9xdGRlbXV4X2hhbmRsZV9lc2RzKToKCSAgUGFyc2UgdmVyc2lvbiAyIHNhbXBsZSBkZXNjcmlwdGlvbnMuCgkgIERvbid0ICNkZWZpbmUgZ3N0X3V0aWxfZHVtcF9tZW0oKSwgdXNlIHNvbWV0aGluZyBtb3JlCgkgIHNwZWNpZmljIGluc3RlYWQgdG8gYXZvaWQgY29uZnVzaW9uLgoKMjAwNi0wNS0xMCAxMzo1MTowMSArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBnc3QvaWQzZGVtdXgvaWQzdjJmcmFtZXMuYzogRml4IHBhcnNpbmcgb2YgbnVtZXJpYyBnZW5yZSBzdHJpbmdzIHNvbWUgbW9yZSwgYnkgZW5zdXJpbmcgdGhhdCB3ZSBvbmx5IHRyeSBhbmQgcGFyc2Ugc3QuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2lkM2RlbXV4L2lkM3YyZnJhbWVzLmM6IChpZDN2Ml9nZW5yZV9maWVsZHNfdG9fdGFnbGlzdCk6CgkgIEZpeCBwYXJzaW5nIG9mIG51bWVyaWMgZ2VucmUgc3RyaW5ncyBzb21lIG1vcmUsIGJ5IGVuc3VyaW5nIHRoYXQKCSAgd2Ugb25seSB0cnkgYW5kIHBhcnNlIHN0cmluZ3MgdGhhdCBhKSBTdGFydCB3aXRoICcoJyBhbmQgYikgQ29uc2lzdAoJICBvbmx5IG9mIGRpZ2l0cy4KCSAgQWxzbywgd2hlbiBmaW5kaW5nIGFuIGVzY2FwaW5nICcoKCcgc2VxdWVuY2UsIGJ1c3QgaXQgYmFjayB0byAnKCcgYnkKCSAgc3dhbGxvd2luZyB0aGUgZmlyc3QgcGFyZW50aGVzaXMKCjIwMDYtMDUtMTAgMTE6MTc6MzEgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvZXNkL2VzZHNpbmsuKjogTW92ZSB0aGUgZXNkX2dldF9zZXJ2ZXJfaW5mbygpIGludG8gZ3N0X2VzZHNpbmtfb3BlbigpIGFuZCBmYWlsIHdpdGggYSBkZWNlbnQgZXJyb3IgbWVzc2FnZSBvbiBlcnIuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2VzZC9lc2RzaW5rLmM6IChnc3RfZXNkc2lua19maW5hbGl6ZSksIChnc3RfZXNkc2lua19nZXRjYXBzKSwKCSAgKGdzdF9lc2RzaW5rX29wZW4pLCAoZ3N0X2VzZHNpbmtfY2xvc2UpOgoJICAqIGV4dC9lc2QvZXNkc2luay5oOgoJICBNb3ZlIHRoZSBlc2RfZ2V0X3NlcnZlcl9pbmZvKCkgaW50byBnc3RfZXNkc2lua19vcGVuKCkgYW5kIGZhaWwKCSAgd2l0aCBhIGRlY2VudCBlcnJvciBtZXNzYWdlIG9uIGVycm9ycy4KCjIwMDYtMDUtMTAgMTA6Mjk6NTQgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBDb25zdC1pZnkgR0VudW1WYWx1ZSBhcnJheXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9lc2QvZXNkbW9uLmM6IChnc3RfZXNkbW9uX2RlcHRoc19nZXRfdHlwZSksCgkgIChnc3RfZXNkbW9uX2NoYW5uZWxzX2dldF90eXBlKToKCSAgKiBleHQvZ2NvbmYvZ3N0Z2NvbmZhdWRpb3NpbmsuYzogKGdzdF9nY29uZl9wcm9maWxlX2dldF90eXBlKToKCSAgKiBleHQvZ2RrX3BpeGJ1Zi9waXhidWZzY2FsZS5jOiAoZ3N0X3BpeGJ1ZnNjYWxlX21ldGhvZF9nZXRfdHlwZSk6CgkgICogZXh0L2xpYmNhY2EvZ3N0Y2FjYXNpbmsuYzogKGdzdF9jYWNhc2lua19kaXRoZXJfZ2V0X3R5cGUpOgoJICAqIGV4dC9zaG91dDIvZ3N0c2hvdXQyLmM6IChnc3Rfc2hvdXQyc2VuZF9wcm90b2NvbF9nZXRfdHlwZSk6CgkgICogZ3N0L2FscGhhL2dzdGFscGhhLmM6IChnc3RfYWxwaGFfbWV0aG9kX2dldF90eXBlKToKCSAgKiBnc3QvcnRwL2dzdHJ0cGlsYmNkZXBheS5jOiAoZ3N0X2lsYmNfbW9kZV9nZXRfdHlwZSk6CgkgICogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiAoZ3N0X3J0c3BfcHJvdG9fZ2V0X3R5cGUpOgoJICAqIGdzdC92aWRlb2JveC9nc3R2aWRlb2JveC5jOiAoZ3N0X3ZpZGVvX2JveF9maWxsX2dldF90eXBlKToKCSAgKiBnc3QvdmlkZW9maWx0ZXIvZ3N0dmlkZW9mbGlwLmM6IChnc3RfdmlkZW9fZmxpcF9tZXRob2RfZ2V0X3R5cGUpOgoJICAqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIuYzoKCSAgKGdzdF92aWRlb19taXhlcl9iYWNrZ3JvdW5kX2dldF90eXBlKToKCSAgQ29uc3QtaWZ5IEdFbnVtVmFsdWUgYXJyYXlzLgoKMjAwNi0wNS0wOSAxNDowODoxNSArMDAwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFuYXV3QHNreW5ldC5iZXQ+CgoJICBnc3QvYXZpL2dzdGF2aW11eC5jOiBXb3JrIGFyb3VuZCBnc3RfYnVmZmVyX21ha2VfbWV0YWRhdGFfd3JpdGFibGUoKSBidWcgdGhhdCByZXN1bHRzIGluIGF2aW11eCBtYXJraW5nIGFsbCBmcmFtZXMgaW4uLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBNYXJrIE5hdXdlbGFlcnRzICA8bWFuYXV3IGF0IHNreW5ldCBiZXQ+CgkgICogZ3N0L2F2aS9nc3RhdmltdXguYzogKGdzdF9hdmlfbXV4X2RvX2F1ZGlvX2J1ZmZlciksCgkgIChnc3RfYXZpX211eF9kb192aWRlb19idWZmZXIpOgoJICBXb3JrIGFyb3VuZCBnc3RfYnVmZmVyX21ha2VfbWV0YWRhdGFfd3JpdGFibGUoKSBidWcgdGhhdAoJICByZXN1bHRzIGluIGF2aW11eCBtYXJraW5nIGFsbCBmcmFtZXMgaW4gdGhlIGluZGV4IGFzCgkgIGtleWZyYW1lcyAoIzM0MDg1OSkuCgoyMDA2LTA1LTA4IDE5OjIxOjE4ICswMDAwICBNYXJ0aW4gUnVibGkgPG1hcnRpbl9ydWJsaUBsb2dpdGVjaC5jb20+CgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkqIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuYzoKCSAgRml4IGZvdXJjYyBuYW1lIHByaW50ZWQgb3V0LiBQYXRjaCBmcm9tIE1hcnRpbiBSdWJsaS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEZpeCBmb3VyY2MgbmFtZSBwcmludGVkIG91dC4gUGF0Y2ggZnJvbSBNYXJ0aW4gUnVibGkuCgoyMDA2LTA1LTA4IDE1OjIwOjEwICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBEb24ndCBjYXVzZSBzaWRlIGVmZmVjdHMgaW4gYSBkZWJ1Z2dpbmcgZnVuY3Rpb24uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKGdzdF9xdGRlbXV4X2hhbmRsZV9zcmNfcXVlcnkpLAoJICAocXRkZW11eF9kdW1wX212aGQpOgoJICBEb24ndCBjYXVzZSBzaWRlIGVmZmVjdHMgaW4gYSBkZWJ1Z2dpbmcgZnVuY3Rpb24uCgkgIEFsc28gcmVwb3J0IGR1cmF0aW9uIGluIHB1c2ggbW9kZSBzaW5jZSB3ZSBjYW4uCgoyMDA2LTA1LTA4IDE0OjM1OjIwICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0c3AvcnRzcHVybC5jOiBNYWtlIHBhcnNpbmcgb2YgdXJscyBzdWNrIHNsaWdodGx5IGxlc3MuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHNwL3J0c3B1cmwuYzogKHJ0c3BfdXJsX3BhcnNlKToKCSAgTWFrZSBwYXJzaW5nIG9mIHVybHMgc3VjayBzbGlnaHRseSBsZXNzLgoKMjAwNi0wNS0wOCAxMTo1MzowMyArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIGF1dG9nZW4uc2g6IGxpYnRvb2xpemUgb24gRGFyd2luL01hY09TWCBpcyBjYWxsZWQgZ2xpYnRvb2xpemUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGF1dG9nZW4uc2g6IChDT05GSUdVUkVfREVGX09QVCk6CgkgIGxpYnRvb2xpemUgb24gRGFyd2luL01hY09TWCBpcyBjYWxsZWQgZ2xpYnRvb2xpemUuCgoyMDA2LTA1LTA4IDEwOjU5OjA1ICswMDAwICBKZW5zIEdyYW5zZXVlciA8amVuc2dyQGdteC5uZXQ+CgoJICBDODkgY29tcGxpYW5jZSBmaXhlcy4gRml4ZXMgIzM0MDk4MAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IEplbnMgR3JhbnNldWVyIDxqZW5zZ3IgYXQgZ214IGRvdCBuZXQ+CgkgICogZXh0L2dka19waXhidWYvcGl4YnVmc2NhbGUuYzogKGdzdF9waXhidWZzY2FsZV9pbml0KToKCSAgKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzogKGdzdF93YXZwYXJzZV9kaXNwb3NlKToKCSAgQzg5IGNvbXBsaWFuY2UgZml4ZXMuIEZpeGVzICMzNDA5ODAKCjIwMDYtMDUtMDYgMDk6MDE6MzQgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvZmxhYy9nc3RmbGFjZGVjLio6IEhhbmRsZSBzZWdtZW50IHNlZWtzIHRoYXQgaW5jbHVkZSB0aGUgZW5kIG9mIHRoZSBmaWxlIGFzIHN0b3AgcG9pbnQgcHJvcGVybHk6IHdoZW4gdGhlIGRlY29kZXIuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5jOiAoZ3N0X2ZsYWNfZGVjX2xvb3ApOgoJICAqIGV4dC9mbGFjL2dzdGZsYWNkZWMuaDoKCSAgSGFuZGxlIHNlZ21lbnQgc2Vla3MgdGhhdCBpbmNsdWRlIHRoZSBlbmQgb2YgdGhlIGZpbGUgYXMgc3RvcCBwb2ludAoJICBwcm9wZXJseTogd2hlbiB0aGUgZGVjb2RlciBoaXRzIEVPUyB3ZSB3YW50IHRvIHNlbmQgYSBTRUdNRU5UX0RPTkUKCSAgbWVzc2FnZSBpbnN0ZWFkIG9mIGFuIEVPUyBldmVudCBpbiBjYXNlIHdlJ3JlIGluIHNlZ21lbnQgc2VlawoJICBtb2RlIChmaXhlcyAjMzQwNjk5KS4KCjIwMDYtMDUtMDYgMDA6MTQ6MDkgKzAwMDAgIE1hY2llaiBLYXRhZmlhc3ogPG1hdGhyaWNrQG1hdGhyaWNrLm9yZz4KCgkqIENoYW5nZUxvZzoKCSogZXh0L2NhaXJvL2dzdHRleHRvdmVybGF5LmM6CgkqIGV4dC9mbGFjL2dzdGZsYWNkZWMuYzoKCSogZXh0L2dka19waXhidWYvcGl4YnVmc2NhbGUuYzoKCSogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2RlYy5jOgoJKiBnc3QvYXBldGFnL2dzdGFwZWRlbXV4LmM6CgkqIGdzdC9kZWJ1Zy9icmVha215ZGF0YS5jOgoJKiBnc3QvZGVidWcvdGVzdHBsdWdpbi5jOgoJKiBnc3QvbWF0cm9za2EvZWJtbC13cml0ZS5jOgoJKiBnc3QvbXVsdGlwYXJ0L211bHRpcGFydGRlbXV4LmM6CgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hhdWRpb3NpbmsuYzoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGF1ZGlvc3JjLmM6CgkgIEFkZCBzZW1pY29sb25zIGFmdGVyIEdTVF9CT0lMRVJQTEFURVtfRlVMTF0gc28gdGhhdCBpbmRlbnQgZG9lc24ndCBtZXNzIHVwIGZvbGxvd2luZyBsaW5lcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEFkZCBzZW1pY29sb25zIGFmdGVyIEdTVF9CT0lMRVJQTEFURVtfRlVMTF0gc28gdGhhdCBpbmRlbnQgZG9lc24ndCBtZXNzIHVwIGZvbGxvd2luZyBsaW5lcy4KCjIwMDYtMDUtMDUgMjA6MTI6NTkgKzAwMDAgIE1hcnRpbiBSdWJsaSA8bWFydGluX3J1YmxpQGxvZ2l0ZWNoLmNvbT4KCgkqIHN5cy92NGwyL2dzdHY0bDJlbGVtZW50LmM6CgkqIHN5cy92NGwyL2dzdHY0bDJlbGVtZW50Lmg6CgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5oOgoJKiBzeXMvdjRsMi9nc3R2NGwydHVuZXIuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnR1bmVyLmg6CgkqIHN5cy92NGwyL3Y0bDJfY2FsbHMuYzoKCSogc3lzL3Y0bDIvdjRsMl9jYWxscy5oOgoJKiBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmM6CgkqIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuaDoKCSogdGVzdHMvaWNsZXMvdjRsMnNyYy10ZXN0LmM6CgkgIFNvbWUgY2hhbmdlcyBwcm9wb3NlZCBieSB3aW5nbyBpbiBidWcgIzMzODgxOCAoYnV0IG5vdCBldmVyeXRoaW5nIHlldCkuIFBhdGNoIGZyb20gTWFydGluIFJ1YmxpIHRvIGZpeCBmcmFtZXJhdGUgZGV0ZS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgU29tZSBjaGFuZ2VzIHByb3Bvc2VkIGJ5IHdpbmdvIGluIGJ1ZyAjMzM4ODE4IChidXQgbm90IGV2ZXJ5dGhpbmcgeWV0KS4gUGF0Y2ggZnJvbSBNYXJ0aW4gUnVibGkgdG8gZml4IGZyYW1lcmF0ZSBkZXRlY3Rpb24uCgoyMDA2LTA1LTA0IDE3OjI3OjI3ICswMDAwICBNaWNoYWwgQmVuZXMgPG1pY2hhbC5iZW5lc0B4ZXJpcy5jej4KCgkgIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOiBEb24ndCBsZWFrIGNhcHMgd2hlbiBmcmVlaW5nIHRoZSBzdHJlYW0gY29udGV4dCAoIzM0MDYyMykuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogTWljaGFsIEJlbmVzICA8bWljaGFsIGRvdCBiZW5lcyBhdCB4ZXJpcyBkb3QgY3o+CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6IChnc3RfbWF0cm9za2FfZGVtdXhfcmVzZXQpOgoJICBEb24ndCBsZWFrIGNhcHMgd2hlbiBmcmVlaW5nIHRoZSBzdHJlYW0gY29udGV4dCAoIzM0MDYyMykuCgoyMDA2LTA1LTA0IDE1OjQwOjE4ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGNvbmZpZ3VyZS5hYzogQmFjayB0byBDVlMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICBCYWNrIHRvIENWUwoKPT09IHJlbGVhc2UgMC4xMC4zID09PQoKMjAwNi0wNS0wNCAxNTozNjowMiArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi0xMzk0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhY29sb3IueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYW5ub2RleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hcGV0YWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvZGV0ZWN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF2aS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWNhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWlyby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWN1dHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmVuY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZmZWN0di54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lc2RzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx4ZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdjb25mZWxlbWVudHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2RrcGl4YnVmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taGFsZWxlbWVudHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWN5ZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanBlZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sZXZlbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tYXRyb3NrYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aXBhcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmF2aWdhdGlvbnRlc3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5nLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHNwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNob3V0MnNlbmQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc21wdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdGFnbGliLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXVkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2JhbGFuY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9ib3gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9mbGlwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvbWl4ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2ZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXhpbWFnZXNyYy54bWw6CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgUmVhbGx5IHJlbGVhc2UgMC4xMC4zCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBSZWFsbHkgcmVsZWFzZSAwLjEwLjMKCjIwMDYtMDUtMDQgMTU6Mjg6NTMgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXF0ZGVtdXgueG1sOgoJICBSZWFsbHkgcmVsZWFzZSAwLjEwLjMgdGhpcyB0aW1lCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBSZWFsbHkgcmVsZWFzZSAwLjEwLjMgdGhpcyB0aW1lCgoyMDA2LTA1LTA0IDE1OjA1OjAwICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkqIENoYW5nZUxvZzoKCSogTkVXUzoKCSogUkVMRUFTRToKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuc2lnbmFsczoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLTEzOTQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWFzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGFjb2xvci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbm5vZGV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFwZXRhZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9kZXRlY3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXZpLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhY2FzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhaXJvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY3V0dGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZW5jZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmZlY3R2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVzZHNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmxhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHhkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2NvbmZlbGVtZW50cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZGtwaXhidWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1oYWxlbGVtZW50cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pY3lkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pZDNkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxhZHNwYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sZXZlbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tYXRyb3NrYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aXBhcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmF2aWdhdGlvbnRlc3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5nLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXF0ZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0c3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hvdXQyc2VuZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbXB0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10YWdsaWIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdWRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvYmFsYW5jZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2JveC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2ZsaXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9taXhlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teGltYWdlc3JjLnhtbDoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICBSZWxlYXNlIDAuMTAuMwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUmVsZWFzZSAwLjEwLjMKCjIwMDYtMDUtMDMgMTg6NDQ6MzggKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSogcG8vYWYucG86CgkqIHBvL2F6LnBvOgoJKiBwby9jcy5wbzoKCSogcG8vZW5fR0IucG86CgkqIHBvL2h1LnBvOgoJKiBwby9pdC5wbzoKCSogcG8vbmIucG86CgkqIHBvL25sLnBvOgoJKiBwby9vci5wbzoKCSogcG8vc3EucG86CgkqIHBvL3NyLnBvOgoJKiBwby9zdi5wbzoKCSogcG8vdWsucG86CgkqIHBvL3ZpLnBvOgoJICBVcGRhdGUgLnBvIGZpbGVzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBVcGRhdGUgLnBvIGZpbGVzCgoyMDA2LTA1LTAzIDE4OjQxOjQ3ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOiBEb24ndCBzdHJjbXAoKSBOVUxMIHN0cmluZ3MuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSAgKGdzdF9tYXRyb3NrYV9tdXhfc3RyZWFtX2lzX3ZvcmJpc19oZWFkZXIpLAoJICAoZ3N0X21hdHJvc2thX211eF93cml0ZV9kYXRhKToKCSAgRG9uJ3Qgc3RyY21wKCkgTlVMTCBzdHJpbmdzLgoJICBPbmx5IHN0YXJ0IG5ldyBjbHVzdGVycyBvbiB2aWRlbyBrZXlmcmFtZXMsIG5vdCBvbiBhbnkKCSAgcmFuZG9tIGF1ZGlvIGJ1ZmZlciB0aGF0IGRvZXNuJ3QgaGF2ZSB0aGUgREVMVEFfVU5JVAoJICBmbGFnIHNldCAoZml4ZXMgJ21ha2UgY2hlY2snIGFnYWluKS4KCjIwMDYtMDUtMDMgMTQ6NTE6NTAgKzAwMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hbmF1d0Bza3luZXQuYmU+CgoJICBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6IERvbid0IG1pc2ludGVycHJldCBHU1RfQ0xPQ0tfVElNRV9OT05FIGFzIHZlcnkgaGlnaCB0aW1lc3RhbXAgdmFsdWUgYW5kIHRoZW4gZGVhZC1sb2NrIHcuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBNYXJrIE5hdXdlbGFlcnRzICA8bWFuYXV3IGF0IHNreW5ldCBiZT4KCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6IChnc3RfbWF0cm9za2FfbXV4X2Jlc3RfcGFkKSwKCSAgKGdzdF9tYXRyb3NrYV9tdXhfc3RyZWFtX2lzX3ZvcmJpc19oZWFkZXIpLAoJICAoZ3N0X21hdHJvc2thX211eF93cml0ZV9kYXRhKToKCSAgRG9uJ3QgbWlzaW50ZXJwcmV0IEdTVF9DTE9DS19USU1FX05PTkUgYXMgdmVyeSBoaWdoIHRpbWVzdGFtcAoJICB2YWx1ZSBhbmQgdGhlbiBkZWFkLWxvY2sgd2hlbiBtdXhpbmcgdm9yYmlzIGF1ZGlvIHN0cmVhbXMKCSAgKHRoZSB0aHJlZSB2b3JiaXMgaGVhZGVyIGJ1ZmZlcnMgY2Fycnkgbm8gdGltZXN0YW1wLCBhbmQgaXQKCSAgd291bGQgdHJ5IHRvIG11eCB0aGVzZSBhZnRlciBhbGwgdmlkZW8gYnVmZmVycykuIEZpeGVzICMzNDAzNDYuCgkgIEltcHJvdmUgY2x1c3RlcmluZzogc3RhcnQgYSBuZXcgY2x1c3RlciBhbHNvIHdoZW5ldmVyIHdlIGdldAoJICBhIGtleWZyYW1lLgoKMjAwNi0wNS0wMyAxNDozMDoyMSArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IENsZWFuIHVwIG9uZSBwaWVjZSBvZiBsb2dpYyBzbGlnaHRseSBhbmQgcmVtb3ZlIGEgZGVhZCBjb2RlIGJsb2NrLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChxdGRlbXV4X3BhcnNlX3RyYWspOgoJICBDbGVhbiB1cCBvbmUgcGllY2Ugb2YgbG9naWMgc2xpZ2h0bHkgYW5kIHJlbW92ZSBhCgkgIGRlYWQgY29kZSBibG9jay4KCjIwMDYtMDUtMDMgMTQ6Mjg6NTcgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSAgYWRkIHdpbjMyIHN0dWZmCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIE1ha2VmaWxlLmFtOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiB3aW4zMi9jb21tb24vY29uZmlnLmguaW46CgkgIGFkZCB3aW4zMiBzdHVmZgoKMjAwNi0wNS0wMyAxNDoyNjo1MSArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJICBhZGQgd2luMzIgc3R1ZmYKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogTWFrZWZpbGUuYW06CgkgICogY29uZmlndXJlLmFjOgoJICAqIHdpbjMyL2NvbW1vbi9jb25maWcuaC5pbjoKCSAgYWRkIHdpbjMyIHN0dWZmCgoyMDA2LTA1LTAyIDIyOjM0OjUyICswMDAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAeGlwaC5vcmc+CgoJICBleHQvY2Fpcm8vZ3N0dGltZW92ZXJsYXkuYzogRml4IHRpbWVvdmVybGF5IGZvciBub24tbXVsdGlwbGUtb2YtNCB3aWR0aHMuIFRoaXMgZm91cmNjIGNyYXAKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2NhaXJvL2dzdHRpbWVvdmVybGF5LmM6IChnc3RfY2Fpcm9fdGltZV9vdmVybGF5X3RyYW5zZm9ybSk6CgkgIEZpeCB0aW1lb3ZlcmxheSBmb3Igbm9uLW11bHRpcGxlLW9mLTQgd2lkdGhzLiBUaGlzIGZvdXJjYyBjcmFwCgkgIFNVQ0tTLgoKMjAwNi0wNS0wMiAyMTo1Mjo0OCArMDAwMCAgRWRnYXJkIExpbWEgPGVkZ2FyZC5saW1hQGluZHQub3JnLmJyPgoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJICBGaXggZ2V0X2NhcHMgZnVuYyB0byB3b3JrIHdoZW4gbm8gZnJhbWVyYXRlIGlzIGF2YWlsYWJsZSBhbmQgdGhlIGNhcHMgaXNuJ3Qgc2ltcGxlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgRml4IGdldF9jYXBzIGZ1bmMgdG8gd29yayB3aGVuIG5vIGZyYW1lcmF0ZSBpcyBhdmFpbGFibGUgYW5kIHRoZSBjYXBzIGlzbid0IHNpbXBsZS4KCjIwMDYtMDUtMDIgMTg6NTA6MjMgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC86IGRvbid0IGxlYWsgY2Fwcy1zdHJpbmcKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2FscGhhL2dzdGFscGhhY29sb3IuYzogKGdzdF9hbHBoYV9jb2xvcl90cmFuc2Zvcm1fY2Fwcyk6CgkgICogZ3N0L2RlYnVnL25lZ290aWF0aW9uLmM6IChnc3RfbmVnb3RpYXRpb25fdXBkYXRlX2NhcHMpOgoJICAqIGdzdC9ydHAvZ3N0cnRwaWxiY2RlcGF5LmM6IChnc3RfcnRwX2lsYmNfZGVwYXlfc2V0Y2Fwcyk6CgkgIGRvbid0IGxlYWsgY2Fwcy1zdHJpbmcKCjIwMDYtMDUtMDIgMTU6NDY6MDIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvaWQzZGVtdXgvZ3N0aWQzZGVtdXguYzogTGV0IGNvcmUgaW5zZXJ0IGRlZmF1bHQgZXJyb3IgbWVzc2FnZSBmb3IgVFlQRV9OT1RfRk9VTkQgZXJyb3JzLCBpdCdzIGp1c3QgYXMgZ29vZCBhcyBvdXIuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2lkM2RlbXV4L2dzdGlkM2RlbXV4LmM6IChnc3RfaWQzZGVtdXhfY2hhaW4pLAoJICAoZ3N0X2lkM2RlbXV4X3NpbmtfYWN0aXZhdGUpOgoJICBMZXQgY29yZSBpbnNlcnQgZGVmYXVsdCBlcnJvciBtZXNzYWdlIGZvciBUWVBFX05PVF9GT1VORAoJICBlcnJvcnMsIGl0J3MganVzdCBhcyBnb29kIGFzIG91ciBvd24gYW5kIGhhcyB0aGUgYWRkZWQKCSAgYm9udXMgb2YgYmVpbmcgdHJhbnNsYXRlZC4KCjIwMDYtMDUtMDIgMTU6NDA6MTUgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvOiBQb3N0IGFuIGVycm9yIG1lc3NhZ2Ugd2hlbiB3ZSBnZXQgYW4gRU9TIGV2ZW50IGFuZCB3ZXJlIG5vdCBhYmxlIHRvIGZpbmQgb3V0IHRoZSB0eXBlIG9mIHN0cmVhbS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2FwZXRhZy9nc3R0YWdkZW11eC5jOiAoZ3N0X3RhZ19kZW11eF9pbml0KSwKCSAgKGdzdF90YWdfZGVtdXhfc2lua19ldmVudCk6CgkgICogZ3N0L2lkM2RlbXV4L2dzdGlkM2RlbXV4LmM6IChnc3RfaWQzZGVtdXhfaW5pdCksCgkgIChnc3RfaWQzZGVtdXhfc2lua19ldmVudCk6CgkgIFBvc3QgYW4gZXJyb3IgbWVzc2FnZSB3aGVuIHdlIGdldCBhbiBFT1MgZXZlbnQgYW5kIHdlcmUgbm90CgkgIGFibGUgdG8gZmluZCBvdXQgdGhlIHR5cGUgb2Ygc3RyZWFtLgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2lkM3YybXV4LmM6IChmaWxsX21wM19idWZmZXIpLCAoZ290X2J1ZmZlciksCgkgICh0ZXN0X3RhZ2xpYl9pZDNtdXhfd2l0aF90YWdzKToKCSAgRGVjcmVhc2UgbnVtLWJ1ZmZlcnMgdG8gMTYgcGVyIGl0ZXJhdGlvbiBhZ2Fpbiwgb3RoZXJ3aXNlIHRoZQoJICBtYW55IG1lbWNweSgpcyBhbmQgcmVhbGxvY2F0aW9ucyBpbiB0aGUgdGVzdCB3aWxsIGhhbW1lciBzbG93CgkgIENQVXMgY29tcGxldGVseSBhbmQgbWFrZSB0aGUgdGVzdCB0aW1lb3V0LgoKMjAwNi0wNS0wMiAxMzoyNDozOCArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJICBjb25maWd1cmUuYWM6IGZpZ3VyZSBvdXQgd2hlcmUgcGx1Z2lucy1iYXNlIHBsdWdpbnMgYXJlCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgZmlndXJlIG91dCB3aGVyZSBwbHVnaW5zLWJhc2UgcGx1Z2lucyBhcmUKCSAgKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgdXNlIHBsdWdpbnMtYmFzZSBwbHVnaW5zLCBzbyB3ZSBoYXZlIHR5cGVmaW5kIGZ1bmN0aW9ucwoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2lkM3YybXV4LmM6ICh0ZXN0X3RhZ2xpYl9pZDNtdXhfd2l0aF90YWdzKToKCSAgaW5jcmVhc2UgbnVtLWJ1ZmZlcnMsIHRoaXMgbWFrZXMgc3VyZSB0aGUgdGVzdCBlcnJvcnMgb3V0IGluc3RlYWQKCSAgb2YgdGltaW5nIG91dCB3aGVuIG5vIHR5cGVmaW5kIGZ1bmN0aW9ucyBhcmUgcHJlc2VudAoKMjAwNi0wNS0wMiAxMzowMTo1MCArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzoKCSAgZml4IGRvY3MgZm9yIHdhdnBhcnNlCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBmaXggZG9jcyBmb3Igd2F2cGFyc2UKCjIwMDYtMDUtMDEgMjE6Mzc6NTEgKzAwMDAgIEVkZ2FyZCBMaW1hIDxlZGdhcmQubGltYUBpbmR0Lm9yZy5icj4KCgkqIHN5cy92NGwyL01ha2VmaWxlLmFtOgoJKiBzeXMvdjRsMi9nc3R2NGwyY29sb3JiYWxhbmNlLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJ4b3ZlcmxheS5jOgoJKiBzeXMvdjRsMi92NGwyX2NhbGxzLmM6CgkqIHRlc3RzL2ljbGVzL3Y0bDJzcmMtdGVzdC5jOgoJICBGZXcgaW1wcm92ZW1lbnRzIHRvIG1vdmUgdG8gZ29vZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEZldyBpbXByb3ZlbWVudHMgdG8gbW92ZSB0byBnb29kLgoKMjAwNi0wNS0wMSAxMTo0NjozMyArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJICBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06IGFsc28gY2hlY2sgLmNjIGZpbGVzIGZvciBndGstZG9jIG1hcmt1cAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkgIGFsc28gY2hlY2sgLmNjIGZpbGVzIGZvciBndGstZG9jIG1hcmt1cAoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9pZDN2Mm11eC5jOiAoaWQzdjJtdXhfc3VpdGUpLCAobWFpbik6CgkgICogZXh0L01ha2VmaWxlLmFtOgoJICAqIGV4dC90YWdsaWIvTWFrZWZpbGUuYW06CgkgICogZXh0L3RhZ2xpYi9nc3RpZDN2Mm11eC5oOgoJICAqIGV4dC90YWdsaWIvZ3N0dGFnbGlibXV4LmM6CgkgICogZXh0L3RhZ2xpYi9nc3R0YWdsaWJtdXguaDoKCSAgbW92ZSB0YWdsaWItYmFzZWQgaWQzdjJtdXhlciB0byAtZ29vZC4gIEZpeGVzICMzMzYxMTAuCgoyMDA2LTA1LTAxIDExOjQ1OjE1ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pY3lkZW11eC54bWw6CgkgIGFkZCBpY3lkZW11eCBpbnNwZWN0aW9uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBhZGQgaWN5ZGVtdXggaW5zcGVjdGlvbgoKMjAwNi0wNS0wMSAxMTo0MzozMSArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBwby9QT1RGSUxFUy5pbjoKCSogcG8vYWYucG86CgkqIHBvL2F6LnBvOgoJKiBwby9jcy5wbzoKCSogcG8vZW5fR0IucG86CgkqIHBvL2h1LnBvOgoJKiBwby9pdC5wbzoKCSogcG8vbmIucG86CgkqIHBvL25sLnBvOgoJKiBwby9vci5wbzoKCSogcG8vc3EucG86CgkqIHBvL3NyLnBvOgoJKiBwby9zdi5wbzoKCSogcG8vdWsucG86CgkqIHBvL3ZpLnBvOgoJICBhZGQgeGltYWdlc3JjIGZvciB0cmFuc2xhdGlvbgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgYWRkIHhpbWFnZXNyYyBmb3IgdHJhbnNsYXRpb24KCjIwMDYtMDQtMzAgMTY6MTY6NTkgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogZXh0L3RhZ2xpYi9nc3RpZDN2Mm11eC5jYzoKCSogZXh0L3RhZ2xpYi9nc3R0YWdsaWJtdXguYzoKCSAgc21hbGwgY2xlYW51cHMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHNtYWxsIGNsZWFudXBzCgoyMDA2LTA0LTMwIDE1OjMyOjEzICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIGV4dC90YWdsaWIvZ3N0aWQzdjJtdXguY2M6CgkgIGZpeCBkb2NzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBmaXggZG9jcwoKMjAwNi0wNC0zMCAxNDo1NToxNSArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcXRkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10YWdsaWIueG1sOgoJICB1cGRhdGUgdG8gbGF0ZXN0IHZlcnNpb24KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHVwZGF0ZSB0byBsYXRlc3QgdmVyc2lvbgoKMjAwNi0wNC0yOSAxODo0NjozNiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC90YWdsaWIvZ3N0dGFnbGliLmNjOiBQb3N0IGFuIGVycm9yIG1lc3NhZ2Ugb24gdGhlIGJ1cyBpbiB0aGUgKGV4dHJlbWVseSB1bmxpa2VseSkgY2FzZSBvZiBhbiBlcnJvci4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3RhZ2xpYi9nc3R0YWdsaWIuY2M6CgkgIFBvc3QgYW4gZXJyb3IgbWVzc2FnZSBvbiB0aGUgYnVzIGluIHRoZSAoZXh0cmVtZWx5IHVubGlrZWx5KQoJICBjYXNlIG9mIGFuIGVycm9yLgoKMjAwNi0wNC0yOSAxODoxODoyNCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC90YWdsaWIvOiBTcGxpdCB0aGUgYWN0dWFsIElEM3YyIHRhZyByZW5kZXJpbmcgY29kZSBpbnRvIGl0cyBvd24gc3ViY2xhc3MuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC90YWdsaWIvTWFrZWZpbGUuYW06CgkgICogZXh0L3RhZ2xpYi9nc3RpZDN2Mm11eC5jYzoKCSAgKiBleHQvdGFnbGliL2dzdGlkM3YybXV4Lmg6CgkgICogZXh0L3RhZ2xpYi9nc3R0YWdsaWIuY2M6CgkgICogZXh0L3RhZ2xpYi9nc3R0YWdsaWIuaDoKCSAgU3BsaXQgdGhlIGFjdHVhbCBJRDN2MiB0YWcgcmVuZGVyaW5nIGNvZGUgaW50bwoJICBpdHMgb3duIHN1YmNsYXNzLgoKMjAwNi0wNC0yOSAxNjoxNDoyMCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOiAuLi4gYW5kIGZpeCBtdWx0aWNoYW5uZWwvV0FWRk9STUFURVggc3VwcG9ydCBhZ2Fpbi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6IChnc3Rfd2F2cGFyc2Vfc3RyZWFtX2hlYWRlcnMpOgoJICAuLi4gYW5kIGZpeCBtdWx0aWNoYW5uZWwvV0FWRk9STUFURVggc3VwcG9ydCBhZ2Fpbi4KCjIwMDYtMDQtMjggMjM6MDk6MTcgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS4qOiBBZGQgcHVzaCAoc3RyZWFtaW5nKSBtb2RlIHRvIHdhdnBhcnNlIChmaXhlcyAjMzM3NjI1KQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzogKGdzdF93YXZwYXJzZV9iYXNlX2luaXQpLAoJICAoZ3N0X3dhdnBhcnNlX2NsYXNzX2luaXQpLCAoZ3N0X3dhdnBhcnNlX2Rpc3Bvc2UpLAoJICAoZ3N0X3dhdnBhcnNlX3Jlc2V0KSwgKGdzdF93YXZwYXJzZV9pbml0KSwKCSAgKGdzdF93YXZwYXJzZV9jcmVhdGVfc291cmNlcGFkKSwgKGdzdF93YXZwYXJzZV9wYXJzZV9hZHRsKSwKCSAgKGdzdF93YXZwYXJzZV9wYXJzZV9jdWVzKSwgKGdzdF93YXZwYXJzZV9wYXJzZV9maWxlX2hlYWRlciksCgkgIChnc3Rfd2F2cGFyc2Vfc3RyZWFtX2luaXQpLCAoZ3N0X3dhdnBhcnNlX3BlcmZvcm1fc2VlayksCgkgIChnc3Rfd2F2cGFyc2VfcGVla19jaHVua19pbmZvKSwgKGdzdF93YXZwYXJzZV9wZWVrX2NodW5rKSwKCSAgKGdzdF93YXZwYXJzZV9zdHJlYW1faGVhZGVycyksIChnc3Rfd2F2cGFyc2VfcGFyc2Vfc3RyZWFtX2luaXQpLAoJICAoZ3N0X3dhdnBhcnNlX3NlbmRfZXZlbnQpLCAoZ3N0X3dhdnBhcnNlX2FkZF9zcmNfcGFkKSwKCSAgKGdzdF93YXZwYXJzZV9zdHJlYW1fZGF0YSksIChnc3Rfd2F2cGFyc2VfbG9vcCksCgkgIChnc3Rfd2F2cGFyc2VfY2hhaW4pLCAoZ3N0X3dhdnBhcnNlX3NyY3BhZF9ldmVudCksCgkgIChnc3Rfd2F2cGFyc2Vfc2lua19hY3RpdmF0ZSksIChnc3Rfd2F2cGFyc2Vfc2lua19hY3RpdmF0ZV9wdWxsKSwKCSAgKGdzdF93YXZwYXJzZV9jaGFuZ2Vfc3RhdGUpLCAocGx1Z2luX2luaXQpOgoJICAqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5oOgoJICBBZGQgcHVzaCAoc3RyZWFtaW5nKSBtb2RlIHRvIHdhdnBhcnNlIChmaXhlcyAjMzM3NjI1KQoKMjAwNi0wNC0yOCAyMTo0MzowNyArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9pZDN2Mm11eC5jOgoJICBlbGVtZW50IHJlbmFtZWQKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGVsZW1lbnQgcmVuYW1lZAoKMjAwNi0wNC0yOCAxOToyMjo0NiArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teGltYWdlc3JjLnhtbDoKCSAgYWRkIHBsdWdpbiBkb2NzIGZvciB4aW1hZ2VzcmMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGFkZCBwbHVnaW4gZG9jcyBmb3IgeGltYWdlc3JjCgoyMDA2LTA0LTI4IDE5OjE1OjA4ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkgIGFkZCB4aW1hZ2VzcmMgaWNsZXMgdGVzdAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgICogdGVzdHMvTWFrZWZpbGUuYW06CgkgIGFkZCB4aW1hZ2VzcmMgaWNsZXMgdGVzdAoKMjAwNi0wNC0yOCAxODo1NzowOSArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJICBNb3ZlIHhpbWFnZXNyYyBwbHVnLWluIHRvIGdvb2QgYWZ0ZXIgcmV2aWV3LiAgRml4ZXMgIzMzNjc1Ni4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgKiBleHQvYW5ub2RleC9nc3RjbW1sZW5jLmM6IChnc3RfY21tbF9lbmNfY2xhc3NfaW5pdCksCgkgIChnc3RfY21tbF9lbmNfcHVzaF9jbGlwKToKCSAgKiBzeXMvTWFrZWZpbGUuYW06CgkgICogc3lzL3hpbWFnZS9NYWtlZmlsZS5hbToKCSAgKiBzeXMveGltYWdlL2dzdHhpbWFnZXNyYy5jOgoJICBNb3ZlIHhpbWFnZXNyYyBwbHVnLWluIHRvIGdvb2QgYWZ0ZXIgcmV2aWV3LiAgRml4ZXMgIzMzNjc1Ni4KCjIwMDYtMDQtMjggMTY6NTE6MzMgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogc3lzL3hpbWFnZS9nc3R4aW1hZ2VzcmMuYzoKCSogc3lzL3hpbWFnZS9nc3R4aW1hZ2VzcmMuaDoKCSAgYm9yZ2lmeSBuYW1pbmcKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGJvcmdpZnkgbmFtaW5nCgoyMDA2LTA0LTI4IDE2OjQ2OjUyICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIHN5cy94aW1hZ2UvZ3N0eGltYWdlc3JjLmM6CgkgIGRvYyB0d2Vha3MKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGRvYyB0d2Vha3MKCjIwMDYtMDQtMjggMTY6MTU6MjAgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogc3lzL3hpbWFnZS9NYWtlZmlsZS5hbToKCSogc3lzL3hpbWFnZS9nc3R4aW1hZ2VzcmMuYzoKCSAgY2xlYW4gdXAgTWFrZWZpbGUuYW0KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGNsZWFuIHVwIE1ha2VmaWxlLmFtCgoyMDA2LTA0LTI4IDE1OjMzOjA5ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIGV4dC90YWdsaWIvZ3N0dGFnbGlibXV4LmM6CgkqIGV4dC90YWdsaWIvZ3N0dGFnbGlibXV4Lmg6CgkgIHBlZGFudGljIGNsZWFudXBzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBwZWRhbnRpYyBjbGVhbnVwcwoKMjAwNi0wNC0yOCAxNDo1Nzo1NyArMDAwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHhpcGgub3JnPgoKCSAgZ3N0L2ljeWRlbXV4L2dzdGljeWRlbXV4Lio6IEZpeCBldmVudCBoYW5kbGluZzogY2FjaGUgZXZlbnRzIHdoZW4gdHlwZWZpbmRpbmcgYW5kIGZvcndhcmQgbGF0ZXIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9pY3lkZW11eC9nc3RpY3lkZW11eC5jOiAoZ3N0X2ljeWRlbXV4X3Jlc2V0KSwgICAgICAgICAoZ3N0X2ljeWRlbXV4X2luaXQpLCAoZ3N0X2ljeWRlbXV4X3Npbmtfc2V0Y2FwcyksCgkgIChnc3RfaWN5ZGVtdXhfYWRkX3NyY3BhZCksIChnc3RfaWN5ZGVtdXhfcGFyc2VfYW5kX3NlbmRfdGFncyksCgkgIChnc3RfaWN5ZGVtdXhfaGFuZGxlX2V2ZW50KSwgKGdzdF9pY3lkZW11eF9zZW5kX2NhY2hlZF9ldmVudHMpLAoJICAoZ3N0X2ljeWRlbXV4X3R5cGVmaW5kX29yX2ZvcndhcmQpLCAoZ3N0X2ljeWRlbXV4X2FkZF9tZXRhKSwKCSAgKGdzdF9pY3lkZW11eF9jaGFpbiksIChnc3RfaWN5ZGVtdXhfc2VuZF90YWdfZXZlbnQpOgoJICAqIGdzdC9pY3lkZW11eC9nc3RpY3lkZW11eC5oOgoJICBGaXggZXZlbnQgaGFuZGxpbmc6IGNhY2hlIGV2ZW50cyB3aGVuIHR5cGVmaW5kaW5nIGFuZCBmb3J3YXJkIGxhdGVyLgoKMjAwNi0wNC0yOCAxNDo1NToyMCArMDAwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkgIHN5cy9vc3hhdWRpby9nc3Rvc3hhdWRpb3NpbmsuYzogUmVnaXN0ZXIgb3N4YXVkaW9zcmMgdG8gdGhlIHBsdWdpbi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDYtMDQtMjggIFphaGVlciBBYmJhcyBNZXJhbGkgIDx6YWhlZXJhYmJhcyBhdCBtZXJhbGkgZG90IG9yZz4KCSAgKiBzeXMvb3N4YXVkaW8vZ3N0b3N4YXVkaW9zaW5rLmM6CgkgIChwbHVnaW5faW5pdCk6CgkgIFJlZ2lzdGVyIG9zeGF1ZGlvc3JjIHRvIHRoZSBwbHVnaW4uCgkgICogc3lzL29zeGF1ZGlvL2dzdG9zeGF1ZGlvc3JjLmM6CgkgIChnc3Rfb3N4X2F1ZGlvX3NyY19vc3hlbGVtZW50X2RvX2luaXQpLAoJICAoZ3N0X29zeF9hdWRpb19zcmNfYmFzZV9pbml0KSwgKGdzdF9vc3hfYXVkaW9fc3JjX2NsYXNzX2luaXQpLAoJICAoZ3N0X29zeF9hdWRpb19zcmNfaW5pdCksIChnc3Rfb3N4X2F1ZGlvX3NyY19zZXRfcHJvcGVydHkpLAoJICAoZ3N0X29zeF9hdWRpb19zcmNfZ2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9vc3hfYXVkaW9fc3JjX2NyZWF0ZV9yaW5nYnVmZmVyKSwgKGdzdF9vc3hfYXVkaW9fc3JjX2lvX3Byb2MpLAoJICAoZ3N0X29zeF9hdWRpb19zcmNfb3N4ZWxlbWVudF9pbml0KToKCSAgKiBzeXMvb3N4YXVkaW8vZ3N0b3N4YXVkaW9zcmMuaDoKCSAgUG9ydCBvZiBvc3hhdWRpb3NyYyB0byAwLjEwLgoJICAqIHN5cy9vc3hhdWRpby9NYWtlZmlsZS5hbToKCSAgQWRkIG9zeGF1ZGlvc3JjCgoyMDA2LTA0LTI4IDEyOjAwOjM5ICswMDAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSogQ2hhbmdlTG9nOgoJICBjb21taXQgQ2hhbmdlbG9nIGZvciBwcmV2aW91cyBjb21taXQKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGNvbW1pdCBDaGFuZ2Vsb2cgZm9yIHByZXZpb3VzIGNvbW1pdAoKMjAwNi0wNC0yOCAxMTo1NzozOSArMDAwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hyaW5nYnVmZmVyLmM6CgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hyaW5nYnVmZmVyLmg6CgkgIEZvcmdvdCB0byBjb21taXQsIHF1aWNrIGNvbW1pdCBiZTQgYXBwbGUgZGllcwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgRm9yZ290IHRvIGNvbW1pdCwgcXVpY2sgY29tbWl0IGJlNCBhcHBsZSBkaWVzCgoyMDA2LTA0LTI4IDExOjM3OjIyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L2lkM2RlbXV4L2lkM3YyZnJhbWVzLmM6IFJlY29nbmlzZSBhbmQgc2tpcCBhbnkgYnl0ZSBvcmRlciBtYXJrZXIgKEJPTSkgaW4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2lkM2RlbXV4L2lkM3YyZnJhbWVzLmM6IChoYXNfdXRmMTZfYm9tKSwKCSAgKHBhcnNlX3NwbGl0X3N0cmluZ3MpOgoJICBSZWNvZ25pc2UgYW5kIHNraXAgYW55IGJ5dGUgb3JkZXIgbWFya2VyIChCT00pIGluCgkgIFVURi0xNiBzdHJpbmdzLgoKMjAwNi0wNC0yNyAxNjowNTo1NCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIEFkZCBkb2NzIGZvciBib3RoIGF2aWRlbXV4IGFuZCBhdmltdXguCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmhpZXJhcmNoeToKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXZpLnhtbDoKCSAgKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkgICogZ3N0L2F2aS9nc3RhdmltdXguYzoKCSAgQWRkIGRvY3MgZm9yIGJvdGggYXZpZGVtdXggYW5kIGF2aW11eC4KCjIwMDYtMDQtMjcgMTQ6NTE6MDYgKzAwMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hbmF1d0Bza3luZXQuYmU+CgoJICBnc3QvYXZpLzogUG9ydCBBVkkgbXV4ZXIgdG8gR1N0cmVhbWVyLTAuMTAgKCMzMzIwMzEpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IE1hcmsgTmF1d2VsYWVydHMgIDxtYW5hdXcgYXQgc2t5bmV0IGRvdCBiZT4KCSAgKiBnc3QvYXZpL01ha2VmaWxlLmFtOgoJICAqIGdzdC9hdmkvZ3N0YXZpLmM6IChwbHVnaW5faW5pdCk6CgkgICogZ3N0L2F2aS9nc3RhdmltdXguYzogKGdzdF9hdmlfbXV4X2dldF90eXBlKSwKCSAgKGdzdF9hdmlfbXV4X2Jhc2VfaW5pdCksIChnc3RfYXZpX211eF9maW5hbGl6ZSksCgkgIChnc3RfYXZpX211eF9jbGFzc19pbml0KSwgKGdzdF9hdmlfbXV4X2luaXQpLAoJICAoZ3N0X2F2aV9tdXhfdmlkc2lua19zZXRfY2FwcyksIChnc3RfYXZpX211eF9hdWRzaW5rX3NldF9jYXBzKSwKCSAgKGdzdF9hdmlfbXV4X3BhZF9saW5rKSwgKGdzdF9hdmlfbXV4X3BhZF91bmxpbmspLAoJICAoZ3N0X2F2aV9tdXhfcmVxdWVzdF9uZXdfcGFkKSwgKGdzdF9hdmlfbXV4X3JlbGVhc2VfcGFkKSwKCSAgKGdzdF9hdmlfbXV4X3dyaXRlX3RhZyksIChnc3RfYXZpX211eF9yaWZmX2dldF9hdmlfaGVhZGVyKSwKCSAgKGdzdF9hdmlfbXV4X3JpZmZfZ2V0X2F2aXhfaGVhZGVyKSwKCSAgKGdzdF9hdmlfbXV4X3JpZmZfZ2V0X3ZpZGVvX2hlYWRlciksCgkgIChnc3RfYXZpX211eF9yaWZmX2dldF9hdWRpb19oZWFkZXIpLCAoZ3N0X2F2aV9tdXhfYWRkX2luZGV4KSwKCSAgKGdzdF9hdmlfbXV4X3dyaXRlX2luZGV4KSwgKGdzdF9hdmlfbXV4X2JpZ2ZpbGUpLAoJICAoZ3N0X2F2aV9tdXhfc3RhcnRfZmlsZSksIChnc3RfYXZpX211eF9zdG9wX2ZpbGUpLAoJICAoZ3N0X2F2aV9tdXhfcmVzdGFydF9maWxlKSwgKGdzdF9hdmlfbXV4X2hhbmRsZV9ldmVudCksCgkgIChnc3RfYXZpX211eF9maWxsX3F1ZXVlKSwgKGdzdF9hdmlfbXV4X3NlbmRfcGFkX2RhdGEpLAoJICAoZ3N0X2F2aV9tdXhfc3RyaXBfYnVmZmVyKSwgKGdzdF9hdmlfbXV4X2RvX2F1ZGlvX2J1ZmZlciksCgkgIChnc3RfYXZpX211eF9kb192aWRlb19idWZmZXIpLCAoZ3N0X2F2aV9tdXhfZG9fb25lX2J1ZmZlciksCgkgIChnc3RfYXZpX211eF9sb29wKSwgKGdzdF9hdmlfbXV4X2NvbGxlY3RfcGFkcyksCgkgIChnc3RfYXZpX211eF9nZXRfcHJvcGVydHkpLCAoZ3N0X2F2aV9tdXhfc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9hdmlfbXV4X2NoYW5nZV9zdGF0ZSk6CgkgICogZ3N0L2F2aS9nc3RhdmltdXguaDoKCSAgUG9ydCBBVkkgbXV4ZXIgdG8gR1N0cmVhbWVyLTAuMTAgKCMzMzIwMzEpLgoJICAqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F2aW11eC5jOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzLy5jdnNpZ25vcmU6CgkgIEFkZCB1bml0IHRlc3QgZm9yIEFWSSBtdXhlci4KCjIwMDYtMDQtMjYgMjE6Mjk6NDUgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS4qOiByZXZlcnRlZCBwYXRjaCAjMzM3NjI1IGZvciB0aGUgcHJpY2Ugb2YgMSBob3VyIHNsZWVwCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOiAoZ3N0X3dhdnBhcnNlX2Jhc2VfaW5pdCksCgkgIChnc3Rfd2F2cGFyc2VfY2xhc3NfaW5pdCksIChnc3Rfd2F2cGFyc2VfcmVzZXQpLAoJICAoZ3N0X3dhdnBhcnNlX2luaXQpLCAoZ3N0X3dhdnBhcnNlX2NyZWF0ZV9zb3VyY2VwYWQpLAoJICAoZ3N0X3dhdnBhcnNlX3BhcnNlX2ZpbGVfaGVhZGVyKSwgKGdzdF93YXZwYXJzZV9zdHJlYW1faW5pdCksCgkgIChnc3Rfd2F2cGFyc2VfcGVyZm9ybV9zZWVrKSwgKGdzdF93YXZwYXJzZV9zdHJlYW1faGVhZGVycyksCgkgIChnc3Rfd2F2cGFyc2Vfc2VuZF9ldmVudCksIChnc3Rfd2F2cGFyc2VfYWRkX3NyY19wYWQpLAoJICAoZ3N0X3dhdnBhcnNlX3N0cmVhbV9kYXRhKSwgKGdzdF93YXZwYXJzZV9sb29wKSwKCSAgKGdzdF93YXZwYXJzZV9zcmNwYWRfZXZlbnQpLCAoZ3N0X3dhdnBhcnNlX3NpbmtfYWN0aXZhdGUpLAoJICAoZ3N0X3dhdnBhcnNlX3NpbmtfYWN0aXZhdGVfcHVsbCksIChnc3Rfd2F2cGFyc2VfY2hhbmdlX3N0YXRlKSwKCSAgKHBsdWdpbl9pbml0KToKCSAgKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuaDoKCSAgcmV2ZXJ0ZWQgcGF0Y2ggIzMzNzYyNSBmb3IgdGhlIHByaWNlIG9mIDEgaG91ciBzbGVlcAoKMjAwNi0wNC0yNiAyMDoxMToxOCArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLio6IGNvcnJlY3QgcGFydGlhbCBpbXBsZW1lbnRhdGlvbiBvZiBwdXNoIG1vZGUgKGZyb20gbXkgbGFzdCBjb21taXQpCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOiAoZ3N0X3dhdnBhcnNlX2Jhc2VfaW5pdCksCgkgIChnc3Rfd2F2cGFyc2VfY2xhc3NfaW5pdCksIChnc3Rfd2F2cGFyc2VfcmVzZXQpLAoJICAoZ3N0X3dhdnBhcnNlX2luaXQpLCAoZ3N0X3dhdnBhcnNlX2NyZWF0ZV9zb3VyY2VwYWQpLAoJICAoZ3N0X3dhdnBhcnNlX3BhcnNlX2FkdGwpLCAoZ3N0X3dhdnBhcnNlX3BhcnNlX2N1ZXMpLAoJICAoZ3N0X3dhdnBhcnNlX3BhcnNlX2ZpbGVfaGVhZGVyKSwgKGdzdF93YXZwYXJzZV9zdHJlYW1faW5pdCksCgkgIChnc3Rfd2F2cGFyc2VfcGVyZm9ybV9zZWVrKSwgKGdzdF93YXZwYXJzZV9zdHJlYW1faGVhZGVycyksCgkgIChnc3Rfd2F2cGFyc2Vfc3RyZWFtX2RhdGEpLCAoZ3N0X3dhdnBhcnNlX2xvb3ApLAoJICAoZ3N0X3dhdnBhcnNlX2NoYWluKSwgKHBsdWdpbl9pbml0KToKCSAgKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuaDoKCSAgY29ycmVjdCBwYXJ0aWFsIGltcGxlbWVudGF0aW9uIG9mIHB1c2ggbW9kZQoJICAoZnJvbSBteSBsYXN0IGNvbW1pdCkKCjIwMDYtMDQtMjYgMTc6Mzc6MTAgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBleHQvZXNkL2VzZHNpbmsuYzogRml4IGNvbXBpbGUgcHJvYmxlbSBieSBkZWZpbmluZyBFU0RfTUFYX1dSSVRFX1NJWkUgaWYgaXQgaXMgbm90IGluIGVzZC5oCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9lc2QvZXNkc2luay5jOgoJICBGaXggY29tcGlsZSBwcm9ibGVtIGJ5IGRlZmluaW5nIEVTRF9NQVhfV1JJVEVfU0laRSBpZgoJICBpdCBpcyBub3QgaW4gZXNkLmgKCjIwMDYtMDQtMjYgMTc6MDg6MjQgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvYXVwYXJzZS9nc3RhdXBhcnNlLio6IFJld3JpdGUgYXVwYXJzZSB0byBzdWNrIGEgbGl0dGxlIGJpdCBsZXNzOiBtYWtlIHNvdXJjZSBwYWQgZHluYW1pYywgc28gZGVjb2RlYmluL3BsYXliaW4gd28uLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2F1cGFyc2UvZ3N0YXVwYXJzZS5jOiAoZ3N0X2F1X3BhcnNlX2Jhc2VfaW5pdCksCgkgIChnc3RfYXVfcGFyc2VfY2xhc3NfaW5pdCksIChnc3RfYXVfcGFyc2VfaW5pdCksCgkgIChnc3RfYXVfcGFyc2VfcmVzZXQpLCAoZ3N0X2F1X3BhcnNlX2FkZF9zcmNwYWQpLAoJICAoZ3N0X2F1X3BhcnNlX3JlbW92ZV9zcmNwYWQpLCAoZ3N0X2F1X3BhcnNlX3BhcnNlX2hlYWRlciksCgkgIChnc3RfYXVfcGFyc2VfY2hhaW4pLCAoZ3N0X2F1X3BhcnNlX3NyY19jb252ZXJ0KSwKCSAgKGdzdF9hdV9wYXJzZV9zcmNfcXVlcnkpLCAoZ3N0X2F1X3BhcnNlX2hhbmRsZV9zZWVrKSwKCSAgKGdzdF9hdV9wYXJzZV9zaW5rX2V2ZW50KSwgKGdzdF9hdV9wYXJzZV9zcmNfZXZlbnQpLAoJICAoZ3N0X2F1X3BhcnNlX2NoYW5nZV9zdGF0ZSk6CgkgICogZ3N0L2F1cGFyc2UvZ3N0YXVwYXJzZS5oOgoJICBSZXdyaXRlIGF1cGFyc2UgdG8gc3VjayBhIGxpdHRsZSBiaXQgbGVzczogbWFrZSBzb3VyY2UgcGFkCgkgIGR5bmFtaWMsIHNvIGRlY29kZWJpbi9wbGF5YmluIHdvcmsgd2l0aCBub24tcmF3IGZvcm1hdHMKCSAgbGlrZSBhbGF3L211bGF3OyBhZGQgcXVlcnkgZnVuY3Rpb24gZm9yIGR1cmF0aW9uL3Bvc2l0aW9uCgkgIHF1ZXJpZXM7IGNoZWNrIHdoZXRoZXIgd2UgaGF2ZSBlbm91Z2ggZGF0YSBiZWZvcmUgYXR0ZW1wdGluZwoJICB0byBwYXJzZSB0aGUgaGVhZGVyIChpbnN0ZWFkIG9mIGNyYXNoaW5nIHdoZW4gdGhhdCBpcyBub3QgdGhlCgkgIGNhc2UpOyB3b3JrIGFyb3VuZCBhdWRpb2NvbnZlcnQgc3Vja2luZyBieSBzd2FwcGluZyBlbmRpYW5uZXNzCgkgIHRvIHRoZSBuYXRpdmUgZW5kaWFubmVzcyBvdXJzZWx2ZXMgZm9yIGZsb2F0IGZvcm1hdHM7IHNlbmQKCSAgaW5pdGlhbCBuZXdzZWdtZW50IGV2ZW50LiBGaXhlcyAjMTYxNzEyLgoKMjAwNi0wNC0yNiAxNjoyOTozOCArMDAwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkgIHN5cy9vc3hhdWRpby86IFBvcnQgb2Ygb3N4YXVkaW9zaW5rIHRvIDAuMTAKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDYtMDQtMjYgIFphaGVlciBBYmJhcyBNZXJhbGkgIDx6YWhlZXJhYmJhcyBhdCBtZXJhbGkgZG90IG9yZz4KCSAgKiBzeXMvb3N4YXVkaW8vTWFrZWZpbGUuYW06CgkgICogc3lzL29zeGF1ZGlvL2dzdG9zeGF1ZGlvZWxlbWVudC5jOgoJICAoZ3N0X29zeF9hdWRpb19lbGVtZW50X2dldF90eXBlKSwKCSAgKGdzdF9vc3hfYXVkaW9fZWxlbWVudF9jbGFzc19pbml0KToKCSAgKiBzeXMvb3N4YXVkaW8vZ3N0b3N4YXVkaW9lbGVtZW50Lmg6CgkgICogc3lzL29zeGF1ZGlvL2dzdG9zeGF1ZGlvc2luay5jOgoJICAoZ3N0X29zeF9hdWRpb19zaW5rX29zeGVsZW1lbnRfZG9faW5pdCksCgkgIChnc3Rfb3N4X2F1ZGlvX3NpbmtfYmFzZV9pbml0KSwgKGdzdF9vc3hfYXVkaW9fc2lua19jbGFzc19pbml0KSwKCSAgKGdzdF9vc3hfYXVkaW9fc2lua19pbml0KSwgKGdzdF9vc3hfYXVkaW9fc2lua19zZXRfcHJvcGVydHkpLAoJICAoZ3N0X29zeF9hdWRpb19zaW5rX2dldF9wcm9wZXJ0eSksIChnc3Rfb3N4X2F1ZGlvX3NpbmtfZ2V0Y2FwcyksCgkgIChnc3Rfb3N4X2F1ZGlvX3NpbmtfY3JlYXRlX3JpbmdidWZmZXIpLAoJICAoZ3N0X29zeF9hdWRpb19zaW5rX2lvX3Byb2MpLCAoZ3N0X29zeF9hdWRpb19zaW5rX29zeGVsZW1lbnRfaW5pdCksCgkgIChwbHVnaW5faW5pdCk6CgkgICogc3lzL29zeGF1ZGlvL2dzdG9zeGF1ZGlvc2luay5oOgoJICBQb3J0IG9mIG9zeGF1ZGlvc2luayB0byAwLjEwCgoyMDA2LTA0LTI2IDA4OjU1OjI3ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZXh0L2VzZC9lc2RzaW5rLmM6IEFsd2F5cyB3cml0ZSBFU0RfQlVGX1NJWkUgYnl0ZXMgYW5kIHVzZSBFU0RfTUFYX1dSSVRFX1NJWkUgYXMgdGhlIHNpemUgb2YgdGhlIHJpbmdidWZmZXIuIFRoaXMgc2hvLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9lc2QvZXNkc2luay5jOiAoZ3N0X2VzZHNpbmtfcHJlcGFyZSksIChnc3RfZXNkc2lua19kZWxheSk6CgkgIEFsd2F5cyB3cml0ZSBFU0RfQlVGX1NJWkUgYnl0ZXMgYW5kIHVzZSBFU0RfTUFYX1dSSVRFX1NJWkUgYXMKCSAgdGhlIHNpemUgb2YgdGhlIHJpbmdidWZmZXIuIFRoaXMgc2hvdWxkIGZpeCBoYW5ncyB3aXRoIG9sZGVyCgkgIGVzZCBzb3VuZCBzZXJ2ZXJzLgoKMjAwNi0wNC0yNSAyMTo1NjozOCArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgRGVmaW5lIEdzdEVsZW1lbnREZXRhaWxzIGFzIGNvbnN0IGFuZCBhbHNvIHN0YXRpYyAod2hlbiBkZWZpbmVkIGFzIGdsb2JhbCkKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2FtcndiL2dzdGFtcndiZGVjLmM6CgkgICogZXh0L2FtcndiL2dzdGFtcndiZW5jLmM6CgkgICogZXh0L2FtcndiL2dzdGFtcndicGFyc2UuYzoKCSAgKiBleHQvYXJ0cy9nc3RfYXJ0cy5jOgoJICAqIGV4dC9hcnRzZC9nc3RhcnRzZHNpbmsuYzoKCSAgKiBleHQvYXVkaW9maWxlL2dzdGFmcGFyc2UuYzoKCSAgKiBleHQvYXVkaW9maWxlL2dzdGFmc2luay5jOgoJICAqIGV4dC9hdWRpb2ZpbGUvZ3N0YWZzcmMuYzoKCSAgKiBleHQvYXVkaW9yZXNhbXBsZS9nc3RhdWRpb3Jlc2FtcGxlLmM6CgkgICogZXh0L2J6Mi9nc3RiejJkZWMuYzoKCSAgKiBleHQvYnoyL2dzdGJ6MmVuYy5jOgoJICAqIGV4dC9jZGF1ZGlvL2dzdGNkYXVkaW8uYzoKCSAgKiBleHQvZGlyZWN0ZmIvZGZidmlkZW9zaW5rLmM6CgkgICogZXh0L2RpdngvZ3N0ZGl2eGRlYy5jOgoJICAqIGV4dC9kaXZ4L2dzdGRpdnhlbmMuYzoKCSAgKiBleHQvZHRzL2dzdGR0c2RlYy5jOiAoZ3N0X2R0c2RlY19iYXNlX2luaXQpOgoJICAqIGV4dC9mYWFjL2dzdGZhYWMuYzogKGdzdF9mYWFjX2Jhc2VfaW5pdCk6CgkgICogZXh0L2ZhYWQvZ3N0ZmFhZC5jOgoJICAqIGV4dC9nc20vZ3N0Z3NtZGVjLmM6CgkgICogZXh0L2dzbS9nc3Rnc21lbmMuYzoKCSAgKiBleHQvaGVybWVzL2dzdGhlcm1lc2NvbG9yc3BhY2UuYzoKCSAgKiBleHQvaXZvcmJpcy92b3JiaXNmaWxlLmM6CgkgICogZXh0L2xjcy9nc3Rjb2xvcnNwYWNlLmM6CgkgICogZXh0L2xpYmZhbWUvZ3N0bGliZmFtZS5jOgoJICAqIGV4dC9saWJtbXMvZ3N0bW1zLmM6IChnc3RfbW1zX2Jhc2VfaW5pdCk6CgkgICogZXh0L211c2VwYWNrL2dzdG11c2VwYWNrZGVjLmM6IChnc3RfbXVzZXBhY2tkZWNfYmFzZV9pbml0KToKCSAgKiBleHQvbXVzaWNicmFpbnovZ3N0dHJtLmM6IChnc3RfbXVzaWNicmFpbnpfYmFzZV9pbml0KToKCSAgKiBleHQvbmFzL25hc3NpbmsuYzogKGdzdF9uYXNzaW5rX2Jhc2VfaW5pdCk6CgkgICogZXh0L25lb24vZ3N0bmVvbmh0dHBzcmMuYzoKCSAgKiBleHQvc2RsL3NkbGF1ZGlvc2luay5jOgoJICAqIGV4dC9zZGwvc2RsdmlkZW9zaW5rLmM6CgkgICogZXh0L3Nob3V0L2dzdHNob3V0LmM6CgkgICogZXh0L3NuYXBzaG90L2dzdHNuYXBzaG90LmM6CgkgICogZXh0L3NuZGZpbGUvZ3N0c2YuYzoKCSAgKiBleHQvc3dmZGVjL2dzdHN3ZmRlYy5jOgoJICAqIGV4dC90YXJraW4vZ3N0dGFya2luZGVjLmM6CgkgICogZXh0L3Rhcmtpbi9nc3R0YXJraW5lbmMuYzoKCSAgKiBleHQvdGhlb3JhL3RoZW9yYWRlYy5jOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tkZWMuYzogKGdzdF93YXZwYWNrX2RlY19iYXNlX2luaXQpOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2twYXJzZS5jOiAoZ3N0X3dhdnBhY2tfcGFyc2VfYmFzZV9pbml0KToKCSAgKiBleHQveHZpZC9nc3R4dmlkZGVjLmM6CgkgICogZXh0L3h2aWQvZ3N0eHZpZGVuYy5jOgoJICAqIGdzdC9jZHhhcGFyc2UvZ3N0Y2R4YXBhcnNlLmM6IChnc3RfY2R4YV9wYXJzZV9iYXNlX2luaXQpOgoJICAqIGdzdC9jZHhhcGFyc2UvZ3N0Y2R4YXN0cmlwLmM6IChnc3RfY2R4YXN0cmlwX2Jhc2VfaW5pdCk6CgkgICogZ3N0L2NoYXJ0L2dzdGNoYXJ0LmM6CgkgICogZ3N0L2NvbG9yc3BhY2UvZ3N0Y29sb3JzcGFjZS5jOgoJICAqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5jOgoJICAqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyLmM6IChnc3RfaWlyX2VxdWFsaXplcl9iYXNlX2luaXQpOgoJICAqIGdzdC9mZXN0aXZhbC9nc3RmZXN0aXZhbC5jOgoJICAqIGdzdC9maWx0ZXIvZ3N0YnB3c2luYy5jOgoJICAqIGdzdC9maWx0ZXIvZ3N0aWlyLmM6CgkgICogZ3N0L2ZpbHRlci9nc3RscHdzaW5jLmM6CgkgICogZ3N0L2ZyZWV6ZS9nc3RmcmVlemUuYzoKCSAgKiBnc3QvZ2FtZXMvZ3N0cHV6emxlLmM6IChnc3RfcHV6emxlX2Jhc2VfaW5pdCk6CgkgICogZ3N0L2xpYnJmYi9nc3RyZmJzcmMuYzoKCSAgKiBnc3QvbWl4bWF0cml4L21peG1hdHJpeC5jOgoJICAqIGdzdC9tcGVnMXN5cy9nc3RtcGVnMXN5c3RlbWVuY29kZS5jOgoJICAqIGdzdC9tcGVnMXZpZGVvcGFyc2UvZ3N0bXAxdmlkZW9wYXJzZS5jOgoJICAqIGdzdC9tcGVnMnN1Yi9nc3RtcGVnMnN1YnQuYzoKCSAgKiBnc3QvbXBlZ2F1ZGlvcGFyc2UvZ3N0bXBlZ2F1ZGlvcGFyc2UuYzoKCSAgKiBnc3QvbXVsdGlmaWxlc2luay9nc3RtdWx0aWZpbGVzaW5rLmM6CgkgICogZ3N0L292ZXJsYXkvZ3N0b3ZlcmxheS5jOgoJICAqIGdzdC9wYXNzdGhyb3VnaC9nc3RwYXNzdGhyb3VnaC5jOgoJICAqIGdzdC9wbGF5b25kZW1hbmQvZ3N0cGxheW9uZGVtYW5kLmM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICAqIGdzdC9ydGpwZWcvZ3N0cnRqcGVnZGVjLmM6CgkgICogZ3N0L3J0anBlZy9nc3RydGpwZWdlbmMuYzoKCSAgKiBnc3Qvc21vb3RoL2dzdHNtb290aC5jOgoJICAqIGdzdC9zbW9vdGh3YXZlL2dzdHNtb290aHdhdmUuYzoKCSAgKiBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uYzoKCSAgKiBnc3Qvc3BlZWQvZ3N0c3BlZWQuYzoKCSAgKiBnc3Qvc3RlcmVvL2dzdHN0ZXJlby5jOgoJICAqIGdzdC9zd2l0Y2gvZ3N0c3dpdGNoLmM6CgkgICogZ3N0L3R0YS9nc3R0dGFkZWMuYzogKGdzdF90dGFfZGVjX2Jhc2VfaW5pdCk6CgkgICogZ3N0L3R0YS9nc3R0dGFwYXJzZS5jOiAoZ3N0X3R0YV9wYXJzZV9iYXNlX2luaXQpOgoJICAqIGdzdC92YmlkZWMvZ3N0dmJpZGVjLmM6CgkgICogZ3N0L3ZpZGVvY3JvcC9nc3R2aWRlb2Nyb3AuYzoKCSAgKiBnc3QvdmlkZW9kcm9wL2dzdHZpZGVvZHJvcC5jOgoJICAqIGdzdC92aXJ0dWFsZHViL2dzdHhzaGFycGVuLmM6CgkgICogZ3N0L3hpbmdoZWFkZXIvZ3N0eGluZ211eC5jOiAoZ3N0X3hpbmdfbXV4X2Jhc2VfaW5pdCk6CgkgICogZ3N0L3k0bS9nc3R5NG1lbmNvZGUuYzoKCSAgKiBzeXMvY2Ryb20vZ3N0Y2RwbGF5ZXIuYzoKCSAgKiBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5jOgoJICAqIHN5cy9kaXJlY3Rzb3VuZC9nc3RkaXJlY3Rzb3VuZHNpbmsuYzoKCSAgKiBzeXMvZ2xzaW5rL2dsaW1hZ2VzaW5rLmM6CgkgICogc3lzL3FjYW0vZ3N0cWNhbXNyYy5jOgoJICAqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzoKCSAgKiBzeXMvdmNkL3ZjZHNyYy5jOiAoZ3N0X3ZjZHNyY19iYXNlX2luaXQpOgoJICAqIHN5cy94aW1hZ2VzcmMveGltYWdlc3JjLmM6CgkgIERlZmluZSBHc3RFbGVtZW50RGV0YWlscyBhcyBjb25zdCBhbmQgYWxzbyBzdGF0aWMgKHdoZW4gZGVmaW5lZCBhcwoJICBnbG9iYWwpCgoyMDA2LTA0LTI1IDIxOjM5OjQ2ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBEZWZpbmUgR3N0RWxlbWVudERldGFpbHMgYXMgY29uc3QgYW5kIGFsc28gc3RhdGljICh3aGVuIGRlZmluZWQgYXMgZ2xvYmFsKQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvYWFsaWIvZ3N0YWFzaW5rLmM6CgkgICogZXh0L2Fubm9kZXgvZ3N0Y21tbGRlYy5jOgoJICAqIGV4dC9hbm5vZGV4L2dzdGNtbWxlbmMuYzoKCSAgKiBleHQvY2Fpcm8vZ3N0dGV4dG92ZXJsYXkuYzoKCSAgKiBleHQvY2Fpcm8vZ3N0dGltZW92ZXJsYXkuYzoKCSAgKiBleHQvY2Rpby9nc3RjZGlvY2RkYXNyYy5jOgoJICAqIGV4dC9kdi9nc3RkdmRlYy5jOgoJICAqIGV4dC9kdi9nc3RkdmRlbXV4LmM6CgkgICogZXh0L2VzZC9lc2Rtb24uYzoKCSAgKiBleHQvZXNkL2VzZHNpbmsuYzoKCSAgKiBleHQvZmxhYy9nc3RmbGFjZW5jLmM6CgkgICogZXh0L2ZsYWMvZ3N0ZmxhY3RhZy5jOgoJICAqIGV4dC9nY29uZi9nc3RnY29uZmF1ZGlvc2luay5jOiAoZ3N0X2djb25mX2F1ZGlvX3NpbmtfYmFzZV9pbml0KToKCSAgKiBleHQvZ2NvbmYvZ3N0Z2NvbmZhdWRpb3NyYy5jOiAoZ3N0X2djb25mX2F1ZGlvX3NyY19iYXNlX2luaXQpOgoJICAqIGV4dC9nY29uZi9nc3RnY29uZnZpZGVvc2luay5jOiAoZ3N0X2djb25mX3ZpZGVvX3NpbmtfYmFzZV9pbml0KToKCSAgKiBleHQvZ2NvbmYvZ3N0Z2NvbmZ2aWRlb3NyYy5jOiAoZ3N0X2djb25mX3ZpZGVvX3NyY19iYXNlX2luaXQpOgoJICAqIGV4dC9nZGtfcGl4YnVmL3BpeGJ1ZnNjYWxlLmM6CgkgICogZXh0L2hhbC9nc3RoYWxhdWRpb3NpbmsuYzogKGdzdF9oYWxfYXVkaW9fc2lua19iYXNlX2luaXQpOgoJICAqIGV4dC9oYWwvZ3N0aGFsYXVkaW9zcmMuYzogKGdzdF9oYWxfYXVkaW9fc3JjX2Jhc2VfaW5pdCk6CgkgICogZXh0L2pwZWcvZ3N0anBlZ2RlYy5jOgoJICAqIGV4dC9qcGVnL2dzdGpwZWdlbmMuYzoKCSAgKiBleHQvanBlZy9nc3RzbW9rZWRlYy5jOgoJICAqIGV4dC9qcGVnL2dzdHNtb2tlZW5jLmM6CgkgICogZXh0L2xpYmNhY2EvZ3N0Y2FjYXNpbmsuYzoKCSAgKiBleHQvbGlibW5nL2dzdG1uZ2RlYy5jOgoJICAqIGV4dC9saWJtbmcvZ3N0bW5nZW5jLmM6CgkgICogZXh0L2xpYnBuZy9nc3RwbmdkZWMuYzoKCSAgKiBleHQvbGlicG5nL2dzdHBuZ2VuYy5jOgoJICAqIGV4dC9taWttb2QvZ3N0bWlrbW9kLmM6CgkgICogZXh0L3JhdzEzOTQvZ3N0ZHYxMzk0c3JjLmM6CgkgICogZXh0L3Nob3V0Mi9nc3RzaG91dDIuYzogKGdzdF9zaG91dDJzZW5kX2luaXQpOgoJICAqIGV4dC9zaG91dDIvZ3N0c2hvdXQyLmg6CgkgICogZXh0L3NwZWV4L2dzdHNwZWV4ZGVjLmM6CgkgICogZXh0L3NwZWV4L2dzdHNwZWV4ZW5jLmM6CgkgICogZ3N0L2FscGhhL2dzdGFscGhhLmM6CgkgICogZ3N0L2FscGhhL2dzdGFscGhhY29sb3IuYzoKCSAgKiBnc3QvYXBldGFnL2dzdGFwZWRlbXV4LmM6CgkgICogZ3N0L2F1cGFyc2UvZ3N0YXVwYXJzZS5jOgoJICAqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG9hdWRpb3NpbmsuYzoKCSAgKGdzdF9hdXRvX2F1ZGlvX3NpbmtfYmFzZV9pbml0KToKCSAgKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvdmlkZW9zaW5rLmM6CgkgIChnc3RfYXV0b192aWRlb19zaW5rX2Jhc2VfaW5pdCk6CgkgICogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOiAoZ3N0X2F2aV9kZW11eF9iYXNlX2luaXQpOgoJICAqIGdzdC9hdmkvZ3N0YXZpbXV4LmM6IChnc3RfYXZpbXV4X2Jhc2VfaW5pdCk6CgkgICogZ3N0L2N1dHRlci9nc3RjdXR0ZXIuYzoKCSAgKiBnc3QvZGVidWcvYnJlYWtteWRhdGEuYzoKCSAgKiBnc3QvZGVidWcvZWZlbmNlLmM6CgkgICogZ3N0L2RlYnVnL2dzdG5hdmlnYXRpb250ZXN0LmM6CgkgICogZ3N0L2RlYnVnL2dzdG5hdnNlZWsuYzoKCSAgKiBnc3QvZGVidWcvbmVnb3RpYXRpb24uYzoKCSAgKiBnc3QvZGVidWcvcHJvZ3Jlc3NyZXBvcnQuYzoKCSAgKiBnc3QvZGVidWcvdGVzdHBsdWdpbi5jOgoJICAqIGdzdC9lZmZlY3R2L2dzdGFnaW5nLmM6CgkgICogZ3N0L2VmZmVjdHYvZ3N0ZGljZS5jOgoJICAqIGdzdC9lZmZlY3R2L2dzdGVkZ2UuYzoKCSAgKiBnc3QvZWZmZWN0di9nc3RxdWFyay5jOgoJICAqIGdzdC9lZmZlY3R2L2dzdHJldi5jOgoJICAqIGdzdC9lZmZlY3R2L2dzdHNoYWdhZGVsaWMuYzoKCSAgKiBnc3QvZWZmZWN0di9nc3R2ZXJ0aWdvLmM6CgkgICogZ3N0L2VmZmVjdHYvZ3N0d2FycC5jOgoJICAqIGdzdC9mbHgvZ3N0Zmx4ZGVjLmM6CgkgICogZ3N0L2dvb20vZ3N0Z29vbS5jOgoJICAqIGdzdC9pY3lkZW11eC9nc3RpY3lkZW11eC5jOgoJICAqIGdzdC9pZDNkZW11eC9nc3RpZDNkZW11eC5jOgoJICAqIGdzdC9pbnRlcmxlYXZlL2RlaW50ZXJsZWF2ZS5jOgoJICAqIGdzdC9pbnRlcmxlYXZlL2ludGVybGVhdmUuYzoKCSAgKiBnc3QvbGF3L2FsYXctZGVjb2RlLmM6IChnc3RfYWxhd2RlY19iYXNlX2luaXQpOgoJICAqIGdzdC9sYXcvYWxhdy1lbmNvZGUuYzogKGdzdF9hbGF3ZW5jX2Jhc2VfaW5pdCk6CgkgICogZ3N0L2xhdy9tdWxhdy1kZWNvZGUuYzogKGdzdF9tdWxhd2RlY19iYXNlX2luaXQpOgoJICAqIGdzdC9sYXcvbXVsYXctZW5jb2RlLmM6IChnc3RfbXVsYXdlbmNfYmFzZV9pbml0KToKCSAgKiBnc3QvbGV2ZWwvZ3N0bGV2ZWwuYzoKCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzogKGdzdF9tYXRyb3NrYV9kZW11eF9iYXNlX2luaXQpOgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzogKGdzdF9tYXRyb3NrYV9tdXhfYmFzZV9pbml0KToKCSAgKiBnc3QvbWVkaWFuL2dzdG1lZGlhbi5jOgoJICAqIGdzdC9tb25vc2NvcGUvZ3N0bW9ub3Njb3BlLmM6CgkgICogZ3N0L211bHRpcGFydC9tdWx0aXBhcnRkZW11eC5jOgoJICAqIGdzdC9tdWx0aXBhcnQvbXVsdGlwYXJ0bXV4LmM6CgkgICogZ3N0L29sZGNvcmUvZ3N0YWdncmVnYXRvci5jOgoJICAqIGdzdC9vbGRjb3JlL2dzdGZkc2luay5jOgoJICAqIGdzdC9vbGRjb3JlL2dzdG1kNXNpbmsuYzoKCSAgKiBnc3Qvb2xkY29yZS9nc3RtdWx0aWZpbGVzcmMuYzoKCSAgKiBnc3Qvb2xkY29yZS9nc3RwaXBlZmlsdGVyLmM6CgkgICogZ3N0L29sZGNvcmUvZ3N0c2hhcGVyLmM6CgkgICogZ3N0L29sZGNvcmUvZ3N0c3RhdGlzdGljcy5jOgoJICAqIGdzdC9ydHAvZ3N0YXN0ZXJpc2toMjYzLmM6CgkgICogZ3N0L3J0cC9nc3RydHBMMTZkZXBheS5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwTDE2cGF5LmM6CgkgICogZ3N0L3J0cC9nc3RydHBhbXJkZXBheS5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwYW1ycGF5LmM6CgkgICogZ3N0L3J0cC9nc3RydHBkZXBheS5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwZ3NtcGF5LmM6CgkgICogZ3N0L3J0cC9nc3RydHBoMjYzcGF5LmM6CgkgICogZ3N0L3J0cC9nc3RydHBoMjYzcGRlcGF5LmM6CgkgICogZ3N0L3J0cC9nc3RydHBoMjYzcHBheS5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwaWxiY2RlcGF5LmM6CgkgICogZ3N0L3J0cC9nc3RydHBtcDRncGF5LmM6CgkgICogZ3N0L3J0cC9nc3RydHBtcDR2ZGVwYXkuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cG1wNHZwYXkuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cG1wYWRlcGF5LmM6CgkgICogZ3N0L3J0cC9nc3RydHBtcGFwYXkuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cHBjbWFkZXBheS5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwcGNtYXBheS5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwcGNtdWRlcGF5LmM6CgkgICogZ3N0L3J0cC9nc3RydHBwY211cGF5LmM6CgkgICogZ3N0L3J0cC9nc3RydHBzcGVleGRlcGF5LmM6CgkgICogZ3N0L3J0cC9nc3RydHBzcGVleHBheS5jOgoJICAqIGdzdC9ydHNwL2dzdHJ0cGRlYy5jOgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzoKCSAgKiBnc3Qvc21wdGUvZ3N0c21wdGUuYzoKCSAgKiBnc3QvdWRwL2dzdGR5bnVkcHNpbmsuYzoKCSAgKiBnc3QvdWRwL2dzdG11bHRpdWRwc2luay5jOgoJICAqIGdzdC91ZHAvZ3N0dWRwc2luay5jOgoJICAqIGdzdC91ZHAvZ3N0dWRwc3JjLmM6CgkgICogZ3N0L3ZpZGVvYm94L2dzdHZpZGVvYm94LmM6CgkgICogZ3N0L3ZpZGVvZmlsdGVyL2dzdGdhbW1hLmM6IChnc3RfZ2FtbWFfYmFzZV9pbml0KToKCSAgKiBnc3QvdmlkZW9maWx0ZXIvZ3N0dmlkZW9iYWxhbmNlLmM6CgkgICogZ3N0L3ZpZGVvZmlsdGVyL2dzdHZpZGVvZmxpcC5jOgoJICAqIGdzdC92aWRlb2ZpbHRlci9nc3R2aWRlb3RlbXBsYXRlLmM6CgkgIChnc3RfdmlkZW90ZW1wbGF0ZV9iYXNlX2luaXQpOgoJICAqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIuYzoKCSAgKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzogKGdzdF93YXZwYXJzZV9iYXNlX2luaXQpLAoJICAoZ3N0X3dhdnBhcnNlX2NsYXNzX2luaXQpLCAoZ3N0X3dhdnBhcnNlX2Rpc3Bvc2UpLAoJICAoZ3N0X3dhdnBhcnNlX3Jlc2V0KSwgKGdzdF93YXZwYXJzZV9pbml0KSwKCSAgKGdzdF93YXZwYXJzZV9wZXJmb3JtX3NlZWspLCAoZ3N0X3dhdnBhcnNlX3BlZWtfY2h1bmtfaW5mbyksCgkgIChnc3Rfd2F2cGFyc2VfcGVla19jaHVuayksIChnc3Rfd2F2cGFyc2Vfc3RyZWFtX2hlYWRlcnMpLAoJICAoZ3N0X3dhdnBhcnNlX3BhcnNlX3N0cmVhbV9pbml0KSwgKGdzdF93YXZwYXJzZV9zZW5kX2V2ZW50KSwKCSAgKGdzdF93YXZwYXJzZV9hZGRfc3JjX3BhZCksIChnc3Rfd2F2cGFyc2Vfc3RyZWFtX2RhdGEpLAoJICAoZ3N0X3dhdnBhcnNlX2NoYWluKSwgKGdzdF93YXZwYXJzZV9zcmNwYWRfZXZlbnQpLAoJICAoZ3N0X3dhdnBhcnNlX3NpbmtfYWN0aXZhdGUpLCAoZ3N0X3dhdnBhcnNlX3NpbmtfYWN0aXZhdGVfcHVsbCksCgkgIChnc3Rfd2F2cGFyc2VfY2hhbmdlX3N0YXRlKToKCSAgKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuaDoKCSAgKiBzeXMvb3NzL2dzdG9zc21peGVyZWxlbWVudC5jOgoJICAqIHN5cy9vc3MvZ3N0b3Nzc2luay5jOgoJICAqIHN5cy9vc3MvZ3N0b3Nzc3JjLmM6CgkgICogc3lzL29zeGF1ZGlvL2dzdG9zeGF1ZGlvZWxlbWVudC5jOgoJICAqIHN5cy9vc3hhdWRpby9nc3Rvc3hhdWRpb3NpbmsuYzoKCSAgKiBzeXMvb3N4YXVkaW8vZ3N0b3N4YXVkaW9zcmMuYzoKCSAgKiBzeXMvc3VuYXVkaW8vZ3N0c3VuYXVkaW9taXhlci5jOgoJICAqIHN5cy9zdW5hdWRpby9nc3RzdW5hdWRpb3NpbmsuYzoKCSAgRGVmaW5lIEdzdEVsZW1lbnREZXRhaWxzIGFzIGNvbnN0IGFuZCBhbHNvIHN0YXRpYyAod2hlbiBkZWZpbmVkIGFzCgkgIGdsb2JhbCkKCjIwMDYtMDQtMjUgMTc6NTc6MjMgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvanBlZy9nc3RqcGVnZGVjLmM6IFNvdXJjZSBwYWQgaGFzIGZpeGVkIGNhcHMuIElmIHdlIGRvbid0IHNldCB0aGlzLCBiYWQgdGhpbmdzIGhhcHBlbiB3aGVuIHRoZSB3aW5kb3cgaXMgcmVzaXplZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2pwZWcvZ3N0anBlZ2RlYy5jOiAoZ3N0X2pwZWdfZGVjX2NoYWluKToKCSAgU291cmNlIHBhZCBoYXMgZml4ZWQgY2Fwcy4gSWYgd2UgZG9uJ3Qgc2V0IHRoaXMsIGJhZAoJICB0aGluZ3MgaGFwcGVuIHdoZW4gdGhlIHdpbmRvdyBpcyByZXNpemVkLgoKMjAwNi0wNC0yNSAxNjozODo1MCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9tYXRyb3NrYS86IEhhbmRsZSBjYXNlIHdoZXJlIHRoZSBUcmFja1R5cGUgZWJtbCBjaHVuayBkb2VzIG5vdCBjb21lIGJlZm9yZSB0aGUKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L21hdHJvc2thL01ha2VmaWxlLmFtOgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOiAoZ3N0X21hdHJvc2thX2RlbXV4X2FkZF9zdHJlYW0pLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X2hhbmRsZV9zcmNfZXZlbnQpOgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1pZHMuYzoKCSAgKGdzdF9tYXRyb3NrYV90cmFja19pbml0X3ZpZGVvX2NvbnRleHQpLAoJICAoZ3N0X21hdHJvc2thX3RyYWNrX2luaXRfYXVkaW9fY29udGV4dCksCgkgIChnc3RfbWF0cm9za2FfdHJhY2tfaW5pdF9zdWJ0aXRsZV9jb250ZXh0KSwKCSAgKGdzdF9tYXRyb3NrYV90cmFja19pbml0X2NvbXBsZXhfY29udGV4dCk6CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLWlkcy5oOgoJICBIYW5kbGUgY2FzZSB3aGVyZSB0aGUgVHJhY2tUeXBlIGVibWwgY2h1bmsgZG9lcyBub3QgY29tZSBiZWZvcmUgdGhlCgkgIFRyYWNrSW5mb0F1ZGlvIG9yIFRyYWNrSW5mb1ZpZGVvIGVibWwgY2h1bmsgKCMzMzk0NDYpLiBJZ25vcmUgUW9TCgkgIGV2ZW50cy4KCjIwMDYtMDQtMjUgMTY6MDk6NTUgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwLzogSXQncyBjb2RlY19kYXRhLCBub3QgY29kZWNfaW5mby4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cC9nc3RydHBtcDRncGF5LmM6IChnc3RfcnRwX21wNGdfcGF5X3NldGNhcHMpOgoJICAqIGdzdC9ydHAvZ3N0cnRwbXA0dnBheS5jOiAoZ3N0X3J0cF9tcDR2X3BheV9zZXRjYXBzKToKCSAgSXQncyBjb2RlY19kYXRhLCBub3QgY29kZWNfaW5mby4KCjIwMDYtMDQtMjUgMTE6NDU6MDAgKzAwMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hbmF1d0Bza3luZXQuYmU+CgoJICBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzogSGFuZGxlIGNvZGVjX2RhdGEgZm9yIFZmVyBjb21wYXRpYmlsaXR5IGNvZGVjIElEcyAoIzMzOTQ1MSkKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBNYXJrIE5hdXdlbGFlcnRzICA8bWFuYXV3IGF0IHNreW5ldCBkb3QgYmU+CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6IChnc3RfbWF0cm9za2FfZGVtdXhfdmlkZW9fY2Fwcyk6CgkgIEhhbmRsZSBjb2RlY19kYXRhIGZvciBWZlcgY29tcGF0aWJpbGl0eSBjb2RlYyBJRHMgKCMzMzk0NTEpCgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJICAoZ3N0X21hdHJvc2thX211eF92aWRlb19wYWRfc2V0Y2Fwcyk6CgkgIFNhbWUgaGVyZSwgaGFuZGxlIGNvZGVjX2RhdGEgYW5kIGFkZCBhZGRpdGlvbmFsIGNhcHMgd2UgY2FuIGhhbmRsZQoJICBub3cgdG8gdGhlIHBhZCB0ZW1wbGF0ZSAoaHVmZnl1diwgZHYgYW5kIGgyNjMgdmlkZW8pICgjMzM5NDUxKQoKMjAwNi0wNC0yNSAxMTowOToyNCArMDAwMCAgSm9zZWYgWmxvbWVrIDxqb3NlZi56bG9tZWtAaXRvbmlzLnR2PgoKCSAgZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOiBGaXggdGltZXN0YW1waW5nIG9mIEItZnJhbWVzLCB1c2Ugc2lnbmVkIGludGVnZXJzLCBkbyBzb21lIHJvdW5kaW5nICgjMzM5Njc4KS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBKb3NlZiBabG9tZWsgIDxqb3NlZiBkb3QgemxvbWVrIGF0IGl0b25pcyBkb3QgdHY+CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJICAoZ3N0X21hdHJvc2thX211eF9jcmVhdGVfYnVmZmVyX2hlYWRlciksCgkgIChnc3RfbWF0cm9za2FfbXV4X3dyaXRlX2RhdGEpOgoJICBGaXggdGltZXN0YW1waW5nIG9mIEItZnJhbWVzLCB1c2Ugc2lnbmVkIGludGVnZXJzLCBkbwoJICBzb21lIHJvdW5kaW5nICgjMzM5Njc4KS4KCjIwMDYtMDQtMjQgMTg6MzA6NTUgKzAwMDAgIEVkZ2FyZCBMaW1hIDxlZGdhcmQubGltYUBpbmR0Lm9yZy5icj4KCgkqIENoYW5nZUxvZzoKCSogZXh0L2Fubm9kZXgvZ3N0Y21tbHBhcnNlci5jOgoJICBqdXN0IG1ha2UgaXQgY29tcGlsZSB3aXRoIC0tZGlzYWJsZS1nc3QtZGVidWcuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBqdXN0IG1ha2UgaXQgY29tcGlsZSB3aXRoIC0tZGlzYWJsZS1nc3QtZGVidWcuCgoyMDA2LTA0LTIzIDE1OjU1OjMwICswMDAwICBTw6liYXN0aWVuIE1vdXR0ZSA8c2ViYXN0aWVuQG1vdXR0ZS5uZXQ+CgoJICBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzogRml4IGEgYmFkIGNvbnZlcnNpb24gdXNpbmcgZ3N0X2d1aW50NjRfdG9fZ2RvdWJsZS4gZmFicyAoKGdkb3VibGUpIGRlbXV4LT5pbmRleFtlbnRyeV0uLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6IChnc3RfbWF0cm9za2FkZW11eF9kb19pbmRleF9zZWVrKToKCSAgRml4IGEgYmFkIGNvbnZlcnNpb24gdXNpbmcgZ3N0X2d1aW50NjRfdG9fZ2RvdWJsZS4KCSAgZmFicyAoKGdkb3VibGUpIGRlbXV4LT5pbmRleFtlbnRyeV0udGltZSAtIChnZG91YmxlKSBzZWVrX3BvcykgY2FuIG5vdCBiZQoJICByZXBsYWNlZCBieSBmYWJzIChnc3RfZ3VpbnQ2NF90b19nZG91YmxlIChkZW11eC0+aW5kZXhbZW50cnldLnRpbWUgLSBzZWVrX3BvcykpIGFzIHRoZQoJICBkaWZmZXJlbmNlIGNvdWxkIGJlIG5lZ2F0aXZlLiBmYWJzIChnc3RfZ3VpbnQ2NF90b19nZG91YmxlIChkZW11eC0+aW5kZXhbZW50cnldLnRpbWUpIC0KCSAgZ3N0X2d1aW50NjRfdG9fZ2RvdWJsZSAoc2Vla19wb3MpKSBpcyB0aGUgZ29vZCBzb2x1dGlvbi4gVGhhbmtzIHRvIFRpbSB3aG8gaGFzIHNlZW4gbXkKCSAgbWlzdGFrZS4KCjIwMDYtMDQtMjIgMTU6MzI6NDggKzAwMDAgIFPDqWJhc3RpZW4gTW91dHRlIDxzZWJhc3RpZW5AbW91dHRlLm5ldD4KCgkgIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOiBVc2UgZ3N0X2d1aW50NjRfdG9fZ2RvdWJsZSBmb3IgY29udmVyc2lvbnMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6IChnc3RfbWF0cm9za2FkZW11eF9kb19pbmRleF9zZWVrKToKCSAgVXNlIGdzdF9ndWludDY0X3RvX2dkb3VibGUgZm9yIGNvbnZlcnNpb25zCgkgICogd2luMzIvdnM2L2dzdF9wbHVnaW5zX2dvb2QuZHN3OgoJICAqIHdpbjMyL3ZzNi9saWJnc3RpY3lkZW11eC5kc3A6CgkgIEFkZCBhIHByb2plY3QgZmlsZSBmb3IgaWN5ZGVtdXgKCjIwMDYtMDQtMjEgMTg6MDc6MTAgKzAwMDAgIEZhYnJpemlvIEdlbm5hcmkgPGZhYnJpemlvLmdlQHRpc2NhbGkuaXQ+CgoJICBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6IFdoZW4gc3BsaXR0aW5nIGF1ZGlvIGNodW5rcywgdGhlIGJsb2NrIGFsaWdubWVudCBpcyBub3QgdGFrZW4gaW4gY29uc2lkZXJhdGlvbiwgc28gdGhlIHNtYWxsZXIuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBGYWJyaXppbyBHZW5uYXJpIDxmYWJyaXppbyBkb3QgZ2UgYXQgdGlzY2FsaSBkb3QgaXQ+CgkgICogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOiAoZ3N0X2F2aV9kZW11eF9wYXJzZV9zdHJlYW0pLAoJICAoZ3N0X2F2aV9kZW11eF9wYXJzZV9pbmRleCksIChnc3RfYXZpX2RlbXV4X21hc3NhZ2VfaW5kZXgpOgoJICBXaGVuIHNwbGl0dGluZyBhdWRpbyBjaHVua3MsIHRoZSBibG9jayBhbGlnbm1lbnQgaXMgbm90IHRha2VuIGluCgkgIGNvbnNpZGVyYXRpb24sIHNvIHRoZSBzbWFsbGVyIGNodW5rcyBjb3VsZCBiZSBvZiBzaXplIHdoaWNoIGlzCgkgIG5vdCBhIG11bHRpcGxlIG9mIHRoZSBibG9jayBhbGlnbm1lbnQuIEZpeGVzICMzMzY5MDQKCjIwMDYtMDQtMjEgMTc6NTk6MDMgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBleHQvcmF3MTM5NC9nc3RkdjEzOTRzcmMuYzogVXNlIHNjYWxlIGZ1bmN0aW9ucwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvcmF3MTM5NC9nc3RkdjEzOTRzcmMuYzogKGdzdF9kdjEzOTRzcmNfY29udmVydCk6CgkgIFVzZSBzY2FsZSBmdW5jdGlvbnMKCjIwMDYtMDQtMjEgMTc6Mjc6NDAgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvZHYvZ3N0ZHYuYzogRml4IGJ1aWxkLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZHYvZ3N0ZHYuYzogKHBsdWdpbl9pbml0KToKCSAgRml4IGJ1aWxkLgoKMjAwNi0wNC0yMSAxNzoxNToyOSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9kZWJ1Zy9wcm9ncmVzc3JlcG9ydC5jOiBBZGQgJ2Zvcm1hdCcgcHJvcGVydHkgdG8gZm9yY2UgcXVlcnlpbmcgdG8gYSBwYXJ0aWN1bGFyIGZvcm1hdC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2RlYnVnL3Byb2dyZXNzcmVwb3J0LmM6IChnc3RfcHJvZ3Jlc3NfcmVwb3J0X2ZpbmFsaXplKSwKCSAgKGdzdF9wcm9ncmVzc19yZXBvcnRfY2xhc3NfaW5pdCksIChnc3RfcHJvZ3Jlc3NfcmVwb3J0X2luaXQpLAoJICAoZ3N0X3Byb2dyZXNzX3JlcG9ydF9kb19xdWVyeSksIChnc3RfcHJvZ3Jlc3NfcmVwb3J0X3JlcG9ydCksCgkgIChnc3RfcHJvZ3Jlc3NfcmVwb3J0X3NldF9wcm9wZXJ0eSksCgkgIChnc3RfcHJvZ3Jlc3NfcmVwb3J0X2dldF9wcm9wZXJ0eSk6CgkgIEFkZCAnZm9ybWF0JyBwcm9wZXJ0eSB0byBmb3JjZSBxdWVyeWluZyB0byBhIHBhcnRpY3VsYXIgZm9ybWF0LgoKMjAwNi0wNC0yMSAxNTo1MDoyOCArMDAwMCAgQW5keSBXaW5nbyA8d2luZ29AcG9ib3guY29tPgoKCSAgZXh0L2R2L2dzdGR2LmMgKHBsdWdpbl9pbml0KTogbGliZHYgaXMgYSBtYXJnaW5hbCBkZWNvZGVyLCBhdCBiZXN0LCBvbiBiaWcgZW5kaWFuIHN5c3RlbXMuIERyb3AgaXRzIHJhbmsgaW4gdGhhdCBjYXNlLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA2LTA0LTIxICBBbmR5IFdpbmdvICA8d2luZ29AcG9ib3guY29tPgoJICAqIGV4dC9kdi9nc3Rkdi5jIChwbHVnaW5faW5pdCk6IGxpYmR2IGlzIGEgbWFyZ2luYWwgZGVjb2RlciwgYXQKCSAgYmVzdCwgb24gYmlnIGVuZGlhbiBzeXN0ZW1zLiBEcm9wIGl0cyByYW5rIGluIHRoYXQgY2FzZS4gT1RPSCBvbgoJICB4ODYgaXQncyBxdWl0ZSBmaW5lLiBTZWUgY2hhbmdlcyBmcm9tIHRvZGF5IGluIGdzdC1mZm1wZWcgYXMgd2VsbC4KCjIwMDYtMDQtMjEgMDk6Mjc6MTEgKzAwMDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEB4aXBoLm9yZz4KCgkgIEFkZCBpY3lkZW11eCwgYW5kIHRlc3RzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgICogZ3N0L2ljeWRlbXV4L01ha2VmaWxlLmFtOgoJICAqIGdzdC9pY3lkZW11eC9nc3RpY3lkZW11eC5jOiAoZ3N0X2ljeWRlbXV4X2dldF90eXBlKSwKCSAgKGdzdF9pY3lkZW11eF9iYXNlX2luaXQpLCAoZ3N0X2ljeWRlbXV4X2NsYXNzX2luaXQpLAoJICAoZ3N0X2ljeWRlbXV4X3Jlc2V0KSwgKGdzdF9pY3lkZW11eF9pbml0KSwKCSAgKGdzdF9pY3lkZW11eF9zaW5rX3NldGNhcHMpLCAoZ3N0X2ljeWRlbXV4X2Rpc3Bvc2UpLAoJICAoZ3N0X2ljeWRlbXV4X2FkZF9zcmNwYWQpLCAoZ3N0X2ljeWRlbXV4X3JlbW92ZV9zcmNwYWQpLAoJICAodW5pY29kaWZ5KSwgKGdzdF9pY3lkZW11eF91bmljb2RpZnkpLAoJICAoZ3N0X2ljeWRlbXV4X3BhcnNlX2FuZF9zZW5kX3RhZ3MpLAoJICAoZ3N0X2ljeWRlbXV4X3R5cGVmaW5kX29yX2ZvcndhcmQpLCAoZ3N0X2ljeWRlbXV4X2FkZF9tZXRhKSwKCSAgKGdzdF9pY3lkZW11eF9jaGFpbiksIChnc3RfaWN5ZGVtdXhfY2hhbmdlX3N0YXRlKSwKCSAgKGdzdF9pY3lkZW11eF9zZW5kX3RhZ19ldmVudCksIChwbHVnaW5faW5pdCk6CgkgICogZ3N0L2ljeWRlbXV4L2dzdGljeWRlbXV4Lmg6CgkgICogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvaWN5ZGVtdXguYzogKHR5cGVmaW5kX3N1Y2NlZWQpLAoJICAocGx1Z2luX2luaXQpLCAoaWN5ZGVtdXhfZm91bmRfcGFkKSwgKGNyZWF0ZV9pY3lkZW11eCksCgkgIChjbGVhbnVwX2ljeWRlbXV4KSwgKHB1c2hfZGF0YSksIChHU1RfU1RBUlRfVEVTVCksCgkgIChpY3lkZW11eF9zdWl0ZSksIChtYWluKToKCSAgQWRkIGljeWRlbXV4LCBhbmQgdGVzdHMuCgoyMDA2LTA0LTIwIDE3OjQ4OjI5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5jOiBQb3N0IFNFR01FTlRfRE9ORSBtZXNzYWdlIGluIFRJTUUgZm9ybWF0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZmxhYy9nc3RmbGFjZGVjLmM6IChnc3RfZmxhY19kZWNfbG9vcCk6CgkgIFBvc3QgU0VHTUVOVF9ET05FIG1lc3NhZ2UgaW4gVElNRSBmb3JtYXQuCgoyMDA2LTA0LTIwIDE3OjI5OjU2ICswMDAwICBFZGdhcmQgTGltYSA8ZWRnYXJkLmxpbWFAaW5kdC5vcmcuYnI+CgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkgIEFkZGVkIGEgY291cGxlIG9mIGlmZGVmcyB0byBtYWtlIGl0IGNvbXBpbGUgd2l0aCBvdGhlciBrZXJuZWxzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgQWRkZWQgYSBjb3VwbGUgb2YgaWZkZWZzIHRvIG1ha2UgaXQgY29tcGlsZSB3aXRoIG90aGVyIGtlcm5lbHMuCgoyMDA2LTA0LTIwIDE2OjMzOjU1ICswMDAwICBGYWJyaXppbyBHZW5uYXJpIDxmYWJyaXppby5nZUB0aXNjYWxpLml0PgoKCSAgZ3N0L2F2aS9nc3RhdmlkZW11eC5jOiBGaXggaW5kZXggY3JlYXRpb24gd2hlbiB3ZSBoYXZlIHRvIHNjYW4gdGhlIGZpbGUgdG8gY3JlYXRlIGFuIGluZGV4LiBUaGVyZSBtYXkgYmUgb3RoZXIgdHlwZXMgLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogRmFicml6aW8gR2VubmFyaSAgPGZhYnJpemlvIGRvdCBnZSBhdCB0aXNjYWxpIGRvdCBpdD4KCSAgKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6IChnc3RfYXZpX2RlbXV4X3BlZWtfdGFnKSwKCSAgKGdzdF9hdmlfZGVtdXhfbmV4dF9kYXRhX2J1ZmZlciksIChnc3RfYXZpX2RlbXV4X3N0cmVhbV9zY2FuKToKCSAgRml4IGluZGV4IGNyZWF0aW9uIHdoZW4gd2UgaGF2ZSB0byBzY2FuIHRoZSBmaWxlIHRvIGNyZWF0ZQoJICBhbiBpbmRleC4gVGhlcmUgbWF5IGJlIG90aGVyIHR5cGVzIG9mIFJJRkYgJ0xJU1QnIGNodW5rcyB0aGFuCgkgICdtb3ZpJyBhbmQgd2UgbmVlZCB0byBza2lwIHRoZW0gcHJvcGVybHkgYXMgd2VsbCBvciB3ZSdsbCBlbmQgdXAKCSAgcmVhZGluZyBnYXJiYWdlICgjMzM2ODg5KS4gU29tZSBvdGhlciBjb3NtZXRpYyBjaGFuZ2VzLgoKMjAwNi0wNC0yMCAxNDoyMTo0MiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC9mbGFjL2dzdGZsYWNkZWMuYzogQWRkIHN1cHBvcnQgZm9yIHNlZ21lbnQgc2Vla3MgKGZpeGVzICMzMzgyOTApLiBBbHNvIGRlbW90ZSBzb21lIHJlY3VycmluZyBkZWJ1ZyBtZXNzYWdlIGZyb20gRC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZmxhYy9nc3RmbGFjZGVjLmM6IChnc3RfZmxhY19kZWNfbG9vcCksCgkgIChnc3RfZmxhY19kZWNfaGFuZGxlX3NlZWtfZXZlbnQpOgoJICBBZGQgc3VwcG9ydCBmb3Igc2VnbWVudCBzZWVrcyAoZml4ZXMgIzMzODI5MCkuIEFsc28gZGVtb3RlCgkgIHNvbWUgcmVjdXJyaW5nIGRlYnVnIG1lc3NhZ2UgZnJvbSBERUJVRyB0byBMT0cgbGV2ZWwuCgoyMDA2LTA0LTIwIDEzOjIzOjQwICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L21hdHJvc2thLzogU2V0IERJU0NPTlQgZmxhZyBvbiBmaXJzdCBidWZmZXIgYWZ0ZXIgYSBkaXNjb250aW51aXR5LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzogKGdzdF9tYXRyb3NrYV9kZW11eF9hZGRfc3RyZWFtKSwKCSAgKGdzdF9tYXRyb3NrYWRlbXV4X2RvX2luZGV4X3NlZWspLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X2hhbmRsZV9zZWVrX2V2ZW50KSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9wYXJzZV9ibG9ja2dyb3VwX29yX3NpbXBsZWJsb2NrKToKCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtaWRzLmg6CgkgIFNldCBESVNDT05UIGZsYWcgb24gZmlyc3QgYnVmZmVyIGFmdGVyIGEgZGlzY29udGludWl0eS4KCSAgRml4IG5ld3NlZ21lbnQgZXZlbnRzIHNlbnQgd2hlbiBzZWVraW5nIGFuZCBob25vdXIgS0VZX1VOSVQKCSAgc2VlayBmbGFnLiBDcmVhdGUgcGFkIHdpdGggYm9ndXMgY2FwcyBpZiB3ZSBkb24ndCByZWNvZ25pc2UKCSAgdGhlIHN0cmVhbSBjb2RlYyBpZC4KCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguaDoKCSAgRml4IEdPYmplY3QgbWFjcm9zLgoKMjAwNi0wNC0yMCAxMTowMDoxNiArMDAwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFuYXV3QHNreW5ldC5iZT4KCgkgIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOiBIYW5kbGUgZW5kIG9mIHNlZ21lbnQgcHJvcGVybHkgd2hlbiBzZXQ7IGRvbid0IGRlYWQtbG9jayB3aGVuIHBvc3Rpbmcgc3RhcnQgb2Ygc2VnbWVudC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IE1hcmsgTmF1d2VsYWVydHMgIDxtYW5hdXcgYXQgc2t5bmV0IGRvdCBiZT4KCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9oYW5kbGVfc2Vla19ldmVudCksIChnc3RfbWF0cm9za2FfZGVtdXhfbG9vcCk6CgkgIEhhbmRsZSBlbmQgb2Ygc2VnbWVudCBwcm9wZXJseSB3aGVuIHNldDsgZG9uJ3QgZGVhZC1sb2NrIHdoZW4KCSAgcG9zdGluZyBzdGFydCBvZiBzZWdtZW50IG1lc3NhZ2Ugd2hlbiBkb2luZyBhIHNlZ21lbnQgc2Vlay4KCSAgRml4ZXMgIzMzODgxMC4KCjIwMDYtMDQtMjAgMDk6NDg6MDUgKzAwMDAgIGpeIDxqQGJvb3RsYWIub3JnPgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBOZXZlciB0cmVhdCB2aWRlbyBzdHJlYW1zIGFzIGFuIGF1ZGlvIHN0cmVhbS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBqXiA8aiBhdCBib290bGFiIGRvdCBvcmc+CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAocXRkZW11eF9wYXJzZV90cmFrKSwKCSAgKHF0ZGVtdXhfdmlkZW9fY2Fwcyk6CgkgIE5ldmVyIHRyZWF0IHZpZGVvIHN0cmVhbXMgYXMgYW4gYXVkaW8gc3RyZWFtLgoJICBBZGQgcXRkcncgbWltZSB0eXBlLgoJICBGaXhlcyAjMzM5MDQxCgoyMDA2LTA0LTIwIDA5OjExOjIyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6IE1ha2UgbXBlZzIgYWFjIGF1ZGlvIHdvcms6IGNyZWF0ZSBhcnRpZmljaWFsIHByaXZhdGUgY29kZWMgZGF0YSBjaHVuayB3aGljaCBmYWFkMiBzZWVtLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOiAoZ3N0X21hdHJvc2thX2RlbXV4X2F1ZGlvX2NhcHMpLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X3BsdWdpbl9pbml0KToKCSAgTWFrZSBtcGVnMiBhYWMgYXVkaW8gd29yazogY3JlYXRlIGFydGlmaWNpYWwgcHJpdmF0ZSBjb2RlYyBkYXRhCgkgIGNodW5rIHdoaWNoIGZhYWQyIHNlZW1zIHRvIHJlcXVpcmUsIGp1c3QgYXMgd2UgZG8gZm9yIG1wZWc0IGFhYy4KCSAgQWxzbyBjYWxsIGdzdF9yaWZmX2luaXQoKS4gUGFydGlhbGx5IGZpeGVzICMzMzg3NjcuCgoyMDA2LTA0LTE5IDE1OjE2OjMzICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L3dhdmVuYy9nc3R3YXZlbmMuKjogU2V0IGNhcHMgb24gZmlyc3Qgb3V0Z29pbmcgYnVmZmVyLCBzbyB0aGF0IGl0IGRvZXNuJ3QgZXJyb3Igb3V0IGltbWVkaWF0ZWx5IHdpdGggYSBub24tbmVnb3RpLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC93YXZlbmMvZ3N0d2F2ZW5jLmM6IChnc3Rfd2F2ZW5jX2Jhc2VfaW5pdCksCgkgIChnc3Rfd2F2ZW5jX2NsYXNzX2luaXQpLCAoZ3N0X3dhdmVuY19pbml0KSwKCSAgKGdzdF93YXZlbmNfY3JlYXRlX2hlYWRlcl9idWYpLCAoZ3N0X3dhdmVuY19wdXNoX2hlYWRlciksCgkgIChnc3Rfd2F2ZW5jX3Npbmtfc2V0Y2FwcyksIChnZXRfaWRfZnJvbV9uYW1lKSwgKGdzdF93YXZlbmNfZXZlbnQpLAoJICAoZ3N0X3dhdmVuY19jaGFpbiksIChnc3Rfd2F2ZW5jX2NoYW5nZV9zdGF0ZSk6CgkgICogZ3N0L3dhdmVuYy9nc3R3YXZlbmMuaDoKCSAgU2V0IGNhcHMgb24gZmlyc3Qgb3V0Z29pbmcgYnVmZmVyLCBzbyB0aGF0IGl0IGRvZXNuJ3QgZXJyb3Igb3V0CgkgIGltbWVkaWF0ZWx5IHdpdGggYSBub24tbmVnb3RpYXRlZCBlcnJvciAoIzMzODcxNikuIFJld3JpdGUgYW5kCgkgIGNsZWFuIHVwIGEgYml0OyBmaXggc2V0Y2FwcyBmdW5jdGlvbiB0byBwYXJzZSB0aGluZ3MgcHJvcGVybHk7CgkgIGZpeCBzaW5rIGNhcHMgKDhiaXQgYXVkaW8gaXMgdW5zaWduZWQgYW5kIGRvZXNuJ3QgaGF2ZSBkZXB0aCk7CgkgIHVzZSBib2lsZXJwbGF0ZSBtYWNyb3M7IHJlbW92ZSB1bnVzZWQgcHJvcGVydGllcyBzdHVmZi4KCjIwMDYtMDQtMTkgMDk6Mjc6MDAgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IEZvciBWQlIgYXVkaW8sIGRvbid0IHRyeSB0byBjYWxjdWxhdGUgdGhlIHNhbXBsZXNfcGVyX2ZyYW1lLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChxdGRlbXV4X3BhcnNlX3RyYWspOgoJICBGb3IgVkJSIGF1ZGlvLCBkb24ndCB0cnkgdG8gY2FsY3VsYXRlIHRoZSBzYW1wbGVzX3Blcl9mcmFtZS4KCSAgRml4ZXMgIzMzODkzNS4KCjIwMDYtMDQtMTggMTg6MTQ6MzQgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvZ2RrX3BpeGJ1Zi9nc3RnZGtwaXhidWYuYzogTGVhdmUgSlBFRyBkZWNvZGluZyB0byBvdXIganBlZ2RlYyBwbHVnaW4uIGdka3BpeGJ1ZmRlYyBjYW5ub3QgaGFuZGxlIE1KUEVHIHN0cmVhbXMgYW4uLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2dka19waXhidWYvZ3N0Z2RrcGl4YnVmLmM6CgkgIExlYXZlIEpQRUcgZGVjb2RpbmcgdG8gb3VyIGpwZWdkZWMgcGx1Z2luLiBnZGtwaXhidWZkZWMgY2Fubm90CgkgIGhhbmRsZSBNSlBFRyBzdHJlYW1zIGFuZCBtaWdodCBiZSBhdXRvcGx1Z2dlZCBmb3IgdGhvc2UgaWYgdGhlCgkgIHVzZXIgZG9lc24ndCBoYXZlIGpwZWdkZWMgaW5zdGFsbGVkIChyZXN1bHRpbmcgaW4gYSBjcnlwdGljIGVycm9yCgkgIG1lc3NhZ2UgYWJvdXQgaHVmZm1hbiB0YWJsZXMpLiBCZXR0ZXIgdG8gZGlzYWJsZSBKUEVHIGRlY29kaW5nIGhlcmUKCSAgYW5kIGxldCB0aGUgdXNlciBmaWd1cmUgb3V0IHRoYXQgc2hlIG5lZWRzIHRvIGluc3RhbGwganBlZ2RlYy4KCjIwMDYtMDQtMTggMTg6MDQ6NDggKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvZ2RrX3BpeGJ1Zi9nc3RnZGtwaXhidWYuKjogTWFrZSB3b3JrIHdpdGggcGFja2V0aXNlZC9mcmFtZWQgaW5wdXQgKGUuZy4gcG5nLWluLXF1aWNrdGltZSkuIFVzZQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZ2RrX3BpeGJ1Zi9nc3RnZGtwaXhidWYuYzogKGdzdF9nZGtfcGl4YnVmX3Npbmtfc2V0Y2FwcyksCgkgIChnc3RfZ2RrX3BpeGJ1Zl9jbGFzc19pbml0KSwgKGdzdF9nZGtfcGl4YnVmX2luaXQpLAoJICAoZ3N0X2dka19waXhidWZfZmx1c2gpLCAoZ3N0X2dka19waXhidWZfY2hhaW4pOgoJICAqIGV4dC9nZGtfcGl4YnVmL2dzdGdka3BpeGJ1Zi5oOgoJICBNYWtlIHdvcmsgd2l0aCBwYWNrZXRpc2VkL2ZyYW1lZCBpbnB1dCAoZS5nLiBwbmctaW4tcXVpY2t0aW1lKS4gVXNlCgkgIEdTVF9FTEVNRU5UX0VSUk9SIHdoZW4gd2UgcmV0dXJuIEdTVF9GTE9XX0VSUk9SLiBBZGQgc29tZQoJICBHU1RfREVCVUdfRlVOQ1BUUiBoZXJlIGFuZCB0aGVyZS4gVXNlIEdTVF9MT0cgZm9yIHJlY3VycmluZwoJICBkZWJ1ZyBtZXNzYWdlcy4gRml4IGJvaWxlcnBsYXRlIG1hY3Jvcy4KCjIwMDYtMDQtMTggMTc6Mjk6NDIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvZ2RrX3BpeGJ1Zi9nc3RnZGtwaXhidWYuYzogTm8gbmVlZCB0byBzcGVjaWFsLWNhc2UgZm9yIEdkay0yLjAgYW55IGxvbmdlciwgd2UgcmVxdWlyZQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZ2RrX3BpeGJ1Zi9nc3RnZGtwaXhidWYuYzogKGdzdF9nZGtfcGl4YnVmX2dldF9jYXBzbGlzdCksCgkgIChnc3RfZ2RrX3BpeGJ1Zl9zZXRfcHJvcGVydHkpLCAoZ3N0X2dka19waXhidWZfZ2V0X3Byb3BlcnR5KToKCSAgTm8gbmVlZCB0byBzcGVjaWFsLWNhc2UgZm9yIEdkay0yLjAgYW55IGxvbmdlciwgd2UgcmVxdWlyZQoJICBHZGsgMi4yIG9yIG5ld2VyOyBtaW5vciBjbGVhbi11cHMuCgoyMDA2LTA0LTE4IDE3OjE3OjU1ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgUmV3cml0ZSBhIGJpdDogdXNlIEdzdEJhc2VTaW5rOjpzdGFydCBhbmQgc3RvcCBpbnN0ZWFkIG9mIGEgc3RhdGUgY2hhbmdlIGZ1bmN0aW9uOyB1c2UgR1NUX0VMRU1FTlRfRVJST1IgZm9yIGVycm9yIHJlLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9zaG91dDIvZ3N0c2hvdXQyLmM6IChnc3Rfc2hvdXQyc2VuZF9iYXNlX2luaXQpLAoJICAoZ3N0X3Nob3V0MnNlbmRfY2xhc3NfaW5pdCksIChnc3Rfc2hvdXQyc2VuZF9pbml0KSwKCSAgKHNldF9zaG91dF9tZXRhZGF0YSksIChnc3Rfc2hvdXQyc2VuZF9zZXRfbWV0YWRhdGEpLAoJICAoZ3N0X3Nob3V0MnNlbmRfZXZlbnQpLCAoZ3N0X3Nob3V0MnNlbmRfc3RhcnQpLAoJICAoZ3N0X3Nob3V0MnNlbmRfY29ubmVjdCksIChnc3Rfc2hvdXQyc2VuZF9zdG9wKSwKCSAgKGdzdF9zaG91dDJzZW5kX3JlbmRlciksIChnc3Rfc2hvdXQyc2VuZF9zZXRfcHJvcGVydHkpLAoJICAoZ3N0X3Nob3V0MnNlbmRfZ2V0X3Byb3BlcnR5KSwgKGdzdF9zaG91dDJzZW5kX3NldGNhcHMpLAoJICAocGx1Z2luX2luaXQpOgoJICAqIGV4dC9zaG91dDIvZ3N0c2hvdXQyLmg6CgkgICogcG8vUE9URklMRVMuaW46CgkgIFJld3JpdGUgYSBiaXQ6IHVzZSBHc3RCYXNlU2luazo6c3RhcnQgYW5kIHN0b3AgaW5zdGVhZCBvZiBhIHN0YXRlCgkgIGNoYW5nZSBmdW5jdGlvbjsgdXNlIEdTVF9FTEVNRU5UX0VSUk9SIGZvciBlcnJvciByZXBvcnRpbmcsIG5vdAoJICBnX2Vycm9yKCkgb3IgR1NUX0VSUk9SKCk7IGRvbid0IHVucmVmIGNhcHMgaW4gc2V0Y2FwcyBmdW5jdGlvbiwKCSAgd2lsbCBjYXVzZSBjcmFzaGVzIG9yIGFzc2VydGlvbiBmYWlsdXJlczsgcmVtb3ZlICh1bnVzZWQpICJzeW5jIgoJICBwcm9wZXJ0eSwgYmFzZXNpbmsgYWxyZWFkeSBoYXMgc3VjaCBhIHByb3BlcnR5OyBtaXNjLiBvdGhlcgoJICBtaW5vciBmaXhlcyBhbmQgY2xlYW51cHMuCgoyMDA2LTA0LTE4IDE0OjE1OjMzICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgQWRkIHRyYW5zbGF0YWJsZSBlcnJvciBtZXNzYWdlIGZvciB3aGVuIHdlIGNhbm5vdCBjb25uZWN0IHRvIHRoZSBzb3VuZCBzZXJ2ZXIsIGFzICJDYW5ub3Qgb3BlbiByZXNvdXJjZSBmb3Igd3JpdGluZyIgLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9lc2QvZXNkc2luay5jOiAoZ3N0X2VzZHNpbmtfb3BlbiksIChnc3RfZXNkc2lua19wcmVwYXJlKToKCSAgKiBleHQvZXNkL2dzdGVzZC5jOiAocGx1Z2luX2luaXQpOgoJICAqIHBvL1BPVEZJTEVTLmluOgoJICBBZGQgdHJhbnNsYXRhYmxlIGVycm9yIG1lc3NhZ2UgZm9yIHdoZW4gd2UgY2Fubm90CgkgIGNvbm5lY3QgdG8gdGhlIHNvdW5kIHNlcnZlciwgYXMgIkNhbm5vdCBvcGVuIHJlc291cmNlCgkgIGZvciB3cml0aW5nIiBpc24ndCByZWFsbHkgYW4gYWNjZXB0YWJsZSBtZXNzYWdlIHRvIHNob3cKCSAgdG8gdGhlIHVzZXIgaW4gdGhpcyBjYXNlLgoKMjAwNi0wNC0xOCAxMzozMjoyOSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIHN5cy9vc3MvZ3N0LWkxOG4tcGx1Z2luLmg6IFJlbW92ZSBib2d1cyBmaWxlIHRoYXQgZG9lc24ndCBiZWxvbmcgaGVyZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL29zcy9nc3QtaTE4bi1wbHVnaW4uaDoKCSAgUmVtb3ZlIGJvZ3VzIGZpbGUgdGhhdCBkb2Vzbid0IGJlbG9uZyBoZXJlLgoKMjAwNi0wNC0xNyAxOTo1NzoxMCArMDAwMCAgUGhpbGlwcGUgVmFsZW1ib2lzIDxsZXBoaWxvdXNvcGhlQHVzZXJzLnNmLm5ldD4KCgkgIGV4dC9zaG91dDIvZ3N0c2hvdXQyLio6IEhhbmRsZSB0YWdzIGJlaW5nIHJlY2VpdmVkIGJlZm9yZSB0aGUgY29ubmVjdGlvbiB0byB0aGUgc2VydmVyIGlzIGVzdGFibGlzaGVkIHByb3Blcmx5IChzZWUgIy4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFBoaWxpcHBlIFZhbGVtYm9pcwoJICAqIGV4dC9zaG91dDIvZ3N0c2hvdXQyLmM6IChnc3Rfc2hvdXQyc2VuZF9pbml0KSwKCSAgKGdzdF9zaG91dDJzZW5kX3NldF9tZXRhZGF0YSksIChnc3Rfc2hvdXQyc2VuZF9ldmVudCksCgkgIChnc3Rfc2hvdXQyc2VuZF9yZW5kZXIpLCAoZ3N0X3Nob3V0MnNlbmRfY2hhbmdlX3N0YXRlKToKCSAgKiBleHQvc2hvdXQyL2dzdHNob3V0Mi5oOgoJICBIYW5kbGUgdGFncyBiZWluZyByZWNlaXZlZCBiZWZvcmUgdGhlIGNvbm5lY3Rpb24gdG8KCSAgdGhlIHNlcnZlciBpcyBlc3RhYmxpc2hlZCBwcm9wZXJseSAoc2VlICMzMzg2MzYpLgoKMjAwNi0wNC0xNyAxOTo0MzozMiArMDAwMCAgRWRnYXJkIExpbWEgPGVkZ2FyZC5saW1hQGluZHQub3JnLmJyPgoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJICBKdXN0IGFkZGVkIGEgZ3RrLWRvYyBjb21tZW50LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgSnVzdCBhZGRlZCBhIGd0ay1kb2MgY29tbWVudC4KCjIwMDYtMDQtMTcgMTk6MTI6MzYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvc2hvdXQyL2dzdHNob3V0Mi5jOiBEb24ndCBjcmFzaCBpbiBjYXNlIHRoZSBjb25uZWN0aW9uIHRvIHRoZSBzZXJ2ZXIgZmFpbHM6IGRvbid0IHNldCBwb2ludGVyIHRvIE5VTEwgYnkgYXNzaWduaW4uLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3Nob3V0Mi9nc3RzaG91dDIuYzogKGdzdF9zaG91dDJzZW5kX3JlbmRlcik6CgkgIERvbid0IGNyYXNoIGluIGNhc2UgdGhlIGNvbm5lY3Rpb24gdG8gdGhlIHNlcnZlciBmYWlsczoKCSAgZG9uJ3Qgc2V0IHBvaW50ZXIgdG8gTlVMTCBieSBhc3NpZ25pbmcgRkFMU0U7IGVycm9yIG91dAoJICBwcm9wZXJseSBieSB1c2luZyBHU1RfRUxFTUVOVF9FUlJPUiBhbmQgcmV0dXJuaW5nCgkgIEdTVF9GTE9XX0VSUk9SIChmaXhlcyAjMzM4NjM2KS4gTGFzdGx5LCBmcmVlIGNvbm5lY3Rpb24KCSAgYmVmb3JlIHJlc2V0dGluZyB0aGUgcG9pbnRlci4KCjIwMDYtMDQtMTcgMTA6MDE6NTEgKzAwMDAgIEFsZXggTGFuY2FzdGVyIDxhbGV4bGFuQGZlZG9yYXByb2plY3Qub3JnPgoKCSAgZ3N0L2lkM2RlbXV4L2lkM3RhZ3MuYzogKEZpeGVzICMzMzg3MTMpCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9pZDNkZW11eC9pZDN0YWdzLmM6CgkgIFJlY29nbmlzZSBUQ08gKEdlbnJlKSB0YWdzIGluIElEM3YyLjIuIFBhdGNoIGJ5IEFsZXggTGFuY2FzdGVyCgkgIChGaXhlcyAjMzM4NzEzKQoKMjAwNi0wNC0xMyAyMTo0NTo1NyArMDAwMCAgRWRnYXJkIExpbWEgPGVkZ2FyZC5saW1hQGluZHQub3JnLmJyPgoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJKiBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmM6CgkgIEZpeGVkIHNvbWUgbWVtb3J5IGxlYWtzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgRml4ZWQgc29tZSBtZW1vcnkgbGVha3MuCgoyMDA2LTA0LTEzIDA5OjE1OjMxICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIENoYW5nZUxvZzoKCSogZ3N0L3J0cC9NYWtlZmlsZS5hbToKCSogZ3N0L3J0cC9nc3Rhc3Rlcmlza2gyNjMuaDoKCSogZ3N0L3J0cC9nc3RydHAuYzoKCSogZ3N0L3J0cC9nc3RydHBMMTZkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cEwxNnBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGFtcmRlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwYW1ycGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBnc21kZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGdzbXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBoMjYzcGRlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2M3BwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBtcDRncGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwbXA0dmRlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwbXA0dnBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cG1wYWRlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwbXBhcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwcGNtYWRlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwcGNtYXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHBjbWFwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBwY211ZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBwY211cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwcGNtdXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cHNwZWV4ZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBzcGVleHBheS5oOgoJICByZXZlcnRpbmcgcnRwIHBhdGNoZXMgdG8gZml4IGZyZWV6ZSBicmVhayBvbiAtYmFzZSBhcyBleHBsYWluZWQgb24gdGhlIGxpc3QKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHJldmVydGluZyBydHAgcGF0Y2hlcyB0byBmaXggZnJlZXplIGJyZWFrIG9uIC1iYXNlIGFzIGV4cGxhaW5lZCBvbiB0aGUgbGlzdAoKMjAwNi0wNC0xMyAwOTowMToxNyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9ydHAvOiBGaXggR09iamVjdCBtYWNyb3MuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHAvZ3N0YXN0ZXJpc2toMjYzLmg6CgkgICogZ3N0L3J0cC9nc3RydHBMMTZkZXBheS5oOgoJICAqIGdzdC9ydHAvZ3N0cnRwTDE2cGF5Lmg6CgkgICogZ3N0L3J0cC9nc3RydHBhbXJkZXBheS5oOgoJICAqIGdzdC9ydHAvZ3N0cnRwYW1ycGF5Lmg6CgkgICogZ3N0L3J0cC9nc3RydHBkZXBheS5oOgoJICAqIGdzdC9ydHAvZ3N0cnRwZ3NtZGVwYXkuaDoKCSAgKiBnc3QvcnRwL2dzdHJ0cGdzbXBheS5oOgoJICAqIGdzdC9ydHAvZ3N0cnRwaDI2M3BheS5oOgoJICAqIGdzdC9ydHAvZ3N0cnRwaDI2M3BkZXBheS5oOgoJICAqIGdzdC9ydHAvZ3N0cnRwaDI2M3BwYXkuaDoKCSAgKiBnc3QvcnRwL2dzdHJ0cGlsYmNkZXBheS5oOgoJICAqIGdzdC9ydHAvZ3N0cnRwaWxiY3BheS5oOgoJICAqIGdzdC9ydHAvZ3N0cnRwbXA0Z3BheS5oOgoJICAqIGdzdC9ydHAvZ3N0cnRwbXA0dmRlcGF5Lmg6CgkgICogZ3N0L3J0cC9nc3RydHBtcDR2cGF5Lmg6CgkgICogZ3N0L3J0cC9nc3RydHBtcGFkZXBheS5oOgoJICAqIGdzdC9ydHAvZ3N0cnRwbXBhcGF5Lmg6CgkgICogZ3N0L3J0cC9nc3RydHBwY21hZGVwYXkuaDoKCSAgKiBnc3QvcnRwL2dzdHJ0cHBjbWFwYXkuaDoKCSAgKiBnc3QvcnRwL2dzdHJ0cHBjbXVkZXBheS5oOgoJICAqIGdzdC9ydHAvZ3N0cnRwcGNtdXBheS5oOgoJICAqIGdzdC9ydHAvZ3N0cnRwc3BlZXhkZXBheS5oOgoJICAqIGdzdC9ydHAvZ3N0cnRwc3BlZXhwYXkuaDoKCSAgRml4IEdPYmplY3QgbWFjcm9zLgoKMjAwNi0wNC0xMyAwMzo0Mjo1MSArMDAwMCAgUGhpbGlwcGUgS2FsYWYgPHBoaWxpcHBlLmthbGFmQGNvbGxhYm9yYS5jby51az4KCgkgIGdzdC9ydHAvOiBQb3J0ZWQgbXVsYXcgYW5kIGFsYXcgcGF5bG9hZGVycyB0byB1c2UgbmV3IGJhc2UgY2xhc3MKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDYtMDQtMTIgUGhpbGlwcGUgS2FsYWYgPHBoaWxpcHBlLmthbGFmQGNvbGxhYm9yYS5jby51az4KCSAgKiBnc3QvcnRwL2dzdHJ0cHBjbWFwYXkuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cHBjbWFwYXkuaDoKCSAgKiBnc3QvcnRwL2dzdHJ0cHBjbXVwYXkuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cHBjbXVwYXkuaDoKCSAgUG9ydGVkIG11bGF3IGFuZCBhbGF3IHBheWxvYWRlcnMgdG8gdXNlIG5ldyBiYXNlIGNsYXNzCgkgICogZ3N0L3J0cC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvcnRwL2dzdHJ0cC5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwaWxiY3BheS5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwaWxiY3BheS5oOgoJICAqIGdzdC9ydHAvZ3N0cnRwaWxiY2RlcGF5LmM6CgkgICogZ3N0L3J0cC9nc3RydHBpbGJjZGVwYXkuaDoKCSAgQWRkZWQgbmV3IGlMQkMgcGF5bG9hZGVyL2RlcGF5bG9hZGVyLiBQYXlsb2FkZXIgdXNlcyBuZXcgYXVkaW8gcGF5bG9hZCBiYXNlCgkgIGNsYXNzLgoKMjAwNi0wNC0xMiAyMTo1NzowMiArMDAwMCAgRWRnYXJkIExpbWEgPGVkZ2FyZC5saW1hQGluZHQub3JnLmJyPgoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJICBGaXggdG8gd29yayBpbiByZWFkIG1vZGUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBGaXggdG8gd29yayBpbiByZWFkIG1vZGUuCgoyMDA2LTA0LTEyIDA5OjQyOjEwICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZXh0L2dka19waXhidWYvZ3N0Z2RrcGl4YnVmLmM6IFNvbWUgY2xlYW51cHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9nZGtfcGl4YnVmL2dzdGdka3BpeGJ1Zi5jOiAoZ3N0X2dka19waXhidWZfc2lua19zZXRjYXBzKSwKCSAgKGdzdF9nZGtfcGl4YnVmX2dldF9jYXBzbGlzdCksIChnc3RfZ2RrX3BpeGJ1Zl9zaW5rX2dldGNhcHMpLAoJICAoZ3N0X2dka19waXhidWZfY2xhc3NfaW5pdCksIChnc3RfZ2RrX3BpeGJ1Zl9pbml0KSwKCSAgKGdzdF9nZGtfcGl4YnVmX2ZsdXNoKSwgKGdzdF9nZGtfcGl4YnVmX3NpbmtfZXZlbnQpLAoJICAoZ3N0X2dka19waXhidWZfY2hhaW4pOgoJICBTb21lIGNsZWFudXBzLgoJICBBZGRlZCBSR0JBIGFzIGEgcG9zc2libGUgb3V0cHV0IGZvcm1hdC4KCSAgQ29ycmVjdGx5IGZyZWUgdGhlIHN1cHBvcnRlZCBtaW1ldHlwZXMuCgkgIGRlcHJlY2F0ZSBzaWxlbnQgYXJnLCBpdCdzIG5vdCB1c2VkLgoJICBSZXR1cm4gcmVzdWx0IGZyb20gX2FsbG9jX2J1ZmZlciB0byBwZWVyLgoKMjAwNi0wNC0xMSAxODowMzozNiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9ydHAvZ3N0cnRwbXA0dmRlcGF5LmM6IERvbid0IGxlYWsgbWVtb3J5IGFsbG9jYXRlZCBieSBnc3RfYnVmZmVyX25ld19hbmRfYWxsb2MoKSBieSBvdmVyd3JpdGluZyBHU1RfQlVGRkVSX01BTExPQy4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwL2dzdHJ0cG1wNHZkZXBheS5jOiAoZ3N0X3J0cF9tcDR2X2RlcGF5X3Byb2Nlc3MpOgoJICBEb24ndCBsZWFrIG1lbW9yeSBhbGxvY2F0ZWQgYnkgZ3N0X2J1ZmZlcl9uZXdfYW5kX2FsbG9jKCkgYnkKCSAgb3ZlcndyaXRpbmcgR1NUX0JVRkZFUl9NQUxMT0NEQVRBLgoKMjAwNi0wNC0xMSAxNToyNzozMSArMDAwMCAgQ2hyaXN0aWFuIFNjaGFsbGVyIDx1cmFldXNAZ25vbWUub3JnPgoKCSogZ3N0LXBsdWdpbnMtZ29vZC5zcGVjLmluOgoJICBmaXggdmVyc2lvbiBudW1iZXIgbWFjcm8KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGZpeCB2ZXJzaW9uIG51bWJlciBtYWNybwoKMjAwNi0wNC0xMSAwOTozNTo0NSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC9saWJwbmcvZ3N0cG5nZGVjLio6IEhhbmRsZSBtb3JlIHRoYW4gb25lIGZyYW1lIGlmIHRoZSBjb250ZW50IGlzIGZyYW1lZCwgbGlrZSB3aXRoIHBuZy1pbi1xdWlja3RpbWUgKCMzMzE5MTcpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvbGlicG5nL2dzdHBuZ2RlYy5jOiAoZ3N0X3BuZ2RlY19pbml0KSwKCSAgKHVzZXJfZW5kcm93X2NhbGxiYWNrKSwgKHVzZXJfZW5kX2NhbGxiYWNrKSwKCSAgKGdzdF9wbmdkZWNfY2Fwc19jcmVhdGVfYW5kX3NldCksIChnc3RfcG5nZGVjX2NoYWluKSwKCSAgKGdzdF9wbmdkZWNfc2lua19zZXRjYXBzKSwgKGdzdF9wbmdkZWNfc2lua19ldmVudCksCgkgIChnc3RfcG5nZGVjX2xpYnBuZ19jbGVhciksIChnc3RfcG5nZGVjX2NoYW5nZV9zdGF0ZSk6CgkgICogZXh0L2xpYnBuZy9nc3RwbmdkZWMuaDoKCSAgSGFuZGxlIG1vcmUgdGhhbiBvbmUgZnJhbWUgaWYgdGhlIGNvbnRlbnQgaXMgZnJhbWVkLAoJICBsaWtlIHdpdGggcG5nLWluLXF1aWNrdGltZSAoIzMzMTkxNykuCgoyMDA2LTA0LTEwIDE5OjU1OjMxICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkgIHN5cy9vc3MvOiAtIHRoZSB1c2VyLXZpc2libGUgZXJyb3Igc3RyaW5ncyB3ZXJlIGluIHRoZSB3cm9uZyBjYXRlZ29yeQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvb3NzL01ha2VmaWxlLmFtOgoJICAqIHN5cy9vc3MvY29tbW9uLmg6CgkgICogc3lzL29zcy9nc3Rvc3NzaW5rLmM6IChnc3Rfb3NzX3NpbmtfaW5pdCksIChnc3Rfb3NzX3Npbmtfb3BlbiksCgkgIChnc3Rfb3NzX3NpbmtfcHJlcGFyZSksIChnc3Rfb3NzX3NpbmtfdW5wcmVwYXJlKToKCSAgKiBzeXMvb3NzL2dzdG9zc3NyYy5jOiAoZ3N0X29zc19zcmNfcHJlcGFyZSksCgkgIChnc3Rfb3NzX3NyY191bnByZXBhcmUpOgoJICAtIHRoZSB1c2VyLXZpc2libGUgZXJyb3Igc3RyaW5ncyB3ZXJlIGluIHRoZSB3cm9uZyBjYXRlZ29yeQoJICAtIGFuZCB0aGUgbWVzc2FnZXMgd2VyZSBub3QgbWFya2VkIGZvciB0cmFuc2xhdGlvbgoJICAtIHdoaWNoIGlzIGFjdHVhbGx5IGEgZ29vZCB0aGluZywgYmVjYXVzZSB0aGV5IHdlcmUgZXhhY3RseQoJICB0aGUga2luZCBvZiBtZXNzYWdlIHlvdSB3b3VsZCBuZXZlciB3YW50IGFueW9uZSB0byBzZWUKCSAgLSB0aGUgbWFjcm9zIHdlcmUgdXNpbmcgdmFyaWFibGVzIHRoYXQgZGlkbid0IGV4aXN0IGluIHRoZSBtYWNybwoJICBhcmd1bWVudHMKCSAgLSBhbmQgdGhleSB3ZXJlIG9idmlvdXNseSBjb3BpZWQgZnJvbSBlYWNoIG90aGVyIGFuZCB0aGVuIG1vZGlmaWVkCgkgIC0gc28gYSBjb21tb24gaGVhZGVyIG1ha2VzIHNlbnNlCgoyMDA2LTA0LTEwIDE3OjE2OjA5ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBGaXggcGFyc2luZyBvZiBuZXdlciBzdHNkIGNodW5rcyBhZ2Fpbi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAocXRkZW11eF9wYXJzZV90cmFrKToKCSAgRml4IHBhcnNpbmcgb2YgbmV3ZXIgc3RzZCBjaHVua3MgYWdhaW4uCgoyMDA2LTA0LTEwIDE2OjA5OjAzICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L21hdHJvc2thL2VibWwtcmVhZC5jOiBEb24ndCB0cnkgdG8gbW9kaWZ5IHJlYWQtb25seSBkYXRhLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbWF0cm9za2EvZWJtbC1yZWFkLmM6IChnc3RfZWJtbF9yZWFkX3NpbnQpOgoJICBEb24ndCB0cnkgdG8gbW9kaWZ5IHJlYWQtb25seSBkYXRhLgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICAoZ3N0X21hdHJvc2thX2RlbXV4X3BhcnNlX2Jsb2NrZ3JvdXBfb3Jfc2ltcGxlYmxvY2spOgoJICBGaXggY29tbWVudCAod29uJ3QgY3Jhc2ggYW55IGxvbmdlciBub3cpLgoKMjAwNi0wNC0xMCAxNTo0ODo1NSArMDAwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHhpcGgub3JnPgoKCSAgZXh0L2Fubm9kZXgvZ3N0Y21tbGVuYy5jOiBVc2UgY29waWVzIG9mIGhlYWRlciBidWZmZXJzIGZvciBjYXBzIHRvIGF2b2lkIGNpcmN1bGFyIHJlZmNvdW50aW5nIHByb2JsZW1zIChhcyBpbiB0aGVvcmFkLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9hbm5vZGV4L2dzdGNtbWxlbmMuYzogKGdzdF9jbW1sX2VuY19zZXRfaGVhZGVyX29uX2NhcHMpOgoJICBVc2UgY29waWVzIG9mIGhlYWRlciBidWZmZXJzIGZvciBjYXBzIHRvIGF2b2lkIGNpcmN1bGFyIHJlZmNvdW50aW5nCgkgIHByb2JsZW1zIChhcyBpbiB0aGVvcmFkZWMsIHZvcmJpc2RlYykuCgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvY21tbGRlYy5jOiAoR1NUX1NUQVJUX1RFU1QpOgoJICBGaXggYSB0eXBvIGluIHRlc3QgdGhhdCBtZWFudCBpdCB3YXMgdGVzdGluZyB0aGUgd3JvbmcgdGhpbmcuCgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvY21tbGVuYy5jOiAoY2hlY2tfaGVhZGVycyk6CgkgIEZpeCByZWZjb3VudCBjaGVja3Mgbm93IHRoYXQgd2UgdXNlIGJ1ZmZlci1jb3BpZXMgZm9yIGNhcHMuCgoyMDA2LTA0LTEwIDE1OjQzOjU0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6IFVzZSBzdGF0aWMgcGFkIHRlbXBsYXRlcyB3aXRoIEFOWSBjYXBzIGZvciBhdWRpbyBhbmQgdmlkZW8gc291cmNlIHBhZHMgYW5kIGdldCByaWQgb2YgLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOiAoZ3N0X21hdHJvc2thX2RlbXV4X2Jhc2VfaW5pdCksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfaGFuZGxlX3NlZWtfZXZlbnQpLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X3ZpZGVvX2NhcHMpLCAoZ3N0X21hdHJvc2thX2RlbXV4X2F1ZGlvX2NhcHMpLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X3N1YnRpdGxlX2NhcHMpLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X3BsdWdpbl9pbml0KToKCSAgVXNlIHN0YXRpYyBwYWQgdGVtcGxhdGVzIHdpdGggQU5ZIGNhcHMgZm9yIGF1ZGlvIGFuZCB2aWRlbwoJICBzb3VyY2UgcGFkcyBhbmQgZ2V0IHJpZCBvZiBhIGxvdCBvZiB1bm5lY2Vzc2FyeSAoYW5kIHBhcnRpYWxseQoJICBicm9rZW4pIGNvZGUgZm9yIHRoZSB0ZW1wbGF0ZSBjYXBzLiBDbGVhbiB1cCBjYXBzIGZpbmRpbmcKCSAgZnVuY3Rpb25zLiBGaXhlcyBwbGF5YmFjayBvZiBhdWRpbyBmaWxlcy9zdHJlYW1zIHRoYXQgZG8gbm90CgkgIGNvbnRhaW4gdGhlIHNhbXBsZSByYXRlIGFuZC9vciBudW1iZXIgb2YgY2hhbm5lbHMgaW4gdGhlIGF1ZGlvCgkgIGNvbnRleHQgKGhhcHBlbnMgYSBsb3Qgd2l0aCB2b3JiaXMvbXAzIC5ta2EgZmlsZXMgaXQgc2VlbXMpLgoJICBGaXhlcyAjMzM3MTgzLgoJICBBbHNvIGFkZCBteXNlbGYgdG8gY29weXJpZ2h0IGhvbGRlcnMuCgoyMDA2LTA0LTEwIDE1OjI5OjIxICswMDAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAeGlwaC5vcmc+CgoJICBleHQvYW5ub2RleC9nc3RjbW1sdXRpbHMuYzogVXNlIGdfbGlzdF9kZWxldGVfbGluayAoKSBpbnN0ZWFkIG9mIGdfbGlzdF9yZW1vdmVfbGluayAoKSBzbyB0aGF0IHdlIGZyZWUgdGhlIGxpbmsgYXMgd2UuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2Fubm9kZXgvZ3N0Y21tbHV0aWxzLmM6IChnc3RfY21tbF90cmFja19saXN0X2RlbF9jbGlwKToKCSAgVXNlIGdfbGlzdF9kZWxldGVfbGluayAoKSBpbnN0ZWFkIG9mIGdfbGlzdF9yZW1vdmVfbGluayAoKSBzbyB0aGF0CgkgIHdlIGZyZWUgdGhlIGxpbmsgYXMgd2VsbCBhcyB0aGUgY29udGFpbmVkIGRhdGEuCgoyMDA2LTA0LTEwIDE0OjIwOjQxICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBGaXggZnJhbWVyYXRlIGNhbGN1bGF0aW9uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChnc3RfcXRkZW11eF9hZGRfc3RyZWFtKSwKCSAgKHF0ZGVtdXhfcGFyc2VfdHJhayk6CgkgIEZpeCBmcmFtZXJhdGUgY2FsY3VsYXRpb24uCgoyMDA2LTA0LTEwIDEwOjEwOjU1ICswMDAwICBSeWFuIExvcnRpZSAoZGVzcnQpIDxkZXNydEBkZXN0ci5jYT4KCgkgIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzogRml4IHNvbWUgY3Jhc2hlcnMgd2l0aCBlbXB0eSBjaHVua3MuIChGaXhlcyAjMzM3NzQ5KQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFJ5YW4gTG9ydGllIChkZXNydCkgPGRlc3J0IGF0IGRlc3RyIGRvdCBjYT4KCSAgKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6IChnc3RfYXZpX2RlbXV4X3BhcnNlX3N1cGVyaW5kZXgpLAoJICAoZ3N0X2F2aV9kZW11eF9wYXJzZV9zdHJlYW0pLCAoZ3N0X2F2aV9kZW11eF9wYXJzZV9pbmRleCksCgkgIChnc3RfYXZpX2RlbXV4X3N0cmVhbV9oZWFkZXIpOgoJICBGaXggc29tZSBjcmFzaGVycyB3aXRoIGVtcHR5IGNodW5rcy4gKEZpeGVzICMzMzc3NDkpCgoyMDA2LTA0LTEwIDA4OjMxOjQwICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBmb3JjZSBtb25vIDgwMDAgSHogb24gQU1SIHNhbXBsZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKHF0ZGVtdXhfcGFyc2VfdHJhayk6CgkgIGZvcmNlIG1vbm8gODAwMCBIeiBvbiBBTVIgc2FtcGxlcy4KCjIwMDYtMDQtMDkgMTg6MzA6NTEgKzAwMDAgIFPDqWJhc3RpZW4gTW91dHRlIDxzZWJhc3RpZW5AbW91dHRlLm5ldD4KCgkgIGV4dC9uZW9uL2dzdG5lb25odHRwc3JjLmM6IHJlbW92ZSBhdG9sbCBieSB1c2luZyBnX2FzY2lpX3N0cnRvdWxsIChhdG9sbCBpcyBub3Qgc3VwcG9ydGVkIG9uIFdJTjMyKQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvbmVvbi9nc3RuZW9uaHR0cHNyYy5jOiAoZ3N0X25lb25odHRwX3NyY19zdGFydCk6CgkgIHJlbW92ZSBhdG9sbCBieSB1c2luZyBnX2FzY2lpX3N0cnRvdWxsIChhdG9sbCBpcyBub3Qgc3VwcG9ydGVkIG9uIFdJTjMyKQoJICAqIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmM6CgkgICogc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdHNvdW5kc2luay5jOgoJICBkb25lIHNvbWUgY2xlYW5zIGluIHNvdXJjZXMKCSAgKiB3aW4zMi92czY6CgkgIGFkZCBwcm9qZWN0IGZpbGVzIGZvciBuZW9uLCBxdGRlbXV4CgoyMDA2LTA0LTA5IDE3OjMxOjM3ICswMDAwICBTw6liYXN0aWVuIE1vdXR0ZSA8c2ViYXN0aWVuQG1vdXR0ZS5uZXQ+CgoJICBnc3QvbGV2ZWwvZ3N0bGV2ZWwuYzogdXNlIEdfR0lOVDY0X0NPTlNUQU5UIGZvciBJTlQ2NCBjb25zdGFudHMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2xldmVsL2dzdGxldmVsLmM6IChnc3RfbGV2ZWxfc2V0X2NhcHMpLChnc3RfbGV2ZWxfdHJhbnNmb3JtX2lwKToKCSAgdXNlIEdfR0lOVDY0X0NPTlNUQU5UIGZvciBJTlQ2NCBjb25zdGFudHMKCSAgKiBnc3QvdmlkZW9maWx0ZXIvZ3N0dmlkZW9iYWxhbmNlLmM6CgkgIGRlZmluZSByaW50IGZvciBXSU4zMiAjZGVmaW5lIHJpbnQoeCkgKGZsb29yKCh4KSswLjUpKQoJICAqIHdpbjMyL3ZzNi9saWJnc3RhdmkuZHNwOgoJICBhZGQgbWlzc2luZyBsaWJyYXJpZXMgZm9yIHRoZSBsaW5rIGFuZCByZW1vdmUgYXZpbXV4LmMgZnJvbQoJICB0aGUgcHJvamVjdCBhcyBpdCBpc24ndCBwb3J0ZWQgdG8gMC4xMCB5ZXQKCjIwMDYtMDQtMDkgMTQ6MDA6MzIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvbWF0cm9za2EvZWJtbC1yZWFkLmM6IEV2ZW4gYmV0dGVyIHdvdWxkIGJlIGlmIHdlIGFjdHVhbGx5IGRpZCB0aGUgcmlnaHQgdGhpbmcgaGVyZSAoYWxzbywgR19HVUlOVDY0X0NPTlNUQU5UIG9ubHkuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L21hdHJvc2thL2VibWwtcmVhZC5jOiAoZ3N0X2VibWxfcmVhZF9zaW50KToKCSAgRXZlbiBiZXR0ZXIgd291bGQgYmUgaWYgd2UgYWN0dWFsbHkgZGlkIHRoZSByaWdodCB0aGluZwoJICBoZXJlIChhbHNvLCBHX0dVSU5UNjRfQ09OU1RBTlQgb25seSBleGlzdHMgc2luY2UgR0xpYi0yLjEwKS4KCjIwMDYtMDQtMDkgMTM6NTI6MDMgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvbWF0cm9za2EvZWJtbC1yZWFkLmM6IENhbid0IGp1c3QgcmVwbGFjZSAxTEwgd2l0aCAxTCBoZXJlIGp1c3QgYmVjYXVzZSBNU1ZDIGRvZXNuJ3Qgc3VwcG9ydCBpdCwgYXMgaXQgbWlnaHQgbGVhZCAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L21hdHJvc2thL2VibWwtcmVhZC5jOiAoZ3N0X2VibWxfcmVhZF9zaW50KToKCSAgQ2FuJ3QganVzdCByZXBsYWNlIDFMTCB3aXRoIDFMIGhlcmUganVzdCBiZWNhdXNlIE1TVkMgZG9lc24ndAoJICBzdXBwb3J0IGl0LCBhcyBpdCBtaWdodCBsZWFkIHRvIGluY29ycmVjdCByZXN1bHRzIHdoZW4gZG9pbmcgdGhlCgkgIGJpdHNoaWZ0aW5nIGhlcmUuIFVzaW5nIEdMaWIncyBHX0dVSU5UNjRfQ09OU1RBTlQoKSBtYWNybyB0bwoJICBmb3JjZSBhIDY0LWJpdCBjb25zdGFudCBpbiBhIHdheSB0aGF0IGFsbCBjb21waWxlcnMgYXJlIGhhcHB5IHdpdGguCgoyMDA2LTA0LTA4IDIxOjQ4OjAxICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBGaXggIzMzNzM2NSAoZ190eXBlX2NsYXNzX3JlZiA8LT4gZ190eXBlX2NsYXNzX3BlZWtfcGFyZW50KQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvYW1yd2IvZ3N0YW1yd2JkZWMuYzogKGdzdF9hbXJ3YmRlY19jbGFzc19pbml0KToKCSAgKiBleHQvYW1yd2IvZ3N0YW1yd2JlbmMuYzogKGdzdF9hbXJ3YmVuY19jbGFzc19pbml0KToKCSAgKiBleHQvYW1yd2IvZ3N0YW1yd2JwYXJzZS5jOiAoZ3N0X2FtcndicGFyc2VfY2xhc3NfaW5pdCk6CgkgICogZXh0L2FydHMvZ3N0X2FydHMuYzogKGdzdF9hcnRzX2NsYXNzX2luaXQpOgoJICAqIGV4dC9hcnRzZC9nc3RhcnRzZHNpbmsuYzogKGdzdF9hcnRzZHNpbmtfY2xhc3NfaW5pdCk6CgkgICogZXh0L2F1ZGlvZmlsZS9nc3RhZnNpbmsuYzogKGdzdF9hZnNpbmtfY2xhc3NfaW5pdCk6CgkgICogZXh0L2F1ZGlvZmlsZS9nc3RhZnNyYy5jOiAoZ3N0X2Fmc3JjX2NsYXNzX2luaXQpOgoJICAqIGV4dC9hdWRpb3Jlc2FtcGxlL2dzdGF1ZGlvcmVzYW1wbGUuYzoKCSAgKiBleHQvY2RhdWRpby9nc3RjZGF1ZGlvLmM6IChnc3RfY2RhdWRpb19jbGFzc19pbml0KToKCSAgKiBleHQvZGlyZWN0ZmIvZGZidmlkZW9zaW5rLmM6IChnc3RfZGZidmlkZW9zaW5rX2NsYXNzX2luaXQpOgoJICAqIGV4dC9kaXZ4L2dzdGRpdnhkZWMuYzogKGdzdF9kaXZ4ZGVjX2NsYXNzX2luaXQpOgoJICAqIGV4dC9oZXJtZXMvZ3N0aGVybWVzY29sb3JzcGFjZS5jOgoJICAoZ3N0X2hlcm1lc19jb2xvcnNwYWNlX2NsYXNzX2luaXQpOgoJICAqIGV4dC9pdm9yYmlzL3ZvcmJpc2ZpbGUuYzogKGdzdF9pdm9yYmlzZmlsZV9jbGFzc19pbml0KToKCSAgKiBleHQvamFjay9nc3RqYWNrLmM6IChnc3RfamFja19jbGFzc19pbml0KToKCSAgKiBleHQvamFjay9nc3RqYWNrYmluLmM6IChnc3RfamFja19iaW5fY2xhc3NfaW5pdCk6CgkgICogZXh0L2xjcy9nc3Rjb2xvcnNwYWNlLmM6IChnc3RfY29sb3JzcGFjZV9jbGFzc19pbml0KToKCSAgKiBleHQvbGliZmFtZS9nc3RsaWJmYW1lLmM6IChnc3RfZmFtZWVuY19jbGFzc19pbml0KToKCSAgKiBleHQvbXVzaWNicmFpbnovZ3N0dHJtLmM6IChnc3RfbXVzaWNicmFpbnpfY2xhc3NfaW5pdCk6CgkgICogZXh0L25hcy9uYXNzaW5rLmM6IChnc3RfbmFzc2lua19jbGFzc19pbml0KToKCSAgKiBleHQvc2hvdXQvZ3N0c2hvdXQuYzogKGdzdF9pY2VjYXN0c2VuZF9jbGFzc19pbml0KToKCSAgKiBleHQvc25hcHNob3QvZ3N0c25hcHNob3QuYzogKGdzdF9zbmFwc2hvdF9jbGFzc19pbml0KToKCSAgKiBleHQvc25kZmlsZS9nc3RzZi5jOiAoZ3N0X3NmX2NsYXNzX2luaXQpOgoJICAqIGV4dC9zd2ZkZWMvZ3N0c3dmZGVjLmM6IChnc3Rfc3dmZGVjYnVmZmVyX2NsYXNzX2luaXQpLAoJICAoZ3N0X3N3ZmRlY19jbGFzc19pbml0KToKCSAgKiBleHQvdGFya2luL2dzdHRhcmtpbmRlYy5jOiAoZ3N0X3RhcmtpbmRlY19jbGFzc19pbml0KToKCSAgKiBleHQvdGFya2luL2dzdHRhcmtpbmVuYy5jOiAoZ3N0X3RhcmtpbmVuY19jbGFzc19pbml0KToKCSAgKiBnc3QvY2R4YXBhcnNlL2dzdGNkeGFzdHJpcC5jOiAoZ3N0X2NkeGFzdHJpcF9jbGFzc19pbml0KToKCSAgKiBnc3QvY2hhcnQvZ3N0Y2hhcnQuYzogKGdzdF9jaGFydF9jbGFzc19pbml0KToKCSAgKiBnc3QvY29sb3JzcGFjZS9nc3Rjb2xvcnNwYWNlLmM6IChnc3RfY29sb3JzcGFjZV9jbGFzc19pbml0KToKCSAgKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuYzogKGdzdF9kZWludGVybGFjZV9jbGFzc19pbml0KToKCSAgKiBnc3QvZmVzdGl2YWwvZ3N0ZmVzdGl2YWwuYzogKGdzdF9mZXN0aXZhbF9jbGFzc19pbml0KToKCSAgKiBnc3QvZmlsdGVyL2dzdGJwd3NpbmMuYzogKGdzdF9icHdzaW5jX2NsYXNzX2luaXQpOgoJICAqIGdzdC9maWx0ZXIvZ3N0aWlyLmM6IChnc3RfaWlyX2NsYXNzX2luaXQpOgoJICAqIGdzdC9maWx0ZXIvZ3N0bHB3c2luYy5jOiAoZ3N0X2xwd3NpbmNfY2xhc3NfaW5pdCk6CgkgICogZ3N0L2xpYnJmYi9nc3RyZmJzcmMuYzogKGdzdF9yZmJzcmNfY2xhc3NfaW5pdCk6CgkgICogZ3N0L21peG1hdHJpeC9taXhtYXRyaXguYzogKGdzdF9taXhtYXRyaXhfY2xhc3NfaW5pdCk6CgkgICogZ3N0L21wZWcxc3lzL2dzdG1wZWcxc3lzdGVtZW5jb2RlLmM6CgkgIChnc3Rfc3lzdGVtX2VuY29kZV9jbGFzc19pbml0KToKCSAgKiBnc3QvbXBlZzF2aWRlb3BhcnNlL2dzdG1wMXZpZGVvcGFyc2UuYzoKCSAgKGdzdF9tcDF2aWRlb3BhcnNlX2NsYXNzX2luaXQpOgoJICAqIGdzdC9tcGVnMnN1Yi9nc3RtcGVnMnN1YnQuYzogKGdzdF9tcGVnMnN1YnRfY2xhc3NfaW5pdCk6CgkgICogZ3N0L21wZWdhdWRpb3BhcnNlL2dzdG1wZWdhdWRpb3BhcnNlLmM6CgkgIChnc3RfbXAzcGFyc2VfY2xhc3NfaW5pdCk6CgkgICogZ3N0L292ZXJsYXkvZ3N0b3ZlcmxheS5jOiAoZ3N0X292ZXJsYXlfY2xhc3NfaW5pdCk6CgkgICogZ3N0L3Bhc3N0aHJvdWdoL2dzdHBhc3N0aHJvdWdoLmM6IChwYXNzdGhyb3VnaF9jbGFzc19pbml0KToKCSAgKiBnc3QvcGxheW9uZGVtYW5kL2dzdHBsYXlvbmRlbWFuZC5jOiAocGxheV9vbl9kZW1hbmRfY2xhc3NfaW5pdCk6CgkgICogZ3N0L3J0anBlZy9nc3RydGpwZWdkZWMuYzogKGdzdF9ydGpwZWdkZWNfY2xhc3NfaW5pdCk6CgkgICogZ3N0L3J0anBlZy9nc3RydGpwZWdlbmMuYzogKGdzdF9ydGpwZWdlbmNfY2xhc3NfaW5pdCk6CgkgICogZ3N0L3Ntb290aC9nc3RzbW9vdGguYzogKGdzdF9zbW9vdGhfY2xhc3NfaW5pdCk6CgkgICogZ3N0L3Ntb290aHdhdmUvZ3N0c21vb3Rod2F2ZS5jOiAoZ3N0X3Ntb290aHdhdmVfY2xhc3NfaW5pdCk6CgkgICogZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmM6IChnc3Rfc3BlY3RydW1fY2xhc3NfaW5pdCk6CgkgICogZ3N0L3N0ZXJlby9nc3RzdGVyZW8uYzogKGdzdF9zdGVyZW9fY2xhc3NfaW5pdCk6CgkgICogZ3N0L3N3aXRjaC9nc3Rzd2l0Y2guYzogKGdzdF9zd2l0Y2hfY2xhc3NfaW5pdCk6CgkgICogZ3N0L3R0YS9nc3R0dGFkZWMuYzogKGdzdF90dGFfZGVjX2NsYXNzX2luaXQpOgoJICAqIGdzdC90dGEvZ3N0dHRhcGFyc2UuYzogKGdzdF90dGFfcGFyc2VfY2xhc3NfaW5pdCk6CgkgICogZ3N0L3ZiaWRlYy9nc3R2YmlkZWMuYzogKGdzdF92YmlkZWNfY2xhc3NfaW5pdCk6CgkgICogZ3N0L3ZpZGVvY3JvcC9nc3R2aWRlb2Nyb3AuYzogKGdzdF92aWRlb19jcm9wX2NsYXNzX2luaXQpOgoJICAqIGdzdC92aXJ0dWFsZHViL2dzdHhzaGFycGVuLmM6IChnc3RfeHNoYXJwZW5fY2xhc3NfaW5pdCk6CgkgICogZ3N0L3k0bS9nc3R5NG1lbmNvZGUuYzogKGdzdF95NG1lbmNvZGVfY2xhc3NfaW5pdCk6CgkgICogc3lzL2Nkcm9tL2dzdGNkcGxheWVyLmM6IChjZHBsYXllcl9jbGFzc19pbml0KToKCSAgKiBzeXMvZGlyZWN0c291bmQvZ3N0ZGlyZWN0c291bmRzaW5rLmM6CgkgIChnc3RfZGlyZWN0c291bmRzaW5rX2NsYXNzX2luaXQpOgoJICAqIHN5cy9keHIzL2R4cjNhdWRpb3NpbmsuYzogKGR4cjNhdWRpb3NpbmtfY2xhc3NfaW5pdCk6CgkgICogc3lzL2R4cjMvZHhyM3NwdXNpbmsuYzogKGR4cjNzcHVzaW5rX2NsYXNzX2luaXQpOgoJICAqIHN5cy9keHIzL2R4cjN2aWRlb3NpbmsuYzogKGR4cjN2aWRlb3NpbmtfY2xhc3NfaW5pdCk6CgkgICogc3lzL3FjYW0vZ3N0cWNhbXNyYy5jOiAoZ3N0X3FjYW1zcmNfY2xhc3NfaW5pdCk6CgkgICogc3lzL3Y0bDIvZ3N0djRsMmNvbG9yYmFsYW5jZS5jOgoJICAoZ3N0X3Y0bDJfY29sb3JfYmFsYW5jZV9jaGFubmVsX2NsYXNzX2luaXQpOgoJICAqIHN5cy92NGwyL2dzdHY0bDJ0dW5lci5jOiAoZ3N0X3Y0bDJfdHVuZXJfY2hhbm5lbF9jbGFzc19pbml0KSwKCSAgKGdzdF92NGwyX3R1bmVyX25vcm1fY2xhc3NfaW5pdCk6CgkgICogc3lzL3hpbWFnZXNyYy94aW1hZ2VzcmMuYzogKGdzdF94aW1hZ2VzcmNfY2xhc3NfaW5pdCk6CgkgIEZpeCAjMzM3MzY1IChnX3R5cGVfY2xhc3NfcmVmIDwtPiBnX3R5cGVfY2xhc3NfcGVla19wYXJlbnQpCgoyMDA2LTA0LTA4IDIxOjIxOjQ1ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBGaXggIzMzNzM2NSAoZ190eXBlX2NsYXNzX3JlZiA8LT4gZ190eXBlX2NsYXNzX3BlZWtfcGFyZW50KQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvYWFsaWIvZ3N0YWFzaW5rLmM6IChnc3RfYWFzaW5rX2NsYXNzX2luaXQpOgoJICAqIGV4dC9lc2QvZXNkc2luay5jOiAoZ3N0X2VzZHNpbmtfY2xhc3NfaW5pdCk6CgkgICogZXh0L2ZsYWMvZ3N0ZmxhY3RhZy5jOiAoZ3N0X2ZsYWNfdGFnX2NsYXNzX2luaXQpOgoJICAqIGV4dC9nZGtfcGl4YnVmL2dzdGdka3BpeGJ1Zi5jOiAoZ3N0X2dka19waXhidWZfY2xhc3NfaW5pdCk6CgkgICogZXh0L2pwZWcvZ3N0anBlZ2VuYy5jOiAoZ3N0X2pwZWdlbmNfY2xhc3NfaW5pdCk6CgkgICogZXh0L2pwZWcvZ3N0c21va2VkZWMuYzogKGdzdF9zbW9rZWRlY19jbGFzc19pbml0KToKCSAgKiBleHQvanBlZy9nc3RzbW9rZWVuYy5jOiAoZ3N0X3Ntb2tlZW5jX2NsYXNzX2luaXQpOgoJICAqIGV4dC9saWJjYWNhL2dzdGNhY2FzaW5rLmM6IChnc3RfY2FjYXNpbmtfY2xhc3NfaW5pdCk6CgkgICogZXh0L2xpYm1uZy9nc3RtbmdkZWMuYzogKGdzdF9tbmdkZWNfY2xhc3NfaW5pdCk6CgkgICogZXh0L2xpYm1uZy9nc3RtbmdlbmMuYzogKGdzdF9tbmdlbmNfY2xhc3NfaW5pdCk6CgkgICogZXh0L2xpYnBuZy9nc3RwbmdkZWMuYzogKGdzdF9wbmdkZWNfY2xhc3NfaW5pdCk6CgkgICogZXh0L2xpYnBuZy9nc3RwbmdlbmMuYzogKGdzdF9wbmdlbmNfY2xhc3NfaW5pdCk6CgkgICogZXh0L21pa21vZC9nc3RtaWttb2QuYzogKGdzdF9taWttb2RfY2xhc3NfaW5pdCk6CgkgICogZXh0L3Nob3V0Mi9nc3RzaG91dDIuYzogKGdzdF9zaG91dDJzZW5kX2NsYXNzX2luaXQpOgoJICAqIGV4dC9zcGVleC9nc3RzcGVleGVuYy5jOiAoZ3N0X3NwZWV4ZW5jX2NsYXNzX2luaXQpOgoJICAqIGdzdC9hbHBoYS9nc3RhbHBoYS5jOiAoZ3N0X2FscGhhX2NsYXNzX2luaXQpOgoJICAqIGdzdC9hdmkvZ3N0YXZpbXV4LmM6IChnc3RfYXZpbXV4X2NsYXNzX2luaXQpOgoJICAqIGdzdC9kZWJ1Zy9lZmVuY2UuYzogKGdzdF9lZmVuY2VfY2xhc3NfaW5pdCk6CgkgICogZ3N0L2RlYnVnL25lZ290aWF0aW9uLmM6IChnc3RfbmVnb3RpYXRpb25fY2xhc3NfaW5pdCk6CgkgICogZ3N0L2ZseC9nc3RmbHhkZWMuYzogKGdzdF9mbHhkZWNfY2xhc3NfaW5pdCk6CgkgICogZ3N0L2dvb20vZ3N0Z29vbS5jOiAoZ3N0X2dvb21fY2xhc3NfaW5pdCk6CgkgICogZ3N0L2lkM2RlbXV4L2dzdGlkM2RlbXV4LmM6IChnc3RfaWQzZGVtdXhfY2xhc3NfaW5pdCk6CgkgICogZ3N0L2ludGVybGVhdmUvZGVpbnRlcmxlYXZlLmM6IChkZWludGVybGVhdmVfY2xhc3NfaW5pdCk6CgkgICogZ3N0L2ludGVybGVhdmUvaW50ZXJsZWF2ZS5jOiAoaW50ZXJsZWF2ZV9jbGFzc19pbml0KToKCSAgKiBnc3QvbGF3L2FsYXctZGVjb2RlLmM6IChnc3RfYWxhd2RlY19jbGFzc19pbml0KToKCSAgKiBnc3QvbGF3L2FsYXctZW5jb2RlLmM6IChnc3RfYWxhd2VuY19jbGFzc19pbml0KToKCSAgKiBnc3QvbGF3L211bGF3LWVuY29kZS5jOiAoZ3N0X211bGF3ZW5jX2NsYXNzX2luaXQpOgoJICAqIGdzdC9tZWRpYW4vZ3N0bWVkaWFuLmM6IChnc3RfbWVkaWFuX2NsYXNzX2luaXQpOgoJICAqIGdzdC9tb25vc2NvcGUvZ3N0bW9ub3Njb3BlLmM6IChnc3RfbW9ub3Njb3BlX2NsYXNzX2luaXQpOgoJICAqIGdzdC9tdWx0aXBhcnQvbXVsdGlwYXJ0bXV4LmM6IChnc3RfbXVsdGlwYXJ0X211eF9jbGFzc19pbml0KToKCSAgKiBnc3QvcnRwL2dzdGFzdGVyaXNraDI2My5jOiAoZ3N0X2FzdGVyaXNraDI2M19jbGFzc19pbml0KToKCSAgKiBnc3QvcnRwL2dzdHJ0cEwxNmRlcGF5LmM6IChnc3RfcnRwX0wxNmRlcGF5X2NsYXNzX2luaXQpOgoJICAqIGdzdC9ydHAvZ3N0cnRwTDE2cGF5LmM6IChnc3RfcnRwTDE2cGF5X2NsYXNzX2luaXQpOgoJICAqIGdzdC9ydHAvZ3N0cnRwYW1yZGVwYXkuYzogKGdzdF9ydHBfYW1yX2RlcGF5X2NsYXNzX2luaXQpOgoJICAqIGdzdC9ydHAvZ3N0cnRwYW1ycGF5LmM6IChnc3RfcnRwX2Ftcl9wYXlfY2xhc3NfaW5pdCk6CgkgICogZ3N0L3J0cC9nc3RydHBkZXBheS5jOiAoZ3N0X3J0cF9kZXBheV9jbGFzc19pbml0KToKCSAgKiBnc3QvcnRwL2dzdHJ0cGdzbWRlcGF5LmM6IChnc3RfcnRwX2dzbV9kZXBheV9jbGFzc19pbml0KToKCSAgKiBnc3QvcnRwL2dzdHJ0cGdzbXBheS5jOiAoZ3N0X3J0cF9nc21fcGF5X2NsYXNzX2luaXQpOgoJICAqIGdzdC9ydHAvZ3N0cnRwaDI2M3BheS5jOiAoZ3N0X3J0cF9oMjYzX3BheV9jbGFzc19pbml0KToKCSAgKiBnc3QvcnRwL2dzdHJ0cGgyNjNwZGVwYXkuYzogKGdzdF9ydHBfaDI2M3BfZGVwYXlfY2xhc3NfaW5pdCk6CgkgICogZ3N0L3J0cC9nc3RydHBoMjYzcHBheS5jOiAoZ3N0X3J0cF9oMjYzcF9wYXlfY2xhc3NfaW5pdCk6CgkgICogZ3N0L3J0cC9nc3RydHBtcDRncGF5LmM6IChnc3RfcnRwX21wNGdfcGF5X2NsYXNzX2luaXQpOgoJICAqIGdzdC9ydHAvZ3N0cnRwbXA0dmRlcGF5LmM6IChnc3RfcnRwX21wNHZfZGVwYXlfY2xhc3NfaW5pdCk6CgkgICogZ3N0L3J0cC9nc3RydHBtcDR2cGF5LmM6IChnc3RfcnRwX21wNHZfcGF5X2NsYXNzX2luaXQpOgoJICAqIGdzdC9ydHAvZ3N0cnRwbXBhZGVwYXkuYzogKGdzdF9ydHBfbXBhX2RlcGF5X2NsYXNzX2luaXQpOgoJICAqIGdzdC9ydHAvZ3N0cnRwbXBhcGF5LmM6IChnc3RfcnRwX21wYV9wYXlfY2xhc3NfaW5pdCk6CgkgICogZ3N0L3J0cC9nc3RydHBwY21hZGVwYXkuYzogKGdzdF9ydHBfcGNtYV9kZXBheV9jbGFzc19pbml0KToKCSAgKiBnc3QvcnRwL2dzdHJ0cHBjbWFwYXkuYzogKGdzdF9ydHBfcGNtYV9wYXlfY2xhc3NfaW5pdCk6CgkgICogZ3N0L3J0cC9nc3RydHBwY211ZGVwYXkuYzogKGdzdF9ydHBfcGNtdV9kZXBheV9jbGFzc19pbml0KToKCSAgKiBnc3QvcnRwL2dzdHJ0cHBjbXVwYXkuYzogKGdzdF9ydHBfcGNtdV9wYXlfY2xhc3NfaW5pdCk6CgkgICogZ3N0L3J0cC9nc3RydHBzcGVleGRlcGF5LmM6IChnc3RfcnRwX3NwZWV4X2RlcGF5X2NsYXNzX2luaXQpOgoJICAqIGdzdC9ydHAvZ3N0cnRwc3BlZXhwYXkuYzogKGdzdF9ydHBfc3BlZXhfcGF5X2NsYXNzX2luaXQpOgoJICAqIGdzdC9ydHNwL2dzdHJ0cGRlYy5jOiAoZ3N0X3J0cGRlY19jbGFzc19pbml0KToKCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IChnc3RfcnRzcHNyY19jbGFzc19pbml0KToKCSAgKiBnc3Qvc21wdGUvZ3N0c21wdGUuYzogKGdzdF9zbXB0ZV9jbGFzc19pbml0KToKCSAgKiBnc3QvdWRwL2dzdGR5bnVkcHNpbmsuYzogKGdzdF9keW51ZHBzaW5rX2NsYXNzX2luaXQpOgoJICAqIGdzdC91ZHAvZ3N0bXVsdGl1ZHBzaW5rLmM6IChnc3RfbXVsdGl1ZHBzaW5rX2NsYXNzX2luaXQpOgoJICAqIGdzdC91ZHAvZ3N0dWRwc2luay5jOiAoZ3N0X3VkcHNpbmtfY2xhc3NfaW5pdCk6CgkgICogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlci5jOiAoZ3N0X3ZpZGVvbWl4ZXJfY2xhc3NfaW5pdCk6CgkgICogZ3N0L3dhdmVuYy9nc3R3YXZlbmMuYzogKGdzdF93YXZlbmNfY2xhc3NfaW5pdCk6CgkgICogc3lzL29zcy9nc3Rvc3NkbWFidWZmZXIuYzogKGdzdF9vc3NkbWFidWZmZXJfY2xhc3NfaW5pdCk6CgkgICogc3lzL29zcy9nc3Rvc3NzaW5rLmM6IChnc3Rfb3NzX3NpbmtfY2xhc3NfaW5pdCk6CgkgICogc3lzL29zeGF1ZGlvL2dzdG9zeGF1ZGlvZWxlbWVudC5jOgoJICAoZ3N0X29zeGF1ZGlvZWxlbWVudF9jbGFzc19pbml0KToKCSAgKiBzeXMvb3N4YXVkaW8vZ3N0b3N4YXVkaW9zaW5rLmM6IChnc3Rfb3N4YXVkaW9zaW5rX2NsYXNzX2luaXQpOgoJICAqIHN5cy9vc3hhdWRpby9nc3Rvc3hhdWRpb3NyYy5jOiAoZ3N0X29zeGF1ZGlvc3JjX2NsYXNzX2luaXQpOgoJICAqIHN5cy9zdW5hdWRpby9nc3RzdW5hdWRpb3NpbmsuYzogKGdzdF9zdW5hdWRpb3NpbmtfY2xhc3NfaW5pdCk6CgkgIEZpeCAjMzM3MzY1IChnX3R5cGVfY2xhc3NfcmVmIDwtPiBnX3R5cGVfY2xhc3NfcGVla19wYXJlbnQpCgoyMDA2LTA0LTA4IDE5OjA2OjI1ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBGaXggbW9yZSBicm9rZW4gR09iamVjdCBtYWNyb3MKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L21pa21vZC9nc3RtaWttb2QuaDoKCSAgKiBnc3QvbGV2ZWwvZ3N0bGV2ZWwuaDoKCSAgRml4IG1vcmUgYnJva2VuIEdPYmplY3QgbWFjcm9zCgoyMDA2LTA0LTA4IDE4OjQxOjA3ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBGaXggYnJva2VuIEdPYmplY3QgbWFjcm9zCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC94aW5lL2dzdHhpbmUuaDoKCSAgKiBnc3QtbGlicy9nc3QvcGxheS9wbGF5Lmg6CgkgICogc3lzL3Y0bDIvZ3N0djRsMmVsZW1lbnQuaDoKCSAgKiBzeXMveGltYWdlc3JjL3hpbWFnZXV0aWwuaDoKCSAgRml4IGJyb2tlbiBHT2JqZWN0IG1hY3JvcwoKMjAwNi0wNC0wOCAxODoyNTo1NSArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgRml4IGJyb2tlbiBHT2JqZWN0IG1hY3JvcwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvYW5ub2RleC9nc3RjbW1sZGVjLmg6CgkgICogZXh0L2Fubm9kZXgvZ3N0Y21tbGVuYy5oOgoJICAqIGV4dC9hbm5vZGV4L2dzdGNtbWx0YWcuaDoKCSAgKiBleHQvY2Fpcm8vZ3N0dGV4dG92ZXJsYXkuaDoKCSAgKiBleHQvbGFkc3BhL2dzdHNpZ25hbHByb2Nlc3Nvci5oOgoJICAqIGdzdC9tYXRyb3NrYS9lYm1sLXJlYWQuaDoKCSAgKiBnc3QvbWF0cm9za2EvZWJtbC13cml0ZS5oOgoJICAqIHN5cy9vc3hhdWRpby9nc3Rvc3hhdWRpb2VsZW1lbnQuaDoKCSAgRml4IGJyb2tlbiBHT2JqZWN0IG1hY3JvcwoKMjAwNi0wNC0wOCAxODoyMzowNCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogRG9uJ3QgbWFrZSByb3VuZGluZyBlcnJvcnMgaW4gdGltZXN0YW1wL2R1cmF0aW9uIGNhbGN1bGF0aW9ucy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAoZ3N0X3F0ZGVtdXhfcHJlcGFyZV9jdXJyZW50X3NhbXBsZSksCgkgIChnc3RfcXRkZW11eF9jaGFpbiksIChnc3RfcXRkZW11eF9hZGRfc3RyZWFtKSwgKHF0ZGVtdXhfZHVtcF9zdHN6KSwKCSAgKHF0ZGVtdXhfZHVtcF9zdGNvKSwgKHF0ZGVtdXhfcGFyc2VfdHJhayk6CgkgIERvbid0IG1ha2Ugcm91bmRpbmcgZXJyb3JzIGluIHRpbWVzdGFtcC9kdXJhdGlvbiBjYWxjdWxhdGlvbnMuCgkgIEZpeCB0aW1lc3RhbXBzIGZvciBBTVIgYW5kIElNQTQuICBGaXhlcyAoIzMzNzQzNikuCgkgIENyZWF0ZSBhIGR1bW15IHNlZ21lbnQgZXZlbiB3aGVuIHRoZXJlIGlzIG5vIGVkaXQgbGlzdC4KCjIwMDYtMDQtMDggMTM6MDk6NTAgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvZmxhYy9nc3RmbGFjZGVjLmM6IERvbid0IHRyeSB0byBzZWVrIGJleW9uZCB0aGUgZW5kIG9mIHRoZSBmaWxlICh3b3VsZCBvY2Nhc2lvbmFsbHkgZGlzcGxheSBlcnJvciBkaWFsb2dzIGluIHRvdGUuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5jOiAoZ3N0X2ZsYWNfZGVjX2hhbmRsZV9zZWVrX2V2ZW50KToKCSAgRG9uJ3QgdHJ5IHRvIHNlZWsgYmV5b25kIHRoZSBlbmQgb2YgdGhlIGZpbGUgKHdvdWxkCgkgIG9jY2FzaW9uYWxseSBkaXNwbGF5IGVycm9yIGRpYWxvZ3MgaW4gdG90ZW0gd2hlbiBzZWVraW5nCgkgIHRvIHRoZSBlbmQpICgjMzM1ODY5KS4gV2lsbCBzdGlsbCB0aHJvdyBhbiBlcnJvciB0aG91Z2gKCSAgaWYgdGhlIGZpbGUgaXMgdHJ1bmNhdGVkIGFuZCB0aGUgdG90YWxfc2FtcGxlcyB2YWx1ZSBpbgoJICB0aGUgc3RyZWFtIGhlYWRlciBpcyB3cm9uZy4KCjIwMDYtMDQtMDcgMTg6MTU6MDggKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvZmxhYy9nc3RmbGFjZGVjLio6IElmIHRoZSBzdHJlYW0gaGVhZGVyIGRvZXNuJ3QgY29udGFpbiB0aGUgdG90YWwgbnVtYmVyIG9mIHNhbXBsZXMsIHNlYXJjaCBmb3IgdGhlIGxhc3QgZmxhYyBmcmEuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5jOiAoZ3N0X2ZsYWNfY2FsY3VsYXRlX2NyYzgpLAoJICAoZ3N0X2ZsYWNfZGVjX3NjYW5fZ290X2ZyYW1lKSwgKGdzdF9mbGFjX2RlY19zY2FuX2Zvcl9sYXN0X2Jsb2NrKSwKCSAgKGdzdF9mbGFjX2RlY19tZXRhZGF0YV9jYWxsYmFjayk6CgkgICogZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5oOgoJICBJZiB0aGUgc3RyZWFtIGhlYWRlciBkb2Vzbid0IGNvbnRhaW4gdGhlIHRvdGFsIG51bWJlciBvZiBzYW1wbGVzLAoJICBzZWFyY2ggZm9yIHRoZSBsYXN0IGZsYWMgZnJhbWUgYXQgdGhlIGVuZCBvZiB0aGUgZmlsZSBhbmQgY2FsY3VsYXRlCgkgIHRoZSB0b3RhbCBkdXJhdGlvbiBmcm9tIHRoYXQgZnJhbWUncyBvZmZzZXQgKGZpeGVzICMzMzc2MDkpLgoKMjAwNi0wNC0wNyAxNTo1Mzo0MyArMDAwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkgIFR5cG8gZml4LCBzL1hGcmVlODYvWDExIGFuZCBhZGRlZCBkb2MgYmx1cmIgc2F5aW5nIHRoYXQgaXQgZml4YXRlcyB0byAyNWZwcwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNi0wNC0wNyAgWmFoZWVyIEFiYmFzIE1lcmFsaSAgPHphaGVlcmFiYmFzIGF0IG1lcmFsaSBkb3Qgb3JnPgoJICAqIGV4dC9hbXJ3Yi9hbXJ3Yi1jb2RlL01ha2VmaWxlLmFtOgoJICAqIHN5cy94aW1hZ2VzcmMveGltYWdlc3JjLmM6IChnc3RfeGltYWdlc3JjX3JlY2FsYyksCgkgIChnc3RfeGltYWdlc3JjX2NyZWF0ZSksIChnc3RfeGltYWdlc3JjX3NldF9wcm9wZXJ0eSk6CgkgIFR5cG8gZml4LCBzL1hGcmVlODYvWDExIGFuZCBhZGRlZCBkb2MgYmx1cmIgc2F5aW5nIHRoYXQgaXQgZml4YXRlcyB0bwoJICAyNWZwcwoKMjAwNi0wNC0wNyAxNTo0NzoyNyArMDAwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkgIHRlc3RzL2ljbGVzL3hpbWFnZXNyYy10ZXN0LmM6IEFjdHVhbGx5IGFzc2VydCB0aGF0IHBpcGVsaW5lIGdvZXMgdG8gcGxheWluZwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNi0wNC0wNyAgWmFoZWVyIEFiYmFzIE1lcmFsaSAgPHphaGVlcmFiYmFzIGF0IG1lcmFsaSBkb3Qgb3JnPgoJICAqIHRlc3RzL2ljbGVzL3hpbWFnZXNyYy10ZXN0LmM6IChtYWluKToKCSAgQWN0dWFsbHkgYXNzZXJ0IHRoYXQgcGlwZWxpbmUgZ29lcyB0byBwbGF5aW5nCgoyMDA2LTA0LTA3IDE1OjI3OjQwICswMDAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSAgc3lzL3hpbWFnZXNyYy94aW1hZ2VzcmMuYzogRml4IHR5cG8sIEMrKyBzdHlsZSBjb21tZW50cyBhbmQgb3RoZXIgc21hbGwgY2xlYW51cHMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDYtMDQtMDcgIFphaGVlciBBYmJhcyBNZXJhbGkgIDx6YWhlZXJhYmJhcyBhdCBtZXJhbGkgZG90IG9yZz4KCSAgKiBzeXMveGltYWdlc3JjL3hpbWFnZXNyYy5jOiAoZ3N0X3hpbWFnZXNyY19yZWNhbGMpLAoJICAoY29tcG9zaXRlX3BpeGVsKSwgKGdzdF94aW1hZ2VzcmNfeGltYWdlX2dldCksCgkgIChnc3RfeGltYWdlc3JjX2NyZWF0ZSksIChnc3RfeGltYWdlc3JjX3NldF9wcm9wZXJ0eSk6CgkgIEZpeCB0eXBvLCBDKysgc3R5bGUgY29tbWVudHMgYW5kIG90aGVyIHNtYWxsIGNsZWFudXBzCgoyMDA2LTA0LTA3IDEwOjQ4OjE5ICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgZ3N0L2F2aS9nc3RhdmlkZW11eC5jOiBEb24ndCB1bnJlZiB0aGUgR3N0UGFkVGVtcGxhdGUgcmV0dXJuZWQgYnkgZ3N0X2VsZW1lbnRfY2xhc3NfZ2V0X3BhZF90ZW1wbGF0ZSgpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6IChnc3RfYXZpX2RlbXV4X3BhcnNlX3N0cmVhbSk6CgkgIERvbid0IHVucmVmIHRoZSBHc3RQYWRUZW1wbGF0ZSByZXR1cm5lZCBieQoJICBnc3RfZWxlbWVudF9jbGFzc19nZXRfcGFkX3RlbXBsYXRlKCkuCgoyMDA2LTA0LTA2IDE5OjE2OjAyICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBBZGRlZCBmdWxsIGVkaXQgbGlzdCBzdXBwb3J0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChnc3RfcXRkZW11eF9pbml0KSwKCSAgKGdzdF9xdGRlbXV4X2hhbmRsZV9zcmNfcXVlcnkpLCAoZ3N0X3F0ZGVtdXhfZmluZF9pbmRleCksCgkgIChnc3RfcXRkZW11eF9maW5kX2tleWZyYW1lKSwgKGdzdF9xdGRlbXV4X2ZpbmRfc2VnbWVudCksCgkgIChnc3RfcXRkZW11eF9tb3ZlX3N0cmVhbSksIChnc3RfcXRkZW11eF9wZXJmb3JtX3NlZWspLAoJICAoZ3N0X3F0ZGVtdXhfZG9fc2VlayksIChnc3RfcXRkZW11eF9jaGFuZ2Vfc3RhdGUpLAoJICAoZ3N0X3F0ZGVtdXhfYWN0aXZhdGVfc2VnbWVudCksCgkgIChnc3RfcXRkZW11eF9wcmVwYXJlX2N1cnJlbnRfc2FtcGxlKSwgKGdzdF9xdGRlbXV4X2FkdmFuY2Vfc2FtcGxlKSwKCSAgKGdzdF9xdGRlbXV4X2xvb3Bfc3RhdGVfbW92aWUpLCAoZ3N0X3F0ZGVtdXhfbG9vcCksCgkgIChxdGRlbXV4X3BhcnNlX3RyYWspOgoJICBBZGRlZCBmdWxsIGVkaXQgbGlzdCBzdXBwb3J0LgoJICBBdm9pZCBvdmVyZmxvd3MgaW4gcHJvbG9ndWUgaW1hZ2UgZGV0ZWN0aW9uIGNvZGUuCgkgIEF2b2lkIHJvdW5kb2ZmIGVycm9ycyBpbiB0aW1lc3RhbXAgY2FsY3VsYXRpb25zLgoKMjAwNi0wNC0wNiAxMTozNToyNiArMDAwMCAgal4gPGpAYm9vdGxhYi5vcmc+CgoJICBVbmlmeSB0aGUgbG9uZyBkZXNjcmlwdGlvbnMgaW4gdGhlIHBsdWdpbiBkZXRhaWxzICgjMzM3MjYzKS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBqXiAgPGogYXQgYm9vdGxhYiBkb3Qgb3JnPgoJICAqIGV4dC9hbXJ3Yi9nc3RhbXJ3YmRlYy5jOgoJICAqIGV4dC9hbXJ3Yi9nc3RhbXJ3YmVuYy5jOgoJICAqIGV4dC9hbXJ3Yi9nc3RhbXJ3YnBhcnNlLmM6CgkgICogZXh0L2FydHMvZ3N0X2FydHMuYzoKCSAgKiBleHQvYXJ0c2QvZ3N0YXJ0c2RzaW5rLmM6CgkgICogZXh0L2F1ZGlvZmlsZS9nc3RhZnBhcnNlLmM6CgkgICogZXh0L2F1ZGlvZmlsZS9nc3RhZnNpbmsuYzoKCSAgKiBleHQvYXVkaW9maWxlL2dzdGFmc3JjLmM6CgkgICogZXh0L2NkYXVkaW8vZ3N0Y2RhdWRpby5jOgoJICAqIGV4dC9kaXJlY3RmYi9kZmJ2aWRlb3NpbmsuYzoKCSAgKiBleHQvZGl2eC9nc3RkaXZ4ZGVjLmM6CgkgICogZXh0L2RpdngvZ3N0ZGl2eGVuYy5jOgoJICAqIGV4dC9kdHMvZ3N0ZHRzZGVjLmM6IChnc3RfZHRzZGVjX2Jhc2VfaW5pdCk6CgkgICogZXh0L2ZhYWMvZ3N0ZmFhYy5jOiAoZ3N0X2ZhYWNfYmFzZV9pbml0KToKCSAgKiBleHQvZmFhZC9nc3RmYWFkLmM6CgkgICogZXh0L2dzbS9nc3Rnc21kZWMuYzoKCSAgKiBleHQvZ3NtL2dzdGdzbWVuYy5jOgoJICAqIGV4dC9oZXJtZXMvZ3N0aGVybWVzY29sb3JzcGFjZS5jOgoJICAqIGV4dC9pdm9yYmlzL3ZvcmJpc2ZpbGUuYzoKCSAgKiBleHQvbGNzL2dzdGNvbG9yc3BhY2UuYzoKCSAgKiBleHQvbGliZmFtZS9nc3RsaWJmYW1lLmM6CgkgICogZXh0L2xpYm1tcy9nc3RtbXMuYzogKGdzdF9tbXNfYmFzZV9pbml0KToKCSAgKiBleHQvbXVzaWNicmFpbnovZ3N0dHJtLmM6IChnc3RfbXVzaWNicmFpbnpfYmFzZV9pbml0KToKCSAgKiBleHQvbmFzL25hc3NpbmsuYzogKGdzdF9uYXNzaW5rX2Jhc2VfaW5pdCk6CgkgICogZXh0L25lb24vZ3N0bmVvbmh0dHBzcmMuYzoKCSAgKiBleHQvcG9seXAvcG9seXBzaW5rLmM6IChnc3RfcG9seXBzaW5rX2Jhc2VfaW5pdCk6CgkgICogZXh0L3NkbC9zZGxhdWRpb3NpbmsuYzoKCSAgKiBleHQvc2RsL3NkbHZpZGVvc2luay5jOgoJICAqIGV4dC9zaG91dC9nc3RzaG91dC5jOgoJICAqIGV4dC9zbmFwc2hvdC9nc3RzbmFwc2hvdC5jOgoJICAqIGV4dC9zbmRmaWxlL2dzdHNmLmM6CgkgICogZXh0L3Rhcmtpbi9nc3R0YXJraW5kZWMuYzoKCSAgKiBleHQvdGFya2luL2dzdHRhcmtpbmVuYy5jOgoJICAqIGV4dC90aGVvcmEvdGhlb3JhZGVjLmM6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2RlYy5jOiAoZ3N0X3dhdnBhY2tfZGVjX2Jhc2VfaW5pdCk6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja3BhcnNlLmM6IChnc3Rfd2F2cGFja19wYXJzZV9iYXNlX2luaXQpOgoJICAqIGV4dC94dmlkL2dzdHh2aWRkZWMuYzoKCSAgKiBleHQveHZpZC9nc3R4dmlkZW5jLmM6CgkgICogZ3N0L2NkeGFwYXJzZS9nc3RjZHhhcGFyc2UuYzogKGdzdF9jZHhhX3BhcnNlX2Jhc2VfaW5pdCk6CgkgICogZ3N0L2NkeGFwYXJzZS9nc3RjZHhhc3RyaXAuYzogKGdzdF9jZHhhc3RyaXBfYmFzZV9pbml0KToKCSAgKiBnc3QvY2hhcnQvZ3N0Y2hhcnQuYzoKCSAgKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplci5jOiAoZ3N0X2lpcl9lcXVhbGl6ZXJfYmFzZV9pbml0KToKCSAgKiBnc3QvZmVzdGl2YWwvZ3N0ZmVzdGl2YWwuYzoKCSAgKiBnc3QvZmlsdGVyL2dzdGlpci5jOgoJICAqIGdzdC9maWx0ZXIvZ3N0bHB3c2luYy5jOgoJICAqIGdzdC9mcmVlemUvZ3N0ZnJlZXplLmM6CgkgICogZ3N0L2dhbWVzL2dzdHB1enpsZS5jOiAoZ3N0X3B1enpsZV9iYXNlX2luaXQpOgoJICAqIGdzdC9taXhtYXRyaXgvbWl4bWF0cml4LmM6CgkgICogZ3N0L21wZWcxc3lzL2dzdG1wZWcxc3lzdGVtZW5jb2RlLmM6CgkgICogZ3N0L21wZWcxdmlkZW9wYXJzZS9nc3RtcDF2aWRlb3BhcnNlLmM6CgkgICogZ3N0L21wZWcyc3ViL2dzdG1wZWcyc3VidC5jOgoJICAqIGdzdC9tcGVnYXVkaW9wYXJzZS9nc3RtcGVnYXVkaW9wYXJzZS5jOgoJICAqIGdzdC9tdWx0aWZpbGVzaW5rL2dzdG11bHRpZmlsZXNpbmsuYzoKCSAgKiBnc3Qvb3ZlcmxheS9nc3RvdmVybGF5LmM6CgkgICogZ3N0L3Bhc3N0aHJvdWdoL2dzdHBhc3N0aHJvdWdoLmM6CgkgICogZ3N0L3BsYXlvbmRlbWFuZC9nc3RwbGF5b25kZW1hbmQuYzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgICogZ3N0L3J0anBlZy9nc3RydGpwZWdkZWMuYzoKCSAgKiBnc3QvcnRqcGVnL2dzdHJ0anBlZ2VuYy5jOgoJICAqIGdzdC9zbW9vdGgvZ3N0c21vb3RoLmM6CgkgICogZ3N0L3R0YS9nc3R0dGFkZWMuYzogKGdzdF90dGFfZGVjX2Jhc2VfaW5pdCk6CgkgICogZ3N0L3R0YS9nc3R0dGFwYXJzZS5jOiAoZ3N0X3R0YV9wYXJzZV9iYXNlX2luaXQpOgoJICAqIGdzdC92aWRlb2Nyb3AvZ3N0dmlkZW9jcm9wLmM6CgkgICogZ3N0L3ZpZGVvZHJvcC9nc3R2aWRlb2Ryb3AuYzoKCSAgKiBnc3QvdmlydHVhbGR1Yi9nc3R4c2hhcnBlbi5jOgoJICAqIGdzdC94aW5naGVhZGVyL2dzdHhpbmdtdXguYzogKGdzdF94aW5nX211eF9iYXNlX2luaXQpOgoJICAqIGdzdC95NG0vZ3N0eTRtZW5jb2RlLmM6CgkgIFVuaWZ5IHRoZSBsb25nIGRlc2NyaXB0aW9ucyBpbiB0aGUgcGx1Z2luIGRldGFpbHMgKCMzMzcyNjMpLgoKMjAwNi0wNC0wNiAwOToxNDozMCArMDAwMCAgQnJpYW4gQ2FtZXJvbiA8YnJpYW4uY2FtZXJvbkBzdW4uY29tPgoKCSAgc3lzL3N1bmF1ZGlvL2dzdHN1bmF1ZGlvc2luay4qOiBVc2Ugc3BlYy0+c2Vnc2l6ZSBhbmQgc3BlYy0+c2VndG90YWwgaW4gdGhlIHByZXBhcmUgZnVuY3Rpb24gdG8gaW5pdGlhbGlzZSB0aGUgcmluZyBiLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogQnJpYW4gQ2FtZXJvbiAgPGJyaWFuIGRvdCBjYW1lcm9uIGF0IHN1biBkb3QgY29tPgoJICAqIHN5cy9zdW5hdWRpby9nc3RzdW5hdWRpb3NpbmsuYzogKGdzdF9zdW5hdWRpb3NpbmtfaW5pdCksCgkgIChnc3Rfc3VuYXVkaW9zaW5rX3ByZXBhcmUpLCAoZ3N0X3N1bmF1ZGlvc2lua193cml0ZSk6CgkgICogc3lzL3N1bmF1ZGlvL2dzdHN1bmF1ZGlvc2luay5oOgoJICBVc2Ugc3BlYy0+c2Vnc2l6ZSBhbmQgc3BlYy0+c2VndG90YWwgaW4gdGhlIHByZXBhcmUgZnVuY3Rpb24KCSAgdG8gaW5pdGlhbGlzZSB0aGUgcmluZyBidWZmZXIgaW5zdGVhZCBvZiB1c2luZyB0aGUgYnVmZmVyLXRpbWUKCSAgcHJvcGVydHkgKCMzMzc0MjEpLgoKMjAwNi0wNC0wNiAwODo1Mjo1MSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGNvbmZpZ3VyZS5hYzogQnVtcCBjb3JlIHJlcXVpcmVtZW50cyB0byBDVlMgZm9yIGdzdF9wYWRfcXVlcnlfcGVlcl9kdXJhdGlvbigpIHdoaWNoIGlzIHVzZWQgYnkgc3BlZXhkZWMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgQnVtcCBjb3JlIHJlcXVpcmVtZW50cyB0byBDVlMgZm9yIGdzdF9wYWRfcXVlcnlfcGVlcl9kdXJhdGlvbigpCgkgIHdoaWNoIGlzIHVzZWQgYnkgc3BlZXhkZWMuCgoyMDA2LTA0LTA1IDE4OjI3OjIyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L3NwZWV4LzogRml4IHNlZWtpbmcgYW5kIGR1cmF0aW9uIHF1ZXJpZXMgKCMzMzcwMzMpOyBjbGVhbiB1cCBhbmQgcmVmYWN0b3IgYSBiaXQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9zcGVleC9nc3RzcGVleC5jOiAocGx1Z2luX2luaXQpOgoJICAqIGV4dC9zcGVleC9nc3RzcGVleGRlYy5jOiAoZ3N0X3NwZWV4X2RlY19jbGFzc19pbml0KSwKCSAgKGdzdF9zcGVleF9kZWNfcmVzZXQpLCAoZ3N0X3NwZWV4X2RlY19pbml0KSwgKHNwZWV4X2RlY19jb252ZXJ0KSwKCSAgKHNwZWV4X2dldF9zaW5rX3F1ZXJ5X3R5cGVzKSwgKHNwZWV4X2RlY19zaW5rX3F1ZXJ5KSwKCSAgKHNwZWV4X2dldF9zcmNfcXVlcnlfdHlwZXMpLCAoc3BlZXhfZGVjX3NyY19xdWVyeSksCgkgIChzcGVleF9kZWNfc3JjX2V2ZW50KSwgKHNwZWV4X2RlY19zaW5rX2V2ZW50KSwKCSAgKHNwZWV4X2RlY19jaGFpbl9wYXJzZV9oZWFkZXIpLCAoc3BlZXhfZGVjX2NoYWluX3BhcnNlX2NvbW1lbnRzKSwKCSAgKHNwZWV4X2RlY19jaGFpbl9wYXJzZV9kYXRhKSwgKHNwZWV4X2RlY19jaGFpbiksCgkgIChnc3Rfc3BlZXhfZGVjX2dldF9wcm9wZXJ0eSksIChnc3Rfc3BlZXhfZGVjX3NldF9wcm9wZXJ0eSksCgkgIChzcGVleF9kZWNfY2hhbmdlX3N0YXRlKToKCSAgKiBleHQvc3BlZXgvZ3N0c3BlZXhkZWMuaDoKCSAgRml4IHNlZWtpbmcgYW5kIGR1cmF0aW9uIHF1ZXJpZXMgKCMzMzcwMzMpOyBjbGVhbiB1cCBhbmQKCSAgcmVmYWN0b3IgYSBiaXQuCgoyMDA2LTA0LTA1IDEyOjQxOjE0ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkgIGV4dC9yYXcxMzk0L2dzdGR2MTM5NHNyYy5jOiBkaXN0aW5ndWlzaCBiZXR3ZWVuIGRldmljZSBub3QgZm91bmQgYW5kIGNvdWxkIG5vdCBvcGVuIGZvciByZWFkaW5nCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9yYXcxMzk0L2dzdGR2MTM5NHNyYy5jOgoJICBkaXN0aW5ndWlzaCBiZXR3ZWVuIGRldmljZSBub3QgZm91bmQgYW5kIGNvdWxkIG5vdCBvcGVuIGZvcgoJICByZWFkaW5nCgoyMDA2LTA0LTA1IDA4OjM2OjU1ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBVc2UgZHVyYXRpb24gYXMgc2VnbWVudCBzdG9wIHBvc2l0aW9uIGlmIG5vbmUgaXMgZXhwbGljaXRseSBjb25maWd1cmVkLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChnc3RfcXRkZW11eF9wZXJmb3JtX3NlZWspLAoJICAoZ3N0X3F0ZGVtdXhfZG9fc2VlayksIChnc3RfcXRkZW11eF9sb29wX3N0YXRlX21vdmllKSwKCSAgKGdzdF9xdGRlbXV4X2xvb3ApOgoJICBVc2UgZHVyYXRpb24gYXMgc2VnbWVudCBzdG9wIHBvc2l0aW9uIGlmIG5vbmUgaXMKCSAgZXhwbGljaXRseSBjb25maWd1cmVkLgoJICBBbHNvIHBlcmZvcm0gRU9TIHdoZW4gd2UgcnVuIHBhc3QgdGhlIHNlZ21lbnQgc3RvcC4KCjIwMDYtMDQtMDQgMTE6MjA6NTggKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IE1vcmUgY2xlYW51cHMsIGFkZGVkIGNvbW1lbnRzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChnc3RfcXRkZW11eF9nb19iYWNrKSwKCSAgKGdzdF9xdGRlbXV4X3BlcmZvcm1fc2VlayksIChnc3RfcXRkZW11eF9kb19zZWVrKSwKCSAgKGdzdF9xdGRlbXV4X2xvb3Bfc3RhdGVfbW92aWUpLCAoZ3N0X3F0ZGVtdXhfbG9vcCksCgkgIChnc3RfcXRkZW11eF9jaGFpbiksIChxdGRlbXV4X3BhcnNlX3RyZWUpLCAocXRkZW11eF9wYXJzZV90cmFrKToKCSAgTW9yZSBjbGVhbnVwcywgYWRkZWQgY29tbWVudHMuCgkgIE1hcmsgZGlzY29udGludWl0aWVzIG9uIG91dGdvaW5nIGJ1ZmZlcnMuCgkgIFBvc3QgYmV0dGVyIGVycm9ycyB3aGVuIHNvbWV0aGluZyBnb2VzIHdyb25nLgoJICBIYW5kbGUgRU9TIGFuZCBzZWdtZW50IGVuZCBwcm9wZXJseS4KCjIwMDYtMDQtMDQgMDg6MzE6MTAgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4Lio6IEhhbmRsZSBzdHNzIGJveGVzIHNvIHdlIGNhbiBtYXJrIGFuZCBmaW5kIGtleWZyYW1lcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAoZ3N0X3F0ZGVtdXhfaW5pdCksCgkgIChnc3RfcXRkZW11eF9wdXNoX2V2ZW50KSwgKGdzdF9xdGRlbXV4X2dvX2JhY2spLAoJICAoZ3N0X3F0ZGVtdXhfcGVyZm9ybV9zZWVrKSwgKGdzdF9xdGRlbXV4X2RvX3NlZWspLAoJICAoZ3N0X3F0ZGVtdXhfaGFuZGxlX3NyY19ldmVudCksIChwbHVnaW5faW5pdCksCgkgIChnc3RfcXRkZW11eF9jaGFuZ2Vfc3RhdGUpLCAoZ3N0X3F0ZGVtdXhfbG9vcF9zdGF0ZV9tb3ZpZSksCgkgIChnc3RfcXRkZW11eF9sb29wKSwgKGdzdF9xdGRlbXV4X2NoYWluKSwKCSAgKHF0ZGVtdXhfc2lua19hY3RpdmF0ZV9wdWxsKSwgKGdzdF9xdGRlbXV4X2FkZF9zdHJlYW0pLAoJICAocXRkZW11eF9wYXJzZSksIChxdGRlbXV4X3BhcnNlX3RyZWUpLCAocXRkZW11eF9wYXJzZV90cmFrKSwKCSAgKHF0ZGVtdXhfcGFyc2VfdWR0YSksIChxdGRlbXV4X3RhZ19hZGRfc3RyKSwgKHF0ZGVtdXhfdGFnX2FkZF9udW0pLAoJICAocXRkZW11eF90YWdfYWRkX2ducmUpLCAoZ3N0X3F0ZGVtdXhfaGFuZGxlX2VzZHMpOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguaDoKCSAgSGFuZGxlIHN0c3MgYm94ZXMgc28gd2UgY2FuIG1hcmsgYW5kIGZpbmQga2V5ZnJhbWVzLgoJICBJbXBsZW1lbnQgY29ycmVjdCBhY2N1cmF0ZSBhbmQga2V5ZnJhbWUgc2Vla2luZy4KCSAgVXNlIF9ERUJVR19PQkpFQ1Qgd2hlbiBwb3NzaWJsZS4KCjIwMDYtMDQtMDMgMTM6Mjk6MjAgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvLmdpdGlnbm9yZToKCSAgaWdub3JlIG1vcmUKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGlnbm9yZSBtb3JlCgoyMDA2LTA0LTAzIDEzOjI4OjU1ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIHBrZ2NvbmZpZy9NYWtlZmlsZS5hbToKCSAgZml4IGRpc3QKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGZpeCBkaXN0CgoyMDA2LTA0LTAzIDA5OjAyOjI5ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkgIGFkZCBhIC5wYyBmaWxlIHNvIG90aGVyIG1vZHVsZXMgY2FuIHVzZSBnb29kIHBsdWdpbnMgaW4gdGVzdHMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogTWFrZWZpbGUuYW06CgkgICogY29uZmlndXJlLmFjOgoJICAqIHBrZ2NvbmZpZy8uY3ZzaWdub3JlOgoJICAqIHBrZ2NvbmZpZy9NYWtlZmlsZS5hbToKCSAgKiBwa2djb25maWcvZ3N0cmVhbWVyLXBsdWdpbnMtZ29vZC11bmluc3RhbGxlZC5wYy5pbjoKCSAgYWRkIGEgLnBjIGZpbGUgc28gb3RoZXIgbW9kdWxlcyBjYW4gdXNlIGdvb2QgcGx1Z2lucyBpbiB0ZXN0cwoKMjAwNi0wNC0wMSAxNjo1MDo0OSArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBjb21tb246CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1xdGRlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXRhZ2xpYi54bWw6CgkqIGV4dC90YWdsaWIvZ3N0dGFnbGlibXV4LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2lkM3YybXV4LmM6CgkgIGFkZCB0YWdsaWIgY2hlY2tzIGFuZCBkb2NzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBhZGQgdGFnbGliIGNoZWNrcyBhbmQgZG9jcwoKMjAwNi0wNC0wMSAxNTozMDo1MSArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBkb2NzL3VwbG9hZC5tYWs6CgkgIGRpc2FibGUgdXNlIG9mIEFTX0xJQlRPT0xfVEFHUywgaXQgZG9lc24ndCB3b3JrIGNvcnJlY3RseQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgZGlzYWJsZSB1c2Ugb2YgQVNfTElCVE9PTF9UQUdTLCBpdCBkb2Vzbid0IHdvcmsgY29ycmVjdGx5CgoyMDA2LTA0LTAxIDE0OjAzOjAzICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIGNvbW1vbjoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLTEzOTQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWFzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGFjb2xvci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbm5vZGV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFwZXRhZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9kZXRlY3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXZpLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhY2FzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhaXJvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY3V0dGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZW5jZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmZlY3R2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVzZHNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmxhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHhkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2NvbmZlbGVtZW50cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZGtwaXhidWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1oYWxlbGVtZW50cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pZDNkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxhZHNwYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sZXZlbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tYXRyb3NrYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aXBhcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmF2aWdhdGlvbnRlc3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5nLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHNwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNob3V0MnNlbmQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc21wdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9iYWxhbmNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvYm94LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvZmxpcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb21peGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYXJzZS54bWw6CgkgIGFkZGluZyBpbnNwZWN0IGZpbGVzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBhZGRpbmcgaW5zcGVjdCBmaWxlcwoKMjAwNi0wNC0wMSAxMDoxNTozMyArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiB0ZXN0cy9pY2xlcy94aW1hZ2VzcmMtdGVzdC5jOgoJICA1IHNlY29uZCB0aW1lb3V0CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICA1IHNlY29uZCB0aW1lb3V0CgoyMDA2LTA0LTAxIDEwOjE0OjI2ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIHRlc3RzL2ljbGVzLy5naXRpZ25vcmU6CgkqIHRlc3RzL2ljbGVzL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9pY2xlcy94aW1hZ2VzcmMtdGVzdC5jOgoJICByZW5hbWUgdGVzdAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgcmVuYW1lIHRlc3QKCjIwMDYtMDQtMDEgMTA6MDk6MTEgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIuYzoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJKiBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uYzoKCSogZ3N0L3ZpZGVvY3JvcC9nc3R2aWRlb2Nyb3AuYzoKCSogc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3BsdWdpbi5jOgoJKiBzeXMvZGlyZWN0c291bmQvZ3N0ZGlyZWN0c291bmRwbHVnaW4uYzoKCSogc3lzL3Y0bDIvZ3N0djRsMi5jOgoJKiBzeXMveGltYWdlL2dzdHhpbWFnZXNyYy5jOgoJICByZXdvcmsgYnVpbGQ7IGFkZCB0cmFuc2xhdGlvbnMgZm9yIHY0bDIKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHJld29yayBidWlsZDsgYWRkIHRyYW5zbGF0aW9ucyBmb3IgdjRsMgoKMjAwNi0wNC0wMSAwOTo1Njo0NSArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJICBjb25maWd1cmUuYWM6IGNsZWFuIHVwLCB1c2UgQVNfVkVSU0lPTiBhbmQgQVNfTkFOTwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIGNsZWFuIHVwLCB1c2UgQVNfVkVSU0lPTiBhbmQgQVNfTkFOTwoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzogKGdzdF9tYXRyb3NrYV9tdXhfc3RhcnQpOgoJICB1c2UgUEFDS0FHRV9WRVJTSU9OIGRlZmluZQoJICAqIHBvL2FmLnBvOgoJICAqIHBvL2F6LnBvOgoJICAqIHBvL2NzLnBvOgoJICAqIHBvL2VuX0dCLnBvOgoJICAqIHBvL2h1LnBvOgoJICAqIHBvL2l0LnBvOgoJICAqIHBvL25iLnBvOgoJICAqIHBvL25sLnBvOgoJICAqIHBvL29yLnBvOgoJICAqIHBvL3NxLnBvOgoJICAqIHBvL3NyLnBvOgoJICAqIHBvL3N2LnBvOgoJICAqIHBvL3VrLnBvOgoJICAqIHBvL3ZpLnBvOgoJICB1cGRhdGVkCgoyMDA2LTAzLTMxIDE3OjUyOjM2ICswMDAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSAgQWRkIHRlc3RzIGFuZCBmaXggUEFSIGNhcHMgaXNzdWUgdG8geGltYWdlc3JjCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA2LTAzLTMxICBaYWhlZXIgQWJiYXMgTWVyYWxpICA8emFoZWVyYWJiYXMgYXQgbWVyYWxpIGRvdCBvcmc+CgkgICogTWFrZWZpbGUuYW06CgkgICogY29uZmlndXJlLmFjOgoJICAqIHN5cy94aW1hZ2VzcmMveGltYWdlc3JjLmM6CgkgIChnc3RfeGltYWdlc3JjX3hpbWFnZV9nZXQpLAoJICAoZ3N0X3hpbWFnZXNyY19nZXRfY2FwcyksIChnc3RfeGltYWdlc3JjX2NsYXNzX2luaXQpOgoJICAqIHN5cy94aW1hZ2VzcmMveGltYWdldXRpbC5jOgoJICAqIHRlc3RzL01ha2VmaWxlLmFtOgoJICAqIHRlc3RzL2ljbGVzL01ha2VmaWxlLmFtOgoJICAqIHRlc3RzL2ljbGVzL3hpbWFnZXNyYy10ZXN0LmM6ICh0ZXJtaW5hdGVfcGxheWJhY2spLCAobWFpbik6CgkgIEFkZCB0ZXN0cyBhbmQgZml4IFBBUiBjYXBzIGlzc3VlIHRvIHhpbWFnZXNyYwoKMjAwNi0wMy0zMSAxNjozMjo0NyArMDAwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkgIHN5cy94aW1hZ2VzcmMveGltYWdlc3JjLmM6IEFkZCBkb2NzIHRvIHhpbWFnZXNyYwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNi0wMy0zMSAgWmFoZWVyIEFiYmFzIE1lcmFsaSAgPHphaGVlcmFiYmFzIGF0IG1lcmFsaSBkb3Qgb3JnPgoJICAqIHN5cy94aW1hZ2VzcmMveGltYWdlc3JjLmM6CgkgIEFkZCBkb2NzIHRvIHhpbWFnZXNyYwoKMjAwNi0wMy0zMSAxNToyMTozNSArMDAwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkgIHN5cy94aW1hZ2VzcmMvOiBGaXggeGltYWdlc3JjIHNvIGEpIHRoZSBjdXJzb3IgZG9lc250IHRyYWlsIGFuZCBiKSB0aGVyZSBhcmUgbm8geWVsbG93IHJlY3RhbmdsZXMgd2l0aCB0aGUgY3Vyc29yCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA2LTAzLTMxICBaYWhlZXIgQWJiYXMgTWVyYWxpICA8emFoZWVyYWJiYXMgYXQgbWVyYWxpIGRvdCBvcmc+CgkgICogc3lzL3hpbWFnZXNyYy94aW1hZ2VzcmMuYzogKGNvbXBvc2l0ZV9waXhlbCksCgkgIChnc3RfeGltYWdlc3JjX3hpbWFnZV9nZXQpLCAoZ3N0X3hpbWFnZXNyY19zZXRfcHJvcGVydHkpLAoJICAoZ3N0X3hpbWFnZXNyY19nZXRfY2FwcyksIChnc3RfeGltYWdlc3JjX2NsYXNzX2luaXQpOgoJICAqIHN5cy94aW1hZ2VzcmMveGltYWdlc3JjLmg6CgkgICogc3lzL3hpbWFnZXNyYy94aW1hZ2V1dGlsLmM6ICh4aW1hZ2V1dGlsX3hjb250ZXh0X2dldCk6CgkgICogc3lzL3hpbWFnZXNyYy94aW1hZ2V1dGlsLmg6CgkgIEZpeCB4aW1hZ2VzcmMgc28gYSkgdGhlIGN1cnNvciBkb2VzbnQgdHJhaWwgYW5kIGIpIHRoZXJlIGFyZSBubwoJICB5ZWxsb3cgcmVjdGFuZ2xlcyB3aXRoIHRoZSBjdXJzb3IKCjIwMDYtMDMtMzAgMjM6NDY6NDIgKzAwMDAgIFPDqWJhc3RpZW4gTW91dHRlIDxzZWJhc3RpZW5AbW91dHRlLm5ldD4KCgkqIHdpbjMyL3ZzNi9nc3RfcGx1Z2luc19nb29kLmRzdzoKCSogd2luMzIvdnM2L2xpYmdzdGFsYXcuZHNwOgoJKiB3aW4zMi92czYvbGliZ3N0YWxwaGEuZHNwOgoJKiB3aW4zMi92czYvbGliZ3N0YWxwaGFjb2xvci5kc3A6CgkqIHdpbjMyL3ZzNi9saWJnc3RhcGV0YWcuZHNwOgoJKiB3aW4zMi92czYvbGliZ3N0YXVwYXJzZS5kc3A6CgkqIHdpbjMyL3ZzNi9saWJnc3RhdXRvZGV0ZWN0LmRzcDoKCSogd2luMzIvdnM2L2xpYmdzdGF2aS5kc3A6CgkqIHdpbjMyL3ZzNi9saWJnc3RjdXR0ZXIuZHNwOgoJKiB3aW4zMi92czYvbGliZ3N0ZWZmZWN0di5kc3A6CgkqIHdpbjMyL3ZzNi9saWJnc3RmbHguZHNwOgoJKiB3aW4zMi92czYvbGliZ3N0Z29vbS5kc3A6CgkqIHdpbjMyL3ZzNi9saWJnc3RpZDNkZW11eC5kc3A6CgkqIHdpbjMyL3ZzNi9saWJnc3RpbnRlcmxlYXZlLmRzcDoKCSogd2luMzIvdnM2L2xpYmdzdGpwZWcuZHNwOgoJKiB3aW4zMi92czYvbGliZ3N0bGV2ZWwuZHNwOgoJKiB3aW4zMi92czYvbGliZ3N0bWF0cm9za2EuZHNwOgoJKiB3aW4zMi92czYvbGliZ3N0bWVkaWFuLmRzcDoKCSogd2luMzIvdnM2L2xpYmdzdG1vbm9zY29wZS5kc3A6CgkqIHdpbjMyL3ZzNi9saWJnc3RtdWxhdy5kc3A6CgkqIHdpbjMyL3ZzNi9saWJnc3RtdWx0aXBhcnQuZHNwOgoJKiB3aW4zMi92czYvbGliZ3N0cnRwLmRzcDoKCSogd2luMzIvdnM2L2xpYmdzdHJ0c3AuZHNwOgoJKiB3aW4zMi92czYvbGliZ3N0c21wdGUuZHNwOgoJKiB3aW4zMi92czYvbGliZ3N0c3BlZXguZHNwOgoJKiB3aW4zMi92czYvbGliZ3N0dmlkZW9iYWxhbmNlLmRzcDoKCSogd2luMzIvdnM2L2xpYmdzdHZpZGVvYm94LmRzcDoKCSogd2luMzIvdnM2L2xpYmdzdHZpZGVvZmxpcC5kc3A6CgkqIHdpbjMyL3ZzNi9saWJnc3R2aWRlb21peGVyLmRzcDoKCSogd2luMzIvdnM2L2xpYmdzdHdhdmVuYy5kc3A6CgkqIHdpbjMyL3ZzNi9saWJnc3R3YXZwYXJzZS5kc3A6CgkgIEknbSB0b28gbGF6eSB0byBjb21tZW50IHRoaXMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICoqKiBlbXB0eSBsb2cgbWVzc2FnZSAqKioKCjIwMDYtMDMtMzAgMjM6Mzc6MTYgKzAwMDAgIFPDqWJhc3RpZW4gTW91dHRlIDxzZWJhc3RpZW5AbW91dHRlLm5ldD4KCgkgIGV4dFxqcGVnXHNtb2tlY29kZWMuYzogdXNlIG9mIEdTVF9ERUJVRyBpbnN0ZWFkIG9mIERFQlVHKGEuLi4pIGZvciBXSU4zMgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHRcanBlZ1xzbW9rZWNvZGVjLmM6CgkgIHVzZSBvZiBHU1RfREVCVUcgaW5zdGVhZCBvZiBERUJVRyhhLi4uKSBmb3IgV0lOMzIKCSAgKiBleHRcc3BlZXhcZ3N0c3BlZXhlbmMuYzogKGdzdF9zcGVleGVuY19zZXRfaGVhZGVyX29uX2NhcHMpOgoJICBtb3ZlIGZpcnN0IGluc3RydWN0aW9uIGFmdGVyIGFsbCB2YXJpYWJsZXMgZGVjbGFyYXRpb25zCgkgICogZ3N0XGFscGhhXGdzdGFscGhhLmM6CgkgICogZ3N0XGVmZmVjdHZcZ3N0c2hhZ2FkZWxpYy5jOgoJICAqIGdzdFxzbXB0ZVxwYWludC5jOgoJICAqIGdzdFx2aWRlb2ZpbHRlclxnc3R2aWRlb2JhbGFuY2UuYzoKCSAgZGVmaW5lIE1fUEkgaWYgaXQncyBub3QgZGVmaW5lZCAoaXQncyBub3QgZGVmaW5lZCBvbiBXSU4zMikKCSAgKiBnc3RcY3V0dGVyXGdzdGN1dHRlci5jOiAoZ3N0X2N1dHRlcl9jaGFpbik6CgkgICogZ3N0XGlkM2RlbXV4XGlkM3YyZnJhbWVzLmM6IChwYXJzZV9yZWxhdGl2ZV92b2x1bWVfYWRqdXN0bWVudF90d28pOgoJICAqIGdzdFxsZXZlbFxnc3RsZXZlbC5jOiAoZ3N0X2xldmVsX3NldF9wcm9wZXJ0eSksIChnc3RfbGV2ZWxfdHJhbnNmb3JtX2lwKToKCSAgKiBnc3RcbWF0cm9za2FcbWF0cm9za2EtZGVtdXguYzogKGdzdF9tYXRyb3NrYV9kZW11eF9wYXJzZV9pbmZvKSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF92aWRlb19jYXBzKToKCSAgKiBnc3RcbWF0cm9za2FcbWF0cm9za2EtbXV4LmM6IChnc3RfbWF0cm9za2FfbXV4X3N0YXJ0KSwgKGdzdF9tYXRyb3NrYV9tdXhfZmluaXNoKToKCSAgKiBnc3Rcd2F2cGFyc2VcZ3N0d2F2cGFyc2UuYzogKGdzdF93YXZwYXJzZV9zdHJlYW1fZGF0YSk6CgkgIHVzZSBnc3RfZ3VpbnQ2NF90b19nZG91YmxlIGZvciBjb252ZXJzaW9ucwoJICAqIGdzdFxnb29tXGZpbHRlcnMuYzogKHNldFBpeGVsUkdCXyk6CgkgIGZpeCBhIGRlYnVnIHdoaWNoIHdhcyB1c2luZyB1bmRlZmluZWQgdmFyaWFibGUKCSAgKiBnc3RcbGV2ZWxcZ3N0bGV2ZWwuYzogKGdzdF9sZXZlbF9zZXRfY2FwcyksIChnc3RfbGV2ZWxfdHJhbnNmb3JtX2lwKToKCSAgKiBnc3RcbWF0cm9za2FcZWJtbC1yZWFkLmM6IChnc3RfZWJtbF9yZWFkX3NpbnQpOgoJICByZXBsYWNlIExMIHN1ZmZpeCB3aXRoIEwgc3VmZml4IChMTCBpc24ndCBzdXBwb3J0ZWQgYnkgTVNWQzYuMCkKCSAgKiB3aW4zMi92czY6CgkgIGFkZCB2czYgcHJvamVjdHMgZmlsZXMgZm9yIG1vc3Qgb2YgcGx1Z2lucy1nb29kCgoyMDA2LTAzLTMwIDE1OjM3OjA1ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgYmV0dGVyL3VuaWZpZWQgbG9uZyBkZXNjcmlwdGlvbnMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2FhbGliL2dzdGFhc2luay5jOgoJICAqIGV4dC9hbm5vZGV4L2dzdGNtbWxkZWMuYzoKCSAgKiBleHQvYW5ub2RleC9nc3RjbW1sZW5jLmM6CgkgICogZXh0L2NhaXJvL2dzdHRleHRvdmVybGF5LmM6CgkgICogZXh0L2NhaXJvL2dzdHRpbWVvdmVybGF5LmM6CgkgICogZXh0L2NkaW8vZ3N0Y2Rpb2NkZGFzcmMuYzoKCSAgKiBleHQvZHYvZ3N0ZHZkZWMuYzoKCSAgKiBleHQvZXNkL2VzZG1vbi5jOgoJICAqIGV4dC9lc2QvZXNkc2luay5jOgoJICAqIGV4dC9mbGFjL2dzdGZsYWNkZWMuYzoKCSAgKiBleHQvZmxhYy9nc3RmbGFjZW5jLmM6CgkgICogZXh0L2ZsYWMvZ3N0ZmxhY3RhZy5jOgoJICAqIGV4dC9nY29uZi9nc3RnY29uZmF1ZGlvc2luay5jOiAoZ3N0X2djb25mX2F1ZGlvX3NpbmtfYmFzZV9pbml0KToKCSAgKiBleHQvZ2NvbmYvZ3N0Z2NvbmZhdWRpb3NyYy5jOiAoZ3N0X2djb25mX2F1ZGlvX3NyY19iYXNlX2luaXQpOgoJICAqIGV4dC9nY29uZi9nc3RnY29uZnZpZGVvc2luay5jOiAoZ3N0X2djb25mX3ZpZGVvX3NpbmtfYmFzZV9pbml0KToKCSAgKiBleHQvZ2NvbmYvZ3N0Z2NvbmZ2aWRlb3NyYy5jOiAoZ3N0X2djb25mX3ZpZGVvX3NyY19iYXNlX2luaXQpOgoJICAqIGV4dC9nZGtfcGl4YnVmL2dzdGdka3BpeGJ1Zi5jOgoJICAqIGV4dC9nZGtfcGl4YnVmL3BpeGJ1ZnNjYWxlLmM6CgkgICogZXh0L2hhbC9nc3RoYWxhdWRpb3NpbmsuYzogKGdzdF9oYWxfYXVkaW9fc2lua19iYXNlX2luaXQpOgoJICAqIGV4dC9oYWwvZ3N0aGFsYXVkaW9zcmMuYzogKGdzdF9oYWxfYXVkaW9fc3JjX2Jhc2VfaW5pdCk6CgkgICogZXh0L2pwZWcvZ3N0anBlZ2RlYy5jOgoJICAqIGV4dC9qcGVnL2dzdGpwZWdlbmMuYzoKCSAgKiBleHQvanBlZy9nc3RzbW9rZWRlYy5jOgoJICAqIGV4dC9qcGVnL2dzdHNtb2tlZW5jLmM6CgkgICogZXh0L2xpYmNhY2EvZ3N0Y2FjYXNpbmsuYzoKCSAgKiBleHQvbGlibW5nL2dzdG1uZ2RlYy5jOgoJICAqIGV4dC9saWJtbmcvZ3N0bW5nZW5jLmM6CgkgICogZXh0L2xpYnBuZy9nc3RwbmdkZWMuYzoKCSAgKiBleHQvbGlicG5nL2dzdHBuZ2VuYy5jOgoJICAqIGV4dC9taWttb2QvZ3N0bWlrbW9kLmM6CgkgICogZXh0L3JhdzEzOTQvZ3N0ZHYxMzk0c3JjLmM6CgkgICogZXh0L3Nob3V0Mi9nc3RzaG91dDIuYzoKCSAgKiBleHQvc3BlZXgvZ3N0c3BlZXhkZWMuYzoKCSAgKiBleHQvc3BlZXgvZ3N0c3BlZXhlbmMuYzoKCSAgKiBnc3QvYWxwaGEvZ3N0YWxwaGEuYzoKCSAgKiBnc3QvYWxwaGEvZ3N0YWxwaGFjb2xvci5jOgoJICAqIGdzdC9hdXBhcnNlL2dzdGF1cGFyc2UuYzoKCSAgKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvYXVkaW9zaW5rLmM6CgkgIChnc3RfYXV0b19hdWRpb19zaW5rX2Jhc2VfaW5pdCk6CgkgICogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b3ZpZGVvc2luay5jOgoJICAoZ3N0X2F1dG9fdmlkZW9fc2lua19iYXNlX2luaXQpOgoJICAqIGdzdC9hdmkvZ3N0YXZpbXV4LmM6IChnc3RfYXZpbXV4X2Jhc2VfaW5pdCk6CgkgICogZ3N0L2N1dHRlci9nc3RjdXR0ZXIuYzoKCSAgKiBnc3QvZGVidWcvYnJlYWtteWRhdGEuYzoKCSAgKiBnc3QvZGVidWcvZWZlbmNlLmM6CgkgICogZ3N0L2RlYnVnL2dzdG5hdmlnYXRpb250ZXN0LmM6CgkgICogZ3N0L2RlYnVnL25lZ290aWF0aW9uLmM6CgkgICogZ3N0L2RlYnVnL3Byb2dyZXNzcmVwb3J0LmM6CgkgICogZ3N0L2RlYnVnL3Rlc3RwbHVnaW4uYzoKCSAgKiBnc3QvZWZmZWN0di9nc3RhZ2luZy5jOgoJICAqIGdzdC9lZmZlY3R2L2dzdGRpY2UuYzoKCSAgKiBnc3QvZWZmZWN0di9nc3RlZGdlLmM6CgkgICogZ3N0L2VmZmVjdHYvZ3N0cXVhcmsuYzoKCSAgKiBnc3QvZWZmZWN0di9nc3RyZXYuYzoKCSAgKiBnc3QvZWZmZWN0di9nc3R2ZXJ0aWdvLmM6CgkgICogZ3N0L2VmZmVjdHYvZ3N0d2FycC5jOgoJICAqIGdzdC9mbHgvZ3N0Zmx4ZGVjLmM6CgkgICogZ3N0L2dvb20vZ3N0Z29vbS5jOgoJICAqIGdzdC9pbnRlcmxlYXZlL2RlaW50ZXJsZWF2ZS5jOgoJICAqIGdzdC9pbnRlcmxlYXZlL2ludGVybGVhdmUuYzoKCSAgKiBnc3QvbGF3L2FsYXctZGVjb2RlLmM6IChnc3RfYWxhd2RlY19iYXNlX2luaXQpOgoJICAqIGdzdC9sYXcvYWxhdy1lbmNvZGUuYzogKGdzdF9hbGF3ZW5jX2Jhc2VfaW5pdCk6CgkgICogZ3N0L2xhdy9tdWxhdy1kZWNvZGUuYzogKGdzdF9tdWxhd2RlY19iYXNlX2luaXQpOgoJICAqIGdzdC9sYXcvbXVsYXctZW5jb2RlLmM6IChnc3RfbXVsYXdlbmNfYmFzZV9pbml0KToKCSAgKiBnc3QvbGV2ZWwvZ3N0bGV2ZWwuYzoKCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzogKGdzdF9tYXRyb3NrYV9kZW11eF9iYXNlX2luaXQpOgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzogKGdzdF9tYXRyb3NrYV9tdXhfYmFzZV9pbml0KToKCSAgKiBnc3QvbWVkaWFuL2dzdG1lZGlhbi5jOgoJICAqIGdzdC9tb25vc2NvcGUvZ3N0bW9ub3Njb3BlLmM6CgkgICogZ3N0L211bHRpcGFydC9tdWx0aXBhcnRkZW11eC5jOgoJICAqIGdzdC9tdWx0aXBhcnQvbXVsdGlwYXJ0bXV4LmM6CgkgICogZ3N0L29sZGNvcmUvZ3N0bWQ1c2luay5jOgoJICAqIGdzdC9vbGRjb3JlL2dzdG11bHRpZmlsZXNyYy5jOgoJICAqIGdzdC9vbGRjb3JlL2dzdHBpcGVmaWx0ZXIuYzoKCSAgKiBnc3Qvb2xkY29yZS9nc3RzaGFwZXIuYzoKCSAgKiBnc3Qvb2xkY29yZS9nc3RzdGF0aXN0aWNzLmM6CgkgICogZ3N0L3J0cC9nc3Rhc3Rlcmlza2gyNjMuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cEwxNmRlcGF5LmM6CgkgICogZ3N0L3J0cC9nc3RydHBMMTZwYXkuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cGFtcmRlcGF5LmM6CgkgICogZ3N0L3J0cC9nc3RydHBhbXJwYXkuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cGRlcGF5LmM6CgkgICogZ3N0L3J0cC9nc3RydHBnc21wYXkuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cGgyNjNwYXkuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cGgyNjNwZGVwYXkuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cGgyNjNwcGF5LmM6CgkgICogZ3N0L3J0cC9nc3RydHBtcDRncGF5LmM6CgkgICogZ3N0L3J0cC9nc3RydHBtcDR2ZGVwYXkuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cG1wNHZwYXkuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cG1wYWRlcGF5LmM6CgkgICogZ3N0L3J0cC9nc3RydHBtcGFwYXkuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cHBjbWFkZXBheS5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwcGNtYXBheS5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwcGNtdWRlcGF5LmM6CgkgICogZ3N0L3J0cC9nc3RydHBwY211cGF5LmM6CgkgICogZ3N0L3J0cC9nc3RydHBzcGVleGRlcGF5LmM6CgkgICogZ3N0L3J0cC9nc3RydHBzcGVleHBheS5jOgoJICAqIGdzdC9ydHNwL2dzdHJ0cGRlYy5jOgoJICAqIGdzdC9zbXB0ZS9nc3RzbXB0ZS5jOgoJICAqIGdzdC92aWRlb2JveC9nc3R2aWRlb2JveC5jOgoJICAqIGdzdC92aWRlb2ZpbHRlci9nc3RnYW1tYS5jOiAoZ3N0X2dhbW1hX2Jhc2VfaW5pdCk6CgkgICogZ3N0L3ZpZGVvZmlsdGVyL2dzdHZpZGVvYmFsYW5jZS5jOgoJICAqIGdzdC92aWRlb2ZpbHRlci9nc3R2aWRlb2ZsaXAuYzoKCSAgKiBnc3QvdmlkZW9maWx0ZXIvZ3N0dmlkZW90ZW1wbGF0ZS5jOgoJICAoZ3N0X3ZpZGVvdGVtcGxhdGVfYmFzZV9pbml0KToKCSAgKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyLmM6CgkgICogZ3N0L3dhdmVuYy9nc3R3YXZlbmMuYzoKCSAgKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzogKGdzdF93YXZwYXJzZV9iYXNlX2luaXQpOgoJICBiZXR0ZXIvdW5pZmllZCBsb25nIGRlc2NyaXB0aW9ucwoJICBGaXhlZCAjMzM2NjAyCgkgIFNvbWUgY2xlYW51cHMgdG8gYXVwYXJzZSwgZG9uJ3Qgc2VuZCBtdWx0aXBsZSBuZXdzZWdtZW50cy4KCjIwMDYtMDMtMjkgMTY6MDY6NTAgKzAwMDAgIE1pY2hhZWwgRG9taW5pYyBLIDxtZGtAbWRrLm9yZy5wbD4KCgkgIGV4dC9kdi9nc3RkdmRlbXV4Lio6IFNlZWsgaW4gUkVBRFkgcGF0Y2guIE9ubHkgd29ya3MgZm9yIHB1bGwgYmFzZWQgbW9kZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEZyb20gYSBwYXRjaCBieTogTWljaGFlbCBEb21pbmljIEsuIDxtZGsgYXQgbWRrIGRvdCBvcmcgZG90IHBsPgoJICAqIGV4dC9kdi9nc3RkdmRlbXV4LmM6IChnc3RfZHZkZW11eF9jbGFzc19pbml0KSwKCSAgKGdzdF9kdmRlbXV4X3Jlc2V0KSwgKGdzdF9kdmRlbXV4X3NyY19jb252ZXJ0KSwKCSAgKGdzdF9kdmRlbXV4X3NlbmRfZXZlbnQpLCAoZ3N0X2R2ZGVtdXhfZmx1c2gpLCAoZ3N0X2R2ZGVtdXhfbG9vcCksCgkgIChnc3RfZHZkZW11eF9zaW5rX2FjdGl2YXRlX3B1bGwpLCAoZ3N0X2R2ZGVtdXhfY2hhbmdlX3N0YXRlKToKCSAgKiBleHQvZHYvZ3N0ZHZkZW11eC5oOgoJICBTZWVrIGluIFJFQURZIHBhdGNoLiBPbmx5IHdvcmtzIGZvciBwdWxsIGJhc2VkIG1vZGUuCgkgIEZpeGVzICMzMjM4ODAKCjIwMDYtMDMtMjcgMTc6MDY6NDUgKzAwMDAgIEVkZ2FyZCBMaW1hIDxlZGdhcmQubGltYUBpbmR0Lm9yZy5icj4KCgkqIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuYzoKCSAgU21hbGwgZml4LCBub3cgcHdjIGRyaXZlciBjYW4gdGVsbCBhYm91dCBpdHMgYnVmZmVycy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFNtYWxsIGZpeCwgbm93IHB3YyBkcml2ZXIgY2FuIHRlbGwgYWJvdXQgaXRzIGJ1ZmZlcnMuCgoyMDA2LTAzLTI3IDE0OjA5OjE4ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L2dka19waXhidWYvZ3N0Z2RrcGl4YnVmLmM6IEZpeCB0d28gY3Jhc2hlcnM6IGRvbid0IHVucmVmIHRoZSBzYW1lIGNhcHMgdHdpY2UsIGFuZCBzZXQgcGl4YnVmIGxvYWRlciB0byBOVUxMIGFmdGVyLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9nZGtfcGl4YnVmL2dzdGdka3BpeGJ1Zi5jOiAoZ3N0X2dka19waXhidWZfZmx1c2gpLAoJICAoZ3N0X2dka19waXhidWZfZXZlbnQpOgoJICBGaXggdHdvIGNyYXNoZXJzOiBkb24ndCB1bnJlZiB0aGUgc2FtZSBjYXBzIHR3aWNlLCBhbmQKCSAgc2V0IHBpeGJ1ZiBsb2FkZXIgdG8gTlVMTCBhZnRlciBmcmVlaW5nIGl0LgoKMjAwNi0wMy0yNyAxNDowMDowMiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGV4dC9zcGVleC9nc3RzcGVleGVuYy4qOiBEb24ndCBsZWFrIGFkYXB0ZXIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9zcGVleC9nc3RzcGVleGVuYy5jOiAoZ3N0X3NwZWV4ZW5jX2NsYXNzX2luaXQpLAoJICAoZ3N0X3NwZWV4ZW5jX2ZpbmFsaXplKSwgKGdzdF9zcGVleGVuY19zaW5rX3NldGNhcHMpLAoJICAoZ3N0X3NwZWV4ZW5jX2NoYWluKToKCSAgKiBleHQvc3BlZXgvZ3N0c3BlZXhlbmMuaDoKCSAgRG9uJ3QgbGVhayBhZGFwdGVyLgoJICBBIHB1c2ggKmFsd2F5cyogdGFrZXMgb3duZXJzaGlwIG9mIHRoZSBidWZmZXIsIGV2ZW4gb24KCSAgZXJyb3JzLgoJICBTbWFsbCBjbGVhbnVwcy4KCjIwMDYtMDMtMjYgMTk6NTY6MzcgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvdGFnbGliL2dzdHRhZ2xpYi4qOiBGaXggbmV3c2VnbWVudCBldmVudCBoYW5kbGluZyBhIGJpdC4gV2UgbmVlZCB0byBjYWNoZSB0aGUgZmlyc3QgbmV3c2VnbWVudCBldmVudCwgYmVjYXVzZSB3ZSAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3RhZ2xpYi9nc3R0YWdsaWIuY2M6CgkgICogZXh0L3RhZ2xpYi9nc3R0YWdsaWIuaDoKCSAgRml4IG5ld3NlZ21lbnQgZXZlbnQgaGFuZGxpbmcgYSBiaXQuIFdlIG5lZWQgdG8KCSAgY2FjaGUgdGhlIGZpcnN0IG5ld3NlZ21lbnQgZXZlbnQsIGJlY2F1c2Ugd2UgY2FuJ3QKCSAgYWRqdXN0IG9mZnNldHMgeWV0IHdoZW4gd2UgZ2V0IGl0LCBhcyB3ZSBkb24ndAoJICBrbm93IHRoZSBzaXplIG9mIHRoZSB0YWcgeWV0IGZvciBzdXJlIGF0IHRoYXQgcG9pbnQuCgkgIEFsc28gZG8gc29tZSBtaW5vciBjbGVhbmluZyB1cCBoZXJlIGFuZCB0aGVyZSBhbmQgYWRkCgkgIHNvbWUgZGVidWcgc3RhdGVtZW50cy4KCjIwMDYtMDMtMjYgMTI6MjQ6NTYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvaWQzZGVtdXgvZ3N0aWQzZGVtdXguYzogQ3JlYXRlIHNvdXJjZSBwYWQgd2l0aG91dCBsZWFraW5nLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvaWQzZGVtdXgvZ3N0aWQzZGVtdXguYzogKGdzdF9pZDNkZW11eF9hZGRfc3JjcGFkKToKCSAgQ3JlYXRlIHNvdXJjZSBwYWQgd2l0aG91dCBsZWFraW5nLgoKMjAwNi0wMy0yNSAyMTo1NzoyNCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC90YWdsaWIvZ3N0dGFnbGliLmNjOiBXZSBkbyBub3Qgd2FudCB0byBwcm94eSB0aGUgY2FwcyBvbiB0aGUgc2luayBwYWQ7IG91ciBzb3VyY2UgcGFkIHNob3VsZCBoYXZlIGFwcGxpY2F0aW9uL3gtaS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvdGFnbGliL2dzdHRhZ2xpYi5jYzoKCSAgV2UgZG8gbm90IHdhbnQgdG8gcHJveHkgdGhlIGNhcHMgb24gdGhlIHNpbmsgcGFkOyBvdXIKCSAgc291cmNlIHBhZCBzaG91bGQgaGF2ZSBhcHBsaWNhdGlvbi94LWlkMyBjYXBzOyBhbHNvLAoJICBkb24ndCB1c2UgYWxyZWFkeS1mcmVlZCBzdHJpbmdzIGluIGRlYnVnIG1lc3NhZ2VzOwoJICBmaW5hbGx5LCBhZGp1c3QgYnVmZmVyIG9mZnNldHMgb24gYnVmZmVycyBzZW50IG91dC4KCjIwMDYtMDMtMjUgMTM6MDI6NTUgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6IE9sZGVyIGtlcm5lbHMgZG9uJ3Qgc2VlbSB0byBoYXZlIHRoaXMgcGFydGljdWxhciB2NGwyIGZvcm1hdCwgc28gY29tbWVudCBvdXQgdW50aWwgdGhpcyBnZXRzIGYuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJICBPbGRlciBrZXJuZWxzIGRvbid0IHNlZW0gdG8gaGF2ZSB0aGlzIHBhcnRpY3VsYXIgdjRsMiBmb3JtYXQsCgkgIHNvIGNvbW1lbnQgb3V0IHVudGlsIHRoaXMgZ2V0cyBmaXhlZCBwcm9wZXJseSAoYW5kIG1ha2UKCSAgYnVpbGRib3RzIGhhcHB5KS4KCjIwMDYtMDMtMjUgMDU6MzE6MjggKzAwMDAgIEVkZ2FyZCBMaW1hIDxlZGdhcmQubGltYUBpbmR0Lm9yZy5icj4KCgkqIGNvbW1vbjoKCSogc3lzL3Y0bDIvZ3N0djRsMmNvbG9yYmFsYW5jZS5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyY29sb3JiYWxhbmNlLmg6CgkqIHN5cy92NGwyL2dzdHY0bDJlbGVtZW50LmM6CgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5oOgoJKiBzeXMvdjRsMi9nc3R2NGwydHVuZXIuYzoKCSogc3lzL3Y0bDIvdjRsMl9jYWxscy5jOgoJKiBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmM6CgkqIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuaDoKCSAgSnVzdCBtYWtlIGZldyB0aGluZ3MgbW9yZSByb2J1c3QgYW5kIGFsc28gc29tZSBpZGVudGF0aW9uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgSnVzdCBtYWtlIGZldyB0aGluZ3MgbW9yZSByb2J1c3QgYW5kIGFsc28gc29tZSBpZGVudGF0aW9uLgoKMjAwNi0wMy0yNCAxOTo0MTowMyArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGV4dC9mbGFjLzogU3BpZmlmeSBhIGJpdC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5jOiAoZ3N0X2ZsYWNfZGVjX2hhbmRsZV9zZWVrX2V2ZW50KToKCSAgKiBleHQvZmxhYy9nc3RmbGFjZGVjLmg6CgkgICogZXh0L2ZsYWMvZ3N0ZmxhY2VuYy5oOgoJICBTcGlmaWZ5IGEgYml0LgoJICBGaXggZGVhZGx5IGxvY2sgb3JkZXIgZXJyb3IgaW4gc2Vla2luZyBjb2RlLCBTVFJFQU1fTE9DSwoJICBjYW5ub3QgYmUgdGFrZW4gd2l0aGluIExPQ0sgYW5kIHRoZSBzdHJlYW1pbmcgdmFyaWFibGVzIGFyZQoJICBwcm90ZWN0ZWQgd2l0aCB0aGUgU1RSRUFNX0xPQ0sgYW55d2F5LgoKMjAwNi0wMy0yNCAxODo1NjoxNiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzogdGhpcyBwYXRjaCBjb21iaW5lcyB0aGUgZ2xvYmFsIGluaXRfZnJhbWVzIHdpdGggdGhlIHN0cmVhbSBpbml0X2ZyYW1lcy4gUmF0aW9uYWxlIGJlaW5nIHRoYXQgdC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6IChnc3RfYXZpX2RlbXV4X3BhcnNlX2luZGV4KSwKCSAgKGdzdF9hdmlfZGVtdXhfc3RyZWFtX2luZGV4KSwgKGdzdF9hdmlfZGVtdXhfc3RyZWFtX3NjYW4pLAoJICAoZ3N0X2F2aV9kZW11eF9tYXNzYWdlX2luZGV4KSwgKGdzdF9hdmlfZGVtdXhfaGFuZGxlX3NlZWspOgoJICB0aGlzIHBhdGNoIGNvbWJpbmVzIHRoZSBnbG9iYWwgaW5pdF9mcmFtZXMgd2l0aCB0aGUgc3RyZWFtCgkgIGluaXRfZnJhbWVzLiBSYXRpb25hbGUgYmVpbmcgdGhhdCB0aGUgZ2xvYmFsIGRlbGF5IHNob3VsZAoJICBiZSBzdWJ0cmFjdGVkIGZyb20gYW55IHN0cmVhbSBkZWxheS4KCSAgRml4ZXMgIzMzNTg1OC4KCjIwMDYtMDMtMjQgMTc6MTE6NTYgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC86IHVzZSBERUJVR19GVU5DUFRSIGZvciBjb2xsZWN0cGFkcwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6IChnc3RfbWF0cm9za2FfbXV4X2luaXQpOgoJICAqIGdzdC9tdWx0aXBhcnQvbXVsdGlwYXJ0bXV4LmM6IChnc3RfbXVsdGlwYXJ0X211eF9pbml0KToKCSAgKiBnc3Qvc21wdGUvZ3N0c21wdGUuYzogKGdzdF9zbXB0ZV9pbml0KToKCSAgKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyLmM6IChnc3RfdmlkZW9taXhlcl9pbml0KToKCSAgdXNlIERFQlVHX0ZVTkNQVFIgZm9yIGNvbGxlY3RwYWRzCgoyMDA2LTAzLTI0IDA5OjU0OjAwICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L2pwZWcvZ3N0anBlZ2VuYy5jOiBEb24ndCBjcmFzaCB3aGVuIGVuY29kaW5nIGltYWdlcyB3aGVyZSB0aGUgbnVtYmVyIG9mIHJvd3MgaXNuJ3QgYSBtdWx0aXBsZSBvZiAyKkRDVFNJWkUuIEFkZCBzLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9qcGVnL2dzdGpwZWdlbmMuYzogKGdzdF9qcGVnZW5jX2luaXQpLCAoZ3N0X2pwZWdlbmNfY2hhaW4pOgoJICBEb24ndCBjcmFzaCB3aGVuIGVuY29kaW5nIGltYWdlcyB3aGVyZSB0aGUgbnVtYmVyIG9mIHJvd3MgaXNuJ3QKCSAgYSBtdWx0aXBsZSBvZiAyKkRDVFNJWkUuIEFkZCBzb21lIEdTVF9ERUJVR19GVU5DUFRSLgoKMjAwNi0wMy0yMyAyMToyODowNiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIE1vcmUgc3RhdGUgY2hhbmdlIGZ1bmN0aW9uIGZpeGVzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvc3BlZXgvZ3N0c3BlZXhkZWMuYzogKHNwZWV4X2RlY19jaGFuZ2Vfc3RhdGUpOgoJICAqIGdzdC9pbnRlcmxlYXZlL2RlaW50ZXJsZWF2ZS5jOiAoZGVpbnRlcmxlYXZlX2NoYW5nZV9zdGF0ZSk6CgkgICogZ3N0L2ludGVybGVhdmUvaW50ZXJsZWF2ZS5jOiAoaW50ZXJsZWF2ZV9jaGFuZ2Vfc3RhdGUpOgoJICAqIGdzdC93YXZlbmMvZ3N0d2F2ZW5jLmM6IChnc3Rfd2F2ZW5jX2NoYW5nZV9zdGF0ZSk6CgkgIE1vcmUgc3RhdGUgY2hhbmdlIGZ1bmN0aW9uIGZpeGVzLgoKMjAwNi0wMy0yMyAyMDoxMjo0NyArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGV4dC9lc2QvZXNkc2luay4qOiBGaXggZXNkIGNob3BweSBwbGF5YmFjayBieSBjb25maWd1cmluZyBhdWRpb3NpbmsgY29ycmVjdGx5LiBGaXhlcyAjMzI1MTkxCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9lc2QvZXNkc2luay5jOiAoZ3N0X2VzZHNpbmtfY2xhc3NfaW5pdCksCgkgIChnc3RfZXNkc2lua19nZXRjYXBzKSwgKGdzdF9lc2RzaW5rX29wZW4pLCAoZ3N0X2VzZHNpbmtfY2xvc2UpLAoJICAoZ3N0X2VzZHNpbmtfcHJlcGFyZSksIChnc3RfZXNkc2lua191bnByZXBhcmUpLAoJICAoZ3N0X2VzZHNpbmtfZGVsYXkpLCAoZ3N0X2VzZHNpbmtfcmVzZXQpOgoJICAqIGV4dC9lc2QvZXNkc2luay5oOgoJICBGaXggZXNkIGNob3BweSBwbGF5YmFjayBieSBjb25maWd1cmluZyBhdWRpb3NpbmsKCSAgY29ycmVjdGx5LiBGaXhlcyAjMzI1MTkxCgoyMDA2LTAzLTIzIDE5OjU3OjM0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L2xpYnBuZy9nc3RwbmdkZWMuYzogTWFrZSBzdGF0ZSBjaGFuZ2UgZnVuY3Rpb24gdGhyZWFkLXNhZmUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9saWJwbmcvZ3N0cG5nZGVjLmM6IChnc3RfcG5nZGVjX2NoYW5nZV9zdGF0ZSk6CgkgIE1ha2Ugc3RhdGUgY2hhbmdlIGZ1bmN0aW9uIHRocmVhZC1zYWZlLgoKMjAwNi0wMy0yMyAxNjo1MDozMiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOiBEb24ndCB0cnkgdG8gcmVhZCBiZXlvbmQgdGhlIGVuZCBvZiB0aGUgZmlsZSBqdXN0IGJlY2F1c2UgdGhlIGhlYWRlciBjbGFpbXMgYSBiaWdnZXIgc2l6ZS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzogKGdzdF93YXZwYXJzZV9nZXRfdXBzdHJlYW1fc2l6ZSksCgkgIChnc3Rfd2F2cGFyc2Vfc3RyZWFtX2hlYWRlcnMpLCAoZ3N0X3dhdnBhcnNlX3N0cmVhbV9kYXRhKToKCSAgRG9uJ3QgdHJ5IHRvIHJlYWQgYmV5b25kIHRoZSBlbmQgb2YgdGhlIGZpbGUganVzdCBiZWNhdXNlCgkgIHRoZSBoZWFkZXIgY2xhaW1zIGEgYmlnZ2VyIHNpemUgKGxpa2Ugd2l0aCB0cnVuY2F0ZWQgZmlsZXMpLgoKMjAwNi0wMy0yMyAxNTozNjoyNyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS4qOiBEZWxheSBzb3VyY2UgcGFkIGNyZWF0aW9uIHVudGlsIHdlIGhhdmUgdGhlIGZpcnN0IGNodW5rIG9mIG1lZGlhIGRhdGEsIHNvIHRoZSB3ZSBjYW4gZXhhbS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzogKGdzdF93YXZwYXJzZV9wZXJmb3JtX3NlZWspLAoJICAoZ3N0X3dhdnBhcnNlX3N0cmVhbV9oZWFkZXJzKSwgKGdzdF93YXZwYXJzZV9hZGRfc3JjX3BhZCksCgkgIChnc3Rfd2F2cGFyc2Vfc3RyZWFtX2RhdGEpLCAoZ3N0X3dhdnBhcnNlX2xvb3ApOgoJICAqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5oOgoJICBEZWxheSBzb3VyY2UgcGFkIGNyZWF0aW9uIHVudGlsIHdlIGhhdmUgdGhlIGZpcnN0IGNodW5rIG9mCgkgIG1lZGlhIGRhdGEsIHNvIHRoZSB3ZSBjYW4gZXhhbWluZSB0aGUgZGF0YSBhbmQgYWRqdXN0IHRoZQoJICBjYXBzIGFjY29yZGluZ2x5IGlmIHJlcXVpcmVkLiBUaGlzIG1ha2VzIHBsYXliYWNrIG9mIC53YXYKCSAgZmlsZXMgd2l0aCBEVFMtZGVjbGFyZWQtYXMtUENNIGNvbnRlbnQgd29yayAoIzMxMzI2NikuCgoyMDA2LTAzLTIyIDE5OjUwOjU2ICswMDAwICBDaHJpc3RpYW4gU2NoYWxsZXIgPHVyYWV1c0Bnbm9tZS5vcmc+CgoJKiBnc3QtcGx1Z2lucy1nb29kLnNwZWMuaW46CgkgIGFkZCB2aWRlb2JhbGFuY2UgcGx1Z24KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGFkZCB2aWRlb2JhbGFuY2UgcGx1Z24KCjIwMDYtMDMtMjIgMTM6MDI6MTEgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSogQ2hhbmdlTG9nOgoJICBtZW50aW9uIGZpeGVkIGJ1ZyBudW1iZXIgaW4gdGhlIGNoYW5nZWxvZwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgbWVudGlvbiBmaXhlZCBidWcgbnVtYmVyIGluIHRoZSBjaGFuZ2Vsb2cKCjIwMDYtMDMtMjIgMTM6MDA6MzQgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgZ3N0LzogRG9uJ3QgYXR0ZW1wdCB0eXBlZmluZGluZyBvbiB0b28tc2hvcnQgYnVmZmVycyB0aGF0IGhhdmUgYmVlbiBjb21wbGV0ZWx5IHRyaW1tZWQgYXdheS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2FwZXRhZy9nc3R0YWdkZW11eC5jOiAoZ3N0X3RhZ19kZW11eF9jaGFpbik6CgkgICogZ3N0L2lkM2RlbXV4L2dzdGlkM2RlbXV4LmM6IChnc3RfaWQzZGVtdXhfY2hhaW4pOgoJICBEb24ndCBhdHRlbXB0IHR5cGVmaW5kaW5nIG9uIHRvby1zaG9ydCBidWZmZXJzIHRoYXQgaGF2ZSBiZWVuCgkgIGNvbXBsZXRlbHkgdHJpbW1lZCBhd2F5LgoJICAqIGdzdC9pZDNkZW11eC9pZDN0YWdzLmM6IChpZDNkZW11eF9yZWFkX2lkM3YyX3RhZyk6CgkgIEltcHJvdmUgdGhlIGRlYnVnIG91dHB1dAoKMjAwNi0wMy0yMSAxODoxMjo1OSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGV4dC9lc2QvZXNkc2luay5jOiBTb21lIGNsZWFudXBzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZXNkL2VzZHNpbmsuYzogKGdzdF9lc2RzaW5rX2NsYXNzX2luaXQpLCAoZ3N0X2VzZHNpbmtfaW5pdCksCgkgIChnc3RfZXNkc2lua19maW5hbGl6ZSksIChnc3RfZXNkc2lua19nZXRjYXBzKSwgKGdzdF9lc2RzaW5rX29wZW4pLAoJICAoZ3N0X2VzZHNpbmtfY2xvc2UpLCAoZ3N0X2VzZHNpbmtfcHJlcGFyZSksIChnc3RfZXNkc2lua193cml0ZSksCgkgIChnc3RfZXNkc2lua19zZXRfcHJvcGVydHkpLCAoZ3N0X2VzZHNpbmtfZ2V0X3Byb3BlcnR5KToKCSAgU29tZSBjbGVhbnVwcy4KCSAgUmVzZXQgZmQgdG8gLTEgd2hlbiB3ZSBjbG9zZSB0aGVtLgoKMjAwNi0wMy0yMSAxNjoxOTozNyArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogdGhlIE9QVElPTlMgcmVxdWVzdCByZXN1bHQgaXMgb3B0aW9uYWwgc28gZG9uJ3QgZmFpbCBvbiBpdC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiAoZ3N0X3J0c3BzcmNfb3Blbik6CgkgIHRoZSBPUFRJT05TIHJlcXVlc3QgcmVzdWx0IGlzIG9wdGlvbmFsIHNvIGRvbid0CgkgIGZhaWwgb24gaXQuCgoyMDA2LTAzLTIxIDE0OjUzOjM2ICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgZ3N0LzogZ2NjIDQuMSB1bnJlZmVyZW5jZWQgcG9pbnRlciBmaXhlcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2FwZXRhZy9nc3R0YWdkZW11eC5jOiAoZ3N0X3RhZ19kZW11eF9yZXNldCk6CgkgICogZ3N0L2lkM2RlbXV4L2dzdGlkM2RlbXV4LmM6IChnc3RfaWQzZGVtdXhfcmVzZXQpOgoJICAqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOiAoZ3N0X3dhdnBhcnNlX2NyZWF0ZV9zb3VyY2VwYWQpLAoJICAoZ3N0X3dhdnBhcnNlX3N0cmVhbV9oZWFkZXJzKSwgKGdzdF93YXZwYXJzZV9zZW5kX2V2ZW50KSwKCSAgKGdzdF93YXZwYXJzZV9jaGFuZ2Vfc3RhdGUpOgoJICBnY2MgNC4xIHVucmVmZXJlbmNlZCBwb2ludGVyIGZpeGVzLgoKMjAwNi0wMy0yMSAxMzowNzozMSArMDAwMCAgVG9tbWkgTXnDtmjDpG5lbiA8ZXh0LXRvbW1pLm15b2hhbmVuQG5va2lhLmNvbT4KCgkgIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOiBGaXggYmxvY2sgYWxpZ25tZW50IGNhbGN1bGF0aW9uLiBBbGlnbm1lbnQgc2hvdWxkIGJlIGRvbmUgYmVmb3JlIGFkZGluZyB0aGUgYnl0ZSBvZmZzZXQgdy4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFRvbW1pIE15w7Zow6RuZW4gIDxleHQtdG9tbWkgZG90IG15b2hhbmVuIGF0IG5va2lhIGRvdCBjb20+CgkgICogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6IChnc3Rfd2F2cGFyc2VfcGVyZm9ybV9zZWVrKToKCSAgRml4IGJsb2NrIGFsaWdubWVudCBjYWxjdWxhdGlvbi4gQWxpZ25tZW50IHNob3VsZCBiZSBkb25lIGJlZm9yZQoJICBhZGRpbmcgdGhlIGJ5dGUgb2Zmc2V0IHdoZXJlIHRoZSBkYXRhIHN0YXJ0cyAoIzMzNTIzMSkuCgoyMDA2LTAzLTIwIDE4OjM0OjIxICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGdzdC9tYXRyb3NrYS9lYm1sLXdyaXRlLmM6IEVuc3VyZSB0aGF0IHdlIHNldCBjb3JyZWN0IGNhcHMgb24gYnVmZmVycyB0aGF0IGFyZSB0cmFuc2ZlcnJlZCBkaXJlY3QgZnJvbSB0aGUgaW5wdXQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tYXRyb3NrYS9lYm1sLXdyaXRlLmM6IChnc3RfZWJtbF93cml0ZV9lbGVtZW50X3B1c2gpOgoJICBFbnN1cmUgdGhhdCB3ZSBzZXQgY29ycmVjdCBjYXBzIG9uIGJ1ZmZlcnMgdGhhdCBhcmUgdHJhbnNmZXJyZWQKCSAgZGlyZWN0IGZyb20gdGhlIGlucHV0LgoKMjAwNi0wMy0yMCAxNzozODo0OCArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBnc3QvZ29vbS86IEZyZWUgZmlsdGVyIGRhdGEgd2hlbiBjbGVhbmluZyB1cC4gKEZpeGVzOiAjMzM0OTk1KQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZ29vbS9maWx0ZXJzLmM6ICh6b29tRmlsdGVyRGVzdHJveSk6CgkgICogZ3N0L2dvb20vZ29vbV9jb3JlLmM6IChnb29tX2Nsb3NlKToKCSAgRnJlZSBmaWx0ZXIgZGF0YSB3aGVuIGNsZWFuaW5nIHVwLiAoRml4ZXM6ICMzMzQ5OTUpCgoyMDA2LTAzLTIwIDA4OjU5OjI5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L3RhZ2xpYi9nc3R0YWdsaWIuaDogRml4IGxlZnQtb3ZlciBnc3RfbXlfZmlsdGVyX2dldF90eXBlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvdGFnbGliL2dzdHRhZ2xpYi5oOgoJICBGaXggbGVmdC1vdmVyIGdzdF9teV9maWx0ZXJfZ2V0X3R5cGUuCgoyMDA2LTAzLTE3IDE2OjM0OjM2ICswMDAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSogc3lzL3hpbWFnZS9nc3R4aW1hZ2VzcmMuYzoKCSAgSGF2ZSBhIHNob3cgbW91c2UgcG9pbnRlciBwcm9wZXJ0eSBhbmQgdXNlIGl0IGlmIHdlIGNhbgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgSGF2ZSBhIHNob3cgbW91c2UgcG9pbnRlciBwcm9wZXJ0eSBhbmQgdXNlIGl0IGlmIHdlIGNhbgoKMjAwNi0wMy0xNyAxNTozMzowOCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGNvbmZpZ3VyZS5hYzogRG9uJ3QgY29tcGlsZSB1ZHAgYW5kIHJ0c3AgcGx1Z2lucyBvbiB3aW4zMiAobWluZ3cpIG9yIG90aGVyIHN5c3RlbXMgdGhhdCBkb24ndCBoYXZlIDxzeXMvc29ja2V0Lmg+IGZvci4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIERvbid0IGNvbXBpbGUgdWRwIGFuZCBydHNwIHBsdWdpbnMgb24gd2luMzIgKG1pbmd3KSBvciBvdGhlcgoJICBzeXN0ZW1zIHRoYXQgZG9uJ3QgaGF2ZSA8c3lzL3NvY2tldC5oPiBmb3Igc29tZSByZWFzb24gKCMzMTYyMDMpLgoKMjAwNi0wMy0xNiAxNzoyODowNyArMDAwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkqIENoYW5nZUxvZzoKCSogZXh0L3JhdzEzOTQvZ3N0ZHYxMzk0c3JjLmM6CgkqIGV4dC9yYXcxMzk0L2dzdGR2MTM5NHNyYy5oOgoJICBDaGFuZ2UgYnVzIHJlc2V0IGhhbmRsZXIgc28gaXQgcmVwb3J0cyB1c2VmdWwgaW5mb3JtYXRpb24gc3VjaCBhcyB3aGV0aGVyIHRoZSBkZXZpY2UgYmVpbmcgdXNlZCBjb25uZWN0ZWQgb3IgZGlzY29ubmUuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIENoYW5nZSBidXMgcmVzZXQgaGFuZGxlciBzbyBpdCByZXBvcnRzIHVzZWZ1bCBpbmZvcm1hdGlvbiBzdWNoIGFzCgkgIHdoZXRoZXIgdGhlIGRldmljZSBiZWluZyB1c2VkIGNvbm5lY3RlZCBvciBkaXNjb25uZWN0ZWQKCjIwMDYtMDMtMTYgMTY6MDY6MjIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvaWQzZGVtdXgvaWQzdjJmcmFtZXMuYzogV2Ugb25seSBjYXJlIGFib3V0IGdhaW4gYW5kIHBlYWsgZGF0YSBmb3IgdGhlIG1hc3RlciB2b2x1bWUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9pZDNkZW11eC9pZDN2MmZyYW1lcy5jOgoJICAocGFyc2VfcmVsYXRpdmVfdm9sdW1lX2FkanVzdG1lbnRfdHdvKToKCSAgV2Ugb25seSBjYXJlIGFib3V0IGdhaW4gYW5kIHBlYWsgZGF0YSBmb3IgdGhlIG1hc3RlciB2b2x1bWUuCgoyMDA2LTAzLTE2IDEzOjIyOjI4ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L2lkM2RlbXV4L2lkM3YyZnJhbWVzLmM6IFJlYWQgcmVwbGF5IGdhaW4gdGFncyAoIzMyMzcyMSkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9pZDNkZW11eC9pZDN2MmZyYW1lcy5jOiAoaWQzZGVtdXhfaWQzdjJfcGFyc2VfZnJhbWUpLAoJICAocGFyc2VfaWRfc3RyaW5nKSwgKHBhcnNlX3VuaXF1ZV9maWxlX2lkZW50aWZpZXIpLAoJICAocGFyc2VfcmVsYXRpdmVfdm9sdW1lX2FkanVzdG1lbnRfdHdvKSwgKGlkM3YyX3RhZ190b190YWdsaXN0KToKCSAgUmVhZCByZXBsYXkgZ2FpbiB0YWdzICgjMzIzNzIxKS4KCjIwMDYtMDMtMTUgMjM6MTk6MzAgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBjb25maWd1cmUuYWM6IEJ1bXAgcmVxdWlyZW1lbnRzIHRvIGdzdC1wbHVnaW5zLWJhc2UgQ1ZTIGJlY2F1c2Ugb2YgYnVnZ3kgZ3N0X3RhZ19mcm9tX2lkM191c2VyX3RhZygpIGluIDAuMTAuNS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICBCdW1wIHJlcXVpcmVtZW50cyB0byBnc3QtcGx1Z2lucy1iYXNlIENWUyBiZWNhdXNlCgkgIG9mIGJ1Z2d5IGdzdF90YWdfZnJvbV9pZDNfdXNlcl90YWcoKSBpbiAwLjEwLjUuCgoyMDA2LTAzLTE1IDIyOjMwOjI0ICswMDAwICBQaGlsaXBwZSBLYWxhZiA8cGhpbGlwcGUua2FsYWZAY29sbGFib3JhLmNvLnVrPgoKCSogQ2hhbmdlTG9nOgoJKiBnc3QvcnRwL2dzdHJ0cHBjbWFkZXBheS5jOgoJICBGaXhlZCBvbmUgb2YgdGhlIGNhcHMgaW4gdGhlIGNvZGUgZnJvbSBtdWxhdyB0byBhbGF3LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgRml4ZWQgb25lIG9mIHRoZSBjYXBzIGluIHRoZSBjb2RlIGZyb20gbXVsYXcgdG8gYWxhdy4KCjIwMDYtMDMtMTUgMTY6MjE6MzggKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgZ3N0L2FwZXRhZy9nc3R0YWdkZW11eC5jOiBFbnN1cmUgdGhhdCB3ZSBzZXQgY2FwcyBvbiB0aGUgYnVmZmVycyB3ZSBwYXNzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXBldGFnL2dzdHRhZ2RlbXV4LmM6IChnc3RfdGFnX2RlbXV4X2NoYWluKToKCSAgRW5zdXJlIHRoYXQgd2Ugc2V0IGNhcHMgb24gdGhlIGJ1ZmZlcnMgd2UgcGFzcy4KCSAgKiBnc3QvaWQzZGVtdXgvZ3N0aWQzZGVtdXguYzogKGdzdF9pZDNkZW11eF9jaGFpbiksCgkgIChnc3RfaWQzZGVtdXhfc2lua19hY3RpdmF0ZSk6CgkgIEVuc3VyZSB0aGF0IHdlIHNldCBjYXBzIG9uIHRoZSBidWZmZXJzIHdlIHBhc3MuCgkgIFVzZSBTVFJFQU0sIFRZUEVfTk9UX0ZPVU5EIGFzIHRoZSBlcnJvciBjbGFzcyB3aGVuCgkgIHR5cGVmaW5kaW5nIGZhaWxzLgoKMjAwNi0wMy0xNSAxNjoxNzoxMiArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIEZpeCBtZW1sZWFrIHdpdGggZ3N0X3N0YXRpY19wYWRfdGVtcGxhdGVfZ2V0KCkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9jYWlyby9nc3R0ZXh0b3ZlcmxheS5jOiAoZ3N0X3RleHRfb3ZlcmxheV9pbml0KToKCSAgKiBleHQvZHYvZ3N0ZHZkZW11eC5jOiAoZ3N0X2R2ZGVtdXhfaW5pdCksIChnc3RfZHZkZW11eF9hZGRfcGFkcyk6CgkgICogZXh0L2dka19waXhidWYvZ3N0Z2RrcGl4YnVmLmM6IChnc3RfZ2RrX3BpeGJ1Zl9pbml0KToKCSAgKiBleHQvanBlZy9nc3RqcGVnZGVjLmM6IChnc3RfanBlZ19kZWNfaW5pdCksCgkgIChnc3RfanBlZ19kZWNfc2V0Y2Fwcyk6CgkgICogZXh0L2pwZWcvZ3N0anBlZ2VuYy5jOiAoZ3N0X2pwZWdlbmNfaW5pdCk6CgkgICogZXh0L2pwZWcvZ3N0c21va2VkZWMuYzogKGdzdF9zbW9rZWRlY19pbml0KToKCSAgKiBleHQvanBlZy9nc3RzbW9rZWVuYy5jOiAoZ3N0X3Ntb2tlZW5jX2luaXQpOgoJICAqIGV4dC9saWJtbmcvZ3N0bW5nZGVjLmM6IChnc3RfbW5nZGVjX2luaXQpLAoJICAoZ3N0X21uZ2RlY19zcmNfZ2V0Y2Fwcyk6CgkgICogZXh0L2xpYnBuZy9nc3RwbmdkZWMuYzogKGdzdF9wbmdkZWNfaW5pdCksCgkgIChnc3RfcG5nZGVjX2NhcHNfY3JlYXRlX2FuZF9zZXQpOgoJICAqIGV4dC9saWJwbmcvZ3N0cG5nZW5jLmM6IChnc3RfcG5nZW5jX2luaXQpOgoJICAqIGV4dC9taWttb2QvZ3N0bWlrbW9kLmM6IChnc3RfbWlrbW9kX2luaXQpOgoJICAqIGV4dC9zcGVleC9nc3RzcGVleGRlYy5jOiAoZ3N0X3NwZWV4X2RlY19pbml0KToKCSAgKiBnc3QvYWxwaGEvZ3N0YWxwaGEuYzogKGdzdF9hbHBoYV9pbml0KToKCSAgKiBnc3QvYXVwYXJzZS9nc3RhdXBhcnNlLmM6IChnc3RfYXVfcGFyc2VfaW5pdCk6CgkgICogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOiAoZ3N0X2F2aV9kZW11eF9pbml0KSwKCSAgKGdzdF9hdmlfZGVtdXhfaGFuZGxlX3NyY19ldmVudCksIChnc3RfYXZpX2RlbXV4X3BhcnNlX3N0cmVhbSk6CgkgICogZ3N0L2N1dHRlci9nc3RjdXR0ZXIuYzogKGdzdF9jdXR0ZXJfaW5pdCk6CgkgICogZ3N0L2RlYnVnL2VmZW5jZS5jOiAoZ3N0X2VmZW5jZV9pbml0KSwgKGdzdF9lZmVuY2VfZ2V0cmFuZ2UpLAoJICAoZ3N0X2VmZW5jZV9jaGVja2dldHJhbmdlKToKCSAgKiBnc3QvZGVidWcvbmVnb3RpYXRpb24uYzogKGdzdF9uZWdvdGlhdGlvbl9pbml0KToKCSAgKiBnc3QvZmx4L2dzdGZseGRlYy5jOiAoZ3N0X2ZseGRlY19pbml0KToKCSAgKiBnc3QvZ29vbS9nc3Rnb29tLmM6IChnc3RfZ29vbV9pbml0KToKCSAgKiBnc3QvcnRwL2dzdGFzdGVyaXNraDI2My5jOiAoZ3N0X2FzdGVyaXNraDI2M19pbml0KToKCSAgKiBnc3QvcnRwL2dzdHJ0cEwxNmRlcGF5LmM6IChnc3RfcnRwX0wxNmRlcGF5X2luaXQpOgoJICAqIGdzdC9ydHAvZ3N0cnRwTDE2cGF5LmM6IChnc3RfcnRwTDE2cGF5X2luaXQpOgoJICAqIGdzdC9ydHAvZ3N0cnRwYW1yZGVwYXkuYzogKGdzdF9ydHBfYW1yX2RlcGF5X2luaXQpOgoJICAqIGdzdC9ydHAvZ3N0cnRwZGVwYXkuYzogKGdzdF9ydHBfZGVwYXlfaW5pdCk6CgkgICogZ3N0L3J0cC9nc3RydHBtcGFkZXBheS5jOiAoZ3N0X3J0cF9tcGFfZGVwYXlfaW5pdCk6CgkgICogZ3N0L3J0c3AvZ3N0cnRwZGVjLmM6IChnc3RfcnRwZGVjX2luaXQpOgoJICAqIGdzdC9zbXB0ZS9nc3RzbXB0ZS5jOiAoZ3N0X3NtcHRlX2luaXQpOgoJICAqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOiAoZ3N0X3dhdnBhcnNlX2luaXQpLAoJICAoZ3N0X3dhdnBhcnNlX2NyZWF0ZV9zb3VyY2VwYWQpOgoJICBGaXggbWVtbGVhayB3aXRoIGdzdF9zdGF0aWNfcGFkX3RlbXBsYXRlX2dldCgpLgoJICBUaGlzIHVzZXMgZ3N0X3BhZF9uZXdfZnJvbV9zdGF0aWNfdGVtcGxhdGUoKSBpbnN0ZWFkLgoJICBGaXhlcyAjMzMzNTEyCgoyMDA2LTAzLTE1IDE1OjA4OjIwICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBMZXQncyBub3QgZm9yZ2V0IHRvIGNoYWluIHVwIHRvIHRoZSBwYXJlbnQgZGlzcG9zZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAoZ3N0X3F0ZGVtdXhfZGlzcG9zZSk6CgkgIExldCdzIG5vdCBmb3JnZXQgdG8gY2hhaW4gdXAgdG8gdGhlIHBhcmVudCBkaXNwb3NlLgoKMjAwNi0wMy0xNSAxNDozOToyNSArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogU2VyaWVzIG9mIG1lbWxlYWsgZml4ZXM6CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKGdzdF9xdGRlbXV4X2NsYXNzX2luaXQpLAoJICAoZ3N0X3F0ZGVtdXhfaW5pdCksIChnc3RfcXRkZW11eF9kaXNwb3NlKSwKCSAgKGdzdF9xdGRlbXV4X2FkZF9zdHJlYW0pLCAocXRkZW11eF9wYXJzZV90cmFrKToKCSAgU2VyaWVzIG9mIG1lbWxlYWsgZml4ZXM6CgkgIC0gVW5yZWYgdGhlIEdzdEFkYXB0ZXIgaW4gZmluYWxpemUuCgkgIC0gVXNlIGdzdF9wYWRfbmV3X2Zyb21fc3RhdGljX3RlbXBsYXRlKCksIHNob3J0ZXIgYW5kIHNhZmVyLgoJICAtIEZyZWUgdW51c2VkIFF0RGVtdXhTdHJlYW0gd2hlbiBub3QgdXNlZC4KCjIwMDYtMDMtMTQgMTc6NTY6MDIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBjb25maWd1cmUuYWM6IEJ1bXAgLWJhc2UgcmVxdWlyZW1lbnQgdG8gMC4xMC41IGZvciBnc3RfdGFnX2Zyb21faWQzX3VzZXJfdGFnKCksIHVzZWQgYnkgaWQzZGVtdXguCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgQnVtcCAtYmFzZSByZXF1aXJlbWVudCB0byAwLjEwLjUgZm9yIGdzdF90YWdfZnJvbV9pZDNfdXNlcl90YWcoKSwKCSAgdXNlZCBieSBpZDNkZW11eC4KCSAgKiBnc3QvaWQzZGVtdXgvZ3N0aWQzZGVtdXguYzogKHBsdWdpbl9pbml0KToKCSAgKiBnc3QvaWQzZGVtdXgvaWQzdjJmcmFtZXMuYzogKGlkM2RlbXV4X2lkM3YyX3BhcnNlX2ZyYW1lKSwKCSAgKHBhcnNlX3VzZXJfdGV4dF9pZGVudGlmaWNhdGlvbl9mcmFtZSksCgkgIChwYXJzZV91bmlxdWVfZmlsZV9pZGVudGlmaWVyKToKCSAgQWRkIHN1cHBvcnQgZm9yIFVGSUQgYW5kIFRYWFggZnJhbWVzIGFuZCBleHRyYWN0IG11c2ljYnJhaW56IHRhZ3MuCgoyMDA2LTAzLTE0IDE3OjI0OjAzICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOiBJbml0aWFsaXphdGlvbiBvZiB0aGUgZGVidWdnaW5nIGNhdGVnb3J5IHNob3VsZCBiZSBhcyBlYXJseSBhcyBwb3NzaWJsZSwgbW92aW5nIGl0IGZyb20gX2NsYXNzLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzogKGdzdF92NGwyc3JjX2Jhc2VfaW5pdCksCgkgIChnc3RfdjRsMnNyY19jbGFzc19pbml0KToKCSAgSW5pdGlhbGl6YXRpb24gb2YgdGhlIGRlYnVnZ2luZyBjYXRlZ29yeSBzaG91bGQgYmUgYXMgZWFybHkgYXMgcG9zc2libGUsCgkgIG1vdmluZyBpdCBmcm9tIF9jbGFzc19pbml0KCkgdG8gYmVnaW5uaW5nIG9mIF9iYXNlX2luaXQoKS4KCjIwMDYtMDMtMTQgMTU6Mjg6MDAgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6IENhdGNoIHNob3J0IHJlYWRzLCBsaWtlIHRoZXkgbWlnaHQgaGFwcGVuIHdpdGggdHJ1bmNhdGVkIGZpbGVzIChzZWUgIzMwNTI3OSk7IHJlbW92ZSB1bm5lY2Vzc2EuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOiAoZ3N0X2F2aV9kZW11eF9wcm9jZXNzX25leHRfZW50cnkpOgoJICBDYXRjaCBzaG9ydCByZWFkcywgbGlrZSB0aGV5IG1pZ2h0IGhhcHBlbiB3aXRoIHRydW5jYXRlZAoJICBmaWxlcyAoc2VlICMzMDUyNzkpOyByZW1vdmUgdW5uZWNlc3NhcnkgaW5kZW50YXRpb24uCgoyMDA2LTAzLTE0IDE0OjE4OjE2ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L2F2aS9nc3RhdmlkZW11eC5jOiBGaXggRElCIGltYWdlIGludmVyc2lvbiBmb3IgcGljdHVyZXMgd2l0aCBhIGRlcHRoICE9IDggKCMzMDUyNzkpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6IChnc3RfYXZpX2RlbXV4X2ludmVydCk6CgkgIEZpeCBESUIgaW1hZ2UgaW52ZXJzaW9uIGZvciBwaWN0dXJlcyB3aXRoIGEKCSAgZGVwdGggIT0gOCAoIzMwNTI3OSkuCgoyMDA2LTAzLTE0IDA5OjIzOjA5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L2pwZWcvZ3N0anBlZ2RlYy4qOiBGaXggZHVyYXRpb25zIG9uIG91dGdvaW5nIGJ1ZmZlcnMgYWZ0ZXIgc2Vla2luZyBpbiBNSlBFRyBmaWxlcyAoIzMzNDA4Myk7IHNvbWUgbWlub3IgY2xlYW4tdXBzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvanBlZy9nc3RqcGVnZGVjLmM6IChnc3RfanBlZ19kZWNfY2xhc3NfaW5pdCksCgkgIChnc3RfanBlZ19kZWNfY2hhaW4pLCAoZ3N0X2pwZWdfZGVjX2NoYW5nZV9zdGF0ZSk6CgkgICogZXh0L2pwZWcvZ3N0anBlZ2RlYy5oOgoJICBGaXggZHVyYXRpb25zIG9uIG91dGdvaW5nIGJ1ZmZlcnMgYWZ0ZXIgc2Vla2luZwoJICBpbiBNSlBFRyBmaWxlcyAoIzMzNDA4Myk7IHNvbWUgbWlub3IgY2xlYW4tdXBzLgoKMjAwNi0wMy0xMyAxODoyODoxOCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOiBJbXBsZW1lbnQgc2VlayBpbiBSRUFEWSAocmUtZml4ZXMgIzMyNzY1OCkKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6IChnc3Rfd2F2cGFyc2VfcmVzZXQpLAoJICAoZ3N0X3dhdnBhcnNlX2NoYW5nZV9zdGF0ZSk6CgkgIEltcGxlbWVudCBzZWVrIGluIFJFQURZIChyZS1maXhlcyAjMzI3NjU4KQoKMjAwNi0wMy0xMyAxNzoyMjoxOSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC90YWdsaWIvZ3N0dGFnbGliLmNjOiBBZGQgZ3RrLWRvYyBibHVyYiAodW51c2VkIGZvciB0aGUgdGltZSBiZWluZyk7IG1hdGNoIHJlZ2lzdGVyZWQgcGx1Z2luIG5hbWUgdG8gdGhlIGZpbGVuYW1lIC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvdGFnbGliL2dzdHRhZ2xpYi5jYzoKCSAgQWRkIGd0ay1kb2MgYmx1cmIgKHVudXNlZCBmb3IgdGhlIHRpbWUgYmVpbmcpOyBtYXRjaCByZWdpc3RlcmVkCgkgIHBsdWdpbiBuYW1lIHRvIHRoZSBmaWxlbmFtZSBvZiB0aGUgcGx1Z2luICh0YWdsaWJtdXggPT4gdGFnbGliKQoKMjAwNi0wMy0xMyAxNTo0OTowOCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGNsb3NlICMzMzM3ODQgdW5yZWYgdGhlIHJlc3VsdCBvZiBnc3RfcGFkX2dldF9wYXJlbnQoKSBieTogQ2hyaXN0b3BoZSBGZXJnZWF1LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvY2Fpcm8vZ3N0dGV4dG92ZXJsYXkuYzogKGdzdF90ZXh0X292ZXJsYXlfc2V0Y2Fwcyk6CgkgICogZXh0L2VzZC9lc2Rtb24uYzogKGdzdF9lc2Rtb25fZ2V0KToKCSAgKiBleHQvZmxhYy9nc3RmbGFjdGFnLmM6IChnc3RfZmxhY190YWdfY2hhaW4pOgoJICAqIGV4dC9nZGtfcGl4YnVmL2dzdGdka3BpeGJ1Zi5jOiAoZ3N0X2dka19waXhidWZfc2lua19zZXRjYXBzKSwKCSAgKGdzdF9nZGtfcGl4YnVmX3NpbmtfZ2V0Y2Fwcyk6CgkgICogZXh0L2pwZWcvZ3N0anBlZ2VuYy5jOiAoZ3N0X2pwZWdlbmNfZ2V0Y2FwcyksCgkgIChnc3RfanBlZ2VuY19zZXRjYXBzKToKCSAgKiBleHQvanBlZy9nc3RzbW9rZWRlYy5jOiAoZ3N0X3Ntb2tlZGVjX2NoYWluKToKCSAgKiBleHQvanBlZy9nc3RzbW9rZWVuYy5jOiAoZ3N0X3Ntb2tlZW5jX2dldGNhcHMpLAoJICAoZ3N0X3Ntb2tlZW5jX3NldGNhcHMpOgoJICAqIGV4dC9saWJtbmcvZ3N0bW5nZGVjLmM6IChnc3RfbW5nZGVjX3NpbmtsaW5rKSwKCSAgKGdzdF9tbmdkZWNfc3JjX2dldGNhcHMpOgoJICAqIGV4dC9saWJtbmcvZ3N0bW5nZW5jLmM6IChnc3RfbW5nZW5jX3NpbmtsaW5rKSwKCSAgKGdzdF9tbmdlbmNfY2hhaW4pOgoJICAqIGV4dC9saWJwbmcvZ3N0cG5nZW5jLmM6IChnc3RfcG5nZW5jX3NldGNhcHMpOgoJICAqIGV4dC9taWttb2QvZ3N0bWlrbW9kLmM6IChnc3RfbWlrbW9kX3NyY2xpbmspOgoJICAqIGV4dC9zcGVleC9nc3RzcGVleGRlYy5jOiAoc3BlZXhfZGVjX2NvbnZlcnQpLAoJICAoc3BlZXhfZGVjX3NyY19ldmVudCksIChzcGVleF9kZWNfY2hhaW4pOgoJICAqIGdzdC9hdmkvZ3N0YXZpbXV4LmM6IChnc3RfYXZpbXV4X3ZpZHNpbmtjb25uZWN0KSwKCSAgKGdzdF9hdmltdXhfYXVkc2lua2Nvbm5lY3QpLCAoZ3N0X2F2aW11eF9oYW5kbGVfZXZlbnQpOgoJICAqIGdzdC9kZWJ1Zy9uZWdvdGlhdGlvbi5jOiAoZ3N0X25lZ290aWF0aW9uX2dldGNhcHMpLAoJICAoZ3N0X25lZ290aWF0aW9uX3BhZF9saW5rKSwgKGdzdF9uZWdvdGlhdGlvbl9jaGFpbik6CgkgICogZ3N0L2ZseC9nc3RmbHhkZWMuYzogKGdzdF9mbHhkZWNfc3JjX3F1ZXJ5X2hhbmRsZXIpLAoJICAoZ3N0X2ZseGRlY19jaGFpbik6CgkgICogZ3N0L2ludGVybGVhdmUvZGVpbnRlcmxlYXZlLmM6IChkZWludGVybGVhdmVfc2lua19saW5rKSwKCSAgKGRlaW50ZXJsZWF2ZV9jaGFpbik6CgkgICogZ3N0L2xhdy9tdWxhdy1lbmNvZGUuYzogKG11bGF3ZW5jX3NldGNhcHMpOgoJICAqIGdzdC9tZWRpYW4vZ3N0bWVkaWFuLmM6IChnc3RfbWVkaWFuX2xpbmspOgoJICAqIGdzdC9tb25vc2NvcGUvZ3N0bW9ub3Njb3BlLmM6IChnc3RfbW9ub3Njb3BlX3NyY2Nvbm5lY3QpLAoJICAoZ3N0X21vbm9zY29wZV9jaGFpbik6CgkgICogZ3N0L3J0cC9nc3RydHBMMTZwYXkuYzogKGdzdF9ydHBMMTZwYXlfc2lua2Nvbm5lY3QpOgoJICAqIGdzdC93YXZlbmMvZ3N0d2F2ZW5jLmM6IChnc3Rfd2F2ZW5jX3Npbmtfc2V0Y2Fwcyk6CgkgICogc3lzL29zeGF1ZGlvL2dzdG9zeGF1ZGlvc2luay5jOiAoZ3N0X29zeGF1ZGlvc2lua19jaGFpbik6CgkgICogc3lzL29zeGF1ZGlvL2dzdG9zeGF1ZGlvc3JjLmM6IChnc3Rfb3N4YXVkaW9zcmNfZ2V0KToKCSAgY2xvc2UgIzMzMzc4NCB1bnJlZiB0aGUgcmVzdWx0IG9mIGdzdF9wYWRfZ2V0X3BhcmVudCgpCgkgIGJ5OiBDaHJpc3RvcGhlIEZlcmdlYXUuCgoyMDA2LTAzLTEzIDEwOjA1OjA5ICswMDAwICBKdWxpZW4gTW91dHRlIDxqdWxpZW5AbW91dHRlLm5ldD4KCgkgIEZpeCBidWlsZCBvZiB2NGwyIChzaWdoKQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNi0wMy0xMyAgSnVsaWVuIE1PVVRURSAgPGp1bGllbkBtb3V0dGUubmV0PgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kZWNsLWxpc3QudHh0OgoJICAqIHN5cy92NGwyL01ha2VmaWxlLmFtOiBGaXggYnVpbGQgb2YgdjRsMiAoc2lnaCkKCjIwMDYtMDMtMTIgMTU6MzM6MDAgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmM6IGdfYXRvbWljX2ludF9zZXQgaXMgb25seSBhdmFpbGFibGUgaW4gZ2xpYi0wLjEwLCB1c2UgZ3N0X2F0b21pY19pbnRfZXQgaW5zdGVhZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5jOiAoZ3N0X3Y0bDJzcmNfY2FwdHVyZV9pbml0KSwKCSAgKGdzdF92NGwyc3JjX2J1ZmZlcl9wb29sX2ZyZWUpOgoJICBnX2F0b21pY19pbnRfc2V0IGlzIG9ubHkgYXZhaWxhYmxlIGluIGdsaWItMC4xMCwgdXNlIGdzdF9hdG9taWNfaW50X2V0CgkgIGluc3RlYWQuCgoyMDA2LTAzLTEyIDE1OjI1OjUxICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgc3lzL3Y0bDIvZ3N0djRsMmVsZW1lbnQuaDogUmVtb3ZlIHRpbSdzIGFkZGl0aW9uIG9mICJfc3RkaW50LmgiIHNpbmNlIGl0IGRvZXNuJ3QgbWFrZSB0aGUgUFBDIGJ1aWxkYm90IGhhcHB5LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvdjRsMi9nc3R2NGwyZWxlbWVudC5oOgoJICBSZW1vdmUgdGltJ3MgYWRkaXRpb24gb2YgIl9zdGRpbnQuaCIgc2luY2UgaXQgZG9lc24ndCBtYWtlIHRoZSBQUEMKCSAgYnVpbGRib3QgaGFwcHkuCgkgIEkgd2lsbCBqdXN0IHVzZSB0aGUgc2FtZSBjb21tZW50IFJvbmFsZCB1c2VkIHdoZW4gaGUgYWRkZWQgdGhlc2UgbGluZXM6CgkgIFlldCBBbm90aGVyIEhhY2sgKHRtKSBmb3Iga2VybmVsIGhlYWRlciBib3JrZWRuZXNzLgoKMjAwNi0wMy0xMiAxNTowMjowMiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC90YWdsaWIvOiBBZGQgc3VwcG9ydCBmb3Igd3JpdGluZyBNdXNpY0JyYWlueiBJRHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC90YWdsaWIvTWFrZWZpbGUuYW06CgkgICogZXh0L3RhZ2xpYi9nc3R0YWdsaWIuY2M6CgkgICogZXh0L3RhZ2xpYi9nc3R0YWdsaWIuaDoKCSAgQWRkIHN1cHBvcnQgZm9yIHdyaXRpbmcgTXVzaWNCcmFpbnogSURzLgoKMjAwNi0wMy0xMiAxNDo0Mzo1NyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIHN5cy92NGwyL2dzdHY0bDJlbGVtZW50Lmg6IEluY2x1ZGUgIl9zdGRpbnQuaCIgaW4gYW4gYXR0ZW1wdCB0byBtYWtlIHRoZQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvdjRsMi9nc3R2NGwyZWxlbWVudC5oOgoJICBJbmNsdWRlICJfc3RkaW50LmgiIGluIGFuIGF0dGVtcHQgdG8gbWFrZSB0aGUKCSAgUFBDLWJ1aWxkYm90IGhhcHB5LgoKMjAwNi0wMy0xMSAyMjo1MDowMyArMDAwMCAgRWRnYXJkIExpbWEgPGVkZ2FyZC5saW1hQGluZHQub3JnLmJyPgoKCSogc3lzL3Y0bDIvTWFrZWZpbGUuYW06CgkqIHN5cy92NGwyL2dzdHY0bDIuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMmNvbG9yYmFsYW5jZS5oOgoJKiBzeXMvdjRsMi9nc3R2NGwyZWxlbWVudC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyZWxlbWVudC5oOgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuaDoKCSogc3lzL3Y0bDIvZ3N0djRsMnR1bmVyLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJ0dW5lci5oOgoJKiBzeXMvdjRsMi9nc3R2NGwyeG92ZXJsYXkuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnhvdmVybGF5Lmg6CgkqIHN5cy92NGwyL3Y0bDJfY2FsbHMuYzoKCSogc3lzL3Y0bDIvdjRsMl9jYWxscy5oOgoJKiBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmM6CgkqIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuaDoKCSAgVjRMMiBwb3J0ZWQgdG8gMC4xMC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFY0TDIgcG9ydGVkIHRvIDAuMTAuCgoyMDA2LTAzLTExIDEwOjU4OjA4ICswMDAwICBBbGV4IExhbmNhc3RlciA8YWxleGxhbkBmZWRvcmFwcm9qZWN0Lm9yZz4KCgkgIGV4dC90YWdsaWIvZ3N0dGFnbGliLmNjOiBhbmQgYWRkIHN1cHBvcnQgZm9yIFRDT1AgKGNvcHlyaWdodCkKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDYtMDMtMTEgIENocmlzdG9waGUgRmVyZ2VhdSAgPHRldWZAZ25vbWUub3JnPgoJICBQYXRjaCBieTogQWxleCBMYW5jYXN0ZXIKCSAgKiBleHQvdGFnbGliL2dzdHRhZ2xpYi5jYzogZml4IHdyaXRpbmcgb2YgVFBPUyB0YWdzIChhbGJ1bSBudW1iZXIpLAoJICBhbmQgYWRkIHN1cHBvcnQgZm9yIFRDT1AgKGNvcHlyaWdodCkKCjIwMDYtMDMtMDkgMjA6MDI6NDQgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IEZpeCBidWlsZCB3aXRoIGdjYy00LjEgKCMzMjczNTUpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChnc3RfcXRkZW11eF9zZW5kX2V2ZW50KToKCSAgRml4IGJ1aWxkIHdpdGggZ2NjLTQuMSAoIzMyNzM1NSkuCgoyMDA2LTAzLTA5IDE3OjQ0OjE3ICswMDAwICBDaHJpc3RvcGhlIEZlcmdlYXUgPHRldWZAZ25vbWUub3JnPgoKCSAgbmV3IGlkM3YyIG11eGVyIGJhc2VkIG9uIFRhZ0xpYgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNi0wMy0wOSAgQ2hyaXN0b3BoZSBGZXJnZWF1ICA8dGV1ZkBnbm9tZS5vcmc+CgkgIHJldmlld2VkIGJ5OiBUaW0tUGhpbGlwcCBNw7xsbGVyICA8dGltIGF0IGNlbnRyaWN1bGFyIGRvdCBuZXQ+CgkgICogY29uZmlndXJlLmFjOgoJICAqIGV4dC9NYWtlZmlsZS5hbToKCSAgKiBleHQvdGFnbGliL01ha2VmaWxlLmFtOgoJICAqIGV4dC90YWdsaWIvZ3N0dGFnbGliLmNjOgoJICAqIGV4dC90YWdsaWIvZ3N0dGFnbGliLmg6IG5ldyBpZDN2MiBtdXhlciBiYXNlZCBvbiBUYWdMaWIKCjIwMDYtMDMtMDkgMTE6NDc6MzIgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBleHQvZHYvZ3N0ZHZkZW11eC5jOiBIYW5kbGUgZXZlbnRzIGluIHB1c2ggbW9kZSBiZXR0ZXIsIGNhbiBub3cgZG8gbm9uLWZsdXNoaW5nIHNlZWtzIGluIHB1c2ggbW9kZSBhcyB3ZWxsLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZHYvZ3N0ZHZkZW11eC5jOiAoZ3N0X2R2ZGVtdXhfaGFuZGxlX3NpbmtfZXZlbnQpLAoJICAoZ3N0X2R2ZGVtdXhfY29udmVydF9zZWdtZW50KSwgKGdzdF9kdmRlbXV4X2RlbXV4X2ZyYW1lKToKCSAgSGFuZGxlIGV2ZW50cyBpbiBwdXNoIG1vZGUgYmV0dGVyLCBjYW4gbm93IGRvIG5vbi1mbHVzaGluZwoJICBzZWVrcyBpbiBwdXNoIG1vZGUgYXMgd2VsbC4KCjIwMDYtMDMtMDggMTI6MTY6MTQgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IEV4dHJhY3QgZGlzYyBudW1iZXIgYW5kIGNvdW50IGZyb20gZmlsZXMgdGhhdCB1c2UgJ2Rpc2snIGluc3RlYWQgb2YgJ2Rpc2MnIGFzIG5vZGUgaWRlbnRpZmllciAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAocXRkZW11eF9wYXJzZV91ZHRhKToKCSAgRXh0cmFjdCBkaXNjIG51bWJlciBhbmQgY291bnQgZnJvbSBmaWxlcyB0aGF0IHVzZQoJICAnZGlzaycgaW5zdGVhZCBvZiAnZGlzYycgYXMgbm9kZSBpZGVudGlmaWVyIGZvciB0aGF0CgkgIChmaXhlcyAjMzMyMDY2KS4KCjIwMDYtMDMtMDcgMTc6MzE6MDMgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvdWRwL2dzdGR5bnVkcHNpbmsuYzogQXBwbGllZCBwYXRjaCBmcm9tIEthaSBWZWhtYW5lbiwgZml4ZXMgIzMzMzYyNC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3VkcC9nc3RkeW51ZHBzaW5rLmM6IChnc3RfZHludWRwc2lua19jbGFzc19pbml0KToKCSAgQXBwbGllZCBwYXRjaCBmcm9tIEthaSBWZWhtYW5lbiwgZml4ZXMgIzMzMzYyNC4KCjIwMDYtMDMtMDYgMjI6MjI6NDUgKzAwMDAgIEp1bGllbiBNb3V0dGUgPGp1bGllbkBtb3V0dGUubmV0PgoKCSAgZXh0L2xpYnBuZy9nc3RwbmdkZWMuYzogSW1wbGVtZW50IHBhbGV0dGVkIGFuZCBncmF5c2NhbGUgcG5nIGZpbGVzIGhhbmRsaW5nLiAoIzE1MDM2MykuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA2LTAzLTA2ICBKdWxpZW4gTU9VVFRFICA8anVsaWVuQG1vdXR0ZS5uZXQ+CgkgICogZXh0L2xpYnBuZy9nc3RwbmdkZWMuYzogKGdzdF9wbmdkZWNfY2Fwc19jcmVhdGVfYW5kX3NldCk6CgkgIEltcGxlbWVudCBwYWxldHRlZCBhbmQgZ3JheXNjYWxlIHBuZyBmaWxlcyBoYW5kbGluZy4KCSAgKCMxNTAzNjMpLgoKMjAwNi0wMy0wNiAwMDoxMDoyOSArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJICBleHQvc3BlZXgvZ3N0c3BlZXhlbmMuYzogZml4IGEgdGFnIGxpc3QgYXNzZXJ0IGZvbGxvdyBnc3QtcGx1Z2lucy1iYXNlL2V4dC9vZ2cvUkVBRE1FOyBzZXQgT0ZGU0VUIGFuZCBPRkZTRVRfRU5ELiAgTXUuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3NwZWV4L2dzdHNwZWV4ZW5jLmM6IChnc3Rfc3BlZXhlbmNfc2V0X2hlYWRlcl9vbl9jYXBzKSwKCSAgKGdzdF9zcGVleGVuY19jaGFpbik6CgkgIGZpeCBhIHRhZyBsaXN0IGFzc2VydAoJICBmb2xsb3cgZ3N0LXBsdWdpbnMtYmFzZS9leHQvb2dnL1JFQURNRTsgc2V0IE9GRlNFVAoJICBhbmQgT0ZGU0VUX0VORC4gIE11eGVzIGNvcnJlY3RseSB3aXRoIGdzdC1wbHVnaW5zLWJhc2UKCSAgPiAwLjkuMwoKMjAwNi0wMy0wNSAxMzowMzo0MCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogQWRkIHN1cHBvcnQgZm9yICczSVZEJyBmb3VyY2MgKCMzMzM0MDMpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChxdGRlbXV4X3ZpZGVvX2NhcHMpOgoJICBBZGQgc3VwcG9ydCBmb3IgJzNJVkQnIGZvdXJjYyAoIzMzMzQwMykuCgoyMDA2LTAzLTA0IDIwOjExOjM1ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L2lkM2RlbXV4LzogVXNlIG5ldyB0eXBlZmluZCBoZWxwZXIgZnVuY3Rpb25zIGhlcmUgYXMgd2VsbCwgYW5kIGRvIHR5cGVmaW5kaW5nIGluIHB1bGwtbW9kZSBpZiB1cHN0cmVhbSBzdXBwb3J0cyB0Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9pZDNkZW11eC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvaWQzZGVtdXgvZ3N0aWQzZGVtdXguYzogKGdzdF9pZDNkZW11eF9hZGRfc3JjcGFkKSwKCSAgKGdzdF9pZDNkZW11eF9jaGFpbiksIChnc3RfaWQzZGVtdXhfc2lua19hY3RpdmF0ZSk6CgkgIFVzZSBuZXcgdHlwZWZpbmQgaGVscGVyIGZ1bmN0aW9ucyBoZXJlIGFzIHdlbGwsIGFuZAoJICBkbyB0eXBlZmluZGluZyBpbiBwdWxsLW1vZGUgaWYgdXBzdHJlYW0gc3VwcG9ydHMgdGhhdC4KCjIwMDYtMDMtMDQgMTg6NTc6MzcgKzAwMDAgIEJlbmphbWluIFBpbmVhdSA8YmVuLnBpbmVhdUBnbWFpbC5jb20+CgoJICBzeXMvc3VuYXVkaW8vOiBSZW1vdmUgdW51c2VkIHZhcmlhYmxlcywgYnJlYWtzIGJ1aWxkIGZyb20gQ1ZTCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy9zdW5hdWRpby9nc3RzdW5hdWRpb21peGVyY3RybC5jOgoJICAoZ3N0X3N1bmF1ZGlvbWl4ZXJfY3RybF9nZXRfdm9sdW1lKSwKCSAgKGdzdF9zdW5hdWRpb21peGVyX2N0cmxfc2V0X3ZvbHVtZSk6CgkgICogc3lzL3N1bmF1ZGlvL2dzdHN1bmF1ZGlvbWl4ZXJ0cmFjay5jOgoJICAoZ3N0X3N1bmF1ZGlvbWl4ZXJfdHJhY2tfbmV3KToKCSAgUmVtb3ZlIHVudXNlZCB2YXJpYWJsZXMsIGJyZWFrcyBidWlsZCBmcm9tIENWUwoJICB3aXRoIC1XZXJyb3IgKCMzMzMzOTIsIHBhdGNoIGJ5OiBCZW5qYW1pbiBQaW5lYXUpCgoyMDA2LTAzLTAzIDIzOjQ1OjIzICswMDAwICBTw6liYXN0aWVuIE1vdXR0ZSA8c2ViYXN0aWVuQG1vdXR0ZS5uZXQ+CgoJICBzeXMvOiBzaW5rcyBhcmUgbm93IHVzaW5nIEdTVF9SQU5LX1BSSU1BUlkgdG8gYmUgdXNlZCB3aXRoIGF1dG9kZWN0ZWN0aW9uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy9kaXJlY3RkcmF3OgoJICAqIHN5cy9kaXJlY3Rzb3VuZDoKCSAgc2lua3MgYXJlIG5vdyB1c2luZyBHU1RfUkFOS19QUklNQVJZIHRvIGJlIHVzZWQgd2l0aCBhdXRvZGVjdGVjdGlvbgoJICAqIHdpbjMyL3ZzNjoKCSAgcHJvamVjdCBmaWxlcyB1cGRhdGVkIHRvIGZpeCBzb21lIGJ1Z3MKCSAgKiB3aW4zMi92czc6CgkgICogd2luMzIvdnM4OgoJICB2czcgYW5kIHZzOCBwcm9qZWN0IGZpbGVzIGFkZGVkCgoyMDA2LTAzLTAzIDE4OjM2OjUzICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZG9jcy9wbHVnaW5zLzogQWRkZWQgd2F2cGFyc2UgZG9jcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtZG9jcy5zZ21sOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICBBZGRlZCB3YXZwYXJzZSBkb2NzLgoJICAqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOiAoZ3N0X3dhdnBhcnNlX2NsYXNzX2luaXQpLAoJICAoZ3N0X3dhdnBhcnNlX3Jlc2V0KSwgKGdzdF93YXZwYXJzZV9pbml0KSwKCSAgKGdzdF93YXZwYXJzZV9jcmVhdGVfc291cmNlcGFkKSwgKGdzdF93YXZwYXJzZV9wYXJzZV9maWxlX2hlYWRlciksCgkgIChnc3Rfd2F2cGFyc2Vfc3RyZWFtX2luaXQpLCAoZ3N0X3dhdnBhcnNlX3BlcmZvcm1fc2VlayksCgkgIChnc3Rfd2F2cGFyc2Vfc3RyZWFtX2hlYWRlcnMpLCAoZ3N0X3dhdnBhcnNlX3NlbmRfZXZlbnQpLAoJICAoZ3N0X3dhdnBhcnNlX3N0cmVhbV9kYXRhKSwgKGdzdF93YXZwYXJzZV9sb29wKSwKCSAgKGdzdF93YXZwYXJzZV9zcmNwYWRfZXZlbnQpLCAoZ3N0X3dhdnBhcnNlX3NpbmtfYWN0aXZhdGVfcHVsbCksCgkgIChnc3Rfd2F2cGFyc2VfY2hhbmdlX3N0YXRlKToKCSAgKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuaDoKCSAgSW1wbGVtZW50IHNlZWsgaW4gUkVBRFkgKGZpeGVzICMzMjc2NTgpCgkgIEFkZGVkIGRvY3MgYW5kIGRpZCBzb21lIGNsZWFudXBzLgoKMjAwNi0wMy0wMyAxNzo1MToxNiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9hdmkvZ3N0YXZpZGVtdXguKjogSWYgd2UgaGF2ZSBhbiBpbmRleCwgdXNlIGEgZHVyYXRpb24gYmFzZWQgb24gdGhlIGluZGV4IGluc3RlYWQgb2YgYmxpbmRseSB0cnVzdGluZyB0aGUgaW5mb3JtYS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6IChnc3RfYXZpX2RlbXV4X2hhbmRsZV9zcmNfcXVlcnkpLAoJICAoZ3N0X2F2aV9kZW11eF9oYW5kbGVfc3JjX2V2ZW50KSwgKGdzdF9hdmlfZGVtdXhfcGFyc2Vfc3RyZWFtKSwKCSAgKGdzdF9hdmlfZGVtdXhfY2FsY3VsYXRlX2R1cmF0aW9uc19mcm9tX2luZGV4KSwKCSAgKGdzdF9hdmlfZGVtdXhfc3RyZWFtX2hlYWRlcik6CgkgICogZ3N0L2F2aS9nc3RhdmlkZW11eC5oOgoJICBJZiB3ZSBoYXZlIGFuIGluZGV4LCB1c2UgYSBkdXJhdGlvbiBiYXNlZCBvbiB0aGUgaW5kZXggaW5zdGVhZAoJICBvZiBibGluZGx5IHRydXN0aW5nIHRoZSBpbmZvcm1hdGlvbiBpbiB0aGUgc3RyZWFtIGhlYWRlcnMKCSAgKGZpeGVzICMzMzE4MTcpLgoKMjAwNi0wMy0wMyAxNTo1MDo0MCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGRvY3MvcGx1Z2lucy86IEFkZGVkIHNtb2tlIGFuZCBqcGVnIHRvIHRoZSBkb2NzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1kb2NzLnNnbWw6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5oaWVyYXJjaHk6CgkgIEFkZGVkIHNtb2tlIGFuZCBqcGVnIHRvIHRoZSBkb2NzLgoJICAqIGV4dC9qcGVnL01ha2VmaWxlLmFtOgoJICAqIGV4dC9qcGVnL2dzdGpwZWcuYzogKHBsdWdpbl9pbml0KToKCSAgKiBleHQvanBlZy9nc3RqcGVnZGVjLmM6IChnc3RfanBlZ19kZWNfY2hhaW4pOgoJICAqIGV4dC9qcGVnL2dzdGpwZWdlbmMuaDoKCSAgKiBleHQvanBlZy9nc3RzbW9rZWRlYy5jOiAoZ3N0X3Ntb2tlZGVjX2luaXQpLAoJICAoZ3N0X3Ntb2tlZGVjX2NoYWluKToKCSAgKiBleHQvanBlZy9nc3RzbW9rZWRlYy5oOgoJICAqIGV4dC9qcGVnL2dzdHNtb2tlZW5jLmM6IChnc3Rfc21va2VlbmNfY2hhaW4pOgoJICAqIGV4dC9qcGVnL2dzdHNtb2tlZW5jLmg6CgkgICogZXh0L2pwZWcvc21va2Vjb2RlYy5oOgoJICBQb3J0IHNtb2tlZGVjIChmaXhlcyAjMzMxOTA1KS4KCSAgQWRkZWQgc29tZSBkb2NzLgoJICBTb21lIGNsZWFudXBzLgoKMjAwNi0wMy0wMyAxNDozOTo1NSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGRvY3MvcGx1Z2lucy86IEFkZGVkIHZpZGVvYmFsYW5jZSBhbmQgdmlkZW9mbGlwIHRvIHRoZSBkb2NzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1kb2NzLnNnbWw6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5oaWVyYXJjaHk6CgkgIEFkZGVkIHZpZGVvYmFsYW5jZSBhbmQgdmlkZW9mbGlwIHRvIHRoZSBkb2NzLgoJICAqIGdzdC92aWRlb2ZpbHRlci9NYWtlZmlsZS5hbToKCSAgKiBnc3QvdmlkZW9maWx0ZXIvZ3N0dmlkZW9iYWxhbmNlLmM6CgkgIChnc3RfdmlkZW9fYmFsYW5jZV91cGRhdGVfdGFibGVzX3BsYW5hcjQxMSksCgkgIChnc3RfdmlkZW9fYmFsYW5jZV9pc19wYXNzdGhyb3VnaCksCgkgIChnc3RfdmlkZW9fYmFsYW5jZV91cGRhdGVfcHJvcGVydGllcyksIChvaWxfdGFibGVsb29rdXBfdTgpLAoJICAoZ3N0X3ZpZGVvX2JhbGFuY2VfcGxhbmFyNDExX2lwKSwgKGdzdF92aWRlb19iYWxhbmNlX3NldF9jYXBzKSwKCSAgKGdzdF92aWRlb19iYWxhbmNlX3RyYW5zZm9ybV9pcCksIChnc3RfdmlkZW9fYmFsYW5jZV9iYXNlX2luaXQpLAoJICAoZ3N0X3ZpZGVvX2JhbGFuY2VfZmluYWxpemUpLCAoZ3N0X3ZpZGVvX2JhbGFuY2VfY2xhc3NfaW5pdCksCgkgIChnc3RfdmlkZW9fYmFsYW5jZV9pbml0KSwgKGdzdF92aWRlb19iYWxhbmNlX2ludGVyZmFjZV9zdXBwb3J0ZWQpLAoJICAoZ3N0X3ZpZGVvX2JhbGFuY2VfaW50ZXJmYWNlX2luaXQpLAoJICAoZ3N0X3ZpZGVvX2JhbGFuY2VfY29sb3JiYWxhbmNlX2xpc3RfY2hhbm5lbHMpLAoJICAoZ3N0X3ZpZGVvX2JhbGFuY2VfY29sb3JiYWxhbmNlX3NldF92YWx1ZSksCgkgIChnc3RfdmlkZW9fYmFsYW5jZV9jb2xvcmJhbGFuY2VfZ2V0X3ZhbHVlKSwKCSAgKGdzdF92aWRlb19iYWxhbmNlX2NvbG9yYmFsYW5jZV9pbml0KSwKCSAgKGdzdF92aWRlb19iYWxhbmNlX3NldF9wcm9wZXJ0eSksIChnc3RfdmlkZW9fYmFsYW5jZV9nZXRfcHJvcGVydHkpLAoJICAoZ3N0X3ZpZGVvX2JhbGFuY2VfZ2V0X3R5cGUpLCAocGx1Z2luX2luaXQpOgoJICAqIGdzdC92aWRlb2ZpbHRlci9nc3R2aWRlb2JhbGFuY2UuaDoKCSAgUG9ydGVkIHRvIDAuMTAuIChGaXhlcyAjMzI2MTYwKQoJICBBZGRlZCBkb2NzLgoJICAqIGdzdC92aWRlb2ZpbHRlci9nc3R2aWRlb2ZsaXAuYzoKCSAgKiBnc3QvdmlkZW9maWx0ZXIvZ3N0dmlkZW9mbGlwLmg6CgkgIEFkZGVkIGRvY3MuCgoyMDA2LTAzLTAzIDExOjA3OjQxICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBVc2UgR1NUX1dBUk5JTkcgaW5zdGVhZCBvZiBHU1RfRVJST1IgZm9yIGFsbCB0aGUgdG9vIHNob3J0L2xvbmcgYXRvbXMgd2hlbiBwYXJzaW5nLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChxdGRlbXV4X3BhcnNlKSwgKHF0ZGVtdXhfcGFyc2VfdHJhayk6CgkgIFVzZSBHU1RfV0FSTklORyBpbnN0ZWFkIG9mIEdTVF9FUlJPUiBmb3IgYWxsIHRoZSB0b28gc2hvcnQvbG9uZyBhdG9tcwoJICB3aGVuIHBhcnNpbmcuCgkgIEFsc28gbGV0J3MgYmUgYSBiaXQgbGVzcyB2dWxnYXIgaW4gb3VyIHdhcm5pbmcgbWVzc2FnZXMgOikKCjIwMDYtMDMtMDIgMTU6MTQ6MjIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBjb25maWd1cmUuYWM6IEJ1bXAgcmVxdWlyZW1lbnRzIHRvIGN1cnJlbnQgY29yZSBhbmQgLWJhc2UgQ1ZTIChjb3JlIGZvciBuZXcgdHlwZWZpbmQgaGVscGVyIEFQSSwgYW5kIC1iYXNlIGZvciB0aGUKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICBCdW1wIHJlcXVpcmVtZW50cyB0byBjdXJyZW50IGNvcmUgYW5kIC1iYXNlIENWUwoJICAoY29yZSBmb3IgbmV3IHR5cGVmaW5kIGhlbHBlciBBUEksIGFuZCAtYmFzZSBmb3IgdGhlCgkgIFdBVkZPUk1BVEVYIHN1cHBvcnQgdGhhdCB3YXMgYWRkZWQgdG8gbGliZ3N0cmlmZiBhbmQKCSAgaXMgbmVlZGVkIGJ5IHdhdnBhcnNlKS4KCSAgKiBnc3QvYXBldGFnL01ha2VmaWxlLmFtOgoJICAqIGdzdC9hcGV0YWcvZ3N0dGFnZGVtdXguYzogKGdzdF90YWdfZGVtdXhfY2hhaW4pLAoJICAoZ3N0X3RhZ19kZW11eF9zaW5rX2FjdGl2YXRlKToKCSAgVXNlIG5ldyB0eXBlZmluZCBoZWxwZXJzIGZvciB0eXBlZmluZGluZyBpbnN0ZWFkIG9mIG91cgoJICBob21lLWdyb3duIHN0dWZmOyBhbHNvLCBkbyB0eXBlZmluZGluZyBpbiBwdWxsLW1vZGUgaWYKCSAgdXBzdHJlYW0gc3VwcG9ydHMgdGhhdC4KCjIwMDYtMDItMjggMTE6NTk6NDkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IENhbid0IGRpdmlkZSB0aHJvdWdoIHplcm8gKHN1cHByZXNzIHdhcm5pbmcgaW4gY2FzZSBvZiBzdHJlYW0gd2l0aCBvbmUgc2luZ2xlIHN0aWxsIHBpY3R1cmUpICguLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAocXRkZW11eF9wYXJzZV90cmFrKToKCSAgQ2FuJ3QgZGl2aWRlIHRocm91Z2ggemVybyAoc3VwcHJlc3Mgd2FybmluZyBpbiBjYXNlIG9mCgkgIHN0cmVhbSB3aXRoIG9uZSBzaW5nbGUgc3RpbGwgcGljdHVyZSkgKHNlZSAjMzI3MDgzKQoKMjAwNi0wMi0yOCAxMDo0MDowMSArMDAwMCAgQ2hyaXN0aWFuIFNjaGFsbGVyIDx1cmFldXNAZ25vbWUub3JnPgoKCSogQ2hhbmdlTG9nOgoJICByZW1vdmUgY29uZmxpY3QgaW5kaWNhdG9yCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICByZW1vdmUgY29uZmxpY3QgaW5kaWNhdG9yCgoyMDA2LTAyLTI4IDEwOjM5OjA4ICswMDAwICBDaHJpc3RpYW4gU2NoYWxsZXIgPHVyYWV1c0Bnbm9tZS5vcmc+CgoJKiBDaGFuZ2VMb2c6CgkgIGFkZCBtaXNzaW5nIGVudHJ5CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBhZGQgbWlzc2luZyBlbnRyeQoKMjAwNi0wMi0yOCAxMDoyOToxNiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOiBVc2UgREVCVUdfT0JKRUNUIG1vcmUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOiAoZ3N0X3dhdnBhcnNlX3BlcmZvcm1fc2VlayksCgkgIChnc3Rfd2F2cGFyc2Vfc3RyZWFtX2hlYWRlcnMpLCAoZ3N0X3dhdnBhcnNlX3N0cmVhbV9kYXRhKSwKCSAgKGdzdF93YXZwYXJzZV9wYWRfY29udmVydCksIChnc3Rfd2F2cGFyc2Vfc3JjcGFkX2V2ZW50KSwKCSAgKGdzdF93YXZwYXJzZV9zaW5rX2FjdGl2YXRlKSwgKGdzdF93YXZwYXJzZV9zaW5rX2FjdGl2YXRlX3B1bGwpOgoJICBVc2UgREVCVUdfT0JKRUNUIG1vcmUuCgoyMDA2LTAyLTI4IDEwOjIyOjExICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZG9jcy9wbHVnaW5zLzogQWRkZWQgZHZkZWMgYW5kIGR2ZGVtdXggdG8gZG9jcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtZG9jcy5zZ21sOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICBBZGRlZCBkdmRlYyBhbmQgZHZkZW11eCB0byBkb2NzLgoJICAqIGV4dC9kdi9nc3RkdmRlYy5jOiAoZ3N0X2R2ZGVjX2Jhc2VfaW5pdCksIChnc3RfZHZkZWNfY2hhaW4pOgoJICBBZGRlZCBkb2NzLgoJICBDaGVjayBmcmFtZSBzaXplcyBzbyB3ZSBkb24ndCBjcmFzaCB3aGVuIGRvbid0IGhhdmUgZW5vdWdoCgkgIGRhdGEuCgkgIFNlbmQgbmljZSBlcnJvciBtZXNzYWdlcyBvbiBlcnJvci4KCSAgKiBleHQvZHYvZ3N0ZHZkZW11eC5jOiAoZ3N0X2R2ZGVtdXhfYmFzZV9pbml0KSwKCSAgKGdzdF9kdmRlbXV4X2NsYXNzX2luaXQpLCAoZ3N0X2R2ZGVtdXhfaW5pdCksCgkgIChnc3RfZHZkZW11eF9maW5hbGl6ZSksIChnc3RfZHZkZW11eF9yZXNldCksCgkgIChnc3RfZHZkZW11eF9zcmNfY29udmVydCksIChnc3RfZHZkZW11eF9zaW5rX2NvbnZlcnQpLAoJICAoZ3N0X2R2ZGVtdXhfc3JjX3F1ZXJ5KSwgKGdzdF9kdmRlbXV4X3NpbmtfcXVlcnkpLAoJICAoZ3N0X2R2ZGVtdXhfcHVzaF9ldmVudCksIChnc3RfZHZkZW11eF9oYW5kbGVfc2lua19ldmVudCksCgkgIChnc3RfZHZkZW11eF9jb252ZXJ0X3NyY19wYWlyKSwgKGdzdF9kdmRlbXV4X2NvbnZlcnRfc2lua19wYWlyKSwKCSAgKGdzdF9kdmRlbXV4X2NvbnZlcnRfc3JjX3RvX3NpbmspLCAoZ3N0X2R2ZGVtdXhfaGFuZGxlX3B1c2hfc2VlayksCgkgIChnc3RfZHZkZW11eF9kb19zZWVrKSwgKGdzdF9kdmRlbXV4X2hhbmRsZV9wdWxsX3NlZWspLAoJICAoZ3N0X2R2ZGVtdXhfaGFuZGxlX3NyY19ldmVudCksIChnc3RfZHZkZW11eF9kZW11eF9hdWRpbyksCgkgIChnc3RfZHZkZW11eF9kZW11eF92aWRlbyksIChnc3RfZHZkZW11eF9kZW11eF9mcmFtZSksCgkgIChnc3RfZHZkZW11eF9mbHVzaCksIChnc3RfZHZkZW11eF9jaGFpbiksIChnc3RfZHZkZW11eF9sb29wKSwKCSAgKGdzdF9kdmRlbXV4X3NpbmtfYWN0aXZhdGVfcHVzaCksIChnc3RfZHZkZW11eF9zaW5rX2FjdGl2YXRlX3B1bGwpLAoJICAoZ3N0X2R2ZGVtdXhfc2lua19hY3RpdmF0ZSksIChnc3RfZHZkZW11eF9jaGFuZ2Vfc3RhdGUpOgoJICAqIGV4dC9kdi9nc3RkdmRlbXV4Lmg6CgkgIEFkZGVkIGRvY3MuCgkgIEltcGxlbWVudCBwdWxsIG1vZGUuCgkgIEZpeCBtZW1sZWFrcy4KCSAgUmVkdWNlIG1lbWNweSBmb3IgdGhlIHZpZGVvIGRlbXV4aW5nLgoKMjAwNi0wMi0yOCAwOToyMToyNyArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBleHQvYW5ub2RleC86IEFkZCBhIGxpdHRsZSBleHRyYSBkZWJ1Zy4gTWFrZSB0aGUgZGVjb2RlciBub3QgcmV0dXJuIE5PVF9MSU5LRUQsIGFzIHdlIHdhbnQgdG8gY29udGludWUgZGVjb2RpbmcgYWxsIEMuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2Fubm9kZXgvZ3N0Y21tbGRlYy5jOiAoZ3N0X2NtbWxfZGVjX3NpbmtfZXZlbnQpLAoJICAoZ3N0X2NtbWxfZGVjX25ld19idWZmZXIpLCAoZ3N0X2NtbWxfZGVjX3BhcnNlX3ByZWFtYmxlKSwKCSAgKGdzdF9jbW1sX2RlY19wYXJzZV9oZWFkKSwgKGdzdF9jbW1sX2RlY19wdXNoX2NsaXApOgoJICAqIGV4dC9hbm5vZGV4L2dzdGNtbWxwYXJzZXIuYzogKGdzdF9jbW1sX3BhcnNlcl9wYXJzZV9jaHVuayk6CgkgIEFkZCBhIGxpdHRsZSBleHRyYSBkZWJ1Zy4gTWFrZSB0aGUgZGVjb2RlciBub3QgcmV0dXJuIE5PVF9MSU5LRUQsCgkgIGFzIHdlIHdhbnQgdG8gY29udGludWUgZGVjb2RpbmcgYWxsIENNTUwgYW5kIGVtaXR0aW5nIHRhZ3MuCgoyMDA2LTAyLTI3IDE0OjM3OjI5ICswMDAwICBDaHJpc3RpYW4gU2NoYWxsZXIgPHVyYWV1c0Bnbm9tZS5vcmc+CgoJKiBnc3QtcGx1Z2lucy1nb29kLnNwZWMuaW46CgkgIGFkZCBhbm5vZGV4IHBsdWdpbgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgYWRkIGFubm9kZXggcGx1Z2luCgoyMDA2LTAyLTI3IDE0OjAwOjE4ICswMDAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAeGlwaC5vcmc+CgoJICBleHQvYW5ub2RleC9nc3Rza2VsdGFnLio6IERlbGV0ZWQ7IHRoZXNlIGZpbGVzIGFyZW4ndCB1c2VkIGFueSBtb3JlIGVpdGhlci4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2Fubm9kZXgvZ3N0c2tlbHRhZy5jOgoJICAqIGV4dC9hbm5vZGV4L2dzdHNrZWx0YWcuaDoKCSAgRGVsZXRlZDsgdGhlc2UgZmlsZXMgYXJlbid0IHVzZWQgYW55IG1vcmUgZWl0aGVyLgoKMjAwNi0wMi0yNSAyMDozNzoyOSArMDAwMCAgSnVsaWVuIE1vdXR0ZSA8anVsaWVuQG1vdXR0ZS5uZXQ+CgoJICBleHQvTWFrZWZpbGUuYW06IEZpeCBkaXN0LWNoZWNrLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNi0wMi0yNSAgSnVsaWVuIE1PVVRURSAgPGp1bGllbkBtb3V0dGUubmV0PgoJICAqIGV4dC9NYWtlZmlsZS5hbTogRml4IGRpc3QtY2hlY2suCgoyMDA2LTAyLTI1IDE5OjM2OjI0ICswMDAwICBKdWxpZW4gTW91dHRlIDxqdWxpZW5AbW91dHRlLm5ldD4KCgkgIGV4dC9hbm5vZGV4L2dzdGNtbWxlbmMuYzogRml4IGFub3RoZXIgbWVtbGVhay4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDYtMDItMjUgIEp1bGllbiBNT1VUVEUgIDxqdWxpZW5AbW91dHRlLm5ldD4KCSAgKiBleHQvYW5ub2RleC9nc3RjbW1sZW5jLmM6IChnc3RfY21tbF9lbmNfcHVzaF9jbGlwKTogRml4IGFub3RoZXIKCSAgbWVtbGVhay4KCjIwMDYtMDItMjUgMTk6MDc6NDEgKzAwMDAgIEp1bGllbiBNb3V0dGUgPGp1bGllbkBtb3V0dGUubmV0PgoKCSAgRml4IGEgbWVtbGVhayBpbiBnc3RfY21tbF90cmFja19saXN0X2FkZF9jbGlwLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNi0wMi0yNSAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm9Abm52YS5vcmc+CgkgICogZXh0L2Fubm9kZXgvTWFrZWZpbGUuYW06CgkgICogZXh0L2Fubm9kZXgvZ3N0YW5ub2RleC5jOgoJICAqIGV4dC9hbm5vZGV4L2dzdGNtbWxkZWMuYzoKCSAgKiBleHQvYW5ub2RleC9nc3RjbW1sZW5jLmM6CgkgICogZXh0L2Fubm9kZXgvZ3N0Y21tbHBhcnNlci5jOgoJICAqIGV4dC9hbm5vZGV4L2dzdGNtbWxwYXJzZXIuaDoKCSAgKiBleHQvYW5ub2RleC9nc3RjbW1sdXRpbHMuYzoKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jbW1sZGVjLmM6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvY21tbGVuYy5jOgoJICBGaXggYSBtZW1sZWFrIGluIGdzdF9jbW1sX3RyYWNrX2xpc3RfYWRkX2NsaXAuCgkgIEhhbmRsZSBvdmVyZmxvd3MgaW4gY2xpcCdzIHN0YXJ0IGFuZCBlbmQgdGltZXMuCgkgIEFkZCB0aGUgImVuY29kZWQiIHBhcmFtZXRlciB0byBjbW1sZGVjIGFuZCBjbW1sZW5jIGNhcHMuCgkgIERvIG5vdCBwYXJzZSBqdW5rIGF0IHRoZSBlbmQgb2YgYSBDTU1MIHByZWFtYmxlIGJ1ZmZlci4KCSAgUmVnaXN0ZXIgYSBsaWJ4bWwgZXJyb3IgaGFuZGxlciB0byBub3QgcHJpbnQgc3R1ZmYgb24gc3RkZXJyLgoJICBDaGVjayBmb3IgYmFkIGNsaXAgc3RhcnQgYW5kIGVuZCB0aW1lcyBpbiB0aGUgdGVzdHN1aXRlcy4KCjIwMDYtMDItMjUgMTE6Mzc6MTAgKzAwMDAgIEp1bGllbiBNb3V0dGUgPGp1bGllbkBtb3V0dGUubmV0PgoKCSAgZXh0L2Fubm9kZXgvOiBGaXggcG9zc2libGUgbWVtbGVha3MuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA2LTAyLTI1ICBKdWxpZW4gTU9VVFRFICA8anVsaWVuQG1vdXR0ZS5uZXQ+CgkgICogZXh0L2Fubm9kZXgvZ3N0Y21tbGRlYy5jOiAoZ3N0X2NtbWxfZGVjX2NsYXNzX2luaXQpLAoJICAoZ3N0X2NtbWxfZGVjX2ZpbmFsaXplKSwgKGdzdF9jbW1sX2RlY19jaGFuZ2Vfc3RhdGUpOgoJICAqIGV4dC9hbm5vZGV4L2dzdGNtbWxlbmMuYzogKGdzdF9jbW1sX2VuY19jbGFzc19pbml0KSwKCSAgKGdzdF9jbW1sX2VuY19maW5hbGl6ZSksIChnc3RfY21tbF9lbmNfY2hhbmdlX3N0YXRlKToKCSAgKiBleHQvYW5ub2RleC9nc3RjbW1sdXRpbHMuYzogKGdzdF9jbW1sX3RyYWNrX2xpc3RfZGVzdHJveSk6IEZpeAoJICBwb3NzaWJsZSBtZW1sZWFrcy4KCjIwMDYtMDItMjQgMjM6NTI6MjggKzAwMDAgIEp1bGllbiBNb3V0dGUgPGp1bGllbkBtb3V0dGUubmV0PgoKCSAgdGVzdHMvY2hlY2svOiBGaXggdGVzdHMgc28gdGhhdCB0aGV5IHVzZSB0aGUgcGx1Z2lucy1iYXNlIHRhZ3MuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA2LTAyLTI1ICBKdWxpZW4gTU9VVFRFICA8anVsaWVuQG1vdXR0ZS5uZXQ+CgkgICogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvY21tbGRlYy5jOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2NtbWxlbmMuYzogRml4IHRlc3RzIHNvIHRoYXQgdGhleSB1c2UKCSAgdGhlIHBsdWdpbnMtYmFzZSB0YWdzLgoKMjAwNi0wMi0yNCAyMzozNjo1OCArMDAwMCAgSnVsaWVuIE1vdXR0ZSA8anVsaWVuQG1vdXR0ZS5uZXQ+CgoJICBleHQvTWFrZWZpbGUuYW06IFJlLWVuYWJsZSBtb2R1bGUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA2LTAyLTI1ICBKdWxpZW4gTU9VVFRFICA8anVsaWVuQG1vdXR0ZS5uZXQ+CgkgICogZXh0L01ha2VmaWxlLmFtOiBSZS1lbmFibGUgbW9kdWxlLgoKMjAwNi0wMi0yNCAyMzozMjoxNCArMDAwMCAgSnVsaWVuIE1vdXR0ZSA8anVsaWVuQG1vdXR0ZS5uZXQ+CgoJICB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbTogRm9yZ290IHRvIHJlbW92ZSB0aGF0IHRlc3QuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA2LTAyLTI1ICBKdWxpZW4gTU9VVFRFICA8anVsaWVuQG1vdXR0ZS5uZXQ+CgkgICogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06IEZvcmdvdCB0byByZW1vdmUgdGhhdCB0ZXN0LgoKMjAwNi0wMi0yNCAyMzozMTowOCArMDAwMCAgSnVsaWVuIE1vdXR0ZSA8anVsaWVuQG1vdXR0ZS5uZXQ+CgoJICBUcnkgdG8gZml4IEFubm9kZXggcGx1Z2luLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNi0wMi0yNSAgSnVsaWVuIE1PVVRURSAgPGp1bGllbkBtb3V0dGUubmV0PgoJICAqIGV4dC9hbm5vZGV4L01ha2VmaWxlLmFtOgoJICAqIGV4dC9hbm5vZGV4L2dzdGFubm9kZXguYzogKHBsdWdpbl9pbml0KToKCSAgKiBleHQvYW5ub2RleC9nc3RjbW1sZGVjLmM6CgkgICogZXh0L2Fubm9kZXgvZ3N0c2tlbGRlYy5jOgoJICAqIGV4dC9hbm5vZGV4L2dzdHNrZWxkZWMuaDoKCSAgKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9za2VsZGVjLmM6IFRyeSB0byBmaXggQW5ub2RleCBwbHVnaW4uCgoyMDA2LTAyLTI0IDIzOjA2OjI3ICswMDAwICBKdWxpZW4gTW91dHRlIDxqdWxpZW5AbW91dHRlLm5ldD4KCgkgIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOiBEaXNhYmxlIHRob3NlIGNoZWNrcyBhcyB3ZWxsLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNi0wMi0yNSAgSnVsaWVuIE1PVVRURSAgPGp1bGllbkBtb3V0dGUubmV0PgoJICAqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOiBEaXNhYmxlIHRob3NlIGNoZWNrcyBhcyB3ZWxsLgoKMjAwNi0wMi0yNCAyMjo0OToyOSArMDAwMCAgSnVsaWVuIE1vdXR0ZSA8anVsaWVuQG1vdXR0ZS5uZXQ+CgoJICBleHQvTWFrZWZpbGUuYW06IERpc2FibGUgYW5ub2RleCBmb3Igbm93IHVudGlsIHdlIGZpZ3VyZSBvdXQgaG93IHRvIG1ha2UgaXQgYnVpbGQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA2LTAyLTI0ICBKdWxpZW4gTU9VVFRFICA8anVsaWVuQG1vdXR0ZS5uZXQ+CgkgICogZXh0L01ha2VmaWxlLmFtOiBEaXNhYmxlIGFubm9kZXggZm9yIG5vdyB1bnRpbCB3ZSBmaWd1cmUgb3V0CgkgIGhvdyB0byBtYWtlIGl0IGJ1aWxkLgoJICAqIGV4dC9nZGtfcGl4YnVmL01ha2VmaWxlLmFtOiBOb3RlIGZvciBUaG9tYXMgOgoJICBBZGQgYSBydWxlIHRvIHlvdXIgY2hlY2tsaXN0IDogInBsZWFzZSB0cnkgdG8gYXQgbGVhc3QgYnVpbGQKCSAgd2hhdCB5b3UgYXJlIGdvaW5nIHRvIGNvbW1pdCBpbnRvIC1nb29kLCBvciBpZiB5b3UgYXJlIHRvbyBsYXp5CgkgIHRvIGRvIHRoYXQsIHBsZWFzZSBjaGVjayB0aGF0IHRoZSBidWlsZGJvdHMgYXJlIG5vdCBjcnlpbmcgYmVjYXVzZQoJICBvZiB5b3VyIGNvbW1pdC4iCgoyMDA2LTAyLTI0IDE5OjUxOjI5ICswMDAwICBFZGdhcmQgTGltYSA8ZWRnYXJkLmxpbWFAaW5kdC5vcmcuYnI+CgoJKiBDaGFuZ2VMb2c6CgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L01ha2VmaWxlLmFtOgoJKiBleHQvZ2RrX3BpeGJ1Zi9NYWtlZmlsZS5hbToKCSogZXh0L2dka19waXhidWYvZ3N0Z2RrcGl4YnVmLmM6CgkqIGV4dC9nZGtfcGl4YnVmL2dzdGdka3BpeGJ1Zi5oOgoJKiBleHQvZ2RrX3BpeGJ1Zi9waXhidWZzY2FsZS5jOgoJKiBleHQvZ2RrX3BpeGJ1Zi9waXhidWZzY2FsZS5oOgoJICBJJ20gdG9vIGxhenkgdG8gY29tbWVudCB0aGlzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBHZGtwaXhidWYgcG9ydGVkIGZyb20gMC44IHRvIDAuMTAgYnkgUmVuYXRvIEZpbGhvIDxyZW5hdG8uZmlsaG9AaW5kdC5vcmcuYnI+LiBnc3RfbG9hZGVyIGFuZCBnZGtwaXhidWZhbmltYXRpb24gc3RpbGwgbmVlZCBwb3J0LgoKMjAwNi0wMi0yNCAxOTo0OTozMiArMDAwMCAgRmFicml6aW8gR2VubmFyaSA8ZmFicml6aW8uZ2VAdGlzY2FsaS5pdD4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogQWRkIHN1cHBvcnQgZm9yIHBhbGV0dGlzZWQgQXBwbGUgU01DIHZpZGVvcyAoIzMyNzA3NSwgYmFzZWQgb24KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAoZ3N0X3F0ZGVtdXhfYWRkX3N0cmVhbSksCgkgIChxdGRlbXV4X3BhcnNlX3RyYWspLCAocXRkZW11eF92aWRlb19jYXBzKToKCSAgQWRkIHN1cHBvcnQgZm9yIHBhbGV0dGlzZWQgQXBwbGUgU01DIHZpZGVvcyAoIzMyNzA3NSwgYmFzZWQgb24KCSAgcGF0Y2ggYnk6IEZhYnJpemlvIEdlbm5hcmkgPGZhYnJpemlvIGRvdCBnZSBhdCB0aXNjYWxpIGRvdCBpdD4pLgoKMjAwNi0wMi0yNCAxOTowNzoxMCArMDAwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHhpcGgub3JnPgoKCSAgQWRkIEFubm9kZXggZWxlbWVudHMgZnJvbSBBbGVzc2VuZHJvIERlY2luYTogc2tlbGV0b24gYW5kIENNTUwuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgKiBleHQvTWFrZWZpbGUuYW06CgkgICogZXh0L2Fubm9kZXgvTWFrZWZpbGUuYW06CgkgICogZXh0L2Fubm9kZXgvZ3N0YW5ub2RleC5jOgoJICAqIGV4dC9hbm5vZGV4L2dzdGFubm9kZXguaDoKCSAgKiBleHQvYW5ub2RleC9nc3RjbW1sZGVjLmM6CgkgICogZXh0L2Fubm9kZXgvZ3N0Y21tbGRlYy5oOgoJICAqIGV4dC9hbm5vZGV4L2dzdGNtbWxlbmMuYzoKCSAgKiBleHQvYW5ub2RleC9nc3RjbW1sZW5jLmg6CgkgICogZXh0L2Fubm9kZXgvZ3N0Y21tbHBhcnNlci5jOgoJICAqIGV4dC9hbm5vZGV4L2dzdGNtbWxwYXJzZXIuaDoKCSAgKiBleHQvYW5ub2RleC9nc3RjbW1sdGFnLmM6CgkgICogZXh0L2Fubm9kZXgvZ3N0Y21tbHRhZy5oOgoJICAqIGV4dC9hbm5vZGV4L2dzdGNtbWx1dGlscy5jOgoJICAqIGV4dC9hbm5vZGV4L2dzdGNtbWx1dGlscy5oOgoJICAqIGV4dC9hbm5vZGV4L2dzdHNrZWxkZWMuYzoKCSAgKiBleHQvYW5ub2RleC9nc3Rza2VsZGVjLmg6CgkgICogZXh0L2Fubm9kZXgvZ3N0c2tlbHRhZy5jOgoJICAqIGV4dC9hbm5vZGV4L2dzdHNrZWx0YWcuaDoKCSAgKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jbW1sZGVjLmM6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvY21tbGVuYy5jOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3NrZWxkZWMuYzoKCSAgQWRkIEFubm9kZXggZWxlbWVudHMgZnJvbSBBbGVzc2VuZHJvIERlY2luYTogc2tlbGV0b24gYW5kIENNTUwuCgkgIEluY2x1ZGVzIHRlc3RzICYgZG9jcywgb2ggbXkhIFBhc3NlcyBUaG9tYXMncyAtZ29vZCBjaGVja2xpc3QKCSAgZW50aXJlbHkuIFdvdy4KCjIwMDYtMDItMjQgMTc6MDk6NTYgKzAwMDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEB4aXBoLm9yZz4KCgkgIGF1dG9nZW4uc2g6IENoZWNrIGZvciBhdXRvbWFrZSAxLjkgYXMgd2VsbC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogYXV0b2dlbi5zaDoKCSAgQ2hlY2sgZm9yIGF1dG9tYWtlIDEuOSBhcyB3ZWxsLgoKMjAwNi0wMi0yNCAxNDo0OTo0OCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC9mbGFjL2dzdGZsYWNlbmMuYzogQ2hhbmdlIG1pbi4gc2FtcGxlIHJhdGUgdG8gOGtIeiB0byBtYXRjaCBmbGFjZGVjJ3MuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9mbGFjL2dzdGZsYWNlbmMuYzoKCSAgQ2hhbmdlIG1pbi4gc2FtcGxlIHJhdGUgdG8gOGtIeiB0byBtYXRjaCBmbGFjZGVjJ3MuCgoyMDA2LTAyLTIzIDIwOjA4OjU4ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L2NkaW8vTWFrZWZpbGUuYW06IEFkZCBHU1RfQkFTRV9DRkxBR1MgYW5kIEdTVF9CQVNFX0xJQlMgKHNlZW1zIHRvIGJlIHJlcXVpcmVkIGZvciBDeWd3aW4sIHNlZSAjMzE3MDQ4KQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvY2Rpby9NYWtlZmlsZS5hbToKCSAgQWRkIEdTVF9CQVNFX0NGTEFHUyBhbmQgR1NUX0JBU0VfTElCUyAoc2VlbXMgdG8gYmUKCSAgcmVxdWlyZWQgZm9yIEN5Z3dpbiwgc2VlICMzMTcwNDgpCgkgICogZ3N0L3J0cC9nc3Rhc3Rlcmlza2gyNjMuYzoKCSAgQ3lnd2luIGhhcyBpbmNsdWRlcyBmb3IgYm90aCB0aGUgdW5peCBuZXR3b3JrIHNvY2tldCBBUEkKCSAgYW5kIHRoZSB3aW5kb3dzIEFQSSwgYnV0IG9ubHkgb25lIGNhbiBiZSBpbmNsdWRlZCwgc28gZml4CgkgIGluY2x1ZGVzIHRvIG9ubHkgdXNlIG9uZSBvciB0aGUgb3RoZXIsIHByZWZlcmluZyB0aGUgdW54aQoJICBvbmUgKCMzMTcwNDgpLgoKMjAwNi0wMi0yMyAxMjoyMToyNSArMDAwMCAgUGhpbGlwcGUgS2FsYWYgPHBoaWxpcHBlLmthbGFmQGNvbGxhYm9yYS5jby51az4KCgkgIHJ0cC9nc3QvOiBTZXBhcmF0ZWQgdGhlIEc3MTEgcGF5bG9hZGVycy9kZXBheWxvYWRlcnMgaW50byBzZXBhcmF0ZSBlbGVtZW50cyBmb3IgbXVsYXcvYWxhdy4gQWxzbyByZW1vdmVkIHRoZSBvbGQgZzcxMS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNi0wMi0yMyAgUGhpbGlwcGUgS2FsYWYgIDxwaGlsaXBwZS5rYWxhZiBhdCBjb2xsYWJvcmEuY28udWs+CgkgICogcnRwL2dzdC9nc3RydHBwY21hZGVwYXkuYzoKCSAgKiBydHAvZ3N0L2dzdHJ0cHBjbWFkZXBheS5oOgoJICAqIHJ0cC9nc3QvZ3N0Z3N0cnRwcGNtYXBheS5jOgoJICAqIHJ0cC9nc3QvZ3N0Z3N0cnRwcGNtYXBheS5oOgoJICAqIHJ0cC9nc3QvZ3N0cnRwcGNtdWRlcGF5LmM6CgkgICogcnRwL2dzdC9nc3RydHBwY211ZGVwYXkuaDoKCSAgKiBydHAvZ3N0L2dzdHJ0cHBjbXVwYXkuYzoKCSAgKiBydHAvZ3N0L2dzdHJ0cHBjbXVwYXkuaDoKCSAgKiBydHAvZ3N0L01ha2VmaWxlLmFtOgoJICAqIHJ0cC9nc3QvZ3N0cnRwLmM6CgkgICogcnRwL2dzdC9SRUFETUU6CgkgIFNlcGFyYXRlZCB0aGUgRzcxMSBwYXlsb2FkZXJzL2RlcGF5bG9hZGVycyBpbnRvIHNlcGFyYXRlIGVsZW1lbnRzIGZvcgoJICBtdWxhdy9hbGF3LiBBbHNvIHJlbW92ZWQgdGhlIG9sZCBnNzExIHBheWxvYWRlcnMvZGVwYXlsb2FkZXJzLgoKMjAwNi0wMi0yMiAyMDoyMjoyNSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGV4dC9kdi86IFVlYmVyIHNwaWZmaWZ5IHNvbWUgbW9yZSwgYWRkZWQgZGVidWcgY2F0ZWdvcnkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9kdi9nc3RkdmRlYy5jOiAoZ3N0X2R2ZGVjX2Jhc2VfaW5pdCksIChnc3RfZHZkZWNfaW5pdCksCgkgIChnc3RfZHZkZWNfY2hhbmdlX3N0YXRlKToKCSAgKiBleHQvZHYvZ3N0ZHZkZWMuaDoKCSAgKiBleHQvZHYvZ3N0ZHZkZW11eC5jOiAoZ3N0X2R2ZGVtdXhfYmFzZV9pbml0KSwgKGdzdF9kdmRlbXV4X2luaXQpLAoJICAoZ3N0X2R2ZGVtdXhfc3JjX2NvbnZlcnQpLCAoZ3N0X2R2ZGVtdXhfc2lua19jb252ZXJ0KSwKCSAgKGdzdF9kdmRlbXV4X3NyY19xdWVyeSksIChnc3RfZHZkZW11eF9zaW5rX3F1ZXJ5KSwKCSAgKGdzdF9kdmRlbXV4X2hhbmRsZV9zaW5rX2V2ZW50KSwgKGdzdF9kdmRlbXV4X2RlbXV4X2ZyYW1lKSwKCSAgKGdzdF9kdmRlbXV4X2ZsdXNoKSwgKGdzdF9kdmRlbXV4X2NoYWluKSwKCSAgKGdzdF9kdmRlbXV4X2NoYW5nZV9zdGF0ZSk6CgkgICogZXh0L2R2L2dzdGR2ZGVtdXguaDoKCSAgVWViZXIgc3BpZmZpZnkgc29tZSBtb3JlLCBhZGRlZCBkZWJ1ZyBjYXRlZ29yeS4KCSAgVXNlIF9zY2FsZS4KCSAgVXNlIHNlZ21lbnRzLCByZXNwZWN0IHBsYXliYWNrIHJhdGUgZnJvbSBuZXdzZWdtZW50LgoJICBGaXggcmVmY291bnQgaXNzdWUuCgoyMDA2LTAyLTIyIDA5OjMzOjI1ICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBBZGQgJ2R2c2QnIGFuZCAnZHYyNScgdG8gbGlzdCBvZiBwb3NzaWJsZSBmb3VyY2MgdmFsdWVzIGZvciBEViBWaWRlby4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFJldmlld2VkIGJ5IDogRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGZsdWVuZG8uY29tPgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKHF0ZGVtdXhfdmlkZW9fY2Fwcyk6CgkgIEFkZCAnZHZzZCcgYW5kICdkdjI1JyB0byBsaXN0IG9mIHBvc3NpYmxlIGZvdXJjYyB2YWx1ZXMgZm9yIERWIFZpZGVvLgoJICBBZGQgaW1hZ2UvcG5nIGZvciBmb3VyY2MgJ3BuZyAnCgoyMDA2LTAyLTIwIDIxOjE5OjU5ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIFBvcnQgeGltYWdlc3JjIHRvIDAuMTAgKENsb3NlcyAjMzA0Nzk1KQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgICogc3lzL01ha2VmaWxlLmFtOgoJICAqIHN5cy94aW1hZ2VzcmMvTWFrZWZpbGUuYW06CgkgICogc3lzL3hpbWFnZXNyYy94aW1hZ2VzcmMuYzogKGdzdF94aW1hZ2VzcmNfcmV0dXJuX2J1ZiksCgkgIChnc3RfeGltYWdlc3JjX29wZW5fZGlzcGxheSksIChnc3RfeGltYWdlc3JjX3N0YXJ0KSwKCSAgKGdzdF94aW1hZ2VzcmNfc3RvcCksIChnc3RfeGltYWdlc3JjX3VubG9jayksCgkgIChnc3RfeGltYWdlc3JjX3JlY2FsYyksIChjb21wb3NpdGVfcGl4ZWwpLAoJICAoZ3N0X3hpbWFnZXNyY194aW1hZ2VfZ2V0KSwgKGdzdF94aW1hZ2VzcmNfY3JlYXRlKSwKCSAgKGdzdF94aW1hZ2VzcmNfc2V0X3Byb3BlcnR5KSwgKGdzdF94aW1hZ2VzcmNfZ2V0X3Byb3BlcnR5KSwKCSAgKGdzdF94aW1hZ2VzcmNfY2xlYXJfYnVmcG9vbCksIChnc3RfeGltYWdlc3JjX2Jhc2VfaW5pdCksCgkgIChnc3RfeGltYWdlc3JjX2Rpc3Bvc2UpLCAoZ3N0X3hpbWFnZXNyY19maW5hbGl6ZSksCgkgIChnc3RfeGltYWdlc3JjX2dldF9jYXBzKSwgKGdzdF94aW1hZ2VzcmNfc2V0X2NhcHMpLAoJICAoZ3N0X3hpbWFnZXNyY19maXhhdGUpLCAoZ3N0X3hpbWFnZXNyY19jbGFzc19pbml0KSwKCSAgKGdzdF94aW1hZ2VzcmNfaW5pdCksIChwbHVnaW5faW5pdCk6CgkgICogc3lzL3hpbWFnZXNyYy94aW1hZ2VzcmMuaDoKCSAgKiBzeXMveGltYWdlc3JjL3hpbWFnZXV0aWwuYzogKHhpbWFnZXV0aWxfaGFuZGxlX3hlcnJvciksCgkgICh4aW1hZ2V1dGlsX2NoZWNrX3hzaG1fY2FsbHMpLCAoeGltYWdldXRpbF94Y29udGV4dF9nZXQpLAoJICAoeGltYWdldXRpbF94Y29udGV4dF9jbGVhciksCgkgICh4aW1hZ2V1dGlsX2NhbGN1bGF0ZV9waXhlbF9hc3BlY3RfcmF0aW8pLAoJICAoZ3N0X3hpbWFnZXNyY19idWZmZXJfZmluYWxpemUpLCAoZ3N0X3hpbWFnZV9idWZmZXJfZnJlZSksCgkgIChnc3RfeGltYWdlc3JjX2J1ZmZlcl9pbml0KSwgKGdzdF94aW1hZ2VzcmNfYnVmZmVyX2NsYXNzX2luaXQpLAoJICAoZ3N0X3hpbWFnZXNyY19idWZmZXJfZ2V0X3R5cGUpLCAoZ3N0X3hpbWFnZXV0aWxfeGltYWdlX25ldyksCgkgIChnc3RfeGltYWdldXRpbF94aW1hZ2VfZGVzdHJveSk6CgkgICogc3lzL3hpbWFnZXNyYy94aW1hZ2V1dGlsLmg6CgkgIFBvcnQgeGltYWdlc3JjIHRvIDAuMTAgKENsb3NlcyAjMzA0Nzk1KQoKPT09IHJlbGVhc2UgMC4xMC4xID09PQoKMjAwNi0wMi0yMCAxOToxMjoxMCArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBjb25maWd1cmUuYWM6IHJlbGVhc2luZyAwLjEwLjEsICJTbGlteSAtIHlldCBzYXRpc2Z5aW5nIgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNi0wMi0yMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgkgICogY29uZmlndXJlLmFjOgoJICByZWxlYXNpbmcgMC4xMC4xLCAiU2xpbXkgLSB5ZXQgc2F0aXNmeWluZyIKCjIwMDYtMDItMjAgMTM6MDg6NTAgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgZXh0L2xhZHNwYS9nc3RzaWduYWxwcm9jZXNzb3IuYzogRml4IGNvbXBpbGF0aW9uIG9mIExBRFBTQS4gSXQgZG9lc24ndCBzZWVtIHRvIHdvcmssIGFuZCBpc24ndCBlbmFibGVkIGZvciB0aGUgYnVpbGQsLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9sYWRzcGEvZ3N0c2lnbmFscHJvY2Vzc29yLmM6IChnc3Rfc2lnbmFsX3Byb2Nlc3Nvcl9ldmVudCksCgkgIChnc3Rfc2lnbmFsX3Byb2Nlc3Nvcl9wcm9jZXNzKToKCSAgRml4IGNvbXBpbGF0aW9uIG9mIExBRFBTQS4gSXQgZG9lc24ndCBzZWVtIHRvIHdvcmssIGFuZCBpc24ndAoJICBlbmFibGVkIGZvciB0aGUgYnVpbGQsIGJ1dCBpdCBoZWxwcyBtZSB3aW4gdGhlIGZlYXR1cmUtY291bnQKCSAgY29tcGV0aXRpb25zIG9vaCB5ZWFoLgoKMjAwNi0wMi0xOSAxNjowMjoyNSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzogVXNlIHNjYWxpbmcgY29kZSBmb3IgYWRkZWQgcHJlY2lzc2lvbiBhbmQgbW9yZSBjb3JyZWN0IHN0b3AgcG9zaXRpb24gaW4gY2FzZSBzY2FsZT09MC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOiAoZ3N0X2F2aV9kZW11eF9zcmNfY29udmVydCksCgkgIChnc3RfYXZpX2RlbXV4X2hhbmRsZV9zcmNfcXVlcnkpLCAoZ3N0X2F2aV9kZW11eF9oYW5kbGVfc3JjX2V2ZW50KSwKCSAgKGdzdF9hdmlfZGVtdXhfcGFyc2VfZmlsZV9oZWFkZXIpLCAoZ3N0X2F2aV9kZW11eF9zdHJlYW1faW5pdCksCgkgIChnc3RfYXZpX2RlbXV4X3BhcnNlX2F2aWgpLCAoZ3N0X2F2aV9kZW11eF9wYXJzZV9zdXBlcmluZGV4KSwKCSAgKGdzdF9hdmlfZGVtdXhfcGFyc2Vfc3ViaW5kZXgpLCAoZ3N0X2F2aV9kZW11eF9wYXJzZV9zdHJlYW0pLAoJICAoZ3N0X2F2aV9kZW11eF9zdHJlYW1faGVhZGVyKSwgKGdzdF9hdmlfZGVtdXhfY2hhbmdlX3N0YXRlKToKCSAgVXNlIHNjYWxpbmcgY29kZSBmb3IgYWRkZWQgcHJlY2lzc2lvbiBhbmQgbW9yZSBjb3JyZWN0IHN0b3AKCSAgcG9zaXRpb24gaW4gY2FzZSBzY2FsZT09MC4KCjIwMDYtMDItMTkgMTI6MDk6MTkgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvZmx4L2dzdGZseGRlYy4qOiBJbXBsZW1lbnQgRFVSQVRJT04gcXVlcnkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9mbHgvZ3N0Zmx4ZGVjLmM6IChnc3RfZmx4ZGVjX3NyY19xdWVyeV9oYW5kbGVyKSwKCSAgKGdzdF9mbHhkZWNfY2hhaW4pOgoJICAqIGdzdC9mbHgvZ3N0Zmx4ZGVjLmg6CgkgIEltcGxlbWVudCBEVVJBVElPTiBxdWVyeS4KCjIwMDYtMDItMTkgMTE6NTc6NTggKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvZmx4LzogU2V0IE1BTExPQ0RBVEEgZm9yIHRoZSB0ZW1wIGJ1ZmZlcnMgc28gd2UgZG9uJ3QgbGVhay4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2ZseC9mbHhfY29sb3IuaDoKCSAgKiBnc3QvZmx4L2ZseF9mbXQuaDoKCSAgKiBnc3QvZmx4L2dzdGZseGRlYy5jOiAoZ3N0X2ZseGRlY19pbml0KSwKCSAgKGdzdF9mbHhkZWNfc3JjX3F1ZXJ5X2hhbmRsZXIpLCAoZmx4X2RlY29kZV9jb2xvciksCgkgIChnc3RfZmx4ZGVjX2NoYWluKToKCSAgKiBnc3QvZmx4L2dzdGZseGRlYy5oOgoJICBTZXQgTUFMTE9DREFUQSBmb3IgdGhlIHRlbXAgYnVmZmVycyBzbyB3ZSBkb24ndCBsZWFrLgoJICBTb21lIGRlYnVnIGNsZWFudXBzLgoJICBDb25zdW1lIGFsbCBkYXRhIGluIHRoZSBhZGFwdGVyIGJlZm9yZSBsZWF2aW5nIHRoZSBjaGFpbgoJICBmdW5jdGlvbi4gRml4ZXMgIzMzMDY3OC4KCjIwMDYtMDItMTggMjA6NDg6MDkgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgZ3N0L2lkM2RlbXV4LzogSGFuZGxlIDAgZGF0YSBzaXplIGluIG90aGVyd2lzZSB2YWxpZCBmcmFtZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9pZDNkZW11eC9pZDN0YWdzLmM6IChpZDNkZW11eF9pZDN2Ml9mcmFtZXNfdG9fdGFnX2xpc3QpOgoJICAqIGdzdC9pZDNkZW11eC9pZDN2MmZyYW1lcy5jOiAoaWQzdjJfZ2VucmVfZmllbGRzX3RvX3RhZ2xpc3QpOgoJICBIYW5kbGUgMCBkYXRhIHNpemUgaW4gb3RoZXJ3aXNlIHZhbGlkIGZyYW1lcy4KCSAgSGFuZGxlIG51bWVyaWMgc3RyaW5ncyBpbiAyLjQuMCBldmVuIHdoZW4gbm90IGluIHBhcmVudGhlc2VzCgoyMDA2LTAyLTE4IDE3OjIwOjQ4ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L21hdHJvc2thLzogUmVjb2duaXNlIFNTQS9BU1MgYW5kIFVTRiBzdWJ0aXRsZSBmb3JtYXRzIGFuZCBzZXQgcHJvcGVyIGNhcHMgd2hlbiB0aGV5IGFyZSBmb3VuZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIChnc3RfbWF0cm9za2FfZGVtdXhfc3VidGl0bGVfY2FwcyksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfcGx1Z2luX2luaXQpOgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1pZHMuaDoKCSAgUmVjb2duaXNlIFNTQS9BU1MgYW5kIFVTRiBzdWJ0aXRsZSBmb3JtYXRzIGFuZAoJICBzZXQgcHJvcGVyIGNhcHMgd2hlbiB0aGV5IGFyZSBmb3VuZC4KCjIwMDYtMDItMTcgMTg6MjU6NDIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IERvbid0IEdTVF9MT0cgdGltZXN0YW1wcyBmcm9tIG5vbmV4aXN0ZW50IGluZGV4IGVudHJpZXMgKCMzMzE1ODIpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChnc3RfcXRkZW11eF9sb29wX3N0YXRlX21vdmllKToKCSAgRG9uJ3QgR1NUX0xPRyB0aW1lc3RhbXBzIGZyb20gbm9uZXhpc3RlbnQgaW5kZXgKCSAgZW50cmllcyAoIzMzMTU4MikuCgoyMDA2LTAyLTE3IDE3OjU0OjA1ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L2pwZWcvZ3N0anBlZ2RlYy5jOiBGaXggaW52YWxpZCBtZW1vcnkgYWNjZXNzIGZvciBzb21lIG9kZC1zaXplZCBpbWFnZXMgKHNlZSBpbWFnZSBjb250YWluZWQgaW4gcXVpY2t0aW1lIHN0cmVhbSBpLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9qcGVnL2dzdGpwZWdkZWMuYzogKGdzdF9qcGVnX2RlY19kZWNvZGVfZGlyZWN0KSwKCSAgKGdzdF9qcGVnX2RlY19jaGFpbik6CgkgIEZpeCBpbnZhbGlkIG1lbW9yeSBhY2Nlc3MgZm9yIHNvbWUgb2RkLXNpemVkIGltYWdlcwoJICAoc2VlIGltYWdlIGNvbnRhaW5lZCBpbiBxdWlja3RpbWUgc3RyZWFtIGluICMzMjcwODMpOwoJICB1c2UgZ19tYWxsb2MoKSBpbnN0ZWFkIG9mIGdfYWxsb2NhKCkuCgoyMDA2LTAyLTE3IDE2OjI4OjI5ICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBDaGVjayB0aGF0IHRoZSBzaXplIG9mIHRoZSByZXR1cm5lZCBidWZmZXIgaXMgb2YgdGhlIGNvcnJlY3Qgc2l6ZSBiZWNhdXNlIHRoZSBwYXJzZXIgYXNzdW1lcyB0Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKGdzdF9xdGRlbXV4X2xvb3Bfc3RhdGVfaGVhZGVyKToKCSAgQ2hlY2sgdGhhdCB0aGUgc2l6ZSBvZiB0aGUgcmV0dXJuZWQgYnVmZmVyIGlzIG9mIHRoZSBjb3JyZWN0IHNpemUKCSAgYmVjYXVzZSB0aGUgcGFyc2VyIGFzc3VtZXMgdGhhdC4KCSAgRml4ZXMgIzMzMTU0My4KCjIwMDYtMDItMTcgMTU6Mzc6MzggKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwL2dzdHJ0cGFtcmRlcGF5LmM6IFBhdGNoIGZyb20gU2ViYXN0aWVuIENvdGUsIGZpeGVzICMzMTk4ODQKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cC9nc3RydHBhbXJkZXBheS5jOiAoZ3N0X3J0cF9hbXJfZGVwYXlfY2hhaW4pOgoJICBQYXRjaCBmcm9tIFNlYmFzdGllbiBDb3RlLCBmaXhlcyAjMzE5ODg0CgoyMDA2LTAyLTE3IDExOjE5OjM0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L2NkaW8vZ3N0Y2Rpby5jOiBJbml0IGRlYnVnIGNhdGVnb3J5ICgjMzMxMjUzKS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2NkaW8vZ3N0Y2Rpby5jOiAocGx1Z2luX2luaXQpOgoJICBJbml0IGRlYnVnIGNhdGVnb3J5ICgjMzMxMjUzKS4KCjIwMDYtMDItMTcgMTA6NTM6MzggKzAwMDAgIENocmlzdGlhbiBTY2hhbGxlciA8dXJhZXVzQGdub21lLm9yZz4KCgkqIGV4dC9nY29uZi9nY29uZi5jOgoJKiBleHQvZ2NvbmYvZ2NvbmYuaDoKCSogZXh0L2djb25mL2dzdGdjb25mYXVkaW9zaW5rLmM6CgkqIGV4dC9nY29uZi9nc3RnY29uZmF1ZGlvc2luay5oOgoJKiBnY29uZi9nc3RyZWFtZXIuc2NoZW1hcy5pbjoKCSogZ3N0LXBsdWdpbnMtZ29vZC5zcGVjLmluOgoJICBhZGQgSnVyZydzIHBhdGNoIGZvciBtdWx0aWRldmljZSBzdXBwb3J0CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBhZGQgSnVyZydzIHBhdGNoIGZvciBtdWx0aWRldmljZSBzdXBwb3J0CgoyMDA2LTAyLTE2IDIwOjMwOjEzICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6IFBhc3MgZXh0cmFfZGF0YSB0byBnc3RfcmlmZl9jcmVhdGVfYXVkaW9fY2FwcygpLCBzbyB0aGF0CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOiAoZ3N0X3dhdnBhcnNlX3N0cmVhbV9oZWFkZXJzKToKCSAgUGFzcyBleHRyYV9kYXRhIHRvIGdzdF9yaWZmX2NyZWF0ZV9hdWRpb19jYXBzKCksIHNvIHRoYXQKCSAgV0FWRUZPUk1BVEVYIHN0dWZmIHdvcmtzLiBQb3N0IGF1ZGlvIGNvZGVjIG5hbWUgYW5kIHBvc3QKCSAgaXQgYXMgdGFnbGlzdCBvbiB0aGUgYnVzLiBBbGxvdyB1cCB0byA4IGNoYW5uZXNsIGZvciByYXcKCSAgUENNIGluIHRoZSBzb3VyY2UgcGFkIHRlbXBsYXRlIGNhcHMuCgoyMDA2LTAyLTE2IDE2OjUzOjUyICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L211bHRpcGFydC9tdWx0aXBhcnRkZW11eC5jOiBBcHBsaWVkICMzMTg2NjMuIEdpdmVzIHF1aXRlIGEgZmV3IGZhbHNlIHBvc2l0aXZlcyBpbiBhdXRvc2NhbiBtb2RlLCBidXQgaXQncyBiZXR0ZXIgLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tdWx0aXBhcnQvbXVsdGlwYXJ0ZGVtdXguYzogKGdzdF9tdWx0aXBhcnRfZGVtdXhfYmFzZV9pbml0KSwKCSAgKGdzdF9tdWx0aXBhcnRfZGVtdXhfY2xhc3NfaW5pdCksIChnc3RfbXVsdGlwYXJ0X2RlbXV4X2luaXQpLAoJICAoZ3N0X211bHRpcGFydF9kZW11eF9maW5hbGl6ZSksIChnc3RfbXVsdGlwYXJ0X2ZpbmRfcGFkX2J5X21pbWUpLAoJICAoZ3N0X211bHRpcGFydF9kZW11eF9jaGFpbiksIChnc3RfbXVsdGlwYXJ0X2RlbXV4X2NoYW5nZV9zdGF0ZSksCgkgIChnc3RfbXVsdGlwYXJ0X3NldF9wcm9wZXJ0eSksIChnc3RfbXVsdGlwYXJ0X2dldF9wcm9wZXJ0eSk6CgkgIEFwcGxpZWQgIzMxODY2My4gR2l2ZXMgcXVpdGUgYSBmZXcgZmFsc2UgcG9zaXRpdmVzIGluCgkgIGF1dG9zY2FuIG1vZGUsIGJ1dCBpdCdzIGJldHRlciB0aGFuIG5vdGhpbmcuIE5vdCBjbG9zaW5nIHlldC4KCjIwMDYtMDItMTYgMTQ6MTM6NDggKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBVcGRhdGUgZG9jdW1lbnRhdGlvbi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtZG9jcy5zZ21sOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuYXJnczoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdWRwLnhtbDoKCSAgKiBnc3QvdWRwL2dzdHVkcHNyYy5jOiAoZ3N0X3VkcHNyY19jbGFzc19pbml0KSwgKGdzdF91ZHBzcmNfaW5pdCksCgkgIChnc3RfdWRwc3JjX3N0YXJ0KToKCSAgVXBkYXRlIGRvY3VtZW50YXRpb24uCgkgIEZpeCBhcmdzLgoKMjAwNi0wMi0xNiAxNDowMjo1NyArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogRG9uJ3Qgc3RvcCB0aGUgdGFzayBpZiB0aGUgcGFkIGlzbid0IGxpbmtlZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAoZ3N0X3F0ZGVtdXhfaGFuZGxlX3NyY19ldmVudCksCgkgIChnc3RfcXRkZW11eF9sb29wKSwgKHF0ZGVtdXhfc2lua19hY3RpdmF0ZV9wdWxsKToKCSAgRG9uJ3Qgc3RvcCB0aGUgdGFzayBpZiB0aGUgcGFkIGlzbid0IGxpbmtlZC4KCjIwMDYtMDItMTYgMTA6NTg6MTggKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgZ3N0L2lkM2RlbXV4L2lkM3RhZ3MuYzogSUQzIDIuMy4wIHVzZWQgc3luY2gtc2FmZSBpbnRlZ2VycyBmb3IgdGhlIHRhZyBzaXplLCBidXQgbm90IGZvciB0aGUgZnJhbWUgc2l6ZS4gKEZpeGVzICMzMzEzNjgpCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9pZDNkZW11eC9pZDN0YWdzLmM6IChpZDNkZW11eF9pZDN2Ml9mcmFtZXNfdG9fdGFnX2xpc3QpOgoJICBJRDMgMi4zLjAgdXNlZCBzeW5jaC1zYWZlIGludGVnZXJzIGZvciB0aGUgdGFnIHNpemUsIGJ1dCBub3QgZm9yIHRoZQoJICBmcmFtZSBzaXplLiAoRml4ZXMgIzMzMTM2OCkKCjIwMDYtMDItMTYgMTA6NDI6MjUgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRzcC9SRUFETUU6IFVwZGF0ZWQgUkVBRE1FLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRzcC9SRUFETUU6CgkgIFVwZGF0ZWQgUkVBRE1FLgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogKGdzdF9ydHNwc3JjX2dldF90eXBlKSwKCSAgKGdzdF9ydHNwc3JjX2NsYXNzX2luaXQpLCAoZ3N0X3J0c3BzcmNfc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9ydHNwc3JjX2dldF9wcm9wZXJ0eSksIChnc3RfcnRzcHNyY19zdHJlYW1fc2V0dXBfcnRwKToKCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmg6CgkgIE1ha2Ugc3VyZSB0aGUgUlRQIHBvcnQgaXMgYW4gZXZlbiBwb3J0IGFuIHRyeSB0byBhbGxvY2F0ZQoJICBhbm90aGVyIGlmIG5vdC4KCSAgQWRkZWQgcmV0cnkgcHJvcGVydHkgdG8gY29udHJvbCBtYXggcmV0cmllcyBmb3IgcG9ydCBhbGxvY2F0aW9uLgoJICBNYWtlIHN1cmUgUlRDUCBwb3J0IGlzIFJUUCBwb3J0KzEuCgkgIENsZWFudXAgd2hlbiBwb3J0IGFsbG9jYXRpb24gZmFpbHMuCgkgIEZpeGVzICMzMTkxODMuCgoyMDA2LTAyLTE2IDA5OjE3OjU4ICswMDAwICBXb3V0ZXIgUGFlc2VuIDx3b3V0ZXJAa2FuZ2Fyb290Lm5ldD4KCgkgIGdzdC9hbHBoYS9nc3RhbHBoYS5jOiBEb24ndCBpZ25vcmUgcmV0dXJuIHZhbHVlIG9mIHRoZSBwYXJlbnQgY2xhc3MncyBzdGF0ZQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYWxwaGEvZ3N0YWxwaGEuYzogKGdzdF9hbHBoYV9jaGFuZ2Vfc3RhdGUpOgoJICBEb24ndCBpZ25vcmUgcmV0dXJuIHZhbHVlIG9mIHRoZSBwYXJlbnQgY2xhc3MncyBzdGF0ZQoJICBjaGFuZ2UgZnVuY3Rpb24gKCMzMzEzODUsIHBhdGNoIGJ5OiBXb3V0ZXIgUGFlc2VuKS4KCjIwMDYtMDItMTUgMTI6MTc6MjggKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBBZGQgSEFMIHNvdW5kIGRldmljZSB3cmFwcGVyIHBsdWdpbnMuIENsb3NlcyAjMzI5MTA2CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1kb2NzLnNnbWw6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5oaWVyYXJjaHk6CgkgICogZXh0L01ha2VmaWxlLmFtOgoJICAqIGV4dC9oYWwvTWFrZWZpbGUuYW06CgkgICogZXh0L2hhbC9nc3RoYWxhdWRpb3NpbmsuYzogKGdzdF9oYWxfYXVkaW9fc2lua19iYXNlX2luaXQpLAoJICAoZ3N0X2hhbF9hdWRpb19zaW5rX2NsYXNzX2luaXQpLCAoZ3N0X2hhbF9hdWRpb19zaW5rX3Jlc2V0KSwKCSAgKGdzdF9oYWxfYXVkaW9fc2lua19pbml0KSwgKGdzdF9oYWxfYXVkaW9fc2lua19kaXNwb3NlKSwKCSAgKGRvX3RvZ2dsZV9lbGVtZW50KSwgKGdzdF9oYWxfYXVkaW9fc2lua19zZXRfcHJvcGVydHkpLAoJICAoZ3N0X2hhbF9hdWRpb19zaW5rX2dldF9wcm9wZXJ0eSksCgkgIChnc3RfaGFsX2F1ZGlvX3NpbmtfY2hhbmdlX3N0YXRlKToKCSAgKiBleHQvaGFsL2dzdGhhbGF1ZGlvc2luay5oOgoJICAqIGV4dC9oYWwvZ3N0aGFsYXVkaW9zcmMuYzogKGdzdF9oYWxfYXVkaW9fc3JjX2Jhc2VfaW5pdCksCgkgIChnc3RfaGFsX2F1ZGlvX3NyY19jbGFzc19pbml0KSwgKGdzdF9oYWxfYXVkaW9fc3JjX3Jlc2V0KSwKCSAgKGdzdF9oYWxfYXVkaW9fc3JjX2luaXQpLCAoZ3N0X2hhbF9hdWRpb19zcmNfZGlzcG9zZSksCgkgIChkb190b2dnbGVfZWxlbWVudCksIChnc3RfaGFsX2F1ZGlvX3NyY19zZXRfcHJvcGVydHkpLAoJICAoZ3N0X2hhbF9hdWRpb19zcmNfZ2V0X3Byb3BlcnR5KSwgKGdzdF9oYWxfYXVkaW9fc3JjX2NoYW5nZV9zdGF0ZSk6CgkgICogZXh0L2hhbC9nc3RoYWxhdWRpb3NyYy5oOgoJICAqIGV4dC9oYWwvZ3N0aGFsZWxlbWVudHMuYzogKHBsdWdpbl9pbml0KToKCSAgKiBleHQvaGFsL2dzdGhhbGVsZW1lbnRzLmg6CgkgICogZXh0L2hhbC9oYWwuYzogKGdzdF9oYWxfZ2V0X3N0cmluZyksCgkgIChnc3RfaGFsX3JlbmRlcl9iaW5fZnJvbV91ZGkpLCAoZ3N0X2hhbF9nZXRfYXVkaW9fc2luayksCgkgIChnc3RfaGFsX2dldF9hdWRpb19zcmMpOgoJICAqIGV4dC9oYWwvaGFsLmg6CgkgIEFkZCBIQUwgc291bmQgZGV2aWNlIHdyYXBwZXIgcGx1Z2lucy4gQ2xvc2VzICMzMjkxMDYKCjIwMDYtMDItMTUgMTI6MTM6NDcgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IEl0IGFwcGVhcnMgMTAwJSBlcXVhbHMgMS8xIGFuZCBub3QgMTAwLzEgLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKGdzdF9xdGRlbXV4X2NoYWluKToKCSAgSXQgYXBwZWFycyAxMDAlIGVxdWFscyAxLzEgYW5kIG5vdCAxMDAvMSAuLi4KCjIwMDYtMDItMTUgMTA6MTU6NDcgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6IEFkZCBjb21tZW50IGluIGEgZnVsdGlsZSBhdHRlbXB0IHRvIHN0b3AgdGhlIGNvcHktYW5kLXBhc3RlIHBhcmFkaWdtIGxlYWRpbmcgdG8gZHVwbGljYXRpb24gb2YuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOiAoZ3N0X2F2aV9kZW11eF9oYW5kbGVfc3JjX2V2ZW50KToKCSAgQWRkIGNvbW1lbnQgaW4gYSBmdWx0aWxlIGF0dGVtcHQgdG8gc3RvcCB0aGUgY29weS1hbmQtcGFzdGUKCSAgcGFyYWRpZ20gbGVhZGluZyB0byBkdXBsaWNhdGlvbiBvZiBiYWQgY29kZS4KCSAgKiBnc3QvcnRzcC9ydHNwdHJhbnNwb3J0LmM6IChydHNwX3RyYW5zcG9ydF9wYXJzZSk6CgkgIE1pbWUgcGFyYW1ldGVycyBoYXZlIHRvIGJlIGNoZWNrZWQgY2FzZSBpbnNlbnNpdGl2ZQoKMjAwNi0wMi0xNSAwOTo0NToyNyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogV2hlbiBidWZmZXJpbmcgTURBVCBkYXRhLCBzaG93IHRoZSB1c2VyIHNvbWV0aGluZyBpcyBoYXBwZW5pbmcgYnkgcG9zdGluZyAnYnVmZmVyaW5nJyBtZXNzYWdlcy4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChnc3RfcXRkZW11eF9wb3N0X2J1ZmZlcmluZyksCgkgIChnc3RfcXRkZW11eF9jaGFpbik6CgkgIFdoZW4gYnVmZmVyaW5nIE1EQVQgZGF0YSwgc2hvdyB0aGUgdXNlciBzb21ldGhpbmcgaXMKCSAgaGFwcGVuaW5nIGJ5IHBvc3RpbmcgJ2J1ZmZlcmluZycgbWVzc2FnZXMgb24gdGhlIGJ1cy4KCjIwMDYtMDItMTQgMjM6MjM6MDggKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzogQWR2YW5jZSBzdHJlYW0gdGltZSBmb3IgbGFnZ2luZyBzdWJ0aXRsZSBzdHJlYW1zIGJ5IHNlbmRpbmcgbmV3c2VnbWVudCBldmVudHMgd2l0aCB0aGUuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6IChnc3RfbWF0cm9za2FfZGVtdXhfc3luY19zdHJlYW1zKToKCSAgQWR2YW5jZSBzdHJlYW0gdGltZSBmb3IgbGFnZ2luZyBzdWJ0aXRsZSBzdHJlYW1zIGJ5IHNlbmRpbmcKCSAgbmV3c2VnbWVudCBldmVudHMgd2l0aCB0aGUgdXBkYXRlIGZsYWcgc2V0LgoKMjAwNi0wMi0xNCAxODo1MDoxMyArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguKjogTWFrZSBwdXNoLWJhc2VkIHdvcmsgaWYgbWRhdCBhdG9tIGlzIGJlZm9yZSBtb292IGF0b20uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKGdzdF9xdGRlbXV4X2luaXQpLAoJICAoZ3N0X3F0ZGVtdXhfaGFuZGxlX3NyY19xdWVyeSksIChnc3RfcXRkZW11eF9jaGFuZ2Vfc3RhdGUpLAoJICAobmV4dF9lbnRyeV9zaXplKSwgKGdzdF9xdGRlbXV4X2NoYWluKToKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4Lmg6CgkgIE1ha2UgcHVzaC1iYXNlZCB3b3JrIGlmIG1kYXQgYXRvbSBpcyBiZWZvcmUgbW9vdiBhdG9tLgoJICBEb24ndCBhbnN3ZXIgZHVyYXRpb24gcXVlcnkuIFRoaXMgc2hvdWxkIGJlIHRyYW5zZm9ybWVkIGludG8gcmVwbHlpbmcKCSAgRkFMU0UgdG8gc2VlayBldmVudHMuCgoyMDA2LTAyLTE0IDE2OjU4OjMwICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgZ3N0L2F2aS9nc3RhdmlkZW11eC5jOiBUaGVyZSBjYW4gYmUgYm9ndXMgZGF0YSBiZWZvcmUgdGhlIGhkcmwgTElTVCB0YWcgaW4gdGhlIFJJRkYgaGVhZGVyLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6IChnc3RfYXZpX2RlbXV4X3N0cmVhbV9oZWFkZXIpOgoJICBUaGVyZSBjYW4gYmUgYm9ndXMgZGF0YSBiZWZvcmUgdGhlIGhkcmwgTElTVCB0YWcgaW4gdGhlIFJJRkYgaGVhZGVyLgoJICBJdCdzIGhhcmQgdG8gc2F5IGlmIGl0J3Mgbm90IHJlc3BlY3RpbmcgdGhlIEFWSSBzcGVjaWZpY2F0aW9ucyBvciBub3QsCgkgIGJ1dCBzaW5jZSBHb29nbGUgVmlkZW8gaXMgcHJvZHVjaW5nIEFWSXMgbGlrZSB0aGF0IGFuZCB0aGUgb3RoZXIgcGxheWVyCgkgIGRvbid0IHNlZW0gdG8gY29tcGxhaW4sIEkgZ3Vlc3Mgd2Ugc2hvdWxkIGRvIHRoZSBzYW1lLgoKMjAwNi0wMi0xNCAxMToyNDo1MyArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogSGFuZGxlIHRoZSBjYXNlIHdoZXJlIGRhdGEgYXRvbXMgYXJlIGJlZm9yZSBtb292IGF0b21zIGluIHB1c2gtYmFzZWQgbW9kZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAobmV4dF9lbnRyeV9zaXplKSwgKGdzdF9xdGRlbXV4X2NoYWluKToKCSAgSGFuZGxlIHRoZSBjYXNlIHdoZXJlIGRhdGEgYXRvbXMgYXJlIGJlZm9yZSBtb292IGF0b21zIGluIHB1c2gtYmFzZWQgbW9kZS4KCSAgRXJyb3JzIG91dCBncmFjZWZ1bGx5LgoKMjAwNi0wMi0xMyAyMjowNDo0MiArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIGdzdC9xdGRlbXV4LzogUXREZW11eCBjYW4gbm93IHdvcmsgcHVzaC1iYXNlZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvTWFrZWZpbGUuYW06CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAoZ3N0X3F0ZGVtdXhfaW5pdCksCgkgIChnc3RfcXRkZW11eF9oYW5kbGVfc2lua19ldmVudCksIChnc3RfcXRkZW11eF9jaGFuZ2Vfc3RhdGUpLAoJICAoZXh0cmFjdF9pbml0aWFsX2xlbmd0aF9hbmRfZm91cmNjKSwKCSAgKGdzdF9xdGRlbXV4X2xvb3Bfc3RhdGVfaGVhZGVyKSwgKGdzdF9xdGRlbXV4X2xvb3Bfc3RhdGVfbW92aWUpLAoJICAoZ3N0X3F0ZGVtdXhfbG9vcF9oZWFkZXIpLCAobmV4dF9lbnRyeV9zaXplKSwgKGdzdF9xdGRlbXV4X2NoYWluKSwKCSAgKHF0ZGVtdXhfc2lua19hY3RpdmF0ZSksIChxdGRlbXV4X3NpbmtfYWN0aXZhdGVfcHVsbCksCgkgIChxdGRlbXV4X3NpbmtfYWN0aXZhdGVfcHVzaCksIChxdGRlbXV4X3BhcnNlX3RyYWspOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguaDoKCSAgUXREZW11eCBjYW4gbm93IHdvcmsgcHVzaC1iYXNlZC4KCSAgSXQgc3RpbGwgbmVlZHMgc29tZSBsb3ZlIGZvciBzZWVraW5nLgoKMjAwNi0wMi0xMyAxMjowMDo1MSArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBnc3QvaWQzZGVtdXgvaWQzdjJmcmFtZXMuYzogQWRkIG1vcmUgdmFsaWRhdGlvbiB0byBlbnN1cmUgdGhhdCBhIGNoYXIgZW5jb2RpbmcgY29udmVyc2lvbiBwcm9kdWNlZCBhIHZhbGlkIFVURi04IHN0cmluZy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2lkM2RlbXV4L2lkM3YyZnJhbWVzLmM6IChwYXJzZV9pbnNlcnRfc3RyaW5nX2ZpZWxkKSwKCSAgKHBhcnNlX3NwbGl0X3N0cmluZ3MpOgoJICBBZGQgbW9yZSB2YWxpZGF0aW9uIHRvIGVuc3VyZSB0aGF0IGEgY2hhciBlbmNvZGluZyBjb252ZXJzaW9uCgkgIHByb2R1Y2VkIGEgdmFsaWQgVVRGLTggc3RyaW5nLgoKMjAwNi0wMi0xMyAxMDo0MzoxNSArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzogUHJvcGVybHkgaGFuZGxlIGVuZCBvZiBzZWdtZW50LiBDbG9zZXMgIzMzMDg4NS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFJldmlld2VkIGJ5OiBFZHdhcmQgSGVydmV5ICA8ZWR3YXJkQGZsdWVuZG8uY29tPgoJICAqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzogKGdzdF9hdmlfZGVtdXhfcHJvY2Vzc19uZXh0X2VudHJ5KToKCSAgUHJvcGVybHkgaGFuZGxlIGVuZCBvZiBzZWdtZW50LiBDbG9zZXMgIzMzMDg4NS4KCjIwMDYtMDItMTMgMTA6MzY6MjMgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwL2dzdHJ0cG1wNGdwYXkuaDogRm9yIGdvdCB0byBjb21taXQgdGhpcyBvbmUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHAvZ3N0cnRwbXA0Z3BheS5oOgoJICBGb3IgZ290IHRvIGNvbW1pdCB0aGlzIG9uZS4KCjIwMDYtMDItMTIgMTg6NTk6MzYgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwL2dzdHJ0cG1wNGdwYXkuKjogTWFrZSBtb3JlIHRoaW5ncyB3b3JrLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwL2dzdHJ0cG1wNGdwYXkuYzogKGdzdF9ydHBfbXA0Z19wYXlfY2xhc3NfaW5pdCksCgkgIChnc3RfcnRwX21wNGdfcGF5X2luaXQpLCAoZ3N0X3J0cF9tcDRnX3BheV9wYXJzZV9hdWRpb19jb25maWcpLAoJICAoZ3N0X3J0cF9tcDRnX3BheV9wYXJzZV92aWRlb19jb25maWcpLCAoZ3N0X3J0cF9tcDRnX3BheV9uZXdfY2FwcyksCgkgIChnc3RfcnRwX21wNGdfcGF5X3NldGNhcHMpLCAoZ3N0X3J0cF9tcDRnX3BheV9mbHVzaCk6CgkgICogZ3N0L3J0cC9nc3RydHBtcDRncGF5Lmg6CgkgIE1ha2UgbW9yZSB0aGluZ3Mgd29yay4KCSAgSGFuZGxlIEFDQyBjb25maWcgc3RyaW5ncy4KCjIwMDYtMDItMTIgMTM6MTA6MjAgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSAgZ3N0L3J0cC9nc3RydHBhbXJwYXkuYzogc2V0IHRpbWVzdGFtcHMgaWYgbm8gaW5jb21pbmcgdGltZXN0YW1wcyBzZXQKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cC9nc3RydHBhbXJwYXkuYzogKGdzdF9ydHBfYW1yX3BheV9oYW5kbGVfYnVmZmVyKToKCSAgc2V0IHRpbWVzdGFtcHMgaWYgbm8gaW5jb21pbmcgdGltZXN0YW1wcyBzZXQKCjIwMDYtMDItMTEgMTM6NTQ6MjYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvYXBldGFnL2dzdHRhZ2RlbXV4LmM6IC4uLiBhbmQgZml4IHRoZSB2ZXJ5IHNhbWUgbGVha3MgaW4gR3N0VGFnRGVtdXguCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hcGV0YWcvZ3N0dGFnZGVtdXguYzogKGdzdF90YWdfZGVtdXhfZ2V0X3Vwc3RyZWFtX3NpemUpLAoJICAoZ3N0X3RhZ19kZW11eF9kb190eXBlZmluZCk6CgkgIC4uLiBhbmQgZml4IHRoZSB2ZXJ5IHNhbWUgbGVha3MgaW4gR3N0VGFnRGVtdXguCgoyMDA2LTAyLTExIDEzOjM1OjEzICswMDAwICBKb24gVHJvd2JyaWRnZSA8dHJvd0B4aW1pYW4uY29tPgoKCSAgZ3N0L2lkM2RlbXV4L2dzdGlkM2RlbXV4LmM6CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9pZDNkZW11eC9nc3RpZDNkZW11eC5jOiAoaWQzZGVtdXhfZ2V0X3Vwc3RyZWFtX3NpemUpLAoJICAoZ3N0X2lkM2RlbXV4X2RvX3R5cGVmaW5kKToKCSAgRml4IGEgY291cGxlIG9mIG1lbSBsZWFrcy4gKFBhdGNoIGJ5IEpvbmF0aGFuIE1hdHRoZXcKCSAgPGpvbmF0aGFuIGF0IGthb2xpbiBkb3Qgd2g5IGRvdCBuZXQ+KQoKMjAwNi0wMi0xMCAxNzozNzozOSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHAvZ3N0cnRwbXA0dnBheS5jOiBGaXJzdCBzZXQgb3B0aW9ucywgdGhlbiBzZXQgY2FwcyBvciBlbHNlIHRoZSBiYXNlY2xhc3Mgd2lsbCBub3Qga25vdyBhYm91dCB0aGUgb3B0aW9ucywgZHVoLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwL2dzdHJ0cG1wNHZwYXkuYzogKGdzdF9ydHBfbXA0dl9wYXlfc2V0Y2Fwcyk6CgkgIEZpcnN0IHNldCBvcHRpb25zLCB0aGVuIHNldCBjYXBzIG9yIGVsc2UgdGhlIGJhc2VjbGFzcwoJICB3aWxsIG5vdCBrbm93IGFib3V0IHRoZSBvcHRpb25zLCBkdWguCgoyMDA2LTAyLTEwIDE3OjE2OjU1ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cC9nc3RydHBtcDR2cGF5LmM6IERvbid0IHdhc3RlIHRpbWUgbG9va2luZyBmb3IgYSBjb25maWcgc3RyaW5nIGlmIHdlIGhhdmUgY29kZWNfaW5mbyBvbiB0aGUgaW5jb21taW5nIGNhcHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHAvZ3N0cnRwbXA0dnBheS5jOiAoZ3N0X3J0cF9tcDR2X3BheV9jbGFzc19pbml0KSwKCSAgKGdzdF9ydHBfbXA0dl9wYXlfc2V0Y2Fwcyk6CgkgIERvbid0IHdhc3RlIHRpbWUgbG9va2luZyBmb3IgYSBjb25maWcgc3RyaW5nIGlmIHdlIGhhdmUgY29kZWNfaW5mbwoJICBvbiB0aGUgaW5jb21taW5nIGNhcHMuCgoyMDA2LTAyLTEwIDE2OjQwOjU4ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cC9SRUFETUU6IFNheSBzb21ldGhpbmcgYWJvdXQgY2FzZS1zZW5zaXRpdml0eSBvZiBjYXBzIHZzIG1pbWUtYXR0cmlidXRlcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cC9SRUFETUU6CgkgIFNheSBzb21ldGhpbmcgYWJvdXQgY2FzZS1zZW5zaXRpdml0eSBvZiBjYXBzIHZzIG1pbWUtYXR0cmlidXRlcy4KCSAgKiBnc3QvcnRwL01ha2VmaWxlLmFtOgoJICAqIGdzdC9ydHAvZ3N0cnRwLmM6IChwbHVnaW5faW5pdCk6CgkgICogZ3N0L3J0cC9nc3RydHBhbXJwYXkuYzogKGdzdF9ydHBfYW1yX3BheV9jbGFzc19pbml0KSwKCSAgKGdzdF9ydHBfYW1yX3BheV9oYW5kbGVfYnVmZmVyKToKCSAgKiBnc3QvcnRwL2dzdHJ0cG1wNGdwYXkuYzogKGdzdF9ydHBfbXA0Z19wYXlfZ2V0X3R5cGUpLAoJICAoZ3N0X3J0cF9tcDRnX3BheV9iYXNlX2luaXQpLCAoZ3N0X3J0cF9tcDRnX3BheV9jbGFzc19pbml0KSwKCSAgKGdzdF9ydHBfbXA0Z19wYXlfaW5pdCksIChnc3RfcnRwX21wNGdfcGF5X2ZpbmFsaXplKSwKCSAgKGdzdF9ydHBfbXA0Z19wYXlfbmV3X2NhcHMpLCAoZ3N0X3J0cF9tcDRnX3BheV9zZXRjYXBzKSwKCSAgKGdzdF9ydHBfbXA0Z19wYXlfZmx1c2gpLCAoZ3N0X3J0cF9tcDRnX3BheV9oYW5kbGVfYnVmZmVyKSwKCSAgKGdzdF9ydHBfbXA0Z19wYXlfc2V0X3Byb3BlcnR5KSwgKGdzdF9ydHBfbXA0Z19wYXlfZ2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9ydHBfbXA0Z19wYXlfcGx1Z2luX2luaXQpOgoJICAqIGdzdC9ydHAvZ3N0cnRwbXA0Z3BheS5oOgoJICBBZGRlZCBiZWdpbm5pbmdzIG9mIG1wZWc0LWdlbmVyaWMgcGF5bG9hZGVyIChSRkMgMzY0MCkKCjIwMDYtMDItMDkgMTQ6MjA6MTQgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRzcC86IFJlc3VyZWN0ZWQgcnRwZGVjIHRvIG1ha2UgcnRzcHNyYyBoYXBweSBhZ2Fpbi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0c3AvTWFrZWZpbGUuYW06CgkgICogZ3N0L3J0c3AvZ3N0cnRwZGVjLmM6IChnc3RfcnRwZGVjX2dldF90eXBlKSwKCSAgKGdzdF9ydHBkZWNfY2xhc3NfaW5pdCksIChnc3RfcnRwZGVjX2luaXQpLCAoZ3N0X3J0cGRlY19nZXRjYXBzKSwKCSAgKGdzdF9ydHBkZWNfY2hhaW5fcnRwKSwgKGdzdF9ydHBkZWNfY2hhaW5fcnRjcCksCgkgIChnc3RfcnRwZGVjX3NldF9wcm9wZXJ0eSksIChnc3RfcnRwZGVjX2dldF9wcm9wZXJ0eSksCgkgIChnc3RfcnRwZGVjX2NoYW5nZV9zdGF0ZSk6CgkgICogZ3N0L3J0c3AvZ3N0cnRwZGVjLmg6CgkgICogZ3N0L3J0c3AvZ3N0cnRzcC5jOiAocGx1Z2luX2luaXQpOgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogKGdzdF9ydHNwc3JjX3N0cmVhbV9jb25maWd1cmVfdHJhbnNwb3J0KToKCSAgKiBnc3QvcnRzcC9ydHNwY29ubmVjdGlvbi5jOiAocmVhZF9ib2R5KSwKCSAgKHJ0c3BfY29ubmVjdGlvbl9yZWNlaXZlKToKCSAgKiBnc3QvcnRzcC9ydHNwbWVzc2FnZS5jOiAocnRzcF9tZXNzYWdlX2R1bXApOgoJICBSZXN1cmVjdGVkIHJ0cGRlYyB0byBtYWtlIHJ0c3BzcmMgaGFwcHkgYWdhaW4uCgkgIFNraXAgYXR0cmlidXRlcyBmcm9tIHRoZSBzZXNzaW9uIGlkLgoJICBEb24ndCBjcmFzaCB3aGVuIGR1bXBpbmcgYSBtZXNzYWdlIHdpdGggYW4gZW1wdHkgYm9keS4KCjIwMDYtMDItMDkgMTQ6MTQ6MDcgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwL2dzdHJ0cGFtcmRlcGF5LmM6IEFkZGVkIG1vcmUgbWVhbmluZ2Z1bGwgd2FybmluZ3Mgd2hlbiBzb21ldGhpbmcgZ29lcyB3cm9uZy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cC9nc3RydHBhbXJkZXBheS5jOiAoZ3N0X3J0cF9hbXJfZGVwYXlfY2hhaW4pOgoJICBBZGRlZCBtb3JlIG1lYW5pbmdmdWxsIHdhcm5pbmdzIHdoZW4gc29tZXRoaW5nIGdvZXMgd3JvbmcuCgkgIENsZWFyIEYgYml0IG9uIG91dGdvaW5nIEFNUiBwYWNrZXRzLgoJICAqIGdzdC9ydHAvZ3N0cnRwYW1ycGF5LmM6IChnc3RfcnRwX2Ftcl9wYXlfY2xhc3NfaW5pdCksCgkgIChnc3RfcnRwX2Ftcl9wYXlfaGFuZGxlX2J1ZmZlcik6CgkgIEFkZGVkIGRlYnVnZ2luZyBjYXRlZ29yeQoJICBTdXBwb3J0IHBheWxvYWRpbmcgb2YgbXVsdGlwbGUgQU1SIGZyYW1lcy4KCSAgKiBnc3QvcnRwL2dzdHJ0cG1wNHZwYXkuYzogKGdzdF9ydHBfbXA0dl9wYXlfZGVwYXlfZGF0YSk6CgkgIEFkZGVkIHNvbWUgZGVidWdnaW5nLgoKMjAwNi0wMi0wOSAxMToyNTo0MiArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBjb25maWd1cmUuYWM6IEJhY2sgdG8gQ1ZTCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgQmFjayB0byBDVlMKCj09PSByZWxlYXNlIDAuMTAuMiA9PT0KCjIwMDYtMDItMDkgMTE6MjI6MzggKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSogQ2hhbmdlTG9nOgoJKiBORVdTOgoJKiBSRUxFQVNFOgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLTEzOTQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWFzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGFjb2xvci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hcGV0YWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvZGV0ZWN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF2aS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWNhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWlyby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWN1dHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmVuY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZmZWN0di54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lc2RzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx4ZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdjb25mZWxlbWVudHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxldmVsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1hdHJvc2thLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpcGFydC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uYXZpZ2F0aW9udGVzdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3NhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbmcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0c3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hvdXQyc2VuZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbXB0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi11ZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9ib3gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9mbGlwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvbWl4ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2ZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhcnNlLnhtbDoKCSAgUmVsZWFzaW5nIDAuMTAuMgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUmVsZWFzaW5nIDAuMTAuMgoKMjAwNi0wMi0wOCAxNzozNTowNSArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJKiBwby9hZi5wbzoKCSogcG8vYXoucG86CgkqIHBvL2NzLnBvOgoJKiBwby9lbl9HQi5wbzoKCSogcG8vaHUucG86CgkqIHBvL2l0LnBvOgoJKiBwby9uYi5wbzoKCSogcG8vbmwucG86CgkqIHBvL29yLnBvOgoJKiBwby9zcS5wbzoKCSogcG8vc3IucG86CgkqIHBvL3N2LnBvOgoJKiBwby91ay5wbzoKCSogcG8vdmkucG86CgkgIFVwZGF0ZSAucG8gZmlsZXMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFVwZGF0ZSAucG8gZmlsZXMKCjIwMDYtMDItMDggMTc6MTg6MjAgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSogQ2hhbmdlTG9nOgoJICBPb3BzLCBqdW1waW5nIHRoZSBndW4gd2l0aCB0aGUgQ2hhbmdlTG9nIGVudHJ5CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBPb3BzLCBqdW1waW5nIHRoZSBndW4gd2l0aCB0aGUgQ2hhbmdlTG9nIGVudHJ5CgoyMDA2LTAyLTA4IDE3OjE2OjQ2ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGNvbmZpZ3VyZS5hYzogQnVtcCBjb3JlIGFuZCBwbHVnaW5zLWJhc2UgcmVxdWlyZW1lbnQgdG8gMC4xMC4yLjIgZm9yIEFQSSBhZGRpdGlvbnMgKGFuZCAxIG1pZ3JhdGlvbiBvZiBnc3RfYmluX2ZpbmRfdS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIEJ1bXAgY29yZSBhbmQgcGx1Z2lucy1iYXNlIHJlcXVpcmVtZW50IHRvIDAuMTAuMi4yCgkgIGZvciBBUEkgYWRkaXRpb25zIChhbmQgMSBtaWdyYXRpb24gb2YgZ3N0X2Jpbl9maW5kX3VuY29ubmVjdGVkX3BhZCkKCjIwMDYtMDItMDggMTc6MTI6NDAgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvOiBSZWdpc3RlciBtdXNpY2JyYWlueiB0YWdzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZmxhYy9nc3RmbGFjLmM6IChwbHVnaW5faW5pdCk6CgkgICogZXh0L3NwZWV4L2dzdHNwZWV4LmM6IChwbHVnaW5faW5pdCk6CgkgIFJlZ2lzdGVyIG11c2ljYnJhaW56IHRhZ3MuCgoyMDA2LTAyLTA3IDE4OjMxOjMxICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcmVtb3ZlIHVudXNlZCB2YXIKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHJlbW92ZSB1bnVzZWQgdmFyCgoyMDA2LTAyLTA3IDE4OjAxOjE3ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogdXNlIHRoZSBjb3JyZWN0IHZhcmlhYmxlIHRvIGNoZWNrIGlmIHdlIGNhbiBjYWxjdWxhdGUgdGhlIGxhc3QgY2h1bmsuICBMb29rcyBsaWtlIGFuIG9idmlvdXMgYi4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChnc3RfcXRkZW11eF9sb29wX2hlYWRlciksCgkgIChxdGRlbXV4X3BhcnNlX3RyYWspOgoJICB1c2UgdGhlIGNvcnJlY3QgdmFyaWFibGUgdG8gY2hlY2sgaWYgd2UgY2FuIGNhbGN1bGF0ZQoJICB0aGUgbGFzdCBjaHVuay4gIExvb2tzIGxpa2UgYW4gb2J2aW91cyBidWcsIGFuZCBtYWtlcwoJICB0aGUgZHVtcCBvZiBvZmZzZXRzIGNvbXBhcmFibGUgdG8gb3RoZXIgdG9vbHMKCjIwMDYtMDItMDcgMTc6NTQ6NDIgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBjbGVhbiB1cCBzb21lIGRlYnVnZ2luZywgdXNpbmcgX09CSkVDVCwgbW92aW5nIHJlY3VycmluZyBtZXNzYWdlcyB0byBMT0cgbGV2ZWwKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAoZ3N0X3F0ZGVtdXhfbG9vcF9oZWFkZXIpLAoJICAocXRkZW11eF9wYXJzZV90cmFrKToKCSAgY2xlYW4gdXAgc29tZSBkZWJ1Z2dpbmcsIHVzaW5nIF9PQkpFQ1QsIG1vdmluZyByZWN1cnJpbmcKCSAgbWVzc2FnZXMgdG8gTE9HIGxldmVsCgoyMDA2LTAyLTA3IDE2OjIzOjMzICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L2djb25mL2djb25mLmg6IFJlbW92ZSBkZWNsYXJhdGlvbiBvZiBmdW5jdGlvbiB0aGF0IG5vIGxvbmdlciBleGlzdHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9nY29uZi9nY29uZi5oOgoJICBSZW1vdmUgZGVjbGFyYXRpb24gb2YgZnVuY3Rpb24gdGhhdCBubyBsb25nZXIgZXhpc3RzLgoKMjAwNi0wMi0wNyAxMzozOTowOCArMDAwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkgIGV4dC9zaG91dDIvZ3N0c2hvdXQyLmM6IE1ha2Ugc2hvdXQyIHdvcmsgZm9yIG5vbiBvZ2cgc3RyZWFtcwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNi0wMi0wNyAgWmFoZWVyIEFiYmFzIE1lcmFsaSAgPHphaGVlcmFiYmFzIGF0IG1lcmFsaSBkb3Qgb3JnPgoJICAqIGV4dC9zaG91dDIvZ3N0c2hvdXQyLmM6IChnc3Rfc2hvdXQyc2VuZF9yZW5kZXIpLAoJICAoZ3N0X3Nob3V0MnNlbmRfc2V0Y2FwcyksIChnc3Rfc2hvdXQyc2VuZF9jaGFuZ2Vfc3RhdGUpOgoJICBNYWtlIHNob3V0MiB3b3JrIGZvciBub24gb2dnIHN0cmVhbXMKCjIwMDYtMDItMDYgMTc6MjY6NDMgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvdWRwL2dzdG11bHRpdWRwc2luay4qOiBVcGRhdGVkIGRvY3MuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC91ZHAvZ3N0bXVsdGl1ZHBzaW5rLmM6IChnc3RfbXVsdGl1ZHBzaW5rX2NsYXNzX2luaXQpLAoJICAoZ3N0X211bHRpdWRwc2lua19yZW5kZXIpLCAoZ3N0X211bHRpdWRwc2lua19nZXRfcHJvcGVydHkpLAoJICAoZ3N0X211bHRpdWRwc2lua19pbml0X3NlbmQpLCAoZ3N0X211bHRpdWRwc2lua19hZGQpLAoJICAoZ3N0X211bHRpdWRwc2lua19yZW1vdmUpLCAoZ3N0X211bHRpdWRwc2lua19jbGVhciksCgkgIChnc3RfbXVsdGl1ZHBzaW5rX2dldF9zdGF0cyksIChnc3RfbXVsdGl1ZHBzaW5rX2NoYW5nZV9zdGF0ZSk6CgkgICogZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuaDoKCSAgVXBkYXRlZCBkb2NzLgoJICBBZGRlZCBwcm9wZXJ0aWVzIGJ5dGVzLXNlcnZlZCwgYnl0ZXNfdG9fc2VydmUuCgkgIFBvc3QgcHJvcGVyIGVycm9yIG1lc3NhZ2VzLAoJICBFbWl0IGNsaWVudCBhZGRlZCBzaWduYWwgdG9vLgoKMjAwNi0wMi0wNiAxNTo0MToyNSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguKjogU29tZSBRVCBkZW11eCBsb3ZpbmcuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKGdzdF9xdGRlbXV4X2hhbmRsZV9zcmNfcXVlcnkpLAoJICAoZ3N0X3F0ZGVtdXhfaGFuZGxlX3NyY19ldmVudCksIChnc3RfcXRkZW11eF9sb29wX2hlYWRlciksCgkgIChxdGRlbXV4X2luZmxhdGUpLCAocXRkZW11eF9wYXJzZSksIChxdGRlbXV4X3BhcnNlX3RyYWspLAoJICAocXRkZW11eF9wYXJzZV91ZHRhKSwgKHF0ZGVtdXhfdGFnX2FkZF9zdHIpLCAocXRkZW11eF90YWdfYWRkX251bSksCgkgIChxdGRlbXV4X3RhZ19hZGRfZ25yZSksIChnc3RfcXRkZW11eF9oYW5kbGVfZXNkcyksCgkgIChxdGRlbXV4X3ZpZGVvX2NhcHMpLCAocXRkZW11eF9hdWRpb19jYXBzKToKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4Lmg6CgkgIFNvbWUgUVQgZGVtdXggbG92aW5nLgoJICBIYW5kbGUgc2Vla2luZyBpbiBhIGxlc3MgYnJva2VuIHdheS4KCSAgRml4IEFNUiBjYXBzIHRvIG1hdGNoIHRoZSBBTVIgZGVjb2Rlci4KCSAgU2V0IGZpcnN0IHRpbWVzdGFtcCBvbiBBTVIgc2FtcGxlcyB0byAwIGZvciBub3cuCgkgIFJlbW92ZSBzb21lIFxuIGluIERFQlVHIHN0cmluZ3MuCgkgIFVzZSBfc2NhbGVfaW50IGZvciBtYXhpbXVtIHByZWNpc2lvbi4KCjIwMDYtMDItMDYgMTU6MzE6MTYgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogQ2hhbmdlTG9nOgoJKiBjb21tb246CgkqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1kb2NzLnNnbWw6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJKiBnc3QvdWRwL2dzdG11bHRpdWRwc2luay5jOgoJICBhZGRpbmcgZG9jcyBmb3IgbXVsdGl1ZHBzaW5rCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBhZGRpbmcgZG9jcyBmb3IgbXVsdGl1ZHBzaW5rCgoyMDA2LTAyLTA2IDE1OjI4OjU2ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkgIGdzdC9sZXZlbC9nc3RsZXZlbC5jOiBwZWFrIGJlbG93IGRlY2F5IGlzIG5vdCBuZWNlc3NhcmlseSBhbiBlcnJvciwgc28gZG9uJ3QgRVJST1IgbG9nCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9sZXZlbC9nc3RsZXZlbC5jOiAoZ3N0X2xldmVsX3RyYW5zZm9ybV9pcCk6CgkgIHBlYWsgYmVsb3cgZGVjYXkgaXMgbm90IG5lY2Vzc2FyaWx5IGFuIGVycm9yLCBzbyBkb24ndCBFUlJPUiBsb2cKCjIwMDYtMDItMDYgMTU6Mjc6MDYgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLTEzOTQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWFzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGFjb2xvci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9kZXRlY3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXZpLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhY2FzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhaXJvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWN1dHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmVuY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZmZWN0di54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lc2RzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx4ZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanBlZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sZXZlbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tYXRyb3NrYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aXBhcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmF2aWdhdGlvbnRlc3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5nLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHNwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNob3V0MnNlbmQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc21wdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdWRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvYm94LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvZmxpcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb21peGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYXJzZS54bWw6CgkgIGN2cyB2ZXJzaW9ucwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgY3ZzIHZlcnNpb25zCgoyMDA2LTAyLTA2IDE0OjI1OjM0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L21hdHJvc2thL2VibWwtd3JpdGUuKjogTWFrZSBzdXJlIHdlIHNlbmQgYSBuZXdzZWdtZW50IGV2ZW50IGluIEJZVEVTIGZvcm1hdCBiZWZvcmUgc2VuZGluZyBidWZmZXJzICgjMzI4NTMxKS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L21hdHJvc2thL2VibWwtd3JpdGUuYzogKGdzdF9lYm1sX3dyaXRlX3Jlc2V0KSwKCSAgKGdzdF9lYm1sX3dyaXRlX2ZsdXNoX2NhY2hlKSwgKGdzdF9lYm1sX3dyaXRlX2VsZW1lbnRfcHVzaCksCgkgIChnc3RfZWJtbF93cml0ZV9zZWVrKToKCSAgKiBnc3QvbWF0cm9za2EvZWJtbC13cml0ZS5oOgoJICBNYWtlIHN1cmUgd2Ugc2VuZCBhIG5ld3NlZ21lbnQgZXZlbnQgaW4gQllURVMgZm9ybWF0CgkgIGJlZm9yZSBzZW5kaW5nIGJ1ZmZlcnMgKCMzMjg1MzEpLgoKMjAwNi0wMi0wNiAxMjoxODo0NSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIFBhc3MgdW5oYW5kbGVkIHF1ZXJpZXMgdXBzdHJlYW0gaW5zdGVhZCBvZiBqdXN0IGRyb3BwaW5nIHRoZW0gKCMzMjY0NDYpLiBVcGRhdGUgcXVlcnkgdHlwZSBhcnJheXMgaGVyZSBhbmQgdGhlcmUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9kdi9nc3RkdmRlbXV4LmM6IChnc3RfZHZkZW11eF9zcmNfcXVlcnkpLAoJICAoZ3N0X2R2ZGVtdXhfc2lua19xdWVyeSk6CgkgICogZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5jOiAoZ3N0X2ZsYWNfZGVjX3NyY19xdWVyeSk6CgkgICogZXh0L3NwZWV4L2dzdHNwZWV4ZGVjLmM6IChzcGVleF9nZXRfcXVlcnlfdHlwZXMpLAoJICAoc3BlZXhfZGVjX3NyY19xdWVyeSk6CgkgICogZXh0L3NwZWV4L2dzdHNwZWV4ZW5jLmM6IChnc3Rfc3BlZXhlbmNfc3JjX3F1ZXJ5KSwKCSAgKGdzdF9zcGVleGVuY19zaW5rX3F1ZXJ5KToKCSAgKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6IChnc3RfYXZpX2RlbXV4X2hhbmRsZV9zcmNfcXVlcnkpOgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICAoZ3N0X21hdHJvc2thX2RlbXV4X2dldF9zcmNfcXVlcnlfdHlwZXMpLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X2hhbmRsZV9zcmNfcXVlcnkpOgoJICAqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOiAoZ3N0X3dhdnBhcnNlX2dldF9xdWVyeV90eXBlcyksCgkgIChnc3Rfd2F2cGFyc2VfcGFkX3F1ZXJ5KToKCSAgUGFzcyB1bmhhbmRsZWQgcXVlcmllcyB1cHN0cmVhbSBpbnN0ZWFkIG9mIGp1c3QgZHJvcHBpbmcKCSAgdGhlbSAoIzMyNjQ0NikuIFVwZGF0ZSBxdWVyeSB0eXBlIGFycmF5cyBoZXJlIGFuZCB0aGVyZS4KCjIwMDYtMDItMDYgMTE6NTc6NTIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICB0ZXN0cy9jaGVjay9lbGVtZW50cy9tYXRyb3NrYW11eC5jOiBDb2xsZWN0cGFkcyBpbiBjb3JlIGdvdCBjaGFuZ2VkIGFuZCBub3cgYWxzbyBob2xkcyBhIHJlZmVyZW5jZSB0byBhbnkgcGFkIHRoYXQgaXMuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvbWF0cm9za2FtdXguYzogKHNldHVwX3NyY19wYWQpOgoJICBDb2xsZWN0cGFkcyBpbiBjb3JlIGdvdCBjaGFuZ2VkIGFuZCBub3cgYWxzbyBob2xkcyBhCgkgIHJlZmVyZW5jZSB0byBhbnkgcGFkIHRoYXQgaXMgcGFydCBvZiBpdC4gRml4IHJlZmNvdW50CgkgIGNoZWNrcyBpbiB0ZXN0IGNhc2UgYWNjb3JkaW5nbHkuCgoyMDA2LTAyLTA2IDExOjQxOjQzICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L2FwZXRhZy9nc3RhcGVkZW11eC5oOiBGaXggaW5jbHVkZSwgZm9yIG5vdyBHc3RUYWdEZW11eCBpcyBpbiB0aGUgYXBldGFnIGRpci4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2FwZXRhZy9nc3RhcGVkZW11eC5oOgoJICBGaXggaW5jbHVkZSwgZm9yIG5vdyBHc3RUYWdEZW11eCBpcyBpbiB0aGUgYXBldGFnIGRpci4KCjIwMDYtMDItMDYgMTE6MzQ6MjMgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBkb2NzL3BsdWdpbnMvOiBBZGQgY2RpbyBwbHVnaW4gdG8gZG9jcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtZG9jcy5zZ21sOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZGlvLnhtbDoKCSAgQWRkIGNkaW8gcGx1Z2luIHRvIGRvY3MuCgkgICogZXh0L2NkaW8vZ3N0Y2Rpb2NkZGFzcmMuYzoKCSAgQWRkIGd0ay1kb2MgYmx1cmIuCgkgICogZXh0L2NkaW8vZ3N0Y2Rpby5jOgoJICBUaGUgcGx1Z2luIGlzIGNhbGxlZCAnY2Rpbycgbm90ICdjZGRpbycuCgoyMDA2LTAyLTA2IDEwOjU2OjA3ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgQWRkIEFQRSB0YWcgZGVtdXhlciAoIzMyNTY0OSkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1kb2NzLnNnbWw6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5oaWVyYXJjaHk6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFwZXRhZy54bWw6CgkgICogZ3N0L2FwZXRhZy9NYWtlZmlsZS5hbToKCSAgKiBnc3QvYXBldGFnL2dzdGFwZWRlbXV4LmM6CgkgICogZ3N0L2FwZXRhZy9nc3RhcGVkZW11eC5oOgoJICAqIGdzdC9hcGV0YWcvZ3N0dGFnZGVtdXguYzoKCSAgKiBnc3QvYXBldGFnL2dzdHRhZ2RlbXV4Lmg6CgkgIEFkZCBBUEUgdGFnIGRlbXV4ZXIgKCMzMjU2NDkpLgoKMjAwNi0wMi0wNSAyMjoyMjo1NiArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBleHQvZ2NvbmYvOiBJZ25vcmUgY2hhbmdpbmcgdGhlIEdDb25mIGtleSB0byAiIi4gSWdub3JlIEdDb25mIGtleSB1cGRhdGVzIHRoYXQgZG9uJ3QgYWN0dWFsbHkgY2hhbmdlIHRoZSBzdHJpbmcuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9nY29uZi9nY29uZi5jOiAoZ3N0X2djb25mX2dldF9kZWZhdWx0X2F1ZGlvX3NpbmspLAoJICAoZ3N0X2djb25mX2dldF9kZWZhdWx0X3ZpZGVvX3NpbmspLAoJICAoZ3N0X2djb25mX2dldF9kZWZhdWx0X2F1ZGlvX3NyYyksCgkgIChnc3RfZ2NvbmZfZ2V0X2RlZmF1bHRfdmlkZW9fc3JjKToKCSAgKiBleHQvZ2NvbmYvZ2NvbmYuaDoKCSAgKiBleHQvZ2NvbmYvZ3N0Z2NvbmZhdWRpb3NpbmsuYzogKGdzdF9nY29uZl9hdWRpb19zaW5rX3Jlc2V0KSwKCSAgKGdzdF9nY29uZl9hdWRpb19zaW5rX2luaXQpLCAoZ3N0X2djb25mX2F1ZGlvX3NpbmtfZGlzcG9zZSksCgkgIChkb190b2dnbGVfZWxlbWVudCk6CgkgICogZXh0L2djb25mL2dzdGdjb25mYXVkaW9zaW5rLmg6CgkgICogZXh0L2djb25mL2dzdGdjb25mYXVkaW9zcmMuYzogKGdzdF9nY29uZl9hdWRpb19zcmNfcmVzZXQpLAoJICAoZ3N0X2djb25mX2F1ZGlvX3NyY19pbml0KSwgKGdzdF9nY29uZl9hdWRpb19zcmNfZGlzcG9zZSksCgkgIChkb190b2dnbGVfZWxlbWVudCk6CgkgICogZXh0L2djb25mL2dzdGdjb25mYXVkaW9zcmMuaDoKCSAgKiBleHQvZ2NvbmYvZ3N0Z2NvbmZ2aWRlb3NpbmsuYzogKGdzdF9nY29uZl92aWRlb19zaW5rX3Jlc2V0KSwKCSAgKGdzdF9nY29uZl92aWRlb19zaW5rX2luaXQpLCAoZ3N0X2djb25mX3ZpZGVvX3NpbmtfZGlzcG9zZSksCgkgIChkb190b2dnbGVfZWxlbWVudCk6CgkgICogZXh0L2djb25mL2dzdGdjb25mdmlkZW9zaW5rLmg6CgkgICogZXh0L2djb25mL2dzdGdjb25mdmlkZW9zcmMuYzogKGdzdF9nY29uZl92aWRlb19zcmNfcmVzZXQpLAoJICAoZ3N0X2djb25mX3ZpZGVvX3NyY19pbml0KSwgKGdzdF9nY29uZl92aWRlb19zcmNfZGlzcG9zZSksCgkgIChkb190b2dnbGVfZWxlbWVudCk6CgkgICogZXh0L2djb25mL2dzdGdjb25mdmlkZW9zcmMuaDoKCSAgSWdub3JlIGNoYW5naW5nIHRoZSBHQ29uZiBrZXkgdG8gIiIuIElnbm9yZSBHQ29uZiBrZXkgdXBkYXRlcwoJICB0aGF0IGRvbid0IGFjdHVhbGx5IGNoYW5nZSB0aGUgc3RyaW5nLgoJICBGb3Igbm93LCBpZ25vcmUgdGhlIEdDb25mIGtleSB3aGVuIHRoZSBzdGF0ZSBpcyA+IFJFQURZLCBhcwoJICBpdCBicmVha3Mgc3RyZWFtaW5nLiBTb21ldGltZSBpdCB3aWxsIGJlIG5pY2UgdG8gYnJpbmcgdGhlCgkgIG5ldyBzaW5rIG9ubGluZSBldmVuIG1pZC1zdHJlYW0sIGJ5IHNlbmRpbmcgTkVXU0VHTUVOVCBpbmZvCgkgIGFuZCBwb3NzaWJseSBwcmVyb2xsaW5nLgoJICAoRml4ZXMgIzMyNjczNikKCjIwMDYtMDItMDUgMjA6NDM6NDkgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgZ3N0L2dvb20vOiBNYWtlIGdvb20gcmVlbnRyYW50IGJ5IG1vdmluZyBhbGwgaW1wb3J0YW50IHN0YXRpYyB2YXJpYWJsZXMgaW50byBpbnN0YW5jZSBzdHJ1Y3R1cmVzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZ29vbS9maWx0ZXJzLmM6ICh6b29tRmlsdGVyTmV3KSwgKGNhbGN1bGF0ZVBYYW5kUFkpLAoJICAoc2V0UGl4ZWxSR0IpLCAoc2V0UGl4ZWxSR0JfKSwgKGdldFBpeGVsUkdCKSwgKGdldFBpeGVsUkdCXyksCgkgICh6b29tRmlsdGVyU2V0UmVzb2x1dGlvbiksICh6b29tRmlsdGVyRGVzdHJveSksCgkgICh6b29tRmlsdGVyRmFzdFJHQiksIChwb2ludEZpbHRlcik6CgkgICogZ3N0L2dvb20vZmlsdGVycy5oOgoJICAqIGdzdC9nb29tL2dvb21fY29yZS5jOiAoZ29vbV9pbml0KSwgKGdvb21fc2V0X3Jlc29sdXRpb24pLAoJICAoZ29vbV91cGRhdGUpLCAoZ29vbV9jbG9zZSk6CgkgICogZ3N0L2dvb20vZ29vbV9jb3JlLmg6CgkgICogZ3N0L2dvb20vZ29vbV90b29scy5oOgoJICAqIGdzdC9nb29tL2dyYXBoaWMuYzoKCSAgKiBnc3QvZ29vbS9nc3Rnb29tLmM6IChnc3RfZ29vbV9jbGFzc19pbml0KSwgKGdzdF9nb29tX2luaXQpLAoJICAoZ3N0X2dvb21fZGlzcG9zZSksIChnc3RfZ29vbV9zcmNfc2V0Y2FwcyksIChnc3RfZ29vbV9jaGFpbik6CgkgICogZ3N0L2dvb20vZ3N0Z29vbS5oOgoJICAqIGdzdC9nb29tL2xpbmVzLmM6IChnb29tX2xpbmVzKToKCSAgKiBnc3QvZ29vbS9saW5lcy5oOgoJICBNYWtlIGdvb20gcmVlbnRyYW50IGJ5IG1vdmluZyBhbGwgaW1wb3J0YW50IHN0YXRpYyB2YXJpYWJsZXMKCSAgaW50byBpbnN0YW5jZSBzdHJ1Y3R1cmVzLgoJICAoRml4ZXMgIzMyOTE4MSkKCjIwMDYtMDItMDQgMTU6NDE6NDMgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvYXZpL2dzdGF2aWRlbXV4Lio6IFRoaXJkIGF0dGVtcHQsIHVzZSBnc3RfcGFkX2lzX2xpbmtlZCgpIHRoaXMgdGltZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOiAoZ3N0X2F2aV9kZW11eF9wYXJzZV9zdHJlYW0pLAoJICAoZ3N0X2F2aV9kZW11eF9hbGxfc291cmNlX3BhZHNfdW5saW5rZWQpLAoJICAoZ3N0X2F2aV9kZW11eF9wcm9jZXNzX25leHRfZW50cnkpOgoJICAqIGdzdC9hdmkvZ3N0YXZpZGVtdXguaDoKCSAgVGhpcmQgYXR0ZW1wdCwgdXNlIGdzdF9wYWRfaXNfbGlua2VkKCkgdGhpcyB0aW1lLgoKMjAwNi0wMi0wNCAxMzozMDoxMiArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBnc3QvaWQzZGVtdXgvaWQzdjJmcmFtZXMuYzogQWRqdXN0IGZvciBkYXRhIGxlbmd0aCBpbmRpY2F0b3JzIHdoZW4gcGFyc2luZyAoRml4ZXMgIzMyOTgxMCkKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2lkM2RlbXV4L2lkM3YyZnJhbWVzLmM6IChpZDNkZW11eF9pZDN2Ml9wYXJzZV9mcmFtZSksCgkgIChwYXJzZV9zcGxpdF9zdHJpbmdzKToKCSAgQWRqdXN0IGZvciBkYXRhIGxlbmd0aCBpbmRpY2F0b3JzIHdoZW4gcGFyc2luZyAoRml4ZXMgIzMyOTgxMCkKCSAgRml4IHN0dXBpZCBidWcgcGFyc2luZyBVVEYtOCB0YWcgdGV4dC4KCSAgT3V0cHV0IHRhZyBzdHJpbmdzIHdpdGggbXVsdGlwbGUgZmllbGRzIGFzIG11bHRpcGxlIHRhZ3MsIHNvIHRoZQoJICBhcHAgZ2V0cyBhbGwgdGhlIGRhdGEuCgoyMDA2LTAyLTAzIDIwOjA1OjIwICswMDAwICBFZGdhcmQgTGltYSA8ZWRnYXJkLmxpbWFAaW5kdC5vcmcuYnI+CgoJKiBDaGFuZ2VMb2c6CgkqIGV4dC9mbGFjL2dzdGZsYWNlbmMuYzoKCSAgRml4ZWQgYSBidWcgYWRkIGluIGxhc3QgY29tbWl0LCB3aGVyZSBubyBldmVudCBpcyBzZW5kLiBUaGFua3MgVGltIHRvIHNob3cgbWUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBGaXhlZCBhIGJ1ZyBhZGQgaW4gbGFzdCBjb21taXQsIHdoZXJlIG5vIGV2ZW50IGlzIHNlbmQuIFRoYW5rcyBUaW0gdG8gc2hvdyBtZS4KCjIwMDYtMDItMDMgMTg6MDc6MzUgKzAwMDAgIEVkZ2FyZCBMaW1hIDxlZGdhcmQubGltYUBpbmR0Lm9yZy5icj4KCgkqIENoYW5nZUxvZzoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2VuYy5jOgoJKiBnc3QvbWF0cm9za2EvZWJtbC1yZWFkLmM6CgkgIEp1c3QgbWFrZSBpdCBjb21waWxlIHdpdGggLS1kaXNhYmxlLWdzdC1kZWJ1Zy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEp1c3QgbWFrZSBpdCBjb21waWxlIHdpdGggLS1kaXNhYmxlLWdzdC1kZWJ1Zy4KCjIwMDYtMDItMDMgMTY6NTU6NDIgKzAwMDAgIENocmlzdGlhbiBTY2hhbGxlciA8dXJhZXVzQGdub21lLm9yZz4KCgkqIGdzdC1wbHVnaW5zLWdvb2Quc3BlYy5pbjoKCSAgdXBkYXRlIHNwZWMgZmlsZQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgdXBkYXRlIHNwZWMgZmlsZQoKMjAwNi0wMi0wMyAxMzowNjoyNCArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBnc3QvaWQzZGVtdXgvaWQzdjJmcmFtZXMuYzogTmV2ZXIgb3V0cHV0IGEgdGFnIHdpdGggYSBudWxsIGNvbnRlbnRzIHN0cmluZy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2lkM2RlbXV4L2lkM3YyZnJhbWVzLmM6IChwYXJzZV90ZXh0X2lkZW50aWZpY2F0aW9uX2ZyYW1lKSwKCSAgKGlkM3YyX3RhZ190b190YWdsaXN0KSwgKGlkM3YyX2dlbnJlX3N0cmluZ190b190YWdsaXN0KSwKCSAgKGlkM3YyX2dlbnJlX2ZpZWxkc190b190YWdsaXN0KToKCSAgTmV2ZXIgb3V0cHV0IGEgdGFnIHdpdGggYSBudWxsIGNvbnRlbnRzIHN0cmluZy4KCjIwMDYtMDItMDIgMjE6MDA6MTYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6IE9ubHkgcGF1c2UgaWYgYWxsIHBhZHMgYXJlIHVubGlua2VkIEFORCB3ZSd2ZSB0cmllZCB0byBzZW5kIGRhdGEgb24gYWxsIG9mIHRoZW0gYXQgbGVhc3Qgb25jZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOiAoZ3N0X2F2aV9kZW11eF9hbGxfc291cmNlX3BhZHNfdW5saW5rZWQpOgoJICBPbmx5IHBhdXNlIGlmIGFsbCBwYWRzIGFyZSB1bmxpbmtlZCBBTkQgd2UndmUgdHJpZWQgdG8gc2VuZCBkYXRhCgkgIG9uIGFsbCBvZiB0aGVtIGF0IGxlYXN0IG9uY2UuCgoyMDA2LTAyLTAyIDEyOjI5OjI0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L2F2aS9nc3RhdmlkZW11eC5jOiBNYWtlIGxvb3AgZnVuY3Rpb24vdGFzayBwYXVzZSBpdHNlbGYgd2hlbiBhbGwgc291cmNlIHBhZHMgYXJlIHVubGlua2VkLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6IChnc3RfYXZpX2RlbXV4X2FsbF9zb3VyY2VfcGFkc191bmxpbmtlZCksCgkgIChnc3RfYXZpX2RlbXV4X3Byb2Nlc3NfbmV4dF9lbnRyeSksIChnc3RfYXZpX2RlbXV4X2xvb3ApOgoJICBNYWtlIGxvb3AgZnVuY3Rpb24vdGFzayBwYXVzZSBpdHNlbGYgd2hlbiBhbGwgc291cmNlIHBhZHMgYXJlCgkgIHVubGlua2VkLgoKMjAwNi0wMi0wMiAxMDo0NzoxNSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIFVzZSBuZXcgZnVuY3Rpb25zIGZyb20gY29yZSB0byByZW5kZXIgYSBiaW4gZnJvbSBhIHN0cmluZy4gRml4ZXMgYnVpbGQuIFVwIHJlcXVpcmVtZW50cyB0byBjb3JlIENWUy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAqIGV4dC9nY29uZi9nY29uZi5jOiAoZ3N0X2djb25mX3JlbmRlcl9iaW5fZnJvbV9rZXkpOgoJICBVc2UgbmV3IGZ1bmN0aW9ucyBmcm9tIGNvcmUgdG8gcmVuZGVyIGEgYmluIGZyb20gYQoJICBzdHJpbmcuIEZpeGVzIGJ1aWxkLiBVcCByZXF1aXJlbWVudHMgdG8gY29yZSBDVlMuCgoyMDA2LTAyLTAxIDExOjAxOjA0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L2F1cGFyc2UvZ3N0YXVwYXJzZS5jOiBEb24ndCBwdXNoIGJ1ZmZlcnMgaW50byB0aGUgYWRhcHRlciB0aGF0IHdlIGFyZSBnb2luZyB0byBwdXNoIGRvd25zdHJlYW0gYWdhaW4gd2l0aG91dCBmcmFtLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdXBhcnNlL2dzdGF1cGFyc2UuYzogKGdzdF9hdV9wYXJzZV9jaGFpbik6CgkgIERvbid0IHB1c2ggYnVmZmVycyBpbnRvIHRoZSBhZGFwdGVyIHRoYXQgd2UgYXJlIGdvaW5nIHRvCgkgIHB1c2ggZG93bnN0cmVhbSBhZ2FpbiB3aXRob3V0IGZyYW1pbmcgYW55d2F5LiBBbHNvLCB0aGUKCSAgYWRhcHRvciB0YWtlcyBvd25lcnNoaXAgb2YgYnVmZmVycyBwdXQgaW50byBpdCAoZml4ZXMKCSAgYXVwYXJzZSBwdXNoaW5nIGludmFsaWQgYnVmZmVycyBmb3IgLmF1IGZpbGVzIHdpdGgKCSAgQURQQ00gY29udGVudHMpLiBGaW5hbGx5LCBzZXQgY2FwcyBvbiBhbGwgb3V0Z29pbmcgYnVmZmVycy4KCjIwMDYtMDEtMzAgMjM6MTM6MDUgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgZ3N0L2lkM2RlbXV4LzogU29tZW9uZSBzaG91bGQga2ljayBteSBidXR0LiBSZW1vdmUgSUQzdjEgdGFncyBmcm9tIHRoZSBlbmQgb2YgdGhlIGZpbGUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9pZDNkZW11eC9nc3RpZDNkZW11eC5jOiAoZ3N0X2lkM2RlbXV4X2NoYWluKSwKCSAgKGdzdF9pZDNkZW11eF9yZWFkX2lkM3YxKSwgKGdzdF9pZDNkZW11eF9zaW5rX2FjdGl2YXRlKSwKCSAgKGdzdF9pZDNkZW11eF9zZW5kX3RhZ19ldmVudCk6CgkgICogZ3N0L2lkM2RlbXV4L2lkM3RhZ3MuYzogKGlkM2RlbXV4X3JlYWRfaWQzdjFfdGFnKToKCSAgU29tZW9uZSBzaG91bGQga2ljayBteSBidXR0LiBSZW1vdmUgSUQzdjEgdGFncyBmcm9tIHRoZSBlbmQgb2YgdGhlCgkgIGZpbGUuCgkgIEltcHJvdmUgZXJyb3IgbWVzc2FnZXMuIFNlbmQgdGhlIFRBRyBtZXNzYWdlIGFzIHNvb24gYXMgd2UgY29tcGxldGUKCSAgdHlwZWZpbmRpbmcsIGluc3RlYWQgb2Ygd2FpdGluZyB1bnRpbCB3ZSBzZW5kIHRoZSBmaXJzdCBidWZmZXIuCgkgIERvd25zdHJlYW0gdGFnIGV2ZW50IGlzIHN0aWxsIHNlbnQgYmVmb3JlIHRoZSBmaXJzdCBidWZmZXIuCgoyMDA2LTAxLTI5IDIwOjA3OjQ5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L3dhdnBhY2svZ3N0d2F2cGFja2RlYy5jOiBBZGQgZGVidWcgY2F0ZWdvcnksIHVzZSBib2lsZXJwbGF0ZSBtYWNyb3MsIGZpeCBoYW5kbGluZyBvZiB3aWR0aHMgb2YgMzIgYml0cy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2RlYy5jOiAoZ3N0X3dhdnBhY2tfZGVjX3NldGNhcHMpLAoJICAoZ3N0X3dhdnBhY2tfZGVjX2Jhc2VfaW5pdCksIChnc3Rfd2F2cGFja19kZWNfZGlzcG9zZSksCgkgIChnc3Rfd2F2cGFja19kZWNfY2xhc3NfaW5pdCksIChnc3Rfd2F2cGFja19kZWNfc2lua19ldmVudCksCgkgIChnc3Rfd2F2cGFja19kZWNfaW5pdCksIChnc3Rfd2F2cGFja19kZWNfZm9ybWF0X3NhbXBsZXMpLAoJICAoZ3N0X3dhdnBhY2tfZGVjX2NoYWluKSwgKGdzdF93YXZwYWNrX2RlY19wbHVnaW5faW5pdCk6CgkgIEFkZCBkZWJ1ZyBjYXRlZ29yeSwgdXNlIGJvaWxlcnBsYXRlIG1hY3JvcywgZml4IGhhbmRsaW5nCgkgIG9mIHdpZHRocyBvZiAzMiBiaXRzLgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2twYXJzZS5jOiAoZ3N0X3dhdnBhY2tfcGFyc2VfYmFzZV9pbml0KSwKCSAgKGdzdF93YXZwYWNrX3BhcnNlX2Rpc3Bvc2UpLCAoZ3N0X3dhdnBhY2tfcGFyc2VfY2xhc3NfaW5pdCksCgkgIChnc3Rfd2F2cGFja19wYXJzZV9pbmRleF9nZXRfbGFzdF9lbnRyeSksCgkgIChnc3Rfd2F2cGFja19wYXJzZV9pbmRleF9nZXRfZW50cnlfZnJvbV9zYW1wbGUpLAoJICAoZ3N0X3dhdnBhY2tfcGFyc2VfaW5kZXhfYXBwZW5kX2VudHJ5KSwgKGdzdF93YXZwYWNrX3BhcnNlX3Jlc2V0KSwKCSAgKGdzdF93YXZwYWNrX3BhcnNlX3NyY19xdWVyeSksCgkgIChnc3Rfd2F2cGFja19wYXJzZV9zY2FuX3RvX2ZpbmRfc2FtcGxlKSwKCSAgKGdzdF93YXZwYWNrX3BhcnNlX3NlbmRfbmV3c2VnbWVudCksCgkgIChnc3Rfd2F2cGFja19wYXJzZV9oYW5kbGVfc2Vla19ldmVudCksCgkgIChnc3Rfd2F2cGFja19wYXJzZV9zcmNfZXZlbnQpLCAoZ3N0X3dhdnBhY2tfcGFyc2VfaW5pdCksCgkgIChnc3Rfd2F2cGFja19wYXJzZV9nZXRfdXBzdHJlYW1fbGVuZ3RoKSwKCSAgKGdzdF93YXZwYWNrX3BhcnNlX3B1bGxfYnVmZmVyKSwKCSAgKGdzdF93YXZwYWNrX3BhcnNlX2NyZWF0ZV9zcmNfcGFkKSwgKGdzdF93YXZwYWNrX3BhcnNlX2xvb3ApLAoJICAoZ3N0X3dhdnBhY2tfcGFyc2VfY2hhbmdlX3N0YXRlKSwKCSAgKGdzdF93YXZlcGFja19wYXJzZV9zaW5rX2FjdGl2YXRlKSwKCSAgKGdzdF93YXZlcGFja19wYXJzZV9zaW5rX2FjdGl2YXRlX3B1bGwpLAoJICAoZ3N0X3dhdnBhY2tfcGFyc2VfcGx1Z2luX2luaXQpOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2twYXJzZS5oOgoJICBSZXdyaXRlIGEgYml0LCBtb3N0bHkgdG8gZml4IGZsb3cgbG9naWMgYW5kIHRvIG1ha2Ugc2Vla2luZyB3b3JrLgoJICBGaXggYnVmZmVyL2V2ZW50IHJlZmNvdW50aW5nLiBBZGQgc29tZSBkZWJ1ZyBzdGF0ZW1lbnRzLiBBZGQKCSAgd2lkdGggb2YgMzIgdG8gc291cmNlIHBhZCB0ZW1wbGF0ZSBjYXBzLiBVc2UgYm9pbGVycGxhdGUgbWFjcm9zLgoKMjAwNi0wMS0yNyAxMjoxNzo1NiArMDAwMCAgQW5keSBXaW5nbyA8d2luZ29AcG9ib3guY29tPgoKCSAgZXh0L2R2LzogQ2FsbCBkdl9zZXRfZXJyb3JfbG9nIChkdl9kZWNvZGVyX3QgKiwgTlVMTCk7IGFmdGVyIGR2X2RlY29kZXJfbmV3IHRvIG5vdCBoYXZlIHdhcmluZ3MgZmxvb2Rpbmcgc3RkZXJyLiB0aGlzLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA2LTAxLTI3ICBKYW4gR2VyYmVyICA8akBib290bGFiLm9yZz4KCSAgUmV2aWV3ZWQgYnk6IEFuZHkgV2luZ28gPHdpbmdvQHBvYm94LmNvbT4KCSAgKiBleHQvZHYvZ3N0ZHZkZWMuYyAoZ3N0X2R2ZGVjX2NoYW5nZV9zdGF0ZSk6CgkgICogZXh0L2R2L2dzdGR2ZGVtdXguYyAoZ3N0X2R2ZGVtdXhfY2hhbmdlX3N0YXRlKToKCSAgQ2FsbCBkdl9zZXRfZXJyb3JfbG9nIChkdl9kZWNvZGVyX3QgKiwgTlVMTCk7IGFmdGVyIGR2X2RlY29kZXJfbmV3CgkgIHRvIG5vdCBoYXZlIHdhcmluZ3MgZmxvb2Rpbmcgc3RkZXJyLiB0aGlzIGlzIHRoZSBzdWdnZXN0ZWQgd2F5CgkgIGFsc28gdXNlZCBpbiBkdmdyYWIgYW5kIGtpbm8uICgjMzI4MzM2KQoKMjAwNi0wMS0yNyAwMTo0MzowNyArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBzeXMvb3NzL2dzdG9zc3NpbmsuYzogRnJlZSB0aGUgZGV2aWNlIG5hbWUgc3RyaW5nIHdoZW4gZmluYWxpc2VkLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvb3NzL2dzdG9zc3NpbmsuYzogKGdzdF9vc3Nfc2lua19jbGFzc19pbml0KSwKCSAgKGdzdF9vc3Nfc2lua19pbml0KSwgKGdzdF9vc3Nfc2lua19maW5hbGlzZSk6CgkgIEZyZWUgdGhlIGRldmljZSBuYW1lIHN0cmluZyB3aGVuIGZpbmFsaXNlZC4KCjIwMDYtMDEtMjYgMTY6MjM6NDIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IEZpeCB3cm9uZyBtZW1jcHkgc291cmNlIHBvaW50ZXIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKHF0ZGVtdXhfcGFyc2VfdHJhayk6CgkgIEZpeCB3cm9uZyBtZW1jcHkgc291cmNlIHBvaW50ZXIuCgoyMDA2LTAxLTI1IDIyOjA1OjI4ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L2lkM2RlbXV4L2dzdGlkM2RlbXV4LmM6IERvbid0IHB1dCBmdW5jdGlvbiBjYWxscyBpbiBnX3JldHVybl9pZl9mYWlsKCkgc3RhdGVtZW50cywgb3IgdGhleSdsbCBiZSByZXBsYWNlZCB3aXRoIE5PLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9pZDNkZW11eC9nc3RpZDNkZW11eC5jOiAoZ3N0X2lkM2RlbXV4X3JlbW92ZV9zcmNwYWQpOgoJICBEb24ndCBwdXQgZnVuY3Rpb24gY2FsbHMgaW4gZ19yZXR1cm5faWZfZmFpbCgpIHN0YXRlbWVudHMsCgkgIG9yIHRoZXknbGwgYmUgcmVwbGFjZWQgd2l0aCBOT09QcyBpZiBzb21lb25lIGNvbXBpbGVzIHdpdGgKCSAgR19ESVNBQkxFX0NIRUNLUyBkZWZpbmVkLgoKMjAwNi0wMS0yNSAyMDozMzowNSArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJKiBDaGFuZ2VMb2c6CgkgIGNoYW5nZWxvZyBzdXJnZXJ5CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBjaGFuZ2Vsb2cgc3VyZ2VyeQoKMjAwNi0wMS0yNSAxODoyMzowNSArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBnc3QvaWQzZGVtdXgvaWQzdjJmcmFtZXMuYzogTmV2ZXIgdHJ1c3QgQU5ZIGluZm9ybWF0aW9uIGVuY29kZWQgaW4gYSBtZWRpYSBmaWxlLCBlc3BlY2lhbGx5IHdoZW4gaXQncyBnaXZpbmcgeW91IHNpemUuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2lkM2RlbXV4L2lkM3YyZnJhbWVzLmM6IChpZDNkZW11eF9pZDN2Ml9wYXJzZV9mcmFtZSk6CgkgIE5ldmVyIHRydXN0IEFOWSBpbmZvcm1hdGlvbiBlbmNvZGVkIGluIGEgbWVkaWEgZmlsZSwgZXNwZWNpYWxseQoJICB3aGVuIGl0J3MgZ2l2aW5nIHlvdSBzaXplcy4gKEZpeGVzICMzMjg0NTIpCgoyMDA2LTAxLTI0IDE4OjAzOjQ2ICswMDAwICBFZGdhcmQgTGltYSA8ZWRnYXJkLmxpbWFAaW5kdC5vcmcuYnI+CgoJKiBDaGFuZ2VMb2c6CgkqIGdzdC9ydHAvZ3N0cnRwZzcxMXBheS5jOgoJICBJJ20gdG9vIGxhenkgdG8gY29tbWVudCB0aGlzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCB3cml0dGVuIGJ5IEthaSBWZWhtYW5lbiA8a2FpLnZlaG1hbmVuQG5va2lhLmNvbT4gYXBwbGllZC4gU2VlIGJ1ZyAjMzI1MTQ4LgoKMjAwNi0wMS0yNCAxMTo1ODo1MyArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogTW9yZSBjb2hlcmVudCBmcmFtZXJhdGUgc2V0dGluZyBvbiBjYXBzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChnc3RfcXRkZW11eF9sb29wX2hlYWRlciksCgkgIChnc3RfcXRkZW11eF9hZGRfc3RyZWFtKSwgKHF0ZGVtdXhfcGFyc2VfdHJhayk6CgkgIE1vcmUgY29oZXJlbnQgZnJhbWVyYXRlIHNldHRpbmcgb24gY2Fwcy4KCSAgSWYgc2FtcGxlX3NpemUgaXMgYXZhaWxhYmxlLCB1c2UgdGhhdCBmb3IgdGhlIHNhbXBsZXMnIGR1cmF0aW9uIGluCgkgIHRoZSBpbmRleC4gVGhpcyBlbmFibGVzIHNpbmdsZSBmcmFtZSBzdHJlYW1zIHRvIHdvcmsgKGFuZCBJIGltYWdpbmUKCSAgZml4ZXMgc29tZSBvdGhlciBjYXNlcykuCgkgIFRlc3RlZCBvbiB0ZXN0c3VpdGUsIG5vIHJlZ3Jlc3Npb24uCgoyMDA2LTAxLTIzIDE4OjM5OjMxICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgZ3N0L21hdHJvc2thLzogQWRkZWQgcmVjb2duaXRpb24gb2YgUmVhbCBBdWRpbyBhbmQgVmlkZW8gc3RyZWFtcyBpbiBtYXRyb3NrYSBkZW11eGVyLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzogKGdzdF9tYXRyb3NrYV9kZW11eF92aWRlb19jYXBzKSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9hdWRpb19jYXBzKSwgKGdzdF9tYXRyb3NrYV9kZW11eF9wbHVnaW5faW5pdCk6CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLWlkcy5oOgoJICBBZGRlZCByZWNvZ25pdGlvbiBvZiBSZWFsIEF1ZGlvIGFuZCBWaWRlbyBzdHJlYW1zIGluIG1hdHJvc2thIGRlbXV4ZXIuCgoyMDA2LTAxLTIzIDE1OjEwOjU1ICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBBZGRlZCBjb2RlYyByZWNvZ25pdGlvbiBmb3I6IF8gVlAzMSA6IHZpZGVvL3gtdnAzIF8gQVZESiA6IGltYWdlL2pwZWcgXyBkdmNwLCBkdmMgIDogdmlkZW8veC1kLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKHF0ZGVtdXhfcGFyc2VfdHJhayksCgkgIChxdGRlbXV4X3ZpZGVvX2NhcHMpLCAocXRkZW11eF9hdWRpb19jYXBzKToKCSAgQWRkZWQgY29kZWMgcmVjb2duaXRpb24gZm9yOgoJICBfIFZQMzEgOiB2aWRlby94LXZwMwoJICBfIEFWREogOiBpbWFnZS9qcGVnCgkgIF8gZHZjcCwgZHZjICA6IHZpZGVvL3gtZHYsIHN5c3RlbXN0cmVhbT0oYm9vbGVhbilmYWxzZQoJICBfIDB4NmQ3MzAwMTcgOiBhdWRpby94LWFkcGNtLCBsYXlvdXQ9KHN0cmluZylxdWlja3RpbWUKCjIwMDYtMDEtMjMgMTQ6MzI6NDcgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgZ3N0L2lkM2RlbXV4L2lkM3YyZnJhbWVzLmM6IFJlbW92ZSBlcnJhbnQgYnJlYWsgc3RhdGVtZW50LCBhbmQgZml4IGNvbXBpbGF0aW9uIHdpdGggb2xkZXIgR0NDLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvaWQzZGVtdXgvaWQzdjJmcmFtZXMuYzogKGlkM3YyX3RhZ190b190YWdsaXN0KToKCSAgUmVtb3ZlIGVycmFudCBicmVhayBzdGF0ZW1lbnQsIGFuZCBmaXggY29tcGlsYXRpb24gd2l0aAoJICBvbGRlciBHQ0MuCgoyMDA2LTAxLTIzIDEyOjA0OjEyICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkqIENoYW5nZUxvZzoKCSAgTWVudGlvbiB0aGF0IG15IGxhc3QgY29tbWl0IGZpeGVzICMzMjgyNDEKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIE1lbnRpb24gdGhhdCBteSBsYXN0IGNvbW1pdCBmaXhlcyAjMzI4MjQxCgoyMDA2LTAxLTIzIDExOjA2OjM0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgc3lzL3N1bmF1ZGlvLzogRXhwb3J0IGZ1bmN0aW9ucyB0aGF0IGFyZSBuZWVkZWQgaW4gb3RoZXIgcGFydHMgb2YgdGhlIGNvZGUsIG1ha2VzIHRoZSBtaXhlciBhY3R1YWxseSB3b3JrOyBhZGp1c3QgbWFnLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBSZXZpZXdlZCBieTogVGltLVBoaWxpcHAgTcO8bGxlciAgPHRpbSBhdCBjZW50cmljdWxhciBkb3QgbmV0PgoJICAqIHN5cy9zdW5hdWRpby9nc3RzdW5hdWRpb21peGVyY3RybC5jOgoJICAqIHN5cy9zdW5hdWRpby9nc3RzdW5hdWRpb3NpbmsuYzogKGdzdF9zdW5hdWRpb3NpbmtfaW5pdCk6CgkgIEV4cG9ydCBmdW5jdGlvbnMgdGhhdCBhcmUgbmVlZGVkIGluIG90aGVyIHBhcnRzIG9mIHRoZSBjb2RlLAoJICBtYWtlcyB0aGUgbWl4ZXIgYWN0dWFsbHkgd29yazsgYWRqdXN0IG1hZ2ljIG1pbmltdW0gYnVmZmVyLXRpbWUKCSAgdmFsdWUgZnJvbSAzbXMgdG8gNW1zIHRvIHdvcmsgYXJvdW5kIHN0dXR0ZXJpbmcgZHVyaW5nIG1wMwoJICBwbGF5YmFjayAoIzMyNzc2NSkuCgoyMDA2LTAxLTIzIDEwOjQ0OjAzICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOiBGaXggcG9zc2libGUgZGVhZGxvY2sgaW4gbWF0cm9za2EgbXV4ZXIgKCMzMjc4MjUpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUmV2aWV3ZWQgYnk6IFRpbS1QaGlsaXBwIE3DvGxsZXIgIDx0aW0gYXQgY2VudHJpY3VsYXIgZG90IG5ldD4KCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6IChnc3RfbWF0cm9za2FfbXV4X2Jlc3RfcGFkKSwKCSAgKGdzdF9tYXRyb3NrYV9tdXhfd3JpdGVfZGF0YSksIChnc3RfbWF0cm9za2FfbXV4X2NvbGxlY3RlZCk6CgkgIEZpeCBwb3NzaWJsZSBkZWFkbG9jayBpbiBtYXRyb3NrYSBtdXhlciAoIzMyNzgyNSkuCgoyMDA2LTAxLTIzIDA5OjU5OjAzICswMDAwICBKZW5zIEdyYW5zZXVlciA8amVuc2dyQGdteC5uZXQ+CgoJICBDODkgZml4ZXM6IGRlY2xhcmUgdmFyaWFibGVzIGF0IHRoZSBiZWdpbm5pbmcgb2YgYSBibG9jayBhbmQKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2xpYnBuZy9nc3RwbmdlbmMuYzogKGdzdF9wbmdlbmNfY2hhaW4pOgoJICAqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzogKGdzdF9hdmlfZGVtdXhfaW52ZXJ0KToKCSAgKiBnc3QvcnRwL2dzdHJ0cG1wNHZkZXBheS5jOiAoZ3N0X3J0cF9tcDR2X2RlcGF5X3NldGNhcHMpOgoJICAqIGdzdC9ydHNwL3NkcG1lc3NhZ2UuaDoKCSAgKiBnc3QvdWRwL2dzdGR5bnVkcHNpbmsuYzogKGdzdF9keW51ZHBzaW5rX3JlbmRlcik6CgkgICogZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuYzogKGdzdF9tdWx0aXVkcHNpbmtfZ2V0X3N0YXRzKToKCSAgQzg5IGZpeGVzOiBkZWNsYXJlIHZhcmlhYmxlcyBhdCB0aGUgYmVnaW5uaW5nIG9mIGEgYmxvY2sgYW5kCgkgIG1ha2UgZ2NjLTIuOXggaGFwcHkgKCMzMjgyNjQ7IHBhdGNoIGJ5OiBKZW5zIEdyYW5zZXVlcgoJICA8amVuc2dyIGF0IGdteCBkb3QgbmV0PikuCgoyMDA2LTAxLTIzIDA5OjIyOjE3ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGdzdC9pZDNkZW11eC86IFJld3JpdGUgcGFyc2luZyBvZiB0ZXh0IHRhZ3MgdG8gaGFuZGxlIG11bHRpcGxlIE5VTEwgdGVybWluYXRlZCBzdHJpbmdzLiBQYXJzZSBudW1lcmljIGdlbnJlIHN0cmluZ3MgYS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvaWQzZGVtdXgvaWQzdGFncy5jOiAoaWQzZGVtdXhfcmVhZF9pZDN2Ml90YWcpOgoJICAqIGdzdC9pZDNkZW11eC9pZDN0YWdzLmg6CgkgICogZ3N0L2lkM2RlbXV4L2lkM3YyZnJhbWVzLmM6IChpZDNkZW11eF9pZDN2Ml9wYXJzZV9mcmFtZSksCgkgIChwYXJzZV9jb21tZW50X2ZyYW1lKSwgKHBhcnNlX3RleHRfaWRlbnRpZmljYXRpb25fZnJhbWUpLAoJICAoaWQzdjJfdGFnX3RvX3RhZ2xpc3QpLCAoaWQzdjJfYXJlX2RpZ2l0cyksCgkgIChpZDN2Ml9nZW5yZV9zdHJpbmdfdG9fdGFnbGlzdCksIChpZDN2Ml9nZW5yZV9maWVsZHNfdG9fdGFnbGlzdCksCgkgIChwYXJzZV9zcGxpdF9zdHJpbmdzKSwgKGZyZWVfdGFnX3N0cmluZ3MpOgoJICBSZXdyaXRlIHBhcnNpbmcgb2YgdGV4dCB0YWdzIHRvIGhhbmRsZSBtdWx0aXBsZSBOVUxMIHRlcm1pbmF0ZWQKCSAgc3RyaW5ncy4gUGFyc2UgbnVtZXJpYyBnZW5yZSBzdHJpbmdzIGFuZCBJRDN2MiB0eXBlCgkgICIoMykoNilBbHRlcm5hdGl2ZSIgc3R5bGUgZ2VucmUgc3RyaW5ncy4KCSAgUGFyc2UgZGF0ZXMgdGhhdCBhcmUgb25seSBZWVlZIG9yIFlZWVktbW0gZm9ybWF0LgoKMjAwNi0wMS0yMSAxMTo0Mzo1MyArMDAwMCAgRmFicml6aW8gPGZhYnJpemlvLmdlQHRpc2NhbGkuaXQ+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6ICd0d29zJyBhbmQgJ3Nvd3QnIGZvdXJjYyBjYW4gYmUgMTZiaXQgb3IgOGJpdCBhdWRpby4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAocXRkZW11eF9wYXJzZV90cmFrKSwKCSAgKHF0ZGVtdXhfYXVkaW9fY2Fwcyk6CgkgICd0d29zJyBhbmQgJ3Nvd3QnIGZvdXJjYyBjYW4gYmUgMTZiaXQgb3IgOGJpdCBhdWRpby4KCSAgRml4IDhiaXQgY2FzZSAoIzMyNzEzMywgYmFzZWQgb24gcGF0Y2ggYnk6IEZhYnJpemlvCgkgIEdlbm5hcmkgPGZhYnJpemlvIGRvdCBnZSBhdCB0aXNjYWxpIGRvdCBpdD4pLgoJICBBbHNvLCAiR19MSVRUTEVfRU5ESUFOIiBhbmQgIkdfQklHX0VORElBTiIgYXJlIG5vdAoJICB2YWxpZCBsaXRlcmFscyBmb3IgZW5kaWFubmVzcyBpbiBjYXBzIHN0cmluZ3MsCgkgIG9ubHkgIkxJVFRMRV9FTkRJQU4iIGFuZCAiQklHX0VORElBTiIgYXJlIHZhbGlkLgoKMjAwNi0wMS0yMCAxNTowNjoyOCArMDAwMCAgQ2hyaXN0b3BoIEJ1cmdoYXJkdCA8aGF3a2VzQHdlYi5kZT4KCgkgIGdzdC92aWRlb2JveC9nc3R2aWRlb2JveC5jOiBEb24ndCBmb3JnZXQgdG8gaW5pdGlhbGl6ZSBsaWJvaWwsIG90aGVyd2lzZSBvdXIgb2lsIGZ1bmN0aW9ucwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvdmlkZW9ib3gvZ3N0dmlkZW9ib3guYzogKGdzdF92aWRlb19ib3hfY2xhc3NfaW5pdCk6CgkgIERvbid0IGZvcmdldCB0byBpbml0aWFsaXplIGxpYm9pbCwgb3RoZXJ3aXNlIG91ciBvaWwgZnVuY3Rpb25zCgkgIHdpbGwgY3Jhc2ggKGZpeGVzICMzMjc4NzE7IHBhdGNoIGJ5OiBDaHJpc3RvcGggQnVyZ2hhcmR0CgkgIDxoYXdrZXMgYXQgd2ViIGRvdCBkZT4pLgoKMjAwNi0wMS0xOSAyMTo0NjozMiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIENoYW5nZUxvZzoKCSAgQ2hhbmdlTG9nIHN1cmdlcnkgKGxhc3QgZW50cnkgbWF5IGhhdmUgYmVlbiBzbGlnaHRseSBtaXNsZWFkaW5nKQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgQ2hhbmdlTG9nIHN1cmdlcnkgKGxhc3QgZW50cnkgbWF5IGhhdmUgYmVlbiBzbGlnaHRseSBtaXNsZWFkaW5nKQoKMjAwNi0wMS0xOSAyMTowMDo1MCArMDAwMCAgQnJpYW4gQ2FtZXJvbiA8YnJpYW4uY2FtZXJvbkBzdW4uY29tPgoKCSAgY29uZmlndXJlLmFjOiBqdXN0IGxpa2UgaW4gdGhlIGNvcmUgYW5kIGdzdC1wbHVnaW5zLWJhc2UuIEZpeGVzIGJ1aWxkIG9uIFNvbGFyaXMgKGZpeGVzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgVXNlIHBsYWluIEFTX0xJQlRPT0xfVEFHUyBpbnN0ZWFkIG9mIEFTX0xJQlRPT0xfVEFHUyhbQ1hYXSksIGp1c3QKCSAgbGlrZSBpbiB0aGUgY29yZSBhbmQgZ3N0LXBsdWdpbnMtYmFzZS4gRml4ZXMgYnVpbGQgb24gU29sYXJpcyAoZml4ZXMKCSAgIzMyNjY4MzsgcGF0Y2ggYnk6IEJyaWFuIENhbWVyb24gPGJyaWFuIGRvdCBjYW1lcm9uIGF0IHN1biBkb3QgY29tPikKCjIwMDYtMDEtMTkgMDA6MTA6NTEgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvY2Rpby86IEZpeCBidWlsZCBmb3IgbGliY2RpbyB2ZXJzaW9ucyA+PSA3NjsgZ2l2ZSBzbGlnaHRseSBsb3dlciByYW5rIHRoYW4gY2RwYXJhbm9pYS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2NkaW8vZ3N0Y2Rpby5jOiAoZ3N0X2NkaW9fYWRkX2NkdGV4dF9maWVsZCksIChwbHVnaW5faW5pdCk6CgkgICogZXh0L2NkaW8vZ3N0Y2Rpby5oOgoJICAqIGV4dC9jZGlvL2dzdGNkaW9jZGRhc3JjLmM6IChnc3RfY2Rpb19jZGRhX3NyY19nZXRfY2R0ZXh0KToKCSAgRml4IGJ1aWxkIGZvciBsaWJjZGlvIHZlcnNpb25zID49IDc2OyBnaXZlIHNsaWdodGx5IGxvd2VyIHJhbmsKCSAgdGhhbiBjZHBhcmFub2lhLgoKMjAwNi0wMS0xOCAxOTozMDozNiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIFBvcnQgbGliY2RpbyBjZGRhIHNvdXJjZSwgZm9ybWVybHkga25vd24gYXMgY2RkYXNyYywgbm93IGtub3duIGFzIGNkaW9jZGRhc3JjIChmaXhlcyAjMzIzMzI3KS4gU2hvdWxkIGFsc28gcmVhZCBDRC1URS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgICogZXh0L01ha2VmaWxlLmFtOgoJICAqIGV4dC9jZGlvL01ha2VmaWxlLmFtOgoJICAqIGV4dC9jZGlvL2dzdGNkaW8uYzoKCSAgKiBleHQvY2Rpby9nc3RjZGlvLmg6CgkgICogZXh0L2NkaW8vZ3N0Y2Rpb2NkZGFzcmMuYzoKCSAgKiBleHQvY2Rpby9nc3RjZGlvY2RkYXNyYy5oOgoJICBQb3J0IGxpYmNkaW8gY2RkYSBzb3VyY2UsIGZvcm1lcmx5IGtub3duIGFzIGNkZGFzcmMsIG5vdyBrbm93biBhcwoJICBjZGlvY2RkYXNyYyAoZml4ZXMgIzMyMzMyNykuIFNob3VsZCBhbHNvIHJlYWQgQ0QtVEVYVCBpZiBhdmFpbGFibGUsCgkgIGJ1dCB0aGF0J3Mgbm90IHRlc3RlZCAoZml4ZXMgIzMxNzY1OCkuCgoyMDA2LTAxLTE4IDE5OjA4OjA4ICswMDAwICBUb21taSBNecO2aMOkbmVuIDxleHQtdG9tbWkubXlvaGFuZW5Abm9raWEuY29tPgoKCSAgZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6IEZpeCBjb252ZXJzaW9uIGZyb20gVElNRSB0byBCWVRFUyBmb3JtYXQgKGZpeGVzICMzMjY4NjQ7CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOiAoZ3N0X3dhdnBhcnNlX3BhZF9jb252ZXJ0KToKCSAgRml4IGNvbnZlcnNpb24gZnJvbSBUSU1FIHRvIEJZVEVTIGZvcm1hdCAoZml4ZXMgIzMyNjg2NDsKCSAgcGF0Y2ggYnk6IFRvbW1pIE15w7Zow6RuZW4gPGV4dC10b21taSBkb3QgbXlvaGFuZW4gYXQgbm9raWEgZG90IGNvbT4pCgoyMDA2LTAxLTE4IDE4OjU0OjAyICswMDAwICBFZGdhcmQgTGltYSA8ZWRnYXJkLmxpbWFAaW5kdC5vcmcuYnI+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIFJvbmFsZCdzIHBhdGNoIGFwcGxpZWQuIHNlZSBidWcgIzMyNjMxOC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFJvbmFsZCdzIHBhdGNoIGFwcGxpZWQuIHNlZSBidWcgIzMyNjMxOC4KCjIwMDYtMDEtMTcgMTY6NDU6NDMgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4Lio6IEZpeCBzZWVraW5nIGZvciBxdWlja3RpbWUgZmlsZXMuIENvdWxkIHN0aWxsIHVzZSBzb21lIG1vcmUgbG92ZSBhbmQgc29waGlzdGljYXRpb24uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKGdzdF9xdGRlbXV4X2luaXQpLAoJICAoZ3N0X3F0ZGVtdXhfc2VuZF9ldmVudCksIChnc3RfcXRkZW11eF9oYW5kbGVfc3JjX2V2ZW50KSwKCSAgKGdzdF9xdGRlbXV4X2NoYW5nZV9zdGF0ZSksIChnc3RfcXRkZW11eF9sb29wX2hlYWRlcik6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5oOgoJICBGaXggc2Vla2luZyBmb3IgcXVpY2t0aW1lIGZpbGVzLiBDb3VsZCBzdGlsbCB1c2Ugc29tZSBtb3JlCgkgIGxvdmUgYW5kIHNvcGhpc3RpY2F0aW9uLgoKMjAwNi0wMS0xNiAxMDoyMzo0NyArMDAwMCAgQ2hyaXN0aWFuIFNjaGFsbGVyIDx1cmFldXNAZ25vbWUub3JnPgoKCSogZ3N0LXBsdWdpbnMtZ29vZC5zcGVjLmluOgoJICB1cGRhdGUgd2l0aCBsb3ZlCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICB1cGRhdGUgd2l0aCBsb3ZlCgoyMDA2LTAxLTE1IDIwOjIxOjQ4ICswMDAwICBTZXJnZXkgU2NvYmljaCA8c2VyZ2V5LnNjb2JpY2hAZ21haWwuY29tPgoKCSAgZ3N0L2lkM2RlbXV4L2lkM3YyZnJhbWVzLmM6IEZpeCBjb21waWxhdGlvbiBvZiBpZDNkZW11eCB3aGVuIHpsaWIgaXMgbm90IHByZXNlbnQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9pZDNkZW11eC9pZDN2MmZyYW1lcy5jOiAoaWQzZGVtdXhfaWQzdjJfcGFyc2VfZnJhbWUpOgoJICBGaXggY29tcGlsYXRpb24gb2YgaWQzZGVtdXggd2hlbiB6bGliIGlzIG5vdCBwcmVzZW50LgoJICAoRml4ZXMgIzMyNjYwMjsgcGF0Y2ggYnk6IFNlcmdleSBTY29iaWNoKQoKMjAwNi0wMS0xNSAxNDoxMjoxMiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC9lc2QvTWFrZWZpbGUuYW06IG90aGVyd2lzZSBidWlsZCB3aWxsIGZhaWwgZm9yIGZvbGtzIHdpdGggbGliZXNkIGluIGEgbm9uLXN0YW5kYXJkIHByZWZpeCAoIzMyNzAwOSkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9lc2QvTWFrZWZpbGUuYW06CgkgIEFkZCAkKEVTRF9DRkxBR1MpLCBvdGhlcndpc2UgYnVpbGQgd2lsbCBmYWlsIGZvciBmb2xrcwoJICB3aXRoIGxpYmVzZCBpbiBhIG5vbi1zdGFuZGFyZCBwcmVmaXggKCMzMjcwMDkpLgoKMjAwNi0wMS0xMyAxOToyOToyNyArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBDaGFuZ2VMb2c6CgkqIGNvbmZpZ3VyZS5hYzoKCSAgYmFjayB0byBoZWFkCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBiYWNrIHRvIGhlYWQKCjIwMDYtMDEtMTMgMTk6MjU6NDAgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogQ2hhbmdlTG9nOgoJKiBORVdTOgoJKiBSRUxFQVNFOgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLTEzOTQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWFzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGFjb2xvci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9kZXRlY3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXZpLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhY2FzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhaXJvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWN1dHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmVuY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZmZWN0di54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lc2RzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx4ZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdjb25mZWxlbWVudHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxldmVsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1hdHJvc2thLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpcGFydC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uYXZpZ2F0aW9udGVzdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3NhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbmcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0c3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hvdXQyc2VuZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbXB0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi11ZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9ib3gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9mbGlwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvbWl4ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2ZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhcnNlLnhtbDoKCSogZG9jcy91cGxvYWQubWFrOgoJICByZWxlYXNpbmcgMC4xMC4xCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICByZWxlYXNpbmcgMC4xMC4xCgoyMDA2LTAxLTEzIDE4OjM3OjEzICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZXh0L2pwZWcvZ3N0c21va2VlbmMuYzogZml4IG1lbWxlYWsuICBGaXhlcyAjMzI2NjE4CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBwYXRjaCBieTogV2ltIFRheW1hbnMKCSAgKiBleHQvanBlZy9nc3RzbW9rZWVuYy5jOiAoZ3N0X3Ntb2tlZW5jX2NoYWluKToKCSAgZml4IG1lbWxlYWsuICBGaXhlcyAjMzI2NjE4CgoyMDA2LTAxLTEzIDE4OjM1OjAwICswMDAwICBNaWtlIFNtaXRoIDxtc21pdGhAeGlwaC5vcmc+CgoJICBnc3QvbGV2ZWwvZ3N0bGV2ZWwuYzogRml4IG1lbWxlYWsuICBGaXhlcyAjMzI2NjEyCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA2LTAxLTEzICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlICA8dGhvbWFzIGF0IGFwZXN0YWFydCBkb3Qgb3JnPgoJICBwYXRjaCBieTogTWlrZSBTbWl0aAoJICAqIGdzdC9sZXZlbC9nc3RsZXZlbC5jOiAoZ3N0X2xldmVsX21lc3NhZ2VfbmV3KSwKCSAgKGdzdF9sZXZlbF9tZXNzYWdlX2FwcGVuZF9jaGFubmVsKToKCSAgRml4IG1lbWxlYWsuICBGaXhlcyAjMzI2NjEyCgoyMDA2LTAxLTExIDExOjM5OjEwICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkgIGNvbmZpZ3VyZS5hYzogcHJlcmVsZWFzaW5nCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgcHJlcmVsZWFzaW5nCgkgICogcG8vYWYucG86CgkgICogcG8vYXoucG86CgkgICogcG8vY3MucG86CgkgICogcG8vZW5fR0IucG86CgkgICogcG8vaHUucG86CgkgICogcG8vaXQucG86CgkgICogcG8vbmIucG86CgkgICogcG8vbmwucG86CgkgICogcG8vb3IucG86CgkgICogcG8vc3EucG86CgkgICogcG8vc3IucG86CgkgICogcG8vc3YucG86CgkgICogcG8vdWsucG86CgkgICogcG8vdmkucG86CgkgIHVwZGF0ZSB0cmFuc2xhdGlvbnMKCjIwMDYtMDEtMTEgMTE6MDQ6MDMgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IEFkZCBzdXBwb3J0IGZvciBJbmRlbzMgdmlkZW8gaW4gUXVpY2t0aW1lIGZpbGVzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgcmV2aWV3ZWQgYnk6IEVkd2FyZCBIZXJ2ZXkgIDxlZHdhcmRAZmx1ZW5kby5jb20+CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAocXRkZW11eF92aWRlb19jYXBzKToKCSAgQWRkIHN1cHBvcnQgZm9yIEluZGVvMyB2aWRlbyBpbiBRdWlja3RpbWUgZmlsZXMuCgkgIENsb3NlcyAjMzI2NTI0CgoyMDA2LTAxLTEwIDEyOjM4OjU5ICswMDAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAeGlwaC5vcmc+CgoJICBnc3QvbGV2ZWwvZ3N0bGV2ZWwuYzogRG9uJ3QgbGVhayBmaWx0ZXIgYXJyYXlzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbGV2ZWwvZ3N0bGV2ZWwuYzogKGdzdF9sZXZlbF9jbGFzc19pbml0KSwKCSAgKGdzdF9sZXZlbF9kaXNwb3NlKToKCSAgRG9uJ3QgbGVhayBmaWx0ZXIgYXJyYXlzLgoKMjAwNi0wMS0wOSAxNzowNDo1MiArMDAwMCAgQ2hyaXN0aWFuIFNjaGFsbGVyIDx1cmFldXNAZ25vbWUub3JnPgoKCSogQ2hhbmdlTG9nOgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBkb2NzL3VwbG9hZC5tYWs6CgkqIGdzdC1wbHVnaW5zLWdvb2Quc3BlYy5pbjoKCSogc3lzL01ha2VmaWxlLmFtOgoJKiBzeXMvc3VuYXVkaW8vTWFrZWZpbGUuYW06CgkqIHN5cy9zdW5hdWRpby9nc3RzdW5hdWRpby5jOgoJKiBzeXMvc3VuYXVkaW8vZ3N0c3VuYXVkaW9taXhlci5jOgoJKiBzeXMvc3VuYXVkaW8vZ3N0c3VuYXVkaW9taXhlci5oOgoJKiBzeXMvc3VuYXVkaW8vZ3N0c3VuYXVkaW9taXhlcmN0cmwuYzoKCSogc3lzL3N1bmF1ZGlvL2dzdHN1bmF1ZGlvbWl4ZXJjdHJsLmg6CgkqIHN5cy9zdW5hdWRpby9nc3RzdW5hdWRpb21peGVydHJhY2suYzoKCSogc3lzL3N1bmF1ZGlvL2dzdHN1bmF1ZGlvbWl4ZXJ0cmFjay5oOgoJKiBzeXMvc3VuYXVkaW8vZ3N0c3VuYXVkaW9zaW5rLmM6CgkqIHN5cy9zdW5hdWRpby9nc3RzdW5hdWRpb3NpbmsuaDoKCSAgYWRkIFN1biBBdWRpbyBwbHVnaW4uIFZlcmlmaWVkIHRoYXQgbm90aGluZyBicmVha3MgYW5kIHRoYXQgbWFrZSBjaGVjayB3b3Jrcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGFkZCBTdW4gQXVkaW8gcGx1Z2luLiBWZXJpZmllZCB0aGF0IG5vdGhpbmcgYnJlYWtzIGFuZCB0aGF0IG1ha2UgY2hlY2sgd29ya3MuCgkgIERvbid0IHRoaW5rIHRoZSBkb2NzIGdldHMgcHJvcGVybHkgYnVpbHQgeWV0LCBidXQgSSBkb24ndCB1bmRlcnN0YW5kIGV4YWN0bHkgaG93IHRvIGVuYWJsZSB0aGF0LgoKMjAwNi0wMS0wNyAyMDowMTowOSArMDAwMCAgUGhpbGlwcGUgS2FsYWYgPHBoaWxpcHBlLmthbGFmQGNvbGxhYm9yYS5jby51az4KCgkgIGdzdC1wbHVnaW5zLWdvb2QvZ3N0L3VkcC86IEFsbG93IHVkcHNyYyBhbmQgZHludWRwc2luayB0byB0YWtlIGEgc29ja2ZkIGFzIGEgcGFyYW1ldGVyLiBGb3IgdWRwc3JjLCBvdmVycmlkZXMgdGhlIHBvci4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNS0wMS0wNyAgUGhpbGlwcGUgS2hhbGFmICA8cGhpbGlwcGUua2FsYWZAY29sbGFib3JhLmNvLnVrPgoJICAqIGdzdC1wbHVnaW5zLWdvb2QvZ3N0L3VkcC9nc3RkeW51ZHBzaW5rLmM6CgkgICogZ3N0LXBsdWdpbnMtZ29vZC9nc3QvdWRwL2dzdHVkcHNyYy5jOgoJICBBbGxvdyB1ZHBzcmMgYW5kIGR5bnVkcHNpbmsgdG8gdGFrZSBhIHNvY2tmZCBhcyBhIHBhcmFtZXRlci4gRm9yIHVkcHNyYywKCSAgb3ZlcnJpZGVzIHRoZSBwb3J0IG9yIG11bHRpY2FzdCBwYXJhbWV0ZXJzLiBGaXhlcyBidWdzICMzMjMwMjEuCgoyMDA2LTAxLTA2IDE2OjI4OjMwICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L2djb25mLzogQWRkIG5ldyBnY29uZmF1ZGlvc3JjIGFuZCBnY29uZnZpZGVvc3JjIGVsZW1lbnRzIChuZWVkZWQgZm9yIGdub21lLXNvdW5kLXJlY29yZGVyKS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2djb25mL01ha2VmaWxlLmFtOgoJICAqIGV4dC9nY29uZi9nc3RnY29uZmF1ZGlvc3JjLmM6IChnc3RfZ2NvbmZfYXVkaW9fc3JjX2Jhc2VfaW5pdCksCgkgIChnc3RfZ2NvbmZfYXVkaW9fc3JjX2NsYXNzX2luaXQpLCAoZ3N0X2djb25mX2F1ZGlvX3NyY19yZXNldCksCgkgIChnc3RfZ2NvbmZfYXVkaW9fc3JjX2luaXQpLCAoZ3N0X2djb25mX2F1ZGlvX3NyY19kaXNwb3NlKSwKCSAgKGRvX3RvZ2dsZV9lbGVtZW50KSwgKGNiX3RvZ2dsZV9lbGVtZW50KSwKCSAgKGdzdF9nY29uZl9hdWRpb19zcmNfY2hhbmdlX3N0YXRlKToKCSAgKiBleHQvZ2NvbmYvZ3N0Z2NvbmZhdWRpb3NyYy5oOgoJICAqIGV4dC9nY29uZi9nc3RnY29uZmVsZW1lbnRzLmM6IChwbHVnaW5faW5pdCk6CgkgICogZXh0L2djb25mL2dzdGdjb25mdmlkZW9zcmMuYzogKGdzdF9nY29uZl92aWRlb19zcmNfYmFzZV9pbml0KSwKCSAgKGdzdF9nY29uZl92aWRlb19zcmNfY2xhc3NfaW5pdCksIChnc3RfZ2NvbmZfdmlkZW9fc3JjX3Jlc2V0KSwKCSAgKGdzdF9nY29uZl92aWRlb19zcmNfaW5pdCksIChnc3RfZ2NvbmZfdmlkZW9fc3JjX2Rpc3Bvc2UpLAoJICAoZG9fdG9nZ2xlX2VsZW1lbnQpLCAoY2JfdG9nZ2xlX2VsZW1lbnQpLAoJICAoZ3N0X2djb25mX3ZpZGVvX3NyY19jaGFuZ2Vfc3RhdGUpOgoJICAqIGV4dC9nY29uZi9nc3RnY29uZnZpZGVvc3JjLmg6CgkgIEFkZCBuZXcgZ2NvbmZhdWRpb3NyYyBhbmQgZ2NvbmZ2aWRlb3NyYyBlbGVtZW50cwoJICAobmVlZGVkIGZvciBnbm9tZS1zb3VuZC1yZWNvcmRlcikuCgoyMDA2LTAxLTA2IDExOjQ2OjUzICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgZ3N0L2lkM2RlbXV4L2dzdGlkM2RlbXV4LmM6IEFkZCBnc3RfZWxlbWVudF9ub19tb3JlX3BhZHMoKSBmb3IgcHJvcGVyIGRlY29kZWJpbiBiZWhhdmlvdXIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9pZDNkZW11eC9nc3RpZDNkZW11eC5jOiAoZ3N0X2lkM2RlbXV4X2FkZF9zcmNwYWQpOgoJICBBZGQgZ3N0X2VsZW1lbnRfbm9fbW9yZV9wYWRzKCkgZm9yIHByb3BlciBkZWNvZGViaW4gYmVoYXZpb3VyLgoJICAqIGdzdC9pZDNkZW11eC9pZDN2MmZyYW1lcy5jOiAocGFyc2VfY29tbWVudF9mcmFtZSksCgkgIChwYXJzZV90ZXh0X2lkZW50aWZpY2F0aW9uX2ZyYW1lKSwgKHBhcnNlX3NwbGl0X3N0cmluZ3MpOgoJICBGYWlsdXJlIHRvIGRlY29kZSBzb21lIHRhZ3MgaXMgbm90IGEgR1NUX0VSUk9SKCkgYnV0IGEKCSAgR1NUX1dBUk5JTkcoKQoJICBXaGVuIGl0ZXJhdGluZyBvdmVyIGEgY2h1bmsgb2YgdGV4dCwgY2hlY2sgdGhhdCB3ZSBoYXZlbid0IGdvbmUgdG9vCgkgIGZhci4KCjIwMDYtMDEtMDUgMjM6MTc6NDQgKzAwMDAgIFPDqWJhc3RpZW4gTW91dHRlIDxzZWJhc3RpZW5AbW91dHRlLm5ldD4KCgkqIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdwbHVnaW4uYzoKCSogc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuYzoKCSogc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuaDoKCSogc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdHNvdW5kcGx1Z2luLmM6CgkqIHN5cy9kaXJlY3Rzb3VuZC9nc3RkaXJlY3Rzb3VuZHNpbmsuYzoKCSogc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdHNvdW5kc2luay5oOgoJKiB3aW4zMi92czYvbGliZ3N0ZGlyZWN0ZHJhdy5kc3A6CgkqIHdpbjMyL3ZzNi9saWJnc3RkaXJlY3Rzb3VuZC5kc3A6CgkgIGFkZGVkIHN5cy9kaXJlY3RkcmF3IGFkZGVkIHN5cy9kaXJlY3Rzb3VuZCBhZGRlZCB3aW4zMi92czYvZ3N0X3BsdWdpbnNfYmFkLmRzdyBhZGRlZCB3aW4zMi92czYvbGliZ3N0ZGlyZWN0c291bmQuZHNwIC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNi0wMS0wNSAgU2ViYXN0aWVuIE1vdXR0ZSAgPHNlYmFzdGllbkBtb3V0dGUubmV0PgoJICAqIGFkZGVkIHN5cy9kaXJlY3RkcmF3CgkgICogYWRkZWQgc3lzL2RpcmVjdHNvdW5kCgkgICogYWRkZWQgd2luMzIvdnM2L2dzdF9wbHVnaW5zX2JhZC5kc3cKCSAgKiBhZGRlZCB3aW4zMi92czYvbGliZ3N0ZGlyZWN0c291bmQuZHNwCgkgICogYWRkZWQgd2luMzIvdnM2L2xpYmdzdGRpcmVjdGRyYXcuZHNwCgkgICogYWRkZWQgd2luMzIvY29tbW9uL2NvbmZpZy5oCgoyMDA2LTAxLTA1IDE3OjAzOjQ1ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3QvdmlkZW9ib3gvZ3N0dmlkZW9ib3guYzogY2FsbCBvaWxfaW5pdCgpIHdoZW4gdXNpbmcgbGlib2lsCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC92aWRlb2JveC9nc3R2aWRlb2JveC5jOiAoZ3N0X3ZpZGVvX2JveF9jbGFzc19pbml0KSwKCSAgKHBsdWdpbl9pbml0KToKCSAgY2FsbCBvaWxfaW5pdCgpIHdoZW4gdXNpbmcgbGlib2lsCgoyMDA2LTAxLTA0IDE3OjI4OjQ5ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZXh0L2pwZWcvOiBGaXggbGVha3MuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9qcGVnL2dzdHNtb2tlZGVjLmM6IChnc3Rfc21va2VkZWNfY2hhaW4pOgoJICAqIGV4dC9qcGVnL2dzdHNtb2tlZW5jLmM6IChnc3Rfc21va2VlbmNfY2hhaW4pOgoJICBGaXggbGVha3MuCgoyMDA2LTAxLTAyIDE5OjM4OjMyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5jOiBEb24ndCBnX2Fzc2VydCgpIHdoZXJlIHdlIHNob3VsZCBqdXN0IHJldHVybiBGQUxTRTsgcmVtb3ZlIHVubmVjZXNzYXJ5IGdfYXNzZXJ0KCk7IGluaXRpYWxpemUgLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBSZXZpZXdlZCBieTogVGltLVBoaWxpcHAgTcO8bGxlciAgPHRpbSBhdCBjZW50cmljdWxhciBkb3QgbmV0PgoJICAqIGV4dC9mbGFjL2dzdGZsYWNkZWMuYzogKGdzdF9mbGFjX2RlY193cml0ZSksCgkgIChnc3RfZmxhY19kZWNfY29udmVydF9zcmMpLCAoZ3N0X2ZsYWNfZGVjX3NyY19xdWVyeSksCgkgIChnc3RfZmxhY19kZWNfY2hhbmdlX3N0YXRlKToKCSAgRG9uJ3QgZ19hc3NlcnQoKSB3aGVyZSB3ZSBzaG91bGQganVzdCByZXR1cm4gRkFMU0U7IHJlbW92ZQoJICB1bm5lY2Vzc2FyeSBnX2Fzc2VydCgpOyBpbml0aWFsaXplIHNvbWUgZmllbGRzIHByb3Blcmx5IGluCgkgIHN0YXRlIGNoYW5nZSBmdW5jdGlvbiAoZml4ZXMgIzMyNTUwNCkuIEFsc28sIHVzZQoJICBHU1RfREVCVUdfT0JKRUNUIGluIHR3byBtb3JlIHBsYWNlcy4KCjIwMDUtMTItMzAgMTU6NTE6MDUgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGNvbmZpZ3VyZS5hYzogYWxzbyByZW1vdmUgc21vb3Rod2F2ZSdzIE1ha2VmaWxlLmFtCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgYWxzbyByZW1vdmUgc21vb3Rod2F2ZSdzIE1ha2VmaWxlLmFtCgkgICogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJICBmaXggcGx1Z2luIGRvY3MKCjIwMDUtMTItMzAgMTU6Mzk6MTcgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogZ3N0L3Ntb290aHdhdmUvLmdpdGlnbm9yZToKCSogZ3N0L3Ntb290aHdhdmUvTWFrZWZpbGUuYW06CgkqIGdzdC9zbW9vdGh3YXZlL1JFQURNRToKCSogZ3N0L3Ntb290aHdhdmUvZGVtby1vc3NzcmMuYzoKCSogZ3N0L3Ntb290aHdhdmUvZ3N0c21vb3Rod2F2ZS5jOgoJKiBnc3Qvc21vb3Rod2F2ZS9nc3RzbW9vdGh3YXZlLmg6CgkgIHJlbW92ZSBvbGQgcGx1Z2luIHRoYXQgd2VudCBiYWQKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHJlbW92ZSBvbGQgcGx1Z2luIHRoYXQgd2VudCBiYWQKCjIwMDUtMTItMzAgMTU6MzQ6MTggKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIHRlc3RzL2V4YW1wbGVzL01ha2VmaWxlLmFtOiBhZGRlZCBtaXNzaW5nIE1ha2VmaWxlLmFtCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2V4YW1wbGVzL01ha2VmaWxlLmFtOgoJICBhZGRlZCBtaXNzaW5nIE1ha2VmaWxlLmFtCgoyMDA1LTEyLTMwIDE1OjI4OjQ0ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBtb3ZlZCBsZXZlbC1leGFtcGxlIHRvIHRlc3RzL2V4YW1wbGVzL2xldmVsLWV4YW1wbGUKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAqIGdzdC9sZXZlbC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvbGV2ZWwvbGV2ZWwtZXhhbXBsZS5jOgoJICAqIHRlc3RzL01ha2VmaWxlLmFtOgoJICAqIHRlc3RzL2V4YW1wbGVzL2xldmVsL01ha2VmaWxlLmFtOgoJICAqIHRlc3RzL2V4YW1wbGVzL2xldmVsL2xldmVsLWV4YW1wbGUuYzogKG1lc3NhZ2VfaGFuZGxlciksIChtYWluKToKCSAgbW92ZWQgbGV2ZWwtZXhhbXBsZSB0byB0ZXN0cy9leGFtcGxlcy9sZXZlbC1leGFtcGxlCgkgICogdGVzdHMvb2xkL2V4YW1wbGVzL2xldmVsL2RlbW8uYzogKG1haW4pOgoJICAqIHRlc3RzL29sZC9leGFtcGxlcy9sZXZlbC9wbG90LmM6IChtYWluKToKCSAgc29tZSBpbml0aWFsIGZpeGVzCgoyMDA1LTEyLTI5IDE2OjM2OjE5ICswMDAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAeGlwaC5vcmc+CgoJICBnc3QvdWRwL2dzdG11bHRpdWRwc2luay4qOiBUcmFjayBwYWNrZXRzIHNlbnQgcGVyIGNsaWVudCBpbiBhZGRpdGlvbiB0byBieXRlcyBzZW50OyBwcm92aWRlIHRoaXMgaW5mbyB0aHJvdWdoIGdldC1zdGEuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuYzogKGdzdF9tdWx0aXVkcHNpbmtfcmVuZGVyKSwKCSAgKGdzdF9tdWx0aXVkcHNpbmtfcmVtb3ZlKSwgKGdzdF9tdWx0aXVkcHNpbmtfZ2V0X3N0YXRzKToKCSAgKiBnc3QvdWRwL2dzdG11bHRpdWRwc2luay5oOgoJICBUcmFjayBwYWNrZXRzIHNlbnQgcGVyIGNsaWVudCBpbiBhZGRpdGlvbiB0byBieXRlcyBzZW50OyBwcm92aWRlCgkgIHRoaXMgaW5mbyB0aHJvdWdoIGdldC1zdGF0cyBzaWduYWwKCjIwMDUtMTItMjkgMTE6MjY6MTIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvYXVwYXJzZS9nc3RhdXBhcnNlLmM6IENhbid0IHVzZSBnc3Rfb2JqZWN0X3VucmVmKCkgb24gYSBHc3RBZGFwdGVyICgjMzI1MTkxKS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2F1cGFyc2UvZ3N0YXVwYXJzZS5jOiAoZ3N0X2F1X3BhcnNlX2Rpc3Bvc2UpOgoJICBDYW4ndCB1c2UgZ3N0X29iamVjdF91bnJlZigpIG9uIGEgR3N0QWRhcHRlciAoIzMyNTE5MSkuCgoyMDA1LTEyLTI4IDE4OjU1OjMyICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGdzdC9pZDNkZW11eC9pZDN0YWdzLmM6IElmIGEgYnJva2VuIHRhZyBoYXMgMCBieXRlcyBwYXlsb2FkLCBhdCBsZWFzdCBzdGlsbCBza2lwIHRoZSAxMCBieXRlIGhlYWRlcgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvaWQzZGVtdXgvaWQzdGFncy5jOiAoaWQzZGVtdXhfcmVhZF9pZDN2Ml90YWcpOgoJICBJZiBhIGJyb2tlbiB0YWcgaGFzIDAgYnl0ZXMgcGF5bG9hZCwgYXQgbGVhc3Qgc3RpbGwgc2tpcAoJICB0aGUgMTAgYnl0ZSBoZWFkZXIKCjIwMDUtMTItMjIgMTU6MDA6NDEgKzAwMDAgIFBoaWxpcHBlIEthbGFmIDxwaGlsaXBwZS5rYWxhZkBjb2xsYWJvcmEuY28udWs+CgoJICBnc3QtcGx1Z2lucy1nb29kL2dzdC9ydHAvOiBNYWtpbmcgdGhlc2UgZGVwYXlsb2FkZXJzIChIMjYzKyBhbmQgbXBlZzQgdmlkZW8pIGluaGVyaXQgZnJvbQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNS0xMi0yMiAgUGhpbGlwcGUgS2hhbGFmICA8YnVyZ2VyQHNwZWVkeS5vcmc+CgkgICogZ3N0LXBsdWdpbnMtZ29vZC9nc3QvcnRwL2dzdHJ0cGgyNjNwZGVwYXkuaDoKCSAgKiBnc3QtcGx1Z2lucy1nb29kL2dzdC9ydHAvZ3N0cnRwaDI2M3BkZXBheS5jOgoJICAqIGdzdC1wbHVnaW5zLWdvb2QvZ3N0L3J0cC9nc3RydHBtcDR2ZGVwYXkuaDoKCSAgKiBnc3QtcGx1Z2lucy1nb29kL2dzdC9ydHAvZ3N0cnRwbXA0dmRlcGF5LmM6CgkgIE1ha2luZyB0aGVzZSBkZXBheWxvYWRlcnMgKEgyNjMrIGFuZCBtcGVnNCB2aWRlbykgaW5oZXJpdCBmcm9tCgkgIFJ0cEJhc2VEZXBheWxvYWRlckNsYXNzLiBGaXhlcyBidWdzICMzMjM5MjIgYW5kICMzMjM5MDguCgoyMDA1LTEyLTIxIDE3OjE1OjA5ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuKjogUmVnZW5lcmF0ZSB0aGUgcGx1Z2luIGhpZWFyY2h5LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmFyZ3M6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5oaWVyYXJjaHk6CgkgIFJlZ2VuZXJhdGUgdGhlIHBsdWdpbiBoaWVhcmNoeS4KCjIwMDUtMTItMjEgMTU6MjQ6NTkgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgQWRkIGRvY3VtZW50YXRpb24gZm9yIGlkM2RlbXV4LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNS0xMi0yMSAgSmFuIFNjaG1pZHQgIDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoJICAqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmFyZ3M6CgkgICogZ3N0L2lkM2RlbXV4L2dzdGlkM2RlbXV4LmM6IChnc3RfaWQzZGVtdXhfZ2V0X3R5cGUpLAoJICAoZ3N0X2lkM2RlbXV4X2Jhc2VfaW5pdCksIChnc3RfaWQzZGVtdXhfY2xhc3NfaW5pdCksCgkgIChnc3RfaWQzZGVtdXhfY2hhaW4pOgoJICAqIGdzdC9pZDNkZW11eC9nc3RpZDNkZW11eC5oOgoJICBBZGQgZG9jdW1lbnRhdGlvbiBmb3IgaWQzZGVtdXguCgkgIERvbid0IGZhaWwgaWYgdGhlIGZpcnN0IGJ1ZmZlciBpcyBub3QgYXQgb2Zmc2V0IDAsIGp1c3QKCSAgYXR0ZW1wdCB0byB0eXBlZmluZCBhbmQgZG8gcGFzcyB0aHJvdWdoCgkgIFJlbmFtZSB0aGUgZ3N0X3R5cGUgZnVuY3Rpb24gZnJvbSBnc3RfZ3N0X2lkM2RlbXV4Li4KCjIwMDUtMTItMjAgMTI6NDQ6MjUgKzAwMDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEB4aXBoLm9yZz4KCgkgIGdzdC91ZHAvZ3N0bXVsdGl1ZHBzaW5rLio6IENvbGxlY3Qgc3RhdGlzdGljczsgcmV0dXJuIHRoZW0gZnJvbSBnZXRfc3RhdHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC91ZHAvZ3N0bXVsdGl1ZHBzaW5rLmM6IChnc3RfbXVsdGl1ZHBzaW5rX3JlbmRlciksCgkgIChnc3RfbXVsdGl1ZHBzaW5rX2FkZCksIChnc3RfbXVsdGl1ZHBzaW5rX3JlbW92ZSksCgkgIChnc3RfbXVsdGl1ZHBzaW5rX2dldF9zdGF0cyk6CgkgICogZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuaDoKCSAgQ29sbGVjdCBzdGF0aXN0aWNzOyByZXR1cm4gdGhlbSBmcm9tIGdldF9zdGF0cy4KCjIwMDUtMTItMTkgMTU6NDM6MzAgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6IFN0dXBpZCBzaWduZWRuZXNzIGlzc3VlLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzogKGdzdF9hdmlfZGVtdXhfc3RyZWFtX3NjYW4pOgoJICBTdHVwaWQgc2lnbmVkbmVzcyBpc3N1ZS4uLgoKMjAwNS0xMi0xOSAxNToxOTo0NCArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIGV4dC9zd2ZkZWMvZ3N0c3dmZGVjLmM6IEFkZCBkZWJ1Z2dpbmcgY2F0ZWdvcnkgYW5kIHJldHVybiBHc3RGbG93UmV0dXJuIGluIHRoZSByaWdodCBwbGFjZXMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3N3ZmRlYy9nc3Rzd2ZkZWMuYzogKGdzdF9zd2ZkZWNfY2xhc3NfaW5pdCksCgkgIChnc3Rfc3dmZGVjX2NoYWluKSwgKGdzdF9zd2ZkZWNfcmVuZGVyKToKCSAgQWRkIGRlYnVnZ2luZyBjYXRlZ29yeSBhbmQgcmV0dXJuIEdzdEZsb3dSZXR1cm4gaW4gdGhlIHJpZ2h0IHBsYWNlcwoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tkZWMuYzogKGdzdF93YXZwYWNrX2RlY19saW5rKToKCSAgR2V0IHNvbWV0aGluZyBmcm9tIHRoZSBwZWVyIHBhZCBvbmNlIHdlJ3ZlIGNoZWNrZWQgaWYgdGhlcmUgaXMgYSBwZWVyIHBhZC4KCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChnc3RfcXRkZW11eF9jaGFuZ2Vfc3RhdGUpLAoJICAocXRkZW11eF90cmVlX2dldF9jaGlsZF9ieV90eXBlKSwgKHF0ZGVtdXhfcGFyc2VfdHJhayksCgkgIChxdGRlbXV4X3ZpZGVvX2NhcHMpOgoJICBDb3VwbGUgb2YgZml4ZXMKCjIwMDUtMTItMTkgMTU6MDY6MjcgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6IENvbnN0cnVjdCBpbmRleCBmb3IgaW5kZXhsZXNzIGZpbGVzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6IChnc3RfYXZpX2RlbXV4X3Jlc2V0KSwKCSAgKGdzdF9hdmlfZGVtdXhfaGFuZGxlX3NyY19ldmVudCksIChnc3RfYXZpX2RlbXV4X3BhcnNlX3N0cmVhbSksCgkgIChnc3RfYXZpX2RlbXV4X3BhcnNlX29kbWwpLCAoZ3N0X2F2aV9kZW11eF9wZWVrX3RhZyksCgkgIChnc3RfYXZpX2RlbXV4X25leHRfZGF0YV9idWZmZXIpLCAoZ3N0X2F2aV9kZW11eF9zdHJlYW1fc2NhbiksCgkgIChnc3RfYXZpX2RlbXV4X3N0cmVhbV9oZWFkZXIpLCAoZ3N0X2F2aV9kZW11eF9sb29wKToKCSAgQ29uc3RydWN0IGluZGV4IGZvciBpbmRleGxlc3MgZmlsZXMuCgkgIE1ha2Ugc3VyZSBwYWQvYnVmZmVycyBhcmUgY29ycmVjdGx5IHJlc2V0IHRvIE5VTEwgb25jZSB3ZSBkb24ndCBuZWVkCgkgIHRoZW0gYW55bW9yZSwgZWxzZSB3ZSBnZXQgbG92ZWx5IHNlZ2ZhdWx0cy9hc3NlcnRpb25zLgoJICAqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOgoJICBZZXMsIHlvdSBjYW4gaGF2ZSA5NktIeiBhdWRpbyBhbmQgd21hIGluIHdhdiA6KAoKMjAwNS0xMi0xOCAxNToxNDo0NCArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBjb25maWd1cmUuYWM6IENoZWNrIGZvciBvcHRpb25hbCBkZXBlbmRlbmN5IG9uIHpsaWIgZm9yIGlkM2RlbXV4CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgQ2hlY2sgZm9yIG9wdGlvbmFsIGRlcGVuZGVuY3kgb24gemxpYiBmb3IgaWQzZGVtdXgKCSAgKiBnc3QvaWQzZGVtdXgvTWFrZWZpbGUuYW06CgkgICogZ3N0L2lkM2RlbXV4L2dzdGlkM2RlbXV4LmM6IChnc3RfZ3N0X2lkM2RlbXV4X2dldF90eXBlKSwKCSAgKGdzdF9pZDNkZW11eF9iYXNlX2luaXQpLCAoZ3N0X2lkM2RlbXV4X2NsYXNzX2luaXQpLAoJICAoZ3N0X2lkM2RlbXV4X3Jlc2V0KSwgKGdzdF9pZDNkZW11eF9pbml0KSwgKGdzdF9pZDNkZW11eF9kaXNwb3NlKSwKCSAgKGdzdF9pZDNkZW11eF9hZGRfc3JjcGFkKSwgKGdzdF9pZDNkZW11eF9yZW1vdmVfc3JjcGFkKSwKCSAgKGdzdF9pZDNkZW11eF90cmltX2J1ZmZlciksIChnc3RfaWQzZGVtdXhfY2hhaW4pLAoJICAoZ3N0X2lkM2RlbXV4X3NldF9wcm9wZXJ0eSksIChnc3RfaWQzZGVtdXhfZ2V0X3Byb3BlcnR5KSwKCSAgKGlkM2RlbXV4X2dldF91cHN0cmVhbV9zaXplKSwgKGdzdF9pZDNkZW11eF9zcmNwYWRfZXZlbnQpLAoJICAoZ3N0X2lkM2RlbXV4X3JlYWRfaWQzdjEpLCAoZ3N0X2lkM2RlbXV4X3JlYWRfaWQzdjIpLAoJICAoZ3N0X2lkM2RlbXV4X3NpbmtfYWN0aXZhdGUpLCAoZ3N0X2lkM2RlbXV4X3NyY19hY3RpdmF0ZV9wdWxsKSwKCSAgKGdzdF9pZDNkZW11eF9zcmNfY2hlY2tnZXRyYW5nZSksIChnc3RfaWQzZGVtdXhfcmVhZF9yYW5nZSksCgkgIChnc3RfaWQzZGVtdXhfc3JjX2dldHJhbmdlKSwgKGdzdF9pZDNkZW11eF9jaGFuZ2Vfc3RhdGUpLAoJICAoZ3N0X2lkM2RlbXV4X3BhZF9xdWVyeSksIChnc3RfaWQzZGVtdXhfZ2V0X3F1ZXJ5X3R5cGVzKSwKCSAgKHNpbXBsZV9maW5kX3BlZWspLCAoc2ltcGxlX2ZpbmRfc3VnZ2VzdCksCgkgIChnc3RfaWQzZGVtdXhfZG9fdHlwZWZpbmQpLCAoZ3N0X2lkM2RlbXV4X3NlbmRfdGFnX2V2ZW50KSwKCSAgKHBsdWdpbl9pbml0KToKCSAgKiBnc3QvaWQzZGVtdXgvZ3N0aWQzZGVtdXguaDoKCSAgKiBnc3QvaWQzZGVtdXgvaWQzdGFncy5jOiAocmVhZF9zeW5jaF91aW50KSwKCSAgKGlkM2RlbXV4X3JlYWRfaWQzdjFfdGFnKSwgKGlkM2RlbXV4X3JlYWRfaWQzdjJfdGFnKSwKCSAgKGlkM2RlbXV4X2lkM3YyX2ZyYW1lX2hkcl9zaXplKSwgKGNvbnZlcnRfZmlkX3RvX3YyNDApLAoJICAoaWQzZGVtdXhfaWQzdjJfZnJhbWVzX3RvX3RhZ19saXN0KToKCSAgKiBnc3QvaWQzZGVtdXgvaWQzdGFncy5oOgoJICAqIGdzdC9pZDNkZW11eC9pZDN2Mi40LjAtZnJhbWVzLnR4dDoKCSAgKiBnc3QvaWQzZGVtdXgvaWQzdjIuNC4wLXN0cnVjdHVyZS50eHQ6CgkgICogZ3N0L2lkM2RlbXV4L2lkM3YyZnJhbWVzLmM6IChpZDNkZW11eF9pZDN2Ml9wYXJzZV9mcmFtZSksCgkgIChwYXJzZV9jb21tZW50X2ZyYW1lKSwgKHBhcnNlX3RleHRfaWRlbnRpZmljYXRpb25fZnJhbWUpLAoJICAoaWQzdjJfdGFnX3RvX3RhZ2xpc3QpLCAocGFyc2Vfc3BsaXRfc3RyaW5ncyk6CgkgIEFsbCBuZXcgTEdQTCBpZDMgZGVtdXhlci4gQ2FuIHVzZSB6bGliIGZvciBjb21wcmVzc2VkIGZyYW1lcywKCSAgb3RoZXJ3aXNlIGl0IGRpc2NhcmRzIHRoZW0uIFdvcmtzIG9uIG15IHRlc3QgZmlsZXMuCgkgICogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6IChnc3Rfd2F2cGFyc2VfbG9vcCk6CgkgIERvbid0IHNlbmQgRU9TIHRvIGEgbm9uLWV4aXN0aW5nIHNyY3BhZAoJICBUaGUgZGVidWcgY2F0ZWdvcnkgY2FuIGJlIHN0YXRpYwoKMjAwNS0xMi0xNyAxNzo0ODozOCArMDAwMCAgSnVsaWVuIE1vdXR0ZSA8anVsaWVuQG1vdXR0ZS5uZXQ+CgoJICBkb2NzL3BsdWdpbnMvOiBVcGRhdGVzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNS0xMi0xNyAgSnVsaWVuIE1PVVRURSAgPGp1bGllbkBtb3V0dGUubmV0PgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kZWNsLnR4dDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy11bmRvY3VtZW50ZWQudHh0OgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5pbnRlcmZhY2VzOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5zaWduYWxzOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZmJ2aWRlb3NpbmsueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1xdGRlbXV4LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2RsdmlkZW9zaW5rLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZWQueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10dGEueG1sOiBVcGRhdGVzLgoJICAqIGV4dC9kaXJlY3RmYi9kZmJ2aWRlb3NpbmsuYzoKCSAgKGdzdF9kZmJ2aWRlb3Npbmtfc3VyZmFjZV9jcmVhdGUpLAoJICAoZ3N0X2RmYnZpZGVvc2lua19ldmVudF90aHJlYWQpLCAoZ3N0X2RmYnZpZGVvc2lua19lbnVtX3Ztb2RlcyksCgkgIChnc3RfZGZidmlkZW9zaW5rX2VudW1fZGV2aWNlcyksIChnc3RfZGZidmlkZW9zaW5rX3NldHVwKSwKCSAgKGdzdF9kZmJ2aWRlb3NpbmtfY2xlYW51cCksCgkgIChnc3RfZGZidmlkZW9zaW5rX2Nhbl9ibGl0X2Zyb21fZm9ybWF0KSwKCSAgKGdzdF9kZmJ2aWRlb3NpbmtfZ2V0X2Jlc3Rfdm1vZGUpLCAoZ3N0X2RmYnZpZGVvc2lua19nZXRjYXBzKSwKCSAgKGdzdF9kZmJ2aWRlb3Npbmtfc2V0Y2FwcyksIChnc3RfZGZidmlkZW9zaW5rX3Nob3dfZnJhbWUpLAoJICAoZ3N0X2RmYnZpZGVvc2lua19idWZmZXJfYWxsb2MpLCAoZ3N0X2RmYnN1cmZhY2VfZmluYWxpemUpLAoJICAoZ3N0X2RmYnZpZGVvc2lua19pbnRlcmZhY2Vfc3VwcG9ydGVkKSwKCSAgKGdzdF9kZmJ2aWRlb3NpbmtfbmF2aWdhdGlvbl9zZW5kX2V2ZW50KSwKCSAgKGdzdF9kZmJ2aWRlb3NpbmtfdXBkYXRlX2NvbG9yYmFsYW5jZSksCgkgIChnc3RfZGZidmlkZW9zaW5rX2NvbG9yYmFsYW5jZV9saXN0X2NoYW5uZWxzKSwKCSAgKGdzdF9kZmJ2aWRlb3NpbmtfY29sb3JiYWxhbmNlX3NldF92YWx1ZSksCgkgIChnc3RfZGZidmlkZW9zaW5rX2NvbG9yYmFsYW5jZV9nZXRfdmFsdWUpLAoJICAoZ3N0X2RmYnZpZGVvc2lua19jb2xvcmJhbGFuY2VfaW5pdCksCgkgIChnc3RfZGZidmlkZW9zaW5rX3NldF9wcm9wZXJ0eSksCgkgIChnc3RfZGZidmlkZW9zaW5rX2dldF9wcm9wZXJ0eSksCgkgIChnc3RfZGZidmlkZW9zaW5rX2luaXQpLCAoZ3N0X2RmYnZpZGVvc2lua19jbGFzc19pbml0KToKCSAgKiBleHQvZGlyZWN0ZmIvZGZidmlkZW9zaW5rLmg6IEltcGxlbWVudCB2ZXJ0aWNhbCBzeW5jIGFuZAoJICBjb2xvciBiYWxhbmNlIGludGVyZmFjZS4KCjIwMDUtMTItMTYgMjE6NTc6NTEgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGNoYW5nZSBzb21lIGNoYXIqIGludG8gY2hhcltdCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9lc2QvZXNkbW9uLmM6IChnc3RfZXNkbW9uX29wZW5fYXVkaW8pOgoJICAqIGV4dC9lc2QvZXNkc2luay5jOiAoZ3N0X2VzZHNpbmtfcHJlcGFyZSk6CgkgICogZ3N0L211bHRpcGFydC9tdWx0aXBhcnRkZW11eC5jOgoJICBjaGFuZ2Ugc29tZSBjaGFyKiBpbnRvIGNoYXJbXQoKMjAwNS0xMi0xNiAxOTozMjo1MyArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS4qOiBVc2UgR3N0U2VnbWVudCB0byBpbXBsZW1lbnQgbW9yZSBzZWVraW5nIGZlYXR1cmVzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzogKGdzdF93YXZwYXJzZV9yZXNldCksCgkgIChnc3Rfd2F2cGFyc2Vfb3RoZXIpLCAoZ3N0X3dhdnBhcnNlX3BlcmZvcm1fc2VlayksCgkgIChnc3Rfd2F2cGFyc2Vfc3RyZWFtX2hlYWRlcnMpLCAoZ3N0X3dhdnBhcnNlX3N0cmVhbV9kYXRhKSwKCSAgKGdzdF93YXZwYXJzZV9sb29wKSwgKGdzdF93YXZwYXJzZV9wYWRfY29udmVydCksCgkgIChnc3Rfd2F2cGFyc2Vfc3JjcGFkX2V2ZW50KSwgKGdzdF93YXZwYXJzZV9zaW5rX2FjdGl2YXRlX3B1bGwpOgoJICAqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5oOgoJICBVc2UgR3N0U2VnbWVudCB0byBpbXBsZW1lbnQgbW9yZSBzZWVraW5nIGZlYXR1cmVzLgoKMjAwNS0xMi0xNiAxMjoyNTozOCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tkZWMuYzogT29wcywgcmVtb3ZlIHRyYWlsaW5nIGNvbW1hIGZyb20gY2FwcyBzdHJpbmcuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tkZWMuYzoKCSAgT29wcywgcmVtb3ZlIHRyYWlsaW5nIGNvbW1hIGZyb20gY2FwcyBzdHJpbmcuCgoyMDA1LTEyLTE2IDEwOjEyOjQ5ICswMDAwICBCZW5qYW1pbiBQaW5lYXUgPGJlbi5waW5lYXVAZ21haWwuY29tPgoKCSAgZ3N0L3J0c3AvcnRzcGNvbm5lY3Rpb24uYzogQWRkIDxuZXRpbmV0L2luLmg+IGluY2x1ZGUgYW5kIG1vdmUgPGFycGEvaW5ldC5oPiBpbmNsdWRlIHRvIG1ha2UgdGhpbmdzIHdvcmsgb24gT3BlbkJTRCBhLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHNwL3J0c3Bjb25uZWN0aW9uLmM6CgkgIEFkZCA8bmV0aW5ldC9pbi5oPiBpbmNsdWRlIGFuZCBtb3ZlIDxhcnBhL2luZXQuaD4gaW5jbHVkZQoJICB0byBtYWtlIHRoaW5ncyB3b3JrIG9uIE9wZW5CU0QgYXMgd2VsbCAoZml4ZXMgIzMyMzcxNzsKCSAgcGF0Y2ggYnk6IEJlbmphbWluIFBpbmVhdSkKCjIwMDUtMTItMTYgMDk6NTk6MjEgKzAwMDAgIGdjb2NhdHJlQGdtYWlsLmNvbSA8Z2NvY2F0cmVAZ21haWwuY29tPgoKCSAgZXh0L3dhdnBhY2svOiBXYXZwYWNrIHN1cHBvcnRzIHNhbXBsZXJhdGVzIGZyb20gNi0xOTJrSHosIGZpeCBwYWQgdGVtcGxhdGUgcmVtb3ZlIGJ1ZmZlci1mcmFtZXMgZnJvbSBjYXBzLCB0aGV5IGFyZSBnLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tkZWMuYzogKGdzdF93YXZwYWNrX2RlY19saW5rKToKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrcGFyc2UuYzoKCSAgV2F2cGFjayBzdXBwb3J0cyBzYW1wbGVyYXRlcyBmcm9tIDYtMTkya0h6LCBmaXggcGFkIHRlbXBsYXRlCgkgIGNhcHMgKGZpeGVzICMzMjI5NzM7IHBhdGNoIGJ5OiBnY29jYXRyZUBnbWFpbC5jb20pLiBBbHNvCgkgIHJlbW92ZSBidWZmZXItZnJhbWVzIGZyb20gY2FwcywgdGhleSBhcmUgZ29uZSBpbiAwLjEwLgoKMjAwNS0xMi0xNCAyMDowNTo0NSArMDAwMCAgRWRnYXJkIExpbWEgPGVkZ2FyZC5saW1hQGluZHQub3JnLmJyPgoKCSogQ2hhbmdlTG9nOgoJKiBnc3QvcnRwL2dzdHJ0cHNwZWV4ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBzcGVleHBheS5jOgoJICBTZXQgY2xvY2sgcmF0ZSB0byBiZSBmaXhlZCBpbiA4MDAwLiBJdCBmaXhlcyBidWcgIzMyNDAxMi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFNldCBjbG9jayByYXRlIHRvIGJlIGZpeGVkIGluIDgwMDAuIEl0IGZpeGVzIGJ1ZyAjMzI0MDEyLgoKMjAwNS0xMi0xNCAxODowNzoxNiArMDAwMCAgUGhpbGlwcGUgS2FsYWYgPHBoaWxpcHBlLmthbGFmQGNvbGxhYm9yYS5jby51az4KCgkgIGdzdC1wbHVnaW5zLWdvb2QvZ3N0L3J0cC86IEZpeGVkIHBheWxvYWQgcmFuZ2UgaW4gcGF5bG9kZXIgY2Fwcy4gUmVtb3ZlZCBwYXlsb2FkIHJhbmdlIGNvbXBsZXRseSBmcm9tIGRlcGF5bG9hZGVycyBhcy4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNS0xMi0xNCAgUGhpbGlwcGUgS2hhbGFmICA8YnVyZ2VyQHNwZWVkeS5vcmc+CgkgICogZ3N0LXBsdWdpbnMtZ29vZC9nc3QvcnRwL2dzdGFzdGVyaXNraDI2My5jOgoJICAqIGdzdC1wbHVnaW5zLWdvb2QvZ3N0L3J0cC9nc3RydHBhbXJkZXBheS5jOgoJICAqIGdzdC1wbHVnaW5zLWdvb2QvZ3N0L3J0cC9nc3RydHBhbXJwYXkuYzoKCSAgKiBnc3QtcGx1Z2lucy1nb29kL2dzdC9ydHAvZ3N0cnRwZzcxMWRlcGF5LmM6CgkgICogZ3N0LXBsdWdpbnMtZ29vZC9nc3QvcnRwL2dzdHJ0cGc3MTFkZXBheS5jOgoJICAqIGdzdC1wbHVnaW5zLWdvb2QvZ3N0L3J0cC9nc3RydHBnc21kZXBheS5jOgoJICAqIGdzdC1wbHVnaW5zLWdvb2QvZ3N0L3J0cC9nc3RydHBoMjYzcGF5LmM6CgkgICogZ3N0LXBsdWdpbnMtZ29vZC9nc3QvcnRwL2dzdHJ0cGgyNjNwZGVwYXkuYzoKCSAgKiBnc3QtcGx1Z2lucy1nb29kL2dzdC9ydHAvZ3N0cnRwaDI2M3BwYXkuYzoKCSAgKiBnc3QtcGx1Z2lucy1nb29kL2dzdC9ydHAvZ3N0cnRwbXA0dmRlcGF5LmM6CgkgICogZ3N0LXBsdWdpbnMtZ29vZC9nc3QvcnRwL2dzdHJ0cG1wNHZwYXkuYzoKCSAgKiBnc3QtcGx1Z2lucy1nb29kL2dzdC9ydHAvZ3N0cnRwbXBhZGVwYXkuYzoKCSAgKiBnc3QtcGx1Z2lucy1nb29kL2dzdC9ydHAvZ3N0cnRwbXBhcGF5LmM6CgkgICogZ3N0LXBsdWdpbnMtZ29vZC9nc3QvcnRwL1JFQURNRToKCSAgRml4ZWQgcGF5bG9hZCByYW5nZSBpbiBwYXlsb2RlciBjYXBzLiBSZW1vdmVkIHBheWxvYWQgcmFuZ2UgY29tcGxldGx5IGZyb20KCSAgZGVwYXlsb2FkZXJzIGFzIHRoZXkgZG9uJ3QgcmVxdWlyZSBwYXlsb2FkIHR5cGUgaW4gdGhlaXIgY2Fwcy4gSW4gZWZmZWN0LAoJICB0aGVyZSBpc24ndCBhbnkgc3BlY2lmaWMgcGF5bG9hZCB0eXBlIGZvciBhbnkgZ2l2ZW4gY29kZWMsIG9ubHkgc3VnZ2VzdGlvbnMuCgkgIEZpeGVzIGJ1ZyAjMzI0MDExLgoKMjAwNS0xMi0xMyAyMTo1ODo0MiArMDAwMCAgSnVsaWVuIE1vdXR0ZSA8anVsaWVuQG1vdXR0ZS5uZXQ+CgoJICBnc3QvdmlkZW9taXhlci92aWRlb21peGVyLmM6IENvZGUgY2xlYW51cCBhbmQgcmUtZW5hYmxpbmcgcXVldWVkIHRpbWUgdmFsaWRpdHkgY2hlY2sgZm9yIGNvcnJlY3QgRU9TIGhhbmRsaW5nLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNS0xMi0xMyAgSnVsaWVuIE1PVVRURSAgPGp1bGllbkBtb3V0dGUubmV0PgoJICAqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIuYzogKGdzdF92aWRlb21peGVyX2luaXQpLAoJICAoZ3N0X3ZpZGVvbWl4ZXJfZmlsbF9xdWV1ZXMpLCAoZ3N0X3ZpZGVvbWl4ZXJfYmxlbmRfYnVmZmVycyksCgkgIChnc3RfdmlkZW9taXhlcl9jb2xsZWN0ZWQpOiBDb2RlIGNsZWFudXAgYW5kIHJlLWVuYWJsaW5nCgkgIHF1ZXVlZCB0aW1lIHZhbGlkaXR5IGNoZWNrIGZvciBjb3JyZWN0IEVPUyBoYW5kbGluZy4KCjIwMDUtMTItMTMgMTc6MTg6MzIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBzeXMvb3NzL2dzdG9zc21peGVyZWxlbWVudC5jOiBBZGQgJ2RldmljZS1uYW1lJyBwcm9wZXJ0eSBhbmQgZml4IHN0YXRlIGNoYW5nZSBmdW5jdGlvbi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL29zcy9nc3Rvc3NtaXhlcmVsZW1lbnQuYzogKGdzdF9vc3NfbWl4ZXJfZWxlbWVudF9jbGFzc19pbml0KSwKCSAgKGdzdF9vc3NfbWl4ZXJfZWxlbWVudF9nZXRfcHJvcGVydHkpLAoJICAoZ3N0X29zc19taXhlcl9lbGVtZW50X2NoYW5nZV9zdGF0ZSk6CgkgIEFkZCAnZGV2aWNlLW5hbWUnIHByb3BlcnR5IGFuZCBmaXggc3RhdGUgY2hhbmdlIGZ1bmN0aW9uLgoKMjAwNS0xMi0xMyAxMDo0NTowNCArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIGdzdC9mbHgvZ3N0Zmx4ZGVjLmM6IElmIHRoZSBzcGVlZCBvZiB0aGUgZmlsZSBpcyBudWxsIGluIHRoZSBoZWFkZXIsIHNldCB0aGUgZnJhbWVfdGltZSB0byB0aGUgZGVmYXVsdCBzZXR0aW5nIG9mIEdTVC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZmx4L2dzdGZseGRlYy5jOiAoZ3N0X2ZseGRlY19jaGFpbik6CgkgIElmIHRoZSBzcGVlZCBvZiB0aGUgZmlsZSBpcyBudWxsIGluIHRoZSBoZWFkZXIsIHNldCB0aGUgZnJhbWVfdGltZSB0byB0aGUgZGVmYXVsdAoJICBzZXR0aW5nIG9mIEdTVF9TRUNPTkQgLyA3MC4gV2hpY2ggaXMgdGhlIGRlZmF1bHQgZnJhbWVfZGVsYXkgZm9yIC5mbGkgZmlsZXMgYXMKCSAgc3RhdGVkIGluIHRoaXMgZG9jdW1lbnQgOiBodHRwOi8vd3d3LmNvbXB1cGhhc2UuY29tL2ZsaWMuaHRtCgkgIFdvdWxkIGJlIG5pY2UgdG8gaGF2ZSB0aGUgdGltZSBjb252ZXJzaW9uIGRvbmUgcHJvcGVybHkgdG9vCgkgIChkdXJhdGlvbiA9IGZseGgtPmZyYW1lcyAqIGZseGRlYy0+ZnJhbWVfdGltZSkKCjIwMDUtMTItMTIgMjI6Mjk6MzQgKzAwMDAgIEp1bGllbiBNb3V0dGUgPGp1bGllbkBtb3V0dGUubmV0PgoKCSAgQWRkaW5nIGRvY3VtZW50YXRpb24gZm9yIHZpZGVvbWl4ZXIgb24gbXkgd2F5IHdpdGggYSBmdW5ueSBzYW1wbGUgcGlwZWxpbmUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA1LTEyLTEyICBKdWxpZW4gTU9VVFRFICA8anVsaWVuQG1vdXR0ZS5uZXQ+CgkgICogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtZG9jcy5zZ21sOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaGllcmFyY2h5OgoJICAqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIuYzoKCSAgKGdzdF92aWRlb21peGVyX3BhZF9zaW5rX3NldGNhcHMpLAoJICAoZ3N0X3ZpZGVvbWl4ZXJfZ2V0Y2FwcyksIChnc3RfdmlkZW9taXhlcl9maWxsX3F1ZXVlcyksCgkgIChnc3RfdmlkZW9taXhlcl91cGRhdGVfcXVldWVzKSwgKGdzdF92aWRlb21peGVyX2NvbGxlY3RlZCk6CgkgIEFkZGluZwoJICBkb2N1bWVudGF0aW9uIGZvciB2aWRlb21peGVyIG9uIG15IHdheSB3aXRoIGEgZnVubnkgc2FtcGxlCgkgIHBpcGVsaW5lLgoKMjAwNS0xMi0xMiAyMTo0MzowMCArMDAwMCAgSnVsaWVuIE1vdXR0ZSA8anVsaWVuQG1vdXR0ZS5uZXQ+CgoJICBnc3QvdmlkZW9taXhlci92aWRlb21peGVyLmM6IEZpeCBjYXBzIG5lZ290aWF0aW9uLiAoIzMyMzg5NikKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDUtMTItMTIgIEp1bGllbiBNT1VUVEUgIDxqdWxpZW5AbW91dHRlLm5ldD4KCSAgKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyLmM6CgkgIChnc3RfdmlkZW9taXhlcl9wYWRfc2lua19zZXRjYXBzKSwKCSAgKGdzdF92aWRlb21peGVyX2dldGNhcHMpLCAoZ3N0X3ZpZGVvbWl4ZXJfZmlsbF9xdWV1ZXMpLAoJICAoZ3N0X3ZpZGVvbWl4ZXJfdXBkYXRlX3F1ZXVlcyksIChnc3RfdmlkZW9taXhlcl9jb2xsZWN0ZWQpOgoJICBGaXggY2FwcyBuZWdvdGlhdGlvbi4gKCMzMjM4OTYpCgoyMDA1LTEyLTEyIDE4OjE0OjU4ICswMDAwICBBcndlZCB2LiBNZXJrYXR6IDx2Lm1lcmthdHpAZ214Lm5ldD4KCgkqIENoYW5nZUxvZzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIFNldCBjb3JyZWN0IHRpbWVzdGFtcHMgb24gYXVkaW8gbGFjZXMsIGZpeGVzIHBsYXliYWNrIG9mIG1wMyBmcm9tIG1hdHJvc2thLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgU2V0IGNvcnJlY3QgdGltZXN0YW1wcyBvbiBhdWRpbyBsYWNlcywgZml4ZXMgcGxheWJhY2sgb2YgbXAzIGZyb20gbWF0cm9za2EuCgoyMDA1LTEyLTEyIDEwOjQwOjQyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0LzogR3N0T2JqZWN0cyBtdXN0IGJlIHVucmVmJ2VkIHdpdGggZ3N0X29iamVjdF91bnJlZigpIGluc3RlYWQgb2YgZ19vYmplY3RfdW5yZWYoKSwgb3RoZXJ3aXNlIHRoaW5ncyBicmVhayBmb3IgR0xpLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9pdm9yYmlzL3ZvcmJpc2ZpbGUuYzogKGdzdF9pdm9yYmlzZmlsZV9sb29wKToKCSAgKiBleHQvbGlibW1zL2dzdG1tcy5jOiAoZ3N0X21tc19zcmNfcXVlcnkpLCAoZ3N0X21tc19jcmVhdGUpOgoJICAqIGV4dC9tdXNlcGFjay9nc3RtdXNlcGFja2RlYy5jOiAoZ3N0X211c2VwYWNrZGVjX3NyY19xdWVyeSksCgkgIChnc3RfbXVzZXBhY2tkZWNfbG9vcCk6CgkgICogZXh0L3N3ZmRlYy9nc3Rzd2ZkZWMuYzogKGdzdF9zd2ZkZWNfdmlkZW9fbGluayksCgkgIChnc3Rfc3dmZGVjX3NyY19xdWVyeSk6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja3BhcnNlLmM6IChnc3Rfd2F2cGFja19wYXJzZV9zcmNfcXVlcnkpOgoJICBHc3RPYmplY3RzIG11c3QgYmUgdW5yZWYnZWQgd2l0aCBnc3Rfb2JqZWN0X3VucmVmKCkgaW5zdGVhZCBvZgoJICBnX29iamVjdF91bnJlZigpLCBvdGhlcndpc2UgdGhpbmdzIGJyZWFrIGZvciBHTGliLTIuNiB1c2Vycy4KCjIwMDUtMTItMTIgMTA6MzA6MjAgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvYXVwYXJzZS9nc3RhdXBhcnNlLio6IFVzZSBnc3Rfb2JqZWN0X3VucmVmKCkgZm9yIEdzdE9iamVjdHMgaW5zdGVhZCBvZiBnX29iamVjdF91bnJlZigpIGFuZCBmaXggYSBtZW0gbGVhayBpbiBhIGQuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2F1cGFyc2UvZ3N0YXVwYXJzZS5jOiAoZ3N0X2F1X3BhcnNlX2Jhc2VfaW5pdCksCgkgIChnc3RfYXVfcGFyc2VfY2xhc3NfaW5pdCksIChnc3RfYXVfcGFyc2VfaW5pdCksCgkgIChnc3RfYXVfcGFyc2VfZGlzcG9zZSksIChnc3RfYXVfcGFyc2VfY2hhaW4pLAoJICAoZ3N0X2F1X3BhcnNlX2NoYW5nZV9zdGF0ZSksIChwbHVnaW5faW5pdCk6CgkgICogZ3N0L2F1cGFyc2UvZ3N0YXVwYXJzZS5oOgoJICBVc2UgZ3N0X29iamVjdF91bnJlZigpIGZvciBHc3RPYmplY3RzIGluc3RlYWQgb2YKCSAgZ19vYmplY3RfdW5yZWYoKSBhbmQgZml4IGEgbWVtIGxlYWsgaW4gYSBkZWJ1ZwoJICBzdGF0ZW1lbnQ7IHdoaWxlIHdlJ3JlIGF0IGl0LCBhbHNvIGJvcmdpZnksIHVzZQoJICBib2lsZXJwbGF0ZSBtYWNyb3MgYW5kIGNsZWFuIHVwIGEgbGl0dGxlIGJpdC4KCjIwMDUtMTItMTEgMjA6Mjc6MDYgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBnc3QvZGVidWcvZWZlbmNlLmM6IEFkZGVkIHB1bGwgbW9kZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2RlYnVnL2VmZW5jZS5jOiAoZ3N0X2VmZW5jZV9pbml0KSwgKGdzdF9lZmVuY2VfZ2V0cmFuZ2UpLAoJICAoZ3N0X2VmZW5jZV9jaGVja2dldHJhbmdlKSwgKGdzdF9lZmVuY2VfYWN0aXZhdGVfc3JjX3B1bGwpOgoJICBBZGRlZCBwdWxsIG1vZGUuCgoyMDA1LTEyLTExIDE5OjI1OjQxICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0LzogVXNlIGF1ZGlvdGVzdHNyYyBpbnN0ZWFkIG9mIHNpbmVzcmMgKCMzMjM3OTgpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZ29vbS9nc3Rnb29tLmM6CgkgICogZ3N0L2xldmVsL2xldmVsLWV4YW1wbGUuYzogKG1haW4pOgoJICAqIGdzdC9zbW9vdGh3YXZlL2RlbW8tb3Nzc3JjLmM6IChtYWluKToKCSAgVXNlIGF1ZGlvdGVzdHNyYyBpbnN0ZWFkIG9mIHNpbmVzcmMgKCMzMjM3OTgpLgoKMjAwNS0xMi0xMSAxNzo1MDo1MCArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgc3lzL29zcy9nc3Rvc3NzaW5rLmM6IG1vcmUgZGVidWctZnVuYy1wdHIgdXNhZ2UKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL29zcy9nc3Rvc3NzaW5rLmM6IChnc3Rfb3NzX3NpbmtfY2xhc3NfaW5pdCk6CgkgIG1vcmUgZGVidWctZnVuYy1wdHIgdXNhZ2UKCjIwMDUtMTItMTEgMTY6NDM6NDIgKzAwMDAgIFplZXNoYW4gQWxpIDx6ZWVuaXhAZ21haWwuY29tPgoKCSogQ2hhbmdlTG9nOgoJKiBnc3QvZmx4L2ZseF9jb2xvci5jOgoJKiBnc3QvZmx4L2ZseF9jb2xvci5oOgoJKiBnc3QvZmx4L2ZseF9mbXQuaDoKCSogZ3N0L2ZseC9nc3RmbHhkZWMuYzoKCSogZ3N0L2ZseC9nc3RmbHhkZWMuaDoKCSAgTm93IGZseGRlYyB3b3JrcyBvbiBiaWctZW5kaWFuIG1hY2hpbmVzIGFzIHdlbGwuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBOb3cgZmx4ZGVjIHdvcmtzIG9uIGJpZy1lbmRpYW4gbWFjaGluZXMgYXMgd2VsbC4KCjIwMDUtMTItMTEgMTY6MTQ6MjIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvZGVidWcvZWZlbmNlLmM6IE1ha2Ugc3VyZSBHU1RfQlVGRkVSX0RBVEEgaXMgc2V0IG9uIGZlbmNlZCBjb3BpZWQgYnVmZmVyczsgZml4CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9kZWJ1Zy9lZmVuY2UuYzogKGdzdF9lZmVuY2VfaW5pdCksIChnc3RfZWZlbmNlX2NoYWluKSwKCSAgKGdzdF9mZW5jZWRfYnVmZmVyX2NvcHkpOgoJICBNYWtlIHN1cmUgR1NUX0JVRkZFUl9EQVRBIGlzIHNldCBvbiBmZW5jZWQgY29waWVkIGJ1ZmZlcnM7IGZpeAoJICBHU1RfREVCVUcgY3Jhc2hlciB3aGVyZSBHU1RfVElNRV9GT1JNQVQgd2FzIG5vdCB1c2VkIGluCgkgIGNvbmp1bmN0aW9uIHdpdGggR1NUX1RJTUVfQVJHUy4gQWxzbywgZG9uJ3QgbGVhayBwYWQgdGVtcGxhdGVzCgkgIGFuZCB1c2UgR1NUX0RFQlVHX0ZVTkNQVFIgZm9yIHBhZCBmdW5jdGlvbnMuCgoyMDA1LTEyLTEwIDIwOjI2OjMzICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L2ZsYWMvZ3N0ZmxhY2RlYy4qOiBSZXdyaXRlIGZsYWNkZWMgYSBiaXQsIHNvIHRoYXQgZXZlbiBzZWVraW5nIG1pZ2h0IHdvcmsgbm93LiBNb3N0IGltcG9ydGFudGx5LCBkb24ndCBhY3QgdXBvbiBhLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9mbGFjL2dzdGZsYWNkZWMuYzogKGdzdF9mbGFjX2RlY19iYXNlX2luaXQpLAoJICAoZ3N0X2ZsYWNfZGVjX2NsYXNzX2luaXQpLCAoZ3N0X2ZsYWNfZGVjX2luaXQpLAoJICAoZ3N0X2ZsYWNfZGVjX21ldGFkYXRhX2NhbGxiYWNrKSwgKGdzdF9mbGFjX2RlY19lcnJvcl9jYWxsYmFjayksCgkgIChnc3RfZmxhY19kZWNfZW9mKSwgKGdzdF9mbGFjX2RlY193cml0ZSksIChnc3RfZmxhY19kZWNfbG9vcCksCgkgIChnc3RfZmxhY19kZWNfY29udmVydF9zcmMpLCAoZ3N0X2ZsYWNfZGVjX2dldF9zcmNfcXVlcnlfdHlwZXMpLAoJICAoZ3N0X2ZsYWNfZGVjX3NyY19xdWVyeSksIChnc3RfZmxhY19kZWNfc2VuZF9uZXdzZWdtZW50KSwKCSAgKGdzdF9mbGFjX2RlY19oYW5kbGVfc2Vla19ldmVudCksIChnc3RfZmxhY19kZWNfc3JjX2V2ZW50KSwKCSAgKGdzdF9mbGFjX2RlY19jaGFuZ2Vfc3RhdGUpOgoJICAqIGV4dC9mbGFjL2dzdGZsYWNkZWMuaDoKCSAgUmV3cml0ZSBmbGFjZGVjIGEgYml0LCBzbyB0aGF0IGV2ZW4gc2Vla2luZyBtaWdodCB3b3JrIG5vdy4gTW9zdAoJICBpbXBvcnRhbnRseSwgZG9uJ3QgYWN0IHVwb24gYW55IGZsb3cgcmV0dXJuIHZhbHVlcyB3ZSBnZXQsIGp1c3QgdGVsbAoJICB0aGUgZGVjb2RlciBldmVyeXRoaW5nJ3MgZGFuZHkgYW5kIGFjdCBvbiB0aGUgZmxvdyByZXR1cm4gdmFsdWVzCgkgIGxhdGVyIG9uIGluIHRoZSBsb29wIGZ1bmN0aW9uLiBXZSBkb24ndCB3YW50IHRvIG1lc3MgdXAgdGhlIGludGVybmFsCgkgIGRlY29kZXIgc3RhdGUgZm9yIG5vbi1mYXRhbCB0aGluZ3MgbGlrZSBmbHVzaGluZyBwYWRzIGV0Yy4gT3RoZXIKCSAgdGhhbiB0aGF0LCB1c2UgR3N0U2VnbWVudCAoc2VnbWVudCBzZWVrcyBkb24ndCB3b3JrIHlldCB0aG91Z2gsIGJ1dAoJICBzaG91bGQgYmUgZWFzeSB0byBhZGQpLCB1c2UgYm9pbGVycGxhdGUgbWFjcm9zLCBkcm9wIHRoZSBzdXBlcmZsdW91cwoJICAnZmxhY2RlYzonIGZyb20gZGVidWcgbWVzc2FnZXMsIHVzZSBnc3RfdXRpbF91aW50NjRfc2NhbGVfaW50LCBhbmQKCSAgbG90cyBvZiBvdGhlciB0aGluZ3MuCgoyMDA1LTEyLTEwIDE0OjU3OjQ4ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgY29uZmlndXJlLmFjOiBVcGRhdGUgY29tbWVudCBpbiBPU1MgaW5jbHVkZXMgY2hlY2suCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgVXBkYXRlIGNvbW1lbnQgaW4gT1NTIGluY2x1ZGVzIGNoZWNrLgoJICAqIHN5cy9vc3MvZ3N0b3NzZG1hYnVmZmVyLmM6CgkgICogc3lzL29zcy9nc3Rvc3NoZWxwZXIuYzoKCSAgKiBzeXMvb3NzL2dzdG9zc21peGVyLmM6CgkgICogc3lzL29zcy9nc3Rvc3NtaXhlcnRyYWNrLmM6CgkgICogc3lzL29zcy9nc3Rvc3NzaW5rLmM6CgkgICogc3lzL29zcy9nc3Rvc3NzcmMuYzoKCSAgKiBzeXMvb3NzL29zc19wcm9iZS5jOgoJICBEb24ndCBhc3N1bWUgdGhlIE9TUyBzb3VuZGNhcmQuaCBpbmNsdWRlIGlzIGFsd2F5cyBpbgoJICB0aGUgc3lzLyBkaXJlY3RvcnkuIEluc3RlYWQsIHVzZSB0aGUgZXhpc3RpbmcgZGVmaW5lcwoJICBmcm9tIGNvbmZpZy5oIHRvIGluY2x1ZGUgdGhlIHJpZ2h0IGZpbGUuIEZpeGVzCgkgIGNvbXBpbGF0aW9uIG9uIE9wZW5CU0QgMy44ICgjMzIzNzE4KS4KCjIwMDUtMTItMDkgMTk6NTE6MDMgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogQ2hhbmdlTG9nOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi0xMzk0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhY29sb3IueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvZGV0ZWN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF2aS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWNhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWlyby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jdXR0ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZlbmNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZmVjdHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXNkc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbGFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZseGRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nY29uZmVsZW1lbnRzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanBlZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sZXZlbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tYXRyb3NrYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aXBhcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmF2aWdhdGlvbnRlc3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5nLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHNwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNob3V0MnNlbmQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc21wdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdWRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvYm94LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvZmxpcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb21peGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYXJzZS54bWw6CgkqIGV4dC9mbGFjL2dzdGZsYWMuYzoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5jOgoJKiBleHQvZmxhYy9nc3RmbGFjZGVjLmg6CgkqIGV4dC9mbGFjL2dzdGZsYWNlbmMuYzoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2VuYy5oOgoJICBib3JnaWZ5IGFuZCBmaXggdXAgZG9jdW1lbnRhdGlvbgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgYm9yZ2lmeSBhbmQgZml4IHVwIGRvY3VtZW50YXRpb24KCjIwMDUtMTItMDkgMTU6MzA6MjEgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgZXh0L2ZhYWQvZ3N0ZmFhZC5jOiBBc3N1bWUgdGhhdCBhbiB1bmtub3duIGNoYW5uZWwgbWFwcGluZyB3aXRoIDIgY2hhbm5lbHMgaXMgc3RlcmVvIGFuZCBwbGF5IGl0IHRoYXQgd2F5IGluc3RlYWQgb2YgLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9mYWFkL2dzdGZhYWQuYzogKGdzdF9mYWFkX2NoYW5wb3NfdG9fZ3N0KSwKCSAgKGdzdF9mYWFkX3VwZGF0ZV9jYXBzKToKCSAgQXNzdW1lIHRoYXQgYW4gdW5rbm93biBjaGFubmVsIG1hcHBpbmcgd2l0aCAyIGNoYW5uZWxzCgkgIGlzIHN0ZXJlbyBhbmQgcGxheSBpdCB0aGF0IHdheSBpbnN0ZWFkIG9mIGVycm9yaW5nLgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKGdzdF9xdGRlbXV4X2xvb3BfaGVhZGVyKSwKCSAgKGdzdF9xdGRlbXV4X2FkZF9zdHJlYW0pLCAocXRkZW11eF9wYXJzZV90cmFrKToKCSAgSGFuZGxlIGUuZy4ganBlZyBzdHJlYW1zIHdpdGggMCBkdXJhdGlvbiBmcmFtZXMgYXMgaGF2aW5nIDAgZnJhbWVyYXRlLgoJICBEZWJ1ZyBmaXhlcy4gU29tZSA2NCBiaXQgdmFyaWFibGUgZml4ZXMKCjIwMDUtMTItMDkgMTE6MTI6NDggKzAwMDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEB4aXBoLm9yZz4KCgkgIGV4dC9mbGFjL2dzdGZsYWNkZWMuYzogQWNjZXB0IGEgd2lkZXIgcmFuZ2Ugb2YgZmxhYyBmaWxlcywgbW9yZSBjbG9zZWx5IG1hdGNoaW5nIGZsYWMgc3AKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5jOiAocmF3X2NhcHNfZmFjdG9yeSksIChnc3RfZmxhY2RlY193cml0ZSk6CgkgIEFjY2VwdCBhIHdpZGVyIHJhbmdlIG9mIGZsYWMgZmlsZXMsIG1vcmUgY2xvc2VseSBtYXRjaGluZyBmbGFjIHNwCgoyMDA1LTEyLTA4IDE2OjI3OjEyICswMDAwICBKdWxpZW4gTW91dHRlIDxqdWxpZW5AbW91dHRlLm5ldD4KCgkgIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbTogQWRkIG11bHRpcGFydCBlbGVtZW50cy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDUtMTItMDggIEp1bGllbiBNT1VUVEUgIDxqdWxpZW5AbW91dHRlLm5ldD4KCSAgKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06IEFkZCBtdWx0aXBhcnQgZWxlbWVudHMuCgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1kb2NzLnNnbWw6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1zZWN0aW9ucy50eHQ6IEZpeCBmbGFjLgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaGllcmFyY2h5OgoJICAqIGdzdC9tdWx0aXBhcnQvbXVsdGlwYXJ0ZGVtdXguYzoKCSAgKiBnc3QvbXVsdGlwYXJ0L211bHRpcGFydG11eC5jOiBBZGQgZG9jcy4KCjIwMDUtMTItMDcgMTE6NDY6MTUgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IE1lbWxlYWsgZml4ZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKGdzdF9xdGRlbXV4X2xvb3BfaGVhZGVyKSwKCSAgKGdzdF9xdGRlbXV4X2FkZF9zdHJlYW0pOgoJICBNZW1sZWFrIGZpeGVzLgoJICBTZW5kIG91dCBFT1MgZm9yIHZhbGlkIHJlYXNvbnMgKGNvdWxkbid0IHB1bGxfcmFuZ2UoKSBmcm9tIHVwc3RyZWFtCgkgIGZvciBleGFtcGxlKS4KCjIwMDUtMTItMDcgMTE6NDA6NDYgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6IE1lbWxlYWsgYW5kIGNyYXNoZXIgZml4ZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzogKGdzdF9hdmlfZGVtdXhfaGFuZGxlX3NyY19ldmVudCksCgkgIChnc3RfYXZpX2RlbXV4X3BhcnNlX3N0cmVhbSksIChnc3RfYXZpX2RlbXV4X3N0cmVhbV9oZWFkZXIpLAoJICAoZ3N0X2F2aV9kZW11eF9pbnZlcnQpOgoJICBNZW1sZWFrIGFuZCBjcmFzaGVyIGZpeGVzLgoJICAqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOiAoZ3N0X3dhdnBhcnNlX2Jhc2VfaW5pdCksCgkgIChnc3Rfd2F2cGFyc2VfY3JlYXRlX3NvdXJjZXBhZCksIChnc3Rfd2F2cGFyc2Vfc3RyZWFtX2hlYWRlcnMpOgoJICBNZW1sZWFrIGZpeGVzCgoyMDA1LTEyLTA2IDE5OjU1OjU4ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyLmM6CgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5oOgoJKiBzeXMvdjRsMi9nc3R2NGwyY29sb3JiYWxhbmNlLmg6CgkqIHN5cy92NGwyL2dzdHY0bDJlbGVtZW50Lmg6CgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuaDoKCSogc3lzL3Y0bDIvZ3N0djRsMnR1bmVyLmg6CgkqIHN5cy92NGwyL2dzdHY0bDJ4b3ZlcmxheS5oOgoJKiBzeXMvdjRsMi92NGwyX2NhbGxzLmM6CgkqIHN5cy92NGwyL3Y0bDJfY2FsbHMuaDoKCSogc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5jOgoJKiBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmg6CgkgIGV4cGFuZCB0YWJzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBleHBhbmQgdGFicwoKMjAwNS0xMi0wNiAxOTo0NDo1OCArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBDaGFuZ2VMb2c6CgkqIGV4dC9hYWxpYi9nc3RhYXNpbmsuaDoKCSogZXh0L2NhaXJvL2dzdHRleHRvdmVybGF5Lmg6CgkqIGV4dC9kdi9nc3RkdmRlYy5oOgoJKiBleHQvZHYvZ3N0ZHZkZW11eC5jOgoJKiBleHQvZHYvZ3N0ZHZkZW11eC5oOgoJKiBleHQvZXNkL2VzZHNpbmsuaDoKCSogZXh0L2ZsYWMvZmxhY19jb21wYXQuaDoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5oOgoJKiBleHQvZmxhYy9nc3RmbGFjZW5jLmg6CgkqIGV4dC9nY29uZi9nY29uZi5oOgoJKiBleHQvZ2NvbmYvZ3N0Z2NvbmZhdWRpb3NpbmsuaDoKCSogZXh0L2djb25mL2dzdGdjb25mdmlkZW9zaW5rLmg6CgkqIGV4dC9nZGtfcGl4YnVmL2dzdGdka2FuaW1hdGlvbi5oOgoJKiBleHQvanBlZy9nc3RqcGVnZGVjLmg6CgkqIGV4dC9qcGVnL3Ntb2tlY29kZWMuaDoKCSogZXh0L2pwZWcvc21va2Vmb3JtYXQuaDoKCSogZXh0L2xhZHNwYS9nc3RzaWduYWxwcm9jZXNzb3IuaDoKCSogZXh0L2xhZHNwYS9zZWFyY2guYzoKCSogZXh0L2xhZHNwYS91dGlscy5oOgoJKiBleHQvbGlibW5nL2dzdG1uZ2RlYy5oOgoJKiBleHQvbGlibW5nL2dzdG1uZ2VuYy5jOgoJKiBleHQvbGlibW5nL2dzdG1uZ2VuYy5oOgoJKiBleHQvbGlicG5nL2dzdHBuZ2VuYy5jOgoJKiBleHQvbGlicG5nL2dzdHBuZ2VuYy5oOgoJKiBleHQvc2hvdXQyL2dzdHNob3V0Mi5oOgoJKiBleHQvc3BlZXgvZ3N0c3BlZXhkZWMuaDoKCSogZXh0L3NwZWV4L2dzdHNwZWV4ZW5jLmM6CgkqIGV4dC9zcGVleC9nc3RzcGVleGVuYy5oOgoJKiBnc3QvYXVwYXJzZS9nc3RhdXBhcnNlLmM6CgkqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG9hdWRpb3NpbmsuaDoKCSogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b3ZpZGVvc2luay5oOgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4Lmg6CgkqIGdzdC9jdXR0ZXIvZ3N0Y3V0dGVyLmg6CgkqIGdzdC9kZWJ1Zy90ZXN0cy5jOgoJKiBnc3QvZGVidWcvdGVzdHMuaDoKCSogZ3N0L2VmZmVjdHYvZ3N0d2FycC5jOgoJKiBnc3QvZmx4L2ZseF9mbXQuaDoKCSogZ3N0L2ZseC9nc3RmbHhkZWMuaDoKCSogZ3N0L2dvb20vZmlsdGVycy5jOgoJKiBnc3QvZ29vbS9maWx0ZXJzLmg6CgkqIGdzdC9nb29tL2dvb21fdG9vbHMuaDoKCSogZ3N0L2xhdy9hbGF3LWVuY29kZS5jOgoJKiBnc3QvbGV2ZWwvZ3N0bGV2ZWwuYzoKCSogZ3N0L2xldmVsL2dzdGxldmVsLmg6CgkqIGdzdC9tYXRyb3NrYS9lYm1sLXdyaXRlLmg6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5oOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtaWRzLmg6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguaDoKCSogZ3N0L21vbm9zY29wZS9jb252b2x2ZS5jOgoJKiBnc3QvbW9ub3Njb3BlL2NvbnZvbHZlLmg6CgkqIGdzdC9tdWx0aXBhcnQvbXVsdGlwYXJ0bXV4LmM6CgkqIGdzdC9vbGRjb3JlL2dzdGFnZ3JlZ2F0b3IuYzoKCSogZ3N0L29sZGNvcmUvZ3N0YWdncmVnYXRvci5oOgoJKiBnc3Qvb2xkY29yZS9nc3RtZDVzaW5rLmM6CgkqIGdzdC9vbGRjb3JlL2dzdG1kNXNpbmsuaDoKCSogZ3N0L29sZGNvcmUvZ3N0bXVsdGlmaWxlc3JjLmM6CgkqIGdzdC9vbGRjb3JlL2dzdG11bHRpZmlsZXNyYy5oOgoJKiBnc3Qvb2xkY29yZS9nc3RwaXBlZmlsdGVyLmg6CgkqIGdzdC9vbGRjb3JlL2dzdHNoYXBlci5oOgoJKiBnc3QvcnRwL2dzdHJ0cEwxNmRlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwTDE2cGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBtcDR2cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXA0dnBheS5oOgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuaDoKCSogZ3N0L3J0c3AvcnRzcGNvbm5lY3Rpb24uaDoKCSogZ3N0L3J0c3AvcnRzcGRlZnMuaDoKCSogZ3N0L3J0c3AvcnRzcG1lc3NhZ2UuaDoKCSogZ3N0L3J0c3AvcnRzcHRyYW5zcG9ydC5oOgoJKiBnc3QvcnRzcC9ydHNwdXJsLmM6CgkqIGdzdC9ydHNwL3J0c3B1cmwuaDoKCSogZ3N0L3J0c3Avc2RwbWVzc2FnZS5jOgoJKiBnc3QvcnRzcC9zZHBtZXNzYWdlLmg6CgkqIGdzdC9zbXB0ZS9iYXJib3h3aXBlcy5jOgoJKiBnc3Qvc21wdGUvZ3N0bWFzay5oOgoJKiBnc3Qvc21wdGUvZ3N0c21wdGUuaDoKCSogZ3N0L3NtcHRlL3BhaW50LmM6CgkqIGdzdC9zbXB0ZS9wYWludC5oOgoJKiBnc3QvdWRwL2dzdGR5bnVkcHNpbmsuaDoKCSogZ3N0L3VkcC9nc3RtdWx0aXVkcHNpbmsuaDoKCSogZ3N0L3VkcC9nc3R1ZHBzaW5rLmM6CgkqIGdzdC91ZHAvZ3N0dWRwc2luay5oOgoJKiBnc3QvdWRwL2dzdHVkcHNyYy5jOgoJKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyLmM6CgkqIGdzdC93YXZlbmMvcmlmZi5oOgoJKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuaDoKCSogc3lzL29zcy9nc3Rvc3NkbWFidWZmZXIuaDoKCSogc3lzL29zcy9nc3Rvc3NtaXhlci5oOgoJKiBzeXMvb3NzL2dzdG9zc21peGVyZWxlbWVudC5oOgoJKiBzeXMvb3NzL2dzdG9zc21peGVydHJhY2suaDoKCSogc3lzL29zcy9nc3Rvc3NzaW5rLmM6CgkqIHN5cy9vc3MvZ3N0b3Nzc2luay5oOgoJKiBzeXMvb3NzL2dzdG9zc3NyYy5jOgoJKiBzeXMvb3NzL2dzdG9zc3NyYy5oOgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4YXVkaW9lbGVtZW50Lmg6CgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hhdWRpb3NpbmsuaDoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGF1ZGlvc3JjLmg6CgkgIGV4cGFuZCB0YWJzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBleHBhbmQgdGFicwoKMjAwNS0xMi0wNSAxODoxMjowNyArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBjb25maWd1cmUuYWM6CgkgIGJhY2sgdG8gSEVBRAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgYmFjayB0byBIRUFECgo9PT0gcmVsZWFzZSAwLjEwLjAgPT09CgoyMDA1LTEyLTA1IDE4OjAzOjIzICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIENoYW5nZUxvZzoKCSogTkVXUzoKCSogUkVMRUFTRToKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tMTM5NC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYWNvbG9yLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2RldGVjdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdmkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FjYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY3V0dGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZW5jZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmZlY3R2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVzZHNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmxhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHhkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2NvbmZlbGVtZW50cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwZWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGV2ZWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWF0cm9za2EueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlwYXJ0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5hdmlnYXRpb250ZXN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zc2F1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBuZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRzcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaG91dDJzZW5kLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNtcHRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXVkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2JveC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2ZsaXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9taXhlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFyc2UueG1sOgoJICByZWxlYXNpbmcgMC4xMC4wCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICByZWxlYXNpbmcgMC4xMC4wCgoyMDA1LTEyLTA1IDE4OjAxOjQ4ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1xdGRlbXV4LnhtbDoKCSAgcmVsZWFzaW5nIDAuMTAuMAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgcmVsZWFzaW5nIDAuMTAuMAoKMjAwNS0xMi0wNSAxNjoyMTowOCArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBwby9hZi5wbzoKCSogcG8vYXoucG86CgkqIHBvL2NzLnBvOgoJKiBwby9lbl9HQi5wbzoKCSogcG8vaHUucG86CgkqIHBvL2l0LnBvOgoJKiBwby9uYi5wbzoKCSogcG8vbmwucG86CgkqIHBvL29yLnBvOgoJKiBwby9zcS5wbzoKCSogcG8vc3IucG86CgkqIHBvL3N2LnBvOgoJKiBwby91ay5wbzoKCSogcG8vdmkucG86CgkgIFVwZGF0ZSAucG8gZmlsZXMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFVwZGF0ZSAucG8gZmlsZXMKCjIwMDUtMTItMDUgMTU6MDg6NDYgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogTWFrZWZpbGUuYW06CgkqIHBvL2FmLnBvOgoJKiBwby9hei5wbzoKCSogcG8vY3MucG86CgkqIHBvL2VuX0dCLnBvOgoJKiBwby9pdC5wbzoKCSogcG8vbmwucG86CgkqIHBvL29yLnBvOgoJKiBwby9zcS5wbzoKCSogcG8vc3IucG86CgkqIHBvL3N2LnBvOgoJKiBwby91ay5wbzoKCSogcG8vdmkucG86CgkgIHVwZGF0ZSB0cmFuc2xhdGlvbnMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHVwZGF0ZSB0cmFuc2xhdGlvbnMKCjIwMDUtMTItMDUgMTM6MDQ6MjIgKzAwMDAgIEFuZHkgV2luZ28gPHdpbmdvQHBvYm94LmNvbT4KCgkgIFVwZGF0ZSBmb3IgYWxsb2NfYnVmZmVyIGNoYW5nZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA1LTEyLTA1ICBBbmR5IFdpbmdvICA8d2luZ29AcG9ib3guY29tPgoJICAqIGV4dC9mYWFjL2dzdGZhYWMuYzogKGdzdF9mYWFjX3NpbmtfZXZlbnQpLCAoZ3N0X2ZhYWNfY2hhaW4pOgoJICAqIGV4dC9mYWFkL2dzdGZhYWQuYzogKGdzdF9mYWFkX2NoYWluKToKCSAgKiBleHQvaGVybWVzL2dzdGhlcm1lc2NvbG9yc3BhY2UuYzogKGdzdF9oZXJtZXNfY29sb3JzcGFjZV9jaGFpbik6CgkgICogZXh0L2xjcy9nc3Rjb2xvcnNwYWNlLmM6IChnc3RfY29sb3JzcGFjZV9jaGFpbik6CgkgICogZXh0L3hpbmUveGluZWlucHV0LmM6IChnc3RfeGluZV9pbnB1dF9nZXQpOgoJICAqIGdzdC9jb2xvcnNwYWNlL2dzdGNvbG9yc3BhY2UuYzogKGdzdF9jb2xvcnNwYWNlX2NoYWluKToKCSAgKiBnc3Qvc3BlZWQvZ3N0c3BlZWQuYzogKHNwZWVkX2NoYWluKToKCSAgKiBnc3QvdmlkZW9jcm9wL2dzdHZpZGVvY3JvcC5jOiAoZ3N0X3ZpZGVvX2Nyb3BfY2hhaW4pOiBVcGRhdGUgZm9yCgkgIGFsbG9jX2J1ZmZlciBjaGFuZ2VzLgoKMjAwNS0xMi0wNSAxMzowMzowMCArMDAwMCAgQW5keSBXaW5nbyA8d2luZ29AcG9ib3guY29tPgoKCSAgVXBkYXRlIGZvciBhbGxvY19idWZmZXIgY2hhbmdlcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDUtMTItMDUgIEFuZHkgV2luZ28gIDx3aW5nb0Bwb2JveC5jb20+CgkgICogZXh0L2R2L2dzdGR2ZGVjLmM6IChnc3RfZHZkZWNfY2hhaW4pOgoJICAqIGV4dC9mbGFjL2dzdGZsYWNkZWMuYzogKGdzdF9mbGFjZGVjX3dyaXRlKToKCSAgKiBleHQvZmxhYy9nc3RmbGFjZW5jLmM6IChnc3RfZmxhY2VuY193cml0ZV9jYWxsYmFjayk6CgkgICogZXh0L2dka19waXhidWYvZ3N0Z2RrcGl4YnVmLmM6IChnc3RfZ2RrX3BpeGJ1Zl9jaGFpbik6CgkgICogZXh0L2dka19waXhidWYvcGl4YnVmc2NhbGUuYzogKGdzdF9waXhidWZzY2FsZV9jaGFpbik6CgkgICogZXh0L2pwZWcvZ3N0anBlZ2RlYy5jOiAoZ3N0X2pwZWdfZGVjX2NoYWluKToKCSAgKiBleHQvanBlZy9nc3RqcGVnZW5jLmM6IChnc3RfanBlZ2VuY19jaGFpbik6CgkgICogZXh0L2xhZHNwYS9nc3RzaWduYWxwcm9jZXNzb3IuYzogKGdzdF9zaWduYWxfcHJvY2Vzc29yX3Byb2Nlc3MpOgoJICAqIGV4dC9saWJwbmcvZ3N0cG5nZGVjLmM6ICh1c2VyX2luZm9fY2FsbGJhY2spLCAoZ3N0X3BuZ2RlY190YXNrKToKCSAgKiBleHQvc3BlZXgvZ3N0c3BlZXhkZWMuYzogKHNwZWV4X2RlY19jaGFpbik6CgkgICogZXh0L3NwZWV4L2dzdHNwZWV4ZW5jLmM6IChnc3Rfc3BlZXhlbmNfY2hhaW4pOgoJICAqIGdzdC9hdXBhcnNlL2dzdGF1cGFyc2UuYzogKGdzdF9hdXBhcnNlX2NoYWluKToKCSAgKiBnc3QvZmx4L2dzdGZseGRlYy5jOiAoZ3N0X2ZseGRlY19jaGFpbik6CgkgICogZ3N0L2dvb20vZ3N0Z29vbS5jOiAoZ3N0X2dvb21fY2hhaW4pOgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICAoZ3N0X21hdHJvc2thX2RlbXV4X3B1c2hfdm9yYmlzX2NvZGVjX3ByaXZfZGF0YSksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfYWRkX3d2cGtfaGVhZGVyKToKCSAgKiBnc3QvbXVsdGlwYXJ0L211bHRpcGFydGRlbXV4LmM6IChnc3RfbXVsdGlwYXJ0X2RlbXV4X2NoYWluKToKCSAgKiBnc3QvbXVsdGlwYXJ0L211bHRpcGFydG11eC5jOiAoZ3N0X211bHRpcGFydF9tdXhfY29sbGVjdGVkKToKCSAgKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyLmM6IChnc3RfdmlkZW9taXhlcl9jb2xsZWN0ZWQpOgoJICAqIGdzdC93YXZlbmMvZ3N0d2F2ZW5jLmM6IChnc3Rfd2F2ZW5jX2NoYWluKTogVXBkYXRlIGZvcgoJICBhbGxvY19idWZmZXIgY2hhbmdlcy4KCjIwMDUtMTItMDUgMTI6MjM6MjIgKzAwMDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEB4aXBoLm9yZz4KCgkgIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuYXJnczogUmVtb3ZlIGFyZ3MgZm9yIHBsdWdpbnMgdGhhdCBhcmVuJ3QgaW4gLWdvb2QuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuYXJnczoKCSAgUmVtb3ZlIGFyZ3MgZm9yIHBsdWdpbnMgdGhhdCBhcmVuJ3QgaW4gLWdvb2QuCgoyMDA1LTEyLTA0IDIyOjI2OjA3ICswMDAwICBDaHJpc3RpYW4gU2NoYWxsZXIgPHVyYWV1c0Bnbm9tZS5vcmc+CgoJKiBnc3QtcGx1Z2lucy1nb29kLnNwZWMuaW46CgkgIHJlbW92ZSBwYW5nbyBwbHVnaW4gYXMgaXRzIGdvbmUgaW50byBiYXNlCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICByZW1vdmUgcGFuZ28gcGx1Z2luIGFzIGl0cyBnb25lIGludG8gYmFzZQoKMjAwNS0xMi0wMyAxODo1MTo0OCArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBnc3QvcnRwL2dzdHJ0cEwxNnBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MTFwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnc21wYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjYzcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2M3BwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBzcGVleHBheS5jOgoJICBmaXggZWxlbWVudCBkZXNjcmlwdGlvbnMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGZpeCBlbGVtZW50IGRlc2NyaXB0aW9ucwoKMjAwNS0xMi0wMyAxODo1MDoxMiArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmRzcmMueG1sOgoJICByZW1vdmUgZmRzcmMgZG9jcwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgcmVtb3ZlIGZkc3JjIGRvY3MKCjIwMDUtMTItMDEgMTk6MTg6MDggKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogY29uZmlndXJlLmFjOgoJICBiYWNrIHRvIEhFQUQKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGJhY2sgdG8gSEVBRAoKPT09IHJlbGVhc2UgMC45LjcgPT09CgoyMDA1LTEyLTAxIDE5OjE0OjI2ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIENoYW5nZUxvZzoKCSogTkVXUzoKCSogUkVMRUFTRToKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi0xMzk0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhY29sb3IueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvZGV0ZWN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF2aS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWNhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jdXR0ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZlbmNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZmVjdHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXNkc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbGFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZseGRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nY29uZmVsZW1lbnRzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdvb20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanBlZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sZXZlbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tYXRyb3NrYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aXBhcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmF2aWdhdGlvbnRlc3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5nLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHNwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNob3V0MnNlbmQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc21wdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdWRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvYm94LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvZmxpcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb21peGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYXJzZS54bWw6CgkgIHJlbGVhc2luZyAwLjkuNwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgcmVsZWFzaW5nIDAuOS43CgoyMDA1LTEyLTAxIDE5OjEzOjIwICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1xdGRlbXV4LnhtbDoKCSAgcmVsZWFzaW5nIDAuOS43CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICByZWxlYXNpbmcgMC45LjcKCjIwMDUtMTItMDEgMTc6NTM6MjkgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogY29tbW9uOgoJKiBwby9hZi5wbzoKCSogcG8vYXoucG86CgkqIHBvL2NzLnBvOgoJKiBwby9lbl9HQi5wbzoKCSogcG8vaHUucG86CgkqIHBvL2l0LnBvOgoJKiBwby9uYi5wbzoKCSogcG8vbmwucG86CgkqIHBvL29yLnBvOgoJKiBwby9zcS5wbzoKCSogcG8vc3IucG86CgkqIHBvL3N2LnBvOgoJKiBwby91ay5wbzoKCSogcG8vdmkucG86CgkgIFVwZGF0ZSAucG8gZmlsZXMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFVwZGF0ZSAucG8gZmlsZXMKCjIwMDUtMTItMDEgMTU6MzQ6MTMgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogQ2hhbmdlTG9nOgoJKiBkb2NzL3BsdWdpbnMvLmdpdGlnbm9yZToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1kb2NzLnNnbWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aXBhcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwLnhtbDoKCSAgYWRkIG11bHRpcGFydCBwbHVnaW4gdG8gZG9jcwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgYWRkIG11bHRpcGFydCBwbHVnaW4gdG8gZG9jcwoKMjAwNS0xMi0wMSAxNToyMjoyNSArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBDaGFuZ2VMb2c6CgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L01ha2VmaWxlLmFtOgoJKiBleHQvcGFuZ28vTWFrZWZpbGUuYW06CgkqIGV4dC9wYW5nby9nc3RjbG9ja292ZXJsYXkuYzoKCSogZXh0L3BhbmdvL2dzdGNsb2Nrb3ZlcmxheS5oOgoJKiBleHQvcGFuZ28vZ3N0dGV4dG92ZXJsYXkuYzoKCSogZXh0L3BhbmdvL2dzdHRleHRvdmVybGF5Lmg6CgkqIGV4dC9wYW5nby9nc3R0ZXh0cmVuZGVyLmM6CgkqIGV4dC9wYW5nby9nc3R0ZXh0cmVuZGVyLmg6CgkqIGV4dC9wYW5nby9nc3R0aW1lb3ZlcmxheS5jOgoJKiBleHQvcGFuZ28vZ3N0dGltZW92ZXJsYXkuaDoKCSAgbW92ZSBwYW5nbyB0byBiYXNlCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBtb3ZlIHBhbmdvIHRvIGJhc2UKCjIwMDUtMTItMDEgMTQ6Mzk6MzAgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSAgZ3N0L3J0cC86IHBhcnNlcnMgYXJlIGRlcGF5ZXJzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHAvTWFrZWZpbGUuYW06CgkgICogZ3N0L3J0cC9nc3RydHBMMTZkZXBheS5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwTDE2ZGVwYXkuaDoKCSAgKiBnc3QvcnRwL2dzdHJ0cEwxNnBhcnNlLmM6CgkgICogZ3N0L3J0cC9nc3RydHBMMTZwYXJzZS5oOgoJICAqIGdzdC9ydHAvZ3N0cnRwZ3NtZGVwYXkuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cGdzbWRlcGF5Lmg6CgkgICogZ3N0L3J0cC9nc3RydHBnc21wYXJzZS5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwZ3NtcGFyc2UuaDoKCSAgcGFyc2VycyBhcmUgZGVwYXllcnMKCjIwMDUtMTItMDEgMTQ6MzA6MDEgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogQ2hhbmdlTG9nOgoJKiBjb21tb246CgkqIGdzdC9ydHAvTWFrZWZpbGUuYW06CgkqIGdzdC9ydHAvZ3N0YXN0ZXJpc2toMjYzLmM6CgkqIGdzdC9ydHAvZ3N0cnRwLmM6CgkqIGdzdC9ydHAvZ3N0cnRwTDE2ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBMMTZkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cEwxNmVuYy5jOgoJKiBnc3QvcnRwL2dzdHJ0cEwxNmVuYy5oOgoJKiBnc3QvcnRwL2dzdHJ0cEwxNnBhcnNlLmM6CgkqIGdzdC9ydHAvZ3N0cnRwTDE2cGFyc2UuaDoKCSogZ3N0L3J0cC9nc3RydHBMMTZwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBMMTZwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBhbXJkZWMuYzoKCSogZ3N0L3J0cC9nc3RydHBhbXJkZWMuaDoKCSogZ3N0L3J0cC9nc3RydHBhbXJkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGFtcmRlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwYW1yZW5jLmM6CgkqIGdzdC9ydHAvZ3N0cnRwYW1yZW5jLmg6CgkqIGdzdC9ydHAvZ3N0cnRwYW1ycGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwYW1ycGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwZGVjLmM6CgkqIGdzdC9ydHAvZ3N0cnRwZGVjLmg6CgkqIGdzdC9ydHAvZ3N0cnRwZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MTFkZWMuYzoKCSogZ3N0L3J0cC9nc3RydHBnNzExZGVjLmg6CgkqIGdzdC9ydHAvZ3N0cnRwZzcxMWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZzcxMWRlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwZzcxMWVuYy5jOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MTFlbmMuaDoKCSogZ3N0L3J0cC9nc3RydHBnNzExcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZzcxMXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGdzbWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZ3NtZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBnc21lbmMuYzoKCSogZ3N0L3J0cC9nc3RydHBnc21lbmMuaDoKCSogZ3N0L3J0cC9nc3RydHBnc21wYXJzZS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGdzbXBhcnNlLmg6CgkqIGdzdC9ydHAvZ3N0cnRwZ3NtcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZ3NtcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2M2VuYy5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNlbmMuaDoKCSogZ3N0L3J0cC9nc3RydHBoMjYzcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2M3BheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNwZGVjLmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2M3BkZWMuaDoKCSogZ3N0L3J0cC9nc3RydHBoMjYzcGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2M3BkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNwZW5jLmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2M3BlbmMuaDoKCSogZ3N0L3J0cC9nc3RydHBoMjYzcHBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNwcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwbXA0dmRlYy5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wNHZkZWMuaDoKCSogZ3N0L3J0cC9nc3RydHBtcDR2ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDR2ZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBtcDR2ZW5jLmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXA0dmVuYy5oOgoJKiBnc3QvcnRwL2dzdHJ0cG1wNHZwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDR2cGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwbXBhZGVjLmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXBhZGVjLmg6CgkqIGdzdC9ydHAvZ3N0cnRwbXBhZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcGFkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cG1wYWVuYy5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wYWVuYy5oOgoJKiBnc3QvcnRwL2dzdHJ0cG1wYXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wYXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cHNwZWV4ZGVjLmM6CgkqIGdzdC9ydHAvZ3N0cnRwc3BlZXhkZWMuaDoKCSogZ3N0L3J0cC9nc3RydHBzcGVleGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwc3BlZXhkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cHNwZWV4ZW5jLmM6CgkqIGdzdC9ydHAvZ3N0cnRwc3BlZXhlbmMuaDoKCSogZ3N0L3J0cC9nc3RydHBzcGVleHBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHNwZWV4cGF5Lmg6CgkgIERvIGJ1cmdlcidzIHJlbmFtZSBmb3IgcnRwIHBheWxvYWRlcnMgYW5kIGRlcGF5bG9hZGVycwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgRG8gYnVyZ2VyJ3MgcmVuYW1lIGZvciBydHAgcGF5bG9hZGVycyBhbmQgZGVwYXlsb2FkZXJzCgoyMDA1LTExLTMwIDE5OjAyOjM1ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZXh0L2R2LzogRml4IHNlZWtpbmcgaW4gZHZkZW11eCBhZ2FpbiwgYWRkIHNvbWUgbW9yZSBkZWJ1ZyBpbmZvLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZHYvZ3N0ZHZkZWMuYzogKGdzdF9kdmRlY19jaGFpbik6CgkgICogZXh0L2R2L2dzdGR2ZGVtdXguYzogKGdzdF9kdmRlbXV4X2RlbXV4X2ZyYW1lKToKCSAgKiBleHQvZHYvZ3N0ZHZkZW11eC5oOgoJICBGaXggc2Vla2luZyBpbiBkdmRlbXV4IGFnYWluLCBhZGQgc29tZSBtb3JlIGRlYnVnIGluZm8uCgoyMDA1LTExLTMwIDE4OjQ4OjU2ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIENoYW5nZUxvZzoKCSogY29uZmlndXJlLmFjOgoJICBmaXggdGVzdHMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGZpeCB0ZXN0cwoKMjAwNS0xMS0zMCAxODo0MDoxOSArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBNYWtlZmlsZS5hbToKCSAgYWRkIHRlc3RzIHN1YmRpcgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgYWRkIHRlc3RzIHN1YmRpcgoKMjAwNS0xMS0zMCAxODozNjowMiArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgYWRkIE1ha2VmaWxlLmFtCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBhZGQgTWFrZWZpbGUuYW0KCjIwMDUtMTEtMzAgMTg6Mjg6NTMgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSAgbW92ZQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBQT1JURURfMDk6CgkgICogZG9jcy9yYW5kb20vUE9SVEVEXzA5OgoJICBtb3ZlCgkgICogdGVzdHMvTWFrZWZpbGUuYW06CgkgIGFkZAoJICAqIHdpbjMyL2dzdC5zbG46CgkgIHJlbW92ZQoKMjAwNS0xMS0zMCAxODoyNDowOCArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBDaGFuZ2VMb2c6CgkqIE1ha2VmaWxlLmFtOgoJKiBjaGVjay8uZ2l0aWdub3JlOgoJKiBjaGVjay9NYWtlZmlsZS5hbToKCSogY2hlY2svZWxlbWVudHMvLmdpdGlnbm9yZToKCSogY2hlY2svZWxlbWVudHMvbGV2ZWwuYzoKCSogY2hlY2svZWxlbWVudHMvbWF0cm9za2FtdXguYzoKCSogY29uZmlndXJlLmFjOgoJKiBleGFtcGxlcy9NYWtlZmlsZS5hbToKCSogZXhhbXBsZXMvY2Fwc2ZpbHRlci9NYWtlZmlsZS5hbToKCSogZXhhbXBsZXMvY2Fwc2ZpbHRlci9jYXBzZmlsdGVyMS5jOgoJKiBleGFtcGxlcy9nb2IvTWFrZWZpbGUuYW06CgkqIGV4YW1wbGVzL2dvYi9nc3QtaWRlbnRpdHkyLmdvYjoKCSogZXhhbXBsZXMvZ3N0cGxheS8uZ2l0aWdub3JlOgoJKiBleGFtcGxlcy9nc3RwbGF5L01ha2VmaWxlLmFtOgoJKiBleGFtcGxlcy9nc3RwbGF5L3BsYXllci5jOgoJKiBleGFtcGxlcy9pbmRleGluZy8uZ2l0aWdub3JlOgoJKiBleGFtcGxlcy9pbmRleGluZy9NYWtlZmlsZS5hbToKCSogZXhhbXBsZXMvaW5kZXhpbmcvaW5kZXhtcGVnLmM6CgkqIGV4YW1wbGVzL2xldmVsL01ha2VmaWxlLmFtOgoJKiBleGFtcGxlcy9sZXZlbC9SRUFETUU6CgkqIGV4YW1wbGVzL2xldmVsL2RlbW8uYzoKCSogZXhhbXBsZXMvbGV2ZWwvcGxvdC5jOgoJKiBleGFtcGxlcy9zdGF0cy9NYWtlZmlsZS5hbToKCSogZXhhbXBsZXMvc3RhdHMvbXAyb2dnLmM6CgkqIGV4YW1wbGVzL3N3aXRjaC8uZ2l0aWdub3JlOgoJKiBleGFtcGxlcy9zd2l0Y2gvTWFrZWZpbGUuYW06CgkqIGV4YW1wbGVzL3N3aXRjaC9zd2l0Y2hlci5jOgoJICBtb3ZlIHVuZGVyIHRlc3RzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBtb3ZlIHVuZGVyIHRlc3RzCgoyMDA1LTExLTMwIDE2OjU3OjU3ICswMDAwICBDaHJpc3RpYW4gU2NoYWxsZXIgPHVyYWV1c0Bnbm9tZS5vcmc+CgoJKiBjb21tb246CgkqIGdzdC1wbHVnaW5zLWdvb2Quc3BlYy5pbjoKCSAgdXBkYXRlIGZvciBsYXRlc3QgY2hhbmdlcwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgdXBkYXRlIGZvciBsYXRlc3QgY2hhbmdlcwoKMjAwNS0xMS0zMCAxNDo1MzoyOSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC9wYW5nby9nc3R0ZXh0cmVuZGVyLio6IEFkZCBtaXNzaW5nIGZpbGVzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvcGFuZ28vZ3N0dGV4dHJlbmRlci5jOiAoZ3N0X3RleHRfcmVuZGVyX2Jhc2VfaW5pdCksCgkgIChnc3RfdGV4dF9yZW5kZXJfY2xhc3NfaW5pdCksIChyZXNpemVfYml0bWFwKSwKCSAgKGdzdF90ZXh0X3JlbmRlcl9yZW5kZXJfdGV4dCksIChnc3RfdGV4dF9yZW5kZXJfc2V0Y2FwcyksCgkgIChnc3RfdGV4dF9yZW5kZXJfZml4YXRlX2NhcHMpLCAoZ3N0X3RleHRfcmVuZGVyZXJfYml0bWFwX3RvX2F5dXYpLAoJICAoZ3N0X3RleHRfcmVuZGVyX2NoYWluKSwgKGdzdF90ZXh0X3JlbmRlcl9maW5hbGl6ZSksCgkgIChnc3RfdGV4dF9yZW5kZXJfaW5pdCksIChnc3RfdGV4dF9yZW5kZXJfc2V0X3Byb3BlcnR5KToKCSAgKiBleHQvcGFuZ28vZ3N0dGV4dHJlbmRlci5oOgoJICBBZGQgbWlzc2luZyBmaWxlcy4KCjIwMDUtMTEtMzAgMTM6MjA6NTcgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBQb3J0IHBhbmdvLWJhc2VkIHRleHRvdmVybGF5LCB0aW1lb3ZlcmxheSBhbmQgdGV4dHJlbmRlciB0byAwLjkgYW5kIGFkZCBiYWNrZ3JvdW5kIHNoYWRpbmcgYW5kIHRleHQgd3JhcHBpbmcgbW9kZXMuIE0uLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAqIGV4dC9NYWtlZmlsZS5hbToKCSAgKiBleHQvcGFuZ28vTWFrZWZpbGUuYW06CgkgICogZXh0L3BhbmdvL2dzdGNsb2Nrb3ZlcmxheS5jOiAoZ3N0X2Nsb2NrX292ZXJsYXlfYmFzZV9pbml0KSwKCSAgKGdzdF9jbG9ja19vdmVybGF5X3JlbmRlcl90aW1lKSwgKGdzdF9jbG9ja19vdmVybGF5X2dldF90ZXh0KSwKCSAgKGdzdF9jbG9ja19vdmVybGF5X2NsYXNzX2luaXQpLCAoZ3N0X2Nsb2NrX292ZXJsYXlfaW5pdCk6CgkgICogZXh0L3BhbmdvL2dzdGNsb2Nrb3ZlcmxheS5oOgoJICAqIGV4dC9wYW5nby9nc3R0ZXh0b3ZlcmxheS5jOiAoZ3N0X3RleHRfb3ZlcmxheV9iYXNlX2luaXQpLAoJICAoZ3N0X3RleHRfb3ZlcmxheV9nZXRfdGV4dCksIChnc3RfdGV4dF9vdmVybGF5X2NsYXNzX2luaXQpLAoJICAoZ3N0X3RleHRfb3ZlcmxheV9maW5hbGl6ZSksIChnc3RfdGV4dF9vdmVybGF5X2luaXQpLAoJICAoZ3N0X3RleHRfb3ZlcmxheV91cGRhdGVfd3JhcF9tb2RlKSwgKGdzdF90ZXh0X292ZXJsYXlfc2V0Y2FwcyksCgkgIChnc3RfdGV4dF9vdmVybGF5X3RleHRfcGFkX2xpbmtlZCksCgkgIChnc3RfdGV4dF9vdmVybGF5X3RleHRfcGFkX3VubGlua2VkKSwKCSAgKGdzdF90ZXh0X292ZXJsYXlfc2V0X3Byb3BlcnR5KSwgKGdzdF90ZXh0X292ZXJsYXlfZ2V0Y2FwcyksCgkgIChnc3RfdGV4dF9vdmVybGF5X3NoYWRlX3kpLCAoZ3N0X3RleHRfb3ZlcmxheV9ibGl0X3l1djQyMCksCgkgIChnc3RfdGV4dF9vdmVybGF5X3Jlc2l6ZV9iaXRtYXApLCAoZ3N0X3RleHRfb3ZlcmxheV9yZW5kZXJfdGV4dCksCgkgIChnc3RfdGV4dF9vdmVybGF5X3B1c2hfZnJhbWUpLCAoZ3N0X3RleHRfb3ZlcmxheV9wb3BfdmlkZW8pLAoJICAoZ3N0X3RleHRfb3ZlcmxheV9wb3BfdGV4dCksIChnc3RfdGV4dF9vdmVybGF5X2NvbGxlY3RlZCksCgkgIChnc3RfdGV4dF9vdmVybGF5X2NoYW5nZV9zdGF0ZSksIChwbHVnaW5faW5pdCk6CgkgICogZXh0L3BhbmdvL2dzdHRleHRvdmVybGF5Lmg6CgkgICogZXh0L3BhbmdvL2dzdHRpbWVvdmVybGF5LmM6IChnc3RfdGltZV9vdmVybGF5X2Jhc2VfaW5pdCksCgkgIChnc3RfdGltZV9vdmVybGF5X3JlbmRlcl90aW1lKSwgKGdzdF90aW1lX292ZXJsYXlfZ2V0X3RleHQpLAoJICAoZ3N0X3RpbWVfb3ZlcmxheV9jbGFzc19pbml0KSwgKGdzdF90aW1lX292ZXJsYXlfaW5pdCk6CgkgICogZXh0L3BhbmdvL2dzdHRpbWVvdmVybGF5Lmg6CgkgIFBvcnQgcGFuZ28tYmFzZWQgdGV4dG92ZXJsYXksIHRpbWVvdmVybGF5IGFuZCB0ZXh0cmVuZGVyIHRvIDAuOQoJICBhbmQgYWRkIGJhY2tncm91bmQgc2hhZGluZyBhbmQgdGV4dCB3cmFwcGluZyBtb2Rlcy4gTWFrZQoJICB0aW1vdmVybGF5IGRlcml2ZSBmcm9tIHRleHRvdmVybGF5LiBBbHNvIGFkZCBuZXcgY2xvY2tvdmVybGF5CgkgIGVsZW1lbnQuCgoyMDA1LTExLTMwIDExOjEwOjAxICswMDAwICBKdWxpZW4gTW91dHRlIDxqdWxpZW5AbW91dHRlLm5ldD4KCgkgIGdzdC91ZHAvTWFrZWZpbGUuYW06IE1vdmVkIHRvIG5ldGJ1ZmZlci4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDUtMTEtMzAgIEp1bGllbiBNT1VUVEUgIDxqdWxpZW5AbW91dHRlLm5ldD4KCSAgKiBnc3QvdWRwL01ha2VmaWxlLmFtOiBNb3ZlZCB0byBuZXRidWZmZXIuCgoyMDA1LTExLTMwIDEwOjE4OjQyICswMDAwICBKdWxpZW4gTW91dHRlIDxqdWxpZW5AbW91dHRlLm5ldD4KCgkgIFBvcnRlZCBtdWx0aXBhcnQgbXV4L2RlbXV4IHRvIDAuOS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDUtMTEtMzAgIEp1bGllbiBNT1VUVEUgIDxqdWxpZW5AbW91dHRlLm5ldD4KCSAgKiBjb25maWd1cmUuYWM6CgkgICogUE9SVEVEX085OgoJICAqIGdzdC9tdWx0aXBhcnQvTWFrZWZpbGUuYW06CgkgICogZ3N0L211bHRpcGFydC9tdWx0aXBhcnRkZW11eC5jOgoJICAoZ3N0X211bHRpcGFydF9kZW11eF9iYXNlX2luaXQpLAoJICAoZ3N0X211bHRpcGFydF9kZW11eF9jbGFzc19pbml0KSwgKGdzdF9tdWx0aXBhcnRfZGVtdXhfaW5pdCksCgkgIChnc3RfbXVsdGlwYXJ0X2ZpbmRfcGFkX2J5X21pbWUpLCAoZ3N0X211bHRpcGFydF9kZW11eF9jaGFpbiksCgkgIChnc3RfbXVsdGlwYXJ0X2RlbXV4X2NoYW5nZV9zdGF0ZSksCgkgIChnc3RfbXVsdGlwYXJ0X2RlbXV4X3BsdWdpbl9pbml0KToKCSAgKiBnc3QvbXVsdGlwYXJ0L211bHRpcGFydG11eC5jOiAoZ3N0X211bHRpcGFydF9tdXhfY2xhc3NfaW5pdCksCgkgIChnc3RfbXVsdGlwYXJ0X211eF9pbml0KSwgKGdzdF9tdWx0aXBhcnRfbXV4X2ZpbmFsaXplKSwKCSAgKGdzdF9tdWx0aXBhcnRfbXV4X3Npbmtjb25uZWN0KSwKCSAgKGdzdF9tdWx0aXBhcnRfbXV4X3JlcXVlc3RfbmV3X3BhZCksCgkgIChnc3RfbXVsdGlwYXJ0X211eF9oYW5kbGVfc3JjX2V2ZW50KSwKCSAgKGdzdF9tdWx0aXBhcnRfbXV4X3F1ZXVlX3BhZHMpLCAoZ3N0X211bHRpcGFydF9tdXhfY29sbGVjdGVkKSwKCSAgKGdzdF9tdWx0aXBhcnRfbXV4X2NoYW5nZV9zdGF0ZSk6IFBvcnRlZCBtdWx0aXBhcnQgbXV4L2RlbXV4IHRvCgkgIDAuOS4KCjIwMDUtMTEtMzAgMDg6MjY6NDcgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSAgZ3N0LzogdXBkYXRlIGZvciBzeW1ib2xzIGNoYW5nZQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZGVidWcvZ3N0bmF2aWdhdGlvbnRlc3QuYzogKGdzdF9uYXZpZ2F0aW9udGVzdF9nZXRfdHlwZSk6CgkgICogZ3N0L2RlYnVnL2dzdG5hdmlnYXRpb250ZXN0Lmg6CgkgICogZ3N0L2VmZmVjdHYvZ3N0YWdpbmcuYzogKGdzdF9hZ2luZ3R2X2dldF90eXBlKToKCSAgKiBnc3QvZWZmZWN0di9nc3RkaWNlLmM6IChnc3RfZGljZXR2X2dldF90eXBlKToKCSAgKiBnc3QvZWZmZWN0di9nc3RlZGdlLmM6IChnc3RfZWRnZXR2X2dldF90eXBlKToKCSAgKiBnc3QvZWZmZWN0di9nc3RxdWFyay5jOiAoZ3N0X3F1YXJrdHZfZ2V0X3R5cGUpOgoJICAqIGdzdC9lZmZlY3R2L2dzdHJldi5jOiAoZ3N0X3JldnR2X2dldF90eXBlKToKCSAgKiBnc3QvZWZmZWN0di9nc3RzaGFnYWRlbGljLmM6IChnc3Rfc2hhZ2FkZWxpY3R2X2dldF90eXBlKToKCSAgKiBnc3QvZWZmZWN0di9nc3R2ZXJ0aWdvLmM6IChnc3RfdmVydGlnb3R2X2dldF90eXBlKToKCSAgKiBnc3QvZWZmZWN0di9nc3R3YXJwLmM6IChnc3Rfd2FycHR2X2dldF90eXBlKToKCSAgKiBnc3QvdmlkZW9maWx0ZXIvZ3N0dmlkZW9mbGlwLmM6IChnc3RfdmlkZW9fZmxpcF9zZXRfcHJvcGVydHkpLAoJICAoZ3N0X3ZpZGVvX2ZsaXBfZ2V0X3R5cGUpOgoJICAqIGdzdC92aWRlb2ZpbHRlci9nc3R2aWRlb2ZsaXAuaDoKCSAgdXBkYXRlIGZvciBzeW1ib2xzIGNoYW5nZQoKMjAwNS0xMS0yOSAxNzo0NjowNCArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJICBnc3QvdWRwLzogdGhlIG9sZCBnc3RuZXQgbGliIHdhcyByZW5hbWVkIGdzdG5ldGJ1ZmZlciAoIzMyMjI1NykKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3VkcC9nc3RkeW51ZHBzaW5rLmM6CgkgICogZ3N0L3VkcC9nc3R1ZHBzcmMuYzoKCSAgdGhlIG9sZCBnc3RuZXQgbGliIHdhcyByZW5hbWVkIGdzdG5ldGJ1ZmZlciAoIzMyMjI1NykKCjIwMDUtMTEtMjkgMTU6NDI6MDEgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvY2Fpcm8vZ3N0dGV4dG92ZXJsYXkuYzogQWN0dWFsbHkgcmVuZGVyIHRoZSB0ZXh0IGZyb20gdGhlIHRleHQgcGFkLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvY2Fpcm8vZ3N0dGV4dG92ZXJsYXkuYzogKGdzdF90ZXh0X292ZXJsYXlfcmVuZGVyX3RleHQpLAoJICAoZ3N0X3RleHRfb3ZlcmxheV9jb2xsZWN0ZWQpOgoJICBBY3R1YWxseSByZW5kZXIgdGhlIHRleHQgZnJvbSB0aGUgdGV4dCBwYWQuCgoyMDA1LTExLTI5IDE0OjQ5OjAwICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgZ3N0L2RlYnVnLzogVXBkYXRlIGZvciBHc3RCYXNlVHJhbnNmb3JtIGV2ZW50IHZpcnR1YWwgbWV0aG9kCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9kZWJ1Zy9nc3RuYXZzZWVrLmM6IChnc3RfbmF2c2Vla19ldmVudCk6CgkgICogZ3N0L2RlYnVnL3Byb2dyZXNzcmVwb3J0LmM6IChnc3RfcHJvZ3Jlc3NfcmVwb3J0X2V2ZW50KToKCSAgVXBkYXRlIGZvciBHc3RCYXNlVHJhbnNmb3JtIGV2ZW50IHZpcnR1YWwgbWV0aG9kCgoyMDA1LTExLTI5IDEwOjU1OjA5ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkgIGV4dC9jYWlyby9NYWtlZmlsZS5hbTogbm8gbmVlZCB0byBsaW5rIHRvIHZpZGVvZmlsdGVyCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA1LTExLTI5ICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlICA8dGhvbWFzIGF0IGFwZXN0YWFydCBkb3Qgb3JnPgoJICAqIGV4dC9jYWlyby9NYWtlZmlsZS5hbToKCSAgbm8gbmVlZCB0byBsaW5rIHRvIHZpZGVvZmlsdGVyCgoyMDA1LTExLTI5IDEwOjQ2OjAwICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIENoYW5nZUxvZzoKCSogZ3N0L2RlYnVnL01ha2VmaWxlLmFtOgoJKiBnc3QvZGVidWcvZ3N0bmF2aWdhdGlvbnRlc3QuaDoKCSogZ3N0L2VmZmVjdHYvTWFrZWZpbGUuYW06CgkqIGdzdC9lZmZlY3R2L2dzdGFnaW5nLmM6CgkqIGdzdC9lZmZlY3R2L2dzdGRpY2UuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0ZWRnZS5jOgoJKiBnc3QvZWZmZWN0di9nc3RxdWFyay5jOgoJKiBnc3QvZWZmZWN0di9nc3RyZXYuYzoKCSogZ3N0L2VmZmVjdHYvZ3N0c2hhZ2FkZWxpYy5jOgoJKiBnc3QvZWZmZWN0di9nc3R2ZXJ0aWdvLmM6CgkqIGdzdC9lZmZlY3R2L2dzdHdhcnAuYzoKCSogZ3N0L3ZpZGVvZmlsdGVyL01ha2VmaWxlLmFtOgoJKiBnc3QvdmlkZW9maWx0ZXIvZ3N0dmlkZW9maWx0ZXIuYzoKCSogZ3N0L3ZpZGVvZmlsdGVyL2dzdHZpZGVvZmlsdGVyLmg6CgkqIGdzdC92aWRlb2ZpbHRlci9nc3R2aWRlb2ZsaXAuaDoKCSAgcmVtb3ZlIHRoZSB2aWRlb2ZpbHRlciBsaWJyYXJ5IGFuZCBsaW5rIHRvIHRoZSBvbmUgaW4gYmFzZQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgcmVtb3ZlIHRoZSB2aWRlb2ZpbHRlciBsaWJyYXJ5IGFuZCBsaW5rIHRvIHRoZSBvbmUgaW4gYmFzZQoKMjAwNS0xMS0yOSAwMTozMDo0MCArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBjb21tb246CgkqIGdzdC92aWRlb2ZpbHRlci9nc3R2aWRlb2ZsaXAuYzoKCSogZ3N0L3ZpZGVvZmlsdGVyL2dzdHZpZGVvZmxpcC5oOgoJICBib3JnaWZ5CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBib3JnaWZ5CgoyMDA1LTExLTI4IDE3OjMxOjQ0ICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgZ3N0L2F2aS9nc3RhdmlkZW11eC5jOiBVc2VsZXNzIGNoZWNrIG5vdyB3ZSdyZSBzZXR0aW5nIHRoZSBjdXJyZW50IGVudHJ5IGNvcnJlY3RseS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOiAoZ3N0X2F2aV9kZW11eF9wcm9jZXNzX25leHRfZW50cnkpOgoJICBVc2VsZXNzIGNoZWNrIG5vdyB3ZSdyZSBzZXR0aW5nIHRoZSBjdXJyZW50IGVudHJ5IGNvcnJlY3RseS4KCjIwMDUtMTEtMjggMTY6NTQ6MDMgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvanBlZy9nc3RqcGVnZW5jLmM6IERvbid0IGxlYWsgaW5wdXQgYnVmZmVyIGluIGNoYWluIGZ1bmN0aW9uIChmaXhlcyAjMzIyNjY3KTsgbWFrZSBzdGF0ZSBjaGFuZ2UgZnVuY3Rpb24gdGhyZWFkLXMuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2pwZWcvZ3N0anBlZ2VuYy5jOiAoZ3N0X2pwZWdlbmNfcmVzeW5jKSwgKGdzdF9qcGVnZW5jX2NoYWluKSwKCSAgKGdzdF9qcGVnZW5jX3NldF9wcm9wZXJ0eSksIChnc3RfanBlZ2VuY19nZXRfcHJvcGVydHkpLAoJICAoZ3N0X2pwZWdlbmNfY2hhbmdlX3N0YXRlKToKCSAgRG9uJ3QgbGVhayBpbnB1dCBidWZmZXIgaW4gY2hhaW4gZnVuY3Rpb24gKGZpeGVzICMzMjI2NjcpOyBtYWtlCgkgIHN0YXRlIGNoYW5nZSBmdW5jdGlvbiB0aHJlYWQtc2FmZTsgZG9uJ3QgcmVwZWF0IHRoZSBjdXJyZW50IGZ1bmN0aW9uCgkgIG5hbWUgaW4gR1NUX0RFQlVHIHN0YXRlbWVudHM7IHVzZSBHU1RfUk9VTkRfVVBfKiBtYWNyb3M7IHVzZQoJICBnc3RfcGFkX2FsbG9jX2J1ZmZlcigpOyBtaXNjLiBtaW5vciBjbGVhbnVwcy4KCjIwMDUtMTEtMjggMTU6NDM6MjkgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBleHQvZmFhZC9nc3RmYWFkLmM6IEhhbmRsZSBncmFjZWZ1bGx5IHRoZSBjb25zZXF1ZW5jZSBvZiAiTWF4aW11bSBudW1iZXIgb2Ygc2NhbGVmYWN0b3IgYmFuZHMgZXhjZWVkZWQiLCB3aGljaCByZXN1bHQuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2ZhYWQvZ3N0ZmFhZC5jOiAoZ3N0X2ZhYWRfc3JjZ2V0Y2Fwcyk6CgkgIEhhbmRsZSBncmFjZWZ1bGx5IHRoZSBjb25zZXF1ZW5jZSBvZiAiTWF4aW11bSBudW1iZXIgb2Ygc2NhbGVmYWN0b3IKCSAgYmFuZHMgZXhjZWVkZWQiLCB3aGljaCByZXN1bHRzIGluIDAgY2hhbm5lbHMgd2l0aCBzYW1wbGVyYXRlcyBvZiAwLgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKGdzdF9xdGRlbXV4X2NoYW5nZV9zdGF0ZSk6CgkgIERvIHVwd2FyZCB0cmFuc2l0aW9ucywgdGhlbiBjYWxsIHBhcmVudCBzdGF0ZV9jaGFuZ2UsIHRoZW4gZG8KCSAgZG93bndhcmQgdHJhbnNpdGlvbnMuCgoyMDA1LTExLTI4IDE1OjEzOjIyICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzogTG9vayBmb3IgcGl4ZWwtYXNwZWN0LXJhdGlvIGluIGNhcHMsIG5vdCBwaXhlbF93aWR0aCBhbmQgcGl4ZWxfaGVpZ2h0IChGaXhlczogIzMyMjY0NSkKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJICAoZ3N0X21hdHJvc2thX211eF92aWRlb19wYWRfc2V0Y2Fwcyk6CgkgIExvb2sgZm9yIHBpeGVsLWFzcGVjdC1yYXRpbyBpbiBjYXBzLCBub3QgcGl4ZWxfd2lkdGggYW5kCgkgIHBpeGVsX2hlaWdodCAoRml4ZXM6ICMzMjI2NDUpCgoyMDA1LTExLTI4IDEyOjU5OjA1ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzogRnJvbSBNaWNoYWwgQmVuZXM6IGZyYW1lIGR1cmF0aW9uIHNob3VsZCBiZSBHU1RfU0VDT05EIC8gZnJhbWVyYXRlLCBub3QKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJICAoZ3N0X21hdHJvc2thX211eF92aWRlb19wYWRfc2V0Y2Fwcyk6CgkgIEZyb20gTWljaGFsIEJlbmVzOgoJICBmcmFtZSBkdXJhdGlvbiBzaG91bGQgYmUgR1NUX1NFQ09ORCAvIGZyYW1lcmF0ZSwgbm90CgkgIEdTVF9TRUNPTkQgKiBmcmFtZXJhdGUuIChGaXhlczogIzMyMjY0MykKCjIwMDUtMTEtMjcgMTc6MDI6NTMgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSAgY29uZmlndXJlLmFjOiBmaXggdXAgR1NUX1BMVUdJTl9MREZMQUdTCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgZml4IHVwIEdTVF9QTFVHSU5fTERGTEFHUwoJICAqIGdzdC9ydHNwL3J0c3Bjb25uZWN0aW9uLmM6CgkgIGZpeCBpbmNsdWRlcyAoc2VlICMzMTcwNDMpCgkgICogZ3N0L3ZpZGVvZmlsdGVyL01ha2VmaWxlLmFtOgoJICBzdG9wIGluc3RhbGxpbmcgdGhpcyBsaWJyYXJ5CgoyMDA1LTExLTI3IDE1OjMwOjI1ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgbm8gbmVlZCBmb3IgYW4gQVNfTElCVE9PTCBjYWxsCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBubyBuZWVkIGZvciBhbiBBU19MSUJUT09MIGNhbGwKCjIwMDUtMTEtMjcgMTQ6MzM6MzEgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogTWFrZWZpbGUuYW06CgkqIGNvbW1vbjoKCSogZ3N0LXBsdWdpbnMtZ29vZC5zcGVjLmluOgoJICBhZGQgQUNMT0NBTF9BTUZMQUdTOyByZW1vdmUgb2xkIHN0dWZmIGZyb20gc3BlYyBjaGFuZ2Vsb2cKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGFkZCBBQ0xPQ0FMX0FNRkxBR1M7IHJlbW92ZSBvbGQgc3R1ZmYgZnJvbSBzcGVjIGNoYW5nZWxvZwoKMjAwNS0xMS0yNiAxMjo1NDo0NyArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIGV4dC9kdi9nc3RkdmRlYy5jOiBIYW5kbGUgdGhlIGNhc2Ugd2hlcmUgdGhlIGluY29taW5nIFZpZGVvIGR2IHN0cmVhbSBkb2Vzbid0IGhhdmUgYSBwaXhlbCBhc3BlY3QgcmF0aW8gc2V0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZHYvZ3N0ZHZkZWMuYzogKGdzdF9kdmRlY19zaW5rX3NldGNhcHMpOgoJICBIYW5kbGUgdGhlIGNhc2Ugd2hlcmUgdGhlIGluY29taW5nIFZpZGVvIGR2IHN0cmVhbSBkb2Vzbid0IGhhdmUKCSAgYSBwaXhlbCBhc3BlY3QgcmF0aW8gc2V0LgoKMjAwNS0xMS0yNSAyMjoxNDo0NyArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBDaGFuZ2VMb2c6CgkqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1kb2NzLnNnbWw6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJKiBleHQvZmxhYy9nc3RmbGFjZGVjLmM6CgkgIGRvY3VtZW50IGZsYWNkZWMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGRvY3VtZW50IGZsYWNkZWMKCjIwMDUtMTEtMjUgMjE6MzY6MTggKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogQ2hhbmdlTG9nOgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9kZXRlY3QueG1sOgoJKiBleHQvY2Fpcm8vZ3N0Y2Fpcm8uYzoKCSogZXh0L2NhaXJvL2dzdHRleHRvdmVybGF5LmM6CgkqIGV4dC9jYWlyby9nc3R0ZXh0b3ZlcmxheS5oOgoJKiBleHQvY2Fpcm8vZ3N0dGltZW92ZXJsYXkuYzoKCSogZXh0L2NhaXJvL2dzdHRpbWVvdmVybGF5Lmg6CgkgIGRvIHNvbWUgbmFtZSBib3JnaWZ5aW5nIGRvY3VtZW50CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBkbyBzb21lIG5hbWUgYm9yZ2lmeWluZwoJICBkb2N1bWVudAoKMjAwNS0xMS0yNSAyMTowMjoxNiArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJICBkb2N1bWVudGluZyBhdXRvKnNpbmsgdXNpbmcgc3Ryc3RyIGZvciB0aGUgdmlkZW8gc2luayBsb29rdXAsIGNsYXNzIGZpZWxkIGlzIG5vdCBvcmRlcmVkIHVwZGF0ZSBvdGhlciBwbHVnaW5zCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvYXVkaW9zaW5rLmM6CgkgIChnc3RfYXV0b19hdWRpb19zaW5rX2Jhc2VfaW5pdCk6CgkgICogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b3ZpZGVvc2luay5jOgoJICAoZ3N0X2F1dG9fdmlkZW9fc2lua19iYXNlX2luaXQpLAoJICAoZ3N0X2F1dG9fdmlkZW9fc2lua19mYWN0b3J5X2ZpbHRlcik6CgkgIGRvY3VtZW50aW5nIGF1dG8qc2luawoJICB1c2luZyBzdHJzdHIgZm9yIHRoZSB2aWRlbyBzaW5rIGxvb2t1cCwgY2xhc3MgZmllbGQgaXMgbm90IG9yZGVyZWQKCSAgdXBkYXRlIG90aGVyIHBsdWdpbnMKCjIwMDUtMTEtMjUgMTk6NTg6MTkgKzAwMDAgIEVkZ2FyZCBMaW1hIDxlZGdhcmQubGltYUBpbmR0Lm9yZy5icj4KCgkqIGV4dC93YXZwYWNrL01ha2VmaWxlLmFtOgoJKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZGVjLmM6CgkqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tkZWMuaDoKCSogZXh0L3dhdnBhY2svZ3N0d2F2cGFja3BhcnNlLmM6CgkqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2twYXJzZS5oOgoJICBXYXZwYWNrIHBvcnRlZCB0byAwLjkuIE5vIHN1cHBvcnQgZm9yIGNvcnJlY3Rpb24gZmlsZSB5ZXQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBXYXZwYWNrIHBvcnRlZCB0byAwLjkuIE5vIHN1cHBvcnQgZm9yIGNvcnJlY3Rpb24gZmlsZSB5ZXQuCgoyMDA1LTExLTI1IDE4OjE1OjUxICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkgIGV4dC93YXZwYWNrLzogcHV0IGJhY2sgd2F2cGFjayAtIHN0aWxsIG5lZWRzIHBvcnRpbmcKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2NvbW1vbi5oOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tkZWMuYzogKGdzdF93YXZwYWNrX2RlY19saW5rKSwKCSAgKGdzdF93YXZwYWNrX2RlY193dmNsaW5rKSwgKGdzdF93YXZwYWNrX2RlY19nZXRfdHlwZSksCgkgIChnc3Rfd2F2cGFja19kZWNfYmFzZV9pbml0KSwgKGdzdF93YXZwYWNrX2RlY19kaXNwb3NlKSwKCSAgKGdzdF93YXZwYWNrX2RlY19jbGFzc19pbml0KSwgKGdzdF93YXZwYWNrX2RlY19zcmNfcXVlcnkpLAoJICAoZ3N0X3dhdnBhY2tfZGVjX2luaXQpLCAoZ3N0X3dhdnBhY2tfZGVjX3NldHVwX2NvbnRleHQpLAoJICAoZ3N0X3dhdnBhY2tfZGVjX2Zvcm1hdF9zYW1wbGVzKSwgKGdzdF93YXZwYWNrX2RlY19sb29wKSwKCSAgKGdzdF93YXZwYWNrX2RlY19wbHVnaW5faW5pdCk6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2RlYy5oOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2twYXJzZS5jOiAoZ3N0X3dhdnBhY2tfcGFyc2VfZ2V0X3R5cGUpLAoJICAoZ3N0X3dhdnBhY2tfcGFyc2VfYmFzZV9pbml0KSwgKGdzdF93YXZwYWNrX3BhcnNlX2Rpc3Bvc2UpLAoJICAoZ3N0X3dhdnBhY2tfcGFyc2VfY2xhc3NfaW5pdCksIChnc3Rfd2F2cGFja19wYXJzZV9zcmNfcXVlcnkpLAoJICAoZ3N0X3dhdnBhY2tfcGFyc2Vfc3JjX2V2ZW50KSwgKGZpbmRfaGVhZGVyKSwgKGZpbmRfc2FtcGxlKSwKCSAgKGdzdF93YXZwYWNrX3BhcnNlX3NlZWspLCAoZ3N0X3dhdnBhY2tfcGFyc2VfaW5pdCksCgkgIChnc3Rfd2F2cGFja19wYXJzZV9oYW5kbGVfZXZlbnQpLCAoZ3N0X3dhdnBhY2tfcGFyc2VfbG9vcCksCgkgIChnc3Rfd2F2cGFja19wYXJzZV9jaGFuZ2Vfc3RhdGUpLCAoZ3N0X3dhdnBhY2tfcGFyc2VfcGx1Z2luX2luaXQpOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2twYXJzZS5oOgoJICBwdXQgYmFjayB3YXZwYWNrIC0gc3RpbGwgbmVlZHMgcG9ydGluZwoKMjAwNS0xMS0yNSAxODowMzoyNCArMDAwMCAgU2ViYXN0aWVuIENvdGUgPHNlYmFzNjQyQHlhaG9vLmNhPgoKCSAgZ3N0L3VkcC9nc3R1ZHBzcmMuYzogUGF0Y2ggZnJvbSBTZWJhc3RpZW4gQ290ZSB0byBjbG9zZSBjb250cm9sIHNvY2tldHMgaW4gdWRwc3JjLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvdWRwL2dzdHVkcHNyYy5jOiAoZ3N0X3VkcHNyY19zdG9wKToKCSAgUGF0Y2ggZnJvbSBTZWJhc3RpZW4gQ290ZSB0byBjbG9zZSBjb250cm9sIHNvY2tldHMgaW4gdWRwc3JjLgoKMjAwNS0xMS0yNCAxNTowNzowNiArMDAwMCAgSnVsaWVuIE1vdXR0ZSA8anVsaWVuQG1vdXR0ZS5uZXQ+CgoJICBnc3QvZWZmZWN0di9nc3RxdWFyay5jOiBGbHVzaCB0aGUgcGxhbmVzIGxpc3Qgb24gcmV2ZXJzZSBjYXBzIG5lZ290aWF0aW9uLiBUaGlzIHdhcyBjcmFzaGluZyBiZWNhdXNlIG9mIGRpZmZlcmVudGx5IHMuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDUtMTEtMjQgIEp1bGllbiBNT1VUVEUgIDxqdWxpZW5AbW91dHRlLm5ldD4KCSAgKiBnc3QvZWZmZWN0di9nc3RxdWFyay5jOiAoZ3N0X3F1YXJrdHZfc2V0X2NhcHMpLAoJICAoZ3N0X3F1YXJrdHZfZ2V0X3VuaXRfc2l6ZSksIChnc3RfcXVhcmt0dl90cmFuc2Zvcm0pLAoJICAoZ3N0X3F1YXJrdHZfcGxhbmV0YWJsZV9jbGVhciksIChnc3RfcXVhcmt0dl9jaGFuZ2Vfc3RhdGUpLAoJICAoZ3N0X3F1YXJrdHZfYmFzZV9pbml0KSwgKGdzdF9xdWFya3R2X2NsYXNzX2luaXQpLAoJICAoZ3N0X3F1YXJrdHZfaW5pdCk6IEZsdXNoIHRoZSBwbGFuZXMgbGlzdCBvbiByZXZlcnNlIGNhcHMKCSAgbmVnb3RpYXRpb24uIFRoaXMgd2FzIGNyYXNoaW5nIGJlY2F1c2Ugb2YgZGlmZmVyZW50bHkgc2l6ZWQKCSAgYnVmZmVycy4KCjIwMDUtMTEtMjQgMTI6NTA6MjggKzAwMDAgIEp1bGllbiBNb3V0dGUgPGp1bGllbkBtb3V0dGUubmV0PgoKCSAgZ3N0LzogSGFuZGxlIHN0cmlkZXMgY29ycmVjdGx5LCBmaXggaWRlbnRpdHkgZmxpcHBpbmcsIGNvbnZlcnQgbmF2aWdhdGlvbiBldmVudCBjb3JyZWN0bHkgYWdhaW4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA1LTExLTI0ICBKdWxpZW4gTU9VVFRFICA8anVsaWVuQG1vdXR0ZS5uZXQ+CgkgICogZ3N0L2RlYnVnL2dzdG5hdmlnYXRpb250ZXN0LmM6IChkcmF3X2JveF9wbGFuYXI0MTEpOgoJICAqIGdzdC92aWRlb2ZpbHRlci9nc3R2aWRlb2ZsaXAuYzoKCSAgKGdzdF92aWRlb2ZsaXBfbWV0aG9kX2dldF90eXBlKSwKCSAgKGdzdF92aWRlb2ZsaXBfc2V0X2NhcHMpLCAoZ3N0X3ZpZGVvZmxpcF90cmFuc2Zvcm1fY2FwcyksCgkgIChnc3RfdmlkZW9mbGlwX2dldF91bml0X3NpemUpLCAoZ3N0X3ZpZGVvZmxpcF9mbGlwKSwKCSAgKGdzdF92aWRlb2ZsaXBfdHJhbnNmb3JtKSwgKGdzdF92aWRlb2ZsaXBfaGFuZGxlX3NyY19ldmVudCksCgkgIChnc3RfdmlkZW9mbGlwX3NldF9wcm9wZXJ0eSksIChnc3RfdmlkZW9mbGlwX2Jhc2VfaW5pdCksCgkgIChnc3RfdmlkZW9mbGlwX2NsYXNzX2luaXQpLCAoZ3N0X3ZpZGVvZmxpcF9pbml0KTogSGFuZGxlIHN0cmlkZXMKCSAgY29ycmVjdGx5LCBmaXggaWRlbnRpdHkgZmxpcHBpbmcsIGNvbnZlcnQgbmF2aWdhdGlvbiBldmVudAoJICBjb3JyZWN0bHkgYWdhaW4uCgoyMDA1LTExLTI0IDExOjE2OjUzICswMDAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAeGlwaC5vcmc+CgoJKiBSRUFETUU6CgkgIEZpeCAjMzIwMjg4OiB3cm9uZyByZWFkbWUgaW4gcGx1Z2lucy1nb29kCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBGaXggIzMyMDI4ODogd3JvbmcgcmVhZG1lIGluIHBsdWdpbnMtZ29vZAoKMjAwNS0xMS0yNCAxMTowNjoyOSArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBNYWtlZmlsZS5hbToKCSAgZml4IHRvcnR1cmUgdGFyZ2V0CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBmaXggdG9ydHVyZSB0YXJnZXQKCjIwMDUtMTEtMjMgMjE6MjU6NTYgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogTWFrZWZpbGUuYW06CgkgIGFkZCBhIHRvcnR1cmUgdGFyZ2V0CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBhZGQgYSB0b3J0dXJlIHRhcmdldAoKMjAwNS0xMS0yMyAyMDowNToyNiArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBDaGFuZ2VMb2c6CgkqIGNvbmZpZ3VyZS5hYzoKCSAgYmFjayB0byBIRUFECgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBiYWNrIHRvIEhFQUQKCj09PSByZWxlYXNlIDAuOS42ID09PQoKMjAwNS0xMS0yMyAxOTo1Nzo0OSArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcXRkZW11eC54bWw6CgkgIHJlbGVhc2luZyAwLjkuNgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgcmVsZWFzaW5nIDAuOS42CgoyMDA1LTExLTIzIDE5OjU2OjMxICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIENoYW5nZUxvZzoKCSogTkVXUzoKCSogUkVMRUFTRToKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tMTM5NC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxhdy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHBoYWNvbG9yLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2RldGVjdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWNhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWlyby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmVuY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZmZWN0di54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lc2RzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx4ZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdjb25mZWxlbWVudHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxldmVsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1hdHJvc2thLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5hdmlnYXRpb250ZXN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zc2F1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBuZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRzcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaG91dDJzZW5kLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNtcHRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXVkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2JveC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2ZsaXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9taXhlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFyc2UueG1sOgoJICByZWxlYXNpbmcgMC45LjYKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHJlbGVhc2luZyAwLjkuNgoKMjAwNS0xMS0yMyAxOToxNDowNyArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY3V0dGVyLnhtbDoKCSAgYWRkaW5nIGN1dHRlcgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgYWRkaW5nIGN1dHRlcgoKMjAwNS0xMS0yMyAxOTowNToyOSArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBwby9hZi5wbzoKCSogcG8vYXoucG86CgkqIHBvL2NzLnBvOgoJKiBwby9lbl9HQi5wbzoKCSogcG8vaHUucG86CgkqIHBvL2l0LnBvOgoJKiBwby9uYi5wbzoKCSogcG8vbmwucG86CgkqIHBvL29yLnBvOgoJKiBwby9zcS5wbzoKCSogcG8vc3IucG86CgkqIHBvL3N2LnBvOgoJKiBwby91ay5wbzoKCSogcG8vdmkucG86CgkgIFVwZGF0ZSAucG8gZmlsZXMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFVwZGF0ZSAucG8gZmlsZXMKCjIwMDUtMTEtMjMgMTY6NDk6MTYgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgZ3N0L2RlYnVnL2dzdG5hdmlnYXRpb250ZXN0LmM6IE9vcHMsIGluaXRpYWxpc2UgdGhlIGZyYW1lcmF0ZSBHVmFsdWUKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2RlYnVnL2dzdG5hdmlnYXRpb250ZXN0LmM6IChnc3RfbmF2aWdhdGlvbnRlc3RfaW5pdCk6CgkgIE9vcHMsIGluaXRpYWxpc2UgdGhlIGZyYW1lcmF0ZSBHVmFsdWUKCjIwMDUtMTEtMjMgMTU6NTA6NTEgKzAwMDAgIEp1bGllbiBNb3V0dGUgPGp1bGllbkBtb3V0dGUubmV0PgoKCSAgVmlkZW9GaWx0ZXIgaW5oZXJpdHMgZnJvbQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNS0xMS0yMyAgSnVsaWVuIE1PVVRURSAgPGp1bGllbkBtb3V0dGUubmV0PgoJICAqIGV4dC9jYWlyby9nc3R0aW1lb3ZlcmxheS5jOgoJICAoZ3N0X3RpbWVvdmVybGF5X3VwZGF0ZV9mb250X2hlaWdodCksCgkgIChnc3RfdGltZW92ZXJsYXlfc2V0X2NhcHMpLCAoZ3N0X3RpbWVvdmVybGF5X2dldF91bml0X3NpemUpLAoJICAoZ3N0X3RpbWVvdmVybGF5X3RyYW5zZm9ybSksIChnc3RfdGltZW92ZXJsYXlfYmFzZV9pbml0KSwKCSAgKGdzdF90aW1lb3ZlcmxheV9jbGFzc19pbml0KSwgKGdzdF90aW1lb3ZlcmxheV9pbml0KSwKCSAgKGdzdF90aW1lb3ZlcmxheV9nZXRfdHlwZSk6CgkgICogZXh0L2NhaXJvL2dzdHRpbWVvdmVybGF5Lmg6CgkgICogZ3N0L2RlYnVnL01ha2VmaWxlLmFtOgoJICAqIGdzdC9kZWJ1Zy9nc3RuYXZpZ2F0aW9udGVzdC5jOgoJICAoZ3N0X25hdmlnYXRpb250ZXN0X2hhbmRsZV9zcmNfZXZlbnQpLAoJICAoZ3N0X25hdmlnYXRpb250ZXN0X2dldF91bml0X3NpemUpLAoJICAoZ3N0X25hdmlnYXRpb250ZXN0X3NldF9jYXBzKSwKCSAgKGdzdF9uYXZpZ2F0aW9udGVzdF90cmFuc2Zvcm0pLAoJICAoZ3N0X25hdmlnYXRpb250ZXN0X2NoYW5nZV9zdGF0ZSksCgkgIChnc3RfbmF2aWdhdGlvbnRlc3RfYmFzZV9pbml0KSwgKGdzdF9uYXZpZ2F0aW9udGVzdF9jbGFzc19pbml0KSwKCSAgKGdzdF9uYXZpZ2F0aW9udGVzdF9pbml0KSwgKGdzdF9uYXZpZ2F0aW9udGVzdF9nZXRfdHlwZSksCgkgIChwbHVnaW5faW5pdCk6CgkgICogZ3N0L2RlYnVnL2dzdG5hdmlnYXRpb250ZXN0Lmg6CgkgICogZ3N0L2VmZmVjdHYvTWFrZWZpbGUuYW06CgkgICogZ3N0L2VmZmVjdHYvZ3N0YWdpbmcuYzogKGdzdF9hZ2luZ3R2X3NldF9jYXBzKSwKCSAgKGdzdF9hZ2luZ3R2X2dldF91bml0X3NpemUpLCAoZ3N0X2FnaW5ndHZfdHJhbnNmb3JtKSwKCSAgKGdzdF9hZ2luZ3R2X2Jhc2VfaW5pdCksIChnc3RfYWdpbmd0dl9jbGFzc19pbml0KSwKCSAgKGdzdF9hZ2luZ3R2X2luaXQpLCAoZ3N0X2FnaW5ndHZfZ2V0X3R5cGUpOgoJICAqIGdzdC9lZmZlY3R2L2dzdGRpY2UuYzogKGdzdF9kaWNldHZfc2V0X2NhcHMpLAoJICAoZ3N0X2RpY2V0dl9nZXRfdW5pdF9zaXplKSwgKGdzdF9kaWNldHZfdHJhbnNmb3JtKSwKCSAgKGdzdF9kaWNldHZfYmFzZV9pbml0KSwgKGdzdF9kaWNldHZfY2xhc3NfaW5pdCksCgkgIChnc3RfZGljZXR2X2luaXQpLAoJICAoZ3N0X2RpY2V0dl9nZXRfdHlwZSk6CgkgICogZ3N0L2VmZmVjdHYvZ3N0ZWRnZS5jOiAoZ3N0X2VkZ2V0dl9zZXRfY2FwcyksCgkgIChnc3RfZWRnZXR2X2dldF91bml0X3NpemUpLCAoZ3N0X2VkZ2V0dl90cmFuc2Zvcm0pLAoJICAoZ3N0X2VkZ2V0dl9iYXNlX2luaXQpLCAoZ3N0X2VkZ2V0dl9jbGFzc19pbml0KSwKCSAgKGdzdF9lZGdldHZfaW5pdCksCgkgIChnc3RfZWRnZXR2X2dldF90eXBlKToKCSAgKiBnc3QvZWZmZWN0di9nc3RlZmZlY3R2LmM6CgkgICogZ3N0L2VmZmVjdHYvZ3N0ZWZmZWN0di5oOgoJICAqIGdzdC9lZmZlY3R2L2dzdHF1YXJrLmM6IChnc3RfcXVhcmt0dl9zZXRfY2FwcyksCgkgIChnc3RfcXVhcmt0dl9nZXRfdW5pdF9zaXplKSwgKGZhc3RyYW5kKSwKCSAgKGdzdF9xdWFya3R2X3RyYW5zZm9ybSksCgkgIChnc3RfcXVhcmt0dl9jaGFuZ2Vfc3RhdGUpLCAoZ3N0X3F1YXJrdHZfYmFzZV9pbml0KSwKCSAgKGdzdF9xdWFya3R2X2NsYXNzX2luaXQpLCAoZ3N0X3F1YXJrdHZfaW5pdCksCgkgIChnc3RfcXVhcmt0dl9nZXRfdHlwZSk6CgkgICogZ3N0L2VmZmVjdHYvZ3N0cmV2LmM6IChnc3RfcmV2dHZfc2V0X2NhcHMpLAoJICAoZ3N0X3JldnR2X2dldF91bml0X3NpemUpLCAoZ3N0X3JldnR2X3RyYW5zZm9ybSksCgkgIChnc3RfcmV2dHZfYmFzZV9pbml0KSwgKGdzdF9yZXZ0dl9jbGFzc19pbml0KSwgKGdzdF9yZXZ0dl9pbml0KSwKCSAgKGdzdF9yZXZ0dl9nZXRfdHlwZSk6CgkgICogZ3N0L2VmZmVjdHYvZ3N0c2hhZ2FkZWxpYy5jOiAoZ3N0X3NoYWdhZGVsaWN0dl9zZXRfY2FwcyksCgkgIChnc3Rfc2hhZ2FkZWxpY3R2X2dldF91bml0X3NpemUpLCAoZ3N0X3NoYWdhZGVsaWN0dl90cmFuc2Zvcm0pLAoJICAoZ3N0X3NoYWdhZGVsaWN0dl9iYXNlX2luaXQpLCAoZ3N0X3NoYWdhZGVsaWN0dl9jbGFzc19pbml0KSwKCSAgKGdzdF9zaGFnYWRlbGljdHZfaW5pdCksIChnc3Rfc2hhZ2FkZWxpY3R2X2dldF90eXBlKToKCSAgKiBnc3QvZWZmZWN0di9nc3R2ZXJ0aWdvLmM6IChnc3RfdmVydGlnb3R2X3NldF9jYXBzKSwKCSAgKGdzdF92ZXJ0aWdvdHZfZ2V0X3VuaXRfc2l6ZSksIChnc3RfdmVydGlnb3R2X3RyYW5zZm9ybSksCgkgIChnc3RfdmVydGlnb3R2X2Jhc2VfaW5pdCksIChnc3RfdmVydGlnb3R2X2NsYXNzX2luaXQpLAoJICAoZ3N0X3ZlcnRpZ290dl9pbml0KSwgKGdzdF92ZXJ0aWdvdHZfZ2V0X3R5cGUpOgoJICAqIGdzdC9lZmZlY3R2L2dzdHdhcnAuYzogKGdzdF93YXJwdHZfc2V0X2NhcHMpLAoJICAoZ3N0X3dhcnB0dl9nZXRfdW5pdF9zaXplKSwgKGdzdF93YXJwdHZfdHJhbnNmb3JtKSwKCSAgKGdzdF93YXJwdHZfYmFzZV9pbml0KSwgKGdzdF93YXJwdHZfY2xhc3NfaW5pdCksCgkgIChnc3Rfd2FycHR2X2luaXQpLAoJICAoZ3N0X3dhcnB0dl9nZXRfdHlwZSk6CgkgICogZ3N0L3ZpZGVvZmlsdGVyL01ha2VmaWxlLmFtOgoJICAqIGdzdC92aWRlb2ZpbHRlci9nc3R2aWRlb2JhbGFuY2UuYzoKCSAgKiBnc3QvdmlkZW9maWx0ZXIvZ3N0dmlkZW9iYWxhbmNlLmg6CgkgICogZ3N0L3ZpZGVvZmlsdGVyL2dzdHZpZGVvZmlsdGVyLmM6IChnc3RfdmlkZW9maWx0ZXJfZ2V0X3R5cGUpLAoJICAoZ3N0X3ZpZGVvZmlsdGVyX2NsYXNzX2luaXQpLCAoZ3N0X3ZpZGVvZmlsdGVyX2luaXQpOgoJICAqIGdzdC92aWRlb2ZpbHRlci9nc3R2aWRlb2ZpbHRlci5oOgoJICAqIGdzdC92aWRlb2ZpbHRlci9nc3R2aWRlb2ZsaXAuYzogKGdzdF92aWRlb2ZsaXBfc2V0X2NhcHMpLAoJICAoZ3N0X3ZpZGVvZmxpcF90cmFuc2Zvcm1fY2FwcyksIChnc3RfdmlkZW9mbGlwX2dldF91bml0X3NpemUpLAoJICAoZ3N0X3ZpZGVvZmxpcF9mbGlwKSwgKGdzdF92aWRlb2ZsaXBfdHJhbnNmb3JtKSwKCSAgKGdzdF92aWRlb2ZsaXBfaGFuZGxlX3NyY19ldmVudCksIChnc3RfdmlkZW9mbGlwX3NldF9wcm9wZXJ0eSksCgkgIChnc3RfdmlkZW9mbGlwX2Jhc2VfaW5pdCksIChnc3RfdmlkZW9mbGlwX2NsYXNzX2luaXQpLAoJICAoZ3N0X3ZpZGVvZmxpcF9pbml0KSwgKHBsdWdpbl9pbml0KSwgKGdzdF92aWRlb2ZsaXBfZ2V0X3R5cGUpOgoJICAqIGdzdC92aWRlb2ZpbHRlci9nc3R2aWRlb2ZsaXAuaDogVmlkZW9GaWx0ZXIgaW5oZXJpdHMgZnJvbQoJICBCYXNlVHJhbnNmb3JtLCBpdCdzIGp1c3QgYSBwbGFjZSBob2xkZXIgZm9yIG5vdyBhbmQgZXZlcnkgdmlkZW8KCSAgZWZmZWN0IHBsdWdpbiBoYXMgYmVlbiBwb3J0ZWQgdG8gdXNlIEJhc2VUcmFuc2Zvcm0gZmVhdHVyZXMKCSAgZGlyZWN0bHkuIFF1YXJrVFYgd2FzIGZpeGVkIHRvbyAod2FzIGJyb2tlbiksIG5hdmlnYXRpb250ZXN0CgkgIHdvcmtzCgkgIGFuZCBiZXN0IGZvciB0aGUgZW5kLCB2aWRlb2ZsaXAgY29udmVydHMgbmF2aWdhdGlvbiBldmVudHMKCSAgZGVwZW5kaW5nCgkgIG9uIGZsaXAgbWV0aG9kICEgRml4ZXMgIzMyMDk1MwoKMjAwNS0xMS0yMyAxNDoyMjoxOCArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBGaXhlcyBmb3IgQVBJIGNoYW5nZXMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2FhbGliL2dzdGFhc2luay5jOiAoZ3N0X2Fhc2lua19maXhhdGUpOgoJICAqIGV4dC9jYWlyby9nc3R0ZXh0b3ZlcmxheS5jOiAoZ3N0X3RleHRfb3ZlcmxheV9jb2xsZWN0ZWQpOgoJICAqIGdzdC9nb29tL2dzdGdvb20uYzogKGdzdF9nb29tX2luaXQpLCAoZ3N0X2dvb21fc3JjX3NldGNhcHMpLAoJICAoZ3N0X2dvb21fc3JjX25lZ290aWF0ZSksIChnc3RfZ29vbV9jaGFpbik6CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJICAoZ3N0X21hdHJvc2thX211eF92aWRlb19wYWRfc2V0Y2Fwcyk6CgkgICogc3lzL29zeHZpZGVvL29zeHZpZGVvc2luay5tOgoJICBGaXhlcyBmb3IgQVBJIGNoYW5nZXMKCjIwMDUtMTEtMjMgMTI6MTk6MDYgKzAwMDAgIENocmlzdGlhbiBTY2hhbGxlciA8dXJhZXVzQGdub21lLm9yZz4KCgkqIGdzdC1wbHVnaW5zLWdvb2Quc3BlYy5pbjoKCSAgYWRkIGN1dHRlciB0byBzcGVjIGluCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBhZGQgY3V0dGVyIHRvIHNwZWMgaW4KCjIwMDUtMTEtMjMgMTE6NTc6NTEgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBDb252ZXJ0IHRvIGZyYWN0aW9uYWwgZnJhbWVyYXRlcwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChnc3RfcXRkZW11eF9sb29wX2hlYWRlciksCgkgIChnc3RfcXRkZW11eF9hZGRfc3RyZWFtKSwgKHF0ZGVtdXhfZHVtcF9tdmhkKSwKCSAgKHF0ZGVtdXhfcGFyc2VfdHJhayk6CgkgIENvbnZlcnQgdG8gZnJhY3Rpb25hbCBmcmFtZXJhdGVzCgoyMDA1LTExLTIyIDIzOjU4OjE0ICswMDAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAeGlwaC5vcmc+CgoJICBleHQvanBlZy86IEpQRUcgZnJhY3Rpb255IGdvb2RuZXNzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvanBlZy9nc3RqcGVnZGVjLmM6IChnc3RfanBlZ19kZWNfc2V0Y2FwcyksCgkgIChnc3RfanBlZ19kZWNfY2hhaW4pLCAoZ3N0X2pwZWdfZGVjX2NoYW5nZV9zdGF0ZSk6CgkgICogZXh0L2pwZWcvZ3N0anBlZ2RlYy5oOgoJICAqIGV4dC9qcGVnL2dzdGpwZWdlbmMuYzogKGdzdF9qcGVnZW5jX3NldGNhcHMpOgoJICAqIGV4dC9qcGVnL2dzdGpwZWdlbmMuaDoKCSAgKiBleHQvanBlZy9nc3RzbW9rZWVuYy5jOiAoZ3N0X3Ntb2tlZW5jX3NldGNhcHMpLAoJICAoZ3N0X3Ntb2tlZW5jX3Jlc3luYyk6CgkgICogZXh0L2pwZWcvZ3N0c21va2VlbmMuaDoKCSAgSlBFRyBmcmFjdGlvbnkgZ29vZG5lc3MuCgoyMDA1LTExLTIyIDIyOjM1OjU3ICswMDAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAeGlwaC5vcmc+CgoJKiBDaGFuZ2VMb2c6CgkqIGdzdC9nb29tL2ZpbHRlcnMuYzoKCSogZ3N0L2dvb20vZ3JhcGhpYy5oOgoJICBGaXggZm9yICMzMjE0MzA6IHVucmVzb2x2ZWQgc3ltYm9scyBkdWUgdG8gaW5jb3JyZWN0IGxpbmthZ2Ugb24gaW5saW5lIGZ1bmN0aW9ucyBpbiBnb29tLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgRml4IGZvciAjMzIxNDMwOiB1bnJlc29sdmVkIHN5bWJvbHMgZHVlIHRvIGluY29ycmVjdCBsaW5rYWdlIG9uIGlubGluZSBmdW5jdGlvbnMKCSAgaW4gZ29vbS4KCSAgRG9lcyBub3QsIGhvd2V2ZXIsIGZpeCB0aGUgZ2VuZXJhbCBjcmFja2hlYWRlZG5lc3Mgb2YgZ29vbSAoZ2xvYmFsIHZhcmlhYmxlcywKCSAgb2ggbXkhKTsgdGhpcyBzaG91bGQgYmUgbW92ZWQgdG8gLWJhZC4KCjIwMDUtMTEtMjIgMjI6MjE6MzcgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgTW9yZSBmcmFjdGlvbmFsIGZyYW1lcmF0ZSBjb252ZXJzaW9ucwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvY2Fpcm8vZ3N0dGV4dG92ZXJsYXkuYzogKGdzdF90ZXh0X292ZXJsYXlfaW5pdCksCgkgIChnc3RfdGV4dF9vdmVybGF5X3NldGNhcHMpLCAoZ3N0X3RleHRfb3ZlcmxheV9jb2xsZWN0ZWQpOgoJICAqIGV4dC9jYWlyby9nc3R0ZXh0b3ZlcmxheS5oOgoJICAqIGV4dC9nZGtfcGl4YnVmL2dzdGdka3BpeGJ1Zi5jOiAoZ3N0X2dka19waXhidWZfc2lua19saW5rKToKCSAgKiBleHQvZ2RrX3BpeGJ1Zi9nc3RnZGtwaXhidWYuaDoKCSAgKiBleHQvbGlicG5nL2dzdHBuZ2RlYy5jOiAoZ3N0X3BuZ2RlY19pbml0KSwKCSAgKGdzdF9wbmdkZWNfY2Fwc19jcmVhdGVfYW5kX3NldCk6CgkgICogZXh0L2xpYnBuZy9nc3RwbmdkZWMuaDoKCSAgKiBleHQvbGlicG5nL2dzdHBuZ2VuYy5jOiAoZ3N0X3BuZ2VuY19zZXRjYXBzKToKCSAgKiBnc3QvYWxwaGEvZ3N0YWxwaGFjb2xvci5jOiAoZ3N0X2FscGhhX2NvbG9yX3NldF9jYXBzKToKCSAgKiBnc3QvYXZpL2dzdGF2aW11eC5jOiAoZ3N0X2F2aW11eF9pbml0KSwKCSAgKGdzdF9hdmltdXhfdmlkc2lua2Nvbm5lY3QpOgoJICAqIGdzdC9mbHgvZ3N0Zmx4ZGVjLmM6IChnc3RfZmx4ZGVjX2NoYWluKToKCSAgKiBnc3QvZ29vbS9nc3Rnb29tLmM6IChnc3RfZ29vbV9pbml0KSwgKGdzdF9nb29tX3NyY19zZXRjYXBzKSwKCSAgKGdzdF9nb29tX3NyY19uZWdvdGlhdGUpLCAoZ3N0X2dvb21fY2hhaW4pOgoJICAqIGdzdC9nb29tL2dzdGdvb20uaDoKCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzogKGdzdF9tYXRyb3NrYV9kZW11eF92aWRlb19jYXBzKToKCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkgIChnc3RfbWF0cm9za2FfbXV4X3ZpZGVvX3BhZF9zZXRjYXBzKToKCSAgKiBzeXMvb3N4dmlkZW8vb3N4dmlkZW9zaW5rLmg6CgkgICogc3lzL29zeHZpZGVvL29zeHZpZGVvc2luay5tOgoJICBNb3JlIGZyYWN0aW9uYWwgZnJhbWVyYXRlIGNvbnZlcnNpb25zCgoyMDA1LTExLTIyIDIwOjA3OjQ3ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIENvbnZlcnQgdG8gZnJhY3Rpb25hbCBmcmFtZXJhdGVzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvYWFsaWIvZ3N0YWFzaW5rLmM6IChnc3RfYWFzaW5rX2ZpeGF0ZSk6CgkgICogZ3N0L2RlYnVnL2dzdG5hdmlnYXRpb250ZXN0LmM6CgkgIChnc3RfbmF2aWdhdGlvbnRlc3RfaGFuZGxlX3NyY19ldmVudCk6CgkgICogZ3N0L3ZpZGVvZmlsdGVyL2dzdHZpZGVvZmlsdGVyLmM6CgkgIChnc3RfdmlkZW9maWx0ZXJfZm9ybWF0X2dldF9zdHJ1Y3R1cmUpLCAoZ3N0X3ZpZGVvZmlsdGVyX3NldGNhcHMpLAoJICAoZ3N0X3ZpZGVvZmlsdGVyX2luaXQpOgoJICAqIGdzdC92aWRlb2ZpbHRlci9nc3R2aWRlb2ZpbHRlci5oOgoJICBDb252ZXJ0IHRvIGZyYWN0aW9uYWwgZnJhbWVyYXRlcy4KCjIwMDUtMTEtMjIgMTg6MTE6NTggKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogQ2hhbmdlTG9nOgoJKiBleHQvYWFsaWIvZ3N0YWFzaW5rLmM6CgkqIGV4dC9kdi9nc3RkdmRlYy5jOgoJKiBleHQvZXNkL2VzZG1vbi5jOgoJKiBleHQvZmxhYy9nc3RmbGFjZW5jLmM6CgkqIGV4dC9nZGtfcGl4YnVmL3BpeGJ1ZnNjYWxlLmM6CgkqIGV4dC9saWJjYWNhL2dzdGNhY2FzaW5rLmM6CgkqIGV4dC9zaG91dDIvZ3N0c2hvdXQyLmM6CgkqIGdzdC9hbHBoYS9nc3RhbHBoYS5jOgoJKiBnc3Qvb2xkY29yZS9nc3RhZ2dyZWdhdG9yLmM6CgkqIGdzdC9vbGRjb3JlL2dzdHNoYXBlci5jOgoJKiBnc3Qvc21wdGUvYmFyYm94d2lwZXMuYzoKCSogZ3N0L3NtcHRlL2dzdHNtcHRlLmM6CgkqIGdzdC92aWRlb2JveC9nc3R2aWRlb2JveC5jOgoJKiBnc3QvdmlkZW9maWx0ZXIvZ3N0dmlkZW9mbGlwLmM6CgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIuYzoKCSAgZml4IHVwIG1vcmUgZW51bXMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGZpeCB1cCBtb3JlIGVudW1zCgoyMDA1LTExLTIyIDE3OjM5OjExICswMDAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAeGlwaC5vcmc+CgoJICBnc3QvdmlkZW9taXhlci92aWRlb21peGVyLmM6IEZyYWN0aW9uYWwgZnJhbWVyYXRlcywgdmlkZW9taXhlci4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlci5jOiAoZ3N0X3ZpZGVvbWl4ZXJfcGFkX3Npbmtfc2V0Y2FwcyksCgkgIChnc3RfdmlkZW9taXhlcl9nZXRjYXBzKSwgKGdzdF92aWRlb21peGVyX2ZpbGxfcXVldWVzKSwKCSAgKGdzdF92aWRlb21peGVyX3VwZGF0ZV9xdWV1ZXMpOgoJICBGcmFjdGlvbmFsIGZyYW1lcmF0ZXMsIHZpZGVvbWl4ZXIuCgoyMDA1LTExLTIyIDE3OjA5OjM2ICswMDAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAeGlwaC5vcmc+CgoJICBleHQvZHYvOiBGcmFjdGlvbmFsIGZyYW1lcmF0ZXMgZm9yIERWLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZHYvZ3N0ZHZkZWMuYzogKGdzdF9kdmRlY19pbml0KSwgKGdzdF9kdmRlY19zaW5rX3NldGNhcHMpOgoJICAqIGV4dC9kdi9nc3RkdmRlYy5oOgoJICAqIGV4dC9kdi9nc3RkdmRlbXV4LmM6IChnc3RfZHZkZW11eF9pbml0KSwKCSAgKGdzdF9kdmRlbXV4X3NyY19jb252ZXJ0KSwgKGdzdF9kdmRlbXV4X3NpbmtfY29udmVydCksCgkgIChnc3RfZHZkZW11eF9kZW11eF92aWRlbyksIChnc3RfZHZkZW11eF9kZW11eF9mcmFtZSksCgkgIChnc3RfZHZkZW11eF9mbHVzaCk6CgkgICogZXh0L2R2L2dzdGR2ZGVtdXguaDoKCSAgRnJhY3Rpb25hbCBmcmFtZXJhdGVzIGZvciBEVi4KCjIwMDUtMTEtMjIgMTQ6NDQ6MjYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvYXV0b2RldGVjdC86IFVzZSBnc3RfcGx1Z2luX2ZlYXR1cmVfbGlzdF9mcmVlKCkgdG8gZnJlZSBmZWF0dXJlIGxpc3QgYW5kIGluIHRoZSBjYXNlIG9mIGF1dG92aWRlb3NpbmsgZnJlZSB0aGUgbGkuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b2F1ZGlvc2luay5jOgoJICAoZ3N0X2F1dG9fYXVkaW9fc2lua19maW5kX2Jlc3QpLCAoZ3N0X2F1dG9fYXVkaW9fc2lua19kZXRlY3QpOgoJICAqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG92aWRlb3NpbmsuYzoKCSAgKGdzdF9hdXRvX3ZpZGVvX3NpbmtfZmluZF9iZXN0KSwgKGdzdF9hdXRvX3ZpZGVvX3NpbmtfZGV0ZWN0KToKCSAgVXNlIGdzdF9wbHVnaW5fZmVhdHVyZV9saXN0X2ZyZWUoKSB0byBmcmVlIGZlYXR1cmUgbGlzdCBhbmQKCSAgaW4gdGhlIGNhc2Ugb2YgYXV0b3ZpZGVvc2luayBmcmVlIHRoZSBsaXN0IGF0IGFsbC4gQWxzbwoJICBtaXNjZWxsYW5lb3VzIGNvc21ldGljIGZpeGVzLgoKMjAwNS0xMS0yMiAxMzoxMzoyMSArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJICBnc3QvY3V0dGVyL2dzdGN1dHRlci5jOiBjb3B5IGNhbGN1bGF0aW9uIGNvZGUgZnJvbSBsZXZlbDsgcmVtb3ZlIHVzZSBvZiBzb21lIGF1ZGlvIGZ1bmN0aW9ucwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvY3V0dGVyL2dzdGN1dHRlci5jOiAoZ3N0X2N1dHRlcl9jaGFpbiksCgkgIChnc3RfY3V0dGVyX3NldF9wcm9wZXJ0eSksIChnc3RfY3V0dGVyX2dldF9jYXBzKToKCSAgY29weSBjYWxjdWxhdGlvbiBjb2RlIGZyb20gbGV2ZWw7IHJlbW92ZSB1c2Ugb2Ygc29tZSBhdWRpbwoJICBmdW5jdGlvbnMKCjIwMDUtMTEtMjIgMTM6MTE6MjUgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogZ3N0L2xldmVsL2dzdGxldmVsLmM6CgkgIHZhcmlvdXMgY29zbWV0aWMgZml4ZXMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHZhcmlvdXMgY29zbWV0aWMgZml4ZXMKCjIwMDUtMTEtMjIgMTI6NDg6MTAgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogZ3N0L2xldmVsL2dzdGxldmVsLmM6CgkgIHZhcmlvdXMgY29zbWV0aWMgZml4ZXMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHZhcmlvdXMgY29zbWV0aWMgZml4ZXMKCjIwMDUtMTEtMjIgMTI6NDE6MzUgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogZ3N0L2xldmVsL2dzdGxldmVsLmM6CgkgIHZhcmlvdXMgY29zbWV0aWMgZml4ZXMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHZhcmlvdXMgY29zbWV0aWMgZml4ZXMKCjIwMDUtMTEtMjIgMTI6Mzg6MzMgKzAwMDAgIEFuZHkgV2luZ28gPHdpbmdvQHBvYm94LmNvbT4KCgkqIENoYW5nZUxvZzoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2VuYy5jOgoJKiBleHQvZmxhYy9nc3RmbGFjdGFnLmM6CgkqIGV4dC9zaG91dDIvZ3N0c2hvdXQyLmM6CgkqIGV4dC9zcGVleC9nc3RzcGVleGVuYy5jOgoJKiBnc3QvYXZpL2dzdGF2aW11eC5jOgoJICBVcGRhdGUgZm9yIGdzdF90YWdfc2V0dGVyIEFQSSBjaGFuZ2VzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNS0xMS0yMiAgQW5keSBXaW5nbyAgPHdpbmdvQHBvYm94LmNvbT4KCSAgKiBVcGRhdGUgZm9yIGdzdF90YWdfc2V0dGVyIEFQSSBjaGFuZ2VzLgoKMjAwNS0xMS0yMiAxMTo1Nzo1MSArMDAwMCAgQW5keSBXaW5nbyA8d2luZ29AcG9ib3guY29tPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBleHQvZmFhZC9nc3RmYWFkLmMgKGdzdF9mYWFkX2V2ZW50KSBleHQvaXZvcmJpcy92b3JiaXNmaWxlLmMgKGdzdF9pdm9yYmlzZmlsZV9sb29wKSBnc3QvcXRkZW11eC9xdGRlbXV4LmMgKGdzdF9xdGRlbXUuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDUtMTEtMjIgIEFuZHkgV2luZ28gIDx3aW5nb0Bwb2JveC5jb20+CgkgICogZXh0L2ZhYWQvZ3N0ZmFhZC5jIChnc3RfZmFhZF9ldmVudCkKCSAgKiBleHQvaXZvcmJpcy92b3JiaXNmaWxlLmMgKGdzdF9pdm9yYmlzZmlsZV9sb29wKQoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYyAoZ3N0X3F0ZGVtdXhfbG9vcF9oZWFkZXIpCgkgICogZ3N0L3NwZWVkL2dzdHNwZWVkLmMgKHNwZWVkX3NpbmtfZXZlbnQpCgkgICogZ3N0L3R0YS9nc3R0dGFwYXJzZS5jIChnc3RfdHRhX3BhcnNlX3NyY19ldmVudCkKCSAgKGdzdF90dGFfcGFyc2VfcGFyc2VfaGVhZGVyKTogUnVuIHVwZGF0ZS1mdW5jbmFtZXMuCgoyMDA1LTExLTIyIDExOjUzOjM0ICswMDAwICBBbmR5IFdpbmdvIDx3aW5nb0Bwb2JveC5jb20+CgoJKiBDaGFuZ2VMb2c6CgkqIGV4dC9kdi9nc3RkdmRlbXV4LmM6CgkqIGV4dC9mbGFjL2dzdGZsYWNkZWMuYzoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2VuYy5jOgoJKiBleHQvZ2NvbmYvZ3N0Z2NvbmZhdWRpb3NpbmsuYzoKCSogZXh0L2djb25mL2dzdGdjb25mdmlkZW9zaW5rLmM6CgkqIGV4dC9saWJwbmcvZ3N0cG5nZGVjLmM6CgkqIGV4dC9zcGVleC9nc3RzcGVleGRlYy5jOgoJKiBnc3QvYXVwYXJzZS9nc3RhdXBhcnNlLmM6CgkqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG9hdWRpb3NpbmsuYzoKCSogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b3ZpZGVvc2luay5jOgoJKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6CgkqIGdzdC9nb29tL2dzdGdvb20uYzoKCSogZ3N0L21hdHJvc2thL2VibWwtd3JpdGUuYzoKCSogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkqIGdzdC93YXZlbmMvZ3N0d2F2ZW5jLmM6CgkqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOgoJICBleHQvZHYvZ3N0ZHZkZW11eC5jIChnc3RfZHZkZW11eF9oYW5kbGVfc2lua19ldmVudCkgKGdzdF9kdmRlbXV4X2RlbXV4X2ZyYW1lKSBleHQvZmxhYy9nc3RmbGFjZGVjLmMgKGdzdF9mbGFjZGVjX3dyaXQuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDUtMTEtMjIgIEFuZHkgV2luZ28gIDx3aW5nb0Bwb2JveC5jb20+CgkgICogZXh0L2R2L2dzdGR2ZGVtdXguYyAoZ3N0X2R2ZGVtdXhfaGFuZGxlX3NpbmtfZXZlbnQpCgkgIChnc3RfZHZkZW11eF9kZW11eF9mcmFtZSkKCSAgKiBleHQvZmxhYy9nc3RmbGFjZGVjLmMgKGdzdF9mbGFjZGVjX3dyaXRlKQoJICAqIGV4dC9mbGFjL2dzdGZsYWNlbmMuYyAoZ3N0X2ZsYWNlbmNfc2Vla19jYWxsYmFjaykKCSAgKGdzdF9mbGFjZW5jX3NpbmtfZXZlbnQpCgkgICogZXh0L2djb25mL2dzdGdjb25mYXVkaW9zaW5rLmMgKGdzdF9nY29uZl9hdWRpb19zaW5rX2luaXQpCgkgICogZXh0L2djb25mL2dzdGdjb25mdmlkZW9zaW5rLmMgKGdzdF9nY29uZl92aWRlb19zaW5rX2luaXQpCgkgICogZXh0L2xpYnBuZy9nc3RwbmdkZWMuYyAoZ3N0X3BuZ2RlY19jYXBzX2NyZWF0ZV9hbmRfc2V0KQoJICAqIGV4dC9zcGVleC9nc3RzcGVleGRlYy5jIChzcGVleF9kZWNfZXZlbnQsIHNwZWV4X2RlY19jaGFpbikKCSAgKiBnc3QvYXVwYXJzZS9nc3RhdXBhcnNlLmMgKGdzdF9hdXBhcnNlX2NoYWluKQoJICAqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG9hdWRpb3NpbmsuYyAoZ3N0X2F1dG9fYXVkaW9fc2lua19pbml0KQoJICAqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG92aWRlb3NpbmsuYyAoZ3N0X2F1dG9fdmlkZW9fc2lua19pbml0KQoJICAqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYyAoZ3N0X2F2aV9kZW11eF9zdHJlYW1faGVhZGVyKQoJICAoZ3N0X2F2aV9kZW11eF9oYW5kbGVfc2VlaykKCSAgKiBnc3QvZ29vbS9nc3Rnb29tLmMgKGdzdF9nb29tX2V2ZW50KQoJICAqIGdzdC9tYXRyb3NrYS9lYm1sLXdyaXRlLmMgKGdzdF9lYm1sX3dyaXRlX3NlZWspCgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmMKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9oYW5kbGVfc2Vla19ldmVudCkKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9sb29wX3N0cmVhbV9wYXJzZV9pZCkKCSAgKiBnc3Qvd2F2ZW5jL2dzdHdhdmVuYy5jIChnc3Rfd2F2ZW5jX3N0b3BfZmlsZSkKCSAgKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYyAoZ3N0X3dhdnBhcnNlX2hhbmRsZV9zZWVrKQoJICAoZ3N0X3dhdnBhcnNlX3N0cmVhbV9oZWFkZXJzKTogUnVuIHVwZGF0ZS1mdW5jbmFtZXMuCgoyMDA1LTExLTIyIDExOjQ5OjMwICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgVVJJSGFuZGxlciBpbnRlcmZhY2UgYW5kIGVsZW1lbnQgcHJvcGVydGllcyBhcmUgbm93IHByb3Blcmx5IHN5bmNocm9uaXplZCBmb3IgRFYxMzk0c3JjIGFuZCBVRFBTcmMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3JhdzEzOTQvZ3N0ZHYxMzk0c3JjLmM6IChnc3RfZHYxMzk0c3JjX2NsYXNzX2luaXQpLAoJICAoZ3N0X2R2MTM5NHNyY19pbml0KSwgKGdzdF9kdjEzOTRzcmNfZGlzcG9zZSksCgkgIChnc3RfZHYxMzk0c3JjX3NldF9wcm9wZXJ0eSksIChnc3RfZHYxMzk0c3JjX2Rpc2NvdmVyX2F2Y19ub2RlKSwKCSAgKGdzdF9kdjEzOTRzcmNfdXJpX3NldF91cmkpOgoJICAqIGdzdC91ZHAvZ3N0dWRwc3JjLmM6IChnc3RfdWRwc3JjX2NsYXNzX2luaXQpLAoJICAoZ3N0X3VkcHNyY191cGRhdGVfdXJpKSwgKGdzdF91ZHBzcmNfc2V0X3VyaSksCgkgIChnc3RfdWRwc3JjX3NldF9wcm9wZXJ0eSksIChnc3RfdWRwc3JjX3VyaV9nZXRfdXJpKToKCSAgVVJJSGFuZGxlciBpbnRlcmZhY2UgYW5kIGVsZW1lbnQgcHJvcGVydGllcyBhcmUgbm93IHByb3Blcmx5CgkgIHN5bmNocm9uaXplZCBmb3IgRFYxMzk0c3JjIGFuZCBVRFBTcmMKCjIwMDUtMTEtMjIgMTE6MzY6MDQgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvOiBsaWJnc3R0YWdlZGl0IGhhcyBiZWVuIHJlbmFtZWQgdG8gbGliZ3N0dGFnLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZmxhYy9NYWtlZmlsZS5hbToKCSAgKiBleHQvc3BlZXgvTWFrZWZpbGUuYW06CgkgIGxpYmdzdHRhZ2VkaXQgaGFzIGJlZW4gcmVuYW1lZCB0byBsaWJnc3R0YWcuCgoyMDA1LTExLTIxIDIwOjExOjU5ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0c3AvcnRzcGNvbm5lY3Rpb24uYzogQXBwbHkgcGF0Y2ggZnJvbSBTZWJhc3RpZW4gQ290ZSB0byBmaXggIzMxOTE4NC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0c3AvcnRzcGNvbm5lY3Rpb24uYzogKHJlYWRfYm9keSk6CgkgIEFwcGx5IHBhdGNoIGZyb20gU2ViYXN0aWVuIENvdGUgdG8gZml4ICMzMTkxODQuCgoyMDA1LTExLTIxIDE5OjUwOjI1ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkgIHBvcnQgY3V0dGVyCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBnc3QvY3V0dGVyL01ha2VmaWxlLmFtOgoJICAqIGdzdC9jdXR0ZXIvZ3N0Y3V0dGVyLmM6IChnc3RfY3V0dGVyX2NsYXNzX2luaXQpLAoJICAoZ3N0X2N1dHRlcl9pbml0KSwgKGdzdF9jdXR0ZXJfbWVzc2FnZV9uZXcpLCAoZ3N0X2N1dHRlcl9jaGFpbiksCgkgIChnc3RfY3V0dGVyX3NldF9wcm9wZXJ0eSksIChnc3RfY3V0dGVyX2dldF9wcm9wZXJ0eSksCgkgIChwbHVnaW5faW5pdCksIChnc3RfY3V0dGVyX2dldF9jYXBzKToKCSAgcG9ydCBjdXR0ZXIKCSAgKiBnc3QvbGV2ZWwvZ3N0bGV2ZWwuYzoKCSAgZml4IHVwIHBsdWdpbiBkZXRhaWxzCgoyMDA1LTExLTIxIDE4OjA5OjAyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgVXBkYXRlIGZvciBzdHJlYW0gbG9jayBBUEkgY2hhbmdlczogZG9uJ3QgdGFrZSBzdHJlYW0gbG9nIGluIHNpbmsgZXZlbnQgaGFuZGxlcnMgYW55IGxvbmdlciBhbmQgY2hhbmdlIEdTVF9TVFJFQU1fTE9DLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9kdi9nc3RkdmRlbXV4LmM6IChnc3RfZHZkZW11eF9oYW5kbGVfc2lua19ldmVudCk6CgkgICogZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5jOiAoZ3N0X2ZsYWNkZWNfbG9vcCksCgkgIChnc3RfZmxhY2RlY19zcmNfZXZlbnQpOgoJICAqIGV4dC9mbGFjL2dzdGZsYWNlbmMuYzogKGdzdF9mbGFjZW5jX3NpbmtfZXZlbnQpOgoJICAqIGV4dC9sYWRzcGEvZ3N0c2lnbmFscHJvY2Vzc29yLmM6IChnc3Rfc2lnbmFsX3Byb2Nlc3Nvcl9ldmVudCksCgkgIChnc3Rfc2lnbmFsX3Byb2Nlc3Nvcl9nZXRyYW5nZSksIChnc3Rfc2lnbmFsX3Byb2Nlc3Nvcl9jaGFpbik6CgkgICogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOiAoZ3N0X2F2aV9kZW11eF9oYW5kbGVfc2Vlayk6CgkgICogZ3N0L2ZseC9nc3RmbHhkZWMuYzogKGdzdF9mbHhkZWNfc3JjX2V2ZW50X2hhbmRsZXIpLAoJICAoZ3N0X2ZseGRlY19zaW5rX2V2ZW50X2hhbmRsZXIpOgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICAoZ3N0X21hdHJvc2thX2RlbXV4X2hhbmRsZV9zZWVrX2V2ZW50KToKCSAgKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzogKGdzdF93YXZwYXJzZV9oYW5kbGVfc2Vlayk6CgkgIFVwZGF0ZSBmb3Igc3RyZWFtIGxvY2sgQVBJIGNoYW5nZXM6IGRvbid0IHRha2Ugc3RyZWFtIGxvZwoJICBpbiBzaW5rIGV2ZW50IGhhbmRsZXJzIGFueSBsb25nZXIgYW5kIGNoYW5nZSBHU1RfU1RSRUFNX0xPQ0sKCSAgdG8gR1NUX1BBRF9TVFJFQU1fTE9DSy4gRG9uJ3QgbGVhayByZWZlcmVuY2VzIGluIGZseGRlYyBldmVudAoJICBmdW5jdGlvbnMuCgoyMDA1LTExLTIxIDE3OjUyOjE1ICswMDAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAeGlwaC5vcmc+CgoJKiBnc3QvYXVwYXJzZS9NYWtlZmlsZS5hbToKCSogZ3N0L2F1cGFyc2UvZ3N0YXVwYXJzZS5oOgoJICBGb3Jnb3QgdG8gY29tbWl0IGhlYWRlciBmaWxlIGNoYW5nZXMsIE1ha2VmaWxlLmFtIGNoYW5nZXMuIE9vcHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBGb3Jnb3QgdG8gY29tbWl0IGhlYWRlciBmaWxlIGNoYW5nZXMsIE1ha2VmaWxlLmFtIGNoYW5nZXMuIE9vcHMuCgoyMDA1LTExLTIxIDE3OjQ5OjIxICswMDAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAeGlwaC5vcmc+CgoJKiBDaGFuZ2VMb2c6CgkqIGdzdC9hdXBhcnNlL2dzdGF1cGFyc2UuYzoKCSAgZ3N0X29iamVjdF91bnJlZiwgbm90IGdfb2JqZWN0X3VucmVmCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBnc3Rfb2JqZWN0X3VucmVmLCBub3QgZ19vYmplY3RfdW5yZWYKCjIwMDUtMTEtMjEgMTc6Mzc6NDEgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBGaXggZm9yIHN0cmVhbSBsb2NrIHVwZGF0ZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9mYWFjL2dzdGZhYWMuYzogKGdzdF9mYWFjX3NpbmtfZXZlbnQpOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKGdzdF9xdGRlbXV4X2hhbmRsZV9zcmNfZXZlbnQpOgoJICAqIGdzdC90dGEvZ3N0dHRhcGFyc2UuYzogKGdzdF90dGFfcGFyc2Vfc3JjX2V2ZW50KToKCSAgRml4IGZvciBzdHJlYW0gbG9jayB1cGRhdGVzLgoKMjAwNS0xMS0yMSAxNzoyMzo0NiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOiBVc2UgR1NUX0RFQlVHX0ZVTkNQVFI7IGFkZCBkZWJ1ZyBtZXNzYWdlIGluIHBhZCBhY3RpdmF0ZSBmdW5jdGlvbi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6IChnc3Rfd2F2cGFyc2VfaW5pdCksCgkgIChnc3Rfd2F2cGFyc2VfY3JlYXRlX3NvdXJjZXBhZCksIChnc3Rfd2F2cGFyc2Vfc2lua19hY3RpdmF0ZSk6CgkgIFVzZSBHU1RfREVCVUdfRlVOQ1BUUjsgYWRkIGRlYnVnIG1lc3NhZ2UgaW4gcGFkIGFjdGl2YXRlIGZ1bmN0aW9uLgoKMjAwNS0xMS0yMSAxNzoxODowMSArMDAwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHhpcGgub3JnPgoKCSAgZ3N0L2F1cGFyc2UvOiBQYXJ0aWFsbHkgZml4ICMxNjE3MTIuIHBsYXliaW4gc3RpbGwgZG9lc24ndCB3b3JrIG9uIHRoZXNlIGZpbGVzLCAob24gdGhlIGJ1ZyByZXBvcnQsIEFuZHkgc2F5cyB3ZSBhcmVuLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdXBhcnNlL01ha2VmaWxlLmFtOgoJICAqIGdzdC9hdXBhcnNlL2dzdGF1cGFyc2UuYzogKGdzdF9hdXBhcnNlX2NsYXNzX2luaXQpLAoJICAoZ3N0X2F1cGFyc2VfaW5pdCksIChnc3RfYXVwYXJzZV9kaXNwb3NlKSwgKGdzdF9hdXBhcnNlX2NoYWluKSwKCSAgKGdzdF9hdXBhcnNlX2NoYW5nZV9zdGF0ZSk6CgkgICogZ3N0L2F1cGFyc2UvZ3N0YXVwYXJzZS5oOgoJICBQYXJ0aWFsbHkgZml4ICMxNjE3MTIuIHBsYXliaW4gc3RpbGwgZG9lc24ndCB3b3JrIG9uIHRoZXNlIGZpbGVzLAoJICAob24gdGhlIGJ1ZyByZXBvcnQsIEFuZHkgc2F5cyB3ZSBhcmVuJ3QgdHlwZWZpbmRpbmcgaXQgZm9yIHNvbWUKCSAgcmVhc29uPykgYnV0IGF0IGxlYXN0IGF1cGFyc2UgaXNuJ3QgdG90YWxseSBidXN0ZWQgbGlrZSBpdCB3YXMgYmVmb3JlLgoKMjAwNS0xMS0yMSAxNjo0NTo0NiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogakBib290bGFiLm9yZywgIzMyMTkwMykuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKHF0ZGVtdXhfdmlkZW9fY2Fwcyk6CgkgIEFkZCBEWDUwLCBESVZYIGFuZCBESVYzIGZvdXJjY3MgKHBhdGNoIGJ5CgkgIGpAYm9vdGxhYi5vcmcsICMzMjE5MDMpLgoKMjAwNS0xMS0yMSAxNjozNjowNSArMDAwMCAgQW5keSBXaW5nbyA8d2luZ29AcG9ib3guY29tPgoKCSAgKi4qOiBSYW4gc2NyaXB0cy91cGRhdGUtbWFjcm9zLiBPaCB5ZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA1LTExLTIxICBBbmR5IFdpbmdvICA8d2luZ29AcG9ib3guY29tPgoJICAqICouaDoKCSAgKiAqLmM6IFJhbiBzY3JpcHRzL3VwZGF0ZS1tYWNyb3MuIE9oIHllcy4KCjIwMDUtMTEtMjEgMTU6MDY6MzUgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzogRmlsbGVyIGV2ZW50cyBhcmUgZ29uZSBmb3Igbm93LCBjb21tZW50IG91dCBzZWN0aW9uIGdlbmVyYXRpbmcgdGhlbS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6IChnc3RfbWF0cm9za2FfZGVtdXhfc3luY19zdHJlYW1zKToKCSAgRmlsbGVyIGV2ZW50cyBhcmUgZ29uZSBmb3Igbm93LCBjb21tZW50IG91dCBzZWN0aW9uIGdlbmVyYXRpbmcKCSAgdGhlbS4KCjIwMDUtMTEtMjEgMTQ6Mzk6MDQgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBVcGRhdGUgZm9yIEdTVF9GT1VSQ0NfRk9STUFUIEFQSSBjaGFuZ2UuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9kaXJlY3RmYi9kZmJ2aWRlb3NpbmsuYzoKCSAgKGdzdF9kZmJ2aWRlb3NpbmtfZ2V0X2Zvcm1hdF9mcm9tX2NhcHMpOgoJICAqIGV4dC9zZGwvc2RsdmlkZW9zaW5rLmM6IChnc3Rfc2RsdmlkZW9zaW5rX2NyZWF0ZSk6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAoZ3N0X3F0ZGVtdXhfbG9vcF9oZWFkZXIpLAoJICAocXRkZW11eF9wYXJzZSksIChxdGRlbXV4X3R5cGVfZ2V0KSwgKHF0ZGVtdXhfbm9kZV9kdW1wX2ZvcmVhY2gpLAoJICAocXRkZW11eF9kdW1wX2hkbHIpLCAocXRkZW11eF9kdW1wX2RyZWYpLCAocXRkZW11eF9kdW1wX3N0c2QpLAoJICAocXRkZW11eF9kdW1wX2Rjb20pLCAocXRkZW11eF9wYXJzZV90cmFrKSwgKHF0ZGVtdXhfdmlkZW9fY2FwcyksCgkgIChxdGRlbXV4X2F1ZGlvX2NhcHMpOgoJICAqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzogKGdzdF92NGwyc3JjX3Y0bDJmb3VyY2NfdG9fY2Fwcyk6CgkgICogc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5jOiAoZ3N0X3Y0bDJzcmNfZmlsbF9mb3JtYXRfbGlzdCksCgkgIChnc3RfdjRsMnNyY19jYXB0dXJlX2luaXQpLCAoZ3N0X3Y0bDJzcmNfZ2V0X3NpemVfbGltaXRzKToKCSAgVXBkYXRlIGZvciBHU1RfRk9VUkNDX0ZPUk1BVCBBUEkgY2hhbmdlLgoKMjAwNS0xMS0yMSAxNDozMzoxMSArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBSZW5hbWUgZ3N0X2NhcHNfc3RydWN0dXJlX2ZpeGF0ZV8qIHRvIGdzdF9zdHJ1Y3R1cmVfZml4YXRlXyogKCMzMjIwMjcpCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9hdWRpb3Jlc2FtcGxlL2dzdGF1ZGlvcmVzYW1wbGUuYzoKCSAgKiBleHQvcG9seXAvcG9seXBzaW5rLmM6IChnc3RfcG9seXBzaW5rX3NpbmtfZml4YXRlKToKCSAgKiBnc3QvbGlicmZiL2dzdHJmYnNyYy5jOiAoZ3N0X3JmYnNyY19maXhhdGUpOgoJICAqIGdzdC9tb2RwbHVnL2dzdG1vZHBsdWcuY2M6CgkgICogc3lzL2dsc2luay9nbGltYWdlc2luay5jOiAoZ3N0X2dsaW1hZ2VzaW5rX2ZpeGF0ZSk6CgkgICogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOiAoZ3N0X3Y0bDJzcmNfZml4YXRlKToKCSAgUmVuYW1lIGdzdF9jYXBzX3N0cnVjdHVyZV9maXhhdGVfKiB0byBnc3Rfc3RydWN0dXJlX2ZpeGF0ZV8qCgkgICgjMzIyMDI3KQoKMjAwNS0xMS0yMSAxNDozMTowNSArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBSZW5hbWUgZ3N0X2NhcHNfc3RydWN0dXJlX2ZpeGF0ZV8qIHRvIGdzdF9zdHJ1Y3R1cmVfZml4YXRlXyogKCMzMjIwMjcpCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9hYWxpYi9nc3RhYXNpbmsuYzogKGdzdF9hYXNpbmtfZml4YXRlKToKCSAgKiBleHQvbWlrbW9kL2dzdG1pa21vZC5jOiAoZ3N0X21pa21vZF9zcmNmaXhhdGUpOgoJICAqIGdzdC9nb29tL2dzdGdvb20uYzogKGdzdF9nb29tX3NyY19uZWdvdGlhdGUpOgoJICAqIHN5cy9vc3h2aWRlby9vc3h2aWRlb3NpbmsubToKCSAgUmVuYW1lIGdzdF9jYXBzX3N0cnVjdHVyZV9maXhhdGVfKiB0byBnc3Rfc3RydWN0dXJlX2ZpeGF0ZV8qCgkgICgjMzIyMDI3KQoKMjAwNS0xMS0yMSAxMzozODoyNCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIEZpeGVzIGZvciBHU1RfRk9VUkNDX0ZPUk1BVCBBUEkgY2hhbmdlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvYWFsaWIvZ3N0YWFzaW5rLmM6IChnc3RfYWFzaW5rX3NldGNhcHMpOgoJICAqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzogKGdzdF9hdmlfZGVtdXhfcGFyc2VfZmlsZV9oZWFkZXIpLAoJICAoZ3N0X2F2aV9kZW11eF9yZWFkX3N1YmluZGV4ZXMpLCAoZ3N0X2F2aV9kZW11eF9wYXJzZV9zdHJlYW0pLAoJICAoZ3N0X2F2aV9kZW11eF9wYXJzZV9vZG1sKSwgKGdzdF9hdmlfZGVtdXhfc3RyZWFtX2luZGV4KSwKCSAgKGdzdF9hdmlfZGVtdXhfc3luYyksIChnc3RfYXZpX2RlbXV4X3N0cmVhbV9oZWFkZXIpLAoJICAoZ3N0X2F2aV9kZW11eF9zdHJlYW1fZGF0YSk6CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6IChnc3RfbWF0cm9za2FfZGVtdXhfdmlkZW9fY2Fwcyk6CgkgICogZ3N0L3dhdmVuYy9nc3R3YXZlbmMuYzogKHdyaXRlX21ldGFkYXRhKToKCSAgKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzogKGdzdF93YXZwYXJzZV9wYXJzZV9hZHRsKSwKCSAgKGdzdF93YXZwYXJzZV9wYXJzZV9maWxlX2hlYWRlciksIChnc3Rfd2F2cGFyc2Vfc3RyZWFtX2hlYWRlcnMpOgoJICBGaXhlcyBmb3IgR1NUX0ZPVVJDQ19GT1JNQVQgQVBJIGNoYW5nZS4KCjIwMDUtMTEtMjEgMTI6MTM6NDggKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBGaXggZm9yIGNvbGxlY3QgcGFkcyBBUEkgY2hhbmdlLiBBbHNvIGZpeCB0ZXh0b3ZlcmxheSBzdGF0ZSBjaGFuZ2UgZnVuY3Rpb24uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9jYWlyby9nc3R0ZXh0b3ZlcmxheS5jOiAoZ3N0X3RleHRfb3ZlcmxheV9maW5hbGl6ZSksCgkgIChnc3RfdGV4dF9vdmVybGF5X2luaXQpLCAoZ3N0X3RleHRfb3ZlcmxheV90ZXh0X3BhZF9saW5rZWQpLAoJICAoZ3N0X3RleHRfb3ZlcmxheV90ZXh0X3BhZF91bmxpbmtlZCksIChnc3RfdGV4dF9vdmVybGF5X3BvcF92aWRlbyksCgkgIChnc3RfdGV4dF9vdmVybGF5X3BvcF90ZXh0KSwgKGdzdF90ZXh0X292ZXJsYXlfY29sbGVjdGVkKSwKCSAgKGdzdF90ZXh0X292ZXJsYXlfY2hhbmdlX3N0YXRlKToKCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6IChnc3RfbWF0cm9za2FfbXV4X2luaXQpLAoJICAoZ3N0X21hdHJvc2thX211eF9yZXNldCksIChnc3RfbWF0cm9za2FfbXV4X3JlcXVlc3RfbmV3X3BhZCksCgkgIChnc3RfbWF0cm9za2FfbXV4X2Jlc3RfcGFkKSwgKGdzdF9tYXRyb3NrYV9tdXhfY2hhbmdlX3N0YXRlKToKCSAgKiBnc3Qvc21wdGUvZ3N0c21wdGUuYzogKGdzdF9zbXB0ZV9pbml0KSwgKGdzdF9zbXB0ZV9jb2xsZWN0ZWQpOgoJICAqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIuYzogKGdzdF92aWRlb21peGVyX2luaXQpLAoJICAoZ3N0X3ZpZGVvbWl4ZXJfcmVxdWVzdF9uZXdfcGFkKSwgKGdzdF92aWRlb21peGVyX2ZpbGxfcXVldWVzKSwKCSAgKGdzdF92aWRlb21peGVyX2NoYW5nZV9zdGF0ZSk6CgkgIEZpeCBmb3IgY29sbGVjdCBwYWRzIEFQSSBjaGFuZ2UuIEFsc28gZml4IHRleHRvdmVybGF5IHN0YXRlCgkgIGNoYW5nZSBmdW5jdGlvbi4KCjIwMDUtMTEtMjAgMTc6MDQ6NTUgKzAwMDAgIEp1bGllbiBNb3V0dGUgPGp1bGllbkBtb3V0dGUubmV0PgoKCSAgZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOiBSZXBsYWNlCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA1LTExLTIwICBKdWxpZW4gTU9VVFRFICA8anVsaWVuQG1vdXR0ZS5uZXQ+CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOiAoZ3N0X21hdHJvc2thX211eF9zdGFydCk6IFJlcGxhY2UKCSAgR1NUX1BBRF9JU19VU0FCTEUgYnkgc29tZXRoaW5nIGFwcHJvYWNoaW5nIGl0LgoKMjAwNS0xMS0yMCAxNjo0MzozMiArMDAwMCAgSnVsaWVuIE1vdXR0ZSA8anVsaWVuQG1vdXR0ZS5uZXQ+CgoJICBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6IEZpeCBmb3IKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDUtMTEtMjAgIEp1bGllbiBNT1VUVEUgIDxqdWxpZW5AbW91dHRlLm5ldD4KCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6IChnc3RfbWF0cm9za2FfbXV4X3N0YXJ0KTogRml4IGZvcgoJICBBUEkgY2hhbmdlcy4KCSAgKiBnc3Qvd2F2ZW5jL2dzdHdhdmVuYy5jOiAoZ3N0X3dhdmVuY19jaGFpbik6IEZpeCBmb3IgQVBJCgkgIGNoYW5nZXMsCgkgIGJ1dCBhbHNvIGZpeCB0aGUgY29kZSB0aGF0IHdhcyBub3QgY2hlY2tpbmcgcmV0dXJuIHZhbHVlcyBmcm9tCgkgIHBhZF9wdXNoIG5laXRoZXIgdXNpbmcgcGFkX2FsbG9jX2J1ZmZlci4KCjIwMDUtMTEtMTggMTg6MTk6MjEgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBleHQvbGlicG5nL2dzdHBuZ2VuYy5jOiBBZGRlZCBkZWJ1ZyBjYXRlZ29yeQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvbGlicG5nL2dzdHBuZ2VuYy5jOiAoZ3N0X3BuZ2VuY19jbGFzc19pbml0KSwKCSAgKGdzdF9wbmdlbmNfY2hhaW4pOgoJICBBZGRlZCBkZWJ1ZyBjYXRlZ29yeQoJICBSZXR1cm4gR1NUX0ZMT1dfVU5FWFBFQ1RFRCB3aGVuIHNlbmRpbmcgYW4gRU9TLCBzbyB0aGUgd2hvbGUgcGlwZWxpbmUKCSAgZ29lcyB0byBFT1MuCgoyMDA1LTExLTE3IDE4OjIzOjIzICswMDAwICBFZGdhcmQgTGltYSA8ZWRnYXJkLmxpbWFAaW5kdC5vcmcuYnI+CgoJKiBDaGFuZ2VMb2c6CgkqIGdzdC9ydHAvTWFrZWZpbGUuYW06CgkqIGdzdC9ydHAvZ3N0cnRwLmM6CgkqIGdzdC9ydHAvZ3N0cnRwZzcxMWRlYy5jOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MTFkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MTFlbmMuYzoKCSogZ3N0L3J0cC9nc3RydHBnNzExZW5jLmg6CgkqIGdzdC9ydHAvZ3N0cnRwZzcxMXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MTFwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBzcGVleGRlYy5jOgoJKiBnc3QvcnRwL2dzdHJ0cHNwZWV4ZGVjLmg6CgkqIGdzdC9ydHAvZ3N0cnRwc3BlZXhkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cHNwZWV4ZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBzcGVleGVuYy5jOgoJKiBnc3QvcnRwL2dzdHJ0cHNwZWV4ZW5jLmg6CgkqIGdzdC9ydHAvZ3N0cnRwc3BlZXhwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBzcGVleHBheS5oOgoJICBDcmVhdGVkIFNwZWV4IHBheWxvYWRlciBhbmQgZGVwYXlsb2FkZXI7IE9wdGltaXplIEc3MTEgcGF5bG9hZGVyIHRvIHVzZSBhZGFwdGVyIGFuZCBzZW5kIHBhY2tldHMgdW50aWwgTVRVIHNpemUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBDcmVhdGVkIFNwZWV4IHBheWxvYWRlciBhbmQgZGVwYXlsb2FkZXI7IE9wdGltaXplIEc3MTEgcGF5bG9hZGVyIHRvIHVzZSBhZGFwdGVyIGFuZCBzZW5kIHBhY2tldHMgdW50aWwgTVRVIHNpemUuCgoyMDA1LTExLTE2IDE5OjA4OjU0ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgY2hlY2svZWxlbWVudHMvbWF0cm9za2FtdXguYzogRml4IGxlYWsgaW4gY2hlY2suCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNoZWNrL2VsZW1lbnRzL21hdHJvc2thbXV4LmM6IChzZXR1cF9zcmNfcGFkKSwgKHNldHVwX3NpbmtfcGFkKToKCSAgRml4IGxlYWsgaW4gY2hlY2suCgoyMDA1LTExLTE2IDE3OjAwOjMyICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L2ZseC9nc3RmbHhkZWMuYzogRml4IHN0YXRlIGNoYW5nZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2ZseC9nc3RmbHhkZWMuYzogKGdzdF9mbHhkZWNfY2hhbmdlX3N0YXRlKToKCSAgRml4IHN0YXRlIGNoYW5nZS4KCjIwMDUtMTEtMTYgMTE6MDI6MjQgKzAwMDAgIEFuZHkgV2luZ28gPHdpbmdvQHBvYm94LmNvbT4KCgkqIENoYW5nZUxvZzoKCSogZ3N0L3VkcC9nc3R1ZHBzcmMuYzoKCSAgTW92ZSBjb21tZW50LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKGdzdF91ZHBzcmNfY3JlYXRlKTogTW92ZSBjb21tZW50LgoKMjAwNS0xMS0xNiAxMDo0Mzo0NCArMDAwMCAgQW5keSBXaW5nbyA8d2luZ29AcG9ib3guY29tPgoKCSAgZ3N0L3VkcC9nc3R1ZHBzcmMuYzogQ2xlYW4gdXAgd2l0aCB0aGUgYm9pbGVycGxhdGUgbWFjcm8uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA1LTExLTE2ICBBbmR5IFdpbmdvICA8d2luZ29AcG9ib3guY29tPgoJICAqIGdzdC91ZHAvZ3N0dWRwc3JjLmM6IENsZWFuIHVwIHdpdGggdGhlIGJvaWxlcnBsYXRlIG1hY3JvLgoKMjAwNS0xMS0xNSAxOTo0MToyMSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOiBXaGVuIHNlZWtpbmcsIHNlZWsgdG8gY2xvc2VzdCBpbmRleCBlbnRyeSBhdCBvciBiZWZvcmUgdGhlIHJlcXVlc3RlZCBzZWVrIHBvc2l0aW9uLCBuby4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUmV2aWV3ZWQgYnk6IFRpbS1QaGlsaXBwIE3DvGxsZXIgIDx0aW0gYXQgY2VudHJpY3VsYXIgZG90IG5ldD4KCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzogKGdzdF9tYXRyb3NrYWRlbXV4X2RvX2luZGV4X3NlZWspOgoJICBXaGVuIHNlZWtpbmcsIHNlZWsgdG8gY2xvc2VzdCBpbmRleCBlbnRyeSBhdCBvciBiZWZvcmUgdGhlIHJlcXVlc3RlZAoJICBzZWVrIHBvc2l0aW9uLCBub3QganVzdCB0aGUgY2xvc2VzdCBvbmUgKCMzMjEwMDEpLgoKMjAwNS0xMS0xNSAxMjoxNjowMCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzogSW52ZXJ0IERJQiBpbWFnZXMgYWdhaW4gKHNlZSAjMTMyMzQxKS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOiAoc3dhcF9saW5lKSwgKGdzdF9hdmlfZGVtdXhfaW52ZXJ0KSwKCSAgKGdzdF9hdmlfZGVtdXhfcHJvY2Vzc19uZXh0X2VudHJ5KSwgKGdzdF9hdmlfZGVtdXhfc3RyZWFtX2RhdGEpOgoJICBJbnZlcnQgRElCIGltYWdlcyBhZ2FpbiAoc2VlICMxMzIzNDEpLgoKMjAwNS0xMS0xNCAwMjoxMzozNSArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBDaGFuZ2VMb2c6CgkqIGNvbW1vbjoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvYWFsaWIvZ3N0YWFzaW5rLmM6CgkqIGV4dC9jYWlyby9nc3RjYWlyby5jOgoJKiBleHQvZHYvZ3N0ZHYuYzoKCSogZXh0L2VzZC9nc3Rlc2QuYzoKCSogZXh0L2ZsYWMvZ3N0ZmxhYy5jOgoJKiBleHQvZ2NvbmYvZ3N0Z2NvbmZlbGVtZW50cy5jOgoJKiBleHQvZ2RrX3BpeGJ1Zi9nc3RnZGtwaXhidWYuYzoKCSogZXh0L2pwZWcvZ3N0anBlZy5jOgoJKiBleHQvbGFkc3BhL2dzdGxhZHNwYS5jOgoJKiBleHQvbGliY2FjYS9nc3RjYWNhc2luay5jOgoJKiBleHQvbGlibW5nL2dzdG1uZy5jOgoJKiBleHQvbGlicG5nL2dzdHBuZy5jOgoJKiBleHQvbWlrbW9kL2dzdG1pa21vZC5jOgoJKiBleHQvcGFuZ28vZ3N0dGV4dG92ZXJsYXkuYzoKCSogZXh0L3BhbmdvL2dzdHRpbWVvdmVybGF5LmM6CgkqIGV4dC9yYXcxMzk0L2dzdDEzOTQuYzoKCSogZXh0L3NwZWV4L2dzdHNwZWV4LmM6CgkqIGdzdC9hbHBoYS9NYWtlZmlsZS5hbToKCSogZ3N0L2FscGhhL2dzdGFscGhhLmM6CgkqIGdzdC9hbHBoYS9nc3RhbHBoYWNvbG9yLmM6CgkqIGdzdC9hdXBhcnNlL2dzdGF1cGFyc2UuYzoKCSogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b2F1ZGlvc2luay5jOgoJKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvZGV0ZWN0LmM6CgkqIGdzdC9hdmkvZ3N0YXZpLmM6CgkqIGdzdC9jdXR0ZXIvZ3N0Y3V0dGVyLmM6CgkqIGdzdC9kZWJ1Zy9lZmVuY2UuYzoKCSogZ3N0L2RlYnVnL2dzdGRlYnVnLmM6CgkqIGdzdC9kZWJ1Zy9nc3RuYXZpZ2F0aW9udGVzdC5jOgoJKiBnc3QvZWZmZWN0di9nc3RlZmZlY3R2LmM6CgkqIGdzdC9mbHgvZ3N0Zmx4ZGVjLmM6CgkqIGdzdC9nb29tL2dzdGdvb20uYzoKCSogZ3N0L2xhdy9hbGF3LmM6CgkqIGdzdC9sYXcvbXVsYXcuYzoKCSogZ3N0L2xldmVsL2dzdGxldmVsLmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS5jOgoJKiBnc3QvbWVkaWFuL2dzdG1lZGlhbi5jOgoJKiBnc3QvbW9ub3Njb3BlL2dzdG1vbm9zY29wZS5jOgoJKiBnc3QvbXVsdGlwYXJ0L211bHRpcGFydC5jOgoJKiBnc3Qvb2xkY29yZS9nc3RlbGVtZW50cy5jOgoJKiBnc3QvcnRwL01ha2VmaWxlLmFtOgoJKiBnc3QvcnRwL2dzdGFzdGVyaXNraDI2My5jOgoJKiBnc3QvcnRwL2dzdHJ0cC5jOgoJKiBnc3QvcnRzcC9nc3RydHNwLmM6CgkqIGdzdC9zbW9vdGh3YXZlL2dzdHNtb290aHdhdmUuYzoKCSogZ3N0L3NtcHRlL2dzdHNtcHRlLmM6CgkqIGdzdC91ZHAvZ3N0dWRwLmM6CgkqIGdzdC92aWRlb2JveC9nc3R2aWRlb2JveC5jOgoJKiBnc3QvdmlkZW9maWx0ZXIvZ3N0Z2FtbWEuYzoKCSogZ3N0L3ZpZGVvZmlsdGVyL2dzdHZpZGVvYmFsYW5jZS5jOgoJKiBnc3QvdmlkZW9maWx0ZXIvZ3N0dmlkZW9mbGlwLmM6CgkqIGdzdC92aWRlb2ZpbHRlci9nc3R2aWRlb3RlbXBsYXRlLmM6CgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIuYzoKCSogZ3N0L3dhdmVuYy9nc3R3YXZlbmMuYzoKCSogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6CgkqIHN5cy9vc3MvZ3N0b3NzYXVkaW8uYzoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGF1ZGlvLmM6CgkgIHJld29yayBjb25maWd1cmUuYWM7IG1ha2UgYXN0ZXJpc2sgcnRwIHN0dWZmIGNvbXBpbGUgb24gbWluZ3cKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHJld29yayBjb25maWd1cmUuYWM7IG1ha2UgYXN0ZXJpc2sgcnRwIHN0dWZmIGNvbXBpbGUgb24gbWluZ3cKCjIwMDUtMTEtMTIgMTM6MzE6NTYgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBleHQvanBlZy9nc3RqcGVnZGVjLmM6IE9ubHkgR1NUX0RFQlVHKCkgaW5mb3JtYXRpb24gb24gdGhlIHZhbGlkIGNvbXBvbmVudHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9qcGVnL2dzdGpwZWdkZWMuYzogKGdzdF9qcGVnX2RlY19jaGFpbik6CgkgIE9ubHkgR1NUX0RFQlVHKCkgaW5mb3JtYXRpb24gb24gdGhlIHZhbGlkIGNvbXBvbmVudHMuCgoyMDA1LTExLTExIDE5OjM0OjUwICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIENoYW5nZUxvZzoKCSogY29uZmlndXJlLmFjOgoJICBiYWNrIHRvIGhlYWQKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGJhY2sgdG8gaGVhZAoKPT09IHJlbGVhc2UgMC45LjUgPT09CgoyMDA1LTExLTExIDE5OjMzOjIzICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIENoYW5nZUxvZzoKCSogTkVXUzoKCSogUkVMRUFTRToKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi0xMzk0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhY29sb3IueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvZGV0ZWN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF2aS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWNhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYWlyby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmVuY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZmZWN0di54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lc2RzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx4ZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdjb25mZWxlbWVudHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxldmVsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1hdHJvc2thLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5hdmlnYXRpb250ZXN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zc2F1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBuZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRzcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaG91dDJzZW5kLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNtcHRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXVkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2JveC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2ZsaXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9taXhlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFyc2UueG1sOgoJICByZWxlYXNpbmcgMC45LjUKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHJlbGVhc2luZyAwLjkuNQoKMjAwNS0xMS0xMSAxODozMzoyMSArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBwby9hZi5wbzoKCSogcG8vYXoucG86CgkqIHBvL2NzLnBvOgoJKiBwby9lbl9HQi5wbzoKCSogcG8vaHUucG86CgkqIHBvL2l0LnBvOgoJKiBwby9uYi5wbzoKCSogcG8vbmwucG86CgkqIHBvL29yLnBvOgoJKiBwby9zcS5wbzoKCSogcG8vc3IucG86CgkqIHBvL3N2LnBvOgoJKiBwby91ay5wbzoKCSogcG8vdmkucG86CgkgIFVwZGF0ZSAucG8gZmlsZXMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFVwZGF0ZSAucG8gZmlsZXMKCjIwMDUtMTEtMTEgMTY6NDg6NTggKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBnc3QvYXZpL2dzdGF2aWRlbXV4Lio6IFllYWgsIGltcGxlbWVudCBwcm9wZXIgc2Vla2luZy4gRXhhY3Qgc2Vla2luZyBhbmQgc2VnbWVudCBzZWVraW5nLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6IChnc3RfYXZpX2RlbXV4X3Jlc2V0KSwKCSAgKGdzdF9hdmlfZGVtdXhfc3JjX2NvbnZlcnQpLCAoZ3N0X2F2aV9kZW11eF9oYW5kbGVfc3JjX2V2ZW50KSwKCSAgKGdzdF9hdmlfZGVtdXhfc3RyZWFtX2hlYWRlciksIChnc3RfYXZpX2RlbXV4X2hhbmRsZV9zZWVrKSwKCSAgKGdzdF9hdmlfZGVtdXhfcHJvY2Vzc19uZXh0X2VudHJ5KSwgKGdzdF9hdmlfZGVtdXhfc3RyZWFtX2RhdGEpLAoJICAoZ3N0X2F2aV9kZW11eF9sb29wKToKCSAgKiBnc3QvYXZpL2dzdGF2aWRlbXV4Lmg6CgkgIFllYWgsIGltcGxlbWVudCBwcm9wZXIgc2Vla2luZy4gRXhhY3Qgc2Vla2luZyBhbmQgc2VnbWVudCBzZWVraW5nLgoJICBTdGlsbCBuZWVkIHRvIGRvIHNvbWUgY2hlY2tzIGZvciBzZWdtZW50X3N0b3AuCgoyMDA1LTExLTExIDE1OjE3OjQ0ICswMDAwICBDaHJpc3RpYW4gU2NoYWxsZXIgPHVyYWV1c0Bnbm9tZS5vcmc+CgoJKiBnc3QtcGx1Z2lucy1nb29kLnNwZWMuaW46CgkgIGZpeCBDYWlybyBlbnRyeQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgZml4IENhaXJvIGVudHJ5CgoyMDA1LTExLTEwIDEyOjM0OjI2ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBBZGQgc3VwcG9ydCBmb3IgY3VzdG9tIGdlbnJlIHRhZ3MuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBSZXZpZXdlZCBieTogVGltLVBoaWxpcHAgTcO8bGxlciAgPHRpbSBhdCBjZW50cmljdWxhciBkb3QgbmV0PgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKHF0ZGVtdXhfcGFyc2VfdWR0YSk6CgkgIEFkZCBzdXBwb3J0IGZvciBjdXN0b20gZ2VucmUgdGFncy4KCjIwMDUtMTEtMTAgMTI6MjI6MzAgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6IERvbid0IHRyeSB0byByZWFkeSBidWZmZXIgZHVyYXRpb24gZnJvbSBidWZmZXIgdGhhdCB3ZSBkb24ndCBvd24gYW55ICBsb25nZXIgYW5kIHRoYXQgbWkuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFJldmlld2VkIGJ5OiBUaW0tUGhpbGlwcCBNw7xsbGVyICA8dGltIGF0IGNlbnRyaWN1bGFyIGRvdCBuZXQ+CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOiAoZ3N0X21hdHJvc2thX211eF93cml0ZV9kYXRhKToKCSAgRG9uJ3QgdHJ5IHRvIHJlYWR5IGJ1ZmZlciBkdXJhdGlvbiBmcm9tIGJ1ZmZlciB0aGF0IHdlIGRvbid0CgkgIG93biBhbnkgIGxvbmdlciBhbmQgdGhhdCBtaWdodCBhbHJlYWR5IGhhdmUgYmVlbiB1bnJlZmZlZC4KCSAgKCMzMjExMzYpCgoyMDA1LTExLTA5IDIxOjM1OjI5ICswMDAwICBaZWVzaGFuIEFsaSA8emVlbml4QGdtYWlsLmNvbT4KCgkqIENoYW5nZUxvZzoKCSogZ3N0L2ZseC9nc3RmbHhkZWMuYzoKCSAgQXR0ZW1wdGluZyB0byBvcHRpbWl6ZSB0aGUgY29kZSBmb3IgZW1iZWRkZWQgc3lzdGVtcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEF0dGVtcHRpbmcgdG8gb3B0aW1pemUgdGhlIGNvZGUgZm9yIGVtYmVkZGVkIHN5c3RlbXMuCgoyMDA1LTExLTA4IDA4OjU0OjMwICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgc3lzL29zcy9nc3Rvc3NzaW5rLmM6IERvbid0IHJlLXVzZSBhbHJlYWR5IGNsb3NlZCBmaWxlIGRlc2NyaXB0b3IuICgjMzIwOTIwKQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUmV2aWV3ZWQgYnk6IFRpbS1QaGlsaXBwIE3DvGxsZXIgIDx0aW0gYXQgY2VudHJpY3VsYXIgZG90IG5ldD4KCSAgKiBzeXMvb3NzL2dzdG9zc3NpbmsuYzogKGdzdF9vc3Nfc2lua19jbG9zZSk6CgkgIERvbid0IHJlLXVzZSBhbHJlYWR5IGNsb3NlZCBmaWxlIGRlc2NyaXB0b3IuICgjMzIwOTIwKQoKMjAwNS0xMS0wNyAxNzozNToyMCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIHN5cy9vc3MvZ3N0b3Nzc2luay4qOiBDYWNoZSBwcm9iZWQgY2FwczsgZml4IGRlYnVnIG91dHB1dCBmb3IgU0VUX1BBUkFNIG1hY3Jvcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL29zcy9nc3Rvc3NzaW5rLmM6IChnc3Rfb3NzX3NpbmtfZGlzcG9zZSksCgkgIChnc3Rfb3NzX3Npbmtfc2V0X3Byb3BlcnR5KSwgKGdzdF9vc3Nfc2lua19nZXRjYXBzKSwKCSAgKGdzdF9vc3Nfc2lua19wcmVwYXJlKToKCSAgKiBzeXMvb3NzL2dzdG9zc3NpbmsuaDoKCSAgQ2FjaGUgcHJvYmVkIGNhcHM7IGZpeCBkZWJ1ZyBvdXRwdXQgZm9yIFNFVF9QQVJBTSBtYWNyb3MuCgoyMDA1LTExLTA3IDE1OjA5OjU0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L2NhaXJvLzogUG9ydCBjYWlybyB0ZXh0b3ZlcmxheSBwbHVnaW4gdG8gMC45LiBBZGQgJ3NoYWRlZC1iYWNrZ3JvdW5kJyBwcm9wZXJ0eSBhbmQgcmVkbyBwb3NpdGlvbi4gRG9lc24ndCBoYW5kbGUgLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9jYWlyby9NYWtlZmlsZS5hbToKCSAgKiBleHQvY2Fpcm8vZ3N0Y2Fpcm8uYzogKHBsdWdpbl9pbml0KToKCSAgKiBleHQvY2Fpcm8vZ3N0dGV4dG92ZXJsYXkuYzogKGdzdF90ZXh0X292ZXJsYXlfYmFzZV9pbml0KSwKCSAgKGdzdF90ZXh0X292ZXJsYXlfY2xhc3NfaW5pdCksIChnc3RfdGV4dF9vdmVybGF5X2ZpbmFsaXplKSwKCSAgKGdzdF90ZXh0X292ZXJsYXlfaW5pdCksIChnc3RfdGV4dF9vdmVybGF5X2ZvbnRfaW5pdCksCgkgIChnc3RfdGV4dF9vdmVybGF5X3NldF9wcm9wZXJ0eSksIChnc3RfdGV4dF9vdmVybGF5X3JlbmRlcl90ZXh0KSwKCSAgKGdzdF90ZXh0X292ZXJsYXlfZ2V0Y2FwcyksIChnc3RfdGV4dF9vdmVybGF5X3NldGNhcHMpLAoJICAoZ3N0X3RleHRfb3ZlcmxheV90ZXh0X3BhZF9saW5rZWQpLAoJICAoZ3N0X3RleHRfb3ZlcmxheV90ZXh0X3BhZF91bmxpbmtlZCksIChnc3RfdGV4dF9vdmVybGF5X3NoYWRlX3kpLAoJICAoZ3N0X3RleHRfb3ZlcmxheV9ibGl0XzEpLCAoZ3N0X3RleHRfb3ZlcmxheV9ibGl0X3N1YjJ4MiksCgkgIChnc3RfdGV4dF9vdmVybGF5X3B1c2hfZnJhbWUpLCAoZ3N0X3RleHRfb3ZlcmxheV9wb3BfdmlkZW8pLAoJICAoZ3N0X3RleHRfb3ZlcmxheV9wb3BfdGV4dCksIChnc3RfdGV4dF9vdmVybGF5X2NvbGxlY3RlZCksCgkgIChnc3RfdGV4dF9vdmVybGF5X2NoYW5nZV9zdGF0ZSk6CgkgICogZXh0L2NhaXJvL2dzdHRleHRvdmVybGF5Lmg6CgkgIFBvcnQgY2Fpcm8gdGV4dG92ZXJsYXkgcGx1Z2luIHRvIDAuOS4gQWRkICdzaGFkZWQtYmFja2dyb3VuZCcKCSAgcHJvcGVydHkgYW5kIHJlZG8gcG9zaXRpb24uIERvZXNuJ3QgaGFuZGxlIHVwc3RyZWFtIHJlbmVnb3RpYXRpb24KCSAgeWV0IHRob3VnaC4KCjIwMDUtMTEtMDcgMTA6MzE6MzIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6IE5vIG5lZWQgdG8gdGFrZSB0aGUgU1RSRUFNX0xPQ0sgaW4gdGhlIGxvb3AgZnVuY3Rpb24uIEltcHJvdmUgc29tZSBkZWJ1ZyBtZXNzYWdlcy4gRG9uJ3QgbGVhayAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOiAoZ3N0X2F2aV9kZW11eF9wYXJzZV9zdHJlYW0pLAoJICAoZ3N0X2F2aV9kZW11eF9wcm9jZXNzX25leHRfZW50cnkpLCAoZ3N0X2F2aV9kZW11eF9zdHJlYW1fZGF0YSksCgkgIChnc3RfYXZpX2RlbXV4X2xvb3ApOgoJICBObyBuZWVkIHRvIHRha2UgdGhlIFNUUkVBTV9MT0NLIGluIHRoZSBsb29wIGZ1bmN0aW9uLiBJbXByb3ZlCgkgIHNvbWUgZGVidWcgbWVzc2FnZXMuIERvbid0IGxlYWsgcGFkIG5hbWVzIGluIGRlYnVnIG1lc3NhZ2VzLgoKMjAwNS0xMS0wNyAxMDoyNzowMCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOiBEb24ndCBlcnJvciBvdXQgd2hlbiB0aGUgc291cmNlIHBhZCBpc24ndCBsaW5rZWQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICAoZ3N0X21hdHJvc2thX2RlbXV4X3B1c2hfdm9yYmlzX2NvZGVjX3ByaXZfZGF0YSksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfYWRkX3d2cGtfaGVhZGVyKToKCSAgRG9uJ3QgZXJyb3Igb3V0IHdoZW4gdGhlIHNvdXJjZSBwYWQgaXNuJ3QgbGlua2VkLgoKMjAwNS0xMS0wMiAxOTo0MjozOCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC9nY29uZi86IEZpeCBzdGF0ZSBjaGFuZ2UgZnVuY3Rpb25zIGhlcmUgYXMgd2VsbCBhbmQgc2V0IGtpZCB0byBOVUxMIHN0YXRlIGJlZm9yZSByZW1vdmluZyBpdC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2djb25mL2dzdGdjb25mYXVkaW9zaW5rLmM6IChkb190b2dnbGVfZWxlbWVudCksCgkgIChnc3RfZ2NvbmZfYXVkaW9fc2lua19jaGFuZ2Vfc3RhdGUpOgoJICAqIGV4dC9nY29uZi9nc3RnY29uZnZpZGVvc2luay5jOiAoZG9fdG9nZ2xlX2VsZW1lbnQpLAoJICAoZ3N0X2djb25mX3ZpZGVvX3NpbmtfY2hhbmdlX3N0YXRlKToKCSAgRml4IHN0YXRlIGNoYW5nZSBmdW5jdGlvbnMgaGVyZSBhcyB3ZWxsIGFuZCBzZXQga2lkCgkgIHRvIE5VTEwgc3RhdGUgYmVmb3JlIHJlbW92aW5nIGl0LgoKMjAwNS0xMS0wMiAxNjo0ODo1NSArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBjaGVjay9lbGVtZW50cy9tYXRyb3NrYW11eC5jOgoJKiBjb21tb246CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL21hdHJvc2thbXV4LmM6CgkgIHNpZ2gsIHN0YXRpYyBwYWQgdGVtcGxhdGVzIGFyZW4ndCByZWZjb3VudGVkIHByb3Blcmx5CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBzaWdoLCBzdGF0aWMgcGFkIHRlbXBsYXRlcyBhcmVuJ3QgcmVmY291bnRlZCBwcm9wZXJseQoKMjAwNS0xMS0wMSAxNjoxNDoyNSArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBjaGVjay9lbGVtZW50cy8uZ2l0aWdub3JlOgoJKiBnc3QvbGV2ZWwvLmdpdGlnbm9yZToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvLmdpdGlnbm9yZToKCSAgaWdub3JlIG1vcmUKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGlnbm9yZSBtb3JlCgoyMDA1LTExLTAxIDE1OjE1OjQ0ICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgZ3N0L3dhdmVuYy9nc3R3YXZlbmMuYzogQWRkZWQgcHJvcGVyIGV2ZW50IGhhbmRsaW5kLCBtYWRlIGRvd25zdHJlYW0gbmV3c2VnbWVudCBldmVudCB1c2UgR1NUX0ZPUk1BVF9CWVRFUyAob3RoZXJ3aXNlLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC93YXZlbmMvZ3N0d2F2ZW5jLmM6IChnc3Rfd2F2ZW5jX3N0b3BfZmlsZSksCgkgIChnc3Rfd2F2ZW5jX2luaXQpLCAoZ3N0X3dhdmVuY19ldmVudCksIChnc3Rfd2F2ZW5jX2NoYWluKToKCSAgQWRkZWQgcHJvcGVyIGV2ZW50IGhhbmRsaW5kLAoJICBtYWRlIGRvd25zdHJlYW0gbmV3c2VnbWVudCBldmVudCB1c2UgR1NUX0ZPUk1BVF9CWVRFUyAob3RoZXJ3aXNlIGl0J3MKCSAgaWdub3JlZCksCgkgIGFuZCBkb24ndCBzZXQgYSBkdXJhdGlvbiBvZiAwIGZvciBidWZmZXJzIG90aGVyd2lzZSB0aGV5IGFyZSBkaXNjYXJkZWQKCSAgYnkgR3N0QmFzZVNpbmsuCgkgIEdzdFdhdkVuYyBuZWVkcyBzb21lIHNlcmlvdXMgbG92aW5nLCBhZnRlciBnb2luZyB0aHJvdWdoIHRoZSBjb2RlIEknbQoJICByZWFsbHkgd29uZGVyaW5nIGhvdyB0aGlzIGNhbiBzdGF5IGluIC1nb29kIC4uLgoKMjAwNS0xMS0wMSAxNToxMToxNiArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJICBGaXggbGVha3MgYW5kIGludmFsaWQgbWVtb3J5IGFjY2VzcyBhcyByZXBvcnRlZCBieSB2YWxncmluZAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjaGVjay9lbGVtZW50cy9tYXRyb3NrYW11eC5jOiAoc2V0dXBfc3JjX3BhZCksIChzZXR1cF9zaW5rX3BhZCksCgkgIChzZXR1cF9tYXRyb3NrYW11eCksIChjaGVja19idWZmZXJfZGF0YSksIChHU1RfU1RBUlRfVEVTVCk6CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOiAoZ3N0X21hdHJvc2thX211eF9maW5hbGl6ZSksCgkgIChnc3RfbWF0cm9za2FfbXV4X3Jlc2V0KSwgKGdzdF9tYXRyb3NrYV9tdXhfYXVkaW9fcGFkX3NldGNhcHMpLAoJICAoZ3N0X21hdHJvc2thX211eF9zdGFydCksIChnc3RfbWF0cm9za2FfbXV4X3dyaXRlX2RhdGEpLAoJICAoZ3N0X21hdHJvc2thX211eF9jb2xsZWN0ZWQpOgoJICBGaXggbGVha3MgYW5kIGludmFsaWQgbWVtb3J5IGFjY2VzcyBhcyByZXBvcnRlZCBieSB2YWxncmluZAoKMjAwNS0xMS0wMSAxNDo0MTowMSArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBjaGVjay9lbGVtZW50cy9tYXRyb3NrYW11eC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9tYXRyb3NrYW11eC5jOgoJICAuLi4gYW5kIGFkZCB0aGUgbWlzc2luZyBmaWxlCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAuLi4gYW5kIGFkZCB0aGUgbWlzc2luZyBmaWxlCgoyMDA1LTExLTAxIDE0OjM2OjAyICswMDAwICBNaWNoYWwgQmVuZXMgPG1pY2hhbC5iZW5lc0B4ZXJpcy5jej4KCgkgIGFkZCBhIHVuaXQgdGVzdCBmb3IgbWF0cm9za2FtdXggZml4IHRoZSBidWdzIHRoYXQgdGhlIHVuaXQgdGVzdCBleHBvc2VkCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogTWljaGFsIEJlbmVzIDxtaWNoYWwuYmVuZXNAeGVyaXMuY3o+CgkgICogY2hlY2svTWFrZWZpbGUuYW06CgkgICogZ3N0L21hdHJvc2thL2VibWwtd3JpdGUuYzogKGdzdF9lYm1sX3dyaXRlX3NlZWspOgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzogKGdzdF9tYXRyb3NrYV9tdXhfaGFuZGxlX3NyY19ldmVudCksCgkgIChnc3RfbWF0cm9za2FfbXV4X2F1ZGlvX3BhZF9zZXRjYXBzKSwgKGdzdF9tYXRyb3NrYV9tdXhfc3RhcnQpOgoJICBhZGQgYSB1bml0IHRlc3QgZm9yIG1hdHJvc2thbXV4CgkgIGZpeCB0aGUgYnVncyB0aGF0IHRoZSB1bml0IHRlc3QgZXhwb3NlZAoKMjAwNS0xMS0wMSAxNDozNDoyMiArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBnc3QvcnRwL01ha2VmaWxlLmFtOgoJICBmaXggTWFrZWZpbGUuYW0KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGZpeCBNYWtlZmlsZS5hbQoKMjAwNS0xMS0wMSAxMjozOToxNiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9hdXRvZGV0ZWN0LzogRml4IHN0YXRlIGNoYW5nZSBmdW5jdGlvbiBhbmQgdXNlIEdTVF9ERUJVR19GVU5DUFRSIGluIGNsYXNzX2luaXQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG9hdWRpb3NpbmsuYzoKCSAgKGdzdF9hdXRvX2F1ZGlvX3NpbmtfY2xhc3NfaW5pdCksCgkgIChnc3RfYXV0b19hdWRpb19zaW5rX2NoYW5nZV9zdGF0ZSk6CgkgICogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b3ZpZGVvc2luay5jOgoJICAoZ3N0X2F1dG9fdmlkZW9fc2lua19jbGFzc19pbml0KSwKCSAgKGdzdF9hdXRvX3ZpZGVvX3NpbmtfY2hhbmdlX3N0YXRlKToKCSAgRml4IHN0YXRlIGNoYW5nZSBmdW5jdGlvbiBhbmQgdXNlIEdTVF9ERUJVR19GVU5DUFRSIGluCgkgIGNsYXNzX2luaXQuCgoyMDA1LTExLTAxIDEyOjM1OjM5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L21hdHJvc2thLzogU2V0IHRpbWVzdGFtcHMgb24gb3V0Z29pbmcgZWJtbCBoZWFkZXJzIGFzIHdlbGwsIHNvIHRoYXQgdGhlIGVsZW1lbnQgYWZ0ZXIgbWF0cm9za2FtdXggY2FuIGdldCB0aGUgdGltLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBSZXZpZXdlZCBieTogVGltLVBoaWxpcHAgTcO8bGxlciAgPHRpbSBhdCBjZW50cmljdWxhciBkb3QgbmV0PgoJICAqIGdzdC9tYXRyb3NrYS9lYm1sLXdyaXRlLmM6IChnc3RfZWJtbF93cml0ZV9uZXcpLAoJICAoZ3N0X2VibWxfd3JpdGVfcmVzZXQpLCAoZ3N0X2VibWxfd3JpdGVfZWxlbWVudF9uZXcpOgoJICAqIGdzdC9tYXRyb3NrYS9lYm1sLXdyaXRlLmg6CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOiAoZ3N0X21hdHJvc2thX211eF93cml0ZV9kYXRhKToKCSAgU2V0IHRpbWVzdGFtcHMgb24gb3V0Z29pbmcgZWJtbCBoZWFkZXJzIGFzIHdlbGwsIHNvIHRoYXQgdGhlCgkgIGVsZW1lbnQgYWZ0ZXIgbWF0cm9za2FtdXggY2FuIGdldCB0aGUgdGltZXN0YW1wIGFscmVhZHkgd2hlbgoJICByZWFkaW5nIHRoZSBmaXJzdCBlYm1sIGVsZW1lbnQgYW5kIGRvZXNuJ3QgaGF2ZSB0byB3YWl0IGZvcgoJICB0aGUgYWN0dWFsIGRhdGEgYnVmZmVyIGZvciB0aGF0ICgjMzIwMzA4KS4KCjIwMDUtMTAtMzEgMjI6MDg6NTIgKzAwMDAgIEFuZHkgV2luZ28gPHdpbmdvQHBvYm94LmNvbT4KCgkqIENoYW5nZUxvZzoKCSogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlci5jOgoJICBnc3QvdmlkZW9taXhlci92aWRlb21peGVyLmMgKGdzdF92aWRlb21peGVyX3BhZF91bmxpbmspCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA1LTEwLTMxICBBbmR5IFdpbmdvICA8d2luZ29AcG9ib3guY29tPgoJICAqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIuYyAoZ3N0X3ZpZGVvbWl4ZXJfcGFkX3VubGluaykKCSAgKGdzdF92aWRlb21peGVyX3BhZF9saW5rKTogS2lsbCBzb21lIG1lbWxlYWtzLgoJICAoZ3N0X3ZpZGVvbWl4ZXJfcGFkX2dldF9wcm9wZXJ0eSk6IFN0eWxlIGZpeC4KCSAgKGdzdF92aWRlb21peGVyX3BhZF9zZXRfcHJvcGVydHkpOiBTdHlsZSBmaXguCgkgIChnc3RfdmlkZW9taXhlcl9wYWRfaW5pdCk6IFN0eWxlIGZpeC4KCSAgKGdzdF92aWRlb21peGVyX3VwZGF0ZV9xdWV1ZXMpOiBLaWxsIG1lbWxlYWsuCgkgIChnc3RfdmlkZW9taXhlcl9sb29wKTogS2lsbCBtZW1sZWFrLgoJICAoZ3N0X3ZpZGVvbWl4ZXJfY29sbGVjdGVkKTogS2lsbCBtZW1sZWFrLgoKMjAwNS0xMC0zMSAxOTowODoyNyArMDAwMCAgRWRnYXJkIExpbWEgPGVkZ2FyZC5saW1hQGluZHQub3JnLmJyPgoKCSogQ2hhbmdlTG9nOgoJKiBnc3QvYXVwYXJzZS9nc3RhdXBhcnNlLmM6CgkgIEp1c3Qgc29tZSBjbGVhbnVwLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgSnVzdCBzb21lIGNsZWFudXAuCgoyMDA1LTEwLTMxIDE0OjQxOjMxICswMDAwICBFZGdhcmQgTGltYSA8ZWRnYXJkLmxpbWFAaW5kdC5vcmcuYnI+CgoJKiBDaGFuZ2VMb2c6CgkqIGV4dC9zcGVleC9nc3RzcGVleGVuYy5jOgoJICBBZGQgY2hlY2tzIHRvIEdTVF9GTE9XX05PVF9MSU5LRUQgZm9yIHZhbHVlcyByZXR1cm5lZCBmcm9tIGdzdF9wYWRfcHVzaC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEFkZCBjaGVja3MgdG8gR1NUX0ZMT1dfTk9UX0xJTktFRCBmb3IgdmFsdWVzIHJldHVybmVkIGZyb20gZ3N0X3BhZF9wdXNoLgoKMjAwNS0xMC0zMSAxMjowMDoxMCArMDAwMCAgWmVlc2hhbiBBbGkgPHplZW5peEBnbWFpbC5jb20+CgoJKiBDaGFuZ2VMb2c6CgkqIGdzdC9ydHAvZ3N0cnRwZzcxMWRlYy5jOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MTFkZXBheS5jOgoJICBQYXlsb2FkZXIgbm93IHNldHMgc29tZSBkZWZhdWx0IGNhcHMgb24gdGhlIHNyY3BhZCBpZiBjYXBzIG9uIHRoZSBzaW5rcGFkIGFyZSBuZXZlciBzZXQuIFRoaXMgaXMgaW1wb3J0YW50IGZvciB0aGUgZzcuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBheWxvYWRlciBub3cgc2V0cyBzb21lIGRlZmF1bHQgY2FwcyBvbiB0aGUgc3JjcGFkIGlmIGNhcHMgb24gdGhlIHNpbmtwYWQgYXJlIG5ldmVyIHNldC4gVGhpcyBpcyBpbXBvcnRhbnQgZm9yIHRoZSBnNzExIHRvIHdvcmsgd2l0aCBidXJnZXIncyBydHBiaW4gZWxlbWVudC4KCjIwMDUtMTAtMjggMTk6MTk6NDAgKzAwMDAgIEVkZ2FyZCBMaW1hIDxlZGdhcmQubGltYUBpbmR0Lm9yZy5icj4KCgkqIENoYW5nZUxvZzoKCSogY29tbW9uOgoJKiBleHQvc3BlZXgvZ3N0c3BlZXhlbmMuYzoKCSAgQWRkIGNoZWNrcyBmb3IgcmV0dXJuIHZhbHVlcyBmcm9tIGdzdF9wYWRfcHVzaCBhbmQgZ3N0X3BhZF9hbGxvY19idWZmZXIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBBZGQgY2hlY2tzIGZvciByZXR1cm4gdmFsdWVzIGZyb20gZ3N0X3BhZF9wdXNoIGFuZCBnc3RfcGFkX2FsbG9jX2J1ZmZlci4KCjIwMDUtMTAtMjggMTU6MzI6NDggKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvbWF0cm9za2EvOiBBZGQgU2ltcGxlQmxvY2sgc3VwcG9ydCB0byBtYXRyb3NrYSBkZW11eGVyIGFuZCBtdXhlciAocGFydCBvZgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUmV2aWV3ZWQgYnk6IFRpbS1QaGlsaXBwIE3DvGxsZXIgIDx0aW0gYXQgY2VudHJpY3VsYXIgZG90IG5ldD4KCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzogKGdzdF9tYXRyb3NrYV9kZW11eF9pbml0X3N0cmVhbSksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfcGFyc2VfaW5mbyksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfcGFyc2VfYmxvY2tncm91cF9vcl9zaW1wbGVibG9jayksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfcGFyc2VfY2x1c3Rlcik6CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLWlkcy5oOgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzogKGdzdF9tYXRyb3NrYV9tdXhfY2xhc3NfaW5pdCksCgkgIChnc3RfbWF0cm9za2FfbXV4X2luaXQpLCAoZ3N0X21hdHJvc2thX211eF9zdGFydCksCgkgIChnc3RfbWF0cm9za2FfbXV4X2NyZWF0ZV9idWZmZXJfaGVhZGVyKSwKCSAgKGdzdF9tYXRyb3NrYV9tdXhfd3JpdGVfZGF0YSksIChnc3RfbWF0cm9za2FfbXV4X3NldF9wcm9wZXJ0eSksCgkgIChnc3RfbWF0cm9za2FfbXV4X2dldF9wcm9wZXJ0eSk6CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5oOgoJICBBZGQgU2ltcGxlQmxvY2sgc3VwcG9ydCB0byBtYXRyb3NrYSBkZW11eGVyIGFuZCBtdXhlciAocGFydCBvZgoJICBNYXRyb3NrYSB2MikuICgjMzE5NzMxKQoKMjAwNS0xMC0yOCAxMzoyNDo0MCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGV4dC9qcGVnL2dzdGpwZWdkZWMuKjogQ2xlYW51cHMuIERvbid0IGNyZWF0ZSBjYXBzIGZvciBldmVyeSBjaGFpbi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2pwZWcvZ3N0anBlZ2RlYy5jOiAoZ3N0X2pwZWdfZGVjX2luaXQpLCAoZ3N0X2pwZWdfZGVjX2NoYWluKSwKCSAgKGdzdF9qcGVnX2RlY19jaGFuZ2Vfc3RhdGUpOgoJICAqIGV4dC9qcGVnL2dzdGpwZWdkZWMuaDoKCSAgQ2xlYW51cHMuIERvbid0IGNyZWF0ZSBjYXBzIGZvciBldmVyeSBjaGFpbi4KCjIwMDUtMTAtMjcgMTg6NDY6MzIgKzAwMDAgIEZsYXZpbyBPbGl2ZWlyYSA8ZmxhdmlvLm9saXZlaXJhQGluZHQub3JnLmJyPgoKCSogQ2hhbmdlTG9nOgoJKiBnc3QvbGF3L2FsYXctZW5jb2RlLmM6CgkqIGdzdC9sYXcvYWxhdy1lbmNvZGUuaDoKCSogZ3N0L2xhdy9tdWxhdy1lbmNvZGUuYzoKCSogZ3N0L2xhdy9tdWxhdy1lbmNvZGUuaDoKCSAgRml4IHRvIHNldCB0aW1lc3RhbXAgb24gYnVmZmVyLCBpdCB3YXMgdGVzdGVkIHdpdGggUlRQIEc3MTEgZWxlbWVudHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBGaXggdG8gc2V0IHRpbWVzdGFtcCBvbiBidWZmZXIsIGl0IHdhcyB0ZXN0ZWQgd2l0aCBSVFAgRzcxMSBlbGVtZW50cy4KCjIwMDUtMTAtMjcgMTE6Mjc6NTMgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4Lmg6IFJlbW92ZSBnb3RfcmVkaXJlY3QgZnJvbSBjbGFzcyBzdHJ1Y3R1cmUgYXMgd2VsbC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5oOgoJICBSZW1vdmUgZ290X3JlZGlyZWN0IGZyb20gY2xhc3Mgc3RydWN0dXJlIGFzIHdlbGwuCgoyMDA1LTEwLTI3IDExOjI1OjE5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBSZW1vdmUgJ2dvdC1yZWRpcmVjdCcgc2lnbmFsIGFuZCBwb3N0IGVsZW1lbnQgbWVzc2FnZSBvbiB0aGUgYnVzIGluc3RlYWQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKGdzdF9xdGRlbXV4X2NsYXNzX2luaXQpLAoJICAocXRkZW11eF9wYXJzZV90cmVlKToKCSAgUmVtb3ZlICdnb3QtcmVkaXJlY3QnIHNpZ25hbCBhbmQgcG9zdCBlbGVtZW50IG1lc3NhZ2UKCSAgb24gdGhlIGJ1cyBpbnN0ZWFkLgoKMjAwNS0xMC0yNyAxMTowMDo0MCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIHN5cy9vc3MvZ3N0b3Nzc3JjLmM6IFNldCBjb3JyZWN0IGZvcm1hdCBvbiBvc3MgaW5zdGVhZCBvZiBhIHNpbGx5IHZhbHVlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvb3NzL2dzdG9zc3NyYy5jOiAoZ3N0X29zc19zcmNfcHJlcGFyZSk6CgkgIFNldCBjb3JyZWN0IGZvcm1hdCBvbiBvc3MgaW5zdGVhZCBvZiBhIHNpbGx5IHZhbHVlLgoKMjAwNS0xMC0yNyAwOTo1MjowOCArMDAwMCAgSnVsaWVuIE1vdXR0ZSA8anVsaWVuQG1vdXR0ZS5uZXQ+CgoJICBnc3QvdmlkZW9ib3gvZ3N0dmlkZW9ib3guYzogVXNlIGxpYm9pbCBmb3IKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDUtMTAtMjcgIEp1bGllbiBNT1VUVEUgIDxqdWxpZW5AbW91dHRlLm5ldD4KCSAgKiBnc3QvdmlkZW9ib3gvZ3N0dmlkZW9ib3guYzogKGdzdF92aWRlb19ib3hfY2xhc3NfaW5pdCksCgkgIChnc3RfdmlkZW9fYm94X3RyYW5zZm9ybV9jYXBzKSwgKGdzdF92aWRlb19ib3hfc2V0X2NhcHMpLAoJICAoZ3N0X3ZpZGVvX2JveF9nZXRfdW5pdF9zaXplKSwgKGdzdF92aWRlb19ib3hfY29weV9wbGFuZV9pNDIwKSwKCSAgKGdzdF92aWRlb19ib3hfaTQyMCksIChnc3RfdmlkZW9fYm94X2F5dXYpOiBVc2UgbGlib2lsIGZvcgoJICBJNDIwIHJlbmRlcmluZyBhcyB3ZWxsLCBkb2Vzbid0IGJyaW5nIG11Y2ggZm9yIG15IHBsYXRmb3JtLgoJICBNaWdodCBoZWxwIG9uIHNvbWUgb3RoZXIgcGxhdGZvcm1zLgoKMjAwNS0xMC0yNiAyMTo0NzozNiArMDAwMCAgWmVlc2hhbiBBbGkgPHplZW5peEBnbWFpbC5jb20+CgoJKiBDaGFuZ2VMb2c6CgkqIGdzdC9ydHAvZ3N0cnRwZ3NtZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnc21lbmMuYzoKCSogZ3N0L3J0cC9nc3RydHBnc21wYXJzZS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGdzbXBheS5jOgoJICBEZWNsYXJpbmcgdGhlIHBhZHRlbXBsYXRlIGNvcnJlY3RseS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIERlY2xhcmluZyB0aGUgcGFkdGVtcGxhdGUgY29ycmVjdGx5LgoKMjAwNS0xMC0yNiAyMDoyODozMiArMDAwMCAgWmVlc2hhbiBBbGkgPHplZW5peEBnbWFpbC5jb20+CgoJKiBDaGFuZ2VMb2c6CgkqIGdzdC9ydHAvZ3N0cnRwZzcxMWRlYy5jOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MTFkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MTFlbmMuYzoKCSogZ3N0L3J0cC9nc3RydHBnNzExcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZ3NtZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnc21lbmMuYzoKCSogZ3N0L3J0cC9nc3RydHBnc21wYXJzZS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGdzbXBheS5jOgoJICBTZXR0aW5nIHRoZSBwcm9wZXIgY29weXJpZ2h0IG5vdGljZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFNldHRpbmcgdGhlIHByb3BlciBjb3B5cmlnaHQgbm90aWNlLgoKMjAwNS0xMC0yNiAxNzoyMzowNiArMDAwMCAgSnVsaWVuIE1vdXR0ZSA8anVsaWVuQG1vdXR0ZS5uZXQ+CgoJICBnc3QvdmlkZW9ib3gvTWFrZWZpbGUuYW06IFVzZSBsaWJvaWwuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA1LTEwLTI2ICBKdWxpZW4gTU9VVFRFICA8anVsaWVuQG1vdXR0ZS5uZXQ+CgkgICogZ3N0L3ZpZGVvYm94L01ha2VmaWxlLmFtOiBVc2UgbGlib2lsLgoJICAqIGdzdC92aWRlb2JveC9nc3R2aWRlb2JveC5jOiAoZ3N0X3ZpZGVvX2JveF9jbGFzc19pbml0KSwKCSAgKGdzdF92aWRlb19ib3hfc2V0X3Byb3BlcnR5KSwgKGdzdF92aWRlb19ib3hfdHJhbnNmb3JtX2NhcHMpLAoJICAoZ3N0X3ZpZGVvX2JveF9zZXRfY2FwcyksIChnc3RfdmlkZW9fYm94X2dldF91bml0X3NpemUpLAoJICAoZ3N0X3ZpZGVvX2JveF9heXV2KTogTG90IG9mIG9wdGltaXphdGlvbiBpbiBBWVVWIHJlbmRlcmluZwoJICB1c2luZyBsaWJvaWwuIFdpbGwgZG90IHRoZSBzYW1lIHRvIEk0MjAgYm9yZGVyIGdlbmVyYXRpb24KCSAgdG9tb3Jyb3cuCgoyMDA1LTEwLTI2IDE2OjM2OjAxICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIGdzdC9ydHAvTWFrZWZpbGUuYW06CgkgIGZpeCBhdXRvbWFrZSB3YXJuaW5ncwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgZml4IGF1dG9tYWtlIHdhcm5pbmdzCgoyMDA1LTEwLTI2IDE0OjUwOjU5ICswMDAwICBaZWVzaGFuIEFsaSA8emVlbml4QGdtYWlsLmNvbT4KCgkqIENoYW5nZUxvZzoKCSogZ3N0L3J0cC9nc3RydHBnNzExZGVjLmM6CgkqIGdzdC9ydHAvZ3N0cnRwZzcxMWRlYy5oOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MTFkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MTFkZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MTFlbmMuYzoKCSogZ3N0L3J0cC9nc3RydHBnNzExcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZ3NtZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnc21kZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGdzbWVuYy5jOgoJKiBnc3QvcnRwL2dzdHJ0cGdzbXBhcnNlLmM6CgkqIGdzdC9ydHAvZ3N0cnRwZ3NtcGFyc2UuaDoKCSogZ3N0L3J0cC9nc3RydHBnc21wYXkuYzoKCSAgSGFja2VkIHRoZSBHNzExIChkZSlwYXlsb2FkZXIgdG8gdHJ5IHRvIG1ha2UgdGhpbmdzIHJpZ2h0LiBydHBnNzExZGVjIG5vdyBpbmhlcml0cyBmcm9tIHRoZSBiYXNlcnRwZGVwYXlsb2FkZXIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBIYWNrZWQgdGhlIEc3MTEgKGRlKXBheWxvYWRlciB0byB0cnkgdG8gbWFrZSB0aGluZ3MgcmlnaHQuIHJ0cGc3MTFkZWMgbm93IGluaGVyaXRzIGZyb20gdGhlIGJhc2VydHBkZXBheWxvYWRlci4KCjIwMDUtMTAtMjYgMTQ6MjM6NDUgKzAwMDAgIEp1bGllbiBNb3V0dGUgPGp1bGllbkBtb3V0dGUubmV0PgoKCSAgZ3N0L3ZpZGVvYm94L2dzdHZpZGVvYm94LmM6IFJlbW92aW5nIHRoaXMgZm9yZ290dGVuIGRlYnVnLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNS0xMC0yNiAgSnVsaWVuIE1PVVRURSAgPGp1bGllbkBtb3V0dGUubmV0PgoJICAqIGdzdC92aWRlb2JveC9nc3R2aWRlb2JveC5jOiAoZ3N0X3ZpZGVvX2JveF9jbGFzc19pbml0KSwKCSAgKGdzdF92aWRlb19ib3hfdHJhbnNmb3JtX2NhcHMpLCAoZ3N0X3ZpZGVvX2JveF9nZXRfdW5pdF9zaXplKSwKCSAgKGdzdF92aWRlb19ib3hfYXl1dik6IFJlbW92aW5nIHRoaXMgZm9yZ290dGVuIGRlYnVnLgoKMjAwNS0xMC0yNiAxNDowODo0OSArMDAwMCAgSnVsaWVuIE1vdXR0ZSA8anVsaWVuQG1vdXR0ZS5uZXQ+CgoJICBnc3QvdmlkZW9ib3gvZ3N0dmlkZW9ib3guYzogRml4IHRoZSBzdHJpZGUgaXNzdWUgd2hlbiBib3hpbmcgdG8gQVlVVi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDUtMTAtMjYgIEp1bGllbiBNT1VUVEUgIDxqdWxpZW5AbW91dHRlLm5ldD4KCSAgKiBnc3QvdmlkZW9ib3gvZ3N0dmlkZW9ib3guYzogKGdzdF92aWRlb19ib3hfY2xhc3NfaW5pdCksCgkgIChnc3RfdmlkZW9fYm94X3RyYW5zZm9ybV9jYXBzKSwgKGdzdF92aWRlb19ib3hfZ2V0X3VuaXRfc2l6ZSksCgkgIChnc3RfdmlkZW9fYm94X2F5dXYpOiBGaXggdGhlIHN0cmlkZSBpc3N1ZSB3aGVuIGJveGluZyB0byBBWVVWLgoKMjAwNS0xMC0yNiAxMToxMjozNCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIHN5cy9vc3MvOiBBY3R1YWxseSB1c2UgdGhlICdvc3MnIGRlYnVnIGNhdGVnb3J5IHdlIHJlZ2lzdGVyLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvb3NzL2dzdG9zc2F1ZGlvLmM6CgkgICogc3lzL29zcy9nc3Rvc3NkbWFidWZmZXIuYzoKCSAgKiBzeXMvb3NzL2dzdG9zc2hlbHBlci5jOgoJICAqIHN5cy9vc3MvZ3N0b3NzbWl4ZXIuYzoKCSAgKiBzeXMvb3NzL2dzdG9zc21peGVyZWxlbWVudC5jOgoJICAqIHN5cy9vc3MvZ3N0b3NzbWl4ZXJ0cmFjay5jOgoJICAqIHN5cy9vc3MvZ3N0b3Nzc2luay5jOgoJICAqIHN5cy9vc3MvZ3N0b3Nzc3JjLmM6CgkgIEFjdHVhbGx5IHVzZSB0aGUgJ29zcycgZGVidWcgY2F0ZWdvcnkgd2UgcmVnaXN0ZXIuCgoyMDA1LTEwLTI2IDEwOjM4OjE4ICswMDAwICBKdWxpZW4gTW91dHRlIDxqdWxpZW5AbW91dHRlLm5ldD4KCgkgIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIuYzogVXNlIGdzdF9wYWRfZ2V0X3BhcmVudCBhbmQgZHJvcCB0aGUgcmVmIHRoYXQgd2FzIGFkZGVkIHRocm91Z2ggdGhhdCBjYWxsLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNS0xMC0yNiAgSnVsaWVuIE1PVVRURSAgPGp1bGllbkBtb3V0dGUubmV0PgoJICAqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIuYzoKCSAgKGdzdF92aWRlb21peGVyX3BhZF9zZXRfcHJvcGVydHkpLAoJICAoZ3N0X3ZpZGVvbWl4ZXJfcGFkX3Npbmtfc2V0Y2FwcyksIChnc3RfdmlkZW9taXhlcl9nZXRjYXBzKToKCSAgVXNlIGdzdF9wYWRfZ2V0X3BhcmVudCBhbmQgZHJvcCB0aGUgcmVmIHRoYXQgd2FzIGFkZGVkIHRocm91Z2gKCSAgdGhhdCBjYWxsLgoKMjAwNS0xMC0yNiAxMDowMzowMiArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBDaGFuZ2VMb2c6CgkqIGdzdC9ydHAvZ3N0cnRwZ3NtZW5jLmM6CgkqIGdzdC9ydHAvZ3N0cnRwZ3NtcGF5LmM6CgkgIGZpeCBjb21waWxhdGlvbgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgZml4IGNvbXBpbGF0aW9uCgoyMDA1LTEwLTI1IDIxOjA5OjM2ICswMDAwICBGbGF2aW8gT2xpdmVpcmEgPGZsYXZpby5vbGl2ZWlyYUBpbmR0Lm9yZy5icj4KCgkqIENoYW5nZUxvZzoKCSogZ3N0L3J0cC9nc3RydHBnNzExZGVjLmM6CgkqIGdzdC9ydHAvZ3N0cnRwZzcxMWRlcGF5LmM6CgkgIEp1c3QgcmVtb3ZlZCBhIGNvdXBsZSBvZiBsaW5lcyBvZiB3ZWlyZCBjb2RlIHVzZWQgZHVyaW5nIGRldmVsb3BtZW50L3Rlc3QgdGltZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEp1c3QgcmVtb3ZlZCBhIGNvdXBsZSBvZiBsaW5lcyBvZiB3ZWlyZCBjb2RlIHVzZWQgZHVyaW5nIGRldmVsb3BtZW50L3Rlc3QgdGltZS4KCjIwMDUtMTAtMjUgMTk6MTk6MzggKzAwMDAgIEZsYXZpbyBPbGl2ZWlyYSA8ZmxhdmlvLm9saXZlaXJhQGluZHQub3JnLmJyPgoKCSogQ2hhbmdlTG9nOgoJKiBnc3QvcnRwL01ha2VmaWxlLmFtOgoJKiBnc3QvcnRwL2dzdHJ0cC5jOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MTFkZWMuYzoKCSogZ3N0L3J0cC9nc3RydHBnNzExZGVjLmg6CgkqIGdzdC9ydHAvZ3N0cnRwZzcxMWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZzcxMWRlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwZzcxMWVuYy5jOgoJKiBnc3QvcnRwL2dzdHJ0cGc3MTFlbmMuaDoKCSogZ3N0L3J0cC9nc3RydHBnNzExcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZzcxMXBheS5oOgoJICBHNzExIHBheWxvYWRlciBhbmQgZGVwYXlsb2FkZXIgY3JlYXRlZCBieSBFZGdhcmQgTGltYSAoaXQgc3VwcG9ydHMgbXVsYXcgYW5kIGFsYXcgKGRlYyllbmNvZGVycykKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEc3MTEgcGF5bG9hZGVyIGFuZCBkZXBheWxvYWRlciBjcmVhdGVkIGJ5IEVkZ2FyZCBMaW1hIChpdCBzdXBwb3J0cwoJICBtdWxhdyBhbmQgYWxhdyAoZGVjKWVuY29kZXJzKQoKMjAwNS0xMC0yNSAxNzo1NToxOSArMDAwMCAgSnVsaWVuIE1vdXR0ZSA8anVsaWVuQG1vdXR0ZS5uZXQ+CgoJICBnc3QvdmlkZW9ib3gvZ3N0dmlkZW9ib3guYzogRG9oICEgSSBpbnRyb2R1Y2VkIHdpbmdvJ3MgYnVnIGFnYWluICEgU29ycnkuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDUtMTAtMjUgIEp1bGllbiBNT1VUVEUgIDxqdWxpZW5AbW91dHRlLm5ldD4KCSAgKiBnc3QvdmlkZW9ib3gvZ3N0dmlkZW9ib3guYzogKGdzdF92aWRlb19ib3hfY2xhc3NfaW5pdCksCgkgIChnc3RfdmlkZW9fYm94X3RyYW5zZm9ybV9jYXBzKSwgKGdzdF92aWRlb19ib3hfZ2V0X3VuaXRfc2l6ZSk6CgkgIERvaCAhIEkgaW50cm9kdWNlZCB3aW5nbydzIGJ1ZyBhZ2FpbiAhIFNvcnJ5Li4uCgoyMDA1LTEwLTI1IDE2OjAyOjM4ICswMDAwICBDaHJpc3RpYW4gU2NoYWxsZXIgPHVyYWV1c0Bnbm9tZS5vcmc+CgoJKiBDaGFuZ2VMb2c6CgkqIGdzdC9ydHAvTWFrZWZpbGUuYW06CgkgIGFkZCBtaXNzaW5nIGhlYWRlciBmaWxlcyBmb3IgZGlzdGluZwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgYWRkIG1pc3NpbmcgaGVhZGVyIGZpbGVzIGZvciBkaXN0aW5nCgoyMDA1LTEwLTI1IDE1OjA3OjAyICswMDAwICBaZWVzaGFuIEFsaSA8emVlbml4QGdtYWlsLmNvbT4KCgkqIENoYW5nZUxvZzoKCSogZ3N0L3J0cC9nc3RydHBnc21kZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGdzbWRlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwZ3NtZW5jLmM6CgkqIGdzdC9ydHAvZ3N0cnRwZ3NtZW5jLmg6CgkqIGdzdC9ydHAvZ3N0cnRwZ3NtcGFyc2UuYzoKCSogZ3N0L3J0cC9nc3RydHBnc21wYXJzZS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGdzbXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGdzbXBheS5oOgoJICBHZXR0aW5nIHRoZSBHU00gKGRlKXBheWxvYWRlciB3b3JraW5nIGFuZCBjb21wYXRpYmxlIHdpdGggb3VyIHBsYW5zIGZvciBSVFAuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBHZXR0aW5nIHRoZSBHU00gKGRlKXBheWxvYWRlciB3b3JraW5nIGFuZCBjb21wYXRpYmxlIHdpdGggb3VyIHBsYW5zIGZvciBSVFAuCgoyMDA1LTEwLTI1IDEzOjAzOjA0ICswMDAwICBDaHJpc3RpYW4gU2NoYWxsZXIgPHVyYWV1c0Bnbm9tZS5vcmc+CgoJKiBnc3QvcnRwL2dzdHJ0cC5jOgoJICBmaXggbWlzdGFrZW4gY2xhaW0gb24gR1BMLCBpdHMgTEdQTAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgZml4IG1pc3Rha2VuIGNsYWltIG9uIEdQTCwgaXRzIExHUEwKCjIwMDUtMTAtMjUgMTA6NDc6MDkgKzAwMDAgIEp1bGllbiBNb3V0dGUgPGp1bGllbkBtb3V0dGUubmV0PgoKCSAgZXh0L2xpYnBuZy9nc3RwbmdkZWMuYzogUHVzaCBhIG5ld3NlZ21lbnQgZXZlbnQsIG1vdmUgc29tZSByZWR1bmRhbnQgY29kZSBpbiBhIHNpbmdsZSBwbGFjZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDUtMTAtMjUgIEp1bGllbiBNT1VUVEUgIDxqdWxpZW5AbW91dHRlLm5ldD4KCSAgKiBleHQvbGlicG5nL2dzdHBuZ2RlYy5jOiAodXNlcl9pbmZvX2NhbGxiYWNrKSwKCSAgKGdzdF9wbmdkZWNfY2Fwc19jcmVhdGVfYW5kX3NldCksIChnc3RfcG5nZGVjX3Rhc2spOiBQdXNoCgkgIGEgbmV3c2VnbWVudCBldmVudCwgbW92ZSBzb21lIHJlZHVuZGFudCBjb2RlIGluIGEgc2luZ2xlIHBsYWNlLgoKMjAwNS0xMC0yNSAxMDoyMzoyNiArMDAwMCAgSnVsaWVuIE1vdXR0ZSA8anVsaWVuQG1vdXR0ZS5uZXQ+CgoJICBleHQvbGlicG5nL2dzdHBuZ2RlYy5jOiBUZW1wb3JhcnkgaGFjayB0byBnZXQgY29ycmVjdCBjb2xvcnMgb3JkZXIgd2hlbiB3ZSBoYXZlIGEgcG5nIGltYWdlIHdpdGggYWxwaGEgY2hhbm5lbC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDUtMTAtMjUgIEp1bGllbiBNT1VUVEUgIDxqdWxpZW5AbW91dHRlLm5ldD4KCSAgKiBleHQvbGlicG5nL2dzdHBuZ2RlYy5jOiAodXNlcl9pbmZvX2NhbGxiYWNrKSwKCSAgKGdzdF9wbmdkZWNfY2Fwc19jcmVhdGVfYW5kX3NldCksIChnc3RfcG5nZGVjX3Rhc2spOiBUZW1wb3JhcnkKCSAgaGFjayB0byBnZXQgY29ycmVjdCBjb2xvcnMgb3JkZXIgd2hlbiB3ZSBoYXZlIGEgcG5nIGltYWdlIHdpdGgKCSAgYWxwaGEgY2hhbm5lbC4KCjIwMDUtMTAtMjQgMTc6Mjk6MDIgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBleHQvZHYvZ3N0ZHZkZW11eC5jOiBDYWxsIGdzdF9lbGVtZW50X25vX21vcmVfcGFkcyB3aGVuIHRoZXJlIHdpbGwgYmUgbm8gbW9yZSBwYWRzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZHYvZ3N0ZHZkZW11eC5jOiAoZ3N0X2R2ZGVtdXhfYWRkX3BhZHMpOgoJICBDYWxsIGdzdF9lbGVtZW50X25vX21vcmVfcGFkcyB3aGVuIHRoZXJlIHdpbGwgYmUgbm8gbW9yZSBwYWRzLgoKMjAwNS0xMC0yNCAxNjozOTozOCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHAvOiBBZGRlZCB0d28gbmV3IHBheWxvYWRlcnMsIGFuIFJGQyAyMTkwIHBheWxvYWRlciBmb3IgaDI2MyBhbmQgYSBwYXlsb2FkIGNvbnZlcnRvciBmb3IgYW4gYXN0ZXJpc2sgc2VydmVyLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwL01ha2VmaWxlLmFtOgoJICAqIGdzdC9ydHAvZ3N0YXN0ZXJpc2toMjYzLmM6IChnc3RfYXN0ZXJpc2toMjYzX2dldF90eXBlKSwKCSAgKGdzdF9hc3Rlcmlza2gyNjNfYmFzZV9pbml0KSwgKGdzdF9hc3Rlcmlza2gyNjNfY2xhc3NfaW5pdCksCgkgIChnc3RfYXN0ZXJpc2toMjYzX2luaXQpLCAoZ3N0X2FzdGVyaXNraDI2M19maW5hbGl6ZSksCgkgIChnc3RfYXN0ZXJpc2toMjYzX2NoYWluKSwgKGdzdF9hc3Rlcmlza2gyNjNfc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9hc3Rlcmlza2gyNjNfZ2V0X3Byb3BlcnR5KSwgKGdzdF9hc3Rlcmlza2gyNjNfY2hhbmdlX3N0YXRlKSwKCSAgKGdzdF9hc3Rlcmlza2gyNjNfcGx1Z2luX2luaXQpOgoJICAqIGdzdC9ydHAvZ3N0YXN0ZXJpc2toMjYzLmg6CgkgICogZ3N0L3J0cC9nc3RydHAuYzogKHBsdWdpbl9pbml0KToKCSAgKiBnc3QvcnRwL2dzdHJ0cGgyNjNlbmMuYzogKGdzdF9ydHBoMjYzZW5jX2dldF90eXBlKSwKCSAgKGdzdF9ydHBoMjYzZW5jX2Jhc2VfaW5pdCksIChnc3RfcnRwaDI2M2VuY19jbGFzc19pbml0KSwKCSAgKGdzdF9ydHBoMjYzZW5jX2luaXQpLCAoZ3N0X3J0cGgyNjNlbmNfZmluYWxpemUpLAoJICAoZ3N0X3J0cGgyNjNlbmNfc2V0Y2FwcyksIChnc3RfcnRwaDI2M2VuY19nb2JmaW5lciksCgkgIChnc3RfcnRwaDI2M2VuY19mbHVzaCksIChnc3RfcnRwaDI2M2VuY19oYW5kbGVfYnVmZmVyKSwKCSAgKGdzdF9ydHBoMjYzZW5jX3BsdWdpbl9pbml0KToKCSAgKiBnc3QvcnRwL2dzdHJ0cGgyNjNlbmMuaDoKCSAgQWRkZWQgdHdvIG5ldyBwYXlsb2FkZXJzLCBhbiBSRkMgMjE5MCBwYXlsb2FkZXIgZm9yIGgyNjMgYW5kCgkgIGEgcGF5bG9hZCBjb252ZXJ0b3IgZm9yIGFuIGFzdGVyaXNrIHNlcnZlci4KCjIwMDUtMTAtMjQgMTU6NTc6MTcgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBzeXMvb3NzL2dzdG9zc3NyYy5jOiBTZXQgYnl0ZXNfcGVyX3NhbXBsZSBjb3JyZWN0bHkgKGlzIG5vdCBhbHdheXMgNCwgYnV0IGRlcGVuZHMgb24gd2lkdGggYW5kIG51bWJlciBvZiBjaGFubmVscykuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy9vc3MvZ3N0b3Nzc3JjLmM6IChnc3Rfb3NzX3NyY19wcmVwYXJlKToKCSAgU2V0IGJ5dGVzX3Blcl9zYW1wbGUgY29ycmVjdGx5IChpcyBub3QgYWx3YXlzIDQsIGJ1dAoJICBkZXBlbmRzIG9uIHdpZHRoIGFuZCBudW1iZXIgb2YgY2hhbm5lbHMpLgoKMjAwNS0xMC0yNCAxNTo1MDowNiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC9mbGFjL2dzdGZsYWNlbmMuKjogRml4IHNlZWtpbmcsIHNvIHRoYXQgZmxhY2VuYyBjYW4gcmV3cml0ZSB0aGUgaGVhZGVyIHdpdGggdGhlIGNvcnJlY3QgZHVyYXRpb24gYW5kIGFtb3VudCBvZiBzYS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZmxhYy9nc3RmbGFjZW5jLmM6IChnc3RfZmxhY2VuY19iYXNlX2luaXQpLAoJICAoZ3N0X2ZsYWNlbmNfaW5pdCksIChnc3RfZmxhY2VuY19zaW5rX3NldGNhcHMpLAoJICAoZ3N0X2ZsYWNlbmNfc2Vla19jYWxsYmFjayksIChnc3RfZmxhY2VuY193cml0ZV9jYWxsYmFjayksCgkgIChnc3RfZmxhY2VuY19zaW5rX2V2ZW50KSwgKGdzdF9mbGFjZW5jX2NoYWluKSwKCSAgKGdzdF9mbGFjZW5jX3NldF9wcm9wZXJ0eSksIChnc3RfZmxhY2VuY19nZXRfcHJvcGVydHkpLAoJICAoZ3N0X2ZsYWNlbmNfY2hhbmdlX3N0YXRlKToKCSAgKiBleHQvZmxhYy9nc3RmbGFjZW5jLmg6CgkgIEZpeCBzZWVraW5nLCBzbyB0aGF0IGZsYWNlbmMgY2FuIHJld3JpdGUgdGhlIGhlYWRlciB3aXRoIHRoZQoJICBjb3JyZWN0IGR1cmF0aW9uIGFuZCBhbW91bnQgb2Ygc2FtcGxlcyBhbmQgYWxsIHRoYXQgYXQgRU9TOwoJICBhbHNvIHNldCB0aW1lc3RhbXBzIGFuZCBncmFudWxlcG9zIG9uIG91dGdvaW5nIGJ1ZmZlcnM7IGFkZAoJICBkZWJ1ZyBjYXRlZ29yeTsgZml4IHN0YXRlIGNoYW5nZSBmdW5jdGlvbi4KCjIwMDUtMTAtMjQgMTM6NDY6MDkgKzAwMDAgIEp1bGllbiBNb3V0dGUgPGp1bGllbkBtb3V0dGUubmV0PgoKCSAgZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlci5jOiBEb24ndCByZXN0cmljdCB2aWRlbyBnZW9tZXRyeSBmcm9tIDE2IHRvIDQwOTYuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA1LTEwLTI0ICBKdWxpZW4gTU9VVFRFICA8anVsaWVuQG1vdXR0ZS5uZXQ+CgkgICogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlci5jOiBEb24ndCByZXN0cmljdCB2aWRlbyBnZW9tZXRyeQoJICBmcm9tIDE2IHRvIDQwOTYuCgoyMDA1LTEwLTI0IDEzOjIyOjE0ICswMDAwICBKdWxpZW4gTW91dHRlIDxqdWxpZW5AbW91dHRlLm5ldD4KCgkgIGdzdC92aWRlb2JveC9nc3R2aWRlb2JveC5jOiBGaXggY2FwcyBuZWdvdGlhdGlvbiBjb3JyZWN0bHksIGFkZCBkZWJ1Z2dpbmcgY2F0ZWdvcnkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA1LTEwLTI0ICBKdWxpZW4gTU9VVFRFICA8anVsaWVuQG1vdXR0ZS5uZXQ+CgkgICogZ3N0L3ZpZGVvYm94L2dzdHZpZGVvYm94LmM6IChnc3RfdmlkZW9fYm94X2NsYXNzX2luaXQpLAoJICAoZ3N0X3ZpZGVvX2JveF90cmFuc2Zvcm1fY2FwcyksIChnc3RfdmlkZW9fYm94X2dldF91bml0X3NpemUpOgoJICBGaXggY2FwcyBuZWdvdGlhdGlvbiBjb3JyZWN0bHksIGFkZCBkZWJ1Z2dpbmcgY2F0ZWdvcnkuCgoyMDA1LTEwLTI0IDEzOjAyOjQ3ICswMDAwICBDaHJpc3RpYW4gU2NoYWxsZXIgPHVyYWV1c0Bnbm9tZS5vcmc+CgoJKiBDaGFuZ2VMb2c6CgkqIGNvbmZpZ3VyZS5hYzoKCSAgcG9ydCBvdmVyIHBsdWdpbiBsaXN0aW5nIGZyb20gYmFzZQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgcG9ydCBvdmVyIHBsdWdpbiBsaXN0aW5nIGZyb20gYmFzZQoKMjAwNS0xMC0yNCAwODo1OToyNCArMDAwMCAgSnVsaWVuIE1vdXR0ZSA8anVsaWVuQG1vdXR0ZS5uZXQ+CgoJICBleHQvbGlicG5nL2dzdHBuZ2RlYy5jOiBEb24ndCB1c2UgZml4ZWQgY2FwcyBvbiBhIHNpbmsgcGFkLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNS0xMC0yNCAgSnVsaWVuIE1PVVRURSAgPGp1bGllbkBtb3V0dGUubmV0PgoJICAqIGV4dC9saWJwbmcvZ3N0cG5nZGVjLmM6IChnc3RfcG5nZGVjX2luaXQpOiBEb24ndCB1c2UgZml4ZWQKCSAgY2FwcyBvbgoJICBhIHNpbmsgcGFkLgoKMjAwNS0xMC0yMyAyMzowNTo1OSArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBDaGFuZ2VMb2c6CgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy91cGxvYWQubWFrOgoJICBiYWNrIHRvIEhFQUQKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGJhY2sgdG8gSEVBRAoKPT09IHJlbGVhc2UgMC45LjQgPT09CgoyMDA1LTEwLTIzIDIyOjQzOjA4ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIENoYW5nZUxvZzoKCSogTkVXUzoKCSogUkVMRUFTRToKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL01ha2VmaWxlLmFtOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuc2lnbmFsczoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLTEzOTQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWFzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGFjb2xvci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9kZXRlY3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXZpLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhY2FzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhaXJvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZW5jZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZmZlY3R2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVzZHNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmxhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHhkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2NvbmZlbGVtZW50cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwZWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGV2ZWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWF0cm9za2EueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmF2aWdhdGlvbnRlc3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5nLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHNwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNob3V0MnNlbmQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc21wdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdWRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvYm94LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvZmxpcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb21peGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYXJzZS54bWw6CgkqIHBvL2FmLnBvOgoJKiBwby9hei5wbzoKCSogcG8vY3MucG86CgkqIHBvL2VuX0dCLnBvOgoJKiBwby9odS5wbzoKCSogcG8vaXQucG86CgkqIHBvL25iLnBvOgoJKiBwby9ubC5wbzoKCSogcG8vb3IucG86CgkqIHBvL3NxLnBvOgoJKiBwby9zci5wbzoKCSogcG8vc3YucG86CgkqIHBvL3VrLnBvOgoJKiBwby92aS5wbzoKCSAgcmVsZWFzaW5nIDAuOS40CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICByZWxlYXNpbmcgMC45LjQKCjIwMDUtMTAtMjMgMTE6MDc6MTAgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogZXh0L2xpYnBuZy9nc3RwbmdkZWMuYzoKCSogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6CgkqIHBvL1BPVEZJTEVTLmluOgoJICBTVE9QUEVELT5GQUlMRUQKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFNUT1BQRUQtPkZBSUxFRAoKMjAwNS0xMC0yMSAxNzowMDo1OCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC9zcGVleC9nc3RzcGVleGVuYy5jOiBBZGQgcG9zaXRpb24gYW5kIGR1cmF0aW9uIHF1ZXJ5LCBmaXggcXVlcnkgdHlwZSBmdW5jdGlvbi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3NwZWV4L2dzdHNwZWV4ZW5jLmM6IChnc3Rfc3BlZXhlbmNfZ2V0X3F1ZXJ5X3R5cGVzKSwKCSAgKGdzdF9zcGVleGVuY19zcmNfcXVlcnkpOgoJICBBZGQgcG9zaXRpb24gYW5kIGR1cmF0aW9uIHF1ZXJ5LCBmaXggcXVlcnkgdHlwZSBmdW5jdGlvbi4KCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzogKGdzdF9tYXRyb3NrYV9kZW11eF9hZGRfc3RyZWFtKSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF92aWRlb19jYXBzKSwgKGdzdF9tYXRyb3NrYV9kZW11eF9hdWRpb19jYXBzKToKCSAgTGV0J3Mgbm90IHNldCBub24tZml4ZWQgY2FwcyBvbiBzb3VyY2UgcGFkcy4KCjIwMDUtMTAtMjEgMTY6MTU6NTcgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBTZXQgY29ycmVjdCBzdHJlYW1fdGltZSBpbiBuZXdzZWdtZW50IGV2ZW50LiBhdmkgY2FuIGFsc28gaGFuZGxlIGEgZHVyYXRpb24gcXVlcnkgbm93LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZHYvZ3N0ZHZkZW11eC5jOiAoZ3N0X2R2ZGVtdXhfZGVtdXhfZnJhbWUpOgoJICAqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzogKGdzdF9hdmlfZGVtdXhfZ2V0X3NyY19xdWVyeV90eXBlcyksCgkgIChnc3RfYXZpX2RlbXV4X2hhbmRsZV9zZWVrKToKCSAgU2V0IGNvcnJlY3Qgc3RyZWFtX3RpbWUgaW4gbmV3c2VnbWVudCBldmVudC4KCSAgYXZpIGNhbiBhbHNvIGhhbmRsZSBhIGR1cmF0aW9uIHF1ZXJ5IG5vdy4KCjIwMDUtMTAtMjEgMTA6MDY6NDAgKzAwMDAgIENocmlzdGlhbiBTY2hhbGxlciA8dXJhZXVzQGdub21lLm9yZz4KCgkqIGdzdC1wbHVnaW5zLWdvb2Quc3BlYy5pbjoKCSAgdXBkYXRlIGZvciBsYXRlc3QgYWRkaXRpb25zCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICB1cGRhdGUgZm9yIGxhdGVzdCBhZGRpdGlvbnMKCjIwMDUtMTAtMjAgMTk6MTQ6MjcgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzogRml4IGR1cmF0aW9uIHF1ZXJ5OyBmaXggYmFzZXRpbWUgaW4gbmV3c2VnbWVudCBldmVudCBhZnRlciBzZWVrOyBmaXggZHVyYXRpb24gaW4gaW5pdGkuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIChnc3RfbWF0cm9za2FfZGVtdXhfaGFuZGxlX3NyY19xdWVyeSksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfaGFuZGxlX3NlZWtfZXZlbnQpLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X2xvb3Bfc3RyZWFtX3BhcnNlX2lkKToKCSAgRml4IGR1cmF0aW9uIHF1ZXJ5OyBmaXggYmFzZXRpbWUgaW4gbmV3c2VnbWVudCBldmVudCBhZnRlcgoJICBzZWVrOyBmaXggZHVyYXRpb24gaW4gaW5pdGlhbCBuZXdzZWdtZW50IGV2ZW50LgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSAgKGdzdF9tYXRyb3NrYV9tdXhfYXVkaW9fcGFkX3NldGNhcHMpLCAoZ3N0X21hdHJvc2thX211eF9zdGFydCk6CgkgIEV4dHJhY3QgbnVtYmVyIG9mIGNoYW5uZWxzIGFuZCBzYW1wbGVyYXRlIGZyb20gdm9yYmlzIGhlYWRlcnM7CgkgIGFkZCBzb21lIGRlYnVnIG1lc3NhZ2VzIHdoZW4gcXVlcnlpbmcgdGhlIGR1cmF0aW9ucyBvZiB0aGUKCSAgaW5wdXQgc3RyZWFtcy4KCjIwMDUtMTAtMjAgMTE6NTA6NTMgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzogU2V0IHN0cmVhbSB0aW1lIGNvcnJlY3RseSBpbiBuZXdzZWdtZW50LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzogKGdzdF93YXZwYXJzZV9oYW5kbGVfc2VlayksCgkgIChnc3Rfd2F2cGFyc2Vfc3RyZWFtX2hlYWRlcnMpLCAoZ3N0X3dhdnBhcnNlX3N0cmVhbV9kYXRhKSwKCSAgKGdzdF93YXZwYXJzZV9wYWRfY29udmVydCksIChnc3Rfd2F2cGFyc2Vfc3JjcGFkX2V2ZW50KToKCSAgU2V0IHN0cmVhbSB0aW1lIGNvcnJlY3RseSBpbiBuZXdzZWdtZW50LgoKMjAwNS0xMC0yMCAxMTozOTo0MCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzogQ29ycmVjdGx5IGZpbGwgaW4gdGhlIHN0cmVhbSB0aW1lLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6IChnc3RfYXZpX2RlbXV4X2hhbmRsZV9zZWVrKToKCSAgQ29ycmVjdGx5IGZpbGwgaW4gdGhlIHN0cmVhbSB0aW1lLgoKMjAwNS0xMC0xOSAyMDo0ODoyNCArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBDaGFuZ2VMb2c6CgkqIGNoZWNrL2VsZW1lbnRzL2xldmVsLmM6CgkqIGdzdC9sZXZlbC9nc3RsZXZlbC5jOgoJKiBnc3QvbGV2ZWwvbGV2ZWwtZXhhbXBsZS5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9sZXZlbC5jOgoJICB1c2UgRUxFTUVOVCBtZXNzYWdlcyBpbnN0ZWFkCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICB1c2UgRUxFTUVOVCBtZXNzYWdlcyBpbnN0ZWFkCgoyMDA1LTEwLTE5IDE1OjU4OjAwICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0LzogQVBJIGNoYW5nZSBmaXguCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKGdzdF9xdGRlbXV4X2dldF9zcmNfcXVlcnlfdHlwZXMpLAoJICAoZ3N0X3F0ZGVtdXhfaGFuZGxlX3NyY19xdWVyeSk6CgkgICogZ3N0L3NwZWVkL2dzdHNwZWVkLmM6IChzcGVlZF9nZXRfcXVlcnlfdHlwZXMpLCAoc3BlZWRfc3JjX3F1ZXJ5KToKCSAgKiBnc3QvdHRhL2dzdHR0YXBhcnNlLmM6IChnc3RfdHRhX3BhcnNlX3NyY19ldmVudCksCgkgIChnc3RfdHRhX3BhcnNlX2dldF9xdWVyeV90eXBlcyksIChnc3RfdHRhX3BhcnNlX3F1ZXJ5KToKCSAgQVBJIGNoYW5nZSBmaXguCgoyMDA1LTEwLTE5IDE1OjU3OjA0ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgQVBJIGNoYW5nZSBmaXguCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9kdi9nc3RkdmRlbXV4LmM6IChnc3RfZHZkZW11eF9nZXRfc3JjX3F1ZXJ5X3R5cGVzKSwKCSAgKGdzdF9kdmRlbXV4X3NyY19xdWVyeSk6CgkgICogZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5jOiAoZ3N0X2ZsYWNkZWNfbGVuZ3RoKSwKCSAgKGdzdF9mbGFjZGVjX3NyY19xdWVyeSk6CgkgICogZXh0L3JhdzEzOTQvZ3N0ZHYxMzk0c3JjLmM6IChnc3RfZHYxMzk0c3JjX3F1ZXJ5KToKCSAgKiBleHQvc3BlZXgvZ3N0c3BlZXhkZWMuYzogKHNwZWV4X2RlY19zcmNfcXVlcnkpOgoJICAqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzogKGdzdF9hdmlfZGVtdXhfaGFuZGxlX3NyY19xdWVyeSk6CgkgICogZ3N0L2RlYnVnL2dzdG5hdnNlZWsuYzogKGdzdF9uYXZzZWVrX3NlZWspOgoJICAqIGdzdC9kZWJ1Zy9wcm9ncmVzc3JlcG9ydC5jOiAoZ3N0X3Byb2dyZXNzX3JlcG9ydF9yZXBvcnQpOgoJICAqIGdzdC9tYXRyb3NrYS9lYm1sLXJlYWQuYzogKGdzdF9lYm1sX3JlYWRfZ2V0X2xlbmd0aCk6CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIChnc3RfbWF0cm9za2FfZGVtdXhfaGFuZGxlX3NyY19xdWVyeSk6CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOiAoZ3N0X21hdHJvc2thX211eF9zdGFydCk6CgkgICogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6IChnc3Rfd2F2cGFyc2VfaGFuZGxlX3NlZWspLAoJICAoZ3N0X3dhdnBhcnNlX3N0cmVhbV9oZWFkZXJzKSwgKGdzdF93YXZwYXJzZV9zdHJlYW1fZGF0YSksCgkgIChnc3Rfd2F2cGFyc2VfcGFkX2NvbnZlcnQpLCAoZ3N0X3dhdnBhcnNlX3BhZF9xdWVyeSksCgkgIChnc3Rfd2F2cGFyc2Vfc3JjcGFkX2V2ZW50KToKCSAgQVBJIGNoYW5nZSBmaXguCgoyMDA1LTEwLTE5IDEwOjU3OjQ2ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L2dvb20vOiBNYWtlIGlubGluZSBmdW5jdGlvbnMgZWl0aGVyICdzdGF0aWMgaW5saW5lJyBvciAnZXh0ZXJuIGlubGluZScsIG90aGVyd2lzZSB0aGUgRm9ydGUgY29tcGlsZXIgYXBwYXJlbnRseSB3Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9nb29tL2ZpbHRlcnMuYzoKCSAgKiBnc3QvZ29vbS9ncmFwaGljLmg6CgkgICogZ3N0L2dvb20vbGluZXMuYzoKCSAgTWFrZSBpbmxpbmUgZnVuY3Rpb25zIGVpdGhlciAnc3RhdGljIGlubGluZScgb3IgJ2V4dGVybiBpbmxpbmUnLAoJICBvdGhlcndpc2UgdGhlIEZvcnRlIGNvbXBpbGVyIGFwcGFyZW50bHkgd29uJ3QgaW5saW5lIHRoZW0gKCMzMTczMDApLgoKMjAwNS0xMC0xOCAyMjo1MDoxMSArMDAwMCAgSnVsaWVuIE1vdXR0ZSA8anVsaWVuQG1vdXR0ZS5uZXQ+CgoJICBleHQvbGlicG5nL2dzdHBuZ2RlYy5jOiBmb3Jnb3QgdGhlIGJ1ZmZlciB1bnJlZiBpbiBwdWxsLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNS0xMC0xOSAgSnVsaWVuIE1PVVRURSAgPGp1bGllbkBtb3V0dGUubmV0PgoJICAqIGV4dC9saWJwbmcvZ3N0cG5nZGVjLmM6IGZvcmdvdCB0aGUgYnVmZmVyIHVucmVmIGluIHB1bGwuCgoyMDA1LTEwLTE4IDIyOjQ0OjExICswMDAwICBKdWxpZW4gTW91dHRlIDxqdWxpZW5AbW91dHRlLm5ldD4KCgkgIGV4dC9saWJwbmcvZ3N0cG5nZGVjLio6IENvbXBsZXRlIHJld3JpdGUgb2YgcG5nZGVjLiBJdCdzIG5vdyB2ZXJ5IG5pY2UgYW5kIGhhbmRsZSBwdXNoL3B1bGwgYmFzZWQgbW9kZWwuIGlmIHlvdSBoYXZlIC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNS0xMC0xOSAgSnVsaWVuIE1PVVRURSAgPGp1bGllbkBtb3V0dGUubmV0PgoJICAqIGV4dC9saWJwbmcvZ3N0cG5nZGVjLmM6IChnc3RfcG5nZGVjX2NsYXNzX2luaXQpLAoJICAoZ3N0X3BuZ2RlY19pbml0KSwgKHVzZXJfZXJyb3JfZm4pLCAodXNlcl93YXJuaW5nX2ZuKSwKCSAgKHVzZXJfaW5mb19jYWxsYmFjayksICh1c2VyX2VuZHJvd19jYWxsYmFjayksCgkgICh1c2VyX2VuZF9jYWxsYmFjayksCgkgICh1c2VyX3JlYWRfZGF0YSksIChnc3RfcG5nZGVjX2NhcHNfY3JlYXRlX2FuZF9zZXQpLAoJICAoZ3N0X3BuZ2RlY190YXNrKSwgKGdzdF9wbmdkZWNfY2hhaW4pLCAoZ3N0X3BuZ2RlY19zaW5rX2V2ZW50KSwKCSAgKGdzdF9wbmdkZWNfbGlicG5nX2NsZWFyKSwgKGdzdF9wbmdkZWNfbGlicG5nX2luaXQpLAoJICAoZ3N0X3BuZ2RlY19jaGFuZ2Vfc3RhdGUpLCAoZ3N0X3BuZ2RlY19zaW5rX2FjdGl2YXRlX3B1c2gpLAoJICAoZ3N0X3BuZ2RlY19zaW5rX2FjdGl2YXRlX3B1bGwpLCAoZ3N0X3BuZ2RlY19zaW5rX2FjdGl2YXRlKToKCSAgKiBleHQvbGlicG5nL2dzdHBuZ2RlYy5oOiBDb21wbGV0ZSByZXdyaXRlIG9mIHBuZ2RlYy4gSXQncyBub3cKCSAgdmVyeSBuaWNlIGFuZCBoYW5kbGUgcHVzaC9wdWxsIGJhc2VkIG1vZGVsLiBpZiB5b3UgaGF2ZSBmaWxlc3JjCgkgIGNvbm5lY3RlZCB0byBpdCwgaXQgd2lsbCBkbyByYW5kb20gYWNjZXNzIHRvIGxvYWQgdGhlIHBuZyBmaWxlLgoJICBJZiB5b3UgaGF2ZSBhIG5ldHdvcmsgc291cmNlIHRoYXQgY2FuJ3QgZG8gX2dldHJhbmdlLCBpdCBkb2VzCgkgIHByb2dyZXNzaXZlIGxvYWRpbmcgdGhyb3VnaCB0aGUgY2hhaW4gZnVuY3Rpb24uCgkgICogZ3N0L2FscGhhL2dzdGFscGhhY29sb3IuYzogKGdzdF9hbHBoYV9jb2xvcl90cmFuc2Zvcm1fY2FwcyksCgkgICh0cmFuc2Zvcm1fcmdiKSwgKHRyYW5zZm9ybV9iZ3IpOiBGaXggY2FwcyBuZWdvdGlhdGlvbiBjb3JyZWN0bHkKCSAgdGhhbmtzIHRvIE1hc3RlciBXaW0gVGF5bWFucyA7LSkKCjIwMDUtMTAtMTggMTg6MTI6MzEgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvbWF0cm9za2EvOiBQb3J0ZWQgbWF0cm9za2EgZGVtdXhlciB0byAwLjkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tYXRyb3NrYS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvbWF0cm9za2EvZWJtbC1yZWFkLmM6CgkgICogZ3N0L21hdHJvc2thL2VibWwtcmVhZC5oOgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5oOgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS5jOiAocGx1Z2luX2luaXQpOgoJICBQb3J0ZWQgbWF0cm9za2EgZGVtdXhlciB0byAwLjkuCgoyMDA1LTEwLTE4IDE4OjA2OjE0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOiBGaXggbXBlZzQgaW5wdXQgaGFuZGxpbmcgKCMzMTg4NDcpOyBhbHNvLCB3aGlsZSB3ZSdyZSBhdCBpdCwgZml4IG1lZGlhIHR5cGUgZm9yIE1vdGlvbi1KLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBSZXZpZXdlZCBieTogVGltLVBoaWxpcHAgTcO8bGxlciAgPHRpbSBhdCBjZW50cmljdWxhciBkb3QgbmV0PgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguYzoKCSAgKGdzdF9tYXRyb3NrYV9tdXhfdmlkZW9fcGFkX3NldGNhcHMpLAoJICAoZ3N0X21hdHJvc2thX211eF9hdWRpb19wYWRfc2V0Y2Fwcyk6CgkgIEZpeCBtcGVnNCBpbnB1dCBoYW5kbGluZyAoIzMxODg0Nyk7IGFsc28sIHdoaWxlIHdlJ3JlIGF0IGl0LAoJICBmaXggbWVkaWEgdHlwZSBmb3IgTW90aW9uLUpQRUc6IHNob3VsZCBiZSBpbWFnZS9qcGVnLgoKMjAwNS0xMC0xOCAxMzoyMToxOCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOiBGaXggZm9yIHNlZ21lbnQtc3RhcnQvc3RvcCBBUEkgY2hhbmdlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzogKGdzdF93YXZwYXJzZV9oYW5kbGVfc2VlayksCgkgIChnc3Rfd2F2cGFyc2Vfc3RyZWFtX2hlYWRlcnMpLCAoZ3N0X3dhdnBhcnNlX3N0cmVhbV9kYXRhKSwKCSAgKGdzdF93YXZwYXJzZV9wYWRfY29udmVydCksIChnc3Rfd2F2cGFyc2Vfc3JjcGFkX2V2ZW50KToKCSAgRml4IGZvciBzZWdtZW50LXN0YXJ0L3N0b3AgQVBJIGNoYW5nZS4KCjIwMDUtMTAtMTcgMTc6MTg6NTYgKzAwMDAgIEp1bGllbiBNb3V0dGUgPGp1bGllbkBtb3V0dGUubmV0PgoKCSAgZ3N0L2FscGhhL2dzdGFscGhhY29sb3IuYzogSGFuZGxlIGNhcHMgbmVnb3RpYXRpb24gaW4gYSBiZXR0ZXIgd2F5LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNS0xMC0xNyAgSnVsaWVuIE1PVVRURSAgPGp1bGllbkBtb3V0dGUubmV0PgoJICAqIGdzdC9hbHBoYS9nc3RhbHBoYWNvbG9yLmM6IChnc3RfYWxwaGFfY29sb3JfdHJhbnNmb3JtX2NhcHMpLAoJICAodHJhbnNmb3JtX3JnYiksICh0cmFuc2Zvcm1fYmdyKTogSGFuZGxlIGNhcHMgbmVnb3RpYXRpb24gaW4gYQoJICBiZXR0ZXIKCSAgd2F5LgoKMjAwNS0xMC0xNyAxNjo1OToyMCArMDAwMCAgSnVsaWVuIE1vdXR0ZSA8anVsaWVuQG1vdXR0ZS5uZXQ+CgoJICBnc3QvdmlkZW9ib3gvZ3N0dmlkZW9ib3guYzogRml4IGNhcHMgbmVnbyBzb21lIG1vcmUgdG8gZ2V0CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA1LTEwLTE3ICBKdWxpZW4gTU9VVFRFICA8anVsaWVuQG1vdXR0ZS5uZXQ+CgkgICogZ3N0L3ZpZGVvYm94L2dzdHZpZGVvYm94LmM6IChnc3RfdmlkZW9fYm94X3RyYW5zZm9ybV9jYXBzKSwKCSAgKGdzdF92aWRlb19ib3hfZ2V0X3VuaXRfc2l6ZSk6IEZpeCBjYXBzIG5lZ28gc29tZSBtb3JlIHRvIGdldAoJICBBWVVWCgkgIG91dHB1dCBkZWNsYXJlZCBpbiB0cmFuc2Zvcm1fY2Fwcy4KCjIwMDUtMTAtMTcgMTU6MjM6MjQgKzAwMDAgIEp1bGllbiBNb3V0dGUgPGp1bGllbkBtb3V0dGUubmV0PgoKCSAgZXh0L2xpYnBuZy9nc3RwbmdkZWMuYzogV2UgdXNlIGZpeGVkIGNhcHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA1LTEwLTE3ICBKdWxpZW4gTU9VVFRFICA8anVsaWVuQG1vdXR0ZS5uZXQ+CgkgICogZXh0L2xpYnBuZy9nc3RwbmdkZWMuYzogKGdzdF9wbmdkZWNfaW5pdCk6IFdlIHVzZSBmaXhlZCBjYXBzLgoKMjAwNS0xMC0xNyAxNToxNDoyOSArMDAwMCAgSnVsaWVuIE1vdXR0ZSA8anVsaWVuQG1vdXR0ZS5uZXQ+CgoJICBnc3QvdmlkZW9ib3gvZ3N0dmlkZW9ib3guYzogRml4IHdyb25nIHNpemUgY2FsY3VsYXRpb25zIGFuZCBpbXBsZW1lbnQgZ2V0X3VuaXRfc2l6ZSBjb3JyZWN0bHkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA1LTEwLTE3ICBKdWxpZW4gTU9VVFRFICA8anVsaWVuQG1vdXR0ZS5uZXQ+CgkgICogZ3N0L3ZpZGVvYm94L2dzdHZpZGVvYm94LmM6IChnc3RfdmlkZW9fYm94X3RyYW5zZm9ybV9jYXBzKSwKCSAgKGdzdF92aWRlb19ib3hfZ2V0X3VuaXRfc2l6ZSk6IEZpeCB3cm9uZyBzaXplIGNhbGN1bGF0aW9ucyBhbmQKCSAgaW1wbGVtZW50IGdldF91bml0X3NpemUgY29ycmVjdGx5LgoKMjAwNS0xMC0xNyAxNDo1NjoxMiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGNvbmZpZ3VyZS5hYzogRW5hYmxlIGZseCBwbHVnaW4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgRW5hYmxlIGZseCBwbHVnaW4uCgkgICogZ3N0L2ZseC9nc3RmbHhkZWMuYzogKGZseF9kZWNvZGVfY2h1bmtzKToKCSAgRml4IGdjYzQgc2lnbmVkbmVzcyBpc3N1ZS4KCjIwMDUtMTAtMTcgMDg6NDY6MzAgKzAwMDAgIEp1bGllbiBNb3V0dGUgPGp1bGllbkBtb3V0dGUubmV0PgoKCSAgY29uZmlndXJlLmFjOiBBZGRpbmcgdmlkZW9taXhlci4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDUtMTAtMTcgIEp1bGllbiBNT1VUVEUgIDxqdWxpZW5AbW91dHRlLm5ldD4KCSAgKiBjb25maWd1cmUuYWM6IEFkZGluZyB2aWRlb21peGVyLgoJICAqIGV4dC9saWJwbmcvZ3N0cG5nZGVjLmM6IChnc3RfcG5nZGVjX2NsYXNzX2luaXQpLAoJICAodXNlcl9yZWFkX2RhdGEpLCAoZ3N0X3BuZ2RlY19jaGFpbik6IE1vcmUgZGVidWdnaW5nLgoJICAqIGdzdC9hbHBoYS9NYWtlZmlsZS5hbTogQWRkaW5nIGFscGhhY29sb3IKCSAgKiBnc3QvYWxwaGEvZ3N0YWxwaGFjb2xvci5jOiAoZ3N0X2FscGhhX2NvbG9yX2Jhc2VfaW5pdCksCgkgIChnc3RfYWxwaGFfY29sb3JfY2xhc3NfaW5pdCksIChnc3RfYWxwaGFfY29sb3JfaW5pdCksCgkgIChnc3RfYWxwaGFfY29sb3JfdHJhbnNmb3JtX2NhcHMpLCAoZ3N0X2FscGhhX2NvbG9yX3NldF9jYXBzKSwKCSAgKHRyYW5zZm9ybV9yZ2IpLCAodHJhbnNmb3JtX2JnciksCgkgIChnc3RfYWxwaGFfY29sb3JfdHJhbnNmb3JtX2lwKSwKCSAgKHBsdWdpbl9pbml0KTogUG9ydGVkIHRvIDAuOSB1c2luZyBpbiBwbGFjZSBiYXNlIHRyYW5mb3JtLgoJICAqIGdzdC92aWRlb21peGVyL01ha2VmaWxlLmFtOgoJICAqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIuYzogKGdzdF92aWRlb21peGVyX3BhZF9nZXRfdHlwZSksCgkgIChnc3RfdmlkZW9taXhlcl9wYWRfY2xhc3NfaW5pdCksCgkgIChnc3RfdmlkZW9taXhlcl9wYWRfc2lua19zZXRjYXBzKSwKCSAgKGdzdF92aWRlb21peGVyX3BhZF9saW5rKSwgKGdzdF92aWRlb21peGVyX3BhZF91bmxpbmspLAoJICAoZ3N0X3ZpZGVvbWl4ZXJfcGFkX2luaXQpLCAoZ3N0X3ZpZGVvbWl4ZXJfY2xhc3NfaW5pdCksCgkgIChnc3RfdmlkZW9taXhlcl9pbml0KSwgKGdzdF92aWRlb21peGVyX2dldGNhcHMpLAoJICAoZ3N0X3ZpZGVvbWl4ZXJfcmVxdWVzdF9uZXdfcGFkKSwgKGdzdF92aWRlb21peGVyX2ZpbGxfcXVldWVzKSwKCSAgKGdzdF92aWRlb21peGVyX2JsZW5kX2J1ZmZlcnMpLCAoZ3N0X3ZpZGVvbWl4ZXJfdXBkYXRlX3F1ZXVlcyksCgkgIChnc3RfdmlkZW9taXhlcl9jb2xsZWN0ZWQpLCAoZ3N0X3ZpZGVvbWl4ZXJfY2hhbmdlX3N0YXRlKToKCSAgUG9ydGVkCgkgIHRvIDAuOSB1c2luZyBjb2xsZWN0cGFkcy4KCjIwMDUtMTAtMTYgMjE6MTk6NDQgKzAwMDAgIFplZXNoYW4gQWxpIDx6ZWVuaXhAZ21haWwuY29tPgoKCSogQ2hhbmdlTG9nOgoJKiBjb21tb246CgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L2ZseC9NYWtlZmlsZS5hbToKCSogZ3N0L2ZseC9nc3RmbHhkZWMuYzoKCSogZ3N0L2ZseC9nc3RmbHhkZWMuaDoKCSAgZmx4IHBsdWdpbiBwb3J0ZWQgdG8gMC45CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBmbHggcGx1Z2luIHBvcnRlZCB0byAwLjkKCjIwMDUtMTAtMTYgMTQ6MzM6MDUgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogQ2hhbmdlTG9nOgoJKiBleHQvc2hvdXQyL2dzdHNob3V0Mi5jOgoJICB1c2UgZ3N0X3ZlcnNpb25fc3RyaW5nCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICB1c2UgZ3N0X3ZlcnNpb25fc3RyaW5nCgoyMDA1LTEwLTE2IDEzOjE3OjExICswMDAwICBBbmR5IFdpbmdvIDx3aW5nb0Bwb2JveC5jb20+CgoJICBjb25maWd1cmUuYWM6IEdMSUJfQ0hFQ0suCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA1LTEwLTE2ICBBbmR5IFdpbmdvICA8d2luZ29AcG9ib3guY29tPgoJICAqIGNvbmZpZ3VyZS5hYzogR0xJQl9DSEVDSy4KCjIwMDUtMTAtMTUgMTY6NDg6NTUgKzAwMDAgIEp1bGllbiBNb3V0dGUgPGp1bGllbkBtb3V0dGUubmV0PgoKCSAgZXh0L2xpYnBuZy86IFBvcnRlZCBwbmdkZWMgdG8gMC45CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA1LTEwLTE1ICBKdWxpZW4gTU9VVFRFICA8anVsaWVuQG1vdXR0ZS5uZXQ+CgkgICogZXh0L2xpYnBuZy9NYWtlZmlsZS5hbToKCSAgKiBleHQvbGlicG5nL2dzdHBuZy5jOiAocGx1Z2luX2luaXQpOgoJICAqIGV4dC9saWJwbmcvZ3N0cG5nZGVjLmM6IChnc3RfcG5nZGVjX2NsYXNzX2luaXQpLAoJICAoZ3N0X3BuZ2RlY19pbml0KSwgKHVzZXJfcmVhZF9kYXRhKSwgKGdzdF9wbmdkZWNfY2hhaW4pOgoJICAqIGV4dC9saWJwbmcvZ3N0cG5nZGVjLmg6IFBvcnRlZCBwbmdkZWMgdG8gMC45CgoyMDA1LTEwLTE0IDEyOjQzOjMwICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgUG9ydCBtYXRyb3NrYSBtdXhlciB0byAwLjkgKCMzMTg4NDcpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUmV2aWV3ZWQgYnk6IFRpbS1QaGlsaXBwIE3DvGxsZXIgIDx0aW0gYXQgY2VudHJpY3VsYXIgZG90IG5ldD4KCSAgKiBjb25maWd1cmUuYWM6CgkgICogZ3N0L21hdHJvc2thL01ha2VmaWxlLmFtOgoJICAqIGdzdC9tYXRyb3NrYS9lYm1sLWlkcy5oOgoJICAqIGdzdC9tYXRyb3NrYS9lYm1sLXdyaXRlLmM6CgkgICogZ3N0L21hdHJvc2thL2VibWwtd3JpdGUuaDoKCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtaWRzLmg6CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLW11eC5jOgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1tdXguaDoKCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EuYzogKHBsdWdpbl9pbml0KToKCSAgUG9ydCBtYXRyb3NrYSBtdXhlciB0byAwLjkgKCMzMTg4NDcpLgoKMjAwNS0xMC0xMyAxODo1OTozNSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC9zcGVleC9nc3RzcGVleGVuYy5jOiBGaXggaGFuZGxpbmcgb2YgR1NUX1RBR19EQVRFLCB3aGljaCBpcyBub3cgb2YgR1NUX1RZUEVfREFURTsgdXNlIEdTVF9SRUFEX1VJTlQzMl9MRSgpIGFuZCBmci4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvc3BlZXgvZ3N0c3BlZXhlbmMuYzogKGdzdF9zcGVleGVuY19nZXRfdGFnX3ZhbHVlKSwKCSAgKGNvbW1lbnRfaW5pdCksIChjb21tZW50X2FkZCk6CgkgIEZpeCBoYW5kbGluZyBvZiBHU1RfVEFHX0RBVEUsIHdoaWNoIGlzIG5vdyBvZiBHU1RfVFlQRV9EQVRFOwoJICB1c2UgR1NUX1JFQURfVUlOVDMyX0xFKCkgYW5kIGZyaWVuZHMgcmF0aGVyIHRoYW4gdGhlIHByaXZhdGUKCSAgaW1wbGVtZW50YXRpb24gb2YgdGhvc2Ugc2FtZSBtYWNyb3MuCgoyMDA1LTEwLTEzIDE2OjAxOjM1ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIGV4dC9jYWlyby9NYWtlZmlsZS5hbToKCSAgZml4IGRpc3QKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGZpeCBkaXN0CgoyMDA1LTEwLTEzIDE1OjI4OjAxICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBleGFtcGxlcy9zdGF0cy9tcDJvZ2cuYzogbW9yZSB0eXBvIGZpeGVzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4YW1wbGVzL3N0YXRzL21wMm9nZy5jOgoJICBtb3JlIHR5cG8gZml4ZXMKCjIwMDUtMTAtMTIgMTQ6Mjk6NTUgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIHJlbmFtZWQgR1NUX0ZMQUdTIG1hY3JvcyB0byBHU1RfT0JKRUNUX0ZMQUdTIG1vdmVkIGJpdHNoaWZ0IGZyb20gbWFjcm8gdG8gZW51bSBkZWZpbml0aW9uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4YW1wbGVzL2luZGV4aW5nL2luZGV4bXBlZy5jOiAobWFpbik6CgkgICogZXh0L2FydHNkL2dzdGFydHNkc2luay5jOiAoZ3N0X2FydHNkc2lua19vcGVuX2F1ZGlvKSwKCSAgKGdzdF9hcnRzZHNpbmtfY2xvc2VfYXVkaW8pLCAoZ3N0X2FydHNkc2lua19jaGFuZ2Vfc3RhdGUpOgoJICAqIGV4dC9hcnRzZC9nc3RhcnRzZHNpbmsuaDoKCSAgKiBleHQvYXVkaW9maWxlL2dzdGFmcGFyc2UuYzogKGdzdF9hZnBhcnNlX29wZW5fZmlsZSksCgkgIChnc3RfYWZwYXJzZV9jbG9zZV9maWxlKToKCSAgKiBleHQvYXVkaW9maWxlL2dzdGFmcGFyc2UuaDoKCSAgKiBleHQvYXVkaW9maWxlL2dzdGFmc2luay5jOiAoZ3N0X2Fmc2lua19vcGVuX2ZpbGUpLAoJICAoZ3N0X2Fmc2lua19jbG9zZV9maWxlKSwgKGdzdF9hZnNpbmtfY2hhaW4pLAoJICAoZ3N0X2Fmc2lua19jaGFuZ2Vfc3RhdGUpOgoJICAqIGV4dC9hdWRpb2ZpbGUvZ3N0YWZzaW5rLmg6CgkgICogZXh0L2F1ZGlvZmlsZS9nc3RhZnNyYy5jOiAoZ3N0X2Fmc3JjX29wZW5fZmlsZSksCgkgIChnc3RfYWZzcmNfY2xvc2VfZmlsZSksIChnc3RfYWZzcmNfY2hhbmdlX3N0YXRlKToKCSAgKiBleHQvYXVkaW9maWxlL2dzdGFmc3JjLmg6CgkgICogZXh0L2NkYXVkaW8vZ3N0Y2RhdWRpby5jOiAoZ3N0X2NkYXVkaW9faW5pdCk6CgkgICogZXh0L2RpcmVjdGZiL2RpcmVjdGZidmlkZW9zaW5rLmM6IChnc3RfZGlyZWN0ZmJ2aWRlb3NpbmtfaW5pdCk6CgkgICogZXh0L2R0cy9nc3RkdHNkZWMuYzogKGdzdF9kdHNkZWNfaW5pdCk6CgkgICogZXh0L2phY2svZ3N0amFjay5oOgoJICAqIGV4dC9qYWNrL2dzdGphY2tiaW4uYzogKGdzdF9qYWNrX2Jpbl9pbml0KSwKCSAgKGdzdF9qYWNrX2Jpbl9jaGFuZ2Vfc3RhdGUpOgoJICAqIGV4dC9tdXNlcGFjay9nc3RtdXNlcGFja2RlYy5jOiAoZ3N0X211c2VwYWNrZGVjX2luaXQpOgoJICAqIGV4dC9tdXNpY2JyYWluei9nc3R0cm0uYzogKGdzdF9tdXNpY2JyYWluel9pbml0KToKCSAgKiBleHQvbmFzL25hc3NpbmsuYzogKGdzdF9uYXNzaW5rX29wZW5fYXVkaW8pLAoJICAoZ3N0X25hc3NpbmtfY2xvc2VfYXVkaW8pLCAoZ3N0X25hc3NpbmtfY2hhbmdlX3N0YXRlKToKCSAgKiBleHQvbmFzL25hc3NpbmsuaDoKCSAgKiBleHQvcG9seXAvcG9seXBzaW5rLmM6IChnc3RfcG9seXBzaW5rX2luaXQpOgoJICAqIGV4dC9zZGwvc2RsdmlkZW9zaW5rLmM6IChnc3Rfc2RsdmlkZW9zaW5rX2NoYW5nZV9zdGF0ZSk6CgkgICogZXh0L3NkbC9zZGx2aWRlb3NpbmsuaDoKCSAgKiBleHQvc21vb3Rod2F2ZS9nc3RzbW9vdGh3YXZlLmM6IChnc3Rfc21vb3Rod2F2ZV9pbml0KToKCSAgKiBleHQvc25kZmlsZS9nc3RzZi5jOiAoZ3N0X3NmX3NldF9wcm9wZXJ0eSksCgkgIChnc3Rfc2ZfY2hhbmdlX3N0YXRlKSwgKGdzdF9zZl9yZWxlYXNlX3JlcXVlc3RfcGFkKSwKCSAgKGdzdF9zZl9vcGVuX2ZpbGUpLCAoZ3N0X3NmX2Nsb3NlX2ZpbGUpLCAoZ3N0X3NmX2xvb3ApOgoJICAqIGV4dC9zbmRmaWxlL2dzdHNmLmg6CgkgICogZXh0L3N3ZmRlYy9nc3Rzd2ZkZWMuYzogKGdzdF9zd2ZkZWNfaW5pdCk6CgkgICogZXh0L3Rhcmtpbi9nc3R0YXJraW5kZWMuYzogKGdzdF90YXJraW5kZWNfaW5pdCk6CgkgICogZ3N0L2FwZXRhZy9hcGVkZW11eC5jOiAoZ3N0X2FwZV9kZW11eF9pbml0KToKCSAgKiBnc3QvY2R4YXBhcnNlL2dzdGNkeGFwYXJzZS5jOiAoZ3N0X2NkeGFwYXJzZV9pbml0KToKCSAgKiBnc3QvY2R4YXBhcnNlL2dzdGNkeGFzdHJpcC5jOiAoZ3N0X2NkeGFzdHJpcF9pbml0KToKCSAgKiBnc3QvZmVzdGl2YWwvZ3N0ZmVzdGl2YWwuYzogKGdzdF9mZXN0aXZhbF9jaGFuZ2Vfc3RhdGUpOgoJICAqIGdzdC9mZXN0aXZhbC9nc3RmZXN0aXZhbC5oOgoJICAqIGdzdC9tcGVnMnN1Yi9nc3RtcGVnMnN1YnQuYzogKGdzdF9tcGVnMnN1YnRfaW5pdCk6CgkgICogZ3N0L211bHRpZmlsZXNpbmsvZ3N0bXVsdGlmaWxlc2luay5jOiAoZ3N0X211bHRpZmlsZXNpbmtfaW5pdCksCgkgIChnc3RfbXVsdGlmaWxlc2lua19zZXRfbG9jYXRpb24pLCAoZ3N0X211bHRpZmlsZXNpbmtfb3Blbl9maWxlKSwKCSAgKGdzdF9tdWx0aWZpbGVzaW5rX2Nsb3NlX2ZpbGUpLCAoZ3N0X211bHRpZmlsZXNpbmtfbmV4dF9maWxlKSwKCSAgKGdzdF9tdWx0aWZpbGVzaW5rX3BhZF9xdWVyeSksIChnc3RfbXVsdGlmaWxlc2lua19oYW5kbGVfZXZlbnQpLAoJICAoZ3N0X211bHRpZmlsZXNpbmtfY2hhaW4pLCAoZ3N0X211bHRpZmlsZXNpbmtfY2hhbmdlX3N0YXRlKToKCSAgKiBnc3QvbXVsdGlmaWxlc2luay9nc3RtdWx0aWZpbGVzaW5rLmg6CgkgICogZ3N0L3ZpZGVvZHJvcC9nc3R2aWRlb2Ryb3AuYzogKGdzdF92aWRlb2Ryb3BfaW5pdCk6CgkgICogc3lzL2Nkcm9tL2dzdGNkcGxheWVyLmM6IChjZHBsYXllcl9pbml0KToKCSAgKiBzeXMvZHhyMy9keHIzYXVkaW9zaW5rLmM6IChkeHIzYXVkaW9zaW5rX2luaXQpLAoJICAoZHhyM2F1ZGlvc2lua19vcGVuKSwgKGR4cjNhdWRpb3NpbmtfY2xvc2UpLAoJICAoZHhyM2F1ZGlvc2lua19jaGFpbl9wY20pLCAoZHhyM2F1ZGlvc2lua19jaGFpbl9hYzMpLAoJICAoZHhyM2F1ZGlvc2lua19jaGFuZ2Vfc3RhdGUpOgoJICAqIHN5cy9keHIzL2R4cjNhdWRpb3NpbmsuaDoKCSAgKiBzeXMvZHhyMy9keHIzc3B1c2luay5jOiAoZHhyM3NwdXNpbmtfaW5pdCksIChkeHIzc3B1c2lua19vcGVuKSwKCSAgKGR4cjNzcHVzaW5rX2Nsb3NlKSwgKGR4cjNzcHVzaW5rX2NoYWluKSwKCSAgKGR4cjNzcHVzaW5rX2NoYW5nZV9zdGF0ZSk6CgkgICogc3lzL2R4cjMvZHhyM3NwdXNpbmsuaDoKCSAgKiBzeXMvZHhyMy9keHIzdmlkZW9zaW5rLmM6IChkeHIzdmlkZW9zaW5rX2luaXQpLAoJICAoZHhyM3ZpZGVvc2lua19vcGVuKSwgKGR4cjN2aWRlb3NpbmtfY2xvc2UpLAoJICAoZHhyM3ZpZGVvc2lua193cml0ZV9kYXRhKSwgKGR4cjN2aWRlb3NpbmtfY2hhbmdlX3N0YXRlKToKCSAgKiBzeXMvZHhyMy9keHIzdmlkZW9zaW5rLmg6CgkgICogc3lzL2dsc2luay9nbGltYWdlc2luay5jOiAoZ3N0X2dsaW1hZ2VzaW5rX2luaXQpOgoJICAqIHN5cy9xY2FtL2dzdHFjYW1zcmMuYzogKGdzdF9xY2Ftc3JjX2NoYW5nZV9zdGF0ZSksCgkgIChnc3RfcWNhbXNyY19vcGVuKSwgKGdzdF9xY2Ftc3JjX2Nsb3NlKToKCSAgKiBzeXMvcWNhbS9nc3RxY2Ftc3JjLmg6CgkgICogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOiAoZ3N0X3Y0bDJzcmNfaW5pdCk6CgkgICogc3lzL3ZjZC92Y2RzcmMuYzogKGdzdF92Y2RzcmNfc2V0X3Byb3BlcnR5KSwgKGdzdF92Y2RzcmNfZ2V0KSwKCSAgKGdzdF92Y2RzcmNfb3Blbl9maWxlKSwgKGdzdF92Y2RzcmNfY2xvc2VfZmlsZSksCgkgIChnc3RfdmNkc3JjX2NoYW5nZV9zdGF0ZSksIChnc3RfdmNkc3JjX3JlY2FsY3VsYXRlKToKCSAgKiBzeXMvdmNkL3ZjZHNyYy5oOgoJICByZW5hbWVkIEdTVF9GTEFHUyBtYWNyb3MgdG8gR1NUX09CSkVDVF9GTEFHUwoJICBtb3ZlZCBiaXRzaGlmdCBmcm9tIG1hY3JvIHRvIGVudW0gZGVmaW5pdGlvbgoKMjAwNS0xMC0xMiAxNDoyOTo0MyArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgcmVuYW1lZCBHU1RfRkxBR1MgbWFjcm9zIHRvIEdTVF9PQkpFQ1RfRkxBR1MgbW92ZWQgYml0c2hpZnQgZnJvbSBtYWNybyB0byBlbnVtIGRlZmluaXRpb24KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXhhbXBsZXMvaW5kZXhpbmcvaW5kZXhtcGVnLmM6IChtYWluKToKCSAgKiBleHQvZXNkL2VzZG1vbi5jOiAoZ3N0X2VzZG1vbl9vcGVuX2F1ZGlvKSwKCSAgKGdzdF9lc2Rtb25fY2xvc2VfYXVkaW8pLCAoZ3N0X2VzZG1vbl9jaGFuZ2Vfc3RhdGUpOgoJICAqIGV4dC9lc2QvZXNkbW9uLmg6CgkgICogZXh0L2dka19waXhidWYvZ3N0Z2RrcGl4YnVmLmM6IChnc3RfZ2RrX3BpeGJ1Zl9pbml0KToKCSAgKiBleHQvcGFuZ28vZ3N0dGV4dG92ZXJsYXkuYzogKGdzdF90ZXh0b3ZlcmxheV9pbml0KToKCSAgKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvYXVkaW9zaW5rLmM6IChnc3RfYXV0b19hdWRpb19zaW5rX2luaXQpOgoJICAqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG92aWRlb3NpbmsuYzogKGdzdF9hdXRvX3ZpZGVvX3NpbmtfaW5pdCk6CgkgICogZ3N0L2F2aS9nc3RhdmltdXguYzogKGdzdF9hdmltdXhfaW5pdCk6CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6IChnc3RfbWF0cm9za2FfZGVtdXhfaW5pdCk6CgkgICogZ3N0L211bHRpcGFydC9tdWx0aXBhcnRkZW11eC5jOiAoZ3N0X211bHRpcGFydF9kZW11eF9pbml0KToKCSAgKiBnc3QvbXVsdGlwYXJ0L211bHRpcGFydG11eC5jOiAoZ3N0X211bHRpcGFydF9tdXhfaW5pdCk6CgkgICogZ3N0L29sZGNvcmUvZ3N0bXVsdGlmaWxlc3JjLmM6IChnc3RfbXVsdGlmaWxlc3JjX2luaXQpLAoJICAoZ3N0X211bHRpZmlsZXNyY19nZXQpLCAoZ3N0X211bHRpZmlsZXNyY19vcGVuX2ZpbGUpLAoJICAoZ3N0X211bHRpZmlsZXNyY19jbG9zZV9maWxlKSwgKGdzdF9tdWx0aWZpbGVzcmNfY2hhbmdlX3N0YXRlKToKCSAgKiBnc3Qvb2xkY29yZS9nc3RtdWx0aWZpbGVzcmMuaDoKCSAgKiBnc3Qvb2xkY29yZS9nc3RwaXBlZmlsdGVyLmM6IChnc3RfcGlwZWZpbHRlcl9pbml0KSwKCSAgKGdzdF9waXBlZmlsdGVyX29wZW5fZmlsZSksIChnc3RfcGlwZWZpbHRlcl9jbG9zZV9maWxlKSwKCSAgKGdzdF9waXBlZmlsdGVyX2NoYW5nZV9zdGF0ZSk6CgkgICogZ3N0L29sZGNvcmUvZ3N0cGlwZWZpbHRlci5oOgoJICAqIGdzdC9zbW9vdGh3YXZlL2dzdHNtb290aHdhdmUuYzogKGdzdF9zbW9vdGh3YXZlX2luaXQpOgoJICAqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIuYzogKGdzdF92aWRlb21peGVyX2luaXQpOgoJICAqIHN5cy9vc3hhdWRpby9nc3Rvc3hhdWRpb3NpbmsuYzogKGdzdF9vc3hhdWRpb3NpbmtfaW5pdCk6CgkgICogc3lzL29zeGF1ZGlvL2dzdG9zeGF1ZGlvc2luay5oOgoJICAqIHN5cy9vc3hhdWRpby9nc3Rvc3hhdWRpb3NyYy5oOgoJICByZW5hbWVkIEdTVF9GTEFHUyBtYWNyb3MgdG8gR1NUX09CSkVDVF9GTEFHUwoJICBtb3ZlZCBiaXRzaGlmdCBmcm9tIG1hY3JvIHRvIGVudW0gZGVmaW5pdGlvbgoKMjAwNS0xMC0xMiAwMzoxNDo1NyArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBleHQvTWFrZWZpbGUuYW06CgkgIGRpc3QgY2Fpcm8KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGRpc3QgY2Fpcm8KCjIwMDUtMTAtMTIgMDM6MTI6NTcgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSAgZXh0LzogdXBkYXRlIG9mIGNhaXJvLWJhc2VkIHRpbWVvdmVybGF5IHRvIDEuMCBDYWlybyBBUEkgZG9lc24ndCB3b3JrIHlldCBmb3IgcmVzaXppbmcgb2Ygb3V0cHV0IHNpbmsKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L01ha2VmaWxlLmFtOgoJICAqIGV4dC9jYWlyby9NYWtlZmlsZS5hbToKCSAgKiBleHQvY2Fpcm8vZ3N0Y2Fpcm8uYzogKHBsdWdpbl9pbml0KToKCSAgKiBleHQvY2Fpcm8vZ3N0dGV4dG92ZXJsYXkuYzogKGdzdF90ZXh0b3ZlcmxheV9jaGFuZ2Vfc3RhdGUpOgoJICAqIGV4dC9jYWlyby9nc3R0aW1lb3ZlcmxheS5jOiAoZ3N0X3RpbWVvdmVybGF5X3VwZGF0ZV9mb250X2hlaWdodCksCgkgIChnc3RfdGltZW92ZXJsYXlfc2V0dXApLCAoZ3N0X3RpbWVvdmVybGF5X3BsYW5hcjQxMSk6CgkgICogZXh0L2NhaXJvL2dzdHRpbWVvdmVybGF5Lmg6CgkgIHVwZGF0ZSBvZiBjYWlyby1iYXNlZCB0aW1lb3ZlcmxheSB0byAxLjAgQ2Fpcm8gQVBJCgkgIGRvZXNuJ3Qgd29yayB5ZXQgZm9yIHJlc2l6aW5nIG9mIG91dHB1dCBzaW5rCgoyMDA1LTEwLTEyIDAzOjA3OjI2ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgZG9uJ3QgYnVpbGQgY2hlY2tzIGlmIHdlIGRvbid0IGhhdmUgY2hlY2sKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGRvbid0IGJ1aWxkIGNoZWNrcyBpZiB3ZSBkb24ndCBoYXZlIGNoZWNrCgoyMDA1LTEwLTEyIDAzOjAzOjI3ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIE1ha2VmaWxlLmFtOgoJKiBjb21tb246CgkgIGRvbid0IGJ1aWxkIGNoZWNrcyBpZiB3ZSBkb24ndCBoYXZlIGdzdGNoZWNrCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBkb24ndCBidWlsZCBjaGVja3MgaWYgd2UgZG9uJ3QgaGF2ZSBnc3RjaGVjawoKMjAwNS0xMC0xMSAxNzozODoyOSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGV4dC9zcGVleC9nc3RzcGVleGRlYy5jOiBuZXdzZWdtZW50IEFQSSBmaXguCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9zcGVleC9nc3RzcGVleGRlYy5jOiAoc3BlZXhfZGVjX2V2ZW50KSwgKHNwZWV4X2RlY19jaGFpbik6CgkgIG5ld3NlZ21lbnQgQVBJIGZpeC4KCjIwMDUtMTAtMTEgMTY6MzQ6MzYgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvOiBuZXdzZWdtZW50IEFQSSB1cGRhdGUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKGdzdF9xdGRlbXV4X2xvb3BfaGVhZGVyKToKCSAgKiBnc3QvdHRhL2dzdHR0YXBhcnNlLmM6IChnc3RfdHRhX3BhcnNlX3NyY19ldmVudCksCgkgIChnc3RfdHRhX3BhcnNlX3BhcnNlX2hlYWRlcik6CgkgIG5ld3NlZ21lbnQgQVBJIHVwZGF0ZS4KCjIwMDUtMTAtMTEgMTY6MzM6MDggKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBuZXdzZWdtZW50IEFQSSB1cGRhdGUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9kdi9nc3RkdmRlbXV4LmM6IChnc3RfZHZkZW11eF9oYW5kbGVfc2lua19ldmVudCksCgkgIChnc3RfZHZkZW11eF9kZW11eF9mcmFtZSk6CgkgICogZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5jOiAoZ3N0X2ZsYWNkZWNfd3JpdGUpOgoJICAqIGdzdC9hdXBhcnNlL2dzdGF1cGFyc2UuYzogKGdzdF9hdXBhcnNlX2NoYWluKToKCSAgKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6IChnc3RfYXZpX2RlbXV4X3N0cmVhbV9oZWFkZXIpLAoJICAoZ3N0X2F2aV9kZW11eF9oYW5kbGVfc2Vlayk6CgkgICogZ3N0L2dvb20vZ3N0Z29vbS5jOiAoZ3N0X2dvb21fZXZlbnQpOgoJICAqIGdzdC93YXZlbmMvZ3N0d2F2ZW5jLmM6IChnc3Rfd2F2ZW5jX3N0b3BfZmlsZSk6CgkgICogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6IChnc3Rfd2F2cGFyc2VfaGFuZGxlX3NlZWspLAoJICAoZ3N0X3dhdnBhcnNlX3N0cmVhbV9oZWFkZXJzKSwgKGdzdF93YXZwYXJzZV9zdHJlYW1fZGF0YSksCgkgIChnc3Rfd2F2cGFyc2VfbG9vcCksIChnc3Rfd2F2cGFyc2VfcGFkX2NvbnZlcnQpLAoJICAoZ3N0X3dhdnBhcnNlX3NyY3BhZF9ldmVudCk6CgkgIG5ld3NlZ21lbnQgQVBJIHVwZGF0ZS4KCjIwMDUtMTAtMTEgMTA6MDc6MzUgKzAwMDAgIEFuZHkgV2luZ28gPHdpbmdvQHBvYm94LmNvbT4KCgkgIGV4dC9zcGVleC9nc3RzcGVleGVuYy5jOiBTaWduZWRuZXNzIGNsZWFudXBzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNS0xMC0xMSAgQW5keSBXaW5nbyAgPHdpbmdvQHBvYm94LmNvbT4KCSAgKiBleHQvc3BlZXgvZ3N0c3BlZXhlbmMuYzogU2lnbmVkbmVzcyBjbGVhbnVwcy4KCjIwMDUtMTAtMTAgMTk6NTc6NDAgKzAwMDAgIEVkZ2FyZCBMaW1hIDxlZGdhcmQubGltYUBpbmR0Lm9yZy5icj4KCgkqIENoYW5nZUxvZzoKCSogUE9SVEVEXzA5OgoJKiBleHQvc3BlZXgvTWFrZWZpbGUuYW06CgkqIGV4dC9zcGVleC9nc3RzcGVleC5jOgoJKiBleHQvc3BlZXgvZ3N0c3BlZXhlbmMuYzoKCSAgU3BlZXhlbmMgcG9ydGVkIHRvIDAuOS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFNwZWV4ZW5jIHBvcnRlZCB0byAwLjkuCgoyMDA1LTEwLTEwIDE0OjE2OjIxICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgc3lzL29zcy86IENsZWFudXBzLCBtYWtlIGRldmljZSBjb25maWd1cmFibGUgaW4gdGhlIHNpbmssIGhhbmRsZSBhbmQgcmVwb3J0IGVycm9ycy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL29zcy9nc3Rvc3NzaW5rLmM6IChnc3Rfb3NzX3NpbmtfY2xhc3NfaW5pdCksCgkgIChnc3Rfb3NzX3NpbmtfaW5pdCksIChnc3Rfb3NzX3Npbmtfc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9vc3Nfc2lua19nZXRfcHJvcGVydHkpLCAoZ3N0X29zc19zaW5rX29wZW4pLAoJICAoZ3N0X29zc19zaW5rX3ByZXBhcmUpLCAoZ3N0X29zc19zaW5rX3Jlc2V0KToKCSAgKiBzeXMvb3NzL2dzdG9zc3NpbmsuaDoKCSAgKiBzeXMvb3NzL2dzdG9zc3NyYy5jOiAoZ3N0X29zc19zcmNfY2xhc3NfaW5pdCksCgkgIChnc3Rfb3NzX3NyY19zZXRfcHJvcGVydHkpLCAoZ3N0X29zc19zcmNfaW5pdCksIChnc3Rfb3NzX3NyY19vcGVuKSwKCSAgKGdzdF9vc3Nfc3JjX3ByZXBhcmUpOgoJICBDbGVhbnVwcywgbWFrZSBkZXZpY2UgY29uZmlndXJhYmxlIGluIHRoZSBzaW5rLCBoYW5kbGUgYW5kIHJlcG9ydAoJICBlcnJvcnMuCgoyMDA1LTEwLTEwIDEyOjMxOjA3ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZXh0L2djb25mLzogTWFrZSBzdXJlIGVsZW1lbnQgaXMgTlVMTCBiZWZvcmUgcmVtb3ZpbmcgZnJvbSB0aGUgYmluLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZ2NvbmYvZ3N0Z2NvbmZhdWRpb3NpbmsuYzogKGdzdF9nY29uZl9hdWRpb19zaW5rX3Jlc2V0KToKCSAgKiBleHQvZ2NvbmYvZ3N0Z2NvbmZ2aWRlb3NpbmsuYzogKGdzdF9nY29uZl92aWRlb19zaW5rX3Jlc2V0KToKCSAgTWFrZSBzdXJlIGVsZW1lbnQgaXMgTlVMTCBiZWZvcmUgcmVtb3ZpbmcgZnJvbSB0aGUgYmluLgoKMjAwNS0xMC0wNyAxNjoyODoyNCArMDAwMCAgQW5keSBXaW5nbyA8d2luZ29AcG9ib3guY29tPgoKCSogQ2hhbmdlTG9nOgoJKiBleHQvcmF3MTM5NC9nc3RkdjEzOTRzcmMuYzoKCSAgRG9uJ3QgdW5yZWYgdGhlIG1lc3NhZ2UuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAoZ3N0X2R2MTM5NHNyY19idXNfcmVzZXQpOiBEb24ndCB1bnJlZiB0aGUgbWVzc2FnZS4KCjIwMDUtMTAtMDcgMTY6MjI6NTkgKzAwMDAgIEFuZHkgV2luZ28gPHdpbmdvQHBvYm94LmNvbT4KCgkqIENoYW5nZUxvZzoKCSogZXh0L3JhdzEzOTQvZ3N0ZHYxMzk0c3JjLmM6CgkgIFBvc3QgYSBtZXNzYWdlIHdoZW4gdGhlIGNhYmxlIGlzIHVucGx1Z2dlZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIChnc3RfZHYxMzk0c3JjX2J1c19yZXNldCk6IFBvc3QgYSBtZXNzYWdlIHdoZW4gdGhlIGNhYmxlIGlzCgkgIHVucGx1Z2dlZC4KCSAgKGdzdF9kdjEzOTRzcmNfY3JlYXRlLCBnc3RfZHYxMzk0c3JjX3VubG9jayk6IFJlbW92ZSBzb21lIHByaW50cy4KCjIwMDUtMTAtMDcgMTU6MjQ6MjQgKzAwMDAgIEFuZHkgV2luZ28gPHdpbmdvQHBvYm94LmNvbT4KCgkgIGV4dC9yYXcxMzk0L2dzdGR2MTM5NHNyYy5jOiBNYWtlIGludGVycnVwdGlibGUsIHNvIGl0IHdvbid0IGJsb2NrIGZvcmV2ZXIgaW4gYSByZWFkKCkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA1LTEwLTA3ICBBbmR5IFdpbmdvICA8d2luZ29AcG9ib3guY29tPgoJICAqIGV4dC9yYXcxMzk0L2dzdGR2MTM5NHNyYy5jOiBNYWtlIGludGVycnVwdGlibGUsIHNvIGl0IHdvbid0CgkgIGJsb2NrIGZvcmV2ZXIgaW4gYSByZWFkKCkuCgoyMDA1LTEwLTA3IDEzOjE3OjUzICswMDAwICBBbmR5IFdpbmdvIDx3aW5nb0Bwb2JveC5jb20+CgoJICBleHQvcmF3MTM5NC9nc3RkdjEzOTRzcmMuYzogQ2xlYW4gdXAgZm9yIHN0eWxlIGJlZm9yZSBkb2luZyBzb21lIGhhY2tpbmcuIFRoZSBvbmx5IGNoYW5nZSBzaG91bGQgYmUgdGhhdCB0aGUgc3RhdGUgY2guLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDUtMTAtMDcgIEFuZHkgV2luZ28gIDx3aW5nb0Bwb2JveC5jb20+CgkgICogZXh0L3JhdzEzOTQvZ3N0ZHYxMzk0c3JjLmM6IENsZWFuIHVwIGZvciBzdHlsZSBiZWZvcmUgZG9pbmcgc29tZQoJICBoYWNraW5nLiBUaGUgb25seSBjaGFuZ2Ugc2hvdWxkIGJlIHRoYXQgdGhlIHN0YXRlIGNoYW5nZSBzdHVmZiB3YXMKCSAgcHV0IGludG8gYmFzZXNyYydzIHN0YXJ0KCkgYW5kIHN0b3AoKSByb3V0aW5lcywgd2hpY2ggY29hbGVzY2VzCgkgIHNvbWUgc3RlcHMuCgoyMDA1LTEwLTA3IDExOjMwOjQxICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgY29uZmlndXJlLmFjOiBBZGQgY2hlY2sgZm9yIG1tYXAKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICBBZGQgY2hlY2sgZm9yIG1tYXAKCSAgKiBnc3QvZGVidWcvTWFrZWZpbGUuYW06CgkgIE9ubHkgY29tcGlsZSBlZmVuY2UgcGx1Z2luIG9uIHN5c3RlbXMgdGhhdCBoYXZlIG1tYXAuCgoyMDA1LTEwLTA1IDE2OjM2OjU3ICswMDAwICBDaHJpc3RpYW4gU2NoYWxsZXIgPHVyYWV1c0Bnbm9tZS5vcmc+CgoJKiBnc3QtcGx1Z2lucy1nb29kLnNwZWMuaW46CgkgIGFkZCBsYXRlc3QgZmlsZXMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGFkZCBsYXRlc3QgZmlsZXMKCjIwMDUtMTAtMDUgMTE6Mzg6MjkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvZGVidWcvOiBQb3J0IHByb2dyZXNzcmVwb3J0LCBuYXZzZWVrLCBuYXZpZ2F0aW9udGVzdCwgdGVzdHNpbmsgYW5kIGJyZWFrbXlkYXRhLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZGVidWcvTWFrZWZpbGUuYW06CgkgICogZ3N0L2RlYnVnL2JyZWFrbXlkYXRhLmM6CgkgICogZ3N0L2RlYnVnL2dzdGRlYnVnLmM6CgkgICogZ3N0L2RlYnVnL2dzdG5hdmlnYXRpb250ZXN0LmM6CgkgICogZ3N0L2RlYnVnL2dzdG5hdnNlZWsuYzoKCSAgKiBnc3QvZGVidWcvZ3N0bmF2c2Vlay5oOgoJICAqIGdzdC9kZWJ1Zy9wcm9ncmVzc3JlcG9ydC5jOgoJICAqIGdzdC9kZWJ1Zy90ZXN0cGx1Z2luLmM6CgkgIFBvcnQgcHJvZ3Jlc3NyZXBvcnQsIG5hdnNlZWssIG5hdmlnYXRpb250ZXN0LCB0ZXN0c2luayBhbmQKCSAgYnJlYWtteWRhdGEuCgoyMDA1LTEwLTA1IDExOjE1OjIzICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgZXh0L2R2L2dzdGR2ZGVtdXguYzogRml4ZXMgZm9yIGJldHRlciBjb252ZXJzaW9uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9kdi9nc3RkdmRlbXV4LmM6IChnc3RfZHZkZW11eF9zcmNfY29udmVydCksCgkgIChnc3RfZHZkZW11eF9zcmNfcXVlcnkpOgoJICBGaXhlcyBmb3IgYmV0dGVyIGNvbnZlcnNpb24KCjIwMDUtMTAtMDQgMTc6NTg6NDAgKzAwMDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEB4aXBoLm9yZz4KCgkgIGdzdC9hdXRvZGV0ZWN0LzogU2V0IHN0YXRlIG9mIGVsZW1lbnRzIHRvIE5VTEwgYmVmb3JlIHJlbW92aW5nIGZyb20gYmlucy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b2F1ZGlvc2luay5jOiAoZ3N0X2F1dG9fYXVkaW9fc2lua19yZXNldCksCgkgIChnc3RfYXV0b19hdWRpb19zaW5rX2ZpbmRfYmVzdCksIChnc3RfYXV0b19hdWRpb19zaW5rX2RldGVjdCk6CgkgICogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b3ZpZGVvc2luay5jOiAoZ3N0X2F1dG9fdmlkZW9fc2lua19yZXNldCksCgkgIChnc3RfYXV0b192aWRlb19zaW5rX2ZpbmRfYmVzdCksIChnc3RfYXV0b192aWRlb19zaW5rX2RldGVjdCk6CgkgIFNldCBzdGF0ZSBvZiBlbGVtZW50cyB0byBOVUxMIGJlZm9yZSByZW1vdmluZyBmcm9tIGJpbnMuCgkgIFNldCBzdGF0ZSBvZiB0ZXN0IGVsZW1lbnQgdG8gTlVMTCBpZiB3ZSBmYWlsZWQgdG8gbW92ZSBpdCB0byBSRUFEWQoKMjAwNS0xMC0wNCAxNzo0NDo0MyArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIGV4dC9kdi86IEFkZGVkIERFRkFVTFQgPD09PiBCWVRFUywgVElNRSBjb252ZXJzaW9ucyBvbiBzcmNwYWQsCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9kdi9NYWtlZmlsZS5hbToKCSAgKiBleHQvZHYvZ3N0ZHZkZW11eC5jOiAoZ3N0X2R2ZGVtdXhfc3JjX3F1ZXJ5KSwgKGdzdF9kdmRlbXV4X3NyY19jb252ZXIpOgoJICBBZGRlZCBERUZBVUxUIDw9PT4gQllURVMsIFRJTUUgY29udmVyc2lvbnMgb24gc3JjcGFkLAoJICBDb3JyZWN0ZWQgdGhlIHF1ZXJ5IGZ1bmN0aW9uIGZvciBwb3NpdGlvbiBzbyBpdCBkb2Vzbid0IGZvcmdldCB3aGF0CgkgIGZvcm1hdCB3YXMgYXNrZWQsIGFuZCBjYWxscyB0aGUgY29udmVyc2lvbiBmdW5jdGlvbnMgb24gdGhlIGNvcnJlY3QgcGFkLgoKMjAwNS0xMC0wMyAxNzo1OToxOCArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBDaGFuZ2VMb2c6CgkqIGNvbmZpZ3VyZS5hYzoKCSAgYmFjayB0byBoZWFkCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBiYWNrIHRvIGhlYWQKCj09PSByZWxlYXNlIDAuOS4zID09PQoKMjAwNS0xMC0wMyAxNzo0ODo1NyArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBDaGFuZ2VMb2c6CgkqIE5FV1M6CgkqIFJFQURNRToKCSogY29uZmlndXJlLmFjOgoJKiBwby9hZi5wbzoKCSogcG8vYXoucG86CgkqIHBvL2NzLnBvOgoJKiBwby9lbl9HQi5wbzoKCSogcG8vaHUucG86CgkqIHBvL2l0LnBvOgoJKiBwby9uYi5wbzoKCSogcG8vbmwucG86CgkqIHBvL29yLnBvOgoJKiBwby9zcS5wbzoKCSogcG8vc3IucG86CgkqIHBvL3N2LnBvOgoJKiBwby91ay5wbzoKCSogcG8vdmkucG86CgkgIHJlbGVhc2UgdGltZQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgcmVsZWFzZSB0aW1lCgoyMDA1LTEwLTAyIDIzOjA4OjM1ICswMDAwICBBbmR5IFdpbmdvIDx3aW5nb0Bwb2JveC5jb20+CgoJICBleHQvZmxhYy9nc3RmbGFjZGVjLmMgKGdzdF9mbGFjZGVjX3dyaXRlKTogRGVhbCB3aXRoIHBhZF9hbGxvYyBlcnJvciByZXR1cm5zLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNS0xMC0wMyAgQW5keSBXaW5nbyAgPHdpbmdvQHBvYm94LmNvbT4KCSAgKiBleHQvZmxhYy9nc3RmbGFjZGVjLmMgKGdzdF9mbGFjZGVjX3dyaXRlKTogRGVhbCB3aXRoIHBhZF9hbGxvYwoJICBlcnJvciByZXR1cm5zLgoKMjAwNS0xMC0wMiAxNTozMzoxNCArMDAwMCAgQW5keSBXaW5nbyA8d2luZ29AcG9ib3guY29tPgoKCSAgY29uZmlndXJlLmFjIChHU1RfUExVR0lOX0xERkxBR1MpOiBDaGFuZ2UgdG8gYmUgbGlrZSAtYmFzZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDUtMTAtMDIgIEFuZHkgV2luZ28gIDx3aW5nb0Bwb2JveC5jb20+CgkgICogY29uZmlndXJlLmFjIChHU1RfUExVR0lOX0xERkxBR1MpOiBDaGFuZ2UgdG8gYmUgbGlrZSAtYmFzZS4KCSAgKiBleHQvZmxhYy9nc3RmbGFjZW5jLmM6IFBvcnRlZCB0byAwLjkuCgkgICogZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5jIChnc3RfZmxhY2RlY19sb29wKTogSGFuZGxlIGVycm9ycyBiZXR0ZXIuCgkgICogZXh0L2ZsYWMvTWFrZWZpbGUuYW06IEFkZCB0aGUgR1NUX1BMVUdJTlNfQkFTRSBjZmxhZ3MgYW5kIGxpYnMsCgkgIGFuZCBsaW5rIHRvIGdzdHRhZ2VkaXQuIEVuYWJsZSBmbGFjZW5jLgoJICAqIGV4dC9mbGFjL2dzdGZsYWNkZWMuYzogUmUtZW5hYmxlIHRhZyByZWFkaW5nLgoKMjAwNS0wOS0zMCAxNjozNjo0OSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHAvOiBWYXJpb3VzIGNsYXNzIGFuZCBjYXBzIGZpeGVzIGZyb20gQW5kcmUgTWFnYWxoYWVzIChhbmRydW5rbykKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cC9nc3RydHBhbXJlbmMuYzogKGdzdF9ydHBhbXJlbmNfc2V0Y2Fwcyk6CgkgICogZ3N0L3J0cC9nc3RydHBnc21wYXJzZS5jOgoJICAqIGdzdC9ydHAvZ3N0cnRwaDI2M3BlbmMuYzoKCSAgKiBnc3QvcnRwL2dzdHJ0cG1wNHZlbmMuYzogKGdzdF9ydHBtcDR2ZW5jX2NsYXNzX2luaXQpLAoJICAoZ3N0X3J0cG1wNHZlbmNfcGFyc2VfZGF0YSksIChnc3RfcnRwbXA0dmVuY19oYW5kbGVfYnVmZmVyKSwKCSAgKGdzdF9ydHBtcDR2ZW5jX3NldF9wcm9wZXJ0eSk6CgkgICogZ3N0L3J0cC9nc3RydHBtcGFlbmMuYzogKGdzdF9ydHBtcGFlbmNfaGFuZGxlX2J1ZmZlcik6CgkgIFZhcmlvdXMgY2xhc3MgYW5kIGNhcHMgZml4ZXMgZnJvbSBBbmRyZSBNYWdhbGhhZXMgKGFuZHJ1bmtvKQoKMjAwNS0wOS0yOSAxMzowODo0MSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9sZXZlbC9sZXZlbC1leGFtcGxlLmM6IFVwZGF0ZSBmb3IgbmV3IGJ1cyBBUEkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9sZXZlbC9sZXZlbC1leGFtcGxlLmM6IChtYWluKToKCSAgVXBkYXRlIGZvciBuZXcgYnVzIEFQSS4KCjIwMDUtMDktMjggMTM6Mzg6MDIgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IE5vIG5lZWQgdG8gdGFrZSBzdHJlYW0gbG9jayBoZXJlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChnc3RfcXRkZW11eF9sb29wX2hlYWRlcik6CgkgIE5vIG5lZWQgdG8gdGFrZSBzdHJlYW0gbG9jayBoZXJlLgoKMjAwNS0wOS0yOCAwOTo0NTowMCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGNvbmZpZ3VyZS5hYzogRml4IHVuZXhwYW5kZWQgYXV0b2NvbmYgbWFjcm8gR1NUX0RPQywgd2hpY2ggaGFzIGJlZW4gcmVuYW1lZCB0byBHU1RfRE9DQk9PS19DSEVDSyAoc2VlIGNvbW1vbi9tNC9nc3QtZC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIEZpeCB1bmV4cGFuZGVkIGF1dG9jb25mIG1hY3JvIEdTVF9ET0MsIHdoaWNoIGhhcyBiZWVuIHJlbmFtZWQKCSAgdG8gR1NUX0RPQ0JPT0tfQ0hFQ0sgKHNlZSBjb21tb24vbTQvZ3N0LWRvYy5tNCkgKCMzMTYyMDIpLgoKMjAwNS0wOS0yNyAxNToxMjo0NSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIHN5cy9vc3MvZ3N0b3Nzc2luay5jOiBGaXggcGxheWJhY2sgb2YgbW9ubyBzdHJlYW1zIChieXRlc19wZXJfc2FtcGxlIHNob3VsZCBiZSBzZXQgZnJvbSB0aGUgc2FtcGxlIHdpZHRoIGFuZCB0aGUgbnVtYi4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvb3NzL2dzdG9zc3NpbmsuYzogKGdzdF9vc3Nfc2lua19wcmVwYXJlKToKCSAgRml4IHBsYXliYWNrIG9mIG1vbm8gc3RyZWFtcyAoYnl0ZXNfcGVyX3NhbXBsZSBzaG91bGQgYmUgc2V0CgkgIGZyb20gdGhlIHNhbXBsZSB3aWR0aCBhbmQgdGhlIG51bWJlciBvZiBjaGFubmVscyBuZWdvdGlhdGVkLAoJICBhbmQgbm90IGp1c3QgYmUgc2V0IHRvIDQpICgjMzE3MzM4KQoKMjAwNS0wOS0yNiAxNDo1OToxMCArMDAwMCAgQ2hyaXN0aWFuIFNjaGFsbGVyIDx1cmFldXNAZ25vbWUub3JnPgoKCSogZ3N0LXBsdWdpbnMtZ29vZC5zcGVjLmluOgoJICBhZGQgYXVwYXJzZSB0byBwbHVnaW5zIGxpc3QKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGFkZCBhdXBhcnNlIHRvIHBsdWdpbnMgbGlzdAoKMjAwNS0wOS0yNiAxNDo0MjowOSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHAvZ3N0cnRwbXBhZW5jLmM6IFNldCBidWZmZXIgZHVyYXRpb24gY29ycmVjdGx5LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwL2dzdHJ0cG1wYWVuYy5jOiAoZ3N0X3J0cG1wYWVuY19mbHVzaCksCgkgIChnc3RfcnRwbXBhZW5jX2hhbmRsZV9idWZmZXIpOgoJICBTZXQgYnVmZmVyIGR1cmF0aW9uIGNvcnJlY3RseS4KCjIwMDUtMDktMjYgMTM6MDY6MjcgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6IERvbid0IGNyYXNoIHdoZW4gZW5jb3VudGVyaW5nIGEgc3RyZWFtIHdpdGggYW4gdW5rbm93biBmb3VyY2Mgb3IgY29kZWMgaWQuIEluc3RlYWQsIGNyZWF0ZSBhIHAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2F2aS9nc3RhdmlkZW11eC5jOiAoZ3N0X2F2aV9kZW11eF9iYXNlX2luaXQpLAoJICAoZ3N0X2F2aV9kZW11eF9jbGFzc19pbml0KSwgKGdzdF9hdmlfZGVtdXhfcGFyc2Vfc3RyZWFtKSwKCSAgKGdzdF9hdmlfZGVtdXhfY2hhbmdlX3N0YXRlKToKCSAgRG9uJ3QgY3Jhc2ggd2hlbiBlbmNvdW50ZXJpbmcgYSBzdHJlYW0gd2l0aCBhbiB1bmtub3duIGZvdXJjYyBvcgoJICBjb2RlYyBpZC4gSW5zdGVhZCwgY3JlYXRlIGEgcGFkIG9mIHR5cGUgdmlkZW8veC1hdmktdW5rbm93biBvcgoJICBhdWRpby94LWF2aS11bmtub3duLCB3aGljaCBhcyBhIHNpZGUtZWZmZWN0IGFsc28gcmVzdWx0cyBpbiBsZXNzCgkgIGNvbmZ1c2luZyBlcnJvciBtZXNzYWdlcyBpbiBwbGF5ZXJzICgnbm8gZGVjb2RlcicgdnMuICdubyBzdHJlYW1zJyk7CgkgIG1pbm9yIGZpeGVzIHRvIHN0YXRlIGNoYW5nZSBmdW5jdGlvbiBhbmQgY2xhc3NfaW5pdCBmdW5jdGlvbi4KCjIwMDUtMDktMjQgMTM6MzQ6NDYgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICBzZXQgdXAgcGx1Z2luIHBhdGhzIHByb3Blcmx5CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBzZXQgdXAgcGx1Z2luIHBhdGhzIHByb3Blcmx5CgoyMDA1LTA5LTI0IDEzOjEwOjUyICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L2F1dG9kZXRlY3QvOiBUaGVzZSBhcmUgc2lua3MuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG9hdWRpb3NpbmsuYzogKGdzdF9hdXRvX2F1ZGlvX3NpbmtfaW5pdCk6CgkgICogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b3ZpZGVvc2luay5jOiAoZ3N0X2F1dG9fdmlkZW9fc2lua19pbml0KToKCSAgVGhlc2UgYXJlIHNpbmtzLgoKMjAwNS0wOS0yNCAxMjoxMDowMiArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJICBjaGVjay9lbGVtZW50cy9sZXZlbC5jOiBmaXggdGVzdCBmb3IgbmV3IEdzdENsb2NrVGltZSB1c2UKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY2hlY2svZWxlbWVudHMvbGV2ZWwuYzogKEdTVF9TVEFSVF9URVNUKToKCSAgZml4IHRlc3QgZm9yIG5ldyBHc3RDbG9ja1RpbWUgdXNlCgkgICogZ3N0L2xldmVsL2dzdGxldmVsLmM6IChnc3RfbGV2ZWxfaW5pdCksIChnc3RfbGV2ZWxfc2V0X2NhcHMpLAoJICAoZ3N0X2xldmVsX3RyYW5zZm9ybV9pcCk6CgkgICogZ3N0L2xldmVsL2dzdGxldmVsLmg6CgkgIGZpeCB1cCB0aGUgZGVjYXkgcGVhaywgZW5zdXJpbmcgdGhlIGRlY2F5IHBlYWsgaXMgbmV2ZXIgbG93ZXIKCSAgdGhhbiB0aGUgcGVhayBmb3IgdGhhdCBpbnRlcnZhbAoKMjAwNS0wOS0yMyAxODoyMzowNCArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBDaGFuZ2VMb2c6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cC54bWw6CgkqIGdzdC9sZXZlbC9nc3RsZXZlbC5jOgoJICB1cGRhdGluZyBkb2NzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICB1cGRhdGluZyBkb2NzCgoyMDA1LTA5LTIzIDE4OjE1OjUxICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIENoYW5nZUxvZzoKCSogTWFrZWZpbGUuYW06CgkqIGNoZWNrL2VsZW1lbnRzL2xldmVsLmM6CgkqIGNvbW1vbjoKCSogZ3N0L2xldmVsL01ha2VmaWxlLmFtOgoJKiBnc3QvbGV2ZWwvZ3N0bGV2ZWwuYzoKCSogZ3N0L2xldmVsL2dzdGxldmVsLmg6CgkqIGdzdC9sZXZlbC9sZXZlbC1leGFtcGxlLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2xldmVsLmM6CgkgIGNvbnZlcnQgdG8gdXNpbmcgR3N0Q2xvY2tUaW1lIGZvciBhbGwgdGltZSB2YWx1ZXMsIGZpbmFsbHkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBjb252ZXJ0IHRvIHVzaW5nIEdzdENsb2NrVGltZSBmb3IgYWxsIHRpbWUgdmFsdWVzLCBmaW5hbGx5LgoKMjAwNS0wOS0yMyAxNTowMTowMCArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBnc3QvZ29vbS9NYWtlZmlsZS5hbToKCSAgZml4IGJ1aWxkIG9mIGdvb20KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGZpeCBidWlsZCBvZiBnb29tCgoyMDA1LTA5LTIzIDE0OjIwOjAxICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIGNvbW1vbjoKCSogZ3N0L2xldmVsL2dzdGxldmVsLmM6CgkgIHdlIGhhbmRsZSBtb3JlIHRoYW4gdHdvIGNoYW5uZWxzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICB3ZSBoYW5kbGUgbW9yZSB0aGFuIHR3byBjaGFubmVscwoKMjAwNS0wOS0yMyAwNDoyMzowMCArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBDaGFuZ2VMb2c6CgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L2NhaXJvL01ha2VmaWxlLmFtOgoJKiBleHQvZHYvTWFrZWZpbGUuYW06CgkqIGV4dC9lc2QvTWFrZWZpbGUuYW06CgkqIGV4dC9mbGFjL01ha2VmaWxlLmFtOgoJKiBleHQvZ2NvbmYvTWFrZWZpbGUuYW06CgkqIGV4dC9nZGtfcGl4YnVmL01ha2VmaWxlLmFtOgoJKiBleHQvanBlZy9NYWtlZmlsZS5hbToKCSogZXh0L2xhZHNwYS9NYWtlZmlsZS5hbToKCSogZXh0L2xpYmNhY2EvTWFrZWZpbGUuYW06CgkqIGV4dC9saWJtbmcvTWFrZWZpbGUuYW06CgkqIGV4dC9saWJwbmcvTWFrZWZpbGUuYW06CgkqIGV4dC9taWttb2QvTWFrZWZpbGUuYW06CgkqIGV4dC9wYW5nby9NYWtlZmlsZS5hbToKCSogZXh0L3JhdzEzOTQvTWFrZWZpbGUuYW06CgkqIGV4dC9zaG91dDIvTWFrZWZpbGUuYW06CgkqIGV4dC9zcGVleC9NYWtlZmlsZS5hbToKCSogZ3N0L2FscGhhL01ha2VmaWxlLmFtOgoJKiBnc3QvYXVwYXJzZS9NYWtlZmlsZS5hbToKCSogZ3N0L2F1cGFyc2UvZ3N0YXVwYXJzZS5jOgoJKiBnc3QvYXV0b2RldGVjdC9NYWtlZmlsZS5hbToKCSogZ3N0L2F2aS9NYWtlZmlsZS5hbToKCSogZ3N0L2N1dHRlci9NYWtlZmlsZS5hbToKCSogZ3N0L2RlYnVnL01ha2VmaWxlLmFtOgoJKiBnc3QvZWZmZWN0di9NYWtlZmlsZS5hbToKCSogZ3N0L2ZseC9NYWtlZmlsZS5hbToKCSogZ3N0L2dvb20vTWFrZWZpbGUuYW06CgkqIGdzdC9sYXcvTWFrZWZpbGUuYW06CgkqIGdzdC9tYXRyb3NrYS9NYWtlZmlsZS5hbToKCSogZ3N0L21lZGlhbi9NYWtlZmlsZS5hbToKCSogZ3N0L21vbm9zY29wZS9NYWtlZmlsZS5hbToKCSogZ3N0L211bHRpcGFydC9NYWtlZmlsZS5hbToKCSogZ3N0L29sZGNvcmUvTWFrZWZpbGUuYW06CgkqIGdzdC9ydHAvTWFrZWZpbGUuYW06CgkqIGdzdC9ydHNwL01ha2VmaWxlLmFtOgoJKiBnc3Qvc21vb3Rod2F2ZS9NYWtlZmlsZS5hbToKCSogZ3N0L3NtcHRlL01ha2VmaWxlLmFtOgoJKiBnc3QvdmlkZW9ib3gvTWFrZWZpbGUuYW06CgkqIGdzdC92aWRlb2ZpbHRlci9NYWtlZmlsZS5hbToKCSogZ3N0L3ZpZGVvbWl4ZXIvTWFrZWZpbGUuYW06CgkqIGdzdC93YXZlbmMvTWFrZWZpbGUuYW06CgkqIGdzdC93YXZwYXJzZS9NYWtlZmlsZS5hbToKCSogc3lzL29zcy9NYWtlZmlsZS5hbToKCSogc3lzL29zeGF1ZGlvL01ha2VmaWxlLmFtOgoJICBmaXggYnVpbGQgYW5kIHVzZSBvZiBHU1RfTElCUwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgZml4IGJ1aWxkIGFuZCB1c2Ugb2YgR1NUX0xJQlMKCjIwMDUtMDktMjIgMjI6Mzg6NDggKzAwMDAgIEVkZ2FyZCBMaW1hIDxlZGdhcmQubGltYUBpbmR0Lm9yZy5icj4KCgkqIENoYW5nZUxvZzoKCSogUE9SVEVEXzA5OgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC9hdXBhcnNlL2dzdGF1cGFyc2UuYzoKCSogZ3N0L2F1cGFyc2UvZ3N0YXVwYXJzZS5oOgoJICBBdXBhcnNlIHBvcnRlZCB0byAwLjkuIFRlc3RlZCB3aXRoIGZpbGVzcmMgISBhdXBhcnNlICEgb3Nzc2luayBhbmQgYWxzYXNpbmsKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEF1cGFyc2UgcG9ydGVkIHRvIDAuOS4gVGVzdGVkIHdpdGggZmlsZXNyYyAhIGF1cGFyc2UgISBvc3NzaW5rIGFuZCBhbHNhc2luawoKMjAwNS0wOS0yMiAxNDoxMzozNiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHAvOiBVc2UgaXNfZmlsbGVkIHRvIGJvdGggY2hlY2sgTVRVIGFuZCBtYXgtcHRpbWUgb2YgYmFzZSBjbGFzcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cC9UT0RPOgoJICAqIGdzdC9ydHAvZ3N0cnRwZGVjLmM6IChnc3RfcnRwZGVjX2dldGNhcHMpOgoJICAqIGdzdC9ydHAvZ3N0cnRwbXA0dmVuYy5jOiAoZ3N0X3J0cG1wNHZlbmNfY2xhc3NfaW5pdCksCgkgIChnc3RfcnRwbXA0dmVuY19wYXJzZV9kYXRhKSwgKGdzdF9ydHBtcDR2ZW5jX2hhbmRsZV9idWZmZXIpLAoJICAoZ3N0X3J0cG1wNHZlbmNfc2V0X3Byb3BlcnR5KToKCSAgKiBnc3QvcnRwL2dzdHJ0cG1wNHZlbmMuaDoKCSAgKiBnc3QvcnRwL2dzdHJ0cG1wYWVuYy5jOiAoZ3N0X3J0cG1wYWVuY19oYW5kbGVfYnVmZmVyKToKCSAgKiBnc3QvcnRwL2dzdHJ0cG1wYWVuYy5oOgoJICBVc2UgaXNfZmlsbGVkIHRvIGJvdGggY2hlY2sgTVRVIGFuZCBtYXgtcHRpbWUgb2YgYmFzZSBjbGFzcy4KCjIwMDUtMDktMjIgMTE6Mjg6MjMgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwL2dzdHJ0cG1wNHZlbmMuYzogRG9uJ3QgZnJhZ21lbnQgcGFja2V0cyB3aXRoIG11bHRpcGxlIGZyYW1lcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cC9nc3RydHBtcDR2ZW5jLmM6IChnc3RfcnRwbXA0dmVuY19jbGFzc19pbml0KSwKCSAgKGdzdF9ydHBtcDR2ZW5jX3BhcnNlX2RhdGEpLCAoZ3N0X3J0cG1wNHZlbmNfaGFuZGxlX2J1ZmZlciksCgkgIChnc3RfcnRwbXA0dmVuY19zZXRfcHJvcGVydHkpOgoJICBEb24ndCBmcmFnbWVudCBwYWNrZXRzIHdpdGggbXVsdGlwbGUgZnJhbWVzLgoKMjAwNS0wOS0yMiAxMDozOToxMSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHAvOiBSZW1vdmUgZ19wcmludC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cC9UT0RPOgoJICAqIGdzdC9ydHAvZ3N0cnRwbXA0dmRlYy5jOiAoZ3N0X3J0cG1wNHZkZWNfc2V0Y2Fwcyk6CgkgICogZ3N0L3J0cC9nc3RydHBtcDR2ZW5jLmM6IChnc3RfcnRwbXA0dmVuY19jbGFzc19pbml0KSwKCSAgKGdzdF9ydHBtcDR2ZW5jX2luaXQpLCAoZ3N0X3J0cG1wNHZlbmNfcGFyc2VfZGF0YSksCgkgIChnc3RfcnRwbXA0dmVuY19oYW5kbGVfYnVmZmVyKSwgKGdzdF9ydHBtcDR2ZW5jX3NldF9wcm9wZXJ0eSksCgkgIChnc3RfcnRwbXA0dmVuY19nZXRfcHJvcGVydHkpOgoJICAqIGdzdC9ydHAvZ3N0cnRwbXA0dmVuYy5oOgoJICBSZW1vdmUgZ19wcmludC4KCSAgVXBkYXRlIFRPRE8KCSAgTWFrZSBwYXlsb2FkIGVuY29kZXIgYSBiaXQgc21hcnRlciBhbmQgbW9yZSBjb3JyZWN0IHdpdGgKCSAgdGltZXN0YW1wcy4KCSAgQWRkZWQgb3B0aW9uIGluIHBheWxvYWRlciB0byBpbmNsdWRlIGNvbmZpZyBzdHJpbmcgaW4tYmFuZC4KCjIwMDUtMDktMjEgMTk6NDE6NDUgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IFN0cmlwIHNwYWNlcyBmb3Iga2V5L3ZhbHVlIHBhaXJzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IChnc3RfcnRzcHNyY19wYXJzZV9ydHBtYXApLAoJICAoZ3N0X3J0c3BzcmNfbWVkaWFfdG9fY2FwcyksIChnc3RfcnRzcHNyY19zdHJlYW1fc2V0dXBfcnRwKSwKCSAgKGdzdF9ydHNwc3JjX3NlbmQpOgoJICBTdHJpcCBzcGFjZXMgZm9yIGtleS92YWx1ZSBwYWlycy4KCjIwMDUtMDktMjEgMTc6NTM6MjYgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IE1vcmUgU0RQIHBhcnNpbmcgYW5kIGNhcHMgc2V0dGluZy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0c3AvZ3N0cnRzcHNyYy5jOiAoZ3N0X3J0c3BzcmNfcGFyc2VfcnRwbWFwKSwKCSAgKGdzdF9ydHNwc3JjX21lZGlhX3RvX2NhcHMpLCAoZ3N0X3J0c3BzcmNfc3RyZWFtX3NldHVwX3J0cCksCgkgIChnc3RfcnRzcHNyY19zdHJlYW1fY29uZmlndXJlX3RyYW5zcG9ydCksIChnc3RfcnRzcHNyY19zZW5kKSwKCSAgKGdzdF9ydHNwc3JjX2NoYW5nZV9zdGF0ZSk6CgkgIE1vcmUgU0RQIHBhcnNpbmcgYW5kIGNhcHMgc2V0dGluZy4KCSAgRG8gTk9fUFJFUk9MTCBkaWZmZXJlbnRseS4KCSAgYWRkIHBhZHMgb25seSBhZnRlciBuZWdvdGlhdGVkLgoJICAqIGdzdC91ZHAvZ3N0dWRwc3JjLmM6IChnc3RfdWRwc3JjX2NsYXNzX2luaXQpLAoJICAoZ3N0X3VkcHNyY19nZXRjYXBzKToKCSAgSW1wbGVtZW50IHRoZSBnZXRjYXBzIGZ1bmN0aW9uLgoKMjAwNS0wOS0yMSAxNzo1MDoyOSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHAvZ3N0cnRwYW1yZGVjLmM6IEhhbmRsZSBtdWx0aXBsZSBBTXIgcGFja2V0cyBwZXIgcGF5bG9hZC4gSGFuZGxlIENSQyBhbmQgcGFyc2UgSUxML0lMUC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cC9nc3RydHBhbXJkZWMuYzogKGdzdF9ydHBhbXJkZWNfc2lua19zZXRjYXBzKSwKCSAgKGdzdF9ydHBhbXJkZWNfY2hhaW4pOgoJICBIYW5kbGUgbXVsdGlwbGUgQU1yIHBhY2tldHMgcGVyIHBheWxvYWQuIEhhbmRsZSBDUkMgYW5kCgkgIHBhcnNlIElMTC9JTFAuCgkgICogZ3N0L3J0cC9nc3RydHBhbXJlbmMuYzogKGdzdF9ydHBhbXJlbmNfc2V0Y2Fwcyk6CgkgIE1ha2UgY2FwcyBwYXJhbXMgc3RyaW5ncyBmb3IgZWFzeSBTRFAgbWFwcGluZy4KCSAgKiBnc3QvcnRwL2dzdHJ0cGRlYy5jOiAoZ3N0X3J0cGRlY19pbml0KSwgKGdzdF9ydHBkZWNfZ2V0Y2Fwcyk6CgkgIEhhbmRsZSBjYXBzbmVnbyBiZXR0ZXIuCgkgICogZ3N0L3J0cC9nc3RydHBtcDR2ZGVjLmM6IChnc3RfcnRwbXA0dmRlY19zZXRjYXBzKToKCSAgKiBnc3QvcnRwL2dzdHJ0cG1wNHZlbmMuYzogKGdzdF9ydHBtcDR2ZW5jX25ld19jYXBzKToKCSAgR2VuZXJhdGUgYW5kIHBhcnNlIGNvbmZpZyBzdHJpbmcgaW4gdGhlIGNhcHMuCgoyMDA1LTA5LTIxIDEyOjE5OjI0ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cC9SRUFETUU6IFVwZGF0ZSBSRUFETUUKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cC9SRUFETUU6CgkgIFVwZGF0ZSBSRUFETUUKCSAgKiBnc3QvcnRwL2dzdHJ0cGFtcmRlYy5jOiAoZ3N0X3J0cGFtcmRlY19zaW5rX3NldGNhcHMpOgoJICBNYWtlIGV4dHJhIHBhcmFtcyBhcyBzdHJpbmdzLgoJICAqIGdzdC9ydHNwL2dzdHJ0c3BzcmMuYzogKGdzdF9ydHNwc3JjX3NldF9zdGF0ZSksCgkgIChnc3RfcnRzcHNyY19wYXJzZV9ydHBtYXApLCAoZ3N0X3J0c3BzcmNfbWVkaWFfdG9fY2FwcyksCgkgIChnc3RfcnRzcHNyY19zdHJlYW1fc2V0dXBfcnRwKSwgKGdzdF9ydHNwc3JjX3NlbmQpOgoJICBNYWtlIHN0YXRlIGNoYW5nZSByZXR1cm4gTk9fUFJFUk9MTCBhcyB0aGlzIGlzIGEgbGl2ZQoJICBzb3VyY2UuCgkgICogZ3N0L3VkcC9nc3R1ZHBzcmMuYzogKGdzdF91ZHBzcmNfc2V0X3Byb3BlcnR5KToKCSAgRG9uJ3QgdW5yZWYgb2xkIGNhcHMgd2hlbiBOVUxMLgoKMjAwNS0wOS0yMCAxNzozNToxMSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHNwLzogQWRkIFVSSSBoYW5kbGVyLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6IChnc3RfcnRzcHNyY19nZXRfdHlwZSksCgkgIChnc3RfcnRzcHNyY19wYXJzZV9ydHBtYXApLCAoZ3N0X3J0c3BzcmNfbWVkaWFfdG9fY2FwcyksCgkgIChnc3RfcnRzcHNyY19zdHJlYW1fc2V0dXBfcnRwKSwgKGdzdF9ydHNwc3JjX3NlbmQpLAoJICAoZ3N0X3J0c3BzcmNfb3BlbiksIChnc3RfcnRzcHNyY191cmlfZ2V0X3R5cGUpLAoJICAoZ3N0X3J0c3BzcmNfdXJpX2dldF9wcm90b2NvbHMpLCAoZ3N0X3J0c3BzcmNfdXJpX2dldF91cmkpLAoJICAoZ3N0X3J0c3BzcmNfdXJpX3NldF91cmkpLCAoZ3N0X3J0c3BzcmNfdXJpX2hhbmRsZXJfaW5pdCk6CgkgICogZ3N0L3J0c3Avc2RwbWVzc2FnZS5jOiAoc2RwX21lZGlhX2dldF9mb3JtYXQpOgoJICAqIGdzdC9ydHNwL3NkcG1lc3NhZ2UuaDoKCSAgQWRkIFVSSSBoYW5kbGVyLgoJICBQYXJzZSBTRFAgYW5kIGNyZWF0ZSBjYXBzLgoKMjAwNS0wOS0yMCAxNzoxOTo0MyArMDAwMCAgQ2hyaXN0aWFuIFNjaGFsbGVyIDx1cmFldXNAZ25vbWUub3JnPgoKCSogZ3N0LXBsdWdpbnMtZ29vZC5zcGVjLmluOgoJICBtb3JlIHNwZWMgZmlsZSBmaXhvcmluZwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgbW9yZSBzcGVjIGZpbGUgZml4b3JpbmcKCjIwMDUtMDktMjAgMTc6MDQ6MzMgKzAwMDAgIENocmlzdGlhbiBTY2hhbGxlciA8dXJhZXVzQGdub21lLm9yZz4KCgkqIGdzdC1wbHVnaW5zLWdvb2Quc3BlYy5pbjoKCSogZ3N0LXBsdWdpbnMuc3BlYy5pbjoKCSAgZml4IHNwZWMgZmlsZXMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGZpeCBzcGVjIGZpbGVzCgoyMDA1LTA5LTIwIDEwOjUxOjUxICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIGdzdC9ydHAvUkVBRE1FOgoJKiBnc3QvcnRwL2dzdHJ0cGFtcmRlYy5jOgoJKiBnc3QvcnRwL2dzdHJ0cGFtcmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwYW1yZW5jLmM6CgkqIGdzdC9ydHAvZ3N0cnRwYW1ycGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZ3NtZW5jLmM6CgkqIGdzdC9ydHAvZ3N0cnRwZ3NtcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2M3BkZWMuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjYzcGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2M3BlbmMuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjYzcHBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wNHZkZWMuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDR2ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDR2ZW5jLmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXA0dnBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wYWRlYy5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wYWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXBhZW5jLmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXBhcGF5LmM6CgkgIGRvbid0IHVzZSB1bmRlcnNjb3JlcwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgZG9uJ3QgdXNlIHVuZGVyc2NvcmVzCgoyMDA1LTA5LTIwIDA3OjMwOjMxICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3QvYWxwaGEvZ3N0YWxwaGEuYzogZml4IGVsZW1lbnQgZGVzY3JpcHRpb24KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2FscGhhL2dzdGFscGhhLmM6CgkgIGZpeCBlbGVtZW50IGRlc2NyaXB0aW9uCgoyMDA1LTA5LTE5IDE3OjU3OjA2ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMucHJlcmVxdWlzaXRlczoKCSAgcHJlcmVxcyBhcyB3ZWxsCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBwcmVyZXFzIGFzIHdlbGwKCjIwMDUtMDktMTkgMTc6NTM6NDIgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogZG9jcy9wbHVnaW5zLy5naXRpZ25vcmU6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMuaW50ZXJmYWNlczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy5zaWduYWxzOgoJICBjb21taXQgcmVzdWx0IG9mIHNjYW5vYmogc3RlcAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgY29tbWl0IHJlc3VsdCBvZiBzY2Fub2JqIHN0ZXAKCjIwMDUtMDktMTkgMTc6MDM6NTUgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwL2dzdHJ0cGgyNjNwZGVjLmM6IERvbid0IGNoZWNrIHBheWxvYWQgZm9yIG5vdy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cC9nc3RydHBoMjYzcGRlYy5jOiAoZ3N0X3J0cGgyNjNwZGVjX2NoYWluKToKCSAgRG9uJ3QgY2hlY2sgcGF5bG9hZCBmb3Igbm93LgoKMjAwNS0wOS0xOSAxNjo0Mzo1NiArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBNYWtlZmlsZS5hbToKCSAgYWRkIGNoZWNrLXZhbGdyaW5kIHRhcmdldAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgYWRkIGNoZWNrLXZhbGdyaW5kIHRhcmdldAoKMjAwNS0wOS0xOSAxNjoyNjozMCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS4qOiBGaXggd2F2cGFyc2Ugc29tZSBtb3JlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvd2F2cGFyc2UvZ3N0d2F2cGFyc2UuYzogKGdzdF93YXZwYXJzZV9yZXNldCksCgkgIChnc3Rfd2F2cGFyc2VfaW5pdCksIChnc3Rfd2F2cGFyc2VfcGFyc2VfZmlsZV9oZWFkZXIpLAoJICAoZ3N0X3dhdnBhcnNlX3N0cmVhbV9pbml0KSwgKGdzdF93YXZwYXJzZV9oYW5kbGVfc2VlayksCgkgIChnc3Rfd2F2cGFyc2Vfc3RyZWFtX2hlYWRlcnMpLCAoZ3N0X3dhdnBhcnNlX3N0cmVhbV9kYXRhKSwKCSAgKGdzdF93YXZwYXJzZV9sb29wKSwgKGdzdF93YXZwYXJzZV9wYWRfY29udmVydCksCgkgIChnc3Rfd2F2cGFyc2VfcGFkX3F1ZXJ5KSwgKGdzdF93YXZwYXJzZV9zcmNwYWRfZXZlbnQpLAoJICAoZ3N0X3dhdnBhcnNlX2NoYW5nZV9zdGF0ZSk6CgkgICogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmg6CgkgIEZpeCB3YXZwYXJzZSBzb21lIG1vcmUuCgoyMDA1LTA5LTE5IDExOjQ4OjEzICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgY2hlY2svZWxlbWVudHMvbGV2ZWwuYzogRml4IGZvciBidXMgQVBJIGNoYW5nZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY2hlY2svZWxlbWVudHMvbGV2ZWwuYzogKEdTVF9TVEFSVF9URVNUKToKCSAgRml4IGZvciBidXMgQVBJIGNoYW5nZS4KCjIwMDUtMDktMTkgMTE6Mzg6MTAgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvbGV2ZWwvbGV2ZWwtZXhhbXBsZS5jOiBGaXggZm9yIG5ldyBidXMgQVBJLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbGV2ZWwvbGV2ZWwtZXhhbXBsZS5jOiAobWFpbik6CgkgIEZpeCBmb3IgbmV3IGJ1cyBBUEkuCgkgICogZ3N0L3VkcC9nc3R1ZHBzcmMuYzogKGdzdF91ZHBzcmNfc2V0X3Byb3BlcnR5KToKCSAgU2V0IGNhcHMgb24gcGFkcy4KCjIwMDUtMDktMTkgMTE6MDY6MDUgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogZ3N0L2RlYnVnL01ha2VmaWxlLmFtOgoJICBkaXNhYmxlIGZsYWdzIGZvciB1bmJ1aWx0IHBsdWdpbnMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGRpc2FibGUgZmxhZ3MgZm9yIHVuYnVpbHQgcGx1Z2lucwoKMjAwNS0wOS0xOSAwODoyMToyOSArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBjb21tb246CgkqIGRvY3MvcGx1Z2lucy9zY2Fub2JqLWJ1aWxkLnN0YW1wOgoJICBub3JtYWwgYnVpbGRzIHNob3VsZG4ndCBzY2FuIGdvYmplY3RzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBub3JtYWwgYnVpbGRzIHNob3VsZG4ndCBzY2FuIGdvYmplY3RzCgoyMDA1LTA5LTE2IDAwOjM4OjUwICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIGNoZWNrL01ha2VmaWxlLmFtOgoJKiBjb21tb246CgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICByZW1vdmUgZ3N0LXJlZ2lzdGVyCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICByZW1vdmUgZ3N0LXJlZ2lzdGVyCgoyMDA1LTA5LTE1IDEzOjU3OjU2ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSogQ2hhbmdlTG9nOgoJKiBjb21tb246CgkqIGdzdC9ydHAvTWFrZWZpbGUuYW06CgkqIGdzdC9ydHAvUkVBRE1FOgoJKiBnc3QvcnRwL2dzdHJ0cC5jOgoJKiBnc3QvcnRwL2dzdHJ0cGFtcmRlYy5jOgoJKiBnc3QvcnRwL2dzdHJ0cGFtcmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwYW1yZW5jLmM6CgkqIGdzdC9ydHAvZ3N0cnRwYW1yZW5jLmg6CgkqIGdzdC9ydHAvZ3N0cnRwYW1ycGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwYW1ycGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwZ3NtZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnc21kZXBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cGdzbWVuYy5jOgoJKiBnc3QvcnRwL2dzdHJ0cGdzbWVuYy5oOgoJKiBnc3QvcnRwL2dzdHJ0cGdzbXBhcnNlLmM6CgkqIGdzdC9ydHAvZ3N0cnRwZ3NtcGFyc2UuaDoKCSogZ3N0L3J0cC9nc3RydHBnc21wYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnc21wYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBoMjYzcGRlYy5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNwZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjYzcGVuYy5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNwZW5jLmg6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2M3BwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjYzcHBheS5oOgoJKiBnc3QvcnRwL2dzdHJ0cG1wNHZkZWMuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDR2ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDR2ZW5jLmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXA0dmVuYy5oOgoJKiBnc3QvcnRwL2dzdHJ0cG1wNHZwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcDR2cGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwbXBhZGVjLmM6CgkqIGdzdC9ydHAvZ3N0cnRwbXBhZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcGFlbmMuYzoKCSogZ3N0L3J0cC9nc3RydHBtcGFlbmMuaDoKCSogZ3N0L3J0cC9nc3RydHBtcGFwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcGFwYXkuaDoKCSAgVXBkYXRlcyB0byBwYXlsb2FkZXIvZGVwYXlsb2FkZXJzLCBtYWtlIHBheWxvYWRlcnMgdXNlIHRoZSBiYXNlIGNsYXNzZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBVcGRhdGVzIHRvIHBheWxvYWRlci9kZXBheWxvYWRlcnMsIG1ha2UgcGF5bG9hZGVycyB1c2UKCSAgdGhlIGJhc2UgY2xhc3Nlcy4KCSAgVXBkYXRlZCBSRUFETUUgd2l0aCBzdWdnZXN0ZWQgUlRQIGNhcHMgYW5kIGhvdyB0byBjb252ZXJ0CgkgIHRvL2Zyb20gU0RQLgoJICBBZGRlZCBjb25maWcgZGVzY3JpcHRvciBpbiBtcDR2IHBheWxvYWRlci4KCjIwMDUtMDktMTUgMTA6NDc6NTggKzAwMDAgIEFuZHkgV2luZ28gPHdpbmdvQHBvYm94LmNvbT4KCgkgIGdzdC9hdXRvZGV0ZWN0L2dzdGF1dG9hdWRpb3NpbmsuYyAoZ3N0X2F1dG9fYXVkaW9fc2lua19maW5kX2Jlc3QpOiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvdmlkZW9zaW5rLmMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDUtMDktMTUgIEFuZHkgV2luZ28gIDx3aW5nb0Bwb2JveC5jb20+CgkgICogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b2F1ZGlvc2luay5jIChnc3RfYXV0b19hdWRpb19zaW5rX2ZpbmRfYmVzdCk6CgkgICogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b3ZpZGVvc2luay5jCgkgIChnc3RfYXV0b192aWRlb19zaW5rX2ZpbmRfYmVzdCk6IFVwZGF0ZSBmb3IgbmV3IHJlZ2lzdHJ5IEFQSS4KCjIwMDUtMDktMTQgMjA6NTE6NDcgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSAgY29tbW9uLzogYSBzaW1wbGUgcHkgc2NyaXB0IHRvIGdlbmVyYXRlIHZhbGlkIHhtbCBmcm9tIGEgQyBleGFtcGxlIHByb2JhYmx5IGFsc28gbmVlZCB0byBzdHJpcCBhbiBNSVQgbGljZW5zZSB3aGVuIHdlLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbW1vbi9jLXRvLXhtbC5weToKCSAgKiBjb21tb24vZ3RrLWRvYy1wbHVnaW5zLm1hazoKCSAgYSBzaW1wbGUgcHkgc2NyaXB0IHRvIGdlbmVyYXRlIHZhbGlkIHhtbCBmcm9tIGEgQyBleGFtcGxlCgkgIHByb2JhYmx5IGFsc28gbmVlZCB0byBzdHJpcCBhbiBNSVQgbGljZW5zZSB3aGVuIHdlIGRlY2lkZQoJICAqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSAgKiBnc3QvbGV2ZWwvTWFrZWZpbGUuYW06CgkgICogZ3N0L2xldmVsL2dzdGxldmVsLmM6IChnc3RfbGV2ZWxfaW5pdCk6CgkgICogZ3N0L2xldmVsL2xldmVsLWV4YW1wbGUuYzogKG1lc3NhZ2VfaGFuZGxlciksIChtYWluKToKCSAgYWRkIGFuIGV4YW1wbGUgdG8gbGV2ZWwgdGhhdCB3aWxsIHNob3cgdXAgaW4gdGhlIGRvY3MKCSAgKiBnc3QvcnRwL1RPRE86CgkgIGFkZCBhIG5vdGUgZm9yIHRoZSBmdXR1cmUKCjIwMDUtMDktMTQgMTE6NDQ6MTEgKzAwMDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEB4aXBoLm9yZz4KCgkgIGdzdC93YXZlbmMvZ3N0d2F2ZW5jLmM6IEFjdHVhbGx5IGRlZmluZSB0aGUgZGVidWcgb2JqZWN0IGJlaW5nIHVzZWQgaW4gd2F2ZW5jLiBGaXhlcyAjMzE2MjA1CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC93YXZlbmMvZ3N0d2F2ZW5jLmM6IChnc3Rfd2F2ZW5jX2NsYXNzX2luaXQpOgoJICBBY3R1YWxseSBkZWZpbmUgdGhlIGRlYnVnIG9iamVjdCBiZWluZyB1c2VkIGluIHdhdmVuYy4gRml4ZXMgIzMxNjIwNQoKMjAwNS0wOS0xNCAxMToyMzo0NCArMDAwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHhpcGgub3JnPgoKCSogQ2hhbmdlTG9nOgoJKiBnc3Qvc21wdGUvTWFrZWZpbGUuYW06CgkgIExpbmsgc21wdGUgcGx1Z2luIGFnYWluc3QgR1NUX0JBU0VfTElCUywgdG8gZ2V0IGxpYmdzdGJhc2U7IG5lZWRlZCB0byBidWlsZCBvbiB3aW4zMiBhcyB0aGlzIHBsdWdpbiB1c2VzIGNvbGxlY3RwYWRzIC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgTGluayBzbXB0ZSBwbHVnaW4gYWdhaW5zdCBHU1RfQkFTRV9MSUJTLCB0byBnZXQgbGliZ3N0YmFzZTsgbmVlZGVkIHRvCgkgIGJ1aWxkIG9uIHdpbjMyIGFzIHRoaXMgcGx1Z2luIHVzZXMgY29sbGVjdHBhZHMgKGJ1ZyAzMTYyMDQpCgoyMDA1LTA5LTEyIDE2OjM3OjA1ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkqIENoYW5nZUxvZzoKCSAgRml4IHVwIGJvZ3VzIENoYW5nZUxvZyBlbnRyeQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgRml4IHVwIGJvZ3VzIENoYW5nZUxvZyBlbnRyeQoKMjAwNS0wOS0xMiAxNjoxNDo0OCArMDAwMCAgQW5keSBXaW5nbyA8d2luZ29AcG9ib3guY29tPgoKCSAgYXV0b2dlbi5zaCAocGFja2FnZSk6IE5vdyB0eXBlICdtYWtlJyB0byBidWlsZCBnc3QtcGx1Z2lucy1nb29kLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNS0wOS0xMiAgQW5keSBXaW5nbyAgPHdpbmdvQHBvYm94LmNvbT4KCSAgKiBhdXRvZ2VuLnNoIChwYWNrYWdlKTogTm93IHR5cGUgJ21ha2UnIHRvIGJ1aWxkIGdzdC1wbHVnaW5zLWdvb2QuCgoyMDA1LTA5LTExIDE3OjUyOjA5ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIGNvbW1vbjoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLTEzOTQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWFzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxwaGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2RldGVjdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdmkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FjYXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWZmZWN0di54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lc2RzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZkc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2NvbmZlbGVtZW50cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nb29tLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwZWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGV2ZWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5nLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHNwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNob3V0MnNlbmQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc21wdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdWRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvYm94LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvZmxpcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYXJzZS54bWw6CgkgIGFkZCBzb3VyY2UgbW9kdWxlIHRvIGRvY3M7IHJlaW5zcGVjdAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgYWRkIHNvdXJjZSBtb2R1bGUgdG8gZG9jczsgcmVpbnNwZWN0CgoyMDA1LTA5LTA5IDE3OjU2OjQzICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIE1vdmUgZmRzcmMgYmFjayBpbnRvIGdzdHJlYW1lciBjb3JlIGVsZW1lbnRzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgICogZ3N0L2Zkc3JjL01ha2VmaWxlLmFtOgoJICAqIGdzdC9mZHNyYy9nc3RmZHNyYy5jOgoJICAqIGdzdC9mZHNyYy9nc3RmZHNyYy5oOgoJICBNb3ZlIGZkc3JjIGJhY2sgaW50byBnc3RyZWFtZXIgY29yZSBlbGVtZW50cy4KCSAgKiBnc3QvbGV2ZWwvZ3N0bGV2ZWwuYzogKGdzdF9sZXZlbF9jbGFzc19pbml0KSwKCSAgKGdzdF9sZXZlbF90cmFuc2Zvcm1faXApOgoJICAqIGdzdC92aWRlb2JveC9nc3R2aWRlb2JveC5jOiAoZ3N0X3ZpZGVvX2JveF9zZXRfcHJvcGVydHkpOgoJICBCYXNldHJhbnNmb3JtIGNoYW5nZXMuCgoyMDA1LTA5LTA5IDE2OjExOjQ4ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIENoYW5nZUxvZzoKCSogZXh0L2pwZWcvZ3N0c21va2VlbmMuYzoKCSogZXh0L2pwZWcvc21va2Vjb2RlYy5jOgoJICBmaXggY29tcGlsZXIgd2FybmluZ3MKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGZpeCBjb21waWxlciB3YXJuaW5ncwoKMjAwNS0wOS0wOSAxMTowOTo0OSArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJICBnc3QtcGx1Z2lucy1nb29kLnNwZWMuaW46IHNwZWMgZmlsZSBmaXhlcwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QtcGx1Z2lucy1nb29kLnNwZWMuaW46CgkgIHNwZWMgZmlsZSBmaXhlcwoJICAqIGdzdC91ZHAvZ3N0bXVsdGl1ZHBzaW5rLmM6IChnc3RfbXVsdGl1ZHBzaW5rX2NsYXNzX2luaXQpLAoJICAoZ3N0X211bHRpdWRwc2lua19yZW5kZXIpLCAoZ3N0X211bHRpdWRwc2lua19hZGQpLAoJICAoZ3N0X211bHRpdWRwc2lua19jbGVhcik6CgkgIGl0IGFjdHVhbGx5IGhlbHBzIHRvIGFjdHVhbGx5IHN0cmVhbSBpZiB3ZSBob29rIHVwIHRoZQoJICBhZGQgc2lnbmFsIHRvIGFuIGFjdHVhbCBpbXBsZW1lbnRhdGlvbgoJICAqIGdzdC91ZHAvZ3N0dWRwc3JjLmM6IChnc3RfdWRwc3JjX3N0YXJ0KToKCSAgc29tZSBkZWJ1Z2dpbmcKCjIwMDUtMDktMDggMTY6NTg6NDAgKzAwMDAgIEZsYXZpbyBPbGl2ZWlyYSA8ZmxhdmlvLm9saXZlaXJhQGluZHQub3JnLmJyPgoKCSogZXh0L2pwZWcvTWFrZWZpbGUuYW06CgkqIGV4dC9qcGVnL2dzdGpwZWcuYzoKCSogZXh0L2pwZWcvZ3N0anBlZ2VuYy5jOgoJKiBleHQvanBlZy9nc3RzbW9rZWVuYy5jOgoJICBqcGdlbmMgcG9ydGVkIHRvIEdTVHJlYW1lciAwLjkKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGpwZ2VuYyBwb3J0ZWQgdG8gR1NUcmVhbWVyIDAuOQoKMjAwNS0wOS0wOCAxNjoyNjoxNyArMDAwMCAgRmxhdmlvIE9saXZlaXJhIDxmbGF2aW8ub2xpdmVpcmFAaW5kdC5vcmcuYnI+CgoJKiBDaGFuZ2VMb2c6CgkgIGpwZWdlbmMgcG9ydGVkIHRvIEdTdHJlYW1lciAwLjkKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGpwZWdlbmMgcG9ydGVkIHRvIEdTdHJlYW1lciAwLjkKCjIwMDUtMDktMDcgMTM6NDk6MzcgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGV4dC86IGdzdHRhZ2ludGVyZmFjZS5oIC0+IGdzdHRhZ3NldHRlci5oCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9mbGFjL2dzdGZsYWNkZWMuYzoKCSAgKiBleHQvZmxhYy9nc3RmbGFjZW5jLmM6CgkgICogZXh0L2ZsYWMvZ3N0ZmxhY3RhZy5jOgoJICAqIGV4dC9zcGVleC9nc3RzcGVleGVuYy5jOgoJICBnc3R0YWdpbnRlcmZhY2UuaCAtPiBnc3R0YWdzZXR0ZXIuaAoKMjAwNS0wOS0wNiAyMzozMDowMyArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBQb3J0IHRvIDAuOSBhbmQgcmUtZW5hYmxlIGVmZW5jZSBwbHVnaW4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBnc3QvZGVidWcvTWFrZWZpbGUuYW06CgkgICogZ3N0L2RlYnVnL2VmZW5jZS5jOiAoZ3N0X2VmZW5jZV9jbGFzc19pbml0KSwgKGdzdF9lZmVuY2VfaW5pdCksCgkgIChnc3RfZWZlbmNlX2NoYWluKSwgKGdzdF9lZmVuY2VfYnVmZmVyX2FsbG9jKSwgKHBsdWdpbl9pbml0KSwKCSAgKGdzdF9mZW5jZWRfYnVmZmVyX2ZpbmFsaXplKSwgKGdzdF9mZW5jZWRfYnVmZmVyX2NvcHkpLAoJICAoZ3N0X2ZlbmNlZF9idWZmZXJfYWxsb2MpLCAoZ3N0X2ZlbmNlZF9idWZmZXJfY2xhc3NfaW5pdCksCgkgIChnc3RfZmVuY2VkX2J1ZmZlcl9pbml0KSwgKGdzdF9mZW5jZWRfYnVmZmVyX2dldF90eXBlKToKCSAgUG9ydCB0byAwLjkgYW5kIHJlLWVuYWJsZSBlZmVuY2UgcGx1Z2luLgoKMjAwNS0wOS0wNiAyMTozMToyNSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC9mbGFjL2dzdGZsYWNkZWMuKjogQWRkIHN1cHBvcnQgZm9yIGZsYWMgZmlsZXMgd2l0aCAyNC8zMiBiaXRzIHBlciBzYW1wbGU7IGFuZCBtaXNjLiBtaW5vciBjbGVhbi11cHMuIFNlZWtpbmcgaXMgcy4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZmxhYy9nc3RmbGFjZGVjLmM6IChmbGFjX2NhcHNfZmFjdG9yeSksIChyYXdfY2Fwc19mYWN0b3J5KSwKCSAgKGdzdF9mbGFjZGVjX3dyaXRlKSwgKGdzdF9mbGFjZGVjX2NvbnZlcnRfc3JjKToKCSAgKiBleHQvZmxhYy9nc3RmbGFjZGVjLmg6CgkgIEFkZCBzdXBwb3J0IGZvciBmbGFjIGZpbGVzIHdpdGggMjQvMzIgYml0cyBwZXIgc2FtcGxlOyBhbmQgbWlzYy4KCSAgbWlub3IgY2xlYW4tdXBzLiBTZWVraW5nIGlzIHN0aWxsIHBhcnRseSBicm9rZW4gKGZvciBtZSBhdCBsZWFzdCkuCgoyMDA1LTA5LTA2IDE1OjUwOjU4ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cC86IEFkZGVkIG1wZWc0IHZpZGVvIHBheWxvYWQgZW5jb2Rlci9kZWNvZGVyLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwL01ha2VmaWxlLmFtOgoJICAqIGdzdC9ydHAvZ3N0cnRwLmM6IChwbHVnaW5faW5pdCk6CgkgICogZ3N0L3J0cC9nc3RydHBtcDR2ZGVjLmM6IChnc3RfcnRwbXA0dmRlY19nZXRfdHlwZSksCgkgIChnc3RfcnRwbXA0dmRlY19iYXNlX2luaXQpLCAoZ3N0X3J0cG1wNHZkZWNfY2xhc3NfaW5pdCksCgkgIChnc3RfcnRwbXA0dmRlY19pbml0KSwgKGdzdF9ydHBtcDR2ZGVjX3NldGNhcHMpLAoJICAoZ3N0X3J0cG1wNHZkZWNfY2hhaW4pLCAoZ3N0X3J0cG1wNHZkZWNfc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9ydHBtcDR2ZGVjX2dldF9wcm9wZXJ0eSksIChnc3RfcnRwbXA0dmRlY19jaGFuZ2Vfc3RhdGUpLAoJICAoZ3N0X3J0cG1wNHZkZWNfcGx1Z2luX2luaXQpOgoJICAqIGdzdC9ydHAvZ3N0cnRwbXA0dmRlYy5oOgoJICAqIGdzdC9ydHAvZ3N0cnRwbXA0dmVuYy5jOiAoZ3N0X3J0cG1wNHZlbmNfZ2V0X3R5cGUpLAoJICAoZ3N0X3J0cG1wNHZlbmNfYmFzZV9pbml0KSwgKGdzdF9ydHBtcDR2ZW5jX2NsYXNzX2luaXQpLAoJICAoZ3N0X3J0cG1wNHZlbmNfaW5pdCksIChnc3RfcnRwbXA0dmVuY19zZXRjYXBzKSwKCSAgKGdzdF9ydHBtcDR2ZW5jX2ZsdXNoKSwgKGdzdF9ydHBtcDR2ZW5jX2NoYWluKSwKCSAgKGdzdF9ydHBtcDR2ZW5jX3NldF9wcm9wZXJ0eSksIChnc3RfcnRwbXA0dmVuY19nZXRfcHJvcGVydHkpLAoJICAoZ3N0X3J0cG1wNHZlbmNfY2hhbmdlX3N0YXRlKSwgKGdzdF9ydHBtcDR2ZW5jX3BsdWdpbl9pbml0KToKCSAgKiBnc3QvcnRwL2dzdHJ0cG1wNHZlbmMuaDoKCSAgKiBnc3QvcnRwL2dzdHJ0cG1wYWRlYy5jOiAoZ3N0X3J0cG1wYWRlY19jaGFpbik6CgkgICogZ3N0L3J0cC9nc3RydHBtcGFlbmMuYzogKGdzdF9ydHBtcGFlbmNfZmx1c2gpOgoJICBBZGRlZCBtcGVnNCB2aWRlbyBwYXlsb2FkIGVuY29kZXIvZGVjb2Rlci4KCSAgQWRkZWQgc29tZSBkb2NzIGluIG1wYSBwYXlsb2FkZXIuCgoyMDA1LTA5LTA2IDE0OjA2OjQ3ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgYmFjayB0byBIRUFECgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBiYWNrIHRvIEhFQUQKCj09PSByZWxlYXNlIDAuOS4xID09PQoKMjAwNS0wOS0wNiAxNDowNTozMyArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBDaGFuZ2VMb2c6CgkqIE5FV1M6CgkqIFJFQURNRToKCSogUkVMRUFTRToKCSogYXV0b2dlbi5zaDoKCSogY29tbW9uOgoJKiBjb25maWd1cmUuYWM6CgkgIHJlbGVhc2luZyAwLjkuMgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgcmVsZWFzaW5nIDAuOS4yCgoyMDA1LTA5LTA1IDE3OjIwOjI4ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkqIGdzdC92aWRlb2Nyb3AvZ3N0dmlkZW9jcm9wLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJlbGVtZW50LmM6CgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzoKCSAgRml4IHVwIGFsbCB0aGUgc3RhdGUgY2hhbmdlIGZ1bmN0aW9ucy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEZpeCB1cCBhbGwgdGhlIHN0YXRlIGNoYW5nZSBmdW5jdGlvbnMuCgoyMDA1LTA5LTA1IDE2OjI4OjE2ICswMDAwICBBbmR5IFdpbmdvIDx3aW5nb0Bwb2JveC5jb20+CgoJICBleHQvZHYvZ3N0ZHZkZW11eC5jIChnc3RfZHZkZW11eF9jaGFpbik6IE1vdmUgdGhlIHBhZCBhZGRpbmcgaGVyZSBmcm9tIHRoZSBzdGF0ZSBjaGFuZ2UgaGFuZGxlciwgc28gd2UgZmlyZSBzaWduYWxzIHcuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDUtMDktMDUgIEFuZHkgV2luZ28gIDx3aW5nb0Bwb2JveC5jb20+CgkgICogZXh0L2R2L2dzdGR2ZGVtdXguYyAoZ3N0X2R2ZGVtdXhfY2hhaW4pOiBNb3ZlIHRoZSBwYWQgYWRkaW5nCgkgIGhlcmUgZnJvbSB0aGUgc3RhdGUgY2hhbmdlIGhhbmRsZXIsIHNvIHdlIGZpcmUgc2lnbmFscyB3aXRob3V0CgkgIGhvbGRpbmcgdGhlIHN0YXRlIGxvY2suCgoyMDA1LTA5LTA1IDE1OjEwOjE4ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgY2xlYW5pbmcgdXAgYmFkCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBjbGVhbmluZyB1cCBiYWQKCjIwMDUtMDktMDUgMTM6MTg6NDIgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogZG9jcy8uZ2l0aWdub3JlOgoJKiBkb2NzL3BsdWdpbnMvLmdpdGlnbm9yZToKCSAgbWFpbnRlbmFuY2UgY29tbWl0cwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgbWFpbnRlbmFuY2UgY29tbWl0cwoKMjAwNS0wOS0wNCAxNTowOTozMyArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC1idWlsZC5zdGFtcDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3Quc3RhbXA6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi0xMzk0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFhc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFscGhhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9kZXRlY3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXZpLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhY2FzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVmZmVjdHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXNkc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mZHNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbGFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdjb25mZWxlbWVudHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ29vbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxldmVsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bGF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zc2F1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBuZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRzcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaG91dDJzZW5kLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNtcHRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXVkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2JveC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2ZsaXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFyc2UueG1sOgoJICBkaXN0Y2hlY2sgZml4ZXMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGRpc3RjaGVjayBmaXhlcwoKMjAwNS0wOS0wNCAxMTo1MDo0NyArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBNYWtlZmlsZS5hbToKCSogYXV0b2dlbi5zaDoKCSogY29tbW9uOgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkqIHBvL2FmLnBvOgoJKiBwby9hei5wbzoKCSogcG8vY3MucG86CgkqIHBvL2VuX0dCLnBvOgoJKiBwby9odS5wbzoKCSogcG8vaXQucG86CgkqIHBvL25iLnBvOgoJKiBwby9ubC5wbzoKCSogcG8vb3IucG86CgkqIHBvL3NxLnBvOgoJKiBwby9zci5wbzoKCSogcG8vc3YucG86CgkqIHBvL3VrLnBvOgoJKiBwby92aS5wbzoKCSAgZml4IGRpc3RjaGVjawoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgZml4IGRpc3RjaGVjawoKMjAwNS0wOS0wMiAxNTo1Njo1MiArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBnc3QtcGx1Z2lucy1nb29kLnNwZWMuaW46CgkgIHZhcmlvdXMgc3BlYyBmaXhlcwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgdmFyaW91cyBzcGVjIGZpeGVzCgoyMDA1LTA5LTAyIDE1OjQ0OjUwICswMDAwICBBbmR5IFdpbmdvIDx3aW5nb0Bwb2JveC5jb20+CgoJKiBjaGVjay9lbGVtZW50cy9sZXZlbC5jOgoJKiBleGFtcGxlcy9nc3RwbGF5L3BsYXllci5jOgoJKiBleGFtcGxlcy9zdGF0cy9tcDJvZ2cuYzoKCSogZXh0L2FhbGliL2dzdGFhc2luay5jOgoJKiBleHQvY2Fpcm8vZ3N0dGV4dG92ZXJsYXkuYzoKCSogZXh0L2R2L2dzdGR2ZGVjLmM6CgkqIGV4dC9kdi9nc3RkdmRlbXV4LmM6CgkqIGV4dC9lc2QvZXNkbW9uLmM6CgkqIGV4dC9mbGFjL2dzdGZsYWNkZWMuYzoKCSogZXh0L2ZsYWMvZ3N0ZmxhY2VuYy5jOgoJKiBleHQvZmxhYy9nc3RmbGFjdGFnLmM6CgkqIGV4dC9nY29uZi9nc3RnY29uZmF1ZGlvc2luay5jOgoJKiBleHQvZ2NvbmYvZ3N0Z2NvbmZ2aWRlb3NpbmsuYzoKCSogZXh0L2dka19waXhidWYvZ3N0Z2RrYW5pbWF0aW9uLmM6CgkqIGV4dC9qcGVnL2dzdGpwZWdkZWMuYzoKCSogZXh0L2pwZWcvZ3N0anBlZ2VuYy5jOgoJKiBleHQvbGFkc3BhL2dzdHNpZ25hbHByb2Nlc3Nvci5jOgoJKiBleHQvbGliY2FjYS9nc3RjYWNhc2luay5jOgoJKiBleHQvbGlibW5nL2dzdG1uZ2RlYy5jOgoJKiBleHQvbWlrbW9kL2dzdG1pa21vZC5jOgoJKiBleHQvcGFuZ28vZ3N0dGV4dG92ZXJsYXkuYzoKCSogZXh0L3JhdzEzOTQvZ3N0ZHYxMzk0c3JjLmM6CgkqIGV4dC9zaG91dDIvZ3N0c2hvdXQyLmM6CgkqIGV4dC9zcGVleC9nc3RzcGVleGRlYy5jOgoJKiBleHQvc3BlZXgvZ3N0c3BlZXhlbmMuYzoKCSogZ3N0L2FscGhhL2dzdGFscGhhLmM6CgkqIGdzdC9hdXBhcnNlL2dzdGF1cGFyc2UuYzoKCSogZ3N0L2F1dG9kZXRlY3QvZ3N0YXV0b2F1ZGlvc2luay5jOgoJKiBnc3QvYXV0b2RldGVjdC9nc3RhdXRvdmlkZW9zaW5rLmM6CgkqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzoKCSogZ3N0L2F2aS9nc3RhdmltdXguYzoKCSogZ3N0L2RlYnVnL2JyZWFrbXlkYXRhLmM6CgkqIGdzdC9kZWJ1Zy9nc3RuYXZpZ2F0aW9udGVzdC5jOgoJKiBnc3QvZWZmZWN0di9nc3RxdWFyay5jOgoJKiBnc3QvZmRzcmMvZ3N0ZmRzcmMuYzoKCSogZ3N0L2ZseC9nc3RmbHhkZWMuYzoKCSogZ3N0L2dvb20vZ3N0Z29vbS5jOgoJKiBnc3QvbWF0cm9za2EvZWJtbC1yZWFkLmM6CgkqIGdzdC9tYXRyb3NrYS9lYm1sLXdyaXRlLmM6CgkqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtbXV4LmM6CgkqIGdzdC9tdWx0aXBhcnQvbXVsdGlwYXJ0ZGVtdXguYzoKCSogZ3N0L211bHRpcGFydC9tdWx0aXBhcnRtdXguYzoKCSogZ3N0L29sZGNvcmUvZ3N0bWQ1c2luay5jOgoJKiBnc3Qvb2xkY29yZS9nc3RtdWx0aWZpbGVzcmMuYzoKCSogZ3N0L29sZGNvcmUvZ3N0cGlwZWZpbHRlci5jOgoJKiBnc3QvcnRwL2dzdHJ0cEwxNmRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwTDE2ZW5jLmM6CgkqIGdzdC9ydHAvZ3N0cnRwTDE2cGFyc2UuYzoKCSogZ3N0L3J0cC9nc3RydHBMMTZwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBhbXJkZWMuYzoKCSogZ3N0L3J0cC9nc3RydHBhbXJkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGFtcmVuYy5jOgoJKiBnc3QvcnRwL2dzdHJ0cGFtcnBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGRlYy5jOgoJKiBnc3QvcnRwL2dzdHJ0cGRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwZ3NtZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBnc21lbmMuYzoKCSogZ3N0L3J0cC9nc3RydHBnc21wYXJzZS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGdzbXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNwZGVjLmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2M3BkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjNwZW5jLmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2M3BwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBtcGFkZWMuYzoKCSogZ3N0L3J0cC9nc3RydHBtcGFkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wYWVuYy5jOgoJKiBnc3QvcnRwL2dzdHJ0cG1wYXBheS5jOgoJKiBnc3QvcnRzcC9nc3RydHNwc3JjLmM6CgkqIGdzdC9zbW9vdGh3YXZlL2dzdHNtb290aHdhdmUuYzoKCSogZ3N0L3VkcC9nc3RkeW51ZHBzaW5rLmM6CgkqIGdzdC91ZHAvZ3N0bXVsdGl1ZHBzaW5rLmM6CgkqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIuYzoKCSogZ3N0L3dhdmVuYy9nc3R3YXZlbmMuYzoKCSogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6CgkqIHBvL2FmLnBvOgoJKiBwby9hei5wbzoKCSogcG8vY3MucG86CgkqIHBvL2VuX0dCLnBvOgoJKiBwby9odS5wbzoKCSogcG8vaXQucG86CgkqIHBvL25iLnBvOgoJKiBwby9ubC5wbzoKCSogcG8vb3IucG86CgkqIHBvL3NxLnBvOgoJKiBwby9zci5wbzoKCSogcG8vc3YucG86CgkqIHBvL3VrLnBvOgoJKiBwby92aS5wbzoKCSogc3lzL29zcy9nc3Rvc3NtaXhlcmVsZW1lbnQuYzoKCSogc3lzL29zeGF1ZGlvL2dzdG9zeGF1ZGlvZWxlbWVudC5jOgoJKiBzeXMvb3N4YXVkaW8vZ3N0b3N4YXVkaW9zaW5rLmM6CgkqIHN5cy9vc3hhdWRpby9nc3Rvc3hhdWRpb3NyYy5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9sZXZlbC5jOgoJICBBbGwgcGx1Z2lucyB1cGRhdGVkIGZvciBlbGVtZW50IHN0YXRlIGNoYW5nZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA1LTA5LTAyICBBbmR5IFdpbmdvICA8d2luZ29AcG9ib3guY29tPgoJICAqIEFsbCBwbHVnaW5zIHVwZGF0ZWQgZm9yIGVsZW1lbnQgc3RhdGUgY2hhbmdlcy4KCjIwMDUtMDktMDEgMjE6MjQ6NTcgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogZXh0L2FhbGliL01ha2VmaWxlLmFtOgoJICBmaXggYnVpbGQgYWZ0ZXIgY2xlYW5pbmcgdXAgbXkgdm9taXQKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGZpeCBidWlsZCBhZnRlciBjbGVhbmluZyB1cCBteSB2b21pdAoKMjAwNS0wOS0wMSAyMToyMzowOSArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBleHQvYWFsaWIvTWFrZWZpbGUuYW06CgkgIGZpeCBidWlsZCBhZnRlciBjbGVhbmluZyB1cCBteSB2b21pdAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgZml4IGJ1aWxkIGFmdGVyIGNsZWFuaW5nIHVwIG15IHZvbWl0CgoyMDA1LTA5LTAxIDIxOjIwOjQ1ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIGdzdC9zbXB0ZS9NYWtlZmlsZS5hbToKCSAgZml4IGJ1aWxkIGFmdGVyIGNsZWFuaW5nIHVwIG15IHZvbWl0CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBmaXggYnVpbGQgYWZ0ZXIgY2xlYW5pbmcgdXAgbXkgdm9taXQKCjIwMDUtMDktMDEgMjE6MTU6MzAgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogZ3N0L3NtcHRlL01ha2VmaWxlLmFtOgoJICBmaXggYnVpbGQgYWZ0ZXIgY2xlYW5pbmcgdXAgbXkgdm9taXQKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGZpeCBidWlsZCBhZnRlciBjbGVhbmluZyB1cCBteSB2b21pdAoKMjAwNS0wOS0wMSAyMDoyMzoyMiArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBDaGFuZ2VMb2c6CgkqIE1ha2VmaWxlLmFtOgoJKiBjaGVjay8uZ2l0aWdub3JlOgoJKiBjaGVjay9NYWtlZmlsZS5hbToKCSogY2hlY2svZWxlbWVudHMvLmdpdGlnbm9yZToKCSogY2hlY2svZWxlbWVudHMvbGV2ZWwuYzoKCSogY29tbW9uOgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC9sZXZlbC9nc3RsZXZlbC5jOgoJKiBnc3QvbGV2ZWwvZ3N0bGV2ZWwuaDoKCSogdGVzdHMvY2hlY2svLmdpdGlnbm9yZToKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzLy5naXRpZ25vcmU6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2xldmVsLmM6CgkgIEFuZHJld2lvIFBhdHJpY2tvZm9ydXMgV2luZ29ueW11cyAtIDUgYWRkaXRpb25hbCB0ZXN0cyBmb3IgeW91ciBzaW5zCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBBbmRyZXdpbyBQYXRyaWNrb2ZvcnVzIFdpbmdvbnltdXMgLSA1IGFkZGl0aW9uYWwgdGVzdHMgZm9yIHlvdXIgc2lucwoJICBBZGQgYSByZWdyZXNzaW9uIHRlc3QgZm9yIGxldmVsIGFuZCBmaXggYSBjYXN0aW5nIGJ1ZyB0aGF0IG1hZGUgdGhlIGFkZGl0aW9uYWwKCSAgY2hhbm5lbHMgdHVybiBvdXQgd3JvbmcKCjIwMDUtMDktMDEgMTc6NTU6MTQgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSAgYWRkIGRvY3MgdG8gYnVpbGQKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogTWFrZWZpbGUuYW06CgkgICogY29uZmlndXJlLmFjOgoJICBhZGQgZG9jcyB0byBidWlsZAoJICAqIGNvbW1vbi9wbHVnaW5zLnhzbDoKCSAgd3JhcCBEZXNjcmlwdGlvbiBpbnRvIGEgcmVmc2VjdDIKCSAgKiBkb2NzL01ha2VmaWxlLmFtOgoJICAqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgKiBnc3QvZ29vbS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvZ29vbS9nc3Rnb29tLmM6IChnc3RfZ29vbV9nZXRfdHlwZSksIChnc3RfZ29vbV9iYXNlX2luaXQpLAoJICAoZ3N0X2dvb21fY2xhc3NfaW5pdCksIChnc3RfZ29vbV9pbml0KSwgKGdzdF9nb29tX2Rpc3Bvc2UpLAoJICAoZ3N0X2dvb21fc2lua19zZXRjYXBzKSwgKGdzdF9nb29tX3NyY19zZXRjYXBzKSwKCSAgKGdzdF9nb29tX3NyY19uZWdvdGlhdGUpLCAoZ3N0X2dvb21fZXZlbnQpLCAoZ3N0X2dvb21fY2hhaW4pLAoJICAoZ3N0X2dvb21fY2hhbmdlX3N0YXRlKToKCSAgKiBnc3QvZ29vbS9nc3Rnb29tLmg6CgkgIEdzdEdPT00gLT4gR3N0R29vbQoJICBhZGQgYW4gZXhhbXBsZSBsYXVuY2ggbGluZQoJICAqIGdzdC9sZXZlbC9nc3RsZXZlbC5oOgoJICAqIGdzdC9tb25vc2NvcGUvZ3N0bW9ub3Njb3BlLmM6CgkgIGNsZWFudXBzCgoyMDA1LTA4LTMxIDE2OjI4OjA1ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIGdzdC9kdmRscGNtZGVjLy5naXRpZ25vcmU6CgkqIGdzdC9kdmRscGNtZGVjL01ha2VmaWxlLmFtOgoJKiBnc3QvZHZkbHBjbWRlYy9nc3RkdmRscGNtZGVjLmM6CgkqIGdzdC9kdmRscGNtZGVjL2dzdGR2ZGxwY21kZWMuaDoKCSAgcmVtb3ZlIGR2ZGxwY21kZWMsIGl0J3MgZHZkIHN0dWZmCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICByZW1vdmUgZHZkbHBjbWRlYywgaXQncyBkdmQgc3R1ZmYKCjIwMDUtMDgtMzAgMTk6NDE6MTIgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9nZXR0ZXh0Lmg6CgkqIGdzdC1saWJzL2dzdC9nc3QtaTE4bi1wbHVnaW4uaDoKCSAgYWRkIHNvbWUgaTE4biBoZWFkZXJzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBhZGQgc29tZSBpMThuIGhlYWRlcnMKCjIwMDUtMDgtMzAgMTk6MjQ6MzcgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogZG9jcy9wbHVnaW5zLy5naXRpZ25vcmU6CgkgIGlnbm9yZSBtb3JlCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBpZ25vcmUgbW9yZQoKMjAwNS0wOC0zMCAxOToyNDowMyArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBkb2NzL01ha2VmaWxlLmFtOgoJICBNYWtlZmlsZS5hbQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgTWFrZWZpbGUuYW0KCjIwMDUtMDgtMzAgMTk6MjA6MDIgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogZG9jcy91cGxvYWQubWFrOgoJKiBkb2NzL3ZlcnNpb24uZW50aXRpZXMuaW46CgkgIGNvbW1pdCBuZXcgc3R1ZmYKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGNvbW1pdCBuZXcgc3R1ZmYKCjIwMDUtMDgtMzAgMTk6MDE6MTggKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogQ2hhbmdlTG9nOgoJKiBjb21tb246CgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtZ29vZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWdvb2QtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1nb29kLXBsdWdpbnMudHlwZXM6CgkgIGRvY3VtZW50IGVsZW1lbnRzIGFuZCBwbHVnaW5zLiAgU2hhemFtICEKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGRvY3VtZW50IGVsZW1lbnRzIGFuZCBwbHVnaW5zLiAgU2hhemFtICEKCjIwMDUtMDgtMzAgMTc6Mzc6MDAgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogLmdpdGlnbm9yZToKCSogQ09QWUlORzoKCSogUkVMRUFTRToKCSogZ3N0LXBsdWdpbnMtZ29vZC5zcGVjLmluOgoJICBhZGQgc29tZSBmaWxlcwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgYWRkIHNvbWUgZmlsZXMKCjIwMDEtMTItMTcgMTg6Mzc6MDEgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSAgYnVpbGRpbmcgdXAgc3BlZWQKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGJ1aWxkaW5nIHVwIHNwZWVkCgo=